nanoc是否支持嵌套的部分?

时间:2014-01-23 23:15:31

标签: nested partial nanoc

我在nanoc中使用partials,我想知道是否可以在nanoc中嵌套部分。换句话说,我可以部分局部吗?

当我测试这个时,网站已编译,但嵌套的部分没有显示。

我正在使用此stackoverflow帖子中描述的Partials实现:Must include files in nanoc always be in the layouts folder?

虽然我们正在尝试做的事情不需要嵌套的部分,但我只是想知道这是否可行。

提前谢谢你。

1 个答案:

答案 0 :(得分:3)

是的,你可以使用带有nanoc的嵌套部分。这是一种证明这一点的方法:

  1. 使用nanoc创建新网站。

  2. 在网站目录中,创建文件夹content/partials

  3. 创建“外部”和“内部”部分内容。在文件content/partials/_outer.html中,放置:

    <p>This is the outer partial.</p>
    
    <p><%= @items['/partials/_inner/'].compiled_content %></p>
    

    在文件content/partials/_inner.html中:

    This is the inner partial.
    

    请注意,我们现在有一部分包含另一部分的内容。

  4. 修改主页content/index.html,以便嵌入外部部分:

    <h1>A Brand New nanoc Site</h1>
    
    <%= @items['/partials/_outer/'].compiled_content %>
    
  5. 将这些规则添加到上面的Rules 已存在的规则:

    # Filter but do not lay-out partial content
    compile '/partials/*' do
      filter :erb
    end
    
    # Do not output partials; they are only ever embedded in other content
    route '/partials/*' do
      nil
    end
    
  6. 现在使用nanoc compile生成网站。当你查看它时,你会看到内部部分内容嵌套在外部部分内容中,嵌套在主页面内,如下所示:

    全新的nanoc网站

    这是外部的部分。

    这是内部的部分。