Release v0.044


A few small features, and some small breaking changes in this release.

The read_document and write_document method of Statocles::Store::File now use Statocles::Document instead of plain hashrefs. It was weird to have one method (read_documents with an s) get document objects, and everything else use hashes. The important serialization/deserialization routines are in Statocles::Document, so it is likely that more changes will happen around these APIs in the future.

Because of the above change, Stores now have a way to read a document from a string. So, when a blog post is read from <STDIN>, it can contain tags, links, and other fields, instead of just content.

Some fixes to blog slugs to remove any non-word characters, and also reduce every replacement to a single dash (-), instead of having multiple dashes. This only affects new posts, not existing posts, so if you want to fix your current posts, you must fix them manually.

An upgrade to Beam::Wire now allows you to compose roles in the Statocles configuration file, so additional behavior can be added to existing applications. See the Develop Guide for more information.

Finally, the Blog app now has a recent_posts() method that can be used in templates and markdown to display the most recent posts in a blog.

Full changelog is below.