From 7969fb81d9886a366ebd8c1faf45c8db102d4e8b Mon Sep 17 00:00:00 2001 From: Christophe Dervieux Date: Fri, 6 Feb 2026 13:50:15 +0100 Subject: [PATCH 01/13] syntax-highlighting is the new settings now --- docs/books/book-output.qmd | 6 +++--- docs/get-started/authoring/_authoring-complete.qmd | 2 +- docs/get-started/authoring/_text-editor.md | 4 ++-- docs/get-started/authoring/jupyter.qmd | 4 ++-- docs/get-started/authoring/rstudio.qmd | 6 +++--- docs/output-formats/ms-word.qmd | 2 +- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/docs/books/book-output.qmd b/docs/books/book-output.qmd index d17e86d4b5..b086fe6f03 100644 --- a/docs/books/book-output.qmd +++ b/docs/books/book-output.qmd @@ -13,19 +13,19 @@ If you want to specify rendering options (including format-specific options), yo Here's an example configuration: ``` yaml -highlight-style: pygments +syntax-highlighting: pygments format: html: theme: cosmo code-copy: true pdf: default - + bibliography: references.bib csl: citestyle.csl ``` -Note that in the above configuration the `highlight-style` option applies to all formats whereas the `html` options apply to only HTML output. The bibliography related options naturally also apply to all formats. +Note that in the above configuration the `syntax-highlighting` option applies to all formats whereas the `html` options apply to only HTML output. The bibliography related options naturally also apply to all formats. ## Reader Tools diff --git a/docs/get-started/authoring/_authoring-complete.qmd b/docs/get-started/authoring/_authoring-complete.qmd index 49fe1102aa..2cdd7b3a8b 100644 --- a/docs/get-started/authoring/_authoring-complete.qmd +++ b/docs/get-started/authoring/_authoring-complete.qmd @@ -3,7 +3,7 @@ title: "Housing Prices" author: "Mine Çetinkaya-Rundel" toc: true number-sections: true -highlight-style: pygments +syntax-highlighting: pygments format: html: code-fold: true diff --git a/docs/get-started/authoring/_text-editor.md b/docs/get-started/authoring/_text-editor.md index e13497fe76..e56e5bfafb 100644 --- a/docs/get-started/authoring/_text-editor.md +++ b/docs/get-started/authoring/_text-editor.md @@ -70,7 +70,7 @@ title: "Quarto Document" author: "Norah Jones" toc: true number-sections: true -highlight-style: pygments +syntax-highlighting: pygments format: pdf: geometry: @@ -95,7 +95,7 @@ The next three lines are document format options that *apply to all formats*. wh ``` yaml toc: true number-sections: true -highlight-style: pygments +syntax-highlighting: pygments ``` Next, we have the `format` option, where we provide format-specific options. diff --git a/docs/get-started/authoring/jupyter.qmd b/docs/get-started/authoring/jupyter.qmd index d64f88e132..d78a898b17 100644 --- a/docs/get-started/authoring/jupyter.qmd +++ b/docs/get-started/authoring/jupyter.qmd @@ -69,7 +69,7 @@ title: "Quarto Document" author: "Norah Jones" toc: true number-sections: true -highlight-style: pygments +syntax-highlighting: pygments format: html: code-fold: true @@ -100,7 +100,7 @@ which is why they are specified at the root level. ``` yaml toc: true number-sections: true -highlight-style: pygments +syntax-highlighting: pygments ``` Next, we have the `format` option, where we provide format-specific options. diff --git a/docs/get-started/authoring/rstudio.qmd b/docs/get-started/authoring/rstudio.qmd index 148a36352e..ca128bf138 100644 --- a/docs/get-started/authoring/rstudio.qmd +++ b/docs/get-started/authoring/rstudio.qmd @@ -105,7 +105,7 @@ Let's add the `html` and `docx` formats to our document and modify some options --- title: "Housing Prices" author: "Mine Çetinkaya-Rundel" -highlight-style: pygments +syntax-highlighting: pygments format: html: code-fold: true @@ -133,7 +133,7 @@ The next line is a document format option that *applies to all formats*, which i ``` yaml --- -highlight-style: pygments +syntax-highlighting: pygments --- ``` @@ -199,7 +199,7 @@ title: "Housing Prices" author: "Mine Çetinkaya-Rundel" toc: true number-sections: true -highlight-style: pygments +syntax-highlighting: pygments format: html: code-fold: true diff --git a/docs/output-formats/ms-word.qmd b/docs/output-formats/ms-word.qmd index babcc9ec91..b16bcc8cb3 100644 --- a/docs/output-formats/ms-word.qmd +++ b/docs/output-formats/ms-word.qmd @@ -14,7 +14,7 @@ format: docx: toc: true number-sections: true - highlight-style: github + syntax-highlighting: github --- ``` From 4c05a74d3da74d029677c370266b72c7b11f4289 Mon Sep 17 00:00:00 2001 From: Christophe Dervieux Date: Fri, 6 Feb 2026 13:51:53 +0100 Subject: [PATCH 02/13] Update documentation in the generic include file --- .../_document-options-syntax-highlighting.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/docs/output-formats/_document-options-syntax-highlighting.md b/docs/output-formats/_document-options-syntax-highlighting.md index 8775ba5854..945b7e63d7 100644 --- a/docs/output-formats/_document-options-syntax-highlighting.md +++ b/docs/output-formats/_document-options-syntax-highlighting.md @@ -10,14 +10,19 @@ Pandoc will automatically highlight syntax in [fenced code blocks](https://pando Pandoc can provide syntax highlighting for over 140 different languages (see the output of `quarto pandoc --list-highlight-languages` for a list of all of them). If you want to provide the appearance of a highlighted code block for a language not supported, just use `default` as the language name. -You can specify the code highlighting style using `highlight-style` and specifying one of the supported themes. Supported themes include: arrow, pygments, tango, espresso, zenburn, kate, monochrome, breezedark, haddock, atom-one, ayu, breeze, dracula, github, gruvbox, monokai, nord, oblivion, printing, radical, solarized, and vim. +You can specify the code highlighting style using `syntax-highlighting` and specifying one of the supported themes. Supported themes include: arrow, pygments, tango, espresso, zenburn, kate, monochrome, breezedark, haddock, atom-one, ayu, breeze, dracula, github, gruvbox, monokai, nord, oblivion, printing, radical, solarized, and vim. For example: ``` yaml -highlight-style: github +syntax-highlighting: github ``` +In addition to theme names, `syntax-highlighting` accepts two special values: + +- `none` --- disables syntax highlighting entirely. +- `idiomatic` --- delegates highlighting to the output format's native system instead of Pandoc's built-in Skylighting engine. For LaTeX, this uses the `listings` package; for Typst, this uses Typst's built-in code highlighting. See each format's documentation for details. + Highlighting themes can provide either a single highlighting definition or two definitions, one optimized for a light colored background and another optimized for a dark color background. When available, Quarto will automatically select the appropriate style based upon the code chunk background color's darkness. You may always opt to specify the full name (e.g. `atom-one-dark`) to bypass this automatic behavior. By default, code is highlighted using the `arrow` theme, which is optimized for accessibility. Here are examples of the `arrow` light and dark themes: From f9c30d7ec27fffa49765b97f3cf1758bf9acfc64 Mon Sep 17 00:00:00 2001 From: Christophe Dervieux Date: Fri, 6 Feb 2026 14:18:39 +0100 Subject: [PATCH 03/13] Add a conditional to add precision about main document option this is needed when we need to add some specific for a format while keeping the same global include for all doc --- .../_document-options-section-numbering.md | 12 ++++++++++ .../_document-options-syntax-highlighting.md | 12 ++++++++++ docs/output-formats/_document-options-toc.md | 10 +++++++- docs/output-formats/pdf-basics.qmd | 3 ++- docs/output-formats/typst.qmd | 24 +++---------------- 5 files changed, 38 insertions(+), 23 deletions(-) diff --git a/docs/output-formats/_document-options-section-numbering.md b/docs/output-formats/_document-options-section-numbering.md index 6b1b6978e6..79287f973a 100644 --- a/docs/output-formats/_document-options-section-numbering.md +++ b/docs/output-formats/_document-options-section-numbering.md @@ -17,3 +17,15 @@ To exclude an individual heading from numbering, add the `.unnumbered` class to ``` markdown ### More Options {.unnumbered} ``` + +::: {.content-visible when-meta="doc-type.typst"} +You can also customize the display of the section numbers with the `section-numbering` YAML option. This option expects a string that describes the numbering schema. For example, the following schema describes numbering sections with numerals, subsection with uppercase letters, and subsubsections with lower case letters, using `.` as a separator: + +```yaml +--- +section-numbering: 1.A.a +--- +``` + +You can read more about specifying the numbering schema in the [Typst documentation for numbering](https://typst.app//docs/reference/model/numbering#parameters-numbering). +::: diff --git a/docs/output-formats/_document-options-syntax-highlighting.md b/docs/output-formats/_document-options-syntax-highlighting.md index 945b7e63d7..a599cdc4e6 100644 --- a/docs/output-formats/_document-options-syntax-highlighting.md +++ b/docs/output-formats/_document-options-syntax-highlighting.md @@ -23,6 +23,18 @@ In addition to theme names, `syntax-highlighting` accepts two special values: - `none` --- disables syntax highlighting entirely. - `idiomatic` --- delegates highlighting to the output format's native system instead of Pandoc's built-in Skylighting engine. For LaTeX, this uses the `listings` package; for Typst, this uses Typst's built-in code highlighting. See each format's documentation for details. +::: {.content-visible when-meta="doc-type.pdf"} +For LaTeX/PDF output, `syntax-highlighting: idiomatic` uses the LaTeX `listings` package for code highlighting instead of Pandoc's default approach (which uses `fancyvrb` with `\Shaded`/`\Highlighting` environments). This may be preferred when working with LaTeX templates or publishers that expect `listings`-based code blocks. +::: + +::: {.content-visible when-meta="doc-type.typst"} +By default, Typst output uses Pandoc's Skylighting engine for syntax highlighting, with the same themes available as other formats (e.g. HTML, PDF). + +Setting `syntax-highlighting: idiomatic` delegates highlighting to Typst's built-in code highlighting. In this mode, Typst receives plain fenced code blocks and applies its own styling. This may be preferred when using custom Typst templates that style code blocks. + +Setting `syntax-highlighting: none` disables all highlighting, producing unstyled code blocks. +::: + Highlighting themes can provide either a single highlighting definition or two definitions, one optimized for a light colored background and another optimized for a dark color background. When available, Quarto will automatically select the appropriate style based upon the code chunk background color's darkness. You may always opt to specify the full name (e.g. `atom-one-dark`) to bypass this automatic behavior. By default, code is highlighted using the `arrow` theme, which is optimized for accessibility. Here are examples of the `arrow` light and dark themes: diff --git a/docs/output-formats/_document-options-toc.md b/docs/output-formats/_document-options-toc.md index 1c69c749ee..905fb66118 100644 --- a/docs/output-formats/_document-options-toc.md +++ b/docs/output-formats/_document-options-toc.md @@ -17,4 +17,12 @@ If you want to exclude a heading from the table of contents, add both the `.unnu ``` markdown ### More Options {.unnumbered .unlisted} -``` \ No newline at end of file +``` + +::: {.content-visible when-meta="doc-type.typst"} +The `toc-indent` option controls how far entries are indented in the displayed table of contents. The default is equivalent to: + +```{.yaml} +toc-indent: 1.5em +``` +::: \ No newline at end of file diff --git a/docs/output-formats/pdf-basics.qmd b/docs/output-formats/pdf-basics.qmd index 5f364f2a3f..8f572b03ec 100644 --- a/docs/output-formats/pdf-basics.qmd +++ b/docs/output-formats/pdf-basics.qmd @@ -2,6 +2,8 @@ title: PDF Basics format: html pdf-standard-latex-examples: true +doc-type: + pdf: true --- ## Overview @@ -60,7 +62,6 @@ See the [Output Options] section below for additional details on customizing LaT {{< include _document-options-begin.md >}} - ## Output Options There are numerous options available for customizing PDF output, including: diff --git a/docs/output-formats/typst.qmd b/docs/output-formats/typst.qmd index 5109bb4157..e84e23cfe2 100644 --- a/docs/output-formats/typst.qmd +++ b/docs/output-formats/typst.qmd @@ -4,6 +4,8 @@ tbl-colwidths: [35,65] aliases: - /docs/prerelease/1.4/typst.html pdf-standard-typst-examples: true +doc-type: + typst: true # project: # pre-render: # - quarto run ../../tools/snapshot-typst.ts examples/gt-temps.qmd images/typst-tables-gt-temps.png @@ -121,27 +123,7 @@ Then, any unspecified margins will inherit from the default margins. The `columns` option expects a number - the number of columns your body content should have. The default template sets `columns` to `1`. -{{< include /docs/output-formats/_document-options-toc.md >}} - -The `toc-indent` option controls how far entries are indented in the displayed table of contents. The default is equivalent to: - -```{.yaml} -toc-indent: 1.5em -``` - -{{< include /docs/output-formats/_document-options-section-numbering.md >}} - -You can also customize the display of the section numbers with the `section-numbering` YAML option. This option expects a string that describes the numbering schema. For example, the following schema describes numbering sections with numerals, subsection with uppercase letters, and subsubsections with lower case letters, using `.` as a separator: - -```yaml ---- -section-numbering: 1.A.a ---- -``` - -You can read more about specifying the numbering schema in the [Typst documentation for numbering](https://typst.app//docs/reference/model/numbering#parameters-numbering). - -{{< include /docs/output-formats/_code-annotation.md >}} +{{< include /docs/output-formats/_document-options-begin.md >}} ## Article Layout {#article-layout} From e8db98fdfcf6f98cbddf11b5746b6abf108c843c Mon Sep 17 00:00:00 2001 From: Christophe Dervieux Date: Fri, 6 Feb 2026 14:22:47 +0100 Subject: [PATCH 04/13] Update doc for reveal regarding syntax-highlighting --- docs/presentations/revealjs/index.qmd | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/docs/presentations/revealjs/index.qmd b/docs/presentations/revealjs/index.qmd index 02e024f9b9..3aaf670a9c 100644 --- a/docs/presentations/revealjs/index.qmd +++ b/docs/presentations/revealjs/index.qmd @@ -175,7 +175,15 @@ Custom footer text ## Code Blocks -Most of the core capabilities of Quarto [HTML Code Blocks](/docs/output-formats/html-code.qmd) are available for Reveal slides, including code folding, code copy, and the ability to pick a custom syntax highlighting theme. Note that if you choose a dark Reveal theme then the default Quarto dark syntax highlighting theme will be used. +Most of the core capabilities of Quarto [HTML Code Blocks](/docs/output-formats/html-code.qmd) are available for Reveal slides, including code folding, code copy, and the ability to pick a custom syntax highlighting theme. + +### Syntax Highlighting + +You can specify the code highlighting style using the `syntax-highlighting` option. If you choose a dark Reveal theme then the default Quarto dark syntax highlighting theme will be used. See [HTML Code Blocks: Highlighting](/docs/output-formats/html-code.qmd#highlighting) for the full list of available themes. + +::: callout-note +`syntax-highlighting: idiomatic` is not currently supported for RevealJS presentations. If specified, Quarto falls back to the default Skylighting highlighting with a warning. +::: ### Line Highlighting From 27a43bde6132ec05c361214cd554b15e464a760a Mon Sep 17 00:00:00 2001 From: Christophe Dervieux Date: Fri, 6 Feb 2026 14:34:52 +0100 Subject: [PATCH 05/13] fix - fig-alt with a - --- docs/output-formats/html-code.qmd | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/output-formats/html-code.qmd b/docs/output-formats/html-code.qmd index 5c9cd07196..887686d264 100644 --- a/docs/output-formats/html-code.qmd +++ b/docs/output-formats/html-code.qmd @@ -281,19 +281,19 @@ Examples of the light and dark themes: #### Arrow (light) -![](images/arrow.png){fig.alt="A block of code showcasing the Arrow (light) theme."} +![](images/arrow.png){fig-alt="A block of code showcasing the Arrow (light) theme."} #### Arrow (dark) -![](images/arrow-dark.png){fig.alt="A block of code showcasing the Arrow (dark) theme."} +![](images/arrow-dark.png){fig-alt="A block of code showcasing the Arrow (dark) theme."} #### Ayu (light) -![](images/ayu.png){fig.alt="A block of code showcasing the Ayu (light) theme."} +![](images/ayu.png){fig-alt="A block of code showcasing the Ayu (light) theme."} #### Ayu (dark) -![](images/ayu-dark.png){.preview-image fig.alt="A block of code showcasing the Ayu (dark) theme."} +![](images/ayu-dark.png){.preview-image fig-alt="A block of code showcasing the Ayu (dark) theme."} ### Custom Highlighting From ffab7336e0701551316b4dee9858b248cdd385a1 Mon Sep 17 00:00:00 2001 From: Christophe Dervieux Date: Fri, 6 Feb 2026 14:35:24 +0100 Subject: [PATCH 06/13] modify option name in main HTML doc too --- docs/output-formats/html-code.qmd | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/output-formats/html-code.qmd b/docs/output-formats/html-code.qmd index 887686d264..a74deac750 100644 --- a/docs/output-formats/html-code.qmd +++ b/docs/output-formats/html-code.qmd @@ -235,7 +235,7 @@ Pandoc will automatically highlight syntax in [fenced code blocks](https://pando Pandoc can provide syntax highlighting for over 140 different languages (see the output of `quarto pandoc --list-highlight-languages` for a list of all of them). If you want to provide the appearance of a highlighted code block for a language not supported, just use `default` as the language name. -You can specify the code highlighting style using `highlight-style` and specifying one of the supported themes. These themes are "adaptive", which means they will automatically switch between a dark and light mode based upon the theme of the website. These are designed to work well with sites that include a dark and light mode. +You can specify the code highlighting style using `syntax-highlighting` and specifying one of the supported themes. These themes are "adaptive", which means they will automatically switch between a dark and light mode based upon the theme of the website. These are designed to work well with sites that include a dark and light mode. - a11y - arrow @@ -267,10 +267,10 @@ As well as an additional set of extended themes, including: - solarized - vim-dark -The `highlight-style` option determines which theme is used. For example: +The `syntax-highlighting` option determines which theme is used. For example: ``` yaml -highlight-style: github +syntax-highlighting: github ``` Highlighting themes can provide either a single highlighting definition or two definitions, one optimized for a light colored background and another optimized for a dark color background. When available, Quarto will automatically select the appropriate style based upon the code chunk background color's darkness. Users may always opt to specify the full name (e.g. `atom-one-dark`) to by pass this automatic behavior. @@ -303,7 +303,7 @@ For example: ``` yaml --- -highlight-style: custom.theme +syntax-highlighting: custom.theme --- ``` @@ -311,13 +311,13 @@ In addition, if you'd like to provide adaptive themes, you may also pass both a ``` yaml --- -highlight-style: +syntax-highlighting: light: custom-light.theme dark: custom-dark.theme --- ``` -Note that as with adaptive text higlighting themes, when you provide a dark and light `highlight-style`, background colors specified in the themes will be ignored in favor of the overall theme specified background colors. +Note that as with adaptive text higlighting themes, when you provide a dark and light `syntax-highlighting`, background colors specified in the themes will be ignored in favor of the overall theme specified background colors. {{< include _code-annotation.md >}} From 55ce553c29a079909278ec180e807e8ab81756fd Mon Sep 17 00:00:00 2001 From: Christophe Dervieux Date: Fri, 6 Feb 2026 14:36:20 +0100 Subject: [PATCH 07/13] highlighting - add missing supported a11y them to the doc --- docs/output-formats/_document-options-syntax-highlighting.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/output-formats/_document-options-syntax-highlighting.md b/docs/output-formats/_document-options-syntax-highlighting.md index a599cdc4e6..ecfd9777b9 100644 --- a/docs/output-formats/_document-options-syntax-highlighting.md +++ b/docs/output-formats/_document-options-syntax-highlighting.md @@ -10,7 +10,7 @@ Pandoc will automatically highlight syntax in [fenced code blocks](https://pando Pandoc can provide syntax highlighting for over 140 different languages (see the output of `quarto pandoc --list-highlight-languages` for a list of all of them). If you want to provide the appearance of a highlighted code block for a language not supported, just use `default` as the language name. -You can specify the code highlighting style using `syntax-highlighting` and specifying one of the supported themes. Supported themes include: arrow, pygments, tango, espresso, zenburn, kate, monochrome, breezedark, haddock, atom-one, ayu, breeze, dracula, github, gruvbox, monokai, nord, oblivion, printing, radical, solarized, and vim. +You can specify the code highlighting style using `syntax-highlighting` and specifying one of the supported themes. Supported themes include: a11y, arrow, pygments, tango, espresso, zenburn, kate, monochrome, breezedark, haddock, atom-one, ayu, breeze, dracula, github, gruvbox, monokai, nord, oblivion, printing, radical, solarized, and vim. For example: From 94f4bb0335f21ac0fe3eba95b08c99394f229548 Mon Sep 17 00:00:00 2001 From: Christophe Dervieux Date: Fri, 6 Feb 2026 15:21:18 +0100 Subject: [PATCH 08/13] Add callout for Typst default highlighting change in 1.9 Previously Typst used its own native code highlighting. Starting with 1.9, it uses Pandoc Skylighting by default (same as HTML/LaTeX). The old behavior is available via syntax-highlighting: idiomatic. --- .../_document-options-syntax-highlighting.md | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/docs/output-formats/_document-options-syntax-highlighting.md b/docs/output-formats/_document-options-syntax-highlighting.md index ecfd9777b9..408abfc0d0 100644 --- a/docs/output-formats/_document-options-syntax-highlighting.md +++ b/docs/output-formats/_document-options-syntax-highlighting.md @@ -27,13 +27,22 @@ In addition to theme names, `syntax-highlighting` accepts two special values: For LaTeX/PDF output, `syntax-highlighting: idiomatic` uses the LaTeX `listings` package for code highlighting instead of Pandoc's default approach (which uses `fancyvrb` with `\Shaded`/`\Highlighting` environments). This may be preferred when working with LaTeX templates or publishers that expect `listings`-based code blocks. ::: -::: {.content-visible when-meta="doc-type.typst"} -By default, Typst output uses Pandoc's Skylighting engine for syntax highlighting, with the same themes available as other formats (e.g. HTML, PDF). +::::: {.content-visible when-meta="doc-type.typst"} + +{{< include /docs/prerelease/1.9/_pre-release-feature.qmd >}} + +::: callout-important +## Changed Default for Typst + +Starting with Quarto 1.9, Typst output uses Pandoc's Skylighting engine for syntax highlighting by default, with the same themes available as HTML and LaTeX. Previously, Typst used its own native code highlighting. + +To restore the previous behavior, set `syntax-highlighting: idiomatic`. +::: Setting `syntax-highlighting: idiomatic` delegates highlighting to Typst's built-in code highlighting. In this mode, Typst receives plain fenced code blocks and applies its own styling. This may be preferred when using custom Typst templates that style code blocks. Setting `syntax-highlighting: none` disables all highlighting, producing unstyled code blocks. -::: +::::: Highlighting themes can provide either a single highlighting definition or two definitions, one optimized for a light colored background and another optimized for a dark color background. When available, Quarto will automatically select the appropriate style based upon the code chunk background color's darkness. You may always opt to specify the full name (e.g. `atom-one-dark`) to bypass this automatic behavior. From df77dbc3ef512b614a8690294a88cc613ff1f8dc Mon Sep 17 00:00:00 2001 From: Christophe Dervieux Date: Fri, 6 Feb 2026 16:09:30 +0100 Subject: [PATCH 09/13] renv - colorspace is needed to gt-temps.qmd example --- DESCRIPTION | 1 + renv.lock | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+) diff --git a/DESCRIPTION b/DESCRIPTION index 4182349a5d..33174bc10b 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -2,6 +2,7 @@ Type: quarto-web Description: Quarto Web project for quarto.org Depends: broom, + colorspace, dplyr, DT, dygraphs, diff --git a/renv.lock b/renv.lock index ad885a7fcb..ae61241e50 100644 --- a/renv.lock +++ b/renv.lock @@ -1135,6 +1135,60 @@ "Maintainer": "Matthew Lincoln ", "Repository": "P3M" }, + "colorspace": { + "Package": "colorspace", + "Version": "2.1-2", + "Source": "Repository", + "Date": "2025-09-22", + "Title": "A Toolbox for Manipulating and Assessing Colors and Palettes", + "Authors@R": "c(person(given = \"Ross\", family = \"Ihaka\", role = \"aut\", email = \"ihaka@stat.auckland.ac.nz\"), person(given = \"Paul\", family = \"Murrell\", role = \"aut\", email = \"paul@stat.auckland.ac.nz\", comment = c(ORCID = \"0000-0002-3224-8858\")), person(given = \"Kurt\", family = \"Hornik\", role = \"aut\", email = \"Kurt.Hornik@R-project.org\", comment = c(ORCID = \"0000-0003-4198-9911\")), person(given = c(\"Jason\", \"C.\"), family = \"Fisher\", role = \"aut\", email = \"jfisher@usgs.gov\", comment = c(ORCID = \"0000-0001-9032-8912\")), person(given = \"Reto\", family = \"Stauffer\", role = \"aut\", email = \"Reto.Stauffer@uibk.ac.at\", comment = c(ORCID = \"0000-0002-3798-5507\")), person(given = c(\"Claus\", \"O.\"), family = \"Wilke\", role = \"aut\", email = \"wilke@austin.utexas.edu\", comment = c(ORCID = \"0000-0002-7470-9261\")), person(given = c(\"Claire\", \"D.\"), family = \"McWhite\", role = \"aut\", email = \"claire.mcwhite@utmail.utexas.edu\", comment = c(ORCID = \"0000-0001-7346-3047\")), person(given = \"Achim\", family = \"Zeileis\", role = c(\"aut\", \"cre\"), email = \"Achim.Zeileis@R-project.org\", comment = c(ORCID = \"0000-0003-0918-3766\")))", + "Description": "Carries out mapping between assorted color spaces including RGB, HSV, HLS, CIEXYZ, CIELUV, HCL (polar CIELUV), CIELAB, and polar CIELAB. Qualitative, sequential, and diverging color palettes based on HCL colors are provided along with corresponding ggplot2 color scales. Color palette choice is aided by an interactive app (with either a Tcl/Tk or a shiny graphical user interface) and shiny apps with an HCL color picker and a color vision deficiency emulator. Plotting functions for displaying and assessing palettes include color swatches, visualizations of the HCL space, and trajectories in HCL and/or RGB spectrum. Color manipulation functions include: desaturation, lightening/darkening, mixing, and simulation of color vision deficiencies (deutanomaly, protanomaly, tritanomaly). Details can be found on the project web page at and in the accompanying scientific paper: Zeileis et al. (2020, Journal of Statistical Software, ).", + "Depends": [ + "R (>= 3.0.0)", + "methods" + ], + "Imports": [ + "graphics", + "grDevices", + "stats" + ], + "Suggests": [ + "datasets", + "utils", + "KernSmooth", + "MASS", + "kernlab", + "mvtnorm", + "vcd", + "tcltk", + "shiny", + "shinyjs", + "ggplot2", + "dplyr", + "scales", + "grid", + "png", + "jpeg", + "knitr", + "rmarkdown", + "RColorBrewer", + "rcartocolor", + "scico", + "viridis", + "wesanderson" + ], + "VignetteBuilder": "knitr", + "License": "BSD_3_clause + file LICENSE", + "URL": "https://colorspace.R-Forge.R-project.org/, https://hclwizard.org/", + "BugReports": "https://colorspace.R-Forge.R-project.org/contact.html", + "LazyData": "yes", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.2", + "NeedsCompilation": "yes", + "Author": "Ross Ihaka [aut], Paul Murrell [aut] (ORCID: ), Kurt Hornik [aut] (ORCID: ), Jason C. Fisher [aut] (ORCID: ), Reto Stauffer [aut] (ORCID: ), Claus O. Wilke [aut] (ORCID: ), Claire D. McWhite [aut] (ORCID: ), Achim Zeileis [aut, cre] (ORCID: )", + "Maintainer": "Achim Zeileis ", + "Repository": "P3M" + }, "commonmark": { "Package": "commonmark", "Version": "2.0.0", From 13614fdc5f7d5dd323d2e493b621cfc3bf0397cd Mon Sep 17 00:00:00 2001 From: Christophe Dervieux Date: Fri, 6 Feb 2026 16:13:53 +0100 Subject: [PATCH 10/13] knitr - Re-render some output-formats example with gt --- .../gt-temps/execute-results/typ.json | 2 +- .../pandas-temps/execute-results/typ.json | 5 +++-- .../html-code/execute-results/html.json | 4 ++-- .../figure-html/unnamed-chunk-1-1.png | Bin 22169 -> 23099 bytes 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/_freeze/docs/output-formats/examples/gt-temps/execute-results/typ.json b/_freeze/docs/output-formats/examples/gt-temps/execute-results/typ.json index 782c9b089c..acbb898600 100644 --- a/_freeze/docs/output-formats/examples/gt-temps/execute-results/typ.json +++ b/_freeze/docs/output-formats/examples/gt-temps/execute-results/typ.json @@ -2,7 +2,7 @@ "hash": "da0944f7bc7c45f9aa81e623e15b4a45", "result": { "engine": "knitr", - "markdown": "---\ntitle: \"gt - temperatures\"\nformat:\n typst: default\nbibliography: [] # suppress ../../../references.bib\nreferences:\n - type: website\n id: gt-cookbook\n url: https://themockup.blog/static/resources/gt-cookbook.html#multiple-columns\n---\n\n```{=typst}\n#set page(\n numbering: none\n)\n```\n\n::: {.cell}\n::: {.cell-output-display}\n\n```{=html}\n
\n\n\n \n \n \n \n \n \n \n \n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n \n \n
yearJanJun
192040.658.5
192144.258.7
192237.557.8
192341.852.7
192439.357.7
\n
\n```\n\n:::\n:::", + "markdown": "---\ntitle: \"gt - temperatures\"\nformat:\n typst: default\nbibliography: [] # suppress ../../../references.bib\nreferences:\n - type: website\n id: gt-cookbook\n url: https://themockup.blog/static/resources/gt-cookbook.html#multiple-columns\n---\n\n```{=typst}\n#set page(\n numbering: none\n)\n```\n\n\n::: {.cell}\n\n```{.r .cell-code}\nlibrary(gt)\ntemps <- data.frame(\n year = c(1920:1924),\n Jan = c(40.6, 44.2, 37.5, 41.8, 39.3), \n Jun = c(58.5, 58.7, 57.8, 52.7, 57.7)\n)\ntemps |>\n gt() |> \n data_color(\n columns = c(-year),\n fn = scales::col_numeric(\n colorspace::diverge_hcl(n = 9,\n palette = \"Green-Orange\"),\n domain = c(35, 62))\n )\n```\n\n::: {.cell-output-display}\n\n```{=html}\n
\n\n\n \n \n \n \n \n \n \n \n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n \n
yearJanJun
192040.658.5
192144.258.7
192237.557.8
192341.852.7
192439.357.7
\n
\n```\n\n:::\n:::\n", "supporting": [], "filters": [ "rmarkdown/pagebreak.lua" diff --git a/_freeze/docs/output-formats/examples/pandas-temps/execute-results/typ.json b/_freeze/docs/output-formats/examples/pandas-temps/execute-results/typ.json index e7e8f97382..08099145c7 100644 --- a/_freeze/docs/output-formats/examples/pandas-temps/execute-results/typ.json +++ b/_freeze/docs/output-formats/examples/pandas-temps/execute-results/typ.json @@ -2,10 +2,11 @@ "hash": "2d43c217d618d559ca4b321734cacf91", "result": { "engine": "jupyter", - "markdown": "---\ntitle: \"gt - temperatures\"\nformat:\n typst: default\nbibliography: [] # suppress ../../../references.bib\nreferences:\n - type: website\n id: gt-cookbook\n url: https://themockup.blog/static/resources/gt-cookbook.html#multiple-columns\n---\n\n```{=typst}\n#set page(\n numbering: none\n)\n```\n\n::: {.cell execution_count=1}\n\n::: {.cell-output .cell-output-display execution_count=1}\n```{=html}\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
 JanJun
