Lightning is a static blogging engine designed to make it painless to author and update large blogs.
- Clear separation between content and templating.
- Assets that you can store alongside content (in the same directory).
- Split posts so that you can write multiple shortform articles in the same markdown file.
- Incremental building.
- Use your favorite editor for everything.
- Clone the repository via
git clone email@example.com:borismus/lightning.git
cd lightningto get to your newly cloned repository.
- Install all required dependencies by running
pip install -r requirements.txt.
- Take a look at template and content for my blog at http://smus.com.
Build your site by running ./lightning in the current working directory. This will read your lightning.yaml and go from there.
I used livereload to build a preview script:
#!/usr/bin/env python from livereload import Server, shell server = Server() server.watch('content', shell('../lightning/lightning -o www')) server.serve(root='www')
And host my static site on github pages, which I deploy to using this script:
#!/usr/bin/env sh DEPLOY_PATH=/Users/smus/Projects/smus.com-deploy # Do a deploy build to the smus.com gh-pages repo. ../lightning/lightning --out=$DEPLOY_PATH # Commit the updated contents there, and push it upstream. pushd $DEPLOY_PATH git add -A git commit -m "Updating smus.com with new content." git push origin gh-pages popd
lightning.yaml specifies where to look for content, template and where
to dump output.
site.yaml specifies metadata about the site itself.
An example site can be found in the example directory of this repository.