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,79 @@
|
|
1
|
+
#
|
2
|
+
# yahoo_kousei.rb -
|
3
|
+
# Yahoo!JAPANデベロッパーネットワークの校正支援APIを利用して、
|
4
|
+
# 日本語文の校正作業を支援します。文字の入力ミスや言葉の誤用がないか、
|
5
|
+
# わかりにくい表記や不適切な表現が使われていないかなどをチェックします。
|
6
|
+
#
|
7
|
+
# Copyright (c) 2010, hb <http://www.smallstyle.com/>
|
8
|
+
# You can redistribute it and/or modify it under GPL.
|
9
|
+
#
|
10
|
+
# 設定:
|
11
|
+
#
|
12
|
+
# @options['yahoo_kousei.appid'] : アプリケーションID(必須)
|
13
|
+
# @options['yahoo_kousei.filter_group'] :
|
14
|
+
# 指摘グループの番号をコンマで区切って指定します。
|
15
|
+
# @options['yahoo_kousei.no_filter'] :
|
16
|
+
# filter_groupで指定した指摘グループから除外する指摘を指定します。
|
17
|
+
#
|
18
|
+
# 設定値は http://developer.yahoo.co.jp/webapi/jlp/kousei/v1/kousei.html を参照
|
19
|
+
#
|
20
|
+
|
21
|
+
require 'timeout'
|
22
|
+
require 'rexml/document'
|
23
|
+
require 'net/http'
|
24
|
+
Net::HTTP.version_1_2
|
25
|
+
|
26
|
+
def kousei_api( sentence )
|
27
|
+
appid = @conf['yahoo_kousei.appid']
|
28
|
+
|
29
|
+
query = "appid=#{appid}&sentence=#{URI.encode( sentence.gsub( /\n/, '' ) )}"
|
30
|
+
query << "&filter_group=" + @conf['yahoo_kousei.filter_group'] if @conf['yahoo_kousei.filter_group']
|
31
|
+
query << "&no_filter=" + @conf['yahoo_kousei.no_filter'] if @conf['yahoo_kousei.no_filter']
|
32
|
+
|
33
|
+
px_host, px_port = (@conf['proxy'] || '').split( /:/ )
|
34
|
+
px_port = 80 if px_host and !px_port
|
35
|
+
|
36
|
+
xml = ''
|
37
|
+
Net::HTTP::Proxy( px_host, px_port ).start( 'jlp.yahooapis.jp' ) do |http|
|
38
|
+
xml = http.post( '/KouseiService/V1/kousei', query ).body
|
39
|
+
end
|
40
|
+
xml
|
41
|
+
end
|
42
|
+
|
43
|
+
def kousei_result( result_set )
|
44
|
+
html = <<-HTML
|
45
|
+
<h3>文章校正結果</h3>
|
46
|
+
HTML
|
47
|
+
|
48
|
+
doc = REXML::Document::new( result_set )
|
49
|
+
results = REXML::XPath.match( doc, "//Result" )
|
50
|
+
if results.empty?
|
51
|
+
html << "<p>指摘項目は見つかりませんでした。</p>"
|
52
|
+
else
|
53
|
+
html << '<table>'
|
54
|
+
html << '<tr><th>対象表記</th><th>候補文字</th><th>詳細情報</th><th>場所</th></tr>'
|
55
|
+
doc.elements.each( '//ResultSet/Result' ) do |r|
|
56
|
+
html << %Q|<tr class="plugin_yahoo_search_result_raw"><td>#{r.elements['Surface'].text}</td><td>#{r.elements['ShitekiWord'].text}</td><td>#{r.elements['ShitekiInfo'].text}</td><td>#{r.elements['StartPos'].text},#{r.elements['Length'].text}</td></tr>|
|
57
|
+
end
|
58
|
+
html << '</table>'
|
59
|
+
end
|
60
|
+
html
|
61
|
+
end
|
62
|
+
|
63
|
+
add_edit_proc do
|
64
|
+
if @mode == 'preview' && @conf['yahoo_kousei.appid'] then
|
65
|
+
xml = kousei_api( @cgi.params['body'][0] )
|
66
|
+
<<-HTML
|
67
|
+
<div id="plugin_yahoo_kousei" class="section">
|
68
|
+
#{kousei_result( xml )}
|
69
|
+
<!-- Begin Yahoo! JAPAN Web Services Attribution Snippet -->
|
70
|
+
<span style="margin:15px 15px 15px 15px"><a href="http://developer.yahoo.co.jp/about">Webサービス by Yahoo! JAPAN</a></span>
|
71
|
+
<!-- End Yahoo! JAPAN Web Services Attribution Snippet -->
|
72
|
+
</div>
|
73
|
+
HTML
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
if /\A(form|edit|preview|showcomment)\z/ === @mode then
|
78
|
+
enable_js( 'yahoo_kousei.js' )
|
79
|
+
end
|
data/plugin/yahoo_map.rb
ADDED
@@ -0,0 +1,97 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
#
|
3
|
+
# yahoo_map.rb - embeded Yahoo! JAPAN Map for tDiary
|
4
|
+
#
|
5
|
+
# Copyright (C) 2010, KAYA Satoshi <kayakaya@kayakaya.net>
|
6
|
+
# You can redistribute it and/or modify it under GPL2.
|
7
|
+
#
|
8
|
+
|
9
|
+
add_header_proc do
|
10
|
+
init_ymap
|
11
|
+
r = ''
|
12
|
+
if @conf['yahoo_jp.appid'] and @conf['yahoo_jp.appid'].size > 0
|
13
|
+
r << %Q|<script type="text/javascript" charset="utf-8"|
|
14
|
+
r << %Q| src="http://js.api.olp.yahooapis.jp/OpenLocalPlatform/V1/jsapi?appid=#{h @conf['yahoo_jp.appid']}"></script>|
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
add_conf_proc( 'yahoo_jp_appid', 'Yahoo! JAPAN Application ID' ) do
|
19
|
+
if @mode == 'saveconf' then
|
20
|
+
@conf['yahoo_jp.appid'] = @cgi.params['yahoo_jp.appid'][0]
|
21
|
+
end
|
22
|
+
|
23
|
+
<<-HTML
|
24
|
+
<h3 class="subtitle">Yahoo! JAPAN Application ID</h3>
|
25
|
+
<p><input name="yahoo_jp.appid" value="#{h @conf['yahoo_jp.appid']}" size="70"></p>
|
26
|
+
<p><a href="http://e.developer.yahoo.co.jp/webservices/register_application">Get Application id</a></p>
|
27
|
+
HTML
|
28
|
+
end
|
29
|
+
|
30
|
+
add_footer_proc do |date|
|
31
|
+
insert_ymap_js
|
32
|
+
end
|
33
|
+
|
34
|
+
def init_ymap
|
35
|
+
@ymap_container = Array.new
|
36
|
+
end
|
37
|
+
|
38
|
+
def generate_ymapid(lat, lon, layer, size)
|
39
|
+
ymapid = 'ymapid' << lat.to_s << lon.to_s << layer.to_s << size
|
40
|
+
ymapid.delete('.')
|
41
|
+
end
|
42
|
+
|
43
|
+
def yahoo_map(lat, lon, options = {})
|
44
|
+
options[:layer] ||= 17
|
45
|
+
options[:size] ||= 'medium'
|
46
|
+
|
47
|
+
if feed? or @conf.mobile_agent? then
|
48
|
+
return %Q|<p><a href="http://map.yahoo.co.jp/pl?type=scroll&lat=#{lat}&lon=#{lon}&z=17&mode=map&pointer=on&datum=wgs&fa=ks&home=on&hlat=#{lat}&hlon=#{lon}&layout=&ei=utf-8&p=">Link to Yahoo! JAPAN Map </a></p>|
|
49
|
+
end
|
50
|
+
|
51
|
+
# define map size
|
52
|
+
height = {'iphone' => '240px', 'small'=> '240px', 'medium' => '360px', 'large' => '480px'}
|
53
|
+
width = {'iphone' => '240px', 'small' => '320px', 'medium' => '480px', 'large' => '640px'}
|
54
|
+
if @conf.iphone? then
|
55
|
+
size = 'iphone'
|
56
|
+
else
|
57
|
+
size = options[:size]
|
58
|
+
end
|
59
|
+
|
60
|
+
ymapid = generate_ymapid(lat, lon, options[:layer], options[:size])
|
61
|
+
ymap_info = {:ymapid => ymapid, :lat => lat, :lon => lon, :layer => options[:layer]}
|
62
|
+
|
63
|
+
@ymap_container << ymap_info
|
64
|
+
|
65
|
+
%Q|<div class="ymap" id="#{ymapid}" style="width:#{width[size]}; height:#{height[size]}"></div>|
|
66
|
+
end
|
67
|
+
|
68
|
+
def insert_ymap_js
|
69
|
+
r = ''
|
70
|
+
if @ymap_container.size > 0 and not feed? then
|
71
|
+
r << %Q|<script type="text/javascript">\n|
|
72
|
+
r << %Q|function defineYmapIds() {\n|
|
73
|
+
@ymap_container.each do |ymap_info|
|
74
|
+
r << %Q| var obj#{ymap_info[:ymapid]} = new Y.Map("#{ymap_info[:ymapid]}");\n|
|
75
|
+
r << %Q| obj#{ymap_info[:ymapid]}.drawMap(new Y.LatLng(#{ymap_info[:lat]}, #{ymap_info[:lon]}), #{ymap_info[:layer]}, Y.LayerSetId.NORMAL);\n|
|
76
|
+
r << %Q| objCenterMarkControl = new Y.CenterMarkControl();\n|
|
77
|
+
r << %Q| objLayerSetControl = new Y.LayerSetControl();\n|
|
78
|
+
r << %Q| objScaleControl = new Y.ScaleControl();\n|
|
79
|
+
r << %Q| objZoomControl = new Y.SliderZoomControlVertical();\n|
|
80
|
+
r << %Q| obj#{ymap_info[:ymapid]}.addControl(objCenterMarkControl);\n|
|
81
|
+
r << %Q| obj#{ymap_info[:ymapid]}.addControl(objLayerSetControl);\n|
|
82
|
+
r << %Q| obj#{ymap_info[:ymapid]}.addControl(objScaleControl);\n|
|
83
|
+
r << %Q| obj#{ymap_info[:ymapid]}.addControl(objZoomControl);\n|
|
84
|
+
end
|
85
|
+
r << %Q|}\n|
|
86
|
+
r << %Q|if (window.addEventListener) window.addEventListener("load", defineYmapIds, false); // for DOM level 2 compliant Web browsers\n|
|
87
|
+
r << %Q|else if (window.attachEvent) window.attachEvent("onload", defineYmapIds); // for IE\n|
|
88
|
+
r << %Q|</script>|
|
89
|
+
end
|
90
|
+
end
|
91
|
+
# Local Variables:
|
92
|
+
# mode: ruby
|
93
|
+
# indent-tabs-mode: t
|
94
|
+
# tab-width: 3
|
95
|
+
# ruby-indent-level: 3
|
96
|
+
# End:
|
97
|
+
# vim: ts=3
|
data/plugin/youtube.rb
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
#
|
2
|
+
# youtube.rb: YouTube plugin for tDiary
|
3
|
+
#
|
4
|
+
# Copyright (C) 2010 by TADA Tadashi <t@tdtds.jp>
|
5
|
+
#
|
6
|
+
# usage: <%= youtube 'VIDEO_ID' %>
|
7
|
+
#
|
8
|
+
def youtube( video_id, size = [425,350] )
|
9
|
+
if @conf.mobile_agent? or feed? then
|
10
|
+
%Q|<div class="youtube"><a href="http://www.youtube.com/watch?v=#{video_id}">YouTube (#{video_id})</a></div>|
|
11
|
+
elsif defined?( :smartphone? ) and @conf.smartphone?
|
12
|
+
size = [240, 194]
|
13
|
+
<<-TAG
|
14
|
+
<iframe class="youtube-player" type="text/html" width="#{size[0]}" height="#{size[1]}" src="http://www.youtube.com/embed/#{video_id}" frameborder="0">
|
15
|
+
</iframe>
|
16
|
+
<div class="youtube"><a href="http://www.youtube.com/watch?v=#{video_id}">YouTube (#{video_id})</a></div>
|
17
|
+
TAG
|
18
|
+
else
|
19
|
+
<<-TAG
|
20
|
+
<iframe class="youtube-player" type="text/html" width="#{size[0]}" height="#{size[1]}" src="http://www.youtube.com/embed/#{video_id}" frameborder="0">
|
21
|
+
</iframe>
|
22
|
+
TAG
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
def youtube_custom( video_id, size = [416,337] )
|
27
|
+
<<-TAG
|
28
|
+
<object width="#{size[0]}" height="#{size[1]}">
|
29
|
+
<param name="movie" value="http://www.youtube.com/cp/#{video_id}"></param>
|
30
|
+
<embed src="http://www.youtube.com/cp/#{video_id}" type="application/x-shockwave-flash" width="#{size[0]}" height="#{size[1]}"></embed>
|
31
|
+
</object>
|
32
|
+
TAG
|
33
|
+
end
|
data/plugin/yshop.rb
ADDED
@@ -0,0 +1,189 @@
|
|
1
|
+
# yshop.rb $Revision: 3 $
|
2
|
+
# Copyright (C) 2008 Michitaka Ohno <elpeo@mars.dti.ne.jp>
|
3
|
+
# You can redistribute it and/or modify it under GPL2.
|
4
|
+
|
5
|
+
# ja/yshop.rb
|
6
|
+
@yshop_label_conf ='Yahoo!ショッピング'
|
7
|
+
@yshop_label_appid = 'アプリケーションID'
|
8
|
+
@yshop_label_affiliate_type = 'アフィリエイトの種類'
|
9
|
+
@yshop_label_yid = 'Yahoo! JAPANアフィリエイト'
|
10
|
+
@yshop_label_vc = 'バリューコマースアフィリエイト'
|
11
|
+
@yshop_label_affiliate_id = 'アフィリエイトID'
|
12
|
+
@yshop_label_imgsize = '表示するイメージのサイズ'
|
13
|
+
@yshop_label_medium = '普通'
|
14
|
+
@yshop_label_small = '小さい'
|
15
|
+
@yshop_label_clearcache = 'キャッシュの削除'
|
16
|
+
@yshop_label_clearcache_desc = 'イメージ関連情報のキャッシュを削除する(Yahoo!ショッピング上の表示と矛盾がある場合に試して下さい)'
|
17
|
+
|
18
|
+
require 'rexml/document'
|
19
|
+
require 'open-uri'
|
20
|
+
require 'kconv'
|
21
|
+
|
22
|
+
eval( <<-TOPLEVEL_CLASS, TOPLEVEL_BINDING )
|
23
|
+
require 'erb'
|
24
|
+
include ERB::Util
|
25
|
+
TOPLEVEL_CLASS
|
26
|
+
|
27
|
+
def yshop_get( param, store )
|
28
|
+
if Hash === param then
|
29
|
+
param = param.dup
|
30
|
+
elsif /^(\d{8}|\d{13})$/ === param then
|
31
|
+
param = {:jan => $1}
|
32
|
+
else
|
33
|
+
param = {:query => param.to_s}
|
34
|
+
end
|
35
|
+
param[:store_id] = store if store
|
36
|
+
cache = "#{@cache_path}/yshop"
|
37
|
+
Dir::mkdir( cache ) unless File::directory?( cache )
|
38
|
+
file = "#{cache}/#{u( param.to_s )}.xml"
|
39
|
+
begin
|
40
|
+
xml = File::read( file )
|
41
|
+
rescue
|
42
|
+
qs = []
|
43
|
+
qs << 'appid='+u( @conf['yshop.appid']||'YahooDemo' )
|
44
|
+
qs << 'affiliate_type='+u( @conf['yshop.affiliate_type'] ) if @conf['yshop.affiliate_type']
|
45
|
+
qs << 'affiliate_id='+u( @conf['yshop.affiliate_id'] ) if @conf['yshop.affiliate_id']
|
46
|
+
[:query, :jan, :isbn, :store_id].each do |item|
|
47
|
+
qs << "#{item}="+u( param[item].toutf8 ) if param.include?( item )
|
48
|
+
end
|
49
|
+
qs << 'hits=1'
|
50
|
+
xml = open( 'http://shopping.yahooapis.jp/ShoppingWebService/V1/itemSearch?'+(qs*'&') ){|f| f.read}
|
51
|
+
open( file, 'wb' ) {|f| f.write( xml )} if xml
|
52
|
+
end
|
53
|
+
REXML::Document.new( xml ).root if xml
|
54
|
+
end
|
55
|
+
|
56
|
+
def yshop_get_image( doc )
|
57
|
+
img = Struct.new( :size, :src, :width, :height ).new
|
58
|
+
if @conf['yshop.imgsize'] == 1 then
|
59
|
+
img.size = 'Small'
|
60
|
+
img.width = img.height = 76
|
61
|
+
else
|
62
|
+
img.size = 'Medium'
|
63
|
+
img.width = img.height = 146
|
64
|
+
end
|
65
|
+
begin
|
66
|
+
img.src = doc.elements["Result/Hit/Image/#{img.size}"].text
|
67
|
+
rescue
|
68
|
+
img.src = "http://i.yimg.jp/images/sh/noimage/#{img.width}x#{img.height}.gif"
|
69
|
+
end
|
70
|
+
img
|
71
|
+
end
|
72
|
+
|
73
|
+
def yshop_get_brands( doc )
|
74
|
+
begin
|
75
|
+
@conf.to_native( doc.elements['Result/Hit/Brands/Name'].text )
|
76
|
+
rescue
|
77
|
+
'-'
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
81
|
+
def yshop_get_price( doc )
|
82
|
+
begin
|
83
|
+
r = doc.elements['Result/Hit/Price'].text
|
84
|
+
nil while r.gsub!(/(.*\d)(\d\d\d)/, '\1,\2')
|
85
|
+
"\\"+r
|
86
|
+
rescue
|
87
|
+
'(no price)'
|
88
|
+
end
|
89
|
+
end
|
90
|
+
|
91
|
+
def yshop_get_shop( doc )
|
92
|
+
begin
|
93
|
+
@conf.to_native( doc.elements['Result/Hit/Store/Name'].text )
|
94
|
+
rescue
|
95
|
+
'-'
|
96
|
+
end
|
97
|
+
end
|
98
|
+
|
99
|
+
def yshop_get_html( param, store, pos )
|
100
|
+
doc = yshop_get( param, store )
|
101
|
+
return unless doc && doc.attributes['totalResultsReturned'].to_i > 0
|
102
|
+
name = @conf.to_native( doc.elements["Result/Hit/Name"].text )
|
103
|
+
link = doc.elements["Result/Hit/Url"].text
|
104
|
+
img = yshop_get_image( doc )
|
105
|
+
r = %Q[<a href="#{h( link )}">]
|
106
|
+
r << %Q[<img class="#{pos}" src="#{h( img.src )}" width="#{h( img.width )}" height="#{h( img.height )}" alt="#{h( name )}" title="#{h( name )}">] if img.src
|
107
|
+
r << h( name )
|
108
|
+
r << %Q[</a>]
|
109
|
+
end
|
110
|
+
|
111
|
+
def yshop_image( param, store = nil )
|
112
|
+
yshop_get_html( param, store, 'amazon' )
|
113
|
+
end
|
114
|
+
|
115
|
+
def yshop_image_left( param, store = nil )
|
116
|
+
yshop_get_html( param, store, 'left' )
|
117
|
+
end
|
118
|
+
|
119
|
+
def yshop_image_right( param, store = nil )
|
120
|
+
yshop_get_html( param, store, 'right' )
|
121
|
+
end
|
122
|
+
|
123
|
+
def yshop_detail( param, store = nil )
|
124
|
+
doc = yshop_get( param, store )
|
125
|
+
return unless doc && doc.attributes['totalResultsReturned'].to_i > 0
|
126
|
+
name = @conf.to_native( doc.elements["Result/Hit/Name"].text )
|
127
|
+
link = doc.elements["Result/Hit/Url"].text
|
128
|
+
img = yshop_get_image( doc )
|
129
|
+
brands = yshop_get_brands( doc )
|
130
|
+
price = yshop_get_price( doc )
|
131
|
+
shop = yshop_get_shop( doc )
|
132
|
+
<<-HTML
|
133
|
+
<a href="#{h( link )}">
|
134
|
+
<img class="amazon-detail left" src="#{h( img.src )}"
|
135
|
+
width="#{h( img.width)}" height="#{h( img.height )}"
|
136
|
+
alt="#{h( name )}" title="#{h( name )}">
|
137
|
+
</a>
|
138
|
+
<span class="amazon-title">#{h( name )}</span><br>
|
139
|
+
<span class="amazon-author">#{h( brands )}</span><br>
|
140
|
+
<span class="amazon-label">#{h( shop )}</span><br>
|
141
|
+
<span class="amazon-price">#{h( price )}</span><br style="clear: left">
|
142
|
+
HTML
|
143
|
+
end
|
144
|
+
|
145
|
+
add_conf_proc( 'yshop', @yshop_label_conf ) do
|
146
|
+
yshop_conf_proc
|
147
|
+
end
|
148
|
+
|
149
|
+
def yshop_conf_proc
|
150
|
+
if @mode == 'saveconf' then
|
151
|
+
@conf['yshop.imgsize'] = @cgi.params['yshop.imgsize'][0].to_i
|
152
|
+
if @cgi.params['yshop.clearcache'][0] == 'true' then
|
153
|
+
Dir["#{@cache_path}/yshop/*"].each do |cache|
|
154
|
+
File::delete( cache.untaint )
|
155
|
+
end
|
156
|
+
end
|
157
|
+
if @cgi.params['yshop.appid'][0].empty? then
|
158
|
+
@conf['yshop.appid'] = nil
|
159
|
+
else
|
160
|
+
@conf['yshop.appid'] = @cgi.params['yshop.appid'][0]
|
161
|
+
end
|
162
|
+
if @cgi.params['yshop.affiliate_id'][0].empty? then
|
163
|
+
@conf['yshop.affiliate_type'] = nil
|
164
|
+
@conf['yshop.affiliate_id'] = nil
|
165
|
+
else
|
166
|
+
@conf['yshop.affiliate_type'] = @cgi.params['yshop.affiliate_type'][0]
|
167
|
+
@conf['yshop.affiliate_id'] = @cgi.params['yshop.affiliate_id'][0]
|
168
|
+
end
|
169
|
+
end
|
170
|
+
|
171
|
+
<<-HTML
|
172
|
+
<h3>#{@yshop_label_appid}</h3>
|
173
|
+
<p><input name="yshop.appid" value="#{h( @conf['yshop.appid'] )}" size="100"></p>
|
174
|
+
<h3>#{@yshop_label_affiliate_type}</h3>
|
175
|
+
<p><select name="yshop.affiliate_type">
|
176
|
+
<option value="yid"#{" selected" if @conf['yshop.affiliate_type'] == 'yid'}>#{@yshop_label_yid}</option>
|
177
|
+
<option value="vc"#{" selected" if @conf['yshop.affiliate_type'] == 'vc'}>#{@yshop_label_vc}</option>
|
178
|
+
</select></p>
|
179
|
+
<h3>#{@yshop_label_affiliate_id}</h3>
|
180
|
+
<p><input name="yshop.affiliate_id" value="#{h( @conf['yshop.affiliate_id'] )}" size="100"></p>
|
181
|
+
<h3>#{@yshop_label_imgsize}</h3>
|
182
|
+
<p><select name="yshop.imgsize">
|
183
|
+
<option value="0"#{" selected" if @conf['yshop.imgsize'] == 0}>#{@yshop_label_medium}</option>
|
184
|
+
<option value="1"#{" selected" if @conf['yshop.imgsize'] == 1}>#{@yshop_label_small}</option>
|
185
|
+
</select></p>
|
186
|
+
<h3>#{@yshop_label_clearcache}</h3>
|
187
|
+
<p><label for="yshop.clearcache"><input type="checkbox" id="yshop.clearcache" name="yshop.clearcache" value="true">#{@yshop_label_clearcache_desc}</label></p>
|
188
|
+
HTML
|
189
|
+
end
|
data/plugin/zenback.rb
ADDED
@@ -0,0 +1,46 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
# Copyright (C) 2011, KADO Masanori <kdmsnr@gmail.com>
|
3
|
+
# You can redistribute it and/or modify it under GPL.
|
4
|
+
def insert_zenback
|
5
|
+
return if feed?
|
6
|
+
@conf['zenback.script'] || ''
|
7
|
+
end
|
8
|
+
|
9
|
+
if @mode == 'day' and (respond_to?(:section_mode?) ? section_mode? : true)
|
10
|
+
add_title_proc do |date, title|
|
11
|
+
"#{title}<!-- zenback_date #{date.strftime '%Y-%m-%d'} -->"
|
12
|
+
end
|
13
|
+
add_body_enter_proc do
|
14
|
+
"<!-- zenback_body_begin -->"
|
15
|
+
end
|
16
|
+
if defined? add_comment_leave_proc
|
17
|
+
add_comment_leave_proc do
|
18
|
+
"<!-- zenback_body_end -->" +
|
19
|
+
insert_zenback
|
20
|
+
end
|
21
|
+
else
|
22
|
+
add_body_leave_proc do
|
23
|
+
"<!-- zenback_body_end -->" +
|
24
|
+
insert_zenback
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
add_conf_proc( 'zenback', 'zenback', 'etc' ) do
|
30
|
+
if @mode == 'saveconf' then
|
31
|
+
@conf['zenback.script'] = @cgi.params['zenback.script'][0]
|
32
|
+
end
|
33
|
+
|
34
|
+
<<-HTML
|
35
|
+
<h3>Script Code</h3>
|
36
|
+
<p><input size="88" name="zenback.script" value="#{h @conf['zenback.script']}"></p>
|
37
|
+
HTML
|
38
|
+
end
|
39
|
+
|
40
|
+
# Local Variables:
|
41
|
+
# mode: ruby
|
42
|
+
# indent-tabs-mode: t
|
43
|
+
# tab-width: 3
|
44
|
+
# ruby-indent-level: 3
|
45
|
+
# End:
|
46
|
+
# vim: ts=3
|
@@ -0,0 +1,46 @@
|
|
1
|
+
$:.unshift(File.dirname(__FILE__))
|
2
|
+
require 'spec_helper'
|
3
|
+
|
4
|
+
describe "apple_webclip plugin" do
|
5
|
+
def setup_apple_webclip_plugin( url )
|
6
|
+
fake_plugin(:apple_webclip) { |plugin|
|
7
|
+
plugin.conf['apple_webclip.url'] = url
|
8
|
+
}
|
9
|
+
end
|
10
|
+
|
11
|
+
describe "url is enabled" do
|
12
|
+
before do
|
13
|
+
plugin = setup_apple_webclip_plugin('http://example.com/example.png')
|
14
|
+
@header_snippet = plugin.header_proc
|
15
|
+
end
|
16
|
+
|
17
|
+
it "header include url" do
|
18
|
+
@header_snippet.should == %Q|\t<link rel="apple-touch-icon" href="http://example.com/example.png">|
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
describe "url is disabled" do
|
23
|
+
describe "url is empty" do
|
24
|
+
before do
|
25
|
+
plugin = setup_apple_webclip_plugin('')
|
26
|
+
@header_snippet = plugin.header_proc
|
27
|
+
end
|
28
|
+
|
29
|
+
it "header is empty" do
|
30
|
+
@header_snippet.should be_empty
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
describe "url is nil" do
|
35
|
+
before do
|
36
|
+
plugin = setup_apple_webclip_plugin(nil)
|
37
|
+
@header_snippet = plugin.header_proc
|
38
|
+
end
|
39
|
+
|
40
|
+
it "header is empty" do
|
41
|
+
@header_snippet.should be_empty
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
end
|
@@ -0,0 +1,2 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<feed><sup_id>44123b23</sup_id><description>Ex-CTO of Facebook. Previously co-founder and CEO of FriendFeed. Programmer, food lover.</description><type>user</type><id>bret</id><name>Bret Taylor</name><entry><body>FriendFeed Blog: Ben Darnell joins FriendFeed: Ben++! - <a rel="nofollow" href="http://blog.friendfeed.com/2009/07/ben-darnell-joins-friendfeed-ben.html" title="http://blog.friendfeed.com/2009/07/ben-darnell-joins-friendfeed-ben.html">http://blog.friendfeed.com/2009...</a></body><via><url>http://friendfeed.com/share/bookmarklet</url><name>Bookmarklet</name></via><from><type>user</type><name>Bret Taylor</name><id>bret</id></from><thumbnail><url>http://m.friendfeed-media.com/d8a3d0cffc2d534fb6c7e87912928dd4ee8695b1</url><width>109</width><link>http://blog.friendfeed.com/2009/07/ben-darnell-joins-friendfeed-ben.html</link><height>175</height></thumbnail><url>http://friendfeed.com/friendfeed-news/c970e279/friendfeed-blog-ben-darnell-joins</url><comment><date>2009-07-27T22:52:09Z</date><body>Welcome, Ben!</body><from><type>user</type><id>kfury</id><name>Kevin Fox</name></from><id>e/c970e27954f349869b58d30a2b75631a/c/affd43519b134e2f8b0175f97267affd</id></comment><comment><date>2009-07-27T22:52:53Z</date><body>Right on! Congrats, Ben.</body><from><type>user</type><id>micahwittman</id><name>Micah</name></from><id>e/c970e27954f349869b58d30a2b75631a/c/3ae682d1abd74d9cbec58d8614d34c9f</id></comment><comment><date>2009-07-27T22:54:13Z</date><body>Congrats Ben! Also, congrats to FF you are lucky to have him!</body><from><type>user</type><id>shellen</id><name>Jason Shellen</name></from><id>e/c970e27954f349869b58d30a2b75631a/c/a297cd5ec49d4196855bd042dbb8ae98</id></comment><comment><date>2009-07-27T23:14:34Z</date><body>Data storage and scalability rock. :)</body><from><type>user</type><id>louisgray</id><name>Louis Gray</name></from><id>e/c970e27954f349869b58d30a2b75631a/c/0c562741868248cd80fe1b70c041fe64</id></comment><comment><date>2009-07-27T23:42:50Z</date><body>Ben's feed is here: <a href="http://friendfeed.com/bdarnell">http://friendfeed.com/bdarnell</a></body><from><type>user</type><name>Bret Taylor</name><id>bret</id></from><id>e/c970e27954f349869b58d30a2b75631a/c/31a62c1498c446c090ed63594205c226</id></comment><comment><date>2009-07-27T23:51:54Z</date><body>Congrats, Ben! :-)</body><from><type>user</type><id>koltregaskes</id><name>Kol Tregaskes</name></from><id>e/c970e27954f349869b58d30a2b75631a/c/e79d0783d7b347a88f3905b722f5d776</id></comment><comment><date>2009-07-28T00:17:50Z</date><body>Yeah Ben!!!</body><from><type>user</type><id>phoenix</id><name>Rachel Lea Fox</name></from><id>e/c970e27954f349869b58d30a2b75631a/c/28ca4607a72c4289ab196230d03e6f74</id></comment><comment><date>2009-07-28T00:41:58Z</date><body>so i finally get my answer to this :) <a href="http://friendfeed.com/chris/3870e6df/v-excited-about-my-friend-new-job-his" title="http://friendfeed.com/chris/3870e6df/v-excited-about-my-friend-new-job-his">http://friendfeed.com/chris...</a></body><from><type>user</type><id>parislemon</id><name>MG Siegler</name></from><id>e/c970e27954f349869b58d30a2b75631a/c/0dce0a67de704224b0215da71a2ba408</id></comment><comment><date>2009-07-28T00:44:52Z</date><body>Yeah, sorry I couldn't respond to that one before. :-)</body><from><type>user</type><id>kfury</id><name>Kevin Fox</name></from><id>e/c970e27954f349869b58d30a2b75631a/c/2d9ae52ed9d942f988a18a028d4dc215</id></comment><comment><date>2009-07-28T01:01:55Z</date><body>well i be darned .... we now can rejoice, since fast paced additions to already good product are surely fastly coming about off the feedpipe ... it'l be a hectic season of finest upgrades ... I'm sure they'l start with keyboard shortcutze. ... I mean Google Reader rules on that. Intelligent to the extreme. ..Google.com, on the other hand - are we sleeping? .. not even &quot;/&quot; ??.. and that is the first page on the planet! .. i'l be darned. ..... then, lets boost them blogging facilities ! ... i mean, how hard internet programming could be ???</body><from><type>user</type><id>petrbuben</id><name>pb:</name></from><id>e/c970e27954f349869b58d30a2b75631a/c/c17c8d9235a34d238c3ab4376f1b84ab</id></comment><comment><date>2009-07-28T01:21:05Z</date><body>Congrats Ben! Totally agree with Jason. Our latest project wouldn't have become feasible without Ben -- I'm just so glad we managed to get a fraction of his time before he left! :)</body><from><type>user</type><id>stong</id><name>Simon</name></from><id>e/c970e27954f349869b58d30a2b75631a/c/e7e1b7c2bcbc4c3cb9c112238fb41108</id></comment><comment><date>2009-07-28T02:40:46Z</date><body>Congratulations, Ben! You're joining an awesome team.</body><from><type>user</type><id>abouey</id><name>Anne Bouey</name></from><id>e/c970e27954f349869b58d30a2b75631a/c/c0428e7432994c73b40365644bf22f7e</id></comment><comment><date>2009-07-28T03:31:25Z</date><body>Woohoo! Another Googler :)</body><from><type>user</type><id>timhoeck</id><name>Tim Hoeck</name></from><id>e/c970e27954f349869b58d30a2b75631a/c/14daa1eeb6f043b1b58f2213e75971f6</id></comment><comment><date>2009-07-28T03:59:39Z</date><body>Congrats, you are now a &quot;big company&quot;! ;))))</body><from><type>user</type><id>yogar</id><name>K.D.</name></from><id>e/c970e27954f349869b58d30a2b75631a/c/9d52f70158314758a604daad75732657</id></comment><comment><date>2009-07-28T06:44:21Z</date><body>That's not my picture! They got the picture wrong! In fact, I didn't get the letter of hire either. :( Oh, Hi there, Ben...if that's your real name. ;)</body><from><type>user</type><id>joshhaley</id><private>True</private><name>Josh Haley</name></from><id>e/c970e27954f349869b58d30a2b75631a/c/531163c5e9e34b9f92c0db5f9d3888c6</id></comment><comment><date>2009-07-28T07:03:07Z</date><body>Good luck Ben! With you our preferred service will go more interesting</body><via><url>http://www.fftogo.com/</url><name>fftogo</name></via><from><type>user</type><id>postoditacco</id><private>True</private><name>Roberto</name></from><id>e/c970e27954f349869b58d30a2b75631a/c/d2aeb1623ed14f089dc567f50f2c418c</id></comment><comment><date>2009-07-28T10:13:27Z</date><body>you're building a friendfeed army there :-)</body><from><type>user</type><id>dobata</id><name>Dobromir Hadzhiev</name></from><id>e/c970e27954f349869b58d30a2b75631a/c/81b72085bac844868ac7321a6d6ebf07</id></comment><comment><date>2009-07-28T10:50:24Z</date><body>Congrats</body><from><type>user</type><id>portakal</id><name>Özkan Altuner</name></from><id>e/c970e27954f349869b58d30a2b75631a/c/c04066a9eec842508018999185260fd4</id></comment><comment><date>2009-07-28T12:42:29Z</date><body>Nice, any former Google Reader-er is a friend of mine.</body><from><type>user</type><id>mikereynolds</id><name>Mike Reynolds</name></from><id>e/c970e27954f349869b58d30a2b75631a/c/833416de1ee14f3a88eb25b3a7ec21cc</id></comment><comment><date>2009-07-28T13:35:08Z</date><body>gratz Ben!</body><from><type>user</type><id>timepilot</id><name>timepilot</name></from><id>e/c970e27954f349869b58d30a2b75631a/c/b9d20666d611497abf9be5213eb15b16</id></comment><comment><date>2009-07-28T18:09:12Z</date><body>Welcome Bret!</body><from><type>user</type><id>jamessmith24</id><name>Michael_techie</name></from><id>e/c970e27954f349869b58d30a2b75631a/c/04cdf733ae664d1f853698aa70090a42</id></comment><comment><date>2009-08-10T20:14:31Z</date><body>So, Facebook...?</body><from><type>user</type><id>dpritchett</id><private>True</private><name>Daniel J. Pritchett</name></from><id>e/c970e27954f349869b58d30a2b75631a/c/4c811104219a47d0be72b60a46493336</id></comment><comment><date>2009-08-10T21:16:06Z</date><body>Poor Ben Darnell. The last to enter are always the first to leave in mergers.</body><from><type>user</type><id>beersage</id><name>beersage</name></from><id>e/c970e27954f349869b58d30a2b75631a/c/d6c86c49e7a84536821f3627f3debd07</id></comment><comment><date>2009-08-11T06:49:41Z</date><body>Hiring new staff while in secret acquisition talks, not exactly classy guys. I hope Ben knew what he was getting into</body><from><type>user</type><id>dalziel</id><name>Glenn Slaven</name></from><id>e/c970e27954f349869b58d30a2b75631a/c/7858bb2711894dc7ba792ac22a369c4b</id></comment><comment><date>2009-08-14T05:21:51Z</date><body>Why on earth does he use the Duck Hunt theme?</body><from><type>user</type><id>vzx</id><name>Vezquex</name></from><id>e/c970e27954f349869b58d30a2b75631a/c/99acd29f314b4d9d821866b5d85770bc</id></comment><comment><date>2009-08-14T05:23:45Z</date><body>I don't know.. but it is awesome! :)</body><from><type>user</type><id>timhoeck</id><name>Tim Hoeck</name></from><id>e/c970e27954f349869b58d30a2b75631a/c/bed22ee3baa84233a2a54a25d26e1756</id></comment><comment><date>2012-01-30T23:16:12Z</date><body>Wow, looks like somebody bumped this!</body><from><type>user</type><id>kfury</id><name>Kevin Fox</name></from><id>e/c970e27954f349869b58d30a2b75631a/c/c52b519e6cb04a268f76c9ecb84b0be1</id></comment><comment><date>2012-01-30T23:21:48Z</date><body>I think there were a bunch of spam comments made to some 2009-era posts by FF employees. For some reason even after the spam is nuked, the post stays bumped.</body><from><type>user</type><id>zeigen</id><name>Stephen Mack</name></from><id>e/c970e27954f349869b58d30a2b75631a/c/0ebcf885818a442bbf773526e4927268</id></comment><comment><date>2012-01-30T23:23:23Z</date><body>Yes, I blocked a spammer that was bumping old posts about FF themes and what not.</body><from><type>user</type><id>zoblue</id><name>Zulema ❧ spicy cocoa tart</name></from><id>e/c970e27954f349869b58d30a2b75631a/c/18fcc8e1b02f46fc8a21589681cf0b92</id></comment><comment><date>2012-01-30T23:26:01Z</date><body>OH HAI!</body><from><type>user</type><id>cstechcast</id><name>Eric - Drop That Beat</name></from><id>e/c970e27954f349869b58d30a2b75631a/c/244f5398cd4b4d4b9ca344fe66509ca9</id></comment><comment><date>2012-01-30T23:30:29Z</date><body>Well, let's see this as an opportunity to raise a virtual glass to Ben and FriendFeed-that-was!</body><from><type>user</type><id>kfury</id><name>Kevin Fox</name></from><id>e/c970e27954f349869b58d30a2b75631a/c/5afdbcf261d047b392bed56298492e55</id></comment><comment><date>2012-01-30T23:32:55Z</date><body>It probably had something to do with the Tornado 2.2 release. I noticed Ben was the one who posted about the release on HN earlier. Edit: Or it could have just been a spammer. *shrugs*</body><from><type>user</type><id>jimminy</id><private>True</private><name>Jimminy, CoG of FF</name></from><id>e/c970e27954f349869b58d30a2b75631a/c/93fc5948d22d4e469ca400e41327b48b</id></comment><comment><date>2012-01-31T01:17:40Z</date><body>I don't think it had anything to do with the tornado release - a spammer bumped a bunch of Bret's old posts today.</body><from><type>user</type><id>bdarnell</id><name>Ben Darnell</name></from><id>e/c970e27954f349869b58d30a2b75631a/c/2e2bccd6de854ebd8ed345bb15236f5c</id></comment><comment><date>2012-05-07T17:34:07Z</date><body>Here, let me save future spammers some time: Hello my name is ____ and I am an attractive young ____ _____ and I would like to contact with you so that together you and I can ___ with ____ while _____ in a highly ____ manner. Please to be responding as soon as is practical. Without your help, the _____ in U.S. dollars will go unclaimed, and the herbal ______ remedy will wither and die. Yours in all urgent seriousness, _____.</body><from><type>user</type><id>zeigen</id><name>Stephen Mack</name></from><id>e/c970e27954f349869b58d30a2b75631a/c/7eed38db1bb44c3d90ce6a817ae8c1f6</id></comment><comment><date>2012-05-09T03:10:07Z</date><body>:D, Stephen!</body><from><type>user</type><id>abouey</id><name>Anne Bouey</name></from><id>e/c970e27954f349869b58d30a2b75631a/c/f349034ca1804b3388ca2804156887a3</id></comment><comment><date>2012-08-21T14:40:59Z</date><body>so sweet))lol</body><from><type>user</type><id>solncee</id><name>solncee</name></from><id>e/c970e27954f349869b58d30a2b75631a/c/9ea20c4da85f4c539e02d6e24ac94f45</id></comment><comment><date>2012-09-02T08:06:01Z</date><body>Awesome Photo :)</body><from><type>user</type><id>adiprcike</id><name>Adi Prcike</name></from><id>e/c970e27954f349869b58d30a2b75631a/c/53cbf054f1b446fe8c473ef103d101ae</id></comment><comment><date>2012-09-03T01:06:48Z</date><body>Which shows up more, this pic or the Asian gentlemen on the beach?</body><via><url>http://friendfeed.com/about/tools</url><name>iPhone</name></via><from><type>user</type><id>zeigen</id><name>Stephen Mack</name></from><id>e/c970e27954f349869b58d30a2b75631a/c/21725041bf364346840c39853efa3829</id></comment><comment><date>2012-09-14T15:39:14Z</date><body>bret neler oluyor dostum? kardeşi kardeşe kırdıracaksın canım ülkemde!!! işinin başına dön lütfen..</body><from><type>user</type><id>aynebilm</id><name>aynebilim</name></from><id>e/c970e27954f349869b58d30a2b75631a/c/4d3788ce9afb420fb95c25ee5ae2d2da</id></comment><comment><date>2012-09-14T16:03:55Z</date><body>testa di cazzo se arcasca tutto te veniamo a cercà e non saremo teneri come i musulmani</body><from><type>user</type><id>bonzo</id><private>True</private><name>Francesco M.</name></from><id>e/c970e27954f349869b58d30a2b75631a/c/63f44ef4d4c7481187d0a199eae11a7c</id></comment><comment><date>2012-09-14T16:17:29Z</date><body>kime dedin onu francesco?</body><from><type>user</type><id>aynebilm</id><name>aynebilim</name></from><id>e/c970e27954f349869b58d30a2b75631a/c/9298bbd497ff49699e6bdf9f23f7809e</id></comment><comment><date>2012-09-14T16:33:20Z</date><body>Bence de Friendfeede sahip çıksın artık...</body><from><type>user</type><id>koleksiyoner</id><name>koleksiyoner</name></from><id>e/c970e27954f349869b58d30a2b75631a/c/890dfb635e734e2f9d0e68fc2ac806da</id></comment><comment><date>2012-09-14T17:47:38Z</date><body>Welcome, Ben!</body><from><type>user</type><id>kfury</id><name>Kevin Fox</name></from><id>e/c970e27954f349869b58d30a2b75631a/c/ce9ad2c73c784595929fe89601aab957</id></comment><comment><date>2012-09-14T17:54:48Z</date><body><a href="http://friendfeed.com/search?q=%23timewarp">#timewarp</a></body><from><type>user</type><id>worldofhiglet</id><private>True</private><name>WoH: Fairy Surreal</name></from><id>e/c970e27954f349869b58d30a2b75631a/c/29a9cf0c27cd42628fe5192c349c4944</id></comment><to><type>user</type><name>Bret's feed</name><id>bret</id></to><to><type>group</type><id>friendfeed-news</id><name>FriendFeed News</name></to><like><date>2012-09-27T18:45:20Z</date><from><type>user</type><id>gerantamala</id><name>Tamala Geran</name></from></like><like><date>2012-09-17T05:12:36Z</date><from><type>user</type><id>thelarimarshop</id><name>thelarimarshop</name></from></like><like><date>2012-09-14T17:59:05Z</date><from><type>user</type><id>jobbler</id><private>True</private><name>Joe Silence</name></from></like><like><date>2012-09-14T16:07:47Z</date><from><type>user</type><id>kkapp</id><name>Alex Kapranoff</name></from></like><like><date>2012-09-14T15:39:22Z</date><from><type>user</type><id>aynebilm</id><name>aynebilim</name></from></like><like><date>2012-09-03T09:46:26Z</date><from><type>user</type><id>nganguemvictor</id><private>True</private><name>nganguem victor</name></from></like><like><date>2012-08-11T14:14:57Z</date><from><type>user</type><id>goroprask</id><name>Goro Prask</name></from></like><like><date>2012-06-29T07:02:56Z</date><from><type>user</type><id>ageuferraz</id><name>Ageu Ferraz</name></from></like><like><date>2012-06-05T08:53:02Z</date><from><type>user</type><id>hewoilsneed</id><name>hewoilsneed</name></from></like><like><date>2012-06-04T06:39:34Z</date><from><type>user</type><id>florrygrip</id><name>florrygrip</name></from></like><like><date>2012-05-24T00:30:59Z</date><from><type>user</type><id>hcivelek</id><name>HasanCivelek</name></from></like><like><date>2012-05-07T17:42:47Z</date><from><type>user</type><id>worldofhiglet</id><private>True</private><name>WoH: Fairy Surreal</name></from></like><like><date>2012-05-07T17:38:23Z</date><from><type>user</type><id>jeffdoug</id><private>True</private><name>Jeff (Team マクダジ )</name></from></like><like><date>2012-05-02T11:57:09Z</date><from><type>user</type><id>angelramon</id><name>Angel</name></from></like><like><date>2012-04-30T08:21:22Z</date><from><type>user</type><id>sogoo</id><name>/sg</name></from></like><like><date>2012-04-24T06:17:16Z</date><from><type>user</type><id>alidafeian</id><private>True</private><name>علی دافعیان</name></from></like><like><date>2012-04-24T06:11:00Z</date><from><type>user</type><id>amitkumar47</id><name>amit Kumar</name></from></like><like><date>2012-04-20T21:45:37Z</date><from><type>user</type><id>polymath22</id><private>True</private><name>polymath22</name></from></like><like><date>2012-04-14T19:49:34Z</date><from><type>user</type><id>cy6erbr4in</id><name>Cy6erBr4in</name></from></like><like><date>2012-04-02T10:37:30Z</date><from><type>user</type><id>lisalenea</id><private>True</private><name>Lisa L. Seifert | FHG™</name></from></like><like><date>2012-03-24T10:32:02Z</date><from><type>user</type><id>aidr86</id><private>True</private><name>aid@</name></from></like><like><date>2012-02-20T06:40:47Z</date><from><type>user</type><id>mitchnielsen</id><name>Mitch Nielsen</name></from></like><like><date>2012-02-14T16:09:31Z</date><from><type>user</type><id>katiao</id><name>инопланетянин со стажем</name></from></like><like><date>2012-02-14T14:07:33Z</date><from><type>user</type><id>adamspring</id><name>Adam Spring</name></from></like><like><date>2012-01-31T00:46:09Z</date><from><type>user</type><id>kmohr25</id><name>Kevin Mohr</name></from></like><like><date>2012-01-30T23:32:13Z</date><from><type>user</type><id>jimminy</id><private>True</private><name>Jimminy, CoG of FF</name></from></like><like><date>2009-12-25T20:16:40Z</date><from><type>user</type><id>bebekvegebelik</id><name>"Serhat Ozan"</name></from></like><like><date>2009-08-11T12:11:30Z</date><from><type>user</type><id>iphigenie</id><name>Iphigenie</name></from></like><like><date>2009-08-11T06:53:06Z</date><from><type>user</type><id>mortonfox</id><name>Morton Fox</name></from></like><like><date>2009-08-11T05:28:21Z</date><from><type>user</type><id>yogamama</id><name>amelia arapoff</name></from></like><like><date>2009-08-10T22:27:13Z</date><from><type>user</type><id>vmlemon</id><name>Tyson Key</name></from></like><like><date>2009-08-10T22:15:39Z</date><from><type>user</type><id>kierancrotty</id><name>Kieran Crotty</name></from></like><like><date>2009-08-10T21:31:59Z</date><from><type>user</type><id>angusb</id><name>Angus Burton</name></from></like><like><date>2009-08-10T21:20:26Z</date><from><type>user</type><id>berkeleyisbetter</id><name>Kelly</name></from></like><like><date>2009-08-10T20:14:47Z</date><from><type>user</type><id>svartling</id><name>Svartling</name></from></like><like><date>2009-08-01T09:35:59Z</date><from><type>user</type><id>tandriamirado</id><name>Thierry R. Andriamirado</name></from></like><like><date>2009-07-28T20:14:18Z</date><from><type>user</type><id>durukanduru</id><name>Durukan Duru</name></from></like><like><date>2009-07-28T19:45:16Z</date><from><type>user</type><id>silas216</id><name>Steven Perez</name></from></like><like><date>2009-07-28T18:54:10Z</date><from><type>user</type><id>v9y</id><private>True</private><name>Vinay | विनय</name></from></like><like><date>2009-07-28T18:30:17Z</date><from><type>user</type><id>stanjourdan</id><name>stanjourdan</name></from></like><like><date>2009-07-28T18:12:39Z</date><from><type>user</type><id>kamath</id><name>The Fat Oracle</name></from></like><like><date>2009-07-28T18:00:07Z</date><from><type>user</type><id>minusone</id><name>minus-one</name></from></like><like><date>2009-07-28T16:40:19Z</date><from><type>user</type><id>oflaherty</id><name>Paul OFlaherty</name></from></like><like><date>2009-07-28T14:10:49Z</date><from><type>user</type><id>dpritchett</id><private>True</private><name>Daniel J. Pritchett</name></from></like><like><date>2009-07-28T14:00:48Z</date><from><type>user</type><id>silpol</id><name>A. T.</name></from></like><like><date>2009-07-28T13:51:27Z</date><from><type>user</type><id>ajkohn</id><name>AJ Kohn</name></from></like><like><date>2009-07-28T13:44:54Z</date><from><type>user</type><id>dannyrowley</id><private>True</private><name>Daniel Rowley</name></from></like><like><date>2009-07-28T13:40:01Z</date><from><type>user</type><id>ajbatac</id><name>AJ Batac</name></from></like><like><date>2009-07-28T12:33:25Z</date><from><type>user</type><id>stevefarnworth</id><name>Steve Farnworth</name></from></like><like><date>2009-07-28T12:23:08Z</date><from><type>user</type><id>bjtitus</id><name>Brandon Titus</name></from></like><like><date>2009-07-28T12:09:31Z</date><from><type>user</type><id>nzbuu</id><name>James Myatt</name></from></like><like><date>2009-07-28T11:11:08Z</date><from><type>user</type><id>lookon</id><name>kang</name></from></like><like><date>2009-07-28T11:08:50Z</date><from><type>user</type><id>lutao</id><name>Lu Tao</name></from></like><like><date>2009-07-28T11:07:33Z</date><from><type>user</type><id>pellesjoqvist</id><name>Pelle Sjoqvist</name></from></like><like><date>2009-07-28T10:27:09Z</date><from><type>user</type><id>pastas9</id><private>True</private><name>pastas9</name></from></like><like><date>2009-07-28T10:19:33Z</date><from><type>user</type><id>amberspence</id><private>True</private><name>The Amber</name></from></like><like><date>2009-07-28T10:18:31Z</date><from><type>user</type><id>ourielohayon</id><name>Ouriel Ohayon</name></from></like><like><date>2009-07-28T10:12:49Z</date><from><type>user</type><id>dobata</id><name>Dobromir Hadzhiev</name></from></like><like><date>2009-07-28T09:40:43Z</date><from><type>user</type><id>zijperspace</id><name>Ton Zijp</name></from></like><like><date>2009-07-28T08:50:42Z</date><from><type>user</type><id>simonwicks</id><name>Simon Wicks</name></from></like><like><date>2009-07-28T07:12:26Z</date><from><type>user</type><id>dffrnt</id><name>vijay</name></from></like><like><date>2009-07-28T07:00:56Z</date><from><type>user</type><id>bfoster</id><name>Bonnie Foster</name></from></like><like><date>2009-07-28T06:54:08Z</date><from><type>user</type><id>jrivero</id><name>Jordi Rivero</name></from></like><like><date>2009-07-28T06:51:55Z</date><from><type>user</type><id>postoditacco</id><private>True</private><name>Roberto</name></from></like><like><date>2009-07-28T06:51:24Z</date><from><type>user</type><id>niron</id><name>Nir Ben Yona</name></from></like><like><date>2009-07-28T06:44:26Z</date><from><type>user</type><id>joshhaley</id><private>True</private><name>Josh Haley</name></from></like><like><date>2009-07-28T05:54:52Z</date><from><type>user</type><id>bdarnell</id><name>Ben Darnell</name></from></like><like><date>2009-07-28T05:02:43Z</date><from><type>user</type><id>mirthnadir</id><name>Amani</name></from></like><like><date>2009-07-28T05:02:11Z</date><from><type>user</type><id>kof2002</id><name>HealingBrush</name></from></like><like><date>2009-07-28T04:59:02Z</date><from><type>user</type><id>susanbeebe</id><name>Susan Beebe</name></from></like><like><date>2009-07-28T04:57:19Z</date><from><type>user</type><id>izuzak</id><name>Ivan Zuzak</name></from></like><like><date>2009-07-28T04:54:41Z</date><from><type>user</type><id>krynsky</id><name>Mark Krynsky</name></from></like><like><date>2009-07-28T04:23:31Z</date><from><type>user</type><id>clare</id><name>Clare Dibble</name></from></like><like><date>2009-07-28T04:12:16Z</date><from><type>user</type><id>ruchira</id><name>Ruchira S. Datta</name></from></like><like><date>2009-07-28T04:06:16Z</date><from><type>user</type><id>malaparte</id><name>Andrei M. Marinescu</name></from></like><like><date>2009-07-28T03:56:13Z</date><from><type>user</type><id>yogar</id><name>K.D.</name></from></like><like><date>2009-07-28T03:42:31Z</date><from><type>user</type><id>1geeky</id><private>True</private><name>I /-\li</name></from></like><like><date>2009-07-28T03:41:02Z</date><from><type>user</type><id>derek</id><name>Derek Collison</name></from></like><like><date>2009-07-28T03:40:11Z</date><from><type>user</type><id>majento</id><name>Majento</name></from></like><like><date>2009-07-28T03:40:08Z</date><from><type>user</type><id>eldiablo</id><name>Pete D</name></from></like><like><date>2009-07-28T03:37:44Z</date><from><type>user</type><id>bhc3</id><name>Hutch Carpenter</name></from></like><like><date>2009-07-28T03:33:46Z</date><from><type>user</type><id>monasfeed</id><name>Mona Nomura</name></from></like><like><date>2009-07-28T03:30:49Z</date><from><type>user</type><id>timhoeck</id><name>Tim Hoeck</name></from></like><like><date>2009-07-28T03:28:26Z</date><from><type>user</type><id>seanpercival</id><private>True</private><name>sean percival</name></from></like><like><date>2009-07-28T03:18:41Z</date><from><type>user</type><id>mehmetakif</id><name>Mehmet ALP</name></from></like><like><date>2009-07-28T03:15:31Z</date><from><type>user</type><id>changeforge</id><name>Ken Stewart | ChangeForge</name></from></like><like><date>2009-07-28T03:13:56Z</date><from><type>user</type><id>karen</id><name>Karen Padham Taylor</name></from></like><like><date>2009-07-28T02:47:11Z</date><from><type>user</type><id>ericflo</id><name>Eric Florenzano</name></from></like><like><date>2009-07-28T02:44:25Z</date><from><type>user</type><id>imabonehead</id><name>imabonehead</name></from></like><like><date>2009-07-28T02:41:22Z</date><from><type>user</type><id>rodfather</id><private>True</private><name>Rodfather</name></from></like><like><date>2009-07-28T01:51:24Z</date><from><type>user</type><id>lizunlong</id><name>Lizunlong</name></from></like><like><date>2009-07-28T01:38:39Z</date><from><type>user</type><id>pattonroberta</id><private>True</private><name>RAPatton</name></from></like><like><date>2009-07-28T01:09:26Z</date><from><type>user</type><id>nimaa</id><private>True</private><name>Nimaa</name></from></like><like><date>2009-07-28T01:02:49Z</date><from><type>user</type><id>looppacosmos</id><name>Johni Fisher</name></from></like><like><date>2009-07-28T00:56:42Z</date><from><type>user</type><id>stong</id><name>Simon</name></from></like><like><date>2009-07-28T00:42:18Z</date><from><type>user</type><id>banane</id><name>anna sauce</name></from></like><like><date>2009-07-28T00:42:11Z</date><from><type>user</type><id>parislemon</id><name>MG Siegler</name></from></like><like><date>2009-07-28T00:32:40Z</date><from><type>user</type><id>bettydarnell</id><private>True</private><name>Betty Darnell</name></from></like><like><date>2009-07-28T00:22:50Z</date><from><type>user</type><id>jworthington</id><name>Johnny</name></from></like><like><date>2009-07-28T00:19:19Z</date><from><type>user</type><id>leblondb</id><name>BEX</name></from></like><like><date>2009-07-28T00:18:17Z</date><from><type>user</type><id>dalziel</id><name>Glenn Slaven</name></from></like><like><date>2009-07-28T00:15:00Z</date><from><type>user</type><id>phoenix</id><name>Rachel Lea Fox</name></from></like><like><date>2009-07-28T00:10:05Z</date><from><type>user</type><id>romanzolotarev</id><name>romanzolotarev</name></from></like><like><date>2009-07-28T00:04:42Z</date><from><type>user</type><id>eskimo</id><name>April Buchheit</name></from></like><like><date>2009-07-28T00:04:15Z</date><from><type>user</type><id>teb</id><name>tunahan</name></from></like><like><date>2009-07-27T23:59:04Z</date><from><type>user</type><id>ryanmassie</id><name>Ryan Massie</name></from></like><like><date>2009-07-27T23:58:52Z</date><from><type>user</type><id>thejbf</id><private>True</private><name>Burcu Dogan</name></from></like><like><date>2009-07-27T23:58:24Z</date><from><type>user</type><id>mihai</id><name>Mihai Parparita</name></from></like><like><date>2009-07-27T23:56:55Z</date><from><type>user</type><id>travispuk</id><name>travispuk</name></from></like><like><date>2009-07-27T23:55:08Z</date><from><type>user</type><id>mokargas</id><private>True</private><name>Mo Kargas</name></from></like><like><date>2009-07-27T23:50:45Z</date><from><type>user</type><id>koltregaskes</id><name>Kol Tregaskes</name></from></like><like><date>2009-07-27T23:50:04Z</date><from><type>user</type><id>itafroma</id><name>Mark Trapp</name></from></like><like><date>2009-07-27T23:43:39Z</date><from><type>user</type><id>vadim</id><name>Vadim Spivak</name></from></like><like><date>2009-07-27T23:21:04Z</date><from><type>user</type><id>gotti</id><name>GOTTi</name></from></like><like><date>2009-07-27T23:16:10Z</date><from><type>user</type><id>lanjackal</id><name>LANjackal</name></from></like><like><date>2009-07-27T23:14:24Z</date><from><type>user</type><id>louisgray</id><name>Louis Gray</name></from></like><like><date>2009-07-27T23:12:43Z</date><from><type>user</type><id>tudor</id><name>Tudor Bosman</name></from></like><like><date>2009-07-27T23:09:38Z</date><from><type>user</type><id>hberberoglu</id><name>Hüseyin Berberoğlu</name></from></like><like><date>2009-07-27T23:07:55Z</date><from><type>user</type><id>casey</id><name>Casey Muller</name></from></like><like><date>2009-07-27T23:03:21Z</date><from><type>user</type><id>scobleizer</id><name>Robert Scoble</name></from></like><like><date>2009-07-27T23:02:17Z</date><from><type>user</type><id>colladude</id><name>Kishore Balakrishnan</name></from></like><like><date>2009-07-27T23:02:15Z</date><from><type>user</type><id>bgolub</id><name>Benjamin Golub</name></from></like><like><date>2009-07-27T22:58:04Z</date><from><type>user</type><id>ginger</id><name>Ginger Makela Riker</name></from></like><like><date>2009-07-27T22:54:45Z</date><from><type>user</type><id>erensoydas</id><name>Eren Soydaş</name></from></like><like><date>2009-07-27T22:54:31Z</date><from><type>user</type><id>atul</id><name>Atul Arora</name></from></like><like><date>2009-07-27T22:53:02Z</date><from><type>user</type><id>thehenry</id><name>TheHenry</name></from></like><like><date>2009-07-27T22:52:40Z</date><from><type>user</type><id>hdiwan</id><name>Prolific Programmer</name></from></like><like><date>2009-07-27T22:52:40Z</date><from><type>user</type><id>paul</id><name>Paul Buchheit</name></from></like><like><date>2009-07-27T22:52:37Z</date><from><type>user</type><id>jeffisageek</id><name>(jeff)isageek</name></from></like><like><date>2009-07-27T22:52:11Z</date><from><type>user</type><id>dhsiao</id><name>Dan Hsiao</name></from></like><like><date>2009-07-27T22:52:11Z</date><from><type>user</type><id>kfury</id><name>Kevin Fox</name></from></like><like><date>2009-07-27T22:52:05Z</date><from><type>user</type><id>ross</id><name>Ross Miller</name></from></like><date>2009-07-27T22:52:01Z</date><id>e/c970e27954f349869b58d30a2b75631a</id></entry></feed>
|
@@ -0,0 +1 @@
|
|
1
|
+
{"type":"User","login":"schacon","public_repos":150,"public_gists":80,"followers":5328,"html_url":"https://github.com/schacon","created_at":"2008-01-27T17:19:28Z","blog":"http://scottchacon.com","company":"GitHub","email":"schacon@gmail.com","avatar_url":"https://secure.gravatar.com/avatar/9375a9529679f1b42b567a640d775e7d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png","hireable":false,"following":19,"name":"Scott Chacon","bio":null,"id":70,"location":"San Francisco, CA","url":"https://api.github.com/users/schacon","gravatar_id":"9375a9529679f1b42b567a640d775e7d"}
|