diff --git a/src/node/markdown/plugins/preWrapper.ts b/src/node/markdown/plugins/preWrapper.ts index 906cac2a..d169ba8c 100644 --- a/src/node/markdown/plugins/preWrapper.ts +++ b/src/node/markdown/plugins/preWrapper.ts @@ -18,13 +18,24 @@ export function preWrapperPlugin(md: MarkdownIt, options: Options) { token.info = token.info.replace(/ active$/, '').replace(/ active /, ' ') const lang = extractLang(token.info) + const classes = `language-${lang}${getAdaptiveThemeMarker( + options + )}${active}` + const classAttr = token.attrs && token.attrs.find((x) => x[0] === 'class') + if (classAttr != null) { + classAttr[1] = `${classes} ${classAttr[1]}` + } else { + const attrs: Array<[string, string]> = [['class', classes]] + + token.attrs = token.attrs ? token.attrs.concat(attrs) : attrs + } + + const rawCode = fence(...args) return ( - `
` + + `
` + `` + - `${lang}` + - fence(...args) + - '
' + `${lang}${rawCode}
` ) } }