chore: clearer organizational distinction between data-generated (dynamic) pages and strictly markdown ones

This commit is contained in:
Cory Dransfeldt 2024-07-16 15:37:30 -07:00
parent a8beefaa4a
commit 4dca0dfb3e
No known key found for this signature in database
36 changed files with 541 additions and 198 deletions

View file

@ -0,0 +1,37 @@
---
title: Blogroll
layout: page
permalink: /blogroll.html
description: These are awesome blogs that I enjoy and you may enjoy too.
---
<h2 class="page-header">{{ title }}</h2>
<p>You can <a onclick="if (typeof plausible === 'function') { plausible('OPML download', { props: { action: 'download' } }) }" href="/blogroll.opml">Download OPML</a>
download an OPML file</a> containing all of these feeds and import them into your RSS reader.</p>
<table>
<tr>
<th>Name</th>
<th>Link</th>
<th>Subscribe</th>
</tr>
{% for blog in blogroll %}
<tr>
<td>{{ blog.name }}</td>
<td><a href="{{ blog.url }}">{{ blog.url | replace: "https://", "" }}</a></td>
<td class="blog-roll-icons">
{%- if blog.rss_feed -%}
<a class="rss" href="{{ blog.rss_feed }}">{% tablericon "rss" "Subscribe via RSS" %}</a>&nbsp;
{%- endif -%}
{%- if blog.json_feed -%}
<a class="json" href="{{ blog.json_feed }}">{% tablericon "json" "Subscribe via JSON" %}</a>&nbsp;
{%- endif -%}
{%- if blog.newsletter -%}
<a class="mail-plus" href="{{ blog.newsletter }}">{% tablericon "mail-plus" "Newsletter subscription" %}</a>&nbsp;
{%- endif -%}
{%- if blog.mastodon -%}
<a class="brand-mastodon" href="{{ blog.mastodon }}">{% tablericon "brand-mastodon" "Mastodon" %}</a>&nbsp;
{%- endif -%}
</td>
</tr>
{% endfor %}
</table>
<p>Head on over to <a href="https://blogroll.org">blogroll.org</a> to find more blogs to follow or search for feeds using <a href="https://feedle.world">feedle</a>.</p>

View file

@ -0,0 +1,61 @@
---
layout: default
pagination:
data: books.all
size: 1
alias: book
permalink: "{{ book.url }}/index.html"
isbn: {{ book.isbn }}
schema: book
---
{%- capture alt -%}
{{ book.title }}{% if book.authors %}By {{ book.authors }}{% endif %}
{%- endcapture -%}
<a class="back-link-header link-icon" href="/books" title="Go back to the books index page">{% tablericon "arrow-left" "Go back to the books index page" %} Back to books</a>
<article class="book-focus">
<div class="book-display">
<img
srcset="
https://cdn.coryd.dev{{ book.image }}?class=verticalsm 200w,
https://cdn.coryd.dev{{ book.image }}?class=verticalmd 400w,
https://cdn.coryd.dev{{ book.image }}?class=verticalbase 800w,
https://cdn.coryd.dev{{ book.image }}?class=verticallg 1200w
"
sizes="(max-width: 450px) 203px,
(max-width: 850px) 406px,
(max-width: 1000px) 812px,
1624px"
src="https://cdn.coryd.dev{{ book.image }}?class=verticallg"
alt="{{ alt }}"
loading="eager"
decoding="async"
width="200"
height="307"
/>
<div class="book-meta">
<p class="title"><strong>{{ book.title }}</strong></p>
{% if book.rating %}<p>{{ book.rating }}</p>{% endif %}
{% if book.author %}
<p class="sub-meta">By {{ book.author }}</p>
{% endif %}
{% if book.status == 'finished' %}
<p class="sub-meta">Finished on: {{ book.date | date: "%B %e, %Y" }}</p>
{% endif %}
{% unless book.status == 'finished' %}
{%- assign percentage = book.progress | append: '%' -%}
{% render "partials/media/progress-bar.liquid", percentage:percentage %}
{% endunless %}
<p class="sub-meta"><a href="https://openlibrary.org/isbn/{{ book.isbn }}" title="View {{ book.title | escape }} on Open Library">View on Open Library</a></p>
</div>
</div>
{% if book.review %}
{% render "partials/blocks/banners/warning.liquid", text: "There are probably spoilers after this banner — this is a warning about them." %}
<h3>My thoughts</h3>
{{ book.review | markdown }}
<hr />
{% endif %}
{% if book.description %}
<h3>Overview</h3>
{{ book.description | markdown }}
{% endif %}
</article>

View file

@ -0,0 +1,53 @@
---
title: Currently reading / Books
description: Here's what I'm reading at the moment.
layout: default
permalink: "/books/index.html"
updated: "now"
schema: books
---
{%- assign bookData = books.all | bookStatus: 'started' | reverse -%}
{%- assign currentBookCount = books.all | currentBookCount -%}
<h2 class="page-header">Currently reading</h2>
<p>Here's what I'm reading at the moment. I've finished <strong class="highlight-text">{{ currentBookCount }} books</strong> this year.</p>
<p>{{ books.years | bookYearLinks }}</p>
{% render "partials/blocks/banners/rss.liquid", url: "https://feedpress.me/coryd-books", text: "Subscribe to my books feed or follow along on this page" %}
<hr />
{% for book in bookData %}
{% capture alt %}{{ book.title }} by {{ book.authors }}{% endcapture %}
<article class="book-entry">
<a href="{{ book.url }}">
<img
srcset="
https://cdn.coryd.dev{{ book.image }}?class=verticalsm 200w,
https://cdn.coryd.dev{{ book.image }}?class=verticalmd 400w,
https://cdn.coryd.dev{{ book.image }}?class=verticalbase 800w,
https://cdn.coryd.dev{{ book.image }}?class=verticallg 1200w
"
sizes="(max-width: 450px) 200px,
(max-width: 850px) 400px,
(max-width: 1000px) 800px,
1200px"
src="https://cdn.coryd.dev{{ book.image }}?class=verticallg 1200w"
alt="{{ alt }}"
loading="eager"
decoding="async"
width="200"
height="307"
/>
</a>
<div class="book-meta">
<a href="{{ book.url }}">
<p class="title"><strong>{{ book.title }}</strong></p>
</a>
{% if book.author %}
<p class="sub-meta">By {{ book.author }}</p>
{% endif %}
{% if book.progress %}
{%- assign percentage = book.progress | append: '%' -%}
{% render "partials/media/progress-bar.liquid", percentage:percentage %}
{% endif %}
{% if book.description %}<div class="description">{{ book.description | markdown | truncate: 300 }}</div>{% endif %}
</div>
</article>
{% endfor %}

