簡體   English   中英

對檔案進行分類/分組

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM