X-Git-Url: https://git.ladys.computer/LesML/blobdiff_plain/57aba756b5ea79520435489e8ef33111070325eb..94f395fe0062092ce69390b661f8543a3fbf5b7b:/README.markdown?ds=sidebyside diff --git a/README.markdown b/README.markdown index 7df7fde..29815e5 100644 --- a/README.markdown +++ b/README.markdown @@ -1,5 +1,5 @@ <!-- -SPDX-FileCopyrightText: 2024 Lady <https://www.ladys.computer/about/#lady> +SPDX-FileCopyrightText: 2024, 2025 Lady <https://www.ladys.computer/about/#lady> SPDX-License-Identifier: CC0-1.0 --> # đđ Les¡M¡L @@ -43,6 +43,13 @@ Following the shebang line, document metadata may be provided in the The body of the document begins after the last line which begins with the string `%%`, or after the shebang line if none exists. +Multiple documents can be catenated into a single file; a new document + is begun on any line which starts with `#!lesml` or `##`. +Documents in the later case inherit the latest preceding `#!lesml` + declaration. +`##` may be followed by other text; this is treated as an interdocument + comment. + Documents are broken into paragraphs by blank lines. Empty paragraphs are ignored. Non¡empty paragraphs are classified as followsâŻ:â â @@ -55,7 +62,6 @@ Non¡empty paragraphs are classified as followsâŻ:â â | Character | Codepoint | Unicode Name | | --------- | --------- | ------------ | - | `#` | `U+0023` | `NUMBER SIGN` | | `*` | `U+002A` | `ASTERISK` | | `-` | `U+002D` | `HYPHEN-MINUS` | | `.` | `U+002E` | `FULL STOP` | @@ -97,11 +103,18 @@ Non¡empty paragraphs are classified as followsâŻ:â â 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 (`<html:pre>`). + A paragraph may be both quoted and preformatted. + - Otherwise, the paragraph is unquoted. After this classification, each quoted or unquoted paragraph is further classified by type based on its first character (which is must be - followed by white¡space to be recognized)âŻ:â â + followed by white¡space, or else the only thing on the line)âŻ:â â + +- If the paragraph is preformatted, it is an ordinary paragraph. - If the paragraph begins with `â`, it is a chapter heading (`<html:h1>`). @@ -153,6 +166,10 @@ After this classification, each quoted or unquoted paragraph is further - If the paragraph begins with `â ď¸`, it is a warning note (`<html:div role="note" class="warn">`). +- 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 (`<html:div class="continuation">`). Continuation paragraphs may be used to continue a preceding list item @@ -188,10 +205,7 @@ Markup within paragraphs is delimited with¡out exception by pairs of - The characters `⸨` and `⸊` indicate parenthetical content (`<html:small>`). -- The characters `âď¸` and `âď¸` indicate strong importance - (`<html:strong>`). - -- The characters `âš` and `âš` indicate emphasis (`<html:em>`). +- The characters `` ` `` and `´` indicate code (`<html:code>`). - The characters `âŞ` and `âŤ` indicate titles (`<html:cite>`). @@ -202,7 +216,10 @@ Markup within paragraphs is delimited with¡out exception by pairs of - The characters `âŚ` and `âŚ` indicate keyword highlighting (`<html:b>`). -- The characters `` ` `` and `´` indicate code (`<html:code>`). +- The characters `âď¸` and `âď¸` indicate strong importance + (`<html:strong>`). + +- The characters `âš` and `âš` indicate emphasis (`<html:em>`). Once the tree is built as above, it is remediated into its final form by the following stepsâŻ:â â @@ -221,11 +238,13 @@ Once the tree is built as above, it is remediated into its final form - Successive list items of the same level and class are joined into a single list. +- Linebreaks in preformatted paragraphs are replaced with `<html:br>`. + Finally, any character can be escaped by instead providing its Unicode - codepoint in the form `<U+NNNN>`, where `NNNN` is one or more + codepoint in the form `{U+NNNN}`, where `NNNN` is one or more hexadecimal digits. Multiple codepoints may be provided separated by periods, as in - `<U+WWWW.ZZZZ>` + `{U+WWWW.ZZZZ}` ## Usage