Introduction
Introduction Statistics Contact Development Disclaimer Help
Using Emacs for Gophermaps
Why use Emacs when everyone suggests I use vim for creating a
gophermap?
That's easy. Because I can.
Gopher was born around the same time as the World Wide Web.
Were it not for a few bad decisions, the net could have been a
vastly different place. I'm old enough to remember it, if
only vaguely. I'm also old enough to be getting tired of
progress and miss things being simple and mostly text based
without all the advertisements and trackers. Cookies were
snacks next to the computer.
I'm not going to pretend I remembered much of anything about
it, but lines were of the format.
PText[Tab]Fspec[Tab]Host[Tab]Port
Where the P field is the Protocol:
0 Text /* Link to a Text File. */
1 Gophermap /* Link to a Gophermap. */
9 Binary /* Link to a Download. */
i Informational /* Informational Text. */
h URL /* Link to a URL */
The Text field cannot contain tab characters.
The Fspec field is of the format [dir][/][filename] at least
one element must be present.
The Host field is the canonical name of the host.
The Port filed is the TCP port to use. Gopher usually ran on
port 70 while http usually ran on port 80. See /etc/services
for more information.
Informational text and URL types ignore the information in the
Host and Port fields.
URL should pass the text following "URL:" off to the operating
system's protocol handler.
hHome[Tab]URL:https://mcsuper5.freeshell.org/[Tab]null[Tab]1
Using Emacs
Emacs tends to use the tab key for auto formatting. You can
avoid this by quoting it by typing a "C-q" before the tab
character.
If your gophermaps look weird in your client, try cat with the
"-t" flag to see if you have stray tab characters.
Because the format is textual, you'll want to limit the length
of your lines or refill them using Emacs using "C-x f 62" and
"M-q" for each paragraph. Update the line length according to
your preference.
For your informational text it is useful to use a macro.
Go to the top line of your informational text and begin
recording.
"C-x (" or "[F3]";
"C-a i";
"C-e C-q [tab] / C-q [tab] null C-q [tab] 1";
"C-n" or "[Cursor Down]";
"C-x )" or "[F4]".
You can then execute the macro with "C-x e" or "[F4]".
Hope that helps.
MJC 2024.04.23
You are viewing proxied material from tilde.institute. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.