1 | (function () {
|
2 |
|
3 | if (typeof self === 'undefined' || !self.Prism || !self.document || !Prism.languages.markup) {
|
4 | return;
|
5 | }
|
6 |
|
7 | Prism.plugins.UnescapedMarkup = true;
|
8 |
|
9 | Prism.hooks.add('before-highlightall', function (env) {
|
10 | env.selector += ", [class*='lang-'] script[type='text/plain'], [class*='language-'] script[type='text/plain']" +
|
11 | ", script[type='text/plain'][class*='lang-'], script[type='text/plain'][class*='language-']";
|
12 | });
|
13 |
|
14 | Prism.hooks.add('before-sanity-check', function (env) {
|
15 | if ((env.element.matches || env.element.msMatchesSelector).call(env.element, "script[type='text/plain']")) {
|
16 | var code = document.createElement("code");
|
17 | var pre = document.createElement("pre");
|
18 |
|
19 | pre.className = code.className = env.element.className;
|
20 |
|
21 | if (env.element.dataset) {
|
22 | Object.keys(env.element.dataset).forEach(function (key) {
|
23 | if (Object.prototype.hasOwnProperty.call(env.element.dataset, key)) {
|
24 | pre.dataset[key] = env.element.dataset[key];
|
25 | }
|
26 | });
|
27 | }
|
28 |
|
29 | env.code = env.code.replace(/<\/script(>|>)/gi, "</scri" + "pt>");
|
30 | code.textContent = env.code;
|
31 |
|
32 | pre.appendChild(code);
|
33 | env.element.parentNode.replaceChild(pre, env.element);
|
34 | env.element = code;
|
35 | return;
|
36 | }
|
37 |
|
38 | var pre = env.element.parentNode;
|
39 | if (!env.code && pre && pre.nodeName.toLowerCase() == 'pre' &&
|
40 | env.element.childNodes.length && env.element.childNodes[0].nodeName == "#comment") {
|
41 | env.element.textContent = env.code = env.element.childNodes[0].textContent;
|
42 | }
|
43 | });
|
44 | }());
|