From aa1a19b46d84f0c6a25f0991062d059868fc9569 Mon Sep 17 00:00:00 2001
From: Devin Haska <2636402+wonderfulfrog@users.noreply.github.com>
Date: Tue, 10 Dec 2024 21:19:33 -0800
Subject: [PATCH] feat: add watching section
---
eleventy.config.js | 5 ++
src/_data/navigation.js | 5 ++
src/_includes/layouts/movie.html | 62 ++++++++++++++++++++++
src/_includes/svgs/tv-retro.svg | 3 ++
src/css/blocks/card.css | 9 ++++
src/movies/2022-01-25-coraline.md | 21 ++++++++
src/movies/2024-09-28-megalopolis.md | 16 ++++++
src/movies/2024-09-30-sugarcane.md | 12 +++++
src/movies/2024-10-30-your-monster.md | 14 +++++
src/movies/2024-10-31-dracula-a-d-1972.md | 11 ++++
src/movies/2024-10-31-dracula.md | 11 ++++
src/movies/2024-11-08-woman-of-the-hour.md | 15 ++++++
src/movies/2024-11-09-tetris.md | 15 ++++++
src/movies/2024-11-20-flow.md | 15 ++++++
src/movies/movies.11tydata.js | 5 ++
src/pages/books/index.html | 2 +-
src/pages/games/index.html | 4 +-
src/pages/games/year.html | 2 +-
src/pages/watching/favourites.html | 14 +++++
src/pages/watching/index.html | 28 ++++++++++
src/pages/watching/recent.html | 14 +++++
src/pages/watching/year.html | 21 ++++++++
22 files changed, 300 insertions(+), 4 deletions(-)
create mode 100644 src/_includes/layouts/movie.html
create mode 100644 src/_includes/svgs/tv-retro.svg
create mode 100644 src/css/blocks/card.css
create mode 100644 src/movies/2022-01-25-coraline.md
create mode 100644 src/movies/2024-09-28-megalopolis.md
create mode 100644 src/movies/2024-09-30-sugarcane.md
create mode 100644 src/movies/2024-10-30-your-monster.md
create mode 100644 src/movies/2024-10-31-dracula-a-d-1972.md
create mode 100644 src/movies/2024-10-31-dracula.md
create mode 100644 src/movies/2024-11-08-woman-of-the-hour.md
create mode 100644 src/movies/2024-11-09-tetris.md
create mode 100644 src/movies/2024-11-20-flow.md
create mode 100644 src/movies/movies.11tydata.js
create mode 100644 src/pages/watching/favourites.html
create mode 100644 src/pages/watching/index.html
create mode 100644 src/pages/watching/recent.html
create mode 100644 src/pages/watching/year.html
diff --git a/eleventy.config.js b/eleventy.config.js
index 18062d5..7b17486 100644
--- a/eleventy.config.js
+++ b/eleventy.config.js
@@ -44,6 +44,11 @@ export default function (eleventyConfig) {
const byYear = transformByDate(data);
return byYear;
});
+ eleventyConfig.addCollection("moviesByYear", (collection) => {
+ const data = collection.getFilteredByTag("movie");
+ const byYear = transformByDate(data);
+ return byYear;
+ });
eleventyConfig.addCollection("catalogueByType", catalogueByType);
eleventyConfig.addCollection("postsByTag", postsByTag);
diff --git a/src/_data/navigation.js b/src/_data/navigation.js
index d112dbf..0282a55 100644
--- a/src/_data/navigation.js
+++ b/src/_data/navigation.js
@@ -20,6 +20,11 @@ export default {
url: "/books",
icon: "book",
},
+ {
+ text: "Watching",
+ url: "/watching",
+ icon: "tv-retro",
+ },
],
bottom: [
{
diff --git a/src/_includes/layouts/movie.html b/src/_includes/layouts/movie.html
new file mode 100644
index 0000000..37f752d
--- /dev/null
+++ b/src/_includes/layouts/movie.html
@@ -0,0 +1,62 @@
+---
+layout: "layouts/base"
+---
+
+{% from "macros/date.njk" import format %}
+{% from "macros/utils.njk" import stars %}
+
+ {% include "svgs/arrow-left.svg" %}
+Back to watching
+
+{% if watch_history.length > 1 %}
+
+ {% include "svgs/circle-info.svg" %}
+ I've seen this movie {{ watch_history.length }} {{ "time" | pluralize(watch_history) }}!
+
+{% endif %}
+{% if favourite %}
+
+ {% include "svgs/star.svg" %}
+ This is one of my favourite movies!
+
+{% endif %}
+{% if content %}
+
+
+{% endif %}
diff --git a/src/_includes/svgs/tv-retro.svg b/src/_includes/svgs/tv-retro.svg
new file mode 100644
index 0000000..11a4c4e
--- /dev/null
+++ b/src/_includes/svgs/tv-retro.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/css/blocks/card.css b/src/css/blocks/card.css
new file mode 100644
index 0000000..072c592
--- /dev/null
+++ b/src/css/blocks/card.css
@@ -0,0 +1,9 @@
+.card {
+ border: 1px solid var(--color-shadow);
+ border-radius: var(--spacing-0\.5);
+ padding: var(--spacing-1);
+}
+
+.card--secondary {
+ border-color: var(--color-secondary);
+}
diff --git a/src/movies/2022-01-25-coraline.md b/src/movies/2022-01-25-coraline.md
new file mode 100644
index 0000000..90002aa
--- /dev/null
+++ b/src/movies/2022-01-25-coraline.md
@@ -0,0 +1,21 @@
+---
+title: "Coraline"
+year: 2009
+watched: 2022-01-25
+watch_history:
+ - 2022-01-25
+ - 2024-08-17
+image: https://cdn.wonderfulfrog.com/images/movies/coraline-poster.jpg
+letterboxd:
+ - https://letterboxd.com/wonderfulfrog/film/coraline/
+ - https://letterboxd.com/wonderfulfrog/film/coraline/1/
+director: Henry Selick
+runtime: 100
+favourite: true
+rating: 5
+genres:
+ - animation
+ - horror
+ - fantasy
+ - family
+---
diff --git a/src/movies/2024-09-28-megalopolis.md b/src/movies/2024-09-28-megalopolis.md
new file mode 100644
index 0000000..e5c3b77
--- /dev/null
+++ b/src/movies/2024-09-28-megalopolis.md
@@ -0,0 +1,16 @@
+---
+title: "Megalopolis"
+year: 2024
+watched: 2024-09-30
+image: https://cdn.wonderfulfrog.com/images/movies/megalopolis-poster.jpg
+letterboxd: https://letterboxd.com/wonderfulfrog/film/megalopolis-2024/
+director: Francis Ford Coppola
+runtime: 138
+genres:
+ - drama
+ - science fiction
+---
+
+I wholeheartedly did not enjoy this movie, and yet afterward we could not stop talking about it. There were so many moments to remember - and some even got overwritten in my mind and had to be teased out later.
+
+I don't know if I'm experiencing a trainwreck or another cultural touchstone...
diff --git a/src/movies/2024-09-30-sugarcane.md b/src/movies/2024-09-30-sugarcane.md
new file mode 100644
index 0000000..6a7442e
--- /dev/null
+++ b/src/movies/2024-09-30-sugarcane.md
@@ -0,0 +1,12 @@
+---
+title: "Sugarcane"
+year: 2024
+watched: 2024-09-30
+image: https://cdn.wonderfulfrog.com/images/movies/sugarcane-poster.jpg
+letterboxd: https://letterboxd.com/wonderfulfrog/film/sugarcane/
+director: Emily Kassie, Julian Brave NoiseCat
+runtime: 107
+favourite: true
+genres:
+ - documentary
+---
diff --git a/src/movies/2024-10-30-your-monster.md b/src/movies/2024-10-30-your-monster.md
new file mode 100644
index 0000000..a3885ad
--- /dev/null
+++ b/src/movies/2024-10-30-your-monster.md
@@ -0,0 +1,14 @@
+---
+title: "Your Monster"
+year: 2024
+watched: 2024-10-30
+image: https://cdn.wonderfulfrog.com/images/movies/your-monster-poster.jpg
+letterboxd: https://letterboxd.com/wonderfulfrog/film/your-monster-2024/
+director: Caroline Lindy
+runtime: 104
+genres:
+ - music
+ - comedy
+ - horror
+ - romance
+---
diff --git a/src/movies/2024-10-31-dracula-a-d-1972.md b/src/movies/2024-10-31-dracula-a-d-1972.md
new file mode 100644
index 0000000..1dc78d1
--- /dev/null
+++ b/src/movies/2024-10-31-dracula-a-d-1972.md
@@ -0,0 +1,11 @@
+---
+title: "Dracula A.D. 1972"
+year: 1972
+watched: 2023-10-31
+image: https://cdn.wonderfulfrog.com/images/movies/dracula-a-d-1972-poster.jpg
+letterboxd: https://letterboxd.com/wonderfulfrog/film/dracula-ad-1972/
+director: Alan Gibson
+runtime: 96
+genres:
+ - horror
+---
diff --git a/src/movies/2024-10-31-dracula.md b/src/movies/2024-10-31-dracula.md
new file mode 100644
index 0000000..f1eb83a
--- /dev/null
+++ b/src/movies/2024-10-31-dracula.md
@@ -0,0 +1,11 @@
+---
+title: "Dracula"
+year: 1931
+watched: 2023-10-31
+image: https://cdn.wonderfulfrog.com/images/movies/dracula-poster.jpg
+letterboxd: https://letterboxd.com/wonderfulfrog/film/dracula/
+director: Tod Browning
+runtime: 74
+genres:
+ - horror
+---
diff --git a/src/movies/2024-11-08-woman-of-the-hour.md b/src/movies/2024-11-08-woman-of-the-hour.md
new file mode 100644
index 0000000..458ed2d
--- /dev/null
+++ b/src/movies/2024-11-08-woman-of-the-hour.md
@@ -0,0 +1,15 @@
+---
+title: "Woman of the Hour"
+year: 2023
+watched: 2024-11-09
+image: https://cdn.wonderfulfrog.com/images/movies/woman-of-the-hour-poster.jpg
+letterboxd: https://letterboxd.com/wonderfulfrog/film/woman-of-the-hour/
+director: Anna Kendrick
+runtime: 94
+genres:
+ - drama
+ - thriller
+ - crime
+---
+
+Do we really need to keep making movies that center around serial killers? Objectively a good movie, but I'm getting tired of media being created to effectively celebrate the accomplishments of murderers.
diff --git a/src/movies/2024-11-09-tetris.md b/src/movies/2024-11-09-tetris.md
new file mode 100644
index 0000000..c64a3b9
--- /dev/null
+++ b/src/movies/2024-11-09-tetris.md
@@ -0,0 +1,15 @@
+---
+title: "Tetris"
+year: 2023
+watched: 2024-11-09
+image: https://cdn.wonderfulfrog.com/images/movies/tetris-poster.jpg
+letterboxd: https://letterboxd.com/wonderfulfrog/film/tetris/
+director: Jon S. Baird
+runtime: 118
+genres:
+ - thriller
+ - history
+ - drama
+---
+
+It is now my head canon that securing the publishing rights to Tetris involved a desperate car chase through the streets of Moscow. There’s no going back now.
diff --git a/src/movies/2024-11-20-flow.md b/src/movies/2024-11-20-flow.md
new file mode 100644
index 0000000..8f6b57a
--- /dev/null
+++ b/src/movies/2024-11-20-flow.md
@@ -0,0 +1,15 @@
+---
+title: "Flow"
+year: 2024
+watched: 2024-11-20
+image: https://cdn.wonderfulfrog.com/images/movies/flow-poster.jpg
+letterboxd: https://letterboxd.com/wonderfulfrog/film/flow-2024/
+director: Gints Zilbalodis
+runtime: 85
+favourite: true
+rating: 4
+genres:
+ - adventure
+ - fantasy
+ - animation
+---
diff --git a/src/movies/movies.11tydata.js b/src/movies/movies.11tydata.js
new file mode 100644
index 0000000..4e88ebe
--- /dev/null
+++ b/src/movies/movies.11tydata.js
@@ -0,0 +1,5 @@
+export default {
+ layout: "layouts/movie",
+ permalink: "movies/{{ page.fileSlug }}/index.html",
+ tags: "movie",
+};
diff --git a/src/pages/books/index.html b/src/pages/books/index.html
index e809224..7744ec9 100644
--- a/src/pages/books/index.html
+++ b/src/pages/books/index.html
@@ -8,7 +8,7 @@ permalink: "books/index.html"
Books
A collection of games I've read over the years.
- Browse by year
+ Browse by release year
{% for year in yearsData %}
-
diff --git a/src/pages/games/index.html b/src/pages/games/index.html
index a5a2486..394472a 100644
--- a/src/pages/games/index.html
+++ b/src/pages/games/index.html
@@ -7,8 +7,8 @@ permalink: "games/index.html"
{% set yearsData = collections.gamesByYear | values | reverse %}
Games
- A collection of games I've played over the years.
- Browse by year
+ A collection of games I played over the years.
+ Browse by release year
diff --git a/src/pages/watching/favourites.html b/src/pages/watching/favourites.html
new file mode 100644
index 0000000..49bfeec
--- /dev/null
+++ b/src/pages/watching/favourites.html
@@ -0,0 +1,14 @@
+---
+permalink: "watching/favourites/index.html"
+---
+
+{% from "macros/media-grid.njk" import grid %}
+{% set data = collections.movie | filterFavourites | reverse %}
+
+ {% include "svgs/arrow-left.svg" %}
+Back to watching
+
+ Favourite movies
+ A collection of my favourite movies!
+ {{ grid(data) }}
+
diff --git a/src/pages/watching/index.html b/src/pages/watching/index.html
new file mode 100644
index 0000000..457a828
--- /dev/null
+++ b/src/pages/watching/index.html
@@ -0,0 +1,28 @@
+---
+permalink: "watching/index.html"
+---
+
+{% from "macros/media-grid.njk" import grid %}
+{% set data = collections.movie | reverse | limit(5) %}
+{% set favourites = collections.movie | filterFavourites | reverse | limit(5) %}
+{% set yearsData = collections.moviesByYear | values | reverse %}
+
+ Watching
+ A collection of movies I've seen over the years.
+ Browse by year watched
+
+
+ {{ grid(data) }}
+
+ {{ grid(favourites) }}
+
diff --git a/src/pages/watching/recent.html b/src/pages/watching/recent.html
new file mode 100644
index 0000000..e52f376
--- /dev/null
+++ b/src/pages/watching/recent.html
@@ -0,0 +1,14 @@
+---
+permalink: "watching/recent/index.html"
+---
+
+{% from "macros/media-grid.njk" import grid %}
+{% set data = collections.movie | reverse %}
+
+ {% include "svgs/arrow-left.svg" %}
+Back to watching
+
+ Recently watched
+ A collection of movies I've seen recently.
+ {{ grid(data) }}
+
diff --git a/src/pages/watching/year.html b/src/pages/watching/year.html
new file mode 100644
index 0000000..2cfb0f7
--- /dev/null
+++ b/src/pages/watching/year.html
@@ -0,0 +1,21 @@
+---
+pagination:
+ data: collections.moviesByYear
+ size: 1
+ alias: year
+ resolve: values
+permalink: "movies/year/{{ year.value }}/index.html"
+---
+
+{% from "macros/media-grid.njk" import grid %}
+{% set data = year.data | reverse %}
+