deckToDocumentMarkdown trimt inspringing weg (codeblokken en geneste lijsten) #1664

Closed
opened 2026-08-21 12:02:00 +00:00 by brenno · 0 comments
Owner

Wat er misgaat

DocumentDeckBridge.deckToDocumentMarkdown doet body.trim() op elk niet-tijdlijn-lichaam voordat de delen worden aaneengeregen. Leidende spaties/tabs zijn in Markdown betekenis (ingesprongen code, nestlijst). Een dia of een door documentToDeck gemaakte freeMarkdown-sectie die met inspringing begint, verliest die bytes op de terugweg (presentatie → document, en de geprojecteerde .md-export).

Daarnaast normaliseert parts.join('\n\n') de ruimte tussen secties tot precies één lege regel plus een slot-newline. Enkele newlines tussen kopsecties overleven de rondgang niet.

Waar het zit

lib/services/document_deck_bridge.dart in deckToDocumentMarkdown.

De commentaar noemt structurele lossiness (tabel/chart); inspringing en intersectie-whitespace staan daar niet.

Stappen

Document met een ATX-kop en daaronder een ingesprongen codeblok zonder hekjes, of een dia waarvan customMarkdown met vier spaties begint. Converteren of exporteren als .md. De inspringing is weg.

Wat het met het formaat doet

De geëxporteerde of geconverteerde .md is niet meer de bronbytes van die sectie.

Regressie

Rondgangtest: body die met spaties begint blijft die spaties houden (tijdlijn blijft de uitzondering zonder trim).

## Wat er misgaat `DocumentDeckBridge.deckToDocumentMarkdown` doet `body.trim()` op elk niet-tijdlijn-lichaam voordat de delen worden aaneengeregen. Leidende spaties/tabs zijn in Markdown betekenis (ingesprongen code, nestlijst). Een dia of een door `documentToDeck` gemaakte `freeMarkdown`-sectie die met inspringing begint, verliest die bytes op de terugweg (presentatie → document, en de geprojecteerde `.md`-export). Daarnaast normaliseert `parts.join('\n\n')` de ruimte tussen secties tot precies één lege regel plus een slot-newline. Enkele newlines tussen kopsecties overleven de rondgang niet. ## Waar het zit `lib/services/document_deck_bridge.dart` in `deckToDocumentMarkdown`. De commentaar noemt structurele lossiness (tabel/chart); inspringing en intersectie-whitespace staan daar niet. ## Stappen Document met een ATX-kop en daaronder een ingesprongen codeblok zonder hekjes, of een dia waarvan `customMarkdown` met vier spaties begint. Converteren of exporteren als `.md`. De inspringing is weg. ## Wat het met het formaat doet De geëxporteerde of geconverteerde `.md` is niet meer de bronbytes van die sectie. ## Regressie Rondgangtest: body die met spaties begint blijft die spaties houden (tijdlijn blijft de uitzondering zonder trim).
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#1664
No description provided.