@diplodoc/transform 4.0.0

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 (355) hide show
  1. package/CHANGELOG.diplodoc.md +38 -0
  2. package/CHANGELOG.md +404 -0
  3. package/LICENSE +21 -0
  4. package/README.md +41 -0
  5. package/README.ru.md +36 -0
  6. package/dist/css/yfm.css +736 -0
  7. package/dist/css/yfm.css.map +7 -0
  8. package/dist/css/yfm.min.css +2 -0
  9. package/dist/css/yfm.min.css.map +7 -0
  10. package/dist/js/code.d.ts +1 -0
  11. package/dist/js/cut.d.ts +1 -0
  12. package/dist/js/index.d.ts +5 -0
  13. package/dist/js/polyfill.d.ts +1 -0
  14. package/dist/js/tabs.d.ts +1 -0
  15. package/dist/js/term/index.d.ts +1 -0
  16. package/dist/js/term/utils.d.ts +10 -0
  17. package/dist/js/utils.d.ts +2 -0
  18. package/dist/js/yfm.js +432 -0
  19. package/dist/js/yfm.js.map +7 -0
  20. package/dist/js/yfm.min.js +2 -0
  21. package/dist/js/yfm.min.js.map +7 -0
  22. package/lib/getObject.d.ts +2 -0
  23. package/lib/getObject.js +11 -0
  24. package/lib/getObject.js.map +1 -0
  25. package/lib/headings.d.ts +4 -0
  26. package/lib/headings.js +73 -0
  27. package/lib/headings.js.map +1 -0
  28. package/lib/highlight.d.ts +3 -0
  29. package/lib/highlight.js +29 -0
  30. package/lib/highlight.js.map +1 -0
  31. package/lib/index.d.ts +7 -0
  32. package/lib/index.js +35 -0
  33. package/lib/index.js.map +1 -0
  34. package/lib/liquid/conditions.d.ts +4 -0
  35. package/lib/liquid/conditions.js +181 -0
  36. package/lib/liquid/conditions.js.map +1 -0
  37. package/lib/liquid/cycles.d.ts +4 -0
  38. package/lib/liquid/cycles.js +160 -0
  39. package/lib/liquid/cycles.js.map +1 -0
  40. package/lib/liquid/errors.d.ts +3 -0
  41. package/lib/liquid/errors.js +13 -0
  42. package/lib/liquid/errors.js.map +1 -0
  43. package/lib/liquid/evaluation.d.ts +3 -0
  44. package/lib/liquid/evaluation.js +138 -0
  45. package/lib/liquid/evaluation.js.map +1 -0
  46. package/lib/liquid/filters.d.ts +9 -0
  47. package/lib/liquid/filters.js +22 -0
  48. package/lib/liquid/filters.js.map +1 -0
  49. package/lib/liquid/index.d.ts +9 -0
  50. package/lib/liquid/index.js +87 -0
  51. package/lib/liquid/index.js.map +1 -0
  52. package/lib/liquid/lexical.d.ts +14 -0
  53. package/lib/liquid/lexical.js +79 -0
  54. package/lib/liquid/lexical.js.map +1 -0
  55. package/lib/liquid/services/argv.d.ts +15 -0
  56. package/lib/liquid/services/argv.js +17 -0
  57. package/lib/liquid/services/argv.js.map +1 -0
  58. package/lib/liquid/sourceMap.d.ts +24 -0
  59. package/lib/liquid/sourceMap.js +56 -0
  60. package/lib/liquid/sourceMap.js.map +1 -0
  61. package/lib/liquid/substitutions.d.ts +2 -0
  62. package/lib/liquid/substitutions.js +36 -0
  63. package/lib/liquid/substitutions.js.map +1 -0
  64. package/lib/liquid/utils.d.ts +8 -0
  65. package/lib/liquid/utils.js +24 -0
  66. package/lib/liquid/utils.js.map +1 -0
  67. package/lib/log.d.ts +18 -0
  68. package/lib/log.js +54 -0
  69. package/lib/log.js.map +1 -0
  70. package/lib/md.d.ts +14 -0
  71. package/lib/md.js +96 -0
  72. package/lib/md.js.map +1 -0
  73. package/lib/plugins/anchors/collect.d.ts +5 -0
  74. package/lib/plugins/anchors/collect.js +81 -0
  75. package/lib/plugins/anchors/collect.js.map +1 -0
  76. package/lib/plugins/anchors/constants.d.ts +2 -0
  77. package/lib/plugins/anchors/constants.js +6 -0
  78. package/lib/plugins/anchors/constants.js.map +1 -0
  79. package/lib/plugins/anchors/index.d.ts +7 -0
  80. package/lib/plugins/anchors/index.js +134 -0
  81. package/lib/plugins/anchors/index.js.map +1 -0
  82. package/lib/plugins/changelog/collect.d.ts +8 -0
  83. package/lib/plugins/changelog/collect.js +50 -0
  84. package/lib/plugins/changelog/collect.js.map +1 -0
  85. package/lib/plugins/changelog/index.d.ts +6 -0
  86. package/lib/plugins/changelog/index.js +131 -0
  87. package/lib/plugins/changelog/index.js.map +1 -0
  88. package/lib/plugins/changelog/types.d.ts +10 -0
  89. package/lib/plugins/changelog/types.js +3 -0
  90. package/lib/plugins/changelog/types.js.map +1 -0
  91. package/lib/plugins/checkbox/checkbox.d.ts +7 -0
  92. package/lib/plugins/checkbox/checkbox.js +91 -0
  93. package/lib/plugins/checkbox/checkbox.js.map +1 -0
  94. package/lib/plugins/checkbox/index.d.ts +8 -0
  95. package/lib/plugins/checkbox/index.js +12 -0
  96. package/lib/plugins/checkbox/index.js.map +1 -0
  97. package/lib/plugins/code.d.ts +3 -0
  98. package/lib/plugins/code.js +61 -0
  99. package/lib/plugins/code.js.map +1 -0
  100. package/lib/plugins/cut.d.ts +3 -0
  101. package/lib/plugins/cut.js +70 -0
  102. package/lib/plugins/cut.js.map +1 -0
  103. package/lib/plugins/deflist.d.ts +3 -0
  104. package/lib/plugins/deflist.js +8 -0
  105. package/lib/plugins/deflist.js.map +1 -0
  106. package/lib/plugins/file/const.d.ts +27 -0
  107. package/lib/plugins/file/const.js +47 -0
  108. package/lib/plugins/file/const.js.map +1 -0
  109. package/lib/plugins/file/file.d.ts +8 -0
  110. package/lib/plugins/file/file.js +63 -0
  111. package/lib/plugins/file/file.js.map +1 -0
  112. package/lib/plugins/file/index.d.ts +4 -0
  113. package/lib/plugins/file/index.js +9 -0
  114. package/lib/plugins/file/index.js.map +1 -0
  115. package/lib/plugins/images/collect.d.ts +8 -0
  116. package/lib/plugins/images/collect.js +43 -0
  117. package/lib/plugins/images/collect.js.map +1 -0
  118. package/lib/plugins/images/index.d.ts +10 -0
  119. package/lib/plugins/images/index.js +81 -0
  120. package/lib/plugins/images/index.js.map +1 -0
  121. package/lib/plugins/imsize/const.d.ts +7 -0
  122. package/lib/plugins/imsize/const.js +12 -0
  123. package/lib/plugins/imsize/const.js.map +1 -0
  124. package/lib/plugins/imsize/helpers.d.ts +6 -0
  125. package/lib/plugins/imsize/helpers.js +64 -0
  126. package/lib/plugins/imsize/helpers.js.map +1 -0
  127. package/lib/plugins/imsize/index.d.ts +8 -0
  128. package/lib/plugins/imsize/index.js +12 -0
  129. package/lib/plugins/imsize/index.js.map +1 -0
  130. package/lib/plugins/imsize/plugin.d.ts +3 -0
  131. package/lib/plugins/imsize/plugin.js +188 -0
  132. package/lib/plugins/imsize/plugin.js.map +1 -0
  133. package/lib/plugins/includes/collect.d.ts +8 -0
  134. package/lib/plugins/includes/collect.js +49 -0
  135. package/lib/plugins/includes/collect.js.map +1 -0
  136. package/lib/plugins/includes/index.d.ts +8 -0
  137. package/lib/plugins/includes/index.js +98 -0
  138. package/lib/plugins/includes/index.js.map +1 -0
  139. package/lib/plugins/links/collect.d.ts +7 -0
  140. package/lib/plugins/links/collect.js +74 -0
  141. package/lib/plugins/links/collect.js.map +1 -0
  142. package/lib/plugins/links/constants.d.ts +1 -0
  143. package/lib/plugins/links/constants.js +5 -0
  144. package/lib/plugins/links/constants.js.map +1 -0
  145. package/lib/plugins/links/index.d.ts +24 -0
  146. package/lib/plugins/links/index.js +178 -0
  147. package/lib/plugins/links/index.js.map +1 -0
  148. package/lib/plugins/meta.d.ts +3 -0
  149. package/lib/plugins/meta.js +8 -0
  150. package/lib/plugins/meta.js.map +1 -0
  151. package/lib/plugins/monospace.d.ts +3 -0
  152. package/lib/plugins/monospace.js +109 -0
  153. package/lib/plugins/monospace.js.map +1 -0
  154. package/lib/plugins/notes.d.ts +3 -0
  155. package/lib/plugins/notes.js +103 -0
  156. package/lib/plugins/notes.js.map +1 -0
  157. package/lib/plugins/sup.d.ts +3 -0
  158. package/lib/plugins/sup.js +8 -0
  159. package/lib/plugins/sup.js.map +1 -0
  160. package/lib/plugins/table/index.d.ts +3 -0
  161. package/lib/plugins/table/index.js +215 -0
  162. package/lib/plugins/table/index.js.map +1 -0
  163. package/lib/plugins/tabs.d.ts +4 -0
  164. package/lib/plugins/tabs.js +4 -0
  165. package/lib/plugins/tabs.js.map +1 -0
  166. package/lib/plugins/term/constants.d.ts +1 -0
  167. package/lib/plugins/term/constants.js +5 -0
  168. package/lib/plugins/term/constants.js.map +1 -0
  169. package/lib/plugins/term/index.d.ts +3 -0
  170. package/lib/plugins/term/index.js +108 -0
  171. package/lib/plugins/term/index.js.map +1 -0
  172. package/lib/plugins/term/termDefinitions.d.ts +4 -0
  173. package/lib/plugins/term/termDefinitions.js +125 -0
  174. package/lib/plugins/term/termDefinitions.js.map +1 -0
  175. package/lib/plugins/typings.d.ts +12 -0
  176. package/lib/plugins/typings.js +3 -0
  177. package/lib/plugins/typings.js.map +1 -0
  178. package/lib/plugins/utils.d.ts +6 -0
  179. package/lib/plugins/utils.js +30 -0
  180. package/lib/plugins/utils.js.map +1 -0
  181. package/lib/plugins/video/const.d.ts +10 -0
  182. package/lib/plugins/video/const.js +22 -0
  183. package/lib/plugins/video/const.js.map +1 -0
  184. package/lib/plugins/video/index.d.ts +8 -0
  185. package/lib/plugins/video/index.js +104 -0
  186. package/lib/plugins/video/index.js.map +1 -0
  187. package/lib/plugins/video/parsers.d.ts +6 -0
  188. package/lib/plugins/video/parsers.js +64 -0
  189. package/lib/plugins/video/parsers.js.map +1 -0
  190. package/lib/plugins/video/types.d.ts +34 -0
  191. package/lib/plugins/video/types.js +3 -0
  192. package/lib/plugins/video/types.js.map +1 -0
  193. package/lib/plugins/video/utils.d.ts +2 -0
  194. package/lib/plugins/video/utils.js +25 -0
  195. package/lib/plugins/video/utils.js.map +1 -0
  196. package/lib/plugins.d.ts +3 -0
  197. package/lib/plugins.js +36 -0
  198. package/lib/plugins.js.map +1 -0
  199. package/lib/sanitize.d.ts +12 -0
  200. package/lib/sanitize.js +572 -0
  201. package/lib/sanitize.js.map +1 -0
  202. package/lib/title.d.ts +7 -0
  203. package/lib/title.js +18 -0
  204. package/lib/title.js.map +1 -0
  205. package/lib/typings.d.ts +57 -0
  206. package/lib/typings.js +3 -0
  207. package/lib/typings.js.map +1 -0
  208. package/lib/utils.d.ts +13 -0
  209. package/lib/utils.js +79 -0
  210. package/lib/utils.js.map +1 -0
  211. package/lib/utilsFS.d.ts +27 -0
  212. package/lib/utilsFS.js +89 -0
  213. package/lib/utilsFS.js.map +1 -0
  214. package/lib/yfmlint/index.d.ts +26 -0
  215. package/lib/yfmlint/index.js +72 -0
  216. package/lib/yfmlint/index.js.map +1 -0
  217. package/lib/yfmlint/markdownlint-custom-rule/index.d.ts +9 -0
  218. package/lib/yfmlint/markdownlint-custom-rule/index.js +22 -0
  219. package/lib/yfmlint/markdownlint-custom-rule/index.js.map +1 -0
  220. package/lib/yfmlint/markdownlint-custom-rule/yfm001.d.ts +2 -0
  221. package/lib/yfmlint/markdownlint-custom-rule/yfm001.js +28 -0
  222. package/lib/yfmlint/markdownlint-custom-rule/yfm001.js.map +1 -0
  223. package/lib/yfmlint/markdownlint-custom-rule/yfm002.d.ts +2 -0
  224. package/lib/yfmlint/markdownlint-custom-rule/yfm002.js +33 -0
  225. package/lib/yfmlint/markdownlint-custom-rule/yfm002.js.map +1 -0
  226. package/lib/yfmlint/markdownlint-custom-rule/yfm003.d.ts +2 -0
  227. package/lib/yfmlint/markdownlint-custom-rule/yfm003.js +33 -0
  228. package/lib/yfmlint/markdownlint-custom-rule/yfm003.js.map +1 -0
  229. package/lib/yfmlint/markdownlint-custom-rule/yfm004.d.ts +2 -0
  230. package/lib/yfmlint/markdownlint-custom-rule/yfm004.js +28 -0
  231. package/lib/yfmlint/markdownlint-custom-rule/yfm004.js.map +1 -0
  232. package/lib/yfmlint/markdownlint-custom-rule/yfm005.d.ts +2 -0
  233. package/lib/yfmlint/markdownlint-custom-rule/yfm005.js +28 -0
  234. package/lib/yfmlint/markdownlint-custom-rule/yfm005.js.map +1 -0
  235. package/lib/yfmlint/markdownlint-custom-rule/yfm006.d.ts +2 -0
  236. package/lib/yfmlint/markdownlint-custom-rule/yfm006.js +28 -0
  237. package/lib/yfmlint/markdownlint-custom-rule/yfm006.js.map +1 -0
  238. package/lib/yfmlint/markdownlint-custom-rule/yfm007.d.ts +2 -0
  239. package/lib/yfmlint/markdownlint-custom-rule/yfm007.js +29 -0
  240. package/lib/yfmlint/markdownlint-custom-rule/yfm007.js.map +1 -0
  241. package/lib/yfmlint/markdownlint-custom-rule/yfm008.d.ts +2 -0
  242. package/lib/yfmlint/markdownlint-custom-rule/yfm008.js +28 -0
  243. package/lib/yfmlint/markdownlint-custom-rule/yfm008.js.map +1 -0
  244. package/lib/yfmlint/markdownlint-custom-rule/yfm009.d.ts +2 -0
  245. package/lib/yfmlint/markdownlint-custom-rule/yfm009.js +47 -0
  246. package/lib/yfmlint/markdownlint-custom-rule/yfm009.js.map +1 -0
  247. package/lib/yfmlint/typings.d.ts +12 -0
  248. package/lib/yfmlint/typings.js +3 -0
  249. package/lib/yfmlint/typings.js.map +1 -0
  250. package/lib/yfmlint/utils.d.ts +9 -0
  251. package/lib/yfmlint/utils.js +22 -0
  252. package/lib/yfmlint/utils.js.map +1 -0
  253. package/lib/yfmlint/yfmlint.d.ts +3 -0
  254. package/lib/yfmlint/yfmlint.js +69 -0
  255. package/lib/yfmlint/yfmlint.js.map +1 -0
  256. package/package.json +106 -0
  257. package/src/.eslintrc +10 -0
  258. package/src/js/code.ts +65 -0
  259. package/src/js/cut.ts +57 -0
  260. package/src/js/index.ts +6 -0
  261. package/src/js/polyfill.js +27 -0
  262. package/src/js/term/index.ts +79 -0
  263. package/src/js/term/utils.ts +151 -0
  264. package/src/js/utils.ts +9 -0
  265. package/src/scss/_anchor.scss +33 -0
  266. package/src/scss/_code.scss +23 -0
  267. package/src/scss/_common.scss +407 -0
  268. package/src/scss/_cut.scss +42 -0
  269. package/src/scss/_file.scss +35 -0
  270. package/src/scss/_highlight.scss +96 -0
  271. package/src/scss/_note.scss +73 -0
  272. package/src/scss/_print.scss +20 -0
  273. package/src/scss/_term.scss +79 -0
  274. package/src/scss/_variables.scss +16 -0
  275. package/src/scss/yfm.scss +11 -0
  276. package/src/transform/getObject.ts +10 -0
  277. package/src/transform/headings.ts +88 -0
  278. package/src/transform/highlight.ts +33 -0
  279. package/src/transform/index.ts +50 -0
  280. package/src/transform/liquid/conditions.ts +259 -0
  281. package/src/transform/liquid/cycles.ts +244 -0
  282. package/src/transform/liquid/errors.ts +10 -0
  283. package/src/transform/liquid/evaluation.ts +145 -0
  284. package/src/transform/liquid/filters.ts +19 -0
  285. package/src/transform/liquid/index.ts +141 -0
  286. package/src/transform/liquid/lexical.ts +86 -0
  287. package/src/transform/liquid/services/argv.ts +23 -0
  288. package/src/transform/liquid/sourceMap.ts +72 -0
  289. package/src/transform/liquid/substitutions.ts +40 -0
  290. package/src/transform/liquid/utils.ts +30 -0
  291. package/src/transform/log.ts +60 -0
  292. package/src/transform/md.ts +123 -0
  293. package/src/transform/plugins/anchors/collect.ts +101 -0
  294. package/src/transform/plugins/anchors/constants.ts +2 -0
  295. package/src/transform/plugins/anchors/index.ts +166 -0
  296. package/src/transform/plugins/changelog/collect.ts +66 -0
  297. package/src/transform/plugins/changelog/index.ts +164 -0
  298. package/src/transform/plugins/changelog/types.ts +10 -0
  299. package/src/transform/plugins/checkbox/checkbox.ts +107 -0
  300. package/src/transform/plugins/checkbox/index.ts +15 -0
  301. package/src/transform/plugins/code.ts +79 -0
  302. package/src/transform/plugins/cut.ts +98 -0
  303. package/src/transform/plugins/deflist.ts +5 -0
  304. package/src/transform/plugins/file/README.md +34 -0
  305. package/src/transform/plugins/file/const.ts +46 -0
  306. package/src/transform/plugins/file/file.ts +82 -0
  307. package/src/transform/plugins/file/index.ts +10 -0
  308. package/src/transform/plugins/images/collect.ts +60 -0
  309. package/src/transform/plugins/images/index.ts +119 -0
  310. package/src/transform/plugins/imsize/const.ts +7 -0
  311. package/src/transform/plugins/imsize/helpers.ts +75 -0
  312. package/src/transform/plugins/imsize/index.ts +14 -0
  313. package/src/transform/plugins/imsize/plugin.ts +214 -0
  314. package/src/transform/plugins/includes/collect.ts +73 -0
  315. package/src/transform/plugins/includes/index.ts +127 -0
  316. package/src/transform/plugins/links/collect.ts +92 -0
  317. package/src/transform/plugins/links/constants.ts +1 -0
  318. package/src/transform/plugins/links/index.ts +218 -0
  319. package/src/transform/plugins/meta.ts +5 -0
  320. package/src/transform/plugins/monospace.ts +141 -0
  321. package/src/transform/plugins/notes.ts +134 -0
  322. package/src/transform/plugins/sup.ts +5 -0
  323. package/src/transform/plugins/table/index.ts +290 -0
  324. package/src/transform/plugins/tabs.ts +3 -0
  325. package/src/transform/plugins/term/constants.ts +1 -0
  326. package/src/transform/plugins/term/index.ts +139 -0
  327. package/src/transform/plugins/term/termDefinitions.ts +177 -0
  328. package/src/transform/plugins/typings.ts +14 -0
  329. package/src/transform/plugins/utils.ts +38 -0
  330. package/src/transform/plugins/video/const.ts +20 -0
  331. package/src/transform/plugins/video/index.ts +134 -0
  332. package/src/transform/plugins/video/parsers.ts +65 -0
  333. package/src/transform/plugins/video/types.ts +27 -0
  334. package/src/transform/plugins/video/utils.ts +24 -0
  335. package/src/transform/plugins.ts +35 -0
  336. package/src/transform/sanitize.ts +596 -0
  337. package/src/transform/title.ts +22 -0
  338. package/src/transform/typings.ts +64 -0
  339. package/src/transform/utils.ts +91 -0
  340. package/src/transform/utilsFS.ts +128 -0
  341. package/src/transform/yfmlint/README.md +48 -0
  342. package/src/transform/yfmlint/index.ts +124 -0
  343. package/src/transform/yfmlint/markdownlint-custom-rule/index.ts +9 -0
  344. package/src/transform/yfmlint/markdownlint-custom-rule/yfm001.ts +36 -0
  345. package/src/transform/yfmlint/markdownlint-custom-rule/yfm002.ts +33 -0
  346. package/src/transform/yfmlint/markdownlint-custom-rule/yfm003.ts +33 -0
  347. package/src/transform/yfmlint/markdownlint-custom-rule/yfm004.ts +27 -0
  348. package/src/transform/yfmlint/markdownlint-custom-rule/yfm005.ts +27 -0
  349. package/src/transform/yfmlint/markdownlint-custom-rule/yfm006.ts +26 -0
  350. package/src/transform/yfmlint/markdownlint-custom-rule/yfm007.ts +28 -0
  351. package/src/transform/yfmlint/markdownlint-custom-rule/yfm008.ts +26 -0
  352. package/src/transform/yfmlint/markdownlint-custom-rule/yfm009.ts +54 -0
  353. package/src/transform/yfmlint/typings.ts +13 -0
  354. package/src/transform/yfmlint/utils.ts +31 -0
  355. package/src/transform/yfmlint/yfmlint.ts +73 -0
