How Sections Work
A page’ssections array is rendered sequentially from top to bottom. Each section object requires four fields:
The settings Object
Every section accepts a settings object that controls its vertical breathing room.
Use
lg for hero sections and major transitions, md for standard content sections, and sm when two related sections should sit close together (for example, a heading section followed immediately by its content).
Section Type Reference
CTA Objects
Several section types accept CTA (call-to-action) button configurations. Every CTA follows the same shape:
Use
primary for the most important action in a section and secondary for a supporting option alongside it.
Image Objects
Any section that accepts an image uses the same two-field shape:/public directory (reference them as "/images/your-photo.jpg"). Always fill in alt with a meaningful description.
Section Deep Dives
home-hero
The full-bleed opening section of your home page. The titleHighlight value is a word or short phrase that appears within the title string — the site renders it in the primary accent color.
bio-band
A two-column section pairing a portrait image with a short biography and a single CTA button. Commonly placed on the home page as an “about me” teaser, or at the top of the About page.
skills-stack
A grid of skill cards, each showing a label, category badge, and Lucide icon. Group related skills by setting the same category value — the layout uses categories to organize cards visually.
icon field accepts any Lucide icon name in kebab-case. Common choices: code, braces, server, database, cloud, cpu, workflow, boxes.
philosophy
A list of named principles or beliefs — each item has a short title and a longer body sentence. Use this section to convey your working values or approach to craft.
cta-band
A full-width strip with a heading, supporting text, and a single prominent CTA button. Place it at the bottom of key pages (home, about, work) to give visitors a clear next step.
Adding a New Section to a Page
1
Open the page JSON file
Navigate to the relevant page file under
src/data/pages/. For example, src/data/pages/home.json.2
Append a new section object
Add a new object to the
sections array. Give it a unique id, choose a type from the reference table, and fill in the required data fields.3
Reorder if needed
Drag the object to the correct position within the
sections array. Sections render in array order, top to bottom.4
Save and preview
Save the file. The dev server will hot-reload and display your new section in context.