API / Minn\Extension / SeamRunner

SeamRunner final readonly class

Minn\Extension\SeamRunner · public/minn/src/Minn/Extension/SeamRunner.php · 79 lines

The engine's side of the seams: what the loader collected, called at the right moment and in registration order. An extension never sees this class; it sees Seams, which is only the eight registrations.

Constants and properties

privatereadonly Minn\Extension\Seams $seams

Promoted from the constructor.

privatereadonly Minn\Extension\Registrations $registered

Promoted from the constructor.

Public

new__construct(Minn\Extension\Seams $seams, Minn\Extension\Registrations $registered)#
methodallowsBlock(Minn\Blocks\Block $block): bool#

Whether every block gate lets a block render.

methodfilterBlock(Minn\Blocks\Block $block, string $html): string#

A block's HTML through every block filter.

methodfilterContent(string $html, Minn\Content\PostRecord $post): string#

Shortcodes, then the content filters, over rendered post content. An extension's filter is promised the post as a row (contracts/extensions.md), so a record is handed over as one.

methodtitle(string $title): string#

The document title through the title filter.

methodhead(): string#

What the extensions add to the head.

methodfooter(): string#

What the extensions add to the footer.

methodbodyClasses(): array#

The body classes the extensions add.

@return list<string>
methodfilterDocument(string $html): string#

The whole document through every document filter.