この記事は 広島大学 HiCoder & ゲーム制作同好会GSD Advent Calendar 2022 の 16日目の記事です。
Marp
LT などの簡単な発表で使いきりのスライドを作りたい時に、Markdown からスライドを作成できる Marp というツールを愛用しています。
このことに関しては色々な方が記事にしており、VSCode 拡張機能を使うとライブプレビューも効くので、サクサクスライドを作成できます。
Marp で作ったプレゼンを共有したい
出来上がるファイルはもちろん Markdown なので Git で管理できるのですが、手元環境で PDF / PowerPoint に変換してスライド共有サイトにアップロードするのは面倒なので、変換と共有を自動でやってくれるリポジトリを作りました。
このリポジトリの master
ブランチに Markdown をプッシュすると、GitHub Actions で HTML / PDF に変換して、GitHub Pages で公開するようにしています。
公開されたページはこちら。index.html を、シェルスクリプトでいい感じに生成しています。
リポジトリトップで filename.md
として作ったプレゼンテーションは、プッシュすると https://plageoj.github.io/presentations/filename.html
として公開されます。
この URL を送りつければいいのですね。
テンプレート
この構成がわりと便利だったので、誰でも使えるようにテンプレートとして公開しました。
README も Marp で書いています。
使い方
-
Use this template
ボタンから新しいリポジトリを作ります。 -
リポジトリ設定から GitHub Pages を有効化します。
- カスタムワークフローはテンプレートに含まれています。
- リポジトリ内のトップディレクトリに Markdown ファイルを作ります。
- 通常の Marp プレゼンテーションと同じ書式でプレゼンを作ります。
- Markdown 内に、
title: <プレゼンタイトル>
を含めると、そのタイトルを使って index をビルドします。タイトルがない場合は index に追加されません。 -
master
ブランチに push するとスライドがビルドされます。
できること・今後やりたいこと
これで Marp で作ったスライドを GUI 作業なしで公開できるようになりました。
GitHub Actions 上では DockerHub 上の Marp CLI を使っているのですが、
VSCode 拡張機能と違って Markdown 中の HTML タグを解釈しないようです。
ルビをうちたいときや、<br>
で改行したい時は注意が必要かもしれません。
今後は、
- フォルダー対応
- 変更のあったファイルだけをビルドして、ビルド時間を高速化する
の2個ができたらいいな……と思っています。