View file

@ -0,0 +1,24 @@
---
layout: default
pagination:
data: books.years
size: 1
alias: year
permalink: "/books/years/{{ year.value }}.html"
schema: books-year
---
{%- assign bookData = year.data | bookStatus: 'finished' | bookSortDescending -%}
{%- assign bookDataFavorites = bookData | bookFavorites -%}
{%- capture favoriteBooks -%}{{ bookDataFavorites | shuffleArray | mediaLinks: "book", 5 }}{%- endcapture -%}
{%- capture currentYear -%}{% currentYear %}{%- endcapture -%}
{%- assign yearString = year.value | append: '' -%}
{%- assign currentYearString = currentYear | append: '' -%}
<a class="back-link-header link-icon" href="/books" title="Go back to the books index page">{% tablericon "arrow-left" "Go back to the books index page" %} Back to books</a>
<h2 class="page-header">{{ year.value }} / Books</h2>
{% if yearString == currentYearString %}
<p>I've finished <strong class="highlight-text">{{ bookData.size }} books</strong> this year. Among my favorites are {{ favoriteBooks }}.</p>
{% else %}
<p>I finished <strong class="highlight-text">{{ bookData.size }} books</strong> in <strong class="highlight-text">{{ year.value }}</strong>. Among my favorites were {{ favoriteBooks }}.</p>
{% endif %}
<hr />
{% render "partials/media/grid.liquid", data:bookData, shape: "vertical", count: 200, loading: "eager" %}

View file

@ -0,0 +1,7 @@
---
layout: default
permalink: /
---
{% render "partials/home/status.liquid" status:status, artists:music.week.artists, books:books.all, tv:tv %}
{% render "partials/home/posts.liquid" icon: "star", title: "Featured", postData:posts, postType: "featured" %}
{% render "partials/home/posts.liquid" icon: "clock-hour-7", title: "Recent posts", postData:posts %}

View file

@ -0,0 +1,25 @@
---
title: Links
layout: default
pagination:
data: links
size: 30
permalink: "/links/{% if pagination.pageNumber > 0 %}{{ pagination.pageNumber }}/{% endif %}index.html"
---
{% if pagination.pageNumber == 0 %}
<h2 class="page-header">Links</h2>
<p>These are links I've liked or otherwise found interesting. They're all added manually, after having been read and, I suppose, properly considered. Authors are associated with domains using a simple key-value map.</p>
{% render "partials/blocks/banners/rss.liquid", url: "https://feedpress.me/coryd-links", text: "Subscribe to my links feed or follow along on this page" %}
<hr />
{% endif %}
<div class="link-grid">
{% for link in pagination.items %}
<div class="link-box">
<a href="{{ link.link }}" title="{{ link.title | escape }}">
<strong>{{ link.title }}</strong>
</a>
{% if link.authors %} via <a href="{{ link.authors.url }}">{{ link.authors.name }}</a>{% endif %}
</div>
{% endfor %}
</div>
{% render "partials/nav/paginator.liquid", pagination:pagination %}

View file

@ -0,0 +1,19 @@
---
title: Albums / 3 months
description: All of the albums I've listened to over the last 3 months.
layout: default
pagination:
data: music.threeMonth.albums
size: 24
permalink: "/music/albums/three-months/{% if pagination.pageNumber > 0 %}{{ pagination.pageNumber }}/{% endif %}index.html"
image: music.threeMonth.artists[0].image
schema: music
---
<a class="back-link-header link-icon" href="/music" title="Go back to the music index page">{% tablericon "arrow-left" "Go back to the music index page" %} Back to music</a>
{% if pagination.pageNumber == 0 %}
<h2 class="page-header">{{ title }}</h2>
<p>I've listened to <strong class="highlight-text">{{ music.threeMonth.artists.size }} artists</strong>, <strong class="highlight-text">{{ music.threeMonth.albums.size }} albums</strong> and <strong class="highlight-text">{{ music.threeMonth.totalTracks }} tracks</strong> over the last 3 months. Most of that has been {{ music.threeMonth.genres | sortByPlaysDescending: "plays" | genreStrings: "genre" | mediaLinks: "genre", 5 }}.</p>
<p><strong class="highlight-text">See the</strong> <a href="/music/artists/three-months/">artists</a> or <a href="/music/tracks/three-months/">tracks</a> I've listened to over the last 3 months. <strong class="highlight-text">Or take a look at what I've listened to</strong> <a href="/music">this week</a> or <a href="/music/this-month">this month</a>.</p>
<hr />
{% endif %}
{% render "partials/media/grid.liquid" data:pagination, shape: "square" %}

View file

@ -0,0 +1,19 @@
---
title: Albums / This month
description: All of the albums I've listened to over the past month.
layout: default
pagination:
data: music.month.albums
size: 24
permalink: "/music/albums/this-month/{% if pagination.pageNumber > 0 %}{{ pagination.pageNumber }}/{% endif %}index.html"
image: music.month.artists[0].image
schema: music
---
<a class="back-link-header link-icon" href="/music" title="Go back to the music index page">{% tablericon "arrow-left" "Go back to the music index page" %} Back to music</a>
{% if pagination.pageNumber == 0 %}
<h2 class="page-header">{{ title }}</h2>
<p>I've listened to <strong class="highlight-text">{{ music.month.artists.size }} artists</strong>, <strong class="highlight-text">{{ music.month.albums.size }} albums</strong> and <strong class="highlight-text">{{ music.month.totalTracks }} tracks</strong> this month. Most of that has been {{ music.month.genres | sortByPlaysDescending: "plays" | genreStrings: "genre" | mediaLinks: "genre", 5 }}.</p>
<p><strong class="highlight-text">See the</strong> <a href="/music/artists/this-month/">artists</a> or <a href="/music/tracks/this-month/">tracks</a> I've listened to this month. <strong class="highlight-text">Or take a look at what I've listened to</strong> <a href="/music">this week</a> or <a href="/music/three-months">over the last 3 months</a>.</p>
<hr />
{% endif %}
{% render "partials/media/grid.liquid" data:pagination, shape: "square" %}

