<-- back to the mailing list

Possibly silly text/gemini spec suggestion: Frames

InvisibleUp invis at park-city.club

Fri May 29 02:33:44 BST 2020

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

I had an idea for a new line type for the text/gemini document type.I'm not sure how attached I am to it, or how well it would be received,but I figure it would at least be worth mentioning here.

"Frames" are a way to create collapsible "sections" of a Gemini document. In graphical browsers I imagine these would be arranged horizontally, but they would be perfectly readable vertically as well.

Proposed syntax:||| denotes the start or end of a frame|   (or any non-'|' characters after the first '|') denotes a new frame section--- denotes a vertical/same section division in a frame section

A very good example of this would be a navigation bar. For example,

Page Title|||||||||||||||||

=

../ Back=
page1/ Page 1=
page2/ Page 2=
page3/ Page 3

| | | | | | | | |

Article Title2020-05-28-----------------

Article contents...

|||||||||||||||||Footer text

This is perfectly readable on a dumb terminal display, but on a TUI/GUI browserit may look something like this:

Page Title     -----------------------------     =

Back   | ## Article Title     =
Page 1 | 2020-05-28     =
Page 2 |------------------     =
Page 3 | Article contents               | ...     -----------------------------     Footer text

With this example, it may be a better idea to place the links at the *end*of the document, resulting in a right sidebar. This keeps the navigation fromencroaching onto the document contents in a vertical view. Left sidebars shouldbe short, sweet, and simple.

The user should be able to collapse the navigation component, if they choose.They may also choose to display it vertically. Perhaps frame sections consistingsolely of links could also display the links in a line, at the client'sdiscretion.

This could also be used inline in a standard document, for figures w/ captiontext, poetry next to ASCII art w/ alt-text, etc.

Note that you cannot nest a frame within another frame. This vastly simplifiesthe syntax and implementation, as well as discouraging future extensions.

Another idea for layout:

    |||     # Article Title     2020-05-28     |     =

../ All     =
next/ Next     =
prev/ Previous     |||Article contents...

which could be displayed as

Article Title | =

All     2020-05-28      | =
Next                     | =
Previous     ------------------------------     Article contents     ...

I kinda like it, but I can definitely see the arguments against it. Let me know what you think of this.

-- InvisibleUp <gemini://park-city.club/~invis>

-- Email domain proudly hosted at https://migadu.com