1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182
|
# To run with it without system install.
# % ruby -I./lib bin/rabbit -f sample/rabbit-implementation.rd
# $Id$
= Rabbitの実装
: subtitle
The implementation of Rabbit
: author
須藤功平
: institution
COZMIXNG
: theme
rabbit
= 概要
* Rabbitって何?
* Rabbitってどうなってるの?
= Rabbit?
* Ruby/GTK2を用いたプレゼンツール
* フォントはアンチエイリアス
* 多言語対応
* ソースはRD
* 簡単に書ける
= ターゲット
* 使うべき人
* 楽にスライドを作成したい人
* 使うべきではない人
* 数式ばかり使う人
* スライドをGUIで作成したい人
* 豊富なテンプレートが欲しい人
(自分では作りたくない)
= スライド作成
* インタラクティブ
* ソースの自動再読み込み
* テーマの再読み込み
* 特殊文字(記号)
* UTF-8で直接記述
* 実体参照
= プレゼンテーション
* 豊富なキーバインド
* Emacs系,vi系,矢印...
* 起動時: RD (('→')) Rabbitオブジェクト
* モッサリ(遅いマシンだと)
* 起動後: オンメモリ
* サクサク(遅いマシンでも)
= スライド公開
* スライドを画像へ変換
* 画像を並べるのは他のツール
* ギャラリー,zphoto...
= 実装
* ページの構造
* 描画方法
* テーマ
= ブロックとインライン
: ブロック
0個以上の要素((-スライド上に配置されるオブジェクト-))を含む
段落,箇条書きなど
: インライン
直接描画される要素
テキスト,画像など
= テキスト
* 多言語を扱える
* さまざまな装飾が可能
* サイズ,色,下線...
= テキスト
* 多言語を扱える
* さまざまな装飾が可能
* サイズ,色,下線...
((*Pangoを使用しているから*))
= Pango
フレームワーク
* 世界中のテキストを配置/表示
: Pan
ギリシャ語で「全て」
: Go
日本語で「言語」
= 画像
* URIで指定
* 制限
* 他のインラインと同居できない
* ビットマップとして扱う
# image
# src = lavie.png
# caption = Lavie
# keep_ratio = true
# # width = 100
# # height = 100
# # relative_width = 100
# relative_height = 100
= 描画
* 2つのフェーズ
* コンパイル
* 描画
* 再帰的
* ネスト数大 (('→')) 計算時間大
* コンパイル結果をキャッシュ
= コンパイル
* オブジェクトの描画サイズの決定
* シミュレーション描画
* 実際には描画しない
* 描画の下準備
* 画像のロード
* Pangoレイアウトの生成
= テーマ
* 見栄えを指定
* Rubyスクリプトとして記述
* ソースとは独立
* データ(RD)と混在させない
* フック
* 要素の描画前後
= テーマの適用
流れはCSSと類似
(1) 対象となる要素を選択
(1) 要素に対して
* プロパティを設定(代入)
* フックを設定(ブロック)
(1) 繰り返し
= サイズ
* 絶対的な値
* 画像サイズで指定可能
* 正規化した値
* ウィンドウサイズに応じて増減
* テキスト/画像サイズで指定可能
* ウィンドウサイズに対する割合
* 画像サイズで指定可能
= まとめ
* スライドが楽に作成できる
* 見栄えも悪くない
* スライド用の書き方をすれば
* テーマはRubyスクリプト
* 簡単なもの: 知識はいらない
* 細部にこだわる: 知識が必要
|