Album: Download im Profil — zwei ZIPs (DE+EN) mit Cover, ID3-Tags, Liner Notes (v1302)
- Profil-Karte "Ban Yaro — das Album" in settings.js mit Cover-Thumbnail +
zwei Download-Buttons (Deutsch/English), rein deklarativ (CSP-safe)
- /downloads StaticFiles-Mount in main.py (makedirs-Schutz); ZIPs matchen
keine SW-Cache-Regel -> fluten den Cache nicht
- backend/static/downloads/ban-yaro-album-{de,en}.zip: je 7 MP3s mit ID3-Tags
+ eingebettetem Cover, cover.jpg, LIESMICH.txt/README.txt (Tracklist + Lizenz)
- Cover aus Fruehling-Playdate-Foto (quadr. Crop + Wortmarke), DE/EN-Variante;
textfreies album-thumb.jpg fuer die Karte
- Reproduzierbar: make album (tools/album-build/build.sh + Liner-Notes)
- LIVE auf Prod + Staging v1302
This commit is contained in:
parent
aea489aa5a
commit
1a03cab5dd
15 changed files with 213 additions and 18 deletions
|
|
@ -86,14 +86,14 @@
|
|||
<title>Ban Yaro</title>
|
||||
|
||||
<!-- Theme + theme-color Statusleiste vor CSS setzen -->
|
||||
<script src="/js/boot-early.js?v=1301"></script>
|
||||
<script src="/js/boot-early.js?v=1302"></script>
|
||||
|
||||
<!-- CSS: Reihenfolge ist wichtig — ?v= zwingt Browser zur Neuladung -->
|
||||
<link rel="stylesheet" href="/css/design-system.css?v=1301">
|
||||
<link rel="stylesheet" href="/css/layout.css?v=1301">
|
||||
<link rel="stylesheet" href="/css/components.css?v=1301">
|
||||
<link rel="stylesheet" href="/css/utilities.css?v=1301">
|
||||
<link rel="stylesheet" href="/css/lists.css?v=1301">
|
||||
<link rel="stylesheet" href="/css/design-system.css?v=1302">
|
||||
<link rel="stylesheet" href="/css/layout.css?v=1302">
|
||||
<link rel="stylesheet" href="/css/components.css?v=1302">
|
||||
<link rel="stylesheet" href="/css/utilities.css?v=1302">
|
||||
<link rel="stylesheet" href="/css/lists.css?v=1302">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
|
@ -624,12 +624,12 @@
|
|||
<div id="modal-container"></div>
|
||||
|
||||
<!-- JS: Reihenfolge ist wichtig — erst Basis, dann Features -->
|
||||
<script src="/js/api.js?v=1301"></script>
|
||||
<script src="/js/ui.js?v=1301"></script>
|
||||
<script src="/js/app.js?v=1301"></script>
|
||||
<script src="/js/worlds.js?v=1301"></script>
|
||||
<script src="/js/offline-indicator.js?v=1301"></script>
|
||||
<script src="/js/contact-form.js?v=1301"></script>
|
||||
<script src="/js/api.js?v=1302"></script>
|
||||
<script src="/js/ui.js?v=1302"></script>
|
||||
<script src="/js/app.js?v=1302"></script>
|
||||
<script src="/js/worlds.js?v=1302"></script>
|
||||
<script src="/js/offline-indicator.js?v=1302"></script>
|
||||
<script src="/js/contact-form.js?v=1302"></script>
|
||||
|
||||
<!-- Feature-Seiten werden lazy geladen -->
|
||||
|
||||
|
|
@ -639,7 +639,7 @@
|
|||
|
||||
|
||||
<!-- Boot: Offline-Banner + SW-Registration (extrahiert für CSP) -->
|
||||
<script src="/js/boot.js?v=1301"></script>
|
||||
<script src="/js/boot.js?v=1302"></script>
|
||||
|
||||
|
||||
</body>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue