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,9 +1,27 @@
1
1
  "use strict";
2
2
 
3
+ import withStyle from "easy-with-style"; ///
4
+
3
5
  import ParseTreeTextarea from "../../textarea/parseTree";
4
6
 
5
- export default class MarkdownParseTreeTextarea extends ParseTreeTextarea {
7
+ class MarkdownParseTreeTextarea extends ParseTreeTextarea {
8
+ parentContext() {
9
+ const clearMarkdownParseTreeTextarea = this.clear.bind(this), ///
10
+ updateMarkdownParseTreeTextarea = this.update.bind(this); ///
11
+
12
+ return ({
13
+ clearMarkdownParseTreeTextarea,
14
+ updateMarkdownParseTreeTextarea
15
+ });
16
+ }
17
+
6
18
  static defaultProperties = {
7
19
  className: "markdown"
8
20
  };
9
21
  }
22
+
23
+ export default withStyle(MarkdownParseTreeTextarea)`
24
+
25
+ flex: 1;
26
+
27
+ `;
@@ -19,7 +19,15 @@ class PlainTextTextarea extends Textarea {
19
19
  this.setPlainText(plainText);
20
20
  }
21
21
 
22
- update(plainText) {
22
+ update(topmostHTMLNode, context) {
23
+ const whitespaceTokenIndex = -1;
24
+
25
+ Object.assign(context, {
26
+ whitespaceTokenIndex
27
+ });
28
+
29
+ const plainText = topmostHTMLNode.asPlainText(context);
30
+
23
31
  this.setPlainText(plainText);
24
32
  }
25
33
 
@@ -7,7 +7,15 @@ import { Element } from "easy";
7
7
  import { EMPTY_STRING } from "../constants";
8
8
 
9
9
  class XMP extends Element {
10
- update(html) {
10
+ update(topmostHTMLNode, context) {
11
+ const whitespaceTokenIndex = -1;
12
+
13
+ Object.assign(context, {
14
+ whitespaceTokenIndex
15
+ });
16
+
17
+ const html = topmostHTMLNode.asHTML(context);
18
+
11
19
  this.html(html);
12
20
  }
13
21
 
@@ -3,32 +3,23 @@
3
3
  import withStyle from "easy-with-style"; ///
4
4
 
5
5
  import { Element } from "easy";
6
- import { nodeUtilities } from "occam-dom";
7
6
  import { RowsDiv, ColumnDiv, ColumnsDiv, VerticalSplitterDiv } from "easy-layout";
8
7
  import { MarkdownLexer, MarkdownParser, MarkdownStyleLexer, MarkdownStyleParser } from "../index";
9
8
 
10
- import queries from "../queries";
11
- import importer from "./importer";
12
- import indexOptions from "./indexOptions";
13
9
  import PageButtonsDiv from "./view/div/pageButtons";
14
10
  import LeftSizeableDiv from "./view/div/sizeable/left";
15
11
  import CSSContainerDiv from "./view/div/container/css";
12
+ import TopmostHTMLNode from "../node/html/topmost";
16
13
  import HTMLContainerDiv from "./view/div/container/html";
17
14
  import LeftTabButtonsDiv from "./view/div/tabButtons/left";
18
15
  import RightTabButtonsDiv from "./view/div/tabButtons/right";
19
- import ClassFromOuterNode from "../classFromOuterNode";
20
16
  import PreviewContainerDiv from "./view/div/container/preview";
21
17
  import MarkdownContainerDiv from "./view/div/container/markdown";
22
18
  import PlainTextContainerDiv from "./view/div/container/plainText";
19
+ import HTMLParseTreeTextarea from "./view/textarea/parseTree/html";
23
20
  import MarkdownStyleContainerDiv from "./view/div/container/markdownStyle";
24
- import InnerMarkdownParseTreeTextarea from "./view/textarea/parseTree/markdown/inner";
25
21
 
26
- import { defaultContent } from "./importer";
27
- import { nodesFromNodeAndQueries } from "../utilities/query";
28
- import { LINES_PER_PAGE, CONTENTS_DEPTH, CHARACTERS_PER_LINE } from "./constants";
29
- import { postprocess, divisionMarkdownNodesFromMarkdownNodes } from "../utilities/processing";
30
-
31
- const { topmostNodeFromOuterNodes } = nodeUtilities;
22
+ import { importer, initialMarkdown } from "./importer";
32
23
 
33
24
  const markdownLexer = MarkdownLexer.fromNothing(),
34
25
  markdownParser = MarkdownParser.fromNothing(),
@@ -71,44 +62,40 @@ class View extends Element {
71
62
  }
72
63
 
73
64
  update() {
74
- this.updateMarkdown();
75
65
  this.updateMarkdownStyle();
66
+ this.updateMarkdown();
67
+ this.updatePage();
76
68
  }
77
69
 
78
70
  clearPage() {
79
71
  this.clearXMP();
80
-
81
72
  this.clearPreviewDiv();
82
-
83
- this.clearInnerMarkdownParseTreeTextarea();
73
+ this.clearHTMLParseTreeTextarea();
84
74
  }
85
75
 
86
- updatePage(index) {
87
- const divisionMarkdownNodes = this.getDivisionMarkdownNodes(),
88
- divisionMarkdownNode = divisionMarkdownNodes[index],
89
- tokens = this.getTokens(),
76
+ updatePage(index = 0) {
77
+ const tokens = this.getTokens(),
78
+ topmostMarkdownNode = this.getTopmostMarkdownNode(),
79
+ divisionMarkdownNode = topmostMarkdownNode.getDivisionMarkdownNodeAt(index),
80
+ topmostHTMLNode = TopmostHTMLNode.fromDivisionMarkdownNode(divisionMarkdownNode),
90
81
  context = {
91
- tokens
92
- },
93
- length = null;
82
+ tokens,
83
+ pathToURL
84
+ };
94
85
 
95
- const node = divisionMarkdownNode, ///
96
- nodes = nodesFromNodeAndQueries(node, queries),
97
- topmostHTMLNode = topmostNodeFromOuterNodes(ClassFromOuterNode, nodes),
98
- parseTree = topmostHTMLNode.asParseTree(),
99
- html = topmostHTMLNode.asHTML(context),
100
- plainText = divisionMarkdownNode.asPlainText(context),
101
- innerMarkdownParseTree = parseTree; ///
86
+ this.updateXMP(topmostHTMLNode, context);
102
87
 
103
- this.updateXMP(html);
88
+ this.updatePreviewDiv(topmostHTMLNode, context);
104
89
 
105
- this.updatePreviewDiv(divisionMarkdownNode, context);
90
+ this.updatePlainTextTextarea(topmostHTMLNode, context);
106
91
 
107
- this.updatePageButtonsDiv(length, index);
92
+ const length = null,
93
+ parseTree = topmostHTMLNode.asParseTree(),
94
+ htmlParseTree = parseTree; ///
108
95
 
109
- this.updatePlainTextTextarea(plainText);
96
+ this.updatePageButtonsDiv(length, index);
110
97
 
111
- this.updateInnerMarkdownParseTreeTextarea(innerMarkdownParseTree);
98
+ this.updateHTMLParseTreeTextarea(htmlParseTree);
112
99
  }
113
100
 
114
101
  updateMarkdown() {
@@ -116,58 +103,41 @@ class View extends Element {
116
103
  lexer = markdownLexer, ///
117
104
  parser = markdownParser, ///
118
105
  content = markdown, ///
119
- startRule = parser.getStartRule(),
120
106
  tokens = lexer.tokenise(content),
121
- node = parser.parse(tokens, startRule);
107
+ node = parser.parse(tokens);
122
108
 
123
- this.setTokens(tokens);
109
+ if (node === null) {
110
+ this.resetTokens();
124
111
 
125
- if (node !== null) {
126
- const divisionMarkdownNode = node, ///
127
- charactersPerLine = CHARACTERS_PER_LINE,
128
- contentsDepth = CONTENTS_DEPTH,
129
- linesPerPage = LINES_PER_PAGE,
130
- context = {
131
- tokens,
132
- importer,
133
- indexOptions,
134
- linesPerPage,
135
- contentsDepth,
136
- nodeFromTokens,
137
- tokensFromContent,
138
- charactersPerLine
139
- },
140
- markdownNodes = postprocess(divisionMarkdownNode, context),
141
- divisionMarkdownNodes = divisionMarkdownNodesFromMarkdownNodes(markdownNodes);
142
-
143
- this.setDivisionMarkdownNodes(divisionMarkdownNodes);
144
-
145
- const parseTree = divisionMarkdownNode.asParseTree(tokens),
146
- outerMarkdownParseTree = parseTree; ///
147
-
148
- this.updateOuterMarkdownParseTreeTextarea(outerMarkdownParseTree);
149
-
150
- const index = 0,
151
- length = divisionMarkdownNodes.length;
152
-
153
- if (length > 0) {
154
- this.updatePage(index);
155
-
156
- this.updatePageButtonsDiv(length);
157
- }
158
- } else {
159
- this.clearPage();
112
+ this.resetTopmostMarkdownNode();
113
+
114
+ this.clearMarkdownParseTreeTextarea();
160
115
 
161
116
  this.clearPageButtonsDiv();
162
117
 
163
- this.clearPlainTextTextarea();
118
+ this.clearPage();
119
+
120
+ return;
121
+ }
164
122
 
165
- this.clearOuterMarkdownParseTreeTextarea();
123
+ const topmostMarkdownNode = node, ///
124
+ context = {
125
+ tokens,
126
+ importer,
127
+ nodeFromTokens,
128
+ tokensFromContent
129
+ };
166
130
 
167
- const divisionMarkdownNodes = null;
131
+ topmostMarkdownNode.resolve(context);
168
132
 
169
- this.setDivisionMarkdownNodes(divisionMarkdownNodes);
170
- }
133
+ const parseTree = topmostMarkdownNode.asParseTree(tokens),
134
+ markdownParseTree = parseTree; ///
135
+
136
+ this.setTokens(tokens);
137
+
138
+ this.setTopmostMarkdownNode(topmostMarkdownNode);
139
+
140
+ this.updateMarkdownParseTreeTextarea(markdownParseTree);
171
141
  }
172
142
 
173
143
  updateMarkdownStyle() {
@@ -231,16 +201,28 @@ class View extends Element {
231
201
  this.hidePlainTextContainerDiv();
232
202
  }
233
203
 
204
+ resetTokens() {
205
+ const tokens = null;
206
+
207
+ this.setTokens(tokens);
208
+ }
209
+
210
+ resetTopmostMarkdownNode() {
211
+ const topmostMarkdownNode = null;
212
+
213
+ this.setTopmostMarkdownNode(topmostMarkdownNode);
214
+ }
215
+
234
216
  getTokens() {
235
217
  const { tokens } = this.getState();
236
218
 
237
219
  return tokens;
238
220
  }
239
221
 
240
- getDivisionMarkdownNodes() {
241
- const { divisionMarkdownNodes } = this.getState();
222
+ getTopmostMarkdownNode() {
223
+ const { topmostMarkdownNode } = this.getState();
242
224
 
243
- return divisionMarkdownNodes;
225
+ return topmostMarkdownNode;
244
226
  }
245
227
 
246
228
  setTokens(tokens) {
@@ -249,19 +231,19 @@ class View extends Element {
249
231
  });
250
232
  }
251
233
 
252
- setDivisionMarkdownNodes(divisionMarkdownNodes) {
234
+ setTopmostMarkdownNode(topmostMarkdownNode) {
253
235
  this.updateState({
254
- divisionMarkdownNodes
236
+ topmostMarkdownNode
255
237
  });
256
238
  }
257
239
 
258
240
  setInitialState() {
259
241
  const tokens = null,
260
- divisionMarkdownNodes = null;
242
+ topmostMarkdownNode = null;
261
243
 
262
244
  this.setState({
263
245
  tokens,
264
- divisionMarkdownNodes
246
+ topmostMarkdownNode
265
247
  });
266
248
  }
267
249
 
@@ -287,7 +269,7 @@ class View extends Element {
287
269
  <HTMLContainerDiv/>
288
270
  <PreviewContainerDiv/>
289
271
  <PlainTextContainerDiv/>
290
- <InnerMarkdownParseTreeTextarea/>
272
+ <HTMLParseTreeTextarea/>
291
273
  </RowsDiv>
292
274
  </ColumnDiv>
293
275
  </ColumnsDiv>
@@ -313,13 +295,18 @@ class View extends Element {
313
295
  this.css();
314
296
  }
315
297
 
316
- static initialMarkdown = defaultContent; ///
298
+ static initialMarkdown = initialMarkdown;
317
299
 
318
300
  static initialMarkdownStyle = `width: 100%;
319
- height: 199%;
320
- position: absolute;
321
- min-height: 100%;
322
- padding-top: 5rem;
301
+ height: 100%;
302
+ font-size: 2rem;
303
+
304
+ blockListing {
305
+ colour: white;
306
+ text-align: left;
307
+ font-family: monospace;
308
+ background-colour: black;
309
+ }
323
310
  `;
324
311
 
325
312
  static tagName = "div";
@@ -354,3 +341,9 @@ function nodeFromTokens(tokens, startRuleName = null) {
354
341
 
355
342
  return node;
356
343
  }
344
+
345
+ function pathToURL(path) {
346
+ const url = `https://static.djalbat.com/${path}`;
347
+
348
+ return url;
349
+ }
@@ -3,9 +3,9 @@
3
3
  import { UNDERSCORE, GLOBAL_FLAG, SINGLE_SPACE } from "../constants";
4
4
 
5
5
  export default class IndexMatch {
6
- constructor(regularExpression, replacement) {
6
+ constructor(regularExpression, transform) {
7
7
  this.regularExpression = regularExpression;
8
- this.replacement = replacement;
8
+ this.transform = transform;
9
9
  }
10
10
 
11
11
  getRegularExpression() {
@@ -13,11 +13,11 @@ export default class IndexMatch {
13
13
  }
14
14
 
15
15
  getReplacement() {
16
- return this.replacement;
16
+ return this.transform;
17
17
  }
18
18
 
19
19
  replace(plainText) {
20
- plainText = plainText.replace(this.regularExpression, this.replacement); ///
20
+ plainText = plainText.replace(this.regularExpression, this.transform); ///
21
21
 
22
22
  return plainText;
23
23
  }
@@ -30,8 +30,8 @@ export default class IndexMatch {
30
30
 
31
31
  static fromPhrase(phrase) {
32
32
  const regularExpression = new RegExp(phrase, GLOBAL_FLAG),
33
- replacement = phrase.replace(/\s/g, UNDERSCORE),
34
- indexMatch = new IndexMatch(regularExpression, replacement);
33
+ transform = phrase.replace(/\s/g, UNDERSCORE),
34
+ indexMatch = new IndexMatch(regularExpression, transform);
35
35
 
36
36
  return indexMatch;
37
37
  }
package/src/index.js CHANGED
@@ -6,15 +6,18 @@ export { default as MarkdownStyleLexer } from "./markdownStyle/lexer";
6
6
  export { default as MarkdownStyleParser } from "./markdownStyle/parser";
7
7
 
8
8
  export { default as cssUtilities } from "./utilities/css";
9
+ export { default as htmlUtilities } from "./utilities/html";
9
10
  export { default as queryUtilities } from "./utilities/query";
11
+ export { default as markdownUtilities } from "./utilities/markdown";
10
12
  export { default as footnotesUtilities } from "./utilities/footnotes";
11
- export { default as processingUtilities } from "./utilities/processing";
12
13
 
13
- export { default as nodeMap } from "./nodeMap";
14
14
  export { default as ruleNames } from "./ruleNames";
15
15
  export { default as tokenTypes } from "./tokenTypes";
16
- export { default as elementMap } from "./elementMap";
16
+ export { default as tagNameMap } from "./map/tagName";
17
+ export { default as htmlNodeMap } from "./map/node/html";
18
+ export { default as classNameMap } from "./map/className";
17
19
  export { default as MarkdownNode } from "./node/markdown";
20
+ export { default as markdownNodeMap } from "./map/node/markdown";
18
21
  export { default as MarkdownStyleElement } from "./styleElement/markdown";
19
22
  export { default as defaultMarkdownStyle } from "./defaultMarkdownStyle";
20
23
  export { default as DefaultMarkdownStyleElement } from "./styleElement/markdown/default";
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ import htmlNodeMap from "../map/node/html";
4
+
5
+ import { ruleNames } from "../map/node/html";
6
+
7
+ const classNameMap = {};
8
+
9
+ ruleNames.forEach((ruleName) => {
10
+ const Class = htmlNodeMap[ruleName],
11
+ { className } = Class;
12
+
13
+ classNameMap[ruleName] = className;
14
+ });
15
+
16
+ export default classNameMap;
@@ -0,0 +1,136 @@
1
+ "use strict";
2
+
3
+ import LineHTMLNode from "../../node/html/line";
4
+ import ErrorHTMLNode from "../../node/html/error";
5
+ import ImageHTMLNode from "../../node/html/image";
6
+ import TableHTMLNode from "../../node/html/table";
7
+ import AnchorHTMLNode from "../../node/html/anchor";
8
+ import DivisionHTMLNode from "../../node/html/division";
9
+ import ParagraphHTMLNode from "../../node/html/paragraph";
10
+ import TableHeadHTMLNode from "../../node/html/tableHead";
11
+ import TableBodyHTMLNode from "../../node/html/tableBody";
12
+ import HyperlinkHTMLNode from "../../node/html/link/hyper";
13
+ import IndexItemHTMLNode from "../../node/html/item";
14
+ import IndexLinkHTMLNode from "../../node/html/link";
15
+ import IndexListHTMLNode from "../../node/html/indexList";
16
+ import EmailLinkHTMLNode from "../../node/html/link/email";
17
+ import BlockLineHTMLNode from "../../node/html/blockLine";
18
+ import PlainTextHTMLNode from "../../node/html/text/plain";
19
+ import BlockTextHTMLNode from "../../node/html/text/block";
20
+ import StrongTextHTMLNode from "../../node/html/text/strong";
21
+ import InlineTextHTMLNode from "../../node/html/text/inline";
22
+ import OrderedItemHTMLNode from "../../node/html/item/ordered";
23
+ import OrderedListHTMLNode from "../../node/html/list/ordered";
24
+ import ContentsItemHTMLNode from "../../node/html/item/contents";
25
+ import ContentsListHTMLNode from "../../node/html/list/contents";
26
+ import ContentsLinkHTMLNode from "../../node/html/link/contents";
27
+ import BlockListingHTMLNode from "../../node/html/listing/block";
28
+ import IndexHeadingHTMLNode from "../../node/html/heading";
29
+ import FootnoteLinkHTMLNode from "../../node/html/link/footnote";
30
+ import TableHeadRowHTMLNode from "../../node/html/tableHeadRow";
31
+ import TableBodyRowHTMLNode from "../../node/html/tableBodyRow";
32
+ import InlineListingHTMLNode from "../../node/html/listing/inline";
33
+ import FootnotesItemHTMLNode from "../../node/html/item/footnotes";
34
+ import FootnotesListHTMLNode from "../../node/html/list/footnotes";
35
+ import TableHeadCellHTMLNode from "../../node/html/tableHeadCell";
36
+ import TableBodyCellHTMLNode from "../../node/html/tableBodyCell";
37
+ import UnorderedItemHTMLNode from "../../node/html/item/unordered";
38
+ import UnorderedListHTMLNode from "../../node/html/list/unordered";
39
+ import PrimaryHeadingHTMLNode from "../../node/html/heading/primary";
40
+ import EmphasisedTextHTMLNode from "../../node/html/text/emphasised";
41
+ import TertiaryHeadingHTMLNode from "../../node/html/heading/tertiary";
42
+ import SecondaryHeadingHTMLNode from "../../node/html/heading/secondary";
43
+ import QuaternaryHeadingHTMLNode from "../../node/html/heading/quaternary";
44
+ import StronglyEmphasisedTextHTMLNode from "../../node/html/text/stronglyEmphasised";
45
+
46
+ import { LINE_RULE_NAME,
47
+ ERROR_RULE_NAME,
48
+ IMAGE_RULE_NAME,
49
+ TABLE_RULE_NAME,
50
+ ANCHOR_RULE_NAME,
51
+ DIVISION_RULE_NAME,
52
+ PARAGRAPH_RULE_NAME,
53
+ HYPERLINK_RULE_NAME,
54
+ TABLE_HEAD_RULE_NAME,
55
+ TABLE_BODY_RULE_NAME,
56
+ INDEX_ITEM_RULE_NAME,
57
+ INDEX_LINK_RULE_NAME,
58
+ INDEX_LIST_RULE_NAME,
59
+ EMAIL_LINK_RULE_NAME,
60
+ BLOCK_LINE_RULE_NAME,
61
+ PLAIN_TEXT_RULE_NAME,
62
+ BLOCK_TEXT_RULE_NAME,
63
+ STRONG_TEXT_RULE_NAME,
64
+ INLINE_TEXT_RULE_NAME,
65
+ ORDERED_ITEM_RULE_NAME,
66
+ ORDERED_LIST_RULE_NAME,
67
+ CONTENTS_ITEM_RULE_NAME,
68
+ CONTENTS_LIST_RULE_NAME,
69
+ CONTENTS_LINK_RULE_NAME,
70
+ INDEX_HEADING_RULE_NAME,
71
+ BLOCK_LISTING_RULE_NAME,
72
+ FOOTNOTE_LINK_RULE_NAME,
73
+ TABLE_HEAD_ROW_RULE_NAME,
74
+ TABLE_BODY_ROW_RULE_NAME,
75
+ INLINE_LISTING_RULE_NAME,
76
+ FOOTNOTES_ITEM_RULE_NAME,
77
+ FOOTNOTES_LIST_RULE_NAME,
78
+ UNORDERED_ITEM_RULE_NAME,
79
+ UNORDERED_LIST_RULE_NAME,
80
+ TABLE_HEAD_CELL_RULE_NAME,
81
+ TABLE_BODY_CELL_RULE_NAME,
82
+ EMPHASISED_TEXT_RULE_NAME,
83
+ PRIMARY_HEADING_RULE_NAME,
84
+ TERTIARY_HEADING_RULE_NAME,
85
+ SECONDARY_HEADING_RULE_NAME,
86
+ QUATERNARY_HEADING_RULE_NAME,
87
+ STRONGLY_EMPHASISED_TEXT_RULE_NAME } from "../../ruleNames";
88
+
89
+ const htmlNodeMap = {
90
+ [LINE_RULE_NAME]: LineHTMLNode,
91
+ [ERROR_RULE_NAME]: ErrorHTMLNode,
92
+ [IMAGE_RULE_NAME]: ImageHTMLNode,
93
+ [TABLE_RULE_NAME]: TableHTMLNode,
94
+ [ANCHOR_RULE_NAME]: AnchorHTMLNode,
95
+ [DIVISION_RULE_NAME]: DivisionHTMLNode,
96
+ [PARAGRAPH_RULE_NAME]: ParagraphHTMLNode,
97
+ [HYPERLINK_RULE_NAME]: HyperlinkHTMLNode,
98
+ [TABLE_HEAD_RULE_NAME]: TableHeadHTMLNode,
99
+ [TABLE_BODY_RULE_NAME]: TableBodyHTMLNode,
100
+ [INDEX_ITEM_RULE_NAME]: IndexItemHTMLNode,
101
+ [INDEX_LINK_RULE_NAME]: IndexLinkHTMLNode,
102
+ [INDEX_LIST_RULE_NAME]: IndexListHTMLNode,
103
+ [EMAIL_LINK_RULE_NAME]: EmailLinkHTMLNode,
104
+ [BLOCK_LINE_RULE_NAME]: BlockLineHTMLNode,
105
+ [PLAIN_TEXT_RULE_NAME]: PlainTextHTMLNode,
106
+ [BLOCK_TEXT_RULE_NAME]: BlockTextHTMLNode,
107
+ [STRONG_TEXT_RULE_NAME]: StrongTextHTMLNode,
108
+ [INLINE_TEXT_RULE_NAME]: InlineTextHTMLNode,
109
+ [ORDERED_ITEM_RULE_NAME]: OrderedItemHTMLNode,
110
+ [ORDERED_LIST_RULE_NAME]: OrderedListHTMLNode,
111
+ [CONTENTS_ITEM_RULE_NAME]: ContentsItemHTMLNode,
112
+ [CONTENTS_LIST_RULE_NAME]: ContentsListHTMLNode,
113
+ [CONTENTS_LINK_RULE_NAME]: ContentsLinkHTMLNode,
114
+ [INDEX_HEADING_RULE_NAME]: IndexHeadingHTMLNode,
115
+ [BLOCK_LISTING_RULE_NAME]: BlockListingHTMLNode,
116
+ [FOOTNOTE_LINK_RULE_NAME]: FootnoteLinkHTMLNode,
117
+ [TABLE_HEAD_ROW_RULE_NAME]: TableHeadRowHTMLNode,
118
+ [TABLE_BODY_ROW_RULE_NAME]: TableBodyRowHTMLNode,
119
+ [INLINE_LISTING_RULE_NAME]: InlineListingHTMLNode,
120
+ [FOOTNOTES_ITEM_RULE_NAME]: FootnotesItemHTMLNode,
121
+ [FOOTNOTES_LIST_RULE_NAME]: FootnotesListHTMLNode,
122
+ [UNORDERED_ITEM_RULE_NAME]: UnorderedItemHTMLNode,
123
+ [UNORDERED_LIST_RULE_NAME]: UnorderedListHTMLNode,
124
+ [TABLE_HEAD_CELL_RULE_NAME]: TableHeadCellHTMLNode,
125
+ [TABLE_BODY_CELL_RULE_NAME]: TableBodyCellHTMLNode,
126
+ [EMPHASISED_TEXT_RULE_NAME]: EmphasisedTextHTMLNode,
127
+ [PRIMARY_HEADING_RULE_NAME]: PrimaryHeadingHTMLNode,
128
+ [TERTIARY_HEADING_RULE_NAME]: TertiaryHeadingHTMLNode,
129
+ [SECONDARY_HEADING_RULE_NAME]: SecondaryHeadingHTMLNode,
130
+ [QUATERNARY_HEADING_RULE_NAME]: QuaternaryHeadingHTMLNode,
131
+ [STRONGLY_EMPHASISED_TEXT_RULE_NAME]: StronglyEmphasisedTextHTMLNode
132
+ }
133
+
134
+ export const ruleNames = Object.keys(htmlNodeMap);
135
+
136
+ export default htmlNodeMap;