summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJohn MacFarlane <jgm@berkeley.edu>2022-05-18 09:55:22 -0700
committerJohn MacFarlane <jgm@berkeley.edu>2022-05-18 09:55:22 -0700
commitb8fb79b5c0d3d2dc07f321e633d6b24a800ef130 (patch)
treeea54a2384b4034270be35660f8c7d5402b09d304 /src
parent6ea83c185c406d8c81d22da02da4ece0c1ba161f (diff)
ICML writer: support custom-style attribute on Table.
Closes #8079.
Diffstat (limited to 'src')
-rw-r--r--src/Text/Pandoc/Writers/ICML.hs9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/Text/Pandoc/Writers/ICML.hs b/src/Text/Pandoc/Writers/ICML.hs
index 8d75bb7df..7f0c4d5a7 100644
--- a/src/Text/Pandoc/Writers/ICML.hs
+++ b/src/Text/Pandoc/Writers/ICML.hs
@@ -333,8 +333,9 @@ blockToICML opts style (Header lvl (ident, cls, _) lst) =
else ""
in parStyle opts stl ident lst
blockToICML _ _ HorizontalRule = return empty -- we could insert a page break instead
-blockToICML opts style (Table _ blkCapt specs thead tbody tfoot) =
- let (caption, aligns, widths, headers, rows) = toLegacyTable blkCapt specs thead tbody tfoot
+blockToICML opts style (Table attr blkCapt specs thead tbody tfoot) =
+ let (caption, aligns, widths, headers, rows) =
+ toLegacyTable blkCapt specs thead tbody tfoot
style' = tableName : style
noHeader = all null headers
nrHeaders = if noHeader
@@ -370,8 +371,10 @@ blockToICML opts style (Table _ blkCapt specs thead tbody tfoot) =
[("SingleColumnWidth",tshow $ 500 * w) | w > 0]
let tupToDoc tup = selfClosingTag "Column" $ ("Name",tshow $ fst tup) : colWidths (snd tup)
let colDescs = vcat $ zipWith (curry tupToDoc) [0..nrCols-1] widths
+ let (_,_,kvs) = attr
+ let dynamicStyle = fromMaybe "Table" (lookup dynamicStyleKey kvs)
let tableDoc = return $ inTags True "Table" [
- ("AppliedTableStyle","TableStyle/Table")
+ ("AppliedTableStyle","TableStyle/" <> dynamicStyle)
, ("HeaderRowCount", nrHeaders)
, ("BodyRowCount", tshow nrRows)
, ("ColumnCount", tshow nrCols)