Altair docs

Site settings

Every option in src/site.config.ts, from your name and accent color to the hero, about and contact text.

src/site.config.ts holds your settings and the one-off pieces of text on the page. Lists, such as projects and experience, have their own files: see Projects and lists.

site

General settings used across the site.

Field What it does
name Your name. Used in the header, footer, share cards and structured data. The header badge shows its initials.
title The browser tab and search result title of the home page.
jobTitle Your role, used in structured data for search engines.
description The home page description for search results and share cards. Aim for about 150 characters.
accent The accent color, as any CSS color, for example '#ff5a36' or 'oklch(65% 0.2 30)'.
timeZone Your time zone for the live clock in the hero, for example 'America/New_York'. Find yours here.
location Shown next to the clock.
email Used by the contact section and the copy button.
availability The text in the green badge, or false to hide it.
resume A link to your CV (a file in public/ or any URL), or false to hide the link.
shareImage The image shown when the page is shared, from public/. 1200×630 pixels.
socials A list of { label, url } links shown in the contact section. Add or remove as many as you like.
export const site = {
  name: 'Noa Ferris',
  accent: '#ff5a36',
  timeZone: 'Europe/Lisbon',
  availability: 'Booking projects from January', // or false
  socials: [
    { label: 'GitHub', url: 'https://github.com/yourname' },
    { label: 'LinkedIn', url: 'https://www.linkedin.com/in/yourname/' },
  ],
  // ...
};

hero

Field What it does
greeting The small line above the headline.
headline The big headline. Wrap one phrase in *asterisks* to draw the hand-drawn underline under it.
intro The paragraph under the headline.
portrait { src, alt }. Import your image at the top of the file, then use it here. Describe the photo in alt for screen readers.
badge The text that runs around the spinning round badge. End it with a separator such as ' · '.
primary, secondary The two buttons: { label, href }.

To use your own photo, put it in src/assets/ and change the import:

import portrait from './assets/me.jpg';

Photos are converted to fast AVIF and WebP files automatically. A portrait about 900 pixels wide or larger, cropped to 4:5, looks best.

clients

A list of names shown in the “Trusted by” row under the hero. Use an empty list, [], to hide the row.

about

Field What it does
statement The large sentence on the left.
paragraphs A list of paragraphs on the right.
toolbox Groups of skills or tools: { group, items: [...] }. Two groups fit side by side.

sections

The heading of each section, in page order. work.intro adds a short line next to the Selected work heading, and writing.limit sets how many posts and articles appear on the home page.

contact

Field What it does
title The big closing headline. *Asterisks* work here too.
text The paragraph under it.

blog

Field What it does
title The heading of the blog page.
intro The paragraph under it, also used as the RSS feed description.
outro The line in the box at the end of every post, next to the Get in touch button.

Changing other text

A few small labels sit directly in the components, for example the “Let’s talk” button in src/components/sections/Header.astro and the “Trusted by teams at” label in Clients.astro. Search the src/components folder for the text you want to change.