From 7e9442e8b87afb3f0d5882c6a9a2aca5e5614657 Mon Sep 17 00:00:00 2001 From: dvkt Date: Sat, 28 Dec 2019 12:45:20 -0800 Subject: [PATCH] logo --- README.md | 40 +++++++++++++++++++++++++++++----------- img/logo.png | Bin 0 -> 17431 bytes img/logo2.png | Bin 0 -> 18100 bytes 3 files changed, 29 insertions(+), 11 deletions(-) create mode 100644 img/logo.png create mode 100644 img/logo2.png diff --git a/README.md b/README.md index 0f04dcb..f1a554e 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,14 @@ -``` +

-🐀 lil gopher daemon +`phd` is an esoteric gopher server for small gopher sites. -point it at a directory and it'll serve up all its text files, sub-directories, and binary files over gopher. +point it at a directory and it'll serve up all its text files, sub-directories, and binary files over gopher. executable files will be run, like cgi! special files: @@ -18,20 +18,40 @@ special files: - **??.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 start with an `i` will get an `i` automatically prefixed, turning it into a gopher information item. +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. -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. (CGI-BIN is back, baby.) +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: $ cat echo.gph #!/bin/sh echo "Hi, world! You said:" $1 + echo "1Visit Gopherpedia / gopherpedia.com 70" -Then: + +then: $ gopher-client gopher://localhost/1/echo?something - Hi, world! You said: something + [INFO] Hi, world! You said: something + [LINK] Visit Gopherpedia + +or more seriously: + + $ cat figlet.gph + #!/bin/sh + figlet $1 + +then: + + $ gopher-client gopher://localhost/1/figlet?hi gopher + [INFO] _ _ _ + [INFO] | |__ (_) __ _ ___ _ __ | |__ ___ _ __ + [INFO] | '_ \| | / _` |/ _ \| '_ \| '_ \ / _ \ '__| + [INFO] | | | | | | (_| | (_) | |_) | | | | __/ | + [INFO] |_| |_|_| \__, |\___/| .__/|_| |_|\___|_| + [INFO] |___/ |_| + ## usage @@ -53,8 +73,6 @@ Then: ## todo -- [ ] logo - [ ] script mode -- [ ] run mode - [ ] log options - [ ] 404 message diff --git a/img/logo.png b/img/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..319e40fd96b63d9e6d3c32b01e06e4a4ef219b75 GIT binary patch literal 17431 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 vHiyJ3mm$ua+}+)w#jUuz+ds6= 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