All notable changes to the genja project are documented in this file. The format of this changelog is based on Keep a Changelog. This project adheres to Calendar Versioning based on YY.MM.MICRO.
- Tests for build functions in the builder module
- A logo image for the documentation
- Use Markdown instead of reStructuredText for the Sphinx documentation
- Examples to demonstrate new and updated features
- Documentation for the new examples
- Categories from posts' metadata are passed to templates
- Print removed files and sub-directories during clean command
- Sub-directories are no longer used as the post category
- Make tags optional for posts to prevent build errors
- Tags from the posts' metadata are passed to templates
- Use Python 3.13 and Ubuntu 24.04 for docs
- Use uv to publish the package
- Prepend directories used by Genja with an underscore. The directories are
_pages,_posts, and_templates. - Configuration file is now
genja.tomlinstead ofconfig.toml - Use uv instead of conda for Python and package management
- The
genja newcommand creates a new example project - Contributing guidelines
- Use
base.htmlas the base template if it exists - Templates page in documentation
- Use single Makefile at root of project instead of the Makefile in docs
- Build JSON feed from template strings instead of template file
- Refactor all examples for latest package changes
- Require Python version 3.12 or higher
- Improve the
genja cleancommand to remove all generated files - Add
template_dirin config file - Put examples into subdirectories
- Use TOML instead of JSON for config file
- Change
input_dirtomarkdown_dirin config file
- A Makefile for running various project command line tools
- Sphinx for generating documentation which is hosted with Read the Docs
- A
genja cleancommand to remove all HTML files and feed.json in the output directory
- The
meta["url"]is now available for page templates. This provides the URL for the page which can be used in things like Open Graph meta tags. - Example includes Open Graph meta tags in head section
- A
recentsvariable for the index template. This can be used to create a list on the home page for recent articles. See the example for a demonstration.
- Change from flake8 to ruff for linting and formating
Breaking changes are in this release so please upgrade from previous versions.
- The
genja servecommand now runs a local server using the livereload package. This will automatically reload the website in the browser when changes to the Markdown files are saved.
- Folders in the input directory are considered categories instead of sections. Consequently, the index template must use the
page.categoryvariable instead ofpage.section.
- In the example, use relative paths in Markdown and HTML templates
- Ensure relative paths are used within genja
- Remove the repo_name item from the config.json
Breaking changes in this release. Please upgrade from the previous version.
- Configuration file
config.jsonthat defines the base URL, repository name, input directory, and output directory - JSON feed to allow people to subscribe to the website
- Server for viewing the website in the default web browser
- Command line arguments are now
buildandserve
- Command line arguments
inputandoutput
Initial release of the genja command line tool.