*.*.* Gophermap/SDF.org For Dummies! *.*.*


If you're like me, you might have spent a long time doing trial and error
until you learned how to set up your "homepage" on gopher. You might even
have been as silly as I was, attempting to make an "index.txt" file or
something similar. This is not how this works at all. On this page, I will
attempt to explain how to properly make a gophermap, add links, and fix
permissions for someone out there who is just as lost as I was at first,
even with other tutorials open on my screen. This text applies mostly to
gopherholes under sdf.org membership but can, in some cases, be used for
self hosting or other hosts.

For starters, we should address how to make a homepage like the one you
saw before you ended up here. Well, unlike the web, gopher does not use an
index file. Rather, gopher uses what is called a gophermap. This is a
blank file without an extension. To make a gophermap via ssh, simply type
"edit gophermap" into the terminal/putty or whatever ssh client you are
using. If you are doing this on a self hosted server, you would open your
text editor and save the file as "gophermap" with no extension at the
end. Once you are editing this blank gophermap file, whatever changes you
save are what will appear when people visit your gopherhole. This is
essentially, a plain text file. Exactly what you type is what people will
see, this includes formatting.


*.*.* Creating Links *.*.*


So, you want to link to another page or file. This could be to a text
document/page, type of file, another gopherhole, or even to another
protocol like https (regular .com websites and etc). Well, it is rather
confusing, as gopher clients tend to read links with certain formatting.
This formatting relies on a type of file, filename/directory, and
sometimes a port. Below is a chart from baud.baby correlating types of
links to their numbers.

Indicator   | Itemtype
     ------------|-----------------------------------------
     0           | Text file
     1           | Gopher submenu/directory
     2           | CCSO Nameserver
     3           | Error code
     4           | BinHex-encoded file (primarily for Macs)
     5           | DOS binary
     6           | UNIX uuencoded file
     7           | Gopher full-text search
     8           | Telnet
     9           | Binary file
     +           | Mirror or alternate server
     g           | GIF file
     I           | Other image file
     T           | Telnet 3270
     h           | HTML, Hypertext Markup Language
     i           | inline text or info line
     s           | Sound/wav file

*note that h, i, and s are not officially associated with gopher,
but many clients will still read them.

Using the table above, we can add links to our gophermap. For example, if
you made an about.txt file using the edit command or a text editor, you
could add it to your homepage. We do this by looking at the type of file
(text, which would be 0) and its location / associated number. If your
text file is in the same folder as your gophermap file, you can type the
following:

0type link text here(PRESS TAB HERE)file.txt

NOTE!!!: The correct formatting here would be typing zero, then WITHOUT
PRESSING SPACE start typing your displayed text of choice. after you type
the first word, you can add spaces like normal. Then, press the tab
button after the last word before typing the filename, and do not include
any parenthesis. Using the spacebar, ive emulated what you should be
typing:

0type desired text here        file.txt

That big empty space is what ya'd see once you press tab after typing the
desired text. Doing this is just one type of link. (If you are getting
access denied, this is normal and will be explained more below).

If you wanted to link to a file on another gopherhole, you could do
something similar but with more specifics added. lets say you wanted to
link to a text file on another gopherhole. You can do this by typing:

0desired text here(PRESS TAB HERE)/pathtofile/file.txt(TAB)url(TAB)port

The usual gopher port is 70.


*.*.* If You Get "Access Denied" When Linking Your File *.*.*

This issue mostly regards users of SDF, but could probably apply to other
people editing their gopherhole via SSH. This is typically an issue with
chmod permissions. chmod has a variety of permissions which I will go
over, but to get this issue out of the way, typing "chmod 644
filename.txt" (with filename.txt being replaced with the actual name of
your text file) should make your entire gopherspace readable to others but
only writeable by you. Below is a list of dofferent chmod commands and
what they do for permissions:

"chmod 777" Don't do this. It allows anyone to do anything to your files.
"chmod 755" Only the file owner can use the file, including authentication
when others try to read it.
"chmod 664" We weont over this one.
"chmod 600" Owner of the file can read and write, nobody else can do
anything.


*.*.* Final Words *.*.*

Well, hopefully, this helped at least someone out there as thick in the
noggin as I was. I am the type of person who can't really learn anything
unless the instructiuons are specific to a concerning degree, lol. I will
be linking my email on my about page if you have any specific questions
(or if I fucked up somewhere and a smarter person wants to correct me).

Happy browsing and enjoy gopher!