qwikdoc 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +5 -0
- data/.rspec +2 -0
- data/CHANGES +3 -0
- data/COPYING +340 -0
- data/Gemfile +3 -0
- data/README.md +10 -0
- data/Rakefile +10 -0
- data/TextFormattingRules +137 -0
- data/TextFormattingRules.ja +143 -0
- data/bin/qwikdoc +34 -0
- data/lib/qwik_doc.rb +15 -0
- data/lib/qwik_doc/hack.rb +184 -0
- data/qwikdoc.gemspec +26 -0
- data/spec/qwik_doc_spec.rb +305 -0
- data/spec/spec_helper.rb +12 -0
- data/vendor/qwik/Makefile +63 -0
- data/vendor/qwik/Rakefile +17 -0
- data/vendor/qwik/act-aa.rb +83 -0
- data/vendor/qwik/act-archive.rb +386 -0
- data/vendor/qwik/act-attach.rb +304 -0
- data/vendor/qwik/act-backup.rb +236 -0
- data/vendor/qwik/act-basic.rb +325 -0
- data/vendor/qwik/act-book.rb +161 -0
- data/vendor/qwik/act-calc.rb +371 -0
- data/vendor/qwik/act-charset.rb +251 -0
- data/vendor/qwik/act-christel.rb +112 -0
- data/vendor/qwik/act-chronology.rb +149 -0
- data/vendor/qwik/act-code.rb +155 -0
- data/vendor/qwik/act-comment.rb +554 -0
- data/vendor/qwik/act-config.rb +49 -0
- data/vendor/qwik/act-counter.rb +125 -0
- data/vendor/qwik/act-day.rb +96 -0
- data/vendor/qwik/act-describe.rb +135 -0
- data/vendor/qwik/act-diary.rb +109 -0
- data/vendor/qwik/act-edit.rb +317 -0
- data/vendor/qwik/act-embed-html.rb +296 -0
- data/vendor/qwik/act-emode.rb +150 -0
- data/vendor/qwik/act-event.rb +187 -0
- data/vendor/qwik/act-file.rb +303 -0
- data/vendor/qwik/act-files.rb +771 -0
- data/vendor/qwik/act-getpass.rb +295 -0
- data/vendor/qwik/act-history.rb +136 -0
- data/vendor/qwik/act-html.rb +204 -0
- data/vendor/qwik/act-httpauth.rb +147 -0
- data/vendor/qwik/act-include.rb +142 -0
- data/vendor/qwik/act-interwiki.rb +189 -0
- data/vendor/qwik/act-isearch.rb +109 -0
- data/vendor/qwik/act-keywords.rb +137 -0
- data/vendor/qwik/act-lang.rb +81 -0
- data/vendor/qwik/act-license.rb +63 -0
- data/vendor/qwik/act-list.rb +287 -0
- data/vendor/qwik/act-login.rb +410 -0
- data/vendor/qwik/act-logout.rb +60 -0
- data/vendor/qwik/act-mail.rb +159 -0
- data/vendor/qwik/act-map.rb +292 -0
- data/vendor/qwik/act-md5.rb +42 -0
- data/vendor/qwik/act-mdlb.rb +741 -0
- data/vendor/qwik/act-media.rb +416 -0
- data/vendor/qwik/act-member.rb +157 -0
- data/vendor/qwik/act-menu.rb +142 -0
- data/vendor/qwik/act-metadata.rb +323 -0
- data/vendor/qwik/act-mlsubmitform.rb +49 -0
- data/vendor/qwik/act-monitor.rb +167 -0
- data/vendor/qwik/act-new.rb +418 -0
- data/vendor/qwik/act-pagelist.rb +248 -0
- data/vendor/qwik/act-password.rb +145 -0
- data/vendor/qwik/act-plan.rb +210 -0
- data/vendor/qwik/act-povray.rb +230 -0
- data/vendor/qwik/act-presen.rb +380 -0
- data/vendor/qwik/act-redirect.rb +133 -0
- data/vendor/qwik/act-ring.rb +1071 -0
- data/vendor/qwik/act-rrefs.rb +255 -0
- data/vendor/qwik/act-ruby.rb +116 -0
- data/vendor/qwik/act-sample.rb +170 -0
- data/vendor/qwik/act-save.rb +295 -0
- data/vendor/qwik/act-schedule.rb +374 -0
- data/vendor/qwik/act-search.rb +180 -0
- data/vendor/qwik/act-searchwords.rb +51 -0
- data/vendor/qwik/act-sendpass.rb +83 -0
- data/vendor/qwik/act-site.rb +89 -0
- data/vendor/qwik/act-sitebackup.rb +419 -0
- data/vendor/qwik/act-sitelog.rb +118 -0
- data/vendor/qwik/act-smil.rb +299 -0
- data/vendor/qwik/act-status.rb +220 -0
- data/vendor/qwik/act-style.rb +608 -0
- data/vendor/qwik/act-table.rb +263 -0
- data/vendor/qwik/act-tableform.rb +241 -0
- data/vendor/qwik/act-tag.rb +103 -0
- data/vendor/qwik/act-text.rb +70 -0
- data/vendor/qwik/act-textarea.rb +164 -0
- data/vendor/qwik/act-theme.rb +346 -0
- data/vendor/qwik/act-toc.rb +112 -0
- data/vendor/qwik/act-typekey.rb +198 -0
- data/vendor/qwik/act-under-const.rb +94 -0
- data/vendor/qwik/act-webservice.rb +321 -0
- data/vendor/qwik/act-wema.rb +558 -0
- data/vendor/qwik/act-wysiwyg.rb +238 -0
- data/vendor/qwik/action.rb +325 -0
- data/vendor/qwik/autoreload.rb +98 -0
- data/vendor/qwik/bench-bench.rb +28 -0
- data/vendor/qwik/bench-emode.rb +47 -0
- data/vendor/qwik/bench-format-xml.rb +70 -0
- data/vendor/qwik/bench-large-table.rb +62 -0
- data/vendor/qwik/bench-md5.rb +14 -0
- data/vendor/qwik/bench-module-session.rb +19 -0
- data/vendor/qwik/bench-page.rb +50 -0
- data/vendor/qwik/bench-s-md5.rb +28 -0
- data/vendor/qwik/bench-session.rb +25 -0
- data/vendor/qwik/bench-textformat.rb +31 -0
- data/vendor/qwik/catalog-factory.rb +91 -0
- data/vendor/qwik/catalog-ja.rb +479 -0
- data/vendor/qwik/catalog-ml-ja.rb +145 -0
- data/vendor/qwik/check-act-monitor.rb +112 -0
- data/vendor/qwik/check-act-monitor2.rb +46 -0
- data/vendor/qwik/check-act-theme.rb +27 -0
- data/vendor/qwik/check-event.rb +112 -0
- data/vendor/qwik/check-event2.rb +55 -0
- data/vendor/qwik/check-htree-rexml.rb +77 -0
- data/vendor/qwik/check-htree.rb +51 -0
- data/vendor/qwik/check-libxml.rb +135 -0
- data/vendor/qwik/check-many-pages.rb +47 -0
- data/vendor/qwik/check-monitor.rb +33 -0
- data/vendor/qwik/check-observer.rb +67 -0
- data/vendor/qwik/check-server.rb +61 -0
- data/vendor/qwik/check-uuencode.rb +33 -0
- data/vendor/qwik/check-webdav.rb +65 -0
- data/vendor/qwik/check-xml-xpath.rb +27 -0
- data/vendor/qwik/common-backtrace.rb +94 -0
- data/vendor/qwik/common-basic.rb +111 -0
- data/vendor/qwik/common-condition.rb +142 -0
- data/vendor/qwik/common-error.rb +48 -0
- data/vendor/qwik/common-gettext.rb +50 -0
- data/vendor/qwik/common-javascript.rb +45 -0
- data/vendor/qwik/common-notice.rb +132 -0
- data/vendor/qwik/common-plain.rb +105 -0
- data/vendor/qwik/common-plugin.rb +111 -0
- data/vendor/qwik/common-res.rb +76 -0
- data/vendor/qwik/common-resolve.rb +92 -0
- data/vendor/qwik/common-send.rb +171 -0
- data/vendor/qwik/common-session.rb +139 -0
- data/vendor/qwik/common-surface.rb +261 -0
- data/vendor/qwik/common-url.rb +90 -0
- data/vendor/qwik/compat/Makefile +12 -0
- data/vendor/qwik/compat/add_load_path.rb +1 -0
- data/vendor/qwik/config.rb +299 -0
- data/vendor/qwik/db-b-backup.rb +142 -0
- data/vendor/qwik/db-backup.rb +184 -0
- data/vendor/qwik/db-berkeley.rb +306 -0
- data/vendor/qwik/db-filesystem.rb +305 -0
- data/vendor/qwik/db-indexer.rb +154 -0
- data/vendor/qwik/db-searchwords.rb +238 -0
- data/vendor/qwik/description-ja.rb +267 -0
- data/vendor/qwik/description.rb +256 -0
- data/vendor/qwik/dev-add-copyright.rb +23 -0
- data/vendor/qwik/dev-backup.rb +24 -0
- data/vendor/qwik/dev-bench.rb +175 -0
- data/vendor/qwik/dev-calctime.rb +52 -0
- data/vendor/qwik/dev-css-compressor.rb +60 -0
- data/vendor/qwik/dev-extract-catalog.rb +102 -0
- data/vendor/qwik/dev-js-compressor.rb +73 -0
- data/vendor/qwik/dev-release.rb +235 -0
- data/vendor/qwik/dev-replace.rb +353 -0
- data/vendor/qwik/dev-sendmail.rb +25 -0
- data/vendor/qwik/farm.rb +283 -0
- data/vendor/qwik/gettext.rb +56 -0
- data/vendor/qwik/group-cond.rb +157 -0
- data/vendor/qwik/group-config.rb +247 -0
- data/vendor/qwik/group-confirm.rb +147 -0
- data/vendor/qwik/group-db.rb +326 -0
- data/vendor/qwik/group-mail.rb +195 -0
- data/vendor/qwik/group-member.rb +307 -0
- data/vendor/qwik/group-sendmail.rb +231 -0
- data/vendor/qwik/group-site.rb +374 -0
- data/vendor/qwik/group-sweep.rb +63 -0
- data/vendor/qwik/group.rb +157 -0
- data/vendor/qwik/helper.rb +6 -0
- data/vendor/qwik/html-generator.rb +104 -0
- data/vendor/qwik/html-to-wabisabi.rb +149 -0
- data/vendor/qwik/htree-diff.rb +87 -0
- data/vendor/qwik/htree-format-xml.rb +57 -0
- data/vendor/qwik/htree-generator.rb +144 -0
- data/vendor/qwik/htree-get.rb +251 -0
- data/vendor/qwik/htree-html-generator.rb +179 -0
- data/vendor/qwik/htree-template.rb +263 -0
- data/vendor/qwik/htree-to-wabisabi.rb +171 -0
- data/vendor/qwik/loadlib.rb +79 -0
- data/vendor/qwik/logger.rb +115 -0
- data/vendor/qwik/mail-body.rb +171 -0
- data/vendor/qwik/mail-header.rb +474 -0
- data/vendor/qwik/mail-multipart.rb +193 -0
- data/vendor/qwik/mail-parse.rb +147 -0
- data/vendor/qwik/mail.rb +341 -0
- data/vendor/qwik/mailaddress.rb +83 -0
- data/vendor/qwik/mdlb-model.rb +81 -0
- data/vendor/qwik/mdlb-sample.rb +324 -0
- data/vendor/qwik/ml-catalog-factory.rb +27 -0
- data/vendor/qwik/ml-exception.rb +15 -0
- data/vendor/qwik/ml-generator.rb +28 -0
- data/vendor/qwik/ml-gettext.rb +137 -0
- data/vendor/qwik/ml-logger.rb +82 -0
- data/vendor/qwik/ml-memory.rb +65 -0
- data/vendor/qwik/ml-msg-validator.rb +86 -0
- data/vendor/qwik/ml-processor.rb +609 -0
- data/vendor/qwik/ml-quickml-server.rb +122 -0
- data/vendor/qwik/ml-sendmail.rb +0 -0
- data/vendor/qwik/ml-server.rb +107 -0
- data/vendor/qwik/ml-session.rb +348 -0
- data/vendor/qwik/ml-sweeper.rb +101 -0
- data/vendor/qwik/mock-logger.rb +65 -0
- data/vendor/qwik/mock-sendmail.rb +78 -0
- data/vendor/qwik/mock-socket.rb +82 -0
- data/vendor/qwik/modulobe.rb +406 -0
- data/vendor/qwik/mongrel-server.rb +72 -0
- data/vendor/qwik/page-files.rb +249 -0
- data/vendor/qwik/page-generate.rb +82 -0
- data/vendor/qwik/page-get.rb +262 -0
- data/vendor/qwik/page-images.rb +168 -0
- data/vendor/qwik/page-put.rb +128 -0
- data/vendor/qwik/page-rrefs.rb +154 -0
- data/vendor/qwik/page-title.rb +0 -0
- data/vendor/qwik/page-wikidb.rb +234 -0
- data/vendor/qwik/page.rb +67 -0
- data/vendor/qwik/pages.rb +444 -0
- data/vendor/qwik/parse-plugin.rb +249 -0
- data/vendor/qwik/parser-emode.rb +116 -0
- data/vendor/qwik/parser-inline.rb +273 -0
- data/vendor/qwik/parser.rb +350 -0
- data/vendor/qwik/password.rb +183 -0
- data/vendor/qwik/periodic.rb +79 -0
- data/vendor/qwik/qp.rb +56 -0
- data/vendor/qwik/qwik-service.rb +341 -0
- data/vendor/qwik/qwik.rb +5 -0
- data/vendor/qwik/qwikweb-adduser.rb +34 -0
- data/vendor/qwik/qwikweb-catalog-validator.rb +110 -0
- data/vendor/qwik/qwikweb-incgen.rb +28 -0
- data/vendor/qwik/qwikweb-makesite.rb +41 -0
- data/vendor/qwik/qwikweb-server.rb +44 -0
- data/vendor/qwik/qwikweb-showpassword.rb +26 -0
- data/vendor/qwik/qwikweb-watchlog.rb +67 -0
- data/vendor/qwik/request-path.rb +304 -0
- data/vendor/qwik/request-ua.rb +76 -0
- data/vendor/qwik/request-webrick.rb +81 -0
- data/vendor/qwik/request.rb +91 -0
- data/vendor/qwik/resolve-tdiary.rb +292 -0
- data/vendor/qwik/resolve.rb +121 -0
- data/vendor/qwik/response.rb +228 -0
- data/vendor/qwik/server-memory.rb +57 -0
- data/vendor/qwik/server-webrick.rb +102 -0
- data/vendor/qwik/server.rb +252 -0
- data/vendor/qwik/site-config.rb +149 -0
- data/vendor/qwik/site-db.rb +136 -0
- data/vendor/qwik/site-event.rb +162 -0
- data/vendor/qwik/site-files.rb +86 -0
- data/vendor/qwik/site-group.rb +103 -0
- data/vendor/qwik/site-index.rb +47 -0
- data/vendor/qwik/site-log.rb +64 -0
- data/vendor/qwik/site-member.rb +230 -0
- data/vendor/qwik/site-monitor.rb +97 -0
- data/vendor/qwik/site-pages.rb +62 -0
- data/vendor/qwik/site-plan.rb +139 -0
- data/vendor/qwik/site-report.rb +282 -0
- data/vendor/qwik/site-resolve.rb +230 -0
- data/vendor/qwik/site-rrefs.rb +18 -0
- data/vendor/qwik/site-search.rb +180 -0
- data/vendor/qwik/site-timeline.rb +153 -0
- data/vendor/qwik/site-url.rb +189 -0
- data/vendor/qwik/site.rb +76 -0
- data/vendor/qwik/smil-time.rb +105 -0
- data/vendor/qwik/smtp-session.rb +331 -0
- data/vendor/qwik/template-generator.rb +149 -0
- data/vendor/qwik/template.rb +85 -0
- data/vendor/qwik/test-common.rb +10 -0
- data/vendor/qwik/test-ml-info.rb +225 -0
- data/vendor/qwik/test-module-ml.rb +142 -0
- data/vendor/qwik/test-module-path.rb +110 -0
- data/vendor/qwik/test-module-public.rb +70 -0
- data/vendor/qwik/test-module-server.rb +98 -0
- data/vendor/qwik/test-module-session.rb +264 -0
- data/vendor/qwik/test-module-suite.rb +91 -0
- data/vendor/qwik/test-ms-applemail.rb +59 -0
- data/vendor/qwik/test-ms-attach.rb +174 -0
- data/vendor/qwik/test-ms-basic.rb +40 -0
- data/vendor/qwik/test-ms-close.rb +35 -0
- data/vendor/qwik/test-ms-confirm.rb +75 -0
- data/vendor/qwik/test-ms-ignore-spam.rb +57 -0
- data/vendor/qwik/test-ms-japanese.rb +97 -0
- data/vendor/qwik/test-ms-jfilename.rb +82 -0
- data/vendor/qwik/test-ms-large.rb +58 -0
- data/vendor/qwik/test-ms-member.rb +103 -0
- data/vendor/qwik/test-ms-multipart.rb +84 -0
- data/vendor/qwik/test-ms-org.rb +129 -0
- data/vendor/qwik/test-ms-plan.rb +130 -0
- data/vendor/qwik/test-ms-post.rb +53 -0
- data/vendor/qwik/test-ms-quopri.rb +76 -0
- data/vendor/qwik/test-sub-quopri.rb +45 -0
- data/vendor/qwik/test-submit-base64.rb +59 -0
- data/vendor/qwik/test-submit-forward.rb +61 -0
- data/vendor/qwik/test-submit-html-mail.rb +52 -0
- data/vendor/qwik/test-submit-japanese.rb +135 -0
- data/vendor/qwik/test-submit-jfilename.rb +144 -0
- data/vendor/qwik/test-submit-uuencode.rb +71 -0
- data/vendor/qwik/test-suite-all.rb +8 -0
- data/vendor/qwik/test-suite-basic.rb +9 -0
- data/vendor/qwik/test-suite-ml.rb +9 -0
- data/vendor/qwik/test-typekey.rb +64 -0
- data/vendor/qwik/testunit.rb +45 -0
- data/vendor/qwik/tokenizer-inline.rb +294 -0
- data/vendor/qwik/tokenizer.rb +332 -0
- data/vendor/qwik/typekey.rb +160 -0
- data/vendor/qwik/util-basic.rb +135 -0
- data/vendor/qwik/util-charset.rb +332 -0
- data/vendor/qwik/util-css.rb +56 -0
- data/vendor/qwik/util-csv-tokenizer.rb +113 -0
- data/vendor/qwik/util-filename.rb +112 -0
- data/vendor/qwik/util-pathname.rb +202 -0
- data/vendor/qwik/util-pid.rb +58 -0
- data/vendor/qwik/util-safe.rb +67 -0
- data/vendor/qwik/util-sendmail.rb +273 -0
- data/vendor/qwik/util-string.rb +203 -0
- data/vendor/qwik/util-time.rb +125 -0
- data/vendor/qwik/util-webrick.rb +176 -0
- data/vendor/qwik/version.rb +11 -0
- data/vendor/qwik/wabisabi-basic.rb +163 -0
- data/vendor/qwik/wabisabi-diff.rb +130 -0
- data/vendor/qwik/wabisabi-format-xml.rb +310 -0
- data/vendor/qwik/wabisabi-generator.rb +262 -0
- data/vendor/qwik/wabisabi-index.rb +174 -0
- data/vendor/qwik/wabisabi-table.rb +212 -0
- data/vendor/qwik/wabisabi-template.rb +295 -0
- data/vendor/qwik/wabisabi-to-htree.rb +111 -0
- data/vendor/qwik/wabisabi-to-wiki.rb +690 -0
- data/vendor/qwik/wabisabi-traverse.rb +207 -0
- data/vendor/qwik/wabisabi-validator.rb +116 -0
- data/vendor/qwik/wabisabi.rb +5 -0
- metadata +416 -0
@@ -0,0 +1,143 @@
|
|
1
|
+
* 書式一覧
|
2
|
+
* 見出し
|
3
|
+
- 「*」を行の先頭に書くと見出しになります。
|
4
|
+
- 「*」は1つから5つまで記述することができます。
|
5
|
+
それぞれ<H2>〜<H6>に変換されます。
|
6
|
+
* 見出し1
|
7
|
+
** 見出し2
|
8
|
+
*** 見出し3
|
9
|
+
**** 見出し4
|
10
|
+
***** 見出し5
|
11
|
+
* 見出し1
|
12
|
+
** 見出し2
|
13
|
+
*** 見出し3
|
14
|
+
**** 見出し4
|
15
|
+
***** 見出し5
|
16
|
+
* ページタイトル
|
17
|
+
ページの一番最初の行に「*」を一つで見出しを書くと、その見出しはページ
|
18
|
+
タイトルとして機能します。他のページからは、そのページタイトルを使って
|
19
|
+
リンクすることができます。
|
20
|
+
- [[TextFormat]]をご覧下さい。
|
21
|
+
- [[書式一覧詳細版]]をご覧下さい。
|
22
|
+
- [[TextFormat]]をご覧下さい。
|
23
|
+
- [[書式一覧詳細版]]をご覧下さい。
|
24
|
+
というように、同じ一つのページへのリンクにおいて、ページIDによるリンク
|
25
|
+
と、ページタイトルによるリンクを選ぶことができます。
|
26
|
+
|
27
|
+
前者のページIDを使ったリンクの場合、そのページのページタイトルが変更さ
|
28
|
+
れた場合、自動的にそのタイトルが反映されます。しかし、後者のページタイ
|
29
|
+
トルでリンクした場合、リンク先のページタイトルが変更された場合、リンク
|
30
|
+
切れになってしまいます。そのため、通常はページIDを用いたリンク方法をお
|
31
|
+
勧めします。
|
32
|
+
|
33
|
+
* 箇条書き
|
34
|
+
- 「-」を行の先頭に書くと箇条書きになります。
|
35
|
+
- 「-」は1つから3つまで記述することが可能で入れ子にすることもできます。
|
36
|
+
- 「+」を行の先頭に書くと番号付きの箇条書きになります。
|
37
|
+
- 箇条書レベル1
|
38
|
+
-- 箇条書レベル2
|
39
|
+
--- 箇条書レベル3
|
40
|
+
+ 順序リスト1
|
41
|
+
++ 順序リスト2
|
42
|
+
+++ 順序リスト3
|
43
|
+
- 箇条書レベル1
|
44
|
+
-- 箇条書レベル2
|
45
|
+
--- 箇条書レベル3
|
46
|
+
+ 順序リスト1
|
47
|
+
++ 順序リスト2
|
48
|
+
+++ 順序リスト3
|
49
|
+
* パラグラフ
|
50
|
+
- 連続した複数行は連結されて1つのパラグラフになります。
|
51
|
+
- 空行(改行のみ、またはスペース、タブだけの行)はパラグラフの区切りになります。
|
52
|
+
例えば、
|
53
|
+
こういう風に記述すると、これらの行は
|
54
|
+
1つのパラグラフとして整形されます。
|
55
|
+
例えば、
|
56
|
+
こういう風に記述すると、これらの行は
|
57
|
+
1つのパラグラフとして整形されます。
|
58
|
+
* 水平線
|
59
|
+
- 「=」を行の先頭から4つ書くと水平線(区切り線)になります。
|
60
|
+
この文章と、
|
61
|
+
====
|
62
|
+
この文章は、区切られています。
|
63
|
+
この文章と、
|
64
|
+
====
|
65
|
+
この文章は、区切られています。
|
66
|
+
* 整形済みテキスト
|
67
|
+
- 行の先頭がスペースまたはタブで始まっていると、その行は整形済みとして扱われます。
|
68
|
+
これは、
|
69
|
+
整形済み
|
70
|
+
テキストです。
|
71
|
+
大量の整形済みテキストを表示したい場合は「{{{」と
|
72
|
+
「}}}」で囲みます。こんな感じです。
|
73
|
+
{{{
|
74
|
+
void main()
|
75
|
+
{
|
76
|
+
printf(\"hello, world\\n\");
|
77
|
+
}
|
78
|
+
}}}
|
79
|
+
{{{
|
80
|
+
void main()
|
81
|
+
{
|
82
|
+
printf(\"hello, world\\n\");
|
83
|
+
}
|
84
|
+
}}}
|
85
|
+
* 引用
|
86
|
+
「>」を行の先頭から書くと引用になります。
|
87
|
+
> これは引用です。
|
88
|
+
> これは引用です。
|
89
|
+
* 用語解説
|
90
|
+
コロン「:」を行の先頭に書き、続けて用語:解説文とすると用語解説になります。
|
91
|
+
:Wiki:書き込み可能なWebページ
|
92
|
+
:QuickML:簡単に作れるメーリングリストシステム
|
93
|
+
:Wiki:書き込み可能なWebページ
|
94
|
+
:QuickML:簡単に作れるメーリングリストシステム
|
95
|
+
* 表
|
96
|
+
表(テーブル)は「,」または「|」で始め、コラム毎にその記号で区切ります。
|
97
|
+
,項目1-1,項目1-2,項目1-3
|
98
|
+
,項目2-1,項目2-2,項目2-3
|
99
|
+
,項目1-1,項目1-2,項目1-3
|
100
|
+
,項目2-1,項目2-2,項目2-3
|
101
|
+
* 文字要素の指定
|
102
|
+
文章中の一部分の文字要素を変化させます。
|
103
|
+
- 「\'」2個ではさんだ部分は強調されます。
|
104
|
+
- 「\'」3個ではさんだ部分はさらに強調されます。
|
105
|
+
- 「=」2個ではさんだ部分は取消線になります。
|
106
|
+
このようにすると\'\'強調\'\'になります。
|
107
|
+
そして、このようにすると\'\'\'さらに強調\'\'\'されます。
|
108
|
+
==なんとなく==取り消し線もサポートしています。
|
109
|
+
このようにすると\'\'強調\'\'になります。
|
110
|
+
そして、このようにすると\'\'\'さらに強調\'\'\'されます。
|
111
|
+
==なんとなく==取り消し線もサポートしています。
|
112
|
+
* リンク
|
113
|
+
- リンクしたいページ名を2つのカギカッコで囲むと、そのページへのリンクになります。
|
114
|
+
例えば[[FrontPage]]とすると、入口ページへのリンクになります。
|
115
|
+
例えば[[FrontPage]]とすると、入口ページへのリンクになります。
|
116
|
+
* 新規ページの作成
|
117
|
+
「新規作成」をたどると、ページを作成できます。
|
118
|
+
* ページの削除
|
119
|
+
テキストを全部消去して保存すると、そのページを削除します。
|
120
|
+
* 任意のURLへのリンク
|
121
|
+
単語|URLを2つのカギカッコで囲むとを任意のURLへのリンクになります。
|
122
|
+
[[qwik|http://qwik.jp/]]とかもできます。
|
123
|
+
[[qwik|http://qwik.jp/]]とかもできます。
|
124
|
+
|
125
|
+
このときURLの末尾がjpg,jpeg,png,gifだと、画像がページ中に埋め込まれます。
|
126
|
+
(指定した単語がALT要素に設定されます。)
|
127
|
+
[[New!|http://img.yahoo.co.jp/images/new2.gif]]
|
128
|
+
[[New!|http://img.yahoo.co.jp/images/new2.gif]]
|
129
|
+
|
130
|
+
パラグラフ中にURLのようなものがあると、自動的にリンクとなります。
|
131
|
+
qwikWebのホームページはhttp://qwik.jp/です。
|
132
|
+
qwikWebのホームページはhttp://qwik.jp/です。
|
133
|
+
|
134
|
+
* InterWiki
|
135
|
+
InterWikiとは、他のWikiページへ簡単にリンクをはる機能です。
|
136
|
+
またその拡張として、GoogleやAmazonなどに簡単にリンクをはる機能も提供します。
|
137
|
+
- [[google:qwikWeb]]
|
138
|
+
- [[isbn:4797318325]]
|
139
|
+
- [[amazon:Wiki]]
|
140
|
+
- [[google:qwikWeb]]
|
141
|
+
- [[isbn:4797318325]]
|
142
|
+
- [[amazon:Wiki]]
|
143
|
+
|
data/bin/qwikdoc
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
lib = File.expand_path(File.dirname(__FILE__) + '/../lib')
|
4
|
+
$LOAD_PATH.unshift(lib) if File.directory?(lib) && !$LOAD_PATH.include?(lib)
|
5
|
+
require 'qwik_doc'
|
6
|
+
require 'erb'
|
7
|
+
|
8
|
+
HTML_TEMPLATE = <<EOS
|
9
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
10
|
+
<html xmlns:v="urn:schemas-microsoft-com:vml">
|
11
|
+
<head>
|
12
|
+
<meta charset="utf-8">
|
13
|
+
<title><%= title %></title>
|
14
|
+
</head>
|
15
|
+
<body>
|
16
|
+
<%= body %>
|
17
|
+
</body>
|
18
|
+
</html>
|
19
|
+
EOS
|
20
|
+
|
21
|
+
def result(title, body, text)
|
22
|
+
erb = ERB.new(HTML_TEMPLATE)
|
23
|
+
erb.result(binding)
|
24
|
+
end
|
25
|
+
|
26
|
+
case ARGV.size
|
27
|
+
when 0
|
28
|
+
title, text = '-', $stdin.read
|
29
|
+
when 1
|
30
|
+
title, text = ARGV[0], File.read(ARGV[0])
|
31
|
+
end
|
32
|
+
|
33
|
+
body = QwikDoc.to_xhtml(text)
|
34
|
+
puts result(title, body, text)
|
data/lib/qwik_doc.rb
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
$:.unshift File.join(File.dirname(__FILE__), "..", "vendor")
|
3
|
+
|
4
|
+
require 'qwik/wabisabi-format-xml'
|
5
|
+
require 'qwik/parser'
|
6
|
+
require 'qwik_doc/hack'
|
7
|
+
|
8
|
+
module QwikDoc
|
9
|
+
VERSION = "0.0.1"
|
10
|
+
|
11
|
+
def to_xhtml(src)
|
12
|
+
Qwik::TextParser.make_tree(Qwik::TextTokenizer.tokenize(src)).rb_format_xml
|
13
|
+
end
|
14
|
+
module_function :to_xhtml
|
15
|
+
end
|
@@ -0,0 +1,184 @@
|
|
1
|
+
#coding: utf-8
|
2
|
+
module Qwik
|
3
|
+
class InlineTokenizer
|
4
|
+
#Parse a line into tokens using strscan.
|
5
|
+
def self.tokenize(str)
|
6
|
+
line_ar = []
|
7
|
+
|
8
|
+
s = StringScanner.new(str)
|
9
|
+
|
10
|
+
while ! s.eos?
|
11
|
+
if s.scan(/'''(?!:')/)
|
12
|
+
line_ar << :"'''"
|
13
|
+
elsif s.scan(/''(?!:')/)
|
14
|
+
line_ar << :"''"
|
15
|
+
elsif s.scan(/==/)
|
16
|
+
line_ar << :'=='
|
17
|
+
elsif s.scan(/\[\[(.+?)\]\]/) # [[title|url]] format
|
18
|
+
line_ar << [:ref, s[1]]
|
19
|
+
elsif s.scan(/\[([^\[\]\s]+?) ([^\[\]\s]+?)\]/) # [url title] format
|
20
|
+
line_ar << [:ref, s[2]+'|'+s[1]]
|
21
|
+
elsif s.scan(/\{\{([^\(\)]+?)(?:\((.*?)\))?\s*\}\}/) # {{t(a)}}
|
22
|
+
ar = [:plugin, s[1]]
|
23
|
+
ar << s[2] if s[2]
|
24
|
+
line_ar << ar
|
25
|
+
elsif s.scan(/#{URL}/)
|
26
|
+
href = s.matched
|
27
|
+
line_ar << [:url, href]
|
28
|
+
elsif s.scan(/[^#{SPECIAL}]+/)
|
29
|
+
m = s.matched
|
30
|
+
if /([^a-zA-Z\d]+)(#{URL})/ =~ m
|
31
|
+
ss = $` + $1
|
32
|
+
line_ar << ss
|
33
|
+
skip_str = ss
|
34
|
+
s.unscan
|
35
|
+
s.pos = s.pos + skip_str.bytesize
|
36
|
+
else
|
37
|
+
line_ar << m
|
38
|
+
end
|
39
|
+
elsif s.scan(/(.+?)([^#{SPECIAL}])/)
|
40
|
+
ss = s[1]
|
41
|
+
line_ar << ss
|
42
|
+
s.unscan
|
43
|
+
s.pos = s.pos + ss.length
|
44
|
+
else
|
45
|
+
ss = s.string
|
46
|
+
line_ar << ss[s.pos..ss.bytesize]
|
47
|
+
s.terminate
|
48
|
+
end
|
49
|
+
end
|
50
|
+
line_ar
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
class InlineParser
|
55
|
+
def self.parse_ref(uri)
|
56
|
+
text, uri = $1, $2 if /\A([^|]*)\|(.+)\z/ =~ uri
|
57
|
+
if text.nil? or text.empty?
|
58
|
+
text = uri
|
59
|
+
end
|
60
|
+
|
61
|
+
case uri
|
62
|
+
when /\A#{URL}/o
|
63
|
+
if /\.(?:jpg|jpeg|png|gif)\z/i =~ uri
|
64
|
+
[:img, {:src=>uri, :alt=>text}]
|
65
|
+
else
|
66
|
+
[:a, {:href=>uri}, text]
|
67
|
+
end
|
68
|
+
when /\A(.+?):(.+)\z/
|
69
|
+
[:plugin, {:method=>'interwiki', :param=>uri}, text]
|
70
|
+
else
|
71
|
+
uri = "#{uri}.html" unless uri.include?('.')
|
72
|
+
[:a, {:href=>uri}, text]
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
class TextTokenizer
|
78
|
+
# Tokenize a text.
|
79
|
+
def self.tokenize(str, br_mode=false)
|
80
|
+
tokens = []
|
81
|
+
in_multiline = {}
|
82
|
+
|
83
|
+
scanner = StringScanner.new(str)
|
84
|
+
while ! scanner.eos?
|
85
|
+
line = scanner.scan(/.*$/)
|
86
|
+
newline = scanner.scan(/\n/)
|
87
|
+
|
88
|
+
line.chomp!
|
89
|
+
|
90
|
+
# At the first, check if it is in a multiline block.
|
91
|
+
last_token = tokens.last
|
92
|
+
if last_token
|
93
|
+
last_tag = last_token[0]
|
94
|
+
if in_multiline[last_tag]
|
95
|
+
if MULTILINE[last_tag][1] =~ line
|
96
|
+
in_multiline[last_tag] = nil
|
97
|
+
else
|
98
|
+
last_token[-1] += "#{line.chomp}\n"
|
99
|
+
end
|
100
|
+
next
|
101
|
+
end
|
102
|
+
end
|
103
|
+
|
104
|
+
line.chomp!
|
105
|
+
|
106
|
+
# preprocess
|
107
|
+
#line.gsub!(/&my-([0-9]+);/) {|m| "{{my_char(#{$1})}}" }
|
108
|
+
|
109
|
+
case line
|
110
|
+
when MULTILINE[:plugin][0]
|
111
|
+
in_multiline[:plugin] = true
|
112
|
+
tokens << [:plugin, $1.to_s, $2.to_s, '']
|
113
|
+
when MULTILINE[:pre][0]
|
114
|
+
in_multiline[:pre] = true
|
115
|
+
tokens << [:pre, '']
|
116
|
+
when MULTILINE[:html][0]
|
117
|
+
tokens << [:html, '']
|
118
|
+
in_multiline[:html] = true
|
119
|
+
when /\A====+\z/, '-- ', /\A----+\z/ # hr
|
120
|
+
tokens << [:hr]
|
121
|
+
when /\A(\-{1,3})(.+)\z/ # ul
|
122
|
+
tokens << [:ul, $1.size, $2.to_s.strip]
|
123
|
+
when /\A(\+{1,3})(.+)\z/ # ol
|
124
|
+
tokens << [:ol, $1.size, $2.to_s.strip]
|
125
|
+
when /\A>(.*)\z/ # blockquote
|
126
|
+
tokens << [:blockquote, $1.strip]
|
127
|
+
when /\A[ \t](.*)\z/ # pre
|
128
|
+
tokens << [:pre, $1]
|
129
|
+
when /\A\{\{([^\(\)\{\}]+?)(?:\(([^\(\)\{\}]*?)\))?\}\}\z/ # plugin
|
130
|
+
tokens << [:plugin, $1.to_s, $2.to_s]
|
131
|
+
when '', /\A#/ # '', or comment.
|
132
|
+
tokens << [:empty] # empty line
|
133
|
+
when /\A([,|])(.*)\z/ # pre
|
134
|
+
#re = Regexp.new(Regexp.quote($1), nil, 's')
|
135
|
+
re = Regexp.new(Regexp.quote($1), nil)
|
136
|
+
ar = [:table] + $2.split(re).map {|a| a.to_s }
|
137
|
+
tokens << ar
|
138
|
+
when /\A:(.*)\z/ # dl
|
139
|
+
rest = $1
|
140
|
+
dt, dd = rest.split(':', 2)
|
141
|
+
if dt && dt.include?('(')
|
142
|
+
if /\A(.*?\(.*\)[^:]*):(.*)\z/ =~ rest # FIXME: Bad hack.
|
143
|
+
dt, dd = $1, $2
|
144
|
+
end
|
145
|
+
end
|
146
|
+
ar = [:dl]
|
147
|
+
ar << ((dt && ! dt.empty?) ? dt.to_s.strip : nil)
|
148
|
+
ar << ((dd && ! dd.empty?) ? dd.to_s.strip : nil)
|
149
|
+
tokens << ar
|
150
|
+
when /\A([*!]{1,5})\s*(.+)\s*\z/ # h
|
151
|
+
h = $1
|
152
|
+
s = $2
|
153
|
+
s = s.strip
|
154
|
+
if s.empty? # '* '
|
155
|
+
inline(tokens, line, br_mode)
|
156
|
+
else
|
157
|
+
tokens << [("h#{h.size+1}").intern, s]
|
158
|
+
end
|
159
|
+
else
|
160
|
+
inline(tokens, line, br_mode)
|
161
|
+
end
|
162
|
+
end
|
163
|
+
|
164
|
+
return tokens
|
165
|
+
end
|
166
|
+
|
167
|
+
private
|
168
|
+
def self.inline(tokens, line, br_mode)
|
169
|
+
if /~\z/ =~ line
|
170
|
+
line = line.sub(/~\z/, '{{br}}')
|
171
|
+
elsif br_mode
|
172
|
+
line = "#{line}{{br}}"
|
173
|
+
end
|
174
|
+
tokens << [:text, line]
|
175
|
+
end
|
176
|
+
end
|
177
|
+
end
|
178
|
+
|
179
|
+
class String
|
180
|
+
def escapeHTML
|
181
|
+
string = self
|
182
|
+
return string.gsub(/[&"<>]/) {|x| EscapeTable[x] }
|
183
|
+
end
|
184
|
+
end
|
data/qwikdoc.gemspec
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
$:.push File.expand_path("../lib", __FILE__)
|
2
|
+
require "qwik_doc"
|
3
|
+
|
4
|
+
Gem::Specification.new do |s|
|
5
|
+
s.name = "qwikdoc"
|
6
|
+
s.version = QwikDoc::VERSION
|
7
|
+
s.authors = ["Koji Shimada"]
|
8
|
+
s.email = ["koji.shimada@enishi-tech.com"]
|
9
|
+
s.homepage = "https://github.com/snoozer05/qwikdoc"
|
10
|
+
s.summary = %q{text-to-HTML conversion tool for qwikWeb users}
|
11
|
+
s.description = %q{text-to-HTML conversion tool for qwikWeb users}
|
12
|
+
|
13
|
+
s.rubyforge_project = "qwikdoc"
|
14
|
+
|
15
|
+
s.files = `git ls-files`.split("\n")
|
16
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
17
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
18
|
+
s.require_paths = ["lib"]
|
19
|
+
|
20
|
+
s.required_ruby_version = '>= 1.9.2'
|
21
|
+
|
22
|
+
s.add_runtime_dependency 'bundler', ['>= 1.0']
|
23
|
+
|
24
|
+
s.add_development_dependency 'rake'
|
25
|
+
s.add_development_dependency 'rspec'
|
26
|
+
end
|
@@ -0,0 +1,305 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), "spec_helper")
|
2
|
+
require 'qwik_doc'
|
3
|
+
|
4
|
+
describe QwikDoc do
|
5
|
+
describe "Qwik::WikiFormat" do
|
6
|
+
def compile(src)
|
7
|
+
QwikDoc.to_xhtml(src)
|
8
|
+
end
|
9
|
+
|
10
|
+
describe "header" do
|
11
|
+
describe "* t" do
|
12
|
+
subject { compile("* t") }
|
13
|
+
it { should == "<h2\n>t</h2\n>" }
|
14
|
+
end
|
15
|
+
|
16
|
+
describe "** t" do
|
17
|
+
subject { compile("** t") }
|
18
|
+
it { should == "<h3\n>t</h3\n>" }
|
19
|
+
end
|
20
|
+
|
21
|
+
describe "*** t" do
|
22
|
+
subject { compile("*** t") }
|
23
|
+
it { should == "<h4\n>t</h4\n>" }
|
24
|
+
end
|
25
|
+
|
26
|
+
describe "**** t" do
|
27
|
+
subject { compile("**** t") }
|
28
|
+
it { should == "<h5\n>t</h5\n>" }
|
29
|
+
end
|
30
|
+
|
31
|
+
describe "***** t" do
|
32
|
+
subject { compile("***** t") }
|
33
|
+
it { should == "<h6\n>t</h6\n>" }
|
34
|
+
end
|
35
|
+
|
36
|
+
describe "! t" do
|
37
|
+
subject { compile("! t") }
|
38
|
+
it { should == "<h2\n>t</h2\n>" }
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
describe "ul" do
|
43
|
+
describe "- t" do
|
44
|
+
subject { compile("- t") }
|
45
|
+
it { should == "<ul\n><li\n>t</li\n></ul\n>" }
|
46
|
+
end
|
47
|
+
|
48
|
+
describe "-- t" do
|
49
|
+
subject { compile("-- t") }
|
50
|
+
it { should == "<ul\n><ul\n><li\n>t</li\n></ul\n></ul\n>" }
|
51
|
+
end
|
52
|
+
|
53
|
+
describe "--- t" do
|
54
|
+
subject { compile("--- t") }
|
55
|
+
it { should == "<ul\n><ul\n><ul\n><li\n>t</li\n></ul\n></ul\n></ul\n>" }
|
56
|
+
end
|
57
|
+
|
58
|
+
describe "- t\\n-t" do
|
59
|
+
subject { compile("- t\n-t") }
|
60
|
+
it { should == "<ul\n><li\n>t</li\n><li\n>t</li\n></ul\n>" }
|
61
|
+
end
|
62
|
+
|
63
|
+
describe "- t\\n\\n- t" do
|
64
|
+
subject { compile("- t\n\n- t") }
|
65
|
+
it { should == "<ul\n><li\n>t</li\n></ul\n>\n<ul\n><li\n>t</li\n></ul\n>" }
|
66
|
+
end
|
67
|
+
|
68
|
+
describe "- t\\n--t" do
|
69
|
+
subject { compile("- t\n--t") }
|
70
|
+
it { should == "<ul\n><li\n>t</li\n><ul\n><li\n>t</li\n></ul\n></ul\n>" }
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
describe "ol" do
|
75
|
+
describe "+ t" do
|
76
|
+
subject { compile("+ t") }
|
77
|
+
it { should == "<ol\n><li\n>t</li\n></ol\n>" }
|
78
|
+
end
|
79
|
+
|
80
|
+
describe "++ t" do
|
81
|
+
subject { compile("++ t") }
|
82
|
+
it { should == "<ol\n><ol\n><li\n>t</li\n></ol\n></ol\n>" }
|
83
|
+
end
|
84
|
+
|
85
|
+
describe "+++ t" do
|
86
|
+
subject { compile("+++ t") }
|
87
|
+
it { should == "<ol\n><ol\n><ol\n><li\n>t</li\n></ol\n></ol\n></ol\n>" }
|
88
|
+
end
|
89
|
+
end
|
90
|
+
|
91
|
+
describe "hr" do
|
92
|
+
describe "-- " do
|
93
|
+
subject { compile("-- ") }
|
94
|
+
it { should == "<hr\n/>" }
|
95
|
+
end
|
96
|
+
|
97
|
+
describe "----" do
|
98
|
+
subject { compile("----") }
|
99
|
+
it { should == "<hr\n/>" }
|
100
|
+
end
|
101
|
+
|
102
|
+
describe "====" do
|
103
|
+
subject { compile("====") }
|
104
|
+
it { should == "<hr\n/>" }
|
105
|
+
end
|
106
|
+
end
|
107
|
+
|
108
|
+
describe "blockquote" do
|
109
|
+
describe ">t" do
|
110
|
+
subject { compile(">t") }
|
111
|
+
it { should == "<blockquote\n><p\n>t</p\n></blockquote\n>" }
|
112
|
+
end
|
113
|
+
|
114
|
+
describe "> t" do
|
115
|
+
subject { compile("> t") }
|
116
|
+
it { should == "<blockquote\n><p\n>t</p\n></blockquote\n>" }
|
117
|
+
end
|
118
|
+
end
|
119
|
+
|
120
|
+
describe "table" do
|
121
|
+
describe ",a" do
|
122
|
+
subject { compile(",a") }
|
123
|
+
it { should == "<table\n><tr\n><td\n>a</td\n></tr\n></table\n>" }
|
124
|
+
end
|
125
|
+
|
126
|
+
describe ", a" do
|
127
|
+
subject { compile(", a") }
|
128
|
+
it { should == "<table\n><tr\n><td\n> a</td\n></tr\n></table\n>" }
|
129
|
+
end
|
130
|
+
|
131
|
+
describe ",a,b" do
|
132
|
+
subject { compile(",a,b") }
|
133
|
+
it { should == "<table\n><tr\n><td\n>a</td\n><td\n>b</td\n></tr\n></table\n>" }
|
134
|
+
end
|
135
|
+
|
136
|
+
describe ",,b" do
|
137
|
+
subject { compile(",,b") }
|
138
|
+
it { should == "<table\n><tr\n><td\n></td\n><td\n>b</td\n></tr\n></table\n>" }
|
139
|
+
end
|
140
|
+
|
141
|
+
describe "|a" do
|
142
|
+
subject { compile("|a") }
|
143
|
+
it { should == "<table\n><tr\n><td\n>a</td\n></tr\n></table\n>" }
|
144
|
+
end
|
145
|
+
|
146
|
+
describe "|a|" do
|
147
|
+
subject { compile("|a|") }
|
148
|
+
it { should == "<table\n><tr\n><td\n>a</td\n></tr\n></table\n>" }
|
149
|
+
end
|
150
|
+
|
151
|
+
describe "|a|b|" do
|
152
|
+
subject { compile("|a|b|") }
|
153
|
+
it { should == "<table\n><tr\n><td\n>a</td\n><td\n>b</td\n></tr\n></table\n>" }
|
154
|
+
end
|
155
|
+
end
|
156
|
+
|
157
|
+
describe "p" do
|
158
|
+
describe "hello" do
|
159
|
+
subject { compile("hello") }
|
160
|
+
it { should == "<p\n>hello</p\n>" }
|
161
|
+
end
|
162
|
+
|
163
|
+
describe "hello,\\nqwik" do
|
164
|
+
subject { compile("hello,\nqwik") }
|
165
|
+
it { should == "<p\n>hello,\nqwik</p\n>" }
|
166
|
+
end
|
167
|
+
|
168
|
+
describe "hello,\\n\\nqwik" do
|
169
|
+
subject { compile("hello,\n\nqwik") }
|
170
|
+
it { should == "<p\n>hello,</p\n>\n<p\n>qwik</p\n>" }
|
171
|
+
end
|
172
|
+
end
|
173
|
+
|
174
|
+
describe "pre" do
|
175
|
+
describe " t" do
|
176
|
+
subject { compile(" t") }
|
177
|
+
it { should == "<pre\n>t</pre\n>" }
|
178
|
+
end
|
179
|
+
|
180
|
+
describe "\\tt" do
|
181
|
+
subject { compile("\tt") }
|
182
|
+
it { should == "<pre\n>t</pre\n>" }
|
183
|
+
end
|
184
|
+
|
185
|
+
describe "{{{\\nt\\n}}}" do
|
186
|
+
subject { compile("{{{\nt\n}}}") }
|
187
|
+
it { should == "<pre\n>t\n</pre\n>" }
|
188
|
+
end
|
189
|
+
|
190
|
+
describe "{{{\\nhello,\\n qwik\\n}}}" do
|
191
|
+
subject { compile("{{{\nhello,\n qwik\n}}}") }
|
192
|
+
it { should == "<pre\n>hello,\n qwik\n</pre\n>" }
|
193
|
+
end
|
194
|
+
end
|
195
|
+
|
196
|
+
describe "ref" do
|
197
|
+
describe "[[t]]" do
|
198
|
+
subject { compile("[[t]]") }
|
199
|
+
it { should == "<p\n><a href=\"t.html\"\n>t</a\n></p\n>" }
|
200
|
+
end
|
201
|
+
|
202
|
+
describe "[[title|t]]" do
|
203
|
+
subject { compile("[[title|t]]") }
|
204
|
+
it { should == "<p\n><a href=\"t.html\"\n>title</a\n></p\n>" }
|
205
|
+
end
|
206
|
+
|
207
|
+
describe "[[qwik|http://qwik.jp/]]" do
|
208
|
+
subject { compile("[[qwik|http://qwik.jp/]]") }
|
209
|
+
it { should == "<p\n><a href=\"http://qwik.jp/\"\n>qwik</a\n></p\n>" }
|
210
|
+
end
|
211
|
+
|
212
|
+
describe "[[New!|http://img.yahoo.co.jp/images/new2.gif]]" do
|
213
|
+
subject { compile("[[New!|http://img.yahoo.co.jp/images/new2.gif]]") }
|
214
|
+
it { should == "<p\n><img alt=\"New!\" src=\"http://img.yahoo.co.jp/images/new2.gif\"\n/></p\n>" }
|
215
|
+
end
|
216
|
+
|
217
|
+
describe "official website for qwik is http://qwik.jp/" do
|
218
|
+
subject { compile("official website for qwik is http://qwik.jp/") }
|
219
|
+
it { should == "<p\n>official website for qwik is <a href=\"http://qwik.jp/\"\n>http://qwik.jp/</a\n></p\n>" }
|
220
|
+
end
|
221
|
+
end
|
222
|
+
|
223
|
+
describe "em" do
|
224
|
+
describe "''t''" do
|
225
|
+
subject { compile("''t''") }
|
226
|
+
it { should == "<p\n><em\n>t</em\n></p\n>" }
|
227
|
+
end
|
228
|
+
end
|
229
|
+
|
230
|
+
describe "strong" do
|
231
|
+
describe "'''t'''" do
|
232
|
+
subject { compile("'''t'''") }
|
233
|
+
it { should == "<p\n><strong\n>t</strong\n></p\n>" }
|
234
|
+
end
|
235
|
+
end
|
236
|
+
|
237
|
+
describe "del" do
|
238
|
+
describe "==t==" do
|
239
|
+
subject { compile("==t==") }
|
240
|
+
it { should == "<p\n><del\n>t</del\n></p\n>" }
|
241
|
+
end
|
242
|
+
end
|
243
|
+
|
244
|
+
describe "dl" do
|
245
|
+
describe ":dt:dd" do
|
246
|
+
subject { compile(":dt:dd") }
|
247
|
+
it { should == "<dl\n><dt\n>dt</dt\n><dd\n>dd</dd\n></dl\n>" }
|
248
|
+
end
|
249
|
+
|
250
|
+
describe ":dt:ddi\\n:dt2:dd2" do
|
251
|
+
subject { compile(":dt:dd\n:dt2:dd2") }
|
252
|
+
it { should == "<dl\n><dt\n>dt</dt\n><dd\n>dd</dd\n><dt\n>dt2</dt\n><dd\n>dd2</dd\n></dl\n>" }
|
253
|
+
end
|
254
|
+
|
255
|
+
describe ":dt" do
|
256
|
+
subject { compile(":dt") }
|
257
|
+
it { should == "<dl\n><dt\n>dt</dt\n></dl\n>" }
|
258
|
+
end
|
259
|
+
|
260
|
+
describe ":" do
|
261
|
+
subject { compile(":") }
|
262
|
+
it { should == "<dl\n/>" }
|
263
|
+
end
|
264
|
+
|
265
|
+
describe "::" do
|
266
|
+
subject { compile("::") }
|
267
|
+
it { should == "<dl\n/>" }
|
268
|
+
end
|
269
|
+
|
270
|
+
describe "::dd" do
|
271
|
+
subject { compile("::dd") }
|
272
|
+
it { should == "<dl\n><dd\n>dd</dd\n></dl\n>" }
|
273
|
+
end
|
274
|
+
end
|
275
|
+
|
276
|
+
describe "plugin" do
|
277
|
+
describe "{{t}}" do
|
278
|
+
subject { compile("{{t}}") }
|
279
|
+
it { should == "<plugin method=\"t\" param=\"\"\n/>" }
|
280
|
+
end
|
281
|
+
|
282
|
+
describe "{{t(a)}}" do
|
283
|
+
subject { compile("{{t(a)}}") }
|
284
|
+
it { should == "<plugin method=\"t\" param=\"a\"\n/>" }
|
285
|
+
end
|
286
|
+
|
287
|
+
describe "{{t(a, b)}}" do
|
288
|
+
subject { compile("{{t(a, b)}}") }
|
289
|
+
it { should == "<plugin method=\"t\" param=\"a, b\"\n/>" }
|
290
|
+
end
|
291
|
+
|
292
|
+
describe "{{t\\ns\\n)}}" do
|
293
|
+
subject { compile("{{t\ns\n}}") }
|
294
|
+
it { should == "<plugin method=\"t\" param=\"\"\n>s\n</plugin\n>" }
|
295
|
+
end
|
296
|
+
end
|
297
|
+
|
298
|
+
describe "comment" do
|
299
|
+
describe "# t" do
|
300
|
+
subject { compile("# t") }
|
301
|
+
it { should == "\n" }
|
302
|
+
end
|
303
|
+
end
|
304
|
+
end
|
305
|
+
end
|