条件
- github actions
- Ubuntu latest
- npxかnpmでmarp-cliを利用している
- dockerのは利用していない前提
結論
日本語フォントがLinuxにインストールされていないから、そりゃ日本語が表示されない。そのため、runnerのOSにaptでインストールしよう
仕組み
Marpは裏側で、Markdown -> html -> pdf, pptx という処理を行っているようです。このhtmlからpdfへ変換するときにchromeを利用しているようです。github actionsのOSはもとからchromeが入っているようで、使っているという認識がなかったのが落とし穴でした。
sudo apt install fonts-noto
としてあげた上でmarp-cliを利用してあげれば済みます。、こんな感じのworkflowファイルで実際に動作することを確認しました。
ちなみにcssで持ってこれば済みそうだよなと思っていますが、未確認です。僕はこれで動いたので満足です。
まとめ
日本語フォントをインストールしてmarp-cliにおいて日本語を利用できるようにしました。内部でプリインストールされたchromeを使っていることに気づけなかったのが落とし穴ポイントでした。