Я относительно новичок в 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 в одной строке. HTML Tidy не находит проблем с содержимым выходного файла. Выдается в виде одной строки, если я println
это тоже на REPL.
Нужно ли что-нибудь еще для получения форматированного вывода?