Skip to main content

Documentation Index

Fetch the complete documentation index at: https://voyage-theme.fasil.in/llms.txt

Use this file to discover all available pages before exploring further.

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).
SectionWhere it livesPattern
NewsletterAny templateStandalone email signup.
Contact formAny templateDrop-in contact form.
Blog postsAny templateFeatured articles grid from a chosen blog.
Contact form (main-contact)Page template (contact page)The contact page section, page-tailored layout.
Blog (main-blog)Blog templateThe blog index.
Article (main-article)Article templateThe article detail.

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

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

Color

bg_color
color
Section background color. Optional.
text_color
color
Text color. Optional.

Blocks

Eyebrow (limit 1)

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

Heading (limit 1)

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

Body (limit 1)

text
richtext
Body paragraph (rich text).

Signup form (limit 1)

placeholder
text
default:"your@email.com"
Email input placeholder.
submit_label
text
default:"Subscribe"
Submit button label.
success_message
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

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

Form

show_phone
checkbox
default:"false"
Show an optional phone field. Off by default — most editorial brands don’t need it.
submit_label
text
default:"Send"
Submit button label.
success_message
text
default:"Thank you — we will be in touch."
Confirmation message after a successful submission.

Layout

alignment
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

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

Content

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

View all

show_view_all
checkbox
default:"true"
Show a “Read more” link in the header that goes to the blog index.
view_all_label
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

eyebrow
text
default:"Get in touch"
Eyebrow above the heading.
heading
text
default:"Contact"
Page heading. Falls back to page.title if the page has its own title set.
intro
textarea
Intro text. Used only when page.content is blank. If the page has its own content body in admin, that takes precedence.
button_label
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

eyebrow
text
default:"Journal"
Eyebrow above the blog title.
intro
textarea
Intro text shown under the title.
columns
select
default:"2"
Grid columns. Options: 1, 2, 3.
per_page
range
default:"9"
Articles per pagination page. Range 3–24, step 3.
show_image
checkbox
default:"true"
Show featured images on the article cards.
show_date
checkbox
default:"true"
Show the published date.
show_excerpt
checkbox
default:"true"
Show article excerpts.
show_author
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

show_breadcrumb
checkbox
default:"true"
Show the “{blog title} · {date}” breadcrumb above the article title.
show_image
checkbox
default:"true"
Show the featured image below the title.
show_author
checkbox
default:"false"
Show the author byline under the title.
show_tags
checkbox
default:"true"
Show article tags at the bottom of the body.
show_share
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.