feat: diagram rendering + post-processor (wip)

This commit is contained in:
NGPixel 2020-07-12 15:58:45 -04:00
parent 5f99b30024
commit 52d0af19b4
4 changed files with 24 additions and 2 deletions

View File

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

View File

@ -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: {}

View File

@ -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>`))
})
}
}

View File

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