나는 lazyseq을 생산하는이 스 니펫에 문제가 있고 확대 된 템플릿을 만들고 있습니다. REPL에서이 sniptest를 시도하면 "[email protected]"가 생성됩니다.Clojure : 왜 sniptest LazySeq을 생산하고 있습니까
(h/sniptest (template-div)
[:div.Row] (h/content (map #(value-cell %)
(for [e(:data-content msh-contents)]
(vals e)))))
이
(require '[net.cgrand.enlive-html :as h])
(def msh-contents {:title "Events mashup",
:data-content [{:title "ICTM Study Group ",
:url "http://some-url.com"}
{:title "Volodja Balzalorsky - Hinko Haas",
:url "http://some- other-url.com"}
]})
(defn template-div[] (h/html-resource "index.html"))
(h/defsnippet value-cell (template-div)
[:div.Row :div.Cell] [value]
(h/content value))
index.html 파일이 같은 (그것은 또한 여기 http://www.filedropper.com/index_25을 찾을 수 있습니다))
<div class="Table">
<div class="Title">
<p>This is a Table</p>
</div>
<div class="Heading">
<div class="Cell">
<p>Heading 1</p>
</div>
</div>
<div class="Row">
<div class="Cell">
<p>Row 1 Column 1</p>
</div>
</div>
보이는 것처럼이 보이는 테스트하는 데 필요한 코드의 나머지
나는 비슷한 질문을 보았지만 해결책은 html 콘텐츠 대신 콘텐츠를 사용하는 것이 었습니다. 예에서 소스가 HTML 문자열이 아닌 형태로 얼마나 "Loads an HTML resource, returns a seq of nodes."
주의 사항 : html-resource
문서화 문자열에서 https://github.com/cgrand/enlive/wiki/Getting-started
x=> (sniptest "<html><body><span>Hello </span>"
[:span] (append "World"))
"<html><body><span>Hello World</span></body></html>"
에서 여기에 문제가 ...
부적절한 들여 쓰기가 실제로 demotivating입니다. –
@ A.Webb 들여 쓰기를 변경했습니다. 죄송합니다. – Vesna