feat(export): waarschuwing voor losse bestandsverwijzingen bij .md/.tex-export op web #2176

Merged
brenno merged 4 commits from fix/web-export-asset-warning into main 2026-09-23 20:57:08 +00:00
Owner

Samenvatting

Een .md- of .tex-export op web vertrekt als één losse browser-download — de browser neemt geen map mee. Een document dat naar afbeeldingen of grafiekdata in losse bestanden verwees (images/…, mem:…, source: data/…), leverde zo stilletjes een bestand met dode paden. docs/design/DOCUMENT_MODE.md §11.4 eist daarom een waarschuwing in de interface; die ontbrak.

  • documentMarkdownHasExternalAssetRefs detecteert losse verwijzingen in de geprojecteerde exporttekst: relatieve en absolute mediapaden, mem:-assets, afbeeldingsbestemmingen met titel, HTML-media (img/video/audio/source) en chart-source:-velden. http(s)- en data:-verwijzingen tellen niet mee.
  • confirmDocumentExportWebAssetLoss vraagt vóór verzenden of de gebruiker doorgaat — gespiegeld aan de bevestiging die deck-opslag op web al had (#1954). Annuleren laat het document ongemoeid.
  • Alleen .md en .tex op web; HTML, PDF, DOCX, ePub en ODT sluiten de bytes wél in.
  • Waarschuwing gelokaliseerd in alle 31 talen via de spec-route.
  • Doc-drift: KNOWN_LIMITATIONS telde zes formaten, DOCX maakte het er zeven; DOCUMENT_MODE §11.4 meldt de waarschuwing nu als geland.

Testplan

  • 9 nieuwe tests: detector (relatief/absoluut/mem:/titel/HTML-media/chart-source/url/data:/platte tekst) en dialoog (uitleg, doorgaan=true, annuleren=false)
  • make check volledig groen (format, analyze, conventies, projectiegrens, methodelengte, dead-code, l10n-pariteit, tests, coverage, goldens)
  • make check-secrets en SAST schoon

Generated with Devin

## Samenvatting Een .md- of .tex-export op web vertrekt als één losse browser-download — de browser neemt geen map mee. Een document dat naar afbeeldingen of grafiekdata in losse bestanden verwees (`images/…`, `mem:…`, `source: data/…`), leverde zo stilletjes een bestand met dode paden. `docs/design/DOCUMENT_MODE.md` §11.4 eist daarom een waarschuwing in de interface; die ontbrak. - `documentMarkdownHasExternalAssetRefs` detecteert losse verwijzingen in de geprojecteerde exporttekst: relatieve en absolute mediapaden, `mem:`-assets, afbeeldingsbestemmingen met titel, HTML-media (`img`/`video`/`audio`/`source`) en chart-`source:`-velden. `http(s)`- en `data:`-verwijzingen tellen niet mee. - `confirmDocumentExportWebAssetLoss` vraagt vóór verzenden of de gebruiker doorgaat — gespiegeld aan de bevestiging die deck-opslag op web al had (#1954). Annuleren laat het document ongemoeid. - Alleen `.md` en `.tex` op web; HTML, PDF, DOCX, ePub en ODT sluiten de bytes wél in. - Waarschuwing gelokaliseerd in alle 31 talen via de spec-route. - Doc-drift: KNOWN_LIMITATIONS telde zes formaten, DOCX maakte het er zeven; DOCUMENT_MODE §11.4 meldt de waarschuwing nu als geland. ## Testplan - [x] 9 nieuwe tests: detector (relatief/absoluut/mem:/titel/HTML-media/chart-source/url/data:/platte tekst) en dialoog (uitleg, doorgaan=true, annuleren=false) - [x] `make check` volledig groen (format, analyze, conventies, projectiegrens, methodelengte, dead-code, l10n-pariteit, tests, coverage, goldens) - [x] `make check-secrets` en SAST schoon Generated with [Devin](https://devin.ai)
Een .md- of .tex-export op web vertrekt als één losse download — de browser
neemt geen map mee. Een document dat naar afbeeldingen of grafiekdata in
losse bestanden verwees, leverde zo stilletjes een bestand met dode paden.
DOCUMENT_MODE.md §11.4 eist daarom een waarschuwing in de interface.

documentMarkdownHasExternalAssetRefs vindt die verwijzingen (relatieve en
absolute mediapaden, mem:-assets, chart-source:) en
confirmDocumentExportWebAssetLoss vraagt voor het versturen of de gebruiker
doorgaat — gespiegeld aan de bevestiging die deck-opslag op web al had.
De insluitende formaten (HTML, PDF, DOCX, ePub, ODT) nemen de bytes wel mee.

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Negen tests: de detector herkent relatieve en absolute mediapaden,
mem:-verwijzingen, afbeeldingsbestemmingen met titel, HTML-media en
chart-source:, en laat http(s)- en data:-verwijzingen en gewone tekst
met rust. De dialoogtests toetsen de uitleg en beide knopuitkomsten.

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Twee nieuwe sleutels via de spec-route: de uitleg dat afbeeldingen en
grafiekdata niet meereizen in een losse .md- of .tex-download, plus de
aanbeveling voor een insluitend formaat of pakket.

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
docs: zeven exportformaten en de gelande web-waarschuwing voor losse verwijzingen
All checks were successful
scans / scans (pull_request) Successful in 3m1s
static-gate / static-gate (pull_request) Successful in 6m31s
832d6978bc
KNOWN_LIMITATIONS (EN+NL) telde nog zes formaten — DOCX maakte het er
zeven. DOCUMENT_MODE.md §11.4 vermeldt nu dat de waarschuwing geland is
in plaats van hem nog te eisen; SOURCE_MAP beschrijft de nieuwe
verantwoordelijkheid van de geraakte bestanden.

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
brenno merged commit 81d531f5dc into main 2026-09-23 20:57:08 +00:00
brenno deleted branch fix/web-export-asset-warning 2026-09-23 20:57:09 +00:00
Sign in to join this conversation.
No description provided.