rabbit 0.9.2 → 0.9.3

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 (345) hide show
  1. data/Gemfile +16 -0
  2. data/README +1 -0
  3. data/Rakefile +161 -53
  4. data/TODO +2 -0
  5. data/bin/rabbit +78 -34
  6. data/bin/rabbit-command +16 -3
  7. data/bin/rabbiter +74 -73
  8. data/bin/rabrick +17 -4
  9. data/bin/rabwii +77 -0
  10. data/data/rabbit/image/dark-gradation-images/background-gradation.png +0 -0
  11. data/data/rabbit/image/dark-gradation-images/dark-gradation-images.rb +2 -0
  12. data/data/rabbit/image/dark-gradation-images/property.rb +4 -0
  13. data/doc/_config.yml +2 -0
  14. data/doc/_layouts/en.html +37 -0
  15. data/doc/_layouts/ja.html +37 -0
  16. data/doc/_layouts/skeleton.html +91 -0
  17. data/doc/_plugins/converters/hiki.rb +27 -0
  18. data/doc/_plugins/converters/rd.rb +73 -0
  19. data/doc/_site/css/jquery-ui/themes/ui-lightness.css +573 -0
  20. data/doc/_site/css/rabbit.css +247 -0
  21. data/doc/_site/en/development.html +140 -0
  22. data/doc/_site/en/faq.html +117 -0
  23. data/doc/_site/en/hiki.html +420 -0
  24. data/doc/_site/en/how-to-make/hiki.html +113 -0
  25. data/doc/_site/en/how-to-make/index.html +135 -0
  26. data/doc/_site/en/how-to-make/pdf.html +111 -0
  27. data/doc/_site/en/how-to-make/rd.html +151 -0
  28. data/doc/_site/en/how-to-make/theme.html +249 -0
  29. data/doc/_site/en/index.html +343 -0
  30. data/doc/_site/en/install/homebrew.html +279 -0
  31. data/doc/_site/en/install/index.html +144 -0
  32. data/doc/_site/en/install/macports.html +158 -0
  33. data/doc/_site/en/install/windows.html +200 -0
  34. data/doc/_site/en/news.html +928 -0
  35. data/doc/_site/en/rd.html +555 -0
  36. data/doc/_site/en/sample/hiki/rabbit.html +380 -0
  37. data/doc/_site/en/sample/index.html +117 -0
  38. data/doc/_site/en/sample/rd/rabbit.html +572 -0
  39. data/doc/_site/en/slides.html +113 -0
  40. data/doc/_site/en/usage.html +445 -0
  41. data/doc/_site/en/users.html +127 -0
  42. data/doc/_site/favicon.ico +0 -0
  43. data/doc/_site/favicon.png +0 -0
  44. data/doc/_site/images/background-sample.svg +290 -0
  45. data/doc/_site/images/background.png +0 -0
  46. data/doc/_site/images/background.svg +131 -0
  47. data/doc/_site/images/hare-and-tortoise.png +0 -0
  48. data/doc/_site/images/hare-and-tortoise.svg +541 -0
  49. data/doc/_site/images/jp.png +0 -0
  50. data/{sample/momo/usako/usako_psd_100.png → doc/_site/images/lavie-icon.png} +0 -0
  51. data/doc/_site/images/lavie.png +0 -0
  52. data/doc/_site/images/screenshots/en/blue-circle-raw.png +0 -0
  53. data/doc/_site/images/screenshots/en/blue-circle.png +0 -0
  54. data/doc/_site/images/screenshots/en/clear-blue-raw.png +0 -0
  55. data/doc/_site/images/screenshots/en/clear-blue.png +0 -0
  56. data/doc/_site/images/screenshots/en/cozmixng-raw.png +0 -0
  57. data/doc/_site/images/screenshots/en/cozmixng.png +0 -0
  58. data/doc/_site/images/screenshots/en/dark-gradation-raw.png +0 -0
  59. data/doc/_site/images/screenshots/en/dark-gradation.png +0 -0
  60. data/doc/_site/images/screenshots/en/day-white-raw.png +0 -0
  61. data/doc/_site/images/screenshots/en/day-white.png +0 -0
  62. data/doc/_site/images/screenshots/en/debian-raw.png +0 -0
  63. data/doc/_site/images/screenshots/en/debian.png +0 -0
  64. data/doc/_site/images/screenshots/en/green-circle-raw.png +0 -0
  65. data/doc/_site/images/screenshots/en/green-circle.png +0 -0
  66. data/doc/_site/images/screenshots/en/night-black-raw.png +0 -0
  67. data/doc/_site/images/screenshots/en/night-black.png +0 -0
  68. data/doc/_site/images/screenshots/en/rabbit-raw.png +0 -0
  69. data/doc/_site/images/screenshots/en/rabbit.png +0 -0
  70. data/doc/_site/images/screenshots/en/ranguba-raw.png +0 -0
  71. data/doc/_site/images/screenshots/en/ranguba.png +0 -0
  72. data/doc/_site/images/screenshots/en/red-frame-raw.png +0 -0
  73. data/doc/_site/images/screenshots/en/red-frame.png +0 -0
  74. data/doc/_site/images/screenshots/en/ruby-gnome2-raw.png +0 -0
  75. data/doc/_site/images/screenshots/en/ruby-gnome2.png +0 -0
  76. data/doc/_site/images/screenshots/ja/blue-circle-raw.png +0 -0
  77. data/doc/_site/images/screenshots/ja/blue-circle.png +0 -0
  78. data/doc/_site/images/screenshots/ja/clear-blue-raw.png +0 -0
  79. data/doc/_site/images/screenshots/ja/clear-blue.png +0 -0
  80. data/doc/_site/images/screenshots/ja/cozmixng-raw.png +0 -0
  81. data/doc/_site/images/screenshots/ja/cozmixng.png +0 -0
  82. data/doc/_site/images/screenshots/ja/dark-gradation-raw.png +0 -0
  83. data/doc/_site/images/screenshots/ja/dark-gradation.png +0 -0
  84. data/doc/_site/images/screenshots/ja/day-white-raw.png +0 -0
  85. data/doc/_site/images/screenshots/ja/day-white.png +0 -0
  86. data/doc/_site/images/screenshots/ja/debian-raw.png +0 -0
  87. data/doc/_site/images/screenshots/ja/debian.png +0 -0
  88. data/doc/_site/images/screenshots/ja/green-circle-raw.png +0 -0
  89. data/doc/_site/images/screenshots/ja/green-circle.png +0 -0
  90. data/doc/_site/images/screenshots/ja/night-black-raw.png +0 -0
  91. data/doc/_site/images/screenshots/ja/night-black.png +0 -0
  92. data/doc/_site/images/screenshots/ja/rabbit-raw.png +0 -0
  93. data/doc/_site/images/screenshots/ja/rabbit.png +0 -0
  94. data/doc/_site/images/screenshots/ja/ranguba-raw.png +0 -0
  95. data/doc/_site/images/screenshots/ja/ranguba.png +0 -0
  96. data/doc/_site/images/screenshots/ja/red-frame-raw.png +0 -0
  97. data/doc/_site/images/screenshots/ja/red-frame.png +0 -0
  98. data/doc/_site/images/screenshots/ja/ruby-gnome2-raw.png +0 -0
  99. data/doc/_site/images/screenshots/ja/ruby-gnome2.png +0 -0
  100. data/doc/_site/images/us.png +0 -0
  101. data/doc/_site/index.html.en +122 -0
  102. data/doc/_site/index.html.ja +122 -0
  103. data/doc/_site/ja/about.html +120 -0
  104. data/doc/_site/ja/development.html +141 -0
  105. data/doc/_site/ja/faq.html +232 -0
  106. data/doc/_site/ja/hiki.html +416 -0
  107. data/doc/_site/ja/how-to-make/hiki.html +113 -0
  108. data/doc/_site/ja/how-to-make/index.html +135 -0
  109. data/doc/_site/ja/how-to-make/pdf.html +112 -0
  110. data/doc/_site/ja/how-to-make/rd.html +161 -0
  111. data/doc/_site/ja/how-to-make/theme.html +254 -0
  112. data/doc/_site/ja/index.html +351 -0
  113. data/doc/_site/ja/install/homebrew.html +279 -0
  114. data/doc/_site/ja/install/index.html +146 -0
  115. data/doc/_site/ja/install/macports.html +177 -0
  116. data/doc/_site/ja/install/windows.html +200 -0
  117. data/doc/_site/ja/news.html +926 -0
  118. data/doc/_site/ja/rd.html +565 -0
  119. data/doc/_site/ja/sample/hiki/rabbit.html +390 -0
  120. data/doc/_site/ja/sample/index.html +117 -0
  121. data/doc/_site/ja/sample/rd/rabbit.html +580 -0
  122. data/doc/_site/ja/slides.html +142 -0
  123. data/doc/_site/ja/usage.html +458 -0
  124. data/doc/_site/ja/users.html +331 -0
  125. data/doc/_site/javascripts/jquery-ui.js +11544 -0
  126. data/doc/_site/javascripts/jquery.js +7179 -0
  127. data/doc/_site/screenshot.en.rab +10 -0
  128. data/doc/_site/screenshot.ja.rab +10 -0
  129. data/doc/css/jquery-ui/themes/ui-lightness.css +573 -0
  130. data/doc/css/rabbit.css +247 -0
  131. data/doc/en/development.rd +50 -0
  132. data/doc/en/faq.rd +18 -0
  133. data/doc/en/hiki.hiki +325 -0
  134. data/doc/en/how-to-make/hiki.hiki +9 -0
  135. data/doc/en/how-to-make/index.rd +25 -0
  136. data/doc/en/how-to-make/pdf.rd +7 -0
  137. data/doc/en/how-to-make/rd.rd +66 -0
  138. data/doc/en/how-to-make/theme.rd +135 -0
  139. data/doc/en/index.rd +276 -0
  140. data/doc/en/install/homebrew.rd +196 -0
  141. data/doc/en/install/index.rd +63 -0
  142. data/doc/en/install/macports.rd +77 -0
  143. data/doc/en/install/windows.rd +103 -0
  144. data/{NEWS.en → doc/en/news.rd} +78 -3
  145. data/doc/en/rd.rd +481 -0
  146. data/doc/en/sample/hiki/rabbit.hiki +389 -0
  147. data/doc/en/sample/index.rd +11 -0
  148. data/doc/en/sample/rd/rabbit.rd +467 -0
  149. data/doc/en/slides.rd +7 -0
  150. data/doc/en/usage.rd +365 -0
  151. data/doc/en/users.rd +29 -0
  152. data/doc/favicon.ico +0 -0
  153. data/doc/favicon.png +0 -0
  154. data/doc/images/background-sample.svg +290 -0
  155. data/doc/images/background.png +0 -0
  156. data/doc/images/background.svg +131 -0
  157. data/doc/images/hare-and-tortoise.png +0 -0
  158. data/doc/images/hare-and-tortoise.svg +541 -0
  159. data/doc/images/jp.png +0 -0
  160. data/doc/images/lavie-icon.png +0 -0
  161. data/doc/images/lavie.png +0 -0
  162. data/doc/images/screenshots/en/blue-circle-raw.png +0 -0
  163. data/doc/images/screenshots/en/blue-circle.png +0 -0
  164. data/doc/images/screenshots/en/clear-blue-raw.png +0 -0
  165. data/doc/images/screenshots/en/clear-blue.png +0 -0
  166. data/doc/images/screenshots/en/cozmixng-raw.png +0 -0
  167. data/doc/images/screenshots/en/cozmixng.png +0 -0
  168. data/doc/images/screenshots/en/dark-gradation-raw.png +0 -0
  169. data/doc/images/screenshots/en/dark-gradation.png +0 -0
  170. data/doc/images/screenshots/en/day-white-raw.png +0 -0
  171. data/doc/images/screenshots/en/day-white.png +0 -0
  172. data/doc/images/screenshots/en/debian-raw.png +0 -0
  173. data/doc/images/screenshots/en/debian.png +0 -0
  174. data/doc/images/screenshots/en/green-circle-raw.png +0 -0
  175. data/doc/images/screenshots/en/green-circle.png +0 -0
  176. data/doc/images/screenshots/en/night-black-raw.png +0 -0
  177. data/doc/images/screenshots/en/night-black.png +0 -0
  178. data/doc/images/screenshots/en/rabbit-raw.png +0 -0
  179. data/doc/images/screenshots/en/rabbit.png +0 -0
  180. data/doc/images/screenshots/en/ranguba-raw.png +0 -0
  181. data/doc/images/screenshots/en/ranguba.png +0 -0
  182. data/doc/images/screenshots/en/red-frame-raw.png +0 -0
  183. data/doc/images/screenshots/en/red-frame.png +0 -0
  184. data/doc/images/screenshots/en/ruby-gnome2-raw.png +0 -0
  185. data/doc/images/screenshots/en/ruby-gnome2.png +0 -0
  186. data/doc/images/screenshots/ja/blue-circle-raw.png +0 -0
  187. data/doc/images/screenshots/ja/blue-circle.png +0 -0
  188. data/doc/images/screenshots/ja/clear-blue-raw.png +0 -0
  189. data/doc/images/screenshots/ja/clear-blue.png +0 -0
  190. data/doc/images/screenshots/ja/cozmixng-raw.png +0 -0
  191. data/doc/images/screenshots/ja/cozmixng.png +0 -0
  192. data/doc/images/screenshots/ja/dark-gradation-raw.png +0 -0
  193. data/doc/images/screenshots/ja/dark-gradation.png +0 -0
  194. data/doc/images/screenshots/ja/day-white-raw.png +0 -0
  195. data/doc/images/screenshots/ja/day-white.png +0 -0
  196. data/doc/images/screenshots/ja/debian-raw.png +0 -0
  197. data/doc/images/screenshots/ja/debian.png +0 -0
  198. data/doc/images/screenshots/ja/green-circle-raw.png +0 -0
  199. data/doc/images/screenshots/ja/green-circle.png +0 -0
  200. data/doc/images/screenshots/ja/night-black-raw.png +0 -0
  201. data/doc/images/screenshots/ja/night-black.png +0 -0
  202. data/doc/images/screenshots/ja/rabbit-raw.png +0 -0
  203. data/doc/images/screenshots/ja/rabbit.png +0 -0
  204. data/doc/images/screenshots/ja/ranguba-raw.png +0 -0
  205. data/doc/images/screenshots/ja/ranguba.png +0 -0
  206. data/doc/images/screenshots/ja/red-frame-raw.png +0 -0
  207. data/doc/images/screenshots/ja/red-frame.png +0 -0
  208. data/doc/images/screenshots/ja/ruby-gnome2-raw.png +0 -0
  209. data/doc/images/screenshots/ja/ruby-gnome2.png +0 -0
  210. data/doc/images/us.png +0 -0
  211. data/doc/index.html.en +48 -0
  212. data/doc/index.html.ja +48 -0
  213. data/doc/ja/about.rd +21 -0
  214. data/doc/ja/development.rd +49 -0
  215. data/doc/ja/faq.rd +177 -0
  216. data/doc/ja/hiki.hiki +319 -0
  217. data/doc/ja/how-to-make/hiki.hiki +9 -0
  218. data/doc/ja/how-to-make/index.rd +25 -0
  219. data/doc/ja/how-to-make/pdf.rd +8 -0
  220. data/doc/ja/how-to-make/rd.rd +83 -0
  221. data/doc/ja/how-to-make/theme.rd +142 -0
  222. data/doc/ja/index.rd +283 -0
  223. data/doc/ja/install/homebrew.rd +196 -0
  224. data/doc/ja/install/index.rd +65 -0
  225. data/doc/ja/install/macports.rd +105 -0
  226. data/doc/ja/install/windows.rd +100 -0
  227. data/{NEWS.ja → doc/ja/news.rd} +84 -3
  228. data/doc/ja/rd.rd +489 -0
  229. data/doc/ja/sample/hiki/rabbit.hiki +405 -0
  230. data/doc/ja/sample/index.rd +11 -0
  231. data/doc/ja/sample/rd/rabbit.rd +475 -0
  232. data/doc/ja/slides.rd +29 -0
  233. data/doc/ja/usage.rd +380 -0
  234. data/doc/ja/users.rd +173 -0
  235. data/doc/javascripts/jquery-ui.js +11544 -0
  236. data/doc/javascripts/jquery.js +7179 -0
  237. data/doc/screenshot.en.rab +10 -0
  238. data/doc/screenshot.ja.rab +10 -0
  239. data/lib/rabbit/action/toggle.rb +0 -14
  240. data/lib/rabbit/canvas.rb +42 -46
  241. data/lib/rabbit/console.rb +9 -1
  242. data/lib/rabbit/front.rb +1 -1
  243. data/lib/rabbit/keys.rb +0 -8
  244. data/lib/rabbit/logger/gui.rb +3 -5
  245. data/lib/rabbit/parser/pdf.rb +1 -1
  246. data/lib/rabbit/parser/wiki/output.rb +17 -1
  247. data/lib/rabbit/rabbit.rb +12 -1
  248. data/lib/rabbit/renderer/base.rb +0 -25
  249. data/lib/rabbit/renderer/display/clutter-embed.rb +5 -69
  250. data/lib/rabbit/renderer/display/drawing-area.rb +0 -2
  251. data/lib/rabbit/renderer/display/key-handler.rb +0 -8
  252. data/lib/rabbit/source/base.rb +4 -0
  253. data/lib/rabbit/theme/background-image-toolkit/background-image-toolkit.rb +4 -8
  254. data/lib/rabbit/theme/clutter-comment/clutter-comment.rb +76 -0
  255. data/lib/rabbit/theme/clutter-comment/property.rb +3 -0
  256. data/lib/rabbit/theme/color-circle/color-circle.rb +3 -0
  257. data/lib/rabbit/theme/dark-gradation/dark-gradation.rb +187 -0
  258. data/lib/rabbit/theme/dark-gradation/property.rb +3 -0
  259. data/lib/rabbit/theme/debian/debian.rb +125 -145
  260. data/lib/rabbit/theme/default/default.rb +6 -0
  261. data/lib/rabbit/theme/footer-comment/footer-comment.rb +46 -0
  262. data/lib/rabbit/theme/footer-comment/property.rb +3 -0
  263. data/lib/rabbit/theme/image/image.rb +3 -2
  264. data/lib/rabbit/theme/per-slide-background-color/property.rb +1 -1
  265. data/lib/rabbit/theme/slide-number/slide-number.rb +9 -3
  266. data/lib/rabbit/theme/stream-comment/property.rb +3 -0
  267. data/lib/rabbit/theme/stream-comment/stream-comment.rb +66 -0
  268. data/lib/rabbit/theme/tag/property.rb +1 -1
  269. data/lib/rabbit/theme/title-background-image/title-background-image.rb +6 -5
  270. data/lib/rabbit/theme/twitter-comment/property.rb +4 -0
  271. data/lib/rabbit/theme/twitter-comment/twitter-comment.rb +15 -0
  272. data/lib/rabbit/twitter.rb +216 -0
  273. data/lib/rabbit/utils.rb +26 -0
  274. data/misc/emacs/README.ja +1 -1
  275. data/misc/emacs/rabbit-mode.el +1 -1
  276. data/po/en/rabbit.po +429 -267
  277. data/po/fr/rabbit.po +440 -268
  278. data/po/ja/rabbit.po +455 -270
  279. data/po/rabbit.pot +2567 -0
  280. data/sample/rabbit-en.hiki +384 -0
  281. data/sample/rabbit-en.rd +1 -1
  282. data/sample/rabbit-implementation.rd +1 -1
  283. data/sample/rabbit.hiki +85 -13
  284. data/sample/rabbit.rd +1 -1
  285. data/sample/theme-bench-en.hiki +100 -0
  286. data/sample/theme-bench.hiki +101 -0
  287. metadata +413 -118
  288. data/README.en +0 -850
  289. data/README.ja +0 -885
  290. data/bin/rabbit.bat +0 -8
  291. data/data/locale/en/LC_MESSAGES/rabbit.mo +0 -0
  292. data/data/locale/fr/LC_MESSAGES/rabbit.mo +0 -0
  293. data/data/locale/ja/LC_MESSAGES/rabbit.mo +0 -0
  294. data/lib/rabbit/comment-canvas.rb +0 -21
  295. data/lib/rabbit/comment/log.rb +0 -74
  296. data/lib/rabbit/renderer/display/comment-drawing-area.rb +0 -175
  297. data/lib/rabbit/renderer/display/comment.rb +0 -194
  298. data/lib/rabbit/theme/comment/comment.rb +0 -5
  299. data/lib/rabbit/theme/comment/property.rb +0 -3
  300. data/lib/rt/rt2html-lib.rb +0 -157
  301. data/lib/rt/rtparser.rb +0 -226
  302. data/lib/rt/rtvisitor.rb +0 -68
  303. data/lib/rwiki/soap/common.rb +0 -5
  304. data/lib/rwiki/soap/driver.rb +0 -43
  305. data/lib/rwiki/soap/servant.rb +0 -78
  306. data/sample/asahina/alice.png +0 -0
  307. data/sample/asahina/yukiusa.png +0 -0
  308. data/sample/momo/banner/bn1.png +0 -0
  309. data/sample/momo/banner/bn2.png +0 -0
  310. data/sample/momo/banner/bn_psd.psd +0 -0
  311. data/sample/momo/banner/bn_psd2.psd +0 -0
  312. data/sample/momo/tailavi/tailavi-ruby.png +0 -0
  313. data/sample/momo/tailavi/tailavi-ruby.psd +0 -0
  314. data/sample/momo/tailavi/tailavi-taiyaki.png +0 -0
  315. data/sample/momo/tailavi/tailavi-taiyaki.psd +0 -0
  316. data/sample/momo/tailavi/tailavi-yokubari.png +0 -0
  317. data/sample/momo/tailavi/tailavi-yokubari.psd +0 -0
  318. data/sample/momo/tailavi/taiyaki.png +0 -0
  319. data/sample/momo/tailavi/taiyaki.psd +0 -0
  320. data/sample/momo/usako/blue_dot.png +0 -0
  321. data/sample/momo/usako/green_dot.png +0 -0
  322. data/sample/momo/usako/rabbit.png +0 -0
  323. data/sample/momo/usako/rabbit_mimi.png +0 -0
  324. data/sample/momo/usako/rabbit_mimi2.png +0 -0
  325. data/sample/momo/usako/red_dot.png +0 -0
  326. data/sample/momo/usako/ruby.png +0 -0
  327. data/sample/momo/usako/ruby_new.png +0 -0
  328. data/sample/momo/usako/usa1.png +0 -0
  329. data/sample/momo/usako/usa2.png +0 -0
  330. data/sample/momo/usako/usa3.png +0 -0
  331. data/sample/momo/usako/usako_psd.psd +0 -0
  332. data/sample/momo/usako/usako_psd_200.png +0 -0
  333. data/sample/rabbit-balloon.eps +0 -233
  334. data/sample/sode/kame-color.riff +0 -0
  335. data/sample/sode/kame.riff +0 -0
  336. data/sample/usatti/kame-taro.png +0 -0
  337. data/sample/usatti/rabbit-pink-logo.png +0 -0
  338. data/sample/usatti/rabbit-pink-logo2.png +0 -0
  339. data/sample/usatti/ruby-pink-circle-logo.png +0 -0
  340. data/sample/usatti/ruby-pink-circle.png +0 -0
  341. data/sample/usatti/ruby-pink-polygon-logo.png +0 -0
  342. data/sample/usatti/ruby-pink-polygon.png +0 -0
  343. data/sample/usatti/tanu-kitaro.png +0 -0
  344. data/sample/usatti/usa-taro.png +0 -0
  345. data/sample/usatti/yukidaru-taro.png +0 -0
@@ -0,0 +1,10 @@
1
+ = Rabbit
2
+
3
+ : subtitle
4
+ A presentation tool for Rubyist
5
+
6
+ : author
7
+ Kouhei Sutou
8
+
9
+ : institution
10
+ COZMIXNG
@@ -0,0 +1,10 @@
1
+ = Rabbit
2
+
3
+ : subtitle
4
+ Rubyist用プレゼンツール
5
+
6
+ : author
7
+ 須藤功平
8
+
9
+ : institution
10
+ COZMIXNG
@@ -23,20 +23,6 @@ module Rabbit
23
23
  config[:label] = N_("Blackout")
24
24
  end
25
25
 
26
- def act_toggle_comment_frame(action, group, canvas)
27
- canvas.toggle_comment_frame
28
- end
29
- def act_toggle_comment_frame_config(config, canvas)
30
- config[:label] = N_("Comment frame")
31
- end
32
-
33
- def act_toggle_comment_view(action, group, canvas)
34
- canvas.toggle_comment_view
35
- end
36
- def act_toggle_comment_view_config(config, canvas)
37
- config[:label] = N_("Comment view")
38
- end
39
-
40
26
  def act_toggle_index_mode(action, group, canvas)
41
27
  canvas.toggle_index_mode
42
28
  end
