mirror of
https://github.com/oobabooga/text-generation-webui.git
synced 2026-03-06 05:33:50 +01:00
185 lines
8.3 KiB
JavaScript
185 lines
8.3 KiB
JavaScript
! function(e, t) {
|
|
"object" == typeof exports && "object" == typeof module ? module.exports = t(require("katex")) : "function" == typeof define && define.amd ? define(["katex"], t) : "object" == typeof exports ? exports.renderMathInElement = t(require("katex")) : e.renderMathInElement = t(e.katex)
|
|
}("undefined" != typeof self ? self : this, (function(e) {
|
|
return function() {
|
|
"use strict";
|
|
var t = {
|
|
771: function(t) {
|
|
t.exports = e
|
|
}
|
|
},
|
|
n = {};
|
|
|
|
function r(e) {
|
|
var o = n[e];
|
|
if (void 0 !== o) return o.exports;
|
|
var i = n[e] = {
|
|
exports: {}
|
|
};
|
|
return t[e](i, i.exports, r), i.exports
|
|
}
|
|
r.n = function(e) {
|
|
var t = e && e.__esModule ? function() {
|
|
return e.default
|
|
} : function() {
|
|
return e
|
|
};
|
|
return r.d(t, {
|
|
a: t
|
|
}), t
|
|
}, r.d = function(e, t) {
|
|
for (var n in t) r.o(t, n) && !r.o(e, n) && Object.defineProperty(e, n, {
|
|
enumerable: !0,
|
|
get: t[n]
|
|
})
|
|
}, r.o = function(e, t) {
|
|
return Object.prototype.hasOwnProperty.call(e, t)
|
|
};
|
|
var o = {};
|
|
return function() {
|
|
r.d(o, {
|
|
default: function() {
|
|
return d
|
|
}
|
|
});
|
|
var e = r(771),
|
|
t = r.n(e);
|
|
const n = function(e, t, n) {
|
|
let r = n,
|
|
o = 0;
|
|
const i = e.length;
|
|
for (; r < t.length;) {
|
|
const n = t[r];
|
|
if (o <= 0 && t.slice(r, r + i) === e) return r;
|
|
"\\" === n ? r++ : "{" === n ? o++ : "}" === n && o--, r++
|
|
}
|
|
return -1
|
|
},
|
|
i = /^\\begin{/;
|
|
var a = function(e, t) {
|
|
let r;
|
|
const o = [],
|
|
a = new RegExp("(" + t.map((e => e.left.replace(/[-/\\^$*+?.()|[\]{}]/g, "\\$&"))).join("|") + ")");
|
|
for (; r = e.search(a), -1 !== r;) {
|
|
const charAfterOpen = e[r + 1];
|
|
if (e[r] == "$" && charAfterOpen != "$") {
|
|
const closeDollarIndex = e.indexOf('$', r + 1);
|
|
if (closeDollarIndex != -1) {
|
|
const charBeforeOpen = r > 0 ? e[r - 1] : '';
|
|
const charBeforeClose = r + 1 < closeDollarIndex ? e[closeDollarIndex - 1] : '';
|
|
const charBeforeBeforeClose = r + 1 < closeDollarIndex ? e[closeDollarIndex - 2] : '';
|
|
const charAfterClose = closeDollarIndex + 1 < e.length ? e[closeDollarIndex + 1] : '';
|
|
if ((/[A-Za-z0-9_$-]/.test(charBeforeOpen)) || ((' ' == charBeforeClose) ||
|
|
/[0-9]/.test(charAfterOpen) &&
|
|
(/[A-Za-z0-9]/.test(charAfterClose)
|
|
|| '-' == charBeforeClose))) {
|
|
o.push({
|
|
type: "text",
|
|
data: e.slice(0, r + 1),
|
|
});
|
|
e = e.slice(r + 1); // now text starts after delimiter
|
|
continue;
|
|
}
|
|
}
|
|
}
|
|
r > 0 && (o.push({
|
|
type: "text",
|
|
data: e.slice(0, r)
|
|
}), e = e.slice(r));
|
|
const a = t.findIndex((t => e.startsWith(t.left)));
|
|
if (r = n(t[a].right, e, t[a].left.length), -1 === r) break;
|
|
const l = e.slice(0, r + t[a].right.length),
|
|
s = i.test(l) ? l : e.slice(t[a].left.length, r);
|
|
o.push({
|
|
type: "math",
|
|
data: s,
|
|
rawData: l,
|
|
display: t[a].display
|
|
}), e = e.slice(r + t[a].right.length)
|
|
}
|
|
return "" !== e && o.push({
|
|
type: "text",
|
|
data: e
|
|
}), o
|
|
};
|
|
const l = function(e, n) {
|
|
const r = a(e, n.delimiters);
|
|
if (1 === r.length && "text" === r[0].type) return null;
|
|
const o = document.createDocumentFragment();
|
|
for (let e = 0; e < r.length; e++)
|
|
if ("text" === r[e].type) o.appendChild(document.createTextNode(r[e].data));
|
|
else {
|
|
const i = document.createElement("span");
|
|
let a = r[e].data;
|
|
n.displayMode = r[e].display;
|
|
try {
|
|
n.preProcess && (a = n.preProcess(a)), t().render(a, i, n)
|
|
} catch (i) {
|
|
if (!(i instanceof t().ParseError)) throw i;
|
|
n.errorCallback("KaTeX auto-render: Failed to parse `" + r[e].data + "` with ", i), o.appendChild(document.createTextNode(r[e].rawData));
|
|
continue
|
|
}
|
|
o.appendChild(i)
|
|
}
|
|
return o
|
|
},
|
|
s = function(e, t) {
|
|
for (let n = 0; n < e.childNodes.length; n++) {
|
|
const r = e.childNodes[n];
|
|
if (3 === r.nodeType) {
|
|
let o = r.textContent,
|
|
i = r.nextSibling,
|
|
a = 0;
|
|
for (; i && i.nodeType === Node.TEXT_NODE;) o += i.textContent, i = i.nextSibling, a++;
|
|
const s = l(o, t);
|
|
if (s) {
|
|
for (let e = 0; e < a; e++) r.nextSibling.remove();
|
|
n += s.childNodes.length - 1, e.replaceChild(s, r)
|
|
} else n += a
|
|
} else if (1 === r.nodeType) {
|
|
const e = " " + r.className + " "; - 1 === t.ignoredTags.indexOf(r.nodeName.toLowerCase()) && t.ignoredClasses.every((t => -1 === e.indexOf(" " + t + " "))) && s(r, t)
|
|
}
|
|
}
|
|
};
|
|
var d = function(e, t) {
|
|
if (!e) throw new Error("No element provided to render");
|
|
const n = {};
|
|
for (const e in t) t.hasOwnProperty(e) && (n[e] = t[e]);
|
|
n.delimiters = n.delimiters || [{
|
|
left: "$$",
|
|
right: "$$",
|
|
display: !0
|
|
}, {
|
|
left: "\\(",
|
|
right: "\\)",
|
|
display: !1
|
|
}, {
|
|
left: "\\begin{equation}",
|
|
right: "\\end{equation}",
|
|
display: !0
|
|
}, {
|
|
left: "\\begin{align}",
|
|
right: "\\end{align}",
|
|
display: !0
|
|
}, {
|
|
left: "\\begin{alignat}",
|
|
right: "\\end{alignat}",
|
|
display: !0
|
|
}, {
|
|
left: "\\begin{gather}",
|
|
right: "\\end{gather}",
|
|
display: !0
|
|
}, {
|
|
left: "\\begin{CD}",
|
|
right: "\\end{CD}",
|
|
display: !0
|
|
}, {
|
|
left: "\\[",
|
|
right: "\\]",
|
|
display: !0
|
|
}], n.ignoredTags = n.ignoredTags || ["script", "noscript", "style", "textarea", "pre", "code", "option"], n.ignoredClasses = n.ignoredClasses || [], n.errorCallback = n.errorCallback || console.error, n.macros = n.macros || {}, s(e, n)
|
|
}
|
|
}(), o = o.default
|
|
}()
|
|
}));
|