highmark-markdown 0.0.402 → 0.0.404
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/example.js +49 -34
- package/lib/example/view.js +4 -6
- package/lib/markdown/bnf.js +2 -2
- package/lib/node/markdown/division.js +4 -4
- package/lib/node/markdown.js +4 -4
- package/lib/replacement/subDivision/pageNumberDirective.js +33 -2
- package/lib/replacement/subDivision.js +4 -11
- package/lib/utilities/markdown.js +2 -2
- package/lib/utilities/query.js +2 -2
- package/package.json +1 -1
- package/src/example/view.js +8 -17
- package/src/markdown/bnf.js +1 -9
- package/src/node/markdown/division.js +5 -5
- package/src/node/markdown.js +2 -2
- package/src/replacement/subDivision/pageNumberDirective.js +6 -0
- package/src/replacement/subDivision.js +3 -8
- package/src/utilities/markdown.js +1 -1
- package/src/utilities/query.js +1 -1
|
@@ -22,7 +22,7 @@ function postprocess(divisionMarkdownNode, context) {
|
|
|
22
22
|
var divisionMarkdownNodes = resolveIncludes(divisionMarkdownNode, context);
|
|
23
23
|
resolveEmbeddings(divisionMarkdownNodes, context);
|
|
24
24
|
paginateAndFootnotes(divisionMarkdownNodes, context);
|
|
25
|
-
createContents(divisionMarkdownNodes, context);
|
|
25
|
+
// createContents(divisionMarkdownNodes, context);
|
|
26
26
|
return divisionMarkdownNodes;
|
|
27
27
|
}
|
|
28
28
|
function createContents(divisionMarkdownNodes, context) {
|
|
@@ -84,4 +84,4 @@ var _default = {
|
|
|
84
84
|
postprocess: postprocess
|
|
85
85
|
};
|
|
86
86
|
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbWFya2Rvd24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGFycmF5VXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5jb25zdCB7IGNsZWFyLCBwdXNoIH0gPSBhcnJheVV0aWxpdGllcztcblxuZXhwb3J0IGZ1bmN0aW9uIHBvc3Rwcm9jZXNzKGRpdmlzaW9uTWFya2Rvd25Ob2RlLCBjb250ZXh0KSB7XG4gIGNvbnN0IGRpdmlzaW9uTWFya2Rvd25Ob2RlcyA9IHJlc29sdmVJbmNsdWRlcyhkaXZpc2lvbk1hcmtkb3duTm9kZSwgY29udGV4dCk7XG5cbiAgcmVzb2x2ZUVtYmVkZGluZ3MoZGl2aXNpb25NYXJrZG93bk5vZGVzLCBjb250ZXh0KTtcblxuICBwYWdpbmF0ZUFuZEZvb3Rub3RlcyhkaXZpc2lvbk1hcmtkb3duTm9kZXMsIGNvbnRleHQpO1xuXG4gIC8vIGNyZWF0ZUNvbnRlbnRzKGRpdmlzaW9uTWFya2Rvd25Ob2RlcywgY29udGV4dCk7XG5cbiAgcmV0dXJuIGRpdmlzaW9uTWFya2Rvd25Ob2Rlcztcbn1cblxuZnVuY3Rpb24gY3JlYXRlQ29udGVudHMoZGl2aXNpb25NYXJrZG93bk5vZGVzLCBjb250ZXh0KSB7XG4gIGRpdmlzaW9uTWFya2Rvd25Ob2Rlcy5zb21lKChkaXZpc2lvbk1hcmtkb3duTm9kZSkgPT4ge1xuICAgIGNvbnN0IGNvbnRlbnRzQ3JlYXRlZCA9IGRpdmlzaW9uTWFya2Rvd25Ob2RlLmNyZWF0ZUNvbnRlbnRzKGRpdmlzaW9uTWFya2Rvd25Ob2RlcywgY29udGV4dCk7XG5cbiAgICBpZiAoY29udGVudHNDcmVhdGVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xufVxuXG5mdW5jdGlvbiByZXNvbHZlSW5jbHVkZXMoZGl2aXNpb25NYXJrZG93bk5vZGUsIGNvbnRleHQpIHtcbiAgY29uc3QgZGl2aXNpb25NYXJrZG93bk5vZGVzID0gW10sXG4gICAgICAgIGRpdmlzaW9uTWFya2Rvd25Ob2RlSWdub3JlZCA9IGRpdmlzaW9uTWFya2Rvd25Ob2RlLmlzSWdub3JlZCgpO1xuXG4gIGlmICghZGl2aXNpb25NYXJrZG93bk5vZGVJZ25vcmVkKSB7XG4gICAgZGl2aXNpb25NYXJrZG93bk5vZGVzLnB1c2goZGl2aXNpb25NYXJrZG93bk5vZGUpO1xuICB9XG5cbiAgT2JqZWN0LmFzc2lnbihjb250ZXh0LCB7XG4gICAgZGl2aXNpb25NYXJrZG93bk5vZGVzXG4gIH0pO1xuXG4gIGRpdmlzaW9uTWFya2Rvd25Ob2RlLnJlc29sdmVJbmNsdWRlcyhjb250ZXh0KTtcblxuICBkZWxldGUgY29udGV4dC5kaXZpc2lvbk1hcmtkb3duTm9kZXM7XG5cbiAgcmV0dXJuIGRpdmlzaW9uTWFya2Rvd25Ob2Rlcztcbn1cblxuZnVuY3Rpb24gcmVzb2x2ZUVtYmVkZGluZ3MoZGl2aXNpb25NYXJrZG93bk5vZGVzLCBjb250ZXh0KSB7XG4gIGRpdmlzaW9uTWFya2Rvd25Ob2Rlcy5mb3JFYWNoKChkaXZpc2lvbk1hcmtkb3duTm9kZSkgPT4ge1xuICAgIGRpdmlzaW9uTWFya2Rvd25Ob2RlLnJlc29sdmVFbWJlZGRpbmdzKGNvbnRleHQpO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gcGFnaW5hdGVBbmRGb290bm90ZXMoZGl2aXNpb25NYXJrZG93bk5vZGVzLCBjb250ZXh0KSB7XG4gIGNvbnN0IHsgbGluZXNQZXJQYWdlID0gbnVsbCB9ID0gY29udGV4dDtcblxuICBjb25zdCBmb290bm90ZU51bWJlck1hcCA9IHt9O1xuXG4gIE9iamVjdC5hc3NpZ24oY29udGV4dCwge1xuICAgIGZvb3Rub3RlTnVtYmVyTWFwXG4gIH0pO1xuXG4gIGxldCBwYWdlTnVtYmVyID0gMTtcblxuICBpZiAobGluZXNQZXJQYWdlID09PSBudWxsKSB7XG4gICAgZGl2aXNpb25NYXJrZG93bk5vZGVzLmZvckVhY2goKGRpdmlzaW9uTWFya2Rvd25Ob2RlKSA9PiB7XG4gICAgICBjb25zdCBmb290bm90ZVJlcGxhY2VtZW50cyA9IGRpdmlzaW9uTWFya2Rvd25Ob2RlLnByZXBhcmVGb290bm90ZXMoY29udGV4dCk7XG5cbiAgICAgIGRpdmlzaW9uTWFya2Rvd25Ob2RlLnNldFBhZ2VOdW1iZXIocGFnZU51bWJlcik7XG5cbiAgICAgIGRpdmlzaW9uTWFya2Rvd25Ob2RlLmNyZWF0ZUZvb3Rub3Rlcyhmb290bm90ZVJlcGxhY2VtZW50cywgY29udGV4dCk7XG5cbiAgICAgIHBhZ2VOdW1iZXIrKztcbiAgICB9KTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBwYWdpbmF0ZWREaXZpc2lvbk1hcmtkb3duTm9kZXMgPSBbXTtcblxuICAgIGRpdmlzaW9uTWFya2Rvd25Ob2Rlcy5mb3JFYWNoKChkaXZpc2lvbk1hcmtkb3duTm9kZSkgPT4ge1xuICAgICAgY29uc3QgZm9vdG5vdGVSZXBsYWNlbWVudHMgPSBkaXZpc2lvbk1hcmtkb3duTm9kZS5wcmVwYXJlRm9vdG5vdGVzKGNvbnRleHQpLFxuICAgICAgICAgICAgZGl2aXNpb25NYXJrZG93bk5vZGVzID0gZGl2aXNpb25NYXJrZG93bk5vZGUucGFnaW5hdGUoY29udGV4dCk7XG5cbiAgICAgIGRpdmlzaW9uTWFya2Rvd25Ob2Rlcy5mb3JFYWNoKChkaXZpc2lvbk1hcmtkb3duTm9kZSkgPT4ge1xuICAgICAgICBkaXZpc2lvbk1hcmtkb3duTm9kZS5zZXRQYWdlTnVtYmVyKHBhZ2VOdW1iZXIpO1xuXG4gICAgICAgIGRpdmlzaW9uTWFya2Rvd25Ob2RlLmNyZWF0ZUZvb3Rub3Rlcyhmb290bm90ZVJlcGxhY2VtZW50cywgY29udGV4dCk7XG5cbiAgICAgICAgcGFnZU51bWJlcisrO1xuICAgICAgfSk7XG5cbiAgICAgIHB1c2gocGFnaW5hdGVkRGl2aXNpb25NYXJrZG93bk5vZGVzLCBkaXZpc2lvbk1hcmtkb3duTm9kZXMpO1xuICAgIH0pO1xuXG4gICAgY2xlYXIoZGl2aXNpb25NYXJrZG93bk5vZGVzKTtcblxuICAgIHB1c2goZGl2aXNpb25NYXJrZG93bk5vZGVzLCBwYWdpbmF0ZWREaXZpc2lvbk1hcmtkb3duTm9kZXMpO1xuICB9XG5cbiAgZGVsZXRlIGNvbnRleHQuZm9vdG5vdGVOdW1iZXJNYXA7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgcG9zdHByb2Nlc3Ncbn07XG4iXSwibmFtZXMiOlsicG9zdHByb2Nlc3MiLCJjbGVhciIsImFycmF5VXRpbGl0aWVzIiwicHVzaCIsImRpdmlzaW9uTWFya2Rvd25Ob2RlIiwiY29udGV4dCIsImRpdmlzaW9uTWFya2Rvd25Ob2RlcyIsInJlc29sdmVJbmNsdWRlcyIsInJlc29sdmVFbWJlZGRpbmdzIiwicGFnaW5hdGVBbmRGb290bm90ZXMiLCJjcmVhdGVDb250ZW50cyIsInNvbWUiLCJjb250ZW50c0NyZWF0ZWQiLCJkaXZpc2lvbk1hcmtkb3duTm9kZUlnbm9yZWQiLCJpc0lnbm9yZWQiLCJPYmplY3QiLCJhc3NpZ24iLCJmb3JFYWNoIiwibGluZXNQZXJQYWdlIiwiZm9vdG5vdGVOdW1iZXJNYXAiLCJwYWdlTnVtYmVyIiwiZm9vdG5vdGVSZXBsYWNlbWVudHMiLCJwcmVwYXJlRm9vdG5vdGVzIiwic2V0UGFnZU51bWJlciIsImNyZWF0ZUZvb3Rub3RlcyIsInBhZ2luYXRlZERpdmlzaW9uTWFya2Rvd25Ob2RlcyIsInBhZ2luYXRlIl0sInJhbmdlTWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsiLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBb0dBLE9BRUU7ZUFGRjs7SUE5RmdCQSxXQUFXO2VBQVhBOzs7eUJBSmU7QUFFL0IsSUFBUUMsUUFBZ0JDLHlCQUFjLENBQTlCRCxPQUFPRSxPQUFTRCx5QkFBYyxDQUF2QkM7QUFFUixTQUFTSCxZQUFZSSxvQkFBb0IsRUFBRUMsT0FBTztJQUN2RCxJQUFNQyx3QkFBd0JDLGdCQUFnQkgsc0JBQXNCQztJQUVwRUcsa0JBQWtCRix1QkFBdUJEO0lBRXpDSSxxQkFBcUJILHVCQUF1QkQ7SUFFNUMsa0RBQWtEO0lBRWxELE9BQU9DO0FBQ1Q7QUFFQSxTQUFTSSxlQUFlSixxQkFBcUIsRUFBRUQsT0FBTztJQUNwREMsc0JBQXNCSyxJQUFJLENBQUMsU0FBQ1A7UUFDMUIsSUFBTVEsa0JBQWtCUixxQkFBcUJNLGNBQWMsQ0FBQ0osdUJBQXVCRDtRQUVuRixJQUFJTyxpQkFBaUI7WUFDbkIsT0FBTztRQUNUO0lBQ0Y7QUFDRjtBQUVBLFNBQVNMLGdCQUFnQkgsb0JBQW9CLEVBQUVDLE9BQU87SUFDcEQsSUFBTUMsd0JBQXdCLEVBQUUsRUFDMUJPLDhCQUE4QlQscUJBQXFCVSxTQUFTO0lBRWxFLElBQUksQ0FBQ0QsNkJBQTZCO1FBQ2hDUCxzQkFBc0JILElBQUksQ0FBQ0M7SUFDN0I7SUFFQVcsT0FBT0MsTUFBTSxDQUFDWCxTQUFTO1FBQ3JCQyx1QkFBQUE7SUFDRjtJQUVBRixxQkFBcUJHLGVBQWUsQ0FBQ0Y7SUFFckMsT0FBT0EsUUFBUUMscUJBQXFCO0lBRXBDLE9BQU9BO0FBQ1Q7QUFFQSxTQUFTRSxrQkFBa0JGLHFCQUFxQixFQUFFRCxPQUFPO0lBQ3ZEQyxzQkFBc0JXLE9BQU8sQ0FBQyxTQUFDYjtRQUM3QkEscUJBQXFCSSxpQkFBaUIsQ0FBQ0g7SUFDekM7QUFDRjtBQUVBLFNBQVNJLHFCQUFxQkgscUJBQXFCLEVBQUVELE9BQU87SUFDMUQsNEJBQWdDQSxRQUF4QmEsY0FBQUEsa0RBQWU7SUFFdkIsSUFBTUMsb0JBQW9CLENBQUM7SUFFM0JKLE9BQU9DLE1BQU0sQ0FBQ1gsU0FBUztRQUNyQmMsbUJBQUFBO0lBQ0Y7SUFFQSxJQUFJQyxhQUFhO0lBRWpCLElBQUlGLGlCQUFpQixNQUFNO1FBQ3pCWixzQkFBc0JXLE9BQU8sQ0FBQyxTQUFDYjtZQUM3QixJQUFNaUIsdUJBQXVCakIscUJBQXFCa0IsZ0JBQWdCLENBQUNqQjtZQUVuRUQscUJBQXFCbUIsYUFBYSxDQUFDSDtZQUVuQ2hCLHFCQUFxQm9CLGVBQWUsQ0FBQ0gsc0JBQXNCaEI7WUFFM0RlO1FBQ0Y7SUFDRixPQUFPO1FBQ0wsSUFBTUssaUNBQWlDLEVBQUU7UUFFekNuQixzQkFBc0JXLE9BQU8sQ0FBQyxTQUFDYjtZQUM3QixJQUFNaUIsdUJBQXVCakIscUJBQXFCa0IsZ0JBQWdCLENBQUNqQixVQUM3REMsMEJBQXdCRixxQkFBcUJzQixRQUFRLENBQUNyQjtZQUU1REMsd0JBQXNCVyxPQUFPLENBQUMsU0FBQ2I7Z0JBQzdCQSxxQkFBcUJtQixhQUFhLENBQUNIO2dCQUVuQ2hCLHFCQUFxQm9CLGVBQWUsQ0FBQ0gsc0JBQXNCaEI7Z0JBRTNEZTtZQUNGO1lBRUFqQixLQUFLc0IsZ0NBQWdDbkI7UUFDdkM7UUFFQUwsTUFBTUs7UUFFTkgsS0FBS0csdUJBQXVCbUI7SUFDOUI7SUFFQSxPQUFPcEIsUUFBUWMsaUJBQWlCO0FBQ2xDO0lBRUEsV0FBZTtJQUNibkIsYUFBQUE7QUFDRiJ9
|
package/lib/utilities/query.js
CHANGED
|
@@ -55,7 +55,7 @@ _export(exports, {
|
|
|
55
55
|
var _occamquery = require("occam-query");
|
|
56
56
|
var _necessary = require("necessary");
|
|
57
57
|
var first = _necessary.arrayUtilities.first, push = _necessary.arrayUtilities.push;
|
|
58
|
-
var footnoteMarkdownNodeQuery = _occamquery.Query.fromExpression("
|
|
58
|
+
var footnoteMarkdownNodeQuery = _occamquery.Query.fromExpression("/*/footnote"), ignoreDirectiveMarkdownNodeQuery = _occamquery.Query.fromExpression("//directives/ignoreDirective"), contentsDirectiveMarkdownNodeQuery = _occamquery.Query.fromExpression("//directives/contentsDirective"), footnotesDirectiveMarkdownNodeQuery = _occamquery.Query.fromExpression("//directives/footnotesDirective"), pageNumberDirectiveMarkdownNodeQuery = _occamquery.Query.fromExpression("//directives/pageNumber"), linkMarkdownNodesQuery = _occamquery.Query.fromExpression("//link"), headingMarkdownNodesQuery = _occamquery.Query.fromExpression("//primaryHeading|secondaryHeading|tertiaryHeading|quaternaryHeading"), subDivisionMarkdownNodesQuery = _occamquery.Query.fromExpression("//subDivision"), embedDirectiveMarkdownNodesQuery = _occamquery.Query.fromExpression("//directives/embedDirective"), includeDirectiveMarkdownNodesQuery = _occamquery.Query.fromExpression("//directives/includeDirective"), linkFootnoteOrFootnotesDirectiveMarkdownNodesQuery = _occamquery.Query.fromExpression("//link|footnote|footnotesDirective");
|
|
59
59
|
function nodeQuery(expression) {
|
|
60
60
|
var query = _occamquery.Query.fromExpression(expression);
|
|
61
61
|
return function(node) {
|
|
@@ -155,4 +155,4 @@ function nodesFromNodeAndQuery(node, query, nodes) {
|
|
|
155
155
|
return nodes;
|
|
156
156
|
}
|
|
157
157
|
|
|
158
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcXVlcnkuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IFF1ZXJ5IH0gZnJvbSBcIm9jY2FtLXF1ZXJ5XCI7XG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuY29uc3QgeyBmaXJzdCwgcHVzaCB9ID0gYXJyYXlVdGlsaXRpZXM7XG5cbmNvbnN0IGZvb3Rub3RlTWFya2Rvd25Ob2RlUXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvbihcIi8vZm9vdG5vdGVcIiksXG4gICAgICBpZ25vcmVEaXJlY3RpdmVNYXJrZG93bk5vZGVRdWVyeSA9IFF1ZXJ5LmZyb21FeHByZXNzaW9uKFwiLy9kaXJlY3RpdmVzL2lnbm9yZURpcmVjdGl2ZVwiKSxcbiAgICAgIGNvbnRlbnRzRGlyZWN0aXZlTWFya2Rvd25Ob2RlUXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvbihcIi8vZGlyZWN0aXZlcy9jb250ZW50c0RpcmVjdGl2ZVwiKSxcbiAgICAgIGZvb3Rub3Rlc0RpcmVjdGl2ZU1hcmtkb3duTm9kZVF1ZXJ5ID0gUXVlcnkuZnJvbUV4cHJlc3Npb24oXCIvL2RpcmVjdGl2ZXMvZm9vdG5vdGVzRGlyZWN0aXZlXCIpLFxuICAgICAgcGFnZU51bWJlckRpcmVjdGl2ZU1hcmtkb3duTm9kZVF1ZXJ5ID0gUXVlcnkuZnJvbUV4cHJlc3Npb24oXCIvL2RpcmVjdGl2ZXMvcGFnZU51bWJlclwiKSxcbiAgICAgIGxpbmtNYXJrZG93bk5vZGVzUXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvbihcIi8vbGlua1wiKSxcbiAgICAgIGhlYWRpbmdNYXJrZG93bk5vZGVzUXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvbihcIi8vcHJpbWFyeUhlYWRpbmd8c2Vjb25kYXJ5SGVhZGluZ3x0ZXJ0aWFyeUhlYWRpbmd8cXVhdGVybmFyeUhlYWRpbmdcIiksXG4gICAgICBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXNRdWVyeSA9IFF1ZXJ5LmZyb21FeHByZXNzaW9uKFwiLy9zdWJEaXZpc2lvblwiKSxcbiAgICAgIGVtYmVkRGlyZWN0aXZlTWFya2Rvd25Ob2Rlc1F1ZXJ5ID0gUXVlcnkuZnJvbUV4cHJlc3Npb24oXCIvL2RpcmVjdGl2ZXMvZW1iZWREaXJlY3RpdmVcIiksXG4gICAgICBpbmNsdWRlRGlyZWN0aXZlTWFya2Rvd25Ob2Rlc1F1ZXJ5ID0gUXVlcnkuZnJvbUV4cHJlc3Npb24oXCIvL2RpcmVjdGl2ZXMvaW5jbHVkZURpcmVjdGl2ZVwiKSxcbiAgICAgIGxpbmtGb290bm90ZU9yRm9vdG5vdGVzRGlyZWN0aXZlTWFya2Rvd25Ob2Rlc1F1ZXJ5ID0gUXVlcnkuZnJvbUV4cHJlc3Npb24oXCIvL2xpbmt8Zm9vdG5vdGV8Zm9vdG5vdGVzRGlyZWN0aXZlXCIpO1xuXG5leHBvcnQgZnVuY3Rpb24gbm9kZVF1ZXJ5KGV4cHJlc3Npb24pIHtcbiAgY29uc3QgcXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvbihleHByZXNzaW9uKTtcblxuICByZXR1cm4gZnVuY3Rpb24obm9kZSkge1xuICAgIGNvbnN0IG5vZGVzID0gcXVlcnkuZXhlY3V0ZShub2RlKSxcbiAgICAgICAgICBub2Rlc0xlbmd0aCA9IG5vZGVzLmxlbmd0aDtcblxuICAgIGlmIChub2Rlc0xlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGZpcnN0Tm9kZSA9IGZpcnN0KG5vZGVzKTtcblxuICAgICAgbm9kZSA9IGZpcnN0Tm9kZTsgLy8vXG4gICAgfSBlbHNlIHtcbiAgICAgIG5vZGUgPSBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiBub2RlO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub2Rlc1F1ZXJ5KGV4cHJlc3Npb24pIHtcbiAgY29uc3QgcXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvbihleHByZXNzaW9uKTtcblxuICByZXR1cm4gZnVuY3Rpb24obm9kZSkge1xuICAgIGNvbnN0IG5vZGVzID0gcXVlcnkuZXhlY3V0ZShub2RlKTtcblxuICAgIHJldHVybiBub2RlcztcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9vdG5vdGVNYXJrZG93bk5vZGVGcm9tTm9kZShub2RlKSB7XG4gIGNvbnN0IGZvb3Rub3RlTWFya2Rvd25Ob2RlID0gbm9kZUZyb21Ob2RlQW5kUXVlcnkobm9kZSwgZm9vdG5vdGVNYXJrZG93bk5vZGVRdWVyeSk7XG5cbiAgcmV0dXJuIGZvb3Rub3RlTWFya2Rvd25Ob2RlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaWdub3JlRGlyZWN0aXZlTWFya2Rvd25Ob2RlRnJvbU5vZGUobm9kZSkge1xuICBjb25zdCBpZ25vcmVEaXJlY3RpdmVNYXJrZG93bk5vZGUgPSBub2RlRnJvbU5vZGVBbmRRdWVyeShub2RlLCBpZ25vcmVEaXJlY3RpdmVNYXJrZG93bk5vZGVRdWVyeSk7XG5cbiAgcmV0dXJuIGlnbm9yZURpcmVjdGl2ZU1hcmtkb3duTm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbnRlbnRzRGlyZWN0aXZlTWFya2Rvd25Ob2RlRnJvbU5vZGUobm9kZSkge1xuICBjb25zdCBjb250ZW50c0RpcmVjdGl2ZU1hcmtkb3duTm9kZSA9IG5vZGVGcm9tTm9kZUFuZFF1ZXJ5KG5vZGUsIGNvbnRlbnRzRGlyZWN0aXZlTWFya2Rvd25Ob2RlUXVlcnkpO1xuXG4gIHJldHVybiBjb250ZW50c0RpcmVjdGl2ZU1hcmtkb3duTm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZvb3Rub3Rlc0RpcmVjdGl2ZU1hcmtkb3duTm9kZUZyb21Ob2RlKG5vZGUpIHtcbiAgY29uc3QgZm9vdG5vdGVzRGlyZWN0aXZlTWFya2Rvd25Ob2RlID0gbm9kZUZyb21Ob2RlQW5kUXVlcnkobm9kZSwgZm9vdG5vdGVzRGlyZWN0aXZlTWFya2Rvd25Ob2RlUXVlcnkpO1xuXG4gIHJldHVybiBmb290bm90ZXNEaXJlY3RpdmVNYXJrZG93bk5vZGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYWdlTnVtYmVyRGlyZWN0aXZlTWFya2Rvd25Ob2RlRnJvbU5vZGUobm9kZSkge1xuICBjb25zdCBwYWdlTnVtYmVyRGlyZWN0aXZlTWFya2Rvd25Ob2RlID0gbm9kZUZyb21Ob2RlQW5kUXVlcnkobm9kZSwgcGFnZU51bWJlckRpcmVjdGl2ZU1hcmtkb3duTm9kZVF1ZXJ5KTtcblxuICByZXR1cm4gcGFnZU51bWJlckRpcmVjdGl2ZU1hcmtkb3duTm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxpbmtNYXJrZG93bk5vZGVzRnJvbU5vZGUobm9kZSwgbGlua01hcmtkb3duTm9kZXMgPSBbXSkge1xuICBub2Rlc0Zyb21Ob2RlQW5kUXVlcnkobm9kZSwgbGlua01hcmtkb3duTm9kZXNRdWVyeSwgbGlua01hcmtkb3duTm9kZXMpO1xuXG4gIHJldHVybiBsaW5rTWFya2Rvd25Ob2Rlcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhlYWRpbmdNYXJrZG93bk5vZGVzRnJvbU5vZGUobm9kZSwgaGVhZGluZ01hcmtkb3duTm9kZXMgPSBbXSkge1xuICBub2Rlc0Zyb21Ob2RlQW5kUXVlcnkobm9kZSwgaGVhZGluZ01hcmtkb3duTm9kZXNRdWVyeSwgaGVhZGluZ01hcmtkb3duTm9kZXMpO1xuXG4gIHJldHVybiBoZWFkaW5nTWFya2Rvd25Ob2Rlcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN1YkRpdmlzaW9uTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlKG5vZGUsIHN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlcyA9IFtdKSB7XG4gIG5vZGVzRnJvbU5vZGVBbmRRdWVyeShub2RlLCBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXNRdWVyeSwgc3ViRGl2aXNpb25NYXJrZG93bk5vZGVzKTtcblxuICByZXR1cm4gc3ViRGl2aXNpb25NYXJrZG93bk5vZGVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZW1iZWREaXJlY3RpdmVNYXJrZG93bk5vZGVzRnJvbU5vZGUobm9kZSwgZW1iZWREaXJlY3RpdmVNYXJrZG93bk5vZGVzID0gW10pIHtcbiAgbm9kZXNGcm9tTm9kZUFuZFF1ZXJ5KG5vZGUsIGVtYmVkRGlyZWN0aXZlTWFya2Rvd25Ob2Rlc1F1ZXJ5LCBlbWJlZERpcmVjdGl2ZU1hcmtkb3duTm9kZXMpO1xuXG4gIHJldHVybiBlbWJlZERpcmVjdGl2ZU1hcmtkb3duTm9kZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmNsdWRlRGlyZWN0aXZlTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlKG5vZGUsIGluY2x1ZGVEaXJlY3RpdmVNYXJrZG93bk5vZGVzID0gW10pIHtcbiAgbm9kZXNGcm9tTm9kZUFuZFF1ZXJ5KG5vZGUsIGluY2x1ZGVEaXJlY3RpdmVNYXJrZG93bk5vZGVzUXVlcnksIGluY2x1ZGVEaXJlY3RpdmVNYXJrZG93bk5vZGVzKTtcblxuICByZXR1cm4gaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duTm9kZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsaW5rRm9vdG5vdGVPckZvb3Rub3Rlc0RpcmVjdGl2ZU1hcmtkb3duTm9kZXNGcm9tTm9kZShub2RlLCBsaW5rRm9vdG5vdGVPckZvb3Rub3Rlc0RpcmVjdGl2ZU1hcmtkb3duTm9kZXMgPSBbXSkge1xuICBub2Rlc0Zyb21Ob2RlQW5kUXVlcnkobm9kZSwgbGlua0Zvb3Rub3RlT3JGb290bm90ZXNEaXJlY3RpdmVNYXJrZG93bk5vZGVzUXVlcnksIGxpbmtGb290bm90ZU9yRm9vdG5vdGVzRGlyZWN0aXZlTWFya2Rvd25Ob2Rlcyk7XG5cbiAgcmV0dXJuIGxpbmtGb290bm90ZU9yRm9vdG5vdGVzRGlyZWN0aXZlTWFya2Rvd25Ob2Rlcztcbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuICBmb290bm90ZU1hcmtkb3duTm9kZUZyb21Ob2RlLFxuICBpZ25vcmVEaXJlY3RpdmVNYXJrZG93bk5vZGVGcm9tTm9kZSxcbiAgY29udGVudHNEaXJlY3RpdmVNYXJrZG93bk5vZGVGcm9tTm9kZSxcbiAgZm9vdG5vdGVzRGlyZWN0aXZlTWFya2Rvd25Ob2RlRnJvbU5vZGUsXG4gIHBhZ2VOdW1iZXJEaXJlY3RpdmVNYXJrZG93bk5vZGVGcm9tTm9kZSxcbiAgbGlua01hcmtkb3duTm9kZXNGcm9tTm9kZSxcbiAgaGVhZGluZ01hcmtkb3duTm9kZXNGcm9tTm9kZSxcbiAgc3ViRGl2aXNpb25NYXJrZG93bk5vZGVzRnJvbU5vZGUsXG4gIGVtYmVkRGlyZWN0aXZlTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlLFxuICBpbmNsdWRlRGlyZWN0aXZlTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlLFxuICBsaW5rRm9vdG5vdGVPckZvb3Rub3Rlc0RpcmVjdGl2ZU1hcmtkb3duTm9kZXNGcm9tTm9kZVxufTtcblxuZnVuY3Rpb24gbm9kZUZyb21Ob2RlQW5kUXVlcnkobm9kZSwgcXVlcnkpIHtcbiAgY29uc3QgcXVlcnlOb2RlcyA9IHF1ZXJ5LmV4ZWN1dGUobm9kZSksXG4gICAgICAgIHF1ZXJ5Tm9kZXNMZW5ndGggPSBxdWVyeU5vZGVzLmxlbmd0aDtcblxuICBpZiAocXVlcnlOb2Rlc0xlbmd0aCA9PT0gMCkge1xuICAgIG5vZGUgPSBudWxsO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IGZpcnN0UXVlcnlOb2RlID0gZmlyc3QocXVlcnlOb2Rlcyk7XG5cbiAgICBub2RlID0gZmlyc3RRdWVyeU5vZGU7ICAvLy9cbiAgfVxuXG4gIHJldHVybiBub2RlO1xufVxuXG5mdW5jdGlvbiBub2Rlc0Zyb21Ob2RlQW5kUXVlcnkobm9kZSwgcXVlcnksIG5vZGVzKSB7XG4gIGNvbnN0IHF1ZXJ5Tm9kZXMgPSBxdWVyeS5leGVjdXRlKG5vZGUpO1xuXG4gIHB1c2gobm9kZXMsIHF1ZXJ5Tm9kZXMpO1xuXG4gIHJldHVybiBub2Rlcztcbn1cbiJdLCJuYW1lcyI6WyJjb250ZW50c0RpcmVjdGl2ZU1hcmtkb3duTm9kZUZyb21Ob2RlIiwiZW1iZWREaXJlY3RpdmVNYXJrZG93bk5vZGVzRnJvbU5vZGUiLCJmb290bm90ZU1hcmtkb3duTm9kZUZyb21Ob2RlIiwiZm9vdG5vdGVzRGlyZWN0aXZlTWFya2Rvd25Ob2RlRnJvbU5vZGUiLCJoZWFkaW5nTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlIiwiaWdub3JlRGlyZWN0aXZlTWFya2Rvd25Ob2RlRnJvbU5vZGUiLCJpbmNsdWRlRGlyZWN0aXZlTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlIiwibGlua0Zvb3Rub3RlT3JGb290bm90ZXNEaXJlY3RpdmVNYXJrZG93bk5vZGVzRnJvbU5vZGUiLCJsaW5rTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlIiwibm9kZVF1ZXJ5Iiwibm9kZXNRdWVyeSIsInBhZ2VOdW1iZXJEaXJlY3RpdmVNYXJrZG93bk5vZGVGcm9tTm9kZSIsInN1YkRpdmlzaW9uTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlIiwiZmlyc3QiLCJhcnJheVV0aWxpdGllcyIsInB1c2giLCJmb290bm90ZU1hcmtkb3duTm9kZVF1ZXJ5IiwiUXVlcnkiLCJmcm9tRXhwcmVzc2lvbiIsImlnbm9yZURpcmVjdGl2ZU1hcmtkb3duTm9kZVF1ZXJ5IiwiY29udGVudHNEaXJlY3RpdmVNYXJrZG93bk5vZGVRdWVyeSIsImZvb3Rub3Rlc0RpcmVjdGl2ZU1hcmtkb3duTm9kZVF1ZXJ5IiwicGFnZU51bWJlckRpcmVjdGl2ZU1hcmtkb3duTm9kZVF1ZXJ5IiwibGlua01hcmtkb3duTm9kZXNRdWVyeSIsImhlYWRpbmdNYXJrZG93bk5vZGVzUXVlcnkiLCJzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXNRdWVyeSIsImVtYmVkRGlyZWN0aXZlTWFya2Rvd25Ob2Rlc1F1ZXJ5IiwiaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duTm9kZXNRdWVyeSIsImxpbmtGb290bm90ZU9yRm9vdG5vdGVzRGlyZWN0aXZlTWFya2Rvd25Ob2Rlc1F1ZXJ5IiwiZXhwcmVzc2lvbiIsInF1ZXJ5Iiwibm9kZSIsIm5vZGVzIiwiZXhlY3V0ZSIsIm5vZGVzTGVuZ3RoIiwibGVuZ3RoIiwiZmlyc3ROb2RlIiwiZm9vdG5vdGVNYXJrZG93bk5vZGUiLCJub2RlRnJvbU5vZGVBbmRRdWVyeSIsImlnbm9yZURpcmVjdGl2ZU1hcmtkb3duTm9kZSIsImNvbnRlbnRzRGlyZWN0aXZlTWFya2Rvd25Ob2RlIiwiZm9vdG5vdGVzRGlyZWN0aXZlTWFya2Rvd25Ob2RlIiwicGFnZU51bWJlckRpcmVjdGl2ZU1hcmtkb3duTm9kZSIsImxpbmtNYXJrZG93bk5vZGVzIiwibm9kZXNGcm9tTm9kZUFuZFF1ZXJ5IiwiaGVhZGluZ01hcmtkb3duTm9kZXMiLCJzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXMiLCJlbWJlZERpcmVjdGl2ZU1hcmtkb3duTm9kZXMiLCJpbmNsdWRlRGlyZWN0aXZlTWFya2Rvd25Ob2RlcyIsImxpbmtGb290bm90ZU9yRm9vdG5vdGVzRGlyZWN0aXZlTWFya2Rvd25Ob2RlcyIsInF1ZXJ5Tm9kZXMiLCJxdWVyeU5vZGVzTGVuZ3RoIiwiZmlyc3RRdWVyeU5vZGUiXSwicmFuZ2VNYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7IiwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQTREZ0JBLHFDQUFxQztlQUFyQ0E7O0lBc0RoQixPQVlFO2VBWkY7O0lBbEJnQkMsbUNBQW1DO2VBQW5DQTs7SUFoREFDLDRCQUE0QjtlQUE1QkE7O0lBa0JBQyxzQ0FBc0M7ZUFBdENBOztJQWtCQUMsNEJBQTRCO2VBQTVCQTs7SUE5QkFDLG1DQUFtQztlQUFuQ0E7O0lBZ0RBQyxxQ0FBcUM7ZUFBckNBOztJQU1BQyxxREFBcUQ7ZUFBckRBOztJQTlCQUMseUJBQXlCO2VBQXpCQTs7SUEzREFDLFNBQVM7ZUFBVEE7O0lBbUJBQyxVQUFVO2VBQVZBOztJQWtDQUMsdUNBQXVDO2VBQXZDQTs7SUFrQkFDLGdDQUFnQztlQUFoQ0E7OzswQkF4Rk07eUJBQ1M7QUFFL0IsSUFBUUMsUUFBZ0JDLHlCQUFj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
|
|
158
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcXVlcnkuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IFF1ZXJ5IH0gZnJvbSBcIm9jY2FtLXF1ZXJ5XCI7XG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuY29uc3QgeyBmaXJzdCwgcHVzaCB9ID0gYXJyYXlVdGlsaXRpZXM7XG5cbmNvbnN0IGZvb3Rub3RlTWFya2Rvd25Ob2RlUXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvbihcIi8qL2Zvb3Rub3RlXCIpLFxuICAgICAgaWdub3JlRGlyZWN0aXZlTWFya2Rvd25Ob2RlUXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvbihcIi8vZGlyZWN0aXZlcy9pZ25vcmVEaXJlY3RpdmVcIiksXG4gICAgICBjb250ZW50c0RpcmVjdGl2ZU1hcmtkb3duTm9kZVF1ZXJ5ID0gUXVlcnkuZnJvbUV4cHJlc3Npb24oXCIvL2RpcmVjdGl2ZXMvY29udGVudHNEaXJlY3RpdmVcIiksXG4gICAgICBmb290bm90ZXNEaXJlY3RpdmVNYXJrZG93bk5vZGVRdWVyeSA9IFF1ZXJ5LmZyb21FeHByZXNzaW9uKFwiLy9kaXJlY3RpdmVzL2Zvb3Rub3Rlc0RpcmVjdGl2ZVwiKSxcbiAgICAgIHBhZ2VOdW1iZXJEaXJlY3RpdmVNYXJrZG93bk5vZGVRdWVyeSA9IFF1ZXJ5LmZyb21FeHByZXNzaW9uKFwiLy9kaXJlY3RpdmVzL3BhZ2VOdW1iZXJcIiksXG4gICAgICBsaW5rTWFya2Rvd25Ob2Rlc1F1ZXJ5ID0gUXVlcnkuZnJvbUV4cHJlc3Npb24oXCIvL2xpbmtcIiksXG4gICAgICBoZWFkaW5nTWFya2Rvd25Ob2Rlc1F1ZXJ5ID0gUXVlcnkuZnJvbUV4cHJlc3Npb24oXCIvL3ByaW1hcnlIZWFkaW5nfHNlY29uZGFyeUhlYWRpbmd8dGVydGlhcnlIZWFkaW5nfHF1YXRlcm5hcnlIZWFkaW5nXCIpLFxuICAgICAgc3ViRGl2aXNpb25NYXJrZG93bk5vZGVzUXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvbihcIi8vc3ViRGl2aXNpb25cIiksXG4gICAgICBlbWJlZERpcmVjdGl2ZU1hcmtkb3duTm9kZXNRdWVyeSA9IFF1ZXJ5LmZyb21FeHByZXNzaW9uKFwiLy9kaXJlY3RpdmVzL2VtYmVkRGlyZWN0aXZlXCIpLFxuICAgICAgaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duTm9kZXNRdWVyeSA9IFF1ZXJ5LmZyb21FeHByZXNzaW9uKFwiLy9kaXJlY3RpdmVzL2luY2x1ZGVEaXJlY3RpdmVcIiksXG4gICAgICBsaW5rRm9vdG5vdGVPckZvb3Rub3Rlc0RpcmVjdGl2ZU1hcmtkb3duTm9kZXNRdWVyeSA9IFF1ZXJ5LmZyb21FeHByZXNzaW9uKFwiLy9saW5rfGZvb3Rub3RlfGZvb3Rub3Rlc0RpcmVjdGl2ZVwiKTtcblxuZXhwb3J0IGZ1bmN0aW9uIG5vZGVRdWVyeShleHByZXNzaW9uKSB7XG4gIGNvbnN0IHF1ZXJ5ID0gUXVlcnkuZnJvbUV4cHJlc3Npb24oZXhwcmVzc2lvbik7XG5cbiAgcmV0dXJuIGZ1bmN0aW9uKG5vZGUpIHtcbiAgICBjb25zdCBub2RlcyA9IHF1ZXJ5LmV4ZWN1dGUobm9kZSksXG4gICAgICAgICAgbm9kZXNMZW5ndGggPSBub2Rlcy5sZW5ndGg7XG5cbiAgICBpZiAobm9kZXNMZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBmaXJzdE5vZGUgPSBmaXJzdChub2Rlcyk7XG5cbiAgICAgIG5vZGUgPSBmaXJzdE5vZGU7IC8vL1xuICAgIH0gZWxzZSB7XG4gICAgICBub2RlID0gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gbm9kZTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbm9kZXNRdWVyeShleHByZXNzaW9uKSB7XG4gIGNvbnN0IHF1ZXJ5ID0gUXVlcnkuZnJvbUV4cHJlc3Npb24oZXhwcmVzc2lvbik7XG5cbiAgcmV0dXJuIGZ1bmN0aW9uKG5vZGUpIHtcbiAgICBjb25zdCBub2RlcyA9IHF1ZXJ5LmV4ZWN1dGUobm9kZSk7XG5cbiAgICByZXR1cm4gbm9kZXM7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZvb3Rub3RlTWFya2Rvd25Ob2RlRnJvbU5vZGUobm9kZSkge1xuICBjb25zdCBmb290bm90ZU1hcmtkb3duTm9kZSA9IG5vZGVGcm9tTm9kZUFuZFF1ZXJ5KG5vZGUsIGZvb3Rub3RlTWFya2Rvd25Ob2RlUXVlcnkpO1xuXG4gIHJldHVybiBmb290bm90ZU1hcmtkb3duTm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlnbm9yZURpcmVjdGl2ZU1hcmtkb3duTm9kZUZyb21Ob2RlKG5vZGUpIHtcbiAgY29uc3QgaWdub3JlRGlyZWN0aXZlTWFya2Rvd25Ob2RlID0gbm9kZUZyb21Ob2RlQW5kUXVlcnkobm9kZSwgaWdub3JlRGlyZWN0aXZlTWFya2Rvd25Ob2RlUXVlcnkpO1xuXG4gIHJldHVybiBpZ25vcmVEaXJlY3RpdmVNYXJrZG93bk5vZGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb250ZW50c0RpcmVjdGl2ZU1hcmtkb3duTm9kZUZyb21Ob2RlKG5vZGUpIHtcbiAgY29uc3QgY29udGVudHNEaXJlY3RpdmVNYXJrZG93bk5vZGUgPSBub2RlRnJvbU5vZGVBbmRRdWVyeShub2RlLCBjb250ZW50c0RpcmVjdGl2ZU1hcmtkb3duTm9kZVF1ZXJ5KTtcblxuICByZXR1cm4gY29udGVudHNEaXJlY3RpdmVNYXJrZG93bk5vZGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmb290bm90ZXNEaXJlY3RpdmVNYXJrZG93bk5vZGVGcm9tTm9kZShub2RlKSB7XG4gIGNvbnN0IGZvb3Rub3Rlc0RpcmVjdGl2ZU1hcmtkb3duTm9kZSA9IG5vZGVGcm9tTm9kZUFuZFF1ZXJ5KG5vZGUsIGZvb3Rub3Rlc0RpcmVjdGl2ZU1hcmtkb3duTm9kZVF1ZXJ5KTtcblxuICByZXR1cm4gZm9vdG5vdGVzRGlyZWN0aXZlTWFya2Rvd25Ob2RlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGFnZU51bWJlckRpcmVjdGl2ZU1hcmtkb3duTm9kZUZyb21Ob2RlKG5vZGUpIHtcbiAgY29uc3QgcGFnZU51bWJlckRpcmVjdGl2ZU1hcmtkb3duTm9kZSA9IG5vZGVGcm9tTm9kZUFuZFF1ZXJ5KG5vZGUsIHBhZ2VOdW1iZXJEaXJlY3RpdmVNYXJrZG93bk5vZGVRdWVyeSk7XG5cbiAgcmV0dXJuIHBhZ2VOdW1iZXJEaXJlY3RpdmVNYXJrZG93bk5vZGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsaW5rTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlKG5vZGUsIGxpbmtNYXJrZG93bk5vZGVzID0gW10pIHtcbiAgbm9kZXNGcm9tTm9kZUFuZFF1ZXJ5KG5vZGUsIGxpbmtNYXJrZG93bk5vZGVzUXVlcnksIGxpbmtNYXJrZG93bk5vZGVzKTtcblxuICByZXR1cm4gbGlua01hcmtkb3duTm9kZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoZWFkaW5nTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlKG5vZGUsIGhlYWRpbmdNYXJrZG93bk5vZGVzID0gW10pIHtcbiAgbm9kZXNGcm9tTm9kZUFuZFF1ZXJ5KG5vZGUsIGhlYWRpbmdNYXJrZG93bk5vZGVzUXVlcnksIGhlYWRpbmdNYXJrZG93bk5vZGVzKTtcblxuICByZXR1cm4gaGVhZGluZ01hcmtkb3duTm9kZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXNGcm9tTm9kZShub2RlLCBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXMgPSBbXSkge1xuICBub2Rlc0Zyb21Ob2RlQW5kUXVlcnkobm9kZSwgc3ViRGl2aXNpb25NYXJrZG93bk5vZGVzUXVlcnksIHN1YkRpdmlzaW9uTWFya2Rvd25Ob2Rlcyk7XG5cbiAgcmV0dXJuIHN1YkRpdmlzaW9uTWFya2Rvd25Ob2Rlcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVtYmVkRGlyZWN0aXZlTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlKG5vZGUsIGVtYmVkRGlyZWN0aXZlTWFya2Rvd25Ob2RlcyA9IFtdKSB7XG4gIG5vZGVzRnJvbU5vZGVBbmRRdWVyeShub2RlLCBlbWJlZERpcmVjdGl2ZU1hcmtkb3duTm9kZXNRdWVyeSwgZW1iZWREaXJlY3RpdmVNYXJrZG93bk5vZGVzKTtcblxuICByZXR1cm4gZW1iZWREaXJlY3RpdmVNYXJrZG93bk5vZGVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duTm9kZXNGcm9tTm9kZShub2RlLCBpbmNsdWRlRGlyZWN0aXZlTWFya2Rvd25Ob2RlcyA9IFtdKSB7XG4gIG5vZGVzRnJvbU5vZGVBbmRRdWVyeShub2RlLCBpbmNsdWRlRGlyZWN0aXZlTWFya2Rvd25Ob2Rlc1F1ZXJ5LCBpbmNsdWRlRGlyZWN0aXZlTWFya2Rvd25Ob2Rlcyk7XG5cbiAgcmV0dXJuIGluY2x1ZGVEaXJlY3RpdmVNYXJrZG93bk5vZGVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbGlua0Zvb3Rub3RlT3JGb290bm90ZXNEaXJlY3RpdmVNYXJrZG93bk5vZGVzRnJvbU5vZGUobm9kZSwgbGlua0Zvb3Rub3RlT3JGb290bm90ZXNEaXJlY3RpdmVNYXJrZG93bk5vZGVzID0gW10pIHtcbiAgbm9kZXNGcm9tTm9kZUFuZFF1ZXJ5KG5vZGUsIGxpbmtGb290bm90ZU9yRm9vdG5vdGVzRGlyZWN0aXZlTWFya2Rvd25Ob2Rlc1F1ZXJ5LCBsaW5rRm9vdG5vdGVPckZvb3Rub3Rlc0RpcmVjdGl2ZU1hcmtkb3duTm9kZXMpO1xuXG4gIHJldHVybiBsaW5rRm9vdG5vdGVPckZvb3Rub3Rlc0RpcmVjdGl2ZU1hcmtkb3duTm9kZXM7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgZm9vdG5vdGVNYXJrZG93bk5vZGVGcm9tTm9kZSxcbiAgaWdub3JlRGlyZWN0aXZlTWFya2Rvd25Ob2RlRnJvbU5vZGUsXG4gIGNvbnRlbnRzRGlyZWN0aXZlTWFya2Rvd25Ob2RlRnJvbU5vZGUsXG4gIGZvb3Rub3Rlc0RpcmVjdGl2ZU1hcmtkb3duTm9kZUZyb21Ob2RlLFxuICBwYWdlTnVtYmVyRGlyZWN0aXZlTWFya2Rvd25Ob2RlRnJvbU5vZGUsXG4gIGxpbmtNYXJrZG93bk5vZGVzRnJvbU5vZGUsXG4gIGhlYWRpbmdNYXJrZG93bk5vZGVzRnJvbU5vZGUsXG4gIHN1YkRpdmlzaW9uTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlLFxuICBlbWJlZERpcmVjdGl2ZU1hcmtkb3duTm9kZXNGcm9tTm9kZSxcbiAgaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duTm9kZXNGcm9tTm9kZSxcbiAgbGlua0Zvb3Rub3RlT3JGb290bm90ZXNEaXJlY3RpdmVNYXJrZG93bk5vZGVzRnJvbU5vZGVcbn07XG5cbmZ1bmN0aW9uIG5vZGVGcm9tTm9kZUFuZFF1ZXJ5KG5vZGUsIHF1ZXJ5KSB7XG4gIGNvbnN0IHF1ZXJ5Tm9kZXMgPSBxdWVyeS5leGVjdXRlKG5vZGUpLFxuICAgICAgICBxdWVyeU5vZGVzTGVuZ3RoID0gcXVlcnlOb2Rlcy5sZW5ndGg7XG5cbiAgaWYgKHF1ZXJ5Tm9kZXNMZW5ndGggPT09IDApIHtcbiAgICBub2RlID0gbnVsbDtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBmaXJzdFF1ZXJ5Tm9kZSA9IGZpcnN0KHF1ZXJ5Tm9kZXMpO1xuXG4gICAgbm9kZSA9IGZpcnN0UXVlcnlOb2RlOyAgLy8vXG4gIH1cblxuICByZXR1cm4gbm9kZTtcbn1cblxuZnVuY3Rpb24gbm9kZXNGcm9tTm9kZUFuZFF1ZXJ5KG5vZGUsIHF1ZXJ5LCBub2Rlcykge1xuICBjb25zdCBxdWVyeU5vZGVzID0gcXVlcnkuZXhlY3V0ZShub2RlKTtcblxuICBwdXNoKG5vZGVzLCBxdWVyeU5vZGVzKTtcblxuICByZXR1cm4gbm9kZXM7XG59XG4iXSwibmFtZXMiOlsiY29udGVudHNEaXJlY3RpdmVNYXJrZG93bk5vZGVGcm9tTm9kZSIsImVtYmVkRGlyZWN0aXZlTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlIiwiZm9vdG5vdGVNYXJrZG93bk5vZGVGcm9tTm9kZSIsImZvb3Rub3Rlc0RpcmVjdGl2ZU1hcmtkb3duTm9kZUZyb21Ob2RlIiwiaGVhZGluZ01hcmtkb3duTm9kZXNGcm9tTm9kZSIsImlnbm9yZURpcmVjdGl2ZU1hcmtkb3duTm9kZUZyb21Ob2RlIiwiaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duTm9kZXNGcm9tTm9kZSIsImxpbmtGb290bm90ZU9yRm9vdG5vdGVzRGlyZWN0aXZlTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlIiwibGlua01hcmtkb3duTm9kZXNGcm9tTm9kZSIsIm5vZGVRdWVyeSIsIm5vZGVzUXVlcnkiLCJwYWdlTnVtYmVyRGlyZWN0aXZlTWFya2Rvd25Ob2RlRnJvbU5vZGUiLCJzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXNGcm9tTm9kZSIsImZpcnN0IiwiYXJyYXlVdGlsaXRpZXMiLCJwdXNoIiwiZm9vdG5vdGVNYXJrZG93bk5vZGVRdWVyeSIsIlF1ZXJ5IiwiZnJvbUV4cHJlc3Npb24iLCJpZ25vcmVEaXJlY3RpdmVNYXJrZG93bk5vZGVRdWVyeSIsImNvbnRlbnRzRGlyZWN0aXZlTWFya2Rvd25Ob2RlUXVlcnkiLCJmb290bm90ZXNEaXJlY3RpdmVNYXJrZG93bk5vZGVRdWVyeSIsInBhZ2VOdW1iZXJEaXJlY3RpdmVNYXJrZG93bk5vZGVRdWVyeSIsImxpbmtNYXJrZG93bk5vZGVzUXVlcnkiLCJoZWFkaW5nTWFya2Rvd25Ob2Rlc1F1ZXJ5Iiwic3ViRGl2aXNpb25NYXJrZG93bk5vZGVzUXVlcnkiLCJlbWJlZERpcmVjdGl2ZU1hcmtkb3duTm9kZXNRdWVyeSIsImluY2x1ZGVEaXJlY3RpdmVNYXJrZG93bk5vZGVzUXVlcnkiLCJsaW5rRm9vdG5vdGVPckZvb3Rub3Rlc0RpcmVjdGl2ZU1hcmtkb3duTm9kZXNRdWVyeSIsImV4cHJlc3Npb24iLCJxdWVyeSIsIm5vZGUiLCJub2RlcyIsImV4ZWN1dGUiLCJub2Rlc0xlbmd0aCIsImxlbmd0aCIsImZpcnN0Tm9kZSIsImZvb3Rub3RlTWFya2Rvd25Ob2RlIiwibm9kZUZyb21Ob2RlQW5kUXVlcnkiLCJpZ25vcmVEaXJlY3RpdmVNYXJrZG93bk5vZGUiLCJjb250ZW50c0RpcmVjdGl2ZU1hcmtkb3duTm9kZSIsImZvb3Rub3Rlc0RpcmVjdGl2ZU1hcmtkb3duTm9kZSIsInBhZ2VOdW1iZXJEaXJlY3RpdmVNYXJrZG93bk5vZGUiLCJsaW5rTWFya2Rvd25Ob2RlcyIsIm5vZGVzRnJvbU5vZGVBbmRRdWVyeSIsImhlYWRpbmdNYXJrZG93bk5vZGVzIiwic3ViRGl2aXNpb25NYXJrZG93bk5vZGVzIiwiZW1iZWREaXJlY3RpdmVNYXJrZG93bk5vZGVzIiwiaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duTm9kZXMiLCJsaW5rRm9vdG5vdGVPckZvb3Rub3Rlc0RpcmVjdGl2ZU1hcmtkb3duTm9kZXMiLCJxdWVyeU5vZGVzIiwicXVlcnlOb2Rlc0xlbmd0aCIsImZpcnN0UXVlcnlOb2RlIl0sInJhbmdlTWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OyIsIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUE0RGdCQSxxQ0FBcUM7ZUFBckNBOztJQXNEaEIsT0FZRTtlQVpGOztJQWxCZ0JDLG1DQUFtQztlQUFuQ0E7O0lBaERBQyw0QkFBNEI7ZUFBNUJBOztJQWtCQUMsc0NBQXNDO2VBQXRDQTs7SUFrQkFDLDRCQUE0QjtlQUE1QkE7O0lBOUJBQyxtQ0FBbUM7ZUFBbkNBOztJQWdEQUMscUNBQXFDO2VBQXJDQTs7SUFNQUMscURBQXFEO2VBQXJEQTs7SUE5QkFDLHlCQUF5QjtlQUF6QkE7O0lBM0RBQyxTQUFTO2VBQVRBOztJQW1CQUMsVUFBVTtlQUFWQTs7SUFrQ0FDLHVDQUF1QztlQUF2Q0E7O0lBa0JBQyxnQ0FBZ0M7ZUFBaENBOzs7MEJBeEZNO3lCQUNTO0FBRS9CLElBQVFDLFFBQWdCQyx5QkFB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
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "highmark-markdown",
|
|
3
3
|
"author": "James Smith",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.404",
|
|
5
5
|
"license": "MIT, Anti-996",
|
|
6
6
|
"homepage": "https://github.com/djalbat/highmark-markdown",
|
|
7
7
|
"description": "Highmark's Markdown and Markdown Style languages.",
|
package/src/example/view.js
CHANGED
|
@@ -85,14 +85,10 @@ class View extends Element {
|
|
|
85
85
|
|
|
86
86
|
divisionMarkdownNode.setDivisionClassName(divisionClassName);
|
|
87
87
|
|
|
88
|
-
const
|
|
89
|
-
contentsDepth = CONTENTS_DEPTH,
|
|
90
|
-
charactersPerLine = CHARACTERS_PER_LINE,
|
|
88
|
+
const charactersPerLine = CHARACTERS_PER_LINE,
|
|
91
89
|
context = {
|
|
92
90
|
tokens,
|
|
93
91
|
importer,
|
|
94
|
-
linesPerPage,
|
|
95
|
-
contentsDepth,
|
|
96
92
|
charactersPerLine
|
|
97
93
|
},
|
|
98
94
|
divisionMarkdownNodes = postprocess(divisionMarkdownNode, context);
|
|
@@ -258,20 +254,13 @@ class View extends Element {
|
|
|
258
254
|
className: "view"
|
|
259
255
|
};
|
|
260
256
|
|
|
261
|
-
static initialMarkdown =
|
|
262
|
-
|
|
263
|
-
## Contents
|
|
264
|
-
|
|
265
|
-
@contents
|
|
266
|
-
|
|
267
|
-
A paragraph.
|
|
268
|
-
|
|
269
|
-
Another paragraph [^occam].
|
|
257
|
+
static initialMarkdown = `Occam.
|
|
270
258
|
|
|
271
|
-
|
|
259
|
+
@embed introduction.md
|
|
272
260
|
|
|
273
261
|
@footnotes
|
|
274
|
-
|
|
262
|
+
|
|
263
|
+
@pageNumber
|
|
275
264
|
`;
|
|
276
265
|
|
|
277
266
|
static initialMarkdownStyle = `width: 100%;
|
|
@@ -288,7 +277,9 @@ export default withStyle(View)`
|
|
|
288
277
|
`;
|
|
289
278
|
|
|
290
279
|
function importer(filePath, context) {
|
|
291
|
-
const content =
|
|
280
|
+
const content = `Florence [^florence].
|
|
281
|
+
|
|
282
|
+
[^florence]: Florence footnote.
|
|
292
283
|
`,
|
|
293
284
|
startOfContent = true,
|
|
294
285
|
startRule = markdownParser.getStartRule(),
|
package/src/markdown/bnf.js
CHANGED
|
@@ -49,15 +49,7 @@ const bnf = `
|
|
|
49
49
|
|
|
50
50
|
| footnotesDirective
|
|
51
51
|
|
|
52
|
-
| (
|
|
53
|
-
|
|
54
|
-
( embedDirective
|
|
55
|
-
|
|
56
|
-
| includeDirective ) ( endOfLine ( embedDirective
|
|
57
|
-
|
|
58
|
-
| includeDirective ) )*
|
|
59
|
-
|
|
60
|
-
)
|
|
52
|
+
| ( embedDirective | includeDirective ) ( endOfLine ( embedDirective | includeDirective ) )*
|
|
61
53
|
|
|
62
54
|
;
|
|
63
55
|
|
|
@@ -155,7 +155,7 @@ export default class DivisionMarkdownNode extends MarkdownNode {
|
|
|
155
155
|
|
|
156
156
|
if (importedReplacement !== null) {
|
|
157
157
|
const childNode = embedDirectiveMarkdownNode, ///
|
|
158
|
-
parentNode = this.
|
|
158
|
+
parentNode = this.retrieveParentNode(childNode);
|
|
159
159
|
|
|
160
160
|
importedReplacement.replaceEmbedDirectiveMarkdownNode(embedDirectiveMarkdownNode, parentNode, context);
|
|
161
161
|
}
|
|
@@ -201,22 +201,22 @@ export default class DivisionMarkdownNode extends MarkdownNode {
|
|
|
201
201
|
}
|
|
202
202
|
|
|
203
203
|
removeSubDivisionMarkdownNode(SubDivisionReplacement, context) {
|
|
204
|
-
const divisionMarkdownNode = this,
|
|
204
|
+
const divisionMarkdownNode = this, //
|
|
205
205
|
subDivisionReplacement = this.findSubDivisionReplacement(SubDivisionReplacement, context);
|
|
206
206
|
|
|
207
207
|
if (subDivisionReplacement !== null) {
|
|
208
|
-
subDivisionReplacement.
|
|
208
|
+
subDivisionReplacement.removeFromMarkdownNode(divisionMarkdownNode, context);
|
|
209
209
|
}
|
|
210
210
|
|
|
211
211
|
return subDivisionReplacement;
|
|
212
212
|
}
|
|
213
213
|
|
|
214
214
|
removeSubDivisionMarkdownNodes(SubDivisionReplacement, context) {
|
|
215
|
-
const divisionMarkdownNode = this,
|
|
215
|
+
const divisionMarkdownNode = this, //
|
|
216
216
|
subDivisionReplacements = this.findSubDivisionReplacements(SubDivisionReplacement, context);
|
|
217
217
|
|
|
218
218
|
subDivisionReplacements.forEach((subDivisionReplacement) => {
|
|
219
|
-
subDivisionReplacement.
|
|
219
|
+
subDivisionReplacement.removeFromMarkdownNode(divisionMarkdownNode, context);
|
|
220
220
|
});
|
|
221
221
|
|
|
222
222
|
return subDivisionReplacements;
|
package/src/node/markdown.js
CHANGED
|
@@ -132,7 +132,7 @@ class MarkdownNode extends NonTerminalNode {
|
|
|
132
132
|
});
|
|
133
133
|
}
|
|
134
134
|
|
|
135
|
-
|
|
135
|
+
retrieveParentNode(childNode, node = this) {
|
|
136
136
|
let parentNode = null;
|
|
137
137
|
|
|
138
138
|
const nodeNonTerminalNode = node.isNonTerminalNode();
|
|
@@ -148,7 +148,7 @@ class MarkdownNode extends NonTerminalNode {
|
|
|
148
148
|
const nodes = childNodes; ///
|
|
149
149
|
|
|
150
150
|
nodes.some((node) => {
|
|
151
|
-
parentNode = this.
|
|
151
|
+
parentNode = this.retrieveParentNode(childNode, node);
|
|
152
152
|
|
|
153
153
|
if (parentNode !== null) {
|
|
154
154
|
return true;
|
|
@@ -5,6 +5,12 @@ import SubDivisionReplacement from "../../replacement/subDivision";
|
|
|
5
5
|
import { pageNumberDirectiveMarkdownNodeFromNode } from "../../utilities/query";
|
|
6
6
|
|
|
7
7
|
export default class PageNumberDirectiveSubDivisionReplacement extends SubDivisionReplacement {
|
|
8
|
+
appendToDivisionMarkdownNode(divisionMarkdownNode, context) {
|
|
9
|
+
const parentNode = divisionMarkdownNode; ///
|
|
10
|
+
|
|
11
|
+
super.appendTo(parentNode, context);
|
|
12
|
+
}
|
|
13
|
+
|
|
8
14
|
static fromSubDivisionMarkdownNode(subDivisionMarkdownNode, context) {
|
|
9
15
|
let pageNumberDirectiveSubDivisionReplacement = null;
|
|
10
16
|
|
|
@@ -13,14 +13,9 @@ export default class SubDivisionReplacement extends Replacement {
|
|
|
13
13
|
return this.removedNode;
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
super.appendTo(parentNode, context);
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
removeFromDivisionMarkdownNode(divisionMarkdownNode, context) {
|
|
23
|
-
const parentNode = divisionMarkdownNode; ///
|
|
16
|
+
removeFromMarkdownNode(divisionMarkdownNode, context) {
|
|
17
|
+
const childNode = this.removedNode, ///
|
|
18
|
+
parentNode = divisionMarkdownNode.retrieveParentNode(childNode);
|
|
24
19
|
|
|
25
20
|
super.removeFrom(this.removedNode, parentNode, context);
|
|
26
21
|
}
|
|
@@ -11,7 +11,7 @@ export function postprocess(divisionMarkdownNode, context) {
|
|
|
11
11
|
|
|
12
12
|
paginateAndFootnotes(divisionMarkdownNodes, context);
|
|
13
13
|
|
|
14
|
-
createContents(divisionMarkdownNodes, context);
|
|
14
|
+
// createContents(divisionMarkdownNodes, context);
|
|
15
15
|
|
|
16
16
|
return divisionMarkdownNodes;
|
|
17
17
|
}
|
package/src/utilities/query.js
CHANGED
|
@@ -5,7 +5,7 @@ import { arrayUtilities } from "necessary";
|
|
|
5
5
|
|
|
6
6
|
const { first, push } = arrayUtilities;
|
|
7
7
|
|
|
8
|
-
const footnoteMarkdownNodeQuery = Query.fromExpression("
|
|
8
|
+
const footnoteMarkdownNodeQuery = Query.fromExpression("/*/footnote"),
|
|
9
9
|
ignoreDirectiveMarkdownNodeQuery = Query.fromExpression("//directives/ignoreDirective"),
|
|
10
10
|
contentsDirectiveMarkdownNodeQuery = Query.fromExpression("//directives/contentsDirective"),
|
|
11
11
|
footnotesDirectiveMarkdownNodeQuery = Query.fromExpression("//directives/footnotesDirective"),
|