@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.
- package/package.json +1 -11
- package/packages/config-commitlint/package.json +2 -2
- package/packages/config-eslint/package.json +4 -4
- package/packages/config-hooks/package.json +3 -3
- package/packages/config-markdownlint/node_modules/markdown-it/LICENSE +22 -0
- package/packages/config-markdownlint/node_modules/markdown-it/README.md +309 -0
- package/packages/config-markdownlint/node_modules/markdown-it/bin/markdown-it.js +117 -0
- package/packages/config-markdownlint/node_modules/markdown-it/dist/markdown-it.js +8441 -0
- package/packages/config-markdownlint/node_modules/markdown-it/dist/markdown-it.min.js +3 -0
- package/packages/config-markdownlint/node_modules/markdown-it/index.js +4 -0
- package/packages/config-markdownlint/node_modules/markdown-it/lib/common/entities.js +6 -0
- package/packages/config-markdownlint/node_modules/markdown-it/lib/common/html_blocks.js +70 -0
- package/packages/config-markdownlint/node_modules/markdown-it/lib/common/html_re.js +28 -0
- package/packages/config-markdownlint/node_modules/markdown-it/lib/common/utils.js +317 -0
- package/packages/config-markdownlint/node_modules/markdown-it/lib/helpers/index.js +7 -0
- package/packages/config-markdownlint/node_modules/markdown-it/lib/helpers/parse_link_destination.js +80 -0
- package/packages/config-markdownlint/node_modules/markdown-it/lib/helpers/parse_link_label.js +48 -0
- package/packages/config-markdownlint/node_modules/markdown-it/lib/helpers/parse_link_title.js +55 -0
- package/packages/config-markdownlint/node_modules/markdown-it/lib/index.js +582 -0
- package/packages/config-markdownlint/node_modules/markdown-it/lib/parser_block.js +131 -0
- package/packages/config-markdownlint/node_modules/markdown-it/lib/parser_core.js +61 -0
- package/packages/config-markdownlint/node_modules/markdown-it/lib/parser_inline.js +192 -0
- package/packages/config-markdownlint/node_modules/markdown-it/lib/presets/commonmark.js +81 -0
- package/packages/config-markdownlint/node_modules/markdown-it/lib/presets/default.js +41 -0
- package/packages/config-markdownlint/node_modules/markdown-it/lib/presets/zero.js +63 -0
- package/packages/config-markdownlint/node_modules/markdown-it/lib/renderer.js +341 -0
- package/packages/config-markdownlint/node_modules/markdown-it/lib/ruler.js +352 -0
- package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_block/blockquote.js +226 -0
- package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_block/code.js +34 -0
- package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_block/fence.js +98 -0
- package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_block/heading.js +55 -0
- package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_block/hr.js +45 -0
- package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_block/html_block.js +74 -0
- package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_block/lheading.js +83 -0
- package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_block/list.js +362 -0
- package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_block/paragraph.js +51 -0
- package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_block/reference.js +198 -0
- package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_block/state_block.js +231 -0
- package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_block/table.js +221 -0
- package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_core/block.js +16 -0
- package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_core/inline.js +13 -0
- package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_core/linkify.js +142 -0
- package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_core/normalize.js +21 -0
- package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_core/replacements.js +105 -0
- package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_core/smartquotes.js +201 -0
- package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_core/state_core.js +20 -0
- package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_core/text_join.js +45 -0
- package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_inline/autolink.js +76 -0
- package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_inline/backticks.js +63 -0
- package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_inline/balance_pairs.js +130 -0
- package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_inline/emphasis.js +130 -0
- package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_inline/entity.js +55 -0
- package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_inline/escape.js +71 -0
- package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_inline/fragments_join.js +41 -0
- package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_inline/html_inline.js +58 -0
- package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_inline/image.js +152 -0
- package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_inline/link.js +150 -0
- package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_inline/linkify.js +62 -0
- package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_inline/newline.js +46 -0
- package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_inline/state_inline.js +158 -0
- package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_inline/strikethrough.js +130 -0
- package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_inline/text.js +89 -0
- package/packages/config-markdownlint/node_modules/markdown-it/lib/token.js +201 -0
- package/packages/config-markdownlint/node_modules/markdown-it/package.json +87 -0
- package/packages/config-markdownlint/node_modules/markdownlint/CHANGELOG.md +428 -0
- package/packages/config-markdownlint/node_modules/markdownlint/CONTRIBUTING.md +92 -0
- package/packages/config-markdownlint/node_modules/markdownlint/LICENSE +21 -0
- package/packages/config-markdownlint/node_modules/markdownlint/README.md +1026 -0
- package/packages/config-markdownlint/node_modules/markdownlint/demo/markdownlint-browser.js +6814 -0
- package/packages/config-markdownlint/node_modules/markdownlint/doc/CustomRules.md +376 -0
- package/packages/config-markdownlint/node_modules/markdownlint/doc/Prettier.md +27 -0
- package/packages/config-markdownlint/node_modules/markdownlint/doc/ReleaseProcess.md +20 -0
- package/packages/config-markdownlint/node_modules/markdownlint/doc/Rules.md +2335 -0
- package/packages/config-markdownlint/node_modules/markdownlint/doc/md001.md +37 -0
- package/packages/config-markdownlint/node_modules/markdownlint/doc/md003.md +59 -0
- package/packages/config-markdownlint/node_modules/markdownlint/doc/md004.md +49 -0
- package/packages/config-markdownlint/node_modules/markdownlint/doc/md005.md +53 -0
- package/packages/config-markdownlint/node_modules/markdownlint/doc/md007.md +52 -0
- package/packages/config-markdownlint/node_modules/markdownlint/doc/md009.md +51 -0
- package/packages/config-markdownlint/node_modules/markdownlint/doc/md010.md +56 -0
- package/packages/config-markdownlint/node_modules/markdownlint/doc/md011.md +30 -0
- package/packages/config-markdownlint/node_modules/markdownlint/doc/md012.md +38 -0
- package/packages/config-markdownlint/node_modules/markdownlint/doc/md013.md +57 -0
- package/packages/config-markdownlint/node_modules/markdownlint/doc/md014.md +54 -0
- package/packages/config-markdownlint/node_modules/markdownlint/doc/md018.md +27 -0
- package/packages/config-markdownlint/node_modules/markdownlint/doc/md019.md +28 -0
- package/packages/config-markdownlint/node_modules/markdownlint/doc/md020.md +29 -0
- package/packages/config-markdownlint/node_modules/markdownlint/doc/md021.md +31 -0
- package/packages/config-markdownlint/node_modules/markdownlint/doc/md022.md +52 -0
- package/packages/config-markdownlint/node_modules/markdownlint/doc/md023.md +33 -0
- package/packages/config-markdownlint/node_modules/markdownlint/doc/md024.md +47 -0
- package/packages/config-markdownlint/node_modules/markdownlint/doc/md025.md +49 -0
- package/packages/config-markdownlint/node_modules/markdownlint/doc/md026.md +40 -0
- package/packages/config-markdownlint/node_modules/markdownlint/doc/md027.md +24 -0
- package/packages/config-markdownlint/node_modules/markdownlint/doc/md028.md +40 -0
- package/packages/config-markdownlint/node_modules/markdownlint/doc/md029.md +98 -0
- package/packages/config-markdownlint/node_modules/markdownlint/doc/md030.md +82 -0
- package/packages/config-markdownlint/node_modules/markdownlint/doc/md031.md +50 -0
- package/packages/config-markdownlint/node_modules/markdownlint/doc/md032.md +55 -0
- package/packages/config-markdownlint/node_modules/markdownlint/doc/md033.md +27 -0
- package/packages/config-markdownlint/node_modules/markdownlint/doc/md034.md +50 -0
- package/packages/config-markdownlint/node_modules/markdownlint/doc/md035.md +42 -0
- package/packages/config-markdownlint/node_modules/markdownlint/doc/md036.md +45 -0
- package/packages/config-markdownlint/node_modules/markdownlint/doc/md037.md +37 -0
- package/packages/config-markdownlint/node_modules/markdownlint/doc/md038.md +40 -0
- package/packages/config-markdownlint/node_modules/markdownlint/doc/md039.md +21 -0
- package/packages/config-markdownlint/node_modules/markdownlint/doc/md040.md +52 -0
- package/packages/config-markdownlint/node_modules/markdownlint/doc/md041.md +49 -0
- package/packages/config-markdownlint/node_modules/markdownlint/doc/md042.md +32 -0
- package/packages/config-markdownlint/node_modules/markdownlint/doc/md043.md +69 -0
- package/packages/config-markdownlint/node_modules/markdownlint/doc/md044.md +35 -0
- package/packages/config-markdownlint/node_modules/markdownlint/doc/md045.md +40 -0
- package/packages/config-markdownlint/node_modules/markdownlint/doc/md046.md +40 -0
- package/packages/config-markdownlint/node_modules/markdownlint/doc/md047.md +34 -0
- package/packages/config-markdownlint/node_modules/markdownlint/doc/md048.md +41 -0
- package/packages/config-markdownlint/node_modules/markdownlint/doc/md049.md +32 -0
- package/packages/config-markdownlint/node_modules/markdownlint/doc/md050.md +32 -0
- package/packages/config-markdownlint/node_modules/markdownlint/doc/md051.md +61 -0
- package/packages/config-markdownlint/node_modules/markdownlint/doc/md052.md +40 -0
- package/packages/config-markdownlint/node_modules/markdownlint/doc/md053.md +38 -0
- package/packages/config-markdownlint/node_modules/markdownlint/doc/md054.md +100 -0
- package/packages/config-markdownlint/node_modules/markdownlint/helpers/LICENSE +21 -0
- package/packages/config-markdownlint/node_modules/markdownlint/helpers/README.md +70 -0
- package/packages/config-markdownlint/node_modules/markdownlint/helpers/helpers.js +1025 -0
- package/packages/config-markdownlint/node_modules/markdownlint/helpers/micromark.cjs +426 -0
- package/packages/config-markdownlint/node_modules/markdownlint/helpers/package.json +26 -0
- package/packages/config-markdownlint/node_modules/markdownlint/helpers/shared.js +10 -0
- package/packages/config-markdownlint/node_modules/markdownlint/lib/cache.js +21 -0
- package/packages/config-markdownlint/node_modules/markdownlint/lib/configuration.d.ts +1152 -0
- package/packages/config-markdownlint/node_modules/markdownlint/lib/constants.js +14 -0
- package/packages/config-markdownlint/node_modules/markdownlint/lib/markdownlint.d.ts +406 -0
- package/packages/config-markdownlint/node_modules/markdownlint/lib/markdownlint.js +1476 -0
- package/packages/config-markdownlint/node_modules/markdownlint/lib/md001.js +22 -0
- package/packages/config-markdownlint/node_modules/markdownlint/lib/md003.js +42 -0
- package/packages/config-markdownlint/node_modules/markdownlint/lib/md004.js +76 -0
- package/packages/config-markdownlint/node_modules/markdownlint/lib/md005.js +73 -0
- package/packages/config-markdownlint/node_modules/markdownlint/lib/md007.js +86 -0
- package/packages/config-markdownlint/node_modules/markdownlint/lib/md009.js +86 -0
- package/packages/config-markdownlint/node_modules/markdownlint/lib/md010.js +60 -0
- package/packages/config-markdownlint/node_modules/markdownlint/lib/md011.js +46 -0
- package/packages/config-markdownlint/node_modules/markdownlint/lib/md012.js +32 -0
- package/packages/config-markdownlint/node_modules/markdownlint/lib/md013.js +96 -0
- package/packages/config-markdownlint/node_modules/markdownlint/lib/md014.js +53 -0
- package/packages/config-markdownlint/node_modules/markdownlint/lib/md018.js +34 -0
- package/packages/config-markdownlint/node_modules/markdownlint/lib/md019.js +39 -0
- package/packages/config-markdownlint/node_modules/markdownlint/lib/md020.js +62 -0
- package/packages/config-markdownlint/node_modules/markdownlint/lib/md021.js +62 -0
- package/packages/config-markdownlint/node_modules/markdownlint/lib/md022.js +108 -0
- package/packages/config-markdownlint/node_modules/markdownlint/lib/md023.js +38 -0
- package/packages/config-markdownlint/node_modules/markdownlint/lib/md024.js +38 -0
- package/packages/config-markdownlint/node_modules/markdownlint/lib/md025.js +32 -0
- package/packages/config-markdownlint/node_modules/markdownlint/lib/md026.js +50 -0
- package/packages/config-markdownlint/node_modules/markdownlint/lib/md027.js +56 -0
- package/packages/config-markdownlint/node_modules/markdownlint/lib/md028.js +30 -0
- package/packages/config-markdownlint/node_modules/markdownlint/lib/md029.js +67 -0
- package/packages/config-markdownlint/node_modules/markdownlint/lib/md030.js +61 -0
- package/packages/config-markdownlint/node_modules/markdownlint/lib/md031.js +40 -0
- package/packages/config-markdownlint/node_modules/markdownlint/lib/md032.js +78 -0
- package/packages/config-markdownlint/node_modules/markdownlint/lib/md033.js +39 -0
- package/packages/config-markdownlint/node_modules/markdownlint/lib/md034.js +79 -0
- package/packages/config-markdownlint/node_modules/markdownlint/lib/md035.js +24 -0
- package/packages/config-markdownlint/node_modules/markdownlint/lib/md036.js +56 -0
- package/packages/config-markdownlint/node_modules/markdownlint/lib/md037.js +91 -0
- package/packages/config-markdownlint/node_modules/markdownlint/lib/md038.js +97 -0
- package/packages/config-markdownlint/node_modules/markdownlint/lib/md039.js +67 -0
- package/packages/config-markdownlint/node_modules/markdownlint/lib/md040.js +37 -0
- package/packages/config-markdownlint/node_modules/markdownlint/lib/md041.js +42 -0
- package/packages/config-markdownlint/node_modules/markdownlint/lib/md042.js +49 -0
- package/packages/config-markdownlint/node_modules/markdownlint/lib/md043.js +64 -0
- package/packages/config-markdownlint/node_modules/markdownlint/lib/md044.js +107 -0
- package/packages/config-markdownlint/node_modules/markdownlint/lib/md045.js +60 -0
- package/packages/config-markdownlint/node_modules/markdownlint/lib/md046.js +33 -0
- package/packages/config-markdownlint/node_modules/markdownlint/lib/md047.js +28 -0
- package/packages/config-markdownlint/node_modules/markdownlint/lib/md048.js +30 -0
- package/packages/config-markdownlint/node_modules/markdownlint/lib/md049-md050.js +89 -0
- package/packages/config-markdownlint/node_modules/markdownlint/lib/md051.js +172 -0
- package/packages/config-markdownlint/node_modules/markdownlint/lib/md052.js +39 -0
- package/packages/config-markdownlint/node_modules/markdownlint/lib/md053.js +59 -0
- package/packages/config-markdownlint/node_modules/markdownlint/lib/md054.js +125 -0
- package/packages/config-markdownlint/node_modules/markdownlint/lib/rules.js +65 -0
- package/packages/config-markdownlint/node_modules/markdownlint/package.json +109 -0
- package/packages/config-markdownlint/node_modules/markdownlint/schema/.markdownlint.jsonc +297 -0
- package/packages/config-markdownlint/node_modules/markdownlint/schema/.markdownlint.yaml +266 -0
- package/packages/config-markdownlint/node_modules/markdownlint/schema/markdownlint-config-schema.json +1762 -0
- package/packages/config-markdownlint/node_modules/markdownlint/style/all.json +5 -0
- package/packages/config-markdownlint/node_modules/markdownlint/style/cirosantilli.json +22 -0
- package/packages/config-markdownlint/node_modules/markdownlint/style/prettier.json +26 -0
- package/packages/config-markdownlint/node_modules/markdownlint/style/relaxed.json +12 -0
- package/packages/config-markdownlint/package.json +3 -3
- package/packages/config-prettier/README.md +16 -0
- package/packages/config-prettier/package.json +4 -4
- package/packages/config-stylelint/package.json +2 -2
- package/scripts/semver.sh +6 -5
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# `MD052` - Reference links and images should use a label that is defined
|
|
2
|
+
|
|
3
|
+
Tags: `images`, `links`
|
|
4
|
+
|
|
5
|
+
Aliases: `reference-links-images`
|
|
6
|
+
|
|
7
|
+
Parameters:
|
|
8
|
+
|
|
9
|
+
- `shortcut_syntax`: Include shortcut syntax (`boolean`, default `false`)
|
|
10
|
+
|
|
11
|
+
Links and images in Markdown can provide the link destination or image source
|
|
12
|
+
at the time of use or can define it elsewhere and use a label for reference.
|
|
13
|
+
The reference format is convenient for keeping paragraph text clutter-free
|
|
14
|
+
and makes it easy to reuse the same URL in multiple places.
|
|
15
|
+
|
|
16
|
+
There are three kinds of reference links and images:
|
|
17
|
+
|
|
18
|
+
```markdown
|
|
19
|
+
Full: [text][label]
|
|
20
|
+
Collapsed: [label][]
|
|
21
|
+
Shortcut: [label]
|
|
22
|
+
|
|
23
|
+
Full: ![text][image]
|
|
24
|
+
Collapsed: ![image][]
|
|
25
|
+
Shortcut: ![image]
|
|
26
|
+
|
|
27
|
+
[label]: https://example.com/label
|
|
28
|
+
[image]: https://example.com/image
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
A link or image renders correctly when the corresponding label is defined, but
|
|
32
|
+
displays as text with brackets when the label is not present. By default, this
|
|
33
|
+
rule warns of undefined labels for "full" and "collapsed" reference syntax but
|
|
34
|
+
not for "shortcut" syntax because it is ambiguous.
|
|
35
|
+
|
|
36
|
+
The text `[example]` could be a shortcut link or the text "example" in brackets,
|
|
37
|
+
so "shortcut" syntax is ignored by default. To include "shortcut" syntax, set
|
|
38
|
+
the `include_shortcut` parameter to `true`. Note that doing so produces warnings
|
|
39
|
+
for *all* text in the document that *could* be a shortcut. If bracketed text is
|
|
40
|
+
intentional, brackets can be escaped with the `\` character: `\[example\]`.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# `MD053` - Link and image reference definitions should be needed
|
|
2
|
+
|
|
3
|
+
Tags: `images`, `links`
|
|
4
|
+
|
|
5
|
+
Aliases: `link-image-reference-definitions`
|
|
6
|
+
|
|
7
|
+
Parameters:
|
|
8
|
+
|
|
9
|
+
- `ignored_definitions`: Ignored definitions (`string[]`, default `["//"]`)
|
|
10
|
+
|
|
11
|
+
Fixable: Some violations can be fixed by tooling
|
|
12
|
+
|
|
13
|
+
Links and images in Markdown can provide the link destination or image source
|
|
14
|
+
at the time of use or can use a label to reference a definition elsewhere in
|
|
15
|
+
the document. The latter reference format is convenient for keeping paragraph
|
|
16
|
+
text clutter-free and makes it easy to reuse the same URL in multiple places.
|
|
17
|
+
|
|
18
|
+
Because link and image reference definitions are located separately from
|
|
19
|
+
where they are used, there are two scenarios where a definition can be
|
|
20
|
+
unnecessary:
|
|
21
|
+
|
|
22
|
+
1. If a label is not referenced by any link or image in a document, that
|
|
23
|
+
definition is unused and can be deleted.
|
|
24
|
+
2. If a label is defined multiple times in a document, the first definition is
|
|
25
|
+
used and the others can be deleted.
|
|
26
|
+
|
|
27
|
+
This rule considers a reference definition to be used if any link or image
|
|
28
|
+
reference has the corresponding label. The "full", "collapsed", and "shortcut"
|
|
29
|
+
formats are all supported.
|
|
30
|
+
|
|
31
|
+
If there are reference definitions that are deliberately unreferenced, they can
|
|
32
|
+
be ignored by setting the `ignored_definitions` parameter. The default value of
|
|
33
|
+
this parameter ignores the following convention for adding non-HTML comments to
|
|
34
|
+
Markdown:
|
|
35
|
+
|
|
36
|
+
```markdown
|
|
37
|
+
[//]: # (This behaves like a comment)
|
|
38
|
+
```
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
# `MD054` - Link and image style
|
|
2
|
+
|
|
3
|
+
Tags: `images`, `links`
|
|
4
|
+
|
|
5
|
+
Aliases: `link-image-style`
|
|
6
|
+
|
|
7
|
+
Parameters:
|
|
8
|
+
|
|
9
|
+
- `autolink`: Allow autolinks (`boolean`, default `true`)
|
|
10
|
+
- `collapsed`: Allow collapsed reference links and images (`boolean`, default
|
|
11
|
+
`true`)
|
|
12
|
+
- `full`: Allow full reference links and images (`boolean`, default `true`)
|
|
13
|
+
- `inline`: Allow inline links and images (`boolean`, default `true`)
|
|
14
|
+
- `shortcut`: Allow shortcut reference links and images (`boolean`, default
|
|
15
|
+
`true`)
|
|
16
|
+
- `url_inline`: Allow URLs as inline links (`boolean`, default `true`)
|
|
17
|
+
|
|
18
|
+
Fixable: Some violations can be fixed by tooling
|
|
19
|
+
|
|
20
|
+
Links and images in Markdown can provide the link destination or image source at
|
|
21
|
+
the time of use or can use a label to reference a definition elsewhere in the
|
|
22
|
+
document. The three reference formats are convenient for keeping paragraph text
|
|
23
|
+
clutter-free and make it easy to reuse the same URL in multiple places.
|
|
24
|
+
|
|
25
|
+
By default, this rule allows all link/image styles.
|
|
26
|
+
|
|
27
|
+
Setting the `autolink` parameter to `false` disables autolinks:
|
|
28
|
+
|
|
29
|
+
```markdown
|
|
30
|
+
<https://example.com>
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Setting the `inline` parameter to `false` disables inline links and images:
|
|
34
|
+
|
|
35
|
+
```markdown
|
|
36
|
+
[link](https://example.com)
|
|
37
|
+
|
|
38
|
+

|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
Setting the `full` parameter to `false` disables full reference links and
|
|
42
|
+
images:
|
|
43
|
+
|
|
44
|
+
```markdown
|
|
45
|
+
[link][url]
|
|
46
|
+
|
|
47
|
+
![image][url]
|
|
48
|
+
|
|
49
|
+
[url]: https://example.com
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
Setting the `collapsed` parameter to `false` disables collapsed reference links
|
|
53
|
+
and images:
|
|
54
|
+
|
|
55
|
+
```markdown
|
|
56
|
+
[url][]
|
|
57
|
+
|
|
58
|
+
![url][]
|
|
59
|
+
|
|
60
|
+
[url]: https://example.com
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Setting the `shortcut` parameter to `false` disables shortcut reference links
|
|
64
|
+
and images:
|
|
65
|
+
|
|
66
|
+
```markdown
|
|
67
|
+
[url]
|
|
68
|
+
|
|
69
|
+
![url]
|
|
70
|
+
|
|
71
|
+
[url]: https://example.com
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
To fix violations of this rule, change the link or image to use an allowed
|
|
75
|
+
style. This rule can automatically fix violations when a link or image can be
|
|
76
|
+
converted to the `inline` style (preferred) or a link can be converted to the
|
|
77
|
+
`autolink` style (which does not support images and must be an absolute URL).
|
|
78
|
+
This rule does *not* fix scenarios that require converting a link or image to
|
|
79
|
+
the `full`, `collapsed`, or `shortcut` reference styles because that involves
|
|
80
|
+
naming the reference and determining where to insert it in the document.
|
|
81
|
+
|
|
82
|
+
Setting the `url_inline` parameter to `false` prevents the use of inline links
|
|
83
|
+
with the same absolute URL text/destination and no title because such links can
|
|
84
|
+
be converted to autolinks:
|
|
85
|
+
|
|
86
|
+
```markdown
|
|
87
|
+
[https://example.com](https://example.com)
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
To fix `url_inline` violations, use the simpler autolink syntax instead:
|
|
91
|
+
|
|
92
|
+
```markdown
|
|
93
|
+
<https://example.com>
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
Rationale: Consistent formatting makes it easier to understand a document.
|
|
97
|
+
Autolinks are concise, but appear as URLs which can be long and confusing.
|
|
98
|
+
Inline links and images can include descriptive text, but take up more space in
|
|
99
|
+
Markdown form. Reference links and images can be easier to read and manipulate
|
|
100
|
+
in Markdown form, but require a separate link reference definition.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
The MIT License (MIT)
|
|
2
|
+
|
|
3
|
+
Copyright (c) David Anson
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in
|
|
13
|
+
all copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
21
|
+
THE SOFTWARE.
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# markdownlint-rule-helpers
|
|
2
|
+
|
|
3
|
+
> A collection of `markdownlint` helper functions for custom rules
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
The [Markdown][markdown] linter [`markdownlint`][markdownlint] offers a variety
|
|
8
|
+
of built-in validation [rules][rules] and supports the creation of [custom
|
|
9
|
+
rules][custom-rules]. The internal rules share various helper functions; this
|
|
10
|
+
package exposes those for reuse by custom rules.
|
|
11
|
+
|
|
12
|
+
## API
|
|
13
|
+
|
|
14
|
+
*Undocumented* - This package exports the internal functions as-is. The APIs
|
|
15
|
+
were not originally meant to be public, are not officially supported, and may
|
|
16
|
+
change from release to release. There are brief descriptive comments above each
|
|
17
|
+
function, but no [JSDoc][jsdoc] annotations. That said, some of what's here will
|
|
18
|
+
be useful to custom rule authors and may avoid duplicating code.
|
|
19
|
+
|
|
20
|
+
## Examples
|
|
21
|
+
|
|
22
|
+
### Using Helpers from a Custom Rule
|
|
23
|
+
|
|
24
|
+
```javascript
|
|
25
|
+
const { forEachLine, getLineMetadata } = require("markdownlint-rule-helpers");
|
|
26
|
+
|
|
27
|
+
module.exports = {
|
|
28
|
+
"names": [ "every-n-lines" ],
|
|
29
|
+
"description": "Rule that reports an error every N lines",
|
|
30
|
+
"tags": [ "test" ],
|
|
31
|
+
"function": (params, onError) => {
|
|
32
|
+
const n = params.config.n || 2;
|
|
33
|
+
forEachLine(getLineMetadata(params), (line, lineIndex) => {
|
|
34
|
+
const lineNumber = lineIndex + 1;
|
|
35
|
+
if ((lineNumber % n) === 0) {
|
|
36
|
+
onError({
|
|
37
|
+
"lineNumber": lineNumber,
|
|
38
|
+
"detail": "Line number " + lineNumber
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### Applying Recommended Fixes
|
|
47
|
+
|
|
48
|
+
```javascript
|
|
49
|
+
const { "sync": markdownlintSync } = require("markdownlint");
|
|
50
|
+
const markdownlintRuleHelpers = require("markdownlint-rule-helpers");
|
|
51
|
+
|
|
52
|
+
function fixMarkdownlintViolations(content) {
|
|
53
|
+
const fixResults = markdownlintSync({ strings: { content } });
|
|
54
|
+
return markdownlintRuleHelpers.applyFixes(content, fixResults.content);
|
|
55
|
+
}
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
See also: [`markdownlint` built-in rule implementations][lib].
|
|
59
|
+
|
|
60
|
+
## Tests
|
|
61
|
+
|
|
62
|
+
*None* - The entire body of code is tested to 100% coverage by the core
|
|
63
|
+
`markdownlint` project, so there are no additional tests here.
|
|
64
|
+
|
|
65
|
+
[custom-rules]: https://github.com/DavidAnson/markdownlint/blob/main/doc/CustomRules.md
|
|
66
|
+
[jsdoc]: https://en.m.wikipedia.org/wiki/JSDoc
|
|
67
|
+
[lib]: https://github.com/DavidAnson/markdownlint/tree/main/lib
|
|
68
|
+
[markdown]: https://en.wikipedia.org/wiki/Markdown
|
|
69
|
+
[markdownlint]: https://github.com/DavidAnson/markdownlint
|
|
70
|
+
[rules]: https://github.com/DavidAnson/markdownlint/blob/main/doc/Rules.md
|