data/lib/rabbit/canvas.rb CHANGED
@@ -10,6 +10,7 @@ require "rabbit/theme/manager"
10
10
  require "rabbit/front"
11
11
  require "rabbit/action"
12
12
  require "rabbit/html/generator"
13
+ require "rabbit/twitter"
13
14
 
14
15
  module Rabbit
15
16
  class Canvas
@@ -89,11 +90,6 @@ module Rabbit
89
90
  def_delegators(:@renderer, :whiteouting?, :blackouting?)
90
91
  def_delegators(:@renderer, :toggle_whiteout, :toggle_blackout)
91
92
 
92
- def_delegators(:@renderer, :showing_comment_frame?, :showing_comment_view?)
93
- def_delegators(:@renderer, :toggle_comment_frame, :toggle_comment_view)
94
- def_delegators(:@renderer, :comment_frame_available?)
95
- def_delegators(:@renderer, :comment_view_available?)
96
-
97
93
  def_delegators(:@renderer, :adjustment_x, :adjustment_x=)
98
94
  def_delegators(:@renderer, :adjustment_y, :adjustment_y=)
99
95
  def_delegators(:@renderer, :reset_adjustment)
@@ -123,7 +119,7 @@ module Rabbit
123
119
  def_delegators(:@source, :source=, :reset, :base)
