Skip to content

Commit 09589da

Browse files
committed
markdown.js: Wait until VitePress config object is available
1 parent 5c3f626 commit 09589da

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

lib/markdown.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import fg from 'fast-glob'
33
import deflistPlugin from 'markdown-it-deflist'
44
import path from 'path'
55
import { createMarkdownRenderer } from 'vitepress'
6-
import { dovecotSetting, frontmatterIter, loadData } from './utility.js'
6+
import { dovecotSetting, frontmatterIter, loadData, vitePressReady } from './utility.js'
77

88
let md_conf = null
99
export async function dovecotMdExtend(md) {
@@ -19,6 +19,7 @@ export async function dovecotMdExtend(md) {
1919
md.use(deflistPlugin)
2020

2121
if (md_conf === null) {
22+
await vitePressReady()
2223
md_conf = {
2324
base: globalThis.VITEPRESS_CONFIG.site.base,
2425
doveadm: (await loadData('doveadm')).doveadm,
@@ -36,6 +37,7 @@ export async function dovecotMdExtend(md) {
3637
let vitepress_md = null
3738
export async function getVitepressMd() {
3839
if (vitepress_md === null) {
40+
await vitePressReady()
3941
const config = globalThis.VITEPRESS_CONFIG
4042

4143
vitepress_md = await dovecotMdExtend(await createMarkdownRenderer(

lib/utility.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,12 @@ export function normalizeArrayData(data, keys) {
2626
return data
2727
}
2828

29+
export async function vitePressReady() {
30+
while (!(globalThis.VITEPRESS_CONFIG)) {
31+
await(new Promise((resolve) => setTimeout(resolve, 1000)))
32+
}
33+
}
34+
2935
export async function loadData(id) {
3036
const path = globalThis.VITEPRESS_CONFIG.userConfig.themeConfig.dovecot?.data_paths?.[id]
3137
?? ('../data/' + id + '.js')

0 commit comments

Comments
 (0)