Personal website and blog. Find out more in my blog post about it.
- Astro - Static site generator with hybrid rendering capabilities
- Svelte - Interactive UI components
- TypeScript - Type-safe development
- Directus - Headless CMS for content management
- Sentry - Error monitoring and performance tracking
- PWA Support - Progressive Web App capabilities
- Node.js (v18 or higher recommended)
- npm or your preferred package manager
-
Install dependencies:
npm install
-
Start the development server:
npm run dev
The site will be available at
http://localhost:4321
| Command | Description |
|---|---|
npm run dev |
Start local development server with hot reload |
npm run build |
Build production site to ./dist/ |
npm run preview |
Preview production build locally |
npm run sync |
Sync Astro content types |
npm run generate-pwa-icons |
Generate PWA icons (requires ffmpeg) |
site-v2/
├── src/
│ ├── components/ # UI components (.astro, .svelte)
│ ├── layouts/ # Page layouts
│ ├── pages/ # Route definitions
│ ├── services/ # API integrations (Directus)
│ ├── styles/ # Global styles
│ └── utils/ # Utility functions
├── public/ # Static assets
└── dist/ # Build output (generated)
To enable Progressive Web App features:
-
Generate PWA icons:
npm run generate-pwa-icons
On Windows, use:
npm run generate-pwa-icons:win -
Build the production site:
npm run build
-
Preview the PWA locally:
npm run preview
Note: Icon generation requires ffmpeg to be installed on your system.
Content is managed through Directus CMS. The integration is handled via the services layer in src/services/.
- Code: MIT License - see LICENSE file for details
- Content (images and copy): CC BY-NC 4.0 - Creative Commons Attribution-NonCommercial 4.0 International