MARKDOWNLINT(1)
π MARKDOWNLINT(1) β the mdl manual, bestie edition π
okay so this is markdownlint, and it lives in the General Commands Manual, section 1. yes she's a real one. sit down, grab ur matcha, we're doing this π
β¨ NAME β¨
markdownlint β the Markdown lint tool. she checks ur markdown so u don't have to. π
β¨ SYNOPSIS β¨
mdl [ options ] [FILE.md|DIR ...]
that's it. that's the whole vibe. options, then a file, then a directory, then more stuff, whatever u want, she's flexible π¦
β¨ DESCRIPTION β¨
so markdownlint looks at one markdown file, or a whole directory of markdown files, and checks them against a set of rules for syntax consistency. iconic behaviour honestly.
and the Ruby-based implementation, when it reports back to the CLI? she tells u the line(s) with an issue she found, and how to improve it. not me being helpful and communicative ππ
β¨ OPTIONS β¨
-c,--configFILE β the configuration file to use. point her at it.-g,--git-recurseβ only process files known to git when u hand her a directory. git girls only, no cap.-i,--[no]-ignore-front-matterβ ignore YAML front matter. yes bestie, the--[no]-is literally written like that, she contains multitudes.-j,--jsonβ JSON output. machine-readable slay.-l,--list-rulesβ don't process ANY files, just list the enabled rules. pure vibes, no work.-r,--rulesRULE1,RULE2 β only process these rules. comma-separated, periodt.-u,--rulesetsRULESET1,RULESET2 β specify additional ruleset files to load. more rulesets, more power.-S,--sarifβ SARIF output. fancy acronym, she ate.-a,--[no]show-aliasesβ show rule aliases instead of the rule ID when viewing rules.-w,--[no]warningsβ show kramdown warnings.-d,--skip-default-rulesetβ don't load the default markdownlint ruleset. going rogue, love that for her.-s,--styleSTYLE β load the given style.-t,--tagsTAG1,TAG2 β only process rules with these tags.-v,--[no-]verboseβ increase verbosity. she will yap (affectionately). (the--[no-]verbosespelling is hers, not mine, don't @ me)-h,--helpβ show this message.-V,--versionβ show version.
β¨ EXAMPLES β¨
Equally visit folders docs and example of the GitHub repository. π
πΈ use rules by a flag
List the objectives of rules MD012, MD022, MD031 and MD032:
mdl -r MD012,MD022,MD031,MD032 -l
Scrutinize file example.md only by rules MD012, MD022, MD031 and MD032:
mdl -r MD012,MD022,MD031,MD032 example.md
Scrutinize file example.md by all rules available except MD033 and MD034:
mdl -r ~MD033,~MD034 example.md
List all rules associated to the tag indentation:
mdl -t indentation -l
Scrutinize file example.md by all rules without tag indentation:
mdl -t ~indentation example.md
By default, markdownlint reports sort the issues by their rule. With GNU coreutils, your shell may resort the output by the corresponding line number of the file:
mdl example.md | sort -t ":" -k 2 -n
πΈ use rules by a local style file
Recurrent (personalized) check criteria can be saved as a style file, for instance mystyle.rb. The snippet below illustrates the syntax available. Instead of pairs of single quotes, pairs of double quotes may be used, too.
all # initiate with all rules implemented
rule 'MD013', :line_length => 100, :ignore_code_blocks => true
exclude_rule 'MD014'
# tag :blockquote
exclude_tag :indentation
List the rules a local style file activates:
mdl -s mystyle.rb -l
A personalized local style then is used by
mdl -s mystyle.rb example.md
Local flags are of higher priority than a local style file. Therefore, the next command removes rule MD013 from consideration, regardless of any definition about said rule in mystyle.rb:
mdl -s mystyle.rb -r ~MD013 example.md
πΈ use rules by a global style file
To deploy a markdownlint style all across your computer, set up a style file (e.g., mystyle.rb). Second, add a .mdlrc file to your home directory to indicate the location of said style file by
style "#{File.dirname(__FILE__)}/{your_markdown_rule_file_path}.rb"
Subsequently, a call by
mdl example.md
then applies the global style set. In similar logic as above, a local style file overrules definitions of a global style, i.e.
mdl example.md -s local_style.rb
πΈ use rules for a project with continuous integration
The setup of a markdownlint style per project equally consists of two files. As an example, define .exclude_example.rb with
# First, include all rules:
all
# Then, exclude MD013 (long lines), with:
exclude_rule 'MD013'
as a style file, and a .mdlrc as indicator of its location with
#The custom style file is referenced by .mdlrc as below
style ".exclude_example.rb"
at the current root. Again, a call like
mdl example.md
then applies the rules defined.
β¨ AUTHOR β¨
the girlies (and guys, and everyone) who built her π β here's the full squad, no one left out, fr fr:
Mark Harrison, Ciro Santilli, Making GitHub Delicious., Brandon High, Matt Jankowski, David Anson, Tobias Bengfort, Loic Nageleisen, Will Fleming, Jean-Christophe GAY, sudodoki, David RodrΓguez, Garth Braithwaite, garthdb, Alexander KΓΆplinger, Simon Symeonidis, psyomn, Jakub Wilk, Eitan Adler, Phil Dibowitz, David Somers-Harris, copperwalls, John Trammell, Waylan Limberg, Ash, Paul B, Andrew Janke, Adam Strickland, Naomi Reeves, Olle Jonsson, Lauritz HilsΓΈe, Roman Kolesnev, Alex Harvey, Tim Smith, tsuburin, Mikael Kjaer, Caleb Buxton, Mark E. Schill, Waldir Pimenta, Jose Angel Pardillo Vela, androidseb, jtcarnes, Gene Gotimer, Sami Ahmed Siddiqui, Karol Babioch, Eric Knibbe, Alexander Jaust, orviz, Lennart Jern, Benjamin Quorning, Ting Chen, Kai, adamroyjones, Bengt LΓΌers, JP Hastings-Spital, nbehrnd, iafelix, ColemanTom, Levente Polyak, Gunes Bayir, Mathieu Rul, Markus Lehtonen, Matthias Thym, Benjamin Bannier, AJRepo, Ulysses Zhan, Lucas Ventura.
β¨ LICENSE β¨
MIT β go wild, just don't be weird about it π«Ά
β¨ REPORTING BUGS β¨
found a bug? got an improvement? take it to the project page, bestie:
https://github.com/markdownlint/markdownlint
that's where the reporting bugs and suggesting improvements happens. don't suffer in silence π
β¨ VERSION β¨
This is about markdownlint version 0.17.0 (June 13, 2026). fresh out the box β¨
ok that's the whole page, u made it to the end, main character energy fr π π
this was the markdownlint manual, General Commands Manual, section 1 β dated June 4, 2026 (and she's running markdownlint version 0.17.0, June 13, 2026, in case u skipped that part, which, valid). k bye bestie ππ¦πΈ
π¦ where this page comes from
- ubuntu stonking: markdownlint 0.17.0-2
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms