Now Playing Mario

    remark-preset-lint-markdown-style-guide
    TypeScript icon, indicating that this package has built-in type declarations

    5.1.2 • Public • Published

    remark-preset-lint-markdown-style-guide

    Build Coverage Downloads Size Sponsors Backers Chat

    Preset of remark-lint rules that follow an opinionated style guide.

    Contents

    What is this?

    This package is a unified (remark) preset, specifically consisting of remark-lint rules. Lint rules check markdown code style.

    When should I use this?

    You can use this package to check that markdown follows 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 as they relate to prose rather than markdown syntax. You could set-up remark-retext with retext-sentence-spacing to check this.

    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": [
       …
       "remark-preset-lint-markdown-style-guide",
    +  ["remark-lint-maximum-line-length", false],
       …
     ]
    header

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

     "plugins": [
       …
       "remark-preset-lint-markdown-style-guide",
    +  ["remark-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": [
       …
       "remark-preset-lint-markdown-style-guide",
    +  ["remark-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": [
       …
       "remark-preset-lint-markdown-style-guide",
    +  ["remark-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": [
       …
       "remark-preset-lint-markdown-style-guide",
    +  ["remark-lint-code-block-style", "indented"],
       …
     ]

    Rules

    This preset configures remark-lint with the following rules:

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

    Install

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

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

    In Deno with Skypack:

    import remarkPresetLintMarkdownStyleGuide from 'https://cdn.skypack.dev/remark-preset-lint-markdown-style-guide@5?dts'

    In browsers with Skypack:

    <script type="module">
      import remarkPresetLintMarkdownStyleGuide from 'https://cdn.skypack.dev/remark-preset-lint-markdown-style-guide@5?min'
    </script>

    Use

    On the API:

    import {read} from 'to-vfile'
    import {reporter} from 'vfile-reporter'
    import {remark} from 'remark'
    import remarkPresetLintMarkdownStyleGuide from 'remark-preset-lint-markdown-style-guide'
    
    main()
    
    async function main() {
      const file = await remark()
        .use(remarkPresetLintMarkdownStyleGuide)
        .process(await read('example.md'))
    
      console.error(reporter(file))
    }

    On the CLI:

    remark --use remark-preset-lint-markdown-style-guide example.md

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

     …
     "remarkConfig": {
       "plugins": [
         …
    +    "remark-preset-lint-markdown-style-guide",
         …
       ]
     }
     …

    API

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

    unified().use(remarkPresetLintMarkdownStyleGuide)

    Use the preset. Presets don’t have options. You can reconfigure rules in them by using the afterwards with different options.

    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

    Install

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

    DownloadsWeekly Downloads

    30,546

    Version

    5.1.2

    License

    MIT

    Unpacked Size

    27.6 kB

    Total Files

    4

    Last publish

    Collaborators

    • johno
    • wooorm