A personal website built with Astro and Svelte frameworks with Tailwind CSS to showcase technical projects
- Super-Framework: Astro - Site builder with excellent performance and framework flexibility
- Components: Svelte - Reactive component framework
- Styling: Tailwind CSS - Utility-first CSS framework
- Content: MDX for rich content with embedded Svelte components
- Deployment: GitHub Pages, Cloudflare Pages, and GitHub Actions CI/CD for accessibility and performance metrics
This project uses GitHub Actions for continuous integration and deployment:
- Build & Lint Astro (
.github/workflows/build.yml):- Triggered on every push and pull request
- Lints the project to verify style and reduce errors
- Builds the project to verify there are no errors
- Ensures code quality and prevents broken deployments
- Cloudflare Pages (configured in Cloudflare dashboard):
- Provides website hosting with Cloudflare's CDN capabilities
- Automatically detects changes in the GitHub repository
- Offers preview deployments for pull requests
├── .github/workflows/ # CI/CD workflow configurations
├── public/ # Static assets (images, fonts, etc.)
├── src/
│ ├── components/ # Reusable UI components using Astro or Svelte
│ ├── content/ # Content collections (projects, etc.)
│ ├── layouts/ # Page layout templates
│ ├── pages/ # Page components and routes
│ └── styles/
├── tests/ # TypeScript Playwright tests
├── .prettierrc # Prettier configuration
├── astro.config.mjs # Astro configuration
├── eslint.config.js # ESLint configuration
├── lighthouserc.json # Lighthouse configuration
├── eslint.config.mjs # ESLint configuration
├── playwright.config.ts # Playwright configuration
├── svelte.config.ts # Svelte configuration
└── tsconfig.json # TypeScript configuration
All commands are run from the root of the project, from a terminal:
| Command | Action |
|---|---|
bun install |
Installs dependencies |
bun run dev |
Starts local dev server at localhost:4321 |
bun run build |
Build your production site to ./dist/ |
bun run preview |
Preview your build locally, before deploying |
bun run astro ... |
Run CLI commands like astro add, astro check |
bun run astro -- --help |
Get help using the Astro CLI |
- Clone the repository
- Install dependencies:
bun install - Start the development server:
bun run dev - Make changes to the codebase
- Commit and push changes to GitHub
- GitHub Actions will automatically build, test, and deploy your changes
This project is licensed under the MIT License, see the license file for details.