Choose the paper: a size and orientation for an export, themes that declare what they support, and both renderers honouring it #344
Labels
No labels
accessibility
authentication
breaking change
bug
documentation
enhancement
interface
internationalisation
observability
performance
security
tier
1
tier
2
tier
3
tier/4
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
Postulo/postulo#344
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?
Every document Postulo draws is A4 portrait. The templates plugin is asked that a template be either "fluid", printing well "in all common formats and orientations", or restricted, "for example, export only to portrait A4 paper size" (postulo/postulo-templates#9). Today nobody can choose a paper, a theme cannot say what it supports, and one renderer would ignore it anyway.
What exists today
PAGE_FORMAT = "A4"andPAGE_MARGIN = "18mm"are constants (src/postulo/documents/pdf.py).@pagerule a template writes. Every one in the repository sayssize: A4: the six built-in theme files and the report.page.pdf(format=PAGE_FORMAT, margin=…)with no orientation and without the option that prefers the page's own size, so a template's@pagesize is ignored there (read from the code and the renderer's documented default; not tried).src/postulo/documents/docx.py).Themehas four fields:name,label,templates,provider. Nothing declares a format.tests/test_pdf_render.py).Proposal
Decisions
Needed by
postulo/postulo-templates#9, and the wide documents of #341 and #342.
Done when
postulo.plugins.apiget their line in the wiki's Writing a plugin (tests/test_wiki_surface.py) and a test intests/test_plugin_surface.py; new pages join the page-coverage walk (tests/test_page_coverage.py) and the isolation sweep (tests/security/test_isolation_sweep.py); new strings go in the working catalogues (English, French, and European and Brazilian Portuguese as drafts).From the list of template improvements of 2026-09-30.