Skip to main content

yet another static site generator

Project description

Dwarf is an out-in-the-open exercise in building a content publishing tool with Python and Flask .

Dwarf currently wants to be a static site generator much like its heroes Jekyll and Pelican .

It has been mentioned that this is entirely possible in 50 lines of code with Flask-FlatPages and FrozenFlask . There is truth to this. But no fun.

But Darf is still a pipsqueek!

Quite right, Dwarf is in its very early stages. It’s in no way stable, scalable, secure, or a good idea in any.

Installation:

Core requirements: python 2.7 + pip

OPTION 1: use pip

$ pip install Dwarf

OPTION 2: the long and laborious hard way:

  • git clone git@github.com:jpoesen/dwarf.git

  • create a virtual environment with virtualenv

    $ cd /path/to/my/dwarf

    $ virtualenv venv_dwarf

  • activate the virtual env

    $ source venv_dwarf/bin/activate

  • set up Dwarf’s dependancies within your virtual environment

    $ cd /path/to/my/dwarf/location

    $ pip install -r requirements.txt

  • run dwarf

    $ python dwarf/application.py

Where does Dwarf keep its stuff?

No SQL. No NOSQL. All source content is stored in flat markdown files:

/content/

/content/authors/

/content/authors/alice.md

/content/authors/_bob.md

/blog/example.md

/pages/about.md

(Files starting with an underscore are assumed to be draft content and won’t be rendered publicly.)

Your Dwarf is so pretty.

Oh you. Out of the box Dwarf uses Twitter’s Bootstrap to make itself purdy for gentleman callers. Any lipstick will do though. Go nuts.

What about pictures and discussions and such?

Dwarf has lots of specialized friends, like Gravatar for author avatars and Disqus to power comments, all ready to go.

Multimedia content will have to be hosted elsewhere for now - Dwarf has no intention of handling all that himself, though some kind of ajaxy wizardy interface to those third party thingies may be cooked up later.

What holds the future?

Right now we are assuming a lot of things and hiding behind ‘convention over configuration’ to justify lots of magicking about. We need to move stuff into a simple config file, write unit tests and produce documentation. Stabilize now, add features later.

Licence?

Good question. How about the BSD License , the same one Flask uses?

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

Dwarf-0.1.3.tar.gz (7.3 kB view hashes)

Uploaded Source

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