markdownlint 0.24.0 → 0.26.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 (51) hide show
  1. package/CONTRIBUTING.md +15 -3
  2. package/LICENSE +1 -1
  3. package/README.md +138 -87
  4. package/demo/markdownlint-browser.js +2028 -1364
  5. package/doc/CustomRules.md +15 -4
  6. package/doc/Rules.md +217 -26
  7. package/helpers/LICENSE +1 -1
  8. package/helpers/helpers.js +541 -188
  9. package/helpers/package.json +4 -1
  10. package/lib/cache.js +15 -25
  11. package/lib/constants.js +7 -0
  12. package/lib/markdownlint.d.ts +27 -19
  13. package/lib/markdownlint.js +438 -344
  14. package/lib/md004.js +4 -4
  15. package/lib/md005.js +4 -4
  16. package/lib/md006.js +4 -4
  17. package/lib/md007.js +8 -6
  18. package/lib/md009.js +20 -13
  19. package/lib/md010.js +34 -16
  20. package/lib/md011.js +4 -4
  21. package/lib/md013.js +4 -5
  22. package/lib/md014.js +4 -4
  23. package/lib/md021.js +3 -1
  24. package/lib/md026.js +1 -1
  25. package/lib/md027.js +2 -2
  26. package/lib/md028.js +2 -2
  27. package/lib/md029.js +5 -4
  28. package/lib/md030.js +4 -4
  29. package/lib/md031.js +2 -2
  30. package/lib/md032.js +3 -2
  31. package/lib/md033.js +12 -9
  32. package/lib/md034.js +2 -2
  33. package/lib/md035.js +10 -5
  34. package/lib/md036.js +2 -2
  35. package/lib/md037.js +5 -3
  36. package/lib/md038.js +7 -4
  37. package/lib/md039.js +8 -5
  38. package/lib/md042.js +17 -10
  39. package/lib/md043.js +2 -3
  40. package/lib/md044.js +21 -10
  41. package/lib/md046.js +14 -13
  42. package/lib/md048.js +13 -14
  43. package/lib/md049-md050.js +73 -0
  44. package/lib/md051.js +84 -0
  45. package/lib/md052.js +35 -0
  46. package/lib/md053.js +52 -0
  47. package/lib/rules.js +8 -6
  48. package/package.json +37 -32
  49. package/schema/.markdownlint.jsonc +30 -3
  50. package/schema/.markdownlint.yaml +26 -1
  51. package/schema/markdownlint-config-schema.json +159 -683
@@ -26,14 +26,10 @@
26
26
  "default": true
27
27
  },
28
28
  "heading-increment": {
29
- "description": "MD001/heading-increment/header-increment - Heading levels should only increment by one level at a time",
30
- "type": "boolean",
31
- "default": true
29
+ "$ref": "#/properties/MD001"
32
30
  },
33
31
  "header-increment": {
34
- "description": "MD001/heading-increment/header-increment - Heading levels should only increment by one level at a time",
35
- "type": "boolean",
36
- "default": true
32
+ "$ref": "#/properties/MD001"
37
33
  },
38
34
  "MD002": {
39
35
  "description": "MD002/first-heading-h1/first-header-h1 - First heading should be a top-level heading",
@@ -46,42 +42,18 @@
46
42
  "level": {
47
43
  "description": "Heading level",
48
44
  "type": "integer",
45
+ "minimum": 1,
46
+ "maximum": 6,
49
47
  "default": 1
50
48
  }
51
49
  },
52
50
  "additionalProperties": false
53
51
  },
54
52
  "first-heading-h1": {
55
- "description": "MD002/first-heading-h1/first-header-h1 - First heading should be a top-level heading",
56
- "type": [
57
- "boolean",
58
- "object"
59
- ],
60
- "default": true,
61
- "properties": {
62
- "level": {
63
- "description": "Heading level",
64
- "type": "integer",
65
- "default": 1
66
- }
67
- },
68
- "additionalProperties": false
53
+ "$ref": "#/properties/MD002"
69
54
  },
70
55
  "first-header-h1": {
71
- "description": "MD002/first-heading-h1/first-header-h1 - First heading should be a top-level heading",
72
- "type": [
73
- "boolean",
74
- "object"
75
- ],
76
- "default": true,
77
- "properties": {
78
- "level": {
79
- "description": "Heading level",
80
- "type": "integer",
81
- "default": 1
82
- }
83
- },
84
- "additionalProperties": false
56
+ "$ref": "#/properties/MD002"
85
57
  },
86
58
  "MD003": {
87
59
  "description": "MD003/heading-style/header-style - Heading style",
@@ -108,52 +80,10 @@
108
80
  "additionalProperties": false
109
81
  },
110
82
  "heading-style": {
111
- "description": "MD003/heading-style/header-style - Heading style",
112
- "type": [
113
- "boolean",
114
- "object"
115
- ],
116
- "default": true,
117
- "properties": {
118
- "style": {
119
- "description": "Heading style",
120
- "type": "string",
121
- "enum": [
122
- "consistent",
123
- "atx",
124
- "atx_closed",
125
- "setext",
126
- "setext_with_atx",
127
- "setext_with_atx_closed"
128
- ],
129
- "default": "consistent"
130
- }
131
- },
132
- "additionalProperties": false
83
+ "$ref": "#/properties/MD003"
133
84
  },
134
85
  "header-style": {
135
- "description": "MD003/heading-style/header-style - Heading style",
136
- "type": [
137
- "boolean",
138
- "object"
139
- ],
140
- "default": true,
141
- "properties": {
142
- "style": {
143
- "description": "Heading style",
144
- "type": "string",
145
- "enum": [
146
- "consistent",
147
- "atx",
148
- "atx_closed",
149
- "setext",
150
- "setext_with_atx",
151
- "setext_with_atx_closed"
152
- ],
153
- "default": "consistent"
154
- }
155
- },
156
- "additionalProperties": false
86
+ "$ref": "#/properties/MD003"
157
87
  },
