A very simple and easy to use static blogger

Farooq Karimi Zadeh 1ec59b103f files thing is not optional 3 years ago
templates e6ddf025c1 Updating templates to use mustache 3 years ago
.gitignore edc9ce8fee Initial commit 4 years ago
LICENSE 547a011d6f ... 4 years ago
README.md 161c2bf30d Updating docs 3 years ago
fobil.lisp 1ec59b103f files thing is not optional 3 years ago



Farooq's Own Blogger In common Lisp

A very simple and easy to use static blogger coded by Farooq with the help of many of #clschool on freenode.


Create a directory with posts, pages and templates subdirectories and place fobil.lisp there. Three template files, index.html, post.html and page.html with appropriate format(like default template files which are in this repository) must be present in templates directory.

Create your posts and pages with markdown format in posts and pages directories. Now load fobil.lisp in the same directory:

sbcl --load fobil.lisp

And execute fobil function:


Voila! Your blog's post(s), page(s) and a index file has been created in out directory. But your blog's not ready yet. Copy image/js/css files with appropriate structure to out folder and then deploy. Finish!

Optionally if there is a files directory in the current directory(the one which you are running fobil from) with list.json file inside, fobil generates a files section for your website accessible at /files/ where root is the out folder of your website. For now there is no link to files section in the other pages and you have to copy files to out/files/ manually. list.json should be like this:

        "addr": "/absolute/path/to/file",
        "description": "This is a file"

Actually an array of dictionaries/maps each specifing address of file and its


  • Get root directory from user instead of the default current directory.
  • Copy html pages to out directory (in the case user, perhaps yourself, wants to create custom pages)
  • Convert links(currently you have to enter links ending in .html in posts and pages)


For code, it's under ISC. See LICENSE.

Default template files are under CC0.