NAME
Template::Caribou - class-based HTML-centric templating system
VERSION
version 1.2.2
SYNOPSIS
package MyTemplate;
use Template::Caribou;
use Template::Caribou::Tags::HTML qw/ :all /;
has name => ( is => 'ro' );
template page => sub {
my $self = shift;
html {
head {
title { 'Example' }
};
$self->my_body;
}
};
template my_body => sub {
my $self = shift;
body {
h1 { 'howdie ' . $self->name }
}
};
package main;
my $template = MyTemplate->new( name => 'Yanick' );
print $template->page;
DESCRIPTION
WARNING: Codebase is alpha with extreme prejudice. Assume that bugs are teeming and that the API is subject to change.
Template::Caribou is a Moose-based, class-centric templating system mostly aimed at producing sgml-like outputs, mostly HTML, but also XML, SVG, etc. It is heavily inspired by Template::Declare.
For a manual on how to use Template::Caribou
, have a peek at Template::Caribou::Manual.
When use
d within a namespace, Template::Caribou
will apply the role Template::Caribou::Role to it (and auto-turn the namespace into Moose class if it wasn't a Moose class or role already), as well as import the keywords template
and attr
(the latter from Template::Caribou::Tags), as well as load Template::Caribou::Utils.
AUTHOR
Yanick Champoux <yanick@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2023 by Yanick Champoux.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.