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:

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.
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:

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
Most helpful comment
Tables should be properly parsed now in 1.4.0