Claude written astro

This commit is contained in:
2026-04-02 09:17:17 +03:00
parent 1cc6b57c87
commit e9af851046
15 changed files with 1220 additions and 0 deletions

23
AstroCV/src/data/cv.json Normal file
View File

@@ -0,0 +1,23 @@
{
"name": "Armandiņš Vagalehns",
"title": "Software Engineer",
"email": "armin@vagalehns.com",
"location": "Riga, Latvia",
"summary": "Systems-minded developer with a passion for self-hosted infrastructure and clean software architecture.",
"experience": [
{
"company": "Acme Corp",
"role": "Backend Developer",
"period": "2023 present",
"points": ["Built internal tooling with Go", "Maintained CI/CD pipelines"]
}
],
"education": [
{
"institution": "University of Latvia",
"degree": "BSc Computer Science",
"period": "2022 2026"
}
],
"skills": ["TypeScript", "Go", "Linux", "Docker", "Nginx", "Astro"]
}

View File

@@ -0,0 +1,118 @@
---
import "../styles/global.css";
import cv from "../data/cv.json";
---
<html lang="en">
<head>
<meta charset="utf-8" />
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<meta name="viewport" content="width=device-width" />
<title>{cv.name} CV</title>
</head>
<body class="min-h-screen bg-zinc-950 text-zinc-100 font-mono py-16 px-6">
<main class="max-w-2xl mx-auto space-y-10">
<!-- Header -->
<header class="border-b border-zinc-700 pb-6">
<h1 class="text-4xl font-bold tracking-tight text-white">
{cv.name}
</h1>
<p class="text-zinc-400 mt-1">{cv.title}</p>
<div class="flex gap-4 mt-3 text-sm text-zinc-500">
<span>{cv.email}</span>
<span>·</span>
<span>{cv.location}</span>
</div>
</header>
<!-- Summary -->
<section>
<h2
class="text-xs uppercase tracking-widest text-zinc-500 mb-2"
>
About
</h2>
<p class="text-zinc-300 leading-relaxed">{cv.summary}</p>
</section>
<!-- Experience -->
<section>
<h2
class="text-xs uppercase tracking-widest text-zinc-500 mb-4"
>
Experience
</h2>
<div class="space-y-6">
{
cv.experience.map((job) => (
<div>
<div class="flex justify-between items-baseline">
<span class="text-white font-semibold">
{job.role}
</span>
<span class="text-zinc-500 text-sm">
{job.period}
</span>
</div>
<div class="text-zinc-400 text-sm mb-2">
{job.company}
</div>
<ul class="list-disc list-inside space-y-1 text-zinc-300 text-sm">
{job.points.map((p) => (
<li>{p}</li>
))}
</ul>
</div>
))
}
</div>
</section>
<!-- Education -->
<section>
<h2
class="text-xs uppercase tracking-widest text-zinc-500 mb-4"
>
Education
</h2>
<div class="space-y-3">
{
cv.education.map((edu) => (
<div class="flex justify-between items-baseline">
<div>
<span class="text-white font-semibold">
{edu.degree}
</span>
<span class="text-zinc-400 text-sm ml-2">
· {edu.institution}
</span>
</div>
<span class="text-zinc-500 text-sm">
{edu.period}
</span>
</div>
))
}
</div>
</section>
<!-- Skills -->
<section>
<h2
class="text-xs uppercase tracking-widest text-zinc-500 mb-3"
>
Skills
</h2>
<div class="flex flex-wrap gap-2">
{
cv.skills.map((skill) => (
<span class="px-3 py-1 bg-zinc-800 border border-zinc-700 text-zinc-300 text-sm rounded">
{skill}
</span>
))
}
</div>
</section>
</main>
</body>
</html>

View File

@@ -0,0 +1 @@
@import "tailwindcss";