Basicest

Basicest is a minimal static site generator:

Installation

Basicest is published in PyPI as basicest.

Usage

  1. Make a project directory
  2. Write some HTML files
  3. Make a _components directory inside of your project
  4. Make some .jinja files inside of _components
  5. Use your new components to simplify your HTML
  6. Run basicest $PROJECT to do a build

For an example, see this site's source.

Local Server

If you install Basicest with the serve extra (eg pip install basicest[serve]), an auto-loading server is also installed. You can invoke it with basicest-serve $PROJECT.

Use in Actions

An action for GitHub Action workflows is provided as AstraLuma/basicest@trunk. A simple example would be:

name: Site

on:
  push:

permissions:
  contents: read  # This is required for actions/checkout


jobs:
  # Build job
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4
      - uses: AstraLuma/basicest@trunk
        with:
          root: site
          output: ./_build

Use in other CI

If you don't want to deal with all the Python installation, a container image is available as ghcr.io/astraluma/basicest.