並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 93件

新着順 人気順

xslateの検索結果1 - 40 件 / 93件

  • Mojolicious + Xslate + SkinnyでMVC開発環境 - $shibayu36->blog;

    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

    • Xslate - The fastest template engine for Perl5

      • Perl Hackers Hub:第5回 Xslate 次世代テンプレートエンジン(1)|gihyo.jp … 技術評論社

        本連載では第一線のPerlハッカーが回替わりで執筆していきます。今回は藤吾郎さんで、テーマはXslateです。 はじめに PerlとWebアプリケーションとの相性の良さは周知のとおりです。そして、Web開発にはテンプレートエンジンが欠かせません。テンプレートエンジンは、プレゼンテーションとロジックを分離し、デザイナとプログラマの分業を可能にし、MVC(Model-View-Controller)のV(View)を担う重要な要素です。 今回は、そんなテンプレートエンジンンの一つであり、筆者が開発しているXslateを紹介します。Xslateは2010年4月に開発を始めた新しいモジュールですが、速度・安定性・機能ともに高い水準になってきました。また、牧大輔氏や松野徳大氏をはじめとしたShibuya.pmの面々に多くのアドバイスをいただき、既存のテンプレートエンジンを置き換えられるくらい実用的に

          Perl Hackers Hub:第5回 Xslate 次世代テンプレートエンジン(1)|gihyo.jp … 技術評論社
        • 第43回 Text::Xslate:永続環境に特化したテンプレートエンジン | gihyo.jp

          TTの本体を差し替える 前回はウェブ業界で標準的に使われているTemplate Toolkitをより安全に使うためのカスタマイズ方法をいくつか紹介しました。しばしば批判の対象となってきたエスケープの問題については、TTでも適切な拡張を施せば後発のモジュールと遜色ないか、それ以上に便利に使えることは確認できたかと思います。 ただし、エスケープの仕方ひとつとってもさまざまなやり方があったように、TTは、柔軟である代償として速度面ではかなりの不利を抱えています。 もっとも、不利といってもそれはいまの、しかもかなり規模の大きな現場の視点で見たときの話で、数年前、おもなライバルがHTML::Mason(と、機能面で大きな差があるHTML::Template)だった時代にはTTも十分に高速といえましたし[1]⁠、中小規模のサイトではいまでもTTで十分なレスポンスは得られます。 また、かれこれ10年近く

            第43回 Text::Xslate:永続環境に特化したテンプレートエンジン | gihyo.jp
          • Text::Xslateが素敵すぎる(Markdown編) - D-6 [相変わらず根無し]

            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

            • gojiとgo-xslateを使って、GoでのWebアプリケーション開発入門をした - $shibayu36->blog;

              Golangで簡単なwebアプリを作るためにどうしたらいいか調べていたので、試しにGojiというフレームワークと、go-xslateを使ってHello Worldをしてみた。 GitHub - shibayu36/goji-and-go-xslate-sample http://localhost:8000/hello/world にアクセスすると、以下の様なものが出るだけのアプリケーション。 これを作った手順にしたがって簡単に紹介。 作成手順 まずはルーティングを作成 https://goji.io/によると、main関数の中にルーティングを作成してServeすれば良いだけっぽいのでまずはそれを作ってみる。 func main() { goji.Get("/hello/:name", hello) goji.Serve() } これで/hello/{name}でhello関数が使われるよ

                gojiとgo-xslateを使って、GoでのWebアプリケーション開発入門をした - $shibayu36->blog;
              • Text::XslateにテンプレートのSyntaxをチェックするメソッドが追加されて便利 - その手の平は尻もつかめるさ

                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

                  Text::XslateにテンプレートのSyntaxをチェックするメソッドが追加されて便利 - その手の平は尻もつかめるさ
                • Xslate振り返り

                  Template Engine Night 2014/10/17 の資料です

                    Xslate振り返り
                  • 萌えキャラとは一体何だったのか : Mojolicious::Lite + Teng + SNBinder + Xslate (+ SQLite/OnMemory) でCRUDアプリを作ってみた

                    Mojolicious::Liteは一つのファイルの中に全部突っ込んでWebアプリが作れるということなので、今自分が気になってるものを習作の意味を込めて全部詰め込んでCRUDアプリを作ってみました。jQueryも入れたかったけど書いていてカオスになったのでSNBinderの補助とページャ以外は無しにしました。 色々突っ込んでみたものは以下 Teng ページャ(プラグイン) inflate/deflate triggerの代替 Class::Method::Modifiers Devel::KYTProf Xslate Mojolicious::Liteで継承 SNBinder コンセプト 雑感 Teng nekokakさん作の軽量ORMであるTeng。 Skinnyの後継 DBIの薄いラッパー ということで、シンプルさを残しつつさらっと書きたいことはさらっと書けるように配慮されてて良い感じ

                    • MouseとText::Xslateをリリースした - Qiita

                      この記事はPerl Advent Calendar 2017の11日目の記事です。 昨日はtsucchiさんのMinion についてでした。Minionはv8からadmin uiが付属するようになったらしいので使わねばと思っていたところでした。 さて今日は、先日僕がメンテナになりリリースしたMouseとText::Xslateについて なぜメンテナになりリリースしようと思ったか どういう変更をしたか を書きたいと思います。 なぜメンテナになりリリースしようと思ったか MouseはShawn M Mooreさん作のPerl5に本格的なオブジェクト指向プログラミングを導入するものです。 Text::Xslateはgfxさん作の高速なtemplateエンジンです。 この2つのモジュールはどちらも広く使われていて、Perl5が今後も実用的な言語であるためにはなくてはならないものです。一方でオリジナ

                        MouseとText::Xslateをリリースした - Qiita
                      • PlackとText::Xslateでケータイからtwitterするwebアプリを書いた - だるろぐ

                        公式のケータイ用のサイトが重いし落ちてる事が多いのでさっさと書いた。 色々足りんけど自分用に使うにはこれで十分。 GitHub - hirafoo/filmoa: simple twitter web-app for mobile phone なおPlackとText::Xslate使ったとか書くと凄く聞こえるけど実際は触り程度にしか使ってない。 追記 Config::Pitでconsumer keyとかtwitterでoauthするときに必要な情報を管理してます。 当然そんなものリポジトリに同梱しないしサンプル書くのもめどいので、これを使いたい珍しい人はコード読んで自分で用意するよろし。簡単だから。 構成 psgiファイルが1個と、他はテンプレのファイルのみ。 何か軽くてさくっと使えるWAF無いかなーと探したけどいいのがsinatraしか無かった。 やりたい事は極わずかだったので、んじゃ

                          PlackとText::Xslateでケータイからtwitterするwebアプリを書いた - だるろぐ
                        • モダンPerlの世界のText::Xslateの会の後半へのツッコミ - 空繰再繰

                          モダンPerlの正解へようこそのText::Xslateの会へのおかしな点。 モダンPerlの世界へようこそという、 gihyo.jpでの石垣憲一氏の連載があるのですが、 この連載のText::Xslate:永続環境に特化したテンプレートエンジンの後半、 Text::XslateはTTのかわりになれるのか?の部分がどうにも引っかかってしょうがないので、現時点で僕が思ってるコトをまとねてみるテスト。 参考 モダンPerlの世界へようこそ Text::Xslate:永続環境に特化したテンプレートエンジン Re: モダンPerl連載第43回 (Islands in the byte stream) Text::XslateはTemplate::Toolkitの代用品じゃない 件の連載では、本文中、 例によって空気を読めない日本人が速いばかりの類似品を売り出そうとしているけれど, 時期がくれば本家

                          • How and when Xslate escapes html special characters - Islands in the byte stream (legacy)

                            Xslate のエスケープポリシーについて考えたので、ここでまとめておく*1。 Xslate のエスケープ処理について、覚えることは以下の三つである*2。 テンプテートタグ内で生成した値は自動的にエスケープされる エスケープ処理をさせたくないときはmark_raw フィルタを使う エスケープ処理を強制させたいときは unmark_rawフィルタを使う 以下、詳しく解説する。 まず、基本的には Text::MicroTemplate のポリシーを踏襲している*3。すなわち、テンプレートタグ内で生成された文字列については、HTMLのメタ文字(< > & " &apos)が自動的にエスケープされる。エスケープ処理は、一般式に対する出力コマンドが担っている。 # Text::Xslate version 0.1032 $ xslate -e '<foo>' # 地の文字列はそのまま出力 <foo>

                              How and when Xslate escapes html special characters - Islands in the byte stream (legacy)
                            • Introducing Text::Xslate - D-6 [相変わらず根無し]

                              Introducing Text::Xslate Text::Xslate is one of the latest inventions by Goro Fuji. It's yet another template engine -- and since it is yet another template engine, I could easily see everybody going "oh, *another* one....". Yeah, I get the idea. I feel the same for most new template engines. But I have to say, this time... this one /is/ worth looking at. First off, it's blazing fast. For trivial

                              • Why Xslate is so Fast - Islands in the byte stream (legacy)

                                (There is the Japanese version bellow) There are reasons why Xslate so fast, so this article explains them, which will be added to the Xslate document. Taking precompiling style Template engines which precompile templates are always faster than line-by-line interpreters. Almost all the engines implemented in scripting languages (e.g. Template-Toolkit or Text::MicroTemplate) takes precompiling styl

                                  Why Xslate is so Fast - Islands in the byte stream (legacy)
                                • 第5回 Xslate 次世代テンプレートエンジン(2) | gihyo.jp

                                  ※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 =

                                    第5回 Xslate 次世代テンプレートエンジン(2) | gihyo.jp
                                  • Template Engine Nightで「Xslate振り返り」をしました - Islands in the byte stream (legacy)

                                    このあたりで一度まとめておこうと思ったのでいい機会でした。@moznionさん、ありがとうございました。 なお、スライド中の「arity」は、この直前のトークで「ASTのnodeの種類を表すのにarityという単語を使っているのは意味が違うのではないか」と質問されたので急遽いれたものです。これは、『ビューティフル・コード』でDouglas Crockfordが演算子優先順位構文解析法によってJavaScriptのparserを実装しており、その中でtokenの種類を表すのにarityという単語を使っていたからなのでした。Xslateはそのparserをもとにしているのでarityという言葉を使っています。 ビューティフルコード (THEORY/IN/PRACTICE) 作者: Brian Kernighan,Jon Bentley,まつもとゆきひろ,Andy Oram,Greg Wilso

                                      Template Engine Nightで「Xslate振り返り」をしました - Islands in the byte stream (legacy)
                                    • Catalyst + Xslate + I18N::Handle で国際化対応してみる - Perl勉強メモ アルパカDiary出張版

                                      CatalystだとCatalyst::Plugin::I18Nを使うのが楽みたいですが、 Xslateだと使えないようなので Text::Xslateのドキュメントを参考に自前で設定してみました。 (ちなみに今回の目的は国際化ではなく、ラベル等をファイル管理したかっただけという...) サンプル https://github.com/toritori0318/Catalyst-Xslate-Po-Example 必要なモジュール(CatalystとText::Xslateは除外) I18N::Handle App::I18N Catalyst::View::Xslate とりあえずの手順 catalyst.pl でアプリケーション生成 catalyst.pl PoDemo とか。 po プロジェクト?の初期設定 App::I18N をインストールすると「po」というコマンドが使えるように

                                        Catalyst + Xslate + I18N::Handle で国際化対応してみる - Perl勉強メモ アルパカDiary出張版
                                      • Xslate の mark_raw は template に書かない - tokuhirom's blog

                                        Xslate の mark_raw は template 側では使わずに、Controller ないし Model で使って欲しい。 ある文字列が、HTML として処理すべきものかどうかは、サーバー側で判断すべき事案であって、マークアップエンジニアが判断すべき事項ではないから、というのが大きい。 「タグがうまく入力できないんですけど」というディレクターからの起票によって、それをマークアップエンジニアがなんとなく TT の | html はずして XSS 大発生! というような事態は、昭和の時代には多発していたという。 そのような惨事を我々は繰り返すべきではない。 歴史に学ばなくてはならない。

                                        • MobaSiF::Template と Text::Xslate の比較 - tokuhirom's blog

                                          40 :デフォルトの名無しさん:2010/08/01(日) 21:43:47 xslateというテンプレートエンジンが速いそうですが、mobasifと比べてどっちが速いでしょうか。 ベンチマーク探したけど、両者を比較しているのは見つかりませんでした。 というか xslate のほうは後発なんだから、高速だと主張するならTTなんかじゃなくて mobasifと比べてほしいよね。 http://pc12.2ch.net/test/read.cgi/tech/1280541200/40 http://xslate.org/ にはわざと MobaSiF::Template との比較はのせていません。日本でしかしられておらず、しかも日本でも一社以外ではほとんどつかわれていないとおもわれるテンプレートエンジンとの比較を掲載しても海外の人がひいてしまうからです(xslate.org は海外へのプロモーショ

                                          • Xslate 1.5008 released - Islands in the byte stream (legacy)

                                            異常系の振る舞いを少し変えました。 https://metacpan.org/release/Text-Xslate Xslateでは、render()へ渡すテンプレートパラメータや登録関数からの戻り値は必ずEncodeモジュールでデコードしたテキスト文字列であるべきです。しかし、デコードしてないバイト列を渡したときの挙動は未定義で、XS/PPあるいはcacheの有無によって挙動が異なっていました。特にcacheの有無で挙動が変わることがあるのが厄介で、特定の条件が重なるとリロードすると文字化けするという挙動を示すことがありました。 Xslateに限らず、Perlではスクリプト内のテキストの操作はデコードされたテキスト文字列で行うべきで、これを守らなければ文字化けを引き起こします。よって、Xslateでも、上記のようにデコードされていないバイト列を与えると文字化けが起きるのが、Perl的に

                                              Xslate 1.5008 released - Islands in the byte stream (legacy)
                                            • Text::Xslate TTerse の深淵なる罠 - Articles Advent Calendar 2012 Casual

                                              みなさんこんにちわ!みなさんはテンプレート使ってますね! 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

                                                Text::Xslate TTerse の深淵なる罠 - Articles Advent Calendar 2012 Casual
                                              • Lazy Programmer's Wlog / Tech/XslateのMacroをXslateを利用して作る

                                                XslateはMacroに対応しているのですが、INCLUDE先では利用できないという制約があります。 その対応が以下実際のコード。 INCLUDE先でも利用できるようになった際の移行を考慮して実装しています。 kazeburo++ package Golgo::Admin::View::MacroSection; use strict; use warnings; use base qw/Exporter/; use Data::Section::Simple; use Text::Xslate; our @EXPORT = qw( paginate ); my $XSLATE; __PACKAGE__->create_xslate(); sub paginate { my $args = {}; ( $args->{pager} , $args->{my_uri} ) = @_; re

                                                • Xslate now cooperates with Data::Section::Simple - Islands in the byte stream (legacy)

                                                  [twitter:@typester]さんがText::MicroTemplate::DataSectionを書いて気になっていたところ、[twitter:@kazeburo]さんからもXslateの対応について要求があったので、version 0.1043でData::Section::Simpleと協調するようにしました。 ただし、依存モジュールを増やしたくない*1ので直接サポートではありません。 具体的には、以下のように使います*2: #!perl -w use strict; use Text::Xslate; use Data::Section::Simple; my $tx = Text::Xslate->new( path => [ Data::Section::Simple ->new()->get_data_section(), ], ); print $tx->rend

                                                    Xslate now cooperates with Data::Section::Simple - Islands in the byte stream (legacy)
                                                  • Text::Xslate がオススメなワケ - tokuhirom's blog

                                                    速いエラーメッセージがとても親切型ベースの自動エスケープ複数シンタックス対応TTerse という TT2 like なシンタックスをサポートしているので TT からの移行がわりと容易Text::Xslate->new(module => ['File::Spec::Function']) のように書くだけで簡単にモジュールの関数をとりこむことができるText::Xslate::Bridge::TT2Like をつかうことで TT の VMethods や Filters をつかえるPure Perl でもうごくというような特徴があるので、よほどの理由がないかぎり今後は Xslate をつかうのが正解なのではないかとおもっている。 実装の小ささや、こまわりのきく点などで Text::MicroTemplate は生き残っていくとおもうが、基本的には Perl5 のテンプレートエンジンは Xs

                                                    • CatalystでXslateしてみた - pepponの日記

                                                      cpanm Text::Xslate cpanm Text::Xslate::Bridge::TT2Like cpanm Catalyst::View::Xslate MyApp::View::Xslate package MyApp::View::Xslate; use Moose; extends 'Catalyst::View::Xslate'; has '+module' => ( default => sub { [ 'Text::Xslate::Bridge::TT2Like' ] } ); has '+template_extension' => ( default => '.tt', ); has '+cache_dir' => ( default => '/tmp/MyApp/.xslate_cache', ); has '+cache' => ( default =>

                                                        CatalystでXslateしてみた - pepponの日記
                                                      • HTML form management on Xslate - Islands in the byte stream (legacy)

                                                        <追記> @typesterさんの指摘を受けて再考中。確かに、気軽にrawを書くようになると、結局「うっかりraw」をする可能性が生じて安全性が下がります。テンプレートではrawを使うべきではない、ということを前提にドキュメントと記事を書き直しました。 参考: @fujiwara: うっかりraw付ける付けないのミスというより、化ける!→rawつけると化けない!→じゃあとりあえずrawつけとけばイイよね! みたいな流れがありがち。@tokuhirom:ていうか、T::MT の思想では、基本的に model とか controller 側で raw 属性つける、なんだよね。Xslate上でフォーム処理をしようとしたらいろいろハマったのでCookbook書きました。 The Xslate cookbook http://search.cpan.org/dist/HTML-Shakan=HTML

                                                          HTML form management on Xslate - Islands in the byte stream (legacy)
                                                        • Xslateの関数でクロージャを使う - Islands in the byte stream (legacy)

                                                          [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

                                                            Xslateの関数でクロージャを使う - Islands in the byte stream (legacy)
                                                          • PerlのテンプレートエンジンText::XslateにおけるINCLUDEの取り扱いの注意 | hirobanex.net

                                                            久しぶりに2時間以上もはまったので愚痴がてら共有しておきます。具体的には、CPANモジュールガイドにも出てくるText::Markdownとの連携と、INCLUDEしたファイル内の「:」の取り扱いについてです。 概要 ~Markdownを使う理由とサンプルアプリの概要~ Markdownっていまいち文法がわからないし、tableとかdlとかいまいちぐぐっても出てこないから使っていなかった。だけど、最近、「Markdownいいよ」って言われること増えたし、そろそろ自分のブログも生HTMLを書くのに飽きたし、仕事でもHTMLだけ書く人に発注するもの馬鹿馬鹿しいし、Webにアップする前提の文章書くならやっぱり最初からMarkdownで書いてしまったほうがいいという結論に至った。それで、いろいろ使い方確認したいし、周りの人の啓蒙も兼ねて、Markdownで書いた文章をHTMLに変換するアプリを「さ

                                                            • Xslate+Locale::Maketext::Lexiconを考える - Islands in the byte stream (legacy)

                                                              前提:Locale::Maketext::Lexicon を Xslate でつかう (by tokuhirom) L::M::SimpleよりもL::M::Lexiconのほうが使いやすいというのはそのとおりなんですが、うまく使うにはもうちょい工夫が必要かなと。 具体的には以下のようなことに対応したいです。 *.poに書く値はHTMLタグが含まれるかも知れない。つまり「raw文字列」とみなすべき。 一方maketext($fmt, @args)の@argsはユーザー入力なのでエスケープしないとまずい 最終的にmaketextはraw文字列を返すべき これを反映させ、二つの関数を用意するのがいいのではないかと考えました。まずl()は普通の関数として動作するので入力値が最終的にエスケープされます。l_raw()は特殊バージョンで、@argsをエスケープし、raw文字列を返します。このl_ra

                                                                Xslate+Locale::Maketext::Lexiconを考える - Islands in the byte stream (legacy)
                                                              • YappoLogs: Perl で L10N するのに Locale::Maketext::Extract::Plugin::Xslate っての書いた

                                                                Perl で L10N するのに Locale::Maketext::Extract::Plugin::Xslate っての書いた Perl で L10N するにはhttp://blog.64p.org/entry/20110224/1298521852こういうことするんですが、今時はTTなんかつかわない!Xslateだ!ってことで Locale::Maketext::Extract::Plugin::TT 使ってたんですが、いろいろ怪しいのでちゃんとしたの作ったよ! https://metacpan.org/release/Locale-Maketext-Extract-Plugin-Xslate 他のプラグインとちょっとだけオプション変わっちゃうけど、 start_tag とか変えるのも対応できるし syntax も全部対応できるよ。 Text::Xslate の AST とる int

                                                                • Xslate と Mouse と Perl 5.20の話 - tokuhirom's blog

                                                                  Perl 5.20 で Mouse とか Xslate がおかしいな! ってことになったら、Mouse のバージョンが古くないかを確認しよう。 Mouse の 1.13 より前のバージョンは Perl 5.20 で実行時エラーになる問題がある。 通常はおきないが、 おきるケースがありえる。 具体的には cpanfile に required 'Mouse', '==1.12'; って書いていたり、cpanfile の中身をとか書いてたりするとか、古いバージョン対象でつくった cpanfile.snapshot を carton install --deployment でいれたりすると、Mouse の古いバージョンがはいってしまう。 この状況におちいったときにわかりづらいエラーになるので、今のうちに Mouse のバージョンをあらかじめアップデートしておいてもよいかもしれない。 たぶんこれ

                                                                  • CatalystなアプリをPlack + Router::Simple + DBIx::Skinny + Text::Xslateに置き換えた - pepponの日記

                                                                    あるサービスがアクセス多くてどうしようかなとか考えていたんですが、とりあえずCatalystから変えてみようかなと思い切ってやってみた。 ソースはありません。 最初は結構難儀したんだけど、もともと認証がいらない奴だったのでわりと簡単に。 ウェブには道しるべはたくさんあって、それらを参考になんとなたどり着いた。 Plack ぐぐるとたくさん出てきます うちのアプリに必要だったのはMiddleware::Sessionあたり Router::Simple http://search.cpan.org/dist/Router-Simple/ http://d.hatena.ne.jp/tokuhirom/20100319/1268995772 これは無くてもまあいいかなだけど使ってみた Text::Xslate http://search.cpan.org/dist/Text-Xslate/ h

                                                                      CatalystなアプリをPlack + Router::Simple + DBIx::Skinny + Text::Xslateに置き換えた - pepponの日記
                                                                    • Xslate に入門しつつ Tiffany とか Ark とか - はちゅにっき

                                                                      最近はもっぱら PHP を書いている magicalhat です。 それでもやっぱり Perl が好き。 というわけで、id:gfx さんの新作 Xslate という新しいテンプレートエンジンが登場したとか、それがすごく速いとか、そんなウワサを耳にしたので入門してみることに。 ついでなので、最近鋭意お勉強中の Ark から Xslate を使ってみることにしました。 参考にしたのは、id:punitan さんが Blog で紹介されていた http://xslate.org/intro.html のサンプルプログラムです。 # いつものことですが、参考というよりもパクりです Ark::View::Xslate をつくってみる Ark が標準でサポートしているのは JSON / MT (Text::MicroTemplate::Extended) / TT (Template-Toolkit

                                                                        Xslate に入門しつつ Tiffany とか Ark とか - はちゅにっき
                                                                      • first impression for Text::Xslate - tokuhirom's blog

                                                                        僕がつくってるフレームワークであるところの Amon に Xslate 対応をいれてみた。 かなり TT とおなじ感覚でつかえるかんじ。テンプレートの継承が追加されてるぐらいで、基本は TT とおなじかんじか。 フレームワークにくみこむときはこんなかんじ。 package Amon::V::Xslate; use strict; use warnings; use base qw/Amon::V::TemplateBase/; use File::Spec (); use Scalar::Util (); use Text::Xslate 0.001_08 (); sub import { my $class = shift; if (@_>0 && shift eq '-base') { my $caller = caller(0); no strict 'refs'; unshift

                                                                        • Text-Xslate-v3.5.9

                                                                          Fuji, Goro (gfx). André Walker Anirvan Chatterjee Ashley Pond V Brian Fraser Christian Walde David Steinbrunner Fuji, Goro (gfx) Fuji, Goro Hao Wu James E Keenan Jesse Luehrs Justin Cook Kazuhiro Osawa Kenichi Ishigaki Kentaro Horio Kevin M. Goess Konstantin S. Uvarin Mariano Wahlmann Masahiro Chiba Michael Kröll Mike Raynham Mons Anderson Nick Morrott Olaf Alders Shigeki Morimoto Syohei YOSHIDA T

                                                                            Text-Xslate-v3.5.9
                                                                          • emacsでweb-modeを利用してHTML + Xslate(TTerse)の環境でsyntax highlightする - $shibayu36->blog;

                                                                            仕事でHTMLを書くときは大体HTML + Xslate(TTerse syntax)という構成でやっている。今まではhtml-modeを使っていたのだけど、流石にXslateのsyntaxがハイライトされないのだるくなってきた。そこでweb-modeというのが便利と見たことがあったので入れてみた。 インストールする package-list-packagesしてweb-modeを入れる。その後以下の様な設定を書く。 (require 'web-mode) (add-to-list 'auto-mode-alist '("\\.html?\\'" . web-mode)) (setq web-mode-engines-alist '(("template-toolkit" . "\\.html?\\'" ))) この設定をしておくだけで、 .htmや.htmlという拡張子の時にweb-mo

                                                                              emacsでweb-modeを利用してHTML + Xslate(TTerse)の環境でsyntax highlightする - $shibayu36->blog;
                                                                            • Locale::Maketext::Lexicon を Xslate でつかう - tokuhirom's blog

                                                                              あたくしは普段 Locale::Maketext::Lexicon を利用しているので、Locale::Maketext::Lexicon をつかったサンプルをかいてみた。 #!perl use strict; use warnings; use utf8; package MyApp::I18N; use FindBin qw($Bin); use parent 'Locale::Maketext'; use Locale::Maketext::Lexicon { '*' => [Gettext => "$Bin/locale/*.po"], _auto => 1, _decode => 1, _style => 'gettext', }; package main; use Encode (); use Text::Xslate; my $i18n = MyApp::I18N->get

                                                                              • Text::Xslateで未設定の変数を検出する - Islands in the byte stream (legacy)

                                                                                hirose31さんの要望により、Text::Xslate 0.2013で未設定の変数を検出できるようにしました。といってもヘルパ関数を提供しただけで、実際にはtie hashを使った簡単なラッパークラスを用意しただけですが。 未設定の変数を使ったときに「FILL ME/$name」という文字列を埋め込むには、以下のようにします。なお、この機能は重いので、デバッグ時のみに使うようにする方がいいでしょう。 #!perl -w use strict; use Text::Xslate; use Text::Xslate::Util qw(hash_with_default); my $DEBUG = 1; my %vars; my $vars_ref = $DEBUG ? hash_with_default(\%vars, sub { "FILL ME/$_[0]" }) : \%vars;

                                                                                  Text::Xslateで未設定の変数を検出する - Islands in the byte stream (legacy)
                                                                                • Xslate + Email::Simple でメールを送信するの件 - tokuhirom's blog

                                                                                  http://github.com/tokuhirom/p5-Holsten-Email-Simple-Tiffany-Japanese Xslate + Email::Simple で MIME::Lite::TT::Japanese っぽいあるいは MoFedge::Mailer っぽいやつがほしいなーとおもったので、つくった。以下のようにつかえる。 use Holsten::Email::Simple::Tiffany::Japanese; use Email::Sender::Simple qw/sendmail/; my $estj = Holsten::Email::Simple::Tiffany::Japanese->new( 'Text::Xslate' => { syntax => 'TTerse', path => ['./email_tmpl/'], }, ); my