Начало работы с CSS в Compojure?

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

  1. Как я могу включать jQuery, а также другие таблицы стилей?
  2. Как может я включать встроенный CSS, таким образом, я могу добавить текст - выровняйтесь: центр, например, для испытания быстрых изменений?

Обычный jQuery включает:


<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"/>

Основной Привет Мировой сервер без форматирования: (Обновленный для включения статической маршрутизации фиксируют так других, будет в порядке более быстрый),


(ns hello-world
  (:use compojure))

(defn index
  [request]
    (html
    [:h1 "Hello World"]
    [:p "This is ugly with CSS!"])
    )

(defn hello
  [request]
  (html ""
   [:title "A very long title"]
   [:div.comment
    [:h1 "Hello's Page"]
    [:p "This would look better with some CSS formatting!"]]
))

(defroutes greeter
  (GET "/" index)
  (GET "/h" hello)
  (GET "/*"
       (or (serve-file "/opt/compojure/www/public" (params :*)) ;; This is needed to find CSS and js files
       :next))
  (ANY "*"
       (page-not-found) ;;  404.html is in /opt/compojure/www/public/404.html
  ))


(run-server {:port 9090}
  "/*" (servlet greeter))

9
задан 25 January 2010 в 07:01
поделиться

1 ответ

Вы можете включить стиль Атрибуты, чтобы назначить ваши «inline CSS стилей», используя синтаксис, например:

[:h1 {:style "background-color: black"} "Hello's Page"]

, вы также можете включить таблицу стилей и JavaScript, используя функции include-CSS и включают в себя функции js.

(defn hello
  [request]
  (html ""
   [:html
     [:head
        [:title "A very long title"]
        (include-css "my css file")
        (include-js "http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js")]
     [:body
       [:div.comment
          [:h1 "Hello's Page"]
          [:p "This would look better with some CSS formatting!"]]]]))

Чтобы служить статические файлы, такие как файлы CSS и JS, вам нужно слегка изменить свой маршрут слегка и добавить что-то вроде:

   (GET "/*"
    (or (serve-file "PATH_TO_FILES" (params :*)) :next))

В противном случае ваш локальный файл CSS никогда не будет подан.

12
ответ дан 4 December 2019 в 19:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: