rabbit 0.6.2

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 (620) hide show
  1. data/COPYING +56 -0
  2. data/COPYING.ja +51 -0
  3. data/GPL +340 -0
  4. data/INSTALL.macosx-macports.en +75 -0
  5. data/INSTALL.macosx-macports.ja +101 -0
  6. data/INSTALL.win32.en +74 -0
  7. data/INSTALL.win32.ja +77 -0
  8. data/NEWS.en +337 -0
  9. data/NEWS.ja +338 -0
  10. data/README.en +836 -0
  11. data/README.ja +871 -0
  12. data/Rakefile +82 -0
  13. data/TODO +7 -0
  14. data/bin/rabbirc +86 -0
  15. data/bin/rabbit +759 -0
  16. data/bin/rabbit-command +95 -0
  17. data/bin/rabbit-theme-manager +133 -0
  18. data/bin/rabbit.bat +8 -0
  19. data/bin/rabrick +82 -0
  20. data/data/locale/en/LC_MESSAGES/rabbit.mo +0 -0
  21. data/data/locale/fr/LC_MESSAGES/rabbit.mo +0 -0
  22. data/data/locale/ja/LC_MESSAGES/rabbit.mo +0 -0
  23. data/data/rabbit/image/clear-blue-images/clear-blue-headline-background.png +0 -0
  24. data/data/rabbit/image/clear-blue-images/clear-blue-icon.png +0 -0
  25. data/data/rabbit/image/clear-blue-images/clear-blue-images.rb +0 -0
  26. data/data/rabbit/image/clear-blue-images/property.rb +4 -0
  27. data/data/rabbit/image/cozmixng-images/cozmixchu.png +0 -0
  28. data/data/rabbit/image/cozmixng-images/cozmixng-images.rb +2 -0
  29. data/data/rabbit/image/cozmixng-images/powered-by-cozmixng.png +0 -0
  30. data/data/rabbit/image/cozmixng-images/property.rb +4 -0
  31. data/data/rabbit/image/rabbit-images/blue-item.png +0 -0
  32. data/data/rabbit/image/rabbit-images/close-quote-blue.png +0 -0
  33. data/data/rabbit/image/rabbit-images/close-quote-brown.png +0 -0
  34. data/data/rabbit/image/rabbit-images/close-quote-light-blue.png +0 -0
  35. data/data/rabbit/image/rabbit-images/goal-flag.png +0 -0
  36. data/data/rabbit/image/rabbit-images/green-item.png +0 -0
  37. data/data/rabbit/image/rabbit-images/kame.png +0 -0
  38. data/data/rabbit/image/rabbit-images/lavie-icon.png +0 -0
  39. data/data/rabbit/image/rabbit-images/lavie-with-logo.png +0 -0
  40. data/data/rabbit/image/rabbit-images/lavie.png +0 -0
  41. data/data/rabbit/image/rabbit-images/mini-alice.png +0 -0
  42. data/data/rabbit/image/rabbit-images/mini-horizontal-bar.png +0 -0
  43. data/data/rabbit/image/rabbit-images/mini-kame-taro.png +0 -0
  44. data/data/rabbit/image/rabbit-images/mini-tanu-kitaro.png +0 -0
  45. data/data/rabbit/image/rabbit-images/mini-usa-taro.png +0 -0
  46. data/data/rabbit/image/rabbit-images/mini-usagi.png +0 -0
  47. data/data/rabbit/image/rabbit-images/mini-vertical-bar.png +0 -0
  48. data/data/rabbit/image/rabbit-images/mini-yukidaru-taro.png +0 -0
  49. data/data/rabbit/image/rabbit-images/open-quote-blue.png +0 -0
  50. data/data/rabbit/image/rabbit-images/open-quote-brown.png +0 -0
  51. data/data/rabbit/image/rabbit-images/open-quote-light-blue.png +0 -0
  52. data/data/rabbit/image/rabbit-images/property.rb +4 -0
  53. data/data/rabbit/image/rabbit-images/rabbit-banner-blue.png +0 -0
  54. data/data/rabbit/image/rabbit-images/rabbit-banner-green.png +0 -0
  55. data/data/rabbit/image/rabbit-images/rabbit-banner-heads.png +0 -0
  56. data/data/rabbit/image/rabbit-images/rabbit-banner-pink.png +0 -0
  57. data/data/rabbit/image/rabbit-images/rabbit-banner.png +0 -0
  58. data/data/rabbit/image/rabbit-images/rabbit-banner2.png +0 -0
  59. data/data/rabbit/image/rabbit-images/rabbit-images.rb +2 -0
  60. data/data/rabbit/image/rabbit-images/rabbit-pink-logo.png +0 -0
  61. data/data/rabbit/image/rabbit-images/rabbit-pink-logo2.png +0 -0
  62. data/data/rabbit/image/rabbit-images/red-item.png +0 -0
  63. data/data/rabbit/image/rabbit-images/red-item2.png +0 -0
  64. data/data/rabbit/image/rabbit-images/start-flag.png +0 -0
  65. data/data/rabbit/image/rabbit-images/tanu-kitaro.png +0 -0
  66. data/data/rabbit/image/rabbit-images/usa-taro.png +0 -0
  67. data/data/rabbit/image/rabbit-images/usagi.png +0 -0
  68. data/data/rabbit/image/rabbit-images/yukiusa.png +0 -0
  69. data/data/rabbit/image/ruby-images/property.rb +4 -0
  70. data/data/rabbit/image/ruby-images/ruby-images.rb +2 -0
  71. data/data/rabbit/image/ruby-images/ruby-pink-circle-icon.png +0 -0
  72. data/data/rabbit/image/ruby-images/ruby-pink-circle-logo.png +0 -0
  73. data/data/rabbit/image/ruby-images/ruby-pink-circle-small-icon.png +0 -0
  74. data/data/rabbit/image/ruby-images/ruby-pink-circle.png +0 -0
  75. data/data/rabbit/image/ruby-images/ruby-pink-polygon-icon.png +0 -0
  76. data/data/rabbit/image/ruby-images/ruby-pink-polygon-logo.png +0 -0
  77. data/data/rabbit/image/ruby-images/ruby-pink-polygon-small-icon.png +0 -0
  78. data/data/rabbit/image/ruby-images/ruby-pink-polygon.png +0 -0
  79. data/entities/README +10 -0
  80. data/entities/ent2rb.rb +57 -0
  81. data/entities/isoamsa.ent +167 -0
  82. data/entities/isoamsb.ent +143 -0
  83. data/entities/isoamsc.ent +43 -0
  84. data/entities/isoamsn.ent +114 -0
  85. data/entities/isoamso.ent +73 -0
  86. data/entities/isoamsr.ent +204 -0
  87. data/entities/isobox.ent +61 -0
  88. data/entities/isocyr1.ent +88 -0
  89. data/entities/isocyr2.ent +47 -0
  90. data/entities/isodia.ent +35 -0
  91. data/entities/isogrk3.ent +64 -0
  92. data/entities/isolat1.ent +83 -0
  93. data/entities/isolat2.ent +142 -0
  94. data/entities/isomfrk.ent +75 -0
  95. data/entities/isomopf.ent +49 -0
  96. data/entities/isomscr.ent +75 -0
  97. data/entities/isonum.ent +97 -0
  98. data/entities/isopub.ent +105 -0
  99. data/entities/isotech.ent +182 -0
  100. data/entities/mmlalias.ent +564 -0
  101. data/entities/mmlextra.ent +122 -0
  102. data/lib/rabbit/action.rb +143 -0
  103. data/lib/rabbit/action/basic.rb +304 -0
  104. data/lib/rabbit/action/radio.rb +78 -0
  105. data/lib/rabbit/action/toggle.rb +89 -0
  106. data/lib/rabbit/canvas.rb +760 -0
  107. data/lib/rabbit/comment-canvas.rb +21 -0
  108. data/lib/rabbit/comment/log.rb +74 -0
  109. data/lib/rabbit/console.rb +133 -0
  110. data/lib/rabbit/console/roff.rb +84 -0
  111. data/lib/rabbit/cursor-manager.rb +62 -0
  112. data/lib/rabbit/default-config.rb +16 -0
  113. data/lib/rabbit/dependency-canvas.rb +14 -0
  114. data/lib/rabbit/div/comment-i.erb +7 -0
  115. data/lib/rabbit/div/comment.erb +45 -0
  116. data/lib/rabbit/div/css.erb +1 -0
  117. data/lib/rabbit/div/js.erb +1 -0
  118. data/lib/rabbit/div/log.erb +5 -0
  119. data/lib/rabbit/div/main-i.erb +24 -0
  120. data/lib/rabbit/div/main.css +40 -0
  121. data/lib/rabbit/div/main.erb +33 -0
  122. data/lib/rabbit/div/navi-i.erb +6 -0
  123. data/lib/rabbit/div/navi.erb +6 -0
  124. data/lib/rabbit/div/prototype.js +4320 -0
  125. data/lib/rabbit/div/slide-i.erb +2 -0
  126. data/lib/rabbit/div/slide.erb +5 -0
  127. data/lib/rabbit/div/tofu.rb +309 -0
  128. data/lib/rabbit/element.rb +8 -0
  129. data/lib/rabbit/element/base.rb +499 -0
  130. data/lib/rabbit/element/base/draw-hook.rb +75 -0
  131. data/lib/rabbit/element/block-element.rb +38 -0
  132. data/lib/rabbit/element/block.rb +53 -0
  133. data/lib/rabbit/element/container-element.rb +254 -0
  134. data/lib/rabbit/element/description-list.rb +56 -0
  135. data/lib/rabbit/element/enum-list.rb +33 -0
  136. data/lib/rabbit/element/footnote.rb +32 -0
  137. data/lib/rabbit/element/image-title-slide.rb +18 -0
  138. data/lib/rabbit/element/image.rb +167 -0
  139. data/lib/rabbit/element/index-slide.rb +190 -0
  140. data/lib/rabbit/element/item-list.rb +31 -0
  141. data/lib/rabbit/element/method-list.rb +50 -0
  142. data/lib/rabbit/element/poppler-page.rb +36 -0
  143. data/lib/rabbit/element/poppler-slide.rb +25 -0
  144. data/lib/rabbit/element/poppler-title-slide.rb +23 -0
  145. data/lib/rabbit/element/preformatted.rb +27 -0
  146. data/lib/rabbit/element/slide-element.rb +97 -0
  147. data/lib/rabbit/element/slide.rb +51 -0
  148. data/lib/rabbit/element/table.rb +100 -0
  149. data/lib/rabbit/element/tag.rb +29 -0
  150. data/lib/rabbit/element/text-container-element.rb +104 -0
  151. data/lib/rabbit/element/text-element.rb +59 -0
  152. data/lib/rabbit/element/text-renderer.rb +321 -0
  153. data/lib/rabbit/element/text.rb +82 -0
  154. data/lib/rabbit/element/title-slide.rb +190 -0
  155. data/lib/rabbit/formatter.rb +143 -0
  156. data/lib/rabbit/frame.rb +275 -0
  157. data/lib/rabbit/front.rb +238 -0
  158. data/lib/rabbit/gesture/handler.rb +232 -0
  159. data/lib/rabbit/gesture/processor.rb +118 -0
  160. data/lib/rabbit/gettext.rb +90 -0
  161. data/lib/rabbit/graffiti/config-dialog.rb +57 -0
  162. data/lib/rabbit/graffiti/processor.rb +116 -0
  163. data/lib/rabbit/html/generator.rb +458 -0
  164. data/lib/rabbit/html/template.erb +109 -0
  165. data/lib/rabbit/image.rb +35 -0
  166. data/lib/rabbit/image/base.rb +104 -0
  167. data/lib/rabbit/image/default.rb +27 -0
  168. data/lib/rabbit/image/dia.rb +63 -0
  169. data/lib/rabbit/image/eps.rb +113 -0
  170. data/lib/rabbit/image/gimp.rb +53 -0
  171. data/lib/rabbit/image/pdf.rb +77 -0
  172. data/lib/rabbit/image/svg.rb +78 -0
  173. data/lib/rabbit/info-window.rb +160 -0
  174. data/lib/rabbit/keys.rb +190 -0
  175. data/lib/rabbit/logger.rb +14 -0
  176. data/lib/rabbit/logger/base.rb +129 -0
  177. data/lib/rabbit/logger/gui.rb +172 -0
  178. data/lib/rabbit/logger/stderr.rb +28 -0
  179. data/lib/rabbit/menu.rb +287 -0
  180. data/lib/rabbit/parser.rb +24 -0
  181. data/lib/rabbit/parser/base.rb +20 -0
  182. data/lib/rabbit/parser/ext/anthy.rb +43 -0
  183. data/lib/rabbit/parser/ext/enscript.rb +122 -0
  184. data/lib/rabbit/parser/ext/entity.rb +4178 -0
  185. data/lib/rabbit/parser/ext/escape.rb +18 -0
  186. data/lib/rabbit/parser/ext/image.rb +102 -0
  187. data/lib/rabbit/parser/ext/inline.rb +29 -0
  188. data/lib/rabbit/parser/ext/tex.rb +77 -0
  189. data/lib/rabbit/parser/image.rb +34 -0
  190. data/lib/rabbit/parser/pause-support.rb +32 -0
  191. data/lib/rabbit/parser/pdf.rb +35 -0
  192. data/lib/rabbit/parser/rd.rb +54 -0
  193. data/lib/rabbit/parser/rd/ext/anthy.rb +29 -0
  194. data/lib/rabbit/parser/rd/ext/base.rb +79 -0
  195. data/lib/rabbit/parser/rd/ext/block-verbatim.rb +103 -0
  196. data/lib/rabbit/parser/rd/ext/enscript.rb +24 -0
  197. data/lib/rabbit/parser/rd/ext/entity.rb +38 -0
  198. data/lib/rabbit/parser/rd/ext/image.rb +27 -0
  199. data/lib/rabbit/parser/rd/ext/inline-verbatim.rb +89 -0
  200. data/lib/rabbit/parser/rd/ext/refer.rb +34 -0
  201. data/lib/rabbit/parser/rd/ext/tex.rb +24 -0
  202. data/lib/rabbit/parser/rd/rd2rabbit-lib.rb +424 -0
  203. data/lib/rabbit/parser/rd/rt/rt2rabbit-lib.rb +83 -0
  204. data/lib/rabbit/parser/rd/visitor.rb +56 -0
  205. data/lib/rabbit/parser/wiki.rb +30 -0
  206. data/lib/rabbit/parser/wiki/output.rb +460 -0
  207. data/lib/rabbit/post-setup.rb +8 -0
  208. data/lib/rabbit/pre-clean.rb +2 -0
  209. data/lib/rabbit/pre-distclean.rb +2 -0
  210. data/lib/rabbit/progress.rb +68 -0
  211. data/lib/rabbit/rabbit.rb +222 -0
  212. data/lib/rabbit/renderer.rb +27 -0
  213. data/lib/rabbit/renderer/base.rb +512 -0
  214. data/lib/rabbit/renderer/color.rb +80 -0
  215. data/lib/rabbit/renderer/display.rb +25 -0
  216. data/lib/rabbit/renderer/display/base.rb +93 -0
  217. data/lib/rabbit/renderer/display/button-handler.rb +145 -0
  218. data/lib/rabbit/renderer/display/clutter-embed.rb +634 -0
  219. data/lib/rabbit/renderer/display/comment-drawing-area.rb +173 -0
  220. data/lib/rabbit/renderer/display/comment.rb +194 -0
  221. data/lib/rabbit/renderer/display/cursor.rb +34 -0
  222. data/lib/rabbit/renderer/display/drawing-area-base.rb +395 -0
  223. data/lib/rabbit/renderer/display/drawing-area-primitive.rb +219 -0
  224. data/lib/rabbit/renderer/display/drawing-area-view-only.rb +33 -0
  225. data/lib/rabbit/renderer/display/drawing-area.rb +31 -0
  226. data/lib/rabbit/renderer/display/gesture.rb +94 -0
  227. data/lib/rabbit/renderer/display/gl.rb +98 -0
  228. data/lib/rabbit/renderer/display/graffiti.rb +120 -0
  229. data/lib/rabbit/renderer/display/info.rb +45 -0
  230. data/lib/rabbit/renderer/display/key-handler.rb +303 -0
  231. data/lib/rabbit/renderer/display/magnifier.rb +123 -0
  232. data/lib/rabbit/renderer/display/mask.rb +68 -0
  233. data/lib/rabbit/renderer/display/menu.rb +30 -0
  234. data/lib/rabbit/renderer/display/progress.rb +62 -0
  235. data/lib/rabbit/renderer/display/search.rb +107 -0
  236. data/lib/rabbit/renderer/display/spotlight.rb +117 -0
  237. data/lib/rabbit/renderer/engine.rb +18 -0
  238. data/lib/rabbit/renderer/engine/cairo.rb +438 -0
  239. data/lib/rabbit/renderer/engine/gdk.rb +229 -0
  240. data/lib/rabbit/renderer/gl.rb +176 -0
  241. data/lib/rabbit/renderer/kernel.rb +256 -0
  242. data/lib/rabbit/renderer/pixmap.rb +25 -0
  243. data/lib/rabbit/renderer/pixmap/base.rb +127 -0
  244. data/lib/rabbit/renderer/pixmap/cairo.rb +23 -0
  245. data/lib/rabbit/renderer/pixmap/gdk.rb +29 -0
  246. data/lib/rabbit/renderer/pixmap/gl.rb +46 -0
  247. data/lib/rabbit/renderer/print.rb +31 -0
  248. data/lib/rabbit/renderer/print/base.rb +73 -0
  249. data/lib/rabbit/renderer/print/cairo.rb +130 -0
  250. data/lib/rabbit/renderer/print/layout.rb +123 -0
  251. data/lib/rabbit/renderer/print/multiple.rb +205 -0
  252. data/lib/rabbit/search-window.rb +99 -0
  253. data/lib/rabbit/searcher.rb +106 -0
  254. data/lib/rabbit/soap/base.rb +17 -0
  255. data/lib/rabbit/soap/driver.rb +45 -0
  256. data/lib/rabbit/soap/server.rb +33 -0
  257. data/lib/rabbit/source.rb +14 -0
  258. data/lib/rabbit/source/argf.rb +29 -0
  259. data/lib/rabbit/source/base.rb +164 -0
  260. data/lib/rabbit/source/file.rb +65 -0
  261. data/lib/rabbit/source/hiki.rb +36 -0
  262. data/lib/rabbit/source/memory.rb +41 -0
  263. data/lib/rabbit/source/rwiki.rb +54 -0
  264. data/lib/rabbit/source/slide-share.rb +53 -0
  265. data/lib/rabbit/source/uri.rb +73 -0
  266. data/lib/rabbit/stock.rb +31 -0
  267. data/lib/rabbit/theme-browser.rb +104 -0
  268. data/lib/rabbit/theme-browser/default-tag.yaml +89 -0
  269. data/lib/rabbit/theme-browser/document.rb +200 -0
  270. data/lib/rabbit/theme-browser/ext/block-verbatim.rb +39 -0
  271. data/lib/rabbit/theme-browser/page.rb +133 -0
  272. data/lib/rabbit/theme-browser/rd2document-lib.rb +181 -0
  273. data/lib/rabbit/theme-browser/tag.rb +67 -0
  274. data/lib/rabbit/theme-browser/tree.rb +91 -0
  275. data/lib/rabbit/theme/applier.rb +613 -0
  276. data/lib/rabbit/theme/auto-slide/auto-slide.rb +6 -0
  277. data/lib/rabbit/theme/auto-slide/property.rb +4 -0
  278. data/lib/rabbit/theme/base/base.rb +76 -0
  279. data/lib/rabbit/theme/base/property.rb +4 -0
  280. data/lib/rabbit/theme/blue-bar/blue-bar.rb +93 -0
  281. data/lib/rabbit/theme/blue-bar/property.rb +3 -0
  282. data/lib/rabbit/theme/blue-circle/blue-circle.rb +14 -0
  283. data/lib/rabbit/theme/blue-circle/property.rb +3 -0
  284. data/lib/rabbit/theme/centering-rabbit/centering-rabbit.rb +5 -0
  285. data/lib/rabbit/theme/centering-rabbit/property.rb +3 -0
  286. data/lib/rabbit/theme/clear-blue/clear-blue.rb +100 -0
  287. data/lib/rabbit/theme/clear-blue/property.rb +3 -0
  288. data/lib/rabbit/theme/clock/clock.rb +37 -0
  289. data/lib/rabbit/theme/clock/property.rb +21 -0
  290. data/lib/rabbit/theme/color-circle-block-quote/color-circle-block-quote.rb +26 -0
  291. data/lib/rabbit/theme/color-circle-block-quote/property.rb +4 -0
  292. data/lib/rabbit/theme/color-circle-common/color-circle-common.rb +48 -0
  293. data/lib/rabbit/theme/color-circle-common/property.rb +3 -0
  294. data/lib/rabbit/theme/color-circle-description/color-circle-description.rb +9 -0
  295. data/lib/rabbit/theme/color-circle-description/property.rb +4 -0
  296. data/lib/rabbit/theme/color-circle-foot-text/color-circle-foot-text.rb +14 -0
  297. data/lib/rabbit/theme/color-circle-foot-text/property.rb +4 -0
  298. data/lib/rabbit/theme/color-circle-item-mark/color-circle-item-mark.rb +77 -0
  299. data/lib/rabbit/theme/color-circle-item-mark/property.rb +4 -0
  300. data/lib/rabbit/theme/color-circle-method-list/color-circle-method-list.rb +8 -0
  301. data/lib/rabbit/theme/color-circle-method-list/property.rb +4 -0
  302. data/lib/rabbit/theme/color-circle-preformatted/color-circle-preformatted.rb +5 -0
  303. data/lib/rabbit/theme/color-circle-preformatted/property.rb +4 -0
  304. data/lib/rabbit/theme/color-circle-slide/color-circle-slide.rb +13 -0
  305. data/lib/rabbit/theme/color-circle-slide/property.rb +4 -0
  306. data/lib/rabbit/theme/color-circle-text/color-circle-text.rb +9 -0
  307. data/lib/rabbit/theme/color-circle-text/property.rb +4 -0
  308. data/lib/rabbit/theme/color-circle-title-slide/color-circle-title-slide.rb +27 -0
  309. data/lib/rabbit/theme/color-circle-title-slide/property.rb +4 -0
  310. data/lib/rabbit/theme/color-circle-title-text/color-circle-title-text.rb +7 -0
  311. data/lib/rabbit/theme/color-circle-title-text/property.rb +4 -0
  312. data/lib/rabbit/theme/color-circle/color-circle.rb +40 -0
  313. data/lib/rabbit/theme/color-circle/property.rb +4 -0
  314. data/lib/rabbit/theme/comment/comment.rb +5 -0
  315. data/lib/rabbit/theme/comment/property.rb +3 -0
  316. data/lib/rabbit/theme/cozmixng-powered-by/cozmixng-powered-by.rb +6 -0
  317. data/lib/rabbit/theme/cozmixng-powered-by/property.rb +7 -0
  318. data/lib/rabbit/theme/cozmixng/cozmixng.rb +55 -0
  319. data/lib/rabbit/theme/cozmixng/property.rb +3 -0
  320. data/lib/rabbit/theme/day-white/day-white.rb +14 -0
  321. data/lib/rabbit/theme/day-white/property.rb +3 -0
  322. data/lib/rabbit/theme/default-block-quote/default-block-quote.rb +113 -0
  323. data/lib/rabbit/theme/default-block-quote/property.rb +3 -0
  324. data/lib/rabbit/theme/default-description/default-description.rb +64 -0
  325. data/lib/rabbit/theme/default-description/property.rb +5 -0
  326. data/lib/rabbit/theme/default-foot-text/default-foot-text.rb +52 -0
  327. data/lib/rabbit/theme/default-foot-text/property.rb +3 -0
  328. data/lib/rabbit/theme/default-icon/default-icon.rb +4 -0
  329. data/lib/rabbit/theme/default-icon/property.rb +5 -0
  330. data/lib/rabbit/theme/default-item-mark-setup/default-item-mark-setup.rb +116 -0
  331. data/lib/rabbit/theme/default-item-mark-setup/property.rb +3 -0
  332. data/lib/rabbit/theme/default-item-mark/default-item-mark.rb +92 -0
  333. data/lib/rabbit/theme/default-item-mark/property.rb +4 -0
  334. data/lib/rabbit/theme/default-method-list/default-method-list.rb +6 -0
  335. data/lib/rabbit/theme/default-method-list/property.rb +3 -0
  336. data/lib/rabbit/theme/default-preformatted/default-preformatted.rb +37 -0
  337. data/lib/rabbit/theme/default-preformatted/property.rb +3 -0
  338. data/lib/rabbit/theme/default-slide/default-slide.rb +33 -0
  339. data/lib/rabbit/theme/default-slide/property.rb +3 -0
  340. data/lib/rabbit/theme/default-text/default-text.rb +183 -0
  341. data/lib/rabbit/theme/default-text/property.rb +3 -0
  342. data/lib/rabbit/theme/default-title-slide/default-title-slide.rb +13 -0
  343. data/lib/rabbit/theme/default-title-slide/property.rb +6 -0
  344. data/lib/rabbit/theme/default-title-text/default-title-text.rb +48 -0
  345. data/lib/rabbit/theme/default-title-text/property.rb +3 -0
  346. data/lib/rabbit/theme/default/default.rb +22 -0
  347. data/lib/rabbit/theme/default/property.rb +3 -0
  348. data/lib/rabbit/theme/document.erb +35 -0
  349. data/lib/rabbit/theme/edge-info-toolkit/edge-info-toolkit.rb +77 -0
  350. data/lib/rabbit/theme/edge-info-toolkit/property.rb +3 -0
  351. data/lib/rabbit/theme/emphasize-keyword/emphasize-keyword.rb +16 -0
  352. data/lib/rabbit/theme/emphasize-keyword/property.rb +4 -0
  353. data/lib/rabbit/theme/entry.rb +121 -0
  354. data/lib/rabbit/theme/footer-logo/footer-logo.rb +30 -0
  355. data/lib/rabbit/theme/footer-logo/property.rb +26 -0
  356. data/lib/rabbit/theme/green-circle/green-circle.rb +14 -0
  357. data/lib/rabbit/theme/green-circle/property.rb +3 -0
  358. data/lib/rabbit/theme/headline-logo/headline-logo.rb +24 -0
  359. data/lib/rabbit/theme/headline-logo/property.rb +10 -0
  360. data/lib/rabbit/theme/icon/icon.rb +8 -0
  361. data/lib/rabbit/theme/icon/property.rb +24 -0
  362. data/lib/rabbit/theme/image-slide-number/image-slide-number.rb +111 -0
  363. data/lib/rabbit/theme/image-slide-number/property.rb +64 -0
  364. data/lib/rabbit/theme/image-timer/image-timer.rb +109 -0
  365. data/lib/rabbit/theme/image-timer/property.rb +46 -0
  366. data/lib/rabbit/theme/image-viewer/image-viewer.rb +7 -0
  367. data/lib/rabbit/theme/image-viewer/property.rb +3 -0
  368. data/lib/rabbit/theme/image/image.rb +72 -0
  369. data/lib/rabbit/theme/image/property.rb +3 -0
  370. data/lib/rabbit/theme/lightning-clear-blue/lightning-clear-blue.rb +13 -0
  371. data/lib/rabbit/theme/lightning-clear-blue/property.rb +3 -0
  372. data/lib/rabbit/theme/lightning-rabbit/lightning-rabbit.rb +13 -0
  373. data/lib/rabbit/theme/lightning-rabbit/property.rb +3 -0
  374. data/lib/rabbit/theme/lightning-simple/lightning-simple.rb +60 -0
  375. data/lib/rabbit/theme/lightning-simple/property.rb +3 -0
  376. data/lib/rabbit/theme/lightning-talk-toolkit/lightning-talk-toolkit.rb +171 -0
  377. data/lib/rabbit/theme/lightning-talk-toolkit/property.rb +3 -0
  378. data/lib/rabbit/theme/lightning-talk/lightning-talk.rb +65 -0
  379. data/lib/rabbit/theme/lightning-talk/property.rb +3 -0
  380. data/lib/rabbit/theme/manager.rb +35 -0
  381. data/lib/rabbit/theme/mirror-effect/mirror-effect.rb +27 -0
  382. data/lib/rabbit/theme/mirror-effect/property.rb +3 -0
  383. data/lib/rabbit/theme/newline-in-slides/newline-in-slides.rb +3 -0
  384. data/lib/rabbit/theme/newline-in-slides/property.rb +4 -0
  385. data/lib/rabbit/theme/newline-in-title/newline-in-title.rb +7 -0
  386. data/lib/rabbit/theme/newline-in-title/property.rb +4 -0
  387. data/lib/rabbit/theme/night-black/night-black.rb +25 -0
  388. data/lib/rabbit/theme/night-black/property.rb +3 -0
  389. data/lib/rabbit/theme/pdf-tortoise-and-hare/pdf-tortoise-and-hare.rb +18 -0
  390. data/lib/rabbit/theme/pdf-tortoise-and-hare/property.rb +3 -0
  391. data/lib/rabbit/theme/pdf/pdf.rb +4 -0
  392. data/lib/rabbit/theme/pdf/property.rb +3 -0
  393. data/lib/rabbit/theme/powered-by/powered-by.rb +67 -0
  394. data/lib/rabbit/theme/powered-by/property.rb +24 -0
  395. data/lib/rabbit/theme/rabbit-block-quote/property.rb +4 -0
  396. data/lib/rabbit/theme/rabbit-block-quote/rabbit-block-quote.rb +16 -0
  397. data/lib/rabbit/theme/rabbit-headline-logo/property.rb +5 -0
  398. data/lib/rabbit/theme/rabbit-headline-logo/rabbit-headline-logo.rb +4 -0
  399. data/lib/rabbit/theme/rabbit-icon/property.rb +5 -0
  400. data/lib/rabbit/theme/rabbit-icon/rabbit-icon.rb +4 -0
  401. data/lib/rabbit/theme/rabbit-item-mark/property.rb +5 -0
  402. data/lib/rabbit/theme/rabbit-item-mark/rabbit-item-mark.rb +53 -0
  403. data/lib/rabbit/theme/rabbit-powered-by/property.rb +7 -0
  404. data/lib/rabbit/theme/rabbit-powered-by/rabbit-powered-by.rb +5 -0
  405. data/lib/rabbit/theme/rabbit-title-logo/property.rb +5 -0
  406. data/lib/rabbit/theme/rabbit-title-logo/rabbit-title-logo.rb +4 -0
  407. data/lib/rabbit/theme/rabbit/property.rb +3 -0
  408. data/lib/rabbit/theme/rabbit/rabbit.rb +63 -0
  409. data/lib/rabbit/theme/red-frame/property.rb +3 -0
  410. data/lib/rabbit/theme/red-frame/red-frame.rb +96 -0
  411. data/lib/rabbit/theme/rotate-zoom-effect/property.rb +4 -0
  412. data/lib/rabbit/theme/rotate-zoom-effect/rotate-zoom-effect.rb +51 -0
  413. data/lib/rabbit/theme/ruby-gnome2-description/property.rb +7 -0
  414. data/lib/rabbit/theme/ruby-gnome2-description/ruby-gnome2-description.rb +7 -0
  415. data/lib/rabbit/theme/ruby-gnome2-foot-text/property.rb +5 -0
  416. data/lib/rabbit/theme/ruby-gnome2-foot-text/ruby-gnome2-foot-text.rb +3 -0
  417. data/lib/rabbit/theme/ruby-gnome2-headline/property.rb +7 -0
  418. data/lib/rabbit/theme/ruby-gnome2-headline/ruby-gnome2-headline.rb +47 -0
  419. data/lib/rabbit/theme/ruby-gnome2-icon/property.rb +5 -0
  420. data/lib/rabbit/theme/ruby-gnome2-icon/ruby-gnome2-icon.rb +4 -0
  421. data/lib/rabbit/theme/ruby-gnome2-item-mark/property.rb +10 -0
  422. data/lib/rabbit/theme/ruby-gnome2-item-mark/ruby-gnome2-item-mark.rb +65 -0
  423. data/lib/rabbit/theme/ruby-gnome2-preformatted/property.rb +4 -0
  424. data/lib/rabbit/theme/ruby-gnome2-preformatted/ruby-gnome2-preformatted.rb +8 -0
  425. data/lib/rabbit/theme/ruby-gnome2-slide/property.rb +4 -0
  426. data/lib/rabbit/theme/ruby-gnome2-slide/ruby-gnome2-slide.rb +40 -0
  427. data/lib/rabbit/theme/ruby-gnome2/property.rb +3 -0
  428. data/lib/rabbit/theme/ruby-gnome2/ruby-gnome2.rb +61 -0
  429. data/lib/rabbit/theme/scroll-effect/property.rb +3 -0
  430. data/lib/rabbit/theme/scroll-effect/scroll-effect.rb +32 -0
  431. data/lib/rabbit/theme/searcher.rb +120 -0
  432. data/lib/rabbit/theme/show-frame/property.rb +16 -0
  433. data/lib/rabbit/theme/show-frame/show-frame.rb +17 -0
  434. data/lib/rabbit/theme/simple-item-mark/property.rb +5 -0
  435. data/lib/rabbit/theme/simple-item-mark/simple-item-mark.rb +112 -0
  436. data/lib/rabbit/theme/slide-background-image/property.rb +10 -0
  437. data/lib/rabbit/theme/slide-background-image/slide-background-image.rb +25 -0
  438. data/lib/rabbit/theme/slide-background/property.rb +6 -0
  439. data/lib/rabbit/theme/slide-background/slide-background.rb +3 -0
  440. data/lib/rabbit/theme/slide-footer-info/property.rb +43 -0
  441. data/lib/rabbit/theme/slide-footer-info/slide-footer-info.rb +42 -0
  442. data/lib/rabbit/theme/slide-header-info/property.rb +43 -0
  443. data/lib/rabbit/theme/slide-header-info/slide-header-info.rb +42 -0
  444. data/lib/rabbit/theme/slide-logo/property.rb +26 -0
  445. data/lib/rabbit/theme/slide-logo/slide-logo.rb +30 -0
  446. data/lib/rabbit/theme/slide-number/property.rb +21 -0
  447. data/lib/rabbit/theme/slide-number/slide-number.rb +28 -0
  448. data/lib/rabbit/theme/slide-show/property.rb +4 -0
  449. data/lib/rabbit/theme/slide-show/slide-show.rb +31 -0
  450. data/lib/rabbit/theme/table/property.rb +3 -0
  451. data/lib/rabbit/theme/table/table.rb +169 -0
  452. data/lib/rabbit/theme/timer/property.rb +3 -0
  453. data/lib/rabbit/theme/timer/timer.rb +63 -0
  454. data/lib/rabbit/theme/title-background-color/property.rb +10 -0
  455. data/lib/rabbit/theme/title-background-color/title-background-color.rb +17 -0
  456. data/lib/rabbit/theme/title-background-image/property.rb +11 -0
  457. data/lib/rabbit/theme/title-background-image/title-background-image.rb +25 -0
  458. data/lib/rabbit/theme/title-logo/property.rb +23 -0
  459. data/lib/rabbit/theme/title-logo/title-logo.rb +38 -0
  460. data/lib/rabbit/theme/title-on-image-toolkit/property.rb +3 -0
  461. data/lib/rabbit/theme/title-on-image-toolkit/title-on-image-toolkit.rb +122 -0
  462. data/lib/rabbit/theme/title-shadow/property.rb +11 -0
  463. data/lib/rabbit/theme/title-shadow/title-shadow.rb +33 -0
  464. data/lib/rabbit/trackball.rb +228 -0
  465. data/lib/rabbit/utils.rb +459 -0
  466. data/lib/rabbit/xmlrpc/base.rb +6 -0
  467. data/lib/rabbit/xmlrpc/client.rb +17 -0
  468. data/lib/rabbit/xmlrpc/server.rb +23 -0
  469. data/lib/rt/rt2html-lib.rb +157 -0
  470. data/lib/rt/rtparser.rb +226 -0
  471. data/lib/rt/rtvisitor.rb +68 -0
  472. data/lib/rwiki/soap/common.rb +5 -0
  473. data/lib/rwiki/soap/driver.rb +43 -0
  474. data/lib/rwiki/soap/servant.rb +78 -0
  475. data/misc/emacs/README.ja +177 -0
  476. data/misc/emacs/rabbit-mode.el +375 -0
  477. data/misc/make-image-sample.rb +94 -0
  478. data/misc/make-print-sample.rb +95 -0
  479. data/misc/update-rd.rb +78 -0
  480. data/misc/xyzzy/rabbit-mode.l +775 -0
  481. data/po/en/rabbit.po +2356 -0
  482. data/po/fr/rabbit.po +2452 -0
  483. data/po/ja/rabbit.po +2465 -0
  484. data/sample/asahina/alice.png +0 -0
  485. data/sample/asahina/yukiusa.png +0 -0
  486. data/sample/blue-circle.rd +37 -0
  487. data/sample/can_rabbit.rd +470 -0
  488. data/sample/cozmixng.rd +85 -0
  489. data/sample/cozmixng_is_field.png +0 -0
  490. data/sample/cozmixng_is_field.svg +430 -0
  491. data/sample/equation.eps +571 -0
  492. data/sample/gl-sample.rd +10 -0
  493. data/sample/html_and_wiki.png +0 -0
  494. data/sample/html_and_wiki.svg +275 -0
  495. data/sample/join_cozmixng.png +0 -0
  496. data/sample/join_cozmixng.svg +293 -0
  497. data/sample/kof2005/gesture-flow.svg +329 -0
  498. data/sample/kof2005/gesture.rb +473 -0
  499. data/sample/kof2005/gtk+-widget.svg +128 -0
  500. data/sample/kof2005/high-light-architecture.svg +203 -0
  501. data/sample/kof2005/high-light-expose.rb +120 -0
  502. data/sample/kof2005/high-light-expose.svg +153 -0
  503. data/sample/kof2005/high-light-widget.rb +147 -0
  504. data/sample/kof2005/high-light-widget.svg +172 -0
  505. data/sample/kof2005/high-light.svg +132 -0
  506. data/sample/kof2005/mask-screenshot.png +0 -0
  507. data/sample/kof2005/mask.rb +105 -0
  508. data/sample/kof2005/mask.svg +120 -0
  509. data/sample/kof2005/ruby-gnome2-logo.png +0 -0
  510. data/sample/kof2005/ruby-pink-circle-logo.png +0 -0
  511. data/sample/kof2005/skip-up-with-ruby-gnome2.rd +450 -0
  512. data/sample/kof2005/widget.svg +202 -0
  513. data/sample/kou/clear-blue-headline-background.svg +283 -0
  514. data/sample/kou/clear-blue-icon.svg +194 -0
  515. data/sample/kou/horizontal-bar.svg +82 -0
  516. data/sample/kou/quote.svg +497 -0
  517. data/sample/kou/vertical-bar.svg +70 -0
  518. data/sample/lavie.png +0 -0
  519. data/sample/lightning-talk.rd +50 -0
  520. data/sample/lldn/input.svg +269 -0
  521. data/sample/lldn/interface.svg +410 -0
  522. data/sample/lldn/kame.png +0 -0
  523. data/sample/lldn/lavie.png +0 -0
  524. data/sample/lldn/lldn.rd +212 -0
  525. data/sample/lldn/output.svg +284 -0
  526. data/sample/lldn/rabbit-rwiki.svg +353 -0
  527. data/sample/lldn/rabbit_banner.png +0 -0
  528. data/sample/lldn/rabbit_banner2.png +0 -0
  529. data/sample/m17n.rd +138 -0
  530. data/sample/momo/banner/bn1.png +0 -0
  531. data/sample/momo/banner/bn2.png +0 -0
  532. data/sample/momo/banner/bn_psd.psd +0 -0
  533. data/sample/momo/banner/bn_psd2.psd +0 -0
  534. data/sample/momo/tailavi/tailavi-ruby.png +0 -0
  535. data/sample/momo/tailavi/tailavi-ruby.psd +0 -0
  536. data/sample/momo/tailavi/tailavi-taiyaki.png +0 -0
  537. data/sample/momo/tailavi/tailavi-taiyaki.psd +0 -0
  538. data/sample/momo/tailavi/tailavi-yokubari.png +0 -0
  539. data/sample/momo/tailavi/tailavi-yokubari.psd +0 -0
  540. data/sample/momo/tailavi/taiyaki.png +0 -0
  541. data/sample/momo/tailavi/taiyaki.psd +0 -0
  542. data/sample/momo/usako/blue_dot.png +0 -0
  543. data/sample/momo/usako/green_dot.png +0 -0
  544. data/sample/momo/usako/rabbit.png +0 -0
  545. data/sample/momo/usako/rabbit_mimi.png +0 -0
  546. data/sample/momo/usako/rabbit_mimi2.png +0 -0
  547. data/sample/momo/usako/red_dot.png +0 -0
  548. data/sample/momo/usako/ruby.png +0 -0
  549. data/sample/momo/usako/ruby_new.png +0 -0
  550. data/sample/momo/usako/usa1.png +0 -0
  551. data/sample/momo/usako/usa2.png +0 -0
  552. data/sample/momo/usako/usa3.png +0 -0
  553. data/sample/momo/usako/usako_psd.psd +0 -0
  554. data/sample/momo/usako/usako_psd_100.png +0 -0
  555. data/sample/momo/usako/usako_psd_200.png +0 -0
  556. data/sample/ppt/hare-and-tortoise-end.png +0 -0
  557. data/sample/ppt/hare-and-tortoise-middle.png +0 -0
  558. data/sample/ppt/hare-and-tortoise-start.png +0 -0
  559. data/sample/ppt/ppt.rd +207 -0
  560. data/sample/ppt/rabbit-with-ruby.png +0 -0
  561. data/sample/pre.rd +112 -0
  562. data/sample/rabbit-balloon.eps +233 -0
  563. data/sample/rabbit-balloon.obj +93 -0
  564. data/sample/rabbit-en.rd +376 -0
  565. data/sample/rabbit-history.svg +280 -0
  566. data/sample/rabbit-implementation.rd +187 -0
  567. data/sample/rabbit.dia +408 -0
  568. data/sample/rabbit.hiki +328 -0
  569. data/sample/rabbit.rd +383 -0
  570. data/sample/rabbit.xcf +0 -0
  571. data/sample/rabbit/theme/festival/festival.rb +6 -0
  572. data/sample/rabbit/theme/gl-sample/gl-sample.rb +29 -0
  573. data/sample/rabbit/theme/image-with-frame/image-with-frame.rb +2 -0
  574. data/sample/rabbit/theme/image-with-no-shadow-frame/image-with-no-shadow-frame.rb +3 -0
  575. data/sample/rabbit/theme/image-without-frame/image-without-frame.rb +2 -0
  576. data/sample/rabbit/theme/kof2005/kof2005.rb +9 -0
  577. data/sample/rabbit/theme/kof2005/property.rb +3 -0
  578. data/sample/rabbit/theme/lightning-talk-with-contact/lightning-talk-with-contact.rb +6 -0
  579. data/sample/rabbit/theme/lldn/lldn.rb +20 -0
  580. data/sample/rabbit/theme/pdf/pdf.rb +16 -0
  581. data/sample/rabbit/theme/pdf/property.rb +4 -0
  582. data/sample/rabbit/theme/ppt/ppt.rb +5 -0
  583. data/sample/rabbit/theme/rabbit-and-tortoise/rabbit-and-tortoise.rb +11 -0
  584. data/sample/rabbit/theme/rectangle-image-slide-number/rectangle-image-slide-number.rb +4 -0
  585. data/sample/rabbit/theme/stop-auto-slide/stop-auto-slide.rb +2 -0
  586. data/sample/rabbit/theme/triangle-image-slide-number/triangle-image-slide-number.rb +5 -0
  587. data/sample/rabbit_icon.ico +0 -0
  588. data/sample/rabbit_icon.png +0 -0
  589. data/sample/shocker.jpg +0 -0
  590. data/sample/slide-property.hiki +14 -0
  591. data/sample/slide-property.rab +18 -0
  592. data/sample/sode/kame-color.riff +0 -0
  593. data/sample/sode/kame.riff +0 -0
  594. data/sample/spiral.svg +29 -0
  595. data/sample/table-en.rd +55 -0
  596. data/sample/table.rd +55 -0
  597. data/sample/theme-bench-en.rab +127 -0
  598. data/sample/theme-bench.rab +128 -0
  599. data/sample/usagi.png +0 -0
  600. data/sample/usatti/kame-taro.png +0 -0
  601. data/sample/usatti/rabbit-pink-logo.png +0 -0
  602. data/sample/usatti/rabbit-pink-logo2.png +0 -0
  603. data/sample/usatti/ruby-pink-circle-logo.png +0 -0
  604. data/sample/usatti/ruby-pink-circle.png +0 -0
  605. data/sample/usatti/ruby-pink-polygon-logo.png +0 -0
  606. data/sample/usatti/ruby-pink-polygon.png +0 -0
  607. data/sample/usatti/tanu-kitaro.png +0 -0
  608. data/sample/usatti/usa-taro.png +0 -0
  609. data/sample/usatti/yukidaru-taro.png +0 -0
  610. data/setup.rb +1585 -0
  611. data/test/rabbit-test-utils.rb +24 -0
  612. data/test/run-test.rb +11 -0
  613. data/test/test_applier.rb +42 -0
  614. data/test/test_color.rb +42 -0
  615. data/test/test_element.rb +91 -0
  616. data/test/test_source.rb +47 -0
  617. data/test/test_utils.rb +50 -0
  618. data/update-mo.rb +20 -0
  619. data/update-po.rb +57 -0
  620. metadata +703 -0
