@diplodoc/transform 4.65.3 → 4.67.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 (183) hide show
  1. package/README.md +56 -3
  2. package/dist/css/_yfm-only.css +3 -1
  3. package/dist/css/_yfm-only.css.map +3 -3
  4. package/dist/css/_yfm-only.min.css +1 -1
  5. package/dist/css/_yfm-only.min.css.map +3 -3
  6. package/dist/css/base.css +2 -0
  7. package/dist/css/base.css.map +3 -3
  8. package/dist/css/base.min.css.map +3 -3
  9. package/dist/css/print.css.map +3 -3
  10. package/dist/css/yfm.css +5 -1
  11. package/dist/css/yfm.css.map +3 -3
  12. package/dist/css/yfm.min.css +1 -1
  13. package/dist/css/yfm.min.css.map +3 -3
  14. package/dist/js/base.js +2 -22
  15. package/dist/js/base.js.map +1 -1
  16. package/dist/js/base.min.js +3 -3
  17. package/dist/js/base.min.js.map +2 -2
  18. package/dist/js/yfm.js +27 -57
  19. package/dist/js/yfm.js.map +3 -3
  20. package/dist/js/yfm.min.js +3 -3
  21. package/dist/js/yfm.min.js.map +3 -3
  22. package/dist/scss/_common.scss +6 -4
  23. package/dist/scss/_note.scss +10 -8
  24. package/dist/scss/print/code.scss +1 -1
  25. package/dist/scss/print/common.scss +3 -2
  26. package/dist/scss/print/table.scss +3 -2
  27. package/dist/scss/print/term.scss +1 -1
  28. package/lib/frontmatter.d.ts +1 -1
  29. package/lib/frontmatter.js.map +1 -1
  30. package/lib/getObject.js.map +1 -1
  31. package/lib/headings.js.map +1 -1
  32. package/lib/highlight.js +1 -1
  33. package/lib/highlight.js.map +1 -1
  34. package/lib/index.d.ts +1 -1
  35. package/lib/index.js +1 -1
  36. package/lib/index.js.map +1 -1
  37. package/lib/liquid/conditions.js.map +1 -1
  38. package/lib/liquid/cycles.js +1 -1
  39. package/lib/liquid/cycles.js.map +1 -1
  40. package/lib/liquid/evaluation.js +21 -11
  41. package/lib/liquid/evaluation.js.map +1 -1
  42. package/lib/liquid/filters.js +3 -4
  43. package/lib/liquid/filters.js.map +1 -1
  44. package/lib/liquid/index.js +3 -4
  45. package/lib/liquid/index.js.map +1 -1
  46. package/lib/liquid/legacyConditions.js.map +1 -1
  47. package/lib/liquid/lexical.js +5 -5
  48. package/lib/liquid/lexical.js.map +1 -1
  49. package/lib/liquid/services/argv.d.ts +1 -1
  50. package/lib/liquid/services/argv.js +3 -4
  51. package/lib/liquid/services/argv.js.map +1 -1
  52. package/lib/liquid/sourceMap.d.ts +2 -2
  53. package/lib/liquid/sourceMap.js +3 -4
  54. package/lib/liquid/sourceMap.js.map +1 -1
  55. package/lib/liquid/substitutions.js.map +1 -1
  56. package/lib/liquid/utils.d.ts +1 -1
  57. package/lib/liquid/utils.js +2 -3
  58. package/lib/liquid/utils.js.map +1 -1
  59. package/lib/log.d.ts +1 -1
  60. package/lib/log.js +1 -1
  61. package/lib/log.js.map +1 -1
  62. package/lib/md.d.ts +5 -5
  63. package/lib/md.js +31 -22
  64. package/lib/md.js.map +1 -1
  65. package/lib/plugins/anchors/collect.js.map +1 -1
  66. package/lib/plugins/anchors/index.js.map +1 -1
  67. package/lib/plugins/block-anchor/block-anchor.js +3 -3
  68. package/lib/plugins/block-anchor/block-anchor.js.map +1 -1
  69. package/lib/plugins/block-anchor/index.js +1 -1
  70. package/lib/plugins/block-anchor/index.js.map +1 -1
  71. package/lib/plugins/changelog/collect.d.ts +1 -1
  72. package/lib/plugins/changelog/collect.js.map +1 -1
  73. package/lib/plugins/changelog/index.js +6 -3
  74. package/lib/plugins/changelog/index.js.map +1 -1
  75. package/lib/plugins/checkbox/checkbox.d.ts +1 -1
  76. package/lib/plugins/checkbox/checkbox.js +83 -23
  77. package/lib/plugins/checkbox/checkbox.js.map +1 -1
  78. package/lib/plugins/code.js.map +1 -1
  79. package/lib/plugins/cut.d.ts +1 -1
  80. package/lib/plugins/deflist.d.ts +1 -1
  81. package/lib/plugins/images/collect.d.ts +1 -1
  82. package/lib/plugins/images/collect.js.map +1 -1
  83. package/lib/plugins/images/index.d.ts +1 -1
  84. package/lib/plugins/images/index.js +16 -7
  85. package/lib/plugins/images/index.js.map +1 -1
  86. package/lib/plugins/imsize/const.js +1 -1
  87. package/lib/plugins/imsize/const.js.map +1 -1
  88. package/lib/plugins/imsize/helpers.js +1 -2
  89. package/lib/plugins/imsize/helpers.js.map +1 -1
  90. package/lib/plugins/imsize/plugin.d.ts +1 -1
  91. package/lib/plugins/imsize/plugin.js.map +1 -1
  92. package/lib/plugins/includes/collect.js +11 -3
  93. package/lib/plugins/includes/collect.js.map +1 -1
  94. package/lib/plugins/includes/index.d.ts +1 -1
  95. package/lib/plugins/includes/index.js +5 -3
  96. package/lib/plugins/includes/index.js.map +1 -1
  97. package/lib/plugins/includes/types.d.ts +1 -1
  98. package/lib/plugins/links/collect.d.ts +1 -1
  99. package/lib/plugins/links/collect.js +1 -1
  100. package/lib/plugins/links/collect.js.map +1 -1
  101. package/lib/plugins/links/index.d.ts +1 -1
  102. package/lib/plugins/links/index.js +35 -12
  103. package/lib/plugins/links/index.js.map +1 -1
  104. package/lib/plugins/meta.js.map +1 -1
  105. package/lib/plugins/monospace.js +1 -1
  106. package/lib/plugins/monospace.js.map +1 -1
  107. package/lib/plugins/notes/index.d.ts +1 -1
  108. package/lib/plugins/notes/index.js +1 -1
  109. package/lib/plugins/notes/index.js.map +1 -1
  110. package/lib/plugins/ol-attr-conversion.js.map +1 -1
  111. package/lib/plugins/sup.d.ts +1 -1
  112. package/lib/plugins/table/index.js +7 -18
  113. package/lib/plugins/table/index.js.map +1 -1
  114. package/lib/plugins/table/types.d.ts +1 -1
  115. package/lib/plugins/tabs.d.ts +3 -3
  116. package/lib/plugins/term/index.js.map +1 -1
  117. package/lib/plugins/term/termDefinitions.js +1 -2
  118. package/lib/plugins/term/termDefinitions.js.map +1 -1
  119. package/lib/plugins/utils.d.ts +1 -1
  120. package/lib/plugins/utils.js +3 -3
  121. package/lib/plugins/utils.js.map +1 -1
  122. package/lib/plugins/video/const.js +1 -1
  123. package/lib/plugins/video/const.js.map +1 -1
  124. package/lib/plugins/video/index.js +1 -1
  125. package/lib/plugins/video/index.js.map +1 -1
  126. package/lib/plugins/video/parsers.js +9 -10
  127. package/lib/plugins/video/parsers.js.map +1 -1
  128. package/lib/plugins/video/types.d.ts +8 -8
  129. package/lib/plugins/video/utils.js.map +1 -1
  130. package/lib/plugins.d.ts +1 -1
  131. package/lib/preprocessors/included/index.js.map +1 -1
  132. package/lib/preprocessors/index.d.ts +1 -1
  133. package/lib/preprocessors/index.js +1 -2
  134. package/lib/preprocessors/index.js.map +1 -1
  135. package/lib/sanitize.d.ts +1 -1
  136. package/lib/sanitize.js +54 -26
  137. package/lib/sanitize.js.map +1 -1
  138. package/lib/title.js.map +1 -1
  139. package/lib/typings.d.ts +10 -10
  140. package/lib/utils.d.ts +1 -1
  141. package/lib/utils.js +16 -13
  142. package/lib/utils.js.map +1 -1
  143. package/lib/utilsFS.d.ts +2 -1
  144. package/lib/utilsFS.js +45 -15
  145. package/lib/utilsFS.js.map +1 -1
  146. package/lib/yfmlint/index.js +4 -1
  147. package/lib/yfmlint/index.js.map +1 -1
  148. package/lib/yfmlint/markdownlint-custom-rule/yfm001.js.map +1 -1
  149. package/lib/yfmlint/markdownlint-custom-rule/yfm002.js.map +1 -1
  150. package/lib/yfmlint/markdownlint-custom-rule/yfm003.js.map +1 -1
  151. package/lib/yfmlint/markdownlint-custom-rule/yfm004.js.map +1 -1
  152. package/lib/yfmlint/markdownlint-custom-rule/yfm005.js.map +1 -1
  153. package/lib/yfmlint/markdownlint-custom-rule/yfm006.js.map +1 -1
  154. package/lib/yfmlint/markdownlint-custom-rule/yfm007.js.map +1 -1
  155. package/lib/yfmlint/markdownlint-custom-rule/yfm008.js.map +1 -1
  156. package/lib/yfmlint/markdownlint-custom-rule/yfm009.js.map +1 -1
  157. package/lib/yfmlint/utils.js +6 -6
  158. package/lib/yfmlint/utils.js.map +1 -1
  159. package/lib/yfmlint/yfmlint.js +60 -60
  160. package/lib/yfmlint/yfmlint.js.map +1 -1
  161. package/package.json +12 -11
  162. package/src/scss/_common.scss +6 -4
  163. package/src/scss/_note.scss +10 -8
  164. package/src/scss/print/code.scss +1 -1
  165. package/src/scss/print/common.scss +3 -2
  166. package/src/scss/print/table.scss +3 -2
  167. package/src/scss/print/term.scss +1 -1
  168. package/src/transform/highlight.ts +1 -1
  169. package/src/transform/liquid/evaluation.ts +2 -2
  170. package/src/transform/plugins/block-anchor/index.ts +1 -1
  171. package/src/transform/plugins/changelog/index.ts +1 -1
  172. package/src/transform/plugins/checkbox/checkbox.ts +104 -26
  173. package/src/transform/plugins/images/index.ts +8 -6
  174. package/src/transform/plugins/includes/collect.ts +1 -1
  175. package/src/transform/plugins/includes/index.ts +5 -3
  176. package/src/transform/plugins/links/index.ts +7 -3
  177. package/src/transform/plugins/notes/index.ts +1 -1
  178. package/src/transform/plugins/video/types.ts +1 -1
  179. package/src/transform/sanitize.ts +1 -1
  180. package/src/transform/utils.ts +2 -2
  181. package/src/transform/utilsFS.ts +33 -6
  182. package/src/transform/yfmlint/index.ts +5 -1
  183. package/src/transform/yfmlint/utils.ts +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"yfm006.js","sourceRoot":"","sources":["../../../src/transform/yfmlint/markdownlint-custom-rule/yfm006.ts"],"names":[],"mappings":";;;AAEa,QAAA,MAAM,GAAS;IACxB,KAAK,EAAE,CAAC,QAAQ,EAAE,4BAA4B,CAAC;IAC/C,WAAW,EAAE,4BAA4B;IACzC,IAAI,EAAE,CAAC,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO;QACrC,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,CAAC;QACxB,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;SACV;QACD,MAAM,CAAC,MAAM;aACR,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;YACd,OAAO,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC;QACvC,CAAC,CAAC;aACD,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACd,4CAA4C;YAC5C,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBACxB,OAAO,CAAC;oBACJ,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,OAAO,EAAE,IAAI,CAAC,IAAI;iBACrB,CAAC,CAAC;aACN;QACL,CAAC,CAAC,CAAC;IACX,CAAC;CACJ,CAAC"}
