diff options
author | Albert Krewinkel <albert@zeitkraut.de> | 2019-12-18 21:57:14 +0100 |
---|---|---|
committer | Albert Krewinkel <albert@zeitkraut.de> | 2019-12-18 22:28:26 +0100 |
commit | 5bd2d28b1946baf37ba880578b3b01d9b36a36d3 (patch) | |
tree | 57baca31e0c13515ded2dbe37ead8de599fc3bfa /src/Text/Pandoc/Readers | |
parent | 89bbfa189199b1abd67b5ab21b967b1fa049fbb3 (diff) | |
download | pandoc-5bd2d28b1946baf37ba880578b3b01d9b36a36d3.tar.gz |
Org reader: wrap named table in div, using name as id
Closes: #5984
Diffstat (limited to 'src/Text/Pandoc/Readers')
-rw-r--r-- | src/Text/Pandoc/Readers/Org/Blocks.hs | 22 |
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 |