Skip to content

faresbakhit/budg

Budg

A KISS Plugin Based Static Site Generator

Budg is 1.0! Budg is done and no further improvements will be made to the project. In the case of a security vulnerability, please read SECURITY.md.

Extend Budg

Budg is very barebones on its own, the source code is only ~500 LOC with one dependency (dacite), and also one built-in plugin (copier.py).

Users are able to add plugins of their own without changing budg's source code (see the example budgie) but there's still room for improvement:

  • Add a new config format (see decoders.py)
  • Better error messages, maybe colored?
  • More built-in plugins

All of that requires modifying Budg's source code so please fork Budg, extend it, patch what you don't like about it and never think about it, the license is 0BSD!

Development Mode

Create a virtual environment and use pip's -e/--editable flag to install budg with the necessary dependencies for development.

> git clone git@github.com:faresbakhit/budg.git
> python -m venv .venv
# check venv's docs for instructions on how to
# activate the environment in your shell
(.venv) > pip install -e .[dev]

Installation

Budg requires Python 3.8 or later, install with pip:

> python3 -m pip install budg
> budg --help
Usage: budg [OPTIONS]

  A KISS Plugin Based Static Site Generator

Options:
  --config [PATH]  Get configurations from a file or a python-funcion path.
                   [default: ./config.toml]
  --config-format  Format for configurations file.  [default: toml]
  --version        Show the version and exit.
  --help           Show this message and exit.

About

A KISS Plugin Based Static Site Generator

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Languages