Syntax: Lines starting with a pipe |

Cell 1

Syntax: Extra pipes separate cells

Cell 1 Cell 2 Cell 3

Syntax: With a trailing pipe, make border

Cell 1 Cell 2 Cell 3

Syntax: Table lines starting with double pipe are heading

Cell 1 Cell 2 Cell 3

Align: Spaces before the leading pipe centralize the table

Cell 1 Cell 2 Cell 3

Align: Spaces inside the cell denote its alignment

Heading Heading Heading
<-- --- -->
--- --- ---
--> --- <--

Span: Column span is defined by extra pipes at cell closing

1 2 3+4
1 2 3 4
1+2+3 4
1 2+3 4
1+2+3+4

Test: Empty cells are placed as expected

0 1 2
4 5 7
8 A B
D E F

Test: Lines with different number of cells

1
1 2
1 2 3
1 2 3 4
1 2 3 4 5

Test: Empty cells + Span + Messy cell number = Fun!

Jan
Fev
Mar
Apr
May
20% 40% 60% 80% 100%

/
/ / / / /
/ / / / / / / / /
o o
.
= = = =

01 02 05 07
11 13 16
17 19 20 23
25 26 29 30 32
35 37 39 40

Test: Lots of cells at the same line

0 1 2 3 4 5 6 7 8 9 A B C D E F 0 1 2 3 4 5 6 7 8 9 A B C D E F

Invalid: There must be at least one space around the pipe

|this|is|not|a|table|

|this| is| not| a| table|

|this |is |not |a |table |

Invalid: You must use spaces, not TABs

| this | is | not | a | table |