NanoAでインデックスページを作ると良いことがあった

2010年2月 7日
| コメント(0) | トラックバック(1) NanoAでインデックスページを作ると良いことがあった

NanoAについては、ローカル環境で色々と試行錯誤しているわけだが、元々のサンプルを参考にしたいので、できるだけ元の状態を保っておきたいと思っているのだが、なかなか思うように行かない。
で、ソースを読んでいたら、appディレクトリの下にindexというディレクトリを作ってやれば、そちらを読んでくれそうだったので試してみた。

ローカル環境では、サーバーポートは80以外でやっているのだが、元々のDispatch.pmではポートのことを考慮していないようだった。
修正したらうまくいったので参考までに。

Index: Dispatch.pm
===================================================================
--- Dispatch.pm    (リビジョン 36612)
+++ Dispatch.pm    (作業コピー)
@@ -9,7 +9,8 @@
     
     my $handler_path = substr($ENV{PATH_INFO} || '/', 1);
     if ($handler_path eq '' && -d 'app/index') {
-        print "Status: 302\nLocation: $ENV{SCRIPT_NAME}/index/\n\n";
+        my $uri = NanoA::nanoa_uri;
+        print "Status: 302\nLocation: $uri/index/\n\n";
         CGI::ExceptionManager::detach();
     }
     $handler_path =~ s{\.\.}{}g;

これで、nanoa.cgiにアクセスしても、nanoa.cgi/index/にリダイレクトされるようになった。

このおかげで、トップページがアプリケーションの一つとして管理できるので、headerやfooterを含め、スタイルシートを使ったレイアウトの切り替えが簡単になった。
こんなところまで考えてあったんだなぁ。


あと、nanoa.cgiと同じ場所にstaticディレクトリを作って、スタイルシートをそっちにおくようにした。
app以下のアプリケーションディレクトリにそのまま入れて使うことで、アプリケーションごとに管理するのが普通だろうけど、systemに入っているスタイルシートを共通で使うのではなく、共通で使うスタイルシートや、JavaScript等を置いておく場所を作りたかったので。
あと、オリジナルをそのままの状態で運営することで、NanoAが急激に進化したときでも入れ替えをスムーズに出来るかなぁと。

トラックバック(1)

このブログ記事に対するトラックバックURL:

このブログ記事を参照しているブログ一覧:

日曜プログラマのそゞろ事 - 続々・色々と動かなかった話 (2010年2月 9日 04:06)

NanoAの話ですが。 オフィシャルのcompile_errorはちゃんと動作す... 続きを読む

コメントする

Google検索

Last.fm

このブログ記事について

このページは、のぶりんが2010年2月 7日 20:05に書いたブログ記事です。

ひとつ前のブログ記事は「NanoAのextlibにあるHTML::AutoFormについて」です。

次のブログ記事は「続々・色々と動かなかった話」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Creative Commons License
このブログのライセンスは クリエイティブ・コモンズライセンス.
Powered by Movable Type