Skip to content

Commit

Permalink
Haddock Writer: Support Haddock tables
Browse files Browse the repository at this point in the history
See this PR on Haddock for details on the table format:
haskell/haddock#718
  • Loading branch information
expipiplus1 committed Apr 20, 2020
1 parent aff2500 commit fd5994c
Show file tree
Hide file tree
Showing 2 changed files with 71 additions and 71 deletions.
2 changes: 1 addition & 1 deletion src/Text/Pandoc/Writers/Haddock.hs
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ blockToHaddock opts (Table _ blkCapt specs thead tbody tfoot) = do
tbl <- gridTable opts blockListToHaddock
(all null headers) (map (const AlignDefault) aligns)
widths headers rows
return $ prefixed "> " (tbl $$ blankline $$ caption'') $$ blankline
return $ (tbl $$ blankline $$ caption'') $$ blankline
blockToHaddock opts (BulletList items) = do
contents <- mapM (bulletListItemToHaddock opts) items
return $ (if isTightList items then vcat else vsep) contents <> blankline
Expand Down
140 changes: 70 additions & 70 deletions test/tables.haddock
Original file line number Diff line number Diff line change
@@ -1,90 +1,90 @@
Simple table with caption:

> +-------+------+--------+---------+
> | Right | Left | Center | Default |
> +=======+======+========+=========+
> | 12 | 12 | 12 | 12 |
> +-------+------+--------+---------+
> | 123 | 123 | 123 | 123 |
> +-------+------+--------+---------+
> | 1 | 1 | 1 | 1 |
> +-------+------+--------+---------+
>
> Demonstration of simple table syntax.
+-------+------+--------+---------+
| Right | Left | Center | Default |
+=======+======+========+=========+
| 12 | 12 | 12 | 12 |
+-------+------+--------+---------+
| 123 | 123 | 123 | 123 |
+-------+------+--------+---------+
| 1 | 1 | 1 | 1 |
+-------+------+--------+---------+

Demonstration of simple table syntax.

Simple table without caption:

> +-------+------+--------+---------+
> | Right | Left | Center | Default |
> +=======+======+========+=========+
> | 12 | 12 | 12 | 12 |
> +-------+------+--------+---------+
> | 123 | 123 | 123 | 123 |
> +-------+------+--------+---------+
> | 1 | 1 | 1 | 1 |
> +-------+------+--------+---------+
+-------+------+--------+---------+
| Right | Left | Center | Default |
+=======+======+========+=========+
| 12 | 12 | 12 | 12 |
+-------+------+--------+---------+
| 123 | 123 | 123 | 123 |
+-------+------+--------+---------+
| 1 | 1 | 1 | 1 |
+-------+------+--------+---------+

Simple table indented two spaces:

> +-------+------+--------+---------+
> | Right | Left | Center | Default |
> +=======+======+========+=========+
> | 12 | 12 | 12 | 12 |
> +-------+------+--------+---------+
> | 123 | 123 | 123 | 123 |
> +-------+------+--------+---------+
> | 1 | 1 | 1 | 1 |
> +-------+------+--------+---------+
>
> Demonstration of simple table syntax.
+-------+------+--------+---------+
| Right | Left | Center | Default |
+=======+======+========+=========+
| 12 | 12 | 12 | 12 |
+-------+------+--------+---------+
| 123 | 123 | 123 | 123 |
+-------+------+--------+---------+
| 1 | 1 | 1 | 1 |
+-------+------+--------+---------+

Demonstration of simple table syntax.

Multiline table with caption:

> +----------+---------+-----------+--------------------------+
> | Centered | Left | Right | Default aligned |
> | Header | Aligned | Aligned | |
> +==========+=========+===========+==========================+
> | First | row | 12.0 | Example of a row that |
> | | | | spans multiple lines. |
> +----------+---------+-----------+--------------------------+
> | Second | row | 5.0 | Here’s another one. Note |
> | | | | the blank line between |
> | | | | rows. |
> +----------+---------+-----------+--------------------------+
>
> Here’s the caption. It may span multiple lines.
+----------+---------+-----------+--------------------------+
| Centered | Left | Right | Default aligned |
| Header | Aligned | Aligned | |
+==========+=========+===========+==========================+
| First | row | 12.0 | Example of a row that |
| | | | spans multiple lines. |
+----------+---------+-----------+--------------------------+
| Second | row | 5.0 | Here’s another one. Note |
| | | | the blank line between |
| | | | rows. |
+----------+---------+-----------+--------------------------+

Here’s the caption. It may span multiple lines.

Multiline table without caption:

> +----------+---------+-----------+--------------------------+
> | Centered | Left | Right | Default aligned |
> | Header | Aligned | Aligned | |
> +==========+=========+===========+==========================+
> | First | row | 12.0 | Example of a row that |
> | | | | spans multiple lines. |
> +----------+---------+-----------+--------------------------+
> | Second | row | 5.0 | Here’s another one. Note |
> | | | | the blank line between |
> | | | | rows. |
> +----------+---------+-----------+--------------------------+
+----------+---------+-----------+--------------------------+
| Centered | Left | Right | Default aligned |
| Header | Aligned | Aligned | |
+==========+=========+===========+==========================+
| First | row | 12.0 | Example of a row that |
| | | | spans multiple lines. |
+----------+---------+-----------+--------------------------+
| Second | row | 5.0 | Here’s another one. Note |
| | | | the blank line between |
| | | | rows. |
+----------+---------+-----------+--------------------------+

Table without column headers:

> +-----+-----+-----+-----+
> | 12 | 12 | 12 | 12 |
> +-----+-----+-----+-----+
> | 123 | 123 | 123 | 123 |
> +-----+-----+-----+-----+
> | 1 | 1 | 1 | 1 |
> +-----+-----+-----+-----+
+-----+-----+-----+-----+
| 12 | 12 | 12 | 12 |
+-----+-----+-----+-----+
| 123 | 123 | 123 | 123 |
+-----+-----+-----+-----+
| 1 | 1 | 1 | 1 |
+-----+-----+-----+-----+

Multiline table without column headers:

> +----------+---------+-----------+--------------------------+
> | First | row | 12.0 | Example of a row that |
> | | | | spans multiple lines. |
> +----------+---------+-----------+--------------------------+
> | Second | row | 5.0 | Here’s another one. Note |
> | | | | the blank line between |
> | | | | rows. |
> +----------+---------+-----------+--------------------------+
+----------+---------+-----------+--------------------------+
| First | row | 12.0 | Example of a row that |
| | | | spans multiple lines. |
+----------+---------+-----------+--------------------------+
| Second | row | 5.0 | Here’s another one. Note |
| | | | the blank line between |
| | | | rows. |
+----------+---------+-----------+--------------------------+

0 comments on commit fd5994c

Please sign in to comment.