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,29 @@
1
+ # -*- coding: utf-8 -*-
2
+ # stolen from okkez http://github.com/hiki/hiki/blob/rack/hiki/response.rb
3
+ module TDiary
4
+ if Object.const_defined?(:Rack)
5
+ Response = ::Rack::Response
6
+ else
7
+ class Response
8
+ attr_reader :body, :status, :headers
9
+ def initialize(body = [], status = 200, headers = {}, &block)
10
+ @body = body
11
+ @status = status
12
+ @headers = headers
13
+ yield self if block_given?
14
+ end
15
+
16
+ def finish
17
+ [status, headers, body]
18
+ end
19
+ alias to_a finish
20
+ end
21
+ end
22
+ end
23
+
24
+ # Local Variables:
25
+ # mode: ruby
26
+ # indent-tabs-mode: t
27
+ # tab-width: 3
28
+ # ruby-indent-level: 3
29
+ # End:
data/tdiary/server.rb ADDED
@@ -0,0 +1,85 @@
1
+ # -*- coding: utf-8; -*-
2
+ #
3
+ # server.rb: standalone tdiary cgi server via WEBrick.
4
+ #
5
+ # Copyright (C) 2008-2010, Kakutani Shintaro <shintaro@kakutani.com>
6
+ # You can redistribute it and/or modify it under GPL2.
7
+
8
+ module TDiary
9
+ class Server
10
+ require 'webrick'
11
+ require 'webrick/httpservlet/cgihandler'
12
+ require 'webrick/httputils'
13
+ require 'webrick/accesslog'
14
+ require 'tempfile'
15
+
16
+ class << self
17
+ def run( option )
18
+ @@server = new( option )
19
+
20
+ trap( "INT" ) { @@server.shutdown }
21
+ trap( "TERM" ) { @@server.shutdown }
22
+
23
+ @@server.start
24
+ end
25
+
26
+ def stop
27
+ @@server.shutdown
28
+ end
29
+ end
30
+
31
+ def initialize( opts )
32
+ @server = WEBrick::HTTPServer.new(
33
+ :Port => opts[:port], :BindAddress => opts[:bind],
34
+ :DocumentRoot => TDiary.root,
35
+ :MimeTypes => tdiary_mime_types,
36
+ :Logger => webrick_logger_to( opts[:logger] ),
37
+ :AccessLog => webrick_access_log_to( opts[:access_log] ),
38
+ :ServerType => opts[:daemon] ? WEBrick::Daemon : nil,
39
+ :CGIInterpreter => WEBrick::HTTPServlet::CGIHandler::Ruby
40
+ )
41
+ @server.logger.level = WEBrick::Log::DEBUG
42
+ @server.mount("/", WEBrick::HTTPServlet::CGIHandler, TDiary.root + "/index.rb")
43
+ @server.mount("/index.rb", WEBrick::HTTPServlet::CGIHandler, TDiary.root + '/index.rb')
44
+ @server.mount("/update.rb", WEBrick::HTTPServlet::CGIHandler, TDiary.root + "/update.rb")
45
+ @server.mount("/theme", WEBrick::HTTPServlet::FileHandler, TDiary.root + '/theme')
46
+ @server.mount("/js", WEBrick::HTTPServlet::FileHandler, TDiary.root + '/js')
47
+ end
48
+
49
+ def start
50
+ @server.start
51
+ end
52
+
53
+ def shutdown
54
+ @server.shutdown
55
+ end
56
+
57
+ private
58
+
59
+ def tdiary_mime_types
60
+ WEBrick::HTTPUtils::DefaultMimeTypes.merge( {
61
+ "rdf" => "application/xml",
62
+ } )
63
+ end
64
+
65
+ def webrick_logger_to( io )
66
+ io ||= Tempfile.new( "webrick_logger" )
67
+ WEBrick::Log::new( io, WEBrick::Log::DEBUG )
68
+ end
69
+
70
+ def webrick_access_log_to( io )
71
+ io ||= Tempfile.new( "webrick_access_log" )
72
+ [
73
+ [ io, WEBrick::AccessLog::COMMON_LOG_FORMAT ],
74
+ [ io, WEBrick::AccessLog::REFERER_LOG_FORMAT ]
75
+ ]
76
+ end
77
+ end
78
+ end
79
+
80
+ # Local Variables:
81
+ # mode: ruby
82
+ # indent-tabs-mode: t
83
+ # tab-width: 3
84
+ # ruby-indent-level: 3
85
+ # End:
data/tdiary/style.rb ADDED
@@ -0,0 +1,194 @@
1
+ # -*- coding: utf-8 -*-
2
+ module TDiary
3
+ #
4
+ # module SectionBase
5
+ # Base module of Section.
6
+ #
7
+ module SectionBase
8
+
9
+ attr_reader :subtitle, :author
10
+ attr_reader :categories, :stripped_subtitle
11
+ attr_reader :subtitle_to_html, :stripped_subtitle_to_html, :body_to_html
12
+
13
+ def body
14
+ @body.dup
15
+ end
16
+
17
+ def body=(str)
18
+ @body = str
19
+ end
20
+
21
+ def html4(date, idx, opt)
22
+ r = %Q[<div class="section">\n]
23
+ r << %Q[<%=section_enter_proc( Time.at( #{date.to_i} ) )%>\n]
24
+ r << do_html4( date, idx, opt )
25
+ r << %Q[<%=section_leave_proc( Time.at( #{date.to_i} ) )%>\n]
26
+ r << "</div>\n"
27
+ end
28
+
29
+ def chtml(date, idx, opt)
30
+ r = %Q[<%=section_enter_proc( Time.at( #{date.to_i} ) )%>\n]
31
+ r << do_html4( date, idx, opt )
32
+ r << %Q[<%=section_leave_proc( Time.at( #{date.to_i} ) )%>\n]
33
+ end
34
+
35
+ def to_s
36
+ to_src
37
+ end
38
+
39
+ def categories_to_string
40
+ @categories = categories
41
+ cat_str = ""
42
+ categories.each {|cat| cat_str << "[#{cat}]"}
43
+ cat_str << " " unless cat_str.empty?
44
+ end
45
+ end
46
+
47
+ #
48
+ # module DiaryBase
49
+ # Base module of Diary.
50
+ #
51
+ module DiaryBase
52
+ include ERB::Util
53
+ include CommentManager
54
+ include RefererManager
55
+
56
+ def init_diary
57
+ init_comments
58
+ init_referers
59
+ @show = true
60
+ end
61
+
62
+ def date
63
+ @date
64
+ end
65
+
66
+ def set_date( date )
67
+ if date.class == String then
68
+ y, m, d = date.scan( /^(\d{4})(\d\d)(\d\d)$/ )[0]
69
+ raise ArgumentError::new( 'date string needs YYYYMMDD format.' ) unless y
70
+ @date = Time::local( y, m, d )
71
+ else
72
+ @date = date
73
+ end
74
+ end
75
+
76
+ def title
77
+ @title || ''
78
+ end
79
+
80
+ def set_title( title )
81
+ @title = title
82
+ @last_modified = Time::now
83
+ end
84
+
85
+ def last_modified
86
+ # 日本語を含むツッコミを入れると diary.last_modified が String になる (原因不明)
87
+ # (PStore 保存前は Time だが, 保存後に String となる)
88
+ # 暫定的に String だったら Time へ変換する
89
+ if @last_modified.instance_of? String
90
+ @last_modified = Time.at(0)
91
+ elsif @last_modified
92
+ @last_modified
93
+ else
94
+ Time::at( 0 )
95
+ end
96
+ end
97
+
98
+ def last_modified=( lm )
99
+ @last_modified = lm
100
+ end
101
+
102
+ def visible?
103
+ @show != false;
104
+ end
105
+
106
+ def show( s )
107
+ @show = s
108
+ end
109
+
110
+ def replace(date, title, body)
111
+ set_date( date )
112
+ set_title( title )
113
+ @sections = []
114
+ append( body )
115
+ end
116
+
117
+ def each_section
118
+ @sections.each do |section|
119
+ yield section
120
+ end
121
+ end
122
+
123
+ def delete_section(index)
124
+ @sections.delete_at(index - 1)
125
+ end
126
+
127
+ def eval_rhtml( opt, path = '.' )
128
+ ERB.new(File.read("#{path}/skel/#{opt['prefix']}diary.rhtml").untaint).result(binding)
129
+ end
130
+
131
+ def to_src
132
+ r = ''
133
+ each_section do |section|
134
+ r << section.to_src
135
+ end
136
+ r
137
+ end
138
+
139
+ def to_html( opt = {}, mode = :HTML )
140
+ case mode
141
+ when :CHTML
142
+ to_chtml( opt )
143
+ else
144
+ to_html4( opt )
145
+ end
146
+ end
147
+
148
+ def to_html4(opt)
149
+ r = ''
150
+ idx = 1
151
+ each_section do |section|
152
+ r << section.html4( date, idx, opt )
153
+ idx += 1
154
+ end
155
+ r
156
+ end
157
+
158
+ def to_chtml( opt )
159
+ r = ''
160
+ idx = 1
161
+ each_section do |section|
162
+ r << section.chtml( date, idx, opt )
163
+ idx += 1
164
+ end
165
+ r
166
+ end
167
+
168
+ def to_s
169
+ "date=#{date.strftime('%Y%m%d')}, title=#{title}, body=[#{@sections.join('][')}]"
170
+ end
171
+ end
172
+
173
+ #
174
+ # module CategorizableDiary
175
+ #
176
+ module CategorizableDiary
177
+ def categorizable?; true; end
178
+ end
179
+
180
+ #
181
+ # module UncategorizableDiary
182
+ #
183
+ module UncategorizableDiary
184
+ def categorizable?; false; end
185
+ end
186
+ end
187
+
188
+ # Local Variables:
189
+ # mode: ruby
190
+ # indent-tabs-mode: t
191
+ # tab-width: 3
192
+ # ruby-indent-level: 3
193
+ # End:
194
+ # vim: ts=3
@@ -0,0 +1,198 @@
1
+ # -*- coding: utf-8; -*-
2
+ #
3
+ # tdiary_style.rb: tDiary style class for tDiary 2.x format. $Revision: 1.16 $
4
+ #
5
+ # if you want to use this style, add @style into tdiary.conf below:
6
+ #
7
+ # @style = 'tDiary'
8
+ #
9
+ # Copyright (C) 2001-2005, TADA Tadashi <t@tdtds.jp>
10
+ # You can redistribute it and/or modify it under GPL2.
11
+ #
12
+ module TDiary
13
+ class TdiarySection
14
+ attr_reader :subtitle, :body, :author
15
+ attr_reader :categories, :stripped_subtitle
16
+
17
+ alias :subtitle_to_html :subtitle
18
+ alias :stripped_subtitle_to_html :stripped_subtitle
19
+
20
+ def initialize( fragment, author = nil )
21
+ @author = author
22
+ lines = fragment.split( /\n+/ )
23
+ if lines.size > 1 then
24
+ if /^<</ =~ lines[0]
25
+ @subtitle = lines.shift.chomp.sub( /^</, '' )
26
+ elsif /^[  <]/u !~ lines[0]
27
+ @subtitle = lines.shift.chomp
28
+ end
29
+ end
30
+ @body = lines.join( "\n" )
31
+
32
+ @categories = get_categories
33
+ @stripped_subtitle = strip_subtitle
34
+ end
35
+
36
+ def subtitle=(subtitle)
37
+ cat_str = ""
38
+ @categories.each {|cat|
39
+ cat_str << "[#{cat}]"
40
+ }
41
+ cat_str << " " unless cat_str.empty?
42
+ @subtitle = subtitle ? (cat_str + subtitle) : nil
43
+ @stripped_subtitle = strip_subtitle
44
+ end
45
+
46
+ def body=(str)
47
+ @body = str
48
+ end
49
+
50
+ def categories=(categories)
51
+ @categories = categories
52
+ cat_str = ""
53
+ categories.each {|cat|
54
+ cat_str << "[#{cat}]"
55
+ }
56
+ cat_str << " " unless cat_str.empty?
57
+ @subtitle = @subtitle ? (cat_str + @stripped_subtitle) : nil
58
+ @stripped_subtitle = strip_subtitle
59
+ end
60
+
61
+ def to_src
62
+ s = ''
63
+ if @stripped_subtitle then
64
+ s += "[#{@author}]" if @author
65
+ cat_str = ""
66
+ @categories.each {|cat|
67
+ cat_str << "[#{cat}]"
68
+ }
69
+ cat_str << " " unless cat_str.empty?
70
+ s += cat_str
71
+ s += '<' if /^</=~@subtitle
72
+ s += @stripped_subtitle + "\n"
73
+ else
74
+ #s += ' ' unless @body =~ /\A\s</
75
+ end
76
+ "#{s}#{@body}\n\n"
77
+ end
78
+
79
+ def body_to_html
80
+ html = ""
81
+ tag = false
82
+ @body.lines.each do |p|
83
+ if p[0] == ?< then
84
+ html = @body.dup
85
+ break
86
+ end
87
+ html << "<p>#{p}</p>"
88
+ end
89
+ html
90
+ end
91
+
92
+ def to_s
93
+ "subtitle=#{@subtitle}, body=#{@body}"
94
+ end
95
+
96
+ def categorized_subtitle
97
+ @categories.collect do |c|
98
+ %Q|<%= category_anchor("#{c}") %>|
99
+ end.join + @stripped_subtitle.to_s
100
+ end
101
+
102
+ private
103
+ def get_categories
104
+ return [] unless @subtitle
105
+ cat = /^(\[(.*?)\])+/.match(@subtitle).to_a[0]
106
+ return [] unless cat
107
+ cat.scan(/\[(.*?)\]/).collect do |c|
108
+ c[0].split(/,/)
109
+ end.flatten
110
+ end
111
+
112
+ def strip_subtitle
113
+ return nil unless @subtitle
114
+ @subtitle.sub( /^(\[(.*?)\])+\s*/, '' )
115
+ end
116
+ end
117
+
118
+ class TdiaryDiary
119
+ include DiaryBase
120
+ include CategorizableDiary
121
+
122
+ def initialize( date, title, body, modified = Time::now )
123
+ init_diary
124
+ replace( date, title, body )
125
+ @last_modified = modified
126
+ end
127
+
128
+ def style
129
+ 'tDiary'
130
+ end
131
+
132
+ def append( body, author = nil )
133
+ body.gsub( /\r/, '' ).split( /\n\n+/ ).each do |fragment|
134
+ section = TdiarySection::new( fragment, author )
135
+ @sections << section if section
136
+ end
137
+ @last_modified = Time::now
138
+ self
139
+ end
140
+
141
+ def add_section(subtitle, body)
142
+ sec = TdiarySection::new("\n\n ")
143
+ sec.subtitle = subtitle
144
+ sec.body = body
145
+ @sections << sec
146
+ @sections.size
147
+ end
148
+
149
+ def to_html4( opt )
150
+ r = ''
151
+ each_section do |section|
152
+ r << %Q[<div class="section">\n]
153
+ r << %Q[<%= section_enter_proc( Time::at( #{date.to_i} ) ) %>\n]
154
+ if section.subtitle then
155
+ r << %Q[<h3><%= subtitle_proc( Time::at( #{date.to_i} ), #{section.subtitle.dump.gsub( /%/, '\\\\045' )} ) %></h3>\n]
156
+ end
157
+ if /^</ =~ section.body then
158
+ r << %Q[#{section.body}]
159
+ elsif section.subtitle
160
+ r << %Q[<p>#{section.body.lines.collect{|l|l.chomp.sub( /^[  ]/u, '')}.join( "</p>\n<p>" )}</p>\n]
161
+ else
162
+ r << %Q[<p><%= subtitle_proc( Time::at( #{date.to_i} ), nil ) %>]
163
+ r << %Q[#{section.body.lines.collect{|l|l.chomp.sub( /^[  ]/u, '' )}.join( "</p>\n<p>" )}</p>]
164
+ end
165
+ r << %Q[<%= section_leave_proc( Time::at( #{date.to_i} ) ) %>\n]
166
+ r << %Q[</div>]
167
+ end
168
+ r
169
+ end
170
+
171
+ def to_chtml( opt )
172
+ r = ''
173
+ each_section do |section|
174
+ r << %Q[<%= section_enter_proc( Time::at( #{date.to_i} ) ) %>\n]
175
+ if section.subtitle then
176
+ r << %Q[<H3><%= subtitle_proc( Time::at( #{date.to_i} ), #{section.subtitle.dump.gsub( /%/, '\\\\045' )} ) %></H3>\n]
177
+ end
178
+ if /^</ =~ section.body then
179
+ r << section.body
180
+ elsif section.subtitle
181
+ r << %Q[<P>#{section.body.lines.collect{|l|l.chomp.sub( /^[  ]/u, '' )}.join( "</P>\n<P>" )}</P>\n]
182
+ else
183
+ r << %Q[<P><%= subtitle_proc( Time::at( #{date.to_i} ), nil ) %>]
184
+ r << %Q[#{section.body.lines.collect{|l|l.chomp.sub( /^[  ]/u, '' )}.join( "</P>\n<P>" )}</P>\n]
185
+ end
186
+ r << %Q[<%= section_leave_proc( Time::at( #{date.to_i} ) ) %>\n]
187
+ end
188
+ r
189
+ end
190
+ end
191
+ end
192
+
193
+ # Local Variables:
194
+ # mode: ruby
195
+ # indent-tabs-mode: t
196
+ # tab-width: 3
197
+ # ruby-indent-level: 3
198
+ # End: