remark extension to support kbd
element syntax with
configurable delimiters, escaping, var
sequences, and arbitrary
nesting (e.g. Ctrl + key).
Docs at shivjm.github.io/remark-extensions.
This package is ESM only:
Node 18+ is needed to use it and it must be import
ed instead of require
d.
npm:
npm install micromark-extension-kbd-nested
import { remark } from "remark";
import { remarkKbdNested } from "remark-kbd-nested";
import remarkRehype from "remark-rehype";
import rehypeStringify from "rehype-stringify";
const output = remark()
.use(remarkKbdNested)
.use(remarkRehype)
.use(rehypeStringify)
.processSync("Press ||| ||Ctrl|| + || \| || |||, then || //key// ||.");
console.log(String(output));
Yields:
<p>Press <kbd><kbd>Ctrl</kbd> + <kbd>|</kbd></kbd>, then <kbd><var>key</var></kbd>.</p>
See micromark-extension-kbd-nested.
Returns a remark plugin to parse keyboard sequences optionally
containing variable sequences (can be passed to use
). The options
are passed directly to micromark-extension-kbd-nested.