feat: create macro for tag list

This commit is contained in:
Devin Haska 2025-01-24 22:43:28 -08:00
parent 1847cc96ef
commit 5d90c20721
5 changed files with 19 additions and 23 deletions

View file

@ -4,6 +4,7 @@ layout: "layouts/base"
{% from "macros/date.njk" import format %} {% from "macros/date.njk" import format %}
{% from "macros/utils.njk" import stars %} {% from "macros/utils.njk" import stars %}
{% from "macros/tags.njk" import tagList %}
<header class="flow flow-space-1"> <header class="flow flow-space-1">
{{ format(page.date) }} {{ format(page.date) }}
<h1>{{ title }}</h1> <h1>{{ title }}</h1>
@ -38,12 +39,4 @@ layout: "layouts/base"
</div> </div>
</footer> </footer>
<hr class="my-2"> <hr class="my-2">
<ul class="categories cluster list-none p-0 line-height-m"> {{ tagList(tags | filter("book") , "/books") }}
{% for tag in tags | filter("book") %}
<li>
<a class="button" href="/books/tag/{{ tag | slugify }}">
{% include "svgs/frame.svg" %}
{{ tag }}</a>
</li>
{% endfor %}
</ul>

View file

@ -4,6 +4,7 @@ layout: "layouts/base"
{% from "macros/date.njk" import format %} {% from "macros/date.njk" import format %}
{% from "macros/utils.njk" import stars %} {% from "macros/utils.njk" import stars %}
{% from "macros/tags.njk" import tagList %}
<header class="flow flow-space-1"> <header class="flow flow-space-1">
{{ format(page.date) }} {{ format(page.date) }}
<h1>{{ title }}</h1> <h1>{{ title }}</h1>
@ -41,12 +42,4 @@ layout: "layouts/base"
</div> </div>
</footer> </footer>
<hr class="my-2"> <hr class="my-2">
<ul class="categories cluster list-none p-0 line-height-m"> {{ tagList(tags | filter("game") , "/games") }}
{% for tag in tags | filter("game") %}
<li>
<a class="button" href="/books/tag/{{ tag | slugify }}">
{% include "svgs/frame.svg" %}
{{ tag }}</a>
</li>
{% endfor %}
</ul>

View file

@ -4,6 +4,7 @@ layout: "layouts/base"
{% from "macros/date.njk" import format %} {% from "macros/date.njk" import format %}
{% from "macros/utils.njk" import stars %} {% from "macros/utils.njk" import stars %}
{% from "macros/tags.njk" import tagList %}
<header class="flow flow-space-1"> <header class="flow flow-space-1">
{{ format(page.date) }} {{ format(page.date) }}
<h1>{{ title }}</h1> <h1>{{ title }}</h1>
@ -53,11 +54,7 @@ layout: "layouts/base"
<strong>Runtime</strong><span>{{ runtime }} mins</span> <strong>Runtime</strong><span>{{ runtime }} mins</span>
</li> </li>
{% endif %} {% endif %}
{% if tags %}
<li class="flex-col meta-grid--full">
<strong>Genres</strong><span>{{ tags | filter("movie") | join(", ") }}</span>
</li>
{% endif %}
</ul> </ul>
</div> </div>
</footer> </footer>
{{ tagList(tags | filter("movie") , "/watching/movies") }}

View file

@ -4,6 +4,7 @@ layout: "layouts/base"
{% from "macros/date.njk" import format %} {% from "macros/date.njk" import format %}
{% from "macros/utils.njk" import stars %} {% from "macros/utils.njk" import stars %}
{% from "macros/tags.njk" import tagList %}
<header class="flow flow-space-1"> <header class="flow flow-space-1">
{{ format(page.date) }} {{ format(page.date) }}
<h1>{{ title }}</h1> <h1>{{ title }}</h1>
@ -56,3 +57,4 @@ layout: "layouts/base"
</ul> </ul>
</div> </div>
</footer> </footer>
{{ tagList(tags | filter("tv") , "/watching/shows") }}

View file

@ -0,0 +1,11 @@
{% macro tagList(tags, urlPrefix) %}
<ul class="categories cluster list-none p-0 line-height-m">
{% for tag in tags %}
<li>
<a class="button" href="{{ urlPrefix }}/tag/{{ tag | slugify }}">
{% include "svgs/frame.svg" %}
{{ tag }}</a>
</li>
{% endfor %}
</ul>
{% endmacro %}