Skip to content

Commit

Permalink
Allow custom sorting for collections (mmistakes#2723)
Browse files Browse the repository at this point in the history
* Allow custom sorting for collections

* Update docs with custom sort of collections

* Refactoring
  • Loading branch information
n-elie authored Feb 6, 2021
1 parent 7bb23a2 commit b77fbeb
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 13 deletions.
18 changes: 6 additions & 12 deletions _includes/documents-collection.html
Original file line number Diff line number Diff line change
@@ -1,17 +1,11 @@
{% assign entries = site[include.collection] %}

{% if include.sort_by == 'title' %}
{% if include.sort_order == 'reverse' %}
{% assign entries = entries | sort: 'title' | reverse %}
{% else %}
{% assign entries = entries | sort: 'title' %}
{% endif %}
{% elsif include.sort_by == 'date' %}
{% if include.sort_order == 'reverse' %}
{% assign entries = entries | sort: 'date' | reverse %}
{% else %}
{% assign entries = entries | sort: 'date' %}
{% endif %}
{% if include.sort_by %}
{% assign entries = entries | sort: include.sort_by %}
{% endif %}

{% if include.sort_order == 'reverse' %}
{% assign entries = entries | reverse %}
{% endif %}

{%- for post in entries -%}
Expand Down
7 changes: 6 additions & 1 deletion docs/_docs/10-layouts.md
Original file line number Diff line number Diff line change
Expand Up @@ -250,7 +250,7 @@ This layout displays all documents grouped by a specific collection. It accommod
collection: # collection name
entries_layout: # list (default), grid
show_excerpts: # true (default), false
sort_by: # date (default) title
sort_by: # date (default), title or any metadata key added to the collection's documents
sort_order: # forward (default), reverse
```

Expand All @@ -264,6 +264,11 @@ collection: recipes
```

If you want to sort the collection by title add `sort_by: title`. If you want reverse sorting, add `sort_order: reverse`.
You can also use any metadata key that is present in the documents. For example, you can add `number: <any number>` to your documents and use `number` as the sort key:

```yaml
sort_by: number
```

### `layout: category`

Expand Down

0 comments on commit b77fbeb

Please sign in to comment.