Personal website and blog of Jonas Doebertin, a full-stack web developer based in Hamburg, Germany.
The homepage serves as a hub for my work: a short intro, links to my latest notes (blog posts), and a showcase of current and past projects. There are also a few static pages for legal stuff and a colophon.
Notes cover a range of topics, from web development and self-hosting to 3D printing for model trains.
The site is built with Eleventy (v3), a static site generator that turns Nunjucks templates and Markdown content into plain HTML. Tailwind CSS (v4) handles all the styling, processed at build time through PostCSS. Code blocks in blog posts get syntax highlighting at build time via Shiki, so there's no client-side JavaScript involved.
Bun is used as the JavaScript runtime and package manager.
src/
_data/ Site-wide data (name, description, URLs)
_includes/
layouts/ Page layouts (base, note, page)
partials/ Reusable components (header, footer, icons)
assets/css/ Tailwind CSS entry point and partials
notes/ Blog posts (Markdown)
projects/ Project descriptions (Markdown, rendered inline on homepage)
index.njk Homepage template
sitemap.njk Auto-generated sitemap
*.md Static pages (imprint, disclaimer, privacy, colophon)
public/ Static assets copied to the site root (favicons, images, manifest)
eleventy.config.js Eleventy configuration (collections, filters, CSS pipeline, Shiki)
Make sure you have Bun installed, then:
bun install
bun run devThe site will be available at http://localhost:8080/ with live reloading.
bun run buildThe output goes to _site/. This is what gets deployed.
Pushing to main triggers a GitHub Actions workflow that builds the site with Bun and deploys it to GitHub Pages at dieserjonas.dev.
Create a Markdown file in src/notes/ with this frontmatter:
---
title: Your note title
date: 2026-01-15
---The note layout and URL (/notes/your-file-name/) are handled automatically. It will appear on the homepage sorted by date.
Content is copyrighted. The site's source code is available for reference and inspiration.