year  
192040.60000058.500000
192144.20000058.700000
192237.50000057.800000
192341.80000052.700000
192439.30000057.700000
\n```\n:::\n:::\n\n\n", + "markdown": "---\ntitle: \"gt - temperatures\"\nformat:\n typst: default\nbibliography: [] # suppress ../../../references.bib\nreferences:\n - type: website\n id: gt-cookbook\n url: https://themockup.blog/static/resources/gt-cookbook.html#multiple-columns\n---\n\n```{=typst}\n#set page(\n numbering: none\n)\n```\n\n::: {.cell execution_count=1}\n``` {.python .cell-code}\nimport pandas as pd\nimport numpy as np\n\ntemps = pd.DataFrame({\n 'year': [*range(1920, 1925)],\n 'Jan': [40.6, 44.2, 37.5, 41.8, 39.3], \n 'Jun': [58.5, 58.7, 57.8, 52.7, 57.7]\n}).set_index('year')\n\ndef make_pretty(styler):\n styler.background_gradient(axis=None,\n vmin=31, vmax=66, cmap=\"RdYlGn_r\")\n return styler\n\ntemps.style.pipe(make_pretty)\n```\n\n::: {.cell-output .cell-output-display execution_count=1}\n```{=html}\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
 JanJun
year  
192040.60000058.500000
192144.20000058.700000
192237.50000057.800000
192341.80000052.700000
192439.30000057.700000
\n```\n:::\n:::\n\n\n", "supporting": [ "pandas-temps_files" ], - "filters": [] + "filters": [], + "includes": {} } } \ No newline at end of file diff --git a/_freeze/docs/output-formats/html-code/execute-results/html.json b/_freeze/docs/output-formats/html-code/execute-results/html.json index d962a05963..315f71a7a3 100644 --- a/_freeze/docs/output-formats/html-code/execute-results/html.json +++ b/_freeze/docs/output-formats/html-code/execute-results/html.json @@ -1,8 +1,8 @@ { - "hash": "d2ff124445738133aee2de787962d845", + "hash": "f2f8bec0721206758ee53e7f669cffb7", "result": { "engine": "knitr", - "markdown": "---\ntitle: \"HTML Code Blocks\"\nformat: \n html:\n code-tools: true\nexecute:\n warning: false\n---\n\n## Overview\n\nThere are wide variety of options available to customize the display of source code within HTML documents, including:\n\n1. Hiding some or all code that was executed by [Knitr](https://yihui.name/knitr) or [Jupyter](https://jupyter.org).\n2. Code folding for executed code (hidden by default and expandable by readers).\n3. Handling code that overflows the available horizontal display space.\n4. View the source code of the markdown file used to generate the document.\n5. Syntax highlighting themes and other options to control the appearance of code.\n6. Copy to clipboard button for code blocks.\n7. Generating hyperlinks to online documentation for functions used within code blocks via the [downlit](https://downlit.r-lib.org/) package (note that this option currently only works when using the Knitr engine).\n\nDetails on using all of these options are provided below.\n\n## Hiding Code\n\nFor many documents you may want to hide all of the executable source code used to produce dynamic outputs. You can do this by specifying `echo: false` in the document `execute` options. For example:\n\n``` yaml\n---\ntitle: \"My Document\"\nexecute:\n echo: false\njupyter: python3\n---\n```\n\nNote that we can override this option on a per code-block basis. For example:\n\n```{{python}}\n#| echo: true\n\nimport matplotlib.pyplot as plt\nplt.plot([1,2,3,4])\nplt.show()\n```\n\nCode block options are included in a special comment at the top of the block (lines at the top prefaced with `#|` are considered options).\n\n## Folding Code\n\nUse the `code-fold` option to include code but have it hidden by default using the HTML `
` tag. For example, click the **Code** button to see the code that produced this plot.\n\n\n::: {.cell}\n\n```{.r .cell-code code-fold=\"true\"}\nlibrary(ggplot2)\ndat <- data.frame(cond = rep(c(\"A\", \"B\"), each=10),\n xvar = 1:20 + rnorm(20,sd=3),\n yvar = 1:20 + rnorm(20,sd=3))\n\nggplot(dat, aes(x=xvar, y=yvar)) +\n geom_point(shape=1) + \n geom_smooth() \n```\n\n::: {.cell-output-display}\n![](html-code_files/figure-html/unnamed-chunk-1-1.png){width=672}\n:::\n:::\n\n\nHere we specify both `code-fold: true` as well as custom summary text (the default is just \"Code\" as shown above):\n\n``` yaml\nformat:\n html:\n code-fold: true\n code-summary: \"Show the code\"\n```\n\nValid values for `code-fold` include:\n\n| Value | Behavior |\n|---------|------------------------------|\n| `false` | No folding (default) |\n| `true` | Fold code (initially hidden) |\n| `show` | Fold code (initially shown) |\n\nUse the `code-fold` and `code-summary` chunk attributes to control this on a chunk-by-chunk basis:\n\n```{{r}}\n#| code-fold: true\n#| code-summary: \"Show the code\"\n```\n\n## Code Overflow\n\nIn some cases the width of source code will overflow the available horizontal display space. By default, this will result in a horizontal scroll bar for the code block. However if you prefer not to have scrollbars you can have the longer lines wrap instead.\n\nTo set the global default behavior use the `code-overflow` option. For example:\n\n``` yaml\nformat:\n html:\n code-overflow: wrap\n```\n\nValid values for `code-overflow` are:\n\n| Option | Description |\n|------------------|------------------------------------------------------|\n| `scroll` | Scroll code blocks that exceed available width (default, corresponds to `white-space: pre`). |\n| `wrap` | Wrap lines of code that exceed available width (corresponds to `white-space: pre-wrap`). |\n\nYou can also override the global default on a per-code-block basis. For computational cells you do this with the `code-overflow` cell option:\n\n```{{python}}\n#| code-overflow: wrap\n\n# very long line of code....\n```\n\nFor a static code block, add the `.code-overflow-scroll` or `.code-overflow-wrap` CSS class:\n\n```` python\n```{.python .code-overflow-wrap}\n# very long line of code....\n```\n````\n\nNote that irrespective of these options, code will always wrap within printed HTML output (as it would otherwise be clipped off the edge of the page).\n\n## Code Tools\n\nYou can include a **Code** menu in the header of your document that provides various tools for readers to interact with the source code. Specify `code-tools: true` to activate these tools:\n\n``` yaml\nformat:\n html:\n code-fold: true\n code-tools: true\n```\n\nIf you have a document that includes folded code blocks then the **Code** menu will present options to show and hide the folded code as well as view the full source code of the document:\n\n![](images/code-tools-01.png){.border fig-alt=\"A screen shot of the header of a rendered Quarto document showing the result of setting both the code-fold and code-tools option to true. There is a drop-down menu labeled 'Code' to the right of the page title with a triangle pointing down. The menu is open and there are three options listed vertically beneath it: 'Hide All Code,' 'Show All Code,' and 'View Source.'\"}\n\nThis document specifies `code-tools: true` in its options so you should see the **Code** menu above next to the main header.\n\nYou can control which of these options are made available as well as the \"Code\" caption text using sub-options of `code-tools`. For example, here we specify that we want only \"View Source\" (no toggling of code visibility) and no caption on the code menu:\n\n``` yaml\nformat:\n html: \n code-tools:\n source: true\n toggle: false\n caption: none\n```\n\nBy default, the source code is embedded in the document and shown in a popup window like this:\n\n![](images/code-tools-source.png){fig-alt=\"A screenshot of this webpage with a pop-up window labeled 'Source Code' over it. This 'Source Code' window contains the raw markdown and R code used to write this page. There is an 'X' on the upper right corner of the 'Source Code' pop up to close it.\"}\n\nYou can alternatively specify a URL for the value of `source`:\n\n``` yaml\nformat:\n html: \n code-tools:\n source: https://github.com/quarto-dev/quarto-web/blob/main/index.md\n```\n\nIf you are within a project and have specified a `repo-url` option then you can just use `repo` and the correct link to your source file will be generated:\n\n``` yaml\nformat:\n html: \n code-tools:\n source: repo\n```\n\nNote that the `code-tools` option is not available when you disable the standard HTML theme (e.g. if you specify the `theme: none` option).\n\n## Appearance\n\nBy default code blocks are rendered with a left border whose color is derived from the current theme. You can customize code chunk appearance with some simple options that control the background color and left border. Options can either be booleans to enable or disable the treatment or can be legal CSS color strings (or they could even be SASS variable names!).\n\nHere is the default appearance for code blocks (`code-block-bg: true`):\n\n![](images/code-bg.png){fig-alt=\"A block of code with a gray background.\"}\n\nYou can instead use a left border treatment using the `code-block-border-left` option:\n\n``` yaml\ncode-block-border-left: true\n```\n\n![](images/code-default.png){fig-alt=\"A block of code with a gray vertical stripe running along its left border. This code block has no background.\"}\n\nYou can combine a background and border treatment as well as customize the left border color:\n\n``` yaml\ncode-block-bg: true\ncode-block-border-left: \"#31BAE9\"\n```\n\n![](images/code-custom.png){fig-alt=\"A block of code with a gray background and a blue vertical stripe running along its left border.\"}\n\n## Code Filename {#code-filename}\n\nUse the `filename` attribute on code blocks If you are documenting the contents of a file and want to be especially clear about the name of the file the code is associated with.\n\nFor example, the following code:\n\n```` markdown\n```{.python filename=\"matplotlib.py\"}\nimport matplotlib.pyplot as plt\nplt.plot([1,23,2,4])\nplt.show()\n```\n````\n\nResults in this HTML output:\n\n```{.python filename=\"matplotlib.py\"}\nimport matplotlib.pyplot as plt\nplt.plot([1,23,2,4])\nplt.show()\n```\n\nNon-HTML formats will still have the filename, but it will simply be shown in bold above the code block.\n\n## Highlighting\n\nPandoc will automatically highlight syntax in [fenced code blocks](https://pandoc.org/MANUAL.html#fenced-code-blocks) that are marked with a language name. For example:\n\n ```python\n 1 + 1\n ```\n\nPandoc can provide syntax highlighting for over 140 different languages (see the output of `quarto pandoc --list-highlight-languages` for a list of all of them). If you want to provide the appearance of a highlighted code block for a language not supported, just use `default` as the language name.\n\nYou can specify the code highlighting style using `highlight-style` and specifying one of the supported themes. These themes are \"adaptive\", which means they will automatically switch between a dark and light mode based upon the theme of the website. These are designed to work well with sites that include a dark and light mode.\n\n- a11y\n- arrow\n- atom-one\n- ayu\n- breeze\n- github\n- gruvbox\n\nAll of the standard Pandoc themes are also available:\n\n- pygments\n- tango\n- espresso\n- zenburn\n- kate\n- monochrome\n- breezedark\n- haddock\n\nAs well as an additional set of extended themes, including:\n\n- dracula\n- monokai\n- nord\n- oblivion\n- printing\n- radical\n- solarized\n- vim-dark\n\nThe `highlight-style` option determines which theme is used. For example:\n\n``` yaml\nhighlight-style: github\n```\n\nHighlighting themes can provide either a single highlighting definition or two definitions, one optimized for a light colored background and another optimized for a dark color background. When available, Quarto will automatically select the appropriate style based upon the code chunk background color's darkness. Users may always opt to specify the full name (e.g. `atom-one-dark`) to by pass this automatic behavior.\n\nBy default, code is highlighted using the `arrow` theme, which is optimized for accessibility. We've additionally introduced the `arrow-dark` theme which is designed to provide accessible highlighting against dark backgrounds.\n\nExamples of the light and dark themes:\n\n#### Arrow (light)\n\n![](images/arrow.png){fig.alt=\"A block of code showcasing the Arrow (light) theme.\"}\n\n#### Arrow (dark)\n\n![](images/arrow-dark.png){fig.alt=\"A block of code showcasing the Arrow (dark) theme.\"}\n\n#### Ayu (light)\n\n![](images/ayu.png){fig.alt=\"A block of code showcasing the Ayu (light) theme.\"}\n\n#### Ayu (dark)\n\n![](images/ayu-dark.png){.preview-image fig.alt=\"A block of code showcasing the Ayu (dark) theme.\"}\n\n### Custom Highlighting\n\nIn addition to the built in themes available for syntax highlighting, you can also specify your own syntax highlighting by providing the path to a valid theme file (which is based upon the KDE XML syntax highlighting descriptions). Highlighting is implemented using [skylighting](https://github.com/jgm/skylighting).\n\nFor example:\n\n``` yaml\n---\nhighlight-style: custom.theme\n---\n```\n\nIn addition, if you'd like to provide adaptive themes, you may also pass both a light and dark theme file:\n\n``` yaml\n---\nhighlight-style:\n light: custom-light.theme\n dark: custom-dark.theme\n---\n```\n\nNote that as with adaptive text higlighting themes, when you provide a dark and light `highlight-style`, background colors specified in the themes will be ignored in favor of the overall theme specified background colors.\n\n## Code Annotation\n\nYou can add annotations to lines of code in code blocks and executable code cells. See [Code Annotation](/docs/authoring/code-annotation.qmd) for full details.\n\n\n## Line Numbers {#line-numbers}\n\nIf you want to display line numbers alongside the code block, add the `code-line-numbers` option. For example:\n\n``` yaml\nformat:\n html:\n code-line-numbers: true\n```\n\nHere's how a code block with line numbers would display:\n\n``` {.python code-line-numbers=\"true\"}\nimport matplotlib.pyplot as plt\nplt.plot([1,23,2,4])\nplt.show()\n```\n\nYou can also enable line numbers for an individual code block using the `code-line-numbers` attribute. For example:\n\n```` python\n``` {.python code-line-numbers=\"true\"}\nimport matplotlib.pyplot as plt\nplt.plot([1,23,2,4])\nplt.show()\n```\n````\n\n## Executable Blocks\n\nThe documentation on [computations](/docs/get-started/computations/index.qmd) covers how to include executable code blocks (code which is actually executed, with its output being included in the rendered document). We won't additionally cover that here, but we will talk about how to include code blocks that demonstrate executable syntax (e.g. for writing a tutorial).\n\n\n\n\nOften you'll want to include a fenced code block purely as documentation (not executable). You can do this by using two curly braces around the language (e.g. `python`, `r`, etc.) rather than one. For example:\n\n```{{{python}}}\n1 + 1\n```\n\nWill be output into the document as:\n\n```{{python}}\n1 + 1\n```\n\nIf you want to show an example with multiple code blocks and other markdown, just enclose the entire example in 4 backticks (e.g. ````` ```` `````) and use the two curly brace syntax for code blocks within. For example:\n\n ````\n ---\n title: \"My document\"\n ---\n\n Some markdown content.\n\n ```{{{python}}}\n 1 + 1\n ```\n\n Some additional markdown content.\n\n ````\n\n\n## Copy Button\n\nHover over the code block below and you will see a copy icon in the top-right corner:\n\n\n::: {.cell}\n\n```{.r .cell-code}\nlibrary(dygraphs)\ndygraph(nhtemp, main = \"New Haven Temperatures\") %>% \n dyRangeSelector(dateWindow = c(\"1920-01-01\", \"1960-01-01\"))\n```\n:::\n\n\nThis behavior is enabled by default but you configure it using the `code-copy` option:\n\n``` yaml\nformat:\n html:\n code-copy: false\n```\n\nValid values for `code-copy` include:\n\n| | |\n|---------|--------------------------------|\n| `hover` | Show button on hover (default) |\n| `true` | Always show code copy button |\n| `false` | Never show code copy button |\n\n## Code Linking\n\nThe `code-link` option enables hyper-linking of functions within code blocks to their online documentation:\n\n``` yaml\nformat:\n html:\n code-link: true\n```\n\nCode linking is currently implemented only for the knitr engine (via the [downlit](https://downlit.r-lib.org) package).\nA limitation of downlit currently prevents code linking if `code-line-numbers` and/or `code-annotations` are also `true`.\n", + "markdown": "---\ntitle: \"HTML Code Blocks\"\nformat: \n html:\n code-tools: true\nexecute:\n warning: false\n---\n\n## Overview\n\nThere are wide variety of options available to customize the display of source code within HTML documents, including:\n\n1. Hiding some or all code that was executed by [Knitr](https://yihui.name/knitr) or [Jupyter](https://jupyter.org).\n2. Code folding for executed code (hidden by default and expandable by readers).\n3. Handling code that overflows the available horizontal display space.\n4. View the source code of the markdown file used to generate the document.\n5. Syntax highlighting themes and other options to control the appearance of code.\n6. Copy to clipboard button for code blocks.\n7. Generating hyperlinks to online documentation for functions used within code blocks via the [downlit](https://downlit.r-lib.org/) package (note that this option currently only works when using the Knitr engine).\n\nDetails on using all of these options are provided below.\n\n## Hiding Code\n\nFor many documents you may want to hide all of the executable source code used to produce dynamic outputs. You can do this by specifying `echo: false` in the document `execute` options. For example:\n\n``` yaml\n---\ntitle: \"My Document\"\nexecute:\n echo: false\njupyter: python3\n---\n```\n\nNote that we can override this option on a per code-block basis. For example:\n\n```{{python}}\n#| echo: true\n\nimport matplotlib.pyplot as plt\nplt.plot([1,2,3,4])\nplt.show()\n```\n\nCode block options are included in a special comment at the top of the block (lines at the top prefaced with `#|` are considered options).\n\n## Folding Code\n\nUse the `code-fold` option to include code but have it hidden by default using the HTML `
` tag. For example, click the **Code** button to see the code that produced this plot.\n\n\n::: {.cell}\n\n```{.r .cell-code code-fold=\"true\"}\nlibrary(ggplot2)\ndat <- data.frame(cond = rep(c(\"A\", \"B\"), each=10),\n xvar = 1:20 + rnorm(20,sd=3),\n yvar = 1:20 + rnorm(20,sd=3))\n\nggplot(dat, aes(x=xvar, y=yvar)) +\n geom_point(shape=1) + \n geom_smooth() \n```\n\n::: {.cell-output-display}\n![](html-code_files/figure-html/unnamed-chunk-1-1.png){width=672}\n:::\n:::\n\n\nHere we specify both `code-fold: true` as well as custom summary text (the default is just \"Code\" as shown above):\n\n``` yaml\nformat:\n html:\n code-fold: true\n code-summary: \"Show the code\"\n```\n\nValid values for `code-fold` include:\n\n| Value | Behavior |\n|---------|------------------------------|\n| `false` | No folding (default) |\n| `true` | Fold code (initially hidden) |\n| `show` | Fold code (initially shown) |\n\nUse the `code-fold` and `code-summary` chunk attributes to control this on a chunk-by-chunk basis:\n\n```{{r}}\n#| code-fold: true\n#| code-summary: \"Show the code\"\n```\n\n## Code Overflow\n\nIn some cases the width of source code will overflow the available horizontal display space. By default, this will result in a horizontal scroll bar for the code block. However if you prefer not to have scrollbars you can have the longer lines wrap instead.\n\nTo set the global default behavior use the `code-overflow` option. For example:\n\n``` yaml\nformat:\n html:\n code-overflow: wrap\n```\n\nValid values for `code-overflow` are:\n\n| Option | Description |\n|------------------|------------------------------------------------------|\n| `scroll` | Scroll code blocks that exceed available width (default, corresponds to `white-space: pre`). |\n| `wrap` | Wrap lines of code that exceed available width (corresponds to `white-space: pre-wrap`). |\n\nYou can also override the global default on a per-code-block basis. For computational cells you do this with the `code-overflow` cell option:\n\n```{{python}}\n#| code-overflow: wrap\n\n# very long line of code....\n```\n\nFor a static code block, add the `.code-overflow-scroll` or `.code-overflow-wrap` CSS class:\n\n```` python\n```{.python .code-overflow-wrap}\n# very long line of code....\n```\n````\n\nNote that irrespective of these options, code will always wrap within printed HTML output (as it would otherwise be clipped off the edge of the page).\n\n## Code Tools\n\nYou can include a **Code** menu in the header of your document that provides various tools for readers to interact with the source code. Specify `code-tools: true` to activate these tools:\n\n``` yaml\nformat:\n html:\n code-fold: true\n code-tools: true\n```\n\nIf you have a document that includes folded code blocks then the **Code** menu will present options to show and hide the folded code as well as view the full source code of the document:\n\n![](images/code-tools-01.png){.border fig-alt=\"A screen shot of the header of a rendered Quarto document showing the result of setting both the code-fold and code-tools option to true. There is a drop-down menu labeled 'Code' to the right of the page title with a triangle pointing down. The menu is open and there are three options listed vertically beneath it: 'Hide All Code,' 'Show All Code,' and 'View Source.'\"}\n\nThis document specifies `code-tools: true` in its options so you should see the **Code** menu above next to the main header.\n\nYou can control which of these options are made available as well as the \"Code\" caption text using sub-options of `code-tools`. For example, here we specify that we want only \"View Source\" (no toggling of code visibility) and no caption on the code menu:\n\n``` yaml\nformat:\n html: \n code-tools:\n source: true\n toggle: false\n caption: none\n```\n\nBy default, the source code is embedded in the document and shown in a popup window like this:\n\n![](images/code-tools-source.png){fig-alt=\"A screenshot of this webpage with a pop-up window labeled 'Source Code' over it. This 'Source Code' window contains the raw markdown and R code used to write this page. There is an 'X' on the upper right corner of the 'Source Code' pop up to close it.\"}\n\nYou can alternatively specify a URL for the value of `source`:\n\n``` yaml\nformat:\n html: \n code-tools:\n source: https://github.com/quarto-dev/quarto-web/blob/main/index.md\n```\n\nIf you are within a project and have specified a `repo-url` option then you can just use `repo` and the correct link to your source file will be generated:\n\n``` yaml\nformat:\n html: \n code-tools:\n source: repo\n```\n\nNote that the `code-tools` option is not available when you disable the standard HTML theme (e.g. if you specify the `theme: none` option).\n\n## Appearance\n\nBy default code blocks are rendered with a left border whose color is derived from the current theme. You can customize code chunk appearance with some simple options that control the background color and left border. Options can either be booleans to enable or disable the treatment or can be legal CSS color strings (or they could even be SASS variable names!).\n\nHere is the default appearance for code blocks (`code-block-bg: true`):\n\n![](images/code-bg.png){fig-alt=\"A block of code with a gray background.\"}\n\nYou can instead use a left border treatment using the `code-block-border-left` option:\n\n``` yaml\ncode-block-border-left: true\n```\n\n![](images/code-default.png){fig-alt=\"A block of code with a gray vertical stripe running along its left border. This code block has no background.\"}\n\nYou can combine a background and border treatment as well as customize the left border color:\n\n``` yaml\ncode-block-bg: true\ncode-block-border-left: \"#31BAE9\"\n```\n\n![](images/code-custom.png){fig-alt=\"A block of code with a gray background and a blue vertical stripe running along its left border.\"}\n\n## Code Filename {#code-filename}\n\nUse the `filename` attribute on code blocks If you are documenting the contents of a file and want to be especially clear about the name of the file the code is associated with.\n\nFor example, the following code:\n\n```` markdown\n```{.python filename=\"matplotlib.py\"}\nimport matplotlib.pyplot as plt\nplt.plot([1,23,2,4])\nplt.show()\n```\n````\n\nResults in this HTML output:\n\n```{.python filename=\"matplotlib.py\"}\nimport matplotlib.pyplot as plt\nplt.plot([1,23,2,4])\nplt.show()\n```\n\nNon-HTML formats will still have the filename, but it will simply be shown in bold above the code block.\n\n## Highlighting\n\nPandoc will automatically highlight syntax in [fenced code blocks](https://pandoc.org/MANUAL.html#fenced-code-blocks) that are marked with a language name. For example:\n\n ```python\n 1 + 1\n ```\n\nPandoc can provide syntax highlighting for over 140 different languages (see the output of `quarto pandoc --list-highlight-languages` for a list of all of them). If you want to provide the appearance of a highlighted code block for a language not supported, just use `default` as the language name.\n\nYou can specify the code highlighting style using `syntax-highlighting` and specifying one of the supported themes. These themes are \"adaptive\", which means they will automatically switch between a dark and light mode based upon the theme of the website. These are designed to work well with sites that include a dark and light mode.\n\n- a11y\n- arrow\n- atom-one\n- ayu\n- breeze\n- github\n- gruvbox\n\nAll of the standard Pandoc themes are also available:\n\n- pygments\n- tango\n- espresso\n- zenburn\n- kate\n- monochrome\n- breezedark\n- haddock\n\nAs well as an additional set of extended themes, including:\n\n- dracula\n- monokai\n- nord\n- oblivion\n- printing\n- radical\n- solarized\n- vim-dark\n\nThe `syntax-highlighting` option determines which theme is used. For example:\n\n``` yaml\nsyntax-highlighting: github\n```\n\nHighlighting themes can provide either a single highlighting definition or two definitions, one optimized for a light colored background and another optimized for a dark color background. When available, Quarto will automatically select the appropriate style based upon the code chunk background color's darkness. Users may always opt to specify the full name (e.g. `atom-one-dark`) to by pass this automatic behavior.\n\nBy default, code is highlighted using the `arrow` theme, which is optimized for accessibility. We've additionally introduced the `arrow-dark` theme which is designed to provide accessible highlighting against dark backgrounds.\n\nExamples of the light and dark themes:\n\n#### Arrow (light)\n\n![](images/arrow.png){fig-alt=\"A block of code showcasing the Arrow (light) theme.\"}\n\n#### Arrow (dark)\n\n![](images/arrow-dark.png){fig-alt=\"A block of code showcasing the Arrow (dark) theme.\"}\n\n#### Ayu (light)\n\n![](images/ayu.png){fig-alt=\"A block of code showcasing the Ayu (light) theme.\"}\n\n#### Ayu (dark)\n\n![](images/ayu-dark.png){.preview-image fig-alt=\"A block of code showcasing the Ayu (dark) theme.\"}\n\n### Custom Highlighting\n\nIn addition to the built in themes available for syntax highlighting, you can also specify your own syntax highlighting by providing the path to a valid theme file (which is based upon the KDE XML syntax highlighting descriptions). Highlighting is implemented using [skylighting](https://github.com/jgm/skylighting).\n\nFor example:\n\n``` yaml\n---\nsyntax-highlighting: custom.theme\n---\n```\n\nIn addition, if you'd like to provide adaptive themes, you may also pass both a light and dark theme file:\n\n``` yaml\n---\nsyntax-highlighting:\n light: custom-light.theme\n dark: custom-dark.theme\n---\n```\n\nNote that as with adaptive text higlighting themes, when you provide a dark and light `syntax-highlighting`, background colors specified in the themes will be ignored in favor of the overall theme specified background colors.\n\n## Code Annotation\n\nYou can add annotations to lines of code in code blocks and executable code cells. See [Code Annotation](/docs/authoring/code-annotation.qmd) for full details.\n\n\n## Line Numbers {#line-numbers}\n\nIf you want to display line numbers alongside the code block, add the `code-line-numbers` option. For example:\n\n``` yaml\nformat:\n html:\n code-line-numbers: true\n```\n\nHere's how a code block with line numbers would display:\n\n``` {.python code-line-numbers=\"true\"}\nimport matplotlib.pyplot as plt\nplt.plot([1,23,2,4])\nplt.show()\n```\n\nYou can also enable line numbers for an individual code block using the `code-line-numbers` attribute. For example:\n\n```` python\n``` {.python code-line-numbers=\"true\"}\nimport matplotlib.pyplot as plt\nplt.plot([1,23,2,4])\nplt.show()\n```\n````\n\n## Executable Blocks\n\nThe documentation on [computations](/docs/get-started/computations/index.qmd) covers how to include executable code blocks (code which is actually executed, with its output being included in the rendered document). We won't additionally cover that here, but we will talk about how to include code blocks that demonstrate executable syntax (e.g. for writing a tutorial).\n\n\n\n\nOften you'll want to include a fenced code block purely as documentation (not executable). You can do this by using two curly braces around the language (e.g. `python`, `r`, etc.) rather than one. For example:\n\n```{{{python}}}\n1 + 1\n```\n\nWill be output into the document as:\n\n```{{python}}\n1 + 1\n```\n\nIf you want to show an example with multiple code blocks and other markdown, just enclose the entire example in 4 backticks (e.g. ````` ```` `````) and use the two curly brace syntax for code blocks within. For example:\n\n ````\n ---\n title: \"My document\"\n ---\n\n Some markdown content.\n\n ```{{{python}}}\n 1 + 1\n ```\n\n Some additional markdown content.\n\n ````\n\n\n## Copy Button\n\nHover over the code block below and you will see a copy icon in the top-right corner:\n\n\n::: {.cell}\n\n```{.r .cell-code}\nlibrary(dygraphs)\ndygraph(nhtemp, main = \"New Haven Temperatures\") %>% \n dyRangeSelector(dateWindow = c(\"1920-01-01\", \"1960-01-01\"))\n```\n:::\n\n\nThis behavior is enabled by default but you configure it using the `code-copy` option:\n\n``` yaml\nformat:\n html:\n code-copy: false\n```\n\nValid values for `code-copy` include:\n\n| | |\n|---------|--------------------------------|\n| `hover` | Show button on hover (default) |\n| `true` | Always show code copy button |\n| `false` | Never show code copy button |\n\n## Code Linking\n\nThe `code-link` option enables hyper-linking of functions within code blocks to their online documentation:\n\n``` yaml\nformat:\n html:\n code-link: true\n```\n\nCode linking is currently implemented only for the knitr engine (via the [downlit](https://downlit.r-lib.org) package).\nA limitation of downlit currently prevents code linking if `code-line-numbers` and/or `code-annotations` are also `true`.\n", "supporting": [ "html-code_files" ], diff --git a/_freeze/docs/output-formats/html-code/figure-html/unnamed-chunk-1-1.png b/_freeze/docs/output-formats/html-code/figure-html/unnamed-chunk-1-1.png index 6a0b8f80965a91a63663b68d20bfb29b124924c3..0f9d6cf182857b526daf1d9baadf9859b6867c01 100644 GIT binary patch literal 23099 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 V<*?#x8SvS@W%uTnn~t6TzW~K;E;#@I literal 22169 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 O@Rae%oD+ZF`~Lu6JL-A> From 35832ec8fa6e1aa1a7b351283d8be8ea69e001b0 Mon Sep 17 00:00:00 2001 From: Christophe Dervieux Date: Fri, 6 Feb 2026 17:49:53 +0100 Subject: [PATCH 11/13] don't repeat 'none' setting --- docs/output-formats/_document-options-syntax-highlighting.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/docs/output-formats/_document-options-syntax-highlighting.md b/docs/output-formats/_document-options-syntax-highlighting.md index 408abfc0d0..9c34922496 100644 --- a/docs/output-formats/_document-options-syntax-highlighting.md +++ b/docs/output-formats/_document-options-syntax-highlighting.md @@ -40,8 +40,6 @@ To restore the previous behavior, set `syntax-highlighting: idiomatic`. ::: Setting `syntax-highlighting: idiomatic` delegates highlighting to Typst's built-in code highlighting. In this mode, Typst receives plain fenced code blocks and applies its own styling. This may be preferred when using custom Typst templates that style code blocks. - -Setting `syntax-highlighting: none` disables all highlighting, producing unstyled code blocks. ::::: Highlighting themes can provide either a single highlighting definition or two definitions, one optimized for a light colored background and another optimized for a dark color background. When available, Quarto will automatically select the appropriate style based upon the code chunk background color's darkness. You may always opt to specify the full name (e.g. `atom-one-dark`) to bypass this automatic behavior. From 6c33f0d7ae8ff6cd482c4474f17873507bdadbe6 Mon Sep 17 00:00:00 2001 From: Christophe Dervieux Date: Fri, 6 Feb 2026 18:20:53 +0100 Subject: [PATCH 12/13] Move 1.9 feature callout --- .../_document-options-syntax-highlighting.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/docs/output-formats/_document-options-syntax-highlighting.md b/docs/output-formats/_document-options-syntax-highlighting.md index 9c34922496..7158fc8b21 100644 --- a/docs/output-formats/_document-options-syntax-highlighting.md +++ b/docs/output-formats/_document-options-syntax-highlighting.md @@ -1,5 +1,11 @@ ## Syntax Highlighting +::: {.content-visible when-meta="doc-type.typst"} + +{{< include /docs/prerelease/1.9/_pre-release-feature.qmd >}} + +::: + Pandoc will automatically highlight syntax in [fenced code blocks](https://pandoc.org/MANUAL.html#fenced-code-blocks) that are marked with a language name. For example: ```` @@ -29,8 +35,6 @@ For LaTeX/PDF output, `syntax-highlighting: idiomatic` uses the LaTeX `listings` ::::: {.content-visible when-meta="doc-type.typst"} -{{< include /docs/prerelease/1.9/_pre-release-feature.qmd >}} - ::: callout-important ## Changed Default for Typst From ae3f00489d2b3b988b5933e7c822ce830d973207 Mon Sep 17 00:00:00 2001 From: Christophe Dervieux Date: Fri, 6 Feb 2026 18:24:38 +0100 Subject: [PATCH 13/13] Tweak specific format information --- docs/output-formats/_document-options-syntax-highlighting.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/output-formats/_document-options-syntax-highlighting.md b/docs/output-formats/_document-options-syntax-highlighting.md index 7158fc8b21..745457697e 100644 --- a/docs/output-formats/_document-options-syntax-highlighting.md +++ b/docs/output-formats/_document-options-syntax-highlighting.md @@ -27,7 +27,7 @@ syntax-highlighting: github In addition to theme names, `syntax-highlighting` accepts two special values: - `none` --- disables syntax highlighting entirely. -- `idiomatic` --- delegates highlighting to the output format's native system instead of Pandoc's built-in Skylighting engine. For LaTeX, this uses the `listings` package; for Typst, this uses Typst's built-in code highlighting. See each format's documentation for details. +- `idiomatic` --- delegates highlighting to the output format's native system instead of Pandoc's built-in Skylighting engine. ::: {.content-visible when-meta="doc-type.pdf"} For LaTeX/PDF output, `syntax-highlighting: idiomatic` uses the LaTeX `listings` package for code highlighting instead of Pandoc's default approach (which uses `fancyvrb` with `\Shaded`/`\Highlighting` environments). This may be preferred when working with LaTeX templates or publishers that expect `listings`-based code blocks. @@ -43,7 +43,7 @@ Starting with Quarto 1.9, Typst output uses Pandoc's Skylighting engine for synt To restore the previous behavior, set `syntax-highlighting: idiomatic`. ::: -Setting `syntax-highlighting: idiomatic` delegates highlighting to Typst's built-in code highlighting. In this mode, Typst receives plain fenced code blocks and applies its own styling. This may be preferred when using custom Typst templates that style code blocks. +For Typst, setting `syntax-highlighting: idiomatic` delegates highlighting to Typst's built-in code highlighting. In this mode, Typst receives plain fenced code blocks and applies its [own styling](https://typst.app/docs/reference/text/raw/#styling). This may be preferred when using custom Typst templates that style code blocks. ::::: Highlighting themes can provide either a single highlighting definition or two definitions, one optimized for a light colored background and another optimized for a dark color background. When available, Quarto will automatically select the appropriate style based upon the code chunk background color's darkness. You may always opt to specify the full name (e.g. `atom-one-dark`) to bypass this automatic behavior.