1
+ {"version":3,"file":"yfm006.js","sourceRoot":"","sources":["../../../src/transform/yfmlint/markdownlint-custom-rule/yfm006.ts"],"names":[],"mappings":";;;AAEa,QAAA,MAAM,GAAS;IACxB,KAAK,EAAE,CAAC,QAAQ,EAAE,4BAA4B,CAAC;IAC/C,WAAW,EAAE,4BAA4B;IACzC,IAAI,EAAE,CAAC,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO;QACrC,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,CAAC;QACxB,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,OAAO;QACX,CAAC;QACD,MAAM,CAAC,MAAM;aACR,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;YACd,OAAO,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC;QACvC,CAAC,CAAC;aACD,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACd,4CAA4C;YAC5C,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACzB,OAAO,CAAC;oBACJ,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,OAAO,EAAE,IAAI,CAAC,IAAI;iBACrB,CAAC,CAAC;YACP,CAAC;QACL,CAAC,CAAC,CAAC;IACX,CAAC;CACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"yfm007.js","sourceRoot":"","sources":["../../../src/transform/yfmlint/markdownlint-custom-rule/yfm007.ts"],"names":[],"mappings":";;;AAEa,QAAA,MAAM,GAAS;IACxB,KAAK,EAAE,CAAC,QAAQ,EAAE,8BAA8B,CAAC;IACjD,WAAW,EAAE,8BAA8B;IAC3C,IAAI,EAAE,CAAC,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO;QACrC,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,CAAC;QACxB,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;SACV;QACD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;;YACzB,OAAA,MAAA,EAAE,CAAC,QAAQ,0CACL,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;gBACf,OAAO,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC;YACvC,CAAC,EACA,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBACd,4CAA4C;gBAC5C,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;oBACxB,OAAO,CAAC;wBACJ,UAAU,EAAE,IAAI,CAAC,UAAU;wBAC3B,OAAO,EAAE,IAAI,CAAC,IAAI;qBACrB,CAAC,CAAC;iBACN;YACL,CAAC,CAAC,CAAA;SAAA,CACT,CAAC;IACN,CAAC;CACJ,CAAC"}
1
+ {"version":3,"file":"yfm007.js","sourceRoot":"","sources":["../../../src/transform/yfmlint/markdownlint-custom-rule/yfm007.ts"],"names":[],"mappings":";;;AAEa,QAAA,MAAM,GAAS;IACxB,KAAK,EAAE,CAAC,QAAQ,EAAE,8BAA8B,CAAC;IACjD,WAAW,EAAE,8BAA8B;IAC3C,IAAI,EAAE,CAAC,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO;QACrC,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,CAAC;QACxB,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,OAAO;QACX,CAAC;QACD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;;YACzB,OAAA,MAAA,EAAE,CAAC,QAAQ,0CACL,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;gBACf,OAAO,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC;YACvC,CAAC,EACA,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBACd,4CAA4C;gBAC5C,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACzB,OAAO,CAAC;wBACJ,UAAU,EAAE,IAAI,CAAC,UAAU;wBAC3B,OAAO,EAAE,IAAI,CAAC,IAAI;qBACrB,CAAC,CAAC;gBACP,CAAC;YACL,CAAC,CAAC,CAAA;SAAA,CACT,CAAC;IACN,CAAC;CACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"yfm008.js","sourceRoot":"","sources":["../../../src/transform/yfmlint/markdownlint-custom-rule/yfm008.ts"],"names":[],"mappings":";;;AAEa,QAAA,MAAM,GAAS;IACxB,KAAK,EAAE,CAAC,QAAQ,EAAE,oCAAoC,CAAC;IACvD,WAAW,EAAE,oCAAoC;IACjD,IAAI,EAAE,CAAC,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO;QACrC,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,CAAC;QACxB,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;SACV;QACD,MAAM,CAAC,MAAM;aACR,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;YACd,OAAO,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC;QACvC,CAAC,CAAC;aACD,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACd,4CAA4C;YAC5C,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBACxB,OAAO,CAAC;oBACJ,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,OAAO,EAAE,IAAI,CAAC,IAAI;iBACrB,CAAC,CAAC;aACN;QACL,CAAC,CAAC,CAAC;IACX,CAAC;CACJ,CAAC"}
1
+ {"version":3,"file":"yfm008.js","sourceRoot":"","sources":["../../../src/transform/yfmlint/markdownlint-custom-rule/yfm008.ts"],"names":[],"mappings":";;;AAEa,QAAA,MAAM,GAAS;IACxB,KAAK,EAAE,CAAC,QAAQ,EAAE,oCAAoC,CAAC;IACvD,WAAW,EAAE,oCAAoC;IACjD,IAAI,EAAE,CAAC,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO;QACrC,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,CAAC;QACxB,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,OAAO;QACX,CAAC;QACD,MAAM,CAAC,MAAM;aACR,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;YACd,OAAO,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC;QACvC,CAAC,CAAC;aACD,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACd,4CAA4C;YAC5C,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACzB,OAAO,CAAC;oBACJ,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,OAAO,EAAE,IAAI,CAAC,IAAI;iBACrB,CAAC,CAAC;YACP,CAAC;QACL,CAAC,CAAC,CAAC;IACX,CAAC;CACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"yfm009.js","sourceRoot":"","sources":["../../../src/transform/yfmlint/markdownlint-custom-rule/yfm009.ts"],"names":[],"mappings":";;;AAEa,QAAA,MAAM,GAAS;IACxB,KAAK,EAAE,CAAC,QAAQ,EAAE,+BAA+B,CAAC;IAClD,WAAW,EAAE,qDAAqD;IAClE,IAAI,EAAE,CAAC,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO;QACrC,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,CAAC;QACxB,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;SACV;QAED,IAAI,cAAc,GAAG,CAAC,CAAC,CAAC;QACxB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;QAElC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;YAC3B,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE;gBACvC,cAAc,GAAG,CAAC,CAAC;aACtB;YAED,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE;gBACvC,SAAS;aACZ;YAED,IAAI,CAAC,KAAK,IAAI,GAAG,CAAC,EAAE;gBAChB,SAAS;aACZ;YAED,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,EAAE;gBAC1C,SAAS;aACZ;YAED,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,EAAE;gBAC1D,SAAS;aACZ;YAED,OAAO,CAAC;gBACJ,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU;gBAC3C,MAAM,EAAE,qGAAqG;aAChH,CAAC,CAAC;SACN;QAED,IAAI,cAAc,KAAK,CAAC,CAAC,EAAE;YACvB,OAAO;SACV;QAED,IAAI,cAAc,KAAK,IAAI,GAAG,CAAC,EAAE;YAC7B,OAAO,CAAC;gBACJ,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,UAAU;gBACxD,MAAM,EAAE,mCAAmC;aAC9C,CAAC,CAAC;SACN;IACL,CAAC;CACJ,CAAC"}
1
+ {"version":3,"file":"yfm009.js","sourceRoot":"","sources":["../../../src/transform/yfmlint/markdownlint-custom-rule/yfm009.ts"],"names":[],"mappings":";;;AAEa,QAAA,MAAM,GAAS;IACxB,KAAK,EAAE,CAAC,QAAQ,EAAE,+BAA+B,CAAC;IAClD,WAAW,EAAE,qDAAqD;IAClE,IAAI,EAAE,CAAC,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO;QACrC,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,CAAC;QACxB,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,OAAO;QACX,CAAC;QAED,IAAI,cAAc,GAAG,CAAC,CAAC,CAAC;QACxB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;QAElC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5B,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBACxC,cAAc,GAAG,CAAC,CAAC;YACvB,CAAC;YAED,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBACxC,SAAS;YACb,CAAC;YAED,IAAI,CAAC,KAAK,IAAI,GAAG,CAAC,EAAE,CAAC;gBACjB,SAAS;YACb,CAAC;YAED,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC3C,SAAS;YACb,CAAC;YAED,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC3D,SAAS;YACb,CAAC;YAED,OAAO,CAAC;gBACJ,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU;gBAC3C,MAAM,EAAE,qGAAqG;aAChH,CAAC,CAAC;QACP,CAAC;QAED,IAAI,cAAc,KAAK,CAAC,CAAC,EAAE,CAAC;YACxB,OAAO;QACX,CAAC;QAED,IAAI,cAAc,KAAK,IAAI,GAAG,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC;gBACJ,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,UAAU;gBACxD,MAAM,EAAE,mCAAmC;aAC9C,CAAC,CAAC;QACP,CAAC;IACL,CAAC;CACJ,CAAC"}
@@ -1,22 +1,22 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getLogLevel = exports.errorToString = void 0;
4
- const path_1 = require("path");
3
+ exports.errorToString = errorToString;
4
+ exports.getLogLevel = getLogLevel;
5
5
  function errorToString(path, error, sourceMap) {
6
+ // Use forward slash for rule moniker separator for cross-platform compatibility
7
+ // Rule names like 'YFM001/inline-code-length' should use '/' not platform-specific separator
6
8
  const ruleMoniker = error.ruleNames
7
- ? error.ruleNames.join(path_1.sep)
9
+ ? error.ruleNames.join('/')
8
10
  : // @ts-expect-error bad markdownlint typings
9
- error.ruleName + path_1.sep + error.ruleAlias;
11
+ error.ruleName + '/' + error.ruleAlias;
10
12
  const lineNumber = sourceMap ? sourceMap[error.lineNumber] : error.lineNumber;
11
13
  return (`${path}${lineNumber ? `: ${lineNumber}:` : ':'} ${ruleMoniker} ${error.ruleDescription}` +
12
14
  (error.errorDetail ? ` [${error.errorDetail}]` : '') +
13
15
  (error.errorContext ? ` [Context: "${error.errorContext}"]` : ''));
14
16
  }
15
- exports.errorToString = errorToString;
16
17
  function getLogLevel(opts) {
17
18
  const { ruleNames, logLevelsConfig, defaultLevel } = opts;
18
19
  const ruleName = ruleNames.filter((ruleName) => ruleName in logLevelsConfig)[0];
19
20
  return logLevelsConfig[ruleName] || defaultLevel;
20
21
  }
21
- exports.getLogLevel = getLogLevel;
22
22
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/transform/yfmlint/utils.ts"],"names":[],"mappings":";;;AAIA,+BAAyB;AAEzB,SAAgB,aAAa,CAAC,IAAY,EAAE,KAAgB,EAAE,SAA8B;IACxF,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS;QAC/B,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,UAAG,CAAC;QAC3B,CAAC,CAAC,4CAA4C;YAC5C,KAAK,CAAC,QAAQ,GAAG,UAAG,GAAG,KAAK,CAAC,SAAS,CAAC;IAC7C,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;IAE9E,OAAO,CACH,GAAG,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,UAAU,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,WAAW,IAAI,KAAK,CAAC,eAAe,EAAE;QACzF,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACpD,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,eAAe,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CACpE,CAAC;AACN,CAAC;AAZD,sCAYC;AAED,SAAgB,WAAW,CAAC,IAI3B;IACG,MAAM,EAAC,SAAS,EAAE,eAAe,EAAE,YAAY,EAAC,GAAG,IAAI,CAAC;IACxD,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAC7B,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,IAAI,eAAe,CAC5C,CAAC,CAAC,CAAiC,CAAC;IAErC,OAAO,eAAe,CAAC,QAAQ,CAAC,IAAI,YAAY,CAAC;AACrD,CAAC;AAXD,kCAWC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/transform/yfmlint/utils.ts"],"names":[],"mappings":";;AAIA,sCAcC;AAED,kCAWC;AA3BD,SAAgB,aAAa,CAAC,IAAY,EAAE,KAAgB,EAAE,SAA8B;IACxF,gFAAgF;IAChF,6FAA6F;IAC7F,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS;QAC/B,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;QAC3B,CAAC,CAAC,4CAA4C;YAC5C,KAAK,CAAC,QAAQ,GAAG,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC;IAC7C,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;IAE9E,OAAO,CACH,GAAG,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,UAAU,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,WAAW,IAAI,KAAK,CAAC,eAAe,EAAE;QACzF,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACpD,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,eAAe,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CACpE,CAAC;AACN,CAAC;AAED,SAAgB,WAAW,CAAC,IAI3B;IACG,MAAM,EAAC,SAAS,EAAE,eAAe,EAAE,YAAY,EAAC,GAAG,IAAI,CAAC;IACxD,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAC7B,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,IAAI,eAAe,CAC5C,CAAC,CAAC,CAAiC,CAAC;IAErC,OAAO,eAAe,CAAC,QAAQ,CAAC,IAAI,YAAY,CAAC;AACrD,CAAC"}
@@ -4,66 +4,66 @@ const index = {
4
4
  // Default state for all rules
5
5
  default: true,
6
6
  'log-levels': {
7
- MD001: log_1.LogLevels.DISABLED,
8
- MD002: log_1.LogLevels.DISABLED,
9
- MD003: log_1.LogLevels.DISABLED,
10
- MD004: log_1.LogLevels.DISABLED,
11
- MD005: log_1.LogLevels.DISABLED,
12
- MD006: log_1.LogLevels.DISABLED,
13
- MD007: log_1.LogLevels.DISABLED,
14
- MD009: log_1.LogLevels.DISABLED,
15
- MD010: log_1.LogLevels.DISABLED,
16
- MD011: log_1.LogLevels.DISABLED,
17
- MD012: log_1.LogLevels.DISABLED,
18
- MD013: log_1.LogLevels.DISABLED,
19
- MD014: log_1.LogLevels.DISABLED,
20
- MD018: log_1.LogLevels.DISABLED,
21
- MD019: log_1.LogLevels.DISABLED,
22
- MD020: log_1.LogLevels.DISABLED,
23
- MD021: log_1.LogLevels.DISABLED,
24
- MD022: log_1.LogLevels.DISABLED,
25
- MD023: log_1.LogLevels.DISABLED,
26
- MD024: log_1.LogLevels.DISABLED,
27
- MD025: log_1.LogLevels.DISABLED,
28
- MD026: log_1.LogLevels.DISABLED,
29
- MD027: log_1.LogLevels.DISABLED,
30
- MD028: log_1.LogLevels.DISABLED,
31
- MD029: log_1.LogLevels.DISABLED,
32
- MD030: log_1.LogLevels.DISABLED,
33
- MD031: log_1.LogLevels.DISABLED,
34
- MD032: log_1.LogLevels.DISABLED,
35
- MD033: log_1.LogLevels.DISABLED,
36
- MD034: log_1.LogLevels.DISABLED,
37
- MD035: log_1.LogLevels.DISABLED,
38
- MD036: log_1.LogLevels.DISABLED,
39
- MD037: log_1.LogLevels.DISABLED,
40
- MD038: log_1.LogLevels.DISABLED,
41
- MD039: log_1.LogLevels.DISABLED,
42
- MD040: log_1.LogLevels.DISABLED,
43
- MD041: log_1.LogLevels.DISABLED,
44
- MD042: log_1.LogLevels.DISABLED,
45
- MD043: log_1.LogLevels.DISABLED,
46
- MD044: log_1.LogLevels.DISABLED,
47
- MD045: log_1.LogLevels.DISABLED,
48
- MD046: log_1.LogLevels.DISABLED,
49
- MD047: log_1.LogLevels.DISABLED,
50
- MD048: log_1.LogLevels.DISABLED,
51
- MD049: log_1.LogLevels.DISABLED,
52
- MD050: log_1.LogLevels.DISABLED,
53
- MD051: log_1.LogLevels.DISABLED,
54
- MD052: log_1.LogLevels.DISABLED,
55
- MD053: log_1.LogLevels.DISABLED,
56
- MD054: log_1.LogLevels.DISABLED,
57
- MD055: log_1.LogLevels.DISABLED,
58
- MD056: log_1.LogLevels.DISABLED,
59
- YFM001: log_1.LogLevels.WARN,
60
- YFM002: log_1.LogLevels.WARN,
61
- YFM003: log_1.LogLevels.ERROR,
62
- YFM004: log_1.LogLevels.ERROR,
63
- YFM005: log_1.LogLevels.ERROR,
64
- YFM006: log_1.LogLevels.WARN,
65
- YFM007: log_1.LogLevels.WARN,
66
- YFM008: log_1.LogLevels.WARN,
7
+ MD001: log_1.LogLevels.DISABLED, // Heading levels should only increment by one level at a time
8
+ MD002: log_1.LogLevels.DISABLED, // First heading should be a top-level heading~~
9
+ MD003: log_1.LogLevels.DISABLED, // Heading style
10
+ MD004: log_1.LogLevels.DISABLED, // Unordered list style
11
+ MD005: log_1.LogLevels.DISABLED, // Inconsistent indentation for list items at the same level
12
+ MD006: log_1.LogLevels.DISABLED, // Consider starting bulleted lists at the beginning of the line~~
13
+ MD007: log_1.LogLevels.DISABLED, // Unordered list indentation
14
+ MD009: log_1.LogLevels.DISABLED, // Trailing spaces
15
+ MD010: log_1.LogLevels.DISABLED, // Hard tabs
16
+ MD011: log_1.LogLevels.DISABLED, // Reversed link syntax
17
+ MD012: log_1.LogLevels.DISABLED, // Multiple consecutive blank lines
18
+ MD013: log_1.LogLevels.DISABLED, // Line length
19
+ MD014: log_1.LogLevels.DISABLED, // Dollar signs used before commands without showing output
20
+ MD018: log_1.LogLevels.DISABLED, // No space after hash on atx style heading
21
+ MD019: log_1.LogLevels.DISABLED, // Multiple spaces after hash on atx style heading
22
+ MD020: log_1.LogLevels.DISABLED, // No space inside hashes on closed atx style heading
23
+ MD021: log_1.LogLevels.DISABLED, // Multiple spaces inside hashes on closed atx style heading
24
+ MD022: log_1.LogLevels.DISABLED, // Headings should be surrounded by blank lines
25
+ MD023: log_1.LogLevels.DISABLED, // Headings must start at the beginning of the line
26
+ MD024: log_1.LogLevels.DISABLED, // Multiple headings with the same content
27
+ MD025: log_1.LogLevels.DISABLED, // Multiple top-level headings in the same document
28
+ MD026: log_1.LogLevels.DISABLED, // Trailing punctuation in heading
29
+ MD027: log_1.LogLevels.DISABLED, // Multiple spaces after blockquote symbol
30
+ MD028: log_1.LogLevels.DISABLED, // Blank line inside blockquote
31
+ MD029: log_1.LogLevels.DISABLED, // Ordered list item prefix
32
+ MD030: log_1.LogLevels.DISABLED, // Spaces after list markers
33
+ MD031: log_1.LogLevels.DISABLED, // Fenced code blocks should be surrounded by blank lines
34
+ MD032: log_1.LogLevels.DISABLED, // Lists should be surrounded by blank lines
35
+ MD033: log_1.LogLevels.DISABLED, // Inline HTML
36
+ MD034: log_1.LogLevels.DISABLED, // Bare URL used
37
+ MD035: log_1.LogLevels.DISABLED, // Horizontal rule style
38
+ MD036: log_1.LogLevels.DISABLED, // Emphasis used instead of a heading
39
+ MD037: log_1.LogLevels.DISABLED, // Spaces inside emphasis markers
40
+ MD038: log_1.LogLevels.DISABLED, // Spaces inside code span elements
41
+ MD039: log_1.LogLevels.DISABLED, // Spaces inside link text
42
+ MD040: log_1.LogLevels.DISABLED, // Fenced code blocks should have a language specified
43
+ MD041: log_1.LogLevels.DISABLED, // First line in a file should be a top-level heading
44
+ MD042: log_1.LogLevels.DISABLED, // No empty links
45
+ MD043: log_1.LogLevels.DISABLED, // Required heading structure
46
+ MD044: log_1.LogLevels.DISABLED, // Proper names should have the correct capitalization
47
+ MD045: log_1.LogLevels.DISABLED, // Images should have alternate text (alt text)
48
+ MD046: log_1.LogLevels.DISABLED, // Code block style
49
+ MD047: log_1.LogLevels.DISABLED, // Files should end with a single newline character
50
+ MD048: log_1.LogLevels.DISABLED, // Code fence style
51
+ MD049: log_1.LogLevels.DISABLED, // Emphasis style should be consistent
52
+ MD050: log_1.LogLevels.DISABLED, // Strong style should be consistent
53
+ MD051: log_1.LogLevels.DISABLED, // Link fragments should be valid
54
+ MD052: log_1.LogLevels.DISABLED, // Reference links and images should use a label that is defined
55
+ MD053: log_1.LogLevels.DISABLED, // Link and image reference definitions should be needed
56
+ MD054: log_1.LogLevels.DISABLED, // Link and image style
57
+ MD055: log_1.LogLevels.DISABLED, // Table pipe style
58
+ MD056: log_1.LogLevels.DISABLED, // Table column count
59
+ YFM001: log_1.LogLevels.WARN, // Inline code length
60
+ YFM002: log_1.LogLevels.WARN, // No header found in the file for the link text
61
+ YFM003: log_1.LogLevels.ERROR, // Link is unreachable
62
+ YFM004: log_1.LogLevels.ERROR, // Table not closed
63
+ YFM005: log_1.LogLevels.ERROR, // Tab list not closed
64
+ YFM006: log_1.LogLevels.WARN, // Term definition duplicated
65
+ YFM007: log_1.LogLevels.WARN, // Term used without definition
66
+ YFM008: log_1.LogLevels.WARN, // Term inside definition not allowed
67
67
  YFM009: log_1.LogLevels.ERROR, // Term definition used not at the end of file
68
68
  },
69
69
  // Inline code length
@@ -1 +1 @@
1
- {"version":3,"file":"yfmlint.js","sourceRoot":"","sources":["../../src/transform/yfmlint/yfmlint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"yfmlint.js","sourceRoot":"","sources":["../../src/transform/yfmlint/yfmlint.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@diplodoc/transform",
3
- "version": "4.65.3",
3
+ "version": "4.67.0",
4
4
  "description": "A simple transformer of text in YFM (Yandex Flavored Markdown) to HTML",
5
5
  "keywords": [
6
6
  "markdown",
@@ -42,7 +42,7 @@
42
42
  "artifact:playground": "node --input-type=module -e \"(await import('./playground/scripts/pages.mjs')).bundleDeployables('./pages-build')\"",
43
43
  "artifact:pages": "npm run build && npm run artifact:playground",
44
44
  "prepublishOnly": "npm run lint && npm run test && npm run build",
45
- "test": "jest --coverage",
45
+ "test": "vitest run --coverage",
46
46
  "test:playwright:nobuild": "cd e2e && npm run playwright:docker --",
47
47
  "test:playwright": "npm run build && npm run test:playwright:nobuild --",
48
48
  "typecheck": "tsc -p tsconfig.json --noEmit",
@@ -52,8 +52,8 @@
52
52
  "prepare": "husky"
53
53
  },
54
54
  "dependencies": {
55
- "@diplodoc/cut-extension": "^1.1.0",
56
- "@diplodoc/file-extension": "^0.2.1",
55
+ "@diplodoc/cut-extension": "^1.1.1",
56
+ "@diplodoc/file-extension": "^0.2.2",
57
57
  "@diplodoc/tabs-extension": "^3.7.6",
58
58
  "@diplodoc/utils": "^2.1.0",
59
59
  "chalk": "^4.1.2",
@@ -78,30 +78,31 @@
78
78
  },
79
79
  "devDependencies": {
80
80
  "@diplodoc/babel-preset": "^1.0.2",
81
- "@diplodoc/lint": "^1.2.1",
81
+ "@diplodoc/lint": "^1.10.2",
82
82
  "@diplodoc/tsconfig": "^1.0.2",
83
83
  "@types/css": "0.0.34",
84
84
  "@types/github-slugger": "^1.3.0",
85
- "@types/jest": "28.1.7",
86
85
  "@types/js-yaml": "^4.0.5",
87
86
  "@types/lodash": "4.14.183",
88
87
  "@types/markdown-it": "^13.0.9",
89
88
  "@types/markdown-it-attrs": "4.1.0",
90
- "@types/node": "17.0.10",
89
+ "@types/node": "^22.19.7",
91
90
  "@types/sanitize-html": "^2.9.3",
91
+ "@vitest/coverage-v8": "^2.1.9",
92
+ "@vitest/ui": "^2.1.8",
92
93
  "autoprefixer": "^10.4.15",
93
- "esbuild": "^0.23.1",
94
+ "esbuild": "^0.27.2",
94
95
  "esbuild-sass-plugin": "^3.3.1",
95
96
  "highlight.js": "^11.8.0",
96
- "jest": "28.1.3",
97
97
  "jest-serializer-html": "^7.1.0",
98
98
  "markdown-it-testgen": "^0.1.6",
99
99
  "npm-run-all": "^4.1.5",
100
100
  "postcss": "^8.4.27",
101
101
  "postcss-preset-env": "^9.1.1",
102
102
  "sass": "^1.79.0",
103
- "ts-jest": "28.0.8",
104
- "typescript": "4.7.4"
103
+ "terminal-link": "^2.1.1",
104
+ "typescript": "^5.6.3",
105
+ "vitest": "^2.1.8"
105
106
  },
106
107
  "peerDependencies": {
107
108
  "highlight.js": "^10.0.3 || ^11"
@@ -23,10 +23,12 @@
23
23
  color: var(--yfm-color-text, var(--yfm-color-text-private));
24
24
  tab-size: var(--yfm-tab-size, inherit);
25
25
 
26
- --yfm-font-family-monospace: 'Menlo', 'Monaco', 'Consolas', 'Ubuntu Mono', 'Liberation Mono',
27
- 'DejaVu Sans Mono', 'Courier New', 'Courier', monospace;
28
- --yfm-font-family-sans: 'Segoe UI', arial, helvetica, sans-serif, 'Apple Color Emoji',
29
- 'Segoe UI Emoji', 'Segoe UI Symbol';
26
+ --yfm-font-family-monospace:
27
+ 'Menlo', 'Monaco', 'Consolas', 'Ubuntu Mono', 'Liberation Mono', 'DejaVu Sans Mono',
28
+ 'Courier New', 'Courier', monospace;
29
+ --yfm-font-family-sans:
30
+ 'Segoe UI', arial, helvetica, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji',
31
+ 'Segoe UI Symbol';
30
32
 
31
33
  * {
32
34
  box-sizing: border-box;
@@ -51,17 +51,19 @@
51
51
  }
52
52
 
53
53
  $backgroundColors: (
54
- yfm-accent-info:
55
- var(--yfm-color-note-info-background, var(--yfm-color-note-info-background-private)),
56
- yfm-accent-tip:
57
- var(--yfm-color-note-tip-background, var(--yfm-color-note-tip-background-private)),
58
- yfm-accent-alert:
59
- var(
54
+ yfm-accent-info: var(
55
+ --yfm-color-note-info-background,
56
+ var(--yfm-color-note-info-background-private)
57
+ ),
58
+ yfm-accent-tip: var(
59
+ --yfm-color-note-tip-background,
60
+ var(--yfm-color-note-tip-background-private)
61
+ ),
62
+ yfm-accent-alert: var(
60
63
  --yfm-color-note-important-background,
61
64
  var(--yfm-color-note-important-background-private)
62
65
  ),
63
- yfm-accent-warning:
64
- var(
66
+ yfm-accent-warning: var(
65
67
  --yfm-color-note-warning-background,
66
68
  var(--yfm-color-note-warning-background-private)
67
69
  ),
@@ -6,4 +6,4 @@
6
6
  }
7
7
  }
8
8
  }
9
- }
9
+ }
@@ -4,10 +4,11 @@
4
4
  display: none;
5
5
  }
6
6
 
7
- h1, h2 {
7
+ h1,
8
+ h2 {
8
9
  &[data-original-article] {
9
10
  page-break-before: always;
10
11
  }
11
12
  }
12
13
  }
13
- }
14
+ }
@@ -14,11 +14,12 @@
14
14
  display: table-row-group;
15
15
  }
16
16
 
17
- th, td {
17
+ th,
18
+ td {
18
19
  page-break-inside: avoid;
19
20
  white-space: pre-wrap;
20
21
  text-overflow: initial;
21
22
  }
22
23
  }
23
24
  }
