feat: diagram rendering + post-processor (wip)

pull/1931/head
NGPixel 4 years ago
parent 5f99b30024
commit 52d0af19b4

@ -581,7 +581,7 @@
} }
} }
pre.diagram { .diagram {
margin-top: 1rem; margin-top: 1rem;
} }

@ -0,0 +1,8 @@
key: htmlDiagram
title: Diagrams Post-Processor
description: HTML Processing for diagrams (draw.io)
author: requarks.io
icon: mdi-chart-multiline
enabledDefault: true
dependsOn: htmlCore
props: {}

@ -0,0 +1,10 @@
module.exports = {
async init($, config) {
$(`pre.diagram`).each((idx, elm) => {
$(elm).children('svg').each((sidx, svg) => {
$(svg).removeAttr('content')
})
$(elm).replaceWith($(`<div class="diagram">${$(elm).html()}</div>`))
})
}
}

@ -27,8 +27,12 @@ module.exports = {
typographer: this.config.typographer, typographer: this.config.typographer,
quotes: _.get(quoteStyles, this.config.quotes, quoteStyles.English), quotes: _.get(quoteStyles, this.config.quotes, quoteStyles.English),
highlight(str, lang) { highlight(str, lang) {
if (lang === 'diagram') {
return `<pre class="diagram">` + Buffer.from(str, 'base64').toString() + `</pre>`
} else {
return `<pre><code class="language-${lang}">${_.escape(str)}</code></pre>` return `<pre><code class="language-${lang}">${_.escape(str)}</code></pre>`
} }
}
}) })
if (this.config.underline) { if (this.config.underline) {

Loading…
Cancel
Save