rabbit 3.0.0 → 3.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|