remark-normalize-headings

remark plugin to make sure there is a single top level heading in a document by adjusting heading ranks accordingly

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
remark-normalize-headings
1104.0.06 months ago8 years agoMinified + gzip package size for remark-normalize-headings in KB

Readme

remark-normalize-headings
!Buildbuild-badgebuild !Coveragecoverage-badgecoverage !Downloadsdownloads-badgedownloads !Sizesize-badgesize !Sponsorssponsors-badgecollective !Backersbackers-badgecollective !Chatchat-badgechat
remark plugin to make sure there is a single top level heading in a document by adjusting heading ranks accordingly.

Contents

*   [`unified().use(remarkNormalizeHeadings)`](#unifieduseremarknormalizeheadings)

What is this?

This package is a unified
(remark) plugin to ensure there is one top level heading in a document.

When should I use this?

This project is useful if you’re dealing with user generated content and want to ensure that there is a single primary heading (usually the title of the document) which everything else falls under.

Install

This package is ESM onlyesm. In Node.js (version 16+), install with npm:
npm install remark-normalize-headings

In Deno with esm.shesmsh:
import remarkNormalizeHeadings from 'https://esm.sh/remark-normalize-headings@4'

In browsers with esm.shesmsh:
<script type="module">
  import remarkNormalizeHeadings from 'https://esm.sh/remark-normalize-headings@4?bundle'
</script>

Use

Say we have the following file example.md:
# Pluto

# History

## Discovery

## Name and symbol

## Planet X disproved

# Orbit

…and a module example.js:
import {remark} from 'remark'
import remarkNormalizeHeadings from 'remark-normalize-headings'
import {read} from 'to-vfile'

const file = await remark()
  .use(remarkNormalizeHeadings)
  .process(await read('example.md'))

console.log(String(file))

…then running node example.js yields:
# Pluto

## History

### Discovery

### Name and symbol

### Planet X disproved

## Orbit

API

This package exports no identifiers. The default export is remarkNormalizeHeadingsapi-remark-normalize-headings.

unified().use(remarkNormalizeHeadings)

Make sure there is a single top level heading in a document by adjusting heading ranks accordingly.
Parameters
There are no parameters.
Returns
Transform (Transformerunified-transformer).

Types

This package is fully typed with TypeScript. It exports no additional types.

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-normalize-headings@^4, compatible with Node.js 16.
This plugin works with unified version 2+ and remark version 3+.

Security

Use of remark-normalize-headings does not involve rehype (hast) or user content so there are no openings for cross-site scripting (XSS)wiki-xss attacks.

Related

— mdast utility with similar functionality

Contribute

See contributing.mdcontributing in remarkjs/.githubhealth for ways to get started. See support.mdsupport for ways to get help.
This project has a code of conductcoc. By interacting with this repository, organization, or community you agree to abide by its terms.

License

MITlicense © Eugene Sharygin