Remarkable plugin to auto generate unique header ids, highly customizable
npm install remarkable-header-idsAutogenerate unique ids for text headers (h1,...h6)
Install with npm:
``sh`
$ npm install --save remarkable-header-ids
`js
const HeaderIdsPlugin = require("remarkable-header-ids");
const Remarkable = require("remarkable");
const markdownParser = new Remarkable().use(
HeaderIdsPlugin()
);
`
Params
| Option name | Type | defaultValue | Note |
| --------------- | -------------------------- | -------------------------- | ------------------------------------------------------------------ |
| levels | number[] | [1, 2, 3, 4, 5, 6] | |string
| anchorClassName | | "header-anchor" | |string
| anchorText | | "#" | When anchorText is empty, the anchor will not be rendered at all |(slug: string) => string
| headerId | | slug => "heading-#" + slug | |
Example
`js
const Remarkable = require("remarkable");
const HeaderIdsPlugin = require("remarkable-header-ids");
const parser = new Remarkable().use(
HeaderIdsPlugin({
levels: [2], // only transform h2
anchorClassName: "this-is-anchor-in-header",
anchorText: "AnchorText",
headerId: (slug) =>
header-that-has-this-anchor-${slug},`
})
);
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
Please read the contributing guide for avice on opening issues, pull requests, and coding standards.
Test content is located inside the test directory. For more info regarding the internals of test suite, check out test/parse.js.
to run the test, execute npm test from the root directory. This script will render into test/parsed.html`.
Farzad Yousefzadeh
- github/farskid
- twitter/farzad_yz
Copyright © 2020, github/farskid.
Released under the MIT license.