quarto-dev / quarto-dev/quarto-cli
Allow (project) extensions to provide resources
Nobody has claimed this yet.
- 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.qmdwithin 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-resourcesno 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:
- copy the resources listed at the root of the project on
quarto use - add resources to "search path"
Possibly, the two could be controlled by users and used at the same time.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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