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.
Files changed (120) hide show
  1. package/example.js +2834 -6275
  2. package/lib/example/importer.js +2 -2
  3. package/lib/example/view/div/preview.js +19 -19
  4. package/lib/example/view/textarea/plainText.js +3 -3
  5. package/lib/example/view/xmp.js +3 -3
  6. package/lib/example/view.js +7 -7
  7. package/lib/index.js +5 -1
  8. package/lib/map/className.js +4 -45
  9. package/lib/map/node/html.js +16 -9
  10. package/lib/map/node/markdown.js +13 -12
  11. package/lib/map/tagName.js +4 -45
  12. package/lib/markdown/bnf.js +2 -2
  13. package/lib/mixins/node.js +1 -11
  14. package/lib/node/html/{indexList.js → list/index.js} +2 -2
  15. package/lib/node/html/listing/inline.js +7 -1
  16. package/lib/node/html/topmost.js +21 -39
  17. package/lib/node/html.js +15 -1
  18. package/lib/node/markdown/directive/embee.js +28 -21
  19. package/lib/node/markdown/directive/include.js +28 -23
  20. package/lib/node/markdown/division.js +82 -249
  21. package/lib/node/markdown/{footnotesItem.js → item/footnotes.js} +5 -5
  22. package/lib/node/markdown/{contentsLink.js → link/contents.js} +3 -3
  23. package/lib/node/markdown/{emailLink.js → link/email.js} +3 -3
  24. package/lib/node/markdown/{footnoteLink.js → link/footnote.js} +3 -3
  25. package/lib/node/markdown/{indexLink.js → link/index.js} +2 -2
  26. package/lib/node/markdown/{contentsList.js → list/contents.js} +3 -3
  27. package/lib/node/markdown/{footnotesList.js → list/footnotes.js} +3 -3
  28. package/lib/node/markdown/{indexList.js → list/index.js} +3 -3
  29. package/lib/node/markdown/{blockListing.js → listng/block.js} +2 -2
  30. package/lib/node/markdown/{inlineListing.js → listng/inline.js} +21 -23
  31. package/lib/node/markdown/subDivision.js +144 -0
  32. package/lib/node/markdown/topmost.js +32 -65
  33. package/lib/queries.js +4 -3
  34. package/lib/ruleNames.js +16 -6
  35. package/lib/transform/{subDivision/contentsDirective.js → contentsDirective.js} +5 -6
  36. package/lib/transform/contentsLink.js +3 -3
  37. package/lib/transform/contentsList.js +7 -8
  38. package/lib/transform/footnote.js +2 -3
  39. package/lib/transform/{subDivision/footnote.js → footnoteIdentifier.js} +6 -7
  40. package/lib/transform/{subDivision/footnotesDirective.js → footnotesDirective.js} +5 -6
  41. package/lib/transform/footnotesItem.js +3 -3
  42. package/lib/transform/footnotesList.js +4 -5
  43. package/lib/transform/{subDivision/indexDirective.js → indexDirective.js} +5 -6
  44. package/lib/transform/indexList.js +3 -3
  45. package/lib/transform/markdown/directive/embed.js +134 -0
  46. package/lib/transform/markdown/directive/ignore.js +134 -0
  47. package/lib/transform/{embedDirective.js → markdown/directive/include.js} +20 -22
  48. package/lib/transform/markdown/subDivision.js +140 -0
  49. package/lib/transform/{subDivision/pageNumberDirective.js → pageNumberDirective.js} +5 -6
  50. package/lib/utilities/dom.js +62 -0
  51. package/lib/utilities/footnotes.js +4 -5
  52. package/lib/utilities/html.js +135 -51
  53. package/lib/utilities/index.js +5 -5
  54. package/lib/utilities/markdown.js +66 -22
  55. package/lib/utilities/query.js +17 -99
  56. package/package.json +4 -4
  57. package/src/example/importer.js +0 -1
  58. package/src/example/view/div/preview.js +16 -16
  59. package/src/example/view/textarea/plainText.js +2 -2
  60. package/src/example/view/xmp.js +3 -2
  61. package/src/example/view.js +9 -8
  62. package/src/index.js +1 -0
  63. package/src/map/className.js +3 -6
  64. package/src/map/node/html.js +18 -6
  65. package/src/map/node/markdown.js +15 -12
  66. package/src/map/tagName.js +3 -6
  67. package/src/markdown/bnf.js +33 -32
  68. package/src/mixins/node.js +0 -11
  69. package/src/node/html/{indexList.js → list/index.js} +1 -1
  70. package/src/node/html/listing/inline.js +2 -0
  71. package/src/node/html/topmost.js +16 -47
  72. package/src/node/html.js +12 -0
  73. package/src/node/markdown/directive/embee.js +37 -25
  74. package/src/node/markdown/directive/include.js +36 -27
  75. package/src/node/markdown/division.js +153 -136
  76. package/src/node/markdown/{footnotesItem.js → item/footnotes.js} +4 -4
  77. package/src/node/markdown/{contentsLink.js → link/contents.js} +2 -2
  78. package/src/node/markdown/{emailLink.js → link/email.js} +2 -2
  79. package/src/node/markdown/{footnoteLink.js → link/footnote.js} +2 -2
  80. package/src/node/markdown/{indexLink.js → link/index.js} +1 -1
  81. package/src/node/markdown/{contentsList.js → list/contents.js} +2 -2
  82. package/src/node/markdown/{footnotesList.js → list/footnotes.js} +2 -2
  83. package/src/node/markdown/{indexList.js → list/index.js} +2 -2
  84. package/src/node/markdown/{blockListing.js → listng/block.js} +1 -1
  85. package/src/node/markdown/listng/inline.js +28 -0
  86. package/src/node/markdown/subDivision.js +58 -0
  87. package/src/node/markdown/topmost.js +34 -64
  88. package/src/queries.js +5 -3
  89. package/src/ruleNames.js +6 -2
  90. package/src/transform/{subDivision/contentsDirective.js → contentsDirective.js} +1 -3
  91. package/src/transform/contentsLink.js +1 -1
  92. package/src/transform/contentsList.js +1 -2
  93. package/src/transform/footnote.js +0 -2
  94. package/src/transform/{subDivision/footnote.js → footnoteIdentifier.js} +1 -3
  95. package/src/transform/{subDivision/footnotesDirective.js → footnotesDirective.js} +1 -3
  96. package/src/transform/footnotesItem.js +1 -1
  97. package/src/transform/footnotesList.js +1 -3
  98. package/src/transform/{subDivision/indexDirective.js → indexDirective.js} +1 -3
  99. package/src/transform/indexList.js +1 -1
  100. package/src/transform/markdown/directive/embed.js +19 -0
  101. package/src/transform/markdown/directive/ignore.js +19 -0
  102. package/src/transform/markdown/directive/include.js +29 -0
  103. package/src/transform/markdown/subDivision.js +25 -0
  104. package/src/transform/{subDivision/pageNumberDirective.js → pageNumberDirective.js} +1 -3
  105. package/src/utilities/dom.js +58 -0
  106. package/src/utilities/footnotes.js +1 -3
  107. package/src/utilities/html.js +122 -52
  108. package/src/utilities/index.js +4 -4
  109. package/src/utilities/markdown.js +57 -17
  110. package/src/utilities/query.js +12 -94
  111. package/lib/transform/division.js +0 -193
  112. package/lib/transform/includeDirective.js +0 -158
  113. package/lib/transform/subDivision/embedDirectives.js +0 -147
  114. package/lib/transform/subDivision/includeDirectives.js +0 -142
  115. package/src/node/markdown/inlineListing.js +0 -28
  116. package/src/transform/division.js +0 -41
  117. package/src/transform/embedDirective.js +0 -34
  118. package/src/transform/includeDirective.js +0 -49
  119. package/src/transform/subDivision/embedDirectives.js +0 -52
  120. package/src/transform/subDivision/includeDirectives.js +0 -48
