qwikdoc 0.0.1

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 (335) hide show
  1. data/.gitignore +5 -0
  2. data/.rspec +2 -0
  3. data/CHANGES +3 -0
  4. data/COPYING +340 -0
  5. data/Gemfile +3 -0
  6. data/README.md +10 -0
  7. data/Rakefile +10 -0
  8. data/TextFormattingRules +137 -0
  9. data/TextFormattingRules.ja +143 -0
  10. data/bin/qwikdoc +34 -0
  11. data/lib/qwik_doc.rb +15 -0
  12. data/lib/qwik_doc/hack.rb +184 -0
  13. data/qwikdoc.gemspec +26 -0
  14. data/spec/qwik_doc_spec.rb +305 -0
  15. data/spec/spec_helper.rb +12 -0
  16. data/vendor/qwik/Makefile +63 -0
  17. data/vendor/qwik/Rakefile +17 -0
  18. data/vendor/qwik/act-aa.rb +83 -0
  19. data/vendor/qwik/act-archive.rb +386 -0
  20. data/vendor/qwik/act-attach.rb +304 -0
  21. data/vendor/qwik/act-backup.rb +236 -0
  22. data/vendor/qwik/act-basic.rb +325 -0
  23. data/vendor/qwik/act-book.rb +161 -0
  24. data/vendor/qwik/act-calc.rb +371 -0
  25. data/vendor/qwik/act-charset.rb +251 -0
  26. data/vendor/qwik/act-christel.rb +112 -0
  27. data/vendor/qwik/act-chronology.rb +149 -0
  28. data/vendor/qwik/act-code.rb +155 -0
  29. data/vendor/qwik/act-comment.rb +554 -0
  30. data/vendor/qwik/act-config.rb +49 -0
  31. data/vendor/qwik/act-counter.rb +125 -0
  32. data/vendor/qwik/act-day.rb +96 -0
  33. data/vendor/qwik/act-describe.rb +135 -0
  34. data/vendor/qwik/act-diary.rb +109 -0
  35. data/vendor/qwik/act-edit.rb +317 -0
  36. data/vendor/qwik/act-embed-html.rb +296 -0
  37. data/vendor/qwik/act-emode.rb +150 -0
  38. data/vendor/qwik/act-event.rb +187 -0
  39. data/vendor/qwik/act-file.rb +303 -0
  40. data/vendor/qwik/act-files.rb +771 -0
  41. data/vendor/qwik/act-getpass.rb +295 -0
  42. data/vendor/qwik/act-history.rb +136 -0
  43. data/vendor/qwik/act-html.rb +204 -0
  44. data/vendor/qwik/act-httpauth.rb +147 -0
  45. data/vendor/qwik/act-include.rb +142 -0
  46. data/vendor/qwik/act-interwiki.rb +189 -0
  47. data/vendor/qwik/act-isearch.rb +109 -0
  48. data/vendor/qwik/act-keywords.rb +137 -0
  49. data/vendor/qwik/act-lang.rb +81 -0
  50. data/vendor/qwik/act-license.rb +63 -0
  51. data/vendor/qwik/act-list.rb +287 -0
  52. data/vendor/qwik/act-login.rb +410 -0
  53. data/vendor/qwik/act-logout.rb +60 -0
  54. data/vendor/qwik/act-mail.rb +159 -0
  55. data/vendor/qwik/act-map.rb +292 -0
  56. data/vendor/qwik/act-md5.rb +42 -0
  57. data/vendor/qwik/act-mdlb.rb +741 -0
  58. data/vendor/qwik/act-media.rb +416 -0
  59. data/vendor/qwik/act-member.rb +157 -0
  60. data/vendor/qwik/act-menu.rb +142 -0
  61. data/vendor/qwik/act-metadata.rb +323 -0
  62. data/vendor/qwik/act-mlsubmitform.rb +49 -0
  63. data/vendor/qwik/act-monitor.rb +167 -0
  64. data/vendor/qwik/act-new.rb +418 -0
  65. data/vendor/qwik/act-pagelist.rb +248 -0
  66. data/vendor/qwik/act-password.rb +145 -0
  67. data/vendor/qwik/act-plan.rb +210 -0
  68. data/vendor/qwik/act-povray.rb +230 -0
  69. data/vendor/qwik/act-presen.rb +380 -0
  70. data/vendor/qwik/act-redirect.rb +133 -0
  71. data/vendor/qwik/act-ring.rb +1071 -0
  72. data/vendor/qwik/act-rrefs.rb +255 -0
  73. data/vendor/qwik/act-ruby.rb +116 -0
  74. data/vendor/qwik/act-sample.rb +170 -0
  75. data/vendor/qwik/act-save.rb +295 -0
  76. data/vendor/qwik/act-schedule.rb +374 -0
  77. data/vendor/qwik/act-search.rb +180 -0
  78. data/vendor/qwik/act-searchwords.rb +51 -0
  79. data/vendor/qwik/act-sendpass.rb +83 -0
  80. data/vendor/qwik/act-site.rb +89 -0
  81. data/vendor/qwik/act-sitebackup.rb +419 -0
  82. data/vendor/qwik/act-sitelog.rb +118 -0
  83. data/vendor/qwik/act-smil.rb +299 -0
  84. data/vendor/qwik/act-status.rb +220 -0
  85. data/vendor/qwik/act-style.rb +608 -0
  86. data/vendor/qwik/act-table.rb +263 -0
  87. data/vendor/qwik/act-tableform.rb +241 -0
  88. data/vendor/qwik/act-tag.rb +103 -0
  89. data/vendor/qwik/act-text.rb +70 -0
  90. data/vendor/qwik/act-textarea.rb +164 -0
  91. data/vendor/qwik/act-theme.rb +346 -0
  92. data/vendor/qwik/act-toc.rb +112 -0
  93. data/vendor/qwik/act-typekey.rb +198 -0
  94. data/vendor/qwik/act-under-const.rb +94 -0
  95. data/vendor/qwik/act-webservice.rb +321 -0
  96. data/vendor/qwik/act-wema.rb +558 -0
  97. data/vendor/qwik/act-wysiwyg.rb +238 -0
  98. data/vendor/qwik/action.rb +325 -0
  99. data/vendor/qwik/autoreload.rb +98 -0
  100. data/vendor/qwik/bench-bench.rb +28 -0
  101. data/vendor/qwik/bench-emode.rb +47 -0
  102. data/vendor/qwik/bench-format-xml.rb +70 -0
  103. data/vendor/qwik/bench-large-table.rb +62 -0
  104. data/vendor/qwik/bench-md5.rb +14 -0
  105. data/vendor/qwik/bench-module-session.rb +19 -0
  106. data/vendor/qwik/bench-page.rb +50 -0
  107. data/vendor/qwik/bench-s-md5.rb +28 -0
  108. data/vendor/qwik/bench-session.rb +25 -0
  109. data/vendor/qwik/bench-textformat.rb +31 -0
  110. data/vendor/qwik/catalog-factory.rb +91 -0
  111. data/vendor/qwik/catalog-ja.rb +479 -0
  112. data/vendor/qwik/catalog-ml-ja.rb +145 -0
  113. data/vendor/qwik/check-act-monitor.rb +112 -0
  114. data/vendor/qwik/check-act-monitor2.rb +46 -0
  115. data/vendor/qwik/check-act-theme.rb +27 -0
  116. data/vendor/qwik/check-event.rb +112 -0
  117. data/vendor/qwik/check-event2.rb +55 -0
  118. data/vendor/qwik/check-htree-rexml.rb +77 -0
  119. data/vendor/qwik/check-htree.rb +51 -0
  120. data/vendor/qwik/check-libxml.rb +135 -0
  121. data/vendor/qwik/check-many-pages.rb +47 -0
  122. data/vendor/qwik/check-monitor.rb +33 -0
  123. data/vendor/qwik/check-observer.rb +67 -0
  124. data/vendor/qwik/check-server.rb +61 -0
  125. data/vendor/qwik/check-uuencode.rb +33 -0
  126. data/vendor/qwik/check-webdav.rb +65 -0
  127. data/vendor/qwik/check-xml-xpath.rb +27 -0
  128. data/vendor/qwik/common-backtrace.rb +94 -0
  129. data/vendor/qwik/common-basic.rb +111 -0
  130. data/vendor/qwik/common-condition.rb +142 -0
  131. data/vendor/qwik/common-error.rb +48 -0
  132. data/vendor/qwik/common-gettext.rb +50 -0
  133. data/vendor/qwik/common-javascript.rb +45 -0
  134. data/vendor/qwik/common-notice.rb +132 -0
  135. data/vendor/qwik/common-plain.rb +105 -0
  136. data/vendor/qwik/common-plugin.rb +111 -0
  137. data/vendor/qwik/common-res.rb +76 -0
  138. data/vendor/qwik/common-resolve.rb +92 -0
  139. data/vendor/qwik/common-send.rb +171 -0
  140. data/vendor/qwik/common-session.rb +139 -0
  141. data/vendor/qwik/common-surface.rb +261 -0
  142. data/vendor/qwik/common-url.rb +90 -0
  143. data/vendor/qwik/compat/Makefile +12 -0
  144. data/vendor/qwik/compat/add_load_path.rb +1 -0
  145. data/vendor/qwik/config.rb +299 -0
  146. data/vendor/qwik/db-b-backup.rb +142 -0
  147. data/vendor/qwik/db-backup.rb +184 -0
  148. data/vendor/qwik/db-berkeley.rb +306 -0
  149. data/vendor/qwik/db-filesystem.rb +305 -0
  150. data/vendor/qwik/db-indexer.rb +154 -0
  151. data/vendor/qwik/db-searchwords.rb +238 -0
  152. data/vendor/qwik/description-ja.rb +267 -0
  153. data/vendor/qwik/description.rb +256 -0
  154. data/vendor/qwik/dev-add-copyright.rb +23 -0
  155. data/vendor/qwik/dev-backup.rb +24 -0
  156. data/vendor/qwik/dev-bench.rb +175 -0
  157. data/vendor/qwik/dev-calctime.rb +52 -0
  158. data/vendor/qwik/dev-css-compressor.rb +60 -0
  159. data/vendor/qwik/dev-extract-catalog.rb +102 -0
  160. data/vendor/qwik/dev-js-compressor.rb +73 -0
  161. data/vendor/qwik/dev-release.rb +235 -0
  162. data/vendor/qwik/dev-replace.rb +353 -0
  163. data/vendor/qwik/dev-sendmail.rb +25 -0
  164. data/vendor/qwik/farm.rb +283 -0
  165. data/vendor/qwik/gettext.rb +56 -0
  166. data/vendor/qwik/group-cond.rb +157 -0
  167. data/vendor/qwik/group-config.rb +247 -0
  168. data/vendor/qwik/group-confirm.rb +147 -0
  169. data/vendor/qwik/group-db.rb +326 -0
  170. data/vendor/qwik/group-mail.rb +195 -0
  171. data/vendor/qwik/group-member.rb +307 -0
  172. data/vendor/qwik/group-sendmail.rb +231 -0
  173. data/vendor/qwik/group-site.rb +374 -0
  174. data/vendor/qwik/group-sweep.rb +63 -0
  175. data/vendor/qwik/group.rb +157 -0
  176. data/vendor/qwik/helper.rb +6 -0
  177. data/vendor/qwik/html-generator.rb +104 -0
  178. data/vendor/qwik/html-to-wabisabi.rb +149 -0
  179. data/vendor/qwik/htree-diff.rb +87 -0
  180. data/vendor/qwik/htree-format-xml.rb +57 -0
  181. data/vendor/qwik/htree-generator.rb +144 -0
  182. data/vendor/qwik/htree-get.rb +251 -0
  183. data/vendor/qwik/htree-html-generator.rb +179 -0
  184. data/vendor/qwik/htree-template.rb +263 -0
  185. data/vendor/qwik/htree-to-wabisabi.rb +171 -0
  186. data/vendor/qwik/loadlib.rb +79 -0
  187. data/vendor/qwik/logger.rb +115 -0
  188. data/vendor/qwik/mail-body.rb +171 -0
  189. data/vendor/qwik/mail-header.rb +474 -0
  190. data/vendor/qwik/mail-multipart.rb +193 -0
  191. data/vendor/qwik/mail-parse.rb +147 -0
  192. data/vendor/qwik/mail.rb +341 -0
  193. data/vendor/qwik/mailaddress.rb +83 -0
  194. data/vendor/qwik/mdlb-model.rb +81 -0
  195. data/vendor/qwik/mdlb-sample.rb +324 -0
  196. data/vendor/qwik/ml-catalog-factory.rb +27 -0
  197. data/vendor/qwik/ml-exception.rb +15 -0
  198. data/vendor/qwik/ml-generator.rb +28 -0
  199. data/vendor/qwik/ml-gettext.rb +137 -0
  200. data/vendor/qwik/ml-logger.rb +82 -0
  201. data/vendor/qwik/ml-memory.rb +65 -0
  202. data/vendor/qwik/ml-msg-validator.rb +86 -0
  203. data/vendor/qwik/ml-processor.rb +609 -0
  204. data/vendor/qwik/ml-quickml-server.rb +122 -0
  205. data/vendor/qwik/ml-sendmail.rb +0 -0
  206. data/vendor/qwik/ml-server.rb +107 -0
  207. data/vendor/qwik/ml-session.rb +348 -0
  208. data/vendor/qwik/ml-sweeper.rb +101 -0
  209. data/vendor/qwik/mock-logger.rb +65 -0
  210. data/vendor/qwik/mock-sendmail.rb +78 -0
  211. data/vendor/qwik/mock-socket.rb +82 -0
  212. data/vendor/qwik/modulobe.rb +406 -0
  213. data/vendor/qwik/mongrel-server.rb +72 -0
  214. data/vendor/qwik/page-files.rb +249 -0
  215. data/vendor/qwik/page-generate.rb +82 -0
  216. data/vendor/qwik/page-get.rb +262 -0
  217. data/vendor/qwik/page-images.rb +168 -0
  218. data/vendor/qwik/page-put.rb +128 -0
  219. data/vendor/qwik/page-rrefs.rb +154 -0
  220. data/vendor/qwik/page-title.rb +0 -0
  221. data/vendor/qwik/page-wikidb.rb +234 -0
  222. data/vendor/qwik/page.rb +67 -0
  223. data/vendor/qwik/pages.rb +444 -0
  224. data/vendor/qwik/parse-plugin.rb +249 -0
  225. data/vendor/qwik/parser-emode.rb +116 -0
  226. data/vendor/qwik/parser-inline.rb +273 -0
  227. data/vendor/qwik/parser.rb +350 -0
  228. data/vendor/qwik/password.rb +183 -0
  229. data/vendor/qwik/periodic.rb +79 -0
  230. data/vendor/qwik/qp.rb +56 -0
  231. data/vendor/qwik/qwik-service.rb +341 -0
  232. data/vendor/qwik/qwik.rb +5 -0
  233. data/vendor/qwik/qwikweb-adduser.rb +34 -0
  234. data/vendor/qwik/qwikweb-catalog-validator.rb +110 -0
  235. data/vendor/qwik/qwikweb-incgen.rb +28 -0
  236. data/vendor/qwik/qwikweb-makesite.rb +41 -0
  237. data/vendor/qwik/qwikweb-server.rb +44 -0
  238. data/vendor/qwik/qwikweb-showpassword.rb +26 -0
  239. data/vendor/qwik/qwikweb-watchlog.rb +67 -0
  240. data/vendor/qwik/request-path.rb +304 -0
  241. data/vendor/qwik/request-ua.rb +76 -0
  242. data/vendor/qwik/request-webrick.rb +81 -0
  243. data/vendor/qwik/request.rb +91 -0
  244. data/vendor/qwik/resolve-tdiary.rb +292 -0
  245. data/vendor/qwik/resolve.rb +121 -0
  246. data/vendor/qwik/response.rb +228 -0
  247. data/vendor/qwik/server-memory.rb +57 -0
  248. data/vendor/qwik/server-webrick.rb +102 -0
  249. data/vendor/qwik/server.rb +252 -0
  250. data/vendor/qwik/site-config.rb +149 -0
  251. data/vendor/qwik/site-db.rb +136 -0
  252. data/vendor/qwik/site-event.rb +162 -0
  253. data/vendor/qwik/site-files.rb +86 -0
  254. data/vendor/qwik/site-group.rb +103 -0
  255. data/vendor/qwik/site-index.rb +47 -0
  256. data/vendor/qwik/site-log.rb +64 -0
  257. data/vendor/qwik/site-member.rb +230 -0
  258. data/vendor/qwik/site-monitor.rb +97 -0
  259. data/vendor/qwik/site-pages.rb +62 -0
  260. data/vendor/qwik/site-plan.rb +139 -0
  261. data/vendor/qwik/site-report.rb +282 -0
  262. data/vendor/qwik/site-resolve.rb +230 -0
  263. data/vendor/qwik/site-rrefs.rb +18 -0
  264. data/vendor/qwik/site-search.rb +180 -0
  265. data/vendor/qwik/site-timeline.rb +153 -0
  266. data/vendor/qwik/site-url.rb +189 -0
  267. data/vendor/qwik/site.rb +76 -0
  268. data/vendor/qwik/smil-time.rb +105 -0
  269. data/vendor/qwik/smtp-session.rb +331 -0
  270. data/vendor/qwik/template-generator.rb +149 -0
  271. data/vendor/qwik/template.rb +85 -0
  272. data/vendor/qwik/test-common.rb +10 -0
  273. data/vendor/qwik/test-ml-info.rb +225 -0
  274. data/vendor/qwik/test-module-ml.rb +142 -0
  275. data/vendor/qwik/test-module-path.rb +110 -0
  276. data/vendor/qwik/test-module-public.rb +70 -0
  277. data/vendor/qwik/test-module-server.rb +98 -0
  278. data/vendor/qwik/test-module-session.rb +264 -0
  279. data/vendor/qwik/test-module-suite.rb +91 -0
  280. data/vendor/qwik/test-ms-applemail.rb +59 -0
  281. data/vendor/qwik/test-ms-attach.rb +174 -0
  282. data/vendor/qwik/test-ms-basic.rb +40 -0
  283. data/vendor/qwik/test-ms-close.rb +35 -0
  284. data/vendor/qwik/test-ms-confirm.rb +75 -0
  285. data/vendor/qwik/test-ms-ignore-spam.rb +57 -0
  286. data/vendor/qwik/test-ms-japanese.rb +97 -0
  287. data/vendor/qwik/test-ms-jfilename.rb +82 -0
  288. data/vendor/qwik/test-ms-large.rb +58 -0
  289. data/vendor/qwik/test-ms-member.rb +103 -0
  290. data/vendor/qwik/test-ms-multipart.rb +84 -0
  291. data/vendor/qwik/test-ms-org.rb +129 -0
  292. data/vendor/qwik/test-ms-plan.rb +130 -0
  293. data/vendor/qwik/test-ms-post.rb +53 -0
  294. data/vendor/qwik/test-ms-quopri.rb +76 -0
  295. data/vendor/qwik/test-sub-quopri.rb +45 -0
  296. data/vendor/qwik/test-submit-base64.rb +59 -0
  297. data/vendor/qwik/test-submit-forward.rb +61 -0
  298. data/vendor/qwik/test-submit-html-mail.rb +52 -0
  299. data/vendor/qwik/test-submit-japanese.rb +135 -0
  300. data/vendor/qwik/test-submit-jfilename.rb +144 -0
  301. data/vendor/qwik/test-submit-uuencode.rb +71 -0
  302. data/vendor/qwik/test-suite-all.rb +8 -0
  303. data/vendor/qwik/test-suite-basic.rb +9 -0
  304. data/vendor/qwik/test-suite-ml.rb +9 -0
  305. data/vendor/qwik/test-typekey.rb +64 -0
  306. data/vendor/qwik/testunit.rb +45 -0
  307. data/vendor/qwik/tokenizer-inline.rb +294 -0
  308. data/vendor/qwik/tokenizer.rb +332 -0
  309. data/vendor/qwik/typekey.rb +160 -0
  310. data/vendor/qwik/util-basic.rb +135 -0
  311. data/vendor/qwik/util-charset.rb +332 -0
  312. data/vendor/qwik/util-css.rb +56 -0
  313. data/vendor/qwik/util-csv-tokenizer.rb +113 -0
  314. data/vendor/qwik/util-filename.rb +112 -0
  315. data/vendor/qwik/util-pathname.rb +202 -0
  316. data/vendor/qwik/util-pid.rb +58 -0
  317. data/vendor/qwik/util-safe.rb +67 -0
  318. data/vendor/qwik/util-sendmail.rb +273 -0
  319. data/vendor/qwik/util-string.rb +203 -0
  320. data/vendor/qwik/util-time.rb +125 -0
  321. data/vendor/qwik/util-webrick.rb +176 -0
  322. data/vendor/qwik/version.rb +11 -0
  323. data/vendor/qwik/wabisabi-basic.rb +163 -0
  324. data/vendor/qwik/wabisabi-diff.rb +130 -0
  325. data/vendor/qwik/wabisabi-format-xml.rb +310 -0
  326. data/vendor/qwik/wabisabi-generator.rb +262 -0
  327. data/vendor/qwik/wabisabi-index.rb +174 -0
  328. data/vendor/qwik/wabisabi-table.rb +212 -0
  329. data/vendor/qwik/wabisabi-template.rb +295 -0
  330. data/vendor/qwik/wabisabi-to-htree.rb +111 -0
  331. data/vendor/qwik/wabisabi-to-wiki.rb +690 -0
  332. data/vendor/qwik/wabisabi-traverse.rb +207 -0
  333. data/vendor/qwik/wabisabi-validator.rb +116 -0
  334. data/vendor/qwik/wabisabi.rb +5 -0
  335. metadata +416 -0
