Skip to content

Rules

Rule Compatibility Matrix

The following table shows rule availability across mdlint and the Ruby and JavaScript markdownlint implementations. The rule behavior is mostly consistent with that of the markdownlint projects (slight preference to the JavaScript implementation), but may differ slightly over time as the project evolves.

Rule(s) mdlint Ruby markdownlint JS markdownlint Notes
MD001
MD002 Not implemented (use MD041)
MD003–MD005
MD006 Not implemented (use MD007)
MD007
MD008 Not implemented
MD009–MD014
MD015–MD017 Not implemented
MD018–MD041
MD042–MD045
MD046–MD047
MD048–MD056
MD057 Not implemented
MD058–MD060

Available Rules

This is a list of all available rules.

Rule Name Summary
MD001 heading-increment Heading levels should only increment by one level at a time
MD003 heading-style Heading style should be consistent
MD004 ul-style Unordered list style should be consistent
MD005 list-indent List item indentation should be consistent
MD007 ul-indent Unordered list indentation
MD009 no-trailing-spaces No trailing spaces
MD010 no-hard-tabs No hard tabs
MD011 no-reversed-links Reversed link syntax
MD012 no-multiple-blanks No multiple consecutive blank lines
MD013 line-length Line length
MD014 commands-show-output Dollar signs used before commands without showing output
MD018 no-missing-space-atx No space after hash on atx style heading
MD019 no-multiple-space-atx Multiple spaces after hash on ATX style heading
MD020 no-missing-space-closed-atx No space inside hashes on closed ATX style heading
MD021 no-multiple-space-closed-atx Multiple spaces inside hashes on closed ATX style heading
MD022 blanks-around-headings Headings should be surrounded by blank lines
MD023 heading-start-left Headings must start at the beginning of the line
MD024 no-duplicate-heading Headings should have unique content
MD025 single-title Multiple top-level headings in the same document
MD026 no-trailing-punctuation Trailing punctuation in heading
MD027 no-multiple-space-blockquote Multiple spaces after blockquote symbol
MD028 no-blanks-blockquote Blank line inside blockquote
MD029 ol-prefix Ordered list item prefix should be consistent
MD030 list-marker-space Spaces after list markers
MD031 blanks-around-fences Fenced code blocks should be surrounded by blank lines
MD032 blanks-around-lists Lists should be surrounded by blank lines
MD033 no-inline-html Inline HTML
MD034 no-bare-urls Bare URL used
MD035 hr-style Horizontal rule style should be consistent
MD036 no-emphasis-as-heading Emphasis used instead of a heading
MD037 no-space-in-emphasis Spaces inside emphasis markers
MD038 no-space-in-code Spaces inside code span elements
MD039 no-space-in-links Spaces inside link text
MD040 fenced-code-language Fenced code blocks should have a language identifier specified
MD041 first-line-heading First line in a file should be a top-level heading
MD042 no-empty-links No empty links
MD043 required-headings Required heading structure
MD044 proper-names Proper names should have correct capitalization
MD045 no-alt-text Images should have alternate text (alt text)
MD046 code-block-style Code block style should be consistent
MD047 single-trailing-newline Files should end with a single newline character
MD048 code-fence-style Code fence style should be consistent
MD049 emphasis-style Emphasis style should be consistent
MD050 strong-style Strong style should be consistent
MD051 link-fragments Link fragments should be valid
MD052 reference-links-images Reference links and images should use a label that is defined
MD053 link-image-reference-definitions Link and image reference definitions should be needed
MD054 link-image-style Link and image style
MD055 table-pipe-style Table pipe style should be consistent
MD056 table-column-count Table column count should be consistent
MD058 blanks-around-tables Tables should be surrounded by blank lines
MD059 descriptive-link-text Link text should be descriptive
MD060 table-column-style Table column style should be consistent