Commit Graph
70 Commits
Author SHA1 Message Date
Asger Geel Weirsøe a352b32fac Use the theme's chip and tag components for every pill on the site
Build & Deploy / deploy (push) Successful in 2m41s
Links are .wt-chip, labels are .wt-tag, highlighted labels .wt-tag--accent.
Bumps Weircon-wind for the status tag variants.

Claude-Session: https://claude.ai/code/session_012LCTmU2ewo8tnM1dByYAoG
2026-10-29 18:41:00 +01:00
Asger Geel Weirsøe 0105f1576d Put the language switch in the header on every translated page
Build & Deploy / deploy (push) Successful in 2m31s
Claude-Session: https://claude.ai/code/session_012LCTmU2ewo8tnM1dByYAoG
2026-10-29 18:24:00 +01:00
Asger Geel Weirsøe 653b428670 Add areas of expertise to the English CV and move the Danish link up
Build & Deploy / deploy (push) Successful in 2m30s
Claude-Session: https://claude.ai/code/session_012LCTmU2ewo8tnM1dByYAoG
2026-10-29 18:06:00 +01:00
Asger Geel Weirsøe 382a30999d Add English home and chat pages, and keep the client unnamed on the CV
Build & Deploy / deploy (push) Successful in 2m46s
Claude-Session: https://claude.ai/code/session_012LCTmU2ewo8tnM1dByYAoG
2026-10-29 17:52:00 +01:00
Asger Geel Weirsøe 31c02838b6 Add an English CV at /en/cv
Build & Deploy / deploy (push) Successful in 3m12s
Claude-Session: https://claude.ai/code/session_012LCTmU2ewo8tnM1dByYAoG
2026-10-29 17:31:00 +01:00
Asger Geel Weirsøe f9c887c5ad Add incident response and compliance experience to the CV
Build & Deploy / deploy (push) Successful in 3m59s
Claude-Session: https://claude.ai/code/session_012LCTmU2ewo8tnM1dByYAoG
2026-10-29 17:12:00 +01:00
Asger Geel Weirsøe e294be18c7 Cover a post's images in its approval stamp
Build & Deploy / deploy (push) Successful in 5m51s
Images for a post live next to it in src/content/blog/<slug>/ and are
referenced as ./<slug>/file.png, so Astro optimises them and resolves the
path in the preview build as well. The stamp now also covers the sha256 of
every file in that folder: swapping or adding an image after approval fails
the build, and so does a folder without an approved post. Posts without
images keep their existing stamps.

Claude-Session: https://claude.ai/code/session_01JmhJG6JnhXfzNiKv8f2vHu
2026-10-09 19:45:23 +02:00
Asger Geel Weirsøe 2a18604b25 Require an approval stamp on every blog post before building
Build & Deploy / deploy (push) Successful in 3m9s
Posts are written in a private drafts repo and only reach this repo through
an approval step that stamps them with an HMAC over path and content. The
deploy workflow now runs scripts/verify-approvals.mjs before the build and
refuses to build if a post is unstamped, changed after approval, or still
marked as a draft (this repo is public, so a draft here is already published).

PW_PREVIEW=1 builds the site under /udkast for the private review page:
noindex, a banner, no service worker, sitemap or comments.

The nine existing posts are stamped as approved.

Claude-Session: https://claude.ai/code/session_01JmhJG6JnhXfzNiKv8f2vHu
2026-10-08 21:47:12 +02:00
Asger Geel Weirsøe d2b133ed3d List /tarballz/ in the sitemap with its trailing slash
Build & Deploy / deploy (push) Successful in 3m9s
The slash stripping meant for Astro's routes also turned the tarball index
into /tarballz, which the web host answers with a 301 to /tarballz/. A
sitemap should only list the final URL.

Claude-Session: https://claude.ai/code/session_01GGe7kUhooMFuzY6GaDb2w9
2026-10-06 17:35:13 +02:00
Asger Geel Weirsøe 9103dca0f4 Keep the cookie, status and chat pages out of the index
They are utility pages with nothing to rank for, and Google had crawled and
passed on them anyway. Mark them noindex, follow, and leave them out of the
sitemap so Search Console does not report submitted URLs marked noindex.

