Website category with a short backtick run before a longer one renders as broken code
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
- 83/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/pandoc/codegen.ts e leggi pandocNativeStr, che, secondo quanto indicato nell’issue, sceglie un wrapper in base alla prima sequenza di backtick. Usa la riproduzione con _quarto.yml e index.qmd per confermare la categoria difettosa, quindi esegui di nuovo il rendering per verificare che entrambe le categorie mostrino il testo così come è stato scritto. L’issue menziona anche percorsi e URL di Reveal.js che usano questa funzione; il loro comportamento non è stato testato.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
I have
- searched the issue tracker for similar issues
- installed the latest version of Quarto CLI
- formatted my issue following the Bug Reports guide
Bug description
A website category that holds a backtick run followed later by a longer run renders as a broken code span, with Quarto's internal markup showing on the page.
A category whose longest run comes first renders fine.
Quarto passes each category to Pandoc as inline code with the {=pandoc-native} raw attribute, so that Markdown does not touch it.
pandocNativeStr in src/core/pandoc/codegen.ts makes that wrapper one backtick longer than the first run in the text, not the longest.
A later, longer run then closes the inline code early.
The Reveal.js script paths and the Reveal.js URL go through the same function, but I have not tried those.
A roborev code review flagged this while I was working on something else, and I confirmed it with the smaller example below. (A bit of an edge case)
Steps to reproduce
_quarto.yml:
project:
type: website
index.qmd:
---
title: "Categories with backticks"
categories:
- "a`b``c"
- "x``y`z"
---
Text.
Then run quarto render.
Actual behavior
The first category is broken, and the second one is correct:
<div class="quarto-category"><code>Str "a`b</code>c”``{=pandoc-native}</div>
<div class="quarto-category">x``y`z</div>
Expected behavior
Both categories show their text as written:
<div class="quarto-category">a`b``c</div>
<div class="quarto-category">x``y`z</div>
Your environment
- IDE: none, command line.
- OS: macOS 27.0.
Quarto check output
Reproduced with a development build of main at b9df97903.
Quarto 99.9.9
[✓] Checking environment information...
Quarto cache location: /Users/mcanouil/Library/Caches/quarto
Project: none found (single-file mode)
[✓] Checking versions of quarto binary dependencies...
Pandoc version 3.10.0: OK
Dart Sass version 1.101.0: OK
Deno version 2.7.14: OK
Typst version 0.15.1: OK
[✓] Checking versions of quarto dependencies......OK
[✓] Checking Quarto installation......OK
Version: 99.9.9
commit: b9df97903771dcd2135117da49a055122686156d
Path: /Users/mcanouil/Projects/quarto-dev/quarto-cli/package/dist/bin
[✓] Checking tools....................OK
TinyTeX: v2026.07
Chrome Headless Shell: (not installed)
VeraPDF: (not installed)
[✓] Checking LaTeX....................OK
Using: TinyTex
Path: /Users/mcanouil/Library/TinyTeX/bin/universal-darwin
Version: 2026
[✓] Checking Chrome Headless....................OK
Using: Chrome from QUARTO_CHROMIUM
Path: /Applications/Brave Browser.app/Contents/MacOS/Brave Browser
[✓] Checking basic markdown render....OK
ℹ R version 4.6.1 (2026-06-24)
! Config '~/.Rprofile' was loaded!
[✓] Checking R installation...........OK
Version: 4.6.1
Path: /Library/Frameworks/R.framework/Versions/4.6/Resources
LibPaths:
- /Users/mcanouil/Library/R/arm64/4.6/library
- /Library/Frameworks/R.framework/Versions/4.6/Resources/library
knitr: 1.51
rmarkdown: 2.31
[✓] Checking Knitr engine render......OK
[✓] Checking Python 3 installation....OK
Version: 3.14.7
Path: /Users/mcanouil/Projects/quarto-dev/quarto-cli/tests/.venv/bin/python3
Jupyter: 5.9.1
Kernels: julia-1.12, python3
[IPKernelApp] WARNING | Kernel is running over TCP without encryption. All communication (including code and outputs) is sent in plain text and is susceptible to eavesdropping. Use IPC transport or launch with kernel manager-provisioned CurveZMQ keys to enable transport encryption.
[✓] Checking Jupyter engine render....OK
[✓] Checking Julia installation...
- Lingua principale
- JavaScript
- Stelle
- 6.1k
- Fork
- 471
- Merge medio
- 22h 12m
- PR unite (30g)
- 103
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 website-navigation
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
quarto-dev/quarto-cli#15123 ·
I maintainer di solito rispondono entro 1 giorno
-
accessibility html websites
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
quarto-dev/quarto-cli#15096 ·
I maintainer di solito rispondono entro 1 giorno
-
accessibility bootstrap dark-mode enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
quarto-dev/quarto-cli#15060 ·
I maintainer di solito rispondono entro 1 giorno
-
Code annotation gutter keeps a grey background when code blocks have none (`code-block-bg: false`)Apertabug code-annotation code-blocks themes
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
quarto-dev/quarto-cli#15059 ·
I maintainer di solito rispondono entro 1 giorno
-
bug callouts code-blocks themes
Difficoltà 1/5 1-3 ore Idoneità per principianti 82/100
quarto-dev/quarto-cli#15058 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di quarto-dev/quarto-cli
Issue simili
-
[Bug]: fileUploadMatrix.test.ts URL case does a real DNS lookup and fails offlineForse già presa @r2jaff l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
ComposioHQ/composio#5054 ·
I maintainer di solito rispondono entro 1 giorno
-
W3cAperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
web-platform-tests/wpt#64017 ·
I maintainer di solito rispondono entro 1 giorno
-
routine:ci-review
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
harlan-zw/unlighthouse#456 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
beginner enhancement good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
philaconvalley/website#217 ·
I maintainer di solito rispondono entro 1 giorno
-
[Bug] xiaohongshu search_input_not_available on accounts with new AI-search layout (gray rollout)Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 2 giorni