Metadata Extensions
Metadata extensions are Quarto extensions that provide metadata (YAML objects) that can be merged to existing Quarto configurations in a reusable manner.
Currently, metadata extensions only merge project-level metadata. This limitation will be lifted in the future.
Quick Start
Here we’ll describe how to create a simple metadata extension. We’ll use the quarto create
command to do this. If you are using VS Code or RStudio you should execute quarto create
within their respective integrated Terminal panes.
To get started, execute quarto create extension metadata
within the parent directory where you’d like the filter extension to be created:
Terminal
$ quarto create extension metadata
? Extension Name › my-prerender-scripts
As shown above, you’ll be prompted for an extension name. Type my-prerender-scripts
and press Enter—the filter extension is then created:
? Extension Name › my-prerender-scripts
Creating extension at /Users/cscheid/Desktop/my-prerender-scripts:
- Created README.md
- Created _extensions/my-prerender-scripts/_extension.yml
- Created .gitignore
? Open With
❯ vscode
rstudio
(don't open)
If you are running within VS Code or RStudio a new window will open with the extension project.
Contents of Metadata Extensions
Here’s what the contents of the files in _extensions/my-prerender-scripts/
look like:
_extensions/my-prerender-scripts/_extension.yml
title: My-prerender-scripts
author: Carlos Scheidegger
version: 1.0.0
quarto-required: ">=99.9.0"
contributes:
metadata:
project:
# your per-project metadata goes here
How Metadata Extensions Work
Under the project
key, any YAML you add will be automatically merged to any project using this extension. This behaves differently from custom project extensions. Quarto projects using metadata extensions do not need to change their project types for the metadata to be merged.
As noted above, metadata extensions only merge project-level metadata in the project
key. This limitation will be lifted in the future.