158
88
  "MD004": {
159
89
  "description": "MD004/ul-style - Unordered list style",
@@ -179,27 +109,7 @@
179
109
  "additionalProperties": false
180
110
  },
181
111
  "ul-style": {
182
- "description": "MD004/ul-style - Unordered list style",
183
- "type": [
184
- "boolean",
185
- "object"
186
- ],
187
- "default": true,
188
- "properties": {
189
- "style": {
190
- "description": "List style",
191
- "type": "string",
192
- "enum": [
193
- "consistent",
194
- "asterisk",
195
- "plus",
196
- "dash",
197
- "sublist"
198
- ],
199
- "default": "consistent"
200
- }
201
- },
202
- "additionalProperties": false
112
+ "$ref": "#/properties/MD004"
203
113
  },
204
114
  "MD005": {
205
115
  "description": "MD005/list-indent - Inconsistent indentation for list items at the same level",
@@ -207,9 +117,7 @@
207
117
  "default": true
208
118
  },
209
119
  "list-indent": {
210
- "description": "MD005/list-indent - Inconsistent indentation for list items at the same level",
211
- "type": "boolean",
212
- "default": true
120
+ "$ref": "#/properties/MD005"
213
121
  },
214
122
  "MD006": {
215
123
  "description": "MD006/ul-start-left - Consider starting bulleted lists at the beginning of the line",
@@ -217,9 +125,7 @@
217
125
  "default": true
218
126
  },
219
127
  "ul-start-left": {
220
- "description": "MD006/ul-start-left - Consider starting bulleted lists at the beginning of the line",
221
- "type": "boolean",
222
- "default": true
128
+ "$ref": "#/properties/MD006"
223
129
  },
224
130
  "MD007": {
225
131
  "description": "MD007/ul-indent - Unordered list indentation",
@@ -232,37 +138,26 @@
232
138
  "indent": {
233
139
  "description": "Spaces for indent",
234
140
  "type": "integer",
141
+ "minimum": 1,
235
142
  "default": 2
236
143
  },
237
144
  "start_indented": {
238
145
  "description": "Whether to indent the first level of the list",
239
146
  "type": "boolean",
240
147
  "default": false
241
- }
242
- },
243
- "additionalProperties": false
244
- },
245
- "ul-indent": {
246
- "description": "MD007/ul-indent - Unordered list indentation",
247
- "type": [
248
- "boolean",
249
- "object"
250
- ],
251
- "default": true,
252
- "properties": {
253
- "indent": {
254
- "description": "Spaces for indent",
148
+ },
149
+ "start_indent": {
150
+ "description": "Spaces for first level indent (when start_indented is set)",
255
151
  "type": "integer",
152
+ "minimum": 1,
256
153
  "default": 2
257
- },
258
- "start_indented": {
259
- "description": "Whether to indent the first level of the list",
260
- "type": "boolean",
261
- "default": false
262
154
  }
263
155
  },
264
156
  "additionalProperties": false
265
157
  },
158
+ "ul-indent": {
159
+ "$ref": "#/properties/MD007"
160
+ },
266
161
  "MD009": {
267
162
  "description": "MD009/no-trailing-spaces - Trailing spaces",
268
163
  "type": [
@@ -274,6 +169,7 @@
274
169
  "br_spaces": {
275
170
  "description": "Spaces for line break",
276
171
  "type": "integer",
172
+ "minimum": 0,
277
173
  "default": 2
278
174
  },
279
175
  "list_item_empty_lines": {
@@ -290,30 +186,7 @@
290
186
  "additionalProperties": false
291
187
  },
292
188
  "no-trailing-spaces": {
293
- "description": "MD009/no-trailing-spaces - Trailing spaces",
294
- "type": [
295
- "boolean",
296
- "object"
297
- ],
298
- "default": true,
299
- "properties": {
300
- "br_spaces": {
301
- "description": "Spaces for line break",
302
- "type": "integer",
303
- "default": 2
304
- },
305
- "list_item_empty_lines": {
306
- "description": "Allow spaces for empty lines in list items",
307
- "type": "boolean",
308
- "default": false
309
- },
310
- "strict": {
311
- "description": "Include unnecessary breaks",
312
- "type": "boolean",
313
- "default": false
314
- }
315
- },
316
- "additionalProperties": false
189
+ "$ref": "#/properties/MD009"
317
190
  },
318
191
  "MD010": {
319
192
  "description": "MD010/no-hard-tabs - Hard tabs",
@@ -328,34 +201,25 @@
328
201
  "type": "boolean",
329
202
  "default": true
330
203
  },
204
+ "ignore_code_languages": {
205
+ "description": "Fenced code languages to ignore",
206
+ "type": "array",
207
+ "items": {
208
+ "type": "string"
209
+ },
210
+ "default": []
211
+ },
331
212
  "spaces_per_tab": {
332
213
  "description": "Number of spaces for each hard tab",
333
- "type": "number",
214
+ "type": "integer",
215
+ "minimum": 0,
334
216
  "default": 1
335
217
  }
336
218
  },
337
219
  "additionalProperties": false
338
220
  },
339
221
  "no-hard-tabs": {
340
- "description": "MD010/no-hard-tabs - Hard tabs",
341
- "type": [
342
- "boolean",
343
- "object"
344
- ],
345
- "default": true,
346
- "properties": {
347
- "code_blocks": {
348
- "description": "Include code blocks",
349
- "type": "boolean",
350
- "default": true
351
- },
352
- "spaces_per_tab": {
353
- "description": "Number of spaces for each hard tab",
354
- "type": "number",
355
- "default": 1
356
- }
357
- },
358
- "additionalProperties": false
222
+ "$ref": "#/properties/MD010"
359
223
  },
