Website: download all zip (built in Docker), duration, tab title

Zip generated at Docker build time — not checked into git.
Album duration shown (83:58). Browser tab shows now playing.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-04 08:29:40 -04:00
parent f9d45dcde9
commit cc56d075ee
2 changed files with 6 additions and 1 deletions
+1
View File
@@ -1,3 +1,4 @@
FROM nginx:alpine
COPY site/ /usr/share/nginx/html/
RUN cd /usr/share/nginx/html/mp3s && zip -0 ../interpretations-full-album.zip *.mp3
EXPOSE 80
+5 -1
View File
@@ -358,7 +358,7 @@
<img src="cover.png" alt="Interpretations" class="cover">
<div class="album-title">Interpretations</div>
<div class="artist">Infinite State</div>
<div class="album-info">24 tracks · Written in Python · Generated from code</div>
<div class="album-info">24 tracks · 83:58 · Written in Python · Generated from code</div>
<div class="streaming-links" id="streaming-links">
<!-- Uncomment as links go live
<a href="#" class="stream-btn">Spotify</a>
@@ -367,6 +367,7 @@
<a href="#" class="stream-btn">YouTube Music</a>
-->
<a href="https://github.com/kennethreitz/interpretations" class="stream-btn">GitHub</a>
<a href="interpretations-full-album.zip" class="stream-btn" download>Download All (320 CBR MP3)</a>
</div>
</div>
@@ -538,6 +539,7 @@ function playTrack(index) {
document.getElementById('player').style.display = 'flex';
document.getElementById('player-title').textContent = t.title;
document.getElementById('play-btn').textContent = '⏸';
document.title = `${t.title} — Interpretations`;
}
function togglePlay() {
@@ -546,10 +548,12 @@ function togglePlay() {
audio.pause();
isPlaying = false;
document.getElementById('play-btn').textContent = '▶';
document.title = `${TRACKS[currentTrack].title} — Interpretations`;
} else {
audio.play();
isPlaying = true;
document.getElementById('play-btn').textContent = '⏸';
document.title = `${TRACKS[currentTrack].title} — Interpretations`;
}
}