static site generator
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
example
src
test
.gitignore
COPYING
README.md
lightning
requirements.txt

README.md

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.

Installation

  1. Clone the repository via git clone git@github.com:borismus/lightning.git
  2. Run cd lightning to get to your newly cloned repository.
  3. Install all required dependencies by running pip install -r requirements.txt.
  4. Take a look at template and content for my blog at http://smus.com.

Usage

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

Configuration

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.