中间人博客:自定义布局未加载

时间:2015-02-14 15:22:03

标签: ruby blogs middleman

在Middleman,我正在尝试建立一个博客网站,使用博客的自定义布局。我的问题是主要布局是加载,但我的文章的博客布局不是。文章文件正在与他们的简单机构一起提供。

source/layouts/我有两个文件:layout.erbarticle_layout.erb

我的意图是将article_layout.erb用于我的博客文章。

在config.rb中,我有以下内容:

activate :blog do |blog|
  blog.sources = "articles/{category}/{year}-{month}-{day}-{title}.html"
  blog.layout = "article_layout"
end

我也尝试将article_layout.erb移至source/articles/,并在此前面添加config.rb文件:blog.layout = "layouts/article_layout"

另一种失败的方法是注释掉上述选项并通过添加此行来配置布局:page "/articles/*", layout: "article_layout"

到目前为止,这些方法都没有显示出差异。由于没有呈现默认布局,如果找不到布局的路径,我会发现某种错误消息,但没有显示任何内容。

1 个答案:

答案 0 :(得分:1)

我设法用我自己的Middleman博客设置复制你的问题。 文档对此不清楚,因为Blogging的布局部分中存在链接断开。

您需要使用Middleman的嵌套布局功能并将自定义布局包装在:

<% wrap_layout :layout do %>

<% end %>

所以你的article_layout.erb看起来像这样:

<% wrap_layout :layout do %>

 <div class="article-container"> 
   <article>
     <h2 class="article-title"><%= current_page.title %></h2>
     <%= yield %>
   </article>
 </div>

<% end %>

并将自定义布局保留在source/layouts文件夹中。

以下是Nested Layouts的文档供您参考。

我希望这会有所帮助。