Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/heyeshuang/hugo-theme-tokiwa.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'static/lib/contrib/copy-tex.mjs')
-rw-r--r--static/lib/contrib/copy-tex.mjs41
1 files changed, 21 insertions, 20 deletions
diff --git a/static/lib/contrib/copy-tex.mjs b/static/lib/contrib/copy-tex.mjs
index b6ed1ee..882ffe0 100644
--- a/static/lib/contrib/copy-tex.mjs
+++ b/static/lib/contrib/copy-tex.mjs
@@ -1,5 +1,5 @@
// Set these to how you want inline and display math to be delimited.
-const defaultCopyDelimiters = {
+var defaultCopyDelimiters = {
inline: ['$', '$'],
// alternative: ['\(', '\)']
display: ['$$', '$$'] // alternative: ['\[', '\]']
@@ -8,17 +8,17 @@ const defaultCopyDelimiters = {
// Modifies fragment in-place. Useful for writing your own 'copy' handler,
// as in copy-tex.js.
-const katexReplaceWithTex = function katexReplaceWithTex(fragment, copyDelimiters) {
+var katexReplaceWithTex = function katexReplaceWithTex(fragment, copyDelimiters) {
if (copyDelimiters === void 0) {
copyDelimiters = defaultCopyDelimiters;
}
// Remove .katex-html blocks that are preceded by .katex-mathml blocks
// (which will get replaced below).
- const katexHtml = fragment.querySelectorAll('.katex-mathml + .katex-html');
+ var katexHtml = fragment.querySelectorAll('.katex-mathml + .katex-html');
- for (let i = 0; i < katexHtml.length; i++) {
- const element = katexHtml[i];
+ for (var i = 0; i < katexHtml.length; i++) {
+ var element = katexHtml[i];
if (element.remove) {
element.remove(null);
@@ -29,17 +29,18 @@ const katexReplaceWithTex = function katexReplaceWithTex(fragment, copyDelimiter
// descendant, with inline delimiters.
- const katexMathml = fragment.querySelectorAll('.katex-mathml');
+ var katexMathml = fragment.querySelectorAll('.katex-mathml');
- for (let i = 0; i < katexMathml.length; i++) {
- const element = katexMathml[i];
- const texSource = element.querySelector('annotation');
+ for (var _i = 0; _i < katexMathml.length; _i++) {
+ var _element = katexMathml[_i];
+
+ var texSource = _element.querySelector('annotation');
if (texSource) {
- if (element.replaceWith) {
- element.replaceWith(texSource);
+ if (_element.replaceWith) {
+ _element.replaceWith(texSource);
} else {
- element.parentNode.replaceChild(texSource, element);
+ _element.parentNode.replaceChild(texSource, _element);
}
texSource.innerHTML = copyDelimiters.inline[0] + texSource.innerHTML + copyDelimiters.inline[1];
@@ -47,33 +48,33 @@ const katexReplaceWithTex = function katexReplaceWithTex(fragment, copyDelimiter
} // Switch display math to display delimiters.
- const displays = fragment.querySelectorAll('.katex-display annotation');
+ var displays = fragment.querySelectorAll('.katex-display annotation');
- for (let i = 0; i < displays.length; i++) {
- const element = displays[i];
- element.innerHTML = copyDelimiters.display[0] + element.innerHTML.substr(copyDelimiters.inline[0].length, element.innerHTML.length - copyDelimiters.inline[0].length - copyDelimiters.inline[1].length) + copyDelimiters.display[1];
+ for (var _i2 = 0; _i2 < displays.length; _i2++) {
+ var _element2 = displays[_i2];
+ _element2.innerHTML = copyDelimiters.display[0] + _element2.innerHTML.substr(copyDelimiters.inline[0].length, _element2.innerHTML.length - copyDelimiters.inline[0].length - copyDelimiters.inline[1].length) + copyDelimiters.display[1];
}
return fragment;
};
document.addEventListener('copy', function (event) {
- const selection = window.getSelection();
+ var selection = window.getSelection();
if (selection.isCollapsed) {
return; // default action OK if selection is empty
}
- const fragment = selection.getRangeAt(0).cloneContents();
+ var fragment = selection.getRangeAt(0).cloneContents();
if (!fragment.querySelector('.katex-mathml')) {
return; // default action OK if no .katex-mathml elements
} // Preserve usual HTML copy/paste behavior.
- const html = [];
+ var html = [];
- for (let i = 0; i < fragment.childNodes.length; i++) {
+ for (var i = 0; i < fragment.childNodes.length; i++) {
html.push(fragment.childNodes[i].outerHTML);
}