私は 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
引数はここでは関係ありません。例がコンパイルされ、私のプログラムで実行されることを保証するためだけです。)
「Clojure のプログラミング」では、このhtml
関数を呼び出すと、書式設定された HTML (インデント付きの複数行) が生成されることが示されていました。私が得るのは、期待どおりのドキュメントタイプと、それに続くすべての HTML が 1 行にあることだけです。HTML Tidyは、出力ファイルのコンテンツに関する問題を検出しません。println
REPLでも1行で出てきます。
フォーマットされた出力を取得するために他に必要なものはありますか?