diff options
author | Marc Hartmayer <hello@hartmayer.com> | 2020-06-03 23:04:14 +0200 |
---|---|---|
committer | Marc Hartmayer <hello@hartmayer.com> | 2020-06-03 23:10:25 +0200 |
commit | 399ddd2dabead11a0a0de903a6288f9abcffd603 (patch) | |
tree | b5ad65d2317b44d2def571162ef70d4e7c3ef573 /packages/markdown/marked/docs/demo | |
parent | 2876ce633c0b1a442992e9b5e3ec52639f947a52 (diff) | |
download | wekan-399ddd2dabead11a0a0de903a6288f9abcffd603.tar.gz wekan-399ddd2dabead11a0a0de903a6288f9abcffd603.tar.bz2 wekan-399ddd2dabead11a0a0de903a6288f9abcffd603.zip |
Update `markedjs` package
Update `markedjs` to commit
https://github.com/markedjs/marked/commit/7b3036f8c0440cfd003ce47dd6e1a92af0f5e822.
This fixes the issue https://github.com/wekan/wekan/issues/3148.
Diffstat (limited to 'packages/markdown/marked/docs/demo')
-rw-r--r-- | packages/markdown/marked/docs/demo/demo.js | 14 | ||||
-rw-r--r-- | packages/markdown/marked/docs/demo/worker.js | 60 |
2 files changed, 46 insertions, 28 deletions
diff --git a/packages/markdown/marked/docs/demo/demo.js b/packages/markdown/marked/docs/demo/demo.js index 05649583..142d127a 100644 --- a/packages/markdown/marked/docs/demo/demo.js +++ b/packages/markdown/marked/docs/demo/demo.js @@ -183,7 +183,7 @@ function handleIframeLoad() { function handleInput() { inputDirty = true; -}; +} function handleVersionChange() { if ($markedVerElem.value === 'commit' || $markedVerElem.value === 'pr') { @@ -256,7 +256,7 @@ function handleChange(panes, visiblePane) { } } return active; -}; +} function addCommitVersion(value, text, commit) { if (markedVersions[value]) { @@ -331,13 +331,13 @@ function jsonString(input) { .replace(/[\\"']/g, '\\$&') .replace(/\u0000/g, '\\0'); return '"' + output + '"'; -}; +} function getScrollSize() { var e = $activeOutputElem; return e.scrollHeight - e.clientHeight; -}; +} function getScrollPercent() { var size = getScrollSize(); @@ -347,11 +347,11 @@ function getScrollPercent() { } return $activeOutputElem.scrollTop / size; -}; +} function setScrollPercent(percent) { $activeOutputElem.scrollTop = percent * getScrollSize(); -}; +} function updateLink() { var outputType = ''; @@ -446,7 +446,7 @@ function checkForChanges() { } } checkChangeTimeout = window.setTimeout(checkForChanges, delayTime); -}; +} function setResponseTime(ms) { var amount = ms; diff --git a/packages/markdown/marked/docs/demo/worker.js b/packages/markdown/marked/docs/demo/worker.js index 6a0fa032..5fb5fd86 100644 --- a/packages/markdown/marked/docs/demo/worker.js +++ b/packages/markdown/marked/docs/demo/worker.js @@ -1,4 +1,5 @@ /* globals marked, unfetch, ES6Promise, Promise */ // eslint-disable-line no-redeclare + if (!self.Promise) { self.importScripts('https://cdn.jsdelivr.net/npm/es6-promise/dist/es6-promise.js'); self.Promise = ES6Promise; @@ -48,38 +49,55 @@ function parse(e) { case 'parse': var startTime = new Date(); var lexed = marked.lexer(e.data.markdown, e.data.options); - var lexedList = []; - for (var i = 0; i < lexed.length; i++) { - var lexedLine = []; - for (var j in lexed[i]) { - lexedLine.push(j + ':' + jsonString(lexed[i][j])); - } - lexedList.push('{' + lexedLine.join(', ') + '}'); - } + var lexedList = jsonString(lexed); var parsed = marked.parser(lexed, e.data.options); var endTime = new Date(); - // setTimeout(function () { postMessage({ task: e.data.task, - lexed: lexedList.join('\n'), + lexed: lexedList, parsed: parsed, time: endTime - startTime }); - // }, 10000); break; } } -function jsonString(input) { - var output = (input + '') - .replace(/\n/g, '\\n') - .replace(/\r/g, '\\r') - .replace(/\t/g, '\\t') - .replace(/\f/g, '\\f') - .replace(/[\\"']/g, '\\$&') - .replace(/\u0000/g, '\\0'); - return '"' + output + '"'; -}; +function stringRepeat(char, times) { + var s = ''; + for (var i = 0; i < times; i++) { + s += char; + } + return s; +} + +function jsonString(input, level) { + level = level || 0; + if (Array.isArray(input)) { + if (input.length === 0) { + return '[]'; + } + var items = [], + i; + if (!Array.isArray(input[0]) && typeof input[0] === 'object' && input[0] !== null) { + for (i = 0; i < input.length; i++) { + items.push(stringRepeat(' ', 2 * level) + jsonString(input[i], level + 1)); + } + return '[\n' + items.join('\n') + '\n]'; + } + for (i = 0; i < input.length; i++) { + items.push(jsonString(input[i], level)); + } + return '[' + items.join(', ') + ']'; + } else if (typeof input === 'object' && input !== null) { + var props = []; + for (var prop in input) { + props.push(prop + ':' + jsonString(input[prop], level)); + } + return '{' + props.join(', ') + '}'; + } else { + return JSON.stringify(input); + } +} function loadVersion(ver) { var promise; |