mirror of
https://github.com/hedgedoc/hedgedoc.git
synced 2025-05-15 07:34:42 -04:00
Resolve dependency module requiring
* es5 style module exports * remove script tag require * webpack config ProvidePlugin Note that this commit only fix JavaScript module loading runtime error.
This commit is contained in:
parent
0be342c44d
commit
963a435ae1
9 changed files with 175 additions and 59 deletions
|
@ -224,7 +224,7 @@ function finishView(view) {
|
|||
});
|
||||
//emojify
|
||||
try {
|
||||
emojify.run(view[0]);
|
||||
emojify.run(view[0]);
|
||||
} catch (err) {
|
||||
console.warn(err);
|
||||
}
|
||||
|
@ -245,12 +245,12 @@ function finishView(view) {
|
|||
try {
|
||||
var $value = $(value);
|
||||
var $ele = $(value).parent().parent();
|
||||
|
||||
|
||||
var sequence = $value;
|
||||
sequence.sequenceDiagram({
|
||||
theme: 'simple'
|
||||
});
|
||||
|
||||
|
||||
$ele.addClass('sequence-diagram');
|
||||
$value.children().unwrap().unwrap();
|
||||
var svg = $ele.find('> svg');
|
||||
|
@ -266,7 +266,7 @@ function finishView(view) {
|
|||
try {
|
||||
var $value = $(value);
|
||||
var $ele = $(value).parent().parent();
|
||||
|
||||
|
||||
var chart = flowchart.parse($value.text());
|
||||
$value.html('');
|
||||
chart.drawSVG(value, {
|
||||
|
@ -275,7 +275,7 @@ function finishView(view) {
|
|||
'font-size': '16px',
|
||||
'font-family': "'Andale Mono', monospace"
|
||||
});
|
||||
|
||||
|
||||
$ele.addClass('flow-chart');
|
||||
$value.children().unwrap().unwrap();
|
||||
} catch (err) {
|
||||
|
@ -288,10 +288,10 @@ function finishView(view) {
|
|||
try {
|
||||
var $value = $(value);
|
||||
var $ele = $(value).parent().parent();
|
||||
|
||||
|
||||
var graphviz = Viz($value.text());
|
||||
$value.html(graphviz);
|
||||
|
||||
|
||||
$ele.addClass('graphviz');
|
||||
$value.children().unwrap().unwrap();
|
||||
} catch (err) {
|
||||
|
@ -304,12 +304,12 @@ function finishView(view) {
|
|||
try {
|
||||
var $value = $(value);
|
||||
var $ele = $(value).parent().parent();
|
||||
|
||||
|
||||
var mermaidError = null;
|
||||
mermaid.parseError = function (err, hash) {
|
||||
mermaidError = err;
|
||||
};
|
||||
|
||||
|
||||
if (mermaidAPI.parse($value.text())) {
|
||||
$ele.addClass('mermaid');
|
||||
$ele.html($value.text());
|
||||
|
@ -489,6 +489,8 @@ function exportToRawHTML(view) {
|
|||
saveAs(blob, filename);
|
||||
}
|
||||
|
||||
var common = require('./common.js');
|
||||
var serverurl = common.serverurl;
|
||||
//extract markdown body to html and compile to template
|
||||
function exportToHTML(view) {
|
||||
var title = renderTitle(ui.area.markdown);
|
||||
|
@ -794,7 +796,10 @@ emojify.setConfig({
|
|||
ignore_emoticons: true
|
||||
});
|
||||
|
||||
var md = window.markdownit('default', {
|
||||
var markdownit = require('markdown-it');
|
||||
var markdownitContainer = require('markdown-it-container');
|
||||
|
||||
var md = markdownit('default', {
|
||||
html: true,
|
||||
breaks: true,
|
||||
langPrefix: "",
|
||||
|
@ -802,25 +807,27 @@ var md = window.markdownit('default', {
|
|||
typographer: true,
|
||||
highlight: highlightRender
|
||||
});
|
||||
md.use(window.markdownitAbbr);
|
||||
md.use(window.markdownitFootnote);
|
||||
md.use(window.markdownitDeflist);
|
||||
md.use(window.markdownitMark);
|
||||
md.use(window.markdownitIns);
|
||||
md.use(window.markdownitSub);
|
||||
md.use(window.markdownitSup);
|
||||
md.use(window.markdownitMathjax);
|
||||
md.use(window.markdownitImsize);
|
||||
|
||||
md.use(require('markdown-it-abbr'));
|
||||
md.use(require('markdown-it-footnote'));
|
||||
md.use(require('markdown-it-deflist'));
|
||||
md.use(require('markdown-it-mark'));
|
||||
md.use(require('markdown-it-ins'));
|
||||
md.use(require('markdown-it-sub'));
|
||||
md.use(require('markdown-it-sup'));
|
||||
md.use(require('markdown-it-mathjax'));
|
||||
md.use(require('markdown-it-imsize'));
|
||||
|
||||
function renderContainer(tokens, idx, options, env, self) {
|
||||
tokens[idx].attrJoin('role', 'alert');
|
||||
tokens[idx].attrJoin('class', 'alert');
|
||||
tokens[idx].attrJoin('class', 'alert-' + tokens[idx].info.trim());
|
||||
return self.renderToken.apply(self, arguments);
|
||||
}
|
||||
md.use(window.markdownitContainer, 'success', { render: renderContainer });
|
||||
md.use(window.markdownitContainer, 'info', { render: renderContainer });
|
||||
md.use(window.markdownitContainer, 'warning', { render: renderContainer });
|
||||
md.use(window.markdownitContainer, 'danger', { render: renderContainer });
|
||||
md.use(markdownitContainer, 'success', { render: renderContainer });
|
||||
md.use(markdownitContainer, 'info', { render: renderContainer });
|
||||
md.use(markdownitContainer, 'warning', { render: renderContainer });
|
||||
md.use(markdownitContainer, 'danger', { render: renderContainer });
|
||||
|
||||
md.renderer.rules.image = function (tokens, idx, options, env, self) {
|
||||
tokens[idx].attrJoin('class', 'raw');
|
||||
|
@ -865,6 +872,9 @@ md.renderer.rules.fence = function (tokens, idx, options, env, self) {
|
|||
+ '</code></pre>\n';
|
||||
};
|
||||
|
||||
/* Defined regex markdown it plugins */
|
||||
var Plugin = require('markdown-it-regexp');
|
||||
|
||||
//youtube
|
||||
var youtubePlugin = new Plugin(
|
||||
// regexp to match
|
||||
|
@ -1011,4 +1021,23 @@ md.use(gistPlugin);
|
|||
md.use(tocPlugin);
|
||||
md.use(slidesharePlugin);
|
||||
md.use(speakerdeckPlugin);
|
||||
md.use(pdfPlugin);
|
||||
md.use(pdfPlugin);
|
||||
|
||||
module.exports = {
|
||||
md: md,
|
||||
createtime: createtime,
|
||||
lastchangetime: lastchangetime,
|
||||
updateLastChange: updateLastChange,
|
||||
lastchangeui: lastchangeui,
|
||||
lastchangeuser: lastchangeuser,
|
||||
postProcess: postProcess,
|
||||
finishView: finishView,
|
||||
autoLinkify: autoLinkify,
|
||||
deduplicatedHeaderId: deduplicatedHeaderId,
|
||||
renderTOC: renderTOC,
|
||||
renderTitle: renderTitle,
|
||||
renderFilename: renderFilename,
|
||||
generateToc: generateToc,
|
||||
smoothHashScroll: smoothHashScroll,
|
||||
scrollToHash: scrollToHash
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue