Website category with a short backtick run before a longer one renders as broken code
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 83/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- typescript, yaml
- 領域
- backend
調査の方向性
src/core/pandoc/codegen.tsから始めて、issueによると最初のバッククォートの並びに基づいてラッパーを選ぶpandocNativeStrを読みます。_quarto.ymlとindex.qmdを使った再現例で問題のあるカテゴリを確認し、再度レンダリングして、両方のカテゴリでテキストが記述どおりに表示されることを確かめます。issueでは、この関数を使うReveal.jsのパスとURLにも言及していますが、その動作はテストされていません。
索引モデルが issue の本文から書いたものです。
説明
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...
- 主要言語
- JavaScript
- スター
- 6.1k
- フォーク
- 471
- 平均マージ
- 17時間 35分
- マージ済み PR(30日)
- 107
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
quarto-dev/quarto-cli のほかの issue
-
accessibility bug html websites
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
quarto-dev/quarto-cli#15187 ·
メンテナーはふだん 1 日以内に返信
-
enhancement themes websites
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
quarto-dev/quarto-cli#15179 ·
メンテナーはふだん 1 日以内に返信
-
about-page bug layout websites
難易度 1/5 1〜3時間 初心者へのやさしさ 82/100
quarto-dev/quarto-cli#15178 ·
メンテナーはふだん 1 日以内に返信
-
bug websites
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
quarto-dev/quarto-cli#15176 ·
メンテナーはふだん 1 日以内に返信
-
a11y: prev/next page links and title breadcrumbs use `$text-muted` and fail contrast on dark themesオープンaccessibility bug
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
quarto-dev/quarto-cli#15175 ·
メンテナーはふだん 1 日以内に返信
quarto-dev/quarto-cli の issue をすべて見る
似ている issue
-
[ordering-review] workshop order graph: 1 confirmed ordering problem, 3 cycles are false positivesオープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
githubnext/gh-aw-workshop#4943 ·
メンテナーはふだん 1 日以内に返信
-
[guide] Public Sector User Group page names wrong Slack channel対応中かも @hivecommons-hive が今日担当しました。 オープンagent/guide documentation hive/claimed-by-guide stage/040-covered-by-pr
難易度 1/5 1時間未満 初心者へのやさしさ 88/100
cncf/endusers#1874 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
Edit: ElyssaTV.tn@HDオープンcheck:passed feeds:edit
難易度 1/5 1時間未満 初心者へのやさしさ 82/100
-
bug good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 63/100
oskarrough/dodgethis#115 ·
メンテナーはふだん 1 日以内に返信