Switch to Jinja renderers #43

Open
opened 2026-08-10 14:05:06 +00:00 by msz · 0 comments
Contributor

The forgejo workflows use custom scripts from q02/pool-publication-page to create Markdown sources for person, project, and publication pages:

❱ rg "(person|project|publication).py"
publications.yml
65:          | uv run publication.py - ${{ steps.websitecheckout.outputs.path }}/content/publications

contributors-projects.yml
77:          | uv run person.py - ${{ steps.websitecheckout.outputs.path }}/content/contributors
85:          | uv run project.py - ${{ steps.websitecheckout.outputs.path }}/content/projects

This scripts perform page-specific transformation of received pool metadata and assemble the yaml header and markdown body. For what is done exactly, see functions / docstrings in each script.

The orinoco tooling instead feeds the processed pool metadata into Jinja templates using render-records from query-things. The idea is that data transformations are generic, and only the templates are specific. Convergence is desirable. Resolving requires figuring out if any transformations done in Python code here are really specific, and translating them to Jinja templating.

The forgejo workflows use custom scripts from [q02/pool-publication-page](https://hub.trr379.de/q02/pool-publication-page) to create Markdown sources for person, project, and publication pages: ❱ rg "(person|project|publication).py" publications.yml 65: | uv run publication.py - ${{ steps.websitecheckout.outputs.path }}/content/publications contributors-projects.yml 77: | uv run person.py - ${{ steps.websitecheckout.outputs.path }}/content/contributors 85: | uv run project.py - ${{ steps.websitecheckout.outputs.path }}/content/projects This scripts perform page-specific transformation of received pool metadata and assemble the yaml header and markdown body. For what is done exactly, see functions / docstrings in each script. The orinoco tooling instead feeds the processed pool metadata into Jinja templates using `render-records` from query-things. The idea is that data transformations are generic, and only the templates are specific. Convergence is desirable. Resolving requires figuring out if any transformations done in Python code here are really specific, and translating them to Jinja templating.
Sign in to join this conversation.
No labels
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
q04/www.trr379.de#43
No description provided.