feat(moritzgrafde): rewrite personal website with Vue 3, Vite, and Tailwind CSS

- Replace legacy Hugo static site generator and hugo-goa theme with a modern Vue 3 + Vite + TypeScript application
- Implement Clean Enterprise design system using Tailwind CSS with light/dark mode support
- Position website around Cloud Platform & Infrastructure Leadership (GCP & AWS central platforms, Kubernetes at scale, enterprise spin-off governance, and systems depth) without chronological resumes
- Add 6 comprehensive capability dossiers and verified credential badges (CKA, PSM II, M.Sc.)
- Implement interactive skill matrix with real-time text search and category filtering
- Add engineering philosophy section, contact channels with one-click email copying, and Impressum modal
- Configure multi-stage Dockerfile (Node builder to Nginx runtime) with custom gzip, caching, and security headers
- Update build scripts (Makefile, build.sh), .gitignore, and AGENTS.md documentation across the monorepo
This commit is contained in:
Moritz Graf
2026-09-26 20:37:53 +02:00
parent afb80bbba8
commit d2dac3470f
103 changed files with 3872 additions and 1924 deletions
+47
View File
@@ -0,0 +1,47 @@
<script setup lang="ts">
import { ref } from 'vue'
import Navbar from '@/components/Navbar.vue'
import Hero from '@/components/Hero.vue'
import ImpactStats from '@/components/ImpactStats.vue'
import CapabilityDossiers from '@/components/CapabilityDossiers.vue'
import SkillMatrix from '@/components/SkillMatrix.vue'
import EngineeringPhilosophy from '@/components/EngineeringPhilosophy.vue'
import ContactSection from '@/components/ContactSection.vue'
import ImpressumModal from '@/components/ImpressumModal.vue'
const isImpressumOpen = ref(false)
</script>
<template>
<div class="min-h-screen flex flex-col bg-slate-50 dark:bg-slate-950 text-slate-900 dark:text-slate-100 selection:bg-blue-500/20 selection:text-blue-700 dark:selection:text-blue-300">
<!-- Sticky Navigation -->
<Navbar />
<!-- Main Content -->
<main class="flex-grow">
<!-- Hero Section -->
<Hero />
<!-- Impact Stats Banner -->
<ImpactStats />
<!-- Deep Capability Dossiers (6 Pillars) -->
<CapabilityDossiers />
<!-- Interactive Skill Matrix & Filter -->
<SkillMatrix />
<!-- Architectural & Leadership Principles -->
<EngineeringPhilosophy />
<!-- Contact & Connect -->
<ContactSection @open-impressum="isImpressumOpen = true" />
</main>
<!-- Impressum Modal -->
<ImpressumModal
:is-open="isImpressumOpen"
@close="isImpressumOpen = false"
/>
</div>
</template>