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,22 @@
1
+ # -*- mode: rd; coding: utf-8; indent-tabs-mode: nil -*-
2
+ = TODO
3
+
4
+ * HTML5 出力できるように
5
+ * 後方互換性を維持するならば, rd2html5-lib.rb でも作るのかな?
6
+ * rd2html-ext-lib, Hash#index -> Hash#key
7
+
8
+ == Moonwolf さんから指摘された事
9
+
10
+ * Ruby1,9での動作確認(全機能)+encoding周り
11
+ * gem化した際に、通常のsetup.rbによるインストール方法も残すか
12
+ * 原作者のToshさんの認識していたバグが直っているかの確認(できるの?)
13
+ ((<URL:http://pub.cozmixng.org/~the-rwiki/rw-cgi.rb?cmd=view;name=RDtool+Bug+List>))
14
+
15
+ == 佐々木が気になっている事/やりたいこと
16
+
17
+ * Windows での, テストしておくべき Ruby 環境ってドレなの?
18
+
19
+ == Done
20
+
21
+ * COPYRIGHT の表記. きちんとまとめておきたい|おくべき.
22
+ * makerdtool.rb などを Rake のタスクに落としこむ
@@ -0,0 +1,283 @@
1
+ #! /usr/bin/ruby1.9.1 -Kn
2
+ # -*- coding: ASCII-8BIT -*-
3
+ =begin
4
+ = NAME
5
+ rd2 - converter from RD to other mark-up language.
6
+ = SYNOPSIS
7
+ rd2 [-r <visitor>] [options] <file>
8
+
9
+ = DESCRIPTION
10
+ rd2 inputs from ((|<file>|)) and outputs into (({STDOUT})). you can
11
+ choose ((|<visitor>|)) to select output format. For example, use
12
+ "rd/rd2html-lib.rb" to translate it into HTML, and "rd/rd2man-lib.rb"
13
+ to tranlate it into roff with man macros.
14
+
15
+ = OPTIONS
16
+ please read output of
17
+ % rd2 --help
18
+ and
19
+ % rd2 -r rd/rd2html-lib.rb --help
20
+
21
+ = FILES
22
+ * ~/.rd2rc - User configration file.
23
+
24
+ = SEE ALSO
25
+ ruby(1)
26
+ =end
27
+
28
+ require "kconv"
29
+ require "optparse"
30
+ require "rd/rdfmt"
31
+ require "rd/visitor"
32
+ require "rd/version"
33
+
34
+ module Kconv
35
+ NAME2CONST = {
36
+ "iso-2022-jp" => Kconv::JIS,
37
+ "euc-jp" => Kconv::EUC,
38
+ "shift_jis" => Kconv::SJIS,
39
+ }
40
+ NAME_ALIAS = {
41
+ 'jis' => 'iso-2022-jp',
42
+ 'euc' => 'euc-jp',
43
+ 'sjis' => 'shift_jis',
44
+ 'shift-jis' => 'shift_jis',
45
+ }
46
+ if defined?(Kconv::UTF8)
47
+ NAME2CONST['utf-8'] = Kconv::UTF8
48
+ NAME_ALIAS['utf8'] = 'utf-8'
49
+ end
50
+ end
51
+
52
+ include RD
53
+
54
+ SYSTEM_NAME = "RDtool -- rd2"
55
+ SYSTEM_VERSION = "$Version: "+RD::VERSION + "$" #"
56
+ RD2_VERSION = Version.new_from_version_string(SYSTEM_NAME, SYSTEM_VERSION)
57
+
58
+ # global vars
59
+ $Visitor_Class = nil
60
+ $Visitor = nil
61
+ $RD2_Sub_OptionParser = nil
62
+
63
+ # local vars
64
+ include_path = []
65
+ with_part = []
66
+ output_file = nil
67
+ output_index = nil
68
+ out_code = nil
69
+ from_rdo = nil
70
+
71
+ # user option
72
+ $DEFAULT_FORMAT_LIB = "rd/rd2html-lib"
73
+ $RC = {}
74
+ $RC["filter"] = Hash.new(RD::INCLUDE_FILTER)
75
+ begin
76
+ if test(?r, File.expand_path("~/.rd2rc"))
77
+ load "~/.rd2rc"
78
+ # STDERR << "#{$0}: loading ~/.rd2rc\n"
79
+ else
80
+ load "rd/dot.rd2rc"
81
+ # STDERR << "#{$0}: loading rd/dot.rd2rc\n"
82
+ end
83
+ rescue
84
+ load "rd/dot.rd2rc"
85
+ end
86
+
87
+ # initialize OptionParser
88
+ ARGV.options do |q|
89
+ q.banner = "Usage: #{$0} [options] rd-file > output\n"
90
+ q.on_head("global options:")
91
+
92
+ q.on("-rLIB", "--require=LIB",
93
+ String,
94
+ "choose format library.") do |i|
95
+ # require LIB
96
+ require i
97
+ if $Visitor_Class && !$Visitor
98
+ $Visitor = $Visitor_Class.new()
99
+ if $RD2_Sub_OptionParser
100
+ require $RD2_Sub_OptionParser
101
+ $RD2_Sub_OptionParser = nil
102
+ end
103
+ end
104
+ end
105
+
106
+ q.on("-oNAME",
107
+ String,
108
+ "indicate base name of output file") do |i|
109
+ output_file = i
110
+ end
111
+
112
+ q.on("--out-code=KCODE",
113
+ Kconv::NAME2CONST.keys, Kconv::NAME_ALIAS,
114
+ "character encoding of output.(jis|euc|sjis|utf8)") do |i|
115
+ out_code = i
116
+ end
117
+
118
+ q.on("--output-index",
119
+ "output method index file (*.rmi)") do |i|
120
+ output_index = true
121
+ end
122
+
123
+ q.on("-IPATH", "--include-path=PATH",
124
+ String,
125
+ "add PATH to list of include path") do |i|
126
+ # add to include path
127
+ include_path.unshift(i)
128
+ end
129
+
130
+ # accept "PART:FILTER" and "PART"
131
+ class PART ; end
132
+ q.accept(PART, /(\w+)(?:\s*:\s*(\w+))?/) {|s, p, f| [s, p, f] }
133
+ q.on("--with-part=PART",
134
+ PART,
135
+ "include PART with Filter") do |src, part, filter|
136
+ with_part.push([part, filter || part])
137
+ unless include_path.index(RD::RDTree.tmp_dir)
138
+ include_path.push(RD::RDTree.tmp_dir)
139
+ end
140
+ end
141
+
142
+ q.on("--from-rdo",
143
+ "load from *.rdo instead of *.rd") do
144
+ from_rdo = true
145
+ end
146
+
147
+ q.on("--version",
148
+ "print versions.") do
149
+ STDERR.puts RD2_VERSION
150
+ STDERR.puts Tree::version
151
+ STDERR.puts Visitor::version
152
+ STDERR.puts $Visitor_Class.version if $Visitor_Class
153
+ exit(0)
154
+ end
155
+
156
+ q.on_tail("--help",
157
+ "print this message") do
158
+ STDERR.print(q.to_s)
159
+ exit(0)
160
+ end
161
+ end # OptionParser.new
162
+
163
+ # require format lib implicitly
164
+ if /rd2.+/ =~ File.basename($0, ".*").downcase
165
+ visitor_lib = "rd/" + $& + "-lib.rb"
166
+ require visitor_lib
167
+ require $RD2_Sub_OptionParser if $RD2_Sub_OptionParser
168
+ # make visitor
169
+ $Visitor = $Visitor_Class.new()
170
+ end
171
+
172
+ begin
173
+ ARGV.parse!
174
+ rescue
175
+ STDERR.print("Error: " + $!.inspect + "\n")
176
+ STDERR.print(ARGV.options.to_s)
177
+ exit(1)
178
+ end
179
+
180
+ unless $Visitor_Class
181
+ require $DEFAULT_FORMAT_LIB
182
+ $Visitor = $Visitor_Class.new
183
+ end
184
+
185
+ $Visitor.input_filename = ARGF.filename
186
+
187
+ # make tree (but not parsed yet)
188
+ if from_rdo
189
+ rdos = []
190
+ ARGV.each do |path|
191
+ rdos.push(File.open(path))
192
+ dirname = File.dirname(path)
193
+ include_path.push(dirname, dirname + "/include")
194
+ end
195
+ tree = RDTree.new_from_rdo(*rdos)
196
+ tree.include_path = include_path
197
+ else
198
+ # set Include_Path
199
+ if ARGF.filename
200
+ dir = File.dirname(ARGF.filename)
201
+ else
202
+ dir = "."
203
+ end
204
+ include_path.push(dir)
205
+ include_path.push(dir + "/include")
206
+
207
+ # input from ARGF
208
+ src = readlines
209
+ if src.find{|i| /\S/ === i } and !src.find{|i| /^=begin\b/ === i }
210
+ src.unshift("=begin\n").push("=end\n")
211
+ end
212
+
213
+ tree = RDTree.new(src, include_path, nil)
214
+
215
+ # filter set tree.filter
216
+ with_part.each do |i|
217
+ tree.filter[i[0]] = $RC["filter"][i[1]]
218
+ end
219
+
220
+ # parse
221
+ begin
222
+ tree.parse
223
+ rescue Racc::ParseError
224
+ STDERR.puts($!.message)
225
+ exit(10)
226
+ end
227
+ end
228
+
229
+ # filter: set visitor.include_suffix
230
+ with_part.each do |i|
231
+ $Visitor.include_suffix.push(i[0])
232
+ end
233
+
234
+ # file base name setup
235
+ $Visitor.filename = output_file if output_file
236
+
237
+ # character encoding
238
+ if out_code
239
+ begin
240
+ $Visitor.charcode = out_code
241
+ $Visitor.lang = "ja"
242
+ rescue NameError
243
+ end
244
+ end
245
+
246
+ # output
247
+ out = $Visitor.visit(tree)
248
+
249
+ # character encoding convert
250
+ out = Kconv.kconv(out, Kconv::NAME2CONST[out_code], Kconv::AUTO) if out_code
251
+
252
+ if output_file
253
+ filename = output_file + "." + $Visitor.class::OUTPUT_SUFFIX
254
+ file = open(filename, "w")
255
+ file.print(out)
256
+ file.close
257
+ STDERR.print("#{$0}: output to #{filename}...\n")
258
+ else
259
+ print(out)
260
+ end
261
+
262
+ # RMI
263
+ if output_index
264
+ if output_file
265
+ require "rd/rd2rmi-lib"
266
+ rmivisitor = RD2RMIVisitor.new
267
+ rmivisitor.filename = output_file
268
+ rmi = rmivisitor.visit(tree)
269
+ filename = output_file + ".rmi"
270
+ file = open(filename, "w")
271
+ file.print(rmi)
272
+ file.close
273
+ STDERR.print("#{$0}: output to #{filename}...\n")
274
+ else
275
+ raise %Q[Error: option "--output-index" must be used with option "-oNAME"]
276
+ end
277
+ end
278
+
279
+
280
+ # filter: remove tmp file
281
+ Dir.glob("#{RD::RDTree.tmp_dir}/rdtmp.#{$$}.*.*").each do |i|
282
+ File.delete(i)
283
+ end
@@ -0,0 +1,207 @@
1
+ #! /usr/bin/ruby1.9.1 -s
2
+ #######
3
+ # rdswap.rb (c) C.Hintze <c.hintze@gmx.net> 30.08.1999
4
+ #######
5
+
6
+
7
+ require "ostruct";
8
+
9
+ if ARGV.size < 2 and not ($h or $help)
10
+ print "Wrong # of paramter! Use `-h' for help.\n";
11
+ exit 1;
12
+ elsif $h or $help
13
+ print eval('"'+DATA.read+'"');
14
+ exit 0;
15
+ end
16
+
17
+ srcfile = ARGV.select{|fn| fn =~ /\.rb$/o};
18
+ case srcfile.size
19
+ when 0
20
+ $stderr.print "Warning: No `.rb' file given! Take first file as source.\n";
21
+ srcfile = ARGV[0];
22
+ when 1
23
+ srcfile = srcfile[0];
24
+ else
25
+ print "Sorry! Only one source file (`.rb') allowed!\n";
26
+ exit(1);
27
+ end
28
+
29
+ docs = {};
30
+ srcs = {};
31
+
32
+ rddoc, rddocs = nil, [];
33
+ source, sources = [], [[]];
34
+
35
+ while gets
36
+ lang = $1 if File::basename(String($<)) =~ /^.*?([^.]+)$/o;
37
+ if /^=begin/o .. /^=end/o
38
+ title = $2 if /^=begin(\s+(.*))?$/o;
39
+ unless rddoc.nil?
40
+ unless /^=end/o
41
+ rddoc.lines << $_;
42
+ else
43
+ rddocs << rddoc;
44
+ sources << [];
45
+ rddoc = nil;
46
+ title = nil;
47
+ end
48
+ else # New RD block found! Instantiate data container.
49
+ rddoc = OpenStruct.new
50
+ rddoc.kind, rddoc.lines = title, [];
51
+ end
52
+ else # It is not a RD block means, it is a source line!
53
+ sources[-1] << $_;
54
+ end
55
+ if $<.eof? # One file finished. Remember data and proceed.
56
+ docs[lang] = rddocs;
57
+ srcs[lang] = sources;
58
+ rddoc, rddocs = nil, [];
59
+ source, sources = [], [[]];
60
+ end
61
+ end
62
+
63
+ langs = docs.keys;
64
+ langs.delete("rb"); # `rb' is not a language but the script!
65
+ source = srcs["rb"]; # Assign it for preventing later look-ups
66
+ srcdoc = docs["rb"];
67
+ sourcesize = source.size; # Do not recalculate size again and again.
68
+ srcdocsize = srcdoc.size;
69
+
70
+ for lang in langs
71
+ docblk = docs[lang];
72
+ max = [sourcesize, srcdocsize, docblk.size].max;
73
+ filename = File.join(srcfile+"."+lang);
74
+ open(filename, "w+") do |fd|
75
+ j = 0;
76
+ for i in 0...max # Goto every block; be it source or RD.
77
+ fd.print source[i].join unless source[i].nil? || source[i].empty?;
78
+ sblk, dblk = srcdoc[i], docblk[j];
79
+ blk = (dblk and (dblk.kind == sblk.kind)) ? dblk : sblk;
80
+ next unless blk;
81
+ j += 1 if blk == dblk;
82
+ fd.print "=begin #{blk && blk.kind}\n", blk.lines.join, "=end\n";
83
+ end
84
+ end
85
+ print "File `#{filename}' created.\n" if $v;
86
+ end
87
+
88
+ exit(0);
89
+
90
+ __END__
91
+
92
+ Purpose:
93
+ This tool is written to support you to write multi-language documents
94
+ using the Ruby-Document-Format (RD).
95
+
96
+ The idea for such a tool was originated by
97
+
98
+ Minero Aoki <aamine@dp.u-netsurf.ne.jp>,
99
+
100
+ how has thought about, how to make life easier for developers who have to
101
+ write and maintain scripts in more than one language.
102
+
103
+ You have to specify at least two filenames on the command line. One
104
+ containing the Ruby script, the second containing a translated RD. If the
105
+ script does *not* end with `.rb', it has to be the first filename mentioned
106
+ on the command line! In opposition, all files containing translations *must
107
+ not* ending with `.rb'! They should use a extension that describes the
108
+ language. So that would give us the following picture:
109
+
110
+ - sample.rb : Script contains the original documentation.
111
+ - sample.jp : Documentation written in Japanese.
112
+ - sample.de : Translation to German.
113
+
114
+ The tool doesn't care about the language extensions. You can name them as
115
+ you like! So the file containing the Japanese translation above, could also
116
+ be names e.g. `sample.japan' or even `japantranslation.japan'.
117
+
118
+ For every translation file, a new file will be created. The name is build
119
+ from the script filename plus the language extension. So regarding the
120
+ example above, following files would be created:
121
+
122
+ - sample.rb.jp
123
+ - sample.rb.de
124
+
125
+ or, given the alternative translation filename as mentioned above...
126
+
127
+ - sample.rb.japan
128
+
129
+ How does it work?
130
+ The contents of all files will be split into source and RD blocks. The
131
+ source of the translation files, will be discarded! Every RD block may
132
+ be of a certain type. The type will be taken from the contents directly
133
+ following the `=begin' on the same line. If there is only a lonely `=begin'
134
+ on a line by itself, the type of the block is `nil'. That means in
135
+
136
+ :
137
+ =begin
138
+ bla bla
139
+ =end
140
+ :
141
+ =begin whatever or not
142
+ blub blub
143
+ =end
144
+ :
145
+
146
+ the first block would be of type `nil' and the second one of type `whatever
147
+ or not'.
148
+
149
+ Block types are important for the translation. If a source will be
150
+ generated from a script and a translation file, only these blocks are taken
151
+ from the translation files, that comes in the right sequence *and* contains
152
+ the same type as the block in the script! For example:
153
+
154
+ # File sample.rb
155
+ :
156
+ =begin gnark
157
+ Some comment
158
+ =end
159
+ :
160
+ =begin
161
+ block 2
162
+ =end
163
+ :
164
+ =begin
165
+ block 3
166
+ =end
167
+ :
168
+
169
+ # File sample.de
170
+ :
171
+ =begin
172
+ Block zwei
173
+ =end
174
+ :
175
+ =begin
176
+ Block drei
177
+ =end
178
+ :
179
+
180
+ Here, the first block of `sample.rb' will *not* be translated, as there is
181
+ no translation block with that type in sample.de! So the first block would
182
+ be inserted as-it-is into the translated script. The blocks afterwards,
183
+ however, are translated as the block type does match (it is `nil' there).
184
+
185
+ Attention: In a translation file, a second block will only be used, if
186
+ a first one was already used (matched). A third block will
187
+ only be used, if a second one was used already!
188
+
189
+ That means, if the first block of `sample.de' would be of type e.g. `Never
190
+ match', then no block would ever be taken to replace anyone of `sample.rb'.
191
+
192
+ Syntax:
193
+ #{File::basename $0} [-h|-v] <filename>...
194
+
195
+ Whereby:
196
+ -h shows this help text.
197
+ -v shows some more text during processing.
198
+ <filename> Means a file, that contains RD and/or Ruby code.
199
+
200
+ Examples:
201
+ #{File::basename $0} -v sample.rb sample.ja sample.de
202
+ #{File::basename $0} -v sample.ja sample.rb sample.de
203
+ #{File::basename $0} -v sample.ja sample.de sample.rb
204
+ #{File::basename $0} -v sample.??
205
+
206
+ Author:
207
+ Clemens Hintze <c.hintze@gmx.net>.