Check out today's album at nowplaying.quest!
-
Make a copy of the example
.envfile and configure the environment variables. OnlySITE_URLis required for the site to function, the rest are for the album scripts described below.cp .env.example .env -
Install dependencies
npm i -
Start the hot-reloading local web server
npm run dev -
The site should now be available at localhost:8080
To pick a new album for a given date:
DATE=2025-07-01 npm run pick-album
# or
node scripts/pick-album.js 2025-07-01This writes a new JSON file to data/album-of-the-day/YYYY-MM-DD.json and updates data/history.csv.
To enrich the picked album with metadata and streaming links:
DATE=2025-07-01 npm run enrich-album
# or
node scripts/enrich-album.js data/album-of-the-day/2025-07-01.jsonThis updates the JSON file in data/album-of-the-day/ with additional fields (cover art, genres, streaming links, etc).
To download and optimize the cover art for a given album:
DATE=2025-07-01 npm run download-cover-art
# or
node scripts/download-cover-art.js data/album-of-the-day/2025-07-01.jsonThis saves a WebP image (480x480px, max 200 KB) alongside the JSON file in data/album-of-the-day/.
To generate a Open Graph image for a given album JSON:
DATE=2025-07-01 npm run generate-og-image
# or
node scripts/generate-og-image.js data/album-of-the-day/2025-07-01.jsonThis saves a PNG image (600x315px) alongside the JSON file in data/album-of-the-day/.
DATE=2025-07-01 npm run automate-albumTo manually choose an album for a day, add it to data/history.csv and run the automation normally.
To run all script tests:
npm testThis will run the picker, enrichment, and cover art script tests. Tests are run automatically in CI for every change to the scripts.
