💾 Archived View for rawtext.club › ~sloum › geminilist › 001396.gmi captured on 2020-09-24 at 01:54:44. Gemini links have been rewritten to link to archived content
-=-=-=-=-=-=-
solderpunk solderpunk at SDF.ORG
Sun Jun 7 17:27:23 BST 2020
- - - - - - - - - - - - - - - - - - -
Ahoy!
I have just pushed some changes to the Gemini specification. You cansee the new new v0.13.0 spec at:
Perhaps the biggest change, in conceptual terms, is the introduction ofthe "lang" parameter for text/gemini. However, most clients will notneed to make any changes whatsoever on account of this.
The other changes are either small clarifications or enhancements ofexisting functionality and have all been discussed previously on themailing list.
SUMMARY OF CHANGES:
text/gemini documents can now specify which natural language(s) they arewritten in via a "lang" parameter to the media type. Valid values of"lang" are comma-separated lists of language tags, as defined inRFC4646. These are actually pretty powerful tags and can specifylanguage, script (which implies a particular direction of textrendering), usage of regional variant, etc. Of course, clients can payas much or as little attention to these details as their authors seemfit. Servers never have to provide this parameter (although it would begood practice to do so) and clients never have to pay attention to it.See section 5.2 for full details.
The definition of unordered list item lines has been changed so thatthey begin not just with "*" but with "* ". This allows the first wordof a regular text line to be *emphasised* in a common fashion withoutthe line being accidentally considered a list item. GUS data suggeststhat everybody, or almost everybody, is already writing their list itemsthis way, so this should not require any content updates by authors.See section 5.4.2 for full details.
Lines beginning with "
" are now defined to be quote lines, as perpopular demand. Nothing is prescribed about how clients should displaythis. I expect terminal-based clients will simply keep the "
" visibleas its use to convey quotation is extremely widely used and familiarfrom email and usenet. When wrapping long lines to fit the screen, eachresultant line may have a "
" placed at the front. This is mostly justa styling matter, but I consider it to be styling which conveysimportant semantic information and when quoting multiple paragraphs oftext it helps to disambiguate where the quotation ends. This is thelast advanced line type I expect to ever add to the spec. See section5.4.3 for full details.
Status code 11 has been defined for requesting "sensitive" input, likepasswords. Clients should treat it exactly like status code 10 exceptthey should not echo the user's input to the screen. This will allow usto experiment with different authentication paradigms as part of clientcertificate work-flows. See Appendix 1 for full details.
The need to use percent-encoding on reserved characters and spaces inURLs, both in requests and in the link lines of text/gemini bodies, hasbeen made explicit due to observed variation in how clients/serversactually handle this. See sections 3.2.1 and 5.4.2 for full details.
The definition of link lines now clarifies that clients "MUST NOTautomatically make any network connections as part of displaying linkswhose scheme corresponds to a network protocol (e.g. gemini://,gopher://, https://, ftp://, etc.)". See section 5.4.2 for fulldetails.
IMPLICATIONS FOR SERVER AUTHORS:
You SHOULD consider providing a way for admins and/or users to specifywhich value of the "lang" parameter should be sent for text/geminicontent.
If your server automatically generates text/gemini content (e.g.directory listings), you MUST make sure it uses percent-encoding inits URLs (filenames with spaces in them are a good test case!).
IMPLICATIONS FOR CLIENT AUTHORS:
Your client MAY make use of the value of the "lang" parameter ininterpreting text/gemini content (this will mostly be relevant for theRhapsode audio browser and perhaps for search engines).
If your client recognises unordered list item lines and treats themdifferently from plain text lines, you MUST change the code whichidentifies them to require a space after the *.
You MAY update your client to recognise the new quote line type.
You MAY update your client to treat status code 11 differently fromstatus code 10.
If your client supports status codes beginning with 1, you MUST bepercent-encoding the user input when formatting the subsequentrequest.
If your client has been automatically making network connections youMUST remove this behaviour and atone for your sins!
IMPLICATIONS FOR CONTENT AUTHORS:
If your content has unordered list item lines which do not include aspace after the initial *, you MUST insert that space.
Cheers,Solderpunk