| Sample gophermap for Gophernicus | |
| ## | |
| ## This is a sample gophermap. | |
| ## | |
| # | |
| Creating a file called "gophermap" into a directory disables the | |
| normal resource listing and replaces it with the contents of the m | |
| file. You can also have inline gophermaps - files with a ".gopherm | |
| extension are parsed as gophermaps and displayed in between normal | |
| resources in alphabetical order. | |
| In a gophermap any line that doesn't contain a <TAB> character is | |
| automatically converted to an type "i" gopher resource which are | |
| displayed as plain text in the client. Lines which contain tabs ar | |
| intepreted as gopher resource lines which the client will render a | |
| links. The first line of a gophermap should be a !Title line | |
| describing the menu. | |
| Dynamic gophermaps are possible by making the gophermap a script a | |
| marking it as executable. All script output is parsed just like a | |
| static gophermap, for example lines without tabs are converted to | |
| resources. Executable gophermaps are always ran through the defaul | |
| shell (/bin/sh) so depending on your operating system that's eithe | |
| slow, or really unbearably slow... | |
| The format of a gophermap resource line is simple: | |
| Xname<TAB>selector<TAB>host<TAB>port | |
| Where: | |
| X is the gopher filetype | |
| name is an explanation of the resource | |
| selector is the path to resource | |
| host:port are the hostname and port number to go to | |
| Type and name are mandatory. If you don't specify a selector, the | |
| name field will be also used as the selector. If you don't specify | |
| host or port the host:port of the current server are used instead. | |
| Also make sure to use ONLY ONE TAB between the fields. | |
| Valid filetypes include: | |
| 0 text file | |
| 1 directory | |
| 3 error message | |
| 5 archive file (zip, tar etc) | |
| 7 search query | |
| 8 telnet session | |
| 9 binary file | |
| g GIF image | |
| h HTML file | |
| i info text | |
| I generic image file (other than GIF) | |
| d document file (ps, pdf, doc etc) | |
| s sound file | |
| ; video file | |
| c calendar file | |
| M MIME file (mbox, emails etc) | |
| Additional type characters supported by Gophernicus: | |
| # comment - rest of the line is ignored | |
| !title menu title (use on the first line) | |
| -file hide the file from listings | |
| :ext=type change filetype (for this directory only) | |
| ~ include a list of users with valid ~/public_gopher | |
| % include a list of available virtual hosts | |
| =mapfile include or execute other gophermap | |
| * stop processing gophermap, include file listing | |
| . stop processing gophermap (default) | |
| Examples of valid resource lines: | |
| 1subdir<TAB> | |
| 1Relative internal link<TAB>subdir | |
| 1Absolute internal link<TAB>/subdir | |
| 1External link <TAB>/<TAB>gopher.floodgap.com<TAB>70 | |
| 1External relative link (which shouldn't work)<TAB>subdir/<TAB>gop | |
| 0Finger-to-gopher link<TAB>kim<TAB>holviala.com<TAB>79 | |
| hLink to a website<TAB>URL:http://www.google.com/ | |
| hLink to a local html page<TAB>/path/to/file.html | |
| 5Link to an tar archive<TAB>/path/to/archive.tar.gz | |
| 9Link to a binary file<TAB>/path/to/binary | |
| 7Search engine query<TAB>/query | |
| 8Telnet session<TAB>kim<TAB>holviala.com<TAB>79 | |
| # Hide a few files from the menu listing generated by * | |
| -hiddenfile.txt | |
| -hiddendir | |
| # Change filetypes for this directory | |
| :png=g | |
| :foo=b | |
| Include links to users own gopherspaces: | |
| ~ | |
| List all available virtual hosts: | |
| % | |
| Include sub-gophermap: | |
| =LICENSE | |
| Execute script and parse output as subgophermap: | |
| =/usr/bin/uptime | |
| Here we stop processing the gophermap and include the regular menu | |
| * | |
| ___________________________________________________________________ | |
| Gophered by Gophernicus/3.1.1 on OpenBSD/amd64 7.6 |