我对 Clojure 和一个完整的 HTML/Compojure 处女比较陌生。我正在尝试使用 Compojure 使用类似于以下的函数创建 HTML 的静态页面:
(defn fake-write-html
[dir args]
(let [file (str dir *file-separator* *index-file*)
my-html (html
(doctype :html4)
[:html
[:head
[:title "Docs and Dirs:"]]
[:body
[:div
[:h2 "A nice title"]]
[:div
[:ul
[:li "One"]
[:li "Two"]]]]])]
(clojure.contrib.duck-streams/spit file my-html)))
该函数只是将 HTML 写入文件。(这里的args
论点无关紧要。只是为了确保示例在我的程序中编译和运行。)
“Programming Clojure”表明对该html
函数的调用将产生格式化的 HTML——多行带有缩进。我得到的只是预期的文档类型,然后是一行中的所有 HTML。HTML Tidy没有发现输出文件的内容有任何问题。println
如果我也在 REPL 上,它会以单行形式出现。
是否需要其他东西来获得格式化输出?