I'm happy to announce the release of Blogofile 0.8b1 and blogofile_blog 0.8b1.

Why a beta release?

It's been a long time since the last Blogofile release.
I've moved the work that Ryan started forward to make the core static site
builder "pluggable",
and move an example blog engine into a plugin.
There is certainly more work to do, but the codebase is stable,
and in pretty good shape now.
It builds the this site,
my personal site (douglatornell.ca),
and several other people's sites and blogs.
So, a release is in order.
Doing a beta release is an opportunity to make sure that the packaging
is correct.
There are still some minor issues to clean up (see the 0.8 milestone
in the GitHub issue trackers).
There is also lots of updating to do in the docs.

And, finally, there is the issue of migrating sites from 0.7.x to 0.8.
Several people have offered to help figure out and document that process
and I'm calling for that help now.
At this point I honestly don't know what the best strategy for that
migration is - a recipe in the docs, a helper script, ...
If you are using Blogofile 0.7 or 0.7.1 please try out 0.8b1 and
tell the community how you migrated your site.
You can leave a comment on this post,
the mailing list,
or you can clone the GitHub repo,
add to the Migrating Sites from 0.7.x to 0.8 section of the docs,
or add a migration helper script to the converters/ directory,
and send a pull request.

What's New

Blogofile is now the static site builder that has always been at
the core of the Blogofile project.
blogofile_blog is a Blogofile plugin that provides templates,
controllers,
and filters
(and even some sample posts)
to use Blogofile to create a simple HTML5Boilerplate based blog.

I realized in the run-up to this release that import dependencies
between Blogofile and blogofile_blog make the installation
steps less straight forward than I had hoped.
For now:

pip install Blogofile
pip install blogofile_blog

in that order (or your favourite easy_install or pythonsetup.py incantations) are what's needed.
I'm hoping that the installation story can be improved,
perhaps with the help of the stevedore library,
but I didn't want to delay this release any longer to explore that.

The documentation source files have been moved into the project
repository.
They are built and rendered at http://docs.blogofile.com/ thanks to
the readthedocs.org service.

The init sub-command syntax and functionality have changed; see
blogofilehelpinit.

The configuration system has been refactored.
The default configuration settings are now in the default_config.py
module.

As a result of the refactoring of the initialization function,
and the configuration system,
the site_init directory has been eliminated.

The codebase has been unified for Python 2.6, 2.7 and 3.2
(no 2to3 or 3to2 conversion required).

The command line completion feature has been removed so as to avoid
maintaining a bundled version of the argparse library
(included in the standard library for Python 2.7 and
3.2+).
It will be installed by setup.py from PyPI for Python 2.6.

See CHANGES.txt in the repos for more details on bug fixes, etc.

Breaking Changes

If you've been using the Blogofile plugins branch and the
blogofile_blog repo from GitHub but haven't updated in a while you
should take note of the following:

In the past the functions in blogofile.util were available
in templates in both the bf.util and the bf.config.util namespaces.
The latter no longer works.
If you want to use a blogofile.util function in a template,
use bf.util;
e.g. bf.util.site_path_helper.

The constructor argument for blogofile.plugin.PluginTools is now the
plugin module,
rather than its name.
This change only affects people who have developed their own plugins.
See blogofile_blog.__init__.py for an example of how
blogofile.plugin.PluginTools is now instantiated.

Into the Future

I had a long list of hopes and goals when I became the maintainer of
Blogofile a few months ago.
I've accomplished some of them in this release,
but there is more work I want to do,
and more ideas I want to explore.

Part of that is the idea that there can be an ecosystem of plugins around
the Blogofile core that allow users to add features, themes, etc. to their
blogs,
and allow Blogofile to be used to build other kinds of sites.
In that context,
blogofile_blog is the reference plugin implementation for developers.
But for that to really work the plugin API needs to be well defined,
and well documented.
That's not the case now.
The API is still definitely subject to change,
and documentation of it has barely begun.
Getting that all whipped into shape is one of the goals for the next release.

There are also feature suggestions, requests, and even some fully
developed patches in the issue trackers on GitHub.
For example:

When using blogofileserve, add automatic site re-compilation
when a source file changes instead of having to stop the server,
build, and restart the server.

Develop a better syntax highlighter for posts that use reStructuredText markup.

Add more conversion scripts from other blog platforms.

I had to set those aside in order to get 0.8 to a release.
I hope that some of those enhancements will mature and be released in
the coming months.

