Last modified: 2021-08-30 20:21

Quick Tour, Part 1

Moving around

You can start your gc session by starting it with a URL as command line parameter, like

./gc -e al:0 http://www.quietsche-entchen.de/gopher/gopher.ca

Two things to note here:

  1. The example asssumes that you have downloaded the tar archive to take a test with gc, hence ./gc.

  2. Ignore the -e al:0 option for the moment.

In this case you should get the directory listing back.

directory listing

The selectable documents are labelled and can be opened by entering their number at the dir > command prompt. Comments - type i items - are indented by four blanks to put them out of the way of the real content (in the end they are just comments). Some elements have a visible type indicator <bin> like the two downloads. Directories would have three dots ... appended.

gc reports documents with a special relation at the bottom directory listing. The relations are read from the item's Gopher+ information block, i.e. the Related entry in the +ADMIN section. You can open these named pages with a colon command, e.g. :home to open the directories home page. The three here are

home
is intended to be the Gopher equivalent to HTTP's index.html.

autoload
this file loads automatically when the directory is retrieved. This did not happen here because the -e al:0 command option turned that off. (-e for enable, al is the option's key and 0 to disable.)

privacy
is just a reference to the privacy notice.

Opening one of the documents is not very spectacular.

Text file sample

Text files are paged using less and you have the usual prompt to navigate through the file or search around. Pressing q brings you back to gc.

What is different to before is that the prompt is now item >, which reflects the changed context. Before, entering a number would open a file from the directory and now a file referenced in the document you were just reading. In HTML-files the links would have numbers (from lynx) but here they don't. The Mardown tool md2text does not do that. In either case you can list the references with the ref command.

List of referenced items

Entering e.g. 3 would display display the file using-gc.md. The text behind the filename or URL is the link's text, not the document's title.

Another way to move around is using navigation information from the Gopher+ block. Enter plus to list that.

Gopher+ information

Did you notice that the context changed to the Gopher+ block? Here again, available links are numbered. 3 brings you to the directory's home page and 2 displays the privacy notice. There is also an alternative view. Enter 4 to see the HTML file. (Listing them in the -VIEWS block is for a technical reason not related to gc. They will move to +VIEWS later.)

These are the commands you have used so far.

Input Displays
num numbered link from the current context
:name item with relation name
page the most recently display document
plus the item's Gopher+ information
ref links extracted from the item document

The page command wasn't in the guide. It simply redisplays the document you have just seen. A typical use would be when you read a document, leave it checking something in the Gopher+ information and to display the document again.

So far we have been getting our files from an HTTP server. Strange, when gc is a Gopher+ client. For gc it doesn't make much difference from where it gets its data. For me the core parts of Gopher are

  1. the directory structure
  2. additional item information in Gopher+ blocks

and I get both from HTTP servers. Using HTTP server makes it easier for me to put Gopher content on the net and I could also serve "normal user" by HTTP/HTML. And finally, using the HTTP-server enables you to check Gopher+ feature without having access to one.

When gc talks to an HTTP server it expects that Gopher or Gopher+ directory files have the content-type text/plain and end with the extension .ca. The content counts, not the protocol.

However, for the next examples I'll use a Gopher+ server as remote end. You will still be able to reproduce (most, if not all of the) things with the HTTP copy.