Plugin fallbacks in HTML, PDF, and office exports #79
Labels
No Label
area:auth
area:docs
area:export
area:ops
area:storage
area:supply-chain
auth
backend
blocked
collab
deployment
docs
effort:L
effort:M
effort:S
frontend
plugins
qa
vs-nfd
vs-nfd:blocker
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: stwaidele/dorfteich#79
Loading…
Reference in New Issue
Block a user
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?
Context
Exports must degrade plugin content gracefully (manifest
fallback, ADR 0008).Scope
Extend the export renderers (#56 HTML, #67 PDF, #65 docx/odt):
plugin_blocknodes render the stored SVG/image fallback where present, else the manifest text fallback, else a neutral '[plugin content]' marker;sectionstyles inline as basic CSS in HTML/PDF and map to plain quoted blocks in docx/odt; resolve the TODO from #67.Acceptance criteria
Technical notes
Dependencies
Depends on #67, #76, #78.
Size: ~1 day
Conventions: English code/comments, clear human-readable code, no hard-coded UI strings (ADR 0012, add
deanden), permission checks only via the shared guard (docs/architecture/permissions.md). Read the referenced ADRs before starting.Umgesetzt in
9e8ebfe(CI grün) — damit ist M7 komplett (#70–#79).Akzeptanzkriterien (DB-Tests in
export.service.db.test.ts+ sharedexport-fallbacks.test.ts):<script>im Snapshot wird nachweislich entfernt), toc via Manifest-Text-Fallbackdorfteich-plugin-Fences, keine:::-Reste; Sections werden Zitatblöcke — AST-Transform, Verschachtelung überlebt)Bonus: Die öffentliche Leseansicht (#56) bekommt dieselben Fallbacks plus das aktive Section-CSS des Teichs inline — öffentliche Seiten zeigen gestylte Sections und statische Plugin-Inhalte ganz ohne Plugin-Runtime. Das #67-TODO in
pdf-html.tsist aufgelöst.