A modern, fast, and highly customizable photography portfolio template built with Astro. Ideal for photographers who want to showcase their work through a sleek, performant, and professional website.
- Lightning-fast performance with Astro
- Fully responsive design
- Optimized image loading and handling
- Easy to customize
- Easy to organized gallery via a yaml file
- Multiple albums support
- Image zoom capabilities
- Automatic deployment to GitHub pages
- Script to automatically create a gallery from images
- Check AstroJS documentation for prerequisites
- Basic knowledge of Astro and web development
- click "Use this template" on GitHub
- Clone your newly created template
- Install dependencies:
npm install
# or
yarn install- Start the development server:
npm run dev
# or
yarn devEdit the astro.config.ts file to update your github pages details:
export default defineConfig({
site: '<github pages domain>',
base: '<repository name>',
// ...
});Edit the site.config.mts file to update your personal information:
export default {
title: 'SR',
favicon: 'favicon.ico',
owner: 'Sara Richard',
// ... Other configurations
};Replace public/favicon.ico with your icon and change the configuration
if your file has a different name/location.
- Replace the profile image (see site.config.mts for configuration)
- Edit content in about page
- Place your images in the
src/gallery/<album>directory - Update the gallery details in
src/gallery/gallery.yaml. Optionally, you can runnpm run generateto generate a gallery.yaml file from the images in the directory. - Update meta-data for images in the
src/gallery/gallery.yamlfile. - Images are automatically optimized during build
"featured" is a builtin collection, and images can be added to it by specifying it in the collections parameter like any other collection.
- Astro - The web framework for content-driven websites
- TypeScript - For type safety
- TailwindCSS - For styling
- Sharp - For image optimization
- GLightbox - Responsive lightbox gallery
- Build & Test - Ensure build integrity
- Quality - Run pre-commit checks
- Deploy Astro Site - Publish to GitHub pages
This project is licensed under the MIT License, see the LICENSE file for details.
Contributions are welcome! Please feel free to submit a Pull Request or an Issue.
If you find this template useful, please consider giving it a ⭐️ on GitHub!