0.1.11 • Published 10 months ago

remark-anchor-link v0.1.11

Weekly downloads
-
License
MIT
Repository
github
Last release
10 months ago

remark-anchor-link

Monorepo Build CodeQL codecov

A Remark plugin to add anchor links to headings.

This plugin processes headings in the markdown and adds anchor links to them so that they can be linked to directly. The anchor links are added as an a tag with a href attribute pointing to the heading's id. The anchor links are also given a class of "anchor" for styling purposes and an aria-hidden="true" attribute to hide them from screen readers.

Input:

# Heading 1

## Heading 2

### Heading 3

Output:

<h1 id="heading-1">
  <a href="#heading-1" class="anchor" aria-hidden="true">#</a>
  Heading 1
</h1>
<h2 id="heading-2">
  <a href="#heading-2" class="anchor" aria-hidden="true">#</a>
  Heading 2
</h2>
<h3 id="heading-3">
  <a href="#heading-3" class="anchor" aria-hidden="true">#</a>
  Heading 3
</h3>

Installation

npm install remark-anchor-link

Usage

remark().use(remarkAnchorLink [, options]);
import { remark } from "remark";
import { remarkAnchorLink } from "remark-anchor-link";

const doc = "# Heading 1";
const processor = remark().use(remarkAnchorLink);
const file = await processor.process(doc);

console.log(String(file)); // # [#](#heading-1)Heading 1

!NOTE

  • You may need other plugins (e.g. remark-parse, remark-html, etc.) to parse markdown to HTML.
  • The class and aria-hidden attributes may behave differently depending on the plugin used.

Options

options.location

  • Type: "prefix" | "suffix"
  • Default: "prefix"

The location of the anchor link relative to the heading text.

options.className

  • Type: string
  • Default: "anchor"

To customize the class name of the anchor link.

options.levels

  • Type: (1 | 2 | 3 | 4 | 5 | 6)[]
  • Default: [1, 2, 3, 4]

To specify which heading levels to add anchor links to.

options.marker

  • Type: string
  • Default: "#"

The marker to use for the anchor link.

License

The code in this package under the MIT License.

0.1.10

10 months ago

0.1.11

10 months ago

0.1.9

12 months ago

0.1.8

12 months ago

0.1.7

1 year ago

0.1.6

1 year ago

0.1.5

1 year ago

0.1.4

1 year ago

0.1.3

1 year ago

0.1.2

1 year ago

0.1.1

1 year ago

0.1.0

1 year ago