JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 75205
  • Score
    100M100P100Q178649F
  • License MIT

remark preset to configure remark-lint with rules that enforce the markdown style guide

Package Exports

  • remark-preset-lint-markdown-style-guide

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (remark-preset-lint-markdown-style-guide) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

remark-preset-lint-markdown-style-guide

remark preset to configure remark-lint with settings that the Markdown Style Guide.

This uses the following Style Guide option system: wrap:space, header:atx, list-marker:hyphen, list-space:mixed, and code:fenced.

space-sentence

Both space-sentence:1 and space-sentence:2 are not supported by remark-lint. You could set-up remark-retext with retext-sentence-spacing to check this though.

wrap

wrap:inner-sentence and wrap:sentence are not supported by remark-lint.

The default is wrap:space. To use wrap:no, turn off remark-lint-maximum-line-length like so:

 "plugins": [
   ...
   "preset-lint-markdown-style-guide",
+  ["lint-maximum-line-length", false]
   ...
 ]

The default is header:atx. To use header:setext, change the setting for remark-lint-heading-style like so:

 "plugins": [
   ...
   "preset-lint-markdown-style-guide",
+  ["lint-heading-style", "setext"]
   ...
 ]
list-marker

The default is list-marker:hyphen. For list-marker:asterisk or list-marker:plus, change the setting for remark-lint-unordered-list-marker-style like so:

 "plugins": [
   ...
   "preset-lint-markdown-style-guide",
+  ["lint-unordered-list-marker-style", "*"]
   ...
 ]
list-space

The default is list-space:mixed. For list-space:1, change the setting for remark-lint-list-item-indent like so:

 "plugins": [
   ...
   "preset-lint-markdown-style-guide",
+  ["lint-list-item-indent", "space"]
   ...
 ]
code

The default is code:fenced. For code:indented, change the setting for remark-lint-code-block-style like so:

 "plugins": [
   ...
   "preset-lint-markdown-style-guide",
+  ["lint-code-block-style", "indented"]
   ...
 ]

Rules

This preset configures remark-lint with the following rules:

Rule Setting
file-extension 'md'
no-file-name-mixed-case
no-file-name-articles
no-file-name-irregular-characters
no-file-name-consecutive-dashes
no-file-name-outer-dashes
no-consecutive-blank-lines
maximum-line-length 80
no-shell-dollars
hard-break-spaces
heading-style 'atx'
heading-increment
no-duplicate-headings
no-multiple-toplevel-headings
maximum-heading-length
no-heading-punctuation ':.'
blockquote-indentation 2
no-blockquote-without-marker
unordered-list-marker-style '-'
ordered-list-marker-style '.'
ordered-list-marker-value 'one'
list-item-indent 'mixed'
list-item-content-indent
list-item-spacing
code-block-style 'fenced'
fenced-code-flag {allowEmpty: false}
fenced-code-marker '`'
rule-style '---'
no-table-indentation
table-pipes
table-pipe-alignment
table-cell-padding 'padded'
no-inline-padding
no-shortcut-reference-image
no-shortcut-reference-link
final-definition
definition-case
definition-spacing
link-title-style '"'
strong-marker '*'
emphasis-marker '*'
no-emphasis-as-heading
no-literal-urls
no-auto-link-without-protocol

Install

npm:

npm install remark-preset-lint-markdown-style-guide

Usage

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

 ...
 "remarkConfig": {
+  "plugins": ["preset-lint-markdown-style-guide"]
 }
 ...

Or use it on the CLI directly

remark -u preset-lint-markdown-style-guide readme.md

Or use this on the API:

 var remark = require('remark');
 var report = require('vfile-reporter');

 remark()
+  .use(require('remark-preset-lint-markdown-style-guide'))
   .process('_Emphasis_ and **importance**', function (err, file) {
     console.error(report(err || file));
   });

License

MIT © Titus Wormer