marp でスライドを作ってみた話を書いていく
普通に Google Slide や Power Point でいいのでは? →既存のドキュメントをそのまま PPTX で欲しいという要望への対応
Google Docs で作っているドキュメントを PPTX に置換するのはそれなりに骨 →マークダウンから Google Docs と同等のものと PPTX の双方を出力!
こうなる。
Marp for VSCode
を入れるDraw.io Integration
を入れる割愛。 こちらとかから導入
左のメニューから拡張機能を導入。
左のメニューから拡張機能を導入。 製図に便利なのでほしいなら。
README.mdみたいに編集する
先頭に以下の呪文を入れる必要あり
---
marp: true
---
3つハイフンで改ページ
---
デフォルトだと PDF 出力なので吐かせ方を任意に変更 拡張機能の一覧から設定を開けるのでそちらから実施
右上のサンドイッチめいたアイコンをクリック後、 Export Slide Deck… をクリック
CSS でテーマ(見た目)を指定できる。
公式のガイドを参考に。 以下のようにテーマの名前を入れないと動かないので注意。
/* @theme theme-name */
CSS 内で @import
することで他のテーマを読み込める。
@import 'gaia'
これが難しいので注意。
設定の Markdown > Marps:Themes
に対象の CSS のパスを入れる。
ワークスペースのルートからのパスを入れる必要があるので注意。
/(ワークスペースのルート)
└markdownToDocuments
└marp_trial
├README.md
└css
├basic.css
└hiyoko.css
ならば以下2行を入れる
./markdownToDocuments/marp_trial/css/hiyoko.css
./markdownToDocuments/marp_trial/css/basic.css
HTML を生成した後それを元に PDF や pptx を生成しているようなので HTML を生成してその構造を確認しながら CSS を書くのが吉っぽい。
hiyoko.cssを読み込んでこのREADME.mdをビルドした例:OUTPUT_SAMPLE.html
HTML をまず生成した後、それをプリントアウトするようにして PDF や PPTX を生成しているようだ。 そのためか、生成された PPTX はページ全体が1つの画像となっており、再編集ができない。
すなわち、最初に挙げた要望が「再編集不能な PDF ではなく再編集可能な PPTX で」であれば このアプローチは上手くいかない。