Skip to content

Commit

Permalink
feat(dewar): add config info and readme, for initial pypi release.
Browse files Browse the repository at this point in the history
  • Loading branch information
tfpk committed Dec 26, 2018
1 parent dc94d07 commit d33db99
Show file tree
Hide file tree
Showing 3 changed files with 69 additions and 0 deletions.
3 changes: 3 additions & 0 deletions LICENSE.txt
@@ -0,0 +1,3 @@
This project has not yet been released under a license.

Until it is, no guarantees are made about the project, and all rights remain with the creator, tfpk.
64 changes: 64 additions & 0 deletions README.md
@@ -0,0 +1,64 @@
# 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
```python3
# named 'site.py'
import dewar

site = dewar.Site()

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

if __name__ == "__main__":
dewar.render()
```

Then,

```
$ python3 site.py
```

That's it! Your static site is now in `dist/`.
2 changes: 2 additions & 0 deletions setup.cfg
@@ -0,0 +1,2 @@
[metadata]
description-file = README.md

0 comments on commit d33db99

Please sign in to comment.