mirror of
https://github.com/wekan/wekan.git
synced 2025-12-22 18:30:13 +01:00
Include to Wekan packages directory contents, so that meteor command would build all directly.
This also simplifies build scripts. Thanks to xet7 !
This commit is contained in:
parent
6117097a93
commit
73e265d8fd
354 changed files with 36977 additions and 106 deletions
105
packages/markdown/marked/docs/demo/worker.js
Normal file
105
packages/markdown/marked/docs/demo/worker.js
Normal file
|
|
@ -0,0 +1,105 @@
|
|||
/* globals marked, unfetch, ES6Promise */
|
||||
if (!self.Promise) {
|
||||
self.importScripts('https://cdn.jsdelivr.net/npm/es6-promise/dist/es6-promise.js');
|
||||
self.Promise = ES6Promise;
|
||||
}
|
||||
if (!self.fetch) {
|
||||
self.importScripts('https://cdn.jsdelivr.net/npm/unfetch/dist/unfetch.umd.js');
|
||||
self.fetch = unfetch;
|
||||
}
|
||||
|
||||
var versionCache = {};
|
||||
var currentVersion;
|
||||
|
||||
onunhandledrejection = function (e) {
|
||||
throw e.reason;
|
||||
};
|
||||
|
||||
onmessage = function (e) {
|
||||
if (e.data.version === currentVersion) {
|
||||
parse(e);
|
||||
} else {
|
||||
loadVersion(e.data.version).then(function () {
|
||||
parse(e);
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
function parse(e) {
|
||||
switch (e.data.task) {
|
||||
case 'defaults':
|
||||
|
||||
var defaults = {};
|
||||
if (typeof marked.getDefaults === 'function') {
|
||||
defaults = marked.getDefaults();
|
||||
delete defaults.renderer;
|
||||
} else if ('defaults' in marked) {
|
||||
for (var prop in marked.defaults) {
|
||||
if (prop !== 'renderer') {
|
||||
defaults[prop] = marked.defaults[prop];
|
||||
}
|
||||
}
|
||||
}
|
||||
postMessage({
|
||||
task: e.data.task,
|
||||
defaults: defaults
|
||||
});
|
||||
break;
|
||||
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 parsed = marked.parser(lexed, e.data.options);
|
||||
var endTime = new Date();
|
||||
// setTimeout(function () {
|
||||
postMessage({
|
||||
task: e.data.task,
|
||||
lexed: lexedList.join('\n'),
|
||||
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 loadVersion(ver) {
|
||||
var promise;
|
||||
if (versionCache[ver]) {
|
||||
promise = Promise.resolve(versionCache[ver]);
|
||||
} else {
|
||||
promise = fetch(ver)
|
||||
.then(function (res) { return res.text(); })
|
||||
.then(function (text) {
|
||||
versionCache[ver] = text;
|
||||
return text;
|
||||
});
|
||||
}
|
||||
return promise.then(function (text) {
|
||||
try {
|
||||
// eslint-disable-next-line no-new-func
|
||||
Function(text)();
|
||||
} catch (err) {
|
||||
throw new Error('Cannot load that version of marked');
|
||||
}
|
||||
currentVersion = ver;
|
||||
});
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue