tdiary 3.2.2.20130507

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 (509) hide show
  1. checksums.yaml +7 -0
  2. data/.coveralls.yml +1 -0
  3. data/.gitignore +16 -0
  4. data/.travis.yml +29 -0
  5. data/Capfile +2 -0
  6. data/ChangeLog +3173 -0
  7. data/Gemfile +58 -0
  8. data/Gemfile.lock +201 -0
  9. data/LICENSE +340 -0
  10. data/Procfile +1 -0
  11. data/README.md +33 -0
  12. data/Rakefile +26 -0
  13. data/bin/tdiary +7 -0
  14. data/config.ru +61 -0
  15. data/data/.htaccess +2 -0
  16. data/doc/HOWTO-authenticate-in-rack.md +89 -0
  17. data/doc/HOWTO-make-io.md +305 -0
  18. data/doc/HOWTO-make-plugin.md +279 -0
  19. data/doc/HOWTO-make-theme.md +67 -0
  20. data/doc/HOWTO-testing-tDiary.md +44 -0
  21. data/doc/HOWTO-use-plugin.md +148 -0
  22. data/doc/HOWTO-write-tDiary.en.md +131 -0
  23. data/doc/HOWTO-write-tDiary.md +136 -0
  24. data/doc/INSTALL-paas.md +202 -0
  25. data/doc/INSTALL.md +160 -0
  26. data/doc/README.en.md +174 -0
  27. data/doc/README.md +56 -0
  28. data/doc/UPGRADE.md +164 -0
  29. data/doc/doc.css +115 -0
  30. data/dot.htaccess +27 -0
  31. data/index.fcgi +45 -0
  32. data/index.rb +57 -0
  33. data/js/00default.js +60 -0
  34. data/js/01conf.js +62 -0
  35. data/js/02edit.coffee +5 -0
  36. data/js/02edit.js +15 -0
  37. data/js/amazon.js +43 -0
  38. data/js/calendar3.js +130 -0
  39. data/js/caretposition.js +170 -0
  40. data/js/category.js +29 -0
  41. data/js/category_autocomplete.js +96 -0
  42. data/js/comment_ajax.js +27 -0
  43. data/js/draft.js +149 -0
  44. data/js/highlight.js +36 -0
  45. data/js/image.js +181 -0
  46. data/misc/convert2.rb +123 -0
  47. data/misc/filter/antispamservice.rb +101 -0
  48. data/misc/filter/limitdays.rb +40 -0
  49. data/misc/filter/linkcheck.rb +81 -0
  50. data/misc/filter/plugin/antispamservice.rb +82 -0
  51. data/misc/filter/plugin/en/antispamservice.rb +21 -0
  52. data/misc/filter/plugin/ja/antispamservice.rb +20 -0
  53. data/misc/lib/README +4 -0
  54. data/misc/lib/compatible.rb +1 -0
  55. data/misc/lib/fcgi_patch.rb +90 -0
  56. data/misc/migrate.rb +157 -0
  57. data/misc/paas/cloudfoundry/Gemfile +26 -0
  58. data/misc/paas/cloudfoundry/Gemfile.lock +85 -0
  59. data/misc/paas/heroku/Gemfile +22 -0
  60. data/misc/paas/heroku/Gemfile.lock +85 -0
  61. data/misc/paas/sqale/Gemfile +19 -0
  62. data/misc/paas/sqale/Gemfile.lock +85 -0
  63. data/misc/paas/sqale/Procfile +1 -0
  64. data/misc/paas/sqale/dot.env +1 -0
  65. data/misc/plugin/ChangeLog.DO_NOT_UPDATE +2333 -0
  66. data/misc/plugin/a.rb +211 -0
  67. data/misc/plugin/amazon.rb +403 -0
  68. data/misc/plugin/amazon/README.en +17 -0
  69. data/misc/plugin/amazon/README.ja +29 -0
  70. data/misc/plugin/amazon/amazonimg.rb +113 -0
  71. data/misc/plugin/amazon/large.png +0 -0
  72. data/misc/plugin/amazon/medium.png +0 -0
  73. data/misc/plugin/amazon/small.png +0 -0
  74. data/misc/plugin/append-css.rb +51 -0
  75. data/misc/plugin/bq.rb +48 -0
  76. data/misc/plugin/calendar2.rb +184 -0
  77. data/misc/plugin/calendar3.rb +256 -0
  78. data/misc/plugin/category.rb +779 -0
  79. data/misc/plugin/category_autocomplete.rb +33 -0
  80. data/misc/plugin/comment_ajax.rb +11 -0
  81. data/misc/plugin/comment_mail-qmail.rb +57 -0
  82. data/misc/plugin/comment_mail-sendmail.rb +56 -0
  83. data/misc/plugin/comment_mail-smtp.rb +59 -0
  84. data/misc/plugin/comment_rank.rb +36 -0
  85. data/misc/plugin/counter.rb +631 -0
  86. data/misc/plugin/daily_theme.rb +55 -0
  87. data/misc/plugin/disp_referrer.rb +1486 -0
  88. data/misc/plugin/doctype-html401tr.rb +16 -0
  89. data/misc/plugin/draft.rb +20 -0
  90. data/misc/plugin/dropdown_calendar.rb +32 -0
  91. data/misc/plugin/edit_today.rb +50 -0
  92. data/misc/plugin/en/a.rb +10 -0
  93. data/misc/plugin/en/amazon.rb +71 -0
  94. data/misc/plugin/en/append-css.rb +17 -0
  95. data/misc/plugin/en/bq.rb +12 -0
  96. data/misc/plugin/en/calendar2.rb +12 -0
  97. data/misc/plugin/en/category.rb +204 -0
  98. data/misc/plugin/en/counter.rb +48 -0
  99. data/misc/plugin/en/daily_theme.rb +14 -0
  100. data/misc/plugin/en/disp_referrer.rb +387 -0
  101. data/misc/plugin/en/dropdown_calendar.rb +14 -0
  102. data/misc/plugin/en/edit_today.rb +22 -0
  103. data/misc/plugin/en/hide-mail-field.rb +19 -0
  104. data/misc/plugin/en/highlight.rb +29 -0
  105. data/misc/plugin/en/image.rb +54 -0
  106. data/misc/plugin/en/kw.rb +22 -0
  107. data/misc/plugin/en/makerss.rb +47 -0
  108. data/misc/plugin/en/pb-show.rb +21 -0
  109. data/misc/plugin/en/ping.rb +16 -0
  110. data/misc/plugin/en/recent_comment.rb +44 -0
  111. data/misc/plugin/en/recent_comment3.rb +56 -0
  112. data/misc/plugin/en/recent_rss.rb +33 -0
  113. data/misc/plugin/en/referer_scheme.rb +48 -0
  114. data/misc/plugin/en/search_control.rb +74 -0
  115. data/misc/plugin/en/search_form.rb +22 -0
  116. data/misc/plugin/en/speed_comment.rb +19 -0
  117. data/misc/plugin/en/tb-show.rb +37 -0
  118. data/misc/plugin/en/todo.rb +43 -0
  119. data/misc/plugin/en/weather.rb +185 -0
  120. data/misc/plugin/en/xmlrpc.rb +14 -0
  121. data/misc/plugin/footnote.rb +92 -0
  122. data/misc/plugin/gradation.rb +39 -0
  123. data/misc/plugin/gradient.rb +36 -0
  124. data/misc/plugin/hide-mail-field.rb +50 -0
  125. data/misc/plugin/highlight.rb +22 -0
  126. data/misc/plugin/html_anchor.rb +34 -0
  127. data/misc/plugin/image.rb +290 -0
  128. data/misc/plugin/ja/amazon.rb +89 -0
  129. data/misc/plugin/ja/bq.rb +13 -0
  130. data/misc/plugin/ja/calendar2.rb +12 -0
  131. data/misc/plugin/ja/category.rb +212 -0
  132. data/misc/plugin/ja/daily_theme.rb +15 -0
  133. data/misc/plugin/ja/disp_referrer.rb +644 -0
  134. data/misc/plugin/ja/edit_today.rb +23 -0
  135. data/misc/plugin/ja/hide-mail-field.rb +20 -0
  136. data/misc/plugin/ja/highlight.rb +30 -0
  137. data/misc/plugin/ja/makerss.rb +44 -0
  138. data/misc/plugin/ja/my-sequel.rb +52 -0
  139. data/misc/plugin/ja/pb-show.rb +23 -0
  140. data/misc/plugin/ja/ping.rb +17 -0
  141. data/misc/plugin/ja/recent_comment.rb +45 -0
  142. data/misc/plugin/ja/recent_comment3.rb +57 -0
  143. data/misc/plugin/ja/recent_rss.rb +34 -0
  144. data/misc/plugin/ja/referer_scheme.rb +86 -0
  145. data/misc/plugin/ja/search_control.rb +75 -0
  146. data/misc/plugin/ja/search_form.rb +32 -0
  147. data/misc/plugin/ja/tb-show.rb +38 -0
  148. data/misc/plugin/ja/todo.rb +46 -0
  149. data/misc/plugin/ja/weather.rb +402 -0
  150. data/misc/plugin/ja/xmlrpc.rb +15 -0
  151. data/misc/plugin/kw.rb +150 -0
  152. data/misc/plugin/list.rb +40 -0
  153. data/misc/plugin/makelirs.rb +89 -0
  154. data/misc/plugin/makerss.rb +744 -0
  155. data/misc/plugin/my-ex.rb +68 -0
  156. data/misc/plugin/my-sequel.rb +539 -0
  157. data/misc/plugin/navi_user.rb +19 -0
  158. data/misc/plugin/number_anchor.rb +47 -0
  159. data/misc/plugin/pb-show.rb +165 -0
  160. data/misc/plugin/ping.rb +99 -0
  161. data/misc/plugin/pre_wrap.rb +19 -0
  162. data/misc/plugin/random_google.rb +165 -0
  163. data/misc/plugin/recent_comment.rb +82 -0
  164. data/misc/plugin/recent_comment3.rb +192 -0
  165. data/misc/plugin/recent_list.rb +91 -0
  166. data/misc/plugin/recent_namazu.rb +50 -0
  167. data/misc/plugin/recent_rss.rb +305 -0
  168. data/misc/plugin/referer-antibot.rb +53 -0
  169. data/misc/plugin/referer-utf8.rb +12 -0
  170. data/misc/plugin/referer_scheme.rb +87 -0
  171. data/misc/plugin/search_control.rb +227 -0
  172. data/misc/plugin/search_form.rb +53 -0
  173. data/misc/plugin/sn.rb +107 -0
  174. data/misc/plugin/speed_comment.rb +68 -0
  175. data/misc/plugin/squeeze.rb +272 -0
  176. data/misc/plugin/src.rb +30 -0
  177. data/misc/plugin/tb-show.rb +212 -0
  178. data/misc/plugin/title_list.rb +41 -0
  179. data/misc/plugin/title_tag.rb +80 -0
  180. data/misc/plugin/tlink.rb +163 -0
  181. data/misc/plugin/todo.rb +182 -0
  182. data/misc/plugin/weather.rb +505 -0
  183. data/misc/plugin/whatsnew.rb +100 -0
  184. data/misc/plugin/xmlrpc.rb +80 -0
  185. data/misc/plugin/xmlrpc/README +20 -0
  186. data/misc/plugin/xmlrpc/xmlrpc.rb +575 -0
  187. data/misc/style/emptdiary/README.rd +83 -0
  188. data/misc/style/emptdiary/README.rd.en +78 -0
  189. data/misc/style/emptdiary/emptdiary_style.rb +199 -0
  190. data/misc/style/etdiary/README.rd +83 -0
  191. data/misc/style/etdiary/etdiary_style.rb +446 -0
  192. data/misc/style/gfm/gfm_style.rb +194 -0
  193. data/misc/style/rd/README.rd +71 -0
  194. data/misc/style/rd/rd_style.rb +366 -0
  195. data/misc/style/wiki/README +116 -0
  196. data/misc/style/wiki/README.en +101 -0
  197. data/misc/style/wiki/wiki_parser.rb +273 -0
  198. data/misc/style/wiki/wiki_style.rb +478 -0
  199. data/misc/theme_convert/Readme.rd +21 -0
  200. data/misc/theme_convert/append.rcss +150 -0
  201. data/misc/theme_convert/theme_convert.rb +453 -0
  202. data/plugin/00default.rb +1015 -0
  203. data/plugin/05referer.rb +298 -0
  204. data/plugin/10spamfilter.rb +183 -0
  205. data/plugin/50sp.rb +146 -0
  206. data/plugin/60sf.rb +152 -0
  207. data/plugin/90migrate.rb +109 -0
  208. data/plugin/en/00default.rb +390 -0
  209. data/plugin/en/05referer.rb +49 -0
  210. data/plugin/en/10spamfilter.rb +81 -0
  211. data/plugin/en/50sp.rb +56 -0
  212. data/plugin/en/60sf.rb +60 -0
  213. data/plugin/ja/00default.rb +401 -0
  214. data/plugin/ja/05referer.rb +47 -0
  215. data/plugin/ja/10spamfilter.rb +79 -0
  216. data/plugin/ja/50sp.rb +66 -0
  217. data/plugin/ja/60sf.rb +73 -0
  218. data/public/.gitkeep +0 -0
  219. data/public/images/.gitkeep +0 -0
  220. data/public/javascripts/.gitkeep +0 -0
  221. data/public/stylesheets/.gitkeep +0 -0
  222. data/skel/category.rhtml +9 -0
  223. data/skel/conf.rhtml +23 -0
  224. data/skel/day.rhtml +33 -0
  225. data/skel/diary.rhtml +83 -0
  226. data/skel/footer.rhtml +8 -0
  227. data/skel/header.rhtml +10 -0
  228. data/skel/i.category.rhtml +6 -0
  229. data/skel/i.conf.rhtml +14 -0
  230. data/skel/i.day.rhtml +28 -0
  231. data/skel/i.diary.rhtml +17 -0
  232. data/skel/i.footer.rhtml +2 -0
  233. data/skel/i.header.rhtml +3 -0
  234. data/skel/i.latest.rhtml +24 -0
  235. data/skel/i.month.rhtml +39 -0
  236. data/skel/i.search.rhtml +5 -0
  237. data/skel/i.update.rhtml +40 -0
  238. data/skel/i.update.rhtml.en +40 -0
  239. data/skel/latest.rhtml +27 -0
  240. data/skel/mail.rtxt +18 -0
  241. data/skel/mail.rtxt.en +18 -0
  242. data/skel/month.rhtml +27 -0
  243. data/skel/plugin_error.rhtml +27 -0
  244. data/skel/preview.rhtml +85 -0
  245. data/skel/preview.rhtml.en +72 -0
  246. data/skel/referer.rhtml +24 -0
  247. data/skel/search.rhtml +14 -0
  248. data/skel/tdiary.rconf +76 -0
  249. data/skel/update.rhtml +103 -0
  250. data/skel/update.rhtml.en +83 -0
  251. data/spec/acceptance/append_comment_spec.rb +94 -0
  252. data/spec/acceptance/append_diary_spec.rb +98 -0
  253. data/spec/acceptance/bugfix/encoding_error_spec.rb +27 -0
  254. data/spec/acceptance/save_conf_comment_spec.rb +87 -0
  255. data/spec/acceptance/save_conf_default_spec.rb +169 -0
  256. data/spec/acceptance/save_conf_dnsbl_spec.rb +152 -0
  257. data/spec/acceptance/save_conf_filter_spec.rb +50 -0
  258. data/spec/acceptance/save_conf_plugin_spec.rb +69 -0
  259. data/spec/acceptance/save_conf_referer_spec.rb +60 -0
  260. data/spec/acceptance/save_conf_security_spec.rb +280 -0
  261. data/spec/acceptance/support/helpers.rb +49 -0
  262. data/spec/acceptance/support/paths.rb +7 -0
  263. data/spec/acceptance/update_diary_spec.rb +113 -0
  264. data/spec/acceptance/view_category_spec.rb +38 -0
  265. data/spec/acceptance/view_comment_spec.rb +67 -0
  266. data/spec/acceptance/view_diary_spec.rb +126 -0
  267. data/spec/acceptance/view_referer_spec.rb +31 -0
  268. data/spec/acceptance_helper.rb +101 -0
  269. data/spec/core/compatible_spec.rb +54 -0
  270. data/spec/core/core_ext_spec.rb +59 -0
  271. data/spec/core/plugin_spec.rb +389 -0
  272. data/spec/core/rack/assets/precompile_spec.rb +76 -0
  273. data/spec/core/rack/html_anchor_spec.rb +57 -0
  274. data/spec/core/rack/valid_request_path_spec.rb +67 -0
  275. data/spec/core/style/emptdiary_style_spec.rb +165 -0
  276. data/spec/core/style/etdiary_style_spec.rb +512 -0
  277. data/spec/core/style/gfm_style_spec.rb +334 -0
  278. data/spec/core/style/rd_style_spec.rb +202 -0
  279. data/spec/core/style/tdiary_style_spec.rb +240 -0
  280. data/spec/core/style/wiki_style_spec.rb +441 -0
  281. data/spec/fixtures/ascii8bit-pstore.db +0 -0
  282. data/spec/fixtures/invalid-sequence-volatile.tdr +9 -0
  283. data/spec/fixtures/just_installed.conf +1 -0
  284. data/spec/fixtures/plugin/ja/sample.rb +4 -0
  285. data/spec/fixtures/plugin/sample.rb +6 -0
  286. data/spec/fixtures/sample.rb +12 -0
  287. data/spec/fixtures/tdiary.conf.gem +212 -0
  288. data/spec/fixtures/tdiary.conf.rack +212 -0
  289. data/spec/fixtures/tdiary.conf.rdb +227 -0
  290. data/spec/fixtures/tdiary.conf.secure +204 -0
  291. data/spec/fixtures/tdiary.conf.webrick +212 -0
  292. data/spec/javascripts/00default_spec.js +35 -0
  293. data/spec/javascripts/fixtures/00default.html +1 -0
  294. data/spec/javascripts/support/jasmine.yml +76 -0
  295. data/spec/plugin/bq_spec.rb +24 -0
  296. data/spec/plugin/plugin_helper.rb +203 -0
  297. data/spec/spec_helper.rb +32 -0
  298. data/tdiary.conf.beginner +244 -0
  299. data/tdiary.conf.sample +345 -0
  300. data/tdiary.conf.sample-en +333 -0
  301. data/tdiary.gemspec +26 -0
  302. data/tdiary.rb +151 -0
  303. data/tdiary/admin.rb +236 -0
  304. data/tdiary/application.rb +57 -0
  305. data/tdiary/author_only_base.rb +171 -0
  306. data/tdiary/base.rb +220 -0
  307. data/tdiary/cli.rb +116 -0
  308. data/tdiary/comment.rb +40 -0
  309. data/tdiary/comment_manager.rb +94 -0
  310. data/tdiary/compatible.rb +72 -0
  311. data/tdiary/config.rb +270 -0
  312. data/tdiary/core_ext.rb +122 -0
  313. data/tdiary/deploy.rb +50 -0
  314. data/tdiary/dispatcher.rb +77 -0
  315. data/tdiary/dispatcher/index_main.rb +122 -0
  316. data/tdiary/dispatcher/update_main.rb +101 -0
  317. data/tdiary/environment.rb +15 -0
  318. data/tdiary/filter.rb +48 -0
  319. data/tdiary/filter/default.rb +54 -0
  320. data/tdiary/filter/spam.rb +304 -0
  321. data/tdiary/io/base.rb +70 -0
  322. data/tdiary/io/cache/file.rb +123 -0
  323. data/tdiary/io/cache/memcached.rb +88 -0
  324. data/tdiary/io/cache/redis.rb +100 -0
  325. data/tdiary/io/default.rb +297 -0
  326. data/tdiary/io/pstore.rb +252 -0
  327. data/tdiary/io/rdb.rb +213 -0
  328. data/tdiary/lang/en.rb +79 -0
  329. data/tdiary/lang/ja.rb +72 -0
  330. data/tdiary/plugin.rb +375 -0
  331. data/tdiary/rack/assets/precompile.rb +37 -0
  332. data/tdiary/rack/auth/basic.rb +38 -0
  333. data/tdiary/rack/auth/omniauth.rb +51 -0
  334. data/tdiary/rack/html_anchor.rb +31 -0
  335. data/tdiary/rack/valid_request_path.rb +36 -0
  336. data/tdiary/referer_manager.rb +80 -0
  337. data/tdiary/request.rb +217 -0
  338. data/tdiary/response.rb +29 -0
  339. data/tdiary/server.rb +85 -0
  340. data/tdiary/style.rb +194 -0
  341. data/tdiary/style/tdiary_style.rb +198 -0
  342. data/tdiary/style/wiki_style.rb +213 -0
  343. data/tdiary/tasks.rb +1 -0
  344. data/tdiary/tasks/assets.rake +31 -0
  345. data/tdiary/tasks/auth.rake +28 -0
  346. data/tdiary/tasks/db.rake +110 -0
  347. data/tdiary/tasks/doc.rake +31 -0
  348. data/tdiary/tasks/heroku.rake +37 -0
  349. data/tdiary/tasks/jasmine.rake +16 -0
  350. data/tdiary/tasks/rdoc.rake +24 -0
  351. data/tdiary/tasks/release.rake +122 -0
  352. data/tdiary/tasks/rspec.rake +51 -0
  353. data/tdiary/tasks/server.rake +33 -0
  354. data/tdiary/tasks/test.rake +17 -0
  355. data/tdiary/version.rb +3 -0
  356. data/tdiary/view.rb +468 -0
  357. data/tdiary/view_helper.rb +15 -0
  358. data/test/disp_referrer_test.rb +93 -0
  359. data/test/my-sequel_test.rb +238 -0
  360. data/test/test_helper.rb +7 -0
  361. data/test/test_plugin_helper.rb +64 -0
  362. data/test/test_plugin_helper_test.rb +28 -0
  363. data/test/weather_test.rb +33 -0
  364. data/theme/base.css +268 -0
  365. data/theme/conf.block.png +0 -0
  366. data/theme/conf.css +254 -0
  367. data/theme/default/README +11 -0
  368. data/theme/default/body.png +0 -0
  369. data/theme/default/default.css +743 -0
  370. data/theme/help.png +0 -0
  371. data/theme/loading.gif +0 -0
  372. data/theme/tdiary1/README +7 -0
  373. data/theme/tdiary1/tdiary1.css +394 -0
  374. data/theme/tdiary2/README +19 -0
  375. data/theme/tdiary2/tdiary2.css +624 -0
  376. data/update.fcgi +45 -0
  377. data/update.rb +57 -0
  378. data/vendor/hikidoc-0.0.6/COPYING +28 -0
  379. data/vendor/hikidoc-0.0.6/NEWS +30 -0
  380. data/vendor/hikidoc-0.0.6/NEWS.ja +30 -0
  381. data/vendor/hikidoc-0.0.6/README +86 -0
  382. data/vendor/hikidoc-0.0.6/README.ja +83 -0
  383. data/vendor/hikidoc-0.0.6/Rakefile +68 -0
  384. data/vendor/hikidoc-0.0.6/TextFormattingRules +320 -0
  385. data/vendor/hikidoc-0.0.6/TextFormattingRules.ja +318 -0
  386. data/vendor/hikidoc-0.0.6/bin/hikidoc +66 -0
  387. data/vendor/hikidoc-0.0.6/lib/hikidoc.rb +914 -0
  388. data/vendor/hikidoc-0.0.6/setup.rb +1360 -0
  389. data/vendor/hikidoc-0.0.6/test/run-test.rb +13 -0
  390. data/vendor/hikidoc-0.0.6/test/test_hikidoc.rb +506 -0
  391. data/vendor/imagesize-0.1.1/Manifest.txt +19 -0
  392. data/vendor/imagesize-0.1.1/README.txt +49 -0
  393. data/vendor/imagesize-0.1.1/lib/image_size.rb +305 -0
  394. data/vendor/imagesize-0.1.1/lib/image_size/version.rb +9 -0
  395. data/vendor/imagesize-0.1.1/setup.rb +1585 -0
  396. data/vendor/imagesize-0.1.1/test/2-4-7.png +0 -0
  397. data/vendor/imagesize-0.1.1/test/4_1_2.gif +0 -0
  398. data/vendor/imagesize-0.1.1/test/bmp.bmp +0 -0
  399. data/vendor/imagesize-0.1.1/test/cursor.xbm +6 -0
  400. data/vendor/imagesize-0.1.1/test/detect.swf +0 -0
  401. data/vendor/imagesize-0.1.1/test/pbm.pbm +0 -0
  402. data/vendor/imagesize-0.1.1/test/pcx.pcx +0 -0
  403. data/vendor/imagesize-0.1.1/test/pgm.pgm +5 -0
  404. data/vendor/imagesize-0.1.1/test/test.xpm +38 -0
  405. data/vendor/imagesize-0.1.1/test/test_helper.rb +2 -0
  406. data/vendor/imagesize-0.1.1/test/test_image_size.rb +71 -0
  407. data/vendor/imagesize-0.1.1/test/tiff.tiff +0 -0
  408. data/vendor/imagesize-0.1.1/test/tokyo_tower.jpg +0 -0
  409. data/vendor/imagesize-0.1.1/test/tower_e.gif.psd +0 -0
  410. data/vendor/jasmine-jquery-1.4.2/jasmine-jquery.js +548 -0
  411. data/vendor/jquery-1.8/jquery.js +9227 -0
  412. data/vendor/rdtool-0.6.38/COPYING.txt +339 -0
  413. data/vendor/rdtool-0.6.38/Gemfile +3 -0
  414. data/vendor/rdtool-0.6.38/HISTORY +318 -0
  415. data/vendor/rdtool-0.6.38/LGPL-2.1 +502 -0
  416. data/vendor/rdtool-0.6.38/LICENSE.txt +58 -0
  417. data/vendor/rdtool-0.6.38/README.html +66 -0
  418. data/vendor/rdtool-0.6.38/README.ja.html +73 -0
  419. data/vendor/rdtool-0.6.38/README.rd +76 -0
  420. data/vendor/rdtool-0.6.38/README.rd.ja +85 -0
  421. data/vendor/rdtool-0.6.38/Rakefile +152 -0
  422. data/vendor/rdtool-0.6.38/TODO +22 -0
  423. data/vendor/rdtool-0.6.38/bin/rd2 +283 -0
  424. data/vendor/rdtool-0.6.38/bin/rdswap.rb +207 -0
  425. data/vendor/rdtool-0.6.38/doc/rd-draft.html +456 -0
  426. data/vendor/rdtool-0.6.38/doc/rd-draft.ja.html +466 -0
  427. data/vendor/rdtool-0.6.38/doc/rd-draft.rd +479 -0
  428. data/vendor/rdtool-0.6.38/doc/rd-draft.rd.ja +487 -0
  429. data/vendor/rdtool-0.6.38/lib/rd/block-element.rb +114 -0
  430. data/vendor/rdtool-0.6.38/lib/rd/complex-list-item.rb +65 -0
  431. data/vendor/rdtool-0.6.38/lib/rd/desclist.rb +55 -0
  432. data/vendor/rdtool-0.6.38/lib/rd/document-struct.rb +46 -0
  433. data/vendor/rdtool-0.6.38/lib/rd/dot.rd2rc +18 -0
  434. data/vendor/rdtool-0.6.38/lib/rd/element.rb +160 -0
  435. data/vendor/rdtool-0.6.38/lib/rd/filter.rb +255 -0
  436. data/vendor/rdtool-0.6.38/lib/rd/head-filter.rb +14 -0
  437. data/vendor/rdtool-0.6.38/lib/rd/inline-element.rb +233 -0
  438. data/vendor/rdtool-0.6.38/lib/rd/labeled-element.rb +14 -0
  439. data/vendor/rdtool-0.6.38/lib/rd/list.rb +57 -0
  440. data/vendor/rdtool-0.6.38/lib/rd/loose-struct.rb +11 -0
  441. data/vendor/rdtool-0.6.38/lib/rd/methodlist.rb +57 -0
  442. data/vendor/rdtool-0.6.38/lib/rd/output-format-visitor.rb +30 -0
  443. data/vendor/rdtool-0.6.38/lib/rd/package.rb +4 -0
  444. data/vendor/rdtool-0.6.38/lib/rd/parser-util.rb +14 -0
  445. data/vendor/rdtool-0.6.38/lib/rd/post-install +1 -0
  446. data/vendor/rdtool-0.6.38/lib/rd/pre-setup.rb +18 -0
  447. data/vendor/rdtool-0.6.38/lib/rd/rbl-file.rb +69 -0
  448. data/vendor/rdtool-0.6.38/lib/rd/rbl-suite.rb +37 -0
  449. data/vendor/rdtool-0.6.38/lib/rd/rd-struct.rb +86 -0
  450. data/vendor/rdtool-0.6.38/lib/rd/rd2html-ext-lib.rb +266 -0
  451. data/vendor/rdtool-0.6.38/lib/rd/rd2html-ext-opt.rb +34 -0
  452. data/vendor/rdtool-0.6.38/lib/rd/rd2html-lib.rb +490 -0
  453. data/vendor/rdtool-0.6.38/lib/rd/rd2html-opt.rb +67 -0
  454. data/vendor/rdtool-0.6.38/lib/rd/rd2man-lib.rb +251 -0
  455. data/vendor/rdtool-0.6.38/lib/rd/rd2rdo-lib.rb +19 -0
  456. data/vendor/rdtool-0.6.38/lib/rd/rd2rmi-lib.rb +32 -0
  457. data/vendor/rdtool-0.6.38/lib/rd/rdblockparser.ry +518 -0
  458. data/vendor/rdtool-0.6.38/lib/rd/rdblockparser.tab.rb +1061 -0
  459. data/vendor/rdtool-0.6.38/lib/rd/rdfmt.rb +15 -0
  460. data/vendor/rdtool-0.6.38/lib/rd/rdinlineparser.ry +503 -0
  461. data/vendor/rdtool-0.6.38/lib/rd/rdinlineparser.tab.rb +1243 -0
  462. data/vendor/rdtool-0.6.38/lib/rd/rdvisitor.rb +214 -0
  463. data/vendor/rdtool-0.6.38/lib/rd/reference-resolver.rb +114 -0
  464. data/vendor/rdtool-0.6.38/lib/rd/search-file.rb +14 -0
  465. data/vendor/rdtool-0.6.38/lib/rd/tree.rb +103 -0
  466. data/vendor/rdtool-0.6.38/lib/rd/version.rb +41 -0
  467. data/vendor/rdtool-0.6.38/lib/rd/visitor.rb +86 -0
  468. data/vendor/rdtool-0.6.38/rdtool.gemspec +125 -0
  469. data/vendor/rdtool-0.6.38/setup.rb +1596 -0
  470. data/vendor/rdtool-0.6.38/test/data/includee1.html +1 -0
  471. data/vendor/rdtool-0.6.38/test/data/includee2.html +1 -0
  472. data/vendor/rdtool-0.6.38/test/data/includee3.nothtml +1 -0
  473. data/vendor/rdtool-0.6.38/test/data/includee4.xhtml +0 -0
  474. data/vendor/rdtool-0.6.38/test/data/label.rbl +2 -0
  475. data/vendor/rdtool-0.6.38/test/data/label2.rbl +2 -0
  476. data/vendor/rdtool-0.6.38/test/data/sub/includee2.html +1 -0
  477. data/vendor/rdtool-0.6.38/test/data/sub/includee4.html +0 -0
  478. data/vendor/rdtool-0.6.38/test/dummy-observer.rb +6 -0
  479. data/vendor/rdtool-0.6.38/test/dummy.rb +33 -0
  480. data/vendor/rdtool-0.6.38/test/temp-dir.rb +19 -0
  481. data/vendor/rdtool-0.6.38/test/test-block-parser.rb +46 -0
  482. data/vendor/rdtool-0.6.38/test/test-desclist-item.rb +219 -0
  483. data/vendor/rdtool-0.6.38/test/test-document-element.rb +46 -0
  484. data/vendor/rdtool-0.6.38/test/test-document-struct.rb +66 -0
  485. data/vendor/rdtool-0.6.38/test/test-element.rb +46 -0
  486. data/vendor/rdtool-0.6.38/test/test-headline.rb +80 -0
  487. data/vendor/rdtool-0.6.38/test/test-inline-parser.rb +46 -0
  488. data/vendor/rdtool-0.6.38/test/test-list-item.rb +54 -0
  489. data/vendor/rdtool-0.6.38/test/test-list.rb +53 -0
  490. data/vendor/rdtool-0.6.38/test/test-methodlist-item.rb +73 -0
  491. data/vendor/rdtool-0.6.38/test/test-nonterminal-element.rb +170 -0
  492. data/vendor/rdtool-0.6.38/test/test-nonterminal-inline.rb +33 -0
  493. data/vendor/rdtool-0.6.38/test/test-output-format-visitor.rb +48 -0
  494. data/vendor/rdtool-0.6.38/test/test-parser-util.rb +41 -0
  495. data/vendor/rdtool-0.6.38/test/test-rbl-file.rb +156 -0
  496. data/vendor/rdtool-0.6.38/test/test-rbl-suite.rb +43 -0
  497. data/vendor/rdtool-0.6.38/test/test-rd2html-lib.rb +496 -0
  498. data/vendor/rdtool-0.6.38/test/test-rdtree.rb +17 -0
  499. data/vendor/rdtool-0.6.38/test/test-rdvisitor.rb +29 -0
  500. data/vendor/rdtool-0.6.38/test/test-reference-resolver.rb +202 -0
  501. data/vendor/rdtool-0.6.38/test/test-reference.rb +132 -0
  502. data/vendor/rdtool-0.6.38/test/test-search-file.rb +22 -0
  503. data/vendor/rdtool-0.6.38/test/test-terminal-inline.rb +41 -0
  504. data/vendor/rdtool-0.6.38/test/test-textblock.rb +44 -0
  505. data/vendor/rdtool-0.6.38/test/test-tree.rb +82 -0
  506. data/vendor/rdtool-0.6.38/test/test-version.rb +57 -0
  507. data/vendor/rdtool-0.6.38/test/test-visitor.rb +230 -0
  508. data/vendor/rdtool-0.6.38/utils/rd-mode.el +464 -0
  509. metadata +666 -0
