@alexlit/lint-kit 107.0.0 → 107.2.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 (193) hide show
  1. package/package.json +1 -11
  2. package/packages/config-commitlint/package.json +2 -2
  3. package/packages/config-eslint/package.json +4 -4
  4. package/packages/config-hooks/package.json +3 -3
  5. package/packages/config-markdownlint/node_modules/markdown-it/LICENSE +22 -0
  6. package/packages/config-markdownlint/node_modules/markdown-it/README.md +309 -0
  7. package/packages/config-markdownlint/node_modules/markdown-it/bin/markdown-it.js +117 -0
  8. package/packages/config-markdownlint/node_modules/markdown-it/dist/markdown-it.js +8441 -0
  9. package/packages/config-markdownlint/node_modules/markdown-it/dist/markdown-it.min.js +3 -0
  10. package/packages/config-markdownlint/node_modules/markdown-it/index.js +4 -0
  11. package/packages/config-markdownlint/node_modules/markdown-it/lib/common/entities.js +6 -0
  12. package/packages/config-markdownlint/node_modules/markdown-it/lib/common/html_blocks.js +70 -0
  13. package/packages/config-markdownlint/node_modules/markdown-it/lib/common/html_re.js +28 -0
  14. package/packages/config-markdownlint/node_modules/markdown-it/lib/common/utils.js +317 -0
  15. package/packages/config-markdownlint/node_modules/markdown-it/lib/helpers/index.js +7 -0
  16. package/packages/config-markdownlint/node_modules/markdown-it/lib/helpers/parse_link_destination.js +80 -0
  17. package/packages/config-markdownlint/node_modules/markdown-it/lib/helpers/parse_link_label.js +48 -0
  18. package/packages/config-markdownlint/node_modules/markdown-it/lib/helpers/parse_link_title.js +55 -0
  19. package/packages/config-markdownlint/node_modules/markdown-it/lib/index.js +582 -0
  20. package/packages/config-markdownlint/node_modules/markdown-it/lib/parser_block.js +131 -0
  21. package/packages/config-markdownlint/node_modules/markdown-it/lib/parser_core.js +61 -0
  22. package/packages/config-markdownlint/node_modules/markdown-it/lib/parser_inline.js +192 -0
  23. package/packages/config-markdownlint/node_modules/markdown-it/lib/presets/commonmark.js +81 -0
  24. package/packages/config-markdownlint/node_modules/markdown-it/lib/presets/default.js +41 -0
  25. package/packages/config-markdownlint/node_modules/markdown-it/lib/presets/zero.js +63 -0
  26. package/packages/config-markdownlint/node_modules/markdown-it/lib/renderer.js +341 -0
  27. package/packages/config-markdownlint/node_modules/markdown-it/lib/ruler.js +352 -0
  28. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_block/blockquote.js +226 -0
  29. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_block/code.js +34 -0
  30. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_block/fence.js +98 -0
  31. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_block/heading.js +55 -0
  32. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_block/hr.js +45 -0
  33. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_block/html_block.js +74 -0
  34. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_block/lheading.js +83 -0
  35. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_block/list.js +362 -0
  36. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_block/paragraph.js +51 -0
  37. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_block/reference.js +198 -0
  38. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_block/state_block.js +231 -0
  39. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_block/table.js +221 -0
  40. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_core/block.js +16 -0
  41. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_core/inline.js +13 -0
  42. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_core/linkify.js +142 -0
  43. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_core/normalize.js +21 -0
  44. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_core/replacements.js +105 -0
  45. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_core/smartquotes.js +201 -0
  46. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_core/state_core.js +20 -0
  47. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_core/text_join.js +45 -0
  48. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_inline/autolink.js +76 -0
  49. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_inline/backticks.js +63 -0
  50. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_inline/balance_pairs.js +130 -0
  51. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_inline/emphasis.js +130 -0
  52. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_inline/entity.js +55 -0
  53. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_inline/escape.js +71 -0
  54. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_inline/fragments_join.js +41 -0
  55. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_inline/html_inline.js +58 -0
  56. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_inline/image.js +152 -0
  57. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_inline/link.js +150 -0
  58. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_inline/linkify.js +62 -0
  59. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_inline/newline.js +46 -0
  60. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_inline/state_inline.js +158 -0
  61. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_inline/strikethrough.js +130 -0
  62. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_inline/text.js +89 -0
  63. package/packages/config-markdownlint/node_modules/markdown-it/lib/token.js +201 -0
  64. package/packages/config-markdownlint/node_modules/markdown-it/package.json +87 -0
  65. package/packages/config-markdownlint/node_modules/markdownlint/CHANGELOG.md +428 -0
  66. package/packages/config-markdownlint/node_modules/markdownlint/CONTRIBUTING.md +92 -0
  67. package/packages/config-markdownlint/node_modules/markdownlint/LICENSE +21 -0
  68. package/packages/config-markdownlint/node_modules/markdownlint/README.md +1026 -0
  69. package/packages/config-markdownlint/node_modules/markdownlint/demo/markdownlint-browser.js +6814 -0
  70. package/packages/config-markdownlint/node_modules/markdownlint/doc/CustomRules.md +376 -0
  71. package/packages/config-markdownlint/node_modules/markdownlint/doc/Prettier.md +27 -0
  72. package/packages/config-markdownlint/node_modules/markdownlint/doc/ReleaseProcess.md +20 -0
  73. package/packages/config-markdownlint/node_modules/markdownlint/doc/Rules.md +2335 -0
  74. package/packages/config-markdownlint/node_modules/markdownlint/doc/md001.md +37 -0
  75. package/packages/config-markdownlint/node_modules/markdownlint/doc/md003.md +59 -0
  76. package/packages/config-markdownlint/node_modules/markdownlint/doc/md004.md +49 -0
  77. package/packages/config-markdownlint/node_modules/markdownlint/doc/md005.md +53 -0
  78. package/packages/config-markdownlint/node_modules/markdownlint/doc/md007.md +52 -0
  79. package/packages/config-markdownlint/node_modules/markdownlint/doc/md009.md +51 -0
  80. package/packages/config-markdownlint/node_modules/markdownlint/doc/md010.md +56 -0
  81. package/packages/config-markdownlint/node_modules/markdownlint/doc/md011.md +30 -0
  82. package/packages/config-markdownlint/node_modules/markdownlint/doc/md012.md +38 -0
  83. package/packages/config-markdownlint/node_modules/markdownlint/doc/md013.md +57 -0
  84. package/packages/config-markdownlint/node_modules/markdownlint/doc/md014.md +54 -0
  85. package/packages/config-markdownlint/node_modules/markdownlint/doc/md018.md +27 -0
  86. package/packages/config-markdownlint/node_modules/markdownlint/doc/md019.md +28 -0
  87. package/packages/config-markdownlint/node_modules/markdownlint/doc/md020.md +29 -0
  88. package/packages/config-markdownlint/node_modules/markdownlint/doc/md021.md +31 -0
  89. package/packages/config-markdownlint/node_modules/markdownlint/doc/md022.md +52 -0
  90. package/packages/config-markdownlint/node_modules/markdownlint/doc/md023.md +33 -0
  91. package/packages/config-markdownlint/node_modules/markdownlint/doc/md024.md +47 -0
  92. package/packages/config-markdownlint/node_modules/markdownlint/doc/md025.md +49 -0
  93. package/packages/config-markdownlint/node_modules/markdownlint/doc/md026.md +40 -0
  94. package/packages/config-markdownlint/node_modules/markdownlint/doc/md027.md +24 -0
  95. package/packages/config-markdownlint/node_modules/markdownlint/doc/md028.md +40 -0
  96. package/packages/config-markdownlint/node_modules/markdownlint/doc/md029.md +98 -0
  97. package/packages/config-markdownlint/node_modules/markdownlint/doc/md030.md +82 -0
  98. package/packages/config-markdownlint/node_modules/markdownlint/doc/md031.md +50 -0
  99. package/packages/config-markdownlint/node_modules/markdownlint/doc/md032.md +55 -0
  100. package/packages/config-markdownlint/node_modules/markdownlint/doc/md033.md +27 -0
  101. package/packages/config-markdownlint/node_modules/markdownlint/doc/md034.md +50 -0
  102. package/packages/config-markdownlint/node_modules/markdownlint/doc/md035.md +42 -0
  103. package/packages/config-markdownlint/node_modules/markdownlint/doc/md036.md +45 -0
  104. package/packages/config-markdownlint/node_modules/markdownlint/doc/md037.md +37 -0
  105. package/packages/config-markdownlint/node_modules/markdownlint/doc/md038.md +40 -0
  106. package/packages/config-markdownlint/node_modules/markdownlint/doc/md039.md +21 -0
  107. package/packages/config-markdownlint/node_modules/markdownlint/doc/md040.md +52 -0
  108. package/packages/config-markdownlint/node_modules/markdownlint/doc/md041.md +49 -0
  109. package/packages/config-markdownlint/node_modules/markdownlint/doc/md042.md +32 -0
  110. package/packages/config-markdownlint/node_modules/markdownlint/doc/md043.md +69 -0
  111. package/packages/config-markdownlint/node_modules/markdownlint/doc/md044.md +35 -0
  112. package/packages/config-markdownlint/node_modules/markdownlint/doc/md045.md +40 -0
  113. package/packages/config-markdownlint/node_modules/markdownlint/doc/md046.md +40 -0
  114. package/packages/config-markdownlint/node_modules/markdownlint/doc/md047.md +34 -0
  115. package/packages/config-markdownlint/node_modules/markdownlint/doc/md048.md +41 -0
  116. package/packages/config-markdownlint/node_modules/markdownlint/doc/md049.md +32 -0
  117. package/packages/config-markdownlint/node_modules/markdownlint/doc/md050.md +32 -0
  118. package/packages/config-markdownlint/node_modules/markdownlint/doc/md051.md +61 -0
  119. package/packages/config-markdownlint/node_modules/markdownlint/doc/md052.md +40 -0
  120. package/packages/config-markdownlint/node_modules/markdownlint/doc/md053.md +38 -0
  121. package/packages/config-markdownlint/node_modules/markdownlint/doc/md054.md +100 -0
  122. package/packages/config-markdownlint/node_modules/markdownlint/helpers/LICENSE +21 -0
  123. package/packages/config-markdownlint/node_modules/markdownlint/helpers/README.md +70 -0
  124. package/packages/config-markdownlint/node_modules/markdownlint/helpers/helpers.js +1025 -0
  125. package/packages/config-markdownlint/node_modules/markdownlint/helpers/micromark.cjs +426 -0
  126. package/packages/config-markdownlint/node_modules/markdownlint/helpers/package.json +26 -0
  127. package/packages/config-markdownlint/node_modules/markdownlint/helpers/shared.js +10 -0
  128. package/packages/config-markdownlint/node_modules/markdownlint/lib/cache.js +21 -0
  129. package/packages/config-markdownlint/node_modules/markdownlint/lib/configuration.d.ts +1152 -0
  130. package/packages/config-markdownlint/node_modules/markdownlint/lib/constants.js +14 -0
  131. package/packages/config-markdownlint/node_modules/markdownlint/lib/markdownlint.d.ts +406 -0
  132. package/packages/config-markdownlint/node_modules/markdownlint/lib/markdownlint.js +1476 -0
  133. package/packages/config-markdownlint/node_modules/markdownlint/lib/md001.js +22 -0
  134. package/packages/config-markdownlint/node_modules/markdownlint/lib/md003.js +42 -0
  135. package/packages/config-markdownlint/node_modules/markdownlint/lib/md004.js +76 -0
  136. package/packages/config-markdownlint/node_modules/markdownlint/lib/md005.js +73 -0
  137. package/packages/config-markdownlint/node_modules/markdownlint/lib/md007.js +86 -0
  138. package/packages/config-markdownlint/node_modules/markdownlint/lib/md009.js +86 -0
  139. package/packages/config-markdownlint/node_modules/markdownlint/lib/md010.js +60 -0
  140. package/packages/config-markdownlint/node_modules/markdownlint/lib/md011.js +46 -0
  141. package/packages/config-markdownlint/node_modules/markdownlint/lib/md012.js +32 -0
  142. package/packages/config-markdownlint/node_modules/markdownlint/lib/md013.js +96 -0
  143. package/packages/config-markdownlint/node_modules/markdownlint/lib/md014.js +53 -0
  144. package/packages/config-markdownlint/node_modules/markdownlint/lib/md018.js +34 -0
  145. package/packages/config-markdownlint/node_modules/markdownlint/lib/md019.js +39 -0
  146. package/packages/config-markdownlint/node_modules/markdownlint/lib/md020.js +62 -0
  147. package/packages/config-markdownlint/node_modules/markdownlint/lib/md021.js +62 -0
  148. package/packages/config-markdownlint/node_modules/markdownlint/lib/md022.js +108 -0
  149. package/packages/config-markdownlint/node_modules/markdownlint/lib/md023.js +38 -0
  150. package/packages/config-markdownlint/node_modules/markdownlint/lib/md024.js +38 -0
  151. package/packages/config-markdownlint/node_modules/markdownlint/lib/md025.js +32 -0
  152. package/packages/config-markdownlint/node_modules/markdownlint/lib/md026.js +50 -0
  153. package/packages/config-markdownlint/node_modules/markdownlint/lib/md027.js +56 -0
  154. package/packages/config-markdownlint/node_modules/markdownlint/lib/md028.js +30 -0
  155. package/packages/config-markdownlint/node_modules/markdownlint/lib/md029.js +67 -0
  156. package/packages/config-markdownlint/node_modules/markdownlint/lib/md030.js +61 -0
  157. package/packages/config-markdownlint/node_modules/markdownlint/lib/md031.js +40 -0
  158. package/packages/config-markdownlint/node_modules/markdownlint/lib/md032.js +78 -0
  159. package/packages/config-markdownlint/node_modules/markdownlint/lib/md033.js +39 -0
  160. package/packages/config-markdownlint/node_modules/markdownlint/lib/md034.js +79 -0
  161. package/packages/config-markdownlint/node_modules/markdownlint/lib/md035.js +24 -0
  162. package/packages/config-markdownlint/node_modules/markdownlint/lib/md036.js +56 -0
  163. package/packages/config-markdownlint/node_modules/markdownlint/lib/md037.js +91 -0
  164. package/packages/config-markdownlint/node_modules/markdownlint/lib/md038.js +97 -0
  165. package/packages/config-markdownlint/node_modules/markdownlint/lib/md039.js +67 -0
  166. package/packages/config-markdownlint/node_modules/markdownlint/lib/md040.js +37 -0
  167. package/packages/config-markdownlint/node_modules/markdownlint/lib/md041.js +42 -0
  168. package/packages/config-markdownlint/node_modules/markdownlint/lib/md042.js +49 -0
  169. package/packages/config-markdownlint/node_modules/markdownlint/lib/md043.js +64 -0
  170. package/packages/config-markdownlint/node_modules/markdownlint/lib/md044.js +107 -0
  171. package/packages/config-markdownlint/node_modules/markdownlint/lib/md045.js +60 -0
  172. package/packages/config-markdownlint/node_modules/markdownlint/lib/md046.js +33 -0
  173. package/packages/config-markdownlint/node_modules/markdownlint/lib/md047.js +28 -0
  174. package/packages/config-markdownlint/node_modules/markdownlint/lib/md048.js +30 -0
  175. package/packages/config-markdownlint/node_modules/markdownlint/lib/md049-md050.js +89 -0
  176. package/packages/config-markdownlint/node_modules/markdownlint/lib/md051.js +172 -0
  177. package/packages/config-markdownlint/node_modules/markdownlint/lib/md052.js +39 -0
  178. package/packages/config-markdownlint/node_modules/markdownlint/lib/md053.js +59 -0
  179. package/packages/config-markdownlint/node_modules/markdownlint/lib/md054.js +125 -0
  180. package/packages/config-markdownlint/node_modules/markdownlint/lib/rules.js +65 -0
  181. package/packages/config-markdownlint/node_modules/markdownlint/package.json +109 -0
  182. package/packages/config-markdownlint/node_modules/markdownlint/schema/.markdownlint.jsonc +297 -0
  183. package/packages/config-markdownlint/node_modules/markdownlint/schema/.markdownlint.yaml +266 -0
  184. package/packages/config-markdownlint/node_modules/markdownlint/schema/markdownlint-config-schema.json +1762 -0
  185. package/packages/config-markdownlint/node_modules/markdownlint/style/all.json +5 -0
  186. package/packages/config-markdownlint/node_modules/markdownlint/style/cirosantilli.json +22 -0
  187. package/packages/config-markdownlint/node_modules/markdownlint/style/prettier.json +26 -0
  188. package/packages/config-markdownlint/node_modules/markdownlint/style/relaxed.json +12 -0
  189. package/packages/config-markdownlint/package.json +3 -3
  190. package/packages/config-prettier/README.md +16 -0
  191. package/packages/config-prettier/package.json +4 -4
  192. package/packages/config-stylelint/package.json +2 -2
  193. package/scripts/semver.sh +6 -5
