---------------------
Release date: 2012-04-24
Highlights:
* New builtin plugins: css_minifer and js_minifier.
* New builtin jinja test: ``activatedin``, for testing whether an engine,
plugin, or widget is active.
* New feature: widgets
Widgets enable dynamic retrieval of Unit attributes, useful for creating
things like a list of most recent posts or a list of archive links. They
are Python functions stored in ``widgets.py`` in the project root directory.
* New feature: logging
Users can now log their entire Volt run and log their custom engines,
plugins, or widgets.
* New command: ``volt ext``
``volt ext`` creates template files for writing custom engine, plugin, or
widget, in the root project directory. It can also be used to copy builtin
engines/plugins/widgets into the user's Volt project directory.
* Improved console messages.
* New settings:
- SITE.LOG_LEVEL
Integer to set logging level, using values similar to Python's logging module.
- SITE.WIDGETS
List of widgets that do not retrieve information from engine units.
- {ENGINE}.WIDGETS
List of widgets that retrieve information from engine units.
- {ENGINE}.PLUGINS
List of plugins to run on the specified engine units.
- SITE.PAGES
List of template file names for creating pages independent from any
engines. Useful for creating for example a main ``index.html`` file or
a ``404.html`` file.
- SITE.FILTERS
List of custom Jinja2 filters.
- SITE.TESTS
List of custom Jinja2 tests.
- SITE.SLUG_CHAR_MAP
Dictionary of characters to replace in a slug, useful for specifying
custom non-ascii character replacements
* Changed/removed these setting names/values:
- {ENGINE}.CONTENT_DATETIME_FORMAT -> {ENGINE}.DATETIME_FORMAT
- VOLT.LAYOUT_DIR -> SITE.ASSET_DIR
- default VOLT.ASSET_DIR value is ``assets``
- default VOLT.CONTENT_DIR value changed to ``contents`` from ``content``
* Active engines must now define a ``units`` property method that returns all
its units.
* Engine.activate renamed to Engine.preprocess and is not an abstract method
anymore.
* Plus many other internal code refactorizations and improvements.
Fixes:
* ``volt serve`` now only runs ``volt gen`` once
* All Volt commands work from anywhere inside a Volt project directory now