124
120
 
125
121
  attr_reader :logger, :renderer, :last_modified
126
- attr_reader :comment_source, :actions
122
+ attr_reader :comments, :actions
127
123
 
128
124
  attr_writer :saved_image_base_name
129
125
  attr_writer :use_gl
@@ -133,8 +129,9 @@ module Rabbit
133
129
  attr_accessor :source_filename
134
130
  attr_accessor :migemo_dictionary_search_path, :migemo_dictionary_name
135
131
  attr_accessor :font_resolution_ratio
132
+ attr_accessor :max_n_comments
136
133
 
137
- def initialize(logger, renderer, comment_source=nil, comment_encoding=nil)
134
+ def initialize(logger, renderer)
138
135
  @logger = logger
139
136
  @frame = NullFrame.new
140
137
  @theme_name = nil
@@ -153,7 +150,8 @@ module Rabbit
153
150
  @limit_time = nil
154
151
  @use_gl = false
155
152
  @font_resolution_ratio = 1
156
- init_comment(comment_source, comment_encoding)
153
+ @twitter = nil
154
+ @max_n_comments = 100
157
155
  clear
158
156
  @renderer = renderer.new(self)
159
157
  @actions = Action.action_group(self)
@@ -176,6 +174,7 @@ module Rabbit
176
174
  end
