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
data/bin/rabbit-command CHANGED
@@ -7,15 +7,25 @@ require "rabbit/console"
7
7
 
8
8
  def parse(args=ARGV, logger=nil)
9
9
  Rabbit::Console.parse!(args, logger) do |opts, options|
10
- options.druby_uri = "druby://localhost:10101"
10
+ options.rabbit_uri = "druby://localhost:10101"
11
+ options.druby_uri_specified = false
11
12
  options.commands = []
12
13
 
13
14
  opts.separator ""
14
15
 
16
+ opts.on("--rabbit-uri=URI",
17
+ _("Specify Rabbit's dRuby URI as [URI]."),
18
+ "(#{options.rabbit_uri})") do |uri|
19
+ options.rabbit_uri = uri
20
+ end
21
+
15
22
  opts.on("--druby-uri=URI",
23
+ _("Deprecated."),
24
+ _("Use --rabbit-uri instead."),
16
25
  _("Specify Rabbit's dRuby URI as [URI]."),
17
- "(#{options.druby_uri})") do |uri|
18
- options.druby_uri = uri
26
+ "(#{options.rabbit_uri})") do |uri|
27
+ options.rabbit_uri = uri
28
+ options.druby_uri_specified = true
19
29
  end
20
30
 
21
31
  opts.separator(_("Move commands"))
@@ -85,6 +95,9 @@ end
85
95
  def main
86
96
  options, logger = parse
87
97
 
98
+ if options.druby_uri_specified
99
+ logger.warning(_("--druby-uri is deprecated. Use --rabbit-uri instead."))
100
+ end
88
101
  rabbit = DRbObject.new_with_uri(options.druby_uri)
89
102
  options.commands.each do |output, method, *args|
90
103
  result = rabbit.send(method, *args)
data/bin/rabbiter CHANGED
@@ -1,96 +1,97 @@
1
1
  #!/usr/bin/env ruby
2
2
  # -*- ruby -*-
3
3
 
4
- require 'rubygems'
5
- require 'password'
6
- require 'tweetstream'
7
- require 'drb'
8
- require "optparse"
9
- require "ostruct"
10
-
11
- class Rabbiter
12
- def initialize(options)
13
- @options = options
14
- @rabbit = DRb::DRbObject.new_with_uri(@options.rabbit_uri)
15
- @tweet = nil
16
- end
4
+ require 'drb/drb'
5
+
6
+ require 'rabbit/console'
7
+ require 'rabbit/twitter'
8
+
9
+ def parse(args=ARGV, logger=nil)
10
+ Rabbit::Console.parse!(args, logger) do |opts, options|
11
+ options.rabbit_uri = "druby://localhost:10101"
12
+ options.filters = []
13
+ options.user_languages = []
17
14
 
18
- def start
19
- @tweet = TweetStream::Daemon.new(@options.username,
20
- @options.password,
21
- "rabbiter")
22
- @tweet.track(@options.keyword) do |status|
23
- begin
24
- comment = "#{status.user.screen_name}: #{clean_text(status.text)}"
25
- @rabbit.append_comment(comment)
26
- rescue DRb::DRbConnError
27
- puts "Rabbiter: #{$!.class}: #{$!.message}"
28
- end
15
+ opts.separator ""
16
+
17
+ opts.on("--rabbit-uri=URI",
18
+ "Rabbit's dRuby URI",
19
+ "(#{options.rabbit_uri})") do |uri|
20
+ options.rabbit_uri = uri
29
21
  end
30
- end
31
22
 
32
- def stop
33
- if @tweet
34
- @tweet.stop
23
+ opts.on("--filter=FILTER",
24
+ "Filter word for search Twitter.",
25
+ "To use multiple filters, use this option multiple.") do |filter|
26
+ options.filters << filter
35
27
  end
36
- end
37
28
 
38
- private
39
- def clean_text(text)
40
- remove_ustream_link(remove_hash_tag(text))
41
- end
29
+ opts.on("--user-language=LANGUAGE",
30
+ "Filter by user language.",
31
+ "(e.g.: ja, en)",
32
+ "To use multiple language, use this option multiple.") do |language|
33
+ options.user_languages << language
34
+ end
42
35
 
