Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/faresbakhit/budg
A KISS Plugin Based Static Site Generator
https://github.com/faresbakhit/budg
jamstack kiss plugins python ssg
Last synced: 25 days ago
JSON representation
A KISS Plugin Based Static Site Generator
- Host: GitHub
- URL: https://github.com/faresbakhit/budg
- Owner: faresbakhit
- License: 0bsd
- Created: 2023-08-24T06:46:17.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2023-09-21T04:24:42.000Z (about 1 year ago)
- Last Synced: 2024-09-29T14:01:32.953Z (about 1 month ago)
- Topics: jamstack, kiss, plugins, python, ssg
- Language: Python
- Homepage:
- Size: 64.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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](/SECURITY.md).
- [Extend Budg](#extend-budg)
- [Installation](#installation)## Extend Budg
Budg is very barebones on its own, the source code is only ~500 LOC with one dependency ([dacite](https://github.com/konradhalas/dacite)), and also one built-in plugin ([copier.py](/budg/plugins/copier.py)).
Users are able to add plugins of their own without changing budg's source code (see the [example](/example/) budgie) but there's still room for improvement:
- Add a new config format (see [decoders.py](/budg/decoders.py))
- Better error messages, maybe colored?
- More built-in pluginsAll 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](/LICENSE) is [0BSD](https://choosealicense.com/licenses/0bsd/)!
### Development Mode
Create a [virtual environment](https://docs.python.org/3/glossary.html#term-virtual-environment) and use pip's `-e/--editable` flag to install `budg` with the necessary dependencies for development.
```sh
> git clone [email protected]: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:
```sh
> python3 -m pip install budg
> budg --help
``````text
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.
```