2013-01-09 46 views
1

如何在DocPad中的特定文檔或佈局中添加樣式表或腳本?如何在DocPad中的特定文檔或佈局中添加腳本或樣式表?

如果我使用類似:

<%- @getBlock('scripts').add(["/local.js"]).toHTML() %> 

該腳本將被添加其中的內容或佈局呈現。

但是,是否可以添加最後添加的腳本與在默認佈局上聲明的其他腳本?或者在<head>的樣式表或<meta>的情況下?

在WordPress中,您可以使用wp_headwp_footer掛鉤來完成此操作。有什麼樣的等效機制?

回答

5

以下是您所追求的內容?

<%- @getBlock('scripts').add(@site.scripts or []).add(@document.scripts or []).add(['/whatever/else.js']).toHTML() %> 
+0

是的,這似乎更容易!謝謝! – Dharma

0

我在​​定義的輔助函數:

dpBlock: (type) -> 
    blocks = [] 
    blocks = blocks.concat @site[type] if @site[type] and Array.isArray @site[type] 
    blocks = blocks.concat @document[type] if @document[type] and Array.isArray @document[type] 
    @getBlock(type).add(blocks).toHTML() if blocks.length > 0 

然後,我只是在@site和/或@document級別定義腳本,樣式,和元的數組,並使用助手功能默認佈局。

+0

我認爲上面的塊檢查實際上可能會導致問題。因爲,可能沒有明確的腳本,但仍有一些仍然由插件注入(例如livereload)。所以,如果沒有定義自定義腳本,則livereload代碼也不會加載。 –

相關問題