Build Site

The action/buildSite element builds static sites using different strategies, depending on the site builder driver used.

Options

Driver (driver) [string]

Currently, page-depot is the only supported driver for building static sites.

Template (template) [Entity]

Entity with the capability SiteBuilderTemplate.

Pages Module (pages_module) [string] (optional)

Module identifier to request the pages. Used by the PageDepot driver.

Sections Module (sections_module) [string] (optional)

Module identifier to request available sections. Used by the PageDepot driver.

Pages Filter (pages_filter) [array] (optional)

Brezel filter array for the request to page entities. Used by the PageDepot driver.

Drivers

The default driver is page-depot.

PageDepot (page-depot)

The PageDepot driver communicates with the external PageDepot service.

Capabilities

SiteBuilderTemplate

Defines a basic template for the site builder.

FieldTypeDescription
nameTextA unique identifier for the template.
viewsMultiselectView entities with code.

PageDepotTemplate

Defines a template for web pages specific to the PageDepot service. This capability is a part of the implementation logic behind the scenes.

FieldTypeDescription
nameTextA unique identifier for the template.
baseTextA reference to the base layout for the template.

PageDepotLayout

Defines the general layout of a web page. This includes how sections, slots, and scripts should be arranged.

FieldTypeDescription
nameTextA unique identifier for the layout.
baseTextA reference to the base layout.
scriptsCodeCode snippets written in JavaScript to enhance the page functionality.
slotsListA list of slots that are sub-parts of a layout.

The ‘slots’ field holds a list of slot objects. Each ‘slot’ defines a specific area on the page where sections can be inserted. Within a layout, different slots can be defined to include different sections of the page.

Each slot object contains the following sub-fields:

FieldTypeDescription
slotTextA unique identifier for the slot.
sectionsListA list of sections that are inserted into this slot.

Under a section, following sub-fields are present:

FieldTypeDescription
sectionSelectThe name of the section that is added to the slot. It selects from the available ‘sections’.
paramsMapA map of parameters used within the section.
subslotsJsonA JSON object denoting any subsections within the main section.
provide_slotTextThe name of the slot that this section provides for nesting additional sections.

By arranging and configuring different slots and sections within each slot, you can create complex yet easily manageable page layouts. The actual contents of the sections and their respective parameters can be customized as per needs and are not defined in the PageDepotLayoutCapability. They would fall within other capabilities, such as PageDepotSectionCapability.

PageDepotPage

Defines a structure for a single webpage. It gives details about how the title, description, layout, script, etc. should be formed.

FieldTypeDescription
nameTextA unique identifier for the page.
titleTextThe name shown on the tab of the browser.
dynamic_titleCodeA dynamic title that changes according to some conditions.
layoutSelectThe layout type in which the page should be presented.
descriptionTextareaA brief description of the page.
scriptsCodeCode snippets written in JavaScript to enhance the page functionality.
slotsListA list of slots that are sub-parts of the page.

PageDepotSection

Defines a section - a subset of the layout. Its purpose is to bring in variants in the layout.

FieldTypeDescription
nameTextA unique identifier for the section.
typeSelectThe type of the section. It can either be Astro or Vue.
varsMapA map related to the functioning of the section.
codeCodeCode that defines the functionalities of the section.