remark-lint/packages/remark-lint-code-block-style
2018-11-22 12:25:55 +01:00
..
index.js Refactor code-style 2018-11-22 12:25:55 +01:00
package.json Move URLs to HTTPS 2018-11-22 12:19:09 +01:00
readme.md Move URLs to HTTPS 2018-11-22 12:19:09 +01:00

remark-lint-code-block-style

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:

Preset Setting
remark-preset-lint-consistent 'consistent'
remark-preset-lint-markdown-style-guide 'fenced'

Example

valid.md

When configured with 'indented'.

In
    alpha();

Paragraph.

    bravo();
Out

No messages.

invalid.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
valid.md

When configured with 'fenced'.

In
```
alpha();
```

Paragraph.

```
bravo();
```
Out

No messages.

invalid.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
invalid.md
In
    alpha();

Paragraph.

```
bravo();
```
Out
5:1-7:4: Code blocks should be indented
invalid.md

When configured with 'invalid'.

Out
1:1: Invalid code block style `invalid`: use either `'consistent'`, `'fenced'`, or `'indented'`

Install

npm install remark-lint-code-block-style

Usage

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));
   });

License

MIT © Titus Wormer