diff options
author | John MacFarlane <jgm@berkeley.edu> | 2016-06-26 17:51:51 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-06-26 17:51:51 -0700 |
commit | a349814665bbd2298acc367cd5485b983313a05d (patch) | |
tree | 4e8e96c1fdb4761b54c433144057ce339d18c084 /src/Text | |
parent | 7ded9d4af0e33f0cd5df4817ff0b2ad0dec12b4e (diff) | |
parent | 0f3f5ce1a1569d02dcb858b45dca55cb5d488358 (diff) | |
download | pandoc-a349814665bbd2298acc367cd5485b983313a05d.tar.gz |
Merge pull request #3001 from tarleb/org-figure-label
Org reader: support figure labels
Diffstat (limited to 'src/Text')
-rw-r--r-- | src/Text/Pandoc/Readers/Org/Blocks.hs | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/Text/Pandoc/Readers/Org/Blocks.hs b/src/Text/Pandoc/Readers/Org/Blocks.hs index f8ff3f928..32deb1fc8 100644 --- a/src/Text/Pandoc/Readers/Org/Blocks.hs +++ b/src/Text/Pandoc/Readers/Org/Blocks.hs @@ -98,6 +98,7 @@ block = choice [ mempty <$ blanklines -- | Attributes that may be added to figures (like a name or caption). data BlockAttributes = BlockAttributes { blockAttrName :: Maybe String + , blockAttrLabel :: Maybe String , blockAttrCaption :: Maybe (F Inlines) , blockAttrKeyValues :: [(String, String)] } @@ -117,12 +118,14 @@ blockAttributes = try $ do let caption = foldl' (appendValues "CAPTION") Nothing kv let kvAttrs = foldl' (appendValues "ATTR_HTML") Nothing kv let name = lookup "NAME" kv + let label = lookup "LABEL" kv caption' <- maybe (return Nothing) (fmap Just . parseFromString inlines) caption kvAttrs' <- parseFromString keyValues . (++ "\n") $ fromMaybe mempty kvAttrs return $ BlockAttributes { blockAttrName = name + , blockAttrLabel = label , blockAttrCaption = caption' , blockAttrKeyValues = kvAttrs' } @@ -131,6 +134,7 @@ blockAttributes = try $ do attrCheck attr = case attr of "NAME" -> True + "LABEL" -> True "CAPTION" -> True "ATTR_HTML" -> True _ -> False @@ -415,9 +419,10 @@ figure = try $ do guard . not . isNothing . blockAttrCaption $ figAttrs guard (isImageFilename src) let figName = fromMaybe mempty $ blockAttrName figAttrs + let figLabel = fromMaybe mempty $ blockAttrLabel figAttrs let figCaption = fromMaybe mempty $ blockAttrCaption figAttrs let figKeyVals = blockAttrKeyValues figAttrs - let attr = (mempty, mempty, figKeyVals) + let attr = (figLabel, mempty, figKeyVals) return $ (B.para . B.imageWith attr src (withFigPrefix figName) <$> figCaption) where withFigPrefix :: String -> String |