Samme indhold, URL'er og udseende, bygget af en enkelt zola-binær og Tailwind standalone-CLI uden Node. Kanonisk domæne er asger.weirsoe.dk. Blogindlæg ligger som page bundles med frontmatter Zola forstår, så de gamle stempler er ugyldige, indtil scripts/omstempl.py er kørt med PUBLISH_KEY. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
81 lines
3.2 KiB
HTML
81 lines
3.2 KiB
HTML
{% extends "base.html" %}
|
|
{% block main %}
|
|
{% set d = load_data(path="data/forside.json") %}
|
|
<section class="grid items-center gap-8 py-6 sm:grid-cols-[1fr_auto]">
|
|
<div>
|
|
<p class="font-medium text-accent">Hej, jeg er</p>
|
|
<h1 class="mt-1 text-5xl font-bold tracking-tight sm:text-6xl">Asger Weirsøe</h1>
|
|
<p class="mt-3 text-xl font-semibold text-accent sm:text-2xl">Datalog & Technical Solution Architect</p>
|
|
<p class="mt-5 max-w-xl text-lg text-muted">
|
|
Datalog (cand.scient.) fra Aalborg Universitet og Technical Solution Architect hos Digisense A/S.
|
|
Til daglig bygger jeg bro mellem forretning og teknik og får <strong class="text-text">elektronisk fakturering</strong>
|
|
som Peppol og NemHandel til at virke i praksis. I min fritid drifter jeg mit eget
|
|
Proxmox-homelab, roder med AI-projekter og går på luften som radioamatør (OZ0AGW).
|
|
</p>
|
|
<div class="mt-7 flex flex-wrap gap-3">
|
|
<a href="/cv" class="wt-btn wt-btn--primary wt-btn--lg">Se mit CV</a>
|
|
<a href="/projekter" class="wt-btn wt-btn--lg">Projekter</a>
|
|
<a href="/blog" class="wt-btn wt-btn--lg">Blog</a>
|
|
</div>
|
|
</div>
|
|
{% include "partials/portraet.html" %}
|
|
</section>
|
|
|
|
<section class="mt-14 grid gap-4 sm:grid-cols-3">
|
|
{% for h in d.highlights %}
|
|
<div class="wt-card">
|
|
<h2 class="font-semibold tracking-tight">{{ h.title }}</h2>
|
|
<p class="mt-2 text-sm text-muted">{{ h.body }}</p>
|
|
</div>
|
|
{% endfor %}
|
|
</section>
|
|
|
|
<section class="mt-16">
|
|
<h2 class="text-2xl font-bold tracking-tight">Mere end et CV</h2>
|
|
<div class="mt-5 grid gap-4 sm:grid-cols-2">
|
|
{% for c in d.kort %}
|
|
<a href="{{ c.href | safe }}" class="group wt-card wt-card--hover">
|
|
<h3 class="font-semibold tracking-tight group-hover:text-accent">{{ c.title }} →</h3>
|
|
<p class="mt-2 text-sm text-muted">{{ c.desc }}</p>
|
|
</a>
|
|
{% endfor %}
|
|
</div>
|
|
<p class="mt-3 text-xs text-muted/80">Tryk <kbd class="wt-kbd">Ctrl/⌘ K</kbd> og hop direkte til alt, eller <code class="rounded bg-surface-2 px-1.5 py-0.5">curl asger.weirsoe.dk</code> i en terminal.</p>
|
|
</section>
|
|
|
|
<section class="mt-16">
|
|
<h2 class="text-2xl font-bold tracking-tight">Ofte stillede spørgsmål</h2>
|
|
<div class="mt-5 grid gap-3">
|
|
{% for f in d.faqs %}
|
|
<details class="group wt-card">
|
|
<summary class="cursor-pointer list-none font-semibold tracking-tight marker:hidden">
|
|
{{ f.q }}
|
|
</summary>
|
|
<p class="mt-3 text-sm text-muted">{{ f.a }}</p>
|
|
</details>
|
|
{% endfor %}
|
|
</div>
|
|
</section>
|
|
|
|
{% set blog = get_section(path="blog/_index.md") %}
|
|
{% set posts = blog.pages[:3] %}
|
|
{% if posts %}
|
|
<section class="mt-16">
|
|
<div class="flex items-baseline justify-between">
|
|
<h2 class="text-2xl font-bold tracking-tight">Seneste indlæg</h2>
|
|
<a href="/blog" class="text-sm text-accent hover:underline">Alle indlæg →</a>
|
|
</div>
|
|
<div class="mt-5 grid gap-4">
|
|
{% for p in posts %}
|
|
{{ <postcard p={p} /> }}
|
|
{% endfor %}
|
|
</div>
|
|
</section>
|
|
{% endif %}
|
|
{% endblock %}
|
|
{% block jsonld %}
|
|
{{ <ld g={seo.profilePage} /> }}
|
|
{% set d = load_data(path="data/forside.json") %}
|
|
{{ <faq items={d.faqs} /> }}
|
|
{% endblock %}
|