View file

@ -0,0 +1,19 @@
---
title: Albums / This week
description: All of the albums I've listened to this week.
layout: default
pagination:
data: music.week.albums
size: 24
permalink: "/music/albums/this-week/{% if pagination.pageNumber > 0 %}{{ pagination.pageNumber }}/{% endif %}index.html"
image: music.week.artists[0].image
schema: music
---
<a class="back-link-header link-icon" href="/music" title="Go back to the music index page">{% tablericon "arrow-left" "Go back to the music index page" %} Back to music</a>
{% if pagination.pageNumber == 0 %}
<h2 class="page-header">{{ title }}</h2>
<p>I've listened to <strong class="highlight-text">{{ music.week.artists.size }} artists</strong>, <strong class="highlight-text">{{ music.week.albums.size }} albums</strong> and <strong class="highlight-text">{{ music.week.totalTracks }} tracks</strong> this week. Most of that has been {{ music.week.genres | sortByPlaysDescending: "plays" | genreStrings: "genre" | mediaLinks: "genre", 5 }}.</p>
<p><strong class="highlight-text">See the</strong> <a href="/music/artists/this-week/">artists</a> or <a href="/music/tracks/this-week/">tracks</a> I've listened to this week. <strong class="highlight-text">Or take a look at what I've listened to</strong> <a href="/music/this-month">this month</a> or <a href="/music/three-months">over the last 3 months</a>.</p>
<hr />
{% endif %}
{% render "partials/media/grid.liquid" data:pagination, shape: "square" %}

View file

@ -0,0 +1,19 @@
---
title: Artists / 3 months
description: All of the artists I've listened to over the last 3 months.
layout: default
pagination:
data: music.threeMonth.artists
size: 24
permalink: "/music/artists/three-months/{% if pagination.pageNumber > 0 %}{{ pagination.pageNumber }}/{% endif %}index.html"
image: music.threeMonth.artists[0].image
schema: music
---
<a class="back-link-header link-icon" href="/music" title="Go back to the music index page">{% tablericon "arrow-left" "Go back to the music index page" %} Back to music</a>
{% if pagination.pageNumber == 0 %}
<h2 class="page-header">{{ title }}</h2>
<p>I've listened to <strong class="highlight-text">{{ music.threeMonth.artists.size }} artists</strong>, <strong class="highlight-text">{{ music.threeMonth.albums.size }} albums</strong> and <strong class="highlight-text">{{ music.threeMonth.totalTracks }} tracks</strong> over the last 3 months. Most of that has been {{ music.threeMonth.genres | sortByPlaysDescending: "plays" | genreStrings: "genre" | mediaLinks: "genre", 5 }}.</p>
<p><strong class="highlight-text">See the</strong> <a href="/music/albums/three-months/">albums</a> or <a href="/music/tracks/three-months/">tracks</a> I've listened to over the last 3 months. <strong class="highlight-text">Or take a look at what I've listened to</strong> <a href="/music">this week</a> or <a href="/music/this-month">this month</a>.</p>
<hr />
{% endif %}
{% render "partials/media/grid.liquid" data:pagination, shape: "square" %}

View file

@ -0,0 +1,80 @@
---
layout: default
pagination:
data: artists
size: 1
alias: artist
permalink: "{{ artist.url }}/index.html"
updated: "now"
schema: artist
---
{%- capture alt -%}
{{ artist.name_string }} / {{ artist.country }}
{%- endcapture -%}
{% capture js %}
{% render "../../../../assets/scripts/text-toggle.js" %}
{% endcapture %}
<script>{{ js }}</script>
<noscript><style>[data-toggle-content].text-toggle-hidden {height: unset !important;overflow: unset !important;margin-bottom: unset !important;}[data-toggle-content].text-toggle-hidden::after {display: none !important;}</style></noscript>
<a class="back-link-header link-icon" href="/music" title="Go back to the music index page">{% tablericon "arrow-left" "Go back to the music index page" %} Back to music</a>
<article class="artist-focus">
<div class="artist-display">
<img
srcset="
https://cdn.coryd.dev{{ artist.image }}?class=w200 200w,
https://cdn.coryd.dev{{ artist.image }}?class=w600 400w,
https://cdn.coryd.dev{{ artist.image }}?class=w800 800w,
https://cdn.coryd.dev{{ artist.image }}?class=w1600 1200w
"
sizes="(max-width: 450px) 200px,
(max-width: 850px) 400px,
(max-width: 1000px) 800px,
1200px"
src="https://cdn.coryd.dev{{ artist.image }}?class=w1600"
alt="{{ alt }}"
loading="eager"
decoding="async"
width="480"
height="480"
/>
<div class="artist-meta">
<p class="title"><strong>{{ artist.name_string }}</strong></p>
{%- if artist.favorite -%}
<p class="sub-meta favorite flex-centered">{% tablericon "heart" "Favorite" %} This is one of my favorite artists!</p>
{%- endif -%}
{%- if artist.tattoo -%}
<p class="sub-meta tattoo flex-centered">{% tablericon "needle" "Tattoo" %} I have a tattoo inspired by this artist!</p>
{%- endif -%}
{%- if artist.total_plays > 0 -%}
<p class="sub-meta"><strong class="highlight-text">{{ artist.total_plays }} plays</strong></p>
{%- endif -%}
<p class="sub-meta">
<a href="/music/genres/{{ artist.genres | slugify | downcase }}" title="Learn more about {{ artist.genres | escape }}">
{{ artist.genres }}
</a>
</p>
<p class="sub-meta">
<a class="brain" href="https://musicbrainz.org/artist/{{ artist.mbid }}" title="View {{ artist.name_string | escape }} on MusicBrainz">{% tablericon "brain" "MusicBrainz" %}</a>
</p>
</div>
</div>
{%- if artist.description -%}
<div data-toggle-content class="text-toggle-hidden">{{ artist.description | markdown }}</div>
<button data-toggle-button>Show more</button>
{%- endif -%}
<table>
<tr>
<th>Year</th>
<th>Title</th>
<th>Plays</th>
</tr>
{% for album in artist.albums %}
<tr>
<td>{{ album.release_year }}</td>
<td>{{ album.name }}</td>
<td>{{ album.total_plays }}</td>
</tr>
{% endfor %}
</table>
<p class="text-small"><em>These are the albums by this artist that are in my collection, not necessarily a comprehensive discography.</em></p>
</article>

