Add plain text output format#764
Open
eldios wants to merge 1 commit into
rendercv:mainrendercv/rendercv:mainfrom
eldios:feat/plain-text-renderereldios/rendercv:feat/plain-text-rendererCopy head branch name to clipboard
Open
Add plain text output format#764eldios wants to merge 1 commit intorendercv:mainrendercv/rendercv:mainfrom eldios:feat/plain-text-renderereldios/rendercv:feat/plain-text-rendererCopy head branch name to clipboard
eldios wants to merge 1 commit into
rendercv:mainrendercv/rendercv:mainfrom
eldios:feat/plain-text-renderereldios/rendercv:feat/plain-text-rendererCopy head branch name to clipboard
Conversation
eldios
force-pushed
the
feat/plain-text-renderer
branch
2 times, most recently
from
July 23, 2026 22:33
46893c6 to
8d6a7a5
Compare
eldios
force-pushed
the
feat/plain-text-renderer
branch
from
July 23, 2026 22:35
8d6a7a5 to
3b508db
Compare
Author
|
About the failing pre-commit check: the ty-check hook installs ty with >=0.0.24, so it picks up the latest release, and recent ty versions report errors on files this PR does not touch. Running the same hook locally with ty pinned to the version resolved in uv.lock (0.0.24), the whole pre-commit suite passes, ty-check included. I left the hook configuration untouched here since it is not part of this change; happy to update the pin in a separate PR if useful. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #763
What
Adds a plain text (
.txt) output format alongside the existing PDF, Typst, Markdown, HTML and PNG outputs, as proposed in #763.generate_text()renderer (renderer/text.py), same structure as the Markdown renderertemplater/templates/text/(header, section begin/end, one template per entry type)markdown_to_plain_text()in the Markdown parser: emphasis and code markers stripped, links rendered aslabel (url)when the URL adds information over the link textcompute_connections_for_text)text_pathanddont_generate_textsettings,--text-path/--dont-generate-textCLI options, wired through the model builderentry_indexandentries_count, so numbered entries can carry real numbers in formats that have no renderer doing the numbering; existing templates do not use them, so there is no behavior changeThe regenerated binary artifacts (example PDFs, PNGs, Typst files) are intentionally left out to keep the diff reviewable; the generated-files tests only require the example YAMLs and schema.json to be current.
User template overrides work exactly as for the other formats: placing a
text/directory next to the input file allows full restyling of the txt output (80-column layouts, ASCII tables, custom headers) without touching the core.Test plan
Ran the full test suite and regenerated the reference files with
just update-testdata, which produced the newtests/renderer/testdata/test_text/references for the minimal and full models. Added unit tests formarkdown_to_plain_text(). Also rendered a complete real-world CV to text and reviewed the output side by side with the Markdown and PDF versions.