360
224
  "MD011": {
361
225
  "description": "MD011/no-reversed-links - Reversed link syntax",
@@ -363,9 +227,7 @@
363
227
  "default": true
364
228
  },
365
229
  "no-reversed-links": {
366
- "description": "MD011/no-reversed-links - Reversed link syntax",
367
- "type": "boolean",
368
- "default": true
230
+ "$ref": "#/properties/MD011"
369
231
  },
370
232
  "MD012": {
371
233
  "description": "MD012/no-multiple-blanks - Multiple consecutive blank lines",
@@ -378,26 +240,14 @@
378
240
  "maximum": {
379
241
  "description": "Consecutive blank lines",
380
242
  "type": "integer",
243
+ "minimum": 1,
381
244
  "default": 1
382
245
  }
383
246
  },
384
247
  "additionalProperties": false
385
248
  },
386
249
  "no-multiple-blanks": {
387
- "description": "MD012/no-multiple-blanks - Multiple consecutive blank lines",
388
- "type": [
389
- "boolean",
390
- "object"
391
- ],
392
- "default": true,
393
- "properties": {
394
- "maximum": {
395
- "description": "Consecutive blank lines",
396
- "type": "integer",
397
- "default": 1
398
- }
399
- },
400
- "additionalProperties": false
250
+ "$ref": "#/properties/MD012"
401
251
  },
402
252
  "MD013": {
403
253
  "description": "MD013/line-length - Line length",
@@ -410,16 +260,19 @@
410
260
  "line_length": {
411
261
  "description": "Number of characters",
412
262
  "type": "integer",
263
+ "minimum": 1,
413
264
  "default": 80
414
265
  },
415
266
  "heading_line_length": {
416
267
  "description": "Number of characters for headings",
417
268
  "type": "integer",
269
+ "minimum": 1,
418
270
  "default": 80
419
271
  },
420
272
  "code_block_line_length": {
421
273
  "description": "Number of characters for code blocks",
422
274
  "type": "integer",
275
+ "minimum": 1,
423
276
  "default": 80
424
277
  },
425
278
  "code_blocks": {
@@ -456,60 +309,7 @@
456
309
  "additionalProperties": false
457
310
  },
458
311
  "line-length": {
459
- "description": "MD013/line-length - Line length",
460
- "type": [
461
- "boolean",
462
- "object"
463
- ],
464
- "default": true,
465
- "properties": {
466
- "line_length": {
467
- "description": "Number of characters",
468
- "type": "integer",
469
- "default": 80
470
- },
471
- "heading_line_length": {
472
- "description": "Number of characters for headings",
473
- "type": "integer",
474
- "default": 80
475
- },
476
- "code_block_line_length": {
477
- "description": "Number of characters for code blocks",
478
- "type": "integer",
479
- "default": 80
480
- },
481
- "code_blocks": {
482
- "description": "Include code blocks",
483
- "type": "boolean",
484
- "default": true
485
- },
486
- "tables": {
487
- "description": "Include tables",
488
- "type": "boolean",
489
- "default": true
490
- },
491
- "headings": {
492
- "description": "Include headings",
493
- "type": "boolean",
494
- "default": true
495
- },
496
- "headers": {
497
- "description": "Include headings",
498
- "type": "boolean",
499
- "default": true
500
- },
501
- "strict": {
502
- "description": "Strict length checking",
503
- "type": "boolean",
504
- "default": false
505
- },
506
- "stern": {
507
- "description": "Stern length checking",
508
- "type": "boolean",
509
- "default": false
510
- }
511
- },
512
- "additionalProperties": false
312
+ "$ref": "#/properties/MD013"
513
313
  },
514
314
  "MD014": {
515
315
  "description": "MD014/commands-show-output - Dollar signs used before commands without showing output",
@@ -517,9 +317,7 @@
517
317
  "default": true
518
318
  },
519
319
  "commands-show-output": {
520
- "description": "MD014/commands-show-output - Dollar signs used before commands without showing output",
521
- "type": "boolean",
522
- "default": true
320
+ "$ref": "#/properties/MD014"
523
321
  },
524
322
  "MD018": {
525
323
  "description": "MD018/no-missing-space-atx - No space after hash on atx style heading",
@@ -527,9 +325,7 @@
527
325
  "default": true
528
326
  },
529
327
  "no-missing-space-atx": {
530
- "description": "MD018/no-missing-space-atx - No space after hash on atx style heading",
531
- "type": "boolean",
532
- "default": true
328
+ "$ref": "#/properties/MD018"
533
329
  },
534
330
  "MD019": {
535
331
  "description": "MD019/no-multiple-space-atx - Multiple spaces after hash on atx style heading",
@@ -537,9 +333,7 @@
537
333
  "default": true
538
334
  },
539
335
  "no-multiple-space-atx": {
540
- "description": "MD019/no-multiple-space-atx - Multiple spaces after hash on atx style heading",
541
- "type": "boolean",
542
- "default": true
336
+ "$ref": "#/properties/MD019"
543
337
  },
544
338
  "MD020": {
545
339
  "description": "MD020/no-missing-space-closed-atx - No space inside hashes on closed atx style heading",
@@ -547,9 +341,7 @@
547
341
  "default": true
548
342
  },
549
343
  "no-missing-space-closed-atx": {
550
- "description": "MD020/no-missing-space-closed-atx - No space inside hashes on closed atx style heading",
551
- "type": "boolean",
552
- "default": true
344
+ "$ref": "#/properties/MD020"
553
345
  },
554
346
  "MD021": {
555
347
  "description": "MD021/no-multiple-space-closed-atx - Multiple spaces inside hashes on closed atx style heading",
@@ -557,9 +349,7 @@
557
349
  "default": true
558
350
  },
559
351
  "no-multiple-space-closed-atx": {
560
- "description": "MD021/no-multiple-space-closed-atx - Multiple spaces inside hashes on closed atx style heading",
561
- "type": "boolean",
562
- "default": true
352
+ "$ref": "#/properties/MD021"
563
353
  },
564
354
  "MD022": {
565
355
  "description": "MD022/blanks-around-headings/blanks-around-headers - Headings should be surrounded by blank lines",
@@ -572,57 +362,23 @@
572
362
  "lines_above": {
573
363
  "description": "Blank lines above heading",
574
364
  "type": "integer",
365
+ "minimum": 0,
575
366
  "default": 1
576
367
  },
577
368
  "lines_below": {
578
369
  "description": "Blank lines below heading",
579
370
  "type": "integer",
371
+ "minimum": 0,
580
372
  "default": 1
581
373
  }
582
374
  },
583
375
  "additionalProperties": false
584
376
  },
