| Catalyst-View-Jemplate documentation | view source | Contained in the Catalyst-View-Jemplate distribution. |
Catalyst::View::Jemplate - Jemplate files server
package MyApp::View::Jemplate;
use base qw( Catalyst::View::Jemplate );
package MyApp;
MyApp->config(
'View::Jemplate' => {
jemplate_dir => MyApp->path_to('root', 'jemplate'),
jemplate_ext => '.tt',
},
);
sub jemplate : Global {
my($self, $c) = @_;
$c->forward('View::Jemplate');
}
# To specify which files you want to include
sub select : Global {
my($self, $c) = @_;
$c->stash->{jemplate} = {
files => [ 'foo.tt', 'bar.tt' ]
}
}
# To serve Jemplate rutime
sub runtime : Path('Jemplate.js') {
my($self, $c) = @_;
$c->stash->{jemplate} = {
runtime => 1,
files => [], # runtime only
}
}
# To use caching
use Catalyst qw(
...
Cache
);
MyApp->config(
cache => {
backends => {
jemplate => {
# Your cache backend of choice
store => "FastMmap",
}
}
}
);
Catalyst::View::Jemplate is a Catalyst View plugin to automatically compile TT files into JavaScript, using ingy's Jemplate.
Instead of creating the compiled javascript files by-hand, you can include the file via Catalyst app like:
<script src="js/Jemplate.js" type="text/javascript"></script> <script src="/jemplate/all.js" type="text/javascript"></script>
When Catalyst::Plugin::Cache is enabled, this plugin make uses of it to cache the compiled output and serve files.
jemplate_dir is compiled
into a single JavaScript file and served. Probably we need a path
option to limit the directory.
| Catalyst-View-Jemplate documentation | view source | Contained in the Catalyst-View-Jemplate distribution. |