Compare commits

...
Author SHA1 Message Date
Ask Bjørn Hansen ec4e464d90 Prepare 0.30; update Mojo dependency 2009-09-09 21:18:55 -07:00
giftnuss d7726cfa0e Keep plugin in sync with mojo project
- Add test template with new naming schema

Signed-off-by: Ask Bjørn Hansen <ask@develooper.com>
2009-09-09 21:15:44 -07:00
Ask Bjørn Hansen 68438d57cb Mojo can't run with -T currently 2009-09-09 21:15:38 -07:00
Ask Bjørn Hansen 6cae190a7a Prepare v0.21 to work with new Mojo's 2009-07-29 15:49:24 -07:00
giftnuss 165c3b39f2 Update stash key from 'template_path' to 'template' to match mojo change
Signed-off-by: Ask Bjørn Hansen <ask@develooper.com>
2009-07-29 15:44:10 -07:00
Ask Bjørn Hansen 460b36497a prepare 0.20 release 2008-12-09 17:20:18 -08:00
Ask Bjørn Hansen 91a817b322 Add default INCLUDE_PATH (templates) 2008-12-09 17:19:43 -08:00
vti e779579347 test fix 2008-12-09 16:45:28 -08:00
Ask Bjørn Hansen e3db05fcb6 Merge commit 'vti/vti' 2008-12-08 20:44:26 -08:00
vti 3c8ec94a70 changes due to the new options passed to handler 2008-12-07 01:08:07 +01:00
Ask Bjørn Hansen a3b6ccdb2b Update MANIFEST files
Signed-off-by: Ask Bjørn Hansen <ask@develooper.com>
2008-11-24 03:42:19 -08:00
vti bbabbf9ac1 Made default compile dir not unix specific
Signed-off-by: Ask Bjørn Hansen <ask@develooper.com>
2008-11-17 02:54:22 -08:00
Ask Bjørn Hansen 0a42dd4f90 Update synopsis (thanks to Fayland 林) 2008-11-17 02:45:49 -08:00
8 changed files with 62 additions and 22 deletions
+16
View File
@@ -1,5 +1,21 @@
Revision history for MojoX-Renderer-TT Revision history for MojoX-Renderer-TT
0.30 September 9, 2009
- revert the change of stash key, template_path is the prior
source for the template file again (Sebastian Knapp)
- reflect recent changes in mojo project (v0.991251) (Sebastian Knapp)
- one test with Mojolicious added (Sebastian Knapp)
0.21 July 29, 2009
- Update stash key from 'template_path' to 'template' to
match mojo change (Sebastian Knapp)
0.20 December 9, 2008
- Updates to work with Mojo 0.9
- Add default INCLUDE_PATH
- Made default compile dir not Unix specific (Viacheslav
Tikhanovskii)
0.10 November 12, 2008 0.10 November 12, 2008
- Update to work with named parameters in new version of Mojo - Update to work with named parameters in new version of Mojo
- Instead of "tx" pass the context in the "c" variable - Instead of "tx" pass the context in the "c" variable
+3
View File
@@ -7,4 +7,7 @@ lib/MojoX/Renderer/TT.pm
t/00-load.t t/00-load.t
t/pod-coverage.t t/pod-coverage.t
t/pod.t t/pod.t
t/render.t
t/render/template-error.tt2
t/render/template.tt2
.perltidyrc .perltidyrc
+2
View File
@@ -3,3 +3,5 @@
\.shipit$ \.shipit$
.*\.bak$ .*\.bak$
^\.gitignore$ ^\.gitignore$
\.DS_Store
Makefile
+1 -1
View File
@@ -13,7 +13,7 @@ WriteMakefile(
PL_FILES => {}, PL_FILES => {},
PREREQ_PM => { PREREQ_PM => {
'Test::More' => 0, 'Test::More' => 0,
'Mojo' => 0.8011, 'Mojo' => 0.991251,
'Template' => 2.18, 'Template' => 2.18,
}, },
dist => { COMPRESS => 'gzip -9f', SUFFIX => 'gz', }, dist => { COMPRESS => 'gzip -9f', SUFFIX => 'gz', },
+18 -16
View File
@@ -6,10 +6,11 @@ use base 'Mojo::Base';
use Template (); use Template ();
use Carp (); use Carp ();
use File::Spec ();
our $VERSION = '0.10'; our $VERSION = '0.30';
__PACKAGE__->attr('tt', chained => 1); __PACKAGE__->attr('tt');
sub new { Carp::croak "MojoX::Renderer::TT->new() is now ->build()" } sub new { Carp::croak "MojoX::Renderer::TT->new() is now ->build()" }
@@ -31,8 +32,9 @@ sub _init {
# take and process options :-) # take and process options :-)
my %config = ( my %config = (
( $mojo ? (INCLUDE_PATH => $mojo->home->rel_dir('templates') ) : () ),
COMPILE_EXT => '.ttc', COMPILE_EXT => '.ttc',
COMPILE_DIR => ($dir || "/tmp"), COMPILE_DIR => ($dir || File::Spec->tmpdir),
UNICODE => 1, UNICODE => 1,
ENCODING => 'utf-8', ENCODING => 'utf-8',
CACHE_SIZE => 128, CACHE_SIZE => 128,
@@ -48,17 +50,17 @@ sub _init {
} }
sub _render { sub _render {
my ($self, $mojo, $args) = @_; my ($self, $renderer, $c, $output, $options) = @_;
$args->{args} ||= {}; my $template_path;
unless($template_path = $c->stash->{'template_path'}) {
#use Data::Dump qw(dump); $template_path = $renderer->template_path($options);
#warn dump(\$args); }
unless ( unless (
$self->tt->process( $self->tt->process(
$args->{path}, {%{$args->{args}}, c => $args->{c}}, $template_path, {%{$c->stash}, c => $c},
$args->{output}, {binmode => ":utf8"} $output, {binmode => ":utf8"}
) )
) )
{ {
@@ -90,7 +92,7 @@ Add the handler:
sub startup { sub startup {
... ...
my $tt = MojoX::Renderer::TT->new( my $tt = MojoX::Renderer::TT->build(
mojo => $self, mojo => $self,
template_options => template_options =>
{ PROCESS => 'tpl/wrapper', { PROCESS => 'tpl/wrapper',
@@ -104,22 +106,23 @@ Add the handler:
And then in the handler call render which will call the And then in the handler call render which will call the
MojoX::Renderer::TT renderer. MojoX::Renderer::TT renderer.
$c->render(foo => 123, bar => [qw(giz mo)]); $c->render(templatename, format => 'tex', handler => 'tt2');
Template parameter are taken from $c->stash
=head1 METHODS =head1 METHODS
=head2 build =head2 build
This method returns a handler for the Mojo renderer. This method returns a handler for the Mojolicious renderer.
Supported parameters are Supported parameters are
=over 4 =over 4
=item mojo =item mojo
C<new> currently requires a C<mojo> parameter pointing to the base class (Mojo). C<build> currently uses a C<mojo> parameter pointing to the base class (Mojo).
object. object. When used the INCLUDE_PATH will be set to
=item template_options =item template_options
@@ -135,7 +138,6 @@ Ask Bjørn Hansen, C<< <ask at develooper.com> >>
=head1 TODO =head1 TODO
* Better support non-Mojolicious frameworks * Better support non-Mojolicious frameworks
* Don't require the mojo parameter
* Move the default template cache directory? * Move the default template cache directory?
* Better way to pass parameters to the templates? (stash) * Better way to pass parameters to the templates? (stash)
* More sophisticated default search path? * More sophisticated default search path?
+1 -1
View File
@@ -1,4 +1,4 @@
#!perl -T #!perl
use Test::More tests => 1; use Test::More tests => 1;
+20 -4
View File
@@ -3,21 +3,37 @@
use strict; use strict;
use warnings; use warnings;
use Test::More tests => 5; use Test::More tests => 6;
use Mojo::Transaction; use Mojolicious;
use Mojolicious::Controller;
use MojoX::Renderer;
use_ok('MojoX::Renderer::TT'); use_ok('MojoX::Renderer::TT');
my $c = Mojolicious::Controller->new(app => Mojolicious->new);
$c->app->log->path(undef);
$c->app->log->level('fatal');
my $mt = MojoX::Renderer::TT->build; my $mt = MojoX::Renderer::TT->build;
my $output; my $output;
my $rv; my $rv;
$rv = $mt->(undef, { path => 't/render/template.tt2', output => \$output }); $c->stash->{template_path} = 't/render/template.tt2';
$rv = $mt->(undef, $c, \$output);
is($rv, 1); is($rv, 1);
is($output, "4\n"); is($output, "4\n");
$rv = $mt->(undef, { path => 't/render/template-error.tt2', output => \$output }); $c->stash->{template_path} = 't/render/error.tt2';
$rv = $mt->(undef, $c, \$output);
is($rv, 0); is($rv, 0);
ok($output); ok($output);
delete $c->stash->{template_path};
$c->app->renderer->root('./')->add_handler(tt2 => $mt);
is($c->render('t/render/template','partial' => 1,handler => 'tt2'),"4\n");
+1
View File
@@ -0,0 +1 @@
[% 2 + 2 %]