177
175
 
178
176
  def quit
177
+ clear_twitter
179
178
  @quitted = true
180
179
  @frame.quit
181
180
  end
@@ -564,30 +563,29 @@ module Rabbit
564
563
  end
565
564
  end
566
565
 
566
+ def on_comment(name, &callback)
567
+ @on_comment_callbacks << [name, callback]
568
+ end
569
+
570
+ def delete_on_comment_proc_by_name(name)
571
+ @on_comment_callbacks.reject! do |callback_name, callback|
572
+ callback_name == name
573
+ end
574
+ end
575
+
567
576
  def append_comment(comment)
568
- comment = prepare_comment(comment)
569
- comment = "\n= #{comment}" if /\A\s*\z/ !~ comment
570
- prev_source = @comment_source.read
571
- @comment_source.source = "#{prev_source}#{comment}"
572
- @renderer.update_comment(@comment_source) do |error|
573
- @comment_source.source = prev_source
574
- if block_given?
575
- yield(error)
576
- else
577
- logger.warn(error)
577
+ @comments << comment
578
+ @comments.shift if @comments.size > @max_n_comments
579
+ @on_comment_callbacks.each do |name, callback|
580
+ begin
581
+ callback.call(comment)
582
+ rescue
583
+ logger.error($!)
578
584
  end
