この記事は、Zennにも投稿しています。
概要
この記事はブログとZennに同時投稿しているのですが、その際にZen独自のmarkdown記法を使いたいときがあります。ブログ側ではmarkdownの表示に
remark
を使っているのでremark
でそれらを表示したいという趣旨です。Directive
まずはディレクティブ記法です。
このようなコードで
メッセージ
が表示されるというものです。これはどうやら一般にdirectiveと呼ばれる記法のようです。
これはなんかメジャーっぽいしお目当てのプラグインで既にあるのではと思い探すとありました。これです。
これはなんかメジャーっぽいしお目当てのプラグインで既にあるのではと思い探すとありました。これです。
これでdirective記法はクリア…かと思いきや実はこのプラグインではZennの記法を再現することはできません。これはZennでは
のようにディレクティブ名の後にタイトルなどを記述するのですがこれはremark-directiveではサポートされていないからです。
なのでしょうがないので
remark-directive
にパッチを当てることにしました。パッチの内容は以下です。このパッチでは、英字か数字のみがdirectiveのラベルで有効だったものを全ての文字で有効になるように変えています。これによって
:::directive{.class}
のような記法は使えなくなりますが今回は問題ないのでよしとします。remark-directive
はこのプラグインを読み込んだ後に独自のプラグインで実際にディレクティブを有効なhtmlデータなどに変換します。message
ディレクティブとdetails
ディレクティブを実装したものがこちらです。details
の方は無理くりmdxの内部形式に変換しています。これを使うには
remark-directive
と上のremarkCustomDirective
の両方のプラグインを読み込みます。