A simple static website generator
Project description
sssimp :snake:
Simple Static Site Inductor Made in Python
Why?
I wanted a simple way to generate static websites and I like Jinja2. I had previous experiences working with Jekyll but it seemed like too much work to setup everytime and overkill for the job as it supports many features I don't necessarily use.
Installing
pip install sssimp
How to use
Create a folder called input
, it will hold the data to generate the site.
Running python -m sssimp
will generate content in the output
folder.
Generators
-
Files placed in
input/content
will be directly copied to theoutput
folderExample:
input/content/favicon.png
->output/favicon.png
-
HTML files with the suffix .html placed in
input/content
will be parsed as Jinja2 templates, they can use templates defined ininput/templates
.
See the Jinja2 documentationExample:
input/content/index.html
->output/index.html
Starting with content{% extends "base.html" %} ...
Will use the template
input/templates/base.html
-
CSS files in
input/css
will be merged together in a single fileoutput/bundle.css
-
Markdown files with the suffix .md placed in
input/content
will be parsed to HTML and passed to a template with the same name as their parent folder as the parametermarkdown
Example:
./input/content/post/hello-world.md
->./output/post/hello-world.html
Using the template./input/templates/post.html
Generated with context{'markdown': 'the markdown file converted to HTML'}
The template name can be overriden using the markdown meta argument "template"
Example:
./input/content/post/special.md
->./output/post/special.html
Starting with content--- template: special.html --- ...
Will use the template
./input/templates/special.html
instead ofpost.html
Examples
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.