nDiki : Template Toolkit

Template Toolkit

Perl 用テンプレート処理システム (テンプレートエンジン)。 テンプレート処理用のPerl モジュールが提供される。

またテンプレート処理用のコマンドラインツールとして

が同梱されている。

2004年10月17日 (日)

ExtUtils::ModuleMaker::TT

ExtUtils::ModuleMakerをベースに、Template Toolkit によるテンプレートからのPerl モジュールを生成するようにしたモジュール。

希望のものにかなり近い。

 # Sample_Corp::MyModule モジュールディストリビューションを作成
 makeperlmod --newdist Sample_Corp::MyModule

作成したモジュールパッケージのソースツリーに新しいモジュールを追加する機能もある。

 # Sample_Corp::MyModule::SubModule を追加
 # 以下の2つを生成
 #   lib/Sample_Corp/MyModule/SubModule.pm
 #   t/Samle_Corp_MyModule_SubModule.t
 cd Sample_Corp/MyModule
 makeperlmod --module Sample_Corp::MyModule::SubModule

設定ファイル、自前のテンプレートをベースにする場合は --newdist する前に以下の作業をしておく。

 #設定ファイルを作成
 makeperlmod --defaults ~/.makeperlmod.config
 # <AUTHOR> の各フィールドを設定しておくとスケルトン生成時に利用される。

 # テンプレートの生成
 makeperlmod -templates ~/.makeperlmod.templates
 # 設定ファイルの OCMPACT を 1 に変更
 # TEMPLATE_DIR を指定
 perl -pi -e 's/(COMPACT\s+)0/${1}1/' ~/.makeperlmod.config
 echo TEMPLATE_DIR $HOME/.makeperlmod.templates >> ~/.makeperlmod.config
[ 10月17日全て ]

2004年10月18日 (月)

AppConfig

PerlのConfiguration関連のモジュールの再チェック。 Template Toolkit で使っている AppConfig が良さそげ。 設定ファイルからの設定と、コマンドラインからのオプション指定を同じ設定オブジェクトに書き込むようになっているのが便利。Getopt::Long で取得したオプションの格納先として使うだけでも便利そうだ。

設定ファイルからの再帰的設定ファイルインクルードや、コマンドラインオプションで指定した設定ファイル中の設定を「その位置」で行う機能が標準であれば嬉しいのだがさすがに無いか。 action あたりを書けば実現は可能そう。

[ 10月18日全て ]

2004年10月29日 (金)

Template ToolkitUTF-8 なファイルを INCLUDE すると文字化け

"UTF8" flag に起因する既知の問題のようだ。

Perl 5.8.4 において Template Toolkit 2.14 だと化けるが、2.13 以前 (2.13 と 2.10 で確認)だと大丈夫。

Template::Providerを継承して UTF8 フラグまわりの処理をする自前の Provider を作ってそれを使うという手もあるようだが、今回は 2.13 を使う事で対処。

[ 10月29日全て ]

2004年11月3日 (水)

Template Toolkit 2.14 の UNICODE パラメータ

Template ToolkitUTF-8 なファイルを INCLUDE すると文字化けする問題だが、ソースを読んでみると Template::Provider に UNICODE という undocumented な初期化パラメータを発見。

Template (か Template::Provider) を new するときに UNICODE => 0 すれば化けなくなった。 "UTF8" flag を立てないで文字列を扱っているスクリプトはこれでOKか?

[ 11月3日全て ]

2004年11月10日 (水)

ttree での HTMLページ生成

www.naney.org だとTemplate Toolkit が動かない事がわかってしまったので、やっぱり手元で静的するセンにする。

今までは「XMLによるページ記述 + 自作ツールによる DOM ベースの変換 + XSLT」で生成していたのだが、あまりメンテしていないのでライブラリのバージョンが上がるたびに動かなくなったりいろいろ不便になってきた。 今後は現在いろいろいじっている Template Toolkit ベースにしたい。 まずは付属の ttree を使ったサイト生成にしてみる。

で、いくつかのページをこちらで生成してみることにした。 今までより出力を簡単に修正できるようになった。 ただし以前のXMLベースの時よりは崩れたHTMLを生成する可能性が高くなるので要注意。 GNU m4 でサイトを生成していた時の感じに少し戻った気分。

Perl 5.005_03 + Template Toolkit 2.14

www.naney.org の静的(+SSI)ページを、Template Toolkit で動的処理するように改良しようかなと思い立つ。 Apache だと、

 Action tt2 /cgi-bin/t2h
 AddHandler tt2 .html

で .html へのリクエストを全てCGI プログラムに渡す(でそのスクリプトがテンプレート処理をして返す)ようにできる(はず)。