View file

@ -0,0 +1,19 @@
---
title: Artists / This month
description: All of the artists I've listened to over the past month.
layout: default
pagination:
data: music.month.artists
size: 24
permalink: "/music/artists/this-month/{% if pagination.pageNumber > 0 %}{{ pagination.pageNumber }}/{% endif %}index.html"
image: music.month.artists[0].image
schema: music
---
<a class="back-link-header link-icon" href="/music" title="Go back to the music index page">{% tablericon "arrow-left" "Go back to the music index page" %} Back to music</a>
{% if pagination.pageNumber == 0 %}
<h2 class="page-header">{{ title }}</h2>
<p>I've listened to <strong class="highlight-text">{{ music.month.artists.size }} artists</strong>, <strong class="highlight-text">{{ music.month.albums.size }} albums</strong> and <strong class="highlight-text">{{ music.month.totalTracks }} tracks</strong> this month. Most of that has been {{ music.month.genres | sortByPlaysDescending: "plays" | genreStrings: "genre" | mediaLinks: "genre", 5 }}.</p>
<p><strong class="highlight-text">See the</strong> <a href="/music/albums/this-month/">albums</a> or <a href="/music/tracks/this-month/">tracks</a> I've listened to this month. <strong class="highlight-text">Or take a look at what I've listened to</strong> <a href="/music">this week</a> or <a href="/music/three-months">over the last 3 months</a>.</p>
<hr />
{% endif %}
{% render "partials/media/grid.liquid" data:pagination, shape: "square" %}

View file

@ -0,0 +1,19 @@
---
title: Artists / This week
description: All of the artists I've listened to this week.
layout: default
pagination:
data: music.week.artists
size: 24
permalink: "/music/artists/this-week/{% if pagination.pageNumber > 0 %}{{ pagination.pageNumber }}/{% endif %}index.html"
image: music.week.artists[0].image
schema: music
---
<a class="back-link-header link-icon" href="/music" title="Go back to the music index page">{% tablericon "arrow-left" "Go back to the music index page" %} Back to music</a>
{% if pagination.pageNumber == 0 %}
<h2 class="page-header">{{ title }}</h2>
<p>I've listened to <strong class="highlight-text">{{ music.week.artists.size }} artists</strong>, <strong class="highlight-text">{{ music.week.albums.size }} albums</strong> and <strong class="highlight-text">{{ music.week.totalTracks }} tracks</strong> this week. Most of that has been {{ music.week.genres | sortByPlaysDescending: "plays" | genreStrings: "genre" | mediaLinks: "genre", 5 }}.</p>
<p><strong class="highlight-text">See the</strong> <a href="/music/albums/this-week/">albums</a> or <a href="/music/tracks/this-week/">tracks</a> I've listened to this week. <strong class="highlight-text">Or take a look at what I've listened to</strong> <a href="/music/this-month">this month</a> or <a href="/music/three-months">over the last 3 months</a>.</p>
<hr />
{% endif %}
{% render "partials/media/grid.liquid" data:pagination, shape: "square" %}

View file

@ -0,0 +1,39 @@
---
layout: default
pagination:
data: genres
size: 1
alias: genre
permalink: "{{ genre.url }}/index.html"
updated: "now"
schema: genre
---
{% assign artistCount = genre.artists.size %}
{%- capture connectingWord -%}
{% if artistCount > 1 %}
are
{% else %}
is
{% endif %}
{%- endcapture -%}
{% capture js %}
{% render "../../../assets/scripts/text-toggle.js" %}
{% endcapture %}
<script>{{ js }}</script>
<noscript><style>[data-toggle-content].text-toggle-hidden {height: unset !important;overflow: unset !important;margin-bottom: unset !important;}[data-toggle-content].text-toggle-hidden::after {display: none !important;}</style></noscript>
<a class="back-link-header link-icon" href="/music" title="Go back to the music index page">{% tablericon "arrow-left" "Go back to the music index page" %} Back to music</a>
<h2 class="page-header">{{ genre.name }}</h2>
<article class="genre-focus">
{%- if genre.total_plays > 0 -%}
<p>My top <strong class="highlight-text">{{ genre.name }}</strong> artists {{ connectingWord }} {{ genre.artists | sortByPlaysDescending: "total_plays" | mediaLinks: "artist", 5 }}. I've listened to <strong class="highlight-text">{{ genre.total_plays | formatNumber }}</strong> tracks form this genre.</p>
<hr />
{% endif %}
{%- if genre.description -%}
<div data-toggle-content class="text-toggle-hidden">
{{ genre.description | markdown }}
<p><a href="{{ genre.wiki_link }}">Continue reading at Wikipedia.</a></p>
<p class="text-small"><em>Wikipedia content provided under the terms of the <a href="https://creativecommons.org/licenses/by-sa/3.0/">Creative Commons BY-SA license</a></em></p>
</div>
<button data-toggle-button>Show more</button>
{%- endif -%}
</article>

View file

