Getting started
A theme for Abizvo Sites is a folder of Liquid, JSON and assets that the platform renders on its own servers for a business's website. If you have written a Shopify Online Store 2.0 theme, the shape is familiar: a layouts/theme.liquid, JSON templates naming sections in order, {% schema %} blocks declaring each section's settings and blocks, a config/settings_schema.json for the global settings. What differs is the boundary — a theme reaches only what the platform hands it, and the platform writes the head, the colour schemes, the fonts, the "Powered by Abizvo" line and the chat button around whatever the theme draws.
This documentation is written from the code that enforces it. Where a page quotes a list — the setting types, the filters, the check's refusals, the marketplace's limits — that list is the one the platform runs, and a test holds the two together.
What a theme is
- A package:
abizvo-theme.jsonat the root and ten folders —layouts,templates,sections,blocks,snippets,config,assets,locales,screenshots,documentation. Nothing outside them is allowed in. See Package layout. - Liquid, rendered by Fluid: standard Liquid plus the platform's own tags and filters. Only dictionaries, lists and primitives reach a template; every output is HTML-encoded; each section renders in isolation, so one that fails leaves the page standing. See Liquid.
- Settings, gated once: forty-four setting types, each with a stored shape the platform checks at save and again at publish. Nothing a setting holds is ever HTML. See Settings.
- A version, frozen once released:
major.minor.patch, immutable once out of Draft. Change a file, bump the version. Sites move to a theme's newest released version in their draft, never on their live page.
Two ways to start
In the developer workspace
The workspace is at /app/website/themes in your Abizvo account (it needs the sites.manage permission and the theme platform switched on for your host). From there you can:
- Start from a theme you may install. The platform's own themes and any free or owned theme can be copied under a key of your own. The copy starts as version
0.1.0, a draft, with your key, name and version written into the manifest and everything else as it was. - Import a ZIP. The archive is opened by the same guarded reader the marketplace uses. It needs
abizvo-theme.jsonat its top level with a key, a name and a version like1.0.0. A key that belongs to another organization's theme is refused; your own key adds a version to your theme, and a version that already exists is refused. A ZIP is kept as a draft even when the check finds errors, so you can fix them in place.
In a draft you edit text files (.liquid, .json, .css, .js, .mjs, .svg, .md, .txt, each at most 512 KB); pictures and fonts arrive in a ZIP. Every save re-runs the theme check and refreshes a live preview rendered under the editor's own policy. A workspace holds up to 25 themes, and a theme has one draft at a time.
Locally, with the preview tool
The repository ships tools/ThemePreview, a console that renders every template of a theme folder to static HTML with no database and no running site:
dotnet run --project tools/ThemePreview -- path/to/my-theme .theme-preview/my-theme "Look name" --sample-content
Serve each look's output folder as its own site root (the asset paths are root-relative, so a page served from a subfolder renders unstyled) and open it in a browser. --fr renders the interface strings in Canadian French, --editor includes the editor's hooks, --locked and --favorites show a gallery's guest-code and proofing states. When it looks right, zip the folder and import it into the workspace.
The loop
- Check. The theme check reads the whole package in one pass and reports every problem at once. An error stops a release; a warning is what a reviewer reads first. See The theme check.
- Release. A draft can be released when the check passes and
abizvo-theme.jsonsays the same version the draft is. A released version is immutable; the next change starts a new, higher version as a draft copy. - Install. A released theme of yours installs on your own organization's sites — from Or start from a theme on the Website page. A theme sold on the Abizvo Marketplace installs on every buyer's sites through their entitlement.
- Publish. The site owner edits their copy in the theme editor and publishes. Publishing freezes the version, the content hash and the normalized data into one publication; the public page renders from that and never from the draft.
What to read next
- Package layout — the manifest, the folders and their rules.
- Liquid — the tags, filters and objects a template can use.
- Sections and blocks —
{% schema %}, presets, nested blocks. - Settings — every type, its stored shape and its CSS custom property.
- Templates and pages — layouts, templates, the 404, galleries, collections.
- Assets, motion and effects —
asset_url, bundling, the motion runtime, the effects library, the behaviour runtime. - Design reference — design.abizvo.com as the starting point for a look.
- Premium theme standards — the bar a paid theme meets.
- Submitting to the marketplace — the seller account, the listing, the review.