Claude-Session: https://claude.ai/code/session_01GGe7kUhooMFuzY6GaDb2w9
2026-10-06 17:32:11 +02:00
Asger Geel Weirsøe 2cc6baa43f Keep crawlers off the tarball archives, not the tarball index
SEO crawlers were downloading the release archives (up to about 2 GB each)
even though they are served noindex. Disallow only *.tar.zst and *.zip under
/tarballz/; the index page and the PKGBUILDs stay crawlable. Repeated in every
group, because a crawler with its own group ignores User-agent: *.

Claude-Session: https://claude.ai/code/session_01GGe7kUhooMFuzY6GaDb2w9
2026-10-05 21:30:00 +02:00
Asger Geel Weirsøe 58d68aa95f Engelske projektsider under /en/projects
Hver projektside findes nu også på engelsk (/en/projects/<navn>) med en
oversigt på /en/projects. Siderne deler komponenten ProjektSide, peger på
hinanden med hreflang og har et sprogskift øverst. Head og Base tager lang
og alternates, så andre sider kan oversættes på samme måde.

/tarballz/ er med i sitemap'et, nu hvor oversigten der må indekseres.

Claude-Session: https://claude.ai/code/session_012LCTmU2ewo8tnM1dByYAoG
2026-10-04 07:28:09 +02:00
Asger Geel Weirsøe 2915d0a928 Send <html lang> og <head> med igen
ASCII-hilsenen til view-source-læserne stod før <html>, og så smed Astros
compiler både <html>- og <head>-tagget væk. Browserne gættede sig til
resten, men lang-attributten har manglet på hele sitet siden juni. Hilsenen
står nu som første linje i <head>.

Claude-Session: https://claude.ai/code/session_012LCTmU2ewo8tnM1dByYAoG
2026-10-04 07:28:09 +02:00
Asger Geel Weirsøe 61d3d0584e Projektsider for ubl-tools, ahfail og pi3-smart-workspace
Hvert værktøj jeg udgiver på AUR får sin egen side under /projekter/<navn>,
så pakkernes Upstream URL kan pege på en side her i stedet for direkte på
Gitea. Siderne ligger som markdown i en ny projekter-samling og bærer
SoftwareSourceCode-data med kode-repo og AUR-pakker.

Kortene på /projekter linker til projektsiden når der findes en, de tre står
øverst, og de er med i ⌘K-søgningen. /ubl linker videre til ubl-tools.

Claude-Session: https://claude.ai/code/session_012LCTmU2ewo8tnM1dByYAoG
2026-10-04 07:21:48 +02:00
Asger Geel Weirsøe 32b85cc973 Read the deploy host and path from secrets, not variables
Build & Deploy / deploy (push) Successful in 4m14s
Run logs of a public repository are public, and Gitea prints variables in
them in clear text; only secrets are masked. The previous commit moved the
host into a variable and so still published it, in the deploy log.

Claude-Session: https://claude.ai/code/session_01GGe7kUhooMFuzY6GaDb2w9
2026-10-01 17:40:00 +02:00
Asger Geel Weirsøe 2fcb4cdfa7 Keep the deploy target out of the public repo
Build & Deploy / deploy (push) Successful in 3m11s
The workflow named the web host, its address and the web root path, and the
README named the container. Host, user and path now come from repository
variables, and the deploy step fails clearly if one is missing.

Claude-Session: https://claude.ai/code/session_01GGe7kUhooMFuzY6GaDb2w9
2026-10-01 17:10:00 +02:00
Asger Geel Weirsøe 146e9c04a5 pwa: ingen SPA-fallback i service workeren
Build & Deploy / deploy (push) Successful in 2m14s
Standarden svarede ALLE navigationer, den ikke havde precachet, med den
cachede forside. Derfor viste /tarballz/ (serveres af nginx uden for
Astro-bygget) og ukendte adresser forsiden i stedet for den rigtige side
eller 404. Alle Astro-sider er precachet i forvejen.

