Documenttijdlijnen en robuust sorteren van tabellen #1571

Merged
brenno merged 5 commits from codex/document-timeline into main 2026-08-19 10:02:34 +00:00
Owner

Wat verandert er

  • Documenttabellen met twee of drie kolommen kunnen expliciet als verticale tijdlijn worden weergegeven.
  • De Markdown blijft een gewone GFM-tabel met een omkeerbare <!-- timeline -->-marker.
  • Tabellen krijgen in Visueel generieke, stabiele sortering op tekst, getal, datum of tijd.
  • Gemengde of onbruikbare waarden leiden tot een vriendelijke keuze of melding; onbekende waarden blijven stabiel onderaan.
  • Tijdlijnen blijven bewerkbaar, doorzoekbaar en volledig zichtbaar in documentweergave en export.
  • De tijdlijnweergave is doorgetrokken naar HTML, print/PDF, LaTeX en de privacyprojectie.
  • Alle nieuwe bedieningsteksten zijn vertaald in de 31 ondersteunde talen.

Bewijs

  • make check groen op de actuele main: 9.822 tests, 87,0% totale dekking, geen bestand onder de 34%-vloer.
  • make check-secrets groen.
  • make sast groen.
  • Gerichte verliesvrije tests voor CRLF, spaties, escaped pipes, <br>, stabiele sortering en annuleren.
  • Visuele controle uitgevoerd op de verticale rail, kaarten, statuschips en lange gebeurtenissen.
  • End-to-end widgettest voor bekijken, bewerken en terugzetten naar een tabel.

Formaatkeuze

De tijdlijn is geen nieuw documenttype en geen JSON-blok. Verwijder de marker en exact dezelfde tabel blijft over; andere Markdownlezers tonen gewoon de tabel.

## Wat verandert er - Documenttabellen met twee of drie kolommen kunnen expliciet als verticale tijdlijn worden weergegeven. - De Markdown blijft een gewone GFM-tabel met een omkeerbare `<!-- timeline -->`-marker. - Tabellen krijgen in Visueel generieke, stabiele sortering op tekst, getal, datum of tijd. - Gemengde of onbruikbare waarden leiden tot een vriendelijke keuze of melding; onbekende waarden blijven stabiel onderaan. - Tijdlijnen blijven bewerkbaar, doorzoekbaar en volledig zichtbaar in documentweergave en export. - De tijdlijnweergave is doorgetrokken naar HTML, print/PDF, LaTeX en de privacyprojectie. - Alle nieuwe bedieningsteksten zijn vertaald in de 31 ondersteunde talen. ## Bewijs - `make check` groen op de actuele `main`: 9.822 tests, 87,0% totale dekking, geen bestand onder de 34%-vloer. - `make check-secrets` groen. - `make sast` groen. - Gerichte verliesvrije tests voor CRLF, spaties, escaped pipes, `<br>`, stabiele sortering en annuleren. - Visuele controle uitgevoerd op de verticale rail, kaarten, statuschips en lange gebeurtenissen. - End-to-end widgettest voor bekijken, bewerken en terugzetten naar een tabel. ## Formaatkeuze De tijdlijn is geen nieuw documenttype en geen JSON-blok. Verwijder de marker en exact dezelfde tabel blijft over; andere Markdownlezers tonen gewoon de tabel.
docs(document): leg tijdlijnen en sorteren uit
All checks were successful
scans / scans (pull_request) Successful in 3m1s
static-gate / static-gate (pull_request) Successful in 6m25s
f5487289fe
Merge remote-tracking branch 'origin/main' into codex/document-timeline
All checks were successful
scans / scans (pull_request) Successful in 1m52s
static-gate / static-gate (pull_request) Successful in 4m35s
be19b874b3
# Conflicts:
#	docs/FILE_FORMAT.md
Author
Owner

Meegelezen vanuit #1568, waar de documentkant van FILE_FORMAT is gelijkgetrokken met de code. Drie dingen, waarvan het eerste nu nog goedkoop mee kan.

