create-popular-site 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +57 -0
- package/index.mjs +224 -0
- package/package.json +39 -0
- package/templates/aquarium/popular.config.ts +224 -0
- package/templates/aquarium/public/images/hero.png +0 -0
- package/templates/aquarium/public/images/logo.png +0 -0
- package/templates/aquarium/public/images/organizer-1.png +0 -0
- package/templates/aquarium/public/images/organizer-2.png +0 -0
- package/templates/aquarium/public/images/organizer-3.png +0 -0
- package/templates/aquarium/public/images/post-1.png +0 -0
- package/templates/aquarium/public/images/post-2.png +0 -0
- package/templates/aquarium/public/images/post-3.png +0 -0
- package/templates/aquarium/src/content/authors/nadia.md +13 -0
- package/templates/aquarium/src/content/blog/aquarium-field-trip.md +14 -0
- package/templates/aquarium/src/content/blog/fresh-vs-salt-recap.md +23 -0
- package/templates/aquarium/src/content/blog/new-tank-101-recap.md +14 -0
- package/templates/aquarium/src/content/blog/show-and-tell-in-photos.md +21 -0
- package/templates/aquarium/src/content/blog/taken-by-the-sea.md +14 -0
- package/templates/aquarium/src/content/docs/handbook.mdx +127 -0
- package/templates/aquarium/src/content/docs/runbooks.mdx +57 -0
- package/templates/aquarium/src/content/events/aquascaping-night.md +15 -0
- package/templates/aquarium/src/content/events/fresh-vs-salt.md +14 -0
- package/templates/aquarium/src/content/events/new-tank-101.md +14 -0
- package/templates/aquarium/src/content/events/shrimp-social-swap.md +14 -0
- package/templates/aquarium/src/content/events/vancouver-aquarium-trip.md +14 -0
- package/templates/aquarium/src/content/organizers/nadia.md +13 -0
- package/templates/aquarium/src/content/organizers/tom.md +13 -0
- package/templates/aquarium/src/content/organizers/volunteer.md +13 -0
- package/templates/aquarium/src/content/pages/about.mdx +21 -0
- package/templates/aquarium/src/content/pages/code-of-conduct.mdx +38 -0
- package/templates/aquarium/src/content/pages/get-involved.mdx +27 -0
- package/templates/aquarium/src/content/speakers/.gitkeep +0 -0
- package/templates/aquarium/src/content/venues/.gitkeep +0 -0
- package/templates/foodie/popular.config.ts +221 -0
- package/templates/foodie/public/images/hero.png +0 -0
- package/templates/foodie/public/images/logo.png +0 -0
- package/templates/foodie/public/images/organizer-1.png +0 -0
- package/templates/foodie/public/images/organizer-2.png +0 -0
- package/templates/foodie/public/images/organizer-3.png +0 -0
- package/templates/foodie/public/images/post-1.png +0 -0
- package/templates/foodie/public/images/post-2.png +0 -0
- package/templates/foodie/public/images/post-3.png +0 -0
- package/templates/foodie/src/content/authors/sofia.md +7 -0
- package/templates/foodie/src/content/blog/dessert-diary.md +14 -0
- package/templates/foodie/src/content/blog/ice-cream-selfie-flash-mob.md +15 -0
- package/templates/foodie/src/content/blog/pierogi-night-in-photos.md +21 -0
- package/templates/foodie/src/content/blog/poutine-debate.md +12 -0
- package/templates/foodie/src/content/blog/two-breads-and-a-coffee-machine.md +14 -0
- package/templates/foodie/src/content/docs/handbook.mdx +127 -0
- package/templates/foodie/src/content/docs/runbooks.mdx +57 -0
- package/templates/foodie/src/content/events/dessert-crawl.md +14 -0
- package/templates/foodie/src/content/events/pierogi-night.md +16 -0
- package/templates/foodie/src/content/events/poutine-cookoff.md +14 -0
- package/templates/foodie/src/content/events/summer-potluck.md +14 -0
- package/templates/foodie/src/content/organizers/marcus.md +13 -0
- package/templates/foodie/src/content/organizers/sofia.md +13 -0
- package/templates/foodie/src/content/organizers/volunteer.md +13 -0
- package/templates/foodie/src/content/pages/about.mdx +21 -0
- package/templates/foodie/src/content/pages/code-of-conduct.mdx +38 -0
- package/templates/foodie/src/content/pages/get-involved.mdx +27 -0
- package/templates/foodie/src/content/pages/speak.md +23 -0
- package/templates/foodie/src/content/pages/start.md +25 -0
- package/templates/foodie/src/content/speakers/.gitkeep +0 -0
- package/templates/foodie/src/content/venues/.gitkeep +0 -0
- package/templates/kdrama/popular.config.ts +226 -0
- package/templates/kdrama/public/images/hero.png +0 -0
- package/templates/kdrama/public/images/logo.png +0 -0
- package/templates/kdrama/public/images/organizer-1.png +0 -0
- package/templates/kdrama/public/images/organizer-2.png +0 -0
- package/templates/kdrama/public/images/organizer-3.png +0 -0
- package/templates/kdrama/public/images/post-1.png +0 -0
- package/templates/kdrama/public/images/post-2.png +0 -0
- package/templates/kdrama/public/images/post-3.png +0 -0
- package/templates/kdrama/src/content/authors/hana.md +7 -0
- package/templates/kdrama/src/content/blog/attorney-woo-trivia-recap.md +14 -0
- package/templates/kdrama/src/content/blog/castaway-diva-feelings.md +14 -0
- package/templates/kdrama/src/content/blog/crush-1988-me.md +14 -0
- package/templates/kdrama/src/content/blog/karaoke-night-in-photos.mdx +24 -0
- package/templates/kdrama/src/content/blog/vincenzo-recap.md +14 -0
- package/templates/kdrama/src/content/docs/handbook.mdx +127 -0
- package/templates/kdrama/src/content/docs/runbooks.mdx +57 -0
- package/templates/kdrama/src/content/events/attorney-woo-trivia.md +16 -0
- package/templates/kdrama/src/content/events/castaway-diva-finale.md +23 -0
- package/templates/kdrama/src/content/events/ost-karaoke.md +14 -0
- package/templates/kdrama/src/content/events/step-into-the-light.md +14 -0
- package/templates/kdrama/src/content/events/vincenzo-watch-party.md +19 -0
- package/templates/kdrama/src/content/organizers/hana.md +13 -0
- package/templates/kdrama/src/content/organizers/priya.md +13 -0
- package/templates/kdrama/src/content/organizers/volunteer.md +13 -0
- package/templates/kdrama/src/content/pages/about.mdx +21 -0
- package/templates/kdrama/src/content/pages/code-of-conduct.mdx +38 -0
- package/templates/kdrama/src/content/pages/get-involved.mdx +27 -0
- package/templates/kdrama/src/content/pages/speak.md +23 -0
- package/templates/kdrama/src/content/speakers/minji.md +9 -0
- package/templates/kdrama/src/content/venues/half-moon-cafe.md +11 -0
- package/templates/starter/popular.config.ts +228 -0
- package/templates/starter/public/images/hero.png +0 -0
- package/templates/starter/public/images/logo.png +0 -0
- package/templates/starter/public/images/organizer-1.png +0 -0
- package/templates/starter/public/images/post-1.png +0 -0
- package/templates/starter/src/content/authors/sam.md +7 -0
- package/templates/starter/src/content/blog/hello-world.md +12 -0
- package/templates/starter/src/content/docs/handbook.mdx +127 -0
- package/templates/starter/src/content/docs/runbooks.mdx +57 -0
- package/templates/starter/src/content/events/first-meetup.md +16 -0
- package/templates/starter/src/content/events/launch-night.md +20 -0
- package/templates/starter/src/content/organizers/sam.md +7 -0
- package/templates/starter/src/content/pages/about.mdx +22 -0
- package/templates/starter/src/content/pages/code-of-conduct.mdx +38 -0
- package/templates/starter/src/content/pages/get-involved.mdx +27 -0
- package/templates/starter/src/content/pages/speak.md +23 -0
- package/templates/starter/src/content/pages/start.md +25 -0
- package/templates/starter/src/content/speakers/alex.md +7 -0
- package/templates/starter/src/content/venues/community-hall.md +13 -0
- package/templates/superfan/popular.config.ts +235 -0
- package/templates/superfan/public/images/chart.svg +13 -0
- package/templates/superfan/public/images/concert.svg +12 -0
- package/templates/superfan/public/images/hero.svg +38 -0
- package/templates/superfan/public/images/logo.svg +6 -0
- package/templates/superfan/public/images/mic.svg +14 -0
- package/templates/superfan/public/images/news.svg +8 -0
- package/templates/superfan/public/images/riley.svg +9 -0
- package/templates/superfan/public/images/vinyl.svg +12 -0
- package/templates/superfan/src/content/authors/riley.md +7 -0
- package/templates/superfan/src/content/blog/concert-diary-lost-voice.md +14 -0
- package/templates/superfan/src/content/blog/every-era-ranked.md +14 -0
- package/templates/superfan/src/content/blog/new-vinyl-day.md +15 -0
- package/templates/superfan/src/content/blog/welcome-to-the-new-place.md +14 -0
- package/templates/superfan/src/content/docs/concert-prep.mdx +25 -0
- package/templates/superfan/src/content/docs/listening-guide.mdx +39 -0
- package/templates/superfan/src/content/events/fancon-panel.md +17 -0
- package/templates/superfan/src/content/events/podcast-b-sides-show.md +14 -0
- package/templates/superfan/src/content/organizers/.gitkeep +0 -0
- package/templates/superfan/src/content/pages/about.mdx +17 -0
- package/templates/superfan/src/content/pages/say-hi.mdx +23 -0
- package/templates/superfan/src/content/speakers/.gitkeep +0 -0
- package/templates/superfan/src/content/venues/.gitkeep +0 -0
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1600 900" role="img" aria-label="Gold stage lights over a concert crowd at night">
|
|
2
|
+
<rect width="1600" height="900" fill="#0A0E1A"/>
|
|
3
|
+
<g opacity="0.5">
|
|
4
|
+
<path d="M400,0 L200,900 L640,900 Z" fill="#C3A364" opacity="0.35"/>
|
|
5
|
+
<path d="M800,0 L620,900 L980,900 Z" fill="#F3E5AB" opacity="0.3"/>
|
|
6
|
+
<path d="M1200,0 L960,900 L1400,900 Z" fill="#C3A364" opacity="0.35"/>
|
|
7
|
+
</g>
|
|
8
|
+
<g fill="#0F1626">
|
|
9
|
+
<circle cx="200" cy="860" r="70"/><circle cx="360" cy="880" r="80"/><circle cx="540" cy="860" r="75"/><circle cx="720" cy="885" r="85"/><circle cx="900" cy="860" r="75"/><circle cx="1080" cy="880" r="80"/><circle cx="1260" cy="860" r="70"/><circle cx="1430" cy="885" r="80"/>
|
|
10
|
+
</g>
|
|
11
|
+
<g fill="#F3E5AB"><circle cx="300" cy="120" r="3"/><circle cx="700" cy="80" r="2.5"/><circle cx="1150" cy="130" r="3"/><circle cx="1450" cy="90" r="2"/></g>
|
|
12
|
+
</svg>
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1600 1200" role="img" aria-label="A gold record spinning in a midnight starfield">
|
|
2
|
+
<defs>
|
|
3
|
+
<radialGradient id="sky" cx="50%" cy="42%" r="75%">
|
|
4
|
+
<stop offset="0%" stop-color="#1B2A4A"/>
|
|
5
|
+
<stop offset="55%" stop-color="#121B2D"/>
|
|
6
|
+
<stop offset="100%" stop-color="#0A0E1A"/>
|
|
7
|
+
</radialGradient>
|
|
8
|
+
<radialGradient id="glow" cx="50%" cy="50%" r="50%">
|
|
9
|
+
<stop offset="0%" stop-color="#F3E5AB" stop-opacity="0.35"/>
|
|
10
|
+
<stop offset="100%" stop-color="#F3E5AB" stop-opacity="0"/>
|
|
11
|
+
</radialGradient>
|
|
12
|
+
</defs>
|
|
13
|
+
<rect width="1600" height="1200" fill="url(#sky)"/>
|
|
14
|
+
<g fill="#F3E5AB">
|
|
15
|
+
<circle cx="120" cy="140" r="4"/><circle cx="320" cy="90" r="2.5"/><circle cx="540" cy="200" r="3"/>
|
|
16
|
+
<circle cx="760" cy="80" r="2"/><circle cx="990" cy="160" r="3.5"/><circle cx="1240" cy="100" r="2.5"/>
|
|
17
|
+
<circle cx="1450" cy="210" r="4"/><circle cx="180" cy="420" r="2"/><circle cx="1380" cy="430" r="3"/>
|
|
18
|
+
<circle cx="90" cy="760" r="3"/><circle cx="1500" cy="720" r="2.5"/><circle cx="240" cy="1020" r="3.5"/>
|
|
19
|
+
<circle cx="640" cy="1100" r="2"/><circle cx="1060" cy="1080" r="3"/><circle cx="1360" cy="980" r="2.5"/>
|
|
20
|
+
<circle cx="440" cy="640" r="2"/><circle cx="1180" cy="620" r="2"/>
|
|
21
|
+
</g>
|
|
22
|
+
<g fill="#C3A364" opacity="0.9">
|
|
23
|
+
<path d="M240,260 l6,16 17,1 -13,11 5,17 -15,-10 -15,10 5,-17 -13,-11 17,-1 Z"/>
|
|
24
|
+
<path d="M1330,320 l6,16 17,1 -13,11 5,17 -15,-10 -15,10 5,-17 -13,-11 17,-1 Z"/>
|
|
25
|
+
<path d="M470,940 l6,16 17,1 -13,11 5,17 -15,-10 -15,10 5,-17 -13,-11 17,-1 Z"/>
|
|
26
|
+
<path d="M1210,880 l6,16 17,1 -13,11 5,17 -15,-10 -15,10 5,-17 -13,-11 17,-1 Z"/>
|
|
27
|
+
</g>
|
|
28
|
+
<path d="M1130,180 L1470,60" stroke="#F3E5AB" stroke-width="3" stroke-linecap="round" opacity="0.5"/>
|
|
29
|
+
<circle cx="800" cy="560" r="330" fill="url(#glow)"/>
|
|
30
|
+
<g>
|
|
31
|
+
<circle cx="800" cy="560" r="250" fill="#0F1626" stroke="#C3A364" stroke-width="10"/>
|
|
32
|
+
<circle cx="800" cy="560" r="205" fill="none" stroke="#C3A364" stroke-width="3" opacity="0.5"/>
|
|
33
|
+
<circle cx="800" cy="560" r="170" fill="none" stroke="#C3A364" stroke-width="3" opacity="0.35"/>
|
|
34
|
+
<circle cx="800" cy="560" r="135" fill="none" stroke="#C3A364" stroke-width="3" opacity="0.25"/>
|
|
35
|
+
<path fill="#F3E5AB" d="M800,462 L823.5,528 L893.5,529.9 L838.1,572.7 L857.8,640 L800,600.3 L742.2,640 L761.9,572.7 L706.5,529.9 L776.5,528 Z"/>
|
|
36
|
+
</g>
|
|
37
|
+
<text x="800" y="1105" text-anchor="middle" font-family="Georgia, 'Times New Roman', serif" font-size="44" fill="#C3A364" letter-spacing="14" opacity="0.85">TRULY · MADLY · DEEPLY</text>
|
|
38
|
+
</svg>
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" role="img" aria-label="Truly Madly Riley: gold star on a midnight record">
|
|
2
|
+
<rect width="512" height="512" rx="104" fill="#121B2D"/>
|
|
3
|
+
<circle cx="256" cy="256" r="170" fill="none" stroke="#C3A364" stroke-width="12" opacity="0.85"/>
|
|
4
|
+
<circle cx="256" cy="256" r="196" fill="none" stroke="#C3A364" stroke-width="4" opacity="0.4"/>
|
|
5
|
+
<path fill="#F3E5AB" d="M256,138 L284.2,217.2 L368.2,219.5 L301.7,270.8 L325.4,351.5 L256,304 L186.6,351.5 L210.3,270.8 L143.8,219.5 L227.8,217.2 Z"/>
|
|
6
|
+
</svg>
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1600 900" role="img" aria-label="A gold microphone with sound waves on a midnight background">
|
|
2
|
+
<rect width="1600" height="900" fill="#121B2D"/>
|
|
3
|
+
<g stroke="#C3A364" fill="none" stroke-width="6" opacity="0.6">
|
|
4
|
+
<path d="M1050,450 q60,-120 0,-240" transform="translate(0,240)"/>
|
|
5
|
+
<path d="M1130,510 q90,-180 0,-360" transform="translate(0,180)"/>
|
|
6
|
+
<path d="M550,450 q-60,-120 0,-240" transform="translate(0,240)"/>
|
|
7
|
+
<path d="M470,510 q-90,-180 0,-360" transform="translate(0,180)"/>
|
|
8
|
+
</g>
|
|
9
|
+
<rect x="770" y="470" width="60" height="180" rx="20" fill="#C3A364"/>
|
|
10
|
+
<rect x="720" y="230" width="160" height="280" rx="80" fill="#F3E5AB"/>
|
|
11
|
+
<g stroke="#121B2D" stroke-width="6"><path d="M740,300 h120"/><path d="M740,350 h120"/><path d="M740,400 h120"/></g>
|
|
12
|
+
<path d="M680,480 q120,110 240,0" stroke="#C3A364" stroke-width="10" fill="none"/>
|
|
13
|
+
<circle cx="300" cy="180" r="3" fill="#F3E5AB"/><circle cx="1320" cy="160" r="3.5" fill="#F3E5AB"/><circle cx="1240" cy="740" r="2.5" fill="#F3E5AB"/>
|
|
14
|
+
</svg>
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1600 900" role="img" aria-label="A constellation forming a star on a midnight sky">
|
|
2
|
+
<rect width="1600" height="900" fill="#0F1626"/>
|
|
3
|
+
<g fill="#F3E5AB"><circle cx="180" cy="160" r="4"/><circle cx="430" cy="90" r="2.5"/><circle cx="720" cy="200" r="3"/><circle cx="1030" cy="110" r="2"/><circle cx="1320" cy="180" r="3.5"/><circle cx="1480" cy="420" r="2.5"/><circle cx="150" cy="620" r="3"/><circle cx="520" cy="760" r="2"/><circle cx="1240" cy="720" r="3"/></g>
|
|
4
|
+
<g stroke="#C3A364" stroke-width="3" opacity="0.7">
|
|
5
|
+
<path d="M560,520 L800,300 L1040,520 L660,380 L940,380 Z" fill="none"/>
|
|
6
|
+
</g>
|
|
7
|
+
<g fill="#F3E5AB"><circle cx="560" cy="520" r="9"/><circle cx="800" cy="300" r="11"/><circle cx="1040" cy="520" r="9"/><circle cx="660" cy="380" r="8"/><circle cx="940" cy="380" r="8"/></g>
|
|
8
|
+
</svg>
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" role="img" aria-label="Portrait placeholder: a silhouette with a gold star, headphones on">
|
|
2
|
+
<rect width="512" height="512" fill="#121B2D"/>
|
|
3
|
+
<circle cx="256" cy="196" r="92" fill="#C3A364"/>
|
|
4
|
+
<path d="M110,470 q146,-150 292,0 Z" fill="#C3A364"/>
|
|
5
|
+
<path d="M164,180 a92,92 0 0 1 184,0" stroke="#F3E5AB" stroke-width="18" fill="none" stroke-linecap="round"/>
|
|
6
|
+
<rect x="146" y="168" width="26" height="56" rx="13" fill="#F3E5AB"/>
|
|
7
|
+
<rect x="340" y="168" width="26" height="56" rx="13" fill="#F3E5AB"/>
|
|
8
|
+
<path fill="#F3E5AB" d="M256,300 L264,322 L288,323 L269,338 L276,361 L256,347 L236,361 L243,338 L224,323 L248,322 Z"/>
|
|
9
|
+
</svg>
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1600 900" role="img" aria-label="A purple vinyl record with a gold label on a midnight background">
|
|
2
|
+
<rect width="1600" height="900" fill="#121B2D"/>
|
|
3
|
+
<circle cx="800" cy="450" r="360" fill="#2c1e4f"/>
|
|
4
|
+
<circle cx="800" cy="450" r="300" fill="none" stroke="#3b2a6b" stroke-width="6"/>
|
|
5
|
+
<circle cx="800" cy="450" r="240" fill="none" stroke="#3b2a6b" stroke-width="5"/>
|
|
6
|
+
<circle cx="800" cy="450" r="180" fill="none" stroke="#3b2a6b" stroke-width="4"/>
|
|
7
|
+
<circle cx="800" cy="450" r="118" fill="#C3A364"/>
|
|
8
|
+
<circle cx="800" cy="450" r="14" fill="#121B2D"/>
|
|
9
|
+
<path fill="#121B2D" d="M800,384 L815,426 L860,427 L825,455 L838,498 L800,473 L762,498 L775,455 L740,427 L785,426 Z"/>
|
|
10
|
+
<path d="M480,180 L440,140" stroke="#F3E5AB" stroke-width="3" stroke-linecap="round" opacity="0.6"/>
|
|
11
|
+
<circle cx="1290" cy="200" r="4" fill="#F3E5AB"/><circle cx="1390" cy="680" r="3" fill="#F3E5AB"/><circle cx="240" cy="700" r="3.5" fill="#F3E5AB"/>
|
|
12
|
+
</svg>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Riley Moon"
|
|
3
|
+
role: "Superfan in residence"
|
|
4
|
+
photo: "/images/riley.svg"
|
|
5
|
+
bio: "Fictional writer, vinyl collector and Darren Hayes superfan since 1997. Riley runs this site alone, which explains the publishing schedule."
|
|
6
|
+
website: "https://example.com"
|
|
7
|
+
---
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Concert diary: front row, lost voice"
|
|
3
|
+
date: 2026-05-22
|
|
4
|
+
authors: ["riley"]
|
|
5
|
+
description: "Two flights, one queue that started at dawn, zero regrets."
|
|
6
|
+
image: "/images/concert.svg"
|
|
7
|
+
tags: ["concert-diary"]
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
Queue at dawn, barrier by noon, glorious by nine.
|
|
11
|
+
|
|
12
|
+
I have attended twenty-seven of these and I still cried during the acoustic bridge. The person next to me, a first-timer, cried harder, which felt like passing a torch.
|
|
13
|
+
|
|
14
|
+
Voice status: gone. Worth it: entirely. The setlist is transcribed in my notes and will be argued about in a future essay.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Ranked: every era, definitively, again"
|
|
3
|
+
date: 2026-06-14
|
|
4
|
+
authors: ["riley"]
|
|
5
|
+
description: "The annual re-ranking nobody requested and everybody secretly wanted."
|
|
6
|
+
image: "/images/chart.svg"
|
|
7
|
+
tags: ["essays"]
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
Once a year I rank every era of the discography, and once a year the ranking changes, which either undermines the word "definitively" or proves the catalogue keeps growing on me. I choose the second reading.
|
|
11
|
+
|
|
12
|
+
This year's controversial move: the self-titled era climbs two spots on the strength of the deep cuts alone. The comments section of my inbox is open.
|
|
13
|
+
|
|
14
|
+
If you're new here and want to catch up before disagreeing with me, the [listening guide](/listening-guide/) will walk you through every era in order, with checkboxes.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "New vinyl day: purple wax edition"
|
|
3
|
+
date: 2026-04-18
|
|
4
|
+
authors: ["riley"]
|
|
5
|
+
description: "The collection grows by one very purple record, and the shelf audibly groans."
|
|
6
|
+
image: "/images/vinyl.svg"
|
|
7
|
+
tags: ["collection", "site-news"]
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
It arrived. It is purple. It is perfect.
|
|
11
|
+
|
|
12
|
+

