Kahua 1.0の新機能

備前 達矢

Kahuaプロジェクト

自己紹介

Kahuaってそもそも何よ

Kahuaに最近加えられた新機能

→ 地味だなぁ...

→ でも、使い勝手を改善するのに必要

サイトバンドル(1)

サイトバンドル(2)

./app/           アプリケーションコードを置くディレクトリ
./app-servers    起動アプリケーション設定ファイル
./database/      オブジェクトデータベースが置かれるディレクトリ
./etc
./etc/kahua.conf 設定ファイル
./etc/user.conf  開発ユーザデータベース
./logs           ログディレクトリ
./plugins        プラグインディレクトリ
./run            PIDディレクトリ
./socket         UNIXドメインソケットを置くディレクトリ
./static         静的コンテンツを置くディレクトリ
./templates      XMLテンプレートディレクトリ
./tmp            テンポラリディレクトリ

サイトバンドル(3)

-Sでサイトバンドルのパスを渡してやる

% kahua-spvr -S /var/site1
% kahua-admin -S /var/site1
% kahua-shell -S /var/site1
% kahua-install -S /var/site1

あるいは環境変数経由で渡す

% export KAHUA_DEFAULT_SITE=/var/site1

インデックススロット(1)

もともとはkey-ofメソッドの返す値をキーとして使っていた。

柔軟性がなくて使いづらい。

インデックススロット(2)

スロットにインデックスを張れる。

インデックススロット(3)

key-of方式の欠点を念頭に置いているので当然:

まぁパフォーマンスHackでしかないと言われてしまえばその通り

シンプルなページテンプレート(1)

Kahuaはタグ関数を使ってHTMLを組み立てるのが基本作法

(html/
 (head/ (title/ "Hello Kahua"))
 (body/ (h1/ "Hello Kahua")
       (p/ "こんにちわKahua")))

とはいえ、毎回定型なガワまでコードに書くってどうよ...

シンプルなページテンプレート(2)

とはいえ、わたしはページテンプレートが嫌い

→ 素のXHTMLをテンプレートとして使おう

シンプルなページテンプレート(3)

シンプルなことは間違いない。

kahua-package(1)

gauche-packageみたいなツールがKahuaにも欲しいぞ

今はとりあえずこれだけ。

kahua-package(2)

サイトバンドルを生成してみる

$ kahua-package create /tmp/site
$ find /tmp/site
/tmp/site
/tmp/site/app
/tmp/site/app-servers
  :
[後略]

kahua-package(3)

アプリケーションスケルトンを生成してみる

% /usr/local/kahua/bin/kahua-package generate foo       
Creator Name> Tatsuya BIZENN
E-Mail Address> bizenn@kahua.org
% find foo
foo
foo/app-servers
foo/AUTHORS
foo/ChangeLog
  :
[後略]

終わりに

ということでこの半年は

を目標に開発を進めた

→マニアじゃない人にもちょっとだけ優しい

ご清聴ありがとうございました