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 +8/−0
- jira-wiki-markup.cabal +1/−1
- src/Text/Jira/Parser/Inline.hs +7/−2
- test/Text/Jira/Parser/InlineTests.hs +11/−0
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"