Rehype-Prism を Fork して言語のエイリアスに対応させてみた
昨日の記事で、@mapbox/rehype-prism
という Rehype プラグインを紹介した。Prism.js というシンタックスハイライトのライブラリを適用してくれえるモノなのだが、言語名のエイリアスを指定できなかったので、自分で Fork 版を作ってみた。それが @neos21/rehype-prism
。
- 参考 : Register alias support · Issue #6 · mapbox/rehype-prism · GitHub
- エイリアス当てたいよーという Issue。
npm パッケージとして公開している。
ソースコードは以下。GitHub Package Registry にも一応公開してあるのでよかったら。
以下のように、既存のオプションとともに aliases
オプションを追加してある。
const unified = require('unified');
const remarkParse = require('remark-parse');
const remarkRehype = require('remark-rehype');
const rehypePrism = require('@neos21/rehype-prism');
const rehypeStringify = require('rehype-stringify');
const processor = unified()
.use(remarkParse)
.use(remarkRehype)
.use(rehypePrism, {
ignoreMissing: true,
aliases: {
bash: 'sh',
markdown: 'mdown'
}
})
.use(rehypeStringify);
僕が個人的にこういう仕様で使いたかったのでサクッと Fork して npm publish したが、皆もこういう感じでサクッと Fork して Publish っていうのやると良いと思うお。