@@ -0,0 +1,325 @@
1
+ # -*- coding: shift_jis -*-
2
+ # Copyright (C) 2003-2006 Kouichirou Eto, All rights reserved.
3
+ # This is free software with ABSOLUTELY NO WARRANTY.
4
+ # You can redistribute it and/or modify it under the terms of the GNU GPL 2.
5
+
6
+ $LOAD_PATH.unshift '..' unless $LOAD_PATH.include? '..'
7
+ require 'qwik/act-describe'
8
+
9
+ module Qwik
10
+ class Action
11
+ D_PluginBasic = {
12
+ :dt => 'Basic plugins',
13
+ :dd => 'Simple and Basic plugins.',
14
+ :dc => '* Description
15
+ ** BR plugin
16
+ You can break a line by using <br> element.
17
+ This is {{br}} a test.
18
+ This is {{br}} a test.
19
+ ** Open with new window plugin
20
+ You can make a link to show the page in a new window.
21
+ {{window(http://qwik.jp/)}}
22
+ {{window(http://qwik.jp/)}}
23
+ ** Show last modified plugin
24
+ You can show last modified by this plugin.
25
+ {{last_modified}}
26
+ {{last_modified}}
27
+ ** Information only for a group
28
+ You can specify content only for guests or for members.
29
+ {{only_guest
30
+ You are a guest.
31
+ }}
32
+ {{only_member
33
+ You are a member.
34
+ }}
35
+ {{only_guest
36
+ You are a guest.
37
+ }}
38
+ {{only_member
39
+ You are a member.
40
+ }}
41
+ ** Comment out plugin
42
+ You can comment out the content.
43
+ {{com
44
+ You can not see this line.
45
+ You can not see this line also.
46
+ }}
47
+ {{com
48
+ You can not see this line.
49
+ You can not see this line also.
50
+ }}
51
+ ** My group
52
+ You can see your group list.
53
+ {{my_group}}
54
+ {{my_group}}
55
+ ** Plugin list plugin
56
+ �v���O�C���̈ꗗ��\�����܂��B
57
+ {{plugin_list}}
58
+ {{plugin_list}}
59
+ '
60
+ }
61
+
62
+ D_PluginBasic_ja = {
63
+ :dt => '��{�v���O�C��',
64
+ :dd => '��{�I�ȃv���O�C���̐����ł��B',
65
+ :dc => '* ����
66
+ ** BR�v���O�C��
67
+ ���s���܂��B
68
+ This is {{br}} a test.
69
+ This is {{br}} a test.
70
+ ** �V�K�E�B���h�E�ŕ\��
71
+ �V�����E�B���h�E������āA�����ŕ\�������܂��B
72
+ {{window(http://qwik.jp/)}}
73
+ {{window(http://qwik.jp/)}}
74
+ ** �ŏI�X�V�v���O�C��
75
+ �ŏI�X�V������\�����܂��B
76
+ {{last_modified}}
77
+ {{last_modified}}
78
+ ** ����O���[�v�����\��
79
+ �Q�X�g�����ɕ\�����镔���A�O���[�v�����ɕ\�����镔�����w��ł��܂��B
80
+ {{only_guest
81
+ ���Ȃ��̓Q�X�g�ł��B
82
+ }}
83
+ {{only_member
84
+ ���Ȃ��̓����o�[�ł��B
85
+ }}
86
+ {{only_guest
87
+ ���Ȃ��̓Q�X�g�ł��B
88
+ }}
89
+ {{only_member
90
+ ���Ȃ��̓����o�[�ł��B
91
+ }}
92
+ ** �R�����g�A�E�g�E�v���O�C��
93
+ ����̈���R�����g�A�E�g���܂��B
94
+ {{com
95
+ ���̍s�͌����Ȃ��B
96
+ ���̍s�������Ȃ��B
97
+ }}
98
+ {{com
99
+ ���̍s�͌����Ȃ��B
100
+ ���̍s�������Ȃ��B
101
+ }}
102
+ ** �����̃O���[�v
103
+ �������������Ă���O���[�v�̈ꗗ��\�����܂��B
104
+ {{my_group}}
105
+ {{my_group}}
106
+ ** �v���O�C�����X�g�E�v���O�C��
107
+ �v���O�C���̈ꗗ��\�����܂��B
108
+ {{plugin_list}}
109
+ {{plugin_list}}
110
+ '
111
+ }
112
+
113
+ # ==============================
114
+ def plg_qwik_null
115
+ return ''
116
+ end
117
+
118
+ def plg_qwik_test
119
+ return 'test'
120
+ end
121
+
122
+ # ==============================
123
+ def plg_br
124
+ return [:br]
125
+ end
126
+
127
+ # ==============================
128
+ def plg_pre
129
+ content = yield
130
+ return [:pre, content]
131
+ end
132
+
133
+ # ==============================
134
+ def plg_window(url, text=nil)
135
+ text = url if text.nil?
136
+ a = [:a, {:href=>url, :class=>'external', :target=>'_blank'}, text]
137
+ # FIXME: Recognize the url is external or not.
138
+ return a
139
+ end
140
+
141
+ # ==============================
142
+ def plg_com(*args) # commentout
143
+ #str = yield if block_given?
144
+ return nil # ignore all
145
+ end
146
+
147
+ # ============================== adminmenu
148
+ def plg_menu(cmd, msg=nil)
149
+ return if ! @req.user
150
+ return if ! defined?(@req.base) || @req.base.nil?
151
+ return plg_act('new', cmd) if cmd == 'newpage'
152
+ return plg_ext(cmd) if cmd == 'edit' || cmd == 'wysiwyg'
153
+ return nil
154
+ end
155
+
156
+ def plg_act(act, msg=act)
157
+ return [:a, {:href=>".#{act}"}, _(msg)]
158
+ end
159
+
160
+ def plg_ext(ext, msg=ext)
161
+ return [:a, {:href=>"#{@req.base}.#{ext}"}, _(msg)]
162
+ end
163
+
164
+ # ============================== page attribute
165
+ def page_attribute(ext, msg, base=@req.base)
166
+ return [:span, {:class=>'attribute'},
167
+ [:a, {:href=>base+'.'+ext}, msg]]
168
+ end
169
+
170
+ def plg_last_modified
171
+ return if ! defined?(@req.base) || @req.base.nil?
172
+ page = @site[@req.base]
173
+ return if page.nil?
174
+ date = page.mtime
175
+ return [:span, {:class=>'attribute'}, _('Last modified'), ': ',
176
+ [:em, date.ymd]]
177
+ end
178
+
179
+ def plg_generate_time
180
+ return nil if @req.user.nil?
181
+ return [:span, {:class=>'attribute'}, _('Generation time'), ': ',
182
+ [:em, "__qwik_page_generate_time__", _('seconds')]]
183
+ end
184
+
185
+ # ============================== member control
186
+ def plg_only_guest
187
+ return nil if @req.user
188
+ s = yield
189
+ return if s.nil?
190
+ return c_res(s)
191
+ end
192
+
193
+ def plg_only_member
194
+ return nil if @req.user.nil?
195
+ s = yield
196
+ return if s.nil?
197
+ return c_res(s)
198
+ end
199
+
200
+ # ============================== group
201
+ def plg_my_group
202
+ return nil if @req.user.nil?
203
+ farm = @memory.farm
204
+ group_list = farm.get_my_group(@req.user)
205
+ ul = [:ul]
206
+ group_list.each {|name|
207
+ ul << [:li, [:a, {:href=>"/#{name}/"}, name]]
208
+ }
209
+ return ul
210
+ end
211
+
212
+ # ============================== meta function
213
+ def plg_plugin_list
214
+ desc = descriptions_hash
215
+ plg_desc = plugin_descriptions(desc)
216
+
217
+ ul = [:ul]
218
+ plugin_list.each {|plugin_name|
219
+ if plg_desc[plugin_name]
220
+ desc_link = plg_desc[plugin_name].first
221
+ ul << [:li, [:a, {:href=>"#{desc_link}.describe"}, plugin_name]]
222
+ else
223
+ ul << [:li, plugin_name]
224
+ end
225
+ }
226
+ return ul
227
+ end
228
+
229
+ IGNORE_PLUGINS = [/\Aring_/, /\Amodulobe_/]
230
+ def plugin_list
231
+ return self.methods.grep(/\Aplg_/).map {|name|
232
+ name.sub(/\Aplg_/) {''}
233
+ }.reject {|name|
234
+ IGNORE_PLUGINS.any? {|re| re =~ name }
235
+ }.sort
236
+ end
237
+
238
+ def descriptions_hash
239
+ desc = {}
240
+ description_list.each {|name|
241
+ desc[name] = self.class.const_get("D_#{name}")[:dc]
242
+ }
243
+ return desc
244
+ end
245
+
246
+ def plugin_descriptions(desc)
247
+ plg_desc = {}
248
+ desc.each {|k, v|
249
+ v.each {|line|
250
+ if /\{\{([a-z_]+)/ =~ line
251
+ name = $1
252
+ plg_desc[name] = [] if ! plg_desc[name]
253
+ if ! plg_desc[name].include? k
254
+ plg_desc[name] << k
255
+ end
256
+ end
257
+ }
258
+ }
259
+ return plg_desc
260
+ end
261
+ end
262
+ end
263
+
264
+ if $0 == __FILE__
265
+ require 'qwik/test-common'
266
+ $test = true
267
+ end
268
+
269
+ if defined?($test) && $test
270
+ class TestActBasic < Test::Unit::TestCase
271
+ include TestSession
272
+
273
+ def test_all
274
+ # test_null
275
+ ok_wi [''], '{{qwik_null}}'
276
+
277
+ # test_test
278
+ ok_wi ['test'], '{{qwik_test}}'
279
+
280
+ # test_br
281
+ ok_wi([:br], '{{br}}')
282
+
283
+ # test_pre
284
+ ok_wi [:pre, "t\n"], '{{pre
285
+ t
286
+ }}'
287
+
288
+ # test_window
289
+ ok_wi [:a, {:class=>"external", :target=>'_blank', :href=>'url'}, 't'],
290
+ '{{window(url,t)}}'
291
+ ok_wi [:a, {:class=>"external", :target=>'_blank', :href=>'url'}, 'url'],
292
+ '{{window(url)}}'
293
+
294
+ # test_admin_menu
295
+ ok_wi([:a, {:href=>'.new'}, 'newpage'], '{{menu(newpage)}}')
296
+ ok_wi([:a, {:href=>'1.edit'}, 'edit'], '{{menu(edit)}}')
297
+ ok_wi([], '{{menu(nosuchmenu)}}')
298
+ # test for not logined mode
299
+ #ok_wi('', '{{menu(newpage)}}', nil)
300
+ #ok_wi('', '{{menu(edit)}}', nil)
301
+ #ok_wi('', '{{menu(nosuchmenu)}}', nil)
302
+
303
+ # test_meta_plugin
304
+ #ok_wi ['test'], '{{plugin_list}}'
305
+ w = @action.plg_plugin_list
306
+ eq :ul, w[0]
307
+ end
308
+
309
+ def test_page_attribute
310
+ # test_last_modified
311
+ ok_wi(/Last modified: /, '{{last_modified}}')
312
+
313
+ # test_generate_time
314
+ ok_wi(/Generation time: /, '{{generate_time}}')
315
+
316
+ # test_only_member_or_guest
317
+ t_site_open
318
+ ok_wi([:p, 'm'], "{{only_member\nm\n}}")
319
+ assert_path([], "{{only_member\nm\n}}", nil, "//div[@class='section']")
320
+ ok_wi([], "{{only_guest\ng\n}}")
321
+ assert_path([:p, 'g'], "{{only_guest\ng\n}}",
322
+ nil, "//div[@class='section']")
323
+ end
324
+ end
325
+ end
@@ -0,0 +1,161 @@
1
+ # Copyright (C) 2003-2006 Kouichirou Eto, All rights reserved.
2
+ # This is free software with ABSOLUTELY NO WARRANTY.
3
+ # You can redistribute it and/or modify it under the terms of the GNU GPL 2.
4
+
5
+ $LOAD_PATH.unshift '..' unless $LOAD_PATH.include? '..'
6
+
7
+ module Qwik
8
+ class Action
9
+ D_PluginBook = {
10
+ :dt => 'Book and ISBN plugins',
11
+ :dd => 'Add a link to a book or to search by a phrase.',
12
+ :dc => "* Example
13
+ ** ISBN plugin
14
+ Add a link to a book by isbn.
15
+ {{isbn(4797318325)}}
16
+ {{isbn(4797318325)}}
17
+ {{isbn_amazon(4797318325)}}
18
+ {{isbn_amazon(4797318325)}}
19
+ {{isbn_amazon(4797318325,����)}}
20
+ {{isbn_amazon(4797318325,����)}}
21
+ ** Book Serach plugin
22
+ {{book_search(Wiki)}}
23
+ {{book_search(Wiki)}}
24
+ {{book_search(�u���O)}}
25
+ {{book_search(�u���O)}}
26
+ You can edit the book stores list on [[_BookSearch]].
27
+ "
28
+ }
29
+
30
+ D_PluginBook_ja = {
31
+ :dt => '�{��ISBN�v���O�C��',
32
+ :dd => '�{��{�̌����ւ̃����N�����܂��B',
33
+ :dc => "* ��
34
+ ** ISBN�v���O�C��
35
+ ISBN�Ń����N���܂��B
36
+ {{isbn(4797318325)}}
37
+ {{isbn(4797318325)}}
38
+ {{isbn_amazon(4797318325)}}
39
+ {{isbn_amazon(4797318325)}}
40
+ {{isbn_amazon(4797318325,����)}}
41
+ {{isbn_amazon(4797318325,����)}}
42
+ �����N��̈ꗗ�́A[[_IsbnLink]]�Ŏw��ł��܂��B
43
+ ** �{�̌����v���O�C���B
44
+ �{���������܂��B
45
+ {{book_search(Wiki)}}
46
+ {{book_search(Wiki)}}
47
+ {{book_search(�u���O)}}
48
+ {{book_search(�u���O)}}
49
+ ���������N��̈ꗗ�́A[[_BookSearch]]�Ŏw��ł��܂��B
50
+ "
51
+ }
52
+
53
+ BOOK_SEARCH = '_BookSearch'
54
+
55
+ def plg_book(key)
56
+ page = @site[BOOK_SEARCH]
57
+ ar = []
58
+ ar << "book:#{key} "
59
+ page.wikidb.array.each {|name, args|
60
+ url, encoding = args
61
+ sk = key
62
+ sk = sk.to_sjis.escape if encoding == 'sjis'
63
+ sk = sk.to_euc.escape if encoding == 'euc'
64
+ sk = sk.to_utf8.escape if encoding == 'utf8'
65
+ url = url.index("$1") ? url.sub(/\$1/, sk) : url+sk
66
+ ar << [:a, {:href=>url}, name]
67
+ ar << ' '
68
+ }
69
+ return [:div, {:class=>'box'}, ar]
70
+ end
71
+ alias plg_book_search plg_book
72
+
73
+ def plg_isbn_amazon(isbn, t=nil)
74
+ isbn = isbn.to_s
75
+ msg = t
76
+ msg = "isbn:#{isbn}" if t.nil?
77
+ a = @site.siteconfig['aid']
78
+ aid = "/#{a}" if a
79
+ return [:a, {:href=>"http://www.amazon.co.jp/exec/obidos/ASIN/#{isbn}#{aid}/ref=nosim/"}, msg]
80
+ end
81
+
82
+ ISBN_LINK = '_IsbnLink'
83
+
84
+ def plg_isbn(isbn, t=nil)
85
+ isbn = isbn.to_s
86
+ isbn1 = isbn.gsub(/ISBN/i, '')
87
+ isbn2 = isbn1.gsub(/-/, '')
88
+ a = @site.siteconfig['aid']
89
+ aid = "/#{a}" if a
90
+
91
+ link = @site[ISBN_LINK]
92
+ db = link.wikidb
93
+ ar = []
94
+
95
+ msg = t
96
+ msg = "isbn:#{isbn}" if t.nil?
97
+
98
+ ar << msg
99
+ ar << ' '
100
+
101
+ db.array.each {|name, args|
102
+ args = args.dup
103
+ url = args.shift
104
+ next if url.nil?
105
+
106
+ url = url.sub_str('#{isbn1}', isbn1)
107
+ url = url.sub_str('#{isbn2}', isbn2)
108
+ url = url.sub_str('#{aid}', aid)
109
+ ar << [:a, {:href=>url}, name]
110
+ ar << ' '
111
+ }
112
+
113
+ return [:div, {:class=>'box'}, ar]
114
+ end
115
+ end
116
+ end
117
+
118
+ if $0 == __FILE__
119
+ require 'qwik/test-common'
120
+ $test = true
121
+ end
122
+
123
+ if defined?($test) && $test
124
+ class TestActBook < Test::Unit::TestCase
125
+ include TestSession
126
+
127
+ def test_book
128
+ page = @site['_BookSearch']
129
+ page.store(',utf8,http://example.com/utf8/,utf8
130
+ ,sjis,http://example.com/sjis/,sjis
131
+ ,euc,http://example.com/euc/,euc')
132
+
133
+ ok_wi([:div, {:class=>'box'},
134
+ ['book:�{ ',
135
+ [:a, {:href=>'http://example.com/utf8/%E6%9C%AC'},
136
+ 'utf8'], ' ',
137
+ [:a, {:href=>'http://example.com/sjis/%96%7B'},
138
+ 'sjis'], ' ',
139
+ [:a, {:href=>'http://example.com/euc/%CB%DC'},
140
+ 'euc'], ' ']],
141
+ '{{book_search(�{)}}')
142
+
143
+ # test_isbn
144
+ ok_wi([:a, {:href=>'http://www.amazon.co.jp/exec/obidos/ASIN/4797318325/q02-22/ref=nosim/'}, 'isbn:4797318325'], '{{isbn_amazon(4797318325)}}')
145
+ ok_wi([:a, {:href=>'http://www.amazon.co.jp/exec/obidos/ASIN/4797318325/q02-22/ref=nosim/'}, 't'], '{{isbn_amazon(4797318325,t)}}')
146
+
147
+ page = @site['_IsbnLink']
148
+ page.store(',i1,http://example.com/i1/#{isbn1}
149
+ ,i2,http://example.com/i2/#{isbn2}
150
+ ,aid,http://example.com/aid/#{isbn2}#{aid}
151
+ ')
152
+
153
+ ok_wi([:div, {:class=>'box'}, ['isbn:4797318325', ' ',
154
+ [:a, {:href=>'http://example.com/i1/4797318325'}, 'i1'], ' ',
155
+ [:a, {:href=>'http://example.com/i2/4797318325'}, 'i2'], ' ',
156
+ [:a, {:href=>'http://example.com/aid/4797318325/q02-22'},
157
+ 'aid'], ' ']],
158
+ '{{isbn(4797318325)}}')
159
+ end
160
+ end
161
+ end