Begin with quick start and the complete installation sequence. The ZIP installs theme layouts and packaged assets; Shopify products, collections, menus, pages, articles, inventory, metafields and policies remain separate store resources. See updates, section examples, troubleshooting and license notices.
Pages and editing ownership
Create the nine pages in setup/pages.json, assign the matching suffix, then edit that template in Customize. About maps to about, Our approach to science, Lab reports to lab-reports, FAQ to faq, Contact to contact, Shipping and returns to shipping-returns, Privacy to privacy, Terms to terms, Theme guide to documentation.
Default page is generic. It has no automatic page-handle profile content. Designed sections belong only to their dedicated templates. Native page Content is optional and appears once below the introduction; leave it empty if sections already contain your body text. Two pages assigned the same template share section content. Create a separate template for independently edited layouts.
Shopify's assignment selector lists templates in the published theme. During unpublished setup edit/preview the dedicated template in Customize; assign the page once that suffix is available in the published theme. There is no need to maintain two copies of a support page. Do not restore the removed About credit block.
Journal uses native Shopify blog/article content. Create/select the blog and visible articles separately; Journal preview is optional and does not alter the approved homepage order. Shopify's reserved search route keeps its designed page, while the header icon opens inline predictive search. New accounts use Shopify's hosted account experience; legacy customer templates apply only when configured.
Product fields
All product definitions use namespace peptela, owner PRODUCT and storefront read access. The authoritative machine-readable list is setup/metafields.json. The installer supports 24 fields; it does not create or overwrite values.
| Key | Type | Display/use |
|---|---|---|
| summary | single_line_text_field | Product/featured-product introduction. |
| card_detail | single_line_text_field | Shared card specification when enabled. |
| format | single_line_text_field | Specification and compound index. |
| ingredients | single_line_text_field | Comma-separated compound names; not a list type. |
| amounts | list.single_line_text_field | Specification/index; does not create variants. |
| research_category | single_line_text_field | Category tags, specification and discovery. |
| batch_number | single_line_text_field | Product/report batch identifier. |
| purity | single_line_text_field | Specification/report result. |
| storage | multi_line_text_field | Product specification. |
| contents | single_line_text_field | Product specification. |
| concentration | single_line_text_field | Optional specification. |
| volume | single_line_text_field | Optional specification. |
| targets | list.single_line_text_field | Optional specification. |
| do_not_use_with | multi_line_text_field | Optional specification. |
| test_date | date | Specification/report date. |
| coa_file | file_reference | Uploaded report document. |
| report_asset | single_line_text_field | Exact included PDF filename. |
| report_method | single_line_text_field | Method row. |
| report_identity | single_line_text_field | Identity row. |
| report_appearance | single_line_text_field | Appearance row. |
| report_notes | multi_line_text_field | Expandable analysis notes. |
| related_products | list.product_reference | Curated related product selection. |
| use_notice | multi_line_text_field | Source catalog metadata only. |
| demo_product | boolean | Source catalog metadata only. |
There are no consumed product fields named research_notice, demo_content or image_alt. Visible global notice is Theme settings > Research notice; product-specific text can use a product text block with a dynamic source. Set actual image alt text on Shopify media. Stock, options, SKUs, prices, media and selling plans come from Shopify, not these fields. Empty specification rows hide.
coa_file takes priority over report_asset. Merchant reports should use uploaded documents with report_asset empty. The theme packages 32 fictional demo PDFs; report_asset accepts their asset filename without a URL. The field does not validate document contents or associate a batch automatically. Batch report directory uses manual blocks first; remove all manual blocks to display product entries from a selected published collection. Search uses name/batch/category. No report source means no link/card entry.
Brand, imagery and layout
Theme settings > Brand controls included artwork and merchant primary/light logo, favicon and social image. Disable Peptela artwork when replacing the identity, and set the Footer large-wordmark picker as needed. Product/article previews prefer their native image.
Packaged editorial assets work without uploading to Shopify Files: red glassware, laboratory dish, rose bubbles, pink/cream texture and original molecular artwork. Custom image picker wins over Included visual. To remove imagery clear the custom picker, choose None and clear any selected product/collection fallback. Product/article/collection images are store-owned and must be uploaded/imported separately. The theme ZIP contains no native product image associations. Use complete-image framing for vial packaging and crop for suitable photography. Asset/font notices include sources and OFL texts.
Layout and motion > Use consistent section spacing maintains 96 px desktop/64 px mobile vertical rhythm and the shared 1320 px maximum, 32/20 px gutters. Disable it only for deliberate per-section spacing. Footer Bottom spacing controls its tighter bottom. Buttons have restrained sweep/lift/arrow feedback. Motion-off/reduced-motion disable transitions. Newsletter errors are inline; focus stays clear without a large outline box.
Navigation and cart
Create/select menus using setup/menus.json. Main includes Home, Catalog, Our approach, Lab reports, About and Journal. Header dropdown trigger text must match its main menu item, with category and reading menus selected. The editorial card is desktop-only. Mobile uses divided links, inset category links and small matching-height icons. Escape returns focus; search stays on the current page. The bag count is attached to the icon.
Minus/plus controls respect variant minimum/increment and the effective maximum, including tracked DENY inventory. Cart edits refresh line totals/subtotal/count and retain native Update cart fallback. Remove is an accessible trash button. The order note is optional/collapsible. Theme UI stock limits do not certify checkout inventory enforcement. Empty cart has one catalog action. Store-owned checkout calculates shipping/taxes/discounts.
Reusable sections
Featured product uses a real selected product with gallery, options, selling plans and purchase controls. Empty selection hides the section. Main/featured product accept app and Custom Liquid blocks; Apps and Custom Liquid sections extend other templates.
Video and story accepts Shopify-hosted video, YouTube/Vimeo URL, optional poster/caption/link and layout/ratio. The included specification film is optional. Playback starts on interaction; inactive/hidden gallery videos pause. Images, video, external video and model media were exercised in main/featured galleries using an isolated draft QA product; the customer catalog uses still images.
Specification cards supports columns, top/side layout, optional icon/image/label/body/link; a title defines a card. Text sections have centered/split layouts. Collection directory supports curated collection lists, complete/cropped imagery and asymmetric composition. Compound index lists/searches a chosen collection alphabetically. Its CompoundIndex anchor link should be enabled only when the index exists on that page.
Report/index sections load up to 250 products per Shopify page and paginate loaded matches locally. Larger catalogs use next-page navigation; local search is limited to loaded entries. Product controls target up to 250 available Liquid variants per product. Standard collection pagination/filtering remains native/server-based. Optional headings, text, captions and partial links collapse; fully cleared reusable content leaves no padded wrapper.
Native integrations and operations
Configure Search & Discovery filters and related/complementary assignments. Pickup uses eligible store locations and refreshes on variants. Native swatches require option-value data. Installments/accelerated payment use Shopify provider output and eligibility. Gift-card recipients require a real gift product and Add to cart; fields disable when unchecked and dates are limited to 90 days. Cart displays public recipient properties, hiding internal keys. Actual issuance/delivery remains a store test.
Follow on Shop requires eligibility. Header account menu/component is configurable, with native link fallback. Subscription plans require an installed subscription app and actual allocations. Payments, shipping, tax, markets, accounts, policy/legal facts and notification recipients are merchant configuration. Contact/signup use Shopify forms; inbox receipt is separate from browser success.
Subscription selectors
The theme supplies a native purchase-option selector by default. If your subscription app supplies its own selector, add that app block inside Product information or Featured product, then enable Use a subscription app selector in that section's Buy buttons block. This replaces the native selector and lets the app supply the selling plan. Configure each product section separately. Removing or hiding the app block requires turning this setting off to restore the native selector.
The displayed price follows the selected plan and variant. Subscription-only products cannot be added until the selected variant has a valid plan. If the app selector is missing on a subscription-only product, purchase stays disabled. Test your app's selector, sold-out variants, cart plan label and checkout handoff before launch. Shopify Subscriptions was exercised with real optional and required monthly allocations in main and featured product sections; compatibility with another app needs its own test.
Validation and support
Available runtime evidence lives in content/peptela-theme/checks, acceptance, final-review and commerce-review. Official Theme Check/regression suites pass on the recorded release; representative local Lighthouse scores are not formal provider-inclusive benchmarks. Real pickup refresh, gift-recipient cart properties, Shopify Subscriptions selectors and Shop app-block placement were exercised on the protected development store. Core newsletter, contact email and checkout passed by owner report. Fresh-store acceptance, issued cards, authenticated customer states, spoken accessibility, other apps, payment-provider eligibility and marketplace audits remain separate checks.
Support: outreach.nexio.studio@gmail.com. Support instructions explain what to include. Read the changelog before updating. Historic scaffold/demo sync scripts are build records; directly edited theme files are the shipping source.