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,419 @@
1
+ # -*- coding: shift_jis -*-
2
+ # Copyright (C) 2008 National Institute of
3
+ # Advanced Industrial Science and Technology (AIST)
4
+ # All rights reserved.
5
+ # This is free software with ABSOLUTELY NO WARRANTY.
6
+ # You can redistribute it and/or modify it under the terms of the GNU GPL 2.
7
+
8
+ module Qwik
9
+ class Site
10
+ def lastmod_of_all
11
+ ar = []
12
+ self.path.find do |p|
13
+ Find.prune if p.basename.to_s == '.cache' or p.basename.to_s == '.svn'
14
+ ar << p.mtime
15
+ end
16
+ ar.max
17
+ end
18
+ end
19
+
20
+ class Action
21
+ D_SiteBackup = {
22
+ :dt => 'Site backup',
23
+ :dd => 'You can get a tgz(tar.gz) archive of the whole site content.',
24
+ :dc => '* Example
25
+ {{sitebackup}}
26
+
27
+ You can get a zip archive with all text data of the Wiki site.
28
+ You can get a tgz(tar and gziped) archive of the whole site content.
29
+
30
+ You can move your site by getting the archive and placing them on your
31
+ qwikWeb data directory.
32
+
33
+ At the first click, it only shows the progress of archiving.
34
+ After the archiving is finished, you can download the archive file.
35
+
36
+ If you change anything on the site, it\'ll recreate the archive.
37
+ '
38
+ }
39
+
40
+ D_SiteBackup_ja = {
41
+ :dt => 'サイト・バックアップ',
42
+ :dd => 'サイト・バックアップを取得できます。',
43
+ :dc => '* 使い方
44
+ {{sitebackup}}
45
+
46
+ このリンクから、サイトの内容すべてをtar.gz形式のアーカイブにしてダウンロードできます。
47
+
48
+ 展開してqwikWebのdataディレクトリに置けば,サイトをそのまま移行することができます.
49
+
50
+ 最初の一回目は、アーカイブ作成のためのプロセスが実行されます。
51
+ 作成が終わってからリロードするか、ブラウザから元のページに戻って
52
+ もう一度リンクをクリックすると、アーカイブをダウンロードすることができます。
53
+
54
+ サイトの内容が更新された後、このリンクを再度クリックすると、アーカイブも再作成されます。
55
+ '
56
+ }
57
+
58
+ def plg_sitebackup
59
+ return "no tar command" if ! SiteBackup.command_exist?
60
+ return page_attribute('sitebackup', _('Site backup'), @site.sitename)
61
+ end
62
+
63
+ def ext_sitebackup
64
+ return c_nerror("no tar command") if ! SiteBackup.command_exist?
65
+ c_require_member
66
+ c_require_base_is_sitename
67
+
68
+ backup = SiteBackup.new(@site, @config)
69
+ if backup.latest?
70
+ return c_notice("Download archive", "#{@site.sitename}.tgz", 200, 2) {
71
+ [:p, "Backup process is complete. download ",
72
+ [:a, {:href=>"#{@site.sitename}.tgz"}, "archive"],
73
+ "."
74
+ ]
75
+ }
76
+ end
77
+
78
+ if backup.generating?
79
+ return c_notice("in progress", "#{@site.sitename}.sitebackup", 200, 5) {
80
+ [:p, "Backup process is running."]
81
+ }
82
+ end
83
+
84
+ backup.generate
85
+ return c_notice("starting", "#{@site.sitename}.sitebackup", 200, 5) {
86
+ [:p, "Backup process is starting"]
87
+ }
88
+ end
89
+
90
+ # only for download archive
91
+ def ext_tgz
92
+ c_require_member
93
+ c_require_base_is_sitename
94
+
95
+ backup = SiteBackup.new(@site, @config)
96
+ if backup.latest?
97
+ return c_simple_send(backup.archive_path, "application/gzip")
98
+ else
99
+ return c_notfound { "no latest backup" }
100
+ end
101
+ end
102
+ end
103
+
104
+ class SiteBackup
105
+ TAR_CMD = '/bin/tar' # path to tar command (GNU version is required)
106
+ def self.command_exist?
107
+ TAR_CMD.path.executable?
108
+ end
109
+
110
+ def initialize(site, config)
111
+ @site = site
112
+ @config = config
113
+ @archive_path = site.cache_path + "#{@site.sitename}.tgz"
114
+ @tmpfile_path = site.cache_path + "sitebackup.tmp"
115
+ end
116
+ attr_reader :archive_path
117
+ attr_reader :tmpfile_path
118
+
119
+ def _site_lastmod
120
+ @site.lastmod_of_all
121
+ end
122
+
123
+ def _archive_mtime
124
+ result = nil
125
+ result = @archive_path.mtime if @archive_path.exist?
126
+ return result
127
+ end
128
+
129
+ def _tmpfile_mtime
130
+ result = nil
131
+ result = @tmpfile_path.mtime if @tmpfile_path.exist?
132
+ return result
133
+ end
134
+
135
+ def latest?(site_lastmod = _site_lastmod, archive_mtime = _archive_mtime,
136
+ tmpfile_mtime = _tmpfile_mtime) # explicit arguments for test
137
+ return false if archive_mtime.nil?
138
+ if tmpfile_mtime.nil?
139
+ archive_mtime >= site_lastmod
140
+ else
141
+ archive_mtime >= site_lastmod && archive_mtime > tmpfile_mtime
142
+ end
143
+ end
144
+
145
+ def generating?(site_lastmod = _site_lastmod, archive_mtime = _archive_mtime,
146
+ tmpfile_mtime = _tmpfile_mtime) # explicit arguments for test
147
+ return false if tmpfile_mtime.nil?
148
+ if archive_mtime.nil?
149
+ tmpfile_mtime > site_lastmod
150
+ else
151
+ tmpfile_mtime >= archive_mtime && tmpfile_mtime > site_lastmod
152
+ end
153
+ end
154
+
155
+ def invoke(cmd)
156
+ system(cmd)
157
+ child_process = $?
158
+ child_process.exitstatus == 0 ? :success : :failure
159
+ end
160
+
161
+ def command
162
+ "#{TAR_CMD} zcf #{@tmpfile_path} -C #{@config.sites_dir} " +
163
+ "--exclude .cache --exclude .svn -h #{@site.sitename}"
164
+ end
165
+
166
+ def generate
167
+ if defined?($test) && $test
168
+ _generate
169
+ else
170
+ do_concurrent { _generate }
171
+ end
172
+ end
173
+
174
+ def _generate
175
+ cleanup
176
+ result = invoke(command)
177
+ if result == :success && @tmpfile_path.exist?
178
+ @tmpfile_path.rename(@archive_path)
179
+ else
180
+ @tmpfile_path.unlink if @tmpfile_path.exist?
181
+ end
182
+ end
183
+
184
+ def do_concurrent
185
+ Thread.new {
186
+ yield
187
+ }
188
+ end
189
+
190
+ def cleanup
191
+ @tmpfile_path.unlink if @tmpfile_path.exist?
192
+ @archive_path.unlink if @archive_path.exist?
193
+ end
194
+
195
+ end
196
+ end
197
+
198
+ if $0 == __FILE__
199
+ $LOAD_PATH << '..' unless $LOAD_PATH.include? '..'
200
+ require 'qwik/test-common'
201
+ require 'qwik/util-pathname'
202
+ $test = true
203
+ end
204
+
205
+ if defined?($test) && $test
206
+ class MockSite
207
+ def cache_path; ".test/data/test/.cache/".path; end
208
+ def sitename; "test"; end
209
+ end
210
+
211
+ class MockConfig
212
+ def sites_dir; ".test/data/"; end
213
+ end
214
+
215
+ class TestSiteBackup < Test::Unit::TestCase
216
+ include TestSession
217
+
218
+ def setup
219
+ site = MockSite.new
220
+ config = MockConfig.new
221
+ @backup = Qwik::SiteBackup.new(site, config)
222
+ end
223
+
224
+ def test_archive_path
225
+ expected = ".test/data/test/.cache/test.tgz".path
226
+ actual = @backup.archive_path
227
+ is expected, actual
228
+ end
229
+
230
+ def test_tmpfile_path
231
+ expected = ".test/data/test/.cache/sitebackup.tmp".path
232
+ actual = @backup.tmpfile_path
233
+ is expected, actual
234
+ end
235
+
236
+ def test_command_exist
237
+ ok Qwik::SiteBackup.command_exist?
238
+ end
239
+
240
+ def test_backup_is_latest
241
+ site_lastmod = Time.at(0)
242
+ archive_mtime = Time.at(1)
243
+ tmpfile_mtime = nil
244
+ excepted = true
245
+ actual = @backup.latest?(site_lastmod, archive_mtime, tmpfile_mtime)
246
+ is excepted, actual
247
+ end
248
+
249
+ def test_backup_is_latest2
250
+ site_lastmod = Time.at(0)
251
+ archive_mtime = Time.at(0)
252
+ tmpfile_mtime = nil
253
+ excepted = true
254
+ actual = @backup.latest?(site_lastmod, archive_mtime, tmpfile_mtime)
255
+ is excepted, actual, "archive and site-lastmod is same"
256
+ end
257
+
258
+ def test_backup_is_not_latest2
259
+ site_lastmod = Time.at(0)
260
+ archive_mtime = Time.at(1)
261
+ tmpfile_mtime = Time.at(1)
262
+ excepted = false
263
+ actual = @backup.latest?(site_lastmod, archive_mtime, tmpfile_mtime)
264
+ is excepted, actual, "tmpfile is latest"
265
+ end
266
+
267
+ def test_backup_is_not_latest3
268
+ site_lastmod = Time.at(0)
269
+ archive_mtime = nil
270
+ tmpfile_mtime = nil
271
+ excepted = false
272
+ actual = @backup.latest?(site_lastmod, archive_mtime, tmpfile_mtime)
273
+ is excepted, actual, "backup is not exist"
274
+ end
275
+
276
+ def test_backup_is_creating
277
+ site_lastmod = Time.at(0)
278
+ archive_mtime = Time.at(0)
279
+ tmpfile_mtime = Time.at(1)
280
+ excepted = true
281
+ actual = @backup.generating?(site_lastmod, archive_mtime, tmpfile_mtime)
282
+ is excepted, actual
283
+ end
284
+
285
+ def test_backup_is_creating2
286
+ site_lastmod = Time.at(0)
287
+ archive_mtime = nil
288
+ tmpfile_mtime = Time.at(1)
289
+ excepted = true
290
+ actual = @backup.generating?(site_lastmod, archive_mtime, tmpfile_mtime)
291
+ is excepted, actual, "at first: backup is not exist"
292
+ end
293
+
294
+ def test_backup_is_creating3
295
+ site_lastmod = Time.at(0)
296
+ archive_mtime = Time.at(1)
297
+ tmpfile_mtime = Time.at(1)
298
+ excepted = true
299
+ actual = @backup.generating?(site_lastmod, archive_mtime, tmpfile_mtime)
300
+ is excepted, actual, "tmp and backup is same"
301
+ end
302
+
303
+ def test_backup_is_not_creating
304
+ site_lastmod = Time.at(0)
305
+ archive_mtime = Time.at(0)
306
+ tmpfile_mtime = nil
307
+ excepted = false
308
+ actual = @backup.generating?(site_lastmod, archive_mtime, tmpfile_mtime)
309
+ is excepted, actual, "tmp is absent"
310
+ end
311
+
312
+ def test_backup_is_not_creating2
313
+ site_lastmod = Time.at(1)
314
+ archive_mtime = Time.at(1)
315
+ tmpfile_mtime = Time.at(1)
316
+ excepted = false
317
+ actual = @backup.generating?(site_lastmod, archive_mtime, tmpfile_mtime)
318
+ is excepted, actual, "site is modified"
319
+ end
320
+
321
+ def test_invoke
322
+ expected = :success
323
+ input = "ruby -e 'true'"
324
+ actual = @backup.invoke(input)
325
+ is expected, actual
326
+ end
327
+
328
+ def test_invoke_fail
329
+ expected = :failure
330
+ input = "ruby -e 'exit 1'"
331
+ actual = @backup.invoke(input)
332
+ is expected, actual, "exit status sould be 1"
333
+ end
334
+
335
+ def test_invoke_unavailable
336
+ expected = :failure
337
+ input = "never-seen-command"
338
+ actual = @backup.invoke(input)
339
+ is expected, actual, "command should not found"
340
+ end
341
+
342
+ def test_command
343
+ expected = "#{Qwik::SiteBackup::TAR_CMD} zcf .test/data/test/.cache/sitebackup.tmp -C .test/data/ " +
344
+ "--exclude .cache --exclude .svn -h test"
345
+ actual = @backup.command
346
+ is expected, actual
347
+ end
348
+
349
+ def test_do_concurrent
350
+ t1 = t2 = nil
351
+ thread = @backup.do_concurrent {
352
+ Thread.pass
353
+ sleep 0.1
354
+ t1 = Time.now
355
+ }
356
+ t2 = Time.now
357
+ thread.join
358
+ assert_not_equal t1.to_f, t2.to_f
359
+ end
360
+
361
+ end
362
+
363
+ class TestActSiteBackup < Test::Unit::TestCase
364
+ include TestSession
365
+
366
+ def test_plg_tgz
367
+ ok_wi [:p, [:a, {:href=>'test.sitebackup'}, 'test.sitebackup']], '[[test.sitebackup]]'
368
+ ok_wi [:span, {:class=>'attribute'},
369
+ [:a, {:href=>'test.sitebackup'}, 'Site backup']], '{{sitebackup}}'
370
+ end
371
+
372
+ def test_ext_tgz
373
+ t_add_user
374
+
375
+ # Add a page
376
+ page = @site.create_new
377
+ page.store '* Test'
378
+
379
+ # Wait to make time-lag between archive and site data
380
+ sleep 1
381
+
382
+ # Create backup
383
+ res = session '/test/test.sitebackup'
384
+ ok_title 'starting'
385
+
386
+ res = session '/test/test.sitebackup'
387
+ ok_title 'Download archive'
388
+
389
+ res = session '/test/test.tgz'
390
+ ok_eq 'application/gzip', res['Content-Type']
391
+
392
+ # Compare with cache file
393
+ content = (@site.cache_path + "test.tgz").read
394
+ ok_eq(content, res.body)
395
+
396
+ # Wait to make time-lag between archive and site data
397
+ sleep 1
398
+
399
+ # Attach a file
400
+ res = session('POST /test/1.files') {|req|
401
+ req.query.update('content'=>t_make_content('t.txt', 't'))
402
+ }
403
+ ok_title('File attachment completed')
404
+
405
+ # Remake backup
406
+ res = session '/test/test.sitebackup'
407
+ ok_title 'starting'
408
+
409
+ # Download again
410
+ res = session '/test/test.tgz'
411
+ ok_eq 'application/gzip', res['Content-Type']
412
+
413
+ # Compare with cache file
414
+ content = (@site.cache_path + "test.tgz").read
415
+ ok_eq(content, res.body)
416
+ end
417
+
418
+ end
419
+ end
@@ -0,0 +1,118 @@
1
+ # Copyright (C) 2003-2006 Kouichirou Eto, All rights reserved.
2
+ # This is free software with ABSOLUTELY NO WARRANTY.
3
+ # You can redistribute it and/or modify it under the terms of the GNU GPL 2.
4
+
5
+ $LOAD_PATH.unshift '..' unless $LOAD_PATH.include? '..'
6
+
7
+ module Qwik
8
+ class Action
9
+ D_SiteLog = {
10
+ :dt => 'Show SiteLog',
11
+ :dd => 'You can see sitelog of this site.',
12
+ :dc => "* How to
13
+ [[.sitelog]]
14
+ Follow this link. [[.sitelog]]
15
+ "
16
+ }
17
+
18
+ D_SiteLog_ja = {
19
+ :dt => '編集履歴',
20
+ :dd => 'いままでの編集履歴を見ることができます。',
21
+ :dc => "* 使い方
22
+ [[.sitelog]]
23
+ [[.sitelog]]を辿ってください。
24
+ "
25
+ }
26
+
27
+ # sitelog viewer
28
+ def plg_sitelog
29
+ dl = [:dl]
30
+ @site.sitelog.list.each {|k, v|
31
+ user, cmd, pagename = v
32
+ user = 'anonymous' if user.nil? || user.empty?
33
+ user = MailAddress.obfuscate(user) if ! user.empty?
34
+ dl << [:dt, "#{Time.at(k.to_i).ymdx} - #{user}"]
35
+ dl << [:dd, "#{cmd}: ", [:a, {:href=>"#{pagename}.html"}, pagename]]
36
+ }
37
+ return dl
38
+ end
39
+
40
+ # sitelog viewer
41
+ def act_sitelog
42
+ return c_plain('SiteLog') {
43
+ [:div, {:class=>'day'},
44
+ [:div, {:class=>'section'}, plg_sitelog]]
45
+ }
46
+ end
47
+
48
+ def c_time_str(time=nil)
49
+ time ||= @req.start_time
50
+ return sprintf('%.6f', time.to_i + time.usec/1000000.0)
51
+ end
52
+
53
+ def c_make_log(cmd, pagename=@req.base)
54
+ timestr = c_time_str
55
+ @site.log(timestr, @req.user, cmd, pagename)
56
+ end
57
+ end
58
+ end
59
+
60
+ if $0 == __FILE__
61
+ require 'qwik/test-common'
62
+ $test = true
63
+ end
64
+
65
+ if defined?($test) && $test
66
+ class TestActSiteLog < Test::Unit::TestCase
67
+ include TestSession
68
+
69
+ def test_time_str
70
+ res = session
71
+ assert_match(/\d+\.\d{6}/, @action.c_time_str)
72
+ ok_eq('0.000000', @action.c_time_str)
73
+ end
74
+
75
+ def test_sitelog
76
+ t_add_user
77
+
78
+ # Create a page.
79
+ res = session('POST /test/.new?t=TestPage'){|req|
80
+ req.start_time += 1
81
+ }
82
+ ok_eq(',1.000000,user@e.com,create,TestPage
83
+ ', @site['_SiteLog'].load)
84
+
85
+ # Save a page.
86
+ res = session('POST /test/TestPage.save?contents=t'){|req|
87
+ req.start_time += 2
88
+ }
89
+ ok_eq(',1.000000,user@e.com,create,TestPage
90
+ ,2.000000,user@e.com,save,TestPage
91
+ ', @site['_SiteLog'].load)
92
+
93
+ # Delete a page.
94
+ res = session('POST /test/TestPage.save?contents='){|req| # null content
95
+ req.start_time += 3
96
+ }
97
+ ok_eq(',1.000000,user@e.com,create,TestPage
98
+ ,2.000000,user@e.com,save,TestPage
99
+ ,3.000000,user@e.com,delete,TestPage
100
+ ', @site['_SiteLog'].load)
101
+
102
+ # See the SiteLog.
103
+ page = @site.create_new
104
+ page.store('{{sitelog}}')
105
+ res = session('/test/1.html'){|req|
106
+ req.start_time += 4
107
+ }
108
+ div = @res.body.get_path("//div[@class='section']")
109
+ div = div.inside.remove_comment.get_single
110
+ ok_eq([:dd, 'create: ',
111
+ [:a, {:href=>'TestPage.html'}, 'TestPage']], div[2])
112
+ ok_eq([:dd, 'save: ',
113
+ [:a, {:href=>'TestPage.html'}, 'TestPage']], div[4])
114
+ ok_eq([:dd, 'delete: ',
115
+ [:a, {:href=>'TestPage.html'}, 'TestPage']], div[6])
116
+ end
117
+ end
118
+ end