我在nanoc中使用partials,我想知道是否可以在nanoc中嵌套部分。换句话说,我可以部分局部吗?
当我测试这个时,网站已编译,但嵌套的部分没有显示。
我正在使用此stackoverflow帖子中描述的Partials实现:Must include files in nanoc always be in the layouts folder?
虽然我们正在尝试做的事情不需要嵌套的部分,但我只是想知道这是否可行。
提前谢谢你。
答案 0 :(得分:3)
是的,你可以使用带有nanoc的嵌套部分。这是一种证明这一点的方法:
使用nanoc创建新网站。
在网站目录中,创建文件夹content/partials
。
创建“外部”和“内部”部分内容。在文件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.
请注意,我们现在有一部分包含另一部分的内容。
修改主页content/index.html
,以便嵌入外部部分:
<h1>A Brand New nanoc Site</h1>
<%= @items['/partials/_outer/'].compiled_content %>
将这些规则添加到上面的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
现在使用nanoc compile
生成网站。当你查看它时,你会看到内部部分内容嵌套在外部部分内容中,嵌套在主页面内,如下所示:
这是外部的部分。
这是内部的部分。