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.
- data/GPL +19 -20
- data/Rakefile +25 -10
- data/bin/rabbit +20 -844
- data/bin/rabbit-command +25 -36
- data/bin/rabbit-slide +22 -0
- data/bin/rabbit-theme +22 -0
- data/bin/rabbit-theme-manager +30 -30
- data/data/account.kou.gpg +0 -0
- 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/doc/_config.yml +8 -0
- data/doc/_includes/en.menu.html +8 -0
- data/doc/_includes/ja.menu.html +8 -0
- data/doc/_layouts/en.html +19 -16
- data/doc/_layouts/ja.html +19 -16
- data/doc/_plugins/converters/rd.rb +1 -1
- data/doc/_plugins/support_symlink.rb +11 -0
- data/doc/en/development.rd +2 -2
- data/doc/en/how-to-make/index.rd +5 -5
- data/doc/en/how-to-make/rd.rd +1 -1
- data/doc/en/index.rd +6 -12
- data/doc/en/sample/index.rd +3 -3
- data/doc/en/slides.rd +2 -0
- data/doc/en/usage.rd +14 -356
- data/doc/en/usage/rabbit.rd +360 -0
- data/doc/en/users.rd +3 -1
- 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.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.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.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.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/index.html.ja +1 -1
- data/doc/ja/about.rd +3 -3
- data/doc/ja/development.rd +2 -2
- data/doc/ja/how-to-make/index.rd +5 -5
- data/doc/ja/index.rd +10 -16
- data/doc/ja/install/macports.rd +1 -1
- data/doc/ja/news.rd +4 -4
- data/doc/ja/sample/index.rd +3 -3
- data/doc/ja/usage.rd +13 -358
- data/doc/ja/usage/rabbit.rd +362 -0
- data/doc/ja/users.rd +1 -1
- data/lib/rabbit/action.rb +2 -2
- data/lib/rabbit/author-configuration.rb +73 -0
- data/lib/rabbit/canvas.rb +0 -14
- data/lib/rabbit/command/rabbit-slide.rb +571 -0
- data/lib/rabbit/command/rabbit-theme.rb +381 -0
- data/lib/rabbit/command/rabbit.rb +898 -0
- data/lib/rabbit/config.rb +40 -0
- data/lib/rabbit/console.rb +124 -55
- data/lib/rabbit/gem-finder.rb +61 -0
- data/lib/rabbit/gettext.rb +6 -79
- data/lib/rabbit/html/generator.rb +1 -0
- data/lib/rabbit/image.rb +1 -1
- data/lib/rabbit/logger.rb +12 -2
- data/lib/rabbit/logger/base.rb +33 -32
- data/lib/rabbit/logger/stderr.rb +1 -1
- data/lib/rabbit/menu.rb +1 -1
- data/lib/rabbit/parser.rb +2 -0
- data/lib/rabbit/parser/ext/image.rb +14 -20
- data/lib/rabbit/path-manipulatable.rb +40 -0
- data/lib/rabbit/rabbit.rb +18 -8
- data/lib/rabbit/renderer/base.rb +3 -4
- data/lib/rabbit/renderer/color.rb +0 -1
- data/lib/rabbit/slideshare.rb +116 -0
- data/lib/rabbit/source/base.rb +1 -1
- data/lib/rabbit/stock.rb +1 -1
- data/lib/rabbit/task.rb +18 -0
- data/lib/rabbit/task/slide.rb +162 -0
- data/lib/rabbit/task/theme.rb +122 -0
- data/lib/rabbit/theme-browser/tree.rb +1 -1
- data/lib/rabbit/theme/applier.rb +9 -0
- data/lib/rabbit/theme/background-image-toolkit/background-image-toolkit.rb +1 -2
- data/lib/rabbit/theme/blue-bar/blue-bar.rb +0 -11
- data/lib/rabbit/theme/clear-blue/clear-blue.rb +0 -11
- data/lib/rabbit/theme/cozmixng/cozmixng.rb +0 -11
- data/lib/rabbit/theme/day-white/day-white.rb +0 -6
- data/lib/rabbit/theme/default/default.rb +7 -1
- data/lib/rabbit/theme/enishi-green/property.rb +2 -2
- data/lib/rabbit/theme/entry.rb +85 -27
- data/lib/rabbit/theme/image-slide-number/image-slide-number.rb +4 -1
- data/lib/rabbit/theme/lightning-monochrome/lightning-monochrome.rb +0 -1
- data/lib/rabbit/theme/lightning-simple/lightning-simple.rb +0 -1
- data/lib/rabbit/theme/nari/nari.rb +6 -16
- data/lib/rabbit/theme/nari/property.rb +3 -0
- data/lib/rabbit/theme/night-black/night-black.rb +0 -6
- data/lib/rabbit/theme/pdf/pdf.rb +0 -4
- data/lib/rabbit/theme/rabbit/rabbit.rb +0 -6
- data/lib/rabbit/theme/ranguba/ranguba.rb +0 -12
- data/lib/rabbit/theme/ruby-gnome2/ruby-gnome2.rb +7 -4
- data/lib/rabbit/theme/rubykaigi2011/rubykaigi2011.rb +2 -9
- data/lib/rabbit/theme/searcher.rb +38 -16
- data/lib/rabbit/theme/syntax-highlighting/property.rb +2 -2
- data/lib/rabbit/version.rb +19 -0
- data/po/en/rabbit.po +1605 -1425
- data/po/fr/rabbit.po +1756 -1684
- data/po/ja/rabbit.po +2198 -2097
- data/po/rabbit.pot +1556 -1419
- metadata +34 -100
- data/bin/rabbirack +0 -99
- data/bin/rabbiter +0 -108
- data/bin/rabrick +0 -95
- data/bin/rabwii +0 -77
- data/lib/rabbit/default-config.rb +0 -24
- data/lib/rabbit/div/comment-i.erb +0 -7
- data/lib/rabbit/div/comment.erb +0 -45
- data/lib/rabbit/div/css.erb +0 -1
- data/lib/rabbit/div/js.erb +0 -1
- data/lib/rabbit/div/log.erb +0 -5
- data/lib/rabbit/div/main-i.erb +0 -24
- data/lib/rabbit/div/main.css +0 -40
- data/lib/rabbit/div/main.erb +0 -33
- data/lib/rabbit/div/navi-i.erb +0 -6
- data/lib/rabbit/div/navi.erb +0 -6
- data/lib/rabbit/div/prototype.js +0 -4320
- data/lib/rabbit/div/slide-i.erb +0 -2
- data/lib/rabbit/div/slide.erb +0 -5
- data/lib/rabbit/div/tofu.rb +0 -309
- data/lib/rabbit/middleware/config.ru +0 -42
- data/lib/rabbit/middleware/controller.rb +0 -63
- data/lib/rabbit/middleware/public/stylesheets/rabbirack.css +0 -12
- data/lib/rabbit/middleware/views/index.haml +0 -13
- data/lib/rabbit/middleware/views/layout.haml +0 -8
- data/lib/rabbit/post-setup.rb +0 -8
- data/lib/rabbit/pre-clean.rb +0 -2
- data/lib/rabbit/pre-distclean.rb +0 -2
- data/lib/rabbit/theme/twitter-comment/property.rb +0 -4
- data/lib/rabbit/theme/twitter-comment/twitter-comment.rb +0 -15
- data/lib/rabbit/twitter.rb +0 -239
- data/sample/theme-bench-en.hiki +0 -100
- data/sample/theme-bench-en.rab +0 -127
- data/sample/theme-bench.hiki +0 -101
- data/sample/theme-bench.rab +0 -128
- data/setup.rb +0 -1585
- data/update-mo.rb +0 -20
- data/update-po.rb +0 -57
data/lib/rabbit/source/base.rb
CHANGED
data/lib/rabbit/stock.rb
CHANGED
data/lib/rabbit/task.rb
ADDED
|
@@ -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
|
data/lib/rabbit/theme/applier.rb
CHANGED
|
@@ -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 =
|
|
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")
|