qwik-cms/libs/markedRenderer.js

29 lines
765 B
JavaScript
Raw Normal View History

2021-08-07 10:16:13 +02:00
import hljs from 'highlight.js'
function highlight(code, lang) {
const language = hljs.getLanguage(lang) ? lang : 'plaintext'
return hljs.highlight(
code.replace(/•/g, " "), { language })
.value.replace(/\n/g, "<br>")
.replace(/ /g, "&nbsp;"
)
}
export const markedRenderer = {
heading(text, level) {
return `
<a name="${text.replace(/\s/g, "-")}" data-orig-text="${text}" class="toc-anchor toc-anchor-h${level}"></a>
<h${level}>
${text}
</h${level}>
`
2021-08-07 10:16:13 +02:00
},
code(code, lang, escaped) {
return `
<pre>
<code class="language-${lang}">${highlight(code, lang)}</code>
</pre>
`
}
}