Warn when code blocks do not adhere to a given style.
Options: 'consistent'
, 'fenced'
, or 'indented'
, default: 'consistent'
.
'consistent'
detects the first used code block style and warns when
subsequent code blocks uses different styles.
Fix
remark-stringify
formats code blocks using a fence if they have a language flag and
indentation if not.
Pass
fences: true
to always use fences for code blocks.
See Using remark to fix your Markdown
on how to automatically fix warnings for this rule.
Presets
This rule is included in the following presets:
Example
ok.md
When configured with 'indented'
.
In
alpha();
Paragraph.
bravo();
Out
No messages.
not-ok.md
When configured with 'indented'
.
In
```
alpha();
```
Paragraph.
```
bravo();
```
Out
1:1-3:4: Code blocks should be indented
7:1-9:4: Code blocks should be indented
ok.md
When configured with 'fenced'
.
In
```
alpha();
```
Paragraph.
```
bravo();
```
Out
No messages.
not-ok-fenced.md
When configured with 'fenced'
.
In
alpha();
Paragraph.
bravo();
Out
1:1-1:13: Code blocks should be fenced
5:1-5:13: Code blocks should be fenced
not-ok-consistent.md
In
alpha();
Paragraph.
```
bravo();
```
Out
5:1-7:4: Code blocks should be indented
not-ok-incorrect.md
When configured with '💩'
.
Out
1:1: Incorrect code block style `💩`: use either `'consistent'`, `'fenced'`, or `'indented'`
Install
npm:
npm install remark-lint-code-block-style
Use
You probably want to use it on the CLI through a config file:
…
"remarkConfig": {
"plugins": [
…
"lint",
+ "lint-code-block-style",
…
]
}
…
Or use it on the CLI directly
remark -u lint -u lint-code-block-style readme.md
Or use this on the API:
var remark = require('remark')
var report = require('vfile-reporter')
remark()
.use(require('remark-lint'))
+ .use(require('remark-lint-code-block-style'))
.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, organization, or community you agree to
abide by its terms.
License
MIT © Titus Wormer