Execution happens when pipelines and the modules they contain are evaluated.
When pipelines in Statiq are executed, a special object called the engine is responsible for coordinating activity. While an engine can be instantiated directly, it's most typically created by using a bootstrapper.
The engine contains all the global objects used to perform generation such as the file system abstraction. It also creates the pipeline dependency graph and executes the modules in each pipeline.
While executing pipelines and modules, the current state and other functionality is passed in an object called the execution context.
Events let you hook into various stages of the generation process and can be helpful when you need to implement cross-cutting behavior at runtime or when you need to modify the behavior of existing pipelines. Statiq has a global event mechanism that makes it easy to subscribe to and handle events.
Analyzers provide a mechansim to run validation checks, inspect documents, and otherwise report on the status of your content and data.
Files and Paths
Statiq uses an IO abstraction layer designed to provide flexibility and consistency when dealing with files, directories, and path information.