highmark-markdown 0.0.225 → 0.0.228
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 +1003 -565
- package/lib/clonedNode.js +142 -0
- package/lib/elementMap.js +4 -1
- package/lib/example/view/div/preview.js +6 -4
- package/lib/example/view/xmp.js +12 -4
- package/lib/example/view.js +30 -15
- package/lib/markdown/bnf.js +2 -2
- package/lib/node/markdown/contentsItem.js +14 -2
- package/lib/node/markdown/contentsLink.js +48 -65
- package/lib/node/markdown/contentsList.js +30 -6
- package/lib/node/markdown/division.js +26 -23
- package/lib/node/markdown/ignore.js +120 -0
- package/lib/node/markdown/import.js +14 -17
- package/lib/node/markdown/link.js +30 -1
- package/lib/node/markdown.js +3 -4
- package/lib/nodeMap.js +3 -2
- package/lib/ruleNames.js +6 -1
- package/lib/style/selector.js +76 -30
- package/lib/utilities/query.js +10 -2
- package/lib/utilities/replace.js +57 -0
- package/package.json +5 -5
- package/src/clonedNode.js +146 -0
- package/src/elementMap.js +5 -0
- package/src/example/view/div/preview.js +6 -4
- package/src/example/view/xmp.js +14 -4
- package/src/example/view.js +41 -29
- package/src/markdown/bnf.js +6 -1
- package/src/node/markdown/contentsItem.js +11 -0
- package/src/node/markdown/contentsLink.js +26 -114
- package/src/node/markdown/contentsList.js +37 -6
- package/src/node/markdown/division.js +40 -38
- package/src/node/markdown/ignore.js +7 -0
- package/src/node/markdown/import.js +19 -26
- package/src/node/markdown/link.js +2 -0
- package/src/node/markdown.js +2 -4
- package/src/nodeMap.js +3 -0
- package/src/ruleNames.js +2 -0
- package/src/style/selector.js +33 -27
- package/src/utilities/query.js +8 -0
- package/src/utilities/{tokens.js → replace.js} +9 -3
- package/lib/utilities/tokens.js +0 -45
package/lib/utilities/query.js
CHANGED
|
@@ -27,6 +27,9 @@ _export(exports, {
|
|
|
27
27
|
headingMarkdownNodesFromNode: function() {
|
|
28
28
|
return headingMarkdownNodesFromNode;
|
|
29
29
|
},
|
|
30
|
+
ignoreMarkdownNodeFromNode: function() {
|
|
31
|
+
return ignoreMarkdownNodeFromNode;
|
|
32
|
+
},
|
|
30
33
|
linkMarkdownNodesFromNode: function() {
|
|
31
34
|
return linkMarkdownNodesFromNode;
|
|
32
35
|
},
|
|
@@ -46,7 +49,7 @@ _export(exports, {
|
|
|
46
49
|
var _occamquery = require("occam-query");
|
|
47
50
|
var _necessary = require("necessary");
|
|
48
51
|
var first = _necessary.arrayUtilities.first, push = _necessary.arrayUtilities.push;
|
|
49
|
-
var linkMarkdownNodesQuery = _occamquery.Query.fromExpression("//link"), headingMarkdownNodesQuery = _occamquery.Query.fromExpression("//primaryHeading|secondaryHeading|tertiaryHeading|quaternaryHeading"), contentsMarkdownNodeQuery = _occamquery.Query.fromExpression("//contents"), footnoteMarkdownNodesQuery = _occamquery.Query.fromExpression("//footnote"), footnotesMarkdownNodeQuery = _occamquery.Query.fromExpression("/division/subDivision/footnotes"), footnotesMarkdownNodesQuery = _occamquery.Query.fromExpression("//footnotes"), referenceMarkdownNodesQuery = _occamquery.Query.fromExpression("//reference"), linkReferenceOrFootnotesMarkdownNodesQuery = _occamquery.Query.fromExpression("//link|reference|footnotes");
|
|
52
|
+
var linkMarkdownNodesQuery = _occamquery.Query.fromExpression("//link"), ignoreMarkdownNodeQuery = _occamquery.Query.fromExpression("//ignore"), headingMarkdownNodesQuery = _occamquery.Query.fromExpression("//primaryHeading|secondaryHeading|tertiaryHeading|quaternaryHeading"), contentsMarkdownNodeQuery = _occamquery.Query.fromExpression("//contents"), footnoteMarkdownNodesQuery = _occamquery.Query.fromExpression("//footnote"), footnotesMarkdownNodeQuery = _occamquery.Query.fromExpression("/division/subDivision/footnotes"), footnotesMarkdownNodesQuery = _occamquery.Query.fromExpression("//footnotes"), referenceMarkdownNodesQuery = _occamquery.Query.fromExpression("//reference"), linkReferenceOrFootnotesMarkdownNodesQuery = _occamquery.Query.fromExpression("//link|reference|footnotes");
|
|
50
53
|
function nodeQuery(expression) {
|
|
51
54
|
var query = _occamquery.Query.fromExpression(expression);
|
|
52
55
|
return function(node) {
|
|
@@ -72,6 +75,10 @@ function linkMarkdownNodesFromNode(node) {
|
|
|
72
75
|
nodesFromNodeAndQuery(node, linkMarkdownNodesQuery, linkMarkdownNodes);
|
|
73
76
|
return linkMarkdownNodes;
|
|
74
77
|
}
|
|
78
|
+
function ignoreMarkdownNodeFromNode(node) {
|
|
79
|
+
var ignoreMarkdownNode = nodeFromNodeAndQuery(node, ignoreMarkdownNodeQuery);
|
|
80
|
+
return ignoreMarkdownNode;
|
|
81
|
+
}
|
|
75
82
|
function contentsMarkdownNodeFromNode(node) {
|
|
76
83
|
var contentsMarkdownNode = nodeFromNodeAndQuery(node, contentsMarkdownNodeQuery);
|
|
77
84
|
return contentsMarkdownNode;
|
|
@@ -107,6 +114,7 @@ function linkReferenceOrFootnotesMarkdownNodesFromNode(node) {
|
|
|
107
114
|
}
|
|
108
115
|
var _default = {
|
|
109
116
|
linkMarkdownNodesFromNode: linkMarkdownNodesFromNode,
|
|
117
|
+
ignoreMarkdownNodeFromNode: ignoreMarkdownNodeFromNode,
|
|
110
118
|
contentsMarkdownNodeFromNode: contentsMarkdownNodeFromNode,
|
|
111
119
|
footnotesMarkdownNodeFromNode: footnotesMarkdownNodeFromNode,
|
|
112
120
|
headingMarkdownNodesFromNode: headingMarkdownNodesFromNode,
|
|
@@ -131,4 +139,4 @@ function nodesFromNodeAndQuery(node, query, nodes) {
|
|
|
131
139
|
return nodes;
|
|
132
140
|
}
|
|
133
141
|
|
|
134
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcXVlcnkuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IFF1ZXJ5IH0gZnJvbSBcIm9jY2FtLXF1ZXJ5XCI7XG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuY29uc3QgeyBmaXJzdCwgcHVzaCB9ID0gYXJyYXlVdGlsaXRpZXM7XG5cbmNvbnN0IGxpbmtNYXJrZG93bk5vZGVzUXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvbihgLy9saW5rYCksXG4gICAgICBoZWFkaW5nTWFya2Rvd25Ob2Rlc1F1ZXJ5ID0gUXVlcnkuZnJvbUV4cHJlc3Npb24oYC8vcHJpbWFyeUhlYWRpbmd8c2Vjb25kYXJ5SGVhZGluZ3x0ZXJ0aWFyeUhlYWRpbmd8cXVhdGVybmFyeUhlYWRpbmdgKSxcbiAgICAgIGNvbnRlbnRzTWFya2Rvd25Ob2RlUXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvbihgLy9jb250ZW50c2ApLFxuICAgICAgZm9vdG5vdGVNYXJrZG93bk5vZGVzUXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvbihgLy9mb290bm90ZWApLFxuICAgICAgZm9vdG5vdGVzTWFya2Rvd25Ob2RlUXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvbihgL2RpdmlzaW9uL3N1YkRpdmlzaW9uL2Zvb3Rub3Rlc2ApLFxuICAgICAgZm9vdG5vdGVzTWFya2Rvd25Ob2Rlc1F1ZXJ5ID0gUXVlcnkuZnJvbUV4cHJlc3Npb24oYC8vZm9vdG5vdGVzYCksXG4gICAgICByZWZlcmVuY2VNYXJrZG93bk5vZGVzUXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvbihgLy9yZWZlcmVuY2VgKSxcbiAgICAgIGxpbmtSZWZlcmVuY2VPckZvb3Rub3Rlc01hcmtkb3duTm9kZXNRdWVyeSA9IFF1ZXJ5LmZyb21FeHByZXNzaW9uKGAvL2xpbmt8cmVmZXJlbmNlfGZvb3Rub3Rlc2ApO1xuXG5leHBvcnQgZnVuY3Rpb24gbm9kZVF1ZXJ5KGV4cHJlc3Npb24pIHtcbiAgY29uc3QgcXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvbihleHByZXNzaW9uKTtcblxuICByZXR1cm4gZnVuY3Rpb24obm9kZSkge1xuICAgIGNvbnN0IG5vZGVzID0gcXVlcnkuZXhlY3V0ZShub2RlKSxcbiAgICAgICAgICBub2Rlc0xlbmd0aCA9IG5vZGVzLmxlbmd0aDtcblxuICAgIGlmIChub2Rlc0xlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGZpcnN0Tm9kZSA9IGZpcnN0KG5vZGVzKTtcblxuICAgICAgbm9kZSA9IGZpcnN0Tm9kZTsgLy8vXG4gICAgfSBlbHNlIHtcbiAgICAgIG5vZGUgPSBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiBub2RlO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub2Rlc1F1ZXJ5KGV4cHJlc3Npb24pIHtcbiAgY29uc3QgcXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvbihleHByZXNzaW9uKTtcblxuICByZXR1cm4gZnVuY3Rpb24obm9kZSkge1xuICAgIGNvbnN0IG5vZGVzID0gcXVlcnkuZXhlY3V0ZShub2RlKTtcblxuICAgIHJldHVybiBub2RlcztcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbGlua01hcmtkb3duTm9kZXNGcm9tTm9kZShub2RlLCBsaW5rTWFya2Rvd25Ob2RlcyA9IFtdKSB7XG4gIG5vZGVzRnJvbU5vZGVBbmRRdWVyeShub2RlLCBsaW5rTWFya2Rvd25Ob2Rlc1F1ZXJ5LCBsaW5rTWFya2Rvd25Ob2Rlcyk7XG5cbiAgcmV0dXJuIGxpbmtNYXJrZG93bk5vZGVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29udGVudHNNYXJrZG93bk5vZGVGcm9tTm9kZShub2RlKSB7XG4gIGNvbnN0IGNvbnRlbnRzTWFya2Rvd25Ob2RlID0gbm9kZUZyb21Ob2RlQW5kUXVlcnkobm9kZSwgY29udGVudHNNYXJrZG93bk5vZGVRdWVyeSk7XG5cbiAgcmV0dXJuIGNvbnRlbnRzTWFya2Rvd25Ob2RlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9vdG5vdGVzTWFya2Rvd25Ob2RlRnJvbU5vZGUobm9kZSkge1xuICBjb25zdCBmb290bm90ZXNNYXJrZG93bk5vZGUgPSBub2RlRnJvbU5vZGVBbmRRdWVyeShub2RlLCBmb290bm90ZXNNYXJrZG93bk5vZGVRdWVyeSk7XG5cbiAgcmV0dXJuIGZvb3Rub3Rlc01hcmtkb3duTm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhlYWRpbmdNYXJrZG93bk5vZGVzRnJvbU5vZGUobm9kZSwgaGVhZGluZ01hcmtkb3duTm9kZXMgPSBbXSkge1xuICBub2Rlc0Zyb21Ob2RlQW5kUXVlcnkobm9kZSwgaGVhZGluZ01hcmtkb3duTm9kZXNRdWVyeSwgaGVhZGluZ01hcmtkb3duTm9kZXMpO1xuXG4gIHJldHVybiBoZWFkaW5nTWFya2Rvd25Ob2Rlcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZvb3Rub3RlTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlKG5vZGUsIGZvb3Rub3RlTWFya2Rvd25Ob2RlcyA9IFtdKSB7XG4gIG5vZGVzRnJvbU5vZGVBbmRRdWVyeShub2RlLCBmb290bm90ZU1hcmtkb3duTm9kZXNRdWVyeSwgZm9vdG5vdGVNYXJrZG93bk5vZGVzKTtcblxuICByZXR1cm4gZm9vdG5vdGVNYXJrZG93bk5vZGVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVmZXJlbmNlTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlKG5vZGUsIHJlZmVyZW5jZU1hcmtkb3duTm9kZXMgPSBbXSkge1xuICBub2Rlc0Zyb21Ob2RlQW5kUXVlcnkobm9kZSwgcmVmZXJlbmNlTWFya2Rvd25Ob2Rlc1F1ZXJ5LCByZWZlcmVuY2VNYXJrZG93bk5vZGVzKTtcblxuICByZXR1cm4gcmVmZXJlbmNlTWFya2Rvd25Ob2Rlcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZvb3Rub3Rlc01hcmtkb3duTm9kZXNGcm9tTm9kZShub2RlLCBmb290bm90ZXNNYXJrZG93bk5vZGVzID0gW10pIHtcbiAgbm9kZXNGcm9tTm9kZUFuZFF1ZXJ5KG5vZGUsIGZvb3Rub3Rlc01hcmtkb3duTm9kZXNRdWVyeSwgZm9vdG5vdGVzTWFya2Rvd25Ob2Rlcyk7XG5cbiAgcmV0dXJuIGZvb3Rub3Rlc01hcmtkb3duTm9kZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsaW5rUmVmZXJlbmNlT3JGb290bm90ZXNNYXJrZG93bk5vZGVzRnJvbU5vZGUobm9kZSwgbGlua1JlZmVyZW5jZU9yRm9vdG5vdGVzTWFya2Rvd25Ob2RlcyA9IFtdKSB7XG4gIG5vZGVzRnJvbU5vZGVBbmRRdWVyeShub2RlLCBsaW5rUmVmZXJlbmNlT3JGb290bm90ZXNNYXJrZG93bk5vZGVzUXVlcnksIGxpbmtSZWZlcmVuY2VPckZvb3Rub3Rlc01hcmtkb3duTm9kZXMpO1xuXG4gIHJldHVybiBsaW5rUmVmZXJlbmNlT3JGb290bm90ZXNNYXJrZG93bk5vZGVzO1xufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIGxpbmtNYXJrZG93bk5vZGVzRnJvbU5vZGUsXG4gIGNvbnRlbnRzTWFya2Rvd25Ob2RlRnJvbU5vZGUsXG4gIGZvb3Rub3Rlc01hcmtkb3duTm9kZUZyb21Ob2RlLFxuICBoZWFkaW5nTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlLFxuICBmb290bm90ZU1hcmtkb3duTm9kZXNGcm9tTm9kZSxcbiAgcmVmZXJlbmNlTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlLFxuICBmb290bm90ZXNNYXJrZG93bk5vZGVzRnJvbU5vZGUsXG4gIGxpbmtSZWZlcmVuY2VPckZvb3Rub3Rlc01hcmtkb3duTm9kZXNGcm9tTm9kZVxufTtcblxuZnVuY3Rpb24gbm9kZUZyb21Ob2RlQW5kUXVlcnkobm9kZSwgcXVlcnkpIHtcbiAgY29uc3QgcXVlcnlOb2RlcyA9IHF1ZXJ5LmV4ZWN1dGUobm9kZSksXG4gICAgICAgIHF1ZXJ5Tm9kZXNMZW5ndGggPSBxdWVyeU5vZGVzLmxlbmd0aDtcblxuICBpZiAocXVlcnlOb2Rlc0xlbmd0aCA9PT0gMCkge1xuICAgIG5vZGUgPSBudWxsO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IGZpcnN0UXVlcnlOb2RlID0gZmlyc3QocXVlcnlOb2Rlcyk7XG5cbiAgICBub2RlID0gZmlyc3RRdWVyeU5vZGU7ICAvLy9cbiAgfVxuXG4gIHJldHVybiBub2RlO1xufVxuXG5mdW5jdGlvbiBub2Rlc0Zyb21Ob2RlQW5kUXVlcnkobm9kZSwgcXVlcnksIG5vZGVzKSB7XG4gIGNvbnN0IHF1ZXJ5Tm9kZXMgPSBxdWVyeS5leGVjdXRlKG5vZGUpO1xuXG4gIHB1c2gobm9kZXMsIHF1ZXJ5Tm9kZXMpO1xuXG4gIHJldHVybiBub2Rlcztcbn1cbiJdLCJuYW1lcyI6WyJjb250ZW50c01hcmtkb3duTm9kZUZyb21Ob2RlIiwiZm9vdG5vdGVNYXJrZG93bk5vZGVzRnJvbU5vZGUiLCJmb290bm90ZXNNYXJrZG93bk5vZGVGcm9tTm9kZSIsImZvb3Rub3Rlc01hcmtkb3duTm9kZXNGcm9tTm9kZSIsImhlYWRpbmdNYXJrZG93bk5vZGVzRnJvbU5vZGUiLCJsaW5rTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlIiwibGlua1JlZmVyZW5jZU9yRm9vdG5vdGVzTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlIiwibm9kZVF1ZXJ5Iiwibm9kZXNRdWVyeSIsInJlZmVyZW5jZU1hcmtkb3duTm9kZXNGcm9tTm9kZSIsImZpcnN0IiwiYXJyYXlVdGlsaXRpZXMiLCJwdXNoIiwibGlua01hcmtkb3duTm9kZXNRdWVyeSIsIlF1ZXJ5IiwiZnJvbUV4cHJlc3Npb24iLCJoZWFkaW5nTWFya2Rvd25Ob2Rlc1F1ZXJ5IiwiY29udGVudHNNYXJrZG93bk5vZGVRdWVyeSIsImZvb3Rub3RlTWFya2Rvd25Ob2Rlc1F1ZXJ5IiwiZm9vdG5vdGVzTWFya2Rvd25Ob2RlUXVlcnkiLCJmb290bm90ZXNNYXJrZG93bk5vZGVzUXVlcnkiLCJyZWZlcmVuY2VNYXJrZG93bk5vZGVzUXVlcnkiLCJsaW5rUmVmZXJlbmNlT3JGb290bm90ZXNNYXJrZG93bk5vZGVzUXVlcnkiLCJleHByZXNzaW9uIiwicXVlcnkiLCJub2RlIiwibm9kZXMiLCJleGVjdXRlIiwibm9kZXNMZW5ndGgiLCJsZW5ndGgiLCJmaXJzdE5vZGUiLCJsaW5rTWFya2Rvd25Ob2RlcyIsIm5vZGVzRnJvbU5vZGVBbmRRdWVyeSIsImNvbnRlbnRzTWFya2Rvd25Ob2RlIiwibm9kZUZyb21Ob2RlQW5kUXVlcnkiLCJmb290bm90ZXNNYXJrZG93bk5vZGUiLCJoZWFkaW5nTWFya2Rvd25Ob2RlcyIsImZvb3Rub3RlTWFya2Rvd25Ob2RlcyIsInJlZmVyZW5jZU1hcmtkb3duTm9kZXMiLCJmb290bm90ZXNNYXJrZG93bk5vZGVzIiwibGlua1JlZmVyZW5jZU9yRm9vdG5vdGVzTWFya2Rvd25Ob2RlcyIsInF1ZXJ5Tm9kZXMiLCJxdWVyeU5vZGVzTGVuZ3RoIiwiZmlyc3RRdWVyeU5vZGUiXSwicmFuZ2VNYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7IiwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQW1EZ0JBLDRCQUE0QjtlQUE1QkE7O0lBMENoQixPQVNFO2VBVEY7O0lBeEJnQkMsNkJBQTZCO2VBQTdCQTs7SUFaQUMsNkJBQTZCO2VBQTdCQTs7SUF3QkFDLDhCQUE4QjtlQUE5QkE7O0lBbEJBQyw0QkFBNEI7ZUFBNUJBOztJQWxCQUMseUJBQXlCO2VBQXpCQTs7SUEwQ0FDLDZDQUE2QztlQUE3Q0E7O0lBdkVBQyxTQUFTO2VBQVRBOztJQW1CQUMsVUFBVTtlQUFWQTs7SUF3Q0FDLDhCQUE4QjtlQUE5QkE7OzswQkF6RU07eUJBQ1M7QUFFL0IsSUFBUUMsUUFBZ0JDLHlCQUFjLENBQTlCRCxPQUFPRSxPQUFTRCx5QkFBYyxDQUF2QkM7QUFFZixJQUFNQyx5QkFBeUJDLGlCQUFLLENB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
|
|
142
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcXVlcnkuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IFF1ZXJ5IH0gZnJvbSBcIm9jY2FtLXF1ZXJ5XCI7XG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuY29uc3QgeyBmaXJzdCwgcHVzaCB9ID0gYXJyYXlVdGlsaXRpZXM7XG5cbmNvbnN0IGxpbmtNYXJrZG93bk5vZGVzUXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvbihgLy9saW5rYCksXG4gICAgICBpZ25vcmVNYXJrZG93bk5vZGVRdWVyeSA9IFF1ZXJ5LmZyb21FeHByZXNzaW9uKGAvL2lnbm9yZWApLFxuICAgICAgaGVhZGluZ01hcmtkb3duTm9kZXNRdWVyeSA9IFF1ZXJ5LmZyb21FeHByZXNzaW9uKGAvL3ByaW1hcnlIZWFkaW5nfHNlY29uZGFyeUhlYWRpbmd8dGVydGlhcnlIZWFkaW5nfHF1YXRlcm5hcnlIZWFkaW5nYCksXG4gICAgICBjb250ZW50c01hcmtkb3duTm9kZVF1ZXJ5ID0gUXVlcnkuZnJvbUV4cHJlc3Npb24oYC8vY29udGVudHNgKSxcbiAgICAgIGZvb3Rub3RlTWFya2Rvd25Ob2Rlc1F1ZXJ5ID0gUXVlcnkuZnJvbUV4cHJlc3Npb24oYC8vZm9vdG5vdGVgKSxcbiAgICAgIGZvb3Rub3Rlc01hcmtkb3duTm9kZVF1ZXJ5ID0gUXVlcnkuZnJvbUV4cHJlc3Npb24oYC9kaXZpc2lvbi9zdWJEaXZpc2lvbi9mb290bm90ZXNgKSxcbiAgICAgIGZvb3Rub3Rlc01hcmtkb3duTm9kZXNRdWVyeSA9IFF1ZXJ5LmZyb21FeHByZXNzaW9uKGAvL2Zvb3Rub3Rlc2ApLFxuICAgICAgcmVmZXJlbmNlTWFya2Rvd25Ob2Rlc1F1ZXJ5ID0gUXVlcnkuZnJvbUV4cHJlc3Npb24oYC8vcmVmZXJlbmNlYCksXG4gICAgICBsaW5rUmVmZXJlbmNlT3JGb290bm90ZXNNYXJrZG93bk5vZGVzUXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvbihgLy9saW5rfHJlZmVyZW5jZXxmb290bm90ZXNgKTtcblxuZXhwb3J0IGZ1bmN0aW9uIG5vZGVRdWVyeShleHByZXNzaW9uKSB7XG4gIGNvbnN0IHF1ZXJ5ID0gUXVlcnkuZnJvbUV4cHJlc3Npb24oZXhwcmVzc2lvbik7XG5cbiAgcmV0dXJuIGZ1bmN0aW9uKG5vZGUpIHtcbiAgICBjb25zdCBub2RlcyA9IHF1ZXJ5LmV4ZWN1dGUobm9kZSksXG4gICAgICAgICAgbm9kZXNMZW5ndGggPSBub2Rlcy5sZW5ndGg7XG5cbiAgICBpZiAobm9kZXNMZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBmaXJzdE5vZGUgPSBmaXJzdChub2Rlcyk7XG5cbiAgICAgIG5vZGUgPSBmaXJzdE5vZGU7IC8vL1xuICAgIH0gZWxzZSB7XG4gICAgICBub2RlID0gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gbm9kZTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbm9kZXNRdWVyeShleHByZXNzaW9uKSB7XG4gIGNvbnN0IHF1ZXJ5ID0gUXVlcnkuZnJvbUV4cHJlc3Npb24oZXhwcmVzc2lvbik7XG5cbiAgcmV0dXJuIGZ1bmN0aW9uKG5vZGUpIHtcbiAgICBjb25zdCBub2RlcyA9IHF1ZXJ5LmV4ZWN1dGUobm9kZSk7XG5cbiAgICByZXR1cm4gbm9kZXM7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxpbmtNYXJrZG93bk5vZGVzRnJvbU5vZGUobm9kZSwgbGlua01hcmtkb3duTm9kZXMgPSBbXSkge1xuICBub2Rlc0Zyb21Ob2RlQW5kUXVlcnkobm9kZSwgbGlua01hcmtkb3duTm9kZXNRdWVyeSwgbGlua01hcmtkb3duTm9kZXMpO1xuXG4gIHJldHVybiBsaW5rTWFya2Rvd25Ob2Rlcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlnbm9yZU1hcmtkb3duTm9kZUZyb21Ob2RlKG5vZGUpIHtcbiAgY29uc3QgaWdub3JlTWFya2Rvd25Ob2RlID0gbm9kZUZyb21Ob2RlQW5kUXVlcnkobm9kZSwgaWdub3JlTWFya2Rvd25Ob2RlUXVlcnkpO1xuXG4gIHJldHVybiBpZ25vcmVNYXJrZG93bk5vZGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb250ZW50c01hcmtkb3duTm9kZUZyb21Ob2RlKG5vZGUpIHtcbiAgY29uc3QgY29udGVudHNNYXJrZG93bk5vZGUgPSBub2RlRnJvbU5vZGVBbmRRdWVyeShub2RlLCBjb250ZW50c01hcmtkb3duTm9kZVF1ZXJ5KTtcblxuICByZXR1cm4gY29udGVudHNNYXJrZG93bk5vZGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmb290bm90ZXNNYXJrZG93bk5vZGVGcm9tTm9kZShub2RlKSB7XG4gIGNvbnN0IGZvb3Rub3Rlc01hcmtkb3duTm9kZSA9IG5vZGVGcm9tTm9kZUFuZFF1ZXJ5KG5vZGUsIGZvb3Rub3Rlc01hcmtkb3duTm9kZVF1ZXJ5KTtcblxuICByZXR1cm4gZm9vdG5vdGVzTWFya2Rvd25Ob2RlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGVhZGluZ01hcmtkb3duTm9kZXNGcm9tTm9kZShub2RlLCBoZWFkaW5nTWFya2Rvd25Ob2RlcyA9IFtdKSB7XG4gIG5vZGVzRnJvbU5vZGVBbmRRdWVyeShub2RlLCBoZWFkaW5nTWFya2Rvd25Ob2Rlc1F1ZXJ5LCBoZWFkaW5nTWFya2Rvd25Ob2Rlcyk7XG5cbiAgcmV0dXJuIGhlYWRpbmdNYXJrZG93bk5vZGVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9vdG5vdGVNYXJrZG93bk5vZGVzRnJvbU5vZGUobm9kZSwgZm9vdG5vdGVNYXJrZG93bk5vZGVzID0gW10pIHtcbiAgbm9kZXNGcm9tTm9kZUFuZFF1ZXJ5KG5vZGUsIGZvb3Rub3RlTWFya2Rvd25Ob2Rlc1F1ZXJ5LCBmb290bm90ZU1hcmtkb3duTm9kZXMpO1xuXG4gIHJldHVybiBmb290bm90ZU1hcmtkb3duTm9kZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZWZlcmVuY2VNYXJrZG93bk5vZGVzRnJvbU5vZGUobm9kZSwgcmVmZXJlbmNlTWFya2Rvd25Ob2RlcyA9IFtdKSB7XG4gIG5vZGVzRnJvbU5vZGVBbmRRdWVyeShub2RlLCByZWZlcmVuY2VNYXJrZG93bk5vZGVzUXVlcnksIHJlZmVyZW5jZU1hcmtkb3duTm9kZXMpO1xuXG4gIHJldHVybiByZWZlcmVuY2VNYXJrZG93bk5vZGVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9vdG5vdGVzTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlKG5vZGUsIGZvb3Rub3Rlc01hcmtkb3duTm9kZXMgPSBbXSkge1xuICBub2Rlc0Zyb21Ob2RlQW5kUXVlcnkobm9kZSwgZm9vdG5vdGVzTWFya2Rvd25Ob2Rlc1F1ZXJ5LCBmb290bm90ZXNNYXJrZG93bk5vZGVzKTtcblxuICByZXR1cm4gZm9vdG5vdGVzTWFya2Rvd25Ob2Rlcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxpbmtSZWZlcmVuY2VPckZvb3Rub3Rlc01hcmtkb3duTm9kZXNGcm9tTm9kZShub2RlLCBsaW5rUmVmZXJlbmNlT3JGb290bm90ZXNNYXJrZG93bk5vZGVzID0gW10pIHtcbiAgbm9kZXNGcm9tTm9kZUFuZFF1ZXJ5KG5vZGUsIGxpbmtSZWZlcmVuY2VPckZvb3Rub3Rlc01hcmtkb3duTm9kZXNRdWVyeSwgbGlua1JlZmVyZW5jZU9yRm9vdG5vdGVzTWFya2Rvd25Ob2Rlcyk7XG5cbiAgcmV0dXJuIGxpbmtSZWZlcmVuY2VPckZvb3Rub3Rlc01hcmtkb3duTm9kZXM7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgbGlua01hcmtkb3duTm9kZXNGcm9tTm9kZSxcbiAgaWdub3JlTWFya2Rvd25Ob2RlRnJvbU5vZGUsXG4gIGNvbnRlbnRzTWFya2Rvd25Ob2RlRnJvbU5vZGUsXG4gIGZvb3Rub3Rlc01hcmtkb3duTm9kZUZyb21Ob2RlLFxuICBoZWFkaW5nTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlLFxuICBmb290bm90ZU1hcmtkb3duTm9kZXNGcm9tTm9kZSxcbiAgcmVmZXJlbmNlTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlLFxuICBmb290bm90ZXNNYXJrZG93bk5vZGVzRnJvbU5vZGUsXG4gIGxpbmtSZWZlcmVuY2VPckZvb3Rub3Rlc01hcmtkb3duTm9kZXNGcm9tTm9kZVxufTtcblxuZnVuY3Rpb24gbm9kZUZyb21Ob2RlQW5kUXVlcnkobm9kZSwgcXVlcnkpIHtcbiAgY29uc3QgcXVlcnlOb2RlcyA9IHF1ZXJ5LmV4ZWN1dGUobm9kZSksXG4gICAgICAgIHF1ZXJ5Tm9kZXNMZW5ndGggPSBxdWVyeU5vZGVzLmxlbmd0aDtcblxuICBpZiAocXVlcnlOb2Rlc0xlbmd0aCA9PT0gMCkge1xuICAgIG5vZGUgPSBudWxsO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IGZpcnN0UXVlcnlOb2RlID0gZmlyc3QocXVlcnlOb2Rlcyk7XG5cbiAgICBub2RlID0gZmlyc3RRdWVyeU5vZGU7ICAvLy9cbiAgfVxuXG4gIHJldHVybiBub2RlO1xufVxuXG5mdW5jdGlvbiBub2Rlc0Zyb21Ob2RlQW5kUXVlcnkobm9kZSwgcXVlcnksIG5vZGVzKSB7XG4gIGNvbnN0IHF1ZXJ5Tm9kZXMgPSBxdWVyeS5leGVjdXRlKG5vZGUpO1xuXG4gIHB1c2gobm9kZXMsIHF1ZXJ5Tm9kZXMpO1xuXG4gIHJldHVybiBub2Rlcztcbn1cbiJdLCJuYW1lcyI6WyJjb250ZW50c01hcmtkb3duTm9kZUZyb21Ob2RlIiwiZm9vdG5vdGVNYXJrZG93bk5vZGVzRnJvbU5vZGUiLCJmb290bm90ZXNNYXJrZG93bk5vZGVGcm9tTm9kZSIsImZvb3Rub3Rlc01hcmtkb3duTm9kZXNGcm9tTm9kZSIsImhlYWRpbmdNYXJrZG93bk5vZGVzRnJvbU5vZGUiLCJpZ25vcmVNYXJrZG93bk5vZGVGcm9tTm9kZSIsImxpbmtNYXJrZG93bk5vZGVzRnJvbU5vZGUiLCJsaW5rUmVmZXJlbmNlT3JGb290bm90ZXNNYXJrZG93bk5vZGVzRnJvbU5vZGUiLCJub2RlUXVlcnkiLCJub2Rlc1F1ZXJ5IiwicmVmZXJlbmNlTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlIiwiZmlyc3QiLCJhcnJheVV0aWxpdGllcyIsInB1c2giLCJsaW5rTWFya2Rvd25Ob2Rlc1F1ZXJ5IiwiUXVlcnkiLCJmcm9tRXhwcmVzc2lvbiIsImlnbm9yZU1hcmtkb3duTm9kZVF1ZXJ5IiwiaGVhZGluZ01hcmtkb3duTm9kZXNRdWVyeSIsImNvbnRlbnRzTWFya2Rvd25Ob2RlUXVlcnkiLCJmb290bm90ZU1hcmtkb3duTm9kZXNRdWVyeSIsImZvb3Rub3Rlc01hcmtkb3duTm9kZVF1ZXJ5IiwiZm9vdG5vdGVzTWFya2Rvd25Ob2Rlc1F1ZXJ5IiwicmVmZXJlbmNlTWFya2Rvd25Ob2Rlc1F1ZXJ5IiwibGlua1JlZmVyZW5jZU9yRm9vdG5vdGVzTWFya2Rvd25Ob2Rlc1F1ZXJ5IiwiZXhwcmVzc2lvbiIsInF1ZXJ5Iiwibm9kZSIsIm5vZGVzIiwiZXhlY3V0ZSIsIm5vZGVzTGVuZ3RoIiwibGVuZ3RoIiwiZmlyc3ROb2RlIiwibGlua01hcmtkb3duTm9kZXMiLCJub2Rlc0Zyb21Ob2RlQW5kUXVlcnkiLCJpZ25vcmVNYXJrZG93bk5vZGUiLCJub2RlRnJvbU5vZGVBbmRRdWVyeSIsImNvbnRlbnRzTWFya2Rvd25Ob2RlIiwiZm9vdG5vdGVzTWFya2Rvd25Ob2RlIiwiaGVhZGluZ01hcmtkb3duTm9kZXMiLCJmb290bm90ZU1hcmtkb3duTm9kZXMiLCJyZWZlcmVuY2VNYXJrZG93bk5vZGVzIiwiZm9vdG5vdGVzTWFya2Rvd25Ob2RlcyIsImxpbmtSZWZlcmVuY2VPckZvb3Rub3Rlc01hcmtkb3duTm9kZXMiLCJxdWVyeU5vZGVzIiwicXVlcnlOb2Rlc0xlbmd0aCIsImZpcnN0UXVlcnlOb2RlIl0sInJhbmdlTWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7IiwibWFw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
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: all[name]
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
replaceNode: function() {
|
|
13
|
+
return replaceNode;
|
|
14
|
+
},
|
|
15
|
+
replaceTokens: function() {
|
|
16
|
+
return replaceTokens;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
function _array_like_to_array(arr, len) {
|
|
20
|
+
if (len == null || len > arr.length) len = arr.length;
|
|
21
|
+
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
22
|
+
return arr2;
|
|
23
|
+
}
|
|
24
|
+
function _array_without_holes(arr) {
|
|
25
|
+
if (Array.isArray(arr)) return _array_like_to_array(arr);
|
|
26
|
+
}
|
|
27
|
+
function _iterable_to_array(iter) {
|
|
28
|
+
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
29
|
+
}
|
|
30
|
+
function _non_iterable_spread() {
|
|
31
|
+
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
32
|
+
}
|
|
33
|
+
function _to_consumable_array(arr) {
|
|
34
|
+
return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
|
|
35
|
+
}
|
|
36
|
+
function _unsupported_iterable_to_array(o, minLen) {
|
|
37
|
+
if (!o) return;
|
|
38
|
+
if (typeof o === "string") return _array_like_to_array(o, minLen);
|
|
39
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
40
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
41
|
+
if (n === "Map" || n === "Set") return Array.from(n);
|
|
42
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
43
|
+
}
|
|
44
|
+
function replaceNode(replacementNode, replacedNode, parentNode) {
|
|
45
|
+
var replacedChildNode = replacedNode, replacementChildNode = replacementNode; ///
|
|
46
|
+
parentNode.replaceChildNode(replacedChildNode, replacementChildNode);
|
|
47
|
+
}
|
|
48
|
+
function replaceTokens(replacementTokens, replacedNode, tokens) {
|
|
49
|
+
var _tokens;
|
|
50
|
+
var nonTerminalNode = replacedNode, lastSignificantToken = nonTerminalNode.getLastSignificantToken(), firstSignificantToken = nonTerminalNode.getFirstSignificantToken(), lastSignificantTokenIndex = tokens.indexOf(lastSignificantToken), firstSignificantTokenIndex = tokens.indexOf(firstSignificantToken), start = firstSignificantTokenIndex, end = lastSignificantTokenIndex + 1, deleteCount = end - start;
|
|
51
|
+
(_tokens = tokens).splice.apply(_tokens, [
|
|
52
|
+
start,
|
|
53
|
+
deleteCount
|
|
54
|
+
].concat(_to_consumable_array(replacementTokens)));
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcmVwbGFjZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHJlcGxhY2VOb2RlKHJlcGxhY2VtZW50Tm9kZSwgcmVwbGFjZWROb2RlLCBwYXJlbnROb2RlKSB7XG4gIGNvbnN0IHJlcGxhY2VkQ2hpbGROb2RlID0gcmVwbGFjZWROb2RlLCAgLy8vXG4gICAgICAgIHJlcGxhY2VtZW50Q2hpbGROb2RlID0gcmVwbGFjZW1lbnROb2RlOyAvLy9cblxuICBwYXJlbnROb2RlLnJlcGxhY2VDaGlsZE5vZGUocmVwbGFjZWRDaGlsZE5vZGUsIHJlcGxhY2VtZW50Q2hpbGROb2RlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlcGxhY2VUb2tlbnMocmVwbGFjZW1lbnRUb2tlbnMsIHJlcGxhY2VkTm9kZSwgdG9rZW5zKSB7XG4gIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IHJlcGxhY2VkTm9kZSwgIC8vL1xuICAgICAgICBsYXN0U2lnbmlmaWNhbnRUb2tlbiA9IG5vblRlcm1pbmFsTm9kZS5nZXRMYXN0U2lnbmlmaWNhbnRUb2tlbigpLFxuICAgICAgICBmaXJzdFNpZ25pZmljYW50VG9rZW4gPSBub25UZXJtaW5hbE5vZGUuZ2V0Rmlyc3RTaWduaWZpY2FudFRva2VuKCksXG4gICAgICAgIGxhc3RTaWduaWZpY2FudFRva2VuSW5kZXggPSB0b2tlbnMuaW5kZXhPZihsYXN0U2lnbmlmaWNhbnRUb2tlbiksXG4gICAgICAgIGZpcnN0U2lnbmlmaWNhbnRUb2tlbkluZGV4ID0gdG9rZW5zLmluZGV4T2YoZmlyc3RTaWduaWZpY2FudFRva2VuKSxcbiAgICAgICAgc3RhcnQgPSBmaXJzdFNpZ25pZmljYW50VG9rZW5JbmRleCwgLy8vXG4gICAgICAgIGVuZCA9IGxhc3RTaWduaWZpY2FudFRva2VuSW5kZXggKyAxLFxuICAgICAgICBkZWxldGVDb3VudCA9IGVuZCAtIHN0YXJ0O1xuXG4gIHRva2Vucy5zcGxpY2Uoc3RhcnQsIGRlbGV0ZUNvdW50LCAuLi5yZXBsYWNlbWVudFRva2Vucyk7XG59XG4iXSwibmFtZXMiOlsicmVwbGFjZU5vZGUiLCJyZXBsYWNlVG9rZW5zIiwicmVwbGFjZW1lbnROb2RlIiwicmVwbGFjZWROb2RlIiwicGFyZW50Tm9kZSIsInJlcGxhY2VkQ2hpbGROb2RlIiwicmVwbGFjZW1lbnRDaGlsZE5vZGUiLCJyZXBsYWNlQ2hpbGROb2RlIiwicmVwbGFjZW1lbnRUb2tlbnMiLCJ0b2tlbnMiLCJub25UZXJtaW5hbE5vZGUiLCJsYXN0U2lnbmlmaWNhbnRUb2tlbiIsImdldExhc3RTaWduaWZpY2FudFRva2VuIiwiZmlyc3RTaWduaWZpY2FudFRva2VuIiwiZ2V0Rmlyc3RTaWduaWZpY2FudFRva2VuIiwibGFzdFNpZ25pZmljYW50VG9rZW5JbmRleCIsImluZGV4T2YiLCJmaXJzdFNpZ25pZmljYW50VG9rZW5JbmRleCIsInN0YXJ0IiwiZW5kIiwiZGVsZXRlQ291bnQiLCJzcGxpY2UiXSwicmFuZ2VNYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OyIsIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFFZ0JBLFdBQVc7ZUFBWEE7O0lBT0FDLGFBQWE7ZUFBYkE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFQVCxTQUFTRCxZQUFZRSxlQUFlLEVBQUVDLFlBQVksRUFBRUMsVUFBVTtJQUNuRSxJQUFNQyxvQkFBb0JGLGNBQ3BCRyx1QkFBdUJKLGlCQUFpQixHQUFHO0lBRWpERSxXQUFXRyxnQkFBZ0IsQ0FBQ0YsbUJBQW1CQztBQUNqRDtBQUVPLFNBQVNMLGNBQWNPLGlCQUFpQixFQUFFTCxZQUFZLEVBQUVNLE1BQU07UUFVbkVBO0lBVEEsSUFBTUMsa0JBQWtCUCxjQUNsQlEsdUJBQXVCRCxnQkFBZ0JFLHVCQUF1QixJQUM5REMsd0JBQXdCSCxnQkFBZ0JJLHdCQUF3QixJQUNoRUMsNEJBQTRCTixPQUFPTyxPQUFPLENBQUNMLHVCQUMzQ00sNkJBQTZCUixPQUFPTyxPQUFPLENBQUNILHdCQUM1Q0ssUUFBUUQsNEJBQ1JFLE1BQU1KLDRCQUE0QixHQUNsQ0ssY0FBY0QsTUFBTUQ7SUFFMUJULENBQUFBLFVBQUFBLFFBQU9ZLE1BQU0sQ0FBYlosTUFBQUEsU0FBQUE7UUFBY1M7UUFBT0U7S0FBa0MsQ0FBdkRYLE9BQWtDLHFCQUFHRDtBQUN2QyJ9
|
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.228",
|
|
5
5
|
"license": "MIT, Anti-996",
|
|
6
6
|
"homepage": "https://github.com/djalbat/highmark-markdown",
|
|
7
7
|
"description": "Highmark's Markdown.",
|
|
@@ -17,12 +17,12 @@
|
|
|
17
17
|
},
|
|
18
18
|
"devDependencies": {
|
|
19
19
|
"@swc/core": "1.2.52",
|
|
20
|
-
"easy": "^16.0.
|
|
21
|
-
"easy-layout": "^6.0.
|
|
22
|
-
"easy-with-style": "^3.0.
|
|
20
|
+
"easy": "^16.0.21",
|
|
21
|
+
"easy-layout": "^6.0.145",
|
|
22
|
+
"easy-with-style": "^3.0.349",
|
|
23
23
|
"esbuild": "^0.9.2",
|
|
24
24
|
"express": "^4.17.1",
|
|
25
|
-
"juxtapose": "^4.0.
|
|
25
|
+
"juxtapose": "^4.0.81",
|
|
26
26
|
"lively-cli": "^2.0.52",
|
|
27
27
|
"watchful-cli": "^1.7.44"
|
|
28
28
|
},
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export default class ClonedNode {
|
|
4
|
+
constructor(node, tokens) {
|
|
5
|
+
this.node = node;
|
|
6
|
+
this.tokens = tokens;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
getNode() {
|
|
10
|
+
return this.node;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
getTokens() {
|
|
14
|
+
return this.tokens;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
getChildNodes() { return this.node.getChildNodes(); }
|
|
18
|
+
|
|
19
|
+
static fromNode(node, context) {
|
|
20
|
+
let { tokens } = context;
|
|
21
|
+
|
|
22
|
+
const offset = offsetFromNodeAndTokens(node, tokens),
|
|
23
|
+
replacementTokens = replacementTokensFromNodeAndTokens(node, tokens);
|
|
24
|
+
|
|
25
|
+
node = node.clone(); ///
|
|
26
|
+
|
|
27
|
+
replaceNodeTokens(node, replacementTokens, offset, tokens);
|
|
28
|
+
|
|
29
|
+
tokens = replacementTokens; ///
|
|
30
|
+
|
|
31
|
+
const clonedNode = new ClonedNode(node, tokens);
|
|
32
|
+
|
|
33
|
+
return clonedNode;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
function replaceNodeTokens(node, replacementTokens, offset, tokens) {
|
|
38
|
+
const nodeTerminalNode = node.isTerminalNode();
|
|
39
|
+
|
|
40
|
+
if (nodeTerminalNode) {
|
|
41
|
+
const terminalNode = node; ///
|
|
42
|
+
|
|
43
|
+
replaceTerminalNodeTokens(terminalNode, replacementTokens, offset, tokens);
|
|
44
|
+
} else {
|
|
45
|
+
const nonTerminalNode = node; ///
|
|
46
|
+
|
|
47
|
+
replaceNonTerminalNodeTokens(nonTerminalNode, replacementTokens, offset, tokens);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
function replaceChildNodesTokens(childNodes, replacementTokens, offset, tokens) {
|
|
52
|
+
childNodes.forEach((childNode) => {
|
|
53
|
+
const node = childNode; ///
|
|
54
|
+
|
|
55
|
+
replaceNodeTokens(node, replacementTokens, offset, tokens);
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
function replaceTerminalNodeTokens(terminalNode, replacementTokens, offset, tokens) {
|
|
60
|
+
let index,
|
|
61
|
+
significantToken;
|
|
62
|
+
|
|
63
|
+
significantToken = terminalNode.getSignificantToken();
|
|
64
|
+
|
|
65
|
+
if (significantToken !== null) {
|
|
66
|
+
index = tokens.indexOf(significantToken);
|
|
67
|
+
|
|
68
|
+
index -= offset;
|
|
69
|
+
|
|
70
|
+
const replacementToken = replacementTokens[index];
|
|
71
|
+
|
|
72
|
+
significantToken = replacementToken; ///
|
|
73
|
+
|
|
74
|
+
terminalNode.setSignificantToken(significantToken);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
function replaceNonTerminalNodeTokens(nonTerminalNode, replacementTokens, offset, tokens) {
|
|
79
|
+
const childNodes = nonTerminalNode.getChildNodes();
|
|
80
|
+
|
|
81
|
+
replaceChildNodesTokens(childNodes, replacementTokens, offset, tokens);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
function offsetFromNodeAndTokens(node, tokens) {
|
|
85
|
+
let offset;
|
|
86
|
+
|
|
87
|
+
const nodeTerminalNode = node.isTerminalNode();
|
|
88
|
+
|
|
89
|
+
if (nodeTerminalNode) {
|
|
90
|
+
const terminalNode = node, ///
|
|
91
|
+
significantToken = terminalNode.getSignificantToken();
|
|
92
|
+
|
|
93
|
+
if (significantToken === null) {
|
|
94
|
+
offset = -1;
|
|
95
|
+
} else {
|
|
96
|
+
const significantTokenIndex = tokens.indexOf(significantToken);
|
|
97
|
+
|
|
98
|
+
offset = significantTokenIndex; ///
|
|
99
|
+
}
|
|
100
|
+
} else {
|
|
101
|
+
const nonTerminalNode = node, ///
|
|
102
|
+
firstSignificantToken = nonTerminalNode.getFirstSignificantToken(),
|
|
103
|
+
firstSignificantTokenIndex = tokens.indexOf(firstSignificantToken);
|
|
104
|
+
|
|
105
|
+
offset = firstSignificantTokenIndex; ///
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
return offset;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
function replacementTokensFromNodeAndTokens(node, tokens) {
|
|
112
|
+
const nodeTerminalNode = node.isTerminalNode();
|
|
113
|
+
|
|
114
|
+
if (nodeTerminalNode) {
|
|
115
|
+
const terminalNode = node, ///
|
|
116
|
+
significantToken = terminalNode.getSignificantToken();
|
|
117
|
+
|
|
118
|
+
if (significantToken === null) {
|
|
119
|
+
tokens = [];
|
|
120
|
+
} else {
|
|
121
|
+
const token = significantToken; ///
|
|
122
|
+
|
|
123
|
+
tokens = [
|
|
124
|
+
token
|
|
125
|
+
];
|
|
126
|
+
}
|
|
127
|
+
} else {
|
|
128
|
+
const nonTerminalNode = node, ///
|
|
129
|
+
lastSignificantToken = nonTerminalNode.getLastSignificantToken(),
|
|
130
|
+
firstSignificantToken = nonTerminalNode.getFirstSignificantToken(),
|
|
131
|
+
lastSignificantTokenIndex = tokens.indexOf(lastSignificantToken),
|
|
132
|
+
firstSignificantTokenIndex = tokens.indexOf(firstSignificantToken),
|
|
133
|
+
start = firstSignificantTokenIndex, ///
|
|
134
|
+
end = lastSignificantTokenIndex + 1;
|
|
135
|
+
|
|
136
|
+
tokens = tokens.slice(start, end); ///
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
const replacementTokens = tokens.map((token) => { ///
|
|
140
|
+
const replacementToken = token.clone(); ///;
|
|
141
|
+
|
|
142
|
+
return replacementToken;
|
|
143
|
+
});
|
|
144
|
+
|
|
145
|
+
return replacementTokens;
|
|
146
|
+
}
|
package/src/elementMap.js
CHANGED
|
@@ -8,6 +8,7 @@ import { LINK_RULE_NAME,
|
|
|
8
8
|
ANCHOR_RULE_NAME,
|
|
9
9
|
MARKER_RULE_NAME,
|
|
10
10
|
BULLET_RULE_NAME,
|
|
11
|
+
IGNORE_RULE_NAME,
|
|
11
12
|
IMPORT_RULE_NAME,
|
|
12
13
|
IMPORTS_RULE_NAME,
|
|
13
14
|
CONTENTS_RULE_NAME,
|
|
@@ -88,6 +89,10 @@ const elementMap = {
|
|
|
88
89
|
tagName: null,
|
|
89
90
|
className: null
|
|
90
91
|
},
|
|
92
|
+
[IGNORE_RULE_NAME]: {
|
|
93
|
+
tagName: null,
|
|
94
|
+
className: null
|
|
95
|
+
},
|
|
91
96
|
[IMPORT_RULE_NAME]: {
|
|
92
97
|
tagName: null,
|
|
93
98
|
className: null
|
|
@@ -23,12 +23,14 @@ class PreviewDiv extends Element {
|
|
|
23
23
|
});
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
-
update(
|
|
27
|
-
this.clear();
|
|
28
|
-
|
|
26
|
+
update(domElements) {
|
|
29
27
|
const parentDOMElement = this.getParentDOMElement();
|
|
30
28
|
|
|
31
|
-
|
|
29
|
+
this.clear();
|
|
30
|
+
|
|
31
|
+
domElements.forEach((domElement) => {
|
|
32
|
+
parentDOMElement.appendChild(domElement);
|
|
33
|
+
});
|
|
32
34
|
}
|
|
33
35
|
|
|
34
36
|
parentContext() {
|
package/src/example/view/xmp.js
CHANGED
|
@@ -7,6 +7,16 @@ import { Element } from "easy";
|
|
|
7
7
|
import { EMPTY_STRING } from "../constants";
|
|
8
8
|
|
|
9
9
|
class XMP extends Element {
|
|
10
|
+
update(htmls) {
|
|
11
|
+
htmls = htmls.join(EMPTY_STRING);
|
|
12
|
+
|
|
13
|
+
const body = `<body>
|
|
14
|
+
${htmls}</body>`,
|
|
15
|
+
html = body;
|
|
16
|
+
|
|
17
|
+
this.html(html);
|
|
18
|
+
}
|
|
19
|
+
|
|
10
20
|
clear() {
|
|
11
21
|
const html = EMPTY_STRING;
|
|
12
22
|
|
|
@@ -14,12 +24,12 @@ class XMP extends Element {
|
|
|
14
24
|
}
|
|
15
25
|
|
|
16
26
|
parentContext() {
|
|
17
|
-
const
|
|
18
|
-
|
|
27
|
+
const clearXMP = this.clear.bind(this), ///
|
|
28
|
+
updateXMP = this.update.bind(this); ///
|
|
19
29
|
|
|
20
30
|
return ({
|
|
21
|
-
|
|
22
|
-
|
|
31
|
+
clearXMP,
|
|
32
|
+
updateXMP
|
|
23
33
|
});
|
|
24
34
|
}
|
|
25
35
|
|
package/src/example/view.js
CHANGED
|
@@ -40,24 +40,44 @@ class View extends Element {
|
|
|
40
40
|
|
|
41
41
|
if (node !== null) {
|
|
42
42
|
const divisionMarkdownNode = node, ///
|
|
43
|
-
|
|
43
|
+
divisionMarkdownNodes = [
|
|
44
|
+
divisionMarkdownNode
|
|
45
|
+
],
|
|
44
46
|
context = {
|
|
45
47
|
tokens,
|
|
46
|
-
importer
|
|
48
|
+
importer,
|
|
49
|
+
divisionMarkdownNodes
|
|
47
50
|
};
|
|
48
51
|
|
|
49
|
-
divisionMarkdownNode.resolveImports(
|
|
52
|
+
divisionMarkdownNode.resolveImports(context);
|
|
50
53
|
|
|
51
|
-
|
|
54
|
+
divisionMarkdownNodes.forEach((divisionMarkdownNode) => {
|
|
55
|
+
divisionMarkdownNode.createFootnotes(context);
|
|
56
|
+
});
|
|
52
57
|
|
|
53
|
-
|
|
58
|
+
divisionMarkdownNodes.some((divisionMarkdownNode) => {
|
|
59
|
+
const contentsCreated = divisionMarkdownNode.createContents(context);
|
|
54
60
|
|
|
55
|
-
|
|
56
|
-
|
|
61
|
+
if (contentsCreated) {
|
|
62
|
+
return true;
|
|
63
|
+
}
|
|
64
|
+
});
|
|
57
65
|
|
|
58
|
-
|
|
66
|
+
const htmls = [],
|
|
67
|
+
domElements = [];
|
|
59
68
|
|
|
60
|
-
|
|
69
|
+
divisionMarkdownNodes.forEach((divisionMarkdownNode) => {
|
|
70
|
+
const html = divisionMarkdownNode.asHTML(context),
|
|
71
|
+
domElement = divisionMarkdownNode.createDOMElement(context);
|
|
72
|
+
|
|
73
|
+
htmls.push(html);
|
|
74
|
+
|
|
75
|
+
domElements.push(domElement);
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
this.updateXMP(htmls);
|
|
79
|
+
|
|
80
|
+
this.updatePreviewDiv(domElements);
|
|
61
81
|
} else {
|
|
62
82
|
this.clearXMP();
|
|
63
83
|
|
|
@@ -120,23 +140,14 @@ class View extends Element {
|
|
|
120
140
|
this.update();
|
|
121
141
|
}
|
|
122
142
|
|
|
123
|
-
static initialMarkdownStyle = `
|
|
124
|
-
min-height: initial;
|
|
125
|
-
|
|
126
|
-
@media preview {
|
|
127
|
-
division division {
|
|
128
|
-
padding: 24pt;
|
|
129
|
-
}
|
|
130
|
-
}
|
|
143
|
+
static initialMarkdownStyle = `min-height: initial;
|
|
131
144
|
|
|
145
|
+
colour: red;
|
|
132
146
|
`;
|
|
133
147
|
|
|
134
148
|
static initialMarkdown = `Occam [^occam]
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
@footnotes
|
|
139
|
-
|
|
149
|
+
|
|
150
|
+
@import example.md
|
|
140
151
|
`;
|
|
141
152
|
|
|
142
153
|
static tagName = "div";
|
|
@@ -157,19 +168,20 @@ export default withStyle(View)`
|
|
|
157
168
|
`;
|
|
158
169
|
|
|
159
170
|
function importer(filePath, context) {
|
|
160
|
-
const content = `
|
|
161
|
-
Occam.[^occam]
|
|
171
|
+
const content = `Occam.[^occam]
|
|
162
172
|
|
|
163
173
|
[^another]: Occam footnote.
|
|
164
174
|
|
|
165
175
|
`,
|
|
166
|
-
className = "introduction",
|
|
167
176
|
tokens = markdownLexer.tokenise(content),
|
|
168
|
-
node = markdownParser.parse(tokens)
|
|
177
|
+
node = markdownParser.parse(tokens),
|
|
178
|
+
importedNode = node, ///
|
|
179
|
+
importedTokens = tokens,
|
|
180
|
+
importedClassName = "introduction";
|
|
169
181
|
|
|
170
182
|
Object.assign(context, {
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
183
|
+
importedNode,
|
|
184
|
+
importedTokens,
|
|
185
|
+
importedClassName
|
|
174
186
|
});
|
|
175
187
|
}
|
package/src/markdown/bnf.js
CHANGED
|
@@ -5,7 +5,9 @@ const bnf = `
|
|
|
5
5
|
division ::= ( subDivision | endOfLine | error )+ ;
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
subDivision.. ::= ( endOfLine | <START_OF_CONTENT> ) (
|
|
8
|
+
subDivision.. ::= ( endOfLine | <START_OF_CONTENT> ) ( ignore
|
|
9
|
+
|
|
10
|
+
| imports
|
|
9
11
|
|
|
10
12
|
| contents
|
|
11
13
|
|
|
@@ -79,6 +81,9 @@ const bnf = `
|
|
|
79
81
|
blockListing ::= blockListingStart blockText blockListingEnd ;
|
|
80
82
|
|
|
81
83
|
|
|
84
|
+
ignore ::= "@"<NO_WHITESPACE>"ignore" ;
|
|
85
|
+
|
|
86
|
+
|
|
82
87
|
imports ::= import+ ;
|
|
83
88
|
|
|
84
89
|
|
|
@@ -6,6 +6,17 @@ import ContentsLinkMarkdownNode from "../../node/markdown/contentsLink";
|
|
|
6
6
|
import { CONTENTS_ITEM_RULE_NAME } from "../../ruleNames";
|
|
7
7
|
|
|
8
8
|
export default class ContentsItemMarkdownNode extends MarkdownNode {
|
|
9
|
+
getTokens(tokens = []) {
|
|
10
|
+
const childNodes = this.getChildNodes(),
|
|
11
|
+
contentsItemMarkdownNodes = childNodes; ///
|
|
12
|
+
|
|
13
|
+
contentsItemMarkdownNodes.forEach((contentsItemMarkdownNode) => {
|
|
14
|
+
contentsItemMarkdownNode.getTokens(tokens);
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
return tokens;
|
|
18
|
+
}
|
|
19
|
+
|
|
9
20
|
static fromContentsListMarkdownNodeAndNestedHeadingMarkdownNode(ContentsListMarkdownNode, nestedHeadingMarkdownNode, context) {
|
|
10
21
|
const ruleName = CONTENTS_ITEM_RULE_NAME,
|
|
11
22
|
childNodes = [],
|