Documenttitel voor export kan uit een codeblok worden gehaald #1679
Labels
No labels
accepted
bug
declined
docs
duplicate
enhancement
good first issue
in-progress
needs-info
privacy
security
triage
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
LibreKAT/Ocideck#1679
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Probleem
Als frontmatter geen title bevat, wordt de eerste regel die na trimmen met # begint als titel gebruikt, ook wanneer die in een fenced codeblock staat. Daardoor krijgen export en conversie een inhoudelijk verkeerde titel en bestandsnaam.
Reproductie
Verwacht
Alleen echte documentkoppen buiten codeblokken kunnen de documenttitel leveren.
Technische aanwijzing
lib/widgets/document_editor_screen.dart:_documentTitle loopt losse regels af met ^#\s+ en houdt geen fence-status bij.
Gevonden bij audit van commit
d439638c6b.Triage: accepted
Bevestigd tegen
main(e93ef205c)._documentTitle(lib/widgets/document_editor_screen.dart, onderaan) loopt de losse regels af metRegExp(r'^#\s+(.+)$')opline.trim()en houdt geen hek-status bij. Een# Voorbeeldbinnen een ``` -blok is dus de titel. Voor de export wintdocument.fields['title'], dus dit bijt bij een document zondertitle:— en dan meteen op twee plekken: de exportnaam én de titel van de nieuwe presentatie bij Converteren.Oplossingsrichting
Geen derde eigen kopregex. Er zijn er al twee die dit goed doen —
documentHeadingBlocks/ de Overzicht-ontleder — en die kennen de hek-status. Gebruik er één en laat_documentTitlealleen nog de eersteh1daaruit pakken.Twee dingen om dan gelijk goed te zetten:
Titel+=====) is óók een kop; dat is #1647, en dat issue wordt eenvoudiger als er één gedeelde kopscanner is;---erboven), controleer of de gekozen scanner de body krijgt en niet de hele bron.Regressietest (verplicht)
test/document_editor_screen_test.dartof de conversietest: document zondertitle:dat begint met een hek waarin# Voorbeeldstaat → titel valt terug op de bestandsnaam. Plus: kop ná het hek wordt wél gevonden.Kosten
Klein, mits de gedeelde scanner bruikbaar blijkt; anders eerst die scanner naar
lib/utils/en dan pas dit.Prioriteit
Laag-middel: verkeerde bestandsnaam en verkeerde presentatietitel, geen verlies.