Merge branch 'master' of ssh://bitreich.org///scm/gopher-tutorials - gopher-tutorials - The gopher tutorials project.
HTML git clone git://bitreich.org/gopher-tutorials/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/gopher-tutorials/
DIR Log
DIR Files
DIR Refs
DIR Tags
---
DIR commit a7b2ac2ae2a804295e0a0789c76e2549ca0d2d1f
DIR parent 33d1b266be78013782311961b15777ee2cd75c4e
HTML Author: Solene Rapenne <solene@perso.pw>
Date: Tue, 5 Jun 2018 15:00:14 +0200
Merge branch 'master' of ssh://bitreich.org///scm/gopher-tutorials
Diffstat:
M clients.txt | 18 ++++++++++++++++++
M index.gph | 20 ++++++++++----------
A publish-gophernicus.txt | 54 +++++++++++++++++++++++++++++++
A publishing-guideline.txt | 69 ++++++++++++++++++++++++++++++
4 files changed, 151 insertions(+), 10 deletions(-)
---
DIR diff --git a/clients.txt b/clients.txt
@@ -60,3 +60,21 @@ RuGopher is an open-source graphical gopher client written in Ruby.
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
DIR diff --git a/index.gph b/index.gph
@@ -9,24 +9,24 @@ ttechnical skill levels.
___________________________U_S_I_N_G__G_O_P_H_E_R________________________
-[0|Tutorial for absolute beginners.|/tutorial/beginners.txt|server|port]
+[0|Tutorial for absolute beginners.|/tutorials/beginners.txt|server|port]
Clients:
-[0|Using your web browser to explore Gopherspace. (floodgap.com)|/gopher/wbgopher|floodgap.com|70]
-[0|The Overbite Project – gopher for firefox|/overbite|floodgap.com|70]
-[0|Legacy clients (floodgap.com)|/gopher/clients|floodgap.com|70]
-[0|How to use sacc.|/tutorial/sacc.txt|server|port]
-[0|How to use a gopherproxy.|/tutorial/proxy.txt|server|port]
-[0|How to use gopher in firefox or chromium.|/tutorial/overbite.txt|server|port]
+[1|Using your web browser to explore Gopherspace. (floodgap.com)|/gopher/wbgopher|floodgap.com|70]
+[1|The Overbite Project – gopher for firefox|/overbite|floodgap.com|70]
+[1|Legacy clients (floodgap.com)|/gopher/clients|floodgap.com|70]
+[0|How to use sacc.|/tutorials/sacc.txt|server|port]
+[0|How to use a gopherproxy.|/tutorials/proxy.txt|server|port]
+[0|How to use gopher in firefox or chromium.|/tutorials/overbite.txt|server|port]
[0|How to use lynx or w3m for gopher.|/tutorials/lynx-w3m.txt|server|port]
[0|Commandline clients for gopher (curl, snarf ...)|/tutorials/cmdline.txt|server|port]
-[0|Other clients available.|/tutorial/clients.txt|server|port]
+[0|Other clients available.|/tutorials/clients.txt|server|port]
____________________J_O_I_N_I_N_G__T_H_E__C_O_M_M_U_N_I_T_Y______________
-[0|Join the community on IRC.|/tutorial/irc.txt|server|port]
-[0|Join the mailinglist.|/tutorial/gopher-ml.txt|server|port]
+[0|Join the community on IRC.|/tutorials/irc.txt|server|port]
+[0|Join the mailinglist.|/tutorials/gopher-ml.txt|server|port]
________________________________H_I_S_T_O_R_Y____________________________
DIR 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").
DIR diff --git a/publishing-guideline.txt b/publishing-guideline.txt
@@ -0,0 +1,69 @@
+This document will give you a few hints about publishing through
+gopher.
+
+Line length
+===========
+
+The rendering of content is client specific. However most clients
+will present the user with a text based interface, so you should be
+conservative on the maximum line length in your menus. As clients
+will add a couple of characters to mark item types, a line width of
+69 characters is recommended.
+
+The menu
+========
+
+The main entry point and user interface between your readers and your
+content is the gopher menu item (item '1' as you may recall). The
+selectors in a menu will define the information hierarchy. Choose a
+flat hierarchy if you can so readers will get to the content easily
+and without traversing too many menus.
+
+Use helpful item descriptions for your selectors, this will aid both
+human and nonhuman readers: indexers will most likely index menu
+items only. Be as specific as possible. If it is a binary item type
+hint at its intended format, so your readers will know what to
+expect. Using a useful filename scheme for selectors is also helpful.
+
+You may decorate your menus with informational items (item 'i').
+Clients will display them as is without additional tags. Around the
+gopherspace a lot of ASCII art is used to create a pleasant
+appearance of a gopher site. Some services also include explanations
+for the specific menu, and use 'i' items for grouping selectors.
+
+There are clients that do not offer a 'back' button. Be kind to those
+users and provide navigational selectors in your menus. Make the
+journey through your gopher space easy!
+
+On your travels through gopher sites, you will encounter gopher sites
+that use menu and informational items to mimick a page with embedded
+links. There is an ongoing dispute whether this is good style. We do
+not recommend this style as it delutes the meaning of the menu item.
+For starters you should stick to single file items to store your
+content. Once you gain more experience with publishing content in
+gopher you can always change your mind later!
+
+Selector hierarchy
+==================
+
+By design a gopher site should present a hierarchy of content
+selectors to the user. These mimick a file system by intention.
+However this does not need to mtch the real hierarchy of your storage
+filesystem. An example:
+
+Alicia has a gopher blog (aka 'phlog'). She writes daily posts. To
+make it easy on her users she has a menu item on the phlog/ selector
+that presents the latest 5 posts and a selector to an archive menu
+linking to all her posts. On disk however both the menus and the
+articles reside in the same directory. A script creates the
+selectors in the menu files and rotates them. The post files however
+remain untouched and their selectors will not change over time. This
+means that external links to her post will still be valid later.
+
+Site generators
+===============
+
+The easiest creation of content is done manually. If you would like
+to automate some task then there are site generators. Most of these
+consists of a collection of shell scripts you can adapt to your
+needs. Search veronica for cl-yag or burrow for starters.