X-Git-Url: https://git.ladys.computer/LesML/blobdiff_plain/57aba756b5ea79520435489e8ef33111070325eb..46b8899e8ef2774c523423ef4b22627968b937f3:/README.markdown?ds=sidebyside diff --git a/README.markdown b/README.markdown index 7df7fde..2bfa515 100644 --- a/README.markdown +++ b/README.markdown @@ -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 (``). + 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 (``). @@ -153,6 +166,10 @@ 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 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 @@ -221,6 +238,8 @@ 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 ``. + Finally, any character can be escaped by instead providing its Unicode codepoint in the form ``, where `NNNN` is one or more hexadecimal digits.