Text reflow woes (or: I want bullets back!)
solderpunk solderpunk at SDF.ORG
Thu Aug 15 09:18:59 BST 2019
I was surprised and excited today to spot a (beta) web-to-Gemini
portal at https://portal.mozz.us/. By default it points at the
Zaibatsu, and my first thoughs upon seeing it rendered was "Oh, what a
shame, it messes up the bullet point list at the top of the page".
But, no, nothing is messed up here, this is precisely what I specced
in 0.9.1 with the text reflowing!
I'm kind of sad about this. I was resolved to destroying the
possibility of ASCII art in Gemini pages as an unfortunate "breaking
eggs to make an omlette" kind of thing. I agree with the many people
who have expressed frustration at Gopher content looking wonky if
viewed on anything other than an 70 or 80 character wide terminal.
But obviously I didn't think the consequences of the way I specced
things through very carefully, because I wouldn't have been anywhere
near as happy about destroying the possibility of bulleted lists.
Those are a really useful and legitimate thing for text-based content
to have.
So, how do we fix this?
Of course there has been plenty of talk in the past about using some
fullblown lightweight markup language for Gemini, something like
Markdown for example, or ratfactor's "Text Junior" (ooh, I should
invite ratfactor to this list). I was a proponent of this in the
beginning but I moved away from it quickly after it became clear that
(i) people have strong opinions on lightweight markup languages and
no choice was going to be popular with everybody, and (ii) lots of
popular lightweight markup languages either lack a clear and
unambiguous specification, or they have one and it's a difficult thing
to write a parser for. In the end I put in the very minimal
definition of reflowability that I did because it had an existing RFC
reference and didn't seem *too* onerous to implement (and, anyway,
is optional).
But now it seems we need something more than just that. We could just
add one more sentence saying that lines beginning with optional
whitespace, a * and then at least one whitespace character should not
be flowed, just like lines beginning with => should not be flowed.
But that's likely the first step down a slippery slope to inventing
our own ad-hoc non-standard markup language. Which perhaps we *ought*
to do, but if so we ought to actually explicitly decide on it and
commit to doing it properly in one go instead of designing it
piecemeal.
The alternative would seem to be to backtrack on reflowing and say
"reflowing would be very nice, but it's not worth the cost of having
to carefully specify how to handle all the edge cases necessary to
preserve other very nice things like bullets, so tough cookies". I
don't think that would be a popular choice, but it's still on the
table at this point, IMHO.
-Solderpunk
Archive home | About this archive