=encoding euc-jp =head1 NAME CGI::Kwiki - トリッキーすぎないお手軽なWiki。 =head1 SYNOPSIS > mkdir cgi-bin/my-kwiki > cd cgi-bin/my-kwiki > kwiki-install Kwiki software installed! Point your browser at this location. =head1 KWIKI スタート Kwikiのオフィシャルホームページは http://www.kwiki.org です。この サイト自身がKwikiです。ここには配布されているドキュメントよりもずっと 多くのKwikiについての情報があります。 =head1 詳細 Wikiはユーザーにページの追加と、全ての既存ページの編集を許すWebサイト です。これはWebコラボレーションのもっともポピュラーな形態の一つです。 もしWikiが初めてであれば、最古のWikiであり、Wikiがどのように働くのかに ついての多くの情報をもつ http://c2.com/cgi/wiki?WelcomeVisitors を 訪ねて下さい。 世界には何ダースものWikiの実装があり、その多くがPerlでかかれています。 多くのPerlハックは共通であるのに、モジュールは少なく、CPANにもリリース されて来ませんでした。その有名な例外はCGI::Wikiです。これは拡張性の ある、活発にメンテナンスが行なわれているwikiフレームワークです。 もう一つの例外がこのモジュール、CGI::Kwikiです。CGI::Kwikiはシンプルさ と拡張性にフォーカスしています。新しいkwiki Webサイトの作成は1コマンド でできます。このモジュールはPerlとともにインストールされるもの以外の 前提モジュールはありません。これはバックエンドにデータベースを必要と しませんが、データベースを使うこともできます。デフォルトのkwikiの 動作は、HTMLテーブルのサポートを含むフル機能です。Kwikiの動作は大きな トラブルを起こすことなしに、カスタマイズ可能です。 =head1 特殊な機能 CGI::Kwikiには大半のWiki実装には見られない装飾的なaddonが同梱されて います。これらはデフォルトのKwikiのまったくシンプルなインターフェース に干渉しないことを約束します。 どんなホットな機能が追加されたかを、時々 http://www.kwiki.org/index.cgi?KwikiFeatures でチェックしてください。 =head2 Kwikiスライドショウ まるでPowerPointのようなスライドショウを、一つのkwikiページで作成 できます。スライドやその他の改良にはJavaScriptマジックが使われて います。サンプルページであるKwikiSlideShowをご覧下さい。 =head1 拡張 CGI::Kwikiは完全にオブジェクト指向です。各クラスモジュールのサブクラス を作り、その一つないし複数のメソッドを上書きすることで、その最終的な 動作を簡単に変更することができます。これらは一般にたった数行のPerl コードで実行されています。 これを説明する最良の方法は例示でしょう。configファイルから始めましょう。 デフォルトのconfigファイルはCと呼ばれます。これは次の ような行を含んでいます: config_class: CGI::Kwiki::Config driver_class: CGI::Kwiki::Driver cgi_class: CGI::Kwiki::CGI cookie_class: CGI::Kwiki::Cookie database_class: CGI::Kwiki::Database metadata_class: CGI::Kwiki::Metadata display_class: CGI::Kwiki::Display edit_class: CGI::Kwiki::Edit formatter_class: CGI::Kwiki::Formatter template_class: CGI::Kwiki::Template search_class: CGI::Kwiki::Search changes_class: CGI::Kwiki::Changes prefs_class: CGI::Kwiki::Prefs pages_class: CGI::Kwiki::Pages slides_class: CGI::Kwiki::Slides javascript_class: CGI::Kwiki::Javascript style_class: CGI::Kwiki::Style scripts_class: CGI::Kwiki::Scripts これらはkwikiを作り上げる全てのクラスのリストです。このいずれかを、 あなたの独自のクラスに変更することができます。 Bの指定方法をC<*bold*>からC<'''bold'''>に変更したいのだと しましょう。その時は、FormatterクラスのCメソッドを上書きする だけです。Cの変更から始めましょう。 formatter_class: MyKwikiFormatter 次に、Cと呼ばれるモジュールを書きます。この モジュールを正しいkwikiのインストールディレクトリに置きたいと思えば、 そうして構いません。このモジュールは、このようなものになるでしょう: package MyKwikiFormatter; use base 'CGI::Kwiki::Formatter'; sub bold { my ($self, $text) = @_; $text =~ s!'''(.*?)'''!$1!g; return $text; } 1; どう、たいして難しくないでしょ?データベースストレージから検索エンジン、 メインドライバーコードまでCGI::Kwikiのあらゆる面をこのように変更する ことができます。もしクラスのセットを世界中で共有したくなったら、 ディストリビューションとしてパッケージ化し、CPANに置くだけです。 ところで、設定ファイルのフォーマットをデフォルトのYAMLから変更する こともできます。もしXMLを使いたい、というのであれば、 Cというモジュールを書き、Cを 呼ぶだけです。 =head1 SEE ALSO これ以外のCGI::KwikiのドキュメントはKwikiのインストールによって入手 できます。Kwikiをインストールし、リンクを辿るだけです!もし何か トラブルが起きたり、あるいはKwikiの動作を見たいだけであれば、まずは http://www.kwiki.org を訪れてください。 =head1 AUTHOR Brian Ingerson =head1 COPYRIGHT Copyright (c) 2003. Brian Ingerson. All rights reserved. このプラグラムはフリーソフトウェアです; Perl自身と同じ条件下で再配布や 編集を行なうことができます。 http://www.perl.com/perl/misc/Artistic.html 参照