2022年に起こった地味に便利な変化の1つに、GitHubが、Markdownのコードブロックのmermaidを図に変換して表示してくれるようになったことが上げられます(主観)。
これが便利なので、emacsでmarkdownを書きながら自動更新されると嬉しいなと思い、ファイルを見張り自動で更新しつつ、mermaid部分を描画してくれるようなツールfosiを作りました。
インストールと使い方
fosi自体は、node.jsで実装されたCLIで、npmコマンドでインストールできます。
npm i -g @hotoku/fosi
インストール後、markdownファイルがあるディレクトリに移動してください。
fosi -i ファイル名
を実行すれば、サーバーがport 3000で立ち上がります。その後、ブラウザでlocalhost:3000にアクセスすれば、markdownが変換されたHTMLが確認できます。
このとき、コードブロックにmermaidが含まれていれば、その部分は画像に変換されます。また、元のmarkdownファイルを更新すると、ブラウザ上の表示が自動で更新されるはずです。
Emacsから起動する
↑というような作業を、毎回ターミナルから実行していたのですが、Emacsから直接起動したいなと思ったので、そのための関数も作りました。
- 上記のファイルを適当なパスに保存
-
M-x package-install-file
で、そのファイルをインストール -
init.el
に(require 'fosi)
を記述
した上でM-x fosi
を.md
ファイルから呼び出すと、上と同じようにfosiサーバーが起動します。
小ネタですが、2023年も良きEmacs lifeを。