Theme Structure
A Finqu theme is organized into a set of well-defined directories, each serving a specific purpose. Understanding this structure is essential for developing, customizing, and maintaining themes efficiently.
Directory Overview
The typical theme directory contains the following folders:
Required Files and Folders
layout/theme.liquid: The main layout file. Additional layouts can be defined as needed.config/settings_schema.jsonandconfig/settings_data.json: Define and store theme settings.- At least one template in the
templatesdirectory (e.g.,frontpage.liquid). - Locale file for each supported language in
locales(e.g.,en.json).
Optional Components
- Blocks: Modular components for use within sections. Useful for creating dynamic, customizable content areas.
- Section groups: Shared, merchant-managed section regions (header, footer) that appear across multiple templates. Defined in
section-groups/and rendered with the{% sections %}tag. - Snippets: Reusable code pieces for icons, widgets, or other small features.
- Additional layouts: For special page types (e.g.,
campaign.liquid).
Configuration Files
settings_schema.json: Defines the structure and available options for theme settings.settings_data.json: Stores the actual values for the theme settings and presets.config/.data/(optional): Used by the Finqu designer to store merchant draft edits. Theme authors normally do not edit this directory.
Locale files
Each supported language needs a JSON file in locales/ (e.g. en.json, fi.json) for storefront strings used in your Liquid templates.
Schema translations: Add locales/{lang}.schema.json to translate section, block, and setting labels shown in the theme designer — without mixing them into storefront copy. Labels from .schema.json are merged into the corresponding locale at runtime.
See Localization for details.
Deploy lifecycle
- Develop locally — Edit theme files in your project; preview with Theme Development Kit.
- Deploy — Run
finqu theme deployor publish from the partner portal. Finqu compiles.scss.liquidassets intopublic/on the merchant store. - Customize — Merchants edit sections and settings in the admin designer; changes are draft until published.
Your theme repo is the source of truth. After deploy, merchants customize via settings_data.json on the store — not by editing your repo directly.
Best Practices
- Use the
assetsdirectory for all static files. Sass files are compiled with Dart Sass, and.liquidfiles are processed and cachebusted automatically. - Reference assets using the
asset_urlfilter:{{ 'my_file.svg' | asset_url }}. - Organize blocks and sections for maximum reusability and maintainability.
- Use the translation system in
localesto support multiple languages and dynamic content. - Keep configuration files up to date and well-documented.