fix(utils): preserve space in xml code blocks (#703) [skip ci]
This commit is contained in:
@@ -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
|
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")
|
const lines = code.trim().split("\n")
|
||||||
if ((lines.length > 1) && (!/class="[\s\S]*"/.test(open)))
|
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 `${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
|
return rendered
|
||||||
|
|||||||
Reference in New Issue
Block a user