@ -0,0 +1,56 @@
---
title: Music
description: This is everything I've been listening to recently — it's collected in a database as I listen to it and displayed here.
layout: default
permalink: "/music/index.html"
updated: "now"
schema: music-index
---
{% capture js %}
{% render "../../../assets/scripts/media-toggles.js" %}
{% endcapture %}
<script>{{ js }}</script>
<h2 class="page-header">{{ title }}</h2>
<p>I've listened to <strong class="highlight-text">{{ music.week.artists.size }} artists</strong>, <strong class="highlight-text">{{ music.week.albums.size }} albums</strong> and <strong class="highlight-text">{{ music.week.totalTracks }} tracks</strong> this week. Most of that has been {{ music.week.genres | sortByPlaysDescending: "plays" | genreStrings: "genre" | mediaLinks: "genre", 5 }}.</p>
<p><strong class="highlight-text">See more of the</strong> <a href="/music/artists/this-week/">artists</a>, <a href="/music/albums/this-week/">albums</a> or <a href="/music/tracks/this-week/">tracks</a> I've listened to this week. <strong class="highlight-text">Or take a look at what I've listened to</strong> <a href="/music/this-month">this month</a> or <a href="/music/three-months">over the last 3 months</a></p>
{% render "partials/blocks/now-playing.liquid" %}
<hr />
<h3 id="artists" class="section-header no-top-margin">
<a class="link-icon" href="/music/artists/this-week">
{% tablericon "microphone-2" "Artists" %}
Artists
</a>
</h3>
{% render "partials/media/grid.liquid", data:music.week.artists, shape: "square", count: 8, loading: "eager" %}
<h3 id="albums" class="section-header">
<a class="link-icon" href="/music/albums/this-week">
{% tablericon "vinyl" "Albums" %}
Albums
</a>
</h3>
{% render "partials/media/grid.liquid", data:music.week.albums, shape: "square", count: 8 %}
<div class="section-header-wrapper flex-centered">
<h3 id="tracks" class="section-header">
<a class="link-icon" href="/music/tracks/this-week">
{% tablericon "playlist" "Tracks" %}
Tracks
</a>
</h3>
<div class="section-header-buttons client-side">
<button class="small active" data-toggle="tracks-recent">Recent</button>
<button class="small secondary" data-toggle="tracks-window">This week</button>
</div>
</div>
<div id="tracks-recent">
{% render "partials/media/music/recent", data:music.recent %}
</div>
<div class="hidden" id="tracks-window">
{% render "partials/media/music/chart.liquid", data:music.week.tracks, mostPlayed:music.week.tracks[0].plays, count: 10 %}
</div>
{% if albumReleases.size > 0 %}
<h3 id="album-releases" class="section-header flex-centered">
{% tablericon "calendar-time" "Anticipated albums" %}
Anticipated albums
</h3>
{% render "partials/media/grid.liquid", data:albumReleases, shape: "square", count: 8 %}
{% endif %}

View file

@ -0,0 +1,34 @@
---
title: 3 months
description: This is everything I've been listening to over the last 3 months — it's collected in a database as I listen to it and displayed here.
layout: default
permalink: "/music/three-months/index.html"
updated: "now"
image: music.threeMonth.artists[0].image
schema: music-period
---
<h2 class="page-header">{{ title }}</h2>
<p>I've listened to <strong class="highlight-text">{{ music.threeMonth.artists.size }} artists</strong>, <strong class="highlight-text">{{ music.threeMonth.albums.size }} albums</strong> and <strong class="highlight-text">{{ music.threeMonth.totalTracks }} tracks</strong> over the last 3 months. Most of that has been {{ music.threeMonth.genres | sortByPlaysDescending: "plays" | genreStrings: "genre" | mediaLinks: "genre", 5 }}.</p>
<p><strong class="highlight-text">See more of the</strong> <a href="/music/artists/three-months/">artists</a>, <a href="/music/albums/three-months/">albums</a> or <a href="/music/tracks/three-months/">tracks</a> I've listened to over the last 3 months. <strong class="highlight-text">Or take a look at what I've listened to</strong> <a href="/music">this week</a> or <a href="/music/this-month">this month</a>.</p>
<hr />
<h3 id="artists" class="section-header no-top-margin">
<a class="link-icon" href="/music/artists/three-months">
{% tablericon "microphone-2" "Artists" %}
Artists
</a>
</h3>
{% render "partials/media/grid.liquid", data:music.threeMonth.artists, shape: "square", count: 8, loading: "eager" %}
<h3 id="albums" class="section-header">
<a class="link-icon" href="/music/albums/three-months">
{% tablericon "vinyl" "Albums" %}
Albums
</a>
</h3>
{% render "partials/media/grid.liquid", data:music.threeMonth.albums, shape: "square", count: 8 %}
<h3 id="tracks" class="section-header">
<a class="link-icon" href="/music/tracks/three-months">
{% tablericon "playlist" "Tracks" %}
Tracks
</a>
</h3>
{% render "partials/media/music/chart.liquid", data:music.threeMonth.tracks, mostPlayed:music.threeMonth.tracks[0].plays, count: 10 %}

View file

@ -0,0 +1,34 @@
---
title: This month
description: This is everything I've been listening to this month — it's collected in a database as I listen to it and displayed here.
layout: default
permalink: "/music/this-month/index.html"
updated: "now"
image: music.month.artists[0].image
schema: music-period
---
<h2 class="page-header">{{ title }}</h2>
<p>I've listened to <strong class="highlight-text">{{ music.month.artists.size }} artists</strong>, <strong class="highlight-text">{{ music.month.albums.size }} albums</strong> and <strong class="highlight-text">{{ music.month.totalTracks }} tracks</strong> this month. Most of that has been {{ music.month.genres | sortByPlaysDescending: "plays" | genreStrings: "genre" | mediaLinks: "genre", 5 }}.</p>
<p><strong class="highlight-text">See more of the</strong> <a href="/music/artists/this-month/">artists</a>, <a href="/music/albums/this-month/">albums</a> or <a href="/music/tracks/this-month/">tracks</a> I've listened to this month. <strong class="highlight-text">Or take a look at what I've listened to</strong> <a href="/music">this week</a> or <a href="/music/three-months">over the last 3 months</a>.</p>
<hr />
<h3 id="artists" class="section-header no-top-margin">
<a class="link-icon" href="/music/artists/this-month">
{% tablericon "microphone-2" "Artists" %}
Artists
</a>
</h3>
{% render "partials/media/grid.liquid", data:music.month.artists, shape: "square", count: 8, loading: "eager" %}
<h3 id="albums" class="section-header">
<a class="link-icon" href="/music/albums/this-month">
{% tablericon "vinyl" "Albums" %}
Albums
</a>
</h3>
{% render "partials/media/grid.liquid", data:music.month.albums, shape: "square", count: 8 %}
<h3 id="tracks" class="section-header">
<a class="link-icon" href="/music/tracks/this-month">
{% tablericon "playlist" "Tracks" %}
Tracks
</a>
</h3>
{% render "partials/media/music/chart.liquid", data:music.month.tracks, mostPlayed:music.month.tracks[0].plays, count: 10 %}

View file

