- Astro - Static Site Generator
- Tailwind CSS - Styling
- TypeScript - Type Safety
- Netlify - Hosting & Deployment
- Install dependencies:
npm install
- Start development server:
npm run dev
- Build for production:
npm run build
- Preview production build:
npm run preview
/
├── public/ # Static assets
├── src/
│ ├── components/ # Reusable UI components
│ ├── config/ # Site configuration
│ ├── content/ # Content collections (events)
│ ├── layouts/ # Page layouts
│ └── pages/ # Page components
├── astro.config.mjs # Astro configuration
├── tailwind.config.mjs # Tailwind configuration
└── netlify.toml # Netlify configuration
The main site configuration is located in src/config/site.ts
. Here you can modify:
- Site metadata (title, description, etc.)
- Theme colors and styling
- Contact information
- Mission statement and values
- Partner information
- Team members
Example:
export const siteConfig = {
name: "Your Site Name",
description: "Your site description",
theme: {
colors: {
primary: {
DEFAULT: '#666ed8',
}
}
}
}
- Create a new markdown file in
src/content/events/
- Follow the event schema defined in
src/content/config.ts
:
{
title: "Event Title",
description: "Event Description",
date: new Date("2024-01-20"),
image: "image-url",
status: "upcoming", // 'upcoming' | 'ongoing' | 'past'
location: "Event Location",
time: "6:00 PM",
registrationUrl: "optional-registration-url", // url to register for the event or external link
featured: true, // show on the homepage
donation: {
enabled: true,
title: "Donation Title",
description: "Donation Description"
},
showPartners: true // show partners on the event page
}
- Global styles: Modify
tailwind.config.mjs
- Component-specific styles: Edit the respective component files in
src/components/
Example tailwind customization:
module.exports = {
theme: {
extend: {
colors: {
brand: {
DEFAULT: '#your-color',
light: '#light-variant',
dark: '#dark-variant',
}
}
}
}
}
Required in Netlify deployment:
SITE_URL
: Production URL of the siteAPI_KEY
: API key for admin functionalityAPI_URL
: Backend API URL
Local development:
- Create
.env
file in project root - Add required variables:
SITE_URL=http://localhost:4321
API_KEY=your-api-key
API_URL=your-api-url
Automatic deployment via Netlify:
- Push to main branch
- Netlify automatically builds and deploys
Manual deployment:
# Install Netlify CLI
npm install netlify-cli -g
# Link to your Netlify site
netlify link
# Deploy
netlify deploy
- Fork the repository
- Create feature branch
- Commit changes
- Push to branch
- Create Pull Request
For technical issues:
- Check the troubleshooting guide above
- Search existing GitHub issues
- Create a new issue if needed