Socket
Socket
Sign inDemoInstall

markdownlint

Package Overview
Dependencies
8
Maintainers
1
Versions
67
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.33.0 to 0.34.0

8

CHANGELOG.md
# Changelog
## 0.34.0
- Use `micromark` in MD027/MD028/MD036/MD040/MD041/MD046/MD048
- Improve MD013/MD034/MD049/MD050/MD051
- Update custom rule requirements and documentation
- Improve various TypeScript declarations
- Update dependencies
## 0.33.0

@@ -4,0 +12,0 @@

7

CONTRIBUTING.md

@@ -22,4 +22,5 @@ # Contributing

exactly (also known as "pinning"). The short explanation is that doing otherwise
eventually leads to inconsistent behavior and broken functionality. (See [Pin
your npm/yarn dependencies][pin-dependencies] for a longer explanation.)
eventually leads to inconsistent behavior and broken functionality. (See [Why I
pin dependency versions in Node.js packages][version-pinning] for a longer
explanation.)

@@ -92,3 +93,3 @@ If developing a new rule, start by creating a [custom rule][custom-rules] in its

[npm-scripts]: https://docs.npmjs.com/misc/scripts
[pin-dependencies]: https://maxleiter.com/blog/pin-dependencies
[rewriting-history]: https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History
[version-pinning]: https://dlaa.me/blog/post/versionpinning

@@ -31,2 +31,3 @@ # Custom Rules

```javascript
/** @type import("markdownlint").Rule */
module.exports = {

@@ -37,2 +38,3 @@ "names": [ "any-blockquote" ],

"tags": [ "test" ],
"parser": "markdownit",
"function": function rule(params, onError) {

@@ -53,4 +55,3 @@ params.parsers.markdownit.tokens.filter(function filterToken(token) {

A rule is implemented as an `Object` with one optional and four required
properties:
A rule is implemented as an `Object`:

@@ -65,2 +66,5 @@ - `names` is a required `Array` of `String` values that identify the rule in

easier customization.
- `parser` is a required `String` value `"markdownit" | "none"` that specifies
the parser data used via `params.parsers` (see below).
- Note: The value `"micromark"` is valid but is NOT currently supported.
- `asynchronous` is an optional `Boolean` value that indicates whether the rule

@@ -73,4 +77,9 @@ returns a `Promise` and runs asynchronously.

- `name` is a `String` that identifies the input file/string.
- `tokens` is an `Array` of [`markdown-it` `Token`s][markdown-it-token] with
added `line` and `lineNumber` properties.
- `parsers` is an `Object` with properties corresponding to the value of
`parser` in the rule definition (see above).
- `markdownit` is an `Object` that provides access to output from the
[`markdown-it`][markdown-it] parser.
- `tokens` is an `Array` of [`markdown-it` `Token`s][markdown-it-token]
with added `line` and `lineNumber` properties. (This property was
previously on the `params` object.)
- `lines` is an `Array` of `String` values corresponding to the lines of the

@@ -130,3 +139,2 @@ input file/string.

- Packages should export a single rule object or an `Array` of rule objects
- [Custom rules from the axibase/docs-util repository][docs-util]
- [Custom rules from the webhintio/hint repository][hint]

@@ -154,3 +162,3 @@

"name": "doc/example.md",
"tokens": [
"parsers.markdownit.tokens": [
{

@@ -374,3 +382,2 @@ "type": "heading_open",

[commonmark]: https://commonmark.org/
[docs-util]: https://github.com/axibase/docs-util/tree/master/linting-rules
[hint]: https://github.com/webhintio/hint/blob/main/scripts/lint-markdown.js

@@ -377,0 +384,0 @@ [lib]: ../lib

@@ -38,8 +38,8 @@ # `MD013` - Line length

This line is okay because there are-no-spaces-beyond-that-length
And this line is a violation because there are
This-line-is-also-okay-because-there-are-no-spaces
This line is a violation because there are spaces beyond that length
This-line-is-okay-because-there-are-no-spaces-anywhere-within
```
In `strict` or `stern` modes, the two middle lines above are a violation. The
third line is a violation in `strict` mode but allowed in `stern` mode.
In `strict` mode, the last three lines above are all violations. In `stern`
mode, the middle two lines above are both violations, but the last is okay.

@@ -53,7 +53,8 @@ You have the option to exclude this rule for code blocks, tables, or headings.

Lines with link/image reference definitions are always exempted from this rule
(even in `strict` mode) because there is generally no way to split such lines
without breaking the URL.
Lines with link/image reference definitions and standalone lines (i.e., not part
of a paragraph) with only a link/image (possibly using (strong) emphasis) are
always exempted from this rule (even in `strict` mode) because there is often no
way to split such lines without breaking the URL.
Rationale: Extremely long lines can be difficult to work with in some editors.
More information: <https://cirosantilli.com/markdown-style-guide#line-wrapping>.

@@ -32,2 +32,5 @@ # `MD049` - Emphasis style

Note: Emphasis within a word is restricted to "asterisk" in order to avoid
unwanted emphasis for words containing internal underscores like_this_one.
Rationale: Consistent formatting makes it easier to understand a document.

@@ -32,2 +32,5 @@ # `MD050` - Strong style

Note: Emphasis within a word is restricted to "asterisk" in order to avoid
unwanted emphasis for words containing internal underscores like_this_one.
Rationale: Consistent formatting makes it easier to understand a document.

@@ -27,2 +27,12 @@ # `MD051` - Link fragments should be valid

Link fragments may be handled case-sensitively, so this rule requires fragments
to exactly match the [GitHub heading algorithm][github-heading-algorithm].
Therefore, the following example is reported as a violation:
```markdown
# Heading Name
[Link](#Heading-Name)
```
Alternatively, some platforms allow the syntax `{#named-anchor}` to be used

