コンテンツにスキップ

go-slides ドキュメント

純粋な Go(CGO=0)で書かれた Marp 互換のスライドデッキ。Go テンプレートによる埋め込みとスライドの kind に対応しています。

slides は Marp のスライドデッキを、純粋な Go だけでプレゼンテーションに変換します。 Marp が読むのと同じ Markdown(Marpit のディレクティブ、スライド間の ---、![bg] による背景、スピーカーノート、default・gaia・ uncover の各テーマ)を読み込み、さらに Marp にはない機能を 2 つ追加します。

  • スライドデッキ内の Go テンプレート。Markdown の解析前に評価されるため、スライドデッキが自分自身のスライドを生成できます。
  • スライドの kind(スライドの種類)。スライドは見た目を毎回繰り返し書く代わりに、自分が何であるか (title、section…)を宣言します。
v0.9.0。 このページ群は go-slides/slides v0.9.0 について説明しており、/docs/0.9/ で公開されています。

現在できること

slides build(デフォルト)スライドデッキを 1 つの HTML ページとして出力します。各スライドはウィンドウに合わせて拡大縮小される SVG 枠付きの <section> で、テーマの CSS とキーボード操作のビューアーが付きます
slides build --pdf、--images png、--image jpegスライドデッキを PDF(スライドごとに 1 ページ、アウトライン付き)または PNG/JPEG 画像として出力します。ブラウザーは不要です。go-webengine がレンダリングし、go-pdfkit が PDF を書き出します。v0.4.0 以降はベクター形式で、テキストを選択できます:ベクター PDF
数式とコード$…$ と $$…$$ は go-tex/math で組版され、フェンスで囲んだコードは go-rouge でハイライトされます。HTML、画像、PDF のいずれでも同様です:数式とコード
絵文字:smile: や 😄 は Twemoji の画像に変換されて埋め込まれるため、ネットワークを必要とせず、すべての出力で描画されます:絵文字(v0.4.0 以降)
slides build --pptxスライドデッキを、スピーカーノートとメタデータ付きの PowerPoint ファイルとして出力します。v0.4.0 では marp-cli と同じくスライドごとに 1 枚の画像でしたが、v0.5.0 以降は 編集可能 です。テキストボックス、図形、画像を使い、フォントも埋め込まれます(編集可能な PPTX と ODP)
slides build --odp同じ内容を OpenDocument プレゼンテーション(.odp)として出力します
見出しのフィット# <!-- fit --> Title は、ページでもすべてのエクスポートでも、見出しを 1 行でスライドの幅いっぱいに表示します
slides expandスライドデッキをプレーンな Marp Markdown として出力します。テンプレートは評価され、kind はそれが表すスポットディレクティブに置き換えられます
slides notesスピーカーノートを出力します
slides kinds、slides themesスライドデッキで指定できる名前を一覧表示します
slides.yamlフォルダー内のスライドデッキで共有する kind、テーマ、データ、HTML ポリシー、言語を定義します
HCL---hcl のフロントマター、slides.hcl、kind とデータファイルを、式と関数が使える HCL2 で記述できます:HCL

予定

まだ実装されておらず、推測しなくて済むようにここに記載しているもの:PDF 内の数式のベクター化(現在はビットマップです)。 marp-cli との違いは処理の経路です。marp-cli はヘッドレス Chrome を操作して画像や PDF をレンダリングしますが、 go-slides ではそれを Go のライブラリで行います。

ページ一覧

Created on by tannevaled

Modified on by tannevaled