chore: clearer organizational distinction between data-generated (dynamic) pages and strictly markdown ones
This commit is contained in:
parent
a8beefaa4a
commit
4dca0dfb3e
36 changed files with 541 additions and 198 deletions
37
src/pages/dynamic/blogroll.html
Normal file
37
src/pages/dynamic/blogroll.html
Normal 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>
|
||||
{%- endif -%}
|
||||
{%- if blog.json_feed -%}
|
||||
<a class="json" href="{{ blog.json_feed }}">{% tablericon "json" "Subscribe via JSON" %}</a>
|
||||
{%- endif -%}
|
||||
{%- if blog.newsletter -%}
|
||||
<a class="mail-plus" href="{{ blog.newsletter }}">{% tablericon "mail-plus" "Newsletter subscription" %}</a>
|
||||
{%- endif -%}
|
||||
{%- if blog.mastodon -%}
|
||||
<a class="brand-mastodon" href="{{ blog.mastodon }}">{% tablericon "brand-mastodon" "Mastodon" %}</a>
|
||||
{%- 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>
|
61
src/pages/dynamic/books/book.html
Normal file
61
src/pages/dynamic/books/book.html
Normal 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>
|
53
src/pages/dynamic/books/index.html
Normal file
53
src/pages/dynamic/books/index.html
Normal 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 %}
|
24
src/pages/dynamic/books/year.html
Normal file
24
src/pages/dynamic/books/year.html
Normal 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" %}
|
7
src/pages/dynamic/index.html
Normal file
7
src/pages/dynamic/index.html
Normal 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 %}
|
25
src/pages/dynamic/links.html
Normal file
25
src/pages/dynamic/links.html
Normal 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 %}
|
19
src/pages/dynamic/music/albums/3-months.html
Normal file
19
src/pages/dynamic/music/albums/3-months.html
Normal 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" %}
|
19
src/pages/dynamic/music/albums/this-month.html
Normal file
19
src/pages/dynamic/music/albums/this-month.html
Normal 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" %}
|
19
src/pages/dynamic/music/albums/this-week.html
Normal file
19
src/pages/dynamic/music/albums/this-week.html
Normal 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" %}
|
19
src/pages/dynamic/music/artists/3-months.html
Normal file
19
src/pages/dynamic/music/artists/3-months.html
Normal 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" %}
|
80
src/pages/dynamic/music/artists/artist.html
Normal file
80
src/pages/dynamic/music/artists/artist.html
Normal 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>
|
19
src/pages/dynamic/music/artists/this-month.html
Normal file
19
src/pages/dynamic/music/artists/this-month.html
Normal 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" %}
|
19
src/pages/dynamic/music/artists/this-week.html
Normal file
19
src/pages/dynamic/music/artists/this-week.html
Normal 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" %}
|
39
src/pages/dynamic/music/genre.html
Normal file
39
src/pages/dynamic/music/genre.html
Normal 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>
|
56
src/pages/dynamic/music/index.html
Normal file
56
src/pages/dynamic/music/index.html
Normal 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 %}
|
34
src/pages/dynamic/music/periods/3-months.html
Normal file
34
src/pages/dynamic/music/periods/3-months.html
Normal 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 %}
|
34
src/pages/dynamic/music/periods/this-month.html
Normal file
34
src/pages/dynamic/music/periods/this-month.html
Normal 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 %}
|
19
src/pages/dynamic/music/tracks/3-months.html
Normal file
19
src/pages/dynamic/music/tracks/3-months.html
Normal 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 %}
|
19
src/pages/dynamic/music/tracks/this-month.html
Normal file
19
src/pages/dynamic/music/tracks/this-month.html
Normal 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 %}
|
19
src/pages/dynamic/music/tracks/this-week.html
Normal file
19
src/pages/dynamic/music/tracks/this-week.html
Normal 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 %}
|
12
src/pages/dynamic/page.html
Normal file
12
src/pages/dynamic/page.html
Normal 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 %}
|
28
src/pages/dynamic/posts/index.html
Normal file
28
src/pages/dynamic/posts/index.html
Normal 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 %}
|
45
src/pages/dynamic/posts/post.html
Normal file
45
src/pages/dynamic/posts/post.html
Normal 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 %}
|
62
src/pages/dynamic/search.html
Normal file
62
src/pages/dynamic/search.html
Normal 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 %}
|
17
src/pages/dynamic/watching/favorites/movies.html
Normal file
17
src/pages/dynamic/watching/favorites/movies.html
Normal 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 %}
|
17
src/pages/dynamic/watching/favorites/shows.html
Normal file
17
src/pages/dynamic/watching/favorites/shows.html
Normal 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 %}
|
44
src/pages/dynamic/watching/index.html
Normal file
44
src/pages/dynamic/watching/index.html
Normal 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 %}
|
50
src/pages/dynamic/watching/movie.html
Normal file
50
src/pages/dynamic/watching/movie.html
Normal 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>
|
17
src/pages/dynamic/watching/recent/movies.html
Normal file
17
src/pages/dynamic/watching/recent/movies.html
Normal 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 %}
|
17
src/pages/dynamic/watching/recent/shows.html
Normal file
17
src/pages/dynamic/watching/recent/shows.html
Normal 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 %}
|
50
src/pages/dynamic/watching/show.html
Normal file
50
src/pages/dynamic/watching/show.html
Normal 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>
|
Reference in a new issue