# Feature: Artikkelverktøyet — langform-editor på arbeidsflaten ## 1. Konsept Artikkelverktøyet er et verktøy-panel på arbeidsflaten med en TipTap-editor optimalisert for langform-skriving. Det aksepterer drag-and-drop fra andre paneler og oppretter innholdsnoder med `source_material`-edges tilbake til kildene. Ref: [arbeidsflaten](../retninger/arbeidsflaten.md), [publisering](../concepts/publisering.md) ## 2. Opprettelse Når artikkelverktøyet åpnes, opprettes en ny innholdsnode: ``` node_kind: "content" metadata.document: { "type": "doc", "content": [] } // Tom TipTap-doc visibility: "hidden" // Privat til forfatteren deler ``` Noden er en artikkel fra fødsel — ingen "konvertering" fra annet innhold. ## 3. Drag-and-drop mottak Artikkelverktøyet implementerer `BlockReceiver`-interfacet og aksepterer: | Kilde | Handling | Edge | |-------|----------|------| | **Chatboble** | Sett inn sitert tekst i editoren | `source_material` (context: "quoted") | | **Transkripsjon** | Sett inn tekstblokk fra segment | `source_material` (context: "quoted") | | **Bilde** | Sett inn inline-bilde | `has_media` | | **Lydfil** | Sett inn lydavspiller (embed) | `has_media` | | **Tekst/notat** | Sett inn innhold | `source_material` (context: "referenced") | | **Annen artikkel** | Sett inn utdrag | `source_material` (context: "quoted") | Ved drop: 1. Ny `source_material`-edge fra artikkel → kilde 2. Innhold settes inn i editoren på markørposisjon 3. Visuell indikator i editoren viser at teksten har en kilde (subtil venstrekant-markering, klikkbar for å se originalen) ## 4. Editor-konfigurasjon TipTap med fulle extensions for langform: - Overskrifter (h2, h3, h4) - Blockquotes, kodeblokker - Bilder (inline, refererer CAS-noder via `has_media`) - Lister (ordnet, uordnet, sjekklister) - Tabeller - Lenker - Embeds (lyd, video) Forenklede presets tilgjengelig: - **Artikkel** (default): alle extensions - **Show notes**: lister, tidskoder, lenker - **Notat**: tekst, sjekklister ## 5. Publiseringsintegrasjon Artikkelen følger publiseringsreisen via edge-progresjon: ``` intended_for → submitted_to → belongs_to (arbeidsfase) (vurdering) (publisert) ``` Publiseringspanelet vises ved siden av editoren når `intended_for`-edge finnes. Forfatteren fyller ut presentasjonselementer (tittel, ingress, forsidebilde) som egne noder med edges til artikkelen. ## 6. Kildesporbarhet Artikkelens `source_material`-edges gir komplett lineage: ``` Artikkel "Trikken kan bli gratis" ←source_material── Chatboble i #redaksjon (sitert) ←source_material── Transkripsjonssegment fra episode 42 (sitert) ←source_material── Notat fra dagboken (referert) ←has_media──────── Bilde av trikken (CAS-media) ``` UI viser en "Kilder"-panel i editoren med alle koblede noder. Klikk → naviger til originalen. ## 7. Bygger på - [Universell input](../retninger/universell_input.md) — TipTap-editor, dokumentlagring - [Publisering](../concepts/publisering.md) — publiseringsreise via edges - [Arbeidsflaten](../retninger/arbeidsflaten.md) — drag-and-drop, verktøy-panel - [Universell overføring](universell_overfoering.md) — mottaker-interface ## 8. Responsivt - **Desktop:** Side ved side med andre paneler, full editor - **Tablet:** Fullskjerm-editor med "Send til..."-meny for kilder - **Mobil:** Forenklet editor, ingen drag-and-drop (bruk meny)