Here's how you might write a photo gallery: (define-dynamic-pages "(.*)\.jpg" "\1.jpg" reader: copy-file) (define-dynamic-pages "(.*)\.jpg" "\1.thumb.jpg" reader: read-jpeg renderer: (cut make-thumbnail 16 16 <>)) (define-page "index" (map (lambda (f) '(li (a (@ (href ,(conc (match 1 f) ".jpg"))) (img (@ (src ,(conc (match 1 f) ".thumb.jpg"))))))) (file-list "(.*)\.jpg")))