diff --git a/blog.config.js b/blog.config.js index f4c9ab67..2103e7c4 100644 --- a/blog.config.js +++ b/blog.config.js @@ -12,6 +12,7 @@ const BLOG = { homeBannerImage: './bg_image.jpg', // 背景图地址 showPostCover: false, // 文章列表显示封面图 showPreview: true, // 列表展示文章预览 + previewLines: 12, // 预览文章的篇幅 showSummary: false // 显示用户自定义摘要 }, lang: 'zh-CN', // ['zh-CN','en-US'] default lang => see /lib/lang.js for more. diff --git a/components/BlogPostCard.js b/components/BlogPostCard.js index cb2eff98..cbd81044 100644 --- a/components/BlogPostCard.js +++ b/components/BlogPostCard.js @@ -59,7 +59,7 @@ const BlogPostCard = ({ post, showSummary }) => {
- + {locale.COMMON.ARTICLE_DETAIL} diff --git a/pages/about.js b/pages/about.js index 0ccfeae3..eb97dcbb 100644 --- a/pages/about.js +++ b/pages/about.js @@ -7,7 +7,6 @@ import { } from '@/lib/notion' import { getGlobalNotionData } from '@/lib/notion/getNotionData' import Custom404 from '@/pages/404' -import { getPageTableOfContents } from 'notion-utils' import 'prismjs' import 'prismjs/components/prism-bash' import 'prismjs/components/prism-javascript' @@ -21,7 +20,7 @@ import React from 'react' * @param {*} param0 * @returns */ -const About = ({ post, blockMap, tags, prev, next, postCount, categories }) => { +const About = ({ post, tags, prev, next, postCount, categories }) => { if (!post) { return } @@ -42,7 +41,7 @@ const About = ({ post, blockMap, tags, prev, next, postCount, categories }) => { postCount={postCount} categories={categories} > - + ) } @@ -56,20 +55,14 @@ export async function getStaticProps () { return { props: {}, revalidate: 1 } } - const blockMap = await getPostBlocks(post.id, 'slug') - post.toc = [] - if (blockMap) { - post.blockMap = blockMap - post.content = Object.keys(blockMap.block) - post.toc = getPageTableOfContents(post, blockMap) - } + post.blockMap = await getPostBlocks(post.id, 'slug') const index = allPosts.indexOf(post) const prev = allPosts.slice(index - 1, index)[0] ?? allPosts.slice(-1)[0] const next = allPosts.slice(index + 1, index + 2)[0] ?? allPosts[0] return { - props: { post, blockMap, tags, prev, next, categories, postCount, latestPosts }, + props: { post, tags, prev, next, categories, postCount, latestPosts }, revalidate: 1 } } diff --git a/pages/article/[slug].js b/pages/article/[slug].js index 6ca1254d..42fc4ae7 100644 --- a/pages/article/[slug].js +++ b/pages/article/[slug].js @@ -37,6 +37,8 @@ const Slug = ({ const drawerRight = useRef(null) const targetRef = typeof window !== 'undefined' ? document.getElementById('container') : null + post.content = Object.keys(post?.blockMap?.block) + post.toc = getPageTableOfContents(post, post.blockMap) const floatSlot = post?.toc?.length > 1 ?
{ drawerRight?.current?.handleSwitchVisible() }} />
: null return ( @@ -95,13 +97,7 @@ export async function getStaticProps ({ params: { slug } }) { return { props: {}, revalidate: 1 } } - const blockMap = await getPostBlocks(post.id, 'slug') - if (blockMap) { - post.blockMap = blockMap - post.content = Object.keys(blockMap.block) - post.toc = getPageTableOfContents(post, blockMap) - delete post.content - } + post.blockMap = await getPostBlocks(post.id, 'slug') // 上一篇、下一篇文章关联 const index = allPosts.indexOf(post) diff --git a/pages/index.js b/pages/index.js index 4da207d9..3b05aff4 100644 --- a/pages/index.js +++ b/pages/index.js @@ -28,7 +28,7 @@ export async function getStaticProps () { ) for (const i in postsToShow) { const post = postsToShow[i] - const blockMap = await getPostBlocks(post.id, 'slug', 12) + const blockMap = await getPostBlocks(post.id, 'slug', BLOG.home.previewLines) if (blockMap) { post.blockMap = blockMap } diff --git a/pages/page/[page].js b/pages/page/[page].js index 274a283d..a91e80a2 100644 --- a/pages/page/[page].js +++ b/pages/page/[page].js @@ -54,7 +54,7 @@ export async function getStaticProps ({ params: { page } }) { for (const i in postsToShow) { const post = postsToShow[i] - const blockMap = await getPostBlocks(post.id, 'slug', 12) + const blockMap = await getPostBlocks(post.id, 'slug', BLOG.home.previewLines) if (blockMap) { post.blockMap = blockMap }