mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-14 08:34:16 +01:00
c129ac3076
* Edit max line length * oh god * ts also * rebuild tgui * Format again after conflicts resolving * Me rebuild tgui * this is minified * this is removed * rebuild tgui
22 lines
854 B
JavaScript
22 lines
854 B
JavaScript
// Paradise-specific handling of marked.js.
|
|
// Basically we call it on element with id=markdown, and play with paragraphization a bit
|
|
// Requires marked.js to be loaded in order to be useful.
|
|
|
|
var $ = document.querySelector.bind(document);
|
|
function parse(node) {
|
|
for (var i = 0; i < node.childNodes.length; i++) parse(node.childNodes[i]);
|
|
|
|
if (!node.innerHTML) return;
|
|
|
|
if (node.children.length == 0) {
|
|
node.innerHTML = marked(node.innerHTML.replace(/<br>/gi, '\n').replace(/\t/gi, ''), { breaks: false, gfm: false });
|
|
// marked.js wraps content into <p> tags, which is looks atrocious when we call it recursively.
|
|
// The following line unwraps it.
|
|
if (node.children.length == 1 && node.children[0].tagName == 'P') node.innerHTML = node.children[0].innerHTML;
|
|
}
|
|
}
|
|
|
|
window.onload = function () {
|
|
if ($('#markdown')) parse($('#markdown'));
|
|
};
|