quarto-dev / quarto-dev/quarto-cli

Allow (project) extensions to provide resources

Open
#9,515 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement extensions needs-design needs-discussion
Dominant language
JavaScript
Stars
6k
Forks
458
Avg merge
1d 9h
Merged PRs (30d)
41

Description

Currently, Quarto extensions cannot really hold assets to be used by template or as default project setup.

For instance, images and files within a project extension cannot really be used:

  • in template.qmd within the extension directory, you need _extensions/REPO/resource.txt, but when using the extension it becomes _extensions/ACCOUNT/REPO/resource.txt. (Leading to issue such as https://github.com/quarto-dev/quarto-cli/issues/9473)
  • in a Quarto project extension, it's not possible to define default files. For example, you might want to create a Quarto project that has a Devcontainer setup, GitHub Actions workflows, etc., but this is currently not possible as beside format-resources no resources can be copied. (https://github.com/quarto-dev/quarto-cli/discussions/9351)

It would be nice for Quarto extensions to have a setting allowing users to define resources to be used by the project/formats.

There are two cases:

  1. copy the resources listed at the root of the project on quarto use
  2. add resources to "search path"

Possibly, the two could be controlled by users and used at the same time.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing how Quarto project extensions are handled during quarto use, including the existing format-resources behavior and resource search paths. Compare the requested root-project copying and search-path cases, then define how users would control either or both and verify that extension assets and default files are available as intended.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
cli, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.