I'd like to thank Ryan for creating blogofile,
and for his support of my efforts to move blogofile forward.
Thanks also to the many members of the community who have contributed
bug reports, pull requests, and discussion and answers on the mailing list.

]]>Blogofile 0.7.1 releasedhttp://www.blogofile.com/blog/2011/02/19/blogofile-0.7.1-released
Sat, 19 Feb 2011 23:18:00 ESThttp://www.blogofile.com/blog/2011/02/19/blogofile-0.7.1-releasedBlogofile 0.7.1 releasedI've been bad about updating this blog, while most of the discussion
is happening on the mailing
list.

So, for anyone that has this blog in their feeds and was expecting
timely updates.. sorry.

The Blogofile 0.7 series is fresh and feature-full. The
documentation is up to date.

]]>Blogofile 0.6 releasedhttp://www.blogofile.com/blog/2010/03/30/blogofile-0.6-released
Tue, 30 Mar 2010 20:57:00 EDThttp://www.blogofile.com/blog/2010/03/30/blogofile-0.6-releasedBlogofile 0.6 releasedBlogofile 0.6 is released today. If you've been following along on github, you'll have noticed that there are more commits that have not made it into a release than otherwise. This is my own fault for not adhering to the Release Early, Release Often axiom. I apologize! I hope to be better about this in the future, in fact, 0.7 (and maybe even 1.0) should be right around the corner.

That said, 0.6 is a major milestone in Blogofile development and I'm happy to see the product mature as many people have helped out on the mailing list by giving great suggestions as well as patches.

Changelog (in rough chronological order):

Posts can now have arbitrary user-defined fields.

Added Controllers, which enables users to write their own extensions to Blogofile in userspace. Blogofile no longer has any intrinsic knowledge of what a 'blog' is, this is all controlled in userspace inside a new _controllers directory.

Added Filters, which enables people to write their own text processors, for example: syntax highlighters.

Easily debuggable in Winpdb by setting the BLOGOFILE_DEBUG=t environment variable. (this is equally usable by actual Blogofile core developers, or in your own user extensions).

Non-broken unicode support throughout templates and blog posts.

Lots of unit tests.

reStructuredText support for blog posts.

Thanks again to the many supporters of Blogofile!

]]>Blogofile 0.5 releasedhttp://www.blogofile.com/blog/2009/08/30/blogofile-0.5-released
Sun, 30 Aug 2009 11:54:00 EDThttp://www.blogofile.com/blog/2009/08/30/blogofile-0.5-releasedBlogofile 0.5 releasedAs far as the commit history goes, it's been way too long since a released version of Blogofile. There has been a flurry of things happening with Blogofile over the last month, numerous people having started testing Blogofile out, suggesting new features, and even sending patches.

I really like the current Blogofile. It's running both blogofile.com and enigmacurry.com (my personal blog) quite well. But we're not done yet. Blogofile started out as a personal project so that I could build my own sites the way I wanted to, and although that has been greatly expanded so that other's could start using the app too, there's still a bit left in Blogofile that is a bit, shall we say, hard coded for the way I like to build sites. Blogofile is soon going to get an overhaul that will allow it create a much more diverse range of types of Blogs, as well as other types of sites, while still trying to keep the simple sites simple. A fine, delicate, line to walk to be sure, but I think it'll make for a better Blogofile. I'm excited to get working on these enhancements, but before we get ahead of ourselves, and seeing as the master branch is looking pretty good the way it is, it's time for a new release of Blogofile.

New, for Blogofile 0.5 (roughly in commit order):

Syntax highlighting of page templates.

New Python _config.py file replaces config.conf. This change really appeals to me, we have something that resembles Emacs style configuration rather than a Windows INI file.

init command that spits out a skeleton of a Blogofile site in the current directory, with multiple templates to choose from.

EnigmaCurry.com, my personal blog, is now powered by Blogofile. This shows that real blogs can and do run Blogofile.

]]>Blogofile 0.3http://www.blogofile.com/blog/2009/03/03/blogofile-version-0.3
Tue, 03 Mar 2009 13:09:00 ESThttp://www.blogofile.com/blog/2009/03/03/blogofile-version-0.3Blogofile 0.3I've been making a lot of changes to blogofile today. Consider blogofile to still be alpha-quality, although I think it's quite useable right now.

]]>Introducing Blogofilehttp://www.blogofile.com/blog/2009/03/02/introducing-blogofile
Mon, 02 Mar 2009 13:09:00 ESThttp://www.blogofile.com/blog/2009/03/02/introducing-blogofileIntroducing BlogofileFirst post!
This is Blogofile, a new blog engine designed for simplicity and efficiency. With blogofile you can run an entire blog on any server using plain HTML files.