remark-lint/packages/remark-lint-checkbox-character-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-checkbox-character-style

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 and unchecked checkboxes as ``.

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

valid.md

When configured with { checked: 'x' }.

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

No messages.

valid.md

When configured with { checked: 'X' }.

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

No messages.

valid.md

When configured with { unchecked: ' ' }.

In

Note: · represents a space.

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

No messages.

valid.md

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

In

Note: » represents a tab.

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

No messages.

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

When configured with { unchecked: '!' }.

Out
1:1: Invalid unchecked checkbox marker `!`: use either `'\t'`, or `' '`
invalid.md

When configured with { checked: '!' }.

Out
1:1: Invalid checked checkbox marker `!`: use either `'x'`, or `'X'`

Install

npm install remark-lint-checkbox-character-style

Usage

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

License

MIT © Titus Wormer