Framework for Python

Notebooks & Scripts

quarto_generate_all()

Write the project's Quarto configuration, as the R package does. Returns the files written.

One root _quarto.yml holds the shared settings. Its output-dir is the folder most render targets share, and Quarto keeps each file's folder under it, so notebooks/x.ipynb renders to outputs/notebooks/x.html. A folder whose format differs from the root's, such as a course's slides/, gets a _metadata.yml with only its format, which inherits the rest from the root. A render target outside the shared folder keeps its own _quarto.yml with a relative output-dir. Existing files are overwritten.

Usage

quarto_generate_all(
    project_path: str | Path,
    project_type: str,
    render_dirs: dict[str, str] | None = None,
    quarto_settings: dict[str, Any] | None = None,
    directories: dict[str, str] | None = None,
) -> list[Path]

Arguments

Name Type Default Description
project_path required str | Path

The project's root folder.

project_type required str

The project type. "presentation" renders the root as revealjs. Any other type renders it as HTML.

render_dirs dict[str, str] | None None

Maps a directory key to the folder its output goes to, relative to the project root. Keys with an empty target are skipped. Keys containing "slide" or "slides" render as revealjs. Default: no render folders.

quarto_settings dict[str, Any] | None None

Format options under html and revealjs keys, such as {"html": {"toc": False}}. They override Framework's defaults, and only options that have a default are written.

directories dict[str, str] | None None

Maps a directory key to its source folder, relative to the project root. A key missing here uses the key itself as the folder name. Missing folders are created.

Value

The files written, the root file first.

Raises

  • FrameworkError: When project_path is not an existing folder.