chore: deduplicate permalinks; fix sitemap; organize

This commit is contained in:
Cory Dransfeldt 2024-07-15 22:52:57 -07:00
parent b40986256a
commit ae1cb3dc5e
No known key found for this signature in database
64 changed files with 94 additions and 31 deletions

View file

@ -0,0 +1,64 @@
{% assign hidePagination = count or data.pages.size <= 1 %}
{% assign media = data.items | default: data | normalizeMedia %}
<div class="media-grid {% if shape == 'square' %}square{% else %}vertical{% endif %}">
{% for item in media limit: count | default: media.size %}
{% assign alt = item.alt | strip | escape %}
<a href="{{ item.url }}" title="{{ alt }}">
<div class="item-wrapper shadow">
<div class="meta-text">
{% if item.title %}
<div class="header">{{ item.title }}</div>
{% endif %}
{% if item.plays %}
<div class="subheader">{{ item.plays }} plays</div>
{% elsif item.subtext %}
<div class="subheader">{{ item.subtext }}</div>
{% endif %}
</div>
{% assign loadingStrategy = loading | default: 'lazy' %}
{% if shape == 'square' %}
<img
srcset="
https://cdn.coryd.dev{{ item.image }}?class=squaresm 200w,
https://cdn.coryd.dev{{ item.image }}?class=squaremd 400w,
https://cdn.coryd.dev{{ item.image }}?class=squarebase 800w,
https://cdn.coryd.dev{{ item.image }}?class=squarelg 1200w
"
sizes="(max-width: 450px) 200px,
(max-width: 850px) 400px,
(max-width: 100px) 800px,
1200px"
src="https://cdn.coryd.dev{{ item.image }}?class=squarelg"
alt="{{ alt }}"
loading="{{ loadingStrategy }}"
decoding="async"
width="240"
height="240"
/>
{% else %}
<img
srcset="
https://cdn.coryd.dev{{ item.image }}?class=verticalsm 200w,
https://cdn.coryd.dev{{ item.image }}?class=verticalmd 400w,
https://cdn.coryd.dev{{ item.image }}?class=verticalbase 800w,
https://cdn.coryd.dev{{ item.image }}?class=verticallg 1200w
"
sizes="(max-width: 450px) 200px,
(max-width: 850px) 400px,
(max-width: 1000px) 800px,
1200px"
src="https://cdn.coryd.dev{{ item.image }}?class=verticallg"
alt="{{ alt }}"
loading="{{ loadingStrategy }}"
decoding="async"
width="200"
height="307"
/>
{% endif %}
</div>
</a>
{% endfor %}
</div>
{% unless hidePagination %}
{% render "partials/nav/paginator.liquid", pagination:data %}
{% endunless %}

View file

@ -0,0 +1,33 @@
<div class="music-chart">
{% assign items = data.items | default: data %}
<ol type="1">
{% for item in items limit: count | default: items.size %}
{%- assign playTotal = playTotal | default: mostPlayed -%}
{%- assign percentage = item.plays | calculatePlayPercentage: playTotal -%}
<li value="{{ item.rank }}">
<div class="item">
<div class="presentation">
<div class="info">
<div class="title">
<a href="{{ item.url }}">{{ item.title }}</a>
</div>
{% capture playsLabel %}
{% if item.plays > 1 %}
plays
{% else %}
play
{% endif %}
{% endcapture %}
<div class="subtext">{{ item.artist }}</div>
<div class="subtext">{{ item.plays }} {{ playsLabel }}</div>
</div>
</div>
{% render "partials/media/progress-bar.liquid", percentage:percentage %}
</div>
</li>
{% endfor %}
</ol>
</div>
{% unless count %}
{% render "partials/nav/paginator.liquid", pagination:data %}
{% endunless %}

View file

