rabbit 3.0.0 → 3.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Rakefile +2 -1
- data/data/locale/en/LC_MESSAGES/rabbit.mo +0 -0
- data/data/locale/ja/LC_MESSAGES/rabbit.mo +0 -0
- data/doc/_config.yml +2 -2
- data/doc/_layouts/skeleton.html +0 -7
- data/doc/en/faq.rd +4 -2
- data/doc/en/install/homebrew.rd +8 -13
- data/doc/en/news.rd +158 -0
- data/doc/en/sample/hiki/rabbit.hiki +0 -4
- data/doc/en/sample/rd/rabbit.rd +0 -4
- data/doc/en/usage/rabbit-slide.rd +3 -3
- data/doc/images/screenshots/en/blue-circle-raw.png +0 -0
- data/doc/images/screenshots/en/blue-circle.png +0 -0
- data/doc/images/screenshots/en/clear-blue-raw.png +0 -0
- data/doc/images/screenshots/en/clear-blue.png +0 -0
- data/doc/images/screenshots/en/cozmixng-raw.png +0 -0
- data/doc/images/screenshots/en/cozmixng.png +0 -0
- data/doc/images/screenshots/en/dark-gradation-raw.png +0 -0
- data/doc/images/screenshots/en/dark-gradation.png +0 -0
- data/doc/images/screenshots/en/day-white-raw.png +0 -0
- data/doc/images/screenshots/en/day-white.png +0 -0
- data/doc/images/screenshots/en/debian-raw.png +0 -0
- data/doc/images/screenshots/en/debian.png +0 -0
- data/doc/images/screenshots/en/green-circle-raw.png +0 -0
- data/doc/images/screenshots/en/green-circle.png +0 -0
- data/doc/images/screenshots/en/night-black-raw.png +0 -0
- data/doc/images/screenshots/en/night-black.png +0 -0
- data/doc/images/screenshots/en/rabbit-raw.png +0 -0
- data/doc/images/screenshots/en/rabbit.png +0 -0
- data/doc/images/screenshots/en/ranguba-raw.png +0 -0
- data/doc/images/screenshots/en/ranguba.png +0 -0
- data/doc/images/screenshots/en/red-frame-raw.png +0 -0
- data/doc/images/screenshots/en/red-frame.png +0 -0
- data/doc/images/screenshots/en/ruby-gnome2-raw.png +0 -0
- data/doc/images/screenshots/en/ruby-gnome2.png +0 -0
- data/doc/images/screenshots/en/rubykaigi2011-raw.png +0 -0
- data/doc/images/screenshots/en/rubykaigi2011.png +0 -0
- data/doc/images/screenshots/ja/blue-circle-raw.png +0 -0
- data/doc/images/screenshots/ja/blue-circle.png +0 -0
- data/doc/images/screenshots/ja/clear-blue-raw.png +0 -0
- data/doc/images/screenshots/ja/clear-blue.png +0 -0
- data/doc/images/screenshots/ja/cozmixng-raw.png +0 -0
- data/doc/images/screenshots/ja/cozmixng.png +0 -0
- data/doc/images/screenshots/ja/dark-gradation-raw.png +0 -0
- data/doc/images/screenshots/ja/dark-gradation.png +0 -0
- data/doc/images/screenshots/ja/day-white-raw.png +0 -0
- data/doc/images/screenshots/ja/day-white.png +0 -0
- data/doc/images/screenshots/ja/debian-raw.png +0 -0
- data/doc/images/screenshots/ja/debian.png +0 -0
- data/doc/images/screenshots/ja/green-circle-raw.png +0 -0
- data/doc/images/screenshots/ja/green-circle.png +0 -0
- data/doc/images/screenshots/ja/night-black-raw.png +0 -0
- data/doc/images/screenshots/ja/night-black.png +0 -0
- data/doc/images/screenshots/ja/rabbit-raw.png +0 -0
- data/doc/images/screenshots/ja/rabbit.png +0 -0
- data/doc/images/screenshots/ja/ranguba-raw.png +0 -0
- data/doc/images/screenshots/ja/ranguba.png +0 -0
- data/doc/images/screenshots/ja/red-frame-raw.png +0 -0
- data/doc/images/screenshots/ja/red-frame.png +0 -0
- data/doc/images/screenshots/ja/ruby-gnome2-raw.png +0 -0
- data/doc/images/screenshots/ja/ruby-gnome2.png +0 -0
- data/doc/images/screenshots/ja/rubykaigi2011-raw.png +0 -0
- data/doc/images/screenshots/ja/rubykaigi2011.png +0 -0
- data/doc/index.html.en +1 -1
- data/doc/ja/faq.rd +2 -0
- data/doc/ja/install/homebrew.rd +8 -12
- data/doc/ja/news.rd +157 -0
- data/doc/ja/sample/hiki/rabbit.hiki +0 -4
- data/doc/ja/sample/rd/rabbit.rd +0 -4
- data/doc/ja/usage/rabbit-slide.rd +3 -3
- data/doc/ja/users.rd +7 -0
- data/lib/rabbit/action/toggle.rb +7 -0
- data/lib/rabbit/author-configuration.rb +3 -4
- data/lib/rabbit/canvas.rb +18 -6
- data/lib/rabbit/command/rabbit-slide.rb +59 -1
- data/lib/rabbit/command/rabbit-slide.ui +127 -49
- data/lib/rabbit/command/rabbit.rb +5 -9
- data/lib/rabbit/element/base.rb +1 -5
- data/lib/rabbit/element/image.rb +139 -89
- data/lib/rabbit/element/video.rb +3 -11
- data/lib/rabbit/error.rb +9 -3
- data/lib/rabbit/formatter.rb +1 -1
- data/lib/rabbit/frame.rb +102 -4
- data/lib/rabbit/gem-pusher.rb +29 -6
- data/lib/rabbit/image/base.rb +163 -28
- data/lib/rabbit/image/dia.rb +21 -14
- data/lib/rabbit/image/mermaid.rb +73 -0
- data/lib/rabbit/image/pdf.rb +22 -9
- data/lib/rabbit/image/svg.rb +1 -4
- data/lib/rabbit/image.rb +6 -6
- data/lib/rabbit/info-window.rb +106 -80
- data/lib/rabbit/keys.rb +6 -0
- data/lib/rabbit/menu.rb +2 -0
- data/lib/rabbit/parser/base.rb +2 -1
- data/lib/rabbit/parser/ext/blockdiag.rb +16 -14
- data/lib/rabbit/parser/ext/charty.rb +58 -0
- data/lib/rabbit/parser/ext/image.rb +38 -10
- data/lib/rabbit/parser/markdown/converter.rb +36 -30
- data/lib/rabbit/parser/rd/ext/block-verbatim.rb +33 -35
- data/lib/rabbit/parser/rd/ext/image.rb +23 -4
- data/lib/rabbit/parser/rd/rd2rabbit-lib.rb +3 -1
- data/lib/rabbit/parser/rd.rb +1 -1
- data/lib/rabbit/parser/wiki/output.rb +9 -9
- data/lib/rabbit/parser.rb +2 -2
- data/lib/rabbit/progress.rb +1 -1
- data/lib/rabbit/properties.rb +154 -0
- data/lib/rabbit/rabbit.rb +3 -1
- data/lib/rabbit/relative-size.rb +28 -0
- data/lib/rabbit/renderer/base.rb +6 -0
- data/lib/rabbit/renderer/display/drawing-area-base.rb +1 -2
- data/lib/rabbit/renderer/display/drawing-area-primitive.rb +1 -0
- data/lib/rabbit/renderer/display/info.rb +6 -1
- data/lib/rabbit/renderer/display/key-handler.rb +27 -2
- data/lib/rabbit/renderer/engine/cairo.rb +24 -3
- data/lib/rabbit/renderer/screen.rb +0 -1
- data/lib/rabbit/slide-configuration.rb +16 -8
- data/lib/rabbit/task/slide.rb +6 -33
- data/lib/rabbit/theme/background-image-toolkit/background-image-toolkit.rb +38 -0
- data/lib/rabbit/theme/clear-blue/clear-blue.rb +4 -2
- data/lib/rabbit/theme/edge-info-toolkit/edge-info-toolkit.rb +12 -2
- data/lib/rabbit/theme/image/image.rb +3 -0
- data/lib/rabbit/theme/image-slide-number/image-slide-number.rb +8 -3
- data/lib/rabbit/theme/image-timer/image-timer.rb +8 -3
- data/lib/rabbit/theme/pdf/pdf.rb +1 -1
- data/lib/rabbit/theme/slide-footer-info/slide-footer-info.rb +2 -0
- data/lib/rabbit/theme/tag/tag.rb +9 -2
- data/lib/rabbit/theme-configuration.rb +3 -4
- data/lib/rabbit/utils.rb +25 -2
- data/lib/rabbit/version.rb +2 -2
- data/lib/rabbit/video-window.rb +14 -3
- data/{test/test-slideshare.rb → lib/rabbit/yaml-loader.rb} +20 -15
- data/po/en/rabbit.edit.po +123 -121
- data/po/en/rabbit.po +28 -26
- data/po/fr/rabbit.edit.po +122 -120
- data/po/fr/rabbit.po +27 -25
- data/po/ja/rabbit.edit.po +156 -125
- data/po/ja/rabbit.po +34 -30
- data/rabbit.gemspec +0 -1
- data/sample/can_rabbit.rd +0 -24
- data/sample/rabbit-en.hiki +0 -4
- data/sample/rabbit-en.md +13 -0
- data/sample/rabbit-en.rd +10 -4
- data/sample/rabbit.hiki +0 -4
- data/sample/rabbit.md +21 -0
- data/sample/rabbit.rd +20 -4
- data/test/command/test-rabbit.rb +1 -0
- data/test/parser/test-markdown.rb +2 -2
- data/test/test-slide-configuration.rb +4 -2
- metadata +30 -46
- data/doc/css/jquery-ui/themes/ui-lightness.css +0 -573
- data/doc/javascripts/jquery-ui.js +0 -11544
- data/doc/javascripts/jquery.js +0 -7179
- data/lib/rabbit/slideshare.rb +0 -192
data/doc/ja/news.rd
CHANGED
@@ -4,6 +4,163 @@ title: お知らせ
|
|
4
4
|
apply_data: false
|
5
5
|
---
|
6
6
|
{% raw %}
|
7
|
+
|
8
|
+
== 3.0.2: 2023-06-25
|
9
|
+
|
10
|
+
画像への描画をサポートしたリリース。
|
11
|
+
|
12
|
+
=== 改良
|
13
|
+
|
14
|
+
==== rabbit
|
15
|
+
|
16
|
+
* image: 画像への描画をサポート。
|
17
|
+
|
18
|
+
* image: (({align=right}))をサポート。
|
19
|
+
|
20
|
+
* Mermaidをサポート。
|
21
|
+
|
22
|
+
* blockdiag: (({blockdiag3}))コマンドをサポート。
|
23
|
+
|
24
|
+
==== rabbit-slide
|
25
|
+
|
26
|
+
* config: (({source_code_uri}))を追加。
|
27
|
+
((<GH-144|URL:https://github.com/rabbit-shocker/rabbit/issues/144>))
|
28
|
+
[Yusuke Nakamuraさんがパッチ提供]
|
29
|
+
|
30
|
+
* SlideShareへのアップロード機能を削除。これはSlideShareのAPIからス
|
31
|
+
ライドアップロード機能が削除されたからです。
|
32
|
+
|
33
|
+
==== テーマ
|
34
|
+
|
35
|
+
* image-slide-number: メインコンテンツの後ろに画像を描画するように変
|
36
|
+
更。これによりメインコンテンツを隠すことがなくなります。
|
37
|
+
|
38
|
+
* image-timer: メインコンテンツの後ろに画像を描画するように変更。こ
|
39
|
+
れによりメインコンテンツを隠すことがなくなります。
|
40
|
+
|
41
|
+
* background-image-toolkit: キャプションをサポート。
|
42
|
+
|
43
|
+
* clear-blue: フッターの(({\n}))を削除するのではなく空白文字に置換す
|
44
|
+
るように変更。
|
45
|
+
|
46
|
+
* pdf: デフォルトで(({canvas.title}))テーマではなく(({./theme.rb}))
|
47
|
+
テーマを使うように変更。
|
48
|
+
|
49
|
+
==== ドキュメント
|
50
|
+
|
51
|
+
* macos Homebrew: インストールドキュメントを更新。
|
52
|
+
((<GH-150|URL:https://github.com/rabbit-shocker/rabbit/issues/150>))
|
53
|
+
[Yusuke Nakamuraさんがパッチ提供]
|
54
|
+
|
55
|
+
=== 修正
|
56
|
+
|
57
|
+
==== rabbit
|
58
|
+
|
59
|
+
* formatter HTML: 重みの設定が反映されない問題を修正。
|
60
|
+
((<GH-146|URL:https://github.com/rabbit-shocker/rabbit/issues/146>))
|
61
|
+
[HASUMI Hitoshiさんがパッチ提供]
|
62
|
+
|
63
|
+
==== テーマ
|
64
|
+
|
65
|
+
* image-timer: PDFで画像が表示されない問題を修正。
|
66
|
+
|
67
|
+
* image-slide-number: PDFで画像が表示されない問題を修正。
|
68
|
+
|
69
|
+
=== 感謝
|
70
|
+
|
71
|
+
* Yusuke Nakamuraさん
|
72
|
+
|
73
|
+
* HASUMI Hitoshiさん
|
74
|
+
|
75
|
+
== 3.0.1: 2021-09-25
|
76
|
+
|
77
|
+
Ruby 3.0をサポートしたリリース。
|
78
|
+
|
79
|
+
=== 改良
|
80
|
+
|
81
|
+
==== rabbit
|
82
|
+
|
83
|
+
* 警告を除去。
|
84
|
+
[GitHub#132][kojix2さんがパッチ提供]
|
85
|
+
|
86
|
+
* image: Ruby 3.0をサポート。
|
87
|
+
[GitHub#133][kojix2さんがパッチを提供]
|
88
|
+
|
89
|
+
* image: ダウンロードした画像を再利用するようにしました。
|
90
|
+
|
91
|
+
* image: (({normalized_width}))と(({normalized_height}))のサポートを
|
92
|
+
削除。
|
93
|
+
|
94
|
+
* image: (({clip_x}))と(({clip_y}))と(({clip_width}))と(({clip_height}))で
|
95
|
+
クリップをサポート。
|
96
|
+
|
97
|
+
* info-window: ノートモードではタイマーの位置を下部に移動。
|
98
|
+
|
99
|
+
* info-window: (({wait}))をサポート。
|
100
|
+
|
101
|
+
* 重複した(({require}))を削除。
|
102
|
+
[GitHub#134][kojix2さんがパッチを提供]
|
103
|
+
|
104
|
+
* Chartyをサポート。
|
105
|
+
|
106
|
+
* 埋め込みターミナルをサポート。
|
107
|
+
|
108
|
+
* Ustreamサポートを削除。
|
109
|
+
|
110
|
+
* MFAが有効になったアカウントでのgemのpushをサポート。
|
111
|
+
[GitHub#141][Yusuke Nakamuraさんが報告]
|
112
|
+
|
113
|
+
==== rabbit-slide
|
114
|
+
|
115
|
+
* スライドサイズの指定をサポート。
|
116
|
+
|
117
|
+
==== テーマ
|
118
|
+
|
119
|
+
* clear-blue: 縦方向のセンタリングの無効化をサポート。
|
120
|
+
|
121
|
+
* tag: (({margin-*})): 負の値と浮動小数点数をサポート。
|
122
|
+
|
123
|
+
* tag: (({wrap-char}))と(({wrap-word}))と(({wrap-word-char}))で折り返し
|
124
|
+
をサポート。
|
125
|
+
|
126
|
+
* tag: (({justify}))と(({no-justify}))で両端揃えをサポート。
|
127
|
+
|
128
|
+
* edge-info-toolkit: テキストのセンタリングをサポート。
|
129
|
+
|
130
|
+
* slide-footer-info: テキストのセンタリングをサポート。
|
131
|
+
|
132
|
+
==== ドキュメント
|
133
|
+
|
134
|
+
* うさぎとかめとテーマに関する注意書きを追加。
|
135
|
+
[GitHub#139][Asaf Bartovさんがパッチを提供]
|
136
|
+
|
137
|
+
=== 修正
|
138
|
+
|
139
|
+
==== テーマ
|
140
|
+
|
141
|
+
* image-slide-number: 幅の計算方法を修正。
|
142
|
+
[GitHub#130][HASUMI Hitoshiさんがパッチを提供]
|
143
|
+
|
144
|
+
==== ドキュメント
|
145
|
+
|
146
|
+
* 英語を修正。
|
147
|
+
[GitHub#128][Zero Kingさんがパッチを提供]
|
148
|
+
|
149
|
+
* typoを修正。
|
150
|
+
[GitHub#140][Yusuke Nakamuraさんがパッチを提供]
|
151
|
+
|
152
|
+
=== 感謝
|
153
|
+
|
154
|
+
* Zero Kingさん
|
155
|
+
|
156
|
+
* HASUMI Hitoshiさん
|
157
|
+
|
158
|
+
* kojix2さん
|
159
|
+
|
160
|
+
* Asaf Bartovさん
|
161
|
+
|
162
|
+
* Yusuke Nakamuraさん
|
163
|
+
|
7
164
|
== 3.0.0: 2019-09-06
|
8
165
|
|
9
166
|
GTK+ 3をサポートしたリリース。GTK+ 2のサポートは終了。
|
@@ -130,8 +130,6 @@ title: "サンプルスライド: Rabbit"
|
|
130
130
|
:caption => "Lavie",
|
131
131
|
:width => 100,
|
132
132
|
:height => 100,
|
133
|
-
# :normalized_width => 50,
|
134
|
-
# :normalized_height => 50,
|
135
133
|
# :relative_width => 100,
|
136
134
|
# :relative_height => 50,
|
137
135
|
})}}
|
@@ -177,8 +175,6 @@ title: "サンプルスライド: Rabbit"
|
|
177
175
|
{{image("usagi.png",
|
178
176
|
{
|
179
177
|
:caption => "兎",
|
180
|
-
# :normalized_width => 50,
|
181
|
-
# :normalized_height => 50,
|
182
178
|
# :relative_width => 100,
|
183
179
|
:relative_height => 50,
|
184
180
|
})}}
|
data/doc/ja/sample/rd/rabbit.rd
CHANGED
@@ -133,8 +133,6 @@ title: "サンプルスライド: Rabbit"
|
|
133
133
|
# caption = Lavie
|
134
134
|
# width = 100
|
135
135
|
# height = 100
|
136
|
-
# # normalized_width = 50
|
137
|
-
# # normalized_height = 50
|
138
136
|
# # relative_width = 100
|
139
137
|
# # relative_height = 50
|
140
138
|
|
@@ -184,8 +182,6 @@ title: "サンプルスライド: Rabbit"
|
|
184
182
|
# image
|
185
183
|
# src = usagi.png
|
186
184
|
# caption = 兎
|
187
|
-
# # normalized_width = 50
|
188
|
-
# # normalized_height = 50
|
189
185
|
# # relative_width = 100
|
190
186
|
# relative_height = 80
|
191
187
|
|
@@ -185,12 +185,12 @@ APIがなかったので諦めました。
|
|
185
185
|
Rabbitのテーマを確認するためのスライドです。スライドで使われる要素がた
|
186
186
|
くさん入っているためテーマの確認に便利です。
|
187
187
|
|
188
|
-
準備ができたら((%
|
188
|
+
準備ができたら((%rake publish%))でRubyGems.orgとSlideShareにまとめて
|
189
189
|
公開できます。別々に公開する方法は以下の通りです。
|
190
190
|
|
191
191
|
=== RubyGems.orgへ公開
|
192
192
|
|
193
|
-
((%
|
193
|
+
((%rake publish:rubygems%))でRubyGems.orgに公開できます。
|
194
194
|
|
195
195
|
% rake publish:rubygems
|
196
196
|
|
@@ -213,7 +213,7 @@ Rabbit Slide ShowはRubyGems.orgに公開されているスライドを自動で
|
|
213
213
|
|
214
214
|
=== SlideShareへ公開
|
215
215
|
|
216
|
-
((%
|
216
|
+
((%rake publish:slideshare%))でSlideShareに公開できます。
|
217
217
|
|
218
218
|
% rake publish:slideshare
|
219
219
|
|
data/doc/ja/users.rd
CHANGED
@@ -186,4 +186,11 @@ Rabbitショッカーのためにshocker-jaというメーリングリストが
|
|
186
186
|
* ((<効率的なビットマップマーキングを用いたRuby用ごみ集め実装|URL:http://www.narihiro.info/resource/presen/Ruby%20Garbage%20Collection%20Using%20Efficient%20Bitmap%20Marking.pdf>))
|
187
187
|
* うえださん
|
188
188
|
* ((<エンジニアでありたい人の日記|URL:http://d.hatena.ne.jp/hiro-ueda/>))
|
189
|
+
|
190
|
+
# 2019年
|
191
|
+
|
192
|
+
* yoku0825さん
|
193
|
+
* ((<日々の覚書|URL:https://yoku0825.blogspot.com/>))
|
194
|
+
* ((<Shooting a trouble of MySQL|URL:https://speakerdeck.com/yoku0825/shooting-a-trouble-of-mysql>))
|
195
|
+
* 他にもたくさん
|
189
196
|
* ...
|
data/lib/rabbit/action/toggle.rb
CHANGED
@@ -71,5 +71,12 @@ module Rabbit
|
|
71
71
|
def act_toggle_magnifier_config(config, canvas)
|
72
72
|
config[:label] = N_("Magnifier")
|
73
73
|
end
|
74
|
+
|
75
|
+
def act_toggle_terminal(action, group, canvas)
|
76
|
+
canvas.toggle_terminal
|
77
|
+
end
|
78
|
+
def act_toggle_terminal_config(config, canvas)
|
79
|
+
config[:label] = N_("Terminal")
|
80
|
+
end
|
74
81
|
end
|
75
82
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (C) 2012 Kouhei
|
1
|
+
# Copyright (C) 2012-2021 Sutou Kouhei <kou@cozmixng.org>
|
2
2
|
#
|
3
3
|
# This program is free software; you can redistribute it and/or modify
|
4
4
|
# it under the terms of the GNU General Public License as published by
|
@@ -14,11 +14,10 @@
|
|
14
14
|
# with this program; if not, write to the Free Software Foundation, Inc.,
|
15
15
|
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
16
16
|
|
17
|
-
require "yaml"
|
18
|
-
|
19
17
|
require "rabbit/gettext"
|
20
18
|
require "rabbit/logger"
|
21
19
|
require "rabbit/path-manipulatable"
|
20
|
+
require "rabbit/yaml-loader"
|
22
21
|
|
23
22
|
module Rabbit
|
24
23
|
class AuthorConfiguration
|
@@ -35,7 +34,7 @@ module Rabbit
|
|
35
34
|
|
36
35
|
def load
|
37
36
|
return unless File.exist?(path)
|
38
|
-
conf =
|
37
|
+
conf = YAMLLoader.load(File.read(path))
|
39
38
|
clear
|
40
39
|
merge!(conf)
|
41
40
|
rescue
|
data/lib/rabbit/canvas.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (C) 2004-
|
1
|
+
# Copyright (C) 2004-2021 Sutou Kouhei <kou@cozmixng.org>
|
2
2
|
#
|
3
3
|
# This program is free software; you can redistribute it and/or modify
|
4
4
|
# it under the terms of the GNU General Public License as published by
|
@@ -43,6 +43,8 @@ module Rabbit
|
|
43
43
|
def_delegators(:@frame, :iconify, :window)
|
44
44
|
def_delegators(:@frame, :fullscreen_available?)
|
45
45
|
def_delegators(:@frame, :iconify_available?)
|
46
|
+
def_delegators(:@frame, :toggle_terminal)
|
47
|
+
def_delegators(:@frame, :in_terminal?)
|
46
48
|
|
47
49
|
def_delegators(:@renderer, :width, :height)
|
48
50
|
# Deprecated. Use #base_width= instead.
|
@@ -81,6 +83,8 @@ module Rabbit
|
|
81
83
|
def_delegators(:@renderer, :shear_context)
|
82
84
|
def_delegators(:@renderer, :save_context, :restore_context)
|
83
85
|
def_delegators(:@renderer, :draw_line, :draw_rectangle, :draw_arc)
|
86
|
+
def_delegators(:@renderer, :draw_lines)
|
87
|
+
def_delegators(:@renderer, :draw_polygon)
|
84
88
|
def_delegators(:@renderer, :draw_circle, :draw_layout, :draw_pixbuf)
|
85
89
|
def_delegators(:@renderer, :draw_arc_by_radius, :draw_circle_by_radius)
|
86
90
|
def_delegators(:@renderer, :draw_slide, :draw_polygon, :draw_flag)
|
@@ -343,7 +347,7 @@ module Rabbit
|
|
343
347
|
apply_theme(@theme_name, &block)
|
344
348
|
end
|
345
349
|
|
346
|
-
def parse(source=nil,
|
350
|
+
def parse(source=nil, progress=nil, &block)
|
347
351
|
id = Object.new.__id__
|
348
352
|
@parse_request_queue.push(id)
|
349
353
|
@source = source || @source
|
@@ -353,7 +357,7 @@ module Rabbit
|
|
353
357
|
keep_index do
|
354
358
|
@renderer.pre_parse
|
355
359
|
clear
|
356
|
-
Parser.parse(self, @source)
|
360
|
+
Parser.parse(self, @source, progress: progress)
|
357
361
|
new_allotted_time = allotted_time
|
358
362
|
reset_timer if new_allotted_time != current_allotted_time
|
359
363
|
apply_timer
|
@@ -362,7 +366,7 @@ module Rabbit
|
|
362
366
|
if @parse_request_queue.last != id
|
363
367
|
raise ParseFinish
|
364
368
|
end
|
365
|
-
|
369
|
+
progress.call if progress
|
366
370
|
end
|
367
371
|
@renderer.post_parse
|
368
372
|
index = current_index
|
@@ -380,9 +384,9 @@ module Rabbit
|
|
380
384
|
end
|
381
385
|
end
|
382
386
|
|
383
|
-
def reload_source(
|
387
|
+
def reload_source(progress=nil, &block)
|
384
388
|
if need_reload_source?
|
385
|
-
parse(nil,
|
389
|
+
parse(nil, progress, &block)
|
386
390
|
end
|
387
391
|
end
|
388
392
|
|
@@ -436,6 +440,14 @@ module Rabbit
|
|
436
440
|
@renderer.post_iconify
|
437
441
|
end
|
438
442
|
|
443
|
+
def pre_terminal
|
444
|
+
@renderer.pre_terminal
|
445
|
+
end
|
446
|
+
|
447
|
+
def post_terminal
|
448
|
+
@renderer.post_terminal
|
449
|
+
end
|
450
|
+
|
439
451
|
def saved_image_base_name
|
440
452
|
if @saved_image_base_name
|
441
453
|
base_name = @saved_image_base_name.encode("UTF-8")
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (C) 2012-
|
1
|
+
# Copyright (C) 2012-2021 Sutou Kouhei <kou@cozmixng.org>
|
2
2
|
#
|
3
3
|
# This program is free software; you can redistribute it and/or modify
|
4
4
|
# it under the terms of the GNU General Public License as published by
|
@@ -106,6 +106,8 @@ module Rabbit
|
|
106
106
|
" --id rubykaigi2012 \\\n" \
|
107
107
|
" --base-name rabbit-introduction \\\n" \
|
108
108
|
" --markup-language rd \\\n" \
|
109
|
+
" --width 800 \\\n" \
|
110
|
+
" --height 450 \\\n" \
|
109
111
|
" --name \"Kouhei Sutou\" \\\n" \
|
110
112
|
" --email kou@cozmixng.org \\\n" \
|
111
113
|
" --rubygems-user kou \\\n" \
|
@@ -218,6 +220,22 @@ module Rabbit
|
|
218
220
|
@data.slide_conf.presentation_end_time = time
|
219
221
|
end
|
220
222
|
|
223
|
+
width_example = "--width=800"
|
224
|
+
parser.on("--width=WIDTH", Integer,
|
225
|
+
_("The default slide width"),
|
226
|
+
_("(e.g.: %s)") % width_example,
|
227
|
+
_("(optional)")) do |width|
|
228
|
+
@data.slide_conf.width = width
|
229
|
+
end
|
230
|
+
|
231
|
+
height_example = "--width=450"
|
232
|
+
parser.on("--height=HEIGHT", Integer,
|
233
|
+
_("The default slide height"),
|
234
|
+
_("(e.g.: %s)") % height_example,
|
235
|
+
_("(optional)")) do |height|
|
236
|
+
@data.slide_conf.height = height
|
237
|
+
end
|
238
|
+
|
221
239
|
parser.separator(_("Your information"))
|
222
240
|
|
223
241
|
messages = [
|
@@ -324,6 +342,20 @@ module Rabbit
|
|
324
342
|
end
|
325
343
|
end
|
326
344
|
|
345
|
+
class IntegerMapper
|
346
|
+
def initialize(data)
|
347
|
+
@data = data
|
348
|
+
end
|
349
|
+
|
350
|
+
def attach(entry)
|
351
|
+
entry.value = value if value
|
352
|
+
end
|
353
|
+
|
354
|
+
def apply(entry)
|
355
|
+
apply_value(entry.value_as_int)
|
356
|
+
end
|
357
|
+
end
|
358
|
+
|
327
359
|
class SlideIDMapper < TextMapper
|
328
360
|
private
|
329
361
|
def valid?(value)
|
@@ -374,11 +406,35 @@ module Rabbit
|
|
374
406
|
end
|
375
407
|
end
|
376
408
|
|
409
|
+
class SlideWidthMapper < IntegerMapper
|
410
|
+
private
|
411
|
+
def value
|
412
|
+
@data.slide_conf.width
|
413
|
+
end
|
414
|
+
|
415
|
+
def apply_value(value)
|
416
|
+
@data.slide_conf.width = value
|
417
|
+
end
|
418
|
+
end
|
419
|
+
|
420
|
+
class SlideHeightMapper < IntegerMapper
|
421
|
+
private
|
422
|
+
def value
|
423
|
+
@data.slide_conf.height
|
424
|
+
end
|
425
|
+
|
426
|
+
def apply_value(value)
|
427
|
+
@data.slide_conf.height = value
|
428
|
+
end
|
429
|
+
end
|
430
|
+
|
377
431
|
def build_gui_mappers
|
378
432
|
{
|
379
433
|
"slide-id" => SlideIDMapper.new(@data),
|
380
434
|
"slide-base-name" => SlideBaseNameMapper.new(@data),
|
381
435
|
"slide-markup-language" => SlideMarkupLanguageMapper.new(@data),
|
436
|
+
"slide-width" => SlideWidthMapper.new(@data),
|
437
|
+
"slide-height" => SlideHeightMapper.new(@data),
|
382
438
|
}
|
383
439
|
end
|
384
440
|
|
@@ -484,6 +540,8 @@ EOD
|
|
484
540
|
def generate_dot_rabbit
|
485
541
|
create_file(".rabbit") do |dot_rabbit|
|
486
542
|
options = []
|
543
|
+
size = [@data.slide_conf.width, @data.slide_conf.height].join(",")
|
544
|
+
options << "--size #{size}"
|
487
545
|
if @data.author_conf.markup_language.nil? and @data.allotted_time
|
488
546
|
options << "--allotted-time #{@data.allotted_time}"
|
489
547
|
end
|