highmark-markdown 1.0.183 → 1.0.185

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 (266) hide show
  1. package/example.js +10243 -6411
  2. package/lib/constants.js +9 -1
  3. package/lib/defaultMarkdownStyle.js +2 -2
  4. package/lib/example/importer.js +3 -3
  5. package/lib/example/indexOptions.js +1 -98
  6. package/lib/example/view/div/container/markdown.js +2 -2
  7. package/lib/example/view/div/container/markdownStyle.js +2 -2
  8. package/lib/example/view/div/container.js +2 -2
  9. package/lib/example/view/div/pageButtons.js +7 -4
  10. package/lib/example/view/div/preview.js +1 -5
  11. package/lib/example/view/div/sizeable/left.js +2 -2
  12. package/lib/example/view/div/tabButtons/right.js +5 -5
  13. package/lib/example/view/textarea/markdown.js +2 -2
  14. package/lib/example/view/textarea/markdownStyle.js +2 -2
  15. package/lib/example/view/textarea/parseTree/html.js +2 -2
  16. package/lib/example/view/textarea/plainText.js +1 -5
  17. package/lib/example/view/xmp.js +1 -5
  18. package/lib/example/view.js +51 -48
  19. package/lib/index/list.js +4 -4
  20. package/lib/index.js +2 -2
  21. package/lib/map/node/html.js +13 -7
  22. package/lib/map/node/markdown.js +5 -24
  23. package/lib/markdown/bnf.js +2 -2
  24. package/lib/node/html/anchor.js +49 -64
  25. package/lib/node/html/blockLine.js +23 -4
  26. package/lib/node/{markdown/paragraph.js → html/directive/contents.js} +20 -14
  27. package/lib/node/{markdown/strongText.js → html/directive/footnotes.js} +20 -14
  28. package/lib/node/{markdown/emphasisedText.js → html/directive/index.js} +20 -14
  29. package/lib/node/{markdown/inlineText.js → html/directive/pageNumber.js} +20 -14
  30. package/lib/node/html/division.js +118 -7
  31. package/lib/node/html/footnote.js +4 -10
  32. package/lib/node/html/heading/index.js +71 -10
  33. package/lib/node/html/heading/primary.js +8 -7
  34. package/lib/node/html/heading/quaternary.js +8 -7
  35. package/lib/node/html/heading/secondary.js +8 -7
  36. package/lib/node/html/heading/tertiary.js +8 -7
  37. package/lib/node/html/heading.js +165 -0
  38. package/lib/node/html/image.js +7 -6
  39. package/lib/node/html/item/contents.js +22 -8
  40. package/lib/node/html/item/footnote.js +144 -0
  41. package/lib/node/html/item/index.js +27 -43
  42. package/lib/node/html/line.js +55 -2
  43. package/lib/node/html/link/contents.js +34 -14
  44. package/lib/node/html/link/email.js +32 -8
  45. package/lib/node/html/link/footnote.js +95 -5
  46. package/lib/node/html/link/hyper.js +32 -8
  47. package/lib/node/html/link/index.js +66 -35
  48. package/lib/node/html/list/contents.js +22 -8
  49. package/lib/node/html/list/footnotes.js +39 -12
  50. package/lib/node/html/list/index.js +22 -8
  51. package/lib/node/html/pageNumber.js +70 -23
  52. package/lib/node/html/{item/footnotes.js → reference.js} +14 -14
  53. package/lib/node/{markdown/heading/primary.js → html/text/comma.js} +38 -28
  54. package/lib/node/html/text/index.js +146 -0
  55. package/lib/node/html/text/stronglyEmphasised.js +15 -8
  56. package/lib/node/html/text.js +43 -5
  57. package/lib/node/html/topmost.js +67 -1
  58. package/lib/node/html.js +77 -4
  59. package/lib/node/markdown/directive/{embee.js → embed.js} +1 -1
  60. package/lib/node/markdown/division.js +13 -22
  61. package/lib/node/markdown/link/footnote.js +5 -102
  62. package/lib/node/markdown/subDivision.js +2 -2
  63. package/lib/node/markdown/text/block.js +1 -1
  64. package/lib/node/markdown/text.js +25 -29
  65. package/lib/ruleNames.js +87 -81
  66. package/lib/style/selector.js +4 -4
  67. package/lib/{node/markdown/heading/tertiary.js → transform/html/directive/contents.js} +23 -28
  68. package/lib/{node/markdown/stronglyEmphasisedText.js → transform/html/directive/footnotes.js} +15 -14
  69. package/lib/{node/markdown/line.js → transform/html/directive/index.js} +19 -18
  70. package/lib/transform/html/directive/pageNumber.js +108 -0
  71. package/lib/transform/html/division.js +130 -0
  72. package/lib/transform/html/footnote.js +159 -0
  73. package/lib/transform/html/heading/index.js +109 -0
  74. package/lib/transform/html/index.js +159 -0
  75. package/lib/transform/{indexAnchor.js → html/indexAnchor.js} +20 -20
  76. package/lib/transform/html/item/contents.js +130 -0
  77. package/lib/transform/html/item/footnote.js +117 -0
  78. package/lib/transform/html/item/index.js +117 -0
  79. package/lib/transform/html/line.js +123 -0
  80. package/lib/transform/html/link/contents.js +130 -0
  81. package/lib/transform/html/link/footnote.js +158 -0
  82. package/lib/transform/html/link/nestedFootnote.js +108 -0
  83. package/lib/transform/html/list/contents.js +180 -0
  84. package/lib/transform/html/list/footnotes.js +117 -0
  85. package/lib/transform/html/list/index.js +118 -0
  86. package/lib/transform/html/pageNumber.js +117 -0
  87. package/lib/transform/html.js +168 -0
  88. package/lib/transform/markdown/directive/embed.js +14 -9
  89. package/lib/transform/markdown/directive/ignore.js +12 -38
  90. package/lib/transform/markdown/directive/include.js +11 -6
  91. package/lib/transform/markdown/subDivision.js +18 -50
  92. package/lib/transform/markdown.js +148 -0
  93. package/lib/utilities/contents.js +16 -16
  94. package/lib/utilities/division.js +247 -0
  95. package/lib/utilities/footnotes.js +8 -8
  96. package/lib/utilities/html.js +37 -79
  97. package/lib/utilities/index.js +23 -16
  98. package/lib/utilities/markdown.js +2 -10
  99. package/lib/utilities/string.js +16 -10
  100. package/lib/utilities/whitespace.js +33 -0
  101. package/package.json +6 -6
  102. package/src/constants.js +2 -0
  103. package/src/defaultMarkdownStyle.js +6 -9
  104. package/src/example/importer.js +11 -5
  105. package/src/example/indexOptions.js +0 -97
  106. package/src/example/view/div/container/markdown.js +1 -1
  107. package/src/example/view/div/container/markdownStyle.js +1 -1
  108. package/src/example/view/div/container.js +1 -1
  109. package/src/example/view/div/pageButtons.js +8 -2
  110. package/src/example/view/div/preview.js +0 -6
  111. package/src/example/view/div/sizeable/left.js +1 -1
  112. package/src/example/view/div/tabButtons/right.js +3 -3
  113. package/src/example/view/textarea/markdown.js +1 -0
  114. package/src/example/view/textarea/markdownStyle.js +1 -0
  115. package/src/example/view/textarea/parseTree/html.js +1 -1
  116. package/src/example/view/textarea/plainText.js +0 -6
  117. package/src/example/view/xmp.js +0 -6
  118. package/src/example/view.js +75 -74
  119. package/src/index/list.js +3 -3
  120. package/src/index.js +1 -1
  121. package/src/map/node/html.js +29 -11
  122. package/src/map/node/markdown.js +8 -65
  123. package/src/markdown/bnf.js +112 -149
  124. package/src/node/html/anchor.js +34 -43
  125. package/src/node/html/blockLine.js +33 -4
  126. package/src/node/html/directive/contents.js +9 -0
  127. package/src/node/html/directive/footnotes.js +9 -0
  128. package/src/node/html/directive/index.js +9 -0
  129. package/src/node/html/directive/pageNumber.js +9 -0
  130. package/src/node/html/division.js +154 -4
  131. package/src/node/html/footnote.js +1 -7
  132. package/src/node/html/heading/index.js +78 -2
  133. package/src/node/html/heading/primary.js +6 -4
  134. package/src/node/html/heading/quaternary.js +6 -4
  135. package/src/node/html/heading/secondary.js +6 -4
  136. package/src/node/html/heading/tertiary.js +6 -4
  137. package/src/node/html/heading.js +59 -0
  138. package/src/node/html/image.js +8 -5
  139. package/src/node/html/item/contents.js +25 -2
  140. package/src/node/html/item/footnote.js +39 -0
  141. package/src/node/html/item/index.js +35 -16
  142. package/src/node/html/line.js +41 -2
  143. package/src/node/html/link/contents.js +32 -5
  144. package/src/node/html/link/email.js +51 -17
  145. package/src/node/html/link/footnote.js +98 -2
  146. package/src/node/html/link/hyper.js +51 -17
  147. package/src/node/html/link/index.js +63 -30
  148. package/src/node/html/list/contents.js +25 -2
  149. package/src/node/html/list/footnotes.js +34 -2
  150. package/src/node/html/list/index.js +25 -2
  151. package/src/node/html/pageNumber.js +60 -16
  152. package/src/node/html/reference.js +13 -0
  153. package/src/node/html/text/comma.js +29 -0
  154. package/src/node/html/text/index.js +43 -0
  155. package/src/node/html/text/stronglyEmphasised.js +22 -11
  156. package/src/node/html/text.js +3 -3
  157. package/src/node/html/topmost.js +93 -1
  158. package/src/node/html.js +34 -6
  159. package/src/node/markdown/division.js +11 -227
  160. package/src/node/markdown/link/footnote.js +6 -82
  161. package/src/node/markdown/subDivision.js +1 -1
  162. package/src/node/markdown/text/block.js +1 -1
  163. package/src/node/markdown/text.js +38 -39
  164. package/src/ruleNames.js +11 -8
  165. package/src/style/selector.js +3 -4
  166. package/src/transform/html/directive/contents.js +19 -0
  167. package/src/transform/html/directive/footnotes.js +12 -0
  168. package/src/transform/html/directive/index.js +19 -0
  169. package/src/transform/html/directive/pageNumber.js +12 -0
  170. package/src/transform/html/division.js +33 -0
  171. package/src/transform/html/footnote.js +66 -0
  172. package/src/transform/html/heading/index.js +14 -0
  173. package/src/transform/html/index.js +77 -0
  174. package/src/transform/html/indexAnchor.js +24 -0
  175. package/src/transform/html/item/contents.js +48 -0
  176. package/src/transform/html/item/footnote.js +21 -0
  177. package/src/transform/html/item/index.js +21 -0
  178. package/src/transform/html/line.js +27 -0
  179. package/src/transform/html/link/contents.js +40 -0
  180. package/src/transform/html/link/footnote.js +58 -0
  181. package/src/transform/html/link/nestedFootnote.js +12 -0
  182. package/src/transform/html/list/contents.js +86 -0
  183. package/src/transform/html/list/footnotes.js +20 -0
  184. package/src/transform/html/list/index.js +27 -0
  185. package/src/transform/html/pageNumber.js +20 -0
  186. package/src/transform/html.js +78 -0
  187. package/src/transform/markdown/directive/embed.js +6 -7
  188. package/src/transform/markdown/directive/ignore.js +3 -9
  189. package/src/transform/markdown/directive/include.js +3 -3
  190. package/src/transform/markdown/subDivision.js +5 -17
  191. package/src/transform/markdown.js +9 -0
  192. package/src/utilities/contents.js +12 -12
  193. package/src/utilities/division.js +256 -0
  194. package/src/utilities/footnotes.js +5 -5
  195. package/src/utilities/html.js +39 -86
  196. package/src/utilities/index.js +26 -16
  197. package/src/utilities/markdown.js +0 -8
  198. package/src/utilities/string.js +5 -3
  199. package/src/utilities/whitespace.js +21 -0
  200. package/lib/node/markdown/anchor.js +0 -171
  201. package/lib/node/markdown/contentsItem.js +0 -112
  202. package/lib/node/markdown/directive/pageNumber.js +0 -163
  203. package/lib/node/markdown/heading/quaternary.js +0 -121
  204. package/lib/node/markdown/heading/secondary.js +0 -121
  205. package/lib/node/markdown/heading.js +0 -140
  206. package/lib/node/markdown/item/footnotes.js +0 -120
  207. package/lib/node/markdown/link/contents.js +0 -156
  208. package/lib/node/markdown/link/index.js +0 -117
  209. package/lib/node/markdown/list/contents.js +0 -112
  210. package/lib/node/markdown/list/footnotes.js +0 -165
  211. package/lib/node/markdown/list/index.js +0 -112
  212. package/lib/transform/contentsDirective.js +0 -112
  213. package/lib/transform/contentsItem.js +0 -134
  214. package/lib/transform/contentsLink.js +0 -115
  215. package/lib/transform/contentsList.js +0 -193
  216. package/lib/transform/footnote.js +0 -181
  217. package/lib/transform/footnoteIdentifier.js +0 -120
  218. package/lib/transform/footnotesDirective.js +0 -112
  219. package/lib/transform/footnotesItem.js +0 -123
  220. package/lib/transform/footnotesList.js +0 -172
  221. package/lib/transform/index.js +0 -166
  222. package/lib/transform/indexDirective.js +0 -112
  223. package/lib/transform/indexHeading.js +0 -104
  224. package/lib/transform/indexItem.js +0 -113
  225. package/lib/transform/indexList.js +0 -121
  226. package/lib/transform/line.js +0 -111
  227. package/lib/transform/pageNumberDirective.js +0 -112
  228. package/src/node/html/item/footnotes.js +0 -13
  229. package/src/node/markdown/anchor.js +0 -45
  230. package/src/node/markdown/contentsItem.js +0 -21
  231. package/src/node/markdown/directive/pageNumber.js +0 -34
  232. package/src/node/markdown/emphasisedText.js +0 -7
  233. package/src/node/markdown/heading/primary.js +0 -9
  234. package/src/node/markdown/heading/quaternary.js +0 -9
  235. package/src/node/markdown/heading/secondary.js +0 -9
  236. package/src/node/markdown/heading/tertiary.js +0 -9
  237. package/src/node/markdown/heading.js +0 -47
  238. package/src/node/markdown/inlineText.js +0 -7
  239. package/src/node/markdown/item/footnotes.js +0 -39
  240. package/src/node/markdown/line.js +0 -17
  241. package/src/node/markdown/link/contents.js +0 -31
  242. package/src/node/markdown/link/index.js +0 -18
  243. package/src/node/markdown/list/contents.js +0 -21
  244. package/src/node/markdown/list/footnotes.js +0 -45
  245. package/src/node/markdown/list/index.js +0 -21
  246. package/src/node/markdown/paragraph.js +0 -7
  247. package/src/node/markdown/strongText.js +0 -7
  248. package/src/node/markdown/stronglyEmphasisedText.js +0 -7
  249. package/src/transform/contentsDirective.js +0 -18
  250. package/src/transform/contentsItem.js +0 -55
  251. package/src/transform/contentsLink.js +0 -28
  252. package/src/transform/contentsList.js +0 -110
  253. package/src/transform/footnote.js +0 -51
  254. package/src/transform/footnoteIdentifier.js +0 -27
  255. package/src/transform/footnotesDirective.js +0 -18
  256. package/src/transform/footnotesItem.js +0 -25
  257. package/src/transform/footnotesList.js +0 -77
  258. package/src/transform/index.js +0 -90
  259. package/src/transform/indexAnchor.js +0 -27
  260. package/src/transform/indexDirective.js +0 -18
  261. package/src/transform/indexHeading.js +0 -18
  262. package/src/transform/indexItem.js +0 -29
  263. package/src/transform/indexList.js +0 -33
  264. package/src/transform/line.js +0 -19
  265. package/src/transform/pageNumberDirective.js +0 -18
  266. /package/src/node/markdown/directive/{embee.js → embed.js} +0 -0
