Visuele modus toont front matter (Theme/TLP) als bewerkbare tekst #1759
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#1759
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?
Wat wordt gevraagd
In de visuele modus van de documenteditor verschijnt soms de tekst
Theme: Vigilis TLP:AMBER(of vergelijkbaar) als bewerkbare tekst in het schrijfvlak. Dit is front matter-meta-data (stijl en classificatie) en hoort niet als documentinhoud zichtbaar te zijn.Onderzoek
De documenteditor bewerkt de body: de bron zonder het leidende YAML-front-matter-blok (
lib/widgets/document_editor_screen.dart:196-201). De splitsing gebeurt insplitDocumentFrontMatter(lib/utils/document_front_matter.dart:137-173). De body wordt aan de visuele editor (MarkdownNotesEditor) gevoed via_controller.De front matter wordt alleen herkend wanneer:
---is, én---, én_opensWithYamlKey, regel 498-505).Voldoet de bron niet aan alle drie de voorwaarden, dan is de hele bron de body — inclusief de
theme:- entlp:-regels — en toont de visuele editor ze als gewone tekst.Er is al een functie
stripLeadingFrontMatterLeakage(lib/utils/document_front_matter.dart:187-212), toegevoegd in #1726, die gelekte front matter-regels (theme:,tlp:en----fences) van het begin van de body verwijdert. Maar deze functie wordt alleen in het exportpad aangeroepen, niet in de editor. De editor toont de body dus onopgeschoond.Daarnaast kan de lekkage ontstaan doordat de front matter niet als zodanig wordt herkend (bijv. een handgeschreven document dat met
theme: Vigilisbegint zonder----fences, of een bestand waarbij de sluitende---ontbreekt). In die gevallen staat de meta-data écht in de body en is er geen front-matter-blok om te splitsen.Voorgestelde oplossing
Twee sporen, afhankelijk van de oorzaak:
Editor toont geen gelekte front matter: pas
stripLeadingFrontMatterLeakagetoe op de body vóór deze aan de controller/visuele editor wordt gevoed (indocument_editor_screen.dartbij de initialisatie van_controlleren bij het gelijktrekken van buitenaf). De functie bestaat al en is getest; dit is de kleinste diff. De oorspronkelijke bron (document.source) blijft ongemoeid — alleen de weergave in het schrijfvlak verbergt de lekkage.Voor de gebruiker zichtbaar maken dat meta-data in de body staat: wanneer
splitDocumentFrontMattergeen blok vindt maar de body begint met bekende keys (theme:,tlp:), toon een eenmalige hint dat deze regels bij de front matter horen en via de stijl-/TLP-kiezer beheerd moeten worden, niet als tekst. Dit voorkomt verwarring zonder de bron stilletjes te veranderen.Voorkeur gaat uit naar spoor 1 (verbergen in de editor) als primaire oplossing, met spoor 2 als aanvulling wanneer de lekkage structureel is (geen fences).
Impact
.md-bron verandert niet; de functie is zuiver weergave-kant.stripLeadingFrontMatterLeakagedekken de logica; een nieuwe test controleert dat de editor-body schoon is.