Compare commits
13 Commits
release/1.
...
release/1.
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6146b1f2f5 | ||
|
|
5116c191f3 | ||
|
|
5828f878d8 | ||
|
|
f4beaf9864 | ||
|
|
ce9e1b955e | ||
|
|
37ee2ee753 | ||
|
|
cdc31b07be | ||
|
|
57b9c39b15 | ||
|
|
194a9219e9 | ||
|
|
5505c5d82a | ||
|
|
daceb5876f | ||
|
|
54d13555ef | ||
|
|
d6d98cc533 |
19
Changes
19
Changes
@@ -1,6 +1,25 @@
|
||||
Revision history for Mojolicious::Plugin::TtRenderer
|
||||
|
||||
{{$NEXT}}
|
||||
- Set locale "C" in tests that rely on it
|
||||
|
||||
1.30 December 22, 2012
|
||||
- Don't rely on English locale in the test t/tt_plugin_lite_app.t
|
||||
|
||||
1.29 December 18, 2012
|
||||
- support multiple renderer paths
|
||||
|
||||
1.28 October 11, 2012
|
||||
- specify minimum perl version
|
||||
|
||||
1.27 October 2, 2012
|
||||
- documentation fixes and updates.
|
||||
|
||||
1.26 August 31, 2012
|
||||
- Windows compatability with Cwd::abs_path
|
||||
|
||||
1.25 August 25, 2012
|
||||
- Return 0 on not found, die on error (GH#30)
|
||||
|
||||
1.24 August 23, 2012
|
||||
- Compatibility with Mojolicious 3.33+
|
||||
|
||||
89
README.pod
Normal file
89
README.pod
Normal file
@@ -0,0 +1,89 @@
|
||||
=encoding utf-8
|
||||
|
||||
=head1 NAME
|
||||
|
||||
Mojolicious::Plugin::TtRenderer - Template Renderer Plugin
|
||||
|
||||
=head1 SYNOPSIS
|
||||
|
||||
# Mojolicious
|
||||
$self->plugin('tt_renderer');
|
||||
$self->plugin(tt_renderer => {template_options => {FILTERS => [ ... ]}});
|
||||
|
||||
# Mojolicious::Lite
|
||||
plugin 'tt_renderer';
|
||||
plugin tt_renderer => {template_options => {FILTERS => [ ... ]}};
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
L<Mojolicous::Plugin::TtRenderer> is a simple loader for
|
||||
L<Mojolicious::Plugin::TtRenderer::Engine>.
|
||||
|
||||
=head1 METHODS
|
||||
|
||||
L<Mojolicious::Plugin::TtRenderer> inherits all methods from
|
||||
L<Mojolicious::Plugin> and implements the following new ones.
|
||||
|
||||
=head2 C<register>
|
||||
|
||||
$plugin->register;
|
||||
|
||||
Register renderer in L<Mojolicious> application.
|
||||
|
||||
=head1 EXTRA STASH VARIABLES
|
||||
|
||||
The current controller instance can be accessed as C<c>.
|
||||
|
||||
[% c.req.headers.host %]
|
||||
|
||||
=head1 SEE ALSO
|
||||
|
||||
L<Mojolicious::Plugin::TtRenderer::Engine>, L<Mojolicious>, L<Mojolicious::Guides>, L<http://mojolicious.org>.
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Current maintainer: Graham Ollis C<< <plicease@cpan.org> >>
|
||||
|
||||
Original author: Ask Bjørn Hansen, C<< <ask at develooper.com> >>
|
||||
|
||||
=head1 BUGS
|
||||
|
||||
Please report any bugs or feature requests to the project's github issue tracker
|
||||
L<https://github.com/abh/mojox-renderer-tt/issues?state=open>.
|
||||
|
||||
=head1 SUPPORT
|
||||
|
||||
You can find documentation for this module with the perldoc command.
|
||||
|
||||
perldoc Mojolicious::Plugin::TtRenderer
|
||||
|
||||
You can also look for information at:
|
||||
|
||||
=over 4
|
||||
|
||||
=item * git repository
|
||||
|
||||
L<http://git.develooper.com/?p=MojoX-Renderer-TT.git;a=summary>,
|
||||
L<git://git.develooper.com/MojoX-Renderer-TT.git>
|
||||
|
||||
L<http://github.com/abh/mojox-renderer-tt/>
|
||||
|
||||
=item * CPAN Ratings
|
||||
|
||||
L<http://cpanratings.perl.org/d/MojoX-Renderer-TT>
|
||||
|
||||
=item * Search CPAN
|
||||
|
||||
L<http://search.cpan.org/dist/MojoX-Renderer-TT/>
|
||||
|
||||
=back
|
||||
|
||||
=head1 COPYRIGHT & LICENSE
|
||||
|
||||
Copyright 2008-2010 Ask Bjørn Hansen, all rights reserved.
|
||||
|
||||
Copyright 2012 Graham Ollis.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
under the same terms as Perl itself.
|
||||
|
||||
13
dist.ini
13
dist.ini
@@ -38,9 +38,20 @@ version_regexp = ^release/(.*)
|
||||
[Test::Compile]
|
||||
[HasVersionTests]
|
||||
[MetaTests]
|
||||
[ReadmeFromPod]
|
||||
|
||||
[ReadmeAnyFromPod]
|
||||
type = text
|
||||
filename = README
|
||||
location = build
|
||||
|
||||
[ReadmeAnyFromPod / ReadMePodInRoot]
|
||||
type = pod
|
||||
filename = README.pod
|
||||
location = root
|
||||
|
||||
[Manifest]
|
||||
|
||||
[NextRelease]
|
||||
format = %-7v %{MMMM d, yyyy}d
|
||||
|
||||
[MinimumPerl]
|
||||
|
||||
@@ -2,6 +2,7 @@ package Mojolicious::Plugin::TtRenderer;
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
use v5.10;
|
||||
|
||||
use base 'Mojolicious::Plugin';
|
||||
|
||||
@@ -18,11 +19,13 @@ sub register {
|
||||
$app->renderer->add_handler(tt => $tt);
|
||||
}
|
||||
|
||||
local ($Mojolicious::Plugin::TtRenderer::VERSION) = ('devel') unless defined $Mojolicious::Plugin::TtRenderer::VERSION;
|
||||
$Mojolicious::Plugin::TtRenderer::VERSION //= ('devel');
|
||||
|
||||
1;
|
||||
__END__
|
||||
|
||||
=encoding utf-8
|
||||
|
||||
=head1 NAME
|
||||
|
||||
Mojolicious::Plugin::TtRenderer - Template Renderer Plugin
|
||||
@@ -39,7 +42,8 @@ Mojolicious::Plugin::TtRenderer - Template Renderer Plugin
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
L<Mojolicous::Plugin::TtRenderer> is a simple loader for L<MojoX::Renderer::TT>.
|
||||
L<Mojolicous::Plugin::TtRenderer> is a simple loader for
|
||||
L<Mojolicious::Plugin::TtRenderer::Engine>.
|
||||
|
||||
=head1 METHODS
|
||||
|
||||
@@ -62,4 +66,51 @@ The current controller instance can be accessed as C<c>.
|
||||
|
||||
L<Mojolicious::Plugin::TtRenderer::Engine>, L<Mojolicious>, L<Mojolicious::Guides>, L<http://mojolicious.org>.
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Current maintainer: Graham Ollis C<< <plicease@cpan.org> >>
|
||||
|
||||
Original author: Ask Bjørn Hansen, C<< <ask at develooper.com> >>
|
||||
|
||||
=head1 BUGS
|
||||
|
||||
Please report any bugs or feature requests to the project's github issue tracker
|
||||
L<https://github.com/abh/mojox-renderer-tt/issues?state=open>.
|
||||
|
||||
=head1 SUPPORT
|
||||
|
||||
You can find documentation for this module with the perldoc command.
|
||||
|
||||
perldoc Mojolicious::Plugin::TtRenderer
|
||||
|
||||
You can also look for information at:
|
||||
|
||||
=over 4
|
||||
|
||||
=item * git repository
|
||||
|
||||
L<http://git.develooper.com/?p=MojoX-Renderer-TT.git;a=summary>,
|
||||
L<git://git.develooper.com/MojoX-Renderer-TT.git>
|
||||
|
||||
L<http://github.com/abh/mojox-renderer-tt/>
|
||||
|
||||
=item * CPAN Ratings
|
||||
|
||||
L<http://cpanratings.perl.org/d/MojoX-Renderer-TT>
|
||||
|
||||
=item * Search CPAN
|
||||
|
||||
L<http://search.cpan.org/dist/MojoX-Renderer-TT/>
|
||||
|
||||
=back
|
||||
|
||||
=head1 COPYRIGHT & LICENSE
|
||||
|
||||
Copyright 2008-2010 Ask Bjørn Hansen, all rights reserved.
|
||||
|
||||
Copyright 2012 Graham Ollis.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
under the same terms as Perl itself.
|
||||
|
||||
=cut
|
||||
|
||||
@@ -40,9 +40,11 @@ sub _init {
|
||||
# TODO
|
||||
# take and process options :-)
|
||||
|
||||
my @renderer_paths = $app ? map { abs_path($_) } grep { -d $_ } @{ $app->renderer->paths } : ();
|
||||
|
||||
my %config = (
|
||||
( $app
|
||||
? (INCLUDE_PATH => (join ":", map { abs_path($_) } @{$app->renderer->paths}))
|
||||
( @renderer_paths > 0
|
||||
? (INCLUDE_PATH => [@renderer_paths, 'templates'])
|
||||
: ()
|
||||
),
|
||||
COMPILE_EXT => '.ttc',
|
||||
@@ -155,7 +157,11 @@ sub ctx { @_ > 1 ? $_[0]->{ctx} = $_[1] : $_[0]->{ctx} }
|
||||
sub options { @_ > 1 ? $_[0]->{options} = $_[1] : $_[0]->{options} }
|
||||
sub not_found { @_ > 1 ? $_[0]->{not_found} = $_[1] : $_[0]->{not_found} }
|
||||
|
||||
sub _template_modified {1}
|
||||
sub _template_modified {
|
||||
my($self, $template) = @_;
|
||||
return 1 if $self->SUPER::_template_modified($template);
|
||||
return $template =~ /^templates(?:\/|\\)/;
|
||||
}
|
||||
|
||||
sub _template_content {
|
||||
my $self = shift;
|
||||
@@ -279,7 +285,9 @@ templates. Will default to a temp-dir if not set.
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Ask Bjørn Hansen, C<< <ask at develooper.com> >>
|
||||
Current maintainer: Graham Ollis C<< <plicease@cpan.org> >>
|
||||
|
||||
Original author: Ask Bjørn Hansen, C<< <ask at develooper.com> >>
|
||||
|
||||
=head1 TODO
|
||||
|
||||
@@ -289,11 +297,8 @@ Ask Bjørn Hansen, C<< <ask at develooper.com> >>
|
||||
|
||||
=head1 BUGS
|
||||
|
||||
Please report any bugs or feature requests to C<bug-mojox-renderer-tt at rt.cpan.org>,
|
||||
or through the web interface at
|
||||
L<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=MojoX-Renderer-TT>. I will be
|
||||
notified, and then you'll automatically be notified of progress on your bug as I
|
||||
make changes.
|
||||
Please report any bugs or feature requests to the project's github issue tracker
|
||||
L<https://github.com/abh/mojox-renderer-tt/issues?state=open>.
|
||||
|
||||
=head1 SUPPORT
|
||||
|
||||
@@ -312,10 +317,6 @@ L<git://git.develooper.com/MojoX-Renderer-TT.git>
|
||||
|
||||
L<http://github.com/abh/mojox-renderer-tt/>
|
||||
|
||||
=item * RT: CPAN's request tracker
|
||||
|
||||
L<http://rt.cpan.org/NoAuth/Bugs.html?Dist=MojoX-Renderer-TT>
|
||||
|
||||
=item * CPAN Ratings
|
||||
|
||||
L<http://cpanratings.perl.org/d/MojoX-Renderer-TT>
|
||||
@@ -326,13 +327,12 @@ L<http://search.cpan.org/dist/MojoX-Renderer-TT/>
|
||||
|
||||
=back
|
||||
|
||||
=head1 ACKNOWLEDGEMENTS
|
||||
|
||||
|
||||
=head1 COPYRIGHT & LICENSE
|
||||
|
||||
Copyright 2008-2010 Ask Bjørn Hansen, all rights reserved.
|
||||
|
||||
Copyright 2012 Graham Ollis.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
under the same terms as Perl itself.
|
||||
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
#!perl
|
||||
|
||||
use Test::More tests => 1;
|
||||
use Test::More tests => 2;
|
||||
|
||||
BEGIN {
|
||||
use_ok( 'Mojolicious::Plugin::TtRenderer' );
|
||||
use_ok( 'Mojolicious::Plugin::TtRenderer::Engine' );
|
||||
}
|
||||
|
||||
|
||||
30
t/multiple_paths.t
Normal file
30
t/multiple_paths.t
Normal file
@@ -0,0 +1,30 @@
|
||||
#!/usr/bin/env perl
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
BEGIN { $ENV{MOJO_MODE}='testing'; };
|
||||
|
||||
use utf8;
|
||||
|
||||
use Test::More tests => 6;
|
||||
|
||||
use Mojolicious::Lite;
|
||||
use Test::Mojo;
|
||||
|
||||
# Silence
|
||||
app->log->level('fatal');
|
||||
|
||||
my @paths = map { app->home->rel_dir($_) } "templates/multiple_first", "templates/multiple_second";
|
||||
app->renderer->paths([@paths]);
|
||||
|
||||
plugin 'TtRenderer';
|
||||
|
||||
get '/first' => 'first';
|
||||
get '/second' => 'second';
|
||||
|
||||
my $t = Test::Mojo->new;
|
||||
|
||||
$t->get_ok('/first')->status_is(200)->content_like(qr/First/);
|
||||
$t->get_ok('/second')->status_is(200)->content_like(qr/Second/);
|
||||
|
||||
1
t/templates/multiple_first/first.html.tt
Normal file
1
t/templates/multiple_first/first.html.tt
Normal file
@@ -0,0 +1 @@
|
||||
First
|
||||
1
t/templates/multiple_second/first.html.tt
Normal file
1
t/templates/multiple_second/first.html.tt
Normal file
@@ -0,0 +1 @@
|
||||
Second
|
||||
1
t/templates/multiple_second/second.html.tt
Normal file
1
t/templates/multiple_second/second.html.tt
Normal file
@@ -0,0 +1 @@
|
||||
Second
|
||||
@@ -5,6 +5,18 @@
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
BEGIN {
|
||||
#use if $^O ne 'MSWin32', POSIX => qw/setlocale LC_ALL/;
|
||||
#setlocale(&LC_ALL, 'C') if $^O ne 'MSWin32';
|
||||
unless($^O eq 'MSWin32') {
|
||||
eval q{
|
||||
use POSIX qw( setlocale LC_ALL );
|
||||
setlocale(LC_ALL, 'C');
|
||||
};
|
||||
warn $@ if $@;
|
||||
}
|
||||
}
|
||||
|
||||
use File::Temp;
|
||||
use Mojo::IOLoop;
|
||||
use Test::More;
|
||||
@@ -41,7 +53,7 @@ my $t = Test::Mojo->new;
|
||||
# Simple TT template
|
||||
$t->get_ok('/')->status_is(200)
|
||||
->content_like(qr/test123456/);
|
||||
$t->get_ok('/blow')->status_is(500)->content_like(qr/file error - doesnotexist.tt: No such file or directory/);
|
||||
$t->get_ok('/blow')->status_is(500)->content_like(qr/file error - doesnotexist\.tt: No such file or directory/);
|
||||
|
||||
if(eval q{ use Devel::Cycle; 1 })
|
||||
{
|
||||
@@ -56,4 +68,4 @@ if(eval q{ use Devel::Cycle; 1 })
|
||||
fail('Cycle found')
|
||||
}
|
||||
});
|
||||
};
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user