For a lightweight, information holding website, a Static Site Generator (SSG) is the way to go (IMHO). There are a lot of great SSG's, such as Hugo, Jekyll, etc. However, as I'm a heavy user of Tiddlywiki for information management, it only made sense to use the SSG that is built into Tiddlywiki.
I won't go into the details of using the Tiddlywiki SSG here; that is well covered in the reference links provided. However, I will provide a bit of information about how I implemented my workflow, and provide the shell script I use to build the static site web pages and deploy the pages to my internal development web server. I'll also provide the shell script that I use for deploying the web pages from the dev web server to the production web server.
I use Kubernetes in my home lab, so both the source tiddlywiki server and the development web server are hosted in containers on my cluster.
$ cat build_static_website.sh
#!/bin/bash
wikiPath='/mnt/k8s-storage/wikis/website-wiki/mywiki'
devWebsite='/mnt/k8s-storage/delfax/website'
cd ${wikiPath}
sudo tiddlywiki --rendertiddlers [!is[system]!tag[Draft]] $:/rdr231/templates/static.tiddler.html static text/plain --rendertiddler $:/rdr231/templates/static.template.css static/static.css text/plain
sudo rsync -avv --delete ${wikiPath}/output/static/ ${devWebsite}/
sudo chmod -R o+r ${devWebsite}/*
$ cat deploy_static_website.sh
#!/bin/bash
devWebsite='/mnt/k8s-storage/delfax/website'
sitePath='/home/rmorrow/docker/docker_nginx-radar231.com/radar231.com'
siteFQDN='radar231.com'
rsync -avv --delete -e "ssh -p 50022" ${devWebsite}/ ${siteFQDN}:${sitePath}/html/
ssh -p 50022 ${siteFQDN} cp -r ${sitePath}/images ${sitePath}/html/
....................
(created: 2021-06-06, last modified: 2021-09-04 at 12:28:48)