585
377
  "blanks-around-headings": {
586
- "description": "MD022/blanks-around-headings/blanks-around-headers - Headings should be surrounded by blank lines",
587
- "type": [
588
- "boolean",
589
- "object"
590
- ],
591
- "default": true,
592
- "properties": {
593
- "lines_above": {
594
- "description": "Blank lines above heading",
595
- "type": "integer",
596
- "default": 1
597
- },
598
- "lines_below": {
599
- "description": "Blank lines below heading",
600
- "type": "integer",
601
- "default": 1
602
- }
603
- },
604
- "additionalProperties": false
378
+ "$ref": "#/properties/MD022"
605
379
  },
606
380
  "blanks-around-headers": {
607
- "description": "MD022/blanks-around-headings/blanks-around-headers - Headings should be surrounded by blank lines",
608
- "type": [
609
- "boolean",
610
- "object"
611
- ],
612
- "default": true,
613
- "properties": {
614
- "lines_above": {
615
- "description": "Blank lines above heading",
616
- "type": "integer",
617
- "default": 1
618
- },
619
- "lines_below": {
620
- "description": "Blank lines below heading",
621
- "type": "integer",
622
- "default": 1
623
- }
624
- },
625
- "additionalProperties": false
381
+ "$ref": "#/properties/MD022"
626
382
  },
627
383
  "MD023": {
628
384
  "description": "MD023/heading-start-left/header-start-left - Headings must start at the beginning of the line",
@@ -630,14 +386,10 @@
630
386
  "default": true
631
387
  },
632
388
  "heading-start-left": {
633
- "description": "MD023/heading-start-left/header-start-left - Headings must start at the beginning of the line",
634
- "type": "boolean",
635
- "default": true
389
+ "$ref": "#/properties/MD023"
636
390
  },
637
391
  "header-start-left": {
638
- "description": "MD023/heading-start-left/header-start-left - Headings must start at the beginning of the line",
639
- "type": "boolean",
640
- "default": true
392
+ "$ref": "#/properties/MD023"
641
393
  },
642
394
  "MD024": {
643
395
  "description": "MD024/no-duplicate-heading/no-duplicate-header - Multiple headings with the same content",
@@ -661,46 +413,10 @@
661
413
  "additionalProperties": false
662
414
  },
663
415
  "no-duplicate-heading": {
664
- "description": "MD024/no-duplicate-heading/no-duplicate-header - Multiple headings with the same content",
665
- "type": [
666
- "boolean",
667
- "object"
668
- ],
669
- "default": true,
670
- "properties": {
671
- "allow_different_nesting": {
672
- "description": "Only check sibling headings",
673
- "type": "boolean",
674
- "default": false
675
- },
676
- "siblings_only": {
677
- "description": "Only check sibling headings",
678
- "type": "boolean",
679
- "default": false
680
- }
681
- },
682
- "additionalProperties": false
416
+ "$ref": "#/properties/MD024"
683
417
  },
684
418
  "no-duplicate-header": {
685
- "description": "MD024/no-duplicate-heading/no-duplicate-header - Multiple headings with the same content",
686
- "type": [
687
- "boolean",
688
- "object"
689
- ],
690
- "default": true,
691
- "properties": {
692
- "allow_different_nesting": {
693
- "description": "Only check sibling headings",
694
- "type": "boolean",
695
- "default": false
696
- },
697
- "siblings_only": {
698
- "description": "Only check sibling headings",
699
- "type": "boolean",
700
- "default": false
701
- }
702
- },
703
- "additionalProperties": false
419
+ "$ref": "#/properties/MD024"
704
420
  },
