Markdown linters and formatters
Prettier
- coding/linting.md
- Default Lazyvim markdown formatter
- also formats markdown code
- Plugins
mdformat
- GitHub
- Development stalled, last commit/tag 2023-08
- Supports plugins
- nvim/mason support
- For proper GFM support, don't use Mason until mdformat-gfm gets bundled in Mason
and install the
mdformat
andmdformat-gfm-git
system-wise
- For proper GFM support, don't use Mason until mdformat-gfm gets bundled in Mason
and install the
Install:
sudo pacman -S mdformat
pamac install mdformat-gfm-git
Issues:
- No Options to disable/enable rules
- FR: Configure default language for fenced code blocks
-
mdformat reformats --- to _______, destroying slide seperators
- Installng mdformat-frontmatter will only fix this for the frontmatter, but not for slide seperators
DavidAnson/markdownlint-cli2
- GitHub
- NodeJS, based on the NodeJS DavidAnson/markdownlint library
- David Ansons Blog: Why markdownlint-cli2 ?
- Default linter installed by LayzVim markdown extra
- Configuration
- Doesn't walk up the directory tree to find a config file like
markdownlint-cli
- Doesn't walk up the directory tree to find a config file like
- pre-commit support
Igorshubovych/markdownlint-cli
- GitHub
- NodeJS, based on the NodeJS DavidAnson/markdownlint library
- Configuration
- Config files: markdownlint-cli looks for these files in the
current directory:
.markdownlint.jsonc
.markdownlint.json
.markdownlint.yaml
.markdownlint.yml
- or for the file
.markdownlintrc
in the current or all parent folders
- config format
- Rules
- Config files: markdownlint-cli looks for these files in the
current directory:
- pre-commit support
Other linters / formatters
- markdownlint/markdownlint
- Ruby, last git tag 2023-10
- markdown-toc API and CLI for generating a markdown TOC (table of contents) for a README or any markdown files