February 2006 Archives
February 28, 2006
タグの全て
/lib/MT/Template/ContextHandler.pm にはMTのタグの全てが記されている。
その全てのタグを使い尽くしてあげたい今日は、直にコピペして全てのタグを使いこなされたテンプレートを作成してやりたかった。perlで簡易スクリプトを作成したりもしました。
結論、MTタグとは...破壊と慈悲の混沌だ!
taglist
make.txt
taglist.txt
February 26, 2006
MTCalc0.7
とりあえず、昨日考えていた機能を実装したものができた。
しかし、現在のところエラーチェックが殆どされていない。これはまずい。
そして、式の中の変数が評価できない場合の対応が難しい。
MTタグに関しては、文字列が帰ってきた場合、コンテナタグなどを呼んだ場合、そもそも存在しないタグを呼んだ場合など。
VAR変数でも、文字列の場合と、存在しない場合がある。
現状では、すべて 0 扱いして無理やり評価させているのだが、実運用においては再構築時にエラーを出したほうがよいように思える。
これもアトリビュートで指定して、処理を選択できるようにするのがいいだろうか。
検索プラグインについて
Movable Typeの欠点として、検索が弱いなーと思うので、そのためのプラグインを探してみた。
すぐに X 何とかって言うのが見つかったのだが、インストールがすごいめんどくさそうだった。
すでにチャンピオンズリーグダイジェストを観ながら酩酊状態に陥っている自分にとっては、実行不可能なタスクであった。
やっぱり、プラグインと銘打つ以上、ポコッと入れるとガーッて働くような使いやすさが望ましいと思うのだが、機能的に不可能なのだろうか。
それはまあ後々の課題として、今日は浦和レッズがタイトルを取って嬉しいので大満足なのだった。
February 25, 2006
MTCalc0.6
- 四則演算が出来る。
- 10進数字のほかに、変数として、値を返すMTタグとMTSetVarで作成した変数を扱える。
- 計算結果をMTSetVarの変数空間に格納できる。
(1)については、取りあえず eval() 関数に丸投げすることで良しとしよう。取りあえず。
(2)について現在の仕様では、式について評価する前に全て書き換えてしまうのなら難しくないように思える。MT...で始まる英数字の列はMTタグとして評価、VARで始まる英数字の列はMTGetVarもどきで値の取り出しを試みる。それ以外の文字列は、eval() にお任せとする。
(3)これは式の中に書式を織り込むのはホネそうなので、別のアトリビュートに放り込み先を指定することとする。setvar="name"とすると、<$MTSetVar name="name" value ="(計算結果)"$>と同じ働きをする。といいな。指定が無ければ何もしない。
MTCalc0.5
MTのほうで、アトリビュート内のMTタグを展開してくれないことで、別の手段を模索しなくてはならなくなった。
そういえば、<$MT...$>という構文では無い形でタグの情報を利用しているタグがあった筈。・・・そうだ、MTIfNonZero と MTIfNonEmpty だ。
早速、./lib/MT/Template/ContextHandler.pm から、それっぽいところをぶった切って持ってきてみる。
動いた。
何とかなりそうだ。
ついでに、MTSetVar などとも連携が取れるようにすれば面白そうだ。
MTCalc0.4
evalに丸投げで完成かと思われた矢先、MTタグのアトリビュート内にはMTタグを埋め込めない事が判明した。HTMLタグの中には普通に放り込んでいたので、再帰的に内側のタグから展開しているものだと思い込んでしまった&こんな事は先に実験しておくべきだった。。。
考えていたあんなことやこんなことが遠のいていく。。。
MTCalc0.3
perl には、eval() という関数があることを今知った。
引数をこの関数にぶち込めば、計算など幾らでも出来る。。。
危険といえば危険だが。
開発終了?
February 23, 2006
よく分かるマニュアル
これらの値のすべては、上記のような形式で応答のcleartextにも与えられます。ただし、クライアントによって渡されたサイト・トークンは省かれます。 たとえば、ログインするユーザーが"Napoleon Bonaparte" <napoleon@france.fr>で、'napster'というログイン名を持ち、2001-09-08 19:00:00 (エポックから1000000800秒後)にログインした場合、「sig」は以下の文字列の署名になります。napoleon@france.fr::Napolon Bonaparte::napster::1000000800::6jTGQ2MF1focBR5vODfC
http://www.sixapart.jp/movabletype/manual/mtauth.html#item_sig
なんだこのたとえは。
MTCalc0.1
MTのタグ内で簡単な計算をするプラグインをつくろう。
ということで、取りあえず動き出した。
現状の仕様
・四則演算だけなら出来る。括弧は認識しない。
・左から順に計算する
既知の不具合
・右から計算してしまう
今日はこれまで。
February 18, 2006
MTHello?
テンプレートマッピング
色々とメモを書いたりするブログをこれから作っていくわけだが、取りあえずの方針として、Movable Typeを弄り倒していく過程を記事の主軸に据えていこうと思う。
だがその前にまず、最初に、エントリーのタイトルに日本語をつけたときに気持ち悪い「post_1」とか何とかいうファイル名になってしまう件について解決しておこうと思い、記憶を辿って sixapart.com のマニュアルの中から Archive File Path Specifiers という記事を探し出した。
http://www.sixapart.com/movabletype/docs/3.2/e_archive_file_path_specifiers/
結構米sixapartのサイトにしかない情報というものがあるから要注意だ。