705
421
  "MD025": {
706
422
  "description": "MD025/single-title/single-h1 - Multiple top-level headings in the same document",
@@ -713,6 +429,8 @@
713
429
  "level": {
714
430
  "description": "Heading level",
715
431
  "type": "integer",
432
+ "minimum": 1,
433
+ "maximum": 6,
716
434
  "default": 1
717
435
  },
718
436
  "front_matter_title": {
@@ -724,46 +442,10 @@
724
442
  "additionalProperties": false
725
443
  },
726
444
  "single-title": {
727
- "description": "MD025/single-title/single-h1 - Multiple top-level headings in the same document",
728
- "type": [
729
- "boolean",
730
- "object"
731
- ],
732
- "default": true,
733
- "properties": {
734
- "level": {
735
- "description": "Heading level",
736
- "type": "integer",
737
- "default": 1
738
- },
739
- "front_matter_title": {
740
- "description": "RegExp for matching title in front matter",
741
- "type": "string",
742
- "default": "^\\s*title\\s*[:=]"
743
- }
744
- },
745
- "additionalProperties": false
445
+ "$ref": "#/properties/MD025"
746
446
  },
747
447
  "single-h1": {
748
- "description": "MD025/single-title/single-h1 - Multiple top-level headings in the same document",
749
- "type": [
750
- "boolean",
751
- "object"
752
- ],
753
- "default": true,
754
- "properties": {
755
- "level": {
756
- "description": "Heading level",
757
- "type": "integer",
758
- "default": 1
759
- },
760
- "front_matter_title": {
761
- "description": "RegExp for matching title in front matter",
762
- "type": "string",
763
- "default": "^\\s*title\\s*[:=]"
764
- }
765
- },
766
- "additionalProperties": false
448
+ "$ref": "#/properties/MD025"
767
449
  },
768
450
  "MD026": {
769
451
  "description": "MD026/no-trailing-punctuation - Trailing punctuation in heading",
@@ -782,20 +464,7 @@
782
464
  "additionalProperties": false
783
465
  },
784
466
  "no-trailing-punctuation": {
785
- "description": "MD026/no-trailing-punctuation - Trailing punctuation in heading",
786
- "type": [
787
- "boolean",
788
- "object"
789
- ],
790
- "default": true,
791
- "properties": {
792
- "punctuation": {
793
- "description": "Punctuation characters",
794
- "type": "string",
795
- "default": ".,;:!。,;:!"
796
- }
797
- },
798
- "additionalProperties": false
467
+ "$ref": "#/properties/MD026"
799
468
  },
800
469
  "MD027": {
801
470
  "description": "MD027/no-multiple-space-blockquote - Multiple spaces after blockquote symbol",
@@ -803,9 +472,7 @@
803
472
  "default": true
804
473
  },
805
474
  "no-multiple-space-blockquote": {
806
- "description": "MD027/no-multiple-space-blockquote - Multiple spaces after blockquote symbol",
807
- "type": "boolean",
808
- "default": true
475
+ "$ref": "#/properties/MD027"
809
476
  },
810
477
  "MD028": {
811
478
  "description": "MD028/no-blanks-blockquote - Blank line inside blockquote",
@@ -813,9 +480,7 @@
813
480
  "default": true
814
481
  },
815
482
  "no-blanks-blockquote": {
816
- "description": "MD028/no-blanks-blockquote - Blank line inside blockquote",
817
- "type": "boolean",
818
- "default": true
483
+ "$ref": "#/properties/MD028"
819
484
  },
820
485
  "MD029": {
821
486
  "description": "MD029/ol-prefix - Ordered list item prefix",
@@ -840,26 +505,7 @@
840
505
  "additionalProperties": false
841
506
  },
842
507
  "ol-prefix": {
843
- "description": "MD029/ol-prefix - Ordered list item prefix",
844
- "type": [
845
- "boolean",
846
- "object"
847
- ],
848
- "default": true,
849
- "properties": {
850
- "style": {
851
- "description": "List style",
852
- "type": "string",
853
- "enum": [
854
- "one",
855
- "ordered",
856
- "one_or_ordered",
857
- "zero"
858
- ],
859
- "default": "one_or_ordered"
860
- }
861
- },
862
- "additionalProperties": false
508
+ "$ref": "#/properties/MD029"
863
509
  },
864
510
  "MD030": {
865
511
  "description": "MD030/list-marker-space - Spaces after list markers",
@@ -872,74 +518,34 @@
872
518
  "ul_single": {
873
519
  "description": "Spaces for single-line unordered list items",
874
520
  "type": "integer",
521
+ "minimum": 1,
875
522
  "default": 1
876
523
  },
877
524
  "ol_single": {
878
525
  "description": "Spaces for single-line ordered list items",
879
526
  "type": "integer",
527
+ "minimum": 1,
880
528
  "default": 1
881
529
  },
882
530
  "ul_multi": {
883
531
  "description": "Spaces for multi-line unordered list items",
884
532
  "type": "integer",
533
+ "minimum": 1,
885
534
  "default": 1
886
535
  },
887
536
  "ol_multi": {
888
537
  "description": "Spaces for multi-line ordered list items",
889
538
  "type": "integer",
890
- "default": 1
891
- }
892
- },
893
- "additionalProperties": false
894
- },
895
- "list-marker-space": {
896
- "description": "MD030/list-marker-space - Spaces after list markers",
897
- "type": [
898
- "boolean",
899
- "object"
900
- ],
901
- "default": true,
902
- "properties": {
903
- "ul_single": {
904
- "description": "Spaces for single-line unordered list items",
905
- "type": "integer",
906
- "default": 1
907
- },
908
- "ol_single": {
909
- "description": "Spaces for single-line ordered list items",
910
- "type": "integer",
911
- "default": 1
912
- },
913
- "ul_multi": {
914
- "description": "Spaces for multi-line unordered list items",
915
- "type": "integer",
916
- "default": 1
917
- },
918
- "ol_multi": {
919
- "description": "Spaces for multi-line ordered list items",
920
- "type": "integer",
921
- "default": 1
922
- }
923
- },
924
- "additionalProperties": false
925
- },
926
- "MD031": {
927
- "description": "MD031/blanks-around-fences - Fenced code blocks should be surrounded by blank lines",
928
- "type": [
929
- "boolean",
930
- "object"
931
- ],
932
- "default": true,
933
- "properties": {
934
- "list_items": {
935
- "description": "Include list items",
936
- "type": "boolean",
937
- "default": true
539
+ "minimum": 1,
540
+ "default": 1
938
541
  }
939
542
  },
940
543
  "additionalProperties": false
941
544
  },
