"The Sea, once it casts its spell, holds one in its net of wonder forever - Jacques Cousteau" .
Subsurface is a popular open-source desktop dive log application for Linux, Mac and Windows. The concept is pretty straightforward, go and dive, import your dive information from your dive computer into your log. Then we have a reliable record of our diving over time.
But what if we want to share the information with others? Subsurface natively supports exporting dive logs in a variety of formats. But unfortunately, I found the HTML export format limited and lacking.
I wanted something that was customisable and easy on the eye. There are a number of online services that fill this void. But it's my dive log, and I still wanted to retain some semblance of sovereignty over the data.
I figured how hard can it be? The Subsurface log file has all the data, just a case of parsing it and formatting it in a web native format to match the vision.
So to fill this need, I built the Subsurface Site Generator, a Rust-based CLI application. When provided with a Subsurface dive log file, it parses the data and generates a Nuxt 4-based that can be hosted on any web server.
Dive site coordinates can be reverse-geocoded to provide a human-readable place name. Along with providing the ability to attach imagery to your individual dives.
The templates are customizable, with the Subsurface Site Genrator code being developed under a GPLv3 licence. Allowing users to tailor the appearance of their dive log as they like.
Application source code for the project is available at Codeberg or you can see a live version of the dive log here.