no_escape filter for TT
[scpubgit/HTML-String.git] / lib / HTML / String / TT.pm
CommitLineData
ed99cbb4 1package HTML::String::TT;
2
3use strictures 1;
51eaef0b 4
5use HTML::String;
6use HTML::String::TT::Directive;
7use Safe::Isa;
ed99cbb4 8use Template;
9use Template::Parser;
10use Template::Stash;
ed99cbb4 11
12sub new {
13 shift;
14 Template->new(
15 PARSER => Template::Parser->new(
16 FACTORY => 'HTML::String::TT::Directive'
17 ),
18 STASH => Template::Stash->new,
51eaef0b 19 FILTERS => { no_escape => sub {
20 $_[0]->$_isa('HTML::String::Value')
21 ? HTML::String::Value->new(map $_->[0], @{$_[0]->{parts}})
22 : HTML::String::Value->new($_)
23 } },
77724961 24 (ref($_[0]) eq 'HASH' ? %{$_[0]} : @_)
ed99cbb4 25 );
26}
27
281;