Browse Source

Added basic asciidoc extension for [SUCCESS] block admonition. Need to fix corner radii not rendering

pull/7390/head
Brian Powell Jr 8 months ago
parent
commit
155087ac6f
3 changed files with 25 additions and 2 deletions
  1. 5
      client/components/editor/editor-asciidoc.vue
  2. 17
      client/modules/asciidoc-extended.js
  3. 5
      server/modules/rendering/asciidoc-core/renderer.js

5
client/components/editor/editor-asciidoc.vue

@ -163,6 +163,8 @@ import cmFold from './common/cmFold'
// INIT
// ========================================
const asciidoctor = require('asciidoctor')()
const registry = asciidoctor.Extensions.create()
require('../../modules/asciidoc-extended')(registry)
const cheerio = require('cheerio')
// Platform detection
@ -222,7 +224,8 @@ export default {
attributes: {
showtitle: true,
icons: 'font'
}
},
'extension_registry': registry
})
const $ = cheerio.load(html, {
decodeEntities: true

17
client/modules/asciidoc-extended.js

@ -0,0 +1,17 @@
// Asciidoctor API Documentation for HTML5Converter:
// https://www.rubydoc.info/gems/asciidoctor/2.0.23/Asciidoctor/Converter/Html5Converter#convert_admonition-instance_method
module.exports = function (registry) {
// Success Admonition block rendering
// [SUCCESS]
// <paragraphContent>
registry.block(function () {
var self = this
self.named('SUCCESS')
self.onContext('paragraph')
self.process(function (parent, reader) {
var lines = reader.getLines()
return self.createBlock(parent, 'admonition', lines, {name: 'success', textlabel: 'Success'})
})
})
}

5
server/modules/rendering/asciidoc-core/renderer.js

@ -1,4 +1,6 @@
const asciidoctor = require('asciidoctor')()
const registry = asciidoctor.Extensions.create()
require('../../../../client/modules/asciidoc-extended')(registry)
const cheerio = require('cheerio')
module.exports = {
@ -9,7 +11,8 @@ module.exports = {
attributes: {
showtitle: true,
icons: 'font'
}
},
'extension_registry': registry
})
const $ = cheerio.load(html, {

Loading…
Cancel
Save