diff --git a/_includes/documents-collection.html b/_includes/documents-collection.html
index 376a509e3e49..e88d8c4c46a2 100644
--- a/_includes/documents-collection.html
+++ b/_includes/documents-collection.html
@@ -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 -%}
diff --git a/docs/_docs/10-layouts.md b/docs/_docs/10-layouts.md
index 50b13df13bc6..048318823ef0 100644
--- a/docs/_docs/10-layouts.md
+++ b/docs/_docs/10-layouts.md
@@ -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
```
@@ -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: ` to your documents and use `number` as the sort key:
+
+```yaml
+sort_by: number
+```
### `layout: category`