This is the source code for my personal website and blog, built with Astro, TypeScript, and Tailwind CSS. The site is automatically deployed to GitHub Pages.
π Live Site: luca-becker.me
This repository contains the complete source code for my personal website. While the code is publicly visible for transparency and educational purposes, please note that all content, design, and code are protected by copyright (see LICENSE file).
The project is organized as follows:
/
βββ public/
β βββ assets
β β βββ fonts
| | βββ images
β βββ favicon.ico
βββ src/
β βββ components/
β β βββ home/
| | βββ general/
| | βββ Header.astro
| | βββ Footer.astro
| | βββ ...
β βββ data/
β βββ layouts/
β | |ββ Layout.astro
β | βββ ...
β βββ pages/
β | βββ projects.astro
β | βββ index.astro
β βββ styles/
β | |ββ custom-styles.css
β | |ββ fonts.css
β | βββ styles.css
β βββ types/
β βββ utils/
βββ package.json
βββ ...
Astro looks for .astro or .md files in the src/pages/ directory. Each page is exposed as a route based on its file name.
There's nothing special about src/components/, but that's where we like to put any Astro/React/Vue/Svelte/Preact components.
Any static assets, like images, can be placed in the public/assets directory.
Personal data and content are managed in the src/data and src/content directories.
This site is automatically deployed to GitHub Pages using GitHub Actions. The deployment workflow:
- Triggers: Automatically on every push to the
mainbranch - Build Process: Uses Node.js version from
.nvmrc, installs dependencies, and builds the static site - Deployment: Deploys the built site to GitHub Pages with custom domain support
- Live Site: Available at luca-becker.me
All commands are run from the root of the project, from a terminal:
| Command | Action |
|---|---|
npm install |
Installs dependencies |
npm run dev |
Starts local dev server at localhost:4321 |
npm run build |
Build your production site to ./dist/ |
npm run preview |
Preview your build locally, before deploying |
npm run astro ... |
Run CLI commands like astro add, astro check |
npm run astro --help |
Get help using the Astro CLI |
- Framework: Astro - Static Site Generator
- Styling: Tailwind CSS - Utility-first CSS framework
- Language: TypeScript - Type-safe JavaScript
- Content: MDX - Markdown with JSX components
- Hosting: GitHub Pages - Static site hosting
- Deployment: GitHub Actions - Automated CI/CD
All rights reserved. See LICENSE file for details.