概要
先日Goオールスターズ2で登壇させて頂き、その時プレゼン作成のために使ったpresent
の使い方を紹介します。
present
を使うと↓のようなスライドを作れます
http://go-talks.appspot.com/github.com/jun06t/go-all-stars/main.slide#1
メリット・デメリット
実際に使ってみたメリット、デメリットを挙げます。
メリット
- プログラムをスライド上で実行できる
- スタイルが統一できる
デメリット
- プログラムのソースコードの分割が大変(はみ出したらスライド外に表示される)
- 画像の位置など指定できない
- ブログなどで埋め込み表示ができない
- フルスクリーン表示できない
- アニメーション使えない
あまり融通のきかない感じに見えますが、スライド上でプログラムが実行できるのはやはりメリットは大きく、またプログラムを載せる時に簡単に導入できるのは便利でした。
フォルダ構成
フォルダ構成は以下のようにすると良いです。
xxx.slide
というファイルがスライドファイルになります。
画像やプログラムを挿入できるので、それは下記のように別ディレクトリに分けておくと見やすいです。
. ├── README.md ├── example │ ├── buffer.go │....... │ └── writer.go ├── image │ ├── awa.jpg │ ├── easy.jpg │ ├── gopher.png │ └── leak.jpg └── main.slide
インストール
$ go get golang.org/x/tools/present
実行は
$ present
とするだけです。すると
にアクセスして、と言われるので、アクセスするとそのディレクトリに存在するスライド一覧ページに行きます。
xxx.slide
がスライドです。
リンクをクリックすればスライドショーが見れます。
ではこれからxxx.slide
を作っていきます。
編集
表紙の用意
こんな感じで用意します。
タイトル サブタイトル 15:04 2 Jan 2006 ← 日付 Tags: foo, bar, baz ← タグ 著者名 会社名 joe@example.com ← メールアドレス http://url/ ← ブログURLなど付加情報 @twitter_name
こうすると最初のページと最後のページが用意されます。
最初のページ
最後のページ
次のスライドを用意する
アスタリスクを付けると次のスライドになります。
* スライド1 - 内容1 - 内容2 - 内容3 * スライド2 - 内容1 - 内容2 - 内容3
画像を入れる
.image
で始めると画像を挿入できます。
ローカルファイルでもURLでもどちらでも可能です。
2つ目の引数が高さ、3つ目が横幅です。指定しないとオリジナルのサイズで表示されます。
* スライド3 .image image/easy.jpg 400 500
プログラムを入れる
.code
とするとソースコードを挿入できます。
* スライド4 .code example/sample.go
.play
とすると実行可能になります。
* スライド5 .play example/sample.go
Runを押すと実行
スライドに表示されるプログラムの量を変更する
先程のソースコードの表示ですが、フォントサイズなどの変更に融通がきかないので自分で公開範囲を設定する必要があります。
まずはプログラムにコメントを追加します。OMIT
というのが必須です。START
、END
は自由な書き方です。
package main import "fmt" // START OMIT func main() { fmt.Println("Hello world") } // END OMIT
そしてスライド側で
* スライド6 .play example/sample.go /START OMIT/,/END OMIT/
というものを後ろに付けると
表示部分を制限できます。
1つのプログラムの中に複数のOMIT
を入れることで、複数のスライドに分割することも可能です。
太字・イタリック体
太字・イタリック体も表現可能です。
ただし注意なのが空白にもその記号を入れる必要があります。
以下の例を参考にしてください。
* スライド7 - 通常 - *太字* - *bold*word* - _イタリック体_ - _italic_font_
公開
githubでpublic状態で上げていればいつでもWeb上で公開することが可能です。
http://go-talks.appspot.com/github.com/<owner>/<project>/<xxx.slide>
上記の形式に則ってURLを叩けば、スライドのWebページ自動的に生成されます。
私の場合だとgithubのリポジトリが
github.com/jun06t/go-all-stars/main.slide
なので、
http://go-talks.appspot.com/github.com/jun06t/go-all-stars/main.slide
で公開できます。