GrowSitedevelopers

Dynamic sources

Site data, page context and fallback values.

Available objects

Object Available data
site site.name
page page.title, page.slug
settings Global Loom settings
section Current section instance and settings
block Current block instance and settings
locale Current storefront language

A Loom expression such as [[ site.name ]] always reads site context. A schema text setting can instead let the customer choose between literal text and a dynamic source.

Store a binding

json
{"title":{"$source":"page.title","fallback":"Our services"}}

Place this object in an instance's settings, where title is a declared text setting. The editor currently offers the site name, page title and page slug for text/textarea controls. With a binding selected, the input edits the fallback. The preview resolves the actual page value.

Resolution order is the available source value, the binding fallback, then the schema default. Missing values trigger fallback; an intentional empty string, false or zero remains a value. Test unavailable sources separately from empty strings.

Sources are data paths

$source is not executable Loom. Do not write [[ page.title ]], filters or a function call inside it. The runtime reads permitted own properties and rejects prototype traversal. Source roots are site, page and closest.

closest only works when a platform integration explicitly passes resource context. Automatic custom resource binding is not available. Theme authors cannot invent product or collection objects by adding source strings.

Troubleshooting a stale heading

Confirm the setting contains a binding, the current page actually has a title, and markup uses section.settings.title rather than a hardcoded string. Inspect fallback separately. If an inline rich text override exists, check it is cleared by the setting edit. Save, reload and compare the public renderer with the preview.

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.