fix: codeblock various fixes (#6550)

This commit is contained in:
Alexander Onnikov
2024-09-13 21:48:00 +07:00
committed by GitHub
parent 81fbac2a73
commit 24bd0e9f59
16 changed files with 141 additions and 28 deletions
@@ -19,18 +19,18 @@ import { hljsDefineSvelte } from './languages/svelte-hljs'
hljs.registerLanguage('svelte', hljsDefineSvelte)
export interface HighlightOptions {
language: string
language: string | undefined
}
export function highlightText (text: string, options: HighlightOptions): string {
// We should always use highlighter because it sanitizes the input
// We have to always use highlighter to ensure that the input is sanitized
const validLanguage = options.language !== '' && hljs.getLanguage(options.language) !== undefined
const language = validLanguage ? options.language : 'text'
const { language } = options
const validLanguage = language !== undefined && hljs.getLanguage(language) !== undefined
const { value: highlighted } = hljs.highlight(text, { language })
const normalized = normalizeHighlightTags(highlighted)
return normalized
const { value: highlighted } = validLanguage ? hljs.highlight(text, { language }) : hljs.highlightAuto(text)
return normalizeHighlightTags(highlighted)
}
export function highlightLines (lines: string[], options: HighlightOptions): string[] {