Jupyter
Always ignore .ipynb inputs when they have a corresponding .qmd
Correctly interpret cell metadata with
falsevaluesRender text/latex outputs as markdown math when they consist entirely of $ math, or are wrapped in a LaTeX environment block (such as )
Use IPython 7.14 import syntax in
ojs_defineCorrect handling of multiple attachments in Jupyter Notebook classic
Prevent overwrite of source .ipynb when output format is ipynb
Prefer kernel declared in YAML front matter when executing notebooks
Fix v1.1 regression in handling of cell display_data w/ Juptyer widgets
Allow jupyter kernel to be determined project-wide (#2853)
Ensure that Jupyter engine dependencies (widgets) appear after other dependencies (manage require/define conflicts)
Knitr
Support specification of
connectionoption in cell yaml options.
OJS
support
revealjsandhtmlformats inwidthbuiltin, fallback gracefully otherwise (#2058)Don't emit
ojs_defineHTML in non-html formats (#2338)Support jszip and exceljs (#1981)
Improve error messages when cell options are specified with wrong comment syntax (#1856)
Hide
code-foldchrome when OJS code is hidden (#2134)
Extensions
Preview live reload for changes to extension source files
HTML dependencies may be provided by paths to files outside the extension directory
HTML dependencies may now include
serviceworkers, which are copied into the output directory.New
quarto.doc.attach_to_dependencyfunction to attach files to html dependencies (copies files into the lib dir for a named HTML dependency).New
quarto.version, which provides the Quarto versionNew
quarto.project.profilewhich provides the list of currently active profiles (or an empty table if none are active)New
quarto.project.directorywhich provides the current project directory (if a project is active)New
quarto.project.output_directorywhich provides the current project output directory (if a project is active)New
quarto.project.offsetwhich provides an offset from the current input document to the project directory.New
quarto.doc.input_filewhich provides the path to the input documentNew
quarto.doc.output_filewhich provides the path to the output fileEnsure that
quarto.utils.dumpworks with pandoc's builtin global variables (#2254)Provide a better error message for non-existent format resources (#2291)
Ability to specify a minimum quarto version via the
quarto-requiredoption.Extension may now contribute project types (project metadata which will be merged with a project when project of that type are rendered)
Include Pandoc
loggingLua module from @wluptonImprove path resolution of extensions
Add support for extensions that contribute revealjs-plugins
Fix issue loading extensions when the organization name is the same as the extension identifier
Fix issue preventing installation of archived extensions from an arbitrary url (#2419)
Support installation of extensions using Github archive urls
Support installation of extensions from with subdirectories of a github repo
Lua
requirecan now find modules adjacent to the current scriptUse snake case for Quarto Lua API functions (match Pandoc API)
Projects
Project configuration
profilefor varying configuration and output based on globalQUARTO_PROFILEor--profilecommand-line option.Project level environment variables (including local overrides)
Ensure that
execute-diris always resolved to an absolute path
HTML Format
Fix error when restoring preserved HTML in output files that use
output-fileProperly maintain dark/light state when navigating between pages
Fix
code-copybutton issue whenpage-layoutis full with no visibletoc(#2388)Add support for scss variables to better control the table of contents appearance (
$toc-color,$toc-font-size,$toc-active-border,$toc-inactive-border)Provide more explicit code-copy feedback using a tooltip
Improve coloring of code copy button when using various
highlight-styles.Support scss variables to customize the code copy button using
$btn-code-copy-color,$btn-code-copy-color-activeAdd support for
date-modifiedin document metadataWrap inline code elements if necessary
PDF Format
Provide a better error message for PDF output that produces an empty document
Improved detection of LaTeX caption regions (#2295)
Handle LaTeX error messages with no file output more gracefully (#2183)
Support cross reference-able figures with callouts
Allow cross references inside of a callout
Improve margin layout support for
twoside,oneside, andtwoside=semioptions ofscrbookProperly default
number-sectionson when the documentclass isscrbook
Docx Format
Properly scale callout icons using DPI
Properly space a consecutive table and figure (#2493)
Revealjs Format
Update to Reveal v4.3.1 (+ commit e281b32) to fix presentation scaling/zoom issues.
Improved title slide that uses normalized author and affiliation schema
Introduce template partials for RevealJS. You may provide partials for
title-slide.htmlortoc-slide.html.Ensure that
output-locationworks properly in fenced divsChange SCSS so styles respond to both linkColor and link-color (#2820)
When mermaidjs diagrams exist, set viewdistance to cover entire slideshow (#2607)
Markdown Formats
Support code folding for markdown output when
raw_htmlis supported.docusaurus-mdformat for Docusaurus compatible markdowndocusaurusandhugoproject types for render/preview within external static site generators
Ipynb Format
Strip attributes from images when converting to
ipynb(leaving the attributes caused problems w/ attachments in VS Code)
AST Formats
Remove intermediate metadata for AST formats (
nativeandjson)
Google Scholar
Properly read Google Scholar reference data from dynamically generated bibliography YML
Crossrefs
Fix problem with crossref indexing for listing code blocks
Tables
Don't require array brackets for
tbl-colwidthsspecificationOverride standard GT style in multiple-column spanners (#3038)
Authors and Affiliations
Improve handling of empty authors
Parse
authorandinstitute(often used for RevealJs and Beamer) into normalized author schema
Websites
Properly allow
twitter-cardandopen-graphto override the page description.Don't discover resources within a site or book output directory
Enable use of custom HTML formats for websites
Automatically populate sidebar menu using
autooption for contentsProperly handle
margin-headerandmargin-footerfilesEnsure that the
code-copybutton is functional even when margin content is present.Add support for open graph image sizes
Fix issue preventing
twitter-cardsitemetadata from being emitted.Prevent website content from shifting when page first loads
Improve animation smoothness when expanding navbar in mobile mode (#1873)
Permit icons in top level navbar, if specified
Fix incorrect computation of the next and previous buttons after the first separator
Books
Fix issue that caused incomplete search indexes for books
Don't display the book description in each chapter's title block
Book YAML now accepts fields from csl-item schema (#2148, #2398)
Preview
Restart Jupyter kernel daemon if preview server is restarted.
Enable use of external preview servers for serving project output
Add
--no-servecommand line parameter to prevent serving altogetherDo not add trailing slash to VSCODE_PROXY_URI set by code-server
Publishing
Handle CNAME file for
gh-pageseither without or without protocol prefix (e.g. https://)
Languages
Italian translation for Quarto UI text
Polish translation for Quarto UI text
Korean translation for Quarto UI text
Listing and Feeds
Fix escaping issue in RSS feed fields
Properly support
max-desc-lengthto trim descriptions within listingsProperly support exclude globs (like
!blog/index.qmd) when resolve listing contents
Bibliographies and Citations
Support formats
bibtex,biblatex, andcsljson. When rendered to one of these formats any citations within the document will be rendered as the specified bibliography format.Always add citeproc filter if
citeproc: trueis specified, even if there isn't a bibliography or references in the document (#2294)Don't process citations twice when
citeprocis specified (#2393)Fix
citation-hoverfor footnote style reference formats
TinyTex
quarto install tinytexwill now install TinyTex even if a system installation of TeX is detected.quarto install tinytexwill no longer add TinyTex to the system path by default.When rendering PDFs, Quarto will prefer an existing installation of TinyTex over a system Tex installation
To prevent Quarto from using an installation of TinyTex (if you'd prefer the system installation be used), set
latex-tinytex: falsein your project or document front matter.To install TinyTex system wide, using the
--update-pathflag when installing (this will add TinyTex to the system path)
Video Shortcode
The video shortcode extension is now native to the Quarto CLI
Reveal-JS Video Snippet backgrounds are now better supported. For common video snippets, like YouTube, you can specify them as
background-videoand quarto will ensure the correct embed URL is used and swap tobackground-iframebackground if needed.
Creating Artifacts
Introduce a new
quarto createcommand which will create projects or extensions
Miscellaneous
Render: ability to set
enigneandjupytermetadata values from the command lineRender: ability to compose
--to allwith other formats (e.g.--to all,json)Don't call Deno.realPathSync on Windows (avoid problems w/ UNC paths)
Don't include Unicode literals on Windows directly (#2184), thanks @yihui
Improve YAML validation error messages on values of type object (#2191)
Upgrade esbuild to 0.15.6
Implement --help option for quarto preview and quarto run
Increase contrast for a11y-light theme to work with default code-block background (#2067, #2528)
Use deno arm64 native binaries on macOS
Resolve absolute paths in include shortcodes (#2320)
New metadata field
quarto-requiredto specify required versions of quarto in a documentProvide project configuration for calls to
quarto inspectfor filesImprove YAML validation error messages on closed schemas (#2349)
Don't use default width/height on mermaid diagrams when better information is available (#2383)
Improve YAML validation error messages on invalid YAML objects that include
x = y(#2434)Forward
--log-levelto Pandoc via--trace,--verbose, and--quietDisallow names with paths in command line option
--outputand YAML optionoutput-file(#2440)Add possible chrome process running error to the error message thrown when quarto fails to connect to chrome headless (#2499)
Only pass
pagetitlemetadata for HTML file outputProvide non-HTML treatment for code block
filenameprevent Chrome CRI race during initialization (#2733)
Work around
mermaid-format: svgdiagram clipping (#1622)Don't use tree-sitter outside of interactive IDE contexts (#2502)
Support custom Lua writers in YAML front matter (#2687)
Better error message with inadvertent
!in YAML strings (#2808)More precise underlining of YAML validation errors (#2681)
When converting raw html tables to pdf, use all tables generated (#2615)
Fix theorem (thm, def, ...) environments in all formats (#2866)
Upgrade to deno 1.25.2, which should lead to a 2-3x speedup in quarto startup time and fix an issue with Fedora 37 (#3012)
quarto preview: only prefix paths with
/when needed (#3183)