942
- "blanks-around-fences": {
545
+ "list-marker-space": {
546
+ "$ref": "#/properties/MD030"
547
+ },
548
+ "MD031": {
943
549
  "description": "MD031/blanks-around-fences - Fenced code blocks should be surrounded by blank lines",
944
550
  "type": [
945
551
  "boolean",
@@ -955,15 +561,16 @@
955
561
  },
956
562
  "additionalProperties": false
957
563
  },
564
+ "blanks-around-fences": {
565
+ "$ref": "#/properties/MD031"
566
+ },
958
567
  "MD032": {
959
568
  "description": "MD032/blanks-around-lists - Lists should be surrounded by blank lines",
960
569
  "type": "boolean",
961
570
  "default": true
962
571
  },
963
572
  "blanks-around-lists": {
964
- "description": "MD032/blanks-around-lists - Lists should be surrounded by blank lines",
965
- "type": "boolean",
966
- "default": true
573
+ "$ref": "#/properties/MD032"
967
574
  },
968
575
  "MD033": {
969
576
  "description": "MD033/no-inline-html - Inline HTML",
@@ -985,23 +592,7 @@
985
592
  "additionalProperties": false
986
593
  },
987
594
  "no-inline-html": {
988
- "description": "MD033/no-inline-html - Inline HTML",
989
- "type": [
990
- "boolean",
991
- "object"
992
- ],
993
- "default": true,
994
- "properties": {
995
- "allowed_elements": {
996
- "description": "Allowed elements",
997
- "type": "array",
998
- "items": {
999
- "type": "string"
1000
- },
1001
- "default": []
1002
- }
1003
- },
1004
- "additionalProperties": false
595
+ "$ref": "#/properties/MD033"
1005
596
  },
1006
597
  "MD034": {
1007
598
  "description": "MD034/no-bare-urls - Bare URL used",
@@ -1009,9 +600,7 @@
1009
600
  "default": true
1010
601
  },
1011
602
  "no-bare-urls": {
1012
- "description": "MD034/no-bare-urls - Bare URL used",
1013
- "type": "boolean",
1014
- "default": true
603
+ "$ref": "#/properties/MD034"
1015
604
  },
1016
605
  "MD035": {
1017
606
  "description": "MD035/hr-style - Horizontal rule style",
@@ -1030,20 +619,7 @@
1030
619
  "additionalProperties": false
1031
620
  },
1032
621
  "hr-style": {
1033
- "description": "MD035/hr-style - Horizontal rule style",
1034
- "type": [
1035
- "boolean",
1036
- "object"
1037
- ],
1038
- "default": true,
1039
- "properties": {
1040
- "style": {
1041
- "description": "Horizontal rule style",
1042
- "type": "string",
1043
- "default": "consistent"
1044
- }
1045
- },
1046
- "additionalProperties": false
622
+ "$ref": "#/properties/MD035"
1047
623
  },
1048
624
  "MD036": {
1049
625
  "description": "MD036/no-emphasis-as-heading/no-emphasis-as-header - Emphasis used instead of a heading",
@@ -1062,36 +638,10 @@
1062
638
  "additionalProperties": false
1063
639
  },
1064
640
  "no-emphasis-as-heading": {
1065
- "description": "MD036/no-emphasis-as-heading/no-emphasis-as-header - Emphasis used instead of a heading",
1066
- "type": [
1067
- "boolean",
1068
- "object"
1069
- ],
1070
- "default": true,
1071
- "properties": {
1072
- "punctuation": {
1073
- "description": "Punctuation characters",
1074
- "type": "string",
1075
- "default": ".,;:!?。,;:!?"
1076
- }
1077
- },
1078
- "additionalProperties": false
641
+ "$ref": "#/properties/MD036"
1079
642
  },
1080
643
  "no-emphasis-as-header": {
1081
- "description": "MD036/no-emphasis-as-heading/no-emphasis-as-header - Emphasis used instead of a heading",
1082
- "type": [
1083
- "boolean",
1084
- "object"
1085
- ],
1086
- "default": true,
1087
- "properties": {
1088
- "punctuation": {
1089
- "description": "Punctuation characters",
1090
- "type": "string",
1091
- "default": ".,;:!?。,;:!?"
1092
- }
1093
- },
1094
- "additionalProperties": false
644
+ "$ref": "#/properties/MD036"
1095
645
  },
1096
646
  "MD037": {
1097
647
  "description": "MD037/no-space-in-emphasis - Spaces inside emphasis markers",
@@ -1099,9 +649,7 @@
1099
649
  "default": true
1100
650
  },
1101
651
  "no-space-in-emphasis": {
1102
- "description": "MD037/no-space-in-emphasis - Spaces inside emphasis markers",
1103
- "type": "boolean",
1104
- "default": true
652
+ "$ref": "#/properties/MD037"
1105
653
  },
1106
654
  "MD038": {
1107
655
  "description": "MD038/no-space-in-code - Spaces inside code span elements",
@@ -1109,9 +657,7 @@
1109
657
  "default": true
1110
658
  },
1111
659
  "no-space-in-code": {
1112
- "description": "MD038/no-space-in-code - Spaces inside code span elements",
1113
- "type": "boolean",
1114
- "default": true
660
+ "$ref": "#/properties/MD038"
1115
661
  },
1116
662
  "MD039": {
1117
663
  "description": "MD039/no-space-in-links - Spaces inside link text",
@@ -1119,9 +665,7 @@
1119
665
  "default": true
1120
666
  },
1121
667
  "no-space-in-links": {
1122
- "description": "MD039/no-space-in-links - Spaces inside link text",
1123
- "type": "boolean",
1124
- "default": true
668
+ "$ref": "#/properties/MD039"
1125
669
  },
1126
670
  "MD040": {
1127
671
  "description": "MD040/fenced-code-language - Fenced code blocks should have a language specified",
@@ -1129,9 +673,7 @@
1129
673
  "default": true
1130
674
  },
1131
675
  "fenced-code-language": {
1132
- "description": "MD040/fenced-code-language - Fenced code blocks should have a language specified",
1133
- "type": "boolean",
1134
- "default": true
676
+ "$ref": "#/properties/MD040"
1135
677
  },
1136
678
  "MD041": {
1137
679
  "description": "MD041/first-line-heading/first-line-h1 - First line in a file should be a top-level heading",
@@ -1144,6 +686,8 @@
1144
686
  "level": {
1145
687
  "description": "Heading level",
1146
688
  "type": "integer",
689
+ "minimum": 1,
690
+ "maximum": 6,
1147
691
  "default": 1
1148
692
  },
1149
693
  "front_matter_title": {
@@ -1155,46 +699,10 @@
1155
699
  "additionalProperties": false
1156
700
  },
1157
701
  "first-line-heading": {
1158
- "description": "MD041/first-line-heading/first-line-h1 - First line in a file should be a top-level heading",
1159
- "type": [
1160
- "boolean",
1161
- "object"
1162
- ],
1163
- "default": true,
1164
- "properties": {
1165
- "level": {
1166
- "description": "Heading level",
1167
- "type": "integer",
1168
- "default": 1
1169
- },
1170
- "front_matter_title": {
1171
- "description": "RegExp for matching title in front matter",
1172
- "type": "string",
1173
- "default": "^\\s*title\\s*[:=]"
1174
- }
1175
- },
1176
- "additionalProperties": false
702
+ "$ref": "#/properties/MD041"
1177
703
  },
1178
704
  "first-line-h1": {
1179
- "description": "MD041/first-line-heading/first-line-h1 - First line in a file should be a top-level heading",
1180
- "type": [
1181
- "boolean",
1182
- "object"
1183
- ],
1184
- "default": true,
1185
- "properties": {
1186
- "level": {
1187
- "description": "Heading level",
1188
- "type": "integer",
1189
- "default": 1
1190
- },
1191
- "front_matter_title": {
1192
- "description": "RegExp for matching title in front matter",
1193
- "type": "string",
1194
- "default": "^\\s*title\\s*[:=]"
1195
- }
1196
- },
1197
- "additionalProperties": false
705
+ "$ref": "#/properties/MD041"
1198
706
  },
1199
707
  "MD042": {
1200
708
  "description": "MD042/no-empty-links - No empty links",
@@ -1202,9 +710,7 @@
1202
710
  "default": true
1203
711
  },
1204
712
  "no-empty-links": {
1205
- "description": "MD042/no-empty-links - No empty links",
1206
- "type": "boolean",
1207
- "default": true
713
+ "$ref": "#/properties/MD042"
1208
714
  },
1209
715
  "MD043": {
1210
716
  "description": "MD043/required-headings/required-headers - Required heading structure",
@@ -1218,7 +724,8 @@
1218
724
  "description": "List of headings",
1219
725
  "type": "array",
1220
726
  "items": {
1221
- "type": "string"
727
+ "type": "string",
728
+ "pattern": "^(\\*|\\+|#{1,6} .*)$"
1222
729
  },
1223
730
  "default": []
1224
731
  },
@@ -1226,7 +733,8 @@
1226
733
  "description": "List of headings",
1227
734
  "type": "array",
1228
735
  "items": {
1229
- "type": "string"
736
+ "type": "string",
737
+ "pattern": "^(\\*|\\+|#{1,6} .*)$"
1230
738
  },
1231
739
  "default": []
1232
740
  }
@@ -1234,58 +742,10 @@
1234
742
  "additionalProperties": false
1235
743
  },
