Documentation Abizvo Sites themes Liquid, the theme check and the premium standard — written from the code that enforces them

Submitting to the marketplace

The Abizvo Marketplace sells website themes under the Website Themes category (abizvo-themes). A listing there is a product with a listing, a release (the theme's ZIP) and documentation; a submission puts the three through review; an approved release becomes a theme buyers' organizations can install. This page is the sequence; Premium theme standards is what each step is held to.

1. A seller account

Register as a seller on the marketplace (/seller on the shop). Before anything can be submitted the seller profile must state a support email, a response-time commitment in business days (1–30) and a support policy; the checklist blocks a submission without them (LIST_SELLER_SUPPORT_MISSING). A seller who will be paid connects a Stripe account through the marketplace's hosted onboarding; the buyer pays the platform, the platform pays the seller's share after a hold period.

2. A product with a listing

Create a product in the Website Themes category and write the listing:

Field Limit
Title 3–80 characters
Tagline up to 140
Short description 40–300
Long description 200–20,000 (Markdown)
Support policy 20–2,000 — what is covered, the response time, how to reach you
Price C$20–C$300 in C$5 steps, or free; CAD or USD
Highlights up to 12, each a title of 80 and a body of 400
Tags and industries up to 20 tags of 40 characters, 12 industries of 40
SEO title and description 70 and 170

Every word of a listing goes through review with the release: the features claimed, the images' alt text and captions ride on the listing revision, and the seller's later edits land in a draft revision buyers never see until it is reviewed.

3. Media

Upload under the right kind — hero image (at least 1600×900, set as the primary image), desktop screenshots (three or more) and a phone screenshot (a 390×844 viewport at 2×, 780×1688) — and place each in the listing's gallery; the checklist counts by kind and the storefront shows the gallery. Give every image alt text. A live demo — a published Abizvo site running the theme — goes on the listing as See it live.

4. Package the release

A release is a ZIP with the theme's files at the archive root (abizvo-theme.json at the top level, not inside a folder), hidden files left out, one ZIP per version:

bash scripts/themes/pack-marketplace-theme.sh <theme-key>

writes .local-data/marketplace-themes/<key>-<version>.zip from themes/<key> for a theme in the repository; from any other folder, zip -rX <key>-<version>.zip . -x '.*' -x '*/.*' inside it does the same. The archive is accepted as application/zip, up to 100 MB, and is opened by the marketplace's guarded reader (no traversal, no symlinks, no executables, no bombs). Upload it as the product's release; the version in the manifest must be one the product has never released.

5. Documentation

Write the product's documentation on the marketplace — sections, pages, one level of nesting, Markdown with HTML disabled. A page titled Support at /support saying how to reach you, how quickly you reply and what is in scope is required (LIST_SUPPORT_DOCS_MISSING); the public docs show it last. A theme's documentation/README.md is the natural first page.

6. The checklist

The seller's Submit page runs the review's own listing checks (ListingVerifier.CheckListing), so it blocks exactly what the review would: the support facts, the words' lengths, the price rule and currency, the hero and screenshot minimums, images not yet processed. A product needs a release before it can be submitted (THEME_RELEASE_MISSING). One submission is open per product at a time.

7. The review

  1. A malware scan and the guarded archive read.
  2. A static security scan.
  3. The theme check over the extracted files — the same ThemeChecker the workspace runs: an error is a blocking finding, a warning a flag. A theme key that already belongs to another theme or product blocks (THEME_KEY_TAKEN).
  4. Listing verification (§6 again, against the submitted revision).
  5. Provenance notes (never a claim that ownership is verified).
  6. A reasoning pass over the bounded evidence, which may only tighten the deterministic findings; low confidence sends the submission to a person.
  7. A reviewer reads the flags and decides.

While a submission is open the listing revision it carries is frozen. A rejected submission says why, finding by finding; fix and submit again.

8. Publication

An approved submission publishes its listing revision and its release. The category's post-publish step imports the release as a marketplace theme owned by the product — from then on a buyer's organization can install it on its own sites, and the seller's own team can install it to build a demo. The first publication starts the price clock: a later change of price waits seven days from the last one.

9. Updates

  • A new theme version: bump version in abizvo-theme.json, package, upload as a new release, submit. The previous release stays current until the new one is published. Once published, every site's copy moves to it in its draft — automatically, with a restore point and a note of what the new version dropped; the owner republishes when ready.
  • A listing-only change (words, media, price): submit a listing-only submission with no new ZIP; it goes through the same review.
  • An offer: a percentage or amount off, the first N customers, a window, new customers only or a code — configured on the product's Discounts tab, applied only once the price has stood seven days, never touching the listing's price.

10. Selling for a price

The buyer pays the platform; the seller's share is the price less the platform fee (basis points snapshotted on each order line at the time of sale) and waits out a hold period before transfer — 14 days for a new seller, 7 once established. A refund or dispute after transfer reverses the seller's share. Balances are computed from the ledger, never stored. The seller's Earnings and Payouts pages show all of it.