rabbit-qt 0.1.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 (710) hide show
  1. checksums.yaml +7 -0
  2. data/COPYING +1 -0
  3. data/GPL +339 -0
  4. data/Gemfile +37 -0
  5. data/README.md +87 -0
  6. data/Rakefile +285 -0
  7. data/bin/rabbirc +86 -0
  8. data/bin/rabbit +22 -0
  9. data/bin/rabbit-command +97 -0
  10. data/bin/rabbit-slide +22 -0
  11. data/bin/rabbit-theme +22 -0
  12. data/data/account.kou.gpg +3 -0
  13. data/data/rabbit/image/clear-blue-images/clear-blue-headline-background.png +0 -0
  14. data/data/rabbit/image/clear-blue-images/clear-blue-icon.png +0 -0
  15. data/data/rabbit/image/clear-blue-images/clear-blue-images.rb +0 -0
  16. data/data/rabbit/image/clear-blue-images/property.rb +4 -0
  17. data/data/rabbit/image/cozmixng-images/cozmixchu.png +0 -0
  18. data/data/rabbit/image/cozmixng-images/cozmixng-images.rb +2 -0
  19. data/data/rabbit/image/cozmixng-images/powered-by-cozmixng.png +0 -0
  20. data/data/rabbit/image/cozmixng-images/property.rb +4 -0
  21. data/data/rabbit/image/dark-gradation-images/background-gradation.png +0 -0
  22. data/data/rabbit/image/dark-gradation-images/dark-gradation-images.rb +2 -0
  23. data/data/rabbit/image/dark-gradation-images/property.rb +4 -0
  24. data/data/rabbit/image/debian-images/bottom.png +0 -0
  25. data/data/rabbit/image/debian-images/debian-images.rb +2 -0
  26. data/data/rabbit/image/debian-images/debian-logo-pink.png +0 -0
  27. data/data/rabbit/image/debian-images/debian-logo.png +0 -0
  28. data/data/rabbit/image/debian-images/debian-whirl.png +0 -0
  29. data/data/rabbit/image/debian-images/item1.png +0 -0
  30. data/data/rabbit/image/debian-images/property.rb +4 -0
  31. data/data/rabbit/image/debian-images/top.png +0 -0
  32. data/data/rabbit/image/nari-images/chibi_nari.png +0 -0
  33. data/data/rabbit/image/nari-images/gc_kun.png +0 -0
  34. data/data/rabbit/image/nari-images/nari-goal-flag.png +0 -0
  35. data/data/rabbit/image/nari-images/nari-images.rb +2 -0
  36. data/data/rabbit/image/nari-images/nari-start-flag.png +0 -0
  37. data/data/rabbit/image/nari-images/property.rb +4 -0
  38. data/data/rabbit/image/rabbit-images/blue-item.png +0 -0
  39. data/data/rabbit/image/rabbit-images/close-quote-blue.png +0 -0
  40. data/data/rabbit/image/rabbit-images/close-quote-brown.png +0 -0
  41. data/data/rabbit/image/rabbit-images/close-quote-light-blue.png +0 -0
  42. data/data/rabbit/image/rabbit-images/goal-flag.png +0 -0
  43. data/data/rabbit/image/rabbit-images/green-item.png +0 -0
  44. data/data/rabbit/image/rabbit-images/kame.png +0 -0
  45. data/data/rabbit/image/rabbit-images/lavie-icon.png +0 -0
  46. data/data/rabbit/image/rabbit-images/lavie-with-logo.png +0 -0
  47. data/data/rabbit/image/rabbit-images/lavie.png +0 -0
  48. data/data/rabbit/image/rabbit-images/mini-alice.png +0 -0
  49. data/data/rabbit/image/rabbit-images/mini-butler-rabbit.png +0 -0
  50. data/data/rabbit/image/rabbit-images/mini-horizontal-bar.png +0 -0
  51. data/data/rabbit/image/rabbit-images/mini-kame-taro.png +0 -0
  52. data/data/rabbit/image/rabbit-images/mini-tanu-kitaro.png +0 -0
  53. data/data/rabbit/image/rabbit-images/mini-usa-taro.png +0 -0
  54. data/data/rabbit/image/rabbit-images/mini-usagi.png +0 -0
  55. data/data/rabbit/image/rabbit-images/mini-vertical-bar.png +0 -0
  56. data/data/rabbit/image/rabbit-images/mini-yukidaru-taro.png +0 -0
  57. data/data/rabbit/image/rabbit-images/open-quote-blue.png +0 -0
  58. data/data/rabbit/image/rabbit-images/open-quote-brown.png +0 -0
  59. data/data/rabbit/image/rabbit-images/open-quote-light-blue.png +0 -0
  60. data/data/rabbit/image/rabbit-images/property.rb +4 -0
  61. data/data/rabbit/image/rabbit-images/rabbit-banner-blue.png +0 -0
  62. data/data/rabbit/image/rabbit-images/rabbit-banner-green.png +0 -0
  63. data/data/rabbit/image/rabbit-images/rabbit-banner-heads.png +0 -0
  64. data/data/rabbit/image/rabbit-images/rabbit-banner-pink.png +0 -0
  65. data/data/rabbit/image/rabbit-images/rabbit-banner.png +0 -0
  66. data/data/rabbit/image/rabbit-images/rabbit-banner2.png +0 -0
  67. data/data/rabbit/image/rabbit-images/rabbit-images.rb +2 -0
  68. data/data/rabbit/image/rabbit-images/rabbit-pink-logo.png +0 -0
  69. data/data/rabbit/image/rabbit-images/rabbit-pink-logo2.png +0 -0
  70. data/data/rabbit/image/rabbit-images/red-item.png +0 -0
  71. data/data/rabbit/image/rabbit-images/red-item2.png +0 -0
  72. data/data/rabbit/image/rabbit-images/start-flag.png +0 -0
  73. data/data/rabbit/image/rabbit-images/tanu-kitaro.png +0 -0
  74. data/data/rabbit/image/rabbit-images/usa-taro.png +0 -0
  75. data/data/rabbit/image/rabbit-images/usagi.png +0 -0
  76. data/data/rabbit/image/rabbit-images/yukiusa.png +0 -0
  77. data/data/rabbit/image/ranguba-images/ranguba-bar.png +0 -0
  78. data/data/rabbit/image/ranguba-images/ranguba-bar.svg +153 -0
  79. data/data/rabbit/image/ranguba-images/ranguba-images.rb +0 -0
  80. data/data/rabbit/image/ranguba-images/ranguba-item-mark-mini.png +0 -0
  81. data/data/rabbit/image/ranguba-images/ranguba-item-mark.png +0 -0
  82. data/data/rabbit/image/ranguba-images/ranguba-item-mark.svg +400 -0
  83. data/data/rabbit/image/ranguba-images/ranguba-mark.png +0 -0
  84. data/data/rabbit/image/ranguba-images/ranguba-mark.svg +587 -0
  85. data/data/rabbit/image/ruby-images/property.rb +4 -0
  86. data/data/rabbit/image/ruby-images/ruby-images.rb +2 -0
  87. data/data/rabbit/image/ruby-images/ruby-pink-circle-icon.png +0 -0
  88. data/data/rabbit/image/ruby-images/ruby-pink-circle-logo.png +0 -0
  89. data/data/rabbit/image/ruby-images/ruby-pink-circle-small-icon.png +0 -0
  90. data/data/rabbit/image/ruby-images/ruby-pink-circle.png +0 -0
  91. data/data/rabbit/image/ruby-images/ruby-pink-polygon-icon.png +0 -0
  92. data/data/rabbit/image/ruby-images/ruby-pink-polygon-logo.png +0 -0
  93. data/data/rabbit/image/ruby-images/ruby-pink-polygon-small-icon.png +0 -0
  94. data/data/rabbit/image/ruby-images/ruby-pink-polygon.png +0 -0
  95. data/data/rabbit/image/rubykaigi2011-images/property.rb +4 -0
  96. data/data/rabbit/image/rubykaigi2011-images/rubykaigi2011-background-black.jpg +0 -0
  97. data/data/rabbit/image/rubykaigi2011-images/rubykaigi2011-background-white.jpg +0 -0
  98. data/data/rabbit/image/rubykaigi2011-images/rubykaigi2011-images.rb +2 -0
  99. data/doc/_config.yml +29 -0
  100. data/doc/_includes/en.menu.html +8 -0
  101. data/doc/_includes/ja.menu.html +8 -0
  102. data/doc/_layouts/en.html +48 -0
  103. data/doc/_layouts/ja.html +48 -0
  104. data/doc/_layouts/skeleton.html +85 -0
  105. data/doc/_plugins/converters/hiki.rb +27 -0
  106. data/doc/_plugins/converters/markdown.rb +15 -0
  107. data/doc/_plugins/converters/rd.rb +73 -0
  108. data/doc/_plugins/support_symlink.rb +11 -0
  109. data/doc/css/rabbit.css +368 -0
  110. data/doc/css/syntax.scss +67 -0
  111. data/doc/en/development.rd +81 -0
  112. data/doc/en/faq.rd +152 -0
  113. data/doc/en/hiki.hiki +326 -0
  114. data/doc/en/how-to-make/hiki.hiki +9 -0
  115. data/doc/en/how-to-make/index.rd +26 -0
  116. data/doc/en/how-to-make/markdown.md +107 -0
  117. data/doc/en/how-to-make/pdf.rd +7 -0
  118. data/doc/en/how-to-make/rd.rd +92 -0
  119. data/doc/en/how-to-make/theme.rd +135 -0
  120. data/doc/en/index.rd +268 -0
  121. data/doc/en/install/homebrew.rd +22 -0
  122. data/doc/en/install/index.rd +50 -0
  123. data/doc/en/install/macports.rd +77 -0
  124. data/doc/en/install/windows.rd +45 -0
  125. data/doc/en/news.rd +2788 -0
  126. data/doc/en/rd.rd +482 -0
  127. data/doc/en/sample/hiki/rabbit.hiki +388 -0
  128. data/doc/en/sample/index.rd +15 -0
  129. data/doc/en/sample/markdown/rabbit.md +387 -0
  130. data/doc/en/sample/rd/rabbit.rd +463 -0
  131. data/doc/en/slides.rd +13 -0
  132. data/doc/en/usage/platform/os-x.rd +13 -0
  133. data/doc/en/usage/rabbit-slide.rd +239 -0
  134. data/doc/en/usage/rabbit-theme.rd +5 -0
  135. data/doc/en/usage/rabbit.rd +376 -0
  136. data/doc/en/usage.rd +24 -0
  137. data/doc/en/users.rd +35 -0
  138. data/doc/favicon.ico +0 -0
  139. data/doc/favicon.png +0 -0
  140. data/doc/images/background-sample.svg +290 -0
  141. data/doc/images/background.png +0 -0
  142. data/doc/images/background.svg +131 -0
  143. data/doc/images/hare-and-tortoise.png +0 -0
  144. data/doc/images/hare-and-tortoise.svg +541 -0
  145. data/doc/images/lavie-icon.png +0 -0
  146. data/doc/images/lavie.png +0 -0
  147. data/doc/images/rabbit-slide-show-logo.png +0 -0
  148. data/doc/images/rabbit-slide-show-logo.svg +597 -0
  149. data/doc/index.html.en +58 -0
  150. data/doc/index.html.ja +58 -0
  151. data/doc/ja/about.rd +21 -0
  152. data/doc/ja/development.rd +78 -0
  153. data/doc/ja/faq.rd +202 -0
  154. data/doc/ja/hiki.hiki +320 -0
  155. data/doc/ja/how-to-make/hiki.hiki +9 -0
  156. data/doc/ja/how-to-make/index.rd +26 -0
  157. data/doc/ja/how-to-make/markdown.md +107 -0
  158. data/doc/ja/how-to-make/pdf.rd +8 -0
  159. data/doc/ja/how-to-make/rd.rd +130 -0
  160. data/doc/ja/how-to-make/theme.rd +142 -0
  161. data/doc/ja/index.rd +283 -0
  162. data/doc/ja/install/homebrew.rd +23 -0
  163. data/doc/ja/install/index.rd +53 -0
  164. data/doc/ja/install/macports.rd +100 -0
  165. data/doc/ja/install/windows.rd +46 -0
  166. data/doc/ja/news.rd +2773 -0
  167. data/doc/ja/rd.rd +490 -0
  168. data/doc/ja/sample/hiki/rabbit.hiki +404 -0
  169. data/doc/ja/sample/index.rd +15 -0
  170. data/doc/ja/sample/markdown/rabbit.md +382 -0
  171. data/doc/ja/sample/rd/rabbit.rd +471 -0
  172. data/doc/ja/slides.rd +29 -0
  173. data/doc/ja/usage/rabbit-slide.rd +220 -0
  174. data/doc/ja/usage/rabbit-theme.rd +152 -0
  175. data/doc/ja/usage/rabbit.rd +377 -0
  176. data/doc/ja/usage.rd +19 -0
  177. data/doc/ja/users.rd +196 -0
  178. data/doc/screenshot.en.rab +10 -0
  179. data/doc/screenshot.ja.rab +10 -0
  180. data/entities/README +10 -0
  181. data/entities/ent2rb.rb +65 -0
  182. data/entities/isoamsa.ent +167 -0
  183. data/entities/isoamsb.ent +143 -0
  184. data/entities/isoamsc.ent +43 -0
  185. data/entities/isoamsn.ent +114 -0
  186. data/entities/isoamso.ent +73 -0
  187. data/entities/isoamsr.ent +204 -0
  188. data/entities/isobox.ent +61 -0
  189. data/entities/isocyr1.ent +88 -0
  190. data/entities/isocyr2.ent +47 -0
  191. data/entities/isodia.ent +35 -0
  192. data/entities/isogrk3.ent +64 -0
  193. data/entities/isolat1.ent +83 -0
  194. data/entities/isolat2.ent +142 -0
  195. data/entities/isomfrk.ent +75 -0
  196. data/entities/isomopf.ent +49 -0
  197. data/entities/isomscr.ent +75 -0
  198. data/entities/isonum.ent +97 -0
  199. data/entities/isopub.ent +105 -0
  200. data/entities/isotech.ent +182 -0
  201. data/entities/mmlalias.ent +564 -0
  202. data/entities/mmlextra.ent +122 -0
  203. data/lib/rabbit/actions.rb +427 -0
  204. data/lib/rabbit/author-configuration.rb +90 -0
  205. data/lib/rabbit/canvas.rb +844 -0
  206. data/lib/rabbit/command/rabbit-slide.rb +898 -0
  207. data/lib/rabbit/command/rabbit-theme.rb +300 -0
  208. data/lib/rabbit/command/rabbit.rb +854 -0
  209. data/lib/rabbit/config.rb +40 -0
  210. data/lib/rabbit/console/roff.rb +84 -0
  211. data/lib/rabbit/console.rb +218 -0
  212. data/lib/rabbit/cursor-manager.rb +66 -0
  213. data/lib/rabbit/dependency-canvas.rb +33 -0
  214. data/lib/rabbit/element/base/draw-hook.rb +75 -0
  215. data/lib/rabbit/element/base.rb +614 -0
  216. data/lib/rabbit/element/block-element.rb +56 -0
  217. data/lib/rabbit/element/block.rb +70 -0
  218. data/lib/rabbit/element/container-element.rb +321 -0
  219. data/lib/rabbit/element/description-list.rb +75 -0
  220. data/lib/rabbit/element/enum-list.rb +53 -0
  221. data/lib/rabbit/element/footnote.rb +48 -0
  222. data/lib/rabbit/element/image-title-slide.rb +34 -0
  223. data/lib/rabbit/element/image.rb +292 -0
  224. data/lib/rabbit/element/index-slide.rb +206 -0
  225. data/lib/rabbit/element/item-list.rb +50 -0
  226. data/lib/rabbit/element/method-list.rb +66 -0
  227. data/lib/rabbit/element/poppler-page.rb +52 -0
  228. data/lib/rabbit/element/poppler-slide.rb +47 -0
  229. data/lib/rabbit/element/poppler-title-slide.rb +45 -0
  230. data/lib/rabbit/element/preformatted.rb +48 -0
  231. data/lib/rabbit/element/slide-element.rb +140 -0
  232. data/lib/rabbit/element/slide.rb +67 -0
  233. data/lib/rabbit/element/syntax-highlighting.rb +31 -0
  234. data/lib/rabbit/element/table.rb +121 -0
  235. data/lib/rabbit/element/tag.rb +60 -0
  236. data/lib/rabbit/element/text-block-element.rb +27 -0
  237. data/lib/rabbit/element/text-container-element.rb +176 -0
  238. data/lib/rabbit/element/text-element.rb +83 -0
  239. data/lib/rabbit/element/text-renderer.rb +378 -0
  240. data/lib/rabbit/element/text.rb +146 -0
  241. data/lib/rabbit/element/title-slide.rb +190 -0
  242. data/lib/rabbit/element/video.rb +265 -0
  243. data/lib/rabbit/element.rb +35 -0
  244. data/lib/rabbit/error.rb +239 -0
  245. data/lib/rabbit/filename.rb +39 -0
  246. data/lib/rabbit/formatter.rb +211 -0
  247. data/lib/rabbit/frame.rb +292 -0
  248. data/lib/rabbit/front.rb +278 -0
  249. data/lib/rabbit/gem-builder.rb +42 -0
  250. data/lib/rabbit/gem-finder.rb +57 -0
  251. data/lib/rabbit/gem-pusher.rb +89 -0
  252. data/lib/rabbit/gesture/handler.rb +253 -0
  253. data/lib/rabbit/gesture/processor.rb +118 -0
  254. data/lib/rabbit/gettext.rb +14 -0
  255. data/lib/rabbit/graffiti/config-dialog.rb +47 -0
  256. data/lib/rabbit/graffiti/processor.rb +132 -0
  257. data/lib/rabbit/gtk.rb +93 -0
  258. data/lib/rabbit/html/generator.rb +477 -0
  259. data/lib/rabbit/html/template.erb +109 -0
  260. data/lib/rabbit/icon.rb +31 -0
  261. data/lib/rabbit/image/base.rb +270 -0
  262. data/lib/rabbit/image/default.rb +42 -0
  263. data/lib/rabbit/image/dia.rb +74 -0
  264. data/lib/rabbit/image/eps.rb +129 -0
  265. data/lib/rabbit/image/gimp.rb +69 -0
  266. data/lib/rabbit/image/mermaid.rb +74 -0
  267. data/lib/rabbit/image/pdf.rb +94 -0
  268. data/lib/rabbit/image/svg.rb +79 -0
  269. data/lib/rabbit/image-data-loader.rb +51 -0
  270. data/lib/rabbit/image.rb +53 -0
  271. data/lib/rabbit/info-window.rb +327 -0
  272. data/lib/rabbit/key-handler.rb +227 -0
  273. data/lib/rabbit/keys.rb +209 -0
  274. data/lib/rabbit/logger/base.rb +147 -0
  275. data/lib/rabbit/logger/gui.rb +113 -0
  276. data/lib/rabbit/logger/stderr.rb +42 -0
  277. data/lib/rabbit/logger.rb +40 -0
  278. data/lib/rabbit/menu.rb +242 -0
  279. data/lib/rabbit/pango-markup.rb +44 -0
  280. data/lib/rabbit/parser/base.rb +31 -0
  281. data/lib/rabbit/parser/ext/aafigure.rb +51 -0
  282. data/lib/rabbit/parser/ext/blockdiag.rb +68 -0
  283. data/lib/rabbit/parser/ext/charty.rb +67 -0
  284. data/lib/rabbit/parser/ext/coderay.rb +85 -0
  285. data/lib/rabbit/parser/ext/enscript.rb +136 -0
  286. data/lib/rabbit/parser/ext/entity.rb +4164 -0
  287. data/lib/rabbit/parser/ext/escape.rb +18 -0
  288. data/lib/rabbit/parser/ext/image.rb +157 -0
  289. data/lib/rabbit/parser/ext/inline.rb +45 -0
  290. data/lib/rabbit/parser/ext/rouge.rb +129 -0
  291. data/lib/rabbit/parser/ext/tex.rb +95 -0
  292. data/lib/rabbit/parser/ext/video.rb +37 -0
  293. data/lib/rabbit/parser/image.rb +62 -0
  294. data/lib/rabbit/parser/markdown/converter.rb +440 -0
  295. data/lib/rabbit/parser/markdown.rb +144 -0
  296. data/lib/rabbit/parser/pause-support.rb +33 -0
  297. data/lib/rabbit/parser/pdf.rb +56 -0
  298. data/lib/rabbit/parser/rd/ext/base.rb +95 -0
  299. data/lib/rabbit/parser/rd/ext/block-verbatim.rb +190 -0
  300. data/lib/rabbit/parser/rd/ext/character-reference.rb +75 -0
  301. data/lib/rabbit/parser/rd/ext/image.rb +46 -0
  302. data/lib/rabbit/parser/rd/ext/inline-verbatim.rb +118 -0
  303. data/lib/rabbit/parser/rd/ext/refer.rb +50 -0
  304. data/lib/rabbit/parser/rd/ext/video.rb +32 -0
  305. data/lib/rabbit/parser/rd/rd2rabbit-lib.rb +458 -0
  306. data/lib/rabbit/parser/rd/rt/rt2rabbit-lib.rb +105 -0
  307. data/lib/rabbit/parser/rd/visitor.rb +72 -0
  308. data/lib/rabbit/parser/rd.rb +92 -0
  309. data/lib/rabbit/parser/wiki/output.rb +545 -0
  310. data/lib/rabbit/parser/wiki.rb +61 -0
  311. data/lib/rabbit/parser.rb +73 -0
  312. data/lib/rabbit/password-reader.rb +34 -0
  313. data/lib/rabbit/path-manipulatable.rb +37 -0
  314. data/lib/rabbit/progress.rb +97 -0
  315. data/lib/rabbit/properties.rb +154 -0
  316. data/lib/rabbit/qt.rb +222 -0
  317. data/lib/rabbit/rabbit.rb +50 -0
  318. data/lib/rabbit/readme-parser.rb +112 -0
  319. data/lib/rabbit/relative-size.rb +28 -0
  320. data/lib/rabbit/renderer/base.rb +412 -0
  321. data/lib/rabbit/renderer/color.rb +130 -0
  322. data/lib/rabbit/renderer/display/base.rb +223 -0
  323. data/lib/rabbit/renderer/display/button-handler.rb +229 -0
  324. data/lib/rabbit/renderer/display/cursor.rb +49 -0
  325. data/lib/rabbit/renderer/display/drawing-area-base.rb +381 -0
  326. data/lib/rabbit/renderer/display/drawing-area-primitive.rb +219 -0
  327. data/lib/rabbit/renderer/display/drawing-area-view-only.rb +57 -0
  328. data/lib/rabbit/renderer/display/drawing-area.rb +29 -0
  329. data/lib/rabbit/renderer/display/gesture.rb +111 -0
  330. data/lib/rabbit/renderer/display/graffiti.rb +127 -0
  331. data/lib/rabbit/renderer/display/hook-handler.rb +64 -0
  332. data/lib/rabbit/renderer/display/info.rb +75 -0
  333. data/lib/rabbit/renderer/display/magnifier.rb +137 -0
  334. data/lib/rabbit/renderer/display/mask.rb +83 -0
  335. data/lib/rabbit/renderer/display/menu.rb +54 -0
  336. data/lib/rabbit/renderer/display/motion-handler.rb +34 -0
  337. data/lib/rabbit/renderer/display/progress.rb +85 -0
  338. data/lib/rabbit/renderer/display/qt-drawing-area-base.rb +336 -0
  339. data/lib/rabbit/renderer/display/qt-drawing-area-primitive.rb +189 -0
  340. data/lib/rabbit/renderer/display/qt-drawing-area-view-only.rb +53 -0
  341. data/lib/rabbit/renderer/display/qt-drawing-area.rb +29 -0
  342. data/lib/rabbit/renderer/display/qt-drawing-widget.rb +85 -0
  343. data/lib/rabbit/renderer/display/scroll-handler.rb +58 -0
  344. data/lib/rabbit/renderer/display/search.rb +114 -0
  345. data/lib/rabbit/renderer/display/spotlight.rb +122 -0
  346. data/lib/rabbit/renderer/display.rb +17 -0
  347. data/lib/rabbit/renderer/engine/cairo.rb +481 -0
  348. data/lib/rabbit/renderer/engine/qt_painter.rb +397 -0
  349. data/lib/rabbit/renderer/engine.rb +18 -0
  350. data/lib/rabbit/renderer/kernel.rb +233 -0
  351. data/lib/rabbit/renderer/offscreen.rb +117 -0
  352. data/lib/rabbit/renderer/print-layout.rb +150 -0
  353. data/lib/rabbit/renderer/printer.rb +223 -0
  354. data/lib/rabbit/renderer/scene-background-widget.rb +95 -0
  355. data/lib/rabbit/renderer/scene-node-widget.rb +40 -0
  356. data/lib/rabbit/renderer/scene.rb +538 -0
  357. data/lib/rabbit/renderer.rb +20 -0
  358. data/lib/rabbit/search-window.rb +90 -0
  359. data/lib/rabbit/searcher.rb +40 -0
  360. data/lib/rabbit/size.rb +100 -0
  361. data/lib/rabbit/slide-configuration.rb +211 -0
  362. data/lib/rabbit/slide.rb +40 -0
  363. data/lib/rabbit/soap/base.rb +17 -0
  364. data/lib/rabbit/soap/driver.rb +61 -0
  365. data/lib/rabbit/soap/server.rb +49 -0
  366. data/lib/rabbit/source/argf.rb +45 -0
  367. data/lib/rabbit/source/base.rb +197 -0
  368. data/lib/rabbit/source/file.rb +85 -0
  369. data/lib/rabbit/source/memory.rb +61 -0
  370. data/lib/rabbit/source/uri.rb +93 -0
  371. data/lib/rabbit/source-generator/hiki.rb +58 -0
  372. data/lib/rabbit/source-generator/markdown.rb +56 -0
  373. data/lib/rabbit/source-generator/rd.rb +60 -0
  374. data/lib/rabbit/source-generator.rb +39 -0
  375. data/lib/rabbit/source.rb +30 -0
  376. data/lib/rabbit/task/slide.rb +221 -0
  377. data/lib/rabbit/task/theme.rb +202 -0
  378. data/lib/rabbit/task.rb +18 -0
  379. data/lib/rabbit/theme/applier.rb +690 -0
  380. data/lib/rabbit/theme/auto-slide/auto-slide.rb +6 -0
  381. data/lib/rabbit/theme/auto-slide/property.rb +4 -0
  382. data/lib/rabbit/theme/background-image-toolkit/background-image-toolkit.rb +125 -0
  383. data/lib/rabbit/theme/base/base.rb +85 -0
  384. data/lib/rabbit/theme/base/property.rb +4 -0
  385. data/lib/rabbit/theme/blue-bar/blue-bar.rb +80 -0
  386. data/lib/rabbit/theme/blue-bar/property.rb +3 -0
  387. data/lib/rabbit/theme/blue-circle/blue-circle.rb +14 -0
  388. data/lib/rabbit/theme/blue-circle/property.rb +3 -0
  389. data/lib/rabbit/theme/body-background-image/body-background-image.rb +8 -0
  390. data/lib/rabbit/theme/centering-rabbit/centering-rabbit.rb +5 -0
  391. data/lib/rabbit/theme/centering-rabbit/property.rb +3 -0
  392. data/lib/rabbit/theme/clear-blue/clear-blue.rb +101 -0
  393. data/lib/rabbit/theme/clear-blue/property.rb +3 -0
  394. data/lib/rabbit/theme/clock/clock.rb +37 -0
  395. data/lib/rabbit/theme/clock/property.rb +21 -0
  396. data/lib/rabbit/theme/color-circle/color-circle.rb +60 -0
  397. data/lib/rabbit/theme/color-circle/property.rb +4 -0
  398. data/lib/rabbit/theme/color-circle-block-quote/color-circle-block-quote.rb +28 -0
  399. data/lib/rabbit/theme/color-circle-block-quote/property.rb +4 -0
  400. data/lib/rabbit/theme/color-circle-common/color-circle-common.rb +48 -0
  401. data/lib/rabbit/theme/color-circle-common/property.rb +3 -0
  402. data/lib/rabbit/theme/color-circle-description/color-circle-description.rb +9 -0
  403. data/lib/rabbit/theme/color-circle-description/property.rb +4 -0
  404. data/lib/rabbit/theme/color-circle-foot-text/color-circle-foot-text.rb +14 -0
  405. data/lib/rabbit/theme/color-circle-foot-text/property.rb +4 -0
  406. data/lib/rabbit/theme/color-circle-item-mark/color-circle-item-mark.rb +77 -0
  407. data/lib/rabbit/theme/color-circle-item-mark/property.rb +4 -0
  408. data/lib/rabbit/theme/color-circle-method-list/color-circle-method-list.rb +8 -0
  409. data/lib/rabbit/theme/color-circle-method-list/property.rb +4 -0
  410. data/lib/rabbit/theme/color-circle-preformatted/color-circle-preformatted.rb +5 -0
  411. data/lib/rabbit/theme/color-circle-preformatted/property.rb +4 -0
  412. data/lib/rabbit/theme/color-circle-slide/color-circle-slide.rb +13 -0
  413. data/lib/rabbit/theme/color-circle-slide/property.rb +4 -0
  414. data/lib/rabbit/theme/color-circle-text/color-circle-text.rb +9 -0
  415. data/lib/rabbit/theme/color-circle-text/property.rb +4 -0
  416. data/lib/rabbit/theme/color-circle-title-slide/color-circle-title-slide.rb +27 -0
  417. data/lib/rabbit/theme/color-circle-title-slide/property.rb +4 -0
  418. data/lib/rabbit/theme/color-circle-title-text/color-circle-title-text.rb +7 -0
  419. data/lib/rabbit/theme/color-circle-title-text/property.rb +4 -0
  420. data/lib/rabbit/theme/cozmixng/cozmixng.rb +44 -0
  421. data/lib/rabbit/theme/cozmixng/property.rb +3 -0
  422. data/lib/rabbit/theme/cozmixng-powered-by/cozmixng-powered-by.rb +6 -0
  423. data/lib/rabbit/theme/cozmixng-powered-by/property.rb +7 -0
  424. data/lib/rabbit/theme/dark-gradation/dark-gradation.rb +187 -0
  425. data/lib/rabbit/theme/dark-gradation/property.rb +3 -0
  426. data/lib/rabbit/theme/day-white/day-white.rb +8 -0
  427. data/lib/rabbit/theme/day-white/property.rb +3 -0
  428. data/lib/rabbit/theme/debian/debian.rb +232 -0
  429. data/lib/rabbit/theme/debian/property.rb +3 -0
  430. data/lib/rabbit/theme/default/default.rb +42 -0
  431. data/lib/rabbit/theme/default/property.rb +3 -0
  432. data/lib/rabbit/theme/default-block-quote/default-block-quote.rb +219 -0
  433. data/lib/rabbit/theme/default-block-quote/property.rb +3 -0
  434. data/lib/rabbit/theme/default-comment/default-comment.rb +5 -0
  435. data/lib/rabbit/theme/default-comment/property.rb +4 -0
  436. data/lib/rabbit/theme/default-description/default-description.rb +64 -0
  437. data/lib/rabbit/theme/default-description/property.rb +5 -0
  438. data/lib/rabbit/theme/default-foot-text/default-foot-text.rb +52 -0
  439. data/lib/rabbit/theme/default-foot-text/property.rb +3 -0
  440. data/lib/rabbit/theme/default-icon/default-icon.rb +4 -0
  441. data/lib/rabbit/theme/default-icon/property.rb +5 -0
  442. data/lib/rabbit/theme/default-item-mark/default-item-mark.rb +104 -0
  443. data/lib/rabbit/theme/default-item-mark/property.rb +4 -0
  444. data/lib/rabbit/theme/default-item-mark-setup/default-item-mark-setup.rb +132 -0
  445. data/lib/rabbit/theme/default-item-mark-setup/property.rb +3 -0
  446. data/lib/rabbit/theme/default-method-list/default-method-list.rb +6 -0
  447. data/lib/rabbit/theme/default-method-list/property.rb +3 -0
  448. data/lib/rabbit/theme/default-preformatted/default-preformatted.rb +56 -0
  449. data/lib/rabbit/theme/default-preformatted/property.rb +3 -0
  450. data/lib/rabbit/theme/default-slide/default-slide.rb +62 -0
  451. data/lib/rabbit/theme/default-slide/property.rb +3 -0
  452. data/lib/rabbit/theme/default-text/default-text.rb +186 -0
  453. data/lib/rabbit/theme/default-text/property.rb +3 -0
  454. data/lib/rabbit/theme/default-title-slide/default-title-slide.rb +13 -0
  455. data/lib/rabbit/theme/default-title-slide/property.rb +6 -0
  456. data/lib/rabbit/theme/default-title-text/default-title-text.rb +53 -0
  457. data/lib/rabbit/theme/default-title-text/property.rb +3 -0
  458. data/lib/rabbit/theme/document.erb +35 -0
  459. data/lib/rabbit/theme/edge-info-toolkit/edge-info-toolkit.rb +87 -0
  460. data/lib/rabbit/theme/edge-info-toolkit/property.rb +3 -0
  461. data/lib/rabbit/theme/emphasize-keyword/emphasize-keyword.rb +16 -0
  462. data/lib/rabbit/theme/emphasize-keyword/property.rb +4 -0
  463. data/lib/rabbit/theme/enishi-green/enishi-green.rb +61 -0
  464. data/lib/rabbit/theme/enishi-green/property.rb +3 -0
  465. data/lib/rabbit/theme/entry.rb +202 -0
  466. data/lib/rabbit/theme/footer-comment/footer-comment.rb +74 -0
  467. data/lib/rabbit/theme/footer-comment/property.rb +3 -0
  468. data/lib/rabbit/theme/footer-logo/footer-logo.rb +30 -0
  469. data/lib/rabbit/theme/footer-logo/property.rb +26 -0
  470. data/lib/rabbit/theme/green-circle/green-circle.rb +14 -0
  471. data/lib/rabbit/theme/green-circle/property.rb +3 -0
  472. data/lib/rabbit/theme/headline-logo/headline-logo.rb +24 -0
  473. data/lib/rabbit/theme/headline-logo/property.rb +10 -0
  474. data/lib/rabbit/theme/icon/icon.rb +3 -0
  475. data/lib/rabbit/theme/icon/property.rb +24 -0
  476. data/lib/rabbit/theme/image/image.rb +80 -0
  477. data/lib/rabbit/theme/image/property.rb +3 -0
  478. data/lib/rabbit/theme/image-slide-number/image-slide-number.rb +134 -0
  479. data/lib/rabbit/theme/image-slide-number/property.rb +64 -0
  480. data/lib/rabbit/theme/image-timer/image-timer.rb +119 -0
  481. data/lib/rabbit/theme/image-timer/property.rb +46 -0
  482. data/lib/rabbit/theme/image-viewer/image-viewer.rb +21 -0
  483. data/lib/rabbit/theme/image-viewer/property.rb +3 -0
  484. data/lib/rabbit/theme/lightning-clear-blue/lightning-clear-blue.rb +13 -0
  485. data/lib/rabbit/theme/lightning-clear-blue/property.rb +3 -0
  486. data/lib/rabbit/theme/lightning-monochrome/lightning-monochrome.rb +15 -0
  487. data/lib/rabbit/theme/lightning-monochrome/property.rb +3 -0
  488. data/lib/rabbit/theme/lightning-rabbit/lightning-rabbit.rb +13 -0
  489. data/lib/rabbit/theme/lightning-rabbit/property.rb +3 -0
  490. data/lib/rabbit/theme/lightning-simple/lightning-simple.rb +60 -0
  491. data/lib/rabbit/theme/lightning-simple/property.rb +3 -0
  492. data/lib/rabbit/theme/lightning-talk/lightning-talk.rb +67 -0
  493. data/lib/rabbit/theme/lightning-talk/property.rb +3 -0
  494. data/lib/rabbit/theme/lightning-talk-toolkit/lightning-talk-toolkit.rb +179 -0
  495. data/lib/rabbit/theme/lightning-talk-toolkit/property.rb +3 -0
  496. data/lib/rabbit/theme/manager.rb +45 -0
  497. data/lib/rabbit/theme/mirror-effect/mirror-effect.rb +27 -0
  498. data/lib/rabbit/theme/mirror-effect/property.rb +3 -0
  499. data/lib/rabbit/theme/nari/nari.rb +215 -0
  500. data/lib/rabbit/theme/nari/property.rb +3 -0
  501. data/lib/rabbit/theme/newline-in-slides/newline-in-slides.rb +29 -0
  502. data/lib/rabbit/theme/newline-in-slides/property.rb +4 -0
  503. data/lib/rabbit/theme/newline-in-title/newline-in-title.rb +7 -0
  504. data/lib/rabbit/theme/newline-in-title/property.rb +4 -0
  505. data/lib/rabbit/theme/night-black/night-black.rb +19 -0
  506. data/lib/rabbit/theme/night-black/property.rb +3 -0
  507. data/lib/rabbit/theme/pdf/pdf.rb +24 -0
  508. data/lib/rabbit/theme/pdf/property.rb +3 -0
  509. data/lib/rabbit/theme/per-slide-background-color/per-slide-background-color.rb +18 -0
  510. data/lib/rabbit/theme/per-slide-background-color/property.rb +16 -0
  511. data/lib/rabbit/theme/per-slide-background-image/per-slide-background-image.rb +11 -0
  512. data/lib/rabbit/theme/per-slide-background-image/property.rb +16 -0
  513. data/lib/rabbit/theme/powered-by/powered-by.rb +67 -0
  514. data/lib/rabbit/theme/powered-by/property.rb +24 -0
  515. data/lib/rabbit/theme/rabbit/property.rb +3 -0
  516. data/lib/rabbit/theme/rabbit/rabbit.rb +57 -0
  517. data/lib/rabbit/theme/rabbit-block-quote/property.rb +4 -0
  518. data/lib/rabbit/theme/rabbit-block-quote/rabbit-block-quote.rb +18 -0
  519. data/lib/rabbit/theme/rabbit-headline-logo/property.rb +5 -0
  520. data/lib/rabbit/theme/rabbit-headline-logo/rabbit-headline-logo.rb +4 -0
  521. data/lib/rabbit/theme/rabbit-icon/property.rb +5 -0
  522. data/lib/rabbit/theme/rabbit-icon/rabbit-icon.rb +4 -0
  523. data/lib/rabbit/theme/rabbit-item-mark/property.rb +5 -0
  524. data/lib/rabbit/theme/rabbit-item-mark/rabbit-item-mark.rb +53 -0
  525. data/lib/rabbit/theme/rabbit-powered-by/property.rb +7 -0
  526. data/lib/rabbit/theme/rabbit-powered-by/rabbit-powered-by.rb +5 -0
  527. data/lib/rabbit/theme/rabbit-title-logo/property.rb +5 -0
  528. data/lib/rabbit/theme/rabbit-title-logo/rabbit-title-logo.rb +4 -0
  529. data/lib/rabbit/theme/ranguba/property.rb +3 -0
  530. data/lib/rabbit/theme/ranguba/ranguba.rb +218 -0
  531. data/lib/rabbit/theme/red-frame/property.rb +3 -0
  532. data/lib/rabbit/theme/red-frame/red-frame.rb +100 -0
  533. data/lib/rabbit/theme/rotate-zoom-effect/property.rb +4 -0
  534. data/lib/rabbit/theme/rotate-zoom-effect/rotate-zoom-effect.rb +51 -0
  535. data/lib/rabbit/theme/ruby-gnome2/property.rb +3 -0
  536. data/lib/rabbit/theme/ruby-gnome2/ruby-gnome2.rb +65 -0
  537. data/lib/rabbit/theme/ruby-gnome2-description/property.rb +7 -0
  538. data/lib/rabbit/theme/ruby-gnome2-description/ruby-gnome2-description.rb +7 -0
  539. data/lib/rabbit/theme/ruby-gnome2-foot-text/property.rb +5 -0
  540. data/lib/rabbit/theme/ruby-gnome2-foot-text/ruby-gnome2-foot-text.rb +3 -0
  541. data/lib/rabbit/theme/ruby-gnome2-headline/property.rb +7 -0
  542. data/lib/rabbit/theme/ruby-gnome2-headline/ruby-gnome2-headline.rb +47 -0
  543. data/lib/rabbit/theme/ruby-gnome2-icon/property.rb +5 -0
  544. data/lib/rabbit/theme/ruby-gnome2-icon/ruby-gnome2-icon.rb +4 -0
  545. data/lib/rabbit/theme/ruby-gnome2-item-mark/property.rb +10 -0
  546. data/lib/rabbit/theme/ruby-gnome2-item-mark/ruby-gnome2-item-mark.rb +65 -0
  547. data/lib/rabbit/theme/ruby-gnome2-preformatted/property.rb +4 -0
  548. data/lib/rabbit/theme/ruby-gnome2-preformatted/ruby-gnome2-preformatted.rb +8 -0
  549. data/lib/rabbit/theme/ruby-gnome2-slide/property.rb +4 -0
  550. data/lib/rabbit/theme/ruby-gnome2-slide/ruby-gnome2-slide.rb +40 -0
  551. data/lib/rabbit/theme/rubykaigi2011/property.rb +3 -0
  552. data/lib/rabbit/theme/rubykaigi2011/rubykaigi2011.rb +48 -0
  553. data/lib/rabbit/theme/scroll-effect/property.rb +3 -0
  554. data/lib/rabbit/theme/scroll-effect/scroll-effect.rb +32 -0
  555. data/lib/rabbit/theme/searcher.rb +179 -0
  556. data/lib/rabbit/theme/show-frame/property.rb +16 -0
  557. data/lib/rabbit/theme/show-frame/show-frame.rb +17 -0
  558. data/lib/rabbit/theme/simple-item-mark/property.rb +5 -0
  559. data/lib/rabbit/theme/simple-item-mark/simple-item-mark.rb +112 -0
  560. data/lib/rabbit/theme/slide-background/property.rb +6 -0
  561. data/lib/rabbit/theme/slide-background/slide-background.rb +3 -0
  562. data/lib/rabbit/theme/slide-background-image/property.rb +10 -0
  563. data/lib/rabbit/theme/slide-background-image/slide-background-image.rb +25 -0
  564. data/lib/rabbit/theme/slide-footer-info/property.rb +43 -0
  565. data/lib/rabbit/theme/slide-footer-info/slide-footer-info.rb +51 -0
  566. data/lib/rabbit/theme/slide-header-info/property.rb +43 -0
  567. data/lib/rabbit/theme/slide-header-info/slide-header-info.rb +42 -0
  568. data/lib/rabbit/theme/slide-logo/property.rb +26 -0
  569. data/lib/rabbit/theme/slide-logo/slide-logo.rb +58 -0
  570. data/lib/rabbit/theme/slide-number/property.rb +21 -0
  571. data/lib/rabbit/theme/slide-number/slide-number.rb +34 -0
  572. data/lib/rabbit/theme/slide-show/property.rb +4 -0
  573. data/lib/rabbit/theme/slide-show/slide-show.rb +31 -0
  574. data/lib/rabbit/theme/stream-comment/property.rb +3 -0
  575. data/lib/rabbit/theme/stream-comment/stream-comment.rb +66 -0
  576. data/lib/rabbit/theme/syntax-highlighting/property.rb +4 -0
  577. data/lib/rabbit/theme/syntax-highlighting/syntax-highlighting.rb +177 -0
  578. data/lib/rabbit/theme/table/property.rb +3 -0
  579. data/lib/rabbit/theme/table/table.rb +173 -0
  580. data/lib/rabbit/theme/tag/property.rb +4 -0
  581. data/lib/rabbit/theme/tag/tag.rb +85 -0
  582. data/lib/rabbit/theme/timer/property.rb +3 -0
  583. data/lib/rabbit/theme/timer/timer.rb +63 -0
  584. data/lib/rabbit/theme/title-background-color/property.rb +10 -0
  585. data/lib/rabbit/theme/title-background-color/title-background-color.rb +17 -0
  586. data/lib/rabbit/theme/title-background-image/property.rb +11 -0
  587. data/lib/rabbit/theme/title-background-image/title-background-image.rb +28 -0
  588. data/lib/rabbit/theme/title-logo/property.rb +23 -0
  589. data/lib/rabbit/theme/title-logo/title-logo.rb +38 -0
  590. data/lib/rabbit/theme/title-on-image-toolkit/property.rb +3 -0
  591. data/lib/rabbit/theme/title-on-image-toolkit/title-on-image-toolkit.rb +140 -0
  592. data/lib/rabbit/theme/title-shadow/property.rb +11 -0
  593. data/lib/rabbit/theme/title-shadow/title-shadow.rb +7 -0
  594. data/lib/rabbit/theme/title-slide-background-image/property.rb +10 -0
  595. data/lib/rabbit/theme/title-slide-background-image/title-slide-background-image.rb +25 -0
  596. data/lib/rabbit/theme/video/property.rb +3 -0
  597. data/lib/rabbit/theme/video/video.rb +5 -0
  598. data/lib/rabbit/theme-configuration.rb +101 -0
  599. data/lib/rabbit/utils.rb +435 -0
  600. data/lib/rabbit/version.rb +19 -0
  601. data/lib/rabbit/xmlrpc/base.rb +6 -0
  602. data/lib/rabbit/xmlrpc/client.rb +33 -0
  603. data/lib/rabbit/xmlrpc/server.rb +39 -0
  604. data/lib/rabbit/yaml-loader.rb +39 -0
  605. data/misc/emacs/README.ja +177 -0
  606. data/misc/emacs/rabbit-mode.el +378 -0
  607. data/misc/github-post-receiver/config.ru +170 -0
  608. data/misc/github-post-receiver/config.yaml.sample +3 -0
  609. data/misc/github-post-receiver/tmp/restart.txt +0 -0
  610. data/misc/make-image-sample.rb +95 -0
  611. data/misc/make-print-sample.rb +95 -0
  612. data/misc/update-rd.rb +85 -0
  613. data/misc/xyzzy/rabbit-mode.l +775 -0
  614. data/po/en/rabbit.po +2110 -0
  615. data/po/fr/rabbit.po +2109 -0
  616. data/po/ja/rabbit.po +2197 -0
  617. data/rabbit-qt.gemspec +80 -0
  618. data/sample/block-quote.rab +13 -0
  619. data/sample/blue-circle.rd +37 -0
  620. data/sample/can_rabbit.rd +425 -0
  621. data/sample/cozmixng.rd +85 -0
  622. data/sample/cozmixng_is_field.png +0 -0
  623. data/sample/cozmixng_is_field.svg +430 -0
  624. data/sample/description-list.rab +17 -0
  625. data/sample/enishi-green.rab +14 -0
  626. data/sample/equation.eps +571 -0
  627. data/sample/gl-sample.rd +8 -0
  628. data/sample/html_and_wiki.png +0 -0
  629. data/sample/html_and_wiki.svg +275 -0
  630. data/sample/image-reflection.rab +12 -0
  631. data/sample/info-window.png +0 -0
  632. data/sample/join_cozmixng.png +0 -0
  633. data/sample/join_cozmixng.svg +293 -0
  634. data/sample/kof2005/gesture-flow.svg +329 -0
  635. data/sample/kof2005/gesture.rb +473 -0
  636. data/sample/kof2005/gtk+-widget.svg +128 -0
  637. data/sample/kof2005/high-light-architecture.svg +203 -0
  638. data/sample/kof2005/high-light-expose.rb +120 -0
  639. data/sample/kof2005/high-light-expose.svg +153 -0
  640. data/sample/kof2005/high-light-widget.rb +147 -0
  641. data/sample/kof2005/high-light-widget.svg +172 -0
  642. data/sample/kof2005/high-light.svg +132 -0
  643. data/sample/kof2005/mask-screenshot.png +0 -0
  644. data/sample/kof2005/mask.rb +105 -0
  645. data/sample/kof2005/mask.svg +120 -0
  646. data/sample/kof2005/ruby-gnome2-logo.png +0 -0
  647. data/sample/kof2005/ruby-pink-circle-logo.png +0 -0
  648. data/sample/kof2005/skip-up-with-ruby-gnome2.rd +450 -0
  649. data/sample/kof2005/widget.svg +202 -0
  650. data/sample/lavie.png +0 -0
  651. data/sample/lightning-talk.rd +50 -0
  652. data/sample/lldn/input.svg +269 -0
  653. data/sample/lldn/interface.svg +410 -0
  654. data/sample/lldn/kame.png +0 -0
  655. data/sample/lldn/lavie.png +0 -0
  656. data/sample/lldn/lldn.rd +212 -0
  657. data/sample/lldn/output.svg +284 -0
  658. data/sample/lldn/rabbit-rwiki.svg +353 -0
  659. data/sample/lldn/rabbit_banner.png +0 -0
  660. data/sample/lldn/rabbit_banner2.png +0 -0
  661. data/sample/m17n.rd +138 -0
  662. data/sample/mermaid.rab +16 -0
  663. data/sample/note.rab +31 -0
  664. data/sample/ppt/hare-and-tortoise-end.png +0 -0
  665. data/sample/ppt/hare-and-tortoise-middle.png +0 -0
  666. data/sample/ppt/hare-and-tortoise-start.png +0 -0
  667. data/sample/ppt/ppt.rd +207 -0
  668. data/sample/ppt/rabbit-with-ruby.png +0 -0
  669. data/sample/pre.rd +123 -0
  670. data/sample/rabbit/theme/festival/festival.rb +6 -0
  671. data/sample/rabbit/theme/gl-sample/gl-sample.rb +29 -0
  672. data/sample/rabbit/theme/image-with-frame/image-with-frame.rb +2 -0
  673. data/sample/rabbit/theme/image-with-no-shadow-frame/image-with-no-shadow-frame.rb +3 -0
  674. data/sample/rabbit/theme/image-without-frame/image-without-frame.rb +2 -0
  675. data/sample/rabbit/theme/kof2005/kof2005.rb +9 -0
  676. data/sample/rabbit/theme/kof2005/property.rb +3 -0
  677. data/sample/rabbit/theme/lightning-talk-with-contact/lightning-talk-with-contact.rb +6 -0
  678. data/sample/rabbit/theme/lldn/lldn.rb +20 -0
  679. data/sample/rabbit/theme/pdf/pdf.rb +16 -0
  680. data/sample/rabbit/theme/pdf/property.rb +4 -0
  681. data/sample/rabbit/theme/ppt/ppt.rb +5 -0
  682. data/sample/rabbit/theme/rabbit-and-tortoise/rabbit-and-tortoise.rb +11 -0
  683. data/sample/rabbit/theme/rectangle-image-slide-number/rectangle-image-slide-number.rb +4 -0
  684. data/sample/rabbit/theme/stop-auto-slide/stop-auto-slide.rb +2 -0
  685. data/sample/rabbit/theme/triangle-image-slide-number/triangle-image-slide-number.rb +5 -0
  686. data/sample/rabbit-balloon.obj +93 -0
  687. data/sample/rabbit-en.hiki +399 -0
  688. data/sample/rabbit-en.md +410 -0
  689. data/sample/rabbit-en.rd +511 -0
  690. data/sample/rabbit-history.svg +280 -0
  691. data/sample/rabbit-implementation.rd +182 -0
  692. data/sample/rabbit-slide-show-logo.svg +597 -0
  693. data/sample/rabbit.dia +408 -0
  694. data/sample/rabbit.hiki +398 -0
  695. data/sample/rabbit.md +423 -0
  696. data/sample/rabbit.rd +520 -0
  697. data/sample/rabbit.xcf +0 -0
  698. data/sample/rabbit_icon.ico +0 -0
  699. data/sample/rabbit_icon.png +0 -0
  700. data/sample/shocker.jpg +0 -0
  701. data/sample/slide-property.hiki +14 -0
  702. data/sample/slide-property.rab +18 -0
  703. data/sample/spiral.svg +29 -0
  704. data/sample/table-en.rd +55 -0
  705. data/sample/table.hiki +34 -0
  706. data/sample/table.rd +55 -0
  707. data/sample/usagi.png +0 -0
  708. data/sample/video.md +19 -0
  709. data/sample/video.rab +17 -0
  710. metadata +1000 -0
