remark-lint-definition-spacing

remark-lint rule to warn when consecutive whitespace is used in a definition

Usage no npm install needed!

<script type="module">
  import remarkLintDefinitionSpacing from 'https://cdn.skypack.dev/remark-lint-definition-spacing';
</script>

README

remark-lint-definition-spacing

Build Coverage Downloads Size Sponsors Backers Chat

remark-lint rule to warn when consecutive whitespace is used in a definition label.

Contents

What is this?

This package is a unified (remark) plugin, specifically a remark-lint rule. Lint rules check markdown code style.

When should I use this?

You can use this package to check that the labels used in definitions do not use meaningless white space.

Presets

This rule is included in the following presets:

| Preset | Setting | | - | - | | remark-preset-lint-markdown-style-guide | |

Install

This package is ESM only. In Node.js (version 12.20+, 14.14+, or 16.0+), install with npm:

npm install remark-lint-definition-spacing

In Deno with Skypack:

import remarkLintDefinitionSpacing from 'https://cdn.skypack.dev/remark-lint-definition-spacing@3?dts'

In browsers with Skypack:

<script type="module">
  import remarkLintDefinitionSpacing from 'https://cdn.skypack.dev/remark-lint-definition-spacing@3?min'
</script>

Use

On the API:

import {read} from 'to-vfile'
import {reporter} from 'vfile-reporter'
import {remark} from 'remark'
import remarkLint from 'remark-lint'
import remarkLintDefinitionSpacing from 'remark-lint-definition-spacing'

main()

async function main() {
  const file = await remark()
    .use(remarkLint)
    .use(remarkLintDefinitionSpacing)
    .process(await read('example.md'))

  console.error(reporter(file))
}

On the CLI:

remark --use remark-lint --use remark-lint-definition-spacing example.md

On the CLI in a config file (here a package.json):

 …
 "remarkConfig": {
   "plugins": [
     …
     "remark-lint",
+    "remark-lint-definition-spacing",
     …
   ]
 }
 …

API

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

unified().use(remarkLintDefinitionSpacing[, config])

This rule supports standard configuration that all remark lint rules accept (such as false to turn it off or [1, options] to configure it).

There are no options.

Recommendation

Definitions and references are matched together by collapsing white space. Using more white space in labels might incorrectly indicate that they are of importance. Due to this, it’s recommended to use one space (or a line ending if needed) and turn this rule on.

Examples

ok.md
In
[example domain]: http://example.com "Example Domain"
Out

No messages.

not-ok.md
In

👉 Note: · represents a space.

[example····domain]: http://example.com "Example Domain"
Out
1:1-1:57: Do not use consecutive whitespace in definition labels

Compatibility

Projects maintained by the unified collective are compatible with all maintained versions of Node.js. As of now, that is Node.js 12.20+, 14.14+, and 16.0+. Our projects sometimes work with older versions, but this is not guaranteed.

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