Skip to main content

Barium

The Barium logo

A simple static site generator.
Jekyll is undocumented, and Flask feels a bit too bulky when all you need is a simple static site, so Barium aims to be the best of both worlds.

Barium generates static HTML pages from Markdown files and Jinja templates. And that's it. You get a folder of clean, static files and you can host them however and wherever you like. After all, it's a static site generator, not a static site deployer.

It also includes a really simple HTTP server to help you preview your site during development, but please don't use it in production.

Documentation

Installation

To get started, run pip install BariumSSG. You can then just run barium build to build all pages and barium serve to start the development server.

Building pages

Barium reads files from the import directory, puts them in a template, and saves the output HTML files in the export directory. Static files (i.e., all files other than Markdown) are not processed but just copied.

Templates

You can set which template to use in a file's front matter (YAML) by setting the template property to a file name (including file extension). If no template is provided, Barium tries to use the default_template that is configured in the config.yaml file. If that file also doesn't exist, Barium will not use any template.
The templates can be every file extension that Jinja supports. Inside the template, you can use the following variables through the page-dict:

  • All front matter properties
  • path: the complete path of the file
  • slug: the name of the file
  • content: the HTML content of the page
  • All the global template variables set in the config file

Please view the Jinja template documentation for docs about the templates and its syntax.

Configuration

You can configure the following settings in the config.yaml file. If a setting is not set, the default/fallback value will be used.

Setting Description Default/fallback
import_dir The directory where the Markdown files are located ./source
export_dir The directory where the HTML files should be built ./build
template_dir The directory where the template files are located ./templates
template_vars A dictionary of template variables that are available in all templates {}
default_template The template that should be used if no template is specified in the front matter or if the file has no front matter at all. default.jinja
port The port where the files should be served 8000

Metadata

Release files for BariumSSG 0.1.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for BariumSSG 0.1.5
File Size Uploaded
bariumssg-0.1.5.tar.gz 4.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for BariumSSG 0.1.5
File Interpreter ABI Platform
bariumssg-0.1.5-py3-none-any.whl Python 3 none any Details

Total release size: 9.2 kB

Release files / bariumssg-0.1.5.tar.gz

Download URL bariumssg-0.1.5.tar.gz
Size 4.3 kB
Tags Source
SHA-256 checksum
How to use checksums
dbb1df5677d83b4d092fcf817de7cc8c9bd6193a42833047786585c97880e886
BLAKE2b-256 checksum
How to use checksums
b5ffe6aa41ed834906db2a44f4310310b1fc08f4b784fc9e57998dc5f1bf36be
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 12, 2025.

Transparency log

Release files / bariumssg-0.1.5-py3-none-any.whl

Download URL bariumssg-0.1.5-py3-none-any.whl
Size 4.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
51a32d3fbe0f0c1d74458181fe37f2ae70d5037590af73a333e951fd75d901ed
BLAKE2b-256 checksum
How to use checksums
7eaa99037773e98bf22658cd2d85ae3ffda065f95f7b4d18f1d6880bcfc4b3bd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 12, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.5 This release

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page