Statocles::Site - An entire, configured website
version 0.031
my $site = Statocles::Site->new( title => 'My Site', nav => [ { title => 'Home', href => '/' }, { title => 'Blog', href => '/blog' }, ], apps => { blog => Statocles::App::Blog->new( ... ), }, ); $site->deploy;
A Statocles::Site is a collection of applications.
The site title, used in templates.
The base URL of the site, including protocol and domain. Used mostly for feeds.
The applications in this site. Each application has a name that can be used later.
The application to use as the site index. The application's individual index() method will be called to get the index page.
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
{ main => [ { title => 'Blog', href => '/blog/index.html', }, { title => 'Contact', href => '/contact.html', }, ], }
The store object to use for build(). This is a workspace and will be rebuilt often, using the build and daemon commands. This is also the store the daemon command reads to serve the site.
build()
build
daemon
The store object to use for deploy(). Defaults to build_store. This is intended to be the production deployment of the site. A build gets promoted to production by using the deploy command.
deploy()
deploy
A Mojo::Log object to write logs to. Defaults to STDERR.
Register this site as the global site.
Get the app with the given name.
name
Build the site in its build location
Write each application to its destination.
Write the application to the given store.
Get the full URL to the given path by prepending the base_url.
base_url
Doug Bell <preaction@cpan.org>
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.
To install Statocles, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Statocles
CPAN shell
perl -MCPAN -e shell install Statocles
For more information on module installation, please visit the detailed CPAN module installation guide.