Skip to content

utility to get the rank (or depth, level) of headings

License

Notifications You must be signed in to change notification settings

syntax-tree/hast-util-heading-rank

Repository files navigation

hast-util-heading-rank

Build Coverage Downloads Size Sponsors Backers Chat

hast utility to get the rank (also known as depth or level) of headings.

Contents

What is this?

This package is a utility that lets you get the rank (1, 6) of heading elements (h1, h6).

When should I use this?

This utility is pretty niche, if you’re here you probably know what you’re looking for!

To change heading ranks, use hast-util-shift-heading.

Install

This package is ESM only. In Node.js (version 16+), install with npm:

npm install hast-util-heading-rank

In Deno with esm.sh:

import {headingRank} from 'https://esm.sh/hast-util-heading-rank@3'

In browsers with esm.sh:

<script type="module">
  import {headingRank} from 'https://esm.sh/hast-util-heading-rank@3?bundle'
</script>

Use

import {h} from 'hastscript'
import {headingRank} from 'hast-util-heading-rank'

headingRank(h('p', 'Alpha')) //=> undefined
headingRank(h('h5', 'Alpha')) //=> 5

API

This package exports the identifier headingRank. There is no default export.

headingRank(node)

Get the rank (1 to 6) of headings (h1 to h6).

Parameters
  • node (Node) — node to check
Returns

Rank of the heading (number) or undefined if not a heading.

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, hast-util-heading-rank@^3, compatible with Node.js 16.

Security

hast-util-heading-rank does not mutate. There are no openings for cross-site scripting (XSS) attacks.

Related

Contribute

See contributing.md in syntax-tree/.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