|
|
13
|
+
*First spin, phone on airplane mode, door locked. Some rituals are non-negotiable.*
|
|
14
|
+
|
|
15
|
+
The shelf is now officially at capacity, which past me said three shelves ago. Full collection notes are in the [listening guide](/listening-guide/), and yes, the guide's checklist now has a new box to tick.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Site news: welcome to the new place"
|
|
3
|
+
date: 2026-03-02
|
|
4
|
+
authors: ["riley"]
|
|
5
|
+
description: "The blog has a new home. Same obsessions, better typography."
|
|
6
|
+
image: "/images/news.svg"
|
|
7
|
+
tags: ["site-news"]
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
After a decade of scattered posts across three platforms and one abandoned forum signature, everything now lives here.
|
|
11
|
+
|
|
12
|
+
The plan: news updates when something happens, concert diaries when I travel, and essays when the mood strikes. The listening guide has its own page, with checkboxes, because I know how you people are.
|
|
13
|
+
|
|
14
|
+
Subscribe by RSS if you want the news the moment a purple vinyl arrives.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
weight: 20
|
|
3
|
+
title: "Concert Prep Runbook"
|
|
4
|
+
eyebrow: "Concert prep"
|
|
5
|
+
lead: "The checklist I run before every show, refined over twenty-seven concerts and exactly one forgotten ticket incident. Progress saves in your browser."
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
import Callout from 'astro-theme-popular/components/Callout.astro';
|
|
9
|
+
import Checklist from 'astro-theme-popular/components/Checklist.astro';
|
|
10
|
+
|
|
11
|
+
## The week before
|
|
12
|
+
|
|
13
|
+
<Checklist id="cp-week" items={["Confirm the ticket is in the app, then screenshot it anyway.","Relisten to the last two albums, openers lean on them.","Check the venue's bag policy and plan the smallest possible bag.","Arrange the day off after. You will not be functional."]} />
|
|
14
|
+
|
|
15
|
+
## The day of
|
|
16
|
+
|
|
17
|
+
<Checklist id="cp-dayof" items={["Charge the phone to 100% and pack a power bank.","Hydrate like an athlete, queue like a professional.","Make one queue friend, concerts are a community sport.","Set the phone to airplane mode during the acoustic numbers, be present."]} />
|
|
18
|
+
|
|
19
|
+
<Callout tone="warn" title="The one forgotten ticket incident">
|
|
20
|
+
It was 2019. The box office was kind. The lesson is item one, and it is not optional.
|
|
21
|
+
</Callout>
|
|
22
|
+
|
|
23
|
+
## After
|
|
24
|
+
|
|
25
|
+
<Checklist id="cp-after" items={["Transcribe the setlist before sleep, memory is a liar.","Back up the photos and pick three for the concert diary.","Write the diary post within a week, feelings have a half-life.","Start monitoring tour rumours for the next one."]} />
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
---
|
|
2
|
+
weight: 10
|
|
3
|
+
title: "The Listening Guide"
|
|
4
|
+
eyebrow: "Listening guide"
|
|
5
|
+
lead: "Every era in order, from the debut to the latest, with a persistent checklist so you can work through the catalogue at your own pace. Your progress is saved in your browser."
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
import Callout from 'astro-theme-popular/components/Callout.astro';
|
|
9
|
+
import Checklist from 'astro-theme-popular/components/Checklist.astro';
|
|
10
|
+
|
|
11
|
+
## How to use this guide
|
|
12
|
+
|
|
13
|
+
Work top to bottom, one era at a time, and tick things off as you go. The boxes remember your progress, so you can disappear for a month and pick up where you left off.
|
|
14
|
+
|
|
15
|
+
<Callout tone="tip" title="The only rule">
|
|
16
|
+
No skipping to the hits. The album tracks are where the real ones live.
|
|
17
|
+
</Callout>
|
|
18
|
+
|
|
19
|
+
## Era one: the duo years
|
|
20
|
+
|
|
21
|
+
Start where the mixtapes started. Two albums, an unreasonable number of singles, and the b-sides that started this whole site.
|
|
22
|
+
|
|
23
|
+
<Checklist id="lg-duo" items={["Listen to the debut album front to back, no shuffle.","Listen to Affirmation front to back, ideally on a road trip.","Find your favourite non-single album track and defend it to a friend.","Watch one live performance from the era and note the wardrobe."]} />
|
|
24
|
+
|
|
25
|
+
## Era two: going solo
|
|
26
|
+
|
|
27
|
+
The reinvention records. Braver, stranger, and the reason the word "underrated" appears forty-one times on this blog.
|
|
28
|
+
|
|
29
|
+
<Checklist id="lg-solo" items={["Listen to the first solo record in one sitting.","Listen to the electronic one with headphones, in the dark, as intended.","Pick a b-side from this era for your own mixtape.","Read one contemporary review and get retroactively annoyed at it."]} />
|
|
30
|
+
|
|
31
|
+
## Era three: the return
|
|
32
|
+
|
|
33
|
+
The later records, made on nobody's schedule but his own. Start here if you want to hear an artist entirely at ease.
|
|
34
|
+
|
|
35
|
+
<Checklist id="lg-return" items={["Listen to the comeback record twice, it opens up on the second pass.","Rank your top five tracks across all eras and email them to me.","Attend a show, or watch a full concert film, and report back."]} />
|
|
36
|
+
|
|
37
|
+
<Callout tone="info" title="Done with all three?">
|
|
38
|
+
Congratulations, you are now legally obliged to have opinions about track sequencing. The [news feed](/blog/) will keep you supplied with fresh arguments.
|
|
39
|
+
</Callout>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "FanCon panel: two decades of Affirmation"
|
|
3
|
+
date: 2026-09-19
|
|
4
|
+
description: "A panel on the album that soundtracked a generation of mixtapes, with fellow superfans and at least one overhead projector."
|
|
5
|
+
image: "/images/concert.svg"
|
|
6
|
+
tags: ["panel"]
|
|
7
|
+
time: "2:00 PM – 3:00 PM"
|
|
8
|
+
venue: "FanCon (a fictional convention)"
|
|
9
|
+
address: "Hall B, 500 Imaginary Blvd"
|
|
10
|
+
speaker: "Panel, with Q&A and a singalong risk"
|
|
11
|
+
checkin: "Bring your FanCon badge and photo ID for the panel-hall queue."
|
|
12
|
+
rsvp: "https://example.com/fancon"
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
An hour on Affirmation: the writing, the b-sides, and why it still soundtracks every road trip I plan. Bring your hot takes; I'm bringing slides.
|
|
16
|
+
|
|
17
|
+
This one shows how a personal site can use the events section for an influencer's calendar: future gigs appear under Upcoming appearances and move to Past appearances automatically.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Podcast guest: The B-Sides Show"
|
|
3
|
+
date: 2026-04-10
|
|
4
|
+
description: "Ninety minutes defending my favourite b-sides on a fictional podcast, recorded live."
|
|
5
|
+
image: "/images/mic.svg"
|
|
6
|
+
tags: ["podcast"]
|
|
7
|
+
time: "7:00 PM"
|
|
8
|
+
venue: "The B-Sides Show (a fictional podcast)"
|
|
9
|
+
address: "Recorded remotely"
|
|
10
|
+
speaker: "Guest episode"
|
|
11
|
+
rsvp: "https://example.com/podcast"
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
Ninety minutes on the songs that never made the singles chart and deserved better. The host and I agreed on almost nothing, which made for excellent radio.
|
|
File without changes
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "About Riley"
|
|
3
|
+
eyebrow: "About"
|
|
4
|
+
lead: "One person, one discography, one website."
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
import Callout from 'astro-theme-popular/components/Callout.astro';
|
|
8
|
+
|
|
9
|
+
Hi. I'm Riley Moon: writer, vinyl collector, karaoke over-preparer, and a Darren Hayes superfan since a friend's older sister taped Affirmation for me in 1997. By day I have a perfectly normal job; by night I maintain a spreadsheet of b-sides with a tab called "feelings".
|
|
10
|
+
|
|
11
|
+
This site is where the fandom lives: news updates when something arrives in the mail, concert diaries when I travel, essays when the annual re-ranking urge strikes, and a [listening guide](/listening-guide/) for anyone who wants in.
|
|
12
|
+
|
|
13
|
+
I also do the occasional [panel or podcast](/events/) about fandom, nostalgia and pop history. If you run one, my inbox is open.
|
|
14
|
+
|
|
15
|
+
<Callout tone="info" title="This is an Astro demo site">
|
|
16
|
+
Riley is a fictional person, made up to demonstrate the **Popular** Astro theme running a personal site instead of a community site. The blog is a news feed, the events section holds appearances, and there is no organizers page because it's just Riley here. Replace this content with your own.
|
|
17
|
+
</Callout>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Say hi"
|
|
3
|
+
eyebrow: "Say hi"
|
|
4
|
+
lead: "Invitations, corrections, vinyl trades and b-side arguments all welcome."
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Invite me to speak
|
|
8
|
+
|
|
9
|
+
Panels, podcasts, meetups, classrooms: if it involves a microphone and permission to talk about pop history, I'm interested. See [past appearances](/events/) for the sort of thing I do.
|
|
10
|
+
|
|
11
|
+
<a class="g-btn g-btn--primary" href="mailto:hello@example.com?subject=Speaking%20invitation"><i class="fa-solid fa-microphone-lines" aria-hidden="true"></i> Invite me</a>
|
|
12
|
+
|
|
13
|
+
## Trade vinyl
|
|
14
|
+
|
|
15
|
+
I keep a list of doubles and a longer list of wants. Serious inquiries and dangerous enablers only.
|
|
16
|
+
|
|
17
|
+
<a class="g-btn g-btn--outline" href="mailto:hello@example.com?subject=Vinyl%20trade"><i class="fa-solid fa-record-vinyl" aria-hidden="true"></i> Start a trade</a>
|
|
18
|
+
|
|
19
|
+
## Just say hi
|
|
20
|
+
|
|
21
|
+
Favourite b-side, track-sequencing grievance, or a photo of your own shelf. All excellent reasons to write.
|
|
22
|
+
|
|
23
|
+
<a class="g-btn g-btn--outline" href="mailto:hello@example.com"><i class="fa-solid fa-envelope" aria-hidden="true"></i> Email Riley</a>
|
|
File without changes
|
|
File without changes
|