2015-11-04 6 views
4

После нескольких дней попыток обернуть мой мозг вокруг молнии, я думаю, что, наконец, понимаю, как их создать из последовательных данных.Clojure: zipper -> html

Однако после поиска нескольких дней я не могу найти какие-либо ресурсы о том, как конвертировать молнию во что-то другое. В принципе, я хочу преобразовать некоторые данные в формат, который я могу передать Hiccup для создания некоторого HTML.

Есть ли хорошие ресурсы для того, что я должен делать, чтобы преобразовать дерево молнии в другую структуру данных?

ответ

2

Я думаю, что у вас есть это в обратном направлении, но это хорошо. Способ использования молнии - создать молнию, которая работает для вашей структуры данных, а не наоборот. Hickory - отличный пример. This - хороший пример для молнии, которая использует карты вместо последовательностей.

+0

Hrmm. Я использовал молнию, потому что я решил, что это быстрый способ конвертировать 10 000+ последовательных записей (результаты запроса базы данных, которые имеют parent_id для идентификации родителя) в древовидную структуру, поэтому я мог бы затем использовать Hiccup (или любую систему шаблонов) превратите это дерево в HTML. Есть ли быстрый способ сделать это - возможно, используя группу или что-то еще? –

+0

Почему бы не конвертировать записи db в hiccup напрямую без застежек-молний? '(html (применить вектор: ul (map # (вектор: li (: name%)) db-records)))' – edbond

+0

Потому что я хочу, чтобы записи db отображались как вложенные комментарии (стиль Reddit), а не просто один поток - или будет ли (применять вектор &) обрабатывать превращение их в древовидную структуру? –