Release v0.056


Some minor features and bugfixes in this release:

  • Themes will no longer deploy their template files with the rest of the site. This protects your templates from being read or stolen.

  • The Blog application tag descriptions (tag_text) is now processed as Markdown, so your tag pages can have links, headers, and other stuff.

  • There is a new guide to resolving error messages. It's only got some config-related errors right now, but it will grow as time goes on.

  • Related to that, configuration errors are now detected and possible resolutions suggested. A new version of Beam::Wire makes it easier to detect when the config file has a problem with parsing.

  • Finally, links to internal parts of Perldoc files (like L<My::Module/SECTION> are now fixed.

Full changelog below...

Continue reading Release v0.056...

Release v0.055


We're in the run up to v1.0, the first stable release. As a result, there were quite a few deprecations in this release, and a lot of new features.

Breaking Changes

  • The Perldoc app now creates folders instead of files for the POD. This means the link to My::Module will now be /My/Module and not /My/Module.html.

    This is being done outside a deprecation policy in the hope that nobody's started using the app extensively enough to be hurt. Having both sets of pages (.html and non-.html) was deemed too much for a non-stable release. If something like this happens after v1.0, we will build both sets of pages (with a switch to turn off the old set).


  • The Static app and Plain app are both deprecated in favor of the new Basic app. The Basic app has all the functionality of both the Static and Plain apps.

    Using either the Static or Plain apps will give a warning. To fix this warning, change the app's class to Statocles::App::Basic. See Statocles::Help::Upgrading for details.

  • The File store is now just Statocles::Store. Likely this requires no changes in your config, unless you've referenced Statocles::Store::File directly (just change it to Statocles::Store to silence the deprecation warnings).

  • The Store write_document method used to return the full path to the document written. This was confusing, as one generally does not expect a write method to return anything (unless it's a true/false value for success/failure). As of right now, you can get the document path by calling the child() method of the Store's path attribute.

New Features

  • There is a new Basic app. This application supports Markdown files and collateral images and files. It is the basic functionality of all Statocles apps.

  • The default themes now support Disqus. Disqus allows adding comments even to otherwise static websites. Until the Dynamocles project allows for a dynamic partner to Statocles sites, Disqus is an easy way to provide some user engagement.

  • If you want extra frontmatter document metadata, you can now create your own Statocles::Document sub-classes, and refer to them in your frontmatter using class: 'My::Document'.

    This enables you to add custom attributes and other such to your documents. It could also allow for non-Markdown documents, and other interesting things in the future.

  • The site creator command (statocles create) now creates a fully-ready site with skeleton content. The configuration file it creates now comes with comments to make it easier to edit.

  • Plugins can now be added to individual applications, because every app now comes with a build event. If you only want to check links on a single application, or if you want to modify the application's pages without writing an entire app subclass, this is a good way to do it.

  • When writing pre-dated entries, to be posted sometime in the future, there is now a way to test how the site will look in the future when that post is deployed.

    Using the --date option to statocles build, statocles daemon, and statocles deploy will render the site as though it was the given date. See the statocles help command for more information.

Full changelog below...

Continue reading Release v0.055...

Release v0.054


Some important v1.0 changes here.

  • All pages now have a title, which means that we can have the page title in the <title> tag for better bookmarks
  • Documents can add stylesheets and scripts, for those times when the content needs special design or interactivity. See the Document object documentation for more information.
  • Template includes are now cached, which should dramatically improve the site build times. There is still a lot to do about performance, but this was a quick change.
  • Templates can now be arbitrarily nested. Previously, the API only allowed for a single level of depth, called the "category". Now, templates are simply given a full path, and organization is up to the app developer and theme author.

Full changelog below...

Continue reading Release v0.054...

Release v0.052


In the run up to v1.000, we've added a deprecation policy.

Our first deprecation: The site's "index" property should now be a full path to a page, and not the name of an app. This lets you choose any page at all to be the site index, and removes some of the magic around choosing an index page that caused quite a few bugs. See the upgrading guide for tips on how to fix the deprecation warnings.

A couple bugfixes this release as well:

  • The Bootstrap theme now correctly loads jQuery before the Bootstrap javascript
  • A site can be built and tested without being able to deploy (if your deploy system is different from your development system).

Full changelog below...

Continue reading Release v0.052...