NAME
Statocles::Site - An entire, configured website
VERSION
version 0.025
SYNOPSIS
my $site = Statocles::Site->new(
title => 'My Site',
nav => [
{ title => 'Home', href => '/' },
{ title => 'Blog', href => '/blog' },
],
apps => {
blog => Statocles::App::Blog->new( ... ),
},
);
$site->deploy;
DESCRIPTION
A Statocles::Site is a collection of applications.
ATTRIBUTES
title
The site title, used in templates.
base_url
The base URL of the site, including protocol and domain. Used mostly for feeds.
apps
The applications in this site. Each application has a name that can be used later.
index
The application to use as the site index. The application's individual index() method will be called to get the index page.
nav
Named navigation lists. A hash of arrays of hashes with the following keys:
title - The title of the link
href - The href of the link
The most likely name for your navigation will be main
. Navigation names are defined by your theme. For example:
{
main => [
{
title => 'Blog',
href => '/blog/index.html',
},
{
title => 'Contact',
href => '/contact.html',
},
],
}
build_store
The store object to use for build()
.
deploy_store
The store object to use for deploy()
. Defaults to build_store.
METHODS
app( name )
Get the app with the given name
.
build
Build the site in its build location
deploy
Write each application to its destination.
write( store )
Write the application to the given store.
url( path )
Get the full URL to the given path by prepending the base_url
.
AUTHOR
Doug Bell <preaction@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2014 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.