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
@@ -1,8 +0,0 @@
1
- %html
2
- %head
3
- %meta(http-equiv="Content-Type" content="text/html; charset=UTF-8")
4
- %link(rel="stylesheet" type="text/css" media="all" href="/stylesheets/rabbirack.css")
5
- %title
6
- =slide_title
7
- %body
8
- =yield
@@ -1,8 +0,0 @@
1
- File.open("config.rb", "w") do |f|
2
- f.print <<-EOC
3
- require "rabbit/default-config"
4
-
5
- Rabbit::Config::IMAGE_PATH.unshift('#{config("datadir")}')
6
- Rabbit::Config::GETTEXT_PATH = '#{File.join(config("datadir"), "locale")}'
7
- EOC
8
- end
@@ -1,2 +0,0 @@
1
- filename = 'config.rb'
2
- File.delete(filename) if File.exist?(filename)
@@ -1,2 +0,0 @@
1
- filename = 'config.rb'
2
- File.delete(filename) if File.exist?(filename)
@@ -1,4 +0,0 @@
1
- @category = N_("Comment")
2
- @title = N_("Twitter Comment")
3
- @abstract = N_("Get comments from Twitter TL.")
4
- @description = N_("Get comments from Twitter TL.")
@@ -1,15 +0,0 @@
1
- theme_exit unless display?
2
-
3
- @twitter_footer_color ||= @foreground
4
- if !defined?(@twitter_footer_filters) or @twitter_footer_filters.nil?
5
- theme_exit("must specify @twitter_footer_filters!! as " +
6
- "array of keyword: ['keyword1', 'keyword1', ...])")
7
- end
8
-
9
- canvas.twitter.close
10
- theme_exit if @twitter_footer_uninstall
11
-
12
- canvas.twitter.start(@twitter_footer_filters) do |status|
13
- tweet = "@#{status['user']['screen_name']}: #{status['text']}"
14
- canvas.append_comment(tweet)
15
- end
@@ -1,239 +0,0 @@
1
- require "shellwords"
2
- require "pathname"
3
- require "gio2"
4
-
5
- module Rabbit
6
- class Twitter
7
- CONSUMER_KEY = "wT9WSC0afRw94fxUw0iIKw"
8
- CONSUMER_SECRET = "mwY35vfQfmWde9lZbyNNB15QzCq3k2VwGj3X1IAkQ8"
9
-
10
- def initialize(logger)
11
- @logger = logger
12
- @oauth_parameters = nil
13
- @config_file_path = Pathname.new("~/.rabbit/twitter-oauth.yaml")
14
- @config_file_path = @config_file_path.expand_path
15
- @listeners = []
16
- @connection = nil
17
- end
18
-
19
- def register_listener(&block)
20
- @listeners << block
21
- end
22
-
23
- def setup
24
- return unless @oauth_parameters.nil?
25
- require 'yaml'
26
- begin
27
- require 'twitter_oauth'
28
- rescue LoadError
29
- @logger.warn(_("twitter_oauth gem is missing. " \
30
- "Install it by 'gem install twitter_oauth'."))
31
- return
32
- end
33
- setup_access_token unless @config_file_path.exist?
34
- oauth_access_parameters = YAML.load(@config_file_path.read)
35
- @oauth_parameters = {
36
- :consumer_key => CONSUMER_KEY,
37
- :consumer_secret => CONSUMER_SECRET,
38
- :access_key => oauth_access_parameters[:access_token],
39
- :access_secret => oauth_access_parameters[:access_secret],
40
- }
41
- end
42
-
43
- def close
44
- return if @connection.nil?
45
- @connection.close
46
- @connection = nil
47
- end
48
-
49
- def start(*filters, &block)
50
- register_listener(&block) if block_given?
51
- setup if @oauth_parameters.nil?
52
- return if @oauth_parameters.nil?
53
- begin
54
- require 'twitter/json_stream'
55
- rescue LoadError
56
- @logger.warn(_("twitter-stream gem is missing. " \
57
- "Install it by 'gem install twitter-stream'."))
58
- return
59
- end
60
-
61
- stream_options = {
62
- :oauth => @oauth_parameters,
63
- :user_agent => "Rabitter #{Rabbit::VERSION}",
64
- :method => "POST",
65
- :filters => filters,
66
- }
67
- @stream = ::Twitter::JSONStream.allocate
68
- @stream.send(:initialize, stream_options)
69
- @stream.send(:reset_state)
70
- @connection = GLibConnection.new(@logger, @stream)
71
-
72
- @stream.each_item do |item|
73
- status = JSON.parse(item)
74
- @listeners.each do |listener|
75
- listener.call(status)
76
- end
77
- end
78
-
79
- @stream.on_error do |message|
80
- @logger.error("[twitter] #{message}")
81
- end
82
-
83
- @stream.on_reconnect do |timeout, retries|
84
- @logger.info("[twitter][reconnect] #{timeout} seconds (#{retries})")
85
- end
86
-
87
- @stream.on_max_reconnects do |timeout, retries|
88
- @logger.info("[twitter][max-reconnects] " +
89
- "Failed after #{retries} failed reconnects")
90
- end
91
-
92
- @connection.connect
93
- end
94
-
95
- private
96
- def setup_access_token
97
- FileUtils.mkdir_p(@config_file_path.dirname)
98
- oauth_options = {
99
- :consumer_key => CONSUMER_KEY,
100
- :consumer_secret => CONSUMER_SECRET,
101
- :proxy => ENV["http_proxy"],
102
- }
103
- client = TwitterOAuth::Client.new(oauth_options)
104
- request_token = client.request_token
105
- puts "1) Access this URL: #{request_token.authorize_url}"
106
- print "2) Enter the PIN: "
107
- pin = STDIN.gets.strip
108
- access_token = request_token.get_access_token(:oauth_verifier => pin)
109
- oauth_parameters = {
110
- :access_token => access_token.token,
111
- :access_secret => access_token.secret,
112
- }
113
- @config_file_path.open("w") do |config_file|
114
- config_file.chmod(0600)
115
- config_file.puts(YAML.dump(oauth_parameters))
116
- end
117
- end
118
-
119
- class GLibConnection
120
- def initialize(logger, handler)
121
- @logger = logger
122
- @handler = handler
123
- @options = @handler.instance_variable_get("@options")
124
- @client = nil
125
- @connection = nil
126
- @socket = nil
127
- @source_ids = []
128
- end
129
-
130
- def connect
131
- close
132
- @client = Gio::SocketClient.new
133
- @client.tls = @options[:ssl]
134
- @connection = @client.connect_to_host(@options[:host], @options[:port])
135
- @socket = @connection.socket
136
- @socket.blocking = false
137
- @input = @connection.input_stream
138
- @output = @connection.output_stream
139
-
140
- reader_source = @socket.create_source(:in) do |socket, condition|
141
- @logger.debug("[twitter][read][start]")
142
- data = @input.read(8192) || ""
143
- @logger.debug("[twitter][read][done] #{data.bytesize}")
144
- if data.empty?
145
- @source_ids.reject! {|id| id == reader_source.id}
146
- @logger.debug("[twitter][read][eof]")
147
- false
148
- else
149
- @handler.receive_data(data)
150
- true
151
- end
152
- end
153
- @source_ids << reader_source.attach
154
-
155
- error_source = @socket.create_source(:err) do |socket, condition|
156
- @handler.receive_error(condition)
157
- true
158
- end
159
- @source_ids << error_source.attach
160
-
161
- @handler.extend(GLibAdapter)
162
- @handler.connection = self
163
- @handler.connection_completed
164
- end
165
-
166
- def send_data(data)
167
- rest = data.bytesize
168
- writer_source = @socket.create_source(:out) do |socket, condition|
169
- if rest.zero?
170
- @logger.debug("[twitter][flush][start]")
171
- @output.flush
172
- @logger.debug("[twitter][flush][done]")
173
- @source_ids.reject! {|id| id == writer_source.id}
174
- false
175
- else
176
- @logger.debug("[twitter][write][start]")
177
- written_size = @output.write(data)
178
- @logger.debug("[twitter][write][done] #{written_size}")
179
- rest -= written_size
180
- data[0, written_size] = ""
181
- true
182
- end
183
- end
184
- @source_ids << writer_source.attach
185
- end
186
-
187
- def close
188
- return if @client.nil?
189
- @source_ids.reject! do |id|
190
- GLib::Source.remove(id)
191
- true
192
- end
193
- @socket.close
194
- @socket = nil
195
- @input = nil
196
- @output = nil
197
- @connection = nil
198
- @client = nil
199
- end
200
-
201
- def reconnect(options={})
202
- close
203
- after = options[:after] || 0
204
- if after.zero?
205
- connect
206
- else
207
- id = GLib::Timeout.add(after) do
208
- connect
209
- false
210
- end
211
- @source_ids << id
212
- end
213
- end
214
- end
215
-
216
- module GLibAdapter
217
- attr_accessor :connection
218
- def start_tls
219
- end
220
-
221
- def send_data(data)
222
- @connection.send_data(data)
223
- end
224
-
225
- def reconnect_after(timeout)
226
- @reconnect_callback.call(timeout, @reconnect_retries) if @reconnect_callback
227
- @connection.reconnect(:after => timeout)
228
- end
229
-
230
- def reconnect(server, port)
231
- @connection.reconnect
232
- end
233
-
234
- def close_connection
235
- @connection.close
236
- end
237
- end
238
- end
239
- end
@@ -1,100 +0,0 @@
1
- ! Theme Bench
2
-
3
- :author:Kouhei Sutou
4
- :institution:COZMIXNG
5
- :date:2007/06/24
6
- :allotted-time:10m
7
-
8
- ! What is this?
9
-
10
- For benchmarking a theme
11
- * includes basic elements
12
-
13
- ! Itemization
14
-
15
- * Level 1-1
16
- ** Level 2-1
17
- ** Level 2-2
18
- *** Level 3
19
- ** Level 1-2
20
-
21
- ! Enumeration
22
-
23
- # Level 1-1
24
- ## Level 2-1
25
- ## Level 2-2
26
- ### Level 3
27
- # Level 1-2
28
-
29
- ! Composite List
30
-
31
- # Level 1-1
32
- ** Level 2-1
33
- ** Level 2-2
34
- *** Level 3
35
- # Level 1-2
36
-
37
- ! Description List
38
-
39
- :Lavie:The mascot of Rabbit
40
- :Shockers:Rabbit User's Group
41
-
42
- ! Image
43
-
44
- {{image("lavie.png",
45
- :relative_height => 100)}}
46
-
47
- ! Image with caption
48
-
49
- {{image("lavie.png",
50
- :caption => "Lavie",
51
- :relative_height => 100)}}
52
-
53
- ! Pre-formatted Text
54
-
55
- <<<
56
- require 'drb'
57
- uri =
58
- 'druby://localhost:10101/'
59
- rabbit =
60
- DRbObject.new_with_uri(uri)
61
- rabbit.move_to_next_if_can
62
- >>>
63
-
64
- ! Source
65
-
66
- <<< ruby
67
- class You
68
- def love?(it)
69
- it == "Rabbit"
70
- end
71
- end
72
- >>>
73
-
74
- ! Quotation with title
75
-
76
- "" You take the ''red pill'', you stay in Wonderland and
77
- "" I show you how deep the ''rabbit-hole'' goes.
78
-
79
- ! Quotation with item.
80
-
81
- "" Itemization in quotation
82
- "" * Level 1
83
-
84
- ! Table
85
-
86
- ||!Caption 1||!Caption 2||
87
- ||Content 1-1||Content 2-1||
88
- ||Content 1-2||Content 2-2||
89
-
90
- ! Only Title
91
-
92
- ! The last slide
93
-
94
- New themes are welcome
95
-
96
- * ==COMPLETENESS==
97
- ** OK: unsupported elements
98
- ** e.g. composite list
99
-
100
- New ideas are welcome too
@@ -1,127 +0,0 @@
1
- = Theme Bench
2
-
3
- : author
4
- Kouhei Sutou
5
-
6
- : institution
7
- COZMIXNG
8
-
9
- : date
10
- 2007/06/24
11
-
12
- : allotted-time
13
- 10m
14
-
15
- = What is this?
16
-
17
- For benchmarking a theme
18
-
19
- * includes basic elements
20
-
21
- = Itemization
22
-
23
- * Level 1-1
24
- * Level 2-1
25
- * Level 2-2
26
- * Level 3
27
- * Level 1-2
28
-
29
- = Enumeration
30
-
31
- (1) Level 1-1
32
- (1) Level 2-1
33
- (1) Level 2-2
34
- (1) Level 3
35
- (1) Level 1-2
36
-
37
- = Composite List
38
-
39
- (1) Level 1-1
40
- * Level 2-1
41
- * Level 2-2
42
- * Level 3
43
- (1) Level 1-2
44
-
45
- = Description List
46
-
47
- : Lavie
48
- The mascot of Rabbit
49
-
50
- : Shockers
51
- Rabbit User's Group
52
-
53
- = Desc. List + Enum.
54
-
55
- : Label 1
56
- * Level 1-1
57
- * Level 1-2
58
-
59
- : Label 2
60
- * Level 1-1
61
- * Level 1-2
62
-
63
- = Image
64
-
65
- # image
66
- # src = lavie.png
67
- # relative_height = 100
68
-
69
- = Image with caption
70
-
71
- # image
72
- # src = lavie.png
73
- # caption = Lavie
74
- # relative_height = 100
75
-
76
- = Pre-formatted Text
77
-
78
- require 'drb'
79
- uri =
80
- 'druby://localhost:10101/'
81
- rabbit =
82
- DRbObject.new_with_uri(uri)
83
- rabbit.move_to_next_if_can
84
-
85
- = Source
86
-
87
- # coderay ruby
88
- class You
89
- def love?(it)
90
- it == "Rabbit"
91
- end
92
- end
93
-
94
- = Quotation with title
95
-
96
- # blockquote
97
- # title = The Matrix
98
- You take the ((*red pill*)), you stay in Wonderland and
99
- I show you how deep the ((*rabbit-hole*)) goes.
100
-
101
- = Quotation with item.
102
-
103
- # blockquote
104
- Itemization in quotation
105
- * Level 1
106
-
107
- = Table
108
-
109
- # RT
110
- caption = A Simple Table
111
-
112
- Caption 1, Caption 2
113
-
114
- Content 1-1, Content 2-1
115
- Content 1-2, Content 2-2
116
-
117
- = Only Title
118
-
119
- = The last slide
120
-
121
- New themes are welcome
122
-
123
- * (('del:COMPLETENESS'))
124
- * OK: unsupported elements
125
- * e.g. composite list
126
-
127
- New ideas are welcome too