@ -0,0 +1,19 @@
---
title: Tracks / 3 months
description: All of the tracks I've listened to over the last 3 months.
layout: default
pagination:
data: music.threeMonth.tracks
size: 50
permalink: "/music/tracks/three-months/{% if pagination.pageNumber > 0 %}{{ pagination.pageNumber }}/{% endif %}index.html"
image: music.threeMonth.artists[0].image
schema: music
---
<a class="back-link-header link-icon" href="/music" title="Go back to the music index page">{% tablericon "arrow-left" "Go back to the music index page" %} Back to music</a>
{% if pagination.pageNumber == 0 %}
<h2 class="page-header">{{ title }}</h2>
<p>I've listened to <strong class="highlight-text">{{ music.threeMonth.artists.size }} artists</strong>, <strong class="highlight-text">{{ music.threeMonth.albums.size }} albums</strong> and <strong class="highlight-text">{{ music.threeMonth.totalTracks }} tracks</strong> over the last 3 months. Most of that has been {{ music.threeMonth.genres | sortByPlaysDescending: "plays" | genreStrings: "genre" | mediaLinks: "genre", 5 }}.</p>
<p><strong class="highlight-text">See the</strong> <a href="/music/artists/three-months/">artists</a> or <a href="/music/albums/three-months/">albums</a> I've listened to over the last 3 months. <strong class="highlight-text">Or take a look at what I've listened to</strong> <a href="/music">this week</a> or <a href="/music/this-month">this month</a>.</p>
<hr />
{% endif %}
{% render "partials/media/music/chart.liquid" data:pagination, playTotal: music.threeMonth.tracks[0].plays %}

View file

@ -0,0 +1,19 @@
---
title: Tracks / This month
description: All of the tracks I've listened to over the past month.
layout: default
pagination:
data: music.month.tracks
size: 50
permalink: "/music/tracks/this-month/{% if pagination.pageNumber > 0 %}{{ pagination.pageNumber }}/{% endif %}index.html"
image: music.month.artists[0].image
schema: music
---
<a class="back-link-header link-icon" href="/music" title="Go back to the music index page">{% tablericon "arrow-left" "Go back to the music index page" %} Back to music</a>
{% if pagination.pageNumber == 0 %}
<h2 class="page-header">{{ title }}</h2>
<p>I've listened to <strong class="highlight-text">{{ music.month.artists.size }} artists</strong>, <strong class="highlight-text">{{ music.month.albums.size }} albums</strong> and <strong class="highlight-text">{{ music.month.totalTracks }} tracks</strong> this month. Most of that has been {{ music.month.genres | sortByPlaysDescending: "plays" | genreStrings: "genre" | mediaLinks: "genre", 5 }}.</p>
<p><strong class="highlight-text">See the</strong> <a href="/music/artists/this-month/">artists</a> or <a href="/music/albums/this-month/">albums</a> this month. <strong class="highlight-text">Or take a look at what I've listened to</strong> <a href="/music">this week</a> or <a href="/music/three-months">over the last 3 months</a>.</p>
<hr />
{% endif %}
{% render "partials/media/music/chart.liquid" data:pagination, playTotal: music.month.tracks[0].plays %}

View file

@ -0,0 +1,19 @@
---
title: Tracks / This week
description: All of the tracks I've listened to this week.
layout: default
pagination:
data: music.week.tracks
size: 50
permalink: "/music/tracks/this-week/{% if pagination.pageNumber > 0 %}{{ pagination.pageNumber }}/{% endif %}index.html"
image: music.week.artists[0].image
schema: music
---
<a class="back-link-header link-icon" href="/music" title="Go back to the music index page">{% tablericon "arrow-left" "Go back to the music index page" %} Back to music</a>
{% if pagination.pageNumber == 0 %}
<h2 class="page-header">{{ title }}</h2>
<p>I've listened to <strong class="highlight-text">{{ music.week.artists.size }} artists</strong>, <strong class="highlight-text">{{ music.week.albums.size }} albums</strong> and <strong class="highlight-text">{{ music.week.totalTracks }} tracks</strong> this week. Most of that has been {{ music.week.genres | sortByPlaysDescending: "plays" | genreStrings: "genre" | mediaLinks: "genre", 5 }}.</p>
<p><strong class="highlight-text">See the</strong> <a href="/music/artists/this-week/">artists</a> or <a href="/music/albums/this-week/">albums</a> I've listened to this week. <strong class="highlight-text">Or take a look at what I've listened to</strong> <a href="/music/this-month">this month</a> or <a href="/music/three-months">over the last 3 months</a>.</p>
<hr />
{% endif %}
{% render "partials/media/music/chart.liquid" data:pagination, playTotal: music.week.tracks[0].plays %}

View file

@ -0,0 +1,12 @@
---
layout: default
pagination:
data: pages
size: 1
alias: page
description: "{{ page.description | default: globals.site_description }}"
permalink: "{{ page.permalink }}/index.html"
image: "{{ page.open_graph_image | prepend: 'https://cdn.coryd.dev/' | default: globals.meta_data.opengraph_default }}"
updated: {{ page.updated | default: null }}
---
{% render "partials/blocks/index.liquid", blocks:page.blocks, collections:collections, links:links %}

View file

@ -0,0 +1,28 @@
---
title: All posts
layout: default
pagination:
data: posts
size: 8
alias: posts
permalink: "/posts/{% if pagination.pageNumber > 0 %}{{ pagination.pageNumber }}/{% endif %}index.html"
---
<div class="posts-wrapper">
{% for post in pagination.items %}
<article class="h-entry">
<div class="time-wrapper flex-centered">
{% tablericon "calendar-month" "Date" %}
<time class="dt-published" datetime="{{ post.date }}">
{{ post.date | date: "%B %e, %Y" }}
</time>
</div>
<a href="{{ post.slug }}">
<h3>{{ post.title }}</h3>
</a>
<span class="p-author h-card hidden">{{ globals.site_name }}</span>
<div class="p-summary hidden">{{ post.description }}</div>
<p>{{ post.description }}</p>
</article>
{% endfor %}
</div>
{% render "partials/nav/paginator.liquid", pagination:pagination %}

View file

