Revert unintended change to publishing-guideline.txt. - 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 be49c309af4b01bc268e8bcc4bb179dbf30b8da1 DIR parent f8892d1eb64eda23d643c88baae123480e803b7b HTML Author: Julian Schweinsberg <pazz0@0xfa.de> Date: Wed, 1 May 2019 09:34:26 +0200 Revert unintended change to publishing-guideline.txt. Signed-off-by: Christoph Lohmann <20h@r-36.net> Diffstat: M publishing-guideline.txt | 70 +++++++++++++++++++++++++++++-- 1 file changed, 66 insertions(+), 4 deletions(-) --- DIR diff --git a/publishing-guideline.txt b/publishing-guideline.txt @@ -1,7 +1,69 @@ -This is a to be done tutorial. +This document will give you a few hints about publishing through +gopher. -If you want to help us, making this reality, follow the instructions below. +Line length +=========== -Please check out git://bitreich.org/gopher-tutorials and go on #bitreich-en on -freenode, to send us the patch. All patches are welcome! +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.