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,40 @@
1
+ # Copyright (C) 2005-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 'rbconfig'
18
+
19
+ module Rabbit
20
+ module Config
21
+ IMAGE_PATH = [
22
+ File.join(File.dirname(__FILE__), "..", "..", "data"),
23
+ RbConfig::CONFIG["datadir"],
24
+ ]
25
+ append_path_from_gem = lambda do
26
+ return unless Object.const_defined?(:Gem)
27
+ rabbit_gem_spec = Gem.loaded_specs["rabbit"]
28
+ return if rabbit_gem_spec.nil?
29
+ unless rabbit_gem_spec.respond_to?(:activated?)
30
+ def rabbit_gem_spec.activated?
31
+ loaded?
32
+ end
33
+ end
34
+ if rabbit_gem_spec.activated?
35
+ IMAGE_PATH.unshift(File.join(rabbit_gem_spec.full_gem_path, "data"))
36
+ end
37
+ end
38
+ append_path_from_gem.call
39
+ end
40
+ end
@@ -0,0 +1,84 @@
1
+ require "optparse"
2
+
3
+ class OptionParser
4
+ class Category
5
+ def initialize(str)
6
+ @name = str
7
+ end
8
+
9
+ def summarize(*args, &block)
10
+ yield('')
11
+ yield(@name)
12
+ end
13
+
14
+ def summarize_as_roff(&block)
15
+ yield(".SH #{::OptionParser.roff_escape(@name)}")
16
+ end
17
+ end
18
+
19
+ class Switch
20
+ def summarize_as_roff(&block)
21
+ var = nil
22
+ opt_str = [@short, @long].flatten.collect {|s|
23
+ "\\fB#{::OptionParser.roff_escape(s)}\\fR"
24
+ }.join(', ')
25
+ opt_str << arg.sub(/\A([=\s\[]*)(.+?)([\s\]]*)\z/) {
26
+ var = $2
27
+ "#{$1}\\fI#{$2}\\fR#{$3}"
28
+ } if arg
29
+ yield('.TP')
30
+ yield(opt_str)
31
+ desc.each do |d|
32
+ d_str = ::OptionParser.roff_escape(d)
33
+ d_str.gsub!(var) { "\\fI#{var}\\fR" } if var
34
+ yield(d_str)
35
+ end
36
+ end
37
+ end
38
+
39
+ class List
40
+ def summarize_as_roff(&block)
41
+ list.each do |opt|
42
+ if opt.respond_to?(:summarize_as_roff)
43
+ opt.summarize_as_roff(&block)
44
+ end
45
+ # FIXME: and otherwise process separators and banners...
46
+ end
47
+ end
48
+ end
49
+
50
+ # TODO: decide whether we show this option in the option summary.
51
+ Officious['roff'] = proc do |parser|
52
+ Switch::NoArgument.new do
53
+ puts parser.roff
54
+ exit
55
+ end
56
+ end
57
+
58
+ # TODO: make this option user-visible after implementing all.
59
+ Officious['man'] = proc do |parser|
60
+ Switch::NoArgument.new do
61
+ IO.popen('man -l -', 'w') do |io|
62
+ io.puts parser.roff
63
+ end
64
+ exit
65
+ end
66
+ end
67
+
68
+ def roff
69
+ to = [%[.TH #{self.class.roff_escape(program_name.upcase)} "1"]]
70
+ visit(:summarize_as_roff) do |l|
71
+ to << l + $/
72
+ end
73
+ to
74
+ end
75
+
76
+ def category(str)
77
+ top.append(Category.new(str), nil, nil)
78
+ end
79
+
80
+ def self.roff_escape(str)
81
+ str.gsub(/[-\\]/, '\\\\\\&').gsub(/^[.']/, '\\&') # '
82
+ # TODO: taken over from rd2man-lib.rb, necessary to be confirmed
83
+ end
84
+ end
@@ -0,0 +1,218 @@
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 'English'
18
+
19
+ require "shellwords"
20
+ require "optparse"
21
+ require "optparse/date"
22
+ require "optparse/time"
23
+ require "ostruct"
24
+ require "uri"
25
+ require "pathname"
26
+
27
+ require_relative "rabbit"
28
+
29
+ require_relative "console/roff"
30
+
31
+ Thread.abort_on_exception = true
32
+
33
+ module Rabbit
34
+ class Console
35
+ include GetText
36
+
37
+ @@locale_dir_option_name = "--locale-dir"
38
+
39
+ class << self
40
+ def parse!(args, &block)
41
+ new.parse!(args, &block)
42
+ end
43
+
44
+ def get_last_name(klass)
45
+ klass.name.split("::").last
46
+ end
47
+ end
48
+
49
+ def initialize
50
+ @have_custom_logger = false
51
+ end
52
+
53
+ def parse!(args)
54
+ options = OpenStruct.new
55
+ options.druby_uri = "druby://127.0.0.1:10101"
56
+ options.version = VERSION
57
+ options.options_file = nil
58
+ options.rest = []
59
+ options.before_hooks = []
60
+ options.after_hooks = []
61
+
62
+ process_locale_options(args)
63
+
64
+ parser = OptionParser.new(banner) do |_parser|
65
+ yield(_parser, options)
66
+ setup_common_options(_parser, options)
67
+ end
68
+
69
+ begin
70
+ options_file = options.options_file
71
+ if options_file and File.file?(options_file)
72
+ read_options_file(parser, options, options_file)
73
+ end
74
+ options.before_hooks.each do |hook|
75
+ hook.call(self, parser, options)
76
+ end
77
+ options.rest.concat(parser.parse!(args))
78
+ options.after_hooks.each do |hook|
79
+ hook.call(self, parser, options)
80
+ end
81
+ rescue => error
82
+ Rabbit.logger.error("#{error.class}: #{error.message}")
83
+ error.backtrace.each do |line|
84
+ Rabbit.logger.error(line)
85
+ end
86
+ raise
87
+ end
88
+
89
+ options
90
+ end
91
+
92
+ def read_options_file(parser, options, options_file)
93
+ options_in_file = []
94
+ File.open(options_file) do |file|
95
+ file.each_line do |line|
96
+ options_in_file.concat(Shellwords.split(line))
97
+ end
98
+ end
99
+ source_info = parser.parse(options_in_file)
100
+
101
+ source_info = source_info.collect do |path|
102
+ if URI(path).scheme
103
+ path
104
+ else
105
+ if Pathname(path).absolute?
106
+ path
107
+ else
108
+ File.join(File.dirname(options_file), path)
109
+ end
110
+ end
111
+ end
112
+ options.rest.concat(source_info)
113
+ end
114
+
115
+ private
116
+ def banner
117
+ _("Usage: %s [options]") % File.basename($0, '.*')
118
+ end
119
+
120
+ def process_locale_options(args)
121
+ args.each_with_index do |arg, i|
122
+ if arg == @@locale_dir_option_name
123
+ self.class.bindtextdomain(GetText::DOMAIN, :path => args[i + 1])
124
+ elsif /#{@@locale_dir_option_name}=/ =~ arg
125
+ self.class.bindtextdomain(GetText::DOMAIN, :path => $POSTMATCH)
126
+ end
127
+ end
128
+ end
129
+
130
+ def setup_common_options(parser, options)
131
+ parser.separator ""
132
+ parser.separator _("Common options")
133
+
134
+ setup_options_options(parser, options)
135
+ setup_locale_options(parser, options)
136
+ setup_logger_options(parser, options)
137
+ setup_common_options_on_tail(parser, options)
138
+ end
139
+
140
+ def setup_options_options(parser, options)
141
+ parser.on("--options-file=FILE",
142
+ _("Load options from FILE."),
143
+ _("(none)")) do |file|
144
+ read_options_file(parser, options, file)
145
+ end
146
+
147
+ parser.separator ""
148
+ end
149
+
150
+ def setup_locale_options(parser, options)
151
+ parser.on("--locale-dir=DIR",
152
+ _("Specify locale dir as [DIR]."),
153
+ _("(auto)")) do |directory|
154
+ self.class.bindtextdomain(GetText::DOMAIN, :path => directory)
155
+ end
156
+
157
+ parser.separator ""
158
+ end
159
+
160
+ def setup_logger_options(parser, options)
161
+ logger_type_names = Rabbit::Logger.types.collect do |x|
162
+ get_last_name(x).downcase
163
+ end
164
+
165
+ default_logger_class = ::Rabbit.logger.class
166
+ parser.on("--logger-type=TYPE",
167
+ logger_type_names,
168
+ _("Specify logger type as [TYPE]."),
169
+ _("Select from [%s].") % logger_type_names.join(', '),
170
+ "(#{get_last_name(default_logger_class)})") do |logger_type|
171
+ logger_class = Rabbit::Logger.types.find do |t|
172
+ get_last_name(t).downcase == logger_type.downcase
173
+ end
174
+ if logger_class.nil?
175
+ ::Rabbit.logger.error("Unknown logger type: #{t}")
176
+ else
177
+ ::Rabbit.logger = logger_class.new
178
+ @have_custom_logger = true
179
+ end
180
+ end
181
+
182
+ level_names = Logger::Severity.names
183
+ default_logger_level = ::Rabbit.logger.level
184
+ parser.on("--log-level=LEVEL",
185
+ level_names,
186
+ _("Specify log level as [LEVEL]."),
187
+ _("Select from [%s].") % level_names.join(', '),
188
+ "(#{Logger::Severity.name(default_logger_level)})") do |name|
189
+ options.logger.level = Logger::Severity.level(name)
190
+ end
191
+
192
+ parser.separator ""
193
+ end
194
+
195
+ def setup_common_options_on_tail(parser, options)
196
+ parser.on_tail("--help", _("Show this message.")) do
197
+ output_info_and_exit(options, parser.to_s)
198
+ end
199
+
200
+ parser.on_tail("--version", _("Show version.")) do
201
+ output_info_and_exit(options, "#{options.version}\n")
202
+ end
203
+ end
204
+
205
+ def output_info_and_exit(options, message)
206
+ if !@have_custom_logger and ::Rabbit.logger.is_a?(Logger::STDERR)
207
+ ::Rabbit.logger.info(message)
208
+ else
209
+ puts(message)
210
+ end
211
+ exit
212
+ end
213
+
214
+ def get_last_name(klass)
215
+ self.class.get_last_name(klass)
216
+ end
217
+ end
218
+ end
@@ -0,0 +1,66 @@
1
+ # Copyright (C) 2006-2025 Sutou Kouhei <kou@cozmixng.org>
2
+ #
3
+ # This program is free software; you can redistribute it and/or modify
4
+ # it under the terms of the GNU General Public License as published by
5
+ # the Free Software Foundation; either version 2 of the License, or
6
+ # (at your option) any later version.
7
+ #
8
+ # This program is distributed in the hope that it will be useful,
9
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
+ # GNU General Public License for more details.
12
+ #
13
+ # You should have received a copy of the GNU General Public License along
14
+ # with this program; if not, write to the Free Software Foundation, Inc.,
15
+ # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
16
+
17
+ module Rabbit
18
+ class CursorManager
19
+ CURSORS = {
20
+ none: ::Qt::BlankCursor,
21
+ graffiti: ::Qt::CrossCursor,
22
+ gesture: ::Qt::ClosedHandCursor,
23
+ }
24
+
25
+ attr_accessor :current
26
+ def initialize
27
+ @stocks = {}
28
+ @current = nil
29
+ end
30
+
31
+ def keep(name)
32
+ @stocks[name] ||= []
33
+ @stocks[name].push(@current)
34
+ end
35
+
36
+ def restore(widget, name)
37
+ if name.nil?
38
+ type = @current
39
+ else
40
+ type = @stocks[name].pop
41
+ end
42
+ if type.nil?
43
+ widget.unset_cursor
44
+ else
45
+ widget.set_cursor(QCursor.new(type_to_cursor(type)))
46
+ end
47
+ end
48
+
49
+ def update(widget, type)
50
+ if type.nil?
51
+ widget.unset_cursor
52
+ else
53
+ widget.set_cursor(QCursor.new(type_to_cursor(type)))
54
+ end
55
+ end
56
+
57
+ private
58
+ def type_to_cursor(type)
59
+ cursor = CURSORS[type]
60
+ if cursor.nil?
61
+ raise UnknownCursorTypeError.new(type)
62
+ end
63
+ cursor
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,33 @@
1
+ # Copyright (C) 2006-2025 Sutou Kouhei <kou@cozmixng.org>
2
+ #
3
+ # This program is free software; you can redistribute it and/or modify
4
+ # it under the terms of the GNU General Public License as published by
5
+ # the Free Software Foundation; either version 2 of the License, or
6
+ # (at your option) any later version.
7
+ #
8
+ # This program is distributed in the hope that it will be useful,
9
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
+ # GNU General Public License for more details.
12
+ #
13
+ # You should have received a copy of the GNU General Public License along
14
+ # with this program; if not, write to the Free Software Foundation, Inc.,
15
+ # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
16
+
17
+ require_relative "canvas"
18
+
19
+ module Rabbit
20
+ class DependencyCanvas < Canvas
21
+ extend Forwardable
22
+
23
+ def_delegators(:@parent,
24
+ :theme_name, :allotted_time, :rest_time, :activate)
25
+
26
+ def initialize(parent, *rest, &block)
27
+ @parent = parent
28
+ super(*rest, &block)
29
+ self.base_width = @parent.base_width
30
+ self.base_height = @parent.base_height
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,75 @@
1
+ module Rabbit
2
+ module Element
3
+ module Base
4
+ module DrawHook
5
+ @@draw_hook_names = []
6
+
7
+ class << self
8
+ def def_draw_hook(klass, name)
9
+ @@draw_hook_names << name
10
+ base_name = "#{name}_draw_proc"
11
+ var_name = "@#{base_name}s"
12
+ klass.module_eval(<<-EOC, __FILE__, __LINE__ + 1)
13
+ def add_#{base_name}(name=nil, &block)
14
+ #{var_name} << [block, name]
15
+ block
16
+ end
17
+
18
+ def delete_#{base_name}(name=nil, &block)
19
+ #{var_name}.reject! do |blk,|
20
+ blk == block
21
+ end
22
+ end
23
+
24
+ def delete_#{base_name}_by_name(name)
25
+ #{var_name}.reject! do |_, nm|
26
+ name === nm
27
+ end
28
+ end
29
+
30
+ def clear_#{base_name}s
31
+ #{var_name} = []
32
+ end
33
+
34
+ def #{base_name}s(name)
35
+ #{var_name}.find_all do |_, nm|
36
+ name === nm
37
+ end
38
+ end
39
+
40
+ def #{base_name}(name)
41
+ #{var_name}.find do |_, nm|
42
+ name === nm
43
+ end
44
+ end
45
+ EOC
46
+ end
47
+
48
+ def def_draw_hooks(klass, *names)
49
+ names.each do |name|
50
+ klass.def_draw_hook(name)
51
+ end
52
+ end
53
+
54
+ private
55
+ def append_features(klass)
56
+ super
57
+ methods(false).each do |name|
58
+ klass.module_eval(<<-EOC, __FILE__, __LINE__ + 1)
59
+ def self.#{name}(*args)
60
+ #{self.name}.#{name}(self, *args)
61
+ end
62
+ EOC
63
+ end
64
+ end
65
+ end
66
+
67
+ def clear_draw_procs
68
+ @@draw_hook_names.each do |name|
69
+ __send__("clear_#{name}_draw_procs")
70
+ end
71
+ end
72
+ end
73
+ end
74
+ end
75
+ end