Skip to content

mcgeerdev/portfolio

Repository files navigation

CI

mcgeer.dev — Devan McGeer

Source for mcgeer.dev — personal portfolio and SRE résumé site.

Stack

Hand-written HTML + CSS. Zero JavaScript by default, no framework, no package manifest. mise provides the local task interface. Deployed to GitHub Pages.

Project Structure

  • index.html — home page
  • 404.html — GitHub Pages 404 fallback
  • style.css — all styles, single file
  • resume/index.html/resume/ page
  • projects/index.html/projects/ page
  • blog/index.html/blog/ landing page
  • favicon.svg, og-image.png — site icons and social card
  • robots.txt, sitemap.xml — crawler directives
  • CNAME — custom domain (mcgeer.dev)
  • fonts/ — self-hosted woff2 (Lekton 400/700, Lexend Zetta 400)
  • assets/ — résumé PDF and headshot
  • .impeccable.md — brand, users, and design principles
  • .mise.toml — local task definitions
  • scripts/ — build and guardrail scripts
  • .github/workflows/ci.yml and deploy.yml

Local preview

mise run serve

Then open http://localhost:8000/.

Local tasks

mise run check
mise run build
mise run build:minified
mise run serve

CI/CD

  • ci.yml — runs site guardrails, validates HTML, and checks links on pull requests.
  • deploy.yml — stages the sitemap-listed public surface into _site/, minifies and hashes static assets, then publishes to GitHub Pages on push to main.

Static-site rules

  • Keep runtime JavaScript at zero unless a change has a specific progressive-enhancement reason.
  • Keep CSS in style.css; do not add a frontend framework or bundler.
  • Pages listed in sitemap.xml are the published surface. Draft files are not public unless added there.
  • Run mise run check before handing off changes.

License

MIT — see LICENSE at the repo root.

About

My portfolio website

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors