From e58a11c2b4fb27e5257d9c15f0debfcde5c65258 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Asger=20Geel=20Weirs=C3=B8e?= Date: Sun, 1 Nov 2026 16:47:08 +0100 Subject: [PATCH] feat: flyt sitet fra Astro til Zola MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- .gitea/workflows/deploy.yml | 28 +- .gitignore | 10 +- README.md | 13 +- assets/inter.css | 62 + assets/site.css | 83 + astro.config.mjs | 175 - content/_index.md | 5 + content/blog/_index.md | 7 + .../blog/ah-fail-skaermlaas-rust/index.md | 6 +- .../blog/authentik-oidc-faldgruber/index.md | 6 +- .../index.md | 6 +- .../blog/er-mit-homelab-opdateret/index.md | 6 +- .../index.md | 6 +- .../blog/npm-til-npmplus/index.md | 6 +- .../blog/proxmox-hjemmelab/index.md | 6 +- .../blog/proxmox-lxc-fejl/index.md | 6 +- .../blog/velkommen/index.md | 6 +- content/chat.md | 8 + content/colophon.md | 5 + content/cookies.md | 7 + content/cv.md | 7 + content/en/_index.md | 8 + content/en/chat.md | 9 + content/en/cv.md | 8 + content/en/projects/_index.md | 10 + .../en => content/en/projects}/ahfail.md | 16 +- .../en/projects}/pi3-smart-workspace.md | 16 +- .../en => content/en/projects}/ubl-tools.md | 16 +- content/nemhandel.md | 5 + content/now.md | 5 + content/peppol.md | 4 + content/profiler.md | 5 + content/projekter/_index.md | 8 + {src/content => content}/projekter/ahfail.md | 15 +- .../projekter/pi3-smart-workspace.md | 15 +- .../projekter/ubl-tools.md | 15 +- content/status.md | 7 + content/ubl.md | 5 + content/uses.md | 5 + data/colophon.json | 48 + data/cv-en.json | 159 + data/cv.json | 176 + data/forside-en.json | 56 + data/forside.json | 70 + data/now.json | 7 + data/profiles.json | 961 +++++ data/seo.json | 144 + data/uses.json | 67 + package.json | 21 - public/.well-known/security.txt | 5 - scripts/build.sh | 8 + scripts/godkendelse.py | 61 + scripts/hent-vaerktoej.sh | 21 + scripts/indexnow.mjs | 90 - scripts/indexnow.py | 77 + scripts/omstempl.py | 103 + scripts/postbuild.py | 157 + scripts/prebuild.py | 75 + scripts/sw.js | 24 + scripts/verify-approvals.mjs | 79 - scripts/verify-approvals.py | 65 + src/assets/asger.png | Bin 867172 -> 0 bytes src/components/Head.astro | 117 - src/components/PostCard.astro | 19 - src/components/ProjektSide.astro | 78 - src/consts.ts | 43 - src/content.config.ts | 41 - src/data/profiles.ts | 546 --- src/layouts/Base.astro | 94 - src/pages/404.astro | 10 - src/pages/blog/[...slug].astro | 142 - src/pages/blog/index.astro | 29 - src/pages/chat.astro | 15 - src/pages/colophon.astro | 49 - src/pages/cookies.astro | 43 - src/pages/cv.astro | 251 -- src/pages/en/chat.astro | 15 - src/pages/en/cv.astro | 181 - src/pages/en/index.astro | 100 - src/pages/en/projects/[slug].astro | 17 - src/pages/en/projects/index.astro | 31 - src/pages/index.astro | 128 - src/pages/nemhandel.astro | 115 - src/pages/now.astro | 80 - src/pages/profiler.astro | 191 - src/pages/projekter/[slug].astro | 14 - src/pages/projekter/index.astro | 69 - src/pages/rss.xml.js | 23 - src/pages/search-index.json.js | 43 - src/pages/status.astro | 19 - src/pages/tags/[tag].astro | 24 - src/pages/tags/index.astro | 20 - src/pages/ubl.astro | 198 - src/pages/uses.astro | 54 - src/seo.ts | 178 - src/styles/global.css | 15 - static/.well-known/security.txt | 5 + {public => static}/apple-touch-icon.png | Bin {public => static}/asger.png | Bin .../b68b31655cb9c1a662d53905dd0b1b06.txt | 0 {public => static}/cv.txt | 2 +- {public => static}/favicon.ico | Bin {public => static}/favicon.svg | 0 static/fonts/LICENSE-inter.txt | 93 + .../inter-cyrillic-ext-wght-normal.woff2 | Bin 0 -> 25960 bytes static/fonts/inter-cyrillic-wght-normal.woff2 | Bin 0 -> 18748 bytes .../fonts/inter-greek-ext-wght-normal.woff2 | Bin 0 -> 11232 bytes static/fonts/inter-greek-wght-normal.woff2 | Bin 0 -> 18996 bytes .../fonts/inter-latin-ext-wght-normal.woff2 | Bin 0 -> 85068 bytes static/fonts/inter-latin-wght-normal.woff2 | Bin 0 -> 48256 bytes .../fonts/inter-vietnamese-wght-normal.woff2 | Bin 0 -> 10252 bytes {public => static}/humans.txt | 0 {public => static}/icon-192.png | Bin {public => static}/icon-512.png | Bin static/js/mermaid.min.js | 3636 +++++++++++++++++ {public => static}/llms.txt | 10 +- {public => static}/og.png | Bin static/registerSW.js | 1 + {public => static}/robots.txt | 2 +- {public => static}/site.webmanifest | 0 templates/404.html | 8 + templates/base.html | 112 + templates/components.html | 22 + templates/indlaeg.html | 94 + templates/partials/banner.html | 10 + .../partials/chat.html | 24 +- .../partials/cookie.html | 15 +- .../partials/footer.html | 18 +- .../partials/header.html | 32 +- templates/partials/konami.html | 19 + templates/partials/matomo.html | 38 + .../partials/palette.html | 49 +- templates/partials/portraet.html | 3 + templates/partials/theme.html | 17 + templates/projekt.html | 45 + templates/rss.xml | 2 + templates/search-index.json | 4 + templates/sider/blog.html | 17 + templates/sider/chat-en.html | 11 + templates/sider/chat.html | 11 + templates/sider/colophon.html | 34 + templates/sider/cookies.html | 41 + templates/sider/cv-en.html | 142 + templates/sider/cv.html | 193 + templates/sider/forside-en.html | 59 + templates/sider/forside.html | 80 + templates/sider/nemhandel.html | 113 + templates/sider/now.html | 32 + .../sider/peppol.html | 5 +- templates/sider/profiler.html | 156 + templates/sider/projects-en.html | 21 + templates/sider/projekter.html | 35 + templates/sider/status.html | 16 + templates/sider/ubl.html | 184 + templates/sider/uses.html | 23 + templates/tags/list.html | 11 + templates/tags/single.html | 8 + tsconfig.json | 5 - zola.toml | 45 + 159 files changed, 8031 insertions(+), 3574 deletions(-) create mode 100644 assets/inter.css create mode 100644 assets/site.css delete mode 100644 astro.config.mjs create mode 100644 content/_index.md create mode 100644 content/blog/_index.md rename src/content/blog/ah-fail-skaermlaas-rust.md => content/blog/ah-fail-skaermlaas-rust/index.md (97%) rename src/content/blog/authentik-oidc-faldgruber.md => content/blog/authentik-oidc-faldgruber/index.md (96%) rename src/content/blog/authentik-reverse-proxy-forward-auth.md => content/blog/authentik-reverse-proxy-forward-auth/index.md (95%) rename src/content/blog/er-mit-homelab-opdateret.md => content/blog/er-mit-homelab-opdateret/index.md (97%) rename src/content/blog/inject-javascript-npmplus-sub-filter.md => content/blog/inject-javascript-npmplus-sub-filter/index.md (97%) rename src/content/blog/npm-til-npmplus.md => content/blog/npm-til-npmplus/index.md (95%) rename src/content/blog/proxmox-hjemmelab.md => content/blog/proxmox-hjemmelab/index.md (84%) rename src/content/blog/proxmox-lxc-fejl.md => content/blog/proxmox-lxc-fejl/index.md (95%) rename src/content/blog/velkommen.md => content/blog/velkommen/index.md (90%) create mode 100644 content/chat.md create mode 100644 content/colophon.md create mode 100644 content/cookies.md create mode 100644 content/cv.md create mode 100644 content/en/_index.md create mode 100644 content/en/chat.md create mode 100644 content/en/cv.md create mode 100644 content/en/projects/_index.md rename {src/content/projekter/en => content/en/projects}/ahfail.md (90%) rename {src/content/projekter/en => content/en/projects}/pi3-smart-workspace.md (87%) rename {src/content/projekter/en => content/en/projects}/ubl-tools.md (90%) create mode 100644 content/nemhandel.md create mode 100644 content/now.md create mode 100644 content/peppol.md create mode 100644 content/profiler.md create mode 100644 content/projekter/_index.md rename {src/content => content}/projekter/ahfail.md (90%) rename {src/content => content}/projekter/pi3-smart-workspace.md (87%) rename {src/content => content}/projekter/ubl-tools.md (90%) create mode 100644 content/status.md create mode 100644 content/ubl.md create mode 100644 content/uses.md create mode 100644 data/colophon.json create mode 100644 data/cv-en.json create mode 100644 data/cv.json create mode 100644 data/forside-en.json create mode 100644 data/forside.json create mode 100644 data/now.json create mode 100644 data/profiles.json create mode 100644 data/seo.json create mode 100644 data/uses.json delete mode 100644 package.json delete mode 100644 public/.well-known/security.txt create mode 100755 scripts/build.sh create mode 100755 scripts/godkendelse.py create mode 100755 scripts/hent-vaerktoej.sh delete mode 100644 scripts/indexnow.mjs create mode 100755 scripts/indexnow.py create mode 100755 scripts/omstempl.py create mode 100755 scripts/postbuild.py create mode 100755 scripts/prebuild.py create mode 100644 scripts/sw.js delete mode 100644 scripts/verify-approvals.mjs create mode 100755 scripts/verify-approvals.py delete mode 100644 src/assets/asger.png delete mode 100644 src/components/Head.astro delete mode 100644 src/components/PostCard.astro delete mode 100644 src/components/ProjektSide.astro delete mode 100644 src/consts.ts delete mode 100644 src/content.config.ts delete mode 100644 src/data/profiles.ts delete mode 100644 src/layouts/Base.astro delete mode 100644 src/pages/404.astro delete mode 100644 src/pages/blog/[...slug].astro delete mode 100644 src/pages/blog/index.astro delete mode 100644 src/pages/chat.astro delete mode 100644 src/pages/colophon.astro delete mode 100644 src/pages/cookies.astro delete mode 100644 src/pages/cv.astro delete mode 100644 src/pages/en/chat.astro delete mode 100644 src/pages/en/cv.astro delete mode 100644 src/pages/en/index.astro delete mode 100644 src/pages/en/projects/[slug].astro delete mode 100644 src/pages/en/projects/index.astro delete mode 100644 src/pages/index.astro delete mode 100644 src/pages/nemhandel.astro delete mode 100644 src/pages/now.astro delete mode 100644 src/pages/profiler.astro delete mode 100644 src/pages/projekter/[slug].astro delete mode 100644 src/pages/projekter/index.astro delete mode 100644 src/pages/rss.xml.js delete mode 100644 src/pages/search-index.json.js delete mode 100644 src/pages/status.astro delete mode 100644 src/pages/tags/[tag].astro delete mode 100644 src/pages/tags/index.astro delete mode 100644 src/pages/ubl.astro delete mode 100644 src/pages/uses.astro delete mode 100644 src/seo.ts delete mode 100644 src/styles/global.css create mode 100644 static/.well-known/security.txt rename {public => static}/apple-touch-icon.png (100%) rename {public => static}/asger.png (100%) rename {public => static}/b68b31655cb9c1a662d53905dd0b1b06.txt (100%) rename {public => static}/cv.txt (98%) rename {public => static}/favicon.ico (100%) rename {public => static}/favicon.svg (100%) create mode 100644 static/fonts/LICENSE-inter.txt create mode 100644 static/fonts/inter-cyrillic-ext-wght-normal.woff2 create mode 100644 static/fonts/inter-cyrillic-wght-normal.woff2 create mode 100644 static/fonts/inter-greek-ext-wght-normal.woff2 create mode 100644 static/fonts/inter-greek-wght-normal.woff2 create mode 100644 static/fonts/inter-latin-ext-wght-normal.woff2 create mode 100644 static/fonts/inter-latin-wght-normal.woff2 create mode 100644 static/fonts/inter-vietnamese-wght-normal.woff2 rename {public => static}/humans.txt (100%) rename {public => static}/icon-192.png (100%) rename {public => static}/icon-512.png (100%) create mode 100644 static/js/mermaid.min.js rename {public => static}/llms.txt (91%) rename {public => static}/og.png (100%) create mode 100644 static/registerSW.js rename {public => static}/robots.txt (96%) rename {public => static}/site.webmanifest (100%) create mode 100644 templates/404.html create mode 100644 templates/base.html create mode 100644 templates/components.html create mode 100644 templates/indlaeg.html create mode 100644 templates/partials/banner.html rename src/components/Chat.astro => templates/partials/chat.html (69%) rename src/components/CookieBanner.astro => templates/partials/cookie.html (56%) rename src/components/Footer.astro => templates/partials/footer.html (51%) rename src/components/Header.astro => templates/partials/header.html (64%) create mode 100644 templates/partials/konami.html create mode 100644 templates/partials/matomo.html rename src/components/Palette.astro => templates/partials/palette.html (68%) create mode 100644 templates/partials/portraet.html create mode 100644 templates/partials/theme.html create mode 100644 templates/projekt.html create mode 100644 templates/rss.xml create mode 100644 templates/search-index.json create mode 100644 templates/sider/blog.html create mode 100644 templates/sider/chat-en.html create mode 100644 templates/sider/chat.html create mode 100644 templates/sider/colophon.html create mode 100644 templates/sider/cookies.html create mode 100644 templates/sider/cv-en.html create mode 100644 templates/sider/cv.html create mode 100644 templates/sider/forside-en.html create mode 100644 templates/sider/forside.html create mode 100644 templates/sider/nemhandel.html create mode 100644 templates/sider/now.html rename src/pages/peppol.astro => templates/sider/peppol.html (69%) create mode 100644 templates/sider/profiler.html create mode 100644 templates/sider/projects-en.html create mode 100644 templates/sider/projekter.html create mode 100644 templates/sider/status.html create mode 100644 templates/sider/ubl.html create mode 100644 templates/sider/uses.html create mode 100644 templates/tags/list.html create mode 100644 templates/tags/single.html delete mode 100644 tsconfig.json create mode 100644 zola.toml diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index f9bbf79..2c5564d 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -15,31 +15,23 @@ jobs: # Fuld historik til sitemap-lastmod og IndexNow fetch-depth: 0 - - name: Setup Node - uses: actions/setup-node@v4 + - uses: actions/setup-python@v5 with: - node-version: 22 - - # Runneren udelader optional deps, så sharp-binæren installeres eksplicit - - name: Install dependencies - env: - npm_config_omit: "" - npm_config_optional: "true" - run: | - npm install --include=optional - npm install --include=optional --os=linux --libc=glibc --cpu=x64 sharp - node -e "console.log('sharp', require('sharp').versions.sharp)" + python-version: "3.12" - name: Verify blog approvals env: PUBLISH_KEY: ${{ secrets.PUBLISH_KEY }} - run: node scripts/verify-approvals.mjs + run: python3 scripts/verify-approvals.py + + - name: Fetch zola and tailwind + run: sh scripts/hent-vaerktoej.sh - name: Build site - run: npm run build + run: sh scripts/build.sh # tar over SSH med atomisk swap (runner-imaget har ikke rsync) - - name: Deploy dist/ over SSH + - name: Deploy public/ over SSH env: DEPLOY_HOST: ${{ secrets.DEPLOY_HOST }} DEPLOY_USER: ${{ vars.DEPLOY_USER }} @@ -55,7 +47,7 @@ jobs: SSH="ssh -i $HOME/.ssh/deploy_key -o StrictHostKeyChecking=accept-new" ssh-keyscan -t ed25519 "$DEPLOY_HOST" >> ~/.ssh/known_hosts 2>/dev/null || true $SSH "$DEPLOY_USER@$DEPLOY_HOST" "rm -rf $DEPLOY_PATH.new && mkdir -p $DEPLOY_PATH.new" - tar -C dist -czf - . | $SSH "$DEPLOY_USER@$DEPLOY_HOST" \ + tar -C public -czf - . | $SSH "$DEPLOY_USER@$DEPLOY_HOST" \ "tar -C $DEPLOY_PATH.new -xzf - \ && rm -rf $DEPLOY_PATH.old \ && { mv $DEPLOY_PATH $DEPLOY_PATH.old 2>/dev/null || true; } \ @@ -66,4 +58,4 @@ jobs: continue-on-error: true env: GITHUB_EVENT_BEFORE: ${{ github.event.before }} - run: node scripts/indexnow.mjs + run: python3 scripts/indexnow.py diff --git a/.gitignore b/.gitignore index 02da9ba..79d635d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,7 @@ -node_modules/ -dist/ -.astro/ .DS_Store -bun.lock* +public/ +static/css/ +data/gitea.json +static/processed_images/ +.tools/ +__pycache__/ diff --git a/README.md b/README.md index 123b9ea..36b4bb5 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,14 @@ # asger.weirsoe.dk -Personlig side (CV + blog) bygget med Astro + Bun + Tailwind. Statisk output, selvhostet bag nginx, deployet via Gitea Actions. +Personlig side (CV + blog) bygget med Zola + Tailwind. Statisk output, selvhostet bag nginx, deployet via Gitea Actions. Ingen Node i byggekæden. ## Udvikling ``` -bun install -bun run dev # http://localhost:4321 -bun run build # -> dist/ +sh scripts/hent-vaerktoej.sh # zola og tailwindcss til .tools/ +sh scripts/build.sh # -> public/ ``` -## Nyt blogindlæg -Læg en `.md`-fil i `src/content/blog/` med frontmatter (title, date, tags, description, draft). Push til main → bygges og deployes automatisk. +`build.sh` henter repos og heatmap fra Gitea (`scripts/prebuild.py`), bygger CSS, kører `zola build` og efterbehandler (`scripts/postbuild.py`: sitemap, service worker). `PW_PREVIEW=1` bygger preview'et under `/udkast`. + +## Blogindlæg +Indlæg ligger som `content/blog//index.md` med billederne ved siden af, men de lægges ikke her i hånden. Et indlæg skrives i det private repo agw/pw-drafts og udgives med "Godkend og udgiv", som stempler det og committer det hertil. CI (`scripts/verify-approvals.py`) nægter at bygge et indlæg uden gyldigt stempel. diff --git a/assets/inter.css b/assets/inter.css new file mode 100644 index 0000000..970348a --- /dev/null +++ b/assets/inter.css @@ -0,0 +1,62 @@ +@font-face { + font-family: 'Inter Variable'; + font-style: normal; + font-display: swap; + font-weight: 100 900; + src: url(../fonts/inter-cyrillic-ext-wght-normal.woff2) format('woff2-variations'); + unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F; +} + +@font-face { + font-family: 'Inter Variable'; + font-style: normal; + font-display: swap; + font-weight: 100 900; + src: url(../fonts/inter-cyrillic-wght-normal.woff2) format('woff2-variations'); + unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; +} + +@font-face { + font-family: 'Inter Variable'; + font-style: normal; + font-display: swap; + font-weight: 100 900; + src: url(../fonts/inter-greek-ext-wght-normal.woff2) format('woff2-variations'); + unicode-range: U+1F00-1FFF; +} + +@font-face { + font-family: 'Inter Variable'; + font-style: normal; + font-display: swap; + font-weight: 100 900; + src: url(../fonts/inter-greek-wght-normal.woff2) format('woff2-variations'); + unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF; +} + +@font-face { + font-family: 'Inter Variable'; + font-style: normal; + font-display: swap; + font-weight: 100 900; + src: url(../fonts/inter-vietnamese-wght-normal.woff2) format('woff2-variations'); + unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB; +} + +@font-face { + font-family: 'Inter Variable'; + font-style: normal; + font-display: swap; + font-weight: 100 900; + src: url(../fonts/inter-latin-ext-wght-normal.woff2) format('woff2-variations'); + unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; +} + +@font-face { + font-family: 'Inter Variable'; + font-style: normal; + font-display: swap; + font-weight: 100 900; + src: url(../fonts/inter-latin-wght-normal.woff2) format('woff2-variations'); + unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; +} diff --git a/assets/site.css b/assets/site.css new file mode 100644 index 0000000..e62372b --- /dev/null +++ b/assets/site.css @@ -0,0 +1,83 @@ +/* Bygges med Tailwind standalone-CLI til static/css/site.css (se scripts/build.sh). */ +@import "tailwindcss" source(none); +@source "../templates"; +@source "../content"; +@import "./inter.css"; + +/* Fælles tema (Weircon-wind) */ +@import "../vendor/weirsoe-theme/adapters/tailwind.css"; +@import "../vendor/weirsoe-theme/weirsoe-theme.css" layer(components); + +@theme { + --font-sans: "Inter Variable", ui-sans-serif, system-ui, -apple-system, sans-serif; +} +html[data-theme="terminal"] { + --font-sans: ui-monospace, "Cascadia Code", "JetBrains Mono", Menlo, Consolas, monospace; +} +:root { --wt-font-sans: var(--font-sans); } +@layer base { a { color: inherit; } } + +/* Samme fade mellem sider som før */ +@view-transition { navigation: auto; } + +/* Kommandopalette */ +.palette-overlay { + position: fixed; inset: 0; z-index: 100; + background: color-mix(in srgb, var(--color-bg) 60%, transparent); + backdrop-filter: blur(4px); + display: flex; align-items: flex-start; justify-content: center; padding-top: 15vh; +} +.palette-box { + width: min(36rem, calc(100vw - 2rem)); + border: 1px solid var(--color-border); border-radius: 1rem; + background: var(--color-surface); box-shadow: 0 24px 64px rgb(0 0 0 / .45); + overflow: hidden; +} +.palette-input { + width: 100%; padding: .9rem 1.1rem; font-size: 1rem; + background: transparent; color: var(--color-text); border: 0; outline: none; + border-bottom: 1px solid var(--color-border); +} +.palette-list { max-height: 50vh; overflow-y: auto; padding: .35rem; } +.palette-item { + display: flex; justify-content: space-between; align-items: center; gap: 1rem; + padding: .55rem .8rem; border-radius: .6rem; cursor: pointer; font-size: .925rem; +} +.palette-item.is-selected, .palette-item:hover:not(.palette-empty) { background: var(--color-surface-2); } +.palette-empty { color: var(--color-muted); cursor: default; } +.palette-badge { + font-size: .7rem; color: var(--color-muted); + border: 1px solid var(--color-border); border-radius: 999px; padding: .05rem .5rem; +} +.palette-hint { + padding: .5rem 1.1rem; font-size: .72rem; color: var(--color-muted); + border-top: 1px solid var(--color-border); +} + +/* Kodeblokke */ +.prose pre { position: relative; } +.giallo-l { display: inline-block; min-height: 1lh; width: 100%; } +.copy-btn { + position: absolute; top: .45rem; right: .45rem; + font-size: .68rem; line-height: 1; padding: .35rem .6rem; + color: var(--color-muted); background: var(--color-surface-2); + border: 1px solid var(--color-border); border-radius: .5rem; + opacity: 0; transition: opacity .15s ease; cursor: pointer; +} +.prose pre:hover .copy-btn, .copy-btn:focus-visible { opacity: 1; } +.copy-btn:hover { color: var(--color-text); } +.mermaid-diagram { margin: 1.5rem 0; overflow-x: auto; } +.mermaid-diagram svg { max-width: 100%; height: auto; } + +/* /now */ +.heatmap { display: flex; gap: 3px; width: max-content; } +.hm-col { display: flex; flex-direction: column; gap: 3px; } +.hm-cell { width: 11px; height: 11px; border-radius: 2.5px; background: var(--color-surface-2); } +.hm-1 { background: color-mix(in srgb, var(--color-accent) 30%, var(--color-surface-2)); } +.hm-2 { background: color-mix(in srgb, var(--color-accent) 55%, var(--color-surface-2)); } +.hm-3 { background: color-mix(in srgb, var(--color-accent) 80%, var(--color-surface-2)); } +.hm-4 { background: var(--color-accent); } + +/* /profiler */ +.copy { transition: color 0.15s; } +.copy:hover { color: var(--color-accent); text-decoration: underline; text-underline-offset: 3px; } diff --git a/astro.config.mjs b/astro.config.mjs deleted file mode 100644 index 105fb99..0000000 --- a/astro.config.mjs +++ /dev/null @@ -1,175 +0,0 @@ -import { defineConfig } from 'astro/config'; -import sitemap from '@astrojs/sitemap'; -import AstroPWA from '@vite-pwa/astro'; -import tailwindcss from '@tailwindcss/vite'; -import { execFileSync } from 'node:child_process'; -import fs from 'node:fs'; -import path from 'node:path'; -import { fileURLToPath } from 'node:url'; - -const ROOT = path.dirname(fileURLToPath(import.meta.url)); - -// lastmod til sitemap: sidste commit for statiske sider, frontmatter for blogindlæg. -// Kræver fuld git-historik (fetch-depth: 0); ellers ingen lastmod. - -const gitLastModified = (file) => { - try { - const out = execFileSync('git', ['log', '-1', '--format=%cI', '--', file], { - cwd: ROOT, - encoding: 'utf8', - stdio: ['ignore', 'pipe', 'ignore'], - }).trim(); - return out || null; - } catch { - return null; - } -}; - -const gitHistoryIsUsable = (() => { - try { - const n = execFileSync('git', ['rev-list', '--count', 'HEAD'], { - cwd: ROOT, - encoding: 'utf8', - stdio: ['ignore', 'pipe', 'ignore'], - }).trim(); - return Number(n) > 1; - } catch { - return false; - } -})(); - -const walk = (dir) => - fs.existsSync(dir) - ? fs.readdirSync(dir, { withFileTypes: true }).flatMap((e) => { - const p = path.join(dir, e.name); - return e.isDirectory() ? walk(p) : [p]; - }) - : []; - -// src/pages/foo.astro -> /foo/ ; src/pages/index.astro -> / ; [dynamiske] springes over -const routeForPage = (file) => { - const rel = path.relative(path.join(ROOT, 'src/pages'), file).replace(/\\/g, '/'); - if (rel.includes('[') || rel.startsWith('404.')) return null; - if (!rel.endsWith('.astro')) return null; - const noExt = rel.slice(0, -'.astro'.length); - if (noExt === 'index') return '/'; - return `/${noExt.replace(/\/index$/, '')}/`; -}; - -// Minimal frontmatter-læsning — vi skal kun bruge date/updated/tags/draft. -const readFrontmatter = (file) => { - const src = fs.readFileSync(file, 'utf8'); - const m = src.match(/^---\r?\n([\s\S]*?)\r?\n---/); - if (!m) return {}; - const fm = {}; - for (const line of m[1].split(/\r?\n/)) { - const kv = line.match(/^(\w+):\s*(.*)$/); - if (!kv) continue; - const [, k, rawv] = kv; - const v = rawv.trim().replace(/^['"]|['"]$/g, ''); - if (k === 'tags') { - const inline = v.match(/^\[(.*)\]$/); - fm.tags = inline - ? inline[1].split(',').map((t) => t.trim().replace(/^['"]|['"]$/g, '')).filter(Boolean) - : []; - } else { - fm[k] = v; - } - } - return fm; -}; - -const iso = (v) => { - const d = new Date(v); - return Number.isNaN(d.getTime()) ? null : d.toISOString(); -}; -const newest = (dates) => dates.filter(Boolean).sort().at(-1) ?? null; - -const buildLastmodMap = () => { - const map = new Map(); - if (!gitHistoryIsUsable) return map; - - for (const file of walk(path.join(ROOT, 'src/pages'))) { - const route = routeForPage(file); - if (!route) continue; - const d = gitLastModified(file); - if (d) map.set(route, d); - } - - // Blogindlæg: frontmatter er sandheden om hvornår indholdet sidst ændrede sig. - const postDates = []; - const tagDates = new Map(); - for (const file of walk(path.join(ROOT, 'src/content/blog'))) { - if (!file.endsWith('.md')) continue; - const fm = readFrontmatter(file); - if (fm.draft === 'true') continue; - const d = iso(fm.updated || fm.date); - if (!d) continue; - const slug = path.basename(file, '.md'); - map.set(`/blog/${slug}/`, d); - postDates.push(d); - for (const t of fm.tags ?? []) { - const key = t.toLowerCase(); - tagDates.set(key, newest([tagDates.get(key), d])); - } - } - - // Oversigtssider er lige så friske som det nyeste de viser. - const latest = newest(postDates); - if (latest) { - map.set('/blog/', latest); - map.set('/tags/', latest); - for (const [tag, d] of tagDates) map.set(`/tags/${tag}/`, d); - } - return map; -}; - -const lastmodByRoute = buildLastmodMap(); - -// Preview-build af udkast (PW_PREVIEW=1): hele sitet under /udkast, uden sitemap -// og service worker. Det serveres kun bag login og må aldrig ende i et index. -const PREVIEW = process.env.PW_PREVIEW === '1'; - -export default defineConfig({ - site: 'https://asger.xn--weirse-fya.dk', - ...(PREVIEW ? { base: '/udkast' } : {}), - trailingSlash: 'ignore', - integrations: PREVIEW ? [] : [ - sitemap({ - changefreq: 'weekly', - priority: 0.7, - customPages: ['https://asger.xn--weirse-fya.dk/tarballz/'], - // noindex-sider og omdirigeringer - filter: (page) => { - const p = new URL(page).pathname.replace(/\/$/, ''); - return !p.startsWith('/tags') && !p.startsWith('/peppol') - && !['/cookies', '/status', '/chat'].includes(p); - }, - serialize(item) { - const pathname = new URL(item.url).pathname; - if (pathname === '/') item.priority = 1.0; - const lastmod = lastmodByRoute.get(pathname); - if (lastmod) item.lastmod = lastmod; - // Kanonisk form uden afsluttende skråstreg (undtagen /tarballz/) - if (pathname !== '/' && pathname !== '/tarballz/') item.url = item.url.replace(/\/$/, ''); - return item; - }, - }), - AstroPWA({ - registerType: 'autoUpdate', - manifest: false, - includeManifestIcons: false, - workbox: { - globPatterns: ['**/*.{html,css,js,svg,png,woff2,xml,txt,webmanifest}'], - cleanupOutdatedCaches: true, - clientsClaim: true, - skipWaiting: true, - // Ingen fallback til forsiden, så /tarballz/ og 404 virker - navigateFallback: null, - }, - devOptions: { enabled: false }, - }), - ], - prefetch: { prefetchAll: true, defaultStrategy: 'viewport' }, - vite: { plugins: [tailwindcss()] }, -}); diff --git a/content/_index.md b/content/_index.md new file mode 100644 index 0000000..2265439 --- /dev/null +++ b/content/_index.md @@ -0,0 +1,5 @@ +--- +template: sider/forside.html +extra: + alternates: [{lang: da, path: /}, {lang: en, path: /en}] +--- diff --git a/content/blog/_index.md b/content/blog/_index.md new file mode 100644 index 0000000..c738e8d --- /dev/null +++ b/content/blog/_index.md @@ -0,0 +1,7 @@ +--- +title: "Blog" +description: "Indlæg om selvhosting, Proxmox, AI og udvikling." +template: sider/blog.html +sort_by: date +page_template: indlaeg.html +--- diff --git a/src/content/blog/ah-fail-skaermlaas-rust.md b/content/blog/ah-fail-skaermlaas-rust/index.md similarity index 97% rename from src/content/blog/ah-fail-skaermlaas-rust.md rename to content/blog/ah-fail-skaermlaas-rust/index.md index 9772b9a..7e4fedc 100644 --- a/src/content/blog/ah-fail-skaermlaas-rust.md +++ b/content/blog/ah-fail-skaermlaas-rust/index.md @@ -2,9 +2,11 @@ title: "Ah ah ah, you didn't say the magic word.. en skærmlås-prank i Rust" description: "Hvorfor jeg droppede ANSI C til fordel for Rust, og hvordan du installerer ah-fail på Wayland, X11 og macOS." date: 2026-06-11 -tags: [rust, pam, gtklock, wayland, linux, macos] +taxonomies: + tags: [rust, pam, gtklock, wayland, linux, macos] draft: false -godkendt: "v1:c8d80c56e01731b150a66ec9dcdfca911d932ea1721145fb79e3cbf46bc26046" +extra: + godkendt: "v1:c8d80c56e01731b150a66ec9dcdfca911d932ea1721145fb79e3cbf46bc26046" --- Et af mine mere fjollede sideprojekter: **ah-fail**. Taster du dit kodeord forkert diff --git a/src/content/blog/authentik-oidc-faldgruber.md b/content/blog/authentik-oidc-faldgruber/index.md similarity index 96% rename from src/content/blog/authentik-oidc-faldgruber.md rename to content/blog/authentik-oidc-faldgruber/index.md index 464f0bb..881483b 100644 --- a/src/content/blog/authentik-oidc-faldgruber.md +++ b/content/blog/authentik-oidc-faldgruber/index.md @@ -2,9 +2,11 @@ title: "Authentik og OIDC: de faldgruber der koster en weekend" description: "redirect_uri-mismatch, X-Forwarded-Proto, sub vs. email og de andre OIDC-fælder jeg er faldet i med Authentik." date: 2026-06-01 -tags: [authentik, oidc, sso, selfhost] +taxonomies: + tags: [authentik, oidc, sso, selfhost] draft: false -godkendt: "v1:6c1d0bac31fd0547c7b0fc4e1c3dbb4ec8bf13d5960f33d8df90766c7700a1cd" +extra: + godkendt: "v1:6c1d0bac31fd0547c7b0fc4e1c3dbb4ec8bf13d5960f33d8df90766c7700a1cd" --- Jeg kører **Authentik** som central identitetsudbyder i mit homelab, så jeg kan diff --git a/src/content/blog/authentik-reverse-proxy-forward-auth.md b/content/blog/authentik-reverse-proxy-forward-auth/index.md similarity index 95% rename from src/content/blog/authentik-reverse-proxy-forward-auth.md rename to content/blog/authentik-reverse-proxy-forward-auth/index.md index 9ab57bb..68f65fa 100644 --- a/src/content/blog/authentik-reverse-proxy-forward-auth.md +++ b/content/blog/authentik-reverse-proxy-forward-auth/index.md @@ -2,9 +2,11 @@ title: "Authentik bag en reverse proxy: forward auth, outposts og 502-fælden" description: "Forward auth eller proxy provider? Og hvorfor store auth-headers giver 502 i nginx, når Authentik sidder bagved." date: 2026-06-05 -tags: [authentik, reverse-proxy, oidc, nginx] +taxonomies: + tags: [authentik, reverse-proxy, oidc, nginx] draft: false -godkendt: "v1:c0acd362adab5c144d08b0e2560513d3efa83c851632f4612dbcad2c9920a3bb" +extra: + godkendt: "v1:c0acd362adab5c144d08b0e2560513d3efa83c851632f4612dbcad2c9920a3bb" --- Når du sætter **Authentik** bag en reverse proxy, skal du tidligt træffe et valg: diff --git a/src/content/blog/er-mit-homelab-opdateret.md b/content/blog/er-mit-homelab-opdateret/index.md similarity index 97% rename from src/content/blog/er-mit-homelab-opdateret.md rename to content/blog/er-mit-homelab-opdateret/index.md index 2f16eb5..6436bda 100644 --- a/src/content/blog/er-mit-homelab-opdateret.md +++ b/content/blog/er-mit-homelab-opdateret/index.md @@ -2,9 +2,11 @@ title: "Er mit homelab egentlig opdateret?" description: "Jeg byggede et lille overblik der selv kigger ind i alle mine containere og fortæller mig hvad der er bagud, og hvad der snart holder op med at få opdateringer." date: 2026-06-13 -tags: [proxmox, homelab, lxc, selfhost] +taxonomies: + tags: [proxmox, homelab, lxc, selfhost] draft: false -godkendt: "v1:8f1db814557e81e8015ac5f9173cbe414141c8373fcfc8149b485d006547ed47" +extra: + godkendt: "v1:8f1db814557e81e8015ac5f9173cbe414141c8373fcfc8149b485d006547ed47" --- Det startede som det altid gør.. med en lille irritation. Jeg ville tjekke om min diff --git a/src/content/blog/inject-javascript-npmplus-sub-filter.md b/content/blog/inject-javascript-npmplus-sub-filter/index.md similarity index 97% rename from src/content/blog/inject-javascript-npmplus-sub-filter.md rename to content/blog/inject-javascript-npmplus-sub-filter/index.md index c3c31fc..96b9cec 100644 --- a/src/content/blog/inject-javascript-npmplus-sub-filter.md +++ b/content/blog/inject-javascript-npmplus-sub-filter/index.md @@ -2,9 +2,11 @@ title: "Injicér JavaScript på alle dine sider med NPMplus og sub_filter" description: "Sådan sprøjter du et script ind i HTML for hver app bag din reverse proxy med nginx sub_filter og lidt Lua .. uden at røre den enkelte app." date: 2026-06-08 -tags: [npmplus, nginx, sub-filter, reverse-proxy, selfhost, matomo] +taxonomies: + tags: [npmplus, nginx, sub-filter, reverse-proxy, selfhost, matomo] draft: false -godkendt: "v1:ab462ce1615149e1a5b65e2b5f5507e97ce231340822408ffc8d5f15956a395a" +extra: + godkendt: "v1:ab462ce1615149e1a5b65e2b5f5507e97ce231340822408ffc8d5f15956a395a" --- Jeg ville have **Matomo-analytics** på tværs af alle mine selvhostede apps uden at diff --git a/src/content/blog/npm-til-npmplus.md b/content/blog/npm-til-npmplus/index.md similarity index 95% rename from src/content/blog/npm-til-npmplus.md rename to content/blog/npm-til-npmplus/index.md index 91852cc..d2e4e9e 100644 --- a/src/content/blog/npm-til-npmplus.md +++ b/content/blog/npm-til-npmplus/index.md @@ -2,9 +2,11 @@ title: "Fra Nginx Proxy Manager til NPMplus: en migrering uden vej tilbage" description: "Hvad der gik godt, hvad der brød, og hvorfor backup ikke er til forhandling, når du skifter fra NPM til NPMplus." date: 2026-06-07 -tags: [npmplus, nginx-proxy-manager, reverse-proxy, selfhost] +taxonomies: + tags: [npmplus, nginx-proxy-manager, reverse-proxy, selfhost] draft: false -godkendt: "v1:5d850f0e2717f7928c31972a08f61f35eb7189adfe0e3c776cbd42318e39bfba" +extra: + godkendt: "v1:5d850f0e2717f7928c31972a08f61f35eb7189adfe0e3c776cbd42318e39bfba" --- I årevis har min edge kørt på **Nginx Proxy Manager** (NPM). Det er en fremragende diff --git a/src/content/blog/proxmox-hjemmelab.md b/content/blog/proxmox-hjemmelab/index.md similarity index 84% rename from src/content/blog/proxmox-hjemmelab.md rename to content/blog/proxmox-hjemmelab/index.md index 2fbe4fe..3215f52 100644 --- a/src/content/blog/proxmox-hjemmelab.md +++ b/content/blog/proxmox-hjemmelab/index.md @@ -2,9 +2,11 @@ title: "Mit Proxmox-hjemmelab" description: "Et kig på opbygningen: reverse proxy, SSO, CI/CD og en masse containere." date: 2026-06-09 -tags: [proxmox, selfhost, homelab] +taxonomies: + tags: [proxmox, selfhost, homelab] draft: false -godkendt: "v1:b6deba4fbb95a8418cce1ef7b688f612ce5b4065d60bb5205cd6bf36da8e70e0" +extra: + godkendt: "v1:b6deba4fbb95a8418cce1ef7b688f612ce5b4065d60bb5205cd6bf36da8e70e0" --- Mit hjemmelab kører på **Proxmox VE** med en blanding af LXC-containere og enkelte diff --git a/src/content/blog/proxmox-lxc-fejl.md b/content/blog/proxmox-lxc-fejl/index.md similarity index 95% rename from src/content/blog/proxmox-lxc-fejl.md rename to content/blog/proxmox-lxc-fejl/index.md index dc825cf..57df47c 100644 --- a/src/content/blog/proxmox-lxc-fejl.md +++ b/content/blog/proxmox-lxc-fejl/index.md @@ -2,9 +2,11 @@ title: "Proxmox LXC i praksis: de fejl jeg selv lavede" description: "Unprivileged kontra privileged, uid-mapping til nobody, og hvorfor Docker i en unprivileged LXC driller på nye kerner." date: 2026-05-26 -tags: [proxmox, lxc, homelab, selfhost] +taxonomies: + tags: [proxmox, lxc, homelab, selfhost] draft: false -godkendt: "v1:e9ae34841a773a0941e783eb3d16c4bc772cd923d13f0caf22575682400347a1" +extra: + godkendt: "v1:e9ae34841a773a0941e783eb3d16c4bc772cd923d13f0caf22575682400347a1" --- Næsten alt i mit homelab kører i **LXC-containere** på **Proxmox VE** frem for diff --git a/src/content/blog/velkommen.md b/content/blog/velkommen/index.md similarity index 90% rename from src/content/blog/velkommen.md rename to content/blog/velkommen/index.md index 6087f8c..189628a 100644 --- a/src/content/blog/velkommen.md +++ b/content/blog/velkommen/index.md @@ -2,9 +2,11 @@ title: "Velkommen til min nye side" description: "Hvad siden er, og hvad du kan forvente at finde her." date: 2026-06-10 -tags: [meta, selfhost] +taxonomies: + tags: [meta, selfhost] draft: false -godkendt: "v1:1d29e33762bae4023bbc57d2870ab97c401aef100074da53c1434d99fff5702f" +extra: + godkendt: "v1:1d29e33762bae4023bbc57d2870ab97c401aef100074da53c1434d99fff5702f" --- Velkommen. Det her er min nye personlige side.. bygget med Astro på Bun, hostet på diff --git a/content/chat.md b/content/chat.md new file mode 100644 index 0000000..3aea9b8 --- /dev/null +++ b/content/chat.md @@ -0,0 +1,8 @@ +--- +title: "Spørg mit CV" +description: "En lille AI-chat der svarer på spørgsmål om mig, min erfaring og mit homelab." +template: sider/chat.html +extra: + noindex: true + alternates: [{lang: da, path: /chat}, {lang: en, path: /en/chat}] +--- diff --git a/content/colophon.md b/content/colophon.md new file mode 100644 index 0000000..85c4a4b --- /dev/null +++ b/content/colophon.md @@ -0,0 +1,5 @@ +--- +title: "Kolofon" +description: "Hvordan denne side er bygget: Astro, Bun, Tailwind, self-hosted alt, og ingen JS-frameworks." +template: sider/colophon.html +--- diff --git a/content/cookies.md b/content/cookies.md new file mode 100644 index 0000000..50871fa --- /dev/null +++ b/content/cookies.md @@ -0,0 +1,7 @@ +--- +title: "Cookies" +description: "Hvilke cookies asger.weirsoe.dk bruger, og hvad de bruges til." +template: sider/cookies.html +extra: + noindex: true +--- diff --git a/content/cv.md b/content/cv.md new file mode 100644 index 0000000..9900b6a --- /dev/null +++ b/content/cv.md @@ -0,0 +1,7 @@ +--- +title: "CV" +description: "Asger Weirsøe, datalog og Technical Solution Architect. Erfaring, uddannelse og publikationer." +template: sider/cv.html +extra: + alternates: [{lang: da, path: /cv}, {lang: en, path: /en/cv}] +--- diff --git a/content/en/_index.md b/content/en/_index.md new file mode 100644 index 0000000..602b3b4 --- /dev/null +++ b/content/en/_index.md @@ -0,0 +1,8 @@ +--- +title: "Asger Weirsøe" +description: "Asger Weirsøe, computer scientist and Technical Solution Architect. Incident response, ISO/IEC 27001 compliance and Danish national e-invoicing infrastructure." +template: sider/forside-en.html +extra: + lang: en + alternates: [{lang: da, path: /}, {lang: en, path: /en}] +--- diff --git a/content/en/chat.md b/content/en/chat.md new file mode 100644 index 0000000..f8113a2 --- /dev/null +++ b/content/en/chat.md @@ -0,0 +1,9 @@ +--- +title: "Ask my CV" +description: "A small chat with Claude that answers questions about me, my experience and my homelab." +template: sider/chat-en.html +extra: + lang: en + noindex: true + alternates: [{lang: da, path: /chat}, {lang: en, path: /en/chat}] +--- diff --git a/content/en/cv.md b/content/en/cv.md new file mode 100644 index 0000000..dbb6704 --- /dev/null +++ b/content/en/cv.md @@ -0,0 +1,8 @@ +--- +title: "CV" +description: "Asger Weirsøe, computer scientist and Technical Solution Architect. Incident response, ISO/IEC 27001 compliance and national e-invoicing infrastructure." +template: sider/cv-en.html +extra: + lang: en + alternates: [{lang: da, path: /cv}, {lang: en, path: /en/cv}] +--- diff --git a/content/en/projects/_index.md b/content/en/projects/_index.md new file mode 100644 index 0000000..1a45a06 --- /dev/null +++ b/content/en/projects/_index.md @@ -0,0 +1,10 @@ +--- +title: "Projects" +description: "Tools I write and publish on the AUR, Homebrew and Scoop." +template: sider/projects-en.html +sort_by: title +page_template: projekt.html +extra: + lang: en + alternates: [{lang: da, path: /projekter}, {lang: en, path: /en/projects}] +--- diff --git a/src/content/projekter/en/ahfail.md b/content/en/projects/ahfail.md similarity index 90% rename from src/content/projekter/en/ahfail.md rename to content/en/projects/ahfail.md index 9daace1..0fc7d09 100644 --- a/src/content/projekter/en/ahfail.md +++ b/content/en/projects/ahfail.md @@ -1,15 +1,17 @@ --- title: "ahfail" description: "A screen locker for Linux and macOS. Type the wrong password and Dennis Nedry shows up to tell you \"ah ah ah, you didn't say the magic word\"." -repo: gtk-ahfail -sprog: Rust -licens: AGPL-3.0-only -platforme: [Linux (Wayland), Linux (X11), macOS] -aur: [ahfail, ahfail-bin] -tags: [linux, wayland, x11, macos, pam, rust] date: 2026-09-30 updated: 2026-09-30 -lang: en +extra: + lang: en + repo: gtk-ahfail + sprog: Rust + licens: AGPL-3.0-only + platforme: [Linux (Wayland), Linux (X11), macOS] + aur: [ahfail, ahfail-bin] + tags: [linux, wayland, x11, macos, pam, rust] + alternates: [{lang: da, path: /projekter/ahfail}, {lang: en, path: /en/projects/ahfail}] --- Get the password wrong and a looping animation of my own face photoshopped onto Dennis Nedry from Jurassic Park appears, while the "ah ah ah, you didn't say the magic word" clip plays. The volume goes all the way up, so whoever tried to sneak into your machine gets the full experience (`--no-max-volume` if you'd rather be discreet). Under the joke it's a real screen locker. diff --git a/src/content/projekter/en/pi3-smart-workspace.md b/content/en/projects/pi3-smart-workspace.md similarity index 87% rename from src/content/projekter/en/pi3-smart-workspace.md rename to content/en/projects/pi3-smart-workspace.md index 983db3b..41e5336 100644 --- a/src/content/projekter/en/pi3-smart-workspace.md +++ b/content/en/projects/pi3-smart-workspace.md @@ -1,15 +1,17 @@ --- title: "pi3-smart-workspace" description: "A small i3 helper that makes $mod+1 the first workspace on the screen your mouse is on, instead of workspace 1 somewhere else entirely." -repo: pi3-smart-workspace -sprog: Python -licens: Apache-2.0 -platforme: [Linux (i3)] -aur: [pi3-smart-workspace] -tags: [i3, linux, python] date: 2020-09-04 updated: 2026-09-30 -lang: en +extra: + lang: en + repo: pi3-smart-workspace + sprog: Python + licens: Apache-2.0 + platforme: [Linux (i3)] + aur: [pi3-smart-workspace] + tags: [i3, linux, python] + alternates: [{lang: da, path: /projekter/pi3-smart-workspace}, {lang: en, path: /en/projects/pi3-smart-workspace}] --- With several monitors in i3, workspaces are numbered globally. Press `$mod+1` and you jump to workspace 1, even if it lives on the left screen and you're working on the right one. `pi3-smart-workspace` turns that around: the key picks the N-th workspace on the screen your mouse is on. `$mod+1` is always the first workspace wherever the mouse is, and a multi-monitor setup feels a lot more coherent. diff --git a/src/content/projekter/en/ubl-tools.md b/content/en/projects/ubl-tools.md similarity index 90% rename from src/content/projekter/en/ubl-tools.md rename to content/en/projects/ubl-tools.md index 99de2d6..067e66f 100644 --- a/src/content/projekter/en/ubl-tools.md +++ b/content/en/projects/ubl-tools.md @@ -1,15 +1,17 @@ --- title: "ubl-tools" description: "Read UBL e-invoices (Peppol BIS 3.0 and OIOUBL) in the terminal or as a printable page, and pull out the attached PDF. Everything happens on your own machine." -repo: ubl-tools -sprog: Rust -licens: MIT OR Apache-2.0 -platforme: [Linux, macOS, Windows] -aur: [ubl-tools, ubl-tools-bin] -tags: [peppol, oioubl, nemhandel, e-invoicing, rust] date: 2026-09-30 updated: 2026-10-01 -lang: en +extra: + lang: en + repo: ubl-tools + sprog: Rust + licens: MIT OR Apache-2.0 + platforme: [Linux, macOS, Windows] + aur: [ubl-tools, ubl-tools-bin] + tags: [peppol, oioubl, nemhandel, e-invoicing, rust] + alternates: [{lang: da, path: /projekter/ubl-tools}, {lang: en, path: /en/projects/ubl-tools}] --- An e-invoice is an XML file. Reading one means scrolling through a few hundred lines of `cbc:` and `cac:` elements, or uploading it to an online viewer. The viewers work, but they want the whole invoice, and that includes names, VAT numbers, bank details and what the customer bought. I'm not keen on sending all that to a stranger's server just to read it. diff --git a/content/nemhandel.md b/content/nemhandel.md new file mode 100644 index 0000000..d4193c5 --- /dev/null +++ b/content/nemhandel.md @@ -0,0 +1,5 @@ +--- +title: "NemHandel-opslag" +description: "Slå et CVR-nummer op og se om virksomheden er registreret i NemHandelsregisteret, og hvilke profilpakker den understøtter." +template: sider/nemhandel.html +--- diff --git a/content/now.md b/content/now.md new file mode 100644 index 0000000..31818df --- /dev/null +++ b/content/now.md @@ -0,0 +1,5 @@ +--- +title: "Now" +description: "Hvad jeg arbejder på lige nu, plus et aktivitets-heatmap fra min self-hostede Gitea." +template: sider/now.html +--- diff --git a/content/peppol.md b/content/peppol.md new file mode 100644 index 0000000..d233c09 --- /dev/null +++ b/content/peppol.md @@ -0,0 +1,4 @@ +--- +title: "NemHandel-opslag" +template: sider/peppol.html +--- diff --git a/content/profiler.md b/content/profiler.md new file mode 100644 index 0000000..80816e0 --- /dev/null +++ b/content/profiler.md @@ -0,0 +1,5 @@ +--- +title: "Profil-opslag (Nemhandel & Peppol)" +description: "Søgbart opslag over Nemhandel OIOUBL- og Peppol BIS/PINT-profiler: profil-id'er, customization-id'er, indeholdte dokumenter og typisk anvendelse." +template: sider/profiler.html +--- diff --git a/content/projekter/_index.md b/content/projekter/_index.md new file mode 100644 index 0000000..8d36eef --- /dev/null +++ b/content/projekter/_index.md @@ -0,0 +1,8 @@ +--- +title: "Projekter" +description: "Udvalgte offentlige projekter fra min Gitea." +template: sider/projekter.html +page_template: projekt.html +extra: + alternates: [{lang: da, path: /projekter}, {lang: en, path: /en/projects}] +--- diff --git a/src/content/projekter/ahfail.md b/content/projekter/ahfail.md similarity index 90% rename from src/content/projekter/ahfail.md rename to content/projekter/ahfail.md index fb6a28c..1c2f72f 100644 --- a/src/content/projekter/ahfail.md +++ b/content/projekter/ahfail.md @@ -1,14 +1,17 @@ --- title: "ahfail" description: "En skærmlås til Linux og macOS. Skriver du forkert kodeord, dukker Dennis Nedry op og siger \"ah ah ah, you didn't say the magic word\"." -repo: gtk-ahfail -sprog: Rust -licens: AGPL-3.0-only -platforme: [Linux (Wayland), Linux (X11), macOS] -aur: [ahfail, ahfail-bin] -tags: [linux, wayland, x11, macos, pam, rust] date: 2026-09-30 updated: 2026-09-30 +extra: + lang: da + repo: gtk-ahfail + sprog: Rust + licens: AGPL-3.0-only + platforme: [Linux (Wayland), Linux (X11), macOS] + aur: [ahfail, ahfail-bin] + tags: [linux, wayland, x11, macos, pam, rust] + alternates: [{lang: da, path: /projekter/ahfail}, {lang: en, path: /en/projects/ahfail}] --- Skriver du forkert kodeord, kører en animation i loop af mit eget ansigt photoshoppet ind på Dennis Nedry fra Jurassic Park, mens klippet med "ah ah ah, you didn't say the magic word" spiller. Lyden skrues helt op, så den der prøvede at snige sig ind på din maskine også får det hele med (`--no-max-volume` hvis du hellere vil være diskret). Under joken er det en rigtig skærmlås. diff --git a/src/content/projekter/pi3-smart-workspace.md b/content/projekter/pi3-smart-workspace.md similarity index 87% rename from src/content/projekter/pi3-smart-workspace.md rename to content/projekter/pi3-smart-workspace.md index 1bc10dc..ea4d406 100644 --- a/src/content/projekter/pi3-smart-workspace.md +++ b/content/projekter/pi3-smart-workspace.md @@ -1,14 +1,17 @@ --- title: "pi3-smart-workspace" description: "Et lille værktøj til i3 der gør $mod+1 til den første workspace på den skærm musen står på, i stedet for workspace nummer 1 et helt andet sted." -repo: pi3-smart-workspace -sprog: Python -licens: Apache-2.0 -platforme: [Linux (i3)] -aur: [pi3-smart-workspace] -tags: [i3, linux, python] date: 2020-09-04 updated: 2026-09-30 +extra: + lang: da + repo: pi3-smart-workspace + sprog: Python + licens: Apache-2.0 + platforme: [Linux (i3)] + aur: [pi3-smart-workspace] + tags: [i3, linux, python] + alternates: [{lang: da, path: /projekter/pi3-smart-workspace}, {lang: en, path: /en/projects/pi3-smart-workspace}] --- Med flere skærme i i3 er workspaces nummereret globalt. Trykker du `$mod+1`, hopper du til workspace 1, også selvom den ligger på skærmen til venstre og du sidder og arbejder på den til højre. `pi3-smart-workspace` vender det om: tasten vælger den N'te workspace på den skærm musen står på. `$mod+1` er altid den første workspace der hvor musen er, og et setup med flere skærme føles meget mere sammenhængende. diff --git a/src/content/projekter/ubl-tools.md b/content/projekter/ubl-tools.md similarity index 90% rename from src/content/projekter/ubl-tools.md rename to content/projekter/ubl-tools.md index 09b224d..acc7cb7 100644 --- a/src/content/projekter/ubl-tools.md +++ b/content/projekter/ubl-tools.md @@ -1,14 +1,17 @@ --- title: "ubl-tools" description: "Læs e-fakturaer i UBL (Peppol BIS 3.0 og OIOUBL) i terminalen eller som en side du kan printe, og træk den vedhæftede PDF ud. Alt foregår på din egen maskine." -repo: ubl-tools -sprog: Rust -licens: MIT OR Apache-2.0 -platforme: [Linux, macOS, Windows] -aur: [ubl-tools, ubl-tools-bin] -tags: [peppol, oioubl, nemhandel, e-faktura, rust] date: 2026-09-30 updated: 2026-10-01 +extra: + lang: da + repo: ubl-tools + sprog: Rust + licens: MIT OR Apache-2.0 + platforme: [Linux, macOS, Windows] + aur: [ubl-tools, ubl-tools-bin] + tags: [peppol, oioubl, nemhandel, e-faktura, rust] + alternates: [{lang: da, path: /projekter/ubl-tools}, {lang: en, path: /en/projects/ubl-tools}] --- En e-faktura er en XML-fil. Vil man læse en, skal man enten scrolle gennem et par hundrede linjer `cbc:` og `cac:`, eller uploade den til en online viewer. Viewerne virker fint, men de vil have hele fakturaen, og den indeholder navne, CVR-numre, bankoplysninger og hvad kunden har købt. Det har jeg det lidt stramt med at sende til en fremmed server bare for at kunne læse den. diff --git a/content/status.md b/content/status.md new file mode 100644 index 0000000..4604e08 --- /dev/null +++ b/content/status.md @@ -0,0 +1,7 @@ +--- +title: "Status" +description: "Live driftsstatus for mit homelab, målt med Uptime Kuma." +template: sider/status.html +extra: + noindex: true +--- diff --git a/content/ubl.md b/content/ubl.md new file mode 100644 index 0000000..c7d228b --- /dev/null +++ b/content/ubl.md @@ -0,0 +1,5 @@ +--- +title: "UBL-tjek & identifikator-afkoder" +description: "Træk en UBL/OIOUBL-faktura ind eller indsæt en CustomizationID/ProfileID, så afkoder den profilen, syntaksen og EN 16931-status. Alt sker lokalt i browseren; filen sendes aldrig nogen steder." +template: sider/ubl.html +--- diff --git a/content/uses.md b/content/uses.md new file mode 100644 index 0000000..f95ac67 --- /dev/null +++ b/content/uses.md @@ -0,0 +1,5 @@ +--- +title: "Uses" +description: "Hardware, software og selvhostede tjenester bag mit homelab og denne side." +template: sider/uses.html +--- diff --git a/data/colophon.json b/data/colophon.json new file mode 100644 index 0000000..e095bd2 --- /dev/null +++ b/data/colophon.json @@ -0,0 +1,48 @@ +{ + "stack": [ + { + "k": "Generator", + "v": "Astro 5: statisk output, view transitions, content collections til bloggen" + }, + { + "k": "Runtime", + "v": "Bun (build og dev)" + }, + { + "k": "CSS", + "v": "Tailwind 4 med egne design-tokens; dark/light sat pre-paint uden flash" + }, + { + "k": "Typografi", + "v": "Inter Variable, self-hosted woff2 (ingen Google Fonts-kald)" + }, + { + "k": "JS i browseren", + "v": "Ingen frameworks. Lidt vanilla til tema-toggle, paletten og service workeren" + }, + { + "k": "PWA", + "v": "Workbox service worker, siden virker offline og kan installeres" + }, + { + "k": "Kommentarer", + "v": "Comentario, self-hosted, login via min egen Authentik" + }, + { + "k": "Analytics", + "v": "Matomo, self-hosted og first-party, ingen tredjeparts-trackere" + }, + { + "k": "Hosting", + "v": "Alpine LXC med nginx på min egen Proxmox-node, bag NPMplus som edge" + }, + { + "k": "CI/CD", + "v": "Gitea Actions på egne runnere: push til master → build → atomisk swap af webroot" + }, + { + "k": "Struktureret data", + "v": "JSON-LD: Person, ProfilePage, FAQ, BlogPosting, BreadcrumbList, plus llms.txt til LLM’er" + } + ] +} diff --git a/data/cv-en.json b/data/cv-en.json new file mode 100644 index 0000000..ce32d14 --- /dev/null +++ b/data/cv-en.json @@ -0,0 +1,159 @@ +{ + "work": [ + { + "org": "Digisense A/S", + "place": "Denmark", + "roles": [ + { + "title": "Technical Solution Architect", + "when": "May 2026 – present", + "details": [ + "Built the company’s information security management system around ISO/IEC 27001, including incident management and escalation procedures, post-incident reviews and an incident register", + "Technical point of contact across engineering, sales and support for a Peppol and NemHandel access point provider", + "Solution design for customer projects" + ] + } + ] + }, + { + "org": "CGI Danmark", + "place": "Aalborg", + "roles": [ + { + "title": "Tech Lead, NemHandel", + "when": "Aug 2023 – May 2026", + "details": [ + "Technical lead on CGI’s NemHandel team and the client’s technical adviser", + "Led the response to CVE-2022-1471 (SnakeYAML, remote code execution) in the NemHandel reference implementation: the client was notified immediately, mitigation guidance went out to operators, and the team shipped a fixed release within two weeks", + "Coordinated recovery from a production database failure during the July 2024 CrowdStrike outage, when most team workstations were unavailable", + "Translated client requirements for the development team" + ] + }, + { + "title": "Senior Consultant", + "when": "Apr 2023 – May 2026", + "details": [ + "Mentored a newly hired developer", + "Delivered installation webinars for the NemHandel reference implementation" + ] + }, + { + "title": "Consultant", + "when": "Aug 2022 – Apr 2023", + "details": [ + "Developed the open source NemHandel eDelivery reference implementation (Java, built on Oxalis)", + "Solution architect on the project" + ] + }, + { + "title": "Student Developer", + "when": "Aug 2020 – Aug 2022", + "details": [ + "Owned a rules engine (Java, Drools)", + "Deployment and operations (Docker, Docker Compose, Linux)" + ] + }, + { + "title": "Consultant", + "when": "Jun 2019 – Aug 2020", + "details": [ + "Frontend (Angular, TypeScript)", + "Backend (Go, Java, Python)" + ] + } + ] + }, + { + "org": "BilligVVS", + "place": "Egå", + "roles": [ + { + "title": "Full-stack Developer", + "when": "Sep 2018 – Jun 2019", + "details": [ + "Webshop checkout and shipping integration (Python, TypeScript)", + "Movex ERP integration", + "Internal BI dashboards (Python, Chart.js)" + ] + } + ] + } + ], + "education": [ + { + "what": "HD Part 1, Business Administration", + "where": "Aalborg University", + "when": "2025 – 2027 (in progress)", + "note": "Business economics, accounting and finance." + }, + { + "what": "M.Sc. in Computer Science (cand.scient.)", + "where": "Aalborg University", + "when": "2020 – 2022", + "note": "Specialisation in security in distributed systems. Thesis: Thread-Fuzz, mutation-based behavioural blackbox fuzzing of Thread." + }, + { + "what": "B.Sc. in Computer Science", + "where": "Aalborg University", + "when": "2015 – 2018", + "note": "" + } + ], + "skills": [ + { + "k": "Incident response", + "v": [ + "Incident coordination", + "Escalation", + "Stakeholder communication", + "Vulnerability response", + "Post-incident review" + ] + }, + { + "k": "Compliance and security", + "v": [ + "ISO/IEC 27001", + "ISMS", + "Information security" + ] + }, + { + "k": "E-invoicing", + "v": [ + "Peppol", + "eDelivery (AS4)", + "Oxalis", + "NemHandel", + "OIOUBL / UBL", + "EN 16931" + ] + }, + { + "k": "Infrastructure", + "v": [ + "Linux", + "Docker", + "Kubernetes", + "AWS", + "Proxmox", + "Datadog" + ] + }, + { + "k": "Development", + "v": [ + "Java", + "Python", + "Go", + "TypeScript", + "Angular", + "C#", + "PostgreSQL", + "RabbitMQ", + "Git / GitLab", + "Jenkins" + ] + } + ] +} diff --git a/data/cv.json b/data/cv.json new file mode 100644 index 0000000..35d68ff --- /dev/null +++ b/data/cv.json @@ -0,0 +1,176 @@ +{ + "erhverv": [ + { + "org": "Digisense A/S", + "sted": "Danmark", + "roller": [ + { + "titel": "Technical Solution Architect", + "naar": "maj 2026 – nu", + "detaljer": [ + "Har bygget virksomhedens ledelsessystem for informationssikkerhed (ISMS) efter ISO/IEC 27001, med procedurer for hændelseshåndtering og eskalering, evaluering efter hændelser og et hændelsesregister", + "Teknisk kontaktperson på tværs af udvikling, salg og support hos en Peppol- og NemHandel-access point-udbyder", + "Løsningsdesign til kundeprojekter" + ] + } + ] + }, + { + "org": "CGI", + "sted": "Aalborg", + "roller": [ + { + "titel": "Teknisk Lead", + "naar": "aug. 2023 – maj 2026", + "detaljer": [ + "Teknisk lead på CGI’s NemHandel-team og kundens tekniske rådgiver", + "Ledte responsen på CVE-2022-1471 (SnakeYAML, remote code execution) i NemHandel-referenceimplementeringen: kunden blev orienteret med det samme, der gik vejledning ud til dem der kørte løsningen, og teamet leverede en rettet version inden for to uger", + "Koordinerede genopretningen efter en databasefejl i produktion under CrowdStrike-nedbruddet i juli 2024, hvor de fleste af teamets maskiner var ude af drift", + "Formidler kundens behov til udviklingsteamet" + ] + }, + { + "titel": "Senior Konsulent", + "naar": "apr. 2023 – maj 2026", + "detaljer": [ + "Buddy for ny udvikler", + "Afholdt installationsvejledning via webinar" + ] + }, + { + "titel": "Konsulent", + "naar": "aug. 2022 – apr. 2023", + "detaljer": [ + "Med til at udvikle den open source eDelivery-løsning til NemHandel (Java, bygget på Oxalis)", + "Løsningsarkitekt" + ] + }, + { + "titel": "Studentermedhjælper", + "naar": "aug. 2020 – aug. 2022", + "detaljer": [ + "Kode-ansvarlig for en regelmotor (Java, Drools)", + "DevOps (Docker, docker-compose, Linux)" + ] + }, + { + "titel": "Konsulent", + "naar": "jun. 2019 – aug. 2020", + "detaljer": [ + "Frontend (Angular 8, TypeScript)", + "Backend (GoLang, Java, Python)" + ] + } + ] + }, + { + "org": "BilligVVS", + "sted": "Egaa", + "roller": [ + { + "titel": "Fullstack IT-udvikler", + "naar": "sep. 2018 – jun. 2019", + "detaljer": [ + "Hjemmeside (Python, TypeScript)", + "Backend (Python, Movex)", + "Webcrawler (Python)", + "BI (Python, chart.js)" + ] + } + ] + } + ], + "uddannelse": [ + { + "hvad": "HD 1. del i Erhvervsøkonomi", + "hvor": "Aalborg Universitet", + "naar": "2025 – 2027 (i gang)", + "note": "Forretningsforståelse, erhvervsøkonomi, regnskab og finansiering." + }, + { + "hvad": "Kandidat i Datalogi (cand.scient.)", + "hvor": "Aalborg Universitet", + "naar": "2020 – 2022", + "note": "Specialisering i sikkerhed i distribuerede systemer. Speciale: Thread-Fuzz, mutation-based behavioural blackbox fuzzing of Thread." + }, + { + "hvad": "Bachelor i Datalogi (B.Sc.)", + "hvor": "Aalborg Universitet", + "naar": "2015 – 2018", + "note": "" + }, + { + "hvad": "Almen studentereksamen (STX)", + "hvor": "Espergærde Gymnasium og HF", + "naar": "2012 – 2015", + "note": "" + }, + { + "hvad": "Udvekslingsår", + "hvor": "Lincoln High School, Ypsilanti, Michigan (USA)", + "naar": "2011 – 2012", + "note": "" + } + ], + "licenser": [ + { + "hvad": "Radioamatørlicens, kategori B", + "hvor": "Kaldesignal OZ0AGW", + "naar": "maj 2024", + "note": "Bestod radioamatørprøven lørdag den 18. maj 2024." + }, + { + "hvad": "Jagttegn", + "hvor": "Bestod jagtprøven", + "naar": "2020", + "note": "" + } + ], + "frivilligt": [ + { + "hvad": "LUNARK", + "naar": "2020", + "note": "Notifikationssystem i C# og React." + }, + { + "hvad": "Kirkens Korshær", + "naar": "2020 – nu", + "note": "Køkkenhjælper hver jul og nytår." + }, + { + "hvad": "AAU Campus", + "naar": "2016 – 2022", + "note": "Tutor og F-Klub-frivillig." + } + ], + "primaere": [ + "Java", + "Python", + "GoLang", + "TypeScript", + "JavaScript", + "Angular", + "Docker", + "Linux", + "Proxmox", + "PostgreSQL", + "Jenkins", + "Git / GitLab", + "BI", + "Agile" + ], + "sekundaere": [ + "C#", + "C++", + "C", + "Kubernetes", + "AWS", + "RabbitMQ", + "Datadog", + "XeLaTeX" + ], + "sprog": [ + "Dansk (modersmål)", + "Engelsk (flydende i tale og skrift)" + ] +} diff --git a/data/forside-en.json b/data/forside-en.json new file mode 100644 index 0000000..233ffef --- /dev/null +++ b/data/forside-en.json @@ -0,0 +1,56 @@ +{ + "highlights": [ + { + "title": "Incident response & compliance", + "body": "Led incident and vulnerability response on Danish national e-invoicing infrastructure, and built an ISMS around ISO/IEC 27001 with escalation and post-incident review." + }, + { + "title": "E-invoicing & architecture", + "body": "Technical Solution Architect at Digisense A/S, working on Peppol, NemHandel and Oxalis. Before that, tech lead on NemHandel at CGI." + }, + { + "title": "Self-hosting, AI & full-stack", + "body": "A Proxmox homelab with around 50 containers and VMs behind SSO (Authentik), and projects from Java, Go and Python to TypeScript and LLM-driven workflows." + } + ], + "faqs": [ + { + "q": "Who is Asger Weirsøe?", + "a": "I am a computer scientist (M.Sc., Aalborg University) and Technical Solution Architect at Digisense A/S. I have worked on Danish national e-invoicing infrastructure since 2021, and I combine technical depth with business understanding." + }, + { + "q": "What incident response experience does Asger Weirsøe have?", + "a": "As tech lead on NemHandel at CGI I coordinated recovery from a production database failure during the July 2024 CrowdStrike outage, and led the response to CVE-2022-1471 (SnakeYAML) in the NemHandel reference implementation, where we shipped a fixed release within two weeks. At Digisense I built the ISMS around ISO/IEC 27001, including incident management, escalation and post-incident review." + }, + { + "q": "What does Asger Weirsøe work with?", + "a": "Solution architecture for electronic invoicing and e-procurement: Peppol (Access Point, eDelivery/AS4 and Oxalis), NemHandel, OIOUBL/UBL and EN 16931. Plus information security, self-hosting, Proxmox and AI." + }, + { + "q": "Is Asger Weirsøe a radio amateur?", + "a": "Yes. I hold a category B licence with the call sign OZ0AGW." + } + ], + "kort": [ + { + "href": "/en/chat", + "title": "Ask my CV", + "desc": "A small chat with Claude that has read my CV and answers questions about me." + }, + { + "href": "/status", + "title": "Homelab status", + "desc": "Live status for the public parts of my homelab." + }, + { + "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." + } + ] +} diff --git a/data/forside.json b/data/forside.json new file mode 100644 index 0000000..35c9b81 --- /dev/null +++ b/data/forside.json @@ -0,0 +1,70 @@ +{ + "highlights": [ + { + "title": "E-fakturering & arkitektur", + "body": "Technical Solution Architect hos Digisense A/S. Jeg står for løsningsarkitektur inden for elektronisk fakturering, Peppol, Oxalis og NemHandel." + }, + { + "title": "Forretning møder teknik", + "body": "Jeg oversætter mellem kunder, forretning og udviklingsteams, så e-faktura faktisk kommer til at virke i praksis. Læser HD i Erhvervsøkonomi ved siden af." + }, + { + "title": "Selvhosting, AI & fuld-stack", + "body": "Et Proxmox-homelab med ~50 LXC/VM’er bag SSO (Authentik), og projekter fra Java/Go/Python til TypeScript og LLM-drevne workflows." + } + ], + "faqs": [ + { + "q": "Hvem er Asger Weirsøe?", + "a": "Jeg er datalog (cand.scient. fra Aalborg Universitet) og Technical Solution Architect hos Digisense A/S. Jeg har en bred profil inden for elektronisk fakturering og forener teknisk indsigt med forretningsforståelse." + }, + { + "q": "Hvad arbejder Asger Weirsøe med?", + "a": "Jeg arbejder med løsningsarkitektur inden for elektronisk fakturering og e-procurement: Peppol (Access Point, eDelivery/AS4 og Oxalis), NemHandel, OIOUBL/UBL og EN 16931. Derudover selvhosting, Proxmox og AI." + }, + { + "q": "Hvem kan rådgive om Peppol og NemHandel i Danmark?", + "a": "Det kan jeg. Jeg har arbejdet praktisk med både Peppol og NemHandel. Hos CGI var jeg med til at udvikle den open source eDelivery-løsning til NemHandel, der er bygget på Oxalis. I dag arbejder jeg som Technical Solution Architect hos Digisense A/S med løsningsarkitektur inden for elektronisk fakturering." + }, + { + "q": "Er Asger Weirsøe radioamatør?", + "a": "Ja. Jeg har B-licens og kaldesignalet OZ0AGW, og jeg bestod radioamatørprøven lørdag den 18. maj 2024." + }, + { + "q": "Hvad er Asger Weirsøes baggrund?", + "a": "Cand.scient. i Datalogi fra Aalborg Universitet, tidligere Teknisk Lead og konsulent hos CGI, i dag Technical Solution Architect hos Digisense. Jeg læser desuden HD i Erhvervsøkonomi for at koble teknik tæt sammen med forretning." + } + ], + "kort": [ + { + "href": "/nemhandel", + "title": "NemHandel-opslag", + "desc": "Slå et CVR-nummer op og se om virksomheden er registreret i NemHandelsregisteret, og hvilke profilpakker den understøtter." + }, + { + "href": "/chat", + "title": "Spørg mit CV", + "desc": "En lille chat med Claude, der har læst mit CV og svarer på spørgsmål om mig." + }, + { + "href": "/status", + "title": "Homelab-status", + "desc": "Live driftsstatus for de offentlige dele af mit homelab." + }, + { + "href": "/now", + "title": "Now", + "desc": "Hvad jeg roder med lige nu, plus et aktivitets-heatmap fra min egen Gitea." + }, + { + "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." + } + ] +} diff --git a/data/now.json b/data/now.json new file mode 100644 index 0000000..61fe7bb --- /dev/null +++ b/data/now.json @@ -0,0 +1,7 @@ +{ + "focus": [ + "Elektronisk fakturering hos Digisense: Peppol, NemHandel og løsningsarkitektur", + "HD 1. del i Erhvervsøkonomi på AAU (eksamener til sommer)", + "Homelab: crawlkit, denne side, og alt for mange LXC-containere" + ] +} diff --git a/data/profiles.json b/data/profiles.json new file mode 100644 index 0000000..a9a7bc3 --- /dev/null +++ b/data/profiles.json @@ -0,0 +1,961 @@ +{ + "standarder": [ + "Nemhandel OIOUBL (UBL 2.1)", + "Peppol BIS 3.0", + "Peppol BIS 4.0 / PINT" + ], + "kategorier": [ + "Fakturering", + "Ordre til fakturering", + "Simple Ordrer", + "Katalog", + "Udvidet fakturering", + "Udvidet katalog", + "Udvidet ordre til fakturering", + "ForsyningsSpecifikation", + "Diverse" + ], + "profiles": [ + { + "standard": "Nemhandel OIOUBL (UBL 2.1)", + "kategori": "Fakturering", + "navn": "Procurement-BilSim-1.0 (simpel fakturering)", + "id": "Procurement-BilSim-1.0", + "customization": "OIOUBL-2.x", + "dokumenter": [ + "Invoice", + "CreditNote", + "Reminder", + "ApplicationResponse (kun ved afvisning)" + ], + "anvendelse": "Ren fakturering: leverandør sender faktura/kreditnota/rykker til kunde. Ingen ordreproces, og kunden er ikke forpligtet til at kvittere.", + "bemaerkninger": "Obligatorisk profil og den mest udbredte rene faktura-pakke i Nemhandel. Kunden må afvise med ApplicationResponse, men skal ikke kvittere positivt.", + "kilde": { + "label": "OIOUBL Profiler (G26)", + "url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf" + } + }, + { + "standard": "Nemhandel OIOUBL (UBL 2.1)", + "kategori": "Fakturering", + "navn": "urn:www.nesubl.eu:profiles:profile5:ver2.0 (NES5, Billing Basic)", + "id": "urn:www.nesubl.eu:profiles:profile5:ver2.0", + "customization": "OIOUBL-2.x", + "dokumenter": [ + "Invoice", + "CreditNote" + ], + "anvendelse": "Internationalt NES-fakturaprofil: kunde modtager faktura og kreditnota fra leverandør.", + "bemaerkninger": "Obligatorisk profil. Den profil der ligger tættest på den gamle OIOXML-faktura, kun afløftede felter er tilladt. Bruges når fakturaafsender teknisk set ikke kan modtage en ApplicationResponse.", + "kilde": { + "label": "OIOUBL Profiler (G26)", + "url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf" + } + }, + { + "standard": "Nemhandel OIOUBL (UBL 2.1)", + "kategori": "Ordre til fakturering", + "navn": "Procurement-OrdSim-BilSim-1.0 (simpel ordre + simpel fakturering)", + "id": "Procurement-OrdSim-BilSim-1.0", + "customization": "OIOUBL-2.x", + "dokumenter": [ + "Order", + "OrderResponseSimple", + "Invoice", + "CreditNote", + "Reminder", + "ApplicationResponse *" + ], + "anvendelse": "Komplet simpel handel: simpel ordre efterfulgt af simpel fakturering. Dækker bestilling til betaling.", + "bemaerkninger": "Samlepakken de fleste vælger, når de vil kunne både bestille og fakturere. Ingen ordreændring/-annullering, det kræver en OrdAdv-variant.", + "kilde": { + "label": "OIOUBL Profiler (G26)", + "url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf" + } + }, + { + "standard": "Nemhandel OIOUBL (UBL 2.1)", + "kategori": "Simple Ordrer", + "navn": "Procurement-OrdRes-1.0 (kun ordresvar)", + "id": "Procurement-OrdRes-1.0", + "customization": "OIOUBL-2.x", + "dokumenter": [ + "OrderResponse" + ], + "anvendelse": "Enkeltdokument-profil til alene at kunne udveksle en ordrebekræftelse (OrderResponse) uden at tilmelde sig en fuld ordreproces.", + "bemaerkninger": "Registerprofil af typen \"single\", findes i Nemhandelsregistret, men er ikke beskrevet i OIOUBL Profiler-guiden (G26) v1.3. Verificér mod registret før brug.", + "kilde": { + "label": "Nemhandelsregistret", + "url": "https://nemhandel.dk/nemhandelsregisteret" + } + }, + { + "standard": "Nemhandel OIOUBL (UBL 2.1)", + "kategori": "Simple Ordrer", + "navn": "Procurement-OrdSim-1.0 (simpel ordre)", + "id": "Procurement-OrdSim-1.0", + "customization": "OIOUBL-2.x", + "dokumenter": [ + "Order", + "OrderResponseSimple" + ], + "anvendelse": "Ren ordreproces: kunde sender ordre, leverandør svarer med simpelt ordresvar. Ingen fakturering i profilen.", + "bemaerkninger": "Ren ordre-only proces; kombineres typisk med en faktureringsprofil.", + "kilde": { + "label": "OIOUBL Profiler (G26)", + "url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf" + } + }, + { + "standard": "Nemhandel OIOUBL (UBL 2.1)", + "kategori": "Simple Ordrer", + "navn": "Procurement-OrdSimR-1.0 (simpel ordre m. krævet svar)", + "id": "Procurement-OrdSimR-1.0", + "customization": "OIOUBL-2.x", + "dokumenter": [ + "Order", + "OrderResponseSimple" + ], + "anvendelse": "Som OrdSim, men leverandør skal altid sende ordresvar.", + "bemaerkninger": "R = 'Response required': samme dokumenter som OrdSim, men svaret er obligatorisk.", + "kilde": { + "label": "OIOUBL Profiler (G26)", + "url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf" + } + }, + { + "standard": "Nemhandel OIOUBL (UBL 2.1)", + "kategori": "Simple Ordrer", + "navn": "urn:www.nesubl.eu:profiles:profile3:ver2.0 (NES3, \"Order Only\")", + "id": "urn:www.nesubl.eu:profiles:profile3:ver2.0", + "customization": "OIOUBL-2.x", + "dokumenter": [ + "Order" + ], + "anvendelse": "Leverandør modtager ordrer fra kunder. Intet ordresvar og ingen fakturering i profilen.", + "bemaerkninger": "Ældre NES-ordreprofil; OrdSim-varianterne anbefales i stedet.", + "kilde": { + "label": "OIOUBL Profiler (G26)", + "url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf" + } + }, + { + "standard": "Nemhandel OIOUBL (UBL 2.1)", + "kategori": "Katalog", + "navn": "Catalogue-CatBas-1.0 (basalt katalog)", + "id": "Catalogue-CatBas-1.0", + "customization": "OIOUBL-2.x", + "dokumenter": [ + "Catalogue", + "CatalogueDeletion", + "ApplicationResponse" + ], + "anvendelse": "Leverandør sender et produktkatalog til kunden og kan slette det igen. Kunden kan afvise med ApplicationResponse.", + "bemaerkninger": "Simpleste katalogprofil, ingen prisopdatering, ingen katalogforespørgsel.", + "kilde": { + "label": "OIOUBL Profiler (G26)", + "url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf" + } + }, + { + "standard": "Nemhandel OIOUBL (UBL 2.1)", + "kategori": "Katalog", + "navn": "Catalogue-CatPriUpd-1.0 (kun prisopdatering)", + "id": "Catalogue-CatPriUpd-1.0", + "customization": "OIOUBL-2.x", + "dokumenter": [ + "CataloguePricingUpdate", + "ApplicationResponse" + ], + "anvendelse": "Leverandør opdaterer alene priserne i et allerede udvekslet katalog.", + "bemaerkninger": "\"Catalogue Pricing Update Only\" forudsætter at kataloget er sendt via en anden katalogprofil.", + "kilde": { + "label": "OIOUBL Profiler (G26)", + "url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf" + } + }, + { + "standard": "Nemhandel OIOUBL (UBL 2.1)", + "kategori": "Katalog", + "navn": "Catalogue-CatPriUpdR-1.0 (kun prisopdatering m. krævet svar)", + "id": "Catalogue-CatPriUpdR-1.0", + "customization": "OIOUBL-2.x", + "dokumenter": [ + "CataloguePricingUpdate", + "ApplicationResponse" + ], + "anvendelse": "Som CatPriUpd, men kunden skal kvittere for prisopdateringen.", + "bemaerkninger": "R = svar påkrævet.", + "kilde": { + "label": "OIOUBL Profiler (G26)", + "url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf" + } + }, + { + "standard": "Nemhandel OIOUBL (UBL 2.1)", + "kategori": "Katalog", + "navn": "Catalogue-CatSim-1.0 (katalogforespørgsel + katalog)", + "id": "Catalogue-CatSim-1.0", + "customization": "OIOUBL-2.x", + "dokumenter": [ + "CatalogueRequest", + "Catalogue", + "CatalogueDeletion", + "ApplicationResponse" + ], + "anvendelse": "Kunden beder om et katalog (CatalogueRequest), leverandøren sender det og kan slette det igen.", + "bemaerkninger": "CatBas udvidet med katalogforespørgsel fra kunden.", + "kilde": { + "label": "OIOUBL Profiler (G26)", + "url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf" + } + }, + { + "standard": "Nemhandel OIOUBL (UBL 2.1)", + "kategori": "Udvidet fakturering", + "navn": "Procurement-BilSimR-1.0 (simpel fakturering m. krævet svar)", + "id": "Procurement-BilSimR-1.0", + "customization": "OIOUBL-2.x", + "dokumenter": [ + "Invoice", + "CreditNote", + "Reminder", + "ApplicationResponse" + ], + "anvendelse": "Som BilSim, men kunden skal altid kvittere med et ApplicationResponse (accept/afvisning).", + "bemaerkninger": "R = 'Response required': kunden skal kvittere. Bemærk: tilmelding til BilSimR giver ikke automatisk BilSim; begge skal registreres hver for sig.", + "kilde": { + "label": "OIOUBL Profiler (G26)", + "url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf" + } + }, + { + "standard": "Nemhandel OIOUBL (UBL 2.1)", + "kategori": "Udvidet fakturering", + "navn": "Procurement-BilSimReminderOnly-1.0 (kun rykker)", + "id": "Procurement-BilSimReminderOnly-1.0", + "customization": "OIOUBL-2.x", + "dokumenter": [ + "Reminder" + ], + "anvendelse": "Enkeltdokument-profil til alene at kunne modtage rykkere.", + "bemaerkninger": "Registerprofil af typen \"single\", ikke i OIOUBL Profiler-guiden (G26) v1.3. Praktisk fordi Reminder ikke findes i Peppol BIS Billing og derfor kun kan sendes i OIOUBL-profilerne.", + "kilde": { + "label": "Nemhandelsregistret", + "url": "https://nemhandel.dk/nemhandelsregisteret" + } + }, + { + "standard": "Nemhandel OIOUBL (UBL 2.1)", + "kategori": "Udvidet fakturering", + "navn": "Procurement-PayBas-1.0 (kontoudtog)", + "id": "Procurement-PayBas-1.0", + "customization": "OIOUBL-2.x", + "dokumenter": [ + "Statement", + "ApplicationResponse" + ], + "anvendelse": "Leverandør sender kontoudtog (Statement) til kunden, en samlet oversigt over udestående poster, ikke en faktura.", + "bemaerkninger": "G26 kalder profilen direkte \"Statement\". Trods \"Pay\"-navnet er der ingen betalingsdokumenter i profilen.", + "kilde": { + "label": "OIOUBL Profiler (G26)", + "url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf" + } + }, + { + "standard": "Nemhandel OIOUBL (UBL 2.1)", + "kategori": "Udvidet fakturering", + "navn": "Procurement-PayBasR-1.0 (kontoudtog m. krævet svar)", + "id": "Procurement-PayBasR-1.0", + "customization": "OIOUBL-2.x", + "dokumenter": [ + "Statement", + "ApplicationResponse" + ], + "anvendelse": "Som PayBas, men kunden skal kvittere for kontoudtoget.", + "bemaerkninger": "R = svar påkrævet.", + "kilde": { + "label": "OIOUBL Profiler (G26)", + "url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf" + } + }, + { + "standard": "Nemhandel OIOUBL (UBL 2.1)", + "kategori": "Udvidet fakturering", + "navn": "urn:www.nesubl.eu:profiles:profile8:ver2.0 (NES8)", + "id": "urn:www.nesubl.eu:profiles:profile8:ver2.0", + "customization": "OIOUBL-2.x", + "dokumenter": [ + "Invoice", + "CreditNote", + "ApplicationResponse" + ], + "anvendelse": "NES-faktureringsprofil med kvittering: faktura og kreditnota, hvor kunden kan svare med ApplicationResponse.", + "bemaerkninger": "NES5 udvidet med ApplicationResponse. Ingen Reminder.", + "kilde": { + "label": "OIOUBL Profiler (G26)", + "url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf" + } + }, + { + "standard": "Nemhandel OIOUBL (UBL 2.1)", + "kategori": "Udvidet katalog", + "navn": "Catalogue-CatAdv-1.0 (avanceret katalog)", + "id": "Catalogue-CatAdv-1.0", + "customization": "OIOUBL-2.x", + "dokumenter": [ + "CatalogueRequest", + "Catalogue", + "CatalogueItemSpecificationUpdate", + "CataloguePricingUpdate", + "CatalogueDeletion", + "ApplicationResponse" + ], + "anvendelse": "Fuld katalogproces: forespørgsel, katalog, opdatering af både varebeskrivelser og priser samt sletning.", + "bemaerkninger": "Den mest komplette katalogprofil: CatExt plus katalogforespørgsel.", + "kilde": { + "label": "OIOUBL Profiler (G26)", + "url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf" + } + }, + { + "standard": "Nemhandel OIOUBL (UBL 2.1)", + "kategori": "Udvidet katalog", + "navn": "Catalogue-CatAdvR-1.0 (avanceret katalog m. krævet svar)", + "id": "Catalogue-CatAdvR-1.0", + "customization": "OIOUBL-2.x", + "dokumenter": [ + "CatalogueRequest", + "Catalogue", + "CatalogueItemSpecificationUpdate", + "CataloguePricingUpdate", + "CatalogueDeletion", + "ApplicationResponse" + ], + "anvendelse": "Som CatAdv, men modtageren skal kvittere for katalogdokumenterne.", + "bemaerkninger": "R = svar påkrævet.", + "kilde": { + "label": "OIOUBL Profiler (G26)", + "url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf" + } + }, + { + "standard": "Nemhandel OIOUBL (UBL 2.1)", + "kategori": "Udvidet katalog", + "navn": "Catalogue-CatBasR-1.0 (basalt katalog m. krævet svar)", + "id": "Catalogue-CatBasR-1.0", + "customization": "OIOUBL-2.x", + "dokumenter": [ + "Catalogue", + "CatalogueDeletion", + "ApplicationResponse" + ], + "anvendelse": "Som CatBas, men kunden skal kvittere for kataloget.", + "bemaerkninger": "R = svar påkrævet.", + "kilde": { + "label": "OIOUBL Profiler (G26)", + "url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf" + } + }, + { + "standard": "Nemhandel OIOUBL (UBL 2.1)", + "kategori": "Udvidet katalog", + "navn": "Catalogue-CatExt-1.0 (udvidet katalog + opdatering)", + "id": "Catalogue-CatExt-1.0", + "customization": "OIOUBL-2.x", + "dokumenter": [ + "Catalogue", + "CatalogueItemSpecificationUpdate", + "CataloguePricingUpdate", + "CatalogueDeletion", + "ApplicationResponse" + ], + "anvendelse": "Katalogudveksling med efterfølgende opdatering af varebeskrivelser og priser samt sletning. Ingen katalogforespørgsel.", + "bemaerkninger": "CatBas udvidet med opdateringsdokumenter.", + "kilde": { + "label": "OIOUBL Profiler (G26)", + "url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf" + } + }, + { + "standard": "Nemhandel OIOUBL (UBL 2.1)", + "kategori": "Udvidet katalog", + "navn": "Catalogue-CatExtR-1.0 (udvidet katalog + opdatering m. krævet svar)", + "id": "Catalogue-CatExtR-1.0", + "customization": "OIOUBL-2.x", + "dokumenter": [ + "Catalogue", + "CatalogueItemSpecificationUpdate", + "CataloguePricingUpdate", + "CatalogueDeletion", + "ApplicationResponse" + ], + "anvendelse": "Som CatExt, men kunden skal kvittere.", + "bemaerkninger": "R = svar påkrævet.", + "kilde": { + "label": "OIOUBL Profiler (G26)", + "url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf" + } + }, + { + "standard": "Nemhandel OIOUBL (UBL 2.1)", + "kategori": "Udvidet katalog", + "navn": "Catalogue-CatSimR-1.0 (katalogforespørgsel + katalog m. krævet svar)", + "id": "Catalogue-CatSimR-1.0", + "customization": "OIOUBL-2.x", + "dokumenter": [ + "CatalogueRequest", + "Catalogue", + "CatalogueDeletion", + "ApplicationResponse" + ], + "anvendelse": "Som CatSim, men katalogsvar er påkrævet.", + "bemaerkninger": "R = svar påkrævet.", + "kilde": { + "label": "OIOUBL Profiler (G26)", + "url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf" + } + }, + { + "standard": "Nemhandel OIOUBL (UBL 2.1)", + "kategori": "Udvidet katalog", + "navn": "urn:www.nesubl.eu:profiles:profile1:ver2.0 (NES1, \"Catalogue Only\")", + "id": "urn:www.nesubl.eu:profiles:profile1:ver2.0", + "customization": "OIOUBL-2.x", + "dokumenter": [ + "Catalogue", + "ApplicationResponse" + ], + "anvendelse": "Ren katalogudsendelse: leverandør sender katalog, kunden kan afvise.", + "bemaerkninger": "Ældre NES-katalogprofil; Catalogue-CatBas-1.0 anbefales i stedet.", + "kilde": { + "label": "OIOUBL Profiler (G26)", + "url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf" + } + }, + { + "standard": "Nemhandel OIOUBL (UBL 2.1)", + "kategori": "Udvidet katalog", + "navn": "urn:www.nesubl.eu:profiles:profile2:ver2.0 (NES2, simpel katalogproces)", + "id": "urn:www.nesubl.eu:profiles:profile2:ver2.0", + "customization": "OIOUBL-2.x", + "dokumenter": [ + "Catalogue", + "CatalogueItemSpecificationUpdate", + "CataloguePricingUpdate" + ], + "anvendelse": "Katalog med efterfølgende opdatering af varebeskrivelser og priser. Ingen kvittering i profilen.", + "bemaerkninger": "Ældre NES-katalogprofil; Catalogue-CatExt-1.0 anbefales i stedet.", + "kilde": { + "label": "OIOUBL Profiler (G26)", + "url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf" + } + }, + { + "standard": "Nemhandel OIOUBL (UBL 2.1)", + "kategori": "Udvidet ordre til fakturering", + "navn": "Procurement-OrdAdv-BilSim-1.0 (avanceret ordre + simpel fakturering)", + "id": "Procurement-OrdAdv-BilSim-1.0", + "customization": "OIOUBL-2.x", + "dokumenter": [ + "Order", + "OrderResponse", + "OrderResponseSimple", + "OrderChange", + "OrderCancellation", + "Invoice", + "CreditNote", + "Reminder", + "ApplicationResponse *" + ], + "anvendelse": "Avanceret ordreproces (fuldt ordresvar samt ordreændring og -annullering) efterfulgt af simpel fakturering.", + "bemaerkninger": "Understøtter begge parter både OrdSim-BilSim og OrdAdv-BilSim, skal OrdAdv-BilSim bruges.", + "kilde": { + "label": "OIOUBL Profiler (G26)", + "url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf" + } + }, + { + "standard": "Nemhandel OIOUBL (UBL 2.1)", + "kategori": "Udvidet ordre til fakturering", + "navn": "Procurement-OrdAdv-BilSimR-1.0 (avanceret ordre + fakturering m. krævet fakturasvar)", + "id": "Procurement-OrdAdv-BilSimR-1.0", + "customization": "OIOUBL-2.x", + "dokumenter": [ + "Order", + "OrderResponse", + "OrderResponseSimple", + "OrderChange", + "OrderCancellation", + "Invoice", + "CreditNote", + "Reminder", + "ApplicationResponse *" + ], + "anvendelse": "Som OrdAdv-BilSim, men fakturasvar (ApplicationResponse) er påkrævet.", + "bemaerkninger": "R sidder på fakturadelen, ordresvaret er stadig valgfrit.", + "kilde": { + "label": "OIOUBL Profiler (G26)", + "url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf" + } + }, + { + "standard": "Nemhandel OIOUBL (UBL 2.1)", + "kategori": "Udvidet ordre til fakturering", + "navn": "Procurement-OrdAdvR-BilSim-1.0 (avanceret ordre m. krævet ordresvar + simpel fakturering)", + "id": "Procurement-OrdAdvR-BilSim-1.0", + "customization": "OIOUBL-2.x", + "dokumenter": [ + "Order", + "OrderResponse", + "OrderResponseSimple", + "OrderChange", + "OrderCancellation", + "Invoice", + "CreditNote", + "Reminder", + "ApplicationResponse *" + ], + "anvendelse": "Som OrdAdv-BilSim, men ordresvar er påkrævet.", + "bemaerkninger": "R sidder på ordredelen, fakturasvaret er valgfrit.", + "kilde": { + "label": "OIOUBL Profiler (G26)", + "url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf" + } + }, + { + "standard": "Nemhandel OIOUBL (UBL 2.1)", + "kategori": "Udvidet ordre til fakturering", + "navn": "Procurement-OrdAdvR-BilSimR-1.0 (avanceret ordre + fakturering, begge svar krævet)", + "id": "Procurement-OrdAdvR-BilSimR-1.0", + "customization": "OIOUBL-2.x", + "dokumenter": [ + "Order", + "OrderResponse", + "OrderResponseSimple", + "OrderChange", + "OrderCancellation", + "Invoice", + "CreditNote", + "Reminder", + "ApplicationResponse *" + ], + "anvendelse": "Avanceret ordre og fakturering hvor både ordresvar og fakturasvar er påkrævet.", + "bemaerkninger": "Strammeste variant af ordre-til-faktura-kæden.", + "kilde": { + "label": "OIOUBL Profiler (G26)", + "url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf" + } + }, + { + "standard": "Nemhandel OIOUBL (UBL 2.1)", + "kategori": "Udvidet ordre til fakturering", + "navn": "Procurement-OrdSel-BilSim-1.0 (sælgerinitieret ordre + simpel fakturering)", + "id": "Procurement-OrdSel-BilSim-1.0", + "customization": "OIOUBL-2.x", + "dokumenter": [ + "OrderResponse", + "OrderResponseSimple", + "OrderChange", + "OrderCancellation", + "Invoice", + "CreditNote", + "Reminder", + "ApplicationResponse *" + ], + "anvendelse": "Sælgerinitieret handel: leverandøren starter med en ordrebekræftelse (fx efter aftale i marken eller telefonisk), kunden kan ændre eller annullere, og der faktureres bagefter.", + "bemaerkninger": "Bemærk: ingen Order i profilen, \"Sel\" = seller initiated, så processen starter med OrderResponse.", + "kilde": { + "label": "OIOUBL Profiler (G26)", + "url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf" + } + }, + { + "standard": "Nemhandel OIOUBL (UBL 2.1)", + "kategori": "Udvidet ordre til fakturering", + "navn": "Procurement-OrdSel-BilSimR-1.0 (sælgerinitieret ordre + fakturering m. krævet svar)", + "id": "Procurement-OrdSel-BilSimR-1.0", + "customization": "OIOUBL-2.x", + "dokumenter": [ + "OrderResponse", + "OrderResponseSimple", + "OrderChange", + "OrderCancellation", + "Invoice", + "CreditNote", + "Reminder", + "ApplicationResponse *" + ], + "anvendelse": "Som OrdSel-BilSim, men fakturasvar er påkrævet.", + "bemaerkninger": "Ingen Order i profilen, processen starter hos sælger.", + "kilde": { + "label": "OIOUBL Profiler (G26)", + "url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf" + } + }, + { + "standard": "Nemhandel OIOUBL (UBL 2.1)", + "kategori": "Udvidet ordre til fakturering", + "navn": "Procurement-OrdSim-BilSimR-1.0 (simpel ordre + fakturering m. krævet fakturasvar)", + "id": "Procurement-OrdSim-BilSimR-1.0", + "customization": "OIOUBL-2.x", + "dokumenter": [ + "Order", + "OrderResponseSimple", + "Invoice", + "CreditNote", + "Reminder", + "ApplicationResponse *" + ], + "anvendelse": "Simpel ordre + fakturering hvor fakturasvar (ApplicationResponse) er påkrævet.", + "bemaerkninger": "R sidder på fakturadelen.", + "kilde": { + "label": "OIOUBL Profiler (G26)", + "url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf" + } + }, + { + "standard": "Nemhandel OIOUBL (UBL 2.1)", + "kategori": "Udvidet ordre til fakturering", + "navn": "Procurement-OrdSimR-BilSim-1.0 (simpel ordre m. krævet ordresvar + fakturering)", + "id": "Procurement-OrdSimR-BilSim-1.0", + "customization": "OIOUBL-2.x", + "dokumenter": [ + "Order", + "OrderResponseSimple", + "Invoice", + "CreditNote", + "Reminder", + "ApplicationResponse *" + ], + "anvendelse": "Som OrdSim-BilSim, men ordresvar er påkrævet.", + "bemaerkninger": "R sidder på ordredelen.", + "kilde": { + "label": "OIOUBL Profiler (G26)", + "url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf" + } + }, + { + "standard": "Nemhandel OIOUBL (UBL 2.1)", + "kategori": "Udvidet ordre til fakturering", + "navn": "Procurement-OrdSimR-BilSimR-1.0 (simpel ordre + fakturering, begge svar krævet)", + "id": "Procurement-OrdSimR-BilSimR-1.0", + "customization": "OIOUBL-2.x", + "dokumenter": [ + "Order", + "OrderResponseSimple", + "Invoice", + "CreditNote", + "Reminder", + "ApplicationResponse *" + ], + "anvendelse": "Simpel ordre og fakturering hvor både ordresvar og fakturasvar er påkrævet.", + "bemaerkninger": "Begge R’er sat, modparten skal kvittere i begge led.", + "kilde": { + "label": "OIOUBL Profiler (G26)", + "url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf" + } + }, + { + "standard": "Nemhandel OIOUBL (UBL 2.1)", + "kategori": "Udvidet ordre til fakturering", + "navn": "urn:www.nesubl.eu:profiles:profile7:ver2.0 (NES7, ordre til faktura)", + "id": "urn:www.nesubl.eu:profiles:profile7:ver2.0", + "customization": "OIOUBL-2.x", + "dokumenter": [ + "Order", + "OrderResponseSimple", + "Invoice", + "CreditNote", + "ApplicationResponse *" + ], + "anvendelse": "NES-profil for simpel ordre efterfulgt af simpel fakturering.", + "bemaerkninger": "Ældre NES-pendant til OrdSim-BilSim. Ingen Reminder i profilen.", + "kilde": { + "label": "OIOUBL Profiler (G26)", + "url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf" + } + }, + { + "standard": "Nemhandel OIOUBL (UBL 2.1)", + "kategori": "ForsyningsSpecifikation", + "navn": "Reference-Utility-1.0 (forsyningsspecifikation, UTS)", + "id": "Reference-Utility-1.0", + "customization": "OIOUBL-2.x", + "dokumenter": [ + "UtilityStatement", + "ApplicationResponse" + ], + "anvendelse": "Forsyningsbranchen (el/vand/varme/gas): leverandør sender detaljeret forbrugs-/forsyningsspecifikation der ledsager fakturaen; kunden kan svare med ApplicationResponse.", + "bemaerkninger": "Bruges som tillæg til en faktureringsprofil, UTS erstatter ikke fakturaen.", + "kilde": { + "label": "OIOUBL Profiler (G26)", + "url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf" + } + }, + { + "standard": "Nemhandel OIOUBL (UBL 2.1)", + "kategori": "ForsyningsSpecifikation", + "navn": "Reference-UtilityR-1.0 (forsyningsspecifikation m. krævet svar)", + "id": "Reference-UtilityR-1.0", + "customization": "OIOUBL-2.x", + "dokumenter": [ + "UtilityStatement", + "ApplicationResponse" + ], + "anvendelse": "Som Reference-Utility, men kunden skal kvittere for forsyningsspecifikationen.", + "bemaerkninger": "R = svar påkrævet.", + "kilde": { + "label": "OIOUBL Profiler (G26)", + "url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf" + } + }, + { + "standard": "Nemhandel OIOUBL (UBL 2.1)", + "kategori": "Diverse", + "navn": "Procurement-TecRes-1.0 (kvittering på modtaget dokument)", + "id": "Procurement-TecRes-1.0", + "customization": "OIOUBL-2.x", + "dokumenter": [ + "ApplicationResponse" + ], + "anvendelse": "Ren kvitteringsprofil: bruges til at svare på et modtaget dokument, typisk når afsendelsen ikke kan behandles pga. tekniske fejl eller en ikke-understøttet profil.", + "bemaerkninger": "Bruges som ProfileID på selve ApplicationResponse’en, ikke som en forretningsproces man handler i.", + "kilde": { + "label": "OIOUBL Profiler (G26)", + "url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf" + } + }, + { + "standard": "Nemhandel OIOUBL (UBL 2.1)", + "navn": "urn:www.cenbii.eu:profile:bii30:ver2.0 (forsendelsesadvis / despatch advice)", + "id": "urn:www.cenbii.eu:profile:bii30:ver2.0", + "customization": "OIOUBL-2.x", + "dokumenter": [ + "DespatchAdvice" + ], + "anvendelse": "Leverandør varsler en forsendelse, så kunden kan forberede modtagelse og afstemme leveringen mod ordren.", + "bemaerkninger": "CEN BII-profil optaget i OIOUBL (G26 afsnit 3.3.15). Ikke placeret i en registerkategori her, bekræft gruppen i Nemhandelsregistrets dropdown før brug.", + "kategori": "", + "kilde": { + "label": "OIOUBL Profiler (G26)", + "url": "https://oioubl21.oioubl.dk/documents/en/en/Guidelines/OIOUBL_GUIDE_PROFILES.pdf" + } + }, + { + "standard": "Peppol BIS 3.0", + "navn": "Peppol BIS Billing 3.0", + "id": "urn:fdc:peppol.eu:2017:poacc:billing:01:1.0", + "customization": "urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0", + "dokumenter": [ + "Invoice", + "CreditNote" + ], + "anvendelse": "Den centrale e-faktura/kreditnota-pakke i Peppol. CIUS af EN 16931. Bruges til EU-grænsehandel og DK/Peppol-fakturering.", + "bemaerkninger": "Langt den mest brugte BIS3-profil. Invoice Response er en separat profil. Bemærk: Reminder findes ikke i Peppol, brug OIOUBL-profilerne til rykkere.", + "kategori": "", + "kilde": { + "label": "docs.peppol.eu · BIS Billing 3.0", + "url": "https://docs.peppol.eu/poacc/billing/3.0/" + } + }, + { + "standard": "Peppol BIS 3.0", + "navn": "Peppol BIS Self-Billing 3.0", + "id": "urn:fdc:peppol.eu:2017:poacc:selfbilling:01:1.0", + "customization": "urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0#conformant#urn:fdc:peppol.eu:2017:poacc:selfbilling:international:3.0", + "dokumenter": [ + "Invoice (self-billed)", + "CreditNote" + ], + "anvendelse": "Selvfakturering: køber udsteder fakturaen på vegne af sælger.", + "bemaerkninger": "Genbruger Billing-syntaks med self-billing customization.", + "kategori": "", + "kilde": { + "label": "docs.peppol.eu · Self-Billing 3.0", + "url": "https://docs.peppol.eu/poacc/self-billing/3.0/" + } + }, + { + "standard": "Peppol BIS 3.0", + "navn": "Peppol BIS Invoice Response 3.0", + "id": "urn:fdc:peppol.eu:poacc:bis:invoice_response:3", + "customization": "urn:fdc:peppol.eu:poacc:trns:invoice_response:3", + "dokumenter": [ + "ApplicationResponse (Invoice Response)" + ], + "anvendelse": "Køber sender struktureret status/svar på en modtaget faktura (accepteret, afvist, under behandling, betalt).", + "bemaerkninger": "Bruges sammen med Billing til at lukke faktura-livscyklussen. Peppol-pendant til OIOUBL-ernes \"R\"-profiler.", + "kategori": "", + "kilde": { + "label": "docs.peppol.eu · BIS v3", + "url": "https://docs.peppol.eu/poacc/upgrade-3/" + } + }, + { + "standard": "Peppol BIS 3.0", + "navn": "Peppol BIS Message Level Response 3.0 (MLR)", + "id": "urn:fdc:peppol.eu:poacc:bis:mlr:3", + "customization": "urn:fdc:peppol.eu:poacc:trns:mlr:3", + "dokumenter": [ + "ApplicationResponse (Message Level Response)" + ], + "anvendelse": "Teknisk kvittering på beskedniveau: bekræfter modtagelse/validering af et hvilket som helst dokument.", + "bemaerkninger": "Transport-/syntaks-niveau svar, ikke forretningsmæssigt indhold. Peppol-pendant til Procurement-TecRes-1.0.", + "kategori": "", + "kilde": { + "label": "docs.peppol.eu · BIS v3", + "url": "https://docs.peppol.eu/poacc/upgrade-3/" + } + }, + { + "standard": "Peppol BIS 3.0", + "navn": "Peppol BIS Ordering 3.0", + "id": "urn:fdc:peppol.eu:poacc:bis:ordering:3", + "customization": "urn:fdc:peppol.eu:poacc:trns:order:3 / urn:fdc:peppol.eu:poacc:trns:order_response:3", + "dokumenter": [ + "Order", + "Order Response" + ], + "anvendelse": "Fuld ordreproces: køber sender ordre, sælger svarer med ordrebekræftelse/-svar.", + "bemaerkninger": "Order = Trdm01, Order Response = Trdm76. Peppol-pendant til Procurement-OrdSim-1.0.", + "kategori": "", + "kilde": { + "label": "docs.peppol.eu · BIS v3", + "url": "https://docs.peppol.eu/poacc/upgrade-3/" + } + }, + { + "standard": "Peppol BIS 3.0", + "navn": "Peppol BIS Order Only 3.0", + "id": "urn:fdc:peppol.eu:poacc:bis:order_only:3", + "customization": "urn:fdc:peppol.eu:poacc:trns:order:3", + "dokumenter": [ + "Order" + ], + "anvendelse": "Kun afsendelse af ordre uden forventet struktureret ordresvar.", + "bemaerkninger": "Enkel ordre-only proces. Peppol-pendant til NES3 (\"Order Only\").", + "kategori": "", + "kilde": { + "label": "docs.peppol.eu · BIS v3", + "url": "https://docs.peppol.eu/poacc/upgrade-3/" + } + }, + { + "standard": "Peppol BIS 3.0", + "navn": "Peppol BIS Order Agreement 3.0 (Advanced Ordering)", + "id": "urn:fdc:peppol.eu:poacc:bis:order_agreement:3", + "customization": "urn:fdc:peppol.eu:poacc:trns:order_agreement:3", + "dokumenter": [ + "Order", + "Order Response (Advanced)" + ], + "anvendelse": "Avanceret ordre der etablerer en bindende ordreaftale mellem parterne.", + "bemaerkninger": "Bruges hvor ordresvar danner juridisk aftale.", + "kategori": "", + "kilde": { + "label": "docs.peppol.eu · BIS v3", + "url": "https://docs.peppol.eu/poacc/upgrade-3/" + } + }, + { + "standard": "Peppol BIS 3.0", + "navn": "Peppol BIS Catalogue 3.0", + "id": "urn:fdc:peppol.eu:poacc:bis:catalogue:3", + "customization": "urn:fdc:peppol.eu:poacc:trns:catalogue:3", + "dokumenter": [ + "Catalogue", + "ApplicationResponse (Catalogue Response)" + ], + "anvendelse": "Sælger sender produktkatalog (priser/varer) til køber, der kan svare med accept/afvisning.", + "bemaerkninger": "Grundlag for efterfølgende ordrer. Peppol-pendant til Catalogue-CatBasR-1.0.", + "kategori": "", + "kilde": { + "label": "docs.peppol.eu · BIS v3", + "url": "https://docs.peppol.eu/poacc/upgrade-3/" + } + }, + { + "standard": "Peppol BIS 3.0", + "navn": "Peppol BIS Catalogue without Response 3.0", + "id": "urn:fdc:peppol.eu:poacc:bis:catalogue_wo_response:3", + "customization": "urn:fdc:peppol.eu:poacc:trns:catalogue:3", + "dokumenter": [ + "Catalogue" + ], + "anvendelse": "Katalogudsendelse uden forventet katalogsvar.", + "bemaerkninger": "Variant uden Catalogue Response.", + "kategori": "", + "kilde": { + "label": "docs.peppol.eu · BIS v3", + "url": "https://docs.peppol.eu/poacc/upgrade-3/" + } + }, + { + "standard": "Peppol BIS 3.0", + "navn": "Peppol BIS Punch Out 3.0", + "id": "urn:fdc:peppol.eu:poacc:bis:punch_out:3", + "customization": "urn:fdc:peppol.eu:poacc:trns:punch_out:3", + "dokumenter": [ + "Catalogue (Punch Out)" + ], + "anvendelse": "Punch-out katalog: køber 'hopper ud' til sælgers webshop og henter en kurv tilbage.", + "bemaerkninger": "Bruges i e-handels-/webshop-integrationer.", + "kategori": "", + "kilde": { + "label": "docs.peppol.eu · BIS v3", + "url": "https://docs.peppol.eu/poacc/upgrade-3/" + } + }, + { + "standard": "Peppol BIS 3.0", + "navn": "Peppol BIS Despatch Advice 3.0", + "id": "urn:fdc:peppol.eu:poacc:bis:despatch_advice:3", + "customization": "urn:fdc:peppol.eu:poacc:trns:despatch_advice:3", + "dokumenter": [ + "Despatch Advice (følgeseddel)" + ], + "anvendelse": "Sælger sender forsendelses-/leveringsmeddelelse (hvad er afsendt, hvornår, hvordan) inden faktura.", + "bemaerkninger": "Logistik-dokument mellem ordre og faktura. Peppol-pendant til urn:www.cenbii.eu:profile:bii30:ver2.0 i OIOUBL.", + "kategori": "", + "kilde": { + "label": "docs.peppol.eu · BIS v3", + "url": "https://docs.peppol.eu/poacc/upgrade-3/" + } + }, + { + "standard": "Peppol BIS 4.0 / PINT", + "navn": "EU PINT Billing (v1.0.1; forløber for BIS Billing 4.0)", + "id": "urn:peppol:pint:billing-1@eu-1 (PINT EU Billing)", + "customization": "urn:peppol:pint:billing-1@eu-1", + "dokumenter": [ + "Invoice", + "CreditNote" + ], + "anvendelse": "Peppols internationale fakturamodel (PINT) tilpasset EU. Implementerer BIS Billing 3.0 som PINT-kompatibel uden ændringer; baner vej for grænseoverskridende fakturering mod lande med egne PINT-specs (AU/JP/MY/NZ/SG m.fl.).", + "bemaerkninger": "v1.0.0 udgivet okt. 2025, nu v1.0.1. CIUS af EN 16931. NB: identifikator-format afviger fra BIS3, verificér mod docs.peppol.eu/poac/eu/pint-eu inden brug.", + "kategori": "", + "kilde": { + "label": "docs.peppol.eu · EU PINT Billing", + "url": "https://docs.peppol.eu/poac/eu/pint-eu/" + } + }, + { + "standard": "Peppol BIS 4.0 / PINT", + "navn": "Peppol BIS Billing 4.0 (kommende)", + "id": "(endnu ikke endeligt fastlagt)", + "customization": "(endnu ikke endeligt fastlagt)", + "dokumenter": [ + "Invoice", + "CreditNote (forventet)" + ], + "anvendelse": "Næste generation der lægger BIS og PINT sammen til ét globalt faktura-format. Forventet 2026, endnu ikke udgivet (pr. juni 2026).", + "bemaerkninger": "STATUS: under udarbejdelse pr. juni 2026, ID'er og indhold ikke endeligt publiceret. Brug BIS Billing 3.0 / EU PINT i mellemtiden.", + "kategori": "", + "kilde": { + "label": "Peppol roadmap", + "url": "https://docs.peppol.eu/poac/" + } + } + ] +} diff --git a/data/seo.json b/data/seo.json new file mode 100644 index 0000000..40c6271 --- /dev/null +++ b/data/seo.json @@ -0,0 +1,144 @@ +{ + "baseGraph": { + "@context": "https://schema.org", + "@graph": [ + { + "@type": "WebSite", + "@id": "https://asger.weirsoe.dk/#website", + "url": "https://asger.weirsoe.dk/", + "name": "Asger Weirsøe", + "description": "Asger Weirsøe er datalog (cand.scient. fra Aalborg Universitet) og Technical Solution Architect hos Digisense. Peppol, NemHandel, e-faktura, selvhosting, Proxmox og AI.", + "inLanguage": "da-DK", + "publisher": { + "@id": "https://asger.weirsoe.dk/#person" + } + }, + { + "@type": "Person", + "@id": "https://asger.weirsoe.dk/#person", + "name": "Asger Geel Weirsøe", + "alternateName": "Asger Weirsøe", + "url": "https://asger.weirsoe.dk/", + "image": "https://asger.weirsoe.dk/asger.png", + "jobTitle": [ + "Datalog", + "Technical Solution Architect" + ], + "hasOccupation": { + "@type": "Occupation", + "name": "Datalog", + "occupationalCategory": "2512 Softwareudvikler" + }, + "hasCredential": [ + { + "@type": "EducationalOccupationalCredential", + "credentialCategory": "degree", + "educationalLevel": "Master's degree", + "name": "Cand.scient. i Datalogi", + "recognizedBy": { + "@type": "CollegeOrUniversity", + "name": "Aalborg Universitet" + } + }, + { + "@type": "EducationalOccupationalCredential", + "credentialCategory": "license", + "name": "Radioamatørlicens, kategori B (kaldesignal OZ0AGW)", + "dateCreated": "2024-05-18" + }, + { + "@type": "EducationalOccupationalCredential", + "credentialCategory": "license", + "name": "Jagttegn", + "dateCreated": "2020" + } + ], + "callSign": "OZ0AGW", + "worksFor": { + "@type": "Organization", + "name": "Digisense A/S" + }, + "alumniOf": { + "@type": "CollegeOrUniversity", + "name": "Aalborg Universitet" + }, + "homeLocation": { + "@type": "Place", + "name": "Nørresundby, Danmark" + }, + "nationality": { + "@type": "Country", + "name": "Danmark" + }, + "knowsLanguage": [ + "da", + "en" + ], + "knowsAbout": [ + "Peppol", + "Peppol Access Point", + "Peppol BIS", + "Peppol eDelivery", + "Oxalis", + "NemHandel", + "Elektronisk fakturering", + "E-faktura", + "Electronic invoicing", + "OIOUBL", + "UBL", + "e-Delivery (AS4)", + "EN 16931", + "E-procurement", + "EDI", + "Softwarearkitektur", + "Løsningsarkitektur", + "Forretningsforståelse", + "Digitalisering af fakturaflows", + "Rådgivning", + "Kravspecifikation", + "Incident response", + "Incident management", + "Hændelseshåndtering", + "ISO/IEC 27001", + "Informationssikkerhed", + "ISMS", + "Sårbarhedshåndtering", + "Proxmox", + "Selvhosting", + "Kunstig intelligens", + "Linux", + "DevOps", + "OIDC", + "SSO", + "Fuld-stack udvikling", + "Docker", + "Amatørradio", + "Radioamatør", + "Radiokommunikation" + ], + "sameAs": [ + "https://www.linkedin.com/in/ag-weirs%C3%B8e/", + "https://mastodon.social/@asgerweirsoee", + "https://github.com/asger-weirsoee", + "https://gitea.weircon.dk/agw", + "https://arxiv.org/abs/2310.00999" + ], + "description": "Asger Weirsøe er datalog (cand.scient. fra Aalborg Universitet) og Technical Solution Architect hos Digisense A/S. Han bygger bro mellem forretning og teknik og har en bred profil inden for elektronisk fakturering og e-procurement: Peppol (Access Point, eDelivery/AS4, Oxalis), NemHandel og OIOUBL, kombineret med forretningsforståelse, selvhosting, Proxmox og AI. Han er desuden licenseret radioamatør med B-licens og kaldesignalet OZ0AGW." + } + ] + }, + "profilePage": { + "@context": "https://schema.org", + "@type": "ProfilePage", + "@id": "https://asger.weirsoe.dk/#profilepage", + "url": "https://asger.weirsoe.dk/", + "name": "Asger Weirsøe", + "mainEntity": { + "@id": "https://asger.weirsoe.dk/#person" + }, + "about": { + "@id": "https://asger.weirsoe.dk/#person" + }, + "inLanguage": "da-DK" + } +} diff --git a/data/uses.json b/data/uses.json new file mode 100644 index 0000000..bc690fd --- /dev/null +++ b/data/uses.json @@ -0,0 +1,67 @@ +{ + "sections": [ + { + "title": "Homelab", + "items": [ + { + "name": "Proxmox VE", + "note": "Hypervisor på egen hardware. ~50 LXC-containere og et par KVM-VM’er, én tjeneste pr. container." + }, + { + "name": "NPMplus", + "note": "Reverse proxy og TLS-terminering på kanten. Alt trafik ind går her igennem." + }, + { + "name": "Authentik", + "note": "Self-hosted SSO (OIDC/LDAP). Én identitet til alle tjenester, bygget fra source." + }, + { + "name": "Gitea + Gitea Actions", + "note": "Egen git-hosting og CI/CD. Denne side deployes automatisk ved push." + }, + { + "name": "MariaDB / Redis / PostgreSQL", + "note": "Databaser som dedikerede containere." + }, + { + "name": "Matomo", + "note": "Self-hosted analytics, first-party og uden tredjeparter." + }, + { + "name": "WireGuard", + "note": "Tunneler og netns-baserede egress-profiler til alt der skal ud af huset på en pæn måde." + } + ] + }, + { + "title": "Udvikling", + "items": [ + { + "name": "Linux + code-server", + "note": "Udvikling foregår i en dedikeret LXC med VS Code i browseren." + }, + { + "name": "Java · Go · Python · TypeScript", + "note": "Java til Peppol/eDelivery-verdenen, Python/TS til alt det andet." + }, + { + "name": "Claude Code", + "note": "LLM-drevne workflows, fra blogindlæg til Proxmox-administration." + }, + { + "name": "Docker", + "note": "Hvor det giver mening. Ellers foretrækker jeg native installationer i LXC." + } + ] + }, + { + "title": "Denne side", + "items": [ + { + "name": "Astro 5 + Bun + Tailwind 4", + "note": "Statisk output, ingen JS-frameworks i browseren. Se kolofonen for detaljer." + } + ] + } + ] +} diff --git a/package.json b/package.json deleted file mode 100644 index c8e28f9..0000000 --- a/package.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "name": "asger-weirsoe-dk", - "type": "module", - "private": true, - "scripts": { - "dev": "astro dev --host", - "build": "astro build", - "preview": "astro preview" - }, - "dependencies": { - "@astrojs/rss": "^4.0.11", - "@astrojs/sitemap": "^3.3.0", - "@fontsource-variable/inter": "^5.2.5", - "@tailwindcss/vite": "^4.1.5", - "@vite-pwa/astro": "^0.5.0", - "astro": "^5.7.0", - "mermaid": "^11.15.0", - "sharp": "^0.34.5", - "tailwindcss": "^4.1.5" - } -} diff --git a/public/.well-known/security.txt b/public/.well-known/security.txt deleted file mode 100644 index dd0564d..0000000 --- a/public/.well-known/security.txt +++ /dev/null @@ -1,5 +0,0 @@ -Contact: mailto:asger@weirsoe.dk -Expires: 2027-06-30T22:00:00.000Z -Preferred-Languages: da, en -Canonical: https://asger.xn--weirse-fya.dk/.well-known/security.txt -Policy: https://asger.xn--weirse-fya.dk/colophon diff --git a/scripts/build.sh b/scripts/build.sh new file mode 100755 index 0000000..29967e2 --- /dev/null +++ b/scripts/build.sh @@ -0,0 +1,8 @@ +#!/bin/sh +# Bygger sitet til public/. PW_PREVIEW=1 giver preview-buildet under /udkast. +set -eu +TOOLS="${TOOLS:-.tools}" +python3 scripts/prebuild.py +"$TOOLS/tailwindcss" --input assets/site.css --output static/css/site.css --minify +"$TOOLS/zola" build +python3 scripts/postbuild.py diff --git a/scripts/godkendelse.py b/scripts/godkendelse.py new file mode 100755 index 0000000..1ddca0d --- /dev/null +++ b/scripts/godkendelse.py @@ -0,0 +1,61 @@ +"""Godkendelsesstemplet på blogindlæg: HMAC-SHA256 over sti, indhold og billeder. + +canonical() skal matche godkendelsestjenesten (service/app.py i agw/pw-drafts) byte for byte. +""" +import hashlib +import hmac +import os +import re + +BLOG = "content/blog" + + +def canonical(rel, text, assets=()): + """assets: [(sti, sha256-hex)] for billederne i bundlen, sorteret efter sti.""" + lines = text.replace("\r\n", "\n").split("\n") + if lines and lines[0] == "---" and "---" in lines[1:]: + end = lines.index("---", 1) + lines = [l for i, l in enumerate(lines) if not (0 < i < end and re.match(r"\s*godkendt:", l))] + return f"{rel}\n" + "\n".join(lines) + "".join(f"\n@asset {p} {h}" for p, h in assets) + + +def sign(key, rel, text, assets=()): + return "v1:" + hmac.new(key, canonical(rel, text, assets).encode(), hashlib.sha256).hexdigest() + + +def sha256_file(path): + with open(path, "rb") as f: + return hashlib.sha256(f.read()).hexdigest() + + +def assets_for(slug): + """Alt i bundlen ud over index.md er billeder, og de ligger fladt.""" + d = f"{BLOG}/{slug}" + out = [] + for name in os.listdir(d): + if name == "index.md": + continue + p = f"{d}/{name}" + if not os.path.isfile(p): + raise ValueError(f"{p}: undermapper understøttes ikke") + if name.endswith(".md"): + raise ValueError(f"{p}: kun index.md må være markdown i en bundle") + out.append((p, sha256_file(p))) + return sorted(out) + + +def read_text(path): + with open(path, "rb") as f: + return f.read().decode() + + +def stamp_of(text): + """(stempel eller None, om indlægget er markeret draft: true)""" + lines = text.replace("\r\n", "\n").split("\n") + end = lines.index("---", 1) if lines[0] == "---" and "---" in lines[1:] else -1 + if end < 0: + return None, False + fm = lines[1:end] + g = next((l for l in fm if re.match(r"\s*godkendt:", l)), None) + draft = any(re.fullmatch(r"draft:\s*true\s*", l) for l in fm) + return (re.sub(r"^\s*godkendt:\s*", "", g).strip("'\"") if g else None), draft diff --git a/scripts/hent-vaerktoej.sh b/scripts/hent-vaerktoej.sh new file mode 100755 index 0000000..c5ba0d6 --- /dev/null +++ b/scripts/hent-vaerktoej.sh @@ -0,0 +1,21 @@ +#!/bin/sh +# Henter zola og Tailwind standalone-CLI til .tools/, fastlåst på version og sha256. +# Bruges af CI her og i agw/pw-drafts. +set -eu +ZOLA=0.23.6 +ZOLA_SHA256=7d77a4220a4f699cba2fc0e0c7859f780e887e269159ad4fab90e11ea16c906f +TAILWIND=4.3.3 +TAILWIND_SHA256=dc61b3ac6b8c9ca874c0cc4c57b2409791a64c5540404ca5f5367360babc313a + +mkdir -p .tools +curl -fsSL -o .tools/zola.tar.gz \ + "https://github.com/getzola/zola/releases/download/v$ZOLA/zola-v$ZOLA-x86_64-unknown-linux-musl.tar.gz" +curl -fsSL -o .tools/tailwindcss \ + "https://github.com/tailwindlabs/tailwindcss/releases/download/v$TAILWIND/tailwindcss-linux-x64" +sha256sum -c - < { - try { - return execFileSync('git', args, { encoding: 'utf8', stdio: ['ignore', 'pipe', 'ignore'] }).trim(); - } catch { - return null; - } -}; - -const sitemapUrls = () => { - const xml = fs.readFileSync('dist/sitemap-0.xml', 'utf8'); - return new Set([...xml.matchAll(/([^<]+)<\/loc>/g)].map((m) => m[1])); -}; - -// src/pages/foo.astro -> /foo/ ; src/content/blog/bar.md -> /blog/bar/ -const routeForFile = (f) => { - let m = f.match(/^src\/pages\/(.+)\.astro$/); - if (m) { - if (m[1].includes('[')) return null; // dynamiske ruter kan vi ikke slå op - if (m[1] === 'index') return '/'; - return `/${m[1].replace(/\/index$/, '')}/`; - } - m = f.match(/^src\/content\/blog\/(.+)\.md$/); - if (m) return `/blog/${m[1]}/`; - return null; -}; - -const changedFiles = () => { - const { GITHUB_EVENT_BEFORE, GITHUB_SHA } = process.env; - const zero = /^0*$/; - if (GITHUB_EVENT_BEFORE && !zero.test(GITHUB_EVENT_BEFORE)) { - const d = git(['diff', '--name-only', GITHUB_EVENT_BEFORE, GITHUB_SHA || 'HEAD']); - if (d !== null) return d ? d.split('\n') : []; - } - const d = git(['diff', '--name-only', 'HEAD~1', 'HEAD']); - return d ? d.split('\n') : null; -}; - -const files = changedFiles(); -if (files === null) { - console.log('IndexNow: kan ikke bestemme hvad der ændrede sig (shallow clone?) — springer over.'); - process.exit(0); -} - -const valid = sitemapUrls(); -const urls = [...new Set(files.map(routeForFile).filter(Boolean).map((r) => ORIGIN + r))].filter((u) => - valid.has(u), -); - -if (!urls.length) { - console.log('IndexNow: ingen sider med ændret indhold i dette push — springer over.'); - process.exit(0); -} - -const body = { - host: HOST, - key: KEY, - keyLocation: `${ORIGIN}/${KEY}.txt`, - urlList: urls, -}; - -console.log(`IndexNow: indsender ${urls.length} URL(er):`); -for (const u of urls) console.log(' ', u); - -// `node scripts/indexnow.mjs --dry-run` viser hvad der ville blive sendt. -if (process.argv.includes('--dry-run')) { - console.log('IndexNow: --dry-run, sender ikke.'); - process.exit(0); -} - -const res = await fetch('https://api.indexnow.org/indexnow', { - method: 'POST', - headers: { 'Content-Type': 'application/json; charset=utf-8' }, - body: JSON.stringify(body), -}); - -console.log(`IndexNow: HTTP ${res.status} ${res.statusText}`); -if (![200, 202].includes(res.status)) { - console.log(await res.text().catch(() => '')); - console.log('IndexNow: afvist — men deployet er allerede ude, så vi fejler ikke buildet.'); -} diff --git a/scripts/indexnow.py b/scripts/indexnow.py new file mode 100755 index 0000000..f3c5569 --- /dev/null +++ b/scripts/indexnow.py @@ -0,0 +1,77 @@ +#!/usr/bin/env python3 +"""Pinger IndexNow med de sider der er ændret i dette push. Kør efter buildet +(bruger public/sitemap-0.xml). --dry-run viser hvad der ville blive sendt.""" +import json +import os +import re +import subprocess +import sys +import urllib.error +import urllib.request + +HOST = "asger.weirsoe.dk" +KEY = "b68b31655cb9c1a662d53905dd0b1b06" +ORIGIN = f"https://{HOST}" + + +def git(*args): + r = subprocess.run(["git", *args], capture_output=True, text=True) + return r.stdout.strip() if r.returncode == 0 else None + + +def sitemap_urls(): + with open("public/sitemap-0.xml") as f: + return set(re.findall(r"([^<]+)", f.read())) + + +def route_for_file(f): + """Kanonisk form uden afsluttende skråstreg, som i sitemap'et.""" + m = re.fullmatch(r"content/(.+?)(/index|/_index|_index)?\.md", f) + if m: + return "/" + m[1].rstrip("/") if m[1] != "_index" else "/" + m = re.fullmatch(r"templates/sider/(.+)\.html", f) or re.fullmatch(r"data/(.+)\.json", f) + if m: + name = {"forside": "", "forside-en": "en", "profiles": "profiler"}.get(m[1], m[1]) + return "/en/" + name[:-3] if name.endswith("-en") else "/" + name + return None + + +def changed_files(): + before, sha = os.environ.get("GITHUB_EVENT_BEFORE"), os.environ.get("GITHUB_SHA") + if before and not re.fullmatch(r"0*", before): + d = git("diff", "--name-only", before, sha or "HEAD") + if d is not None: + return d.split("\n") if d else [] + d = git("diff", "--name-only", "HEAD~1", "HEAD") + return d.split("\n") if d else None + + +def main(): + files = changed_files() + if files is None: + print("IndexNow: kan ikke bestemme hvad der ændrede sig (shallow clone?), springer over.") + return + valid = sitemap_urls() + urls = sorted({ORIGIN + r for r in map(route_for_file, files) if r} & valid) + if not urls: + print("IndexNow: ingen sider med ændret indhold i dette push, springer over.") + return + print(f"IndexNow: indsender {len(urls)} URL(er):") + for u in urls: + print(" ", u) + if "--dry-run" in sys.argv: + print("IndexNow: --dry-run, sender ikke.") + return + body = {"host": HOST, "key": KEY, "keyLocation": f"{ORIGIN}/{KEY}.txt", "urlList": urls} + req = urllib.request.Request("https://api.indexnow.org/indexnow", data=json.dumps(body).encode(), + headers={"Content-Type": "application/json; charset=utf-8"}, method="POST") + try: + with urllib.request.urlopen(req, timeout=30) as r: + print(f"IndexNow: HTTP {r.status} {r.reason}") + except urllib.error.URLError as e: + # Deployet er allerede ude, så vi fejler ikke buildet. + print(f"IndexNow: afvist: {e}") + + +if __name__ == "__main__": + main() diff --git a/scripts/omstempl.py b/scripts/omstempl.py new file mode 100755 index 0000000..677b1b0 --- /dev/null +++ b/scripts/omstempl.py @@ -0,0 +1,103 @@ +#!/usr/bin/env python3 +"""Stempler de udgivne indlæg om efter flytningen fra src/content/blog/.md til +content/blog//index.md. Stien og frontmatter indgår i stemplet, så de gamle er ugyldige. + +Kør på zola-branchen, med master stadig på Astro-versionen: + + PUBLISH_KEY= python3 scripts/omstempl.py [--fra master] + PUBLISH_KEY= python3 scripts/verify-approvals.py + git commit -am "blog: stempl indlæg om efter flytning til Zola" + +Scriptet underskriver kun det der allerede var godkendt. For hvert indlæg tjekker det at +det gamle stempel er gyldigt, og at den nye fil er præcis den gamle i nyt format. Fejler +ét indlæg, skrives der intet. +""" +import argparse +import hashlib +import hmac +import os +import re +import subprocess +import sys + +sys.path.insert(0, os.path.dirname(os.path.abspath(__file__))) +from godkendelse import BLOG, assets_for, read_text, sign, stamp_of # noqa: E402 + +OLD = "src/content/blog" + + +def git(*args, binary=False): + return subprocess.run(["git", *args], check=True, capture_output=True, text=not binary).stdout + + +def old_sign(key, rel, text, assets): + """Det gamle format: stemplet stod som topniveau-linje og er det eneste der skæres fra.""" + lines = text.replace("\r\n", "\n").split("\n") + end = lines.index("---", 1) + lines = [l for i, l in enumerate(lines) if not (0 < i < end and l.startswith("godkendt:"))] + tail = "".join(f"\n@asset {p} {h}" for p, h in assets) + body = f"{rel}\n" + "\n".join(lines) + tail + return "v1:" + hmac.new(key, body.encode(), hashlib.sha256).hexdigest() + + +def migrated(text, stamp): + """Den gamle fil i det nye format: tags under taxonomies, stemplet under extra.""" + lines = text.split("\n") + end = lines.index("---", 1) + head = [] + for l in lines[1:end]: + if l.startswith("godkendt:"): + continue + head += ["taxonomies:", " " + l] if l.startswith("tags:") else [l] + return "\n".join(["---", *head, "extra:", f' godkendt: "{stamp}"', *lines[end:]]) + + +def old_assets(ref, slug): + out = git("ls-tree", "--name-only", ref, f"{OLD}/{slug}/").split() + return sorted((p, hashlib.sha256(git("show", f"{ref}:{p}", binary=True)).hexdigest()) for p in out) + + +def main(): + ap = argparse.ArgumentParser(description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter) + ap.add_argument("--fra", default="master", help="ref med de gamle, godkendte indlæg") + args = ap.parse_args() + if not os.environ.get("PUBLISH_KEY"): + sys.exit("PUBLISH_KEY mangler.") + key = bytes.fromhex(os.environ["PUBLISH_KEY"]) + + slugs = sorted(n for n in os.listdir(BLOG) if os.path.isdir(f"{BLOG}/{n}")) + new, errors = {}, [] + for slug in slugs: + rel = f"{BLOG}/{slug}/index.md" + old_rel = f"{OLD}/{slug}.md" + try: + old = git("show", f"{args.fra}:{old_rel}") + except subprocess.CalledProcessError: + errors.append(f"{rel}: findes ikke i {args.fra} som {old_rel}; kun godkendelsesflowet må stemple nyt") + continue + text = read_text(rel) + stamp_gl, draft = stamp_of(old) + o_assets = old_assets(args.fra, slug) + n_assets = assets_for(slug) + if draft or not stamp_gl or not hmac.compare_digest(stamp_gl, old_sign(key, old_rel, old, o_assets)): + errors.append(f"{old_rel}: det gamle stempel er ikke gyldigt med denne nøgle") + continue + if text != migrated(old, stamp_of(text)[0]): + errors.append(f"{rel}: indholdet er ændret i forhold til {args.fra}") + continue + if [h for _, h in o_assets] != [h for _, h in n_assets]: + errors.append(f"{rel}: billederne er ændret i forhold til {args.fra}") + continue + new[rel] = migrated(old, sign(key, rel, text, n_assets)) + if errors: + print("\n".join(f"✗ {e}" for e in errors), file=sys.stderr) + sys.exit(f"\n{len(errors)} fejl. Intet er skrevet.") + for rel, text in new.items(): + with open(rel, "w", encoding="utf-8", newline="") as f: + f.write(text) + print(f"✓ {rel}") + print(f"\n{len(new)} indlæg stemplet om. Kør scripts/verify-approvals.py og commit.") + + +if __name__ == "__main__": + main() diff --git a/scripts/postbuild.py b/scripts/postbuild.py new file mode 100755 index 0000000..83bf50f --- /dev/null +++ b/scripts/postbuild.py @@ -0,0 +1,157 @@ +#!/usr/bin/env python3 +"""Efterbehandling af Zolas output i public/: + +- overskrift-id'er som på den gamle side (bevarer æøå, så gamle #ankre stadig virker) +- sitemap-index.xml + sitemap-0.xml med lastmod fra git og frontmatter +- sw.js med precache-liste +- PW_PREVIEW=1: hele sitet flyttes ind under /udkast, uden sitemap og service worker +""" +import hashlib +import html +import json +import os +import pathlib +import re +import subprocess + +OUT = pathlib.Path("public") +SITE = "https://asger.weirsoe.dk" +PREVIEW = os.environ.get("PW_PREVIEW") == "1" +BASE = "/udkast" + + +def pages(): + return sorted(OUT.rglob("*.html")) + + +def slug(text): + """Samme regler som github-slugger, som den gamle build brugte.""" + s = html.unescape(re.sub(r"<[^>]+>", "", text)).strip().lower() + s = re.sub(r"[^\w\- ]", "", s) + return s.replace(" ", "-") + + +def heading_ids(): + for f in pages(): + src = f.read_text() + if 'class="prose' not in src: + continue + seen = {} + + def fix(m): + s = slug(m[3]) + n = seen.get(s, 0) + seen[s] = n + 1 + return f'' if n else f'' + + f.write_text(re.sub(r']*)>(.*?)(?=)', + lambda m: fix(m) + m[3], src, flags=re.S)) + + +def git_date(*files): + if int(subprocess.run(["git", "rev-list", "--count", "HEAD"], capture_output=True, text=True).stdout or 0) < 2: + return None + out = subprocess.run(["git", "log", "-1", "--format=%cI", "--", *files], capture_output=True, text=True).stdout + return out.strip() or None + + +def frontmatter(path): + text = path.read_text() + head = text.split("---\n", 2)[1] + return {k: v.strip().strip("'\"") for k, v in re.findall(r"^\s*(\w+):(.*)$", head, re.M)} + + +def iso(date): + return f"{date}T00:00:00.000Z" + + +def lastmods(): + """Rute -> lastmod: sidste commit for statiske sider, frontmatter for blogindlæg.""" + routes = {} + for md in pathlib.Path("content").rglob("*.md"): + fm = frontmatter(md) + if "blog" in md.parts or md.parts[1] == "projekter" or "projects" in md.parts: + continue + route = "/" + str(md.relative_to("content").with_suffix("")).removesuffix("_index") + route = route.rstrip("/") or "/" + tpl = fm.get("template") + d = git_date(str(md), f"templates/{tpl}") if tpl else git_date(str(md)) + if d: + routes[route] = d + posts = [] + for md in pathlib.Path("content/blog").glob("*/index.md"): + fm = frontmatter(md) + d = iso(fm.get("updated") or fm["date"]) + routes[f"/blog/{md.parent.name}"] = d + posts.append(d) + if posts: + routes["/blog"] = max(posts) + return routes + + +def sitemap(): + skip = ("/tags", "/peppol") + skip_exact = ("/cookies", "/status", "/chat") + routes = [] + for f in pages(): + rel = f.relative_to(OUT) + if rel.name != "index.html": + continue + r = "/" + str(rel.parent).replace(".", "", 1) if str(rel.parent) == "." else f"/{rel.parent}" + if r.startswith(skip) or r in skip_exact: + continue + routes.append(r) + routes.append("/tarballz/") + mods = lastmods() + urls = [] + for r in sorted(routes): + mod = mods.get(r) + urls.append(f"{SITE}{r}" + (f"{mod}" if mod else "") + + f"weekly{'1.0' if r == '/' else '0.7'}") + ns = 'xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"' + (OUT / "sitemap-0.xml").write_text(f'{"".join(urls)}') + newest = max(mods.values(), default=None) + (OUT / "sitemap-index.xml").write_text( + f'{SITE}/sitemap-0.xml' + + (f"{newest}" if newest else "") + "") + + +def service_worker(): + """Precache-listen afhænger af buildet, resten af sw.js ligger i scripts/sw.js.""" + exts = {".html", ".css", ".js", ".svg", ".png", ".woff2", ".xml", ".txt", ".webmanifest"} + files = sorted(p for p in OUT.rglob("*") if p.is_file() and p.suffix in exts + and p.name not in ("sw.js", "mermaid.min.js")) + h = hashlib.sha256() + for p in files: + h.update(p.read_bytes()) + urls = ["/" + str(p.relative_to(OUT)) for p in files] + src = pathlib.Path("scripts/sw.js").read_text() + src = src.replace("__VERSION__", h.hexdigest()[:12]).replace("__URLS__", json.dumps(urls, ensure_ascii=False)) + (OUT / "sw.js").write_text(src) + + +def rebase(): + """Rod-relative links og billeder i HTML peger ind under /udkast.""" + attr = re.compile(r'\b(href|src|action)="/(?!/|udkast)') + srcset = re.compile(r'\bsrcset="([^"]*)"') + + def fix_set(m): + return 'srcset="' + re.sub(r"(^|, )/(?!/)", rf"\1{BASE}/", m[1]) + '"' + + for f in pages(): + src = f.read_text() + f.write_text(srcset.sub(fix_set, attr.sub(rf'\1="{BASE}/', src))) + + +def main(): + (OUT / "sitemap.xml").unlink(missing_ok=True) + heading_ids() + if PREVIEW: + rebase() + else: + sitemap() + service_worker() + + +if __name__ == "__main__": + main() diff --git a/scripts/prebuild.py b/scripts/prebuild.py new file mode 100755 index 0000000..26eed7a --- /dev/null +++ b/scripts/prebuild.py @@ -0,0 +1,75 @@ +#!/usr/bin/env python3 +"""Henter det sitet viser fra Gitea ved build og skriver data/gitea.json: +repos til /projekter og aktivitets-heatmap til /now. Er Gitea nede, bygges sitet +alligevel, med en fejlbesked på /projekter og en tom graf på /now.""" +import datetime as dt +import json +import urllib.request + +BASE, USER = "https://gitea.weircon.dk", "agw" +HIDE = set() # repo-navne der skjules helt +PINNED = ["ubl-tools", "gtk-ahfail", "pi3-smart-workspace"] # vises først, i den rækkefølge +WEEKS = 26 +MAANEDER = ["januar", "februar", "marts", "april", "maj", "juni", "juli", "august", + "september", "oktober", "november", "december"] + + +def get(path): + req = urllib.request.Request(f"{BASE}/api/v1{path}", headers={"Accept": "application/json"}) + with urllib.request.urlopen(req, timeout=30) as r: + return json.load(r) + + +def repos(): + data = get(f"/users/{USER}/repos?limit=50&sort=updated") + rs = [r for r in data if not (r["fork"] or r["archived"] or r["private"] or r["name"].lower() in HIDE)] + pinned = [p.lower() for p in PINNED] + rs.sort(key=lambda r: r["updated_at"], reverse=True) + rs.sort(key=lambda r: pinned.index(r["name"].lower()) if r["name"].lower() in pinned else len(pinned)) + keep = ("name", "description", "html_url", "language", "stars_count") + return [{k: r[k] for k in keep} for r in rs] + + +def level(n): + return 0 if n == 0 else 1 if n < 3 else 2 if n < 6 else 3 if n < 12 else 4 + + +def heatmap(): + per_day = {} + try: + for b in get(f"/users/{USER}/heatmap"): + d = dt.datetime.fromtimestamp(b["timestamp"], dt.timezone.utc).date().isoformat() + per_day[d] = per_day.get(d, 0) + b["contributions"] + except Exception as e: + print(f"heatmap: {e}") + # 26 uger bagud, uger som kolonner (man-søn) + today = dt.date.today() + cur = today - dt.timedelta(days=WEEKS * 7 - 1 + today.weekday()) + weeks = [] + while cur <= today: + week = [] + for _ in range(7): + if cur > today: + break + n = per_day.get(cur.isoformat(), 0) + week.append({"date": cur.isoformat(), "n": n, "level": level(n)}) + cur += dt.timedelta(days=1) + weeks.append(week) + return weeks, sum(per_day.values()), f"{today.day}. {MAANEDER[today.month - 1]} {today.year}" + + +def main(): + try: + rs, error = repos(), False + except Exception as e: + print(f"repos: {e}") + rs, error = [], True + weeks, total, updated = heatmap() + with open("data/gitea.json", "w") as f: + json.dump({"repos": rs, "error": error, "weeks": weeks, "weeks_shown": WEEKS, + "total": total, "updated": updated}, f, ensure_ascii=False) + print(f"gitea: {len(rs)} repos, {total} bidrag") + + +if __name__ == "__main__": + main() diff --git a/scripts/sw.js b/scripts/sw.js new file mode 100644 index 0000000..f78b3ee --- /dev/null +++ b/scripts/sw.js @@ -0,0 +1,24 @@ +// Håndskrevet service worker: precacher sitet, så det virker offline. +// postbuild.py sætter version og URL-liste ind. Alt der ikke er precachet, går til netværket. +const CACHE = 'pw-__VERSION__'; +const URLS = __URLS__; +const known = new Set(URLS); + +self.addEventListener('install', (e) => { + e.waitUntil(caches.open(CACHE).then((c) => c.addAll(URLS)).then(() => self.skipWaiting())); +}); + +// Rydder forrige version, også de gamle workbox-caches. +self.addEventListener('activate', (e) => { + e.waitUntil(caches.keys() + .then((keys) => Promise.all(keys.filter((k) => k !== CACHE).map((k) => caches.delete(k)))) + .then(() => self.clients.claim())); +}); + +self.addEventListener('fetch', (e) => { + const url = new URL(e.request.url); + if (e.request.method !== 'GET' || url.origin !== location.origin) return; + const p = url.pathname; + const key = [p, p.replace(/\/?$/, '/index.html')].find((k) => known.has(k)); + if (key) e.respondWith(caches.match(key).then((r) => r || fetch(e.request))); +}); diff --git a/scripts/verify-approvals.mjs b/scripts/verify-approvals.mjs deleted file mode 100644 index c04f4c3..0000000 --- a/scripts/verify-approvals.mjs +++ /dev/null @@ -1,79 +0,0 @@ -// Stopper buildet hvis et blogindlæg mangler et gyldigt `godkendt:`-stempel -// (HMAC-SHA256 over sti, indhold og billeder). -// -// PUBLISH_KEY= node scripts/verify-approvals.mjs -import crypto from 'node:crypto'; -import fs from 'node:fs'; - -const DIR = 'src/content/blog'; -const key = process.env.PUBLISH_KEY; -if (!key) { - console.error('PUBLISH_KEY mangler; kan ikke verificere godkendelser.'); - process.exit(1); -} - -// Skal matche godkendelsestjenesten byte for byte. -const canonical = (relPath, text, assets = []) => { - const lines = text.replace(/\r\n/g, '\n').split('\n'); - if (lines[0] === '---') { - const end = lines.indexOf('---', 1); - if (end > 0) { - for (let i = end - 1; i > 0; i--) if (/^godkendt:/.test(lines[i])) lines.splice(i, 1); - } - } - const tail = assets.map(([p, h]) => `\n@asset ${p} ${h}`).join(''); - return `${relPath}\n${lines.join('\n')}${tail}`; -}; - -const sha256 = (buf) => crypto.createHash('sha256').update(buf).digest('hex'); - -// Billeder til .md ligger fladt i mappen / ved siden af. -const assetsFor = (rel) => { - const dir = rel.replace(/\.mdx?$/, ''); - if (!fs.existsSync(dir)) return []; - return fs.readdirSync(dir, { withFileTypes: true }) - .map((e) => { - if (!e.isFile()) throw new Error(`${dir}/${e.name}: undermapper understøttes ikke`); - const p = `${dir}/${e.name}`; - return [p, sha256(fs.readFileSync(p))]; - }) - .sort(([a], [b]) => (a < b ? -1 : a > b ? 1 : 0)); -}; - -const stampOf = (text) => { - const lines = text.replace(/\r\n/g, '\n').split('\n'); - const end = lines[0] === '---' ? lines.indexOf('---', 1) : -1; - if (end < 0) return { stamp: null, draft: false }; - const fm = lines.slice(1, end); - const g = fm.find((l) => /^godkendt:/.test(l)); - const draft = fm.some((l) => /^draft:\s*true\s*$/.test(l)); - return { stamp: g ? g.replace(/^godkendt:\s*/, '').replace(/^['"]|['"]$/g, '') : null, draft }; -}; - -const entries = fs.readdirSync(DIR, { withFileTypes: true }); -const files = entries.filter((e) => e.isFile() && /\.mdx?$/.test(e.name)).map((e) => `${DIR}/${e.name}`); - -let bad = 0; -// En billedmappe uden et indlæg ved siden af er aldrig blevet godkendt. -for (const e of entries.filter((e) => e.isDirectory())) { - if (!files.some((f) => f.replace(/\.mdx?$/, '') === `${DIR}/${e.name}`)) { - console.error(`✗ ${DIR}/${e.name}/: filer uden et godkendt indlæg`); bad++; - } -} -for (const rel of files) { - const text = fs.readFileSync(rel, 'utf8'); - const { stamp, draft } = stampOf(text); - if (draft) { console.error(`✗ ${rel}: udkast (draft: true) må ikke ligge i det offentlige repo`); bad++; continue; } - if (!stamp) { console.error(`✗ ${rel}: mangler godkendelse`); bad++; continue; } - let assets; - try { assets = assetsFor(rel); } catch (err) { console.error(`✗ ${err.message}`); bad++; continue; } - const want = 'v1:' + crypto.createHmac('sha256', Buffer.from(key, 'hex')).update(canonical(rel, text, assets)).digest('hex'); - const ok = stamp.length === want.length && crypto.timingSafeEqual(Buffer.from(stamp), Buffer.from(want)); - if (!ok) { console.error(`✗ ${rel}: godkendelsen passer ikke til indholdet (ændret efter godkendelse?)`); bad++; continue; } - console.log(`✓ ${rel}${assets.length ? ` (+${assets.length} billeder)` : ''}`); -} -if (bad) { - console.error(`\n${bad} indlæg er ikke godkendt. Intet bliver udgivet.`); - process.exit(1); -} -console.log(`\nAlle ${files.length} indlæg er godkendt.`); diff --git a/scripts/verify-approvals.py b/scripts/verify-approvals.py new file mode 100755 index 0000000..6e2bb15 --- /dev/null +++ b/scripts/verify-approvals.py @@ -0,0 +1,65 @@ +#!/usr/bin/env python3 +"""Stopper buildet hvis et blogindlæg mangler et gyldigt `godkendt:`-stempel. + + PUBLISH_KEY= python3 scripts/verify-approvals.py +""" +import hmac +import os +import sys + +sys.path.insert(0, os.path.dirname(os.path.abspath(__file__))) +from godkendelse import BLOG, assets_for, read_text, sign, stamp_of # noqa: E402 + + +def main(): + key = os.environ.get("PUBLISH_KEY") + if not key: + print("PUBLISH_KEY mangler; kan ikke verificere godkendelser.", file=sys.stderr) + return 1 + key = bytes.fromhex(key) + bad = ok = 0 + + def fail(msg): + nonlocal bad + print(f"✗ {msg}", file=sys.stderr) + bad += 1 + + for name in sorted(os.listdir(BLOG)): + path = f"{BLOG}/{name}" + if name == "_index.md": + continue + # Zola bygger enhver .md under content/blog, så intet må ligge uden for en bundle. + if not os.path.isdir(path): + fail(f"{path}: et indlæg skal ligge som {BLOG}//index.md") + continue + rel = f"{path}/index.md" + if not os.path.isfile(rel): + fail(f"{path}/: filer uden et godkendt indlæg") + continue + text = read_text(rel) + stamp, draft = stamp_of(text) + if draft: + fail(f"{rel}: udkast (draft: true) må ikke ligge i det offentlige repo") + continue + if not stamp: + fail(f"{rel}: mangler godkendelse") + continue + try: + assets = assets_for(name) + except ValueError as e: + fail(str(e)) + continue + if not hmac.compare_digest(stamp, sign(key, rel, text, assets)): + fail(f"{rel}: godkendelsen passer ikke til indholdet (ændret efter godkendelse?)") + continue + ok += 1 + print(f"✓ {rel}" + (f" (+{len(assets)} billeder)" if assets else "")) + if bad: + print(f"\n{bad} indlæg er ikke godkendt. Intet bliver udgivet.", file=sys.stderr) + return 1 + print(f"\nAlle {ok} indlæg er godkendt.") + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/src/assets/asger.png b/src/assets/asger.png deleted file mode 100644 index 47f33060b5ba584251231c355ff31e14a4319885..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 867172 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

q=H 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

iqTL>VjRV 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