Dokka: Tables render incorrectly or not at all

Created on 10 Aug 2017  路  8Comments  路  Source: Kotlin/dokka

I've tried writing both an HTML table and a markdown table and neither render correctly in IntelliJ

 * | source | node1 | node2 | node3|
 * |--------|-------|-------|------|
 * | node1  |  0.0  | 1.2   |  1.3 |
 * | node2  |  2.1  | 0.0   |  2.3 |
 * | node3  |  3.1  | 3.2   |  0.0 |

When I check to see if the documentation is correct intelliJ renders this (when pressing F1) as:
screen shot 2017-08-10 at 5 11 14 pm

I would be happy if I could get the above to at least render in ASCII but it all becomes one line and I can't even put <br/> at the end of each line so it breaks it up.

When I try using the table syntax:

 * <table>
 *   <tr><td>source</td><td>source2</td></tr>
 * </table>

This doesn't even render in IntelliJ at all.

Excuse me if this is an IntelliJ issue and not a dokka issue.

enhancement

Most helpful comment

Tables should be properly parsed now in 1.4.0

All 8 comments

This seems to be an IntelliJ problem:
https://youtrack.jetbrains.com/issue/KT-16228

This is not an IntelliJ problem. But a a dokka problem. Added the following generic table in my module,md file.

| State | Desc
|----------------|-------------------
| 0 | Initial
| 1 | Ready

The is what dokka produced:

image

Tables are, I believe, an extension to Markdown and not necessarily supported by dokka.
Then again, I tried documenting a decision-table for my method, and ofcourse wanted to use Markdown tables (as Github supports the extension for example), and failed.
So it would be a great enhancement!

Any fixes?

I would love to replace this:

  /**
   * Returns this URL's query, like `"abc"` for `http://host/?abc`. Most callers should
   * prefer [queryParameterName] and [queryParameterValue] because these methods offer direct access
   * to individual query parameters.
   *
   * <table summary="">
   * <tr><th>URL</th><th>`query()`</th></tr>
   * <tr><td>`http://host/`</td><td>null</td></tr>
   * <tr><td>`http://host/?`</td><td>`""`</td></tr>
   * <tr><td>`http://host/?a=apple&k=key+lime`</td><td>`"a=apple&k=key
   * lime"`</td></tr>
   * <tr><td>`http://host/?a=apple&a=apricot`</td><td>`"a=apple&a=apricot"`</td></tr>
   * <tr><td>`http://host/?a=apple&b`</td><td>`"a=apple&b"`</td></tr>
   * </table>
   */

with this:

  /**
   * Returns this URL's query, like `"abc"` for `http://host/?abc`. Most callers should
   * prefer [queryParameterName] and [queryParameterValue] because these methods offer direct access
   * to individual query parameters.
   *
   * | URL                               | `query()`               |
   * | :-------------------------------- | :---------------------- |
   * | `http://host/`                    | null                    |
   * | `http://host/?`                   | `""`                    |
   * | `http://host/?a=apple&k=key+lime` | `"a=apple&k=key lime"`  |
   * | `http://host/?a=apple&a=apricot`  | `"a=apple&a=apricot"`   |
   * | `http://host/?a=apple&b`          | `"a=apple&b"`           |
   */

Tables should be properly parsed now in 1.4.0

Sorry but seems still not work on my side, for example in my doc:

 * | Level | Color |
 * | ----- | ----- |
 * | ERROR | RED |
 * | WARN | YELLOW |

It just shown as :

| Level | Color | | ----- | ----- | | ERROR | RED | | WARN | YELLOW | 

Expected:
| Level | Color |
| ----- | ----- |
| ERROR | RED |
| WARN | YELLOW |

My Environment: IntelliJ IDEA 2019.3.3, Kotlin 1.4.10, Spring Boot 2.3.5.RELEASE

Any suggestions?

Tables are not a part of the basic markdown syntax and IntelliJ does not render them at all. You should use some proper markdown server or just host it on Github

Was this page helpful?
0 / 5 - 0 ratings

Related issues

fschoellhammer picture fschoellhammer  路  4Comments

AlekseyPotapov picture AlekseyPotapov  路  5Comments

simonbasle picture simonbasle  路  4Comments

norswap picture norswap  路  4Comments

martinkocjan-tomtom picture martinkocjan-tomtom  路  6Comments