Personal site and hub for GitHub Pages tools, hosted at m10i.space.
Built with Astro and TypeScript. Static output is deployed to GitHub Pages via Actions.
npm install
npm run devOpen http://localhost:4321.
| Path | Purpose |
|---|---|
src/data/profile.ts |
Name, bio, social links |
src/data/tools.ts |
Links to your GH Pages tools (edit when you ship something new) |
src/content/blog/ |
Markdown posts (optional draft: true in frontmatter) |
public/CNAME |
Custom domain for GitHub Pages |
Add an object to the tools array in src/data/tools.ts:
{
title: 'My tool',
url: 'https://<user>.github.io/<repo>/',
description: 'Short description.',
repo: 'https://github.com/<user>/<repo>',
featured: true,
}Create src/content/blog/my-post.md:
---
title: My post
description: One-line summary for meta tags.
pubDate: 2026-08-03
draft: false
---
Your content here.The Blog nav link appears once at least one non-draft post exists.
- Push this repo to GitHub (e.g.
m10i.spaceorusername.github.io). - Settings → Pages → Build and deployment: Source = GitHub Actions.
- Settings → Pages → Custom domain:
m10i.space, then enable Enforce HTTPS after DNS is valid. - At your domain registrar, for apex
m10i.space, set DNS per GitHub’s custom domain guide:- A records →
185.199.108.153,185.199.109.153,185.199.110.153,185.199.111.153 - Optional AAAA → GitHub’s IPv6 addresses from the same doc
- A records →
- Push to
main; the workflow in.github/workflows/deploy.ymlbuilds and publishesdist/.
public/CNAME must contain m10i.space so the custom domain survives each deploy.
| Command | Action |
|---|---|
npm run dev |
Dev server |
npm run build |
Production build to dist/ |
npm run preview |
Preview production build |