Kahua Release
- Release Note
- Download
- Current Version 1.0.7.3 (2008-05-08)
kahua-web Release
- kahua-webとは
- Release Note
- Download
- Current Version 0.3.1 (2007-06-12)
Security Advisory
Event Log
Documentation
For developers
Site info
Related Site
注意) 以下の記述はかなり古いバージョンに基づいています。近々、全面的に書き換える予定です。
Kahua-webはKahuaのアプリケーションのひとつで、 Wikiマークアップを用いたサイト構築を可能にするものです。
マークアップ部分にはWiLiKiモジュールを使っているので、 ほぼWiLiKiと互換です。但し、ページの扱いやマクロに 関しては差があるので、以下のドキュメントを参照してください。
(以降のドキュメントは後でマニュアルの形式に整理します--Shiro)
WiLiKiとの違い
階層的な名前空間
ページ名は"/"で区切られたパス名形式で表現されます。 例えばこのページは "/doc/kahua-web" です。 ページタイトルやwiki名のリンクにはパスの最後の コンポーネントしか表示されません。
URLでは、"kahua.cgi/kahua-web/show" の後にページの フルパス名を指定してアクセスできます。このページは http://www.kahua.org/cgi-bin/kahua.cgi/kahua-web/show/doc/kahua-web です。
wiki名を書く場合、"/"で始まらない名前は、同一階層の 名前と解釈されます。つまり、"/foo/bar" ページで "baz"への参照を書いたら "/foo/baz" を示します。
"."および".."による相対パス表記も使えます。"/foo/bar" ページで"./baz"と書いたら"/foo/baz" (ただ"baz"と書く のと同じ)。"../baz"と書いたら"/baz" を指します。
ファイルシステムアナロジーでは、ページは「ファイル」に 相当し、「ディレクトリ」に相当するものは存在しない ことに注意してください。 "/foo/bar/a" や "/foo/bar/b" をまとめたページ"/foo/bar"を作りたい場合、その ページから下位のページへのアクセスは "bar/a", "bar/b" のように自分自身の名前を含める必要があります。 これを簡略化するために、"$/"で始まるパス名は 自分自身からと解釈されます。つまり、"$/a", "$/b" のように して、自分の「下位」のページを参照することができます。
普通のwikiと違って、自分の居場所を意識しないと 気軽にwiki名が書けないんですが、Kahuaサイトのトップ ということで、ある程度オーガナイズされてた方が いいかと思い、こういう機能を入れました。 しばらく使ってみて様子を見たいと思います。
なお、今考えている階層については ドキュメント階層をどうぞ。
別名
ページに対するリンクに対して、別名を表示させたい時は
[[page-path//name]]
のように書きます。暫定ですが。 例:Kahuaについて
文法の理由:ページ名を階層化したことにより、 どのみちスラッシュは特別扱いされますし、 スラッシュで終わるページ名は作れません。 従ってこの文法だと、特別扱いする文字を増やさなくて済みます。
見掛けでは他のwikiにあるような 'name|WikiName' とか 'name>WikiName'みたいな方が直感的かなとも思ったのですが、 これらを使うと '|' や '>' をページ名に入れられなくなる んですよね…
マクロ文法の違い
マクロはwikinameのようにダブルブラケット内ではなく、
##(name arg ...)
のように書きます。(name arg ...)の部分はS式として 読まれます。但し、多くのマクロはシンボルも文字列に 変換して解釈するので、あいまいさが無ければ ダブルクオート無しで文字列引数を渡すことができます。
今サポートされてるマクロは、次の通り
##(include pagename) : ページのインクルード ##(img url) : インラインイメージ ##(index [prefix]) : 検索とインデックス ##(cindex [prefix [delim]]) : コンパクトインデックス ##(toc [pagename]) : table of contents ##(test-error arg ...) : マクロ内でエラーを発生させるテスト。
この形式は、SHIMADAさんところの S式プラグイン から来たもの。いずれ、マクロの引数も評価するようにする。
*イメージの位置などは、CSSにより調整する。その際、以下のようにclass属性、id属性を入れることができる。
##(img url (id "○○")(class "□□"))
特殊ページ
kahua-webでは、ページヘッダやフッタ等もwikiマークアップで 編集できます。
- /$admin/title-pane : ページ上部のタイトル部分 title-pane
- /$admin/side-pane : ページ左部のメニュー部分 side-pane
- /$admin/bottom-pane : ページ下部のフッタ部分 bottom-pane
- /$admin/home : トップページ "/" にアクセスした時に 表示される内容。
- /$admin/edit-help : 編集ページの下部に表示される 内容。edit-help
未実装機能
- 編集履歴機能はまだです
- 編集の衝突があった場合、後からcommitした方が上書きします。
- ページ毎や階層毎のアクセスコントロール機能もつけたいと思っています。
- サーチもまだ。
- あー、interwikinameもまだだった。