2010-01-25 20 views
9

İnternette çok basit bir web sayfası buldum ve şimdi açık olanı yapmak ve bazı CSS'leri eklemek istiyorum, böylece daha güzel sayfalar oluşturabiliyorum.Compojure'da CSS'yi kullanmaya başlama?

  1. JQuery'yi ve diğer stil sayfalarını nasıl ekleyebilirim?
  2. Satır içi CSS'yi nasıl ekleyebilirim, böylece hızlı değişiklikleri denemek için metin-align: center içine atabilir miyim?

Düzenli jQuery şunlardır:

 

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

Temel Merhaba Dünya sunucusu : (diğerleri kadar ve daha hızlı çalışan olacak, böylece statik yönlendirme düzeltme içerecek şekilde Güncelleme)

 

(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)) 
 
+2

Bu şimdi güncel değil. – hawkeye

cevap

12

Içerebilir 'inline css stilleri', aşağıdaki gibi sözdizimini kullanarak atamak için stil öznitelikleri:

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

Ayrıca, include-css ve include-js işlevlerini kullanarak bir stil sayfası etiketi ve javascript ekleyebilirsiniz.

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

aksi halde yerel css dosyası hizmet olsun asla: css ve gibi bir şey biraz rotanız deyimi değiştirmek ve eklemek gerekecektir js dosyaları gibi statik dosyalara hizmet için

(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!"]]]])) 

.

+0

Her ikisini de (include-css "style.css") ve (include-css "/style.css") denedim ancak 404. style.css, hello.clj ile aynı dizinde. –

+0

Evet, statik dosyaları GET "/ *" ile işlemek gerekiyordu ... http://en.wikibooks.org/wiki/Compojure/Tutorials_and_Tips –

+2

Bu tarih güncel değil. Daha iyi bir şeye ihtiyacımız var. – hawkeye

İlgili konular