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.
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,154 @@
1
+ <%# gallery.rhtml $Revision: 2.0.1 $ %>
2
+ <%# Copyright (c) 2005-2012 N.KASHIJUKU <n-kashi[at]whi.m-net.ne.jp> %>
3
+ <%# You can redistribute it and/or modify it under GPL2. %>
4
+
5
+ <div class="adminmenu"><%%=navi_user%></div><h1><%= CGI::escapeHTML( @conf.html_title ) %> [Image Gallery]</h1>
6
+
7
+ <% if @images.length == 0 %>
8
+ <p>��������ե�����Ϥ���ޤ���</p>
9
+ <%= format_links_date %>
10
+ <% else %>
11
+ <% if @mode == "list" or @mode == "slide" or @mode == "fslide" %>
12
+ <%= format_links_date %>
13
+ <div class="day">
14
+ <% if @images.length != 0 %>
15
+ <h2><span class="date"><%= _(@conf.to_native(@t_page_title)) %>&nbsp;&nbsp;Page&nbsp;<%=@start / @num + 1 %></span>&nbsp;<span class="nyear">[<%= @image_num %> ���� <%= @start + 1 %> - <%= @start + @images.length %> ����]&nbsp;&nbsp;<%= get_other_mode_link %></span></h2>
16
+ <% end %>
17
+ <div class="body">
18
+ <div class="section">
19
+ <div class="categorylink"><%= format_link_list_category(@images) %></div>
20
+ <% if @mode == "list" %>
21
+ <table class="imagelist">
22
+ <% @line.times do |line|%>
23
+ <tr>
24
+ <% @column.times do |column| %>
25
+ <% i = line * @column + column %>
26
+ <td>
27
+ <% if @images[i] != nil %>
28
+ <% if @images[i].width.to_i > @images[i].height.to_i %>
29
+ <p><a href="<%= format_link_viewer_image(@image_hash.index(@images[i])) %>"><img src="<%= @image_url %>/<%= @images[i].url %>" width="<%= @width %>" height="<%= (@width.to_i*@images[i].height.to_i/@images[i].width.to_i).to_s %>" alt="<%= @images[i].file %>" title="<%= @images[i].file %>" class="imagebody"></a></p>
30
+ <% else %>
31
+ <p><a href="<%= format_link_viewer_image(@image_hash.index(@images[i])) %>"><img src="<%= @image_url %>/<%= @images[i].url %>" width="<%= (@width.to_i*@images[i].width.to_i/@images[i].height.to_i).to_s %>" height="<%= @width %>" alt="<%= @images[i].file %>" title="<%= @images[i].file %>" class="imagebody"></a></p>
32
+ <% end %>
33
+ <p class="imagetitle"><%= CGI::escapeHTML(@images[i].title) %></p>
34
+ <p class="imagedate"><a href="./?date=<%= @images[i].date %>" title="<%= CGI::escapeHTML(@images[i].subtitle) %>"><%= @images[i].date.sub(/(\d{4})(\d{2})(\d{2})/, '\1-\2-\3') %></a></p>
35
+ <% end %>
36
+ </td>
37
+ <% end %>
38
+ </tr>
39
+ <% break if @images[(line + 1) * @column] == nil %>
40
+ <% end %>
41
+ </table>
42
+ <% elsif @mode == "slide" or @mode == "fslide" %>
43
+ <%= js_start_gallery %>
44
+ <div class="content">
45
+ <div id="myGallery">
46
+ <% (@line * @column).times do |i| %>
47
+ <div class="imageElement">
48
+ <h3><%= CGI::escapeHTML(@images[i].title) %>[<%= @images[i].date.sub(/(\d{4})(\d{2})(\d{2})/, '\1-\2-\3') %>]</h3>
49
+ <p><%= CGI::escapeHTML(@images[i].subtitle) %></p>
50
+ <a href="./?date=<%= @images[i].date %>" title="to Diary" class="open"></a>
51
+ <% image_file = @images[i].file.dup %>
52
+ <% if @use_mid_image && @mode == "slide" %>
53
+ <% if image_file[4] == ?/ %>
54
+ <% image_file[4] = "/m" %>
55
+ <% else %>
56
+ <% image_file = "m" + image_file %>
57
+ <% end %>
58
+ <% end %>
59
+ <img src="<%= @image_url %>/<%= image_file %>" class="full" />
60
+ <img src="<%= @image_url %>/<%= @images[i].url %>" class="thumbnail" />
61
+ </div>
62
+ <% break if @images[i+1] == nil %>
63
+ <% end %>
64
+ </div>
65
+ </div>
66
+ <% end %>
67
+ </div>
68
+ </div>
69
+ </div>
70
+ <div class="referer">
71
+ <% if @image_num > 0 %>
72
+ <%= format_links(@image_num) %>
73
+ <% end %>
74
+ </div>
75
+
76
+ <% elsif @mode == "viewer" %>
77
+ <%= format_links_viewer %>
78
+ <div class="day">
79
+ <h2><span class="date">&nbsp;<a href="./?date=<%= @images[0].date %>" title="<%= CGI::escapeHTML(@images[0].subtitle) %>"><%= @images[0].date.sub(/(\d{4})(\d{2})(\d{2})/, '\1-\2-\3') %></a></span>&nbsp;&nbsp;<span class="title"><%= CGI::escapeHTML(@images[0].title) %></span>&nbsp;&nbsp;<span class="nyear">[<%= @images[0].file %>:<%= @images[0].width %>(w)��<%= @images[0].height %>(h)]</span></h2>
80
+ <div class="body">
81
+ <% image_file = @images[0].file.dup %>
82
+ <% month_filter = ((image_file[4] == ?/) ? %Q[^#{image_file[0,4]}/#{image_file[5,6]}] : %Q[^#{image_file[0,6]}]) %>
83
+ <div class="categorylink">&raquo;<%= format_link_viewer_date(@images[0].date[0,4], "^"+@images[0].date[0,4]) %>-<%= format_link_viewer_date(@images[0].date[4,2], month_filter) %>-<%= format_link_viewer_date(@images[0].date[6,2], @images[0].date[0,8]) %>&nbsp;|&nbsp;<%= format_link_viewer_category(@images[0].subtitle) %></div>
84
+ <div class="section">
85
+ <table class="imageview">
86
+ <tr>
87
+ <td colspan="2">
88
+ <% image_file = @images[0].file.dup %>
89
+ <% if @use_mid_image %>
90
+ <% if image_file[4] == ?/ %>
91
+ <% image_file[4] = "/m" %>
92
+ <% else %>
93
+ <% image_file = "m" + image_file %>
94
+ <% end %>
95
+ <% end %>
96
+ <a href="<%= @image_url %>/<%= @images[0].file %>"><img src="<%= @image_url %>/<%= image_file %>" <%= @sizestr %> alt="<%= CGI::escapeHTML(@images[0].title) %>" title="<%= CGI::escapeHTML(@images[0].title) %>" class="imagebody"></a>
97
+ </td>
98
+ </tr>
99
+ <tr>
100
+ <td>
101
+ <% if @show_exif and @exifstr.length != 0 %>
102
+ <strong><p class="infobar"> - EXIF Data -</p></strong>
103
+ <strong><p class="exiftitle"><%= @exifstr[0] %></p></strong>
104
+ <ul class="exifdata">
105
+ <% i = 1 %>
106
+ <% while i < @exifstr.length %>
107
+ <% if @exifstr.length > 5 and i == @exifstr.length / 2 %>
108
+ </ul>
109
+ </td>
110
+ <td>
111
+ <ul class="exifdata">
112
+ <% end %>
113
+ <% if @exifstr[i][0,2] == "--" %>
114
+ </ul>
115
+ <strong><p class="exiftitle"><%= @exifstr[i] %></p></strong>
116
+ <ul class="exifdata">
117
+ <% else %>
118
+ <li><%= @exifstr[i] %></li>
119
+ <% end %>
120
+ <% i = i + 1 %>
121
+ <% end %>
122
+ </ul>
123
+ </td>
124
+ <% end %>
125
+ </tr>
126
+ </table>
127
+ </div>
128
+ </div>
129
+ </div>
130
+ <% end %>
131
+ <% end %>
132
+
133
+ <% if @show_inputfield %>
134
+ <form action="<%= @cgi.script_name ? _(@cgi.script_name) : '' %>">
135
+ <p>
136
+ ����������:&nbsp;�ե�����̾��<input type="text" name="name" value="<%= _(@conf.to_native(@name_filter)) %>" size="16" />
137
+ &nbsp;�����Υ��֥����ȥ�:<input type="text" name="subtitle" value="<%= _(@conf.to_native(@subtitle_filter)) %>" size="16" />
138
+ &nbsp;�����Υ����ȥ�:<input type="text" name="title" value="<%= _(@conf.to_native(@title_filter)) %>" size="16" />
139
+ </p>
140
+ <p>
141
+ �¤��ؤ�:
142
+ <select name="order">
143
+ <%= @order_options %>
144
+ </select>&nbsp;&nbsp;
145
+ ɽ������:
146
+ <select name="mode">
147
+ <%= @mode_options %>
148
+ </select>
149
+ <input type="submit" value="ɽ��" />
150
+ </p>
151
+ </form>
152
+ <div class="footer">
153
+ Generated by <a href="http://www1.whi.m-net.ne.jp/n-kashi/image-gallery2.html">tDiary Image Gallery</a> version <%= @img_version %></div>
154
+ <% end %>
@@ -0,0 +1,8 @@
1
+ #
2
+ # tDiary configuration file
3
+ #
4
+
5
+ @options['image-gallery.show_exif'] = true
6
+ @options['image-gallery.column'] = 4
7
+ @options['image-gallery.line'] = 10
8
+ @options['image-gallery.width'] = "160"
@@ -0,0 +1,85 @@
1
+ /* css for tDiary Image Gallery */
2
+ /* for List mode */
3
+ table.imagelist {
4
+ margin: 0 auto;
5
+ text-align: center;
6
+ }
7
+
8
+ table.imagelist p.imagetitle {
9
+ margin-top: 0px;
10
+ margin-bottom: 0px;
11
+ }
12
+
13
+ table.imagelist td {
14
+ width: 33%;
15
+ }
16
+
17
+ table.imageview td {
18
+ width: 50%;
19
+ }
20
+
21
+ table.imagelist p.imagedate {
22
+ margin-top: 0px;
23
+ }
24
+
25
+ table.imageview {
26
+ margin-left: auto;
27
+ margin-right: auto;
28
+ }
29
+
30
+ table.imageview td {
31
+ text-align: center;
32
+ }
33
+
34
+ p.exiftitle {
35
+ text-align: left;
36
+ }
37
+
38
+ table.imageview li {
39
+ text-align: left;
40
+ }
41
+
42
+ img.imagebody {
43
+ border-style: solid;
44
+ border-width: 1px;
45
+ border-color: #fff;
46
+ padding: 4px;
47
+ margin: 0 auto;
48
+ }
49
+
50
+ p.infobar {
51
+ text-align: center;
52
+ }
53
+
54
+ div.categorylink {
55
+ font-size: small;
56
+ text-align: right;
57
+ margin-right: 0.3em;
58
+ }
59
+
60
+
61
+ /* for SlideShow mode */
62
+ .content {
63
+ margin: 0 20px;
64
+ }
65
+
66
+ .content a {
67
+ color: #fff;
68
+ }
69
+
70
+
71
+ .content p.linkage {
72
+ margin-top: 2em;
73
+ text-align: right;
74
+ font-size: 1.7em;
75
+ color: #ddd;
76
+ }
77
+
78
+ .content p.linkage a { color: #fff; }
79
+
80
+ #myGallery
81
+ {
82
+ text-align: left;
83
+ margin: 0 auto;
84
+ }
85
+
@@ -0,0 +1,282 @@
1
+ #!/usr/bin/env ruby
2
+ # -*- coding: utf-8 -*-
3
+ # = Image2Flickr
4
+ # imageプラグインからflickrプラグインへのマイグレーションツール
5
+ #
6
+ # Author:: MATSUOKA Kohei <http://www.machu.jp/>
7
+ # Copyright:: Copyright (c) MATSUOKA Kohei <http://www.machu.jp/>
8
+ # License:: GPL <http://www.gnu.org/copyleft/gpl.html>
9
+ #
10
+ # USEGE:
11
+ # imageプラグインからflickrプラグインへ移行するためのツールです。
12
+ # このツールの機能は、以下の2つです。
13
+ # (1) tDiaryのimageプラグインを利用して日記に載せた写真を、
14
+ # Flickrへアップロードします。
15
+ # (2) 日記データのimageプラグインの呼び出しを、
16
+ # flickrプラグインへと置き換えます。
17
+ # 古い日記データは .bak.YYYYmmddHHMMSS を付けてバックアップします。
18
+ #
19
+ # == 注意
20
+ #
21
+ # (1) tDiary2.3.1以降が対象です。
22
+ # 日記データがUTF-8に変換されている必要があります。
23
+ # (2) Wiki記法で記述された日記が対象です。
24
+ #
25
+ #
26
+ # == 移行手順
27
+ #
28
+ # 1. Flickr APIキーの取得
29
+ #
30
+ # flickr.comのAPIサイトにアクセスし、"Apply for a new API Key"にて
31
+ # 新しいAPIキーを生成します。
32
+ # http://www.flickr.com/services/api/keys/
33
+ #
34
+ # Authentication TypeはAuthentication Typeを選択してください。
35
+ #
36
+ #
37
+ # 2. tDiaryデータフォルダのバックアップ
38
+ #
39
+ # このマイグレーションツールはtDiaryの日記データを書き換えます。
40
+ # 古い日記データを残す仕様ですが、万が一に備えて
41
+ # 事前にtDiaryのデータフォルダをバックアップしてください。
42
+ #
43
+ #
44
+ # 3. rflickrライブラリの取得
45
+ #
46
+ # このマイグレーションツールはFlickrへの写真のアップロードに
47
+ # rflickrライブラリを使用します。
48
+ # 以下のサイトからrflickrライブラリを取得して、インストールしてください。
49
+ # http://rubyforge.org/projects/rflickr/
50
+ #
51
+ # RubyGemsが利用できる場合は、以下のコマンドでインストールできます。
52
+ # $ gem install rflickr
53
+ #
54
+ #
55
+ # 4. マイグレーションツールの設定
56
+ #
57
+ # image2flickr.rbをエディタで開き、以下の4つのパラメータを設定します。
58
+ #
59
+ # # FlickrのAPIキー
60
+ # @api_key = '123456789012345678901234567890'
61
+ # # Flickr APIのシークレットキー
62
+ # @secret = '1234567890'
63
+ # # tDiaryのデータフォルダ
64
+ # @data_path = '/var/tdiary'
65
+ # # tDiaryのイメージフォルダ
66
+ # @image_dir = '/var//www/tdiary/images'
67
+ #
68
+ #
69
+ # 5. マイグレーションツールの実行
70
+ #
71
+ # tDiaryのデータフォルダに書き込む権限を持つアカウントで、
72
+ # コマンドラインからimage2flickr.rbを実行してください。
73
+ # $ ./image2flickr
74
+ #
75
+ # すると、以下のメッセージが表示されます。
76
+ # ----
77
+ # Flickrへ写真をアップロードするためのトークンを取得します。
78
+ # Webブラウザで下記のURLへアクセスしたら、何かキーを押してください。
79
+ # http://www.flickr.com/services/auth/?api_sig=....
80
+ # ----
81
+ #
82
+ # 指定されたURLへWebブラウザでアクセスし、トークンの発行を許可してください。
83
+ # コマンドラインへ戻り何かキーを押すと、マイグレーションが始まります。
84
+ #
85
+ # なお、ツールを途中で中断し、2回目に実行するときはトークンを取得する
86
+ # 必要はありません。
87
+ #
88
+ #
89
+ # 6. 実行結果の確認
90
+ #
91
+ # ツールが終了したらtDiaryのデータフォルダを開き、
92
+ # imageプラグインの呼び出しがflickrプラグインの呼び出しへ
93
+ # 置き換わっていることを確認してください。
94
+ # 古い日記データは .bak.20081024090000 などの拡張子がついて
95
+ # バックアップされていますので、問題があれば元に戻してください。
96
+ #
97
+ # ツールを実行すると、以下の2つのファイルが作成されます。
98
+ # (1) flickr.token
99
+ # Flickrへ写真をアップロードするためのトークン。
100
+ # (2) image2flickr.yaml
101
+ # tDiaryのイメージフォルダに存在するJPEGファイル (ex. 20081025_0.jpg) と
102
+ # Flickrへアップロードしたphoto_idの対応付けを記録したファイル。
103
+ #
104
+ # これらのファイルは、マイグレーションツールを途中で中断したときのために
105
+ # 用意されています。
106
+ # マイグレーションが完了したら、少なくともflickr.tokenは削除してください。
107
+ # (トークンの不正利用を防ぐためです)
108
+ #
109
+ #
110
+ $KCODE = 'utf8'
111
+ begin
112
+ require 'rubygems'
113
+ gem 'rflickr'
114
+ rescue
115
+ end
116
+ require 'flickr'
117
+ require 'yaml/store'
118
+ require 'tempfile'
119
+ require 'fileutils'
120
+
121
+ # FlickrのAPIキー
122
+ @api_key = '123456789012345678901234567890'
123
+ # Flickr APIのシークレットキー
124
+ @secret = '1234567890'
125
+ # tDiaryのデータフォルダ
126
+ @data_path = '/var/tdiary'
127
+ # tDiaryのイメージフォルダ
128
+ @image_dir = '/var/www/tdiary/images'
129
+
130
+
131
+ def main
132
+ uploader = FlickrUploder.new('image2flickr.yaml', 'flickr.token', @api_key, @secret)
133
+ parser = TDiaryParser.new(@data_path)
134
+ i2f = Image2Flickr.new(parser, uploader, @image_dir)
135
+ # tDiaryのimagesフォルダから対象日記を取得
136
+ files = Dir.glob("#{@image_dir}/*.{jp{,e}g,png,gif}").map{|file|
137
+ File.basename(file).match(/^(\d{6})/)
138
+ $1
139
+ }.compact.uniq
140
+ # 対象日記を変換
141
+ files.each do |file|
142
+ i2f.convert(file)
143
+ end
144
+
145
+ # cache のクリア
146
+ Dir["#{@data_path}/cache/*.rb"].each{|f| FileUtils.rm_f( f )}
147
+ Dir["#{@data_path}/cache/*.parser"].each{|f| FileUtils.rm_f( f )}
148
+ end
149
+
150
+ # Flickrへ写真をアップロードし、元ファイル名とphoto_idのペアをYAMLに記録する
151
+ class FlickrUploder
152
+ def initialize(yaml, token, api_key, secret)
153
+ @flickr = Flickr.new(token, api_key, secret)
154
+ # トークンが無ければ取得する
155
+ unless @flickr.auth.token
156
+ puts "Flickrへ写真をアップロードするためのトークンを取得します。"
157
+ puts "Webブラウザで下記のURLへアクセスしたら、何かキーを押してください。"
158
+ puts @flickr.auth.login_link
159
+ # キー入力待ち
160
+ gets
161
+ @flickr.auth.getToken
162
+ @flickr.auth.cache_token
163
+ puts "トークンを取得し、#{token} へ保存しました。"
164
+ puts
165
+ end
166
+
167
+ @db = YAML::Store.new(yaml)
168
+ @db.transaction {
169
+ @db['photos'] ||= {}
170
+ }
171
+ end
172
+
173
+ # Flickrへ写真をアップロードする
174
+ def upload(file, title)
175
+ id = 0
176
+ @db.transaction {
177
+ basename = File.basename(file)
178
+ if @db['photos'][basename]
179
+ # アップロード済みの場合はスキップ
180
+ STDERR.puts "passed updating #{basename} (#{title}) ..."
181
+ id = @db['photos'][basename]
182
+ @db.abort
183
+ else
184
+ # 写真をアップロードする
185
+ STDERR.puts "updating #{basename} (#{title}) ..."
186
+ id = @flickr.photos.upload.upload_file(file, title)
187
+ @db['photos'][basename] = id
188
+ end
189
+ }
190
+ id
191
+ end
192
+ end
193
+
194
+ class TDiaryParser
195
+ include FileUtils
196
+
197
+ def initialize(data_path)
198
+ @data_path = data_path
199
+ end
200
+
201
+ # tDiaryの日記を置換する
202
+ # 拡張子に ".bak.yyyymmddHHMMSS" を付けて日記データをバックアップする
203
+ def each_diary(yearmonth)
204
+ yearmonth.match(/(\d{4})(\d{2})/)
205
+ year = $1
206
+ month = $2
207
+ file = "#{@data_path}/#{year}/#{yearmonth}.td2"
208
+ # ファイルをバックアップ
209
+ backup = "#{file}.bak.#{Time.now.strftime('%Y%m%d%H%M%S')}"
210
+ cp(file, backup, :preserve => true)
211
+ # 一時ファイルを生成
212
+ tmp = Tempfile.new('tmp')
213
+ open(file) do |fin|
214
+ fin.each('') do |headers|
215
+ date = headers.grep(/^Date:\s*(\d{4}\d{2}\d{2})/){$1}[0]
216
+ diary = fin.gets("\n.\n")
217
+ diary = yield(date, diary)
218
+ tmp.print headers
219
+ tmp.print diary
220
+ end
221
+ end
222
+ tmp.close
223
+ cp(tmp.path, file)
224
+ end
225
+ end
226
+
227
+ class Image2Flickr
228
+ def initialize(parser, uploader, image_dir)
229
+ @parser = parser
230
+ @uploader = uploader
231
+ @image_dir = image_dir
232
+ end
233
+
234
+ # imageプラグインをflickrプラグインへ置き換える
235
+ def convert(yearmonth)
236
+ @parser.each_diary(yearmonth) do |@date, diary|
237
+ # 現在はWiki記法のみ対応
238
+ diary.gsub!(/\{\{(image[^}]+)\}\}/) {|match|
239
+ begin
240
+ STDERR.puts "found: #{match}"
241
+ # image, image_left, image_right のいずれかに対応
242
+ replace = "{{#{eval($1)}}}"
243
+ STDERR.puts "replace: #{replace}"
244
+ STDERR.puts
245
+ replace
246
+ rescue => e
247
+ # 例外が発生したら置換しない
248
+ STDERR.puts "ERROR: #{e}"
249
+ STDERR.puts
250
+ match
251
+ end
252
+ }
253
+ diary
254
+ end
255
+ end
256
+
257
+ def image( index, title = nil, thumbnail = nil, size = nil, place = 'photo' )
258
+ replace("flickr", @date, index, title)
259
+ end
260
+
261
+ def image_center( index, title = nil, thumbnail = nil, size = nil, place = 'photo' )
262
+ replace("flickr", @date, index, title)
263
+ end
264
+
265
+ def image_left( index, title = nil, thumbnail = nil, size = nil, place = 'photo' )
266
+ replace("flickr_left", @date, index, title)
267
+ end
268
+
269
+ def image_right( index, title = nil, thumbnail = nil, size = nil, place = 'photo' )
270
+ replace("flickr_right", @date, index, title)
271
+ end
272
+
273
+ def replace(method, date, index, title)
274
+ file = Dir.glob("#{@image_dir}/#{date}_#{index}.{jp{,e}g,png,gif}").shift
275
+ # タイトルが未指定の場合はファイル名
276
+ title ||= File.basename(file)
277
+ id = @uploader.upload(file, title)
278
+ "#{method} #{id}"
279
+ end
280
+ end
281
+
282
+ main
@@ -0,0 +1,12 @@
1
+ posttdiary.rb is a updater of diary via E-mail with images.
2
+
3
+ see:
4
+ http://tdiary-users.sourceforge.jp/cgi-bin/wiki.cgi?posttdiary%2Erb
5
+
6
+ --
7
+
8
+ posttdiary-ex.rb is a more enhanced posttdiary.rb.
9
+
10
+ see:
11
+ http://ks.nwr.jp/wiki/wiki.cgi?posttdiary%2erb%b2%fe%c2%a4 (Japanese)
12
+ http://ks.nwr.jp/prog/posttdiary.html (English)