Okada Hiroshi の blog

typo が多いです

markdown-it のプラグインを書いてみました

nodejs の有名な Markdown パーサの markdown-it で 出力される html のエレメントタイプごとに class 属性を追加したかたので

www.npmjs.com

というプラグインを書いてみました。

markdown-it の内部構造はよくわかっていないので、他のプラグインのコードを参考に書きましたが、パフォーマンス等は悪いと思います。

$ npm install markdown-it @toycode/markdown-it-class --save-dev

みたいにインストールして

const MarkdownIt = require('markdown-it')
const markdownItClass = require('@toycode/markdown-it-class')
 
const mdText = '# テスト文書\n## サブタイトル\n今日は良い*天気*です'
const mapping = { h1: ['title', 'is-4'], h2: 'subtitle', em: 'tag' }
const md = MarkdownIt().use(markdownItClass, mapping)
console.log(md.render(mdText))

<h1 class="title is-4">テスト文書</h1>
<h2 class="subtitle">サブタイトル</h2>
<p>今日は良い<em class="tag">天気</em>です</p>

のようにクラスが付加できます。