feat: add latex_serif export template and fonts#5
Conversation
Introduce a new "latex_serif" (LaTeX-style serif) export template across the app. Update README and allowed template set; add full generator support for DOCX and ODT formats including layout code to match the PDF LaTeX look. Bundle CMU Serif and Font Awesome TTFs plus license files, implement DOCX OOXML font obfuscation/embedding and ODT handling (with icon rasterization fallback), and add layout helpers (small-caps name, hfill rows, itemized bullets, etc.). Update tests and front-end bits to surface the new template; DOCX embedding falls back to font-name-only if embedding fails. Include sidebar resize and improved diff UI.
Suggested tests for this PRPR title: feat: add latex_serif export template and fonts PR description:
Based on the title, description, and changed files below, please make sure the PR includes tests that:
Changed backend code files:
These modules changed but do not appear to have matching test updates — please add tests:
|
Introduce a new "latex_serif" (LaTeX-style serif) export template across the app. Update README and allowed template set; add full generator support for DOCX and ODT formats including layout code to match the PDF LaTeX look. Bundle CMU Serif and Font Awesome TTFs plus license files, implement DOCX OOXML font obfuscation/embedding and ODT handling (with icon rasterization fallback), and add layout helpers (small-caps name, hfill rows, itemized bullets, etc.). Update tests and front-end bits to surface the new template; DOCX embedding falls back to font-name-only if embedding fails. Include sidebar resize and improved diff UI.
Summary
Type of change
fix: ...— bug fix → patch bump (0.0.x)feat: ...— new feature → minor bump (0.x.0)feat!: .../BREAKING CHANGE— breaking change → major bump (x.0.0)chore:/docs:/ci:/refactor:— no release createdPR title format
Your PR title becomes the commit message on merge and determines the version bump:
Pattern:
type(optional-scope): short description in lowercaseChecklist
backend/tests/for any changedbackend/app/codepytestpasses locally (cd backend && pytest)