Release v0.036


A couple fixes and a couple breaking changes in this release:

The biggest fix is that now we check for ignored files or submodule files before trying to deploy to a Git repository. This should fix a lot of issues with deploying.

All pages now have a last_modified field, which has an appropriate default. Also, all the default includes are now templates, so you can use template variables inside them. This breaks all existing themes, so make sure to re-bundle your theme with statocles bundle theme.

Some getting started information was added to the Theme guide. In short, the best way to make your own theme is to start from one of the existing themes.

Finally, the static app now works correctly when it is not at the root of the site.

Full changelog below.

Continue reading Release v0.036...

Release v0.035


Almost ready for the beta announcement now! Only a few issues remain before we can announce beta.

Content is now always processed through the template parser. This lets us have includes in the content, so we can have widget templates or plugins that generate related posts for example. This is a new feature, so I'm excited to see what can be done with it.

There was some cleanup on the URLs we generate: Directories are being preferred to files, so that the URLs are a bit easier to read. /blog/page-2.html is now /blog/page/2, and /blog/tag/mytag/page-2.html is now /blog/tag/mytag/page/2

A new help file was added, all about deploying Statocles. As part of that, a lot of defaults were updated to be more intuitive: The build directory gets automatically created, and the default build directory is set to .statocles-build.

A bunch of things were fixed for Windows development, along with a nasty platform difference in strftime().

The bundle theme command is now actually useful and allows you to specify where you want the theme to be copied. So now, if you want to customize the default theme, you can statocles bundle theme default mytheme to copy the default theme to the mytheme directory.

Full changelog below

Continue reading Release v0.035...

Release v0.034


Lots of breaking changes in this release, in our ramp-up to the beta announcement.

The biggest change in this release is the new Deploy object. The deploy object handles deploying the site to a folder or a Git repository. Future possibilities include rsync or FTP, or any command at all.

NOTE: This change breaks your site.yml file, so please read the config help file to fix it.

Some major theme changes were also added, and a new default theme (using the Skeleton CSS library) was added, removing the need for Bootstrap (too big) from a CDN.

The theme is now always deployed with the site, always taking the /theme URL path. This allows you to add extra files, CSS, JavaScript, and otherwise, to your theme.

The template variables were cleaned up to remove a lot of hashrefs and arrayrefs in favor of methods and objects, giving us some type checking and cleaner template code.

There are now generic data attributes on the Site and App objects so you can add any random data you want that can then be used in the templates. Expect upcoming themes to make good use of this feature!

Full changelog continues below.

Continue reading Release v0.034...

Release v0.033


Just some minor bugfixes in this release: The --date option when making a new blog post finally works, and when writing a new post while the daemon is running, the site will be updated as expected.

Full changelog below.

Continue reading Release v0.033...

Release v0.032


Another major breaking change in this version: Theme is now an attribute of a site, not an app. The per-app theme was too much flexibility, and made it very difficult to add theme collateral like scripts, stylesheets, and images.

The robots.txt is now a template, which allows you to overwrite it with new contents. The Mac::FSEvents module, which we use to watch the filesystem on OSX, is now a prereq for OSX users.

Finally, some tests were updated with more diagnostics information, to track down some locale problems.

Full changelog below:

Continue reading Release v0.032...