aboutsummaryrefslogtreecommitdiff
path: root/src/Text/Pandoc/Readers/Org/Blocks.hs
diff options
context:
space:
mode:
authorAlbert Krewinkel <albert@zeitkraut.de>2019-12-18 21:57:14 +0100
committerAlbert Krewinkel <albert@zeitkraut.de>2019-12-18 22:28:26 +0100
commit5bd2d28b1946baf37ba880578b3b01d9b36a36d3 (patch)
tree57baca31e0c13515ded2dbe37ead8de599fc3bfa /src/Text/Pandoc/Readers/Org/Blocks.hs
parent89bbfa189199b1abd67b5ab21b967b1fa049fbb3 (diff)
downloadpandoc-5bd2d28b1946baf37ba880578b3b01d9b36a36d3.tar.gz
Org reader: wrap named table in div, using name as id
Closes: #5984
Diffstat (limited to 'src/Text/Pandoc/Readers/Org/Blocks.hs')
-rw-r--r--src/Text/Pandoc/Readers/Org/Blocks.hs22
1 files changed, 10 insertions, 12 deletions
diff --git a/src/Text/Pandoc/Readers/Org/Blocks.hs b/src/Text/Pandoc/Readers/Org/Blocks.hs
index 785811da8..dc7a26aca 100644
--- a/src/Text/Pandoc/Readers/Org/Blocks.hs
+++ b/src/Text/Pandoc/Readers/Org/Blocks.hs
@@ -613,18 +613,16 @@ orgTable = try $ do
guard =<< not . isFirstInListItem <$> getState
blockAttrs <- blockAttributes
lookAhead tableStart
- do
- rows <- tableRows
- let captionMb = blockAttrCaption blockAttrs
- -- amend caption with span as ID tag iff both are present
- let amendedCaption = do
- caption' <- captionMb
- name <- blockAttrName blockAttrs `mplus` blockAttrLabel blockAttrs
- let tag = B.spanWith (name, mempty, mempty) mempty
- return $ fmap (tag <>) caption'
- let caption = fromMaybe mempty (amendedCaption `mplus` captionMb)
- return $ (<$> caption) . orgToPandocTable . normalizeTable
- =<< rowsToTable rows
+ rows <- tableRows
+
+ let caption = fromMaybe mempty (blockAttrCaption blockAttrs)
+ let orgTbl = normalizeTable <$> rowsToTable rows
+ -- wrap table in div if a name or label is given
+ let identMb = blockAttrName blockAttrs `mplus` blockAttrLabel blockAttrs
+ let wrap = case identMb of
+ Just ident -> B.divWith (ident, mempty, mempty)
+ Nothing -> id
+ return . fmap wrap $ (orgToPandocTable <$> orgTbl <*> caption)
orgToPandocTable :: OrgTable
-> Inlines