24
- }
25
+ }
@@ -7,4 +7,4 @@
7
7
  }
8
8
  }
9
9
  }
10
- }
10
+ }
@@ -24,7 +24,7 @@ export = function makeHighlight(langs: HighlightLangMap = {}) {
24
24
  language: lang,
25
25
  ignoreIllegals: true,
26
26
  }).value;
27
- } catch (_) {}
27
+ } catch {}
28
28
  }
29
29
 
30
30
  highlightedStr = highlightedStr || escapeHtml(str);
@@ -28,7 +28,7 @@ const operators: Record<string, WithFilter | NoFilter | DotOperator> = {
28
28
  '|': ((l, filter, exp) => {
29
29
  try {
30
30
  return filter(l);
31
- } catch (e) {
31
+ } catch {
32
32
  if (!filter) {
33
33
  throw new SkippedEvalError('Cannot apply an unsupported filter', exp);
34
34
  }
@@ -46,7 +46,7 @@ const operators: Record<string, WithFilter | NoFilter | DotOperator> = {
46
46
  const {name, args} = parsed;
47
47
 
48
48
  return l[name](...args);
49
- } catch (e) {
49
+ } catch {
50
50
  if (!l) {
51
51
  throw new SkippedEvalError(
52
52
  `Cannot apply the function '${name}' on an undefined variable`,
@@ -5,7 +5,7 @@ import {TOKEN_NAME, renderTokens, replaceTokens} from './block-anchor';
5
5
  const blockAnchor = (md: MarkdownIt) => {
6
6
  try {
7
7
  md.core.ruler.before('curly_attributes', TOKEN_NAME, replaceTokens);
8
- } catch (e) {
8
+ } catch {
9
9
  md.core.ruler.push(TOKEN_NAME, replaceTokens);
10
10
  }
11
11
  md.renderer.rules[TOKEN_NAME] = renderTokens;
@@ -163,7 +163,7 @@ const changelog: MarkdownItPluginCb<Options> = function (md, {extractChangelogs,
163
163
 
164
164
  try {
165
165
  md.core.ruler.before('curly_attributes', 'changelog', plugin);
166
- } catch (e) {
166
+ } catch {
167
167
  md.core.ruler.push('changelog', plugin);
168
168
  }
169
169
  };
@@ -15,12 +15,20 @@ export const CheckboxTokenType = {
15
15
  CheckboxLabelClose: 'checkbox_label_close',
16
16
  } as const;
17
17
 
18
+ type ParsedCheckbox = {
19
+ tokens: Token[];
20
+ startLine: number;
21
+ endLine: number;
22
+ checked: boolean;
23
+ };
24
+
18
25
  function matchOpenToken(tokens: Token[], i: number) {
19
- return (
20
- tokens[i].type === 'paragraph_open' &&
21
- tokens[i + 1].type === 'inline' &&
22
- tokens[i + 1].content.match(pattern)
23
- );
26
+ if (tokens[i].type !== 'paragraph_open' || tokens[i + 1].type !== 'inline') {
27
+ return false;
28
+ }
29
+
30
+ const firstInline = tokens[i + 1].children?.[0];
31
+ return firstInline?.type === 'text' && pattern.test(firstInline.content);
24
32
  }
25
33
 
26
34
  export type CheckboxOptions = {
@@ -39,16 +47,16 @@ export const checkboxReplace = function (_md: MarkdownIt, opts?: CheckboxOptions
39
47
  };
40
48
  const options = Object.assign(defaults, opts);
41
49
 
42
- const createTokens = function (state: StateCore, checked: boolean, label: string, i: number) {
50
+ const createTokens = function (state: StateCore, checkbox: ParsedCheckbox): Token[] {
43
51
  let token: Token;
44
- const nodes = [];
52
+ const nodes: Token[] = [];
45
53
 
46
54
  /**
47
55
  * <div class="checkbox">
48
56
  */
49
57
  token = new state.Token(CheckboxTokenType.CheckboxOpen, 'div', 1);
50
58
  token.block = true;
51
- token.map = state.tokens[i].map;
59
+ token.map = [checkbox.startLine, checkbox.endLine];
52
60
  token.attrs = [['class', options.divClass]];
53
61
  nodes.push(token);
54
62
 
@@ -59,7 +67,7 @@ export const checkboxReplace = function (_md: MarkdownIt, opts?: CheckboxOptions
59
67
  lastId += 1;
60
68
  token = new state.Token(CheckboxTokenType.CheckboxInput, 'input', 0);
61
69
  token.block = true;
62
- token.map = state.tokens[i].map;
70
+ token.map = [checkbox.startLine, checkbox.endLine];
63
71
  token.attrs = [
64
72
  ['type', 'checkbox'],
65
73
  ['id', id],
@@ -67,7 +75,7 @@ export const checkboxReplace = function (_md: MarkdownIt, opts?: CheckboxOptions
67
75
  if (options.disabled) {
68
76
  token.attrSet('disabled', '');
69
77
  }
70
- if (checked === true) {
78
+ if (checkbox.checked === true) {
71
79
  token.attrSet('checked', 'true');
72
80
  }
73
81
  nodes.push(token);
@@ -82,41 +90,111 @@ export const checkboxReplace = function (_md: MarkdownIt, opts?: CheckboxOptions
82
90
  /**
83
91
  * content of label tag
84
92
  */
85
- token = state.md.parseInline(label, state.env)[0];
86
- nodes.push(token);
93
+ nodes.push(...checkbox.tokens);
87
94
 
88
95
  /**
89
96
  * closing tags
90
97
  */
91
98
  token = new state.Token(CheckboxTokenType.CheckboxLabelClose, 'label', -1);
92
99
  token.block = true;
93
- token.map = state.tokens[i].map;
100
+ token.map = [checkbox.startLine, checkbox.endLine];
94
101
  nodes.push(token);
95
102
  token = new state.Token(CheckboxTokenType.CheckboxClose, 'div', -1);
96
103
  token.block = true;
97
- token.map = state.tokens[i].map;
104
+ token.map = [checkbox.startLine, checkbox.endLine];
98
105
  nodes.push(token);
99
106
 
100
107
  return nodes;
101
108
  };
102
- const splitTextToken = function (state: StateCore, matches: RegExpMatchArray, i: number) {
103
- let checked = false;
104
- const value = matches[1];
105
- const label = matches[2];
106
- if (value === 'X' || value === 'x') {
107
- checked = true;
108
- }
109
- return createTokens(state, checked, label, i);
110
- };
111
109
  return function (state) {
112
110
  const blockTokens = state.tokens;
113
111
  for (let i = 0; i < blockTokens.length; i++) {
114
- const match = matchOpenToken(blockTokens, i);
115
- if (!match) {
112
+ if (!matchOpenToken(blockTokens, i)) {
116
113
  continue;
117
114
  }
118
115
 
119
- blockTokens.splice(i, 3, ...splitTextToken(state, match, i));
116
+ const pToken = blockTokens[i];
117
+ const startLine = pToken.map?.[0] ?? NaN;
118
+
119
+ const checkboxes = parseInlineContent(blockTokens[i + 1], startLine);
120
+
121
+ const checkboxTokens: Token[] = [];
122
+ for (const checkbox of checkboxes) {
123
+ const first = checkbox.tokens[0];
124
+ // remove checkbox markup [X]␣ at start of text content
125
+ first.content = first.content.slice(4);
126
+ checkboxTokens.push(...createTokens(state, checkbox));
127
+ }
128
+
129
+ // replace paragraph tokens with checkbox tokens
130
+ if (checkboxTokens.length > 0) {
131
+ blockTokens.splice(i, 3, ...checkboxTokens);
132
+ i += checkboxTokens.length - 1;
133
+ }
120
134
  }
121
135
  };
122
136
  };
137
+
138
+ function parseInlineContent(inlineToken: Token, startLine: number): ParsedCheckbox[] {
139
+ const children = inlineToken.children || [];
140
+ const lines = splitInlineTokensByBreaks(children);
141
+ return parseCheckboxesByLines(lines, startLine);
142
+ }
143
+
144
+ function splitInlineTokensByBreaks(tokens: Token[]): Token[][] {
145
+ const lines: Token[][] = [];
146
+ let lineIdx = 0;
147
+ for (const token of tokens) {
148
+ lines[lineIdx] ||= [];
149
+ lines[lineIdx].push(token);
150
+
151
+ if (isBreakToken(token)) {
152
+ lineIdx += 1;
153
+ }
154
+ }
155
+
156
+ return lines;
157
+ }
158
+
159
+ function parseCheckboxesByLines(lines: Token[][], startLine: number): ParsedCheckbox[] {
160
+ const checkboxes: ParsedCheckbox[] = [];
161
+
162
+ let checkboxIdx = -1;
163
+ for (let lineIdx = 0; lineIdx < lines.length; lineIdx++) {
164
+ const line = lines[lineIdx];
165
+ const first = line?.[0];
166
+ if (!first) {
167
+ continue;
168
+ }
169
+
170
+ let match;
171
+ if (first.type === 'text' && (match = first.content.match(pattern))) {
172
+ const prevLastToken = checkboxes[checkboxIdx]?.tokens.at(-1);
173
+ if (prevLastToken && isBreakToken(prevLastToken)) {
174
+ // remove hanging line breaks
175
+ checkboxes[checkboxIdx].tokens.splice(-1);
176
+ }
177
+
178
+ checkboxIdx += 1;
179
+ checkboxes[checkboxIdx] ||= {
180
+ tokens: [],
181
+ checked: isChecked(match[1]),
182
+ startLine: startLine + lineIdx,
183
+ endLine: startLine + lineIdx + 1,
184
+ };
185
+ }
186
+
187
+ checkboxes[checkboxIdx].tokens.push(...line);
188
+ checkboxes[checkboxIdx].endLine = startLine + lineIdx + 1;
189
+ }
190
+
191
+ return checkboxes;
192
+ }
193
+
194
+ function isChecked(value: string): boolean {
195
+ return value === 'X' || value === 'x';
196
+ }
197
+
198
+ function isBreakToken(token: Token): boolean {
199
+ return token.type === 'softbreak' || token.type === 'hardbreak';
200
+ }