1. FILE_FORMAT.nl.md mist §14.11. De PR raakt vier docs-bestanden en de Nederlandse variant zit er niet bij. Dat is de versie die in de app wordt getoond, en translate-docs-check merkt het niet: die poort toetst of een variant bestaat en geregistreerd is, niet of hij bij is. Zo kon §14.9 (voetnoten) er helemaal uit blijven terwijl alles groen stond. Zeg het maar als ik de Nederlandse sectie erbij zet — hier, of als opvolg-PR direct na het mergen.

2. §14.11 zegt niet wat elke uitvoer met de marker doet, terwijl de code dat wél regelt (een eigen blok in de LaTeX-uitvoer, kaarten in de HTML-uitvoer). §14.9 en §14.10 sluiten allebei af met dat rijtje per oppervlak, juist omdat dat is wat een lezer van het bestandsformaat wil weten: wat gebeurt er met mijn bytes als ik exporteer. Eén alinea volstaat.

3. Herkenning is iets ruimer dan de tekst zegt. TimelineTableSyntax matcht ^\s*<!-- timeline -->\s*$, dus een ingesprongen marker telt ook mee. De tekst zegt "this exact marker", en dat leest strenger dan de code is. Dezelfde nuance staat sinds #1568 bij <!-- toc --> in §14.10.

Verder: de vorm klopt wat mij betreft. Een gewone GFM-tabel met een commentaar erboven, alleen de marker weghalen als volledige omkering, en een vreemde lezer die simpelweg de tabel toont — dat is precies wat §14.1 belooft en niet wat een eigen dialect ervan zou maken.

Meegelezen vanuit #1568, waar de documentkant van FILE_FORMAT is gelijkgetrokken met de code. Drie dingen, waarvan het eerste nu nog goedkoop mee kan. **1. `FILE_FORMAT.nl.md` mist §14.11.** De PR raakt vier docs-bestanden en de Nederlandse variant zit er niet bij. Dat is de versie die in de app wordt getoond, en `translate-docs-check` merkt het niet: die poort toetst of een variant bestaat en geregistreerd is, niet of hij bij is. Zo kon §14.9 (voetnoten) er helemaal uit blijven terwijl alles groen stond. Zeg het maar als ik de Nederlandse sectie erbij zet — hier, of als opvolg-PR direct na het mergen. **2. §14.11 zegt niet wat elke uitvoer met de marker doet**, terwijl de code dat wél regelt (een eigen blok in de LaTeX-uitvoer, kaarten in de HTML-uitvoer). §14.9 en §14.10 sluiten allebei af met dat rijtje per oppervlak, juist omdat dat is wat een lezer van het bestandsformaat wil weten: wat gebeurt er met mijn bytes als ik exporteer. Eén alinea volstaat. **3. Herkenning is iets ruimer dan de tekst zegt.** `TimelineTableSyntax` matcht `^\s*<!-- timeline -->\s*$`, dus een ingesprongen marker telt ook mee. De tekst zegt "this exact marker", en dat leest strenger dan de code is. Dezelfde nuance staat sinds #1568 bij `<!-- toc -->` in §14.10. Verder: de vorm klopt wat mij betreft. Een gewone GFM-tabel met een commentaar erboven, alleen de marker weghalen als volledige omkering, en een vreemde lezer die simpelweg de tabel toont — dat is precies wat §14.1 belooft en niet wat een eigen dialect ervan zou maken.
Merge remote-tracking branch 'origin/main' into codex/document-timeline
All checks were successful
scans / scans (pull_request) Successful in 2m51s
static-gate / static-gate (pull_request) Successful in 6m29s
e2d93847c0
brenno merged commit 266935fb29 into main 2026-08-19 10:02:34 +00:00
brenno deleted branch codex/document-timeline 2026-08-19 10:02:36 +00:00
Sign in to join this conversation.
No description provided.