diff --git a/browser/lib/markdown.js b/browser/lib/markdown.js index da1330cc..79383ca9 100644 --- a/browser/lib/markdown.js +++ b/browser/lib/markdown.js @@ -31,10 +31,10 @@ var md = markdownit({ return `
${str}
` } return '
' +
-    createGutter(str) +
-    '' +
-    str +
-    '
' + createGutter(str) + + '' + + str + + '' } }) md.use(emoji, { @@ -57,7 +57,7 @@ md.use(math, { blockRenderer: function (str) { let output = '' try { - output = katex.renderToString(str.trim(), {displayMode: true}) + output = katex.renderToString(str.trim(), { displayMode: true }) } catch (err) { output = `
${err.message}
` } @@ -76,7 +76,17 @@ md.use(require('markdown-it-named-headers'), { } }) md.use(require('markdown-it-kbd')) -md.use(require('markdown-it-plantuml')) + +const deflate = require('markdown-it-plantuml/lib/deflate') +md.use(require('markdown-it-plantuml'), '', { + generateSource: function (umlCode) { + const s = unescape(encodeURIComponent(umlCode)) + const zippedCode = deflate.encode64( + deflate.zip_deflate(`@startuml\n${s}\n@enduml`, 9) + ) + return `http://www.plantuml.com/plantuml/svg/${zippedCode}` + } +}) // Override task item md.block.ruler.at('paragraph', function (state, startLine/*, endLine */) { @@ -110,7 +120,7 @@ md.block.ruler.at('paragraph', function (state, startLine/*, endLine */) { state.line = nextLine token = state.push('paragraph_open', 'p', 1) - token.map = [ startLine, state.line ] + token.map = [startLine, state.line] if (state.parentType === 'list') { const match = content.match(/^\[( |x)\] ?(.+)/i) @@ -121,7 +131,7 @@ md.block.ruler.at('paragraph', function (state, startLine/*, endLine */) { token = state.push('inline', '', 0) token.content = content - token.map = [ startLine, state.line ] + token.map = [startLine, state.line] token.children = [] token = state.push('paragraph_close', 'p', -1)