No description https://lukasmu.com/
  • JavaScript 44.7%
  • HTML 43.4%
  • CSS 10.5%
  • Shell 1.4%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-11-14 18:51:09 +01:00
.github/workflows Rebuilt lukasmu.com as a static GitHub Pages site 2026-10-28 13:35:23 +01:00
assets Rebuilt lukasmu.com as a static GitHub Pages site 2026-10-28 13:35:23 +01:00
css Rebuilt lukasmu.com as a static GitHub Pages site 2026-10-28 13:35:23 +01:00
js Rebuilt lukasmu.com as a static GitHub Pages site 2026-10-28 13:35:23 +01:00
tests Rebuilt lukasmu.com as a static GitHub Pages site 2026-10-28 13:35:23 +01:00
tools Rebuilt lukasmu.com as a static GitHub Pages site 2026-10-28 13:35:23 +01:00
.editorconfig Rebuilt lukasmu.com as a static GitHub Pages site 2026-10-28 13:35:23 +01:00
.gitignore Rebuilt lukasmu.com as a static GitHub Pages site 2026-10-28 13:35:23 +01:00
.stylelintrc.json Rebuilt lukasmu.com as a static GitHub Pages site 2026-10-28 13:35:23 +01:00
404.html Rebuilt lukasmu.com as a static GitHub Pages site 2026-10-28 13:35:23 +01:00
AGENTS.md Rebuilt lukasmu.com as a static GitHub Pages site 2026-10-28 13:35:23 +01:00
CHANGELOG.md Rebuilt lukasmu.com as a static GitHub Pages site 2026-10-28 13:35:23 +01:00
eslint.config.mjs Rebuilt lukasmu.com as a static GitHub Pages site 2026-10-28 13:35:23 +01:00
imprint.html Rebuilt lukasmu.com as a static GitHub Pages site 2026-10-28 13:35:23 +01:00
index.html Replace Nextcloud by Opencloud 2026-11-14 18:51:09 +01:00
LICENSE.md Rebuilt lukasmu.com as a static GitHub Pages site 2026-10-28 13:35:23 +01:00
lighthouserc.json Rebuilt lukasmu.com as a static GitHub Pages site 2026-10-28 13:35:23 +01:00
lukasmu.pub Rebuilt lukasmu.com as a static GitHub Pages site 2026-10-28 13:35:23 +01:00
NOTICE.md Rebuilt lukasmu.com as a static GitHub Pages site 2026-10-28 13:35:23 +01:00
pa11yci.json Rebuilt lukasmu.com as a static GitHub Pages site 2026-10-28 13:35:23 +01:00
package-lock.json Rebuilt lukasmu.com as a static GitHub Pages site 2026-10-28 13:35:23 +01:00
package.json Rebuilt lukasmu.com as a static GitHub Pages site 2026-10-28 13:35:23 +01:00
playwright.config.js Rebuilt lukasmu.com as a static GitHub Pages site 2026-10-28 13:35:23 +01:00
privacy.html Replace Nextcloud by Opencloud 2026-11-14 18:51:09 +01:00
README.md Rebuilt lukasmu.com as a static GitHub Pages site 2026-10-28 13:35:23 +01:00
robots.txt Rebuilt lukasmu.com as a static GitHub Pages site 2026-10-28 13:35:23 +01:00
sitemap.xml Rebuilt lukasmu.com as a static GitHub Pages site 2026-10-28 13:35:23 +01:00

lukasmu.com

Personal website of Lukas Müller, available at lukasmu.com.

Plain HTML, CSS, and a little JavaScript. No framework and no build step for the pages; Node is only used for linting and tests. The home page is one screen: a mountain photo and a working terminal (try help). Everything is available in English, German, and Dutch.

Structure

index.html             home page: photo, terminal, contact icons
imprint.html           imprint and accessibility statement (DE binding, EN/NL)
privacy.html           privacy policy (DE binding, EN/NL)
404.html               not-found page; also redirects old /de/, /nl/, /en/ URLs
lukasmu.pub            public SSH key
css/style.css          the only stylesheet; design tokens at the top
js/i18n.js             interface strings in EN/DE/NL
js/main.js             language switching, terminal, easter egg
assets/                fonts, images, favicon (assets/images/_originals is not deployed)
tests/                 Playwright tests, contrast test, link checker
tools/                 build, local server, image and icon helpers

Local preview

npm ci
npm run build
npm run serve

Then open http://127.0.0.1:4173. The local server behaves like GitHub Pages (/imprint finds imprint.html, unknown paths get 404.html).

Checks

The same commands run in GitHub Actions:

npx playwright install chromium
npm run check

npm run check runs lint (HTML, CSS, JS), the build, pa11y (WCAG 2 AA), the Playwright tests, the link checker, and Lighthouse. Locally, Lighthouse needs a Chrome binary. If none is installed, point it at Playwright's:

export CHROME_PATH=$(node -e "console.log(require('@playwright/test').chromium.executablePath())")

Assets

  • Photo derivatives and the share image: bash tools/optimize-images.sh (needs ffmpeg with libwebp).
  • iOS home-screen icon from the favicon: node tools/render-icons.mjs.

Deployment

GitHub Pages deploys the filtered _site/ folder that tools/build.sh creates. One workflow checks pull requests and deploys successful main builds. In the repository settings, set Pages → Source to GitHub Actions and add lukasmu.com as the custom domain. Point the domain's DNS directly at GitHub Pages; the privacy policy names GitHub as the only host.

See AGENTS.md for the conventions behind the design, the terminal, localization, and the legal pages.

Tips & tricks

  • Very important tip: Add lots of easter eggs!
  • There is one already, with a bonus challenge. help and the browser console give hints.

Security

If you discover a security vulnerability, please send an e-mail to [email protected].

License

Source code: MIT, see LICENSE.md. Texts, photographs, and the favicon: all rights reserved, see NOTICE.md.