Which metadata extension is run first? #10598
-
DescriptionIf I add two different metadata extensions to my Quarto project, each with a pre-render script, which one runs first? This brings to my mind something that's been slowly maturing for me over the months/years. Lua Filters modify the way Quarto/pandoc compiles single docs. They're effectively Document Extensions. A document can call many document extensions and specify the order in which they're run. Pre-and post-render scripts modify the way Quarto compiles multidoc projects. They're effectively Project Extensions. A project can call many such project extensions, but ... I don't know of a way to specify the order they're run (or make apparent in The analog to project:
type: website
extensions:
- my-first-extension
- my-second-extension |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 8 replies
-
I hear you. Context: We designed the filter declarations purposefully expecting that they would interfere with one another and so the user needs to declare their order. We generally don't expect extensions to interfere with one another, and so we didn't want to burden users with the same verboseness that comes in filter declarations. Technical answer: we specify that behavior (that is, you can't really currently control it, because we don't promise it'll be a defined order). Honestly: I don't know, we'd have to look. I don't think I want users to be able to control it, because I'd like to encourage extensions to be written in a way that they are independent of each other. |
Beta Was this translation helpful? Give feedback.
I hear you.
Context: We designed the filter declarations purposefully expecting that they would interfere with one another and so the user needs to declare their order. We generally don't expect extensions to interfere with one another, and so we didn't want to burden users with the same verboseness that comes in filter declarations.
Technical answer: we specify that behavior (that is, you can't really currently control it, because we don't promise it'll be a defined order).
Honestly: I don't know, we'd have to look. I don't think I want users to be able to control it, because I'd like to encourage extensions to be written in a way that they are independent of each other.