首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >nanoc和多个布局

nanoc和多个布局
EN

Stack Overflow用户
提问于 2011-08-23 22:19:38
回答 1查看 1.5K关注 0票数 5

是否可以对特定(或所有)项目使用多个布局?例如,我有几个项目,我想对其应用两种不同的布局。一个是绿色的,另一个是蓝色的(但是)。我想把它们编译到我的输出目录中的两个不同的文件夹中(例如v1和v2)。

我在玩弄规则和编译代码块,但我不知道这是如何工作的。因为,每个项目在编译过程中只编译一次,我不能告诉nanoc第一次用layout1编译,第二次用layout2编译。我尝试了这样的东西,但它导致输出文件损坏。

代码语言:javascript
复制
compile '*' do
  if item.binary?
    # don’t filter binary items
  else
    filter :erb
    layout 'layout1'
    layout 'layout2'
  end
end

希望我说得很清楚有人能帮上忙。

thx,tux

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-08-27 15:30:37

项表示就是为了达到这个目的。您可以创建两种不同的表示法,例如默认表示法和备用表示法,然后对它们应用编译和路由规则,如下所示:

代码语言:javascript
复制
# 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
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7162517

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档