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