Use the same template for taglists and the blog index. Move the tagposts into a collection to make life easier
Build and copy to prod / build-and-copy (push) Successful in 2m7s

This commit is contained in:
Lewis Dale committed 2024-04-12 10:15:25 +01:00
1 parent 2a900ce835
commit d209f82688
7 files changed
+71 -58

No files matched your search

+30
View File
@@ -0,0 +1,30 @@
<main class="wrapper-lg stack-xl">
<h1>{{ title }}</h1>
<aside class="inverse text-center">
<p class="mx-auto">
Subscribe via <a href="{{feed.rss}}">RSS</a>, <a href="{{feed.atom}}">Atom</a>, or <a href="{{feed.json}}">JSON</a>.
</p>
</aside>
<ol class="stack-xl" role='list'>
{% for item in posts %}
<li class="stack-xs">
<h2><a href="{{ item.url }}">{{ item.data.title | safe }}</a></h2>
<time class="block" datetime="{{ item.date | dateToRfc3339 }}">{{ item.date | dateDisplay }}</time>
<p class="e-content p-summary">{{ item.content | excerpt }}</p>
<a href="{{ item.url }}" class="inline-block">Read more</a>
</li>
{% endfor %}
</ol>
{% if not tag %}
<nav class="blog-nav row" data-spacing="between" aria-label="View more posts">
{% if pagination.href.next %}
<a href="{{ pagination.href.next }}">Older</a>
{% endif %}
{% if pagination.href.previous %}
<a href="{{ pagination.href.previous }}">Newer</a>
{% endif %}
</nav>
{% endif %}
</main>
+8 -28
View File
@@ -1,38 +1,18 @@
---
title: Blog
title: Blog posts
layout: base.njk
pagination:
data: collections.posts
size: 5
reverse: true
alias: posts
eleventyImport:
collections: ["posts"]
feeds:
rss: "/rss.xml"
atom: "/atom.xml"
json: "/feed.json"
---
<main class="wrapper-lg stack-xl">
<h1>Blog posts</h1>
{% extends "components/blog.njk" %}
<aside class="inverse text-center">
<p>
Subscribe via <a href="/rss.xml">RSS</a>, <a href="/atom.xml">Atom</a>, or <a href="/feed.json">JSON</a>.
</p>
</aside>
<ol class="stack-xl" role='list'>
{% for item in pagination.items %}
<li class="stack-xs">
<h2><a href="{{ item.url }}">{{ item.data.title | safe }}</a></h2>
<time class="block" datetime="{{ item.date | dateToRfc3339 }}">{{ item.date | dateDisplay }}</time>
<p class="e-content p-summary">{{ item.content | excerpt }}</p>
<a href="{{ item.url }}" class="inline-block">Read more</a>
</li>
{% endfor %}
</ol>
<nav class="blog-nav row" data-spacing="between" aria-label="View more posts">
{% if pagination.href.next %}
<a href="{{ pagination.href.next }}">Older</a>
{% endif %}
{% if pagination.href.previous %}
<a href="{{ pagination.href.previous }}">Newer</a>
{% endif %}
</nav>
</main>
{{ content | safe }}
+6 -22
View File
@@ -1,6 +1,6 @@
---json
{
"title": "Blog",
"title": "Tagged posts",
"layout": "base.njk",
"pagination": {
"data": "collections.tags",
@@ -20,25 +20,9 @@
}
}
---
{% extends "components/blog.njk" %}
{% set posts = collections.tagPosts[tag] %}
{% set title = "Posts tagged with “" ~ tag ~ "”" %}
{% set feeds = feed %}
<main class="wrapper-lg stack-xl">
<h1>Posts tagged “{{ tag }}”</h1>
<aside class="text-center">
<p>
Subscribe via <a href="{{ feed.rss }}">RSS</a>, <a href="{{ feed.atom }}">Atom</a>, or <a href="{{ feed.json }}">JSON</a>.
</p>
</aside>
<ol class="stack-xl" role='list'>
{% set posts = collections.posts | filterBy(tag) | reverse %}
{% for item in posts %}
<li class="stack-xs">
<h2><a href="{{ item.url }}">{{ item.data.title | safe }}</a></h2>
<time datetime="{{ item.date | dateToRfc3339 }}" class="block">{{ item.date | dateDisplay }}</time>
<div class="e-content p-summary">{{ item.content | excerpt }}</div>
<a href="{{ item.url }}" class="inline-block">Read more</a>
</li>
{% endfor %}
</ol>
</main>
{{ content | safe }}
+1 -1
View File
@@ -23,7 +23,7 @@ eleventyImport:
<uri>{{ metadata.site.url }}</uri>
</author>
<category term="{{ tag }}" />
{%- for post in collections.posts | filterBy(tag) | reverse %}
{%- for post in collections.tagPosts[tag] %}
{%- set absolutePostUrl = post.url | absoluteUrl(metadata.site.url) %}
<entry>
<title>{{ post.data.title }}</title>
+1 -1
View File
@@ -21,7 +21,7 @@ eleventyImport:
"url": "{{ metadata.site.url }}"
},
"items": [
{%- for post in collections.posts | filterBy(tag) | reverse %}
{%- for post in collections.tagPosts[tag] %}
{%- set absolutePostUrl = post.url | absoluteUrl(metadata.site.url) %}
{
"id": "{{ absolutePostUrl }}",
+1 -2
View File
@@ -18,8 +18,7 @@ eleventyImport:
<atom:link href="{{ permalink | absoluteUrl(metadata.site.url) }}" rel="self" type="application/rss+xml" />
<description>Posts tagged #{{ tag }}</description>
<language>{{ metadata.site.language }}</language>
{% set posts = collections.posts | filterBy(tag) | reverse %}
{%- for post in posts %}
{%- for post in collections.tagPosts[tag] %}
{%- set absolutePostUrl = post.url | absoluteUrl(metadata.site.url) %}
<item>
<title>{{ post.data.title }}</title>