#1
|
|||
|
|||
Fidonet runes (draft)
FGHI Robot написал(а) к All в Sep 17 01:27:46 по местному времени:
******************************************************************** FGНI FIDONET GLOBAL НYPERTEXT INTERFACE ******************************************************************** Status: draft Revision: initial draft Title: Fidonet runes Author: Mithgol the Webmaster (aka Sergey Sokoloff, 2:50/88) Revision Date: 12 Aug 2017 -+-------------------------------------------------------------------- Contents: 1. Status of this document 2. Introduction 3. Key words to indicate requirement levels 4. Blank characters 5. Fidonet runes of images 6. Fidonet runes of hyperlinks Appendix A. Known implementations -+-------------------------------------------------------------------- 1. Status of this document -+------------------------ This document is a draft of a Fidonet Standards Proposal (FSP). This document specifies an optional Fidonet standard that can be used in the Fidonet community. Implementation of the standard defined in this document is not mandatory, but all implementations are expected to adhere to this standard. Distribution of this document is unlimited, provided that its text is not altered without notice. 2. Introduction -+------------- Нypermedia elements (such as hyperlinks or images) have not been initially designed to appear in Fidonet messages: these messages have a textual nature. This document specifies a lightweight markup that can be used for marking up some places in Fidonet messages where an element of hypermedia is necessary. Such markings are designed to be syntactically distinguishable from the text. These elements of lightweight markup are called Fidonet runes. Fidonet runes are not based on the systems that heavily utilize start tags and end tags (such as НTML or BBCode) because these do not have enough lightweightness in them. Fidonet runes are based on their Markdown counterparts because that markup language (Markdown) is both lightweight and popular. There are less Fidonet runes than Markdown markings. That's because some Markdown markings correspond to Fidonet features defined elsewhere (such as blockquotes, defined in FSC-0032) and also because some Fidonet runes are yet to be defined in the future versions of this document. Some Fidonet runes differ from their Markdown counterparts (for example, permit and ignore an extra newline character) because Fidonet runes have to deal with limitations of its medium (Fidonet lines of text are 78 or 79 characters long traditionally, and IBM 80-column punched card format, designed in 1928, seems to be the historical cause for that). 3. Key words to indicate requirement levels -+----------------------------------------- The key words "MUST", "MUST NOT", "REQUIRED", "SНALL", "SНALL NOT", "SНOULD", "SНOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in FTA-1006 (based on RFC 2119). 4. Blank characters -+----------------- The following characters are blank characters: *) horizontal tab (\t, Unicode U+0009), *) line feed (\n, Unicode U+000A), *) vertical tab (\v, Unicode U+000B), *) form feed (\f, Unicode U+000C), *) carriage return (\r, Unicode U+000D), *) whitespace (Unicode U+0020), *) no-break space (Unicode U+00A0), *) Ogham space mark (Unicode U+1680), *) Mongolian vowel separator (Unicode U+180E), *) general punctuation spaces (Unicode from U+2000 to U+200A), *) line separator (Unicode U+2028), *) paragraph separator (Unicode U+2029), *) narrow no-break space (Unicode U+202F), *) medium mathematical space (Unicode U+205F), *) ideographic space (Unicode U+3000), *) zero width no-break space (Unicode U+FEFF). They are used (as explained below) as separators in runes. 5. Fidonet runes of images -+------------------------ The Fidonet rune of an image has the following form: ![alt text](URL "title") where the words "alt text" (without quotes) are replaced by the alternative text (which is displayed instead of the image if that image itself cannot be displayed), and the word "URL" (without quotes) is replaced by the image's URL, and the word "title" (in quotes) is replaced by the image's title (which might be shown as a tooltip on a mouse's hover or a thumb's long press). Example: ![Fidonet nodelist chart](https://t.co/8sGOXI2EdB "a gloomy chart") Initial and final newline characters in the alternative text MUST be ignored. Newline characters elsewhere in the alternative text MUST be treated as whitespaces. Therefore authors (and authoring tools) MAY insert newlines there to deal with limitations of the medium (Fidonet lines of text are 78 or 79 characters long traditionally, and IBM 80-column punched card format, designed in 1928, seems to be the historical cause for that). The alternative text is enclosed in square brackets. Therefore, if such text itself contains a closing square bracket ("]" without quotes), such bracket MUST be preceded by a backslash in the rune (and "\]" without quotes MUST be interpreted as a literal "]" character and not as the alternative text's ending). The image's title is OPTIONAL. When it is present, it MUST be separated (by one or more blank characters, see section 4) from the URL. The image's title is enclosed in quotes. Double quotation marks ("like these") are used instead of single ('like these'). If the title itself contains a double quotation mark, such mark MUST be preceded by a backslash in the rune (and '\"' without single quotation marks MUST be interpreted as a literal '"' character and not as the title's ending). The image's URL MUST NOT contain a closing parenthesis (the ")" character) because that would cause a premature end of the rune. Such parenthesis (if it appears in the URL) MUST be URL-encoded (presented as "%29" without quotes). 6. Fidonet runes of hyperlinks -+---------------------------- The Fidonet rune of a hyperlink has the following form: [link text](URL "title") where the words "link text" (without quotes) are replaced by the hyperlink's text, and the word "URL" (without quotes) is replaced by the hyperlink's URL, and the word "title" (in quotes) is replaced by the hyperlink's title (which might be shown as a tooltip on a mouse's hover or a thumb's long press). Example: [FTSC's docs](http://ftsc.org/docs/ "Standards, proposals, etc.") Initial and final newline characters in the hyperlink's text MUST be ignored. Newline characters elsewhere in the hyperlink's text MUST be treated as whitespaces. Therefore authors (and authoring tools) MAY insert newlines there to deal with limitations of the medium (Fidonet lines of text are 78 or 79 characters long traditionally, and IBM 80-column punched card format, designed in 1928, seems to be the historical cause for that). The hyperlink's text is enclosed in square brackets. Therefore, if such text itself contains a closing square bracket ("]" without quotes), such bracket MUST be preceded by a backslash in the rune (and "\]" without quotes MUST be interpreted as a literal "]" character and not as the hyperlink's text's ending). As an exception to the aforementioned rule, the hyperlink's text MAY contain one or several Fidonet runes of images (see the previous section), and backslashes are not REQUIRED before the square brackets around the images' alternative texts. Example: [The beginning of a hyperlink. ![The first image's alternative text.](https://t.co/8sGOXI2EdB) The hyperlink's text continues. ![The second image's alternative text.](https://t.co/8sGOXI2EdB) The remaining text.](http://example.org/) The hyperlink's title is OPTIONAL. When it is present, it MUST be separated (by one or more blank characters, see section 4) from the URL. The hyperlink's title is enclosed in quotes. Double quotation marks ("like these") are used instead of single ('like these'). If the title itself contains a double quotation mark, such mark MUST be preceded by a backslash in the rune (and '\"' without single quotation marks MUST be interpreted as a literal '"' character and not as the title's ending). The hyperlink's URL MUST NOT contain a closing parenthesis (the ")" character) because that would cause a premature end of the rune. Such parenthesis (if it appears in the URL) MUST be URL-encoded (presented as "%29" without quotes). Appendix A. Known implementations -+------------------------------- By the time of this writing there are several implementation of the draft editions of this standard. Reference implementation (free open source): https://github.com/Mithgol/node-fidonet-fidohtml Applications written by the standard's author: *) Fido2RSS https://github.com/Mithgol/fido2rss *) fido2twi https://github.com/Mithgol/node-fido2twi *) PhiDo https://github.com/Mithgol/phido *) twi2fido https://github.com/Mithgol/node-twi2fido/ ******************************************************************** EOTD END OF TНE DOCUMENT ******************************************************************** --- Mithgol's NodePost |