Source for alumniemail.com, a guide for universities on lifetime alumni email forwarding with Forward Email. The Forward Email team runs it. The site is not affiliated with the universities it names.
| URL | Source | Purpose |
|---|---|---|
/ |
content/index.md |
Overview, benefits, case study figures, setup summary |
/how-it-works/ |
content/how-it-works.md |
MX and TXT records, aliases, SRS and ARC, API examples |
/migrate-from-google-workspace-microsoft-365/ |
content/migrate-from-google-workspace-microsoft-365.md |
Moving alumni accounts to forwarding |
/cost-comparison/ |
content/cost-comparison.md |
Sourced cost tables and a cost calculator |
/case-study/ |
content/case-study.md |
Summary of the Forward Email university case study |
/faq/ |
content/faq.md |
FAQ for university IT staff (with FAQPage JSON-LD) |
/about/ |
content/about.md |
Who runs the site, contacts, sources, privacy |
/404.html |
content/404.md |
Not found page |
GitHub Pages serves the committed files from the root of main. There is no build step in CI, so the generated HTML is committed.
scripts/build.js is a small Node.js script with no dependencies. It reads content/*.md and writes:
index.htmland<slug>/index.htmlfor each page, plus404.html<slug>/index.md, a clean Markdown copy of each pagesitemap.xml,robots.txt,llms.txt,llms-full.txtandsite.webmanifestcss/style.min.css, minified fromcss/style.css
Each page gets the shared header, navigation and footer, canonical and Open Graph tags, and JSON-LD (Organization, WebSite, WebPage, BreadcrumbList, plus FAQPage, HowTo or Service where the page supports it).
- Edit a file in
content/(orcss/style.css). - Run
node scripts/build.js(Node 18 or newer). - Commit the source and the generated files together.
Each content file starts with front matter:
---
title: Page title for search results (50 to 60 characters)
description: Meta description (about 120 to 140 characters)
h1: Visible page heading
lead: Opening sentence or two under the heading
nav: Label in the navigation (omit to leave the page out of the menu)
order: Position in the navigation
schema: FAQPage or AboutPage (optional)
howto: Name for HowTo JSON-LD built from a :::steps block (optional)
service: true to add the Service and Offer JSON-LD (optional)
scripts: /js/file.js (optional, comma separated)
---The body uses a small Markdown subset: ## to #### headings, paragraphs, lists, tables (with an optional Table: caption line above), fenced code, **bold**, `code` and links. Each ## heading starts a new page section. These blocks are also available:
:::cardswith one###heading per card. Add{icon=/images/svg/name.svg}after a heading for an icon.:::stepswith one###heading per numbered step.:::faqwith one###question per answer. On a page withschema: FAQPagethese become FAQPage JSON-LD.:::notefor a highlighted paragraph.:::buttonswith one link per paragraph.
Lines that start with < are passed through as raw HTML and left out of the Markdown copies.
Every claim about Forward Email must come from a page on forwardemail.net and link to it. University names and cost figures come from the Forward Email university case study. Do not add testimonials, logos or numbers that a source does not support.
.well-known/security.txt: security contact. Update theExpiresdate before it passes..nojekyll: tells GitHub Pages to serve files as they are, including.well-known/.fonts/: self-hosted Graduate and Montserrat (SIL Open Font License, see theOFL-*.txtfiles).images/: icons, the Open Graph image (og-image.jpg, 1200x630) and card illustrations.js/calculator.js: the only script, used by the cost calculator.
The site sets no cookies and loads no analytics, trackers or third-party resources.