highmark-markdown 1.0.176 → 1.0.178
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 +2834 -6275
- package/lib/example/importer.js +2 -2
- package/lib/example/view/div/preview.js +19 -19
- package/lib/example/view/textarea/plainText.js +3 -3
- package/lib/example/view/xmp.js +3 -3
- package/lib/example/view.js +7 -7
- package/lib/index.js +5 -1
- package/lib/map/className.js +4 -45
- package/lib/map/node/html.js +16 -9
- package/lib/map/node/markdown.js +13 -12
- package/lib/map/tagName.js +4 -45
- package/lib/markdown/bnf.js +2 -2
- package/lib/mixins/node.js +1 -11
- package/lib/node/html/{indexList.js → list/index.js} +2 -2
- package/lib/node/html/listing/inline.js +7 -1
- package/lib/node/html/topmost.js +21 -39
- package/lib/node/html.js +15 -1
- package/lib/node/markdown/directive/embee.js +28 -21
- package/lib/node/markdown/directive/include.js +28 -23
- package/lib/node/markdown/division.js +82 -249
- package/lib/node/markdown/{footnotesItem.js → item/footnotes.js} +5 -5
- package/lib/node/markdown/{contentsLink.js → link/contents.js} +3 -3
- package/lib/node/markdown/{emailLink.js → link/email.js} +3 -3
- package/lib/node/markdown/{footnoteLink.js → link/footnote.js} +3 -3
- package/lib/node/markdown/{indexLink.js → link/index.js} +2 -2
- package/lib/node/markdown/{contentsList.js → list/contents.js} +3 -3
- package/lib/node/markdown/{footnotesList.js → list/footnotes.js} +3 -3
- package/lib/node/markdown/{indexList.js → list/index.js} +3 -3
- package/lib/node/markdown/{blockListing.js → listng/block.js} +2 -2
- package/lib/node/markdown/{inlineListing.js → listng/inline.js} +21 -23
- package/lib/node/markdown/subDivision.js +144 -0
- package/lib/node/markdown/topmost.js +32 -65
- package/lib/queries.js +4 -3
- package/lib/ruleNames.js +16 -6
- package/lib/transform/{subDivision/contentsDirective.js → contentsDirective.js} +5 -6
- package/lib/transform/contentsLink.js +3 -3
- package/lib/transform/contentsList.js +7 -8
- package/lib/transform/footnote.js +2 -3
- package/lib/transform/{subDivision/footnote.js → footnoteIdentifier.js} +6 -7
- package/lib/transform/{subDivision/footnotesDirective.js → footnotesDirective.js} +5 -6
- package/lib/transform/footnotesItem.js +3 -3
- package/lib/transform/footnotesList.js +4 -5
- package/lib/transform/{subDivision/indexDirective.js → indexDirective.js} +5 -6
- package/lib/transform/indexList.js +3 -3
- package/lib/transform/markdown/directive/embed.js +134 -0
- package/lib/transform/markdown/directive/ignore.js +134 -0
- package/lib/transform/{embedDirective.js → markdown/directive/include.js} +20 -22
- package/lib/transform/markdown/subDivision.js +140 -0
- package/lib/transform/{subDivision/pageNumberDirective.js → pageNumberDirective.js} +5 -6
- package/lib/utilities/dom.js +62 -0
- package/lib/utilities/footnotes.js +4 -5
- package/lib/utilities/html.js +135 -51
- package/lib/utilities/index.js +5 -5
- package/lib/utilities/markdown.js +66 -22
- package/lib/utilities/query.js +17 -99
- package/package.json +4 -4
- package/src/example/importer.js +0 -1
- package/src/example/view/div/preview.js +16 -16
- package/src/example/view/textarea/plainText.js +2 -2
- package/src/example/view/xmp.js +3 -2
- package/src/example/view.js +9 -8
- package/src/index.js +1 -0
- package/src/map/className.js +3 -6
- package/src/map/node/html.js +18 -6
- package/src/map/node/markdown.js +15 -12
- package/src/map/tagName.js +3 -6
- package/src/markdown/bnf.js +33 -32
- package/src/mixins/node.js +0 -11
- package/src/node/html/{indexList.js → list/index.js} +1 -1
- package/src/node/html/listing/inline.js +2 -0
- package/src/node/html/topmost.js +16 -47
- package/src/node/html.js +12 -0
- package/src/node/markdown/directive/embee.js +37 -25
- package/src/node/markdown/directive/include.js +36 -27
- package/src/node/markdown/division.js +153 -136
- package/src/node/markdown/{footnotesItem.js → item/footnotes.js} +4 -4
- package/src/node/markdown/{contentsLink.js → link/contents.js} +2 -2
- package/src/node/markdown/{emailLink.js → link/email.js} +2 -2
- package/src/node/markdown/{footnoteLink.js → link/footnote.js} +2 -2
- package/src/node/markdown/{indexLink.js → link/index.js} +1 -1
- package/src/node/markdown/{contentsList.js → list/contents.js} +2 -2
- package/src/node/markdown/{footnotesList.js → list/footnotes.js} +2 -2
- package/src/node/markdown/{indexList.js → list/index.js} +2 -2
- package/src/node/markdown/{blockListing.js → listng/block.js} +1 -1
- package/src/node/markdown/listng/inline.js +28 -0
- package/src/node/markdown/subDivision.js +58 -0
- package/src/node/markdown/topmost.js +34 -64
- package/src/queries.js +5 -3
- package/src/ruleNames.js +6 -2
- package/src/transform/{subDivision/contentsDirective.js → contentsDirective.js} +1 -3
- package/src/transform/contentsLink.js +1 -1
- package/src/transform/contentsList.js +1 -2
- package/src/transform/footnote.js +0 -2
- package/src/transform/{subDivision/footnote.js → footnoteIdentifier.js} +1 -3
- package/src/transform/{subDivision/footnotesDirective.js → footnotesDirective.js} +1 -3
- package/src/transform/footnotesItem.js +1 -1
- package/src/transform/footnotesList.js +1 -3
- package/src/transform/{subDivision/indexDirective.js → indexDirective.js} +1 -3
- package/src/transform/indexList.js +1 -1
- package/src/transform/markdown/directive/embed.js +19 -0
- package/src/transform/markdown/directive/ignore.js +19 -0
- package/src/transform/markdown/directive/include.js +29 -0
- package/src/transform/markdown/subDivision.js +25 -0
- package/src/transform/{subDivision/pageNumberDirective.js → pageNumberDirective.js} +1 -3
- package/src/utilities/dom.js +58 -0
- package/src/utilities/footnotes.js +1 -3
- package/src/utilities/html.js +122 -52
- package/src/utilities/index.js +4 -4
- package/src/utilities/markdown.js +57 -17
- package/src/utilities/query.js +12 -94
- package/lib/transform/division.js +0 -193
- package/lib/transform/includeDirective.js +0 -158
- package/lib/transform/subDivision/embedDirectives.js +0 -147
- package/lib/transform/subDivision/includeDirectives.js +0 -142
- package/src/node/markdown/inlineListing.js +0 -28
- package/src/transform/division.js +0 -41
- package/src/transform/embedDirective.js +0 -34
- package/src/transform/includeDirective.js +0 -49
- package/src/transform/subDivision/embedDirectives.js +0 -52
- package/src/transform/subDivision/includeDirectives.js +0 -48
package/lib/utilities/query.js
CHANGED
|
@@ -9,53 +9,25 @@ function _export(target, all) {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
-
|
|
13
|
-
return
|
|
14
|
-
},
|
|
15
|
-
default: function() {
|
|
16
|
-
return _default;
|
|
17
|
-
},
|
|
18
|
-
embedDirectiveMarkdownNodesFromNode: function() {
|
|
19
|
-
return embedDirectiveMarkdownNodesFromNode;
|
|
20
|
-
},
|
|
21
|
-
footnoteLinkMarkdownNodesFromNode: function() {
|
|
22
|
-
return footnoteLinkMarkdownNodesFromNode;
|
|
23
|
-
},
|
|
24
|
-
footnoteMarkdownNodeFromNode: function() {
|
|
25
|
-
return footnoteMarkdownNodeFromNode;
|
|
26
|
-
},
|
|
27
|
-
footnotesDirectiveMarkdownNodeFromNode: function() {
|
|
28
|
-
return footnotesDirectiveMarkdownNodeFromNode;
|
|
29
|
-
},
|
|
30
|
-
footnotesMarkdownNodesFromNode: function() {
|
|
31
|
-
return footnotesMarkdownNodesFromNode;
|
|
32
|
-
},
|
|
33
|
-
headingMarkdownNodesFromNode: function() {
|
|
34
|
-
return headingMarkdownNodesFromNode;
|
|
35
|
-
},
|
|
36
|
-
ignoreDirectiveMarkdownNodeFromNode: function() {
|
|
37
|
-
return ignoreDirectiveMarkdownNodeFromNode;
|
|
38
|
-
},
|
|
39
|
-
includeDirectiveMarkdownNodesFromNode: function() {
|
|
40
|
-
return includeDirectiveMarkdownNodesFromNode;
|
|
41
|
-
},
|
|
42
|
-
indexDirectiveMarkdownNodeFromNode: function() {
|
|
43
|
-
return indexDirectiveMarkdownNodeFromNode;
|
|
12
|
+
nodeFromNodeAndQuery: function() {
|
|
13
|
+
return nodeFromNodeAndQuery;
|
|
44
14
|
},
|
|
45
15
|
nodeQuery: function() {
|
|
46
16
|
return nodeQuery;
|
|
47
17
|
},
|
|
18
|
+
nodesFromNodeAndQueries: function() {
|
|
19
|
+
return nodesFromNodeAndQueries;
|
|
20
|
+
},
|
|
21
|
+
nodesFromNodeAndQuery: function() {
|
|
22
|
+
return nodesFromNodeAndQuery;
|
|
23
|
+
},
|
|
48
24
|
nodesQuery: function() {
|
|
49
25
|
return nodesQuery;
|
|
50
|
-
},
|
|
51
|
-
pageNumberDirectiveMarkdownNodeFromNode: function() {
|
|
52
|
-
return pageNumberDirectiveMarkdownNodeFromNode;
|
|
53
26
|
}
|
|
54
27
|
});
|
|
55
28
|
var _occamquery = require("occam-query");
|
|
56
29
|
var _necessary = require("necessary");
|
|
57
30
|
var push = _necessary.arrayUtilities.push;
|
|
58
|
-
var footnoteMarkdownNodeQuery = _occamquery.Query.fromExpressionString("/division/footnote"), indexDirectiveMarkdownNodeQuery = _occamquery.Query.fromExpressionString("/division/directives/indexDirective"), ignoreDirectiveMarkdownNodeQuery = _occamquery.Query.fromExpressionString("/division/directives/ignoreDirective"), contentsDirectiveMarkdownNodeQuery = _occamquery.Query.fromExpressionString("/division/directives/contentsDirective"), footnotesDirectiveMarkdownNodeQuery = _occamquery.Query.fromExpressionString("/division/directives/footnotesDirective"), pageNumberDirectiveMarkdownNodeQuery = _occamquery.Query.fromExpressionString("//directives/pageNumber"), headingMarkdownNodesQuery = _occamquery.Query.fromExpressionString("/division/primaryHeading|secondaryHeading|tertiaryHeading|quaternaryHeading"), footnotesMarkdownNodesQuery = _occamquery.Query.fromExpressionString("//footnote|footnoteLink|footnotesDirective"), footnoteLinkMarkdownNodesQuery = _occamquery.Query.fromExpressionString("//footnoteLink"), embedDirectiveMarkdownNodesQuery = _occamquery.Query.fromExpressionString("/division/directives/embedDirective"), includeDirectiveMarkdownNodesQuery = _occamquery.Query.fromExpressionString("/division/directives/includeDirective");
|
|
59
31
|
function nodeQuery(expression) {
|
|
60
32
|
var query = _occamquery.Query.fromExpressionString(expression);
|
|
61
33
|
return function(node) {
|
|
@@ -71,68 +43,6 @@ function nodesQuery(expression) {
|
|
|
71
43
|
return nodes;
|
|
72
44
|
};
|
|
73
45
|
}
|
|
74
|
-
function footnoteMarkdownNodeFromNode(node) {
|
|
75
|
-
var footnoteMarkdownNode = nodeFromNodeAndQuery(node, footnoteMarkdownNodeQuery);
|
|
76
|
-
return footnoteMarkdownNode;
|
|
77
|
-
}
|
|
78
|
-
function indexDirectiveMarkdownNodeFromNode(node) {
|
|
79
|
-
var indexDirectiveMarkdownNode = nodeFromNodeAndQuery(node, indexDirectiveMarkdownNodeQuery);
|
|
80
|
-
return indexDirectiveMarkdownNode;
|
|
81
|
-
}
|
|
82
|
-
function ignoreDirectiveMarkdownNodeFromNode(node) {
|
|
83
|
-
var ignoreDirectiveMarkdownNode = nodeFromNodeAndQuery(node, ignoreDirectiveMarkdownNodeQuery);
|
|
84
|
-
return ignoreDirectiveMarkdownNode;
|
|
85
|
-
}
|
|
86
|
-
function contentsDirectiveMarkdownNodeFromNode(node) {
|
|
87
|
-
var contentsDirectiveMarkdownNode = nodeFromNodeAndQuery(node, contentsDirectiveMarkdownNodeQuery);
|
|
88
|
-
return contentsDirectiveMarkdownNode;
|
|
89
|
-
}
|
|
90
|
-
function footnotesDirectiveMarkdownNodeFromNode(node) {
|
|
91
|
-
var footnotesDirectiveMarkdownNode = nodeFromNodeAndQuery(node, footnotesDirectiveMarkdownNodeQuery);
|
|
92
|
-
return footnotesDirectiveMarkdownNode;
|
|
93
|
-
}
|
|
94
|
-
function pageNumberDirectiveMarkdownNodeFromNode(node) {
|
|
95
|
-
var pageNumberDirectiveMarkdownNode = nodeFromNodeAndQuery(node, pageNumberDirectiveMarkdownNodeQuery);
|
|
96
|
-
return pageNumberDirectiveMarkdownNode;
|
|
97
|
-
}
|
|
98
|
-
function headingMarkdownNodesFromNode(node) {
|
|
99
|
-
var headingMarkdownNodes = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];
|
|
100
|
-
nodesFromNodeAndQuery(node, headingMarkdownNodesQuery, headingMarkdownNodes);
|
|
101
|
-
return headingMarkdownNodes;
|
|
102
|
-
}
|
|
103
|
-
function footnotesMarkdownNodesFromNode(node) {
|
|
104
|
-
var footnotesMarkdownNodes = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];
|
|
105
|
-
nodesFromNodeAndQuery(node, footnotesMarkdownNodesQuery, footnotesMarkdownNodes);
|
|
106
|
-
return footnotesMarkdownNodes;
|
|
107
|
-
}
|
|
108
|
-
function footnoteLinkMarkdownNodesFromNode(node) {
|
|
109
|
-
var linkMarkdownNodes = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];
|
|
110
|
-
nodesFromNodeAndQuery(node, footnoteLinkMarkdownNodesQuery, linkMarkdownNodes);
|
|
111
|
-
return linkMarkdownNodes;
|
|
112
|
-
}
|
|
113
|
-
function embedDirectiveMarkdownNodesFromNode(node) {
|
|
114
|
-
var embedDirectiveMarkdownNodes = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];
|
|
115
|
-
nodesFromNodeAndQuery(node, embedDirectiveMarkdownNodesQuery, embedDirectiveMarkdownNodes);
|
|
116
|
-
return embedDirectiveMarkdownNodes;
|
|
117
|
-
}
|
|
118
|
-
function includeDirectiveMarkdownNodesFromNode(node) {
|
|
119
|
-
var includeDirectiveMarkdownNodes = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];
|
|
120
|
-
nodesFromNodeAndQuery(node, includeDirectiveMarkdownNodesQuery, includeDirectiveMarkdownNodes);
|
|
121
|
-
return includeDirectiveMarkdownNodes;
|
|
122
|
-
}
|
|
123
|
-
var _default = {
|
|
124
|
-
footnoteMarkdownNodeFromNode: footnoteMarkdownNodeFromNode,
|
|
125
|
-
indexDirectiveMarkdownNodeFromNode: indexDirectiveMarkdownNodeFromNode,
|
|
126
|
-
ignoreDirectiveMarkdownNodeFromNode: ignoreDirectiveMarkdownNodeFromNode,
|
|
127
|
-
contentsDirectiveMarkdownNodeFromNode: contentsDirectiveMarkdownNodeFromNode,
|
|
128
|
-
footnotesDirectiveMarkdownNodeFromNode: footnotesDirectiveMarkdownNodeFromNode,
|
|
129
|
-
pageNumberDirectiveMarkdownNodeFromNode: pageNumberDirectiveMarkdownNodeFromNode,
|
|
130
|
-
headingMarkdownNodesFromNode: headingMarkdownNodesFromNode,
|
|
131
|
-
footnotesMarkdownNodesFromNode: footnotesMarkdownNodesFromNode,
|
|
132
|
-
footnoteLinkMarkdownNodesFromNode: footnoteLinkMarkdownNodesFromNode,
|
|
133
|
-
embedDirectiveMarkdownNodesFromNode: embedDirectiveMarkdownNodesFromNode,
|
|
134
|
-
includeDirectiveMarkdownNodesFromNode: includeDirectiveMarkdownNodesFromNode
|
|
135
|
-
};
|
|
136
46
|
function nodeFromNodeAndQuery(node, query) {
|
|
137
47
|
var queryNodes = query.execute(node), queryNode = queryNodes.shift() || null;
|
|
138
48
|
node = queryNode; ///
|
|
@@ -143,5 +53,13 @@ function nodesFromNodeAndQuery(node, query, nodes) {
|
|
|
143
53
|
push(nodes, queryNodes);
|
|
144
54
|
return nodes;
|
|
145
55
|
}
|
|
56
|
+
function nodesFromNodeAndQueries(node, queries) {
|
|
57
|
+
var nodes = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : [];
|
|
58
|
+
queries.forEach(function(query) {
|
|
59
|
+
var queryNodes = query.execute(node);
|
|
60
|
+
push(nodes, queryNodes);
|
|
61
|
+
});
|
|
62
|
+
return nodes;
|
|
63
|
+
}
|
|
146
64
|
|
|
147
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcXVlcnkuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IFF1ZXJ5IH0gZnJvbSBcIm9jY2FtLXF1ZXJ5XCI7XG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuY29uc3QgeyBwdXNoIH0gPSBhcnJheVV0aWxpdGllcztcblxuY29uc3QgZm9vdG5vdGVNYXJrZG93bk5vZGVRdWVyeSA9IFF1ZXJ5LmZyb21FeHByZXNzaW9uU3RyaW5nKFwiL2RpdmlzaW9uL2Zvb3Rub3RlXCIpLFxuICAgICAgaW5kZXhEaXJlY3RpdmVNYXJrZG93bk5vZGVRdWVyeSA9IFF1ZXJ5LmZyb21FeHByZXNzaW9uU3RyaW5nKFwiL2RpdmlzaW9uL2RpcmVjdGl2ZXMvaW5kZXhEaXJlY3RpdmVcIiksXG4gICAgICBpZ25vcmVEaXJlY3RpdmVNYXJrZG93bk5vZGVRdWVyeSA9IFF1ZXJ5LmZyb21FeHByZXNzaW9uU3RyaW5nKFwiL2RpdmlzaW9uL2RpcmVjdGl2ZXMvaWdub3JlRGlyZWN0aXZlXCIpLFxuICAgICAgY29udGVudHNEaXJlY3RpdmVNYXJrZG93bk5vZGVRdWVyeSA9IFF1ZXJ5LmZyb21FeHByZXNzaW9uU3RyaW5nKFwiL2RpdmlzaW9uL2RpcmVjdGl2ZXMvY29udGVudHNEaXJlY3RpdmVcIiksXG4gICAgICBmb290bm90ZXNEaXJlY3RpdmVNYXJrZG93bk5vZGVRdWVyeSA9IFF1ZXJ5LmZyb21FeHByZXNzaW9uU3RyaW5nKFwiL2RpdmlzaW9uL2RpcmVjdGl2ZXMvZm9vdG5vdGVzRGlyZWN0aXZlXCIpLFxuICAgICAgcGFnZU51bWJlckRpcmVjdGl2ZU1hcmtkb3duTm9kZVF1ZXJ5ID0gUXVlcnkuZnJvbUV4cHJlc3Npb25TdHJpbmcoXCIvL2RpcmVjdGl2ZXMvcGFnZU51bWJlclwiKSwgIC8vL1xuICAgICAgaGVhZGluZ01hcmtkb3duTm9kZXNRdWVyeSA9IFF1ZXJ5LmZyb21FeHByZXNzaW9uU3RyaW5nKFwiL2RpdmlzaW9uL3ByaW1hcnlIZWFkaW5nfHNlY29uZGFyeUhlYWRpbmd8dGVydGlhcnlIZWFkaW5nfHF1YXRlcm5hcnlIZWFkaW5nXCIpLCAgLy8vXG4gICAgICBmb290bm90ZXNNYXJrZG93bk5vZGVzUXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvblN0cmluZyhcIi8vZm9vdG5vdGV8Zm9vdG5vdGVMaW5rfGZvb3Rub3Rlc0RpcmVjdGl2ZVwiKSwgLy8vXG4gICAgICBmb290bm90ZUxpbmtNYXJrZG93bk5vZGVzUXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvblN0cmluZyhcIi8vZm9vdG5vdGVMaW5rXCIpLFxuICAgICAgZW1iZWREaXJlY3RpdmVNYXJrZG93bk5vZGVzUXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvblN0cmluZyhcIi9kaXZpc2lvbi9kaXJlY3RpdmVzL2VtYmVkRGlyZWN0aXZlXCIpLFxuICAgICAgaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duTm9kZXNRdWVyeSA9IFF1ZXJ5LmZyb21FeHByZXNzaW9uU3RyaW5nKFwiL2RpdmlzaW9uL2RpcmVjdGl2ZXMvaW5jbHVkZURpcmVjdGl2ZVwiKTtcblxuZXhwb3J0IGZ1bmN0aW9uIG5vZGVRdWVyeShleHByZXNzaW9uKSB7XG4gIGNvbnN0IHF1ZXJ5ID0gUXVlcnkuZnJvbUV4cHJlc3Npb25TdHJpbmcoZXhwcmVzc2lvbik7XG5cbiAgcmV0dXJuIGZ1bmN0aW9uKG5vZGUpIHtcbiAgICBjb25zdCBub2RlcyA9IHF1ZXJ5LmV4ZWN1dGUobm9kZSk7XG5cbiAgICBub2RlID0gbm9kZXMuc2hpZnQoKSB8fCBudWxsOyAvLy9cblxuICAgIHJldHVybiBub2RlO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub2Rlc1F1ZXJ5KGV4cHJlc3Npb24pIHtcbiAgY29uc3QgcXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvblN0cmluZyhleHByZXNzaW9uKTtcblxuICByZXR1cm4gZnVuY3Rpb24obm9kZSkge1xuICAgIGNvbnN0IG5vZGVzID0gcXVlcnkuZXhlY3V0ZShub2RlKTtcblxuICAgIHJldHVybiBub2RlcztcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9vdG5vdGVNYXJrZG93bk5vZGVGcm9tTm9kZShub2RlKSB7XG4gIGNvbnN0IGZvb3Rub3RlTWFya2Rvd25Ob2RlID0gbm9kZUZyb21Ob2RlQW5kUXVlcnkobm9kZSwgZm9vdG5vdGVNYXJrZG93bk5vZGVRdWVyeSk7XG5cbiAgcmV0dXJuIGZvb3Rub3RlTWFya2Rvd25Ob2RlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5kZXhEaXJlY3RpdmVNYXJrZG93bk5vZGVGcm9tTm9kZShub2RlKSB7XG4gIGNvbnN0IGluZGV4RGlyZWN0aXZlTWFya2Rvd25Ob2RlID0gbm9kZUZyb21Ob2RlQW5kUXVlcnkobm9kZSwgaW5kZXhEaXJlY3RpdmVNYXJrZG93bk5vZGVRdWVyeSk7XG5cbiAgcmV0dXJuIGluZGV4RGlyZWN0aXZlTWFya2Rvd25Ob2RlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaWdub3JlRGlyZWN0aXZlTWFya2Rvd25Ob2RlRnJvbU5vZGUobm9kZSkge1xuICBjb25zdCBpZ25vcmVEaXJlY3RpdmVNYXJrZG93bk5vZGUgPSBub2RlRnJvbU5vZGVBbmRRdWVyeShub2RlLCBpZ25vcmVEaXJlY3RpdmVNYXJrZG93bk5vZGVRdWVyeSk7XG5cbiAgcmV0dXJuIGlnbm9yZURpcmVjdGl2ZU1hcmtkb3duTm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbnRlbnRzRGlyZWN0aXZlTWFya2Rvd25Ob2RlRnJvbU5vZGUobm9kZSkge1xuICBjb25zdCBjb250ZW50c0RpcmVjdGl2ZU1hcmtkb3duTm9kZSA9IG5vZGVGcm9tTm9kZUFuZFF1ZXJ5KG5vZGUsIGNvbnRlbnRzRGlyZWN0aXZlTWFya2Rvd25Ob2RlUXVlcnkpO1xuXG4gIHJldHVybiBjb250ZW50c0RpcmVjdGl2ZU1hcmtkb3duTm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZvb3Rub3Rlc0RpcmVjdGl2ZU1hcmtkb3duTm9kZUZyb21Ob2RlKG5vZGUpIHtcbiAgY29uc3QgZm9vdG5vdGVzRGlyZWN0aXZlTWFya2Rvd25Ob2RlID0gbm9kZUZyb21Ob2RlQW5kUXVlcnkobm9kZSwgZm9vdG5vdGVzRGlyZWN0aXZlTWFya2Rvd25Ob2RlUXVlcnkpO1xuXG4gIHJldHVybiBmb290bm90ZXNEaXJlY3RpdmVNYXJrZG93bk5vZGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYWdlTnVtYmVyRGlyZWN0aXZlTWFya2Rvd25Ob2RlRnJvbU5vZGUobm9kZSkge1xuICBjb25zdCBwYWdlTnVtYmVyRGlyZWN0aXZlTWFya2Rvd25Ob2RlID0gbm9kZUZyb21Ob2RlQW5kUXVlcnkobm9kZSwgcGFnZU51bWJlckRpcmVjdGl2ZU1hcmtkb3duTm9kZVF1ZXJ5KTtcblxuICByZXR1cm4gcGFnZU51bWJlckRpcmVjdGl2ZU1hcmtkb3duTm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhlYWRpbmdNYXJrZG93bk5vZGVzRnJvbU5vZGUobm9kZSwgaGVhZGluZ01hcmtkb3duTm9kZXMgPSBbXSkge1xuICBub2Rlc0Zyb21Ob2RlQW5kUXVlcnkobm9kZSwgaGVhZGluZ01hcmtkb3duTm9kZXNRdWVyeSwgaGVhZGluZ01hcmtkb3duTm9kZXMpO1xuXG4gIHJldHVybiBoZWFkaW5nTWFya2Rvd25Ob2Rlcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZvb3Rub3Rlc01hcmtkb3duTm9kZXNGcm9tTm9kZShub2RlLCBmb290bm90ZXNNYXJrZG93bk5vZGVzID0gW10pIHtcbiAgbm9kZXNGcm9tTm9kZUFuZFF1ZXJ5KG5vZGUsIGZvb3Rub3Rlc01hcmtkb3duTm9kZXNRdWVyeSwgZm9vdG5vdGVzTWFya2Rvd25Ob2Rlcyk7XG5cbiAgcmV0dXJuIGZvb3Rub3Rlc01hcmtkb3duTm9kZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmb290bm90ZUxpbmtNYXJrZG93bk5vZGVzRnJvbU5vZGUobm9kZSwgbGlua01hcmtkb3duTm9kZXMgPSBbXSkge1xuICBub2Rlc0Zyb21Ob2RlQW5kUXVlcnkobm9kZSwgZm9vdG5vdGVMaW5rTWFya2Rvd25Ob2Rlc1F1ZXJ5LCBsaW5rTWFya2Rvd25Ob2Rlcyk7XG5cbiAgcmV0dXJuIGxpbmtNYXJrZG93bk5vZGVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZW1iZWREaXJlY3RpdmVNYXJrZG93bk5vZGVzRnJvbU5vZGUobm9kZSwgZW1iZWREaXJlY3RpdmVNYXJrZG93bk5vZGVzID0gW10pIHtcbiAgbm9kZXNGcm9tTm9kZUFuZFF1ZXJ5KG5vZGUsIGVtYmVkRGlyZWN0aXZlTWFya2Rvd25Ob2Rlc1F1ZXJ5LCBlbWJlZERpcmVjdGl2ZU1hcmtkb3duTm9kZXMpO1xuXG4gIHJldHVybiBlbWJlZERpcmVjdGl2ZU1hcmtkb3duTm9kZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmNsdWRlRGlyZWN0aXZlTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlKG5vZGUsIGluY2x1ZGVEaXJlY3RpdmVNYXJrZG93bk5vZGVzID0gW10pIHtcbiAgbm9kZXNGcm9tTm9kZUFuZFF1ZXJ5KG5vZGUsIGluY2x1ZGVEaXJlY3RpdmVNYXJrZG93bk5vZGVzUXVlcnksIGluY2x1ZGVEaXJlY3RpdmVNYXJrZG93bk5vZGVzKTtcblxuICByZXR1cm4gaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duTm9kZXM7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgZm9vdG5vdGVNYXJrZG93bk5vZGVGcm9tTm9kZSxcbiAgaW5kZXhEaXJlY3RpdmVNYXJrZG93bk5vZGVGcm9tTm9kZSxcbiAgaWdub3JlRGlyZWN0aXZlTWFya2Rvd25Ob2RlRnJvbU5vZGUsXG4gIGNvbnRlbnRzRGlyZWN0aXZlTWFya2Rvd25Ob2RlRnJvbU5vZGUsXG4gIGZvb3Rub3Rlc0RpcmVjdGl2ZU1hcmtkb3duTm9kZUZyb21Ob2RlLFxuICBwYWdlTnVtYmVyRGlyZWN0aXZlTWFya2Rvd25Ob2RlRnJvbU5vZGUsXG4gIGhlYWRpbmdNYXJrZG93bk5vZGVzRnJvbU5vZGUsXG4gIGZvb3Rub3Rlc01hcmtkb3duTm9kZXNGcm9tTm9kZSxcbiAgZm9vdG5vdGVMaW5rTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlLFxuICBlbWJlZERpcmVjdGl2ZU1hcmtkb3duTm9kZXNGcm9tTm9kZSxcbiAgaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duTm9kZXNGcm9tTm9kZVxufTtcblxuZnVuY3Rpb24gbm9kZUZyb21Ob2RlQW5kUXVlcnkobm9kZSwgcXVlcnkpIHtcbiAgY29uc3QgcXVlcnlOb2RlcyA9IHF1ZXJ5LmV4ZWN1dGUobm9kZSksXG4gICAgICAgIHF1ZXJ5Tm9kZSA9IHF1ZXJ5Tm9kZXMuc2hpZnQoKSB8fCBudWxsO1xuXG4gIG5vZGUgPSBxdWVyeU5vZGU7ICAvLy9cblxuICByZXR1cm4gbm9kZTtcbn1cblxuZnVuY3Rpb24gbm9kZXNGcm9tTm9kZUFuZFF1ZXJ5KG5vZGUsIHF1ZXJ5LCBub2Rlcykge1xuICBjb25zdCBxdWVyeU5vZGVzID0gcXVlcnkuZXhlY3V0ZShub2RlKTtcblxuICBwdXNoKG5vZGVzLCBxdWVyeU5vZGVzKTtcblxuICByZXR1cm4gbm9kZXM7XG59XG4iXSwibmFtZXMiOlsiY29udGVudHNEaXJlY3RpdmVNYXJrZG93bk5vZGVGcm9tTm9kZSIsImVtYmVkRGlyZWN0aXZlTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlIiwiZm9vdG5vdGVMaW5rTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlIiwiZm9vdG5vdGVNYXJrZG93bk5vZGVGcm9tTm9kZSIsImZvb3Rub3Rlc0RpcmVjdGl2ZU1hcmtkb3duTm9kZUZyb21Ob2RlIiwiZm9vdG5vdGVzTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlIiwiaGVhZGluZ01hcmtkb3duTm9kZXNGcm9tTm9kZSIsImlnbm9yZURpcmVjdGl2ZU1hcmtkb3duTm9kZUZyb21Ob2RlIiwiaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duTm9kZXNGcm9tTm9kZSIsImluZGV4RGlyZWN0aXZlTWFya2Rvd25Ob2RlRnJvbU5vZGUiLCJub2RlUXVlcnkiLCJub2Rlc1F1ZXJ5IiwicGFnZU51bWJlckRpcmVjdGl2ZU1hcmtkb3duTm9kZUZyb21Ob2RlIiwicHVzaCIsImFycmF5VXRpbGl0aWVzIiwiZm9vdG5vdGVNYXJrZG93bk5vZGVRdWVyeSIsIlF1ZXJ5IiwiZnJvbUV4cHJlc3Npb25TdHJpbmciLCJpbmRleERpcmVjdGl2ZU1hcmtkb3duTm9kZVF1ZXJ5IiwiaWdub3JlRGlyZWN0aXZlTWFya2Rvd25Ob2RlUXVlcnkiLCJjb250ZW50c0RpcmVjdGl2ZU1hcmtkb3duTm9kZVF1ZXJ5IiwiZm9vdG5vdGVzRGlyZWN0aXZlTWFya2Rvd25Ob2RlUXVlcnkiLCJwYWdlTnVtYmVyRGlyZWN0aXZlTWFya2Rvd25Ob2RlUXVlcnkiLCJoZWFkaW5nTWFya2Rvd25Ob2Rlc1F1ZXJ5IiwiZm9vdG5vdGVzTWFya2Rvd25Ob2Rlc1F1ZXJ5IiwiZm9vdG5vdGVMaW5rTWFya2Rvd25Ob2Rlc1F1ZXJ5IiwiZW1iZWREaXJlY3RpdmVNYXJrZG93bk5vZGVzUXVlcnkiLCJpbmNsdWRlRGlyZWN0aXZlTWFya2Rvd25Ob2Rlc1F1ZXJ5IiwiZXhwcmVzc2lvbiIsInF1ZXJ5Iiwibm9kZSIsIm5vZGVzIiwiZXhlY3V0ZSIsInNoaWZ0IiwiZm9vdG5vdGVNYXJrZG93bk5vZGUiLCJub2RlRnJvbU5vZGVBbmRRdWVyeSIsImluZGV4RGlyZWN0aXZlTWFya2Rvd25Ob2RlIiwiaWdub3JlRGlyZWN0aXZlTWFya2Rvd25Ob2RlIiwiY29udGVudHNEaXJlY3RpdmVNYXJrZG93bk5vZGUiLCJmb290bm90ZXNEaXJlY3RpdmVNYXJrZG93bk5vZGUiLCJwYWdlTnVtYmVyRGlyZWN0aXZlTWFya2Rvd25Ob2RlIiwiaGVhZGluZ01hcmtkb3duTm9kZXMiLCJub2Rlc0Zyb21Ob2RlQW5kUXVlcnkiLCJmb290bm90ZXNNYXJrZG93bk5vZGVzIiwibGlua01hcmtkb3duTm9kZXMiLCJlbWJlZERpcmVjdGl2ZU1hcmtkb3duTm9kZXMiLCJpbmNsdWRlRGlyZWN0aXZlTWFy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
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcXVlcnkuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IFF1ZXJ5IH0gZnJvbSBcIm9jY2FtLXF1ZXJ5XCI7XG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuY29uc3QgeyBwdXNoIH0gPSBhcnJheVV0aWxpdGllcztcblxuZXhwb3J0IGZ1bmN0aW9uIG5vZGVRdWVyeShleHByZXNzaW9uKSB7XG4gIGNvbnN0IHF1ZXJ5ID0gUXVlcnkuZnJvbUV4cHJlc3Npb25TdHJpbmcoZXhwcmVzc2lvbik7XG5cbiAgcmV0dXJuIGZ1bmN0aW9uKG5vZGUpIHtcbiAgICBjb25zdCBub2RlcyA9IHF1ZXJ5LmV4ZWN1dGUobm9kZSk7XG5cbiAgICBub2RlID0gbm9kZXMuc2hpZnQoKSB8fCBudWxsOyAvLy9cblxuICAgIHJldHVybiBub2RlO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub2Rlc1F1ZXJ5KGV4cHJlc3Npb24pIHtcbiAgY29uc3QgcXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvblN0cmluZyhleHByZXNzaW9uKTtcblxuICByZXR1cm4gZnVuY3Rpb24obm9kZSkge1xuICAgIGNvbnN0IG5vZGVzID0gcXVlcnkuZXhlY3V0ZShub2RlKTtcblxuICAgIHJldHVybiBub2RlcztcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbm9kZUZyb21Ob2RlQW5kUXVlcnkobm9kZSwgcXVlcnkpIHtcbiAgY29uc3QgcXVlcnlOb2RlcyA9IHF1ZXJ5LmV4ZWN1dGUobm9kZSksXG4gICAgICAgIHF1ZXJ5Tm9kZSA9IHF1ZXJ5Tm9kZXMuc2hpZnQoKSB8fCBudWxsO1xuXG4gIG5vZGUgPSBxdWVyeU5vZGU7ICAvLy9cblxuICByZXR1cm4gbm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG5vZGVzRnJvbU5vZGVBbmRRdWVyeShub2RlLCBxdWVyeSwgbm9kZXMpIHtcbiAgY29uc3QgcXVlcnlOb2RlcyA9IHF1ZXJ5LmV4ZWN1dGUobm9kZSk7XG5cbiAgcHVzaChub2RlcywgcXVlcnlOb2Rlcyk7XG5cbiAgcmV0dXJuIG5vZGVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbm9kZXNGcm9tTm9kZUFuZFF1ZXJpZXMobm9kZSwgcXVlcmllcywgbm9kZXMgPSBbXSkge1xuICBxdWVyaWVzLmZvckVhY2goKHF1ZXJ5KSA9PiB7XG4gICAgY29uc3QgcXVlcnlOb2RlcyA9IHF1ZXJ5LmV4ZWN1dGUobm9kZSk7XG5cbiAgICBwdXNoKG5vZGVzLCBxdWVyeU5vZGVzKTtcbiAgfSk7XG5cbiAgcmV0dXJuIG5vZGVzO1xufVxuIl0sIm5hbWVzIjpbIm5vZGVGcm9tTm9kZUFuZFF1ZXJ5Iiwibm9kZVF1ZXJ5Iiwibm9kZXNGcm9tTm9kZUFuZFF1ZXJpZXMiLCJub2Rlc0Zyb21Ob2RlQW5kUXVlcnkiLCJub2Rlc1F1ZXJ5IiwicHVzaCIsImFycmF5VXRpbGl0aWVzIiwiZXhwcmVzc2lvbiIsInF1ZXJ5IiwiUXVlcnkiLCJmcm9tRXhwcmVzc2lvblN0cmluZyIsIm5vZGUiLCJub2RlcyIsImV4ZWN1dGUiLCJzaGlmdCIsInF1ZXJ5Tm9kZXMiLCJxdWVyeU5vZGUiLCJxdWVyaWVzIiwiZm9yRWFjaCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBNkJnQkEsb0JBQW9CO2VBQXBCQTs7SUF0QkFDLFNBQVM7ZUFBVEE7O0lBdUNBQyx1QkFBdUI7ZUFBdkJBOztJQVJBQyxxQkFBcUI7ZUFBckJBOztJQW5CQUMsVUFBVTtlQUFWQTs7OzBCQWpCTTt5QkFDUztBQUUvQixJQUFNLEFBQUVDLE9BQVNDLHlCQUFjLENBQXZCRDtBQUVELFNBQVNKLFVBQVVNLFVBQVU7SUFDbEMsSUFBTUMsUUFBUUMsaUJBQUssQ0FBQ0Msb0JBQW9CLENBQUNIO0lBRXpDLE9BQU8sU0FBU0ksSUFBSTtRQUNsQixJQUFNQyxRQUFRSixNQUFNSyxPQUFPLENBQUNGO1FBRTVCQSxPQUFPQyxNQUFNRSxLQUFLLE1BQU0sTUFBTSxHQUFHO1FBRWpDLE9BQU9IO0lBQ1Q7QUFDRjtBQUVPLFNBQVNQLFdBQVdHLFVBQVU7SUFDbkMsSUFBTUMsUUFBUUMsaUJBQUssQ0FBQ0Msb0JBQW9CLENBQUNIO0lBRXpDLE9BQU8sU0FBU0ksSUFBSTtRQUNsQixJQUFNQyxRQUFRSixNQUFNSyxPQUFPLENBQUNGO1FBRTVCLE9BQU9DO0lBQ1Q7QUFDRjtBQUVPLFNBQVNaLHFCQUFxQlcsSUFBSSxFQUFFSCxLQUFLO0lBQzlDLElBQU1PLGFBQWFQLE1BQU1LLE9BQU8sQ0FBQ0YsT0FDM0JLLFlBQVlELFdBQVdELEtBQUssTUFBTTtJQUV4Q0gsT0FBT0ssV0FBWSxHQUFHO0lBRXRCLE9BQU9MO0FBQ1Q7QUFFTyxTQUFTUixzQkFBc0JRLElBQUksRUFBRUgsS0FBSyxFQUFFSSxLQUFLO0lBQ3RELElBQU1HLGFBQWFQLE1BQU1LLE9BQU8sQ0FBQ0Y7SUFFakNOLEtBQUtPLE9BQU9HO0lBRVosT0FBT0g7QUFDVDtBQUVPLFNBQVNWLHdCQUF3QlMsSUFBSSxFQUFFTSxPQUFPO1FBQUVMLFFBQUFBLGlFQUFRLEVBQUU7SUFDL0RLLFFBQVFDLE9BQU8sQ0FBQyxTQUFDVjtRQUNmLElBQU1PLGFBQWFQLE1BQU1LLE9BQU8sQ0FBQ0Y7UUFFakNOLEtBQUtPLE9BQU9HO0lBQ2Q7SUFFQSxPQUFPSDtBQUNUIn0=
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "highmark-markdown",
|
|
3
3
|
"author": "James Smith",
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.178",
|
|
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.",
|
|
@@ -11,10 +11,10 @@
|
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"necessary": "^14.3.2",
|
|
14
|
-
"occam-dom": "^5.2.
|
|
14
|
+
"occam-dom": "^5.2.9",
|
|
15
15
|
"occam-lexers": "^23.0.47",
|
|
16
|
-
"occam-parsers": "^23.0.
|
|
17
|
-
"occam-query": "^4.1.
|
|
16
|
+
"occam-parsers": "^23.0.123",
|
|
17
|
+
"occam-query": "^4.1.79"
|
|
18
18
|
},
|
|
19
19
|
"devDependencies": {
|
|
20
20
|
"@swc/core": "^1.5.6",
|
package/src/example/importer.js
CHANGED
|
@@ -13,22 +13,22 @@ class PreviewDiv extends Element {
|
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
clear() {
|
|
16
|
-
let
|
|
16
|
+
let divisionHTMLNode;
|
|
17
17
|
|
|
18
|
-
|
|
18
|
+
divisionHTMLNode = this.getDivisionHTMLNode();
|
|
19
19
|
|
|
20
|
-
if (
|
|
20
|
+
if (divisionHTMLNode !== null) {
|
|
21
21
|
const parentDOMElement = this.getParentDOMElement();
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
divisionHTMLNode.unmount(parentDOMElement);
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
divisionHTMLNode = null;
|
|
26
26
|
|
|
27
|
-
this.
|
|
27
|
+
this.setDivisionHTMLNode(divisionHTMLNode);
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
-
update(
|
|
31
|
+
update(divisionHTMLNode, context) {
|
|
32
32
|
this.clear();
|
|
33
33
|
|
|
34
34
|
const whitespaceTokenIndex = -1;
|
|
@@ -40,28 +40,28 @@ class PreviewDiv extends Element {
|
|
|
40
40
|
const parentDOMElement = this.getParentDOMElement(),
|
|
41
41
|
siblingDOMElement = null;
|
|
42
42
|
|
|
43
|
-
|
|
43
|
+
divisionHTMLNode.mount(parentDOMElement, siblingDOMElement, context);
|
|
44
44
|
|
|
45
|
-
this.
|
|
45
|
+
this.setDivisionHTMLNode(divisionHTMLNode);
|
|
46
46
|
}
|
|
47
47
|
|
|
48
|
-
|
|
49
|
-
const {
|
|
48
|
+
getDivisionHTMLNode() {
|
|
49
|
+
const { divisionHTMLNode } = this.getState();
|
|
50
50
|
|
|
51
|
-
return
|
|
51
|
+
return divisionHTMLNode;
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
-
|
|
54
|
+
setDivisionHTMLNode(divisionHTMLNode) {
|
|
55
55
|
this.updateState({
|
|
56
|
-
|
|
56
|
+
divisionHTMLNode
|
|
57
57
|
});
|
|
58
58
|
}
|
|
59
59
|
|
|
60
60
|
setInitialState() {
|
|
61
|
-
const
|
|
61
|
+
const divisionHTMLNode = null;
|
|
62
62
|
|
|
63
63
|
this.setState({
|
|
64
|
-
|
|
64
|
+
divisionHTMLNode
|
|
65
65
|
});
|
|
66
66
|
}
|
|
67
67
|
|
|
@@ -19,14 +19,14 @@ class PlainTextTextarea extends Textarea {
|
|
|
19
19
|
this.setPlainText(plainText);
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
update(
|
|
22
|
+
update(divisionHTMLNode, context) {
|
|
23
23
|
const whitespaceTokenIndex = -1;
|
|
24
24
|
|
|
25
25
|
Object.assign(context, {
|
|
26
26
|
whitespaceTokenIndex
|
|
27
27
|
});
|
|
28
28
|
|
|
29
|
-
const plainText =
|
|
29
|
+
const plainText = divisionHTMLNode.asPlainText(context);
|
|
30
30
|
|
|
31
31
|
this.setPlainText(plainText);
|
|
32
32
|
}
|
package/src/example/view/xmp.js
CHANGED
|
@@ -7,14 +7,15 @@ import { Element } from "easy";
|
|
|
7
7
|
import { EMPTY_STRING } from "../constants";
|
|
8
8
|
|
|
9
9
|
class XMP extends Element {
|
|
10
|
-
update(
|
|
10
|
+
update(divisionHTMLNode, context) {
|
|
11
11
|
const whitespaceTokenIndex = -1;
|
|
12
12
|
|
|
13
13
|
Object.assign(context, {
|
|
14
14
|
whitespaceTokenIndex
|
|
15
15
|
});
|
|
16
16
|
|
|
17
|
-
const
|
|
17
|
+
const indent = null,
|
|
18
|
+
html = divisionHTMLNode.asHTML(indent, context);
|
|
18
19
|
|
|
19
20
|
this.html(html);
|
|
20
21
|
}
|
package/src/example/view.js
CHANGED
|
@@ -9,7 +9,6 @@ import { MarkdownLexer, MarkdownParser, MarkdownStyleLexer, MarkdownStyleParser
|
|
|
9
9
|
import PageButtonsDiv from "./view/div/pageButtons";
|
|
10
10
|
import LeftSizeableDiv from "./view/div/sizeable/left";
|
|
11
11
|
import CSSContainerDiv from "./view/div/container/css";
|
|
12
|
-
import TopmostHTMLNode from "../node/html/topmost";
|
|
13
12
|
import HTMLContainerDiv from "./view/div/container/html";
|
|
14
13
|
import LeftTabButtonsDiv from "./view/div/tabButtons/left";
|
|
15
14
|
import RightTabButtonsDiv from "./view/div/tabButtons/right";
|
|
@@ -19,6 +18,7 @@ import PlainTextContainerDiv from "./view/div/container/plainText";
|
|
|
19
18
|
import HTMLParseTreeTextarea from "./view/textarea/parseTree/html";
|
|
20
19
|
import MarkdownStyleContainerDiv from "./view/div/container/markdownStyle";
|
|
21
20
|
|
|
21
|
+
import { htmlNodeFromMarkdownNode } from "../utilities/dom";
|
|
22
22
|
import { importer, initialMarkdown } from "./importer";
|
|
23
23
|
|
|
24
24
|
const markdownLexer = MarkdownLexer.fromNothing(),
|
|
@@ -76,21 +76,22 @@ class View extends Element {
|
|
|
76
76
|
updatePage(index = 0) {
|
|
77
77
|
const tokens = this.getTokens(),
|
|
78
78
|
topmostMarkdownNode = this.getTopmostMarkdownNode(),
|
|
79
|
-
|
|
80
|
-
|
|
79
|
+
topmostHTMLNode = htmlNodeFromMarkdownNode(topmostMarkdownNode),
|
|
80
|
+
divisionHTMLNOde = topmostHTMLNode.getDivisionHTMLNodeAt(index),
|
|
81
81
|
context = {
|
|
82
82
|
tokens,
|
|
83
83
|
pathToURL
|
|
84
84
|
};
|
|
85
85
|
|
|
86
|
-
this.updateXMP(
|
|
86
|
+
this.updateXMP(divisionHTMLNOde, context);
|
|
87
87
|
|
|
88
|
-
this.updatePreviewDiv(
|
|
88
|
+
this.updatePreviewDiv(divisionHTMLNOde, context);
|
|
89
89
|
|
|
90
|
-
this.updatePlainTextTextarea(
|
|
90
|
+
this.updatePlainTextTextarea(divisionHTMLNOde, context);
|
|
91
91
|
|
|
92
|
-
const
|
|
93
|
-
|
|
92
|
+
const multiplicity = topmostHTMLNode.getMultiplicity(),
|
|
93
|
+
length = multiplicity, ///
|
|
94
|
+
parseTree = divisionHTMLNOde.asParseTree(),
|
|
94
95
|
htmlParseTree = parseTree; ///
|
|
95
96
|
|
|
96
97
|
this.updatePageButtonsDiv(length, index);
|
package/src/index.js
CHANGED
|
@@ -5,6 +5,7 @@ export { default as MarkdownParser } from "./markdown/parser";
|
|
|
5
5
|
export { default as MarkdownStyleLexer } from "./markdownStyle/lexer";
|
|
6
6
|
export { default as MarkdownStyleParser } from "./markdownStyle/parser";
|
|
7
7
|
|
|
8
|
+
export { default as domUtilities } from "./utilities/dom";
|
|
8
9
|
export { default as cssUtilities } from "./utilities/css";
|
|
9
10
|
export { default as htmlUtilities } from "./utilities/html";
|
|
10
11
|
export { default as queryUtilities } from "./utilities/query";
|
package/src/map/className.js
CHANGED
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
import { ruleNames } from "../map/node/html";
|
|
3
|
+
import { forEachHTMLNode } from "../map/node/html";
|
|
6
4
|
|
|
7
5
|
const classNameMap = {};
|
|
8
6
|
|
|
9
|
-
|
|
10
|
-
const
|
|
11
|
-
{ className } = Class;
|
|
7
|
+
forEachHTMLNode((Class, ruleName) => {
|
|
8
|
+
const { className } = Class;
|
|
12
9
|
|
|
13
10
|
classNameMap[ruleName] = className;
|
|
14
11
|
});
|
package/src/map/node/html.js
CHANGED
|
@@ -5,14 +5,15 @@ import ErrorHTMLNode from "../../node/html/error";
|
|
|
5
5
|
import ImageHTMLNode from "../../node/html/image";
|
|
6
6
|
import TableHTMLNode from "../../node/html/table";
|
|
7
7
|
import AnchorHTMLNode from "../../node/html/anchor";
|
|
8
|
+
import TopmostHTMLNode from "../../node/html/topmost";
|
|
8
9
|
import DivisionHTMLNode from "../../node/html/division";
|
|
9
10
|
import ParagraphHTMLNode from "../../node/html/paragraph";
|
|
10
11
|
import TableHeadHTMLNode from "../../node/html/tableHead";
|
|
11
12
|
import TableBodyHTMLNode from "../../node/html/tableBody";
|
|
12
13
|
import HyperlinkHTMLNode from "../../node/html/link/hyper";
|
|
13
|
-
import IndexItemHTMLNode from "../../node/html/item";
|
|
14
|
-
import IndexLinkHTMLNode from "../../node/html/link";
|
|
15
|
-
import IndexListHTMLNode from "../../node/html/
|
|
14
|
+
import IndexItemHTMLNode from "../../node/html/item/index";
|
|
15
|
+
import IndexLinkHTMLNode from "../../node/html/link/index";
|
|
16
|
+
import IndexListHTMLNode from "../../node/html/list/index";
|
|
16
17
|
import EmailLinkHTMLNode from "../../node/html/link/email";
|
|
17
18
|
import BlockLineHTMLNode from "../../node/html/blockLine";
|
|
18
19
|
import PlainTextHTMLNode from "../../node/html/text/plain";
|
|
@@ -25,7 +26,7 @@ import ContentsItemHTMLNode from "../../node/html/item/contents";
|
|
|
25
26
|
import ContentsListHTMLNode from "../../node/html/list/contents";
|
|
26
27
|
import ContentsLinkHTMLNode from "../../node/html/link/contents";
|
|
27
28
|
import BlockListingHTMLNode from "../../node/html/listing/block";
|
|
28
|
-
import IndexHeadingHTMLNode from "../../node/html/heading";
|
|
29
|
+
import IndexHeadingHTMLNode from "../../node/html/heading/index";
|
|
29
30
|
import FootnoteLinkHTMLNode from "../../node/html/link/footnote";
|
|
30
31
|
import TableHeadRowHTMLNode from "../../node/html/tableHeadRow";
|
|
31
32
|
import TableBodyRowHTMLNode from "../../node/html/tableBodyRow";
|
|
@@ -43,7 +44,8 @@ import SecondaryHeadingHTMLNode from "../../node/html/heading/secondary";
|
|
|
43
44
|
import QuaternaryHeadingHTMLNode from "../../node/html/heading/quaternary";
|
|
44
45
|
import StronglyEmphasisedTextHTMLNode from "../../node/html/text/stronglyEmphasised";
|
|
45
46
|
|
|
46
|
-
import {
|
|
47
|
+
import { HTML_RULE_NAME,
|
|
48
|
+
LINE_RULE_NAME,
|
|
47
49
|
ERROR_RULE_NAME,
|
|
48
50
|
IMAGE_RULE_NAME,
|
|
49
51
|
TABLE_RULE_NAME,
|
|
@@ -87,6 +89,7 @@ import { LINE_RULE_NAME,
|
|
|
87
89
|
STRONGLY_EMPHASISED_TEXT_RULE_NAME } from "../../ruleNames";
|
|
88
90
|
|
|
89
91
|
const htmlNodeMap = {
|
|
92
|
+
[HTML_RULE_NAME]: TopmostHTMLNode, ///
|
|
90
93
|
[LINE_RULE_NAME]: LineHTMLNode,
|
|
91
94
|
[ERROR_RULE_NAME]: ErrorHTMLNode,
|
|
92
95
|
[IMAGE_RULE_NAME]: ImageHTMLNode,
|
|
@@ -131,6 +134,15 @@ const htmlNodeMap = {
|
|
|
131
134
|
[STRONGLY_EMPHASISED_TEXT_RULE_NAME]: StronglyEmphasisedTextHTMLNode
|
|
132
135
|
}
|
|
133
136
|
|
|
134
|
-
export
|
|
137
|
+
export function forEachHTMLNode(callback) {
|
|
138
|
+
const ruleNames = Object.keys(htmlNodeMap);
|
|
139
|
+
|
|
140
|
+
ruleNames.forEach((ruleName) => {
|
|
141
|
+
const HTMLNode = htmlNodeMap[ruleName],
|
|
142
|
+
Class = HTMLNode;
|
|
143
|
+
|
|
144
|
+
callback(Class, ruleName);
|
|
145
|
+
});
|
|
146
|
+
}
|
|
135
147
|
|
|
136
148
|
export default htmlNodeMap;
|
package/src/map/node/markdown.js
CHANGED
|
@@ -12,9 +12,9 @@ import BlockEndMarkdownNode from "../../node/markdown/blockEnd";
|
|
|
12
12
|
import ParagraphMarkdownNode from "../../node/markdown/paragraph";
|
|
13
13
|
import ReferenceMarkdownNode from "../../node/markdown/reference";
|
|
14
14
|
import HyperlinkMarkdownNode from "../../node/markdown/hyperlink";
|
|
15
|
-
import IndexListMarkdownNode from "../../node/markdown/
|
|
16
|
-
import IndexLinkMarkdownNode from "../../node/markdown/
|
|
17
|
-
import EmailLinkMarkdownNode from "../../node/markdown/
|
|
15
|
+
import IndexListMarkdownNode from "../../node/markdown/list/index";
|
|
16
|
+
import IndexLinkMarkdownNode from "../../node/markdown/link/index";
|
|
17
|
+
import EmailLinkMarkdownNode from "../../node/markdown/link/email";
|
|
18
18
|
import PlainTextMarkdownNode from "../../node/markdown/text/plain";
|
|
19
19
|
import BlockTextMarkdownNode from "../../node/markdown/text/block";
|
|
20
20
|
import ClassNameMarkdownNode from "../../node/markdown/className";
|
|
@@ -22,14 +22,15 @@ import BlockStartMarkdownNode from "../../node/markdown/blockStart";
|
|
|
22
22
|
import InlineTextMarkdownNode from "../../node/markdown/inlineText";
|
|
23
23
|
import StrongTextMarkdownNode from "../../node/markdown/strongText";
|
|
24
24
|
import OrderedItemMarkdownNode from "../../node/markdown/item/ordered";
|
|
25
|
-
import
|
|
26
|
-
import
|
|
25
|
+
import SubDivisionMarkdownNode from "../../node/markdown/subDivision";
|
|
26
|
+
import BlockListingMarkdownNode from "../../node/markdown/listng/block";
|
|
27
|
+
import ContentsLinkMarkdownNode from "../../node/markdown/link/contents";
|
|
27
28
|
import ContentsItemMarkdownNode from "../../node/markdown/contentsItem";
|
|
28
|
-
import ContentsListMarkdownNode from "../../node/markdown/
|
|
29
|
-
import FootnoteLinkMarkdownNode from "../../node/markdown/
|
|
30
|
-
import InlineListingMarkdownNode from "../../node/markdown/
|
|
31
|
-
import FootnotesItemMarkdownNode from "../../node/markdown/
|
|
32
|
-
import FootnotesListMarkdownNode from "../../node/markdown/
|
|
29
|
+
import ContentsListMarkdownNode from "../../node/markdown/list/contents";
|
|
30
|
+
import FootnoteLinkMarkdownNode from "../../node/markdown/link/footnote";
|
|
31
|
+
import InlineListingMarkdownNode from "../../node/markdown/listng/inline";
|
|
32
|
+
import FootnotesItemMarkdownNode from "../../node/markdown/item/footnotes";
|
|
33
|
+
import FootnotesListMarkdownNode from "../../node/markdown/list/footnotes";
|
|
33
34
|
import EmphasisedTextMarkdownNode from "../../node/markdown/emphasisedText";
|
|
34
35
|
import PrimaryHeadingMarkdownNode from "../../node/markdown/heading/primary";
|
|
35
36
|
import EmbedDirectiveMarkdownNode from "../../node/markdown/directive/embee";
|
|
@@ -45,7 +46,7 @@ import { LINE_RULE_NAME,
|
|
|
45
46
|
IMAGE_RULE_NAME,
|
|
46
47
|
ERROR_RULE_NAME,
|
|
47
48
|
ANCHOR_RULE_NAME,
|
|
48
|
-
|
|
49
|
+
MARKDOWN_RULE_NAME,
|
|
49
50
|
DIVISION_RULE_NAME,
|
|
50
51
|
FOOTNOTE_RULE_NAME,
|
|
51
52
|
BLOCK_END_RULE_NAME,
|
|
@@ -62,6 +63,7 @@ import { LINE_RULE_NAME,
|
|
|
62
63
|
INLINE_TEXT_RULE_NAME,
|
|
63
64
|
STRONG_TEXT_RULE_NAME,
|
|
64
65
|
ORDERED_ITEM_RULE_NAME,
|
|
66
|
+
SUB_DIVISION_RULE_NAME,
|
|
65
67
|
BLOCK_LISTING_RULE_NAME,
|
|
66
68
|
CONTENTS_LINK_RULE_NAME,
|
|
67
69
|
CONTENTS_ITEM_RULE_NAME,
|
|
@@ -86,7 +88,7 @@ const markdownNodeMap = {
|
|
|
86
88
|
[IMAGE_RULE_NAME]: ImageMarkdownNode,
|
|
87
89
|
[ERROR_RULE_NAME]: ErrorMarkdownNode,
|
|
88
90
|
[ANCHOR_RULE_NAME]: AnchorMarkdownNode,
|
|
89
|
-
[
|
|
91
|
+
[MARKDOWN_RULE_NAME]: TopmostMarkdownNode,
|
|
90
92
|
[DIVISION_RULE_NAME]: DivisionMarkdownNode,
|
|
91
93
|
[FOOTNOTE_RULE_NAME]: FootnoteMarkdownNode,
|
|
92
94
|
[BLOCK_END_RULE_NAME]: BlockEndMarkdownNode,
|
|
@@ -103,6 +105,7 @@ const markdownNodeMap = {
|
|
|
103
105
|
[INLINE_TEXT_RULE_NAME]: InlineTextMarkdownNode,
|
|
104
106
|
[STRONG_TEXT_RULE_NAME]: StrongTextMarkdownNode,
|
|
105
107
|
[ORDERED_ITEM_RULE_NAME]: OrderedItemMarkdownNode,
|
|
108
|
+
[SUB_DIVISION_RULE_NAME]: SubDivisionMarkdownNode,
|
|
106
109
|
[CONTENTS_LINK_RULE_NAME]: ContentsLinkMarkdownNode,
|
|
107
110
|
[BLOCK_LISTING_RULE_NAME]: BlockListingMarkdownNode,
|
|
108
111
|
[CONTENTS_ITEM_RULE_NAME]: ContentsItemMarkdownNode,
|
package/src/map/tagName.js
CHANGED
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
import { ruleNames } from "../map/node/html";
|
|
3
|
+
import { forEachHTMLNode } from "../map/node/html";
|
|
6
4
|
|
|
7
5
|
const tagNameMap = {};
|
|
8
6
|
|
|
9
|
-
|
|
10
|
-
const
|
|
11
|
-
{ tagName } = Class;
|
|
7
|
+
forEachHTMLNode((Class, ruleName) => {
|
|
8
|
+
const { tagName } = Class;
|
|
12
9
|
|
|
13
10
|
tagNameMap[ruleName] = tagName;
|
|
14
11
|
});
|
package/src/markdown/bnf.js
CHANGED
|
@@ -2,43 +2,41 @@
|
|
|
2
2
|
|
|
3
3
|
const bnf = `
|
|
4
4
|
|
|
5
|
-
markdown ::= ( division |
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
division ::= verticalSpace ( directives
|
|
9
|
-
|
|
10
|
-
| primaryHeading
|
|
11
|
-
|
|
12
|
-
| secondaryHeading
|
|
13
|
-
|
|
14
|
-
| tertiaryHeading
|
|
15
|
-
|
|
16
|
-
| quaternaryHeading
|
|
17
|
-
|
|
18
|
-
| table
|
|
19
|
-
|
|
20
|
-
| footnote
|
|
21
|
-
|
|
22
|
-
| orderedList
|
|
23
|
-
|
|
24
|
-
| unorderedList
|
|
25
|
-
|
|
26
|
-
| blockListing
|
|
27
|
-
|
|
28
|
-
| paragraph ) ;
|
|
29
|
-
|
|
5
|
+
markdown ::= ( division | error )+ ;
|
|
30
6
|
|
|
31
|
-
|
|
7
|
+
|
|
8
|
+
division ::= ( subDivision | verticalSpace )+ ;
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
subDivision ::= directives
|
|
12
|
+
|
|
13
|
+
| primaryHeading
|
|
32
14
|
|
|
15
|
+
| secondaryHeading
|
|
16
|
+
|
|
17
|
+
| tertiaryHeading
|
|
18
|
+
|
|
19
|
+
| quaternaryHeading
|
|
20
|
+
|
|
21
|
+
| table
|
|
22
|
+
|
|
23
|
+
| footnote
|
|
24
|
+
|
|
25
|
+
| orderedList
|
|
26
|
+
|
|
27
|
+
| unorderedList
|
|
28
|
+
|
|
29
|
+
| blockListing
|
|
30
|
+
|
|
31
|
+
| paragraph
|
|
32
|
+
|
|
33
|
+
;
|
|
33
34
|
|
|
34
|
-
|
|
35
|
+
|
|
36
|
+
verticalSpace. ::= <END_OF_LINE>+ ;
|
|
35
37
|
|
|
36
38
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
| <END_OF_LINE> <END_OF_LINE>+
|
|
40
|
-
|
|
41
|
-
;
|
|
39
|
+
error. ::= . ;
|
|
42
40
|
|
|
43
41
|
|
|
44
42
|
directives ::= indexDirective
|
|
@@ -309,7 +307,10 @@ const bnf = `
|
|
|
309
307
|
|
|
310
308
|
|
|
311
309
|
anchor. ::= ε ;
|
|
310
|
+
|
|
312
311
|
|
|
312
|
+
endOfLine. ::= <END_OF_LINE> ;
|
|
313
|
+
|
|
313
314
|
`;
|
|
314
315
|
|
|
315
316
|
export default bnf;
|
package/src/mixins/node.js
CHANGED
|
@@ -1,15 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
function filterChildNode(callback) {
|
|
4
|
-
this.forEachChildNode((childNode) => {
|
|
5
|
-
const result = callback(childNode);
|
|
6
|
-
|
|
7
|
-
if (!result) {
|
|
8
|
-
this.removeChildNode(childNode);
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
}
|
|
12
|
-
|
|
13
3
|
function fromFirstChildNode(callback) {
|
|
14
4
|
let result;
|
|
15
5
|
|
|
@@ -122,7 +112,6 @@ function fromThirdLastChildNode(callback) {
|
|
|
122
112
|
}
|
|
123
113
|
|
|
124
114
|
const nodeMixins = {
|
|
125
|
-
filterChildNode,
|
|
126
115
|
fromFirstChildNode,
|
|
127
116
|
fromSecondChildNode,
|
|
128
117
|
fromThirdChildNode,
|