A modern, single-page marketing website for Sunbreak Running, a Pacific Northwest running coaching service. Built with Astro and deployed to GitHub Pages.
🌐 Live Site: sunbreakrunning.com
Sunbreak Running provides personalized running coaching with a focus on injury prevention and performance optimization for runners of all levels.
- Framework: Astro 5.x (static site generation)
- Styling: Custom CSS design system with CSS custom properties
- Deployment: GitHub Pages (automated via GitHub Actions)
- Analytics: Google Analytics, Rybbit tracking
- Node.js v20 or higher
- npm
# Install dependencies
npm install
# Start development server
npm run devThe site will be available at http://localhost:4321
npm run dev # Start development server with hot reload
npm run build # Build for production (output to dist/)
npm run preview # Preview production build locallysrc/
├── pages/ # Routes (index.astro = homepage)
├── layouts/ # Layout wrapper with SEO & analytics
├── components/ # Reusable UI components
│ ├── Nav.astro
│ ├── Hero.astro
│ ├── About.astro
│ ├── Testimonials.astro
│ ├── Services.astro
│ ├── Contact.astro
│ └── Footer.astro
└── styles/ # Global CSS design system
public/
└── images/ # Static images
The site uses a custom design system defined in src/styles/global.css:
- Dark theme with accent color
#ff4d2e - Typography: Inter font family
- CSS Variables: All spacing, colors, and typography use custom properties
- Responsive: Mobile-first with breakpoint at 768px
- Components: Scoped styles within each
.astrocomponent
The project uses @/* as an alias for src/* (configured in tsconfig.json).
The site automatically deploys to GitHub Pages when changes are pushed to the main branch.
- Triggered by: Push to
mainbranch - Workflow:
.github/workflows/deploy.yml - Target: https://sunbreakrunning.com
You can also trigger a deployment manually:
- Go to the Actions tab in GitHub
- Select "Deploy to GitHub Pages"
- Click "Run workflow"
- Single-page design: All content on one page with anchor navigation
- Static generation: Pre-rendered HTML for optimal performance
- No build tools for CSS: Plain CSS with modern features
- Component-based: Modular Astro components with scoped styles
- Open Graph and Twitter Card meta tags
- Google Analytics:
G-QYC49P6HMB - Rybbit tracking: Site ID
fda22996a6f1 - Canonical URL configured
See LICENSE file for details.