1236
744
  "required-headings": {
1237
- "description": "MD043/required-headings/required-headers - Required heading structure",
1238
- "type": [
1239
- "boolean",
1240
- "object"
1241
- ],
1242
- "default": true,
1243
- "properties": {
1244
- "headings": {
1245
- "description": "List of headings",
1246
- "type": "array",
1247
- "items": {
1248
- "type": "string"
1249
- },
1250
- "default": []
1251
- },
1252
- "headers": {
1253
- "description": "List of headings",
1254
- "type": "array",
1255
- "items": {
1256
- "type": "string"
1257
- },
1258
- "default": []
1259
- }
1260
- },
1261
- "additionalProperties": false
745
+ "$ref": "#/properties/MD043"
1262
746
  },
1263
747
  "required-headers": {
1264
- "description": "MD043/required-headings/required-headers - Required heading structure",
1265
- "type": [
1266
- "boolean",
1267
- "object"
1268
- ],
1269
- "default": true,
1270
- "properties": {
1271
- "headings": {
1272
- "description": "List of headings",
1273
- "type": "array",
1274
- "items": {
1275
- "type": "string"
1276
- },
1277
- "default": []
1278
- },
1279
- "headers": {
1280
- "description": "List of headings",
1281
- "type": "array",
1282
- "items": {
1283
- "type": "string"
1284
- },
1285
- "default": []
1286
- }
1287
- },
1288
- "additionalProperties": false
748
+ "$ref": "#/properties/MD043"
1289
749
  },
