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,39 +0,0 @@
1
- "use strict";
2
-
3
- import MarkdownNode from "../../node/markdown";
4
-
5
- import { CARRIAGE_RETURN } from "../../constants";
6
-
7
- export default class VerticalSpaceMarkdownNode extends MarkdownNode {
8
- content(context) {
9
- const content = CARRIAGE_RETURN;
10
-
11
- return content;
12
- }
13
-
14
- createDOMElement(context) {
15
- const content = this.content(context),
16
- textNode = document.createTextNode(content),
17
- domElement = textNode; ///
18
-
19
- return domElement;
20
- }
21
-
22
- asHTML(indent, context) {
23
- const content = this.content(context),
24
- html = content; ///
25
-
26
- return html;
27
- }
28
-
29
- asPlainText(context) {
30
- const content = this.content(context),
31
- plainText = content; ///
32
-
33
- return plainText;
34
- }
35
-
36
- static lines = 0;
37
-
38
- static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return MarkdownNode.fromRuleNameChildNodesAndOpacity(VerticalSpaceMarkdownNode, ruleName, childNodes, opacity); }
39
- }
package/src/nodeMap.js DELETED
@@ -1,200 +0,0 @@
1
- "use strict";
2
-
3
- import LineMarkdownNode from "./node/markdown/line";
4
- import PathMarkdownNode from "./node/markdown/path";
5
- import CommaMarkdownNode from "./node/markdown/comma";
6
- import ImageMarkdownNode from "./node/markdown/image";
7
- import TableMarkdownNode from "./node/markdown/table";
8
- import ErrorMarkdownNode from "./node/markdown/error";
9
- import AnchorMarkdownNode from "./node/markdown/anchor";
10
- import DivisionMarkdownNode from "./node/markdown/division";
11
- import FootnoteMarkdownNode from "./node/markdown/footnote";
12
- import NonsenseMarkdownNode from "./node/markdown/nonsense";
13
- import ReferenceMarkdownNode from "./node/markdown/reference";
14
- import ParagraphMarkdownNode from "./node/markdown/paragraph";
15
- import HyperlinkMarkdownNode from "./node/markdown/hyperlink";
16
- import IndexListMarkdownNode from "./node/markdown/indexList";
17
- import IndexItemMarkdownNode from "./node/markdown/indexItem";
18
- import IndexLinkMarkdownNode from "./node/markdown/indexLink";
19
- import TableCellMarkdownNode from "./node/markdown/tableCell";
20
- import TableHeadMarkdownNode from "./node/markdown/tableHead";
21
- import TableBodyMarkdownNode from "./node/markdown/tableBody";
22
- import BlockLineMarkdownNode from "./node/markdown/blockLine";
23
- import ClassNameMarkdownNode from "./node/markdown/className";
24
- import PlainTextMarkdownNode from "./node/markdown/plainText";
25
- import EmailLinkMarkdownNode from "./node/markdown/emailLink";
26
- import EndOfLineMarkdownNode from "./node/markdown/endOfLine";
27
- import DirectivesMarkdownNode from "./node/markdown/directives";
28
- import InlineTextMarkdownNode from "./node/markdown/inlineText";
29
- import StrongTextMarkdownNode from "./node/markdown/strongText";
30
- import SubDivisionMarkdownNode from "./node/markdown/subDivision";
31
- import OrderedListMarkdownNode from "./node/markdown/orderedList";
32
- import OrderedItemMarkdownNode from "./node/markdown/item/ordered";
33
- import IndexHeadingMarkdownNode from "./node/markdown/indexHeading";
34
- import BlockListingMarkdownNode from "./node/markdown/blockListing";
35
- import TableHeadRowMarkdownNode from "./node/markdown/tableHeadRow";
36
- import TableBodyRowMarkdownNode from "./node/markdown/tableBodyRow";
37
- import ContentsLinkMarkdownNode from "./node/markdown/contentsLink";
38
- import ContentsItemMarkdownNode from "./node/markdown/contentsItem";
39
- import ContentsListMarkdownNode from "./node/markdown/contentsList";
40
- import FootnoteLinkMarkdownNode from "./node/markdown/footnoteLink";
41
- import TableDividerMarkdownNode from "./node/markdown/tableDivider";
42
- import InlineListingMarkdownNode from "./node/markdown/inlineListing";
43
- import UnorderedListMarkdownNode from "./node/markdown/unorderedList";
44
- import UnorderedItemMarkdownNode from "./node/markdown/item/unordered";
45
- import FootnotesItemMarkdownNode from "./node/markdown/footnotesItem";
46
- import FootnotesListMarkdownNode from "./node/markdown/footnotesList";
47
- import VerticalSpaceMarkdownNode from "./node/markdown/verticalSpace";
48
- import TableHeadCellMarkdownNode from "./node/markdown/tableHeadCell";
49
- import TableBodyCellMarkdownNode from "./node/markdown/tableBodyCell";
50
- import EmphasisedTextMarkdownNode from "./node/markdown/emphasisedText";
51
- import PrimaryHeadingMarkdownNode from "./node/markdown/heading/primary";
52
- import EmptyTableCellMarkdownNode from "./node/markdown/emptyTableCell";
53
- import IndexDirectiveMarkdownNode from "./node/markdown/directive/index";
54
- import EmbedDirectiveMarkdownNode from "./node/markdown/directive/embee";
55
- import TertiaryHeadingMarkdownNode from "./node/markdown/heading/tertiary";
56
- import BlockListingEndMarkdownNode from "./node/markdown/blockListingEnd";
57
- import IgnoreDirectiveMarkdownNode from "./node/markdown/directive/ignore";
58
- import SecondaryHeadingMarkdownNode from "./node/markdown/heading/secondary";
59
- import IncludeDirectiveMarkdownNode from "./node/markdown/directive/include";
60
- import TableCellDividerMarkdownNode from "./node/markdown/tableCellDivider";
61
- import QuaternaryHeadingMarkdownNode from "./node/markdown/heading/quaternary";
62
- import BlockListingStartMarkdownNode from "./node/markdown/blockListingStart";
63
- import ContentsDirectiveMarkdownNode from "./node/markdown/directive/contents";
64
- import FootnotesDirectiveMarkdownNode from "./node/markdown/directive/footnotes";
65
- import PageNumberDirectiveMarkdownNode from "./node/markdown/directive/pageNumber";
66
- import StronglyEmphasisedTextMarkdownNode from "./node/markdown/stronglyEmphasisedText";
67
-
68
- import { LINE_RULE_NAME,
69
- PATH_RULE_NAME,
70
- COMMA_RULE_NAME,
71
- IMAGE_RULE_NAME,
72
- TABLE_RULE_NAME,
73
- ERROR_RULE_NAME,
74
- ANCHOR_RULE_NAME,
75
- DIVISION_RULE_NAME,
76
- FOOTNOTE_RULE_NAME,
77
- NONSENSE_RULE_NAME,
78
- REFERENCE_RULE_NAME,
79
- PARAGRAPH_RULE_NAME,
80
- HYPERLINK_RULE_NAME,
81
- INDEX_LIST_RULE_NAME,
82
- INDEX_ITEM_RULE_NAME,
83
- INDEX_LINK_RULE_NAME,
84
- TABLE_CELL_RULE_NAME,
85
- TABLE_HEAD_RULE_NAME,
86
- TABLE_BODY_RULE_NAME,
87
- BLOCK_LINE_RULE_NAME,
88
- CLASS_NAME_RULE_NAME,
89
- PLAIN_TEXT_RULE_NAME,
90
- EMAIL_LINK_RULE_NAME,
91
- DIRECTIVES_RULE_NAME,
92
- END_OF_LINE_RULE_NAME,
93
- INLINE_TEXT_RULE_NAME,
94
- STRONG_TEXT_RULE_NAME,
95
- SUB_DIVISION_RULE_NAME,
96
- ORDERED_LIST_RULE_NAME,
97
- ORDERED_ITEM_RULE_NAME,
98
- INDEX_HEADING_RULE_NAME,
99
- BLOCK_LISTING_RULE_NAME,
100
- CONTENTS_LINK_RULE_NAME,
101
- CONTENTS_ITEM_RULE_NAME,
102
- CONTENTS_LIST_RULE_NAME,
103
- FOOTNOTE_LINK_RULE_NAME,
104
- TABLE_DIVIDER_RULE_NAME,
105
- TABLE_HEAD_ROW_RULE_NAME,
106
- TABLE_BODY_ROW_RULE_NAME,
107
- INLINE_LISTING_RULE_NAME,
108
- UNORDERED_LIST_RULE_NAME,
109
- UNORDERED_ITEM_RULE_NAME,
110
- FOOTNOTES_ITEM_RULE_NAME,
111
- FOOTNOTES_LIST_RULE_NAME,
112
- VERTICAL_SPACE_RULE_NAME,
113
- TABLE_HEAD_CELL_RULE_NAME,
114
- TABLE_BODY_CELL_RULE_NAME,
115
- EMPHASISED_TEXT_RULE_NAME,
116
- PRIMARY_HEADING_RULE_NAME,
117
- INDEX_DIRECTIVE_RULE_NAME,
118
- EMBED_DIRECTIVE_RULE_NAME,
119
- EMPTY_TABLE_CELL_RULE_NAME,
120
- TERTIARY_HEADING_RULE_NAME,
121
- IGNORE_DIRECTIVE_RULE_NAME,
122
- BLOCK_LISTING_END_RULE_NAME,
123
- SECONDARY_HEADING_RULE_NAME,
124
- INCLUDE_DIRECTIVE_RULE_NAME,
125
- QUATERNARY_HEADING_RULE_NAME,
126
- TABLE_CELL_DIVIDER_RULE_NAME,
127
- CONTENTS_DIRECTIVE_RULE_NAME,
128
- BLOCK_LISTING_START_RULE_NAME,
129
- FOOTNOTES_DIRECTIVE_RULE_NAME,
130
- PAGE_NUMBER_DIRECTIVE_RULE_NAME,
131
- STRONGLY_EMPHASISED_TEXT_RULE_NAME } from "./ruleNames";
132
-
133
- const nodeMap = {
134
- [LINE_RULE_NAME]: LineMarkdownNode,
135
- [PATH_RULE_NAME]: PathMarkdownNode,
136
- [COMMA_RULE_NAME]: CommaMarkdownNode,
137
- [IMAGE_RULE_NAME]: ImageMarkdownNode,
138
- [TABLE_RULE_NAME]: TableMarkdownNode,
139
- [ERROR_RULE_NAME]: ErrorMarkdownNode,
140
- [ANCHOR_RULE_NAME]: AnchorMarkdownNode,
141
- [DIVISION_RULE_NAME]: DivisionMarkdownNode,
142
- [FOOTNOTE_RULE_NAME]: FootnoteMarkdownNode,
143
- [NONSENSE_RULE_NAME]: NonsenseMarkdownNode,
144
- [REFERENCE_RULE_NAME]: ReferenceMarkdownNode,
145
- [PARAGRAPH_RULE_NAME]: ParagraphMarkdownNode,
146
- [HYPERLINK_RULE_NAME]: HyperlinkMarkdownNode,
147
- [INDEX_LIST_RULE_NAME]: IndexListMarkdownNode,
148
- [INDEX_ITEM_RULE_NAME]: IndexItemMarkdownNode,
149
- [INDEX_LINK_RULE_NAME]: IndexLinkMarkdownNode,
150
- [TABLE_CELL_RULE_NAME]: TableCellMarkdownNode,
151
- [TABLE_HEAD_RULE_NAME]: TableHeadMarkdownNode,
152
- [TABLE_BODY_RULE_NAME]: TableBodyMarkdownNode,
153
- [BLOCK_LINE_RULE_NAME]: BlockLineMarkdownNode,
154
- [CLASS_NAME_RULE_NAME]: ClassNameMarkdownNode,
155
- [PLAIN_TEXT_RULE_NAME]: PlainTextMarkdownNode,
156
- [EMAIL_LINK_RULE_NAME]: EmailLinkMarkdownNode,
157
- [DIRECTIVES_RULE_NAME]: DirectivesMarkdownNode,
158
- [END_OF_LINE_RULE_NAME]: EndOfLineMarkdownNode,
159
- [INLINE_TEXT_RULE_NAME]: InlineTextMarkdownNode,
160
- [STRONG_TEXT_RULE_NAME]: StrongTextMarkdownNode,
161
- [SUB_DIVISION_RULE_NAME]: SubDivisionMarkdownNode,
162
- [ORDERED_LIST_RULE_NAME]: OrderedListMarkdownNode,
163
- [ORDERED_ITEM_RULE_NAME]: OrderedItemMarkdownNode,
164
- [INDEX_HEADING_RULE_NAME]: IndexHeadingMarkdownNode,
165
- [BLOCK_LISTING_RULE_NAME]: BlockListingMarkdownNode,
166
- [CONTENTS_LINK_RULE_NAME]: ContentsLinkMarkdownNode,
167
- [CONTENTS_ITEM_RULE_NAME]: ContentsItemMarkdownNode,
168
- [CONTENTS_LIST_RULE_NAME]: ContentsListMarkdownNode,
169
- [FOOTNOTE_LINK_RULE_NAME]: FootnoteLinkMarkdownNode,
170
- [TABLE_DIVIDER_RULE_NAME]: TableDividerMarkdownNode,
171
- [TABLE_HEAD_ROW_RULE_NAME]: TableHeadRowMarkdownNode,
172
- [TABLE_BODY_ROW_RULE_NAME]: TableBodyRowMarkdownNode,
173
- [INLINE_LISTING_RULE_NAME]: InlineListingMarkdownNode,
174
- [UNORDERED_LIST_RULE_NAME]: UnorderedListMarkdownNode,
175
- [UNORDERED_ITEM_RULE_NAME]: UnorderedItemMarkdownNode,
176
- [FOOTNOTES_ITEM_RULE_NAME]: FootnotesItemMarkdownNode,
177
- [FOOTNOTES_LIST_RULE_NAME]: FootnotesListMarkdownNode,
178
- [VERTICAL_SPACE_RULE_NAME]: VerticalSpaceMarkdownNode,
179
- [TABLE_HEAD_CELL_RULE_NAME]: TableHeadCellMarkdownNode,
180
- [TABLE_BODY_CELL_RULE_NAME]: TableBodyCellMarkdownNode,
181
- [EMPHASISED_TEXT_RULE_NAME]: EmphasisedTextMarkdownNode,
182
- [PRIMARY_HEADING_RULE_NAME]: PrimaryHeadingMarkdownNode,
183
- [INDEX_DIRECTIVE_RULE_NAME]: IndexDirectiveMarkdownNode,
184
- [EMBED_DIRECTIVE_RULE_NAME]: EmbedDirectiveMarkdownNode,
185
- [EMPTY_TABLE_CELL_RULE_NAME]: EmptyTableCellMarkdownNode,
186
- [TERTIARY_HEADING_RULE_NAME]: TertiaryHeadingMarkdownNode,
187
- [IGNORE_DIRECTIVE_RULE_NAME]: IgnoreDirectiveMarkdownNode,
188
- [BLOCK_LISTING_END_RULE_NAME]: BlockListingEndMarkdownNode,
189
- [SECONDARY_HEADING_RULE_NAME]: SecondaryHeadingMarkdownNode,
190
- [INCLUDE_DIRECTIVE_RULE_NAME]: IncludeDirectiveMarkdownNode,
191
- [TABLE_CELL_DIVIDER_RULE_NAME]: TableCellDividerMarkdownNode,
192
- [QUATERNARY_HEADING_RULE_NAME]: QuaternaryHeadingMarkdownNode,
193
- [CONTENTS_DIRECTIVE_RULE_NAME]: ContentsDirectiveMarkdownNode,
194
- [BLOCK_LISTING_START_RULE_NAME]: BlockListingStartMarkdownNode,
195
- [FOOTNOTES_DIRECTIVE_RULE_NAME]: FootnotesDirectiveMarkdownNode,
196
- [PAGE_NUMBER_DIRECTIVE_RULE_NAME]: PageNumberDirectiveMarkdownNode,
197
- [STRONGLY_EMPHASISED_TEXT_RULE_NAME]: StronglyEmphasisedTextMarkdownNode
198
- };
199
-
200
- export default nodeMap;
@@ -1,54 +0,0 @@
1
- "use strict";
2
-
3
- import Replacement from "../replacement";
4
- import ContentsLinkReplacement from "../replacement/contentsLink";
5
- import ContentsItemMarkdownNode from "../node/markdown/contentsItem";
6
-
7
- export default class ContentsItemReplacement extends Replacement {
8
- getContentsItemMarkdownNode() {
9
- const node = this.getNode(),
10
- contentsItemMarkdownNode = node; ///
11
-
12
- return contentsItemMarkdownNode;
13
- }
14
-
15
- static fromNestedHeadingMarkdownNode(nestedHeadingMarkdownNode, context) {
16
- const replacements = [],
17
- contentsLinkReplacement = ContentsLinkReplacement.fromNestedHeadingMarkdownNode(nestedHeadingMarkdownNode, context);
18
-
19
- if (contentsLinkReplacement !== null) {
20
- const node = nestedHeadingMarkdownNode.getNode(),
21
- headingMarkdownNode = node; ///
22
-
23
- headingMarkdownNode.addAnchor(context);
24
-
25
- const replacement = contentsLinkReplacement;
26
-
27
- replacements.push(replacement);
28
- }
29
-
30
- const childNestedNodes = nestedHeadingMarkdownNode.getChildNestedNodes(),
31
- nestedHeadingMarkdownNodes = childNestedNodes, ///
32
- nestedHeadingMarkdownNodesLength = nestedHeadingMarkdownNodes.length;
33
-
34
- if (nestedHeadingMarkdownNodesLength > 0) {
35
- const { ContentsListReplacement } = ContentsItemReplacement,
36
- contentsListReplacement = ContentsListReplacement.fromNestedHeadingMarkdownNodes(nestedHeadingMarkdownNodes, context),
37
- replacement = contentsListReplacement; ///
38
-
39
- replacements.push(replacement);
40
- }
41
-
42
- const contentsItemMarkdownNode = ContentsItemMarkdownNode.fromReplacements(replacements),
43
- node = contentsItemMarkdownNode, ///
44
- tokens = [];
45
-
46
- replacements.forEach((replacement) => {
47
- replacement.getTokens(tokens);
48
- });
49
-
50
- const contentsItemReplacement = Replacement.fromNodeAndTokens(ContentsItemReplacement, node, tokens);
51
-
52
- return contentsItemReplacement;
53
- }
54
- }
@@ -1,24 +0,0 @@
1
- "use strict";
2
-
3
- import Replacement from "../replacement";
4
- import FootnotesItemMarkdownNode from "../node/markdown/footnotesItem";
5
-
6
- export default class FootnotesItemReplacement extends Replacement {
7
- getFootnotesItemMarkdownNode() {
8
- const node = this.getNode(),
9
- footnotesItemMarkdownNode = node; ///
10
-
11
- return footnotesItemMarkdownNode;
12
- }
13
-
14
- static fromNode(node, context) { return Replacement.fromNode(FootnotesItemReplacement, node, context); }
15
-
16
- static fromFootnoteReplacementAndIdentifier(footnoteReplacement, identifier) {
17
- const footnoteMarkdownNode = footnoteReplacement.getFootnoteMarkdownNode(),
18
- footnotesItemMarkdownNode = FootnotesItemMarkdownNode.fromFootnotesMarkdownNodeAndIdentifier(footnoteMarkdownNode, identifier),
19
- ascendantNode = footnotesItemMarkdownNode, ///
20
- footnotesItemReplacement = footnoteReplacement.expand(FootnotesItemReplacement, ascendantNode);
21
-
22
- return footnotesItemReplacement;
23
- }
24
- }
@@ -1,78 +0,0 @@
1
- "use strict";
2
-
3
- import Replacement from "../replacement";
4
- import FootnotesItemReplacement from "../replacement/footnotesItem";
5
- import FootnotesListMarkdownNode from "../node/markdown/footnotesList";
6
-
7
- import { footnoteLinkMarkdownNodesFromNode } from "../utilities/query";
8
-
9
- export default class FootnotesListReplacement extends Replacement {
10
- replaceFootnotesDirectiveSubDivisionReplacement(footnotesDirectiveSubDivisionReplacement, divisionMarkdownNode, context) {
11
- const subDivisionMarkdownNode = footnotesDirectiveSubDivisionReplacement.getSubDivisionMarkdownNode(),
12
- replacedNode = subDivisionMarkdownNode, ///
13
- parentNode = divisionMarkdownNode; ///
14
-
15
- super.replace(replacedNode, parentNode, context)
16
- }
17
-
18
- static fromDivisionMarkdownNodeAndFootnoteReplacementMap(divisionMarkdownNode, footnoteReplacementMap, context) {
19
- let footnotesListReplacement = null;
20
-
21
- const node = divisionMarkdownNode, ///
22
- start = startFromFootnoteReplacementMap(footnoteReplacementMap),
23
- footnoteLinkMarkdownNodes = footnoteLinkMarkdownNodesFromNode(node),
24
- footnotesItemReplacements = [];
25
-
26
- let number = start;
27
-
28
- footnoteLinkMarkdownNodes.forEach((footnoteLinkMarkdownNode) => {
29
- const identifier = footnoteLinkMarkdownNode.identifier(context),
30
- footnoteReplacement = footnoteReplacementMap[identifier] || null;
31
-
32
- if (footnoteReplacement !== null) {
33
- const footnoteReplacementUnnumbered = footnoteReplacement.isUnnumbered();
34
-
35
- if (footnoteReplacementUnnumbered) {
36
- const footnotesItemReplacement = FootnotesItemReplacement.fromFootnoteReplacementAndIdentifier(footnoteReplacement, identifier, context);
37
-
38
- footnotesItemReplacements.push(footnotesItemReplacement);
39
-
40
- footnoteReplacement.setNumber(number);
41
-
42
- number++;
43
- }
44
- }
45
- });
46
-
47
- const footnotesItemReplacementsLength = footnotesItemReplacements.length;
48
-
49
- if (footnotesItemReplacementsLength > 0) {
50
- const footnotesListMarkdownNode = FootnotesListMarkdownNode.fromFootnotesItemReplacementsAndStart(footnotesItemReplacements, start),
51
- node = footnotesListMarkdownNode, ///
52
- tokens = [];
53
-
54
- footnotesItemReplacements.forEach((footnotesItemReplacement) => {
55
- footnotesItemReplacement.getTokens(tokens);
56
- });
57
-
58
- footnotesListReplacement = Replacement.fromNodeAndTokens(FootnotesListReplacement, node, tokens);
59
- }
60
-
61
- return footnotesListReplacement;
62
- }
63
- }
64
-
65
- function startFromFootnoteReplacementMap(footnoteReplacementMap) {
66
- const footnoteReplacements = Object.values(footnoteReplacementMap), ///
67
- numberedFootnoteReplacements = footnoteReplacements.filter((footnoteReplacement) => {
68
- const footnoteReplacementNumbered = footnoteReplacement.isNumbered();
69
-
70
- if (footnoteReplacementNumbered) {
71
- return true;
72
- }
73
- }),
74
- numberedFootnoteReplacementsLength = numberedFootnoteReplacements.length,
75
- start = numberedFootnoteReplacementsLength + 1;
76
-
77
- return start;
78
- }
@@ -1,89 +0,0 @@
1
- "use strict";
2
-
3
- import letters from "../letters";
4
- import IndexList from "../index/list";
5
- import Replacement from "../replacement";
6
- import IndexListReplacement from "../replacement/indexList";
7
- import IndexHeadingReplacement from "./indexHeading";
8
-
9
- import { replaceNodes, replaceTokens } from "../utilities/replacement";
10
-
11
- export default class IndexReplacement extends Replacement {
12
- constructor(node, tokens, nodes) {
13
- super(node, tokens);
14
-
15
- this.nodes = nodes;
16
- }
17
-
18
- getNodes() {
19
- return this.nodes;
20
- }
21
-
22
- replace(replacedNode, parentNode, context) {
23
- let tokens;
24
-
25
- tokens = this.getTokens();
26
-
27
- const replacementNodes = this.nodes, ///
28
- replacementTokens = tokens; ///
29
-
30
- ({ tokens } = context);
31
-
32
- replaceNodes(replacementNodes, replacedNode, parentNode);
33
-
34
- replaceTokens(replacementTokens, replacedNode, tokens);
35
- }
36
-
37
- replaceIndexDirectiveSubdivisionReplacement(indexDirectiveSubDivisionReplacement, divisionMarkdownNode, context) {
38
- const subDivisionMarkdownNode = indexDirectiveSubDivisionReplacement.getSubDivisionMarkdownNode(),
39
- replacedNode = subDivisionMarkdownNode, ///
40
- parentNode = divisionMarkdownNode; ///
41
-
42
- this.replace(replacedNode, parentNode, context)
43
- }
44
-
45
- static fromDivisionMarkdownNodesAndDivisionMarkdownNode(divisionMarkdownNodes, divisionMarkdownNode, context) {
46
- let indexReplacement = null;
47
-
48
- const indexList = IndexList.fromDivisionMarkdownNodes(divisionMarkdownNodes, context),
49
- indexReplacements = [];
50
-
51
- letters.forEach((letter) => {
52
- const indexListReplacement = IndexListReplacement.fromIndexListAndLetter(indexList, letter, context);
53
-
54
- if (indexListReplacement !== null) {
55
- let indexReplacement;
56
-
57
- const indexHeadingReplacement = IndexHeadingReplacement.fromLetter(letter, context);
58
-
59
- indexReplacement = indexHeadingReplacement; ///
60
-
61
- indexReplacements.push(indexReplacement);
62
-
63
- indexReplacement = indexListReplacement; ///
64
-
65
- indexReplacements.push(indexReplacement);
66
- }
67
- });
68
-
69
- const indexListReplacementsLength = indexReplacements.length;
70
-
71
- if (indexListReplacementsLength > 0) {
72
- const node = null,
73
- nodes = [],
74
- tokens = [];
75
-
76
- indexReplacements.forEach((indexReplacement) => {
77
- const node = indexReplacement.getNode();
78
-
79
- indexReplacement.getTokens(tokens);
80
-
81
- nodes.push(node);
82
- });
83
-
84
- indexReplacement = Replacement.fromNodeAndTokens(IndexReplacement, node, tokens, nodes);
85
- }
86
-
87
- return indexReplacement;
88
- }
89
- }
@@ -1,32 +0,0 @@
1
- "use strict";
2
-
3
- import Replacement from "../replacement";
4
- import IndexItemReplacement from "../replacement/indexItem";
5
- import IndexListMarkdownNode from "../node/markdown/indexList";
6
-
7
- export default class IndexListReplacement extends Replacement {
8
- static fromIndexListAndLetter(indexList, letter, context) {
9
- let indexListReplacement = null;
10
-
11
- const indexItemReplacements = indexList.reduceIndexItemByLetter(letter, (indexItem) => {
12
- const indexItemReplacement = IndexItemReplacement.fromIndexItem(indexItem, context);
13
-
14
- return indexItemReplacement;
15
- }),
16
- indexItemReplacementsLength = indexItemReplacements.length;
17
-
18
- if (indexItemReplacementsLength > 0) {
19
- const indexListMarkdownNode = IndexListMarkdownNode.fromIndexItemReplacements(indexItemReplacements),
20
- node = indexListMarkdownNode, ///
21
- tokens = [];
22
-
23
- indexItemReplacements.forEach((indexItemReplacement) => {
24
- indexItemReplacement.getTokens(tokens);
25
- });
26
-
27
- indexListReplacement = Replacement.fromNodeAndTokens(IndexListReplacement, node, tokens);
28
- }
29
-
30
- return indexListReplacement;
31
- }
32
- }
@@ -1,20 +0,0 @@
1
- "use strict";
2
-
3
- import SubDivisionReplacement from "../../replacement/subDivision";
4
-
5
- import { contentsDirectiveMarkdownNodeFromNode } from "../../utilities/query";
6
-
7
- export default class ContentsDirectiveSubDivisionReplacement extends SubDivisionReplacement {
8
- static fromSubDivisionMarkdownNode(subDivisionMarkdownNode, context) {
9
- let contentsDirectiveSubDivisionReplacement = null;
10
-
11
- const node = subDivisionMarkdownNode, ///
12
- contentsDirectiveMarkdownNode = contentsDirectiveMarkdownNodeFromNode(node);
13
-
14
- if (contentsDirectiveMarkdownNode !== null) {
15
- contentsDirectiveSubDivisionReplacement = SubDivisionReplacement.fromSubDivisionMarkdownNode(ContentsDirectiveSubDivisionReplacement, subDivisionMarkdownNode, context);
16
- }
17
-
18
- return contentsDirectiveSubDivisionReplacement;
19
- }
20
- }
@@ -1,52 +0,0 @@
1
- "use strict";
2
-
3
- import { arrayUtilities } from "necessary";
4
-
5
- import SubDivisionReplacement from "../../replacement/subDivision";
6
-
7
- import { embedDirectiveMarkdownNodesFromNode } from "../../utilities/query";
8
-
9
- const { backwardsForEach } = arrayUtilities;
10
-
11
- export default class EmbedDirectivesSubDivisionReplacement extends SubDivisionReplacement {
12
- constructor(node, tokens, subDivisionMarkdownNode, embedDirectiveMarkdownNodes) {
13
- super(node, tokens, subDivisionMarkdownNode);
14
-
15
- this.embedDirectiveMarkdownNodes = embedDirectiveMarkdownNodes;
16
- }
17
-
18
- getEmbedDirectiveMarkdownNodes() {
19
- return this.embedDirectiveMarkdownNodes;
20
- }
21
-
22
- replaceSubDivisionMarkdownNode(divisionMarkdownNode, context) {
23
- const subDivisionMarkdownNodes = [],
24
- subDivisionMarkdownNode = this.getSubDivisionMarkdownNode();
25
-
26
- backwardsForEach(this.embedDirectiveMarkdownNodes, (embedDirectiveMarkdownNode) => {
27
- const embedDirectiveReplacement = embedDirectiveMarkdownNode.resolve(context);
28
-
29
- if (embedDirectiveReplacement !== null) {
30
- embedDirectiveReplacement.addAfterSubDivisionMarkdownNode(subDivisionMarkdownNode, divisionMarkdownNode, subDivisionMarkdownNodes, context);
31
- }
32
- });
33
-
34
- this.removeFromDivisionMarkdownNode(divisionMarkdownNode, context);
35
-
36
- return subDivisionMarkdownNodes;
37
- }
38
-
39
- static fromSubDivisionMarkdownNode(subDivisionMarkdownNode, context) {
40
- let embedDirectivesSubDivisionReplacement = null;
41
-
42
- const node = subDivisionMarkdownNode, ///
43
- embedDirectiveMarkdownNodes = embedDirectiveMarkdownNodesFromNode(node),
44
- embedDirectiveMarkdownNodesLength = embedDirectiveMarkdownNodes.length;
45
-
46
- if (embedDirectiveMarkdownNodesLength > 0) {
47
- embedDirectivesSubDivisionReplacement = SubDivisionReplacement.fromSubDivisionMarkdownNode(EmbedDirectivesSubDivisionReplacement, subDivisionMarkdownNode, embedDirectiveMarkdownNodes, context);
48
- }
49
-
50
- return embedDirectivesSubDivisionReplacement;
51
- }
52
- }
@@ -1,20 +0,0 @@
1
- "use strict";
2
-
3
- import SubDivisionReplacement from "../../replacement/subDivision";
4
-
5
- import { footnotesDirectiveMarkdownNodeFromNode } from "../../utilities/query";
6
-
7
- export default class FootnotesDirectiveSubDivisionReplacement extends SubDivisionReplacement {
8
- static fromSubDivisionMarkdownNode(subDivisionMarkdownNode, context) {
9
- let footnotesDirectiveSubDivisionReplacement = null;
10
-
11
- const node = subDivisionMarkdownNode, ///
12
- footnotesDirectiveMarkdownNode = footnotesDirectiveMarkdownNodeFromNode(node);
13
-
14
- if (footnotesDirectiveMarkdownNode !== null) {
15
- footnotesDirectiveSubDivisionReplacement = SubDivisionReplacement.fromSubDivisionMarkdownNode(FootnotesDirectiveSubDivisionReplacement, subDivisionMarkdownNode, context);
16
- }
17
-
18
- return footnotesDirectiveSubDivisionReplacement;
19
- }
20
- }
@@ -1,58 +0,0 @@
1
- "use strict";
2
-
3
- import SubDivisionReplacement from "../../replacement/subDivision";
4
-
5
- import { includeDirectiveMarkdownNodesFromNode } from "../../utilities/query";
6
-
7
- export default class IncludeDirectivesSubDivisionReplacement extends SubDivisionReplacement {
8
- constructor(node, tokens, subDivisionMarkdownNode, includeDirectiveMarkdownNodes) {
9
- super(node, tokens, subDivisionMarkdownNode);
10
-
11
- this.includeDirectiveMarkdownNodes = includeDirectiveMarkdownNodes;
12
- }
13
-
14
- getIncludeDirectiveMarkdownNodes() {
15
- return this.includeDirectiveMarkdownNodes;
16
- }
17
-
18
- removeFromDivisionMarkdownNode(divisionMarkdownNode, context) {
19
- const ignored = divisionMarkdownNode.isIgnored();
20
-
21
- if (ignored) {
22
- return;
23
- }
24
-
25
- super.removeFromDivisionMarkdownNode(divisionMarkdownNode, context);
26
- }
27
-
28
- removeSubDivisionMarkdownNode(divisionMarkdownNode, context) {
29
- this.includeDirectiveMarkdownNodes.forEach((includeDirectiveMarkdownNode) => {
30
- const includeDirectiveReplacement = includeDirectiveMarkdownNode.resolve(context);
31
-
32
- if (includeDirectiveReplacement !== null) {
33
- const divisionMarkdownNode = includeDirectiveReplacement.getDivisionMarkdownNode(),
34
- subDivisionMarkdownNodes = includeDirectiveReplacement.addDivisionMarkdownNode(context);
35
-
36
- subDivisionMarkdownNodes.forEach((subDivisionMarkdownNode) => {
37
- subDivisionMarkdownNode.resolveIncludes(divisionMarkdownNode, context);
38
- });
39
- }
40
- });
41
-
42
- this.removeFromDivisionMarkdownNode(divisionMarkdownNode, context);
43
- }
44
-
45
- static fromSubDivisionMarkdownNode(subDivisionMarkdownNode, context) {
46
- let includeDirectivesSubDivisionReplacement = null;
47
-
48
- const node = subDivisionMarkdownNode, ///
49
- includeDirectiveMarkdownNodes = includeDirectiveMarkdownNodesFromNode(node),
50
- includeDirectiveMarkdownNodesLength = includeDirectiveMarkdownNodes.length;
51
-
52
- if (includeDirectiveMarkdownNodesLength > 0) {
53
- includeDirectivesSubDivisionReplacement = SubDivisionReplacement.fromSubDivisionMarkdownNode(IncludeDirectivesSubDivisionReplacement, subDivisionMarkdownNode, includeDirectiveMarkdownNodes, context);
54
- }
55
-
56
- return includeDirectivesSubDivisionReplacement;
57
- }
58
- }