From b555700e9090473050f8f4d6a8bb63f954ddc0ab Mon Sep 17 00:00:00 2001 From: Octobug Date: Sat, 18 Nov 2023 15:08:11 +0800 Subject: [PATCH] fix(post): stop using frontmatter title --- .vitepress/config.theme.ts | 2 +- .vitepress/theme/components/PostElements.vue | 63 ++++++++++++++++ .vitepress/theme/components/PostHeader.vue | 78 -------------------- .vitepress/theme/components/PrevNext.vue | 8 +- .vitepress/theme/pages/Layout.vue | 4 +- .vitepress/theme/posts.data.ts | 8 ++ .vitepress/theme/search.ts | 6 +- .vitepress/theme/style.css | 5 ++ .vitepress/theme/utils.ts | 9 +++ posts/pilot/README.md | 21 +++--- 10 files changed, 106 insertions(+), 98 deletions(-) create mode 100644 .vitepress/theme/components/PostElements.vue delete mode 100644 .vitepress/theme/components/PostHeader.vue create mode 100644 .vitepress/theme/utils.ts diff --git a/.vitepress/config.theme.ts b/.vitepress/config.theme.ts index 6eeee62..189752e 100644 --- a/.vitepress/config.theme.ts +++ b/.vitepress/config.theme.ts @@ -53,13 +53,13 @@ export default { tokenize }, searchOptions: { + combineWith: "AND", fuzzy: 0.1, prefix: true, boost: { title: 4, text: 2, }, - combineWith: "AND" } }, }, diff --git a/.vitepress/theme/components/PostElements.vue b/.vitepress/theme/components/PostElements.vue new file mode 100644 index 0000000..5662392 --- /dev/null +++ b/.vitepress/theme/components/PostElements.vue @@ -0,0 +1,63 @@ + + + + + diff --git a/.vitepress/theme/components/PostHeader.vue b/.vitepress/theme/components/PostHeader.vue deleted file mode 100644 index b42d163..0000000 --- a/.vitepress/theme/components/PostHeader.vue +++ /dev/null @@ -1,78 +0,0 @@ - - - - - diff --git a/.vitepress/theme/components/PrevNext.vue b/.vitepress/theme/components/PrevNext.vue index d2d7e46..419d1a1 100644 --- a/.vitepress/theme/components/PrevNext.vue +++ b/.vitepress/theme/components/PrevNext.vue @@ -39,16 +39,14 @@ import { useData, onContentUpdated } from "vitepress"; import { ref } from "vue"; import { data as allPosts } from "../posts.data"; +import { findPostIndex } from "../utils"; import type { PageControl } from "../types/page-control"; -const { frontmatter, theme } = useData(); +const { page, theme } = useData(); let control = ref({}); onContentUpdated(() => { - const index = allPosts.findIndex( - p => p.frontmatter.title === frontmatter.value.title - ) || 0; - + const index = findPostIndex(allPosts, page.value); const prevPost = allPosts[index - 1]; const nextPost = allPosts[index + 1]; const prev = prevPost && { diff --git a/.vitepress/theme/pages/Layout.vue b/.vitepress/theme/pages/Layout.vue index b096303..747d482 100644 --- a/.vitepress/theme/pages/Layout.vue +++ b/.vitepress/theme/pages/Layout.vue @@ -1,7 +1,7 @@