@@ -1,18 +0,0 @@
1
- "use strict";
2
-
3
- import SubDivisionTransform from "../subDivision";
4
-
5
- export default class FootnotesDirectiveSubDivisionTransform extends SubDivisionTransform {
6
- static fromSubDivisionMarkdownNode(subDivisionMarkdownNode, context) {
7
- let footnotesDirectiveSubDivisionTransform = null;
8
-
9
- const node = subDivisionMarkdownNode, ///
10
- footnotesDirectiveMarkdownNode = footnotesDirectiveMarkdownNodeFromNode(node);
11
-
12
- if (footnotesDirectiveMarkdownNode !== null) {
13
- footnotesDirectiveSubDivisionTransform = SubDivisionTransform.fromSubDivisionMarkdownNode(FootnotesDirectiveSubDivisionTransform, subDivisionMarkdownNode, context);
14
- }
15
-
16
- return footnotesDirectiveSubDivisionTransform;
17
- }
18
- }
@@ -1,25 +0,0 @@
1
- "use strict";
2
-
3
- import { Transform } from "occam-dom";
4
-
5
- import FootnotesItemMarkdownNode from "../node/markdown/item/footnotes";
6
-
7
- export default class FootnotesItemTransform extends Transform {
8
- getFootnotesItemMarkdownNode() {
9
- const node = this.getNode(),
10
- footnotesItemMarkdownNode = node; ///
11
-
12
- return footnotesItemMarkdownNode;
13
- }
14
-
15
- static fromNode(node, context) { return Transform.fromNode(FootnotesItemTransform, node, context); }
16
-
17
- static fromFootnoteTransformAndIdentifier(footnoteTransform, identifier) {
18
- const footnoteMarkdownNode = footnoteTransform.getFootnoteMarkdownNode(),
19
- footnotesItemMarkdownNode = FootnotesItemMarkdownNode.fromFootnotesMarkdownNodeAndIdentifier(footnoteMarkdownNode, identifier),
20
- ascendantNode = footnotesItemMarkdownNode, ///
21
- footnotesItemTransform = footnoteTransform.expand(FootnotesItemTransform, ascendantNode);
22
-
23
- return footnotesItemTransform;
24
- }
25
- }
@@ -1,77 +0,0 @@
1
- "use strict";
2
-
3
- import { Transform } from "occam-dom";
4
-
5
- import FootnotesItemTransform from "../transform/footnotesItem";
6
- import FootnotesListMarkdownNode from "../node/markdown/list/footnotes";
7
-
8
- export default class FootnotesListTransform extends Transform {
9
- replaceFootnotesDirectiveSubDivisionTransform(footnotesDirectiveSubDivisionTransform, divisionMarkdownNode, context) {
10
- const subDivisionMarkdownNode = footnotesDirectiveSubDivisionTransform.getSubDivisionMarkdownNode(),
11
- replacedNode = subDivisionMarkdownNode, ///
12
- parentNode = divisionMarkdownNode; ///
13
-
14
- super.replace(replacedNode, parentNode, context)
15
- }
16
-
17
- static fromDivisionMarkdownNodeAndFootnoteTransformMap(divisionMarkdownNode, footnoteTransformMap, context) {
18
- let footnotesListTransform = null;
19
-
20
- const node = divisionMarkdownNode, ///
21
- start = startFromFootnoteTransformMap(footnoteTransformMap),
22
- footnoteLinkMarkdownNodes = footnoteLinkMarkdownNodesFromNode(node),
23
- footnotesItemTransforms = [];
24
-
25
- let number = start;
26
-
27
- footnoteLinkMarkdownNodes.forEach((footnoteLinkMarkdownNode) => {
28
- const identifier = footnoteLinkMarkdownNode.identifier(context),
29
- footnoteTransform = footnoteTransformMap[identifier] || null;
30
-
31
- if (footnoteTransform !== null) {
32
- const footnoteTransformUnnumbered = footnoteTransform.isUnnumbered();
33
-
34
- if (footnoteTransformUnnumbered) {
35
- const footnotesItemTransform = FootnotesItemTransform.fromFootnoteTransformAndIdentifier(footnoteTransform, identifier, context);
36
-
37
- footnotesItemTransforms.push(footnotesItemTransform);
38
-
39
- footnoteTransform.setNumber(number);
40
-
41
- number++;
42
- }
43
- }
44
- });
45
-
46
- const footnotesItemTransformsLength = footnotesItemTransforms.length;
47
-
48
- if (footnotesItemTransformsLength > 0) {
49
- const footnotesListMarkdownNode = FootnotesListMarkdownNode.fromFootnotesItemTransformsAndStart(footnotesItemTransforms, start),
50
- node = footnotesListMarkdownNode, ///
51
- tokens = [];
52
-
53
- footnotesItemTransforms.forEach((footnotesItemTransform) => {
54
- footnotesItemTransform.getTokens(tokens);
55
- });
56
-
57
- footnotesListTransform = Transform.fromNodeAndTokens(FootnotesListTransform, node, tokens);
58
- }
59
-
60
- return footnotesListTransform;
61
- }
62
- }
63
-
64
- function startFromFootnoteTransformMap(footnoteTransformMap) {
65
- const footnoteTransforms = Object.values(footnoteTransformMap), ///
66
- numberedFootnoteTransforms = footnoteTransforms.filter((footnoteTransform) => {
67
- const footnoteTransformNumbered = footnoteTransform.isNumbered();
68
-
69
- if (footnoteTransformNumbered) {
70
- return true;
71
- }
72
- }),
73
- numberedFootnoteTransformsLength = numberedFootnoteTransforms.length,
74
- start = numberedFootnoteTransformsLength + 1;
75
-
76
- return start;
77
- }
@@ -1,90 +0,0 @@
1
- "use strict";
2
-
3
- import { Transform, transformUtilities } from "occam-dom";
4
-
5
- import letters from "../letters";
6
- import IndexList from "../index/list";
7
- import IndexListTransform from "../transform/indexList";
8
- import IndexHeadingTransform from "../transform/indexHeading";
9
-
10
- const { replaceNodes, replaceTokens } = transformUtilities;
11
-
12
- export default class IndexTransform extends Transform {
13
- constructor(node, tokens, nodes) {
14
- super(node, tokens);
15
-
16
- this.nodes = nodes;
17
- }
18
-
19
- getNodes() {
20
- return this.nodes;
21
- }
22
-
23
- replace(replacedNode, parentNode, context) {
24
- let tokens;
25
-
26
- tokens = this.getTokens();
27
-
28
- const replacementNodes = this.nodes, ///
29
- replacementTokens = tokens; ///
30
-
31
- ({ tokens } = context);
32
-
33
- replaceNodes(replacementNodes, replacedNode, parentNode);
34
-
35
- replaceTokens(replacementTokens, replacedNode, tokens);
36
- }
37
-
38
- replaceIndexDirectiveSubdivisionTransform(indexDirectiveSubDivisionTransform, divisionMarkdownNode, context) {
39
- const subDivisionMarkdownNode = indexDirectiveSubDivisionTransform.getSubDivisionMarkdownNode(),
40
- replacedNode = subDivisionMarkdownNode, ///
41
- parentNode = divisionMarkdownNode; ///
42
-
43
- this.replace(replacedNode, parentNode, context)
44
- }
45
-
46
- static fromDivisionMarkdownNodesAndDivisionMarkdownNode(divisionMarkdownNodes, divisionMarkdownNode, context) {
47
- let indexTransform = null;
48
-
49
- const indexList = IndexList.fromDivisionMarkdownNodes(divisionMarkdownNodes, context),
50
- indexTransforms = [];
51
-
52
- letters.forEach((letter) => {
53
- const indexListTransform = IndexListTransform.fromIndexListAndLetter(indexList, letter, context);
54
-
55
- if (indexListTransform !== null) {
56
- let indexTransform;
57
-
58
- const indexHeadingTransform = IndexHeadingTransform.fromLetter(letter, context);
59
-
60
- indexTransform = indexHeadingTransform; ///
61
-
62
- indexTransforms.push(indexTransform);
63
-
64
- indexTransform = indexListTransform; ///
65
-
66
- indexTransforms.push(indexTransform);
67
- }
68
- });
69
-
70
- const indexListTransformsLength = indexTransforms.length;
71
-
72
- if (indexListTransformsLength > 0) {
73
- const node = null,
74
- nodes = [],
75
- tokens = [];
76
-
77
- indexTransforms.forEach((indexTransform) => {
78
- const node = indexTransform.getNode();
79
-
80
- indexTransform.getTokens(tokens);
81
-
82
- nodes.push(node);
83
- });
84
-
85
- indexTransform = Transform.fromNodeAndTokens(IndexTransform, node, tokens, nodes);
86
- }
87
-
88
- return indexTransform;
89
- }
90
- }
@@ -1,27 +0,0 @@
1
- "use strict";
2
-
3
- import { Transform } from "occam-dom";
4
-
5
- import AnchorMarkdownNode from "../node/markdown/anchor";
6
-
7
- import { INDEX_PREPEND } from "../prepends";
8
-
9
- export default class IndexAnchorTransform extends Transform {
10
- getAnchorMarkdownNode() {
11
- const node = this.getNode(),
12
- anchorMarkdownNode = node; ///
13
-
14
- return anchorMarkdownNode;
15
- }
16
-
17
- static fromPageNumber(pageNumber, context) {
18
- const prepend = INDEX_PREPEND,
19
- identifier = pageNumber, ///
20
- anchorMarkdownNode = AnchorMarkdownNode.fromPrependAndIdentifier(prepend, identifier),
21
- node = anchorMarkdownNode, ///
22
- tokens = [],
23
- indexAnchorTransform = Transform.fromNodeAndTokens(IndexAnchorTransform, node, tokens);
24
-
25
- return indexAnchorTransform;
26
- }
27
- }
@@ -1,18 +0,0 @@
1
- "use strict";
2
-
3
- import SubDivisionTransform from "../subDivision";
4
-
5
- export default class IndexDirectiveSubDivisionTransform extends SubDivisionTransform {
6
- static fromSubDivisionMarkdownNode(subDivisionMarkdownNode, context) {
7
- let indexDirectiveSubDivisionTransform = null;
8
-
9
- const node = subDivisionMarkdownNode, ///
10
- indexDirectiveMarkdownNode = indexDirectiveMarkdownNodeFromNode(node);
11
-
12
- if (indexDirectiveMarkdownNode !== null) {
13
- indexDirectiveSubDivisionTransform = SubDivisionTransform.fromSubDivisionMarkdownNode(IndexDirectiveSubDivisionTransform, subDivisionMarkdownNode, context);
14
- }
15
-
16
- return indexDirectiveSubDivisionTransform;
17
- }
18
- }
@@ -1,18 +0,0 @@
1
- "use strict";
2
-
3
- import { Transform } from "occam-dom";
4
-
5
- import { INDEX_HEADING_RULE_NAME } from "../ruleNames";
6
-
7
- export default class IndexHeadingTransform extends Transform {
8
- static fromLetter(letter, context) {
9
- const { nodeFromTokens, tokensFromContent } = context, ///
10
- startRuleName = INDEX_HEADING_RULE_NAME,
11
- content = `${letter}`,
12
- tokens = tokensFromContent(content),
13
- node = nodeFromTokens(tokens, startRuleName),
14
- indexHeadingTransform = Transform.fromNodeAndTokens(IndexHeadingTransform, node, tokens);
15
-
16
- return indexHeadingTransform;
17
- }
18
- }
@@ -1,29 +0,0 @@
1
- "use strict";
2
-
3
- import { Transform } from "occam-dom";
4
-
5
- import { COMMA } from "../constants";
6
- import { INDEX_ITEM_RULE_NAME } from "../ruleNames";
7
-
8
- export default class IndexItemTransform extends Transform {
9
- getIndexItemMarkdownNode() {
10
- const node = this.getNode(),
11
- indexItemMarkdownNode = node; ///
12
-
13
- return indexItemMarkdownNode;
14
- }
15
-
16
- static fromIndexItem(indexItem, context) {
17
- const { nodeFromTokens, tokensFromContent } = context,
18
- wordOrPhrase = indexItem.getWordOrPhrase(),
19
- pageNumbers = indexItem.getPageNumbers(),
20
- pageNumbersContent = pageNumbers.join(COMMA),
21
- content = `${wordOrPhrase},${pageNumbersContent}`,
22
- startRuleName = INDEX_ITEM_RULE_NAME,
23
- tokens = tokensFromContent(content),
24
- node = nodeFromTokens(tokens, startRuleName),
25
- indexItemTransform = Transform.fromNodeAndTokens(IndexItemTransform, node, tokens);
26
-
27
- return indexItemTransform;
28
- }
29
- }
@@ -1,33 +0,0 @@
1
- "use strict";
2
-
3
- import { Transform } from "occam-dom";
4
-
5
- import IndexItemTransform from "../transform/indexItem";
6
- import IndexListMarkdownNode from "../node/markdown/list/index";
7
-
8
- export default class IndexListTransform extends Transform {
9
- static fromIndexListAndLetter(indexList, letter, context) {
10
- let indexListTransform = null;
11
-
12
- const indexItemTransforms = indexList.reduceIndexItemByLetter(letter, (indexItem) => {
13
- const indexItemTransform = IndexItemTransform.fromIndexItem(indexItem, context);
14
-
15
- return indexItemTransform;
16
- }),
17
- indexItemTransformsLength = indexItemTransforms.length;
18
-
19
- if (indexItemTransformsLength > 0) {
20
- const indexListMarkdownNode = IndexListMarkdownNode.fromIndexItemTransforms(indexItemTransforms),
21
- node = indexListMarkdownNode, ///
22
- tokens = [];
23
-
24
- indexItemTransforms.forEach((indexItemTransform) => {
25
- indexItemTransform.getTokens(tokens);
26
- });
27
-
28
- indexListTransform = Transform.fromNodeAndTokens(IndexListTransform, node, tokens);
29
- }
30
-
31
- return indexListTransform;
32
- }
33
- }
@@ -1,19 +0,0 @@
1
- "use strict";
2
-
3
- import { Transform } from "occam-dom";
4
-
5
- export default class LineTransform extends Transform {
6
- getLineMarkdownNode() {
7
- const node = this.getNode(),
8
- lineMarkdownNode = node; ///
9
-
10
- return lineMarkdownNode;
11
- }
12
-
13
- static fromLineMarkdownNode(lineMarkdownNode, context) {
14
- const node = lineMarkdownNode, ///
15
- lineTransform = Transform.fromNode(LineTransform, node, context);
16
-
17
- return lineTransform;
18
- }
19
- }
@@ -1,18 +0,0 @@
1
- "use strict";
2
-
3
- import SubDivisionTransform from "../subDivision";
4
-
5
- export default class PageNumberDirectiveSubDivisionTransform extends SubDivisionTransform {
6
- static fromSubDivisionMarkdownNode(subDivisionMarkdownNode, context) {
7
- let pageNumberDirectiveSubDivisionTransform = null;
8
-
9
- const node = subDivisionMarkdownNode, ///
10
- pageNumberDirectiveMarkdownNode = pageNumberDirectiveMarkdownNodeFromNode(node);
11
-
12
- if (pageNumberDirectiveMarkdownNode !== null) {
13
- pageNumberDirectiveSubDivisionTransform = SubDivisionTransform.fromSubDivisionMarkdownNode(PageNumberDirectiveSubDivisionTransform, subDivisionMarkdownNode, context);
14
- }
15
-
16
- return pageNumberDirectiveSubDivisionTransform;
17
- }
18
- }