Skip to main content

A simple static website generator powered by Jinja2

Project description

Norite

Norite is a simple static website generator powered by Jinja2 as the templating engine.

Norite's main goal is to act as an easy to use rendering engine for people who like to design their own templates or want to have the option of building a custom structure for their websites. To achieve this goal norite exposes the entire content directory as a tree data-structure to the templates along with the rendered content, leaving it up to the template designer how to interpret and display this information.

Implemented Features:

  • Markdown to HTML render
  • Support for using toml or json files instead of markdown
  • Jinja2 based HTML templates
  • Support for embedding Jinja2 templates in markdown
  • Support for nested folders in website content
  • Support for custom templates for any subsection of the content folder
  • Co-located assets with content
  • Syntax highlighting
  • Sass compilation (via libsass or dart-sass)
  • Built-in development server with auto reload on file changes
  • Support for building custom RSS/Atom feeds and robots.txt using templates
  • Automatic sitemap.xml generation
  • Support for marking files/folders as drafts

Todo (Features I am working on or plan to implement):

  • Tests
  • Python based Plugins
  • Live reload in Javascript
  • Incremental builds
  • Link checker
  • More examples

Installation

Norite is in beta but the features listed above are fully functional. If you like what you see and want to give it a try, you can install using:

pip install norite

It will install the following additional packages: jinja2, markdown, toml, pygments and watchdog.

Alternatively, if you want to install it globally as a shell tool within an isolated python environment, install via pipx:

pipx install 'norite'

Documentation

Checkout the documentation for norite here: documentation

Inspiration

Norite is influenced by Zola's features and its way of organizing content, borrows a few concepts from Hugo, and takes inspiration from Pelican's and Mkdocs's internal implementations for a few things. I would happily recommend using any of these excellent SSGs!

License

MIT License: Copyright (c) 2022 - 2022 Arsh
License.txt

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

norite-0.2.2.tar.gz (12.3 kB view hashes)

Uploaded Source

Built Distribution

norite-0.2.2-py3-none-any.whl (14.2 kB view hashes)

Uploaded Python 3

Supported by

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