Publishing a Theme
A theme in the Joomni theme store is two things: a listing that says what it is, and a version, which is a frozen snapshot of one sandbox's active theme. You write the listing, submit a version, and it goes through automated checks and then a person.
In the dashboard:Joomni Studio › ThemesPlan:Approved builders
Create a theme
Name it
In Themes › New theme, type a name and choose the sandbox it is built in.Write the listing
Add a tagline (up to 140 characters), a description, a preview image and the store types it suits. Leave store types empty for a universal theme. The panel on the right shows how the listing will look in the theme store.Save
The form tells you when there are unsaved changes. Save before you submit so the reviewer sees your latest text.
Submit a version
Choose the sandbox to snapshot
Submitting copies that sandbox's active theme: its pages, header, footer and design settings.Say what changed
A short changelog. Reviewers and merchants both read it.Click Submit for review
The automated checks run straight away and the results appear under Version history.
Snapshots are frozen
Changes you make in the sandbox after submitting don't change the version under review. To send an update, submit again. Versions are numbered for you.
Automated checks
Each submission is checked before a person sees it. A failed check stops the submission; fix the issue and submit again.
| Check | What it looks for |
|---|---|
| Only registered section types | Every section is one Joomni knows how to render. |
| No raw HTML/JavaScript sections | Custom-code sections aren't allowed in marketplace themes. Use Liquid sections instead. |
| Liquid templates are valid | Every Liquid section parses and stays within the render limits. |
| Section settings match their schema | Saved settings are the right type for each section. |
| Required pages present | The theme has pages, including a homepage. |
| Header and footer are theme-level | The theme has a header and footer, and no page repeats them in its body. |
| Assets are Joomni-hosted | Images come from the Joomni media library or images.unsplash.com. |
| Colours inherit the theme | Sections use the theme's colour tokens, so a merchant can recolour the whole theme. |
| Readable colour contrast | Text is readable against its background. |
| Images have alt text | Images describe themselves to screen readers. |
| No credentials in the payload | No API keys or secrets are baked into settings. |
| Not a duplicate submission | The snapshot differs from the version already under review. |
The full rules, with examples, are in the Liquid guide inside Studio, under What you can ship and Authoring standards.
Review and status
| Status | What it means |
|---|---|
| Draft | Created but not submitted yet. |
| Submitted / In review | In the queue. Community builders hear back within 5 business days, Verified builders within 2. |
| Changes requested | The reviewer's notes appear at the top of the theme page. Fix them and submit a new version. |
| Approved | Passed review and waiting to be published. |
| Published | Live in the theme store. Merchants can find and install it. |
| Rejected | Not accepted. The notes explain why, and you can fix it and resubmit. |
Updating a published theme
Submit a new version from the same listing. Merchants who already installed your theme keep their copy. Nothing you publish later changes a live shop.
Related guides