Airgead is designed to be customized directly in its source files. There is no configuration file or environment variable system — changes go straight into the CSS, JavaScript, or HTML. Because the project is a fully static site with no build step, every edit is immediately visible when you reload the page in a local server or redeploy to GitHub Pages.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/apursley2012/airgead-investment-calculator/llms.txt
Use this file to discover all available pages before exploring further.
Change Brand Colors
All design tokens are CSS custom properties declared at the top ofcss/styles.css inside a :root block. Changing any value there updates every element that references that token across the entire site.
| Token | Controls |
|---|---|
--green-800 | Primary brand color — buttons, active nav links, chart lines, and positive values in tables |
--gold / --gold-200 | Accent color — focus rings on inputs, callout left-borders, and summary card row values |
--canvas | Page background behind all cards and sections |
--parchment / --paper | Card and control backgrounds (navbar, control deck, article bodies, metric tiles) |
--ink / --muted | Primary and secondary text colors used throughout body copy and labels |
--radius | Border-radius applied to every .card element across the site |
--green-800 to a deep navy updates every primary button, active navigation link, and chart line simultaneously.
Change Navigation Links
The navigation is generated from a singlelinks array at the top of js/components/shell.js. The same array builds both the desktop nav bar and the mobile slide-down menu, so one edit keeps both in sync.
[label, href]. The href value is relative to the repository root. To add a new page, append an entry to the array:
active by comparing each href to the current location.pathname.
Change Calculator Defaults
Thevalue attributes on the form inputs in pages/calculator.html and pages/compare.html control what numbers appear when the page first loads. The four inputs and their defaults are:
| Input | Default | Maps to |
|---|---|---|
startingBalance | 5000 | Initial investment amount in dollars |
monthlyDeposit | 250 | Recurring monthly contribution in dollars |
annualRate | 5 | Estimated annual interest rate as a percentage |
years | 20 | Investment period in whole years (maximum 80) |
pages/compare.html) has two identical sets of these four fields — one for Scenario A and one for Scenario B. Scenario B’s monthlyDeposit defaults to 500 to demonstrate the difference between contribution amounts. Update the value attribute on any input to change its starting number.
Change Calculation Rules
The calculation is exported fromjs/lib/calculator.js as a single function:
startingBalance, monthlyDeposit, annualRate, and years properties, clamps all values to valid ranges, and returns an array of year rows. Each row contains:
js/pages/results.js and js/pages/compare.js.
Add an Article
Airgead includes a central article index atpages/articles.html and two full-length article pages. Adding a new article follows the same structure as the existing ones.
Copy an existing article file
Duplicate one of the existing article pages in
pages/ — for example, copy pages/article-monthly-deposits.html and rename it to describe your new topic, such as pages/article-interest-rates.html.Replace the page content
Open the new file and update the
<title> element, the <meta name="description"> tag, the main <h1> heading, the <div class="article-meta"> block (date and read-time), and the body content inside <div class="article-body">.Add a card to the article index
Open
pages/articles.html and add a new <article class="card article-card"> entry to the article grid. Model it after the existing cards, setting the heading, description paragraph, and the href to your new file (e.g. article-interest-rates.html).Confirm asset paths
Verify that the new article page references the shared stylesheet with
../css/styles.css and loads the shell component with ../js/components/shell.js. Both paths use ../ because article files live inside pages/, one level below the repo root.