-- Leo's gemini proxy

-- Connecting to git.thebackupbox.net:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini

repo: gemini-site
action: commit
revision:
path_from:
revision_from: 2c6c41b2b3f5e57a86333425012ef02186dcd296:
path_to:
revision_to:

git.thebackupbox.net

gemini-site

git://git.thebackupbox.net/gemini-site

commit 2c6c41b2b3f5e57a86333425012ef02186dcd296
Author: Solderpunk <solderpunk@sdf.org>
Date:   Sun Jul 12 15:55:27 2020 +0000

    Fix typos and section numbering errors.

diff --git a/docs/specification.gmi b/docs/specification.gmi

index 092d9728f67ba232fdf86ceb3c741fd03445eb74..

index ..0bce6dd4dffa9bdcac4d43897816477a6ea05169 100644

--- a/docs/specification.gmi
+++ b/docs/specification.gmi
@@ -159,7 +159,7 @@ Although rarely seen on the web, TLS permits clients to identify themselves to s
 * Long-lived client certificates can reliably identify a user to a multi-user application without the need for passwords which may be brute-forced.  Even a stolen database table mapping certificate hashes to user identities is not a security risk, as rainbow tables for certificates are not feasible.
 * Self-hosted, single-user applications can be easily and reliably secured in a manner familiar from OpenSSH: the user generates a self-signed certificate and adds its hash to a server-side list of permitted certificates, analogous to the .authorized_keys file for SSH).

-Gemini requests will typically be made without a client certificate.  If a requested resource requires a client certificate and one is not included in a request, the server can respond with a status code of 60, 61 or 62 (see Appendix 1 below for a description of all status codes related to client certificates).  A client certificate which is generated or loaded in response to such a status code has its scope bound to the same hostname as the request URL and to all paths below the path of the request URL path.  E.g. if a request for gemini://example.com/foo returns status 60 and the user chooses to generate a new client certificate in response to this, that same certificate should be used for subseqent requests to gemini://example.com/foo, gemini://example.com/foo/bar/, gemini://example.com/foo/bar/baz, etc., until such time as the user decides to delete the certificate or to temporarily deactivate it.  Interactive clients for human users are strongly recommended to make such actions easy and to generally give users full control over the use of client certificates.
+Gemini requests will typically be made without a client certificate.  If a requested resource requires a client certificate and one is not included in a request, the server can respond with a status code of 60, 61 or 62 (see Appendix 1 below for a description of all status codes related to client certificates).  A client certificate which is generated or loaded in response to such a status code has its scope bound to the same hostname as the request URL and to all paths below the path of the request URL path.  E.g. if a request for gemini://example.com/foo returns status 60 and the user chooses to generate a new client certificate in response to this, that same certificate should be used for subsequent requests to gemini://example.com/foo, gemini://example.com/foo/bar/, gemini://example.com/foo/bar/baz, etc., until such time as the user decides to delete the certificate or to temporarily deactivate it.  Interactive clients for human users are strongly recommended to make such actions easy and to generally give users full control over the use of client certificates.

 # 5 The text/gemini media type

@@ -198,9 +198,9 @@ The four core line types are:

 ### 5.4.1 Text lines

-Text lines are the most fundamenal line type - any line which does not match the definition of another line type defined below defaults to being a text line.  The majority of lines in a typical text/gemini document will be text lines.
+Text lines are the most fundamental line type - any line which does not match the definition of another line type defined below defaults to being a text line.  The majority of lines in a typical text/gemini document will be text lines.

