Add taglist page

This commit is contained in:
TheThomaas 2023-06-24 13:07:06 +02:00
parent 1625f36ba4
commit 5945f278ae
9 changed files with 54 additions and 31 deletions

View file

@ -36,6 +36,15 @@ module.exports = config => {
return [...collection.getFilteredByGlob('./src/posts/*.md')].reverse();
});
// Return all the tags used in a collection
config.addFilter("getAllTags", collection => {
let tagSet = new Set();
for(let item of collection) {
(item.data.tags || []).forEach(tag => tagSet.add(tag));
}
return Array.from(tagSet);
});
return {
markdownTemplateEngine: 'njk',
dataTemplateEngine: 'njk',

View file

@ -3,6 +3,15 @@
"SkipLink": "Skip to content",
"ToggleTheme": "Toggle theme",
"TopLink": "Back to top",
"Listing": {
"Tags": {
"Title": "Tagged",
"More": {
"See": "See",
"All": "all tags"
}
}
},
"Footer": {
"lastDeployment": "Dernier déploiement le",
"createdWith": "Built with"

View file

@ -7,6 +7,14 @@
{
"text": "About",
"url": "/about/"
},
{
"text": "Blog",
"url": "/blog/"
},
{
"text": "Demo",
"url": "/tags/demo/"
}
]
}

View file

@ -12,7 +12,7 @@
{% if tags %}
{% for tag in tags %}
<li>
<a href="/tag/{{ tag | slug }}/">{{ tag | title }}</a>
<a href="/tags/{{ tag | slug }}/">{{ tag | title }}</a>
</li>
{% endfor %}
{% endif %}

View file

@ -1,6 +1,6 @@
<section class="projects">
<ol reversed class="postlist">
{%- asyncEach blog in collections.blog -%}
{%- asyncEach blog in postslist -%}
<li>
<h2><a href="{{ blog.url }}">{{ blog.data.title }}</a></h2>
<ul class="list-inline">
@ -8,7 +8,7 @@
{%- if blog.data.tags -%}
{%- for tag in blog.data.tags -%}
<li>
<a href="/tag/{{ tag | slug }}/">{{ tag | title }}</a>
<a href="/tags/{{ tag | slug }}/">{{ tag | title }}</a>
</li>
{%- endfor -%}
{%- endif -%}

View file

@ -2,9 +2,10 @@
title: 'Blog'
layout: 'list'
---
# Blog
# {{ title }}
The latest articles from around the studio, demonstrating our design
thinking, strategy and expertise.
{% set postslist = collections.blog %}
{% include "partials/post-list.html" %}

View file

@ -7,4 +7,5 @@ metaDesc: 'A made up agency site that you build if you take Learn Eleventy From
layout: 'home'
---
{% set postslist = collections.blog %}
{% include "partials/post-list.html" %}

13
src/tags-list.md Normal file
View file

@ -0,0 +1,13 @@
---
title: Tags
permalink: /tags/
layout: list
---
<h1 class="full-bleed">{{ title }}</h1>
<ul>
{% for tag in collections.all | getAllTags %}
{% set tagUrl %}/tags/{{ tag | slugify }}/{% endset %}
<li><a href="{{ tagUrl }}" class="post-tag">{{ tag }}</a></li>
{% endfor %}
</ul>

View file

@ -1,35 +1,17 @@
---
title: 'Tag Archive'
layout: 'list'
eleventyComputed:
title: "{{ Term.Site.Listing.Tags.Title }} “{{ tag }}”"
permalink: '/tags/{{ tag | slug }}/'
pagination:
data: collections
size: 1
alias: tag
permalink: '/tag/{{ tag | slug }}/'
layout: 'list'
---
<h1>Tagged “{{ tag }}”</h1>
<h1 class="full-bleed">{{ Term.Site.Listing.Tags.Title }} “{{ tag }}”</h1>
<section class="projects">
<ol reversed class="postlist">
{% set taglist = collections[ tag ] %}
{% for blog in taglist | reverse %}
<li>
<h2><a href="{{ blog.url }}">{{ blog.data.title }}</a></h2>
<ul class="list-inline">
<li><time datetime="{{ blog.date | getDatetime }}">{{ blog.date | toFullDate }}</time></li>
{%- if blog.data.tags -%}
{%- for tag in blog.data.tags -%}
<li>
<a href="/tag/{{ tag | slug }}/">{{ tag | title }}</a>
</li>
{%- endfor -%}
{%- endif -%}
</ul>
{%- if blog.data.leading -%}
<p>{{ blog.data.leading }}</p>
{%- endif -%}
</li>
{%- endfor -%}
</ol>
</section>
{% set postslist = collections[ tag ] %}
{% include "partials/post-list.html" %}
<p>{{ Term.Site.Listing.Tags.More.See }} <a href="/tags/">{{ Term.Site.Listing.Tags.More.All }}</a>.</p>