[英]Sorting/grouping collections for an archive
我正在建立我的第一個網站,並且很難對收藏進行分組/分類。 我獲得的唯一成功是使用子目錄的文件列表,這些文件按子目錄的字母順序排序,然后按文件的日期(似乎是默認值)排序:
<ul>
{% for page in site.collection_name | sort: weight %}
<a href="{{ page.url }}"><h3>{{ page.title }}</h3></a>{{ page.category }}{{page.excerpt}}
{% endfor %}
</ul>
重量(以上)不起作用。 我沒有替換類型,類別或任何其他變量。
我的文件位於子目錄中,並具有以下永久鏈接:
/ collection_name / category_name / file_name /
首要事項包括:標題,類別,布局,類型(嘗試了其他幾項)
該館藏將具有多種文件類型,例如:文章,視頻,研究
我要完成的工作是首先按類別,然后按類型循環遍歷我的收藏集。 用非常糟糕的偽代碼:
<ul>
{% for page in site.{{category_name}} %}
<li><h2>{{category01}}</h2></li>
<ul>
{% for type in site.{{category_name.type}} | sort: date reverse%}
<li><h3>Articles</h3></li>
<li><a href="{{ page.url }}">{{ page.title }}</a>{{page.excerpt}}</li>
<li><h3>Videos</h3></li>
<li><a href="{{ page.url }}">{{ page.title }}</a>{{page.excerpt}}</li>
<li><h3>Research</h3></li>
<li><a href="{{ page.url }}">{{ page.title }}</a>{{page.excerpt}}</li>
</uL>
<li><h2>{{category02}}</h2></li>
. . .
. . . {% endfor %}
任何幫助或指示,將不勝感激。
嘗試使用group_by
:
{% assign byCategory = site.collection_name | group_by: 'category' | sort: 'name' %}
{% for cat in byCategory %}
<h2>{{ cat.name | capitalize }}</h2>
{% assign byType = cat.items | group_by: 'type' %}
{% for type in byType %}
<h3>{{ type.name | capitalize }}</h3>
<ul>
{% for item in type.items %}
<li>{{ item.title }}</li>
{% endfor %}
</ul>
{% endfor %}
{% endfor %}
注意:這適用於category: mycategory
不適用於categories: [one, two]
如果要專門訂購類型,可以執行以下操作:
_config.yml
# this array determine types order
# a collection itm with non matching type will not be listed
types :
- articles
- videos
- research
碼
{% assign byCategory = site.area | group_by: 'category' %}
{% for cat in byCategory %}
<h2>{{ cat.name }}</h2>
{% assign byType = cat.items | group_by: 'type' %}
{% for type in site.types %}
{% assign currentType = byType | where:"name", type | first %}
<h3>{{ currentType.name | capitalize }}</h3>
<ul>
{% for item in currentType.items %}
<li>{{ item.title }}</li>
{% endfor %}
</ul>
{% endfor %}
{% endfor %}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.