phpoot

欲しい機能

とはいいつつ思い付きを忘れそうなのでメモ。 モデルデータの変数名をテンプレート中で間違えて書いた場合のデバグが難しいので、何とかしたい。 yamlでモデルデータの構造を書いたファイルを作り、コンパイルのときにテンプレート中の変数名指定が間違って…

久々に実装

やっと懸案の属性まわりの構文の変更を実装できた。ついでに、リファクタリングもした。CVSにコミットと。とは言うものの、http://d.hatena.ne.jp/harux/20050309#p1 に書いたのは実装できていない。というか、必要かどうか、迷うところである。

id

その1 翻訳ばかりしていて、コード書いてないのですが、テンプレートにこんな機能があってもいいかなと。 <span v:id="foo"></span> てのを、設定ファイルを見て属性(やコンテント)を書き換える。 <span v:cont="{bar}" class="hoge"></span> とかに。これをzoganで処理する。 何が良いかというと、テンプレート内への制御関…

新仕様

実装は年明けになりそうだか、忘れそうなので書いておこう。 現バージョンでは、属性のデフォルト値設定には、 <a href="planewave.org" var:attr="href={url}">there</a> と、var:attr属性を使うのだが、内容の構文が「属性={変数}」となるのが、比較的複雑である。そこで、属性用の別の名前空間を導入して…

記法を決めた背景

id:kunit さんがさらに考察を進められて居る。そこで、こちらも対抗して、ZOGANが何故あのような記法になったのかをまとめてみる。 そもそもは、あまりプログラミングを知らないデザイナに簡単にHTMLを変更してもらえるようなテンプレートが欲しかった。その…

ひがさんの言う分類で言うと

id:kunit さんからのトラックバックをたどった。 ひがやすをさんの http://d.hatena.ne.jp/higayasuo/20041028#1098919367 でおっしゃっているテンプレートの分類について言及されている。 PHPOOT - ZOGAN は、ひがさんの1番と3番目をミックスしたタイプで…

バージョン0.2.0リリース

ひさびさですが、テンプレートエンジンZoganのバージョン0.2.0リリースしました。 http://sourceforge.jp/projects/phpoot/ バグ修正をいくつかと、機能拡張を行っています。

バグが見つかった

var:cont 無しのタグにvar:attrを使うと動かない場合がある。 CVS修正済み。

 ZOGANのマニュアル

http://phpoot.sourceforge.jp/zogan/ こんな様に仕様が変更になっています。もう少し詳細なマニュアルができたたら、リリースしたいと思います。#sf.jpのサイトに上げると文字コードが少し変になるのはどうしてだろう? こっちはうまく見えるのに。 http:/…

p:id="foo" h:id="bar" って名前空間が異なって属性名が同じ複数の属性があるとして、動的属性をvattr:class="{bar}"なスタイルでは指定できないということに気づいた。名前空間って入れ子にできないよね。どーーしょ。 vcont:attr="p:id={foo} h:id={bar}"…

XML汎用とする場合、

動的コンテントを示すための属性名をどうするかに問題がある。varだと、属性が被ってしまう可能性がある。他のテンプレートで行われているように、名前空間を使うほうがよさそうだ。たとえば、vcont:key="{foo}"のように。 var="{foo}"という現行の指定方法…

ネームスペースの実装めんどくせー。

こういうのは、最初から考慮しとかないと駄目ですね。

検討事項・オプション設定法に関連して

テンプレートの拡張子に応じて空要素タグの指定をしてやるのはどうか。htmlを対象にするのは面倒くさいので、.html, .htm, .xhtmlの時は、XHTMLとして扱うことにする。 また、xmlns="http://www.w3.org/1999/xhtml" が指定されたときは、拡張子によらず、子…

検討事項・オプション廻りのAPI

RSSにも適用したい。というか、XMLなら、PHPOOT使えるんですよね。エンプティータグの設定その他をどう指定してやるか。iniファイルを使うのが一案、yamlを使うのが一案。そして、iniファイルの指定方法。

リファクタリング

今日は、マックにヴァーチャルPCをインストールしながら、PHPOOTをひたすらリファクタリングよ。 来週は、リファクタリングとテストに励むのだ。

テンプレートの独立性

bitarts.jpさんがPHPOOTについて以下の点に言及されている。 XHTMLが対象の点 var属性をデータの指定に使うこと 属性値のマークアップ方法 XHTMLについては、タグが閉じてないと、実装がつらいという点がある。一様、自動で閉じるようには、実装していますが…

PHP5対応と他テンプレートのインクルード実装

他テンプレートのインクルードは <div var="{#inc table.html}"></div> のように、{#inc 他テンプレート名}の形式で指定します。元テンプレートのdirnameを他テンプレートのプレフィクスとします。 PHP5対応は、オブジェクトのコピーのところだけなので、バージョンに応じてif文でコピー用の関数…

 コメント

HTMLのコメント以外でも、 <p var="date">ここに日付け</p> 見たいにして、trueをデータに使わないという方法もあります。

テンプレートから他のテンプレートをinclude 再び

なんか、テンプレートから他のテンプレートをincludeするっていっても、デザイナーのファイルの管理(1ファイルにするか、複数ファイルにするか)の問題だから、ロジックでは無い気がしてきた。元ファイルのディレクトリと同じか、以下に制限すれば良いかな…

テンプレートから他のテンプレートをinclude

えーと、他のテンプレートをincludeする機能を実装するつもりはないのですが。というのも、呼び出し側のPHPスクリプトの方でexpand()使ってなんとかすればいいかと思っていたので。 他のテンプレートをincludeするのって、いわゆるひとつのロジックにあたる…

0.6.0リリース

0.6.0リリースとしてリリースしました。

いろいろ実装

ここ数日の夜を使って、いろいろ実装しましたよ。 ・表示のフォーマットの件については、 <p var="{now}">{date "M D, Y"}</p> のように{フォーマットのタイプ "属性"}という形式で指定するようにしました。実装したのは、dateとprintf。ユーザ定義のも作成可能です。・ディバイ…

課題2 表示のフォーマット

まず、タグのプロパティーの値をテンプレートでフォーマットするという機能は、危険なので、加えない。デザイナーに、aタグのhref属性をいじらせるとか、危険なことはさせないようにしたい。現状の仕様でも、多少危険っぽいので、今後なんとかしたい。テンプ…

課題

PHP5対応。PHP5を入れるのからはじめなければ。

整形

こんな要望がきました。 日付を"M D, Y"のようなパラメータを指定することで、整形して法事したい。 ぼくも、これしたいのだけれど、良い方法を思いついていない。

0.5.1リリース

排他処理を実装したので、リリース。

productionレベル

外人さんから、自分の仕事のプロジェクトで使いたいのだけれど、もう使えるか、それとも1.0まで待つほうがいいかと聞かれました。で、productionレベルかどうかは、どうやって判断すればいいのでしょうね?

高付加がかかった時

昨夜、Apache JMeter を使って試してみました。 http://jakarta.apache.org/jmeter/ javaで書かれたWEBサイト等用のパフォーマンスのテストソフトです。GUIがついていて、よい感じに使えますよー。 http://www.techscore.com/tech/Java/JMeter/1.html を参考…

課題

1 | 2 | 3 みたいな、ディバイダで区切るようなをどう書くか? <span var="{foo}"></span> | <span var="{foo}"></span> かな?

0.5.0リリース

エラー処理周りを見直しました。 高付加がかかった時にどうなるかを、チェックしたいが、どうすれば良い?