qwik2md 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +9 -0
- data/.travis.yml +4 -0
- data/Gemfile +4 -0
- data/README.md +36 -0
- data/Rakefile +10 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/exe/qwik2md +17 -0
- data/lib/qwik2md/version.rb +3 -0
- data/lib/qwik2md.rb +39 -0
- data/qwik2md.gemspec +30 -0
- data/vendor/qwik/AUTHORS +10 -0
- data/vendor/qwik/COPYING +340 -0
- data/vendor/qwik/COPYRIGHT +346 -0
- data/vendor/qwik/lib/qwik/Makefile +63 -0
- data/vendor/qwik/lib/qwik/Rakefile +17 -0
- data/vendor/qwik/lib/qwik/act-aa.rb +83 -0
- data/vendor/qwik/lib/qwik/act-archive.rb +386 -0
- data/vendor/qwik/lib/qwik/act-attach.rb +304 -0
- data/vendor/qwik/lib/qwik/act-backup.rb +236 -0
- data/vendor/qwik/lib/qwik/act-basic.rb +325 -0
- data/vendor/qwik/lib/qwik/act-book.rb +161 -0
- data/vendor/qwik/lib/qwik/act-calc.rb +371 -0
- data/vendor/qwik/lib/qwik/act-charset.rb +251 -0
- data/vendor/qwik/lib/qwik/act-christel.rb +112 -0
- data/vendor/qwik/lib/qwik/act-chronology.rb +149 -0
- data/vendor/qwik/lib/qwik/act-code.rb +155 -0
- data/vendor/qwik/lib/qwik/act-comment.rb +554 -0
- data/vendor/qwik/lib/qwik/act-config.rb +49 -0
- data/vendor/qwik/lib/qwik/act-counter.rb +125 -0
- data/vendor/qwik/lib/qwik/act-day.rb +96 -0
- data/vendor/qwik/lib/qwik/act-describe.rb +135 -0
- data/vendor/qwik/lib/qwik/act-diary.rb +109 -0
- data/vendor/qwik/lib/qwik/act-edit.rb +317 -0
- data/vendor/qwik/lib/qwik/act-embed-html.rb +296 -0
- data/vendor/qwik/lib/qwik/act-emode.rb +150 -0
- data/vendor/qwik/lib/qwik/act-event.rb +187 -0
- data/vendor/qwik/lib/qwik/act-file.rb +303 -0
- data/vendor/qwik/lib/qwik/act-files.rb +771 -0
- data/vendor/qwik/lib/qwik/act-getpass.rb +295 -0
- data/vendor/qwik/lib/qwik/act-history.rb +136 -0
- data/vendor/qwik/lib/qwik/act-html.rb +204 -0
- data/vendor/qwik/lib/qwik/act-httpauth.rb +147 -0
- data/vendor/qwik/lib/qwik/act-include.rb +142 -0
- data/vendor/qwik/lib/qwik/act-interwiki.rb +189 -0
- data/vendor/qwik/lib/qwik/act-isearch.rb +109 -0
- data/vendor/qwik/lib/qwik/act-keywords.rb +137 -0
- data/vendor/qwik/lib/qwik/act-lang.rb +81 -0
- data/vendor/qwik/lib/qwik/act-license.rb +63 -0
- data/vendor/qwik/lib/qwik/act-list.rb +287 -0
- data/vendor/qwik/lib/qwik/act-login.rb +410 -0
- data/vendor/qwik/lib/qwik/act-logout.rb +60 -0
- data/vendor/qwik/lib/qwik/act-mail.rb +159 -0
- data/vendor/qwik/lib/qwik/act-map.rb +292 -0
- data/vendor/qwik/lib/qwik/act-md5.rb +42 -0
- data/vendor/qwik/lib/qwik/act-mdlb.rb +741 -0
- data/vendor/qwik/lib/qwik/act-media.rb +416 -0
- data/vendor/qwik/lib/qwik/act-member.rb +157 -0
- data/vendor/qwik/lib/qwik/act-menu.rb +142 -0
- data/vendor/qwik/lib/qwik/act-metadata.rb +323 -0
- data/vendor/qwik/lib/qwik/act-mlsubmitform.rb +49 -0
- data/vendor/qwik/lib/qwik/act-monitor.rb +167 -0
- data/vendor/qwik/lib/qwik/act-new.rb +418 -0
- data/vendor/qwik/lib/qwik/act-pagelist.rb +248 -0
- data/vendor/qwik/lib/qwik/act-password.rb +145 -0
- data/vendor/qwik/lib/qwik/act-plan.rb +210 -0
- data/vendor/qwik/lib/qwik/act-povray.rb +230 -0
- data/vendor/qwik/lib/qwik/act-presen.rb +380 -0
- data/vendor/qwik/lib/qwik/act-redirect.rb +133 -0
- data/vendor/qwik/lib/qwik/act-ring.rb +1071 -0
- data/vendor/qwik/lib/qwik/act-rrefs.rb +255 -0
- data/vendor/qwik/lib/qwik/act-ruby.rb +116 -0
- data/vendor/qwik/lib/qwik/act-sample.rb +170 -0
- data/vendor/qwik/lib/qwik/act-save.rb +295 -0
- data/vendor/qwik/lib/qwik/act-schedule.rb +374 -0
- data/vendor/qwik/lib/qwik/act-search.rb +180 -0
- data/vendor/qwik/lib/qwik/act-searchwords.rb +51 -0
- data/vendor/qwik/lib/qwik/act-sendpass.rb +83 -0
- data/vendor/qwik/lib/qwik/act-site.rb +89 -0
- data/vendor/qwik/lib/qwik/act-sitebackup.rb +419 -0
- data/vendor/qwik/lib/qwik/act-sitelog.rb +118 -0
- data/vendor/qwik/lib/qwik/act-smil.rb +299 -0
- data/vendor/qwik/lib/qwik/act-status.rb +220 -0
- data/vendor/qwik/lib/qwik/act-style.rb +608 -0
- data/vendor/qwik/lib/qwik/act-table.rb +263 -0
- data/vendor/qwik/lib/qwik/act-tableform.rb +241 -0
- data/vendor/qwik/lib/qwik/act-tag.rb +103 -0
- data/vendor/qwik/lib/qwik/act-text.rb +70 -0
- data/vendor/qwik/lib/qwik/act-textarea.rb +164 -0
- data/vendor/qwik/lib/qwik/act-theme.rb +346 -0
- data/vendor/qwik/lib/qwik/act-toc.rb +112 -0
- data/vendor/qwik/lib/qwik/act-typekey.rb +198 -0
- data/vendor/qwik/lib/qwik/act-under-const.rb +94 -0
- data/vendor/qwik/lib/qwik/act-webservice.rb +321 -0
- data/vendor/qwik/lib/qwik/act-wema.rb +558 -0
- data/vendor/qwik/lib/qwik/act-wysiwyg.rb +238 -0
- data/vendor/qwik/lib/qwik/action.rb +325 -0
- data/vendor/qwik/lib/qwik/autoreload.rb +98 -0
- data/vendor/qwik/lib/qwik/bench-bench.rb +28 -0
- data/vendor/qwik/lib/qwik/bench-emode.rb +47 -0
- data/vendor/qwik/lib/qwik/bench-format-xml.rb +70 -0
- data/vendor/qwik/lib/qwik/bench-large-table.rb +62 -0
- data/vendor/qwik/lib/qwik/bench-md5.rb +14 -0
- data/vendor/qwik/lib/qwik/bench-module-session.rb +19 -0
- data/vendor/qwik/lib/qwik/bench-page.rb +50 -0
- data/vendor/qwik/lib/qwik/bench-s-md5.rb +28 -0
- data/vendor/qwik/lib/qwik/bench-session.rb +25 -0
- data/vendor/qwik/lib/qwik/bench-textformat.rb +31 -0
- data/vendor/qwik/lib/qwik/catalog-factory.rb +91 -0
- data/vendor/qwik/lib/qwik/catalog-ja.rb +479 -0
- data/vendor/qwik/lib/qwik/catalog-ml-ja.rb +145 -0
- data/vendor/qwik/lib/qwik/check-act-monitor.rb +112 -0
- data/vendor/qwik/lib/qwik/check-act-monitor2.rb +46 -0
- data/vendor/qwik/lib/qwik/check-act-theme.rb +27 -0
- data/vendor/qwik/lib/qwik/check-event.rb +112 -0
- data/vendor/qwik/lib/qwik/check-event2.rb +55 -0
- data/vendor/qwik/lib/qwik/check-htree-rexml.rb +77 -0
- data/vendor/qwik/lib/qwik/check-htree.rb +51 -0
- data/vendor/qwik/lib/qwik/check-libxml.rb +135 -0
- data/vendor/qwik/lib/qwik/check-many-pages.rb +47 -0
- data/vendor/qwik/lib/qwik/check-monitor.rb +33 -0
- data/vendor/qwik/lib/qwik/check-observer.rb +67 -0
- data/vendor/qwik/lib/qwik/check-server.rb +61 -0
- data/vendor/qwik/lib/qwik/check-uuencode.rb +33 -0
- data/vendor/qwik/lib/qwik/check-webdav.rb +65 -0
- data/vendor/qwik/lib/qwik/check-xml-xpath.rb +27 -0
- data/vendor/qwik/lib/qwik/common-backtrace.rb +94 -0
- data/vendor/qwik/lib/qwik/common-basic.rb +111 -0
- data/vendor/qwik/lib/qwik/common-condition.rb +142 -0
- data/vendor/qwik/lib/qwik/common-error.rb +48 -0
- data/vendor/qwik/lib/qwik/common-gettext.rb +50 -0
- data/vendor/qwik/lib/qwik/common-javascript.rb +45 -0
- data/vendor/qwik/lib/qwik/common-notice.rb +132 -0
- data/vendor/qwik/lib/qwik/common-plain.rb +105 -0
- data/vendor/qwik/lib/qwik/common-plugin.rb +111 -0
- data/vendor/qwik/lib/qwik/common-res.rb +76 -0
- data/vendor/qwik/lib/qwik/common-resolve.rb +92 -0
- data/vendor/qwik/lib/qwik/common-send.rb +171 -0
- data/vendor/qwik/lib/qwik/common-session.rb +139 -0
- data/vendor/qwik/lib/qwik/common-surface.rb +261 -0
- data/vendor/qwik/lib/qwik/common-url.rb +90 -0
- data/vendor/qwik/lib/qwik/compat/Makefile +12 -0
- data/vendor/qwik/lib/qwik/compat/add_load_path.rb +1 -0
- data/vendor/qwik/lib/qwik/config.rb +299 -0
- data/vendor/qwik/lib/qwik/db-b-backup.rb +142 -0
- data/vendor/qwik/lib/qwik/db-backup.rb +184 -0
- data/vendor/qwik/lib/qwik/db-berkeley.rb +306 -0
- data/vendor/qwik/lib/qwik/db-filesystem.rb +305 -0
- data/vendor/qwik/lib/qwik/db-indexer.rb +154 -0
- data/vendor/qwik/lib/qwik/db-searchwords.rb +238 -0
- data/vendor/qwik/lib/qwik/description-ja.rb +267 -0
- data/vendor/qwik/lib/qwik/description.rb +256 -0
- data/vendor/qwik/lib/qwik/dev-add-copyright.rb +23 -0
- data/vendor/qwik/lib/qwik/dev-backup.rb +24 -0
- data/vendor/qwik/lib/qwik/dev-bench.rb +175 -0
- data/vendor/qwik/lib/qwik/dev-calctime.rb +52 -0
- data/vendor/qwik/lib/qwik/dev-css-compressor.rb +60 -0
- data/vendor/qwik/lib/qwik/dev-extract-catalog.rb +102 -0
- data/vendor/qwik/lib/qwik/dev-js-compressor.rb +73 -0
- data/vendor/qwik/lib/qwik/dev-release.rb +235 -0
- data/vendor/qwik/lib/qwik/dev-replace.rb +353 -0
- data/vendor/qwik/lib/qwik/dev-sendmail.rb +25 -0
- data/vendor/qwik/lib/qwik/farm.rb +283 -0
- data/vendor/qwik/lib/qwik/gettext.rb +56 -0
- data/vendor/qwik/lib/qwik/group-cond.rb +157 -0
- data/vendor/qwik/lib/qwik/group-config.rb +247 -0
- data/vendor/qwik/lib/qwik/group-confirm.rb +147 -0
- data/vendor/qwik/lib/qwik/group-db.rb +326 -0
- data/vendor/qwik/lib/qwik/group-mail.rb +195 -0
- data/vendor/qwik/lib/qwik/group-member.rb +307 -0
- data/vendor/qwik/lib/qwik/group-sendmail.rb +231 -0
- data/vendor/qwik/lib/qwik/group-site.rb +374 -0
- data/vendor/qwik/lib/qwik/group-sweep.rb +63 -0
- data/vendor/qwik/lib/qwik/group.rb +157 -0
- data/vendor/qwik/lib/qwik/helper.rb +6 -0
- data/vendor/qwik/lib/qwik/html-generator.rb +104 -0
- data/vendor/qwik/lib/qwik/html-to-wabisabi.rb +148 -0
- data/vendor/qwik/lib/qwik/htree-diff.rb +87 -0
- data/vendor/qwik/lib/qwik/htree-format-xml.rb +57 -0
- data/vendor/qwik/lib/qwik/htree-generator.rb +144 -0
- data/vendor/qwik/lib/qwik/htree-get.rb +251 -0
- data/vendor/qwik/lib/qwik/htree-html-generator.rb +179 -0
- data/vendor/qwik/lib/qwik/htree-template.rb +263 -0
- data/vendor/qwik/lib/qwik/htree-to-wabisabi.rb +171 -0
- data/vendor/qwik/lib/qwik/loadlib.rb +79 -0
- data/vendor/qwik/lib/qwik/logger.rb +115 -0
- data/vendor/qwik/lib/qwik/mail-body.rb +171 -0
- data/vendor/qwik/lib/qwik/mail-header.rb +474 -0
- data/vendor/qwik/lib/qwik/mail-multipart.rb +193 -0
- data/vendor/qwik/lib/qwik/mail-parse.rb +147 -0
- data/vendor/qwik/lib/qwik/mail.rb +341 -0
- data/vendor/qwik/lib/qwik/mailaddress.rb +83 -0
- data/vendor/qwik/lib/qwik/mdlb-model.rb +81 -0
- data/vendor/qwik/lib/qwik/mdlb-sample.rb +324 -0
- data/vendor/qwik/lib/qwik/ml-catalog-factory.rb +27 -0
- data/vendor/qwik/lib/qwik/ml-exception.rb +15 -0
- data/vendor/qwik/lib/qwik/ml-generator.rb +28 -0
- data/vendor/qwik/lib/qwik/ml-gettext.rb +137 -0
- data/vendor/qwik/lib/qwik/ml-logger.rb +82 -0
- data/vendor/qwik/lib/qwik/ml-memory.rb +65 -0
- data/vendor/qwik/lib/qwik/ml-msg-validator.rb +86 -0
- data/vendor/qwik/lib/qwik/ml-processor.rb +609 -0
- data/vendor/qwik/lib/qwik/ml-quickml-server.rb +122 -0
- data/vendor/qwik/lib/qwik/ml-sendmail.rb +0 -0
- data/vendor/qwik/lib/qwik/ml-server.rb +107 -0
- data/vendor/qwik/lib/qwik/ml-session.rb +348 -0
- data/vendor/qwik/lib/qwik/ml-sweeper.rb +101 -0
- data/vendor/qwik/lib/qwik/mock-logger.rb +65 -0
- data/vendor/qwik/lib/qwik/mock-sendmail.rb +78 -0
- data/vendor/qwik/lib/qwik/mock-socket.rb +82 -0
- data/vendor/qwik/lib/qwik/modulobe.rb +406 -0
- data/vendor/qwik/lib/qwik/mongrel-server.rb +72 -0
- data/vendor/qwik/lib/qwik/page-files.rb +249 -0
- data/vendor/qwik/lib/qwik/page-generate.rb +82 -0
- data/vendor/qwik/lib/qwik/page-get.rb +262 -0
- data/vendor/qwik/lib/qwik/page-images.rb +168 -0
- data/vendor/qwik/lib/qwik/page-put.rb +128 -0
- data/vendor/qwik/lib/qwik/page-rrefs.rb +154 -0
- data/vendor/qwik/lib/qwik/page-title.rb +0 -0
- data/vendor/qwik/lib/qwik/page-wikidb.rb +234 -0
- data/vendor/qwik/lib/qwik/page.rb +67 -0
- data/vendor/qwik/lib/qwik/pages.rb +444 -0
- data/vendor/qwik/lib/qwik/parse-plugin.rb +249 -0
- data/vendor/qwik/lib/qwik/parser-emode.rb +116 -0
- data/vendor/qwik/lib/qwik/parser-inline.rb +272 -0
- data/vendor/qwik/lib/qwik/parser.rb +349 -0
- data/vendor/qwik/lib/qwik/password.rb +183 -0
- data/vendor/qwik/lib/qwik/periodic.rb +79 -0
- data/vendor/qwik/lib/qwik/qp.rb +56 -0
- data/vendor/qwik/lib/qwik/qwik-service.rb +341 -0
- data/vendor/qwik/lib/qwik/qwik.rb +5 -0
- data/vendor/qwik/lib/qwik/qwikweb-adduser.rb +34 -0
- data/vendor/qwik/lib/qwik/qwikweb-catalog-validator.rb +110 -0
- data/vendor/qwik/lib/qwik/qwikweb-incgen.rb +28 -0
- data/vendor/qwik/lib/qwik/qwikweb-makesite.rb +41 -0
- data/vendor/qwik/lib/qwik/qwikweb-server.rb +44 -0
- data/vendor/qwik/lib/qwik/qwikweb-showpassword.rb +26 -0
- data/vendor/qwik/lib/qwik/qwikweb-watchlog.rb +67 -0
- data/vendor/qwik/lib/qwik/request-path.rb +304 -0
- data/vendor/qwik/lib/qwik/request-ua.rb +76 -0
- data/vendor/qwik/lib/qwik/request-webrick.rb +81 -0
- data/vendor/qwik/lib/qwik/request.rb +91 -0
- data/vendor/qwik/lib/qwik/resolve-tdiary.rb +292 -0
- data/vendor/qwik/lib/qwik/resolve.rb +121 -0
- data/vendor/qwik/lib/qwik/response.rb +228 -0
- data/vendor/qwik/lib/qwik/server-memory.rb +57 -0
- data/vendor/qwik/lib/qwik/server-webrick.rb +102 -0
- data/vendor/qwik/lib/qwik/server.rb +252 -0
- data/vendor/qwik/lib/qwik/site-config.rb +149 -0
- data/vendor/qwik/lib/qwik/site-db.rb +136 -0
- data/vendor/qwik/lib/qwik/site-event.rb +162 -0
- data/vendor/qwik/lib/qwik/site-files.rb +86 -0
- data/vendor/qwik/lib/qwik/site-group.rb +103 -0
- data/vendor/qwik/lib/qwik/site-index.rb +47 -0
- data/vendor/qwik/lib/qwik/site-log.rb +64 -0
- data/vendor/qwik/lib/qwik/site-member.rb +230 -0
- data/vendor/qwik/lib/qwik/site-monitor.rb +97 -0
- data/vendor/qwik/lib/qwik/site-pages.rb +62 -0
- data/vendor/qwik/lib/qwik/site-plan.rb +139 -0
- data/vendor/qwik/lib/qwik/site-report.rb +282 -0
- data/vendor/qwik/lib/qwik/site-resolve.rb +230 -0
- data/vendor/qwik/lib/qwik/site-rrefs.rb +18 -0
- data/vendor/qwik/lib/qwik/site-search.rb +180 -0
- data/vendor/qwik/lib/qwik/site-timeline.rb +153 -0
- data/vendor/qwik/lib/qwik/site-url.rb +189 -0
- data/vendor/qwik/lib/qwik/site.rb +76 -0
- data/vendor/qwik/lib/qwik/smil-time.rb +105 -0
- data/vendor/qwik/lib/qwik/smtp-session.rb +331 -0
- data/vendor/qwik/lib/qwik/template-generator.rb +149 -0
- data/vendor/qwik/lib/qwik/template.rb +85 -0
- data/vendor/qwik/lib/qwik/test-common.rb +10 -0
- data/vendor/qwik/lib/qwik/test-ml-info.rb +225 -0
- data/vendor/qwik/lib/qwik/test-module-ml.rb +142 -0
- data/vendor/qwik/lib/qwik/test-module-path.rb +110 -0
- data/vendor/qwik/lib/qwik/test-module-public.rb +70 -0
- data/vendor/qwik/lib/qwik/test-module-server.rb +98 -0
- data/vendor/qwik/lib/qwik/test-module-session.rb +264 -0
- data/vendor/qwik/lib/qwik/test-module-suite.rb +91 -0
- data/vendor/qwik/lib/qwik/test-ms-applemail.rb +59 -0
- data/vendor/qwik/lib/qwik/test-ms-attach.rb +174 -0
- data/vendor/qwik/lib/qwik/test-ms-basic.rb +40 -0
- data/vendor/qwik/lib/qwik/test-ms-close.rb +35 -0
- data/vendor/qwik/lib/qwik/test-ms-confirm.rb +75 -0
- data/vendor/qwik/lib/qwik/test-ms-ignore-spam.rb +57 -0
- data/vendor/qwik/lib/qwik/test-ms-japanese.rb +97 -0
- data/vendor/qwik/lib/qwik/test-ms-jfilename.rb +82 -0
- data/vendor/qwik/lib/qwik/test-ms-large.rb +58 -0
- data/vendor/qwik/lib/qwik/test-ms-member.rb +103 -0
- data/vendor/qwik/lib/qwik/test-ms-multipart.rb +84 -0
- data/vendor/qwik/lib/qwik/test-ms-org.rb +129 -0
- data/vendor/qwik/lib/qwik/test-ms-plan.rb +130 -0
- data/vendor/qwik/lib/qwik/test-ms-post.rb +53 -0
- data/vendor/qwik/lib/qwik/test-ms-quopri.rb +76 -0
- data/vendor/qwik/lib/qwik/test-sub-quopri.rb +45 -0
- data/vendor/qwik/lib/qwik/test-submit-base64.rb +59 -0
- data/vendor/qwik/lib/qwik/test-submit-forward.rb +61 -0
- data/vendor/qwik/lib/qwik/test-submit-html-mail.rb +52 -0
- data/vendor/qwik/lib/qwik/test-submit-japanese.rb +135 -0
- data/vendor/qwik/lib/qwik/test-submit-jfilename.rb +144 -0
- data/vendor/qwik/lib/qwik/test-submit-uuencode.rb +71 -0
- data/vendor/qwik/lib/qwik/test-suite-all.rb +8 -0
- data/vendor/qwik/lib/qwik/test-suite-basic.rb +9 -0
- data/vendor/qwik/lib/qwik/test-suite-ml.rb +9 -0
- data/vendor/qwik/lib/qwik/test-typekey.rb +64 -0
- data/vendor/qwik/lib/qwik/testunit.rb +45 -0
- data/vendor/qwik/lib/qwik/tokenizer-inline.rb +288 -0
- data/vendor/qwik/lib/qwik/tokenizer.rb +331 -0
- data/vendor/qwik/lib/qwik/typekey.rb +160 -0
- data/vendor/qwik/lib/qwik/util-basic.rb +135 -0
- data/vendor/qwik/lib/qwik/util-charset.rb +331 -0
- data/vendor/qwik/lib/qwik/util-css.rb +56 -0
- data/vendor/qwik/lib/qwik/util-csv-tokenizer.rb +113 -0
- data/vendor/qwik/lib/qwik/util-filename.rb +112 -0
- data/vendor/qwik/lib/qwik/util-pathname.rb +202 -0
- data/vendor/qwik/lib/qwik/util-pid.rb +58 -0
- data/vendor/qwik/lib/qwik/util-safe.rb +67 -0
- data/vendor/qwik/lib/qwik/util-sendmail.rb +273 -0
- data/vendor/qwik/lib/qwik/util-string.rb +202 -0
- data/vendor/qwik/lib/qwik/util-time.rb +125 -0
- data/vendor/qwik/lib/qwik/util-webrick.rb +176 -0
- data/vendor/qwik/lib/qwik/version.rb +11 -0
- data/vendor/qwik/lib/qwik/wabisabi-basic.rb +163 -0
- data/vendor/qwik/lib/qwik/wabisabi-diff.rb +130 -0
- data/vendor/qwik/lib/qwik/wabisabi-format-xml.rb +310 -0
- data/vendor/qwik/lib/qwik/wabisabi-generator.rb +262 -0
- data/vendor/qwik/lib/qwik/wabisabi-index.rb +174 -0
- data/vendor/qwik/lib/qwik/wabisabi-table.rb +212 -0
- data/vendor/qwik/lib/qwik/wabisabi-template.rb +295 -0
- data/vendor/qwik/lib/qwik/wabisabi-to-htree.rb +111 -0
- data/vendor/qwik/lib/qwik/wabisabi-to-wiki.rb +690 -0
- data/vendor/qwik/lib/qwik/wabisabi-traverse.rb +207 -0
- data/vendor/qwik/lib/qwik/wabisabi-validator.rb +116 -0
- data/vendor/qwik/lib/qwik/wabisabi.rb +5 -0
- metadata +492 -0
@@ -0,0 +1,317 @@
|
|
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/act-save'
|
7
|
+
require 'qwik/act-files' # files_form
|
8
|
+
|
9
|
+
module Qwik
|
10
|
+
class Action
|
11
|
+
def ext_edit
|
12
|
+
c_require_login
|
13
|
+
c_require_page_exist
|
14
|
+
generate_edit_page
|
15
|
+
end
|
16
|
+
|
17
|
+
def generate_edit_page(contents=nil, message=nil)
|
18
|
+
#c_monitor('startedit')
|
19
|
+
c_editor(@site, @req.base, contents, message)
|
20
|
+
end
|
21
|
+
|
22
|
+
# only for check design
|
23
|
+
def act_test_editor
|
24
|
+
w = c_page_res('TextFormatSimple')
|
25
|
+
generate_editor_page('act_test_editor', 'h1', w, w, w)
|
26
|
+
end
|
27
|
+
|
28
|
+
def c_editor(site, pagename, contents=nil, message=[''])
|
29
|
+
page = site[pagename]
|
30
|
+
|
31
|
+
page_title = page.get_title
|
32
|
+
|
33
|
+
title = _('Edit')+' | '+page_title
|
34
|
+
|
35
|
+
h1 = [_('Edit'), ' | ', [:a, {:href=>page.url}, page_title]]
|
36
|
+
|
37
|
+
str = contents
|
38
|
+
str = page.load if contents.nil?
|
39
|
+
|
40
|
+
md5hex = str.md5hex
|
41
|
+
|
42
|
+
edit_form = editor_edit_form(pagename, str, md5hex)
|
43
|
+
|
44
|
+
attach_form, attach_list = editor_attach_form(pagename)
|
45
|
+
|
46
|
+
main = editor_main(edit_form, attach_form, attach_list, pagename)
|
47
|
+
|
48
|
+
ar = []
|
49
|
+
ar << editor_help_qwikweb
|
50
|
+
ar << editor_help_edit
|
51
|
+
ar << editor_page_functions(pagename)
|
52
|
+
ar << editor_site_admin
|
53
|
+
sidebar = editor_sidebar(*ar)
|
54
|
+
|
55
|
+
generate_editor_page(title, h1, message, main, sidebar)
|
56
|
+
end
|
57
|
+
|
58
|
+
def editor_edit_form(pagename, str, md5hex)
|
59
|
+
form = [:form, {:method=>'POST', :action=>"#{pagename}.save"},
|
60
|
+
[:textarea, {:name=>'contents', :id=>'contents',
|
61
|
+
:cols=>'70', :rows=>'20', :class=>'focus'}, str],
|
62
|
+
[:div, {:class=>'right'},
|
63
|
+
[:input, {:type=>'hidden', :name=>'md5hex', :value=>md5hex}],
|
64
|
+
[:input, {:class=>'submit', :type=>'submit',
|
65
|
+
:name=>'save', :value=>_('Save')}]]]
|
66
|
+
return form
|
67
|
+
end
|
68
|
+
|
69
|
+
def editor_attach_form(pagename)
|
70
|
+
form = files_form(pagename)
|
71
|
+
list = files_list
|
72
|
+
return form, list
|
73
|
+
end
|
74
|
+
|
75
|
+
def editor_main(edit_form, attach_form, attach_list, pagename)
|
76
|
+
divs = [
|
77
|
+
[:div, {:class=>'day edit'},
|
78
|
+
[:h2, _('Edit')],
|
79
|
+
[:div, {:class=>'section section_edit'}, edit_form]],
|
80
|
+
[:div, {:class=>'day attach'},
|
81
|
+
[:h2, _('Attach Files')],
|
82
|
+
[:div, {:class=>'section section_attach'},
|
83
|
+
attach_form,
|
84
|
+
[:div, {:class=>'right attach_many'},
|
85
|
+
[:a, {:href=>"#{pagename}.files"}, _('Attach many files')]]]]
|
86
|
+
]
|
87
|
+
|
88
|
+
if attach_list
|
89
|
+
divs << [:div, {:class=>'day attach'},
|
90
|
+
[:h2, _('Files')],
|
91
|
+
[:div, {:class=>'section'},
|
92
|
+
[:ul, *attach_list]]]
|
93
|
+
end
|
94
|
+
|
95
|
+
return divs
|
96
|
+
end
|
97
|
+
|
98
|
+
def editor_help_qwikweb
|
99
|
+
return [:div, {:class=>'section edithistory'},
|
100
|
+
[:h2, _('Help')],
|
101
|
+
[:ul,
|
102
|
+
[:li, [:a, {:href=>'.describe'}, _('How to qwikWeb')]]
|
103
|
+
]]
|
104
|
+
end
|
105
|
+
|
106
|
+
def editor_help_edit
|
107
|
+
return [:div, {:class=>'section edithelp'},
|
108
|
+
[:h2, _('Text Format')],
|
109
|
+
[:ul,
|
110
|
+
[:li, [:tt, '*'], ' ', _('Header')],
|
111
|
+
[:li, [:tt, '-'], ' ', _('List')],
|
112
|
+
[:li, [:tt, '+'], ' ', _('Ordered list')],
|
113
|
+
[:li, [:tt, '>'], ' ', _('Block quote')],
|
114
|
+
[:li, [:tt, ':'], ' ', _('Word'), ': ', _('Definition')],
|
115
|
+
[:li, [:tt, ','], ' ', _('Table')],
|
116
|
+
[:li, [:tt, "''"], _('Emphasis'), [:tt, "''"]],
|
117
|
+
[:li, [:tt, "'''"], _('Stronger'), [:tt, "'''"]],
|
118
|
+
[:li, [:tt, '[['], 'FrontPage', [:tt, ']]'], ' ', _('Link')]],
|
119
|
+
[:p, [:a, {:href=>'TextFormat.describe'}, _('more help')]]]
|
120
|
+
end
|
121
|
+
|
122
|
+
def editor_page_functions(pagename)
|
123
|
+
return [:div, {:class=>'section edithistory'},
|
124
|
+
[:h2, _('Page functions')],
|
125
|
+
[:ul,
|
126
|
+
[:li, [:a, {:href=>"#{pagename}.backup"}, _('Backup')]],
|
127
|
+
[:li, [:a, {:href=>"#{pagename}.history"}, _('Time machine')]],
|
128
|
+
[:li, [:a, {:href=>"#{pagename}.presen"}, _('Presentation mode')]],
|
129
|
+
[:li, [:a, {:href=>"#{pagename}.wysiwyg"}, _('Edit in this page')]],
|
130
|
+
[:li, [:a, {:href=>"PluginWema.describe"}, _('How to use post-its')]],
|
131
|
+
]]
|
132
|
+
end
|
133
|
+
|
134
|
+
def editor_site_admin
|
135
|
+
return [:div, {:class=>'section edithistory'},
|
136
|
+
[:h2, _('Site administration')],
|
137
|
+
[:ul,
|
138
|
+
[:li, [:a, {:href=>'SiteManagement.describe'}, _('Site Menu')]],
|
139
|
+
[:li, [:a, {:href=>'_SiteConfig.html'}, _('Site Configuration')]],
|
140
|
+
[:li, [:a, {:href=>'.plan'}, _('Create a new plan')]],
|
141
|
+
[:li, [:a, {:href=>'.chronology'}, _('Chronology')]],
|
142
|
+
[:li, [:a, {:href=>'_GroupMembers.html'}, _('Group members')]],
|
143
|
+
[:li, [:a, {:href=>"#{@site.sitename}.zip"}, _('Site Archive')]],
|
144
|
+
[:li, [:a, {:href=>"#{@site.sitename}.sitebackup"}, _('Site backup')]],
|
145
|
+
[:li, [:a, {:href=>"_GroupConfig.html"}, _('Mailing List Configuration')]],
|
146
|
+
[:li, [:a, {:href=>".sendpass"}, _('Send Password')]],
|
147
|
+
]]
|
148
|
+
end
|
149
|
+
|
150
|
+
def editor_sidebar(*a)
|
151
|
+
return a
|
152
|
+
end
|
153
|
+
|
154
|
+
def generate_editor_page(title, h1, message, main, sidebar)
|
155
|
+
@res.status = 200
|
156
|
+
template = @memory.template.get('editor')
|
157
|
+
@res.body = Action.editor_generate(template, title, h1,
|
158
|
+
message, main, sidebar)
|
159
|
+
c_set_html
|
160
|
+
c_set_no_cache
|
161
|
+
return nil
|
162
|
+
end
|
163
|
+
|
164
|
+
def self.editor_generate(template, title, h1, message, main, sidebar)
|
165
|
+
w = template.get_tag('head')
|
166
|
+
|
167
|
+
# insert title
|
168
|
+
w.insert(1, [:title, title])
|
169
|
+
|
170
|
+
# insert JavaScript
|
171
|
+
js = generate_js
|
172
|
+
w.insert(w.length, *js)
|
173
|
+
|
174
|
+
# insert meta
|
175
|
+
w << [:meta, {:name=>'ROBOTS', :content=>'NOINDEX,NOFOLLOW'}]
|
176
|
+
|
177
|
+
# insert h1
|
178
|
+
w = template.get_tag('h1')
|
179
|
+
#w << title
|
180
|
+
w << h1
|
181
|
+
|
182
|
+
# insert message
|
183
|
+
w = template.get_by_class('message')
|
184
|
+
w << message
|
185
|
+
|
186
|
+
# insert main
|
187
|
+
w = template.get_by_class('main')
|
188
|
+
w.insert(2, *main)
|
189
|
+
|
190
|
+
# insert sidebar
|
191
|
+
w = template.get_by_class('sidebar')
|
192
|
+
w.insert(2, *sidebar)
|
193
|
+
|
194
|
+
return template
|
195
|
+
end
|
196
|
+
end
|
197
|
+
end
|
198
|
+
|
199
|
+
if $0 == __FILE__
|
200
|
+
require 'qwik/test-common'
|
201
|
+
$test = true
|
202
|
+
end
|
203
|
+
|
204
|
+
if defined?($test) && $test
|
205
|
+
class TestActEdit < Test::Unit::TestCase
|
206
|
+
include TestSession
|
207
|
+
|
208
|
+
def test_generator
|
209
|
+
res = session
|
210
|
+
|
211
|
+
template = @memory.template.get('editor')
|
212
|
+
eq [:h1], template.get_tag('h1')
|
213
|
+
eq [:div, {:class=>'main'}], template.get_by_class('main')
|
214
|
+
|
215
|
+
res = Qwik::Action.editor_generate(template, 'title', 'h1',
|
216
|
+
'msg', ['m'], ['s'])
|
217
|
+
|
218
|
+
eq [:title, 'title'], res.get_tag('title')
|
219
|
+
# eq [:script, {:src=>'.theme/js/base.js',
|
220
|
+
# :type=>'text/javascript'}, ''], res.get_tag('script')
|
221
|
+
eq [:link, {:href=>'.theme/css/base.css', :rel=>'stylesheet',
|
222
|
+
:media=>'screen,tv', :type=>'text/css'}],
|
223
|
+
res.get_tag('link')
|
224
|
+
eq [:link, {:media=>'screen,tv', :type=>'text/css',
|
225
|
+
:href=>'.theme/qwikeditor/qwikeditor.css',
|
226
|
+
:rel=>'stylesheet'}],
|
227
|
+
res.get_tag('link[2]')
|
228
|
+
eq [:meta, {:content=>'NOINDEX,NOFOLLOW', :name=>'ROBOTS'}],
|
229
|
+
res.get_tag('meta')
|
230
|
+
eq [:h1, 'h1'], res.get_tag('h1')
|
231
|
+
eq [:div, {:class=>'message'}, 'msg'],
|
232
|
+
res.get_path("//div[@class='message']")
|
233
|
+
eq [:div, {:class=>'main'}, 'm'],
|
234
|
+
res.get_path("//div[@class='main']")
|
235
|
+
eq [:div, {:class=>'sidebar'}, 's'],
|
236
|
+
res.get_path("//div[@class='sidebar']")
|
237
|
+
end
|
238
|
+
|
239
|
+
def test_all
|
240
|
+
res = session
|
241
|
+
|
242
|
+
@action.generate_editor_page('title', 'h1', 'msg', ['ma'], ['si'])
|
243
|
+
eq 200, res.status
|
244
|
+
ok_title 'title'
|
245
|
+
ok_xp [:div, {:class=>'message'}, 'msg'], "//div[@class='message']"
|
246
|
+
ok_xp [:div, {:class=>'main'}, 'ma'], "//div[@class='main']"
|
247
|
+
ok_xp [:div, {:class=>'sidebar'}, 'si'], "//div[@class='sidebar']"
|
248
|
+
|
249
|
+
t_add_user
|
250
|
+
|
251
|
+
res = session '/test/.test_editor'
|
252
|
+
#ok_xp [:title, 'Edit | 1'], 'title', res
|
253
|
+
#ok_xp [:title, 'act_test_editor'], 'title', res
|
254
|
+
|
255
|
+
page = @site.create_new
|
256
|
+
page.store 't'
|
257
|
+
@action.c_editor(@site, '1')
|
258
|
+
ok_title 'Edit | 1'
|
259
|
+
ok_xp [:div, {:class=>'message'}, ['']],
|
260
|
+
"//div[@class='message']"
|
261
|
+
|
262
|
+
# edit form
|
263
|
+
assert_rattr({:action=>'1.save', :method=>'POST'},
|
264
|
+
"//div[@class='day edit']/form")
|
265
|
+
ok_xp [:textarea, {:id=>'contents', :name=>'contents',
|
266
|
+
:cols=>'70', :rows=>'20', :class=>'focus'}, 't'],
|
267
|
+
"//div[@class='day edit']/form/textarea"
|
268
|
+
ok_xp [:input, {:value=>'e358efa489f58062f10dd7316b65649e',
|
269
|
+
:type=>'hidden', :name=>'md5hex'}],
|
270
|
+
"//div[@class='day edit']/form/input"
|
271
|
+
ok_xp [:input, {:value=>'Save', :type=>'submit',
|
272
|
+
:class=>'submit', :name=>'save'}],
|
273
|
+
"//div[@class='day edit']/form/input[2]"
|
274
|
+
|
275
|
+
# attach form
|
276
|
+
assert_rattr({:enctype=>'multipart/form-data',
|
277
|
+
:action=>'1.files', :method=>'POST'},
|
278
|
+
"//div[@class='day attach']/form")
|
279
|
+
ok_xp [:input, {:type=>'file', :name=>'content'}],
|
280
|
+
"//div[@class='day attach']/form/input"
|
281
|
+
ok_xp [:input, {:value=>'Attach', :type=>'submit', :class=>'submit'}],
|
282
|
+
"//div[@class='day attach']/form/input[2]"
|
283
|
+
ok_in [:a, {:href=>'1.files'}, 'Attach many files'],
|
284
|
+
"//div[@class='day attach']//div[@class='right attach_many']"
|
285
|
+
# ok_xp [:a, {:href=>'_SiteMenu.html'}, 'SiteMenu'],
|
286
|
+
# "//div[@class='sidebar']//a"
|
287
|
+
end
|
288
|
+
|
289
|
+
def test_editor
|
290
|
+
res = session
|
291
|
+
|
292
|
+
# test_edit_page_generator
|
293
|
+
page = @site.create_new
|
294
|
+
page.store "* test\ntestbody\n** h3\nh3body\n* h2\nh2body\n"
|
295
|
+
side = @site['_SideMenu']
|
296
|
+
side.store '* side\nsidebody [[1]]'
|
297
|
+
|
298
|
+
res = session
|
299
|
+
@action.c_editor(@site, '1', 'contents', 'msg')
|
300
|
+
ok_title 'Edit | test'
|
301
|
+
assert_text 'Edit | test', 'h1'
|
302
|
+
ok_xp [:meta, {:content=>'NOINDEX,NOFOLLOW', :name=>'ROBOTS'}],
|
303
|
+
'//meta'
|
304
|
+
ok_in ['msg'], "//div[@class='message']"
|
305
|
+
assert_attr({:action=>'1.save', :method=>'POST'}, 'form')
|
306
|
+
assert_text 'contents', 'textarea'
|
307
|
+
ok_xp [:input, {:value=>'98bf7d8c15784f0a3d63204441e1e2aa',
|
308
|
+
:type=>'hidden', :name=>'md5hex'}], '//input'
|
309
|
+
ok_xp [:input, {:value=>'Save', :type=>'submit', :class=>'submit',
|
310
|
+
:class=>'submit', :name=>'save'}], '//input[2]'
|
311
|
+
# ok_xp [:a, {:href=>'_SiteMenu.html'}, 'SiteMenu'],
|
312
|
+
# '//div[@class='sidebar']//a'
|
313
|
+
# ok_xp [:a, {:href=>'1.presen'}, 'Presentation mode'],
|
314
|
+
# "//div[@class='sidebar']//a"
|
315
|
+
end
|
316
|
+
end
|
317
|
+
end
|
@@ -0,0 +1,296 @@
|
|
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/html-to-wabisabi'
|
7
|
+
|
8
|
+
module Qwik
|
9
|
+
class Action
|
10
|
+
D_PluginEmbedHtml = {
|
11
|
+
:dt => 'Embed HTML plugin',
|
12
|
+
:dd => 'You can embed bare HTML in the page.',
|
13
|
+
:dc => "* Example
|
14
|
+
{{html
|
15
|
+
This is <font color='red'>red</font>.
|
16
|
+
}}
|
17
|
+
{{html
|
18
|
+
This is <font color='red'>red</font>.
|
19
|
+
}}
|
20
|
+
* Allowed elements
|
21
|
+
You can input allowed elements only.
|
22
|
+
** valid tags
|
23
|
+
#{WabisabiValidator::VALID_TAGS.join(' ')}
|
24
|
+
** valid attributes
|
25
|
+
#{WabisabiValidator::VALID_ATTR.join(' ')}
|
26
|
+
|
27
|
+
* HTMLの中へのプラグインの埋め込み
|
28
|
+
You can also embed plugins like this.
|
29
|
+
{{html
|
30
|
+
<plugin param=\"1\" method=\"recent\"></plugin>
|
31
|
+
}}
|
32
|
+
{{html
|
33
|
+
<plugin param=\"1\" method=\"recent\"></plugin>
|
34
|
+
}}
|
35
|
+
|
36
|
+
* Example
|
37
|
+
<html>
|
38
|
+
<H3>Header 2</H3>
|
39
|
+
<H4>Header 3</H4>
|
40
|
+
<H5>Header 4</H5>
|
41
|
+
<H6>Header 5</H6>
|
42
|
+
<UL>
|
43
|
+
<LI>List 1
|
44
|
+
<UL>
|
45
|
+
<LI>List 2
|
46
|
+
<UL>
|
47
|
+
<LI>List 3</LI></UL></LI></UL></LI></UL>
|
48
|
+
<OL>
|
49
|
+
<LI>Ordered List 1
|
50
|
+
<OL>
|
51
|
+
<LI>Ordered List 2
|
52
|
+
<OL>
|
53
|
+
<LI>Ordered List 3</LI></OL></LI></OL></LI></OL>
|
54
|
+
<PRE>Pre-formatted text.</PRE>
|
55
|
+
<BLOCKQUOTE>
|
56
|
+
<P>This is a quoted text.</P>
|
57
|
+
</BLOCKQUOTE>
|
58
|
+
<DL>
|
59
|
+
<DT>Wiki
|
60
|
+
<DD>A writable Web system.
|
61
|
+
<DT>QuickML
|
62
|
+
<DD>An easy-to-use mailing list management system.</DD></DL>
|
63
|
+
<TABLE>
|
64
|
+
<TBODY>
|
65
|
+
<TR>
|
66
|
+
<TD>Table 1-1</TD>
|
67
|
+
<TD>Table 1-2</TD>
|
68
|
+
<TD>Table 1-3</TD></TR>
|
69
|
+
<TR>
|
70
|
+
<TD>Table 2-1</TD>
|
71
|
+
<TD>Table 2-2</TD>
|
72
|
+
<TD>Table 2-3</TD></TR></TBODY></TABLE>
|
73
|
+
<P><EM>Emphasis</EM>、
|
74
|
+
<STRONG>Strong</STRONG>、
|
75
|
+
<DEL>Delete</DEL>
|
76
|
+
<A href=\"http://qwik.jp/.theme/new.png\">new</A>
|
77
|
+
<A href=\"FrontPage.html\">FrontPage</A>
|
78
|
+
<A href=\"http://www.yahoo.co.jp/\">Yahoo!</A>
|
79
|
+
</P>
|
80
|
+
|
81
|
+
<PLUGIN param=\"1\" method=\"recent\"></PLUGIN>
|
82
|
+
</html>
|
83
|
+
"
|
84
|
+
}
|
85
|
+
|
86
|
+
D_PluginEmbedHtml_ja = {
|
87
|
+
:dt => 'HTML埋め込み機能 ',
|
88
|
+
:dd => 'HTMLをそのまま埋込むことができます。',
|
89
|
+
:dc => "* 例
|
90
|
+
{{html
|
91
|
+
This is <font color='red'>red</font>.
|
92
|
+
}}
|
93
|
+
{{html
|
94
|
+
This is <font color='red'>red</font>.
|
95
|
+
}}
|
96
|
+
* 使える要素
|
97
|
+
任意のタグが使えるわけではなく,使える要素は限られています.
|
98
|
+
** 使えるタグ
|
99
|
+
#{WabisabiValidator::VALID_TAGS.join(' ')}
|
100
|
+
** 使えるアトリビュート
|
101
|
+
#{WabisabiValidator::VALID_ATTR.join(' ')}
|
102
|
+
|
103
|
+
* HTMLの中へのプラグインの埋め込み
|
104
|
+
HTML記述の中にqwikWebのプラグインを埋込むこともできます。
|
105
|
+
{{html
|
106
|
+
<plugin param=\"1\" method=\"recent\"></plugin>
|
107
|
+
}}
|
108
|
+
{{html
|
109
|
+
<plugin param=\"1\" method=\"recent\"></plugin>
|
110
|
+
}}
|
111
|
+
|
112
|
+
* 例
|
113
|
+
<html>
|
114
|
+
<H3>見出し2</H3>
|
115
|
+
<H4>見出し3</H4>
|
116
|
+
<H5>見出し4</H5>
|
117
|
+
<H6>見出し5</H6>
|
118
|
+
<UL>
|
119
|
+
<LI>箇条書レベル1
|
120
|
+
<UL>
|
121
|
+
<LI>箇条書レベル2
|
122
|
+
<UL>
|
123
|
+
<LI>箇条書レベル3</LI></UL></LI></UL></LI></UL>
|
124
|
+
<OL>
|
125
|
+
<LI>順序リスト1
|
126
|
+
<OL>
|
127
|
+
<LI>順序リスト2
|
128
|
+
<OL>
|
129
|
+
<LI>順序リスト3</LI></OL></LI></OL></LI></OL><PRE>整形済みテキスト。</PRE>
|
130
|
+
<BLOCKQUOTE>
|
131
|
+
<P>引用。</P></BLOCKQUOTE>
|
132
|
+
<DL>
|
133
|
+
<DT>Wiki
|
134
|
+
<DD>書き込み可能なWebページ
|
135
|
+
<DT>QuickML
|
136
|
+
<DD>簡単に作れるメーリングリストシステム</DD></DL>
|
137
|
+
<TABLE>
|
138
|
+
<TBODY>
|
139
|
+
<TR>
|
140
|
+
<TD>項目1-1</TD>
|
141
|
+
<TD>項目1-2</TD>
|
142
|
+
<TD>項目1-3</TD></TR>
|
143
|
+
<TR>
|
144
|
+
<TD>項目2-1</TD>
|
145
|
+
<TD>項目2-2</TD>
|
146
|
+
<TD>項目2-3</TD></TR></TBODY></TABLE>
|
147
|
+
<P><EM>強調</EM>、<STRONG>さらに強調</STRONG>、<DEL>取り消し線</DEL> <A href=\"http://qwik.jp/.theme/new.png\">new</A> <A href=\"FrontPage.html\">FrontPage</A> <A href=\"http://www.yahoo.co.jp/\">Yahoo!</A></P>
|
148
|
+
|
149
|
+
<PLUGIN param=\"1\" method=\"recent\"></PLUGIN>
|
150
|
+
</html>
|
151
|
+
"
|
152
|
+
}
|
153
|
+
|
154
|
+
def plg_html
|
155
|
+
return unless block_given?
|
156
|
+
str = yield
|
157
|
+
|
158
|
+
wabisabi = HtmlToWabisabi.parse(str)
|
159
|
+
|
160
|
+
v = WabisabiValidator.valid?(wabisabi)
|
161
|
+
if v == true
|
162
|
+
return wabisabi
|
163
|
+
else
|
164
|
+
return "can not use [#{v}]"
|
165
|
+
end
|
166
|
+
end
|
167
|
+
end
|
168
|
+
end
|
169
|
+
|
170
|
+
if $0 == __FILE__
|
171
|
+
require 'qwik/test-common'
|
172
|
+
$test = true
|
173
|
+
end
|
174
|
+
|
175
|
+
if defined?($test) && $test
|
176
|
+
class TestActEmbedHtml < Test::Unit::TestCase
|
177
|
+
include TestSession
|
178
|
+
|
179
|
+
def test_all
|
180
|
+
ok_wi(['a
|
181
|
+
'], '{{html
|
182
|
+
a
|
183
|
+
}}')
|
184
|
+
|
185
|
+
# div can contain another div
|
186
|
+
ok_wi([:div, 't1', [:div, 't2
|
187
|
+
']],
|
188
|
+
'{{html
|
189
|
+
<div>t1<div>t2
|
190
|
+
}}')
|
191
|
+
|
192
|
+
# span can not contain div
|
193
|
+
ok_wi([[:span, 't1'], [:div, 't2
|
194
|
+
']],
|
195
|
+
'{{html
|
196
|
+
<span>t1<div>t2
|
197
|
+
}}')
|
198
|
+
|
199
|
+
# fix the order
|
200
|
+
ok_wi([[:b, [:i, 't']], '
|
201
|
+
'],
|
202
|
+
'{{html
|
203
|
+
<b><i>t</i></b>
|
204
|
+
}}')
|
205
|
+
|
206
|
+
# incomplete html maybe ok.
|
207
|
+
ok_wi([:ul, [:li, 't1'], [:li, 't2
|
208
|
+
']],
|
209
|
+
'{{html
|
210
|
+
<ul><li>t1<li>t2
|
211
|
+
}}')
|
212
|
+
|
213
|
+
# test_longer_html
|
214
|
+
html = <<"EOT"
|
215
|
+
<H2>書式一覧簡易版</H2>
|
216
|
+
<P>詳細な説明は<A href="TextFormat.html">TextFormat</A>をごらんください。</P>
|
217
|
+
<H3>見出し2</H3>
|
218
|
+
<H4>見出し3</H4>
|
219
|
+
<H5>見出し4</H5>
|
220
|
+
<H6>見出し5</H6>
|
221
|
+
<UL>
|
222
|
+
<LI>箇条書レベル1
|
223
|
+
<UL>
|
224
|
+
<LI>箇条書レベル2
|
225
|
+
<UL>
|
226
|
+
<LI>箇条書レベル3</LI></UL></LI></UL></LI></UL>
|
227
|
+
<OL>
|
228
|
+
<LI>順序リスト1
|
229
|
+
<OL>
|
230
|
+
<LI>順序リスト2
|
231
|
+
<OL>
|
232
|
+
<LI>順序リスト3</LI></OL></LI></OL></LI></OL><PRE>整形済みテキスト。</PRE>
|
233
|
+
<BLOCKQUOTE>
|
234
|
+
<P>引用。</P></BLOCKQUOTE>
|
235
|
+
<DL>
|
236
|
+
<DT>Wiki
|
237
|
+
<DD>書き込み可能なWebページ
|
238
|
+
<DT>QuickML
|
239
|
+
<DD>簡単に作れるメーリングリストシステム</DD></DL>
|
240
|
+
<TABLE>
|
241
|
+
<TBODY>
|
242
|
+
<TR>
|
243
|
+
<TD>項目1-1</TD>
|
244
|
+
<TD>項目1-2</TD>
|
245
|
+
<TD>項目1-3</TD></TR>
|
246
|
+
<TR>
|
247
|
+
<TD>項目2-1</TD>
|
248
|
+
<TD>項目2-2</TD>
|
249
|
+
<TD>項目2-3</TD></TR></TBODY></TABLE>
|
250
|
+
<P><EM>強調</EM>、<STRONG>さらに強調</STRONG>、<DEL>取り消し線</DEL> <IMG alt=new src="http://example.com/.theme/new.png"> <A href="FrontPage.html">FrontPage</A> <A href="http://www.yahoo.co.jp/">Yahoo!</A></P><PLUGIN param="1" method="recent"></PLUGIN>
|
251
|
+
EOT
|
252
|
+
|
253
|
+
result = <<"EOT"
|
254
|
+
|
255
|
+
<p>詳細な説明は<a href="TextFormat.html">TextFormat</a>をごらんください。</p>
|
256
|
+
<h3>見出し2</h3>
|
257
|
+
<h4>見出し3</h4>
|
258
|
+
<h5>見出し4</h5>
|
259
|
+
<h6>見出し5</h6>
|
260
|
+
<ul>
|
261
|
+
<li>箇条書レベル1
|
262
|
+
<ul>
|
263
|
+
<li>箇条書レベル2
|
264
|
+
<ul>
|
265
|
+
<li>箇条書レベル3</li></ul></li></ul></li></ul>
|
266
|
+
<ol>
|
267
|
+
<li>順序リスト1
|
268
|
+
<ol>
|
269
|
+
<li>順序リスト2
|
270
|
+
<ol>
|
271
|
+
<li>順序リスト3</li></ol></li></ol></li></ol><pre>整形済みテキスト。</pre>
|
272
|
+
<blockquote>
|
273
|
+
<p>引用。</p></blockquote>
|
274
|
+
<dl>
|
275
|
+
<dt>Wiki
|
276
|
+
</dt><dd>書き込み可能なWebページ
|
277
|
+
</dd><dt>QuickML
|
278
|
+
</dt><dd>簡単に作れるメーリングリストシステム</dd></dl>
|
279
|
+
<table>
|
280
|
+
<tbody>
|
281
|
+
<tr>
|
282
|
+
<td>項目1-1</td>
|
283
|
+
<td>項目1-2</td>
|
284
|
+
<td>項目1-3</td></tr>
|
285
|
+
<tr>
|
286
|
+
<td>項目2-1</td>
|
287
|
+
<td>項目2-2</td>
|
288
|
+
<td>項目2-3</td></tr></tbody></table>
|
289
|
+
<p><em>強調</em>、<strong>さらに強調</strong>、<del>取り消し線</del> <img alt="new" src="http://example.com/.theme/new.png"/> <a href="FrontPage.html">FrontPage</a> <a href="http://www.yahoo.co.jp/">Yahoo!</a></p><plugin method="recent" param="1"/>
|
290
|
+
EOT
|
291
|
+
ok_wi(result, '{{html
|
292
|
+
'+html+'
|
293
|
+
}}')
|
294
|
+
end
|
295
|
+
end
|
296
|
+
end
|