Content

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.

Homepage Setup: content/index.md

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 title
  • title — the main headline
  • lead — a short paragraph below the title
  • primary_label and primary_url — the main call-to-action button
  • secondary_label and secondary_url — the secondary button
  • install — a code snippet shown in the terminal block
  • terminal_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:

Need Help?