rabbit 3.0.5 → 4.0.0
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/data/locale/ja/LC_MESSAGES/rabbit.mo +0 -0
- data/doc/_config.yml +2 -2
- data/doc/en/news.rd +54 -0
- data/doc/ja/news.rd +54 -0
- data/lib/rabbit/actions.rb +446 -0
- data/lib/rabbit/author-configuration.rb +7 -10
- data/lib/rabbit/canvas.rb +74 -42
- data/lib/rabbit/command/rabbit-slide.rb +11 -13
- data/lib/rabbit/command/rabbit-theme.rb +10 -12
- data/lib/rabbit/command/rabbit.rb +31 -43
- data/lib/rabbit/console.rb +20 -22
- data/lib/rabbit/dependency-canvas.rb +2 -2
- data/lib/rabbit/element/base.rb +93 -6
- data/lib/rabbit/element/block-element.rb +17 -1
- data/lib/rabbit/element/block.rb +17 -1
- data/lib/rabbit/element/container-element.rb +59 -3
- data/lib/rabbit/element/description-list.rb +18 -2
- data/lib/rabbit/element/enum-list.rb +18 -2
- data/lib/rabbit/element/footnote.rb +18 -2
- data/lib/rabbit/element/image-title-slide.rb +17 -1
- data/lib/rabbit/element/image.rb +32 -2
- data/lib/rabbit/element/index-slide.rb +29 -13
- data/lib/rabbit/element/item-list.rb +18 -2
- data/lib/rabbit/element/method-list.rb +18 -2
- data/lib/rabbit/element/poppler-page.rb +17 -1
- data/lib/rabbit/element/poppler-slide.rb +18 -2
- data/lib/rabbit/element/poppler-title-slide.rb +18 -2
- data/lib/rabbit/element/preformatted.rb +18 -2
- data/lib/rabbit/element/slide-element.rb +29 -2
- data/lib/rabbit/element/slide.rb +18 -2
- data/lib/rabbit/element/syntax-highlighting.rb +17 -1
- data/lib/rabbit/element/table.rb +19 -3
- data/lib/rabbit/element/tag.rb +18 -2
- data/lib/rabbit/element/text-block-element.rb +18 -2
- data/lib/rabbit/element/text-container-element.rb +41 -2
- data/lib/rabbit/element/text-element.rb +17 -1
- data/lib/rabbit/element/text-renderer.rb +17 -1
- data/lib/rabbit/element/text.rb +4 -4
- data/lib/rabbit/element/title-slide.rb +19 -3
- data/lib/rabbit/element/video.rb +157 -56
- data/lib/rabbit/element.rb +20 -20
- data/lib/rabbit/formatter.rb +18 -1
- data/lib/rabbit/frame.rb +102 -90
- data/lib/rabbit/front.rb +11 -4
- data/lib/rabbit/gem-finder.rb +4 -8
- data/lib/rabbit/gem-pusher.rb +4 -4
- data/lib/rabbit/gesture/handler.rb +26 -21
- data/lib/rabbit/graffiti/config-dialog.rb +18 -2
- data/lib/rabbit/graffiti/processor.rb +20 -4
- data/lib/rabbit/gtk.rb +48 -14
- data/lib/rabbit/html/generator.rb +18 -18
- data/{test/helper/fixture.rb → lib/rabbit/icon.rb} +16 -6
- data/lib/rabbit/image/base.rb +7 -6
- data/lib/rabbit/image/default.rb +17 -1
- data/lib/rabbit/image/dia.rb +2 -2
- data/lib/rabbit/image/eps.rb +16 -2
- data/lib/rabbit/image/gimp.rb +28 -11
- data/lib/rabbit/image/mermaid.rb +3 -3
- data/lib/rabbit/image/pdf.rb +3 -3
- data/lib/rabbit/image/svg.rb +2 -2
- data/lib/rabbit/image.rb +8 -8
- data/lib/rabbit/info-window.rb +55 -18
- data/lib/rabbit/key-handler.rb +381 -0
- data/lib/rabbit/keys.rb +31 -2
- data/lib/rabbit/logger/base.rb +17 -1
- data/lib/rabbit/logger/gui.rb +20 -4
- data/lib/rabbit/logger/stderr.rb +16 -2
- data/lib/rabbit/logger.rb +4 -4
- data/lib/rabbit/menu.rb +200 -220
- data/lib/rabbit/parser/base.rb +17 -1
- data/lib/rabbit/parser/ext/aafigure.rb +17 -1
- data/lib/rabbit/parser/ext/blockdiag.rb +17 -1
- data/lib/rabbit/parser/ext/charty.rb +2 -2
- data/lib/rabbit/parser/ext/coderay.rb +20 -4
- data/lib/rabbit/parser/ext/enscript.rb +31 -15
- data/lib/rabbit/parser/ext/entity.rb +17 -1
- data/lib/rabbit/parser/ext/image.rb +6 -6
- data/lib/rabbit/parser/ext/inline.rb +17 -1
- data/lib/rabbit/parser/ext/rouge.rb +7 -4
- data/lib/rabbit/parser/ext/tex.rb +18 -2
- data/lib/rabbit/parser/ext/video.rb +4 -4
- data/lib/rabbit/parser/image.rb +20 -4
- data/lib/rabbit/parser/markdown/converter.rb +12 -13
- data/lib/rabbit/parser/markdown.rb +18 -2
- data/lib/rabbit/parser/pause-support.rb +1 -0
- data/lib/rabbit/parser/pdf.rb +3 -3
- data/lib/rabbit/parser/rd/ext/base.rb +20 -4
- data/lib/rabbit/parser/rd/ext/block-verbatim.rb +24 -28
- data/lib/rabbit/parser/rd/ext/character-reference.rb +18 -2
- data/lib/rabbit/parser/rd/ext/image.rb +3 -3
- data/lib/rabbit/parser/rd/ext/inline-verbatim.rb +6 -6
- data/lib/rabbit/parser/rd/ext/refer.rb +18 -2
- data/lib/rabbit/parser/rd/ext/video.rb +19 -2
- data/lib/rabbit/parser/rd/rd2rabbit-lib.rb +24 -8
- data/lib/rabbit/parser/rd/rt/rt2rabbit-lib.rb +18 -2
- data/lib/rabbit/parser/rd/visitor.rb +18 -2
- data/lib/rabbit/parser/rd.rb +18 -2
- data/lib/rabbit/parser/wiki/output.rb +25 -28
- data/lib/rabbit/parser/wiki.rb +18 -2
- data/lib/rabbit/parser.rb +6 -6
- data/lib/rabbit/path-manipulatable.rb +4 -4
- data/lib/rabbit/progress.rb +17 -1
- data/lib/rabbit/properties.rb +3 -3
- data/lib/rabbit/rabbit.rb +15 -7
- data/lib/rabbit/readme-parser.rb +4 -6
- data/lib/rabbit/renderer/base.rb +44 -36
- data/lib/rabbit/renderer/color.rb +18 -2
- data/lib/rabbit/renderer/display/base.rb +10 -12
- data/lib/rabbit/renderer/display/button-handler.rb +141 -60
- data/lib/rabbit/renderer/display/cursor.rb +4 -5
- data/lib/rabbit/renderer/display/drawing-area-base.rb +32 -48
- data/lib/rabbit/renderer/display/drawing-area-primitive.rb +10 -61
- data/lib/rabbit/renderer/display/drawing-area-view-only.rb +19 -8
- data/lib/rabbit/renderer/display/drawing-area.rb +19 -15
- data/lib/rabbit/renderer/display/gesture.rb +9 -9
- data/lib/rabbit/renderer/display/graffiti.rb +22 -13
- data/lib/rabbit/renderer/display/info.rb +22 -2
- data/lib/rabbit/renderer/display/magnifier.rb +30 -17
- data/lib/rabbit/renderer/display/mask.rb +17 -1
- data/lib/rabbit/renderer/display/menu.rb +27 -3
- data/lib/rabbit/renderer/display/motion-handler.rb +45 -0
- data/lib/rabbit/renderer/display/progress.rb +17 -2
- data/lib/rabbit/renderer/display/scroll-handler.rb +60 -13
- data/lib/rabbit/renderer/display/search.rb +19 -2
- data/lib/rabbit/renderer/display/spotlight.rb +39 -25
- data/lib/rabbit/renderer/display.rb +16 -36
- data/lib/rabbit/renderer/engine/cairo.rb +4 -11
- data/lib/rabbit/renderer/engine.rb +17 -1
- data/lib/rabbit/renderer/kernel.rb +2 -20
- data/lib/rabbit/renderer/offscreen.rb +8 -14
- data/lib/rabbit/renderer/print-layout.rb +2 -2
- data/lib/rabbit/renderer/printer.rb +9 -16
- data/lib/rabbit/renderer/scene-background-widget.rb +95 -0
- data/lib/rabbit/renderer/scene-node-widget.rb +63 -0
- data/lib/rabbit/renderer/scene.rb +508 -0
- data/lib/rabbit/renderer.rb +6 -6
- data/lib/rabbit/search-window.rb +18 -2
- data/lib/rabbit/searcher.rb +15 -1
- data/lib/rabbit/size.rb +9 -1
- data/lib/rabbit/slide-configuration.rb +11 -14
- data/lib/rabbit/soap/driver.rb +20 -4
- data/lib/rabbit/soap/server.rb +17 -1
- data/lib/rabbit/source/argf.rb +5 -5
- data/lib/rabbit/source/base.rb +5 -6
- data/lib/rabbit/source/file.rb +5 -5
- data/lib/rabbit/source/memory.rb +20 -4
- data/lib/rabbit/source/uri.rb +9 -11
- data/lib/rabbit/source-generator/hiki.rb +2 -7
- data/lib/rabbit/source-generator/markdown.rb +2 -7
- data/lib/rabbit/source-generator/rd.rb +2 -7
- data/lib/rabbit/source-generator.rb +4 -4
- data/lib/rabbit/source.rb +5 -5
- data/lib/rabbit/task/slide.rb +13 -11
- data/lib/rabbit/task/theme.rb +8 -11
- data/lib/rabbit/task.rb +3 -3
- data/lib/rabbit/theme/applier.rb +27 -11
- data/lib/rabbit/theme/clear-blue/clear-blue.rb +1 -1
- data/lib/rabbit/theme/color-circle/color-circle.rb +18 -1
- data/lib/rabbit/theme/cozmixng/cozmixng.rb +1 -1
- data/lib/rabbit/theme/default/default.rb +1 -0
- data/lib/rabbit/theme/default-icon/default-icon.rb +1 -1
- data/lib/rabbit/theme/default-item-mark-setup/default-item-mark-setup.rb +17 -1
- data/lib/rabbit/theme/default-preformatted/default-preformatted.rb +9 -1
- data/lib/rabbit/theme/enishi-green/enishi-green.rb +1 -1
- data/lib/rabbit/theme/entry.rb +10 -12
- data/lib/rabbit/theme/icon/icon.rb +3 -8
- data/lib/rabbit/theme/image-slide-number/image-slide-number.rb +5 -5
- data/lib/rabbit/theme/image-timer/image-timer.rb +3 -3
- data/lib/rabbit/theme/lightning-simple/lightning-simple.rb +1 -0
- data/lib/rabbit/theme/lightning-talk/lightning-talk.rb +1 -0
- data/lib/rabbit/theme/manager.rb +19 -9
- data/lib/rabbit/theme/rabbit-icon/rabbit-icon.rb +1 -1
- data/lib/rabbit/theme/ranguba/ranguba.rb +1 -1
- data/lib/rabbit/theme/red-frame/red-frame.rb +6 -2
- data/lib/rabbit/theme/ruby-gnome2/ruby-gnome2.rb +1 -0
- data/lib/rabbit/theme/ruby-gnome2-icon/ruby-gnome2-icon.rb +1 -1
- data/lib/rabbit/theme/searcher.rb +23 -7
- data/lib/rabbit/theme/slide-number/slide-number.rb +1 -1
- data/lib/rabbit/theme/slide-show/slide-show.rb +1 -1
- data/lib/rabbit/theme/table/table.rb +2 -2
- data/lib/rabbit/theme/video/property.rb +3 -0
- data/lib/rabbit/theme/video/video.rb +5 -0
- data/lib/rabbit/theme-configuration.rb +9 -11
- data/lib/rabbit/utils.rb +12 -94
- data/lib/rabbit/version.rb +1 -1
- data/lib/rabbit/xmlrpc/client.rb +17 -1
- data/lib/rabbit/xmlrpc/server.rb +17 -1
- data/po/en/rabbit.edit.po +324 -316
- data/po/en/rabbit.po +61 -55
- data/po/fr/rabbit.edit.po +324 -316
- data/po/fr/rabbit.po +61 -55
- data/po/ja/rabbit.edit.po +345 -370
- data/po/ja/rabbit.po +83 -80
- data/rabbit.gemspec +4 -2
- data/sample/block-quote.rab +13 -0
- data/sample/description-list.rab +17 -0
- data/sample/mermaid.rab +16 -0
- data/sample/rabbit-en.hiki +0 -1
- data/sample/rabbit-en.md +0 -1
- data/sample/rabbit-en.rd +0 -1
- data/sample/rabbit.hiki +0 -1
- data/sample/rabbit.md +0 -1
- data/sample/rabbit.rd +0 -1
- data/sample/video.rab +17 -0
- metadata +33 -65
- data/lib/rabbit/action/basic.rb +0 -304
- data/lib/rabbit/action/radio.rb +0 -78
- data/lib/rabbit/action/toggle.rb +0 -82
- data/lib/rabbit/action.rb +0 -140
- data/lib/rabbit/renderer/display/gl.rb +0 -98
- data/lib/rabbit/renderer/display/key-handler.rb +0 -321
- data/lib/rabbit/renderer/gl.rb +0 -95
- data/lib/rabbit/renderer/screen.rb +0 -286
- data/lib/rabbit/renderer/widget/drawing-area.rb +0 -93
- data/lib/rabbit/stock.rb +0 -31
- data/lib/rabbit/trackball.rb +0 -228
- data/lib/rabbit/video-window.rb +0 -123
- data/test/command/test-rabbit.rb +0 -101
- data/test/helper/parser.rb +0 -48
- data/test/helper.rb +0 -24
- data/test/image/test-dia.rb +0 -54
- data/test/image/test-eps.rb +0 -41
- data/test/parser/test-markdown.rb +0 -360
- data/test/parser/test-rd.rb +0 -43
- data/test/parser/test-wiki.rb +0 -71
- data/test/run-test.rb +0 -27
- data/test/source-generator/test-hiki.rb +0 -68
- data/test/source-generator/test-markdown.rb +0 -67
- data/test/source-generator/test-rd.rb +0 -69
- data/test/test-applier.rb +0 -73
- data/test/test-author-configuration.rb +0 -37
- data/test/test-canvas.rb +0 -70
- data/test/test-color.rb +0 -51
- data/test/test-element.rb +0 -103
- data/test/test-readme-parser.rb +0 -160
- data/test/test-size.rb +0 -155
- data/test/test-slide-configuration.rb +0 -74
- data/test/test-source.rb +0 -122
- data/test/test-theme-configuration.rb +0 -47
- data/test/test-utils.rb +0 -64
data/lib/rabbit/searcher.rb
CHANGED
@@ -1,4 +1,18 @@
|
|
1
|
-
|
1
|
+
# Copyright (C) 2006-2025 Sutou Kouhei <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.
|
2
16
|
|
3
17
|
module Rabbit
|
4
18
|
class Searcher
|
data/lib/rabbit/size.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (C) 2015-
|
1
|
+
# Copyright (C) 2015-2025 Kouhei Sutou <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
|
@@ -56,6 +56,14 @@ module Rabbit
|
|
56
56
|
@logical_scale
|
57
57
|
end
|
58
58
|
|
59
|
+
def resolve_logical_x(x)
|
60
|
+
x * @logical_scale[0]
|
61
|
+
end
|
62
|
+
|
63
|
+
def resolve_logical_y(y)
|
64
|
+
y * @logical_scale[0]
|
65
|
+
end
|
66
|
+
|
59
67
|
private
|
60
68
|
def compute_logical_size
|
61
69
|
@logical_width = @base_width
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (C) 2012-
|
1
|
+
# Copyright (C) 2012-2025 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
|
@@ -17,11 +17,10 @@
|
|
17
17
|
require "date"
|
18
18
|
require "time"
|
19
19
|
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
require "rabbit/yaml-loader"
|
20
|
+
require_relative "author-configuration"
|
21
|
+
require_relative "path-manipulatable"
|
22
|
+
require_relative "rabbit"
|
23
|
+
require_relative "yaml-loader"
|
25
24
|
|
26
25
|
module Rabbit
|
27
26
|
class SlideConfiguration
|
@@ -30,7 +29,6 @@ module Rabbit
|
|
30
29
|
|
31
30
|
GEM_NAME_PREFIX = "rabbit-slide"
|
32
31
|
|
33
|
-
attr_accessor :logger
|
34
32
|
attr_accessor :id
|
35
33
|
attr_accessor :base_name
|
36
34
|
attr_accessor :tags
|
@@ -47,8 +45,7 @@ module Rabbit
|
|
47
45
|
attr_accessor :width
|
48
46
|
attr_accessor :height
|
49
47
|
attr_accessor :source_code_uri
|
50
|
-
def initialize
|
51
|
-
@logger = logger || Logger.default
|
48
|
+
def initialize
|
52
49
|
clear
|
53
50
|
end
|
54
51
|
|
@@ -71,7 +68,7 @@ module Rabbit
|
|
71
68
|
merge!(conf)
|
72
69
|
rescue
|
73
70
|
format = _("Failed to read slide configuration: %s: %s")
|
74
|
-
|
71
|
+
Rabbit.logger.error(format % [path, $!.message])
|
75
72
|
end
|
76
73
|
|
77
74
|
def save(base_dir)
|
@@ -81,7 +78,7 @@ module Rabbit
|
|
81
78
|
end
|
82
79
|
rescue
|
83
80
|
format = _("Failed to write slide configuration: %s: %s")
|
84
|
-
|
81
|
+
Rabbit.logger.error(format % [config_path, $!.message])
|
85
82
|
end
|
86
83
|
|
87
84
|
def clear
|
@@ -98,8 +95,8 @@ module Rabbit
|
|
98
95
|
@vimeo_id = nil
|
99
96
|
@youtube_id = nil
|
100
97
|
@author = nil
|
101
|
-
@width =
|
102
|
-
@height =
|
98
|
+
@width = 1920
|
99
|
+
@height = 1080
|
103
100
|
@source_code_uri = nil
|
104
101
|
end
|
105
102
|
|
@@ -122,7 +119,7 @@ module Rabbit
|
|
122
119
|
@tags |= (conf["tags"] || [])
|
123
120
|
@licenses |= (conf["licenses"] || [])
|
124
121
|
|
125
|
-
@author ||= AuthorConfiguration.new
|
122
|
+
@author ||= AuthorConfiguration.new
|
126
123
|
@author.merge!(conf["author"] || {})
|
127
124
|
|
128
125
|
@width = conf["width"] || @width
|
data/lib/rabbit/soap/driver.rb
CHANGED
@@ -1,7 +1,23 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
1
|
+
# Copyright (C) 2005-2025 Sutou Kouhei <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 "soap/rpc/driver"
|
18
|
+
|
19
|
+
require_relative "base"
|
20
|
+
require_relative "../front"
|
5
21
|
|
6
22
|
module Rabbit
|
7
23
|
module SOAP
|
data/lib/rabbit/soap/server.rb
CHANGED
@@ -1,6 +1,22 @@
|
|
1
|
+
# Copyright (C) 2006-2025 Sutou Kouhei <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
|
+
|
1
17
|
require "soap/rpc/httpserver"
|
2
18
|
|
3
|
-
|
19
|
+
require_relative "base"
|
4
20
|
|
5
21
|
module Rabbit
|
6
22
|
module SOAP
|
data/lib/rabbit/source/argf.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (C) 2004-
|
1
|
+
# Copyright (C) 2004-2025 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,7 +14,7 @@
|
|
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
|
-
|
17
|
+
require_relative "base"
|
18
18
|
|
19
19
|
module Rabbit
|
20
20
|
module Source
|
@@ -26,8 +26,8 @@ module Rabbit
|
|
26
26
|
N_("none (get from STDIN) or [FILE_NAMES]")
|
27
27
|
end
|
28
28
|
|
29
|
-
def initialize(encoding,
|
30
|
-
super(encoding
|
29
|
+
def initialize(encoding, argf)
|
30
|
+
super(encoding)
|
31
31
|
@argf = argf
|
32
32
|
end
|
33
33
|
|
@@ -36,7 +36,7 @@ module Rabbit
|
|
36
36
|
begin
|
37
37
|
@argf.read
|
38
38
|
rescue
|
39
|
-
|
39
|
+
Rabbit.logger.error($!.message)
|
40
40
|
+""
|
41
41
|
end
|
42
42
|
end
|
data/lib/rabbit/source/base.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (C) 2004-
|
1
|
+
# Copyright (C) 2004-2025 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,10 +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
|
18
|
-
require
|
17
|
+
require "fileutils"
|
18
|
+
require "tmpdir"
|
19
19
|
|
20
|
-
|
20
|
+
require_relative "../rabbit"
|
21
21
|
|
22
22
|
module Rabbit
|
23
23
|
module Source
|
@@ -30,9 +30,8 @@ module Rabbit
|
|
30
30
|
attr_reader :base, :tmp_base
|
31
31
|
attr_accessor :encoding, :force_modified
|
32
32
|
|
33
|
-
def initialize(encoding
|
33
|
+
def initialize(encoding)
|
34
34
|
@encoding = encoding
|
35
|
-
@logger = logger
|
36
35
|
@source = nil
|
37
36
|
@force_modified = false
|
38
37
|
init_base
|
data/lib/rabbit/source/file.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (C) 2004-
|
1
|
+
# Copyright (C) 2004-2025 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,7 +14,7 @@
|
|
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
|
-
|
17
|
+
require_relative "base"
|
18
18
|
|
19
19
|
module Rabbit
|
20
20
|
module Source
|
@@ -25,9 +25,9 @@ module Rabbit
|
|
25
25
|
N_("[FILENAME]")
|
26
26
|
end
|
27
27
|
|
28
|
-
def initialize(encoding,
|
28
|
+
def initialize(encoding, name)
|
29
29
|
@name = name
|
30
|
-
super(encoding
|
30
|
+
super(encoding)
|
31
31
|
@mtime = nil
|
32
32
|
end
|
33
33
|
|
@@ -39,7 +39,7 @@ module Rabbit
|
|
39
39
|
f.read
|
40
40
|
end
|
41
41
|
rescue SourceUnreadableError
|
42
|
-
|
42
|
+
Rabbit.logger.error($!.message)
|
43
43
|
@mtime = Time.now + LimitAccessInterval::MINIMUM_ACCESS_TIME
|
44
44
|
+""
|
45
45
|
end
|
data/lib/rabbit/source/memory.rb
CHANGED
@@ -1,4 +1,20 @@
|
|
1
|
-
|
1
|
+
# Copyright (C) 2005-2025 Sutou Kouhei <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_relative "base"
|
2
18
|
|
3
19
|
module Rabbit
|
4
20
|
module Source
|
@@ -11,10 +27,10 @@ module Rabbit
|
|
11
27
|
|
12
28
|
attr_accessor :extension
|
13
29
|
|
14
|
-
def initialize(encoding,
|
15
|
-
super(encoding
|
30
|
+
def initialize(encoding, name=nil)
|
31
|
+
super(encoding)
|
16
32
|
if name
|
17
|
-
file_source = File.new(encoding,
|
33
|
+
file_source = File.new(encoding, name)
|
18
34
|
@original_source = file_source.read
|
19
35
|
set_base(file_source.base)
|
20
36
|
@extension = extract_extension(name)
|
data/lib/rabbit/source/uri.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (C) 2004-
|
1
|
+
# Copyright (C) 2004-2025 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
|
@@ -17,7 +17,7 @@
|
|
17
17
|
require "uri"
|
18
18
|
require "open-uri"
|
19
19
|
|
20
|
-
|
20
|
+
require_relative "base"
|
21
21
|
|
22
22
|
module Rabbit
|
23
23
|
module Source
|
@@ -27,13 +27,13 @@ module Rabbit
|
|
27
27
|
include LimitAccessInterval
|
28
28
|
|
29
29
|
class << self
|
30
|
-
def new(encoding,
|
30
|
+
def new(encoding, uri)
|
31
31
|
parsed_uri = ::URI.parse(uri)
|
32
32
|
case parsed_uri.scheme
|
33
33
|
when nil
|
34
|
-
File.new(encoding,
|
34
|
+
File.new(encoding, parsed_uri.path)
|
35
35
|
when /\Afile\z/i
|
36
|
-
File.new(encoding,
|
36
|
+
File.new(encoding, uri.gsub(/\Afile:\/\//i, ""))
|
37
37
|
else
|
38
38
|
super
|
39
39
|
end
|
@@ -44,9 +44,9 @@ module Rabbit
|
|
44
44
|
end
|
45
45
|
end
|
46
46
|
|
47
|
-
def initialize(encoding,
|
47
|
+
def initialize(encoding, uri)
|
48
48
|
@uri = ::URI.parse(uri)
|
49
|
-
super(encoding
|
49
|
+
super(encoding)
|
50
50
|
@last_modified = nil
|
51
51
|
end
|
52
52
|
|
@@ -66,7 +66,7 @@ module Rabbit
|
|
66
66
|
f.read
|
67
67
|
end
|
68
68
|
rescue
|
69
|
-
|
69
|
+
Rabbit.logger.error($!.message)
|
70
70
|
@last_modified = Time.now + MINIMUM_ACCESS_TIME
|
71
71
|
+""
|
72
72
|
end
|
@@ -84,12 +84,10 @@ module Rabbit
|
|
84
84
|
f.last_modified
|
85
85
|
end
|
86
86
|
rescue
|
87
|
-
|
87
|
+
Rabbit.logger.error($!.message)
|
88
88
|
Time.now
|
89
89
|
end
|
90
90
|
end
|
91
|
-
|
92
91
|
end
|
93
|
-
|
94
92
|
end
|
95
93
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (C) 2012 Kouhei
|
1
|
+
# Copyright (C) 2012-2025 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,7 +14,7 @@
|
|
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
|
-
|
17
|
+
require_relative "../rabbit"
|
18
18
|
|
19
19
|
module Rabbit
|
20
20
|
module SourceGenerator
|
@@ -22,11 +22,6 @@ module Rabbit
|
|
22
22
|
include GetText
|
23
23
|
include PathManipulatable
|
24
24
|
|
25
|
-
attr_accessor :logger
|
26
|
-
def initialize(logger=nil)
|
27
|
-
@logger = logger || Logger.default
|
28
|
-
end
|
29
|
-
|
30
25
|
def heading(level, title)
|
31
26
|
("!" * level) + " #{title}"
|
32
27
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (C) 2012 Kouhei
|
1
|
+
# Copyright (C) 2012-2025 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,7 +14,7 @@
|
|
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
|
-
|
17
|
+
require_relative "../rabbit"
|
18
18
|
|
19
19
|
module Rabbit
|
20
20
|
module SourceGenerator
|
@@ -22,11 +22,6 @@ module Rabbit
|
|
22
22
|
include GetText
|
23
23
|
include PathManipulatable
|
24
24
|
|
25
|
-
attr_accessor :logger
|
26
|
-
def initialize(logger=nil)
|
27
|
-
@logger = logger || Logger.default
|
28
|
-
end
|
29
|
-
|
30
25
|
def heading(level, title)
|
31
26
|
("#" * level) + " #{title}"
|
32
27
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (C) 2012 Kouhei
|
1
|
+
# Copyright (C) 2012-2025 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,7 +14,7 @@
|
|
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
|
-
|
17
|
+
require_relative "../rabbit"
|
18
18
|
|
19
19
|
module Rabbit
|
20
20
|
module SourceGenerator
|
@@ -22,11 +22,6 @@ module Rabbit
|
|
22
22
|
include GetText
|
23
23
|
include PathManipulatable
|
24
24
|
|
25
|
-
attr_accessor :logger
|
26
|
-
def initialize(logger=nil)
|
27
|
-
@logger = logger || Logger.default
|
28
|
-
end
|
29
|
-
|
30
25
|
def heading(level, title)
|
31
26
|
("=" * level) + " #{title}"
|
32
27
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (C) 2012 Kouhei
|
1
|
+
# Copyright (C) 2012-2025 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
|
@@ -33,7 +33,7 @@ module Rabbit
|
|
33
33
|
end
|
34
34
|
end
|
35
35
|
|
36
|
-
|
37
|
-
|
38
|
-
|
36
|
+
require_relative "source-generator/rd"
|
37
|
+
require_relative "source-generator/hiki"
|
38
|
+
require_relative "source-generator/markdown"
|
39
39
|
|
data/lib/rabbit/source.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (C) 2017 Kouhei
|
1
|
+
# Copyright (C) 2017-2025 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,10 +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
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
17
|
+
require_relative "source/argf"
|
18
|
+
require_relative "source/file"
|
19
|
+
require_relative "source/memory"
|
20
|
+
require_relative "source/uri"
|
21
21
|
|
22
22
|
module Rabbit
|
23
23
|
module Source
|
data/lib/rabbit/task/slide.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (C) 2012-
|
1
|
+
# Copyright (C) 2012-2025 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
|
@@ -16,13 +16,11 @@
|
|
16
16
|
|
17
17
|
require "rake"
|
18
18
|
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
require "rabbit/gem-builder"
|
25
|
-
require "rabbit/gem-pusher"
|
19
|
+
require_relative "../command/rabbit"
|
20
|
+
require_relative "../slide-configuration"
|
21
|
+
require_relative "../readme-parser"
|
22
|
+
require_relative "../gem-builder"
|
23
|
+
require_relative "../gem-pusher"
|
26
24
|
|
27
25
|
module Rabbit
|
28
26
|
module Task
|
@@ -32,7 +30,6 @@ module Rabbit
|
|
32
30
|
|
33
31
|
attr_accessor :package_dir, :pdf_dir, :required_rabbit_version
|
34
32
|
def initialize
|
35
|
-
@logger = Logger.default
|
36
33
|
@slide = load_slide_configuration
|
37
34
|
@package_dir = "pkg"
|
38
35
|
@pdf_dir = "pdf"
|
@@ -47,18 +44,19 @@ module Rabbit
|
|
47
44
|
|
48
45
|
private
|
49
46
|
def load_slide_configuration
|
50
|
-
slide_conf = SlideConfiguration.new
|
47
|
+
slide_conf = SlideConfiguration.new
|
51
48
|
slide_conf.load
|
52
49
|
slide_conf
|
53
50
|
end
|
54
51
|
|
55
52
|
def create_spec
|
56
|
-
readme_parser = READMEParser.new
|
53
|
+
readme_parser = READMEParser.new
|
57
54
|
readme_parser.parse
|
58
55
|
|
59
56
|
Gem::Specification.new do |spec|
|
60
57
|
spec.name = @slide.gem_name
|
61
58
|
spec.version = @slide.version
|
59
|
+
spec.date = @slide.presentation_date
|
62
60
|
spec.homepage = homepage
|
63
61
|
spec.authors = [@slide.author.name]
|
64
62
|
spec.email = [@slide.author.email]
|
@@ -68,6 +66,10 @@ module Rabbit
|
|
68
66
|
if @slide.source_code_uri
|
69
67
|
spec.metadata["source_code_uri"] = @slide.source_code_uri
|
70
68
|
end
|
69
|
+
markup_language = @slide.author.markup_language
|
70
|
+
if markup_language
|
71
|
+
spec.metadata["markup_language"] = markup_language.to_s
|
72
|
+
end
|
71
73
|
|
72
74
|
slide_conf_path = @slide.path
|
73
75
|
spec.files = [".rabbit", slide_conf_path, "Rakefile"]
|
data/lib/rabbit/task/theme.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (C) 2012-
|
1
|
+
# Copyright (C) 2012-2025 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
|
@@ -16,13 +16,11 @@
|
|
16
16
|
|
17
17
|
require "rake"
|
18
18
|
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
require "rabbit/gem-builder"
|
25
|
-
require "rabbit/gem-pusher"
|
19
|
+
require_relative "../command/rabbit"
|
20
|
+
require_relative "../theme-configuration"
|
21
|
+
require_relative "../readme-parser"
|
22
|
+
require_relative "../gem-builder"
|
23
|
+
require_relative "../gem-pusher"
|
26
24
|
|
27
25
|
module Rabbit
|
28
26
|
module Task
|
@@ -32,7 +30,6 @@ module Rabbit
|
|
32
30
|
|
33
31
|
attr_accessor :package_dir, :pdf_dir, :required_rabbit_version
|
34
32
|
def initialize
|
35
|
-
@logger = Logger.default
|
36
33
|
@theme = load_theme_configuration
|
37
34
|
@spec = nil
|
38
35
|
@package_dir = "pkg"
|
@@ -48,13 +45,13 @@ module Rabbit
|
|
48
45
|
|
49
46
|
private
|
50
47
|
def load_theme_configuration
|
51
|
-
theme_conf = ThemeConfiguration.new
|
48
|
+
theme_conf = ThemeConfiguration.new
|
52
49
|
theme_conf.load
|
53
50
|
theme_conf
|
54
51
|
end
|
55
52
|
|
56
53
|
def create_spec
|
57
|
-
readme_parser = READMEParser.new
|
54
|
+
readme_parser = READMEParser.new
|
58
55
|
readme_parser.parse
|
59
56
|
|
60
57
|
Gem::Specification.new do |spec|
|
data/lib/rabbit/task.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (C) 2012 Kouhei
|
1
|
+
# Copyright (C) 2012-2025 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,5 +14,5 @@
|
|
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
|
-
|
18
|
-
|
17
|
+
require_relative "task/slide"
|
18
|
+
require_relative "task/theme"
|