*.*.* 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!