mirror of
https://github.com/gophernicus/gophernicus.git
synced 2024-12-04 14:46:37 -05:00
109 lines
3.4 KiB
Plaintext
109 lines
3.4 KiB
Plaintext
!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 map
|
|
file. You can also have inline gophermaps - files with a ".gophermap"
|
|
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 are
|
|
intepreted as gopher resource lines which the client will render as
|
|
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 and
|
|
marking it as executable. All script output is parsed just like a
|
|
static gophermap, for example lines without tabs are converted to "i"
|
|
resources. Executable gophermaps are always ran through the default
|
|
shell (/bin/sh) so depending on your operating system that's either
|
|
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 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
|
|
1Relative internal link subdir
|
|
1Absolute internal link /subdir
|
|
1External link / gopher.floodgap.com 70
|
|
1External relative link (which shouldn't work) subdir/ gopher.domain.dom 70
|
|
0Finger-to-gopher link user example.test 79
|
|
hLink to a website URL:http://www.google.com/
|
|
|
|
hLink to a local html page /path/to/file.html
|
|
5Link to an tar archive /path/to/archive.tar.gz
|
|
9Link to a binary file /path/to/binary
|
|
|
|
7Search engine query /query
|
|
8Telnet session user example.test 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:
|
|
*
|