kopher

A simple Gopher client for KaiOS
git clone git://git.luxferre.top/kopher.git
Log | Files | Refs | README | LICENSE

commit 43014ab569b1e42f2fd9cd5ec36acbc69025eaef
parent 28359eb8894be37d43b66c16fd119c5a67fe963b
Author: Luxferre <lux@ferre>
Date:   Sat,  1 Apr 2023 15:18:31 +0300

Added 8-type support

Diffstat:
MREADME.md | 2+-
Mjs/hi01379.js | 4++++
2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/README.md b/README.md @@ -50,7 +50,7 @@ They are listed in the hi01379.js library name: - `i` (information message), as well as `I` (generic image file) - `h` (external URL) -Outside this list, unknown binary types (`5`, `s`, `;`, `d`) are just treated as type `9` internally, and every other type is assumed to be plain text on access. +Outside this list, unknown binary types (`5`, `s`, `;`, `d`) are just treated as type `9` internally, and every other type is assumed to be plain text on access. The 8-type entries are just converted to `telnet://` URIs with no logic attached. In the Gophermap, any line that doesn't contain tabulation characters is automatically considered an information line by Kopher client and hi01379.js library. This allows to display messages from Gopher servers that don't strictly adhere to the format, such as Gophernicus or PyGopherd. diff --git a/js/hi01379.js b/js/hi01379.js @@ -65,6 +65,10 @@ Hi01379 = (function(psGopherRequest) { if(desc = desc.trim()) { // ignore empty descriptions if(type == '3') // error message output += '<span class=error>' + desc + '</span>' + lbr + else if(type == '8') { // output the telnet:// link as is + var tlink = 'telnet://' + (sel ? (sel+'@') : '') + host + (port ? (':'+port) : '') + output += desc + ': ' + esc(tlink) + lbr + } else { // shape the link (internal hi:type|sel|host|port format unless it's an external URL) var deflink = 'hi:'+[type,sel,host,port].join('|'), link = deflink if(type == 'h' && sel.startsWith('URL:')) {