MCPcopy Create free account
hub / github.com/TruthHun/BookStack / auto_render_renderMathInText

Function auto_render_renderMathInText

static/katex/contrib/auto-render.js:230–265  ·  view source on GitHub ↗
(text, optionsCopy)

Source from the content-addressed store, hash-verified

228
229
230var auto_render_renderMathInText = function renderMathInText(text, optionsCopy) {
231 var data = auto_render_splitWithDelimiters(text, optionsCopy.delimiters);
232 var fragment = document.createDocumentFragment();
233
234 for (var i = 0; i < data.length; i++) {
235 if (data[i].type === "text") {
236 fragment.appendChild(document.createTextNode(data[i].data));
237 } else {
238 var span = document.createElement("span");
239 var math = data[i].data; // Override any display mode defined in the settings with that
240 // defined by the text itself
241
242 optionsCopy.displayMode = data[i].display;
243
244 try {
245 if (optionsCopy.preProcess) {
246 math = optionsCopy.preProcess(math);
247 }
248
249 external_katex_default.a.render(math, span, optionsCopy);
250 } catch (e) {
251 if (!(e instanceof external_katex_default.a.ParseError)) {
252 throw e;
253 }
254
255 optionsCopy.errorCallback("KaTeX auto-render: Failed to parse `" + data[i].data + "` with ", e);
256 fragment.appendChild(document.createTextNode(data[i].rawData));
257 continue;
258 }
259
260 fragment.appendChild(span);
261 }
262 }
263
264 return fragment;
265};
266
267var renderElem = function renderElem(elem, optionsCopy) {
268 for (var i = 0; i < elem.childNodes.length; i++) {

Callers 1

renderElemFunction · 0.85

Calls 1

Tested by

no test coverage detected