我對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