Skip to main content

A simple static site generator

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bariumssg-0.1.4.tar.gz (4.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bariumssg-0.1.4-py3-none-any.whl (4.9 kB view details)

Uploaded Python 3

File details

Details for the file bariumssg-0.1.4.tar.gz.

File metadata

  • Download URL: bariumssg-0.1.4.tar.gz
  • Upload date:
  • Size: 4.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for bariumssg-0.1.4.tar.gz
Algorithm Hash digest
SHA256 7f6a03cfc0401b2d2ae66badec2c063257fd50f29c64e64e2b9fd7a7fb02c112
MD5 9fc794a5f8297e4d002b516a22b2e590
BLAKE2b-256 c83c7ec11ca2d3b7d2df97ee685122b62517b9e4b1be0311e8d7b73029cc208b

See more details on using hashes here.

Provenance

The following attestation bundles were made for bariumssg-0.1.4.tar.gz:

Publisher: python-publish.yml on Gijs6/Barium

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bariumssg-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: bariumssg-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 4.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for bariumssg-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 2689c7279b37fb44c3a40eb321cef3ac1caec2e4f22dfc398f437107bc0d5d34
MD5 5e7657743da0074da0fdfba5060195f5
BLAKE2b-256 17b19512c63a4cc88d7b9b931b7afba8bbf9fecf0deaa5c51c6b710d0f51c981

See more details on using hashes here.

Provenance

The following attestation bundles were made for bariumssg-0.1.4-py3-none-any.whl:

Publisher: python-publish.yml on Gijs6/Barium

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page