@@ -9,53 +9,25 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- contentsDirectiveMarkdownNodeFromNode: function() {
13
- return contentsDirectiveMarkdownNodeFromNode;
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.176",
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.1",
14
+ "occam-dom": "^5.2.9",
15
15
  "occam-lexers": "^23.0.47",
16
- "occam-parsers": "^23.0.120",
17
- "occam-query": "^4.1.77"
16
+ "occam-parsers": "^23.0.123",
17
+ "occam-query": "^4.1.79"
18
18
  },
19
19
  "devDependencies": {
20
20
  "@swc/core": "^1.5.6",
@@ -53,7 +53,6 @@ const indexContent = `## Index
53
53
 
54
54
  contentContent = `@ignore
55
55
 
56
- @include ${INTRODUCTION_PATH}
57
56
  @include ${GETTING_STARTED_PATH}`,
58
57
 
59
58
  contentsContent = `## Contents
@@ -13,22 +13,22 @@ class PreviewDiv extends Element {
13
13
  }
14
14
 
15
15
  clear() {
16
- let markdownNode;
16
+ let divisionHTMLNode;
17
17
 
18
- markdownNode = this.getMarkdownNode();
18
+ divisionHTMLNode = this.getDivisionHTMLNode();
19
19
 
20
- if (markdownNode !== null) {
20
+ if (divisionHTMLNode !== null) {
21
21
  const parentDOMElement = this.getParentDOMElement();
22
22
 
23
- markdownNode.unmount(parentDOMElement);
23
+ divisionHTMLNode.unmount(parentDOMElement);
24
24
 
25
- markdownNode = null;
25
+ divisionHTMLNode = null;
26
26
 
27
- this.setMarkdownNode(markdownNode);
27
+ this.setDivisionHTMLNode(divisionHTMLNode);
28
28
  }
29
29
  }
30
30
 
31
- update(markdownNode, context) {
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
- markdownNode.mount(parentDOMElement, siblingDOMElement, context);
43
+ divisionHTMLNode.mount(parentDOMElement, siblingDOMElement, context);
44
44
 
45
- this.setMarkdownNode(markdownNode);
45
+ this.setDivisionHTMLNode(divisionHTMLNode);
46
46
  }
47
47
 
48
- getMarkdownNode() {
49
- const { markdownNode } = this.getState();
48
+ getDivisionHTMLNode() {
49
+ const { divisionHTMLNode } = this.getState();
50
50
 
51
- return markdownNode;
51
+ return divisionHTMLNode;
52
52
  }
53
53
 
54
- setMarkdownNode(markdownNode) {
54
+ setDivisionHTMLNode(divisionHTMLNode) {
55
55
  this.updateState({
56
- markdownNode
56
+ divisionHTMLNode
57
57
  });
58
58
  }
59
59
 
60
60
  setInitialState() {
61
- const markdownNode = null;
61
+ const divisionHTMLNode = null;
62
62
 
63
63
  this.setState({
64
- markdownNode
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(topmostHTMLNode, context) {
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 = topmostHTMLNode.asPlainText(context);
29
+ const plainText = divisionHTMLNode.asPlainText(context);
30
30
 
31
31
  this.setPlainText(plainText);
32
32
  }
@@ -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(topmostHTMLNode, context) {
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 html = topmostHTMLNode.asHTML(context);
17
+ const indent = null,
18
+ html = divisionHTMLNode.asHTML(indent, context);
18
19
 
19
20
  this.html(html);
20
21
  }
@@ -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
- divisionMarkdownNode = topmostMarkdownNode.getDivisionMarkdownNodeAt(index),
80
- topmostHTMLNode = TopmostHTMLNode.fromDivisionMarkdownNode(divisionMarkdownNode),
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(topmostHTMLNode, context);
86
+ this.updateXMP(divisionHTMLNOde, context);
87
87
 
88
- this.updatePreviewDiv(topmostHTMLNode, context);
88
+ this.updatePreviewDiv(divisionHTMLNOde, context);
89
89
 
90
- this.updatePlainTextTextarea(topmostHTMLNode, context);
90
+ this.updatePlainTextTextarea(divisionHTMLNOde, context);
91
91
 
92
- const length = null,
93
- parseTree = topmostHTMLNode.asParseTree(),
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";
@@ -1,14 +1,11 @@
1
1
  "use strict";
2
2
 
3
- import htmlNodeMap from "../map/node/html";
4
-
5
- import { ruleNames } from "../map/node/html";
3
+ import { forEachHTMLNode } from "../map/node/html";
6
4
 
7
5
  const classNameMap = {};
8
6
 
9
- ruleNames.forEach((ruleName) => {
10
- const Class = htmlNodeMap[ruleName],
11
- { className } = Class;
7
+ forEachHTMLNode((Class, ruleName) => {
8
+ const { className } = Class;
12
9
 
13
10
  classNameMap[ruleName] = className;
14
11
  });
@@ -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/indexList";
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 { LINE_RULE_NAME,
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 const ruleNames = Object.keys(htmlNodeMap);
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;
@@ -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/indexList";
16
- import IndexLinkMarkdownNode from "../../node/markdown/indexLink";
17
- import EmailLinkMarkdownNode from "../../node/markdown/emailLink";
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 BlockListingMarkdownNode from "../../node/markdown/blockListing";
26
- import ContentsLinkMarkdownNode from "../../node/markdown/contentsLink";
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/contentsList";
29
- import FootnoteLinkMarkdownNode from "../../node/markdown/footnoteLink";
30
- import InlineListingMarkdownNode from "../../node/markdown/inlineListing";
31
- import FootnotesItemMarkdownNode from "../../node/markdown/footnotesItem";
32
- import FootnotesListMarkdownNode from "../../node/markdown/footnotesList";
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
- TOPMOST_RULE_NAME,
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
- [TOPMOST_RULE_NAME]: TopmostMarkdownNode,
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,
@@ -1,14 +1,11 @@
1
1
  "use strict";
2
2
 
3
- import htmlNodeMap from "../map/node/html";
4
-
5
- import { ruleNames } from "../map/node/html";
3
+ import { forEachHTMLNode } from "../map/node/html";
6
4
 
7
5
  const tagNameMap = {};
8
6
 
9
- ruleNames.forEach((ruleName) => {
10
- const Class = htmlNodeMap[ruleName],
11
- { tagName } = Class;
7
+ forEachHTMLNode((Class, ruleName) => {
8
+ const { tagName } = Class;
12
9
 
13
10
  tagNameMap[ruleName] = tagName;
14
11
  });
@@ -2,43 +2,41 @@
2
2
 
3
3
  const bnf = `
4
4
 
5
- markdown ::= ( division | endOfLine | error )+ ;
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
- endOfLine. ::= <END_OF_LINE> ;
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
- error. ::= . ;
35
+
36
+ verticalSpace. ::= <END_OF_LINE>+ ;
35
37
 
36
38
 
37
- verticalSpace. ::= <START_OF_CONTENT> <END_OF_LINE>*
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;
@@ -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,
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- import HTMLNode from "../../node/html";
3
+ import HTMLNode from "../../../node/html";
4
4
 
5
5
  export default class IndexListHTMLNode extends HTMLNode {
6
6
  static tagName = "ul";