A sonic portal to a curated selection of cosmic jazz albums. This site features detailed information about each album, including the musicians involved, production credits, track lists, and embedded YouTube Music players.
The site is hosted on GitHub Pages: https://jake-g.github.io/jazzfuzz/
- Curated Catalog: A list of favorite jazz albums with cover art, release details, track lists, and personnel details.
- Dynamic Sorting: Sort albums dynamically by artist or release year.
- Collapsible Details: Expand/collapse album metadata and descriptions.
- Fast Playback: Uses the lightweight
<lite-youtube>component to load YouTube players on-demand.
When adding new album reviews to index.html:
- Formatting: Follow the structured layout defined in template.html.
- Chronological Sorting: Albums must be ordered in newest-to-oldest (reverse chronological) order based on their original release date. Please place new reviews in their correct position in
index.html. - Glossary: Run
make export-tsvto update the album index glossary.
A Makefile is provided in the root directory to automate common development and maintenance tasks:
-
Start Local Server:
make server
Runs the local development server at
http://localhost:3001with CORS enabled (defined inline). -
Match Albums on YouTube Music:
make match-albums
Runs the matching utility
maintenance.py matchto search for playlist matches. Requires a localoauth.jsonfor YouTube Music authentication. -
Validate YouTube Links:
make test-links
Scans all YouTube playlist and video IDs in
index.htmland checks their validity using the public YouTube OEmbed API. -
Benchmark Poster Loading Times:
make benchmark
Measures and compares the total download size and download speed for high-resolution (
maxresdefault) vs standard (hqdefault) poster images for all album frames. -
Export Album TSV Glossary:
make export-tsv
Extracts all albums and metadata from
index.htmland generates a clean TSV glossary atalbums_glossary.tsv. -
Run Tests:
make testRuns python unit tests located in
maintenance_test.py. -
Code Formatting:
make format
Applies style formatting (
black) to python utilities, and trims trailing whitespaces from HTML, JS, and CSS files safely. -
Clean Cache:
make clean
Removes Python bytecode caches (
__pycache__and.pycfiles).
- Pre-commit Hooks: Set up to automatically check for trailing whitespace, fix end of files, validate YAML files, and block large file commits.
- GitHub Actions (CI Pipeline): Automatically runs on pushes and PRs to
mainbranch to check Python code formatting usingblack, ensure that scripts compile, and run the unit tests.