🔥
Chatworkのメッセージ記法のunifiedプラグインを書いた
チャットワークのメッセージ記法のパーサーを書きました。unifiedプラグインになっていて、元々はmdastに変換するつもりで書いたので、React上で使うときはremark-hype
+ハンドラ、rehype-react
を使って変換します。
例として、次のメッセージ記法の変換結果を載せておきます。
[picon:{account_id}]
[piconname:{account_id}]
[hr]
[To:{account_id}]
[返信 aid={account_id} to={room_id}-{message_id}]
[info]
[title]タイトル[/title]
情報
[/info]
[qt][qtmeta aid={account_id} time=1638694801]
引用開始
[info]
引用の中のinfo[/info]
引用終わり[/qt]
URL http://example.com
変換結果
ただし生成するHTMLとそれにあてるCSSはパーサーには含まれないので、そこは利用者それぞれで実装する必用があります。このパーサーはメッセージ記法のページに載っている記法は対応できているのですが、どうやら[code]
というタグもあるようなので、あとで対応する予定です。あぁ、絵文字の対応も出来てないですね。
リポジトリなど
github
npm
Discussion