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:12: Code blocks should be fenced
5:1-5:12: 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
This package is ESM only:
Node 12+ is needed to use it and it must be imported
ed instead of required
d.
npm:
npm install remark-lint-code-block-style
This package exports no identifiers.
The default export is remarkLintCodeBlockStyle
.
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:
import {remark} from 'remark'
import {reporter} from 'vfile-reporter'
import remarkLint from 'remark-lint'
import remarkLintCodeBlockStyle from 'remark-lint-code-block-style'
remark()
.use(remarkLint)
+ .use(remarkLintCodeBlockStyle)
.process('_Emphasis_ and **importance**')
.then((file) => {
console.error(reporter(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