From 5fa5665d4781d1d5358fbc74243859ccd6fd69ba Mon Sep 17 00:00:00 2001 From: Cameron Otsuka Date: Mon, 13 Apr 2026 23:24:26 -0700 Subject: [PATCH] create missive and marginalia article types, add badges --- .../index.mdx | 1 + content/articles/minimum-utxo-value/index.mdx | 1 + .../index.mdx | 1 + .../index.mdx | 1 + .../removing-a-drive-from-a-btrfs-array.mdx | 1 + content/reviews/28-days-later.md | 2 +- content/reviews/a-cinderella-story.md | 2 +- content/reviews/a-complete-unknown.mdx | 2 +- content/reviews/boiling-point.md | 2 +- content/reviews/bugonia.md | 2 +- content/reviews/burning.md | 2 +- content/reviews/call-me-by-your-name.md | 2 +- content/reviews/casino-royale.md | 2 +- content/reviews/caught-stealing.md | 2 +- content/reviews/challengers.md | 2 +- content/reviews/chef.md | 2 +- content/reviews/conclave.md | 2 +- content/reviews/death-becomes-her.md | 2 +- content/reviews/den-of-thieves-pantera.md | 2 +- content/reviews/donnie-darko.md | 2 +- content/reviews/f1-the-movie.md | 2 +- content/reviews/fallen-angels/index.mdx | 2 +- content/reviews/gnomeo-juliet.md | 2 +- content/reviews/hamnet.md | 2 +- content/reviews/house-of-huawei.md | 2 +- content/reviews/hunchback-of-notre-dame.md | 2 +- content/reviews/its-whats-inside.md | 2 +- content/reviews/jurassic-park.md | 2 +- content/reviews/marty-supreme.md | 2 +- content/reviews/materialists.md | 2 +- content/reviews/moulin-rouge.md | 2 +- content/reviews/mulholland-drive.md | 2 +- content/reviews/noah.md | 2 +- content/reviews/nosferatu.md | 2 +- content/reviews/one-battle-after-another.mdx | 2 +- content/reviews/patlabor-the-movie.md | 2 +- content/reviews/people-we-meet-on-vacation.md | 2 +- content/reviews/perfect-days.md | 2 +- content/reviews/problemista.md | 2 +- content/reviews/sinners.md | 2 +- ...ar-wars-episode-iii-revenge-of-the-sith.md | 2 +- content/reviews/subservience.md | 2 +- content/reviews/superman.mdx | 2 +- content/reviews/taipei-story.md | 2 +- content/reviews/the-apprentice.md | 2 +- content/reviews/the-boy-and-the-heron.md | 2 +- content/reviews/the-godfather.md | 2 +- content/reviews/the-little-mermaid.md | 2 +- ...of-the-rings-the-fellowship-of-the-ring.md | 2 +- content/reviews/the-pianist.md | 2 +- content/reviews/the-social-network.md | 2 +- content/reviews/the-swan-princess.md | 2 +- content/reviews/thunderbolts.md | 2 +- content/reviews/tick-tick-boom.md | 2 +- content/reviews/wake up dead man.md | 2 +- content/reviews/warfare.md | 2 +- content/reviews/when-harry-met-sally.md | 2 +- content/reviews/wicked-for-good.mdx | 2 +- content/reviews/wicked.md | 2 +- src/components/metadata.astro | 6 +++ src/components/ui/badge.astro | 19 +++++++++ src/components/ui/contentlist.astro | 13 ++++-- src/content.config.ts | 6 ++- src/pages/feed.xml.ts | 4 +- src/pages/index.astro | 40 ++----------------- .../{[category] => [type]}/[id]/index.astro | 2 +- .../[id]/opengraph.png.ts | 2 +- src/pages/reviews/index.astro | 4 +- src/pages/search.astro | 4 +- src/utils/generateContentUrl.ts | 2 +- 70 files changed, 111 insertions(+), 104 deletions(-) create mode 100644 src/components/ui/badge.astro rename src/pages/reviews/{[category] => [type]}/[id]/index.astro (92%) rename src/pages/reviews/{[category] => [type]}/[id]/opengraph.png.ts (90%) diff --git a/content/articles/bitcoin-mempools-cleared-is-nobody-using-bitcoin/index.mdx b/content/articles/bitcoin-mempools-cleared-is-nobody-using-bitcoin/index.mdx index e71ef36..c931b5f 100644 --- a/content/articles/bitcoin-mempools-cleared-is-nobody-using-bitcoin/index.mdx +++ b/content/articles/bitcoin-mempools-cleared-is-nobody-using-bitcoin/index.mdx @@ -1,5 +1,6 @@ --- title: 'Bitcoin Mempools Cleared: Is Nobody Using Bitcoin?' +type: missive date: 2025-02-09 modified: 2025-10-24 description: Bitcoin mempools have cleared before and there's no immediate reason to panic. diff --git a/content/articles/minimum-utxo-value/index.mdx b/content/articles/minimum-utxo-value/index.mdx index 1e76262..6e679bd 100644 --- a/content/articles/minimum-utxo-value/index.mdx +++ b/content/articles/minimum-utxo-value/index.mdx @@ -1,5 +1,6 @@ --- title: Minimum UTXO Value +type: missive date: 2023-08-04 modified: 2025-02-07 description: A look at what Bitcoin dust is, historical fee rates, how fees are calculated, and a decision on a minimum UTXO value to stay above the dust threshold. diff --git a/content/articles/monetary-system-enshittification/index.mdx b/content/articles/monetary-system-enshittification/index.mdx index 291ec22..c93d303 100644 --- a/content/articles/monetary-system-enshittification/index.mdx +++ b/content/articles/monetary-system-enshittification/index.mdx @@ -1,5 +1,6 @@ --- title: Monetary System Enshittification +type: missive date: 2024-03-01 modified: 2025-01-27 description: Is the US monetary system experiencing enshittification? And how do we solve it? diff --git a/content/articles/r1-vs-o1-ai-as-commodity-or-moat/index.mdx b/content/articles/r1-vs-o1-ai-as-commodity-or-moat/index.mdx index d4110a5..e3086d5 100644 --- a/content/articles/r1-vs-o1-ai-as-commodity-or-moat/index.mdx +++ b/content/articles/r1-vs-o1-ai-as-commodity-or-moat/index.mdx @@ -1,5 +1,6 @@ --- title: 'R1 vs. o1: AI as Commodity or Moat' +type: missive date: 2025-01-27 modified: 2025-10-24 description: Is DeepSeek's R1 an existential threat to OpenAI? diff --git a/content/articles/removing-a-drive-from-a-btrfs-array.mdx b/content/articles/removing-a-drive-from-a-btrfs-array.mdx index df09719..c5c765f 100644 --- a/content/articles/removing-a-drive-from-a-btrfs-array.mdx +++ b/content/articles/removing-a-drive-from-a-btrfs-array.mdx @@ -1,5 +1,6 @@ --- title: 'Removing a Drive from a Btrfs Array' +type: marginalia date: 2023-07-05 modified: 2024-12-23 description: If a drive is failing in an array, Btrfs could block attempts at removing the drive due to corrupted files. A quick write-up of how to get it removed. diff --git a/content/reviews/28-days-later.md b/content/reviews/28-days-later.md index e00e3a2..fc9218f 100644 --- a/content/reviews/28-days-later.md +++ b/content/reviews/28-days-later.md @@ -1,5 +1,5 @@ --- -category: movie +type: movie title: 28 Days Later date: 2025-06-06 modified: 2025-12-07 diff --git a/content/reviews/a-cinderella-story.md b/content/reviews/a-cinderella-story.md index b2fc03d..84158bb 100644 --- a/content/reviews/a-cinderella-story.md +++ b/content/reviews/a-cinderella-story.md @@ -1,5 +1,5 @@ --- -category: movie +type: movie title: A Cinderella Story date: 2026-03-15 modified: 2026-03-16 diff --git a/content/reviews/a-complete-unknown.mdx b/content/reviews/a-complete-unknown.mdx index ee11b0e..06ed3fd 100644 --- a/content/reviews/a-complete-unknown.mdx +++ b/content/reviews/a-complete-unknown.mdx @@ -1,5 +1,5 @@ --- -category: movie +type: movie title: A Complete Unknown date: 2025-06-04 modified: 2025-06-04 diff --git a/content/reviews/boiling-point.md b/content/reviews/boiling-point.md index 93bc683..eff4abc 100644 --- a/content/reviews/boiling-point.md +++ b/content/reviews/boiling-point.md @@ -1,5 +1,5 @@ --- -category: movie +type: movie title: Boiling Point date: 2026-04-11 modified: 2026-04-11 diff --git a/content/reviews/bugonia.md b/content/reviews/bugonia.md index 5f0f818..b638bcc 100644 --- a/content/reviews/bugonia.md +++ b/content/reviews/bugonia.md @@ -1,5 +1,5 @@ --- -category: movie +type: movie title: Bugonia date: 2025-10-30 modified: 2025-11-01 diff --git a/content/reviews/burning.md b/content/reviews/burning.md index f1bee46..04ca35c 100644 --- a/content/reviews/burning.md +++ b/content/reviews/burning.md @@ -1,5 +1,5 @@ --- -category: movie +type: movie title: Burning date: 2025-02-28 modified: 2025-03-02 diff --git a/content/reviews/call-me-by-your-name.md b/content/reviews/call-me-by-your-name.md index adaecb7..9848405 100644 --- a/content/reviews/call-me-by-your-name.md +++ b/content/reviews/call-me-by-your-name.md @@ -1,5 +1,5 @@ --- -category: movie +type: movie title: Call Me By Your Name date: 2026-03-22 modified: 2026-03-23 diff --git a/content/reviews/casino-royale.md b/content/reviews/casino-royale.md index 00786cb..7b4a4f9 100644 --- a/content/reviews/casino-royale.md +++ b/content/reviews/casino-royale.md @@ -1,5 +1,5 @@ --- -category: movie +type: movie title: Casino Royale date: 2025-12-14 modified: 2025-12-16 diff --git a/content/reviews/caught-stealing.md b/content/reviews/caught-stealing.md index f69da80..42758e6 100644 --- a/content/reviews/caught-stealing.md +++ b/content/reviews/caught-stealing.md @@ -1,5 +1,5 @@ --- -category: movie +type: movie title: Caught Stealing date: 2025-09-12 modified: 2025-09-13 diff --git a/content/reviews/challengers.md b/content/reviews/challengers.md index 4ec9100..53c6594 100644 --- a/content/reviews/challengers.md +++ b/content/reviews/challengers.md @@ -1,5 +1,5 @@ --- -category: movie +type: movie title: Challengers date: 2024-12-24 modified: 2024-12-26 diff --git a/content/reviews/chef.md b/content/reviews/chef.md index 4959c5a..2eb6330 100644 --- a/content/reviews/chef.md +++ b/content/reviews/chef.md @@ -1,5 +1,5 @@ --- -category: movie +type: movie title: Chef date: 2026-03-14 modified: 2026-03-16 diff --git a/content/reviews/conclave.md b/content/reviews/conclave.md index 3097f36..f44e43f 100644 --- a/content/reviews/conclave.md +++ b/content/reviews/conclave.md @@ -1,5 +1,5 @@ --- -category: movie +type: movie title: Conclave date: 2025-03-02 modified: 2025-03-18 diff --git a/content/reviews/death-becomes-her.md b/content/reviews/death-becomes-her.md index f1f9e63..c424d18 100644 --- a/content/reviews/death-becomes-her.md +++ b/content/reviews/death-becomes-her.md @@ -1,5 +1,5 @@ --- -category: movie +type: movie title: Death Becomes Her date: 2025-10-02 modified: 2025-10-07 diff --git a/content/reviews/den-of-thieves-pantera.md b/content/reviews/den-of-thieves-pantera.md index b8ac9f7..464cf37 100644 --- a/content/reviews/den-of-thieves-pantera.md +++ b/content/reviews/den-of-thieves-pantera.md @@ -1,5 +1,5 @@ --- -category: movie +type: movie title: 'Den of Thieves: Pantera' date: 2025-10-18 modified: 2025-10-19 diff --git a/content/reviews/donnie-darko.md b/content/reviews/donnie-darko.md index cc81111..0c39ac1 100644 --- a/content/reviews/donnie-darko.md +++ b/content/reviews/donnie-darko.md @@ -1,5 +1,5 @@ --- -category: movie +type: movie title: Donnie Darko date: 2026-01-07 modified: 2026-01-09 diff --git a/content/reviews/f1-the-movie.md b/content/reviews/f1-the-movie.md index affcc80..45d8cbc 100644 --- a/content/reviews/f1-the-movie.md +++ b/content/reviews/f1-the-movie.md @@ -1,5 +1,5 @@ --- -category: movie +type: movie title: 'F1: The Movie' date: 2025-10-16 modified: 2025-10-17 diff --git a/content/reviews/fallen-angels/index.mdx b/content/reviews/fallen-angels/index.mdx index e426289..0ce7345 100644 --- a/content/reviews/fallen-angels/index.mdx +++ b/content/reviews/fallen-angels/index.mdx @@ -1,5 +1,5 @@ --- -category: movie +type: movie title: Fallen Angels date: 2025-08-02 modified: 2025-10-24 diff --git a/content/reviews/gnomeo-juliet.md b/content/reviews/gnomeo-juliet.md index 324a388..427a1cc 100644 --- a/content/reviews/gnomeo-juliet.md +++ b/content/reviews/gnomeo-juliet.md @@ -1,5 +1,5 @@ --- -category: movie +type: movie title: Gnomeo & Juliet date: 2026-03-01 modified: 2026-03-02 diff --git a/content/reviews/hamnet.md b/content/reviews/hamnet.md index b90e301..5a1dae8 100644 --- a/content/reviews/hamnet.md +++ b/content/reviews/hamnet.md @@ -1,5 +1,5 @@ --- -category: movie +type: movie title: Hamnet date: 2026-02-13 modified: 2026-02-14 diff --git a/content/reviews/house-of-huawei.md b/content/reviews/house-of-huawei.md index ea53455..9785819 100644 --- a/content/reviews/house-of-huawei.md +++ b/content/reviews/house-of-huawei.md @@ -1,5 +1,5 @@ --- -category: book +type: book title: House of Huawei date: 2025-07-13 modified: 2025-12-27 diff --git a/content/reviews/hunchback-of-notre-dame.md b/content/reviews/hunchback-of-notre-dame.md index 2b8b17f..f4076af 100644 --- a/content/reviews/hunchback-of-notre-dame.md +++ b/content/reviews/hunchback-of-notre-dame.md @@ -1,5 +1,5 @@ --- -category: movie +type: movie title: The Hunchback of Notre Dame date: 2025-03-04 modified: 2025-03-22 diff --git a/content/reviews/its-whats-inside.md b/content/reviews/its-whats-inside.md index a7ba9b1..259e1d3 100644 --- a/content/reviews/its-whats-inside.md +++ b/content/reviews/its-whats-inside.md @@ -1,5 +1,5 @@ --- -category: movie +type: movie title: It's What's Inside date: 2025-03-01 modified: 2025-03-02 diff --git a/content/reviews/jurassic-park.md b/content/reviews/jurassic-park.md index 648435f..ee54337 100644 --- a/content/reviews/jurassic-park.md +++ b/content/reviews/jurassic-park.md @@ -1,5 +1,5 @@ --- -category: movie +type: movie title: Jurassic Park date: 2025-09-10 modified: 2025-09-13 diff --git a/content/reviews/marty-supreme.md b/content/reviews/marty-supreme.md index 6a76448..d148b60 100644 --- a/content/reviews/marty-supreme.md +++ b/content/reviews/marty-supreme.md @@ -1,5 +1,5 @@ --- -category: movie +type: movie title: Marty Supreme date: 2026-01-21 modified: 2026-01-23 diff --git a/content/reviews/materialists.md b/content/reviews/materialists.md index ffa1858..81750d0 100644 --- a/content/reviews/materialists.md +++ b/content/reviews/materialists.md @@ -1,5 +1,5 @@ --- -category: movie +type: movie title: Materialists date: 2025-08-14 modified: 2025-08-15 diff --git a/content/reviews/moulin-rouge.md b/content/reviews/moulin-rouge.md index 511b60f..f876cc3 100644 --- a/content/reviews/moulin-rouge.md +++ b/content/reviews/moulin-rouge.md @@ -1,5 +1,5 @@ --- -category: movie +type: movie title: Moulin Rouge! date: 2025-12-25 modified: 2025-12-26 diff --git a/content/reviews/mulholland-drive.md b/content/reviews/mulholland-drive.md index d5708a8..0e220ea 100644 --- a/content/reviews/mulholland-drive.md +++ b/content/reviews/mulholland-drive.md @@ -1,5 +1,5 @@ --- -category: movie +type: movie title: Mulholland Drive date: 2025-12-06 modified: 2025-12-07 diff --git a/content/reviews/noah.md b/content/reviews/noah.md index dc7ff24..063faec 100644 --- a/content/reviews/noah.md +++ b/content/reviews/noah.md @@ -1,5 +1,5 @@ --- -category: movie +type: movie title: Noah date: 2025-12-24 modified: 2025-12-25 diff --git a/content/reviews/nosferatu.md b/content/reviews/nosferatu.md index 2312939..b0f907b 100644 --- a/content/reviews/nosferatu.md +++ b/content/reviews/nosferatu.md @@ -1,5 +1,5 @@ --- -category: movie +type: movie title: Nosferatu date: 2025-09-09 modified: 2025-09-13 diff --git a/content/reviews/one-battle-after-another.mdx b/content/reviews/one-battle-after-another.mdx index c64f64e..7e5cd2d 100644 --- a/content/reviews/one-battle-after-another.mdx +++ b/content/reviews/one-battle-after-another.mdx @@ -1,5 +1,5 @@ --- -category: movie +type: movie title: One Battle After Another date: 2025-10-01 modified: 2025-10-04 diff --git a/content/reviews/patlabor-the-movie.md b/content/reviews/patlabor-the-movie.md index 330d625..7518d34 100644 --- a/content/reviews/patlabor-the-movie.md +++ b/content/reviews/patlabor-the-movie.md @@ -1,5 +1,5 @@ --- -category: movie +type: movie title: 'Patlabor: The Movie' date: 2026-01-11 modified: 2026-01-11 diff --git a/content/reviews/people-we-meet-on-vacation.md b/content/reviews/people-we-meet-on-vacation.md index 2ebc270..3092f46 100644 --- a/content/reviews/people-we-meet-on-vacation.md +++ b/content/reviews/people-we-meet-on-vacation.md @@ -1,5 +1,5 @@ --- -category: movie +type: movie title: People We Meet on Vacation date: 2026-02-12 modified: 2026-02-14 diff --git a/content/reviews/perfect-days.md b/content/reviews/perfect-days.md index 192288b..6b4bc4c 100644 --- a/content/reviews/perfect-days.md +++ b/content/reviews/perfect-days.md @@ -1,5 +1,5 @@ --- -category: movie +type: movie title: Perfect Days date: 2025-02-15 modified: 2025-02-15 diff --git a/content/reviews/problemista.md b/content/reviews/problemista.md index d40d0d4..f19c27b 100644 --- a/content/reviews/problemista.md +++ b/content/reviews/problemista.md @@ -1,5 +1,5 @@ --- -category: movie +type: movie title: Problemista date: 2025-11-04 modified: 2025-11-06 diff --git a/content/reviews/sinners.md b/content/reviews/sinners.md index f5bb570..4526189 100644 --- a/content/reviews/sinners.md +++ b/content/reviews/sinners.md @@ -1,5 +1,5 @@ --- -category: movie +type: movie title: Sinners date: 2025-05-02 modified: 2025-05-02 diff --git a/content/reviews/star-wars-episode-iii-revenge-of-the-sith.md b/content/reviews/star-wars-episode-iii-revenge-of-the-sith.md index 1a7cbfa..5158034 100644 --- a/content/reviews/star-wars-episode-iii-revenge-of-the-sith.md +++ b/content/reviews/star-wars-episode-iii-revenge-of-the-sith.md @@ -1,5 +1,5 @@ --- -category: movie +type: movie title: 'Star Wars: Episode III - Revenge of the Sith' date: 2025-09-05 modified: 2025-09-07 diff --git a/content/reviews/subservience.md b/content/reviews/subservience.md index 7ea01e4..b10701f 100644 --- a/content/reviews/subservience.md +++ b/content/reviews/subservience.md @@ -1,5 +1,5 @@ --- -category: movie +type: movie title: Subservience date: 2024-12-25 modified: 2024-12-26 diff --git a/content/reviews/superman.mdx b/content/reviews/superman.mdx index e40bab1..c1affe6 100644 --- a/content/reviews/superman.mdx +++ b/content/reviews/superman.mdx @@ -1,5 +1,5 @@ --- -category: movie +type: movie title: Superman date: 2025-10-04 modified: 2025-10-04 diff --git a/content/reviews/taipei-story.md b/content/reviews/taipei-story.md index 37f2b17..e260153 100644 --- a/content/reviews/taipei-story.md +++ b/content/reviews/taipei-story.md @@ -1,5 +1,5 @@ --- -category: movie +type: movie title: Taipei Story date: 2025-12-27 modified: 2025-12-28 diff --git a/content/reviews/the-apprentice.md b/content/reviews/the-apprentice.md index 906239e..4fc5620 100644 --- a/content/reviews/the-apprentice.md +++ b/content/reviews/the-apprentice.md @@ -1,5 +1,5 @@ --- -category: movie +type: movie title: The Apprentice date: 2025-09-06 modified: 2025-09-07 diff --git a/content/reviews/the-boy-and-the-heron.md b/content/reviews/the-boy-and-the-heron.md index d7e526d..b6ae5b4 100644 --- a/content/reviews/the-boy-and-the-heron.md +++ b/content/reviews/the-boy-and-the-heron.md @@ -1,5 +1,5 @@ --- -category: movie +type: movie title: The Boy and the Heron date: 2024-12-21 modified: 2024-12-23 diff --git a/content/reviews/the-godfather.md b/content/reviews/the-godfather.md index 187e957..1f77edc 100644 --- a/content/reviews/the-godfather.md +++ b/content/reviews/the-godfather.md @@ -1,5 +1,5 @@ --- -category: movie +type: movie title: The Godfather date: 2025-11-16 modified: 2025-11-19 diff --git a/content/reviews/the-little-mermaid.md b/content/reviews/the-little-mermaid.md index 8e6b582..2131433 100644 --- a/content/reviews/the-little-mermaid.md +++ b/content/reviews/the-little-mermaid.md @@ -1,5 +1,5 @@ --- -category: movie +type: movie title: The Little Mermaid date: 2026-01-01 modified: 2026-01-01 diff --git a/content/reviews/the-lord-of-the-rings-the-fellowship-of-the-ring.md b/content/reviews/the-lord-of-the-rings-the-fellowship-of-the-ring.md index f50bd24..d5c9024 100644 --- a/content/reviews/the-lord-of-the-rings-the-fellowship-of-the-ring.md +++ b/content/reviews/the-lord-of-the-rings-the-fellowship-of-the-ring.md @@ -1,5 +1,5 @@ --- -category: movie +type: movie title: 'The Lord of the Rings: The Fellowship of the Ring' date: 2025-11-26 modified: 2025-11-30 diff --git a/content/reviews/the-pianist.md b/content/reviews/the-pianist.md index abfe280..9c33f3d 100644 --- a/content/reviews/the-pianist.md +++ b/content/reviews/the-pianist.md @@ -1,5 +1,5 @@ --- -category: movie +type: movie title: The Pianist date: 2026-04-11 modified: 2026-04-11 diff --git a/content/reviews/the-social-network.md b/content/reviews/the-social-network.md index 6edf6b3..1c110f0 100644 --- a/content/reviews/the-social-network.md +++ b/content/reviews/the-social-network.md @@ -1,5 +1,5 @@ --- -category: movie +type: movie title: The Social Network date: 2025-12-28 modified: 2025-12-29 diff --git a/content/reviews/the-swan-princess.md b/content/reviews/the-swan-princess.md index 04cdabc..73200ac 100644 --- a/content/reviews/the-swan-princess.md +++ b/content/reviews/the-swan-princess.md @@ -1,5 +1,5 @@ --- -category: movie +type: movie title: The Swan Princess date: 2026-03-17 modified: 2026-03-18 diff --git a/content/reviews/thunderbolts.md b/content/reviews/thunderbolts.md index fe9649f..044e409 100644 --- a/content/reviews/thunderbolts.md +++ b/content/reviews/thunderbolts.md @@ -1,5 +1,5 @@ --- -category: movie +type: movie title: Thunderbolts* date: 2026-01-01 modified: 2026-01-01 diff --git a/content/reviews/tick-tick-boom.md b/content/reviews/tick-tick-boom.md index 002824c..732cda1 100644 --- a/content/reviews/tick-tick-boom.md +++ b/content/reviews/tick-tick-boom.md @@ -1,5 +1,5 @@ --- -category: movie +type: movie title: Tick, Tick... Boom! date: 2025-12-27 modified: 2025-12-28 diff --git a/content/reviews/wake up dead man.md b/content/reviews/wake up dead man.md index 20f91bd..c8284e6 100644 --- a/content/reviews/wake up dead man.md +++ b/content/reviews/wake up dead man.md @@ -1,5 +1,5 @@ --- -category: movie +type: movie title: Wake Up Dead Man date: 2025-12-15 modified: 2025-12-16 diff --git a/content/reviews/warfare.md b/content/reviews/warfare.md index 19ed383..7c983b3 100644 --- a/content/reviews/warfare.md +++ b/content/reviews/warfare.md @@ -1,5 +1,5 @@ --- -category: movie +type: movie title: Warfare date: 2025-04-11 modified: 2025-04-11 diff --git a/content/reviews/when-harry-met-sally.md b/content/reviews/when-harry-met-sally.md index 0d752ca..ba3a015 100644 --- a/content/reviews/when-harry-met-sally.md +++ b/content/reviews/when-harry-met-sally.md @@ -1,5 +1,5 @@ --- -category: movie +type: movie title: When Harry Met Sally... date: 2025-12-30 modified: 2026-01-01 diff --git a/content/reviews/wicked-for-good.mdx b/content/reviews/wicked-for-good.mdx index 7d4d498..511a05a 100644 --- a/content/reviews/wicked-for-good.mdx +++ b/content/reviews/wicked-for-good.mdx @@ -1,5 +1,5 @@ --- -category: movie +type: movie title: 'Wicked: For Good' date: 2025-11-25 modified: 2025-11-25 diff --git a/content/reviews/wicked.md b/content/reviews/wicked.md index 4bc74af..cee81b1 100644 --- a/content/reviews/wicked.md +++ b/content/reviews/wicked.md @@ -1,5 +1,5 @@ --- -category: movie +type: movie title: Wicked date: 2024-11-29 modified: 2025-06-04 diff --git a/src/components/metadata.astro b/src/components/metadata.astro index 76616f0..ffd94a3 100644 --- a/src/components/metadata.astro +++ b/src/components/metadata.astro @@ -31,6 +31,12 @@ const modifiedDate = entryData.modified >{modifiedDate} +
  • + Type: {entryData.type} +
  • {entryData.tags &&
  • Tags: {entryData.tags.join(', ')}
  • } { entryData.posse && ( diff --git a/src/components/ui/badge.astro b/src/components/ui/badge.astro new file mode 100644 index 0000000..8954d55 --- /dev/null +++ b/src/components/ui/badge.astro @@ -0,0 +1,19 @@ + + + + + diff --git a/src/components/ui/contentlist.astro b/src/components/ui/contentlist.astro index a252a10..06d43fe 100644 --- a/src/components/ui/contentlist.astro +++ b/src/components/ui/contentlist.astro @@ -1,27 +1,34 @@ --- import { getCollection, type CollectionKey } from 'astro:content'; +import Badge from '@components/ui/badge.astro'; import sortByDate from '@utils/sortByDate'; import generateContentUrl from '@utils/generateContentUrl'; interface Props { collection: CollectionKey; + limit?: number; } -const { collection } = Astro.props; +const { collection, limit } = Astro.props; const entries = await getCollection(collection); const sorted = sortByDate(entries); +const displayedEntries = + typeof limit === 'number' ? sorted.slice(0, limit) : sorted; ---
    { - sorted.map((entry) => ( + displayedEntries.map((entry) => ( <>

    {entry.data.title}

    - {entry.data.description &&
    {entry.data.description}
    } +
    + {entry.data.type} + {entry.data.description && entry.data.description} +
    )) } diff --git a/src/content.config.ts b/src/content.config.ts index 141781d..f0a9f88 100644 --- a/src/content.config.ts +++ b/src/content.config.ts @@ -13,7 +13,9 @@ const baseSchema = z.object({ const articles = defineCollection({ loader: glob({ pattern: '**/*.{md,mdx}', base: 'content/articles' }), - schema: baseSchema, + schema: baseSchema.extend({ + type: z.enum(['marginalia', 'missive']), + }), }); const podcasts = defineCollection({ @@ -34,7 +36,7 @@ const reviews = defineCollection({ loader: glob({ pattern: '**/*.{md,mdx}', base: 'content/reviews' }), schema: baseSchema.extend({ rating: z.int().gt(0).lte(5), - category: z.enum(['book', 'game', 'movie', 'music', 'show']), + type: z.enum(['book', 'game', 'movie', 'music', 'show']), }), }); diff --git a/src/pages/feed.xml.ts b/src/pages/feed.xml.ts index cdf230c..e58ce1d 100644 --- a/src/pages/feed.xml.ts +++ b/src/pages/feed.xml.ts @@ -29,9 +29,7 @@ export async function GET(context: APIContext) { const { Content } = await render(item); const content = await container.renderToString(Content); const categories = (item.data.tags ?? []).concat(item.collection); - if (item.collection === 'reviews') { - categories.push(item.data.category); - } + categories.push(item.data.type); let title: string; let description: string; diff --git a/src/pages/index.astro b/src/pages/index.astro index ff32067..ab4b90a 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -1,28 +1,6 @@ --- import Base from '@layouts/base.astro'; - -const contributions = [ - { - title: 'Git', - url: 'https://git.otsuka.systems', - }, - { - title: 'Arch User Repository', - url: 'https://aur.archlinux.org/packages?O=0&SeB=M&K=cotsuka&outdated=&SB=p&SO=d&PP=50&submit=Go', - }, - { - title: 'ArchWiki', - url: 'https://wiki.archlinux.org/title/Special:Contributions/Cotsuka', - }, - { - title: 'GitHub', - url: 'https://github.com/search?q=author%3Acotsuka&type=pullrequests', - }, - { - title: 'Wikipedia', - url: 'https://en.wikipedia.org/wiki/Special:Contributions/Cotsuka', - }, -]; +import ContentList from '@components/ui/contentlist.astro'; --- -
    -

    Contributions

    - +
    +

    Latest Articles

    +
    diff --git a/src/pages/reviews/[category]/[id]/index.astro b/src/pages/reviews/[type]/[id]/index.astro similarity index 92% rename from src/pages/reviews/[category]/[id]/index.astro rename to src/pages/reviews/[type]/[id]/index.astro index e98d605..c634180 100644 --- a/src/pages/reviews/[category]/[id]/index.astro +++ b/src/pages/reviews/[type]/[id]/index.astro @@ -6,7 +6,7 @@ import Metadata from '@components/metadata.astro'; export async function getStaticPaths() { const reviews = await getCollection('reviews'); return reviews.map((review) => ({ - params: { category: review.data.category, id: review.id }, + params: { type: review.data.type, id: review.id }, props: { entry: review }, })); } diff --git a/src/pages/reviews/[category]/[id]/opengraph.png.ts b/src/pages/reviews/[type]/[id]/opengraph.png.ts similarity index 90% rename from src/pages/reviews/[category]/[id]/opengraph.png.ts rename to src/pages/reviews/[type]/[id]/opengraph.png.ts index ffcc555..6d7df34 100644 --- a/src/pages/reviews/[category]/[id]/opengraph.png.ts +++ b/src/pages/reviews/[type]/[id]/opengraph.png.ts @@ -15,7 +15,7 @@ export const GET = (async ({ props, url }) => { export async function getStaticPaths() { const reviews = await getCollection('reviews'); return reviews.map((review) => ({ - params: { category: review.data.category, id: review.id }, + params: { type: review.data.type, id: review.id }, props: { entry: review }, })); } diff --git a/src/pages/reviews/index.astro b/src/pages/reviews/index.astro index 875a7dc..988fbee 100644 --- a/src/pages/reviews/index.astro +++ b/src/pages/reviews/index.astro @@ -23,7 +23,7 @@ const sortedReviews = sortByDate(reviews); - + @@ -32,7 +32,7 @@ const sortedReviews = sortByDate(reviews); { sortedReviews.map((review) => ( - +
    CategoryType Title Rating
    {review.data.category}{review.data.type}

    {review.data.title} diff --git a/src/pages/search.astro b/src/pages/search.astro index 7d0af54..47c0567 100644 --- a/src/pages/search.astro +++ b/src/pages/search.astro @@ -29,6 +29,8 @@ const pagefindResultTemplate = String.raw`
    +