プレゼンに Ruby gem の Rabbit 2.2.1 を使ってみる

イベントでプレゼンに Ruby gem の [Rabbit](http://rabbit-shocker.org/) :rabbit2:を使っているのを見て、かわいいタイマー機能欲しさにインストールして使ってみました。
その使い方メモです。
![Page1.png](https://qiita-image-store.s3.amazonaws.com/0/90265/1ca38886-112a-29cb-03f7-e2807ba61d7d.png)


- [RubyGems rabbit 2.2.1](https://rubygems.org/gems/rabbit)
- [Rabbit サイト](http://rabbit-shocker.org/)

# Ruby インストール
- [公式サイトのダウンロードページ](https://rubyinstaller.org/downloads/)にアクセスして、Ruby のインストール
    - 2019/04/08 時点の最新版: Ruby+Devkit2.5.3-1(x64)

`*「Run ‘rdisk install’ to setup MSYS2 （省略）」にチェックを入れておく`

- DevKit のインストーラが起動するので、インストールする
![Devkit.png](https://qiita-image-store.s3.amazonaws.com/0/90265/0549c3dc-ca9e-d151-3f2c-a5d04dcd38d4.png)
`* Devkit: Windows 版の Ruby で一部の gem をインストールする際に必要なツール`

- インストールの確認

```terminal
$ ruby -v

ruby 2.5.3p105
```

- パッケージ管理ツール「bundler」のインストール

```terminal
$ gem install bundler
```

# Rabbit のインストール
主に Rubyist 向けのプレゼン用ツール [Rabbit](http://rabbit-shocker.org/)。 

> [引用: Rabbit 公式サイト]
> Rabbitはプログラマ向け（主にRubyist向け）のプレゼンテーション ツールです。

> Rabbitはテキスト形式でプレゼン資料を作成できるので、常にエディ タとバージョン管理システムを使っているプログラマ向きのプレゼ ンテーションツールです。

> また、キーボードによるインターフェイスが充実していることもプ ログラマにはうれしい機能です。Keynoteや他のプレゼンテーションツールで スライドを作成しているユーザでも、スライド表示にRabbitを使う ことができます。具体的には、見栄えの調整などのスライド作成は GUIのプレゼンテーションツールで行い、スライド表示・操作のイン ターフェイスだけキーボード操作に強いRabbitを使う、というよう に使い分けられます。

> さらに、Rabbitではスライドの見た目をRubyでカスタマイズできま す。プレゼンテーションの時もプログラムできるなんて、Rubyistに は嬉しすぎますね。

**メリットをまとめると...**

- テキスト形式でプレゼン資料を作成できる (PowerPoint や Keynote などで作ったスライド表示に Rabbit を使うことも可能)
- キーボードによるインターフェースが充実
- テキストの書式にはRD(Ruby Document)/Wiki記法/Markdown記法を使う
- **「うさぎとかめ」**を使った残り時間表示などユニークな機能もある (← Ruby 使いじゃない私が Rabbit 使いたくなったきっかけはこれ笑)

### インストール

- ドキュメントを見ながらインストール ([インストール方法について](http://rabbit-shocker.org/ja/install/))

##### [Mac OS X の場合]
- Homebrew のインストール

```terminal
$ ruby <(curl -fsSkL raw.github.com/mxcl/homebrew/go)
```

- brew install と brew link の実行

```terminal
$ brew install cairo
$ brew link cairo
$ brew link --overwrite pixman
$ brew install pango
$ brew install gtk+
$ brew install poppler --with-glib
```

- Rabbit のインストール

```terminal
$ sudo PKG_CONFIG_PATH=/usr/local/opt/libffi/lib/pkgconfig gem install rabbit
$ sudo gem install rabbiter # Twitter連携機能を使う場合
```

- 環境変数の設定

```terminal
$ export DYLD_LIBRARY_PATH=/usr/local/opt/cairo/lib
```

- 起動

```terminal
$ rabbit
```
`* 実行するとスライドファイルを開くダイアログが表示されるので、作成したスライドファイルを指定する`

##### [Windows の場合]

- Rabbit のインストール

```terminal
$ gem install rabbit
```

- 起動

```terminal
$ rabbit
```

### 使い方
具体的な使い方は公式サイトを参照 ([使い方](http://rabbit-shocker.org/ja/usage.html))
オプション指定して色んな設定ができる。

##### [うさぎとかめ]
今回使いたかった「うさぎとかめ」タイマー機能だけ、設定方法を抜粋。

- 実行したいファイルを指定

```terminal
$ rabbit
```

- プレゼン時間を指定 (タイトルスライドにメタデータとして指定したプレゼン時間よりも優先される)

```terminal
$ rabbit {File Path} --allotted-time={Time}
```

- 実行するとスライドが立ち上げるので、プレゼンスタート
    - うさぎ: 実際のスライド進行状況
    - かめ: システム側で設定したスライド進行時間
    - かめに追い越されないように頑張れば制限時間内に発表を終えることができる！
![Page1.png](https://qiita-image-store.s3.amazonaws.com/0/90265/6aedf486-1ece-12b0-2ca4-cafde08f17d5.png)
![Page2.png](https://qiita-image-store.s3.amazonaws.com/0/90265/ca5e9336-c00f-9491-6831-96bb8b71217c.png)
![Page5.png](https://qiita-image-store.s3.amazonaws.com/0/90265/84ee8b8d-2fd2-7e96-04dd-1c3be15a1bfd.png)
![Page5_Finish.png](https://qiita-image-store.s3.amazonaws.com/0/90265/9798c25c-0910-f5c0-8122-688d4891ec1c.png)


### 作り方
Rabbit 用のスライドは、テキスト形式 (RD/Hiki記法/Markdown記法) または PDF 形式で作成が可能。
こちらも公式サイトを参照 ([作り方](http://rabbit-shocker.org/ja/how-to-make/))

# 参考リンク
- [【Ruby・Rails・gem】それぞれのインストール](https://www.sejuku.net/blog/15339)
- [rabbit (RubyGemsサイト)](https://rubygems.org/gems/rabbit/versions/2.1.8)
- [Rabbit Rubyist用プレゼンツール](http://rabbit-shocker.org/)
- [Macにrabbitをインストールし、プレゼンテーマを自作してみた](https://thinkami.hatenablog.com/entry/2017/03/02/053827)