@alexlit/lint-kit 216.1.0 → 217.0.1

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 (436) hide show
  1. package/README.md +2 -2
  2. package/package.json +1 -1
  3. package/packages/config-eslint/README.md +10 -0
  4. package/packages/config-eslint/package.json +9 -8
  5. package/packages/config-eslint/plugins/tailwindcss.js +1 -0
  6. package/packages/config-eslint/plugins/vue.js +2 -0
  7. package/packages/config-markdownlint/package.json +2 -2
  8. package/packages/config-prettier/package.json +2 -2
  9. package/packages/config-prettier/plugins/tailwindcss.js +1 -0
  10. package/packages/config-stylelint/package.json +3 -3
  11. package/packages/config-markdownlint/node_modules/ansi-regex/index.d.ts +0 -33
  12. package/packages/config-markdownlint/node_modules/ansi-regex/index.js +0 -15
  13. package/packages/config-markdownlint/node_modules/ansi-regex/license +0 -9
  14. package/packages/config-markdownlint/node_modules/ansi-regex/package.json +0 -61
  15. package/packages/config-markdownlint/node_modules/ansi-regex/readme.md +0 -66
  16. package/packages/config-markdownlint/node_modules/markdownlint/CHANGELOG.md +0 -553
  17. package/packages/config-markdownlint/node_modules/markdownlint/CONTRIBUTING.md +0 -77
  18. package/packages/config-markdownlint/node_modules/markdownlint/LICENSE +0 -21
  19. package/packages/config-markdownlint/node_modules/markdownlint/README.md +0 -1112
  20. package/packages/config-markdownlint/node_modules/markdownlint/doc/CustomRules.md +0 -196
  21. package/packages/config-markdownlint/node_modules/markdownlint/doc/Prettier.md +0 -27
  22. package/packages/config-markdownlint/node_modules/markdownlint/doc/ReleaseProcess.md +0 -20
  23. package/packages/config-markdownlint/node_modules/markdownlint/doc/Rules.md +0 -2909
  24. package/packages/config-markdownlint/node_modules/markdownlint/doc/md001.md +0 -51
  25. package/packages/config-markdownlint/node_modules/markdownlint/doc/md003.md +0 -59
  26. package/packages/config-markdownlint/node_modules/markdownlint/doc/md004.md +0 -50
  27. package/packages/config-markdownlint/node_modules/markdownlint/doc/md005.md +0 -53
  28. package/packages/config-markdownlint/node_modules/markdownlint/doc/md007.md +0 -52
  29. package/packages/config-markdownlint/node_modules/markdownlint/doc/md009.md +0 -50
  30. package/packages/config-markdownlint/node_modules/markdownlint/doc/md010.md +0 -61
  31. package/packages/config-markdownlint/node_modules/markdownlint/doc/md011.md +0 -30
  32. package/packages/config-markdownlint/node_modules/markdownlint/doc/md012.md +0 -38
  33. package/packages/config-markdownlint/node_modules/markdownlint/doc/md013.md +0 -58
  34. package/packages/config-markdownlint/node_modules/markdownlint/doc/md014.md +0 -54
  35. package/packages/config-markdownlint/node_modules/markdownlint/doc/md018.md +0 -27
  36. package/packages/config-markdownlint/node_modules/markdownlint/doc/md019.md +0 -28
  37. package/packages/config-markdownlint/node_modules/markdownlint/doc/md020.md +0 -29
  38. package/packages/config-markdownlint/node_modules/markdownlint/doc/md021.md +0 -31
  39. package/packages/config-markdownlint/node_modules/markdownlint/doc/md022.md +0 -67
  40. package/packages/config-markdownlint/node_modules/markdownlint/doc/md023.md +0 -33
  41. package/packages/config-markdownlint/node_modules/markdownlint/doc/md024.md +0 -44
  42. package/packages/config-markdownlint/node_modules/markdownlint/doc/md025.md +0 -49
  43. package/packages/config-markdownlint/node_modules/markdownlint/doc/md026.md +0 -40
  44. package/packages/config-markdownlint/node_modules/markdownlint/doc/md027.md +0 -32
  45. package/packages/config-markdownlint/node_modules/markdownlint/doc/md028.md +0 -44
  46. package/packages/config-markdownlint/node_modules/markdownlint/doc/md029.md +0 -110
  47. package/packages/config-markdownlint/node_modules/markdownlint/doc/md030.md +0 -82
  48. package/packages/config-markdownlint/node_modules/markdownlint/doc/md031.md +0 -50
  49. package/packages/config-markdownlint/node_modules/markdownlint/doc/md032.md +0 -55
  50. package/packages/config-markdownlint/node_modules/markdownlint/doc/md033.md +0 -33
  51. package/packages/config-markdownlint/node_modules/markdownlint/doc/md034.md +0 -55
  52. package/packages/config-markdownlint/node_modules/markdownlint/doc/md035.md +0 -44
  53. package/packages/config-markdownlint/node_modules/markdownlint/doc/md036.md +0 -45
  54. package/packages/config-markdownlint/node_modules/markdownlint/doc/md037.md +0 -37
  55. package/packages/config-markdownlint/node_modules/markdownlint/doc/md038.md +0 -52
  56. package/packages/config-markdownlint/node_modules/markdownlint/doc/md039.md +0 -21
  57. package/packages/config-markdownlint/node_modules/markdownlint/doc/md040.md +0 -52
  58. package/packages/config-markdownlint/node_modules/markdownlint/doc/md041.md +0 -64
  59. package/packages/config-markdownlint/node_modules/markdownlint/doc/md042.md +0 -38
  60. package/packages/config-markdownlint/node_modules/markdownlint/doc/md043.md +0 -125
  61. package/packages/config-markdownlint/node_modules/markdownlint/doc/md044.md +0 -45
  62. package/packages/config-markdownlint/node_modules/markdownlint/doc/md045.md +0 -48
  63. package/packages/config-markdownlint/node_modules/markdownlint/doc/md046.md +0 -40
  64. package/packages/config-markdownlint/node_modules/markdownlint/doc/md047.md +0 -34
  65. package/packages/config-markdownlint/node_modules/markdownlint/doc/md048.md +0 -42
  66. package/packages/config-markdownlint/node_modules/markdownlint/doc/md049.md +0 -36
  67. package/packages/config-markdownlint/node_modules/markdownlint/doc/md050.md +0 -35
  68. package/packages/config-markdownlint/node_modules/markdownlint/doc/md051.md +0 -117
  69. package/packages/config-markdownlint/node_modules/markdownlint/doc/md052.md +0 -52
  70. package/packages/config-markdownlint/node_modules/markdownlint/doc/md053.md +0 -38
  71. package/packages/config-markdownlint/node_modules/markdownlint/doc/md054.md +0 -100
  72. package/packages/config-markdownlint/node_modules/markdownlint/doc/md055.md +0 -58
  73. package/packages/config-markdownlint/node_modules/markdownlint/doc/md056.md +0 -37
  74. package/packages/config-markdownlint/node_modules/markdownlint/doc/md058.md +0 -48
  75. package/packages/config-markdownlint/node_modules/markdownlint/doc/md059.md +0 -33
  76. package/packages/config-markdownlint/node_modules/markdownlint/doc/md060.md +0 -131
  77. package/packages/config-markdownlint/node_modules/markdownlint/helpers/LICENSE +0 -21
  78. package/packages/config-markdownlint/node_modules/markdownlint/helpers/README.md +0 -29
  79. package/packages/config-markdownlint/node_modules/markdownlint/helpers/helpers.cjs +0 -711
  80. package/packages/config-markdownlint/node_modules/markdownlint/helpers/micromark-helpers.cjs +0 -328
  81. package/packages/config-markdownlint/node_modules/markdownlint/helpers/package.json +0 -22
  82. package/packages/config-markdownlint/node_modules/markdownlint/helpers/shared.cjs +0 -16
  83. package/packages/config-markdownlint/node_modules/markdownlint/lib/cache.mjs +0 -81
  84. package/packages/config-markdownlint/node_modules/markdownlint/lib/configuration-strict.d.ts +0 -2429
  85. package/packages/config-markdownlint/node_modules/markdownlint/lib/configuration.d.ts +0 -8
  86. package/packages/config-markdownlint/node_modules/markdownlint/lib/constants.mjs +0 -14
  87. package/packages/config-markdownlint/node_modules/markdownlint/lib/defer-require.cjs +0 -19
  88. package/packages/config-markdownlint/node_modules/markdownlint/lib/exports-async.d.mts +0 -1
  89. package/packages/config-markdownlint/node_modules/markdownlint/lib/exports-async.mjs +0 -3
  90. package/packages/config-markdownlint/node_modules/markdownlint/lib/exports-promise.d.mts +0 -1
  91. package/packages/config-markdownlint/node_modules/markdownlint/lib/exports-promise.mjs +0 -3
  92. package/packages/config-markdownlint/node_modules/markdownlint/lib/exports-sync.d.mts +0 -1
  93. package/packages/config-markdownlint/node_modules/markdownlint/lib/exports-sync.mjs +0 -3
  94. package/packages/config-markdownlint/node_modules/markdownlint/lib/exports.d.mts +0 -58
  95. package/packages/config-markdownlint/node_modules/markdownlint/lib/exports.mjs +0 -33
  96. package/packages/config-markdownlint/node_modules/markdownlint/lib/markdownit.cjs +0 -178
  97. package/packages/config-markdownlint/node_modules/markdownlint/lib/markdownlint.d.mts +0 -757
  98. package/packages/config-markdownlint/node_modules/markdownlint/lib/markdownlint.mjs +0 -1588
  99. package/packages/config-markdownlint/node_modules/markdownlint/lib/md001.mjs +0 -32
  100. package/packages/config-markdownlint/node_modules/markdownlint/lib/md003.mjs +0 -47
  101. package/packages/config-markdownlint/node_modules/markdownlint/lib/md004.mjs +0 -73
  102. package/packages/config-markdownlint/node_modules/markdownlint/lib/md005.mjs +0 -69
  103. package/packages/config-markdownlint/node_modules/markdownlint/lib/md007.mjs +0 -84
  104. package/packages/config-markdownlint/node_modules/markdownlint/lib/md009.mjs +0 -95
  105. package/packages/config-markdownlint/node_modules/markdownlint/lib/md010.mjs +0 -78
  106. package/packages/config-markdownlint/node_modules/markdownlint/lib/md011.mjs +0 -59
  107. package/packages/config-markdownlint/node_modules/markdownlint/lib/md012.mjs +0 -40
  108. package/packages/config-markdownlint/node_modules/markdownlint/lib/md013.mjs +0 -95
  109. package/packages/config-markdownlint/node_modules/markdownlint/lib/md014.mjs +0 -47
  110. package/packages/config-markdownlint/node_modules/markdownlint/lib/md018.mjs +0 -43
  111. package/packages/config-markdownlint/node_modules/markdownlint/lib/md019-md021.mjs +0 -78
  112. package/packages/config-markdownlint/node_modules/markdownlint/lib/md020.mjs +0 -68
  113. package/packages/config-markdownlint/node_modules/markdownlint/lib/md022.mjs +0 -103
  114. package/packages/config-markdownlint/node_modules/markdownlint/lib/md023.mjs +0 -37
  115. package/packages/config-markdownlint/node_modules/markdownlint/lib/md024.mjs +0 -45
  116. package/packages/config-markdownlint/node_modules/markdownlint/lib/md025.mjs +0 -45
  117. package/packages/config-markdownlint/node_modules/markdownlint/lib/md026.mjs +0 -46
  118. package/packages/config-markdownlint/node_modules/markdownlint/lib/md027.mjs +0 -50
  119. package/packages/config-markdownlint/node_modules/markdownlint/lib/md028.mjs +0 -38
  120. package/packages/config-markdownlint/node_modules/markdownlint/lib/md029.mjs +0 -95
  121. package/packages/config-markdownlint/node_modules/markdownlint/lib/md030.mjs +0 -57
  122. package/packages/config-markdownlint/node_modules/markdownlint/lib/md031.mjs +0 -61
  123. package/packages/config-markdownlint/node_modules/markdownlint/lib/md032.mjs +0 -79
  124. package/packages/config-markdownlint/node_modules/markdownlint/lib/md033.mjs +0 -46
  125. package/packages/config-markdownlint/node_modules/markdownlint/lib/md034.mjs +0 -92
  126. package/packages/config-markdownlint/node_modules/markdownlint/lib/md035.mjs +0 -23
  127. package/packages/config-markdownlint/node_modules/markdownlint/lib/md036.mjs +0 -55
  128. package/packages/config-markdownlint/node_modules/markdownlint/lib/md037.mjs +0 -93
  129. package/packages/config-markdownlint/node_modules/markdownlint/lib/md038.mjs +0 -73
  130. package/packages/config-markdownlint/node_modules/markdownlint/lib/md039.mjs +0 -63
  131. package/packages/config-markdownlint/node_modules/markdownlint/lib/md040.mjs +0 -32
  132. package/packages/config-markdownlint/node_modules/markdownlint/lib/md041.mjs +0 -71
  133. package/packages/config-markdownlint/node_modules/markdownlint/lib/md042.mjs +0 -58
  134. package/packages/config-markdownlint/node_modules/markdownlint/lib/md043.mjs +0 -126
  135. package/packages/config-markdownlint/node_modules/markdownlint/lib/md044.mjs +0 -110
  136. package/packages/config-markdownlint/node_modules/markdownlint/lib/md045.mjs +0 -61
  137. package/packages/config-markdownlint/node_modules/markdownlint/lib/md046.mjs +0 -31
  138. package/packages/config-markdownlint/node_modules/markdownlint/lib/md047.mjs +0 -28
  139. package/packages/config-markdownlint/node_modules/markdownlint/lib/md048.mjs +0 -45
  140. package/packages/config-markdownlint/node_modules/markdownlint/lib/md049-md050.mjs +0 -115
  141. package/packages/config-markdownlint/node_modules/markdownlint/lib/md051.mjs +0 -173
  142. package/packages/config-markdownlint/node_modules/markdownlint/lib/md052.mjs +0 -40
  143. package/packages/config-markdownlint/node_modules/markdownlint/lib/md053.mjs +0 -60
  144. package/packages/config-markdownlint/node_modules/markdownlint/lib/md054.mjs +0 -122
  145. package/packages/config-markdownlint/node_modules/markdownlint/lib/md055.mjs +0 -82
  146. package/packages/config-markdownlint/node_modules/markdownlint/lib/md056.mjs +0 -50
  147. package/packages/config-markdownlint/node_modules/markdownlint/lib/md058.mjs +0 -57
  148. package/packages/config-markdownlint/node_modules/markdownlint/lib/md059.mjs +0 -71
  149. package/packages/config-markdownlint/node_modules/markdownlint/lib/md060.mjs +0 -229
  150. package/packages/config-markdownlint/node_modules/markdownlint/lib/micromark-parse.mjs +0 -338
  151. package/packages/config-markdownlint/node_modules/markdownlint/lib/micromark-types.d.mts +0 -11
  152. package/packages/config-markdownlint/node_modules/markdownlint/lib/node-imports-browser.mjs +0 -22
  153. package/packages/config-markdownlint/node_modules/markdownlint/lib/node-imports-node.mjs +0 -11
  154. package/packages/config-markdownlint/node_modules/markdownlint/lib/parse-configuration.mjs +0 -47
  155. package/packages/config-markdownlint/node_modules/markdownlint/lib/resolve-module.cjs +0 -53
  156. package/packages/config-markdownlint/node_modules/markdownlint/lib/resolve-module.d.cts +0 -39
  157. package/packages/config-markdownlint/node_modules/markdownlint/lib/rules.mjs +0 -122
  158. package/packages/config-markdownlint/node_modules/markdownlint/lib/types.d.mts +0 -13
  159. package/packages/config-markdownlint/node_modules/markdownlint/package.json +0 -119
  160. package/packages/config-markdownlint/node_modules/markdownlint/schema/.markdownlint.jsonc +0 -349
  161. package/packages/config-markdownlint/node_modules/markdownlint/schema/.markdownlint.yaml +0 -310
  162. package/packages/config-markdownlint/node_modules/markdownlint/schema/ValidatingConfiguration.md +0 -26
  163. package/packages/config-markdownlint/node_modules/markdownlint/schema/markdownlint-config-schema-strict.json +0 -5146
  164. package/packages/config-markdownlint/node_modules/markdownlint/schema/markdownlint-config-schema.json +0 -5151
  165. package/packages/config-markdownlint/node_modules/markdownlint/style/all.json +0 -5
  166. package/packages/config-markdownlint/node_modules/markdownlint/style/cirosantilli.json +0 -22
  167. package/packages/config-markdownlint/node_modules/markdownlint/style/prettier.json +0 -27
  168. package/packages/config-markdownlint/node_modules/markdownlint/style/relaxed.json +0 -12
  169. package/packages/config-markdownlint/node_modules/micromark/dev/index.d.ts +0 -82
  170. package/packages/config-markdownlint/node_modules/micromark/dev/index.d.ts.map +0 -1
  171. package/packages/config-markdownlint/node_modules/micromark/dev/index.js +0 -68
  172. package/packages/config-markdownlint/node_modules/micromark/dev/lib/compile.d.ts +0 -16
  173. package/packages/config-markdownlint/node_modules/micromark/dev/lib/compile.d.ts.map +0 -1
  174. package/packages/config-markdownlint/node_modules/micromark/dev/lib/compile.js +0 -1162
  175. package/packages/config-markdownlint/node_modules/micromark/dev/lib/constructs.d.ts +0 -73
  176. package/packages/config-markdownlint/node_modules/micromark/dev/lib/constructs.d.ts.map +0 -1
  177. package/packages/config-markdownlint/node_modules/micromark/dev/lib/constructs.js +0 -101
  178. package/packages/config-markdownlint/node_modules/micromark/dev/lib/create-tokenizer.d.ts +0 -46
  179. package/packages/config-markdownlint/node_modules/micromark/dev/lib/create-tokenizer.d.ts.map +0 -1
  180. package/packages/config-markdownlint/node_modules/micromark/dev/lib/create-tokenizer.js +0 -718
  181. package/packages/config-markdownlint/node_modules/micromark/dev/lib/initialize/content.d.ts +0 -4
  182. package/packages/config-markdownlint/node_modules/micromark/dev/lib/initialize/content.d.ts.map +0 -1
  183. package/packages/config-markdownlint/node_modules/micromark/dev/lib/initialize/content.js +0 -99
  184. package/packages/config-markdownlint/node_modules/micromark/dev/lib/initialize/document.d.ts +0 -10
  185. package/packages/config-markdownlint/node_modules/micromark/dev/lib/initialize/document.d.ts.map +0 -1
  186. package/packages/config-markdownlint/node_modules/micromark/dev/lib/initialize/document.js +0 -449
  187. package/packages/config-markdownlint/node_modules/micromark/dev/lib/initialize/flow.d.ts +0 -4
  188. package/packages/config-markdownlint/node_modules/micromark/dev/lib/initialize/flow.d.ts.map +0 -1
  189. package/packages/config-markdownlint/node_modules/micromark/dev/lib/initialize/flow.js +0 -86
  190. package/packages/config-markdownlint/node_modules/micromark/dev/lib/initialize/text.d.ts +0 -8
  191. package/packages/config-markdownlint/node_modules/micromark/dev/lib/initialize/text.d.ts.map +0 -1
  192. package/packages/config-markdownlint/node_modules/micromark/dev/lib/initialize/text.js +0 -248
  193. package/packages/config-markdownlint/node_modules/micromark/dev/lib/parse.d.ts +0 -10
  194. package/packages/config-markdownlint/node_modules/micromark/dev/lib/parse.d.ts.map +0 -1
  195. package/packages/config-markdownlint/node_modules/micromark/dev/lib/parse.js +0 -58
  196. package/packages/config-markdownlint/node_modules/micromark/dev/lib/postprocess.d.ts +0 -9
  197. package/packages/config-markdownlint/node_modules/micromark/dev/lib/postprocess.d.ts.map +0 -1
  198. package/packages/config-markdownlint/node_modules/micromark/dev/lib/postprocess.js +0 -19
  199. package/packages/config-markdownlint/node_modules/micromark/dev/lib/preprocess.d.ts +0 -13
  200. package/packages/config-markdownlint/node_modules/micromark/dev/lib/preprocess.d.ts.map +0 -1
  201. package/packages/config-markdownlint/node_modules/micromark/dev/lib/preprocess.js +0 -139
  202. package/packages/config-markdownlint/node_modules/micromark/dev/stream.d.ts +0 -35
  203. package/packages/config-markdownlint/node_modules/micromark/dev/stream.d.ts.map +0 -1
  204. package/packages/config-markdownlint/node_modules/micromark/dev/stream.js +0 -270
  205. package/packages/config-markdownlint/node_modules/micromark/index.d.ts +0 -82
  206. package/packages/config-markdownlint/node_modules/micromark/index.d.ts.map +0 -1
  207. package/packages/config-markdownlint/node_modules/micromark/index.js +0 -60
  208. package/packages/config-markdownlint/node_modules/micromark/lib/compile.d.ts +0 -16
  209. package/packages/config-markdownlint/node_modules/micromark/lib/compile.d.ts.map +0 -1
  210. package/packages/config-markdownlint/node_modules/micromark/lib/compile.js +0 -1068
  211. package/packages/config-markdownlint/node_modules/micromark/lib/constructs.d.ts +0 -73
  212. package/packages/config-markdownlint/node_modules/micromark/lib/constructs.d.ts.map +0 -1
  213. package/packages/config-markdownlint/node_modules/micromark/lib/constructs.js +0 -85
  214. package/packages/config-markdownlint/node_modules/micromark/lib/create-tokenizer.d.ts +0 -46
  215. package/packages/config-markdownlint/node_modules/micromark/lib/create-tokenizer.d.ts.map +0 -1
  216. package/packages/config-markdownlint/node_modules/micromark/lib/create-tokenizer.js +0 -613
  217. package/packages/config-markdownlint/node_modules/micromark/lib/initialize/content.d.ts +0 -4
  218. package/packages/config-markdownlint/node_modules/micromark/lib/initialize/content.d.ts.map +0 -1
  219. package/packages/config-markdownlint/node_modules/micromark/lib/initialize/content.js +0 -79
  220. package/packages/config-markdownlint/node_modules/micromark/lib/initialize/document.d.ts +0 -10
  221. package/packages/config-markdownlint/node_modules/micromark/lib/initialize/document.d.ts.map +0 -1
  222. package/packages/config-markdownlint/node_modules/micromark/lib/initialize/document.js +0 -370
  223. package/packages/config-markdownlint/node_modules/micromark/lib/initialize/flow.d.ts +0 -4
  224. package/packages/config-markdownlint/node_modules/micromark/lib/initialize/flow.d.ts.map +0 -1
  225. package/packages/config-markdownlint/node_modules/micromark/lib/initialize/flow.js +0 -58
  226. package/packages/config-markdownlint/node_modules/micromark/lib/initialize/text.d.ts +0 -8
  227. package/packages/config-markdownlint/node_modules/micromark/lib/initialize/text.d.ts.map +0 -1
  228. package/packages/config-markdownlint/node_modules/micromark/lib/initialize/text.js +0 -216
  229. package/packages/config-markdownlint/node_modules/micromark/lib/parse.d.ts +0 -10
  230. package/packages/config-markdownlint/node_modules/micromark/lib/parse.d.ts.map +0 -1
  231. package/packages/config-markdownlint/node_modules/micromark/lib/parse.js +0 -56
  232. package/packages/config-markdownlint/node_modules/micromark/lib/postprocess.d.ts +0 -9
  233. package/packages/config-markdownlint/node_modules/micromark/lib/postprocess.d.ts.map +0 -1
  234. package/packages/config-markdownlint/node_modules/micromark/lib/postprocess.js +0 -18
  235. package/packages/config-markdownlint/node_modules/micromark/lib/preprocess.d.ts +0 -13
  236. package/packages/config-markdownlint/node_modules/micromark/lib/preprocess.d.ts.map +0 -1
  237. package/packages/config-markdownlint/node_modules/micromark/lib/preprocess.js +0 -112
  238. package/packages/config-markdownlint/node_modules/micromark/license +0 -22
  239. package/packages/config-markdownlint/node_modules/micromark/package.json +0 -87
  240. package/packages/config-markdownlint/node_modules/micromark/readme.md +0 -488
  241. package/packages/config-markdownlint/node_modules/micromark/stream.d.ts +0 -35
  242. package/packages/config-markdownlint/node_modules/micromark/stream.d.ts.map +0 -1
  243. package/packages/config-markdownlint/node_modules/micromark/stream.js +0 -256
  244. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/index.d.ts +0 -23
  245. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/index.d.ts.map +0 -1
  246. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/index.js +0 -22
  247. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/attention.d.ts +0 -4
  248. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/attention.d.ts.map +0 -1
  249. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/attention.js +0 -294
  250. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/autolink.d.ts +0 -4
  251. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/autolink.d.ts.map +0 -1
  252. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/autolink.js +0 -269
  253. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/blank-line.d.ts +0 -4
  254. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/blank-line.d.ts.map +0 -1
  255. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/blank-line.js +0 -62
  256. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/block-quote.d.ts +0 -4
  257. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/block-quote.d.ts.map +0 -1
  258. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/block-quote.js +0 -162
  259. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/character-escape.d.ts +0 -4
  260. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/character-escape.d.ts.map +0 -1
  261. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/character-escape.js +0 -69
  262. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/character-reference.d.ts +0 -4
  263. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/character-reference.d.ts.map +0 -1
  264. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/character-reference.js +0 -166
  265. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/code-fenced.d.ts +0 -4
  266. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/code-fenced.d.ts.map +0 -1
  267. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/code-fenced.js +0 -472
  268. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/code-indented.d.ts +0 -4
  269. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/code-indented.d.ts.map +0 -1
  270. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/code-indented.js +0 -178
  271. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/code-text.d.ts +0 -4
  272. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/code-text.d.ts.map +0 -1
  273. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/code-text.js +0 -257
  274. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/content.d.ts +0 -7
  275. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/content.d.ts.map +0 -1
  276. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/content.js +0 -185
  277. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/definition.d.ts +0 -4
  278. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/definition.d.ts.map +0 -1
  279. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/definition.js +0 -295
  280. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/hard-break-escape.d.ts +0 -4
  281. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/hard-break-escape.d.ts.map +0 -1
  282. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/hard-break-escape.js +0 -65
  283. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/heading-atx.d.ts +0 -4
  284. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/heading-atx.d.ts.map +0 -1
  285. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/heading-atx.js +0 -229
  286. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/html-flow.d.ts +0 -4
  287. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/html-flow.d.ts.map +0 -1
  288. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/html-flow.js +0 -938
  289. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/html-text.d.ts +0 -4
  290. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/html-text.d.ts.map +0 -1
  291. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/html-text.js +0 -783
  292. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/label-end.d.ts +0 -4
  293. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/label-end.d.ts.map +0 -1
  294. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/label-end.js +0 -658
  295. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/label-start-image.d.ts +0 -4
  296. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/label-start-image.d.ts.map +0 -1
  297. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/label-start-image.js +0 -119
  298. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/label-start-link.d.ts +0 -4
  299. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/label-start-link.d.ts.map +0 -1
  300. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/label-start-link.js +0 -71
  301. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/line-ending.d.ts +0 -4
  302. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/line-ending.d.ts.map +0 -1
  303. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/line-ending.js +0 -34
  304. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/list.d.ts +0 -4
  305. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/list.d.ts.map +0 -1
  306. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/list.js +0 -306
  307. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/partial-non-lazy-continuation.d.ts +0 -4
  308. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/partial-non-lazy-continuation.d.ts.map +0 -1
  309. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/partial-non-lazy-continuation.js +0 -67
  310. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/setext-underline.d.ts +0 -4
  311. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/setext-underline.d.ts.map +0 -1
  312. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/setext-underline.js +0 -213
  313. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/thematic-break.d.ts +0 -4
  314. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/thematic-break.d.ts.map +0 -1
  315. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/thematic-break.js +0 -120
  316. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/index.d.ts +0 -23
  317. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/index.d.ts.map +0 -1
  318. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/index.js +0 -22
  319. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/attention.d.ts +0 -4
  320. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/attention.d.ts.map +0 -1
  321. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/attention.js +0 -231
  322. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/autolink.d.ts +0 -4
  323. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/autolink.d.ts.map +0 -1
  324. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/autolink.js +0 -233
  325. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/blank-line.d.ts +0 -4
  326. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/blank-line.d.ts.map +0 -1
  327. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/blank-line.js +0 -61
  328. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/block-quote.d.ts +0 -4
  329. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/block-quote.d.ts.map +0 -1
  330. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/block-quote.js +0 -143
  331. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/character-escape.d.ts +0 -4
  332. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/character-escape.d.ts.map +0 -1
  333. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/character-escape.js +0 -64
  334. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/character-reference.d.ts +0 -4
  335. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/character-reference.d.ts.map +0 -1
  336. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/character-reference.js +0 -149
  337. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/code-fenced.d.ts +0 -4
  338. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/code-fenced.d.ts.map +0 -1
  339. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/code-fenced.js +0 -422
  340. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/code-indented.d.ts +0 -4
  341. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/code-indented.d.ts.map +0 -1
  342. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/code-indented.js +0 -159
  343. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/code-text.d.ts +0 -4
  344. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/code-text.d.ts.map +0 -1
  345. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/code-text.js +0 -225
  346. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/content.d.ts +0 -7
  347. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/content.d.ts.map +0 -1
  348. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/content.js +0 -163
  349. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/definition.d.ts +0 -4
  350. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/definition.d.ts.map +0 -1
  351. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/definition.js +0 -254
  352. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/hard-break-escape.d.ts +0 -4
  353. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/hard-break-escape.d.ts.map +0 -1
  354. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/hard-break-escape.js +0 -60
  355. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/heading-atx.d.ts +0 -4
  356. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/heading-atx.d.ts.map +0 -1
  357. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/heading-atx.js +0 -191
  358. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/html-flow.d.ts +0 -4
  359. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/html-flow.d.ts.map +0 -1
  360. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/html-flow.js +0 -827
  361. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/html-text.d.ts +0 -4
  362. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/html-text.d.ts.map +0 -1
  363. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/html-text.js +0 -678
  364. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/label-end.d.ts +0 -4
  365. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/label-end.d.ts.map +0 -1
  366. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/label-end.js +0 -561
  367. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/label-start-image.d.ts +0 -4
  368. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/label-start-image.d.ts.map +0 -1
  369. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/label-start-image.js +0 -110
  370. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/label-start-link.d.ts +0 -4
  371. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/label-start-link.d.ts.map +0 -1
  372. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/label-start-link.js +0 -63
  373. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/line-ending.d.ts +0 -4
  374. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/line-ending.d.ts.map +0 -1
  375. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/line-ending.js +0 -33
  376. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/list.d.ts +0 -4
  377. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/list.d.ts.map +0 -1
  378. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/list.js +0 -213
  379. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/partial-non-lazy-continuation.d.ts +0 -4
  380. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/partial-non-lazy-continuation.d.ts.map +0 -1
  381. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/partial-non-lazy-continuation.js +0 -61
  382. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/setext-underline.d.ts +0 -4
  383. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/setext-underline.d.ts.map +0 -1
  384. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/setext-underline.js +0 -187
  385. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/thematic-break.d.ts +0 -4
  386. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/thematic-break.d.ts.map +0 -1
  387. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/thematic-break.js +0 -102
  388. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/license +0 -22
  389. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/package.json +0 -62
  390. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/readme.md +0 -171
  391. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/dev/index.d.ts +0 -55
  392. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/dev/index.js +0 -2
  393. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/dev/lib/edit-map.d.ts +0 -51
  394. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/dev/lib/edit-map.d.ts.map +0 -1
  395. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/dev/lib/edit-map.js +0 -231
  396. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/dev/lib/html.d.ts +0 -11
  397. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/dev/lib/html.d.ts.map +0 -1
  398. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/dev/lib/html.js +0 -153
  399. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/dev/lib/infer.d.ts +0 -14
  400. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/dev/lib/infer.d.ts.map +0 -1
  401. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/dev/lib/infer.js +0 -64
  402. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/dev/lib/syntax.d.ts +0 -18
  403. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/dev/lib/syntax.d.ts.map +0 -1
  404. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/dev/lib/syntax.js +0 -964
  405. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/index.d.ts +0 -55
  406. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/index.js +0 -2
  407. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/lib/edit-map.d.ts +0 -51
  408. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/lib/edit-map.d.ts.map +0 -1
  409. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/lib/edit-map.js +0 -222
  410. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/lib/html.d.ts +0 -11
  411. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/lib/html.d.ts.map +0 -1
  412. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/lib/html.js +0 -135
  413. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/lib/infer.d.ts +0 -14
  414. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/lib/infer.d.ts.map +0 -1
  415. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/lib/infer.js +0 -52
  416. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/lib/syntax.d.ts +0 -18
  417. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/lib/syntax.d.ts.map +0 -1
  418. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/lib/syntax.js +0 -846
  419. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/license +0 -22
  420. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/package.json +0 -86
  421. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/readme.md +0 -515
  422. package/packages/config-markdownlint/node_modules/micromark-util-types/index.d.ts +0 -1315
  423. package/packages/config-markdownlint/node_modules/micromark-util-types/index.js +0 -2
  424. package/packages/config-markdownlint/node_modules/micromark-util-types/license +0 -22
  425. package/packages/config-markdownlint/node_modules/micromark-util-types/package.json +0 -37
  426. package/packages/config-markdownlint/node_modules/micromark-util-types/readme.md +0 -151
  427. package/packages/config-markdownlint/node_modules/string-width/index.d.ts +0 -39
  428. package/packages/config-markdownlint/node_modules/string-width/index.js +0 -203
  429. package/packages/config-markdownlint/node_modules/string-width/license +0 -9
  430. package/packages/config-markdownlint/node_modules/string-width/package.json +0 -65
  431. package/packages/config-markdownlint/node_modules/string-width/readme.md +0 -66
  432. package/packages/config-markdownlint/node_modules/strip-ansi/index.d.ts +0 -15
  433. package/packages/config-markdownlint/node_modules/strip-ansi/index.js +0 -19
  434. package/packages/config-markdownlint/node_modules/strip-ansi/license +0 -9
  435. package/packages/config-markdownlint/node_modules/strip-ansi/package.json +0 -59
  436. package/packages/config-markdownlint/node_modules/strip-ansi/readme.md +0 -37
