I am trying to figure out how I can share a _quarto.yml
across several qmds and deploy those qmds separately in Connect. So if I had this file structure:
.
├── _quarto.yml
├── data
│ └── small.csv
├── qmd-connect.Rproj
├── qmd1
│ └── qmd1.qmd
└── qmd2
└── qmd2.qmd
which is replicated here: GitHub - boshek/qmd-connect
Here if say I run quarto render
locally at the top level of the project, it behaves just like I would expect. Both qmds get rendered using the shared _quarto.yml
.
What, however, I am trying to do is to have qmd1.qmd
and qmd2.qmd
exist as separate objects in Connect as git-backed content but still be able to realize the benefit of a quarto project -- namely that _quarto.yml
file. If try to create a manifest file like this for qmd1.qmd
:
rsconnect::writeManifest(
appDir = "qmd1",
appPrimaryDoc = "qmd1.qmd",
quarto = quarto::quarto_path()
)
The manifest does not find data/small.csv
nor does it find the _quarto.yml
.
If I try to create the manifest like this:
rsconnect::writeManifest(
appDir = ".",
appPrimaryDoc = "qmd1/qmd1.qmd",
quarto = quarto::quarto_path()
)
it creates a manifest file that incorporates the _quarto.yml
file but create it at the top of the directory which means I then can't create a manifest file for qmd2.qmd
. Some of this can be solved by packaging code as suggested here but not everything as I don't quite see how one can create a shared _quarto.yml
like that.
Can anyone recommend any strategies to fully realize quarto projects and shared ymls (which are great!) across multiple pieces of content in connect?