@ -0,0 +1,32 @@
<div class="music-chart">
{% for item in data limit: 10 %}
{% capture alt %}{{ item.title | escape }} by {{ item.artist }}{% endcapture %}
<div class="item">
<div class="meta">
<img
srcset="
https://cdn.coryd.dev{{ item.image }}?class=w50 50w,
https://cdn.coryd.dev{{ item.image }}?class=w100 100w,
https://cdn.coryd.dev{{ item.image }}?class=w200 200w,
"
sizes="(max-width: 1000px) 50px, 100px, 200px"
src="https://cdn.coryd.dev{{ item.image }}?class=w200"
alt="{{ alt }}"
loading="lazy"
decoding="async"
width="64"
height="64"
/>
<div class="meta-text">
<div class="title">
<a href="{{ item.url }}">{{ item.title }}</a>
</div>
<div class="subtext">{{ item.artist }}</div>
</div>
</div>
<div class="timestamp">
{{ item.timestamp | date: "%B %-d, %-I:%M%p", "America/Los_Angeles" }}
</div>
</div>
{% endfor %}
</div>

View file

@ -0,0 +1,5 @@
{% if percentage %}
<div class="progress-bar-wrapper" title="{{ percentage }}">
<div style="width:{{ percentage }}" class="progress-bar"></div>
</div>
{% endif %}

View file

@ -0,0 +1,48 @@
{% assign hidePagination = count or data.pages.size <= 1 %}
<div class="watching grid{% if hidePagination %} no-pagination {% endif %}">
{% assign items = data.items | default: mediaItems %}
{% for item in items limit: count %}
{% capture alt %}{{ item.title | escape }} ({{ item.year }}){% endcapture %}
<a href="{{ item.url }}">
<div class="watching item shadow">
<div class="meta-text">
{% if item.type == 'movie' %}
<div class="header">{{ item.title }}</div>
<div class="subheader flex-centered">
{{ item.year }}
{% if item.rating %}
<span class="rating"> ({{ item.rating }})</span>
{% endif %}
</div>
{% else %}
<div class="header">{{ item.name }}</div>
{% endif %}
</div>
{%- capture loadingStrategy -%}
{%- if loading -%}{{ loading }}{%- else -%}lazy{%- endif -%}
{%- endcapture -%}
<img
srcset="
https://cdn.coryd.dev{{ item.backdrop }}?class=bannersm 256w,
https://cdn.coryd.dev{{ item.backdrop }}?class=bannermd 512w,
https://cdn.coryd.dev{{ item.backdrop }}?class=bannerbase 1024w,
https://cdn.coryd.dev{{ item.backdrop }}?class=bannerlg 2048w
"
sizes="(max-width: 450px) 256px,
(max-width: 850px) 512px,
(max-width: 1000px) 1024px,
2048px"
src="https://cdn.coryd.dev{{ item.backdrop }}?class=bannerlg"
alt="{{ alt }}"
loading="{{ loadingStrategy }}"
decoding="async"
width="256"
height="170"
/>
</div>
</a>
{% endfor %}
</div>
{% unless hidePagination %}
{% render "partials/nav/paginator.liquid", pagination:data %}
{% endunless %}

View file

@ -0,0 +1,32 @@
{% capture alt %}{{ movie.title | escape }} ({{ movie.year }}){% endcapture %}
<a href="{{ movie.url }}">
<div class="watching hero shadow">
<div class="meta-text">
<div class="header">{{ movie.title }} ({{ movie.year }})</div>
<div class="subheader">
Last watched on {{ movie.dateAdded | date: "%B %e, %Y" }}
{%- if movie.rating -%}
<span class="rating">({{ movie.rating }})</span>
{%- endif -%}
</div>
</div>
<img
srcset="
https://cdn.coryd.dev{{ movie.backdrop }}?class=bannersm 256w,
https://cdn.coryd.dev{{ movie.backdrop }}?class=bannermd 512w,
https://cdn.coryd.dev{{ movie.backdrop }}?class=bannerbase 1024w,
https://cdn.coryd.dev{{ movie.backdrop }}?class=bannerlg 2048w
"
sizes="(max-width: 450px) 256px,
(max-width: 850px) 512px,
(max-width: 1000px) 1024px,
2048px"
src="https://cdn.coryd.dev{{ movie.backdrop }}?class=bannerlg"
alt="{{ alt }}"
loading="eager"
decoding="async"
width="1080"
height="720"
/>
</div>
</a>