GrowSitedevelopers

Layouts and shared settings

Section groups, global configuration and page templates.

Wrap page content

layout/theme.html is the default wrapper. Use the exact content placeholder:

html
<div class="theme" style="background:[[ settings.background ]]">
  <template gs-group="header"></template>
  <template gs-slot="layout"></template>
  <template gs-group="footer"></template>
</div>

Do not emit a second HTML document with html, head and body; GrowSite owns the surrounding document. In page JSON choose "layout":"landing" to use layout/landing.html, or "layout":false to disable the theme wrapper. Omission selects theme.

Shared section groups

Create sections/header.json:

json
{"type":"header","sections":{"main":{"type":"header"}},"order":["main"]}

The main instance uses sections/header.html. Its schema still requires a name and can define settings. Sections need presets to be offered for addition. Groups let a common header/footer be edited across pages, rather than duplicating values in every page template.

Saved group overrides live in theme_settings.html.groups. Individual page sections live in the page document. Keep the group section IDs and order list consistent. A new native theme should include global settings so the current Loom settings panel exposes its shared configuration.

Platform navigation, legal information and branding remain platform features. A theme group does not automatically replace all system chrome. Check the installed theme in the actual builder and public renderer for duplicated headers.

Global settings

config/settings_schema.json:

json
[{"name":"Appearance","settings":[{"type":"color","id":"background","label":"Background","default":"#f4f6ef"},{"type":"font_picker","id":"font","label":"Font","default":"Inter"}]}]

config/settings_data.json:

json
{"current":{"background":"#f4f6ef","font":"Inter"}}

Read them as settings.background and settings.font, not section.settings. Customer overrides are stored in theme_settings.html.settings. Global IDs must stay stable; setting a field named accent does not automatically restyle platform buttons. Use the value explicitly in your markup or styles.

Multi-page templates

Add another templates/<name>.json with a title, sections and order, referencing existing definitions. Keep home.json for the catalog entry. A template initializes a page; editing its defaults is not a bulk rewrite of customers' saved content. Verify new sites and existing sites separately when releasing changes.

Download Markdown copy
Results · 22
GS Loom UI components

Shared components, variants and theme styling.

Font catalog

Available fonts, previews and font declarations in GS Loom.

Menus and navigation

Create menus, connect links and style navigation.

Blog and comments

Blog and comments

SEO and plugin contracts

SEO and plugin contracts

Build your first theme

A complete package, installation and your first edit.

GS Loom Playground

Test themes locally without an API, database or upload.

Architecture and files

How author files become a customer website.

Schema and settings

Control types, default values and stable identifiers.

Blocks, targeting and order

Definitions, instances, nesting and static blocks.

Preview editing

Connect text, cards, images and icons to the builder.

Text and headings

From schema to text editing, typography and persistence.

Buttons and links

Labels, destinations, colors, dimensions and accessible states.

Inputs and form fields

Field types, labels, options, limits and validation.

Forms step by step

Instances, site binding, submission and error handling.

Cards, icons, images and badges

Container appearance, icon sizes and media editing.

Dynamic sources

Site data, page context and fallback values.

Layouts and shared settings

Section groups, global configuration and page templates.

Languages and translations

Starter languages, customer-added languages and AI translations.

Snippets, CSS and assets

Reusable markup, responsive styling and safe URLs.

Testing, import and updates

Validate a package and release it while preserving customer data.

Capabilities and limits

The supported GS Loom contract and working with AI.