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,67 @@
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/page-get'
7
+ require 'qwik/page-put'
8
+ require 'qwik/page-wikidb'
9
+
10
+ module Qwik
11
+ class Page
12
+ def initialize(config, pages, key)
13
+ @pages = pages
14
+ @key = key.to_s
15
+ @db = @pages.db
16
+ @db.create(@key)
17
+
18
+ # init_generate
19
+
20
+ # FIXME
21
+ @files = nil
22
+ @rrefs = nil
23
+ @cache = {}
24
+ end
25
+ attr_reader :key
26
+
27
+ attr_accessor :files
28
+ attr_accessor :rrefs
29
+ attr_reader :cache
30
+
31
+ def inspect
32
+ return "#<Page:"+@key+">"
33
+ end
34
+
35
+ def url
36
+ return @key+'.html'
37
+ end
38
+
39
+ def <=>(other)
40
+ return self.key <=> other.key
41
+ end
42
+ end
43
+ end
44
+
45
+ if $0 == __FILE__
46
+ require 'qwik/farm'
47
+ require 'qwik/server-memory'
48
+ require 'qwik/test-module-session'
49
+ $test = true
50
+ end
51
+
52
+ if defined?($test) && $test
53
+ class TestPage < Test::Unit::TestCase
54
+ include TestSession
55
+
56
+ def test_all
57
+ pages = @site.get_pages
58
+ page = pages.create_new
59
+
60
+ # test_url
61
+ ok_eq('1.html', page.url)
62
+
63
+ # test_key
64
+ ok_eq('1', page.key)
65
+ end
66
+ end
67
+ end
@@ -0,0 +1,444 @@
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/db-filesystem'
7
+ require 'qwik/db-backup'
8
+ require 'qwik/db-indexer'
9
+ require 'qwik/page'
10
+
11
+ module Qwik
12
+ class PageExistError < StandardError; end
13
+ class PageCollisionError < StandardError; end
14
+
15
+ class Pages
16
+ FIRST_PAGE_ID = '1'
17
+
18
+ def initialize(config, dir)
19
+ @config = nil # FIXME: This is not used.
20
+
21
+ dir = dir.path
22
+ spath = config.super_dir.path
23
+
24
+ if config.db == 'fsdb'
25
+ @db = FileSystemDB.new(dir, spath)
26
+ elsif config.db == 'bdb' # Notice: This setting is experimental.
27
+ require 'qwik/db-berkeley'
28
+ @db = BerkeleyDB.new(dir, spath)
29
+ else
30
+ raise 'Unknown database type.'
31
+ end
32
+
33
+ @backupdb = BackupDB.new(dir)
34
+ @db.register_observer(@backupdb)
35
+
36
+ # Register Senna indexer # Notice: This setting is experimental.
37
+ if config[:use_senna] == 'true'
38
+ @index = DBIndexer.new(dir)
39
+ @db.register_observer(@index)
40
+ end
41
+ end
42
+ attr_reader :db
43
+ attr_reader :backupdb
44
+ attr_reader :index
45
+
46
+ def close
47
+ @db.close
48
+ end
49
+
50
+ def create(k) # Create a new page.
51
+ raise PageExistError if baseexist?(k)
52
+ page = Page.new(@config, self, k)
53
+ return page
54
+ end
55
+
56
+ def create_new
57
+ return create(get_new_id)
58
+ end
59
+
60
+ def baseexist?(k)
61
+ return @db.baseexist?(k)
62
+ end
63
+
64
+ def exist?(k)
65
+ return @db.exist?(k)
66
+ end
67
+
68
+ def get(k)
69
+ return nil if ! exist?(k)
70
+ page = Page.new(@config, self, k)
71
+ return page
72
+ end
73
+
74
+ def [](k)
75
+ return get(k)
76
+ end
77
+
78
+ def delete(k)
79
+ page = get(k)
80
+ page.delete
81
+ end
82
+
83
+ def to_a(all=nil)
84
+ ar = []
85
+ each(all) {|page|
86
+ ar << page
87
+ }
88
+ return ar
89
+ end
90
+
91
+ def list(all = false, with_super = false)
92
+ ar = []
93
+ @db.list(with_super).each {|key|
94
+ next if ! all && /\A_/ =~ key
95
+ ar << key
96
+ }
97
+ ar
98
+ end
99
+
100
+ def each(all = false, with_super = false)
101
+ list(all, with_super).each {|key|
102
+ page = self[key]
103
+ next if page.nil? # What?
104
+ yield(page)
105
+ }
106
+ end
107
+
108
+ def each_all(&b)
109
+ each(true, &b)
110
+ end
111
+
112
+ def keys
113
+ ks = []
114
+ self.each {|page| ks << page.key }
115
+ return ks
116
+ end
117
+
118
+ def title_list
119
+ return to_a.sort_by {|page|
120
+ page.get_title.downcase
121
+ }
122
+ end
123
+
124
+ def title_list_keys
125
+ ar = []
126
+ list.each {|key|
127
+ page = get(key)
128
+ title = page.get_title.downcase
129
+ ar << [title, key]
130
+ }
131
+ return ar.sort
132
+ end
133
+
134
+ def date_list
135
+ return to_a.sort_by {|page|
136
+ page.mtime
137
+ }
138
+ end
139
+
140
+ def date_list_keys
141
+ ar = []
142
+ list.each {|key|
143
+ page = get(key)
144
+ time = page.mtime.to_i
145
+ ar << [time, key]
146
+ }
147
+ return ar.sort
148
+ end
149
+
150
+ def find_title(title)
151
+ self.each(true, true) {|page|
152
+ if page.get_title == title
153
+ return page
154
+ end
155
+ }
156
+ return nil
157
+ end
158
+
159
+ def get_new_id
160
+ numkeys = keys.map {|k| /\A\d+\z/ =~ k ? k.to_i : 0 }
161
+ return (numkeys.max + 1).to_s if numkeys.max
162
+ return FIRST_PAGE_ID
163
+ end
164
+
165
+ def last_page_time
166
+ return @db.last_page_time
167
+ end
168
+
169
+ # QuickML support
170
+ def last_article_time
171
+ return @db.last_article_time
172
+ end
173
+
174
+ def get_by_title(title)
175
+ page = self[title] rescue nil
176
+ return page if page
177
+
178
+ page = self.find_title(title)
179
+ return page if page
180
+
181
+ return nil
182
+ end
183
+ end
184
+ end
185
+
186
+ if $0 == __FILE__
187
+ require 'qwik/farm'
188
+ require 'qwik/server-memory'
189
+ require 'qwik/test-module-session'
190
+ $test = true
191
+ end
192
+
193
+ if defined?($test) && $test
194
+ module Qwik
195
+ class Site
196
+ # Only for test.
197
+ if ! defined?(get_pages)
198
+ def get_pages
199
+ return @pages
200
+ end
201
+ end
202
+ end
203
+ end
204
+
205
+ class TestPages < Test::Unit::TestCase
206
+ include TestSession
207
+
208
+ def test_pages
209
+ pages = @site.get_pages
210
+
211
+ # test_create
212
+ page = pages.create('1')
213
+
214
+ # test_last_page_time
215
+ page.put_with_time('test1', 0)
216
+ ok_eq(0, pages.last_page_time.to_i)
217
+
218
+ # test_each
219
+ pages.each {|page|
220
+ assert_instance_of(Qwik::Page, page)
221
+ assert_instance_of(String, page.key)
222
+ }
223
+
224
+ # test_get_page
225
+ page = pages['1']
226
+ page.put('test2')
227
+ ok_eq('test2', page.get)
228
+
229
+ # test_page_exist_error
230
+ assert_raises(Qwik::PageExistError) {
231
+ pages.create('1')
232
+ }
233
+
234
+ # test_exist?
235
+ ok_eq(true, pages.exist?('1'))
236
+
237
+ # test_[]
238
+ ok_eq('1', pages['1'].key)
239
+
240
+ # test_delete
241
+ pages.delete('1')
242
+ ok_eq(false, pages.exist?('1'))
243
+ ok_eq(nil, pages['1'])
244
+
245
+ # test_get_new_id
246
+ page = pages.create('0')
247
+ page.store('t')
248
+ ok_eq('1', pages.get_new_id)
249
+
250
+ page = pages.create(pages.get_new_id)
251
+ page.store('t')
252
+ ok_eq(true, pages.exist?('1'))
253
+ ok_eq('2', pages.get_new_id)
254
+
255
+ page = pages.create('t')
256
+ page.store('t')
257
+ ok_eq('2', pages.get_new_id)
258
+ ok_eq('2', pages.get_new_id)
259
+
260
+ page = pages.create('4')
261
+ page.store('t')
262
+ ok_eq('5', pages.get_new_id)
263
+ end
264
+
265
+ def test_compare
266
+ pages = @site.get_pages
267
+ pages.erase_all
268
+ a = pages.create('a')
269
+ b = pages.create('b')
270
+ # pages = pages.sort
271
+ # ok_eq('a', pages[0].get_title)
272
+ # ok_eq('b', pages[1].get_title)
273
+ end
274
+
275
+ def test_list
276
+ pages = @site.get_pages
277
+
278
+ pages.create('t1').store('')
279
+ pages.create('t2').store('')
280
+ pages.create('1').store('t3')
281
+ pages.create('2').store('t4')
282
+
283
+ pages.each {|page|
284
+ assert_instance_of(Qwik::Page, page)
285
+ }
286
+
287
+ tlist = pages.title_list
288
+ ok_eq('1', tlist[0].key)
289
+ ok_eq('2', tlist[1].key)
290
+ ok_eq('t1', tlist[2].key)
291
+ ok_eq('t2', tlist[3].key)
292
+ tlist.each {|page|
293
+ assert_instance_of(String, page.get_title)
294
+ }
295
+
296
+ list = pages.title_list_keys
297
+ is [["1", "1"], ["2", "2"], ["t1", "t1"], ["t2", "t2"]], list
298
+ end
299
+
300
+ def test_last_article_time
301
+ pages = @site.get_pages
302
+ a = pages.last_article_time
303
+ ok_eq(nil, a)
304
+ page = pages.create_new
305
+ a = pages.last_article_time
306
+ assert_instance_of(Time, a)
307
+ end
308
+
309
+ def test_enumerable
310
+ pages = @site.get_pages
311
+
312
+ #test_find_title
313
+ pages.create_new.store("* あ")
314
+ pages.create_new.store("* い")
315
+ pages.create_new.store("* う")
316
+
317
+ #page = pages.find_title("い")
318
+ page = pages.get_by_title("い")
319
+ ok_eq('2', page.key)
320
+ ok_eq(['1', '2', '3'], pages.keys)
321
+ end
322
+
323
+ def test_recent_list
324
+ pages = @site.get_pages
325
+
326
+ pages.create('t1').put_with_time('t', Time.at(0))
327
+ pages.create('t2').put_with_time('t', Time.at(1))
328
+ pages.create('1').put_with_time('t3', Time.at(2))
329
+ pages.create('2').put_with_time('t4', Time.at(3))
330
+
331
+ dlist = pages.date_list
332
+ eq ["t1", "t2", "1", "2"], dlist.map {|page| page.key }
333
+ dlist.each {|page|
334
+ assert_instance_of(Time, page.mtime)
335
+ }
336
+
337
+ list = pages.date_list_keys
338
+ is [[0, "t1"], [1, "t2"], [2, "1"], [3, "2"]], list
339
+ end
340
+
341
+ def nutest_cache
342
+ pages = @site
343
+
344
+ # Since this test takes long time, ignore this if under test suite.
345
+ return if $0 != __FILE__ # just only for unit test.
346
+
347
+ length, repeat = 100, 100
348
+
349
+ page = pages.create_new
350
+ page.store('a' * length)
351
+ sleep 1
352
+ repeat.times {
353
+ str = page.load
354
+ }
355
+ end
356
+
357
+ def test_backup
358
+ pages = @site.get_pages
359
+
360
+ page = pages.create('1')
361
+ page.put_with_time('t', Time.at(0))
362
+ ok_eq('t', page.load)
363
+
364
+ bdb = pages.backupdb
365
+ ar = bdb.map {|key, v, time| v }
366
+ # ok_eq('t', ar[0])
367
+ # ok_eq('', ar[1])
368
+
369
+ page.put_with_time('t2', Time.at(1))
370
+
371
+ ar = bdb.map {|key, v, time| v }
372
+ # ok_eq('t', ar[0])
373
+ # ok_eq('t2', ar[1])
374
+ # ok_eq('', ar[2])
375
+ end
376
+
377
+ def test_touch
378
+ pages = @site
379
+
380
+ # touch does not affect the content.
381
+ page = pages['FrontPage']
382
+ org = page.load
383
+ assert_match(/FrontPage/, page.load)
384
+
385
+ page.touch
386
+ assert_match(/FrontPage/, page.load)
387
+ ok_eq(org, page.load)
388
+ end
389
+
390
+ def test_with_underbar
391
+ pages = @site.get_pages
392
+
393
+ page3 = pages.create('_t')
394
+ page3.store('t')
395
+ found = false
396
+ pages.each {|page|
397
+ found = true if page.key[0] == ?_
398
+ }
399
+ ok_eq(false, found)
400
+
401
+ pages.each(true) {|page|
402
+ found = true if page.key[0] == ?_
403
+ }
404
+ ok_eq(true, found)
405
+
406
+ found = false
407
+ pages.each_all {|page|
408
+ found = true if page.key[0] == ?_
409
+ }
410
+ ok_eq(true, found)
411
+ end
412
+
413
+ def test_super_pages
414
+ pages = @site.get_pages
415
+
416
+ # test_super_exist?
417
+ ok_eq(true, pages.exist?('_SideMenu'))
418
+
419
+ # test_baseexist?
420
+ ok_eq(false, pages.baseexist?('_SideMenu'))
421
+
422
+ # test_get_superpage
423
+ page = pages['_SideMenu']
424
+ ok_eq('Menu', page.get_title)
425
+
426
+ # test_super_find_title
427
+ page = pages.find_title('Menu')
428
+ ok_eq('_SideMenu', page.key)
429
+
430
+ # test_override_superpage
431
+ page.store('* New menu')
432
+ ok_eq('New menu', page.get_title)
433
+ ok_eq(true, pages.baseexist?('_SideMenu'))
434
+ page.delete
435
+ ok_eq(false, pages.baseexist?('_SideMenu'))
436
+
437
+ # test_override_create
438
+ page = pages.create('_SideMenu')
439
+ ok_eq(false, pages.baseexist?('_SideMenu')) # not yet
440
+ page.store('t')
441
+ ok_eq(true, pages.baseexist?('_SideMenu')) # become true here
442
+ end
443
+ end
444
+ end