diff --git a/libs/comment.ts b/libs/comment.server.ts similarity index 100% rename from libs/comment.ts rename to libs/comment.server.ts diff --git a/libs/files.ts b/libs/files.server.ts similarity index 100% rename from libs/files.ts rename to libs/files.server.ts diff --git a/libs/mdx.ts b/libs/mdx.server.ts similarity index 93% rename from libs/mdx.ts rename to libs/mdx.server.ts index 51753b9b..02f8cf6e 100644 --- a/libs/mdx.ts +++ b/libs/mdx.server.ts @@ -13,10 +13,10 @@ import { TOKEN_CLASSNAMES } from '~/constant' import type { BlogFrontMatter, MdxFileData, MdxFrontMatter } from '~/types/mdx' import type { TOC, UnistNodeType } from '~/types/server' import { dateSortDesc } from '~/utils/date' -import { formatSlug, getAllFilesRecursively } from './files' -import { remarkCodeBlockTitle } from './remark-code-block-title' -import { remarkImgToJsx } from './remark-img-to-jsx' -import { remarkTocHeading } from './remark-toc-heading' +import { formatSlug, getAllFilesRecursively } from './files.server' +import { remarkCodeBlockTitle } from './remark-code-block-title.server' +import { remarkImgToJsx } from './remark-img-to-jsx.server' +import { remarkTocHeading } from './remark-toc-heading.server' export async function getFileBySlug( locale: string = process.env.NEXT_PUBLIC_DEFAULT_LOCALE, diff --git a/libs/prisma.ts b/libs/prisma.server.ts similarity index 100% rename from libs/prisma.ts rename to libs/prisma.server.ts diff --git a/libs/remark-code-block-title.ts b/libs/remark-code-block-title.server.ts similarity index 100% rename from libs/remark-code-block-title.ts rename to libs/remark-code-block-title.server.ts diff --git a/libs/remark-img-to-jsx.ts b/libs/remark-img-to-jsx.server.ts similarity index 100% rename from libs/remark-img-to-jsx.ts rename to libs/remark-img-to-jsx.server.ts diff --git a/libs/remark-toc-heading.ts b/libs/remark-toc-heading.server.ts similarity index 85% rename from libs/remark-toc-heading.ts rename to libs/remark-toc-heading.server.ts index 584b2725..43470124 100644 --- a/libs/remark-toc-heading.ts +++ b/libs/remark-toc-heading.server.ts @@ -3,7 +3,12 @@ import { toString } from 'mdast-util-to-string' import { visit } from 'unist-util-visit' import type { RemarkTocHeadingOptions, UnistNodeType, UnistTreeType } from '~/types/server' -function transformNode(node, output, indexMap, sluggerInstance) { +function transformNode( + node: UnistNodeType, + output: RemarkTocHeadingOptions['exportRef'], + indexMap: Record, + sluggerInstance: Slugger +) { let textContent = toString(node) let transformedNode = { value: textContent, @@ -26,7 +31,7 @@ function transformNode(node, output, indexMap, sluggerInstance) { } } -function addID(node, nodes, sluggerInstance) { +function addID(node: UnistNodeType, nodes: Record, sluggerInstance: Slugger) { let originalSlug = sluggerInstance.slug(toString(node)) if (!nodes[originalSlug]) { @@ -39,6 +44,7 @@ function addID(node, nodes, sluggerInstance) { node.data = node.data || {} node.data.hProperties = node.data.hProperties || {} + // @ts-ignore node.data.hProperties.id = id } diff --git a/libs/generate-rss.ts b/libs/rss.server.ts similarity index 100% rename from libs/generate-rss.ts rename to libs/rss.server.ts diff --git a/libs/spotify.ts b/libs/spotify.server.ts similarity index 100% rename from libs/spotify.ts rename to libs/spotify.server.ts diff --git a/libs/tags.ts b/libs/tags.server.ts similarity index 95% rename from libs/tags.ts rename to libs/tags.server.ts index 3a6c641f..20ef1cfc 100644 --- a/libs/tags.ts +++ b/libs/tags.server.ts @@ -4,7 +4,7 @@ import path from 'path' import type { MdxFrontMatter } from '~/types/mdx' import type { TagsCount } from '~/types/server' import { kebabCase } from '~/utils/string' -import { getFiles } from './files' +import { getFiles } from './files.server' export function getAllTags(type: string): TagsCount { let files = getFiles(type) diff --git a/pages/about.tsx b/pages/about.tsx index 9b59c49f..f5b0a7b7 100644 --- a/pages/about.tsx +++ b/pages/about.tsx @@ -1,5 +1,5 @@ import { MDXLayoutRenderer } from '~/components/MDXComponents' -import { getFileBySlug } from '~/libs/mdx' +import { getFileBySlug } from '~/libs/mdx.server' import type { MdxFileData } from '~/types/mdx' import { serverSideTranslations } from 'next-i18next/serverSideTranslations' diff --git a/pages/api/spotify.ts b/pages/api/spotify.ts index 9681d5b8..50a76e0b 100644 --- a/pages/api/spotify.ts +++ b/pages/api/spotify.ts @@ -1,5 +1,5 @@ import type { NextApiRequest, NextApiResponse } from 'next' -import { getNowPlaying } from '~/libs/spotify' +import { getNowPlaying } from '~/libs/spotify.server' import type { SpotifyNowPlayingData } from '~/types/server' export default async function fetchNowPlaying(_: NextApiRequest, res: NextApiResponse) { diff --git a/pages/api/views/[slug].ts b/pages/api/views/[slug].ts index 692a8a49..fde14d2c 100644 --- a/pages/api/views/[slug].ts +++ b/pages/api/views/[slug].ts @@ -1,5 +1,5 @@ import type { NextApiRequest, NextApiResponse } from 'next' -import { __db } from '~/libs/prisma' +import { __db } from '~/libs/prisma.server' export default async function handler(req: NextApiRequest, res: NextApiResponse) { try { diff --git a/pages/api/views/index.ts b/pages/api/views/index.ts index 2f62aff2..ec336efa 100644 --- a/pages/api/views/index.ts +++ b/pages/api/views/index.ts @@ -1,5 +1,5 @@ import type { NextApiRequest, NextApiResponse } from 'next' -import { __db } from '~/libs/prisma' +import { __db } from '~/libs/prisma.server' export default async function handler(_: NextApiRequest, res: NextApiResponse) { try { diff --git a/pages/blog.tsx b/pages/blog.tsx index 8287704e..8fd20914 100644 --- a/pages/blog.tsx +++ b/pages/blog.tsx @@ -3,7 +3,7 @@ import { serverSideTranslations } from 'next-i18next/serverSideTranslations' import { PageSeo } from '~/components/SEO' import { POSTS_PER_PAGE } from '~/constant' import { ListLayout } from '~/layouts/ListLayout' -import { getAllFilesFrontMatter } from '~/libs/mdx' +import { getAllFilesFrontMatter } from '~/libs/mdx.server' import type { BlogListProps } from '~/types/page' export async function getStaticProps({ locale }) { diff --git a/pages/blog/[...slug].tsx b/pages/blog/[...slug].tsx index 2b6ecff3..05e94573 100644 --- a/pages/blog/[...slug].tsx +++ b/pages/blog/[...slug].tsx @@ -4,10 +4,10 @@ import { serverSideTranslations } from 'next-i18next/serverSideTranslations' import { MDXLayoutRenderer } from '~/components/MDXComponents' import { PageTitle } from '~/components/PageTitle' import { POSTS_PER_PAGE } from '~/constant' -import { getCommentConfigs } from '~/libs/comment' -import { formatSlug, getMetaData, getFiles } from '~/libs/files' -import { generateRss } from '~/libs/generate-rss' -import { getAllFilesFrontMatter, getFileBySlug } from '~/libs/mdx' +import { getCommentConfigs } from '~/libs/comment.server' +import { formatSlug, getMetaData, getFiles } from '~/libs/files.server' +import { generateRss } from '~/libs/rss.server' +import { getAllFilesFrontMatter, getFileBySlug } from '~/libs/mdx.server' import type { AuthorFrontMatter, MdxPageLayout } from '~/types/mdx' import type { BlogProps } from '~/types/page' diff --git a/pages/blog/page/[page].tsx b/pages/blog/page/[page].tsx index 74c5dd32..bc5f51a6 100644 --- a/pages/blog/page/[page].tsx +++ b/pages/blog/page/[page].tsx @@ -4,7 +4,7 @@ import { POSTS_PER_PAGE } from '~/constant' import type { GetStaticPathsContext } from 'next' import { useTranslation } from 'next-i18next' import { serverSideTranslations } from 'next-i18next/serverSideTranslations' -import { getAllFilesFrontMatter } from '~/libs/mdx' +import { getAllFilesFrontMatter } from '~/libs/mdx.server' import type { BlogListProps } from '~/types/page' export async function getStaticPaths(context: GetStaticPathsContext) { diff --git a/pages/index.tsx b/pages/index.tsx index 1f195f4b..6255dea8 100644 --- a/pages/index.tsx +++ b/pages/index.tsx @@ -1,16 +1,15 @@ -import { useEffect, useState } from 'react' import { PageSeo } from 'components/SEO' +import { useTranslation } from 'next-i18next' +import { serverSideTranslations } from 'next-i18next/serverSideTranslations' +import { ProfileCard } from '~/components/ProfileCard' +import { Twemoji } from '~/components/Twemoji' import { BlogLinks } from '~/components/homepage/BlogLinks' import { FeaturedPosts } from '~/components/homepage/FeaturedPosts' import { Greeting } from '~/components/homepage/Greeting' import { Heading } from '~/components/homepage/Heading' import { ShortDescription } from '~/components/homepage/ShortDescription' import { TypedBios } from '~/components/homepage/TypedBios' -import { ProfileCard } from '~/components/ProfileCard' -import { Twemoji } from '~/components/Twemoji' -import { getAllFilesFrontMatter } from '~/libs/mdx' -import { useTranslation } from 'next-i18next' -import { serverSideTranslations } from 'next-i18next/serverSideTranslations' +import { getAllFilesFrontMatter } from '~/libs/mdx.server' export async function getStaticProps({ locale }) { let posts = getAllFilesFrontMatter(`${locale}/blog`) diff --git a/pages/resume.tsx b/pages/resume.tsx index bb9d8974..5b5d1c95 100644 --- a/pages/resume.tsx +++ b/pages/resume.tsx @@ -1,6 +1,6 @@ import { serverSideTranslations } from 'next-i18next/serverSideTranslations' import { MDXLayoutRenderer } from '~/components/MDXComponents' -import { getFileBySlug } from '~/libs/mdx' +import { getFileBySlug } from '~/libs/mdx.server' import type { MdxFileData } from '~/types/mdx' export async function getStaticProps({ locale }) { diff --git a/pages/snippets/[...slug].tsx b/pages/snippets/[...slug].tsx index 4090dfe6..01164f8e 100644 --- a/pages/snippets/[...slug].tsx +++ b/pages/snippets/[...slug].tsx @@ -1,9 +1,9 @@ import { MDXLayoutRenderer } from 'components/MDXComponents' import { serverSideTranslations } from 'next-i18next/serverSideTranslations' import { PageTitle } from '~/components/PageTitle' -import { getCommentConfigs } from '~/libs/comment' -import { formatSlug, getFiles } from '~/libs/files' -import { getFileBySlug } from '~/libs/mdx' +import { getCommentConfigs } from '~/libs/comment.server' +import { formatSlug, getFiles } from '~/libs/files.server' +import { getFileBySlug } from '~/libs/mdx.server' import type { MdxPageLayout } from '~/types/mdx' import type { SnippetProps } from '~/types/page' diff --git a/pages/snippets/index.tsx b/pages/snippets/index.tsx index b5bcc47a..a2b61fdc 100644 --- a/pages/snippets/index.tsx +++ b/pages/snippets/index.tsx @@ -2,7 +2,7 @@ import { PageSeo } from 'components/SEO' import { useTranslation } from 'next-i18next' import { serverSideTranslations } from 'next-i18next/serverSideTranslations' import { SnippetLayout } from '~/layouts/SnippetLayout' -import { getAllFilesFrontMatter } from '~/libs/mdx' +import { getAllFilesFrontMatter } from '~/libs/mdx.server' import type { SnippetFrontMatter } from '~/types/mdx' export async function getStaticProps({ locale }: { locale: string }) { diff --git a/pages/tags.tsx b/pages/tags.tsx index f1acf36f..32e84b12 100644 --- a/pages/tags.tsx +++ b/pages/tags.tsx @@ -3,7 +3,7 @@ import { serverSideTranslations } from 'next-i18next/serverSideTranslations' import { Link } from '~/components/Link' import { PageSeo } from '~/components/SEO' import { Tag } from '~/components/Tag' -import { getAllTags } from '~/libs/tags' +import { getAllTags } from '~/libs/tags.server' import type { TagsCount } from '~/types/server' import { kebabCase } from '~/utils/string' diff --git a/pages/tags/[tag].tsx b/pages/tags/[tag].tsx index 52c9f74a..e2165dbc 100644 --- a/pages/tags/[tag].tsx +++ b/pages/tags/[tag].tsx @@ -4,10 +4,10 @@ import { useTranslation } from 'next-i18next' import { serverSideTranslations } from 'next-i18next/serverSideTranslations' import path from 'path' import { ListLayout } from '~/layouts/ListLayout' -import { getMetaData } from '~/libs/files' -import { generateRss } from '~/libs/generate-rss' -import { getAllFilesFrontMatter } from '~/libs/mdx' -import { getAllTags } from '~/libs/tags' +import { getMetaData } from '~/libs/files.server' +import { generateRss } from '~/libs/rss.server' +import { getAllFilesFrontMatter } from '~/libs/mdx.server' +import { getAllTags } from '~/libs/tags.server' import type { BlogFrontMatter } from '~/types/mdx' import { kebabCase } from '~/utils/string'