[/users/sethkush/] | |
.. | |
subdir 2024-Nov-23 01:01 -------- | |
LICENSE 2024-Nov-23 01:06 1.4 KB | |
Sample gophermap for Gophernicus | |
Creating a file called "gophermap" into a directory disables the | |
normal resource listing and replaces it with the contents of the ma | |
file. You can also have inline gophermaps - files with a ".gopherma | |
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 an | |
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 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: | |
Relative internal link | |
Absolute internal link | |
External link | |
Link to a local html page | |
Link to an tar archive | |
Link to a binary file | |
Search engine query | |
Telnet session | |
Include sub-gophermap: | |
BSD 2-Clause License | |
Copyright (c) 2009-2018 Kim Holviala <[email protected]> | |
Copyright (c) 2019 Gophernicus Developers <gophernicus@gophernicus. | |
All rights reserved. | |
Redistribution and use in source and binary forms, with or without | |
modification, are permitted provided that the following conditions | |
1. Redistributions of source code must retain the above copyright n | |
list of conditions and the following disclaimer. | |
2. Redistributions in binary form must reproduce the above copyrigh | |
this list of conditions and the following disclaimer in the docu | |
and/or other materials provided with the distribution. | |
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | |
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED T | |
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR | |
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS | |
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQ | |
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE G | |
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | |
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | |
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT | |
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE | |
Execute script and parse output as subgophermap: | |
11:05AM up 37 days, 21:05, 54 users, load averages: 0.95, 0.63, 0. | |
Here we stop processing the gophermap and include the regular menu: |