From be06b3f7e8667cd9307bda8d86cce353b0afc9a0 Mon Sep 17 00:00:00 2001 From: Michael Schuldes Date: Sat, 18 May 2019 13:43:13 +0200 Subject: [PATCH] Added plantUML Gantt support --- browser/lib/markdown.js | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/browser/lib/markdown.js b/browser/lib/markdown.js index 121eff91..ac57d8ab 100644 --- a/browser/lib/markdown.js +++ b/browser/lib/markdown.js @@ -243,6 +243,22 @@ class Markdown { } }) + // Gantt support + this.md.use(require('markdown-it-plantuml'), { + openMarker: '@startgantt', + closeMarker: '@endgantt', + 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(`@startgantt\n${s}\n@endgantt`, 9) + ) + return `${serverAddress}/${zippedCode}` + } + }) + // Override task item this.md.block.ruler.at('paragraph', function (state, startLine/*, endLine */) { let content, terminate, i, l, token