@@ -0,0 +1,5 @@
1
+ module RWiki
2
+ module SOAP
3
+ NS = 'http://pub.cozmixng.org/~the-rwiki/0.0.1/'
4
+ end
5
+ end
@@ -0,0 +1,43 @@
1
+ require 'logger'
2
+ require 'soap/rpc/driver'
3
+
4
+ require 'rwiki/soap/common'
5
+
6
+ module RWiki
7
+ module SOAP
8
+ class Driver < ::SOAP::RPC::Driver
9
+
10
+ APP_NAME = 'RWikiSOAPDriver'
11
+
12
+ def initialize(end_point, soap_action=nil)
13
+ super(end_point, RWiki::SOAP::NS, soap_action)
14
+
15
+ add_method('allow_get_page')
16
+ add_method('page', 'name')
17
+
18
+ add_method('drb_host_and_port')
19
+
20
+ add_method('include', 'name')
21
+ add_method('find', 'str')
22
+ add_method('src', 'name')
23
+ add_method('body', 'name')
24
+ add_method('modified', 'name')
25
+ add_method('revision', 'name')
26
+ add_method('rd2content', 'src')
27
+ add_method('recent_changes')
28
+ add_method('copy', 'name', 'src')
29
+ add_method('append', 'name', 'src')
30
+ add_method('submit', 'name', 'src', 'rev', 'log')
31
+ end
32
+
33
+ def log_dir=(new_value)
34
+ if new_value.nil?
35
+ self.wiredump_file_base = nil
36
+ else
37
+ self.wiredump_file_base = File.join(new_value, APP_NAME)
38
+ end
39
+ end
40
+
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,78 @@
1
+ require 'forwardable'
2
+ require 'socket'
3
+ require 'uri'
4
+ require 'drb/drb'
5
+
6
+ require 'rwiki/soap/common'
7
+
8
+ module RWiki
9
+ module SOAP
10
+ class Servant
11
+ extend Forwardable
12
+
13
+ def_delegators(:@rwiki, :find, :src, :modified)
14
+ def_delegators(:@rwiki, :recent_changes)
15
+
16
+ if ALLOW_GET_PAGE
17
+ def_delegators(:@rwiki, :page)
18
+ end
19
+
20
+ def initialize(rwiki)
21
+ @rwiki = rwiki
22
+
23
+ uri = URI.parse(@rwiki.__drburi)
24
+ @drb_host = uri.host
25
+ @drb_port = uri.port
26
+
27
+ if @drb_host.empty?
28
+ @drb_host = Socket.gethostbyname(Socket.gethostname)[0]
29
+ else
30
+ @drb_host = Socket.gethostbyname(@drb_host)[0]
31
+ end
32
+ end
33
+
34
+ def allow_get_page # XML element name cann't include '?'.
35
+ ALLOW_GET_PAGE ? true : false
36
+ end
37
+
38
+ def include(name) # XML element name cann't include '?'.
39
+ @rwiki.include?(name)
40
+ end
41
+
42
+ def revision(name)
43
+ page = @rwiki.page(name)
44
+ page.revision
45
+ end
46
+
47
+ def copy(name, src, rev, log_message)
48
+ page = @rwiki.page(name)
49
+ set_src(page, src, rev, log_message)
50
+ name
51
+ end
52
+
53
+ def append(name, src, rev, log_message)
54
+ page = @rwiki.page(name)
55
+ set_src(page, page.src.to_s + src, rev, log_message)
56
+ name
57
+ end
58
+
59
+ def submit(name, src, rev, log_message)
60
+ page = @rwiki.page(name)
61
+ set_src(page, src, rev, log_message)
62
+ name
63
+ end
64
+
65
+ def drb_host_and_port
66
+ [@drb_host, @drb_port]
67
+ end
68
+
69
+ private
70
+ def set_src(page, src, rev, log_message)
71
+ props = {"commit_log" => log_message}
72
+ page.set_src(src, rev) do |key|
73
+ props[key]
74
+ end
75
+ end
76
+ end
77
+ end
78
+ end
@@ -0,0 +1,177 @@
1
+ # -*- rd -*-
2
+
3
+ = README.ja
4
+
5
+ $Id: README.ja 892 2007-06-04 03:43:48Z kou $
6
+
7
+ == rabbit-mode.el
8
+
9
+ Rabbitのソースファイル用のEmacsメジャーモードです.
10
+
11
+ == インストール
12
+
13
+ .emacsに以下を記述してください.
14
+
15
+ (autoload 'rabbit-mode "rabbit-mode" "major mode for Rabbit" t)
16
+ (add-to-list 'auto-mode-alist '("\\.\\(rbt\\|rab\\)$" . rabbit-mode))
17
+
18
+ == 目次
19
+
20
+ === Rabbitの操作
21
+ * ((<EmacsからRabbitを起動する>))
22
+
23
+ === 移動
24
+ * ((<次のスライドへ移動する>))
25
+ * ((<前のスライドへ移動する>))
26
+
27
+ === 挿入
28
+ * ((<タイトルを挿入する>))
29
+ * ((<画像のテンプレートを挿入する>))
30
+ * ((<スライドを挿入する>))
31
+ * ((<箇条書きを挿入する>))
32
+
33
+ === スライド操作
34
+ * ((<スライドを削除する>))
35
+ * ((<スライドをコピーする>))
36
+ * ((<スライドを複写する>))
37
+
38
+ === 設定
39
+ * ((<画像テンプレートのデフォルトのサイズ指定方法を変える>))
40
+ * ((<rabbit-modeの変数>))
41
+
42
+ == Rabbitの操作
43
+ === EmacsからRabbitを起動する
44
+
45
+ rabbit-run-rabbitを実行します.デフォルトのキーバインドはC-c C-rです.
46
+
47
+ (('*'))Rabbit<ファイル名>*というバッファが作られ,Rabbitのメッセージが書き込
48
+ まれます.
49
+
50
+ == 移動
51
+ === 次のスライドへ移動する
52
+
53
+ rabbit-next-slideを実行します.デフォルトのキーバインドはM-nです.
54
+
55
+ === 前のスライドへ移動する
56
+
57
+ rabbit-previous-slideを実行します.デフォルトのキーバインドはM-pです.
58
+
59
+ == 挿入
60
+ === タイトルを挿入する
61
+
62
+ rabbit-insert-title-templateを実行します.デフォルトのキーバインドは
63
+ C-c C-tです.
64
+
65
+ プレゼンテーションのタイトルとメタデータを入力します.デフォルトのメタ
66
+ データを変数に設定可能です.設定できるメタデータは
67
+
68
+ * rabbit-author(著者)
69
+ * rabbit-institution(所属)
70
+ * rabbit-theme(テーマ)
71
+
72
+ です.
73
+
74
+ === 画像のテンプレートを挿入する
75
+
76
+ 画像サイズは割合で指定するのが便利だと思いますので,割合指定がデフォル
77
+ トになっています.
78
+
79
+ ==== 画像サイズを割合で指定する場合
80
+
81
+ rabbit-insert-image-template-defaultを呼びます.デフォルトのキーバイン
82
+ ドはC-c C-iです.
83
+
84
+ 画像ファイルのパス,キャプション,画像サイズの割合を入力します.ファイ
85
+ ルパス以外は省略可能です.
86
+
87
+ ==== 画像サイズの指定方法も決める場合
88
+
89
+ rabbit-insert-image-templateを呼びます.デフォルトのキーバインドはC-c iです.
90
+
91
+ 画像ファイルのパス,キャプション,サイズ指定の方法,サイズを入力します.
92
+ ファイルパス以外は省略可能です.
93
+
94
+ サイズ指定の方法は
95
+
96
+ * relative
97
+ * normalized
98
+ * pixel(幅と高さを指定)
99
+
100
+ から選びます.
101
+
102
+ === スライドを挿入する
103
+
104
+ rabbit-insert-slideを呼びます.デフォルトのキーバインドはC-c C-sです.
105
+
106
+ === 箇条書きを挿入する
107
+
108
+ rabbit-insert-itemsを呼びます.キーバインドは割り当てられていません.
109
+
110
+ 項目を入力していき,空文字を入力すると修了します.
111
+
112
+ == スライド操作
113
+ === スライドを削除する
114
+
115
+ rabbit-delete-slideを実行します.デフォルトのキーバインドはC-c C-dです.
116
+
117
+ === スライドをコピーする
118
+
119
+ rabbit-copy-slideを実行します.キーバインドは割り当てられていません.
120
+
121
+ 現在のスライドがキルリングに保存されます.
122
+
123
+ === スライドを複写する
124
+
125
+ rabbit-duplicate-slideを実行します.キーバインドは割り当てられていません.
126
+
127
+ 現在のスライドのコピーを,次のスライドとして挿入します.現在のスライド
128
+ の内容を少しだけ変えたい場合に便利です.
129
+
130
+ === 画像テンプレートのデフォルトのサイズ指定方法を変える
131
+
132
+ 変数rabbit-default-image-size-unitにサイズ指定方法をセットします.デフォ
133
+ ルトは"relative"です.
134
+
135
+ 有効な値
136
+ * "relative"
137
+ * "normalized"
138
+ * "pixel"
139
+
140
+ == 変数
141
+
142
+ : rabbit-command
143
+
144
+ Rabbitの起動コマンドです(デフォルトは"rabbit").
145
+
146
+ : rabbit-author
147
+
148
+ 著者名です.タイトルページのテンプレートで使われます(デフォルトはnil).
149
+
150
+ : rabbit-institution
151
+
152
+ 著者の所属です.タイトルページのテンプレートで使われます(デフォルトはnil).
153
+
154
+ : rabbit-theme
155
+
156
+ プレゼンテーションのテーマです(デフォルトは"rabbit").
157
+
158
+ : rabbit-default-image-size-unit
159
+
160
+ 画像ファイルのテンプレート挿入で使われるデフォルトのサイズ
161
+ 指定方法です(デフォルトは"relative").
162
+
163
+ : Faces
164
+
165
+ rabbit-modeの各faceです.
166
+
167
+ * rabbit-heading-face
168
+ * rabbit-emphasis-face
169
+ * rabbit-verbatim-face
170
+ * rabbit-term-face
171
+ * rabbit-footnote-face
172
+ * rabbit-link-face
173
+ * rabbit-code-face
174
+ * rabbit-description-face
175
+ * rabbit-keyboard-face
176
+ * rabbit-variable-face
177
+ * rabbit-comment-face
@@ -0,0 +1,375 @@
1
+ ;;; -*- mode: Emacs-Lisp; indent-tabs-mode: nil -*-
2
+ ;;; rabbit-mode.el
3
+ ;; Emacs major mode for Rabbit
4
+ ;;; Copyright (c) 2006 - 2008 Atsushi TAKEDA <tkdats@kono.cis.iwate-u.ac.jp>
5
+ ;;; Copyright (c) 2009 Kouhei Sutou <kou@cozmixng.org>
6
+ ;;; $Id: rabbit-mode.el 1285 2009-09-04 14:44:32Z kou $
7
+
8
+ (require 'cl)
9
+ (require 'rd-mode)
10
+
11
+ (defvar rabbit-mode-hook nil
12
+ "Hooks run when entering `rabbit-mode' major mode")
13
+ (defvar rabbit-command "rabbit")
14
+ (defvar rabbit-command-command "rabbit-command")
15
+ (defvar rabbit-output-buffer nil)
16
+ (defvar rabbit-author nil)
17
+ (defvar rabbit-institution nil)
18
+ (defvar rabbit-theme "rabbit")
19
+
20
+ (defvar rabbit-title-metadata
21
+ '("subtitle" "content_source" "author" "institution" "theme"))
22
+
23
+ (defvar rabbit-slide-header-regexp "^=[ \t]*\\(.*\\)")
24
+
25
+ (defvar rabbit-heading-face 'font-lock-keyword-face)
26
+ (defvar rabbit-emphasis-face 'font-lock-function-name-face)
27
+ (defvar rabbit-verbatim-face 'font-lock-function-name-face)
28
+ (defvar rabbit-term-face 'font-lock-function-name-face)
29
+ (defvar rabbit-footnote-face 'font-lock-function-name-face)
30
+ (defvar rabbit-link-face 'font-lock-function-name-face)
31
+ (defvar rabbit-code-face 'font-lock-function-name-face)
32
+ (defvar rabbit-description-face 'font-lock-constant-face)
33
+ (defvar rabbit-comment-face 'font-lock-comment-face)
34
+ (defvar rabbit-keyboard-face 'font-lock-function-name-face)
35
+ (defvar rabbit-variable-face 'font-lock-function-name-face)
36
+ (defvar rabbit-font-lock-keywords
37
+ (list
38
+ '("^==+ .*$"
39
+ 0 rabbit-comment-face)
40
+ `(,rabbit-slide-header-regexp
41
+ 0 rabbit-heading-face)
42
+ '("((\\*[^*]*\\*+\\([^)*][^%]*\\*+\\)*))" ; ((* ... *))
43
+ 0 rabbit-emphasis-face)
44
+ '("((%[^%]*%+\\([^)%][^%]*%+\\)*))" ; ((% ... %))
45
+ 0 rabbit-keyboard-face)
46
+ '("((|[^|]*|+\\([^)|][^|]*|+\\)*))" ; ((| ... |))
47
+ 0 rabbit-variable-face)
48
+ '("(('[^']*'+\\([^)'][^']*'+\\)*))" ; ((' ... '))
49
+ 0 rabbit-verbatim-face)
50
+ '("((:[^:]*:+\\([^):][^:]*:+\\)*))" ; ((: ... :))
51
+ 0 rabbit-term-face)
52
+ '("((-[^-]*-+\\([^)-][^-]*-+\\)*))" ; ((- ... -))
53
+ 0 rabbit-footnote-face)
54
+ '("((<[^>]*>+\\([^)>][^>]*>+\\)*))" ; ((< ... >))
55
+ 0 rabbit-link-face)
56
+ '("(({[^}]*}+\\([^)}][^}]*}+\\)*))" ; (({ ... }))
57
+ 0 rabbit-code-face)
58
+ '("^:.*$"
59
+ 0 rd-description-face)
60
+ '("^#.*$"
61
+ 0 rabbit-comment-face)
62
+ ))
63
+
64
+ (defvar rabbit-block-indent-size 2)
65
+
66
+ (defvar rabbit-image-size-unit-table
67
+ '(("relative")
68
+ ("normalized")
69
+ ("pixel")))
70
+
71
+ (defvar rabbit-default-image-size-unit
72
+ "relative")
73
+
74
+ (defvar rabbit-image-size-unit-history nil)
75
+
76
+ (define-derived-mode rabbit-mode rd-mode "Rabbit"
77
+ (setq comment-start "#")
78
+ (make-local-variable 'font-lock-defaults)
79
+ (setq font-lock-defaults '((rabbit-font-lock-keywords) t nil))
80
+ (make-local-variable 'font-lock-keywords)
81
+ (setq font-lock-keywords rabbit-font-lock-keywords)
82
+ (rabbit-setup-keys)
83
+ (run-hooks 'rabbit-mode-hook))
84
+
85
+ ;;; interactive
86
+
87
+ (defun rabbit-run-rabbit ()
88
+ "Emacs major mode for rabbit."
89
+ (interactive)
90
+ (let ((filename (rabbit-buffer-filename))
91
+ (outbuf (rabbit-output-buffer)))
92
+ (set-buffer outbuf)
93
+ (if (get-buffer-process outbuf)
94
+ (error "Rabbit is already running")
95
+ (progn
96
+ (start-process "Rabbit" outbuf rabbit-command filename)
97
+ (if (one-window-p)
98
+ (set-window-buffer (split-window) outbuf)
99
+ (set-window-buffer (previous-window) outbuf))))))
100
+
101
+ ;;; insert functions
102
+
103
+ (defun rabbit-insert-title-template (title)
104
+ "insert a title template."
105
+ (interactive "spresentation's title: ")
106
+ (insert (concat
107
+ (rabbit-join-without-empty-string
108
+ `(,(concat "= " title "\n")
109
+ ,@(rabbit-make-metadata-strings))
110
+ "\n")
111
+ "\n")))
112
+
113
+ (defun rabbit-insert-image-template (file)
114
+ "insert a image template."
115
+ (interactive "fimage file: ")
116
+ (rabbit-insert-image-template-real file (rabbit-read-size-unit)))
117
+
118
+ (defun rabbit-insert-image-template-default (file)
119
+ "insert a image template with default image size unit."
120
+ (interactive "fimage file: ")
121
+ (rabbit-insert-image-template-real file))
122
+
123
+ (defun rabbit-insert-items ()
124
+ (interactive)
125
+ (let ((item (read-from-minibuffer "item: ")))
126
+ (unless (string-equal item "")
127
+ (insert (rabbit-block-indent (concat "* " item "\n")))
128
+ (rabbit-insert-items))))
129
+
130
+ ;;; slide functions
131
+
132
+ (defun rabbit-insert-slide (slide-title)
133
+ "insert a slide."
134
+ (interactive "sslide title: ")
135
+ (insert (concat "= " slide-title "\n\n")))
136
+
137
+ (defun rabbit-delete-slide ()
138
+ "delete a current slide."
139
+ (interactive)
140
+ (rabbit-fancall-with-current-point 'delete-region))
141
+
142
+ (defun rabbit-copy-slide ()
143
+ "copy a current slide."
144
+ (interactive)
145
+ (rabbit-fancall-with-current-point 'kill-ring-save))
146
+
147
+ (defun rabbit-duplicate-slide ()
148
+ "copy a current slide and yank it as next slide."
149
+ (interactive)
150
+ (rabbit-copy-slide)
151
+ (rabbit-next-slide)
152
+ (yank))
153
+
154
+ ;;; move functions
155
+
156
+ (defun rabbit-next-slide ()
157
+ "move to next slide."
158
+ (interactive)
159
+ (rabbit-forward-slide)
160
+ ;; (forward-line 1)
161
+ ;; (goto-char )
162
+ (recenter))
163
+
164
+ (defun rabbit-previous-slide ()
165
+ "move to previous slide."
166
+ (interactive)
167
+ (rabbit-backward-slide)
168
+ ;; (goto-char )
169
+ (recenter))
170
+
171
+ (defun rabbit-remote (&rest args)
172
+ (shell-command-to-string
173
+ (mapconcat 'identity (cons rabbit-command-command args) " ")))
174
+
175
+ (defun rabbit-remote-next ()
176
+ "move to the next in Rabbit."
177
+ (interactive)
178
+ (rabbit-remote "--next-slide"))
179
+
180
+ (defun rabbit-remote-previous ()
181
+ "move to the previous in Rabbit."
182
+ (interactive)
183
+ (rabbit-remote "--previous"))
184
+
185
+ (defun rabbit-remote-next-slide ()
186
+ "move to the next slide in Rabbit."
187
+ (interactive)
188
+ (rabbit-remote "--next-slide"))
189
+
190
+ (defun rabbit-remote-previous-slide ()
191
+ "move to the previous slide in Rabbit."
192
+ (interactive)
193
+ (rabbit-remote "--previous-slide"))
194
+
195
+ (defun rabbit-remote-first-slide ()
196
+ "move to the first slide in Rabbit."
197
+ (interactive)
198
+ (rabbit-remote "--first-slide"))
199
+
200
+ (defun rabbit-remote-last-slide ()
201
+ "move to the last slide in Rabbit."
202
+ (interactive)
203
+ (rabbit-remote "--last-slide"))
204
+
205
+ (defun rabbit-remote-current-slide-rd ()
206
+ "get RD of the current slide in Rabbit."
207
+ (interactive)
208
+ (rabbit-remote "--current-slide-rd"))
209
+
210
+ (defun rabbit-remote-toggle-fullscreen ()
211
+ "toggle fullscreen in Rabbit."
212
+ (interactive)
213
+ (rabbit-remote "--toggle-fullscreen"))
214
+
215
+ (defun rabbit-remote-toggle-index-mode ()
216
+ "toggle index mode in Rabbit."
217
+ (interactive)
218
+ (rabbit-remote "--toggle-index-mode"))
219
+
220
+ (defun rabbit-remote-toggle-whiteout ()
221
+ "toggle whiteout in Rabbit."
222
+ (interactive)
223
+ (rabbit-remote "--toggle-whiteout"))
224
+
225
+ (defun rabbit-remote-toggle-blackout ()
226
+ "toggle blackout in Rabbit."
227
+ (interactive)
228
+ (rabbit-remote "--toggle-blackout"))
229
+
230
+ (defun rabbit-remote-quit ()
231
+ "quit Rabbit."
232
+ (interactive)
233
+ (rabbit-remote "--quit"))
234
+
235
+ ;;; private
236
+
237
+ (defun rabbit-setup-keys ()
238
+ "define default key bindings."
239
+ (define-key rabbit-mode-map "\C-c\C-r" 'rabbit-run-rabbit)
240
+ (define-key rabbit-mode-map "\C-c\C-t" 'rabbit-insert-title-template)
241
+ (define-key rabbit-mode-map "\C-c\C-i" 'rabbit-insert-image-template-default)
242
+ (define-key rabbit-mode-map "\C-ci" 'rabbit-insert-image-template)
243
+ (define-key rabbit-mode-map "\C-c\C-s" 'rabbit-insert-slide)
244
+ (define-key rabbit-mode-map "\C-c\C-d" 'rabbit-delete-slide)
245
+ (define-key rabbit-mode-map "\M-n" 'rabbit-next-slide)
246
+ (define-key rabbit-mode-map "\M-p" 'rabbit-previous-slide))
247
+
248
+ (defun rabbit-make-metadata-strings ()
249
+ (let ((result '(""))
250
+ (rabbit-subtitle nil)
251
+ (rabbit-content_source nil))
252
+ (dolist (metadata rabbit-title-metadata (reverse result))
253
+ (let ((valuable (intern (concat "rabbit-" metadata))))
254
+ (if (eval valuable)
255
+ (setq result (cons (rabbit-metadata-string-template metadata
256
+ (eval valuable))
257
+ result))
258
+ (let ((value (read-from-minibuffer (concat metadata ": "))))
259
+ (if (string-equal value "")
260
+ ""
261
+ (setq result (cons (rabbit-metadata-string-template metadata value)
262
+ result)))))))))
263
+
264
+ (defun rabbit-metadata-string-template (metadata value)
265
+ (concat ": " metadata "\n"
266
+ (rabbit-block-indent " ") value "\n"))
267
+
268
+ (defun rabbit-read-property (key)
269
+ "read `key' value from minibuf and return string as \"key = value\"
270
+ format if value is specified, otherwise return \"\"."
271
+ (let ((value (read-from-minibuffer (concat key ": "))))
272
+ (if (string-equal value "")
273
+ ""
274
+ (concat key " = " value))))
275
+
276
+ (defun rabbit-block-indent (string)
277
+ (let ((indent ""))
278
+ (dotimes (i rabbit-block-indent-size (concat indent string))
279
+ (setq indent (concat indent " ")))))
280
+
281
+ (defun rabbit-read-block-property (key)
282
+ "read `key' value from minibuf and return string as \"key = value\"
283
+ format if value is specified, otherwise return \"\"."
284
+ (let ((property (rabbit-read-property key)))
285
+ (if (string-equal property "")
286
+ ""
287
+ (rabbit-block-indent (concat "# " property)))))
288
+
289
+ (defun rabbit-buffer-filename ()
290
+ "return file name relating current buffer."
291
+ (or (buffer-file-name)
292
+ (error "This buffer is empty buffer")))
293
+
294
+ (defun rabbit-output-buffer ()
295
+ "return buffer for rabbit output."
296
+ (let* ((bufname (concat "*Rabbit<"
297
+ (file-relative-name (rabbit-buffer-filename))
298
+ ">*"))
299
+ (buf (get-buffer-create bufname)))
300
+ buf))
301
+
302
+ (defun rabbit-read-size-unit ()
303
+ "read what unit use for image size."
304
+ (completing-read "image size unit: "
305
+ rabbit-image-size-unit-table
306
+ nil t nil
307
+ 'rabbit-image-size-unit-history
308
+ rabbit-default-image-size-unit))
309
+
310
+ (defun rabbit-filter (predicate lst)
311
+ (let ((result '()))
312
+ (dolist (item lst (reverse result))
313
+ (unless (funcall predicate item)
314
+ (setq result (cons item result))))))
315
+
316
+ (defun rabbit-not-empty-string (string)
317
+ (and string (not (string-equal string ""))))
318
+
319
+ (defun rabbit-join-without-empty-string (strings separator)
320
+ (let ((result "")
321
+ (not-empty-strings (rabbit-filter
322
+ '(lambda (string)
323
+ (not (rabbit-not-empty-string string)))
324
+ strings)))
325
+ (if (null not-empty-strings)
326
+ ""
327
+ (dolist (string (cdr not-empty-strings)
328
+ (concat (car not-empty-strings) result))
329
+ (setq result (concat result separator string))))))
330
+
331
+ (defun rabbit-insert-image-template-real (filename &optional unit)
332
+ "insert a image template."
333
+ (insert (concat
334
+ (rabbit-join-without-empty-string
335
+ `(,(rabbit-block-indent "# image")
336
+ ,(rabbit-block-indent (concat "# src = "
337
+ (file-relative-name filename)))
338
+ ,(rabbit-read-block-property "caption")
339
+ ,@(rabbit-read-size-value
340
+ (or unit rabbit-default-image-size-unit)))
341
+ "\n")
342
+ "\n")))
343
+
344
+ (defun rabbit-read-size-value (unit)
345
+ "return strings that specify image size."
346
+ (let ((prefix (if (string-equal unit "pixel")
347
+ ""
348
+ (concat unit "_"))))
349
+ (mapcar '(lambda (key)
350
+ (rabbit-read-block-property (concat prefix key)))
351
+ '("width" "height"))))
352
+
353
+ (defun rabbit-fancall-with-current-point (func)
354
+ (multiple-value-bind (beg end)
355
+ (rabbit-current-slide-point)
356
+ (funcall func beg end)))
357
+
358
+ (defun rabbit-current-slide-point ()
359
+ (values (save-excursion (rabbit-forward-slide)
360
+ (point))
361
+ (save-excursion (end-of-line)
362
+ (rabbit-backward-slide)
363
+ (point))))
364
+
365
+ (defun rabbit-forward-slide ()
366
+ (end-of-line)
367
+ (or (re-search-forward rabbit-slide-header-regexp nil t)
368
+ (end-of-buffer))
369
+ (beginning-of-line))
370
+
371
+ (defun rabbit-backward-slide ()
372
+ (or (re-search-backward rabbit-slide-header-regexp nil t)
373
+ (beginning-of-buffer)))
374
+
375
+ (provide 'rabbit-mode)