Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

Text::Xslateのバージョン3.1.0から,テンプレートのSyntaxが正しいかそうでないかをチェックするメソッドが追加されていて便利です. 以下のように,テストしたい対象のテンプレートファイルをvalidate()メソッドの引数として食べさせてあげると,そのテンプレートファイルのSyntaxをチェックしてくれます (@filesの中身はテスト対象となるテンプレートファイルのパスのリスト). use Text::Xslate; my $tx = Text::Xslate->new; for my $file (@files) { $tx->validate($file); } Syntaxが正しい時には何も起きず,Syntaxが誤っている時は以下のようなメッセージと共に例外が送出されます. Text::Xslate::Syntax::Kolon: Expected a semico
この前 XslateのテンプレートをCSSインライン化する - $shibayu36->blog;という記事をかいたのだけど、その時にgfxさんにコメントで gfx BKっぽい気もしますが他にいい方法は思いつかないし、最近 pre_process_handler という機能も足したので、まあ許容範囲じゃないすかね。 と言われた。 pre_process_handlerというものがあったことを知らなかったので、試しに利用してみた。 pre_process_handlerを使ってtemplateに対してCSSインライン化する さてやりたかったことを振り返ると メールを一通一通CSSインライン化するのではなく、先にtemplateをインライン化しておいて、それを利用してrenderしたい ということでした。 例えば以下のようなtemplateを用意します。 <html> <head> <styl
みなさんこんにちわ!みなさんはテンプレート使ってますね! Xslate つかってますね! TTerse 使ってますね!今回はうっかりハマってしまう罠を教えます! SET で作った変数はブロックスコープである ブロックスコープなんだけど SET したスコープの中にあるブロックはスコープの対象外なので以下のテストは動かなかったりするんだ。 my $tx = Text::Xslate->new({ syntax => 'TTerse' }); my $ret = $tx->render_string(<<TMPL,); [% SET chin = 'kiru' -%] [% MACRO xaicron BLOCK -%] [% chin = 'kiranai' -%] [% chin -%] [% END -%] [% xaicron() -%] [% chin -%] TMPL is $ret
dump 関数に decoded を吐かせると、、 テンプレに渡されるパラメータを、ダンプして確認する機会というのは多いと思うのです。Text::Xsalte にはもちろんビルトインで dump 関数が用意されています。 <: $foo | dump :> しかし、この dump 関数は Data::Dumper でダンプする(だけ)という素直な実装になっています。したがって、通常 decoded な値をテンプレートに渡すと思うのですが、そうした値がエスケープして表示され、人間には読めないのですね。 例えば、こんな風です。 { foo => "\x{fffd}\x{fffd}\x{fffd}\x{142}\x{fffd}\x{fffd}H\x{fffd}\x{5c2}\x{fffd}\x{fffd}\x{fffd}" } 元は use utf8; +{ foo => 'おでん食べたい' }
本連載では第一線のPerlハッカーが回替わりで執筆していきます。今回は藤吾郎さんで、テーマはXslateです。 はじめに PerlとWebアプリケーションとの相性の良さは周知のとおりです。そして、Web開発にはテンプレートエンジンが欠かせません。テンプレートエンジンは、プレゼンテーションとロジックを分離し、デザイナとプログラマの分業を可能にし、MVC(Model-View-Controller)のV(View)を担う重要な要素です。 今回は、そんなテンプレートエンジンンの一つであり、筆者が開発しているXslateを紹介します。Xslateは2010年4月に開発を始めた新しいモジュールですが、速度・安定性・機能ともに高い水準になってきました。また、牧大輔氏や松野徳大氏をはじめとしたShibuya.pmの面々に多くのアドバイスをいただき、既存のテンプレートエンジンを置き換えられるくらい実用的に
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く