diff --git a/src/components/Chat.astro b/src/components/Chat.astro index 8ddda0f..04a8ba5 100644 --- a/src/components/Chat.astro +++ b/src/components/Chat.astro @@ -19,8 +19,8 @@ const t = lang === 'en' ? {
- + class="flex-1 wt-input wt-input--lg" /> +

{t.disclaimer}

@@ -49,8 +49,7 @@ const t = lang === 'en' ? { function bubble(role, text) { var log = document.getElementById('chat-log'); var d = document.createElement('div'); - d.className = 'rounded-2xl border border-border p-4 text-sm whitespace-pre-wrap ' + - (role === 'user' ? 'bg-surface-2 ml-8' : 'bg-surface/60 mr-8'); + d.className = 'wt-card text-sm whitespace-pre-wrap ' + (role === 'user' ? 'wt-card--alt ml-8' : 'mr-8'); if (role === 'user') d.textContent = text; else d.innerHTML = linkify(text); log.appendChild(d); d.scrollIntoView({ behavior: 'smooth', block: 'end' }); diff --git a/src/components/CookieBanner.astro b/src/components/CookieBanner.astro index 531d51e..e931e54 100644 --- a/src/components/CookieBanner.astro +++ b/src/components/CookieBanner.astro @@ -12,14 +12,14 @@ const en = lang === 'en'; aria-live="polite" aria-label={en ? 'Cookie notice' : 'Cookie-besked'} > -
+

{en ? 'This site uses cookies to improve your experience and keep anonymous visitor statistics. By using the site you accept this.' : 'Denne side bruger cookies til at forbedre din oplevelse og lave anonym statistik over besøg. Ved at bruge siden accepterer du det.'} {en ? 'Read more (Danish)' : 'Læs mere'}.

diff --git a/src/components/Header.astro b/src/components/Header.astro index 15948f6..b594ba1 100644 --- a/src/components/Header.astro +++ b/src/components/Header.astro @@ -17,10 +17,8 @@ const isActive = (href: string) => (href === '/' || href === '/en' ? path === hr
  • {item.label}
  • ))} diff --git a/src/components/PostCard.astro b/src/components/PostCard.astro index 0343f21..2f77c9c 100644 --- a/src/components/PostCard.astro +++ b/src/components/PostCard.astro @@ -3,7 +3,7 @@ interface Props { href: string; title: string; date: Date; description?: string; const { href, title, date, description, tags = [] } = Astro.props; const d = date.toLocaleDateString('da-DK', { year: 'numeric', month: 'long', day: 'numeric' }); --- -
    +
    {d}

    {title}

    diff --git a/src/pages/404.astro b/src/pages/404.astro index f3fdb30..904f884 100644 --- a/src/pages/404.astro +++ b/src/pages/404.astro @@ -5,6 +5,6 @@ import Base from '../layouts/Base.astro';
    diff --git a/src/pages/colophon.astro b/src/pages/colophon.astro index c49df06..bd3f597 100644 --- a/src/pages/colophon.astro +++ b/src/pages/colophon.astro @@ -22,7 +22,7 @@ const stack = [ ingen tredjeparts-fonts, ingen eksterne trackere.. bare en statisk side der gør hvad den får besked på.

    -
    +
    {stack.map((row) => ( diff --git a/src/pages/cookies.astro b/src/pages/cookies.astro index 54dd8b2..c834a95 100644 --- a/src/pages/cookies.astro +++ b/src/pages/cookies.astro @@ -11,7 +11,7 @@ import Base from '../layouts/Base.astro';

    Hvad bruger vi dem til?

    -
    +

    Statistik & analyse

    Jeg bruger Matomo til at se hvor mange der besøger siden, @@ -25,7 +25,7 @@ import Base from '../layouts/Base.astro';

    -
    +

    Funktionelt

    Husker dine valg på siden. Det er ikke sporing, og det forlader aldrig din browser. diff --git a/src/pages/cv.astro b/src/pages/cv.astro index 269d0e3..d812d24 100644 --- a/src/pages/cv.astro +++ b/src/pages/cv.astro @@ -126,7 +126,7 @@ const sprog = ['Dansk (modersmål)', 'Engelsk (flydende i tale og skrift)'];

    Erhvervserfaring

    {erhverv.map((e) => ( -
    +

    {e.org} · {e.sted}

    {e.roller.map((r) => ( @@ -150,7 +150,7 @@ const sprog = ['Dansk (modersmål)', 'Engelsk (flydende i tale og skrift)'];

    Uddannelse

    {uddannelse.map((u) => ( -
    +

    {u.hvad}

    {u.naar}
    @@ -165,7 +165,7 @@ const sprog = ['Dansk (modersmål)', 'Engelsk (flydende i tale og skrift)'];

    Licenser

    {licenser.map((l) => ( -
    +

    {l.hvad}

    {l.naar}
    @@ -178,7 +178,7 @@ const sprog = ['Dansk (modersmål)', 'Engelsk (flydende i tale og skrift)'];

    Publikationer

    -
    +
    CGAAL: Distributed On-The-Fly ATL Model Checker with Heuristics @@ -193,7 +193,7 @@ const sprog = ['Dansk (modersmål)', 'Engelsk (flydende i tale og skrift)'];

    Frivilligt arbejde

    {frivilligt.map((f) => ( -
    +

    {f.hvad}

    {f.naar}
    @@ -217,7 +217,7 @@ const sprog = ['Dansk (modersmål)', 'Engelsk (flydende i tale og skrift)'];

    Sprog

      - {sprog.map((s) =>
    • {s}
    • )} + {sprog.map((s) =>
    • {s}
    • )}

    Interesser

    @@ -236,7 +236,7 @@ const sprog = ['Dansk (modersmål)', 'Engelsk (flydende i tale og skrift)'];

    Natur og jagt

    -
    +

    Jeg har jagttegn, men jagten er mest anledningen. Det jeg tager ud efter, er at stå op længe før resten af landet og træde ud i den stilhed, der kun findes tidligt om morgenen, diff --git a/src/pages/en/cv.astro b/src/pages/en/cv.astro index 0335bdc..1d69aef 100644 --- a/src/pages/en/cv.astro +++ b/src/pages/en/cv.astro @@ -98,7 +98,7 @@ const skills = [

    Experience

    {work.map((e) => ( -
    +

    {e.org} · {e.place}

    {e.roles.map((r) => ( @@ -122,7 +122,7 @@ const skills = [

    Education

    {education.map((u) => ( -
    +

    {u.what}

    {u.when}
    @@ -135,7 +135,7 @@ const skills = [

    Publication

    -
    +
    CGAAL: Distributed On-The-Fly ATL Model Checker with Heuristics @@ -164,8 +164,8 @@ const skills = [

    Languages

      -
    • Danish (native)
    • -
    • English (fluent, spoken and written)
    • +
    • Danish (native)
    • +
    • English (fluent, spoken and written)
    diff --git a/src/pages/en/index.astro b/src/pages/en/index.astro index 6989a7d..4bec3d1 100644 --- a/src/pages/en/index.astro +++ b/src/pages/en/index.astro @@ -43,9 +43,9 @@ const faqs = [ the air as a radio amateur (OZ0AGW).

    {highlights.map((h) => ( -
    +

    {h.title}

    {h.body}

    @@ -76,20 +76,20 @@ const faqs = [ { href: '/ubl', title: 'UBL check (Danish)', desc: 'Drop in an e-invoice and get its profile, syntax and EN 16931 status decoded. It all runs in the browser, the file never leaves your machine.' }, { href: '/en/projects', title: 'Projects', desc: 'Tools I maintain and publish on the AUR, Homebrew and Scoop.' }, ].map((c) => ( - +

    {c.title} →

    {c.desc}

    ))}
    -

    Pro tip: press Ctrl/⌘ K to jump anywhere, or run curl asger.weirsøe.dk in a terminal.

    +

    Pro tip: press Ctrl/⌘ K to jump anywhere, or run curl asger.weirsøe.dk in a terminal.

    Frequently asked questions

    {faqs.map((f) => ( -
    +
    {f.q}

    {f.a}

    diff --git a/src/pages/en/projects/index.astro b/src/pages/en/projects/index.astro index 0dc53eb..7437f97 100644 --- a/src/pages/en/projects/index.astro +++ b/src/pages/en/projects/index.astro @@ -18,7 +18,7 @@ const ld = collectionPage({
    {sider.map((p) => ( + class="group wt-card wt-card--hover"> {highlights.map((h) => ( -
    +

    {h.title}

    {h.body}

    @@ -91,20 +91,20 @@ const jsonLd = [profilePage, faqPage(faqs)]; { href: '/profiler', title: 'Profil-opslag', desc: 'Søgbart opslag over Nemhandel OIOUBL- og Peppol BIS/PINT-profiler: id\'er, dokumenter og typisk brug.' }, { href: '/ubl', title: 'UBL-tjek', desc: 'Træk en faktura ind og få profil, syntaks og EN 16931-status afkodet. Alt sker i browseren, filen forlader aldrig din maskine.' }, ].map((c) => ( - +

    {c.title} →

    {c.desc}

    ))}
    -

    Pro-tip: tryk Ctrl/⌘ K og hop direkte til alt, eller curl asger.weirsøe.dk i en terminal.

    +

    Pro-tip: tryk Ctrl/⌘ K og hop direkte til alt, eller curl asger.weirsøe.dk i en terminal.

    Ofte stillede spørgsmål

    {faqs.map((f) => ( -
    +
    {f.q} diff --git a/src/pages/nemhandel.astro b/src/pages/nemhandel.astro index 4ff9162..f930678 100644 --- a/src/pages/nemhandel.astro +++ b/src/pages/nemhandel.astro @@ -12,15 +12,15 @@ import Base from '../layouts/Base.astro';
    - + class="w-44 wt-input wt-input--lg" /> +
    @@ -57,7 +57,7 @@ const updated = today.toLocaleDateString('da-DK', { year: 'numeric', month: 'lon

    Git-aktivitet

    {total} bidrag i mit eget Gitea det seneste år, de seneste {WEEKS} uger:

    -
    +
    - - {standarder.map((s) => )} + + {standarder.map((s) => )}
    Nemhandelsregistrets kategori: - - {kategorier.map((k) => )} + + {kategorier.map((k) => )}
    @@ -78,7 +78,7 @@ const kilde = (p: (typeof profiles)[number]) => { data-standard={p.standard} data-kategori={p.kategori ?? ''} data-search={searchString(p)} - class="rounded-2xl border border-border bg-surface/60 p-5 transition-colors hover:border-accent/50" + class="wt-card wt-card--hover" >
    @@ -136,22 +136,6 @@ const kilde = (p: (typeof profiles)[number]) => {

    @@ -160,8 +144,8 @@ const kilde = (p: (typeof profiles)[number]) => { (function () { var cards = [].slice.call(document.querySelectorAll('[data-profile]')); var search = document.getElementById('p-search'); - var stdChips = [].slice.call(document.querySelectorAll('.p-chip[data-std]')); - var katChips = [].slice.call(document.querySelectorAll('.p-chip[data-kat]')); + var stdChips = [].slice.call(document.querySelectorAll('button[data-std]')); + var katChips = [].slice.call(document.querySelectorAll('button[data-kat]')); var count = document.getElementById('p-count'); var none = document.getElementById('p-none'); var q = '', std = '', kat = ''; diff --git a/src/pages/projekter/index.astro b/src/pages/projekter/index.astro index 6b00516..489cd70 100644 --- a/src/pages/projekter/index.astro +++ b/src/pages/projekter/index.astro @@ -38,14 +38,14 @@ try {

    Projekter

    Hentet live fra min Gitea.

    - {error &&

    Kunne ikke hente repositories lige nu.

    } + {error &&

    Kunne ikke hente repositories lige nu.

    }
    {repos.map((r) => { const side = sider.get(r.name.toLowerCase()); return side ? ( + class="group wt-card wt-card--hover">

    {side.data.title}

    {side.data.aur.length > 0 && AUR} @@ -55,7 +55,7 @@ try {
    ) : ( + class="group wt-card wt-card--hover">

    {r.name}

    {r.stars_count > 0 && ★ {r.stars_count}} diff --git a/src/pages/status.astro b/src/pages/status.astro index 43941a8..1841494 100644 --- a/src/pages/status.astro +++ b/src/pages/status.astro @@ -10,7 +10,7 @@ const STATUS_URL = 'https://status.weircon.dk/status/weircon'; Når man drifter ~50 containere selv, er det rart at vide hvornår man har smadret noget.

    -
    +
    diff --git a/src/pages/ubl.astro b/src/pages/ubl.astro index ea5a2aa..769f929 100644 --- a/src/pages/ubl.astro +++ b/src/pages/ubl.astro @@ -28,7 +28,7 @@ const idx = profiles.map((p) => ({ også på Windows og macOS.

    -
    +

    Træk en .xml-fil hertil, eller .

    @@ -37,8 +37,8 @@ const idx = profiles.map((p) => ({
    …eller indsæt XML / en identifikator manuelt -

    + class="mt-2 w-full wt-input wt-input--lg font-mono text-xs"> +

    @@ -140,7 +140,7 @@ const idx = profiles.map((p) => ({ (dec.standard ? ' · ' + esc(dec.standard) + '' : '') + ''; result.innerHTML = - '
    ' + head + + '
    ' + head + '
    ' + row('Dokumenttype', '' + esc(docType) + ' (UBL ' + (esc(ublv) || '2.x') + ')') + row('ID', esc(id)) + @@ -157,7 +157,7 @@ const idx = profiles.map((p) => ({ function renderId(s) { var dec = decode(s, s); - result.innerHTML = '
    ' + + result.innerHTML = '
    ' + (dec.match ? '
    ' + badge(dec.match.standard, 'ok') + '

    ' + esc(dec.match.navn) + '

    ' : '

    Identifikator

    ') + @@ -187,9 +187,9 @@ const idx = profiles.map((p) => ({ function readFile(f) { var r = new FileReader(); r.onload = function () { analyze(String(r.result)); }; r.readAsText(f); } fileInput.addEventListener('change', function () { if (fileInput.files[0]) readFile(fileInput.files[0]); }); ['dragenter', 'dragover'].forEach(function (ev) { drop.addEventListener(ev, function (e) { - e.preventDefault(); drop.classList.add('border-accent'); }); }); + e.preventDefault(); drop.classList.add('is-over'); }); }); ['dragleave', 'drop'].forEach(function (ev) { drop.addEventListener(ev, function (e) { - e.preventDefault(); drop.classList.remove('border-accent'); }); }); + e.preventDefault(); drop.classList.remove('is-over'); }); }); drop.addEventListener('drop', function (e) { var f = e.dataTransfer && e.dataTransfer.files[0]; if (f) readFile(f); }); document.getElementById('analyze').addEventListener('click', function () { analyze(paste.value); }); paste.addEventListener('keydown', function (e) { if ((e.metaKey || e.ctrlKey) && e.key === 'Enter') analyze(paste.value); }); diff --git a/src/pages/uses.astro b/src/pages/uses.astro index 9adfd9f..515441f 100644 --- a/src/pages/uses.astro +++ b/src/pages/uses.astro @@ -43,7 +43,7 @@ const sections = [

    {s.title}

    {s.items.map((it) => ( -
    +
    {it.name}

    {it.note}

    diff --git a/src/styles/global.css b/src/styles/global.css index 50bf612..7004f44 100644 --- a/src/styles/global.css +++ b/src/styles/global.css @@ -5,10 +5,11 @@ adapters/tailwind.css feeds the colour tokens into Tailwind's @theme so the bg-surface / text-muted / border-border / text-accent utilities are generated from the shared palette; weirsoe-theme.css adds the base glow, the sun⇄moon - toggle, .prose and the .wt-* components. Replaces the tokens/toggle/prose/glow + toggle, .prose and the .wt-* components, in Tailwind's components layer so a + utility on the same element (pl-9, font-mono) still wins. Replaces the tokens/toggle/prose/glow that used to live here by hand. */ @import "../../vendor/weirsoe-theme/adapters/tailwind.css"; -@import "../../vendor/weirsoe-theme/weirsoe-theme.css"; +@import "../../vendor/weirsoe-theme/weirsoe-theme.css" layer(components); /* asger keeps Inter as its UI font (the theme defaults to a system stack). */ @theme { @@ -19,4 +20,4 @@ html[data-theme="terminal"] { } /* make the theme's body font follow asger's --font-sans (Inter / mono) */ :root { --wt-font-sans: var(--font-sans); } -a { color: inherit; } +@layer base { a { color: inherit; } } diff --git a/vendor/weirsoe-theme b/vendor/weirsoe-theme index b4cad8f..495acc9 160000 --- a/vendor/weirsoe-theme +++ b/vendor/weirsoe-theme @@ -1 +1 @@ -Subproject commit b4cad8fef30736793f93a323a1863089fc527037 +Subproject commit 495acc9155d31c03ea3b0d102ce53296f55baba1