Add letter templates that pair with the CV templates #3

Open
opened 2026-10-01 07:02:05 +00:00 by tiagoagueda · 1 comment
Owner

The list asks for "Templates for cover / motivation letters". The core has one kind for both, letter, and two built-in themes that set it.

What a letter template is given

The context the core builds (render_letter_html in the core's src/postulo/documents/rendering.py): letter, subject, body with its placeholders filled, contact, application, document_language, document_direction, document_title and csp_nonce. It can extend the core's base_letter.html or write the whole document.

What the plugin should do

  • A letter template for every CV template of #2, under the same theme name, so that one theme sets cv, portfolio and letter and what is sent together looks like one set. postulo/postulo#132 names the failure this avoids: a classic CV arriving beside a plain letter.
  • Each honours document_direction, carries its translations (#7) and its assets (#8), and says which paper it is made for (#9).
  • The date and the sender's and recipient's blocks follow the document's language, not a fixed English order.

Decisions

  • Cover letter and motivation letter. The core does not tell them apart. Recommended: one letter template per family serves both; a second layout only if somebody shows the two differ on paper.
  • A letter with no CV. Recommended: every letter template stands alone too, with the sender's details at the top.

Needs from the core

Nothing.

Done when

  • Each CV template has a letter under the same name, offered in the letter's picker, and both draw without overflow in both renderers.
  • A letter in a right-to-left language is laid out right to left.

New strings go through uv run postulo-messages extract, with French and European Portuguese filled on the commit and the European Union catalogues before a tag, as in the other official plugins (#7).

From the list of template improvements of 2026-09-30.

The list asks for "Templates for cover / motivation letters". The core has one kind for both, `letter`, and two built-in themes that set it. ## What a letter template is given The context the core builds (`render_letter_html` in the core's `src/postulo/documents/rendering.py`): `letter`, `subject`, `body` with its placeholders filled, `contact`, `application`, `document_language`, `document_direction`, `document_title` and `csp_nonce`. It can extend the core's `base_letter.html` or write the whole document. ## What the plugin should do - A letter template for every CV template of #2, under the same theme name, so that one theme sets `cv`, `portfolio` and `letter` and what is sent together looks like one set. postulo/postulo#132 names the failure this avoids: a classic CV arriving beside a plain letter. - Each honours `document_direction`, carries its translations (#7) and its assets (#8), and says which paper it is made for (#9). - The date and the sender's and recipient's blocks follow the document's language, not a fixed English order. ## Decisions - **Cover letter and motivation letter.** The core does not tell them apart. Recommended: one letter template per family serves both; a second layout only if somebody shows the two differ on paper. - **A letter with no CV.** Recommended: every letter template stands alone too, with the sender's details at the top. ## Needs from the core Nothing. ## Done when - Each CV template has a letter under the same name, offered in the letter's picker, and both draw without overflow in both renderers. - A letter in a right-to-left language is laid out right to left. New strings go through `uv run postulo-messages extract`, with French and European Portuguese filled on the commit and the European Union catalogues before a tag, as in the other official plugins (#7). From the list of template improvements of 2026-09-30.
Author
Owner

From the status review of 2026-10-30: suggested order for the open template work is this issue first (a letter that pairs with the Europass CV theme, so a person can send a matching pair), then #5 once core #341 lands (its PR is open), then #4 and #6.

From the status review of 2026-10-30: suggested order for the open template work is this issue first (a letter that pairs with the Europass CV theme, so a person can send a matching pair), then #5 once core #341 lands (its PR is open), then #4 and #6.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
Postulo/postulo-templates#3
No description provided.