💾 Archived View for rawtext.club › ~sloum › geminilist › 000933.gmi captured on 2020-11-07 at 01:51:58. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2020-09-24)

-=-=-=-=-=-=-

<-- back to the mailing list

Questions about ``` lines

solderpunk solderpunk at SDF.ORG

Thu May 21 08:52:23 BST 2020

- - - - - - - - - - - - - - - - - - - 

On Thu, May 21, 2020 at 08:31:19AM +0200, Katarina Eriksson wrote:

Hello Geminauts

Hello!

1. Are ``` lines to be block markers or mode switches?
From the discussions on the the list, it seems like they are block markers.
The current spec calls them "toggle lines" that toggle "pre-formatted mode
being on or off" which suggests it's a mode switch.

They are definitely mode switches, as stated in the spec.

People tend to speak quite informally on the list - sometimes tooinformally for my tastes! I have noticed people referring to Geminisites/servers as websites or webservers which always stuns me a bit...

The way I interpret the difference between the two is that blocks need to
close before end-of-file to be valid and in the other case the file can end
in any mode.

There's nothing invalid about a file ending with pre-formatted mode onaccording to the current spec and I don't really see a need for this tochange. Clients should set the value of pre-formatted mode to offwhen they begin pasing a new document.

In general, there should be as few ways as possible for a text/geminifile to be "invalid", it should be dirt simple. To be honest, I'm kindof surprised by all the discussion around some kind offormatting/validating/linting tool for text/gemini. It doesn't botherme and people who want them can certainly write them, but to me it seemslike there is so little scope for messing things up writing it by handthat tools like that feel unnecessary and cumbersome.

2. Is it desirable to close the window of extensibility?
When reading the archives, I noticed that ``` lines used to only work if
they had no trailing characters. This was changed to be less surprising
when someone writes
```python
as if it was a markdown code block.

That was the main motivation, but as a little side thing it also meantit became true that all line types can be unambiguously recognised byinspecting only their first 3 characters, and I liked having somethingthat simple apply without exception. If nothing is allowed after the``` you need to also check the line length to recognise toggles.

``` Visual browsers will
``` not display these lines.
``` So as long as there are
``` an even number of them,
``` I can get away with using
``` them as comment lines.

My first thought: Oh, cute! Cute and neat...

``` @embed image/png
``` width=300 height=200
=
path/to/image.png Alt. text

...followed by "Oh, dear God, no!" :O

This is a real and frightening way that clients can sneak in support forarbitrarily complicated extra functionality, and it degrades absolutelyinvisibly in non-supporting clients, so there is no incentive againstcontent authors using it. I congratulate you for recognising this andthank you for bringing it to our attention! In some ways, this is thelogical conclusion of all the discussion around putting stuff forclients to parse in that space.

I don't think we need to close this window, but I also don't see a need to
allow consecutive ``` lines.

I don't see a need to allow consecutive ``` lines either, but I amreally, really attached to the current property of text/gemini that youcan handle it correctly by handling each line independently of everyother line in a single top-to-bottom pass with very minimal internalstate. Forbidding consecutive ``` lines would break that and requirethe parser to remember the type of the previous line.

But I see no other way to close this window without reverting to togglelines being strictly three-characters only, and then we lose thealt-text option. To be honest, I could live without specifyingprogramming languages to enable syntax highlighting in text/gemini - Iget that that's *nice*, but it's not really essential. But the alt-textthing kind of feels important to me, because people are right now usingpre-formatted blocks to do things that ruin accessibility/searchabilitywithout it, and those things matter.

I guess one could cynically ask "what makes you think people doing thatright now would use alt-text to fix the problem if you gave them themeans to?", and conclude that we just have to let people suffer theconsequences of not using text/gemini "cleanly"...

These are real questions with added context and not opinions or rhetoric
dressed as questions.

Definitely real food for thought in here. Thanks again for this post.

Cheers,Solderpunk