What is remark-lint?
remark-lint is a plugin for remark, a Markdown processor powered by plugins. It provides a framework for analyzing and reporting on Markdown code quality issues, ensuring consistency and adherence to specified style guidelines.
What are remark-lint's main functionalities?
Linting Markdown Files
This feature allows you to lint Markdown files to ensure they adhere to specified style guidelines. The code sample demonstrates how to use remark-lint to process a simple Markdown string and report any issues.
const remark = require('remark');
const lint = require('remark-lint');
remark()
.use(lint)
.process('# Hello world!', function (err, file) {
console.error(report(err || file));
});
Custom Rules
remark-lint supports custom rules, allowing you to enforce specific style guidelines. The code sample shows how to use a custom rule (remark-lint-no-emphasis-as-heading) to lint a Markdown string.
const remark = require('remark');
const lint = require('remark-lint');
const noEmphasisAsHeading = require('remark-lint-no-emphasis-as-heading');
remark()
.use(lint)
.use(noEmphasisAsHeading)
.process('# Hello *world*!', function (err, file) {
console.error(report(err || file));
});
Configurable Presets
remark-lint provides configurable presets that bundle multiple rules together for convenience. The code sample demonstrates how to use the 'remark-preset-lint-recommended' preset to lint a Markdown string.
const remark = require('remark');
const lint = require('remark-lint');
const presetLintRecommended = require('remark-preset-lint-recommended');
remark()
.use(lint)
.use(presetLintRecommended)
.process('# Hello world!', function (err, file) {
console.error(report(err || file));
});
Other packages similar to remark-lint
markdownlint
markdownlint is a Node.js style checker and lint tool for Markdown files. It provides a set of rules to enforce consistent Markdown style and can be customized with configuration files. Compared to remark-lint, markdownlint is more focused on providing a comprehensive set of built-in rules and is often used as a standalone tool.
markdown-it
markdown-it is a Markdown parser that can be extended with plugins to add custom functionality, including linting. While markdown-it is primarily a parser, it can be combined with plugins to achieve similar linting capabilities as remark-lint. However, it is more flexible and less opinionated about style rules.
textlint
textlint is a text linting framework that supports multiple file formats, including Markdown. It allows users to define custom rules and plugins to enforce style guidelines. textlint is more versatile than remark-lint, as it can be used to lint various types of text files, not just Markdown.
remark plugin to lint Markdown code style.
Read more about remark-lint
on the monorepo readme.
This package doesn’t do much other than suppressing messages through
comments.
If you’re using presets, they already include remark-lint
itself.
If you’re using just plugins, you have to include remark-lint
explicitly.
Install
npm:
npm install remark-lint
Use
You probably want to use it on the CLI through a config file:
...
"remarkConfig": {
"plugins": [
...
+ "lint",
...
]
}
...
Or use it on the CLI directly
remark -u lint readme.md
Or use this on the API:
var remark = require('remark');
var report = require('vfile-reporter');
remark()
+ .use(require('remark-lint'))
.process('_Emphasis_ and **importance**', function (err, file) {
console.error(report(err || file));
});
Contribute
See contributing.md
in remarkjs/.github
for ways
to get started.
See support.md
for ways to get help.
This project has a Code of Conduct.
By interacting with this repository, organisation, or community you agree to
abide by its terms.
License
MIT © Titus Wormer