From c3b2badec294b3dcfba1ae5eeb781e70a5182aa8 Mon Sep 17 00:00:00 2001 From: KatolaZ Date: Thu, 24 Jan 2019 00:29:16 +0000 Subject: add README and LICENSE --- LICENSE | 14 +++++++ README.md | 124 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 138 insertions(+) create mode 100644 LICENSE create mode 100644 README.md diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..9bdf344 --- /dev/null +++ b/LICENSE @@ -0,0 +1,14 @@ +Copyright 2018-2019 Vincenzo 'KatolaZ' Nicosia + 2018 Solene Rapenne + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..924a1f3 --- /dev/null +++ b/README.md @@ -0,0 +1,124 @@ + gophed: burrowing the gopherspace with ed +=============================================== + +`gophed` is a simple gopher client in a POSIX shell script. `gophed` +uses ed(1) as a pager and navigator, and is based on an original idea of +an ed-based client by Solene Rapenne (gopher://bitreich.org/1/usr/solene/). + +`gophed` is distributed under the ISC License. A copy of the LICENSE is +available in the repo. + +The first time you run `gophed` you need to initialise it via: + + ./gophed -i + +This will create a few symlinks in the current folder, namely `g`, `v`, +and `d`, which will be used as `gophed` commands. Once `gophed` has +been initialised, you can start visiting some gopherholes: + + ./gophed / kalos.mine.nu 70 + +or equivalently: + + ./v / kalos.mine.nu 70 + +This command will download the corresponding resource, and print it on +output with line numbers. An excerpt is reported below: + +... +15 i+------------------------------------------+ Err kalos.mine.nu 70 +16 i Welcome to kalos.mine.nu Gopher-hole Err kalos.mine.nu 70 +17 i+------------------------------------------+ Err kalos.mine.nu 70 +18 0 About me /me.txt kalos.mine.nu 70 +19 0 About this gopherhole /about.txt kalos.mine.nu 70 +20 1 Contacts /contacts kalos.mine.nu 70 +21 i Err kalos.mine.nu 70 +22 1 My gopherhole @SDF /users/katolaz sdf.org 70 +23 1 My gopherhole @republic.circumlunar.space /~katolaz/ republic.circumlunar.space 70 +24 1 My Phlog @republic.circumlunar.space /~katolaz/phlog republic.circumlunar.space 70 +25 i+------------------------------------------+ Err kalos.mine.nu 70 +26 i Projects Err kalos.mine.nu 70 +27 i+------------------------------------------+ Err kalos.mine.nu 70 +28 1 Burrow the Burrows (crawling the Gopherspace) /burrow/index.gph kalos.mine.nu 70 +29 1 gosher -- a Gopher server in a shell script /software/gosher kalos.mine.nu 70 +... += + +The final "=" is the `gophed` default prompt. No need to say that you +can change the default prompt to any single character by changing the +PROMPT variable. Now, if you want to visit the selector at line 23, you +would type: + + !./g % 24 [ENTER] + +at the prompt. This will effectively spawn another `gophed` instance, +telling it to get the selector at line 23 in the current document, and +to load the corresponding resource. In this case we will have something +like: + +1 i ________ ____ Err republic.circumlunar.space 70 +2 i /_ __/ /_ ___ / __ \_ ______ _______ _____ ____ Err republic.circumlunar.space 70 +3 i / / / __ \/ _ \ / / / / | /| / / __ `/ ___/ | / / _ \/ __ \ Err republic.circumlunar.space 70 +4 i / / / / / / __/ / /_/ /| |/ |/ / /_/ / / | |/ / __/ / / / Err republic.circumlunar.space 70 +5 i /_/ /_/ /_/\___/ /_____/ |__/|__/\__,_/_/ |___/\___/_/ /_/ Err republic.circumlunar.space 70 +6 i Err republic.circumlunar.space 70 +7 i ____ __ __ _ __ __ Err republic.circumlunar.space 70 +8 i / __ )/ /___ ______/ /___________ ___ (_) /_/ /_ Err republic.circumlunar.space 70 +9 i / __ / / __ `/ ___/ //_/ ___/ __ `__ \/ / __/ __ \ Err republic.circumlunar.space 70 +10 i / /_/ / / /_/ / /__/ ,< (__ ) / / / / / / /_/ / / / Err republic.circumlunar.space 70 +11 i /_____/_/\__,_/\___/_/|_/____/_/ /_/ /_/_/\__/_/ /_/ Err republic.circumlunar.space 70 +12 i Err republic.circumlunar.space 70 +13 i+------------------------------------------------------------------+ Err republic.circumlunar.space 70 +14 i "their swords were forged by dwarves, in the mists of time..." Err republic.circumlunar.space 70 +15 i+------------------------------------------------------------------+ Err republic.circumlunar.space 70 +16 i Err republic.circumlunar.space 70 +17 0 About this phlog /~katolaz/phlog/about.txt republic.circumlunar.space 70 +18 i Err republic.circumlunar.space 70 +..... +26 i+------------------------------------------------------------------+ Err republic.circumlunar.space 70 +27 1 << Back to my gopherhole /~katolaz/ republic.circumlunar.space 70 +28 . += + +Well, if you want now to go to the resource at line 17, you would type: + + !./g % 17 [ENTER] + +when you are done with viewing the current resource, you just type: + + q [ENTER] + +at the `gophed` prompt (well, that one is indeed ed(1) prompt...), and +you will be back at the gopher resources you had visited before. Typing + + q [ENTER] + +again will bring you back in history again. If you give a `q` command on +the first page, you will leave `gophed`. If you would instead like to +save the resource pointed by a selector, you will use the command: + + !./d % NUMBER [ENTER] + +where NUMBER is the number of the line where the selector appears in the +current page. The resource will be saved at "HOSTNAME/URI" where +HOSTNAME is the name of the host and URI is the path to the resource. +If you don't remember which line is which, you can just give: + + %n [ENTER] + +at the prompt. If you don't remember which resource you are currently +visiting, typing: + + f [ENTER] + +at the `gophed` prompt will give some hints. If you are an ed(1) user, +you will totally understand what we are up to here, and probably will +now have a good laugh. If you don't know how to use ed(1), instead, then +this is probably the right time to start learning it. Remember: ed(1) is +the standard editor, and an awesome one at that... + +HND + +KatolaZ + + -- cgit v1.2.3