remark-lint/packages/remark-lint-checkbox-character-style
Titus Wormer f16e064e2e
7.0.0
2020-03-30 15:08:45 +02:00
..
index.js Refactor code 2020-03-24 14:47:16 +01:00
package.json 7.0.0 2020-03-30 15:08:45 +02:00
readme.md Update dev-dependencies 2020-03-30 14:11:23 +02:00

remark-lint-checkbox-character-style

Build Coverage Downloads Size Sponsors Backers Chat

Warn when list item checkboxes violate a given style.

Options: Object or 'consistent', default: 'consistent'.

'consistent' detects the first used checked and unchecked checkbox styles and warns when subsequent checkboxes use different styles.

Styles can also be passed in like so:

{checked: 'x', unchecked: ' '}

Fix

remark-stringify formats checked checkboxes using x (lowercase X) and unchecked checkboxes as · (a single space).

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'

Example

ok.md

When configured with { checked: 'x' }.

In
- [x] List item
- [x] List item
Out

No messages.

ok.md

When configured with { checked: 'X' }.

In
- [X] List item
- [X] List item
Out

No messages.

ok.md

When configured with { unchecked: ' ' }.

In

Note: · represents a space.

- [ ] List item
- [ ] List item
- [ ]··
- [ ]
Out

No messages.

ok.md

When configured with { unchecked: '\t' }.

In

Note: » represents a tab.

- [»] List item
- [»] List item
Out

No messages.

not-ok.md
In

Note: » represents a tab.

- [x] List item
- [X] List item
- [ ] List item
- [»] List item
Out
2:4-2:5: Checked checkboxes should use `x` as a marker
4:4-4:5: Unchecked checkboxes should use ` ` as a marker
not-ok.md

When configured with { unchecked: '💩' }.

Out
1:1: Incorrect unchecked checkbox marker `💩`: use either `'\t'`, or `' '`
not-ok.md

When configured with { checked: '💩' }.

Out
1:1: Incorrect checked checkbox marker `💩`: use either `'x'`, or `'X'`

Install

npm:

npm install remark-lint-checkbox-character-style

Use

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

 …
 "remarkConfig": {
   "plugins": [
     …
     "lint",
+    "lint-checkbox-character-style",
     …
   ]
 }
 …

Or use it on the CLI directly

remark -u lint -u lint-checkbox-character-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-checkbox-character-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