chore: deduplicate permalinks; fix sitemap; organize
This commit is contained in:
parent
b40986256a
commit
ae1cb3dc5e
64 changed files with 94 additions and 31 deletions
64
src/includes/partials/media/grid.liquid
Normal file
64
src/includes/partials/media/grid.liquid
Normal 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 %}
|
33
src/includes/partials/media/music/chart.liquid
Normal file
33
src/includes/partials/media/music/chart.liquid
Normal 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 %}
|
32
src/includes/partials/media/music/recent.liquid
Normal file
32
src/includes/partials/media/music/recent.liquid
Normal 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>
|
5
src/includes/partials/media/progress-bar.liquid
Normal file
5
src/includes/partials/media/progress-bar.liquid
Normal file
|
@ -0,0 +1,5 @@
|
|||
{% if percentage %}
|
||||
<div class="progress-bar-wrapper" title="{{ percentage }}">
|
||||
<div style="width:{{ percentage }}" class="progress-bar"></div>
|
||||
</div>
|
||||
{% endif %}
|
48
src/includes/partials/media/watching/grid.liquid
Normal file
48
src/includes/partials/media/watching/grid.liquid
Normal 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 %}
|
32
src/includes/partials/media/watching/hero.liquid
Normal file
32
src/includes/partials/media/watching/hero.liquid
Normal 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>
|
Reference in a new issue