nodejs の有名な Markdown パーサの markdown-it で 出力される html のエレメントタイプごとに class 属性を追加したかたので
というプラグインを書いてみました。
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>
のようにクラスが付加できます。