tdiary-contrib 3.2.2.20130518
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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"}
|