Как я могу вывести HTML-комментарий в Compojure/Hiccup?

Я хочу, чтобы моя программа выводила следующий HTML-код:

<!--[if lt IE 8]><link rel="stylesheet" href="../blueprint/ie.css" type="text/css" media="screen, projection"><![endif]-->

Есть ли способ вывода html комментариев с помощью Hiccup?

Ответы

Ответ 1

Просто вставьте их. Может быть, это немного обман, но он работает...

user=> (html
         [:html
          [:head
           "<!--[if lt IE 8]>"
           [:link {:rel  "stylesheet"
                   :href "../blueprint/ie.css"
                   :type "text/css"
                   :media "screen,projection"}]
           "<![endif]-->"]])
<html><head><!--[if lt IE 8]><link href=\"../blueprint/ie.css\" media=\"screen,projection\" rel=\"stylesheet\" type=\"text/css\" /><![endif]--></head></html>

Ответ 2

Мне было любопытно, поэтому я перечитываю код: нет явной функции комментариев - вам нужно передать это как строковый литерал. Но вы могли бы сделать что-то вроде:

(defn comment
  "Wrap the supplied HTML in a comment"
  [html]
  (str "<!--" html "-->"))

если вам действительно нужна функция (хотя и довольно упрощенная). Вы всегда можете добавить оператор IE if в качестве необязательного параметра.