diff --git a/browser/lib/markdown.js b/browser/lib/markdown.js index 7b22d379..121eff91 100644 --- a/browser/lib/markdown.js +++ b/browser/lib/markdown.js @@ -227,6 +227,22 @@ class Markdown { } }) + // WBS support + this.md.use(require('markdown-it-plantuml'), { + openMarker: '@startwbs', + closeMarker: '@endwbs', + generateSource: function (umlCode) { + const stripTrailingSlash = (url) => url.endsWith('/') ? url.slice(0, -1) : url + // Currently PlantUML server doesn't support Ditaa in SVG, so we set the format as PNG at the moment. + const serverAddress = stripTrailingSlash(config.preview.plantUMLServerAddress) + '/svg' + const s = unescape(encodeURIComponent(umlCode)) + const zippedCode = deflate.encode64( + deflate.zip_deflate(`@startwbs\n${s}\n@endwbs`, 9) + ) + return `${serverAddress}/${zippedCode}` + } + }) + // Override task item this.md.block.ruler.at('paragraph', function (state, startLine/*, endLine */) { let content, terminate, i, l, token