Как вы устанавливаете путь к файлу для css в икоте с Clojure, используя тег html5?

Я изучаю самые основы веб-разработки с помощью Clojure, но, похоже, не могу заставить свой css работать с помощью икоты. Я проверил несколько возможных путей к файлу, попытался установить ссылку вручную с помощью тегов и даже попытался добавить строку html5, вверху файла .css. Кажется, ничего не работает. Я уверен, что есть идиоматический способ сделать это, которого я просто не знаю. Если бы кто-то мог сказать мне, как использовать hiccup и css вместе, чтобы это гарантированно работало, я был бы очень благодарен.

У меня есть эта древовидная структура для моего каталога:

.____resources
| |____public
|  |____404.html
|  |____500.html
|  |____home.css <- I want to see this augmenting the html5 in home from the landing.clj, below.
|____src
 |____clojuregrade
  |____landing.clj <- home function with html5 is here.
  |____web.clj

У меня есть эта функция в файле Landing.clj выше:

(defn home [& [weights grades error]]
  (html5
    [:head
    [:title ...]
     (include-css "/public/home.css")] ;; <- Is this right?
    [:body
   (form-to [:post "/"]
     (text-area ...)]
     (text-area ...)]
     (submit-button "process"))]))

У меня есть этот код из home.css выше:

body {
    background-color: #BAC4E8;
}

h1 {
    font-family: Garamond;
    color: #29507A;

}

примечание: я сократил приведенный выше код, чтобы попытаться обобщить вопрос, чтобы сделать его полезным для будущих пользователей.


person kurofune    schedule 03.03.2014    source источник


Ответы (1)


Нет, вам не нужно ставить префикс public, достаточно либо /home.css, либо home.css. Если вы используете Compojure, обратите внимание, что вам необходимо явно указать свои ресурсы (проверьте: https://stackoverflow.com/a/7820392/206020 ).

person ponzao    schedule 03.03.2014
comment
Добавление (маршруты/ресурсы/) в мой метод GET помогло! Отличный ответ. Ясно и понятно. Спасибо. - person kurofune; 03.03.2014