@@ -1,1162 +0,0 @@
1
- /**
2
- * While micromark is a lexer/tokenizer, the common case of going from markdown
3
- * to html is currently built in as this module, even though the parts can be
4
- * used separately to build ASTs, CSTs, or many other output formats.
5
- *
6
- * Having an HTML compiler built in is useful because it allows us to check for
7
- * compliancy to CommonMark, the de facto norm of markdown, specified in roughly
8
- * 600 input/output cases.
9
- *
10
- * This module has an interface that accepts lists of events instead of the
11
- * whole at once, however, because markdown can’t be truly streaming, we buffer
12
- * events before processing and outputting the final result.
13
- */
14
-
15
- /**
16
- * @import {
17
- * CompileContext,
18
- * CompileData,
19
- * CompileOptions,
20
- * Compile,
21
- * Definition,
22
- * Event,
23
- * Handle,
24
- * HtmlExtension,
25
- * LineEnding,
26
- * NormalizedHtmlExtension,
27
- * Token
28
- * } from 'micromark-util-types'
29
- */
30
-
31
- /**
32
- * @typedef Media
33
- * @property {boolean | undefined} [image]
34
- * @property {string | undefined} [labelId]
35
- * @property {string | undefined} [label]
36
- * @property {string | undefined} [referenceId]
37
- * @property {string | undefined} [destination]
38
- * @property {string | undefined} [title]
39
- */
40
-
41
- import {decodeNamedCharacterReference} from 'decode-named-character-reference'
42
- import {ok as assert} from 'devlop'
43
- import {push} from 'micromark-util-chunked'
44
- import {combineHtmlExtensions} from 'micromark-util-combine-extensions'
45
- import {decodeNumericCharacterReference} from 'micromark-util-decode-numeric-character-reference'
46
- import {encode as _encode} from 'micromark-util-encode'
47
- import {normalizeIdentifier} from 'micromark-util-normalize-identifier'
48
- import {sanitizeUri} from 'micromark-util-sanitize-uri'
49
- import {codes, constants, types} from 'micromark-util-symbol'
50
-
51
- const hasOwnProperty = {}.hasOwnProperty
52
-
53
- /**
54
- * These two are allowlists of safe protocols for full URLs in respectively the
55
- * `href` (on `<a>`) and `src` (on `<img>`) attributes.
56
- * They are based on what is allowed on GitHub,
57
- * <https://github.com/syntax-tree/hast-util-sanitize/blob/9275b21/lib/github.json#L31>
58
- */
59
- const protocolHref = /^(https?|ircs?|mailto|xmpp)$/i
60
- const protocolSource = /^https?$/i
61
-
62
- /**
63
- * @param {CompileOptions | null | undefined} [options]
64
- * @returns {Compile}
65
- */
66
- export function compile(options) {
67
- const settings = options || {}
68
-
69
- /**
70
- * Tags is needed because according to markdown, links and emphasis and
71
- * whatnot can exist in images, however, as HTML doesn’t allow content in
72
- * images, the tags are ignored in the `alt` attribute, but the content
73
- * remains.
74
- *
75
- * @type {boolean | undefined}
76
- */
77
- let tags = true
78
-
79
- /**
80
- * An object to track identifiers to media (URLs and titles) defined with
81
- * definitions.
82
- *
83
- * @type {Record<string, Definition>}
84
- */
85
- const definitions = {}
86
-
87
- /**
88
- * A lot of the handlers need to capture some of the output data, modify it
89
- * somehow, and then deal with it.
90
- * We do that by tracking a stack of buffers, that can be opened (with
91
- * `buffer`) and closed (with `resume`) to access them.
92
- *
93
- * @type {Array<Array<string>>}
94
- */
95
- const buffers = [[]]
96
-
97
- /**
98
- * As we can have links in images and the other way around, where the deepest
99
- * ones are closed first, we need to track which one we’re in.
100
- *
101
- * @type {Array<Media>}
102
- */
103
- const mediaStack = []
104
-
105
- /**
106
- * Same as `mediaStack` for tightness, which is specific to lists.
107
- * We need to track if we’re currently in a tight or loose container.
108
- *
109
- * @type {Array<boolean>}
110
- */
111
- const tightStack = []
112
-
113
- /** @type {HtmlExtension} */
114
- const defaultHandlers = {
115
- enter: {
116
- blockQuote: onenterblockquote,
117
- codeFenced: onentercodefenced,
118
- codeFencedFenceInfo: buffer,
119
- codeFencedFenceMeta: buffer,
120
- codeIndented: onentercodeindented,
121
- codeText: onentercodetext,
122
- content: onentercontent,
123
- definition: onenterdefinition,
124
- definitionDestinationString: onenterdefinitiondestinationstring,
125
- definitionLabelString: buffer,
126
- definitionTitleString: buffer,
127
- emphasis: onenteremphasis,
128
- htmlFlow: onenterhtmlflow,
129
- htmlText: onenterhtml,
130
- image: onenterimage,
131
- label: buffer,
132
- link: onenterlink,
133
- listItemMarker: onenterlistitemmarker,
134
- listItemValue: onenterlistitemvalue,
135
- listOrdered: onenterlistordered,
136
- listUnordered: onenterlistunordered,
137
- paragraph: onenterparagraph,
138
- reference: buffer,
139
- resource: onenterresource,
140
- resourceDestinationString: onenterresourcedestinationstring,
141
- resourceTitleString: buffer,
142
- setextHeading: onentersetextheading,
143
- strong: onenterstrong
144
- },
145
- exit: {
146
- atxHeading: onexitatxheading,
147
- atxHeadingSequence: onexitatxheadingsequence,
148
- autolinkEmail: onexitautolinkemail,
149
- autolinkProtocol: onexitautolinkprotocol,
150
- blockQuote: onexitblockquote,
151
- characterEscapeValue: onexitdata,
152
- characterReferenceMarkerHexadecimal: onexitcharacterreferencemarker,
153
- characterReferenceMarkerNumeric: onexitcharacterreferencemarker,
154
- characterReferenceValue: onexitcharacterreferencevalue,
155
- codeFenced: onexitflowcode,
156
- codeFencedFence: onexitcodefencedfence,
157
- codeFencedFenceInfo: onexitcodefencedfenceinfo,
158
- codeFencedFenceMeta: onresumedrop,
159
- codeFlowValue: onexitcodeflowvalue,
160
- codeIndented: onexitflowcode,
161
- codeText: onexitcodetext,
162
- codeTextData: onexitdata,
163
- data: onexitdata,
164
- definition: onexitdefinition,
165
- definitionDestinationString: onexitdefinitiondestinationstring,
166
- definitionLabelString: onexitdefinitionlabelstring,
167
- definitionTitleString: onexitdefinitiontitlestring,
168
- emphasis: onexitemphasis,
169
- hardBreakEscape: onexithardbreak,
170
- hardBreakTrailing: onexithardbreak,
171
- htmlFlow: onexithtml,
172
- htmlFlowData: onexitdata,
173
- htmlText: onexithtml,
174
- htmlTextData: onexitdata,
175
- image: onexitmedia,
176
- label: onexitlabel,
177
- labelText: onexitlabeltext,
178
- lineEnding: onexitlineending,
179
- link: onexitmedia,
180
- listOrdered: onexitlistordered,
181
- listUnordered: onexitlistunordered,
182
- paragraph: onexitparagraph,
183
- reference: onresumedrop,
184
- referenceString: onexitreferencestring,
185
- resource: onresumedrop,
186
- resourceDestinationString: onexitresourcedestinationstring,
187
- resourceTitleString: onexitresourcetitlestring,
188
- setextHeading: onexitsetextheading,
189
- setextHeadingLineSequence: onexitsetextheadinglinesequence,
190
- setextHeadingText: onexitsetextheadingtext,
191
- strong: onexitstrong,
192
- thematicBreak: onexitthematicbreak
193
- }
194
- }
195
-
196
- /**
197
- * Combine the HTML extensions with the default handlers.
198
- * An HTML extension is an object whose fields are either `enter` or `exit`
199
- * (reflecting whether a token is entered or exited).
200
- * The values at such objects are names of tokens mapping to handlers.
201
- * Handlers are called, respectively when a token is opener or closed, with
202
- * that token, and a context as `this`.
203
- */
204
- const handlers = /** @type {NormalizedHtmlExtension} */ (
205
- combineHtmlExtensions([defaultHandlers, ...(settings.htmlExtensions || [])])
206
- )
207
-
208
- /**
209
- * Handlers do often need to keep track of some state.
210
- * That state is provided here as a key-value store (an object).
211
- *
212
- * @type {CompileData}
213
- */
214
- const data = {
215
- definitions,
216
- tightStack
217
- }
218
-
219
- /**
220
- * The context for handlers references a couple of useful functions.
221
- * In handlers from extensions, those can be accessed at `this`.
222
- * For the handlers here, they can be accessed directly.
223
- *
224
- * @type {Omit<CompileContext, 'sliceSerialize'>}
225
- */
226
- const context = {
227
- buffer,
228
- encode,
229
- getData,
230
- lineEndingIfNeeded,
231
- options: settings,
232
- raw,
233
- resume,
234
- setData,
235
- tag
236
- }
237
-
238
- /**
239
- * Generally, micromark copies line endings (`'\r'`, `'\n'`, `'\r\n'`) in the
240
- * markdown document over to the compiled HTML.
241
- * In some cases, such as `> a`, CommonMark requires that extra line endings
242
- * are added: `<blockquote>\n<p>a</p>\n</blockquote>`.
243
- * This variable hold the default line ending when given (or `undefined`),
244
- * and in the latter case will be updated to the first found line ending if
245
- * there is one.
246
- */
247
- let lineEndingStyle = settings.defaultLineEnding
248
-
249
- // Return the function that handles a slice of events.
250
- return compile
251
-
252
- /**
253
- * Deal w/ a slice of events.
254
- * Return either the empty string if there’s nothing of note to return, or the
255
- * result when done.
256
- *
257
- * @param {ReadonlyArray<Event>} events
258
- * @returns {string}
259
- */
260
- function compile(events) {
261
- let index = -1
262
- let start = 0
263
- /** @type {Array<number>} */
264
- const listStack = []
265
- // As definitions can come after references, we need to figure out the media
266
- // (urls and titles) defined by them before handling the references.
267
- // So, we do sort of what HTML does: put metadata at the start (in head), and
268
- // then put content after (`body`).
269
- /** @type {Array<Event>} */
270
- let head = []
271
- /** @type {Array<Event>} */
272
- let body = []
273
-
274
- while (++index < events.length) {
275
- // Figure out the line ending style used in the document.
276
- if (
277
- !lineEndingStyle &&
278
- (events[index][1].type === types.lineEnding ||
279
- events[index][1].type === types.lineEndingBlank)
280
- ) {
281
- lineEndingStyle = /** @type {LineEnding} */ (
282
- events[index][2].sliceSerialize(events[index][1])
283
- )
284
- }
285
-
286
- // Preprocess lists to infer whether the list is loose or not.
287
- if (
288
- events[index][1].type === types.listOrdered ||
289
- events[index][1].type === types.listUnordered
290
- ) {
291
- if (events[index][0] === 'enter') {
292
- listStack.push(index)
293
- } else {
294
- prepareList(events.slice(listStack.pop(), index))
295
- }
296
- }
297
-
298
- // Move definitions to the front.
299
- if (events[index][1].type === types.definition) {
300
- if (events[index][0] === 'enter') {
301
- body = push(body, events.slice(start, index))
302
- start = index
303
- } else {
304
- head = push(head, events.slice(start, index + 1))
305
- start = index + 1
306
- }
307
- }
308
- }
309
-
310
- head = push(head, body)
311
- head = push(head, events.slice(start))
312
- index = -1
313
- const result = head
314
-
315
- // Handle the start of the document, if defined.
316
- if (handlers.enter.null) {
317
- handlers.enter.null.call(context)
318
- }
319
-
320
- // Handle all events.
321
- while (++index < events.length) {
322
- const handles = handlers[result[index][0]]
323
- const kind = result[index][1].type
324
- const handle = handles[kind]
325
-
326
- if (hasOwnProperty.call(handles, kind) && handle) {
327
- handle.call(
328
- {sliceSerialize: result[index][2].sliceSerialize, ...context},
329
- result[index][1]
330
- )
331
- }
332
- }
333
-
334
- // Handle the end of the document, if defined.
335
- if (handlers.exit.null) {
336
- handlers.exit.null.call(context)
337
- }
338
-
339
- return buffers[0].join('')
340
- }
341
-
342
- /**
343
- * Figure out whether lists are loose or not.
344
- *
345
- * @param {ReadonlyArray<Event>} slice
346
- * @returns {undefined}
347
- */
348
- function prepareList(slice) {
349
- const length = slice.length
350
- let index = 0 // Skip open.
351
- let containerBalance = 0
352
- let loose = false
353
- /** @type {boolean | undefined} */
354
- let atMarker
355
-
356
- while (++index < length) {
357
- const event = slice[index]
358
-
359
- if (event[1]._container) {
360
- atMarker = undefined
361
-
362
- if (event[0] === 'enter') {
363
- containerBalance++
364
- } else {
365
- containerBalance--
366
- }
367
- } else {
368
- switch (event[1].type) {
369
- case types.listItemPrefix: {
370
- if (event[0] === 'exit') {
371
- atMarker = true
372
- }
373
-
374
- break
375
- }
376
-
377
- case types.linePrefix: {
378
- // Ignore
379
-
380
- break
381
- }
382
-
383
- case types.lineEndingBlank: {
384
- if (event[0] === 'enter' && !containerBalance) {
385
- if (atMarker) {
386
- atMarker = undefined
387
- } else {
388
- loose = true
389
- }
390
- }
391
-
392
- break
393
- }
394
-
395
- default: {
396
- atMarker = undefined
397
- }
398
- }
399
- }
400
- }
401
-
402
- slice[0][1]._loose = loose
403
- }
404
-
405
- /**
406
- * @type {CompileContext['setData']}
407
- */
408
- function setData(key, value) {
409
- // @ts-expect-error: assume `value` is omitted (`undefined` is passed) only
410
- // if allowed.
411
- data[key] = value
412
- }
413
-
414
- /**
415
- * @type {CompileContext['getData']}
416
- */
417
- function getData(key) {
418
- return data[key]
419
- }
420
-
421
- /** @type {CompileContext['buffer']} */
422
- function buffer() {
423
- buffers.push([])
424
- }
425
-
426
- /** @type {CompileContext['resume']} */
427
- function resume() {
428
- const buf = buffers.pop()
429
- assert(buf !== undefined, 'Cannot resume w/o buffer')
430
- return buf.join('')
431
- }
432
-
433
- /** @type {CompileContext['tag']} */
434
- function tag(value) {
435
- if (!tags) {
436
- return
437
- }
438
-
439
- setData('lastWasTag', true)
440
- buffers[buffers.length - 1].push(value)
441
- }
442
-
443
- /** @type {CompileContext['raw']} */
444
- function raw(value) {
445
- setData('lastWasTag')
446
- buffers[buffers.length - 1].push(value)
447
- }
448
-
449
- /**
450
- * Output an extra line ending.
451
- *
452
- * @returns {undefined}
453
- */
454
- function lineEnding() {
455
- raw(lineEndingStyle || '\n')
456
- }
457
-
458
- /** @type {CompileContext['lineEndingIfNeeded']} */
459
- function lineEndingIfNeeded() {
460
- const buffer = buffers[buffers.length - 1]
461
- const slice = buffer[buffer.length - 1]
462
- const previous = slice ? slice.charCodeAt(slice.length - 1) : codes.eof
463
-
464
- if (
465
- previous === codes.lf ||
466
- previous === codes.cr ||
467
- previous === codes.eof
468
- ) {
469
- return
470
- }
471
-
472
- lineEnding()
473
- }
474
-
475
- /** @type {CompileContext['encode']} */
476
- function encode(value) {
477
- return getData('ignoreEncode') ? value : _encode(value)
478
- }
479
-
480
- //
481
- // Handlers.
482
- //
483
-
484
- /**
485
- * @returns {undefined}
486
- */
487
- function onresumedrop() {
488
- resume()
489
- }
490
-
491
- /**
492
- * @this {CompileContext}
493
- * @type {Handle}
494
- */
495
- function onenterlistordered(token) {
496
- tightStack.push(!token._loose)
497
- lineEndingIfNeeded()
498
- tag('<ol')
499
- setData('expectFirstItem', true)
500
- }
501
-
502
- /**
503
- * @this {CompileContext}
504
- * @type {Handle}
505
- */
506
- function onenterlistunordered(token) {
507
- tightStack.push(!token._loose)
508
- lineEndingIfNeeded()
509
- tag('<ul')
510
- setData('expectFirstItem', true)
511
- }
512
-
513
- /**
514
- * @this {CompileContext}
515
- * @type {Handle}
516
- */
517
- function onenterlistitemvalue(token) {
518
- if (getData('expectFirstItem')) {
519
- const value = Number.parseInt(
520
- this.sliceSerialize(token),
521
- constants.numericBaseDecimal
522
- )
523
-
524
- if (value !== 1) {
525
- tag(' start="' + encode(String(value)) + '"')
526
- }
527
- }
528
- }
529
-
530
- /**
531
- * @returns {undefined}
532
- */
533
- function onenterlistitemmarker() {
534
- if (getData('expectFirstItem')) {
535
- tag('>')
536
- } else {
537
- onexitlistitem()
538
- }
539
-
540
- lineEndingIfNeeded()
541
- tag('<li>')
542
- setData('expectFirstItem')
543
- // “Hack” to prevent a line ending from showing up if the item is empty.
544
- setData('lastWasTag')
545
- }
546
-
547
- /**
548
- * @returns {undefined}
549
- */
550
- function onexitlistordered() {
551
- onexitlistitem()
552
- tightStack.pop()
553
- lineEnding()
554
- tag('</ol>')
555
- }
556
-
557
- /**
558
- * @returns {undefined}
559
- */
560
- function onexitlistunordered() {
561
- onexitlistitem()
562
- tightStack.pop()
563
- lineEnding()
564
- tag('</ul>')
565
- }
566
-
567
- /**
568
- * @returns {undefined}
569
- */
570
- function onexitlistitem() {
571
- if (getData('lastWasTag') && !getData('slurpAllLineEndings')) {
572
- lineEndingIfNeeded()
573
- }
574
-
575
- tag('</li>')
576
- setData('slurpAllLineEndings')
577
- }
578
-
579
- /**
580
- * @this {CompileContext}
581
- * @type {Handle}
582
- */
583
- function onenterblockquote() {
584
- tightStack.push(false)
585
- lineEndingIfNeeded()
586
- tag('<blockquote>')
587
- }
588
-
589
- /**
590
- * @this {CompileContext}
591
- * @type {Handle}
592
- */
593
- function onexitblockquote() {
594
- tightStack.pop()
595
- lineEndingIfNeeded()
596
- tag('</blockquote>')
597
- setData('slurpAllLineEndings')
598
- }
599
-
600
- /**
601
- * @this {CompileContext}
602
- * @type {Handle}
603
- */
604
- function onenterparagraph() {
605
- if (!tightStack[tightStack.length - 1]) {
606
- lineEndingIfNeeded()
607
- tag('<p>')
608
- }
609
-
610
- setData('slurpAllLineEndings')
611
- }
612
-
613
- /**
614
- * @this {CompileContext}
615
- * @type {Handle}
616
- */
617
- function onexitparagraph() {
618
- if (tightStack[tightStack.length - 1]) {
619
- setData('slurpAllLineEndings', true)
620
- } else {
621
- tag('</p>')
622
- }
623
- }
624
-
625
- /**
626
- * @this {CompileContext}
627
- * @type {Handle}
628
- */
629
- function onentercodefenced() {
630
- lineEndingIfNeeded()
631
- tag('<pre><code')
632
- setData('fencesCount', 0)
633
- }
634
-
635
- /**
636
- * @this {CompileContext}
637
- * @type {Handle}
638
- */
639
- function onexitcodefencedfenceinfo() {
640
- const value = resume()
641
- tag(' class="language-' + value + '"')
642
- }
643
-
644
- /**
645
- * @this {CompileContext}
646
- * @type {Handle}
647
- */
648
- function onexitcodefencedfence() {
649
- const count = getData('fencesCount') || 0
650
-
651
- if (!count) {
652
- tag('>')
653
- setData('slurpOneLineEnding', true)
654
- }
655
-
656
- setData('fencesCount', count + 1)
657
- }
658
-
659
- /**
660
- * @this {CompileContext}
661
- * @type {Handle}
662
- */
663
- function onentercodeindented() {
664
- lineEndingIfNeeded()
665
- tag('<pre><code>')
666
- }
667
-
668
- /**
669
- * @this {CompileContext}
670
- * @type {Handle}
671
- */
672
- function onexitflowcode() {
673
- const count = getData('fencesCount')
674
-
675
- // One special case is if we are inside a container, and the fenced code was
676
- // not closed (meaning it runs to the end).
677
- // In that case, the following line ending, is considered *outside* the
678
- // fenced code and block quote by micromark, but CM wants to treat that
679
- // ending as part of the code.
680
- if (
681
- count !== undefined &&
682
- count < 2 &&
683
- data.tightStack.length > 0 &&
684
- !getData('lastWasTag')
685
- ) {
686
- lineEnding()
687
- }
688
-
689
- // But in most cases, it’s simpler: when we’ve seen some data, emit an extra
690
- // line ending when needed.
691
- if (getData('flowCodeSeenData')) {
692
- lineEndingIfNeeded()
693
- }
694
-
695
- tag('</code></pre>')
696
- if (count !== undefined && count < 2) {
697
- lineEndingIfNeeded()
698
- }
699
-
700
- setData('flowCodeSeenData')
701
- setData('fencesCount')
702
- setData('slurpOneLineEnding')
703
- }
704
-
705
- /**
706
- * @this {CompileContext}
707
- * @type {Handle}
708
- */
709
- function onenterimage() {
710
- mediaStack.push({image: true})
711
- tags = undefined // Disallow tags.
712
- }
713
-
714
- /**
715
- * @this {CompileContext}
716
- * @type {Handle}
717
- */
718
- function onenterlink() {
719
- mediaStack.push({})
720
- }
721
-
722
- /**
723
- * @this {CompileContext}
724
- * @type {Handle}
725
- */
726
- function onexitlabeltext(token) {
727
- mediaStack[mediaStack.length - 1].labelId = this.sliceSerialize(token)
728
- }
729
-
730
- /**
731
- * @this {CompileContext}
732
- * @type {Handle}
733
- */
734
- function onexitlabel() {
735
- mediaStack[mediaStack.length - 1].label = resume()
736
- }
737
-
738
- /**
739
- * @this {CompileContext}
740
- * @type {Handle}
741
- */
742
- function onexitreferencestring(token) {
743
- mediaStack[mediaStack.length - 1].referenceId = this.sliceSerialize(token)
744
- }
745
-
746
- /**
747
- * @this {CompileContext}
748
- * @type {Handle}
749
- */
750
- function onenterresource() {
751
- buffer() // We can have line endings in the resource, ignore them.
752
- mediaStack[mediaStack.length - 1].destination = ''
753
- }
754
-
755
- /**
756
- * @this {CompileContext}
757
- * @type {Handle}
758
- */
759
- function onenterresourcedestinationstring() {
760
- buffer()
761
- // Ignore encoding the result, as we’ll first percent encode the url and
762
- // encode manually after.
763
- setData('ignoreEncode', true)
764
- }
765
-
766
- /**
767
- * @this {CompileContext}
768
- * @type {Handle}
769
- */
770
- function onexitresourcedestinationstring() {
771
- mediaStack[mediaStack.length - 1].destination = resume()
772
- setData('ignoreEncode')
773
- }
774
-
775
- /**
776
- * @this {CompileContext}
777
- * @type {Handle}
778
- */
779
- function onexitresourcetitlestring() {
780
- mediaStack[mediaStack.length - 1].title = resume()
781
- }
782
-
783
- /**
784
- * @this {CompileContext}
785
- * @type {Handle}
786
- */
787
- function onexitmedia() {
788
- let index = mediaStack.length - 1 // Skip current.
789
- const media = mediaStack[index]
790
- const id = media.referenceId || media.labelId
791
- assert(id !== undefined, 'media should have `referenceId` or `labelId`')
792
- assert(media.label !== undefined, 'media should have `label`')
793
- const context =
794
- media.destination === undefined
795
- ? definitions[normalizeIdentifier(id)]
796
- : media
797
-
798
- tags = true
799
-
800
- while (index--) {
801
- if (mediaStack[index].image) {
802
- tags = undefined
803
- break
804
- }
805
- }
806
-
807
- if (media.image) {
808
- tag(
809
- '<img src="' +
810
- sanitizeUri(
811
- context.destination,
812
- settings.allowDangerousProtocol ? undefined : protocolSource
813
- ) +
814
- '" alt="'
815
- )
816
- raw(media.label)
817
- tag('"')
818
- } else {
819
- tag(
820
- '<a href="' +
821
- sanitizeUri(
822
- context.destination,
823
- settings.allowDangerousProtocol ? undefined : protocolHref
824
- ) +
825
- '"'
826
- )
827
- }
828
-
829
- tag(context.title ? ' title="' + context.title + '"' : '')
830
-
831
- if (media.image) {
832
- tag(' />')
833
- } else {
834
- tag('>')
835
- raw(media.label)
836
- tag('</a>')
837
- }
838
-
839
- mediaStack.pop()
840
- }
841
-
842
- /**
843
- * @this {CompileContext}
844
- * @type {Handle}
845
- */
846
- function onenterdefinition() {
847
- buffer()
848
- mediaStack.push({})
849
- }
850
-
851
- /**
852
- * @this {CompileContext}
853
- * @type {Handle}
854
- */
855
- function onexitdefinitionlabelstring(token) {
856
- // Discard label, use the source content instead.
857
- resume()
858
- mediaStack[mediaStack.length - 1].labelId = this.sliceSerialize(token)
859
- }
860
-
861
- /**
862
- * @this {CompileContext}
863
- * @type {Handle}
864
- */
865
- function onenterdefinitiondestinationstring() {
866
- buffer()
867
- setData('ignoreEncode', true)
868
- }
869
-
870
- /**
871
- * @this {CompileContext}
872
- * @type {Handle}
873
- */
874
- function onexitdefinitiondestinationstring() {
875
- mediaStack[mediaStack.length - 1].destination = resume()
876
- setData('ignoreEncode')
877
- }
878
-
879
- /**
880
- * @this {CompileContext}
881
- * @type {Handle}
882
- */
883
- function onexitdefinitiontitlestring() {
884
- mediaStack[mediaStack.length - 1].title = resume()
885
- }
886
-
887
- /**
888
- * @this {CompileContext}
889
- * @type {Handle}
890
- */
891
- function onexitdefinition() {
892
- const media = mediaStack[mediaStack.length - 1]
893
- assert(media.labelId !== undefined, 'media should have `labelId`')
894
- const id = normalizeIdentifier(media.labelId)
895
-
896
- resume()
897
-
898
- if (!hasOwnProperty.call(definitions, id)) {
899
- definitions[id] = mediaStack[mediaStack.length - 1]
900
- }
901
-
902
- mediaStack.pop()
903
- }
904
-
905
- /**
906
- * @this {CompileContext}
907
- * @type {Handle}
908
- */
909
- function onentercontent() {
910
- setData('slurpAllLineEndings', true)
911
- }
912
-
913
- /**
914
- * @this {CompileContext}
915
- * @type {Handle}
916
- */
917
- function onexitatxheadingsequence(token) {
918
- // Exit for further sequences.
919
- if (getData('headingRank')) {
920
- return
921
- }
922
-
923
- setData('headingRank', this.sliceSerialize(token).length)
924
- lineEndingIfNeeded()
925
- tag('<h' + getData('headingRank') + '>')
926
- }
927
-
928
- /**
929
- * @this {CompileContext}
930
- * @type {Handle}
931
- */
932
- function onentersetextheading() {
933
- buffer()
934
- setData('slurpAllLineEndings')
935
- }
936
-
937
- /**
938
- * @this {CompileContext}
939
- * @type {Handle}
940
- */
941
- function onexitsetextheadingtext() {
942
- setData('slurpAllLineEndings', true)
943
- }
944
-
945
- /**
946
- * @this {CompileContext}
947
- * @type {Handle}
948
- */
949
- function onexitatxheading() {
950
- tag('</h' + getData('headingRank') + '>')
951
- setData('headingRank')
952
- }
953
-
954
- /**
955
- * @this {CompileContext}
956
- * @type {Handle}
957
- */
958
- function onexitsetextheadinglinesequence(token) {
959
- setData(
960
- 'headingRank',
961
- this.sliceSerialize(token).charCodeAt(0) === codes.equalsTo ? 1 : 2
962
- )
963
- }
964
-
965
- /**
966
- * @this {CompileContext}
967
- * @type {Handle}
968
- */
969
- function onexitsetextheading() {
970
- const value = resume()
971
- lineEndingIfNeeded()
972
- tag('<h' + getData('headingRank') + '>')
973
- raw(value)
974
- tag('</h' + getData('headingRank') + '>')
975
- setData('slurpAllLineEndings')
976
- setData('headingRank')
977
- }
978
-
979
- /**
980
- * @this {CompileContext}
981
- * @type {Handle}
982
- */
983
- function onexitdata(token) {
984
- raw(encode(this.sliceSerialize(token)))
985
- }
986
-
987
- /**
988
- * @this {CompileContext}
989
- * @type {Handle}
990
- */
991
- function onexitlineending(token) {
992
- if (getData('slurpAllLineEndings')) {
993
- return
994
- }
995
-
996
- if (getData('slurpOneLineEnding')) {
997
- setData('slurpOneLineEnding')
998
- return
999
- }
1000
-
1001
- if (getData('inCodeText')) {
1002
- raw(' ')
1003
- return
1004
- }
1005
-
1006
- raw(encode(this.sliceSerialize(token)))
1007
- }
1008
-
1009
- /**
1010
- * @this {CompileContext}
1011
- * @type {Handle}
1012
- */
1013
- function onexitcodeflowvalue(token) {
1014
- raw(encode(this.sliceSerialize(token)))
1015
- setData('flowCodeSeenData', true)
1016
- }
1017
-
1018
- /**
1019
- * @this {CompileContext}
1020
- * @type {Handle}
1021
- */
1022
- function onexithardbreak() {
1023
- tag('<br />')
1024
- }
1025
-
1026
- /**
1027
- * @returns {undefined}
1028
- */
1029
- function onenterhtmlflow() {
1030
- lineEndingIfNeeded()
1031
- onenterhtml()
1032
- }
1033
-
1034
- /**
1035
- * @returns {undefined}
1036
- */
1037
- function onexithtml() {
1038
- setData('ignoreEncode')
1039
- }
1040
-
1041
- /**
1042
- * @returns {undefined}
1043
- */
1044
- function onenterhtml() {
1045
- if (settings.allowDangerousHtml) {
1046
- setData('ignoreEncode', true)
1047
- }
1048
- }
1049
-
1050
- /**
1051
- * @returns {undefined}
1052
- */
1053
- function onenteremphasis() {
1054
- tag('<em>')
1055
- }
1056
-
1057
- /**
1058
- * @returns {undefined}
1059
- */
1060
- function onenterstrong() {
1061
- tag('<strong>')
1062
- }
1063
-
1064
- /**
1065
- * @returns {undefined}
1066
- */
1067
- function onentercodetext() {
1068
- setData('inCodeText', true)
1069
- tag('<code>')
1070
- }
1071
-
1072
- /**
1073
- * @returns {undefined}
1074
- */
1075
- function onexitcodetext() {
1076
- setData('inCodeText')
1077
- tag('</code>')
1078
- }
1079
-
1080
- /**
1081
- * @returns {undefined}
1082
- */
1083
- function onexitemphasis() {
1084
- tag('</em>')
1085
- }
1086
-
1087
- /**
1088
- * @returns {undefined}
1089
- */
1090
- function onexitstrong() {
1091
- tag('</strong>')
1092
- }
1093
-
1094
- /**
1095
- * @returns {undefined}
1096
- */
1097
- function onexitthematicbreak() {
1098
- lineEndingIfNeeded()
1099
- tag('<hr />')
1100
- }
1101
-
1102
- /**
1103
- * @this {CompileContext}
1104
- * @param {Token} token
1105
- * @returns {undefined}
1106
- */
1107
- function onexitcharacterreferencemarker(token) {
1108
- setData('characterReferenceType', token.type)
1109
- }
1110
-
1111
- /**
1112
- * @this {CompileContext}
1113
- * @type {Handle}
1114
- */
1115
- function onexitcharacterreferencevalue(token) {
1116
- const value = this.sliceSerialize(token)
1117
- const decoded = getData('characterReferenceType')
1118
- ? decodeNumericCharacterReference(
1119
- value,
1120
- getData('characterReferenceType') ===
1121
- types.characterReferenceMarkerNumeric
1122
- ? constants.numericBaseDecimal
1123
- : constants.numericBaseHexadecimal
1124
- )
1125
- : decodeNamedCharacterReference(value)
1126
-
1127
- // `decodeNamedCharacterReference` can return `false` for invalid named
1128
- // character references,
1129
- // but everything we’ve tokenized is valid.
1130
- raw(encode(/** @type {string} */ (decoded)))
1131
- setData('characterReferenceType')
1132
- }
1133
-
1134
- /**
1135
- * @this {CompileContext}
1136
- * @type {Handle}
1137
- */
1138
- function onexitautolinkprotocol(token) {
1139
- const uri = this.sliceSerialize(token)
1140
- tag(
1141
- '<a href="' +
1142
- sanitizeUri(
1143
- uri,
1144
- settings.allowDangerousProtocol ? undefined : protocolHref
1145
- ) +
1146
- '">'
1147
- )
1148
- raw(encode(uri))
1149
- tag('</a>')
1150
- }
1151
-
1152
- /**
1153
- * @this {CompileContext}
1154
- * @type {Handle}
1155
- */
1156
- function onexitautolinkemail(token) {
1157
- const uri = this.sliceSerialize(token)
1158
- tag('<a href="' + sanitizeUri('mailto:' + uri) + '">')
1159
- raw(encode(uri))
1160
- tag('</a>')
1161
- }
1162
- }