A modern, fast, and maintainable website for the Saez Lab built with Astro, React, and Tailwind CSS.
- 🚀 Built with Astro
- 💅 Styled with Tailwind CSS
- 🎨 UI components from shadcn/ui
- 📱 Fully responsive design
- 📝 Content management with MDX
- 🔍 SEO optimized
- ⚡ Fast performance with static generation
src/
├── components/ # React components
├── content/ # Content files (MDX, JSON)
├── layouts/ # Layout components
├── pages/ # Astro pages
├── styles/ # Global styles
└── lib/ # Utility functions
- Node.js 18+
- pnpm (recommended) or npm
-
Clone the repository:
git clone https://github.com/saezlab/website.git cd website
-
Install dependencies:
pnpm install
-
Start the development server:
pnpm dev
-
Open http://localhost:4321 in your browser.
Team member information is stored in src/content/team/team.json
. To add or update team members, edit this file.
Publication data is stored in src/content/publications/publications.json
. To add or update publications, edit this file.
News articles are written in MDX format and stored in src/content/news/
. To add a new article, create a new MDX file with the following frontmatter:
---
title: "Article Title"
date: "YYYY-MM-DD"
author: "Author Name"
image: "/path/to/image.jpg"
excerpt: "Article excerpt"
---
Article content...
Software tool information is stored in src/content/software/software.json
. To add or update software tools, edit this file.
To build the site for production:
pnpm build
The built site will be in the dist/
directory.
The site can be deployed to any static hosting service. For example, to deploy to GitHub Pages:
- Set up GitHub Actions workflow (see
.github/workflows/deploy.yml
) - Push to the
main
branch - The site will be automatically deployed to GitHub Pages
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.