unified

Project:remarkjs/remark-lint

Package:remark-lint-link-title-style@1.0.4

  1. Dependencies:5·Dependents:12
  2. remark-lint rule to warn when link and definition titles occur with incorrect quotes
  1. remark 165
  2. lint 70
  3. rule 64
  4. link 13
  5. definition 12
  6. image 11
  7. style 10

remark-lint-link-title-style

Build Coverage Downloads Size Sponsors Backers Chat

Warn when link and definition titles occur with incorrect quotes.

Options: 'consistent', '"', '\'', or '()', default: 'consistent'.

'consistent' detects the first used quote style and warns when subsequent titles use different styles.

Fix

remark-stringify uses ' (single quote) for titles if they contain a double quote, and " (double quotes) otherwise.

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

valid.md

When configured with '"'.

In
[Example](http://example.com#without-title)
[Example](http://example.com "Example Domain")
![Example](http://example.com "Example Domain")

[Example]: http://example.com "Example Domain"

You can use parens in URLs if they’re not a title (see GH-166):

[Example](#Heading-(optional))
Out

No messages.

invalid.md

When configured with '"'.

In
[Example]: http://example.com 'Example Domain'
Out
1:31-1:47: Titles should use `"` as a quote
valid.md

When configured with "'".

In
[Example](http://example.com#without-title)
[Example](http://example.com 'Example Domain')
![Example](http://example.com 'Example Domain')

[Example]: http://example.com 'Example Domain'
Out

No messages.

invalid.md

When configured with "'".

In
[Example]: http://example.com "Example Domain"
Out
1:31-1:47: Titles should use `'` as a quote
valid.md

When configured with '()'.

In
[Example](http://example.com#without-title)
[Example](http://example.com (Example Domain))
![Example](http://example.com (Example Domain))

[Example]: http://example.com (Example Domain)
Out

No messages.

invalid.md

When configured with '()'.

In
[Example](http://example.com 'Example Domain')
Out
1:30-1:46: Titles should use `()` as a quote
invalid.md
In
[Example](http://example.com "Example Domain")
[Example](http://example.com 'Example Domain')
Out
2:30-2:46: Titles should use `"` as a quote
invalid.md

When configured with '.'.

Out
1:1: Invalid link title style marker `.`: use either `'consistent'`, `'"'`, `'\''`, or `'()'`

Install

npm:

npm install remark-lint-link-title-style

Use

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

 ...
 "remarkConfig": {
   "plugins": [
     ...
     "lint",
+    "lint-link-title-style",
     ...
   ]
 }
 ...

Or use it on the CLI directly

remark -u lint -u lint-link-title-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-link-title-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, organisation, or community you agree to abide by its terms.

License

MIT © Titus Wormer