2013-10-04 33 views
5

我試圖在cassius模板中使用@font-face選擇器,但沒有運氣。在yesod模板中跳出`@`

卡修斯使用@進行插值,有什麼辦法可以逃脫它嗎?

我試過@@\@,它們都不起作用。

以下模板

@font-face 
     font-family: 'Monsieur La Doulaise' 
     src: url('http://fonts.googleapis.com/css?family=Monsieur+La+Doulaise') 

結果

src: url('http://fonts.googleapis.com/css?family=Monsieur+La+Doulaise');} 

回答

0

這不是你的問題的解決方案,但我想我會讓你知道,遇到了今天上午有關的東西。我有下面的CSS部分:

.myclass { 
    background: #d880efe; 
    background-image:url(@{StaticR img_myimage_png}); 
    /* more stuff */ 
} 

當耶索德編譯CSS文件,它並沒有產生對background-image的URL。實際上,它跳過了整個行,​​並創建了一個稍有不同的background屬性。我最終跳過了`@ {StaticR ...}並對網址進行了硬編碼。當我有機會時,我會創建一個可重複的代碼。

所以我猜這是@插值問題,並沒有太多的轉義。您介意爲您的src嘗試@{Handler}嗎?如果那條線沒有被生成,那麼它可能是一個不同的問題,我們需要提交一個錯誤報告。

+0

嗨。我不認爲我們的問題是相關的。我只需要一個'@'符號出現在結果輸出中。我試過你的代碼,它工作得很好。也許你應該試試'cabal clean',它會在奇怪的事情發生時幫助你。 – lambdas

1

這是很醜陋的,但可能工作:

... defaultLayout $ do let atSym = "@" [cassius|#{atSym}font-face ... |] ...

換句話說,字符串綁定到「@」的值,並插值,在卡西烏斯文件。我現在無法檢查語法,但它可能工作。

+0

它確實有效。 – MasterMastic