;;;;;
-title: Tumble log
+title: Tumblelog design
tags: lisp
-date: 2014-08-20 23:35:02
+date: 2014-11-28 21:30
format: md
;;;;;
-And in addition to the longform variant of writing on this blog I'm adding a
-tumble log (no, not Tumblr, although I'm planning to migrate old posts from
-there). It generates static pages (like Coleslaw), which will be okay for the
-forseeable future and can therefore be deployed absolutely everywhere.
+Yay, found time to give my tumble log a little theme upgrade. And while I'm
+doing that, I thought I could write down some thoughts on the current design.
+I might even update it later.
+
+In contrast to this Coleslaw blog I've made a small static renderer to
+HTML/ATOM for the tumble log, so the interface is mostly console vim to text
+file with S-expressions. Since at the moment there is only a single file I
+might just show the syntax for that one:
+
+ ;; -*- mode: lisp; coding: utf-8-unix; -*-
+
+ (video :id 1 :date @2013-05-23T00:00:00+01:00 :tags (music) :url #U"https://www.youtube.com/watch?v=QNppCfa_oRs" :title "I Charleston Tel Aviv" :via #U"http://n0p.tumblr.com/post/51100501191/i-charleston-tel-aviv")
+ ...
+ (image :id 3 :date @2014-08-16T01:01:00+01:00 :url #U"http://n0p.tumblr.com/post/94859150275" :src #P"data/tumblr_n17lclGKp51qdewwao1_1280.jpg" :alt "Scene from the mange BLAME!")
+ ...
+ (text :id 22 :date @2014-08-28T21:22:58.047809+01:00 :tags (emacs lisp) :text #"`(global-set-key (kbd "H-1") ...)` Hyper Hyper! In other words, bind `Caps-Lock` to `Hyper` and rejoice!"#)
+ ...
+ (link :id 88 :date @2014-11-20T17:27:05.107413+01:00 :url #U"http://htsql.org/" :title "HTSQL")
+
+Clearly this would be viable to store in a DBMS as well, but this is good
+enough as they say. Featuring `PURI`, a few other syntax extensions, (my fork
+of) `CL-WHO` (for XML extensions) and `CL-MARKDOWN` for text rendering. The
+Markdown rendering could use a few fixes for edge cases, but in general it
+works pretty well and fast. Tags are also written to separate files (both HTML
+and ATOM), so readers could actually restrict themselves to a few subsets, even
+though it's not a by any stretch a full-fledged query system.
+
+Still, by rendering to static files a lot of problems go away and the whole
+site can be served very efficiently via a small web server (I'm leaving
+Hunchentoot/teepeedee2 for more involved projects).