Go の標準っぽいプレゼンを作る - 完全版

バックアップ開発部の y-okubo と申します。

今回は、以下の記事で書いた内容の(ほぼ)完全版を書きます。

qiita.com

概要

  • Go 界隈の方々がよく使っているプレゼンツール(フォーマット)です
    • とは言えど、このツールを使っていないプレゼンもいっぱいあります
  • 当然ですが Go で書かれています
  • シンタックスハイライトは美しいですが、フォーマットの指定方法が特殊です

インストール

GOPATH を設定した上でインストールします

$ go get golang.org/x/tools/cmd/present

サーバ起動

作成するスライドを格納するディレクトリに移動してから実行します

$ present

デフォルトでは http://127.0.0.1:3999 にアクセスすることでプレゼンが見られるようになります。

フォーマット

プレゼンのメタ情報

Title of document
Subtitle of document
15:04 2 Jan 2016
Tags: foo, bar, baz

Author Name
Job title, Company
joe@example.com
http://url/
@twitter_name

* Title of slide or section (must have asterisk)

最低限、この内容(アスタリスクの部分)までないと表示できません(以外とハマります、コレ)。

  • 一行目はプレゼンのタイトルです
  • 二行目はプレゼンのサブタイトルです
  • 三行目はプレゼンの発表日時?
  • 四行目はタグ?ですかね(どこで役に立つのかは不明)
  • 空行を挟んで個人プロフィール各種(名前・役職・会社名・メールアドレス等々)
  • さらに空行を挟んで次のスライドタイトルになります

箇条書きとセクション

- bullets 1
- more bullets 1
- a bullet with 1
* Slide title or section
** Sub section
*** More sub section

サブセクション以降はプレゼンの下から順に表示されます。

例えば

* Title of slide or section (must have asterisk)

** Subsection1

- bullets 2
- more bullets 2
- a bullet with 2

*** Subsubsection2

- bullets 1
- more bullets 1
- a bullet with 1

これは

f:id:nekojarashi-Inc:20160531123924p:plain

こんな感じで表示されます(正直ちょっと違和感があります)。

テキスト

* Text

Some More text

  Preformatted text
  is indented (however you like)

f:id:nekojarashi-Inc:20160530120910p:plain

書いた内容がそのまま反映されます。

インデントを行うとその部分が整形済みテキスト(pre タグ)になります。

フォント

* Font

_italic_
*bold*
`program`
_this_is_all_italic_
_Why_use_scoped__ptr_? Use plain ***ptr* instead.

上から順番に * イタリック * ボールド * プログラム? * イタリック * ボールド(先頭のアスタリスクもボールドにしたいのでエスケープしてる?)

こんな感じで表示されます。

f:id:nekojarashi-Inc:20160531124228p:plain

インラインリン

* Inline link

[[url][label]], or [[url]]

f:id:nekojarashi-Inc:20160530121337p:plain

ラベルを付けるか、そのままリンクを表示するかの違いですね。

リンク

* Link

.link http://golang.org golang.org

f:id:nekojarashi-Inc:20160530121355p:plain

Playground で直接実行可能な状態にする

* The Go Playground

.play demo.go

こんな UI が付きます。

f:id:nekojarashi-Inc:20160531124021p:plain

コード

コードは別ファイルの置く必要があります。

* Code

.code -numbers test.go /START OMIT/,/END OMIT/

/開始箇所/,/終了箇所/ で表示するコードを指定します。 なお、正規表現が使えます。

イメージ

* Images

.image gopher.png 408 300

高さと幅を指定できます。

f:id:nekojarashi-Inc:20160531124632p:plain

公開する

http://go-talks.appspot.com で 動的に表示できます。

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

という形式で指定すれば、作成したプレゼンが表示されます。

GitHub URL 途中の blobmaster は 取り除いてください。

こちらは表示例です。

http://go-talks.appspot.com/github.com/y-okubo/go-present-example/sample.slide

まとめ

いかがでしょうか。

かなりクセのあるフォーマットで書きやすいとは言えないのですが、お、できるな!と思わせるプレゼンが作れるので、 Go のコミュニティで発表する予定の資料は present で、それ以外では普段お使いのプレゼンソフトを使われのが良いかと思います。

さらに詳細なフォーマットについては present の GoDoc をご覧ください。

godoc.org

お知らせ

ねこじゃらしでは Go に限らず RubyJavaScriptプログラマ、UI/UX デザイナを募集しております。

ご興味をお持ちいただけましたら、以下のリンクからお問い合わせください。

www.nekojarashi.com