1

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 %>

仲介業者がこの機能を提供しているかどうかさえわかりませんが、ルビーにはあまり詳しくありません。

4

1 に答える 1

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>

例えば

  • 2013年
    • 8月
    • 7月
    • 六月
    • ...

(上記はGithub のこの Middleman テンプレートから借用したものだと確信していますが、そうでない場合は Github で " blog.articles.group_by month" を検索して見つけました。)

于 2013-08-29T15:07:22.750 に答える