@ -0,0 +1,45 @@
---
layout: default
pagination:
data: posts
size: 1
alias: post
permalink: "{{ post.slug }}/index.html"
schema: blog
---
<article class="h-entry">
<div class="time-wrapper flex-centered">
{% tablericon "calendar-month" "Date" %}
<time class="dt-published" datetime="{{ date }}">
{{ post.date | date: "%B %e, %Y" }}
</time>
</div>
<h2 class="p-name">{{ post.title }}</h2>
<span class="p-author h-card hidden">{{ globals.author }}</span>
<div class="p-summary hidden">{{ post.description }}</div>
<div class="e-content">
{% render "partials/blocks/banners/old-post.liquid", date:post.date %}
{%- if post.image -%}
<img
srcset="
https://cdn.coryd.dev/{{ post.image }}?class=w200 200w,
https://cdn.coryd.dev/{{ post.image }}?class=w400 400w,
https://cdn.coryd.dev/{{ post.image }}?class=w800 800w,
https://cdn.coryd.dev/{{ post.image }}?class=w1600 1600w
"
sizes="(max-width: 450px) 200px,
(max-width: 850px) 400px,
(max-width: 1000px) 800px,
1600px"
src="https://cdn.coryd.dev/{{ post.image }}?class=w1600"
alt="{{ post.image_alt }}"
class="image-banner"
loading="lazy"
decoding="async"
/>
{%- endif -%}
{{ post.content | markdown }}
{% render "partials/blocks/index.liquid", blocks:post.blocks %}
</div>
</article>
{% render "partials/blocks/addon-links.liquid", popularPosts:collections.popularPosts, links:links %}

View file

@ -0,0 +1,62 @@
---
title: Search
description: Search through and find the posts and links on my site.
layout: default
permalink: /search.html
---
<script src="/assets/scripts/components/minisearch.js"></script>
<script type="module">
(() => {
const miniSearch = new MiniSearch({
fields: ['title', 'text', 'tags']
})
const $form = document.querySelector('.search__form')
const $input = document.querySelector('.search__form--input')
const $fallback = document.querySelector('.search__form--fallback')
const $results = document.querySelector('.search__results')
// remove noscript fallbacks
$form.removeAttribute('action')
$form.removeAttribute('method')
$fallback.remove()
const index = {{ collections.searchIndex | json }}
const resultsById = index.reduce((byId, result) => {
byId[result.id] = result
return byId
}, {})
miniSearch.addAll(index)
$input.addEventListener('input', () => {
const query = $input.value
const results = (query.length > 1) ? getSearchResults(query) : []
if (query === '') renderSearchResults([])
if (results && typeof plausible === 'function') plausible('Search', { props: { query: query } });
renderSearchResults(results)
})
$input.addEventListener('keydown', (event) => {
if (event.key === 'Enter') event.preventDefault()
})
const getSearchResults = (query) => miniSearch.search(query, { prefix: true, fuzzy: 0.2, boost: { title: 2 } }).map(({ id }) => resultsById[id])
const renderSearchResults = (results) => {
$results.innerHTML = results.map(({ title, url }) => {
return `<li class="search__results--result"><a href="${url}">${title}</a></li>`
}).join('\n')
if (results.length > 0) {
$results.classList.remove('hidden')
} else {
$results.classList.add('hidden')
}
}
})()
</script>
<form class="search__form" action="https://duckduckgo.com" method="get">
<input class="search__form--input" placeholder="Search" type="search" name="q" autocomplete="off" autofocus>
<input class="search__form--fallback" type="hidden" placeholder="Search" name="sites" value="coryd.dev">
</form>
<ul class="search__results hidden"></ul>
{% render "partials/blocks/addon-links.liquid", popularPosts:collections.popularPosts, links:links %}

View file

@ -0,0 +1,17 @@
---
title: Favorite movies
description: These are my favorite movies. There are many like them, but these are mine.
layout: default
pagination:
data: movies.favorites
size: 24
permalink: "/watching/favorite-movies/{% if pagination.pageNumber > 0 %}{{ pagination.pageNumber }}/{% endif %}index.html"
schema: watching
---
<a class="back-link-header link-icon" href="/watching" title="Go back to the watching index page">{% tablericon "arrow-left" "Go back to the watching index page" %} Back to watching</a>
{% if pagination.pageNumber == 0 %}
<h2 class="watching page-header">{{ title }}</h2>
<p>These are my favorite movies. There are many like them, but these are mine.</p>
<hr />
{% endif %}
{% render "partials/media/watching/grid.liquid", data:pagination %}

View file

@ -0,0 +1,17 @@
---
title: Favorite shows
description: These are my favorite shows. There are many like them, but these are mine.
layout: default
pagination:
data: tv.favorites
size: 24
permalink: "/watching/favorite-shows/{% if pagination.pageNumber > 0 %}{{ pagination.pageNumber }}/{% endif %}index.html"
schema: watching
---
<a class="back-link-header link-icon" href="/watching" title="Go back to the watching index page">{% tablericon "arrow-left" "Go back to the watching index page" %} Back to watching</a>
{% if pagination.pageNumber == 0 %}
<h2 class="watching page-header">{{ title }}</h2>
<p>These are my favorite shows. There are many like them, but these are mine.</p>
<hr />
{% endif %}
{% render "partials/media/watching/grid.liquid", data:pagination %}

View file

@ -0,0 +1,44 @@
---
title: Watching
description: Here's all of the TV and movies I've been watching presented in what is (hopefully) an organized fashion.
layout: default
permalink: "/watching/index.html"
updated: "now"
schema: watching
---
{% assign featuredMovie = movies.recentlyWatched | featuredWatching: 1 | first %}
<h2 class="watching page-header">{{ title }}</h2>
{% render "partials/media/watching/hero.liquid" movie:featuredMovie %}
<p>Here's all of the TV and movies I've been watching presented in what is (hopefully) an organized fashion.</p>
{% render "partials/blocks/banners/rss.liquid", url: "https://feedpress.me/coryd-movies", text: "Subscribe to my movies feed or follow along on this page" %}
<hr />
<h3 id="movies" class="section-header no-top-margin">
<a class="link-icon" href="/watching/recent/movies">
{% tablericon "movie" "Recent movies" %}
Recent movies
</a>
</h3>
{% render "partials/media/grid.liquid", data:movies.recentlyWatched, shape: "vertical", count: 6 %}
<h3 id="tv" class="section-header">
<a class="link-icon" href="/watching/recent/shows">
{% tablericon "device-tv" "Recent shows" %}
Recent shows
</a>
</h3>
{% render "partials/media/grid.liquid", data:tv.recentlyWatched, shape: "vertical", count: 6 %}
<h3 id="favorite-movies" class="section-header">
<a class="link-icon" href="/watching/favorite-movies">
{% tablericon "star" "Favorite movies" %}
Favorite movies
</a>
</h3>
{% assign favoriteMovies = movies.favorites | featuredWatching: 6 %}
{% render "partials/media/watching/grid.liquid", mediaItems:favoriteMovies, count: 6 %}
<h3 id="favorite-shows" class="section-header">
<a class="link-icon" href="/watching/favorite-shows">
{% tablericon "star" "Favorite shows" %}
Favorite shows
</a>
</h3>
{% assign favoriteShows = tv.favorites | featuredWatching: 6 %}
{% render "partials/media/watching/grid.liquid", mediaItems:favoriteShows, count: 6 %}

