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