579
- return false
580
585
  end
581
586
  true
582
587
  end
583
588
 
584
- def comments
585
- comments = @comment_source.read.split(/^=\s*(?=[^=]+$)/)[2..-1]
586
- comments.collect do |comment|
587
- comment.strip
588
- end
589
- end
590
-
591
589
  def title_slide
592
590
  @slides.find{|x| x.is_a?(Element::TitleSlide)}
593
591
  end
@@ -642,6 +640,10 @@ module Rabbit
642
640
  INTERNAL_DPI * @font_resolution_ratio
643
641
  end
644
642
 
643
+ def twitter
644
+ @twitter ||= Twitter.new(@logger)
645
+ end
646
+
645
647
  private
646
648
  def _apply_theme(name, id, &block)
647
649
  @theme_name = name if name
@@ -692,13 +694,26 @@ module Rabbit
692
694
  end
693
695
 
694
696
  def clear
697
+ clear_twitter
698
+ clear_comments
695
699
  reset_timer
696
700
  stop_auto_redraw_timer
697
701
  clear_slides
698
702
  clear_index_slides
699
703
  modified
700
704
  end
701
-
705
+
706
+ def clear_twitter
707
+ return if @twitter.nil?
708
+ @twitter.close
709
+ @twitter = nil
710
+ end
711
+
712
+ def clear_comments
713
+ @comments = []
714
+ @on_comment_callbacks = []
715
+ end
716
+
702
717
  def clear_slides
703
718
  @current_index = 0
704
719
  @slides = []
@@ -748,24 +763,5 @@ module Rabbit
748
763
  Action.update_status(self)
749
764
  @renderer.post_move(old_index, current_index)
750
765
  end
