3.1 KiB
coleslaw

Czeslaw Milosz was the writer-in-residence at UNC c. 1992. I used to see him all the time at the Hardback Cafe, always sitting at a two-top drinking coffee, reading, writing, eating chips and salsa. I remember a gentleness behind the enormous bushy eyebrows and that we called him Coleslaw. - anon
Coleslaw aims to be flexible blog software suitable for replacing a single-user static site compiler such as Jekyll.
Features
-
Git for storage
-
RSS and Atom feeds!
-
Markdown Support with Code Highlighting provided by colorize.
- Currently supports: Common Lisp, Emacs Lisp, Scheme, C, C++, Java, Python, Erlang, Haskell, Obj-C, Diff.
-
Multi-site publishing support.
-
Github's pages support
-
A Plugin API and plugins for...
- Comments via Disqus
- Analytics via Google
- Deploying to Amazon S3.
- Using LaTeX (inside pairs of
) via Mathjax
- Using ReStructured Text
- Importing posts from wordpress
-
There is also a Heroku buildpack maintained by Jose Pereira.
-
Example sites: redlinernotes and (lisp :is 'fun).
Installation
This software should be portable to any conforming Common Lisp implementation but this guide will assume SBCL is installed. Testing has also been done on CCL. Server side setup:
- Setup git and create a bare repo as shown here.
- Install Lisp and Quicklisp.
wget -c https://raw.github.com/redline6561/coleslaw/master/examples/single-site.coleslawrc -O ~/.coleslawrc
# and edit as necessarywget -c https://raw.github.com/redline6561/coleslaw/master/examples/example.post-receive -O your-blog.git/hooks/post-receive
# and edit as necessarychmod +x your-blog/.git/hooks/post-receive
- Create or clone your blog repo locally. Add your server as a remote with
git remote add prod git@my-host.com:path/to/repo.git
- Point the web server of your choice at the symlink /path/to/deploy-dir/.curr/
Now whenever you push a new commit to the server, coleslaw will update your blog automatically! You may need to git push -u prod master the first time.
The Post Format
Coleslaw expects post files to be formatted as follows:
;;;;;
title: foo
tags: bar, baz
date: yyyy-mm-dd hh:mm:ss
format: html (for raw html) or md (for markdown)
;;;;;
your post
Theming
A default theme, hyde, is provided. Themes are made using Google's closure-template and the source for hyde should be simple and instructive until I can provide better docs.