git.iko.soy/typeable/pandoc
on master help sign in
Jira writer: use Span identifiers as anchors
e1454feAlbert Krewinkel
src/Text/Pandoc/Writers/Jira.hs+3−1
@@ -292,7 +292,9 @@ quotedToJira qtype xs = do
292spanToJira :: PandocMonad m
292spanToJira :: PandocMonad m
293 => Attr -> [Inline]
293 => Attr -> [Inline]
294 -> JiraConverter m [Jira.Inline]
294 -> JiraConverter m [Jira.Inline]
295+spanToJira (ident, _classes, _attribs) inls = case ident of
295−spanToJira (_, _classes, _) = toJiraInlines
296+ "" -> toJiraInlines inls
297+ _ -> (Jira.Anchor ident :) <$> toJiraInlines inls
296
298
297registerNotes :: PandocMonad m => [Block] -> JiraConverter m [Jira.Inline]
299registerNotes :: PandocMonad m => [Block] -> JiraConverter m [Jira.Inline]
298registerNotes contents = do
300registerNotes contents = do
test/Tests/Writers/Jira.hs+8−1
@@ -3,6 +3,7 @@ module Tests.Writers.Jira (tests) where
3
3
4import Data.Text (unpack)
4import Data.Text (unpack)
5import Test.Tasty
5import Test.Tasty
6+import Test.Tasty.HUnit (HasCallStack)
6import Tests.Helpers
7import Tests.Helpers
7import Text.Pandoc
8import Text.Pandoc
8import Text.Pandoc.Arbitrary ()
9import Text.Pandoc.Arbitrary ()
@@ -12,7 +13,7 @@ jira :: (ToPandoc a) => a -> String
12jira = unpack . purely (writeJira def) . toPandoc
13jira = unpack . purely (writeJira def) . toPandoc
13
14
14infix 4 =:
15infix 4 =:
15−(=:) :: (ToString a, ToPandoc a)
16+(=:) :: (ToString a, ToPandoc a, HasCallStack)
16 => String -> (a, String) -> TestTree
17 => String -> (a, String) -> TestTree
17(=:) = test jira
18(=:) = test jira
18
19
@@ -61,5 +62,11 @@ tests =
61 linkWith ("", ["user-account"], []) "~johndoe" "" "~johndoe" =?>
62 linkWith ("", ["user-account"], []) "~johndoe" "" "~johndoe" =?>
62 "[~johndoe]"
63 "[~johndoe]"
63 ]
64 ]
65+
66+ , testGroup "spans"
67+ [ "id is used as anchor" =:
68+ spanWith ("unicorn", [], []) (str "Unicorn") =?>
69+ "{anchor:unicorn}Unicorn"
70+ ]
64 ]
71 ]
65 ]
72 ]