A modern, responsive landing page for the Caltech Longevity Club, built with Next.js and configured for static deployment on GitHub Pages.
- Static Site Generation: Optimized for GitHub Pages deployment
- Responsive Design: Works seamlessly across all devices
- Modern UI: Built with Tailwind CSS and Radix UI components
- Contact Integration: Sponsor inquiries redirect to email client
- Performance Optimized: Static export with optimized assets
The sponsor inquiry form now redirects users to their default email client with a pre-filled message to longevity@caltech.edu. This eliminates the need for server-side email processing and works perfectly with static hosting.
- Node.js 18+
- pnpm (recommended package manager)
- Clone the repository:
git clone <repository-url>
cd longevity-club-landing- Install dependencies:
pnpm install- Run the development server:
pnpm dev- Open http://localhost:3000 in your browser.
pnpm buildThis creates an optimized static export in the out directory.
This project is configured for automatic deployment to GitHub Pages using GitHub Actions.
-
Enable GitHub Pages:
- Go to your repository settings
- Navigate to "Pages" section
- Set source to "GitHub Actions"
-
Automatic Deployment:
- The workflow (
.github/workflows/deploy.yml) automatically triggers on pushes to themainbranch - The site will be built and deployed to
https://<username>.github.io/longevity-club-landing - First deployment may take a few minutes to appear
- The workflow (
-
Deploy Now:
git add . git commit -m "Configure GitHub Pages deployment" git push origin main
-
Manual Deployment (if needed):
pnpm build # Upload the contents of the 'out' directory to your hosting provider
next.config.ts: Configured for static export with GitHub Pages optimization.nojekyll: Prevents Jekyll processing on GitHub Pages.github/workflows/deploy.yml: Automated deployment workflow
src/
├── app/ # Next.js app directory
├── components/ # Reusable React components
│ ├── forms/ # Form components (sponsor inquiry)
│ ├── sections/ # Page sections
│ └── ui/ # UI components
├── data/ # Static data files
├── hooks/ # Custom React hooks
└── lib/ # Utility functions
- Colors & Themes: Modify
tailwind.config.ts - Content: Update components in
src/components/sections/ - Styling: Global styles in
src/app/globals.css
This project is private and proprietary to Caltech Longevity Club.