diff --git a/plugins/plugin-notes-data/src/node/plugin.ts b/plugins/plugin-notes-data/src/node/plugin.ts index 4180071b..62b1f47f 100644 --- a/plugins/plugin-notes-data/src/node/plugin.ts +++ b/plugins/plugin-notes-data/src/node/plugin.ts @@ -2,6 +2,7 @@ import type { Plugin } from 'vuepress/core' import { getDirname, path } from 'vuepress/utils' import type { NotesDataOptions } from '../shared/index.js' import { prepareNotesData, watchNotesData } from './prepareNotesData.js' +import { wait } from './utils.js' export function notesDataPlugin(options: NotesDataOptions | NotesDataOptions[]): Plugin { return { @@ -12,7 +13,10 @@ export function notesDataPlugin(options: NotesDataOptions | NotesDataOptions[]): '../client/clientConfig.js', ), - onPrepared: app => prepareNotesData(app, options), + onPrepared: async (app) => { + await wait(50) + await prepareNotesData(app, options) + }, onWatched: (app, watchers) => watchNotesData(app, watchers, options), } } diff --git a/plugins/plugin-notes-data/src/node/utils.ts b/plugins/plugin-notes-data/src/node/utils.ts index 5b2d0317..edabc86d 100644 --- a/plugins/plugin-notes-data/src/node/utils.ts +++ b/plugins/plugin-notes-data/src/node/utils.ts @@ -9,3 +9,7 @@ export function ensureArray(thing: T | T[] | null | undefined): T[] { export function normalizePath(str: string) { return str.replace(/\\+/g, '/') } + +export function wait(time: number) { + return new Promise(resolve => setTimeout(resolve, time)) +} diff --git a/theme/src/client/components/Blog/Archives.vue b/theme/src/client/components/Blog/Archives.vue index 7f193283..23270dfc 100644 --- a/theme/src/client/components/Blog/Archives.vue +++ b/theme/src/client/components/Blog/Archives.vue @@ -1,5 +1,5 @@