tdiary-contrib 3.2.2.20130518

Sign up to get free protection for your applications and to get access to all the features.
Files changed (393) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +1 -0
  3. data/.travis.yml +7 -0
  4. data/Gemfile +13 -0
  5. data/Gemfile.lock +35 -0
  6. data/README.en.md +12 -0
  7. data/README.md +13 -0
  8. data/Rakefile +41 -0
  9. data/doc/en/filter/spambayes.txt +3 -0
  10. data/doc/en/plugin.txt +1 -0
  11. data/doc/en/style/hatena.txt +10 -0
  12. data/doc/en/style/markdown.txt +16 -0
  13. data/doc/en/util.txt +1 -0
  14. data/doc/ja/filter/antirefspam.history.txt +59 -0
  15. data/doc/ja/filter/antirefspam.txt +86 -0
  16. data/doc/ja/filter/comment_key.ja.html +182 -0
  17. data/doc/ja/filter/spambayes.txt +3 -0
  18. data/doc/ja/plugin/add_bookmark.txt +50 -0
  19. data/doc/ja/plugin/category_to_tag.txt +21 -0
  20. data/doc/ja/plugin/cocoment.txt +31 -0
  21. data/doc/ja/plugin/google_adsense.txt +25 -0
  22. data/doc/ja/plugin/google_analytics.txt +7 -0
  23. data/doc/ja/plugin/image_detail.txt +69 -0
  24. data/doc/ja/plugin/image_gps.txt +36 -0
  25. data/doc/ja/plugin/image_gps2.txt +41 -0
  26. data/doc/ja/plugin/livedoor_weather.txt +105 -0
  27. data/doc/ja/plugin/opensearch_ad.txt +16 -0
  28. data/doc/ja/plugin/section_footer.txt +84 -0
  29. data/doc/ja/plugin/select_theme.txt +1 -0
  30. data/doc/ja/plugin.txt +13 -0
  31. data/doc/ja/style/hatena.txt +10 -0
  32. data/doc/ja/style/markdown.txt +13 -0
  33. data/doc/ja/util.txt +12 -0
  34. data/filter/antirefspam.rb +263 -0
  35. data/filter/commentkey.rb +29 -0
  36. data/filter/commentsize.rb +18 -0
  37. data/filter/hidecomment.rb +13 -0
  38. data/filter/iplookup.rb +55 -0
  39. data/filter/plugin/antirefspam.rb +59 -0
  40. data/filter/plugin/commentkey.rb +58 -0
  41. data/filter/plugin/commentsize.rb +12 -0
  42. data/filter/plugin/en/iplookup.rb +9 -0
  43. data/filter/plugin/en/spambayes.rb +123 -0
  44. data/filter/plugin/iplookup.rb +39 -0
  45. data/filter/plugin/ja/antirefspam.rb +91 -0
  46. data/filter/plugin/ja/commentkey.rb +17 -0
  47. data/filter/plugin/ja/commentsize.rb +6 -0
  48. data/filter/plugin/ja/iplookup.rb +9 -0
  49. data/filter/plugin/ja/spambayes.rb +124 -0
  50. data/filter/plugin/spambayes.rb +501 -0
  51. data/filter/plugin/zh/iplookup.rb +9 -0
  52. data/filter/rblcheck.rb +36 -0
  53. data/filter/spambayes.rb +535 -0
  54. data/filter/spamlookup.rb +37 -0
  55. data/io/dbi_io/ChangeLog +19 -0
  56. data/io/dbi_io/README.ja +39 -0
  57. data/io/dbi_io/dbi_io.rb +181 -0
  58. data/io/dbi_io/plugin/refererDbiIO.rb +76 -0
  59. data/io/dbi_io/tdiary_table.sql +42 -0
  60. data/js/appstore.js +109 -0
  61. data/js/datepicker.js +69 -0
  62. data/js/editor.js +82 -0
  63. data/js/flickr.js +157 -0
  64. data/js/image_ex.js +79 -0
  65. data/js/jquery.socialbutton.js +842 -0
  66. data/js/nicovideo.js +17 -0
  67. data/js/picasa.js +322 -0
  68. data/js/plugin_checker.js +71 -0
  69. data/js/prettify/lang-apollo.js +2 -0
  70. data/js/prettify/lang-clj.js +18 -0
  71. data/js/prettify/lang-css.js +2 -0
  72. data/js/prettify/lang-go.js +1 -0
  73. data/js/prettify/lang-hs.js +2 -0
  74. data/js/prettify/lang-lisp.js +3 -0
  75. data/js/prettify/lang-lua.js +2 -0
  76. data/js/prettify/lang-ml.js +2 -0
  77. data/js/prettify/lang-n.js +4 -0
  78. data/js/prettify/lang-proto.js +1 -0
  79. data/js/prettify/lang-scala.js +2 -0
  80. data/js/prettify/lang-sql.js +2 -0
  81. data/js/prettify/lang-tex.js +1 -0
  82. data/js/prettify/lang-vb.js +2 -0
  83. data/js/prettify/lang-vhdl.js +3 -0
  84. data/js/prettify/lang-wiki.js +2 -0
  85. data/js/prettify/lang-xq.js +3 -0
  86. data/js/prettify/lang-yaml.js +2 -0
  87. data/js/prettify/prettify.css +1 -0
  88. data/js/prettify/prettify.js +28 -0
  89. data/js/referer.js +17 -0
  90. data/js/show_and_hide.js +39 -0
  91. data/js/socialbutton.js +126 -0
  92. data/js/twitter_anywhere.js +28 -0
  93. data/js/yahoo_kousei.js +21 -0
  94. data/lib/bayes/convert.rb +34 -0
  95. data/lib/bayes.rb +232 -0
  96. data/lib/exifparser/BUGS +1 -0
  97. data/lib/exifparser/ChangeLog +169 -0
  98. data/lib/exifparser/README +15 -0
  99. data/lib/exifparser/install.rb +1015 -0
  100. data/lib/exifparser/lib/exifparser/makernote/canon.rb +502 -0
  101. data/lib/exifparser/lib/exifparser/makernote/fujifilm.rb +415 -0
  102. data/lib/exifparser/lib/exifparser/makernote/minolta.rb +84 -0
  103. data/lib/exifparser/lib/exifparser/makernote/mk_nikonflensname.rb +39 -0
  104. data/lib/exifparser/lib/exifparser/makernote/nikon.rb +267 -0
  105. data/lib/exifparser/lib/exifparser/makernote/nikon2.rb +581 -0
  106. data/lib/exifparser/lib/exifparser/makernote/nikonflensname.rb +438 -0
  107. data/lib/exifparser/lib/exifparser/makernote/olympus.rb +225 -0
  108. data/lib/exifparser/lib/exifparser/makernote/prove.rb +84 -0
  109. data/lib/exifparser/lib/exifparser/makernote/sigma.rb +237 -0
  110. data/lib/exifparser/lib/exifparser/pre-setup.rb +1 -0
  111. data/lib/exifparser/lib/exifparser/scan.rb +278 -0
  112. data/lib/exifparser/lib/exifparser/tag.rb +2298 -0
  113. data/lib/exifparser/lib/exifparser/thumbnail.rb +76 -0
  114. data/lib/exifparser/lib/exifparser/utils.rb +88 -0
  115. data/lib/exifparser/lib/exifparser.rb +265 -0
  116. data/lib/exifparser/sample/exifview.rb +279 -0
  117. data/lib/tdiary-contrib.rb +19 -0
  118. data/lib/wgs2tky.rb +93 -0
  119. data/misc/section_footer2/buzzurl.yaml +6 -0
  120. data/misc/section_footer2/fc2.yaml +6 -0
  121. data/misc/section_footer2/ldc.yaml +6 -0
  122. data/misc/section_footer2/retweet.yaml +7 -0
  123. data/misc/section_footer2/twitter.yaml +7 -0
  124. data/misc/section_footer2/yahoo.yaml +6 -0
  125. data/misc/tdiarygraph/tdiarygraph120x90e.swf +0 -0
  126. data/misc/tdiarygraph/tdiarygraph125x125e.swf +0 -0
  127. data/misc/tdiarygraph/tdiarygraph240x180e.swf +0 -0
  128. data/misc/tdiarygraph/tdiarygraph468x60e.swf +0 -0
  129. data/misc/tdiarygraph/tdiarygraph728x90e.swf +0 -0
  130. data/misc/tdiarytimes/tdiarytimes125x125r.swf +0 -0
  131. data/misc/tdiarytimes/tdiarytimes125x125r7.swf +0 -0
  132. data/misc/tdiarytimes/tdiarytimes125x125s.swf +0 -0
  133. data/misc/tdiarytimes/tdiarytimes125x30.swf +0 -0
  134. data/misc/tdiarytimes/tdiarytimes234x30.swf +0 -0
  135. data/misc/tdiarytimes/tdiarytimes468x30.swf +0 -0
  136. data/plugin/add_bookmark.rb +89 -0
  137. data/plugin/apple_webclip.rb +26 -0
  138. data/plugin/appstore.rb +47 -0
  139. data/plugin/bigpresen.rb +86 -0
  140. data/plugin/bitly.rb +39 -0
  141. data/plugin/bootstrap-navi.rb +54 -0
  142. data/plugin/canonical.rb +9 -0
  143. data/plugin/category_similar.rb +73 -0
  144. data/plugin/category_to_tag.rb +60 -0
  145. data/plugin/category_to_tagcloud.rb +172 -0
  146. data/plugin/cocomment.rb +37 -0
  147. data/plugin/code-prettify.rb +23 -0
  148. data/plugin/coderwall.rb +34 -0
  149. data/plugin/datepicker.rb +28 -0
  150. data/plugin/day2section.rb +20 -0
  151. data/plugin/del_footer.rb +111 -0
  152. data/plugin/description_from_body.rb +23 -0
  153. data/plugin/development.rb +16 -0
  154. data/plugin/editor.rb +11 -0
  155. data/plugin/en/add_bookmark.rb +20 -0
  156. data/plugin/en/del_footer.rb +10 -0
  157. data/plugin/en/git-register.rb +3 -0
  158. data/plugin/en/livedoor_weather.rb +25 -0
  159. data/plugin/en/microsummary.rb +18 -0
  160. data/plugin/en/nicovideo.rb +38 -0
  161. data/plugin/en/openid.rb +8 -0
  162. data/plugin/en/section_footer.rb +6 -0
  163. data/plugin/en/section_footer2.rb +3 -0
  164. data/plugin/en/socialbutton.rb +5 -0
  165. data/plugin/everytrail.rb +39 -0
  166. data/plugin/facebook_comments.rb +59 -0
  167. data/plugin/flickr.rb +209 -0
  168. data/plugin/gist.rb +16 -0
  169. data/plugin/git-register.rb +240 -0
  170. data/plugin/github_badge.rb +27 -0
  171. data/plugin/github_link.rb +9 -0
  172. data/plugin/goo_gl.rb +42 -0
  173. data/plugin/google_adsense.rb +132 -0
  174. data/plugin/google_analytics.rb +39 -0
  175. data/plugin/google_map.rb +168 -0
  176. data/plugin/google_sitemaps.rb +60 -0
  177. data/plugin/google_webmaster.rb +22 -0
  178. data/plugin/hatena_bookmark_nocomment.rb +9 -0
  179. data/plugin/hatena_star.rb +66 -0
  180. data/plugin/hb_footer.rb +255 -0
  181. data/plugin/hb_footer4sec.rb +244 -0
  182. data/plugin/hb_footer4sec_js.rb +30 -0
  183. data/plugin/hide_comment_form.rb +4 -0
  184. data/plugin/hide_sidebar_iphone.rb +21 -0
  185. data/plugin/iddy.rb +81 -0
  186. data/plugin/image_detail.rb +143 -0
  187. data/plugin/image_ex.rb +462 -0
  188. data/plugin/image_gps.rb +128 -0
  189. data/plugin/inline_wiki.rb +6 -0
  190. data/plugin/instagr.rb +64 -0
  191. data/plugin/ja/add_bookmark.rb +20 -0
  192. data/plugin/ja/del_footer.rb +10 -0
  193. data/plugin/ja/flickr.rb +62 -0
  194. data/plugin/ja/git-register.rb +3 -0
  195. data/plugin/ja/google_sitemaps.rb +35 -0
  196. data/plugin/ja/livedoor_weather.rb +25 -0
  197. data/plugin/ja/microsummary.rb +18 -0
  198. data/plugin/ja/nicovideo.rb +41 -0
  199. data/plugin/ja/openid.rb +7 -0
  200. data/plugin/ja/section_footer.rb +6 -0
  201. data/plugin/ja/section_footer2.rb +4 -0
  202. data/plugin/ja/socialbutton.rb +6 -0
  203. data/plugin/jdate.rb +20 -0
  204. data/plugin/jholiday.rb +16 -0
  205. data/plugin/jmonth.rb +20 -0
  206. data/plugin/jquery_ui_theme.rb +55 -0
  207. data/plugin/jroku.rb +28 -0
  208. data/plugin/jyear.rb +37 -0
  209. data/plugin/latlonglab_route.rb +25 -0
  210. data/plugin/lazy_referer.rb +38 -0
  211. data/plugin/livedoor_weather.rb +180 -0
  212. data/plugin/make_link.rb +44 -0
  213. data/plugin/makerss_category.rb +43 -0
  214. data/plugin/makerss_comment.rb +35 -0
  215. data/plugin/microsummary.rb +62 -0
  216. data/plugin/mm_footer.rb +215 -0
  217. data/plugin/monthly_autopagerize.rb +67 -0
  218. data/plugin/my_hotentry.rb +132 -0
  219. data/plugin/navi_day.rb +118 -0
  220. data/plugin/navi_this_month.rb +15 -0
  221. data/plugin/nicovideo.rb +115 -0
  222. data/plugin/notify_miniblog.rb +134 -0
  223. data/plugin/ogp.rb +55 -0
  224. data/plugin/ohmsha_estore.rb +71 -0
  225. data/plugin/openid.rb +90 -0
  226. data/plugin/opensearch_ad.rb +33 -0
  227. data/plugin/picasa.rb +56 -0
  228. data/plugin/plugin_checker.rb +41 -0
  229. data/plugin/popit.rb +22 -0
  230. data/plugin/prettify.rb +19 -0
  231. data/plugin/prezi.rb +10 -0
  232. data/plugin/profile.rb +222 -0
  233. data/plugin/puboo.rb +93 -0
  234. data/plugin/pygments_css.rb +76 -0
  235. data/plugin/rating.rb +419 -0
  236. data/plugin/recent_estraier.rb +50 -0
  237. data/plugin/recent_tweet.rb +71 -0
  238. data/plugin/retweet.rb +86 -0
  239. data/plugin/rubykaigi.rb +99 -0
  240. data/plugin/search-bing.rb +87 -0
  241. data/plugin/search-default.rb +264 -0
  242. data/plugin/search-google-custom.rb +60 -0
  243. data/plugin/search-yahoo-websearch.rb +121 -0
  244. data/plugin/search-yahoo.rb +109 -0
  245. data/plugin/section_footer.rb +195 -0
  246. data/plugin/section_footer2.rb +278 -0
  247. data/plugin/section_permalink.rb +73 -0
  248. data/plugin/section_permalink_anchor.rb +39 -0
  249. data/plugin/select_style.rb +42 -0
  250. data/plugin/select_theme.rb +90 -0
  251. data/plugin/show_and_hide.rb +77 -0
  252. data/plugin/slideshare.rb +10 -0
  253. data/plugin/socialbutton.rb +60 -0
  254. data/plugin/tatsu_zine.rb +93 -0
  255. data/plugin/tdiarygraph_flashstyle.rb +296 -0
  256. data/plugin/tdiarytimes.rb +166 -0
  257. data/plugin/tdiarytimes2.rb +406 -0
  258. data/plugin/tdiarytimes_flashstyle.rb +263 -0
  259. data/plugin/tdiarytimes_textstyle.rb +290 -0
  260. data/plugin/title_anchor.rb +16 -0
  261. data/plugin/tweet_quote.rb +106 -0
  262. data/plugin/twitpic.rb +10 -0
  263. data/plugin/twitter.rb +46 -0
  264. data/plugin/twitter_anywhere.rb +209 -0
  265. data/plugin/twitter_badge.rb +42 -0
  266. data/plugin/twitter_js.rb +59 -0
  267. data/plugin/ustream.rb +19 -0
  268. data/plugin/vimeo.rb +14 -0
  269. data/plugin/volatile.rb +89 -0
  270. data/plugin/vote.rb +100 -0
  271. data/plugin/wikiloc.rb +27 -0
  272. data/plugin/windex.rb +512 -0
  273. data/plugin/yahoo_kousei.rb +79 -0
  274. data/plugin/yahoo_map.rb +97 -0
  275. data/plugin/youtube.rb +33 -0
  276. data/plugin/yshop.rb +189 -0
  277. data/plugin/zenback.rb +46 -0
  278. data/spec/apple_webclip_spec.rb +46 -0
  279. data/spec/fixtures/friendfeed.xml +2 -0
  280. data/spec/fixtures/github.json +1 -0
  281. data/spec/fixtures/twitter.xml +73 -0
  282. data/spec/gist_spec.rb +16 -0
  283. data/spec/github_link_spec.rb +39 -0
  284. data/spec/google_analytics_spec.rb +60 -0
  285. data/spec/jdate_spec.rb +23 -0
  286. data/spec/jmonth_spec.rb +28 -0
  287. data/spec/jyear_spec.rb +21 -0
  288. data/spec/my_hotentry_spec.rb +78 -0
  289. data/spec/openid_spec.rb +246 -0
  290. data/spec/opensearch_ad_spec.rb +50 -0
  291. data/spec/profile_spec.rb +88 -0
  292. data/spec/rcov.opts +2 -0
  293. data/spec/spec_helper.rb +223 -0
  294. data/spec/title_anchor_spec.rb +39 -0
  295. data/spec/twitter_js_spec.rb +116 -0
  296. data/spec/youtube_spec.rb +20 -0
  297. data/style/hatena_style.rb +1011 -0
  298. data/style/markdown_style.rb +239 -0
  299. data/style/wikiext_style.rb +21 -0
  300. data/tdiary-contrib.gemspec +25 -0
  301. data/util/clean-spam/README.ja +1 -0
  302. data/util/clean-spam/tdiary-comment-clean +46 -0
  303. data/util/clean-spam/tdiary-comment-clean2 +81 -0
  304. data/util/clean-spam/tdiary-referer-clean +46 -0
  305. data/util/convert_pstore.rb +82 -0
  306. data/util/estraier-search/ChangeLog +36 -0
  307. data/util/estraier-search/README.ja +114 -0
  308. data/util/estraier-search/en/estraier-register.rb +3 -0
  309. data/util/estraier-search/estraier-register.rb +298 -0
  310. data/util/estraier-search/estraier-search.rb +273 -0
  311. data/util/estraier-search/estraier.rhtml +73 -0
  312. data/util/estraier-search/estraier.rxml +23 -0
  313. data/util/estraier-search/i.estraier.rhtml +31 -0
  314. data/util/estraier-search/ja/estraier-register.rb +3 -0
  315. data/util/image-gallery/README.ja +27 -0
  316. data/util/image-gallery/image-gallery.rb +523 -0
  317. data/util/image-gallery/image-gallery.rb.euc-jp +523 -0
  318. data/util/image-gallery/js/SmoothGallery/Changelog +52 -0
  319. data/util/image-gallery/js/SmoothGallery/css/ReMooz.css +186 -0
  320. data/util/image-gallery/js/SmoothGallery/css/img/carrow1.gif +0 -0
  321. data/util/image-gallery/js/SmoothGallery/css/img/carrow2.gif +0 -0
  322. data/util/image-gallery/js/SmoothGallery/css/img/closebox.gif +0 -0
  323. data/util/image-gallery/js/SmoothGallery/css/img/closebox.png +0 -0
  324. data/util/image-gallery/js/SmoothGallery/css/img/fleche1.gif +0 -0
  325. data/util/image-gallery/js/SmoothGallery/css/img/fleche1.png +0 -0
  326. data/util/image-gallery/js/SmoothGallery/css/img/fleche2.gif +0 -0
  327. data/util/image-gallery/js/SmoothGallery/css/img/fleche2.png +0 -0
  328. data/util/image-gallery/js/SmoothGallery/css/img/loading-bar-black.gif +0 -0
  329. data/util/image-gallery/js/SmoothGallery/css/img/open.gif +0 -0
  330. data/util/image-gallery/js/SmoothGallery/css/img/open.png +0 -0
  331. data/util/image-gallery/js/SmoothGallery/css/img/remo_bg_e.png +0 -0
  332. data/util/image-gallery/js/SmoothGallery/css/img/remo_bg_n.png +0 -0
  333. data/util/image-gallery/js/SmoothGallery/css/img/remo_bg_ne.png +0 -0
  334. data/util/image-gallery/js/SmoothGallery/css/img/remo_bg_nw.png +0 -0
  335. data/util/image-gallery/js/SmoothGallery/css/img/remo_bg_s.png +0 -0
  336. data/util/image-gallery/js/SmoothGallery/css/img/remo_bg_se.png +0 -0
  337. data/util/image-gallery/js/SmoothGallery/css/img/remo_bg_sw.png +0 -0
  338. data/util/image-gallery/js/SmoothGallery/css/img/remo_bg_w.png +0 -0
  339. data/util/image-gallery/js/SmoothGallery/css/img/spinner.gif +0 -0
  340. data/util/image-gallery/js/SmoothGallery/css/jd.gallery.css +371 -0
  341. data/util/image-gallery/js/SmoothGallery/css/layout.css +91 -0
  342. data/util/image-gallery/js/SmoothGallery/license.txt +621 -0
  343. data/util/image-gallery/js/SmoothGallery/resizer.php +113 -0
  344. data/util/image-gallery/js/SmoothGallery/scripts/Changelog +52 -0
  345. data/util/image-gallery/js/SmoothGallery/scripts/History.Routing.js +126 -0
  346. data/util/image-gallery/js/SmoothGallery/scripts/History.js +109 -0
  347. data/util/image-gallery/js/SmoothGallery/scripts/ReMooz.js +364 -0
  348. data/util/image-gallery/js/SmoothGallery/scripts/jd.gallery.js +843 -0
  349. data/util/image-gallery/js/SmoothGallery/scripts/jd.gallery.set.js +183 -0
  350. data/util/image-gallery/js/SmoothGallery/scripts/jd.gallery.transitions.js +90 -0
  351. data/util/image-gallery/js/SmoothGallery/scripts/jdgalleryresize.js +828 -0
  352. data/util/image-gallery/js/SmoothGallery/scripts/license.txt +621 -0
  353. data/util/image-gallery/js/SmoothGallery/scripts/mootools-1.2-more.js +103 -0
  354. data/util/image-gallery/js/SmoothGallery/scripts/mootools-1.2.1-core-yc.js +349 -0
  355. data/util/image-gallery/js/SmoothGallery/scripts/resizer.php +113 -0
  356. data/util/image-gallery/misc/plugin/recent_image.rb +406 -0
  357. data/util/image-gallery/skel/gallery.rhtml +154 -0
  358. data/util/image-gallery/skel/gallery.rhtml.euc-jp +154 -0
  359. data/util/image-gallery/tdiary.conf.igsample +8 -0
  360. data/util/image-gallery/theme/image-gallery.css +85 -0
  361. data/util/image2flickr.rb +282 -0
  362. data/util/posttdiary/README.ja +12 -0
  363. data/util/posttdiary/posttdiary-ex.rb +1155 -0
  364. data/util/posttdiary/posttdiary.rb +245 -0
  365. data/util/rast-search/ChangeLog +55 -0
  366. data/util/rast-search/README.ja +99 -0
  367. data/util/rast-search/en/rast-register.rb +3 -0
  368. data/util/rast-search/i.rast.rhtml +33 -0
  369. data/util/rast-search/ja/rast-register.rb +3 -0
  370. data/util/rast-search/rast-register.rb +326 -0
  371. data/util/rast-search/rast-search.rb +249 -0
  372. data/util/rast-search/rast.rhtml +66 -0
  373. data/util/rast-search/rast.rxml +21 -0
  374. data/util/section_link/README +11 -0
  375. data/util/section_link/misc/plugin/section_link.rb +68 -0
  376. data/util/section_link/misc/plugin/section_link_anchor.rb +38 -0
  377. data/util/section_link/tdiary/tdiary_day_ext.rb +21 -0
  378. data/util/section_link/tdiary/tdiaryext_style.rb +36 -0
  379. data/util/section_link/tdiary/wikiext_style.rb +36 -0
  380. data/util/tdiary-for-ruby1.9/compatible.rb +97 -0
  381. data/util/tdiary-for-ruby1.9/tdiary-2.2.0.patch +98 -0
  382. data/util/tdiary-for-ruby1.9/tdiary-2.3.1.patch +212 -0
  383. data/util/tdiary-grep/README +4 -0
  384. data/util/tdiary-grep/grep.rb +445 -0
  385. data/util/tdiary-mode/http.el +130 -0
  386. data/util/tdiary-mode/tdiary-mode.el +613 -0
  387. data/util/tdiary-vim/ChangeLog +25 -0
  388. data/util/tdiary-vim/README +60 -0
  389. data/util/tdiary-vim/tdiary.vim +350 -0
  390. data/util/tdiarysearch/README.en +53 -0
  391. data/util/tdiarysearch/README.ja +99 -0
  392. data/util/tdiarysearch/search.rb +504 -0
  393. metadata +497 -0
@@ -0,0 +1,842 @@
1
+ /**
2
+ * jquery.socialbutton - jQuery plugin for social networking websites
3
+ * http://itra.jp/jquery_socialbutton_plugin/
4
+ *
5
+ * Copyright 2010, Itrans, Inc. http://itra.jp/
6
+ *
7
+ * Dual licensed under the MIT or GPL Version 2 licenses.
8
+ * http://jquery.org/license
9
+ *
10
+ * Version: 1.8.1
11
+ */
12
+
13
+ /**
14
+ * SYNOPSIS
15
+ *
16
+ *
17
+ * mixi_check
18
+ * http://developer.mixi.co.jp/connect/mixi_plugin/mixi_check/spec_mixi_check
19
+ *
20
+ * $('#mixi_check').socialbutton('mixi_check', {
21
+ * key: 'mixi-check-key'
22
+ * });
23
+ *
24
+ * $('#mixi_check').socialbutton('mixi_check', {
25
+ * key: 'mixi-check-key',
26
+ * button: 'button-1',
27
+ * url: 'http://itra.jp/'
28
+ * });
29
+ *
30
+ *
31
+ * mixi_like
32
+ * http://developer.mixi.co.jp/connect/mixi_plugin/favorite_button/spec
33
+ *
34
+ * $('#mixi_like').socialbutton('mixi_like', {
35
+ * key: 'mixi-check-key',
36
+ * });
37
+ *
38
+ * $('#mixi_like').socialbutton('mixi_like', {
39
+ * key: 'mixi-check-key',
40
+ * url: 'http://itra.jp/',
41
+ * width: 450,
42
+ * height: 80,
43
+ * show_faces: true,
44
+ * style: 'additional-style-here'
45
+ * });
46
+ *
47
+ *
48
+ * facebook_like
49
+ * http://developers.facebook.com/docs/reference/plugins/like
50
+ *
51
+ * $('#facebook_like').socialbutton('facebook_like');
52
+ *
53
+ * $('#facebook_like').socialbutton('facebook_like', {
54
+ * button: 'standard', // synonym 'layout'
55
+ * url: 'http://itra.jp',
56
+ * show_faces: true,
57
+ * width: 450,
58
+ * height: 80,
59
+ * action: 'like',
60
+ * locale: 'en_US',
61
+ * font: 'arial',
62
+ * colorscheme: 'light'
63
+ * });
64
+ *
65
+ *
66
+ * facebook_share
67
+ * http://developers.facebook.com/docs/share
68
+ *
69
+ * $('#facebook_share').socialbutton('facebook_share');
70
+ *
71
+ * $('#facebook_share').socialbutton('facebook_share', {
72
+ * button: 'button_count', // synonym 'type'
73
+ * url: 'http://itra.jp',
74
+ * text: 'Share'
75
+ * });
76
+ *
77
+ *
78
+ * Twitter
79
+ * http://twitter.com/goodies/tweetbutton
80
+ *
81
+ * $('#twitter').socialbutton('twitter');
82
+ *
83
+ * $('#twitter').socialbutton('twitter', {
84
+ * button: 'vertical', // synonym 'count'
85
+ * url: 'http://itra.jp/',
86
+ * text: 'tweet text',
87
+ * lang: 'ja',
88
+ * via: 'ishiiyoshinori',
89
+ * related: 'twitter'
90
+ * });
91
+ *
92
+ *
93
+ * GREE Social Feedback
94
+ * http://developer.gree.co.jp/connect/plugins/sf
95
+ *
96
+ * $('#gree_sf').socialbutton('gree_sf');
97
+ *
98
+ * $('#gree_sf').socialbutton('gree_sf', {
99
+ * button: 0, // synonym 'type'
100
+ * url: 'http://itra.jp/',
101
+ * width: 0, // auto
102
+ * height: 20
103
+ * });
104
+ *
105
+ *
106
+ * Evernote Site Memory
107
+ * http://www.evernote.com/about/developer/sitememory/
108
+ *
109
+ * $('#evernote').socialbutton('evernote');
110
+ *
111
+ * $('#evernote').socialbutton('evernote', {
112
+ * button: 'article-clipper',
113
+ * url: 'http://itra.jp/',
114
+ * provider_name: 'itra.jp',
115
+ * suggest_notebook: 'webclip',
116
+ * content_id: 'element-id-to-clip',
117
+ * code: 'your-affiliate-code',
118
+ * title: 'note-title',
119
+ * suggest_tags: 'comma-separated-tags,up-to-three-tags',
120
+ * styling: 'full'
121
+ * });
122
+ *
123
+ *
124
+ * Hatena Bookmark
125
+ * http://b.hatena.ne.jp/
126
+ *
127
+ * $('#hatena').socialbutton('hatena');
128
+ *
129
+ * $('#hatena').socialbutton('hatena', {
130
+ * button: 'standard',
131
+ * url: 'http://itra.jp/',
132
+ * title: 'page-title'
133
+ * });
134
+ *
135
+ *
136
+ * Hatena Bookmark (Old Style)
137
+ * http://b.hatena.ne.jp/
138
+ *
139
+ * $('#hatena').socialbutton('hatena_oldstyle');
140
+ *
141
+ * $('#hatena').socialbutton('hatena_oldstyle', {
142
+ * button: '/path/to/your-icon.png',
143
+ * url: 'http://itra.jp/',
144
+ * padding: 10,
145
+ * height: 15
146
+ * });
147
+ *
148
+ *
149
+ * Google +1 Button
150
+ * http://www.google.com/webmasters/+1/button/
151
+ *
152
+ * $('#google').socialbutton('google_plusone');
153
+ *
154
+ * $('#google').socialbutton('google_plusone', {
155
+ * button: 'standard', // synonym 'size'
156
+ * url: 'http://itra.jp', // synonym 'href'
157
+ * lang: 'ja',
158
+ * parsetags: 'explicit',
159
+ * callback: 'some_callback_function',
160
+ * count: true
161
+ * });
162
+ *
163
+ *
164
+ * Pintarest Button
165
+ * http://pinterest.com/about/goodies/
166
+ *
167
+ * $('#pinterest').socialbutton('pinterest', {
168
+ * button: 'horizontal', // or 'vertical', 'none'
169
+ * url: 'http://itra.jp',
170
+ * media: 'http://itra.jp/image.jpg',
171
+ * description: 'This is an image.',
172
+ * });
173
+ */
174
+ (function($) {
175
+
176
+ $.fn.socialbutton = function(service, options) {
177
+
178
+ options = options || {};
179
+
180
+ var defaults = {
181
+ mixi_check: {
182
+ key: '',
183
+ button: 'button-1', // button-1,button-2,button-3,button-4,button-5
184
+ url: '' // document.URL
185
+ },
186
+ mixi_like: {
187
+ key: '',
188
+ url: document.URL,
189
+ width: 0, // auto
190
+ height: 0, // auto
191
+ show_faces: true,
192
+ style: '',
193
+
194
+ sizes: {
195
+ width: {
196
+ with_faces: 450,
197
+ without_faces: 140
198
+ },
199
+ height: {
200
+ with_faces_minimum: 80,
201
+ without_faces_minimum: 20
202
+ }
203
+ }
204
+ },
205
+ facebook_like: {
206
+ button: 'standard', // standard / button_count / box_count
207
+ url: document.URL,
208
+
209
+ show_faces: true,
210
+ width: 0, // auto
211
+ height: 0, // auto
212
+
213
+ width_standard_default: 450, // orig: 450
214
+ width_standard_minimum: 225,
215
+ height_standard_without_photo: 35,
216
+ height_standard_with_photo: 80,
217
+
218
+ width_button_count_default: 120, // orig: 90, jp_min: 114
219
+ width_button_count_minimum: 90,
220
+ height_button_count: 25, // orig:20, jp_min: 21
221
+
222
+ width_box_count_default: 80, // orig:55, jp_min: 75
223
+ width_box_count_minimum: 55,
224
+ height_box_count: 70, // orig: 65, jp_min: 66
225
+
226
+ action: 'like', // like / recommend
227
+ locale: '', // auto
228
+ font: '',
229
+ colorscheme: 'light' // light / dark
230
+ },
231
+ facebook_share: {
232
+ button: 'button_count', // box_count / button / icon_link / icon
233
+ url: '', //document.URL
234
+ text: '' //Share
235
+ },
236
+ twitter: {
237
+ button: 'vertical', // vertical / horizontal / none
238
+ url: '', // document.URL
239
+ text: '',
240
+ lang: 'ja', // ja / en /de / fr / es
241
+ via: '',
242
+ related: ''
243
+ },
244
+ gree_sf: {
245
+ button: 0, // 0,1,2,3,4
246
+ url: document.URL,
247
+ width: 0, // auto
248
+ height: 20,
249
+
250
+ widths: {
251
+ type0_16: 58, type0_20: 70, type0_23: 76,
252
+ type1_16: 58, type1_20: 73, type1_23: 78,
253
+ type2_16: 58, type2_20: 73, type2_23: 78,
254
+ type3_16: 49, type3_20: 61, type3_23: 64,
255
+ type4_16: 16, type4_22: 21, type4_32: 32
256
+ }
257
+ },
258
+ evernote: {
259
+ button: 'article-clipper', // article-clipper, article-clipper-remember, article-clipper-jp, article-clipper-rus, article-clipper-fr, article-clipper-es, article-clipper-de, article-clipper-vert, site-mem-32, site-mem-36, site-mem-22, site-mem-16
260
+ url: '', // document.URL
261
+ provider_name: '', // domain name
262
+ suggest_notebook: '', // notebook name
263
+ content_id: '', // element id for clip
264
+ code: '', // affiliate code
265
+ title: '',
266
+ suggest_tags: '',
267
+ styling: '' // none(text-only), full
268
+ },
269
+ hatena: {
270
+ button: 'standard', // standard, vertical, simple
271
+ url: document.URL,
272
+ title: document.title
273
+ },
274
+ hatena_oldstyle: {
275
+ button: 'http://d.hatena.ne.jp/images/b_append.gif',
276
+ url: document.URL,
277
+ height: 13,
278
+ padding: 7
279
+ },
280
+ google_plusone: {
281
+ button: '', // small, standard, medium, tall
282
+ url: '',
283
+ lang: '', // en-US
284
+ parsetags: '', // none(onload), explicit
285
+ callback: '',
286
+ count: true // true, false
287
+ },
288
+ pinterest: {
289
+ button: 'horizontal', // horizontal, vertical, none
290
+ url: '',
291
+ media: '',
292
+ description: ''
293
+ },
294
+ };
295
+
296
+ var max_index = this.size() - 1;
297
+
298
+ return this.each(function(index) {
299
+
300
+ switch (service) {
301
+ case 'mixi_check':
302
+ socialbutton_mixi_check(this, options, defaults.mixi_check, index, max_index);
303
+ break;
304
+
305
+ case 'mixi_like':
306
+ socialbutton_mixi_like(this, options, defaults.mixi_like, index, max_index);
307
+ break;
308
+
309
+ case 'facebook_like':
310
+ socialbutton_facebook_like(this, options, defaults.facebook_like, index, max_index);
311
+ break;
312
+
313
+ case 'facebook_share':
314
+ socialbutton_facebook_share(this, options, defaults.facebook_share, index, max_index);
315
+ break;
316
+
317
+ case 'twitter':
318
+ socialbutton_twitter(this, options, defaults.twitter, index, max_index);
319
+ break;
320
+
321
+ case 'gree_sf':
322
+ socialbutton_gree_sf(this, options, defaults.gree_sf, index, max_index);
323
+ break;
324
+
325
+ case 'evernote':
326
+ socialbutton_evernote(this, options, defaults.evernote, index, max_index);
327
+ break;
328
+
329
+ case 'hatena':
330
+ socialbutton_hatena(this, options, defaults.hatena, index, max_index);
331
+ break;
332
+
333
+ case 'hatena_oldstyle':
334
+ socialbutton_hatena_oldstyle(this, options, defaults.hatena_oldstyle, index, max_index);
335
+ break;
336
+
337
+ case 'google_plusone':
338
+ socialbutton_google_plusone(this, options, defaults.google_plusone, index, max_index);
339
+ break;
340
+
341
+ case 'pinterest':
342
+ socialbutton_pinterest(this, options, defaults.pinterest, index, max_index);
343
+ break;
344
+
345
+ default:
346
+ break;
347
+ }
348
+
349
+ return true;
350
+ });
351
+ }
352
+
353
+ function socialbutton_mixi_check(target, options, defaults, index, max_index)
354
+ {
355
+ var key = options.key || defaults.key;
356
+ var button = options.button || defaults.button;
357
+ var url = options.url || defaults.url;
358
+
359
+ if (key == '') {
360
+ return;
361
+ }
362
+
363
+ var attr = merge_attributes({
364
+ 'data-key': key,
365
+ 'data-url': htmlspecialchars(url),
366
+ 'data-button': button
367
+ });
368
+
369
+ var tag = '<a href="http://mixi.jp/share.pl" class="mixi-check-button"' + attr + '>Check</a>';
370
+
371
+ $(target).html(tag);
372
+
373
+ if (index == max_index) {
374
+ $('body').append('<script type="text/javascript" src="http://static.mixi.jp/js/share.js"></script>');
375
+ }
376
+ }
377
+
378
+ function socialbutton_mixi_like(target, options, defaults, index, max_index)
379
+ {
380
+ var key = options.key || defaults.key;
381
+ var url = options.url || defaults.url;
382
+ var width = options.width != undefined ? options.width : defaults.width;
383
+ var height = options.height != undefined ? options.height : defaults.height;
384
+ var show_faces = options.show_faces != undefined ? options.show_faces : defaults.show_faces;
385
+ var style = options.style || defaults.style;
386
+
387
+ if (key == '') {
388
+ return;
389
+ }
390
+
391
+ if (options.url) {
392
+ url = decodeURIComponent(url);
393
+ }
394
+ url = url_encode_rfc3986(url);
395
+
396
+ if (width == 0) {
397
+ width = show_faces ? defaults.sizes.width.with_faces : defaults.sizes.width.without_faces;
398
+ }
399
+
400
+ if (height == 0) {
401
+ height = show_faces ? defaults.sizes.height.with_faces_minimum : defaults.sizes.height.without_faces_minimum;
402
+ } else {
403
+ if (show_faces && height < defaults.sizes.height.with_faces_minimum) {
404
+ height = defaults.sizes.height.with_faces_minimum;
405
+ } else if (!show_faces && height < defaults.sizes.height.without_faces_minimum) {
406
+ height = defaults.sizes.height.without_faces_minimum;
407
+ }
408
+ }
409
+
410
+ var params = merge_parameters({
411
+ 'href': url,
412
+ 'service_key': key,
413
+ 'width': width,
414
+ 'show_faces': show_faces ? 'true' : 'false'
415
+ });
416
+
417
+ var attr = merge_attributes({
418
+ src: 'http://plugins.mixi.jp/favorite.pl?' + params,
419
+ scrolling: 'no',
420
+ frameborder: '0',
421
+ allowTransparency: 'true',
422
+ style: 'border:0; overflow:hidden; width:' + width + 'px; height:' + height + 'px; ' + style
423
+ });
424
+
425
+ var tag = '<iframe' + attr + '></iframe>';
426
+
427
+ $(target).html(tag);
428
+ }
429
+
430
+ function socialbutton_facebook_like(target, options, defaults, index, max_index)
431
+ {
432
+ var layout = options.layout || options.button || defaults.button;
433
+ var url = options.url || defaults.url;
434
+
435
+ var show_faces = options.show_faces != undefined ? options.show_faces : defaults.show_faces;
436
+ var width = options.width != undefined ? options.width : defaults.width;
437
+ var height = options.height != undefined ? options.height : defaults.height;
438
+ var action = options.action || defaults.action;
439
+ var locale = options.locale || defaults.locale;
440
+ var font = options.font || defaults.font;
441
+ var colorscheme = options.colorscheme || defaults.colorscheme;
442
+
443
+ if (options.url) {
444
+ url = decodeURIComponent(url);
445
+ }
446
+ url = url_encode_rfc3986(url);
447
+
448
+ switch (layout) {
449
+ case 'standard':
450
+ if (width == 0) {
451
+ width = defaults.width_standard_default;
452
+ } else if (width < defaults.width_standard_minimum) {
453
+ width = defaults.width_standard_minimum;
454
+ }
455
+ if (height == 0) {
456
+ height = show_faces ? defaults.height_standard_with_photo : defaults.height_standard_without_photo;
457
+ } else if (height < defaults.height_standard_without_photo) {
458
+ height = defaults.height_standard_without_photo;
459
+ }
460
+ break;
461
+ case 'button_count':
462
+ if (width == 0) {
463
+ width = defaults.width_button_count_default;
464
+ } else if (width < defaults.width_button_count_minimum) {
465
+ width = defaults.width_button_count_minimum;
466
+ }
467
+ if (height == 0) {
468
+ height = defaults.height_button_count;
469
+ } else if (height < defaults.height_button_count) {
470
+ height = defaults.height_button_count;
471
+ }
472
+ break;
473
+ case 'box_count':
474
+ if (width == 0) {
475
+ width = defaults.width_box_count_default;
476
+ } else if (width < defaults.width_box_count_minimum) {
477
+ width = defaults.width_box_count_minimum;
478
+ }
479
+ if (height == 0) {
480
+ height = defaults.height_box_count;
481
+ } else if (height < defaults.height_box_count) {
482
+ height = defaults.height_box_count;
483
+ }
484
+ break;
485
+ }
486
+
487
+ var params = merge_parameters({
488
+ 'href': url,
489
+ 'layout': layout,
490
+ 'show_faces': show_faces ? 'true' : 'false',
491
+ 'width': width,
492
+ 'action': action,
493
+ 'locale': locale,
494
+ 'font': font,
495
+ 'colorscheme': colorscheme,
496
+ 'height': height
497
+ });
498
+
499
+ var tag = '<iframe src="http://www.facebook.com/plugins/like.php?' + params + '" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:' + width + 'px; height:' + height + 'px;" allowTransparency="true"></iframe>';
500
+
501
+ $(target).html(tag);
502
+ }
503
+
504
+ function socialbutton_facebook_share(target, options, defaults, index, max_index)
505
+ {
506
+ var type = options.type || options.button || defaults.button;
507
+ var url = options.url || defaults.url;
508
+ var text = options.text || defaults.text;
509
+
510
+ var attr = merge_attributes({
511
+ 'type': type,
512
+ 'share_url': htmlspecialchars(url)
513
+ });
514
+
515
+ var tag = '<a name="fb_share"' + attr + '>' + text + '</a>';
516
+
517
+ if(index == 0) {
518
+ tag += '<script type="text/javascript" src="http://static.ak.fbcdn.net/connect.php/js/FB.Share"></script>';
519
+ }
520
+
521
+ $(target).html(tag);
522
+ }
523
+
524
+ function socialbutton_twitter(target, options, defaults, index, max_index)
525
+ {
526
+ var count = options.count || options.button || defaults.button;
527
+ var url = options.url || defaults.url;
528
+
529
+ var text = options.text || defaults.text;
530
+ var lang = options.lang || defaults.lang;
531
+ var via = options.via || defaults.via;
532
+ var related = options.related || defaults.related;
533
+
534
+ var attr = merge_attributes({
535
+ 'data-count': count,
536
+ 'data-url': htmlspecialchars(url),
537
+ 'data-text': text,
538
+ 'data-lang': lang,
539
+ 'data-via': via,
540
+ 'data-related': related
541
+ });
542
+
543
+ var tag = '<a href="http://twitter.com/share" class="twitter-share-button"' + attr + '>Tweet</a>';
544
+
545
+ $(target).html(tag);
546
+
547
+ if (index == max_index) {
548
+ $('body').append('<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>');
549
+ }
550
+ }
551
+
552
+ function socialbutton_gree_sf(target, options, defaults, index, max_index)
553
+ {
554
+ var type = options.type || options.button || defaults.button;
555
+ var url = options.url || defaults.url;
556
+
557
+ var width = options.width != undefined ? options.width : defaults.width;
558
+ var height = options.height != undefined ? options.height : defaults.height;
559
+
560
+ if (options.url) {
561
+ url = decodeURIComponent(url);
562
+ }
563
+ url = url_encode_rfc3986(url);
564
+
565
+ switch (type) {
566
+ case 0:
567
+ case 1:
568
+ case 2:
569
+ case 3:
570
+ if (height != 16 && height != 20 && height != 23) {
571
+ height = 20;
572
+ }
573
+ break;
574
+
575
+ case 4:
576
+ if (height != 16 && height != 22 && height != 32) {
577
+ height = 22;
578
+ }
579
+ break;
580
+
581
+ default:
582
+ type = 0;
583
+ width = 0;
584
+ height = 20;
585
+ break;
586
+ }
587
+
588
+ if (width == 0) {
589
+ width = defaults.widths['type' + type + '_' + height];
590
+ }
591
+
592
+ var params = merge_parameters({
593
+ 'url': url,
594
+ 'type': String(type),
595
+ 'height': height
596
+ });
597
+
598
+ var tag = '<iframe src="http://share.gree.jp/share?' + params + '" scrolling="no" frameborder="0" marginwidth="0" marginheight="0" style="border:none; overflow:hidden; width:' + width + 'px; height:' + height + 'px;" allowTransparency="true"></iframe>';
599
+
600
+ $(target).html(tag);
601
+ }
602
+
603
+ function socialbutton_evernote(target, options, defaults, index, max_index)
604
+ {
605
+ var button = options.button || defaults.button;
606
+ var url = options.url || defaults.url;
607
+
608
+ var provider_name = options.provider_name || defaults.provider_name;
609
+ var suggest_notebook = options.suggest_notebook || defaults.suggest_notebook;
610
+ var content_id = options.content_id || defaults.content_id;
611
+ var code = options.code || defaults.code;
612
+ var title = options.title || defaults.title;
613
+ var suggest_tags = options.suggest_tags || defaults.suggest_tags;
614
+ var styling = options.styling || defaults.styling;
615
+
616
+ if (button == 'article-clipper' ||
617
+ button == 'article-clipper-remember' ||
618
+ button == 'article-clipper-jp' ||
619
+ button == 'article-clipper-rus' ||
620
+ button == 'article-clipper-fr' ||
621
+ button == 'article-clipper-es' ||
622
+ button == 'article-clipper-de' ||
623
+ button == 'article-clipper-vert' ||
624
+ button == 'site-mem-32' ||
625
+ button == 'site-mem-36' ||
626
+ button == 'site-mem-22' ||
627
+ button == 'site-mem-16'
628
+ ) {
629
+ button = 'http://static.evernote.com/' + button + '.png';
630
+ }
631
+
632
+ var clipoptions = {
633
+ 'url': url,
634
+ 'providerName': provider_name,
635
+ 'suggestNotebook': suggest_notebook,
636
+ 'contentId': content_id,
637
+ 'code': code,
638
+ 'title': title,
639
+ 'suggestTags': suggest_tags,
640
+ 'styling': styling
641
+ };
642
+
643
+ if (index == 0) {
644
+ $('body').append('<script type="text/javascript" src="http://static.evernote.com/noteit.js"></script>');
645
+ }
646
+
647
+ var tag = $(document.createElement('a'))
648
+ .attr({href: '#'})
649
+ .click(function(){
650
+ if (Evernote) {
651
+ Evernote.doClip(clipoptions);
652
+ }
653
+ return false;
654
+ })
655
+ .append('<img src="' + button + '" alt="Clip to Evernote" style="border: none" />');
656
+
657
+ $(target).html(tag);
658
+ }
659
+
660
+ function socialbutton_hatena(target, options, defaults, index, max_index)
661
+ {
662
+ var layout = options.layout || options.button || defaults.button;
663
+ var url = options.url || defaults.url;
664
+ var title = options.title || defaults.title;
665
+
666
+ url = htmlspecialchars(url);
667
+ title = htmlspecialchars(title);
668
+
669
+ var attr = merge_attributes({
670
+ 'href': 'http://b.hatena.ne.jp/entry/' + url,
671
+ 'class': 'hatena-bookmark-button',
672
+ 'data-hatena-bookmark-title': title,
673
+ 'data-hatena-bookmark-layout': layout,
674
+ 'title': 'このエントリーをはてなブックマークに追加'
675
+ });
676
+
677
+ var tag = '<a' + attr + '><img src="http://b.st-hatena.com/images/entry-button/button-only.gif" alt="このエントリーをはてなブックマークに追加" width="20" height="20" style="border: none;" /></a>'
678
+ + '<script type="text/javascript" src="http://b.st-hatena.com/js/bookmark_button_wo_al.js" charset="utf-8" async="async"></script>';
679
+
680
+ $(target).html(tag);
681
+ }
682
+
683
+ function socialbutton_hatena_oldstyle(target, options, defaults, index, max_index)
684
+ {
685
+ var button = options.button || defaults.button;
686
+ var url = options.url || defaults.url;
687
+
688
+ var height = options.height != undefined ? options.height : defaults.height;
689
+ var padding = options.padding != undefined ? options.padding : defaults.padding;
690
+
691
+ url = htmlspecialchars(url);
692
+
693
+ var tag = '<span style="font-size: ' + height + 'px; line-height: 100%; ">'
694
+ + '<span style="padding-right: ' + padding + 'px"><a href="http://b.hatena.ne.jp/entry/add/' + url + '" target="_blank"><img src="' + button + '" style="border: none; vertical-align: text-bottom" /></a></span>'
695
+ + '<a href="http://b.hatena.ne.jp/entry/' + url + '" target="_blank"><img src="http://b.hatena.ne.jp/entry/image/' + url + '" style="border: none; vertical-align: text-bottom" /></a>'
696
+ + '</span>';
697
+
698
+ $(target).html(tag);
699
+ }
700
+
701
+ function socialbutton_google_plusone(target, options, defaults, index, max_index)
702
+ {
703
+ if ($.browser.msie && parseInt($.browser.version, 10) < 8) {
704
+ return;
705
+ }
706
+
707
+ var size = options.size || options.button || defaults.button;
708
+ var href = options.href || options.url || defaults.url;
709
+
710
+ var lang = options.lang || defaults.lang;
711
+ var parsetags = options.parsetags || defaults.parsetags;
712
+
713
+ var callback = options.callback || defaults.callback;
714
+ var count = options.count != undefined ? options.count : defaults.count;
715
+
716
+ switch (size) {
717
+ case 'small':
718
+ case 'standard':
719
+ case 'medium':
720
+ break;
721
+
722
+ case 'tall':
723
+ count = true;
724
+ break;
725
+
726
+ default:
727
+ size = 'standard';
728
+ count = true;
729
+ }
730
+
731
+ var tag = $('<div>')
732
+ .attr({
733
+ 'data-callback': callback,
734
+ 'data-count': count ? 'true' : 'false',
735
+ 'data-href': href,
736
+ 'data-size': size
737
+ }).addClass('g-plusone');
738
+ $(target).append(tag);
739
+
740
+ if (index == max_index) {
741
+
742
+ var script_params = '';
743
+
744
+ if (lang != '') {
745
+ script_params += 'lang: "' + htmlspecialchars(lang) + '"';
746
+ }
747
+ if (parsetags != '') {
748
+ script_params += script_params != '' ? ',' : '';
749
+ script_params += 'parsetags: "' + htmlspecialchars(parsetags) + "'";
750
+ }
751
+ if (script_params != '') {
752
+ script_params = '{' + script_params + '}';
753
+ }
754
+
755
+ if (typeof gapi === 'undefined' || typeof gapi.plusone === 'undefined') {
756
+ $('body').append('<script type="text/javascript" src="https://apis.google.com/js/plusone.js">' + script_params + '</script>');
757
+ } else {
758
+ gapi.plusone.go();
759
+ }
760
+ }
761
+ }
762
+
763
+ function socialbutton_pinterest(target, options, defaults, index, max_index)
764
+ {
765
+ var url = options.url || defaults.url;
766
+ var button = options.button || defaults.button;
767
+ var media = options.media != undefined ? options.media : defaults.media;
768
+ var description = options.description != undefined ? options.description : defaults.description;
769
+
770
+ url = url_encode_rfc3986(decodeURIComponent(url));
771
+ media = url_encode_rfc3986(decodeURIComponent(media));
772
+ description = decodeURIComponent(description);
773
+
774
+ var params = merge_parameters({
775
+ 'url': url,
776
+ 'media': media,
777
+ 'description': description
778
+ });
779
+
780
+ var tag = '<a href="http://pinterest.com/pin/create/button/?' + params + '" class="pin-it-button" count-layout="' + button +'"><img border="0" src="//assets.pinterest.com/images/PinExt.png" title="Pin It" /></a>'
781
+
782
+ $(target).html(tag);
783
+
784
+ if (index == max_index) {
785
+ $('body').append('<script type="text/javascript" src="//assets.pinterest.com/js/pinit.js"></script>');
786
+ }
787
+ }
788
+
789
+ function merge_attributes(attr)
790
+ {
791
+ var merged = '';
792
+
793
+ for (var i in attr) {
794
+ if (attr[i] == '') {
795
+ continue;
796
+ }
797
+ merged += ' ' + i + '="' + attr[i] + '"';
798
+ }
799
+
800
+ return merged;
801
+ }
802
+
803
+ function merge_parameters(params)
804
+ {
805
+ var merged = '';
806
+
807
+ for (var i in params) {
808
+ if (params[i] == '') {
809
+ continue;
810
+ }
811
+ merged += merged != '' ? '&amp;' : '';
812
+ merged += i + '=' + params[i] + '';
813
+ }
814
+
815
+ return merged;
816
+ }
817
+
818
+ function htmlspecialchars(string)
819
+ {
820
+ var table = [
821
+ [/&/g, '&amp;'],
822
+ [/</g, '&lt;'],
823
+ [/>/g, '&gt;'],
824
+ [/"/g, '&quot;'],
825
+ [/'/g, '&#039;']
826
+ ];
827
+
828
+ for (var i in table) {
829
+ string = string.replace(table[i][0], table[i][1]);
830
+ }
831
+
832
+ return string;
833
+ }
834
+
835
+ function url_encode_rfc3986(url)
836
+ {
837
+ return encodeURIComponent(url).replace(/[!*'()]/g, function(p) {
838
+ return "%" + p.charCodeAt(0).toString(16);
839
+ });
840
+ }
841
+
842
+ })(jQuery);