probleme auf der realen amber-infrastruktur behoben: 1. ohne festen CLIENT_SECRET_HEX erzeugt applesauce bei jedem lauf einen neuen client-pubkey. amber bindet permissions pro client-pubkey, also sah jeder lauf wie eine neue unberechtigte app aus und bekam "no permission" als auto-antwort. → CLIENT_SECRET_HEX in config + cli, SimpleSigner.fromKey durchgereicht. 2. applesauce wirft bei "already connected"/"no permission" unhandled rejections, weil response-promises asynchron reagieren. → globaler unhandledrejection-handler, der diese benannten fehler schluckt; connect() im try/catch mit open+force als fallback. 3. timeout auf bunker connect auf 60s erhöht (amber-pairing kann menschliches tap dauern beim ersten mal). einzel-post-publish live verifiziert: - offenheit-das-wesentliche als kind:30023 publiziert - alle 5 write-relays haben bestätigt - bild auf beide blossom-server hochgeladen - SPA rendert das bild von blossom.edufeed.org Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| src | ||
| tests | ||
| .env.example | ||
| .gitignore | ||
| README.md | ||
| deno.jsonc | ||
README.md
publish — Nostr-Publish-Pipeline
Markdown-Posts aus einem Hugo-ähnlichen Content-Ordner zu kind:30023-Events,
Bilder zu Blossom, Signatur via NIP-46-Bunker.
Blaupause für Nostr-Repos: keinerlei Projekt-Konstanten im Code, alles über Env-Variablen konfigurierbar.
Setup
cp .env.example .envund Werte eintragen.- Oder:
.env.localim Eltern-Ordner pflegen unddeno.jsoncanpassen (siehe--env-file=../.env.local-Tasks). deno task check— verifiziert Bunker, Relay-Liste, Blossom-Server.
Befehle
deno task publish— Git-Diff-Modus: publisht nur geänderte Posts.deno task publish --force-all— alle Posts (Migration / Reimport).deno task publish --post <slug>— nur ein Post.deno task publish --dry-run— zeigt, was publiziert würde, ohne Uploads.deno task validate-post content/posts/<ordner>/index.md— Frontmatter-Check.deno task test— Tests.
Struktur
src/core/— Library (Frontmatter, Markdown, Events, Signer, Relays, Blossom).src/subcommands/— CLI-Befehle.src/cli.ts— Entrypoint, Subcommand-Dispatcher.tests/— Unit- und Integration-Tests..github/workflows/publish.yml— CI-Workflow.