rabbit 1.0.9 → 2.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.
Files changed (181) hide show
  1. data/GPL +19 -20
  2. data/Rakefile +25 -10
  3. data/bin/rabbit +20 -844
  4. data/bin/rabbit-command +25 -36
  5. data/bin/rabbit-slide +22 -0
  6. data/bin/rabbit-theme +22 -0
  7. data/bin/rabbit-theme-manager +30 -30
  8. data/data/account.kou.gpg +0 -0
  9. data/data/locale/en/LC_MESSAGES/rabbit.mo +0 -0
  10. data/data/locale/fr/LC_MESSAGES/rabbit.mo +0 -0
  11. data/data/locale/ja/LC_MESSAGES/rabbit.mo +0 -0
  12. data/doc/_config.yml +8 -0
  13. data/doc/_includes/en.menu.html +8 -0
  14. data/doc/_includes/ja.menu.html +8 -0
  15. data/doc/_layouts/en.html +19 -16
  16. data/doc/_layouts/ja.html +19 -16
  17. data/doc/_plugins/converters/rd.rb +1 -1
  18. data/doc/_plugins/support_symlink.rb +11 -0
  19. data/doc/en/development.rd +2 -2
  20. data/doc/en/how-to-make/index.rd +5 -5
  21. data/doc/en/how-to-make/rd.rd +1 -1
  22. data/doc/en/index.rd +6 -12
  23. data/doc/en/sample/index.rd +3 -3
  24. data/doc/en/slides.rd +2 -0
  25. data/doc/en/usage.rd +14 -356
  26. data/doc/en/usage/rabbit.rd +360 -0
  27. data/doc/en/users.rd +3 -1
  28. data/doc/images/screenshots/en/blue-circle-raw.png +0 -0
  29. data/doc/images/screenshots/en/blue-circle.png +0 -0
  30. data/doc/images/screenshots/en/clear-blue-raw.png +0 -0
  31. data/doc/images/screenshots/en/clear-blue.png +0 -0
  32. data/doc/images/screenshots/en/cozmixng-raw.png +0 -0
  33. data/doc/images/screenshots/en/cozmixng.png +0 -0
  34. data/doc/images/screenshots/en/dark-gradation-raw.png +0 -0
  35. data/doc/images/screenshots/en/dark-gradation.png +0 -0
  36. data/doc/images/screenshots/en/day-white.png +0 -0
  37. data/doc/images/screenshots/en/debian-raw.png +0 -0
  38. data/doc/images/screenshots/en/debian.png +0 -0
  39. data/doc/images/screenshots/en/green-circle-raw.png +0 -0
  40. data/doc/images/screenshots/en/green-circle.png +0 -0
  41. data/doc/images/screenshots/en/night-black.png +0 -0
  42. data/doc/images/screenshots/en/rabbit-raw.png +0 -0
  43. data/doc/images/screenshots/en/rabbit.png +0 -0
  44. data/doc/images/screenshots/en/ranguba-raw.png +0 -0
  45. data/doc/images/screenshots/en/ranguba.png +0 -0
  46. data/doc/images/screenshots/en/red-frame-raw.png +0 -0
  47. data/doc/images/screenshots/en/red-frame.png +0 -0
  48. data/doc/images/screenshots/en/ruby-gnome2-raw.png +0 -0
  49. data/doc/images/screenshots/en/ruby-gnome2.png +0 -0
  50. data/doc/images/screenshots/en/rubykaigi2011-raw.png +0 -0
  51. data/doc/images/screenshots/en/rubykaigi2011.png +0 -0
  52. data/doc/images/screenshots/ja/blue-circle-raw.png +0 -0
  53. data/doc/images/screenshots/ja/blue-circle.png +0 -0
  54. data/doc/images/screenshots/ja/clear-blue-raw.png +0 -0
  55. data/doc/images/screenshots/ja/clear-blue.png +0 -0
  56. data/doc/images/screenshots/ja/cozmixng-raw.png +0 -0
  57. data/doc/images/screenshots/ja/cozmixng.png +0 -0
  58. data/doc/images/screenshots/ja/dark-gradation-raw.png +0 -0
  59. data/doc/images/screenshots/ja/dark-gradation.png +0 -0
  60. data/doc/images/screenshots/ja/day-white.png +0 -0
  61. data/doc/images/screenshots/ja/debian-raw.png +0 -0
  62. data/doc/images/screenshots/ja/debian.png +0 -0
  63. data/doc/images/screenshots/ja/green-circle-raw.png +0 -0
  64. data/doc/images/screenshots/ja/green-circle.png +0 -0
  65. data/doc/images/screenshots/ja/night-black.png +0 -0
  66. data/doc/images/screenshots/ja/rabbit-raw.png +0 -0
  67. data/doc/images/screenshots/ja/rabbit.png +0 -0
  68. data/doc/images/screenshots/ja/ranguba-raw.png +0 -0
  69. data/doc/images/screenshots/ja/ranguba.png +0 -0
  70. data/doc/images/screenshots/ja/red-frame-raw.png +0 -0
  71. data/doc/images/screenshots/ja/red-frame.png +0 -0
  72. data/doc/images/screenshots/ja/ruby-gnome2-raw.png +0 -0
  73. data/doc/images/screenshots/ja/ruby-gnome2.png +0 -0
  74. data/doc/images/screenshots/ja/rubykaigi2011-raw.png +0 -0
  75. data/doc/images/screenshots/ja/rubykaigi2011.png +0 -0
  76. data/doc/index.html.en +1 -1
  77. data/doc/index.html.ja +1 -1
  78. data/doc/ja/about.rd +3 -3
  79. data/doc/ja/development.rd +2 -2
  80. data/doc/ja/how-to-make/index.rd +5 -5
  81. data/doc/ja/index.rd +10 -16
  82. data/doc/ja/install/macports.rd +1 -1
  83. data/doc/ja/news.rd +4 -4
  84. data/doc/ja/sample/index.rd +3 -3
  85. data/doc/ja/usage.rd +13 -358
  86. data/doc/ja/usage/rabbit.rd +362 -0
  87. data/doc/ja/users.rd +1 -1
  88. data/lib/rabbit/action.rb +2 -2
  89. data/lib/rabbit/author-configuration.rb +73 -0
  90. data/lib/rabbit/canvas.rb +0 -14
  91. data/lib/rabbit/command/rabbit-slide.rb +571 -0
  92. data/lib/rabbit/command/rabbit-theme.rb +381 -0
  93. data/lib/rabbit/command/rabbit.rb +898 -0
  94. data/lib/rabbit/config.rb +40 -0
  95. data/lib/rabbit/console.rb +124 -55
  96. data/lib/rabbit/gem-finder.rb +61 -0
  97. data/lib/rabbit/gettext.rb +6 -79
  98. data/lib/rabbit/html/generator.rb +1 -0
  99. data/lib/rabbit/image.rb +1 -1
  100. data/lib/rabbit/logger.rb +12 -2
  101. data/lib/rabbit/logger/base.rb +33 -32
  102. data/lib/rabbit/logger/stderr.rb +1 -1
  103. data/lib/rabbit/menu.rb +1 -1
  104. data/lib/rabbit/parser.rb +2 -0
  105. data/lib/rabbit/parser/ext/image.rb +14 -20
  106. data/lib/rabbit/path-manipulatable.rb +40 -0
  107. data/lib/rabbit/rabbit.rb +18 -8
  108. data/lib/rabbit/renderer/base.rb +3 -4
  109. data/lib/rabbit/renderer/color.rb +0 -1
  110. data/lib/rabbit/slideshare.rb +116 -0
  111. data/lib/rabbit/source/base.rb +1 -1
  112. data/lib/rabbit/stock.rb +1 -1
  113. data/lib/rabbit/task.rb +18 -0
  114. data/lib/rabbit/task/slide.rb +162 -0
  115. data/lib/rabbit/task/theme.rb +122 -0
  116. data/lib/rabbit/theme-browser/tree.rb +1 -1
  117. data/lib/rabbit/theme/applier.rb +9 -0
  118. data/lib/rabbit/theme/background-image-toolkit/background-image-toolkit.rb +1 -2
  119. data/lib/rabbit/theme/blue-bar/blue-bar.rb +0 -11
  120. data/lib/rabbit/theme/clear-blue/clear-blue.rb +0 -11
  121. data/lib/rabbit/theme/cozmixng/cozmixng.rb +0 -11
  122. data/lib/rabbit/theme/day-white/day-white.rb +0 -6
  123. data/lib/rabbit/theme/default/default.rb +7 -1
  124. data/lib/rabbit/theme/enishi-green/property.rb +2 -2
  125. data/lib/rabbit/theme/entry.rb +85 -27
  126. data/lib/rabbit/theme/image-slide-number/image-slide-number.rb +4 -1
  127. data/lib/rabbit/theme/lightning-monochrome/lightning-monochrome.rb +0 -1
  128. data/lib/rabbit/theme/lightning-simple/lightning-simple.rb +0 -1
  129. data/lib/rabbit/theme/nari/nari.rb +6 -16
  130. data/lib/rabbit/theme/nari/property.rb +3 -0
  131. data/lib/rabbit/theme/night-black/night-black.rb +0 -6
  132. data/lib/rabbit/theme/pdf/pdf.rb +0 -4
  133. data/lib/rabbit/theme/rabbit/rabbit.rb +0 -6
  134. data/lib/rabbit/theme/ranguba/ranguba.rb +0 -12
  135. data/lib/rabbit/theme/ruby-gnome2/ruby-gnome2.rb +7 -4
  136. data/lib/rabbit/theme/rubykaigi2011/rubykaigi2011.rb +2 -9
  137. data/lib/rabbit/theme/searcher.rb +38 -16
  138. data/lib/rabbit/theme/syntax-highlighting/property.rb +2 -2
  139. data/lib/rabbit/version.rb +19 -0
  140. data/po/en/rabbit.po +1605 -1425
  141. data/po/fr/rabbit.po +1756 -1684
  142. data/po/ja/rabbit.po +2198 -2097
  143. data/po/rabbit.pot +1556 -1419
  144. metadata +34 -100
  145. data/bin/rabbirack +0 -99
  146. data/bin/rabbiter +0 -108
  147. data/bin/rabrick +0 -95
  148. data/bin/rabwii +0 -77
  149. data/lib/rabbit/default-config.rb +0 -24
  150. data/lib/rabbit/div/comment-i.erb +0 -7
  151. data/lib/rabbit/div/comment.erb +0 -45
  152. data/lib/rabbit/div/css.erb +0 -1
  153. data/lib/rabbit/div/js.erb +0 -1
  154. data/lib/rabbit/div/log.erb +0 -5
  155. data/lib/rabbit/div/main-i.erb +0 -24
  156. data/lib/rabbit/div/main.css +0 -40
  157. data/lib/rabbit/div/main.erb +0 -33
  158. data/lib/rabbit/div/navi-i.erb +0 -6
  159. data/lib/rabbit/div/navi.erb +0 -6
  160. data/lib/rabbit/div/prototype.js +0 -4320
  161. data/lib/rabbit/div/slide-i.erb +0 -2
  162. data/lib/rabbit/div/slide.erb +0 -5
  163. data/lib/rabbit/div/tofu.rb +0 -309
  164. data/lib/rabbit/middleware/config.ru +0 -42
  165. data/lib/rabbit/middleware/controller.rb +0 -63
  166. data/lib/rabbit/middleware/public/stylesheets/rabbirack.css +0 -12
  167. data/lib/rabbit/middleware/views/index.haml +0 -13
  168. data/lib/rabbit/middleware/views/layout.haml +0 -8
  169. data/lib/rabbit/post-setup.rb +0 -8
  170. data/lib/rabbit/pre-clean.rb +0 -2
  171. data/lib/rabbit/pre-distclean.rb +0 -2
  172. data/lib/rabbit/theme/twitter-comment/property.rb +0 -4
  173. data/lib/rabbit/theme/twitter-comment/twitter-comment.rb +0 -15
  174. data/lib/rabbit/twitter.rb +0 -239
  175. data/sample/theme-bench-en.hiki +0 -100
  176. data/sample/theme-bench-en.rab +0 -127
  177. data/sample/theme-bench.hiki +0 -101
  178. data/sample/theme-bench.rab +0 -128
  179. data/setup.rb +0 -1585
  180. data/update-mo.rb +0 -20
  181. data/update-po.rb +0 -57
@@ -10,7 +10,7 @@ module Rabbit
10
10
 
11
11
  def self.append_features(klass)
12
12
  super
13
- klass.extend(GetText)
13
+ klass.send(:include, GetText)
14
14
  end
15
15
 
16
16
  attr_reader :base, :tmp_base
data/lib/rabbit/stock.rb CHANGED
@@ -4,7 +4,7 @@ require 'rabbit/rabbit'
4
4
 
5
5
  module Rabbit
6
6
  module Stock
7
- extend GetText
7
+ include GetText
8
8
 
9
9
  RABBIT = :rabbit_rabbit
10
10
 
@@ -0,0 +1,18 @@
1
+ # Copyright (C) 2012 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 "rabbit/task/slide"
18
+ require "rabbit/task/theme"
@@ -0,0 +1,162 @@
1
+ # Copyright (C) 2012 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 "rake"
18
+
19
+ require "rabbit/gettext"
20
+ require "rabbit/logger"
21
+ require "rabbit/command/rabbit"
22
+
23
+ module Rabbit
24
+ module Task
25
+ class Slide
26
+ include Rake::DSL
27
+ include GetText
28
+
29
+ attr_reader :spec
30
+ attr_accessor :package_dir, :pdf_dir, :pdf_base_path
31
+ attr_accessor :tags, :presentation_date
32
+ attr_accessor :rubygems_user, :slideshare_user, :speaker_deck_user
33
+ def initialize(spec)
34
+ @logger = Logger.default
35
+ @spec = spec
36
+ @package_dir = "pkg"
37
+ @pdf_dir = "pdf"
38
+ @pdf_base_path = nil
39
+ @tags = []
40
+ @presentation_date = nil
41
+ @rubygems_user = nil
42
+ @slideshare_user = nil
43
+ @speaker_deck_user = nil
44
+ yield(self) if block_given?
45
+ define
46
+ end
47
+
48
+ private
49
+ def define
50
+ task :default => :run
51
+
52
+ options_file = ".rabbit"
53
+ file options_file do
54
+ format = _("To run rabbit, create '%{options_file}'!")
55
+ raise(format % {:options_file => options_file})
56
+ end
57
+
58
+ desc(_("Show slide"))
59
+ task :run => options_file do
60
+ rabbit
61
+ end
62
+
63
+ desc(_("Create gem: %{gem_path}") % {:gem_path => gem_path})
64
+ task :gem => "gem:validate" do
65
+ mkdir_p(@package_dir)
66
+ Gem::Builder.new(@spec).build
67
+ mv(File.basename(@spec.cache_file), gem_path)
68
+ end
69
+
70
+ namespace :gem do
71
+ task :validate do
72
+ errors = []
73
+ format = _("Write %{item} in %{where}: %{content}")
74
+ data = {
75
+ :where => Dir.glob("README*")[0],
76
+ }
77
+ [:summary, :description].each do |item|
78
+ content = @spec.send(item)
79
+ if /TODO|FIXME/ =~ content
80
+ data[:item] = item
81
+ data[:content] = content
82
+ errors << (format % data)
83
+ end
84
+ end
85
+ unless errors.empty?
86
+ raise errors.join("\n")
87
+ end
88
+ end
89
+ end
90
+
91
+ pdf_path = File.join(@pdf_dir, @pdf_base_path || default_pdf_base_path)
92
+ file pdf_path => [options_file, *@spec.files] do
93
+ mkdir_p(@pdf_dir)
94
+ rabbit("--print",
95
+ "--output-filename", pdf_path)
96
+ end
97
+
98
+ desc(_("Generate PDF: %{pdf_path}") % {:pdf_path => pdf_path})
99
+ task :pdf => pdf_path
100
+
101
+ desc(_("Publish the slide to all available targets"))
102
+ task :publish
103
+
104
+ publish_tasks = []
105
+ namespace :publish do
106
+ if @rubygems_user
107
+ desc(_("Publish the slide to RubyGems.org"))
108
+ task :rubygems => :gem do
109
+ ruby("-S", "gem", "push", "--verbose", gem_path)
110
+ end
111
+ publish_tasks << :rubygems
112
+ end
113
+
114
+ if @slideshare_user
115
+ desc(_("Publish the slide to SlideShare"))
116
+ task :slideshare => [:pdf, "gem:validate"] do
117
+ require "rabbit/slideshare"
118
+ slideshare = SlideShare.new(@logger)
119
+ slideshare.user = @slideshare_user
120
+ slideshare.pdf_path = pdf_path
121
+ slideshare.title = @spec.summary
122
+ slideshare.description = @spec.description
123
+ slideshare.tags = @tags if @tags
124
+ id = slideshare.upload
125
+ if id
126
+ url = "http://www.slideshare.net/#{@slideshare_user}/ss-#{id}"
127
+ @logger.info(_("Uploaded successfully!"))
128
+ @logger.info(_("See %s") % url)
129
+ Gtk.show_uri(url) if Gtk.respond_to?(:show_uri)
130
+ end
131
+ end
132
+ publish_tasks << :slideshare
133
+ end
134
+
135
+ if @speaker_deck_user
136
+ desc(_("Publish the slide to Spearker Deck"))
137
+ task :speaker_deck => :pdf do
138
+ raise "Not implemented yet."
139
+ end
140
+ publish_tasks << :speaker_deck
141
+ end
142
+ end
143
+ task :publish => publish_tasks.collect {|task| "publish:#{task}"}
144
+ end
145
+
146
+ def gem_path
147
+ File.join(@package_dir, "#{@spec.name}-#{@spec.version}.gem")
148
+ end
149
+
150
+ def default_pdf_base_path
151
+ user_name_and_slide_id = @spec.name.gsub(/\Arabbit-slide-/, "")
152
+ escaped_user = Regexp.escape(@rubygems_user)
153
+ slide_id = user_name_and_slide_id.gsub(/\A#{escaped_user}-/, "")
154
+ "#{slide_id}.pdf"
155
+ end
156
+
157
+ def rabbit(*arguments)
158
+ Rabbit::Command::Rabbit.run(*arguments)
159
+ end
160
+ end
161
+ end
162
+ end
@@ -0,0 +1,122 @@
1
+ # Copyright (C) 2012 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 "rake"
18
+
19
+ require "rabbit/gettext"
20
+ require "rabbit/logger"
21
+ require "rabbit/command/rabbit"
22
+
23
+ module Rabbit
24
+ module Task
25
+ class Theme
26
+ include Rake::DSL
27
+ include GetText
28
+
29
+ attr_reader :spec
30
+ attr_accessor :package_dir, :pdf_dir, :pdf_base_path
31
+ attr_accessor :rubygems_user
32
+ def initialize(spec)
33
+ @logger = Logger.default
34
+ @spec = spec
35
+ @package_dir = "pkg"
36
+ @pdf_dir = "pdf"
37
+ @pdf_base_path = nil
38
+ @rubygems_user = nil
39
+ yield(self) if block_given?
40
+ define
41
+ end
42
+
43
+ private
44
+ def define
45
+ task :default => :run
46
+
47
+ desc(_("Show theme benchmark slide with this theme"))
48
+ task :run do
49
+ rabbit("--theme", ".", _("rabbit-theme-benchmark-en.gem"))
50
+ end
51
+
52
+ desc(_("Create gem: %{gem_path}") % {:gem_path => gem_path})
53
+ task :gem => "gem:validate" do
54
+ mkdir_p(@package_dir)
55
+ Gem::Builder.new(@spec).build
56
+ mv(File.basename(@spec.cache_file), gem_path)
57
+ end
58
+
59
+ namespace :gem do
60
+ task :validate do
61
+ errors = []
62
+ format = _("Write %{item} in %{where}: %{content}")
63
+ data = {
64
+ :where => Dir.glob("README*")[0],
65
+ }
66
+ [:summary, :description].each do |item|
67
+ content = @spec.send(item)
68
+ if /TODO|FIXME/ =~ content
69
+ data[:item] = item
70
+ data[:content] = content
71
+ errors << (format % data)
72
+ end
73
+ end
74
+ unless errors.empty?
75
+ raise errors.join("\n")
76
+ end
77
+ end
78
+ end
79
+
80
+ pdf_path = File.join(@pdf_dir, @pdf_base_path || default_pdf_base_path)
81
+ file pdf_path => [*@spec.files] do
82
+ mkdir_p(@pdf_dir)
83
+ rabbit("--theme", ".",
84
+ "--print",
85
+ "--output-filename", pdf_path,
86
+ _("rabbit-theme-benchmark-en.gem"))
87
+ end
88
+
89
+ desc(_("Generate PDF: %{pdf_path}") % {:pdf_path => pdf_path})
90
+ task :pdf => pdf_path
91
+
92
+ desc(_("Publish the theme to all available targets"))
93
+ task :publish
94
+
95
+ publish_tasks = []
96
+ namespace :publish do
97
+ if @rubygems_user
98
+ desc(_("Publish the theme to %s") % "RubyGems.org")
99
+ task :rubygems => :gem do
100
+ ruby("-S", "gem", "push", "--verbose", gem_path)
101
+ end
102
+ publish_tasks << :rubygems
103
+ end
104
+ end
105
+ task :publish => publish_tasks.collect {|task| "publish:#{task}"}
106
+ end
107
+
108
+ def gem_path
109
+ File.join(@package_dir, "#{@spec.name}-#{@spec.version}.gem")
110
+ end
111
+
112
+ def default_pdf_base_path
113
+ theme_id = @spec.name.gsub(/\Arabbit-theme-/, "")
114
+ "#{theme_id}.pdf"
115
+ end
116
+
117
+ def rabbit(*arguments)
118
+ Rabbit::Command::Rabbit.run(*arguments)
119
+ end
120
+ end
121
+ end
122
+ end
@@ -6,7 +6,7 @@ module Rabbit
6
6
  class ThemeBrowser
7
7
  class Tree
8
8
  include GetText
9
-
9
+
10
10
  MODEL = [
11
11
  [:name, String],
12
12
  [:title, String],
@@ -217,6 +217,7 @@ module Rabbit
217
217
  include Element
218
218
  include Searcher
219
219
  include DirtyCount
220
+ include GetText
220
221
 
221
222
  extend Forwardable
222
223
 
@@ -617,6 +618,14 @@ module Rabbit
617
618
  Parser::Ext::Entity::TABLE[key]
618
619
  end
619
620
 
621
+ def image_element(path, properties={})
622
+ image = Parser::Ext::Image.make_image(canvas, path, properties)
623
+ if image.nil?
624
+ raise ImageFileDoesNotExistError.new(path)
625
+ end
626
+ image
627
+ end
628
+
620
629
  def base_directory
621
630
  canvas.full_path(".")
622
631
  end
@@ -8,7 +8,6 @@ def apply_background_image_property(element, options={})
8
8
  background_image = options[:file_name]
9
9
  else
10
10
  background_image = element["background-image"]
11
- background_image = canvas.full_path(background_image) if background_image
12
11
  end
13
12
  return if background_image.nil?
14
13
 
@@ -19,7 +18,7 @@ def apply_background_image_property(element, options={})
19
18
  end
20
19
  end
21
20
 
22
- image = Image.new(background_image, properties)
21
+ image = image_element(background_image, properties)
23
22
  align = properties["align"] || "center"
24
23
  vertical_align = properties["vertical_align"] || "middle"
25
24
  assign_box = properties["assign_box"]
@@ -31,23 +31,12 @@ bar_gradation_thick_rgb = [0x2d, 0x38, 0x8c].collect {|x| x / 255.0}
31
31
  @default_description_item1_mark_color = base_color
32
32
  @description_term_line_color = base_color
33
33
 
34
- @slide_number_uninstall = !print?
35
34
  include_theme("default")
36
35
 
37
36
  set_progress_foreground(bar_gradation_middle_rgb)
38
37
  set_progress_background(bar_gradation_light_rgb)
39
38
 
40
39
 
41
- unless print?
42
- @image_slide_number_image = "mini-usa-taro.png"
43
- @image_slide_number_show_text = true
44
- include_theme("image-slide-number")
45
- if canvas.allotted_time
46
- @image_timer_image = "mini-kame-taro.png"
47
- include_theme("image-timer")
48
- end
49
- end
50
-
51
40
  match(Slide, HeadLine) do |heads|
52
41
  name = "head-line"
53
42
  heads.delete_post_draw_proc_by_name(name)
@@ -47,19 +47,8 @@ add_image_path("rabbit-images")
47
47
 
48
48
  @margin_bottom = canvas.height * 0.05
49
49
 
50
- @slide_number_uninstall = !print?
51
50
  include_theme("default")
52
51
 
53
- unless print?
54
- @image_slide_number_image ||= "mini-usa-taro.png"
55
- @image_slide_number_show_text = true
56
- include_theme("image-slide-number")
57
- if canvas.allotted_time
58
- @image_timer_image ||= "mini-kame-taro.png"
59
- include_theme("image-timer")
60
- end
61
- end
62
-
63
52
  match(TitleSlide, "*") do |elements|
64
53
  elements.horizontal_centering = false
65
54
  elements.align = :right
@@ -18,17 +18,6 @@ include_theme("cozmixng-powered-by")
18
18
  @title_logo_image = "ruby-pink-polygon-logo.png"
19
19
  include_theme("title-logo")
20
20
 
21
- @slide_number_uninstall = true
22
- include_theme("slide-number")
23
-
24
- @image_slide_number_image = "mini-usa-taro.png"
25
- @image_slide_number_show_text = true
26
- include_theme("image-slide-number")
27
- if !print? and canvas.allotted_time
28
- @image_timer_image = "mini-kame-taro.png"
29
- include_theme("image-timer")
30
- end
31
-
32
21
  @icon_images = ["cozmixchu.png"]
33
22
  include_theme("icon")
34
23
 
@@ -1,14 +1,8 @@
1
1
  @default_foreground = "#000000"
2
2
  @default_background = "#ffffff"
3
3
 
4
- @slide_number_uninstall = true
5
-
6
4
  @default_item1_mark_color = "#a00000"
7
5
  @default_item1_mark_type = "circle"
8
6
  @default_item2_mark_color = "#a00000"
9
7
  @default_item2_mark_type = "circle"
10
8
  include_theme("default")
11
-
12
- @image_slide_number_show_text = true
13
- include_theme("image-slide-number")
14
- include_theme("image-timer")