<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
     xmlns:content="http://purl.org/rss/1.0/modules/content/"
     xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
     xmlns:atom="http://www.w3.org/2005/Atom"
     xmlns:dc="http://purl.org/dc/elements/1.1/"
     xmlns:wfw="http://wellformedweb.org/CommentAPI/"
     >
  <channel>
    <title>Blogofile</title>
    <link>http://www.blogofile.com/blog</link>
    <description>A static blog engine/compiler</description>
    <pubDate>Sat, 13 Oct 2012 19:21:04 GMT</pubDate>
    <generator>Blogofile</generator>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Blogofile 0.8b1 Released</title>
      <link>http://www.blogofile.com/blog/2012/10/13/blogofile-0-8b1-release</link>
      <pubDate>Sat, 13 Oct 2012 11:23:31 EDT</pubDate>
      <category><![CDATA[releases]]></category>
      <guid>b'88iJejYSkqTizdrUyNcyInsbf-4='</guid>
      <description>Blogofile 0.8b1 Released</description>
      <content:encoded><![CDATA[<div class="document">
<p>I'm happy to announce the release of Blogofile 0.8b1 and blogofile_blog 0.8b1.</p>
<div class="section" id="why-a-beta-release">
<h2>Why a beta release?</h2>
<p>It's been a long time since the last <tt class="docutils literal"><span class="pre">Blogofile</span></tt> release.
I've moved the work that Ryan started forward to make the core static site
builder &quot;pluggable&quot;,
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 (<a class="reference external" href="http://douglatornell.ca/">douglatornell.ca</a>),
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.</p>
<p>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 <tt class="docutils literal"><span class="pre">Blogofile</span></tt> 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 <a class="reference external" href="http://groups.google.com/group/blogofile-discuss">mailing list</a>,
or you can clone the <a class="reference external" href="https://github.com/EnigmaCurry/blogofile/">GitHub repo</a>,
add to the Migrating Sites from 0.7.x to 0.8 section of the docs,
or add a migration helper script to the <tt class="docutils literal"><span class="pre">converters/</span></tt> directory,
and send a pull request.</p>
</div>
<div class="section" id="what-s-new">
<h2>What's New</h2>
<ul>
<li><p class="first"><tt class="docutils literal"><span class="pre">Blogofile</span></tt> is now the static site builder that has always been at
the core of the Blogofile project.
<tt class="docutils literal"><span class="pre">blogofile_blog</span></tt> is a Blogofile plugin that provides templates,
controllers,
and filters
(and even some sample posts)
to use <tt class="docutils literal"><span class="pre">Blogofile</span></tt> to create a simple <a class="reference external" href="http://html5boilerplate.com/">HTML5Boilerplate</a> based blog.</p>
<p>I realized in the run-up to this release that import dependencies
between <tt class="docutils literal"><span class="pre">Blogofile</span></tt> and <tt class="docutils literal"><span class="pre">blogofile_blog</span></tt> make the installation
steps less straight forward than I had hoped.
For now:</p>
<pre class="literal-block">
pip install Blogofile
pip install blogofile_blog
</pre>
<p>in that order (or your favourite <tt class="docutils literal"><span class="pre">easy_install</span></tt> or <tt class="docutils literal"><span class="pre">python</span>
<span class="pre">setup.py</span></tt> incantations) are what's needed.
I'm hoping that the installation story can be improved,
perhaps with the help of the <a class="reference external" href="http://stevedore.readthedocs.org/en/latest/index.html">stevedore</a> library,
but I didn't want to delay this release any longer to explore that.</p>
</li>
<li><p class="first">The documentation source files have been moved into the project
repository.
They are built and rendered at <a class="reference external" href="http://docs.blogofile.com/">http://docs.blogofile.com/</a> thanks to
the readthedocs.org service.</p>
</li>
<li><p class="first">The <tt class="docutils literal"><span class="pre">init</span></tt> sub-command syntax and functionality have changed; see
<tt class="docutils literal"><span class="pre">blogofile</span> <span class="pre">help</span> <span class="pre">init</span></tt>.</p>
</li>
<li><p class="first">The configuration system has been refactored.
The default configuration settings are now in the <tt class="docutils literal"><span class="pre">default_config.py</span></tt>
module.</p>
</li>
<li><p class="first">As a result of the refactoring of the initialization function,
and the configuration system,
the <tt class="docutils literal"><span class="pre">site_init</span></tt> directory has been eliminated.</p>
</li>
<li><p class="first">There is improved Unicode handling in slugs, thanks to Wasil Sergejczyk.
See <a class="reference external" href="https://github.com/EnigmaCurry/blogofile/issues/124">https://github.com/EnigmaCurry/blogofile/issues/124</a></p>
</li>
<li><p class="first">The codebase has been unified for Python 2.6, 2.7 and 3.2
(no 2to3 or 3to2 conversion required).</p>
</li>
<li><p class="first">The command line completion feature has been removed so as to avoid
maintaining a bundled version of the <tt class="docutils literal"><span class="pre">argparse</span></tt> library
(included in the standard library for Python 2.7 and
3.2+).
It will be installed by <tt class="docutils literal"><span class="pre">setup.py</span></tt> from PyPI for Python 2.6.</p>
</li>
</ul>
<p>See <tt class="docutils literal"><span class="pre">CHANGES.txt</span></tt> in the repos for more details on bug fixes, etc.</p>
</div>
<div class="section" id="breaking-changes">
<h2>Breaking Changes</h2>
<p>If you've been using the <tt class="docutils literal"><span class="pre">Blogofile</span></tt> plugins branch and the
<tt class="docutils literal"><span class="pre">blogofile_blog</span></tt> repo from GitHub but haven't updated in a while you
should take note of the following:</p>
<ul class="simple">
<li>In the past the functions in <tt class="docutils literal"><span class="pre">blogofile.util</span></tt> were available
in templates in both the <tt class="docutils literal"><span class="pre">bf.util</span></tt> and the <tt class="docutils literal"><span class="pre">bf.config.util</span></tt> namespaces.
The latter no longer works.
If you want to use a <tt class="docutils literal"><span class="pre">blogofile.util</span></tt> function in a template,
use <tt class="docutils literal"><span class="pre">bf.util</span></tt>;
e.g. <tt class="docutils literal"><span class="pre">bf.util.site_path_helper</span></tt>.</li>
<li>The constructor argument for <tt class="docutils literal"><span class="pre">blogofile.plugin.PluginTools</span></tt> is now the
plugin module,
rather than its name.
This change only affects people who have developed their own plugins.
See <tt class="docutils literal"><span class="pre">blogofile_blog.__init__.py</span></tt> for an example of how
<tt class="docutils literal"><span class="pre">blogofile.plugin.PluginTools</span></tt> is now instantiated.</li>
</ul>
</div>
<div class="section" id="into-the-future">
<h2>Into the Future</h2>
<p>I had a <a class="reference external" href="https://groups.google.com/d/topic/blogofile-discuss/jwMsJHzAmgw/discussion">long list of hopes and goals</a> when I became the maintainer of
<tt class="docutils literal"><span class="pre">Blogofile</span></tt> 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.</p>
<p>Part of that is the idea that there can be an ecosystem of plugins around
the <tt class="docutils literal"><span class="pre">Blogofile</span></tt> core that allow users to add features, themes, etc. to their
blogs,
and allow <tt class="docutils literal"><span class="pre">Blogofile</span></tt> to be used to build other kinds of sites.
In that context,
<tt class="docutils literal"><span class="pre">blogofile_blog</span></tt> 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.</p>
<p>There are also feature suggestions, requests, and even some fully
developed patches in the issue trackers on GitHub.
For example:</p>
<ul class="simple">
<li>When using <tt class="docutils literal"><span class="pre">blogofile</span> <span class="pre">serve</span></tt>, add automatic site re-compilation
when a source file changes instead of having to stop the server,
build, and restart the server.</li>
<li>Develop a better syntax highlighter for posts that use reStructuredText markup.</li>
<li>Add more conversion scripts from other blog platforms.</li>
</ul>
<p>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.</p>
<p>I'd like to thank Ryan for creating <tt class="docutils literal"><span class="pre">blogofile</span></tt>,
and for his support of my efforts to move <tt class="docutils literal"><span class="pre">blogofile</span></tt> 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.</p>
</div>
</div>
]]></content:encoded>
    </item>
    <item>
      <title>Blogofile 0.7.1 released</title>
      <link>http://www.blogofile.com/blog/2011/02/19/blogofile-0.7.1-released</link>
      <pubDate>Sat, 19 Feb 2011 23:18:00 EST</pubDate>
      <category><![CDATA[releases]]></category>
      <guid>http://www.blogofile.com/blog/2011/02/19/blogofile-0.7.1-released</guid>
      <description>Blogofile 0.7.1 released</description>
      <content:encoded><![CDATA[<p>I've been bad about updating this blog, while most of the discussion
is happening <a href="http://groups.google.com/group/blogofile-discuss">on the mailing
list</a>.</p>
<p>So, for anyone that has this blog in their feeds and was expecting
timely updates.. sorry.</p>
<p>The Blogofile 0.7 series is fresh and feature-full. The
<a href="/documentation">documentation</a> is up to date.</p>]]></content:encoded>
    </item>
    <item>
      <title>Blogofile 0.6 released</title>
      <link>http://www.blogofile.com/blog/2010/03/30/blogofile-0.6-released</link>
      <pubDate>Tue, 30 Mar 2010 20:57:00 EDT</pubDate>
      <category><![CDATA[releases]]></category>
      <guid>http://www.blogofile.com/blog/2010/03/30/blogofile-0.6-released</guid>
      <description>Blogofile 0.6 released</description>
      <content:encoded><![CDATA[<p>Blogofile 0.6 is released today. If you've been following along <a href="http://www.github.com/EnigmaCurry/blogofile">on github</a>, 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 <a href="http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/ar01s04.html">Release Early, Release Often</a> 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.</p>
<p>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 <a href="http://groups.google.com/group/blogofile-discuss">mailing list</a> by giving great suggestions as well as patches.</p>
<p>Changelog (in rough chronological order):</p>
<ul>
<li>Posts can now have arbitrary user-defined fields.</li>
<li>Added <a href="http://localhost:8080/documentation/controllers.html">Controllers</a>, 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.</li>
<li>Added <a href="http://blogofile.com/documentation/filters">Filters</a>, which enables people to write their own text processors, for example: syntax highlighters.</li>
<li>Easily debuggable in <a href="http://winpdb.org">Winpdb</a> by setting the BLOGOFILE_DEBUG=t environment variable. (this is equally usable by actual Blogofile core developers, or in your own user extensions).</li>
<li>Non-broken unicode support throughout templates and blog posts.</li>
<li>Lots of unit tests.</li>
<li>reStructuredText support for blog posts.</li>
</ul>
<p>Thanks again to the many supporters of Blogofile!</p>]]></content:encoded>
    </item>
    <item>
      <title>Blogofile 0.5 released</title>
      <link>http://www.blogofile.com/blog/2009/08/30/blogofile-0.5-released</link>
      <pubDate>Sun, 30 Aug 2009 11:54:00 EDT</pubDate>
      <category><![CDATA[releases]]></category>
      <guid>http://www.blogofile.com/blog/2009/08/30/blogofile-0.5-released</guid>
      <description>Blogofile 0.5 released</description>
      <content:encoded><![CDATA[<p>As far as the <a href="http://github.com/EnigmaCurry/blogofile/commits/master">commit history</a> 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. </p>
<p>I really like the current Blogofile. It's running both blogofile.com and <a href="http://www.enigmacurry.com">enigmacurry.com</a> (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.</p>
<p>New, for Blogofile 0.5 (roughly in commit order):</p>
<ul>
<li>Syntax highlighting of page templates.</li>
<li>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.</li>
<li>init command that spits out a skeleton of a Blogofile site in the current directory, with multiple templates to choose from.</li>
<li>Blogofile is now <a href="/LICENSE.html">MIT licensed</a>.</li>
<li>Lots of new unit tests.</li>
<li>Org-mode mark up for posts</li>
<li>Automatic permalink generation if you don't explicitly set it in the post.</li>
<li>Replaced OptParse with ArgParse for better command line UI.</li>
<li>New <a href="/documentation">documentation</a>.</li>
</ul>
<p>You can install the new version with a simple:</p>
<p>sudo easy_install -U blogofile</p>]]></content:encoded>
    </item>
    <item>
      <title>Blogofile 0.4 released</title>
      <link>http://www.blogofile.com/blog/2009/07/20/blogofile-0.4-released</link>
      <pubDate>Mon, 20 Jul 2009 22:53:00 EDT</pubDate>
      <category><![CDATA[releases]]></category>
      <guid>http://www.blogofile.com/blog/2009/07/20/blogofile-0.4-released</guid>
      <description>Blogofile 0.4 released</description>
      <content:encoded><![CDATA[<p>I've just released Blogofile 0.4. </p>
<p>Nothing terribly major, but it does represent a maturing product:</p>
<ul>
<li>Less buggy syntax highlighting now with a home-grown &lt;pre&gt; tag parser</li>
<li><a href="http://www.enigmacurry.com">EnigmaCurry.com</a>, my personal blog, is now powered by Blogofile. This shows that real blogs can and do run Blogofile.</li>
</ul>]]></content:encoded>
    </item>
    <item>
      <title>Blogofile 0.3</title>
      <link>http://www.blogofile.com/blog/2009/03/03/blogofile-version-0.3</link>
      <pubDate>Tue, 03 Mar 2009 13:09:00 EST</pubDate>
      <category><![CDATA[releases]]></category>
      <guid>http://www.blogofile.com/blog/2009/03/03/blogofile-version-0.3</guid>
      <description>Blogofile 0.3</description>
      <content:encoded><![CDATA[
<p>I'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.</p>

<p>I just released <a href="http://github.com/EnigmaCurry/blogofile/tarball/0.3">version 0.3</a> on github as well as on <a href="http://pypi.python.org/pypi/Blogofile">PyPI</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Introducing Blogofile</title>
      <link>http://www.blogofile.com/blog/2009/03/02/introducing-blogofile</link>
      <pubDate>Mon, 02 Mar 2009 13:09:00 EST</pubDate>
      <category><![CDATA[releases]]></category>
      <guid>http://www.blogofile.com/blog/2009/03/02/introducing-blogofile</guid>
      <description>Introducing Blogofile</description>
      <content:encoded><![CDATA[
<h3>First post!</h3>
This is <a href="http://www.blogofile.com">Blogofile</a>, a new blog engine designed for simplicity and efficiency. With blogofile you can run an entire blog on any server using plain HTML files.
<br/><br/>
The first release, <a href="http://github.com/EnigmaCurry/blogofile/tarball/0.2">version 0.2 is available now</a>.
]]></content:encoded>
    </item>
  </channel>
</rss>
