processPost(args) orchestriert pro post:
1. frontmatter parsen + validieren
2. draft → skipped-draft
3. bilder sammeln + sequentiell zu blossom hochladen (mapping
dateiname → primary-url)
4. body mit rewriteImageUrls anpassen, coverUrl via resolveCoverUrl
5. kind:30023 event bauen via buildKind30023
6. checkExisting → action = new|update
7. signieren via nip-46
8. publishToRelays, prüfen ob minRelayAcks erreicht
alle externen abhängigkeiten (readPostFile, collectImages, upload,
sign, publish, checkExisting) via PostDeps-interface eingezogen
— einfach mockbar. fehler aller art landen als { status: failed,
error: msg }. 6 tests grün.
follow-up (nicht teil von task 15): license-tag und imeta-tags aus
images[]-frontmatter sind noch nicht im event. kommt in eigenem
folge-task, basierend auf der metadata-convention-spec.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
||
|---|---|---|
| .claude | ||
| app | ||
| content | ||
| docs | ||
| preview/spa-mini | ||
| publish | ||
| scripts | ||
| static | ||
| .gitignore | ||
| LICENSE | ||
| README.md | ||
README.md
joerg-lohrer.de
Persönliche Webseite. In Transition von einer Hugo-basierten, statischen Seite
hin zu einer SvelteKit-SPA, die Blog-Posts live aus signierten Nostr-Events
(NIP-23, kind:30023) rendert.
Aktueller Stand
https://joerg-lohrer.de/— Hugo-Seite, läuft noch.https://spa.joerg-lohrer.de/— Vanilla-HTML-Mini-Spike (Proof of Concept).https://svelte.joerg-lohrer.de/— produktive SvelteKit-SPA (Ziel).
Detailliert in docs/STATUS.md.
Navigation
- 📍 Stand und Live-URLs:
docs/STATUS.md - 🔜 Wie es weitergeht:
docs/HANDOFF.md - 📐 SPA-Spec:
docs/superpowers/specs/2026-04-15-nostr-page-design.md - 📐 Publish-Pipeline-Spec:
docs/superpowers/specs/2026-04-15-publish-pipeline-design.md - 🛠 SvelteKit-SPA-Plan:
docs/superpowers/plans/2026-04-15-spa-sveltekit.md(35 Tasks, abgeschlossen) - 🤖 Claude-Workflow-Skill:
.claude/skills/joerglohrerde-workflow.md
Branches
main— kanonisch (Content, Specs, Pläne, Deploy-Scripts, Skill).spa— aktueller Arbeitszweig mit allen SvelteKit-Commits. Wird beim Cutover nachmaingemerged.hugo-archive— eingefrorener Hugo-Zustand als Orphan-Branch. Rollback übergit checkout hugo-archive && hugo build.
Repo-Struktur
content/posts/ Markdown-Posts (Quelle für Nostr-Events)
app/ SvelteKit-SPA (Ziel-Implementation)
preview/spa-mini/ Vanilla-HTML-Mini-Spike (Referenz)
scripts/deploy-svelte.sh FTPS-Deploy nach svelte.joerg-lohrer.de
static/ Site-Assets (Favicons, Profilbild)
docs/ Specs, Pläne, Status, Handoff
.claude/ Claude-Code-Sessions (transparenz) + Skills
Lizenz
Siehe LICENSE.