packages feed

jira-wiki-markup 1.1.3 → 1.1.4

raw patch · 4 files changed

+27/−3 lines, 4 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

Files

CHANGELOG.md view
@@ -4,6 +4,14 @@ `jira-wiki-markup` uses [PVP Versioning][1]. The changelog is available [on GitHub][2]. +1.1.4+-----++Released 2020-03-27++* Fix parsing of image parameters. Thumbnails and images with+  parameters were previously not recognized as images.+ 1.1.3 ----- 
jira-wiki-markup.cabal view
@@ -1,6 +1,6 @@ cabal-version:       2.0 name:                jira-wiki-markup-version:             1.1.3+version:             1.1.4 synopsis:            Handle Jira wiki markup description:         Parse jira wiki text into an abstract syntax tree for easy                      transformation to other formats.
src/Text/Jira/Parser/Inline.hs view
@@ -11,7 +11,6 @@  Parse Jira wiki inline markup. -}- module Text.Jira.Parser.Inline   ( inline     -- * Inline component parsers@@ -147,9 +146,15 @@ image = try $ do   -- does not use @url@, as is may contain relative locations.   src <- char '!' *> (URL . pack <$> many1 (noneOf "\r\t\n|]!"))-  (_, params) <- option (Nothing, []) (char '|' *> parameters)+  params <- option [] (char '|' *> (thumbnail <|> imgParams `sepBy` comma))   _ <- char '!'   return $ Image params src+  where+    thumbnail = [Parameter "thumbnail" ""] <$ try (string "thumbnail")+    imgParams = try (Parameter <$> key <*> (char '=' *> value))+    key       = pack <$> many1 (noneOf ",\"'\t\n\r |{}=!")+    value     = pack <$> many1 (noneOf ",\"'\n\r|{}=!")+    comma     = char ',' *> skipSpaces  -- | Parse link into a @Link@ element. link :: JiraParser Inline
test/Text/Jira/Parser/InlineTests.hs view
@@ -252,6 +252,17 @@       , testCase "no newlines" $         isLeft (parseJira image "!hello\nworld.png!") @?         "no newlines in image names"++      , testCase "thumbnail" $+        parseJira image "!image.png|thumbnail!" @?=+        Right (Image [Parameter "thumbnail" ""] (URL "image.png"))++      , testCase "parameters" $+        parseJira image "!image.gif|align=right, vspace=4!" @?=+        let params = [ Parameter "align" "right"+                     , Parameter "vspace" "4"+                     ]+        in Right (Image params (URL "image.gif"))       ]      , testGroup "color"