NAME

Statocles::Theme - Templates, headers, footers, and navigation

VERSION

version 0.051

SYNOPSIS

    # Template directory layout
    /theme/site/layout.html.ep
    /theme/blog/index.html.ep
    /theme/blog/post.html.ep

    my $theme      = Statocles::Theme->new( store => '/theme' );
    my $layout     = $theme->template( site => 'layout.html' );
    my $blog_index = $theme->template( blog => 'index.html' );
    my $blog_post  = $theme->template( blog => 'post.html' );

DESCRIPTION

A Theme contains all the templates that applications need. This class handles finding and parsing files into template objects.

When the "store" is read, the templates inside are organized based on their name and their parent directory.

ATTRIBUTES

store

The source store for this theme.

If the path begins with ::, will pull one of the Statocles default themes from the Statocles share directory.

include_stores

An array of stores to look for includes. The "store" is added at the end of this list.

_templates

The cached template objects for this theme.

METHODS

BUILDARGS

Handle the path :: share theme.

read( $section => $name )

Read the template for the given section and name and create the template object.

build_template( $path, $content )

Build a new Statocles::Template object with the given path and content.

template( $section => $name )

Get the template from the given section with the given name.

SEE ALSO

Statocles::Help::Theme
Statocles::Template

AUTHOR

Doug Bell <preaction@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2015 by Doug Bell.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.