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.4 |