Repository navigation
Conversation
The theme declared a wordmark that neither title partial used, and the SVG was invalid XML: its comment contained "--primary", which XML forbids inside <!-- -->, so rsvg-convert refused the file. - Reword the SVG comment and record the ui-kit source file. - Ship a vector policyengine-wordmark.pdf, built by scripts/build-wordmark-pdf.sh and listed under the PDF format-resources, so xelatex includes it with no conversion at render time. The SVG is an HTML format-resource. - Both title blocks place the wordmark above the kicker by default. `wordmark: false` omits it, for a document or for one format. While it shows, it replaces the theme's fallback "PolicyEngine" byline. - before-title.tex loads graphicx, which Quarto's template loads only under its `graphics` variable. - scripts/check.sh validates the SVGs, checks that the PDF still matches the SVG, and renders the example plus opt-out, per-format, embedded, base-format and website cases. A new Check workflow runs it on Quarto 1.7.34 and 1.10.19. - README and example/paper.qmd document the key and the copied files. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
Status: draft. It moves out of draft once the new Check workflow passes on both Quarto versions and a GPT-6.1 Sol review agrees.
Problem
theme-policyengine.ymldeclareswordmark: assets/policyengine-wordmark.svg, but no partial reads it, so neitherpolicyengine-paper-pdfnorpolicyengine-paper-htmlever placed the logo. The SVG was also invalid XML. Line 2's comment contained--primary, and XML forbids a double hyphen inside<!-- -->, soxmllintandrsvg-convertboth rejected it ("Double hyphen within comment").PolicyEngine/crfb-m4a@77ab70f worked around this locally. It added a converted PDF and a per-document
policyengine-wordmark-pdfkey in a vendoredtitle.tex. This PR fixes it upstream.Change
policyengine-ui-kit/src/assets/logos/policyengine/teal.svg. The path data is unchanged and identical to ui-kitf6a462b.assets/policyengine-wordmark.pdfis built from the SVG byscripts/build-wordmark-pdf.sh(rsvg-convert,SOURCE_DATE_EPOCHpinned, so the output is byte-stable for a given cairo). It is listed under the PDFformat-resources, so xelatex includes it with no conversion at render time. The SVG is an HTMLformat-resource. Quarto copies format resources beside the document by basename. The theme therefore names the copies:wordmark-pdf,wordmark-svgandwordmark-altreplace the unusedwordmarkpath.\includegraphics[height=0.3in,alt={PolicyEngine}]above the kicker.before-title.texloads graphicx, because Quarto's template loads it only under itsgraphicsvariable.<img class="policyengine-wordmark" src="policyengine-wordmark.svg" alt="PolicyEngine">above the kicker, styled 2.25rem tall inpolicyengine.scss.wordmark: true.wordmark: falseomits the wordmark from a document, or from one format when set under that format.policyengine-affiliationsdiv.example/paper.qmdsetswordmark: truewith a comment.scripts/check.shand.github/workflows/check.ymlnow run on Quarto 1.7.34 (the declaredquarto-requiredfloor) and 1.10.19 (current stable).Properties checked (
scripts/check.sh)wordmark: false: no wordmark in either format, and the fallback byline prints in both.wordmark: falseunderpolicyengine-paper-pdfonly: no wordmark in the PDF, wordmark in the HTML.embed-resources: true: the wordmark is inlined as adata:image/svg+xmlURI with no link to the file.policyengine-htmlformat places the wordmark.output-dircopies the SVG beside the rendered page.Mutation runs confirm the script fails when the double hyphen is restored, when the PDF drifts, when
title.texdrops the wordmark, and when the HTML ignores the opt-out.Verification
scripts/check.shpasses locally: 29/29 on Quarto 1.9.36, pandoc 3.8.3, TeX Live 2026.Known gap, not changed here
The base extension's
policyengine-pdfformat already fails onmain, before this change. Quarto resolves itspolicyengine-font-dir: fontsto../_extensions/policyengine/fonts, pandoc escapes the underscore to\_, and fontspec cannot load the fonts ("Missing \begin{document}"). Thepolicyengine-paper-pdfformat is unaffected, becausefontsdoes not exist relative to that extension.scripts/check.shtherefore renders only the base HTML format. A follow-up will fix the base PDF format.axiom: n/a: Quarto document format, no policy logic
🤖 Generated with Claude Code