diff --git a/README.md b/README.md index 36d154e..4562213 100644 --- a/README.md +++ b/README.md @@ -10,37 +10,40 @@

-`phd` is an esoteric gopher server for small gopherholes. +`phd` is a small, easy-to-use gopher server. -point it at a directory and it'll serve up all its text files, -sub-directories, and binary files over gopher. any `.gph` files will +Point it at a directory and it'll serve up all its text files, +sub-directories, and binary files over gopher. Any `.gph` files will be served up as [gopermaps][map] and executable `.gph` files will be -run as a script with their output served to the client, like cgi! +run as a script with their output served to the client, like the +glorious cgi-bin days of yore! ### special files: -- **header.gph**: if it exists in a directory, its content will be - shown above the directory's content. put ascii art in it. -- **footer.gph**: same, but will be shown below a directory's content. -- **index.gph**: completely replaces a directory's content with what's +- **header.gph**: If it exists in a directory, its content will be + shown above the directory's content. Put ASCII art in it. +- **footer.gph**: Same, but will be shown below a directory's content. +- **index.gph**: Completely replaces a directory's content with what's in this file. -- **??.gph**: visiting gopher://yoursite/1/dog/ will try to render - `dog.gph` from disk. -- **.reverse**: if this exists, the directory contents will be listed - in reverse alphanumeric order. useful for phloggin'. - -any line in a `.gph` file that doesn't contain tabs (`\t`) and doesn't +- **??.gph**: Visiting gopher://yoursite/1/dog/ will try to render + `dog.gph` from disk. Visiting /1/dog.gph will render the raw content + of the .gph file. +- **.reverse**: If this exists, the directory contents will be listed + in reverse alphanumeric order. Useful for phloggin', if you date + your posts. + +Any line in a `.gph` file that doesn't contain tabs (`\t`) and doesn't start with an `i` will get an `i` automatically prefixed, turning it into a gopher information item. ### dynamic content: -any `.gph` file that is marked **executable** with be run as if it +Any `.gph` file that is marked **executable** with be run as if it were a shell script and its output will be sent to the client. it will be passed three arguments: the query string (if any, the host, and the port. do with them what you will. -for example: +For example: ```sh $ cat echo.gph @@ -49,13 +52,13 @@ echo "Hi, world! You said:" $1 echo "1Visit Gopherpedia / gopherpedia.com 70" ``` -then: +Then: $ gopher-client gopher://localhost/1/echo?something [INFO] Hi, world! You said: something [LINK] Visit Gopherpedia -or more seriously: +Or more seriously: ```sh $ cat figlet.gph @@ -94,7 +97,7 @@ Dir[__dir__ + "/*"].each do |entry| end ``` -now you can finally share the file sizes of a directory with the world +Now you can finally share the file sizes of a directory with the world of Gopher! $ phetch -r 0.0.0.0:7070/1/sizes @@ -112,8 +115,6 @@ of Gopher! ## usage - Usage: - phd [options] Options: @@ -135,14 +136,14 @@ of Gopher! ## installation -binaries for linux, mac, and raspberry pi are available at +Binaries for linux, mac, and raspberry pi are available at gopher://phkt.io/1/releases/phd and https://github.com/dvkt/phd/releases: - [phd-v0.1.6-linux-x86_64.tar.gz][0] - [phd-v0.1.6-linux-armv7.tar.gz (RPi)][1] - [phd-v0.1.6-macos.zip][2] -just unzip/untar the `phd` program into your $PATH and get going! +Just unzip/untar the `phd` program into your $PATH and get going! ## development