The official website for Kenari, a Bulgarian folk dance group. It provides information about practice times, upcoming events, and a gallery of past performances.
Visit the live site: kenaridancers.com
- Astro - Static site generator
- FullCalendar - Interactive calendar for practice times and events
- PhotoSwipe - Image gallery for past event photos
- Astro Embed YouTube - Embedding performance videos
- Sharp - Image processing and optimization
- Node.js 22+
- npm or pnpm
# Install dependencies
npm install
# Start development server
npm run dev
# Build for production
npm run build
# Preview production build
npm run previewnpm run format: Format code with Prettier.npm run lint: Run ESLint to check for code quality issues.npm run convert:heic: Convert HEIC images to JPG (usesscripts/convert-heic.mjs).npm run rename:photos: Batch rename photos for consistency (usesscripts/rename-photos.mjs).
/
├── public/ # Static assets (favicons, etc.)
│ └── assets/ # Global assets like background images
├── scripts/ # Utility scripts for photo processing
├── src/
│ ├── assets/ # Event-specific photos
│ ├── components/ # Reusable Astro components
│ ├── content/ # Markdown content for past events
│ ├── data/ # JSON data (events.json)
│ ├── layouts/ # Page layouts
│ ├── pages/ # Page routes (index, calendar, past-events, contact, etc.)
│ ├── scripts/ # Client-side scripts (PhotoSwipe, Calendar initialization)
│ ├── styles/ # Global CSS
│ └── utils/ # Shared utility functions
├── astro.config.mjs # Astro configuration
└── package.json
The site is built and deployed to our custom domain at kenaridancers.com.
MIT License - see LICENSE file for details