feat: various markup improvements
This commit is contained in:
parent
f286523455
commit
850173ec90
12 changed files with 58 additions and 56 deletions
|
@ -6,16 +6,14 @@ imageCaption: ""
|
||||||
|
|
||||||
{% set filteredTags = tags | filterCatalogueTags %}
|
{% set filteredTags = tags | filterCatalogueTags %}
|
||||||
<article class="[ catalogue ] [ flow ]">
|
<article class="[ catalogue ] [ flow ]">
|
||||||
<div style="--flow-space: 2em">
|
{% block image %}
|
||||||
{% block image %}
|
{% if image %}
|
||||||
{% if image %}
|
{% image image, imageAlt, imageCaption %}
|
||||||
{% image image, imageAlt, imageCaption %}
|
{% endif %}
|
||||||
{% endif %}
|
{% endblock %}
|
||||||
{% endblock %}
|
|
||||||
</div>
|
|
||||||
<section class="[ catalogue-meta ] [ flow ]">
|
<section class="[ catalogue-meta ] [ flow ]">
|
||||||
{% block title %}<h1>{{ title }}</h1>{% endblock %}
|
{% block title %}<h1>{{ title }}</h1>{% endblock %}
|
||||||
{% if subtitle %}<h2 class="[ text-fadeText ]" style="--flow-space: 0.25em">{{ subtitle }}</h2>{% endif %}
|
{% if subtitle %}<h2 class="[ text-fadeText flow-space-0.25 ]">{{ subtitle }}</h2>{% endif %}
|
||||||
{{ tertiary | safe }}
|
{{ tertiary | safe }}
|
||||||
{% if rating %}
|
{% if rating %}
|
||||||
<div class="[ flex justify-center ]">
|
<div class="[ flex justify-center ]">
|
||||||
|
@ -24,7 +22,7 @@ imageCaption: ""
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if filteredTags | length > 0 %}
|
{% if filteredTags | length > 0 %}
|
||||||
<ul class="[ categories list-none p-0 mb-0 ] [ cluster justify-center ]">
|
<ul class="[ categories ] [ cluster justify-center p-0 ]" role="list">
|
||||||
{% for tag in filteredTags %}<li class="[ flex gap-0.25 ]">{{ tag }}</li>{% endfor %}
|
{% for tag in filteredTags %}<li class="[ flex gap-0.25 ]">{{ tag }}</li>{% endfor %}
|
||||||
</ul>
|
</ul>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
|
@ -3,7 +3,7 @@ layout: "layouts/base"
|
||||||
---
|
---
|
||||||
|
|
||||||
<article class="[ flow ]">
|
<article class="[ flow ]">
|
||||||
<header class="[ flow ]" style="--flow-space: 1rem">
|
<header class="[ flow flow-space-1 mb-2 ]">
|
||||||
{% from "macros/date.njk" import format %}
|
{% from "macros/date.njk" import format %}
|
||||||
{{ format(page.date) }}
|
{{ format(page.date) }}
|
||||||
<h1>{{ title }}</h1>
|
<h1>{{ title }}</h1>
|
||||||
|
|
|
@ -3,9 +3,9 @@
|
||||||
{% macro one(post, format) %}
|
{% macro one(post, format) %}
|
||||||
<article class="[ posts-list-item column-gap-0.5 justify-between line-height-m ]">
|
<article class="[ posts-list-item column-gap-0.5 justify-between line-height-m ]">
|
||||||
<a href="{{ post.url }}">{{ post.data.title }}</a>
|
<a href="{{ post.url }}">{{ post.data.title }}</a>
|
||||||
<p class="[ text-fadeText ]">{{ post.date | formatDate("MM/DD") }}</p>
|
<time datetime="{{ post.date }}" class="[ text-fadeText ]">{{ post.date | formatDate("MM/DD") }}</time>
|
||||||
<div class="[ cluster mt-0.5 ]">
|
<div class="[ cluster mt-0.5 ]">
|
||||||
<div class="[ font-size-s ]"><p class="[ bg-surface text-fadeText p-0.5 radius-0.25 line-height-s ]">{{ post.data.tags[1] }}</p></div>
|
<div class="[ font-size-s ]"><p class="[ pill ]" data-state="small">{{ post.data.tags[1] }}</p></div>
|
||||||
{% if post.data.rating %}
|
{% if post.data.rating %}
|
||||||
{{ stars(post.data.rating) }}
|
{{ stars(post.data.rating) }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
@ -14,7 +14,7 @@
|
||||||
{% endmacro %}
|
{% endmacro %}
|
||||||
|
|
||||||
{% macro list(posts) %}
|
{% macro list(posts) %}
|
||||||
<ol class="[ posts-list ] [ flow list-none p-0 ]">
|
<ol class="[ flow p-0 ]" role="list">
|
||||||
{% for post in posts %}
|
{% for post in posts %}
|
||||||
<li>
|
<li>
|
||||||
{{ one(post, format) }}
|
{{ one(post, format) }}
|
||||||
|
@ -27,7 +27,7 @@
|
||||||
<section class="[ flow ]">
|
<section class="[ flow ]">
|
||||||
<header class="[ cluster gap-0.5 ]">
|
<header class="[ cluster gap-0.5 ]">
|
||||||
<h2>{{ year }}</h2>
|
<h2>{{ year }}</h2>
|
||||||
<p class="[ bg-surface text-fadeText px-0.5 py-0.25 font-size-s line-height-s radius-0.5 ]">
|
<p class="[ pill ]" data-state="extrasmall">
|
||||||
{{ posts | length }}
|
{{ posts | length }}
|
||||||
</p>
|
</p>
|
||||||
</header>
|
</header>
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
{% macro one(post, format = "MM/DD") %}
|
{% macro one(post, format = "MM/DD") %}
|
||||||
<article class="[ posts-list-item column-gap-0.5 justify-between line-height-l ]">
|
<article class="[ posts-list-item column-gap-0.5 justify-between line-height-l ]">
|
||||||
<a href="{{ post.url }}">{{ post.data.title }}</a>
|
<a href="{{ post.url }}">{{ post.data.title }}</a>
|
||||||
<p class="[ text-fadeText ]">{{ post.date | formatDate(format) }}</p>
|
<time datetime="{{ post.date }}" class="[ text-fadeText ]">{{ post.date | formatDate(format) }}</time>
|
||||||
<p class="[ text-fadeText font-size-s line-height-m ]">{{ post.data.excerpt }}</p>
|
<p class="[ text-fadeText font-size-s line-height-m ]">{{ post.data.excerpt }}</p>
|
||||||
</article>
|
</article>
|
||||||
{% endmacro %}
|
{% endmacro %}
|
||||||
|
|
||||||
{% macro list(posts, format = "MM/DD") %}
|
{% macro list(posts, format = "MM/DD") %}
|
||||||
<ol class="[ posts-list ] [ flow list-none p-0 ]">
|
<ol class="[ flow p-0 ]" role="list">
|
||||||
{% for post in posts %}
|
{% for post in posts %}
|
||||||
<li class="[ flow-space-0.5 ]">
|
<li class="[ flow-space-0.5 ]">
|
||||||
{{ one(post, format) }}
|
{{ one(post, format) }}
|
||||||
|
@ -20,7 +20,7 @@
|
||||||
<section class="[ flow ]">
|
<section class="[ flow ]">
|
||||||
<header class="[ cluster gap-0.5 ]">
|
<header class="[ cluster gap-0.5 ]">
|
||||||
<h2>{{ year }}</h2>
|
<h2>{{ year }}</h2>
|
||||||
<p class="[ bg-surface text-fadeText px-0.5 py-0.25 font-size-s line-height-s radius-0.5 ]">
|
<p class="[ pill ]" data-state="extrasmall">
|
||||||
{{ posts | length }}
|
{{ posts | length }}
|
||||||
</p>
|
</p>
|
||||||
</header>
|
</header>
|
||||||
|
|
|
@ -1,7 +0,0 @@
|
||||||
{% macro pills(tags) %}
|
|
||||||
{% if tags | length > 0 %}
|
|
||||||
<ul class="[ cluster list-none p-0 mb-0 ]" style="--gap: 0.5rem">
|
|
||||||
{% for tag in tags %}<li class="[ bg-surface radius-1 px-1 py-0.5 ]">{{ tag }}</li>{% endfor %}
|
|
||||||
</ul>
|
|
||||||
{% endif %}
|
|
||||||
{% endmacro %}
|
|
8
src/_includes/partials/catalogue-types.html
Normal file
8
src/_includes/partials/catalogue-types.html
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
{% set catalogueTypes = collections.catalogueByType | keys %}
|
||||||
|
<ul class="[ cluster p-0 gap-0.5 ]" role="list">
|
||||||
|
{% for type in catalogueTypes %}
|
||||||
|
<li>
|
||||||
|
<a class="[ pill ]" href="/catalogue/{{ type | pluralize }}">{{ type | pluralize }}<span class="[ pill-count ]">{{ collections.catalogueByType[ type ] | length }}</span></a>
|
||||||
|
</li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
|
@ -3,7 +3,7 @@
|
||||||
<div class="[ repel ]">
|
<div class="[ repel ]">
|
||||||
<p>© {{ meta.author }} 2018-2024.</p>
|
<p>© {{ meta.author }} 2018-2024.</p>
|
||||||
<nav>
|
<nav>
|
||||||
<ul class="[ list-none cluster p-0 m-0 ]">
|
<ul class="[ cluster p-0 m-0 ]" role="list">
|
||||||
{% for link in navigation.bottom %}
|
{% for link in navigation.bottom %}
|
||||||
<li>
|
<li>
|
||||||
<a href="{{ link.url }}">{{ link.text }}</a>
|
<a href="{{ link.url }}">{{ link.text }}</a>
|
||||||
|
@ -12,9 +12,8 @@
|
||||||
</ul>
|
</ul>
|
||||||
</nav>
|
</nav>
|
||||||
</div>
|
</div>
|
||||||
<nav style="--flow-space: var(--spacing-0\.5)">
|
<nav class="[ flow-space-0.5 ]">
|
||||||
<ul class="[ list-none cluster p-0 m-0 ]"
|
<ul class="[ cluster p-0 m-0 gap-0.5 ]" role="list">
|
||||||
style="--gap: var(--spacing-0\.5)">
|
|
||||||
<li>
|
<li>
|
||||||
<span class="[ visually-hidden ]">RSS</span>
|
<span class="[ visually-hidden ]">RSS</span>
|
||||||
<a href="/rss.xml" target="_blank" aria-label="View RSS feed">{% include "svgs/rss.svg" %}</a>
|
<a href="/rss.xml" target="_blank" aria-label="View RSS feed">{% include "svgs/rss.svg" %}</a>
|
||||||
|
@ -25,7 +24,7 @@
|
||||||
<span class="[ visually-hidden ]">{{ alt }}</span>
|
<span class="[ visually-hidden ]">{{ alt }}</span>
|
||||||
<a href="{{ url }}"
|
<a href="{{ url }}"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
rel="external noreferrer noopener"
|
rel="me external noreferrer noopener"
|
||||||
aria-label="View {{ alt }} page">{% include "svgs/social-" + key + ".svg" %}</a>
|
aria-label="View {{ alt }} page">{% include "svgs/social-" + key + ".svg" %}</a>
|
||||||
</li>
|
</li>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
|
@ -13,16 +13,8 @@ eleventyComputed:
|
||||||
---
|
---
|
||||||
|
|
||||||
{% from "macros/catalogue.njk" import yearList %}
|
{% from "macros/catalogue.njk" import yearList %}
|
||||||
<h1>{{ type | pluralize | capitalize }}</h1>
|
<h1>Catalogue: {{ type | pluralize | capitalize }}</h1>
|
||||||
{% set catalogueTypes = collections.catalogueByType | keys %}
|
{% include "partials/catalogue-types.html" %}
|
||||||
<ul class="[ cluster p-0 gap-0.5 ]" role="list">
|
|
||||||
{% for type in catalogueTypes %}
|
|
||||||
<li>
|
|
||||||
<a class="[ pill ] [ flex px-1 py-0.5 gap-0.5 ]"
|
|
||||||
href="/catalogue/{{ type | pluralize }}">{{ type | pluralize }}<span class="[ pill-count ]">{{ collections.catalogueByType[ type ] | length }}</span></a>
|
|
||||||
</li>
|
|
||||||
{% endfor %}
|
|
||||||
</ul>
|
|
||||||
{% set itemsByYear = collections.catalogueByType[type] | reverse | organizeByDate %}
|
{% set itemsByYear = collections.catalogueByType[type] | reverse | organizeByDate %}
|
||||||
{% set years = itemsByYear | keys | sort("desc") %}
|
{% set years = itemsByYear | keys | sort("desc") %}
|
||||||
<section class="[ flow ]">
|
<section class="[ flow ]">
|
||||||
|
|
|
@ -7,15 +7,7 @@ title: Catalogue
|
||||||
{% from "macros/catalogue.njk" import yearList %}
|
{% from "macros/catalogue.njk" import yearList %}
|
||||||
<h1>Catalogue</h1>
|
<h1>Catalogue</h1>
|
||||||
<p>A collection of my thoughts on various forms of media that I consume.</p>
|
<p>A collection of my thoughts on various forms of media that I consume.</p>
|
||||||
{% set catalogueTypes = collections.catalogueByType | keys %}
|
{% include "partials/catalogue-types.html" %}
|
||||||
<ul class="[ cluster list-none p-0 gap-0.5 ]">
|
|
||||||
{% for type in catalogueTypes %}
|
|
||||||
<li>
|
|
||||||
<a class="[ pill ] [ flex px-1 py-0.5 gap-0.5 ]"
|
|
||||||
href="/catalogue/{{ type | pluralize }}">{{ type | pluralize }}<span class="[ pill-count ]">{{ collections.catalogueByType[ type ] | length }}</span></a>
|
|
||||||
</li>
|
|
||||||
{% endfor %}
|
|
||||||
</ul>
|
|
||||||
{% set itemsByYear = collections.catalogue | reverse | organizeByDate %}
|
{% set itemsByYear = collections.catalogue | reverse | organizeByDate %}
|
||||||
{% set years = itemsByYear | keys | sort("desc") %}
|
{% set years = itemsByYear | keys | sort("desc") %}
|
||||||
<section class="[ flow ]">
|
<section class="[ flow ]">
|
||||||
|
|
|
@ -5,6 +5,6 @@ module.exports = {
|
||||||
linkTitle: "View book details",
|
linkTitle: "View book details",
|
||||||
eleventyComputed: {
|
eleventyComputed: {
|
||||||
tertiary: (data) =>
|
tertiary: (data) =>
|
||||||
`<p style="--flow-space: 0.5em"><span class="[ text-fadeText ]">by</span> ${data.author}</p>`,
|
`<p class="[ flow-space-0.5 ]"><span class="[ text-fadeText ]">by</span> ${data.author}</p>`,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,18 +1,39 @@
|
||||||
.pill {
|
.pill {
|
||||||
background-color: var(--color-surface);
|
background-color: var(--color-surface);
|
||||||
border-radius: 1rem;
|
border-radius: var(--spacing-1);
|
||||||
|
display: flex;
|
||||||
|
padding-inline: var(--spacing-1);
|
||||||
|
padding-block: var(--spacing-0\.5);
|
||||||
|
gap: var(--spacing-0\.5);
|
||||||
transition:
|
transition:
|
||||||
transform var(--transition-duration),
|
transform var(--transition-duration),
|
||||||
background-color 75ms;
|
background-color 75ms;
|
||||||
}
|
}
|
||||||
|
|
||||||
.pill:hover {
|
.pill[data-state="small"] {
|
||||||
|
color: var(--color-fadeText);
|
||||||
|
font-size: 0.8rem;
|
||||||
|
line-height: 0.8rem;
|
||||||
|
padding-inline: var(--spacing-0\.5);
|
||||||
|
border-radius: var(--spacing-0\.25);
|
||||||
|
}
|
||||||
|
|
||||||
|
.pill[data-state="extrasmall"] {
|
||||||
|
color: var(--color-fadeText);
|
||||||
|
padding-inline: var(--spacing-0\.5);
|
||||||
|
padding-block: var(--spacing-0\.25);
|
||||||
|
font-size: 0.8rem;
|
||||||
|
line-height: 0.8rem;
|
||||||
|
border-radius: var(--spacing-0\.5);
|
||||||
|
}
|
||||||
|
|
||||||
|
.pill:not([data-state]):hover {
|
||||||
background-color: var(--color-text);
|
background-color: var(--color-text);
|
||||||
color: var(--color-primary);
|
color: var(--color-primary);
|
||||||
transform: translateY(-2px);
|
transform: translateY(-2px);
|
||||||
}
|
}
|
||||||
|
|
||||||
.pill:active {
|
.pill:not([data-state]):active {
|
||||||
transform: translateY(2px);
|
transform: translateY(2px);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -24,6 +45,6 @@ a.pill {
|
||||||
color: var(--color-fadeText);
|
color: var(--color-fadeText);
|
||||||
}
|
}
|
||||||
|
|
||||||
.pill:hover .pill-count {
|
.pill:not([data-state]):hover .pill-count {
|
||||||
color: var(--color-border);
|
color: var(--color-border);
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,11 +7,10 @@ title: All tags
|
||||||
{% set tags = collections.post | allTagCounts %}
|
{% set tags = collections.post | allTagCounts %}
|
||||||
<section class="[ flow ]">
|
<section class="[ flow ]">
|
||||||
<h1>{{ title }}</h1>
|
<h1>{{ title }}</h1>
|
||||||
<ol class="[ cluster list-none p-0 ]" style="--gap: var(--spacing-0\.5)">
|
<ol class="[ cluster p-0 gap-0.5 ]" role="list">
|
||||||
{% for tag in tags %}
|
{% for tag in tags %}
|
||||||
<li>
|
<li>
|
||||||
<a href="/tags/{{ tag.tag | slugify }}"
|
<a href="/tags/{{ tag.tag | slugify }}" class="[ pill ]">{{ tag.tag }} <span class="[ pill-count ]">{{ tag.count }}</span></a>
|
||||||
class="[ pill ] [ flex px-1 py-0.5 gap-0.5 ]">{{ tag.tag }} <span class="[ pill-count ]">{{ tag.count }}</span></a>
|
|
||||||
</li>
|
</li>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</ol>
|
</ol>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue