# Sooquna theme docs > How to build and customise themes for Sooquna, an e-commerce platform for the Gulf: Liquid (with automatic output escaping), JSON templates, sections, theme blocks, custom pages, settings, storefront APIs, Arabic and right-to-left support, and porting Shopify themes. The machine-readable Liquid reference (every tag, filter, object and setting type with examples) is at https://sooquna.qa/docs/liquid/spec.json. Everything below in one file: https://sooquna.qa/llms-full.txt. ## Getting started - [Sooquna theme docs](https://sooquna.qa/docs): Build and customise Sooquna storefront themes with Liquid, sections, blocks and settings. - [Create a custom page](https://sooquna.qa/docs/getting-started/custom-page): Build a Ramadan offers landing page with its own URL, attach it to a store page and link it from the menu. - [Create your first section](https://sooquna.qa/docs/getting-started/first-section): Build a section with settings, blocks and a preset, then add it to a page in the visual editor. - [How rendering works](https://sooquna.qa/docs/getting-started/how-rendering-works): What happens between a shopper's request and the HTML a theme sends back. - [Quick start: edit Sahil](https://sooquna.qa/docs/getting-started/quick-start): Make your first change to a Sooquna theme in the code editor and preview it before it goes live. - [Development workflow](https://sooquna.qa/docs/getting-started/workflow): How to develop a theme today with the code editor, and what's coming for local development. ## Architecture - [Assets](https://sooquna.qa/docs/architecture/assets): CSS, JavaScript, fonts and images in assets/, and how they're served and cached. - [Blocks](https://sooquna.qa/docs/architecture/blocks): Local blocks, theme blocks, nesting, static blocks and passing data to blocks. - [Config](https://sooquna.qa/docs/architecture/config): Theme settings (settings_schema.json), their values (settings_data.json) and style presets. - [Custom pages](https://sooquna.qa/docs/architecture/custom-pages): Standalone Liquid pages at /custom/, attached to store pages and linked from menus. - [Directory structure](https://sooquna.qa/docs/architecture/directory-structure): The folders of a Sooquna theme, what each file name may be, and the theme's limits. - [Layouts](https://sooquna.qa/docs/architecture/layouts): The page frame every template is drawn inside, and what a layout must output. - [Locales](https://sooquna.qa/docs/architecture/locales): Storefront text and editor labels in every language, with plural forms for Arabic. - [Sections](https://sooquna.qa/docs/architecture/sections): Section files, their schema, presets, section groups and where sections are allowed. - [Snippets and render](https://sooquna.qa/docs/architecture/snippets): Reusable Liquid partials, rendered with their own variables. - [Templates](https://sooquna.qa/docs/architecture/templates): JSON and Liquid templates, alternate templates, and which template each page uses. ## Settings - [Color schemes](https://sooquna.qa/docs/settings/color-schemes): Sets of colours merchants apply to sections, the way Sahil does it. - [Dynamic sources and metafields](https://sooquna.qa/docs/settings/dynamic-sources): Read custom fields (metafields) in a theme, and the state of connecting settings to them. - [Fonts](https://sooquna.qa/docs/settings/fonts): Self-hosting fonts in a theme, and choosing Arabic fonts that pair with Latin ones. - [Input setting types](https://sooquna.qa/docs/settings/input-settings): The setting types of settings_schema.json and section and block schemas, with the value Liquid receives. ## Liquid reference - [Auto-escaping](https://sooquna.qa/docs/liquid/autoescape): Sooquna escapes every output by default. What's escaped, what isn't, and how to port Shopify code. - [Liquid basics](https://sooquna.qa/docs/liquid/basics): Output, tags, whitespace control, operators, truthiness and types in Sooquna's Liquid. - [Filters](https://sooquna.qa/docs/liquid/filters): Every Liquid filter a Sooquna theme can use, by category. - [Limits](https://sooquna.qa/docs/liquid/limits): How long a page may take to render, and the limits on loops, sections and nesting. - [Objects](https://sooquna.qa/docs/liquid/objects): The global variables and the types of value Sooquna themes read. - [Pagination](https://sooquna.qa/docs/liquid/pagination): Splitting collections, search results, blog posts and comments into pages. - [Tags](https://sooquna.qa/docs/liquid/tags): Every Liquid tag a Sooquna theme can use, by category. ## Storefront features - [Cart AJAX API](https://sooquna.qa/docs/storefront/cart-api): Add to, change and read the cart from JavaScript without reloading the page. - [Customer accounts](https://sooquna.qa/docs/storefront/customer-accounts): Linking to sign-in, sign-up and account pages, which Sooquna draws for every theme. - [Customer events](https://sooquna.qa/docs/storefront/customer-events): The storefront events bus, standard event names and payloads, and the consent API. - [Collection filters](https://sooquna.qa/docs/storefront/filters): Faceted filters on collection and search pages, from the filter objects and URL parameters. - [Contact and newsletter forms](https://sooquna.qa/docs/storefront/forms): The contact form, newsletter sign-ups and showing success and errors. - [Languages and RTL](https://sooquna.qa/docs/storefront/localization): Language selectors, URLs per language, right-to-left pages and hreflang. - [Metaobject pages](https://sooquna.qa/docs/storefront/metaobject-pages): Pages for entries of custom content types, such as store locations or designers. - [Password page](https://sooquna.qa/docs/storefront/password-page): The page shoppers see while a store is closed with a password, before launch. - [Predictive search](https://sooquna.qa/docs/storefront/predictive-search): Search suggestions as the shopper types, as JSON or as a rendered section. - [Product forms and variants](https://sooquna.qa/docs/storefront/product-forms): The add-to-cart form, variant pickers and keeping the page in sync with the selected variant. - [Section rendering API](https://sooquna.qa/docs/storefront/section-rendering): Re-render one or more sections from JavaScript, in the context of any page. - [Store features](https://sooquna.qa/docs/storefront/store-features): Built-in storefront features (wishlist, reviews, back in stock…) and how a theme shows them only when they're on. ## Best practices - [Accessibility](https://sooquna.qa/docs/best-practices/accessibility): A WCAG 2.2 AA checklist for Sooquna themes. - [Performance](https://sooquna.qa/docs/best-practices/performance): Budgets and habits that keep a Sooquna theme fast on the phones most shoppers use. - [RTL and Arabic typography](https://sooquna.qa/docs/best-practices/rtl-arabic): Building one theme that works left-to-right and right-to-left, with good Arabic text. - [Security](https://sooquna.qa/docs/best-practices/security): What themes must never do, how output escaping protects shoppers, and the storefront's CSP. - [SEO](https://sooquna.qa/docs/best-practices/seo): Titles, descriptions, canonical URLs, structured data and what Sooquna adds for you. - [Theme check](https://sooquna.qa/docs/best-practices/theme-check): The checks that run when you save a file or upload a theme, and how to fix each one. ## Migrating from Shopify - [Porting a Shopify theme](https://sooquna.qa/docs/migrating): A checklist for bringing an Online Store 2.0 theme to Sooquna. - [Compatibility matrix](https://sooquna.qa/docs/migrating/compatibility): What works as in Shopify, what differs, and what Sooquna adds. Generated from the Liquid reference. - [Differences from Shopify](https://sooquna.qa/docs/migrating/differences): Everything that works differently, or not at all, compared with Shopify themes. - [Example: port a Dawn section](https://sooquna.qa/docs/migrating/porting-a-dawn-section): Porting Dawn's rich-text section, step by step, with the changes Sooquna needs. ## Themes - [Publishing themes](https://sooquna.qa/docs/themes/publishing): Sharing themes with other merchants, and the planned theme store. - [Sahil](https://sooquna.qa/docs/themes/sahil): Sooquna's first-party theme for fashion and lifestyle brands, Arabic-first and fast. ## API - [API overview](https://sooquna.qa/docs/api): The Admin API, the Storefront API and webhooks, for apps and integrations. - [Admin API 2026-10](https://sooquna.qa/docs/api/admin): Every endpoint of the Admin API version 2026-10, with code in cURL, Node.js, Python, PHP, Go and C#. Generated from the OpenAPI document and examples that run against a real store in Sooquna's tests. - [Access scopes](https://sooquna.qa/docs/api/admin/access-scopes): Admin API 2026-10: Access scopes - [Bulk operations](https://sooquna.qa/docs/api/admin/bulk-operations): Admin API 2026-10: Bulk operations - [Content](https://sooquna.qa/docs/api/admin/content): Admin API 2026-10: Pages, blogs, articles, menus, redirects and policies. - [Customers](https://sooquna.qa/docs/api/admin/customers): Admin API 2026-10: Customers, their addresses and segments (contact details need read_customer_pii). - [Discounts](https://sooquna.qa/docs/api/admin/discounts): Admin API 2026-10: Discounts and discount codes. - [Draft orders](https://sooquna.qa/docs/api/admin/draft-orders): Admin API 2026-10: Draft orders. - [Files](https://sooquna.qa/docs/api/admin/files): Admin API 2026-10: Files and uploads. - [Fulfillments](https://sooquna.qa/docs/api/admin/fulfillments): Admin API 2026-10: Fulfillment orders, fulfillments, shipping labels and tracking. - [Gift cards](https://sooquna.qa/docs/api/admin/gift-cards): Admin API 2026-10: Gift cards and their balances. - [Inventory](https://sooquna.qa/docs/api/admin/inventory): Admin API 2026-10: Stock levels, adjustments, transfers, suppliers and purchase orders. - [Locations](https://sooquna.qa/docs/api/admin/locations): Admin API 2026-10: Warehouses, shops and pickup points. - [Metaobjects](https://sooquna.qa/docs/api/admin/metaobjects): Admin API 2026-10: Metafields, their definitions, and metaobjects. - [Orders](https://sooquna.qa/docs/api/admin/orders): Admin API 2026-10: Orders, transactions, refunds and abandoned checkouts (the last 60 days without read_all_orders). - [Products](https://sooquna.qa/docs/api/admin/products): Admin API 2026-10: Products, variants, collections and the product taxonomy. - [Reports](https://sooquna.qa/docs/api/admin/reports): Admin API 2026-10: Analytics reports. - [Returns](https://sooquna.qa/docs/api/admin/returns): Admin API 2026-10: Return requests. - [Shipping](https://sooquna.qa/docs/api/admin/shipping): Admin API 2026-10: Shipping profiles, zones, rates, local delivery and pickup. - [Shop](https://sooquna.qa/docs/api/admin/shop): Admin API 2026-10: Shop - [Themes](https://sooquna.qa/docs/api/admin/themes): Admin API 2026-10: Themes and theme files. - [Translations](https://sooquna.qa/docs/api/admin/translations): Admin API 2026-10: Languages and translated content. - [Webhooks](https://sooquna.qa/docs/api/admin/webhooks): Admin API 2026-10: Webhooks ## Changes - [Changelog](https://sooquna.qa/docs/changelog): Changes to Sooquna's theme platform and first-party themes. - [Deprecations](https://sooquna.qa/docs/deprecations): Liquid that still works but has a better replacement. Deprecated features keep working on every theme platform version. ## Optional - [Tags](https://sooquna.qa/docs/liquid/tags): 28 reference pages, one per entry - [Filters](https://sooquna.qa/docs/liquid/filters): 106 reference pages, one per entry - [Objects](https://sooquna.qa/docs/liquid/objects): 61 reference pages, one per entry - [Input setting types](https://sooquna.qa/docs/settings/input-settings): 34 reference pages, one per entry