qwik2md 0.1.0

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. checksums.yaml +7 -0
  2. data/.gitignore +9 -0
  3. data/.travis.yml +4 -0
  4. data/Gemfile +4 -0
  5. data/README.md +36 -0
  6. data/Rakefile +10 -0
  7. data/bin/console +14 -0
  8. data/bin/setup +8 -0
  9. data/exe/qwik2md +17 -0
  10. data/lib/qwik2md/version.rb +3 -0
  11. data/lib/qwik2md.rb +39 -0
  12. data/qwik2md.gemspec +30 -0
  13. data/vendor/qwik/AUTHORS +10 -0
  14. data/vendor/qwik/COPYING +340 -0
  15. data/vendor/qwik/COPYRIGHT +346 -0
  16. data/vendor/qwik/lib/qwik/Makefile +63 -0
  17. data/vendor/qwik/lib/qwik/Rakefile +17 -0
  18. data/vendor/qwik/lib/qwik/act-aa.rb +83 -0
  19. data/vendor/qwik/lib/qwik/act-archive.rb +386 -0
  20. data/vendor/qwik/lib/qwik/act-attach.rb +304 -0
  21. data/vendor/qwik/lib/qwik/act-backup.rb +236 -0
  22. data/vendor/qwik/lib/qwik/act-basic.rb +325 -0
  23. data/vendor/qwik/lib/qwik/act-book.rb +161 -0
  24. data/vendor/qwik/lib/qwik/act-calc.rb +371 -0
  25. data/vendor/qwik/lib/qwik/act-charset.rb +251 -0
  26. data/vendor/qwik/lib/qwik/act-christel.rb +112 -0
  27. data/vendor/qwik/lib/qwik/act-chronology.rb +149 -0
  28. data/vendor/qwik/lib/qwik/act-code.rb +155 -0
  29. data/vendor/qwik/lib/qwik/act-comment.rb +554 -0
  30. data/vendor/qwik/lib/qwik/act-config.rb +49 -0
  31. data/vendor/qwik/lib/qwik/act-counter.rb +125 -0
  32. data/vendor/qwik/lib/qwik/act-day.rb +96 -0
  33. data/vendor/qwik/lib/qwik/act-describe.rb +135 -0
  34. data/vendor/qwik/lib/qwik/act-diary.rb +109 -0
  35. data/vendor/qwik/lib/qwik/act-edit.rb +317 -0
  36. data/vendor/qwik/lib/qwik/act-embed-html.rb +296 -0
  37. data/vendor/qwik/lib/qwik/act-emode.rb +150 -0
  38. data/vendor/qwik/lib/qwik/act-event.rb +187 -0
  39. data/vendor/qwik/lib/qwik/act-file.rb +303 -0
  40. data/vendor/qwik/lib/qwik/act-files.rb +771 -0
  41. data/vendor/qwik/lib/qwik/act-getpass.rb +295 -0
  42. data/vendor/qwik/lib/qwik/act-history.rb +136 -0
  43. data/vendor/qwik/lib/qwik/act-html.rb +204 -0
  44. data/vendor/qwik/lib/qwik/act-httpauth.rb +147 -0
  45. data/vendor/qwik/lib/qwik/act-include.rb +142 -0
  46. data/vendor/qwik/lib/qwik/act-interwiki.rb +189 -0
  47. data/vendor/qwik/lib/qwik/act-isearch.rb +109 -0
  48. data/vendor/qwik/lib/qwik/act-keywords.rb +137 -0
  49. data/vendor/qwik/lib/qwik/act-lang.rb +81 -0
  50. data/vendor/qwik/lib/qwik/act-license.rb +63 -0
  51. data/vendor/qwik/lib/qwik/act-list.rb +287 -0
  52. data/vendor/qwik/lib/qwik/act-login.rb +410 -0
  53. data/vendor/qwik/lib/qwik/act-logout.rb +60 -0
  54. data/vendor/qwik/lib/qwik/act-mail.rb +159 -0
  55. data/vendor/qwik/lib/qwik/act-map.rb +292 -0
  56. data/vendor/qwik/lib/qwik/act-md5.rb +42 -0
  57. data/vendor/qwik/lib/qwik/act-mdlb.rb +741 -0
  58. data/vendor/qwik/lib/qwik/act-media.rb +416 -0
  59. data/vendor/qwik/lib/qwik/act-member.rb +157 -0
  60. data/vendor/qwik/lib/qwik/act-menu.rb +142 -0
  61. data/vendor/qwik/lib/qwik/act-metadata.rb +323 -0
  62. data/vendor/qwik/lib/qwik/act-mlsubmitform.rb +49 -0
  63. data/vendor/qwik/lib/qwik/act-monitor.rb +167 -0
  64. data/vendor/qwik/lib/qwik/act-new.rb +418 -0
  65. data/vendor/qwik/lib/qwik/act-pagelist.rb +248 -0
  66. data/vendor/qwik/lib/qwik/act-password.rb +145 -0
  67. data/vendor/qwik/lib/qwik/act-plan.rb +210 -0
  68. data/vendor/qwik/lib/qwik/act-povray.rb +230 -0
  69. data/vendor/qwik/lib/qwik/act-presen.rb +380 -0
  70. data/vendor/qwik/lib/qwik/act-redirect.rb +133 -0
  71. data/vendor/qwik/lib/qwik/act-ring.rb +1071 -0
  72. data/vendor/qwik/lib/qwik/act-rrefs.rb +255 -0
  73. data/vendor/qwik/lib/qwik/act-ruby.rb +116 -0
  74. data/vendor/qwik/lib/qwik/act-sample.rb +170 -0
  75. data/vendor/qwik/lib/qwik/act-save.rb +295 -0
  76. data/vendor/qwik/lib/qwik/act-schedule.rb +374 -0
  77. data/vendor/qwik/lib/qwik/act-search.rb +180 -0
  78. data/vendor/qwik/lib/qwik/act-searchwords.rb +51 -0
  79. data/vendor/qwik/lib/qwik/act-sendpass.rb +83 -0
  80. data/vendor/qwik/lib/qwik/act-site.rb +89 -0
  81. data/vendor/qwik/lib/qwik/act-sitebackup.rb +419 -0
  82. data/vendor/qwik/lib/qwik/act-sitelog.rb +118 -0
  83. data/vendor/qwik/lib/qwik/act-smil.rb +299 -0
  84. data/vendor/qwik/lib/qwik/act-status.rb +220 -0
  85. data/vendor/qwik/lib/qwik/act-style.rb +608 -0
  86. data/vendor/qwik/lib/qwik/act-table.rb +263 -0
  87. data/vendor/qwik/lib/qwik/act-tableform.rb +241 -0
  88. data/vendor/qwik/lib/qwik/act-tag.rb +103 -0
  89. data/vendor/qwik/lib/qwik/act-text.rb +70 -0
  90. data/vendor/qwik/lib/qwik/act-textarea.rb +164 -0
  91. data/vendor/qwik/lib/qwik/act-theme.rb +346 -0
  92. data/vendor/qwik/lib/qwik/act-toc.rb +112 -0
  93. data/vendor/qwik/lib/qwik/act-typekey.rb +198 -0
  94. data/vendor/qwik/lib/qwik/act-under-const.rb +94 -0
  95. data/vendor/qwik/lib/qwik/act-webservice.rb +321 -0
  96. data/vendor/qwik/lib/qwik/act-wema.rb +558 -0
  97. data/vendor/qwik/lib/qwik/act-wysiwyg.rb +238 -0
  98. data/vendor/qwik/lib/qwik/action.rb +325 -0
  99. data/vendor/qwik/lib/qwik/autoreload.rb +98 -0
  100. data/vendor/qwik/lib/qwik/bench-bench.rb +28 -0
  101. data/vendor/qwik/lib/qwik/bench-emode.rb +47 -0
  102. data/vendor/qwik/lib/qwik/bench-format-xml.rb +70 -0
  103. data/vendor/qwik/lib/qwik/bench-large-table.rb +62 -0
  104. data/vendor/qwik/lib/qwik/bench-md5.rb +14 -0
  105. data/vendor/qwik/lib/qwik/bench-module-session.rb +19 -0
  106. data/vendor/qwik/lib/qwik/bench-page.rb +50 -0
  107. data/vendor/qwik/lib/qwik/bench-s-md5.rb +28 -0
  108. data/vendor/qwik/lib/qwik/bench-session.rb +25 -0
  109. data/vendor/qwik/lib/qwik/bench-textformat.rb +31 -0
  110. data/vendor/qwik/lib/qwik/catalog-factory.rb +91 -0
  111. data/vendor/qwik/lib/qwik/catalog-ja.rb +479 -0
  112. data/vendor/qwik/lib/qwik/catalog-ml-ja.rb +145 -0
  113. data/vendor/qwik/lib/qwik/check-act-monitor.rb +112 -0
  114. data/vendor/qwik/lib/qwik/check-act-monitor2.rb +46 -0
  115. data/vendor/qwik/lib/qwik/check-act-theme.rb +27 -0
  116. data/vendor/qwik/lib/qwik/check-event.rb +112 -0
  117. data/vendor/qwik/lib/qwik/check-event2.rb +55 -0
  118. data/vendor/qwik/lib/qwik/check-htree-rexml.rb +77 -0
  119. data/vendor/qwik/lib/qwik/check-htree.rb +51 -0
  120. data/vendor/qwik/lib/qwik/check-libxml.rb +135 -0
  121. data/vendor/qwik/lib/qwik/check-many-pages.rb +47 -0
  122. data/vendor/qwik/lib/qwik/check-monitor.rb +33 -0
  123. data/vendor/qwik/lib/qwik/check-observer.rb +67 -0
  124. data/vendor/qwik/lib/qwik/check-server.rb +61 -0
  125. data/vendor/qwik/lib/qwik/check-uuencode.rb +33 -0
  126. data/vendor/qwik/lib/qwik/check-webdav.rb +65 -0
  127. data/vendor/qwik/lib/qwik/check-xml-xpath.rb +27 -0
  128. data/vendor/qwik/lib/qwik/common-backtrace.rb +94 -0
  129. data/vendor/qwik/lib/qwik/common-basic.rb +111 -0
  130. data/vendor/qwik/lib/qwik/common-condition.rb +142 -0
  131. data/vendor/qwik/lib/qwik/common-error.rb +48 -0
  132. data/vendor/qwik/lib/qwik/common-gettext.rb +50 -0
  133. data/vendor/qwik/lib/qwik/common-javascript.rb +45 -0
  134. data/vendor/qwik/lib/qwik/common-notice.rb +132 -0
  135. data/vendor/qwik/lib/qwik/common-plain.rb +105 -0
  136. data/vendor/qwik/lib/qwik/common-plugin.rb +111 -0
  137. data/vendor/qwik/lib/qwik/common-res.rb +76 -0
  138. data/vendor/qwik/lib/qwik/common-resolve.rb +92 -0
  139. data/vendor/qwik/lib/qwik/common-send.rb +171 -0
  140. data/vendor/qwik/lib/qwik/common-session.rb +139 -0
  141. data/vendor/qwik/lib/qwik/common-surface.rb +261 -0
  142. data/vendor/qwik/lib/qwik/common-url.rb +90 -0
  143. data/vendor/qwik/lib/qwik/compat/Makefile +12 -0
  144. data/vendor/qwik/lib/qwik/compat/add_load_path.rb +1 -0
  145. data/vendor/qwik/lib/qwik/config.rb +299 -0
  146. data/vendor/qwik/lib/qwik/db-b-backup.rb +142 -0
  147. data/vendor/qwik/lib/qwik/db-backup.rb +184 -0
  148. data/vendor/qwik/lib/qwik/db-berkeley.rb +306 -0
  149. data/vendor/qwik/lib/qwik/db-filesystem.rb +305 -0
  150. data/vendor/qwik/lib/qwik/db-indexer.rb +154 -0
  151. data/vendor/qwik/lib/qwik/db-searchwords.rb +238 -0
  152. data/vendor/qwik/lib/qwik/description-ja.rb +267 -0
  153. data/vendor/qwik/lib/qwik/description.rb +256 -0
  154. data/vendor/qwik/lib/qwik/dev-add-copyright.rb +23 -0
  155. data/vendor/qwik/lib/qwik/dev-backup.rb +24 -0
  156. data/vendor/qwik/lib/qwik/dev-bench.rb +175 -0
  157. data/vendor/qwik/lib/qwik/dev-calctime.rb +52 -0
  158. data/vendor/qwik/lib/qwik/dev-css-compressor.rb +60 -0
  159. data/vendor/qwik/lib/qwik/dev-extract-catalog.rb +102 -0
  160. data/vendor/qwik/lib/qwik/dev-js-compressor.rb +73 -0
  161. data/vendor/qwik/lib/qwik/dev-release.rb +235 -0
  162. data/vendor/qwik/lib/qwik/dev-replace.rb +353 -0
  163. data/vendor/qwik/lib/qwik/dev-sendmail.rb +25 -0
  164. data/vendor/qwik/lib/qwik/farm.rb +283 -0
  165. data/vendor/qwik/lib/qwik/gettext.rb +56 -0
  166. data/vendor/qwik/lib/qwik/group-cond.rb +157 -0
  167. data/vendor/qwik/lib/qwik/group-config.rb +247 -0
  168. data/vendor/qwik/lib/qwik/group-confirm.rb +147 -0
  169. data/vendor/qwik/lib/qwik/group-db.rb +326 -0
  170. data/vendor/qwik/lib/qwik/group-mail.rb +195 -0
  171. data/vendor/qwik/lib/qwik/group-member.rb +307 -0
  172. data/vendor/qwik/lib/qwik/group-sendmail.rb +231 -0
  173. data/vendor/qwik/lib/qwik/group-site.rb +374 -0
  174. data/vendor/qwik/lib/qwik/group-sweep.rb +63 -0
  175. data/vendor/qwik/lib/qwik/group.rb +157 -0
  176. data/vendor/qwik/lib/qwik/helper.rb +6 -0
  177. data/vendor/qwik/lib/qwik/html-generator.rb +104 -0
  178. data/vendor/qwik/lib/qwik/html-to-wabisabi.rb +148 -0
  179. data/vendor/qwik/lib/qwik/htree-diff.rb +87 -0
  180. data/vendor/qwik/lib/qwik/htree-format-xml.rb +57 -0
  181. data/vendor/qwik/lib/qwik/htree-generator.rb +144 -0
  182. data/vendor/qwik/lib/qwik/htree-get.rb +251 -0
  183. data/vendor/qwik/lib/qwik/htree-html-generator.rb +179 -0
  184. data/vendor/qwik/lib/qwik/htree-template.rb +263 -0
  185. data/vendor/qwik/lib/qwik/htree-to-wabisabi.rb +171 -0
  186. data/vendor/qwik/lib/qwik/loadlib.rb +79 -0
  187. data/vendor/qwik/lib/qwik/logger.rb +115 -0
  188. data/vendor/qwik/lib/qwik/mail-body.rb +171 -0
  189. data/vendor/qwik/lib/qwik/mail-header.rb +474 -0
  190. data/vendor/qwik/lib/qwik/mail-multipart.rb +193 -0
  191. data/vendor/qwik/lib/qwik/mail-parse.rb +147 -0
  192. data/vendor/qwik/lib/qwik/mail.rb +341 -0
  193. data/vendor/qwik/lib/qwik/mailaddress.rb +83 -0
  194. data/vendor/qwik/lib/qwik/mdlb-model.rb +81 -0
  195. data/vendor/qwik/lib/qwik/mdlb-sample.rb +324 -0
  196. data/vendor/qwik/lib/qwik/ml-catalog-factory.rb +27 -0
  197. data/vendor/qwik/lib/qwik/ml-exception.rb +15 -0
  198. data/vendor/qwik/lib/qwik/ml-generator.rb +28 -0
  199. data/vendor/qwik/lib/qwik/ml-gettext.rb +137 -0
  200. data/vendor/qwik/lib/qwik/ml-logger.rb +82 -0
  201. data/vendor/qwik/lib/qwik/ml-memory.rb +65 -0
  202. data/vendor/qwik/lib/qwik/ml-msg-validator.rb +86 -0
  203. data/vendor/qwik/lib/qwik/ml-processor.rb +609 -0
  204. data/vendor/qwik/lib/qwik/ml-quickml-server.rb +122 -0
  205. data/vendor/qwik/lib/qwik/ml-sendmail.rb +0 -0
  206. data/vendor/qwik/lib/qwik/ml-server.rb +107 -0
  207. data/vendor/qwik/lib/qwik/ml-session.rb +348 -0
  208. data/vendor/qwik/lib/qwik/ml-sweeper.rb +101 -0
  209. data/vendor/qwik/lib/qwik/mock-logger.rb +65 -0
  210. data/vendor/qwik/lib/qwik/mock-sendmail.rb +78 -0
  211. data/vendor/qwik/lib/qwik/mock-socket.rb +82 -0
  212. data/vendor/qwik/lib/qwik/modulobe.rb +406 -0
  213. data/vendor/qwik/lib/qwik/mongrel-server.rb +72 -0
  214. data/vendor/qwik/lib/qwik/page-files.rb +249 -0
  215. data/vendor/qwik/lib/qwik/page-generate.rb +82 -0
  216. data/vendor/qwik/lib/qwik/page-get.rb +262 -0
  217. data/vendor/qwik/lib/qwik/page-images.rb +168 -0
  218. data/vendor/qwik/lib/qwik/page-put.rb +128 -0
  219. data/vendor/qwik/lib/qwik/page-rrefs.rb +154 -0
  220. data/vendor/qwik/lib/qwik/page-title.rb +0 -0
  221. data/vendor/qwik/lib/qwik/page-wikidb.rb +234 -0
  222. data/vendor/qwik/lib/qwik/page.rb +67 -0
  223. data/vendor/qwik/lib/qwik/pages.rb +444 -0
  224. data/vendor/qwik/lib/qwik/parse-plugin.rb +249 -0
  225. data/vendor/qwik/lib/qwik/parser-emode.rb +116 -0
  226. data/vendor/qwik/lib/qwik/parser-inline.rb +272 -0
  227. data/vendor/qwik/lib/qwik/parser.rb +349 -0
  228. data/vendor/qwik/lib/qwik/password.rb +183 -0
  229. data/vendor/qwik/lib/qwik/periodic.rb +79 -0
  230. data/vendor/qwik/lib/qwik/qp.rb +56 -0
  231. data/vendor/qwik/lib/qwik/qwik-service.rb +341 -0
  232. data/vendor/qwik/lib/qwik/qwik.rb +5 -0
  233. data/vendor/qwik/lib/qwik/qwikweb-adduser.rb +34 -0
  234. data/vendor/qwik/lib/qwik/qwikweb-catalog-validator.rb +110 -0
  235. data/vendor/qwik/lib/qwik/qwikweb-incgen.rb +28 -0
  236. data/vendor/qwik/lib/qwik/qwikweb-makesite.rb +41 -0
  237. data/vendor/qwik/lib/qwik/qwikweb-server.rb +44 -0
  238. data/vendor/qwik/lib/qwik/qwikweb-showpassword.rb +26 -0
  239. data/vendor/qwik/lib/qwik/qwikweb-watchlog.rb +67 -0
  240. data/vendor/qwik/lib/qwik/request-path.rb +304 -0
  241. data/vendor/qwik/lib/qwik/request-ua.rb +76 -0
  242. data/vendor/qwik/lib/qwik/request-webrick.rb +81 -0
  243. data/vendor/qwik/lib/qwik/request.rb +91 -0
  244. data/vendor/qwik/lib/qwik/resolve-tdiary.rb +292 -0
  245. data/vendor/qwik/lib/qwik/resolve.rb +121 -0
  246. data/vendor/qwik/lib/qwik/response.rb +228 -0
  247. data/vendor/qwik/lib/qwik/server-memory.rb +57 -0
  248. data/vendor/qwik/lib/qwik/server-webrick.rb +102 -0
  249. data/vendor/qwik/lib/qwik/server.rb +252 -0
  250. data/vendor/qwik/lib/qwik/site-config.rb +149 -0
  251. data/vendor/qwik/lib/qwik/site-db.rb +136 -0
  252. data/vendor/qwik/lib/qwik/site-event.rb +162 -0
  253. data/vendor/qwik/lib/qwik/site-files.rb +86 -0
  254. data/vendor/qwik/lib/qwik/site-group.rb +103 -0
  255. data/vendor/qwik/lib/qwik/site-index.rb +47 -0
  256. data/vendor/qwik/lib/qwik/site-log.rb +64 -0
  257. data/vendor/qwik/lib/qwik/site-member.rb +230 -0
  258. data/vendor/qwik/lib/qwik/site-monitor.rb +97 -0
  259. data/vendor/qwik/lib/qwik/site-pages.rb +62 -0
  260. data/vendor/qwik/lib/qwik/site-plan.rb +139 -0
  261. data/vendor/qwik/lib/qwik/site-report.rb +282 -0
  262. data/vendor/qwik/lib/qwik/site-resolve.rb +230 -0
  263. data/vendor/qwik/lib/qwik/site-rrefs.rb +18 -0
  264. data/vendor/qwik/lib/qwik/site-search.rb +180 -0
  265. data/vendor/qwik/lib/qwik/site-timeline.rb +153 -0
  266. data/vendor/qwik/lib/qwik/site-url.rb +189 -0
  267. data/vendor/qwik/lib/qwik/site.rb +76 -0
  268. data/vendor/qwik/lib/qwik/smil-time.rb +105 -0
  269. data/vendor/qwik/lib/qwik/smtp-session.rb +331 -0
  270. data/vendor/qwik/lib/qwik/template-generator.rb +149 -0
  271. data/vendor/qwik/lib/qwik/template.rb +85 -0
  272. data/vendor/qwik/lib/qwik/test-common.rb +10 -0
  273. data/vendor/qwik/lib/qwik/test-ml-info.rb +225 -0
  274. data/vendor/qwik/lib/qwik/test-module-ml.rb +142 -0
  275. data/vendor/qwik/lib/qwik/test-module-path.rb +110 -0
  276. data/vendor/qwik/lib/qwik/test-module-public.rb +70 -0
  277. data/vendor/qwik/lib/qwik/test-module-server.rb +98 -0
  278. data/vendor/qwik/lib/qwik/test-module-session.rb +264 -0
  279. data/vendor/qwik/lib/qwik/test-module-suite.rb +91 -0
  280. data/vendor/qwik/lib/qwik/test-ms-applemail.rb +59 -0
  281. data/vendor/qwik/lib/qwik/test-ms-attach.rb +174 -0
  282. data/vendor/qwik/lib/qwik/test-ms-basic.rb +40 -0
  283. data/vendor/qwik/lib/qwik/test-ms-close.rb +35 -0
  284. data/vendor/qwik/lib/qwik/test-ms-confirm.rb +75 -0
  285. data/vendor/qwik/lib/qwik/test-ms-ignore-spam.rb +57 -0
  286. data/vendor/qwik/lib/qwik/test-ms-japanese.rb +97 -0
  287. data/vendor/qwik/lib/qwik/test-ms-jfilename.rb +82 -0
  288. data/vendor/qwik/lib/qwik/test-ms-large.rb +58 -0
  289. data/vendor/qwik/lib/qwik/test-ms-member.rb +103 -0
  290. data/vendor/qwik/lib/qwik/test-ms-multipart.rb +84 -0
  291. data/vendor/qwik/lib/qwik/test-ms-org.rb +129 -0
  292. data/vendor/qwik/lib/qwik/test-ms-plan.rb +130 -0
  293. data/vendor/qwik/lib/qwik/test-ms-post.rb +53 -0
  294. data/vendor/qwik/lib/qwik/test-ms-quopri.rb +76 -0
  295. data/vendor/qwik/lib/qwik/test-sub-quopri.rb +45 -0
  296. data/vendor/qwik/lib/qwik/test-submit-base64.rb +59 -0
  297. data/vendor/qwik/lib/qwik/test-submit-forward.rb +61 -0
  298. data/vendor/qwik/lib/qwik/test-submit-html-mail.rb +52 -0
  299. data/vendor/qwik/lib/qwik/test-submit-japanese.rb +135 -0
  300. data/vendor/qwik/lib/qwik/test-submit-jfilename.rb +144 -0
  301. data/vendor/qwik/lib/qwik/test-submit-uuencode.rb +71 -0
  302. data/vendor/qwik/lib/qwik/test-suite-all.rb +8 -0
  303. data/vendor/qwik/lib/qwik/test-suite-basic.rb +9 -0
  304. data/vendor/qwik/lib/qwik/test-suite-ml.rb +9 -0
  305. data/vendor/qwik/lib/qwik/test-typekey.rb +64 -0
  306. data/vendor/qwik/lib/qwik/testunit.rb +45 -0
  307. data/vendor/qwik/lib/qwik/tokenizer-inline.rb +288 -0
  308. data/vendor/qwik/lib/qwik/tokenizer.rb +331 -0
  309. data/vendor/qwik/lib/qwik/typekey.rb +160 -0
  310. data/vendor/qwik/lib/qwik/util-basic.rb +135 -0
  311. data/vendor/qwik/lib/qwik/util-charset.rb +331 -0
  312. data/vendor/qwik/lib/qwik/util-css.rb +56 -0
  313. data/vendor/qwik/lib/qwik/util-csv-tokenizer.rb +113 -0
  314. data/vendor/qwik/lib/qwik/util-filename.rb +112 -0
  315. data/vendor/qwik/lib/qwik/util-pathname.rb +202 -0
  316. data/vendor/qwik/lib/qwik/util-pid.rb +58 -0
  317. data/vendor/qwik/lib/qwik/util-safe.rb +67 -0
  318. data/vendor/qwik/lib/qwik/util-sendmail.rb +273 -0
  319. data/vendor/qwik/lib/qwik/util-string.rb +202 -0
  320. data/vendor/qwik/lib/qwik/util-time.rb +125 -0
  321. data/vendor/qwik/lib/qwik/util-webrick.rb +176 -0
  322. data/vendor/qwik/lib/qwik/version.rb +11 -0
  323. data/vendor/qwik/lib/qwik/wabisabi-basic.rb +163 -0
  324. data/vendor/qwik/lib/qwik/wabisabi-diff.rb +130 -0
  325. data/vendor/qwik/lib/qwik/wabisabi-format-xml.rb +310 -0
  326. data/vendor/qwik/lib/qwik/wabisabi-generator.rb +262 -0
  327. data/vendor/qwik/lib/qwik/wabisabi-index.rb +174 -0
  328. data/vendor/qwik/lib/qwik/wabisabi-table.rb +212 -0
  329. data/vendor/qwik/lib/qwik/wabisabi-template.rb +295 -0
  330. data/vendor/qwik/lib/qwik/wabisabi-to-htree.rb +111 -0
  331. data/vendor/qwik/lib/qwik/wabisabi-to-wiki.rb +690 -0
  332. data/vendor/qwik/lib/qwik/wabisabi-traverse.rb +207 -0
  333. data/vendor/qwik/lib/qwik/wabisabi-validator.rb +116 -0
  334. data/vendor/qwik/lib/qwik/wabisabi.rb +5 -0
  335. metadata +492 -0
