【Marp】GitHub ActionsでMarkdownからプレゼン資料を自動的に作成する
Marpとは、markdownからpdfやpptx,htmlファイルを作成することができるツールです。 以下の記事で詳しく記載されています。
「なぜこの記事を書いているのか?」
上記の記事をパクってに習ってMarpの設定を試したのですが、同じエラーにハマってしまったため別の方法で設定してみました。
具体的には、DockerでMarpを動かした時に、以下のエラーが発生してしましました。
ファイルパーミッションに問題がありそうなので、以下の権限に変更して試してみましたが解消されませんでした。
chmod -R 0777 doc/
なので、GitHub ActionsにNode.jsをセットアップしてnpx
でmarpを実行する方法で代用しました。
設定方法
サンプルとして、以下のリポジトリに設定しています。
設定したことは大きく分けて3つです。
プレゼン用のmarkdownファイルの用意
任意のディレクトリにプレゼンに使用するmarkdownファイルを配置します。
サンプルだとdoc/index.md
を配置しています。
GitHub Actionsのworkflowファイル作成
使用するworkflowのファイルは以下になります。
- PDFが文字化けしないように必要なパッケージをインストール
- Node.jsでmarpをインストール&実行
GitHub ActionsのConfigファイル作成
使用するconfigファイルは以下になります。
このconfigはactionsで使用するものとなっており、以下パラメータとなる部分を変数化したものです。
プレゼン用ファイルの自動生成
上記の設定が完了したら、リポジトリにgit push
された時にGitHub Actionsが実行されます。
リポジトリの「Actions」タブに移動して、該当のworkflowに移動するとArtifactsにプレゼン用のファイルが作成されています。