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,17 @@
1
+ amazonimg.rb
2
+
3
+ This CGI script is getting image URLs of items in Amazon by ASIN.
4
+ On tDiary running on secure mode, you cannot use amazon.rb plugin.
5
+ But if use this script, you can get images.
6
+
7
+ How to use:
8
+
9
+ * modify settings of amazonimg.rb. see header of this script.
10
+ * You MUST set @cache_path. Make executable by Web server.
11
+ * If you have Amazon Associate ID, set @amazon_aid.
12
+ * and see comments other variables.
13
+
14
+ * Copy amazonimg.rb under place to be able to run by CGI.
15
+
16
+ * add script URL to @options['amazon.secure-cgi'] in your tdiary.conf
17
+ it running on secure mode (@secure = true).
@@ -0,0 +1,29 @@
1
+ amazonimg.rb
2
+
3
+ セキュアモードでは、isbnプラグインしか使えないamazon.rbですが、
4
+ 以下の条件を満たした場合にはisbn_image系プラグインを使えるように
5
+ なります。
6
+
7
+ * 第二引数の「label」を常に指定する
8
+ * tdiary.confの@options['amazon.secure-cgi']を指定する
9
+
10
+ 2番目のamazon.secure-cgiに指定するためのCGIスクリプトが、この
11
+ amazonimg.rbです。amazonimg.rbは、指定されたASINを元に書影のURLを
12
+ 取得してリダイレクトするスクリプトです。amazon.rbはamazonimg.rbへ
13
+ のURLをimgタグに埋め込むことで、日記に書影を埋め込みます。
14
+
15
+ 使い方は以下の通りです:
16
+
17
+ * amazonimg.rbの冒頭部分にある各種設定を、環境に合わせて変更します
18
+ * 特に@cache_pathは必須です。Webサーバから書き込める権限に
19
+ したディレクトリを指定します
20
+ * Amazonアソシエイトを契約している場合には、@amazon_aidも指定し
21
+ てください
22
+ * そのほかの設定はコメントを参照してください
23
+
24
+ * amazonimg.rbをCGIとして実行できる場所にコピーし、Webサーバから実
25
+ 行可能にします
26
+
27
+ * セキュアモードで運営しているtDiaryのtdiary.confに、上で設置した
28
+ amazonimg.rbを示すURLを@options['amazon.secure-cgi']に指定します
29
+
@@ -0,0 +1,113 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ # amazonimg.rb : CGI script for tDiary amazon plugin in secure mode.
4
+ #
5
+ # set URL of this script to @options['amazon.secure-cgi'] into tdiary.conf.
6
+ #
7
+ # Copyright (C) 2005 TADA Tadashi <sho@spc.gr.jp>
8
+ # You can redistribute it and/or modify it under GPL2.
9
+ #
10
+
11
+ ### modify settings below ###
12
+ @cache_path = 'SPECIFY YOUR CACHE PATH' # directory for saving cache files
13
+ @proxy = nil # URL of HTTP proxy server if you need
14
+ @amazon_aid = 'cshs-22' # Amazon Association ID
15
+ @amazon_url = 'http://www.amazon.co.jp/exec/obidos/ASIN'
16
+ # URL of items in amazon
17
+ @amazon_ecs_url = 'http://honnomemo.appspot.com/rpaproxy/jp/'
18
+ # URL of Amazon ECS service
19
+ #############################
20
+
21
+ #--- for test settings ---
22
+ #@cache_path = '/tmp/amazon_test_cache'
23
+ #@proxy = 'http://localhost:10080'
24
+ #-------------------------
25
+
26
+ ### do not change these variables ###
27
+ @amazon_subscription_id = '1CVA98NEF1G753PFESR2'
28
+ @amazon_require_version = '2005-07-26'
29
+ #####################################
30
+
31
+ @amazon_url_hash = {
32
+ 'us' => 'http://www.amazon.com/exec/obidos/ASIN',
33
+ 'jp' => 'http://www.amazon.co.jp/exec/obidos/ASIN',
34
+ 'fr' => 'http://www.amazon.fr/exec/obidos/ASIN',
35
+ 'uk' => 'http://www.amazon.co.uk/exec/obidos/ASIN',
36
+ 'de' => 'http://www.amazon.de/exec/obidos/ASIN',
37
+ 'ca' => 'http://www.amazon.ca/exec/obidos/ASIN',
38
+ nil => @amazon_url
39
+ }
40
+
41
+ @amazon_ecs_url_hash = {
42
+ 'us' => 'http://honnomemo.appspot.com/rpaproxy/us/',
43
+ 'jp' => 'http://honnomemo.appspot.com/rpaproxy/jp/',
44
+ 'fr' => 'http://honnomemo.appspot.com/rpaproxy/fr/',
45
+ 'uk' => 'http://honnomemo.appspot.com/rpaproxy/uk/',
46
+ 'de' => 'http://honnomemo.appspot.com/rpaproxy/de/',
47
+ 'ca' => 'http://honnomemo.appspot.com/rpaproxy/ca/',
48
+ nil => @amazon_ecs_url
49
+ }
50
+
51
+ require 'cgi'
52
+ require 'open-uri'
53
+ require 'timeout'
54
+ autoload :REXML, 'rexml/document'
55
+
56
+ def amazon_call_ecs( asin, country = nil )
57
+ aid = @amazon_aid || 'cshs-22'
58
+
59
+ url = @amazon_ecs_url_hash[country].dup
60
+ url << "?Service=AWSECommerceService"
61
+ url << "&SubscriptionId=#{@amazon_subscription_id}"
62
+ url << "&AssociateTag=#{aid}"
63
+ url << "&Operation=ItemLookup"
64
+ url << "&ItemId=#{asin}"
65
+ url << "&ResponseGroup=Medium"
66
+ url << "&Version=#{@amazon_require_version}"
67
+
68
+ timeout( 10 ) do
69
+ open( url, :proxy => @proxy ) {|f| f.read}
70
+ end
71
+ end
72
+
73
+ def amazon_redirect( cgi, asin, size, country = nil )
74
+ begin
75
+ xml = File::read( "#{@cache_path}/#{country}#{asin}.xml" )
76
+ rescue Errno::ENOENT
77
+ xml = amazon_call_ecs( asin, country )
78
+ Dir::mkdir( @cache_path ) unless File::directory?( @cache_path )
79
+ File::open( "#{@cache_path}/#{country}#{asin}.xml", 'wb' ) {|f| f.write( xml )}
80
+ end
81
+ doc = REXML::Document::new( xml ).root
82
+ item = doc.elements.to_a( '*/Item' )[0]
83
+ s = case size
84
+ when 0; 'Large'
85
+ when 2; 'Small'
86
+ else ; 'Medium'
87
+ end
88
+ begin
89
+ img_url = item.elements.to_a( "#{s}Image/URL" )[0].text
90
+ rescue
91
+ img_url = "http://www.tdiary.org/images/amazondefaults/#{s.downcase}.png"
92
+ end
93
+ print cgi.header( {'Location' => img_url} )
94
+ end
95
+
96
+ cgi = CGI::new
97
+ asin, = cgi.params['asin']
98
+ size, = cgi.params['size']
99
+ country, = cgi.params['country']
100
+ if asin && /\A[0-9A-Z]{10}\z/ =~ asin then
101
+ size = '1' if !size or size.length == 0
102
+ country = nil unless /\A[a-z]+\z/ =~ country
103
+ amazon_redirect( cgi, asin.untaint, size.to_i, country.untaint )
104
+ else
105
+ puts "Content-Type: text/plain\n\nBAD REQUEST\nasin:#{CGI::escapeHTML(asin)}\nsize:#{CGI::escapeHTML(size)}"
106
+ end
107
+
108
+ # Local Variables:
109
+ # mode: ruby
110
+ # indent-tabs-mode: t
111
+ # tab-width: 3
112
+ # ruby-indent-level: 3
113
+ # End:
Binary file
Binary file
Binary file
@@ -0,0 +1,51 @@
1
+ # -*- coding: utf-8 -*-
2
+ # append-css.rb
3
+ #
4
+ # Append CSS fragment via Preferences Page.
5
+ #
6
+ # Copyright (c) 2002 TADA Tadashi <sho@spc.gr.jp>
7
+ # Distributed under the GPL
8
+ #
9
+ add_header_proc do
10
+ if @mode !~ /conf$/ && @conf['append-css.css'] && @conf['append-css.css'].length > 0 && !bot?
11
+ <<-HTML if @conf['append-css.css']
12
+ <style type="text/css"><!--
13
+ #{@conf['append-css.css']}
14
+ --></style>
15
+ HTML
16
+ else
17
+ ''
18
+ end
19
+ end
20
+
21
+ unless @resource_loaded
22
+ def append_css_label
23
+ 'CSSの追加'
24
+ end
25
+
26
+ def append_css_desc
27
+ <<-HTML
28
+ <h3>CSS断片</h3>
29
+ <p>現在指定してあるテーマに、スタイルシートを追加設定する場合、
30
+ 以下にCSSの断片を入力してください。</p>
31
+ HTML
32
+ end
33
+ end
34
+
35
+ add_conf_proc( 'append-css', append_css_label, 'theme' ) do
36
+ if @mode == 'saveconf'
37
+ @conf['append-css.css'] = @cgi.params['append-css.css'][0]
38
+ end
39
+
40
+ <<-HTML
41
+ #{append_css_desc}
42
+ <p><textarea name="append-css.css" cols="60" rows="15">#{h @conf['append-css.css']}</textarea></p>
43
+ HTML
44
+ end
45
+
46
+ # Local Variables:
47
+ # mode: ruby
48
+ # indent-tabs-mode: t
49
+ # tab-width: 3
50
+ # ruby-indent-level: 3
51
+ # End:
data/misc/plugin/bq.rb ADDED
@@ -0,0 +1,48 @@
1
+ # -*- coding: utf-8 -*-
2
+ # bq.rb
3
+ #
4
+ # bq: blockquoteを使った引用を生成する
5
+ # パラメタ:
6
+ # src: 引用するテキスト
7
+ # title: 引用元のタイトル
8
+ # url: 引用元のURL
9
+ #
10
+ # 引用元タイトルをうまく表示するには、スタイルシートでp.sourceを
11
+ # 定義する必要があります。スタイルの例:
12
+ #
13
+ # p.source {
14
+ # margin-top: 0.3em;
15
+ # text-align: right;
16
+ # font-size: 90%;
17
+ # }
18
+ #
19
+ # Copyright (C) 2002 s.sawada <moonwave@ba2.so-net.ne.jp>
20
+ # You can redistribute it and/or modify it under GPL2.
21
+ #
22
+ def bq( src, title = nil, url = nil )
23
+ if url
24
+ result = %Q[<blockquote cite="#{h url}" title="#{h title}">\n]
25
+ elsif title
26
+ result = %Q[<blockquote title="#{h title}">\n]
27
+ else
28
+ result = %Q[<blockquote>\n]
29
+ end
30
+ result << %Q[<p>#{src.gsub( /\n/, "</p>\n<p>" )}</p>\n].sub( %r[<p></p>], '' )
31
+ result << %Q[</blockquote>\n]
32
+ if url
33
+ cite = %Q[<cite><a href="#{h url}" title="#{h bq_cite_from( title )}">#{title}</a></cite>]
34
+ result << %Q[<p class="source">[#{bq_cite_from cite}]</p>\n]
35
+ elsif title
36
+ cite = %Q[<cite>#{title}</cite>]
37
+ result << %Q[<p class="source">[#{bq_cite_from cite}]</p>\n]
38
+ end
39
+
40
+ result
41
+ end
42
+
43
+ # Local Variables:
44
+ # mode: ruby
45
+ # indent-tabs-mode: t
46
+ # tab-width: 3
47
+ # ruby-indent-level: 3
48
+ # End:
@@ -0,0 +1,184 @@
1
+ # calendar2.rb
2
+ #
3
+ # calendar2: add calendar as table layout.
4
+ # parameter:
5
+ # days_format: Array of weekday name stats with Sunday. (optional)
6
+ # navi_format: Array of navigation label on top of calendar. (optional)
7
+ # show_todo: You can write todo list into future diary as hidden with a
8
+ # subtitle. if calendar2 find this parameter string in future
9
+ # diary, it popup your todo. (optional)
10
+ #
11
+ # options:
12
+ # calendar2.show_image: true or false. show a image that makes by image.rb
13
+ # on each date. default is falase, and use only non secure mode.
14
+ # and if you want to change image size, add CSS to your theme.
15
+ # for example (25x25 pixel image):
16
+ #
17
+ # td.calendar-day img {
18
+ # width: 25px;
19
+ # height: 25px;
20
+ # border: 0;
21
+ # }
22
+ #
23
+ # Copyright (c) 2001,2002 Junichiro KITA <kita@kitaj.no-ip.com>
24
+ # Distributed under the GPL
25
+ #
26
+ @calendar2_image_dir = @options && @options['image.dir'] || './images/'
27
+ @calendar2_image_dir.chop! if /\/$/ =~ @calendar2_image_dir
28
+ @calendar2_image_url = @options && @options['image.url'] || "#{base_url}images/"
29
+ @calendar2_image_url.chop! if /\/$/ =~ @calendar2_image_url
30
+ @calendar2_imageex_yearlydir = @options && @options['image_ex.yearlydir'] || 0
31
+ @calendar2_show_image = @options && @options['calendar2.show_image'] || false
32
+
33
+ def calendar2_make_cal(year, month)
34
+ result = []
35
+ t = Time.local(year, month, 1)
36
+ r = Array.new(t.wday, nil)
37
+ r << 1
38
+ 2.upto(31) do |i|
39
+ break if Time.local(year, month, i).month != month
40
+ r << i
41
+ end
42
+ r += Array.new((- r.size) % 7, nil)
43
+ 0.step(r.size - 1, 7) do |i|
44
+ result << r[i, 7]
45
+ end
46
+ result
47
+ end
48
+
49
+ def calendar2_prev_current_next
50
+ yyyymm = if /^(latest|search)$/ =~ @mode
51
+ Time.now
52
+ else
53
+ @date
54
+ end.strftime "%Y%m"
55
+ yms = [yyyymm]
56
+ @years.keys.each do |y|
57
+ yms |= @years[y].collect {|i| y + i}
58
+ end
59
+ yms.sort!
60
+ yms.unshift nil
61
+ yms.push nil
62
+ i = yms.index(yyyymm)
63
+ yms[i - 1, 3]
64
+ end
65
+
66
+ def calendar2_make_anchor(ym, str)
67
+ if ym
68
+ %Q|<a href="#{h @index}#{anchor ym}">#{str}</a>|
69
+ else
70
+ str
71
+ end
72
+ end
73
+
74
+ def calender2_make_image(diary, date)
75
+ f_list = []
76
+
77
+ /[^_]image(?:_left|_right|_gps)?\s*\(?\s*([0-9]*)\s*\,?\s*'[^']*'/ =~ diary.to_s
78
+ if $1 == nil
79
+ return nil
80
+ end
81
+
82
+ image_dir = (@calendar2_imageex_yearlydir == 0 ? @calendar2_image_dir : %Q|#{@calendar2_image_dir}/#{date[0,4]}|)
83
+ image_url = (@calendar2_imageex_yearlydir == 0 ? @calendar2_image_url : %Q|#{@calendar2_image_url}/#{date[0,4]}|)
84
+
85
+ f_list = Dir.glob(%Q|#{image_dir}/#{date}_#{$1}*|.untaint)
86
+ if f_list[0]
87
+ file = File.basename(f_list[0])
88
+ file = %Q|s#{file}| if File.exist?(%Q|#{image_dir}/s#{file}|.untaint)
89
+ %Q|<img src="#{image_url}/#{file}">|
90
+ else
91
+ nil
92
+ end
93
+ end
94
+
95
+ def calendar2(days_format = nil, navi_format = nil, show_todo = nil)
96
+ days_format ||= @calendar2_days_format
97
+ navi_format ||= @calendar2_navi_format
98
+
99
+ return '' if /TAMATEBAKO/ =~ @cgi.user_agent
100
+ date = if /^(latest|search)$/ =~ @mode
101
+ Time.now
102
+ else
103
+ @date
104
+ end
105
+ year = date.year
106
+ month = date.month
107
+ p_c_n = calendar2_prev_current_next
108
+
109
+ result = <<CALENDAR_HEAD
110
+ <table class="calendar" summary="calendar">
111
+ <tr>
112
+ <td class="image" colspan="7"></td>
113
+ </tr>
114
+ <tr>
115
+ <td class="calendar-prev-month" colspan="2">#{calendar2_make_anchor(p_c_n[0], navi_format[0] % [year, month])}</td>
116
+ <td class="calendar-current-month" colspan="3">#{calendar2_make_anchor(p_c_n[1], navi_format[1] % [year, month])}</td>
117
+ <td class="calendar-next-month" colspan="2">#{calendar2_make_anchor(p_c_n[2], navi_format[2] % [year, month])}</td>
118
+ </tr>
119
+ CALENDAR_HEAD
120
+ result << "<tr>"
121
+ result << %Q| <td class="calendar-sunday">#{days_format[0]}</td>\n|
122
+ 1.upto(5) do |i|
123
+ result << %Q| <td class="calendar-weekday">#{days_format[i]}</td>\n|
124
+ end
125
+ result << %Q| <td class="calendar-saturday">#{days_format[6]}</td>\n|
126
+ result << "</tr>\n"
127
+ calendar2_make_cal(year, month).each do |week|
128
+ result << "<tr>\n"
129
+ week.each do |day|
130
+ if day == nil
131
+ result << %Q| <td class="calendar-day"></td>\n|
132
+ else
133
+ date = "%04d%02d%02d" % [year, month, day]
134
+ result << %Q| <td class="calendar-day">%s</td>\n| %
135
+ if @diaries[date] == nil
136
+ day.to_s
137
+ elsif ! @diaries[date].visible?
138
+ if show_todo
139
+ todos = []
140
+ @diaries[date].each_section do |section|
141
+ if show_todo === section.subtitle
142
+ todos << section.body
143
+ end
144
+ end
145
+ if todos.size != 0
146
+ %Q|<a title="#{h todos.join( "\n" )}"><span class="calendar-todo">#{day}</span></a>|
147
+ else
148
+ day.to_s
149
+ end
150
+ else
151
+ day.to_s
152
+ end
153
+ else
154
+ subtitles = []
155
+ idx = "01"
156
+ @diaries[date].each_section do |section|
157
+ if section.subtitle
158
+ text = section.subtitle_to_html
159
+ else
160
+ text = section.body_to_html
161
+ end
162
+ subtitles << h( %Q|#{idx}. #{@conf.shorten(apply_plugin( text, true ))}| )
163
+ idx.succ!
164
+ end
165
+ day_img = ((@calendar2_show_image and !@conf.secure) ? calender2_make_image(@diaries[date], date) : day.to_s)
166
+ day_img = day.to_s if day_img == nil
167
+ %Q|<a href="#{h @index}#{anchor date}" title="#{subtitles.join("&#13;&#10;")}">#{day_img}</a>|
168
+ end
169
+ end
170
+ end
171
+ result << "</tr>\n"
172
+ end
173
+ result << "</table>\n"
174
+ end
175
+
176
+ #@calendar2_cache = CacheMonth.new(@date, :calender2, method(:calendar2))
177
+ #add_update_proc @calendar2_cache.writer
178
+
179
+ # Local Variables:
180
+ # mode: ruby
181
+ # indent-tabs-mode: t
182
+ # tab-width: 3
183
+ # ruby-indent-level: 3
184
+ # End: