A few new features and a bunch of bugfixes in this release.
Page objects now have a generic "data" attribute. This allows adding miscellaneous
extra information to the Page, which is then available to the template.
Using this, the Perldoc app now has a crumbtrail
and a link to the module source, and the blog app can
now have introductory text for the tags that show up on the tag page.
There were some changes to the default theme to make extending it a bit easier.
- The navbar has a default background color, so putting a background color on
body is less surprising.
- The grid columns are centered in their margin, so adding a background color
to the columns looks better.
Finally, a document is now allowed to override its
template and layout. The document page uses
the document template to override the template provided by the app.
Because of this, we can now allow extra pages in blog posts. Just put the extra page
inside the blog post's directory.
Full changelog below...
Continue reading Release v0.046...
A couple small changes in this release:
Blog posts are now allowed to have images inside the post directory. This makes
it a lot easier to add images to blogs. You don't need to configure a global
/images
directory. You can put your image in /blog/YYYY/MM/DD/post-title
.
Even better, you get to refer to it in your post as ![](image.jpg)
.
The link check plugin now correctly finds
links the URL encoded characters.
The recent posts helper now allows filtering by tag, if, for example, you want to
display only the last release
blog and not any other blog post.
statocles daemon
now allows setting -p <port>
, in case port 3000 is in-use, or
you need to run multiple instances.
Full changelog below:
Continue reading Release v0.045...
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.
Continue reading Release v0.044...
A couple interesting changes this week!
There was a case where two apps could produce pages with the same path. Now, this
produces a warning, and there's an attempt to do the right thing by making pages
generated by apps more important than files simply being copied.
The url_root
attribute was moved to the Statocles::App class, so that all
apps have it. This will prevent an app forgetting to add it. In order to make
this work, some new methods were added to the Statocles::App class to build
URLs and links with the right URL root.
It's now a lot easier to use a default Theme and still get some minor
customizations by specifying one or more include directories. See the
Statocles Theme guide for more information.
A single Git repository can now have any number of site deploys inside. Just make
sure the path is somewhere in the Git repository's working tree.
With Moo 2 coming out, Moo::Lax is not needed, so we've changed our dependency to
Moo 2.
Full changelog below:
Continue reading Release v0.043...
A slow week, but some needed features:
The LinkCheck plugin now supports an ignore
attribute, in case there are
links that aren't managed by Statocles (like having Github project links in a
Github user/organization site).
A new before_build_write
event was added to the Site object, so that plugins
can edit pages after the App creates them, and even add pages to the site.
The Site object now has full control over the Markdown object that turns
Markdown into HTML, which lets you use the other attributes of
Text::Markdown, or even use
Text::MultiMarkdown or any
object that exposes a markdown
method.
Full changelog below:
Continue reading Release v0.042...