是否可以为特定(或所有)项目使用多个布局?例如,我有几个项目,我想对它应用两种不同的布局.一个有绿色,一个有蓝色背景(但是).我想在输出目录中的两个不同的文件夹中编译它们(例如v1和v2).
我正在玩规则和编译块,但我无法弄清楚这是如何工作的.因为,在编译过程中每个项目只编译一次,我不能告诉nanoc第一次用layout1编译它,第二次用layout2编译它.我尝试过这样,但它导致输出文件损坏.
compile '*' do
if item.binary?
# don’t filter binary items
else
filter :erb
layout 'layout1'
layout 'layout2'
end
end
Run Code Online (Sandbox Code Playgroud)
希望我能说清楚,有人可以提供帮助.
thx,tux
项目表示用于此目的.您可以创建两个不同的表示形式,例如默认表示形式和另一个表示形式,然后将编译和路由规则应用于它们,如下所示:
# default rep, although you can pass
# :rep => :default explicitly too
compile '/stuff/*/' do
filter :erb
layout 'default'
end
route '/stuff/*/' do
# /stuff/foo/ -> /boring/stuff/foo/
# Just an example; you probably need something else
'/boring' + item.identifier
end
compile '/stuff/*/', :rep => :special do
filter :erb
layout 'special' # this is different
end
route '/stuff/*/', :rep => :special do
# /stuff/foo/ -> /special/stuff/foo/
# Again, just an example
'/special' + item.identifier
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1508 次 |
| 最近记录: |