Flexible Lisp Blogware
Find a file
2019-10-27 14:06:27 -04:00
cli [ci skip] minor help message 2019-10-27 14:04:18 -04:00
cli-tests [travis] trying curl to test the preview feature 2019-10-27 14:06:19 -04:00
docs [ci skip] [README] simplified / remove absolute url 2019-10-27 13:53:07 -04:00
examples Update documentation and config example for excerpt support 2017-10-29 01:12:42 -05:00
plugins Fix markless plugin problems 2019-09-29 07:53:20 -05:00
roswell roswell commands 2019-10-26 19:45:46 -04:00
src fix: DEPLOY method does not respect *default-pathname-defaults* 2019-10-26 19:45:52 -04:00
tests testing repl 2019-10-26 19:45:46 -04:00
themes Adding missing " to meta tag in Hyde's base.tmpl 2019-02-23 14:10:29 -05:00
.gitignore Ignore Linux CCL FASL files 2016-10-17 12:22:37 -05:00
.travis.yml [travis] trying sudo to test the preview feature 2019-10-27 14:06:27 -04:00
coleslaw-cli.asd [CLI] coleslaw-cli: system for CLI command 2019-10-26 19:45:46 -04:00
coleslaw-conf.asd Move coleslaw-conf to its own ASDF system 2016-09-20 23:15:57 -05:00
coleslaw-test.asd testing repl 2019-10-26 19:45:46 -04:00
coleslaw.asd Move coleslaw-conf to its own ASDF system 2016-09-20 23:15:57 -05:00
LICENSE Add BSD License file. 2013-01-29 10:18:26 -05:00
NEWS.md A final news tweak. 2014-11-25 22:47:23 -05:00
README.md [ci skip] [README] fix travis badge 2019-10-27 13:53:14 -04:00

coleslaw

Build Status Quicklisp

coleslaw logo

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 is Flexible Lisp Blogware similar to Frog, Jekyll, or Hakyll.

Have questions?

See the wiki for a list of coleslaw-powered blogs.

Coleslaw should run on any conforming Common Lisp implementations but testing is primarily done on SBCL and CCL.

Features

plugins plugins plugins
Sitemap generation Incremental builds Analytics via Google or Piwik
Comments via Disqus Comments via isso Hosting via Amazon S3
Hosting via Github Pages Embedding gfycats Tweeting about new posts
Mathjax Posts in ReStructured Text Wordpress import
Pygments colorize

Installation/Tutorial

Step 1: Install this library.

With Roswell,

$ ros install coleslaw
$ export PATH="$HOME/.roswell/bin:$PATH" # If you haven't done this before

or

(ql:quickload :coleslaw-cli)

Step 2: Initialize your blog repository.

$ mkdir yourblog ; cd yourblog
$ git init
$ coleslaw setup
(coleslaw-cli:setup)

Step 3: Write a post file in the current directory. The file should contain a certain metadata, so use the coleslaw new command, which instantiates a correct file for you.

$ coleslaw new
Created a post 2017-11-06.post .
(coleslaw-cli:new "post")

Step 4: Generate the site from those post files. The result goes to the deploy/ subdirectory.

$ coleslaw
(coleslaw-cli:generate)

Step 5: You can also launch a server...

$ coleslaw preview
(coleslaw-cli:preview)

Step 6: and watch the file system to automatically regenerate the site!

$ coleslaw watch          # or even better,
$ coleslaw watch-preview 
(coleslaw-cli:watch)      ;; watch-preview does not work on REPL right now

For further customization, e.g. adding a new plugin, developing a new plugin, changing the deploy option, or creating a new theme, see the config docs.

We provide three default themes: hyde, the default, and readable (based on bootswatch readable).

A core goal of coleslaw is to be both pleasant to read and easy to hack on and extend. If you want to understand the internals and bend coleslaw to do new and interesting things, I strongly encourage you to read the Hacker's Guide to Coleslaw. You'll find some current TODO items towards the bottom.