Browse files

add makefile.pl and docs.

  • Loading branch information...
1 parent c69c56c commit b58035657228b1815dc2e2d73d1807fa137ac2d0 @nekokak committed Jan 9, 2010
Showing with 211 additions and 0 deletions.
  1. +30 −0 Makefile.PL
  2. +17 −0 lib/Kamui/Manual/JA.pod
  3. +101 −0 lib/Kamui/Manual/JA/Mobile.pod
  4. +63 −0 lib/Kamui/Manual/JA/Tutorial.pod
View
30 Makefile.PL
@@ -0,0 +1,30 @@
+use inc::Module::Install;
+
+all_from 'lib/Kamui.pm';
+license 'perl';
+
+requires 'Plack::Request' => 0.09;
+requires 'Plack' => 0.9027;
+requires 'UNIVERSAL::require';
+requires 'Class::Singleton';
+requires 'String::CamelCase';
+requires 'Path::Class';
+requires 'Encode';
+requires 'File::Spec';
+requires 'URI::Escape';
+requires 'HTML::Entities';
+requires 'Text::MicroTemplate::Extended';
+requires 'HTML::FillInForm::Lite';
+requires 'Class::Trigger';
+requires 'Class::Data::Inheritable';
+
+test_requires 'Test::Declare';
+
+tests 't/*.t t/*/*.t t/*/*/*.t';
+recursive_author_tests('xt');
+install_script 'script/kamui.pl';
+auto_include;
+auto_install;
+auto_set_repository;
+
+WriteAll;
View
17 lib/Kamui/Manual/JA.pod
@@ -0,0 +1,17 @@
+=head1 NAME
+
+Kamui::Manual::JA - what's kamui
+
+=head1 DESCRIPTION
+
+Kamui は psgi に対応したフレームワークです.
+
+Kamui は Sledge と ark を参考にして作りました.
+
+Sledge の見通しの良さと ark の container 経由での
+各種API呼び出しを私なりに使い勝手が良いように構成し直しました.
+
+また、mobileサイトが簡単に作れるようにmobile用のプラグインを各種用意しておきました.
+
+=cut
+
View
101 lib/Kamui/Manual/JA/Mobile.pod
@@ -0,0 +1,101 @@
+=head1 NAME
+
+Kamui::Manual::JA::Mobile - Kamui でケータイ対応
+
+=head1 DESCRIPTION
+
+Kamuiではデフォルトでモバイル用Pluginが用意されています。
+モバイル用Pluginをつかうことで簡単にモバイル対応なサイトを作成することが可能です。
+
+=head1 HOW TO ADD MOBILE PHONE SUPPORT
+
+=head2 HTTP::Mobile(Agent|Attribute) との連携
+
+ package MyApp::Web::Handler;
+ use Kamui::Web::Handler;
+ use_plugins [qw/Mobile::Agent/];
+ 1;
+
+として、Kamui::Plugin::Mobile::AgentのPluginを有効にするだけです。
+HTTP::MobileAgent を気軽につかえるようになります。
+
+ package MyAPP::Web::Controller::Root;
+ use Kamui::Web::Controller -base;
+
+ sub do {
+ my ($class, $c) = @_;
+ $c->mobile; # HTTP::MobileAgent
+ }
+
+HTTP::MobileAttributeを利用する場合は
+
+ package MyApp::Web::Handler;
+ use Kamui::Web::Handler;
+ use_plugins [qw/Mobile::Agent/];
+ 1;
+
+とするだけで、HTTP::MobileAttributeを気軽に使えるようになります。
+
+ package MyAPP::Web::Controller::Root;
+ use Kamui::Web::Controller -base;
+
+ sub do {
+ my ($class, $c) = @_;
+ $c->mobile; # HTTP::MobileAttribute
+ }
+
+=head2 Encode::JP::Mobile との連携
+
+絵文字を扱うには L<Encode::JP::Mobile> をつかうとよいのですが、
+KamuiではKamui::Plugin::Mobile::Encodeを使えば自動で文字コードの判別
+response時のcontent-typeの設定などを行ってくれます。
+
+ package MyApp::Web::Handler;
+ use Kamui::Web::Handler;
+ use_plugins [qw/Mobile::Encode Mobile::Agent/];
+ 1;
+
+Kamui::Plugin::Mobile::EncodeはKamui::Plugin::Mobile::(Agent|Attribute)を一緒に
+使う必要がありますので注意してください。
+
+Kamui::Plugin::Mobile::Encodeを使えば簡単にキャリアに対応した文字コードを取り扱う事ができるので
+大変便利です。
+
+=head2 CSS のインライン化
+
+docomoの端末では外部CSSを利用することができないので、レスポンスで返すHTMLにCSSをインライン化して
+レスポンスを返す必要があります。
+それにはKamui::Plugin::Mobile::CSSFilterを使うと良いです。
+
+ package MyApp::Web::Handler;
+ use Kamui::Web::Handler;
+ use_plugins [qw/Mobile::CSSFilter Mobile::Agent/];
+ 1;
+
+このようにPluginを有効にしておくだけでdocomoの端末の場合に勝手にCSSをインライン化してくれます。
+なお、Kamui::Plugin::Mobile::CSSFilterには
+Kamui::Plugin::Mobile::Agent もしくは Kamui::Plugin::Mobile::AttributeのどちらかのPluginを
+有効にしておく必要があります。
+
+=head2 docomo guid
+
+docomoではuriにguid=onを設定することで、端末番号を取得する事が可能です。
+そこで
+Kamui::Plugin::Mobile::DoCoMoGUIDFilterを利用すれば
+サイト内のリンク全てにguid=onを自動で設定してくれます。
+
+ package MyApp::Web::Handler;
+ use Kamui::Web::Handler;
+ use_plugins [qw/Mobile::DoCoMoGUIDFilter Mobile::Agent/];
+ 1;
+
+このKamui::Plugin::Mobile::DoCoMoGUIDFilterでは
+Kamui::Plugin::Mobile::AgentもしくはKamui::Plugin::Mobile::AttributeのどちらかのPluginを
+有効にしておく必要があります。
+
+=head2 簡単絵文字利用 
+
+そのうち書く
+
+=cut
+
View
63 lib/Kamui/Manual/JA/Tutorial.pod
@@ -0,0 +1,63 @@
+=head1 NAME
+
+Kamui::Manual::JA::Tutorial - Kamui 日本語チュートリアル
+
+=head1 チュートリアル
+
+=head2 インストール
+
+以下のコマンドを入力することによりインストールできます。
+
+ git clone git://github.com/nekokak/p5-Kamui.git
+ cd p5-Kamui
+ perl Makefile.PL
+ make installdeps
+ make install
+
+=head2 Hello Kamui
+
+まずは、アプリケーションの雛形を作成します。
+
+ $ kamui.pl Hello
+ $ cd Hello
+
+雛形のディレクトリ構造は以下のようになっています。
+
+ ./Hello
+ |-- assets
+ | |-- htdocs
+ | | |-- css
+ | | `-- img
+ | |-- script
+ | | `-- Hello.psgi
+ | `-- tmpl
+ | |-- base.html
+ | `-- root
+ | `-- index.html
+ |-- config.pl
+ |-- config_local.pl
+ |-- lib
+ | |-- Hello
+ | | |-- Container.pm
+ | | `-- Web
+ | | |-- Context.pm
+ | | |-- Controller
+ | | | `-- Root.pm
+ | | |-- Dispatcher.pm
+ | | `-- Handler.pm
+ | `-- Hello.pm
+ `-- t
+
+assets以下にhtdocsやtemplateファイルpsgiのファイルなどが格納されています。
+lib以下にはアプリケーションのコードがあり
+topディレクトリにはconfig.plとconfig_local.plがあります。
+
+config.plはデフォルトの設定情報を記述します。
+config_local.plではデフォルトの設定情報を上書きで設定することが可能です。
+
+Kamui のアプリケーションを起動させるには L<plackup> コマンドを利用します。
+
+ $ plackup Hello.psgi
+ Plack::Server::Standalone: Accepting connections at http://0:5000/
+
+=cut

0 comments on commit b580356

Please sign in to comment.