@@ -0,0 +1,61 @@
1
+ /** internal
2
+ * class Core
3
+ *
4
+ * Top-level rules executor. Glues block/inline parsers and does intermediate
5
+ * transformations.
6
+ **/
7
+ 'use strict';
8
+
9
+
10
+ var Ruler = require('./ruler');
11
+
12
+
13
+ var _rules = [
14
+ [ 'normalize', require('./rules_core/normalize') ],
15
+ [ 'block', require('./rules_core/block') ],
16
+ [ 'inline', require('./rules_core/inline') ],
17
+ [ 'linkify', require('./rules_core/linkify') ],
18
+ [ 'replacements', require('./rules_core/replacements') ],
19
+ [ 'smartquotes', require('./rules_core/smartquotes') ],
20
+ // `text_join` finds `text_special` tokens (for escape sequences)
21
+ // and joins them with the rest of the text
22
+ [ 'text_join', require('./rules_core/text_join') ]
23
+ ];
24
+
25
+
26
+ /**
27
+ * new Core()
28
+ **/
29
+ function Core() {
30
+ /**
31
+ * Core#ruler -> Ruler
32
+ *
33
+ * [[Ruler]] instance. Keep configuration of core rules.
34
+ **/
35
+ this.ruler = new Ruler();
36
+
37
+ for (var i = 0; i < _rules.length; i++) {
38
+ this.ruler.push(_rules[i][0], _rules[i][1]);
39
+ }
40
+ }
41
+
42
+
43
+ /**
44
+ * Core.process(state)
45
+ *
46
+ * Executes core chain rules.
47
+ **/
48
+ Core.prototype.process = function (state) {
49
+ var i, l, rules;
50
+
51
+ rules = this.ruler.getRules('');
52
+
53
+ for (i = 0, l = rules.length; i < l; i++) {
54
+ rules[i](state);
55
+ }
56
+ };
57
+
58
+ Core.prototype.State = require('./rules_core/state_core');
59
+
60
+
61
+ module.exports = Core;
@@ -0,0 +1,192 @@
1
+ /** internal
2
+ * class ParserInline
3
+ *
4
+ * Tokenizes paragraph content.
5
+ **/
6
+ 'use strict';
7
+
8
+
9
+ var Ruler = require('./ruler');
10
+
11
+
12
+ ////////////////////////////////////////////////////////////////////////////////
13
+ // Parser rules
14
+
15
+ var _rules = [
16
+ [ 'text', require('./rules_inline/text') ],
17
+ [ 'linkify', require('./rules_inline/linkify') ],
18
+ [ 'newline', require('./rules_inline/newline') ],
19
+ [ 'escape', require('./rules_inline/escape') ],
20
+ [ 'backticks', require('./rules_inline/backticks') ],
21
+ [ 'strikethrough', require('./rules_inline/strikethrough').tokenize ],
22
+ [ 'emphasis', require('./rules_inline/emphasis').tokenize ],
23
+ [ 'link', require('./rules_inline/link') ],
24
+ [ 'image', require('./rules_inline/image') ],
25
+ [ 'autolink', require('./rules_inline/autolink') ],
26
+ [ 'html_inline', require('./rules_inline/html_inline') ],
27
+ [ 'entity', require('./rules_inline/entity') ]
28
+ ];
29
+
30
+ // `rule2` ruleset was created specifically for emphasis/strikethrough
31
+ // post-processing and may be changed in the future.
32
+ //
33
+ // Don't use this for anything except pairs (plugins working with `balance_pairs`).
34
+ //
35
+ var _rules2 = [
36
+ [ 'balance_pairs', require('./rules_inline/balance_pairs') ],
37
+ [ 'strikethrough', require('./rules_inline/strikethrough').postProcess ],
38
+ [ 'emphasis', require('./rules_inline/emphasis').postProcess ],
39
+ // rules for pairs separate '**' into its own text tokens, which may be left unused,
40
+ // rule below merges unused segments back with the rest of the text
41
+ [ 'fragments_join', require('./rules_inline/fragments_join') ]
42
+ ];
43
+
44
+
45
+ /**
46
+ * new ParserInline()
47
+ **/
48
+ function ParserInline() {
49
+ var i;
50
+
51
+ /**
52
+ * ParserInline#ruler -> Ruler
53
+ *
54
+ * [[Ruler]] instance. Keep configuration of inline rules.
55
+ **/
56
+ this.ruler = new Ruler();
57
+
58
+ for (i = 0; i < _rules.length; i++) {
59
+ this.ruler.push(_rules[i][0], _rules[i][1]);
60
+ }
61
+
62
+ /**
63
+ * ParserInline#ruler2 -> Ruler
64
+ *
65
+ * [[Ruler]] instance. Second ruler used for post-processing
66
+ * (e.g. in emphasis-like rules).
67
+ **/
68
+ this.ruler2 = new Ruler();
69
+
70
+ for (i = 0; i < _rules2.length; i++) {
71
+ this.ruler2.push(_rules2[i][0], _rules2[i][1]);
72
+ }
73
+ }
74
+
75
+
76
+ // Skip single token by running all rules in validation mode;
77
+ // returns `true` if any rule reported success
78
+ //
79
+ ParserInline.prototype.skipToken = function (state) {
80
+ var ok, i, pos = state.pos,
81
+ rules = this.ruler.getRules(''),
82
+ len = rules.length,
83
+ maxNesting = state.md.options.maxNesting,
84
+ cache = state.cache;
85
+
86
+
87
+ if (typeof cache[pos] !== 'undefined') {
88
+ state.pos = cache[pos];
89
+ return;
90
+ }
91
+
92
+ if (state.level < maxNesting) {
93
+ for (i = 0; i < len; i++) {
94
+ // Increment state.level and decrement it later to limit recursion.
95
+ // It's harmless to do here, because no tokens are created. But ideally,
96
+ // we'd need a separate private state variable for this purpose.
97
+ //
98
+ state.level++;
99
+ ok = rules[i](state, true);
100
+ state.level--;
101
+
102
+ if (ok) {
103
+ if (pos >= state.pos) { throw new Error("inline rule didn't increment state.pos"); }
104
+ break;
105
+ }
106
+ }
107
+ } else {
108
+ // Too much nesting, just skip until the end of the paragraph.
109
+ //
110
+ // NOTE: this will cause links to behave incorrectly in the following case,
111
+ // when an amount of `[` is exactly equal to `maxNesting + 1`:
112
+ //
113
+ // [[[[[[[[[[[[[[[[[[[[[foo]()
114
+ //
115
+ // TODO: remove this workaround when CM standard will allow nested links
116
+ // (we can replace it by preventing links from being parsed in
117
+ // validation mode)
118
+ //
119
+ state.pos = state.posMax;
120
+ }
121
+
122
+ if (!ok) { state.pos++; }
123
+ cache[pos] = state.pos;
124
+ };
125
+
126
+
127
+ // Generate tokens for input range
128
+ //
129
+ ParserInline.prototype.tokenize = function (state) {
130
+ var ok, i, prevPos,
131
+ rules = this.ruler.getRules(''),
132
+ len = rules.length,
133
+ end = state.posMax,
134
+ maxNesting = state.md.options.maxNesting;
135
+
136
+ while (state.pos < end) {
137
+ // Try all possible rules.
138
+ // On success, rule should:
139
+ //
140
+ // - update `state.pos`
141
+ // - update `state.tokens`
142
+ // - return true
143
+ prevPos = state.pos;
144
+
145
+ if (state.level < maxNesting) {
146
+ for (i = 0; i < len; i++) {
147
+ ok = rules[i](state, false);
148
+ if (ok) {
149
+ if (prevPos >= state.pos) { throw new Error("inline rule didn't increment state.pos"); }
150
+ break;
151
+ }
152
+ }
153
+ }
154
+
155
+ if (ok) {
156
+ if (state.pos >= end) { break; }
157
+ continue;
158
+ }
159
+
160
+ state.pending += state.src[state.pos++];
161
+ }
162
+
163
+ if (state.pending) {
164
+ state.pushPending();
165
+ }
166
+ };
167
+
168
+
169
+ /**
170
+ * ParserInline.parse(str, md, env, outTokens)
171
+ *
172
+ * Process input string and push inline tokens into `outTokens`
173
+ **/
174
+ ParserInline.prototype.parse = function (str, md, env, outTokens) {
175
+ var i, rules, len;
176
+ var state = new this.State(str, md, env, outTokens);
177
+
178
+ this.tokenize(state);
179
+
180
+ rules = this.ruler2.getRules('');
181
+ len = rules.length;
182
+
183
+ for (i = 0; i < len; i++) {
184
+ rules[i](state);
185
+ }
186
+ };
187
+
188
+
189
+ ParserInline.prototype.State = require('./rules_inline/state_inline');
190
+
191
+
192
+ module.exports = ParserInline;
@@ -0,0 +1,81 @@
1
+ // Commonmark default options
2
+
3
+ 'use strict';
4
+
5
+
6
+ module.exports = {
7
+ options: {
8
+ html: true, // Enable HTML tags in source
9
+ xhtmlOut: true, // Use '/' to close single tags (<br />)
10
+ breaks: false, // Convert '\n' in paragraphs into <br>
11
+ langPrefix: 'language-', // CSS language prefix for fenced blocks
12
+ linkify: false, // autoconvert URL-like texts to links
13
+
14
+ // Enable some language-neutral replacements + quotes beautification
15
+ typographer: false,
16
+
17
+ // Double + single quotes replacement pairs, when typographer enabled,
18
+ // and smartquotes on. Could be either a String or an Array.
19
+ //
20
+ // For example, you can use '«»„“' for Russian, '„“‚‘' for German,
21
+ // and ['«\xA0', '\xA0»', '‹\xA0', '\xA0›'] for French (including nbsp).
22
+ quotes: '\u201c\u201d\u2018\u2019', /* “”‘’ */
23
+
24
+ // Highlighter function. Should return escaped HTML,
25
+ // or '' if the source string is not changed and should be escaped externaly.
26
+ // If result starts with <pre... internal wrapper is skipped.
27
+ //
28
+ // function (/*str, lang*/) { return ''; }
29
+ //
30
+ highlight: null,
31
+
32
+ maxNesting: 20 // Internal protection, recursion limit
33
+ },
34
+
35
+ components: {
36
+
37
+ core: {
38
+ rules: [
39
+ 'normalize',
40
+ 'block',
41
+ 'inline',
42
+ 'text_join'
43
+ ]
44
+ },
45
+
46
+ block: {
47
+ rules: [
48
+ 'blockquote',
49
+ 'code',
50
+ 'fence',
51
+ 'heading',
52
+ 'hr',
53
+ 'html_block',
54
+ 'lheading',
55
+ 'list',
56
+ 'reference',
57
+ 'paragraph'
58
+ ]
59
+ },
60
+
61
+ inline: {
62
+ rules: [
63
+ 'autolink',
64
+ 'backticks',
65
+ 'emphasis',
66
+ 'entity',
67
+ 'escape',
68
+ 'html_inline',
69
+ 'image',
70
+ 'link',
71
+ 'newline',
72
+ 'text'
73
+ ],
74
+ rules2: [
75
+ 'balance_pairs',
76
+ 'emphasis',
77
+ 'fragments_join'
78
+ ]
79
+ }
80
+ }
81
+ };
@@ -0,0 +1,41 @@
1
+ // markdown-it default options
2
+
3
+ 'use strict';
4
+
5
+
6
+ module.exports = {
7
+ options: {
8
+ html: false, // Enable HTML tags in source
9
+ xhtmlOut: false, // Use '/' to close single tags (<br />)
10
+ breaks: false, // Convert '\n' in paragraphs into <br>
11
+ langPrefix: 'language-', // CSS language prefix for fenced blocks
12
+ linkify: false, // autoconvert URL-like texts to links
13
+
14
+ // Enable some language-neutral replacements + quotes beautification
15
+ typographer: false,
16
+
17
+ // Double + single quotes replacement pairs, when typographer enabled,
18
+ // and smartquotes on. Could be either a String or an Array.
19
+ //
20
+ // For example, you can use '«»„“' for Russian, '„“‚‘' for German,
21
+ // and ['«\xA0', '\xA0»', '‹\xA0', '\xA0›'] for French (including nbsp).
22
+ quotes: '\u201c\u201d\u2018\u2019', /* “”‘’ */
23
+
24
+ // Highlighter function. Should return escaped HTML,
25
+ // or '' if the source string is not changed and should be escaped externaly.
26
+ // If result starts with <pre... internal wrapper is skipped.
27
+ //
28
+ // function (/*str, lang*/) { return ''; }
29
+ //
30
+ highlight: null,
31
+
32
+ maxNesting: 100 // Internal protection, recursion limit
33
+ },
34
+
35
+ components: {
36
+
37
+ core: {},
38
+ block: {},
39
+ inline: {}
40
+ }
41
+ };
@@ -0,0 +1,63 @@
1
+ // "Zero" preset, with nothing enabled. Useful for manual configuring of simple
2
+ // modes. For example, to parse bold/italic only.
3
+
4
+ 'use strict';
5
+
6
+
7
+ module.exports = {
8
+ options: {
9
+ html: false, // Enable HTML tags in source
10
+ xhtmlOut: false, // Use '/' to close single tags (<br />)
11
+ breaks: false, // Convert '\n' in paragraphs into <br>
12
+ langPrefix: 'language-', // CSS language prefix for fenced blocks
13
+ linkify: false, // autoconvert URL-like texts to links
14
+
15
+ // Enable some language-neutral replacements + quotes beautification
16
+ typographer: false,
17
+
18
+ // Double + single quotes replacement pairs, when typographer enabled,
19
+ // and smartquotes on. Could be either a String or an Array.
20
+ //
21
+ // For example, you can use '«»„“' for Russian, '„“‚‘' for German,
22
+ // and ['«\xA0', '\xA0»', '‹\xA0', '\xA0›'] for French (including nbsp).
23
+ quotes: '\u201c\u201d\u2018\u2019', /* “”‘’ */
24
+
25
+ // Highlighter function. Should return escaped HTML,
26
+ // or '' if the source string is not changed and should be escaped externaly.
27
+ // If result starts with <pre... internal wrapper is skipped.
28
+ //
29
+ // function (/*str, lang*/) { return ''; }
30
+ //
31
+ highlight: null,
32
+
33
+ maxNesting: 20 // Internal protection, recursion limit
34
+ },
35
+
36
+ components: {
37
+
38
+ core: {
39
+ rules: [
40
+ 'normalize',
41
+ 'block',
42
+ 'inline',
43
+ 'text_join'
44
+ ]
45
+ },
46
+
47
+ block: {
48
+ rules: [
49
+ 'paragraph'
50
+ ]
51
+ },
52
+
53
+ inline: {
54
+ rules: [
55
+ 'text'
56
+ ],
57
+ rules2: [
58
+ 'balance_pairs',
59
+ 'fragments_join'
60
+ ]
61
+ }
62
+ }
63
+ };