-Text lines should be presented to the user, after being wrapped to the appropriate width for the client's viewport (see below).  Text lines may be presented to the user in a visually pleasing manner for general reading, the precise meaning of which is at the client's discretion.  For example, variable width fonts may be used, spacing may be normalised, with spaces between sentences being made wider than spacing between words, and other such typographical niceties may be applied.  Clients may permit users to customise the appearance of text lines by altering the font, font size, text and background colour, etc.  Authors should not expect to exercise any control over the precise rendering of their text lines, only of their actual textual content.  Content such as ASCII art, computer source code, etc. which may appear incorrectly when treated as such should be enclosed beween preformatting toggle lines (see 5.4.3).
+Text lines should be presented to the user, after being wrapped to the appropriate width for the client's viewport (see below).  Text lines may be presented to the user in a visually pleasing manner for general reading, the precise meaning of which is at the client's discretion.  For example, variable width fonts may be used, spacing may be normalised, with spaces between sentences being made wider than spacing between words, and other such typographical niceties may be applied.  Clients may permit users to customise the appearance of text lines by altering the font, font size, text and background colour, etc.  Authors should not expect to exercise any control over the precise rendering of their text lines, only of their actual textual content.  Content such as ASCII art, computer source code, etc. which may appear incorrectly when treated as such should be enclosed between preformatting toggle lines (see 5.4.3).

 Blank lines are instances of text lines and have no special meaning.  They should be rendered individually as vertical blank space each time they occur.  In this way  they are analogous to <br/> tags in HTML.  Consecutive blank lines should NOT be collapsed into a fewer blank lines.  Note also that consecutive non-blank text lines do not form any kind of coherent unit or block such as a "paragraph": all text lines are independent entities.

@@ -256,24 +256,24 @@ Any text following the leading "```" of a preformat toggle line which toggles pr

 ### 5.4.4 Preformatted text lines

-Preformatted text lines should be presented to the user in a "neutral", monowidth font without any alteration to whitespace or stylistic enhancements.  Graphical clients should use scrolling mechanisms to present preformatted text lines which are longer than the client viewport, in preference to wrapping.  In displaying preformatted text lines, clients should keep in mind applications like ASCII art and computer source code: in particular, source code in langugaes with significant whitespace (e.g. Python) should be able to be copied and pasted from the client into a file and interpreted/compiled without any problems arising from the client's manner of displaying them.
+Preformatted text lines should be presented to the user in a "neutral", monowidth font without any alteration to whitespace or stylistic enhancements.  Graphical clients should use scrolling mechanisms to present preformatted text lines which are longer than the client viewport, in preference to wrapping.  In displaying preformatted text lines, clients should keep in mind applications like ASCII art and computer source code: in particular, source code in languages with significant whitespace (e.g. Python) should be able to be copied and pasted from the client into a file and interpreted/compiled without any problems arising from the client's manner of displaying them.

-## 5.4 Advanced line types
+## 5.5 Advanced line types

 The following advanced line types MAY be recognised by advanced clients.  Simple clients may treat them all as text lines as per 5.4.1 without any loss of essential function.

-### 5.4.1 Heading lines
+### 5.5.1 Heading lines

 Lines beginning with "#" are heading lines.  Heading lines consist of one, two or three consecutive "#" characters, followed by optional whitespace, followed by heading text.  The number of # characters indicates the "level" of header;  #, ## and ### can be thought of as analogous to <h1>, <h2> and <h3> in HTML.

 Heading text should be presented to the user, and clients MAY use special formatting, e.g. a larger or bold font, to indicate its status as a header (simple clients may simply print the line, including its leading #s, without any styling at all).  However, the main motivation for the definition of heading lines is not stylistic but to provide a machine-readable representation of the internal structure of the document.  Advanced clients can use this information to, e.g. display an automatically generated and hierarchically formatted "table of contents" for a long document in a side-pane, allowing users to easily jump to specific sections without excessive scrolling.  CMS-style tools automatically generating menus or Atom/RSS feeds for a directory of text/gemini files can use first
 heading in the file as a human-friendly title.

-### 5.4.2 Unordered list items
+### 5.5.2 Unordered list items

 Lines beginning with "* " are unordered list items.  This line type exists purely for stylistic reasons.  The * may be replaced in advanced clients by a bullet symbol.  Any text after the "* " should be presented to the user as if it were a text line, i.e.  wrapped to fit the viewport and formatted "nicely".  Advanced clients can take the space of the bullet symbol into account when wrapping long list items to ensure that all lines of text corresponding to the item are offset an equal distance from the left of the screen.

-### 5.4.3 Quote lines
+### 5.5.3 Quote lines

 Lines beginning with ">" are quote lines.  This line type exists so that advanced clients may use distinct styling to convey to readers the important semantic information that certain text is being quoted from an external source.  For example, when wrapping long lines to the the viewport, each resultant line may have a ">" symbol placed at the front.

-----END OF PAGE-----

-- Response ended

-- Page fetched on Sun Jun 2 16:24:03 2024