751
-
752
- def init_comment(comment_source, comment_encoding)
753
- args = [comment_encoding, logger, comment_source]
754
- @comment_source = Source::Memory.new(*args)
755
- if /^=\s*[^=]+$/ !~ @comment_source.read
756
- @comment_source.source = default_comment_source
757
- end
758
- end
759
-
760
- def default_comment_source
761
- source = "= " + _("Comment") + "\n"
762
- source << ": theme\n"
763
- source << " comment\n"
764
- source
765
- end
766
-
767
- def prepare_comment(comment)
768
- comment.to_s.gsub(/\r?\n/, '')
769
- end
770
766
  end
771
767
  end
@@ -19,7 +19,7 @@ module Rabbit
19
19
  module_function
20
20
  def parse!(args, logger=nil)
21
21
  bindtextdomain
22
- logger ||= Logger::STDERR.new
22
+ logger ||= guess_default_logger
23
23
  options = OpenStruct.new
24
24
  options.logger = logger
25
25
  options.default_logger = logger
@@ -129,5 +129,13 @@ module Rabbit
129
129
  def get_last_name(klass)
130
130
  klass.name.split("::").last
131
131
  end
132
+
133
+ def guess_default_logger
134
+ if Utils.support_console_output?
135
+ Logger::STDERR.new
136
+ else
137
+ Logger::GUI.new
138
+ end
139
+ end
132
140
  end
133
141
  end
data/lib/rabbit/front.rb CHANGED
@@ -123,7 +123,7 @@ module Rabbit
123
123
  end
124
124
 
125
125
  def accept_move?
126
- not (@public_level & Front::PublicLevel::MOVE).zero?
126
+ not (@public_level & Front::PublicLevel::MOVE).zero?
127
127
  end
128
128
 
129
129
  def append_comment(comment)
data/lib/rabbit/keys.rb CHANGED
@@ -85,10 +85,6 @@ module Rabbit
85
85
  Gdk::Keyval::GDK_c,
86
86
  ]
87
87
 
88
- TOGGLE_COMMENT_FRAME_KEYS = [
89
- Gdk::Keyval::GDK_m,
90
- ]
91
-
92
88
  SEARCH_SLIDE_FORWARD_KEYS = [
93
89
  Gdk::Keyval::GDK_slash,
94
90
  ]
@@ -114,10 +110,6 @@ module Rabbit
114
110
  Gdk::Keyval::GDK_b,
115
111
  ]
116
112
 
117
- TOGGLE_COMMENT_VIEW_KEYS = [
118
- Gdk::Keyval::GDK_m,
119
- ]
120
-
121
113
  EXPAND_HOLE_KEYS = [
122
114
  Gdk::Keyval::GDK_e,
123
115
  ]
@@ -38,14 +38,14 @@ module Rabbit
38
38
  log_prog_name(prog_name)
39
39
  log_message(message)
40
40
  if @start_gui_main_loop_automatically and Gtk.main_level.zero?
41
- Thread.new{Gtk.main}
41
+ Thread.new {Gtk.main}
42
42
  end
43
43
  end
44
44
 
45
45
  def log_severity(severity)
46
46
  append("[")
47
- name = severity_name(severity)
48
- append(name, name)
47
+ name = Severity::MARK_TABLE[severity]
48
+ append(_(name), name)
49
49
  append("]\n")
50
50
  end
51
51
 
@@ -165,8 +165,6 @@ module Rabbit
165
165
  "left_margin" => 10,
166
166
  "right_margin" => 10)
167
167
  end
168
-
169
168
  end
170
-
171
169
  end
172
170
  end
@@ -11,7 +11,7 @@ module Rabbit
11
11
  unshift_loader(self)
12
12
  class << self
13
13
  def match?(source)
14
- /\A%PDF-1\.\d\s/m =~ source.read
14
+ source.read.start_with?("%PDF-1.")
15
15
  end
16
16
  end
17
17
 
@@ -378,7 +378,7 @@ module Rabbit
378
378
  super(@private.pack(text, *rest))
379
379
  end
380
380
 
381
- def lang(lang, text)
381
+ def lang(lang, text, *rest)
382
382
  super(lang, @private.pack(text, *rest))
383
383
  end
384
384
 
@@ -390,6 +390,14 @@ module Rabbit
390
390
  WaitTag.new
391
391
  end
392
392
 
393
+ def tag(name, text=nil, *rest)
394
+ if text
395
+ CustomTag.new(name, @private.pack(text, *rest))
396
+ else
397
+ CustomTag.new(name)
398
+ end
399
+ end
400
+
393
401
  class Private
394
402
  include Element
395
403
  def initialize(output)
@@ -482,6 +490,14 @@ module Rabbit
482
490
  [Ext::AAFigure.make_image_by_aafigure(*args), props]
483
491
  end
484
492
  end
493
+
494
+ def tag(name, value=nil)
495
+ if value
496
+ CustomTag.new(name, @output.text(value))
497
+ else
498
+ CustomTag.new(name)
499
+ end
500
+ end
485
501
  end
486
502
  end
487
503
  end
data/lib/rabbit/rabbit.rb CHANGED
@@ -8,11 +8,12 @@ require "rabbit/gettext"
8
8
 
9
9
  module Rabbit
10
10
 
