rabbit 0.9.2 → 0.9.3

Sign up to get free protection for your applications and to get access to all the features.
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>