Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Notebook previews don't pick up options from a custom format extension

Ouverte
#14,954 3 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
3/5
Temps estimé
1-2 jours
Accessibilité débutants
82/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
Active
Stack technique
typescript
Domaine
cli

Piste de recherche

Start in src/render/notebook/notebook-contributor-html.ts at renderHtmlNotebook and compare the preview render with the host and notebook renders. Reproduce the issue using the four-file project in the report, run quarto render, and check the three grep counts. Done means notebook-preview.html includes the custom format's from-myformat tag, matching the other pages.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

embed enhancement
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

When a page embeds a notebook cell with {{< embed >}}, Quarto also builds a preview page for that notebook.
I noticed that if the project uses a custom format from an extension, the preview doesn't get that format's options.
The host page and the notebook's own page get them just fine.
With the built-in html format, the preview gets the same options as the other pages, which is what I'd expect.

I'm not completely sure this isn't intended, but it does feel like a bug.

I think it comes from renderHtmlNotebook in src/render/notebook/notebook-contributor-html.ts.
It renders the preview with formats: ["html"] and only carries over the host format's theme, so the rest of a custom format's options are left behind.

I ran into this while moving the quarto.org theme into a local extension.
The notebook previews there lost the header and footer scripts that the site's format adds.

Steps to reproduce

Here's a small project with four files, and none of them need a computation engine.

_quarto.yml:

project:
  type: default

format: myformat-html

_extensions/myformat/_extension.yml:

title: My Format
author: Example
version: 1.0.0
contributes:
  formats:
    html:
      include-in-header:
        text: '<meta name="from-myformat" content="yes">'

index.qmd:

---
title: "Host page"
---

{{< embed notebook.ipynb#cell-hello >}}

notebook.ipynb:

{
 "cells": [
  {
   "cell_type": "raw",
   "metadata": {},
   "source": [
    "---\n",
    "title: Notebook\n",
    "---"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "c1",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "hello\n"
     ]
    }
   ],
   "source": [
    "#| label: cell-hello\n",
    "print(\"hello\")"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}

Then render it and look for the tag in each page:

quarto render
grep -c 'from-myformat' index.html notebook.html notebook-preview.html
Actual behavior

The tag from the custom format is missing from the preview:

index.html:1
notebook.html:1
notebook-preview.html:0
Expected behavior

I'd expect the preview to get the custom format's options, like the other two pages:

index.html:1
notebook.html:1
notebook-preview.html:1

That's exactly what happens with the built-in format.
If you swap format: myformat-html in _quarto.yml for the following, all three pages have the tag:

format:
  html:
    include-in-header:
      text: '<meta name="from-myformat" content="yes">'
Your environment
  • IDE: none, I ran quarto render from the terminal.
  • OS: macOS 27.0.
  • I also reproduced it with a development build of quarto-cli at 5757cfc88.
Quarto check output
Quarto 1.10.18

[✓] Checking environment information...
      Quarto cache location: /Users/mcanouil/Library/Caches/quarto

[✓] 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: 1.10.18
      Path: ~/quarto-1.10.18/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.9.6
      Path: /Library/Developer/CommandLineTools/usr/bin/python3
      Jupyter: (None)

      Jupyter is not available in this Python installation.
      Install with python3 -m pip install jupyter

[✓] Checking Julia installation...
Langage dominant
JavaScript
Étoiles
6.1k
Forks
471
Merge moyen
16 h 41 min
PR mergées (30 j)
102

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de quarto-dev/quarto-cli

Toutes les issues de quarto-dev/quarto-cli

Issues similaires

Plus d'issues JavaScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.