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 %}
+