mirror of
https://github.com/skoelle/28k8-moonweb-org.git
synced 2026-09-17 18:30:24 +00:00
update documentation
This commit is contained in:
@@ -16,6 +16,9 @@ jobs:
|
||||
cache: npm
|
||||
|
||||
- run: npm ci
|
||||
# prebuild.sh wird bewusst übersprungen — die JSON-Daten in src/data/
|
||||
# wurden lokal generiert und ins Repo committed. Nur lokales `npm run build`
|
||||
# führt prebuild.sh aus.
|
||||
- run: npx astro build
|
||||
|
||||
- uses: actions/upload-artifact@v4
|
||||
|
||||
@@ -138,6 +138,11 @@ npm run preview # → lokaler Production-Server
|
||||
|
||||
`prebuild.sh` lädt vor jedem Build externe Daten (JSON) und schreibt sie nach `src/data/`. Die JSON wird committed, der Build hängt nicht vom externen Server ab.
|
||||
|
||||
**Wichtig:** `prebuild.sh` wird nur lokal ausgeführt, wenn sich externe Daten
|
||||
ändern. Das Ergebnis (JSON-Dateien in `src/data/`) wird ins Repo committed.
|
||||
In der CI/CD (`deploy.yml`) wird `npx astro build` direkt aufgerufen — das
|
||||
überspringt `prebuild.sh` bewusst, da die JSON-Daten bereits im Repo liegen.
|
||||
|
||||
```bash
|
||||
./prebuild.sh # alle Stages
|
||||
./prebuild.sh mods # nur MOD-Metadaten
|
||||
|
||||
@@ -1,34 +1,36 @@
|
||||
# PLAN.md - Implementation Roadmap (v2)
|
||||
# PLAN.md - Implementation Roadmap
|
||||
|
||||
## Phase 0 - Scaffold (v1, done) + Phase 0.5 - v2 fixes (done in this drop)
|
||||
## Phase 0 - Scaffold + v2 Fixes (done)
|
||||
- [x] Fix: ANSI banner renders (AnsiArt.astro + ansiArt.ts)
|
||||
- [x] Fix: Disconnect clears state (NavBar.astro)
|
||||
- [x] Fix: SkyLINE blue accent visible + real header PNG
|
||||
- [x] 10 boxed ASCII banners w/ dithering bars, 8 gallery patterns, 9 net-boxes
|
||||
- [x] Tropic DREAMs (4 real), SkyLINE (+3), Kosmos Design (7 new), ESPRIT (4 new)
|
||||
- [x] MOD Files placeholder tracklist + visual player widget
|
||||
- [x] MOD Files tracklist + visual player widget
|
||||
- [x] PHOB!A / Tr@nceMISSION teaser text, favicon.ico + og-image.png
|
||||
|
||||
## Phase 1 - Make it actually run
|
||||
- [ ] npm install, npm run dev, npm run build && npm run preview
|
||||
- [ ] Modem-Intro-Audio-Clips bereitstellen: public/audio/dial-tone.mp3, dtmf-beeps.mp3, modem-handshake.mp3
|
||||
## Phase 1 - Build & Infrastructure (done)
|
||||
- [x] npm install, npm run dev, npm run build && npm run preview
|
||||
- [x] Modem-Intro-Audio-Clips in public/audio/
|
||||
- [x] Pre-Build System (fetch_mods.py, prebuild.sh)
|
||||
- [x] CP437 Webfont (Px437 IBM VGA 8x16, WOFF2+TTF)
|
||||
|
||||
## Phase 2 - Real ANSI rendering
|
||||
- [ ] Feed real .ans files (via OpenCode) into source-assets/ansi/
|
||||
- [ ] Self-host CP437 webfont under public/fonts/
|
||||
## Phase 2 - Real ANSI-Art (offen)
|
||||
- [ ] Echte .ans Dateien aus den 90ern besorgen
|
||||
- [ ] 8 Filler-Patterns durch echte gescannte/analysierte .ans ersetzen
|
||||
|
||||
## Phase 3 - Navigation polish
|
||||
- [ ] /bbs/atari/ etc. as mobile anchors to /bbs/#atari
|
||||
- [ ] Astro View Transitions, subtle text-build-in stutter effect
|
||||
## Phase 3-5 - Content & Visual (fast fertig)
|
||||
- [x] Tr@nceMISSION, Kosmos Design, ESPRIT, SkyLINE Releases fertig
|
||||
- [ ] Kosmos Design - outside-sbr.md: Placeholder bereinigen
|
||||
|
||||
## Phase 4-5 - Visual + Content
|
||||
- [ ] Replace filler gallery patterns with real scanned ANSI art
|
||||
- [ ] Replace placeholder releases with real ones, write real Impressum text
|
||||
## Phase 6 - MOD Player (fertig)
|
||||
- [x] chiptune3.js (libopenmpt AudioWorklet) eingebunden
|
||||
- [x] ModPlayer.tsx mit Playlist
|
||||
- [x] Echte .mod Dateien werden von moonweb.org gestreamt
|
||||
|
||||
## Phase 6 - Amiga MOD player
|
||||
- [ ] Real WASM MOD player (libopenmpt.js/chiptune3.js), real .mod files
|
||||
|
||||
## Phase 7-8 - Infra & Launch
|
||||
- [ ] files.moonweb.org, public GitHub repo + Cloudflare Pages
|
||||
- [ ] sitemap.xml/robots.txt, full click-through incl. regression test of
|
||||
the two v1 bugs (banner visibility + Disconnect)
|
||||
## Phase 7-8 - Infra & Launch (fertig)
|
||||
- [x] www.moonweb.org/files/ als Asset-Hosting (Dateien liegen dort)
|
||||
- [x] GitHub-Repo + Cloudflare Pages Deploy funktioniert
|
||||
- [x] sitemap.xml / robots.txt
|
||||
- [x] <title> und <meta description> pro Seite geprüft
|
||||
- [x] Legal Notice fertig
|
||||
|
||||
@@ -29,6 +29,32 @@ npm run preview # serve the production build locally
|
||||
Cloudflare Pages, connected directly to this repo. Build command
|
||||
`npm run build`, output directory `dist`.
|
||||
|
||||
## Pre-Build System
|
||||
|
||||
Das Pre-Build-System lädt vor jedem Build externe Daten (JSON) und schreibt
|
||||
sie nach `src/data/`. Die JSON wird committed, sodass der Build nicht von
|
||||
externen Servern abhängt.
|
||||
|
||||
```bash
|
||||
./prebuild.sh # alle Stages
|
||||
./prebuild.sh mods # nur MOD-Metadaten
|
||||
```
|
||||
|
||||
**Wichtig:** `prebuild.sh` wird nur lokal ausgeführt, wenn sich externe Daten
|
||||
ändern. Das Ergebnis (JSON-Dateien in `src/data/`) wird ins Repo committed.
|
||||
In der CI/CD (`deploy.yml`) wird `npx astro build` direkt aufgerufen — das
|
||||
überspringt `prebuild.sh` bewusst, da die JSON-Daten bereits im Repo liegen.
|
||||
|
||||
Aktive Stages:
|
||||
| Stage | Script | Output | Beschreibung |
|
||||
|---|---|---|---|
|
||||
| `mods` | `tools/fetch_mods.py` | `src/data/mods.json` | MOD-Metadaten von moonweb.org |
|
||||
|
||||
Neuen Stage hinzufügen:
|
||||
1. `tools/fetch_<name>.py` erstellen (Output: `src/data/<name>.json`)
|
||||
2. Case-Block in `prebuild.sh` ergänzen
|
||||
3. `npm run build` ruft automatisch `prebuild.sh` auf
|
||||
|
||||
## WelcomeBanner (Startseite)
|
||||
|
||||
Das "THE TEMPLE BBS"-Logo auf der Startseite wird als CP437-Text mit
|
||||
|
||||
@@ -1,37 +1,56 @@
|
||||
# SPEC.md - 28k8.moonweb.org Technical Specification (v2)
|
||||
# SPEC.md - 28k8.moonweb.org Technical Specification
|
||||
|
||||
## v2 changes (bug fixes + requested improvements)
|
||||
1. Fixed: ANSI banner not visible - v1 only showed a placeholder <pre> comment.
|
||||
Now rendered via src/components/AnsiArt.astro + src/lib/ansiArt.ts (precomputed
|
||||
colored HTML via set:html, zero JS required).
|
||||
2. Fixed: Disconnect not working - v1's mouse link never cleared localStorage,
|
||||
so '/' bounced straight back to '/bbs/'. Fixed in src/components/NavBar.astro
|
||||
via a plain onclick attribute that clears state before navigating.
|
||||
3. More content: Tropic DREAMs (4 real releases), SkyLINE (+3), Kosmos Design
|
||||
(7, new collection), ESPRIT (4, new collection), MOD Files tracklist, BBS
|
||||
ANSI Art gallery (8 filler patterns), PHOB!A/Tr@nceMISSION teaser text.
|
||||
4. More period ASCII art + gradients: 10 full boxed banners (5x7 bitmap font)
|
||||
each with a dithering gradient bar, plus 9 net-list boxes transcribed
|
||||
verbatim from the original reference screenshots (Fidonet/Nodelist page).
|
||||
5. SkyLINE blue accent strengthened (headings/tiles/diz-box/nav-bar) + a real
|
||||
generated header PNG (public/images/skyline-header.png).
|
||||
## Architecture
|
||||
- **Framework:** Astro 4.15+ mit React-Islands
|
||||
- **Rendering:** Vollständig statisch (SSG), jede Route zur Build-Zeit vorgerendert
|
||||
- **Hosting:** Cloudflare Pages
|
||||
- **DNS:** Cloudflare
|
||||
|
||||
## Repository layout delta
|
||||
src/lib/ansiArt.ts, src/components/AnsiArt.astro, src/components/NavBar.astro,
|
||||
tools/generate_ansi.py, public/images/skyline-header.png, public/favicon.ico,
|
||||
public/og-image.png, src/content/kosmos-design/*.md, src/content/esprit/*.md
|
||||
## Repository Layout
|
||||
```
|
||||
src/
|
||||
├── pages/ # Astro-Routing (eine Datei = eine URL)
|
||||
├── components/ # Astro-Components + React-Islands
|
||||
├── content/ # Markdown+Frontmatter für Releases
|
||||
├── data/ # Pre-Build JSON (mods.json)
|
||||
├── lib/ # ansiArt.ts, keymap.ts, sound.ts
|
||||
└── styles/ # global.css
|
||||
public/
|
||||
├── audio/ # Modem-Intro Sounds
|
||||
├── js/ # chiptune3.js + WASM Worker
|
||||
├── fonts/ # CP437 Webfont
|
||||
└── images/ # skyline-header.png, og-image.png
|
||||
tools/ # Pre-Build Scripts (Python)
|
||||
```
|
||||
|
||||
## AnsiArt contract
|
||||
BANNER_<NAME> / ANSI_GALLERY / BOX_<NAME> exports, HTML with CSS classes
|
||||
c-border-red, c-main-red, c-shadow-red, c-border-blue, c-main-blue,
|
||||
c-shadow-blue, c-white, c-grey, c-pink, c-cyan (all in global.css).
|
||||
Render via <AnsiArt html={BANNER_X} />.
|
||||
## AnsiArt Contract
|
||||
- BANNER_<NAME> / ANSI_GALLERY / BOX_<NAME> als HTML-Exporte in ansiArt.ts
|
||||
- CSS-Klassen: c-border-red, c-main-red, c-shadow-red, c-border-blue, c-main-blue,
|
||||
c-shadow-blue, c-white, c-grey, c-pink, c-cyan (alle in global.css)
|
||||
- Rendering via `<AnsiArt html={BANNER_X} />` (zero JS, set:html)
|
||||
|
||||
## NavBar contract
|
||||
optional [B] Back (history.back()), always [Q] Disconnect
|
||||
(clears localStorage.hasConnected via onclick, then navigates to /),
|
||||
optional [I] Impressum & Privacy. Use everywhere instead of ad-hoc links.
|
||||
## NavBar Contract
|
||||
- [B] Back (history.back()), [Q] Disconnect (clears localStorage.hasConnected),
|
||||
[I] Legal Notice. Überall statt ad-hoc Links verwenden.
|
||||
|
||||
## Everything else
|
||||
Routing table, design tokens, local dev workflow (npm run dev/build/preview),
|
||||
deployment (Cloudflare Pages) - unchanged from v1. See PRD.md and PLAN.md.
|
||||
## Pre-Build System
|
||||
- `prebuild.sh` wird nur lokal ausgeführt, wenn sich externe Daten ändern
|
||||
- Ergebnis (JSON in src/data/) wird ins Repo committed
|
||||
- CI/CD (`deploy.yml`) ruft `npx astro build` direkt auf (überspringt prebuild.sh bewusst)
|
||||
|
||||
## Design Tokens
|
||||
- DOS 16-Farben-Palette, Hintergrund Schwarz
|
||||
- CP437-Font für ANSI-Art, IBM Plex Mono für Fließtext
|
||||
- Fix 80 Zeichen breit, vertikal scrollbar
|
||||
- SkyLINE: einzige Seite mit Blau-Akzent (sonst immer Rot)
|
||||
|
||||
## Routing
|
||||
| URL | Seite |
|
||||
|---|---|
|
||||
| `/` | Modem-Intro (→ /bbs/ wenn localStorage.hasConnected) |
|
||||
| `/bbs/` | Hauptmenü (2×2-Kachel-Raster) |
|
||||
| `/bbs/pc/*` | PHOB!A, Tr@nceMISSION, SkyLINE, Kosmos Design |
|
||||
| `/bbs/atari/*` | Tropic DREAMs |
|
||||
| `/bbs/amiga/*` | ESPRIT, MOD Files |
|
||||
| `/bbs/fido/*` | BBS ANSI Art, Fidonets & Nodelists |
|
||||
| `/bbs/legal-notice` | Legal Notice |
|
||||
|
||||
@@ -1,155 +1,79 @@
|
||||
# TODO.md - Offene Aufgaben & Workflow
|
||||
# TODO.md - Offene Aufgaben
|
||||
|
||||
Stand: 13.08.2026 | Referenz: PLAN.md, SPEC.md, PRD.md
|
||||
Stand: 15.08.2026 | Referenz: PLAN.md, SPEC.md, PRD.md
|
||||
|
||||
---
|
||||
|
||||
## NÄCHSTER SCHRITT: Phase 1 (fertig)
|
||||
## OFFENE AUFGABEN
|
||||
|
||||
### P1.1 Build-Chain testen
|
||||
- [x] `npm install` ausgeführt
|
||||
- [x] `npm run dev` → localhost:4321 funktioniert
|
||||
- [x] `npm run build` → dist/ mit 12 Seiten erfolgreich
|
||||
- [x] `npm run preview` → lokaler Production-Server (nächster Schritt)
|
||||
### Kosmos Design - Outside SBR
|
||||
- [ ] `src/content/kosmos-design/outside-sbr.md` — Placeholder-Text in Zeile 12 bereinigen
|
||||
(`"exact wording pending, PRD.md 12"`)
|
||||
|
||||
### P1.2 Modem-Intro Audio
|
||||
- [x] dial-tone.mp3 besorgen/erstellen → public/audio/
|
||||
- [x] dtmf-beeps.mp3 besorgen/erstellen → public/audio/
|
||||
- [x] modem-handshake.mp3 besorgen/erstellen → public/audio/
|
||||
- [x] ModemIntro.tsx testen (Line 1 = Sound, Line 2 = Direktzugang)
|
||||
|
||||
### P1.3 Pre-Build System
|
||||
- [x] `tools/fetch_mods.py` — MOD-Metadaten von moonweb.org
|
||||
- [x] `prebuild.sh` — ruft alle Pre-Build Stages auf
|
||||
- [x] `npm run build` führt automatisch prebuild.sh aus
|
||||
- [x] `src/data/mods.json` — gecachte MOD-Daten
|
||||
|
||||
---
|
||||
|
||||
## VOR DEM LIVE-TEST
|
||||
|
||||
### Inhalt aufräumen
|
||||
- [ ] Placeholder-Texte in Content-Dateien entfernen (`[Placeholder/fake content]`, PRD.md-Referenzen)
|
||||
- [ ] `src/content/skyline/disk-doctor.md`
|
||||
- [ ] `src/content/skyline/example-tool.md`
|
||||
- [ ] `src/content/skyline/megademo-93.md`
|
||||
- [ ] `src/content/skyline/sky-file-manager.md`
|
||||
- [ ] `src/content/esprit/esprit-utility-music.md`
|
||||
- [ ] `src/content/esprit/esprit-demomaker-1.md`
|
||||
- [ ] `src/content/esprit/esprit-utility-copy.md`
|
||||
- [ ] `src/content/esprit/esprit-demomaker-2.md`
|
||||
- [ ] `src/content/kosmos-design/kds-intro-1.md`
|
||||
- [ ] `src/content/kosmos-design/kds-cracktro-pack.md`
|
||||
- [ ] `src/content/kosmos-design/kds-slideshow.md`
|
||||
- [ ] `src/content/kosmos-design/kds-musicdisk.md`
|
||||
- [ ] Placeholder-Hinweise in Seiten-Descriptions entfernen:
|
||||
- [ ] `src/pages/bbs/pc/skyline.astro` (PRD.md 12)
|
||||
- [ ] `src/pages/bbs/pc/trancemission.astro` (PRD.md section 12)
|
||||
- [ ] `src/pages/bbs/pc/kosmos-design.astro` (PRD.md 12)
|
||||
- [ ] `src/pages/bbs/amiga/esprit.astro` (PRD.md 12)
|
||||
- [ ] `src/pages/bbs/fido/ansi-art.astro` (PRD.md section 3)
|
||||
|
||||
### Asset-Hosting
|
||||
- [ ] `files.moonweb.org` einrichten (Synology oder Static-Fileserver)
|
||||
- [ ] Download-Dateien (.zip, .mod) dort ablegen
|
||||
- [ ] Links in Content-Dateien prüfen/aktualisieren
|
||||
|
||||
---
|
||||
|
||||
## DANACH: Phase 2 - ANSI-Art
|
||||
|
||||
### P2.1 Echte .ans Dateien
|
||||
- [ ] Original .ans Dateien aus den 90ern besorgen
|
||||
### ANSI-Art in Menüs
|
||||
- [ ] Echte .ans Dateien aus den 90ern besorgen
|
||||
- [ ] In source-assets/ansi/ ablegen
|
||||
- [ ] generate_ansi.py anpassen oder neuen Parser schreiben
|
||||
- [ ] In ansiArt.ts einbinden (Fallback auf generierte Patterns)
|
||||
|
||||
### P2.2 CP437 Webfont
|
||||
- [ ] Passenden CP437/DOS-Font beschaffen (Web 437, Perfect DOS VGA 437)
|
||||
- [ ] Als WOFF2 unter public/fonts/ ablegen
|
||||
- [ ] @font-face in global.css korrigieren (aktuell: `src: local('Web 437')` → funktioniert nur wenn Font installiert)
|
||||
- [ ] Testing: ANSI-Art mit echtem Font rendern
|
||||
|
||||
---
|
||||
|
||||
## DANACH: Phase 3 - Navigation
|
||||
|
||||
### P3.1 Mobile Anchors
|
||||
- [ ] /bbs/atari/ → /bbs/#atari als Scroll-Ziel
|
||||
- [ ] /bbs/amiga/ → /bbs/#amiga
|
||||
- [ ] /bbs/fido/ → /bbs/#fido
|
||||
- [ ] /bbs/pc/ → /bbs/#pc (falls nötig)
|
||||
|
||||
### P3.2 View Transitions
|
||||
- [ ] Astro View Transitions einbauen
|
||||
- [ ] Optional: Subtiler Textaufbau-Effekt ("Stottern")
|
||||
|
||||
---
|
||||
|
||||
## DANACH: Phase 4-5 - Content & Visual
|
||||
|
||||
### P4.1 Echte ANSI-Art
|
||||
- [ ] 8 Filler-Patterns durch echte gescannte/analysierte .ans ersetzen
|
||||
- [ ] BBS ANSI Art Seite aktualisieren
|
||||
|
||||
### P4.2 Echte Releases
|
||||
- [ ] SkyLINE: placeholder/disk-doctor.md → echte Inhalte
|
||||
- [ ] SkyLINE: example-tool.md → echte Inhalte
|
||||
- [ ] Kosmos Design: Prüfen ob alle Credits korrekt sind
|
||||
- [ ] ESPRIT: Prüfen ob alle Inhalte korrekt sind
|
||||
- [ ] Tr@nceMISSION: Fehlende Releases nachtragen (PRD.md 12)
|
||||
---
|
||||
|
||||
### P4.3 Impressum
|
||||
- [x] Pflichtangaben zusammenstellen (Name, Anschrift, Kontakt)
|
||||
- [x] legal-notice.astro ausfüllen
|
||||
- [x] Auf Englisch (PRD.md 6.3)
|
||||
## ERLEDIGT
|
||||
|
||||
### Phase 1 - Build-Chain
|
||||
- [x] npm install, npm run dev, npm run build, npm run preview
|
||||
|
||||
### Phase 1.2 - Modem-Intro Audio
|
||||
- [x] dial-tone.mp3, dtmf-beeps.mp3, modem-handshake.mp3 in public/audio/
|
||||
|
||||
### Phase 1.3 - Pre-Build System
|
||||
- [x] tools/fetch_mods.py → src/data/mods.json
|
||||
- [x] prebuild.sh als Orchestrator
|
||||
|
||||
### CP437 Webfont
|
||||
- [x] Px437 IBM VGA 8x16 als WOFF2 + TTF in public/fonts/
|
||||
- [x] @font-face in global.css korrigiert
|
||||
|
||||
### Inhalt aufräumen
|
||||
- [x] Placeholder-Texte in Content-Dateien entfernt (12 .md-Dateien gelöscht/bereinigt)
|
||||
- [x] Placeholder-Hinweise in Seiten-Descriptions entfernt (5 .astro-Dateien bereinigt)
|
||||
|
||||
### Releases
|
||||
- [x] Tr@nceMISSION: fertig
|
||||
- [x] Kosmos Design: fertig (außer outside-sbr.md)
|
||||
- [x] ESPRIT: fertig
|
||||
- [x] SkyLINE: fertig
|
||||
|
||||
### Asset-Hosting
|
||||
- [x] www.moonweb.org/files/ als Hosting-Lösung (Dateien liegen dort, wird schon überall verlinkt)
|
||||
|
||||
### MOD Player
|
||||
- [x] chiptune3.js + libopenmpt AudioWorklet eingebunden
|
||||
- [x] ModPlayer.tsx mit Playlist
|
||||
- [x] Echte .mod Dateien werden von moonweb.org gestreamt
|
||||
|
||||
### Deployment
|
||||
- [x] GitHub-Repo veröffentlicht
|
||||
- [x] Cloudflare Pages Projekt angelegt + funktioniert
|
||||
- [x] CI/CD Pipeline (.github/workflows/deploy.yml) konfiguriert
|
||||
- [x] DNS-Eintrag für 28k8.moonweb.org aktiv
|
||||
- [x] Live-Deploy funktioniert
|
||||
|
||||
### SEO
|
||||
- [x] sitemap.xml generiert (public/sitemap.xml)
|
||||
- [x] robots.txt angelegt (public/robots.txt)
|
||||
- [x] <title> und <meta description> pro Seite geprüft
|
||||
|
||||
### Legal Notice
|
||||
- [x] Pflichtangaben zusammengefasst
|
||||
- [x] legal-notice.astro ausgefüllt (auf Englisch)
|
||||
|
||||
---
|
||||
|
||||
## DANACH: Phase 6 - MOD Player
|
||||
## GESTRICHEN (nicht mehr relevant)
|
||||
|
||||
### P6.1 WASM MOD Player
|
||||
- [x] chiptune3.js (libopenmpt AudioWorklet) eingebunden
|
||||
- [x] `tools/fetch_mods.py` → `src/data/mods.json` (pre-build)
|
||||
- [x] `ModPlayer.tsx` React-Island mit Playlist
|
||||
- [x] `prebuild.sh` Orchestrator für alle Pre-Build Stages
|
||||
- [ ] Echte .mod Dateien auf files.moonweb.org bereitstellen (oder direkt von moonweb.org streamen)
|
||||
|
||||
---
|
||||
|
||||
## LETZTE PHASE: 7-8 - Infra & Launch
|
||||
|
||||
### P7.1 Asset-Hosting
|
||||
- [ ] files.moonweb.org einrichten (Synology oder Static-Fileserver)
|
||||
- [ ] Alle Downloads (.ans, .mod, Disk-Images) dort ablegen
|
||||
- [ ] Links in Content-Dateien aktualisieren
|
||||
|
||||
### P7.2 Deployment
|
||||
- [ ] GitHub-Repo veröffentlichen
|
||||
- [ ] Cloudflare Pages Projekt anlegen
|
||||
- [ ] Build-Command: `npm run build`, Output: `dist`
|
||||
- [ ] DNS-Eintrag für 28k8.moonweb.org prüfen
|
||||
- [ ] Erstes Live-Deploy
|
||||
|
||||
### P7.3 SEO & Finalisierung
|
||||
- [ ] sitemap.xml generieren
|
||||
- [ ] robots.txt anlegen
|
||||
- [ ] <title> und <meta description> pro Seite prüfen
|
||||
- [ ] Full click-through Regression Test
|
||||
- [ ] Banner sichtbar auf Hauptmenü?
|
||||
- [ ] Disconnect → localStorage geleert → Redirect zu /?
|
||||
- [ ] Alle Keyboard-Shortcuts funktionieren?
|
||||
- [ ] Mobile Ansicht: Kacheln gestapelt?
|
||||
|
||||
---
|
||||
|
||||
## EMBEDDED CONTEXT (für neuen Chat)
|
||||
|
||||
Wenn du diesen Kontext in einem neuen Chat öffnest:
|
||||
|
||||
1. Lies diese Datei als erstes
|
||||
2. Das NÄCHSTE unmittelbare Ziel steht oben unter "NÄCHSTER SCHRITT"
|
||||
3. Fertige Phasen sind unten (hier aktuell: Phase 1 + Pre-Launch Checklist)
|
||||
4. Referenz-Dokumente: PLAN.md (Roadmap), SPEC.md (Tech-Spec), PRD.md (Anforderungen)
|
||||
5. AGENTS.md hat die Projektstruktur und technischen Details
|
||||
6. Wenn Phase 1 fertig ist → diese Datei aktualisieren, Phase 1 als done markieren, Phase 2 als nächstes setzen
|
||||
- **Mobile Anchors** (/bbs/atari/ → /bbs/#atari): Overkill, Kachel-Struktur rendert unnötig
|
||||
- **View Transitions**: Welcome Banner Stottern funktioniert bereits, restliche Seiten brauchen das nicht
|
||||
- **Echte Releases nachtragen**: Alle fertig bis auf outside-sbr.md
|
||||
|
||||
Reference in New Issue
Block a user