0
문제를 니펫을 : Enlive 조각 펑키 HTML을Enlive 나에게 이상한 HTML을 제공
문제의비주얼 참조 : http://i.imgur.com/FIOzgZv.png
이 질문에 이상한 HTML에 대한 기본의
(ns notebook.handler
(:require [compojure.core :refer :all]
[compojure.handler :as handler]
[compojure.route :as route]
[net.cgrand.enlive-html :as html]))
(html/defsnippet nav "templates/nav.html" [:*]
[])
(html/deftemplate home-page "templates/base.html"
[]
[:body] (html/prepend (nav)))
(defroutes app-routes
(GET "/" [] (home-page))
(route/resources "/")
(route/not-found "Not Found"))
(def app
(handler/site app-routes))
내용을 코드의 하단을 참조하십시오 .html :
<html>
<head>
<link rel=stylesheet href="css/base.css">
</head>
<body>
</body>
</html>
nav.html의 내용 : 3000 방문 : 로컬 호스트가
<nav>
<ul>
<li>FlatNotes</li>
</ul>
</nav>
HTML은
<html>
<head>
<link href="css/base.css" rel="stylesheet" />
</head>
<body><nav>
<ul>
<li>FlatNotes</li>
</ul>
</nav><ul>
<li>FlatNotes</li>
</ul><li>FlatNotes</li>
</body>
</html>
(reduce str (html/emit* (nav)))
보여줍니다 문제를 의미 이상한 HTML은 deftemplate
전에 defsnippet
에서 발생
"<nav>\n <ul>\n\t<li>FlatNotes</li>\n </ul>\n\n</nav><ul>\n\t<li>FlatNotes</li>\n </ul><li>FlatNotes</li>"
어쩌면 내가 약 틀리지 무엇 [:*]
을 근본적인 오해가 있거나 내가 알지 못하는 잡동사니가 있습니다. 이미 코드를 최소한으로 줄였습니다.