From: Lady Date: Sat, 14 Dec 2024 02:09:02 +0000 (-0500) Subject: Support preformatted text X-Git-Tag: 0.3.1~1 X-Git-Url: https://git.ladys.computer/LesML/commitdiff_plain/1969e01ddead6183aa8f530c017cf04491e1a986?ds=sidebyside Support preformatted text --- diff --git a/README.markdown b/README.markdown index 14716c2..2bfa515 100644 --- a/README.markdown +++ b/README.markdown @@ -103,12 +103,19 @@ 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, 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 (``). @@ -231,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. diff --git a/parser.xslt b/parser.xslt index 2f028c2..fbfa624 100644 --- a/parser.xslt +++ b/parser.xslt @@ -48,6 +48,24 @@ If a copy of the M·P·L was not distributed with this file, You can obtain one +