diff --git a/src/node/markdown/markdown.ts b/src/node/markdown/markdown.ts index 378b54c1..c7b74d9e 100644 --- a/src/node/markdown/markdown.ts +++ b/src/node/markdown/markdown.ts @@ -24,7 +24,7 @@ import MarkdownIt from 'markdown-it' import anchorPlugin from 'markdown-it-anchor' import attrsPlugin from 'markdown-it-attrs' import { full as emojiPlugin } from 'markdown-it-emoji' -import type { BuiltinTheme, Highlighter } from 'shiki' +import type { BuiltinLanguage, BuiltinTheme, Highlighter } from 'shiki' import type { Logger } from 'vite' import { containerPlugin, type ContainerOptions } from './plugins/containers' import { gitHubAlertsPlugin } from './plugins/githubAlerts' @@ -53,11 +53,11 @@ export interface MarkdownOptions extends Options { /** * Setup markdown-it instance before applying plugins */ - preConfig?: (md: MarkdownIt) => void + preConfig?: (md: MarkdownIt) => Awaited /** * Setup markdown-it instance */ - config?: (md: MarkdownIt) => void + config?: (md: MarkdownIt) => Awaited /** * Disable cache (experimental) */ @@ -81,10 +81,10 @@ export interface MarkdownOptions extends Options { */ theme?: ThemeOptions /** - * Languages for syntax highlighting. + * Custom languages for syntax highlighting or pre-load built-in languages. * @see https://shiki.style/languages */ - languages?: LanguageInput[] + languages?: (LanguageInput | BuiltinLanguage)[] /** * Custom language aliases. * @@ -229,7 +229,7 @@ export async function createMarkdownRenderer( md.use(restoreEntities) if (options.preConfig) { - options.preConfig(md) + await options.preConfig(md) } // custom plugins @@ -322,7 +322,7 @@ export async function createMarkdownRenderer( // apply user config if (options.config) { - options.config(md) + await options.config(md) } return md