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.