highmark-markdown 1.0.173 → 1.0.174

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 (377) hide show
  1. package/README.md +1 -1
  2. package/example.js +14061 -13787
  3. package/lib/example/importer.js +5 -5
  4. package/lib/example/view/div/container/markdown.js +3 -3
  5. package/lib/example/view/div/preview.js +5 -1
  6. package/lib/example/view/textarea/parseTree/{markdown/outer.js → html.js} +17 -17
  7. package/lib/example/view/textarea/parseTree/markdown.js +49 -2
  8. package/lib/example/view/textarea/plainText.js +7 -2
  9. package/lib/example/view/xmp.js +7 -2
  10. package/lib/example/view.js +67 -104
  11. package/lib/index/match.js +6 -6
  12. package/lib/index.js +27 -15
  13. package/lib/map/className.js +60 -0
  14. package/lib/map/node/html.js +85 -0
  15. package/lib/map/node/markdown.js +73 -0
  16. package/lib/map/tagName.js +60 -0
  17. package/lib/markdown/bnf.js +2 -2
  18. package/lib/markdown/parser.js +10 -9
  19. package/lib/markdownStyle/entries.js +3 -3
  20. package/lib/mixins/node.js +24 -23
  21. package/lib/node/html/anchor.js +55 -11
  22. package/lib/node/html/blockLine.js +75 -9
  23. package/lib/node/html/division.js +135 -0
  24. package/lib/node/html/error.js +195 -0
  25. package/lib/node/html/{blockListingEnd.js → footnote.js} +20 -14
  26. package/lib/node/html/heading/index.js +128 -0
  27. package/lib/node/html/heading/primary.js +129 -0
  28. package/lib/node/{markdown/directive.js → html/heading/quaternary.js} +21 -21
  29. package/lib/node/html/heading/secondary.js +129 -0
  30. package/lib/node/html/heading/tertiary.js +129 -0
  31. package/lib/node/html/image.js +214 -0
  32. package/lib/node/html/indexList.js +128 -0
  33. package/lib/node/html/item/contents.js +128 -0
  34. package/lib/node/html/item/footnotes.js +128 -0
  35. package/lib/node/{markdown/indexItem.js → html/item/index.js} +36 -15
  36. package/lib/node/html/item/ordered.js +17 -2
  37. package/lib/node/html/item/unordered.js +128 -0
  38. package/lib/node/html/line.js +174 -0
  39. package/lib/node/html/{contentsLink.js → link/contents.js} +19 -4
  40. package/lib/node/html/link/email.js +229 -0
  41. package/lib/node/html/link/footnote.js +137 -0
  42. package/lib/node/html/link/hyper.js +229 -0
  43. package/lib/node/html/link/index.js +202 -0
  44. package/lib/node/html/list/contents.js +128 -0
  45. package/lib/node/html/list/footnotes.js +144 -0
  46. package/lib/node/html/list/ordered.js +128 -0
  47. package/lib/node/html/list/unordered.js +128 -0
  48. package/lib/node/html/{blockListing.js → listing/block.js} +18 -9
  49. package/lib/node/html/listing/inline.js +189 -0
  50. package/lib/node/html/pageNumber.js +170 -0
  51. package/lib/node/html/{className.js → paragraph.js} +26 -18
  52. package/lib/node/{markdown/nonsense.js → html/table.js} +22 -15
  53. package/lib/node/{markdown/blockListingEnd.js → html/tableBody.js} +22 -15
  54. package/lib/node/html/tableBodyCell.js +128 -0
  55. package/lib/node/html/tableBodyRow.js +128 -0
  56. package/lib/node/html/{blockListingStart.js → tableHead.js} +26 -18
  57. package/lib/node/html/tableHeadCell.js +128 -0
  58. package/lib/node/html/tableHeadRow.js +128 -0
  59. package/lib/node/html/text/block.js +128 -0
  60. package/lib/node/html/text/emphasised.js +128 -0
  61. package/lib/node/html/text/inline.js +196 -0
  62. package/lib/node/html/text/plain.js +128 -0
  63. package/lib/node/html/text/strong.js +128 -0
  64. package/lib/node/html/text/stronglyEmphasised.js +212 -0
  65. package/lib/node/html/text.js +141 -0
  66. package/lib/node/html/topmost.js +57 -10
  67. package/lib/node/html.js +130 -40
  68. package/lib/node/markdown/anchor.js +6 -22
  69. package/lib/node/markdown/{table.js → blockEnd.js} +10 -10
  70. package/lib/node/markdown/blockListing.js +4 -31
  71. package/lib/node/markdown/{blockListingStart.js → blockStart.js} +10 -24
  72. package/lib/node/markdown/className.js +2 -2
  73. package/lib/node/markdown/contentsItem.js +4 -4
  74. package/lib/node/markdown/contentsList.js +2 -10
  75. package/lib/node/markdown/directive/embee.js +13 -13
  76. package/lib/node/markdown/directive/include.js +13 -13
  77. package/lib/node/markdown/directive/pageNumber.js +13 -29
  78. package/lib/node/markdown/division.js +205 -254
  79. package/lib/node/markdown/emailLink.js +36 -98
  80. package/lib/node/markdown/emphasisedText.js +3 -54
  81. package/lib/node/markdown/error.js +9 -53
  82. package/lib/node/markdown/footnote.js +1 -15
  83. package/lib/node/markdown/footnoteLink.js +9 -32
  84. package/lib/node/markdown/footnotesList.js +1 -16
  85. package/lib/node/markdown/heading/primary.js +1 -2
  86. package/lib/node/markdown/heading/quaternary.js +1 -2
  87. package/lib/node/markdown/heading/secondary.js +1 -2
  88. package/lib/node/markdown/heading/tertiary.js +1 -2
  89. package/lib/node/markdown/heading.js +1 -13
  90. package/lib/node/markdown/hyperlink.js +44 -108
  91. package/lib/node/markdown/image.js +2 -63
  92. package/lib/node/markdown/indexLink.js +13 -87
  93. package/lib/node/markdown/indexList.js +2 -10
  94. package/lib/node/markdown/inlineListing.js +22 -56
  95. package/lib/node/markdown/inlineText.js +3 -21
  96. package/lib/node/markdown/item/ordered.js +6 -6
  97. package/lib/node/markdown/line.js +1 -74
  98. package/lib/node/markdown/path.js +7 -7
  99. package/lib/node/markdown/strongText.js +3 -54
  100. package/lib/node/markdown/stronglyEmphasisedText.js +3 -78
  101. package/lib/node/markdown/{tableCellDivider.js → text/block.js} +12 -12
  102. package/lib/node/markdown/{tableBody.js → text/plain.js} +12 -12
  103. package/lib/node/markdown/text.js +154 -0
  104. package/lib/node/markdown/topmost.js +191 -0
  105. package/lib/node/markdown.js +6 -229
  106. package/lib/queries.js +4 -45
  107. package/lib/ruleNames.js +34 -21
  108. package/lib/style/selector.js +11 -7
  109. package/lib/transform/contentsItem.js +134 -0
  110. package/lib/transform/contentsLink.js +115 -0
  111. package/lib/transform/contentsList.js +194 -0
  112. package/lib/{replacement/subDivision.js → transform/division.js} +33 -38
  113. package/lib/{replacement → transform}/embedDirective.js +14 -19
  114. package/lib/{replacement → transform}/footnote.js +18 -23
  115. package/lib/transform/footnotesItem.js +123 -0
  116. package/lib/transform/footnotesList.js +173 -0
  117. package/lib/{replacement → transform}/includeDirective.js +13 -18
  118. package/lib/transform/index.js +166 -0
  119. package/lib/{replacement → transform}/indexAnchor.js +13 -13
  120. package/lib/{replacement → transform}/indexHeading.js +13 -18
  121. package/lib/{replacement → transform}/indexItem.js +13 -18
  122. package/lib/transform/indexList.js +121 -0
  123. package/lib/{replacement → transform}/line.js +13 -18
  124. package/lib/{replacement → transform}/subDivision/contentsDirective.js +14 -14
  125. package/lib/transform/subDivision/embedDirectives.js +147 -0
  126. package/lib/{replacement → transform}/subDivision/footnote.js +14 -14
  127. package/lib/{replacement → transform}/subDivision/footnotesDirective.js +14 -14
  128. package/lib/transform/subDivision/includeDirectives.js +142 -0
  129. package/lib/{replacement → transform}/subDivision/indexDirective.js +14 -14
  130. package/lib/{replacement → transform}/subDivision/pageNumberDirective.js +14 -14
  131. package/lib/utilities/content.js +1 -61
  132. package/lib/utilities/entities.js +17 -0
  133. package/lib/utilities/entries.js +6 -6
  134. package/lib/utilities/html.js +67 -9
  135. package/lib/utilities/markdown.js +45 -0
  136. package/lib/utilities/parser.js +8 -2
  137. package/lib/utilities/query.js +2 -22
  138. package/package.json +2 -2
  139. package/src/example/importer.js +2 -4
  140. package/src/example/view/div/container/markdown.js +2 -2
  141. package/src/example/view/div/preview.js +6 -0
  142. package/src/example/view/textarea/parseTree/html.js +28 -0
  143. package/src/example/view/textarea/parseTree/markdown.js +19 -1
  144. package/src/example/view/textarea/plainText.js +9 -1
  145. package/src/example/view/xmp.js +9 -1
  146. package/src/example/view.js +84 -91
  147. package/src/index/match.js +6 -6
  148. package/src/index.js +6 -3
  149. package/src/map/className.js +16 -0
  150. package/src/map/node/html.js +136 -0
  151. package/src/map/node/markdown.js +125 -0
  152. package/src/map/tagName.js +16 -0
  153. package/src/markdown/bnf.js +85 -64
  154. package/src/markdown/parser.js +3 -1
  155. package/src/markdownStyle/entries.js +3 -3
  156. package/src/mixins/node.js +29 -34
  157. package/src/node/html/anchor.js +26 -5
  158. package/src/node/html/blockLine.js +58 -7
  159. package/src/node/html/division.js +15 -0
  160. package/src/node/html/error.js +64 -0
  161. package/src/node/html/footnote.js +17 -0
  162. package/src/node/html/heading/index.js +13 -0
  163. package/src/node/html/heading/primary.js +15 -0
  164. package/src/node/html/heading/quaternary.js +15 -0
  165. package/src/node/html/heading/secondary.js +15 -0
  166. package/src/node/html/heading/tertiary.js +15 -0
  167. package/src/node/html/image.js +107 -0
  168. package/src/node/html/indexList.js +13 -0
  169. package/src/node/html/item/contents.js +13 -0
  170. package/src/node/html/item/footnotes.js +13 -0
  171. package/src/node/{markdown/indexItem.js → html/item/index.js} +9 -3
  172. package/src/node/html/item/ordered.js +5 -1
  173. package/src/node/html/item/unordered.js +13 -0
  174. package/src/node/html/line.js +64 -0
  175. package/src/node/html/{contentsLink.js → link/contents.js} +7 -3
  176. package/src/node/html/link/email.js +96 -0
  177. package/src/node/html/link/footnote.js +33 -0
  178. package/src/node/html/link/hyper.js +96 -0
  179. package/src/node/html/link/index.js +72 -0
  180. package/src/node/html/list/contents.js +13 -0
  181. package/src/node/html/list/footnotes.js +27 -0
  182. package/src/node/html/list/ordered.js +13 -0
  183. package/src/node/html/list/unordered.js +13 -0
  184. package/src/node/html/{blockListing.js → listing/block.js} +5 -8
  185. package/src/node/html/listing/inline.js +61 -0
  186. package/src/node/html/pageNumber.js +46 -0
  187. package/src/node/html/paragraph.js +13 -0
  188. package/src/node/html/table.js +13 -0
  189. package/src/node/html/tableBody.js +13 -0
  190. package/src/node/html/tableBodyCell.js +13 -0
  191. package/src/node/html/tableBodyRow.js +13 -0
  192. package/src/node/html/tableHead.js +13 -0
  193. package/src/node/html/tableHeadCell.js +13 -0
  194. package/src/node/html/tableHeadRow.js +13 -0
  195. package/src/node/html/text/block.js +13 -0
  196. package/src/node/html/text/emphasised.js +13 -0
  197. package/src/node/html/text/inline.js +57 -0
  198. package/src/node/html/text/plain.js +13 -0
  199. package/src/node/html/text/strong.js +13 -0
  200. package/src/node/html/text/stronglyEmphasised.js +98 -0
  201. package/src/node/html/text.js +34 -0
  202. package/src/node/html/topmost.js +57 -8
  203. package/src/node/html.js +136 -53
  204. package/src/node/markdown/anchor.js +5 -25
  205. package/src/node/markdown/{table.js → blockEnd.js} +2 -2
  206. package/src/node/markdown/blockListing.js +4 -10
  207. package/src/node/markdown/{blockListingStart.js → blockStart.js} +4 -6
  208. package/src/node/markdown/className.js +2 -2
  209. package/src/node/markdown/contentsItem.js +4 -4
  210. package/src/node/markdown/contentsList.js +0 -6
  211. package/src/node/markdown/directive/embee.js +10 -10
  212. package/src/node/markdown/directive/include.js +10 -10
  213. package/src/node/markdown/directive/pageNumber.js +10 -29
  214. package/src/node/markdown/division.js +203 -260
  215. package/src/node/markdown/emailLink.js +41 -87
  216. package/src/node/markdown/emphasisedText.js +1 -40
  217. package/src/node/markdown/error.js +9 -40
  218. package/src/node/markdown/footnote.js +0 -12
  219. package/src/node/markdown/footnoteLink.js +8 -31
  220. package/src/node/markdown/footnotesList.js +0 -13
  221. package/src/node/markdown/heading/primary.js +0 -2
  222. package/src/node/markdown/heading/quaternary.js +0 -2
  223. package/src/node/markdown/heading/secondary.js +0 -2
  224. package/src/node/markdown/heading/tertiary.js +0 -2
  225. package/src/node/markdown/heading.js +0 -14
  226. package/src/node/markdown/hyperlink.js +41 -91
  227. package/src/node/markdown/image.js +1 -82
  228. package/src/node/markdown/indexLink.js +10 -69
  229. package/src/node/markdown/indexList.js +0 -6
  230. package/src/node/markdown/inlineListing.js +20 -40
  231. package/src/node/markdown/inlineText.js +1 -21
  232. package/src/node/markdown/item/ordered.js +3 -3
  233. package/src/node/markdown/line.js +0 -61
  234. package/src/node/markdown/path.js +5 -5
  235. package/src/node/markdown/strongText.js +1 -40
  236. package/src/node/markdown/stronglyEmphasisedText.js +1 -74
  237. package/src/node/markdown/text/block.js +7 -0
  238. package/src/node/markdown/text/plain.js +7 -0
  239. package/src/node/markdown/text.js +80 -0
  240. package/src/node/markdown/topmost.js +91 -0
  241. package/src/node/markdown.js +1 -200
  242. package/src/queries.js +6 -86
  243. package/src/ruleNames.js +16 -12
  244. package/src/style/selector.js +16 -10
  245. package/src/transform/contentsItem.js +55 -0
  246. package/src/{replacement → transform}/contentsLink.js +10 -9
  247. package/src/{replacement → transform}/contentsList.js +26 -26
  248. package/src/transform/division.js +41 -0
  249. package/src/{replacement → transform}/embedDirective.js +4 -4
  250. package/src/{replacement → transform}/footnote.js +7 -7
  251. package/src/transform/footnotesItem.js +25 -0
  252. package/src/transform/footnotesList.js +79 -0
  253. package/src/{replacement → transform}/includeDirective.js +4 -4
  254. package/src/transform/index.js +90 -0
  255. package/src/{replacement → transform}/indexAnchor.js +5 -4
  256. package/src/{replacement → transform}/indexHeading.js +4 -4
  257. package/src/{replacement → transform}/indexItem.js +4 -4
  258. package/src/transform/indexList.js +33 -0
  259. package/src/{replacement → transform}/line.js +4 -4
  260. package/src/transform/subDivision/contentsDirective.js +20 -0
  261. package/src/transform/subDivision/embedDirectives.js +52 -0
  262. package/src/{replacement → transform}/subDivision/footnote.js +5 -5
  263. package/src/transform/subDivision/footnotesDirective.js +20 -0
  264. package/src/transform/subDivision/includeDirectives.js +48 -0
  265. package/src/transform/subDivision/indexDirective.js +20 -0
  266. package/src/transform/subDivision/pageNumberDirective.js +20 -0
  267. package/src/utilities/content.js +0 -95
  268. package/src/utilities/entities.js +11 -0
  269. package/src/utilities/entries.js +3 -3
  270. package/src/utilities/html.js +69 -6
  271. package/src/utilities/markdown.js +32 -0
  272. package/src/utilities/parser.js +3 -2
  273. package/src/utilities/query.js +8 -28
  274. package/lib/classFromOuterNode.js +0 -30
  275. package/lib/elementMap.js +0 -218
  276. package/lib/example/view/textarea/parseTree/markdown/inner.js +0 -179
  277. package/lib/mixins/content.js +0 -21
  278. package/lib/mixins/element.js +0 -32
  279. package/lib/node/html/comma.js +0 -127
  280. package/lib/node/html/directive/pageNumber.js +0 -178
  281. package/lib/node/markdown/blockLine.js +0 -207
  282. package/lib/node/markdown/comma.js +0 -123
  283. package/lib/node/markdown/directive/contents.js +0 -107
  284. package/lib/node/markdown/directive/footnotes.js +0 -107
  285. package/lib/node/markdown/directive/ignore.js +0 -107
  286. package/lib/node/markdown/directive/index.js +0 -107
  287. package/lib/node/markdown/directives.js +0 -125
  288. package/lib/node/markdown/emptyTableCell.js +0 -122
  289. package/lib/node/markdown/endOfLine.js +0 -151
  290. package/lib/node/markdown/indexHeading.js +0 -107
  291. package/lib/node/markdown/item/unordered.js +0 -107
  292. package/lib/node/markdown/item.js +0 -107
  293. package/lib/node/markdown/orderedList.js +0 -107
  294. package/lib/node/markdown/plainText.js +0 -115
  295. package/lib/node/markdown/subDivision.js +0 -161
  296. package/lib/node/markdown/tableBodyCell.js +0 -128
  297. package/lib/node/markdown/tableBodyRow.js +0 -107
  298. package/lib/node/markdown/tableCell.js +0 -118
  299. package/lib/node/markdown/tableDivider.js +0 -107
  300. package/lib/node/markdown/tableHead.js +0 -107
  301. package/lib/node/markdown/tableHeadCell.js +0 -128
  302. package/lib/node/markdown/tableHeadRow.js +0 -107
  303. package/lib/node/markdown/unorderedList.js +0 -107
  304. package/lib/node/markdown/verticalSpace.js +0 -151
  305. package/lib/nodeMap.js +0 -98
  306. package/lib/replacement/contentsItem.js +0 -134
  307. package/lib/replacement/contentsLink.js +0 -115
  308. package/lib/replacement/contentsList.js +0 -194
  309. package/lib/replacement/footnotesItem.js +0 -123
  310. package/lib/replacement/footnotesList.js +0 -173
  311. package/lib/replacement/index.js +0 -166
  312. package/lib/replacement/indexList.js +0 -121
  313. package/lib/replacement/subDivision/embedDirectives.js +0 -143
  314. package/lib/replacement/subDivision/includeDirectives.js +0 -175
  315. package/lib/replacement.js +0 -262
  316. package/lib/ruleNameToClassMap.js +0 -44
  317. package/lib/utilities/childNodes.js +0 -127
  318. package/lib/utilities/processing.js +0 -106
  319. package/lib/utilities/replacement.js +0 -195
  320. package/src/classFromOuterNode.js +0 -20
  321. package/src/elementMap.js +0 -322
  322. package/src/example/view/textarea/parseTree/markdown/inner.js +0 -36
  323. package/src/example/view/textarea/parseTree/markdown/outer.js +0 -27
  324. package/src/mixins/content.js +0 -16
  325. package/src/mixins/element.js +0 -29
  326. package/src/node/html/blockListingEnd.js +0 -11
  327. package/src/node/html/blockListingStart.js +0 -11
  328. package/src/node/html/className.js +0 -11
  329. package/src/node/html/comma.js +0 -18
  330. package/src/node/html/directive/pageNumber.js +0 -55
  331. package/src/node/markdown/blockLine.js +0 -90
  332. package/src/node/markdown/blockListingEnd.js +0 -9
  333. package/src/node/markdown/comma.js +0 -23
  334. package/src/node/markdown/directive/contents.js +0 -7
  335. package/src/node/markdown/directive/footnotes.js +0 -7
  336. package/src/node/markdown/directive/ignore.js +0 -7
  337. package/src/node/markdown/directive/index.js +0 -7
  338. package/src/node/markdown/directive.js +0 -15
  339. package/src/node/markdown/directives.js +0 -25
  340. package/src/node/markdown/emptyTableCell.js +0 -19
  341. package/src/node/markdown/endOfLine.js +0 -39
  342. package/src/node/markdown/indexHeading.js +0 -7
  343. package/src/node/markdown/item/unordered.js +0 -7
  344. package/src/node/markdown/item.js +0 -7
  345. package/src/node/markdown/nonsense.js +0 -9
  346. package/src/node/markdown/orderedList.js +0 -7
  347. package/src/node/markdown/plainText.js +0 -13
  348. package/src/node/markdown/subDivision.js +0 -64
  349. package/src/node/markdown/tableBody.js +0 -7
  350. package/src/node/markdown/tableBodyCell.js +0 -29
  351. package/src/node/markdown/tableBodyRow.js +0 -7
  352. package/src/node/markdown/tableCell.js +0 -19
  353. package/src/node/markdown/tableCellDivider.js +0 -7
  354. package/src/node/markdown/tableDivider.js +0 -7
  355. package/src/node/markdown/tableHead.js +0 -7
  356. package/src/node/markdown/tableHeadCell.js +0 -29
  357. package/src/node/markdown/tableHeadRow.js +0 -7
  358. package/src/node/markdown/unorderedList.js +0 -7
  359. package/src/node/markdown/verticalSpace.js +0 -39
  360. package/src/nodeMap.js +0 -200
  361. package/src/replacement/contentsItem.js +0 -54
  362. package/src/replacement/footnotesItem.js +0 -24
  363. package/src/replacement/footnotesList.js +0 -78
  364. package/src/replacement/index.js +0 -89
  365. package/src/replacement/indexList.js +0 -32
  366. package/src/replacement/subDivision/contentsDirective.js +0 -20
  367. package/src/replacement/subDivision/embedDirectives.js +0 -52
  368. package/src/replacement/subDivision/footnotesDirective.js +0 -20
  369. package/src/replacement/subDivision/includeDirectives.js +0 -58
  370. package/src/replacement/subDivision/indexDirective.js +0 -20
  371. package/src/replacement/subDivision/pageNumberDirective.js +0 -20
  372. package/src/replacement/subDivision.js +0 -41
  373. package/src/replacement.js +0 -185
  374. package/src/ruleNameToClassMap.js +0 -38
  375. package/src/utilities/childNodes.js +0 -178
  376. package/src/utilities/processing.js +0 -122
  377. package/src/utilities/replacement.js +0 -169
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
 
