DefineTemplateInput
The input to `defineTemplate`, discriminated on `output` — the artifact class.
The input to defineTemplate, discriminated on output — the artifact
class. Each branch accepts only its own page form (routed for website,
unrouted for the rendered classes) and only its own format class, so a
routed postcard page, a pathless website page, or a cross-class format mix
fails to compile rather than to validate. The website formats singleton
is exactly presets.website; a rendered template declares one or more of
its class’s formats — the acceptance set the picker offers. A design
spanning classes is two templates sharing sections.
Import from @homepages/template-kit.
Signature
Section titled “Signature”export type DefineTemplateInput = DefineTemplateCommon & ({ readonly output: "website"; readonly formats: readonly [ WebsiteFormat ]; readonly pages: ComposedPages<RoutedPage>; readonly canvases?: ComposedCanvases;} | { readonly output: "image"; readonly formats: readonly [ ImageFormat, ...ImageFormat[] ]; readonly pages: ComposedPages<UnroutedPage>; readonly canvases?: ComposedCanvases;} | { readonly output: "document"; readonly formats: readonly [ DocumentFormat, ...DocumentFormat[] ]; readonly pages: ComposedPages<UnroutedPage>; readonly canvases?: ComposedCanvases;});See also
Section titled “See also”canvascomposeCanvasescomposePagescomposeSectionsdefineTemplateorgsForScopepagevisibilityForScopeAuthoredCanvasAuthoredTemplateComposeEntryDefineTemplateCommonPageOptionsRoutedPageSectionInstanceHandleSiteInstanceSlotRefUnroutedPageAuthoredPageComposedCanvasComposedCanvasesComposedPageComposedPagesTemplateScope