diff options
author | fiddlosopher <fiddlosopher@788f1e2b-df1e-0410-8736-df70ead52e1b> | 2007-03-09 02:37:49 +0000 |
---|---|---|
committer | fiddlosopher <fiddlosopher@788f1e2b-df1e-0410-8736-df70ead52e1b> | 2007-03-09 02:37:49 +0000 |
commit | d5f9b1dbb4c1e57b8480afb79753bbd064cecab3 (patch) | |
tree | 09f7caaf66eab5ae9bf8e326f612561905fd42d0 | |
parent | f1191f029a24f2f3b0cdb067f28a4aac48c4bc54 (diff) | |
download | pandoc-d5f9b1dbb4c1e57b8480afb79753bbd064cecab3.tar.gz |
Change in ordered lists in Markdown reader:
+ Lists may begin with lowercase letters only, and only 'a' through
'n'. Otherwise first initials and page references (e.g., p. 400)
are too easily parsed as lists.
+ Numbers beginning list items must end with '.' (not ')', which is
now allowed only after letters).
NOTE: This change may cause documents to be parsed differently.
Users should take care in upgrading.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@561 788f1e2b-df1e-0410-8736-df70ead52e1b
-rw-r--r-- | README | 23 | ||||
-rw-r--r-- | src/Text/Pandoc/Readers/Markdown.hs | 18 |
2 files changed, 23 insertions, 18 deletions
@@ -394,8 +394,8 @@ behavior is consistent with the official markdown syntax description, even though it is different from that of `Markdown.pl`.) Unlike standard markdown, Pandoc allows ordered list items to be -marked with single letters, instead of numbers. So, for example, -this source yields a nested ordered list: +marked with single lowercase letters (from 'a' to 'n'), instead of +numbers. So, for example, this source yields a nested ordered list: 1. First 2. Second @@ -403,24 +403,23 @@ this source yields a nested ordered list: b. Fie 3. Third -Pandoc also extends standard markdown in allowing list item markers -to be terminated by ')': +The letters may be followed by either '.' or ')': - 1) First - 2) Second - A) Fee - B) Fie - 3) Third + 1. First + 2. Second + a) Fee + b) Fie + 3. Third Note that Pandoc pays no attention to the *type* of ordered list item marker used. Thus, the following is treated just the same as the example above: - A) First + a) First 1. Second 2. Fee - B) Fie - C) Third + b) Fie + c. Third Reference links --------------- diff --git a/src/Text/Pandoc/Readers/Markdown.hs b/src/Text/Pandoc/Readers/Markdown.hs index 067b68e6a..df41e1dd6 100644 --- a/src/Text/Pandoc/Readers/Markdown.hs +++ b/src/Text/Pandoc/Readers/Markdown.hs @@ -77,7 +77,6 @@ autoLinkEnd = '>' mathStart = '$' mathEnd = '$' bulletListMarkers = "*+-" -orderedListDelimiters = ".)" escapeChar = '\\' hruleChars = "*-_" quoteChars = "'\"" @@ -360,14 +359,21 @@ bulletListStart = try (do spaceChar skipSpaces) -orderedListStart = try (do +standardOrderedListStart = do + many1 digit + char '.' + +extendedOrderedListStart = do + failIfStrict + oneOf ['a'..'n'] + oneOf ".)" + +orderedListStart = try $ do option ' ' newline -- if preceded by a Plain block in a list context nonindentSpaces - many1 digit <|> (do{failIfStrict; count 1 letter}) - delim <- oneOf orderedListDelimiters - if delim /= '.' then failIfStrict else return () + standardOrderedListStart <|> extendedOrderedListStart oneOf spaceChars - skipSpaces) + skipSpaces -- parse a line of a list item (start = parser for beginning of list item) listLine start = try (do |