我对Clojure和一个完整的HTML/Compojure处女相对较新。我试图用Compojure使用类似下面的函数来创建HTML的静态页面: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
说法是不相关的。只需在有保证的例子可以编译和运行在我的计划。)
“编程Clojure的”表示,调用html
功能将产生HTML格式 - 多行缩进。我所得到的就是预期的文档类型,然后是单行上的所有HTML。 HTML Tidy没有发现输出文件内容的任何问题。如果我在REPL也是println
,它会作为一条线出现。
还有什么需要获得格式化输出?
感谢另一个答案布赖恩。我对Firebug并不熟悉,但在玩了几分钟后,它似乎给了我一直在寻找的调试能力。 我也在http://www.erik-rasmussen.com/blog/2009/09/08/xml-renderer-in-clojure/上找到了另一个有趣的方法。还没有尝试过,但看起来比开发我的打印机功能更容易(更快)。或者我可以只抓取格式化的早期版本的Compojure。 – clartaq 2009-12-17 20:06:12