Published: September 20, 2021
This past week I rolled out https://text.alexkarle.com, and I wanted to write a little bit about it!
text.alexkarle.com is a text-only ascii dump of this entire site. It's served over HTTP, HTTPS, and Gopher to provide a wide array of options for accessing the content.
I'm a huge fan of the "small internet" and lightweight sites in general. Although I'm not an active participant in any of the tilde communities, I really appreciate the commitment to plaintext, *NIX, and simple software.
At some point in my browsing of the tildeverse, I stumbled across Gopher and took a liking to the simple protocol. Surfing gopherspace is so awesomely fast and simple compared to the slow, ad-filled, modern web. Better yet, it's totally removed from the commercialization of the internet. No one is serving content on Gopher to make money. It's full of art and real, empathetic, humans.
For my own part, I started serving an ascii dump of the mdoc(7)
content on this site over Gopher (via
gophernicus(8)
) almost 7 months ago.
However, I was never really happy with how it was organized or
generated (hence the lack of an announcement on the blog(7)
).
It was the discovery of a fellow mdoc(7)
website over at
https://text.causal.agency that inspired me to revisit my approach
to publishing a text-only version of this site. I finally replaced
the scripted afterthought of a gopher publisher with a first class
build target and decided to expand the offering from gopher-only to
HTTP(S). I figured someone might prefer to browse it that way
(maybe retro computing enthusiasts?), and with httpd(8)
already
running, it came basically for free!
I started to write about all the "challenges" I faced in this
process, but really these were all self-imposed problems from
restricting myself to a POSIX subset of BSD make(1)
(in the name of
creative coding). I think had I chosen either BSD make with
extensions or GNU make, the build would have been much cleaner, but
with a couple of hacks it's okay as is.
Maybe I'll write about it someday, but it didn't feel worth holding
up this "announcement". The TL;DR: I added another inference rule
for *.7
-> *.txt
and moved from a "build in tree" model (where the
source tree was what was served by httpd(8)
) to a "run the install
target after build" model. The latter is necessary because POSIX
inference rules only build into the current directory and I don't
want text.alexkarle.com users to see the *.html
there too.
Of course, if you're curious to see how the bits come together, I publish all of the site source at https://sr.ht/~akarle/alexkarle.com!
As of November 15, 2021, text.alexkarle.com was moved entirely to gopher. See this blog post for more info.