X-Git-Url: https://git.ladys.computer/LesML/blobdiff_plain/10e5f7f3eed0f44a9bdbf1f7276ab546fbe27dc1..5c6c7daa10f7c1ab2074a21fbb2886bcc0f83a7c:/README.markdown?ds=sidebyside diff --git a/README.markdown b/README.markdown index 1979cd3..35f5a53 100644 --- a/README.markdown +++ b/README.markdown @@ -52,6 +52,14 @@ Documents in the later case inherit the latest preceding `#!lesml` Documents are broken into paragraphs by blank lines. Empty paragraphs are ignored. + +If every line in the paragraph begins with (optional white·space + followed by) `»` it is quoted (``); if every line + begins with `]` it is bracketed. +The lines, minus this leading, are then re‐analysed. +Bracketed paragraphs which end quotes are treated as captions + (``); otherwise, they are footers (``). + Non·empty paragraphs are classified as follows :⁠— - If the paragraph consists of only the following section‐break @@ -98,21 +106,16 @@ Non·empty paragraphs are classified as follows :⁠— | `_` | `U+FF3F` | `FULLWIDTH LOW LINE` | | `~` | `U+FF5E` | `FULLWIDTH TILDE` | -- If every line in the paragraph begins with at least one space, then - it is considered to be a quoted paragraph (``). - There is only one level of paragraph quoting; quoted paragraphs may - not be quoted again. - - If every line in the paragraph begins with zero or more white·space characters followed by `|`, it is a “preformatted” paragraph and white·space is not collapsed (``). - A paragraph may be both quoted and preformatted. -- Otherwise, the paragraph is unquoted. +- Otherwise, the paragraph is ordinary. -After this classification, each quoted or unquoted paragraph is further +After this classification, each ordinary paragraph is further classified by type based on its first character (which is must be - followed by white·space, or else the only thing on the line) :⁠— + followed by white·space, a pilcrow, or else the only thing on the + line) :⁠— - If the paragraph is preformatted, it is an ordinary paragraph. @@ -129,25 +132,25 @@ After this classification, each quoted or unquoted paragraph is further (``). - If the paragraph begins with `•` or `🔢`, it is a primary unordered - or ordered list item (`` - or ``). + or ordered list item (`` + or ``). - If the paragraph begins with `◦` or `🔠`, it is a secondary unordered - or ordered list item (`` - or ``). + or ordered list item (`` + or ``). Secondary list items are considered to be nested inside of primary list items which precede them. - If the paragraph begins with `▪` or `🔡`, it is a tertiary unordered - or ordered list item (`` - or ``). + or ordered list item (`` + or ``). Tertiary list items are considered to be nested inside of primary and secondary list items which precede them. - If the paragraph begins with `⁃` or `🔣`, it is a quaternary unordered or ordered list item - (`` or - ``). + (`` or + ``). Quaternary list items are considered to be nested inside of primary, secondary, and tertiary list items which precede them. @@ -166,16 +169,31 @@ After this classification, each quoted or unquoted paragraph is further - If the paragraph begins with `⚠︎`, it is a warning note (``). +- If the paragraph begins with `^`, it is a footnote + (``). + Footnotes are ignored unless their first paragraph has an i·d + (specified with `¶`) which is referenced by one or more footnote + references. + Footnotes are treated as level 1 ordered list items, so they can + contain nested lists. + + Footnotes are removed from the normal document flow and placed in a + footer (``) in order of first + reference. + It is recommended that the i·d¦s you choose are kept stable, so that + links to footnotes do not break. + - If the paragraph begins with `#`, it is a comment. Comments produce X·M·L comment nodes and can be used to break up list items into separate lists. -- If the paragraph begins with `⋯`, it is a continuation paragraph - (``). - Continuation paragraphs may be used to continue a preceding list item - or quote. - Note, however, that an unquoted paragraph cannot continue a quoted - one, or vice·versa. +- If the paragraph begins with `⋯`, it is a continuation paragraph. + Continuation paragraphs may be used to continue a preceding note, + footnote, or list item. + If there is no such preceding note, footnote, or list item, they will + attach to adjacent heading elements to form heading groups + (``). + Otherwise, they will be treated as ordinary paragraphs. - Otherwise, it is an ordinary paragraph. @@ -202,7 +220,8 @@ Markup within paragraphs is delimited with·out exception by pairs of white·space‐only text nodes after elements ignored; if there is no such previous element or text node, an empty text node is used instead. - Multiple attributes can be given in sequence. + Multiple attributes can be given in sequence using multiple + specifications. Text nodes with attributes are wrapped in ``. - The characters `{🔗` and `>}` indicate a hyperlink to a U·R·L @@ -238,16 +257,16 @@ Markup within paragraphs is delimited with·out exception by pairs of - The characters `⹐` and `⹑` indicate emphasis (``). +- The characters `^` and `.` indicate a footnote reference + (``). + The characters between these sigils must match the i·d of the first + paragraph of some footnote in the same document. + Once the tree is built as above, it is remediated into its final form by the following steps :⁠— -- Successive quoted paragraphs are joined into one quote. - If the final quoted paragraph is an ordinary paragraph which begins - with `—` and a space, the quote is wrapped in a `` - and the final paragraph becomes its ``. - - Continuation paragraphs are joined with the preceding list items or - quotes. + divs. - List items of a higher level are nested in preceding list items, when present.