Home Projects Research About


Currently, this site is served by an nginx web server running on Ubuntu on a DigitalOcean droplet. This allows me to do various fun server-side things and host other services, too. For example, I host a Nextcloud instance on the same droplet at

Who needs static site generators when you can just use server-side includes?

When I first started making this site, I realized that I wanted a common header and footer on every page. I thought that there definitely must be a better way than just manually propagating header and footer changes through all of the pages. In my research, I came across many static site generators, including Hugo, WordPress, and many more. But I wanted my website to be my own, so I sought a better way.

I came across Server Side Includes, a simple server-side scripting language. Using SSI, I can simply add <!--#include virtual="/header.html--> to my html files to have the server drop in the text from my header.html file when serving the content to the user. I do the same for the footer file.

Server-side, it is enabled in my website's nginx configuration file with the code ssi on; in the location / context.

Pretty code

To make the code shown on this website pretty, I use code-prettify, a JavaScript library that makes code pretty. I make the pages run without JavaScript by having the prettifier make the text pretty, then simply copying that HTML into my pages. Here is a page I made where you can generate prettified code to simply drop into your page.