Version 0.0.3
Highlights
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 add volt add creates template files for writing custom engine, plugin, or widget, in the root 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.EXTRA_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.
Others
- Changed/removed these setting names/values:
- {ENGINE}.CONTENT_DATETIME_FORMAT -> {ENGINE}.DATETIME_FORMAT
- SITE.PLUGINS -> removed
- 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