2016-11-06 2 views
2

私のウェブサイトから投稿のアーカイブページを作成しようとしています。私が希望することは、この形式での月別ポストの各リストのページを持つことができるようにすることです:ジキルの月ごとの投稿

www.mywebsite.com/2016/11 11月2016

のためのすべての投稿を表示するであろうことができます私新しい月に投稿するたびに動的に作成された毎月のページがありますか?毎月新しいページを手動で作成する必要はありません。任意の助け

<ul> 
{% for post in site.posts %} 
    {% assign currentdate = post.date | date: "%Y" %} 
    {% if currentdate != date %} 
    <li id="y{{currentdate}}">{{ currentdate }}</li> 
    {% assign date = currentdate %} 
    {% endif %} 
    <li><a href="{{ post.url }}">{{ post.title }}</a></li> 
{% endfor %} 
</ul> 

ありがとう:

私はまだのような年でグループの投稿をすることができます。

答えて

3

dateフィルタを修正して、その月を統合することができます。 date: "%B %Y"。これは私がレイアウトで使用したもので、月ごとに別々の<ul>です。

documentationから、dateフィルタの月のみの値は次のとおりです。

  • %b:月の省略名。
  • %B:満月の名前。
  • %m:年の月(01 - 12)。

完全なループ:ページの生成について

<ul> 
{% for post in site.posts %} 
    {% assign currentdate = post.date | date: "%B %Y" %} 
    {% if currentdate != date %} 
    <li id="y{{currentdate}}">{{ currentdate }}</li> 
    {% assign date = currentdate %} 
    {% endif %} 
    <li><a href="{{ post.url }}">{{ post.title }}</a></li> 
{% endfor %} 
</ul> 

は、私の知る限りこれが唯一のプラグインを介して行うことができます。プラグインを使用できない場合(例: GitHubでページをホスティングしている場合は、this answerのようにレイアウトに依存する短いYAMLフロントマットにページを縮小することが最善の方法です。

+0

ありがとう、それは私を助けました。私はGitHubでホスティングしていますので、プラグインを使用しません(正直なところ、サイトをできるだけ軽量にしたいので、外部プラグインに依存したくないです)。 – colmulhall

関連する問題