Skip to contentSellstamp

Developers

Themes as code

What the theme editor exposes to a developer: a theme file you can export and import, scoped custom HTML and CSS, folder import, and the marketplace. No JavaScript and no plugin API.

What you can extend, and what you cannot

The editor is a GrapesJS canvas over a list of sections (see The theme editor). There is no template language, no way to register your own GrapesJS blocks or plugins, and no JavaScript in a theme. What a developer can do is below.

The public API has no theme endpoints. Themes are edited in the dashboard, or moved around as files.

Export and import a theme file

The theme page exports your store as one JSON file: its style, design tokens, pages and their sections. Importing reads that same format into your draft, adding pages or replacing them by slug, and reports what it stripped. That makes a theme something you can keep in git, review as a diff and move between stores. Nothing goes live until you publish, and earlier published versions can be restored.

Custom code sections

  • HTML goes through an allow-list. Scripts, event handlers, frames and forms are removed, and the editor reports what it removed.
  • id attributes are removed too. Target elements with classes.
  • CSS is scoped to its own section. It cannot reach checkout, prices or any other section.

Import a folder of HTML

Choose a folder and each HTML file becomes a page, placed inside your header and footer and matched to existing pages by slug. The upload happens in your browser. Images in the folder are skipped and listed, so upload them to the media library and link them.

Publish to the marketplace

A theme package can be listed in the marketplace for other merchants to install, one listing per store. Installing writes to the buyer’s draft, so trying a theme can be undone by discarding the draft.