Middleman App,按月分类博客文章

时间:2013-08-26 04:21:34

标签: middleman

我正在使用middlemanapp创建一个博客。我正在尝试输出按月和年排序的博客文章存档,以显示在侧边栏中。例如。 2010年4月,2010年5月,2010年6月,可点击链接到档案。

到目前为止,下面的代码将以数字形式输出月份(例如,7月输出为7),我需要有一个按月显示的列表,如上所示。

<% blog.articles.group_by {|a| a.date.month }.each do |month, articles| %>
 <li><%= link_to month, blog_year_path(month) %> </a></li>
 <% end %>

有人可以提供帮助,我甚至不确定中间人是否提供此功能,但我对ruby不是很熟悉。

1 个答案:

答案 0 :(得分:2)

我找不到一个简单的内置方式来与Middleman一起做这件事,但以下内容将为您提供一个包含年份和月份的嵌套列表,以及相关链接:

<ul>
<% blog.articles.group_by {|y| y.date.year }.each do |year, articles| %>
    <li> 
        <a href="<%= blog_year_path(year) %>">
        <%= year %>
    </a>
    <ul>
    <% articles.group_by {|a| a.date.month}.each do |month, month_articles| %>
    <li><%= link_to month_articles.first.date.strftime("%B"), blog_month_path(year, month) %></li>
    <% end %>
    </ul>
<% end %>
    </li>
</ul>

e.g。

  • 2013
    • 八月
    • 七月
    • 六月
    • ...

(我很确定我从this Middleman template on Github借用了上述内容,但如果没有,则通过Github搜索“blog.articles.group_by month”。)