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,171 @@
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 << 'compat' unless $LOAD_PATH.include? 'compat'
6
+ require 'htree'
7
+
8
+ $LOAD_PATH.unshift '..' unless $LOAD_PATH.include? '..'
9
+
10
+ module HTree
11
+ class Doc
12
+ def to_wabisabi
13
+ return children.map {|child|
14
+ child.to_wabisabi
15
+ }
16
+ end
17
+ end
18
+
19
+ class XMLDecl
20
+ def to_wabisabi
21
+ w = [:'?xml']
22
+ w << @version
23
+ w << @encoding if @encoding
24
+ w << @standalone ? 'yes' : 'no' if @standalone
25
+ return w
26
+ end
27
+ end
28
+
29
+ class DocType
30
+ def to_wabisabi
31
+ w = [:'!DOCTYPE']
32
+ w << root_element_name
33
+ w << 'PUBLIC'
34
+ w << public_identifier
35
+ w << system_identifier
36
+ return w
37
+ end
38
+ end
39
+
40
+ module Node
41
+ def to_wabisabi
42
+ ar = []
43
+
44
+ element_name = name.sub('{http://www.w3.org/1999/xhtml}', '').intern
45
+ ar << element_name
46
+
47
+ if 0 < attributes.length
48
+ h = {}
49
+ attributes.each {|k, v|
50
+ h[k.to_s.intern] = v.to_s
51
+ }
52
+ ar << h
53
+ end
54
+
55
+ children.each {|h|
56
+ case h
57
+ when Elem, Text, Comment, BogusETag
58
+ ar << h.to_wabisabi
59
+ else
60
+ p 'what?', h
61
+ end
62
+ }
63
+
64
+ return ar
65
+ end
66
+ end
67
+
68
+ class Text
69
+ def to_wabisabi
70
+ return to_s
71
+ end
72
+ end
73
+
74
+ class Comment
75
+ def to_wabisabi
76
+ return [:'!--', @content]
77
+ end
78
+ end
79
+
80
+ class BogusETag
81
+ def to_wabisabi
82
+ return ''
83
+ end
84
+ end
85
+ end
86
+
87
+ if $0 == __FILE__
88
+ require 'qwik/testunit'
89
+ $test = true
90
+ end
91
+
92
+ if defined?($test) && $test
93
+ class TestHTreeToWabisabi < Test::Unit::TestCase
94
+ def ok_ht(e, str)
95
+ ok_eq(e, HTree(str).to_wabisabi)
96
+ end
97
+
98
+ def ok(e, htree)
99
+ ok_eq(e, htree.to_wabisabi)
100
+ end
101
+
102
+ def test_doc
103
+ ok([[:'!DOCTYPE', 'html', 'PUBLIC',
104
+ '-//W3C//DTD html 4.01 Transitional//EN',
105
+ 'http://www.w3.org/TR/html4/loose.dtd'],
106
+ [:html, [:head, [:title, 't']], [:body, [:p, 'b']]]],
107
+ HTree('<!DOCTYPE HTML PUBLIC "-//W3C//DTD html 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><title>t</title></head><body><p>b</p></body></html>'))
108
+
109
+ e = HTree::Elem.new('a')
110
+ doc = HTree::Doc.new(e)
111
+ ok_eq('#<HTree::Doc {emptyelem <a>}>', doc.inspect)
112
+ ok([[:a]], doc)
113
+ end
114
+
115
+ def test_xmldecl
116
+ ok_ht([[:'?xml', '1.0', 'utf-8']],
117
+ '<?xml version="1.0" encoding="utf-8"?>')
118
+
119
+ e = HTree::XMLDecl.new('1.0', 'utf-8')
120
+ ok_eq('{xmldecl }', e.inspect)
121
+ ok([:'?xml', '1.0', 'utf-8'], e)
122
+ end
123
+
124
+ def test_doctype
125
+ ok_ht([[:'!DOCTYPE', 'html', 'PUBLIC',
126
+ '-//W3C//DTD html 4.01 Transitional//EN',
127
+ 'http://www.w3.org/TR/html4/loose.dtd']],
128
+ '<!DOCTYPE HTML PUBLIC "-//W3C//DTD html 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">')
129
+
130
+ e = HTree::DocType.new('HTML', '-//W3C//DTD html 4.01 Transitional//EN',
131
+ 'http://www.w3.org/TR/html4/loose.dtd')
132
+ # ok_eq('{doctype <!DOCTYPE HTML PUBLIC "-//W3C//DTD html 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">}', e.inspect)
133
+ ok_eq("PUBLIC \"-//W3C//DTD html 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\"", e.generate_content)
134
+ ok([:'!DOCTYPE', 'HTML', 'PUBLIC',
135
+ '-//W3C//DTD html 4.01 Transitional//EN',
136
+ 'http://www.w3.org/TR/html4/loose.dtd'], e)
137
+ end
138
+
139
+ def test_node
140
+ ok_ht([[:a]], '<a/>')
141
+ ok_ht([[:a]], '<a></a>')
142
+ ok_ht([[:a, [:b]]], '<a><b/></a>')
143
+ ok_ht([[:a, {:href=>'foo.html'}]], "<a href='foo.html'></a>")
144
+
145
+ e = HTree::Elem.new('a')
146
+ ok([:a], e) # test_elem
147
+ e = HTree::Elem.new('b', e) # test_elem_with_elem
148
+ ok([:b, [:a]], e)
149
+ e = HTree::Elem.new('a', {'href'=>'foo.html'}) # test_elem_with_attr
150
+ ok([:a, {:href=>'foo.html'}], e)
151
+ end
152
+
153
+ def test_text
154
+ ok_ht(['a'], 'a')
155
+ e = HTree::Text.new('a')
156
+ ok('a', e)
157
+ end
158
+
159
+ def test_comment
160
+ ok_ht([[:'!--', 'c']], '<!--c-->')
161
+ e = HTree::Comment.new('a')
162
+ ok_eq('a', e.content)
163
+ ok([:'!--', 'a'], e)
164
+ end
165
+
166
+ def test_bogustag
167
+ ok([[:p, 't']], HTree('<p>t</p>'))
168
+ ok([[:p, 't'], ''], HTree('<p>t</p></p>'))
169
+ end
170
+ end
171
+ end
@@ -0,0 +1,79 @@
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 LoadLibrary
9
+ LIBDIR = File.dirname(__FILE__)
10
+ ROOTLIBDIR = File.expand_path(LIBDIR+'/../')
11
+
12
+ def self.load_libs_here(glob)
13
+ dir = ROOTLIBDIR
14
+ ar = list_files(dir, glob)
15
+ add_load_path(dir)
16
+ require_files(ar)
17
+ end
18
+
19
+ private
20
+
21
+ def self.list_files(dir, glob)
22
+ return Dir.glob("#{dir}/#{glob}").map {|f|
23
+ f.sub("#{dir}/", '')
24
+ }
25
+ end
26
+
27
+ def self.add_load_path(dir)
28
+ dir = '..' if defined?($test) && $test
29
+ $LOAD_PATH << dir unless $LOAD_PATH.include?(dir)
30
+ end
31
+
32
+ def self.require_files(ar)
33
+ #before = $".dup
34
+ ar.each {|f|
35
+ require f
36
+ }
37
+ #after = $".dup
38
+ #pp 'load success', after-before if before != after
39
+ end
40
+ end
41
+ end
42
+
43
+ if $0 == __FILE__
44
+ require 'qwik/test-common'
45
+ $test = true
46
+ end
47
+
48
+ if defined?($test) && $test
49
+ class TestLoadLib < Test::Unit::TestCase
50
+ def test_all
51
+ return if $0 != __FILE__ # just only for unit test.
52
+
53
+ c = Qwik::LoadLibrary
54
+ org_path = $LOAD_PATH.dup
55
+ org_libs = $".dup
56
+
57
+ # test list_files
58
+ dir = Qwik::LoadLibrary::ROOTLIBDIR
59
+ glob = 'qwik/act-*.rb'
60
+ files = c.list_files(dir, glob)
61
+ ok_eq(true, 0 < files.length)
62
+ files.each {|f|
63
+ assert_match(/\Aqwik\/act-[-a-z0-9]+\.rb\z/, f)
64
+ }
65
+
66
+ c.load_libs_here(glob) # LOAD
67
+
68
+ # LOAD_PATH is not changed.
69
+ diff = $LOAD_PATH.length - org_path.length
70
+ #p $LOAD_PATH.length, org_path.length
71
+ #pp $LOAD_PATH, org_path
72
+ ok_eq(false, 0 < diff)
73
+
74
+ diff = $".length - org_libs.length
75
+ #p $".length, org_libs.length
76
+ ok_eq(true, 0 < diff)
77
+ end
78
+ end
79
+ end
@@ -0,0 +1,115 @@
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
+ require 'resolv'
6
+
7
+ $LOAD_PATH.unshift '..' unless $LOAD_PATH.include? '..'
8
+ require 'qwik/config'
9
+
10
+ module Qwik
11
+ class Logger
12
+ WEB_ACCESS_LOG = 'qwik-access.log'
13
+ WEB_ERROR_LOG = 'qwik-error.log'
14
+ ACCESS_LOG = 'access.log'
15
+
16
+ def initialize(log_file)
17
+ @log = open(log_file, 'ab+')
18
+ @log.sync = true
19
+ @verbose = false
20
+ end
21
+ attr_writer :verbose
22
+
23
+ def close
24
+ @log.close
25
+ @log = nil
26
+ end
27
+
28
+ IGNORE_ACTION = %w(theme num)
29
+ def log(wreq, wres, req, res, diff)
30
+ return if IGNORE_ACTION.include?(req.plugin)
31
+ format = Logger.format_log_line(req, wres, diff)
32
+ @log << format
33
+ $stdout << format if @verbose
34
+ end
35
+
36
+ def take_log(format)
37
+ #return if IGNORE_ACTION.include?(req.plugin)
38
+ #format = Logger.format_log_line(req, wres, diff)
39
+ @log << format
40
+ $stdout << format if @verbose
41
+ end
42
+
43
+ # FIXME: Ad hoc reopen support.
44
+ def reopen
45
+ @log.close
46
+ log_file = @log.path
47
+ @log = open(log_file, 'ab+')
48
+ @log.sync = true
49
+ end
50
+
51
+ def self.format_log_line(req, wres, diff)
52
+ time = req.start_time.rfc_date
53
+ fromhost = req.fromhost
54
+ user = req.user || '-'
55
+ request_line = req.request_line
56
+ status = wres.status
57
+ len = '-'
58
+ len = wres.body.length if wres.body.is_a? String
59
+ diff = "%0.2f" % diff
60
+ str = "#{time} #{fromhost} #{user} \"#{request_line}\" #{status} #{len} #{diff}\n"
61
+ return str
62
+ end
63
+
64
+ private
65
+
66
+ def nu_resolve(ip)
67
+ begin
68
+ return Resolv.getname(ip).to_s
69
+ rescue
70
+ return ip
71
+ end
72
+ end
73
+ end
74
+ end
75
+
76
+ if $0 == __FILE__
77
+ require 'qwik/testunit'
78
+ require 'qwik/util-pathname'
79
+ require 'qwik/util-time'
80
+ require 'qwik/request'
81
+ require 'qwik/response'
82
+ $test = true
83
+ end
84
+
85
+ if defined?($test) && $test
86
+ class TestLogger < Test::Unit::TestCase
87
+ def test_logger
88
+ c = Qwik::Logger
89
+
90
+ # test_format_log_line
91
+ config = Qwik::Config.new
92
+ req = Qwik::Request.new(config)
93
+ res = Qwik::Response.new(config)
94
+ assert_equal "1970-01-01T09:00:00 - \"\" 200 - 0.00\n",
95
+ c.format_log_line(req, res, 0)
96
+
97
+ path = 'test.txt'.path
98
+ path.unlink if path.exist?
99
+
100
+ # test_init
101
+ logger = Qwik::Logger.new(path.to_s)
102
+ assert_equal true, path.exist?
103
+
104
+ # test_log
105
+ logger.log(req, res, req, res, 0)
106
+ assert_equal "1970-01-01T09:00:00 - \"\" 200 - 0.00\n", path.read
107
+
108
+ # test_close
109
+ logger.close
110
+
111
+ path.unlink if path.exist?
112
+ assert_equal false, path.exist?
113
+ end
114
+ end
115
+ end
@@ -0,0 +1,171 @@
1
+ # -*- coding: shift_jis -*-
2
+ #
3
+ # Copyright (C) 2002-2004 Satoru Takabayashi <satoru@namazu.org>
4
+ # Copyright (C) 2003-2006 Kouichirou Eto
5
+ # All rights reserved.
6
+ # This is free software with ABSOLUTELY NO WARRANTY.
7
+ #
8
+ # You can redistribute it and/or modify it under the terms of
9
+ # the GNU General Public License version 2.
10
+ #
11
+
12
+ $LOAD_PATH.unshift '..' unless $LOAD_PATH.include? '..'
13
+ require 'qwik/mail'
14
+
15
+ module QuickML
16
+ class Mail
17
+ def to_s
18
+ str = ''
19
+ self.each_field {|key, value|
20
+ str << "#{key}: #{value}\n"
21
+ }
22
+ str << "\n"
23
+ str << @body
24
+ return str
25
+ end
26
+
27
+ # ml-processor.rb:102: @mail.empty_body? ||
28
+ def empty_body?
29
+ return Mail.empty_body?(@body)
30
+ end
31
+
32
+ # group-mail.rb:38: if mail.plain_text_body?
33
+ # group-site.rb:116: if sub_mail.plain_text_body?
34
+ def plain_text_body?
35
+ Mail.plain_text_body?(self['Content-Type'],
36
+ self['Content-Transfer-Encoding'])
37
+ end
38
+
39
+ def get_body
40
+ body = ''
41
+ self.each_part {|mail|
42
+ if mail.plain_text_body?
43
+ body << mail.body.chomp.chomp+"\n"
44
+ end
45
+ }
46
+ return body
47
+ end
48
+
49
+ # by eto
50
+ def decoded_body
51
+ return Mail.decode_body(self['Content-Transfer-Encoding'], @body)
52
+ end
53
+
54
+ # ==================== Class methods.
55
+ def self.empty_body?(body)
56
+ return false if 100 < body.length
57
+ # Substitute spaces in Shift_JIS to ordinaly spaces.
58
+ body = body.tosjis.gsub("\201@") { ' ' }
59
+ return true if /\A\s*\Z/s =~ body
60
+ return false
61
+ end
62
+
63
+ def self.plain_text_body?(ct, cte)
64
+ return true if (ct.empty? || /\btext\/plain\b/i =~ ct) &&
65
+ (cte.empty? || /^[78]bit$/i =~ cte || /^base64$/i =~ cte || /quoted-printable/i =~ cte)
66
+ return false
67
+ end
68
+
69
+ def self.decode_body(enc, body)
70
+ return Mail.decode_base64(body) if /base64/i =~ enc
71
+ return Mail.decode_uuencode(body) if /x-uuencode/i =~ enc
72
+ return Mail.decode_quoted_printable(body) if /quoted-printable/i =~ enc
73
+ return body
74
+ end
75
+
76
+ def self.decode_base64(str)
77
+ return Base64.decode64(str)
78
+ end
79
+
80
+ def self.decode_uuencode(str)
81
+ uu = ''
82
+ str.each {|line|
83
+ next if /\Abegin/ =~ line
84
+ break if /\Aend/ =~ line
85
+ uu << line
86
+ }
87
+ return uu.unpack('u').first
88
+ end
89
+
90
+ def self.decode_quoted_printable(str)
91
+ str = str.gsub(/[ \t]+$/no, '')
92
+ str.gsub!(/=\r?\n/no, '')
93
+ str.gsub!(/=([0-9A-F][0-9A-F])/no) { $1.hex.chr }
94
+ return str
95
+ end
96
+
97
+ # group-mail.rb:168: mail.body = Mail.join_parts(parts, mail.boundary)
98
+ # ml-processor.rb:188: body = Mail.join_parts(parts, @mail.boundary)
99
+ def self.join_parts (parts, boundary)
100
+ body = ''
101
+ body << "--#{boundary}\n"
102
+ body << parts.join("--#{boundary}\n")
103
+ body << "--#{boundary}--\n"
104
+ return body
105
+ end
106
+
107
+ end
108
+ end
109
+
110
+ if $0 == __FILE__
111
+ require 'qwik/testunit'
112
+ $test = true
113
+ end
114
+
115
+ if defined?($test) && $test
116
+ class TestMailBody < Test::Unit::TestCase
117
+ def test_all
118
+ mail = QuickML::Mail.new
119
+
120
+ # test_to_s
121
+ ok_eq("\n", mail.to_s)
122
+
123
+ # test_empty_body?
124
+ ok_eq(true, mail.empty_body?)
125
+
126
+ # test_plain_text_body?
127
+ ok_eq(true, mail.plain_text_body?)
128
+ end
129
+
130
+ def test_class_method
131
+ c = QuickML::Mail
132
+
133
+ # test_empty_body?
134
+ #ok_eq(false, mail.empty_body?)
135
+ ok_eq("\201@", ' ')
136
+ ok_eq(true, c.empty_body?(''))
137
+ ok_eq(true, c.empty_body?(' '))
138
+ ok_eq(true, c.empty_body?(' '*100))
139
+ ok_eq(true, c.empty_body?("\n"*100))
140
+ ok_eq(true, c.empty_body?("\t"*100))
141
+ ok_eq(true, c.empty_body?("\201@"*50))
142
+ ok_eq(false, c.empty_body?("\201@"*100))
143
+ ok_eq(false, c.empty_body?(' '*101))
144
+ ok_eq(false, c.empty_body?('a'))
145
+
146
+ # test_plain_text_body?
147
+ ok_eq(true, c.plain_text_body?('', ''))
148
+ ok_eq(true, c.plain_text_body?('text/plain; charset="ascii"', ''))
149
+ ok_eq(false, c.plain_text_body?("multipart/mixed; boundary='boundary'", ''))
150
+ ok_eq(false, c.plain_text_body?("image/png; name='1x1.png'", ''))
151
+
152
+ # test_decode_body
153
+ ok_eq('', c.decode_body('', ''))
154
+
155
+ # test_decode_base64
156
+ ok_eq('', c.decode_base64(''))
157
+ ok_eq('', c.decode_base64('t'))
158
+
159
+ # test_decode_uuencode
160
+ ok_eq('', c.decode_uuencode(''))
161
+ ok_eq('', c.decode_uuencode('t'))
162
+
163
+ # test_decode_quoted_printable
164
+ ok_eq('', c.decode_quoted_printable(''))
165
+ ok_eq('t', c.decode_quoted_printable('t'))
166
+
167
+ # test_join_parts
168
+ ok_eq("--b\ns--b\nt--b--\n", c.join_parts(['s', 't'], 'b'))
169
+ end
170
+ end
171
+ end