=head1 LICENSE
This library is free software. You can redistribute it and/or modify
it under the same terms as perl itself.
=cut
1;
__DATA__
__compclass__
package [% class %];
use strict;
use base 'Catalyst::View::TT';
__PACKAGE__->config({
INCLUDE_PATH => [
[% app %]->path_to( 'root', 'src' ),
[% app %]->path_to( 'root', 'lib' )
],
PRE_PROCESS => 'config/main',
WRAPPER => 'site/wrapper',
ERROR => 'error.tt2',
TIMER => 0,
render_die => 1,
});
=head1 NAME
[% class %] - Catalyst TTSite View
=head1 SYNOPSIS
See L<[% app %]>
=head1 DESCRIPTION
Catalyst TTSite View.
=head1 AUTHOR
[% author %]
=head1 LICENSE
This library is free software. You can redistribute it and/or modify
it under the same terms as Perl itself.
=cut
1;
__config_main__
[% USE Date;
year = Date.format(Date.now, '%Y');
-%]
[% TAGS star -%]
[% # config/main
#
# This is the main configuration template which is processed before
# any other page, by virtue of it being defined as a PRE_PROCESS
# template. This is the place to define any extra template variables,
# macros, load plugins, and perform any other template setup.
IF Catalyst.debug;
# define a debug() macro directed to Catalyst's log
MACRO debug(message) CALL Catalyst.log.debug(message);
END;
# define a data structure to hold sitewide data
site = {
title => 'Catalyst::View::TTSite Example Page',
copyright => '[* year *] Your Name Here',
};
# load up any other configuration items
PROCESS config/col
+ config/url;
# set defaults for variables, etc.
DEFAULT
message = 'There is no message';
-%]
__config_col__
[% TAGS star -%]
[% site.rgb = {
black = '#000000'
white = '#ffffff'
grey1 = '#46494c'
grey2 = '#c6c9cc'
grey3 = '#e3e6ea'
red = '#CC4444'
green = '#66AA66'
blue = '#89b8df'
orange = '#f08900'
};
site.col = {
page = site.rgb.white
text = site.rgb.grey1
head = site.rgb.grey3
line = site.rgb.orange
message = site.rgb.green
error = site.rgb.red
};
-%]
__config_url__
[% TAGS star -%]
[% base = Catalyst.req.base;
site.url = {
base = base
home = "${base}welcome"
message = "${base}message"
}
-%]
__site_wrapper__
[% TAGS star -%]
[% IF template.name.match('\.(css|js|txt)');
debug("Passing page through as text: $template.name");
content;
ELSE;
debug("Applying HTML page layout wrappers to $template.name\n");
content WRAPPER site/html + site/layout;
END;
-%]
__site_html__
[% TAGS star -%]
[% template.title or site.title %]
[% content %]
__site_layout__
[% TAGS star -%]
[% content %]
__site_header__
[% TAGS star -%]
[% template.title or site.title %]
__site_footer__
[% TAGS star -%]
© [% site.copyright %]
__welcome.tt2__
[% TAGS star -%]
[% META title = 'Catalyst/TT View!' %]
Yay! You're looking at a page generated by the Catalyst::View::TT
plugin module.
This is the welcome page. Why not try the equally-exciting
Message Page?
__message.tt2__
[% TAGS star -%]
[% META title = 'Catalyst/TT View!' %]
Yay! You're looking at a page generated by the Catalyst::View::TT
plugin module.
We have a message for you: [% message %].
Why not try updating the message? Go on, it's really exciting, honest!
__error.tt2__
[% TAGS star -%]
[% META title = 'Catalyst/TT Error' %]
An error has occurred. We're terribly sorry about that, but it's
one of those things that happens from time to time. Let's just
hope the developers test everything properly before release...
Here's the error message, on the off-chance that it means something
to you: [% error %]
__ttsite.css__
[% TAGS star %]
html {
height: 100%;
}
body {
background-color: [% site.col.page %];
color: [% site.col.text %];
margin: 0px;
padding: 0px;
height: 100%;
}
#header {
background-color: [% site.col.head %];
border-bottom: 1px solid [% site.col.line %];
}
#footer {
background-color: [% site.col.head %];
text-align: center;
border-top: 1px solid [% site.col.line %];
position: absolute;
bottom: 0;
left: 0px;
width: 100%;
padding: 4px;
}
#content {
padding: 10px;
}
h1.title {
padding: 4px;
margin: 0px;
}
.message {
color: [% site.col.message %];
}
.error {
color: [% site.col.error %];
}