Build Site
3 minute read
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.
Field | Type | Description |
---|---|---|
name | Text | A unique identifier for the template. |
views | Multiselect | View 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.
Field | Type | Description |
---|---|---|
name | Text | A unique identifier for the template. |
base | Text | A 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.
Field | Type | Description |
---|---|---|
name | Text | A unique identifier for the layout. |
base | Text | A reference to the base layout. |
scripts | Code | Code snippets written in JavaScript to enhance the page functionality. |
slots | List | A 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:
Field | Type | Description |
---|---|---|
slot | Text | A unique identifier for the slot. |
sections | List | A list of sections that are inserted into this slot. |
Under a section, following sub-fields are present:
Field | Type | Description |
---|---|---|
section | Select | The name of the section that is added to the slot. It selects from the available ‘sections’. |
params | Map | A map of parameters used within the section. |
subslots | Json | A JSON object denoting any subsections within the main section. |
provide_slot | Text | The 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.
Field | Type | Description |
---|---|---|
name | Text | A unique identifier for the page. |
title | Text | The name shown on the tab of the browser. |
dynamic_title | Code | A dynamic title that changes according to some conditions. |
layout | Select | The layout type in which the page should be presented. |
description | Textarea | A brief description of the page. |
scripts | Code | Code snippets written in JavaScript to enhance the page functionality. |
slots | List | A 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.
Field | Type | Description |
---|---|---|
name | Text | A unique identifier for the section. |
type | Select | The type of the section. It can either be Astro or Vue. |
vars | Map | A map related to the functioning of the section. |
code | Code | Code that defines the functionalities of the section. |