Files
Personal-Website/content/projects/personal-website/en.md
T

1.1 KiB

title, summary
title summary
This website My own site built with Node.js and Express, content as Markdown files, shipped as a Docker container.

I wanted a site I fully understand and can maintain without a CMS, so it's deliberately simple.

How it's built

  • Server: Node.js with Express, pages are rendered on the server with Nunjucks.
  • Content: Every project is a folder with a YAML file for metadata and one Markdown file per language. New entries reach the server with git pull and are picked up without a restart.
  • Images: sharp resizes them on first request and keeps the results in a cache.
  • Hosting: A Docker container managed in Dockge, with Nginx Proxy Manager in front for HTTPS. The container runs with a read-only filesystem and no extra privileges.

What I paid attention to

The site sets no cookies and doesn't load anything from third-party servers, fonts included. Everything still works without JavaScript, the animations are an extra and respect the system setting for reduced motion.

The background on the homepage is a small WebGL shader that lets the stripes of the genderfluid flag flow into each other.