tdiary 3.2.2.20130507
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.coveralls.yml +1 -0
- data/.gitignore +16 -0
- data/.travis.yml +29 -0
- data/Capfile +2 -0
- data/ChangeLog +3173 -0
- data/Gemfile +58 -0
- data/Gemfile.lock +201 -0
- data/LICENSE +340 -0
- data/Procfile +1 -0
- data/README.md +33 -0
- data/Rakefile +26 -0
- data/bin/tdiary +7 -0
- data/config.ru +61 -0
- data/data/.htaccess +2 -0
- data/doc/HOWTO-authenticate-in-rack.md +89 -0
- data/doc/HOWTO-make-io.md +305 -0
- data/doc/HOWTO-make-plugin.md +279 -0
- data/doc/HOWTO-make-theme.md +67 -0
- data/doc/HOWTO-testing-tDiary.md +44 -0
- data/doc/HOWTO-use-plugin.md +148 -0
- data/doc/HOWTO-write-tDiary.en.md +131 -0
- data/doc/HOWTO-write-tDiary.md +136 -0
- data/doc/INSTALL-paas.md +202 -0
- data/doc/INSTALL.md +160 -0
- data/doc/README.en.md +174 -0
- data/doc/README.md +56 -0
- data/doc/UPGRADE.md +164 -0
- data/doc/doc.css +115 -0
- data/dot.htaccess +27 -0
- data/index.fcgi +45 -0
- data/index.rb +57 -0
- data/js/00default.js +60 -0
- data/js/01conf.js +62 -0
- data/js/02edit.coffee +5 -0
- data/js/02edit.js +15 -0
- data/js/amazon.js +43 -0
- data/js/calendar3.js +130 -0
- data/js/caretposition.js +170 -0
- data/js/category.js +29 -0
- data/js/category_autocomplete.js +96 -0
- data/js/comment_ajax.js +27 -0
- data/js/draft.js +149 -0
- data/js/highlight.js +36 -0
- data/js/image.js +181 -0
- data/misc/convert2.rb +123 -0
- data/misc/filter/antispamservice.rb +101 -0
- data/misc/filter/limitdays.rb +40 -0
- data/misc/filter/linkcheck.rb +81 -0
- data/misc/filter/plugin/antispamservice.rb +82 -0
- data/misc/filter/plugin/en/antispamservice.rb +21 -0
- data/misc/filter/plugin/ja/antispamservice.rb +20 -0
- data/misc/lib/README +4 -0
- data/misc/lib/compatible.rb +1 -0
- data/misc/lib/fcgi_patch.rb +90 -0
- data/misc/migrate.rb +157 -0
- data/misc/paas/cloudfoundry/Gemfile +26 -0
- data/misc/paas/cloudfoundry/Gemfile.lock +85 -0
- data/misc/paas/heroku/Gemfile +22 -0
- data/misc/paas/heroku/Gemfile.lock +85 -0
- data/misc/paas/sqale/Gemfile +19 -0
- data/misc/paas/sqale/Gemfile.lock +85 -0
- data/misc/paas/sqale/Procfile +1 -0
- data/misc/paas/sqale/dot.env +1 -0
- data/misc/plugin/ChangeLog.DO_NOT_UPDATE +2333 -0
- data/misc/plugin/a.rb +211 -0
- data/misc/plugin/amazon.rb +403 -0
- data/misc/plugin/amazon/README.en +17 -0
- data/misc/plugin/amazon/README.ja +29 -0
- data/misc/plugin/amazon/amazonimg.rb +113 -0
- data/misc/plugin/amazon/large.png +0 -0
- data/misc/plugin/amazon/medium.png +0 -0
- data/misc/plugin/amazon/small.png +0 -0
- data/misc/plugin/append-css.rb +51 -0
- data/misc/plugin/bq.rb +48 -0
- data/misc/plugin/calendar2.rb +184 -0
- data/misc/plugin/calendar3.rb +256 -0
- data/misc/plugin/category.rb +779 -0
- data/misc/plugin/category_autocomplete.rb +33 -0
- data/misc/plugin/comment_ajax.rb +11 -0
- data/misc/plugin/comment_mail-qmail.rb +57 -0
- data/misc/plugin/comment_mail-sendmail.rb +56 -0
- data/misc/plugin/comment_mail-smtp.rb +59 -0
- data/misc/plugin/comment_rank.rb +36 -0
- data/misc/plugin/counter.rb +631 -0
- data/misc/plugin/daily_theme.rb +55 -0
- data/misc/plugin/disp_referrer.rb +1486 -0
- data/misc/plugin/doctype-html401tr.rb +16 -0
- data/misc/plugin/draft.rb +20 -0
- data/misc/plugin/dropdown_calendar.rb +32 -0
- data/misc/plugin/edit_today.rb +50 -0
- data/misc/plugin/en/a.rb +10 -0
- data/misc/plugin/en/amazon.rb +71 -0
- data/misc/plugin/en/append-css.rb +17 -0
- data/misc/plugin/en/bq.rb +12 -0
- data/misc/plugin/en/calendar2.rb +12 -0
- data/misc/plugin/en/category.rb +204 -0
- data/misc/plugin/en/counter.rb +48 -0
- data/misc/plugin/en/daily_theme.rb +14 -0
- data/misc/plugin/en/disp_referrer.rb +387 -0
- data/misc/plugin/en/dropdown_calendar.rb +14 -0
- data/misc/plugin/en/edit_today.rb +22 -0
- data/misc/plugin/en/hide-mail-field.rb +19 -0
- data/misc/plugin/en/highlight.rb +29 -0
- data/misc/plugin/en/image.rb +54 -0
- data/misc/plugin/en/kw.rb +22 -0
- data/misc/plugin/en/makerss.rb +47 -0
- data/misc/plugin/en/pb-show.rb +21 -0
- data/misc/plugin/en/ping.rb +16 -0
- data/misc/plugin/en/recent_comment.rb +44 -0
- data/misc/plugin/en/recent_comment3.rb +56 -0
- data/misc/plugin/en/recent_rss.rb +33 -0
- data/misc/plugin/en/referer_scheme.rb +48 -0
- data/misc/plugin/en/search_control.rb +74 -0
- data/misc/plugin/en/search_form.rb +22 -0
- data/misc/plugin/en/speed_comment.rb +19 -0
- data/misc/plugin/en/tb-show.rb +37 -0
- data/misc/plugin/en/todo.rb +43 -0
- data/misc/plugin/en/weather.rb +185 -0
- data/misc/plugin/en/xmlrpc.rb +14 -0
- data/misc/plugin/footnote.rb +92 -0
- data/misc/plugin/gradation.rb +39 -0
- data/misc/plugin/gradient.rb +36 -0
- data/misc/plugin/hide-mail-field.rb +50 -0
- data/misc/plugin/highlight.rb +22 -0
- data/misc/plugin/html_anchor.rb +34 -0
- data/misc/plugin/image.rb +290 -0
- data/misc/plugin/ja/amazon.rb +89 -0
- data/misc/plugin/ja/bq.rb +13 -0
- data/misc/plugin/ja/calendar2.rb +12 -0
- data/misc/plugin/ja/category.rb +212 -0
- data/misc/plugin/ja/daily_theme.rb +15 -0
- data/misc/plugin/ja/disp_referrer.rb +644 -0
- data/misc/plugin/ja/edit_today.rb +23 -0
- data/misc/plugin/ja/hide-mail-field.rb +20 -0
- data/misc/plugin/ja/highlight.rb +30 -0
- data/misc/plugin/ja/makerss.rb +44 -0
- data/misc/plugin/ja/my-sequel.rb +52 -0
- data/misc/plugin/ja/pb-show.rb +23 -0
- data/misc/plugin/ja/ping.rb +17 -0
- data/misc/plugin/ja/recent_comment.rb +45 -0
- data/misc/plugin/ja/recent_comment3.rb +57 -0
- data/misc/plugin/ja/recent_rss.rb +34 -0
- data/misc/plugin/ja/referer_scheme.rb +86 -0
- data/misc/plugin/ja/search_control.rb +75 -0
- data/misc/plugin/ja/search_form.rb +32 -0
- data/misc/plugin/ja/tb-show.rb +38 -0
- data/misc/plugin/ja/todo.rb +46 -0
- data/misc/plugin/ja/weather.rb +402 -0
- data/misc/plugin/ja/xmlrpc.rb +15 -0
- data/misc/plugin/kw.rb +150 -0
- data/misc/plugin/list.rb +40 -0
- data/misc/plugin/makelirs.rb +89 -0
- data/misc/plugin/makerss.rb +744 -0
- data/misc/plugin/my-ex.rb +68 -0
- data/misc/plugin/my-sequel.rb +539 -0
- data/misc/plugin/navi_user.rb +19 -0
- data/misc/plugin/number_anchor.rb +47 -0
- data/misc/plugin/pb-show.rb +165 -0
- data/misc/plugin/ping.rb +99 -0
- data/misc/plugin/pre_wrap.rb +19 -0
- data/misc/plugin/random_google.rb +165 -0
- data/misc/plugin/recent_comment.rb +82 -0
- data/misc/plugin/recent_comment3.rb +192 -0
- data/misc/plugin/recent_list.rb +91 -0
- data/misc/plugin/recent_namazu.rb +50 -0
- data/misc/plugin/recent_rss.rb +305 -0
- data/misc/plugin/referer-antibot.rb +53 -0
- data/misc/plugin/referer-utf8.rb +12 -0
- data/misc/plugin/referer_scheme.rb +87 -0
- data/misc/plugin/search_control.rb +227 -0
- data/misc/plugin/search_form.rb +53 -0
- data/misc/plugin/sn.rb +107 -0
- data/misc/plugin/speed_comment.rb +68 -0
- data/misc/plugin/squeeze.rb +272 -0
- data/misc/plugin/src.rb +30 -0
- data/misc/plugin/tb-show.rb +212 -0
- data/misc/plugin/title_list.rb +41 -0
- data/misc/plugin/title_tag.rb +80 -0
- data/misc/plugin/tlink.rb +163 -0
- data/misc/plugin/todo.rb +182 -0
- data/misc/plugin/weather.rb +505 -0
- data/misc/plugin/whatsnew.rb +100 -0
- data/misc/plugin/xmlrpc.rb +80 -0
- data/misc/plugin/xmlrpc/README +20 -0
- data/misc/plugin/xmlrpc/xmlrpc.rb +575 -0
- data/misc/style/emptdiary/README.rd +83 -0
- data/misc/style/emptdiary/README.rd.en +78 -0
- data/misc/style/emptdiary/emptdiary_style.rb +199 -0
- data/misc/style/etdiary/README.rd +83 -0
- data/misc/style/etdiary/etdiary_style.rb +446 -0
- data/misc/style/gfm/gfm_style.rb +194 -0
- data/misc/style/rd/README.rd +71 -0
- data/misc/style/rd/rd_style.rb +366 -0
- data/misc/style/wiki/README +116 -0
- data/misc/style/wiki/README.en +101 -0
- data/misc/style/wiki/wiki_parser.rb +273 -0
- data/misc/style/wiki/wiki_style.rb +478 -0
- data/misc/theme_convert/Readme.rd +21 -0
- data/misc/theme_convert/append.rcss +150 -0
- data/misc/theme_convert/theme_convert.rb +453 -0
- data/plugin/00default.rb +1015 -0
- data/plugin/05referer.rb +298 -0
- data/plugin/10spamfilter.rb +183 -0
- data/plugin/50sp.rb +146 -0
- data/plugin/60sf.rb +152 -0
- data/plugin/90migrate.rb +109 -0
- data/plugin/en/00default.rb +390 -0
- data/plugin/en/05referer.rb +49 -0
- data/plugin/en/10spamfilter.rb +81 -0
- data/plugin/en/50sp.rb +56 -0
- data/plugin/en/60sf.rb +60 -0
- data/plugin/ja/00default.rb +401 -0
- data/plugin/ja/05referer.rb +47 -0
- data/plugin/ja/10spamfilter.rb +79 -0
- data/plugin/ja/50sp.rb +66 -0
- data/plugin/ja/60sf.rb +73 -0
- data/public/.gitkeep +0 -0
- data/public/images/.gitkeep +0 -0
- data/public/javascripts/.gitkeep +0 -0
- data/public/stylesheets/.gitkeep +0 -0
- data/skel/category.rhtml +9 -0
- data/skel/conf.rhtml +23 -0
- data/skel/day.rhtml +33 -0
- data/skel/diary.rhtml +83 -0
- data/skel/footer.rhtml +8 -0
- data/skel/header.rhtml +10 -0
- data/skel/i.category.rhtml +6 -0
- data/skel/i.conf.rhtml +14 -0
- data/skel/i.day.rhtml +28 -0
- data/skel/i.diary.rhtml +17 -0
- data/skel/i.footer.rhtml +2 -0
- data/skel/i.header.rhtml +3 -0
- data/skel/i.latest.rhtml +24 -0
- data/skel/i.month.rhtml +39 -0
- data/skel/i.search.rhtml +5 -0
- data/skel/i.update.rhtml +40 -0
- data/skel/i.update.rhtml.en +40 -0
- data/skel/latest.rhtml +27 -0
- data/skel/mail.rtxt +18 -0
- data/skel/mail.rtxt.en +18 -0
- data/skel/month.rhtml +27 -0
- data/skel/plugin_error.rhtml +27 -0
- data/skel/preview.rhtml +85 -0
- data/skel/preview.rhtml.en +72 -0
- data/skel/referer.rhtml +24 -0
- data/skel/search.rhtml +14 -0
- data/skel/tdiary.rconf +76 -0
- data/skel/update.rhtml +103 -0
- data/skel/update.rhtml.en +83 -0
- data/spec/acceptance/append_comment_spec.rb +94 -0
- data/spec/acceptance/append_diary_spec.rb +98 -0
- data/spec/acceptance/bugfix/encoding_error_spec.rb +27 -0
- data/spec/acceptance/save_conf_comment_spec.rb +87 -0
- data/spec/acceptance/save_conf_default_spec.rb +169 -0
- data/spec/acceptance/save_conf_dnsbl_spec.rb +152 -0
- data/spec/acceptance/save_conf_filter_spec.rb +50 -0
- data/spec/acceptance/save_conf_plugin_spec.rb +69 -0
- data/spec/acceptance/save_conf_referer_spec.rb +60 -0
- data/spec/acceptance/save_conf_security_spec.rb +280 -0
- data/spec/acceptance/support/helpers.rb +49 -0
- data/spec/acceptance/support/paths.rb +7 -0
- data/spec/acceptance/update_diary_spec.rb +113 -0
- data/spec/acceptance/view_category_spec.rb +38 -0
- data/spec/acceptance/view_comment_spec.rb +67 -0
- data/spec/acceptance/view_diary_spec.rb +126 -0
- data/spec/acceptance/view_referer_spec.rb +31 -0
- data/spec/acceptance_helper.rb +101 -0
- data/spec/core/compatible_spec.rb +54 -0
- data/spec/core/core_ext_spec.rb +59 -0
- data/spec/core/plugin_spec.rb +389 -0
- data/spec/core/rack/assets/precompile_spec.rb +76 -0
- data/spec/core/rack/html_anchor_spec.rb +57 -0
- data/spec/core/rack/valid_request_path_spec.rb +67 -0
- data/spec/core/style/emptdiary_style_spec.rb +165 -0
- data/spec/core/style/etdiary_style_spec.rb +512 -0
- data/spec/core/style/gfm_style_spec.rb +334 -0
- data/spec/core/style/rd_style_spec.rb +202 -0
- data/spec/core/style/tdiary_style_spec.rb +240 -0
- data/spec/core/style/wiki_style_spec.rb +441 -0
- data/spec/fixtures/ascii8bit-pstore.db +0 -0
- data/spec/fixtures/invalid-sequence-volatile.tdr +9 -0
- data/spec/fixtures/just_installed.conf +1 -0
- data/spec/fixtures/plugin/ja/sample.rb +4 -0
- data/spec/fixtures/plugin/sample.rb +6 -0
- data/spec/fixtures/sample.rb +12 -0
- data/spec/fixtures/tdiary.conf.gem +212 -0
- data/spec/fixtures/tdiary.conf.rack +212 -0
- data/spec/fixtures/tdiary.conf.rdb +227 -0
- data/spec/fixtures/tdiary.conf.secure +204 -0
- data/spec/fixtures/tdiary.conf.webrick +212 -0
- data/spec/javascripts/00default_spec.js +35 -0
- data/spec/javascripts/fixtures/00default.html +1 -0
- data/spec/javascripts/support/jasmine.yml +76 -0
- data/spec/plugin/bq_spec.rb +24 -0
- data/spec/plugin/plugin_helper.rb +203 -0
- data/spec/spec_helper.rb +32 -0
- data/tdiary.conf.beginner +244 -0
- data/tdiary.conf.sample +345 -0
- data/tdiary.conf.sample-en +333 -0
- data/tdiary.gemspec +26 -0
- data/tdiary.rb +151 -0
- data/tdiary/admin.rb +236 -0
- data/tdiary/application.rb +57 -0
- data/tdiary/author_only_base.rb +171 -0
- data/tdiary/base.rb +220 -0
- data/tdiary/cli.rb +116 -0
- data/tdiary/comment.rb +40 -0
- data/tdiary/comment_manager.rb +94 -0
- data/tdiary/compatible.rb +72 -0
- data/tdiary/config.rb +270 -0
- data/tdiary/core_ext.rb +122 -0
- data/tdiary/deploy.rb +50 -0
- data/tdiary/dispatcher.rb +77 -0
- data/tdiary/dispatcher/index_main.rb +122 -0
- data/tdiary/dispatcher/update_main.rb +101 -0
- data/tdiary/environment.rb +15 -0
- data/tdiary/filter.rb +48 -0
- data/tdiary/filter/default.rb +54 -0
- data/tdiary/filter/spam.rb +304 -0
- data/tdiary/io/base.rb +70 -0
- data/tdiary/io/cache/file.rb +123 -0
- data/tdiary/io/cache/memcached.rb +88 -0
- data/tdiary/io/cache/redis.rb +100 -0
- data/tdiary/io/default.rb +297 -0
- data/tdiary/io/pstore.rb +252 -0
- data/tdiary/io/rdb.rb +213 -0
- data/tdiary/lang/en.rb +79 -0
- data/tdiary/lang/ja.rb +72 -0
- data/tdiary/plugin.rb +375 -0
- data/tdiary/rack/assets/precompile.rb +37 -0
- data/tdiary/rack/auth/basic.rb +38 -0
- data/tdiary/rack/auth/omniauth.rb +51 -0
- data/tdiary/rack/html_anchor.rb +31 -0
- data/tdiary/rack/valid_request_path.rb +36 -0
- data/tdiary/referer_manager.rb +80 -0
- data/tdiary/request.rb +217 -0
- data/tdiary/response.rb +29 -0
- data/tdiary/server.rb +85 -0
- data/tdiary/style.rb +194 -0
- data/tdiary/style/tdiary_style.rb +198 -0
- data/tdiary/style/wiki_style.rb +213 -0
- data/tdiary/tasks.rb +1 -0
- data/tdiary/tasks/assets.rake +31 -0
- data/tdiary/tasks/auth.rake +28 -0
- data/tdiary/tasks/db.rake +110 -0
- data/tdiary/tasks/doc.rake +31 -0
- data/tdiary/tasks/heroku.rake +37 -0
- data/tdiary/tasks/jasmine.rake +16 -0
- data/tdiary/tasks/rdoc.rake +24 -0
- data/tdiary/tasks/release.rake +122 -0
- data/tdiary/tasks/rspec.rake +51 -0
- data/tdiary/tasks/server.rake +33 -0
- data/tdiary/tasks/test.rake +17 -0
- data/tdiary/version.rb +3 -0
- data/tdiary/view.rb +468 -0
- data/tdiary/view_helper.rb +15 -0
- data/test/disp_referrer_test.rb +93 -0
- data/test/my-sequel_test.rb +238 -0
- data/test/test_helper.rb +7 -0
- data/test/test_plugin_helper.rb +64 -0
- data/test/test_plugin_helper_test.rb +28 -0
- data/test/weather_test.rb +33 -0
- data/theme/base.css +268 -0
- data/theme/conf.block.png +0 -0
- data/theme/conf.css +254 -0
- data/theme/default/README +11 -0
- data/theme/default/body.png +0 -0
- data/theme/default/default.css +743 -0
- data/theme/help.png +0 -0
- data/theme/loading.gif +0 -0
- data/theme/tdiary1/README +7 -0
- data/theme/tdiary1/tdiary1.css +394 -0
- data/theme/tdiary2/README +19 -0
- data/theme/tdiary2/tdiary2.css +624 -0
- data/update.fcgi +45 -0
- data/update.rb +57 -0
- data/vendor/hikidoc-0.0.6/COPYING +28 -0
- data/vendor/hikidoc-0.0.6/NEWS +30 -0
- data/vendor/hikidoc-0.0.6/NEWS.ja +30 -0
- data/vendor/hikidoc-0.0.6/README +86 -0
- data/vendor/hikidoc-0.0.6/README.ja +83 -0
- data/vendor/hikidoc-0.0.6/Rakefile +68 -0
- data/vendor/hikidoc-0.0.6/TextFormattingRules +320 -0
- data/vendor/hikidoc-0.0.6/TextFormattingRules.ja +318 -0
- data/vendor/hikidoc-0.0.6/bin/hikidoc +66 -0
- data/vendor/hikidoc-0.0.6/lib/hikidoc.rb +914 -0
- data/vendor/hikidoc-0.0.6/setup.rb +1360 -0
- data/vendor/hikidoc-0.0.6/test/run-test.rb +13 -0
- data/vendor/hikidoc-0.0.6/test/test_hikidoc.rb +506 -0
- data/vendor/imagesize-0.1.1/Manifest.txt +19 -0
- data/vendor/imagesize-0.1.1/README.txt +49 -0
- data/vendor/imagesize-0.1.1/lib/image_size.rb +305 -0
- data/vendor/imagesize-0.1.1/lib/image_size/version.rb +9 -0
- data/vendor/imagesize-0.1.1/setup.rb +1585 -0
- data/vendor/imagesize-0.1.1/test/2-4-7.png +0 -0
- data/vendor/imagesize-0.1.1/test/4_1_2.gif +0 -0
- data/vendor/imagesize-0.1.1/test/bmp.bmp +0 -0
- data/vendor/imagesize-0.1.1/test/cursor.xbm +6 -0
- data/vendor/imagesize-0.1.1/test/detect.swf +0 -0
- data/vendor/imagesize-0.1.1/test/pbm.pbm +0 -0
- data/vendor/imagesize-0.1.1/test/pcx.pcx +0 -0
- data/vendor/imagesize-0.1.1/test/pgm.pgm +5 -0
- data/vendor/imagesize-0.1.1/test/test.xpm +38 -0
- data/vendor/imagesize-0.1.1/test/test_helper.rb +2 -0
- data/vendor/imagesize-0.1.1/test/test_image_size.rb +71 -0
- data/vendor/imagesize-0.1.1/test/tiff.tiff +0 -0
- data/vendor/imagesize-0.1.1/test/tokyo_tower.jpg +0 -0
- data/vendor/imagesize-0.1.1/test/tower_e.gif.psd +0 -0
- data/vendor/jasmine-jquery-1.4.2/jasmine-jquery.js +548 -0
- data/vendor/jquery-1.8/jquery.js +9227 -0
- data/vendor/rdtool-0.6.38/COPYING.txt +339 -0
- data/vendor/rdtool-0.6.38/Gemfile +3 -0
- data/vendor/rdtool-0.6.38/HISTORY +318 -0
- data/vendor/rdtool-0.6.38/LGPL-2.1 +502 -0
- data/vendor/rdtool-0.6.38/LICENSE.txt +58 -0
- data/vendor/rdtool-0.6.38/README.html +66 -0
- data/vendor/rdtool-0.6.38/README.ja.html +73 -0
- data/vendor/rdtool-0.6.38/README.rd +76 -0
- data/vendor/rdtool-0.6.38/README.rd.ja +85 -0
- data/vendor/rdtool-0.6.38/Rakefile +152 -0
- data/vendor/rdtool-0.6.38/TODO +22 -0
- data/vendor/rdtool-0.6.38/bin/rd2 +283 -0
- data/vendor/rdtool-0.6.38/bin/rdswap.rb +207 -0
- data/vendor/rdtool-0.6.38/doc/rd-draft.html +456 -0
- data/vendor/rdtool-0.6.38/doc/rd-draft.ja.html +466 -0
- data/vendor/rdtool-0.6.38/doc/rd-draft.rd +479 -0
- data/vendor/rdtool-0.6.38/doc/rd-draft.rd.ja +487 -0
- data/vendor/rdtool-0.6.38/lib/rd/block-element.rb +114 -0
- data/vendor/rdtool-0.6.38/lib/rd/complex-list-item.rb +65 -0
- data/vendor/rdtool-0.6.38/lib/rd/desclist.rb +55 -0
- data/vendor/rdtool-0.6.38/lib/rd/document-struct.rb +46 -0
- data/vendor/rdtool-0.6.38/lib/rd/dot.rd2rc +18 -0
- data/vendor/rdtool-0.6.38/lib/rd/element.rb +160 -0
- data/vendor/rdtool-0.6.38/lib/rd/filter.rb +255 -0
- data/vendor/rdtool-0.6.38/lib/rd/head-filter.rb +14 -0
- data/vendor/rdtool-0.6.38/lib/rd/inline-element.rb +233 -0
- data/vendor/rdtool-0.6.38/lib/rd/labeled-element.rb +14 -0
- data/vendor/rdtool-0.6.38/lib/rd/list.rb +57 -0
- data/vendor/rdtool-0.6.38/lib/rd/loose-struct.rb +11 -0
- data/vendor/rdtool-0.6.38/lib/rd/methodlist.rb +57 -0
- data/vendor/rdtool-0.6.38/lib/rd/output-format-visitor.rb +30 -0
- data/vendor/rdtool-0.6.38/lib/rd/package.rb +4 -0
- data/vendor/rdtool-0.6.38/lib/rd/parser-util.rb +14 -0
- data/vendor/rdtool-0.6.38/lib/rd/post-install +1 -0
- data/vendor/rdtool-0.6.38/lib/rd/pre-setup.rb +18 -0
- data/vendor/rdtool-0.6.38/lib/rd/rbl-file.rb +69 -0
- data/vendor/rdtool-0.6.38/lib/rd/rbl-suite.rb +37 -0
- data/vendor/rdtool-0.6.38/lib/rd/rd-struct.rb +86 -0
- data/vendor/rdtool-0.6.38/lib/rd/rd2html-ext-lib.rb +266 -0
- data/vendor/rdtool-0.6.38/lib/rd/rd2html-ext-opt.rb +34 -0
- data/vendor/rdtool-0.6.38/lib/rd/rd2html-lib.rb +490 -0
- data/vendor/rdtool-0.6.38/lib/rd/rd2html-opt.rb +67 -0
- data/vendor/rdtool-0.6.38/lib/rd/rd2man-lib.rb +251 -0
- data/vendor/rdtool-0.6.38/lib/rd/rd2rdo-lib.rb +19 -0
- data/vendor/rdtool-0.6.38/lib/rd/rd2rmi-lib.rb +32 -0
- data/vendor/rdtool-0.6.38/lib/rd/rdblockparser.ry +518 -0
- data/vendor/rdtool-0.6.38/lib/rd/rdblockparser.tab.rb +1061 -0
- data/vendor/rdtool-0.6.38/lib/rd/rdfmt.rb +15 -0
- data/vendor/rdtool-0.6.38/lib/rd/rdinlineparser.ry +503 -0
- data/vendor/rdtool-0.6.38/lib/rd/rdinlineparser.tab.rb +1243 -0
- data/vendor/rdtool-0.6.38/lib/rd/rdvisitor.rb +214 -0
- data/vendor/rdtool-0.6.38/lib/rd/reference-resolver.rb +114 -0
- data/vendor/rdtool-0.6.38/lib/rd/search-file.rb +14 -0
- data/vendor/rdtool-0.6.38/lib/rd/tree.rb +103 -0
- data/vendor/rdtool-0.6.38/lib/rd/version.rb +41 -0
- data/vendor/rdtool-0.6.38/lib/rd/visitor.rb +86 -0
- data/vendor/rdtool-0.6.38/rdtool.gemspec +125 -0
- data/vendor/rdtool-0.6.38/setup.rb +1596 -0
- data/vendor/rdtool-0.6.38/test/data/includee1.html +1 -0
- data/vendor/rdtool-0.6.38/test/data/includee2.html +1 -0
- data/vendor/rdtool-0.6.38/test/data/includee3.nothtml +1 -0
- data/vendor/rdtool-0.6.38/test/data/includee4.xhtml +0 -0
- data/vendor/rdtool-0.6.38/test/data/label.rbl +2 -0
- data/vendor/rdtool-0.6.38/test/data/label2.rbl +2 -0
- data/vendor/rdtool-0.6.38/test/data/sub/includee2.html +1 -0
- data/vendor/rdtool-0.6.38/test/data/sub/includee4.html +0 -0
- data/vendor/rdtool-0.6.38/test/dummy-observer.rb +6 -0
- data/vendor/rdtool-0.6.38/test/dummy.rb +33 -0
- data/vendor/rdtool-0.6.38/test/temp-dir.rb +19 -0
- data/vendor/rdtool-0.6.38/test/test-block-parser.rb +46 -0
- data/vendor/rdtool-0.6.38/test/test-desclist-item.rb +219 -0
- data/vendor/rdtool-0.6.38/test/test-document-element.rb +46 -0
- data/vendor/rdtool-0.6.38/test/test-document-struct.rb +66 -0
- data/vendor/rdtool-0.6.38/test/test-element.rb +46 -0
- data/vendor/rdtool-0.6.38/test/test-headline.rb +80 -0
- data/vendor/rdtool-0.6.38/test/test-inline-parser.rb +46 -0
- data/vendor/rdtool-0.6.38/test/test-list-item.rb +54 -0
- data/vendor/rdtool-0.6.38/test/test-list.rb +53 -0
- data/vendor/rdtool-0.6.38/test/test-methodlist-item.rb +73 -0
- data/vendor/rdtool-0.6.38/test/test-nonterminal-element.rb +170 -0
- data/vendor/rdtool-0.6.38/test/test-nonterminal-inline.rb +33 -0
- data/vendor/rdtool-0.6.38/test/test-output-format-visitor.rb +48 -0
- data/vendor/rdtool-0.6.38/test/test-parser-util.rb +41 -0
- data/vendor/rdtool-0.6.38/test/test-rbl-file.rb +156 -0
- data/vendor/rdtool-0.6.38/test/test-rbl-suite.rb +43 -0
- data/vendor/rdtool-0.6.38/test/test-rd2html-lib.rb +496 -0
- data/vendor/rdtool-0.6.38/test/test-rdtree.rb +17 -0
- data/vendor/rdtool-0.6.38/test/test-rdvisitor.rb +29 -0
- data/vendor/rdtool-0.6.38/test/test-reference-resolver.rb +202 -0
- data/vendor/rdtool-0.6.38/test/test-reference.rb +132 -0
- data/vendor/rdtool-0.6.38/test/test-search-file.rb +22 -0
- data/vendor/rdtool-0.6.38/test/test-terminal-inline.rb +41 -0
- data/vendor/rdtool-0.6.38/test/test-textblock.rb +44 -0
- data/vendor/rdtool-0.6.38/test/test-tree.rb +82 -0
- data/vendor/rdtool-0.6.38/test/test-version.rb +57 -0
- data/vendor/rdtool-0.6.38/test/test-visitor.rb +230 -0
- data/vendor/rdtool-0.6.38/utils/rd-mode.el +464 -0
- metadata +666 -0
@@ -0,0 +1,89 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
#
|
3
|
+
# Japanese resource of amazon plugin
|
4
|
+
#
|
5
|
+
# Copyright (C) 2002 HAL99 <hal99@mtj.biglobe.ne.jp>
|
6
|
+
# You can redistribute it and/or modify it under GPL2.
|
7
|
+
#
|
8
|
+
|
9
|
+
#
|
10
|
+
# isbn_image_left: 指定したISBNの書影をclass="left"で表示
|
11
|
+
# パラメタ:
|
12
|
+
# asin: ASINまたはISBN(必須)
|
13
|
+
# comment: コメント(省略可)
|
14
|
+
#
|
15
|
+
# isbn_image_right: 指定したISBNの書影をclass="right"で表示
|
16
|
+
# パラメタ:
|
17
|
+
# asin: ASINまたはISBN(必須)
|
18
|
+
# comment: コメント(省略可)
|
19
|
+
#
|
20
|
+
# isbn_image: 指定したISBNの書影をclass="amazon"で表示
|
21
|
+
# asin: ASINまたはISBN(必須)
|
22
|
+
# comment: コメント(省略可)
|
23
|
+
#
|
24
|
+
# isbn_detail: 指定したISBNの書籍を書影付きで詳細表示
|
25
|
+
# asin: ASINまたはISBN(必須)
|
26
|
+
#
|
27
|
+
# isbn: amazonにアクセスしない簡易バージョン。
|
28
|
+
# asin: ASINまたはISBN(必須)
|
29
|
+
# comment: コメント(必須)
|
30
|
+
#
|
31
|
+
# ASINとはアマゾン独自の商品管理IDです。
|
32
|
+
# 書籍のISBNをASINに入力すると書籍が表示されます。
|
33
|
+
#
|
34
|
+
# それぞれ商品画像が見つからなかった場合は
|
35
|
+
# <a href="amazonのページ">商品名</a>
|
36
|
+
# のように商品名を表示します。
|
37
|
+
# コメントが記述されている場合は商品名がコメントの内容に変わります。
|
38
|
+
#
|
39
|
+
# tdiary.confにおける設定:
|
40
|
+
# @options['amazon.aid']: アソシエイトIDを指定することで、自分のア
|
41
|
+
# ソシエイトプログラムを利用できます
|
42
|
+
# このオプションは設定画面から変更可能です
|
43
|
+
# @options['amazon.hideconf']: 設定画面上でアソシエイトIDを入力不可能
|
44
|
+
# にしたい場合、trueに設定します
|
45
|
+
# @options['amazon.imgsize']: 表示するイメージのサイズを指定します
|
46
|
+
# (0:大 1:中 2:小)
|
47
|
+
# @options['amazon.hidename']: class="amazon"のときに商品名を表示したく
|
48
|
+
# ない場合、trueに設定します
|
49
|
+
# @options['amazon.default_image_base']: デフォルトのイメージを格納した
|
50
|
+
# URLを指定します。無指定時にはtDiary.org
|
51
|
+
# にあるものが使われます。自作したい場合には
|
52
|
+
# プラグイン集amazonディレクトリにあるPNG
|
53
|
+
# ファイルを参考にして下さい
|
54
|
+
# @options['amazon.nodefault']: デフォルトのイメージを表示したくない場合
|
55
|
+
# trueに設定します
|
56
|
+
#
|
57
|
+
#
|
58
|
+
# 注意:著作権が関連する為、www.amazon.co.jpのアソシエイトプログラムを
|
59
|
+
# 確認の上利用して下さい。
|
60
|
+
#
|
61
|
+
|
62
|
+
@amazon_default_country = 'jp'
|
63
|
+
@amazon_item_name = /^Amazon.co.jp: (.*)<.*$/
|
64
|
+
@amazon_item_image = %r|(<img src="(http://images-jp\.amazon\.com/images/P/(.*MZZZZZZZ_?.jpg))".*?>)|i
|
65
|
+
@amazon_label_conf ='Amazon'
|
66
|
+
@amazon_label_aid = 'AmazonアソシエイトIDの指定'
|
67
|
+
@amazon_label_aid_desc = '日本のAmazonが扱う商品にのみ適用されます。他の国のアソシエイトIDを利用する場合はtdiary.confで指定して下さい。なお指定しない場合には、Amazon認証Proxyサービスの指定するIDが使われますのでご注意下さい。'
|
68
|
+
@amazon_label_imgsize = '表示するイメージのサイズ'
|
69
|
+
@amazon_label_large = '大きい'
|
70
|
+
@amazon_label_regular = '普通'
|
71
|
+
@amazon_label_small = '小さい'
|
72
|
+
@amazon_label_title = 'isbn_imageプラグインで商品名を'
|
73
|
+
@amazon_label_hide = '表示しない'
|
74
|
+
@amazon_label_show = '表示する'
|
75
|
+
@amazon_label_bitly = 'bit.lyを使って商品のURLを'
|
76
|
+
@amazon_label_bitly_enabled = '短縮する'
|
77
|
+
@amazon_label_bitly_disabled = '短縮しない'
|
78
|
+
@amazon_label_notfound = 'イメージが見つからないときは'
|
79
|
+
@amazon_label_usetitle = '商品名を表示する'
|
80
|
+
@amazon_label_usedefault = 'デフォルトのイメージを使う'
|
81
|
+
@amazon_label_clearcache = 'キャッシュの削除'
|
82
|
+
@amazon_label_clearcache_desc = 'イメージ関連情報のキャッシュを削除する(Amazon上の表示と矛盾がある場合に試して下さい)'
|
83
|
+
|
84
|
+
# Local Variables:
|
85
|
+
# mode: ruby
|
86
|
+
# indent-tabs-mode: t
|
87
|
+
# tab-width: 3
|
88
|
+
# ruby-indent-level: 3
|
89
|
+
# End:
|
@@ -0,0 +1,12 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
# calendar2.rb language recource for Japanese
|
3
|
+
|
4
|
+
@calendar2_days_format = ["日", "月", "火", "水", "木", "金", "土"]
|
5
|
+
@calendar2_navi_format = ["前", "%d年<br>%d月", "次"]
|
6
|
+
|
7
|
+
# Local Variables:
|
8
|
+
# mode: ruby
|
9
|
+
# indent-tabs-mode: t
|
10
|
+
# tab-width: 3
|
11
|
+
# ruby-indent-level: 3
|
12
|
+
# End:
|
@@ -0,0 +1,212 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
# ja/category.rb
|
3
|
+
#
|
4
|
+
# Copyright (c) 2004 Junichiro KITA <kita@kitaj.no-ip.com>
|
5
|
+
# Distributed under the GPL
|
6
|
+
#
|
7
|
+
|
8
|
+
def category_title
|
9
|
+
info = Category::Info.new(@cgi, @years, @conf)
|
10
|
+
mode = info.mode
|
11
|
+
case mode
|
12
|
+
when :year
|
13
|
+
period = "#{info.year}年"
|
14
|
+
when :half
|
15
|
+
period = (info.month.to_i == 1 ? "上半期" : "下半期")
|
16
|
+
period = "#{info.year}年 #{period}" if info.year
|
17
|
+
when :quarter
|
18
|
+
period = "第#{info.month.to_i}四半期"
|
19
|
+
period = "#{info.year}年 #{period}" if info.year
|
20
|
+
when :month
|
21
|
+
period = "#{info.month.to_i}月"
|
22
|
+
period = "#{info.year}年 #{period}" if info.year
|
23
|
+
end
|
24
|
+
period = " (#{period})" if period
|
25
|
+
|
26
|
+
"[#{info.category.join('|')}#{period}]"
|
27
|
+
end
|
28
|
+
|
29
|
+
def category_init_local
|
30
|
+
@conf['category.prev_year'] ||= '<< ($1)'
|
31
|
+
@conf['category.next_year'] ||= '($1) >>'
|
32
|
+
@conf['category.prev_half'] ||= '<< ($1-$2)'
|
33
|
+
@conf['category.next_half'] ||= '($1-$2) >>'
|
34
|
+
@conf['category.prev_quarter'] ||= '<< ($1-$2)'
|
35
|
+
@conf['category.next_quarter'] ||= '($1-$2) >>'
|
36
|
+
@conf['category.prev_month'] ||= '<< ($1-$2)'
|
37
|
+
@conf['category.next_month'] ||= '($1-$2) >>'
|
38
|
+
@conf['category.this_year'] ||= '年'
|
39
|
+
@conf['category.this_half'] ||= '半期'
|
40
|
+
@conf['category.this_quarter'] ||= '四半期'
|
41
|
+
@conf['category.this_month'] ||= '月'
|
42
|
+
@conf['category.all_diary'] ||= '全期間'
|
43
|
+
@conf['category.all_category'] ||= '全カテゴリ'
|
44
|
+
@conf['category.all'] ||= '全期間/全カテゴリ'
|
45
|
+
end
|
46
|
+
category_init_local
|
47
|
+
|
48
|
+
@category_conf_label = 'カテゴリ'
|
49
|
+
def category_conf_html
|
50
|
+
r = <<HTML
|
51
|
+
<h3 class="subtitle">カテゴリインデックスの作成</h3>
|
52
|
+
<p>
|
53
|
+
カテゴリの機能を利用するにはカテゴリインデックスをあらかじめ作成しておく必要があります。
|
54
|
+
カテゴリインデックスを作成するには
|
55
|
+
以下のチェックを入れてからOKボタンを押してください。
|
56
|
+
</p>
|
57
|
+
<p><label for="category_initialize">
|
58
|
+
<input type="checkbox" id="category_initialize" name="category_initialize" value="1">カテゴリインデックスの作成
|
59
|
+
</label></p>
|
60
|
+
<p>
|
61
|
+
日記の量やサーバの性能にもよりますが、数秒から数十秒でインデックスの作成は終了します。
|
62
|
+
</p>
|
63
|
+
|
64
|
+
<h3 class="subtitle">日記編集サポート</h3>
|
65
|
+
<p>
|
66
|
+
日記編集画面の「本文」の下にカテゴリ名を一覧表示することができます。
|
67
|
+
カテゴリ名をクリックすると「本文」にそのカテゴリ名が挿入されます(要JavaScript)。
|
68
|
+
</p>
|
69
|
+
<p>
|
70
|
+
<select name="category.edit_support">
|
71
|
+
<option value="1"#{" selected" if @conf['category.edit_support'] == 1}>一覧表示</option>
|
72
|
+
<option value="2"#{" selected" if @conf['category.edit_support'] == 2}>ドロップダウンリスト</option>
|
73
|
+
<option value="0"#{" selected" if @conf['category.edit_support'] == 0}>表示しない</option>
|
74
|
+
</select>
|
75
|
+
</p>
|
76
|
+
|
77
|
+
<h3 class="subtitle">表示期間の初期状態</h3>
|
78
|
+
<p>
|
79
|
+
カテゴリ表示画面を表示した時の、最初の表示期間を指定します。
|
80
|
+
</p>
|
81
|
+
<p>
|
82
|
+
<select name="category.period">
|
83
|
+
HTML
|
84
|
+
[
|
85
|
+
['月', 'month', false],
|
86
|
+
['四半期', 'quarter', true],
|
87
|
+
['半期', 'half', false],
|
88
|
+
['年', 'year', false],
|
89
|
+
['全日記', 'all', false],
|
90
|
+
].each do |text, value, default|
|
91
|
+
selected = @conf["category.period"] ? @conf["category.period"] == value : default
|
92
|
+
r << <<HTML
|
93
|
+
<option value="#{value}"#{" selected" if selected}>#{text}</option>
|
94
|
+
HTML
|
95
|
+
end
|
96
|
+
r << <<HTML
|
97
|
+
</select>
|
98
|
+
</p>
|
99
|
+
|
100
|
+
<h3 class="subtitle">ヘッダ</h3>
|
101
|
+
<p>
|
102
|
+
画面上部に表示する文章を指定します。
|
103
|
+
「<%= category_navi %>」で、カテゴリに特化したナビゲーションボタンを表示することができます。
|
104
|
+
また「<%= category_list%>」でカテゴリ名一覧を表示することができます。
|
105
|
+
その他,各種プラグインやHTMLを記述できます。
|
106
|
+
</p>
|
107
|
+
|
108
|
+
<h4>ヘッダ1</h4>
|
109
|
+
<p>ナビゲーションボタンのすぐ下に表示されます。</p>
|
110
|
+
<p><textarea name="category.header1" cols="60" rows="5">#{h @conf['category.header1']}</textarea></p>
|
111
|
+
|
112
|
+
<h4>ヘッダ2</h4>
|
113
|
+
<p>H1のすぐ下に表示されます。</p>
|
114
|
+
<p><textarea name="category.header2" cols="60" rows="5">#{h @conf['category.header2']}</textarea></p>
|
115
|
+
|
116
|
+
<h3 class="subtitle">ボタンラベル</h3>
|
117
|
+
<p>
|
118
|
+
ナビゲーションボタンのラベルを指定します。
|
119
|
+
ラベル中の$1と$2は,それぞれ「年」「月」を表す数値で置換されます。
|
120
|
+
</p>
|
121
|
+
<table border="0">
|
122
|
+
<tr><th>ボタン名</th><th>ラベル</th><th>サンプル</th></tr>
|
123
|
+
HTML
|
124
|
+
[
|
125
|
+
['前年', 'category.prev_year'],
|
126
|
+
['翌年', 'category.next_year'],
|
127
|
+
['前の半年', 'category.prev_half'],
|
128
|
+
['次の半年', 'category.next_half'],
|
129
|
+
['前四半期', 'category.prev_quarter'],
|
130
|
+
['次四半期', 'category.next_quarter'],
|
131
|
+
['先月', 'category.prev_month'],
|
132
|
+
['翌月', 'category.next_month'],
|
133
|
+
['今年', 'category.this_year'],
|
134
|
+
['現半期', 'category.this_half'],
|
135
|
+
['現四半期', 'category.this_quarter'],
|
136
|
+
['今月', 'category.this_month'],
|
137
|
+
['全日記', 'category.all_diary'],
|
138
|
+
['全カテゴリ', 'category.all_category'],
|
139
|
+
['全日記/全カテゴリ', 'category.all'],
|
140
|
+
].each do |button, name|
|
141
|
+
r << <<HTML
|
142
|
+
<tr>
|
143
|
+
<td>#{button}</td>
|
144
|
+
<td><input type="text" name="#{name}" value="#{h @conf[name]}" size="30"></td>
|
145
|
+
<td><p><span class="adminmenu"><a>#{h @conf[name].sub(/\$1/, "2007").sub(/\$2/, "2")}</a></span></p></td>
|
146
|
+
</tr>
|
147
|
+
HTML
|
148
|
+
end
|
149
|
+
r << <<HTML
|
150
|
+
</table>
|
151
|
+
HTML
|
152
|
+
end
|
153
|
+
|
154
|
+
@category_icon_none_label = 'アイコンなし'
|
155
|
+
@category_icon_conf_label = 'カテゴリアイコン'
|
156
|
+
def category_icon_conf_html
|
157
|
+
r = ''
|
158
|
+
unless @conf.secure
|
159
|
+
r << <<HTML
|
160
|
+
<h3 class="subtitle">カテゴリアイコンの置き場所</h3>
|
161
|
+
<p>
|
162
|
+
カテゴリアイコン用の画像が保存されているディレクトリとそのURLを指定します。
|
163
|
+
</p>
|
164
|
+
<p>
|
165
|
+
<dl>
|
166
|
+
<dt>ディレクトリ:</dt>
|
167
|
+
<dd><input name="category.icon_dir" value="#{h @category_icon_dir}" size="30"></dd>
|
168
|
+
<dt>URL:</dt>
|
169
|
+
<dd><input name="category.icon_url" value="#{h @category_icon_url}" size="30"></dd>
|
170
|
+
</dl>
|
171
|
+
</p>
|
172
|
+
<hr>
|
173
|
+
HTML
|
174
|
+
end
|
175
|
+
|
176
|
+
str = ''
|
177
|
+
@categories.each do |c|
|
178
|
+
str << %Q|\t<tr>\n\t\t<td>#{c}</td>\n\t\t<td>\n|
|
179
|
+
str << category_icon_select(c)
|
180
|
+
str << %Q|<img src="#{h @category_icon_url}#{h @category_icon[c]}">| if @category_icon[c]
|
181
|
+
str << %Q|</td>\n\t</tr>\n|
|
182
|
+
end
|
183
|
+
r << <<HTML
|
184
|
+
<h3 class="subtitle">カテゴリアイコン</h3>
|
185
|
+
<p>
|
186
|
+
各カテゴリのアイコンをドロップダウンリストから選択します。
|
187
|
+
<p>
|
188
|
+
<table>
|
189
|
+
<tr><th>カテゴリ</th><th>アイコン</th></tr>
|
190
|
+
#{str}
|
191
|
+
</table>
|
192
|
+
</p>
|
193
|
+
<hr>
|
194
|
+
<h3 class="subtitle">アイコンサンプル</h3>
|
195
|
+
<p>
|
196
|
+
選択可能なアイコン一覧です.
|
197
|
+
アイコンにマウスカーソルを合わせるとアイコンのファイル名がポップアップ表示されます。
|
198
|
+
</p>
|
199
|
+
<p>
|
200
|
+
#{category_icon_sample}
|
201
|
+
</p>
|
202
|
+
HTML
|
203
|
+
r
|
204
|
+
end
|
205
|
+
|
206
|
+
# Local Variables:
|
207
|
+
# mode: ruby
|
208
|
+
# indent-tabs-mode: t
|
209
|
+
# tab-width: 3
|
210
|
+
# ruby-indent-level: 3
|
211
|
+
# End:
|
212
|
+
# vim: ts=3
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
# ja/daily_theme.rb
|
3
|
+
#
|
4
|
+
# Copyright (c) 2005 SHIBATA Hiroshi <h-sbt@nifty.com>
|
5
|
+
# Distributed under the GPL
|
6
|
+
|
7
|
+
@daily_theme_label = '日替わりテーマ'
|
8
|
+
@daily_theme_label_desc = '日替わりテーマで使用するテーマ名を、1行につき1つ入力してください。'
|
9
|
+
|
10
|
+
# Local Variables:
|
11
|
+
# mode: ruby
|
12
|
+
# indent-tabs-mode: t
|
13
|
+
# tab-width: 3
|
14
|
+
# ruby-indent-level: 3
|
15
|
+
# End:
|
@@ -0,0 +1,644 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
=begin
|
3
|
+
= 本日のリンク元もうちょっとだけ強化プラグイン((-$Id: disp_referrer.rb,v 1.46 2008-03-02 09:01:46 kazuhiko Exp $-))
|
4
|
+
日本語リソース
|
5
|
+
|
6
|
+
== 概要
|
7
|
+
アンテナからのリンク、サーチエンジンの検索結果を、通常のリンク元の下にま
|
8
|
+
とめて表示します。サーチエンジンの検索結果は、検索語毎にまとめられます。
|
9
|
+
|
10
|
+
最新の日記の表示では、通常のリンク元以外のリンク元を隠します。
|
11
|
+
|
12
|
+
== 注意
|
13
|
+
以前の版(1.1.2.39以前)からコードのほとんどを実装しなおしたため、
|
14
|
+
* 検索エンジンに関する動作が違う
|
15
|
+
* 廃止されたオプションがある
|
16
|
+
* オプション名が変更された
|
17
|
+
という非互換があります。基本的な設定はWWWブラウザからできるようになって
|
18
|
+
いますので、我慢してください。すみません。
|
19
|
+
|
20
|
+
以前の版に比べると、
|
21
|
+
* キャッシュにより表示が高速化された((-手元では、キャッシュを使わない場
|
22
|
+
合にくらべて、1日分で2/3ほど、最新3日分で1/2ほどの実時間で日記が生成
|
23
|
+
されました-))。この機能は残念ながら、レンタル日記などsecure=trueな日記
|
24
|
+
では使えません。
|
25
|
+
* リンク元置換リストにないURLを比較的簡単にWWWブラウザからリストに追加で
|
26
|
+
きるようになった
|
27
|
+
* 置換後の文字列の最初に[]で囲まれた文字を入れることによって、ユーザー
|
28
|
+
がカテゴリーを増設できるようになった。((-tDiary本体とは違い、1つの
|
29
|
+
URLは1つのカテゴリーしか持てないことにご注意ください。-))
|
30
|
+
* 基本的な設定をWWWブラウザからできるようになった
|
31
|
+
* disp_referrer.rbが無くても使える
|
32
|
+
* UconvライブラリやNoraライブラリがあればあるなりに、無ければないなりに
|
33
|
+
動作する
|
34
|
+
という利点があります。
|
35
|
+
|
36
|
+
== 使い方
|
37
|
+
このプラグインをインストールすることで、デフォルトでは、
|
38
|
+
* 一日分の日記の表示で、「本日のリンク元」がアンテナ、検索エンジン、その
|
39
|
+
他にまとめて表示されるようになります。置換後の文字列の最後の()を除いた
|
40
|
+
タイトルでグループします。また、検索エンジンからのリンクは、キーワード
|
41
|
+
別にまとめられます。
|
42
|
+
* 最新の日記の表示で、「本日のリンク元」にアンテナや検索エンジンからのリ
|
43
|
+
ンクが表示されなくなります。
|
44
|
+
リンク元URLのタイトルへの置換は、tDiary本体のリンク元置換リストを使いま
|
45
|
+
す。
|
46
|
+
|
47
|
+
オプションについては下記をご覧ください。基本的なオプションは、tDiaryの設
|
48
|
+
定画面から、「リンク元もうちょっと強化」をクリックすることで設定できます。
|
49
|
+
初めて設定する時には、
|
50
|
+
Insecure: can't modify hash (SecurityError)
|
51
|
+
というエラーが出る可能性があります。これはtDiaryの問題です。この場合には、
|
52
|
+
tDiaryを新しくして1.5.5.20030806以降を使うか、「基本」から何も変更せず
|
53
|
+
に「OK」を押すことでエラーを回避できるでしょう。
|
54
|
+
|
55
|
+
リンク元置換リストやオプションを変更した場合は、キャッシュディレクトリ
|
56
|
+
にあるキャッシュファイルdisp_referrer2.cacheやdisp_referrer2.cache~をプ
|
57
|
+
ラグインの設定画面から更新する必要があります。このプラグインの設定画面か
|
58
|
+
ら変更した項目については、変更時にキャッシュの更新もします。
|
59
|
+
|
60
|
+
リンク元は、以下のような基準で分類されます。
|
61
|
+
|
62
|
+
: 通常のリンク元(「本日のリンク元」)
|
63
|
+
リンク元置換リストにあてはまるURLのうち、下記以外のもの。
|
64
|
+
@options['disp_referrer2.unknown.divide']=falseの場合は、リンク元置換
|
65
|
+
リストにあてはまらないURLもここに含まれます。
|
66
|
+
|
67
|
+
さらに、リンク元置換リストによって置換された後の文字列の最初に[]で囲ま
|
68
|
+
れた文字列がある場合は、これをカテゴリーと解釈してカテゴリー別に表示を
|
69
|
+
分けます。この機能を抑制するには、WWWブラウザから設定画面を利用するか、
|
70
|
+
tdiary.confで@options['disp_referrer2.normal.categorize']=falseにして
|
71
|
+
ください。このオプションを変更した場合にはキャッシュを更新する必要があ
|
72
|
+
ります。
|
73
|
+
|
74
|
+
: アンテナ
|
75
|
+
URLに /a/ antenna/ antenna. などの文字列が含まれるか、置換後の文字列に、
|
76
|
+
アンテナ links などの文字列が含まれるリンク元です。これらの条件は、
|
77
|
+
@options['disp_referrer2.antenna.url']や
|
78
|
+
@options['disp_referrer2.antenna.title']によって変更できます。
|
79
|
+
tdiary.confを編集してください。キャッシュを更新する必要があります。
|
80
|
+
|
81
|
+
: その他
|
82
|
+
リンク元置換リストになかったURLです。あまり長いURLは、tDiary本体の置換
|
83
|
+
リストによって通常のリンク元に分類されてしまう可能性があります。
|
84
|
+
|
85
|
+
: 検索
|
86
|
+
このプラグインに含まれる検索エンジンのリストに一致したURLです。リスト
|
87
|
+
はDispRef2Setup::Enginesにあります。うまく検索エンジンと認識されない
|
88
|
+
URLは、ほとんどの場合、通常のリンク元に混ざって表示されてしまうでしょ
|
89
|
+
う。このような場合は、URLを
|
90
|
+
((<URL:http://tdiary-users.sourceforge.jp/cgi-bin/wiki.cgi?disp_referrer2.rb>))
|
91
|
+
に知らせていただけると作者が喜びます。
|
92
|
+
|
93
|
+
=== 環境
|
94
|
+
ruby-1.6.7と1.8.0で動作を確認しています。これ以外のバージョンのRubyでも
|
95
|
+
動作するかもしれません。
|
96
|
+
|
97
|
+
tdiary-1.5.3-20030509以降で使えます。これ以前のtDiary-1.5では、
|
98
|
+
00default.rbにbot?メソッドが定義されていないため、検索エンジンのクロール
|
99
|
+
に対してリンク元が表示されてしまいます。
|
100
|
+
|
101
|
+
secureモードでも使えますがキャッシュによる高速化ができません。
|
102
|
+
|
103
|
+
mod_rubyでの動作は今のところ確認していません。
|
104
|
+
|
105
|
+
=== インストール方法
|
106
|
+
このファイルをtDiaryのpluginディレクトリ内にコピーしてください。このプラ
|
107
|
+
グインの最新版は、
|
108
|
+
((<URL:http://zunda.freeshell.org/d/plugin/disp_referrer2.rb>))
|
109
|
+
にあるはずです。
|
110
|
+
|
111
|
+
また、Noraライブラリがインストールされている場合には、URLの解釈やHTMLの
|
112
|
+
エスケープに、Rubyに標準添付のCGIライブラリの代わりにNoraライブラリを使
|
113
|
+
用します。これにより、処理速度が若干速くなります((-手元で試したところ、
|
114
|
+
一日分の表示にかかる時間が1割程度短かくなりました。-))。Noraについての詳
|
115
|
+
細は、((<URL:http://raa.ruby-lang.org/list.rhtml?name=Nora>))を参照して
|
116
|
+
ください。
|
117
|
+
|
118
|
+
=== オプション
|
119
|
+
この日記で設定できるオプションの一覧は、DispRef2Setup::Defaultsにありま
|
120
|
+
す。これらのオプションのkeyの最初に、「disp_referrer2.」を追加すること
|
121
|
+
で、tdiary.confの@optionsのkeyとなり、tdiary.confから設定できるようにな
|
122
|
+
ります。これらのオプションのうち、DispRef2URL::Cached_optionsに挙げられ
|
123
|
+
ているものは、変更の際にキャッシュの更新が必要です。
|
124
|
+
|
125
|
+
また、tDiaryの設定画面から「リンク元もうちょっと強化」を選ぶことでWWWブ
|
126
|
+
ラウザから設定できる項目もあります。
|
127
|
+
|
128
|
+
== 謝辞
|
129
|
+
このプラグインは、
|
130
|
+
* UTF-8文字列のEUC文字列への変換機能
|
131
|
+
* 一部の検索エンジン名とそのURL
|
132
|
+
* 検索エンジンのロボットのクローリングの際にリンク元を表示しない機能
|
133
|
+
を、MUTOH Masaoさんのdisp_referrer.rbからコピー、編集して使わせていただ
|
134
|
+
いています。(検索エンジンのロボットに関する機能は現在はtDiary本体にとり
|
135
|
+
こまれています。)
|
136
|
+
|
137
|
+
また、URLを解釈する機能の一部を、Rubyに付属のcgi.rbからコピー、編集して
|
138
|
+
使わせていただいています。
|
139
|
+
|
140
|
+
さらに、通常のリンク元を[]で囲まれた文字列を使ってカテゴリ分けするアイデ
|
141
|
+
ィアは、kazuhikoさんのものです。
|
142
|
+
|
143
|
+
皆様に感謝いたします。
|
144
|
+
|
145
|
+
== Todos
|
146
|
+
* secure=trueでリンク元置換リストのテキストフィールドでリターンを押した際の動作
|
147
|
+
* parse_as_search高速化: hostnameのキャッシュ?
|
148
|
+
|
149
|
+
== 著作権について
|
150
|
+
Copyright (C) 2003 zunda <zunda at freeshell.org>
|
151
|
+
|
152
|
+
Please note that some methods in this plugin are written by other
|
153
|
+
authors as written in the comments.
|
154
|
+
|
155
|
+
Permission is granted for use, copying, modification, distribution, and
|
156
|
+
distribution of modified versions of this work under the terms of GPL
|
157
|
+
version 2 or later.
|
158
|
+
=end
|
159
|
+
|
160
|
+
=begin ChangeLog
|
161
|
+
See ../ChangeLog for changes after this.
|
162
|
+
|
163
|
+
* Mon Sep 29, 2003 zunda <zunda at freeshell.org>
|
164
|
+
- forgot to change arguments after changing initialize()
|
165
|
+
* Thu Sep 25, 2003 zunda <zunda at freeshell.org>
|
166
|
+
- name.untaint to eval name
|
167
|
+
* Thu Sep 25, 2003 zunda <zunda at freeshell.org>
|
168
|
+
- use to_native instead of to_euc
|
169
|
+
* Mon Sep 19, 2003 zunda <zunda at freeshell.org>
|
170
|
+
- disp_referrer2.rb,v 1.1.2.104 commited as disp_referrer.rb
|
171
|
+
* Mon Sep 1, 2003 zunda <zunda at freeshell.org>
|
172
|
+
- more strcit check for infoseek search enigne
|
173
|
+
* Wed Aug 27, 2003 zunda <zunda at freeshell.org>
|
174
|
+
- rd.yahoo, Searchalot, Hotbot added
|
175
|
+
* Tue Aug 12, 2003 zunda <zunda at freeshell.org>
|
176
|
+
- search engine list cleaned up
|
177
|
+
* Mon Aug 11, 2003 zunda <zunda at freeshell.org>
|
178
|
+
- instance_eval for e[2] in the search engine list
|
179
|
+
* Wed Aug 7, 2003 zunda <zunda at freeshell.org>
|
180
|
+
- WWW browser configuration interface
|
181
|
+
- キャッシュの更新をより確実にするようにしました。WWWブラウザから置換
|
182
|
+
リストを作った場合にはリストの最初に追加されます。
|
183
|
+
- secure=trueな日記でその他のリンク元リストが表示できるようになりました。
|
184
|
+
- Regexp generation for Wiki sites
|
185
|
+
* Wed Aug 6, 2003 zunda <zunda at freeshell.org>
|
186
|
+
- WWW browser configuration interface
|
187
|
+
- 主なオプションとリンク元置換リストの効率的な編集がWWWブラウザからで
|
188
|
+
きるようになりました。secure=trueな日記では一部の機能は使えません。
|
189
|
+
* Sat Aug 2, 2003 zunda <zunda at freeshell.org>
|
190
|
+
- Second version
|
191
|
+
- basic functions re-implemented
|
192
|
+
- オプションを命名しなおしました。また不要なオプションを消しました。
|
193
|
+
tdiary.confを編集していた方は、お手数ですが設定をしなおしてください。
|
194
|
+
- Noraライブラリとキャッシュの利用で高速化しました。
|
195
|
+
- 検索エンジンのリストをプラグインで持つようになりました。&や;を含む検
|
196
|
+
索文字列も期待通りに抽出できます。
|
197
|
+
* Mon Feb 17, 2003 zunda <zunda at freeshell.org>
|
198
|
+
- First version
|
199
|
+
=end
|
200
|
+
|
201
|
+
# Message strings
|
202
|
+
Disp_referrer2_name = 'リンク元もうちょっと強化'.taint
|
203
|
+
Disp_referrer2_abstract = <<'_END'.taint
|
204
|
+
<p>
|
205
|
+
アンテナからのリンク、サーチエンジンの検索結果を、
|
206
|
+
通常のリンク元の下にまとめて表示します。
|
207
|
+
サーチエンジンの検索結果は、検索語毎にまとめられます。
|
208
|
+
</p>
|
209
|
+
_END
|
210
|
+
Disp_referrer2_with_Nora = <<'_END'.taint
|
211
|
+
<p>
|
212
|
+
Noraライブラリを使っていますので、表示が少し速いはずです。
|
213
|
+
</p>
|
214
|
+
_END
|
215
|
+
Disp_referrer2_without_Nora = <<'_END'.taint
|
216
|
+
<!-- p>
|
217
|
+
表示速度が気になる場合は、
|
218
|
+
<a href="http://www.moonwolf.com/ruby/archive/nora-20040830.tar.gz">Nora
|
219
|
+
ライブラリ</a>をインストールしてみてください。
|
220
|
+
</p -->
|
221
|
+
_END
|
222
|
+
Disp_referrer2_cache_info = <<'_END'.taint
|
223
|
+
<p>
|
224
|
+
現在、キャッシュの大きさは%1$sバイトです。
|
225
|
+
</p>
|
226
|
+
_END
|
227
|
+
Disp_referrer2_update_info = <<'_END'.taint
|
228
|
+
<p>
|
229
|
+
「<a href="%1$s">リンク元</a>」の変更の後には、
|
230
|
+
このチェックボックス
|
231
|
+
−<label for="dr2.cache.update"><input id="dr2.cache.update" name="dr2.cache.update" value="force" type="checkbox">キャッシュをクリアする</label>−
|
232
|
+
チェックしてからOKをクリックして、
|
233
|
+
キャッシュのクリアをしてくさい。
|
234
|
+
</p>
|
235
|
+
_END
|
236
|
+
Disp_referrer2_move_to_refererlist = <<'_END'.taint
|
237
|
+
その他のリンク元の置換リストの編集に<a href="%s">移る</a>。
|
238
|
+
_END
|
239
|
+
Disp_referrer2_move_to_config = <<'_END'.taint
|
240
|
+
基本的な設定に<a href="%s">移る</a>。
|
241
|
+
_END
|
242
|
+
Disp_referrer2_also_todayslink = <<'_END'.taint
|
243
|
+
リンク元置換リストは「<a href="%s">リンク元</a>」からも編集できます。
|
244
|
+
_END
|
245
|
+
Disp_referrer2_antenna_label = 'アンテナ'.taint
|
246
|
+
Disp_referrer2_unknown_label = 'その他のリンク元'.taint
|
247
|
+
Disp_referrer2_search_label = '検索'.taint
|
248
|
+
Disp_referrer2_search_unknown_keyword = 'キーワード不明'.taint
|
249
|
+
Disp_referrer2_cache_label = '(%sのキャッシュ)'.taint
|
250
|
+
|
251
|
+
class DispRef2SetupIF
|
252
|
+
|
253
|
+
# show options
|
254
|
+
def show_options
|
255
|
+
r = <<-_HTML
|
256
|
+
<h3>リンク元の分類と表示</h3>
|
257
|
+
<table>
|
258
|
+
<tr>
|
259
|
+
<td><input name="dr2.current_mode" value="#{Options}" type="hidden">
|
260
|
+
リンク元置換リストにないリンク元を
|
261
|
+
<td><label for="dr2.unknown.divide.true"><input id="dr2.unknown.divide.true" name="dr2.unknown.divide" value="true" type="radio"#{' checked'if @setup['unknown.divide']}>#{DispRef2String::escapeHTML(@setup['unknown.label'])}として分ける</label>
|
262
|
+
<td><label for="dr2.unknown.divide.false"><input id="dr2.unknown.divide.false" name="dr2.unknown.divide" value="false" type="radio"#{' checked'if not @setup['unknown.divide']}>通常のリンク元と混ぜる</label>。
|
263
|
+
<tr>
|
264
|
+
<td>#{DispRef2String::escapeHTML(@setup['unknown.label'])}を
|
265
|
+
<td><label for="dr2.unknown.hide.false"><input id="dr2.unknown.hide.false" name="dr2.unknown.hide" value="false" type="radio"#{' checked'if not @setup['unknown.hide']}>表示する</label>
|
266
|
+
<td><label for="dr2.unknown.hide.true"><input id="dr2.unknown.hide.true" name="dr2.unknown.hide" value="true" type="radio"#{' checked'if @setup['unknown.hide']}>隠す</label>。
|
267
|
+
<tr>
|
268
|
+
<td>リンク元置換リストの置換後の文字列の最初の[]をカテゴリー分けに
|
269
|
+
<td><label for="dr2.normal.categorize.true"><input id="dr2.normal.categorize.true" name="dr2.normal.categorize" value="true" type="radio"#{' checked'if @setup['normal.categorize']}>使う</label>
|
270
|
+
<td><label for="dr2.normal.categorize.false"><input id="dr2.normal.categorize.false" name="dr2.normal.categorize" value="false" type="radio"#{' checked'if not @setup['normal.categorize']}>使わない</label>。
|
271
|
+
<tr>
|
272
|
+
<td>一日分の表示で、通常のリンク元以外のリンク元を
|
273
|
+
<td><label for="dr2.long.only_normal.false"><input id="dr2.long.only_normal.false" name="dr2.long.only_normal" value="false" type="radio"#{' checked'if not @setup['long.only_normal']}>表示する</label>
|
274
|
+
<td><label for="dr2.long.only_normal.true"><input id="dr2.long.only_normal.true" name="dr2.long.only_normal" value="true" type="radio"#{' checked'if @setup['long.only_normal']}>隠す</label>。
|
275
|
+
<tr>
|
276
|
+
<td>最新の表示で、通常のリンク元以外のリンク元を
|
277
|
+
<td><label for="dr2.short.only_normal.false"><input id="dr2.short.only_normal.false" name="dr2.short.only_normal" value="false" type="radio"#{' checked'if not @setup['short.only_normal']}>表示する</label>
|
278
|
+
<td><label for="dr2.short.only_normal.true"><input id="dr2.short.only_normal.true" name="dr2.short.only_normal" value="true" type="radio"#{' checked'if @setup['short.only_normal']}>隠す</label>。
|
279
|
+
</table>
|
280
|
+
<p>最新の表示で、通常のリンク元以外のリンク元を表示する場合には、このプラグインが無い場合とまったく同じ表示になります。</p>
|
281
|
+
<h3>通常のリンク元のグループ化</h3>
|
282
|
+
<table>
|
283
|
+
<tr>
|
284
|
+
<td>通常のリンク元を
|
285
|
+
<td><label for="dr2.normal.group.true"><input id="dr2.normal.group.true" name="dr2.normal.group" value="true" type="radio"#{' checked'if @setup['normal.group']}>置換後の文字列でまとめる</label>
|
286
|
+
<td><label for="dr2.normal.group.false"><input id="dr2.normal.group.false" name="dr2.normal.group" value="false" type="radio"#{' checked'if not @setup['normal.group']}>URL毎に分ける</label>。
|
287
|
+
<tr>
|
288
|
+
<td>通常のリンク元を置換後の文字列でまとめる場合に、最後の()を
|
289
|
+
<td><label for="dr2.normal.ignore_parenthesis.true"><input id="dr2.normal.ignore_parenthesis.true" name="dr2.normal.ignore_parenthesis" value="true" type="radio"#{' checked'if @setup['normal.ignore_parenthesis']}>無視する</label>
|
290
|
+
<td><label for="dr2.normal.ignore_parenthesis.false"><input id="dr2.normal.ignore_parenthesis.false" name="dr2.normal.ignore_parenthesis" value="false" type="radio"#{' checked'if not @setup['normal.ignore_parenthesis']}>無視しない</label>。
|
291
|
+
</table>
|
292
|
+
<h3>アンテナからのリンクのグループ化</h3>
|
293
|
+
<table>
|
294
|
+
<tr>
|
295
|
+
<td>アンテナからのリンクを
|
296
|
+
<td><label for="dr2.antenna.group.true"><input id="dr2.antenna.group.true" name="dr2.antenna.group" value="true" type="radio"#{' checked'if @setup['antenna.group']}>置換後の文字列でまとめる</label>
|
297
|
+
<td><label for="dr2.antenna.group.false"><input id="dr2.antenna.group.false" name="dr2.antenna.group" value="false" type="radio"#{' checked'if not @setup['antenna.group']}>URL毎に分ける</label>。
|
298
|
+
<tr>
|
299
|
+
<td>アンテナからのリンクを置換後の文字列でまとめる場合に、最後の()を
|
300
|
+
<td><label for="dr2.antenna.ignore_parenthesis.true"><input id="dr2.antenna.ignore_parenthesis.true" name="dr2.antenna.ignore_parenthesis" value="true" type="radio"#{' checked'if @setup['antenna.ignore_parenthesis']}>無視する</label>
|
301
|
+
<td><label for="dr2.antenna.ignore_parenthesis.false"><input id="dr2.antenna.ignore_parenthesis.false" name="dr2.antenna.ignore_parenthesis" value="false" type="radio"#{' checked'if not @setup['antenna.ignore_parenthesis']}>無視しない</label>。
|
302
|
+
</table>
|
303
|
+
<h3>検索キーワードの表示</h3>
|
304
|
+
<table>
|
305
|
+
<tr>
|
306
|
+
<td>検索エンジン名を
|
307
|
+
<td><label for="dr2.search.expand.true"><input id="dr2.search.expand.true" name="dr2.search.expand" value="true" type="radio"#{' checked'if @setup['search.expand']}>表示する</label>
|
308
|
+
<td><label for="dr2.search.expand.false"><input id="dr2.search.expand.false" name="dr2.search.expand" value="false" type="radio"#{' checked'if not @setup['search.expand']}>表示しない</label>。
|
309
|
+
</table>
|
310
|
+
_HTML
|
311
|
+
unless @setup.secure then
|
312
|
+
r << <<-_HTML
|
313
|
+
<h3>キャッシュ</h3>
|
314
|
+
<p>キャッシュ機能は、tDiary2形式(DefaultIO)使用時は利用できません。</p>
|
315
|
+
<table>
|
316
|
+
<tr>
|
317
|
+
<td>キャッシュを
|
318
|
+
<td><label for="dr2.no_cache.false"><input id="dr2.no_cache.false" name="dr2.no_cache" value="false" type="radio"#{' checked'if not @setup['no_cache']}>利用する</label>
|
319
|
+
<td><label for="dr2.no_cache.true"><input id="dr2.no_cache.true" name="dr2.no_cache" value="true" type="radio"#{' checked'if @setup['no_cache']}>利用しない</label>。
|
320
|
+
<tr>
|
321
|
+
<td>キャッシュの大きさを
|
322
|
+
<td colspan="3"><input name="dr2.cache_max_size" value="#{DispRef2String::escapeHTML(@setup['cache_max_size'])}" type="text">バイトまでにする。
|
323
|
+
<tr>
|
324
|
+
<td>今回の設定変更で、キャッシュを
|
325
|
+
<td><label for="dr2.cache.update.force"><input id="dr2.cache.update.force" name="dr2.cache.update" value="force" type="radio">クリアする</label>
|
326
|
+
<td><label for="dr2.cache.update.auto"><input id="dr2.cache.update.auto" name="dr2.cache.update" value="auto" type="radio" checked>必要ならクリアする</label>
|
327
|
+
<td><label for="dr2.cache.update.never"><input id="dr2.cache.update.never" name="dr2.cache.update" value="never" type="radio">クリアしない</label>。
|
328
|
+
</table>
|
329
|
+
<p>キャッシュの大きさの制限は目安です。これよりも大きくなる場合もあります。キャッシュの大きさの制限を0にすると、キャッシュの大きさを制限しなくなります。最後にKやMをつけると、キロバイト、メガバイト単位になります。</p>
|
330
|
+
_HTML
|
331
|
+
end # unless @setup.secure
|
332
|
+
r
|
333
|
+
end
|
334
|
+
|
335
|
+
# shows URL list to be added to the referer_table or no_referer
|
336
|
+
def show_unknown_list
|
337
|
+
if @setup.secure then
|
338
|
+
urls = DispRef2Latest.new( @cgi, 'latest.rhtml', @conf, @setup ).unknown_urls
|
339
|
+
else
|
340
|
+
urls = DispRef2Cache.new( @setup ).urls( DispRef2URL::Unknown ).keys
|
341
|
+
if urls.size == 0 then
|
342
|
+
urls = DispRef2Latest.new( @cgi, 'latest.rhtml', @conf, @setup ).unknown_urls
|
343
|
+
end
|
344
|
+
end
|
345
|
+
urls.reject!{ |url| DispRef2String::url_match?( url, @setup['reflist.ignore_urls'] ) }
|
346
|
+
r = <<-_HTML
|
347
|
+
<h3>リンク元置換リスト</h3>
|
348
|
+
<input name="dr2.current_mode" value="#{RefList}" type="hidden">
|
349
|
+
<p>リンク元無視リストに一致するURLはここには表示されません。</p>
|
350
|
+
<p>
|
351
|
+
リンク元置換リストや記録除外リストには入れたくないURLは、
|
352
|
+
無視リストに入れておくことで、
|
353
|
+
下記のリストに現れなくなります。
|
354
|
+
無視リストは、
|
355
|
+
下記のリストにURLを表示するかどうかの判断にだけ使われます。
|
356
|
+
<label for="dr2.clear_ignore_urls"><input id="dr2.clear_ignore_urls" name="dr2.clear_ignore_urls" value="true" type="checkbox">無視リストを空にする場合はチェック</label>して下さい。
|
357
|
+
</p>
|
358
|
+
_HTML
|
359
|
+
if urls.size > 0 then
|
360
|
+
r << <<-_HTML
|
361
|
+
<p>リンク元置換リストにない下記のURLを、
|
362
|
+
リンク元置換リストに入れる場合は、
|
363
|
+
下段の空白にタイトルを入力してください。
|
364
|
+
また、リンク元記録除外リストに追加するには、
|
365
|
+
チェックボックスをチェックしてください。
|
366
|
+
</p>
|
367
|
+
<p>
|
368
|
+
正規表現はリンク元置換リストに追加するのに適当なものになっています。
|
369
|
+
確認して、不具合があれば編集してください。
|
370
|
+
リンク元置換リストにだけ追加する場合には、
|
371
|
+
もう少しマッチの条件が緩いものでもかまいません。
|
372
|
+
</p>
|
373
|
+
<p>
|
374
|
+
最後の空欄は、リンク元置換リストに追加する際のタイトルです。
|
375
|
+
URL中に現れた「(〜)」は、
|
376
|
+
置換文字列中で「\\1」のような「数字」で利用できます。
|
377
|
+
また、sprintf('[tdiary:%d]', $1.to_i+1) といった、
|
378
|
+
スクリプト片も利用できます。
|
379
|
+
</p>
|
380
|
+
_HTML
|
381
|
+
if @cgi.auth_type and @cgi.remote_user and @setup['configure.use_link'] then
|
382
|
+
r << <<-_HTML
|
383
|
+
<p>
|
384
|
+
それぞれのURLはリンクになっていますが、これをクリックすることで、
|
385
|
+
リンク先に、この日記の更新・設定用のURLが知られることになります。
|
386
|
+
適切なアクセス制限が無い場合にはクリックしないようにしてください。
|
387
|
+
</p>
|
388
|
+
_HTML
|
389
|
+
end
|
390
|
+
r << <<-_HTML
|
391
|
+
<p>
|
392
|
+
ここにないURLは「<a href="#{DispRef2String::escapeHTML(@conf.update)}?conf=referer">リンク元</a>」から修正してください。
|
393
|
+
</p>
|
394
|
+
<dl>
|
395
|
+
_HTML
|
396
|
+
i = 0
|
397
|
+
urls.sort.each do |url|
|
398
|
+
shown_url = DispRef2String::escapeHTML( @setup.to_native( DispRef2String::unescape( url ) ) )
|
399
|
+
if @cgi.auth_type and @cgi.remote_user and @setup['configure.use_link'] then
|
400
|
+
r << "<dt><a href=\"#{DispRef2String::escapeHTML(url)}\">#{shown_url}</a>"
|
401
|
+
else
|
402
|
+
r << "<dt>#{shown_url}"
|
403
|
+
end
|
404
|
+
r << <<-_HTML
|
405
|
+
<dd>
|
406
|
+
<label for="dr2.#{i}.noref"><input id="dr2.#{i}.noref" name="dr2.#{i}.noref" value="true" type="checkbox">除外リストに追加</label>
|
407
|
+
<label for="dr2.#{i}.ignore"><input id="dr2.#{i}.ignore" name="dr2.#{i}.ignore" value="true" type="checkbox">無視リストに追加</label><br>
|
408
|
+
<input name="dr2.#{i}.reg" value="#{DispRef2String::escapeHTML( DispRef2String::url_regexp( url ) )}" type="text" size="70"><br>
|
409
|
+
<input name="dr2.#{i}.title" value="" type="text" size="70">
|
410
|
+
_HTML
|
411
|
+
i += 1
|
412
|
+
end
|
413
|
+
r << <<-_HTML
|
414
|
+
<input name="dr2.urls" type="hidden" value="#{i}">
|
415
|
+
</dl>
|
416
|
+
_HTML
|
417
|
+
else
|
418
|
+
r << <<-_HTML
|
419
|
+
<p>現在、#{DispRef2String::escapeHTML(@setup['unknown.label'])}はありません。</p>
|
420
|
+
_HTML
|
421
|
+
end
|
422
|
+
r << <<-_HTML
|
423
|
+
<h3>アンテナのための正規表現</h3>
|
424
|
+
<p>アンテナのURLや置換後の文字列にマッチする正規表現です。
|
425
|
+
これらの正規表現にマッチするリンク元は「アンテナ」に分類されます。</p>
|
426
|
+
<ul>
|
427
|
+
<li>URL:
|
428
|
+
<input name="dr2.antenna.url" value="#{DispRef2String::escapeHTML( @setup.to_native( @setup['antenna.url'] ) )}" type="text" size="70">
|
429
|
+
<label for="dr2.antenna.url.default"><input id="dr2.antenna.url.default" name="dr2.antenna.url.default" value="true" type="checkbox">デフォルトに戻す</label>
|
430
|
+
<li>置換後の文字列:<input name="dr2.antenna.title" value="#{DispRef2String::escapeHTML( @setup.to_native( @setup['antenna.title'] ) )}" type="text" size="70">
|
431
|
+
<label for="dr2.antenna.title.default"><input id="dr2.antenna.title.default" name="dr2.antenna.title.default" value="true" type="checkbox">デフォルトに戻す</label>
|
432
|
+
</ul>
|
433
|
+
_HTML
|
434
|
+
r
|
435
|
+
end
|
436
|
+
end
|
437
|
+
|
438
|
+
# Hash table of search engines
|
439
|
+
# key: company name
|
440
|
+
# value: array of:
|
441
|
+
# [0]:url regexp [1]:title [2]:keys for search keyword [3]:cache regexp
|
442
|
+
# keys - an Array of Strings for usual keys
|
443
|
+
# - a String as a Ruby code to be sent to URL after regexp matching
|
444
|
+
# - a Symbol to indicate the key contains URL to be recursively converted
|
445
|
+
DispReferrer2_Google_cache = /cache:[^:]+:([^+]+)+/
|
446
|
+
DispReferrer2_Yahoofs = /u=(.+)/
|
447
|
+
DispReferrer2_Engines = {
|
448
|
+
'google' => [
|
449
|
+
[%r{\Ahttp://(?:[^./]+\.)*google\.([^/]+)/((?:hws/|m/)?search|blogsearch|custom|ie|m)}i, '".#{$1}のGoogle検索"', ['as_q', 'q', 'as_epq'], DispReferrer2_Google_cache],
|
450
|
+
[%r{\Ahttp://.*?\bgoogle\.([^/]+)/.*url}i, '".#{$1}のGoogleのURL検索?"', ['as_q', 'q'], DispReferrer2_Google_cache],
|
451
|
+
[%r{\Ahttp://.*?\bgoogle/search}i, '"たぶんGoogle検索"', ['as_q', 'q'], DispReferrer2_Google_cache],
|
452
|
+
[%r{\Ahttp://eval.google\.([^/]+)}i, '".#{$1}のGoogle Accounts"', [], nil],
|
453
|
+
[%r{\Ahttp://(?:images|www)\.google\.([^/]+)/(?:images|imgres|imglanding)}i, '".#{$1}のGoogleイメージ検索"', ['q'], DispReferrer2_Google_cache],
|
454
|
+
[%r{\Ahttp://images\.google\.([^/]+)/imgres}i, '".#{$1}のGoogleイメージ検索"', [:prev], DispReferrer2_Google_cache],
|
455
|
+
[%r{\Ahttp://translate\.google\.([^/]+)/translate}i, '".#{$1}のGoogle検索"', [:prev], DispReferrer2_Google_cache],
|
456
|
+
],
|
457
|
+
'yahoo' => [
|
458
|
+
[%r{\Ahttp://[^/]+\.rd\.yahoo\.([^/]+)}i, '".#{$1}のYahooのリダイレクタ"', 'split(/\*/)[1]', nil],
|
459
|
+
[%r{\Ahttp://srd\.yahoo\.co\.jp/}i, '"Yahooのリダイレクタ"', [], nil],
|
460
|
+
[%r{\Ahttp://rd[^/]+\.yahoo\.com/}i, '"Yahooのリダイレクタ"', [], nil], # エンジンは inktomi 製と見た。
|
461
|
+
[%r{\Ahttp://([a-z]{2})\.search\.yahoo\.com/}i, '".#{$1}のYahoo!検索"', ['p'], DispReferrer2_Google_cache],
|
462
|
+
[%r{\Ahttp://(?:[^bm/]+|blog-search)\.yahoo\.([^/]+)/}i, '".#{$1}のYahoo!検索"', ['p', 'va', 'vp'], DispReferrer2_Google_cache],
|
463
|
+
[%r{\Ahttp://wrs\.search\.yahoo\.([^/]+)/(?:.*)\bK=([^/]+)}i, 'keyword=$2; "#{$1}のYahoo!検索"', [], nil],
|
464
|
+
[%r{\Ahttp://(?:image-search\.yahoo\.co\.jp/(?:search|detail)|images\.search\.yahoo\.co\.jp/bin/(?:search|query))}, '".co.jpのYahoo!画像検索"', ['p'], DispReferrer2_Google_cache],
|
465
|
+
[%r{\Ahttp://images\.search\.yahoo\.(:?com|co\.jp)/search/images(?:/view)?}, '".comのYahoo!画像検索"', ['p'], DispReferrer2_Google_cache],
|
466
|
+
],
|
467
|
+
'yahoofs' => [[%r{\Ahttp://cache\.yahoofs\.jp/}i, '"Yahoo!検索"', ['w'], DispReferrer2_Yahoofs]],
|
468
|
+
'netscape' => [[%r{\Ahttp://[^/]+\.netscape\.([^/]+)/}i, '".#{$1}のNetscape検索"', ['search', 'query'], DispReferrer2_Google_cache]],
|
469
|
+
'msn' => [[%r{\Ahttp://[^/]+\.MSN\.([^/]+)/}i, '".#{$1}のMSNサーチ"', ['q', 'MT'], nil ]],
|
470
|
+
'bing' => [[%r{\Ahttp://(www|jp)\.bing\.com/}i, '"Bing検索"', ['q'], nil ]],
|
471
|
+
'auone' => [[%r{\Ahttp://search\.auone.jp/}i, '"auOne検索"', ['q'], nil ]],
|
472
|
+
'metacrawler' => [[%r{\Ahttp://[^/]+\.metacrawler.com/}i, '"MetaCrawler"', ['q'], nil ]],
|
473
|
+
'metabot' => [[%r{\Ahttp://[^/]+\.metabot\.ru/}i, '"MetaBot.ru"', ['st'], nil ]],
|
474
|
+
'altavista' => [[%r{\Ahttp://(?:[^/]+\.)?altavista\.([^/]+)/}i, '".#{$1}のAltaVista検索"', ['q'], nil ]],
|
475
|
+
'infoseek' => [
|
476
|
+
[%r{\Ahttp://(www\.)?infoseek\.co\.jp/}i, '"Infoseek"', ['qt'], nil],
|
477
|
+
[%r{\Ahttp://search\d*\.www\.infoseek\.co\.jp/(?:[IO]Titles|Seek|Web)}, '"Infoseekハイブリッド検索"', ['qt'], nil],
|
478
|
+
],
|
479
|
+
'odn' => [[%r{\Ahttp://[^/]+\.odn\.ne\.jp/}i, '"ODN検索"', ['QueryString', 'key'], nil ]],
|
480
|
+
'lycos' => [[%r{\Ahttp://[^/]+\.lycos\.([^/]+)/}i, '".#{$1}のLycos"', ['query', 'q', 'qt'], nil ]],
|
481
|
+
'fresheye' => [[%r{\Ahttp://[^/]+\.fresheye}i, '"フレッシュアイ"', ['kw'], nil ]],
|
482
|
+
'goo' => [
|
483
|
+
[%r{\Ahttp://((www|ocn|dictionary|kids|eco|oshiete|(?:[^/]+\.)?search|(?:[^/]+\.)?blog|community|machi|bb|dir|channel|ocnsearch)\.)?goo\.ne\.jp/}i, '"goo"', ['MT'], nil ],
|
484
|
+
[%r{\Ahttp://bsearch\.goo\.ne\.jp/(?:movie\.jsp|video/)}i, '"goo動画検索"', ['MT'], nil ],
|
485
|
+
[%r{\Ahttp://bsearch\.goo\.ne\.jp/audio\.jsp}i, '"goo音楽検索"', ['MT'], nil ],
|
486
|
+
[%r{\Ahttp://bsearch\.goo\.ne\.jp/(?:image|imgdt)\.jsp}i, '"goo画像検索"', ['MT'], nil ],
|
487
|
+
[%r{\Ahttp://(?:[^/]+\.)?image\.goo\.ne\.jp/}i, '"goo画像検索"', ['MT'], nil ],
|
488
|
+
[%r{\Ahttp://(?:[^/]+\.)?mobile\.goo\.ne\.jp/search(?:_i)?.jsp}i, '"gooケータイサイト検索"', ['MT'], nil ],
|
489
|
+
[%r{\Ahttp://((www|ocn|dictionary|kids|eco|oshiete|(?:[^/]+\.)?search|community|machi|bb|dir|channel|ocnsearch)\.)?goo\.ne\.jp/}i, '"goo"', ['MT'], nil ],
|
490
|
+
],
|
491
|
+
'nifty' => [
|
492
|
+
[%r{\Ahttp://search\.nifty\.com/}i, '"@nifty/@search"', ['q', 'Text', 'text'], DispReferrer2_Google_cache],
|
493
|
+
[%r{\Ahttp://srchnavi\.nifty\.com/}i, '"@niftyのリダイレクタ"', ['title'], nil ],
|
494
|
+
[%r{\Ahttp://azby\.search\.nifty\.com/}i, '"AzbyClub"', ['Text'], nil ],
|
495
|
+
],
|
496
|
+
'eniro' => [[%r{\Ahttp://[^/]+\.eniro\.se/}i, '"Eniro"', ['q'], DispReferrer2_Google_cache]],
|
497
|
+
'excite' => [[%r{\Ahttp://[^/]+\.excite\.([^/]+)/}i, '".#{$1}のExcite"', ['search', 's', 'query', 'qkw'], nil ]],
|
498
|
+
'biglobe' => [
|
499
|
+
[%r{\Ahttp://(?:[^/]+\.)?search\.biglobe\.ne\.jp/}i, '"BIGLOBEサーチ"', ['q'], nil ],
|
500
|
+
[%r{\Ahttp://(?:[^/]+\.)?search\.biglobe\.ne\.jp/}i, '"BIGLOBEサーチ"', [], nil ],
|
501
|
+
],
|
502
|
+
'dion' => [[%r{\Ahttp://dir\.dion\.ne\.jp/}i, '"Dion"', ['QueryString', 'key'], nil ]],
|
503
|
+
'naver' => [[%r{\Ahttp://[^/]+\.naver\.co\.jp/}i, '"NAVER Japan"', ['query'], nil ]],
|
504
|
+
'webcrawler' => [[%r{\Ahttp://[^/]+\.webcrawler\.com/}i, '"WebCrawler"', ['qkw'], nil ]],
|
505
|
+
'euroseek' => [[%r{\Ahttp://[^/]+\.euroseek\.com/}i, '"Euroseek.com"', ['string'], nil ]],
|
506
|
+
'aol' => [
|
507
|
+
[%r{\Ahttp://[^/]+\.aol\.}i, '"AOLサーチ"', ['query', 'query_contain'], nil ],
|
508
|
+
[%r{\Ahttp://aolsearch\.[^/]+\.aol\.com/redir_convert\.adp}i, '"AOLサーチ"', ['query_contain'], nil]
|
509
|
+
],
|
510
|
+
'alltheweb' => [
|
511
|
+
[%r{\Ahttp://[^/]+\.alltheweb\.com/}i, '"AlltheWeb.com"', ['q'], nil ],
|
512
|
+
[%r{\Ahttp://[^/]+\.alltheweb\.com/}i, '"AlltheWeb.com"', [], nil ],
|
513
|
+
],
|
514
|
+
'kobe-u' => [
|
515
|
+
[%r{\Ahttp://bach\.scitec\.kobe-u\.ac\.jp/cgi-bin/metcha\.cgi}i, '"メッチャ検索エンジン"', ['q'], nil ],
|
516
|
+
[%r{\Ahttp://bach\.istc\.kobe-u\.ac\.jp/cgi-bin/metcha\.cgi}i, '"メッチャ検索エンジン"', ['q'], nil ],
|
517
|
+
],
|
518
|
+
'tocc' => [[%r{\Ahttp://www\.tocc\.co\.jp/search/}i, '"TOCC/Search"', ['QRY'], nil ]],
|
519
|
+
'yappo' => [[%r{\Ahttp://i\.yappo\.jp/}i, '"iYappo"', [], nil ]],
|
520
|
+
'suomi24' => [[%r{\Ahttp://[^/]+\.suomi24\.([^/]+)/.*query}i, '"Suomi24"', ['q'], DispReferrer2_Google_cache]],
|
521
|
+
'earthlink' => [[%r{\Ahttp://search\.earthlink\.net/search}i, '"EarthLink Search"', ['as_q', 'q', 'query'], DispReferrer2_Google_cache]],
|
522
|
+
'infobee' => [[%r{\Ahttp://infobee\.ne\.jp/}i, '"新鮮情報検索"', ['MT'], nil ]],
|
523
|
+
't-online' => [[%r{\Ahttp://brisbane\.t-online\.de/}i, '"T-Online"', ['q'], DispReferrer2_Google_cache]],
|
524
|
+
'walla' => [[%r{\Ahttp://find\.walla\.co\.il/}i, '"Walla! Channels"', ['q'], nil ]],
|
525
|
+
'mysearch' => [[%r{\Ahttp://[^/]+\.mysearch\.com/}i, '"My Search"', ['searchfor'], nil ]],
|
526
|
+
'jword' => [[%r{\Ahttp://[^/]+\.jword\.jp/}i, '"JWord"', ['name', 'q'], nil ]],
|
527
|
+
'nytimes' => [[%r{\Ahttp://query\.nytimes\.com/search}i, '"New York Times: Search"', ['as_q', 'q', 'query'], DispReferrer2_Google_cache]],
|
528
|
+
'aaacafe' => [[%r{\Ahttp://search\.aaacafe\.ne\.jp/search}i, '"AAA!CAFE"', ['key'], nil]],
|
529
|
+
'virgilio' => [[%r{\Ahttp://search\.virgilio\.it/search}i, '"VIRGILIO Ricerca"', ['qs'], nil]],
|
530
|
+
'ceek' => [[%r{\Ahttp://www\.ceek\.jp/}i, '"ceek.jp"', ['q'], nil]],
|
531
|
+
'cnn' => [[%r{\Ahttp://websearch\.cnn\.com/}i, '"CNN.com"', ['query', 'as_q', 'q', 'as_epq'], DispReferrer2_Google_cache]],
|
532
|
+
'webferret' => [[%r{\Ahttp://webferret\.search\.com/}i, '"WebFerret"', 'split(/,/)[1]', nil]],
|
533
|
+
'eniro' => [[%r{\Ahttp://www\.eniro\.se/}i, '"Eniro"', ['query', 'as_q', 'q'], DispReferrer2_Google_cache]],
|
534
|
+
'passagen' => [[%r{\Ahttp://search\.evreka\.passagen\.se/}i, '"Eniro"', ['q', 'as_q', 'query'], DispReferrer2_Google_cache]],
|
535
|
+
'redbox' => [[%r{\Ahttp://www\.redbox\.cz/}i, '"RedBox"', ['srch'], nil]],
|
536
|
+
'odin' => [[%r{\Ahttp://odin\.ingrid\.org/}i, '"ODiN検索"', ['key'], nil]],
|
537
|
+
'kensaku' => [[%r{\Ahttp://www\.kensaku\.}i, '"kensaku.jp検索"', ['key'], nil]],
|
538
|
+
'hotbot' => [[%r{\Ahttp://www\.hotbot\.}i, '"HotBot Web Search"', ['MT'], nil ]],
|
539
|
+
'searchalot' => [[%r{\Ahttp://www\.searchalot\.}i, '"Searchalot"', ['q'], nil ]],
|
540
|
+
'cometsystems' => [[%r{\Ahttp://search\.cometsystems\.com/}i, '"Comet Web Search"', ['qry'], nil ]],
|
541
|
+
'bulkfeeds' => [
|
542
|
+
[%r{\Ahttp://bulkfeeds\.net/app/search2}i, '"Bulkfeeds: RSS Directory & Search"', ['q'], nil ],
|
543
|
+
[%r{\Ahttp://bulkfeeds\.net/app/similar}i, '"Bulkfeeds Similarity Search"', ['url'], nil ],
|
544
|
+
],
|
545
|
+
'answerbus' => [
|
546
|
+
[%r{\Ahttp://www\.answerbus\.com/}i, '"AnswerBus"', [], nil ],
|
547
|
+
[%r{\Ahttp://answerbus\.coli\.uni-sb\.de/cgi-bin/answerbus/answer.cgi}i, '"AnswerBus"', [], nil ],
|
548
|
+
],
|
549
|
+
'dogplile' => [[%r{\Ahttp://www.\dogpile\.com/info\.dogpl/search/web/}i, '"dogpile"', [], nil ]],
|
550
|
+
'www' => [[%r{\Ahttp://www\.google/search}i, '"Google検索?"', [:prev, 'as_q', 'q'], DispReferrer2_Google_cache]], # TLD missing
|
551
|
+
'planet' => [[%r{\Ahttp://www\.planet\.nl/planet/}i, '"Planet-Zoekpagina"', ['googleq', 'keyword'], DispReferrer2_Google_cache]], # googleq parameter has a strange prefix
|
552
|
+
'dcn' => [[%r{\Ahttp://www\.dcn\.to/~comment/cgi-bin/commenton\.cgi}i, '"メタサーチCOMMENTON"', ['q'], nil ]],
|
553
|
+
'ask' => [
|
554
|
+
[%r{\Ahttp://ask\.jp/web.asp}i, '"ask.jp"', ['q'], nil ],
|
555
|
+
[%r{\Ahttp://jp\.ask\.com}i, '"ask.com"', ['q'], nil],
|
556
|
+
],
|
557
|
+
'searchscout' => [[%r{\Ahttp://results\.searchscout\.com/search}i, '"SearchSout"', ['k'], nil ]],
|
558
|
+
'inktomi' => [[%r{\Ahttp://rdrw1.inktomi.com/click}i, '"inktomi のリダイレクタ"', [], nil]],
|
559
|
+
'3721' => [[%r{\Ahttp://(?:seek|nmsearch)\.3721\.com/}i, '"3721网頁搜索"', ['p','name'], nil]],
|
560
|
+
'yisou' => [[%r{\Ahttp://www\.yisou\.com/}i, '"一搜"', ['p'], nil]],
|
561
|
+
'devilfinder' => [[%r{\Ahttp://www\.devilfinder\.com/find.php}i, '"The Devilfinder"', ['q'], nil]],
|
562
|
+
'lyricsuniverse' => [[%r{\Ahttp://www\.lyricsuniverse\.com/}, '"LYRICS Universe"', [], nil]],
|
563
|
+
'vivisimo' => [[%r{\Ahttp://[^/]+\.vivisimo\.com/search}i, '"Vivisimo"', [], nil]],
|
564
|
+
'a9' => [[%r{\Ahttp://a9\.com/}i, '"A9"', ['q'], nil]],
|
565
|
+
'nttrd' => [[%r{\Ahttp://labs\.nttrd\.com/cgi-bin/index\.cgi}, '"gooラボ"', ['q'], nil]],
|
566
|
+
'whatis' => [[%r{\Ahttp://whatis\.techtarget\.com/wsearchResults/}i, '"WhatIs.com | web search"', ['query'], nil]],
|
567
|
+
'comcast' => [[%r{\Ahttp://www\.comcast\.net/qry/websearch}i, '"COMCAST"', ['query'], nil]],
|
568
|
+
'mywebsearch' => [[%r{\Ahttp://www\.mywebsearch\.com/jsp/GGmain.jsp}i, '"My Web Search"', ['seachfor'], nil]],
|
569
|
+
'wisenut' => [[%r{\Ahttp://www\.wisenut\.com/search/query.dll}, '"WiseNut"', ['q'], nil]],
|
570
|
+
'livedoor' => [[%r{\Ahttp://(sf|www|search)\.livedoor\.}i, '"Livedoor"', ['q'], nil ]],
|
571
|
+
'tkensaku' => [[%r{\Ahttp://www\.tkensaku\.com/sclient\.cgi}i, '"TKENSAKU"', ['value'], nil]],
|
572
|
+
'yahoofs' => [[%r{\Ahttp://cache\.yahoofs\.jp/(?:search/)?cache}i, '"Yahoo! cache"', ['p', 'w'], nil]],
|
573
|
+
'googlie' => [[%r{\Ahttp://www\.googlie\.com/search}i, '"Google検索(へのリダイレクタ)"', [:prev, 'as_q', 'q'], DispReferrer2_Google_cache]],
|
574
|
+
'toppg' => [[%r{\Ahttp://g\.toppg\.to/search}i, '"Google検索(へのリダイレクタ)"', [:prev, 'as_q', 'q'], DispReferrer2_Google_cache]],
|
575
|
+
'naoya' => [[%r{\Ahttp://naoya\.dyndns\.org/feedback/app/search}i, '"FeedBack"', ['keyword'], nil]],
|
576
|
+
'blogpeople' => [[%r{\Ahttp://bst\.blogpeople\.net/search_result\.jsp}i, '"blogpeople"', ['keyword'], nil]],
|
577
|
+
'matome' => [[%r{\Ahttp://\w+\.matome\.jp/(?:keyword|tag)/(.*(?=\.html\Z)|.*\Z)}i, 'keyword=$1; "まとめ検索"', [], nil]],
|
578
|
+
'210' => [[%r{\Ahttp://210\.174\.160\.70/se_root.phtml}i, '"JWord(日本語キーワード)"', ['name'], nil]],
|
579
|
+
# % whois 64.233.160
|
580
|
+
# NetRange: 64.233.160.0 - 64.233.191.255
|
581
|
+
# CIDR: 64.233.160.0/19
|
582
|
+
# NetName: GOOGLE
|
583
|
+
'233' => [[%r{\Ahttp://64\.233\.(?:1[6-8][0-9]|190|191)\.\d+/}i, '"Google検索"', [:prev, 'as_q', 'q'], DispReferrer2_Google_cache]],
|
584
|
+
# % whois 66.102.0.0
|
585
|
+
# NetRange: 66.102.0.0 - 66.102.15.255
|
586
|
+
# CIDR: 66.102.0.0/20
|
587
|
+
# NetName: GOOGLE-2
|
588
|
+
'102' => [[%r{\Ahttp://66\.102\.(?:[0-9]|1[0-5])\.\d+/}i, '"Google検索"', [:prev, 'as_q', 'q'], DispReferrer2_Google_cache]],
|
589
|
+
# other google candidates:
|
590
|
+
# % whois 216.239.37.104
|
591
|
+
# NetRange: 216.239.32.0 - 216.239.63.255
|
592
|
+
# CIDR: 216.239.32.0/19
|
593
|
+
# NetName: GOOGLE
|
594
|
+
'216' => [[%r{\Ahttp://216\.239\.(?:3[2-9]|[4-5]\d|6[0-3])\.\d+/}i, '"Google検索"', [:prev, 'as_q', 'q'], DispReferrer2_Google_cache]],
|
595
|
+
# % whois 72.14.203.104
|
596
|
+
# NetRange: 72.14.192.0 - 72.14.239.255
|
597
|
+
# CIDR: 72.14.192.0/19, 72.14.224.0/20
|
598
|
+
# NetName: GOOGLE
|
599
|
+
'14' => [[%r{\Ahttp://72\.14\.(?:19[2-9]|2\d\d)\.\d+/}i, '"Google検索"', [:prev, 'as_q', 'q'], DispReferrer2_Google_cache]],
|
600
|
+
# % whois 66.249.93.104
|
601
|
+
# NetRange: 66.249.64.0 - 66.249.95.255
|
602
|
+
# CIDR: 66.249.64.0/19
|
603
|
+
# NetName: GOOGLE
|
604
|
+
'249' => [[%r{\Ahttp://66\.249\.(?:6[4-9]|[7-8]\d|9[0-5])\.\d+/}i, '"Google検索"', [:prev, 'as_q', 'q'], DispReferrer2_Google_cache]],
|
605
|
+
'ezweb' => [[%r{\Ahttp://ezsch\.ezweb\.ne\.jp/search/}i, '"EZweb検索"', ['query'], nil]],
|
606
|
+
'overture' => [[%r{\Ahttp://(?:\w+\.)?overture\.com/}i, '"Overture検索"', ['Keywords'], nil]],
|
607
|
+
'multimeta' => [[%r{\Ahttp://(?:\w+\.)?multimeta\.com/}i, '"Multimeta検索"', ['suchbegriff'], nil]],
|
608
|
+
'starware' => [[%r{\Ahttp://search\.starware\.com/}i, '"Starware検索"', ['qry'], nil]],
|
609
|
+
'rambler' => [[%r{\Ahttp://\w+\.rambler\.ru/}i, '"Rambler"', ['words'], nil]],
|
610
|
+
'technorati' => [
|
611
|
+
[%r{\Ahttp://www\.technorati\.jp\/search\/search\.html}i, '"テクノラティ"', ['query'], nil],
|
612
|
+
[%r{\Ahttp://www\.technorati\.jp\/search\/(.*)}i, 'keyword=$1; "テクノラティ"', [], nil],
|
613
|
+
],
|
614
|
+
'pagesupli' => [
|
615
|
+
[%r{\Ahttp://www\.pagesupli\.com/cgi-bin/nph-image.exe}i, '"pageone検索"', ['q'], nil],
|
616
|
+
[%r{\Ahttp://www\.pagesupli\.com/\w+/(.*)}i, 'keyword=$1; "pageone検索"', [], nil],
|
617
|
+
],
|
618
|
+
'yahoogle' => [[%r{\Ahttp://www\.yahoogle\.jp/(?:yahoogle|google|yahoo)-\d+-(.+)\.html\Z}i, 'keyword=$1; "yahoogle!"', [], nil]],
|
619
|
+
# $ whois 209.85.165.104
|
620
|
+
# NetRange: 209.85.128.0 - 209.85.255.255
|
621
|
+
# CIDR: 209.85.128.0/17
|
622
|
+
# NetName: GOOGLE
|
623
|
+
'85' => [[%r{\Ahttp://209\.85\.(?:12[8-9]|1[3-9]\d|2\d\d)\.\d+/}i, '"Google検索"', [:prev, 'as_q', 'q'], DispReferrer2_Google_cache]],
|
624
|
+
'chew' => [[%r{\Ahttp://blog\.chew\.jp/result/(?:.*/)?(.+)}, 'keyword=$1; "YGブログ検索"', [], nil]],
|
625
|
+
'x0' => [[%r{\Ahttp://bloger\.x0\.com/result/(?:.*/)?(.+)}, 'keyword=$1; "YGブログ検索"', [], nil]],
|
626
|
+
'wordtantei' => [[%r{\Ahttp://wordtantei\.com/result/(?:.*/)?(.+)}, 'keyword=$1; "ワード探偵"', [], nil]],
|
627
|
+
'sfa-cms' => [[%r{\Ahttp://www\.sfa-cms\.(?:com|net)/word/(?:.*/)?(.+)}, 'keyword=$1; "入れ⇔替え検索"', [], nil]],
|
628
|
+
'hatena' => [[%r{\Ahttp://search\.hatena\.ne\.jp/}i, '"はてな検索"', ['word'], nil]],
|
629
|
+
'live' => [
|
630
|
+
[%r{\Ahttp://search\.live\.com/results\.aspx}i, '"Live Search"', ['q'], nil],
|
631
|
+
[%r{\Ahttp://search\.live\.com/images/results\.aspx}i, '"Live Search(画像)"', ['q'], nil],
|
632
|
+
[%r{\Ahttp://search\.live\.com/news/results\.aspx}i, '"Live Search(ニュース)"', ['q'], nil],
|
633
|
+
|
634
|
+
],
|
635
|
+
'rakuten' => [[%r{\Ahttp://websearch\.rakuten\.co\.jp}i, '"楽天ウェブ検索"', ['qt'], nil]],
|
636
|
+
'luna' => [[%r{\Ahttp://(:?s|ja\.msearch)\.luna\.tv/search\.aspx}i, '"luna"', ['q'], nil]],
|
637
|
+
}
|
638
|
+
|
639
|
+
# Local Variables:
|
640
|
+
# mode: ruby
|
641
|
+
# indent-tabs-mode: t
|
642
|
+
# tab-width: 3
|
643
|
+
# ruby-indent-level: 3
|
644
|
+
# End:
|