remark-lint/packages/remark-lint-link-title-style
2018-05-21 20:36:49 +02:00
..
index.js link-title-style: fix false-positives on parens 2018-05-21 20:36:49 +02:00
package.json Migrate to remarkjs 2017-12-08 15:39:26 +01:00
readme.md link-title-style: fix false-positives on parens 2018-05-21 20:36:49 +02:00

remark-lint-link-title-style

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 quotes 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:

Preset Setting
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 theyre 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 install remark-lint-link-title-style

Usage

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

License

MIT © Titus Wormer