A static website compiler and blog engine
Blogofile is a static website compiler that lets you use various template libraries (Mako, Jinja2), and various markup languages (reStructuredText, Markdown, Textile) to create sites that can be served from any web server you like.
Version 0.8 of Blogofile breaks out the core static site compiler and gives it a plugin interface. That allows features like the blog engine that was Blogofile’s original raison d`être to be built on top of the core.
blogofile_blog is a blog engine plugin created by the Blogofile developers. With it installed you get a simple blog engine that requires no database and no special hosting environment. You customize a set of Mako templates, create posts in reStructuredText, Markdown, or Textile, (or even plain HTML) and blogofile generates your entire blog as plain HTML, CSS, images, and Atom/RSS feeds which you can then upload to any old web server you like. No CGI or scripting environment is needed on the server.
Or, if you’re the “just get it done sort”, create a virtualenv, and dive in with:
pip install -U Blogofile pip install -U blogofile_blog
- Add Python 3.3 to list of versions that blogofile_blog is tested under. That list is now Python 2.6, 2.7, 3.2, and 3.3.
- Add allow_reuse_address to server to stop occasional “Address already in use” errors. See https://github.com/EnigmaCurry/blogofile/pull/140
- Add a trailing_slash argument to blogofile.util.site_path_helper(). When True a slash is appended to the path. The default is False. See https://github.com/EnigmaCurry/blogofile_blog/issues/5
- Fix a template content encoding issue by letting template libraries (i.e. Mako and Jinja2) handle template reading. See https://github.com/EnigmaCurry/blogofile/issues/134 and https://github.com/EnigmaCurry/blogofile/issues/135
- Remove version pinning from dependency packages that Blogofile installs.
If you’ve been using the plugins branch from GitHub but haven’t updated in a while you should take note of the following.
- Fix a typo in the README. See https://github.com/EnigmaCurry/blogofile/pull/127
- Fix an issue with the template lookup order whereby user’s templates failed to override plugin site_src template of the same name. See https://github.com/EnigmaCurry/blogofile/issues/126
- Fix permalinks in RSS feeds for Apple Mail. See https://github.com/EnigmaCurry/blogofile/pull/114
- Fix a class name reference error in the Jinga2 template loader. See https://github.com/EnigmaCurry/blogofile/issues/105
- 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 has changed; see blogofile help init.
- 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.
- Improved Unicode handling in slugs. See https://github.com/EnigmaCurry/blogofile/issues/124
- 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. argparse is included in the standard library for Python 2.7 and 3.2+. setup.py will install it from PyPI for Python 2.6.