- Fixed issue with precompiled LESS files.
- Updated documentation.
- The bundled Tweet library has been removed and all related settings have been deprecated. Twitter has discontinued its unauthenticated v1.0 API, so Tweet stopped working as of June 11, 2013. If you have suggestions for a replacement library or solution for Twitter integration please file an issue on Github.
- The default setting of
~engineer.conf.EngineerConfiguration.PERMALINK_STYLE
has changed topretty
fromfulldate
. - Atom feeds are now generated in addition to RSS feeds. Atom feeds are now the default. As part of this change, customization of the RSS feed using a template is no longer supported.
- New plugin added to support
Markdown Lazy Links<lazy links plugin>
. This plugin is enabled by default, so you can start using lazy links immediately. - A new 'experimental' plugin permissions model is in place. More developer information is available at:
plugin permissions
. - Engineer's Jinja2 environment can now be modified using plugins. See the
~engineer.plugins.JinjaEnvironmentPlugin
documentation. - Jinja syntax can now be used in post content thanks to the new
jinja post processor plugin
. - A new tag is available for
inserting images into posts<post images>
. The output can becustomized by themes <image template>
. - You can now have Engineer automatically format your post metadata to be fenced (Jekyll-style) or unfenced using the
~engineer.conf.EngineerConfiguration.METADATA_FORMAT
setting. - User and environment variables are now expanded when they appear in Engineer settings. For example, you can now use
~/engineer/posts/
as your~engineer.conf.EngineerConfiguration.POST_DIR
. Huzzah! - The
~engineer.conf.EngineerConfiguration.POST_DIR
setting can now automatically find posts in all subdirectories within a given path. See the docs for more details. - Themes can now include precompiled versions of LESS stylesheets which will be used by default. See
theme styles
for more details. - As usual, this release contains a number of bug fixes and tweaks.
- Update to a new version of setuptools' bootstrapper. This should ease installation pains for new users that have more recent versions of setuptools.
- Update to a new version of typogrify-engineer. Due to changes in the original typogrify package as well as in pip installer behavior, Engineer was failing to install properly from PyPI for new users.
- Addresses compatibility issue with more recent versions of html5lib (issue 63). A more comprehensive fix will come in a future version.
- Fixes issue 42 which managed to sneak into 0.4.2, causing an exception to be thrown for some configurations.
Note
Engineer no longer requires the zope.cachedescriptors
and compressinja
packages. You can uninstall these packages if you wish. If you're using pip, simply type:
pip uninstall zope.cachedescriptors compressinja
The
post renamer plugin
plugin is no longer on by default.Important
If you wish Engineer to behave the way it did previously, simply set the
POST_RENAME_ENABLED
setting to true in you Engineer settings file.- Fixes issue #36 which caused cache corruption on Mac OS X Lion.
- Fixes issue #39 which prevented the debug server from working properly on non-Windows operating systems.
Finalization plugin<metadata finalization>
: No longer writes files if their metadata has not changed. This should prevent a rather annoying behavior where post files would always be modified during a build regardless if they had changed or not. This broke sorting the post files by 'last modified time', among other things.- Fixes issues with automatic version handling.
Added support for custom URL/permalink schemes with the
~engineer.conf.EngineerConfiguration.PERMALINK_STYLE
setting.Important
Note that while the default has not changed in this release, it will in 0.5.0, so if you wish to continue to use the current Engineer URL scheme, you should update your settings files now.
- Broad changes to post and metadata normalization. These features have been broken out into two separate plugins, the
metadata finalization
plugin and thepost renamer plugin
. Accordingly, the settings~engineer.conf.EngineerConfiguration.NORMALIZE_INPUT_FILES
and~engineer.conf.EngineerConfiguration.NORMALIZE_INPUT_FILE_MASK
have been deprecated. See the documentation for the two new plugins for more details. - The
dark rainbow
andoleb
themes can now support comments using either Disqus or Intense Debate. - The
dark rainbow
andoleb
themes now support simple site search using Google. - Added the
~engineer.conf.EngineerConfiguration.ACTIVE_NAV_CLASS
setting to enable users to change the class that is applied to active navigation nodes. This should make it easier to integrate with CSS frameworks that use a different class name. - Theme creators can now more easily share content between several themes using the
copy_content<theme copy_content>
andtemplate dirs<theme template_dirs>
theme manifest settings. - The
post breaks plugin<post breaks plugin>
now outputs only the teaser content into the site RSS feed by default. This behavior can be changed using theFEED_FULL_CONTENT
setting. - Added a new
~engineer.plugins.CommandPlugin
class. This enables other developers to write plugins that add new command line commands to Engineer. - Standardized a set of common classmethods that are available to all plugins -
handle_settings
andget_logger
. - Updated bundled less.js to version 1.3.1.
- Lots of bug fixes.
- Fixes a bug in the Markdown filter (used in
template pages
) that caused incorrect Markdown processing if there is leading white space in the Markdown content. - Add table styles to included themes.
- Fixes a rather nasty bug that would cause a fatal exception if there were non-ASCII characters in a post using the
teaser content
(post breaks) support that was added in version 0.3.0. - Minor style fixes to Dark Rainbow theme.
Important
The theme plugin model <theme plugins>
has changed with version 0.3.0. Installable themes will need to be changed to be compatible with the new model.
- A new
plugin model <plugins>
provides a more flexible way to integrate with Engineer. - Posts can now have
custom metadata <post custom properties>
. - New
teaser content
(post breaks) support. - A sitemap is now generated automatically.
- A custom RSS feed url can be specified using the
~engineer.conf.EngineerConfiguration.FEED_URL
setting. - Both
dark rainbow
andoleb
now include next/previous post links. - Site-relative URLs for posts are now included in the post metadata during post normalization. This is useful in some cases where you need to know the URL of a post (for example, to link to it in another post) but are offline or otherwise unable to get the URL. If you put a manual URL in the post metadata, it will be overwritten - it's not used to actually allocate a URL for the post.
- Post metadata now accepts either
via-link
orvia_link
. Normalized metadata will now usevia-link
instead ofvia_link
since the former feels more natural in YAML. - The build process will now output a warning if there are pending posts in the site and
~engineer.conf.EngineerConfiguration.PUBLISH_PENDING
isFalse
. This should help remind users that don't run a build automatically that they will need to run another build at a later date/time if they want the pending post to actually become visible. - Bundled libraries updated:
- LESS: version 1.3.0
- jQuery: version 1.7.1
- modernizr: version 2.5.3
- Themes can now indicate whether they use the bundled Tweet library by setting the
use_tweet <theme use_tweet>
property. - Fixed bug preventing some
template fragments
from being included properly in some themes. - The included
Development server <engineer serve>
no longer restricts requests to those coming from the same machine. - Various build performance enhancements.
- Several fixes to bundled theme styles, including better mobile styles in Dark Rainbow.
- A new theme,
oleb
, has been added. This theme is based on Ole Begemann's oleb.net design and was created with his permission. - During rendering, a new variable called
all_posts
is passed. It is a~engineer.models.PostCollection
containing all the posts on the site and can be used to display links to related posts, similarly tagged posts, etc. - Themes can now be wrapped in a Python package, installed, and register themselves as a
theme plugin <theme plugins>
. - Bug fixes related to sites hosted at non-root paths.
- External themes are now supported. You can place your custom theme either inside a
themes
directory in your site's root directory or in any directory you'd like using the~engineer.conf.EngineerConfiguration.THEME_DIRS
setting. - Themes can now specify
settings defaults <theme settings>
in their manifest. Zipped themes <zipping themes>
are now supported.- Multiple
verbosity levels <engineer -v>
are supported by the command line script now. engineer serve
now supports a--port <serve -p>
option.- Build logs are now always written to a
build.log
file in thelogs
directory. - CSS/JS compression process is now more efficient.
- Miscellaneous logging and cache fixes.
- Updated sample site to disable
~engineer.conf.EngineerConfiguration.PREPROCESS_LESS
by default. This way the site will still build even if you don't have lessc installed or aren't on Windows.
- Fixed corrupted LESS files that made it into v0.2.0.
- Fixed bug that prevented attribution text and links from showing up in Dark Rainbow theme.
- Better post timezone handling.
- Various fixes to Dark Rainbow theme.
- Various fixes to the post cache mechanisms.
- Preprocessing support for LESS.
- Minification support for JS and CSS static files.
- New commands - 'clean' and 'init'.
- Major documentation improvements. (In other words, there is now documentation.)
- Initial release.