43
- def remove_hash_tag(text)
44
- text.gsub(/\##{Regexp.escape(@options.keyword)}/, "")
45
- end
36
+ opts.separator "Deprecated"
46
37
 
47
- def remove_ustream_link(text)
48
- text.gsub(/\(.* live at http:\/\/ustre\.am\/.*\)/, "")
38
+ opts.on("--keyword=KEYWORD",
39
+ "Deprecated. Use --filter instead.") do |keyword|
40
+ options.filters << keyword
41
+ end
49
42
  end
50
43
  end
51
44
 
52
- options = OpenStruct.new
53
- options.keyword = 'ruby'
54
- options.rabbit_uri = 'druby://localhost:10101'
55
- options.username = ENV['USER'] || ENV['USERNAME']
56
- options.password = ''
57
-
58
- parser = OptionParser.new do |opts|
59
- opts.on("--keyword=KEYWROD",
60
- "Keyword for search Twitter",
61
- "(#{options.keyword})") do |keyword|
62
- options.keyword = keyword
63
- end
64
-
65
- opts.on("--rabbit-uri=URI",
66
- "Rabbit's dRuby URI",
67
- "(#{options.rabbit_uri})") do |uri|
68
- options.rabbit_uri = uri
69
- end
45
+ def target?(status, options)
46
+ return true if options.user_languages.empty?
47
+ options.user_languages.include?(status["user"]["lang"])
48
+ end
70
49
 
71
- opts.on("--username=USERNAME",
72
- "Username for Twitter",
73
- "(#{options.username})") do |username|
74
- options.username = username
75
- end
50
+ def clean_text(text, filters)
51
+ remove_ustream_link(remove_hash_tag(text, filters))
52
+ end
76
53
 
77
- opts.on("--password=PASSWORD",
78
- "User password for Twitter",
79
- "(#{options.password})") do |password|
80
- options.password = password
54
+ def remove_hash_tag(text, filters)
55
+ hash_tag_regexps = filters.collect do |filter|
56
+ if filter.start_with?("#")
57
+ Regexp.escape(filter)
58
+ else
59
+ Regexp.escape("\##{filter}")
60
+ end
81
61
  end
62
+ text.gsub(Regexp.union(*hash_tag_regexps), "")
82
63
  end
83
64
 
84
- parser.parse!(ARGV)
85
-
86
- if options.password.empty?
87
- options.password = Password.get("Password for #{options.username}: ")
65
+ def remove_ustream_link(text)
66
+ text.gsub(/\(.* live at http:\/\/ustre\.am\/.*\)/, "")
88
67
  end
89
68
 
90
- rabbiter = Rabbiter.new(options)
69
+ def main
70
+ options, logger = parse
71
+ if options.filters.empty?
72
+ logger.error("must specify one or more filters by --filter")
73
+ exit(false)
74
+ end
91
75
 
92
- Signal.trap("INT") do
93
- rabbiter.stop
76
+ rabbit = DRbObject.new_with_uri(options.rabbit_uri)
77
+ twitter = Rabbit::Twitter.new(logger)
78
+ twitter.start(*options.filters) do |status|
79
+ next unless target?(status, options)
80
+ begin
81
+ text = clean_text(status['text'], options.filters)
82
+ comment = "@#{status['user']['screen_name']}: #{text}"
83
+ rabbit.append_comment(comment)
84
+ rescue DRb::DRbConnError
85
+ logger.error("Rabbiter: #{$!.class}: #{$!.message}")
86
+ end
87
+ end
88
+
89
+ main_loop = GLib::MainLoop.new
90
+ trap("INT") do
91
+ twitter.close
92
+ main_loop.quit
93
+ end
94
+ main_loop.run
94
95
  end
95
96
 
96
- rabbiter.start
97
+ main
data/bin/rabrick CHANGED
@@ -11,7 +11,8 @@ require "rabbit/div/tofu"
11
11
 
12
12
  def parse(args=ARGV, logger=nil)
13
13
  Rabbit::Console.parse!(args, logger) do |opts, options|
14
- options.druby_uri = "druby://localhost:10101"
14
+ options.rabbit_uri = "druby://localhost:10101"
15
+ options.druby_uri_specified = false
15
16
  options.port = 10102
16
17
  options.bonjour = false
17
18
  options.debug = false
@@ -19,10 +20,19 @@ def parse(args=ARGV, logger=nil)
19
20
 
20
21
  opts.separator ""
21
22
 
23
+ opts.on("--rabbit-uri=URI",
24
+ _("Specify Rabbit's dRuby URI as [URI]."),
25
+ "(#{options.rabbit_uri})") do |uri|
26
+ options.rabbit_uri = uri
27
+ end
28
+
22
29
  opts.on("--druby-uri=URI",
30
+ _("Deprecated."),
31
+ _("Use --rabbit-uri instead."),
23
32
  _("Specify Rabbit's dRuby URI as [URI]."),
24
- "(#{options.druby_uri})") do |uri|
25
- options.druby_uri = uri
33
+ "(#{options.rabbit_uri})") do |uri|
34
+ options.rabbit_uri = uri
35
+ options.druby_uri_specified = true
26
36
  end
