Bug description
When a .qmd/.ipynb document uses engine: jupyter, the lightbox.group cell option set via #| YAML comments is silently ignored (passed on to "metadata" in Jupyter notebook).
Each figure ends up in its own auto-generated gallery instead of the shared gallery specified by group.
The same option works correctly with the knitr engine.
This was reported in Discussion #14392.
Steps to reproduce
---
title: "Lightbox Example"
format:
html:
lightbox:
match: auto
engine: jupyter
---
## First plot
```{python}
#| label: fig-sine
#| fig-cap: "Sine plot"
#| lightbox:
#| group: figs
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 100)
plt.figure()
plt.plot(x, np.sin(x))
plt.title("Sine")
plt.show()
```
## Second plot
```{python}
#| label: fig-cosine
#| fig-cap: "Cosine plot"
#| lightbox:
#| group: figs
plt.figure()
plt.plot(x, np.cos(x))
plt.title("Cosine")
plt.show()
```
Actual behaviour
Clicking either figure opens the lightbox, but no gallery navigation arrows appear — each image is in its own isolated gallery.
The rendered <a> elements have data-gallery set to auto-generated values (quarto-lightbox-gallery-1, quarto-lightbox-gallery-2) rather than figs.
Expected behaviour
Both figures should be in the same gallery (data-gallery="figs"), so the lightbox shows navigation arrows that cycle between the two plots.
Your environment
Quarto check output
Quarto 99.9.9
[✓] Checking environment information...
Quarto cache location: /Users/mcanouil/Library/Caches/quarto
[✓] Checking versions of quarto binary dependencies...
Pandoc version 3.8.3: OK
Dart Sass version 1.87.0: OK
Deno version 2.4.5: OK
Typst version 0.14.2: OK
[✓] Checking versions of quarto dependencies......OK
[✓] Checking Quarto installation......OK
Version: 99.9.9
commit: 2355f229b2764eae02b1f9916ac6e208d0909d02
Path: /Users/mcanouil/Projects/quarto-dev/quarto-cli/package/dist/bin
[✓] Checking tools....................OK
TinyTeX: v2026.02
Chrome Headless Shell: (not installed)
VeraPDF: (not installed)
[✓] Checking LaTeX....................OK
Using: TinyTex
Path: /Users/mcanouil/Library/TinyTeX/bin/universal-darwin
Version: 2025
[✓] Checking Chrome Headless....................OK
Using: Chrome from QUARTO_CHROMIUM
Path: /Applications/Brave Browser.app/Contents/MacOS/Brave Browser
[✓] Checking basic markdown render....OK
(/) Checking R installation...........ℹ R version 4.5.3 (2026-03-11)
! Config '~/.Rprofile' was loaded!
[✓] Checking R installation...........OK
Version: 4.5.3
Path: /Library/Frameworks/R.framework/Resources
LibPaths:
- /Library/Frameworks/R.framework/Versions/4.5-arm64/Resources/library
knitr: 1.50
rmarkdown: 2.30
[✓] Checking Knitr engine render......OK
[✓] Checking Python 3 installation....OK
Version: 3.14.4
Path: /Users/mcanouil/Projects/quarto-dev/quarto-cli/tests/.venv/bin/python3
Jupyter: 5.9.1
Kernels: quarto-brand, uv, julia-1.12, python3
[✓] Checking Jupyter engine render....OK
[✓] Checking Julia installation...
Bug description
When a
.qmd/.ipynbdocument usesengine: jupyter, thelightbox.groupcell option set via#|YAML comments is silently ignored (passed on to "metadata" in Jupyter notebook).Each figure ends up in its own auto-generated gallery instead of the shared gallery specified by
group.The same option works correctly with the knitr engine.
This was reported in Discussion #14392.
Steps to reproduce
Actual behaviour
Clicking either figure opens the lightbox, but no gallery navigation arrows appear — each image is in its own isolated gallery.
The rendered
<a>elements havedata-galleryset to auto-generated values (quarto-lightbox-gallery-1,quarto-lightbox-gallery-2) rather thanfigs.Expected behaviour
Both figures should be in the same gallery (
data-gallery="figs"), so the lightbox shows navigation arrows that cycle between the two plots.Your environment
Quarto check output
Quarto 99.9.9 [✓] Checking environment information... Quarto cache location: /Users/mcanouil/Library/Caches/quarto [✓] Checking versions of quarto binary dependencies... Pandoc version 3.8.3: OK Dart Sass version 1.87.0: OK Deno version 2.4.5: OK Typst version 0.14.2: OK [✓] Checking versions of quarto dependencies......OK [✓] Checking Quarto installation......OK Version: 99.9.9 commit: 2355f229b2764eae02b1f9916ac6e208d0909d02 Path: /Users/mcanouil/Projects/quarto-dev/quarto-cli/package/dist/bin [✓] Checking tools....................OK TinyTeX: v2026.02 Chrome Headless Shell: (not installed) VeraPDF: (not installed) [✓] Checking LaTeX....................OK Using: TinyTex Path: /Users/mcanouil/Library/TinyTeX/bin/universal-darwin Version: 2025 [✓] Checking Chrome Headless....................OK Using: Chrome from QUARTO_CHROMIUM Path: /Applications/Brave Browser.app/Contents/MacOS/Brave Browser [✓] Checking basic markdown render....OK (/) Checking R installation...........ℹ R version 4.5.3 (2026-03-11) ! Config '~/.Rprofile' was loaded! [✓] Checking R installation...........OK Version: 4.5.3 Path: /Library/Frameworks/R.framework/Resources LibPaths: - /Library/Frameworks/R.framework/Versions/4.5-arm64/Resources/library knitr: 1.50 rmarkdown: 2.30 [✓] Checking Knitr engine render......OK [✓] Checking Python 3 installation....OK Version: 3.14.4 Path: /Users/mcanouil/Projects/quarto-dev/quarto-cli/tests/.venv/bin/python3 Jupyter: 5.9.1 Kernels: quarto-brand, uv, julia-1.12, python3 [✓] Checking Jupyter engine render....OK [✓] Checking Julia installation...