Typst: logo from _brand.yml is drawn on every page and logo: false does not remove it
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 78/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- typescript, yaml
- Ambito
- backend
Direzione di ricerca
Inizia in src/core/brand/brand.ts da fillLogoPaths() e segui il percorso del suo risultato fino a resolveLogo() da src/format/typst/format-typst.ts. Controlla la gestione esistente di logo: false e lo sfondo della pagina Typst in src/resources/formats/typst/pandoc/quarto/page.typ. Il lavoro è completato quando il rendering con un logo del brand omette il logo con logo: false, mantenendo i colori e i caratteri del brand.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Bug description
When _brand.yml defines a logo, Typst output puts it in the page background of every page, and logo: false does not remove it, neither as a typst format option nor at the top level of the front matter.
revealjs honors logo: false with the same _brand.yml, and websites and books document it for navbar and sidebar (https://prerelease.quarto.org/docs/authoring/brand.html#disabling-the-logo).
For Typst, the only document-level switch I found is brand: false, which also drops the brand colors and fonts.
Steps to reproduce
_brand.yml
logo:
images:
mark:
path: logo.svg
alt: Logo
small: mark
logo.svg
<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100"><rect width="100" height="100" fill="#d33"/></svg>
doc.qmd
---
title: Logo test
format:
typst:
logo: false
---
First page paragraph.
{{< pagebreak >}}
Second page paragraph.
quarto render doc.qmd -M keep-typ:true
grep "set page(background" doc.typ
Same result with logo: false at the top level instead of under typst, and without logo at all.
Actual behavior
doc.typ always contains
#set page(background: align(left+top, box(inset: 0.75in, image("/logo.svg", width: 1.5in, alt: "Logo"))))
and the red square is drawn on both pages of the PDF.
Expected behavior
logo: false removes the logo in Typst output, while the rest of _brand.yml still applies.
Cause
The Typst format passes the document logo through fillLogoPaths() before resolveLogo():
resolveLogo() handles false since #13922 (for navbar and sidebar):
but fillLogoPaths() turns any falsy value into undefined first:
So resolveLogo() receives undefined and falls back to the first brand logo of small, medium, large, which the page.typ partial then sets as page background:
We could let false pass through fillLogoPaths() unchanged so the existing check in resolveLogo() applies.
Workaround
A Typst file in include-in-header that wraps article() and resets the background before any content:
#let quarto-article = article
#let article(..args) = {
set page(background: none)
quarto-article(..args)
}
format:
typst:
include-in-header: no-logo.typ
It resets any other page background too. A plain #set page(background: none) in include-before-body comes after the title block and adds an extra page.
Your environment
- Quarto 1.12.0 (prerelease), also 1.11.9
- Windows 11
- Lingua principale
- JavaScript
- Stelle
- 6.1k
- Fork
- 478
- Merge medio
- 17h 58m
- PR unite (30g)
- 135
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di quarto-dev/quarto-cli
-
accessibility bug embed
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
quarto-dev/quarto-cli#15306 ·
I maintainer di solito rispondono entro 1 giorno
-
bootstrap bug themes
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
quarto-dev/quarto-cli#15304 ·
I maintainer di solito rispondono entro 1 giorno
-
accessibility bug code-blocks html themes
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
quarto-dev/quarto-cli#15303 ·
I maintainer di solito rispondono entro 1 giorno
-
accessibility brand bug dark-mode
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
quarto-dev/quarto-cli#15301 ·
I maintainer di solito rispondono entro 1 giorno
-
bootstrap bug html tables
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
quarto-dev/quarto-cli#15300 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di quarto-dev/quarto-cli
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno
-
approved check:passed logos:add
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 74/100
I maintainer di solito rispondono entro 2 giorni
-
binding:python bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno
-
BUG: Unhandled TypeError in updateMedicine and updateDischargeLog when data is null/undefinedAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
AOSSIE-Org/BabyNest#310 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
bug needs-triage potential-regression
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
aws/aws-sdk-js-v3#8408 ·
I maintainer di solito rispondono entro 1 giorno