27
37
 
28
38
  opts.on("--port=PORT",
@@ -57,7 +67,10 @@ def main
57
67
  :AddressFamily => Socket::AF_INET,
58
68
  :Logger => logger)
59
69
 
60
- rabbit = DRbObject.new_with_uri(options.druby_uri)
70
+ if options.druby_uri_specified
71
+ logger.warning(_("--druby-uri is deprecated. Use --rabbit-uri instead."))
72
+ end
73
+ rabbit = DRbObject.new_with_uri(options.rabbit_uri)
61
74
  Rabbit::Div::TofuSession.rabbit = rabbit
62
75
  bartender = Tofu::Bartender.new(Rabbit::Div::TofuSession)
63
76
  server.mount("/", WEBrick::Tofulet, bartender)
data/bin/rabwii ADDED
@@ -0,0 +1,77 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'cwiid'
4
+ require 'drb/drb'
5
+
6
+ require "rabbit/console"
7
+
8
+ def parse(args=ARGV, logger=nil)
9
+ Rabbit::Console.parse!(args, logger) do |opts, options|
10
+ options.rabbit_uri = "druby://localhost:10101"
11
+
12
+ opts.separator ""
13
+
14
+ opts.on("--rabbit-uri=URI",
15
+ "Rabbit's dRuby URI",
16
+ "(#{options.rabbit_uri})") do |uri|
17
+ options.rabbit_uri = uri
18
+ end
19
+ end
20
+ end
21
+
22
+ def accept_wiimote(wiimote, rabbit, logger)
23
+ leds = [WiiMote::LED1_ON, WiiMote::LED2_ON, WiiMote::LED3_ON, WiiMote::LED4_ON,
24
+ WiiMote::LED3_ON, WiiMote::LED2_ON]
25
+ led_count = 0
26
+ n_looped = 0
27
+
28
+ buttons_prev = 0
29
+ loop do
30
+ buttons_prev = wiimote.buttons
31
+ wiimote.get_state
32
+ buttons_state = wiimote.buttons - (wiimote.buttons & buttons_prev)
33
+
34
+ n_looped = (n_looped + 1) % 20
35
+ if n_looped.zero?
36
+ led_count = (led_count + 1) % leds.size
37
+ wiimote.led = leds[led_count]
38
+ end
39
+
40
+ case buttons_state
41
+ when WiiMote::BTN_A
42
+ rabbit.move_to_next_if_can
43
+ when WiiMote::BTN_B
44
+ rabbit.move_to_previous_if_can
45
+ when WiiMote::BTN_RIGHT
46
+ rabbit.move_to_next_slide_if_can
47
+ when WiiMote::BTN_LEFT
48
+ rabbit.move_to_previous_slide_if_can
49
+ when WiiMote::BTN_UP
50
+ rabbit.move_to_first
51
+ when WiiMote::BTN_DOWN
52
+ rabbit.move_to_last
53
+ when WiiMote::BTN_HOME
54
+ rabbit.toggle_fullscreen
55
+ when WiiMote::BTN_PLUS
56
+ rabbit.toggle_index_mode
57
+ when WiiMote::BTN_MINUS
58
+ rabbit.toggle_whiteout
59
+ end
60
+
61
+ sleep 0.1
62
+ end
63
+ end
64
+
65
+ def main
66
+ options, logger = parse
67
+
68
+ wiimote = WiiMote.new
69
+ wiimote.rpt_mode = WiiMote::RPT_BTN
70
+ wiimote.led = WiiMote::LED1_ON | WiiMote::LED4_ON
71
+
72
+ rabbit = DRbObject.new_with_uri(options.rabbit_uri)
73
+
74
+ accept_wiimote(wiimote, rabbit, logger)
75
+ end
76
+
77
+ main
@@ -0,0 +1,2 @@
1
+ # empty theme to add load path to images in the directory.
2
+
@@ -0,0 +1,4 @@
1
+ @category = N_("Image")
2
+ @title = N_("Dark Gradation background Image")
3
+ @abstract = N_("Images related to dark gradation")
4
+ @description = N_("Provides images related to Dark Gradation theme")
data/doc/_config.yml ADDED
@@ -0,0 +1,2 @@
1
+ markdown: rdiscount
2
+ pygments: true
@@ -0,0 +1,37 @@
1
+ ---
2
+ layout: skeleton
3
+ language: en
4
+ country: US
5
+ ---
6
+ {% if page.lang_suffix == null %}
7
+ <nav class="menu">
8
+ <ul>
9
+ <li><a href="/en/">README</a></li>
10
+ <li><a href="/en/install/">Install</a></li>
11
+ <li><a href="/en/usage.html">Usage</a></li>
12
+ <li><a href="/en/how-to-make/">How to make</a></li>
13
+ <li><a href="/en/users.html">Shockers</a></li>
14
+ <li><a href="/en/development.html">Development</a></li>
15
+ </ul>
16
+ </nav>
17
+ {% endif %}
18
+ {% if page.no_sidebar %}
19
+ {{ content }}
20
+ {% else %}
21
+ <div id="body">
22
+ {{ content }}
23
+ <nav id="sidebar">
24
+ <h3>The Latest Release</h3>
25
+ <p>0.9.3 is the latest release. It had been released at 2011-06-25.</p>
26
+ <h3>Links</h3>
27
+ <ul>
28
+ <li><a href="/en/">README</a></li>
29
+ <li><a href="/en/install/">Install</a></li>
30
+ <li><a href="/en/usage.html">Usage</a></li>
31
+ <li><a href="/en/how-to-make/">How to make</a></li>
32
+ <li><a href="/en/users.html">Shockers</a></li>
33
+ <li><a href="/en/development.html">Development</a></li>
34
+ </ul>
35
+ </nav>
36
+ </div>
37
+ {% endif %}
@@ -0,0 +1,37 @@
1
+ ---
2
+ layout: skeleton
3
+ language: ja
4
+ country: JP
5
+ ---
6
+ {% if page.lang_suffix == null %}
7
+ <nav class="menu">
8
+ <ul>
9
+ <li><a href="/ja/">はじめに</a></li>
10
+ <li><a href="/ja/install/">インストール</a></li>
11
+ <li><a href="/ja/usage.html">使い方</a></li>
12
+ <li><a href="/ja/how-to-make/">作り方</a></li>
13
+ <li><a href="/ja/users.html">ショッカー</a></li>
14
+ <li><a href="/ja/development.html">開発</a></li>
15
+ </ul>
16
+ </nav>
17
+ {% endif %}
18
+ {% if page.no_sidebar %}
19
+ {{ content }}
20
+ {% else %}
21
+ <div id="body">
22
+ {{ content }}
23
+ <nav id="sidebar">
24
+ <h3>最新リリース</h3>
25
+ <p>2011-06-25にリリースされた0.9.3が最新リリースです。</p>
26
+ <h3>リンク</h3>
27
+ <ul>
28
+ <li><a href="/ja/">はじめに</a></li>
29
+ <li><a href="/ja/install/">インストール</a></li>
30
+ <li><a href="/ja/usage.html">使い方</a></li>
31
+ <li><a href="/ja/how-to-make/">作り方</a></li>
32
+ <li><a href="/ja/users.html">ショッカー</a></li>
33
+ <li><a href="/ja/development.html">開発</a></li>
34
+ </ul>
35
+ </nav>
36
+ </div>
37
+ {% endif %}
@@ -0,0 +1,91 @@
1
+ <!DOCTYPE html>
2
+ <html lang="{{ page.language }}">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <title>Rabbit - {{ page.title }}</title>
6
+ <link rel="shortcut icon" href="/favicon.ico"
7
+ type="image/vnd.microsfot.icon">
8
+ <link rel="icon" href="/favicon.png" type="image/png">
9
+ <link rel="stylesheet" href="/css/jquery-ui/themes/ui-lightness.css"
10
+ type="text/css">
11
+ <link rel="stylesheet" href="/css/rabbit.css" type="text/css">
12
+ <meta property="fb:page_id" content="202603309766491">
13
+ <meta property="fb:admins" content="kouhei.sutou">
14
+ <meta property="og:type" content="product">
15
+ <meta property="og:image"
16
+ content="http://rabbit-shockers.org/images/lavie.png">
17
+ <meta property="og:site_name" content="Rabbit">
18
+ <script type="text/javascript" src="/javascripts/jquery.js"></script>
19
+ <script type="text/javascript" src="/javascripts/jquery-ui.js"></script>
20
+ <!--[if lt IE 9]>
21
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
22
+ <![endif]-->
23
+ </head>
24
+ <body>
25
+ <header id="header">
26
+ <h1 class="title">
27
+ <a href="/">
28
+ <span class="project">Rabbit</span>
29
+ <span class="separator">-</span>
30
+ <span class="description">{{ page.title }}</span>
31
+ </a>
32
+ </h1>
33
+ <div class="facebook-buttons">
34
+ <fb:like href="http://www.facebook.com/pages/Rabbit/202603309766491"
35
+ layout="standard"></fb:like>
36
+ </div>
37
+ <pre id="install" class="command">gem install rabbit</pre>
38
+ <div class="other-language-links">
39
+ <ul>
40
+ {% if page.language != "en" %}
41
+ {% capture en_url %}
42
+ {% if page.lang_suffix %}
43
+ {{ page.url | remove:page.language | append:'en' }}
44
+ {% else %}
45
+ /en{{ page.url | remove_first:page.language | replace:'//','/' | remove:"index.html" }}
46
+ {% endif %}
47
+ {% endcapture %}
48
+ <li><a href="{{ en_url | remove:' ' | strip_newlines }}" alt="English" title="English"><img src="/images/us.png"></a></li>
49
+ {% endif %}
50
+ {% if page.language != "ja" %}
51
+ {% capture ja_url %}
52
+ {% if page.lang_suffix %}
53
+ {{ page.url | remove:page.language | append:'ja' }}
54
+ {% else %}
55
+ /ja{{ page.url | remove_first:page.language | replace:'//','/' | remove:"index.html" }}
56
+ {% endif %}
57
+ {% endcapture %}
58
+ <li><a href="{{ ja_url | remove:' ' | strip_newlines }}" alt="日本語" title="日本語"><img src="/images/jp.png"></a></li>
59
+ {% endif %}
60
+ </ul>
61
+ </div>
62
+ </header>
63
+ {{ content }}
64
+ <footer>
65
+ <p class="copyright">&copy; 2004-2011 Kouhei Sutou.</p>
66
+ </footer>
67
+ <script src="http://connect.facebook.net/{{ page.language }}_{{ page.country }}/all.js"></script>
68
+ <script>
69
+ FB.init({
70
+ appId : null,
71
+ status : true, // check login status
72
+ cookie : true, // enable cookies to allow the server to access the session
73
+ xfbml : true // parse XFBML
74
+ });
75
+ </script>
76
+ <script type="text/javascript">
77
+ if (document.location.protocol != "file:" &&
78
+ document.location.host != "localhost") {
79
+ var _gaq = _gaq || [];
80
+ _gaq.push(['_setAccount', 'UA-12143252-4']);
81
+ _gaq.push(['_trackPageview']);
82
+
83
+ (function() {
84
+ var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
85
+ ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
86
+ var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
87
+ })();
88
+ }
89
+ </script>
90
+ </body>
91
+ </html>