Because the world needs another templating system
Perl
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
examples
lib/Template
t
xt/release
AUTHOR_PLEDGE
CONTRIBUTORS
Changes
INSTALL
LICENSE
MANIFEST
MANIFEST.SKIP
META.json
META.yml
Makefile.PL
README.mkdn
SIGNATURE
cpanfile
doap.xml

README.mkdn

NAME

Template::Caribou - class-based HTML-centric templating system

VERSION

version 1.2.1

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 used 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 endorse

COPYRIGHT AND LICENSE

This software is copyright (c) 2017 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.