Homepage Setup: content/index.md
How to customize the GAX Pro homepage using content/index.md. Covers hero, sections, features, pricing, FAQ, and call-to-action blocks.
How the Homepage Works
The homepage is defined by one file:
content/index.md
This file has two parts: the frontmatter (YAML) and the body (Markdown). The frontmatter drives the homepage layout, and the body adds extra content below the main sections.
Unlike other pages, the homepage does not use a simple layout: page. It uses layout: index, which renders the full landing page structure: hero, features, themes, pricing, FAQ, and CTA.
Frontmatter Structure
The homepage frontmatter has several named blocks. Each block maps to a section in the homepage template:
---
layout: index
title: "GAX Pro — Premium SEO Themes for Go Static Sites"
description: "Premium SEO-ready themes for Go static sites."
image: "/images/gax-go-ssg-banner.jpg"
canonical: "https://gaxpro.axcora.com/"
hero:
...
trust:
...
problem:
...
solution:
...
features:
...
themes:
...
pricing:
...
services:
...
faq:
...
article:
...
cta:
...
---
You can remove a block to hide a section. To reorder sections, edit the layout template — the order is defined in templates/layouts/index.gax, not in the frontmatter.
Hero Section
The hero is the first thing visitors see:
hero:
tag: "Premium Themes + Go Engine"
title: "Launch a fast, SEO-ready site — without designing from scratch."
lead: "GAX Pro gives you pre-built themes for Go static sites."
primary_label: "Get Premium Theme"
primary_url: "https://creativitaz.gumroad.com/l/gaxpro"
secondary_label: "Try Free Engine"
secondary_url: "https://gax.axcora.com"
install: "go install github.com/mesinkasir/gax/cmd/gax@latest"
terminal_title: "gax — theme build"
terminal_command: "gax build"
terminal_lines:
- class: "term-info"
text: "Loading theme: pro-saas"
- class: "term-success"
text: "Generated pages, collections, sitemap.xml, rss.xml"
tag— a small label above the titletitle— the main headlinelead— a short paragraph below the titleprimary_labelandprimary_url— the main call-to-action buttonsecondary_labelandsecondary_url— the secondary buttoninstall— a code snippet shown in the terminal blockterminal_lines— simulated terminal output
To change the hero, edit these fields. The buttons link to any URL you set.
Features Section
The features section is a grid of short items:
features:
tag: "What You Get"
title: "Themes plus a lightweight engine."
items:
- number: "01 / THEMES"
title: "Pre-built layouts"
text: "Landing pages, blog, docs, projects, and contact layouts included."
- number: "02 / CONTENT"
title: "Markdown + YAML frontmatter"
text: "Write content in Markdown. Set page metadata in YAML."
Each item has a number label, title, and short text. Add or remove items as needed.
Themes Section
The themes section shows theme cards:
themes:
tag: "Premium Themes"
title: "Themes built for real sites."
items:
- name: "GAX Pro (Go)"
text: "Full layout set with iSimple Docs."
url: "/projects/gax-pro-theme/"
- name: "Pycora Pro (Python)"
text: "Bento grid layout with pricing, FAQ, and portfolio filter."
url: "/projects/pycora-pro-theme/"
Each item links to a project page or an external catalog. To add a new theme, add a new item with name, text, and url.
Pricing Section
The pricing section has one or more tiers:
pricing:
tag: "Pricing"
title: "One-time payment. Use it forever."
tiers:
- name: "Free Engine"
price: "$0"
features:
- "GAX Go engine (open source)"
url: "https://gax.axcora.com"
button_label: "Get Free Engine"
- name: "GAX Pro"
price: "$155"
features:
- "Full theme package"
- "iSimple Docs included"
url: "https://creativitaz.gumroad.com/l/gaxpro"
button_label: "Buy GAX Pro"
Each tier has a name, price, feature list, URL, and button label. To mark a tier as popular, add badge: "Most Popular" and class: "popular".
FAQ Section
The FAQ is a list of question and answer pairs:
faq:
tag: "FAQ"
title: "Common questions"
items:
- q: "Is GAX Pro a Go static site generator?"
a: "GAX Pro includes the GAX Go static site generator plus premium themes."
- q: "Does it require Node.js?"
a: "No. GAX is a single compiled Go binary."
Each item has a question and an answer. The answers are plain text, not Markdown, so links do not render inside them.
CTA Section
The final call-to-action at the bottom of the homepage:
cta:
tag: "Get Started"
title: "Pick a theme. Ship your site."
text: "Premium SEO-ready themes for Go static sites."
primary_label: "Buy GAX Pro"
primary_url: "https://creativitaz.gumroad.com/l/gaxpro"
secondary_label: "Try Free Engine"
secondary_url: "https://gax.axcora.com"
This is the last section before the footer. Change the labels and URLs to match your offer.
Body Content
Below the frontmatter, the body can include additional Markdown content:
## The Hugo Alternative Go Teams Actually Enjoy Using
That other Go SSG is fast. But fast does not mean productive when every
landing page forces your team to fight template syntax before you can publish.
The body renders at the bottom of the homepage, after the structured sections. Use it for long-form content that does not fit the frontmatter blocks.
Editing Tips
Change one section at a time — edit one frontmatter block, rebuild, check the result, then move to the next.
Keep quotes around strings with colons — YAML treats : as a separator. Wrap text containing colons in quotes.
Do not remove required fields — some templates expect specific fields to exist. Removing them may cause a build error.
Preview before deploying — run ./gax and check the homepage in a browser before building for production.
Common Errors
Homepage is blank — the layout: index line is missing or misspelled in frontmatter.
A section does not appear — the block is missing or malformed. Check indentation.
Buttons do not work — the url field is empty or the link is malformed. Internal links start with /, external links start with https://.
Build fails after editing — YAML syntax error. Use a validator to check.
Next Step
The homepage is set. Next, set up the controller pages:
- Controller Pages — blog, contact, docs, projects, services
Need Help?
- Contact us — if a homepage change breaks the build
- Read the index.md example — reference version on the main docs page