git clone 'https://github.com/kevinlynx/ext-blog.git'

(ql:quickload :ext-blog)

ext-blog 0.9.1 1.9.2012 updated


ext-blog is a common lisp blog engine. It supports custom theme and you can port a WordPress theme for it.

A sample ext-blog powered website can be found at my personal blog site:



The more is coming.




ext-blog do not use any compiler specific APIs, so it can run in most Common Lisp compilers in theory. But it still need to test. Currently ext-blog has been tested on those compilers:

These compilers are not well tested now:


You can use quicklisp to install ext-blog now (since 1.7.2012). So you can install ext-blog by :

(ql:quickload 'ext-blog)

After that, you can run ext-blog now, i.e:


ext-blog will launch a web server using hunchentoot at port 8080. So you can visit it to test:


If you're the first time to run ext-blog, there's no data files for your blog, so you will be redirected to initializing page to setup your blog. The setup page only needs admin user name and password.

After that, everytime you want to launch ext-blog, you can only load it in SBCL and start it, i.e:

(ql:quickload 'ext-blog)

NOTE: if you install ext-blog by quicklisp, it maybe not the latest version, so something will no work described in this document. You can get the latest version from Github.


ext-blog has some path relative configuration like data store path, log path etc. You can config these path by modifying src/specials.lisp.

In src/specials.lisp:

data-root: The root path for all data files, the default is currently path where you launched lisp compiler. entry-static-path: Store the uploaded images by metaweblog API. store-path: Store the blog data like posts, comments etc. font-path: the font file used to generate verify picture. log-path: The log file path. enable-log: t or nil, to enable/disable log.

Reporting Bugs

ext-blog is not well tested currently. If you find any bug or problems you can send me an email, and I will try to help you out. Feel free to send email to me kevinlynx at gmail dot com.


  1. The font in verify code picuture is too small?

You can find a pcf font file make the font much more bigger. Just put the font file in ./font and named it wenquanyi_12ptb.pcf. You can download this font file from: https://github.com/kevinlynx/ext-blog-data/blob/master/font/wenquanyi_12ptb.pcf

  1. When I visit localhost:8080 I got an error something like:

Recursive lock attempt #S(SB-THREAD:MUTEX :NAME “global-message-log-lock” :%OWNER #<SB-THREAD:THREAD “hunchentoot-worker-” RUNNING {B166361}> :STATE 1).

Actually this is a misleading error message. Just rm log and store directory in your data-root path which default in your current path.