From 758985bdb85ec8208c509ae1202b361efdd389cf Mon Sep 17 00:00:00 2001 From: Alex Karle Date: Mon, 15 Nov 2021 00:16:38 -0500 Subject: [PATCH] gopher/blog: Merge gopher build recipe, announce on blog So, if you can't tell by the slew of commits leading up to this one, the gopher commits were *actually* in their own private repo. As discussed in 009, I decided to merge it with alexkarle.com, and this commit represents that. Of course, that merge also warrants a post (and the deprecation of text.alexkarle.com). So this commit bundles in the phlog and blog announcements (can you tell which took 1hr+ to write and which took 5m? :P -- here's to a brave new world of micro-phlogging). --- .gitignore | 6 ++---- LINKS | 5 ++++- Makefile | 30 ++++++++++++++++++++++-------- ORDER | 1 + README.md | 11 ++++++----- blog.7 | 5 +++++ burrowing.7 | 113 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gopher/LICENSE | 21 --------------------- gopher/Makefile | 27 --------------------------- gopher/jam-tuesday/stats | 285 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gopher/phlog/009.txt | 21 +++++++++++++++++++++ gopher/phlog/index.gph | 1 + jam-tuesday/stats | 285 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- text-only.7 | 5 +++++ welcome.txt | 16 ---------------- 15 files changed, 465 insertions(+), 367 deletions(-) create mode 100644 burrowing.7 delete mode 100644 gopher/LICENSE delete mode 100644 gopher/Makefile create mode 100644 gopher/jam-tuesday/stats create mode 100644 gopher/phlog/009.txt delete mode 100644 jam-tuesday/stats delete mode 100644 welcome.txt diff --git a/.gitignore b/.gitignore index d027133..e6fab47 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,6 @@ # generated html from man pages -*.html -*.txt -!jam-tuesday/index.html -!welcome.txt +/*.html +/*.txt # atom feed is generated by ./bin/genatom.sh atom.xml diff --git a/LINKS b/LINKS index a17cf0b..03092c5 100644 --- a/LINKS +++ b/LINKS @@ -5,4 +5,7 @@ pass.1 https://www.passwordstore.org newsboat.1 https://newsboat.org stagit.1 https://git.codemadness.org/stagit/ git-daemon.1 https://git-scm.com/docs/git-daemon -gophernicus.8 https://gophernicus.org +gophernicus.8 https://gophernicus.org +bombadillo.1 https://bombadillo.colorfield.space/ +lynx.1 https://lynx.invisible-island.net/ +sacc.1 https://git.fifth.space/sacc diff --git a/Makefile b/Makefile index 5f1060e..e33bb11 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,7 @@ # # a tale of two builds # -# This Makefile builds both text.alexkarle.com (text-only) and +# This Makefile builds both gopher://alexkarle.com (text-only) and # alexkarle.com (html) from the same mdoc(7) by leveraging inference # rules. Since this generates a LOT of derived files, it's recommended # to run BSD make and run `make obj` first to get an out-of-tree build. @@ -12,7 +12,7 @@ # build [default] -- generates html and text in obj (OpenBSD) or $PWD # obj -- makes the obj/ directory for out-of-tree build on OpenBSD # clean -- deletes html and text artifacts -# install -- install to $DESTDIR/{www,text} (default: /var/www/htdocs) +# install -- install to $DESTDIR/{www,gopher} (default: /var/www/htdocs) # jams -- regenerate jam-tuesday index and stats files # gmake defines CURDIR, OpenBSD defines .CURDIR -- one should work @@ -23,11 +23,13 @@ DESTDIR = /var/www/htdocs HTML != echo $(DIR)/*.[1-9] | sed 's@$(DIR)/\([^\.]*\)\.[1-9]@\1.html@g' TEXT != echo $(DIR)/*.[1-9] | sed 's@$(DIR)/\([^\.]*\)\.[1-9]@\1.txt@g' SETS != find $(DIR)/jam-tuesday -name '[0-9][0-9][0-9][0-9]-*' +NOTES != find $(DIR)/gopher/notes/all BUILT = $(HTML) \ $(TEXT) \ atom.xml \ - index.html + index.html \ + gopher/notes/index.gph # Top level targets @@ -38,17 +40,27 @@ build: $(BUILT) jams: jam-tuesday/stats jam-tuesday/index.html obj: - mkdir -p obj/jam-tuesday obj/bin + mkdir -p obj/jam-tuesday obj/bin obj/gopher/notes .PHONY: install install: build - install -m 755 -Dd $(DESTDIR)/text/jam-tuesday $(DESTDIR)/www/jam-tuesday - install -m 444 $(SETS) $(DIR)/jam-tuesday/stats $(DESTDIR)/text/jam-tuesday + # HTML to DESTDIR/www + install -m 755 -Dd $(DESTDIR)/www/jam-tuesday install -m 444 $(SETS) $(DIR)/jam-tuesday/index.html $(DESTDIR)/www/jam-tuesday install -m 444 *.html atom.xml $(DIR)/LICENSE $(DIR)/style.css $(DESTDIR)/www - install -m 444 $(DIR)/LICENSE $(DESTDIR)/text + # Text + gopher exclusives to DESTDIR/gopher + cd $(DIR) && pax -rw gopher $(DESTDIR) + pax -rw gopher $(DESTDIR) # for out-of-tree builds + install -m 444 $(SETS) $(DESTDIR)/gopher/jam-tuesday + install -m 444 $(DIR)/LICENSE $(DESTDIR)/gopher for f in *.txt; do \ - install -m 444 $$f $(DESTDIR)/text/$$(grep $$f $(DIR)/ORDER); \ + install -m 444 $$f $(DESTDIR)/gopher/blog/$$(grep $$f $(DIR)/ORDER); \ + done + cp $(DIR)/gopher/bin/* $(DESTDIR)/gopher/code + for d in jam-tuesday blog code; do \ + (cat $(DIR)/gopher/$$d/index.gph; \ + $(DIR)/gopher/bin/dirlist $(DESTDIR)/gopher/$$d)\ + > $(DESTDIR)/gopher/$$d/index.gph; \ done .PHONY: clean @@ -75,6 +87,8 @@ bin/fixlinks: LINKS awk '{ printf " \\\n -e s#https://man.openbsd.org/%s#%s#g", $$1, $$2 } END { printf "\n" }' $(DIR)/LINKS >> $@ chmod +x $@ +gopher/notes/index.gph: $(NOTES) + (cd $(DIR)/gopher/notes && $(DIR)/gopher/bin/notetag) > $@ # Inference rules (*.txt and *.html) $(HTML): bin/genpost.sh bin/fixlinks diff --git a/ORDER b/ORDER index c17f8f4..225b7f1 100644 --- a/ORDER +++ b/ORDER @@ -15,3 +15,4 @@ 110-text-only.txt 111-make-obj.txt 112-use-git.txt +113-burrowing.txt diff --git a/README.md b/README.md index 027f7b1..c629b7e 100644 --- a/README.md +++ b/README.md @@ -15,15 +15,16 @@ On OpenBSD, running `make obj` is recommended before running `make` to leverage the out-of-tree build extension (see the bit about `.OBJDIR` in the man page!). -text. ------ +gopher:// +--------- A pure ascii dump of the [mdoc(7)][mdoc] content of the www site, served -over HTTP, HTTPS, and Gopher (by [httpd(8)][httpd] and -[gophernicus(1)][gophernicus] respectively! +over Gopher by [geomyidae(1)][geomyidae] respectively! Builds via [make(1)][make] at the same time as the HTML. See above for instructions. +Also has gopher-exclusive content! + git. ---- I use a simple setup of git-daemon for anonymous (read-only) downloads, @@ -52,4 +53,4 @@ and [my-old-man(7)][my-old-man]. [git-daemon]: https://git-scm.com/docs/git-daemon [self-hosted]: https://alexkarle.com/self-hosted.html [my-old-man]: https://alexkarle.com/my-old-man.html -[gophernicus]: https://www.gophernicus.org/ +[geomyidae]: http://r-36.net/scm/geomyidae diff --git a/blog.7 b/blog.7 index 79ef0ab..4e6ff22 100644 --- a/blog.7 +++ b/blog.7 @@ -16,6 +16,11 @@ For an up to date list of software/hardware I use, see .Sh POSTS .Bl -tag -width "XX/XX" .It 11/21 +.Xr burrowing 7 +- from +.Xr text-only 7 +to gopher-only +.It 11/21 .Xr use-git 7 - non-standard uses of .Xr git 1 diff --git a/burrowing.7 b/burrowing.7 new file mode 100644 index 0000000..e043c6f --- /dev/null +++ b/burrowing.7 @@ -0,0 +1,113 @@ +.Dd November 15, 2021 +.Dt BURROWING 7 +.Os +.Sh NAME +.Nm burrowing +.Nd from +.Xr text-only 7 +to gopher-only +.Sh DESCRIPTION +This past month, +I've spent a lot of time learning about gopher. +It's truly a fascinating alternative to the world wide web, +not just in the content found there +but also in terms of the protocol itself. +.Pp +As of this writing, I've decided to deprecate +.Lk https://text.alexkarle.com +in favor of serving that content (and more!) over gopher +instead, exclusively. +.Sh IMPLICATIONS +This shouldn't have much impact on this +.Xr blog 7 . +After all, +.Xr text-only 7 +was an experiment to begin with! +I'll still keep publishing semi-regularly here, +I just don't plan on maintaining a text dump via HTTP. +.Pp +I will, however, start publishing gopher-only content. +There's two main reasons for this: +.Pp +.Bl -enum -compact +.It +I want to see more activity on gopher +.It +Gopher is easier to publish on +.El +.Pp +Admittedly, number 2 is my own doing. +I moved this blog to +.Xr mdoc 7 +willingly +.Xr ( my-old-man 7 ) +to learn the language. +I've found that it slows my raw output, +which, +while fine for longer form pieces, +is a pain for shorter-form thoughts. +No regrets (I learned a ton!), +but shorter-form thoughts do much better in plaintext! +.Pp +The first reason is a theme for this blog: +be the change you want to see. +I would love to see more content on gopher, +so I'm taking the plunge. +.Sh THE PITCH +So, why gopher? +Probably the biggest reason to explore gopher is +the content. +It's a parallel network totally untouched by +commercial interests. +You won't see a single ad. +.Pp +The second reason to try gopher lies in the +protocol itself--gopher has a standardized menu +interface, and individual gopherholes cannot +change the way you interact with them beyond +the standard. +In a world where it seems every bit of the +web's UI has been rewritten in JavaScript (looking +at you,
's that should be