11
- VERSION = "0.9.2"
11
+ VERSION = "0.9.3"
12
12
 
13
13
  TMP_DIR_NAME = ".tmp"
14
14
 
15
15
  @@gui_init_procs = []
16
+ @@cleanup_procs = []
16
17
 
17
18
  module_function
18
19
  def add_gui_init_proc(proc=Proc.new)
@@ -25,6 +26,16 @@ module Rabbit
25
26
  end
26
27
  end
27
28
 
29
+ def add_cleanup_proc(proc=Proc.new)
30
+ @@cleanup_procs << proc
31
+ end
32
+
33
+ def cleanup
34
+ @@cleanup_procs.each do |proc|
35
+ proc.call
36
+ end
37
+ end
38
+
28
39
  class Error < StandardError
29
40
  include GetText
30
41
  end
@@ -219,35 +219,10 @@ module Rabbit
219
219
  def toggle_spotlight
220
220
  end
221
221
 
222
- def toggle_comment_frame
223
- end
224
-
225
- def toggle_comment_view
226
- end
227
-
228
- def showing_comment_frame?
229
- false
230
- end
231
-
232
- def showing_comment_view?
233
- false
234
- end
235
-
236
- def comment_frame_available?
237
- false
238
- end
239
-
240
- def comment_view_available?
241
- false
242
- end
243
-
244
222
  def gl_available?
245
223
  @canvas.use_gl? and gl_supported?
246
224
  end
247
225
 
248
- def update_comment(source)
249
- end
250
-
251
226
  def post_init_gui
252
227
  end
253
228
 
@@ -226,75 +226,6 @@ module Rabbit
226
226
  def cache_all_slides
227
227
  end
228
228
 
229
- def update_comment(source, &block)
230
- comment = @canvas.comments.last
231
-
232
- color = Clutter::Color.new(rand(256), rand(256), rand(256),
233
- 128 + rand(128))
234
- size = 36 + rand(72)
235
- actor = Clutter::Label.new("Sans #{size}", comment, color)
236
- actor.x = @canvas.width
237
- actor.y = (@canvas.height / 2.0) * rand
238
- actor.show
239
- @stage.add(actor)
240
-
241
- n = 150 + rand(150)
242
- delta = (@canvas.width + actor.width) / n.to_f
243
-
244
- do_rotate_x = rand(5).zero?
245
- do_rotate_y = rand(5).zero?
246
- do_rotate_z = rand(5).zero?
247
- do_scale = rand(5).zero?
248
-
249
- x_axis = actor.x
250
- y_axis = actor.y - (actor.height * 0.5)
251
- if do_rotate_x
252
- actor.set_rotation(Clutter::X_AXIS, rand(360), 0, y_axis, 0)
253
- end
254
- if do_rotate_y
255
- actor.set_rotation(Clutter::Y_AXIS, rand(360), x_axis, 0, 0)
256
- end
257
- if do_rotate_z
258
- actor.set_rotation(Clutter::Z_AXIS, rand(360), x_axis, y_axis, 0)
259
- end
260
- if do_scale
261
- x_sign = 1
262
- y_sign = 1
263
- actor.set_scale(-2 + rand(5), -2 + rand(5))
264
- end
265
- GLib::Timeout.add(1000 / 50) do
266
- actor.raise_top
267
- actor.x -= delta
268
-
269
- x_angle, x_x, x_y, x_z = actor.get_rotation(Clutter::X_AXIS)
270
- y_angle, y_x, y_y, y_z = actor.get_rotation(Clutter::Y_AXIS)
271
- z_angle, z_x, z_y, z_z = actor.get_rotation(Clutter::Z_AXIS)
272
- x_angle = (x_angle + rand(5)) % 360
273
- y_angle = (y_angle + rand(5)) % 360
274
- z_angle = (z_angle + rand(5)) % 360
275
- x_axis = actor.x
276
- if do_rotate_x
277
- actor.set_rotation(Clutter::X_AXIS, x_angle, 0, y_axis, 0)
278
- end
279
- if do_rotate_y
280
- actor.set_rotation(Clutter::Y_AXIS, y_angle, x_axis, 0, 0)
281
- end
282
- if do_rotate_z
283
- actor.set_rotation(Clutter::Z_AXIS, z_angle, x_axis, y_axis, 0)
284
- end
285
- if do_scale
286
- x_scale, y_scale = actor.scale
287
- x_sign *= -1 if x_scale.abs > 2
288
- y_sign *= -1 if y_scale.abs > 2
289
- actor.set_scale(x_scale + (0.1 * x_sign),
290
- y_scale + (0.1 * y_sign))
291
- end
292
- n -= 1
293
- @stage.remove(actor) if n.zero?
294
- not n.zero?
295
- end
296
- end
297
-
298
229
  private
299
230
  def add_widgets_to_container(container)
300
231
  container.add(@embed)
@@ -304,6 +235,11 @@ module Rabbit
304
235
  container.remove(@embed)
305
236
  end
306
237
 
238
+ def init_color
239
+ super
240
+ init_engine_color
241
+ end
242
+
307
243
  def init_dpi
308
244
  @x_dpi = ScreenInfo.screen_x_resolution
309
245
  @y_dpi = ScreenInfo.screen_y_resolution