Skip to main content

A fast and lightweight static site generator

Project description

gnrt - lightweight, fast and extensible static site generator

About

A lightweight static site generator written in Python.

Features:

  • Markdown-based content
  • Frontmatter support
  • Jinja2 templating
  • Optional YAML-based configuration

Usage

gnrt.py

It will look for an optional config.yml file in the current directory, optional Jinja2 templates in the templates folder, markdown files in the content folder, then write the generated output files in the public folder, while respecting the content folder and sub-folders structure.

Configuration

Configuration is stored in config.yml. Any key-value pair is allowed. These keys can be used in the content and template files.

---
sitename: My awesome blog
baseurl: https://example.com/
language: en
foo: bar

If the config.yml file exists, gnrt.py will look for the defaults and lists entries.

Defaults

This is where you define default configuration values, which can be overriden in content files.

Example:

defaults:
  template: default.j2
  bar: foo

Lists

This is where lists of content are defined, allowing the generation of lists of links for instance.

Example:

lists:
  nav1:
  filter:
    key: category
    value: page
    template: nav-page.j2
  nav2:
    filter:
      key: category
      value: article
    sort: published
    reverse: true
    template: nav-article.j2
  rss:
    filter:
      key: category
      value: article
    sort: published
    reverse: true
    template: rss.j2
    target: public/rss.xml

Example

See the example website in docs/example.

Project details


Download files

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

Files for gnrt, version 0.1.0
Filename, size File type Python version Upload date Hashes
Filename, size gnrt-0.1.0-py3-none-any.whl (4.2 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size gnrt-0.1.0.tar.gz (3.4 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page