Skip to main content
A ByteSell theme is the storefront a buyer sees. It is a Slurp project: pages, components and layouts as .slurp files, compiled to plain HTML on the server for every request. A theme adds two things to a Slurp project:

A manifest

theme.json at the theme root. It names the theme, carries its marketplace listing, and selects the editing surface merchants get.

Store data

Every render receives the store config, the merchant’s saved section content and the platform runtime URLs. No fetching or configuration is required.

Slurp and ByteSell

Slurp is the language. ByteSell supplies the data and serves the result. The left column is documented in the Slurp docs and behaves identically outside ByteSell. This section covers the right column.

Editable settings

A section declares a typed schema in its frontmatter. Those fields become form controls in the builder, so a merchant can edit a heading, swap an image or reorder a list without opening a template.
A merchant can set only the values the schema declares. A value that fails its kind’s validation falls back to the default and never reaches the markup. Sections and blocks covers what ByteSell adds to the Slurp grammar.

Platform-owned surfaces

The platform provides these. A theme does not implement them.
A theme that emits its own og:* or canonical tags produces duplicates. The platform injects them into every page after the template renders.

Next

Quickstart

Build a theme and deploy it to a store.

Project structure

The theme root and the published bundle.

Pages and routing

Route resolution and special pages.

Publishing

Versioning and publish validation.