I am a student / entrepreneur / engineer (Your
+ profession) majoring in (Your Research Field) born in XXXX (Your birth year)
+
+
+ My main research interests includes XXXX
+
+
+ Additionally, I am also interested in XXXX.
+
+
+ );
+};
diff --git a/components/about-page/PersonalStatus.tsx b/components/about-page/PersonalStatus.tsx
new file mode 100644
index 0000000..62064b4
--- /dev/null
+++ b/components/about-page/PersonalStatus.tsx
@@ -0,0 +1,30 @@
+import { Config } from "@/data/config";
+import Link from "next/link";
+
+export const PersonalStatus = () => {
+ return (
+
+ {Config.SocialLinks.github && (
+
+ {"📕 Check out my github profile at "}
+
+ Github
+
+
+ )}
+
🖥️ Programming stack: TypeScript, JavaScript, C++, C, Rust, Go and so on.
+
🤝 I am looking for friends who are fund of XXXX
+ {Config.SocialLinks.twitter && (
+
+ {"📫 How to reach me on Twitter: "}
+
+ {Config.SocialLinks.twitter}
+
+
+ )}
+
Language : 汉语 / English / 한국어 / 日本語
+
Pronouns : Male / Female / MTF / FTM / And Others
+
From : Your Country, State / Province
+
+ );
+};
diff --git a/components/friend-links-page/FriendLinksList.tsx b/components/friend-links-page/FriendLinksList.tsx
new file mode 100644
index 0000000..6a2c9b1
--- /dev/null
+++ b/components/friend-links-page/FriendLinksList.tsx
@@ -0,0 +1,29 @@
+import { Separator } from "@/components/ui/separator";
+import { Config } from "@/data/config";
+import { FriendsList } from "@/data/friends";
+import type { TFriendItem } from "@/types/friend.type";
+import { nanoid } from "nanoid";
+import Link from "next/link";
+
+export const FriendLinkList = (props: { friends: TFriendItem[] }) => {
+ return (
+
diff --git a/pages/500.tsx b/pages/500.tsx
index 0257a9d..04bed27 100644
--- a/pages/500.tsx
+++ b/pages/500.tsx
@@ -3,6 +3,7 @@ import { Separator } from "@/components/ui/separator";
import { Footer } from "@/components/utils/Footer";
import { ContentContainer, Page } from "@/components/utils/Layout";
import { NavBar } from "@/components/utils/NavBar";
+import { PageTitle } from "@/components/utils/PageTitle";
import { MdOutlineDangerous } from "react-icons/md";
export default function ServerErrorPage() {
@@ -14,7 +15,7 @@ export default function ServerErrorPage() {
-
{"INVALID OPERATION"}
+ {"INVALID OPERATION"}
diff --git a/pages/about.tsx b/pages/about.tsx
index 244fbdc..4b0d40b 100644
--- a/pages/about.tsx
+++ b/pages/about.tsx
@@ -1,7 +1,9 @@
+import { Introduction } from "@/components/about-page/Introduction";
import { Separator } from "@/components/ui/separator";
import { Footer } from "@/components/utils/Footer";
import { ContentContainer, Page } from "@/components/utils/Layout";
import { NavBar } from "@/components/utils/NavBar";
+import { PageTitle } from "@/components/utils/PageTitle";
import { SEO } from "@/components/utils/SEO";
import { SocialIcons } from "@/components/utils/SocialIcons";
import { Config } from "@/data/config";
@@ -18,23 +20,9 @@ export default function AboutPage() {
/>
-
{"ABOUT ME"}
+ {"ABOUT ME"}
-
-
-
-
-
-
Hi, there👋
I am a student / entrepreneur / engineer
- (Your profession) majoring in (Your Research Field) born in XXXX (Your birth year)
-
-
- My main research interests includes XXXX
-
-
- Additionally, I am also interested in XXXX.
-
-
+
diff --git a/pages/blog/[id].tsx b/pages/blog/[id].tsx
index 843c3d5..cc3c2e5 100644
--- a/pages/blog/[id].tsx
+++ b/pages/blog/[id].tsx
@@ -1,7 +1,8 @@
-import { MDXComponentsSet } from "@/components/mdx";
import { DrawerTOC } from "@/components/reader-page/DrawerTOC";
+import { MorePostLinks } from "@/components/reader-page/MorePostLinks";
import { PostComments } from "@/components/reader-page/PostComments";
import { PostCover } from "@/components/reader-page/PostCover";
+import { PostRender } from "@/components/reader-page/PostRender";
import { ShareButtons } from "@/components/reader-page/ShareButtons";
import { Separator } from "@/components/ui/separator";
import { Toaster } from "@/components/ui/toaster";
@@ -10,16 +11,12 @@ import { ContentContainer, Page } from "@/components/utils/Layout";
import { NavBar } from "@/components/utils/NavBar";
import { SEO } from "@/components/utils/SEO";
import { Config } from "@/data/config";
-import { normalizeDate } from "@/lib/date";
import { getPostFileContent, sortedPosts } from "@/lib/post-process";
import { makeTOCTree } from "@/lib/toc";
-import type { TPostFrontmatter } from "@/types/frontmatter.type";
-import type { TPostListItem, TTOCItem } from "@/types/docs.type";
-import { nanoid } from "nanoid";
+import type { TPostFrontmatter, TPostListItem, TPostTOCItem } from "@/types/docs.type";
import type { GetStaticPaths, GetStaticProps } from "next";
import { MDXRemote, type MDXRemoteSerializeResult } from "next-mdx-remote";
import { serialize } from "next-mdx-remote/serialize";
-import Link from "next/link";
import { renderToString } from "react-dom/server";
import rehypeAutolinkHeadings from "rehype-autolink-headings";
import rehypeHighlight from "rehype-highlight";
@@ -34,7 +31,7 @@ import { titleCase } from "title-case";
type ReaderPageProps = {
compiledSource: MDXRemoteSerializeResult;
- tocList: TTOCItem[];
+ tocList: TPostTOCItem[];
frontMatter: TPostFrontmatter;
postId: string;
nextPostListItem: TPostListItem | null;
@@ -42,9 +39,6 @@ type ReaderPageProps = {
};
const ReaderPage = (props: ReaderPageProps) => {
- const compiledSource = props.compiledSource;
- // const setIsTOCOpen = useDrawerTOCState((state) => state.changeDrawerTOCOpen);
-
// Only the TOC length reaches 3 can be displayed.
// In order to avoid large blank spaces that ruin the visual perception
const isTOCLongEnough = props.tocList.length > 2;
@@ -63,97 +57,29 @@ const ReaderPage = (props: ReaderPageProps) => {
-