Skip to content

quarto: manifest includes derived files #553

Closed
@aronatkins

Description

@aronatkins

Given a Quarto project:

The _quarto.yml:

project: {}

A requirements.txt:

jupyter
matplotlib
numpy

The index.qmd:

---
title: "matplotlib demo"
format:
  html:
    code-fold: true
jupyter: python3
---

For a demonstration of a line plot on a polar axis, see @fig-polar.

```{python}
#| label: fig-polar
#| fig-cap: "A line plot on a polar axis"

import numpy as np
import matplotlib.pyplot as plt

r = np.arange(0, 2, 0.01)
theta = 2 * np.pi * r
fig, ax = plt.subplots(
  subplot_kw = {'projection': 'polar'}
)
ax.plot(theta, r)
ax.set_rticks([0.5, 1, 1.5, 2])
ax.grid(True)
plt.show()
```

Render this project, then create a manifest for this content using rsconnect.

quarto render
rsconnect write-manifest quarto .

The generated manifest.json enumerates index.html and the entirety of index_files/**. This is because manifest construction is attempting to automatically filter derived files, but uses config.project.render rather than input.files.

https://github.com/rstudio/rsconnect-python/blob/18bfc5a5ac5b0ea03a2b9610dd04685e3919bd7f/rsconnect/bundle.py#L1307-L1312

This is because the earliest test projects forced rendering with configurations like:

project:
  render:
    - index.qmd

The use of this pattern led us to assume that the config.project.render inspect output enumerated files. It does not; it enumerates patterns.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions