pandocを使用してreveal.jsのスライドを生成する方法

簡易なスライドを作成するとき、pandocを使用してreveal.js形式のスライドを生成しているのだが、毎回その方法を忘れるので、メモとしてこれを残す。

pandocとは

  • pandocとは、ドキュメントを様々なフォーマットに変換することのできるツールである。例えば、markdownで記入した文章をLaTexやPDFに変換するということが出来る。

reveal.jsとは

  • reveal.jsとは、HTMLプレゼンテーションフレームワークで、例えばこんな感じのスライドを簡単に作ることができる便利なツールである。HTMLなので、CSSを調整すれば、色々とデザインの工夫も出来る。

スライドの作成方法

  • pandocを使うことでmarkdownをreveal.js形式に変換することが出来るので、その機能を活用する。

以下で具体的な手順を述べる。

  1. まずpandocをインストールする(Arch Linux)
yay -S pandoc
  1. reveal.jsをcloneする
git clone https://github.com/hakimel/reveal.js.git

基本的には環境構築は以上で、あとはmarkdownを用意して、それをpandocで変換するだけである。

ディレクトリ構成(例)

sample-reveal
├── Makefile
├── README.md
├── images
│   └── sample.svg
├── input.md
├── reveal.js 
├── style.css
  • ディレクトリ構成の説明

    • images配下にはスライドで使用する画像を配置してある
    • Makefileにはpandocの変換コマンドやgithub pagesへのアップロードなど、よく使うコマンドをまとめている
    • input.mdは変換対象となるmarkdownファイル
    • style.cssは変換する際に適用されるcss(わざわざcssファイルを用意しなくてもデフォルトのものがあるので、そのテーマを使うことも出来る)
  • 変換に必須なのはimput.mdとreveal.js

pandocの使い方

  • pandocでreveal.jsに変換する際のコマンド(例)
pandoc -t revealjs -s -c style.css -V transition=fade --self-contained input.md -o index.html  --slide-level=2

私はよくこのコマンドをよく使うので、これをMakefileにまとめている。

  • pandocの詳しい使い方は公式ガイドを参照。用途に合わせて、先程のコマンドを工夫すればよい。

以上のコマンドを実行すると、index.htmlが出力されるので、それをgithub pagesなどにアップロードすれば、簡単にホストすることが可能だ。

  • 例えば以下のmarkdownを変換すると
% These are sample slides
% chika


# sample

hi hello

## sample2

hi
hey
### sample3

こんな感じ のスライドが生成できる。

reveal.js特有のmarkdownの記法については公式ガイドを参照。シンタックスハイライトを入れたり、画像を挿入したり、HTMLをそのまま書き込んだりすることもできる。

まとめ

  • pandocは便利!みんな使おう。

参考文献


comments powered by Disqus