Synops — redaksjonelt OS og kunnskapsgraf
Implementerer rendering-pipeline: metadata.document (TipTap JSON) → HTML via Tera-templates → CAS-lagring → metadata.rendered oppdateres. Nye moduler: - tiptap.rs: Konverterer TipTap/ProseMirror JSON til HTML. Støtter paragraph, heading, blockquote, lister, code_block, image, hr, og marks (bold, italic, strike, code, link, underline). XSS-sikker med HTML-escaping. - render_article jobb i jobbkøen: Henter node + samling, konverterer document → HTML, rendrer med Tera + tema, lagrer i CAS, oppdaterer nodens metadata.rendered med html_hash og renderer_version. Endringer: - publishing.rs: SeoData-struct med OG-tags, canonical URL, JSON-LD. render_article_to_cas() for full pipeline. serve_article() serverer fra CAS (immutable cache) hvis pre-rendret, fallback til on-the-fly. RENDERER_VERSION=1 for fremtidig bulk re-rendering. - intentions.rs: Trigger render_article-jobb automatisk når belongs_to edge opprettes til samling med publishing-trait. - Alle 4 artikkel-templates: SEO-block med meta description, OG-tags (type, title, description, url, site_name, image, published_time), canonical URL, RSS-link, og JSON-LD structured data. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| config | ||
| docs | ||
| frontend | ||
| maskinrommet | ||
| migrations | ||
| ops | ||
| reference | ||
| scripts | ||
| spacetimedb | ||
| .env.example | ||
| .gitignore | ||
| CLAUDE.md | ||
| spacetime.json | ||
| tasks.md | ||