You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
[twitter:@shmorimo]さんとのやりとりのなかで考えた、Xslateの関数にクロージャを渡したいケースのまとめです。 まず前提条件: リクエスト毎にクロージャをXslateに渡したい Xslateの登録関数を定義できるのはnew()のときのみ 動的に関数を加えることはできない リクエスト毎にXslateをnewすると遅いので避けたい このような条件下で、リクエスト毎にクロージャを登録する方法は幾つかあります。 render()のパラメータとして渡す KolonにせよTTerseにせよ、値に()演算子を適用すると関数を呼び出せます。したがって、単にrender()のパラメータにクロージャを渡すことで関数呼び出しができます。 #!perl -w use strict; use Text::Xslate; my $tx = Text::Xslate->new(); print $t
Text::Xslateが素敵すぎる(Markdown編) 2011年2月17日 10:13 D | ブログ記事のURL | コメント(0) | トラックバック(0) おいおい、Text::Xslate素敵すぎるだろ。 今日Markdownを使いたいと思ってちょっと考えたら、これだけで終了した: use strict; use Text::Xslate; my $xslate = Text::Xslate->new( .... module => [ 'Text::Markdown' => [ 'markdown' ] ] ); print $xslate->render_string( <<EOT, { text => $some_markdown_text ); [% text | markdown | mark_raw %] EOT 素敵!gfx 先生になら抱かれてもいい。 俺もXS
TTerse Template Toolkit互換の構文 KolonはXslateの機能を引き出すのに最適な構文です。しかしXslateでは、TT2からの移行を容易にするために、TT2のサブセットであるTTerseという構文も用意しています。 TTerseの使い方 TTerseを使うには、Text::Xslate->new()メソッドのsyntaxオプションに「TTerse」を渡します。別のディストリビューションとして配布しているText::Xslate::Bridge::TT2Likeを使うと、TT2組み込みのメソッドやフィルタを使えるようにもなります(リスト17)。 リスト17 TTerseの使い方(tterse.pl) use Text::Xslate; my $tx = Text::Xslate->new( syntax => 'TTerse', module => ['Tex
※1)Xslateではテンプレートのコンパイル結果をキャッシュできる ※2)デフォルトは$ENV{HOME}/.xslate_cacheだが、$ENV{HOME}が書き込み可能でなければほかのディレクトリも試す ※3) テンプレートの構文によってデフォルトは変わる。これらはデフォルト構文Kolonのデフォルト値 リスト8 オプションを指定する(hello_xslate2.pl) use strict; use Text::Xslate; my %vpath = ( header => "- - - - - - - - - - -\n", footer => "- - - - - - - - - - -\n", hello => "Hello, Xslate world!\n", ); my $tx = Text::Xslate->new( path => \%vpath, header =
本連載では第一線のPerlハッカーが回替わりで執筆していきます。今回は藤吾郎さんで、テーマはXslateです。 はじめに PerlとWebアプリケーションとの相性の良さは周知のとおりです。そして、Web開発にはテンプレートエンジンが欠かせません。テンプレートエンジンは、プレゼンテーションとロジックを分離し、デザイナとプログラマの分業を可能にし、MVC(Model-View-Controller)のV(View)を担う重要な要素です。 今回は、そんなテンプレートエンジンンの一つであり、筆者が開発しているXslateを紹介します。Xslateは2010年4月に開発を始めた新しいモジュールですが、速度・安定性・機能ともに高い水準になってきました。また、牧大輔氏や松野徳大氏をはじめとしたShibuya.pmの面々に多くのアドバイスをいただき、既存のテンプレートエンジンを置き換えられるくらい実用的に
nihenです。こんにちは。 今年もブクマ数ビリを目指したいとおもいます! Perl界隈で今年はText::Xslateというテンプレートエンジンが流行っています。 しかしこのXslateで現在主流に使われているSyntaxはTTerse*1であり、XslateネィティブともいえるKolonはまだあまり使われていないというのが現状のようです。 というわけで今回はKolonの使い方の基本を紹介します。 Perlコード側 use Text::Xslate; use Hash::MultiValue; my $tx = Text::Xslate->new(); my $var = { foo => 'xslate', bar => { baz => '111', bazbaz => '112', }, baz => [5, 6, 7], hoge => Hash::MultiValue->new
Perlには非常に多くのフレームワークがあります。非常に大きいものにはCatalystやJifty、小さいものにはMojolicious、CGI::Application、HTTP::Engine、Dancerなどがあります。今Perlではフルスタックのフレームワークを使うよりも、小さいものを組み合わせてWebアプリケーションをつくっていくほうが流行っていると思うので、「小さいものを組み合わせ」ながらMVCで開発できるような環境を考えてみました。 今回はWAFとしてMojoliciousを、テンプレートエンジンとしてText::Xslateを、O/RマッパーとしてDBIx::Skinnyを用いて、MVCでWebアプリケーションを作る方法について順を追って解説します。 それぞれの簡単な説明 Mojoliciousとは SimpleなMVCのWebフレームワーク。軽いプロジェクトならMojol
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く