Skip to content

Commit 0d254a0

Browse files
committed
fixed alignment of all column in table
1 parent 17b96f4 commit 0d254a0

File tree

2 files changed

+24
-17
lines changed

2 files changed

+24
-17
lines changed

src/Markdown.hs

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ renderElement element = case element of
7878
T.pack " </tr>\n",
7979
T.pack " </thead>\n",
8080
T.pack " <tbody>\n",
81-
T.concat (map renderTableRow rows),
81+
T.concat (map (renderTableRow alignments) rows),
8282
T.pack " </tbody>\n",
8383
T.pack "</table>\n"
8484
]
@@ -110,18 +110,25 @@ renderTableHeader header alignment =
110110
T.pack "</th>\n"
111111
]
112112

113-
renderTableRow :: [MDElement] -> Text
114-
renderTableRow cells =
113+
renderTableRow :: [TableAlignment] -> [MDElement] -> Text
114+
renderTableRow alignments cells =
115115
T.concat
116116
[ T.pack " <tr>\n",
117-
T.concat (map renderTableCell cells),
117+
T.concat (zipWith renderTableCell alignments cells),
118118
T.pack " </tr>\n"
119119
]
120120

121-
renderTableCell :: MDElement -> Text
122-
renderTableCell cell =
123-
T.concat
124-
[ T.pack " <td>",
125-
renderElement cell,
126-
T.pack "</td>\n"
127-
]
121+
renderTableCell :: TableAlignment -> MDElement -> Text
122+
renderTableCell alignment cell =
123+
let alignStyle = case alignment of
124+
AlignLeft -> " style=\"text-align: left\""
125+
AlignCenter -> " style=\"text-align: center\""
126+
AlignRight -> " style=\"text-align: right\""
127+
AlignDefault -> ""
128+
in T.concat
129+
[ T.pack " <td",
130+
T.pack alignStyle,
131+
T.pack ">",
132+
renderElement cell,
133+
T.pack "</td>\n"
134+
]

test/output.html

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -251,14 +251,14 @@ <h2 id="9f9a76a951506992fc919b8ae3f5ae15">Заголовок второго ур
251251
</thead>
252252
<tbody>
253253
<tr>
254-
<td>Равнение по левому краю</td>
255-
<td>Равнение по центру</td>
256-
<td>Равнение по правому краю</td>
254+
<td style="text-align: left">Равнение по левому краю</td>
255+
<td style="text-align: center">Равнение по центру</td>
256+
<td style="text-align: right">Равнение по правому краю</td>
257257
</tr>
258258
<tr>
259-
<td>Запись</td>
260-
<td>Запись</td>
261-
<td>Запись</td>
259+
<td style="text-align: left">Запись</td>
260+
<td style="text-align: center">Запись</td>
261+
<td style="text-align: right">Запись</td>
262262
</tr>
263263
</tbody>
264264
</table>

0 commit comments

Comments
 (0)