Skip to main content
Join the official 2020 Python Developers SurveyStart the survey!

Static Site Generator

Project description

Nib is a static site generator, written in Python, geared toward creating a simple site or blog, with the ability to generate metadata pages based on content attributes. It understands concepts like tags, archives, and paging series of individual entries into larger blocks of content. It is designed to be easily extended to create new content types with customized behaviors.

Concept

Nib reads in hierarchical directory of Markdown-formatted documents that contain YAML-formatted headers with attributes and metadata. The metadata includes a document type, which maps back to a series of predefined document processors, as well as arbitrary attributes.

Document processors are then given a list of all documents that match the processor’s document type, then returns a modified list of documents. Processors can modify existing documents, or optionally generate a set of “virtual” pages to include in its return value, allowing processors to create archives, tag pages, and more.

Once all document processors have been run, document bodies are run through the Markdown processor, and then passed to the appropriate templates for final rendering and output to static files.

Static resources, such as CSS, Javascript, and images, are then matched to configurable resource processors and merged with the document output. This step allows for use of pre-processors or generators for static resources, such as LessCSS, JS minifiers, or image optimizers.

Requirements

  • Python 3

Installation

To install the latest official release:

$ pip3 install nib

or to install the version currently checked out from source:

$ python3 setup.py install

License

Nib is licensed under the MIT license. See the LICENSE file for details.

Credits

Nib is developed by [John Reese](http://noswap.com) as a labor of love. It builds on top of many fine projects from the open source community, such as:

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 Nib, version 0.3.4
Filename, size File type Python version Upload date Hashes
Filename, size Nib-0.3.4.tar.gz (8.8 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