で久しぶりに Template Toolkit をサーバにインストール。 … Makefile.PL が通らない。ちょっと修正して通るようにしても今度は make test が通らない。最新の Template Toolkit だと 5.005_03 じゃ駄目か。ドキュメントには 5.005 で OK と書いてあるんだけどな。 前のバージョンは動いたのに。

ということでいきなり頓挫。 あきらめ。

[ 11月10日全て ]

2004年11月14日 (日)

JAlbumWebフォトアルバム

最初は zphoto でいこうと思っていたのだが、

  • 画像にコメントが直接つけられない (Template Toolkit の組み合わせでHTML書き換えるのがよいか)
  • 画像の横幅しか指定できない (長辺でサイズを指定したい)

といった点から違うソフトを探してみた。

JAlbum というのを見つける。Java で書かれているので、Linux でも動く。 スキンがいろいろ選べるのが良い。スキンリポジトリには Flash コンテンツベースの格好良いアルバムを生成するのもある。

スキンは自作できるのだが、プログラムが書ける分マスターするのは結構大変そうだ。

JPEG だとコメントは、画像ファイルのコメント領域に格納するというのがちょっと不満。オリジナルを改変したくないので別にコピーを用意しておく必要がある。

それからGUIアプリケーションなので zphoto のようにコマンドラインからバッチ処理できないのが残念。

それ以外はなかなか良い。

BananAlbum スキン

Flash コンテンツベース。スキンリポジトリで一番人気。 日本語のコメントがうまくでなかった。

SimpleViewer スキン

Flash コンテンツベース。BananAlbum よりすっきりまとまっている。 JAlbum画像サムネイルと設定XMLファイルなどの生成をするのだが SimpleViewerSWF自体は単体で使えるで手作業でもアルバムを作れる。

コメントは後からXMLを直接編集して書き込んでもいいな。

日本語のコメント表示問題無し (LinuxFlash Player 7.0.25 では駄目)。

[ 11月14日全て ]

2004年12月7日 (火)

Test::HarnessPerl モジュール開発以外で使う

Test::Harness モジュールに、単独で Test::Harness 用のテストファイル(群)を実行できる prove というツールがついているのを発見。

スクリプトのちょっとしたリグレッションテストを書いたりするのにこれはいい。 ダミーのパッケージを作る(autoconfiscate するとか Makefile.PL 作る)とか、自前でスクリプトを書くとかしないで済む。書きなれたスタイルでテストコードが書けるし。

tpage (Template Toolkit) 用テンプレートをいじる時にリグレッションテストをかけられるようにしたかったで、使ってみることにする。

[ 12月7日全て ]

2004年12月31日 (金)

私的10大ニュース2004 [ comp ]

cool programs

Palm OS 生活復活

PEG-TJ25を購入し、Palm OS 生活復活。 最初はおもちゃのつもりで買ったのだが、プロジェクトマネジメントなどにシフトした仕事のスケジュール管理などで大活躍。

PDA 市場の明るい話はあまり聞かないが、末長く製品が出て続けて欲しい。

https://www.naney.org/img/2004/X/X2004-03-05-0003.jpg https://www.naney.org/img/2004/X/X2004-03-14-0004.jpg https://www.naney.org/img/2004/X/X2004-04-10-0001.jpg

[ 12月31日全て ]

2007年1月27日 (土)

DiKickerはてなブックマーク数表示機能を追加

各記事毎に、「はてなブックマーク数表示」と「はてなブックマークエントリーページへのボタン」を追加する機能を追加。

DiKicker の構造上 HTML フラグメントへ変換する visitor を拡張する形で実装したけれど、やはりこの辺りはテンプレートベースでユーザがいじれるようにしたい。

WiKicker 開発時に速度の面で外した Template Toolkit 採用をまた検討してみるか。

[ 1月27日全て ]

2008年1月9日 (水)

今日のさえずり: この時期、お弁当屋の弁当に黒豆が入っていると

  • 08:52 電車が東京駅を出ると、うろうろ車内を移動する人が沢山いて邪魔くさい。そんなにエスカレーター/階段付近を所望か?[mb]
  • 12:10 この時期、お弁当屋の弁当に黒豆が入っていると「もしかしておせちの残り?」と思ってしまう。 *Tw*
  • 13:02 久しぶりに Template Toolkit のサイトを見たら、ずいぶんオシャレになってる。 *Tw*
  • 17:44 Mew から IMAPGmail につないでみている。 *Tw*
  • 17:56 Mew 上にある過去メールIMAPGmail にコピーするのは li や mli か。 *Tw*
  • 18:18 今日はバッグノート PC を会社に置いて帰ってみる。[mb]
[ 1月9日全て ]

About

Naney Naneymx

Naney (なにい) です。株式会社MIXIで SNS 事業の部長をしています。

※本サイトの内容は個人的見解であり所属組織とは関係ありません。

Process Time: 0.028655s / load averages: 0.45, 0.43, 0.36