Skip to content

cadamsmith/cadamsmith.dev

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

297 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

cadamsmith.dev

Personal portfolio site built with Astro + Svelte 5, deployed on Cloudflare Pages.

image

Stack

  • Astro โ€” static site generation, file-based routing, content collections
  • Svelte 5 โ€” interactive islands (skills widget, timeline, music player, map)
  • Leaflet โ€” interactive location map
  • Cloudflare Pages โ€” hosting and deployment
  • TypeScript โ€” throughout

Architecture

All pages are prerendered at build time (static output). Interactive components are mounted as Svelte islands with client:visible.

Site content is driven by Astro content collections in src/content/:

Collection Description
skills/ Tech skills shown in the skills widget
timeline/ Work and education history with location + coordinates
songs/ Music player playlist (YouTube embeds)
blurbs/ Hero and contact section copy
heroTags/ Info tags shown in the hero section

Local Setup

git clone https://github.com/cadamsmith/cadamsmith.dev.git
cd cadamsmith.dev
npm install
npm run dev

Commands

npm run dev        # Start development server
npm run build      # Build for production (static output to dist/)
npm run preview    # Preview production build
npm run test       # Run Vitest unit tests
npm run lint       # Run Prettier + ESLint checks
npm run format     # Auto-format with Prettier
npm run check      # Astro type checking