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,245 @@
1
+ #!/usr/bin/env ruby
2
+ $KCODE= 'u'
3
+ #
4
+ # posttdiary: update tDiary via e-mail. $Revision: 1.5 $
5
+ #
6
+ # Copyright (C) 2002, All right reserved by TADA Tadashi <sho@spc.gr.jp>
7
+ # You can redistribute it and/or modify it under GPL2.
8
+ #
9
+
10
+ def usage
11
+ <<-TEXT.gsub( /^\t{2}/, '' )
12
+ #{File::basename __FILE__}: update tDiary via e-mail.
13
+ usage: ruby #{File::basename __FILE__} [options] <url> [user] [passwd]
14
+ arguments:
15
+ url: update.rb's URL of your diary.
16
+ user: user ID of your diary updating.
17
+ passwd: password of your diary updating.
18
+ If To: field of the mail likes "user-passwd@example.com",
19
+ you can omit user and passwd arguments.
20
+ options:
21
+ --image-path, -i: directory of image saving into.
22
+ --image-url, -u: URL of image.
23
+ You have to specify both options when using images.
24
+ --image-format, -f: format of image tag specified image serial
25
+ number as '$0' and image url as '$1'.
26
+ default format is ' <img class="photo" src="$1" alt="">'.
27
+ --use-subject, -s: use mail subject to subtitle.
28
+ and insert image between subtitle and body.
29
+ TEXT
30
+ end
31
+
32
+ def image_list( date, path )
33
+ image_path = []
34
+ Dir.foreach( path ) do |file|
35
+ if file =~ /(\d{8,})_(\d+)\./ and $1 == date then
36
+ image_path[$2.to_i] = file
37
+ end
38
+ end
39
+ image_path
40
+ end
41
+
42
+ def bmp_to_png( bmp )
43
+ png = bmp.sub( /\.bmp$/, '.png' )
44
+ begin
45
+ require 'magick'
46
+ img = Magick::Image::new( bmp )
47
+ img.write( 'magick' => 'png', 'filename' => png )
48
+ rescue LoadError
49
+ system( "convert #{bmp} #{png}" )
50
+ end
51
+ if FileTest::exist?( png )
52
+ File::delete( bmp )
53
+ png
54
+ else
55
+ bmp
56
+ end
57
+ end
58
+
59
+ begin
60
+
61
+ raise usage if ARGV.length < 1
62
+
63
+ require 'getoptlong'
64
+ parser = GetoptLong::new
65
+ image_dir = nil
66
+ image_url = nil
67
+ image_format = ' <img class="photo" src="$1" alt="">'
68
+ use_subject = false
69
+ parser.set_options(
70
+ ['--image-path', '-i', GetoptLong::REQUIRED_ARGUMENT],
71
+ ['--image-url', '-u', GetoptLong::REQUIRED_ARGUMENT],
72
+ ['--image-format', '-f', GetoptLong::REQUIRED_ARGUMENT],
73
+ ['--use-subject', '-s', GetoptLong::NO_ARGUMENT]
74
+ )
75
+ begin
76
+ parser.each do |opt, arg|
77
+ case opt
78
+ when '--image-path'
79
+ image_dir = arg
80
+ when '--image-url'
81
+ image_url = arg
82
+ when '--image-format'
83
+ image_format = arg
84
+ when '--use-subject'
85
+ use_subject = true
86
+ end
87
+ end
88
+ rescue
89
+ raise usage
90
+ end
91
+ raise usage if (image_dir and not image_url) or (not image_dir and image_url)
92
+ image_dir = image_dir.sub( %r[/*$], '/' ) if image_dir
93
+ image_url = image_url.sub( %r[/*$], '/' ) if image_url
94
+ url = ARGV.shift
95
+ if %r|http://([^:/]+)(?::(\d+))?(/.*)| =~ url then
96
+ host = $1
97
+ port = ($2 || 80).to_i
98
+ cgi = $3
99
+ else
100
+ raise 'bad url.'
101
+ end
102
+
103
+ user = ARGV.shift
104
+ pass = ARGV.shift
105
+
106
+ require 'base64'
107
+ require 'nkf'
108
+ image_name = nil
109
+
110
+ mail = NKF::nkf( '-m0 -Xwd', ARGF.read )
111
+ raise "#{File::basename __FILE__}: no mail text." if not mail or mail.length == 0
112
+
113
+ head, body = mail.split( /(?:\r?\n){2}/, 2 )
114
+
115
+ if head =~ %r|Content-Type:\s*Multipart/Mixed.*boundary="?(.*?)"?[\r\n]|im then
116
+ if not image_dir or not image_url then
117
+ raise "no --image-path and --image-url options"
118
+ end
119
+
120
+ bound = "--" + $1
121
+ body_sub = body.split( Regexp.compile( Regexp.escape( bound ) ) )
122
+ body_sub.each do |b|
123
+ sub_head, sub_body = b.split( /(?:\r?\n){2}/, 2 )
124
+
125
+ next unless sub_head =~ /Content-Type:/i
126
+
127
+ if sub_head =~ %r[^Content-Type:\s*text/plain]i then
128
+ @body = sub_body
129
+ elsif sub_head =~ %r[
130
+ ^Content-Type:\s*
131
+ (?:image/|application/octet-stream).+
132
+ name="?.+(\.\w{3})"? (?# 1: extension)
133
+ ]imx
134
+ image_ext = $1.downcase
135
+ now = Time::now
136
+ list = image_list( now.strftime( "%Y%m%d" ), image_dir )
137
+ image_name = now.strftime( "%Y%m%d" ) + "_" + list.length.to_s + image_ext
138
+ File::umask( 022 )
139
+ open( image_dir + image_name, "wb" ) do |s|
140
+ begin
141
+ s.print Base64::decode64( sub_body.strip )
142
+ rescue NameError
143
+ s.print decode64( sub_body.strip )
144
+ end
145
+ end
146
+ if /\.bmp$/i =~ image_name then
147
+ bmp_to_png( image_dir + image_name )
148
+ image_name.sub!( /\.bmp$/i, '.png' )
149
+ end
150
+ @image_name ||= []
151
+ @image_name << image_name
152
+ end
153
+ end
154
+ elsif head =~ /^Content-Type:\s*text\/plain/i
155
+ if head =~ /^Content-Transfer-Encoding:\squoted-printable/
156
+ @body = body.unpack("M").map {|str| NKF::nkf("-wJd", str) }
157
+ else
158
+ @body = body
159
+ end
160
+ else
161
+ raise "cannot read this mail"
162
+ end
163
+
164
+ if @image_name then
165
+ img_src = ""
166
+ @image_name.each do |i|
167
+ serial = i.sub( /^\d+_(\d+)\..*$/n, '\1' )
168
+ img_src += image_format.gsub( /\$0/, serial ).gsub( /\$1/, image_url + i )
169
+ end
170
+ if use_subject then
171
+ @body = "#{img_src}\n#{@body}".sub( /(?:\r?\n|\r)+\z/, "\n" )
172
+ else
173
+ @body = "#{@body}".sub( /(?:\r?\n|\r)+\z/, "\n" ) << img_src
174
+ end
175
+ end
176
+
177
+ addr = nil
178
+ if /^To:(.*)$/ =~ head then
179
+ addr = case to = $1.strip
180
+ when /.*?\s*<(.+)>/, /(.+?)\s*\(.*\)/
181
+ $1
182
+ else
183
+ to
184
+ end
185
+ end
186
+
187
+ if /([^-]+)-(.*)@/ =~ addr then
188
+ user ||= $1
189
+ pass ||= $2
190
+ end
191
+
192
+ raise "no user." unless user
193
+ raise "no passwd." unless pass
194
+
195
+ subject = ''
196
+ nextline = false
197
+ headlines = head.split( /(?:\r?\n|\r)+/ )
198
+ for n in 0 .. headlines.size-1
199
+ if nextline then
200
+ if /^[ \t]/ =~ headlines[n] then
201
+ s = headlines[n].sub( /^[ \t]/, '' )
202
+ subject += NKF::nkf( '-wXd', s )
203
+ else
204
+ break
205
+ end
206
+ end
207
+ if /^Subject:\s*(.+)$/i =~ headlines[n] then
208
+ subject = NKF::nkf( '-wXd', $1 )
209
+ nextline = true
210
+ end
211
+ end
212
+ subject.strip!
213
+ if use_subject then
214
+ title = ''
215
+ @body = "#{subject}\n#{@body}"
216
+ else
217
+ title = subject
218
+ end
219
+
220
+ require 'cgi'
221
+ require 'nkf'
222
+ data = "title=#{CGI::escape title}"
223
+ data << "&body=#{CGI::escape @body}"
224
+ data << "&append=true"
225
+
226
+ require 'net/http'
227
+ Net::HTTP.start( host, port ) do |http|
228
+ auth = ["#{user}:#{pass}"].pack( 'm' ).strip
229
+ res, = http.get( cgi, {
230
+ 'Authorization' => "Basic #{auth}",
231
+ 'Referer' => url })
232
+ if %r|<input type="hidden" name="csrf_protection_key" value="([^"]+)">| =~ res.body then
233
+ data << "&csrf_protection_key=#{CGI::escape( CGI::unescapeHTML( $1 ) )}"
234
+ end
235
+ res, = http.post( cgi, data, {
236
+ 'Authorization' => "Basic #{auth}",
237
+ 'Referer' => url })
238
+ end
239
+
240
+ rescue
241
+ $stderr.puts $!
242
+ $stderr.puts $@.join( "\n" )
243
+ File::delete( image_dir + image_name ) if image_dir and image_name and FileTest::exist?( image_dir + image_name )
244
+ exit 1
245
+ end
@@ -0,0 +1,55 @@
1
+ 2007-01-08 Kazuhiko <kazuhiko@fdiary.net>
2
+ * rast-register.rb, rast-search.rb: revise for UTF8.
3
+
4
+ 2005-12-10 Kazuhiko <kazuhiko@fdiary.net>
5
+ * rast-register.rb: set 'diaries' for the 'my-ex' plugin.
6
+
7
+ * rast-register.rb: revise attributes of the 'date' property.
8
+ rebuilding indices is necessary.
9
+ * rast-search.rb: revise for mod_ruby.
10
+
11
+ 2005-12-06 Kazuhiko <kazuhiko@fdiary.net>
12
+ * rast.rhtml: remove a dummy link.
13
+
14
+ 2005-12-05 Kazuhiko <kazuhiko@fdiary.net>
15
+ * rast-register.rb: revise attributes of the 'date' property.
16
+ remove indices before rebuilding.
17
+
18
+ 2005-12-04 Kazuhiko <kazuhiko@fdiary.net>
19
+ * rast-register.rb: support tDiary-2.0.x.
20
+ * en/rast-register.rb, ja/rast-register.rb: add resources.
21
+
22
+ 2005-11-24 Kazuhiko <kazuhiko@fdiary.net>
23
+ * rast-register.rb: fix a bug in command-line mode (reported by
24
+ YAA). set 'cache_path' for the 'tlink' plugin (reported by YAA).
25
+
26
+ * rast-register.rb: support rebuilding index by conf mode. abolish
27
+ 'CGI' mode.
28
+
29
+ 2005-11-23 Kazuhiko <kazuhiko@fdiary.net>
30
+ * rast-register.rb: use 'require' instead of 'autoload'.
31
+
32
+ 2005-11-21 Kazuhiko <kazuhiko@fdiary.net>
33
+ * rast-register.rb: add a plugin file.
34
+ * rast-search.rb, rast.rxml: support opensearch rss.
35
+ * rast.rhtml: revise for more valid HTML output.
36
+
37
+ 2005-05-11 Kazuhiko <kazuhiko@fdiary.net>
38
+ * rast.rhtml, i.rast.rhtml: use @num instead of 10.
39
+
40
+ 2005-05-11 TADA Tadashi <sho@spc.gr.jp>
41
+ * rast.rhtml, i.rast.rhtml: set title to h2 element, and copy format_links
42
+ plugin on top of results.
43
+
44
+ 2005-05-10 TADA Tadashi <sho@spc.gr.jp>
45
+ * README.ja: fix typo.
46
+
47
+ 2005-04-16 Kazuhiko <kazuhiko@fdiary.net>
48
+ * rast.rhtml: convert the encoding of @query.
49
+
50
+ 2005-04-15 Kazuhiko <kazuhiko@fdiary.net>
51
+ * rast-search.rb: never use Rast::LocalDB. fix a bug in running
52
+ from a shell.
53
+
54
+ 2005-04-14 Kazuhiko <kazuhiko@fdiary.net>
55
+ * initial release of rast-search.
@@ -0,0 +1,99 @@
1
+ rast-search README
2
+ ===================
3
+
4
+ Rast <http://projects.netlab.jp/rast/> を用いた tDiary 検索環境です。
5
+
6
+
7
+ 特徴
8
+ ----------
9
+
10
+ 日記の更新と連動して自動的にインデックスを更新するので、いつでも最新の
11
+ 情報で検索することができます。日記を HTML 化した後に必要な部分だけを取
12
+ り出してインデックスを作成するので、ヘッダやフッタなどによる検索ノイズ
13
+ がなく、また、プラグインの出力が検索対象になるという特徴があります。
14
+
15
+
16
+ 必要なもの
17
+ ----------
18
+
19
+ * tDiary 1.5 以降
20
+ * Ruby 1.8.2 以降
21
+ * Rast 0.3.1 以降
22
+
23
+
24
+ セットアップ
25
+ ------------
26
+
27
+ 1. rast-register.rb を tDiary の プラグインディレクトリにコピーします。
28
+
29
+ 2. rast-search.rb を tDiary の index.rb があるディレクトリにコピーしま
30
+ す。必要なら index.rb と同じようにシンボリックリンクを張ったり名前を
31
+ 変えたりしてください。
32
+
33
+ 3. CGI として実行可能にします。
34
+
35
+ $ chmod a+x rast-search.rb
36
+
37
+ 4. 必要なら #! のパスを変更します。
38
+
39
+ 5. rast.rhtml と rast.rxml と i.rast.rhtml を tDiary の skel/ ディレク
40
+ トリにコピーします。
41
+
42
+ 6. rast-register.rb プラグインを有効にします。(tDiary の plugin/ ディレ
43
+ クトリにコピーするか、プラグイン選択のディレクトリにコピーしてブラウ
44
+ ザから有効に設定します。言語リソースファイルの en/rast-register.rb
45
+ と ja/rast-register.rb も、プラグインディレクトリの en/ 以下および
46
+ ja/ 以下にコピーしてください。)
47
+
48
+ 7. (オプション) tdiary.conf で以下のように encoding の設定をできます。
49
+ Rast の encoding module の名前で設定してください。デフォルトは
50
+ 'utf8' です。encoding の設定を変更する場合は、Rast のインデックス
51
+ があるディレクトリ (cache ディレクトリの下の /rast) を消して、再度イ
52
+ ンデックスを作りなおしてください。
53
+
54
+ @options['rast.index'] = 'utf8'
55
+
56
+ 8. 既存の日記コンテンツに対して検索インデックスを作成します。tDiary の
57
+ 設定画面から「Rast検索」を選び、「Rast検索のインデックスを再構築する
58
+ 場合は、チェックボックスをチェックしてOKを押してください」というメッ
59
+ セージに従ってチェックしてOKを押すと、
60
+
61
+ インデックスの作成は、tDiary の CGI の実行権限で以下のように実行する
62
+ ことでも可能です。
63
+
64
+ ruby rast-register.rb [-p tdiary.rbのあるディレクトリ] [-c tdiary.confのあるディレクトリ]
65
+
66
+ 9. 自分の tDiary の好きな場所 (例えばヘッダ) に以下のようなフォームを加
67
+ えてください。
68
+
69
+ <form method="get" action="rast-search.rb" class="search">
70
+ <input type="text" name="query" size="20" value="">
71
+ <input type="submit" value="Search">
72
+ </form>
73
+
74
+ search-form.rb プラグインを有効にしている場合は、以下のように書くこ
75
+ ともできます。
76
+
77
+ <%= search_form('rast-search.rb', 'query') %>
78
+
79
+ 以上です。
80
+
81
+
82
+ 検索のしかた
83
+ ------------
84
+
85
+ rast-search の検索対象は、日記本文、ツッコミ、TrackBack です。
86
+
87
+ 検索方法については、 http://projects.netlab.jp/rast/query.html.ja をご覧くだ
88
+ さい。
89
+
90
+
91
+ 連絡先
92
+ ------
93
+
94
+ かずひこ <kazuhiko@fdiary.net>
95
+ http://www.fdiary.net/
96
+
97
+ バグ報告は以下のどこかにお願いします。
98
+ * tdiary-devel ML
99
+ * 直接メール
@@ -0,0 +1,3 @@
1
+ @rast_register_conf_label = 'Rast Search'
2
+ @rast_register_conf_header = 'Rebuild Rast search index'
3
+ @rast_register_conf_description = 'To rebuild Rast search index, check the box and submit \'OK\'.'
@@ -0,0 +1,33 @@
1
+ <%# i.rast.rhtml $Revision: 1.5.2.1 $ %>
2
+ <h1><%= CGI::escapeHTML( @conf.html_title ) %> [全文検索]</h1>
3
+ <form action="<%= _(@cgi.script_name) %>">
4
+ <p>
5
+ <input type="text" name="query" value="<%= _(@conf.to_native(@query)) %>">
6
+ <input type="submit" value="検索">
7
+ <a href="http://projects.netlab.jp/rast/query.html.ja">検索方法</a>
8
+ </p>
9
+ <p>
10
+ 並べ替え:
11
+ <select name="sort">
12
+ <%= @sort_options %>
13
+ </select>
14
+ <select name="order">
15
+ <%= @order_options %>
16
+ </select>
17
+ 表示件数:
18
+ <select name="num">
19
+ <%= @num_options %>
20
+ </select>
21
+ </p>
22
+ </form>
23
+ <% if @msg %>
24
+ <p><%= @msg %></p>
25
+ <% else %>
26
+ <p><%= @result.hit_count %>件中<%= @start + 1 %>-<%= @start + @result.items.length %>件目</p>
27
+ <% for item in @result.items %><% format_result_item(item) %>
28
+ <h2><a href="<%= @conf.index %><%= @plugin.anchor(@date) %>"><%= _(@conf.to_native(@title)) %></a>(スコア:<%= item.score %>)</h2>
29
+ <% end %>
30
+ <% if @result.hit_count > @num %>
31
+ <%= format_links(@result) %>
32
+ <% end %>
33
+ <% end %>
@@ -0,0 +1,3 @@
1
+ @rast_register_conf_label = 'Rast検索'
2
+ @rast_register_conf_header = 'Rast検索インデックスの再構築'
3
+ @rast_register_conf_description = 'Rast検索のインデックスを再構築する場合は、チェックボックスをチェックしてOKを押してください。'