Update to Eleventy v3 (#11)
* feat: upgrade to v3; install eleventy-upgrade-help * feat: convert all files to esm * feat: remove decapcms * fix: remove unused filter * feat: remove netlify packages * feat: update image handling - removes old image shortcode - update to latest 11ty image transform plugin * feat: update colophon * fix: pill style; global style Fixes an issue with <img> inside <figure> not being centered * feat: remove linting packages * feat: update package.json scripts * feat: remove upgrade helper plugin * feat: add new button style, update nav * feat: simplify `pill` class usage * feat: fix tag list in catalogue-item.html * feat: move games into their own section * feat: update node version to latest LTS * feat: move books to their own section * feat: move fun pages into pages dir * feat: update index and book/game templates * feat: add watching section * fix: update scaling values for buttons * feat: various css updates * feat: update now page style * feat: cleaning up newer posts using old shortcode also adding markdown-it-attrs to add attrs to various markdown elements! * fix: movie data structure * feat: update colophon * fix: remove text-skew from post excerpt text * feat: add support for shows in /watching * fix: update book tags * feat: add complete implementation of books pages other stuff happened too * fix: image border-radius * feat: update game layout and content * feat: reorganize watching section * feat: add contact page * feat: small page changes * feat: add podroll page * feat: reorganize content directories * feat: exclude podcasts from page output * chore: delete guestbook page * chore: remove bracket syntax for css classes in html * feat: create macro for tag list * fix: colophon update * chore: remove last.fm data * chore: clean up 11ty config * fix: misc permalink fixes * feat: add update post * fix: media meta grid on mobile * fix: tables on mobile * fix: add titles to icon button links * fix: add missing divider for movies/shows * feat: add alternate feeds * fix: tag cleanup * feat: homepage content update * fix: game meta data * fix: update post dates * feat: add missing link to changelog
This commit is contained in:
parent
e28e804e12
commit
5f8227a46b
282 changed files with 4577 additions and 5016 deletions
|
@ -4,7 +4,7 @@ title: 404 - Can't Find That Frog
|
|||
youtube: true
|
||||
---
|
||||
|
||||
<section class="[ flow ]">
|
||||
<section class="flow">
|
||||
<h1>404 🍞</h1>
|
||||
<p>Couldn't find what you're looking for. But would you like some bread for your journey home? 🥖</p>
|
||||
{% youtube "GQw-aEk05qY", "Call 1800 Tobë ( Bread Ad )" %}
|
||||
|
|
|
@ -5,6 +5,8 @@ description: All about me!
|
|||
|
||||
# About me
|
||||
|
||||
**See also**: [Stuff I use](/uses), my [contact info](/contact), or [what's happening now](/now).
|
||||
|
||||
Hello! Ahoj! Welcome to my site!
|
||||
|
||||
My name is **Devin Haska** and this is my little slice of the internet I call home.
|
||||
|
@ -13,7 +15,7 @@ Here's a non-exhaustive list of topics you'll find here: web development, music,
|
|||
|
||||
I really like frogs, like a lot. So I made myself a mascot. They don't have a name yet, but perhaps you can think of one?
|
||||
|
||||
{% image "https://cdn.wonderfulfrog.com/images/logo.svg", "A pixel art version of a frog. They are currently unnamed.", "What should we call them?" %}
|
||||

|
||||
|
||||
## Professional
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ title: Blogroll
|
|||
description: A collection of my favourite sites.
|
||||
---
|
||||
|
||||
<section class="[ flow ]">
|
||||
<section class="flow">
|
||||
<h1>Blogroll</h1>
|
||||
<p>A collection of my favourite sites, in no particular order.</p>
|
||||
<p>
|
||||
|
|
15
src/pages/books/favourites.html
Normal file
15
src/pages/books/favourites.html
Normal file
|
@ -0,0 +1,15 @@
|
|||
---
|
||||
title: Favourite books
|
||||
permalink: "books/favourites/index.html"
|
||||
---
|
||||
|
||||
{% from "macros/media-grid.njk" import grid %}
|
||||
{% set data = collections.book | filterFavourites | reverse %}
|
||||
<a class="button" href="/books">
|
||||
{% include "svgs/arrow-left.svg" %}
|
||||
Back to books</a>
|
||||
<section class="flow">
|
||||
<h1>Favourite book</h1>
|
||||
<p>A collection of my favourite books!</p>
|
||||
{{ grid(data) }}
|
||||
</section>
|
33
src/pages/books/index.html
Normal file
33
src/pages/books/index.html
Normal file
|
@ -0,0 +1,33 @@
|
|||
---
|
||||
title: Books
|
||||
permalink: "books/index.html"
|
||||
---
|
||||
|
||||
{% from "macros/media-grid.njk" import grid %}
|
||||
{% set data = collections.book | reverse | limit(5) %}
|
||||
{% set faves = collections.book | filterFavourites | reverse | limit(5) %}
|
||||
{% set tags = collections.book | allTagCounts(["book"]) | limit(5) %}
|
||||
<section class="flow">
|
||||
<h1>Books</h1>
|
||||
<p>A collection of books I've read over the years. I hope one day its an exhaustive list.</p>
|
||||
<h2>
|
||||
<a href="tags">Tags</a>
|
||||
</h2>
|
||||
<ul class="categories cluster list-none p-0 line-height-m">
|
||||
{% for tag in tags %}
|
||||
<li>
|
||||
<a class="button" href="tag/{{ tag.tag | slugify }}">
|
||||
{% include "svgs/frame.svg" %}
|
||||
{{ tag.tag }}</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
<h2>
|
||||
<a href="recent">Recent books</a>
|
||||
</h2>
|
||||
{{ grid(data) }}
|
||||
<h2>
|
||||
<a href="favourites">Favourite books</a>
|
||||
</h2>
|
||||
{{ grid(faves) }}
|
||||
</section>
|
12
src/pages/books/recent.html
Normal file
12
src/pages/books/recent.html
Normal file
|
@ -0,0 +1,12 @@
|
|||
---
|
||||
title: Recent books
|
||||
permalink: "books/recent/index.html"
|
||||
---
|
||||
|
||||
{% from "macros/media-grid.njk" import grid %}
|
||||
{% set data = collections.book | reverse %}
|
||||
<section class="flow">
|
||||
<h1>Recent books</h1>
|
||||
<p>A collection of books I've read.</p>
|
||||
{{ grid(data) }}
|
||||
</section>
|
15
src/pages/books/tag.html
Normal file
15
src/pages/books/tag.html
Normal file
|
@ -0,0 +1,15 @@
|
|||
---
|
||||
pagination:
|
||||
data: collections.booksByTag
|
||||
size: 1
|
||||
alias: tag
|
||||
permalink: "books/tag/{{ tag | slugify }}/index.html"
|
||||
---
|
||||
|
||||
{% from "macros/media-grid.njk" import grid %}
|
||||
{% set data = collections.booksByTag[tag] %}
|
||||
<header class="flow flow-space-1">
|
||||
<h1>Books</h1>
|
||||
<p class="text-fadeText flow-space-0.25">Tagged with "{{ tag }}"</p>
|
||||
</header>
|
||||
{{ grid(data) }}
|
19
src/pages/books/tags.html
Normal file
19
src/pages/books/tags.html
Normal file
|
@ -0,0 +1,19 @@
|
|||
---
|
||||
title: Tagged in Books
|
||||
permalink: "books/tags/index.html"
|
||||
---
|
||||
|
||||
{% from "macros/media-grid.njk" import grid %}
|
||||
{% set tags = collections.book | allTagCounts(["book"]) %}
|
||||
<section class="flow">
|
||||
<h1>Tagged in Books</h1>
|
||||
<ul class="categories cluster list-none p-0 line-height-m">
|
||||
{% for tag in tags %}
|
||||
<li>
|
||||
<a class="button" href="../tag/{{ tag.tag | slugify }}">
|
||||
{% include "svgs/frame.svg" %}
|
||||
{{ tag.tag }}</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</section>
|
|
@ -1,25 +0,0 @@
|
|||
---
|
||||
pagination:
|
||||
data: collections.catalogueByType
|
||||
size: 1
|
||||
alias: type
|
||||
filter:
|
||||
- catalogue
|
||||
eleventyExcludeFromCollections: true
|
||||
permalink: /catalogue/{{ type | pluralize | slugify }}/index.html
|
||||
eleventyComputed:
|
||||
title: Catalogue - {{ type | pluralize | capitalize }}
|
||||
description: My thoughts on various {{ type | pluralize }}.
|
||||
---
|
||||
|
||||
{% from "macros/catalogue.njk" import yearList %}
|
||||
<h1>Catalogue: {{ type | pluralize | capitalize }}</h1>
|
||||
{% include "partials/catalogue-types.html" %}
|
||||
{% set itemsByYear = collections.catalogueByType[type] | reverse | organizeByDate %}
|
||||
{% set years = itemsByYear | keys | sort("desc") %}
|
||||
<section class="[ flow ]">
|
||||
{% for year in years %}
|
||||
{% set itemsInYear = itemsByYear[year] %}
|
||||
{{ yearList(itemsInYear, year, false) }}
|
||||
{% endfor %}
|
||||
</section>
|
|
@ -1,17 +0,0 @@
|
|||
---
|
||||
title: Catalogue
|
||||
description: A collection of media I've consumed in one way or another.
|
||||
---
|
||||
|
||||
{% from "macros/catalogue.njk" import yearList %}
|
||||
<h1>Catalogue</h1>
|
||||
<p>A collection of my thoughts on various forms of media that I consume.</p>
|
||||
{% include "partials/catalogue-types.html" %}
|
||||
{% set itemsByYear = collections.catalogue | reverse | organizeByDate %}
|
||||
{% set years = itemsByYear | keys | sort("desc") %}
|
||||
<section class="[ flow ]">
|
||||
{% for year in years %}
|
||||
{% set itemsInYear = itemsByYear[year] %}
|
||||
{{ yearList(itemsInYear, year) }}
|
||||
{% endfor %}
|
||||
</section>
|
|
@ -10,6 +10,16 @@ All the changes that are fit to read!
|
|||
|
||||
If preferred, the [commit log is available here][commits].
|
||||
|
||||
## January 27th, 2025
|
||||
|
||||
- Upgraded to [Eleventy v3](https://www.11ty.dev/blog/eleventy-v3/)!
|
||||
- A design refresh! The overall look-and-feel is the same, but I added some playful animations here and there.
|
||||
- Restructured my catalogue by breaking sub-categories into their own sections.
|
||||
- Removed the Podcasts and Comics catalogues. [Podcasts has its own respective page now](/podroll).
|
||||
- Added [Games](/games)!
|
||||
- Added [Movies](/watching/movies/recent)!
|
||||
- Added [Shows](/watching/shows/recent)!
|
||||
|
||||
## September 29th 2024
|
||||
|
||||
- Switched to [Cloudflare Pages](https://pages.cloudflare.com/) for deployments and hosting.
|
||||
|
@ -29,11 +39,15 @@ If preferred, the [commit log is available here][commits].
|
|||
|
||||
- Added style for `<table>` elements.
|
||||
|
||||
<div class="table-wrapper">
|
||||
|
||||
| Here is | A preview! |
|
||||
| --------------- | ---------- |
|
||||
| Super cool whoa | very rad |
|
||||
| Super cool whoa | very bad |
|
||||
|
||||
</div>
|
||||
|
||||
## June 11th 2024
|
||||
|
||||
- Added a [webrings][webrings] page!
|
||||
|
|
|
@ -14,16 +14,19 @@ The site is powered by [11ty][11ty], using a mixture of [Nunjucks][nunjucks] and
|
|||
A large part of this site was based on the principles established in the [eleventy-excellent][eleventyexcellent] starter.
|
||||
|
||||
Markdown is processed using [markdown-it][markdownit]. I am using a few plugins:
|
||||
|
||||
- [markdown-it-abbr][markdownitabbr] - Adds support for abbreviations.
|
||||
- [markdown-it-anchor][markdownitanchor] - Automatically adds anchor ids to titles (h1, h2, etc).
|
||||
- [markdown-it-attrs][markdownitattrs] - Adds support for adding attributes to Markdown elements.
|
||||
- [markdown-it-footnote][markdownitfootnote] - Adds support for footnotes.
|
||||
- [markdown-it-image-figures][markdownitimagefigures] - Converts Markdown images into `<figure>`s with optional `<caption>`s
|
||||
- [markdown-it-prism][markdownitprism] - Adds syntax highlighting to code blocks.
|
||||
|
||||
A minimal amount of [PostCSS][postcss] is used as a developer convenience, othwise pure CSS is used. Any utility classes I've created myself.
|
||||
|
||||
Responsive images are generated by [eleventy-img][eleventyimg].
|
||||
|
||||
Media is hosted on [bunny.net][bunnynet].
|
||||
Media is hosted on [Backblaze B2][backblaze].
|
||||
|
||||
RSS is generated by [eleventy-plugin-rss][eleventypluginrss].
|
||||
|
||||
|
@ -59,7 +62,7 @@ My site has changed URLs over the years, and was previously found at the followi
|
|||
|
||||
## Licensing
|
||||
|
||||
All text content inside of `src/posts` and `src/catalogue` is © Devin Haska - you may not use it without permission.
|
||||
All text content inside of `src/content` and `src/pages` is © Devin Haska - you may not use it without permission.
|
||||
|
||||
Any code (excluding content, for example, code inside `.js`, `.css`, `.njk` files) is published under an [MIT][mit] license - you're free to use it how you see fit. If you feel like attributing me, that'd be swell.
|
||||
|
||||
|
@ -75,7 +78,7 @@ I've done my best to show where I found any code I did not write myself.
|
|||
[markdownitprism]: https://github.com/jGleitz/markdown-it-prism
|
||||
[postcss]: https://postcss.org
|
||||
[eleventyimg]: https://www.11ty.dev/docs/plugins/image
|
||||
[bunnynet]: https://bunny.net
|
||||
[backblaze]: https://www.backblaze.com/cloud-storage
|
||||
[eleventypluginrss]: https://www.11ty.dev/docs/plugins/rss
|
||||
[dayjs]: https://day.js.org/en
|
||||
[aneklatin]: https://fonts.google.com/specimen/Anek+Latin
|
||||
|
@ -89,3 +92,5 @@ I've done my best to show where I found any code I did not write myself.
|
|||
[prismjs]: https://prismjs.com
|
||||
[tokyonight]: https://github.com/folke/tokyonight.nvim
|
||||
[ibmplexmono]: https://fonts.google.com/specimen/IBM+Plex+Mono
|
||||
[markdownitimagefigures]: https://github.com/Antonio-Laguna/markdown-it-image-figures
|
||||
[markdownitattrs]: https://www.npmjs.com/package/markdown-it-attrs
|
||||
|
|
107
src/pages/contact.html
Normal file
107
src/pages/contact.html
Normal file
|
@ -0,0 +1,107 @@
|
|||
---
|
||||
title: Contact
|
||||
description: Various ways to get in touch.
|
||||
permalink: "/contact/index.html"
|
||||
---
|
||||
|
||||
<header class="flow flow-space-1">
|
||||
<h1>Contact</h1>
|
||||
<p class="text-fadeText flow-space-0.25">Various ways to get in touch with me on the internet.</p>
|
||||
</header>
|
||||
<section class="flow">
|
||||
<p>Below are my primary methods of contact. They are the ones I monitor most and likely to respond!</p>
|
||||
<div class="table-wrapper">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>
|
||||
<strong>Platform</strong>
|
||||
</td>
|
||||
<td>
|
||||
<strong>Link</strong>
|
||||
</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Email</td>
|
||||
<td>
|
||||
<a href="mailto:devin@wonderfulfrog.com">devin@wonderfulfrog.com</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Signal</td>
|
||||
<td>
|
||||
<a href="https://signal.me/#eu/1Gqnr33MvuJX6QvcvgEjgaFBO7nMW5sdEyFsqHrj0ajEx3HglsVC7ZiesDrO_bXQ"
|
||||
target="_blank">wonderfulfrog.64</a>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<p>
|
||||
The following list covers various accounts on the internet that are mine. While you can probably contact me there, I'd prefer using one of the methods above.
|
||||
</p>
|
||||
<div class="table-wrapper">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>
|
||||
<strong>Platform</strong>
|
||||
</td>
|
||||
<td>
|
||||
<strong>Link</strong>
|
||||
</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Mastodon</td>
|
||||
<td>
|
||||
<a href="https://mastodon.social/@wonderfulfrog" target="_blank">@wonderfulfrog.mastodon.social</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>GitHub</td>
|
||||
<td>
|
||||
<a href="https://github.com/wonderfulfrog" target="_blank">@wonderfulfrog</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Bluesky</td>
|
||||
<td>
|
||||
<a href="https://bsky.app/profile/wonderfulfrog.com" target="_blank">wonderfulfrog.com</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Discord</td>
|
||||
<td>
|
||||
<a href="https://discord.com/users/wonderfulfrog" target="_blank">wonderfulfrog</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ListenBrainz</td>
|
||||
<td>
|
||||
<a href="https://listenbrainz.org/user/wonderfulfrog/" target="_blank">wonderfulfrog</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Battle.net</td>
|
||||
<td>Armitage#1801</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Apple Music</td>
|
||||
<td>
|
||||
<a href="https://music.apple.com/profile/wonderfulfrog" target="_blank">wonderfulfrog</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Backloggd</td>
|
||||
<td>
|
||||
<a href="https://www.backloggd.com/u/wonderfulfrog" target="_blank">wonderfulfrog</a>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
|
@ -5,9 +5,23 @@ description: Feed yourself a veritable bevy of feeds.
|
|||
|
||||
<h1>Feeds</h1>
|
||||
<p>Here is my collection of feeds for your perusal. They come in RSS varieties.</p>
|
||||
<ul>
|
||||
<ul class="flow list-none pl-0">
|
||||
<li>
|
||||
<a href="/feeds/posts.xml">Posts</a>
|
||||
<p>Just the posts.</p>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/feeds/books.xml">Books</a>
|
||||
<p>Only book content.</p>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/feeds/games.xml">Games</a>
|
||||
<p>Gives only games.</p>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/feeds/watching.xml">Watching</a>
|
||||
<p>
|
||||
Feeding all watching content. Also available in <a href="/feeds/movies.xml">movies</a> and <a href="/feeds/shows.xml">shows</a> varieties.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
|
26
src/pages/feeds/books.njk
Normal file
26
src/pages/feeds/books.njk
Normal file
|
@ -0,0 +1,26 @@
|
|||
---
|
||||
permalink: /feeds/books.xml
|
||||
layout: null
|
||||
eleventyExcludeFromCollections: true
|
||||
excludeFromSitemap: true
|
||||
---<?xml version="1.0" encoding="utf-8"?>
|
||||
<feed xmlns="http://www.w3.org/2005/Atom">
|
||||
<title>Books • {{ meta.siteName }}</title>
|
||||
<subtitle>{{ meta.siteDescription }}</subtitle>
|
||||
<link href="{{ meta.url }}/feeds/books.xml" rel="self" />
|
||||
<link href="{{ meta.url }}/" rel="alternate" type="text/html" />
|
||||
<id>{{ meta.url }}/</id>
|
||||
<author>
|
||||
<name>{{ meta.author }}</name>
|
||||
</author>
|
||||
{% for item in collections.book %}
|
||||
<entry>
|
||||
<id>{{ meta.url }}{{ item.url }}</id>
|
||||
<title>{{ item.data.title | escape }}</title>
|
||||
<link href="{{ item.url }}{{ post.url }}" />
|
||||
<pubDate>{{ item.date }}</pubDate>
|
||||
{%- for tag in item.data.tags | filter("book") %}<category term="{{ tag }}" />{%- endfor %}
|
||||
<content type="html">{{ item.content | escape }}</content>
|
||||
</entry>
|
||||
{% endfor %}
|
||||
</feed>
|
26
src/pages/feeds/games.njk
Normal file
26
src/pages/feeds/games.njk
Normal file
|
@ -0,0 +1,26 @@
|
|||
---
|
||||
permalink: /feeds/games.xml
|
||||
layout: null
|
||||
eleventyExcludeFromCollections: true
|
||||
excludeFromSitemap: true
|
||||
---<?xml version="1.0" encoding="utf-8"?>
|
||||
<feed xmlns="http://www.w3.org/2005/Atom">
|
||||
<title>Games • {{ meta.siteName }}</title>
|
||||
<subtitle>{{ meta.siteDescription }}</subtitle>
|
||||
<link href="{{ meta.url }}/feeds/games.xml" rel="self" />
|
||||
<link href="{{ meta.url }}/" rel="alternate" type="text/html" />
|
||||
<id>{{ meta.url }}/</id>
|
||||
<author>
|
||||
<name>{{ meta.author }}</name>
|
||||
</author>
|
||||
{% for item in collections.game %}
|
||||
<entry>
|
||||
<id>{{ meta.url }}{{ item.url }}</id>
|
||||
<title>{{ item.data.title | escape }}</title>
|
||||
<link href="{{ item.url }}{{ post.url }}" />
|
||||
<pubDate>{{ item.date }}</pubDate>
|
||||
{%- for tag in item.data.tags | filter("game") %}<category term="{{ tag }}" />{%- endfor %}
|
||||
<content type="html">{{ item.content | escape }}</content>
|
||||
</entry>
|
||||
{% endfor %}
|
||||
</feed>
|
26
src/pages/feeds/movies.njk
Normal file
26
src/pages/feeds/movies.njk
Normal file
|
@ -0,0 +1,26 @@
|
|||
---
|
||||
permalink: /feeds/movies.xml
|
||||
layout: null
|
||||
eleventyExcludeFromCollections: true
|
||||
excludeFromSitemap: true
|
||||
---<?xml version="1.0" encoding="utf-8"?>
|
||||
<feed xmlns="http://www.w3.org/2005/Atom">
|
||||
<title>Movies • {{ meta.siteName }}</title>
|
||||
<subtitle>{{ meta.siteDescription }}</subtitle>
|
||||
<link href="{{ meta.url }}/feeds/movies.xml" rel="self" />
|
||||
<link href="{{ meta.url }}/" rel="alternate" type="text/html" />
|
||||
<id>{{ meta.url }}/</id>
|
||||
<author>
|
||||
<name>{{ meta.author }}</name>
|
||||
</author>
|
||||
{% for item in collections.movie %}
|
||||
<entry>
|
||||
<id>{{ meta.url }}{{ item.url }}</id>
|
||||
<title>{{ item.data.title | escape }}</title>
|
||||
<link href="{{ item.url }}{{ post.url }}" />
|
||||
<pubDate>{{ item.date }}</pubDate>
|
||||
{%- for tag in item.data.tags | filter("movie") %}<category term="{{ tag }}" />{%- endfor %}
|
||||
<content type="html">{{ item.content | escape }}</content>
|
||||
</entry>
|
||||
{% endfor %}
|
||||
</feed>
|
26
src/pages/feeds/posts.njk
Normal file
26
src/pages/feeds/posts.njk
Normal file
|
@ -0,0 +1,26 @@
|
|||
---
|
||||
permalink: /feeds/posts.xml
|
||||
layout: null
|
||||
eleventyExcludeFromCollections: true
|
||||
excludeFromSitemap: true
|
||||
---<?xml version="1.0" encoding="utf-8"?>
|
||||
<feed xmlns="http://www.w3.org/2005/Atom">
|
||||
<title>{{ meta.siteName }}</title>
|
||||
<subtitle>{{ meta.siteDescription }}</subtitle>
|
||||
<link href="{{ meta.url }}/feeds/posts.xml" rel="self" />
|
||||
<link href="{{ meta.url }}/" rel="alternate" type="text/html" />
|
||||
<id>{{ meta.url }}/</id>
|
||||
<author>
|
||||
<name>{{ meta.author }}</name>
|
||||
</author>
|
||||
{% for post in collections.post %}
|
||||
<entry>
|
||||
<id>{{ meta.url }}{{ post.url }}</id>
|
||||
<title>{{ post.data.title | escape }}</title>
|
||||
<link href="{{ meta.url }}{{ post.url }}" />
|
||||
<pubDate>{{ post.date }}</pubDate>
|
||||
{%- for tag in post.data.tags %}<category term="{{ tag }}" />{%- endfor %}
|
||||
<content type="html">{{ post.content | escape }}</content>
|
||||
</entry>
|
||||
{% endfor %}
|
||||
</feed>
|
26
src/pages/feeds/shows.njk
Normal file
26
src/pages/feeds/shows.njk
Normal file
|
@ -0,0 +1,26 @@
|
|||
---
|
||||
permalink: /feeds/shows.xml
|
||||
layout: null
|
||||
eleventyExcludeFromCollections: true
|
||||
excludeFromSitemap: true
|
||||
---<?xml version="1.0" encoding="utf-8"?>
|
||||
<feed xmlns="http://www.w3.org/2005/Atom">
|
||||
<title>Shows • {{ meta.siteName }}</title>
|
||||
<subtitle>{{ meta.siteDescription }}</subtitle>
|
||||
<link href="{{ meta.url }}/feeds/shows.xml" rel="self" />
|
||||
<link href="{{ meta.url }}/" rel="alternate" type="text/html" />
|
||||
<id>{{ meta.url }}/</id>
|
||||
<author>
|
||||
<name>{{ meta.author }}</name>
|
||||
</author>
|
||||
{% for item in collections.tv %}
|
||||
<entry>
|
||||
<id>{{ meta.url }}{{ item.url }}</id>
|
||||
<title>{{ item.data.title | escape }}</title>
|
||||
<link href="{{ item.url }}{{ post.url }}" />
|
||||
<pubDate>{{ item.date }}</pubDate>
|
||||
{%- for tag in item.data.tags | filter("tv") %}<category term="{{ tag }}" />{%- endfor %}
|
||||
<content type="html">{{ item.content | escape }}</content>
|
||||
</entry>
|
||||
{% endfor %}
|
||||
</feed>
|
29
src/pages/feeds/watching.njk
Normal file
29
src/pages/feeds/watching.njk
Normal file
|
@ -0,0 +1,29 @@
|
|||
---
|
||||
permalink: /feeds/watching.xml
|
||||
layout: null
|
||||
eleventyExcludeFromCollections: true
|
||||
excludeFromSitemap: true
|
||||
---<?xml version="1.0" encoding="utf-8"?>
|
||||
<feed xmlns="http://www.w3.org/2005/Atom">
|
||||
<title>Watching • {{ meta.siteName }}</title>
|
||||
<subtitle>{{ meta.siteDescription }}</subtitle>
|
||||
<link href="{{ meta.url }}/feeds/watching.xml" rel="self" />
|
||||
<link href="{{ meta.url }}/" rel="alternate" type="text/html" />
|
||||
<id>{{ meta.url }}/</id>
|
||||
<author>
|
||||
<name>{{ meta.author }}</name>
|
||||
</author>
|
||||
{% set movies = collections.movie %}
|
||||
{% set tv = collections.tv %}
|
||||
{% set data = movies.concat(tv) %}
|
||||
{% for item in data %}
|
||||
<entry>
|
||||
<id>{{ meta.url }}{{ item.url }}</id>
|
||||
<title>{{ item.data.title | escape }}</title>
|
||||
<link href="{{ item.url }}{{ post.url }}" />
|
||||
<pubDate>{{ item.date }}</pubDate>
|
||||
{%- for tag in item.data.tags | filter(["tv", "movie"]) %}<category term="{{ tag }}" />{%- endfor %}
|
||||
<content type="html">{{ item.content | escape }}</content>
|
||||
</entry>
|
||||
{% endfor %}
|
||||
</feed>
|
9
src/pages/fun/baconkind.html
Normal file
9
src/pages/fun/baconkind.html
Normal file
|
@ -0,0 +1,9 @@
|
|||
---
|
||||
layout: "layouts/base"
|
||||
permalink: /baconkind/index.html
|
||||
title: 🐕
|
||||
description: What was in there?
|
||||
youtube: true
|
||||
---
|
||||
|
||||
{% youtube "nGeKSiCQkPw", "Ultimate Dog Tease" %}
|
9
src/pages/fun/flyflyfly.html
Normal file
9
src/pages/fun/flyflyfly.html
Normal file
|
@ -0,0 +1,9 @@
|
|||
---
|
||||
layout: "layouts/base"
|
||||
permalink: /flyflyfly/index.html
|
||||
title: REAPER UNLOADS HIS BIG SHOTGUN!!! YOU WONT BELIEVE WHAT HAPPENS NEXT (NOT CLICKBAIT) (REAL) (GONE WILD)
|
||||
description: MUST SEE (PART 2 COMING SOON)
|
||||
youtube: true
|
||||
---
|
||||
|
||||
{% youtube "8L8cqQOtCv0", "FLY FLY FLY" %}
|
3
src/pages/fun/fun.json
Normal file
3
src/pages/fun/fun.json
Normal file
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"excludeFromSitemap": true
|
||||
}
|
9
src/pages/fun/mfsimpson.html
Normal file
9
src/pages/fun/mfsimpson.html
Normal file
|
@ -0,0 +1,9 @@
|
|||
---
|
||||
layout: "layouts/base"
|
||||
permalink: /mfsimpson/index.html
|
||||
title: MF SIMPSON
|
||||
description: all caps when you eat the mans shorts
|
||||
youtube: true
|
||||
---
|
||||
|
||||
{% youtube "e2mmCaI4LJ0", "MF SIMPSON" %}
|
9
src/pages/fun/morsecat.html
Normal file
9
src/pages/fun/morsecat.html
Normal file
|
@ -0,0 +1,9 @@
|
|||
---
|
||||
layout: "layouts/base"
|
||||
permalink: /morsecat/index.html
|
||||
title: DOT DOT DOT
|
||||
description: DOT DOT DOT
|
||||
youtube: true
|
||||
---
|
||||
|
||||
{% youtube "8dVQ0813KVM", "−•−• •− −" %}
|
12
src/pages/fun/ray.html
Normal file
12
src/pages/fun/ray.html
Normal file
|
@ -0,0 +1,12 @@
|
|||
---
|
||||
permalink: /ray/index.html
|
||||
layout: null
|
||||
---
|
||||
|
||||
Welcome to your space Ray. The content will never change.
|
||||
<br />
|
||||
<br />
|
||||
I endeavoured to put as little style on this page, just for you.
|
||||
<br />
|
||||
<br />
|
||||
Hope you like it.
|
9
src/pages/fun/smash.html
Normal file
9
src/pages/fun/smash.html
Normal file
|
@ -0,0 +1,9 @@
|
|||
---
|
||||
layout: "layouts/base"
|
||||
permalink: /smash/index.html
|
||||
title: S H E D O E S N ' T W A N T Y E L L O W
|
||||
description: B L U E A N D Y E L L O W ?
|
||||
youtube: true
|
||||
---
|
||||
|
||||
{% youtube "-TcLxlkc2pA", "Lemme Smash 1 (Original)" %}
|
12
src/pages/games/favourites.html
Normal file
12
src/pages/games/favourites.html
Normal file
|
@ -0,0 +1,12 @@
|
|||
---
|
||||
title: Favourite games
|
||||
permalink: "games/favourites/index.html"
|
||||
---
|
||||
|
||||
{% from "macros/media-grid.njk" import grid %}
|
||||
{% set data = collections.game | filterFavourites | reverse %}
|
||||
<section class="flow">
|
||||
<h1>Favourite games</h1>
|
||||
<p>A collection of my favourite games!</p>
|
||||
{{ grid(data) }}
|
||||
</section>
|
35
src/pages/games/index.html
Normal file
35
src/pages/games/index.html
Normal file
|
@ -0,0 +1,35 @@
|
|||
---
|
||||
title: Games
|
||||
permalink: "games/index.html"
|
||||
---
|
||||
|
||||
{% from "macros/media-grid.njk" import grid %}
|
||||
{% set data = collections.game | reverse | limit(5) %}
|
||||
{% set faves = collections.game | filterFavourites | reverse | limit(5) %}
|
||||
{% set tags = collections.game | allTagCounts(["game"]) | limit(5) %}
|
||||
<section class="flow">
|
||||
<h1>Games</h1>
|
||||
<p>
|
||||
A collection of games I played over the years. Ideally this would include every game I've every played, but realistically it's an approximation. I try to include my own thoughts with each.
|
||||
</p>
|
||||
<h2>
|
||||
<a href="tags">Tags</a>
|
||||
</h2>
|
||||
<ul class="categories cluster list-none p-0 line-height-m">
|
||||
{% for tag in tags %}
|
||||
<li>
|
||||
<a class="button" href="tag/{{ tag.tag | slugify }}">
|
||||
{% include "svgs/frame.svg" %}
|
||||
{{ tag.tag }}</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
<h2>
|
||||
<a href="recent">Latest games</a>
|
||||
</h2>
|
||||
{{ grid(data) }}
|
||||
<h2>
|
||||
<a href="favourites">Favourite games</a>
|
||||
</h2>
|
||||
{{ grid(faves) }}
|
||||
</section>
|
12
src/pages/games/recent.html
Normal file
12
src/pages/games/recent.html
Normal file
|
@ -0,0 +1,12 @@
|
|||
---
|
||||
title: Recent games
|
||||
permalink: "games/recent/index.html"
|
||||
---
|
||||
|
||||
{% from "macros/media-grid.njk" import grid %}
|
||||
{% set data = collections.game | reverse %}
|
||||
<section class="flow">
|
||||
<h1>Latest games</h1>
|
||||
<p>A collection of games I've played.</p>
|
||||
{{ grid(data) }}
|
||||
</section>
|
15
src/pages/games/tag.html
Normal file
15
src/pages/games/tag.html
Normal file
|
@ -0,0 +1,15 @@
|
|||
---
|
||||
pagination:
|
||||
data: collections.gamesByTag
|
||||
size: 1
|
||||
alias: tag
|
||||
permalink: "games/tag/{{ tag | slugify }}/index.html"
|
||||
---
|
||||
|
||||
{% from "macros/media-grid.njk" import grid %}
|
||||
{% set data = collections.gamesByTag[tag] %}
|
||||
<header class="flow flow-space-1">
|
||||
<h1>Games</h1>
|
||||
<p class="text-fadeText flow-space-0.25">Tagged with "{{ tag }}"</p>
|
||||
</header>
|
||||
{{ grid(data) }}
|
19
src/pages/games/tags.html
Normal file
19
src/pages/games/tags.html
Normal file
|
@ -0,0 +1,19 @@
|
|||
---
|
||||
title: Tagged in Games
|
||||
permalink: "games/tags/index.html"
|
||||
---
|
||||
|
||||
{% from "macros/media-grid.njk" import grid %}
|
||||
{% set tags = collections.game | allTagCounts(["game"]) %}
|
||||
<section class="flow">
|
||||
<h1>Tagged in Games</h1>
|
||||
<ul class="categories cluster list-none p-0 line-height-m">
|
||||
{% for tag in tags %}
|
||||
<li>
|
||||
<a class="button" href="../tag/{{ tag.tag | slugify }}">
|
||||
{% include "svgs/frame.svg" %}
|
||||
{{ tag.tag }}</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</section>
|
|
@ -1,39 +0,0 @@
|
|||
---
|
||||
title: Guestbook
|
||||
description: Remember guestbooks? They're back! In the same form!
|
||||
---
|
||||
|
||||
Hello and welcome to my guestbook.
|
||||
<aside>
|
||||
All entries are manually verified for spam and such.
|
||||
</aside>
|
||||
<aside>
|
||||
<strong>Heads up</strong>! This page is not fully working yet. If you sign now, your submission might be deleted.
|
||||
</aside>
|
||||
<form name="guestbook" netlify netlify-honeypot="bot-field">
|
||||
<label>
|
||||
Name
|
||||
<input type="text" name="name" required />
|
||||
</label>
|
||||
<p>
|
||||
<label>
|
||||
Website or email
|
||||
<input type="text" name="website_or_email" />
|
||||
</label>
|
||||
</p>
|
||||
<p>
|
||||
<label>
|
||||
Message
|
||||
<textarea name="message" required></textarea>
|
||||
</label>
|
||||
</p>
|
||||
<p class="visually-hidden">
|
||||
<label>
|
||||
Don’t fill this out if you’re human:
|
||||
<input name="bot-field" />
|
||||
</label>
|
||||
</p>
|
||||
<p>
|
||||
<button type="submit">Send</button>
|
||||
</p>
|
||||
</form>
|
|
@ -1,28 +0,0 @@
|
|||
---
|
||||
title: Links
|
||||
---
|
||||
|
||||
# Find me online
|
||||
|
||||
Other places I have an online presence.
|
||||
|
||||
## Socials
|
||||
|
||||
- [Mastodon][mastodon]
|
||||
|
||||
- [Last.fm][lastfm]
|
||||
|
||||
- [GitHub][github]
|
||||
|
||||
- [Apple Music][applemusic]
|
||||
|
||||
- [LinkedIn][linkedin]
|
||||
|
||||
- [Backloggd][backloggd]
|
||||
|
||||
[mastodon]: {{ meta.social.mastodon }}
|
||||
[lastfm]: {{ meta.social.lastfm }}
|
||||
[github]: {{ meta.social.github }}
|
||||
[applemusic]: https://music.apple.com/profile/wonderfulfrog
|
||||
[linkedin]: https://www.linkedin.com/in/devin-haska-bb90a7253
|
||||
[backloggd]: https://www.backloggd.com/u/wonderfulfrog
|
|
@ -6,49 +6,28 @@ description: What's going on now and all the latest with myself.
|
|||
{% set recentTrack = lastfm.recentTracks[0] %}
|
||||
<h1>/now</h1>
|
||||
<p>What am I doing right now? Everything on here is automatically generated from various data sources.</p>
|
||||
{% if recentTrack %}
|
||||
<p>
|
||||
🎶 <a href="{{ recentTrack.url }}"
|
||||
target="_blank"
|
||||
rel="external noreferrer noopener">{{ recentTrack.artist }} - {{ recentTrack.track }}</a>
|
||||
</p>
|
||||
{% endif %}
|
||||
{% if lastfm.recentAlbums.length > 0 %}
|
||||
<h2>💿 Albums</h2>
|
||||
<ul class="[ media-grid square ][ p-0 ]" role="list">
|
||||
{% for album in lastfm.recentAlbums %}
|
||||
<li>
|
||||
<a href="{{ album.url }}"
|
||||
target="_blank"
|
||||
rel="external noreferrer noopener">
|
||||
{% set textContent %}
|
||||
{{ album.artist }} - {{ album.album }}
|
||||
{% endset %}
|
||||
<p class="[ visually-hidden ]">{{ textContent }}</p>
|
||||
{% image album.imageUrl, "", "", "", textContent %}
|
||||
</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
{% if letterboxd.length > 0 %}
|
||||
<h2>🍿 Movies</h2>
|
||||
<ul class="[ media-grid poster ][ p-0 ]" role="list">
|
||||
<ul class="media-grid p-0" role="list">
|
||||
{% for movie in letterboxd %}
|
||||
<li>
|
||||
<li class="radius-0.5">
|
||||
<a href="{{ movie.url }}"
|
||||
target="_blank"
|
||||
rel="external noreferrer noopener">
|
||||
{% set textContent %}
|
||||
{{ movie.title }}
|
||||
{% endset %}
|
||||
<p class="[ visually-hidden ]">{{ movie.title }}</p>
|
||||
{% image movie.imgSrc, "", "", "" , textContent %}
|
||||
<p class="visually-hidden">{{ movie.title }}</p>
|
||||
{% if movie.imgSrc %}
|
||||
<img src="{{ movie.imgSrc }}" alt="" />
|
||||
{% else %}
|
||||
<div>{{ textContent }}</div>
|
||||
{% endif %}
|
||||
</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
<p class="[ font-size-s mt-2 ]">
|
||||
<p class="font-size-s mt-2">
|
||||
What is a `/now` page? Check out <a href="https://nownownow.com/about">nownownow.com</a>.
|
||||
</p>
|
||||
|
|
38
src/pages/podroll.html
Normal file
38
src/pages/podroll.html
Normal file
|
@ -0,0 +1,38 @@
|
|||
---
|
||||
title: Podroll
|
||||
description: Some podcasts that I enjoy!
|
||||
permalink: "podroll/index.html"
|
||||
---
|
||||
|
||||
{% set data = collections.podcast | reverse %}
|
||||
<header class="flow flow-space-1">
|
||||
<h1>Podroll</h1>
|
||||
<p class="text-fadeText flow-space-0.25">Some podcasts that I enjoy!</p>
|
||||
</header>
|
||||
<section class="flow">
|
||||
{% for item in data %}
|
||||
<div class="card flow">
|
||||
<div class="flex items-center gap-0.5">
|
||||
<h2>{{ item.data.title }}</h2>
|
||||
{% if item.data.isCompleted %}<span class="pill">Completed</span>{% endif %}
|
||||
</div>
|
||||
<p class="flow-space-0.5">{{ item.data.description }}</p>
|
||||
<div class="flex gap-0.5">
|
||||
{% if item.data.url %}<a href="{{ item.data.url }}" target="_blank">Website</a>{% endif %}
|
||||
{% if item.data.rss %}<a href="{{ item.data.rss }}" target="_blank">RSS</a>{% endif %}
|
||||
</div>
|
||||
{% if item.content %}
|
||||
<details>
|
||||
<summary>
|
||||
{% if item.data.moreText %}
|
||||
{{ item.data.moreText }}
|
||||
{% else %}
|
||||
More info
|
||||
{% endif %}
|
||||
</summary>
|
||||
<div class="flow">{{ item.content | safe }}</div>
|
||||
</details>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
</section>
|
|
@ -10,7 +10,7 @@ description: Read all of my posts.
|
|||
</p>
|
||||
{% set itemsByYear = collections.post | reverse | organizeByDate %}
|
||||
{% set years = itemsByYear | keys | sort("desc") %}
|
||||
<section class="[ flow ]">
|
||||
<section class="flow">
|
||||
{% for year in years %}
|
||||
{% set itemsInYear = itemsByYear[year] %}
|
||||
{{ yearList(itemsInYear, year) }}
|
||||
|
|
|
@ -23,15 +23,24 @@ description: A demo of the site's theme.
|
|||
An abbreviation: <abbr title="Hypertext Markup Language">HTML</abbr>
|
||||
</p>
|
||||
<hr />
|
||||
<div class="[ flex ]">
|
||||
<div class="[ size-2 ]" style="background-color: var(--color-primary)"></div>
|
||||
<div class="[ size-2 ]" style="background-color: var(--color-secondary)"></div>
|
||||
<div class="[ size-2 ]" style="background-color: var(--color-background)"></div>
|
||||
<div class="[ size-2 ]" style="background-color: var(--color-surface)"></div>
|
||||
<div class="[ size-2 ]" style="background-color: var(--color-border)"></div>
|
||||
<div class="[ size-2 ]" style="background-color: var(--color-text)"></div>
|
||||
<div class="[ size-2 ]" style="background-color: var(--color-fadeText)"></div>
|
||||
<div class="[ size-2 ]" style="background-color: var(--color-shadow)"></div>
|
||||
<div class="flex">
|
||||
<div class="size-2" style="background-color: var(--color-primary)"></div>
|
||||
<div class="size-2" style="background-color: var(--color-secondary)"></div>
|
||||
<div class="size-2" style="background-color: var(--color-background)"></div>
|
||||
<div class="size-2" style="background-color: var(--color-surface)"></div>
|
||||
<div class="size-2" style="background-color: var(--color-border)"></div>
|
||||
<div class="size-2" style="background-color: var(--color-text)"></div>
|
||||
<div class="size-2" style="background-color: var(--color-fadeText)"></div>
|
||||
<div class="size-2" style="background-color: var(--color-shadow)"></div>
|
||||
</div>
|
||||
<hr />
|
||||
<div class="flex gap-1">
|
||||
<a href="#" class="button">A button</a>
|
||||
<a href="#" class="button">A button with count <span class="button__count">4</span></a>
|
||||
</div>
|
||||
<div class="flex flex-wrap gap-1">
|
||||
<p class="pill">A pill</p>
|
||||
<p class="pill">99+</p>
|
||||
</div>
|
||||
<hr />
|
||||
<a href="#">A link</a>
|
||||
|
@ -62,7 +71,7 @@ description: A demo of the site's theme.
|
|||
</aside>
|
||||
<hr />
|
||||
<figure>
|
||||
<img src="/assets/images/logo.svg" alt="" />
|
||||
<img eleventy:ignore src="/assets/images/logo.svg" alt="" />
|
||||
<figcaption>A fig caption.</figcaption>
|
||||
</figure>
|
||||
<hr />
|
||||
|
|
|
@ -17,7 +17,7 @@ eleventyComputed:
|
|||
</p>
|
||||
{% set itemsByYear = collections.postsByTag[tag] | reverse | organizeByDate %}
|
||||
{% set years = itemsByYear | keys | sort("desc") %}
|
||||
<section class="[ flow ]">
|
||||
<section class="flow">
|
||||
{% for year in years %}
|
||||
{% set itemsInYear = itemsByYear[year] %}
|
||||
{{ yearList(itemsInYear, year) }}
|
||||
|
|
|
@ -4,12 +4,12 @@ description: Browse posts by all tags.
|
|||
---
|
||||
|
||||
{% set tags = collections.post | allTagCounts %}
|
||||
<section class="[ flow ]">
|
||||
<section class="flow">
|
||||
<h1>{{ title }}</h1>
|
||||
<ol class="[ cluster p-0 gap-0.5 ]" role="list">
|
||||
<ol class="cluster p-0 gap-0.5" role="list">
|
||||
{% for tag in tags %}
|
||||
<li>
|
||||
<a href="/tags/{{ tag.tag | slugify }}" class="[ pill ]">{{ tag.tag }} <span class="[ pill-count ]">{{ tag.count }}</span></a>
|
||||
<a href="/tags/{{ tag.tag | slugify }}" class="button">{{ tag.tag }} <span class="button__count">{{ tag.count }}</span></a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ol>
|
||||
|
|
30
src/pages/watching/index.html
Normal file
30
src/pages/watching/index.html
Normal file
|
@ -0,0 +1,30 @@
|
|||
---
|
||||
title: Watching
|
||||
permalink: "watching/index.html"
|
||||
---
|
||||
|
||||
{% from "macros/media-grid.njk" import grid %}
|
||||
{% set movies = collections.movie | reverse | limit(5) %}
|
||||
{% set shows = collections.tv | reverse | limit(5) %}
|
||||
{% set favouriteMovies = collections.movie | filterFavourites | reverse | limit(5) %}
|
||||
{% set favouriteShows = collections.tv | filterFavourites | reverse | limit(5) %}
|
||||
<section class="flow">
|
||||
<h1>Watching</h1>
|
||||
<p>A collection of movies and shows I've seen. I tend to watch more movies than shows these days.</p>
|
||||
<h2>
|
||||
<a href="movies/recent">Recent movies</a>
|
||||
</h2>
|
||||
{{ grid(movies) }}
|
||||
<h2>
|
||||
<a href="shows/recent">Recent shows</a>
|
||||
</h2>
|
||||
{{ grid(shows) }}
|
||||
<h2>
|
||||
<a href="movies/favourites">Favourite movies</a>
|
||||
</h2>
|
||||
{{ grid(favouriteMovies) }}
|
||||
<h2>
|
||||
<a href="shows/favourites">Favourite shows</a>
|
||||
</h2>
|
||||
{{ grid(favouriteShows) }}
|
||||
</section>
|
12
src/pages/watching/movies/favourites.html
Normal file
12
src/pages/watching/movies/favourites.html
Normal file
|
@ -0,0 +1,12 @@
|
|||
---
|
||||
title: Favourite movies
|
||||
permalink: "watching/movies/favourites/index.html"
|
||||
---
|
||||
|
||||
{% from "macros/media-grid.njk" import grid %}
|
||||
{% set data = collections.movie | filterFavourites | reverse %}
|
||||
<section class="flow">
|
||||
<h1>Favourite movies</h1>
|
||||
<p>A collection of my favourite movies!</p>
|
||||
{{ grid(data) }}
|
||||
</section>
|
25
src/pages/watching/movies/recent.html
Normal file
25
src/pages/watching/movies/recent.html
Normal file
|
@ -0,0 +1,25 @@
|
|||
---
|
||||
title: Recent movies
|
||||
permalink: "watching/movies/recent/index.html"
|
||||
---
|
||||
|
||||
{% from "macros/media-grid.njk" import grid %}
|
||||
{% set data = collections.movie | reverse %}
|
||||
{% set tags = collections.movie | allTagCounts(["movie"]) | limit(5) %}
|
||||
<section class="flow">
|
||||
<h1>Recent movies</h1>
|
||||
<p>A collection of movies I've seen recently.</p>
|
||||
<h2>
|
||||
<a href="../tags">Tags</a>
|
||||
</h2>
|
||||
<ul class="categories cluster list-none p-0 line-height-m">
|
||||
{% for tag in tags %}
|
||||
<li>
|
||||
<a class="button" href="../tag/{{ tag.tag | slugify }}">
|
||||
{% include "svgs/frame.svg" %}
|
||||
{{ tag.tag }}</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{{ grid(data) }}
|
||||
</section>
|
15
src/pages/watching/movies/tag.html
Normal file
15
src/pages/watching/movies/tag.html
Normal file
|
@ -0,0 +1,15 @@
|
|||
---
|
||||
pagination:
|
||||
data: collections.moviesByTag
|
||||
size: 1
|
||||
alias: tag
|
||||
permalink: "watching/movies/tag/{{ tag | slugify }}/index.html"
|
||||
---
|
||||
|
||||
{% from "macros/media-grid.njk" import grid %}
|
||||
{% set data = collections.moviesByTag[tag] %}
|
||||
<header class="flow flow-space-1">
|
||||
<h1>Movies</h1>
|
||||
<p class="text-fadeText flow-space-0.25">Tagged with "{{ tag }}"</p>
|
||||
</header>
|
||||
{{ grid(data) }}
|
19
src/pages/watching/movies/tags.html
Normal file
19
src/pages/watching/movies/tags.html
Normal file
|
@ -0,0 +1,19 @@
|
|||
---
|
||||
title: Tagged in Movies
|
||||
permalink: "watching/movies/tags/index.html"
|
||||
---
|
||||
|
||||
{% from "macros/media-grid.njk" import grid %}
|
||||
{% set tags = collections.movie | allTagCounts(["movie"]) %}
|
||||
<section class="flow">
|
||||
<h1>Tagged in Movies</h1>
|
||||
<ul class="categories cluster list-none p-0 line-height-m">
|
||||
{% for tag in tags %}
|
||||
<li>
|
||||
<a class="button" href="../tag/{{ tag.tag | slugify }}">
|
||||
{% include "svgs/frame.svg" %}
|
||||
{{ tag.tag }}</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</section>
|
12
src/pages/watching/shows/favourites.html
Normal file
12
src/pages/watching/shows/favourites.html
Normal file
|
@ -0,0 +1,12 @@
|
|||
---
|
||||
title: Favourite shows
|
||||
permalink: "watching/shows/favourites/index.html"
|
||||
---
|
||||
|
||||
{% from "macros/media-grid.njk" import grid %}
|
||||
{% set data = collections.tv | filterFavourites | reverse %}
|
||||
<section class="flow">
|
||||
<h1>Favourite shows</h1>
|
||||
<p>A collection of my favourite shows!</p>
|
||||
{{ grid(data) }}
|
||||
</section>
|
25
src/pages/watching/shows/recent.html
Normal file
25
src/pages/watching/shows/recent.html
Normal file
|
@ -0,0 +1,25 @@
|
|||
---
|
||||
title: Recent shows
|
||||
permalink: "watching/shows/recent/index.html"
|
||||
---
|
||||
|
||||
{% from "macros/media-grid.njk" import grid %}
|
||||
{% set data = collections.tv | reverse %}
|
||||
{% set tags = collections.tv | allTagCounts(["tv"]) | limit(5) %}
|
||||
<section class="flow">
|
||||
<h1>Recent shows</h1>
|
||||
<p>A collection of shows I've seen recently.</p>
|
||||
<h2>
|
||||
<a href="../tags">Tags</a>
|
||||
</h2>
|
||||
<ul class="categories cluster list-none p-0 line-height-m">
|
||||
{% for tag in tags %}
|
||||
<li>
|
||||
<a class="button" href="../tag/{{ tag.tag | slugify }}">
|
||||
{% include "svgs/frame.svg" %}
|
||||
{{ tag.tag }}</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{{ grid(data) }}
|
||||
</section>
|
15
src/pages/watching/shows/tag.html
Normal file
15
src/pages/watching/shows/tag.html
Normal file
|
@ -0,0 +1,15 @@
|
|||
---
|
||||
pagination:
|
||||
data: collections.showsByTag
|
||||
size: 1
|
||||
alias: tag
|
||||
permalink: "watching/shows/tag/{{ tag | slugify }}/index.html"
|
||||
---
|
||||
|
||||
{% from "macros/media-grid.njk" import grid %}
|
||||
{% set data = collections.showsByTag[tag] %}
|
||||
<header class="flow flow-space-1">
|
||||
<h1>Shows</h1>
|
||||
<p class="text-fadeText flow-space-0.25">Tagged with "{{ tag }}"</p>
|
||||
</header>
|
||||
{{ grid(data) }}
|
19
src/pages/watching/shows/tags.html
Normal file
19
src/pages/watching/shows/tags.html
Normal file
|
@ -0,0 +1,19 @@
|
|||
---
|
||||
title: Tagged in Shows
|
||||
permalink: "watching/shows/tags/index.html"
|
||||
---
|
||||
|
||||
{% from "macros/media-grid.njk" import grid %}
|
||||
{% set tags = collections.tv | allTagCounts(["tv"]) %}
|
||||
<section class="flow">
|
||||
<h1>Tagged in Shows</h1>
|
||||
<ul class="categories cluster list-none p-0 line-height-m">
|
||||
{% for tag in tags %}
|
||||
<li>
|
||||
<a class="button" href="../tag/{{ tag.tag | slugify }}">
|
||||
{% include "svgs/frame.svg" %}
|
||||
{{ tag.tag }}</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</section>
|
|
@ -12,23 +12,23 @@ description: What's a webring?
|
|||
<a href="https://cs.sjoy.lol/" target="_blank">CSS JOY Webring</a>
|
||||
</h2>
|
||||
<p>For those of us who take joy in messing around with CSS :)</p>
|
||||
<ul class="[ cluster ][ list-none p-0 ]">
|
||||
<ul class="cluster list-none p-0">
|
||||
<li>
|
||||
<a class="[ button ]"
|
||||
<a class="button"
|
||||
href="https://webri.ng/webring/cssjoy/previous?via=https://wonderfulfrog.com/">
|
||||
{% include "svgs/arrow-left.svg" %}
|
||||
<span class="visually-hidden">Previous website</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="[ button ]"
|
||||
<a class="button"
|
||||
href="https://webri.ng/webring/cssjoy/random?via=https://wonderfulfrog.com/">
|
||||
{% include "svgs/dice.svg" %}
|
||||
<span class="visually-hidden">Random website</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="[ button ]"
|
||||
<a class="button"
|
||||
href="https://webri.ng/webring/cssjoy/next?via=https://wonderfulfrog.com/">
|
||||
{% include "svgs/arrow-right.svg" %}
|
||||
<span class="visually-hidden">Next website</span>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue