Flexible Lisp Blogware. Fork for personal use. Mirrored from https://github.com/kingcons/coleslaw originally.
![]() |
12 jaren geleden | |
---|---|---|
docs | 12 jaren geleden | |
plugins | 12 jaren geleden | |
src | 12 jaren geleden | |
tests | 13 jaren geleden | |
themes | 13 jaren geleden | |
.gitignore | 13 jaren geleden | |
README.md | 12 jaren geleden | |
TODO | 12 jaren geleden | |
coleslaw.asd | 12 jaren geleden | |
example.coleslawrc | 13 jaren geleden | |
example.post-receive | 12 jaren geleden | |
gen-docs.sh | 13 jaren geleden | |
logo_large.jpg | 14 jaren geleden | |
logo_medium.jpg | 14 jaren geleden | |
logo_small.jpg | 14 jaren geleden |
Coleslaw aims to be flexible blog software suitable for replacing a single-user static site compiler such as Jekyll. Coleslaw was a nickname of my favorite poet Czeslaw Milosz.
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:
cp coleslaw/example.coleslawrc ~/.coleslawrc
# and edit as necessarycp coleslaw/example.post-receieve your-blog.git/hooks/post-receive
# and edit as necessarychmod +x your-blog/.git/hooks/post-receive
git remote add prod git@my-host.com:path/to/repo.git
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.
Coleslaw expects post files to be formatted as follows:
;;;;;
title: foo
date: yyyy-mm-dd timestamp
tags: bar, baz
format: html (for raw html) or md (for markdown)
;;;;;
your post
There is a "plugin" to import from wordpress. At some point, it should be turned into a standalone script. Until then...
(ql:quickload 'coleslaw)
(in-package :coleslaw)
(load-plugins '(import))
(coleslaw-import::import-posts "/path/to/export.xml")
The XML will be read and placed into .post files in the :repo location specified in your .coleslawrc.
For now, see the API the mathjax plugin for an example. A proper guide about this should be written later.
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.