Serif version 0.5 released

I’m pleased to announce version 0.5 of Serif. (Note that this release
contains a change likely to break your pages. See below.)


Serif is a blogging system powered by markdown files and an optional
admin interface complete with drag-and-drop image uploading.

Project homepage: GitHub - aprescott/serif: Serif is a static site generator and blogging system powered by markdown files.
Issues: Issues · aprescott/serif · GitHub
Rubygems page: serif | | your community gem host
Group/mailing list: Redirecting to Google Groups
IRC: irc://

For more information, see the README:

Changes in version 0.5

The main change with this release is that generating a site will cause
errors whenever more than one post or draft would generate to the same
URL. You can see more about this at
Post URLs may conflict by aprescott · Pull Request #47 · aprescott/serif · GitHub .

This release contains a breaking change: page.title in templates is
now a single string value, instead of an array of strings. If you were
previously using this in your templates:

{{ page.title | join: " - " }}

you should replace this with:

{{ page.title }}

page.title was previously a single-element array on all pages except
for individual posts, when it was

[ "Posts", post.title ]

For such pages, it is now simply post.title. If you were relying on
the value of “Posts” being present in page.title for post pages, you
should instead use the new post_page template variables. See:


  • Site generation will be blocked if any two posts or drafts lead to
    the same URL. (#47)
  • Bookmark links are generated with JavaScript instead of trying to
    detect Rack environment variables, which is buggy with some SSL
    configurations. (#52)
  • page.title is now a single value, instead of being an array. (#45)
  • post_page flag added for use in templates. Set to true when
    generating a post. (#45)
  • Better README documentation for headers and per-post permalinks. (#46)
  • serif with no arguments or -h or --help will now show usage.