/, '')
}
- if (prism.languages[lang]) {
- const code = prism.highlight(str, prism.languages[lang], lang)
- return wrap(code, rawLang)
- }
- return wrap(str, 'text')
}
diff --git a/src/node/markdown/plugins/lineNumbers.ts b/src/node/markdown/plugins/lineNumbers.ts
index 94a8f5ec..739b0222 100644
--- a/src/node/markdown/plugins/lineNumbers.ts
+++ b/src/node/markdown/plugins/lineNumbers.ts
@@ -21,7 +21,7 @@ export const lineNumberPlugin = (md: MarkdownIt) => {
const finalCode = rawCode
.replace(/<\/div>$/, `${lineNumbersWrapperCode}`)
- .replace(/"(language-\w+)"/, '"$1 line-numbers-mode"')
+ .replace(/"(language-\w*)"/, '"$1 line-numbers-mode"')
return finalCode
}
diff --git a/src/node/markdownToVue.ts b/src/node/markdownToVue.ts
index f3bb2542..96639f8d 100644
--- a/src/node/markdownToVue.ts
+++ b/src/node/markdownToVue.ts
@@ -21,7 +21,7 @@ export interface MarkdownCompileResult {
includes: string[]
}
-export function createMarkdownToVueRenderFn(
+export async function createMarkdownToVueRenderFn(
srcDir: string,
options: MarkdownOptions = {},
pages: string[],
@@ -30,7 +30,7 @@ export function createMarkdownToVueRenderFn(
base: string,
includeLastUpdatedData = false
) {
- const md = createMarkdownRenderer(srcDir, options, base)
+ const md = await createMarkdownRenderer(srcDir, options, base)
pages = pages.map((p) => slash(p.replace(/\.md$/, '')))
const userDefineRegex = userDefines
diff --git a/src/node/plugin.ts b/src/node/plugin.ts
index 02ba4661..d30d32b0 100644
--- a/src/node/plugin.ts
+++ b/src/node/plugin.ts
@@ -7,6 +7,8 @@ import { slash } from './utils/slash'
import { OutputAsset, OutputChunk } from 'rollup'
import { staticDataPlugin } from './staticDataPlugin'
+type Awaited = T extends Promise ? P : never
+
const hashRE = /\.(\w+)\.js$/
const staticInjectMarkerRE =
/\b(const _hoisted_\d+ = \/\*(?:#|@)__PURE__\*\/\s*createStaticVNode)\("(.*)", (\d+)\)/g
@@ -46,7 +48,7 @@ export function createVitePressPlugin(
pages
} = siteConfig
- let markdownToVue: ReturnType
+ let markdownToVue: Awaited>
// lazy require plugin-vue to respect NODE_ENV in @vue/compiler-x
const vuePlugin = require('@vitejs/plugin-vue')({
@@ -70,9 +72,9 @@ export function createVitePressPlugin(
const vitePressPlugin: Plugin = {
name: 'vitepress',
- configResolved(resolvedConfig) {
+ async configResolved(resolvedConfig) {
config = resolvedConfig
- markdownToVue = createMarkdownToVueRenderFn(
+ markdownToVue = await createMarkdownToVueRenderFn(
srcDir,
markdown,
pages,
diff --git a/src/node/shims.d.ts b/src/node/shims.d.ts
index 097e3cc8..af90ae3e 100644
--- a/src/node/shims.d.ts
+++ b/src/node/shims.d.ts
@@ -23,16 +23,6 @@ declare module 'escape-html' {
export default def
}
-declare module 'prismjs' {
- const def: any
- export default def
-}
-
-declare module 'prismjs/components/index' {
- const def: any
- export default def
-}
-
declare module 'diacritics' {
export const remove: (str: string) => string
}