Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

go-toolのpresentで作ったスライドショーを公開する

More than 5 years have passed since last update.

http://talks.golang.org/ などにあるGoに関するスライドショー。

左右キーでページ送り出来るのですが、
スマホで見れなかったりして、
使いづらいのによくみんな使っているなあと思ってたら、
どうやらこのスライドはgo.toolsにあるpresentという
パッケージを使っているということに気づきました。

つまりは「Goの勉強会で発表で使うと差がつけられる!」ということのようです。
以下、作り方のメモ。

ローカルで閲覧できるようにする

presentを使ってローカルにスライドショーを作成。

presentのインストール

$ go get code.google.com/p/go.tools/cmd/present

presentが使えるようになります。

$ present --help
Usage of present:
  -base="": base path for slide template and static resources
  -http="127.0.0.1:3999": HTTP service address (e.g., '127.0.0.1:3999')
  -nacl=false: use Native Client environment playground (prevents non-Go code execution)
  -orighost="": host component of web origin URL (e.g., 'localhost')
  -play=true: enable playground (permit execution of arbitrary user code)

.articleと.slide

presentは、スライドショーを作りたい場合はファイルの拡張子を.slideに。
記事を作りたい場合はファイルの拡張子を.articleにします。

例えば、下のようにファイルを用意します。

$ touch article1.article slide1.slide

そしてpresentを起動すると下のような画面が出てきます。
それっぽいのが出てきます。

Screen Shot 0026-08-30 at 1.11.17 PM.png

presentのフォーマット

各ファイルの頭は主に以下のようになります。

タイトル (必須)
サブタイトル
15:04 2 Jan 2006
Tags: タグ
<空行>
プロフィール
…
<空行>
内容

最初のタイトルが必須。それ以下はオプションです。。
またプロフィールは、タイトルの段落から空行を1行入れて記載していきます。
二段落目は、スライドの最初と最後に挿入されます。

セクション

セクションは*表記です。

* スライドタイトル もしくはセクション
** サブセクション
*** さらにサブセクション

スライドショーの場合、* タイトルがページの区切りになる。
また、セクションを連続して指定した場合は、最初のセクションのタイトルが
下のほうに表示されるようになります。例えばこれみたいなものです。

箇条書き

-で箇条書き

- オレンジ
- リンゴ
- バナナ

テキスト

テキストは改行が普通に反映されます。

     インデントを行うとそのエリアが<pre>になります。

コードの挿入

コードは 別ファイルに置きます。

  .code <ファイル名>

コードの一部を見せたい場合 後ろに

/開始箇所/,/終了箇所/で指定します

.code <ファイル名> /^func main/,/^}/ 

Playgroundで実行出来るUIをつける

.play.codeとほぼ同じく、コード表示で使うのですが
右下にPlaygroundでの実行ボタンを加えることができます。

.play <ファイル名>

ただ、Playgroundで実行出来るようにする以上、
packageはmainでないと出来ません。

スライドショーを公開する

http://go-talks.appspot.com というサイトでは、
GitHubとGoogle Project Hostingにある
presentファイルを動的に取得して表示をしてくれます。

やり方

  1. slideをgithubリポジトリに公開します。

例) https://github.com/hiroosak/go-slides/tree/master/present-guide

  1. フォーマットに合わせたURLにアクセス

talk.appspot.comで、スライドを見たい場合
URLの/以下に指定されたフォーマットで表示されたいファイルを指定します。

http://go-talks.appspot.com/github.com/<owner>/<project>/<file.ext>

1で公開したファイルにアクセスしたい場合は、
http://go-talks.appspot.com/github.com/hiroosak/go-slides/present-guide/main.slide になります。

これで公開完了。

上のスライドのファイルは
github.com/hiroosak/go-slides/prsent-guid/main.slideにあります。

気になったこと

go-talks.appspot.com 元ファイルを編集しても、すぐ反映されないかも。

参考

http://godoc.org/code.google.com/p/go.tools/present

taizo
ruby,javascript,go とかウェブサービスに関わる小さな話を書いていきます。 最近はGoばかりやってます。基本はメモ。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away