3
- import SubDivisionReplacement from "../../replacement/subDivision";
3
+ import SubDivisionTransform from "../division";
4
4
 
5
5
  import { footnoteMarkdownNodeFromNode } from "../../utilities/query";
6
6
 
7
- export default class FootnoteSubDivisionReplacement extends SubDivisionReplacement {
7
+ export default class FootnoteSubDivisionTransform extends SubDivisionTransform {
8
8
  identifier(context) {
9
9
  const subDivisionMarkdownNode = this.getSubDivisionMarkdownNode(),
10
10
  node = subDivisionMarkdownNode, ///
@@ -15,15 +15,15 @@ export default class FootnoteSubDivisionReplacement extends SubDivisionReplaceme
15
15
  }
16
16
 
17
17
  static fromSubDivisionMarkdownNode(subDivisionMarkdownNode, context) {
18
- let footnoteSubDivisionReplacement = null;
18
+ let footnoteSubDivisionTransform = null;
19
19
 
20
20
  const node = subDivisionMarkdownNode, ///
21
21
  footnoteMarkdownNode = footnoteMarkdownNodeFromNode(node);
22
22
 
23
23
  if (footnoteMarkdownNode !== null) {
24
- footnoteSubDivisionReplacement = SubDivisionReplacement.fromSubDivisionMarkdownNode(FootnoteSubDivisionReplacement, subDivisionMarkdownNode, context);
24
+ footnoteSubDivisionTransform = SubDivisionTransform.fromSubDivisionMarkdownNode(FootnoteSubDivisionTransform, subDivisionMarkdownNode, context);
25
25
  }
26
26
 
27
- return footnoteSubDivisionReplacement;
27
+ return footnoteSubDivisionTransform;
28
28
  }
29
29
  }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ import SubDivisionTransform from "../division";
4
+
5
+ import { footnotesDirectiveMarkdownNodeFromNode } from "../../utilities/query";
6
+
7
+ export default class FootnotesDirectiveSubDivisionTransform extends SubDivisionTransform {
8
+ static fromSubDivisionMarkdownNode(subDivisionMarkdownNode, context) {
9
+ let footnotesDirectiveSubDivisionTransform = null;
10
+
11
+ const node = subDivisionMarkdownNode, ///
12
+ footnotesDirectiveMarkdownNode = footnotesDirectiveMarkdownNodeFromNode(node);
13
+
14
+ if (footnotesDirectiveMarkdownNode !== null) {
15
+ footnotesDirectiveSubDivisionTransform = SubDivisionTransform.fromSubDivisionMarkdownNode(FootnotesDirectiveSubDivisionTransform, subDivisionMarkdownNode, context);
16
+ }
17
+
18
+ return footnotesDirectiveSubDivisionTransform;
19
+ }
20
+ }
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+
3
+ import DivisionTransform from "../division";
4
+
5
+ import { includeDirectiveMarkdownNodesFromNode } from "../../utilities/query";
6
+
7
+ export default class IncludeDirectivesDivisionTransform extends DivisionTransform {
8
+ constructor(node, tokens, divisionMarkdownNode, includeDirectiveMarkdownNodes) {
9
+ super(node, tokens, divisionMarkdownNode);
10
+
11
+ this.includeDirectiveMarkdownNodes = includeDirectiveMarkdownNodes;
12
+ }
13
+
14
+ getIncludeDirectiveMarkdownNodes() {
15
+ return this.includeDirectiveMarkdownNodes;
16
+ }
17
+
18
+ removeDivisionMarkdownNode(divisionMarkdownNode, context) {
19
+ this.includeDirectiveMarkdownNodes.forEach((includeDirectiveMarkdownNode) => {
20
+ const includeDirectiveTransform = includeDirectiveMarkdownNode.resolve(context);
21
+
22
+ if (includeDirectiveTransform !== null) {
23
+ const divisionMarkdownNode = includeDirectiveTransform.getDivisionMarkdownNode(),
24
+ divisionMarkdownNodes = includeDirectiveTransform.addDivisionMarkdownNode(context);
25
+
26
+ divisionMarkdownNodes.forEach((divisionMarkdownNode) => {
27
+ divisionMarkdownNode.resolveIncludes(divisionMarkdownNode, context);
28
+ });
29
+ }
30
+ });
31
+
32
+ this.removeFromTopmostMarkdownNode(divisionMarkdownNode, context);
33
+ }
34
+
35
+ static fromDivisionMarkdownNode(divisionMarkdownNode, context) {
36
+ let includeDirectivesDivisionTransform = null;
37
+
38
+ const node = divisionMarkdownNode, ///
39
+ includeDirectiveMarkdownNodes = includeDirectiveMarkdownNodesFromNode(node),
40
+ includeDirectiveMarkdownNodesLength = includeDirectiveMarkdownNodes.length;
41
+
42
+ if (includeDirectiveMarkdownNodesLength > 0) {
43
+ includeDirectivesDivisionTransform = DivisionTransform.fromDivisionMarkdownNode(IncludeDirectivesDivisionTransform, divisionMarkdownNode, includeDirectiveMarkdownNodes, context);
44
+ }
45
+
46
+ return includeDirectivesDivisionTransform;
47
+ }
48
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ import SubDivisionTransform from "../division";
4
+
5
+ import { indexDirectiveMarkdownNodeFromNode } from "../../utilities/query";
6
+
7
+ export default class IndexDirectiveSubDivisionTransform extends SubDivisionTransform {
8
+ static fromSubDivisionMarkdownNode(subDivisionMarkdownNode, context) {
9
+ let indexDirectiveSubDivisionTransform = null;
10
+
11
+ const node = subDivisionMarkdownNode, ///
12
+ indexDirectiveMarkdownNode = indexDirectiveMarkdownNodeFromNode(node);
13
+
14
+ if (indexDirectiveMarkdownNode !== null) {
15
+ indexDirectiveSubDivisionTransform = SubDivisionTransform.fromSubDivisionMarkdownNode(IndexDirectiveSubDivisionTransform, subDivisionMarkdownNode, context);
16
+ }
17
+
18
+ return indexDirectiveSubDivisionTransform;
19
+ }
20
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ import SubDivisionTransform from "../division";
4
+
5
+ import { pageNumberDirectiveMarkdownNodeFromNode } from "../../utilities/query";
6
+
7
+ export default class PageNumberDirectiveSubDivisionTransform extends SubDivisionTransform {
8
+ static fromSubDivisionMarkdownNode(subDivisionMarkdownNode, context) {
9
+ let pageNumberDirectiveSubDivisionTransform = null;
10
+
11
+ const node = subDivisionMarkdownNode, ///
12
+ pageNumberDirectiveMarkdownNode = pageNumberDirectiveMarkdownNodeFromNode(node);
13
+
14
+ if (pageNumberDirectiveMarkdownNode !== null) {
15
+ pageNumberDirectiveSubDivisionTransform = SubDivisionTransform.fromSubDivisionMarkdownNode(PageNumberDirectiveSubDivisionTransform, subDivisionMarkdownNode, context);
16
+ }
17
+
18
+ return pageNumberDirectiveSubDivisionTransform;
19
+ }
20
+ }
@@ -1,87 +1,6 @@
1
1
  "use strict";
2
2
 
3
- import { arrayUtilities } from "necessary";
4
-
5
3
  import { EMPTY_STRING } from "../constants";
6
- import { ESCAPED_TOKEN_TYPE } from "../tokenTypes";
7
-
8
- const { first, last } = arrayUtilities;
9
-
10
- export function contentFromNode(node, context) {
11
- let content = EMPTY_STRING;
12
-
13
- let { tokens } = context;
14
-
15
- const firstSignificantTokenIndex = node.getFirstSignificantTokenIndex(tokens),
16
- lastSignificantTokenIndex = node.getLastSignificantTokenIndex(tokens),
17
- start = firstSignificantTokenIndex, ///
18
- end = lastSignificantTokenIndex + 1;
19
-
20
- tokens = tokens.slice(start, end);
21
-
22
- tokens.forEach((token) => {
23
- const tokenContent = tokenContentFromToken(token);
24
-
25
- content += tokenContent;
26
- });
27
-
28
- return content;
29
- }
30
-
31
- export function contentFromNodes(nodes, augmentLeft, augmentRight, context) {
32
- let content = EMPTY_STRING;
33
-
34
- let { tokens } = context;
35
-
36
- const lastNode = last(nodes),
37
- firstNode = first(nodes),
38
- firstSignificantTokenIndex = firstNode.getFirstSignificantTokenIndex(tokens),
39
- lastSignificantTokenIndex = lastNode.getLastSignificantTokenIndex(tokens);
40
-
41
- let firstTokenIndex = firstSignificantTokenIndex, ///
42
- lastTokenIndex = lastSignificantTokenIndex; ///
43
-
44
- if (augmentLeft) {
45
- const previousTokenIndex = firstTokenIndex - 1;
46
-
47
- if (previousTokenIndex > -1) {
48
- const previousToken = tokens[previousTokenIndex],
49
- previousTokenSignificant = previousToken.isSignificant();
50
-
51
- if (!previousTokenSignificant) {
52
- firstTokenIndex--;
53
- }
54
- }
55
- }
56
-
57
- if (augmentRight) {
58
- const tokensLength = tokens.length,
59
- nextTokenIndex = lastTokenIndex + 1;
60
-
61
- if (nextTokenIndex < tokensLength) {
62
- const nextToken = tokens[nextTokenIndex],
63
- nextTokenSignificant = nextToken.isSignificant(),
64
- nextTokenEndOfLineToken = nextToken.isEndOfLineToken();
65
-
66
- if (nextTokenEndOfLineToken || !nextTokenSignificant) {
67
- lastTokenIndex++;
68
- }
69
- }
70
- }
71
-
72
- const start = firstTokenIndex, ///
73
- end = lastTokenIndex + 1;
74
-
75
- tokens = tokens.slice(start, end);
76
-
77
- tokens.forEach((token) => {
78
- const tokenContent = tokenContentFromToken(token);
79
-
80
- content += tokenContent;
81
- });
82
-
83
- return content;
84
- }
85
4
 
86
5
  export function contentFromNodeAndTokens(node, tokens, offset = 0) {
87
6
  let content = EMPTY_STRING;
@@ -108,17 +27,3 @@ export function remainingContentFromNodeTokensAndOffset(node, tokens, offset) {
108
27
 
109
28
  return remainingContent;
110
29
  }
111
-
112
- function tokenContentFromToken(token) {
113
- let tokenContent = token.getContent();
114
-
115
- const type = token.getType();
116
-
117
- if (type === ESCAPED_TOKEN_TYPE) {
118
- const start = 1;
119
-
120
- tokenContent = tokenContent.substring(start);
121
- }
122
-
123
- return tokenContent;
124
- }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ import { LESS_THAN, GREATER_THAN } from "../constants";
4
+
5
+ export function replaceEntities(content) {
6
+ content = content
7
+ .replace(/&lt;?/g, LESS_THAN)
8
+ .replace(/&gt;?/g, GREATER_THAN);
9
+
10
+ return content;
11
+ }
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
2
 
3
- export function ruleNamesExpressionFromElementMap(elementMap) {
4
- const ruleNames = Object.keys(elementMap);
3
+ export function ruleNamesExpressionFromTagNameMap(tagNameMap) {
4
+ const ruleNames = Object.keys(tagNameMap);
5
5
 
6
6
  ruleNames.reverse();
7
7
 
8
8
  const ruleNamesExpression = ruleNames.reduce((ruleNamesExpression, ruleName) => {
9
- const { tagName } = elementMap[ruleName];
9
+ const tagName = tagNameMap[ruleName];
10
10
 
11
11
  if (tagName !== null) {
12
12
  ruleNamesExpression = (ruleNamesExpression === null) ?
@@ -1,11 +1,74 @@
1
1
  "use strict";
2
2
 
3
- import { LESS_THAN, GREATER_THAN } from "../constants";
3
+ export function postProcess(divisionMarkdownNodes, context) {
4
+ debugger
4
5
 
5
- export function replaceEntities(content) {
6
- content = content
7
- .replace(/&lt;?/g, LESS_THAN)
8
- .replace(/&gt;?/g, GREATER_THAN);
9
6
 
10
- return content;
7
+ // const footnoteReplacementMap = prepareFootnotes(divisionMarkdownNodes, context),
8
+ // markdownNodes = paginate(divisionMarkdownNodes, context);
9
+ //
10
+ // divisionMarkdownNodes = divisionMarkdownNodesFromMarkdownNodes(markdownNodes); ///
11
+ //
12
+ // createFootnotes(divisionMarkdownNodes, footnoteReplacementMap, context);
13
+ //
14
+ // createContents(divisionMarkdownNodes, context);
15
+ //
16
+ // createIndex(divisionMarkdownNodes, context);
11
17
  }
18
+
19
+ function paginate(divisionMarkdownNodes, context) {
20
+ const pageNumber = 1,
21
+ markdownNOdes = [];
22
+
23
+ Object.assign(context, {
24
+ pageNumber
25
+ });
26
+
27
+ divisionMarkdownNodes.forEach((divisionMarkdownNode) => {
28
+ divisionMarkdownNode.paginate(markdownNOdes, context);
29
+ });
30
+
31
+ delete context.pageNumber;
32
+
33
+ return markdownNOdes;
34
+ }
35
+
36
+ function createIndex(divisionMarkdownNodes, context) {
37
+ divisionMarkdownNodes.some((divisionMarkdownNode) => {
38
+ const indexCreated = divisionMarkdownNode.createIndex(divisionMarkdownNodes, context);
39
+
40
+ if (indexCreated) {
41
+ return true;
42
+ }
43
+ });
44
+ }
45
+
46
+ function createContents(divisionMarkdownNodes, context) {
47
+ divisionMarkdownNodes.some((divisionMarkdownNode) => {
48
+ const contentsCreated = divisionMarkdownNode.createContents(divisionMarkdownNodes, context);
49
+
50
+ if (contentsCreated) {
51
+ return true;
52
+ }
53
+ });
54
+ }
55
+
56
+ function createFootnotes(divisionMarkdownNodes, footnoteReplacementMap, context) {
57
+ divisionMarkdownNodes.forEach((divisionMarkdownNode) => {
58
+ divisionMarkdownNode.createFootnotes(footnoteReplacementMap, context);
59
+ });
60
+ }
61
+
62
+ function prepareFootnotes(divisionMarkdownNodes, context) {
63
+ const footnoteReplacementMap = {};
64
+
65
+ divisionMarkdownNodes.forEach((divisionMarkdownNode) => {
66
+ divisionMarkdownNode.prepareFootnotes(footnoteReplacementMap, context);
67
+ });
68
+
69
+ return footnoteReplacementMap;
70
+ }
71
+
72
+ export default {
73
+ postProcess
74
+ }
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ export function resolveIncludes(divisionMarkdownNode, context) {
4
+ const divisionMarkdownNodes = [];
5
+
6
+ Object.assign(context, {
7
+ divisionMarkdownNodes
8
+ });
9
+
10
+ const divisionMarkdownNodeIgnored = divisionMarkdownNode.isIgnored();
11
+
12
+ if (!divisionMarkdownNodeIgnored) {
13
+ divisionMarkdownNodes.push(divisionMarkdownNode);
14
+ }
15
+
16
+ divisionMarkdownNode.resolveIncludes(context);
17
+
18
+ delete context.divisionMarkdownNodes;
19
+
20
+ return divisionMarkdownNodes;
21
+ }
22
+
23
+ export function resolveEmbeddings(divisionMarkdownNodes, context) {
24
+ divisionMarkdownNodes.forEach((divisionMarkdownNode) => {
25
+ divisionMarkdownNode.resolveEmbeddings(context);
26
+ });
27
+ }
28
+
29
+ export default {
30
+ resolveIncludes,
31
+ resolveEmbeddings
32
+ };
@@ -2,6 +2,8 @@
2
2
 
3
3
  import { rulesUtilities } from "occam-parsers";
4
4
 
5
+ import MarkdownNode from "../node/markdown"; ///
6
+
5
7
  const { rulesFromStartRuleAndRuleMap } = rulesUtilities;
6
8
 
7
9
  export function setNonTerminalNodes(parser, nodeMap) {
@@ -11,8 +13,7 @@ export function setNonTerminalNodes(parser, nodeMap) {
11
13
 
12
14
  rules.forEach((rule) => {
13
15
  const ruleName = rule.getName(),
14
- MarkdownNode = nodeMap[ruleName],
15
- NonTerminalNode = MarkdownNode; ///
16
+ NonTerminalNode = nodeMap[ruleName] || MarkdownNode; ///
16
17
 
17
18
  rule.setNonTerminalNode(NonTerminalNode);
18
19
  });
@@ -5,18 +5,17 @@ import { arrayUtilities } from "necessary";
5
5
 
6
6
  const { push } = arrayUtilities;
7
7
 
8
- const footnoteMarkdownNodeQuery = Query.fromExpressionString("/subDivision/footnote"),
9
- indexDirectiveMarkdownNodeQuery = Query.fromExpressionString("/subDivision/directives/indexDirective"),
10
- ignoreDirectiveMarkdownNodeQuery = Query.fromExpressionString("/division/subDivision/directives/ignoreDirective"),
11
- contentsDirectiveMarkdownNodeQuery = Query.fromExpressionString("/subDivision/directives/contentsDirective"),
12
- footnotesDirectiveMarkdownNodeQuery = Query.fromExpressionString("/subDivision/directives/footnotesDirective"),
8
+ const footnoteMarkdownNodeQuery = Query.fromExpressionString("/division/footnote"),
9
+ indexDirectiveMarkdownNodeQuery = Query.fromExpressionString("/division/directives/indexDirective"),
10
+ ignoreDirectiveMarkdownNodeQuery = Query.fromExpressionString("/division/directives/ignoreDirective"),
11
+ contentsDirectiveMarkdownNodeQuery = Query.fromExpressionString("/division/directives/contentsDirective"),
12
+ footnotesDirectiveMarkdownNodeQuery = Query.fromExpressionString("/division/directives/footnotesDirective"),
13
13
  pageNumberDirectiveMarkdownNodeQuery = Query.fromExpressionString("//directives/pageNumber"), ///
14
- headingMarkdownNodesQuery = Query.fromExpressionString("/division/subDivision/primaryHeading|secondaryHeading|tertiaryHeading|quaternaryHeading"), ///
14
+ headingMarkdownNodesQuery = Query.fromExpressionString("/division/primaryHeading|secondaryHeading|tertiaryHeading|quaternaryHeading"), ///
15
15
  footnotesMarkdownNodesQuery = Query.fromExpressionString("//footnote|footnoteLink|footnotesDirective"), ///
16
- subDivisionMarkdownNodesQuery = Query.fromExpressionString("/division/subDivision"),
17
16
  footnoteLinkMarkdownNodesQuery = Query.fromExpressionString("//footnoteLink"),
18
- embedDirectiveMarkdownNodesQuery = Query.fromExpressionString("/subDivision/directives/embedDirective"),
19
- includeDirectiveMarkdownNodesQuery = Query.fromExpressionString("/subDivision/directives/includeDirective");
17
+ embedDirectiveMarkdownNodesQuery = Query.fromExpressionString("/division/directives/embedDirective"),
18
+ includeDirectiveMarkdownNodesQuery = Query.fromExpressionString("/division/directives/includeDirective");
20
19
 
21
20
  export function nodeQuery(expression) {
22
21
  const query = Query.fromExpressionString(expression);
@@ -40,18 +39,6 @@ export function nodesQuery(expression) {
40
39
  }
41
40
  }
42
41
 
43
- export function nodesFromNodeAndQueries(node, queries) {
44
- const nodes = [];
45
-
46
- queries.forEach((query) => {
47
- const queryNodes = query.execute(node);
48
-
49
- push(nodes, queryNodes);
50
- });
51
-
52
- return nodes;
53
- }
54
-
55
42
  export function footnoteMarkdownNodeFromNode(node) {
56
43
  const footnoteMarkdownNode = nodeFromNodeAndQuery(node, footnoteMarkdownNodeQuery);
57
44
 
@@ -100,12 +87,6 @@ export function footnotesMarkdownNodesFromNode(node, footnotesMarkdownNodes = []
100
87
  return footnotesMarkdownNodes;
101
88
  }
102
89
 
103
- export function subDivisionMarkdownNodesFromNode(node, subDivisionMarkdownNodes = []) {
104
- nodesFromNodeAndQuery(node, subDivisionMarkdownNodesQuery, subDivisionMarkdownNodes);
105
-
106
- return subDivisionMarkdownNodes;
107
- }
108
-
109
90
  export function footnoteLinkMarkdownNodesFromNode(node, linkMarkdownNodes = []) {
110
91
  nodesFromNodeAndQuery(node, footnoteLinkMarkdownNodesQuery, linkMarkdownNodes);
111
92
 
@@ -133,7 +114,6 @@ export default {
133
114
  pageNumberDirectiveMarkdownNodeFromNode,
134
115
  headingMarkdownNodesFromNode,
135
116
  footnotesMarkdownNodesFromNode,
136
- subDivisionMarkdownNodesFromNode,
137
117
  footnoteLinkMarkdownNodesFromNode,
138
118
  embedDirectiveMarkdownNodesFromNode,
139
119
  includeDirectiveMarkdownNodesFromNode
@@ -1,30 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return ClassFromOuterNode;
9
- }
10
- });
11
- var _html = /*#__PURE__*/ _interop_require_default(require("./node/html"));
12
- var _topmost = /*#__PURE__*/ _interop_require_default(require("./node/html/topmost"));
13
- var _ruleNameToClassMap = /*#__PURE__*/ _interop_require_default(require("./ruleNameToClassMap"));
14
- function _interop_require_default(obj) {
15
- return obj && obj.__esModule ? obj : {
16
- default: obj
17
- };
18
- }
19
- function ClassFromOuterNode(outerNode) {
20
- var Class;
21
- if (outerNode === null) {
22
- Class = _topmost.default;
23
- } else {
24
- var nonTerminalNode = outerNode, ruleName = nonTerminalNode.getRuleName();
25
- Class = _ruleNameToClassMap.default[ruleName] || _html.default;
26
- }
27
- return Class;
28
- }
29
-
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jbGFzc0Zyb21PdXRlck5vZGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBIVE1MTm9kZSBmcm9tIFwiLi9ub2RlL2h0bWxcIjtcbmltcG9ydCBUb3Btb3N0SFRNTE5vZGUgZnJvbSBcIi4vbm9kZS9odG1sL3RvcG1vc3RcIjtcbmltcG9ydCBydWxlTmFtZVRvQ2xhc3NNYXAgZnJvbSBcIi4vcnVsZU5hbWVUb0NsYXNzTWFwXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIENsYXNzRnJvbU91dGVyTm9kZShvdXRlck5vZGUpIHtcbiAgbGV0IENsYXNzO1xuXG4gIGlmIChvdXRlck5vZGUgPT09IG51bGwpIHtcbiAgICBDbGFzcyA9IFRvcG1vc3RIVE1MTm9kZTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBvdXRlck5vZGUsICAvLy9cbiAgICAgICAgICBydWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpO1xuXG4gICAgQ2xhc3MgPSBydWxlTmFtZVRvQ2xhc3NNYXBbcnVsZU5hbWVdIHx8IEhUTUxOb2RlO1xuICB9XG5cbiAgcmV0dXJuIENsYXNzO1xufVxuIl0sIm5hbWVzIjpbIkNsYXNzRnJvbU91dGVyTm9kZSIsIm91dGVyTm9kZSIsIkNsYXNzIiwiVG9wbW9zdEhUTUxOb2RlIiwibm9uVGVybWluYWxOb2RlIiwicnVsZU5hbWUiLCJnZXRSdWxlTmFtZSIsInJ1bGVOYW1lVG9DbGFzc01hcCIsIkhUTUxOb2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFNQTs7O2VBQXdCQTs7OzJEQUpIOzhEQUNPO3lFQUNHOzs7Ozs7QUFFaEIsU0FBU0EsbUJBQW1CQyxTQUFTO0lBQ2xELElBQUlDO0lBRUosSUFBSUQsY0FBYyxNQUFNO1FBQ3RCQyxRQUFRQyxnQkFBZTtJQUN6QixPQUFPO1FBQ0wsSUFBTUMsa0JBQWtCSCxXQUNsQkksV0FBV0QsZ0JBQWdCRSxXQUFXO1FBRTVDSixRQUFRSywyQkFBa0IsQ0FBQ0YsU0FBUyxJQUFJRyxhQUFRO0lBQ2xEO0lBRUEsT0FBT047QUFDVCJ9