我正在使用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不是很熟悉。
答案 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。
(我很确定我从this Middleman template on Github借用了上述内容,但如果没有,则通过Github搜索“blog.articles.group_by month
”。)