UNPKG

mathpix-markdown-it

Version:

Mathpix-markdown-it is an open source implementation of the mathpix-markdown spec written in Typescript. It relies on the following open source libraries: MathJax v3 (to render math with SVGs), markdown-it (for standard Markdown parsing)

187 lines 7.96 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.rest_mmd_footnotes_list = exports.set_mmd_footnotes_list = exports.getFootnoteItem = exports.addFootnoteToListForBlFootnotetext = exports.addFootnoteToListForFootnotetext = exports.addFootnoteToListForFootnote = void 0; var tslib_1 = require("tslib"); var mmd_footnotes_list = []; var addFootnoteToListForFootnote = function (state, token, tokens, envText, numbered, isBlock) { if (isBlock === void 0) { isBlock = false; } try { var footnoteId = state.env.mmd_footnotes.list.length; var listNotNumbered = state.env.mmd_footnotes.list.filter(function (item) { return (!(item.hasOwnProperty('numbered') && item.numbered !== undefined) && item.type !== "footnotetext" && item.type !== "blfootnotetext"); }); var lastNumber = listNotNumbered.length; token.meta = { id: footnoteId, numbered: numbered, type: 'footnote', lastNumber: lastNumber, isBlock: isBlock, footnoteId: footnoteId, nonumbers: false }; state.env.mmd_footnotes.list[footnoteId] = { id: footnoteId, footnoteId: footnoteId, content: envText, tokens: tokens, numbered: numbered, type: 'footnote', lastNumber: lastNumber, isBlock: isBlock, nonumbers: false }; } catch (err) { console.log("[MMD][addFootnoteToListForFootnote] Error=>", err); } }; exports.addFootnoteToListForFootnote = addFootnoteToListForFootnote; var addFootnoteToListForFootnotetext = function (state, token, tokens, envText, numbered, isBlock) { var _a, _b; if (isBlock === void 0) { isBlock = false; } try { var footnoteId = state.env.mmd_footnotes.list.length; var listNotNumbered = state.env.mmd_footnotes.list.filter(function (item) { return (!(item.hasOwnProperty('numbered') && item.numbered !== undefined) && item.type !== "footnotetext" && item.type !== "blfootnotetext"); }); var lastNumber = listNotNumbered.length; var listFootnoteMark = ((_b = (_a = state.env.mmd_footnotes) === null || _a === void 0 ? void 0 : _a.list) === null || _b === void 0 ? void 0 : _b.length) ? state.env.mmd_footnotes.list.filter(function (item) { return item.type === 'footnotemark'; }) : []; var lastItem = null; if (listFootnoteMark === null || listFootnoteMark === void 0 ? void 0 : listFootnoteMark.length) { if (numbered) { var numberedList = listFootnoteMark.filter(function (item) { return item.numbered === numbered; }); lastItem = (numberedList === null || numberedList === void 0 ? void 0 : numberedList.length) ? numberedList[numberedList.length - 1] : null; } else { var unNumberedList = listFootnoteMark.filter(function (item) { return item.numbered === undefined; }); lastItem = (unNumberedList === null || unNumberedList === void 0 ? void 0 : unNumberedList.length) ? unNumberedList[unNumberedList.length - 1] : null; } } var nonumbers = lastNumber === 0 && numbered === undefined; token.meta = { numbered: numbered, isBlock: isBlock, nonumbers: nonumbers }; if (lastItem) { if (lastItem.hasContent) { state.env.mmd_footnotes.list[footnoteId] = { id: footnoteId, content: envText, tokens: tokens, numbered: numbered, type: 'footnotetext', footnoteId: -1, lastNumber: lastNumber, isBlock: isBlock, nonumbers: nonumbers, }; token.meta.footnoteId = -1; token.meta.id = footnoteId; } else { state.env.mmd_footnotes.list[footnoteId] = { id: footnoteId, content: envText, tokens: tokens, numbered: numbered, type: 'footnotetext', footnoteId: -1, lastNumber: lastNumber, isBlock: isBlock, nonumbers: nonumbers, markerId: lastItem.footnoteId }; token.meta.footnoteId = -1; token.meta.id = footnoteId; token.meta.markerId = lastItem.footnoteId; state.env.mmd_footnotes.list[lastItem.footnoteId].textId = footnoteId; state.env.mmd_footnotes.list[lastItem.footnoteId].hasContent = true; } } else { state.env.mmd_footnotes.list[footnoteId] = { id: footnoteId, content: envText, tokens: tokens, numbered: numbered, type: 'footnotetext', footnoteId: -1, lastNumber: lastNumber, isBlock: isBlock, nonumbers: nonumbers }; token.meta.footnoteId = -1; token.meta.id = footnoteId; } } catch (err) { console.log("[MMD][addFootnoteToListForFootnotetext] Error=>", err); } }; exports.addFootnoteToListForFootnotetext = addFootnoteToListForFootnotetext; var addFootnoteToListForBlFootnotetext = function (state, token, tokens, envText, isBlock) { if (isBlock === void 0) { isBlock = false; } try { var footnoteId = state.env.mmd_footnotes.list.length; var listNotNumbered = state.env.mmd_footnotes.list.filter(function (item) { return (!(item.hasOwnProperty('numbered') && item.numbered !== undefined) && item.type !== "footnotetext" && item.type !== "blfootnotetext"); }); var lastNumber = listNotNumbered.length; token.meta = { isBlock: isBlock, nonumbers: true }; state.env.mmd_footnotes.list[footnoteId] = { id: footnoteId, content: envText, tokens: tokens, type: 'blfootnotetext', footnoteId: -1, lastNumber: lastNumber, isBlock: isBlock, nonumbers: true }; token.meta.footnoteId = -1; token.meta.id = footnoteId; } catch (err) { console.log("[MMD][addFootnoteToListForBlFootnotetext] Error=>", err); } }; exports.addFootnoteToListForBlFootnotetext = addFootnoteToListForBlFootnotetext; var getFootnoteItem = function (env, meta) { var _a, _b; var id = meta.hasOwnProperty('footnoteId') && meta.footnoteId !== undefined && meta.footnoteId !== -1 ? meta.footnoteId : meta.id; if ((_b = (_a = env === null || env === void 0 ? void 0 : env.mmd_footnotes) === null || _a === void 0 ? void 0 : _a.list) === null || _b === void 0 ? void 0 : _b.length) { return env.mmd_footnotes.list.length > id ? env.mmd_footnotes.list[id] : null; } if (mmd_footnotes_list === null || mmd_footnotes_list === void 0 ? void 0 : mmd_footnotes_list.length) { return mmd_footnotes_list.length > id ? mmd_footnotes_list[id] : null; } return null; }; exports.getFootnoteItem = getFootnoteItem; var set_mmd_footnotes_list = function (list) { mmd_footnotes_list = tslib_1.__spreadArray([], tslib_1.__read(list), false); }; exports.set_mmd_footnotes_list = set_mmd_footnotes_list; var rest_mmd_footnotes_list = function () { mmd_footnotes_list = []; }; exports.rest_mmd_footnotes_list = rest_mmd_footnotes_list; //# sourceMappingURL=utils.js.map