rabbit 0.9.2 → 0.9.3
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +16 -0
- data/README +1 -0
- data/Rakefile +161 -53
- data/TODO +2 -0
- data/bin/rabbit +78 -34
- data/bin/rabbit-command +16 -3
- data/bin/rabbiter +74 -73
- data/bin/rabrick +17 -4
- data/bin/rabwii +77 -0
- data/data/rabbit/image/dark-gradation-images/background-gradation.png +0 -0
- data/data/rabbit/image/dark-gradation-images/dark-gradation-images.rb +2 -0
- data/data/rabbit/image/dark-gradation-images/property.rb +4 -0
- data/doc/_config.yml +2 -0
- data/doc/_layouts/en.html +37 -0
- data/doc/_layouts/ja.html +37 -0
- data/doc/_layouts/skeleton.html +91 -0
- data/doc/_plugins/converters/hiki.rb +27 -0
- data/doc/_plugins/converters/rd.rb +73 -0
- data/doc/_site/css/jquery-ui/themes/ui-lightness.css +573 -0
- data/doc/_site/css/rabbit.css +247 -0
- data/doc/_site/en/development.html +140 -0
- data/doc/_site/en/faq.html +117 -0
- data/doc/_site/en/hiki.html +420 -0
- data/doc/_site/en/how-to-make/hiki.html +113 -0
- data/doc/_site/en/how-to-make/index.html +135 -0
- data/doc/_site/en/how-to-make/pdf.html +111 -0
- data/doc/_site/en/how-to-make/rd.html +151 -0
- data/doc/_site/en/how-to-make/theme.html +249 -0
- data/doc/_site/en/index.html +343 -0
- data/doc/_site/en/install/homebrew.html +279 -0
- data/doc/_site/en/install/index.html +144 -0
- data/doc/_site/en/install/macports.html +158 -0
- data/doc/_site/en/install/windows.html +200 -0
- data/doc/_site/en/news.html +928 -0
- data/doc/_site/en/rd.html +555 -0
- data/doc/_site/en/sample/hiki/rabbit.html +380 -0
- data/doc/_site/en/sample/index.html +117 -0
- data/doc/_site/en/sample/rd/rabbit.html +572 -0
- data/doc/_site/en/slides.html +113 -0
- data/doc/_site/en/usage.html +445 -0
- data/doc/_site/en/users.html +127 -0
- data/doc/_site/favicon.ico +0 -0
- data/doc/_site/favicon.png +0 -0
- data/doc/_site/images/background-sample.svg +290 -0
- data/doc/_site/images/background.png +0 -0
- data/doc/_site/images/background.svg +131 -0
- data/doc/_site/images/hare-and-tortoise.png +0 -0
- data/doc/_site/images/hare-and-tortoise.svg +541 -0
- data/doc/_site/images/jp.png +0 -0
- data/{sample/momo/usako/usako_psd_100.png → doc/_site/images/lavie-icon.png} +0 -0
- data/doc/_site/images/lavie.png +0 -0
- data/doc/_site/images/screenshots/en/blue-circle-raw.png +0 -0
- data/doc/_site/images/screenshots/en/blue-circle.png +0 -0
- data/doc/_site/images/screenshots/en/clear-blue-raw.png +0 -0
- data/doc/_site/images/screenshots/en/clear-blue.png +0 -0
- data/doc/_site/images/screenshots/en/cozmixng-raw.png +0 -0
- data/doc/_site/images/screenshots/en/cozmixng.png +0 -0
- data/doc/_site/images/screenshots/en/dark-gradation-raw.png +0 -0
- data/doc/_site/images/screenshots/en/dark-gradation.png +0 -0
- data/doc/_site/images/screenshots/en/day-white-raw.png +0 -0
- data/doc/_site/images/screenshots/en/day-white.png +0 -0
- data/doc/_site/images/screenshots/en/debian-raw.png +0 -0
- data/doc/_site/images/screenshots/en/debian.png +0 -0
- data/doc/_site/images/screenshots/en/green-circle-raw.png +0 -0
- data/doc/_site/images/screenshots/en/green-circle.png +0 -0
- data/doc/_site/images/screenshots/en/night-black-raw.png +0 -0
- data/doc/_site/images/screenshots/en/night-black.png +0 -0
- data/doc/_site/images/screenshots/en/rabbit-raw.png +0 -0
- data/doc/_site/images/screenshots/en/rabbit.png +0 -0
- data/doc/_site/images/screenshots/en/ranguba-raw.png +0 -0
- data/doc/_site/images/screenshots/en/ranguba.png +0 -0
- data/doc/_site/images/screenshots/en/red-frame-raw.png +0 -0
- data/doc/_site/images/screenshots/en/red-frame.png +0 -0
- data/doc/_site/images/screenshots/en/ruby-gnome2-raw.png +0 -0
- data/doc/_site/images/screenshots/en/ruby-gnome2.png +0 -0
- data/doc/_site/images/screenshots/ja/blue-circle-raw.png +0 -0
- data/doc/_site/images/screenshots/ja/blue-circle.png +0 -0
- data/doc/_site/images/screenshots/ja/clear-blue-raw.png +0 -0
- data/doc/_site/images/screenshots/ja/clear-blue.png +0 -0
- data/doc/_site/images/screenshots/ja/cozmixng-raw.png +0 -0
- data/doc/_site/images/screenshots/ja/cozmixng.png +0 -0
- data/doc/_site/images/screenshots/ja/dark-gradation-raw.png +0 -0
- data/doc/_site/images/screenshots/ja/dark-gradation.png +0 -0
- data/doc/_site/images/screenshots/ja/day-white-raw.png +0 -0
- data/doc/_site/images/screenshots/ja/day-white.png +0 -0
- data/doc/_site/images/screenshots/ja/debian-raw.png +0 -0
- data/doc/_site/images/screenshots/ja/debian.png +0 -0
- data/doc/_site/images/screenshots/ja/green-circle-raw.png +0 -0
- data/doc/_site/images/screenshots/ja/green-circle.png +0 -0
- data/doc/_site/images/screenshots/ja/night-black-raw.png +0 -0
- data/doc/_site/images/screenshots/ja/night-black.png +0 -0
- data/doc/_site/images/screenshots/ja/rabbit-raw.png +0 -0
- data/doc/_site/images/screenshots/ja/rabbit.png +0 -0
- data/doc/_site/images/screenshots/ja/ranguba-raw.png +0 -0
- data/doc/_site/images/screenshots/ja/ranguba.png +0 -0
- data/doc/_site/images/screenshots/ja/red-frame-raw.png +0 -0
- data/doc/_site/images/screenshots/ja/red-frame.png +0 -0
- data/doc/_site/images/screenshots/ja/ruby-gnome2-raw.png +0 -0
- data/doc/_site/images/screenshots/ja/ruby-gnome2.png +0 -0
- data/doc/_site/images/us.png +0 -0
- data/doc/_site/index.html.en +122 -0
- data/doc/_site/index.html.ja +122 -0
- data/doc/_site/ja/about.html +120 -0
- data/doc/_site/ja/development.html +141 -0
- data/doc/_site/ja/faq.html +232 -0
- data/doc/_site/ja/hiki.html +416 -0
- data/doc/_site/ja/how-to-make/hiki.html +113 -0
- data/doc/_site/ja/how-to-make/index.html +135 -0
- data/doc/_site/ja/how-to-make/pdf.html +112 -0
- data/doc/_site/ja/how-to-make/rd.html +161 -0
- data/doc/_site/ja/how-to-make/theme.html +254 -0
- data/doc/_site/ja/index.html +351 -0
- data/doc/_site/ja/install/homebrew.html +279 -0
- data/doc/_site/ja/install/index.html +146 -0
- data/doc/_site/ja/install/macports.html +177 -0
- data/doc/_site/ja/install/windows.html +200 -0
- data/doc/_site/ja/news.html +926 -0
- data/doc/_site/ja/rd.html +565 -0
- data/doc/_site/ja/sample/hiki/rabbit.html +390 -0
- data/doc/_site/ja/sample/index.html +117 -0
- data/doc/_site/ja/sample/rd/rabbit.html +580 -0
- data/doc/_site/ja/slides.html +142 -0
- data/doc/_site/ja/usage.html +458 -0
- data/doc/_site/ja/users.html +331 -0
- data/doc/_site/javascripts/jquery-ui.js +11544 -0
- data/doc/_site/javascripts/jquery.js +7179 -0
- data/doc/_site/screenshot.en.rab +10 -0
- data/doc/_site/screenshot.ja.rab +10 -0
- data/doc/css/jquery-ui/themes/ui-lightness.css +573 -0
- data/doc/css/rabbit.css +247 -0
- data/doc/en/development.rd +50 -0
- data/doc/en/faq.rd +18 -0
- data/doc/en/hiki.hiki +325 -0
- data/doc/en/how-to-make/hiki.hiki +9 -0
- data/doc/en/how-to-make/index.rd +25 -0
- data/doc/en/how-to-make/pdf.rd +7 -0
- data/doc/en/how-to-make/rd.rd +66 -0
- data/doc/en/how-to-make/theme.rd +135 -0
- data/doc/en/index.rd +276 -0
- data/doc/en/install/homebrew.rd +196 -0
- data/doc/en/install/index.rd +63 -0
- data/doc/en/install/macports.rd +77 -0
- data/doc/en/install/windows.rd +103 -0
- data/{NEWS.en → doc/en/news.rd} +78 -3
- data/doc/en/rd.rd +481 -0
- data/doc/en/sample/hiki/rabbit.hiki +389 -0
- data/doc/en/sample/index.rd +11 -0
- data/doc/en/sample/rd/rabbit.rd +467 -0
- data/doc/en/slides.rd +7 -0
- data/doc/en/usage.rd +365 -0
- data/doc/en/users.rd +29 -0
- data/doc/favicon.ico +0 -0
- data/doc/favicon.png +0 -0
- data/doc/images/background-sample.svg +290 -0
- data/doc/images/background.png +0 -0
- data/doc/images/background.svg +131 -0
- data/doc/images/hare-and-tortoise.png +0 -0
- data/doc/images/hare-and-tortoise.svg +541 -0
- data/doc/images/jp.png +0 -0
- data/doc/images/lavie-icon.png +0 -0
- data/doc/images/lavie.png +0 -0
- data/doc/images/screenshots/en/blue-circle-raw.png +0 -0
- data/doc/images/screenshots/en/blue-circle.png +0 -0
- data/doc/images/screenshots/en/clear-blue-raw.png +0 -0
- data/doc/images/screenshots/en/clear-blue.png +0 -0
- data/doc/images/screenshots/en/cozmixng-raw.png +0 -0
- data/doc/images/screenshots/en/cozmixng.png +0 -0
- data/doc/images/screenshots/en/dark-gradation-raw.png +0 -0
- data/doc/images/screenshots/en/dark-gradation.png +0 -0
- data/doc/images/screenshots/en/day-white-raw.png +0 -0
- data/doc/images/screenshots/en/day-white.png +0 -0
- data/doc/images/screenshots/en/debian-raw.png +0 -0
- data/doc/images/screenshots/en/debian.png +0 -0
- data/doc/images/screenshots/en/green-circle-raw.png +0 -0
- data/doc/images/screenshots/en/green-circle.png +0 -0
- data/doc/images/screenshots/en/night-black-raw.png +0 -0
- data/doc/images/screenshots/en/night-black.png +0 -0
- data/doc/images/screenshots/en/rabbit-raw.png +0 -0
- data/doc/images/screenshots/en/rabbit.png +0 -0
- data/doc/images/screenshots/en/ranguba-raw.png +0 -0
- data/doc/images/screenshots/en/ranguba.png +0 -0
- data/doc/images/screenshots/en/red-frame-raw.png +0 -0
- data/doc/images/screenshots/en/red-frame.png +0 -0
- data/doc/images/screenshots/en/ruby-gnome2-raw.png +0 -0
- data/doc/images/screenshots/en/ruby-gnome2.png +0 -0
- data/doc/images/screenshots/ja/blue-circle-raw.png +0 -0
- data/doc/images/screenshots/ja/blue-circle.png +0 -0
- data/doc/images/screenshots/ja/clear-blue-raw.png +0 -0
- data/doc/images/screenshots/ja/clear-blue.png +0 -0
- data/doc/images/screenshots/ja/cozmixng-raw.png +0 -0
- data/doc/images/screenshots/ja/cozmixng.png +0 -0
- data/doc/images/screenshots/ja/dark-gradation-raw.png +0 -0
- data/doc/images/screenshots/ja/dark-gradation.png +0 -0
- data/doc/images/screenshots/ja/day-white-raw.png +0 -0
- data/doc/images/screenshots/ja/day-white.png +0 -0
- data/doc/images/screenshots/ja/debian-raw.png +0 -0
- data/doc/images/screenshots/ja/debian.png +0 -0
- data/doc/images/screenshots/ja/green-circle-raw.png +0 -0
- data/doc/images/screenshots/ja/green-circle.png +0 -0
- data/doc/images/screenshots/ja/night-black-raw.png +0 -0
- data/doc/images/screenshots/ja/night-black.png +0 -0
- data/doc/images/screenshots/ja/rabbit-raw.png +0 -0
- data/doc/images/screenshots/ja/rabbit.png +0 -0
- data/doc/images/screenshots/ja/ranguba-raw.png +0 -0
- data/doc/images/screenshots/ja/ranguba.png +0 -0
- data/doc/images/screenshots/ja/red-frame-raw.png +0 -0
- data/doc/images/screenshots/ja/red-frame.png +0 -0
- data/doc/images/screenshots/ja/ruby-gnome2-raw.png +0 -0
- data/doc/images/screenshots/ja/ruby-gnome2.png +0 -0
- data/doc/images/us.png +0 -0
- data/doc/index.html.en +48 -0
- data/doc/index.html.ja +48 -0
- data/doc/ja/about.rd +21 -0
- data/doc/ja/development.rd +49 -0
- data/doc/ja/faq.rd +177 -0
- data/doc/ja/hiki.hiki +319 -0
- data/doc/ja/how-to-make/hiki.hiki +9 -0
- data/doc/ja/how-to-make/index.rd +25 -0
- data/doc/ja/how-to-make/pdf.rd +8 -0
- data/doc/ja/how-to-make/rd.rd +83 -0
- data/doc/ja/how-to-make/theme.rd +142 -0
- data/doc/ja/index.rd +283 -0
- data/doc/ja/install/homebrew.rd +196 -0
- data/doc/ja/install/index.rd +65 -0
- data/doc/ja/install/macports.rd +105 -0
- data/doc/ja/install/windows.rd +100 -0
- data/{NEWS.ja → doc/ja/news.rd} +84 -3
- data/doc/ja/rd.rd +489 -0
- data/doc/ja/sample/hiki/rabbit.hiki +405 -0
- data/doc/ja/sample/index.rd +11 -0
- data/doc/ja/sample/rd/rabbit.rd +475 -0
- data/doc/ja/slides.rd +29 -0
- data/doc/ja/usage.rd +380 -0
- data/doc/ja/users.rd +173 -0
- data/doc/javascripts/jquery-ui.js +11544 -0
- data/doc/javascripts/jquery.js +7179 -0
- data/doc/screenshot.en.rab +10 -0
- data/doc/screenshot.ja.rab +10 -0
- data/lib/rabbit/action/toggle.rb +0 -14
- data/lib/rabbit/canvas.rb +42 -46
- data/lib/rabbit/console.rb +9 -1
- data/lib/rabbit/front.rb +1 -1
- data/lib/rabbit/keys.rb +0 -8
- data/lib/rabbit/logger/gui.rb +3 -5
- data/lib/rabbit/parser/pdf.rb +1 -1
- data/lib/rabbit/parser/wiki/output.rb +17 -1
- data/lib/rabbit/rabbit.rb +12 -1
- data/lib/rabbit/renderer/base.rb +0 -25
- data/lib/rabbit/renderer/display/clutter-embed.rb +5 -69
- data/lib/rabbit/renderer/display/drawing-area.rb +0 -2
- data/lib/rabbit/renderer/display/key-handler.rb +0 -8
- data/lib/rabbit/source/base.rb +4 -0
- data/lib/rabbit/theme/background-image-toolkit/background-image-toolkit.rb +4 -8
- data/lib/rabbit/theme/clutter-comment/clutter-comment.rb +76 -0
- data/lib/rabbit/theme/clutter-comment/property.rb +3 -0
- data/lib/rabbit/theme/color-circle/color-circle.rb +3 -0
- data/lib/rabbit/theme/dark-gradation/dark-gradation.rb +187 -0
- data/lib/rabbit/theme/dark-gradation/property.rb +3 -0
- data/lib/rabbit/theme/debian/debian.rb +125 -145
- data/lib/rabbit/theme/default/default.rb +6 -0
- data/lib/rabbit/theme/footer-comment/footer-comment.rb +46 -0
- data/lib/rabbit/theme/footer-comment/property.rb +3 -0
- data/lib/rabbit/theme/image/image.rb +3 -2
- data/lib/rabbit/theme/per-slide-background-color/property.rb +1 -1
- data/lib/rabbit/theme/slide-number/slide-number.rb +9 -3
- data/lib/rabbit/theme/stream-comment/property.rb +3 -0
- data/lib/rabbit/theme/stream-comment/stream-comment.rb +66 -0
- data/lib/rabbit/theme/tag/property.rb +1 -1
- data/lib/rabbit/theme/title-background-image/title-background-image.rb +6 -5
- data/lib/rabbit/theme/twitter-comment/property.rb +4 -0
- data/lib/rabbit/theme/twitter-comment/twitter-comment.rb +15 -0
- data/lib/rabbit/twitter.rb +216 -0
- data/lib/rabbit/utils.rb +26 -0
- data/misc/emacs/README.ja +1 -1
- data/misc/emacs/rabbit-mode.el +1 -1
- data/po/en/rabbit.po +429 -267
- data/po/fr/rabbit.po +440 -268
- data/po/ja/rabbit.po +455 -270
- data/po/rabbit.pot +2567 -0
- data/sample/rabbit-en.hiki +384 -0
- data/sample/rabbit-en.rd +1 -1
- data/sample/rabbit-implementation.rd +1 -1
- data/sample/rabbit.hiki +85 -13
- data/sample/rabbit.rd +1 -1
- data/sample/theme-bench-en.hiki +100 -0
- data/sample/theme-bench.hiki +101 -0
- metadata +413 -118
- data/README.en +0 -850
- data/README.ja +0 -885
- data/bin/rabbit.bat +0 -8
- data/data/locale/en/LC_MESSAGES/rabbit.mo +0 -0
- data/data/locale/fr/LC_MESSAGES/rabbit.mo +0 -0
- data/data/locale/ja/LC_MESSAGES/rabbit.mo +0 -0
- data/lib/rabbit/comment-canvas.rb +0 -21
- data/lib/rabbit/comment/log.rb +0 -74
- data/lib/rabbit/renderer/display/comment-drawing-area.rb +0 -175
- data/lib/rabbit/renderer/display/comment.rb +0 -194
- data/lib/rabbit/theme/comment/comment.rb +0 -5
- data/lib/rabbit/theme/comment/property.rb +0 -3
- data/lib/rt/rt2html-lib.rb +0 -157
- data/lib/rt/rtparser.rb +0 -226
- data/lib/rt/rtvisitor.rb +0 -68
- data/lib/rwiki/soap/common.rb +0 -5
- data/lib/rwiki/soap/driver.rb +0 -43
- data/lib/rwiki/soap/servant.rb +0 -78
- data/sample/asahina/alice.png +0 -0
- data/sample/asahina/yukiusa.png +0 -0
- data/sample/momo/banner/bn1.png +0 -0
- data/sample/momo/banner/bn2.png +0 -0
- data/sample/momo/banner/bn_psd.psd +0 -0
- data/sample/momo/banner/bn_psd2.psd +0 -0
- data/sample/momo/tailavi/tailavi-ruby.png +0 -0
- data/sample/momo/tailavi/tailavi-ruby.psd +0 -0
- data/sample/momo/tailavi/tailavi-taiyaki.png +0 -0
- data/sample/momo/tailavi/tailavi-taiyaki.psd +0 -0
- data/sample/momo/tailavi/tailavi-yokubari.png +0 -0
- data/sample/momo/tailavi/tailavi-yokubari.psd +0 -0
- data/sample/momo/tailavi/taiyaki.png +0 -0
- data/sample/momo/tailavi/taiyaki.psd +0 -0
- data/sample/momo/usako/blue_dot.png +0 -0
- data/sample/momo/usako/green_dot.png +0 -0
- data/sample/momo/usako/rabbit.png +0 -0
- data/sample/momo/usako/rabbit_mimi.png +0 -0
- data/sample/momo/usako/rabbit_mimi2.png +0 -0
- data/sample/momo/usako/red_dot.png +0 -0
- data/sample/momo/usako/ruby.png +0 -0
- data/sample/momo/usako/ruby_new.png +0 -0
- data/sample/momo/usako/usa1.png +0 -0
- data/sample/momo/usako/usa2.png +0 -0
- data/sample/momo/usako/usa3.png +0 -0
- data/sample/momo/usako/usako_psd.psd +0 -0
- data/sample/momo/usako/usako_psd_200.png +0 -0
- data/sample/rabbit-balloon.eps +0 -233
- data/sample/sode/kame-color.riff +0 -0
- data/sample/sode/kame.riff +0 -0
- data/sample/usatti/kame-taro.png +0 -0
- data/sample/usatti/rabbit-pink-logo.png +0 -0
- data/sample/usatti/rabbit-pink-logo2.png +0 -0
- data/sample/usatti/ruby-pink-circle-logo.png +0 -0
- data/sample/usatti/ruby-pink-circle.png +0 -0
- data/sample/usatti/ruby-pink-polygon-logo.png +0 -0
- data/sample/usatti/ruby-pink-polygon.png +0 -0
- data/sample/usatti/tanu-kitaro.png +0 -0
- data/sample/usatti/usa-taro.png +0 -0
- 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.
|
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.
|
18
|
-
options.
|
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 '
|
5
|
-
|
6
|
-
require '
|
7
|
-
require '
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
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
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
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
|
-
|
33
|
-
|
34
|
-
|
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
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
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
|
-
|
44
|
-
text.gsub(/\##{Regexp.escape(@options.keyword)}/, "")
|
45
|
-
end
|
36
|
+
opts.separator "Deprecated"
|
46
37
|
|
47
|
-
|
48
|
-
|
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
|
-
|
53
|
-
options.
|
54
|
-
options.
|
55
|
-
|
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
|
-
|
72
|
-
|
73
|
-
|
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
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
93
|
-
|
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
|
-
|
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.
|
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.
|
25
|
-
options.
|
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
|
-
|
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
|
Binary file
|
data/doc/_config.yml
ADDED
@@ -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">© 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>
|