View file

@ -0,0 +1,50 @@
---
layout: default
pagination:
data: movies.movies
size: 1
alias: movie
permalink: "{{ movie.url }}/index.html"
schema: movie
---
{%- capture alt -%}
{{ movie.title }} / {{ movie.year }}{% if move.rating %} ({{ movie.rating }}){% endif %}
{%- endcapture -%}
<a class="back-link-header link-icon" href="/watching" title="Go back to the watching index page">{% tablericon "arrow-left" "Go back to the watching index page" %} Back to watching</a>
<article class="watching-focus">
<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 }}"
class="image-banner"
loading="eager"
decoding="async"
width="1080"
height="720"
/>
<div class="watching-meta">
<p class="title"><strong>{{ movie.title }}</strong></p>
{% if movie.rating %}<p class="rating">{{ movie.rating }}</p>{% endif %}
{% if movie.lastWatched %}<p class="sub-meta">Last watched on {{ movie.lastWatched | date: "%B %e, %Y" }}</p>{% endif %}
<p class="sub-meta"><a href="https://themoviedb.org/movie/{{ movie.id }}" title="View {{ movie.title | escape }} on TMDB">View on TMDB</a></p>
</div>
{% if movie.review %}
{% render "partials/blocks/banners/warning.liquid", text: "There are probably spoilers after this banner — this is a warning about them." %}
<h3>My thoughts</h3>
{{ movie.review | markdown }}
<hr />
{% endif %}
{% if movie.description %}
<h3>Overview</h3>
{{ movie.description | markdown }}
{% endif %}
</article>

View file

@ -0,0 +1,17 @@
---
title: Recent movies
description: These are the movies I've watched recently. There are many like them, but these are mine.
layout: default
pagination:
data: movies.recentlyWatched
size: 24
permalink: "/watching/recent/movies/{% if pagination.pageNumber > 0 %}{{ pagination.pageNumber }}/{% endif %}index.html"
schema: watching
---
<a class="back-link-header link-icon" href="/watching" title="Go back to the watching index page">{% tablericon "arrow-left" "Go back to the watching index page" %} Back to watching</a>
{% if pagination.pageNumber == 0 %}
<h2 class="watching page-header">{{ title }}</h2>
<p>These are the movies I've watched recently. There are many like them, but these are mine. (Or well, all the movies I've watched — they're ordered latest watched, descending, hence the recent part).</p>
<hr />
{% endif %}
{% render "partials/media/watching/grid.liquid", data:pagination %}

View file

@ -0,0 +1,17 @@
---
title: Recent shows
description: These are the shows I've watched recently. There are many like them, but these are mine.
layout: default
pagination:
data: tv.recentlyWatched
size: 24
permalink: "/watching/recent/shows/{% if pagination.pageNumber > 0 %}{{ pagination.pageNumber }}/{% endif %}index.html"
schema: watching
---
<a class="back-link-header link-icon" href="/watching" title="Go back to the watching index page">{% tablericon "arrow-left" "Go back to the watching index page" %} Back to watching</a>
{% if pagination.pageNumber == 0 %}
<h2 class="watching page-header">{{ title }}</h2>
<p>These are the shows I've watched recently. There are many like them, but these are mine. (Or well, all the movies I've watched — they're ordered latest watched, descending, hence the recent part).</p>
<hr />
{% endif %}
{% render "partials/media/watching/grid.liquid", data:pagination %}

View file

@ -0,0 +1,50 @@
---
layout: default
pagination:
data: tv.shows
size: 1
alias: show
permalink: "{{ show.url }}/index.html"
schema: show
---
{%- capture alt -%}
{{ show.title }} / {{ show.year }}
{%- endcapture -%}
{% assign lastWatched = show | getLastWatched %}
<a class="back-link-header link-icon" href="/watching" title="Go back to the watching index page">{% tablericon "arrow-left" "Go back to the watching index page" %} Back to watching</a>
<article class="watching-focus">
<img
srcset="
https://cdn.coryd.dev{{ show.backdrop }}?class=bannersm 256w,
https://cdn.coryd.dev{{ show.backdrop }}?class=bannermd 512w,
https://cdn.coryd.dev{{ show.backdrop }}?class=bannerbase 1024w,
https://cdn.coryd.dev{{ show.backdrop }}?class=bannerlg 2048w
"
sizes="(max-width: 450px) 256px,
(max-width: 850px) 512px,
(max-width: 1000px) 1024px,
2048px"
src="https://cdn.coryd.dev/{{ show.backdrop }}?class=bannerlg"
alt="{{ alt }}"
class="image-banner"
loading="eager"
decoding="async"
width="1080"
height="720"
/>
<div class="watching-meta">
<p class="title"><strong>{{ show.title }}</strong></p>
{% if lastWatched %}<p class="sub-meta">Last watched on {{ lastWatched | date: "%B %e, %Y" }}</p>{% endif %}
<p class="sub-meta"><a href="https://themoviedb.org/tv/{{ show.tmdb_id }}" title="View {{ show.title | escape }} on TMDB">View on TMDB</a></p>
</div>
{% if show.review %}
{% render "partials/blocks/banners/warning.liquid", text: "There are probably spoilers after this banner — this is a warning about them." %}
<h3>My thoughts</h3>
{{ show.review | markdown }}
<hr />
{% endif %}
{% if show.description %}
<h3>Overview</h3>
{{ show.description | markdown }}
{% endif %}
</article>