unified

Project: remarkjs/remark-lint

Package: remark-lint-fenced-code-marker@3.1.0

  1. Dependents: 20
  2. remark-lint rule to warn when fenced code markers violate the given style
  1. remark 196
  2. lint 77
  3. rule 72
  4. remark-lint-rule 65
  5. marker 13
  6. code 6
  7. fenced 2

remark-lint-fenced-code-marker

Build Coverage Downloads Size Sponsors Backers Chat

Warn for violating fenced code markers.

Options: '`', '~', or 'consistent', default: 'consistent'.

'consistent' detects the first used fenced code marker style and warns when subsequent fenced code blocks use different styles.

Fix

remark-stringify formats fences using '`' (grave accent) by default. Pass fence: '~' to use ~ (tilde) instead.

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:

PresetSetting
remark-preset-lint-consistent'consistent'
remark-preset-lint-markdown-style-guide'`'

Example

ok.md
In
Indented code blocks are not affected by this rule:

    bravo()
Out

No messages.

not-ok-consistent-tick.md
In
```alpha
bravo()
```

~~~
charlie()
~~~
Out
5:1-7:4: Fenced code should use `` ` `` as a marker
not-ok-consistent-tilde.md
In
~~~alpha
bravo()
~~~

```
charlie()
```
Out
5:1-7:4: Fenced code should use `~` as a marker
ok.md

When configured with '`'.

In
```alpha
bravo()
```

```
charlie()
```
Out

No messages.

ok.md

When configured with '~'.

In
~~~alpha
bravo()
~~~

~~~
charlie()
~~~
Out

No messages.

not-ok-incorrect.md

When configured with '💩'.

Out
1:1: Incorrect fenced code marker `💩`: use either `'consistent'`, `` '`' ``, or `'~'`

Install

This package is ESM only: Node 12+ is needed to use it and it must be importeded instead of requiredd.

npm:

npm install remark-lint-fenced-code-marker

This package exports no identifiers. The default export is remarkLintFencedCodeMarker.

Use

You probably want to use it on the CLI through a config file:

 …
 "remarkConfig": {
   "plugins": [
     …
     "lint",
+    "lint-fenced-code-marker",
     …
   ]
 }
 …

Or use it on the CLI directly

remark -u lint -u lint-fenced-code-marker readme.md

Or use this on the API:

 import {remark} from 'remark'
 import {reporter} from 'vfile-reporter'
 import remarkLint from 'remark-lint'
 import remarkLintFencedCodeMarker from 'remark-lint-fenced-code-marker'

 remark()
   .use(remarkLint)
+  .use(remarkLintFencedCodeMarker)
   .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