Overview of some salient issues when publishing via Gophernicus, mention VF-1 c… | |
git clone git://bitreich.org/gopher-tutorials/ git://enlrupgkhuxnvlhsf6lc3fziv5… | |
Log | |
Files | |
Refs | |
Tags | |
--- | |
commit 75389aa48308eb655d152456986e43c4b3ad94a2 | |
parent 389858fe316692d3f34db820c55a547157356d8f | |
Author: solderpunk <[email protected]> | |
Date: Sat, 31 Mar 2018 12:06:24 +0000 | |
Overview of some salient issues when publishing via Gophernicus, mention VF-1 c… | |
Signed-off-by: Christoph Lohmann <[email protected]> | |
Diffstat: | |
M clients.txt | 18 ++++++++++++++++++ | |
A publish-gophernicus.txt | 54 +++++++++++++++++++++++++++++… | |
2 files changed, 72 insertions(+), 0 deletions(-) | |
--- | |
diff --git a/clients.txt b/clients.txt | |
@@ -49,3 +49,21 @@ RuGopher is an open-source graphical gopher client written i… | |
You can fetch the sources at the following GIT repository : | |
https://github.com/Val6789/RuGopher.git | |
+ | |
+VF-1 | |
+==== | |
+ | |
+VF-1 is an open source text-based gopher client written in Python 3, | |
+which uses external programs to handle different item types. It also | |
+sports some advanced navigation features, such as link extraction from | |
+type 0 items, jumping to next/previous item in a menu without | |
+returning to the menu, marking items with a single character (cf vim | |
+marks) and queuing up items to visit in a FIFO list called a "tour". | |
+ | |
+Souce is at: | |
+ | |
+ https://github.com/solderpunk/VF-1 | |
+ | |
+VF-1 is also on PyPi so it can be installed with: | |
+ | |
+ pip3 install VF-1 | |
diff --git a/publish-gophernicus.txt b/publish-gophernicus.txt | |
@@ -0,0 +1,54 @@ | |
+Gophernicus is quite fussy about permissions, to minimise the risk of | |
+accidentally serving files not intended for public consumptions. Only | |
+world accessible content will be served, so chmod files o+r and | |
+directories o+rw. This is a common cause of confusion and frustration | |
+for beginners. | |
+ | |
+Gophernicus supports so-called "personal gopherspaces". If a user | |
+"bob" has a directory named "public_gopher" in their home directory, | |
+then the file /home/bob/public_gopher/foo/bar/baz.ext will be | |
+accessible via the selector ~bob/foo/bar/baz.ext (if permissions | |
+allow). The name of the "public_gopher" directory can be changed via | |
+the -u option. This is a convenient feature for those who want to | |
+host multiple users, although it can of course be emulated with | |
+symlinks for other server software. | |
+ | |
+Automatically generated directory listings list files in alphabetical | |
+order. This is less than ideal for phloggers who usually want the | |
+most recent entry to appear at the top. The conventional workaround | |
+for this seems to be to prefix filenames with some kind of timestamp | |
+that sorts nicely alphabetically. YYYYMMDD timestamps obviously work | |
+nicely, but a three-character alphanumeric code also sees some use, | |
+see e.g. gopher://grex.org:70/0/~tfurrows/phlog_filename.txt. | |
+ | |
+Automatically generated menus can be overridden by creating a file | |
+named "gophermap" in any directory. Menu items are specified with | |
+lines of the type: | |
+ | |
+Xname<TAB>selector<TAB>host<TAB>port | |
+ | |
+where X is the gopher item type. The host and port may be omitted, | |
+in which case they will be set to the same host and port that the | |
+server is running on (the server's idea of its own hostname can be | |
+forced with the -h option). The selector may also be omitted, in | |
+which case it will be set equal to the name. Lines not beginning | |
+with a valid item type or with one of Gophernicus' own non-standard | |
+control characters are treated as information lines (type i). | |
+ | |
+It is important to note that selectors which do not begin with a / | |
+will be interpreted as *relative* links, e.g. a selector of "bar" | |
+specified in "foo/gophermap" will point to "foo/bar". Selectors | |
+beginning with / are treated as absolute links. Some other gopher | |
+servers with seemingly compatible gophermap syntax (e.g. PyGopherd) | |
+treat all selectors as absolute and this can cause headaches when | |
+attempting to port gophermaps from one server to another. | |
+ | |
+Dynamically generated menus are possible by making the "gophermap" | |
+file a world-executable script which produces output on stdout of | |
+exactly the same format as a static gophermap. | |
+ | |
+As a lightweight alternative to gophermaps, a file named "gophertag" | |
+may be placed in any directory containing a "user friendly" name for | |
+that directory to be used in automatically generated listings (e.g. | |
+you could placed a gophertag file containing the text | |
+"Miscellaneous photographs" in the directory "misc_photos"). |