@@ -0,0 +1,197 @@
1
+ # Copyright (C) 2004-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 "fileutils"
18
+ require "tmpdir"
19
+
20
+ require_relative "../rabbit"
21
+
22
+ module Rabbit
23
+ module Source
24
+ module Base
25
+ def self.append_features(klass)
26
+ super
27
+ klass.send(:include, GetText)
28
+ end
29
+
30
+ attr_reader :base, :tmp_base
31
+ attr_accessor :encoding, :force_modified
32
+
33
+ def initialize(encoding)
34
+ @encoding = encoding
35
+ @source = nil
36
+ @force_modified = false
37
+ init_base
38
+ end
39
+
40
+ def source=(new_source)
41
+ source_type = self.class.name.split("::").last.downcase
42
+ raise ImmutableSourceTypeError.new(source_type)
43
+ end
44
+
45
+ def reset
46
+ end
47
+
48
+ def read
49
+ if need_read?
50
+ @source = _read
51
+ case @encoding
52
+ when nil
53
+ enc = guess_encoding(@source) || Encoding::ASCII_8BIT
54
+ when Encoding
55
+ enc = @encoding
56
+ else
57
+ enc = Encoding.find(@encoding)
58
+ end
59
+
60
+ case enc
61
+ when Encoding::UTF_8, Encoding::ASCII_8BIT
62
+ @source.force_encoding(enc)
63
+ else
64
+ @source = @source.encode(Encoding::UTF_8, enc)
65
+ end
66
+ end
67
+ @source
68
+ end
69
+
70
+ def modified?
71
+ @force_modified or need_read?
72
+ end
73
+
74
+ def need_read?
75
+ @source.nil?
76
+ end
77
+
78
+ def full_path(path)
79
+ if @base_uri.nil? or @base_uri.relative?
80
+ ::File.join(@base, path)
81
+ else
82
+ uri = @base_uri.dup
83
+ uri.path = @base_uri.path + "/" unless /\/$/ =~ @base_uri.path
84
+ (uri + path).to_s
85
+ end
86
+ end
87
+
88
+ def open_full_path(path, mode="rb")
89
+ open(full_path(path), mode) do |f|
90
+ yield f
91
+ end
92
+ end
93
+
94
+ def old?(current, get_latest_method_name)
95
+ current.nil? or
96
+ (current and __send__(get_latest_method_name) > current)
97
+ end
98
+
99
+ def tmp_dir_name
100
+ dir = ::File.join(@tmp_base, TMP_DIR_NAME)
101
+ FileUtils.mkdir_p(dir) unless ::File.exist?(dir)
102
+ dir
103
+ end
104
+
105
+ def base=(new_value)
106
+ if new_value.nil?
107
+ init_base
108
+ else
109
+ set_base(new_value)
110
+ end
111
+ end
112
+
113
+ def extension
114
+ nil
115
+ end
116
+
117
+ private
118
+ def init_base
119
+ set_base(".")
120
+ end
121
+
122
+ def set_base(new_value)
123
+ if ::File::ALT_SEPARATOR
124
+ new_value = new_value.gsub(::File::ALT_SEPARATOR, ::File::SEPARATOR)
125
+ end
126
+ @base = new_value
127
+ @base_uri = parse_uri(@base)
128
+ if @base_uri.nil? or @base_uri.scheme.nil?
129
+ @tmp_base = @base
130
+ else
131
+ @tmp_base = "."
132
+ end
133
+ unless ::File.writable?(@tmp_base)
134
+ @tmp_base = Dir.tmpdir
135
+ end
136
+ end
137
+
138
+ def parse_uri(str)
139
+ begin
140
+ ::URI.parse(str)
141
+ rescue ::URI::InvalidURIError
142
+ nil
143
+ end
144
+ end
145
+
146
+ def guess_encoding(string)
147
+ string = string.dup
148
+ candidates = [
149
+ Encoding::UTF_8,
150
+ Encoding::EUCJP_MS,
151
+ Encoding::EUCJP,
152
+ Encoding::WINDOWS_31J,
153
+ Encoding::Shift_JIS,
154
+ Encoding::CP51932,
155
+ Encoding::CP50221,
156
+ Encoding::ISO2022_JP,
157
+ Encoding::UTF_16BE,
158
+ Encoding::UTF_16LE,
159
+ ]
160
+ candidates.find do |candidate|
161
+ next if candidate.dummy?
162
+ string.force_encoding(candidate).valid_encoding?
163
+ end
164
+ end
165
+
166
+ def extract_extension(path)
167
+ components = ::File.basename(path).split(/\./)
168
+ return nil if components.size < 2
169
+ components.last
170
+ end
171
+ end
172
+
173
+ module LimitAccessInterval
174
+ MINIMUM_ACCESS_TIME = 60
175
+
176
+ def initialize(*args, &block)
177
+ update_last_access_time
178
+ super
179
+ end
180
+
181
+ def old?(current, get_latest_method_name)
182
+ result = (can_access? and super)
183
+ update_last_access_time if result
184
+ result
185
+ end
186
+
187
+ private
188
+ def update_last_access_time
189
+ @last_access_time = Time.now
190
+ end
191
+
192
+ def can_access?
193
+ Time.now - @last_access_time > MINIMUM_ACCESS_TIME
194
+ end
195
+ end
196
+ end
197
+ end
@@ -0,0 +1,85 @@
1
+ # Copyright (C) 2004-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"
18
+
19
+ module Rabbit
20
+ module Source
21
+ class File
22
+ include Base
23
+
24
+ def self.initial_args_description
25
+ N_("[FILENAME]")
26
+ end
27
+
28
+ def initialize(encoding, name)
29
+ @name = name
30
+ super(encoding)
31
+ @mtime = nil
32
+ end
33
+
34
+ def _read
35
+ begin
36
+ check_file
37
+ ::File.open(@name, "rb") do |f|
38
+ @mtime = f.mtime
39
+ f.read
40
+ end
41
+ rescue SourceUnreadableError
42
+ Rabbit.logger.error($!.message)
43
+ @mtime = Time.now + LimitAccessInterval::MINIMUM_ACCESS_TIME
44
+ +""
45
+ end
46
+ end
47
+
48
+ def need_read?
49
+ super or old?(@mtime, :mtime)
50
+ end
51
+
52
+ def extension
53
+ extract_extension(@name)
54
+ end
55
+
56
+ private
57
+ def check_file
58
+ unless ::File.exist?(@name)
59
+ raise NotExistError.new(@name)
60
+ end
61
+ unless ::File.file?(@name)
62
+ raise NotFileError.new(@name)
63
+ end
64
+ unless ::File.readable?(@name)
65
+ raise NotReadableError.new(@name)
66
+ end
67
+ end
68
+
69
+ def mtime
70
+ begin
71
+ check_file
72
+ ::File.mtime(@name)
73
+ rescue SourceUnreadableError
74
+ Time.now
75
+ end
76
+ end
77
+
78
+ def init_base
79
+ set_base(::File.dirname(@name))
80
+ end
81
+
82
+ end
83
+
84
+ end
85
+ end
@@ -0,0 +1,61 @@
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"
18
+
19
+ module Rabbit
20
+ module Source
21
+ class Memory
22
+ include Base
23
+
24
+ def self.initial_args_description
25
+ N_("[FILENAME_OR_NOT]")
26
+ end
27
+
28
+ attr_accessor :extension
29
+
30
+ def initialize(encoding, name=nil)
31
+ super(encoding)
32
+ if name
33
+ file_source = File.new(encoding, name)
34
+ @original_source = file_source.read
35
+ set_base(file_source.base)
36
+ @extension = extract_extension(name)
37
+ else
38
+ @original_source = ""
39
+ @extension = nil
40
+ end
41
+ reset
42
+ end
43
+
44
+ def source=(new_source)
45
+ @current_source = new_source
46
+ end
47
+
48
+ def _read
49
+ @current_source
50
+ end
51
+
52
+ def need_read?
53
+ super or @current_source != @source
54
+ end
55
+
56
+ def reset
57
+ @current_source = @original_source.dup
58
+ end
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,93 @@
1
+ # Copyright (C) 2004-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 "uri"
18
+ require "open-uri"
19
+
20
+ require_relative "base"
21
+
22
+ module Rabbit
23
+ module Source
24
+ class URI
25
+
26
+ include Base
27
+ include LimitAccessInterval
28
+
29
+ class << self
30
+ def new(encoding, uri)
31
+ parsed_uri = ::URI.parse(uri)
32
+ case parsed_uri.scheme
33
+ when nil
34
+ File.new(encoding, parsed_uri.path)
35
+ when /\Afile\z/i
36
+ File.new(encoding, uri.gsub(/\Afile:\/\//i, ""))
37
+ else
38
+ super
39
+ end
40
+ end
41
+
42
+ def initial_args_description
43
+ N_("URI")
44
+ end
45
+ end
46
+
47
+ def initialize(encoding, uri)
48
+ @uri = ::URI.parse(uri)
49
+ super(encoding)
50
+ @last_modified = nil
51
+ end
52
+
53
+ def need_read?
54
+ super or old?(@last_modified, :last_modified)
55
+ end
56
+
57
+ def extension
58
+ extract_extension(@uri.path)
59
+ end
60
+
61
+ private
62
+ def _read
63
+ begin
64
+ @uri.open do |f|
65
+ @last_modified = f.last_modified
66
+ f.read
67
+ end
68
+ rescue
69
+ Rabbit.logger.error($!.message)
70
+ @last_modified = Time.now + MINIMUM_ACCESS_TIME
71
+ +""
72
+ end
73
+ end
74
+
75
+ def init_base
76
+ base = @uri.dup
77
+ base.path = ::File.dirname(base.path)
78
+ set_base(base.to_s)
79
+ end
80
+
81
+ def last_modified
82
+ begin
83
+ @uri.open do |f|
84
+ f.last_modified
85
+ end
86
+ rescue
87
+ Rabbit.logger.error($!.message)
88
+ Time.now
89
+ end
90
+ end
91
+ end
92
+ end
93
+ end
@@ -0,0 +1,58 @@
1
+ # Copyright (C) 2012-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 "../rabbit"
18
+
19
+ module Rabbit
20
+ module SourceGenerator
21
+ class Hiki
22
+ include GetText
23
+ include PathManipulatable
24
+
25
+ def heading(level, title)
26
+ ("!" * level) + " #{title}"
27
+ end
28
+
29
+ def definition_list_item(item, description)
30
+ ":#{item}:#{description}"
31
+ end
32
+
33
+ def unordered_list_item(item)
34
+ "* #{item}"
35
+ end
36
+
37
+ def image(source, options={})
38
+ lines = [
39
+ "{{image(#{source.dump},",
40
+ " {",
41
+ ]
42
+ options.each do |key, value|
43
+ lines << " #{key.to_s.dump} => #{value.inspect},"
44
+ end
45
+ lines << " })}}"
46
+ lines.join("\n")
47
+ end
48
+
49
+ def preformatted_line(content)
50
+ " #{content}"
51
+ end
52
+
53
+ def comment(content)
54
+ "// #{content}"
55
+ end
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,56 @@
1
+ # Copyright (C) 2012-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 "../rabbit"
18
+
19
+ module Rabbit
20
+ module SourceGenerator
21
+ class Markdown
22
+ include GetText
23
+ include PathManipulatable
24
+
25
+ def heading(level, title)
26
+ ("#" * level) + " #{title}"
27
+ end
28
+
29
+ def definition_list_item(item, description)
30
+ <<-DEFINITION_LIST_ITEM
31
+ #{item}
32
+ : #{description}
33
+ DEFINITION_LIST_ITEM
34
+ end
35
+
36
+ def unordered_list_item(item)
37
+ "* #{item}"
38
+ end
39
+
40
+ def image(source, options={})
41
+ parameters = options.collect do |key, value|
42
+ "#{key}='#{value}'"
43
+ end
44
+ "![](#{source}){:#{parameters.join(' ')}}"
45
+ end
46
+
47
+ def preformatted_line(content)
48
+ " #{content}"
49
+ end
50
+
51
+ def comment(content)
52
+ ""
53
+ end
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,60 @@
1
+ # Copyright (C) 2012-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 "../rabbit"
18
+
19
+ module Rabbit
20
+ module SourceGenerator
21
+ class RD
22
+ include GetText
23
+ include PathManipulatable
24
+
25
+ def heading(level, title)
26
+ ("=" * level) + " #{title}"
27
+ end
28
+
29
+ def definition_list_item(item, description)
30
+ [
31
+ ": #{item}",
32
+ " #{description}",
33
+ ].join("\n")
34
+ end
35
+
36
+ def unordered_list_item(item)
37
+ " * #{item}"
38
+ end
39
+
40
+ def image(source, options={})
41
+ lines = [
42
+ " # image",
43
+ " # src = #{source}",
44
+ ]
45
+ options.each do |key, value|
46
+ lines << " # #{key} = #{value}"
47
+ end
48
+ lines.join("\n")
49
+ end
50
+
51
+ def preformatted_line(content)
52
+ " #{content}"
53
+ end
54
+
55
+ def comment(content)
56
+ "# #{content}"
57
+ end
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,39 @@
1
+ # Copyright (C) 2012-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
+ module Rabbit
18
+ module SourceGenerator
19
+ class << self
20
+ def find(markup_language)
21
+ case markup_language
22
+ when :rd
23
+ RD.new
24
+ when :hiki
25
+ Hiki.new
26
+ when :markdown
27
+ Markdown.new
28
+ else
29
+ nil
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
35
+
36
+ require_relative "source-generator/rd"
37
+ require_relative "source-generator/hiki"
38
+ require_relative "source-generator/markdown"
39
+
@@ -0,0 +1,30 @@
1
+ # Copyright (C) 2017-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 "source/argf"
18
+ require_relative "source/file"
19
+ require_relative "source/memory"
20
+ require_relative "source/uri"
21
+
22
+ module Rabbit
23
+ module Source
24
+ class << self
25
+ def types
26
+ Utils.collect_classes_under_module(self)
27
+ end
28
+ end
29
+ end
30
+ end