1290
750
  "MD044": {
1291
751
  "description": "MD044/proper-names - Proper names should have the correct capitalization",
@@ -1307,43 +767,25 @@
1307
767
  "description": "Include code blocks",
1308
768
  "type": "boolean",
1309
769
  "default": true
1310
- }
1311
- },
1312
- "additionalProperties": false
1313
- },
1314
- "proper-names": {
1315
- "description": "MD044/proper-names - Proper names should have the correct capitalization",
1316
- "type": [
1317
- "boolean",
1318
- "object"
1319
- ],
1320
- "default": true,
1321
- "properties": {
1322
- "names": {
1323
- "description": "List of proper names",
1324
- "type": "array",
1325
- "items": {
1326
- "type": "string"
1327
- },
1328
- "default": []
1329
770
  },
1330
- "code_blocks": {
1331
- "description": "Include code blocks",
771
+ "html_elements": {
772
+ "description": "Include HTML elements",
1332
773
  "type": "boolean",
1333
774
  "default": true
1334
775
  }
1335
776
  },
1336
777
  "additionalProperties": false
1337
778
  },
779
+ "proper-names": {
780
+ "$ref": "#/properties/MD044"
781
+ },
1338
782
  "MD045": {
1339
783
  "description": "MD045/no-alt-text - Images should have alternate text (alt text)",
1340
784
  "type": "boolean",
1341
785
  "default": true
1342
786
  },
1343
787
  "no-alt-text": {
1344
- "description": "MD045/no-alt-text - Images should have alternate text (alt text)",
1345
- "type": "boolean",
1346
- "default": true
788
+ "$ref": "#/properties/MD045"
1347
789
  },
1348
790
  "MD046": {
1349
791
  "description": "MD046/code-block-style - Code block style",
@@ -1367,7 +809,18 @@
1367
809
  "additionalProperties": false
1368
810
  },
1369
811
  "code-block-style": {
1370
- "description": "MD046/code-block-style - Code block style",
812
+ "$ref": "#/properties/MD046"
813
+ },
814
+ "MD047": {
815
+ "description": "MD047/single-trailing-newline - Files should end with a single newline character",
816
+ "type": "boolean",
817
+ "default": true
818
+ },
819
+ "single-trailing-newline": {
820
+ "$ref": "#/properties/MD047"
821
+ },
822
+ "MD048": {
823
+ "description": "MD048/code-fence-style - Code fence style",
1371
824
  "type": [
1372
825
  "boolean",
1373
826
  "object"
@@ -1375,30 +828,23 @@
1375
828
  "default": true,
1376
829
  "properties": {
1377
830
  "style": {
1378
- "description": "Block style",
831
+ "description": "Code fence style",
1379
832
  "type": "string",
1380
833
  "enum": [
1381
834
  "consistent",
1382
- "fenced",
1383
- "indented"
835
+ "backtick",
836
+ "tilde"
1384
837
  ],
1385
838
  "default": "consistent"
1386
839
  }
1387
840
  },
1388
841
  "additionalProperties": false
1389
842
  },
1390
- "MD047": {
1391
- "description": "MD047/single-trailing-newline - Files should end with a single newline character",
1392
- "type": "boolean",
1393
- "default": true
1394
- },
1395
- "single-trailing-newline": {
1396
- "description": "MD047/single-trailing-newline - Files should end with a single newline character",
1397
- "type": "boolean",
1398
- "default": true
843
+ "code-fence-style": {
844
+ "$ref": "#/properties/MD048"
1399
845
  },
1400
- "MD048": {
1401
- "description": "MD048/code-fence-style - Code fence style",
846
+ "MD049": {
847
+ "description": "MD049/emphasis-style - Emphasis style should be consistent",
1402
848
  "type": [
1403
849
  "boolean",
1404
850
  "object"
@@ -1406,20 +852,23 @@
1406
852
  "default": true,
1407
853
  "properties": {
1408
854
  "style": {
1409
- "description": "Code fence style",
855
+ "description": "Emphasis style should be consistent",
1410
856
  "type": "string",
1411
857
  "enum": [
1412
858
  "consistent",
1413
- "backtick",
1414
- "tilde"
859
+ "asterisk",
860
+ "underscore"
1415
861
  ],
1416
862
  "default": "consistent"
1417
863
  }
1418
864
  },
1419
865
  "additionalProperties": false
1420
866
  },
1421
- "code-fence-style": {
1422
- "description": "MD048/code-fence-style - Code fence style",
867
+ "emphasis-style": {
868
+ "$ref": "#/properties/MD049"
869
+ },
870
+ "MD050": {
871
+ "description": "MD050/strong-style - Strong style should be consistent",
1423
872
  "type": [
1424
873
  "boolean",
1425
874
  "object"
@@ -1427,18 +876,45 @@
1427
876
  "default": true,
1428
877
  "properties": {
1429
878
  "style": {
1430
- "description": "Code fence style",
879
+ "description": "Strong style should be consistent",
1431
880
  "type": "string",
1432
881
  "enum": [
1433
882
  "consistent",
1434
- "backtick",
1435
- "tilde"
883
+ "asterisk",
884
+ "underscore"
1436
885
  ],
1437
886
  "default": "consistent"
1438
887
  }
1439
888
  },
1440
889
  "additionalProperties": false
1441
890
  },
891
+ "strong-style": {
892
+ "$ref": "#/properties/MD050"
893
+ },
894
+ "MD051": {
895
+ "description": "MD051/link-fragments - Link fragments should be valid",
896
+ "type": "boolean",
897
+ "default": true
898
+ },
899
+ "link-fragments": {
900
+ "$ref": "#/properties/MD051"
901
+ },
902
+ "MD052": {
903
+ "description": "MD052/reference-links-images - Reference links and images should use a label that is defined",
904
+ "type": "boolean",
905
+ "default": true
906
+ },
907
+ "reference-links-images": {
908
+ "$ref": "#/properties/MD052"
909
+ },
910
+ "MD053": {
911
+ "description": "MD053/link-image-reference-definitions - Link and image reference definitions should be needed",
912
+ "type": "boolean",
913
+ "default": true
914
+ },
915
+ "link-image-reference-definitions": {
916
+ "$ref": "#/properties/MD053"
917
+ },
1442
918
  "headings": {
1443
919
  "description": "headings - MD001, MD002, MD003, MD018, MD019, MD020, MD021, MD022, MD023, MD024, MD025, MD026, MD036, MD041, MD043",
1444
920
  "type": "boolean",
@@ -1475,7 +951,7 @@
1475
951
  "default": true
1476
952
  },
1477
953
  "links": {
1478
- "description": "links - MD011, MD034, MD039, MD042",
954
+ "description": "links - MD011, MD034, MD039, MD042, MD051, MD052, MD053",
1479
955
  "type": "boolean",
1480
956
  "default": true
1481
957
  },
@@ -1535,7 +1011,7 @@
1535
1011
  "default": true
1536
1012
  },
1537
1013
  "emphasis": {
1538
- "description": "emphasis - MD036, MD037",
1014
+ "description": "emphasis - MD036, MD037, MD049, MD050",
1539
1015
  "type": "boolean",
1540
1016
  "default": true
1541
1017
  },
@@ -1555,7 +1031,7 @@
1555
1031
  "default": true
1556
1032
  },
1557
1033
  "images": {
1558
- "description": "images - MD045",
1034
+ "description": "images - MD045, MD052, MD053",
1559
1035
  "type": "boolean",
1560
1036
  "default": true
1561
1037
  }