Built with Astro. Landing/about page plus a Markdown blog, deployed to GitHub Pages.
Run from the project root:
| Command | Action |
|---|---|
npm install |
Install dependencies |
npm run dev |
Start local dev server at localhost:4321 |
npm run build |
Build the production site to ./dist/ |
npm run preview |
Preview the production build locally |
Add a Markdown file to src/content/blog/, e.g. my-post.md:
---
title: 'My Post'
description: 'What this post is about.'
pubDate: 2026-07-09
---
Post content here.Optional frontmatter: updatedDate, heroImage (place images in src/assets/).
- Landing page:
src/pages/index.astro - About page:
src/pages/about.astro - Header nav / footer:
src/components/Header.astro,src/components/Footer.astro - Site title & description:
src/consts.ts
- Create a GitHub repo and push this project to its
mainbranch.- Repo named
<username>.github.io→ site lives athttps://<username>.github.io/ - Any other repo name → site lives at
https://<username>.github.io/<repo>/
- Repo named
- In the repo settings, go to Settings → Pages and set Source to GitHub Actions.
- Every push to
maintriggers.github/workflows/deploy.yml, which builds and publishes the site. The action fills in the correctsite/baseURL automatically.