Skip to main content

Static Site Generator, like flask

Project description

Dewar

Dewar is a static site generator inspired by flask.

About

Why the name "dewar"?

Dewar (pronounced d-you-ah) is another name for a vacuum flask, or a thermos. Basically, it's a flask that keeps things frozen (or hot).

Why would I use this?

To the moment, there have been a few ways of making a static site:

  • Roll your own custom solution, maybe using jinja, but maybe just formatting a html template solution.

This might work for a small site, or for a repetitive report; but maintainability is lost, and a lot of custom configuration has to be done.

  • Use a static site generator (a la jekyll or hyde).

These are great for making blogs, but are opinionated about what content they should host. They don't allow for computation inline, and they are their own ecosystem to learn.

Just use flask!

There are two major limitations to flask that this project solves:

  1. Flask only serves one page at a time.
  2. Flask requires a server to be running.

These limitaions are obvious, but they prevent a few use cases:

  • hosting a site that doesn't need to be continuously rendered
  • creating sites that can be easily downloaded
  • creating a server that can be seen without a server running
  • creating sites that rely entirely on client-side code, but want some convenient templating [in this case, it adds overhead of processing that's unnecessary]

Setup

Installing Dewar is as simple as:

pip install dewar

And writing a program like

# named 'site.py'
import dewar

site = dewar.Site()

@site.register('index.html')
def index():
    return "<h1>Hello, World</h1>"

if __name__ == "__main__":
    site.render()

Then,

$ python3 site.py

That's it! Your static site is now in dist/.

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

dewar-1.2.1.tar.gz (9.5 kB view details)

Uploaded Source

Built Distribution

dewar-1.2.1-py2.py3-none-any.whl (13.8 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file dewar-1.2.1.tar.gz.

File metadata

  • Download URL: dewar-1.2.1.tar.gz
  • Upload date:
  • Size: 9.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.29.1 CPython/3.6.6rc1

File hashes

Hashes for dewar-1.2.1.tar.gz
Algorithm Hash digest
SHA256 7a850f2396e6535abee4403879debcc1dcf56a4932284e0101fe5eb3cff51e90
MD5 85bce9b28748fdf85f66c206920a7b92
BLAKE2b-256 d436ebdc1c409bb2002052c975b25a122eaadba6456defb313244546efa1be95

See more details on using hashes here.

File details

Details for the file dewar-1.2.1-py2.py3-none-any.whl.

File metadata

  • Download URL: dewar-1.2.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 13.8 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.29.1 CPython/3.6.6rc1

File hashes

Hashes for dewar-1.2.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 92f95216e3a17195a16aa5c69fea78c4b8795cb5e78f20dae7e9a7196aa41d3a
MD5 66a11e3637ada062cb4b9bddd3784b99
BLAKE2b-256 125012d49f3784fa45d9e8590eab732700bbd5ef5887ea2753fd80e9dfe1e29f

See more details on using hashes here.

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