Skip to content

Lightbox cell option ignored when using Jupyter engine #14432

@mcanouil

Description

@mcanouil

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

  • OS: macOS 25.3.0

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...

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingengines-jupyterAnything related to Jupyter enginelightbox

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions