Shammer's Philosophy

My private adversaria

write html file with cl-markup

There is a manual about cl-markup.

GitHub - arielnetworks/cl-markup: Modern markup (HTML) generation library for Common Lisp

There is a clue about changing output-stream. Based on this information, I tried following code and succeeded to generate html file.

(with-open-file (f "sample.html" :direction :output)
    (let ((*output-stream* f))
      (html
        (:head
          (:meta :content "text/html" :charset "UTF-8")
          (:title "cl-markup sample"))
        (:body
          (:p "Hello, cl-markup!")))))

The way how to generate html file with cl-markup is very simple. I feel there are a lot of pattern to replace some value by let form. Maybe this is orthodox pattern.