git.iko.soy/typeable/pandoc
on master help sign in
Fix duplicate "class" attribute in HTML writer
f1f2728Andy Morris
src/Text/Pandoc/Writers/HTML.hs+4−2
@@ -1089,16 +1089,18 @@ tableRowToHtml :: PandocMonad m
1089 -> TableRow
1089 -> TableRow
1090 -> StateT WriterState m Html
1090 -> StateT WriterState m Html
1091tableRowToHtml opts (TableRow tblpart attr rownum rowhead rowbody) = do
1091tableRowToHtml opts (TableRow tblpart attr rownum rowhead rowbody) = do
1092− let rowclass = A.class_ $ case rownum of
1092+ let rowclass = case rownum of
1093 Ann.RowNumber x | x `rem` 2 == 1 -> "odd"
1093 Ann.RowNumber x | x `rem` 2 == 1 -> "odd"
1094 _ | tblpart /= Thead -> "even"
1094 _ | tblpart /= Thead -> "even"
1095 _ -> "header"
1095 _ -> "header"
1096+ let attr' = case attr of
1097+ (id', classes, rest) -> (id', rowclass:classes, rest)
1096 let celltype = case tblpart of
1098 let celltype = case tblpart of
1097 Thead -> HeaderCell
1099 Thead -> HeaderCell
1098 _ -> BodyCell
1100 _ -> BodyCell
1099 headcells <- mapM (cellToHtml opts HeaderCell) rowhead
1101 headcells <- mapM (cellToHtml opts HeaderCell) rowhead
1100 bodycells <- mapM (cellToHtml opts celltype) rowbody
1102 bodycells <- mapM (cellToHtml opts celltype) rowbody
1101− rowHtml <- addAttrs opts attr $ H.tr ! rowclass $ do
1103+ rowHtml <- addAttrs opts attr' $ H.tr $ do
1102 nl opts
1104 nl opts
1103 mconcat headcells
1105 mconcat headcells
1104 mconcat bodycells
1106 mconcat bodycells
test/tables/nordics.html4+6−6
@@ -17,38 +17,38 @@
17</tr>
17</tr>
18</thead>
18</thead>
19<tbody class="souvereign-states">
19<tbody class="souvereign-states">
20−<tr class="odd" class="country">
20+<tr class="odd country">
21<th align="center">Denmark</th>
21<th align="center">Denmark</th>
22<td align="left">Copenhagen</td>
22<td align="left">Copenhagen</td>
23<td align="left">5,809,502</td>
23<td align="left">5,809,502</td>
24<td align="left">43,094</td>
24<td align="left">43,094</td>
25</tr>
25</tr>
26−<tr class="even" class="country">
26+<tr class="even country">
27<th align="center">Finland</th>
27<th align="center">Finland</th>
28<td align="left">Helsinki</td>
28<td align="left">Helsinki</td>
29<td align="left">5,537,364</td>
29<td align="left">5,537,364</td>
30<td align="left">338,145</td>
30<td align="left">338,145</td>
31</tr>
31</tr>
32−<tr class="odd" class="country">
32+<tr class="odd country">
33<th align="center">Iceland</th>
33<th align="center">Iceland</th>
34<td align="left">Reykjavik</td>
34<td align="left">Reykjavik</td>
35<td align="left">343,518</td>
35<td align="left">343,518</td>
36<td align="left">103,000</td>
36<td align="left">103,000</td>
37</tr>
37</tr>
38−<tr class="even" class="country">
38+<tr class="even country">
39<th align="center">Norway</th>
39<th align="center">Norway</th>
40<td align="left">Oslo</td>
40<td align="left">Oslo</td>
41<td align="left">5,372,191</td>
41<td align="left">5,372,191</td>
42<td align="left">323,802</td>
42<td align="left">323,802</td>
43</tr>
43</tr>
44−<tr class="odd" class="country">
44+<tr class="odd country">
45<th align="center">Sweden</th>
45<th align="center">Sweden</th>
46<td align="left">Stockholm</td>
46<td align="left">Stockholm</td>
47<td align="left">10,313,447</td>
47<td align="left">10,313,447</td>
48<td align="left">450,295</td>
48<td align="left">450,295</td>
49</tr>
49</tr>
50</tbody><tfoot>
50</tbody><tfoot>
51−<tr class="even" id="summary">
51+<tr id="summary" class="even">
52<td align="center">Total</td>
52<td align="center">Total</td>
53<td align="left"></td>
53<td align="left"></td>
54<td align="left" id="total-population">27,376,022</td>
54<td align="left" id="total-population">27,376,022</td>
test/tables/nordics.html5+6−6
@@ -17,38 +17,38 @@
17</tr>
17</tr>
18</thead>
18</thead>
19<tbody class="souvereign-states">
19<tbody class="souvereign-states">
20−<tr class="odd" class="country">
20+<tr class="odd country">
21<th style="text-align: center;">Denmark</th>
21<th style="text-align: center;">Denmark</th>
22<td style="text-align: left;">Copenhagen</td>
22<td style="text-align: left;">Copenhagen</td>
23<td style="text-align: left;">5,809,502</td>
23<td style="text-align: left;">5,809,502</td>
24<td style="text-align: left;">43,094</td>
24<td style="text-align: left;">43,094</td>
25</tr>
25</tr>
26−<tr class="even" class="country">
26+<tr class="even country">
27<th style="text-align: center;">Finland</th>
27<th style="text-align: center;">Finland</th>
28<td style="text-align: left;">Helsinki</td>
28<td style="text-align: left;">Helsinki</td>
29<td style="text-align: left;">5,537,364</td>
29<td style="text-align: left;">5,537,364</td>
30<td style="text-align: left;">338,145</td>
30<td style="text-align: left;">338,145</td>
31</tr>
31</tr>
32−<tr class="odd" class="country">
32+<tr class="odd country">
33<th style="text-align: center;">Iceland</th>
33<th style="text-align: center;">Iceland</th>
34<td style="text-align: left;">Reykjavik</td>
34<td style="text-align: left;">Reykjavik</td>
35<td style="text-align: left;">343,518</td>
35<td style="text-align: left;">343,518</td>
36<td style="text-align: left;">103,000</td>
36<td style="text-align: left;">103,000</td>
37</tr>
37</tr>
38−<tr class="even" class="country">
38+<tr class="even country">
39<th style="text-align: center;">Norway</th>
39<th style="text-align: center;">Norway</th>
40<td style="text-align: left;">Oslo</td>
40<td style="text-align: left;">Oslo</td>
41<td style="text-align: left;">5,372,191</td>
41<td style="text-align: left;">5,372,191</td>
42<td style="text-align: left;">323,802</td>
42<td style="text-align: left;">323,802</td>
43</tr>
43</tr>
44−<tr class="odd" class="country">
44+<tr class="odd country">
45<th style="text-align: center;">Sweden</th>
45<th style="text-align: center;">Sweden</th>
46<td style="text-align: left;">Stockholm</td>
46<td style="text-align: left;">Stockholm</td>
47<td style="text-align: left;">10,313,447</td>
47<td style="text-align: left;">10,313,447</td>
48<td style="text-align: left;">450,295</td>
48<td style="text-align: left;">450,295</td>
49</tr>
49</tr>
50</tbody><tfoot>
50</tbody><tfoot>
51−<tr class="even" id="summary">
51+<tr id="summary" class="even">
52<td style="text-align: center;">Total</td>
52<td style="text-align: center;">Total</td>
53<td style="text-align: left;"></td>
53<td style="text-align: left;"></td>
54<td style="text-align: left;" id="total-population">27,376,022</td>
54<td style="text-align: left;" id="total-population">27,376,022</td>