remark-lint rule to warn when list item bullets are indented
npm install remark-lint-list-item-bullet-indent[![Build][badge-build-image]][badge-build-url]
[![Coverage][badge-coverage-image]][badge-coverage-url]
[![Downloads][badge-downloads-image]][badge-downloads-url]
[![Size][badge-size-image]][badge-size-url]
[![Sponsors][badge-funding-sponsors-image]][badge-funding-url]
[![Backers][badge-funding-backers-image]][badge-funding-url]
[![Chat][badge-chat-image]][badge-chat-url]
[remark-lint][github-remark-lint] rule to warn when list item markers are indented.
* What is this?
* When should I use this?
* Presets
* Install
* Use
* API
* unified().use(remarkLintListItemBulletIndent)
* Recommendation
* Fix
* Examples
* Compatibility
* Contribute
* License
This package checks indentation before list item markers.
You can use this package to check that the style of list items is
consistent.
This plugin is included in the following presets:
| Preset | Options |
| - | - |
| remark-preset-lint-recommended | |
This package is [ESM only][github-gist-esm].
In Node.js (version 16+),
install with [npm][npm-install]:
``sh`
npm install remark-lint-list-item-bullet-indent
In Deno with [esm.sh][esm-sh]:
`js`
import remarkLintListItemBulletIndent from 'https://esm.sh/remark-lint-list-item-bullet-indent@5'
In browsers with [esm.sh][esm-sh]:
`html`
On the API:
`js
import remarkLint from 'remark-lint'
import remarkLintListItemBulletIndent from 'remark-lint-list-item-bullet-indent'
import remarkParse from 'remark-parse'
import remarkStringify from 'remark-stringify'
import {read} from 'to-vfile'
import {unified} from 'unified'
import {reporter} from 'vfile-reporter'
const file = await read('example.md')
await unified()
.use(remarkParse)
.use(remarkLint)
.use(remarkLintListItemBulletIndent)
.use(remarkStringify)
.process(file)
console.error(reporter(file))
`
On the CLI:
`sh`
remark --frail --use remark-lint --use remark-lint-list-item-bullet-indent .
On the CLI in a config file (here a package.json):
`diff`
…
"remarkConfig": {
"plugins": [
…
"remark-lint",
+ "remark-lint-list-item-bullet-indent",
…
]
}
…
This package exports no identifiers.
It exports no additional [TypeScript][typescript] types.
The default export is
[remarkLintListItemBulletIndent][api-remark-lint-list-item-bullet-indent].
Warn when list item markers are indented.
###### Parameters
There are no options.
###### Returns
Transform ([Transformer from unified][github-unified-transformer]).
There is no specific handling of indented list items in markdown.
While it is possible to use an indent to align ordered lists on their marker:
`markdown`
1. Mercury
10. Venus
100. Earth
…such a style is uncommon and hard to maintain as adding a 10th item
means 9 other items have to change (more arduous while unlikely would be
the 100th item).
So it is recommended to not indent items and to turn this rule on.
[remark-stringify][github-remark-stringify] formats all items without
indent.
##### ok.md
###### In
`markdown
Mercury.
* Venus.
* Earth.
`
###### Out
No messages.
##### not-ok.md
###### In
`markdown
Mercury.
␠* Venus.
␠* Earth.
`
###### Out
`text1
3:2: Unexpected space before list item, expected 0 spaces, remove them1
4:2: Unexpected space before list item, expected 0 spaces, remove them`
Projects maintained by the unified collective are compatible with maintained
versions of Node.js.
When we cut a new major release, we drop support for unmaintained versions of
Node.
This means we try to keep the current release line,
remark-lint-list-item-bullet-indent@5,
compatible with Node.js 16.
See [contributing.md][github-dotfiles-contributing] in [remarkjs/.github][github-dotfiles-health] for wayssupport.md`][github-dotfiles-support] for ways to get help.
to get started.
See [
This project has a [code of conduct][github-dotfiles-coc].
By interacting with this repository, organization, or community you agree to
abide by its terms.
[MIT][file-license] © [Titus Wormer][author]
[api-remark-lint-list-item-bullet-indent]: #unifieduseremarklintlistitembulletindent
[author]: https://wooorm.com
[badge-build-image]: https://github.com/remarkjs/remark-lint/workflows/main/badge.svg
[badge-build-url]: https://github.com/remarkjs/remark-lint/actions
[badge-chat-image]: https://img.shields.io/badge/chat-discussions-success.svg
[badge-chat-url]: https://github.com/remarkjs/remark/discussions
[badge-coverage-image]: https://img.shields.io/codecov/c/github/remarkjs/remark-lint.svg
[badge-coverage-url]: https://codecov.io/github/remarkjs/remark-lint
[badge-downloads-image]: https://img.shields.io/npm/dm/remark-lint-list-item-bullet-indent.svg
[badge-downloads-url]: https://www.npmjs.com/package/remark-lint-list-item-bullet-indent
[badge-funding-backers-image]: https://opencollective.com/unified/backers/badge.svg
[badge-funding-sponsors-image]: https://opencollective.com/unified/sponsors/badge.svg
[badge-funding-url]: https://opencollective.com/unified
[badge-size-image]: https://img.shields.io/bundlejs/size/remark-lint-list-item-bullet-indent
[badge-size-url]: https://bundlejs.com/?q=remark-lint-list-item-bullet-indent
[esm-sh]: https://esm.sh
[file-license]: https://github.com/remarkjs/remark-lint/blob/main/license
[github-dotfiles-coc]: https://github.com/remarkjs/.github/blob/main/code-of-conduct.md
[github-dotfiles-contributing]: https://github.com/remarkjs/.github/blob/main/contributing.md
[github-dotfiles-health]: https://github.com/remarkjs/.github
[github-dotfiles-support]: https://github.com/remarkjs/.github/blob/main/support.md
[github-gist-esm]: https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c
[github-remark-lint]: https://github.com/remarkjs/remark-lint
[github-remark-stringify]: https://github.com/remarkjs/remark/tree/main/packages/remark-stringify
[github-unified-transformer]: https://github.com/unifiedjs/unified#transformer
[npm-install]: https://docs.npmjs.com/cli/install
[typescript]: https://www.typescriptlang.org