@@ -0,0 +1,50 @@
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
+ require 'qwik/catalog-factory'
7
+ require 'qwik/gettext'
8
+
9
+ module Qwik
10
+ class Action
11
+ include GetText
12
+
13
+ def init_gettext
14
+ init_catalog(@memory.catalog, @req.accept_language)
15
+ end
16
+
17
+ def init_catalog(catalog_factory, langs)
18
+ langs.each {|lang|
19
+ catalog = catalog_factory.get_catalog(lang)
20
+ if catalog
21
+ set_catalog(catalog) # GetText::set_catalog
22
+ return
23
+ end
24
+ }
25
+ end
26
+ end
27
+ end
28
+
29
+ if $0 == __FILE__
30
+ require 'qwik/test-common'
31
+ $test = true
32
+ end
33
+
34
+ if defined?($test) && $test
35
+ class TestCommonGettext < Test::Unit::TestCase
36
+ include TestSession
37
+
38
+ def test_init_catalog
39
+ res = session
40
+
41
+ accept_languages = ['en']
42
+ @action.init_catalog(@memory.catalog, accept_languages)
43
+ ok_eq('hello', @action._('hello'))
44
+
45
+ accept_languages = ['ja']
46
+ @action.init_catalog(@memory.catalog, accept_languages)
47
+ ok_eq('こんにちは', @action._('hello'))
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,45 @@
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
+ #JAVASCRIPT_FILES = %w(prototype scriptaculous base niftypp debugwindow)
10
+ JAVASCRIPT_FILES = %w(base niftypp se_hilite_jp)
11
+
12
+ def self.generate_js
13
+ return JAVASCRIPT_FILES.map {|f|
14
+ generate_script("js/#{f}")
15
+ }
16
+ end
17
+
18
+ def self.generate_script(f)
19
+ return [:script, {:type=>'text/javascript', :src=>".theme/#{f}.js"}, '']
20
+ end
21
+ end
22
+ end
23
+
24
+ if $0 == __FILE__
25
+ require 'qwik/test-common'
26
+ $test = true
27
+ end
28
+
29
+ if defined?($test) && $test
30
+ class TestCommon < Test::Unit::TestCase
31
+ include TestSession
32
+
33
+ def test_generate_js
34
+ c = Qwik::Action
35
+ eq [:script, {:src=>'.theme/t.js', :type=>'text/javascript'}, ''],
36
+ c.generate_script('t')
37
+ # eq [[:script, {:src=>'.theme/js/base.js', :type=>'text/javascript'}, ''],
38
+ # [:script, {:src=>'.theme/js/niftypp.js', :type=>'text/javascript'},
39
+ # ''],
40
+ # [:script, {:src=>'.theme/js/debugwindow.js',
41
+ # :type=>'text/javascript'}, '']],
42
+ # c.generate_js
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,132 @@
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
+ require 'qwik/common-error'
7
+
8
+ module Qwik
9
+ class Action
10
+ # Method for testing page design.
11
+ def act_test_notice
12
+ w = login_show_login_page('http://example.com/HelloQwik/')
13
+ c_notice('act_test_notice') { w }
14
+ end
15
+
16
+ def c_notice(title, url=nil, status=200, sec=0, &b)
17
+ msg = yield
18
+ generate_notice_page(status, title, url, msg, sec)
19
+ end
20
+
21
+ def c_nredirect(title, url, &b)
22
+ msg = ''
23
+ msg = yield if block_given?
24
+ c_set_location(c_relative_to_absolute(url))
25
+ generate_notice_page(302, title, url, msg)
26
+ end
27
+
28
+ def generate_notice_page(status, title, url=nil, msg='', sec=0)
29
+ #url = nil # for debug
30
+ @res.status = status
31
+ template = @memory.template.get('notice')
32
+ @res.body = Action.notice_generate(template, title, msg, url, false, sec)
33
+ c_set_html
34
+ c_set_no_cache
35
+ return nil
36
+ end
37
+
38
+ def self.notice_generate(template, title, msg, url=nil,
39
+ redirectflag=false, sec=0)
40
+ w = template.get_tag('head')
41
+
42
+ # insert title
43
+ w.insert(1, [:title, title])
44
+
45
+ # insert JavaScript
46
+ js = generate_js
47
+ w.insert(w.length, *js)
48
+
49
+ # insert meta
50
+ w << [:meta, {:name=>'ROBOTS', :content=>'NOINDEX,NOFOLLOW'}]
51
+ if url && ! redirectflag # redirect
52
+ w << [:meta, {'http-equiv'=>'Refresh',
53
+ :content=>"#{sec}; url=#{url}"}]
54
+ end
55
+
56
+ # insert h1
57
+ w = template.get_tag('h1')
58
+ w << title
59
+
60
+ # insert section
61
+ w = template.get_by_class('section')
62
+ w << msg
63
+
64
+ template
65
+ end
66
+ end
67
+ end
68
+
69
+ if $0 == __FILE__
70
+ require 'qwik/test-common'
71
+ $test = true
72
+ end
73
+
74
+ if defined?($test) && $test
75
+ class TestCommonNotice < Test::Unit::TestCase
76
+ include TestSession
77
+
78
+ def test_all
79
+ res = session
80
+
81
+ @action.generate_notice_page(200, 'title') { 'msg' }
82
+ eq 200, res.status
83
+ ok_title 'title'
84
+
85
+ @action.generate_notice_page(200, 'title', 'u') { 'msg' }
86
+ eq 200, res.status
87
+ ok_title 'title'
88
+ ok_xp([:meta, {:content=>'0; url=u', 'http-equiv'=>'Refresh'}],
89
+ 'meta[2]', res)
90
+
91
+ @action.c_notice('c_notice title') { 'msg' }
92
+ eq 200, res.status
93
+ ok_title 'c_notice title'
94
+
95
+ t_add_user
96
+
97
+ res = session('/test/.test_notice')
98
+ ok_title 'act_test_notice'
99
+ end
100
+
101
+ def test_c_nredirect
102
+ res = session
103
+ @action.c_nredirect('t', 't.html')
104
+ eq 'http://example.com/test/t.html', res['Location']
105
+ @action.c_nredirect('t', 'http://e.com/')
106
+ eq 'http://e.com/', res['Location']
107
+ end
108
+
109
+ def test_notice_generate
110
+ template = @memory.template.get('notice')
111
+ eq [:h1], template.get_tag('h1')
112
+ eq [:div, {:class=>'section'}],
113
+ template.get_by_class('section')
114
+
115
+ res = Qwik::Action.notice_generate(template, 'title', 'msg')
116
+ eq [:title, 'title'], res.get_tag('title')
117
+ # eq [:script, {:src=>'.theme/js/base.js',
118
+ # :type=>'text/javascript'}, ''], res.get_tag('script')
119
+ eq [:meta, {:content=>'NOINDEX,NOFOLLOW', :name=>'ROBOTS'}],
120
+ res.get_tag('meta')
121
+ eq [:h1, 'title'], res.get_tag('h1')
122
+ eq [:div, {:class=>'section'}, 'msg'],
123
+ res.get_path('//div[@class="section"]')
124
+ eq nil, res.get_tag('meta[2]') # not redirected
125
+
126
+ template = @memory.template.get('notice')
127
+ res = Qwik::Action.notice_generate(template, 'title', 'msg', 'url')
128
+ eq [:meta, {:content=>'0; url=url', 'http-equiv'=>'Refresh'}],
129
+ res.get_tag('meta[2]') # redirected
130
+ end
131
+ end
132
+ end
@@ -0,0 +1,105 @@
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
+ # For page design check.
10
+ def act_test_plain
11
+ w = c_page_res('TextFormat')
12
+ c_plain('act_test_plain') { w }
13
+ end
14
+
15
+ def c_plain(title, status=200, &b)
16
+ msg = yield
17
+ generate_plain_page(status, title, msg)
18
+ end
19
+
20
+ def generate_plain_page(status, title, msg)
21
+ c_set_status(status)
22
+ c_set_html
23
+ c_set_no_cache
24
+ template = @memory.template.get('plain')
25
+ body = Action.plain_generate(template, title, msg)
26
+ c_set_body(body)
27
+ nil
28
+ end
29
+
30
+ def self.plain_generate(template, title, msg)
31
+ w = template.get_tag('head')
32
+
33
+ # insert title
34
+ w.insert(1, [:title, title])
35
+
36
+ # insert JavaScript
37
+ js = generate_js
38
+ w.insert(w.length, *js)
39
+
40
+ # insert meta
41
+ w << [:meta, {:name=>'ROBOTS', :content=>'NOINDEX,NOFOLLOW'}]
42
+
43
+ # insert h1
44
+ w = template.get_tag('h1')
45
+ w << title
46
+
47
+ # insert main
48
+ w = template.get_by_class('main')
49
+ w << msg
50
+
51
+ template
52
+ end
53
+ end
54
+ end
55
+
56
+ if $0 == __FILE__
57
+ require 'qwik/test-common'
58
+ $test = true
59
+ end
60
+
61
+ if defined?($test) && $test
62
+ class TestActPlain < Test::Unit::TestCase
63
+ include TestSession
64
+
65
+ def test_test_plain
66
+ t_add_user
67
+ res = session('/test/.test_plain')
68
+ ok_title 'act_test_plain'
69
+ end
70
+
71
+ def test_all
72
+ res = session
73
+
74
+ @action.generate_plain_page(200, 'title', 'msg')
75
+ ok_eq(200, res.status)
76
+ ok_title 'title'
77
+
78
+ @action.c_plain('c_plain title'){'msg'}
79
+ ok_eq(200, res.status)
80
+ ok_title 'c_plain title'
81
+ end
82
+
83
+ def test_plain_generate
84
+ res = session
85
+
86
+ # test_original_template
87
+ template = @memory.template.get('plain')
88
+ ok_eq([:h1], template.get_tag('h1'))
89
+ ok_eq([:div, {:class=>'main'}],
90
+ template.get_by_class('main'))
91
+
92
+ # test_plain_generate
93
+ res = Qwik::Action.plain_generate(template, 'title', 'msg')
94
+ ok_eq([:title, 'title'], res.get_tag('title'))
95
+ # ok_eq([:script, {:src=>'.theme/js/base.js',
96
+ # :type=>'text/javascript'}, ''], res.get_tag('script'))
97
+ ok_eq([:meta, {:content=>'NOINDEX,NOFOLLOW', :name=>'ROBOTS'}],
98
+ res.get_tag('meta'))
99
+ ok_eq([:h1, 'title'], res.get_tag('h1'))
100
+ ok_eq([:div, {:class=>'main'}, 'msg'],
101
+ res.get_path("//div[@class='main']"))
102
+ ok_eq(nil, res.get_tag('meta[2]')) # not redirected
103
+ end
104
+ end
105
+ end
@@ -0,0 +1,111 @@
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
+ require 'qwik/util-csv-tokenizer'
7
+
8
+ module Qwik
9
+ class Action
10
+ def c_call_plugin(method, param, &b)
11
+ args = nil
12
+ args = Action.plugin_parse_args(param) if param && !param.empty?
13
+ args ||= []
14
+ args.each {|s|
15
+ s.set_page_charset
16
+ }
17
+ m = "plg_#{method}"
18
+ begin
19
+ return self.send(m, *args, &b) if self.respond_to?(m)
20
+ return [:span, {:class=>'plg_error'}, 'nosuch plugin | ',
21
+ [:strong, method]]
22
+ rescue
23
+ #raise if @config.test || @config.debug
24
+ raise if @config.test
25
+
26
+ h = @req.fromhost
27
+ if Action.from_local?(h)
28
+ return PrettyBacktrace.to_html($!) # common-backtrace
29
+ else
30
+ return [:span, {:class=>'plg_error'}, 'plugin error | ',
31
+ [:strong, method]]
32
+ end
33
+ end
34
+ end
35
+
36
+ def self.plugin_parse_args(param)
37
+ args = CSVTokenizer.csv_split(param)
38
+ args.collect! {|a|
39
+ case a
40
+ when /\A'(.+)'$/, /^"(.+)"\z/
41
+ $1
42
+ else
43
+ a
44
+ end
45
+ }
46
+ args
47
+ end
48
+
49
+ def self.from_local?(h)
50
+ if h == 'localhost' ||
51
+ h == '127.0.0.1' ||
52
+ /\A\w+\z/ =~ h ||
53
+ /\A192\.168\..+\z/ =~ h ||
54
+ /\A150\.29\.151/ =~ h ||
55
+ /\A61\.193\.236/ =~ h
56
+ return true
57
+ end
58
+ return false
59
+ end
60
+ end
61
+ end
62
+
63
+ if $0 == __FILE__
64
+ require 'qwik/test-common'
65
+ $test = true
66
+ end
67
+
68
+ if defined?($test) && $test
69
+ class TestActPlugin < Test::Unit::TestCase
70
+ include TestSession
71
+
72
+ def ok(e, s)
73
+ eq e, Qwik::Action.plugin_parse_args(s)
74
+ end
75
+
76
+ def test_parse_args
77
+ ok ['a'], "'a'"
78
+ ok ['a'], "\"a\""
79
+ ok ['<'], '<'
80
+ ok ['<'], "'<'"
81
+ ok ['a b'], 'a b'
82
+ end
83
+
84
+ def ok_plugin(e, ar)
85
+ eq e, @action.c_call_plugin(*ar)
86
+ end
87
+
88
+ def test_all
89
+ res = session
90
+
91
+ # test_from_local?
92
+ c = Qwik::Action
93
+ eq true, c.from_local?('localhost')
94
+ eq true, c.from_local?('win')
95
+ eq true, c.from_local?('127.0.0.1')
96
+ eq true, c.from_local?('192.168.0.1')
97
+ eq true, c.from_local?('192.168.2.1')
98
+ eq false, c.from_local?('www.example.com')
99
+
100
+ # test_call_plugin
101
+ ok_plugin 'test', ['qwik_test', '']
102
+ ok_plugin [:span, {:class=>'plg_error'}, 'nosuch plugin | ',
103
+ [:strong, 'nosuch']], ['nosuch', '']
104
+
105
+ t_without_testmode {
106
+ res = @action.c_call_plugin('_qwik_test_for_raise_exception', '')
107
+ eq :h3, res[0][0]
108
+ }
109
+ end
110
+ end
111
+ end
@@ -0,0 +1,76 @@
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
+ require 'qwik/parser'
7
+ require 'qwik/resolve'
8
+ require 'qwik/page-generate'
9
+
10
+ module Qwik
11
+ class Action
12
+ def p_error(msg)
13
+ return [:div, {:class=>'error'}, [:strong, _('Error'), ':'], ' ', msg]
14
+ end
15
+
16
+ # ==================== generate from string
17
+ def c_tokenize(str)
18
+ return TextTokenizer.tokenize(str)
19
+ end
20
+
21
+ def c_parse(str)
22
+ tokens = TextTokenizer.tokenize(str)
23
+ return TextParser.make_tree(tokens)
24
+ end
25
+
26
+ def c_res(str)
27
+ tokens = TextTokenizer.tokenize(str)
28
+ tree = TextParser.make_tree(tokens)
29
+ return Resolver.resolve(@site, self, tree)
30
+ end
31
+
32
+ # ==================== generate for page
33
+ def c_page_res(pagename)
34
+ page = @site[pagename]
35
+ return nil if page.nil?
36
+ tree = page.get_tree
37
+ return Resolver.resolve(@site, self, tree)
38
+ end
39
+ end
40
+ end
41
+
42
+ if $0 == __FILE__
43
+ require 'qwik/test-common'
44
+ $test = true
45
+ end
46
+
47
+ if defined?($test) && $test
48
+ class TestActGenerate < Test::Unit::TestCase
49
+ include TestSession
50
+
51
+ def test_all
52
+ res = session
53
+ a = @action
54
+
55
+ # test_p_error
56
+ eq [:div, {:class=>'error'}, [:strong, 'Error', ':'], ' ', 'e'],
57
+ a.p_error('e')
58
+
59
+ # test_c_tokenize
60
+ eq [[:text, "a"], [:text, "b"]], a.c_tokenize("a\nb")
61
+
62
+ # test_c_parse
63
+ eq [[:p, 'a', "\n", 'b']], a.c_parse("a\nb")
64
+
65
+ # test_c_page_res
66
+ page = @site.create_new
67
+ page.store('* t')
68
+ eq [[:h2, 't']], a.c_page_res('1')
69
+
70
+ page = @site.create_new
71
+ page.store('[[1]]')
72
+ eq [[:p, [:a, {:href=>'1.html'}, 't']]], a.c_page_res('2')
73
+ # FIXME: The cache should be cleaned.
74
+ end
75
+ end
76
+ end
@@ -0,0 +1,92 @@
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
+ require 'qwik/wabisabi-template'
7
+
8
+ module Qwik
9
+ class Action
10
+ def resolve_all_plugin(wabisabi)
11
+ return wabisabi.each_tag(:plugin) {|w|
12
+ resolve_plugin(w)
13
+ }
14
+ end
15
+
16
+ # Make index before call this method. Use parent.
17
+ def nunuresolve_all_plugin(wabisabi)
18
+ #wabisabi.make_index
19
+ wabisabi.index_each_tag(:plugin) {|e|
20
+ resolve_plugin(e)
21
+ }
22
+ return wabisabi
23
+ end
24
+
25
+ def nu2_resolve_all_plugin(wabisabi)
26
+ wabisabi.make_index
27
+ return wabisabi.index_each_tag(:plugin) {|e|
28
+ new_ele = resolve_plugin(e)
29
+ e.replace(new_ele)
30
+ }
31
+ end
32
+
33
+ def resolve_plugin(w)
34
+ attr = w.attr
35
+ return [] if attr.nil?
36
+
37
+ method = attr[:method]
38
+ return [] if method.nil? || method.empty?
39
+
40
+ param = attr[:param]
41
+ param ||= ''
42
+
43
+ if w[2]
44
+ data = w[2].to_s
45
+ result = self.c_call_plugin(method, param) { data }
46
+ else
47
+ result = self.c_call_plugin(method, param)
48
+ end
49
+
50
+ result = [] if result.nil?
51
+ #result = [] if result.empty?
52
+ result = [result] if ! result.is_a?(Array)
53
+ return result
54
+ end
55
+ end
56
+ end
57
+
58
+ if $0 == __FILE__
59
+ require 'qwik/test-common'
60
+ $test = true
61
+ end
62
+
63
+ if defined?($test) && $test
64
+ class TestActResolve < Test::Unit::TestCase
65
+ include TestSession
66
+
67
+ def ok(e, w)
68
+ eq e, @action.resolve_plugin(w)
69
+ end
70
+
71
+ def test_resolve_plugin
72
+ res = session
73
+ ok [], [:a]
74
+ ok [], [[:plugin]] # error
75
+ ok [], [[:plugin, 't']] # error
76
+ ok [:br], [:plugin, {:method=>'br', :param=>''}, '']
77
+ end
78
+
79
+ def ok_all(e, w)
80
+ w.make_index
81
+ eq e, @action.resolve_all_plugin(w)
82
+ end
83
+
84
+ def test_resolve_all_plugin
85
+ res = session
86
+ ok_all [[:br]], [[:plugin, {:method=>'br', :param=>''}, '']]
87
+ ok_all [[:span, {:class=>"plg_error"}, "nosuch plugin | ",
88
+ [:strong, "nosuchplugin"]]],
89
+ [[:plugin, {:method=>'nosuchplugin', :param=>''}, '']]
90
+ end
91
+ end
92
+ end