Introduction
Introduction Statistics Contact Development Disclaimer Help
Misc Gopher Projects
------------------------------------------------------------
Experiments
------------------------------------------------------------
# Asciidoctor text converter
2025-01-28: I’m developing an Asciidoctor text converter.
The following are text converter tests.
Test of plain text converter
His Official Fiancée by Berta Ruck (formatting test)
Little Brother by Cory Doctorow (another formatting test)
# Arduino Gopher server
2025-05-15: I’m developing a Gopher server for Arduino.
This server may be running on a simulated Arduino while it’s
under development, if it’s even available at any given time.
My Arduino Gopher server
# Web Gopher proxy
2025-05-20: I’m developing a Web Gopher proxy. It’s not very
pretty or fully functional yet.
2025-06-04: It’s prettier and almost fully functional now.
I also promoted it to port 80 to officially make it my Web
site.
Web Gopher proxy (HTTP)
Web Gopher proxy (HTTPS)
# Miscellaneous experiments
These may not play nicely with your Gopher client. Proceed
with caution!
Time of day
Echo
------------------------------------------------------------
Gopher tests
------------------------------------------------------------
Dir test
Link with "h" type (with "URL:" selector)
Another link with "h" type (with "URL:" selector)
Seems Lynx requires _something_ in the "server" field, even
if it's "0" or "null". And Overbite Android requires a
non-zero port number.
Link with "h" type (with obsolete "GET /" selector)
Another link with "h" type (with obsolete "GET /" selector)
Lynx supports this. Other clients may or may not.
Link with "w" type (with a plain URL selector)
Another link with "w" type (with a plain URL selector)
Seems Bombadillo, w3m and Lynx don't support the "w" type.
Mail link with "h" type
Bombadillo doesn't support mailto: URLs (it can't handle
email anyway). w3m and Lynx seem to handle this fine. (w3m
fetches the HTML redirect page, but the email address can be
selected from that page.)
Gopher client tests (URLs)
Gopher client tests (selectors)
/%09 selector
/%20 selector
/%25 selector
/%2525 selector
Lagrange has a bug with "%25" in a selector.
See Issue #728
/hash#file selector
Gopher menu test
------------------------------------------------------------
Link formatting experiments
------------------------------------------------------------
I’m considering tweaking the link layout/format generated by
my Asciidoctor text converter. Here’s a few options.
# Option 1. Inline links
I’ve seen this style on one Gopher hole, and I found it
quite interesting.
This is a test of ›inline links‹. Here's
›another link‹. It starts on another line because Gopher
can't do two links on a single line.
# Option 2. Semi-inline links
This is a variation of option 1, placing each link on a line
of its own.
This is a test of
semi-inline links
. Here's
another link
.
# Option 3. References with links below paragraph
I’ve seen this on one Gopher hole. It’s pretty nice too.
This is a test of link references[1] with links below the
paragraph. Here's another link reference[2].
[1]
[2]
# Option 4. References with links at end of page
This is a test of link references[1] with links at the end
of the page. Here’s another link reference[2].
All links are under <<References>> at the end of the page.
* * *
Currently pages are converted using option 4.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
NOTE : The converter doesn’t currently create
: actual Gopher links but a plain text list
: of URLs (I’m manually formatting all links
: on this page for demonstration purposes).
: This is because I initially wrote the
: converter to generate plain text files. I’m
: looking into generating a gopher map (using
: the plain text converter as a base) which
: shouldn’t be too difficult.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Option 1 looks nice, but it may be a challenge to implement
(with proper indentation and line-wrapping, especially when
there are two or more links in a line).
Option 2 looks so-so, and it may also be a challenge
(similar issues as option 1). The reward:effort ratio of
this option looks too low to me.
Option 3 still looks nice (almost as nice as option 1 or
nicer in some ways, and definitely nicer than option 2) and
should be fairly easy to implement. In fact it’s probably a
small tweak to the current link formatting (option 4).
In option 3 and 4 each link in the list may also include the
URL like so:
[1] gopher://asciz.com:70/1/projects/gopher/misc
[2] gopher://asciz.com:70/1/projects/gopher
Or they may include the link text like so:
[1] link references
[2] another link reference
Then again, I’m kind of leaning against formatting documents
as gopher menus. My menus so far (except for this one) are
all basic lists of links (i.e., the sort of thing you expect
to see in Gopher) with some info text above/below some of
the links and some headings and ASCII art sprinkled in, so I
may just leave my converter alone (of course, even in plain
text files I can still move reference lists to below the
paragraphs links appear in, as in option 3, and I might do
that).
In my menus I currently use passthrough blocks to insert GPH
links (I’m using the geomyidae GPH gopher map format), and
they are easy enough to maintain. A passthrough block looks
something like this:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
++++
[1|Link to current page|.|server|port]
[1|Home||server|port]
++++
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
A passthrough block makes sense because it’s intended to
pass through whatever is inside it uninterpreted to the
generated output, which is what we want.
That block produces Gopher links like this (after it passes
through the GPH filter):
Link to current page
Home
------------------------------------------------------------
References
------------------------------------------------------------
(NB. This is for option 3.)
[1]
[2]
You are viewing proxied material from asciz.com. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.