dbb0f6d7ffb75d40c8c122bff07b6014a3b6ac9b
Alex Lebens Personal Site
Personal site used for information about myself and blog.
Features
- 🚀 Maximum Performance - Built with Astro.js for lightning-fast static sites
- 🎨 Minimalist Design - Clean UI that focuses on content
- 🌓 Light/Dark Mode - Smooth theme switching
- 📱 Responsive - Perfect experience on all devices
- ⚡ SPA Transitions - Smooth page navigation with transition effects
- 📝 Markdown & MDX - Write posts with Markdown and extend with MDX
- 🔍 SEO Optimized - Meta tags, Open Graph, and Twitter Cards
- 📊 Analytics - Reading time, views, and statistics
- 🔖 Categorization - Tags and categories system
- 🔄 RSS Feed - Automatically generated RSS feed
- 🌐 Internationalization Ready - Prepared for multiple languages
- 🔒 Secure - No unnecessary client-side JavaScript
Getting Started
Requirements
- Node.js 22+ and pnpm
Installation
# Clone repository
git clone https://gitea.alexlebens.dev/alexlebens/site-profile
# Navigate to project directory
cd site-profile
# Install dependencies
pnpm install
Development
# Start development server
pnpm dev
# Open browser at http://localhost:4321
Build
# Create production build
pnpm build
# Preview production build
pnpm preview
Project Structure
/
├── public/ # Static assets
├── src/
│ ├── components/ # Reusable UI components
│ ├── content/ # Blog content (Markdown/MDX)
│ ├── layouts/ # Page layouts
│ ├── pages/ # Pages and routes
│ ├── styles/ # CSS and Tailwind
│ └── utils/ # Utilities and helpers
├── astro.config.mjs # Astro configuration
├── tailwind.config.js # Tailwind configuration
└── tsconfig.json # TypeScript configuration
Description
Languages
Astro
84.4%
CSS
11.6%
JavaScript
1.8%
TypeScript
1.7%
Dockerfile
0.5%