LinuxCommandLibrary

quarto

Render documents into various output formats

TLDR

Create a new project

$ quarto create-project [path/to/destination_directory] --type [book|default|website]
copy

Create a new blog website
$ quarto create-project [path/to/destination_directory] --type [website] --template [blog]
copy

Render input file(s) to different formats
$ quarto render [path/to/file.[qmd|rmd|ipynb]] --to [html|pdf|docx]
copy

Render and preview a document or a website
$ quarto preview [path/to/destination_directory|path/to/file]
copy

Publish a document or project to Quarto Pub, Github Pages, RStudio Connect or Netlify
$ quarto publish [quarto-pub|gh-pages|connect|netlify]
copy

SYNOPSIS

quarto [global options] <command> [command options] [arguments]

PARAMETERS

--help, -h
    Show help message for the Quarto command or a specific subcommand.

--version
    Display the installed Quarto version.

--log-level <level>
    Specify the minimum log level to display (e.g., info, warn, error, debug).

--log-format <format>
    Specify the log output format (e.g., default, json).

--quiet
    Suppress all console output except for critical errors.

--no-colors
    Disable colored output in the console.

DESCRIPTION

Quarto is an open-source scientific and technical publishing system built on Pandoc. It allows users to create high-quality articles, presentations, websites, books, and interactive documents from various input formats, including Markdown, Jupyter notebooks, R Markdown, and Observable JS.

Quarto is designed to be language-agnostic, supporting Python, R, Julia, and Observable JS code execution within documents, making it a versatile tool for data scientists, researchers, and technical writers. It simplifies the process of integrating code, narrative, and rich media, outputting to a wide range of formats such as HTML, PDF, Microsoft Word, EPUB, and more.

Quarto provides a unified interface for authoring and rendering, aiming to make reproducible research and reporting accessible and efficient across different computing environments and tools like VS Code, RStudio, and Jupyter Lab.

CAVEATS

Quarto is a comprehensive system with a rich set of features. While its basic usage is straightforward, fully leveraging its capabilities often requires understanding its YAML front matter for document configuration, specific options for its numerous subcommands (e.g., render, preview, publish), and its integration with various language engines (Python, R, Julia).

Generating certain output formats (e.g., PDF) may require external dependencies like a TeX distribution (e.g., TinyTeX, TeX Live). Users should consult the official Quarto documentation for detailed guidance on advanced features and troubleshooting dependencies.

<B>CORE SUBCOMMANDS</B>

Quarto operates primarily through subcommands. The most frequently used include quarto render (to process and output a document), quarto preview (to render and display a document in a browser with live-reload), quarto publish (to deploy content to various hosting services), quarto create (to scaffold new projects or documents), and quarto check (to diagnose installation issues).

<B>YAML FRONT MATTER</B>

Document-specific configuration in Quarto is typically managed using YAML front matter at the beginning of source files. This allows users to control output formats, themes, table of contents, citations, and many other aspects of the rendered document in a declarative way.

<B>IDE INTEGRATION</B>

Quarto is deeply integrated with popular IDEs such as Posit's RStudio, VS Code (via an extension), and Jupyter Lab (via an extension), providing seamless authoring, rendering, and previewing experiences.

HISTORY

Quarto was developed by Posit (formerly RStudio) and officially released in 2022. It represents an evolution of the popular R Markdown framework, aiming to provide a more universal, language-agnostic, and robust publishing system. While R Markdown was primarily focused on R, Quarto extends its capabilities to Python, Julia, and Observable JS, leveraging the power of Pandoc for document conversion. Its development was driven by the goal of creating a unified standard for reproducible computational documents across various programming languages and integrated development environments.

SEE ALSO

pandoc(1)

Copied to clipboard