Skip to main content

State of the art static website generator for humans

Project description

SiteFab: state of the art static website generator for humans

Linux Status macOS Status Code coverage

Getting Started in 30 seconds

Here is how to install SiteFab, Create a new site and compile it in less than 30 seconds:

# install the main package
pip install sitefab
spacy download en_core_web_sm
pip install -U spacy-lookups-data

# clone the site template as base
git clone https://github.com/ebursztein/sitefab-template.git mysite/

# clone the plugins in your site directory
git clone https://github.com/ebursztein/sitefab-plugins.git mysite/plugins

# generate your shiny new site
sitefab -c mysite/config/sitefab.yaml generate

Et voila! you know have a fully fonctional site that can be statically compiled. As the next step you should add your content, customize the html templates and tweak the plugins configuration to your liking!

Key Features

Here are some of the key highlevel functionalities that makes SiteFab the static generator of choice for modern websites:

  • State of the art images processing stack: The images stack generate out of the box all you need to use image in optimal fashion including: reactive images for the <picture> element, webp versions for the browsers who support it, frozen thumbnail for the loading and cropped thumbnails for previews.
  • Bleeding edge natural language processing stack: Leveraging the latest advance in NLP Sitefab offers: An accurate list of related posts (LSI algorithm), a client side faceted search and a smart client-side autocompletion
  • Fully customizable: Its flexible plugin system and templatized parser make it easy and fast to customize SiteFab to your needs.

Design principles

Beside its technical features what separates SiteFab from other site generators is its guiding principles:

  • Configuration over convention: Every behavior is explictly specified. There are no special files or directories. SiteFab only do what the site configuration say. Nothing more, nothing less.

  • Content Agnostic: There is only one type of content called post. SiteFab makes no assumption about the content stored in the .md files. Its job is to apply the configuration specified in the frontmatter to render the specificied files and ensure that the enabled plugins are properly executed.

  • Atomicity: Each piece of content is self contained by having its own configuration in its frontmatter including which template to use. This allows to accomodate both complex sites with per page configuration and very simple ones that reuse the same template again and again.

  • Orthogonality: Site configuration, plugins and plugins configuration are independent of the core engine so you can use as many configurations and tweaked plugins you want. Additionally you can check those alongside with your site content to have reproducible build, safe rollbacks and concurrent version of the build pipeline (e.g alpha versus stable).

Alternatives

Here are some popular alternatives if SiteFab is not what you are looking for:

  • Jekyll: The most popular site generate, written in Ruby.

  • Hugo: A popular site generator, written in Go that focuses on speed.

  • Pelican: Another site generator written in Python.

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

sitefab-1.1.1613622175.tar.gz (41.4 kB view details)

Uploaded Source

Built Distribution

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

sitefab-1.1.1613622175-py3-none-any.whl (55.5 kB view details)

Uploaded Python 3

File details

Details for the file sitefab-1.1.1613622175.tar.gz.

File metadata

  • Download URL: sitefab-1.1.1613622175.tar.gz
  • Upload date:
  • Size: 41.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.9.1

File hashes

Hashes for sitefab-1.1.1613622175.tar.gz
Algorithm Hash digest
SHA256 7db765f85340b970d1a998d73f2ac774323db0b1c502b721d9019897c280b18e
MD5 ce5249e7bb7d82815101969b085f4ac0
BLAKE2b-256 9dd1e1b39d551a2a5101fcbec1497f1c9a25339f1f1f5805017946797f3405fc

See more details on using hashes here.

File details

Details for the file sitefab-1.1.1613622175-py3-none-any.whl.

File metadata

  • Download URL: sitefab-1.1.1613622175-py3-none-any.whl
  • Upload date:
  • Size: 55.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.9.1

File hashes

Hashes for sitefab-1.1.1613622175-py3-none-any.whl
Algorithm Hash digest
SHA256 6d0b5dede72dcd68c66d7994007668b015b59b0f018ae2966bca3d43e3cb995d
MD5 3289f08c6da814c15c7e9d8dca07485f
BLAKE2b-256 7b0cee597a78d3570c6da0c6517c1d8ebf561e1cefaf782605e5377b9c8731d3

See more details on using hashes here.

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