diff --git a/.vitepress/genFeed.ts b/.vitepress/genFeed.ts index 614987c..3dcfc83 100644 --- a/.vitepress/genFeed.ts +++ b/.vitepress/genFeed.ts @@ -2,7 +2,7 @@ import path from 'path' import { readFileSync, writeFileSync } from 'fs' import { Feed } from 'feed' import { fileURLToPath } from 'url' -import postsData from './theme/posts.data.js' +import { load } from './theme/posts.data.js' const url = `https://blog.vuejs.org` const dirname = path.dirname(fileURLToPath(import.meta.url)) @@ -18,7 +18,7 @@ const feed = new Feed({ copyright: 'Copyright (c) 2021-present, Yuxi (Evan) You and blog contributors' }) -postsData.load(true).then((posts) => { +load(true).then((posts) => { posts.forEach((post) => { const file = path.resolve(dirname, `dist${post.href}`) const rendered = readFileSync(file, 'utf-8') diff --git a/.vitepress/theme/posts.data.ts b/.vitepress/theme/posts.data.ts index 7bd033e..8a95d40 100644 --- a/.vitepress/theme/posts.data.ts +++ b/.vitepress/theme/posts.data.ts @@ -26,9 +26,9 @@ interface PostWithData extends Post { declare const data: Post[] export { data } -async function load(): Promise -async function load(asFeed: boolean): Promise -async function load(asFeed = false) { +export async function load(): Promise +export async function load(asFeed: boolean): Promise +export async function load(asFeed = false) { md = md || (await createMarkdownRenderer(process.cwd())) return fs .readdirSync(postDir) @@ -38,7 +38,9 @@ async function load(asFeed = false) { export default { watch: path.join(postDir, '*.md'), - load + load() { + return load() + } } const cache = new Map() diff --git a/package.json b/package.json index 6b3781d..919e953 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,7 @@ "gray-matter": "^4.0.2", "tailwindcss": "^3.1.8", "tsx": "^3.8.2", - "vitepress": "^1.0.0-alpha.45", + "vitepress": "^1.0.0-alpha.50", "vue": "^3.2.47" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 67b28ce..dd48b01 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,7 +8,7 @@ specifiers: gray-matter: ^4.0.2 tailwindcss: ^3.1.8 tsx: ^3.8.2 - vitepress: ^1.0.0-alpha.45 + vitepress: ^1.0.0-alpha.50 vue: ^3.2.47 devDependencies: @@ -19,7 +19,7 @@ devDependencies: gray-matter: 4.0.3 tailwindcss: 3.1.8 tsx: 3.8.2 - vitepress: 1.0.0-alpha.45_@types+node@18.7.13 + vitepress: 1.0.0-alpha.50_@types+node@18.7.13 vue: 3.2.47 packages: @@ -482,14 +482,14 @@ packages: resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==} dev: true - /@vitejs/plugin-vue/4.0.0_vite@4.1.1+vue@3.2.47: + /@vitejs/plugin-vue/4.0.0_vite@4.1.4+vue@3.2.47: resolution: {integrity: sha512-e0X4jErIxAB5oLtDqbHvHpJe/uWNkdpYV83AOG2xo2tEVSzCzewgJMtREZM30wXnM5ls90hxiOtAuVU6H5JgbA==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: vite: ^4.0.0 vue: ^3.2.25 dependencies: - vite: 4.1.1_@types+node@18.7.13 + vite: 4.1.4_@types+node@18.7.13 vue: 3.2.47 dev: true @@ -580,24 +580,24 @@ packages: resolution: {integrity: sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==} dev: true - /@vueuse/core/9.12.0_vue@3.2.47: - resolution: {integrity: sha512-h/Di8Bvf6xRcvS/PvUVheiMYYz3U0tH3X25YxONSaAUBa841ayMwxkuzx/DGUMCW/wHWzD8tRy2zYmOC36r4sg==} + /@vueuse/core/9.13.0_vue@3.2.47: + resolution: {integrity: sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==} dependencies: '@types/web-bluetooth': 0.0.16 - '@vueuse/metadata': 9.12.0 - '@vueuse/shared': 9.12.0_vue@3.2.47 + '@vueuse/metadata': 9.13.0 + '@vueuse/shared': 9.13.0_vue@3.2.47 vue-demi: 0.13.10_vue@3.2.47 transitivePeerDependencies: - '@vue/composition-api' - vue dev: true - /@vueuse/metadata/9.12.0: - resolution: {integrity: sha512-9oJ9MM9lFLlmvxXUqsR1wLt1uF7EVbP5iYaHJYqk+G2PbMjY6EXvZeTjbdO89HgoF5cI6z49o2zT/jD9SVoNpQ==} + /@vueuse/metadata/9.13.0: + resolution: {integrity: sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==} dev: true - /@vueuse/shared/9.12.0_vue@3.2.47: - resolution: {integrity: sha512-TWuJLACQ0BVithVTRbex4Wf1a1VaRuSpVeyEd4vMUWl54PzlE0ciFUshKCXnlLuD0lxIaLK4Ypj3NXYzZh4+SQ==} + /@vueuse/shared/9.13.0_vue@3.2.47: + resolution: {integrity: sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==} dependencies: vue-demi: 0.13.10_vue@3.2.47 transitivePeerDependencies: @@ -1346,8 +1346,8 @@ packages: kind-of: 6.0.3 dev: true - /shiki/0.14.0: - resolution: {integrity: sha512-fb9Fg1Yx/ElVJcTqPQIEOSfn7mSZlrT1W3CkymY08lL2Jsi+t7jPcZzKO1lCsQwlSDuyNhHvolnyA2OI4EgJNg==} + /shiki/0.14.1: + resolution: {integrity: sha512-+Jz4nBkCBe0mEDqo1eKRcCdjRtrCjozmcbTUjbPTX7OOJfEbTZzlUWlZtGe3Gb5oV1/jnojhG//YZc3rs9zSEw==} dependencies: ansi-sequence-parser: 1.1.0 jsonc-parser: 3.2.0 @@ -1449,8 +1449,8 @@ packages: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} dev: true - /vite/4.1.1_@types+node@18.7.13: - resolution: {integrity: sha512-LM9WWea8vsxhr782r9ntg+bhSFS06FJgCvvB0+8hf8UWtvaiDagKYWXndjfX6kGl74keHJUcpzrQliDXZlF5yg==} + /vite/4.1.4_@types+node@18.7.13: + resolution: {integrity: sha512-3knk/HsbSTKEin43zHu7jTwYWv81f8kgAL99G5NWBcA1LKvtvcVAC4JjBH1arBunO9kQka+1oGbrMKOjk4ZrBg==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true peerDependencies: @@ -1483,18 +1483,18 @@ packages: fsevents: 2.3.2 dev: true - /vitepress/1.0.0-alpha.45_@types+node@18.7.13: - resolution: {integrity: sha512-8AVWdymQqBUPmXmAbpapDDg18iDmkNJ47l5eOklBlAjj3n8P3zDAsBhOWSQ6+Nvm6+/GaZATyAvsrg47JD5Idw==} + /vitepress/1.0.0-alpha.50_@types+node@18.7.13: + resolution: {integrity: sha512-6EdT6JIiHRD7KatKMfxCJ3J7aHlkMp67ZEcfYrMTLKAJ+K+qWs2p427udMHSenCOzVNLIikEC5v/rP3GOGWubQ==} hasBin: true dependencies: '@docsearch/css': 3.3.3 '@docsearch/js': 3.3.3 - '@vitejs/plugin-vue': 4.0.0_vite@4.1.1+vue@3.2.47 + '@vitejs/plugin-vue': 4.0.0_vite@4.1.4+vue@3.2.47 '@vue/devtools-api': 6.5.0 - '@vueuse/core': 9.12.0_vue@3.2.47 + '@vueuse/core': 9.13.0_vue@3.2.47 body-scroll-lock: 4.0.0-beta.0 - shiki: 0.14.0 - vite: 4.1.1_@types+node@18.7.13 + shiki: 0.14.1 + vite: 4.1.4_@types+node@18.7.13 vue: 3.2.47 transitivePeerDependencies: - '@algolia/client-search'