remark-lint-no-heading-indent
!Buildbadge-build-imagebadge-build-url
!Coveragebadge-coverage-imagebadge-coverage-url
!Downloadsbadge-downloads-imagebadge-downloads-url
!Sizebadge-size-imagebadge-size-url
!Sponsorsbadge-funding-sponsors-imagebadge-funding-url
!Backersbadge-funding-backers-imagebadge-funding-url
!Chatbadge-chat-imagebadge-chat-urlremark-lint
github-remark-lint rule to warn when headings are indented.Contents
unified().use(remarkLintNoHeadingIndent)
What is this?
This package checks the spaces before headings.When should I use this?
You can use this rule to check markdown code style.Presets
This plugin is not included in presets maintained here.Install
This package is ESM onlygithub-gist-esm. In Node.js (version 16+), install with npmnpm-install:npm install remark-lint-no-heading-indent
In Deno with
esm.sh
esm-sh:import remarkLintNoHeadingIndent from 'https://esm.sh/remark-lint-no-heading-indent@5'
In browsers with
esm.sh
esm-sh:<script type="module">
import remarkLintNoHeadingIndent from 'https://esm.sh/remark-lint-no-heading-indent@5?bundle'
</script>
Use
On the API:import remarkLint from 'remark-lint'
import remarkLintNoHeadingIndent from 'remark-lint-no-heading-indent'
import remarkParse from 'remark-parse'
import remarkStringify from 'remark-stringify'
import {read} from 'to-vfile'
import {unified} from 'unified'
import {reporter} from 'vfile-reporter'
const file = await read('example.md')
await unified()
.use(remarkParse)
.use(remarkLint)
.use(remarkLintNoHeadingIndent)
.use(remarkStringify)
.process(file)
console.error(reporter(file))
On the CLI:
remark --frail --use remark-lint --use remark-lint-no-heading-indent .
On the CLI in a config file (here a
package.json
):…
"remarkConfig": {
"plugins": [
…
"remark-lint",
+ "remark-lint-no-heading-indent",
…
]
}
…
API
This package exports no identifiers. It exports no additional TypeScripttypescript types. The default export isremarkLintNoHeadingIndent
api-remark-lint-no-heading-indent.unified().use(remarkLintNoHeadingIndent)
Warn when headings are indented.Parameters
There are no options.Returns
Transform (Transformer
from unified
github-unified-transformer).Recommendation
There is no specific handling of indented headings (or anything else) in markdown. While it is possible to use an indent to headings on their text:# Mercury
## Venus
### Earth
#### Mars
…such style is uncommon, a bit hard to maintain, and it’s impossible to add a heading with a rank of 5 as it would form indented code instead. So it’s recommended to not indent headings and to turn this rule on.
Fix
remark-stringify
github-remark-stringify formats headings without indent.Examples
ok.md
In
#␠Mercury
Venus
-----
#␠Earth␠#
Mars
====
Out
No messages.not-ok.md
In
␠␠␠# Mercury
␠Venus
------
␠# Earth #
␠␠␠Mars
======
Out
1:4: Unexpected `3` spaces before heading, expected `0` spaces, remove `3` spaces
3:2: Unexpected `1` space before heading, expected `0` spaces, remove `1` space
6:2: Unexpected `1` space before heading, expected `0` spaces, remove `1` space
8:4: Unexpected `3` spaces before heading, expected `0` spaces, remove `3` spaces
Compatibility
Projects maintained by the unified collective are compatible with maintained versions of Node.js.When we cut a new major release, we drop support for unmaintained versions of Node. This means we try to keep the current release line,
remark-lint-no-heading-indent@5
,
compatible with Node.js 16.Contribute
Seecontributing.md
github-dotfiles-contributing in remarkjs/.github
github-dotfiles-health for ways
to get started.
See support.md
github-dotfiles-support for ways to get help.This project has a code of conductgithub-dotfiles-coc. By interacting with this repository, organization, or community you agree to abide by its terms.