UNPKG

js-markdown

Version:
49 lines (42 loc) 1.17 kB
/** * match a superscript to display footnote number * * syntax like this: * * see footnote1 [^footnote1] * [^footnote1]: this is a footnote. * */ 'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; function parse(str, children, renderTree) { var result = str.match(/^\[\^(.*?)\]/); if (!result) { return; } for (var i = 0, len = renderTree.footnotes.length; i < len; i++) { if (renderTree.footnotes[i].key === result[1]) { // if one footnote is not used, it will be ignored and not rendered renderTree.footnotes[i].activated = true; return [{ type: 'Superscript', index: i + 1, rawValue: '' }, result[0].length]; } } return; } function render() { var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; var node = arguments.length > 1 ? arguments[1] : undefined; return "<sup id=\"fnref".concat(node.index, "\">[<a href=\"#fn").concat(node.index, "\" rel=\"footnote\">").concat(node.index, "</a>]</sup>"); } var _default = { parse: parse, render: render }; exports["default"] = _default;