rabbit 2.0.6 → 2.0.7
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.
- data/data/locale/en/LC_MESSAGES/rabbit.mo +0 -0
- data/data/locale/fr/LC_MESSAGES/rabbit.mo +0 -0
- data/data/locale/ja/LC_MESSAGES/rabbit.mo +0 -0
- data/data/rabbit/image/nari-images/property.rb +0 -0
- data/doc/en/development.rd +1 -1
- data/doc/en/news.rd +71 -0
- data/doc/en/users.rd +2 -2
- data/doc/ja/development.rd +1 -1
- data/doc/ja/news.rd +71 -0
- data/doc/ja/users.rd +2 -2
- data/lib/rabbit/element/video.rb +1 -1
- data/lib/rabbit/frame.rb +0 -42
- data/lib/rabbit/gem-builder.rb +42 -0
- data/lib/rabbit/parser/ext/image.rb +34 -18
- data/lib/rabbit/parser/pdf.rb +6 -2
- data/lib/rabbit/parser/rd.rb +10 -4
- data/lib/rabbit/parser/wiki.rb +10 -4
- data/lib/rabbit/readme-parser.rb +8 -2
- data/lib/rabbit/source/base.rb +10 -2
- data/lib/rabbit/task/slide.rb +8 -7
- data/lib/rabbit/task/theme.rb +3 -2
- data/lib/rabbit/theme/lightning-talk-toolkit/lightning-talk-toolkit.rb +7 -1
- data/lib/rabbit/version.rb +1 -1
- data/rabbit.gemspec +4 -3
- data/test/run-test.rb +5 -8
- data/test/test-readme-parser.rb +3 -1
- data/test/test-slideshare.rb +34 -0
- data/test/test-source.rb +2 -2
- metadata +5 -22
- data/po/en/rabbit.po~ +0 -2567
- data/po/fr/rabbit.po~ +0 -2674
- data/po/ja/rabbit.po~ +0 -2695
- data/po/rabbit.pot +0 -2835
Binary file
|
Binary file
|
Binary file
|
File without changes
|
data/doc/en/development.rd
CHANGED
@@ -13,7 +13,7 @@ You can stay up to date on the latest development by
|
|
13
13
|
subscribing to the git commit ML. If you want to subscribe
|
14
14
|
to the ML, send an e-mail like the following.
|
15
15
|
|
16
|
-
To:
|
16
|
+
To: commit@ml.rabbit-shocker.org
|
17
17
|
Cc: null@cozmixng.org
|
18
18
|
Subject: Subscribe
|
19
19
|
|
data/doc/en/news.rd
CHANGED
@@ -3,6 +3,77 @@ layout: en
|
|
3
3
|
title: News
|
4
4
|
apply_data: false
|
5
5
|
---
|
6
|
+
== 2.0.7: 2013-04-29
|
7
|
+
|
8
|
+
Stability improvement release!
|
9
|
+
|
10
|
+
=== Improvements
|
11
|
+
|
12
|
+
==== Package
|
13
|
+
|
14
|
+
* [GitHub#13] Removed needless files from package.
|
15
|
+
[Reported by Youhei SASAKI]
|
16
|
+
* Removed Ruby/GStreamer from dependency package.
|
17
|
+
[rabbit-shocker:1089] [Reported by znz]
|
18
|
+
|
19
|
+
==== rabbit
|
20
|
+
|
21
|
+
* Removed needless executable permission.
|
22
|
+
* Stopped requiring Ruby/GStreamer on initialize because it crashes Rabbit on
|
23
|
+
Mac OS X 10.6.8.
|
24
|
+
[Reported by masa]
|
25
|
+
* Stopped guessing from source content when source has extension to avoid
|
26
|
+
false detection.
|
27
|
+
* Removed needless fallback fullscreen/unfullscreen features because they
|
28
|
+
are needless with latest GTK+.
|
29
|
+
[Reported by Youhei SASAKI]
|
30
|
+
* Supported non-ASCII file name.
|
31
|
+
[GitHub#15][GitHub#16][GitHub#17] [Patch by Masafumi Yokoyama]
|
32
|
+
* Stopped to use iconv when String#encode is available.
|
33
|
+
[GitHub#18] [Patch by Masafumi Yokoyama]
|
34
|
+
|
35
|
+
==== Theme
|
36
|
+
|
37
|
+
* lightning-talk-toolkit: Supported as-large-as-possible slide property.
|
38
|
+
|
39
|
+
Force enable:
|
40
|
+
|
41
|
+
= Large Title
|
42
|
+
|
43
|
+
== property
|
44
|
+
|
45
|
+
: as_large_as_possible
|
46
|
+
true
|
47
|
+
|
48
|
+
Force disable:
|
49
|
+
|
50
|
+
= Large Title
|
51
|
+
|
52
|
+
== property
|
53
|
+
|
54
|
+
: as_large_as_possible
|
55
|
+
false
|
56
|
+
|
57
|
+
==== Test
|
58
|
+
|
59
|
+
* Added missing load path to $LOAD_PATH.
|
60
|
+
[GitHub#14] [Reported by Masafumi Yokoyama]
|
61
|
+
|
62
|
+
==== rabbit-slide
|
63
|
+
|
64
|
+
* Supported multi-paragraph description.
|
65
|
+
* Published to RubyGems.org after publishing to SlideShare.
|
66
|
+
It is for using SlideShare information on RubyGems.org publishing.
|
67
|
+
[Masafumi Yokoyama]
|
68
|
+
* Supported RubyGems 2.0. [Masafumi Yokoyama]
|
69
|
+
|
70
|
+
=== Thanks
|
71
|
+
|
72
|
+
* Youhei SASAKI
|
73
|
+
* masa
|
74
|
+
* Masafumi Yokoyama
|
75
|
+
* znz
|
76
|
+
|
6
77
|
== 2.0.6: 2012-12-29
|
7
78
|
|
8
79
|
Video support release!
|
data/doc/en/users.rd
CHANGED
@@ -13,14 +13,14 @@ some other active spots.
|
|
13
13
|
|
14
14
|
=== Mailing list
|
15
15
|
|
16
|
-
There is
|
16
|
+
There is the shocker-en mailing list for Rabbit Shocker.
|
17
17
|
(((<archive|URL:http://www.cozmixng.org/~w3ml/index.rb/rabbit-shocker-en/>)))
|
18
18
|
|
19
19
|
|
20
20
|
You can subscribe the mailing list by sending the following
|
21
21
|
mail:
|
22
22
|
|
23
|
-
To:
|
23
|
+
To: shocker-en@ml.rabbit-shocker.org
|
24
24
|
Cc: kou@cozmixng.org
|
25
25
|
Subject: Subscribe
|
26
26
|
|
data/doc/ja/development.rd
CHANGED
data/doc/ja/news.rd
CHANGED
@@ -3,6 +3,77 @@ layout: ja
|
|
3
3
|
title: お知らせ
|
4
4
|
apply_data: false
|
5
5
|
---
|
6
|
+
== 2.0.7: 2013-04-29
|
7
|
+
|
8
|
+
安定性向上リリース!
|
9
|
+
|
10
|
+
=== 改良
|
11
|
+
|
12
|
+
==== パッケージ
|
13
|
+
|
14
|
+
* [GitHub#13] 不要なファイルをパッケージに含めないようにした。
|
15
|
+
[Youhei SASAKIさんが報告]
|
16
|
+
* Ruby/GStreamerを依存パッケージから外した。
|
17
|
+
[rabbit-shocker:1089] [znzさんが報告]
|
18
|
+
|
19
|
+
==== rabbit
|
20
|
+
|
21
|
+
* 不必要な実行属性を削除した。
|
22
|
+
* Mac OS X 10.6.8でクラッシュするため、必要なときだけRuby/GStreamerを
|
23
|
+
読みこむようにした。
|
24
|
+
[masaさんが報告]
|
25
|
+
* 拡張子でソースのマークアップが判断できる場合は、誤検出を避けるため
|
26
|
+
ソースの内容から推測しないようにした。
|
27
|
+
* フルスクリーン・フルスクリーン解除のフォールバック機能を削除した。
|
28
|
+
最近のGTK+ではフォールバックが必要なことがないため。
|
29
|
+
[Youhei SASAKIさんが報告]
|
30
|
+
* 非ASCIIのファイル名をサポート。
|
31
|
+
[GitHub#15][GitHub#16][GitHub#17] [Masafumi Yokoyamaさんがパッチ提供]
|
32
|
+
* iconvの代わりにString#encodeを使うようにした。
|
33
|
+
[GitHub#18] [Masafumi Yokoyamaさんがパッチ提供]
|
34
|
+
|
35
|
+
==== テーマ
|
36
|
+
|
37
|
+
* lightning-talk-toolkit: as-large-as-possibleスライドプロパティをサ
|
38
|
+
ポート。
|
39
|
+
|
40
|
+
そのスライドだけ有効にする場合:
|
41
|
+
|
42
|
+
= 大きなタイトル
|
43
|
+
|
44
|
+
== プロパティ
|
45
|
+
|
46
|
+
: as_large_as_possible
|
47
|
+
true
|
48
|
+
|
49
|
+
そのスライドだけ無効にする場合:
|
50
|
+
|
51
|
+
= 大きなタイトル
|
52
|
+
|
53
|
+
== プロパティ
|
54
|
+
|
55
|
+
: as_large_as_possible
|
56
|
+
false
|
57
|
+
|
58
|
+
==== テスト
|
59
|
+
|
60
|
+
* $LOAD_PATHが足りなかった問題を修正。
|
61
|
+
[GitHub#14] [Masafumi Yokoyamaさんが報告]
|
62
|
+
|
63
|
+
==== rabbit-slide
|
64
|
+
|
65
|
+
* 複数段落の説明文に対応。
|
66
|
+
* SlideShareの情報を使うため、RubyGems.orgへの公開を最後にした。
|
67
|
+
[Masafumi Yokoyamaさん]
|
68
|
+
* RubyGems 2.0対応。 [Masafumi Yokoyamaさん]
|
69
|
+
|
70
|
+
=== 感謝
|
71
|
+
|
72
|
+
* Youhei SASAKIさん
|
73
|
+
* masaさん
|
74
|
+
* Masafumi Yokoyamaさん
|
75
|
+
* znzさん
|
76
|
+
|
6
77
|
== 2.0.6: 2012-12-29
|
7
78
|
|
8
79
|
ビデオサポートリリース!2012年最後のリリース!
|
data/doc/ja/users.rd
CHANGED
@@ -27,13 +27,13 @@ slide.rabbit-shocker.orgへアップロードしましょう。
|
|
27
27
|
|
28
28
|
=== メーリングリスト
|
29
29
|
|
30
|
-
Rabbitショッカーのために
|
30
|
+
Rabbitショッカーのためにshocker-jaというメーリングリストがあります。
|
31
31
|
(((<アーカイブ
|
32
32
|
|URL:http://www.cozmixng.org/~w3ml/index.rb/rabbit-shocker/>)))
|
33
33
|
|
34
34
|
以下のようなメールを送るとメーリングリストへ参加できます。
|
35
35
|
|
36
|
-
To:
|
36
|
+
To: shocker-ja@ml.rabbit-shocker.org
|
37
37
|
Cc: kou@cozmixng.org
|
38
38
|
Subject: イー
|
39
39
|
|
data/lib/rabbit/element/video.rb
CHANGED
@@ -3,7 +3,6 @@ require "rabbit/utils"
|
|
3
3
|
require "rabbit/image"
|
4
4
|
require "rabbit/element"
|
5
5
|
require "rabbit/parser/base"
|
6
|
-
require "rabbit/video-window"
|
7
6
|
|
8
7
|
module Rabbit
|
9
8
|
module Element
|
@@ -76,6 +75,7 @@ module Rabbit
|
|
76
75
|
def draw_element(canvas, x, y, w, h, simulation)
|
77
76
|
unless simulation
|
78
77
|
if canvas.display?
|
78
|
+
require "rabbit/video-window"
|
79
79
|
@video_window ||= VideoWindow.new(self)
|
80
80
|
@video_window.show(canvas.window)
|
81
81
|
else
|
data/lib/rabbit/frame.rb
CHANGED
@@ -12,8 +12,6 @@ module Rabbit
|
|
12
12
|
include ScreenInfo
|
13
13
|
extend Forwardable
|
14
14
|
|
15
|
-
FALLBACK_LIMIT = 250
|
16
|
-
|
17
15
|
def_delegators(:@window, :icon, :icon=, :set_icon)
|
18
16
|
def_delegators(:@window, :icon_list, :icon_list=, :set_icon_list)
|
19
17
|
def_delegators(:@window, :iconify, :show, :hide, :visible?)
|
@@ -62,14 +60,12 @@ module Rabbit
|
|
62
60
|
@fullscreen_toggled = false
|
63
61
|
@fullscreen = true
|
64
62
|
@window.fullscreen
|
65
|
-
fallback_fullscreen
|
66
63
|
end
|
67
64
|
|
68
65
|
def unfullscreen
|
69
66
|
@fullscreen_toggled = false
|
70
67
|
@fullscreen = false
|
71
68
|
@window.unfullscreen
|
72
|
-
fallback_unfullscreen
|
73
69
|
end
|
74
70
|
|
75
71
|
def toggle_fullscreen
|
@@ -197,44 +193,6 @@ module Rabbit
|
|
197
193
|
true
|
198
194
|
end
|
199
195
|
end
|
200
|
-
|
201
|
-
def fallback_fullscreen
|
202
|
-
@prev_width = @prev_height = nil
|
203
|
-
@prev_x = @prev_y = nil
|
204
|
-
Gtk.timeout_add(FALLBACK_LIMIT) do
|
205
|
-
unless @fullscreen_toggled
|
206
|
-
@prev_width, @prev_height = width, height
|
207
|
-
@prev_x, @prev_y = @window.position
|
208
|
-
@window.hide
|
209
|
-
@window.set_size_request(screen_width, screen_height)
|
210
|
-
@window.decorated = false
|
211
|
-
@window.keep_above = true
|
212
|
-
@window.show
|
213
|
-
@window.move(0, 0)
|
214
|
-
@window.present
|
215
|
-
@canvas.fullscreened
|
216
|
-
end
|
217
|
-
false
|
218
|
-
end
|
219
|
-
end
|
220
|
-
|
221
|
-
def fallback_unfullscreen
|
222
|
-
Gtk.timeout_add(FALLBACK_LIMIT) do
|
223
|
-
if !@fullscreen_toggled and
|
224
|
-
@prev_width and @prev_height and
|
225
|
-
@prev_x and @prev_y
|
226
|
-
@window.hide
|
227
|
-
@window.set_size_request(@prev_width, @prev_height)
|
228
|
-
@window.decorated = true
|
229
|
-
@window.keep_above = !@main_window
|
230
|
-
@window.show
|
231
|
-
@window.move(@prev_x, @prev_y)
|
232
|
-
@window.present
|
233
|
-
@canvas.unfullscreened
|
234
|
-
end
|
235
|
-
false
|
236
|
-
end
|
237
|
-
end
|
238
196
|
end
|
239
197
|
|
240
198
|
class NullFrame
|
@@ -0,0 +1,42 @@
|
|
1
|
+
# Copyright (C) 2013 Kouhei Sutou <kou@cozmixng.org>
|
2
|
+
#
|
3
|
+
# This program is free software; you can redistribute it and/or modify
|
4
|
+
# it under the terms of the GNU General Public License as published by
|
5
|
+
# the Free Software Foundation; either version 2 of the License, or
|
6
|
+
# (at your option) any later version.
|
7
|
+
#
|
8
|
+
# This program is distributed in the hope that it will be useful,
|
9
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
10
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
11
|
+
# GNU General Public License for more details.
|
12
|
+
#
|
13
|
+
# You should have received a copy of the GNU General Public License along
|
14
|
+
# with this program; if not, write to the Free Software Foundation, Inc.,
|
15
|
+
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
16
|
+
|
17
|
+
require "rubygems"
|
18
|
+
|
19
|
+
module Rabbit
|
20
|
+
class GemBuilder
|
21
|
+
class << self
|
22
|
+
def build(spec)
|
23
|
+
new(spec).build
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
def initialize(spec)
|
28
|
+
@spec = spec
|
29
|
+
end
|
30
|
+
|
31
|
+
if Gem.const_defined?(:Builder)
|
32
|
+
def build
|
33
|
+
Gem::Builder.new(@spec).build
|
34
|
+
end
|
35
|
+
else
|
36
|
+
require "rubygems/package"
|
37
|
+
def build
|
38
|
+
Gem::Package.build(@spec)
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
@@ -9,17 +9,11 @@ module Rabbit
|
|
9
9
|
module Parser
|
10
10
|
module Ext
|
11
11
|
module Image
|
12
|
-
ALLOWED_IMG_URL_SCHEME = ['http', 'https', 'file', '']
|
13
|
-
|
14
12
|
module_function
|
15
13
|
def make_image(canvas, uri_str, prop={})
|
16
|
-
|
17
|
-
scheme = uri.scheme
|
18
|
-
unless ALLOWED_IMG_URL_SCHEME.include?(scheme.to_s.downcase)
|
19
|
-
return nil
|
20
|
-
end
|
14
|
+
path = Private.uri_string_to_image_filename(canvas, uri_str)
|
21
15
|
begin
|
22
|
-
Element::Image.new(
|
16
|
+
Element::Image.new(path, prop)
|
23
17
|
rescue Error
|
24
18
|
canvas.logger.warn($!.message)
|
25
19
|
nil
|
@@ -45,24 +39,42 @@ module Rabbit
|
|
45
39
|
end
|
46
40
|
|
47
41
|
module Private
|
42
|
+
ALLOWED_IMG_URL_SCHEME = ['http', 'https', 'file']
|
43
|
+
|
48
44
|
module_function
|
49
|
-
def
|
45
|
+
def uri_string_to_image_filename(canvas, uri_string)
|
46
|
+
if start_with_scheme?(uri_string)
|
47
|
+
uri = URI.parse(uri_string)
|
48
|
+
scheme = uri.scheme
|
49
|
+
unless ALLOWED_IMG_URL_SCHEME.include?(scheme.to_s.downcase)
|
50
|
+
return nil
|
51
|
+
end
|
52
|
+
uri_to_image_filename(canvas, uri)
|
53
|
+
else
|
54
|
+
local_path_to_image_filename(canvas, uri_string)
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
def uri_to_image_filename(canvas, uri)
|
50
59
|
case uri.scheme.to_s.downcase
|
51
60
|
when "file"
|
52
61
|
GLib.filename_from_utf8(uri.path)
|
53
62
|
when "http", "https", "ftp"
|
54
63
|
other_uri_filename(canvas, uri)
|
55
64
|
else
|
56
|
-
|
57
|
-
|
65
|
+
nil
|
66
|
+
end
|
67
|
+
end
|
58
68
|
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
69
|
+
def local_path_to_image_filename(canvas, path)
|
70
|
+
path = Pathname.new(GLib.filename_from_utf8(path))
|
71
|
+
return path.to_s if path.absolute?
|
72
|
+
|
73
|
+
expanded_path = canvas.full_path(path.to_s)
|
74
|
+
if start_with_scheme?(expanded_path)
|
75
|
+
uri_string_to_image_filename(canvas, expanded_path)
|
76
|
+
else
|
77
|
+
expanded_path
|
66
78
|
end
|
67
79
|
end
|
68
80
|
|
@@ -89,6 +101,10 @@ module Rabbit
|
|
89
101
|
canvas.logger.warn("#{$!.message}: #{uri}")
|
90
102
|
end
|
91
103
|
end
|
104
|
+
|
105
|
+
def start_with_scheme?(uri_string)
|
106
|
+
/\A[a-z][a-z\d+\-.]+:/i =~ uri_string
|
107
|
+
end
|
92
108
|
end
|
93
109
|
end
|
94
110
|
end
|
data/lib/rabbit/parser/pdf.rb
CHANGED
@@ -11,8 +11,12 @@ module Rabbit
|
|
11
11
|
unshift_loader(self)
|
12
12
|
class << self
|
13
13
|
def match?(source)
|
14
|
-
|
15
|
-
|
14
|
+
extension = source.extension
|
15
|
+
if extension.nil?
|
16
|
+
source.read.start_with?("%PDF-1.")
|
17
|
+
else
|
18
|
+
/\Apdf\z/i =~ extension
|
19
|
+
end
|
16
20
|
end
|
17
21
|
end
|
18
22
|
|