Skip to content
This repository was archived by the owner on Aug 3, 2024. It is now read-only.

Grid Tables#718

Merged
alexbiehl merged 8 commits into
haskell:masterfrom
phadej:table
Dec 26, 2017
Merged

Grid Tables#718
alexbiehl merged 8 commits into
haskell:masterfrom
phadej:table

Conversation

@phadej

@phadej phadej commented Dec 21, 2017

Copy link
Copy Markdown
Contributor

Resolves #530

Based on RST Grid Tables http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#grid-tables,
which are more expressive then Emacs tables https://www.gnu.org/software/emacs/manual/html_node/emacs/Text-Based-Tables.html (AFAICS, strict superset)

Uses & supersedes #577: at least styles, and simple table test.

Trying to improve over #577

  • there are example-based tests using examples from RST spec, and few others.
  • spec: the same as RST Grid Table
  • I think you should provide some way to escape | in table cells. Otherwise typing | results in odd parser errors., you don't as you can add empty line to the cells or nudge contents a little (see RST spec and/or test examples)
  • I'll be happy to add documentation, but would prefer to do it as a separate PR after this one is merged. The spec is clear, so there won't be surprises in syntax description.

ATM the parser is quite lax, it would be handy to add warnings to haddock, so one can report them, but still don't fail (I guess it's possible by adding them to ParserState). However, that better done in a separate PR.

+------------------------+------------+----------+----------+
| Header row, column 1   | Header 2   | Header 3 | Header 4 |
| (header rows optional) |            |          |          |
+========================+============+==========+==========+
| body row 1, column 1   | column 2   | column 3 | column 4 |
+------------------------+------------+----------+----------+
| body row 2             | Cells may span columns.          |
+------------------------+------------+---------------------+
| body row 3             | Cells may  | \[                  |
+------------------------+ span rows. | f(n) = \sum_{i=1}   |
| body row 4             |            | \]                  |
+------------------------+------------+---------------------+

@hvr

hvr commented Dec 22, 2017

Copy link
Copy Markdown
Member

🏓

Simple parser is done by Giovanni Cappellotto (@potomak)
in haskell#577
It seems to support single fine full tables, so far from full
RST-grid tables, but it's good start.

Table type support row- and colspans, but obviously parser is lacking.

Still TODO:
- Latex backend. Should we use multirow package
  https://ctan.org/pkg/multirow?lang=en?
- Hoogle backend: ?
@phadej

phadej commented Dec 24, 2017

Copy link
Copy Markdown
Contributor Author

I got something working towards supporint colspan&rowspans based on ideas in http://docutils.sourceforge.net/docutils/parsers/rst/tableparser.py

There /will/ be a problem with UTF-8 as for tables we need to count characters. I won't do anything for that at this point.

@phadej

phadej commented Dec 25, 2017

Copy link
Copy Markdown
Contributor Author

screenshot from 2017-12-25 02-41-27

@phadej

phadej commented Dec 25, 2017

Copy link
Copy Markdown
Contributor Author

@hvr @alexbiehl this is ready for review.

EDIT I edited the PR description.

@phadej phadej changed the title WIP: Tables Grid Tables Dec 25, 2017
@alexbiehl

alexbiehl commented Dec 26, 2017

Copy link
Copy Markdown
Member

Oleg, this is looking good. I added a changelog entry and basic documentation. Let's make sure this ships with ghc-8.4.

@alexbiehl
alexbiehl merged commit ad94ddf into haskell:master Dec 26, 2017
@phadej
phadej deleted the table branch December 26, 2017 15:37
@phadej

phadej commented Dec 26, 2017

Copy link
Copy Markdown
Contributor Author

@alexbiehl thanks for writing the docs!

alexbiehl pushed a commit to alexbiehl/haddock that referenced this pull request Feb 1, 2018
* Add table examples

* Add table types and adopt simple parser

Simple parser is done by Giovanni Cappellotto (@potomak)
in haskell#577
It seems to support single fine full tables, so far from full
RST-grid tables, but it's good start.

Table type support row- and colspans, but obviously parser is lacking.

Still TODO:
- Latex backend. Should we use multirow package
  https://ctan.org/pkg/multirow?lang=en?
- Hoogle backend: ?

* Implement grid-tables

* Refactor table parser

* Add two ill-examples

* Update CHANGES.md

* Basic documentation for tables

* Fix documentation example
alexbiehl pushed a commit that referenced this pull request Feb 1, 2018
* Add table examples

* Add table types and adopt simple parser

Simple parser is done by Giovanni Cappellotto (@potomak)
in #577
It seems to support single fine full tables, so far from full
RST-grid tables, but it's good start.

Table type support row- and colspans, but obviously parser is lacking.

Still TODO:
- Latex backend. Should we use multirow package
  https://ctan.org/pkg/multirow?lang=en?
- Hoogle backend: ?

* Implement grid-tables

* Refactor table parser

* Add two ill-examples

* Update CHANGES.md

* Basic documentation for tables

* Fix documentation example
sjakobi pushed a commit to sjakobi/haddock that referenced this pull request Jun 10, 2018
* Add table examples

* Add table types and adopt simple parser

Simple parser is done by Giovanni Cappellotto (@potomak)
in haskell#577
It seems to support single fine full tables, so far from full
RST-grid tables, but it's good start.

Table type support row- and colspans, but obviously parser is lacking.

Still TODO:
- Latex backend. Should we use multirow package
  https://ctan.org/pkg/multirow?lang=en?
- Hoogle backend: ?

* Implement grid-tables

* Refactor table parser

* Add two ill-examples

* Update CHANGES.md

* Basic documentation for tables

* Fix documentation example

(cherry picked from commit 088b199)
expipiplus1 added a commit to expipiplus1/pandoc that referenced this pull request Mar 25, 2020
See this PR on Haddock for details on the table format:
haskell/haddock#718
expipiplus1 added a commit to expipiplus1/pandoc that referenced this pull request Mar 25, 2020
See this PR on Haddock for details on the table format:
haskell/haddock#718
expipiplus1 added a commit to expipiplus1/pandoc that referenced this pull request Apr 20, 2020
See this PR on Haddock for details on the table format:
haskell/haddock#718
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants