Skip to main content
Six sections handle email capture, contact, and editorial content. Three are drop-ins addable to any template (newsletter, contact-form, blog-posts); three are pinned to specific templates (main-contact, main-blog, main-article).

Newsletter — sections/newsletter.liquid

Standalone signup section. Posts to Shopify’s customer form with the newsletter tag attached. Distinct from the floating offer popup that sits as a snippet — this is a block on the page, not a modal. Available on: All templates.

Section settings

Layout

select
default:"center"
Text alignment. Options: left, center.

Color

color
Section background color. Optional.
color
Text color. Optional.

Blocks

Eyebrow (limit 1)

text
default:"Letters from the studio"
Eyebrow text.

Heading (limit 1)

text
Optional script word that precedes the heading.
text
default:"Join the house"
Serif heading.

Body (limit 1)

richtext
Body paragraph (rich text).

Signup form (limit 1)

text
default:"your@email.com"
Email input placeholder.
text
default:"Subscribe"
Submit button label.
text
default:"Thank you — your inbox awaits."
Message shown after a successful submission.

Default preset

Eyebrow → heading → body → form.

When to use

The standalone newsletter section is for inline email capture in a page flow — at the bottom of a journal article, between sections on the home page, or as the closing block on a content page. For a more prominent floating popup, see the offer popup snippet (Interactive features · Offer popup). For a footer-level newsletter form, use the newsletter block inside the Footer section.

Contact form — sections/contact-form.liquid

Drop-in contact form. Uses Shopify’s {% form 'contact' %} with fields for name, email, optional phone, and message body. Different from main-contact (which is the dedicated contact-page section with a page-tailored layout) — this one is a section any page can include. Available on: All templates.

Section settings

text
default:"Write to the studio"
Eyebrow above the heading.
text
Optional script word that precedes the heading.
text
default:"Get in touch"
Section heading.
richtext
Body paragraph above the form.

Form

checkbox
default:"false"
Show an optional phone field. Off by default — most editorial brands don’t need it.
text
default:"Name"
Label above the Name input. Editable for brand-voice (“Your name”, “How should we address you”, etc.) or for translation overrides.
text
default:"Email"
Label above the Email input.
text
default:"Phone (optional)"
Label above the Phone input (renders only when Show phone field is on).
text
default:"Message"
Label above the Message textarea.
text
default:"Send"
Submit button label.
text
default:"Thank you — we will be in touch."
Confirmation message after a successful submission.

Layout

select
default:"center"
Form alignment. Options: left, center.

Blocks

None.

When to use

Use the drop-in contact section when you want a contact form on a page that isn’t the dedicated contact page — e.g. embedded inside a bespoke / made-to-measure page, an enquiries page for stockists, or a press page. For the actual contact page, use main-contact below — it’s pre-wired for that template.

Blog posts — sections/blog-posts.liquid

Featured articles grid drawn from a merchant-chosen blog. Each tile shows the article image, eyebrow (date), title, and excerpt. Used on the home page or as a related-reading band on other content pages. Available on: All templates.

Section settings

Header

text
default:"From the journal"
Eyebrow above the heading.
text
Optional script word that precedes the heading.
text
default:"Latest articles"
Section heading.

Content

blog
The source blog. Pick from the merchant’s configured blogs.
range
default:"3"
Number of articles to show. Range 2–12.
select
default:"3"
Grid columns. Options: 2, 3, 4.
checkbox
default:"true"
Show article excerpts under each title.

View all

checkbox
default:"true"
Show a “Read more” link in the header that goes to the blog index.
text
default:"Read more"
Link label.

Blocks

None.

When to use

Blog posts is for surfacing journal content outside the blog template. Use it for:
  • “From the journal” rail on the home page.
  • Related reading at the bottom of a product page or content page.
  • A “press” page that mixes editorial entries with curated articles.
For the actual blog index template, use main-blog below.

Contact form (main-contact) — sections/main-contact.liquid

The contact page section. Renders the same {% form 'contact' %} fields as the drop-in contact-form section but with a page-tailored layout — heading, optional page content / intro, then the full form with name, email, phone, and message. Available on: Page template (intended for the contact page).

Section settings

text
default:"Get in touch"
Eyebrow above the heading.
text
default:"Contact"
Page heading. Falls back to page.title if the page has its own title set.
textarea
Intro text. Used only when page.content is blank. If the page has its own content body in admin, that takes precedence.
text
default:"Send"
Submit button label.

Blocks

None.

When to use

main-contact is the dedicated contact page section. Wire it into a page.contact.json template (or whatever page template you create for the contact page) and let merchants edit the heading, eyebrow, and button label in the editor while pulling the actual page body from page.content in admin. For a contact form on a different page, use the drop-in contact-form section above.

Blog (main-blog) — sections/main-blog.liquid

The blog index. Renders a paginated grid of articles with image, date, title, optional excerpt, and optional author. Available on: Blog template.

Section settings

text
default:"Journal"
Eyebrow above the blog title.
textarea
Intro text shown under the title.
select
default:"2"
Grid columns. Options: 1, 2, 3.
range
default:"9"
Articles per pagination page. Range 3–24, step 3.
checkbox
default:"true"
Show featured images on the article cards.
checkbox
default:"true"
Show the published date.
checkbox
default:"true"
Show article excerpts.
checkbox
default:"false"
Show the author byline.

Blocks

None.

When to use

main-blog is the section behind the blog index template. There’s one per theme. Configure columns and per-page count based on how much content you want to show before pagination; toggle excerpt / date / author depending on whether your articles benefit from those signals.

Article (main-article) — sections/main-article.liquid

The article detail section. Renders the article header, featured image, body content, optional tags, optional social share links, and the comment thread (when enabled on the blog). Emits Article and BreadcrumbList JSON-LD for rich snippets in search results. Available on: Article template.

Section settings

checkbox
default:"true"
Show the “{blog title} · {date}” breadcrumb above the article title.
checkbox
default:"true"
Show the featured image below the title.
checkbox
default:"false"
Show the author byline under the title.
checkbox
default:"true"
Show article tags at the bottom of the body.
checkbox
default:"true"
Show Twitter / Facebook / Pinterest share links.

Blocks

None.

What renders automatically

  • Commentsarticle.comments are rendered as an ordered list when blog.comments_enabled? is true. Comment submission posts to new_comment form. Moderation notice is shown when blog.moderated? is true.
  • Pagination — Comments are paginated 10 per page.
  • Structured dataArticle JSON-LD includes headline, datePublished, dateModified, image, description, author, publisher (with shop logo), and mainEntityOfPage.

When to use

main-article is the section behind the article template. There’s one per theme. The defaults (breadcrumb on, image on, author off, tags on, share on) match a journal-style editorial article. Turn show_author on for op-ed style pieces with named writers.

Cross-reference

Header & footer

The footer has its own newsletter block — see how it differs from the standalone newsletter section.

Interactive features · Offer popup

The floating modal that captures emails on first visit.

Templates · Blog & article

How main-blog and main-article are wired into their templates.