You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The way the Step API is designed, Steps receive one input path and a variable number of output paths, already identified at the beginning of each processing cycle. This is generally effective, but the edges have been pushed really from the beginning with JinjaMarkdownStep, which reads the input markdown file but also a Jinja template referenced by the markdown file. More recently, ResourcePackerStep completely does away with the input file meaning anything at all except for gathering other files. This all works well enough, but as we look to features like #30, which will require knowing all files that could affect the output of the step, we see that the engine's knowledge is insufficient. Further, proposed functionalities like #27, #28, #34, and #35 are all really going to require output paths calculated by the Steps themselves at runtime. #29 offers a possible workaround, but leans towards duplication of effort. Instead, let's take advantage of the fact we don't return anything from Steps currently. Step.__call__() can be extended to allow either the current None, in which case custody will be handled as at present, or a tuple of two lists of Paths, the first being input and the second being output. Steps which wish to declare only one of the two can easily return the paths that go in as input; this will make Step.__call__() totally symmetrical apart from the input path parameter being singular and the input path return value being plural.
The text was updated successfully, but these errors were encountered:
The way the
Step
API is designed, Steps receive one input path and a variable number of output paths, already identified at the beginning of each processing cycle. This is generally effective, but the edges have been pushed really from the beginning withJinjaMarkdownStep
, which reads the input markdown file but also a Jinja template referenced by the markdown file. More recently,ResourcePackerStep
completely does away with the input file meaning anything at all except for gathering other files. This all works well enough, but as we look to features like #30, which will require knowing all files that could affect the output of the step, we see that the engine's knowledge is insufficient. Further, proposed functionalities like #27, #28, #34, and #35 are all really going to require output paths calculated by the Steps themselves at runtime. #29 offers a possible workaround, but leans towards duplication of effort. Instead, let's take advantage of the fact we don't return anything from Steps currently.Step.__call__()
can be extended to allow either the currentNone
, in which case custody will be handled as at present, or a tuple of two lists of Paths, the first being input and the second being output. Steps which wish to declare only one of the two can easily return the paths that go in as input; this will makeStep.__call__()
totally symmetrical apart from the input path parameter being singular and the input path return value being plural.The text was updated successfully, but these errors were encountered: