fix(utils): preserve space in xml code blocks (#703) [skip ci]

This commit is contained in:
Simon Lecoq
2021-12-07 03:59:18 +01:00
committed by GitHub
parent 650d2223ef
commit ec24b37480

View File

@@ -289,7 +289,7 @@ export async function markdown(text, {mode = "inline", codelines = Infinity} = {
rendered = rendered.replace(/(?<open><code[\s\S]*?>)(?<code>[\s\S]*?)(?<close><\/code>)/g, (m, open, code, close) => { //eslint-disable-line max-params
const lines = code.trim().split("\n")
if ((lines.length > 1) && (!/class="[\s\S]*"/.test(open)))
open = open.replace(/>/g, ' class="language-multiline">')
open = open.replace(/>/g, ' class="language-multiline" xml:space="preserve">')
return `${open}${lines.slice(0, codelines).join("\n")}${lines.length > codelines ? `\n<span class="token trimmed">(${lines.length - codelines} more ${lines.length - codelines === 1 ? "line was" : "lines were"} trimmed)</span>` : ""}${close}`
})
return rendered