Statocles::Theme - Templates, headers, footers, and navigation
# Template directory layout
my $theme = Statocles::Theme->new( store => '/theme' );
my $layout = $theme->template( qw( site include layout.html ) );
my $blog_index = $theme->template( blog => 'index.html' );
my $blog_post = $theme->template( 'blog/post.html' );
# Clear out cached templates and includes
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.
The root URL for this application. Defaults to /theme.
The source store for this theme.
If the path begins with ::, will pull one of the Statocles default themes from the Statocles share directory.
An array of stores to look for includes. The "store" is added at the end of this list.
String that indicates the start of a template tag. Defaults to <%.
String that indicates the end of a template tag. Defaults to %>.
String that indicates the start of a line of template code. Defaults to %.
String that indicates an expression to be evaluated and inserted into the template. Defaults to =.
String that escapes the template directives. Defaults to %.
String that indicates a comment. Defaults to #.
Keyword that starts capturing string. Defaults to begin.
Keyword that ends capturing string. Defaults to end.
String that indicates that whitespace should be trimmed. Defaults to =.
The cached template objects for this theme.
The cached template objects for the includes.
Handle the path :: share theme.
my $tmpl = $theme->read( $path )
Read the template for the given path and create the template object.
my $tmpl = $theme->build_template( $path, $content )
Build a new Statocles::Template object with the given path and content.
my $tmpl = $theme->template( $path )
my $tmpl = $theme->template( @path_parts )
Get the template at the given path, or with the given path_parts.
my $tmpl = $theme->include( $path );
my $tmpl = $theme->include( @path_parts );
Get the desired template to include based on the given path or path_parts. Looks through all the include_stores before looking in the main store.
$theme->helper( $name, $sub );
Register a helper on this theme. Helpers are functions that are added to the template to allow for additional features. Helpers are usually added by Statocles plugins.
There are a default set of helpers available to all templates which cannot be overridden by this method.
Clear out the cached templates and includes. Used by the daemon when it detects a change to the theme files.
Templates, files that end in .ep, will not be deployed with the rest of the site.
Doug Bell <firstname.lastname@example.org>
This software is copyright (c) 2016 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.
To install Statocles, copy and paste the appropriate command in to your terminal.
perl -MCPAN -e shell
For more information on module installation, please visit the detailed CPAN module installation guide.