Document: bewust extra witruimte tussen alinea’s kunnen invoegen #2464

Closed
opened 2026-10-19 10:02:53 +00:00 by brenno · 0 comments
Owner

Gebruikersprobleem

Bij het opmaken van een offerte wil je soms bewust één extra lege regel tussen twee onderdelen, bijvoorbeeld vóór voorwaarden of een handtekening. Herhaald op Enter drukken of extra lege bronregels toevoegen geeft geen betrouwbare zichtbare ruimte, ook niet in de export.

Oorzaak op origin/main

De documentweergave slaat lege bronregels expliciet over (lib/widgets/reader/document_markdown_view.dart, _parse, circa regel 511). De PDF-route parseert Markdown naar betekenisvolle blokken (lib/services/pdf/markdown_to_pdf_blocks.dart); gewone lege regels worden daarin geen blok. De visuele editor zet Markdown via Quill om en terug (lib/utils/markdown_quill_codec.dart), wat extra bronwitregels niet als blijvende opmaakinstructie vastlegt. Normale Markdown-alineascheiding en bewust extra ruimte zijn zo niet te onderscheiden.

Voorgestelde gebruikersreis en formaat

Voeg in de visuele documenteditor een herkenbare actie Extra ruimte invoegen toe op de cursorpositie. Toon een selecteerbaar, verwijderbaar tussenruimteblok met voorspelbare hoogte van ongeveer één tekstregel; Backspace/Delete haalt alleen dat blok weg. De bron blijft gewone, uitwisselbare Markdown. Onderzoek als concrete representatie een afzonderlijke <br>-regel (standaard inline HTML in Markdown) en laat die alleen op blokgrens als bewuste tussenruimte gelden. Valideer deze keuze eerst in OciDeck, gangbare Markdown-weergaven en alle documentexports. Als de HTML-regel daar niet verliesvrij werkt, ontwerp een even leesbare expliciete notatie vóór implementatie; gebruik geen onzichtbare NBSP of een reeks gewone lege regels als verborgen truc. De visuele editor moet deze specifieke notatie als ondersteund blok herkennen, zonder documentbrede Bron-fallback (#2463).

Acceptatie

  • Gebruiker kan op één plek extra ruimte invoegen, zien, verplaatsen en verwijderen; gewone alineas blijven de normale afstand houden.
  • Opslaan, sluiten en heropenen behoudt plaats en hoeveelheid; bewerken van omliggende tekst verandert dit niet.
  • De documentweergave, PDF-export, HTML-export en overige ondersteunde documentexports geven vergelijkbare ruimte, ook rond lijsten, tabellen en pagina-einden. Geen lege start- of eindpagina.
  • De bronnotatie is expliciet en begrijpelijk, met een gedocumenteerde fallback in andere Markdown-lezers.
  • Tests bewijzen visuele ↔ bron roundtrip, exportlayout op gerenderde pagina, undo/redo en verwijderen met toetsenbord. Betrek hierbij de bestaande bronpatcher zodat andere witregels bytegetrouw blijven.

Reikwijdte

Dit is een nieuwe opmaakhandeling; ontwerp en toets eerst de formaatkeuze op Markdown-uitwisselbaarheid. Geen wijziging van bestaande documenten zonder gebruikersactie.

## Gebruikersprobleem Bij het opmaken van een offerte wil je soms bewust één extra lege regel tussen twee onderdelen, bijvoorbeeld vóór voorwaarden of een handtekening. Herhaald op Enter drukken of extra lege bronregels toevoegen geeft geen betrouwbare zichtbare ruimte, ook niet in de export. ## Oorzaak op origin/main De documentweergave slaat lege bronregels expliciet over (lib/widgets/reader/document_markdown_view.dart, _parse, circa regel 511). De PDF-route parseert Markdown naar betekenisvolle blokken (lib/services/pdf/markdown_to_pdf_blocks.dart); gewone lege regels worden daarin geen blok. De visuele editor zet Markdown via Quill om en terug (lib/utils/markdown_quill_codec.dart), wat extra bronwitregels niet als blijvende opmaakinstructie vastlegt. Normale Markdown-alineascheiding en bewust extra ruimte zijn zo niet te onderscheiden. ## Voorgestelde gebruikersreis en formaat Voeg in de visuele documenteditor een herkenbare actie **Extra ruimte invoegen** toe op de cursorpositie. Toon een selecteerbaar, verwijderbaar tussenruimteblok met voorspelbare hoogte van ongeveer één tekstregel; Backspace/Delete haalt alleen dat blok weg. De bron blijft gewone, uitwisselbare Markdown. Onderzoek als concrete representatie een afzonderlijke `<br>`-regel (standaard inline HTML in Markdown) en laat die alleen op blokgrens als bewuste tussenruimte gelden. Valideer deze keuze eerst in OciDeck, gangbare Markdown-weergaven en alle documentexports. Als de HTML-regel daar niet verliesvrij werkt, ontwerp een even leesbare expliciete notatie vóór implementatie; gebruik geen onzichtbare NBSP of een reeks gewone lege regels als verborgen truc. De visuele editor moet deze specifieke notatie als ondersteund blok herkennen, zonder documentbrede Bron-fallback (#2463). ## Acceptatie - Gebruiker kan op één plek extra ruimte invoegen, zien, verplaatsen en verwijderen; gewone alineas blijven de normale afstand houden. - Opslaan, sluiten en heropenen behoudt plaats en hoeveelheid; bewerken van omliggende tekst verandert dit niet. - De documentweergave, PDF-export, HTML-export en overige ondersteunde documentexports geven vergelijkbare ruimte, ook rond lijsten, tabellen en pagina-einden. Geen lege start- of eindpagina. - De bronnotatie is expliciet en begrijpelijk, met een gedocumenteerde fallback in andere Markdown-lezers. - Tests bewijzen visuele ↔ bron roundtrip, exportlayout op gerenderde pagina, undo/redo en verwijderen met toetsenbord. Betrek hierbij de bestaande bronpatcher zodat andere witregels bytegetrouw blijven. ## Reikwijdte Dit is een nieuwe opmaakhandeling; ontwerp en toets eerst de formaatkeuze op Markdown-uitwisselbaarheid. Geen wijziging van bestaande documenten zonder gebruikersactie.
brenno 2026-10-19 18:02:12 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
LibreKAT/Ocideck#2464
No description provided.