Replies: 1 comment 6 replies
-
@cscheid wrote: "The robust solution is to use a pre-render script to produce all necessary inputs before the files are rendered." But if the inputs are produced by code in My current approach is to not have a pre-render script called from Quarto, but a render script calling Quarto, for all quarto render I do quarto render <file1.qmd>
quarto render <file2.qmd>
… That seems to be working okay in the cases I tried, but I'm not sure whether it can be relied on to always work. In particular, I'm not sure whether Here is a toy project testing this: inc-vs-glo.zip. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Description
There have been a number of issues/discussions about this (my #6944, @eculler's #10463, @maxdrohde's #10490). Official support is planned with 'Epic: Execution Planner' (#6518), but it is still a while until that will be finished. The purpose of this post is to discuss what workarounds can be used in the meantime.
On Linux, the current behavior seems to be that files are processed in the order in which they occur in the directory (i.e. without any sorting). How that order is determined is a matter of the underlying filesystem; again on Linux using ext4, it seems to depend on the order of hashes of filenames. On other OSes / filesystems it may be alphabetical, or by time. Therefore in principle one could fiddle around with filenames & dates until the order is right – but that is of course not practical.
In previous Quarto versions (1.4?), a workaround was to list all files explicitly in
_quarto.yml
underproject
/render
, but that behavior has changed in the meantime (see #10463, #10490), so the workaround no longer works.So what else can be done to control the execution order without built-in Quarto functionality?
Beta Was this translation helpful? Give feedback.
All reactions