Markdown Backend Examples

Here, we can see some examples of text tables generated by PrettyTables.jl. The A object, when referenced, is defined as:

julia> A = Any[
    1    false      1.0     0x01
    2     true      2.0     0x02
    3    false      3.0     0x03
    4     true      4.0     0x04
    5    false      5.0     0x05
    6     true      6.0     0x06
]

pretty_table(A; backend = :markdown)
| **Col. 1** | **Col. 2** | **Col. 3** | **Col. 4** |
|-----------:|-----------:|-----------:|-----------:|
|          1 |      false |        1.0 |          1 |
|          2 |       true |        2.0 |          2 |
|          3 |      false |        3.0 |          3 |
|          4 |       true |        4.0 |          4 |
|          5 |      false |        5.0 |          5 |
|          6 |       true |        6.0 |          6 |

pretty_table(
  A;
  backend = :markdown,
  style   = MarkdownTableStyle(first_line_column_label = MarkdownStyle(italic = true))
)
| *Col. 1* | *Col. 2* | *Col. 3* | *Col. 4* |
|---------:|---------:|---------:|---------:|
|        1 |    false |      1.0 |        1 |
|        2 |     true |      2.0 |        2 |
|        3 |    false |      3.0 |        3 |
|        4 |     true |      4.0 |        4 |
|        5 |    false |      5.0 |        5 |
|        6 |     true |      6.0 |        6 |

data = [
    10.0 6.5
     3.0 3.0
     0.1 1.0
]

row_labels = [
    "Atmospheric drag"
    "Gravity gradient"
    "Solar radiation pressure"
]

column_labels = [
    [MultiColumn(2, "Value", :c)],
    [
        "Torque [10⁻⁶ Nm]",
        "Angular Momentum [10⁻³ Nms]"
    ]
]

pretty_table(
    data;
    backend = :markdown,
    column_labels,
    row_labels,
    stubhead_label = "Effect",
    summary_row_labels = ["Total"],
    summary_rows = [(data, i) -> sum(data[:, i])],
)
|                   **Effect** | **Value**<br>`Torque [10⁻⁶ Nm]` | ───────────────────────────────── |
|-----------------------------:|--------------------------------:|----------------------------------:|
|         **Atmospheric drag** |                            10.0 |                               6.5 |
|         **Gravity gradient** |                             3.0 |                               3.0 |
| **Solar radiation pressure** |                             0.1 |                               1.0 |
| ──────────────────────────── | ─────────────────────────────── | ───────────────────────────────── |
|                    **Total** |                            13.1 |                              10.5 |

t = 0:1:20

data = hcat(t, ones(length(t) ), t, 0.5.*t.^2);

column_labels = [
    ["Time", "Acceleration", "Velocity", "Distance"],
    [ "[s]",     "[m / s²]",  "[m / s]",      "[m]"]
]

hl_p = MarkdownHighlighter(
    (data, i, j) -> (j == 4) && (data[i, j] > 9),
    MarkdownStyle(italic = true)
)

hl_v = MarkdownHighlighter(
    (data, i, j) -> (j == 3) && (data[i, j] > 9),
    MarkdownStyle(bold = true)
)

pretty_table(
    data;
    backend       = :markdown,
    column_labels = column_labels,
    highlighters  = [hl_p, hl_v],
)
| **Time**<br>`[s]` | **Acceleration**<br>`[m / s²]` | **Velocity**<br>`[m / s]` | **Distance**<br>`[m]` |
|------------------:|-------------------------------:|--------------------------:|----------------------:|
|               0.0 |                            1.0 |                       0.0 |                   0.0 |
|               1.0 |                            1.0 |                       1.0 |                   0.5 |
|               2.0 |                            1.0 |                       2.0 |                   2.0 |
|               3.0 |                            1.0 |                       3.0 |                   4.5 |
|               4.0 |                            1.0 |                       4.0 |                   8.0 |
|               5.0 |                            1.0 |                       5.0 |                *12.5* |
|               6.0 |                            1.0 |                       6.0 |                *18.0* |
|               7.0 |                            1.0 |                       7.0 |                *24.5* |
|               8.0 |                            1.0 |                       8.0 |                *32.0* |
|               9.0 |                            1.0 |                       9.0 |                *40.5* |
|              10.0 |                            1.0 |                  **10.0** |                *50.0* |
|              11.0 |                            1.0 |                  **11.0** |                *60.5* |
|              12.0 |                            1.0 |                  **12.0** |                *72.0* |
|              13.0 |                            1.0 |                  **13.0** |                *84.5* |
|              14.0 |                            1.0 |                  **14.0** |                *98.0* |
|              15.0 |                            1.0 |                  **15.0** |               *112.5* |
|              16.0 |                            1.0 |                  **16.0** |               *128.0* |
|              17.0 |                            1.0 |                  **17.0** |               *144.5* |
|              18.0 |                            1.0 |                  **18.0** |               *162.0* |
|              19.0 |                            1.0 |                  **19.0** |               *180.5* |
|              20.0 |                            1.0 |                  **20.0** |               *200.0* |