@@ -0,0 +1,572 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.defaultOptions = exports.defaultParseOptions = void 0;
30
+ const sanitize_html_1 = __importDefault(require("sanitize-html"));
31
+ // @ts-ignore
32
+ const cssfilter_1 = __importDefault(require("cssfilter"));
33
+ const cheerio = __importStar(require("cheerio"));
34
+ const css_1 = __importDefault(require("css"));
35
+ const htmlTags = [
36
+ 'a',
37
+ 'abbr',
38
+ 'acronym',
39
+ 'address',
40
+ 'area',
41
+ 'article',
42
+ 'aside',
43
+ 'audio',
44
+ 'b',
45
+ 'bdi',
46
+ 'bdo',
47
+ 'big',
48
+ 'blink',
49
+ 'blockquote',
50
+ 'body',
51
+ 'br',
52
+ 'button',
53
+ 'canvas',
54
+ 'caption',
55
+ 'center',
56
+ 'cite',
57
+ 'code',
58
+ 'col',
59
+ 'colgroup',
60
+ 'content',
61
+ 'data',
62
+ 'datalist',
63
+ 'dd',
64
+ 'decorator',
65
+ 'del',
66
+ 'details',
67
+ 'dfn',
68
+ 'dialog',
69
+ 'dir',
70
+ 'div',
71
+ 'dl',
72
+ 'dt',
73
+ 'element',
74
+ 'em',
75
+ 'fieldset',
76
+ 'figcaption',
77
+ 'figure',
78
+ 'font',
79
+ 'footer',
80
+ 'h1',
81
+ 'h2',
82
+ 'h3',
83
+ 'h4',
84
+ 'h5',
85
+ 'h6',
86
+ 'head',
87
+ 'header',
88
+ 'hgroup',
89
+ 'hr',
90
+ 'html',
91
+ 'i',
92
+ 'img',
93
+ 'input',
94
+ 'ins',
95
+ 'kbd',
96
+ 'label',
97
+ 'legend',
98
+ 'li',
99
+ 'main',
100
+ 'map',
101
+ 'mark',
102
+ 'marquee',
103
+ 'menu',
104
+ 'menuitem',
105
+ 'meter',
106
+ 'nav',
107
+ 'nobr',
108
+ 'ol',
109
+ 'optgroup',
110
+ 'option',
111
+ 'output',
112
+ 'p',
113
+ 'picture',
114
+ 'pre',
115
+ 'progress',
116
+ 'q',
117
+ 'rp',
118
+ 'rt',
119
+ 'ruby',
120
+ 's',
121
+ 'samp',
122
+ 'section',
123
+ 'select',
124
+ 'shadow',
125
+ 'small',
126
+ 'source',
127
+ 'spacer',
128
+ 'span',
129
+ 'strike',
130
+ 'strong',
131
+ 'sub',
132
+ 'summary',
133
+ 'sup',
134
+ 'table',
135
+ 'tbody',
136
+ 'td',
137
+ 'template',
138
+ 'textarea',
139
+ 'tfoot',
140
+ 'th',
141
+ 'thead',
142
+ 'time',
143
+ 'tr',
144
+ 'track',
145
+ 'tt',
146
+ 'u',
147
+ 'ul',
148
+ 'var',
149
+ 'video',
150
+ 'wbr',
151
+ 'iframe',
152
+ 'style',
153
+ ];
154
+ const svgTags = [
155
+ 'svg',
156
+ 'altglyph',
157
+ 'altglyphdef',
158
+ 'altglyphitem',
159
+ 'animatecolor',
160
+ 'animatemotion',
161
+ 'animatetransform',
162
+ 'circle',
163
+ 'clippath',
164
+ 'defs',
165
+ 'desc',
166
+ 'ellipse',
167
+ 'filter',
168
+ 'font',
169
+ 'g',
170
+ 'glyph',
171
+ 'glyphref',
172
+ 'hkern',
173
+ 'image',
174
+ 'line',
175
+ 'lineargradient',
176
+ 'marker',
177
+ 'mask',
178
+ 'metadata',
179
+ 'mpath',
180
+ 'path',
181
+ 'pattern',
182
+ 'polygon',
183
+ 'polyline',
184
+ 'radialgradient',
185
+ 'rect',
186
+ 'stop',
187
+ 'switch',
188
+ 'symbol',
189
+ 'text',
190
+ 'textpath',
191
+ 'title',
192
+ 'tref',
193
+ 'tspan',
194
+ 'view',
195
+ 'vkern',
196
+ 'animate',
197
+ ];
198
+ const htmlAttrs = [
199
+ 'accept',
200
+ 'action',
201
+ 'align',
202
+ 'alt',
203
+ 'autocapitalize',
204
+ 'autocomplete',
205
+ 'autopictureinpicture',
206
+ 'autoplay',
207
+ 'background',
208
+ 'bgcolor',
209
+ 'border',
210
+ 'capture',
211
+ 'cellpadding',
212
+ 'cellspacing',
213
+ 'checked',
214
+ 'cite',
215
+ 'class',
216
+ 'clear',
217
+ 'color',
218
+ 'cols',
219
+ 'colspan',
220
+ 'controls',
221
+ 'controlslist',
222
+ 'coords',
223
+ 'crossorigin',
224
+ 'datetime',
225
+ 'decoding',
226
+ 'default',
227
+ 'dir',
228
+ 'disabled',
229
+ 'disablepictureinpicture',
230
+ 'disableremoteplayback',
231
+ 'download',
232
+ 'draggable',
233
+ 'enctype',
234
+ 'enterkeyhint',
235
+ 'face',
236
+ 'for',
237
+ 'headers',
238
+ 'height',
239
+ 'hidden',
240
+ 'high',
241
+ 'href',
242
+ 'hreflang',
243
+ 'id',
244
+ 'inputmode',
245
+ 'integrity',
246
+ 'ismap',
247
+ 'kind',
248
+ 'label',
249
+ 'lang',
250
+ 'list',
251
+ 'loading',
252
+ 'loop',
253
+ 'low',
254
+ 'max',
255
+ 'maxlength',
256
+ 'media',
257
+ 'method',
258
+ 'min',
259
+ 'minlength',
260
+ 'multiple',
261
+ 'muted',
262
+ 'name',
263
+ 'nonce',
264
+ 'noshade',
265
+ 'novalidate',
266
+ 'nowrap',
267
+ 'open',
268
+ 'optimum',
269
+ 'pattern',
270
+ 'placeholder',
271
+ 'playsinline',
272
+ 'poster',
273
+ 'preload',
274
+ 'pubdate',
275
+ 'radiogroup',
276
+ 'readonly',
277
+ 'rel',
278
+ 'required',
279
+ 'rev',
280
+ 'reversed',
281
+ 'role',
282
+ 'rows',
283
+ 'rowspan',
284
+ 'spellcheck',
285
+ 'scope',
286
+ 'selected',
287
+ 'shape',
288
+ 'size',
289
+ 'sizes',
290
+ 'span',
291
+ 'srclang',
292
+ 'start',
293
+ 'src',
294
+ 'srcset',
295
+ 'step',
296
+ 'style',
297
+ 'summary',
298
+ 'tabindex',
299
+ 'title',
300
+ 'translate',
301
+ 'type',
302
+ 'usemap',
303
+ 'valign',
304
+ 'value',
305
+ 'width',
306
+ 'xmlns',
307
+ 'slot',
308
+ 'frameborder',
309
+ 'scrolling',
310
+ 'allow',
311
+ 'target',
312
+ 'attributeName',
313
+ 'aria-hidden',
314
+ 'referrerpolicy',
315
+ 'aria-describedby',
316
+ 'data-*',
317
+ ];
318
+ const svgAttrs = [
319
+ 'viewBox',
320
+ 'accent-height',
321
+ 'accumulate',
322
+ 'additive',
323
+ 'alignment-baseline',
324
+ 'ascent',
325
+ 'attributename',
326
+ 'attributetype',
327
+ 'azimuth',
328
+ 'basefrequency',
329
+ 'baseline-shift',
330
+ 'begin',
331
+ 'bias',
332
+ 'by',
333
+ 'class',
334
+ 'clip',
335
+ 'clippathunits',
336
+ 'clip-path',
337
+ 'clip-rule',
338
+ 'color',
339
+ 'color-interpolation',
340
+ 'color-interpolation-filters',
341
+ 'color-profile',
342
+ 'color-rendering',
343
+ 'cx',
344
+ 'cy',
345
+ 'd',
346
+ 'dx',
347
+ 'dy',
348
+ 'diffuseconstant',
349
+ 'direction',
350
+ 'display',
351
+ 'divisor',
352
+ 'dur',
353
+ 'edgemode',
354
+ 'elevation',
355
+ 'end',
356
+ 'fill',
357
+ 'fill-opacity',
358
+ 'fill-rule',
359
+ 'filter',
360
+ 'filterunits',
361
+ 'flood-color',
362
+ 'flood-opacity',
363
+ 'font-family',
364
+ 'font-size',
365
+ 'font-size-adjust',
366
+ 'font-stretch',
367
+ 'font-style',
368
+ 'font-variant',
369
+ 'font-weight',
370
+ 'fx',
371
+ 'fy',
372
+ 'g1',
373
+ 'g2',
374
+ 'glyph-name',
375
+ 'glyphref',
376
+ 'gradientunits',
377
+ 'gradienttransform',
378
+ 'height',
379
+ 'href',
380
+ 'id',
381
+ 'image-rendering',
382
+ 'in',
383
+ 'in2',
384
+ 'k',
385
+ 'k1',
386
+ 'k2',
387
+ 'k3',
388
+ 'k4',
389
+ 'kerning',
390
+ 'keypoints',
391
+ 'keysplines',
392
+ 'keytimes',
393
+ 'lang',
394
+ 'lengthadjust',
395
+ 'letter-spacing',
396
+ 'kernelmatrix',
397
+ 'kernelunitlength',
398
+ 'lighting-color',
399
+ 'local',
400
+ 'marker-end',
401
+ 'marker-mid',
402
+ 'marker-start',
403
+ 'markerheight',
404
+ 'markerunits',
405
+ 'markerwidth',
406
+ 'maskcontentunits',
407
+ 'maskunits',
408
+ 'max',
409
+ 'mask',
410
+ 'media',
411
+ 'method',
412
+ 'mode',
413
+ 'min',
414
+ 'name',
415
+ 'numoctaves',
416
+ 'offset',
417
+ 'operator',
418
+ 'opacity',
419
+ 'order',
420
+ 'orient',
421
+ 'orientation',
422
+ 'origin',
423
+ 'overflow',
424
+ 'paint-order',
425
+ 'path',
426
+ 'pathlength',
427
+ 'patterncontentunits',
428
+ 'patterntransform',
429
+ 'patternunits',
430
+ 'points',
431
+ 'preservealpha',
432
+ 'preserveaspectratio',
433
+ 'primitiveunits',
434
+ 'r',
435
+ 'rx',
436
+ 'ry',
437
+ 'radius',
438
+ 'refx',
439
+ 'refy',
440
+ 'repeatcount',
441
+ 'repeatdur',
442
+ 'restart',
443
+ 'result',
444
+ 'rotate',
445
+ 'scale',
446
+ 'seed',
447
+ 'shape-rendering',
448
+ 'specularconstant',
449
+ 'specularexponent',
450
+ 'spreadmethod',
451
+ 'startoffset',
452
+ 'stddeviation',
453
+ 'stitchtiles',
454
+ 'stop-color',
455
+ 'stop-opacity',
456
+ 'stroke-dasharray',
457
+ 'stroke-dashoffset',
458
+ 'stroke-linecap',
459
+ 'stroke-linejoin',
460
+ 'stroke-miterlimit',
461
+ 'stroke-opacity',
462
+ 'stroke',
463
+ 'stroke-width',
464
+ 'style',
465
+ 'surfacescale',
466
+ 'systemlanguage',
467
+ 'tabindex',
468
+ 'targetx',
469
+ 'targety',
470
+ 'transform',
471
+ 'text-anchor',
472
+ 'text-decoration',
473
+ 'text-rendering',
474
+ 'textlength',
475
+ 'type',
476
+ 'u1',
477
+ 'u2',
478
+ 'unicode',
479
+ 'values',
480
+ 'viewbox',
481
+ 'visibility',
482
+ 'version',
483
+ 'vert-adv-y',
484
+ 'vert-origin-x',
485
+ 'vert-origin-y',
486
+ 'width',
487
+ 'word-spacing',
488
+ 'wrap',
489
+ 'writing-mode',
490
+ 'xchannelselector',
491
+ 'ychannelselector',
492
+ 'x',
493
+ 'x1',
494
+ 'x2',
495
+ 'xmlns',
496
+ 'y',
497
+ 'y1',
498
+ 'y2',
499
+ 'z',
500
+ 'zoomandpan',
501
+ 'from',
502
+ 'to',
503
+ ];
504
+ const yfmHtmlAttrs = ['note-type', 'yfm2xliff-explicit', 'term-key'];
505
+ const allowedTags = Array.from(new Set([...htmlTags, ...svgTags, ...sanitize_html_1.default.defaults.allowedTags]));
506
+ const allowedAttributes = Array.from(new Set([...htmlAttrs, ...svgAttrs, ...yfmHtmlAttrs]));
507
+ exports.defaultParseOptions = {
508
+ lowerCaseAttributeNames: false,
509
+ };
510
+ exports.defaultOptions = Object.assign(Object.assign({}, sanitize_html_1.default.defaults), { allowedTags, allowedAttributes: Object.assign(Object.assign({}, sanitize_html_1.default.defaults.allowedAttributes), { '*': allowedAttributes }), allowVulnerableTags: true, parser: exports.defaultParseOptions, cssWhiteList: cssfilter_1.default.whiteList });
511
+ function sanitizeStyleTags(dom, cssWhiteList) {
512
+ const styleTags = dom('style');
513
+ styleTags.each((_index, element) => {
514
+ const styleText = dom(element).text();
515
+ try {
516
+ const parsedCSS = css_1.default.parse(styleText);
517
+ if (!parsedCSS.stylesheet) {
518
+ return;
519
+ }
520
+ parsedCSS.stylesheet.rules = parsedCSS.stylesheet.rules.filter((rule) => rule.type === 'rule');
521
+ parsedCSS.stylesheet.rules.forEach((rule) => {
522
+ if (!rule.declarations) {
523
+ return;
524
+ }
525
+ rule.declarations = rule.declarations.filter((declaration) => {
526
+ if (!declaration.property || !declaration.value) {
527
+ return false;
528
+ }
529
+ const isWhiteListed = cssWhiteList[declaration.property];
530
+ if (isWhiteListed) {
531
+ declaration.value = cssfilter_1.default.safeAttrValue(declaration.property, declaration.value);
532
+ }
533
+ if (!declaration.value) {
534
+ return false;
535
+ }
536
+ return isWhiteListed;
537
+ });
538
+ });
539
+ dom(element).text(css_1.default.stringify(parsedCSS));
540
+ }
541
+ catch (_a) { }
542
+ });
543
+ }
544
+ function sanitizeStyleAttrs(dom, cssWhiteList) {
545
+ const options = {
546
+ whiteList: cssWhiteList,
547
+ };
548
+ const cssSanitizer = new cssfilter_1.default.FilterCSS(options);
549
+ dom('*').each((_index, element) => {
550
+ const styleAttrValue = dom(element).attr('style');
551
+ if (!styleAttrValue) {
552
+ return;
553
+ }
554
+ dom(element).attr('style', cssSanitizer.process(styleAttrValue));
555
+ });
556
+ }
557
+ function sanitizeStyles(html, options) {
558
+ const cssWhiteList = options.cssWhiteList || {};
559
+ const $ = cheerio.load(html);
560
+ sanitizeStyleTags($, cssWhiteList);
561
+ sanitizeStyleAttrs($, cssWhiteList);
562
+ const styles = $('head').html() || '';
563
+ const content = $('body').html() || '';
564
+ return styles + content;
565
+ }
566
+ function sanitize(html, options) {
567
+ const sanitizeOptions = options || exports.defaultOptions;
568
+ const modifiedHtml = sanitizeStyles(html, sanitizeOptions);
569
+ return (0, sanitize_html_1.default)(modifiedHtml, sanitizeOptions);
570
+ }
571
+ exports.default = sanitize;
572
+ //# sourceMappingURL=sanitize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sanitize.js","sourceRoot":"","sources":["../src/transform/sanitize.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kEAAyC;AACzC,aAAa;AACb,0DAAkC;AAClC,iDAAmC;AACnC,8CAAsB;AAEtB,MAAM,QAAQ,GAAG;IACb,GAAG;IACH,MAAM;IACN,SAAS;IACT,SAAS;IACT,MAAM;IACN,SAAS;IACT,OAAO;IACP,OAAO;IACP,GAAG;IACH,KAAK;IACL,KAAK;IACL,KAAK;IACL,OAAO;IACP,YAAY;IACZ,MAAM;IACN,IAAI;IACJ,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,MAAM;IACN,MAAM;IACN,KAAK;IACL,UAAU;IACV,SAAS;IACT,MAAM;IACN,UAAU;IACV,IAAI;IACJ,WAAW;IACX,KAAK;IACL,SAAS;IACT,KAAK;IACL,QAAQ;IACR,KAAK;IACL,KAAK;IACL,IAAI;IACJ,IAAI;IACJ,SAAS;IACT,IAAI;IACJ,UAAU;IACV,YAAY;IACZ,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,IAAI;IACJ,MAAM;IACN,GAAG;IACH,KAAK;IACL,OAAO;IACP,KAAK;IACL,KAAK;IACL,OAAO;IACP,QAAQ;IACR,IAAI;IACJ,MAAM;IACN,KAAK;IACL,MAAM;IACN,SAAS;IACT,MAAM;IACN,UAAU;IACV,OAAO;IACP,KAAK;IACL,MAAM;IACN,IAAI;IACJ,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,GAAG;IACH,SAAS;IACT,KAAK;IACL,UAAU;IACV,GAAG;IACH,IAAI;IACJ,IAAI;IACJ,MAAM;IACN,GAAG;IACH,MAAM;IACN,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,KAAK;IACL,SAAS;IACT,KAAK;IACL,OAAO;IACP,OAAO;IACP,IAAI;IACJ,UAAU;IACV,UAAU;IACV,OAAO;IACP,IAAI;IACJ,OAAO;IACP,MAAM;IACN,IAAI;IACJ,OAAO;IACP,IAAI;IACJ,GAAG;IACH,IAAI;IACJ,KAAK;IACL,OAAO;IACP,KAAK;IACL,QAAQ;IACR,OAAO;CACV,CAAC;AAEF,MAAM,OAAO,GAAG;IACZ,KAAK;IACL,UAAU;IACV,aAAa;IACb,cAAc;IACd,cAAc;IACd,eAAe;IACf,kBAAkB;IAClB,QAAQ;IACR,UAAU;IACV,MAAM;IACN,MAAM;IACN,SAAS;IACT,QAAQ;IACR,MAAM;IACN,GAAG;IACH,OAAO;IACP,UAAU;IACV,OAAO;IACP,OAAO;IACP,MAAM;IACN,gBAAgB;IAChB,QAAQ;IACR,MAAM;IACN,UAAU;IACV,OAAO;IACP,MAAM;IACN,SAAS;IACT,SAAS;IACT,UAAU;IACV,gBAAgB;IAChB,MAAM;IACN,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,UAAU;IACV,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,SAAS;CACZ,CAAC;AAEF,MAAM,SAAS,GAAG;IACd,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,KAAK;IACL,gBAAgB;IAChB,cAAc;IACd,sBAAsB;IACtB,UAAU;IACV,YAAY;IACZ,SAAS;IACT,QAAQ;IACR,SAAS;IACT,aAAa;IACb,aAAa;IACb,SAAS;IACT,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,MAAM;IACN,SAAS;IACT,UAAU;IACV,cAAc;IACd,QAAQ;IACR,aAAa;IACb,UAAU;IACV,UAAU;IACV,SAAS;IACT,KAAK;IACL,UAAU;IACV,yBAAyB;IACzB,uBAAuB;IACvB,UAAU;IACV,WAAW;IACX,SAAS;IACT,cAAc;IACd,MAAM;IACN,KAAK;IACL,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,MAAM;IACN,UAAU;IACV,IAAI;IACJ,WAAW;IACX,WAAW;IACX,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,SAAS;IACT,MAAM;IACN,KAAK;IACL,KAAK;IACL,WAAW;IACX,OAAO;IACP,QAAQ;IACR,KAAK;IACL,WAAW;IACX,UAAU;IACV,OAAO;IACP,MAAM;IACN,OAAO;IACP,SAAS;IACT,YAAY;IACZ,QAAQ;IACR,MAAM;IACN,SAAS;IACT,SAAS;IACT,aAAa;IACb,aAAa;IACb,QAAQ;IACR,SAAS;IACT,SAAS;IACT,YAAY;IACZ,UAAU;IACV,KAAK;IACL,UAAU;IACV,KAAK;IACL,UAAU;IACV,MAAM;IACN,MAAM;IACN,SAAS;IACT,YAAY;IACZ,OAAO;IACP,UAAU;IACV,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,SAAS;IACT,OAAO;IACP,KAAK;IACL,QAAQ;IACR,MAAM;IACN,OAAO;IACP,SAAS;IACT,UAAU;IACV,OAAO;IACP,WAAW;IACX,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,MAAM;IACN,aAAa;IACb,WAAW;IACX,OAAO;IACP,QAAQ;IACR,eAAe;IACf,aAAa;IACb,gBAAgB;IAChB,kBAAkB;IAClB,QAAQ;CACX,CAAC;AAEF,MAAM,QAAQ,GAAG;IACb,SAAS;IACT,eAAe;IACf,YAAY;IACZ,UAAU;IACV,oBAAoB;IACpB,QAAQ;IACR,eAAe;IACf,eAAe;IACf,SAAS;IACT,eAAe;IACf,gBAAgB;IAChB,OAAO;IACP,MAAM;IACN,IAAI;IACJ,OAAO;IACP,MAAM;IACN,eAAe;IACf,WAAW;IACX,WAAW;IACX,OAAO;IACP,qBAAqB;IACrB,6BAA6B;IAC7B,eAAe;IACf,iBAAiB;IACjB,IAAI;IACJ,IAAI;IACJ,GAAG;IACH,IAAI;IACJ,IAAI;IACJ,iBAAiB;IACjB,WAAW;IACX,SAAS;IACT,SAAS;IACT,KAAK;IACL,UAAU;IACV,WAAW;IACX,KAAK;IACL,MAAM;IACN,cAAc;IACd,WAAW;IACX,QAAQ;IACR,aAAa;IACb,aAAa;IACb,eAAe;IACf,aAAa;IACb,WAAW;IACX,kBAAkB;IAClB,cAAc;IACd,YAAY;IACZ,cAAc;IACd,aAAa;IACb,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,YAAY;IACZ,UAAU;IACV,eAAe;IACf,mBAAmB;IACnB,QAAQ;IACR,MAAM;IACN,IAAI;IACJ,iBAAiB;IACjB,IAAI;IACJ,KAAK;IACL,GAAG;IACH,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,SAAS;IACT,WAAW;IACX,YAAY;IACZ,UAAU;IACV,MAAM;IACN,cAAc;IACd,gBAAgB;IAChB,cAAc;IACd,kBAAkB;IAClB,gBAAgB;IAChB,OAAO;IACP,YAAY;IACZ,YAAY;IACZ,cAAc;IACd,cAAc;IACd,aAAa;IACb,aAAa;IACb,kBAAkB;IAClB,WAAW;IACX,KAAK;IACL,MAAM;IACN,OAAO;IACP,QAAQ;IACR,MAAM;IACN,KAAK;IACL,MAAM;IACN,YAAY;IACZ,QAAQ;IACR,UAAU;IACV,SAAS;IACT,OAAO;IACP,QAAQ;IACR,aAAa;IACb,QAAQ;IACR,UAAU;IACV,aAAa;IACb,MAAM;IACN,YAAY;IACZ,qBAAqB;IACrB,kBAAkB;IAClB,cAAc;IACd,QAAQ;IACR,eAAe;IACf,qBAAqB;IACrB,gBAAgB;IAChB,GAAG;IACH,IAAI;IACJ,IAAI;IACJ,QAAQ;IACR,MAAM;IACN,MAAM;IACN,aAAa;IACb,WAAW;IACX,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,MAAM;IACN,iBAAiB;IACjB,kBAAkB;IAClB,kBAAkB;IAClB,cAAc;IACd,aAAa;IACb,cAAc;IACd,aAAa;IACb,YAAY;IACZ,cAAc;IACd,kBAAkB;IAClB,mBAAmB;IACnB,gBAAgB;IAChB,iBAAiB;IACjB,mBAAmB;IACnB,gBAAgB;IAChB,QAAQ;IACR,cAAc;IACd,OAAO;IACP,cAAc;IACd,gBAAgB;IAChB,UAAU;IACV,SAAS;IACT,SAAS;IACT,WAAW;IACX,aAAa;IACb,iBAAiB;IACjB,gBAAgB;IAChB,YAAY;IACZ,MAAM;IACN,IAAI;IACJ,IAAI;IACJ,SAAS;IACT,QAAQ;IACR,SAAS;IACT,YAAY;IACZ,SAAS;IACT,YAAY;IACZ,eAAe;IACf,eAAe;IACf,OAAO;IACP,cAAc;IACd,MAAM;IACN,cAAc;IACd,kBAAkB;IAClB,kBAAkB;IAClB,GAAG;IACH,IAAI;IACJ,IAAI;IACJ,OAAO;IACP,GAAG;IACH,IAAI;IACJ,IAAI;IACJ,GAAG;IACH,YAAY;IACZ,MAAM;IACN,IAAI;CACP,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,WAAW,EAAE,oBAAoB,EAAE,UAAU,CAAC,CAAC;AAErE,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAC1B,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,EAAE,GAAG,OAAO,EAAE,GAAG,uBAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAC3E,CAAC;AACF,MAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,SAAS,EAAE,GAAG,QAAQ,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;AAQ/E,QAAA,mBAAmB,GAAG;IAC/B,uBAAuB,EAAE,KAAK;CACjC,CAAC;AAEW,QAAA,cAAc,mCACpB,uBAAY,CAAC,QAAQ,KACxB,WAAW,EACX,iBAAiB,kCACV,uBAAY,CAAC,QAAQ,CAAC,iBAAiB,KAC1C,GAAG,EAAE,iBAAiB,KAE1B,mBAAmB,EAAE,IAAI,EACzB,MAAM,EAAE,2BAAmB,EAC3B,YAAY,EAAE,mBAAS,CAAC,SAAS,IACnC;AAEF,SAAS,iBAAiB,CAAC,GAAuB,EAAE,YAA0B;IAC1E,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;IAE/B,SAAS,CAAC,IAAI,CAAC,CAAC,MAAc,EAAE,OAAwB,EAAE,EAAE;QACxD,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QAEtC,IAAI;YACA,MAAM,SAAS,GAAG,aAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAEvC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;gBACvB,OAAO;aACV;YAED,SAAS,CAAC,UAAU,CAAC,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAC1D,CAAC,IAAc,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAC3C,CAAC;YAEF,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAc,EAAE,EAAE;gBAClD,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;oBACpB,OAAO;iBACV;gBAED,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,WAA4B,EAAE,EAAE;oBAC1E,IAAI,CAAC,WAAW,CAAC,QAAQ,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE;wBAC7C,OAAO,KAAK,CAAC;qBAChB;oBAED,MAAM,aAAa,GAAG,YAAY,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;oBAEzD,IAAI,aAAa,EAAE;wBACf,WAAW,CAAC,KAAK,GAAG,mBAAS,CAAC,aAAa,CACvC,WAAW,CAAC,QAAQ,EACpB,WAAW,CAAC,KAAK,CACpB,CAAC;qBACL;oBAED,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE;wBACpB,OAAO,KAAK,CAAC;qBAChB;oBAED,OAAO,aAAa,CAAC;gBACzB,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,aAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;SAC/C;QAAC,WAAM,GAAE;IACd,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,kBAAkB,CAAC,GAAuB,EAAE,YAA0B;IAC3E,MAAM,OAAO,GAAG;QACZ,SAAS,EAAE,YAAY;KAC1B,CAAC;IACF,MAAM,YAAY,GAAG,IAAI,mBAAS,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAEtD,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;QAC9B,MAAM,cAAc,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAElD,IAAI,CAAC,cAAc,EAAE;YACjB,OAAO;SACV;QAED,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,cAAc,CAAC,IAAY,EAAE,OAAwB;IAC1D,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC;IAEhD,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE7B,iBAAiB,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;IAEnC,kBAAkB,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;IAEpC,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;IACtC,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;IAEvC,OAAO,MAAM,GAAG,OAAO,CAAC;AAC5B,CAAC;AAED,SAAwB,QAAQ,CAAC,IAAY,EAAE,OAAyB;IACpE,MAAM,eAAe,GAAG,OAAO,IAAI,sBAAc,CAAC;IAElD,MAAM,YAAY,GAAG,cAAc,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IAE3D,OAAO,IAAA,uBAAY,EAAC,YAAY,EAAE,eAAe,CAAC,CAAC;AACvD,CAAC;AAND,2BAMC"}
package/lib/title.d.ts ADDED
@@ -0,0 +1,7 @@
1
+ import Token from 'markdown-it/lib/token';
2
+ declare const _default: (tokens: Token[]) => {
3
+ titleTokens: Token[];
4
+ title: string;
5
+ tokens: Token[];
6
+ };
7
+ export = _default;
package/lib/title.js ADDED
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ module.exports = function extractTitle(tokens) {
3
+ let title = '', contentTokens = tokens, titleTokens = [];
4
+ if (Array.isArray(tokens) && tokens.length > 0) {
5
+ if (tokens[0].type === 'heading_open' && tokens[0].tag === 'h1') {
6
+ titleTokens = tokens[1].children || [];
7
+ title = tokens[1].content;
8
+ // cut out "heading_open", "inline" and "heading_close" tokens
9
+ contentTokens = tokens.slice(3);
10
+ }
11
+ }
12
+ return {
13
+ titleTokens,
14
+ title,
15
+ tokens: contentTokens,
16
+ };
17
+ };
18
+ //# sourceMappingURL=title.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"title.js","sourceRoot":"","sources":["../src/transform/title.ts"],"names":[],"mappings":";AAEA,iBAAS,SAAS,YAAY,CAAC,MAAe;IAC1C,IAAI,KAAK,GAAG,EAAE,EACV,aAAa,GAAG,MAAM,EACtB,WAAW,GAAY,EAAE,CAAC;IAE9B,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;QAC5C,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,EAAE;YAC7D,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC;YACvC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YAC1B,8DAA8D;YAC9D,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACnC;KACJ;IAED,OAAO;QACH,WAAW;QACX,KAAK;QACL,MAAM,EAAE,aAAa;KACxB,CAAC;AACN,CAAC,CAAC"}
@@ -0,0 +1,57 @@
1
+ import { LanguageFn } from 'highlight.js';
2
+ import DefaultMarkdownIt from 'markdown-it';
3
+ import DefaultStateCore from 'markdown-it/lib/rules_core/state_core';
4
+ import { SanitizeOptions } from './sanitize';
5
+ import { MarkdownItPluginCb } from './plugins/typings';
6
+ import { LogLevels } from './log';
7
+ import { ChangelogItem } from './plugins/changelog/types';
8
+ export interface MarkdownIt extends DefaultMarkdownIt {
9
+ assets?: string[];
10
+ meta?: string[];
11
+ }
12
+ export interface StateCore extends DefaultStateCore {
13
+ md: MarkdownIt;
14
+ }
15
+ export declare type HighlightLangMap = Record<string, LanguageFn>;
16
+ export declare type Heading = {
17
+ title: string;
18
+ href: string;
19
+ level: number;
20
+ items?: Heading[];
21
+ };
22
+ export interface OptionsType {
23
+ vars?: Record<string, string>;
24
+ path?: string;
25
+ extractTitle?: boolean;
26
+ needTitle?: boolean;
27
+ allowHTML?: boolean;
28
+ linkify?: boolean;
29
+ linkifyTlds?: string | string[];
30
+ breaks?: boolean;
31
+ conditionsInCode?: boolean;
32
+ disableLiquid?: boolean;
33
+ leftDelimiter?: string;
34
+ rightDelimiter?: string;
35
+ isLiquided?: boolean;
36
+ needToSanitizeHtml?: boolean;
37
+ sanitizeOptions?: SanitizeOptions;
38
+ needFlatListHeadings?: boolean;
39
+ plugins?: MarkdownItPluginCb<any>[];
40
+ highlightLangs?: HighlightLangMap;
41
+ root?: string;
42
+ extractChangelogs?: boolean;
43
+ [x: string]: unknown;
44
+ }
45
+ export interface OutputType {
46
+ result: {
47
+ html: string;
48
+ } & EnvType;
49
+ logs: Record<LogLevels, string[]>;
50
+ }
51
+ export declare type EnvType<Extras extends {} = {}> = {
52
+ title?: string;
53
+ headings: Heading[];
54
+ assets?: unknown[];
55
+ meta?: object;
56
+ changelogs?: ChangelogItem[];
57
+ } & Extras;
package/lib/typings.js ADDED
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=typings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typings.js","sourceRoot":"","sources":["../src/transform/typings.ts"],"names":[],"mappings":""}
package/lib/utils.d.ts ADDED
@@ -0,0 +1,13 @@
1
+ import Token from 'markdown-it/lib/token';
2
+ export declare function isLocalUrl(url: string): boolean;
3
+ export declare function findBlockTokens(tokens: Token[], id: string): Token[];
4
+ export declare function headingInfo(tokens: Token[], idx: number): {
5
+ level: number;
6
+ title: string;
7
+ };
8
+ export declare function isExternalHref(href: string): boolean;
9
+ export declare function transformLinkToOriginalArticle(opts: {
10
+ root: string;
11
+ currentPath: string;
12
+ }): string;
13
+ export declare function getHrefTokenAttr(token: Token): string;