From 732d91f838330fb9979d45f370ff032adfd46367 Mon Sep 17 00:00:00 2001 From: Dinesh Kumar Sutihar <110833165+dineshsutihar@users.noreply.github.com> Date: Thu, 24 Oct 2024 12:31:48 +0530 Subject: [PATCH 1/3] feat: Ensure the article appears exactly as it will when published #1102 (#1153) * feat: Ensure the article appears exactly as it will when published * Update package-lock.json to fix dependency issues * Refactor JSON parsing to optimize performance by parsing 'post.body' only once * fix: add DOMPurify for sanitizing HTML to prevent XSS attacks * fix: align pre-publish editor design to match post-publish article appearance * refactor: remove unnecessary divs and clean up code without affecting layout --- .../alpha/new/[[...postIdArr]]/_client.tsx | 111 ++-- app/(app)/articles/[slug]/page.tsx | 52 +- components/editor/editor/RenderPost.tsx | 3 +- components/editor/editor/extensions/index.tsx | 1 - package-lock.json | 491 +++++++++++++++++- package.json | 2 + 6 files changed, 588 insertions(+), 72 deletions(-) diff --git a/app/(app)/alpha/new/[[...postIdArr]]/_client.tsx b/app/(app)/alpha/new/[[...postIdArr]]/_client.tsx index 3dc3bbaf..69074792 100644 --- a/app/(app)/alpha/new/[[...postIdArr]]/_client.tsx +++ b/app/(app)/alpha/new/[[...postIdArr]]/_client.tsx @@ -10,7 +10,6 @@ import { } from "@headlessui/react"; import { ChevronUpIcon } from "@heroicons/react/20/solid"; import Editor from "@/components/editor/editor"; -import RenderPost from "@/components/editor/editor/RenderPost"; import useCreatePage from "@/hooks/useCreatePage"; import { usePrompt } from "@/components/PromptService"; @@ -214,69 +213,57 @@ const Create = () => {
)} -Auto-saving...
} - {saveStatus === "error" && savedTime && ( -- {`Error saving, last saved: ${savedTime.toString()}`} -
- )} - {saveStatus === "success" && savedTime && ( -- {`Saved: ${savedTime.toString()}`} -
- )} - > - - -Auto-saving...
+ )} + {saveStatus === "error" && savedTime && ( ++ Error saving, last saved: {savedTime.toString()} +
+ )} + {saveStatus === "success" && savedTime && ( ++ Saved: {savedTime.toString()} +
+ )}Or{" "} - + return home
diff --git a/app/(editor)/create/[[...paramsArr]]/_client.tsx b/app/(editor)/create/[[...paramsArr]]/_client.tsx index 40118161..5b1852f9 100644 --- a/app/(editor)/create/[[...paramsArr]]/_client.tsx +++ b/app/(editor)/create/[[...paramsArr]]/_client.tsx @@ -794,7 +794,7 @@ const Create = ({ session }: { session: Session | null }) => { href="https://www.markdownguide.org/" target="_blank" rel="noopener noreferrer" - className="fancy-link" + className="cursor-pointer bg-gradient-to-r from-orange-400 to-pink-600 bg-clip-text tracking-wide text-transparent hover:from-orange-300 hover:to-pink-500" > this {" "} @@ -803,7 +803,7 @@ const Create = ({ session }: { session: Session | null }) => { href="https://www.markdownguide.org/" target="_blank" rel="noopener noreferrer" - className="fancy-link" + className="cursor-pointer bg-gradient-to-r from-orange-400 to-pink-600 bg-clip-text tracking-wide text-transparent hover:from-orange-300 hover:to-pink-500" > markdownguide diff --git a/components/ArticlePreview/ArticlePreview.tsx b/components/ArticlePreview/ArticlePreview.tsx index 930a49f3..6b4a8635 100644 --- a/components/ArticlePreview/ArticlePreview.tsx +++ b/components/ArticlePreview/ArticlePreview.tsx @@ -158,7 +158,7 @@ const ArticlePreview: NextPageHey! 👋
Got something to say?
-