If you want to do this for free, you could always use a dynamic DNS provider like NO-IP or DuckDNS to get a free hostname.
Then you can use a static site generator to generate a site and use NGINX, Traefik, or similar to create a simple web server (with a reverse proxy that uses SSL to provide HTTPS) to host the content directly from your computer.
Currently, I use this method to host a couple of services that my friends and I use, such as Kavita, qBittorrent web UI, and a simple kanban board.
If you want to do this for free, you could always use a dynamic DNS provider like NO-IP or DuckDNS to get a free hostname.
Then you can use a static site generator to generate a site and use NGINX, Traefik, or similar to create a simple web server (with a reverse proxy that uses SSL to provide HTTPS) to host the content directly from your computer.
Currently, I use this method to host a couple of services that my friends and I use, such as Kavita, qBittorrent web UI, and a simple kanban board.