joerglohrerde/publish/tests
Jörg Lohrer 68ea912fad publish(task 15): processPost — kern-pipeline pro post (tdd)
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>
2026-04-18 05:37:05 +02:00
..
fixtures publish(task 3): frontmatter-parser mit yaml + body-split 2026-04-18 05:22:41 +02:00
blossom-list_test.ts publish(task 9): blossom-server-liste-loader (kind:10063) 2026-04-18 05:28:44 +02:00
blossom_test.ts publish(task 12): blossom-upload mit multi-server, bud-01 auth 2026-04-18 05:32:58 +02:00
change-detection_test.ts publish(task 13): git-diff change-detection für post-ordner 2026-04-18 05:33:56 +02:00
config_test.ts publish(task 2): config-loader mit env-validation 2026-04-18 05:21:39 +02:00
event_test.ts publish(task 6): kind:30023 event-builder mit tag-mapping 2026-04-18 05:25:10 +02:00
frontmatter_test.ts publish(task 3): frontmatter-parser mit yaml + body-split 2026-04-18 05:22:41 +02:00
image-collector_test.ts publish(task 11): image-collector (ignoriert hugo-derivate) 2026-04-18 05:31:32 +02:00
log_test.ts publish(task 14): structured json logger 2026-04-18 05:35:41 +02:00
markdown_test.ts publish(task 5): markdown bild-url-rewriter (mapping-basiert, =WxH-strip) 2026-04-18 05:24:03 +02:00
outbox_test.ts publish(task 8): outbox-relay-loader (kind:10002 parser + fetcher) 2026-04-18 05:27:47 +02:00
publish_test.ts publish(task 15): processPost — kern-pipeline pro post (tdd) 2026-04-18 05:37:05 +02:00
relays_test.ts publish(task 7): relay-pool-wrapper (publish + checkExisting) 2026-04-18 05:27:12 +02:00
validation_test.ts publish(task 4): slug- und post-validation 2026-04-18 05:23:18 +02:00