Warn when the first heading has a level other than a specified value.
Options: number
, default: 1
.
Presets
This rule is not included in any default preset
Example
ok.md
When configured with 2
.
In
## Delta
Paragraph.
Out
No messages.
ok-html.md
When configured with 2
.
In
<h2>Echo</h2>
Paragraph.
Out
No messages.
not-ok.md
When configured with 2
.
In
# Foxtrot
Paragraph.
Out
1:1-1:10: First heading level should be `2`
not-ok-html.md
When configured with 2
.
In
<h1>Golf</h1>
Paragraph.
Out
1:1-1:14: First heading level should be `2`
ok.md
In
# The default is to expect a level one heading
Out
No messages.
ok-html.md
In
<h1>An HTML heading is also seen by this rule.</h1>
Out
No messages.
ok-delayed.md
In
You can use markdown content before the heading.
<div>Or non-heading HTML</div>
<h1>So the first heading, be it HTML or markdown, is checked</h1>
Out
No messages.
not-ok.md
In
## Bravo
Paragraph.
Out
1:1-1:9: First heading level should be `1`
not-ok-html.md
In
<h2>Charlie</h2>
Paragraph.
Out
1:1-1:17: First heading level should be `1`
Install
This package is ESM only:
Node 12+ is needed to use it and it must be imported
ed instead of required
d.
npm:
npm install remark-lint-first-heading-level
This package exports no identifiers.
The default export is remarkLintFirstHeadingLevel
.
Use
You probably want to use it on the CLI through a config file:
…
"remarkConfig": {
"plugins": [
…
"lint",
+ "lint-first-heading-level",
…
]
}
…
Or use it on the CLI directly
remark -u lint -u lint-first-heading-level readme.md
Or use this on the API:
import {remark} from 'remark'
import {reporter} from 'vfile-reporter'
import remarkLint from 'remark-lint'
import remarkLintFirstHeadingLevel from 'remark-lint-first-heading-level'
remark()
.use(remarkLint)
+ .use(remarkLintFirstHeadingLevel)
.process('_Emphasis_ and **importance**')
.then((file) => {
console.error(reporter(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, organization, or community you agree to
abide by its terms.
License
MIT © Titus Wormer