parent
34237770f9
commit
c3b2badec2
@ -0,0 +1,14 @@ |
|||||||
|
Copyright 2018-2019 Vincenzo 'KatolaZ' Nicosia <katolaz@freaknet.org> |
||||||
|
2018 Solene Rapenne <solene@bsd.org> |
||||||
|
|
||||||
|
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. |
@ -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 |
||||||
|
|
||||||
|
|
Loading…
Reference in new issue