Add ordered and featured feature collections

This commit is contained in:
Marc Froehlich
2026-07-07 00:12:20 +02:00
parent 59638f6ab3
commit 8f46909ebf
3 changed files with 16 additions and 2 deletions
+14
View File
@@ -28,6 +28,20 @@ function rewriteManualLinks(content, lang) {
module.exports = function (eleventyConfig) { module.exports = function (eleventyConfig) {
eleventyConfig.addCollection("sortedFeatures", function (collectionApi) {
return collectionApi.getFilteredByTag("features").sort((a, b) => {
return (a.data.order || 999) - (b.data.order || 999);
});
});
eleventyConfig.addCollection("featuredFeatures", function (collectionApi) {
return collectionApi.getFilteredByTag("features")
.filter(item => item.data.featured)
.sort((a, b) => {
return (a.data.order || 999) - (b.data.order || 999);
});
});
eleventyConfig.addFilter("whereTag", function(collection, tag) { eleventyConfig.addFilter("whereTag", function(collection, tag) {
return collection.filter(item => item.data.tags && item.data.tags.includes(tag)); return collection.filter(item => item.data.tags && item.data.tags.includes(tag));
}); });
+1 -1
View File
@@ -27,7 +27,7 @@ layout: base.njk
<h2>Related features</h2> <h2>Related features</h2>
<div class="actions"> <div class="actions">
{% for slug in related %} {% for slug in related %}
{% for item in collections.features %} {% for item in collections.sortedFeatures %}
{% if item.fileSlug == slug %} {% if item.fileSlug == slug %}
<a class="button secondary" href="{{ item.url }}">{{ item.data.title }}</a> <a class="button secondary" href="{{ item.url }}">{{ item.data.title }}</a>
{% endif %} {% endif %}
+1 -1
View File
@@ -28,7 +28,7 @@ description: KST4Contest is a modern ON4KST chat client built for VHF, UHF and S
</div> </div>
<div class="mock-grid"> <div class="mock-grid">
{% for feature in collections.features %} {% for feature in collections.sortedFeatures %}
{% if loop.index <= 6 %} {% if loop.index <= 6 %}
<div class="mini-card"> <div class="mini-card">
<strong>{{ feature.data.icon }} {{ feature.data.title }}</strong> <strong>{{ feature.data.icon }} {{ feature.data.title }}</strong>