UNPKG

thebe-core

Version:

Typescript based core functionality for Thebe

57 lines 2.13 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.makeRenderMimeRegistry = exports.getRenderers = void 0; const rendermime_1 = require("@jupyterlab/rendermime"); const mathjax2_1 = require("@jupyterlab/mathjax2"); const javascript_extension_1 = require("@jupyterlab/javascript-extension"); const json_extension_1 = require("@jupyterlab/json-extension"); const options_1 = require("./options"); const EXTENDED_FACTORIES = [ rendermime_1.htmlRendererFactory, rendermime_1.markdownRendererFactory, rendermime_1.latexRendererFactory, rendermime_1.svgRendererFactory, rendermime_1.imageRendererFactory, javascript_extension_1.rendererFactory, rendermime_1.textRendererFactory, rendermime_1.errorRendererFactory, ]; let RENDERERS = null; function getRenderers(mathjax) { if (RENDERERS == null) { RENDERERS = EXTENDED_FACTORIES.filter((f) => { // filter out latex renderer if mathjax is unavailable if (f.mimeTypes.indexOf('text/latex') >= 0) { if (mathjax.mathjaxUrl) { return true; } else { console.debug('thebe:getRenderers MathJax unavailable'); return false; } } else { return true; } }); } let latexTypesetter; if (mathjax.mathjaxUrl && mathjax.mathjaxConfig) { latexTypesetter = new mathjax2_1.MathJaxTypesetter({ url: mathjax.mathjaxUrl, config: mathjax.mathjaxConfig, }); } return { initialFactories: [...RENDERERS], latexTypesetter, }; } exports.getRenderers = getRenderers; function makeRenderMimeRegistry(mathjax) { const rendermime = new rendermime_1.RenderMimeRegistry(getRenderers(mathjax !== null && mathjax !== void 0 ? mathjax : (0, options_1.makeMathjaxOptions)())); rendermime.addFactory(json_extension_1.rendererFactory, 10); return rendermime; } exports.makeRenderMimeRegistry = makeRenderMimeRegistry; //# sourceMappingURL=rendermime.js.map