Claude-Session: https://claude.ai/code/session_012LCTmU2ewo8tnM1dByYAoG
2026-09-30 21:19:38 +02:00
Asger Geel Weirsøe 7d8ad46d11 seo: tynde tag-sider noindex + ud af sitemap, forældreløse sider linket
Build & Deploy / deploy (push) Successful in 3m36s
- tag-siderne (/tags og /tags/*) får "noindex, follow" og udelades af
  sitemap'et: 21 lister med 1-2 indlæg hver trak helhedsindtrykket ned
- /peppol er kun en omdirigering til /nemhandel: noindex og ud af sitemap'et
- /profiler og /ubl kunne kun nås via Cmd/Ctrl+K-paletten (JavaScript, som
  Google ikke følger); nu kort på forsiden under "Mere end et CV"

Sitemap: 44 -> 22 URL'er, alle nås inden for 2 klik fra forsiden.

Claude-Session: https://claude.ai/code/session_012LCTmU2ewo8tnM1dByYAoG
2026-09-27 07:57:01 +02:00
Asger Geel Weirsøe 6640109ab9 content: tankestregerne ud af hele sitet
Build & Deploy / deploy (push) Successful in 1m52s
Reglen gjaldt kun de nyeste tekster; resten af sitet var fuld af dem. 72 steder
rettet på tværs af sider, komponenter, layout, profildata og et blogindlæg.

Valget pr. sted: ".." hvor der er en ægte pause eller en tør bemærkning
(fejlbeskederne i /ubl, /nemhandel og /chat, påskeægget i sidekilden,
"Øjebliksbillede.. verificér altid"), kolon hvor noget defineres (cookie-listen,
kolofonens rækker, profilbemærkninger der forklarer en forkortelse) og komma
hvor sætningen bare skal hænge sammen. Ét sted blev det til to sætninger, fordi
indskuddet var for langt til et komma.

Sidetitlen i Head.astro og de fire "docs.peppol.eu"-kildelinks brugte
tankestregen som skilletegn; de bruger nu "·", som sitet i forvejen bruger
mellem sidetitel og navn.

Tilbage står én tankestreg i /ubl, og den bliver: den markerer et tomt felt i
definitionslisten og er ikke en pause i en sætning.

Claude-Session: https://claude.ai/code/session_0198n4owY35jQpwht1wCGzfh
2026-09-22 20:30:00 +02:00
Asger Geel Weirsøe 911a655914 content: jagttegn 2020 ind i Licenser-sektionen
Årstallet manglede, så jagttegnet stod kun som prosa i naturafsnittet. Nu har
det sit eget kort ved siden af radiolicensen, nyeste først, og det samme gælder
den maskinlæsbare side: endnu en EducationalOccupationalCredential af typen
license i Person-grafen, plus årstallet i llms.txt og i ascii-CV'et.

Claude-Session: https://claude.ai/code/session_0198n4owY35jQpwht1wCGzfh
2026-09-22 19:40:00 +02:00
Asger Geel Weirsøe cd738a5009 content: væk med tankestregerne i radio- og naturteksten
Asgers stil bruger ikke "—" som pause eller indskud.. det er det tydeligste
AI-tegn der findes, og reglen står allerede i hans egen blog-post-skill. Den
gælder hele sitet, ikke kun blogindlæg, og teksterne fra de to foregående
commits overholdt den ikke.

Rettet: ".." hvor der er en rigtig pause (CV-linjen om radioen, begge linjer i
ascii-CV'et), komma hvor sætningen bare skal hænge sammen (naturafsnittet,
FAQ-svaret, faktalinjerne i llms.txt) og kolon i kodekommentaren i seo.ts.

Resten af sitet har stadig omkring 45 tankestreger fra tidligere tekster; de
ligger urørt her, så det bliver en beslutning for sig.

Claude-Session: https://claude.ai/code/session_0198n4owY35jQpwht1wCGzfh
2026-09-22 19:10:00 +02:00
Asger Geel Weirsøe fe1678634a content: natur og jagt på CV'et
Radiolicensen fik en linje; det her har brug for mere plads. Ny fuld sektion
"Natur og jagt" nederst på /cv, skrevet som det er ment: jagttegnet er
anledningen, men det er de tidlige morgener, stilheden, solopgangen og disen
over markerne der er pointen — og en tur uden nedlagt vildt tæller lige så
meget. Plus fugle, planter og årstidernes skiften.

Jagttegnet står bevidst som prosa og ikke som et kort i "Licenser"-sektionen
endnu: der mangler årstallet, og en licens med en tom dato ser værre ud end
ingen dato.

llms.txt og cv.txt får én linje hver, så den maskinlæsbare profil ikke
modsiger den menneskelige — "Spørg mit CV" bygger netop på de to filer.
Riflen er med vilje ikke nævnt nogen steder: sitet oplyser allerede by og
linker til LinkedIn, og våbenejerskab hører ikke hjemme sammen med det.

Claude-Session: https://claude.ai/code/session_0198n4owY35jQpwht1wCGzfh
2026-09-22 18:35:00 +02:00
root b816ceb55a content: radioamatør OZ0AGW flettet ind i profilen
Asger bestod radioamatørprøven lørdag den 18. maj 2024 og har B-licens med
kaldesignalet OZ0AGW. Det står nu de steder profilen faktisk læses fra — både
af mennesker og af maskiner — i stedet for som en løsrevet notits:

- /cv: ny "Licenser"-sektion (licens, kaldesignal, prøvedato) og en linje under
  Interesser, der binder radioen sammen med resten af profilen — protokoller og
  infrastruktur, bare uden kabler.
- Forsiden: hero-teksten nævner det som en del af fritiden, og der er en ny
  FAQ ("Er Asger Weirsøe radioamatør?") med dato og kaldesignal, så både
  FAQPage-schemaet og en LLM kan citere svaret ordret.
- seo.ts: Person får schema.org/callSign = OZ0AGW — en entydig identifikator på
  linje med sameAs-profilerne, så opslag på kaldesignalet peger på personen.
  hasCredential bliver et array (grad + licens med dateCreated 2024-05-18), og
  knowsAbout/description udvides tilsvarende.
- llms.txt og cv.txt (curl-versionen): faktalinje, ekspertise-punkt, FAQ-svar og
  kaldesignal i hovedet. Chat-proxyen på /chat henter netop de to filer ved
  opstart, så "Spørg mit CV" kan svare på det efter en genstart.

Claude-Session: https://claude.ai/code/session_0198n4owY35jQpwht1wCGzfh
2026-09-22 17:40:00 +02:00
Asger Geel Weirsøe 6b0cf3483a seo: peg tilbage på GitHub i footer og sameAs
Build & Deploy / deploy (push) Successful in 2m26s
GitHub-profilen linker til asger.weirsøe.dk med rel="me", men sitet pegede
ikke tilbage — så rel="me"-parringen var kun halv, og GitHub manglede i
Person.sameAs. Begge dele er entitetssignaler, ikke autoritet: linket på
GitHub er nofollow, så det her flytter ikke rankings, det knytter bare
profilen til personen.

Claude-Session: https://claude.ai/code/session_0198n4owY35jQpwht1wCGzfh
2026-09-10 20:22:00 +02:00
Asger Geel Weirsøe fc7ca339a1 seo: én kanonisk URL-form — uden afsluttende skråstreg
Build & Deploy / deploy (push) Successful in 1m43s
Google kendte 41 af sitemapets 44 URL'er som "Webadressen er ikke kendt af
Google". Årsagen var at siden fandtes i to former: de interne links peger alle
på no-slash (/blog, /cv, /tags/proxmox), mens sitemap og <link rel="canonical">
brugte skråstreg-formen. Origin serverer begge med 200 uden redirect, så
Googles linkbaserede opdagelse ramte kun det ene sæt, og sitemapets sæt blev
aldrig opdaget.

Nu peger canonical, sitemap og RSS alle på no-slash-formen, som de interne
links i forvejen brugte. lastmod slås stadig op på Astros egne ruter (som har
skråstregen) FØR URL'en strippes, så sitemapets 44 lastmod-datoer er uændrede.

Claude-Session: https://claude.ai/code/session_0198n4owY35jQpwht1wCGzfh
2026-09-10 20:15:00 +02:00
Asger Geel Weirsøe 034e5e3312 seo: præcis sitemap-lastmod, IndexNow-ping ved deploy og favicon.ico
Build & Deploy / deploy (push) Successful in 2m19s
Fire ugers adgangslog (81k requests) viser at ægte Googlebot kun hentede robots.txt,
favicon og et par billeder — plus én enkelt HTML-side i hele perioden. Intet af det her
løser dét (kun indgående links gør), men det fjerner de undskyldninger vi selv havde
lagt ud.

- Sitemappet havde ingen lastmod overhovedet. Nu udleder astro.config.mjs den pr. side:
  statiske sider fra deres sidste commit, blogindlæg fra updated/date i frontmatter,
  og oversigts-/tagsider fra det nyeste indlæg de viser. Kan en dato ikke fastslås
  præcist, udelades lastmod helt — en forkert dato er værre end ingen, fordi Google
  holder op med at stole på feltet.
- Det kræver rigtig git-historik, så checkout kører nu fetch-depth: 0 (default shallow
  ville give alle filer samme dato).
- Nyt deploy-step pinger IndexNow med de sider dette push faktisk ændrede — udregnet af
  scripts/indexnow.mjs ud fra diffen, ikke hele sitemappet, da gentagne fuld-lister er
  støj. Nøglefilen lå allerede i public/, men blev aldrig brugt. Hjælper kun Bing/Yandex;
  Google understøtter ikke IndexNow. continue-on-error, så det aldrig vælter et deploy.
- /favicon.ico gav 404. Tilføjet som rigtig 3-størrelses ICO (16/32/48) genereret fra
  favicon.svg med samme baggrund som de øvrige ikoner.

Claude-Session: https://claude.ai/code/session_018oXJWTRxTYdcV9Kw6M7e5J
2026-08-09 09:15:38 +02:00
Asger Geel Weirsøe 6c2c7588f8 content(profiler): mapping mod Nemhandelsregistret — alle 38 danske profiler + registerkategorier
Build & Deploy / deploy (push) Successful in 2m5s
Siden viste 12 af de OIOUBL-profiler man faktisk kan vælge i Nemhandelsregistrets
profil-dropdown. Nu er alle med, i registrets egen rækkefølge og under registrets egne
gruppenavne ("Profiler for: ..."), så man kan slå direkte op mellem det man tilmelder sig
og hvilke dokumenttyper der så ligger i pakken.

- EProfile får valgfri `kategori` = registrets gruppeoverskrift; ny `kategorier`-eksport.
- 26 nye danske profiler: hele Catalogue-familien (CatBas/CatSim/CatExt/CatAdv/CatPriUpd
  + R-varianter), PayBas/PayBasR (Statement), OrdSel- og OrdAdv-varianterne,
  Reference-UtilityR, TecRes, NES1/2/7/8 og cenbii bii30 (DespatchAdvice).
- Registerprofilerne OrdRes-1.0 og BilSimReminderOnly-1.0 er med, mærket som "single"
  og henvist til registret — de står ikke i G26 v1.3.
- Dokumentlisterne er rettet til efter G26 v1.3 tabel 1-3: BilSim manglede
  ApplicationResponse (kun ved afvisning), OrdAdv-BilSim manglede OrderResponseSimple.
  "*" markerer nu at ApplicationResponse i ordreprofilerne kun bruges til afvisning.
- UI: registerkategori vises som badge og som egen filterrække (AND med standard-filteret),
  og indgår i fritekstsøgningen.

Claude-Session: https://claude.ai/code/session_018oXJWTRxTYdcV9Kw6M7e5J
2026-08-07 18:47:00 +02:00
Asger Geel Weirsøe 4ff1157978 feat(nemhandel): live Peppol-netværks-kort — slår CVR op i Peppol Directory (/api/peppol/smp) og viser modtagne dokumenttyper
Build & Deploy / deploy (push) Successful in 1m50s
2026-06-16 23:13:46 +02:00
Asger Geel Weirsøe e67045b2bf feat(ubl): UBL-profil-detektor + identifikator-afkoder (/ubl, client-side) + /profiler ?q=-prefill + ⌘K
Build & Deploy / deploy (push) Successful in 2m9s
2026-06-16 19:20:40 +02:00
Asger Geel Weirsøe b6aca5e245 content(profiler): fjern konkurrent-referencer (Sproom) — vendor-neutrale bemærkninger + kilder
Build & Deploy / deploy (push) Successful in 2m41s
2026-06-16 19:05:13 +02:00
Asger Geel Weirsøe f8b607c772 fix(profiler): verificér mod officielle kilder — kildelink pr. række, EU PINT v1.0.1, BIS 4.0 ikke-udgivet-status
Build & Deploy / deploy (push) Successful in 1m40s
2026-06-16 16:26:56 +02:00
Asger Geel Weirsøe c98167a3b4 fix(profiler): danske bogstaver (æøå) i profil-prosa — tekniske id/URN urørt
Build & Deploy / deploy (push) Successful in 1m48s
2026-06-15 18:41:15 +02:00
Asger Geel Weirsøe 0da4aec8b9 fix(header): skjul tekst-nav paa mobil (palette/lup = mobil-nav) — retter vandret overloeb
Build & Deploy / deploy (push) Successful in 1m59s
2026-06-15 18:29:16 +02:00
Asger Geel Weirsøe d51ecf61da feat(palette): synlig søge-/⌘K-knap i header (mobil-adgang til paletten + alle sider/værktøjer)
Build & Deploy / deploy (push) Successful in 1m39s
2026-06-15 18:23:58 +02:00
Asger Geel Weirsøe a4531482d1 feat(profiler): søgbart opslagsværktøj over Nemhandel OIOUBL + Peppol BIS/PINT-profiler (/profiler) + ⌘K-entry
Build & Deploy / deploy (push) Successful in 1m45s
2026-06-15 16:28:38 +02:00
Asger Geel Weirsøe 72ac103d63 feat(theme): adopt shared weirsoe-theme via submodule + Tailwind token adapter — dedupe tokens/toggle/prose/glow, keep Tailwind layer
Build & Deploy / deploy (push) Successful in 1m52s
2026-06-15 13:44:34 +02:00
Asger Geel Weirsøe da43c1bdc0 feat(analytics): enhedsmodel-kohorte som Matomo custom dimension (2) 2026-06-15 13:44:34 +02:00
Asger Geel Weirsøe 2b8e0506d9 blog: omskriv velkomst i flow-stil + forklar bagdaterede indlaeg
Build & Deploy / deploy (push) Successful in 2m22s
2026-06-13 09:56:17 +02:00
Asger Geel WeirsøeandClaude Opus 4.8 b9b0f50003 blog: er mit homelab egentlig opdateret?
Build & Deploy / deploy (push) Successful in 2m12s
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-13 08:15:57 +02:00
Asger Geel WeirsøeandClaude Opus 4.8 625b1eb9a9 css: responsive tabeller på blog (scroll i egen kolonne, ikke hele siden) + bryd lange ord
Build & Deploy / deploy (push) Successful in 1m42s
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-12 18:05:00 +02:00
Asger Geel WeirsøeandClaude Opus 4.8 3d1e45c86c cookies: popup-banner (implicit samtykke, huskes i localStorage) + /cookies-side + footer-link
Build & Deploy / deploy (push) Successful in 1m53s
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-12 17:52:00 +02:00
Asger Geel WeirsøeandClaude Opus 4.8 ad42b9c7a0 analytics: visitor-cookie levetid 1 år (setVisitorCookieTimeout)
Build & Deploy / deploy (push) Successful in 2m4s
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-12 17:38:00 +02:00
Asger Geel WeirsøeandClaude Opus 4.8 e10815f3d7 analytics: læg Matomo-snippet (site 2) direkte i Astro-head — minify dropper </head> som NPMplus-injektionen afhang af
Build & Deploy / deploy (push) Successful in 1m59s
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-12 17:24:00 +02:00
Asger Geel WeirsøeandClaude Opus 4.8 898c37634b nemhandel: omdøb CVR-opslag fra Peppol til NemHandel-opslag (ny rute /nemhandel + /api/nemhandel, redirect fra /peppol)
Build & Deploy / deploy (push) Successful in 2m5s
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-12 17:12:00 +02:00
Asger Geel WeirsøeandClaude Opus 4.8 24492fae93 chat: linkificér svar (escape-then-link) + ret kontakt-email til asger@weirsoe.dk overalt
Build & Deploy / deploy (push) Successful in 2m9s
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-12 17:06:00 +02:00
Asger Geel WeirsøeandClaude Opus 4.8 1aa918c13d forside: Mere end et CV — links til peppol/chat/status/now + palette-hint
Build & Deploy / deploy (push) Successful in 2m5s
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-11 21:59:59 +02:00
Asger Geel WeirsøeandClaude Opus 4.8 f4685a87f8 side: /chat — spoerg-mit-cv AI (frontend; backend /api/chat)
Build & Deploy / deploy (push) Successful in 1m42s
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-11 21:59:57 +02:00
Asger Geel WeirsøeandClaude Opus 4.8 8f7741db20 side: /status — live homelab-status (embed af self-hosted uptime kuma)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-11 21:59:55 +02:00
Asger Geel WeirsøeandClaude Opus 4.8 c21974a3ce side: /now m. git-aktivitets-heatmap fra egen Gitea (build-time)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-11 21:59:51 +02:00
Asger Geel WeirsøeandClaude Opus 4.8 02dacf32da vaerktoej: /peppol — slaa CVR op i NemHandel/Peppol (profilpakker)
Build & Deploy / deploy (push) Successful in 1m30s
Frontend til det offentlige opslags-API. Viser registreringsstatus, netvaerk og profilpakker for et CVR.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-11 21:59:50 +02:00