@@ -0,0 +1,68 @@
1
+ # -*- coding: utf-8 -*-
2
+ # speed_comment.rb
3
+ #
4
+ # spped_comment: 最新・月毎表示時に簡易なツッコミフォームを表示する
5
+ # pluginディレクトリに入れるだけで動きます。
6
+ #
7
+ # Copyright (c) 2002 TADA Tadashi <sho@spc.gr.jp>
8
+ # Distributed under the GPL
9
+ #
10
+ =begin ChangeLog
11
+ 2003-09-24 TADA Tadashi <sho@spc.gr.jp>
12
+ * support cookie for name.
13
+ * support conf_proc.
14
+
15
+ 2002-03-24 TADA Tadashi <sho@spc.gr.jp>
16
+ * suppress output in mobile mode.
17
+
18
+ 2002-03-12 TADA Tadashi <sho@spc.gr.jp>
19
+ * support insert into @header.
20
+ =end
21
+
22
+ add_body_leave_proc do |date|
23
+ if /latest|month/ =~ @mode and not @cgi.mobile_agent? then
24
+ @conf['speed_comment.name_size'] = 20 unless @conf['speed_comment.name_size']
25
+ @conf['speed_comment.body_size'] = 40 unless @conf['speed_comment.body_size']
26
+ r = ""
27
+ r << %Q[<div class="form"><form method="post" action="#{h( @index )}"><p>]
28
+ r << %Q[<input type="hidden" name="date" value="#{h( date.strftime( '%Y%m%d' ) )}">]
29
+ r << %Q[<input type="hidden" name="mail" value="">]
30
+ r << %Q[#{h( comment_name_label )} : <input class="field" name="name" size="#{@conf['speed_comment.name_size']}" value="#{h( @conf.to_native(@cgi.cookies['tdiary'][0] || '' ))}">]
31
+ r << %Q[#{h( comment_body_label )} : <input class="field" name="body" size="#{@conf['speed_comment.body_size']}">]
32
+ r << %Q[<input type="submit" name="comment" value="#{h( comment_submit_label )}">]
33
+ r << %Q[</p></form></div>]
34
+ else
35
+ ''
36
+ end
37
+ end
38
+
39
+ unless @resource_loaded then
40
+ def speed_comment_label
41
+ '簡易ツッコミ'
42
+ end
43
+
44
+ def speed_comment_html
45
+ <<-HTML
46
+ <h3>簡易ツッコミフォームのサイズ</h3>
47
+ <p>名前欄: <input name="speed_comment.name_size" size="5" value="#{h( @conf['speed_comment.name_size'] ) || 20}"></p>
48
+ <p>本文欄: <input name="speed_comment.body_size" size="5" value="#{h( @conf['speed_comment.body_size'] ) || 40}"></p>
49
+ HTML
50
+ end
51
+ end
52
+
53
+ add_conf_proc( 'speed_comment', speed_comment_label ) do
54
+ if @mode == 'saveconf' then
55
+ @conf['speed_comment.name_size'] = @cgi.params['speed_comment.name_size'][0].to_i
56
+ @conf['speed_comment.name_size'] = 20 if @conf['speed_comment.name_size'] < 1
57
+ @conf['speed_comment.body_size'] = @cgi.params['speed_comment.body_size'][0].to_i
58
+ @conf['speed_comment.body_size'] = 40 if @conf['speed_comment.body_size'] < 1
59
+ end
60
+ speed_comment_html
61
+ end
62
+
63
+ # Local Variables:
64
+ # mode: ruby
65
+ # indent-tabs-mode: t
66
+ # tab-width: 3
67
+ # ruby-indent-level: 3
68
+ # End:
@@ -0,0 +1,272 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ # squeeze.rb
4
+ #
5
+ # Create daily HTML file from tDiary database.
6
+ #
7
+ # See URLs below for more details.
8
+ # http://ponx.s5.xrea.com/hiki/squeeze.rb.html (English)
9
+ # http://ponx.s5.xrea.com/hiki/ja/squeeze.rb.html (Japanese)
10
+ #
11
+ # Copyright (C) 2002 MUTOH Masao <mutoh@highway.ne.jp>
12
+ # You can redistribute it and/or modify it under GPL2.
13
+ #
14
+ # The original version of this file was distributed with squeeze
15
+ # TADA Tadashi <sho@spc.gr.jp> with GPL2.
16
+ #
17
+ unless $tdiary_squeeze_loaded
18
+ $tdiary_squeeze_loaded ||= true
19
+
20
+ mode = defined?(TDiary) ? "PLUGIN" : ENV["REQUEST_METHOD"]? "CGI" : "CMD"
21
+
22
+ if mode == "CMD" || mode == "CGI"
23
+ output_path = "./html/"
24
+ tdiary_path = "."
25
+ tdiary_conf = "."
26
+ suffix = ''
27
+ all_data = false
28
+ overwrite = false
29
+ compat = false
30
+ $stdout.sync = true
31
+
32
+ if mode == "CMD"
33
+ def usage
34
+ puts "squeeze $Revision: 1.25 $"
35
+ puts " making html files from tDiary's database."
36
+ puts " usage: ruby squeeze.rb [-p <tDiary path>] [-c <tdiary.conf path>] [-a] [-s] [-x suffix] <dest path>"
37
+ exit
38
+ end
39
+
40
+ require 'getoptlong'
41
+ parser = GetoptLong::new
42
+ parser.set_options(['--path', '-p', GetoptLong::REQUIRED_ARGUMENT],
43
+ ['--conf', '-c', GetoptLong::REQUIRED_ARGUMENT],
44
+ ['--suffix', '-x', GetoptLong::REQUIRED_ARGUMENT],
45
+ ['--all', '-a', GetoptLong::NO_ARGUMENT],
46
+ ['--overwrite', '-o', GetoptLong::NO_ARGUMENT],
47
+ ['--squeeze', '-s', GetoptLong::NO_ARGUMENT])
48
+ begin
49
+ parser.each do |opt, arg|
50
+ case opt
51
+ when '--path'
52
+ tdiary_path = arg.dup.untaint
53
+ when '--conf'
54
+ tdiary_conf = arg
55
+ when '--suffix'
56
+ suffix = arg
57
+ when '--all'
58
+ all_data = true
59
+ when '--overwrite'
60
+ overwrite = true
61
+ when '--squeeze'
62
+ compat = true
63
+ end
64
+ end
65
+ rescue
66
+ usage
67
+ exit( 1 )
68
+ end
69
+ output_path = ARGV.shift
70
+ usage unless output_path
71
+ output_path = File::expand_path(output_path)
72
+ output_path += '/' if /\/$/ !~ output_path
73
+
74
+ tdiary_conf = tdiary_path unless tdiary_conf
75
+ Dir::chdir( tdiary_conf )
76
+ ARGV << '' # dummy argument against cgi.rb offline mode.
77
+ $:.unshift tdiary_path
78
+ else
79
+ @options = Hash.new
80
+ File::readlines("tdiary.conf").each {|item|
81
+ if item =~ /@options/
82
+ begin
83
+ eval(item)
84
+ rescue SyntaxError
85
+ end
86
+ end
87
+ }
88
+ output_path = @options['squeeze.output_path'] || @options['yasqueeze.output_path']
89
+ suffix = @options['squeeze.suffix'] || ''
90
+ all_data = @options['squeeze.all_data'] || @options['yasqueeze.all_data']
91
+ overwrite = @options['squeeze.overwrite']
92
+ compat = @options['squeeze.compat_path'] || @options['yasqueeze.compat_path']
93
+
94
+ if FileTest::symlink?( __FILE__ ) then
95
+ org_path = File::dirname( File::readlink( __FILE__ ) )
96
+ else
97
+ org_path = File::dirname( __FILE__ )
98
+ end
99
+ $:.unshift( org_path.untaint )
100
+ end
101
+
102
+ begin
103
+ require "tdiary"
104
+ rescue LoadError
105
+ $stderr.print "squeeze.rb: cannot load tdiary.rb. <#{tdiary_path}/tdiary>\n"
106
+ exit( 1 )
107
+ end
108
+ end
109
+
110
+ #
111
+ # Dairy Squeeze
112
+ #
113
+ module ::TDiary
114
+ class YATDiarySqueeze < TDiaryBase
115
+ def initialize(diary, dest, all_data, overwrite, compat, conf, suffix)
116
+ @ignore_parser_cache = true
117
+
118
+ cgi = CGI::new
119
+ def cgi.referer; nil; end
120
+ def cgi.user_agent; 'bot'; end
121
+ super( cgi, 'day.rhtml', conf )
122
+ @diary = diary
123
+ @date = diary.date
124
+ @diaries = {@date.strftime('%Y%m%d') => @diary} if @diaries.size == 0
125
+ @dest = dest
126
+ @all_data = all_data
127
+ @overwrite = overwrite
128
+ @compat = compat
129
+ @suffix = suffix
130
+ end
131
+
132
+ def execute
133
+ if @compat
134
+ dir = @dest
135
+ name = @diary.date.strftime('%Y%m%d')
136
+ else
137
+ dir = @dest + "/" + @diary.date.strftime('%Y')
138
+ name = @diary.date.strftime('%m%d')
139
+ Dir.mkdir(dir, 0755) unless File.directory?(dir)
140
+ end
141
+ filename = dir + "/" + name + @suffix
142
+ if FileTest.exist?( filename ) and @overwrite
143
+ File::delete( filename )
144
+ end
145
+ if @diary.visible? or @all_data
146
+ if not FileTest::exist?(filename) or
147
+ File::mtime(filename) != @diary.last_modified
148
+ File::open(filename, 'w'){|f| f.write(eval_rhtml)}
149
+ File::utime(@diary.last_modified, @diary.last_modified, filename)
150
+ end
151
+ else
152
+ if FileTest.exist?(filename) and ! @all_data
153
+ name = "remove #{name}"
154
+ File::delete(filename)
155
+ else
156
+ name = ""
157
+ end
158
+ end
159
+ name
160
+ end
161
+
162
+ protected
163
+ def mode
164
+ 'day'
165
+ end
166
+
167
+ def cookie_name; ''; end
168
+ def cookie_mail; ''; end
169
+ end
170
+ end
171
+
172
+ #
173
+ # Main
174
+ #
175
+ module ::TDiary
176
+ class YATDiarySqueezeMain < TDiaryBase
177
+ def initialize(dest, all_data, overwrite, compat, conf, suffix)
178
+ @ignore_parser_cache = true
179
+
180
+ cgi = CGI::new
181
+ def cgi.referer; nil; end
182
+ super( cgi, 'day.rhtml', conf )
183
+ calendar
184
+ @years.keys.sort.each do |year|
185
+ print "(#{year.to_s}/) "
186
+ @years[year.to_s].sort.each do |month|
187
+ diaries2 = nil
188
+ @io.transaction(Time::local(year.to_i, month.to_i)) do |diaries|
189
+ diaries2 = diaries
190
+ DIRTY_NONE
191
+ end
192
+ diaries2.sort.each do |day, diary|
193
+ print YATDiarySqueeze.new(diary, dest, all_data, overwrite, compat, conf, suffix).execute + " "
194
+ end
195
+ end
196
+ end
197
+ end
198
+ end
199
+ end
200
+
201
+ squeeze_navi_on_footer = '<div class="adminmenu"><%= navi_user %></div>'
202
+
203
+ if mode == "CGI" || mode == "CMD"
204
+ if mode == "CGI"
205
+ print %Q[Content-type:text/html\n\n
206
+ <html>
207
+ <head>
208
+ <title>Squeeze for tDiary</title>
209
+ <link href="./theme/default/default.css" type="text/css" rel="stylesheet"/>
210
+ </head>
211
+ <body><div style="text-align:center">
212
+ <h1>Squeeze for tDiary</h1>
213
+ <p>$Revision: 1.25 $</p>
214
+ <p>Copyright (C) 2002 MUTOH Masao&lt;mutoh@highway.ne.jp&gt;</p></div>
215
+ <br><br>Start!</p><hr>
216
+ ]
217
+ end
218
+
219
+ begin
220
+ require 'cgi'
221
+ cgi = CGI.new
222
+ def cgi.user_agent; 'bot'; end
223
+ conf = TDiary::Config::new(cgi)
224
+ conf.header = ''
225
+ conf.footer = squeeze_navi_on_footer
226
+ conf.show_comment = true
227
+ conf.hide_comment_form = true
228
+ output_path = "#{conf.data_path}/cache/html" unless output_path
229
+ Dir.mkdir(output_path, 0755) unless File.directory?(output_path)
230
+ ::TDiary::YATDiarySqueezeMain.new(output_path, all_data, overwrite, compat, conf, suffix)
231
+ rescue
232
+ print $!, "\n"
233
+ $@.each do |v|
234
+ print v, "\n"
235
+ end
236
+ exit( 1 )
237
+ end
238
+
239
+ if mode == "CGI"
240
+ print "<hr><p>End!</p></body></html>\n"
241
+ else
242
+ print "\n\n"
243
+ end
244
+ else
245
+ add_update_proc do
246
+ conf = @conf.clone
247
+ conf.header = ''
248
+ conf.footer = squeeze_navi_on_footer
249
+ conf.show_comment = true
250
+ conf.hide_comment_form = true
251
+
252
+ diary = @diaries[@date.strftime('%Y%m%d')]
253
+ dir = @options['squeeze.output_path'] || @options['yasqueeze.output_path']
254
+ dir = @cache_path + "/html" unless dir
255
+ Dir.mkdir(dir, 0755) unless File.directory?(dir)
256
+ ::TDiary::YATDiarySqueeze.new(diary, dir,
257
+ @options['squeeze.all_data'] || @options['yasqueeze.all_data'],
258
+ @options['squeeze.overwrite'],
259
+ @options['squeeze.compat_path'] || @options['yasqueeze.compat_path'],
260
+ conf,
261
+ @options['squeeze.suffix'] || ''
262
+ ).execute
263
+ end
264
+ end
265
+ end
266
+
267
+ # Local Variables:
268
+ # mode: ruby
269
+ # indent-tabs-mode: t
270
+ # tab-width: 3
271
+ # ruby-indent-level: 3
272
+ # End:
@@ -0,0 +1,30 @@
1
+ # -*- coding: utf-8 -*-
2
+ # src.rb
3
+ #
4
+ # src: 外部ファイルを挿入する(HTMLエスケープ付き)
5
+ # パラメタ:
6
+ # file: ファイル名
7
+ #
8
+ # Copyright (c) 2005 TADA Tadashi <sho@spc.gr.jp>
9
+ # You can distribute this file under the GPL2.
10
+ #
11
+ def src( file )
12
+ h( File::readlines( file ).join )
13
+ end
14
+
15
+ #
16
+ # src_inline: テキストを挿入する(HTMLエスケープ付き)
17
+ #
18
+ # パラメタ: テキスト文字列
19
+ #
20
+ def src_inline( str )
21
+ h( str )
22
+ end
23
+
24
+
25
+ # Local Variables:
26
+ # mode: ruby
27
+ # indent-tabs-mode: t
28
+ # tab-width: 3
29
+ # ruby-indent-level: 3
30
+ # End:
@@ -0,0 +1,212 @@
1
+ # tb-show.rb
2
+ #
3
+ # functions:
4
+ # * show TrackBack ping URL in right of TSUKKOMI label.
5
+ # * hide TrackBacks in TSUKKOMI.
6
+ # * show TrackBacks above Today's Links.
7
+ #
8
+ # options:
9
+ # @options['tb.cgi']:
10
+ # the TrackBack ping URL. './tb.rb' is default.
11
+ # @options['tb.hide_if_no_tb']:
12
+ # If true, hide 'TrackBacks(n)' when there is no TrackBacks. Default value is false.
13
+ #
14
+ # Copyright (c) 2003 TADA Tadashi <sho@spc.gr.jp>
15
+ # You can distribute this file under the GPL.
16
+ #
17
+ # Modified: by Junichiro Kita <kita@kitaj.no-ip.com>
18
+ #
19
+ #
20
+ # If you want to show TrackBack Ping URL under comment_new link, try this.
21
+ #
22
+ # alias :comment_new_tb_backup :comment_new
23
+ # def comment_new
24
+ # cgi = @options['tb.cgi'] || './tb.rb'
25
+ # url = "#{cgi}/#{@tb_date.strftime( '%Y%m%d' )}"
26
+ # %Q|#{comment_new_tb_backup }</a>]<br>[TrackBack to <a href="#{@tb_url}">#{@tb_url}|
27
+ # end
28
+ #
29
+
30
+ # running on only non mobile mode
31
+ unless @cgi.mobile_agent? then
32
+
33
+ #
34
+ # show TrackBack ping URL
35
+ #
36
+ add_body_enter_proc do |date|
37
+ cgi = File.basename(@options['tb.cgi'] || './tb.rb')
38
+ @tb_date = date
39
+ @tb_id_url = %Q|#{@index}#{anchor( @tb_date.strftime('%Y%m%d') )}|
40
+ @tb_id_url[0, 0] = base_url if %r|^https?://|i !~ @conf.index
41
+ @tb_id_url.gsub!( %r|/\./|, '/' )
42
+ @tb_url = %Q|#{base_url}#{cgi}/#{@tb_date.strftime('%Y%m%d')}|
43
+ ''
44
+ end
45
+
46
+ #
47
+ # make RDF
48
+ #
49
+ if @mode == 'day' and not bot? then
50
+ add_body_leave_proc do |date|
51
+ if @tb_url and @diaries[@tb_date.strftime('%Y%m%d')] then
52
+ <<-TBRDF
53
+ <!--
54
+ <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
55
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
56
+ xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
57
+ <rdf:Description
58
+ rdf:about="#{h @tb_id_url}"
59
+ dc:identifier="#{h @tb_id_url}"
60
+ dc:title="#{h( apply_plugin( @diaries[@tb_date.strftime('%Y%m%d')].title, true ) ).gsub(/-{2,}/) {'&#45;' * $&.size}}"
61
+ trackback:ping="#{@tb_url}" />
62
+ </rdf:RDF>
63
+ -->
64
+ TBRDF
65
+ else
66
+ ''
67
+ end
68
+ end
69
+ end
70
+
71
+ #
72
+ # hide TrackBacks in TSUKKOMI
73
+ #
74
+ eval( <<MODIFY_CLASS, TOPLEVEL_BINDING )
75
+ module TDiary
76
+ class Comment
77
+ def visible_true?
78
+ @show
79
+ end
80
+ #{if @mode !~ /^(form|edit|comment|showcomment|trackbackreceive)$/ then
81
+ 'def visible?
82
+ @show and /^(TrackBack|Pingback)$/ !~ name
83
+ end'
84
+ else
85
+ 'def visible?; @show; end'
86
+ end}
87
+ end
88
+ end
89
+ MODIFY_CLASS
90
+
91
+ #
92
+ # insert TrackBacks above Today's Link.
93
+ #
94
+ alias :referer_of_today_short_tb_backup :referer_of_today_short
95
+ def referer_of_today_short( diary, limit )
96
+ r = referer_of_today_short_tb_backup( diary, limit )
97
+ return r unless @plugin_files.grep(/blog_style.rb\z/).empty?
98
+ if diary and !bot? and
99
+ @conf['trackback_shortview_mode'] == "num_in_reflist" then
100
+ count = 0
101
+ diary.each_visible_trackback {|t,count|} # count up
102
+ r << %Q|<a href="#{h @index}#{anchor @tb_date.strftime( '%Y%m%d' )}#t">TrackBack#{'s' if count > 1}(#{count})</a>| unless count == 0 and @conf['tb.hide_if_no_tb']
103
+ end
104
+ r
105
+ end
106
+
107
+ def trackbacks_of_today_short( diary, limit = @conf['trackback_limit'] || 3 )
108
+ is_blog_style = !@plugin_files.grep(/blog_style.rb\z/).empty?
109
+ return unless is_blog_style || !diary.nil? &&
110
+ (@conf['trackback_shortview_mode'] == "shortlist" ||
111
+ @conf['trackback_disp_pingurl'])
112
+ fragment = 't%02d'
113
+ today = anchor( diary.date.strftime( '%Y%m%d' ) )
114
+ count = 0
115
+ diary.each_visible_trackback( -1 ) {|t,count|} # count up
116
+ r = ''
117
+ r << %Q!\t<div class="comment trackbacks">\n!
118
+
119
+ r << %Q!\t\t<div class="caption">\n!
120
+ r << %Q!\t\t\t#{trackback_today}#{trackback_total( count )}\n! if count > 0 && (is_blog_style || @conf['trackback_shortview_mode'] == "shortlist")
121
+ r << %Q!\t\t</div>\n!
122
+ return r << %Q!\t</div>\n! unless is_blog_style || @conf['trackback_shortview_mode'] == "shortlist"
123
+
124
+ r << %Q!\t\t<div class="commentshort trackbackshort">\n!
125
+ r << %Q!\t\t\t<p><a href="#{h @index}#{today}#t01">Before...</a></p>\n! if count > limit
126
+
127
+ diary.each_visible_trackback_tail( limit ) do |t,i|
128
+ url, name, title, excerpt = t.body.split( /\n/,4 )
129
+ a = name || url
130
+ a += ':' + title if title &&! title.empty?
131
+
132
+ r << %Q!\t\t\t<p>\n!
133
+ r << %Q!\t\t\t\t<a href="#{h @index}#{today}##{fragment % i}">#{@conf['trackback_anchor']}</a>\n!
134
+ r << %Q!\t\t\t\t<span class="commentator blog"><a href="#{h url}">#{h a}</a></span>\n!
135
+ r << %Q!\t\t\t\t#{h @conf.shorten( excerpt, @conf.comment_length )} \n! if excerpt
136
+ r << %Q!\t\t\t</p>\n!
137
+ end
138
+ r << %Q!\t\t</div>\n!
139
+ r << %Q!\t</div>\n!
140
+ r
141
+ end
142
+
143
+ def trackbacks_of_today_long( diary, limit = -1 )
144
+ count = 0
145
+ diary.each_visible_trackback( limit ) {|t,count|} # count up
146
+ fragment = 't%02d'
147
+ today = anchor( @date.strftime( '%Y%m%d' ) )
148
+
149
+ r = ''
150
+ r << %Q!\t<div class="comment trackbacks">\n!
151
+
152
+ r << %Q!\t\t<div class="caption">\n!
153
+ r << %Q!\t\t\t#{trackback_today}#{trackback_total( count )}\n! if count > 0
154
+ r << %Q!\t\t</div>\n!
155
+
156
+ r << %Q!\t\t<div class="commentbody trackbackbody">\n!
157
+ diary.each_visible_trackback( limit ) do |t,i|
158
+ url, name, title, excerpt = t.body.split( /\n/,4 )
159
+ a = (name and name.length > 0) ? name : url
160
+ a += ':' + title if title &&! title.empty?
161
+ f = fragment % i
162
+ excerpt = excerpt || ''
163
+ if excerpt.length > 255
164
+ excerpt = @conf.shorten( excerpt, 252 )
165
+ end
166
+
167
+ r << %Q!\t\t\t<div class="commentator trackback">\n!
168
+ r << %Q!\t\t\t\t<a name="#{f}" href="#{h @index}#{today}##{f}">#{@conf['trackback_anchor']}</a>\n!
169
+ if bot? then
170
+ r << %Q!\t\t\t\t<span class="commentator trackbackblog">#{h a}</span>\n!
171
+ else
172
+ r << %Q!\t\t\t\t<span class="commentator trackbackblog"><a href="#{h url}">#{h a}</a></span>\n!
173
+ end
174
+ r << %Q!\t\t\t\t<span class="commenttime trackbacktime">#{comment_date( t.date )}</span>\n!
175
+ r << %Q!\t\t\t</div>\n!
176
+ r << %Q!\t\t\t<p>#{h( excerpt ).strip.gsub( /\n/,'<br>')}</p>\n! if excerpt
177
+ end
178
+ r << %Q!\t\t</div>\n!
179
+ r << %Q!\t</div>\n!
180
+ r
181
+ end
182
+
183
+ # running on only non mobile mode
184
+ end # unless mobile_agent?
185
+
186
+ # configurations
187
+ @conf['trackback_anchor'] ||= @conf.comment_anchor
188
+ @conf['trackback_limit'] ||= @conf.comment_limit
189
+
190
+ add_conf_proc( 'tb-show', 'TrackBack', 'tsukkomi' ) do
191
+ if @mode == 'saveconf' then
192
+ @conf['trackback_anchor'] = @conf.to_native( @cgi.params['trackback_anchor'][0] )
193
+ @conf['trackback_shortview_mode'] = @cgi.params['trackback_shortview_mode'][0]
194
+ if @conf['trackback_shortview_mode'] == "num_in_reflist_if_exists"
195
+ @conf['tb.hide_if_no_tb'] = true
196
+ @conf['trackback_shortview_mode'] = "num_in_reflist"
197
+ elsif @conf['trackback_shortview_mode'] == "num_in_reflist"
198
+ @conf['tb.hide_if_no_tb'] = false
199
+ end
200
+ @conf['trackback_limit'] = @cgi.params['trackback_limit'][0].to_i
201
+ @conf['trackback_limit'] = 3 if @conf['trackback_limit'] < 1
202
+ @conf['trackback_disp_pingurl'] = @cgi.params['trackback_disp_pingurl'][0] == "true" ? true : false
203
+ end
204
+ tb_show_conf_html
205
+ end
206
+
207
+ # Local Variables:
208
+ # mode: ruby
209
+ # indent-tabs-mode: t
210
+ # tab-width: 3
211
+ # ruby-indent-level: 3
212
+ # End: