Personal portfolio website built with modern web technologies, showcasing projects, blog posts, and professional information.
- Astro - Static site framework
- React - UI components
- Tailwind CSS 4 - Styling
- DaisyUI - Component library
- MDX - Blog content with components
- ESLint - Linting (common issues)
- Prettier - Code formatting
- Lefthook - Git hooks
- cspell - Spell checking for blog posts
- pa11y - Accessibility testing
/
├── public/ # Static assets
├── src/
│ ├── assets/ # Images, fonts, etc.
│ ├── blog/ # Blog posts (MDX)
│ ├── components/ # Reusable components
│ ├── layouts/ # Page layouts
│ ├── pages/ # File-based routing
│ └── styles/ # Global styles
└── package.json
All commands are run from the root of the project:
| Command | Action |
|---|---|
pnpm install |
Install dependencies |
pnpm dev |
Start local dev server at localhost:4321 |
pnpm build |
Build production site to ./dist/ |
pnpm preview |
Preview build locally before deploying |
pnpm lint |
Run ESLint with accessibility checks |
pnpm test:a11y <url> |
Run pa11y accessibility audit on a URL |
pnpm astro ... |
Run CLI commands like astro add, astro check |
On commit, Lefthook automatically runs:
- Prettier - Formats staged files (auto-fixes)
- ESLint - Checks
.js,.ts,.astrofiles for issues - cspell - Spell checks blog posts in
src/blog/
The source code is licensed under the MIT License.
Blog posts are licensed under CC BY 4.0.
Profile photographs, CV data, and other personal content are © Jérémy Amand. All rights reserved.