Skip to content
ricochet

Quarto

This page covers the requirements and internals of deploying Quarto content to ricochet.

Quarto content items share the same dependency requirements as their underlying language runtime. Refer to the relevant language page for details:

LanguageRequired filesReference
Rrenv.lockR deployment
JuliaManifest.tomlJulia deployment
Python.python-version, uv.lockPython deployment
[content]
name = "My Quarto Site"
entrypoint = "_quarto.yml"
access_type = "external"
content_type = "quarto-r"
[language]
name = "r"
packages = "renv.lock"
[static]
index = "index.html"
output_dir = "_docs"

Quarto content items can be deployed as apps or tasks.

Content TypeLanguageDescription
quarto-r-shinyRA Quarto document using a Shiny runtime.
Content TypeLanguageDescription
quarto-rRA Quarto document rendered using an R runtime.
quarto-jlJuliaA Quarto document rendered using a Julia runtime.
quarto-pyPythonA Quarto document rendered using a Python runtime.

Quarto content items do not automatically serve their rendered output. To expose the rendered HTML, add a [static] section to your _ricochet.toml:

[static]
index = "index.html"
output_dir = "_docs"

The site will be available at /static/{item-id}. See the Static Sites page for full configuration details.

Ricochet locates the Quarto binary on the host in the following order:

  1. PATH — if quarto is found on the system PATH, it is used directly.
  2. /opt/quarto — checked as a standard installation location.
  3. /opt/quarto-{version} — broader search under /opt/ for versioned Quarto installations.

When the entrypoint is _quarto.yml, ricochet renders the parent directory rather than the file itself. This supports Quarto projects such as websites and books.

Ricochet runs:

Terminal window
quarto render <entrypoint>

The QUARTO_R environment variable is set to the R binary discovered via R version discovery.

Ricochet runs:

Terminal window
quarto serve <entrypoint>

The QUARTO_R environment variable is set to the R binary discovered via R version discovery.

Ricochet runs:

Terminal window
quarto render <entrypoint>

The QUARTO_JULIA environment variable is set to the Julia binary discovered via Julia version discovery.

Ricochet runs:

Terminal window
quarto render <entrypoint>

Python version matching follows the same rules as other Python content, using .python-version and the environment restored by uv sync. See Python deployment for details on version discovery and environment restoration.

Ricochet points Quarto at the restored virtual environment by setting the following environment variables:

VariableValue
QUARTO_PYTHONPath to the virtual env Python binary (<bundle>/.venv/bin/python)
VIRTUAL_ENVPath to the virtual environment directory
UV_PYTHONPath to the matched system Python binary
PYTHONUNBUFFERED1

The virtual environment’s bin/ directory is also prepended to PATH.