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:
* Basic blog engine features including: post an entry, display an entry, post
* Support admin manage page so that you can manage your blog online
* Support custom themes
* Support RSS feed, only full export
* Support metaweblog API, only post/edit new entry
* Some basic themes ported by author
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:
* Clozure CL
These compilers are not well tested now:
* Allegro CL
* CLISP, I have tried this compiler, but failed with hunchentoot:start which
hangs the interpreter. After some google, I suppose it's because of CLISP
* CMUCL, some dependent libraries can not be compiled, i.e, parenscript
* Scieneer CL
You can use quicklisp to install ext-blog now (since 1.7.2012). So you can
install ext-blog by :
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:
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.
*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.
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
2. When I visit localhost:8080 I got an error something like:
Recursive lock attempt #S(SB-THREAD:MUTEX
Actually this is a misleading error message. Just rm log and store directory in
your *data-root* path which default in your current path.