You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

29 lines
794 B

const asciidoctor = require('asciidoctor')()
const registry = asciidoctor.Extensions.create()
require('../../../../client/modules/asciidoc-extended')(registry)
const cheerio = require('cheerio')
module.exports = {
async render() {
const html = asciidoctor.convert(this.input, {
standalone: false,
safe: this.config.safeMode,
attributes: {
showtitle: true,
icons: 'font'
},
'extension_registry': registry
})
const $ = cheerio.load(html, {
decodeEntities: true
})
$('pre.highlight > code.language-diagram').each((i, elm) => {
const diagramContent = Buffer.from($(elm).html(), 'base64').toString()
$(elm).parent().replaceWith(`<pre class="diagram">${diagramContent}</div>`)
})
return $.html()
}
}