Skip to main content

A static HTML blog generator.

Project description

Russell

A static HTML site generator written in Python 3.

Installation

The recommended way to install Russell is to use uv:

$ mkdir /home/myuser/blog
$ cd /home/myuser/blog
$ uv init
$ uv add russell

Once that's done, you can either manually create the required files, or let Russell set up an example project for you:

$ uv run russell setup .

Usage

russell setup will set up an example configuration file and directory structure in the current working directory to get you started.

Creating pages/posts

russell new page "My Test Page" will create the file 'pages/my-test-page.md', which you can then open in your favourite text editor. The process is the same for russell new post. You can change the filename yourself to modify what the resulting .html file will be named.

Generating the blog

russell generate will run the generate function in your config.py, which should contain all the instructions for generating HTML and other assets.

To test your newly generated site, run russell serve.

Templating

Jinja2 is used as a templating engine, and all its features are present.

Read the Jinja2 documentation here: http://jinja.pocoo.org/

root_url has been added as a global variable, which you can use for generating URLs in your template.

The "index" and "archive" templates have the posts variable available. The "post" template has the post variable and "page" has the page variable. posts is an array of Post objects, the others are a single instance of either Post or Page.

License

The contents of this repository are released under the GPL v3 license. See the LICENSE file included for more information.

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

russell-0.7.0.tar.gz (28.3 kB view details)

Uploaded Source

Built Distribution

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

russell-0.7.0-py3-none-any.whl (25.4 kB view details)

Uploaded Python 3

File details

Details for the file russell-0.7.0.tar.gz.

File metadata

  • Download URL: russell-0.7.0.tar.gz
  • Upload date:
  • Size: 28.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for russell-0.7.0.tar.gz
Algorithm Hash digest
SHA256 2ac0b25f83bcfadb9311f6341534d5e4d23ed047b4e9d6f003ef18e21b2d82a4
MD5 824d50f2ec0af16bad6aed199f697817
BLAKE2b-256 4f7fa50d7315e03252ab5895ebb7ecf000a66cce90e52738cdee312df9ce25bb

See more details on using hashes here.

Provenance

The following attestation bundles were made for russell-0.7.0.tar.gz:

Publisher: publish-pypi.yml on anlutro/russell

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

File details

Details for the file russell-0.7.0-py3-none-any.whl.

File metadata

  • Download URL: russell-0.7.0-py3-none-any.whl
  • Upload date:
  • Size: 25.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for russell-0.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4170780206bb9da049eb5dc2a48df362d5c95f8a095acf4440e62a0ca214891e
MD5 4b7fd7bacf19135e710614bdefe961e7
BLAKE2b-256 1d3fc7a054b1a85a527bf60d3f622c645781191756599f64373b90803c099068

See more details on using hashes here.

Provenance

The following attestation bundles were made for russell-0.7.0-py3-none-any.whl:

Publisher: publish-pypi.yml on anlutro/russell

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