@@ -50,2 +60,17 @@ within a heading to provide a specific name (consisting of only lower-case

This rule also recognizes the custom fragment syntax used by GitHub to highlight
[specific content in a document][github-linking-to-content].
For example, this link to line 20:
```markdown
[Link](#L20)
```
And this link to content starting within line 19 running into line 21:
```markdown
[Link](#L19C5-L21C11)
```
Rationale: [GitHub section links][github-section-links] are created

@@ -64,1 +89,2 @@ automatically for every heading when Markdown content is displayed on GitHub.

[github-heading-algorithm]: https://github.com/gjtorikian/html-pipeline/blob/f13a1534cb650ba17af400d1acd3a22c28004c09/lib/html/pipeline/toc_filter.rb
[github-linking-to-content]: https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/creating-a-permanent-link-to-a-code-snippet#linking-to-markdown#linking-to-markdown

@@ -498,8 +498,8 @@ # Rules

This line is okay because there are-no-spaces-beyond-that-length
And this line is a violation because there are
This-line-is-also-okay-because-there-are-no-spaces
This line is a violation because there are spaces beyond that length
This-line-is-okay-because-there-are-no-spaces-anywhere-within
```
In `strict` or `stern` modes, the two middle lines above are a violation. The
third line is a violation in `strict` mode but allowed in `stern` mode.
In `strict` mode, the last three lines above are all violations. In `stern`
mode, the middle two lines above are both violations, but the last is okay.

@@ -513,5 +513,6 @@ You have the option to exclude this rule for code blocks, tables, or headings.

Lines with link/image reference definitions are always exempted from this rule
(even in `strict` mode) because there is generally no way to split such lines
without breaking the URL.
Lines with link/image reference definitions and standalone lines (i.e., not part
of a paragraph) with only a link/image (possibly using (strong) emphasis) are
always exempted from this rule (even in `strict` mode) because there is often no
way to split such lines without breaking the URL.

@@ -2040,2 +2041,5 @@ Rationale: Extremely long lines can be difficult to work with in some editors.

Note: Emphasis within a word is restricted to "asterisk" in order to avoid
unwanted emphasis for words containing internal underscores like_this_one.
Rationale: Consistent formatting makes it easier to understand a document.

@@ -2076,2 +2080,5 @@

Note: Emphasis within a word is restricted to "asterisk" in order to avoid
unwanted emphasis for words containing internal underscores like_this_one.
Rationale: Consistent formatting makes it easier to understand a document.

@@ -2107,2 +2114,12 @@

Link fragments may be handled case-sensitively, so this rule requires fragments
to exactly match the [GitHub heading algorithm][github-heading-algorithm].
Therefore, the following example is reported as a violation:
```markdown
# Heading Name
[Link](#Heading-Name)
```
Alternatively, some platforms allow the syntax `{#named-anchor}` to be used

@@ -2130,2 +2147,17 @@ within a heading to provide a specific name (consisting of only lower-case

This rule also recognizes the custom fragment syntax used by GitHub to highlight
[specific content in a document][github-linking-to-content].
For example, this link to line 20:
```markdown
[Link](#L20)
```
And this link to content starting within line 19 running into line 21:
```markdown
[Link](#L19C5-L21C11)
```
Rationale: [GitHub section links][github-section-links] are created

@@ -2144,2 +2176,3 @@ automatically for every heading when Markdown content is displayed on GitHub.

[github-heading-algorithm]: https://github.com/gjtorikian/html-pipeline/blob/f13a1534cb650ba17af400d1acd3a22c28004c09/lib/html/pipeline/toc_filter.rb
[github-linking-to-content]: https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/creating-a-permanent-link-to-a-code-snippet#linking-to-markdown#linking-to-markdown

@@ -2146,0 +2179,0 @@ <a name="md052"></a>

@@ -280,3 +280,3 @@ // @ts-check

* @param {string} markup Emphasis or strong string.
* @returns {string} String representation.
* @returns {"asterisk" | "underscore"} String representation.
*/

@@ -320,3 +320,3 @@ module.exports.emphasisOrStrongStyleFor =

* @param {Object} token MarkdownItToken instance.
* @returns {string} String representation.
* @returns {"asterisk" | "dash" | "plus"} String representation.
*/

@@ -707,6 +707,6 @@ module.exports.unorderedListStyleFor = function unorderedListStyleFor(token) {

*
* @param {Object} params RuleParams instance.
* @param {import("../helpers/micromark.cjs").Token[]} tokens Micromark tokens.
* @returns {Object} Reference link/image data.
*/
function getReferenceLinkImageData(params) {
function getReferenceLinkImageData(tokens) {
const normalizeReference = (s) => s.toLowerCase().trim().replace(/\s+/g, " ");

@@ -720,3 +720,3 @@ const definitions = new Map();

micromark.filterByTypes(
params.parsers.micromark.tokens,
tokens,
[

@@ -723,0 +723,0 @@ // definitionLineIndices

{
"name": "markdownlint-rule-helpers",
"version": "0.24.0",
"version": "0.25.0",
"description": "A collection of markdownlint helper functions for custom rules",

@@ -17,3 +17,3 @@ "main": "./helpers.js",

"engines": {
"node": ">=16"
"node": ">=18"
},

@@ -20,0 +20,0 @@ "dependencies": {

@@ -27,2 +27,3 @@ # markdownlint-rule-helpers

/** @type import("markdownlint").Rule */
module.exports = {

@@ -32,2 +33,3 @@ "names": [ "every-n-lines" ],

"tags": [ "test" ],
"parser": "none",
"function": (params, onError) => {

@@ -67,7 +69,7 @@ const n = params.config.n || 2;

[custom-rules]: https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/CustomRules.md
[custom-rules]: https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/CustomRules.md
[jsdoc]: https://en.m.wikipedia.org/wiki/JSDoc
[lib]: https://github.com/DavidAnson/markdownlint/tree/v0.33.0/lib
[lib]: https://github.com/DavidAnson/markdownlint/tree/v0.34.0/lib
[markdown]: https://en.wikipedia.org/wiki/Markdown
[markdownlint]: https://github.com/DavidAnson/markdownlint
[rules]: https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/Rules.md
[rules]: https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/Rules.md

@@ -22,11 +22,11 @@ /* eslint-disable */

/**
* MD001/heading-increment : Heading levels should only increment by one level at a time : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md001.md
* MD001/heading-increment : Heading levels should only increment by one level at a time : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md001.md
*/
MD001?: boolean;
/**
* MD001/heading-increment : Heading levels should only increment by one level at a time : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md001.md
* MD001/heading-increment : Heading levels should only increment by one level at a time : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md001.md
*/
"heading-increment"?: boolean;
/**
* MD003/heading-style : Heading style : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md003.md
* MD003/heading-style : Heading style : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md003.md
*/

@@ -42,3 +42,3 @@ MD003?:

/**
* MD003/heading-style : Heading style : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md003.md
* MD003/heading-style : Heading style : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md003.md
*/

@@ -54,3 +54,3 @@ "heading-style"?:

/**
* MD004/ul-style : Unordered list style : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md004.md
* MD004/ul-style : Unordered list style : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md004.md
*/

@@ -66,3 +66,3 @@ MD004?:

/**
* MD004/ul-style : Unordered list style : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md004.md
* MD004/ul-style : Unordered list style : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md004.md
*/

@@ -78,11 +78,11 @@ "ul-style"?:

/**
* MD005/list-indent : Inconsistent indentation for list items at the same level : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md005.md
* MD005/list-indent : Inconsistent indentation for list items at the same level : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md005.md
*/
MD005?: boolean;
/**
* MD005/list-indent : Inconsistent indentation for list items at the same level : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md005.md
* MD005/list-indent : Inconsistent indentation for list items at the same level : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md005.md
*/
"list-indent"?: boolean;
/**
* MD007/ul-indent : Unordered list indentation : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md007.md
* MD007/ul-indent : Unordered list indentation : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md007.md
*/

@@ -106,3 +106,3 @@ MD007?:

/**
* MD007/ul-indent : Unordered list indentation : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md007.md
* MD007/ul-indent : Unordered list indentation : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md007.md
*/

@@ -126,3 +126,3 @@ "ul-indent"?:

/**
* MD009/no-trailing-spaces : Trailing spaces : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md009.md
* MD009/no-trailing-spaces : Trailing spaces : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md009.md
*/

@@ -146,3 +146,3 @@ MD009?:

/**
* MD009/no-trailing-spaces : Trailing spaces : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md009.md
* MD009/no-trailing-spaces : Trailing spaces : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md009.md
*/

@@ -166,3 +166,3 @@ "no-trailing-spaces"?:

/**
* MD010/no-hard-tabs : Hard tabs : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md010.md
* MD010/no-hard-tabs : Hard tabs : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md010.md
*/

@@ -186,3 +186,3 @@ MD010?:

/**
* MD010/no-hard-tabs : Hard tabs : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md010.md
* MD010/no-hard-tabs : Hard tabs : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md010.md
*/

@@ -206,11 +206,11 @@ "no-hard-tabs"?:

/**
* MD011/no-reversed-links : Reversed link syntax : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md011.md
* MD011/no-reversed-links : Reversed link syntax : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md011.md
*/
MD011?: boolean;
/**
* MD011/no-reversed-links : Reversed link syntax : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md011.md
* MD011/no-reversed-links : Reversed link syntax : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md011.md
*/
"no-reversed-links"?: boolean;
/**
* MD012/no-multiple-blanks : Multiple consecutive blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md012.md
* MD012/no-multiple-blanks : Multiple consecutive blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md012.md
*/

@@ -226,3 +226,3 @@ MD012?:

/**
* MD012/no-multiple-blanks : Multiple consecutive blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md012.md
* MD012/no-multiple-blanks : Multiple consecutive blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md012.md
*/

@@ -238,3 +238,3 @@ "no-multiple-blanks"?:

/**
* MD013/line-length : Line length : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md013.md
* MD013/line-length : Line length : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md013.md
*/

@@ -278,3 +278,3 @@ MD013?:

/**
* MD013/line-length : Line length : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md013.md
* MD013/line-length : Line length : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md013.md
*/

@@ -318,43 +318,43 @@ "line-length"?:

/**
* MD014/commands-show-output : Dollar signs used before commands without showing output : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md014.md
* MD014/commands-show-output : Dollar signs used before commands without showing output : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md014.md
*/
MD014?: boolean;
/**
* MD014/commands-show-output : Dollar signs used before commands without showing output : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md014.md
* MD014/commands-show-output : Dollar signs used before commands without showing output : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md014.md
*/
"commands-show-output"?: boolean;
/**
* MD018/no-missing-space-atx : No space after hash on atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md018.md
* MD018/no-missing-space-atx : No space after hash on atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md018.md
*/
MD018?: boolean;
/**
* MD018/no-missing-space-atx : No space after hash on atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md018.md
* MD018/no-missing-space-atx : No space after hash on atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md018.md
*/
"no-missing-space-atx"?: boolean;
/**
* MD019/no-multiple-space-atx : Multiple spaces after hash on atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md019.md
* MD019/no-multiple-space-atx : Multiple spaces after hash on atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md019.md
*/
MD019?: boolean;
/**
* MD019/no-multiple-space-atx : Multiple spaces after hash on atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md019.md
* MD019/no-multiple-space-atx : Multiple spaces after hash on atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md019.md
*/
"no-multiple-space-atx"?: boolean;
/**
* MD020/no-missing-space-closed-atx : No space inside hashes on closed atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md020.md
* MD020/no-missing-space-closed-atx : No space inside hashes on closed atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md020.md
*/
MD020?: boolean;
/**
* MD020/no-missing-space-closed-atx : No space inside hashes on closed atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md020.md
* MD020/no-missing-space-closed-atx : No space inside hashes on closed atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md020.md
*/
"no-missing-space-closed-atx"?: boolean;
/**
* MD021/no-multiple-space-closed-atx : Multiple spaces inside hashes on closed atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md021.md
* MD021/no-multiple-space-closed-atx : Multiple spaces inside hashes on closed atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md021.md
*/
MD021?: boolean;
/**
* MD021/no-multiple-space-closed-atx : Multiple spaces inside hashes on closed atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md021.md
* MD021/no-multiple-space-closed-atx : Multiple spaces inside hashes on closed atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md021.md
*/
"no-multiple-space-closed-atx"?: boolean;
/**
* MD022/blanks-around-headings : Headings should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md022.md
* MD022/blanks-around-headings : Headings should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md022.md
*/

@@ -374,3 +374,3 @@ MD022?:

/**
* MD022/blanks-around-headings : Headings should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md022.md
* MD022/blanks-around-headings : Headings should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md022.md
*/

@@ -390,11 +390,11 @@ "blanks-around-headings"?:

/**
* MD023/heading-start-left : Headings must start at the beginning of the line : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md023.md
* MD023/heading-start-left : Headings must start at the beginning of the line : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md023.md
*/
MD023?: boolean;
/**
* MD023/heading-start-left : Headings must start at the beginning of the line : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md023.md
* MD023/heading-start-left : Headings must start at the beginning of the line : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md023.md
*/
"heading-start-left"?: boolean;
/**
* MD024/no-duplicate-heading : Multiple headings with the same content : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md024.md
* MD024/no-duplicate-heading : Multiple headings with the same content : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md024.md
*/

@@ -410,3 +410,3 @@ MD024?:

/**
* MD024/no-duplicate-heading : Multiple headings with the same content : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md024.md
* MD024/no-duplicate-heading : Multiple headings with the same content : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md024.md
*/

@@ -422,3 +422,3 @@ "no-duplicate-heading"?:

/**
* MD025/single-title/single-h1 : Multiple top-level headings in the same document : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md025.md
* MD025/single-title/single-h1 : Multiple top-level headings in the same document : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md025.md
*/

@@ -438,3 +438,3 @@ MD025?:

/**
* MD025/single-title/single-h1 : Multiple top-level headings in the same document : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md025.md
* MD025/single-title/single-h1 : Multiple top-level headings in the same document : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md025.md
*/

@@ -454,3 +454,3 @@ "single-title"?:

/**
* MD025/single-title/single-h1 : Multiple top-level headings in the same document : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md025.md
* MD025/single-title/single-h1 : Multiple top-level headings in the same document : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md025.md
*/

@@ -470,3 +470,3 @@ "single-h1"?:

/**
* MD026/no-trailing-punctuation : Trailing punctuation in heading : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md026.md
* MD026/no-trailing-punctuation : Trailing punctuation in heading : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md026.md
*/

@@ -482,3 +482,3 @@ MD026?:

/**
* MD026/no-trailing-punctuation : Trailing punctuation in heading : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md026.md
* MD026/no-trailing-punctuation : Trailing punctuation in heading : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md026.md
*/

@@ -494,19 +494,19 @@ "no-trailing-punctuation"?:

/**
* MD027/no-multiple-space-blockquote : Multiple spaces after blockquote symbol : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md027.md
* MD027/no-multiple-space-blockquote : Multiple spaces after blockquote symbol : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md027.md
*/
MD027?: boolean;
/**
* MD027/no-multiple-space-blockquote : Multiple spaces after blockquote symbol : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md027.md
* MD027/no-multiple-space-blockquote : Multiple spaces after blockquote symbol : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md027.md
*/
"no-multiple-space-blockquote"?: boolean;
/**
* MD028/no-blanks-blockquote : Blank line inside blockquote : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md028.md
* MD028/no-blanks-blockquote : Blank line inside blockquote : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md028.md
*/
MD028?: boolean;
/**
* MD028/no-blanks-blockquote : Blank line inside blockquote : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md028.md
* MD028/no-blanks-blockquote : Blank line inside blockquote : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md028.md
*/
"no-blanks-blockquote"?: boolean;
/**
* MD029/ol-prefix : Ordered list item prefix : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md029.md
* MD029/ol-prefix : Ordered list item prefix : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md029.md
*/

@@ -522,3 +522,3 @@ MD029?:

/**
* MD029/ol-prefix : Ordered list item prefix : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md029.md
* MD029/ol-prefix : Ordered list item prefix : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md029.md
*/

@@ -534,3 +534,3 @@ "ol-prefix"?:

/**
* MD030/list-marker-space : Spaces after list markers : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md030.md
* MD030/list-marker-space : Spaces after list markers : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md030.md
*/

@@ -558,3 +558,3 @@ MD030?:

/**
* MD030/list-marker-space : Spaces after list markers : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md030.md
* MD030/list-marker-space : Spaces after list markers : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md030.md
*/

@@ -582,3 +582,3 @@ "list-marker-space"?:

/**
* MD031/blanks-around-fences : Fenced code blocks should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md031.md
* MD031/blanks-around-fences : Fenced code blocks should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md031.md
*/

@@ -594,3 +594,3 @@ MD031?:

/**
* MD031/blanks-around-fences : Fenced code blocks should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md031.md
* MD031/blanks-around-fences : Fenced code blocks should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md031.md
*/

@@ -606,11 +606,11 @@ "blanks-around-fences"?:

/**
* MD032/blanks-around-lists : Lists should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md032.md
* MD032/blanks-around-lists : Lists should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md032.md
*/
MD032?: boolean;
/**
* MD032/blanks-around-lists : Lists should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md032.md
* MD032/blanks-around-lists : Lists should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md032.md
*/
"blanks-around-lists"?: boolean;
/**
* MD033/no-inline-html : Inline HTML : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md033.md
* MD033/no-inline-html : Inline HTML : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md033.md
*/

@@ -626,3 +626,3 @@ MD033?:

/**
* MD033/no-inline-html : Inline HTML : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md033.md
* MD033/no-inline-html : Inline HTML : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md033.md
*/

@@ -638,11 +638,11 @@ "no-inline-html"?:

/**
* MD034/no-bare-urls : Bare URL used : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md034.md
* MD034/no-bare-urls : Bare URL used : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md034.md
*/
MD034?: boolean;
/**
* MD034/no-bare-urls : Bare URL used : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md034.md
* MD034/no-bare-urls : Bare URL used : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md034.md
*/
"no-bare-urls"?: boolean;
/**
* MD035/hr-style : Horizontal rule style : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md035.md
* MD035/hr-style : Horizontal rule style : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md035.md
*/

@@ -658,3 +658,3 @@ MD035?:

/**
* MD035/hr-style : Horizontal rule style : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md035.md
* MD035/hr-style : Horizontal rule style : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md035.md
*/

@@ -670,3 +670,3 @@ "hr-style"?:

/**
* MD036/no-emphasis-as-heading : Emphasis used instead of a heading : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md036.md
* MD036/no-emphasis-as-heading : Emphasis used instead of a heading : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md036.md
*/

@@ -682,3 +682,3 @@ MD036?:

/**
* MD036/no-emphasis-as-heading : Emphasis used instead of a heading : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md036.md
* MD036/no-emphasis-as-heading : Emphasis used instead of a heading : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md036.md
*/

@@ -694,27 +694,27 @@ "no-emphasis-as-heading"?:

/**
* MD037/no-space-in-emphasis : Spaces inside emphasis markers : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md037.md
* MD037/no-space-in-emphasis : Spaces inside emphasis markers : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md037.md
*/
MD037?: boolean;
/**
* MD037/no-space-in-emphasis : Spaces inside emphasis markers : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md037.md
* MD037/no-space-in-emphasis : Spaces inside emphasis markers : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md037.md
*/
"no-space-in-emphasis"?: boolean;
/**
* MD038/no-space-in-code : Spaces inside code span elements : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md038.md
* MD038/no-space-in-code : Spaces inside code span elements : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md038.md
*/
MD038?: boolean;
/**
* MD038/no-space-in-code : Spaces inside code span elements : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md038.md
* MD038/no-space-in-code : Spaces inside code span elements : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md038.md
*/
"no-space-in-code"?: boolean;
/**
* MD039/no-space-in-links : Spaces inside link text : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md039.md
* MD039/no-space-in-links : Spaces inside link text : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md039.md
*/
MD039?: boolean;
/**
* MD039/no-space-in-links : Spaces inside link text : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md039.md
* MD039/no-space-in-links : Spaces inside link text : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md039.md
*/
"no-space-in-links"?: boolean;
/**
* MD040/fenced-code-language : Fenced code blocks should have a language specified : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md040.md
* MD040/fenced-code-language : Fenced code blocks should have a language specified : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md040.md
*/

@@ -734,3 +734,3 @@ MD040?:

/**
* MD040/fenced-code-language : Fenced code blocks should have a language specified : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md040.md
* MD040/fenced-code-language : Fenced code blocks should have a language specified : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md040.md
*/

@@ -750,3 +750,3 @@ "fenced-code-language"?:

/**
* MD041/first-line-heading/first-line-h1 : First line in a file should be a top-level heading : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md041.md
* MD041/first-line-heading/first-line-h1 : First line in a file should be a top-level heading : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md041.md
*/

@@ -766,3 +766,3 @@ MD041?:

/**
* MD041/first-line-heading/first-line-h1 : First line in a file should be a top-level heading : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md041.md
* MD041/first-line-heading/first-line-h1 : First line in a file should be a top-level heading : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md041.md
*/

@@ -782,3 +782,3 @@ "first-line-heading"?:

/**
* MD041/first-line-heading/first-line-h1 : First line in a file should be a top-level heading : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md041.md
* MD041/first-line-heading/first-line-h1 : First line in a file should be a top-level heading : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md041.md
*/

@@ -798,11 +798,11 @@ "first-line-h1"?:

/**
* MD042/no-empty-links : No empty links : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md042.md
* MD042/no-empty-links : No empty links : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md042.md
*/
MD042?: boolean;
/**
* MD042/no-empty-links : No empty links : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md042.md
* MD042/no-empty-links : No empty links : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md042.md
*/
"no-empty-links"?: boolean;
/**
* MD043/required-headings : Required heading structure : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md043.md
* MD043/required-headings : Required heading structure : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md043.md
*/

@@ -822,3 +822,3 @@ MD043?:

/**
* MD043/required-headings : Required heading structure : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md043.md
* MD043/required-headings : Required heading structure : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md043.md
*/

@@ -838,3 +838,3 @@ "required-headings"?:

/**
* MD044/proper-names : Proper names should have the correct capitalization : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md044.md
* MD044/proper-names : Proper names should have the correct capitalization : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md044.md
*/

@@ -858,3 +858,3 @@ MD044?:

/**
* MD044/proper-names : Proper names should have the correct capitalization : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md044.md
* MD044/proper-names : Proper names should have the correct capitalization : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md044.md
*/

@@ -878,11 +878,11 @@ "proper-names"?:

/**
* MD045/no-alt-text : Images should have alternate text (alt text) : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md045.md
* MD045/no-alt-text : Images should have alternate text (alt text) : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md045.md
*/
MD045?: boolean;
/**
* MD045/no-alt-text : Images should have alternate text (alt text) : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md045.md
* MD045/no-alt-text : Images should have alternate text (alt text) : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md045.md
*/
"no-alt-text"?: boolean;
/**
* MD046/code-block-style : Code block style : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md046.md
* MD046/code-block-style : Code block style : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md046.md
*/

@@ -898,3 +898,3 @@ MD046?:

/**
* MD046/code-block-style : Code block style : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md046.md
* MD046/code-block-style : Code block style : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md046.md
*/

@@ -910,11 +910,11 @@ "code-block-style"?:

/**
* MD047/single-trailing-newline : Files should end with a single newline character : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md047.md
* MD047/single-trailing-newline : Files should end with a single newline character : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md047.md
*/
MD047?: boolean;
/**
* MD047/single-trailing-newline : Files should end with a single newline character : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md047.md
* MD047/single-trailing-newline : Files should end with a single newline character : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md047.md
*/
"single-trailing-newline"?: boolean;
/**
* MD048/code-fence-style : Code fence style : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md048.md
* MD048/code-fence-style : Code fence style : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md048.md
*/

@@ -930,3 +930,3 @@ MD048?:

/**
* MD048/code-fence-style : Code fence style : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md048.md
* MD048/code-fence-style : Code fence style : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md048.md
*/

@@ -942,3 +942,3 @@ "code-fence-style"?:

/**
* MD049/emphasis-style : Emphasis style : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md049.md
* MD049/emphasis-style : Emphasis style : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md049.md
*/

@@ -954,3 +954,3 @@ MD049?:

/**
* MD049/emphasis-style : Emphasis style : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md049.md
* MD049/emphasis-style : Emphasis style : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md049.md
*/

@@ -966,3 +966,3 @@ "emphasis-style"?:

/**
* MD050/strong-style : Strong style : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md050.md
* MD050/strong-style : Strong style : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md050.md
*/

@@ -978,3 +978,3 @@ MD050?:

/**
* MD050/strong-style : Strong style : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md050.md
* MD050/strong-style : Strong style : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md050.md
*/

@@ -990,11 +990,11 @@ "strong-style"?:

/**
* MD051/link-fragments : Link fragments should be valid : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md051.md
* MD051/link-fragments : Link fragments should be valid : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md051.md
*/
MD051?: boolean;
/**
* MD051/link-fragments : Link fragments should be valid : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md051.md
* MD051/link-fragments : Link fragments should be valid : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md051.md
*/
"link-fragments"?: boolean;
/**
* MD052/reference-links-images : Reference links and images should use a label that is defined : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md052.md
* MD052/reference-links-images : Reference links and images should use a label that is defined : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md052.md
*/

@@ -1010,3 +1010,3 @@ MD052?:

/**
* MD052/reference-links-images : Reference links and images should use a label that is defined : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md052.md
* MD052/reference-links-images : Reference links and images should use a label that is defined : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md052.md
*/

@@ -1022,3 +1022,3 @@ "reference-links-images"?:

/**
* MD053/link-image-reference-definitions : Link and image reference definitions should be needed : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md053.md
* MD053/link-image-reference-definitions : Link and image reference definitions should be needed : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md053.md
*/

@@ -1034,3 +1034,3 @@ MD053?:

/**
* MD053/link-image-reference-definitions : Link and image reference definitions should be needed : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md053.md
* MD053/link-image-reference-definitions : Link and image reference definitions should be needed : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md053.md
*/

@@ -1046,3 +1046,3 @@ "link-image-reference-definitions"?:

/**
* MD054/link-image-style : Link and image style : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md054.md
* MD054/link-image-style : Link and image style : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md054.md
*/

@@ -1078,3 +1078,3 @@ MD054?:

/**
* MD054/link-image-style : Link and image style : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md054.md
* MD054/link-image-style : Link and image style : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md054.md
*/

@@ -1110,3 +1110,3 @@ "link-image-style"?:

/**
* MD055/table-pipe-style : Table pipe style : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md055.md
* MD055/table-pipe-style : Table pipe style : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md055.md
*/

@@ -1122,3 +1122,3 @@ MD055?:

/**
* MD055/table-pipe-style : Table pipe style : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md055.md
* MD055/table-pipe-style : Table pipe style : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md055.md
*/

@@ -1134,7 +1134,7 @@ "table-pipe-style"?:

/**
* MD056/table-column-count : Table column count : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md056.md
* MD056/table-column-count : Table column count : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md056.md
*/
MD056?: boolean;
/**
* MD056/table-column-count : Table column count : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md056.md
* MD056/table-column-count : Table column count : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md056.md
*/

@@ -1141,0 +1141,0 @@ "table-column-count"?: boolean;

@@ -14,2 +14,2 @@ // @ts-check

module.exports.homepage = "https://github.com/DavidAnson/markdownlint";
module.exports.version = "0.33.0";
module.exports.version = "0.34.0";

@@ -11,3 +11,3 @@ export = markdownlint;

declare namespace markdownlint {
export { markdownlintSync as sync, readConfig, readConfigSync, getVersion, promises, RuleFunction, RuleParams, MarkdownItToken, RuleOnError, RuleOnErrorInfo, RuleOnErrorFixInfo, Rule, Options, Plugin, ToStringCallback, LintResults, LintError, FixInfo, LintContentCallback, LintCallback, Configuration, RuleConfiguration, ConfigurationParser, ReadConfigCallback, ResolveConfigExtendsCallback };
export { markdownlintSync as sync, readConfig, readConfigSync, getVersion, promises, RuleFunction, RuleParams, MarkdownParsers, ParserMarkdownIt, ParserMicromark, MarkdownItToken, MicromarkTokenType, MicromarkToken, RuleOnError, RuleOnErrorInfo, RuleOnErrorFixInfo, Rule, Options, Plugin, ToStringCallback, LintResults, LintError, FixInfo, LintContentCallback, LintCallback, Configuration, RuleConfiguration, ConfigurationParser, ReadConfigCallback, ResolveConfigExtendsCallback };
}

@@ -121,13 +121,13 @@ /**

/**
* Token objects from markdown-it.
* Markdown parser data.
*/
tokens: MarkdownItToken[];
parsers: MarkdownParsers;
/**
* File/string lines.
*/
lines: string[];
lines: readonly string[];
/**
* Front matter lines.
*/
frontMatterLines: string[];
frontMatterLines: readonly string[];
/**

@@ -139,4 +139,35 @@ * Rule configuration.

/**
* Markdown-It token.
* Markdown parser data.
*/
type MarkdownParsers = {
/**
* Markdown parser data from markdown-it (only present when Rule.parser is "markdownit").
*/
markdownit: ParserMarkdownIt;
/**
* Markdown parser data from micromark (only present when Rule.parser is "micromark").
*/
micromark: ParserMicromark;
};
/**
* Markdown parser data from markdown-it.
*/
type ParserMarkdownIt = {
/**
* Token objects from markdown-it.
*/
tokens: MarkdownItToken[];
};
/**
* Markdown parser data from micromark.
*/
type ParserMicromark = {
/**
* Token objects from micromark.
*/
tokens: MicromarkToken[];
};
/**
* markdown-it token.
*/
type MarkdownItToken = {

@@ -204,3 +235,41 @@ /**

};
type MicromarkTokenType = import("markdownlint-micromark").TokenType;
/**
* micromark token.
*/
type MicromarkToken = {
/**
* Token type.
*/
type: MicromarkTokenType;
/**
* Start line (1-based).
*/
startLine: number;
/**
* Start column (1-based).
*/
startColumn: number;
/**
* End line (1-based).
*/
endLine: number;
/**
* End column (1-based).
*/
endColumn: number;
/**
* Token text.
*/
text: string;
/**
* Child tokens.
*/
children: MicromarkToken[];
/**
* Parent token.
*/
parent: MicromarkToken | null;
};
/**
* Error-reporting callback.

@@ -280,2 +349,6 @@ */

/**
* Parser used.
*/
parser: "markdownit" | "micromark" | "none";
/**
* True if asynchronous.

@@ -282,0 +355,0 @@ */

@@ -36,6 +36,5 @@ // @ts-check

// eslint-disable-next-line no-inner-declarations, jsdoc/require-jsdoc
function newError(property) {
function newError(property, value) {
return new Error(
"Property '" + property + "' of custom rule at index " +
customIndex + " is incorrect.");
`Property '${property}' of custom rule at index ${customIndex} is incorrect: '${value}'.`);
}

@@ -47,3 +46,3 @@ for (const property of [ "names", "tags" ]) {

!value.every(helpers.isString) || value.some(helpers.isEmptyString))) {
result = newError(property);
result = newError(property, value);
}

@@ -58,3 +57,3 @@ }

if (!result && (!value || (typeof value !== propertyInfo[1]))) {
result = newError(property);
result = newError(property, value);
}

@@ -64,6 +63,15 @@ }

!result &&
(rule.parser !== undefined) &&
(rule.parser !== "markdownit") &&
!((customIndex < 0) && (rule.parser === "micromark")) &&
(rule.parser !== "none")
) {
result = newError("parser", rule.parser);
}
if (
!result &&
rule.information &&
!helpers.isUrl(rule.information)
) {
result = newError("information");
result = newError("information", rule.information);
}

@@ -75,3 +83,3 @@ if (

) {
result = newError("asynchronous");
result = newError("asynchronous", rule.asynchronous);
}

@@ -571,6 +579,12 @@ if (!result && rule.asynchronous && synchronous) {

// Create (frozen) parameters for rules
const parsers = Object.freeze({
/** @type {MarkdownParsers} */
// @ts-ignore
const parsersMarkdownIt = Object.freeze({
"markdownit": Object.freeze({
"tokens": markdownitTokens
}),
})
});
/** @type {MarkdownParsers} */
// @ts-ignore
const parsersMicromark = Object.freeze({
"micromark": Object.freeze({

@@ -580,6 +594,8 @@ "tokens": micromarkTokens

});
/** @type {MarkdownParsers} */
// @ts-ignore
const parsersNone = Object.freeze({});
const paramsBase = {
name,
parsers,
"tokens": markdownitTokens,
"parsers": parsersMarkdownIt,
"lines": Object.freeze(lines),

@@ -593,5 +609,5 @@ "frontMatterLines": Object.freeze(frontMatterLines)

const flattenedLists =
helpers.flattenLists(paramsBase.parsers.markdownit.tokens);
helpers.flattenLists(markdownitTokens);
const referenceLinkImageData =
helpers.getReferenceLinkImageData(paramsBase);
helpers.getReferenceLinkImageData(micromarkTokens);
cache.set({

@@ -605,8 +621,23 @@ codeBlockAndSpanRanges,

let results = [];
// eslint-disable-next-line jsdoc/require-jsdoc
function forRule(rule) {
/**
* @param {Rule} rule Rule.
* @returns {Promise<void> | null} Promise.
*/
const forRule = (rule) => {
// Configure rule
const ruleName = rule.names[0].toUpperCase();
const tokens = {};
let parsers = parsersNone;
if (rule.parser === undefined) {
tokens.tokens = markdownitTokens;
parsers = parsersMarkdownIt;
} else if (rule.parser === "markdownit") {
parsers = parsersMarkdownIt;
} else if (rule.parser === "micromark") {
parsers = parsersMicromark;
}
const params = {
...paramsBase,
...tokens,
parsers,
"config": effectiveConfig[ruleName]

@@ -733,3 +764,3 @@ };

return null;
}
};
// eslint-disable-next-line jsdoc/require-jsdoc

@@ -888,2 +919,3 @@ function formatResults() {

"tags": helpers.cloneIfArray(rule.tags),
"parser": rule.parser,
"asynchronous": rule.asynchronous,

@@ -1295,2 +1327,4 @@ "function": rule.function

/* eslint-disable jsdoc/valid-types */
/**

@@ -1301,11 +1335,35 @@ * Rule parameters.

* @property {string} name File/string name.
* @property {MarkdownItToken[]} tokens Token objects from markdown-it.
* @property {string[]} lines File/string lines.
* @property {string[]} frontMatterLines Front matter lines.
* @property {MarkdownParsers} parsers Markdown parser data.
* @property {readonly string[]} lines File/string lines.
* @property {readonly string[]} frontMatterLines Front matter lines.
* @property {RuleConfiguration} config Rule configuration.
*/
/* eslint-enable jsdoc/valid-types */
/**
* Markdown-It token.
* Markdown parser data.
*
* @typedef {Object} MarkdownParsers
* @property {ParserMarkdownIt} markdownit Markdown parser data from markdown-it (only present when Rule.parser is "markdownit").
* @property {ParserMicromark} micromark Markdown parser data from micromark (only present when Rule.parser is "micromark").
*/
/**
* Markdown parser data from markdown-it.
*
* @typedef {Object} ParserMarkdownIt
* @property {MarkdownItToken[]} tokens Token objects from markdown-it.
*/
/**
* Markdown parser data from micromark.
*
* @typedef {Object} ParserMicromark
* @property {MicromarkToken[]} tokens Token objects from micromark.
*/
/**
* markdown-it token.
*
* @typedef {Object} MarkdownItToken

@@ -1329,3 +1387,19 @@ * @property {string[][]} attrs HTML attributes.

/** @typedef {import("markdownlint-micromark").TokenType} MicromarkTokenType */
/**
* micromark token.
*
* @typedef {Object} MicromarkToken
* @property {MicromarkTokenType} type Token type.
* @property {number} startLine Start line (1-based).
* @property {number} startColumn Start column (1-based).
* @property {number} endLine End line (1-based).
* @property {number} endColumn End column (1-based).
* @property {string} text Token text.
* @property {MicromarkToken[]} children Child tokens.
* @property {MicromarkToken | null} parent Parent token.
*/
/**
* Error-reporting callback.

@@ -1368,2 +1442,3 @@ *

* @property {string[]} tags Rule tag(s).
* @property {"markdownit" | "micromark" | "none"} parser Parser used.
* @property {boolean} [asynchronous] True if asynchronous.

@@ -1370,0 +1445,0 @@ * @property {RuleFunction} function Rule implementation.

@@ -7,2 +7,4 @@ // @ts-check

// eslint-disable-next-line jsdoc/valid-types
/** @type import("./markdownlint").Rule */
module.exports = {

@@ -12,2 +14,3 @@ "names": [ "MD001", "heading-increment" ],

"tags": [ "headings" ],
"parser": "markdownit",
"function": function MD001(params, onError) {

@@ -14,0 +17,0 @@ let prevLevel = 0;

@@ -8,2 +8,4 @@ // @ts-check

// eslint-disable-next-line jsdoc/valid-types
/** @type import("./markdownlint").Rule */
module.exports = {

@@ -13,2 +15,3 @@ "names": [ "MD003", "heading-style" ],

"tags": [ "headings" ],
"parser": "markdownit",
"function": function MD003(params, onError) {

@@ -15,0 +18,0 @@ let style = String(params.config.style || "consistent");

@@ -21,2 +21,4 @@ // @ts-check

// eslint-disable-next-line jsdoc/valid-types
/** @type import("./markdownlint").Rule */
module.exports = {

@@ -26,2 +28,3 @@ "names": [ "MD004", "ul-style" ],

"tags": [ "bullet", "ul" ],
"parser": "none",
"function": function MD004(params, onError) {

@@ -28,0 +31,0 @@ const style = String(params.config.style || "consistent");

@@ -8,2 +8,4 @@ // @ts-check

// eslint-disable-next-line jsdoc/valid-types
/** @type import("./markdownlint").Rule */
module.exports = {

@@ -13,5 +15,11 @@ "names": [ "MD005", "list-indent" ],

"tags": [ "bullet", "ul", "indentation" ],
"parser": "micromark",
"function": function MD005(params, onError) {
// eslint-disable-next-line jsdoc/valid-types
/** @type import("../helpers/micromark.cjs").Token[] */
const micromarkTokens =
// @ts-ignore
params.parsers.micromark.tokens;
const lists = filterByTypes(
params.parsers.micromark.tokens,
micromarkTokens,
[ "listOrdered", "listUnordered" ]

@@ -18,0 +26,0 @@ ).filter((list) => !inHtmlFlow(list));

@@ -9,11 +9,13 @@ // @ts-check

/**
* @typedef {import("../helpers/micromark.cjs").Token} Token
*/
// eslint-disable-next-line jsdoc/valid-types
/** @type import("markdownlint-micromark").TokenType[] */
const unorderedListTypes =
[ "blockQuotePrefix", "listItemPrefix", "listUnordered" ];
// eslint-disable-next-line jsdoc/valid-types
/** @type import("markdownlint-micromark").TokenType[] */
const unorderedParentTypes =
[ "blockQuote", "listOrdered", "listUnordered" ];
// eslint-disable-next-line jsdoc/valid-types
/** @type import("./markdownlint").Rule */
module.exports = {

@@ -23,2 +25,3 @@ "names": [ "MD007", "ul-indent" ],

"tags": [ "bullet", "ul", "indentation" ],
"parser": "micromark",
"function": function MD007(params, onError) {

@@ -28,8 +31,10 @@ const indent = Number(params.config.indent || 2);

const startIndent = Number(params.config.start_indent || indent);
// eslint-disable-next-line jsdoc/valid-types
/** @type import("../helpers/micromark.cjs").Token[] */
const micromarkTokens =
// @ts-ignore
params.parsers.micromark.tokens;
const unorderedListNesting = new Map();
let lastBlockQuotePrefix = null;
const tokens = filterByTypes(
params.parsers.micromark.tokens,
unorderedListTypes
);
const tokens = filterByTypes(micromarkTokens, unorderedListTypes);
for (const token of tokens) {

@@ -41,3 +46,3 @@ const { endColumn, parent, startColumn, startLine, type } = token;

let nesting = 0;
/** @type {Token | null} */
/** @type {import("../helpers/micromark.cjs").Token | null} */
let current = token;

@@ -44,0 +49,0 @@ while (

@@ -9,2 +9,4 @@ // @ts-check

// eslint-disable-next-line jsdoc/valid-types
/** @type import("./markdownlint").Rule */
module.exports = {

@@ -14,2 +16,3 @@ "names": [ "MD009", "no-trailing-spaces" ],

"tags": [ "whitespace" ],
"parser": "markdownit",
"function": function MD009(params, onError) {

@@ -16,0 +19,0 @@ let brSpaces = params.config.br_spaces;

@@ -11,2 +11,4 @@ // @ts-check

// eslint-disable-next-line jsdoc/valid-types
/** @type import("./markdownlint").Rule */
module.exports = {

@@ -16,2 +18,3 @@ "names": [ "MD010", "no-hard-tabs" ],

"tags": [ "whitespace", "hard_tab" ],
"parser": "markdownit",
"function": function MD010(params, onError) {

@@ -49,3 +52,3 @@ const codeBlocks = params.config.code_blocks;

"Column: " + column,
null,
undefined,
[ column, length ],

@@ -52,0 +55,0 @@ {

@@ -11,2 +11,4 @@ // @ts-check

// eslint-disable-next-line jsdoc/valid-types
/** @type import("./markdownlint").Rule */
module.exports = {

@@ -16,2 +18,3 @@ "names": [ "MD011", "no-reversed-links" ],

"tags": [ "links" ],
"parser": "none",
"function": function MD011(params, onError) {

@@ -18,0 +21,0 @@ const exclusions = codeBlockAndSpanRanges();

@@ -8,2 +8,4 @@ // @ts-check

// eslint-disable-next-line jsdoc/valid-types
/** @type import("./markdownlint").Rule */
module.exports = {

@@ -13,2 +15,3 @@ "names": [ "MD012", "no-multiple-blanks" ],

"tags": [ "whitespace", "blank_lines" ],
"parser": "none",
"function": function MD012(params, onError) {

@@ -15,0 +18,0 @@ const maximum = Number(params.config.maximum || 1);

@@ -25,2 +25,4 @@ // @ts-check

// eslint-disable-next-line jsdoc/valid-types
/** @type import("./markdownlint").Rule */
module.exports = {

@@ -30,2 +32,3 @@ "names": [ "MD013", "line-length" ],

"tags": [ "line_length" ],
"parser": "markdownit",
"function": function MD013(params, onError) {

@@ -32,0 +35,0 @@ const lineLength = Number(params.config.line_length || 80);

@@ -9,2 +9,4 @@ // @ts-check

// eslint-disable-next-line jsdoc/valid-types
/** @type import("./markdownlint").Rule */
module.exports = {

@@ -14,2 +16,3 @@ "names": [ "MD014", "commands-show-output" ],

"tags": [ "code" ],
"parser": "markdownit",
"function": function MD014(params, onError) {

@@ -40,2 +43,3 @@ for (const type of [ "code_block", "fence" ]) {

onError,
// @ts-ignore
i + 1,

@@ -42,0 +46,0 @@ lineTrim,

@@ -8,2 +8,4 @@ // @ts-check

// eslint-disable-next-line jsdoc/valid-types
/** @type import("./markdownlint").Rule */
module.exports = {

@@ -13,2 +15,3 @@ "names": [ "MD018", "no-missing-space-atx" ],

"tags": [ "headings", "atx", "spaces" ],
"parser": "none",
"function": function MD018(params, onError) {

@@ -20,2 +23,3 @@ forEachLine(lineMetadata(), (line, lineIndex, inCode) => {

!line.startsWith("#️⃣")) {
// @ts-ignore
const hashCount = /^#+/.exec(line)[0].length;

@@ -22,0 +26,0 @@ addErrorContext(

@@ -8,2 +8,4 @@ // @ts-check

// eslint-disable-next-line jsdoc/valid-types
/** @type import("./markdownlint").Rule */
module.exports = {

@@ -13,2 +15,3 @@ "names": [ "MD019", "no-multiple-space-atx" ],

"tags": [ "headings", "atx", "spaces" ],
"parser": "markdownit",
"function": function MD019(params, onError) {

@@ -15,0 +18,0 @@ filterTokens(params, "heading_open", (token) => {

@@ -8,2 +8,4 @@ // @ts-check

// eslint-disable-next-line jsdoc/valid-types
/** @type import("./markdownlint").Rule */
module.exports = {

@@ -13,2 +15,3 @@ "names": [ "MD020", "no-missing-space-closed-atx" ],

"tags": [ "headings", "atx_closed", "spaces" ],
"parser": "none",
"function": function MD020(params, onError) {

@@ -15,0 +18,0 @@ forEachLine(lineMetadata(), (line, lineIndex, inCode) => {

@@ -10,2 +10,4 @@ // @ts-check

// eslint-disable-next-line jsdoc/valid-types
/** @type import("./markdownlint").Rule */
module.exports = {

@@ -15,2 +17,3 @@ "names": [ "MD021", "no-multiple-space-closed-atx" ],

"tags": [ "headings", "atx_closed", "spaces" ],
"parser": "markdownit",
"function": function MD021(params, onError) {

@@ -17,0 +20,0 @@ filterTokens(params, "heading_open", (token) => {

@@ -34,2 +34,4 @@ // @ts-check

// eslint-disable-next-line jsdoc/valid-types
/** @type import("./markdownlint").Rule */
module.exports = {

@@ -39,8 +41,14 @@ "names": [ "MD022", "blanks-around-headings" ],

"tags": [ "headings", "blank_lines" ],
"parser": "micromark",
"function": function MD022(params, onError) {
const getLinesAbove = getLinesFunction(params.config.lines_above);
const getLinesBelow = getLinesFunction(params.config.lines_below);
const { lines, parsers } = params;
// eslint-disable-next-line jsdoc/valid-types
/** @type import("../helpers/micromark.cjs").Token[] */
const micromarkTokens =
// @ts-ignore
params.parsers.micromark.tokens;
const { lines } = params;
const headings = filterByTypes(
parsers.micromark.tokens,
micromarkTokens,
[ "atxHeading", "setextHeading" ]

@@ -47,0 +55,0 @@ ).filter((heading) => !inHtmlFlow(heading));

@@ -9,2 +9,4 @@ // @ts-check

// eslint-disable-next-line jsdoc/valid-types
/** @type import("./markdownlint").Rule */
module.exports = {

@@ -14,2 +16,3 @@ "names": [ "MD023", "heading-start-left" ],

"tags": [ "headings", "spaces" ],
"parser": "markdownit",
"function": function MD023(params, onError) {

@@ -16,0 +19,0 @@ filterTokens(params, "heading_open", function forToken(token) {

@@ -7,2 +7,4 @@ // @ts-check

// eslint-disable-next-line jsdoc/valid-types
/** @type import("./markdownlint").Rule */
module.exports = {

@@ -12,2 +14,3 @@ "names": [ "MD024", "no-duplicate-heading" ],

"tags": [ "headings" ],
"parser": "markdownit",
"function": function MD024(params, onError) {

@@ -14,0 +17,0 @@ const siblingsOnly = !!params.config.siblings_only || false;

@@ -8,2 +8,4 @@ // @ts-check

// eslint-disable-next-line jsdoc/valid-types
/** @type import("./markdownlint").Rule */
module.exports = {

@@ -13,2 +15,3 @@ "names": [ "MD025", "single-title", "single-h1" ],

"tags": [ "headings" ],
"parser": "markdownit",
"function": function MD025(params, onError) {

@@ -15,0 +18,0 @@ const level = Number(params.config.level || 1);

@@ -9,3 +9,4 @@ // @ts-check

// eslint-disable-next-line jsdoc/valid-types
/** @type import("./markdownlint").Rule */
module.exports = {

@@ -15,2 +16,3 @@ "names": [ "MD026", "no-trailing-punctuation" ],

"tags": [ "headings" ],
"parser": "micromark",
"function": function MD026(params, onError) {

@@ -23,6 +25,8 @@ let punctuation = params.config.punctuation;

new RegExp("\\s*[" + escapeForRegExp(punctuation) + "]+$");
const headings = filterByTypes(
params.parsers.micromark.tokens,
[ "atxHeadingText", "setextHeadingText" ]
);
// eslint-disable-next-line jsdoc/valid-types
/** @type import("../helpers/micromark.cjs").Token[] */
const micromarkTokens =
// @ts-ignore
params.parsers.micromark.tokens;
const headings = filterByTypes(micromarkTokens, [ "atxHeadingText", "setextHeadingText" ]);
for (const heading of headings) {

@@ -29,0 +33,0 @@ const { endColumn, endLine, text } = heading;

@@ -5,50 +5,36 @@ // @ts-check

const { addErrorContext, newLineRe } = require("../helpers");
const { addErrorContext } = require("../helpers");
const { filterByTypes } = require("../helpers/micromark.cjs");
const spaceAfterBlockQuoteRe = /^((?:\s*>)+)(\s{2,})\S/;
// eslint-disable-next-line jsdoc/valid-types
/** @type import("./markdownlint").Rule */
module.exports = {
"names": [ "MD027", "no-multiple-space-blockquote" ],
"names": ["MD027", "no-multiple-space-blockquote"],
"description": "Multiple spaces after blockquote symbol",
"tags": [ "blockquote", "whitespace", "indentation" ],
"tags": ["blockquote", "whitespace", "indentation"],
"parser": "micromark",
"function": function MD027(params, onError) {
let blockquoteNesting = 0;
let listItemNesting = 0;
for (const token of params.parsers.markdownit.tokens) {
const { content, lineNumber, type } = token;
if (type === "blockquote_open") {
blockquoteNesting++;
} else if (type === "blockquote_close") {
blockquoteNesting--;
} else if (type === "list_item_open") {
listItemNesting++;
} else if (type === "list_item_close") {
listItemNesting--;
} else if ((type === "inline") && blockquoteNesting) {
const lineCount = content.split(newLineRe).length;
for (let i = 0; i < lineCount; i++) {
const line = params.lines[lineNumber + i - 1];
const match = line.match(spaceAfterBlockQuoteRe);
if (match) {
const [
fullMatch,
{ "length": blockquoteLength },
{ "length": spaceLength }
] = match;
if (!listItemNesting || (fullMatch[fullMatch.length - 1] === ">")) {
addErrorContext(
onError,
lineNumber + i,
line,
null,
null,
[ 1, fullMatch.length ],
{
"editColumn": blockquoteLength + 1,
"deleteCount": spaceLength - 1
}
);
}
// eslint-disable-next-line jsdoc/valid-types
/** @type import("../helpers/micromark.cjs").Token[] */
const micromarkTokens =
// @ts-ignore
params.parsers.micromark.tokens;
for (const token of filterByTypes(micromarkTokens, [ "linePrefix" ])) {
const siblings = token.parent?.children || micromarkTokens;
if (siblings[siblings.indexOf(token) - 1]?.type === "blockQuotePrefix") {
const { startColumn, startLine, text } = token;
const { length } = text;
const line = params.lines[startLine - 1];
addErrorContext(
onError,
startLine,
line,
null,
null,
[ startColumn, length ],
{
"editColumn": startColumn,
"deleteCount": length
}
}
);
}

@@ -55,0 +41,0 @@ }

@@ -6,3 +6,8 @@ // @ts-check

const { addError } = require("../helpers");
const { filterByTypes } = require("../helpers/micromark.cjs");
const ignoreTypes = new Set([ "lineEnding", "listItemIndent", "linePrefix" ]);
// eslint-disable-next-line jsdoc/valid-types
/** @type import("./markdownlint").Rule */
module.exports = {

@@ -12,21 +17,33 @@ "names": [ "MD028", "no-blanks-blockquote" ],

"tags": [ "blockquote", "whitespace" ],
"parser": "micromark",
"function": function MD028(params, onError) {
let prevToken = {};
let prevLineNumber = null;
for (const token of params.parsers.markdownit.tokens) {
if ((token.type === "blockquote_open") &&
(prevToken.type === "blockquote_close")) {
for (
let lineNumber = prevLineNumber;
lineNumber < token.lineNumber;
lineNumber++) {
addError(onError, lineNumber);
// eslint-disable-next-line jsdoc/valid-types
/** @type import("../helpers/micromark.cjs").Token[] */
const micromarkTokens =
// @ts-ignore
params.parsers.micromark.tokens;
for (const token of filterByTypes(micromarkTokens, [ "blockQuote" ])) {
const errorLineNumbers = [];
const siblings = token.parent?.children || micromarkTokens;
for (let i = siblings.indexOf(token) + 1; i < siblings.length; i++) {
const sibling = siblings[i];
const { startLine, type } = sibling;
if (type === "lineEndingBlank") {
// Possible blank between blockquotes
errorLineNumbers.push(startLine);
} else if (ignoreTypes.has(type)) {
// Ignore invisible formatting
} else if (type === "blockQuote") {
// Blockquote followed by blockquote
for (const lineNumber of errorLineNumbers) {
addError(onError, lineNumber);
}
break;
} else {
// Blockquote not followed by blockquote
break;
}
}
prevToken = token;
if (token.type === "blockquote_open") {
prevLineNumber = token.map[1] + 1;
}
}
}
};

@@ -15,2 +15,4 @@ // @ts-check

// eslint-disable-next-line jsdoc/valid-types
/** @type import("./markdownlint").Rule */
module.exports = {

@@ -20,2 +22,3 @@ "names": [ "MD029", "ol-prefix" ],

"tags": [ "ol" ],
"parser": "none",
"function": function MD029(params, onError) {

@@ -22,0 +25,0 @@ const style = String(params.config.style || "one_or_ordered");

@@ -8,2 +8,4 @@ // @ts-check

// eslint-disable-next-line jsdoc/valid-types
/** @type import("./markdownlint").Rule */
module.exports = {

@@ -13,2 +15,3 @@ "names": [ "MD030", "list-marker-space" ],

"tags": [ "ol", "ul", "whitespace" ],
"parser": "micromark",
"function": function MD030(params, onError) {

@@ -19,6 +22,8 @@ const ulSingle = Number(params.config.ul_single || 1);

const olMulti = Number(params.config.ol_multi || 1);
const lists = filterByTypes(
params.parsers.micromark.tokens,
[ "listOrdered", "listUnordered" ]
);
// eslint-disable-next-line jsdoc/valid-types
/** @type import("../helpers/micromark.cjs").Token[] */
const micromarkTokens =
// @ts-ignore
params.parsers.micromark.tokens;
const lists = filterByTypes(micromarkTokens, [ "listOrdered", "listUnordered" ]);
for (const list of lists) {

@@ -25,0 +30,0 @@ const ordered = (list.type === "listOrdered");

@@ -10,2 +10,4 @@ // @ts-check

// eslint-disable-next-line jsdoc/valid-types
/** @type import("./markdownlint").Rule */
module.exports = {

@@ -15,2 +17,3 @@ "names": [ "MD031", "blanks-around-fences" ],

"tags": [ "code", "blank_lines" ],
"parser": "none",
"function": function MD031(params, onError) {

@@ -17,0 +20,0 @@ const listItems = params.config.list_items;

@@ -5,15 +5,5 @@ // @ts-check

const { addErrorContext, blockquotePrefixRe, isBlankLine } =
require("../helpers");
const { filterByPredicate } = require("../helpers/micromark.cjs");
const { addErrorContext, blockquotePrefixRe, isBlankLine } = require("../helpers");
const { filterByPredicate, nonContentTokens } = require("../helpers/micromark.cjs");
const nonContentTokens = new Set([
"blockQuoteMarker",
"blockQuotePrefix",
"blockQuotePrefixWhitespace",
"lineEnding",
"lineEndingBlank",
"linePrefix",
"listItemIndent"
]);
const isList = (token) => (

@@ -39,2 +29,4 @@ (token.type === "listOrdered") || (token.type === "listUnordered")

// eslint-disable-next-line jsdoc/valid-types
/** @type import("./markdownlint").Rule */
module.exports = {

@@ -44,8 +36,14 @@ "names": [ "MD032", "blanks-around-lists" ],

"tags": [ "bullet", "ul", "ol", "blank_lines" ],
"parser": "micromark",
"function": function MD032(params, onError) {
const { lines, parsers } = params;
// eslint-disable-next-line jsdoc/valid-types
/** @type import("../helpers/micromark.cjs").Token[] */
const micromarkTokens =
// @ts-ignore
params.parsers.micromark.tokens;
const { lines } = params;
// For every top-level list...
const topLevelLists = filterByPredicate(
parsers.micromark.tokens,
micromarkTokens,
isList,

@@ -52,0 +50,0 @@ (token) => (

@@ -9,2 +9,4 @@ // @ts-check

// eslint-disable-next-line jsdoc/valid-types
/** @type import("./markdownlint").Rule */
module.exports = {

@@ -14,2 +16,3 @@ "names": [ "MD033", "no-inline-html" ],

"tags": [ "html" ],
"parser": "micromark",
"function": function MD033(params, onError) {

@@ -19,4 +22,8 @@ let allowedElements = params.config.allowed_elements;

allowedElements = allowedElements.map((element) => element.toLowerCase());
const { tokens } = params.parsers.micromark;
for (const token of filterByTypes(tokens, [ "htmlText" ])) {
// eslint-disable-next-line jsdoc/valid-types
/** @type import("../helpers/micromark.cjs").Token[] */
const micromarkTokens =
// @ts-ignore
params.parsers.micromark.tokens;
for (const token of filterByTypes(micromarkTokens, [ "htmlText" ])) {
const htmlTagInfo = getHtmlTagInfo(token);

@@ -23,0 +30,0 @@ if (

@@ -9,2 +9,4 @@ // @ts-check

// eslint-disable-next-line jsdoc/valid-types
/** @type import("./markdownlint").Rule */
module.exports = {

@@ -14,8 +16,35 @@ "names": [ "MD034", "no-bare-urls" ],

"tags": [ "links", "url" ],
"parser": "micromark",
"function": function MD034(params, onError) {
// eslint-disable-next-line jsdoc/valid-types
/** @type import("../helpers/micromark.cjs").Token[] */
const micromarkTokens =
// @ts-ignore
params.parsers.micromark.tokens;
const literalAutolinks = (tokens) => (
filterByPredicate(
tokens,
(token) => (token.type === "literalAutolink") && !inHtmlFlow(token),
(token) => {
if ((token.type === "literalAutolink") && !inHtmlFlow(token)) {
// Detect and ignore https://github.com/micromark/micromark/issues/164
const siblings = token.parent?.children;
// Commented-out due to not being able to exercise in test/code coverage
// || micromarkTokens;
const index = siblings?.indexOf(token);
// @ts-ignore
const prev = siblings?.at(index - 1);
// @ts-ignore
const next = siblings?.at(index + 1);
return !(
prev &&
next &&
(prev.type === "data") &&
(next.type === "data") &&
prev.text.endsWith("<") &&
next.text.startsWith(">")
);
}
return false;
},
(token) => {
const { children } = token;

@@ -51,6 +80,3 @@ const result = [];

);
const autoLinks = filterByTypes(
params.parsers.micromark.tokens,
[ "literalAutolink" ]
);
const autoLinks = filterByTypes(micromarkTokens, [ "literalAutolink" ]);
if (autoLinks.length > 0) {

@@ -57,0 +83,0 @@ // Re-parse with correct link/image reference definition handling

@@ -8,2 +8,4 @@ // @ts-check

// eslint-disable-next-line jsdoc/valid-types
/** @type import("./markdownlint").Rule */
module.exports = {

@@ -13,6 +15,11 @@ "names": [ "MD035", "hr-style" ],

"tags": [ "hr" ],
"parser": "micromark",
"function": function MD035(params, onError) {
let style = String(params.config.style || "consistent").trim();
const thematicBreaks =
filterByTypes(params.parsers.micromark.tokens, [ "thematicBreak" ]);
// eslint-disable-next-line jsdoc/valid-types
/** @type import("../helpers/micromark.cjs").Token[] */
const micromarkTokens =
// @ts-ignore
params.parsers.micromark.tokens;
const thematicBreaks = filterByTypes(micromarkTokens, [ "thematicBreak" ]);
for (const token of thematicBreaks) {

@@ -19,0 +26,0 @@ const { startLine, text } = token;

@@ -6,3 +6,13 @@ // @ts-check

const { addErrorContext, allPunctuation } = require("../helpers");
const { filterByTypes, matchAndGetTokensByType } = require("../helpers/micromark.cjs");
/** @typedef {import("../helpers/micromark.cjs").TokenType} TokenType */
/** @type {Map<TokenType, TokenType[]>} */
const emphasisAndChildrenTypes = new Map([
[ "emphasis", [ "emphasisSequence", "emphasisText", "emphasisSequence" ] ],
[ "strong", [ "strongSequence", "strongText", "strongSequence" ] ]
]);
// eslint-disable-next-line jsdoc/valid-types
/** @type import("./markdownlint").Rule */
module.exports = {

@@ -12,47 +22,31 @@ "names": [ "MD036", "no-emphasis-as-heading" ],

"tags": [ "headings", "emphasis" ],
"parser": "micromark",
"function": function MD036(params, onError) {
let punctuation = params.config.punctuation;
punctuation =
String((punctuation === undefined) ? allPunctuation : punctuation);
const re = new RegExp("[" + punctuation + "]$");
// eslint-disable-next-line jsdoc/require-jsdoc
function base(token) {
if (token.type === "paragraph_open") {
return function inParagraph(t) {
// Always paragraph_open/inline/paragraph_close,
const children = t.children.filter(function notEmptyText(child) {
return (child.type !== "text") || (child.content !== "");
});
if ((children.length === 3) &&
((children[0].type === "strong_open") ||
(children[0].type === "em_open")) &&
(children[1].type === "text") &&
!re.test(children[1].content)) {
addErrorContext(onError, t.lineNumber,
children[1].content);
punctuation = String((punctuation === undefined) ? allPunctuation : punctuation);
const punctuationRe = new RegExp("[" + punctuation + "]$");
const paragraphTokens =
filterByTypes(params.parsers.micromark.tokens, [ "paragraph" ]).
filter((token) =>
(token.parent?.type === "content") && !token.parent?.parent && (token.children.length === 1)
);
for (const paragraphToken of paragraphTokens) {
const childToken = paragraphToken.children[0];
for (const [ emphasisType, emphasisChildrenTypes ] of emphasisAndChildrenTypes) {
if (childToken.type === emphasisType) {
const matchingTokens = matchAndGetTokensByType(childToken.children, emphasisChildrenTypes);
if (matchingTokens) {
const textToken = matchingTokens[1];
if (
(textToken.children.length === 1) &&
(textToken.children[0].type === "data") &&
!punctuationRe.test(textToken.text)
) {
addErrorContext(onError, textToken.startLine, textToken.text);
}
}
return base;
};
} else if (token.type === "blockquote_open") {
return function inBlockquote(t) {
if (t.type !== "blockquote_close") {
return inBlockquote;
}
return base;
};
} else if (token.type === "list_item_open") {
return function inListItem(t) {
if (t.type !== "list_item_close") {
return inListItem;
}
return base;
};
}
}
return base;
}
let state = base;
for (const token of params.parsers.markdownit.tokens) {
state = state(token);
}
}
};

@@ -8,2 +8,4 @@ // @ts-check

// eslint-disable-next-line jsdoc/valid-types
/** @type import("./markdownlint").Rule */
module.exports = {

@@ -13,6 +15,12 @@ "names": [ "MD037", "no-space-in-emphasis" ],

"tags": [ "whitespace", "emphasis" ],
"parser": "micromark",
"function": function MD037(params, onError) {
// Initialize variables
const { lines, parsers } = params;
// eslint-disable-next-line jsdoc/valid-types
/** @type import("../helpers/micromark.cjs").Token[] */
const micromarkTokens =
// @ts-ignore
params.parsers.micromark.tokens;
const { lines } = params;
const emphasisTokensByMarker = new Map();

@@ -23,3 +31,3 @@ for (const marker of [ "_", "__", "___", "*", "**", "***" ]) {

const tokens = filterByPredicate(
parsers.micromark.tokens,
micromarkTokens,
(token) => token.children.some((child) => child.type === "data")

@@ -26,0 +34,0 @@ );

@@ -22,2 +22,4 @@ // @ts-check

// eslint-disable-next-line jsdoc/valid-types
/** @type import("./markdownlint").Rule */
module.exports = {

@@ -27,6 +29,11 @@ "names": [ "MD038", "no-space-in-code" ],

"tags": [ "whitespace", "code" ],
"parser": "micromark",
"function": function MD038(params, onError) {
const codeTexts =
filterByTypes(params.parsers.micromark.tokens, [ "codeText" ])
.filter((codeText) => !inHtmlFlow(codeText));
// eslint-disable-next-line jsdoc/valid-types
/** @type import("../helpers/micromark.cjs").Token[] */
const micromarkTokens =
// @ts-ignore
params.parsers.micromark.tokens;
const codeTexts = filterByTypes(micromarkTokens, [ "codeText" ])
.filter((codeText) => !inHtmlFlow(codeText));
for (const codeText of codeTexts) {

@@ -33,0 +40,0 @@ const { children } = codeText;

@@ -10,2 +10,4 @@ // @ts-check

// eslint-disable-next-line jsdoc/valid-types
/** @type import("./markdownlint").Rule */
module.exports = {

@@ -15,2 +17,3 @@ "names": [ "MD039", "no-space-in-links" ],

"tags": [ "whitespace", "links" ],
"parser": "markdownit",
"function": function MD039(params, onError) {

@@ -38,2 +41,3 @@ filterTokens(params, "inline", (token) => {

if (match) {
// @ts-ignore
const column = match.index + lineIndex + 1;

@@ -40,0 +44,0 @@ const length = match[0].length;

@@ -5,4 +5,8 @@ // @ts-check

const { addError, addErrorContext, filterTokens } = require("../helpers");
const { addError, addErrorContext } = require("../helpers");
const { filterByTypes, getTokenTextByType, tokenIfType } =
require("../helpers/micromark.cjs");
// eslint-disable-next-line jsdoc/valid-types
/** @type import("./markdownlint").Rule */
module.exports = {

@@ -12,2 +16,3 @@ "names": [ "MD040", "fenced-code-language" ],

"tags": [ "code", "language" ],
"parser": "micromark",
"function": function MD040(params, onError) {

@@ -17,24 +22,24 @@ let allowed = params.config.allowed_languages;

const languageOnly = !!params.config.language_only;
filterTokens(params, "fence", function forToken(token) {
const lang = token.info.trim().split(/\s+/u).shift();
if (lang === "") {
addErrorContext(onError, token.lineNumber, token.line);
} else if ((allowed.length > 0) && !allowed.includes(lang)) {
addError(
onError,
token.lineNumber,
`"${lang}" is not allowed`
);
// eslint-disable-next-line jsdoc/valid-types
/** @type import("../helpers/micromark.cjs").Token[] */
const micromarkTokens =
// @ts-ignore
params.parsers.micromark.tokens;
const fencedCodes = filterByTypes(micromarkTokens, [ "codeFenced" ]);
for (const fencedCode of fencedCodes) {
const openingFence = tokenIfType(fencedCode.children[0], "codeFencedFence");
if (openingFence) {
const { children, startLine, text } = openingFence;
const info = getTokenTextByType(children, "codeFencedFenceInfo");
if (!info) {
addErrorContext(onError, startLine, text);
} else if ((allowed.length > 0) && !allowed.includes(info)) {
addError(onError, startLine, `"${info}" is not allowed`);
}
if (languageOnly && getTokenTextByType(children, "codeFencedFenceMeta")) {
addError(onError, startLine, `Info string contains more than language: "${text}"`);
}
}
if (languageOnly && (token.info !== lang)) {
addError(
onError,
token.lineNumber,
`Info string contains more than language: "${token.info}"`
);
}
});
}
}
};

@@ -6,3 +6,7 @@ // @ts-check

const { addErrorContext, frontMatterHasTitle } = require("../helpers");
const { filterByTypes, getHeadingLevel, getHtmlTagInfo, isHtmlFlowComment, nonContentTokens } =
require("../helpers/micromark.cjs");
// eslint-disable-next-line jsdoc/valid-types
/** @type import("./markdownlint").Rule */
module.exports = {

@@ -12,33 +16,24 @@ "names": [ "MD041", "first-line-heading", "first-line-h1" ],

"tags": [ "headings" ],
"parser": "micromark",
"function": function MD041(params, onError) {
const level = Number(params.config.level || 1);
const tag = "h" + level;
const foundFrontMatterTitle =
frontMatterHasTitle(
params.frontMatterLines,
params.config.front_matter_title
);
if (!foundFrontMatterTitle) {
const htmlHeadingRe = new RegExp(`^<h${level}[ />]`, "i");
params.parsers.markdownit.tokens.every((token) => {
let isError = false;
if (token.type === "html_block") {
if (token.content.startsWith("<!--")) {
// Ignore leading HTML comments
return true;
} else if (!htmlHeadingRe.test(token.content)) {
// Something other than an HTML heading
isError = true;
if (!frontMatterHasTitle(params.frontMatterLines, params.config.front_matter_title)) {
params.parsers.micromark.tokens.
filter((token) => !nonContentTokens.has(token.type) && !isHtmlFlowComment(token)).
every((token) => {
let isError = true;
if ((token.type === "atxHeading") || (token.type === "setextHeading")) {
isError = (getHeadingLevel(token) !== level);
} else if (token.type === "htmlFlow") {
const htmlTexts = filterByTypes(token.children, [ "htmlText" ]);
const tagInfo = (htmlTexts.length > 0) && getHtmlTagInfo(htmlTexts[0]);
isError = !tagInfo || (tagInfo.name.toLowerCase() !== `h${level}`);
}
} else if ((token.type !== "heading_open") || (token.tag !== tag)) {
// Something other than a Markdown heading
isError = true;
}
if (isError) {
addErrorContext(onError, token.lineNumber, token.line);
}
return false;
});
if (isError) {
addErrorContext(onError, token.startLine, params.lines[token.startLine - 1]);
}
return false;
});
}
}
};

@@ -8,2 +8,4 @@ // @ts-check

// eslint-disable-next-line jsdoc/valid-types
/** @type import("./markdownlint").Rule */
module.exports = {

@@ -13,2 +15,3 @@ "names": [ "MD042", "no-empty-links" ],

"tags": [ "links" ],
"parser": "markdownit",
"function": function MD042(params, onError) {

@@ -38,2 +41,3 @@ filterTokens(params, "inline", function forToken(token) {

context = match[0];
// @ts-ignore
range = [ match.index + 1, match[0].length ];

@@ -40,0 +44,0 @@ }

@@ -8,2 +8,4 @@ // @ts-check

// eslint-disable-next-line jsdoc/valid-types
/** @type import("./markdownlint").Rule */
module.exports = {

@@ -13,2 +15,3 @@ "names": [ "MD043", "required-headings" ],

"tags": [ "headings" ],
"parser": "markdownit",
"function": function MD043(params, onError) {

@@ -15,0 +18,0 @@ const requiredHeadings = params.config.headings;

@@ -14,2 +14,4 @@ // @ts-check

// eslint-disable-next-line jsdoc/valid-types
/** @type import("./markdownlint").Rule */
module.exports = {

@@ -19,2 +21,3 @@ "names": [ "MD044", "proper-names" ],

"tags": [ "spelling" ],
"parser": "micromark",
"function": function MD044(params, onError) {

@@ -34,2 +37,7 @@ let names = params.config.names;

(htmlElements === undefined) ? true : !!htmlElements;
// eslint-disable-next-line jsdoc/valid-types
/** @type import("../helpers/micromark.cjs").Token[] */
const micromarkTokens =
// @ts-ignore
params.parsers.micromark.tokens;
const scannedTypes = new Set([ "data" ]);

@@ -46,3 +54,3 @@ if (includeCodeBlocks) {

filterByPredicate(
params.parsers.micromark.tokens,
micromarkTokens,
(token) => scannedTypes.has(token.type),

@@ -49,0 +57,0 @@ (token) => (

@@ -10,2 +10,4 @@ // @ts-check

// eslint-disable-next-line jsdoc/valid-types
/** @type import("./markdownlint").Rule */
module.exports = {

@@ -15,7 +17,12 @@ "names": [ "MD045", "no-alt-text" ],

"tags": [ "accessibility", "images" ],
"parser": "micromark",
"function": function MD045(params, onError) {
const { tokens } = params.parsers.micromark;
// eslint-disable-next-line jsdoc/valid-types
/** @type import("../helpers/micromark.cjs").Token[] */
const micromarkTokens =
// @ts-ignore
params.parsers.micromark.tokens;
// Process Markdown images
const images = filterByTypes(tokens, [ "image" ]);
const images = filterByTypes(micromarkTokens, [ "image" ]);
for (const image of images) {

@@ -38,3 +45,3 @@ const labelTexts = filterByTypes(image.children, [ "labelText" ]);

// Process HTML images
const htmlTexts = filterByTypes(tokens, [ "htmlText" ]);
const htmlTexts = filterByTypes(micromarkTokens, [ "htmlText" ]);
for (const htmlText of htmlTexts) {

@@ -41,0 +48,0 @@ const { startColumn, startLine, text } = htmlText;

@@ -6,8 +6,11 @@ // @ts-check

const { addErrorDetailIf } = require("../helpers");
const { filterByTypes } = require("../helpers/micromark.cjs");
const tokenTypeToStyle = {
"fence": "fenced",
"code_block": "indented"
"codeFenced": "fenced",
"codeIndented": "indented"
};
// eslint-disable-next-line jsdoc/valid-types
/** @type import("./markdownlint").Rule */
module.exports = {

@@ -17,9 +20,13 @@ "names": [ "MD046", "code-block-style" ],

"tags": [ "code" ],
"parser": "micromark",
"function": function MD046(params, onError) {
let expectedStyle = String(params.config.style || "consistent");
const codeBlocksAndFences = params.parsers.markdownit.tokens.filter(
(token) => (token.type === "code_block") || (token.type === "fence")
);
// eslint-disable-next-line jsdoc/valid-types
/** @type import("../helpers/micromark.cjs").Token[] */
const micromarkTokens =
// @ts-ignore
params.parsers.micromark.tokens;
const codeBlocksAndFences = filterByTypes(micromarkTokens, [ "codeFenced", "codeIndented" ]);
for (const token of codeBlocksAndFences) {
const { lineNumber, type } = token;
const { startLine, type } = token;
if (expectedStyle === "consistent") {

@@ -30,3 +37,3 @@ expectedStyle = tokenTypeToStyle[type];

onError,
lineNumber,
startLine,
expectedStyle,

@@ -33,0 +40,0 @@ tokenTypeToStyle[type]);

@@ -7,2 +7,4 @@ // @ts-check

// eslint-disable-next-line jsdoc/valid-types
/** @type import("./markdownlint").Rule */
module.exports = {

@@ -12,2 +14,3 @@ "names": [ "MD047", "single-trailing-newline" ],

"tags": [ "blank_lines" ],
"parser": "none",
"function": function MD047(params, onError) {

@@ -20,4 +23,4 @@ const lastLineNumber = params.lines.length;

lastLineNumber,
null,
null,
undefined,
undefined,
[ lastLine.length, 1 ],

@@ -24,0 +27,0 @@ {

@@ -6,3 +6,6 @@ // @ts-check

const { addErrorDetailIf, fencedCodeBlockStyleFor } = require("../helpers");
const { filterByTypes, tokenIfType } = require("../helpers/micromark.cjs");
// eslint-disable-next-line jsdoc/valid-types
/** @type import("./markdownlint").Rule */
module.exports = {

@@ -12,21 +15,31 @@ "names": [ "MD048", "code-fence-style" ],

"tags": [ "code" ],
"parser": "micromark",
"function": function MD048(params, onError) {
const style = String(params.config.style || "consistent");
// eslint-disable-next-line jsdoc/valid-types
/** @type import("../helpers/micromark.cjs").Token[] */
const micromarkTokens =
// @ts-ignore
params.parsers.micromark.tokens;
let expectedStyle = style;
const fenceTokens = params.parsers.markdownit.tokens.filter(
(token) => token.type === "fence"
);
for (const fenceToken of fenceTokens) {
const { lineNumber, markup } = fenceToken;
if (expectedStyle === "consistent") {
expectedStyle = fencedCodeBlockStyleFor(markup);
const codeFenceds = filterByTypes(micromarkTokens, [ "codeFenced" ]);
for (const codeFenced of codeFenceds) {
const codeFencedFence = tokenIfType(codeFenced.children[0], "codeFencedFence");
if (codeFencedFence) {
const codeFencedFenceSequence = tokenIfType(codeFencedFence.children[0], "codeFencedFenceSequence");
if (codeFencedFenceSequence) {
const { startLine, text } = codeFencedFenceSequence;
if (expectedStyle === "consistent") {
expectedStyle = fencedCodeBlockStyleFor(text);
}
addErrorDetailIf(
onError,
startLine,
expectedStyle,
fencedCodeBlockStyleFor(text)
);
}
}
addErrorDetailIf(
onError,
lineNumber,
expectedStyle,
fencedCodeBlockStyleFor(markup)
);
}
}
};

@@ -8,9 +8,23 @@ // @ts-check

const intrawordRe = /\w/;
const intrawordRe = /^\w$/;
/**
* @param {import("./markdownlint").RuleParams} params Rule parameters.
* @param {import("./markdownlint").RuleOnError} onError Error-reporting callback.
* @param {import("markdownlint-micromark").TokenType} type Token type.
* @param {import("markdownlint-micromark").TokenType} typeSequence Token sequence type.
* @param {"*" | "**"} asterisk Asterisk kind.
* @param {"_" | "__"} underline Underline kind.
* @param {"asterisk" | "consistent" | "underscore"} style Style string.
*/
const impl =
(params, onError, type, asterisk, underline, style = "consistent") => {
const { lines, parsers } = params;
(params, onError, type, typeSequence, asterisk, underline, style = "consistent") => {
// eslint-disable-next-line jsdoc/valid-types
/** @type import("../helpers/micromark.cjs").Token[] */
const micromarkTokens =
// @ts-ignore
params.parsers.micromark.tokens;
const { lines } = params;
const emphasisTokens = filterByPredicate(
parsers.micromark.tokens,
micromarkTokens,
(token) => token.type === type,

@@ -21,5 +35,4 @@ (token) => ((token.type === "htmlFlow") ? [] : token.children)

const { children } = token;
const childType = `${type}Sequence`;
const startSequence = tokenIfType(children[0], childType);
const endSequence = tokenIfType(children[children.length - 1], childType);
const startSequence = tokenIfType(children[0], typeSequence);
const endSequence = tokenIfType(children[children.length - 1], typeSequence);
if (startSequence && endSequence) {

@@ -60,2 +73,4 @@ const markupStyle = emphasisOrStrongStyleFor(startSequence.text);

// eslint-disable-next-line jsdoc/valid-types
/** @type import("./markdownlint").Rule[] */
module.exports = [

@@ -66,2 +81,3 @@ {

"tags": [ "emphasis" ],
"parser": "micromark",
"function": function MD049(params, onError) {

@@ -72,2 +88,3 @@ return impl(

"emphasis",
"emphasisSequence",
"*",

@@ -83,2 +100,3 @@ "_",

"tags": [ "emphasis" ],
"parser": "micromark",
"function": function MD050(params, onError) {

@@ -89,2 +107,3 @@ return impl(

"strong",
"strongSequence",
"**",

@@ -91,0 +110,0 @@ "__",

@@ -14,2 +14,3 @@ // @ts-check

const anchorRe = /\{(#[a-z\d]+(?:[-_][a-z\d]+)*)\}/gu;
const lineFragmentRe = /^#(?:L\d+(?:C\d+)?-L\d+(?:C\d+)?|L\d+)$/;

@@ -19,14 +20,10 @@ // Sets for filtering heading tokens during conversion

const tokensInclude = new Set(
[ "characterEscapeValue", "codeTextData", "data" ]
[ "characterEscapeValue", "codeTextData", "data", "mathTextData" ]
);
/**
* @typedef {import("../helpers/micromark.cjs").Token} Token
*/
/**
* Converts a Markdown heading into an HTML fragment according to the rules
* used by GitHub.
*
* @param {Token} headingText Heading text token.
* @param {import("../helpers/micromark.cjs").Token} headingText Heading text token.
* @returns {string} Fragment string for heading.

@@ -60,3 +57,3 @@ */

*
* @param {Token} token String-type micromark Token.
* @param {import("../helpers/micromark.cjs").Token} token String-type micromark Token.
* @returns {string} Unescaped token text.

@@ -70,2 +67,4 @@ */

// eslint-disable-next-line jsdoc/valid-types
/** @type import("./markdownlint").Rule */
module.exports = {

@@ -75,11 +74,13 @@ "names": [ "MD051", "link-fragments" ],

"tags": [ "links" ],
"parser": "micromark",
"function": function MD051(params, onError) {
const { tokens } = params.parsers.micromark;
// eslint-disable-next-line jsdoc/valid-types
/** @type import("../helpers/micromark.cjs").Token[] */
const micromarkTokens =
// @ts-ignore
params.parsers.micromark.tokens;
const fragments = new Map();
// Process headings
const headingTexts = filterByTypes(
tokens,
[ "atxHeadingText", "setextHeadingText" ]
);
const headingTexts = filterByTypes(micromarkTokens, [ "atxHeadingText", "setextHeadingText" ]);
for (const headingText of headingTexts) {

@@ -104,3 +105,3 @@ const fragment = convertHeadingToHTMLFragment(headingText);

// Process HTML anchors
for (const token of filterByTypes(tokens, [ "htmlText" ])) {
for (const token of filterByTypes(micromarkTokens, [ "htmlText" ])) {
const htmlTagInfo = getHtmlTagInfo(token);

@@ -117,2 +118,4 @@ if (htmlTagInfo && !htmlTagInfo.close) {

// Process link and definition fragments
// eslint-disable-next-line jsdoc/valid-types
/** @type import("../helpers/micromark.cjs").TokenType[][] */
const parentChilds = [

@@ -123,3 +126,3 @@ [ "link", "resourceDestinationString" ],

for (const [ parentType, definitionType ] of parentChilds) {
const links = filterByTypes(tokens, [ parentType ]);
const links = filterByTypes(micromarkTokens, [ parentType ]);
for (const link of links) {

@@ -130,7 +133,8 @@ const definitions = filterByTypes(link.children, [ definitionType ]);

const text = unescapeStringTokenText(definition);
const encodedText = `#${encodeURIComponent(text.slice(1))}`;
if (
(text.length > 1) &&
text.startsWith("#") &&
!fragments.has(text) &&
!fragments.has(`#${encodeURIComponent(text.slice(1))}`)
!fragments.has(encodedText) &&
!lineFragmentRe.test(encodedText)
) {

@@ -137,0 +141,0 @@ // eslint-disable-next-line no-undef-init

@@ -8,2 +8,4 @@ // @ts-check

// eslint-disable-next-line jsdoc/valid-types
/** @type import("./markdownlint").Rule */
module.exports = {

@@ -14,2 +16,3 @@ "names": [ "MD052", "reference-links-images" ],

"tags": [ "images", "links" ],
"parser": "none",
"function": function MD052(params, onError) {

@@ -16,0 +19,0 @@ const { config, lines } = params;

@@ -9,2 +9,4 @@ // @ts-check

// eslint-disable-next-line jsdoc/valid-types
/** @type import("./markdownlint").Rule */
module.exports = {

@@ -14,2 +16,3 @@ "names": [ "MD053", "link-image-reference-definitions" ],

"tags": [ "images", "links" ],
"parser": "none",
"function": function MD053(params, onError) {

@@ -16,0 +19,0 @@ const ignored = new Set(params.config.ignored_definitions || [ "//" ]);

@@ -24,2 +24,4 @@ // @ts-check

// eslint-disable-next-line jsdoc/valid-types
/** @type import("./markdownlint").Rule */
module.exports = {

@@ -29,4 +31,5 @@ "names": [ "MD054", "link-image-style" ],

"tags": [ "images", "links" ],
"parser": "micromark",
"function": (params, onError) => {
const { parsers, config } = params;
const config = params.config;
const autolink = (config.autolink === undefined) || !!config.autolink;

@@ -42,7 +45,9 @@ const inline = (config.inline === undefined) || !!config.inline;

}
// eslint-disable-next-line jsdoc/valid-types
/** @type import("../helpers/micromark.cjs").Token[] */
const micromarkTokens =
// @ts-ignore
params.parsers.micromark.tokens;
const { definitions } = referenceLinkImageData();
const links = filterByTypes(
parsers.micromark.tokens,
[ "autolink", "image", "link" ]
);
const links = filterByTypes(micromarkTokens, [ "autolink", "image", "link" ]);
for (const link of links) {

@@ -49,0 +54,0 @@ let label = null;

@@ -16,2 +16,4 @@ // @ts-check

// eslint-disable-next-line jsdoc/valid-types
/** @type import("./markdownlint").Rule */
module.exports = {

@@ -21,2 +23,3 @@ "names": [ "MD055", "table-pipe-style" ],

"tags": [ "table" ],
"parser": "micromark",
"function": function MD055(params, onError) {

@@ -29,3 +32,8 @@ const style = String(params.config.style || "consistent");

((expectedStyle !== "no_leading_or_trailing") && (expectedStyle !== "leading_only"));
const tables = filterByTypes(params.parsers.micromark.tokens, [ "table" ]);
// eslint-disable-next-line jsdoc/valid-types
/** @type import("../helpers/micromark.cjs").Token[] */
const micromarkTokens =
// @ts-ignore
params.parsers.micromark.tokens;
const tables = filterByTypes(micromarkTokens, [ "table" ]);
for (const table of tables) {

@@ -32,0 +40,0 @@ const rows = filterByTypes(table.children, [ "tableDelimiterRow", "tableRow" ]);

@@ -10,2 +10,4 @@ // @ts-check

// eslint-disable-next-line jsdoc/valid-types
/** @type import("./markdownlint").Rule */
module.exports = {

@@ -15,4 +17,10 @@ "names": [ "MD056", "table-column-count" ],

"tags": [ "table" ],
"parser": "micromark",
"function": function MD056(params, onError) {
const tables = filterByTypes(params.parsers.micromark.tokens, [ "table" ]);
// eslint-disable-next-line jsdoc/valid-types
/** @type import("../helpers/micromark.cjs").Token[] */
const micromarkTokens =
// @ts-ignore
params.parsers.micromark.tokens;
const tables = filterByTypes(micromarkTokens, [ "table" ]);
for (const table of tables) {

@@ -19,0 +27,0 @@ const rows = filterByTypes(table.children, [ "tableDelimiterRow", "tableRow" ]);

{
"name": "markdownlint",
"version": "0.33.0",
"version": "0.34.0",
"description": "A Node.js style checker and lint tool for Markdown/CommonMark files.",

@@ -29,3 +29,3 @@ "type": "commonjs",

"build-config-schema": "node schema/build-config-schema.js",
"build-declaration": "tsc --allowJs --declaration --emitDeclarationOnly --module commonjs --resolveJsonModule --target es2015 lib/markdownlint.js && node scripts delete 'lib/{cache,constants,md,r}*.d.ts' 'micromark/*.d.cts' 'helpers/*.d.{cts,ts}'",
"build-declaration": "tsc --allowJs --declaration --emitDeclarationOnly --module commonjs --outDir dts --resolveJsonModule --target es2015 lib/markdownlint.js && node scripts copy dts/lib/markdownlint.d.ts lib/markdownlint.d.ts && node scripts remove dts",
"build-demo": "node scripts copy node_modules/markdown-it/dist/markdown-it.min.js demo/markdown-it.min.js && node scripts copy node_modules/markdownlint-micromark/micromark-browser.js demo/micromark-browser.js && node scripts copy node_modules/markdownlint-micromark/micromark-html-browser.js demo/micromark-html-browser.js && cd demo && webpack --no-stats",

@@ -69,34 +69,29 @@ "build-docs": "node doc-build/build-rules.mjs",

"dependencies": {
"markdown-it": "14.0.0",
"markdownlint-micromark": "0.1.8"
"markdown-it": "14.1.0",
"markdownlint-micromark": "0.1.9"
},
"devDependencies": {
"@babel/core": "7.23.7",
"@babel/preset-env": "7.23.7",
"ajv": "8.12.0",
"ava": "6.0.1",
"babel-loader": "9.1.3",
"c8": "9.0.0",
"ava": "6.1.2",
"c8": "9.1.0",
"character-entities": "2.0.2",
"eslint": "8.56.0",
"eslint-plugin-jsdoc": "48.0.2",
"eslint-plugin-n": "16.6.1",
"eslint-plugin-regexp": "2.1.2",
"eslint-plugin-unicorn": "50.0.1",
"eslint": "8.57.0",
"eslint-plugin-jsdoc": "48.2.1",
"eslint-plugin-n": "16.6.2",
"eslint-plugin-regexp": "2.3.0",
"eslint-plugin-unicorn": "51.0.1",
"gemoji": "8.1.0",
"globby": "14.0.0",
"globby": "14.0.1",
"js-yaml": "4.1.0",
"json-schema-to-typescript": "13.1.1",
"json-schema-to-typescript": "13.1.2",
"jsonc-parser": "3.2.1",
"markdown-it-for-inline": "2.0.1",
"markdown-it-sub": "2.0.0",
"markdown-it-sup": "2.0.0",
"markdownlint-rule-helpers": "0.23.0",
"npm-run-all": "4.1.5",
"strip-json-comments": "5.0.1",
"terser-webpack-plugin": "5.3.10",
"toml": "3.0.0",
"typescript": "5.3.3",
"webpack": "5.89.0",
"webpack-cli": "5.1.4",
"yaml": "2.3.4"
"typescript": "5.4.3",
"webpack": "5.91.0",
"webpack-cli": "5.1.4"
},

@@ -103,0 +98,0 @@ "keywords": [

{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://raw.githubusercontent.com/DavidAnson/markdownlint/v0.33.0/schema/markdownlint-config-schema.json",
"$id": "https://raw.githubusercontent.com/DavidAnson/markdownlint/v0.34.0/schema/markdownlint-config-schema.json",
"title": "markdownlint configuration schema",

@@ -10,3 +10,3 @@ "type": "object",

"type": "string",
"default": "https://raw.githubusercontent.com/DavidAnson/markdownlint/v0.33.0/schema/markdownlint-config-schema.json"
"default": "https://raw.githubusercontent.com/DavidAnson/markdownlint/v0.34.0/schema/markdownlint-config-schema.json"
},

@@ -27,3 +27,3 @@ "default": {

"MD001": {
"description": "MD001/heading-increment : Heading levels should only increment by one level at a time : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md001.md",
"description": "MD001/heading-increment : Heading levels should only increment by one level at a time : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md001.md",
"type": "boolean",

@@ -33,3 +33,3 @@ "default": true

"heading-increment": {
"description": "MD001/heading-increment : Heading levels should only increment by one level at a time : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md001.md",
"description": "MD001/heading-increment : Heading levels should only increment by one level at a time : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md001.md",
"type": "boolean",

@@ -39,3 +39,3 @@ "default": true

"MD003": {
"description": "MD003/heading-style : Heading style : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md003.md",
"description": "MD003/heading-style : Heading style : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md003.md",
"type": [

@@ -64,3 +64,3 @@ "boolean",

"heading-style": {
"description": "MD003/heading-style : Heading style : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md003.md",
"description": "MD003/heading-style : Heading style : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md003.md",
"type": [

@@ -89,3 +89,3 @@ "boolean",

"MD004": {
"description": "MD004/ul-style : Unordered list style : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md004.md",
"description": "MD004/ul-style : Unordered list style : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md004.md",
"type": [

@@ -113,3 +113,3 @@ "boolean",

"ul-style": {
"description": "MD004/ul-style : Unordered list style : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md004.md",
"description": "MD004/ul-style : Unordered list style : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md004.md",
"type": [

@@ -137,3 +137,3 @@ "boolean",

"MD005": {
"description": "MD005/list-indent : Inconsistent indentation for list items at the same level : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md005.md",
"description": "MD005/list-indent : Inconsistent indentation for list items at the same level : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md005.md",
"type": "boolean",

@@ -143,3 +143,3 @@ "default": true

"list-indent": {
"description": "MD005/list-indent : Inconsistent indentation for list items at the same level : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md005.md",
"description": "MD005/list-indent : Inconsistent indentation for list items at the same level : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md005.md",
"type": "boolean",

@@ -149,3 +149,3 @@ "default": true

"MD007": {
"description": "MD007/ul-indent : Unordered list indentation : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md007.md",
"description": "MD007/ul-indent : Unordered list indentation : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md007.md",
"type": [

@@ -178,3 +178,3 @@ "boolean",

"ul-indent": {
"description": "MD007/ul-indent : Unordered list indentation : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md007.md",
"description": "MD007/ul-indent : Unordered list indentation : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md007.md",
"type": [

@@ -207,3 +207,3 @@ "boolean",

"MD009": {
"description": "MD009/no-trailing-spaces : Trailing spaces : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md009.md",
"description": "MD009/no-trailing-spaces : Trailing spaces : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md009.md",
"type": [

@@ -235,3 +235,3 @@ "boolean",

"no-trailing-spaces": {
"description": "MD009/no-trailing-spaces : Trailing spaces : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md009.md",
"description": "MD009/no-trailing-spaces : Trailing spaces : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md009.md",
"type": [

@@ -263,3 +263,3 @@ "boolean",

"MD010": {
"description": "MD010/no-hard-tabs : Hard tabs : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md010.md",
"description": "MD010/no-hard-tabs : Hard tabs : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md010.md",
"type": [

@@ -294,3 +294,3 @@ "boolean",

"no-hard-tabs": {
"description": "MD010/no-hard-tabs : Hard tabs : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md010.md",
"description": "MD010/no-hard-tabs : Hard tabs : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md010.md",
"type": [

@@ -325,3 +325,3 @@ "boolean",

"MD011": {
"description": "MD011/no-reversed-links : Reversed link syntax : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md011.md",
"description": "MD011/no-reversed-links : Reversed link syntax : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md011.md",
"type": "boolean",

@@ -331,3 +331,3 @@ "default": true

"no-reversed-links": {
"description": "MD011/no-reversed-links : Reversed link syntax : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md011.md",
"description": "MD011/no-reversed-links : Reversed link syntax : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md011.md",
"type": "boolean",

@@ -337,3 +337,3 @@ "default": true

"MD012": {
"description": "MD012/no-multiple-blanks : Multiple consecutive blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md012.md",
"description": "MD012/no-multiple-blanks : Multiple consecutive blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md012.md",
"type": [

@@ -355,3 +355,3 @@ "boolean",

"no-multiple-blanks": {
"description": "MD012/no-multiple-blanks : Multiple consecutive blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md012.md",
"description": "MD012/no-multiple-blanks : Multiple consecutive blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md012.md",
"type": [

@@ -373,3 +373,3 @@ "boolean",

"MD013": {
"description": "MD013/line-length : Line length : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md013.md",
"description": "MD013/line-length : Line length : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md013.md",
"type": [

@@ -428,3 +428,3 @@ "boolean",

"line-length": {
"description": "MD013/line-length : Line length : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md013.md",
"description": "MD013/line-length : Line length : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md013.md",
"type": [

@@ -483,3 +483,3 @@ "boolean",

"MD014": {
"description": "MD014/commands-show-output : Dollar signs used before commands without showing output : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md014.md",
"description": "MD014/commands-show-output : Dollar signs used before commands without showing output : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md014.md",
"type": "boolean",

@@ -489,3 +489,3 @@ "default": true

"commands-show-output": {
"description": "MD014/commands-show-output : Dollar signs used before commands without showing output : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md014.md",
"description": "MD014/commands-show-output : Dollar signs used before commands without showing output : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md014.md",
"type": "boolean",

@@ -495,3 +495,3 @@ "default": true

"MD018": {
"description": "MD018/no-missing-space-atx : No space after hash on atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md018.md",
"description": "MD018/no-missing-space-atx : No space after hash on atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md018.md",
"type": "boolean",

@@ -501,3 +501,3 @@ "default": true

"no-missing-space-atx": {
"description": "MD018/no-missing-space-atx : No space after hash on atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md018.md",
"description": "MD018/no-missing-space-atx : No space after hash on atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md018.md",
"type": "boolean",

@@ -507,3 +507,3 @@ "default": true

"MD019": {
"description": "MD019/no-multiple-space-atx : Multiple spaces after hash on atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md019.md",
"description": "MD019/no-multiple-space-atx : Multiple spaces after hash on atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md019.md",
"type": "boolean",

@@ -513,3 +513,3 @@ "default": true

"no-multiple-space-atx": {
"description": "MD019/no-multiple-space-atx : Multiple spaces after hash on atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md019.md",
"description": "MD019/no-multiple-space-atx : Multiple spaces after hash on atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md019.md",
"type": "boolean",

@@ -519,3 +519,3 @@ "default": true

"MD020": {
"description": "MD020/no-missing-space-closed-atx : No space inside hashes on closed atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md020.md",
"description": "MD020/no-missing-space-closed-atx : No space inside hashes on closed atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md020.md",
"type": "boolean",

@@ -525,3 +525,3 @@ "default": true

"no-missing-space-closed-atx": {
"description": "MD020/no-missing-space-closed-atx : No space inside hashes on closed atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md020.md",
"description": "MD020/no-missing-space-closed-atx : No space inside hashes on closed atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md020.md",
"type": "boolean",

@@ -531,3 +531,3 @@ "default": true

"MD021": {
"description": "MD021/no-multiple-space-closed-atx : Multiple spaces inside hashes on closed atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md021.md",
"description": "MD021/no-multiple-space-closed-atx : Multiple spaces inside hashes on closed atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md021.md",
"type": "boolean",

@@ -537,3 +537,3 @@ "default": true

"no-multiple-space-closed-atx": {
"description": "MD021/no-multiple-space-closed-atx : Multiple spaces inside hashes on closed atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md021.md",
"description": "MD021/no-multiple-space-closed-atx : Multiple spaces inside hashes on closed atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md021.md",
"type": "boolean",

@@ -543,3 +543,3 @@ "default": true

"MD022": {
"description": "MD022/blanks-around-headings : Headings should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md022.md",
"description": "MD022/blanks-around-headings : Headings should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md022.md",
"type": [

@@ -579,3 +579,3 @@ "boolean",

"blanks-around-headings": {
"description": "MD022/blanks-around-headings : Headings should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md022.md",
"description": "MD022/blanks-around-headings : Headings should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md022.md",
"type": [

@@ -615,3 +615,3 @@ "boolean",

"MD023": {
"description": "MD023/heading-start-left : Headings must start at the beginning of the line : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md023.md",
"description": "MD023/heading-start-left : Headings must start at the beginning of the line : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md023.md",
"type": "boolean",

@@ -621,3 +621,3 @@ "default": true

"heading-start-left": {
"description": "MD023/heading-start-left : Headings must start at the beginning of the line : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md023.md",
"description": "MD023/heading-start-left : Headings must start at the beginning of the line : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md023.md",
"type": "boolean",

@@ -627,3 +627,3 @@ "default": true

"MD024": {
"description": "MD024/no-duplicate-heading : Multiple headings with the same content : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md024.md",
"description": "MD024/no-duplicate-heading : Multiple headings with the same content : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md024.md",
"type": [

@@ -644,3 +644,3 @@ "boolean",

"no-duplicate-heading": {
"description": "MD024/no-duplicate-heading : Multiple headings with the same content : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md024.md",
"description": "MD024/no-duplicate-heading : Multiple headings with the same content : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md024.md",
"type": [

@@ -661,3 +661,3 @@ "boolean",

"MD025": {
"description": "MD025/single-title/single-h1 : Multiple top-level headings in the same document : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md025.md",
"description": "MD025/single-title/single-h1 : Multiple top-level headings in the same document : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md025.md",
"type": [

@@ -685,3 +685,3 @@ "boolean",

"single-title": {
"description": "MD025/single-title/single-h1 : Multiple top-level headings in the same document : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md025.md",
"description": "MD025/single-title/single-h1 : Multiple top-level headings in the same document : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md025.md",
"type": [

@@ -709,3 +709,3 @@ "boolean",

"single-h1": {
"description": "MD025/single-title/single-h1 : Multiple top-level headings in the same document : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md025.md",
"description": "MD025/single-title/single-h1 : Multiple top-level headings in the same document : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md025.md",
"type": [

@@ -733,3 +733,3 @@ "boolean",

"MD026": {
"description": "MD026/no-trailing-punctuation : Trailing punctuation in heading : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md026.md",
"description": "MD026/no-trailing-punctuation : Trailing punctuation in heading : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md026.md",
"type": [

@@ -750,3 +750,3 @@ "boolean",

"no-trailing-punctuation": {
"description": "MD026/no-trailing-punctuation : Trailing punctuation in heading : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md026.md",
"description": "MD026/no-trailing-punctuation : Trailing punctuation in heading : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md026.md",
"type": [

@@ -767,3 +767,3 @@ "boolean",

"MD027": {
"description": "MD027/no-multiple-space-blockquote : Multiple spaces after blockquote symbol : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md027.md",
"description": "MD027/no-multiple-space-blockquote : Multiple spaces after blockquote symbol : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md027.md",
"type": "boolean",

@@ -773,3 +773,3 @@ "default": true

"no-multiple-space-blockquote": {
"description": "MD027/no-multiple-space-blockquote : Multiple spaces after blockquote symbol : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md027.md",
"description": "MD027/no-multiple-space-blockquote : Multiple spaces after blockquote symbol : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md027.md",
"type": "boolean",

@@ -779,3 +779,3 @@ "default": true

"MD028": {
"description": "MD028/no-blanks-blockquote : Blank line inside blockquote : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md028.md",
"description": "MD028/no-blanks-blockquote : Blank line inside blockquote : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md028.md",
"type": "boolean",

@@ -785,3 +785,3 @@ "default": true

"no-blanks-blockquote": {
"description": "MD028/no-blanks-blockquote : Blank line inside blockquote : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md028.md",
"description": "MD028/no-blanks-blockquote : Blank line inside blockquote : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md028.md",
"type": "boolean",

@@ -791,3 +791,3 @@ "default": true

"MD029": {
"description": "MD029/ol-prefix : Ordered list item prefix : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md029.md",
"description": "MD029/ol-prefix : Ordered list item prefix : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md029.md",
"type": [

@@ -814,3 +814,3 @@ "boolean",

"ol-prefix": {
"description": "MD029/ol-prefix : Ordered list item prefix : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md029.md",
"description": "MD029/ol-prefix : Ordered list item prefix : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md029.md",
"type": [

@@ -837,3 +837,3 @@ "boolean",

"MD030": {
"description": "MD030/list-marker-space : Spaces after list markers : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md030.md",
"description": "MD030/list-marker-space : Spaces after list markers : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md030.md",
"type": [

@@ -873,3 +873,3 @@ "boolean",

"list-marker-space": {
"description": "MD030/list-marker-space : Spaces after list markers : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md030.md",
"description": "MD030/list-marker-space : Spaces after list markers : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md030.md",
"type": [

@@ -909,3 +909,3 @@ "boolean",

"MD031": {
"description": "MD031/blanks-around-fences : Fenced code blocks should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md031.md",
"description": "MD031/blanks-around-fences : Fenced code blocks should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md031.md",
"type": [

@@ -926,3 +926,3 @@ "boolean",

"blanks-around-fences": {
"description": "MD031/blanks-around-fences : Fenced code blocks should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md031.md",
"description": "MD031/blanks-around-fences : Fenced code blocks should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md031.md",
"type": [

@@ -943,3 +943,3 @@ "boolean",

"MD032": {
"description": "MD032/blanks-around-lists : Lists should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md032.md",
"description": "MD032/blanks-around-lists : Lists should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md032.md",
"type": "boolean",

@@ -949,3 +949,3 @@ "default": true

"blanks-around-lists": {
"description": "MD032/blanks-around-lists : Lists should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md032.md",
"description": "MD032/blanks-around-lists : Lists should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md032.md",
"type": "boolean",

@@ -955,3 +955,3 @@ "default": true

"MD033": {
"description": "MD033/no-inline-html : Inline HTML : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md033.md",
"description": "MD033/no-inline-html : Inline HTML : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md033.md",
"type": [

@@ -975,3 +975,3 @@ "boolean",

"no-inline-html": {
"description": "MD033/no-inline-html : Inline HTML : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md033.md",
"description": "MD033/no-inline-html : Inline HTML : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md033.md",
"type": [

@@ -995,3 +995,3 @@ "boolean",

"MD034": {
"description": "MD034/no-bare-urls : Bare URL used : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md034.md",
"description": "MD034/no-bare-urls : Bare URL used : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md034.md",
"type": "boolean",

@@ -1001,3 +1001,3 @@ "default": true

"no-bare-urls": {
"description": "MD034/no-bare-urls : Bare URL used : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md034.md",
"description": "MD034/no-bare-urls : Bare URL used : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md034.md",
"type": "boolean",

@@ -1007,3 +1007,3 @@ "default": true

"MD035": {
"description": "MD035/hr-style : Horizontal rule style : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md035.md",
"description": "MD035/hr-style : Horizontal rule style : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md035.md",
"type": [

@@ -1024,3 +1024,3 @@ "boolean",

"hr-style": {
"description": "MD035/hr-style : Horizontal rule style : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md035.md",
"description": "MD035/hr-style : Horizontal rule style : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md035.md",
"type": [

@@ -1041,3 +1041,3 @@ "boolean",

"MD036": {
"description": "MD036/no-emphasis-as-heading : Emphasis used instead of a heading : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md036.md",
"description": "MD036/no-emphasis-as-heading : Emphasis used instead of a heading : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md036.md",
"type": [

@@ -1058,3 +1058,3 @@ "boolean",

"no-emphasis-as-heading": {
"description": "MD036/no-emphasis-as-heading : Emphasis used instead of a heading : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md036.md",
"description": "MD036/no-emphasis-as-heading : Emphasis used instead of a heading : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md036.md",
"type": [

@@ -1075,3 +1075,3 @@ "boolean",

"MD037": {
"description": "MD037/no-space-in-emphasis : Spaces inside emphasis markers : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md037.md",
"description": "MD037/no-space-in-emphasis : Spaces inside emphasis markers : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md037.md",
"type": "boolean",

@@ -1081,3 +1081,3 @@ "default": true

"no-space-in-emphasis": {
"description": "MD037/no-space-in-emphasis : Spaces inside emphasis markers : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md037.md",
"description": "MD037/no-space-in-emphasis : Spaces inside emphasis markers : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md037.md",
"type": "boolean",

@@ -1087,3 +1087,3 @@ "default": true

"MD038": {
"description": "MD038/no-space-in-code : Spaces inside code span elements : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md038.md",
"description": "MD038/no-space-in-code : Spaces inside code span elements : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md038.md",
"type": "boolean",

@@ -1093,3 +1093,3 @@ "default": true

"no-space-in-code": {
"description": "MD038/no-space-in-code : Spaces inside code span elements : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md038.md",
"description": "MD038/no-space-in-code : Spaces inside code span elements : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md038.md",
"type": "boolean",

@@ -1099,3 +1099,3 @@ "default": true

"MD039": {
"description": "MD039/no-space-in-links : Spaces inside link text : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md039.md",
"description": "MD039/no-space-in-links : Spaces inside link text : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md039.md",
"type": "boolean",

@@ -1105,3 +1105,3 @@ "default": true

"no-space-in-links": {
"description": "MD039/no-space-in-links : Spaces inside link text : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md039.md",
"description": "MD039/no-space-in-links : Spaces inside link text : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md039.md",
"type": "boolean",

@@ -1111,3 +1111,3 @@ "default": true

"MD040": {
"description": "MD040/fenced-code-language : Fenced code blocks should have a language specified : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md040.md",
"description": "MD040/fenced-code-language : Fenced code blocks should have a language specified : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md040.md",
"type": [

@@ -1136,3 +1136,3 @@ "boolean",

"fenced-code-language": {
"description": "MD040/fenced-code-language : Fenced code blocks should have a language specified : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md040.md",
"description": "MD040/fenced-code-language : Fenced code blocks should have a language specified : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md040.md",
"type": [

@@ -1161,3 +1161,3 @@ "boolean",

"MD041": {
"description": "MD041/first-line-heading/first-line-h1 : First line in a file should be a top-level heading : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md041.md",
"description": "MD041/first-line-heading/first-line-h1 : First line in a file should be a top-level heading : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md041.md",
"type": [

@@ -1185,3 +1185,3 @@ "boolean",

"first-line-heading": {
"description": "MD041/first-line-heading/first-line-h1 : First line in a file should be a top-level heading : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md041.md",
"description": "MD041/first-line-heading/first-line-h1 : First line in a file should be a top-level heading : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md041.md",
"type": [

@@ -1209,3 +1209,3 @@ "boolean",

"first-line-h1": {
"description": "MD041/first-line-heading/first-line-h1 : First line in a file should be a top-level heading : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md041.md",
"description": "MD041/first-line-heading/first-line-h1 : First line in a file should be a top-level heading : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md041.md",
"type": [

@@ -1233,3 +1233,3 @@ "boolean",

"MD042": {
"description": "MD042/no-empty-links : No empty links : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md042.md",
"description": "MD042/no-empty-links : No empty links : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md042.md",
"type": "boolean",

@@ -1239,3 +1239,3 @@ "default": true

"no-empty-links": {
"description": "MD042/no-empty-links : No empty links : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md042.md",
"description": "MD042/no-empty-links : No empty links : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md042.md",
"type": "boolean",

@@ -1245,3 +1245,3 @@ "default": true

"MD043": {
"description": "MD043/required-headings : Required heading structure : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md043.md",
"description": "MD043/required-headings : Required heading structure : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md043.md",
"type": [

@@ -1271,3 +1271,3 @@ "boolean",

"required-headings": {
"description": "MD043/required-headings : Required heading structure : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md043.md",
"description": "MD043/required-headings : Required heading structure : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md043.md",
"type": [

@@ -1297,3 +1297,3 @@ "boolean",

"MD044": {
"description": "MD044/proper-names : Proper names should have the correct capitalization : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md044.md",
"description": "MD044/proper-names : Proper names should have the correct capitalization : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md044.md",
"type": [

@@ -1327,3 +1327,3 @@ "boolean",

"proper-names": {
"description": "MD044/proper-names : Proper names should have the correct capitalization : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md044.md",
"description": "MD044/proper-names : Proper names should have the correct capitalization : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md044.md",
"type": [

@@ -1357,3 +1357,3 @@ "boolean",

"MD045": {
"description": "MD045/no-alt-text : Images should have alternate text (alt text) : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md045.md",
"description": "MD045/no-alt-text : Images should have alternate text (alt text) : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md045.md",
"type": "boolean",

@@ -1363,3 +1363,3 @@ "default": true

"no-alt-text": {
"description": "MD045/no-alt-text : Images should have alternate text (alt text) : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md045.md",
"description": "MD045/no-alt-text : Images should have alternate text (alt text) : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md045.md",
"type": "boolean",

@@ -1369,3 +1369,3 @@ "default": true

"MD046": {
"description": "MD046/code-block-style : Code block style : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md046.md",
"description": "MD046/code-block-style : Code block style : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md046.md",
"type": [

@@ -1391,3 +1391,3 @@ "boolean",

"code-block-style": {
"description": "MD046/code-block-style : Code block style : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md046.md",
"description": "MD046/code-block-style : Code block style : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md046.md",
"type": [

@@ -1413,3 +1413,3 @@ "boolean",

"MD047": {
"description": "MD047/single-trailing-newline : Files should end with a single newline character : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md047.md",
"description": "MD047/single-trailing-newline : Files should end with a single newline character : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md047.md",
"type": "boolean",

@@ -1419,3 +1419,3 @@ "default": true

"single-trailing-newline": {
"description": "MD047/single-trailing-newline : Files should end with a single newline character : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md047.md",
"description": "MD047/single-trailing-newline : Files should end with a single newline character : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md047.md",
"type": "boolean",

@@ -1425,3 +1425,3 @@ "default": true

"MD048": {
"description": "MD048/code-fence-style : Code fence style : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md048.md",
"description": "MD048/code-fence-style : Code fence style : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md048.md",
"type": [

@@ -1447,3 +1447,3 @@ "boolean",

"code-fence-style": {
"description": "MD048/code-fence-style : Code fence style : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md048.md",
"description": "MD048/code-fence-style : Code fence style : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md048.md",
"type": [

@@ -1469,3 +1469,3 @@ "boolean",

"MD049": {
"description": "MD049/emphasis-style : Emphasis style : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md049.md",
"description": "MD049/emphasis-style : Emphasis style : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md049.md",
"type": [

@@ -1491,3 +1491,3 @@ "boolean",

"emphasis-style": {
"description": "MD049/emphasis-style : Emphasis style : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md049.md",
"description": "MD049/emphasis-style : Emphasis style : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md049.md",
"type": [

@@ -1513,3 +1513,3 @@ "boolean",

"MD050": {
"description": "MD050/strong-style : Strong style : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md050.md",
"description": "MD050/strong-style : Strong style : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md050.md",
"type": [

@@ -1535,3 +1535,3 @@ "boolean",

"strong-style": {
"description": "MD050/strong-style : Strong style : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md050.md",
"description": "MD050/strong-style : Strong style : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md050.md",
"type": [

@@ -1557,3 +1557,3 @@ "boolean",

"MD051": {
"description": "MD051/link-fragments : Link fragments should be valid : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md051.md",
"description": "MD051/link-fragments : Link fragments should be valid : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md051.md",
"type": "boolean",

@@ -1563,3 +1563,3 @@ "default": true

"link-fragments": {
"description": "MD051/link-fragments : Link fragments should be valid : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md051.md",
"description": "MD051/link-fragments : Link fragments should be valid : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md051.md",
"type": "boolean",

@@ -1569,3 +1569,3 @@ "default": true

"MD052": {
"description": "MD052/reference-links-images : Reference links and images should use a label that is defined : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md052.md",
"description": "MD052/reference-links-images : Reference links and images should use a label that is defined : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md052.md",
"type": [

@@ -1586,3 +1586,3 @@ "boolean",

"reference-links-images": {
"description": "MD052/reference-links-images : Reference links and images should use a label that is defined : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md052.md",
"description": "MD052/reference-links-images : Reference links and images should use a label that is defined : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md052.md",
"type": [

@@ -1603,3 +1603,3 @@ "boolean",

"MD053": {
"description": "MD053/link-image-reference-definitions : Link and image reference definitions should be needed : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md053.md",
"description": "MD053/link-image-reference-definitions : Link and image reference definitions should be needed : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md053.md",
"type": [

@@ -1625,3 +1625,3 @@ "boolean",

"link-image-reference-definitions": {
"description": "MD053/link-image-reference-definitions : Link and image reference definitions should be needed : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md053.md",
"description": "MD053/link-image-reference-definitions : Link and image reference definitions should be needed : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md053.md",
"type": [

@@ -1647,3 +1647,3 @@ "boolean",

"MD054": {
"description": "MD054/link-image-style : Link and image style : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md054.md",
"description": "MD054/link-image-style : Link and image style : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md054.md",
"type": [

@@ -1689,3 +1689,3 @@ "boolean",

"link-image-style": {
"description": "MD054/link-image-style : Link and image style : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md054.md",
"description": "MD054/link-image-style : Link and image style : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md054.md",
"type": [

@@ -1731,3 +1731,3 @@ "boolean",

"MD055": {
"description": "MD055/table-pipe-style : Table pipe style : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md055.md",
"description": "MD055/table-pipe-style : Table pipe style : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md055.md",
"type": [

@@ -1755,3 +1755,3 @@ "boolean",

"table-pipe-style": {
"description": "MD055/table-pipe-style : Table pipe style : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md055.md",
"description": "MD055/table-pipe-style : Table pipe style : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md055.md",
"type": [

@@ -1779,3 +1779,3 @@ "boolean",

"MD056": {
"description": "MD056/table-column-count : Table column count : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md056.md",
"description": "MD056/table-column-count : Table column count : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md056.md",
"type": "boolean",

@@ -1785,3 +1785,3 @@ "default": true

"table-column-count": {
"description": "MD056/table-column-count : Table column count : https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md056.md",
"description": "MD056/table-column-count : Table column count : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md056.md",
"type": "boolean",

@@ -1788,0 +1788,0 @@ "default": true

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc