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,350 @@
1
+ " Copyright (C) 2004 UECHI Yasumasa
2
+
3
+ " Author: UECHI Yasumasa <uechi@potaway.net>
4
+
5
+ " $Revision: 1.8 $
6
+
7
+ " This program is free software; you can redistribute it and/or
8
+ " modify it under the terms of the GNU General Public License as
9
+ " published by the Free Software Foundation; either version 2, or (at
10
+ " your option) any later version.
11
+
12
+ " This program is distributed in the hope that it will be useful, but
13
+ " WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ " MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
+ " General Public License for more details.
16
+
17
+ " You should have received a copy of the GNU General Public License
18
+ " along with this program; see the file COPYING. If not, write to the
19
+ " Free Software Foundation, Inc., 59 Temple Place - Suite 330,
20
+ " Boston, MA 02111-1307, USA.
21
+
22
+
23
+ if !exists("g:tdiary_site1_url")
24
+ finish
25
+ endif
26
+
27
+ command! -nargs=0 TDiaryNew call <SID>TDiaryNew()
28
+ command! -nargs=0 TDiaryReplace call <SID>TDiaryReplace()
29
+ command! -nargs=0 TDiaryUpdate call <SID>TDiaryUpdate()
30
+ command! -nargs=0 TDiarySelect call <SID>TDiarySelect()
31
+ command! -nargs=0 TDiaryTrackback call <SID>EditTrackBackExcerpt()
32
+
33
+ let s:curl_cmd = "curl"
34
+ let s:user = ''
35
+
36
+ function! s:TDiaryNew()
37
+ call s:CreateBuffer("append")
38
+ execute ":" . (s:body_start + 1)
39
+ normal dG
40
+ redraw!
41
+ endfunction
42
+
43
+ function! s:TDiaryReplace()
44
+ call s:CreateBuffer("replace")
45
+
46
+ let save_pat = @/
47
+ let @/ = 'input.\+name="title"[^>]\+>'
48
+ normal ggn
49
+ let title = substitute(getline("."), '.\+value="\(.*\)".\+', '\1', '')
50
+
51
+ let @/ = 'textarea \+name="body"[^>]\+>'
52
+ execute ":" . s:body_start
53
+ normal dndf>
54
+ let @/ = '</textarea'
55
+ normal ndG
56
+ silent! %s/
57
+
58
+ silent! %s/&quot;/\"/g
59
+ silent! %s/&gt;/>/g
60
+ silent! %s/&lt;/</g
61
+ silent! %s/&amp;/\&/g
62
+
63
+ normal gg
64
+ let @/ = '^Title:'
65
+ normal n
66
+ execute "normal A" . title . "\<Esc>"
67
+
68
+ normal G
69
+ redraw!
70
+ let @/ = save_pat
71
+ endfunction
72
+
73
+ function! s:TDiaryUpdate()
74
+ " move to _tdiary_ buffer
75
+ let n = bufwinnr(substitute(bufname("%"), "_.\\+_", "_tdiary_", ""))
76
+ execute "normal " . n . "\<C-W>w"
77
+
78
+ " set parameters
79
+ let data = s:SetParams()
80
+
81
+ " set body & csrf protection key
82
+ let data = data . "&body=" . s:MultiLineURLencode(s:body_start)
83
+ let data = data . s:csrf_protection_key
84
+
85
+ " debug mode
86
+ if exists("g:tdiary_vim_debug") && g:tdiary_vim_debug
87
+ call append("$", data)
88
+ return
89
+ endif
90
+
91
+ " redirect data to tmpfile
92
+ let tmpfile = tempname()
93
+ execute "redir! > " . tmpfile
94
+ silent echo data
95
+ redir END
96
+
97
+ " update diary
98
+ let result = system(s:curl_cmd . s:user . " -d @" . tmpfile . " -e ". s:tdiary_update_url . " " . s:tdiary_update_url)
99
+ call delete(tmpfile)
100
+ redraw!
101
+ if match(result, 'Wait or.\+Click here') != -1
102
+ echo "SUCCESS"
103
+ else
104
+ echo result
105
+ endif
106
+ endfunction
107
+
108
+
109
+ function! s:TDiarySelect()
110
+ split tDiary_select
111
+ set buftype=nofile
112
+ set nobuflisted
113
+ set noswapfile
114
+
115
+ let i = 1
116
+ while exists("g:tdiary_site{i}_url")
117
+ let site_name = ''
118
+ if exists("g:tdiary_site{i}_name")
119
+ let site_name = g:tdiary_site{i}_name . " "
120
+ endif
121
+ call append(i - 1, site_name . g:tdiary_site{i}_url)
122
+ let i = i + 1
123
+ endwhile
124
+ normal gg
125
+
126
+ nnoremap <buffer> <silent> <CR> :call <SID>SetURL()<CR>
127
+ endfunction
128
+
129
+
130
+ function! s:EditTrackBackExcerpt()
131
+ let save_line = line(".")
132
+ normal gg
133
+ call search("^TrackBackURL:")
134
+ let tb_url = s:ParamValue(getline("."))
135
+
136
+ let tb_url = input("TrackBackURL: ", tb_url)
137
+ delete
138
+ call append(line(".") - 1, "TrackBackURL: " . tb_url)
139
+ execute ":" . save_line
140
+
141
+ let tb_bufname = substitute(bufname("%"), "_tdiary_", "_trackback_", "")
142
+ split
143
+ execute "normal \<C-W>w"
144
+ execute "edit " . tb_bufname
145
+ set buftype=nofile
146
+ set noswapfile
147
+ set bufhidden=hide
148
+ endfunction
149
+
150
+
151
+ function! s:SetParams()
152
+ let data = ''
153
+ let i = 1
154
+
155
+ while i < s:body_start
156
+ let l = getline(i)
157
+ let r = s:ParamValue(l)
158
+
159
+ if l =~ "^Editing mode"
160
+ let mode = r
161
+ let data = data . "&" . r . "=" . r
162
+ elseif l =~ "^Date:"
163
+ let data = data . s:Date2PostDate(r, mode)
164
+ elseif l =~ "^Title:"
165
+ let data = data . "&title=" . s:URLencode(r)
166
+ elseif l =~ "^TrackBackURL:"
167
+ if r != ""
168
+ let data = data . "&plugin_tb_url=" . s:URLencode(r)
169
+ let data = data . s:TrackBackExcerpt()
170
+ endif
171
+ endif
172
+
173
+ let i = i + 1
174
+ endwhile
175
+
176
+ return data
177
+ endfunction
178
+
179
+
180
+ function! s:ParamValue(str)
181
+ let r = substitute(a:str, '^[^:]\+ *: *\(.*\)', '\1', '')
182
+ let r = substitute(r, ' *$', '', '')
183
+ return r
184
+ endfunction
185
+
186
+
187
+ function! s:TrackBackExcerpt()
188
+ let data = "&plugin_tb_excerpt="
189
+ let n = bufwinnr(substitute(bufname("%"), "_.\\+_", "_trackback_", ""))
190
+ if n > 0
191
+ execute "normal " . n . "\<C-W>w"
192
+ let data = data . s:MultiLineURLencode(1)
193
+ execute "normal \<C-W>p"
194
+ endif
195
+ return data
196
+ endfunction
197
+
198
+
199
+ function! s:MultiLineURLencode(start_line)
200
+ let i = a:start_line
201
+ let lastline = line("$")
202
+ let data = ""
203
+
204
+ while i <= lastline
205
+ let data = data . s:URLencode(getline(i) . "\r\n")
206
+ let i = i + 1
207
+ endwhile
208
+
209
+ return data
210
+ endfunction
211
+
212
+
213
+ function! s:SetURL(...)
214
+ if a:0 == 0
215
+ let i = line(".")
216
+ else
217
+ let i = a:1
218
+ endif
219
+ let s:tdiary_url = substitute(g:tdiary_site{i}_url, "/\\+$", "", "") . "/"
220
+ if exists("g:tdiary_site{i}_updatescript")
221
+ let update_script = g:tdiary_site{i}_updatescript
222
+ elseif exists("g:tdiary_update_script_name")
223
+ let update_script = g:tdiary_update_script_name
224
+ else
225
+ let update_script = "update.rb"
226
+ endif
227
+ let s:tdiary_update_url = s:tdiary_url . update_script
228
+
229
+ let s:user = ""
230
+ call s:SetUser()
231
+
232
+ "echo selected site
233
+ let site_name = ""
234
+ if exists("g:tdiary_site{i}_name")
235
+ let site_name = g:tdiary_site{i}_name
236
+ endif
237
+ echo site_name s:tdiary_url
238
+
239
+ if a:0 == 0
240
+ close
241
+ endif
242
+ endfunction
243
+
244
+
245
+ function! s:SetUser()
246
+ if exists("g:tdiary_use_netrc") && g:tdiary_use_netrc
247
+ let s:user = " --netrc "
248
+ elseif s:user == ''
249
+ let s:user = input("User Name: ")
250
+ let password = inputsecret("Password: ")
251
+ if s:user != ''
252
+ let s:user = " -u '" . s:user . ":" . password . "' "
253
+ endif
254
+ endif
255
+ endfunction
256
+
257
+
258
+ function! s:CreateBuffer(mode)
259
+ if !exists("s:tdiary_update_url")
260
+ call s:SetURL(1)
261
+ endif
262
+
263
+ let date = input("Date: ", strftime("%Y%m%d", localtime()))
264
+ execute "edit _tdiary_" . date
265
+ set buftype=nofile
266
+ set noswapfile
267
+ set bufhidden=hide
268
+ "set fileformat=dos
269
+
270
+ let s:body_start = 0
271
+
272
+ call append(s:body_start, "Editing mode (append or replace): " . a:mode)
273
+ let s:body_start = s:body_start + 1
274
+
275
+ call append(s:body_start, "TrackBackURL: ")
276
+ let s:body_start = s:body_start + 1
277
+
278
+ call append(s:body_start, "Date: " . date)
279
+ let s:body_start = s:body_start + 1
280
+
281
+ call append(s:body_start, "Title: ")
282
+ let s:body_start = s:body_start + 1
283
+
284
+ let s:body_start = s:body_start + 1
285
+
286
+
287
+ let data = ""
288
+ if a:mode == "replace"
289
+ let data = ' -d "'
290
+ let data = data . s:Date2PostDate(date, a:mode)
291
+ let data = data . '&edit=edit" '
292
+ endif
293
+ execute 'r !' . s:curl_cmd . ' -s ' . s:user . data . s:tdiary_update_url
294
+
295
+ normal gg
296
+ let s:csrf_protection_key = ""
297
+ if search('input.\+name="csrf_protection_key"') > 0
298
+ silent! s/&quot;/\"/g
299
+ silent! s/&gt;/>/g
300
+ silent! s/&lt;/</g
301
+ silent! s/&amp;/\&/g
302
+ let k = substitute(getline("."), '.\+value="\(.*\)".\+', '\1', '')
303
+ let s:csrf_protection_key = "&csrf_protection_key=" . s:URLencode(k)
304
+ endif
305
+ endfunction
306
+
307
+
308
+ function! s:Date2PostDate(date, mode)
309
+ let year = strpart(a:date, 0, 4)
310
+ let month = strpart(a:date, 4, 2)
311
+ let day = strpart(a:date, 6, 2)
312
+
313
+ let old = ''
314
+ if a:mode == "replace"
315
+ let old = "&old=" . a:date
316
+ endif
317
+
318
+ return "&year=" . year . "&month=" . month . "&day=" . day . old
319
+ endfunction
320
+
321
+
322
+ function! s:URLencode(str)
323
+ let r = iconv(a:str, &encoding, 'euc-jp')
324
+ let save_enc = &encoding
325
+ let &encoding = 'japan'
326
+ let r = substitute(r, '[^ a-zA-Z0-9_.-]', '\=s:Char2Hex(submatch(0))', 'g')
327
+ let &encoding = save_enc
328
+ let r = substitute(r, ' ', '+', 'g')
329
+ return r
330
+ endfunction
331
+
332
+
333
+ function! s:Char2Hex(c)
334
+ let n = char2nr(a:c)
335
+ let r = ''
336
+
337
+ while n
338
+ let r = '0123456789ABCDEF'[n % 16] . r
339
+ let n = n / 16
340
+ endwhile
341
+
342
+ if strlen(r) % 2 == 1
343
+ let r = '0' . r
344
+ endif
345
+
346
+ let r = substitute(r, '..', '%\0', 'g')
347
+
348
+ return r
349
+ endfunction
350
+
@@ -0,0 +1,53 @@
1
+ ### This tool is obsolete,
2
+ ### use alternative plugin: plugin/search-default.rb.
3
+ ### This tool will be deleted in the near future.
4
+
5
+
6
+ tdiarysearch README
7
+ ===================
8
+
9
+ This is tdiarysearch, simple tDiary search interface.
10
+
11
+
12
+ Installation and setup
13
+ ----------------------
14
+
15
+ 1. Copy search.rb aside of tDiary's index.rb.
16
+
17
+ $ ls
18
+ index.rb*
19
+ search.rb*
20
+ tdiary.conf
21
+ update.rb*
22
+
23
+ 2. Make search.rb executable.
24
+
25
+ $ chmod a+x search.rb
26
+
27
+ 3. (Optional) Adjust shebang (#!) line of search.rb.
28
+
29
+ 4. (Optional) If you'd like, edit embedded paramter in
30
+ search.rb and turn on query logging.
31
+
32
+ 5. Add following HTML form in your tDiary header:
33
+
34
+ <form method="post" action="search.rb" class="searchform">
35
+ <input type="text" name="q" size="20" value="">
36
+ <input type="submit" value="Search">
37
+ </form>
38
+
39
+ 6. Done.
40
+
41
+
42
+ License
43
+ -------
44
+
45
+ GNU GPL, General Public License version 2.
46
+
47
+
48
+ Contact
49
+ -------
50
+
51
+ Minero Aoki <aamine@loveruby.net>
52
+ http://i.loveruby.net/en/
53
+
@@ -0,0 +1,99 @@
1
+ ■■このツールは最新のtDiaryに追従していません。
2
+ ■■検索機能はプラグインとして実装されるようになったため、
3
+ ■■同等の機能はplugin/search-default.rbで実現しています。
4
+ ■■このツールは近々削除する予定です。
5
+
6
+
7
+
8
+ tdiarysearch README
9
+ ===================
10
+
11
+ tDiary簡単検索CGIです。
12
+ あらかじめインデックスを作る必要がないので、
13
+ 一般的な検索エンジンに比べてインストールが
14
+ 圧倒的に簡単です。また、書いた直後の日記も
15
+ 検索対象になるという長所があります。
16
+
17
+
18
+ 必要環境
19
+ --------
20
+
21
+ * テキスト形式のデータベースを使っていること (tDiary 1.5 以降)
22
+ * tDiary が動いているサーバに独自の CGI を追加する権限があること
23
+
24
+
25
+ セットアップ
26
+ ------------
27
+
28
+ 1. search.rb を tDiary の index.rb の隣にコピーします。
29
+ 必要なら index.rb と同じようにシンボリックリンクを
30
+ 張ったり名前を変えたりしてください。
31
+
32
+ 2. CGI として実行可能にします。
33
+
34
+ $ chmod a+x search.rb
35
+
36
+ 3. 必要なら #! のパスを合わせます。
37
+
38
+ 4. (オプション) search.rb 先頭のパラメータを変更して
39
+ クエリーログを有効にしてください。
40
+ ※ クエリーログの詳細については後述
41
+
42
+ 5. 自分の tDiary の好きな場所 (例えばヘッダ) に以下の
43
+ フォームを加えてください。
44
+
45
+ <form method="post" action="search.rb" class="searchform">
46
+ <input type="text" name="q" size="20" value="">
47
+ <input type="submit" value="Search">
48
+ </form>
49
+
50
+ 以上です。
51
+
52
+
53
+ 検索のしかた
54
+ ------------
55
+
56
+ tdiarysearch はトピックごとに AND 検索を行います。
57
+ 指定した語は空白で分割され、全単語がトピック内のテキストに
58
+ 全て含まれる場合にそのトピックを検索結果にリストします。
59
+
60
+ AND 以外の演算はサポートしません。
61
+
62
+ また rev 1.8 の段階ではまだツッコミが検索できません。
63
+ 近いうちに追加します。
64
+
65
+
66
+ クエリーログ
67
+ ------------
68
+
69
+ クエリーログ (query log) というのは、検索語のログの
70
+ ことです。このログが存在すると他の人が何を検索したのか
71
+ 見られるようになります。クエリーログを有効にするには、
72
+ search.rb 内の定数 LOGGING を true にしてください。
73
+
74
+ CGI からログを見られるようにするには、search.rb に
75
+ パラメータ history=on を付けて呼びます。例えば
76
+ 次のリンクを日記に入れておくと、リンクをたどるだけで
77
+ 日記から最近の検索ログが見られます。
78
+
79
+ <a href="search.rb?history=on">[検索ログ]</a>
80
+
81
+ なお、クエリーログは tDiary のデータディレクトリに search.log
82
+ という名前で作成されます。特にローテーション処理はしていないので、
83
+ 適当な間隔でローテートしてください。
84
+
85
+
86
+ 連絡先
87
+ ------
88
+
89
+ 青木峰郎 (あおき・みねろう)
90
+ Minero Aoki <aamine@loveruby.net>
91
+ http://i.loveruby.net/w/tdiarysearch.html
92
+
93
+ バグ報告は以下のどこかにお願いします。
94
+
95
+ * Wiki 上のバグ報告ページ
96
+ http://i.loveruby.net/w/tdiarysearchBugs.html
97
+ * tdiary-devel ML
98
+ * 直接メール
99
+