tdiary-contrib 3.2.2.20130518
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +1 -0
- data/.travis.yml +7 -0
- data/Gemfile +13 -0
- data/Gemfile.lock +35 -0
- data/README.en.md +12 -0
- data/README.md +13 -0
- data/Rakefile +41 -0
- data/doc/en/filter/spambayes.txt +3 -0
- data/doc/en/plugin.txt +1 -0
- data/doc/en/style/hatena.txt +10 -0
- data/doc/en/style/markdown.txt +16 -0
- data/doc/en/util.txt +1 -0
- data/doc/ja/filter/antirefspam.history.txt +59 -0
- data/doc/ja/filter/antirefspam.txt +86 -0
- data/doc/ja/filter/comment_key.ja.html +182 -0
- data/doc/ja/filter/spambayes.txt +3 -0
- data/doc/ja/plugin/add_bookmark.txt +50 -0
- data/doc/ja/plugin/category_to_tag.txt +21 -0
- data/doc/ja/plugin/cocoment.txt +31 -0
- data/doc/ja/plugin/google_adsense.txt +25 -0
- data/doc/ja/plugin/google_analytics.txt +7 -0
- data/doc/ja/plugin/image_detail.txt +69 -0
- data/doc/ja/plugin/image_gps.txt +36 -0
- data/doc/ja/plugin/image_gps2.txt +41 -0
- data/doc/ja/plugin/livedoor_weather.txt +105 -0
- data/doc/ja/plugin/opensearch_ad.txt +16 -0
- data/doc/ja/plugin/section_footer.txt +84 -0
- data/doc/ja/plugin/select_theme.txt +1 -0
- data/doc/ja/plugin.txt +13 -0
- data/doc/ja/style/hatena.txt +10 -0
- data/doc/ja/style/markdown.txt +13 -0
- data/doc/ja/util.txt +12 -0
- data/filter/antirefspam.rb +263 -0
- data/filter/commentkey.rb +29 -0
- data/filter/commentsize.rb +18 -0
- data/filter/hidecomment.rb +13 -0
- data/filter/iplookup.rb +55 -0
- data/filter/plugin/antirefspam.rb +59 -0
- data/filter/plugin/commentkey.rb +58 -0
- data/filter/plugin/commentsize.rb +12 -0
- data/filter/plugin/en/iplookup.rb +9 -0
- data/filter/plugin/en/spambayes.rb +123 -0
- data/filter/plugin/iplookup.rb +39 -0
- data/filter/plugin/ja/antirefspam.rb +91 -0
- data/filter/plugin/ja/commentkey.rb +17 -0
- data/filter/plugin/ja/commentsize.rb +6 -0
- data/filter/plugin/ja/iplookup.rb +9 -0
- data/filter/plugin/ja/spambayes.rb +124 -0
- data/filter/plugin/spambayes.rb +501 -0
- data/filter/plugin/zh/iplookup.rb +9 -0
- data/filter/rblcheck.rb +36 -0
- data/filter/spambayes.rb +535 -0
- data/filter/spamlookup.rb +37 -0
- data/io/dbi_io/ChangeLog +19 -0
- data/io/dbi_io/README.ja +39 -0
- data/io/dbi_io/dbi_io.rb +181 -0
- data/io/dbi_io/plugin/refererDbiIO.rb +76 -0
- data/io/dbi_io/tdiary_table.sql +42 -0
- data/js/appstore.js +109 -0
- data/js/datepicker.js +69 -0
- data/js/editor.js +82 -0
- data/js/flickr.js +157 -0
- data/js/image_ex.js +79 -0
- data/js/jquery.socialbutton.js +842 -0
- data/js/nicovideo.js +17 -0
- data/js/picasa.js +322 -0
- data/js/plugin_checker.js +71 -0
- data/js/prettify/lang-apollo.js +2 -0
- data/js/prettify/lang-clj.js +18 -0
- data/js/prettify/lang-css.js +2 -0
- data/js/prettify/lang-go.js +1 -0
- data/js/prettify/lang-hs.js +2 -0
- data/js/prettify/lang-lisp.js +3 -0
- data/js/prettify/lang-lua.js +2 -0
- data/js/prettify/lang-ml.js +2 -0
- data/js/prettify/lang-n.js +4 -0
- data/js/prettify/lang-proto.js +1 -0
- data/js/prettify/lang-scala.js +2 -0
- data/js/prettify/lang-sql.js +2 -0
- data/js/prettify/lang-tex.js +1 -0
- data/js/prettify/lang-vb.js +2 -0
- data/js/prettify/lang-vhdl.js +3 -0
- data/js/prettify/lang-wiki.js +2 -0
- data/js/prettify/lang-xq.js +3 -0
- data/js/prettify/lang-yaml.js +2 -0
- data/js/prettify/prettify.css +1 -0
- data/js/prettify/prettify.js +28 -0
- data/js/referer.js +17 -0
- data/js/show_and_hide.js +39 -0
- data/js/socialbutton.js +126 -0
- data/js/twitter_anywhere.js +28 -0
- data/js/yahoo_kousei.js +21 -0
- data/lib/bayes/convert.rb +34 -0
- data/lib/bayes.rb +232 -0
- data/lib/exifparser/BUGS +1 -0
- data/lib/exifparser/ChangeLog +169 -0
- data/lib/exifparser/README +15 -0
- data/lib/exifparser/install.rb +1015 -0
- data/lib/exifparser/lib/exifparser/makernote/canon.rb +502 -0
- data/lib/exifparser/lib/exifparser/makernote/fujifilm.rb +415 -0
- data/lib/exifparser/lib/exifparser/makernote/minolta.rb +84 -0
- data/lib/exifparser/lib/exifparser/makernote/mk_nikonflensname.rb +39 -0
- data/lib/exifparser/lib/exifparser/makernote/nikon.rb +267 -0
- data/lib/exifparser/lib/exifparser/makernote/nikon2.rb +581 -0
- data/lib/exifparser/lib/exifparser/makernote/nikonflensname.rb +438 -0
- data/lib/exifparser/lib/exifparser/makernote/olympus.rb +225 -0
- data/lib/exifparser/lib/exifparser/makernote/prove.rb +84 -0
- data/lib/exifparser/lib/exifparser/makernote/sigma.rb +237 -0
- data/lib/exifparser/lib/exifparser/pre-setup.rb +1 -0
- data/lib/exifparser/lib/exifparser/scan.rb +278 -0
- data/lib/exifparser/lib/exifparser/tag.rb +2298 -0
- data/lib/exifparser/lib/exifparser/thumbnail.rb +76 -0
- data/lib/exifparser/lib/exifparser/utils.rb +88 -0
- data/lib/exifparser/lib/exifparser.rb +265 -0
- data/lib/exifparser/sample/exifview.rb +279 -0
- data/lib/tdiary-contrib.rb +19 -0
- data/lib/wgs2tky.rb +93 -0
- data/misc/section_footer2/buzzurl.yaml +6 -0
- data/misc/section_footer2/fc2.yaml +6 -0
- data/misc/section_footer2/ldc.yaml +6 -0
- data/misc/section_footer2/retweet.yaml +7 -0
- data/misc/section_footer2/twitter.yaml +7 -0
- data/misc/section_footer2/yahoo.yaml +6 -0
- data/misc/tdiarygraph/tdiarygraph120x90e.swf +0 -0
- data/misc/tdiarygraph/tdiarygraph125x125e.swf +0 -0
- data/misc/tdiarygraph/tdiarygraph240x180e.swf +0 -0
- data/misc/tdiarygraph/tdiarygraph468x60e.swf +0 -0
- data/misc/tdiarygraph/tdiarygraph728x90e.swf +0 -0
- data/misc/tdiarytimes/tdiarytimes125x125r.swf +0 -0
- data/misc/tdiarytimes/tdiarytimes125x125r7.swf +0 -0
- data/misc/tdiarytimes/tdiarytimes125x125s.swf +0 -0
- data/misc/tdiarytimes/tdiarytimes125x30.swf +0 -0
- data/misc/tdiarytimes/tdiarytimes234x30.swf +0 -0
- data/misc/tdiarytimes/tdiarytimes468x30.swf +0 -0
- data/plugin/add_bookmark.rb +89 -0
- data/plugin/apple_webclip.rb +26 -0
- data/plugin/appstore.rb +47 -0
- data/plugin/bigpresen.rb +86 -0
- data/plugin/bitly.rb +39 -0
- data/plugin/bootstrap-navi.rb +54 -0
- data/plugin/canonical.rb +9 -0
- data/plugin/category_similar.rb +73 -0
- data/plugin/category_to_tag.rb +60 -0
- data/plugin/category_to_tagcloud.rb +172 -0
- data/plugin/cocomment.rb +37 -0
- data/plugin/code-prettify.rb +23 -0
- data/plugin/coderwall.rb +34 -0
- data/plugin/datepicker.rb +28 -0
- data/plugin/day2section.rb +20 -0
- data/plugin/del_footer.rb +111 -0
- data/plugin/description_from_body.rb +23 -0
- data/plugin/development.rb +16 -0
- data/plugin/editor.rb +11 -0
- data/plugin/en/add_bookmark.rb +20 -0
- data/plugin/en/del_footer.rb +10 -0
- data/plugin/en/git-register.rb +3 -0
- data/plugin/en/livedoor_weather.rb +25 -0
- data/plugin/en/microsummary.rb +18 -0
- data/plugin/en/nicovideo.rb +38 -0
- data/plugin/en/openid.rb +8 -0
- data/plugin/en/section_footer.rb +6 -0
- data/plugin/en/section_footer2.rb +3 -0
- data/plugin/en/socialbutton.rb +5 -0
- data/plugin/everytrail.rb +39 -0
- data/plugin/facebook_comments.rb +59 -0
- data/plugin/flickr.rb +209 -0
- data/plugin/gist.rb +16 -0
- data/plugin/git-register.rb +240 -0
- data/plugin/github_badge.rb +27 -0
- data/plugin/github_link.rb +9 -0
- data/plugin/goo_gl.rb +42 -0
- data/plugin/google_adsense.rb +132 -0
- data/plugin/google_analytics.rb +39 -0
- data/plugin/google_map.rb +168 -0
- data/plugin/google_sitemaps.rb +60 -0
- data/plugin/google_webmaster.rb +22 -0
- data/plugin/hatena_bookmark_nocomment.rb +9 -0
- data/plugin/hatena_star.rb +66 -0
- data/plugin/hb_footer.rb +255 -0
- data/plugin/hb_footer4sec.rb +244 -0
- data/plugin/hb_footer4sec_js.rb +30 -0
- data/plugin/hide_comment_form.rb +4 -0
- data/plugin/hide_sidebar_iphone.rb +21 -0
- data/plugin/iddy.rb +81 -0
- data/plugin/image_detail.rb +143 -0
- data/plugin/image_ex.rb +462 -0
- data/plugin/image_gps.rb +128 -0
- data/plugin/inline_wiki.rb +6 -0
- data/plugin/instagr.rb +64 -0
- data/plugin/ja/add_bookmark.rb +20 -0
- data/plugin/ja/del_footer.rb +10 -0
- data/plugin/ja/flickr.rb +62 -0
- data/plugin/ja/git-register.rb +3 -0
- data/plugin/ja/google_sitemaps.rb +35 -0
- data/plugin/ja/livedoor_weather.rb +25 -0
- data/plugin/ja/microsummary.rb +18 -0
- data/plugin/ja/nicovideo.rb +41 -0
- data/plugin/ja/openid.rb +7 -0
- data/plugin/ja/section_footer.rb +6 -0
- data/plugin/ja/section_footer2.rb +4 -0
- data/plugin/ja/socialbutton.rb +6 -0
- data/plugin/jdate.rb +20 -0
- data/plugin/jholiday.rb +16 -0
- data/plugin/jmonth.rb +20 -0
- data/plugin/jquery_ui_theme.rb +55 -0
- data/plugin/jroku.rb +28 -0
- data/plugin/jyear.rb +37 -0
- data/plugin/latlonglab_route.rb +25 -0
- data/plugin/lazy_referer.rb +38 -0
- data/plugin/livedoor_weather.rb +180 -0
- data/plugin/make_link.rb +44 -0
- data/plugin/makerss_category.rb +43 -0
- data/plugin/makerss_comment.rb +35 -0
- data/plugin/microsummary.rb +62 -0
- data/plugin/mm_footer.rb +215 -0
- data/plugin/monthly_autopagerize.rb +67 -0
- data/plugin/my_hotentry.rb +132 -0
- data/plugin/navi_day.rb +118 -0
- data/plugin/navi_this_month.rb +15 -0
- data/plugin/nicovideo.rb +115 -0
- data/plugin/notify_miniblog.rb +134 -0
- data/plugin/ogp.rb +55 -0
- data/plugin/ohmsha_estore.rb +71 -0
- data/plugin/openid.rb +90 -0
- data/plugin/opensearch_ad.rb +33 -0
- data/plugin/picasa.rb +56 -0
- data/plugin/plugin_checker.rb +41 -0
- data/plugin/popit.rb +22 -0
- data/plugin/prettify.rb +19 -0
- data/plugin/prezi.rb +10 -0
- data/plugin/profile.rb +222 -0
- data/plugin/puboo.rb +93 -0
- data/plugin/pygments_css.rb +76 -0
- data/plugin/rating.rb +419 -0
- data/plugin/recent_estraier.rb +50 -0
- data/plugin/recent_tweet.rb +71 -0
- data/plugin/retweet.rb +86 -0
- data/plugin/rubykaigi.rb +99 -0
- data/plugin/search-bing.rb +87 -0
- data/plugin/search-default.rb +264 -0
- data/plugin/search-google-custom.rb +60 -0
- data/plugin/search-yahoo-websearch.rb +121 -0
- data/plugin/search-yahoo.rb +109 -0
- data/plugin/section_footer.rb +195 -0
- data/plugin/section_footer2.rb +278 -0
- data/plugin/section_permalink.rb +73 -0
- data/plugin/section_permalink_anchor.rb +39 -0
- data/plugin/select_style.rb +42 -0
- data/plugin/select_theme.rb +90 -0
- data/plugin/show_and_hide.rb +77 -0
- data/plugin/slideshare.rb +10 -0
- data/plugin/socialbutton.rb +60 -0
- data/plugin/tatsu_zine.rb +93 -0
- data/plugin/tdiarygraph_flashstyle.rb +296 -0
- data/plugin/tdiarytimes.rb +166 -0
- data/plugin/tdiarytimes2.rb +406 -0
- data/plugin/tdiarytimes_flashstyle.rb +263 -0
- data/plugin/tdiarytimes_textstyle.rb +290 -0
- data/plugin/title_anchor.rb +16 -0
- data/plugin/tweet_quote.rb +106 -0
- data/plugin/twitpic.rb +10 -0
- data/plugin/twitter.rb +46 -0
- data/plugin/twitter_anywhere.rb +209 -0
- data/plugin/twitter_badge.rb +42 -0
- data/plugin/twitter_js.rb +59 -0
- data/plugin/ustream.rb +19 -0
- data/plugin/vimeo.rb +14 -0
- data/plugin/volatile.rb +89 -0
- data/plugin/vote.rb +100 -0
- data/plugin/wikiloc.rb +27 -0
- data/plugin/windex.rb +512 -0
- data/plugin/yahoo_kousei.rb +79 -0
- data/plugin/yahoo_map.rb +97 -0
- data/plugin/youtube.rb +33 -0
- data/plugin/yshop.rb +189 -0
- data/plugin/zenback.rb +46 -0
- data/spec/apple_webclip_spec.rb +46 -0
- data/spec/fixtures/friendfeed.xml +2 -0
- data/spec/fixtures/github.json +1 -0
- data/spec/fixtures/twitter.xml +73 -0
- data/spec/gist_spec.rb +16 -0
- data/spec/github_link_spec.rb +39 -0
- data/spec/google_analytics_spec.rb +60 -0
- data/spec/jdate_spec.rb +23 -0
- data/spec/jmonth_spec.rb +28 -0
- data/spec/jyear_spec.rb +21 -0
- data/spec/my_hotentry_spec.rb +78 -0
- data/spec/openid_spec.rb +246 -0
- data/spec/opensearch_ad_spec.rb +50 -0
- data/spec/profile_spec.rb +88 -0
- data/spec/rcov.opts +2 -0
- data/spec/spec_helper.rb +223 -0
- data/spec/title_anchor_spec.rb +39 -0
- data/spec/twitter_js_spec.rb +116 -0
- data/spec/youtube_spec.rb +20 -0
- data/style/hatena_style.rb +1011 -0
- data/style/markdown_style.rb +239 -0
- data/style/wikiext_style.rb +21 -0
- data/tdiary-contrib.gemspec +25 -0
- data/util/clean-spam/README.ja +1 -0
- data/util/clean-spam/tdiary-comment-clean +46 -0
- data/util/clean-spam/tdiary-comment-clean2 +81 -0
- data/util/clean-spam/tdiary-referer-clean +46 -0
- data/util/convert_pstore.rb +82 -0
- data/util/estraier-search/ChangeLog +36 -0
- data/util/estraier-search/README.ja +114 -0
- data/util/estraier-search/en/estraier-register.rb +3 -0
- data/util/estraier-search/estraier-register.rb +298 -0
- data/util/estraier-search/estraier-search.rb +273 -0
- data/util/estraier-search/estraier.rhtml +73 -0
- data/util/estraier-search/estraier.rxml +23 -0
- data/util/estraier-search/i.estraier.rhtml +31 -0
- data/util/estraier-search/ja/estraier-register.rb +3 -0
- data/util/image-gallery/README.ja +27 -0
- data/util/image-gallery/image-gallery.rb +523 -0
- data/util/image-gallery/image-gallery.rb.euc-jp +523 -0
- data/util/image-gallery/js/SmoothGallery/Changelog +52 -0
- data/util/image-gallery/js/SmoothGallery/css/ReMooz.css +186 -0
- data/util/image-gallery/js/SmoothGallery/css/img/carrow1.gif +0 -0
- data/util/image-gallery/js/SmoothGallery/css/img/carrow2.gif +0 -0
- data/util/image-gallery/js/SmoothGallery/css/img/closebox.gif +0 -0
- data/util/image-gallery/js/SmoothGallery/css/img/closebox.png +0 -0
- data/util/image-gallery/js/SmoothGallery/css/img/fleche1.gif +0 -0
- data/util/image-gallery/js/SmoothGallery/css/img/fleche1.png +0 -0
- data/util/image-gallery/js/SmoothGallery/css/img/fleche2.gif +0 -0
- data/util/image-gallery/js/SmoothGallery/css/img/fleche2.png +0 -0
- data/util/image-gallery/js/SmoothGallery/css/img/loading-bar-black.gif +0 -0
- data/util/image-gallery/js/SmoothGallery/css/img/open.gif +0 -0
- data/util/image-gallery/js/SmoothGallery/css/img/open.png +0 -0
- data/util/image-gallery/js/SmoothGallery/css/img/remo_bg_e.png +0 -0
- data/util/image-gallery/js/SmoothGallery/css/img/remo_bg_n.png +0 -0
- data/util/image-gallery/js/SmoothGallery/css/img/remo_bg_ne.png +0 -0
- data/util/image-gallery/js/SmoothGallery/css/img/remo_bg_nw.png +0 -0
- data/util/image-gallery/js/SmoothGallery/css/img/remo_bg_s.png +0 -0
- data/util/image-gallery/js/SmoothGallery/css/img/remo_bg_se.png +0 -0
- data/util/image-gallery/js/SmoothGallery/css/img/remo_bg_sw.png +0 -0
- data/util/image-gallery/js/SmoothGallery/css/img/remo_bg_w.png +0 -0
- data/util/image-gallery/js/SmoothGallery/css/img/spinner.gif +0 -0
- data/util/image-gallery/js/SmoothGallery/css/jd.gallery.css +371 -0
- data/util/image-gallery/js/SmoothGallery/css/layout.css +91 -0
- data/util/image-gallery/js/SmoothGallery/license.txt +621 -0
- data/util/image-gallery/js/SmoothGallery/resizer.php +113 -0
- data/util/image-gallery/js/SmoothGallery/scripts/Changelog +52 -0
- data/util/image-gallery/js/SmoothGallery/scripts/History.Routing.js +126 -0
- data/util/image-gallery/js/SmoothGallery/scripts/History.js +109 -0
- data/util/image-gallery/js/SmoothGallery/scripts/ReMooz.js +364 -0
- data/util/image-gallery/js/SmoothGallery/scripts/jd.gallery.js +843 -0
- data/util/image-gallery/js/SmoothGallery/scripts/jd.gallery.set.js +183 -0
- data/util/image-gallery/js/SmoothGallery/scripts/jd.gallery.transitions.js +90 -0
- data/util/image-gallery/js/SmoothGallery/scripts/jdgalleryresize.js +828 -0
- data/util/image-gallery/js/SmoothGallery/scripts/license.txt +621 -0
- data/util/image-gallery/js/SmoothGallery/scripts/mootools-1.2-more.js +103 -0
- data/util/image-gallery/js/SmoothGallery/scripts/mootools-1.2.1-core-yc.js +349 -0
- data/util/image-gallery/js/SmoothGallery/scripts/resizer.php +113 -0
- data/util/image-gallery/misc/plugin/recent_image.rb +406 -0
- data/util/image-gallery/skel/gallery.rhtml +154 -0
- data/util/image-gallery/skel/gallery.rhtml.euc-jp +154 -0
- data/util/image-gallery/tdiary.conf.igsample +8 -0
- data/util/image-gallery/theme/image-gallery.css +85 -0
- data/util/image2flickr.rb +282 -0
- data/util/posttdiary/README.ja +12 -0
- data/util/posttdiary/posttdiary-ex.rb +1155 -0
- data/util/posttdiary/posttdiary.rb +245 -0
- data/util/rast-search/ChangeLog +55 -0
- data/util/rast-search/README.ja +99 -0
- data/util/rast-search/en/rast-register.rb +3 -0
- data/util/rast-search/i.rast.rhtml +33 -0
- data/util/rast-search/ja/rast-register.rb +3 -0
- data/util/rast-search/rast-register.rb +326 -0
- data/util/rast-search/rast-search.rb +249 -0
- data/util/rast-search/rast.rhtml +66 -0
- data/util/rast-search/rast.rxml +21 -0
- data/util/section_link/README +11 -0
- data/util/section_link/misc/plugin/section_link.rb +68 -0
- data/util/section_link/misc/plugin/section_link_anchor.rb +38 -0
- data/util/section_link/tdiary/tdiary_day_ext.rb +21 -0
- data/util/section_link/tdiary/tdiaryext_style.rb +36 -0
- data/util/section_link/tdiary/wikiext_style.rb +36 -0
- data/util/tdiary-for-ruby1.9/compatible.rb +97 -0
- data/util/tdiary-for-ruby1.9/tdiary-2.2.0.patch +98 -0
- data/util/tdiary-for-ruby1.9/tdiary-2.3.1.patch +212 -0
- data/util/tdiary-grep/README +4 -0
- data/util/tdiary-grep/grep.rb +445 -0
- data/util/tdiary-mode/http.el +130 -0
- data/util/tdiary-mode/tdiary-mode.el +613 -0
- data/util/tdiary-vim/ChangeLog +25 -0
- data/util/tdiary-vim/README +60 -0
- data/util/tdiary-vim/tdiary.vim +350 -0
- data/util/tdiarysearch/README.en +53 -0
- data/util/tdiarysearch/README.ja +99 -0
- data/util/tdiarysearch/search.rb +504 -0
- metadata +497 -0
@@ -0,0 +1,263 @@
|
|
1
|
+
# tdiarytimes_flashstyle.rb $Revision: 1.2 $
|
2
|
+
#
|
3
|
+
# Copyright (c) 2004 phonondrive <tdiary@phonondrive.com>
|
4
|
+
# Distributed under the GPL
|
5
|
+
#
|
6
|
+
# プラグイン配布ページ:
|
7
|
+
# http://phonondrive.com/trd/
|
8
|
+
# --------------------------------------------------------------------
|
9
|
+
#
|
10
|
+
#
|
11
|
+
#
|
12
|
+
# Abstract:
|
13
|
+
# --------------------------------------------------------------------
|
14
|
+
# 日記を登録した時間帯をタイムライン上に記録します。記録されたエントリは
|
15
|
+
# 日時の経過と共にフェードアウトしていきます。このような MTBlogTimes や
|
16
|
+
# tdiarytimes.rb と同等の機能を Flash で実現します。
|
17
|
+
# ruby-gd のインストール作業も必要ないため、すぐに使用出来ます。
|
18
|
+
#
|
19
|
+
#
|
20
|
+
# Usage:
|
21
|
+
# --------------------------------------------------------------------
|
22
|
+
# プラグインは、プラグインフォルダに入れて下さい。
|
23
|
+
#
|
24
|
+
# プラグインは、プラグインフォルダに入れてください。
|
25
|
+
# tdiarytimes*.swf を tdiary.rb と同じフォルダにアップロードします。
|
26
|
+
# ヘッダ、フッタ部に記述した <%= tdiarytimes_flashstyle %> の部分に、
|
27
|
+
# Flash アプレットが表示されます。
|
28
|
+
# tdiarytimes.log は日記登録時に .swf と同じフォルダに作成されます。
|
29
|
+
#
|
30
|
+
# ※ tdiarytimes_textstyle.rb との互換性はありません。
|
31
|
+
#
|
32
|
+
#
|
33
|
+
# Options:
|
34
|
+
# --------------------------------------------------------------------
|
35
|
+
# タイムラインの色、透明度、サイズなどは、プリファレンス画面で設定できます。
|
36
|
+
#
|
37
|
+
#
|
38
|
+
# In secure mode:
|
39
|
+
# --------------------------------------------------------------------
|
40
|
+
# たぶん動作しません。
|
41
|
+
#
|
42
|
+
#
|
43
|
+
=begin ChangeLog
|
44
|
+
2004.05.02 phonondrive <tdiary@phonondrive.com>
|
45
|
+
* version 1.1.2
|
46
|
+
タイムラインが曜日別の Flash を追加
|
47
|
+
2004.05.02 phonondrive <tdiary@phonondrive.com>
|
48
|
+
* version 1.1.1
|
49
|
+
タイムラインが円形で、時刻盤が曜日表示の Flash を追加
|
50
|
+
ログファイルが存在しない時にエラーが出る不具合を修正
|
51
|
+
2004.04.28 phonondrive <tdiary@phonondrive.com>
|
52
|
+
* version 1.1.0
|
53
|
+
タイムラインが円形の Flash を追加
|
54
|
+
2004.04.27 phonondrive <tdiary@phonondrive.com>
|
55
|
+
* version 1.0.1
|
56
|
+
時刻目盛テキストの色が変更されない不具合を修正
|
57
|
+
2004.04.25 phonondrive <tdiary@phonondrive.com>
|
58
|
+
* version 1.0.0
|
59
|
+
=end
|
60
|
+
|
61
|
+
|
62
|
+
# --------------------------------------------------------------------
|
63
|
+
# プラグインの動作
|
64
|
+
# --------------------------------------------------------------------
|
65
|
+
|
66
|
+
def tdiarytimes_flashstyle
|
67
|
+
if @conf['tdiarytimes_f.templete'] == nil or @conf['tdiarytimes_f.templete'] == ""
|
68
|
+
%Q|使用を開始するには、<a href="./#{@update}?conf=tdiarytimes_f">プリファレンス画面</a>にて一度設定を完了して下さい。(tdiarytimes-flashstyle)|
|
69
|
+
else
|
70
|
+
logname = ((@conf['tdiarytimes_f.log_path'] != "" and @conf['tdiarytimes_f.log_path'] != nil) ? @conf['tdiarytimes_f.log_path'] : "tdiarytimes.log")
|
71
|
+
@conf['tdiarygraph_f.templete'].sub(/&uid/, "\\&=#{File.mtime(logname.untaint).to_i}")
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
# --------------------------------------------------------------------
|
76
|
+
# 日記登録時の処理
|
77
|
+
# --------------------------------------------------------------------
|
78
|
+
|
79
|
+
if /\A(?:append|replace)\z/ =~ @mode and @cgi.params['hide'][0] != 'true' then
|
80
|
+
|
81
|
+
logname = ((@conf['tdiarytimes_f.log_path'] != "" and @conf['tdiarytimes_f.log_path'] != nil) ? @conf['tdiarytimes_f.log_path'] : "tdiarytimes.log")
|
82
|
+
entr_lifetime = ((@conf['tdiarytimes_f.entr_lifetime'] != "" and @conf['tdiarytimes_f.entr_lifetime'] != nil) ? @conf['tdiarytimes_f.entr_lifetime'].to_i * 60 * 60 * 24 : 30 * 24 * 60 * 60)
|
83
|
+
entr_interval = ((@conf['tdiarytimes_f.entr_interval'] != "" and @conf['tdiarytimes_f.entr_interval'] != nil) ? @conf['tdiarytimes_f.entr_interval'] : 2 * 60 * 60)
|
84
|
+
|
85
|
+
begin
|
86
|
+
logs = open(logname){|io| io.read }.chomp.split(',')
|
87
|
+
rescue
|
88
|
+
logs = ""
|
89
|
+
end
|
90
|
+
|
91
|
+
if (Time.now.to_i - logs.max.to_i) > entr_interval.to_i
|
92
|
+
logs << "#{Time.now.to_i}"
|
93
|
+
open(logname, "w"){|io|
|
94
|
+
io.write(logs.find_all{|item| (Time.now.to_i - item.to_i) < entr_lifetime.to_i }.join(','))
|
95
|
+
}
|
96
|
+
end
|
97
|
+
|
98
|
+
end
|
99
|
+
|
100
|
+
# --------------------------------------------------------------------
|
101
|
+
# プリファレンス画面での設定
|
102
|
+
# --------------------------------------------------------------------
|
103
|
+
|
104
|
+
add_conf_proc( 'tdiarytimes_f', 'tdiarytimes-flashstyle の設定' ) do
|
105
|
+
|
106
|
+
if @mode == 'saveconf' then
|
107
|
+
|
108
|
+
filename = "tdiarytimes234x30.swf"
|
109
|
+
width = "234"
|
110
|
+
height = "30"
|
111
|
+
argvs = ""
|
112
|
+
|
113
|
+
argv = Array.new
|
114
|
+
|
115
|
+
@conf['tdiarytimes_f.uid'] = @cgi.params['uid'][0]
|
116
|
+
argv << "#{Time.now.to_i}&uid" if @conf['tdiarytimes_f.uid'] == "1"
|
117
|
+
|
118
|
+
@conf['tdiarytimes_f.type'] = @cgi.params['type'][0]
|
119
|
+
@conf['tdiarytimes_f.filename'] = @cgi.params['filename'][0]
|
120
|
+
@conf['tdiarytimes_f.width'] = @cgi.params['width'][0]
|
121
|
+
@conf['tdiarytimes_f.height'] = @cgi.params['height'][0]
|
122
|
+
|
123
|
+
@conf['tdiarytimes_f.log_path'] = @cgi.params['log_path'][0]
|
124
|
+
argv << "log_path=#{@cgi.params['log_path'][0]}" if @cgi.params['log_path'][0] != ""
|
125
|
+
|
126
|
+
@conf['tdiarytimes_f.text_visible'] = @cgi.params['text_visible'][0]
|
127
|
+
argv << "text_visible=#{@cgi.params['text_visible'][0]}" if @cgi.params['text_visible'][0] == "0"
|
128
|
+
@conf['tdiarytimes_f.text_text'] = @cgi.params['text_text'][0]
|
129
|
+
argv << "text_text=#{CGI::escape @cgi.params['text_text'][0].upcase}" if @cgi.params['text_text'][0] != ""
|
130
|
+
@conf['tdiarytimes_f.text_rgb'] = @cgi.params['text_rgb'][0]
|
131
|
+
argv << "text_rgb=0x#{@cgi.params['text_rgb'][0]}" if @cgi.params['text_rgb'][0] != ""
|
132
|
+
|
133
|
+
@conf['tdiarytimes_f.face_visible'] = @cgi.params['face_visible'][0]
|
134
|
+
argv << "face_visible=#{@cgi.params['face_visible'][0]}" if @cgi.params['face_visible'][0] == "0"
|
135
|
+
@conf['tdiarytimes_f.face_rgb'] = @cgi.params['face_rgb'][0]
|
136
|
+
argv << "face_rgb=0x#{@cgi.params['face_rgb'][0]}" if @cgi.params['face_rgb'][0] != ""
|
137
|
+
|
138
|
+
@conf['tdiarytimes_f.stage_rgb'] = @cgi.params['stage_rgb'][0]
|
139
|
+
argv << "stage_rgb=0x#{@cgi.params['stage_rgb'][0]}" if @cgi.params['stage_rgb'][0] != ""
|
140
|
+
@conf['tdiarytimes_f.stage_alpha'] = @cgi.params['stage_alpha'][0]
|
141
|
+
argv << "stage_alpha=#{@cgi.params['stage_alpha'][0]}" if @cgi.params['stage_alpha'][0] != ""
|
142
|
+
@conf['tdiarytimes_f.bg_rgb'] = @cgi.params['bg_rgb'][0]
|
143
|
+
argv << "bg_rgb=0x#{@cgi.params['bg_rgb'][0]}" if @cgi.params['bg_rgb'][0] != ""
|
144
|
+
@conf['tdiarytimes_f.bg_alpha'] = @cgi.params['bg_alpha'][0]
|
145
|
+
argv << "bg_alpha=#{@cgi.params['bg_alpha'][0]}" if @cgi.params['bg_alpha'][0] != ""
|
146
|
+
@conf['tdiarytimes_f.bar_rgb'] = @cgi.params['bar_rgb'][0]
|
147
|
+
argv << "bar_rgb=0x#{@cgi.params['bar_rgb'][0]}" if @cgi.params['bar_rgb'][0] != ""
|
148
|
+
@conf['tdiarytimes_f.bar_width'] = @cgi.params['bar_width'][0]
|
149
|
+
argv << "bar_width=#{@cgi.params['bar_width'][0]}" if @cgi.params['bar_width'][0] != ""
|
150
|
+
|
151
|
+
@conf['tdiarytimes_f.entr_interval'] = @cgi.params['entr_interval'][0]
|
152
|
+
@conf['tdiarytimes_f.entr_lifetime'] = @cgi.params['entr_lifetime'][0]
|
153
|
+
@conf['tdiarytimes_f.fade_time'] = @cgi.params['fade_time'][0]
|
154
|
+
argv << "fade_time=#{@cgi.params['fade_time'][0]}" if @cgi.params['fade_time'][0] != ""
|
155
|
+
|
156
|
+
@conf['tdiarytimes_f.preview'] = @cgi.params['preview'][0]
|
157
|
+
|
158
|
+
if @cgi.params['type'][0] == "0"
|
159
|
+
filename = @cgi.params['filename'][0]
|
160
|
+
width = @cgi.params['width'][0]
|
161
|
+
height = @cgi.params['height'][0]
|
162
|
+
elsif @cgi.params['type'][0]
|
163
|
+
filename = "tdiarytimes#{@cgi.params['type'][0].delete('-')}.swf"
|
164
|
+
width = @cgi.params['type'][0].split('-').first.split('x')[0]
|
165
|
+
height = @cgi.params['type'][0].split('-').first.split('x')[1]
|
166
|
+
end
|
167
|
+
|
168
|
+
if argv.size > 0 then argvs = "?#{argv.join('&')}" end
|
169
|
+
|
170
|
+
@conf['tdiarytimes_f.templete'] = tdiarytimes_flashstyle_templete(filename, argvs, width, height)
|
171
|
+
end
|
172
|
+
|
173
|
+
|
174
|
+
<<-HTML
|
175
|
+
<h3 class="subtitle">設定の概要</h3>
|
176
|
+
<p>() 内は初期値です。初期値を使用する場合は、空欄のままで構いません。色は RRGGBB 形式で指定して下さい。不透明度は 0 (透明) 〜 100 (不透明) です。線幅はピクセルで指定します。</p>
|
177
|
+
<hr>
|
178
|
+
<h3 class="subtitle">プレビュー</h3>
|
179
|
+
#{tdiarytimes_flashstyle_preview}
|
180
|
+
<hr>
|
181
|
+
<h3 class="subtitle">表示する Flash アプレットの選択</h3>
|
182
|
+
<p><select name="type">
|
183
|
+
<option value="0"#{if @conf['tdiarytimes_f.type'] == "0" then " selected" end}>プリセットを使用しない</option>
|
184
|
+
<option value="125x30"#{if @conf['tdiarytimes_f.type'] == "125x30" then " selected" end}>tdiarytimes125x30.swf, 125x30</option>
|
185
|
+
<option value="234x30"#{if @conf['tdiarytimes_f.type'] == "234x30" or @conf['tdiarytimes_f.type'] == nil or @conf['tdiarytimes_f.type'] == "" then " selected" end}>tdiarytimes234x30.swf, 234x30</option>
|
186
|
+
<option value="468x30"#{if @conf['tdiarytimes_f.type'] == "468x30" then " selected" end}>tdiarytimes468x30.swf, 468x30</option>
|
187
|
+
<option value="125x125-r"#{if @conf['tdiarytimes_f.type'] == "125x125-r" then " selected" end}>tdiarytimes125x125r.swf, 125x125 (円形)</option>
|
188
|
+
<option value="125x125-r7"#{if @conf['tdiarytimes_f.type'] == "125x125-r7" then " selected" end}>tdiarytimes125x125r7.swf, 125x125 (円形, 曜日)</option>
|
189
|
+
<option value="125x125-s"#{if @conf['tdiarytimes_f.type'] == "125x125-s" then " selected" end}>tdiarytimes125x125s.swf, 125x125 (曜日別)</option>
|
190
|
+
</select></p>
|
191
|
+
<h3 class="subtitle">プリセットを使用しない場合は、以下で指定して下さい。</h3>
|
192
|
+
<p>Flash のファイル名<br><input name="filename" value="#{@conf['tdiarytimes_f.filename'].to_s}" size="40"></p>
|
193
|
+
<p>Flash の表示幅<br><input name="width" value="#{@conf['tdiarytimes_f.width'].to_s}" size="20"></p>
|
194
|
+
<p>Flash の表示高さ<br><input name="height" value="#{@conf['tdiarytimes_f.height'].to_s}" size="20"></p>
|
195
|
+
<hr>
|
196
|
+
<h3 class="subtitle">タイトルテキスト</h3>
|
197
|
+
<p>タイトルテキストの表示有無 (表示)<br><select name="text_visible">
|
198
|
+
<option value="1"#{if @conf['tdiarytimes_f.text_visible'] != "0" then " selected" end}>表示</option>
|
199
|
+
<option value="0"#{if @conf['tdiarytimes_f.text_visible'] == "0" then " selected" end}>非表示</option>
|
200
|
+
</select></p>
|
201
|
+
<p>タイトルテキスト (TDIARYTIMES-FLASHSTYLE)<br>使用出来る文字は、英大文字 (A-Z) と数字 (0-9)、および記号のみです。<br><input name="text_text" value="#{@conf['tdiarytimes_f.text_text'].to_s}" size="20"></p>
|
202
|
+
<p>タイトルテキストの色 (333333)<br><input name="text_rgb" value="#{@conf['tdiarytimes_f.text_rgb'].to_s}" size="20"></p>
|
203
|
+
<h3 class="subtitle">時刻目盛テキスト</h3>
|
204
|
+
<p>時刻目盛テキストの表示有無 (表示)<br><select name="face_visible">
|
205
|
+
<option value="1"#{if @conf['tdiarytimes_f.face_visible'] != "0" then " selected" end}>表示</option>
|
206
|
+
<option value="0"#{if @conf['tdiarytimes_f.face_visible'] == "0" then " selected" end}>非表示</option>
|
207
|
+
</select></p>
|
208
|
+
<p>時刻目盛テキストの色 (333333)<br><input name="face_rgb" value="#{@conf['tdiarytimes_f.face_rgb'].to_s}" size="20"></p>
|
209
|
+
<hr>
|
210
|
+
<h3 class="subtitle">背景や棒グラフの色</h3>
|
211
|
+
<p>背景の色 (FFFFFF)<br><input name="stage_rgb" value="#{@conf['tdiarytimes_f.stage_rgb'].to_s}" size="20"></p>
|
212
|
+
<p>背景の不透明度 (0)<br><input name="stage_alpha" value="#{@conf['tdiarytimes_f.stage_alpha'].to_s}" size="20"></p>
|
213
|
+
<p>タイムラインの背景の色 (333333)<br><input name="bg_rgb" value="#{@conf['tdiarytimes_f.bg_rgb'].to_s}" size="20"></p>
|
214
|
+
<p>タイムラインの背景の不透明度 (100)<br><input name="bg_alpha" value="#{@conf['tdiarytimes_f.bg_alpha'].to_s}" size="20"></p>
|
215
|
+
<p>タイムラインに記録される棒グラフの色 (EEEEEE)<br><input name="bar_rgb" value="#{@conf['tdiarytimes_f.bar_rgb'].to_s}" size="20"></p>
|
216
|
+
<p>タイムラインに記録される棒グラフの線幅 (1)<br><input name="bar_width" value="#{@conf['tdiarytimes_f.bar_width'].to_s}" size="20"></p>
|
217
|
+
<p>タイムラインに記録される棒グラフの寿命日数 (30)<br><input name="fade_time" value="#{@conf['tdiarytimes_f.fade_time'].to_s}" size="20"></p>
|
218
|
+
<hr>
|
219
|
+
<h3 class="subtitle">ログ管理</h3>
|
220
|
+
<p>前回の日記登録から設定時間内はエントリを新規登録しない (2)<br><input name="entr_interval" value="#{@conf['tdiarytimes_f.entr_interval'].to_s}" size="20"></p>
|
221
|
+
<p>設定日数後にログファイルからエントリを削除する (30)<br><input name="entr_lifetime" value="#{@conf['tdiarytimes_f.entr_lifetime'].to_s}" size="20"></p>
|
222
|
+
<p>本プラグインが作成するログファイル名 (tdiarytimes.log)<br><input name="log_path" value="#{@conf['tdiarytimes_f.log_path'].to_s}" size="20"></p>
|
223
|
+
<hr>
|
224
|
+
<h3 class="subtitle">ユニークID を使用したファイル取得</h3>
|
225
|
+
<p>ファイル取得のリクエストにユニークID (例えば ?#{Time.now.to_i}) を含めることにより、古いファイルがブラウザにキャッシュされたままになるのを防ぎます。Flash のユニークID はプリファレンス設定時に、ログファイルのユニークID はエントリ登録時に更新されます。</p>
|
226
|
+
<p>ユニークID の付加 (付加する)<br><select name="uid">
|
227
|
+
<option value="1"#{if @conf['tdiarytimes_f.uid'] != "0" then " selected" end}>付加する</option>
|
228
|
+
<option value="0"#{if @conf['tdiarytimes_f.uid'] == "0" then " selected" end}>付加しない</option>
|
229
|
+
</select></p>
|
230
|
+
<hr>
|
231
|
+
<h3 class="subtitle">プレビュー</h3>
|
232
|
+
<p>表示したい SWF ファイル (.swf) が tdiary.rb と同じフォルダにアップロードされている必要があります。また、ログファイルが SWF ファイルと同じフォルダに作成されていない場合にはグラフが表示されません。</p>
|
233
|
+
<p>プレビュー (非表示)<br><select name="preview">
|
234
|
+
<option value="0"#{if @conf['tdiarytimes_f.preview'] != "1" then " selected" end}>非表示</option>
|
235
|
+
<option value="1"#{if @conf['tdiarytimes_f.preview'] == "1" then " selected" end}>表示</option>
|
236
|
+
</select></p>
|
237
|
+
HTML
|
238
|
+
|
239
|
+
end
|
240
|
+
|
241
|
+
|
242
|
+
def tdiarytimes_flashstyle_preview
|
243
|
+
unless @conf.mobile_agent?
|
244
|
+
<<-r
|
245
|
+
<p>#{if @conf['tdiarytimes_f.preview'] == "1" then "#{tdiarytimes_flashstyle}" else "プレビュー表示を有効にすると、ここに Flash が表示されます。" end}</p>
|
246
|
+
r
|
247
|
+
end
|
248
|
+
end
|
249
|
+
|
250
|
+
def tdiarytimes_flashstyle_templete( filename="tdiarytimes234x30.swf", argvs="", width="234", height="30" )
|
251
|
+
<<-r
|
252
|
+
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.adobe.com/pub/shockwave/cabs/flash/swflash.cab" width="#{width}" height="#{height}" id="tdiarytimes" align="middle">
|
253
|
+
<param name="allowScriptAccess" value="sameDomain">
|
254
|
+
<param name="movie" value="#{filename}#{argvs}">
|
255
|
+
<param name="play" value="false">
|
256
|
+
<param name="loop" value="false">
|
257
|
+
<param name="quality" value="high">
|
258
|
+
<param name="wmode" value="transparent">
|
259
|
+
<param name="bgcolor" value="#ffffff">
|
260
|
+
<embed src="#{filename}#{argvs}" play="false" loop="false" quality="high" wmode="transparent" bgcolor="#ffffff" width="#{width}" height="#{height}" name="tdiarytimes" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer"></embed>
|
261
|
+
</object>
|
262
|
+
r
|
263
|
+
end
|
@@ -0,0 +1,290 @@
|
|
1
|
+
# tdiarytimes_textstyle.rb $Revision: 1.3 $
|
2
|
+
#
|
3
|
+
# Copyright (c) 2004 phonondrive <tdiary@phonondrive.com>
|
4
|
+
# Distributed under the GPL
|
5
|
+
#
|
6
|
+
# プラグイン配布ページ:
|
7
|
+
# http://phonondrive.com/trd/
|
8
|
+
# --------------------------------------------------------------------
|
9
|
+
#
|
10
|
+
#
|
11
|
+
#
|
12
|
+
# Abstract:
|
13
|
+
# --------------------------------------------------------------------
|
14
|
+
# 日記を登録した時間帯をタイムライン上に記録します。
|
15
|
+
# 記録されたエントリは日時の経過と共にフェードアウトしていきます。
|
16
|
+
# このような MTBlogTimes や tdiarytimes と同等の機能をテキストで実現します。
|
17
|
+
# また、テキストベースであることを生かした柔軟なサイトデザインが可能です。
|
18
|
+
# ruby-gd のインストール作業も必要ないため、すぐに使用出来ます。
|
19
|
+
#
|
20
|
+
#
|
21
|
+
# Usage:
|
22
|
+
# --------------------------------------------------------------------
|
23
|
+
# プラグインは、プラグインフォルダに入れてください。
|
24
|
+
# ヘッダ、あるいはフッタ部に入力した <%= tdiarytimes_textstyle %>
|
25
|
+
# の位置にタイムライン文字列が展開されます。
|
26
|
+
# 新しいエントリの記録や保持期間の過ぎた古いエントリの削除は、
|
27
|
+
# 日記の追加および登録時に行われます。
|
28
|
+
# ただし、エントリのフェードアウト効果はリアルタイムに計算されます。
|
29
|
+
# エントリの表示分解能は10分ごとです。
|
30
|
+
#
|
31
|
+
#
|
32
|
+
# Options:
|
33
|
+
# --------------------------------------------------------------------
|
34
|
+
#
|
35
|
+
# 現在、次の9つのオプションが用意されています。
|
36
|
+
#
|
37
|
+
# init_text 日記の登録されていない時間帯の文字列 (任意の文字列)
|
38
|
+
# entr_text 日記が登録された時間帯の文字列 (任意の文字列)
|
39
|
+
# init_color 日記の登録されていない時間帯の文字列の色 (RRBBGG形式で指定)
|
40
|
+
# entr_color 日記が登録された時間帯の文字列の色 (RRBBGG形式で指定)
|
41
|
+
# fade_color 日記が登録された時間帯の文字列のフェードアウト先の色 (RRBBGG形式で指定)
|
42
|
+
# init_css タイムライン文字列全体のCSS設定 (CSSの書式に準拠)
|
43
|
+
# entr_css 日記が登録された時間帯の文字列のCSS設定 (CSSの書式に準拠)
|
44
|
+
# title_text オブジェクト上にマウスをポイントした時のTIPS文字列 (任意の文字列)
|
45
|
+
# fade_time ログとして保存しておく(フェードアウトに要する)日数 (任意の数値)
|
46
|
+
# entr_interval 前回のエントリ登録から指定時間以内は新規登録しない (任意の数値)
|
47
|
+
#
|
48
|
+
# オプション値の設定方法には3つの方法があり、その優先順位は次の通りです。
|
49
|
+
# <%= tdiarytimes_textstyle %> 引数指定 > tdiary.conf設定値 > デフォルト値
|
50
|
+
#
|
51
|
+
# entr_intervalを除いた全てのオプション値は <%= %> への引数指定により設定出来るため、
|
52
|
+
# ページにごとに意匠を変更するなど自由度の高いサイトデザインが可能です。
|
53
|
+
# 一方で、全てのオプションにデフォルト値が用意されているため、
|
54
|
+
# 全く設定を行わなくても動作します。
|
55
|
+
# デフォルト値の具体的な値については、tdiary.confへの記述方法の項を参照して下さい。
|
56
|
+
#
|
57
|
+
#
|
58
|
+
# <%= tdiarytimes_textstyle %>への引数指定によるオプション設定方法
|
59
|
+
# --------------------------------------------------------------------
|
60
|
+
#【書式】
|
61
|
+
# <%= tdiarytimes_textstyle init_text, entr_text, init_color, entr_color, fade_color, init_css, entr_css, title_text, fade_time %>
|
62
|
+
#
|
63
|
+
#【記述例】
|
64
|
+
# <%=tdiarytimes_textstyle "●","●","004400","66ff66","004400","background-color:#002200;font-size:9px",nil,"TEXTSTYLE!!",15 %>
|
65
|
+
#
|
66
|
+
# ※ tdiary.conf指定値、またはデフォルト値を使用したい場合は、引数に nil を指定してください。
|
67
|
+
#
|
68
|
+
#
|
69
|
+
# tdiary.confへの記述によるオプション設定方法
|
70
|
+
# --------------------------------------------------------------------
|
71
|
+
#【記述例】 (例として指定されている値は、プラグイン本体の持つデフォルト値です)
|
72
|
+
# @options['tdiarytimes_textstyle.init_text'] = "|"
|
73
|
+
# @options['tdiarytimes_textstyle.entr_text'] = "|"
|
74
|
+
# @options['tdiarytimes_textstyle.init_color'] = "444444"
|
75
|
+
# @options['tdiarytimes_textstyle.entr_color'] = "eeeeee"
|
76
|
+
# @options['tdiarytimes_textstyle.fade_color'] = "444444"
|
77
|
+
# @options['tdiarytimes_textstyle.init_css'] = "background-color:#444444;"
|
78
|
+
# @options['tdiarytimes_textstyle.entr_css'] = ""
|
79
|
+
# @options['tdiarytimes_textstyle.title_text'] = "TDIARYTIMES-TEXTSTYLE"
|
80
|
+
# @options['tdiarytimes_textstyle.fade_time'] = 30
|
81
|
+
# @options['tdiarytimes_textstyle.entr_interval'] = 1
|
82
|
+
#
|
83
|
+
# ※ fade_time の単位は日、entr_interval の単位は時間です。
|
84
|
+
# ※ ログとして保存しておく期間(フェードアウト期間)を過ぎたデータエントリは、
|
85
|
+
# 指定期間経過後の次回日記追加時にログファイルから削除されます。
|
86
|
+
# この期間を決定する fade_time 値は、<%= %> 引数からは指定出来ません。
|
87
|
+
# デフォルト値(30日)以外の値を用いたい場合は、必ず tdiary.conf にて指定して下さい。
|
88
|
+
# 同様に、entr_interval もデフォルト値(1時間)以外に設定したい場合は、
|
89
|
+
# tdiary.conf にて指定して下さい。ちなみに0.5だと30分間隔になります。
|
90
|
+
#
|
91
|
+
#
|
92
|
+
# In secure mode:
|
93
|
+
# --------------------------------------------------------------------
|
94
|
+
# 現在のところ動作しません。(ログファイルを読み込めない為)
|
95
|
+
#
|
96
|
+
#
|
97
|
+
# Acknowledgements:
|
98
|
+
# --------------------------------------------------------------------
|
99
|
+
# This plugin is based on tdiarytimes.rb $Revision: 1.3 $
|
100
|
+
# Copyright (c) 2003 neuichi <neuichi@nmnl.jp>
|
101
|
+
# Distributed under the GPL
|
102
|
+
# http://nmnl.jp/hiki/software/?tDiary+%3A%3A+Plugin
|
103
|
+
#
|
104
|
+
#
|
105
|
+
=begin ChangeLog
|
106
|
+
2004.03.04 phonondrive <tdiary@phonondrive.com>
|
107
|
+
* version 1.0.4
|
108
|
+
非応答USER-AGENTリストを更新しました。
|
109
|
+
|
110
|
+
2004.02.05 phonondrive <tdiary@phonondrive.com>
|
111
|
+
* version 1.0.3
|
112
|
+
フェードアウト効果の計算結果が正しく出力されない点を修正しました。
|
113
|
+
|
114
|
+
2004.01.30 phonondrive <tdiary@phonondrive.com>
|
115
|
+
* version 1.0.2
|
116
|
+
最低登録間隔のオプション (entr_interval) を追加。
|
117
|
+
前回のエントリ登録から指定時間以内は新規登録しないようにしました。
|
118
|
+
|
119
|
+
2004.01.29 phonondrive <tdiary@phonondrive.com>
|
120
|
+
* version 1.0.1
|
121
|
+
replace(登録)時もエントリを記録するようにしました。
|
122
|
+
次のUSER-AGENTからの呼び出しには結果を出力しないようにしました。
|
123
|
+
モバイル端末 (tDiary準拠)
|
124
|
+
テキストブラウザ (w3m, Lynx, links)
|
125
|
+
CSS非対応ブラウザ (Mosaic, Lite, iCab, JustView, WebExplorer)
|
126
|
+
検索ボット (bot, crawler, Spider, Slurp, inktomi, Sidewinder, naver)
|
127
|
+
その他 (libwww, antenna)
|
128
|
+
|
129
|
+
2004.01.28 phonondrive <tdiary@phonondrive.com>
|
130
|
+
* version 1.0.0
|
131
|
+
=end
|
132
|
+
|
133
|
+
|
134
|
+
|
135
|
+
|
136
|
+
# tDiarytimes_textstyle の結果を出力しない USER-AGENT リスト
|
137
|
+
# モバイル端末、テキストブラウザ、CSS非対応ブラウザ、検索ボット、アンテナなど
|
138
|
+
# 大文字・小文字は区別しません。
|
139
|
+
|
140
|
+
def tdiarytimes_textstyle_ignore_user_agent; "w3m|Lynx|links|Mosaic|Lite|iCab|JustView|WebExplorer|bot|crawler|Spider|Slurp|inktomi|Sidewinder|naver|libwww|archiver|http|check|WDB|WWWC|WWWD|samidare|tamatebako|NATSU-MICAN|hina|antenna"; end
|
141
|
+
|
142
|
+
|
143
|
+
|
144
|
+
|
145
|
+
# --------------------------------------------------------------------
|
146
|
+
# 日記登録時の処理
|
147
|
+
# --------------------------------------------------------------------
|
148
|
+
|
149
|
+
if /^(append|replace)$/ =~ @mode then
|
150
|
+
|
151
|
+
# オプション値(エントリ保持期間)の読み込みと設定
|
152
|
+
|
153
|
+
fade_time = @options['tdiarytimes_textstyle.fade_time'] || 30
|
154
|
+
fade_time = 24 * 60 * 60 * fade_time.to_f
|
155
|
+
|
156
|
+
entr_interval = @options['tdiarytimes_textstyle.entr_interval'] || 1
|
157
|
+
entr_interval = 60 * 60 * entr_interval.to_f
|
158
|
+
|
159
|
+
|
160
|
+
# ログデータの読み込み
|
161
|
+
|
162
|
+
cache = "#{@cache_path}/tdiarytimes_textstyle"
|
163
|
+
Dir::mkdir( cache ) unless File::directory?( cache )
|
164
|
+
|
165
|
+
begin
|
166
|
+
io = open("#{cache}/tdiarytimes_textstyle.dat","r")
|
167
|
+
ary_data = Marshal.load(io)
|
168
|
+
io.close
|
169
|
+
|
170
|
+
# 1.0.1 >> 1.0.2 ログデータ移行用
|
171
|
+
if ary_data.size == 144
|
172
|
+
ary_data.push(Time.now.to_i - entr_interval - 1)
|
173
|
+
end
|
174
|
+
|
175
|
+
rescue
|
176
|
+
# ログがない場合は仮データを用意
|
177
|
+
ary_data = Array.new(145) {|i| 0 }
|
178
|
+
end
|
179
|
+
|
180
|
+
|
181
|
+
# 不良データや寿命が来たエントリを削除する
|
182
|
+
|
183
|
+
(0..143).each {|i|
|
184
|
+
delta = (Time.now.to_i - ary_data[i])/fade_time.to_f
|
185
|
+
if delta < 0 || delta > 1
|
186
|
+
ary_data[i] = 0
|
187
|
+
end
|
188
|
+
}
|
189
|
+
|
190
|
+
|
191
|
+
# 最低登録間隔を経過していたら、日記が登録された時間帯に新しいエントリをセットする
|
192
|
+
|
193
|
+
if (Time.now.to_i - ary_data[144]) > entr_interval.to_f
|
194
|
+
ary_data[(Time.now.strftime('%H').to_i*6 + Time.now.strftime('%M').to_f/10).to_i] = Time.now.to_i
|
195
|
+
# 最終登録時間の記録
|
196
|
+
ary_data[144] = Time.now.to_i
|
197
|
+
end
|
198
|
+
|
199
|
+
|
200
|
+
# ログデータの書き込み
|
201
|
+
|
202
|
+
io = open("#{cache}/tdiarytimes_textstyle.dat","w")
|
203
|
+
Marshal.dump(ary_data,io)
|
204
|
+
io.close
|
205
|
+
end
|
206
|
+
|
207
|
+
|
208
|
+
|
209
|
+
|
210
|
+
# --------------------------------------------------------------------
|
211
|
+
# プラグイン表示時の動作
|
212
|
+
# --------------------------------------------------------------------
|
213
|
+
|
214
|
+
def tdiarytimes_textstyle(init_text = nil, entr_text = nil, init_color = nil, entr_color = nil, fade_color = nil, init_css = nil, entr_css = nil, title_text = nil, fade_time = nil)
|
215
|
+
|
216
|
+
|
217
|
+
# モバイル端末、テキストブラウザ、CSS非対応ブラウザ、検索ボットなどには結果を出力しない
|
218
|
+
|
219
|
+
unless @cgi.mobile_agent? || @cgi.user_agent =~ %r[(#{tdiarytimes_textstyle_ignore_user_agent})]i
|
220
|
+
|
221
|
+
|
222
|
+
r = ""
|
223
|
+
|
224
|
+
|
225
|
+
# オプション値の読み込みと設定
|
226
|
+
|
227
|
+
init_text = @options['tdiarytimes_textstyle.init_text'] || "|" unless init_text
|
228
|
+
entr_text = @options['tdiarytimes_textstyle.entr_text'] || "|" unless entr_text
|
229
|
+
init_color = @options['tdiarytimes_textstyle.init_color'] || "444444" unless init_color
|
230
|
+
entr_color = @options['tdiarytimes_textstyle.entr_color'] || "eeeeee" unless entr_color
|
231
|
+
fade_color = @options['tdiarytimes_textstyle.fade_color'] || "444444" unless fade_color
|
232
|
+
init_css = @options['tdiarytimes_textstyle.init_css'] || "background-color:#444444;" unless init_css
|
233
|
+
entr_css = @options['tdiarytimes_textstyle.entr_css'] || "" unless entr_css
|
234
|
+
title_text = @options['tdiarytimes_textstyle.title_text'] || "TDIARYTIMES-TEXTSTYLE" unless title_text
|
235
|
+
fade_time = @options['tdiarytimes_textstyle.fade_time'] || 30 unless fade_time
|
236
|
+
|
237
|
+
|
238
|
+
entr_color_rgb = entr_color.unpack("a2a2a2")
|
239
|
+
fade_color_rgb = fade_color.unpack("a2a2a2")
|
240
|
+
|
241
|
+
fade_time = 24 * 60 * 60 * fade_time.to_f
|
242
|
+
|
243
|
+
|
244
|
+
# ログデータの読み込み
|
245
|
+
|
246
|
+
cache = "#{@cache_path}/tdiarytimes_textstyle"
|
247
|
+
|
248
|
+
begin
|
249
|
+
io = open("#{cache}/tdiarytimes_textstyle.dat","r")
|
250
|
+
ary_data = Marshal.load(io)
|
251
|
+
io.close
|
252
|
+
rescue
|
253
|
+
# ログファイルが見つからない場合はエラーとダミーデータを表示
|
254
|
+
r << %Q|Error! cannot open log file.|
|
255
|
+
ary_data = Array.new(145) {|i| 0 }
|
256
|
+
end
|
257
|
+
|
258
|
+
|
259
|
+
# htmlデータの出力
|
260
|
+
|
261
|
+
r << %Q|<span style="color:##{h init_color};#{h init_css}" title="#{h title_text}">|
|
262
|
+
|
263
|
+
(0..143).each {|i|
|
264
|
+
data = ary_data[i]
|
265
|
+
if data != 0
|
266
|
+
delta = (Time.now.to_i - data)/fade_time.to_f
|
267
|
+
if delta < 0
|
268
|
+
# 不良エントリ対策
|
269
|
+
now_color = init_color
|
270
|
+
elsif delta > 1
|
271
|
+
# フェードアウト期間超過エントリ対策
|
272
|
+
now_color = fade_color
|
273
|
+
else
|
274
|
+
# 正常なエントリの処理
|
275
|
+
now_color = ""
|
276
|
+
(0..2).each{|i|
|
277
|
+
now_color << format("%02x", entr_color_rgb[i].hex + ((fade_color_rgb[i].hex - entr_color_rgb[i].hex)*delta).to_i)
|
278
|
+
}
|
279
|
+
end
|
280
|
+
r << %Q|<span style="color:##{h now_color};#{h entr_css}" title="#{Time.at(data).strftime('%b %d,%Y')}">#{entr_text}</span>|
|
281
|
+
else
|
282
|
+
r << %Q|#{init_text}|
|
283
|
+
end
|
284
|
+
}
|
285
|
+
|
286
|
+
r << %Q|</span>|
|
287
|
+
|
288
|
+
end
|
289
|
+
|
290
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
#
|
2
|
+
# title_anchor.rb:
|
3
|
+
#
|
4
|
+
# Copyright (C) 2007 by SHIBATA Hiroshi <h-sbt@nifty.com>
|
5
|
+
# Distributed under GPL2.
|
6
|
+
#
|
7
|
+
|
8
|
+
def title_anchor
|
9
|
+
r = ''
|
10
|
+
if /^latest$/ =~ @mode
|
11
|
+
r << %Q|<h1>#{h @conf.html_title}</h1>|
|
12
|
+
else
|
13
|
+
r << %Q|<h1><a href="#{h @conf.index}">#{h @conf.html_title}</a></h1>|
|
14
|
+
end
|
15
|
+
r
|
16
|
+
end
|