Hwaro::Core::Lifecycle::BuildContext
Inherits Reference / Object
Build context that flows through all phases
Constructors
Instance methods
The Builder driving this run. Hooks that render through a Builder (taxonomy generation) reuse it — its Crinja value caches are warm with every page already converted — instead of constructing a fresh Builder that re-converts the whole site a second time.
The Builder driving this run. Hooks that render through a Builder (taxonomy generation) reuse it — its Crinja value caches are warm with every page already converted — instead of constructing a fresh Builder that re-converts the whole site a second time.
Sections removed by an early (pre-ParseContent) draft/expired/future filter — e.g. a custom AfterReadContent hook — whose [cascade] must still reach their descendants. apply_cascades merges these with the surviving sections when building the cascade map. The default build filters inside the ParseContent phase (after cascades apply), so this stays empty there.
Sections removed by an early (pre-ParseContent) draft/expired/future filter — e.g. a custom AfterReadContent hook — whose [cascade] must still reach their descendants. apply_cascades merges these with the surviving sections when building the cascade map. The default build filters inside the ParseContent phase (after cascades apply), so this stays empty there.
Invalidate the cached all_pages array (call after modifying pages/sections)
Phase-specific metadata for inter-hook communication
True when the global page/section set changed since the previous
cached build (page added/removed, listing metadata moved). Set by
the Render phase BEFORE it records the new fingerprints — Generate
can't re-check the cache itself at that point — so the SEO/search
skip_if_unchanged fast path doesn't keep a deleted page in the
sitemap/search index when no surviving page happened to re-render.
True when the global page/section set changed since the previous
cached build (page added/removed, listing metadata moved). Set by
the Render phase BEFORE it records the new fingerprints — Generate
can't re-check the cache itself at that point — so the SEO/search
skip_if_unchanged fast path doesn't keep a deleted page in the
sitemap/search index when no surviving page happened to re-render.
True when the current run only handles a subset of the site's
pages — set on both passes of a --fast-start session
(priority + deferred). Hooks that persist per-page state
(e.g. the OG image manifest) use this to skip the "truncate
entries for missing pages" prune, so the second pass doesn't
wipe the first pass's writes.
True when the current run only handles a subset of the site's
pages — set on both passes of a --fast-start session
(priority + deferred). Hooks that persist per-page state
(e.g. the OG image manifest) use this to skip the "truncate
entries for missing pages" prune, so the second pass doesn't
wipe the first pass's writes.
When --fast-start is active, this is populated with the subset of
pages the initial pass should process (homepage + recent N + section
indexes). BeforeRender hooks (OG image, image resize) consult this to
skip work for the deferred subset; the background render pass clears
it and re-runs those hooks for the rest. Nil outside of fast-start.
When --fast-start is active, this is populated with the subset of
pages the initial pass should process (homepage + recent N + section
indexes). BeforeRender hooks (OG image, image resize) consult this to
skip work for the deferred subset; the background render pass clears
it and re-runs those hooks for the rest. Nil outside of fast-start.
Profiler reference (only set when --profile is active). Allows expensive hooks (OG image, image resize) to record their own timing so the true cost distribution inside the Render phase becomes visible.
Profiler reference (only set when --profile is active). Allows expensive hooks (OG image, image resize) to record their own timing so the true cost distribution inside the Render phase becomes visible.