Tables
Zolt supports powerful grid tables with cell merging, headers, and alignment.
Basic Syntax
Zolt offers two ways to create tables: the standard Markdown-like syntax and the explicit [[table]] block.
Standard Syntax
You can create a table simply by using pipes | and separators. This is the fastest way for simple tables.
zolt
| Column 1 | Column 2 | Column 3 |
| :------- | :------- | :------- |
| Data 1 | Data 2 | Data 3 |
| Data 4 | Data 5 | Data 6 |
Result
| Column 1 | Column 2 | Column 3 |
|---|---|---|
| Data 1 | Data 2 | Data 3 |
| Data 4 | Data 5 | Data 6 |
Block Syntax
Wrapping your table in [[table]] and [[/table]] is useful when you need to add attributes (like id ) to the table element.
zolt
[[table id=my-table]]
| Column 1 | Column 2 | Column 3 |
| :------- | :------- | :------- |
| Data 1 | Data 2 | Data 3 |
| Data 4 | Data 5 | Data 6 |
[[/table]]
Result
| Column 1 | Column 2 | Column 3 |
|---|---|---|
| Data 1 | Data 2 | Data 3 |
| Data 4 | Data 5 | Data 6 |
Header Cells
Mark header cells with [h] . Unlike standard Markdown which only supports headers in the first row, Zolt allows headers anywhere.
zolt
| Name | Age | City |
| :-------- | :------ | :------- |
| [h] Alice | 30 | New York |
| [h] Bob | 25 | London |
Result
| Name | Age | City |
|---|---|---|
| Alice | 30 | New York |
| Bob | 25 | London |
Cell Alignment
Control alignment with colon position in the separator row:
| Syntax | Alignment |
|---|---|
--- | Default (= left) |
:--- | Left |
:---: | Center |
---: | Right |
Examples
zolt
| Left | Center | Right |
| :------- | :------: | -------: |
| Data | Data | Data |
Result
| Left | Center | Right |
|---|---|---|
| Data | Data | Data |
Cell Merging
Horizontal Merge (colspan)
zolt
| Header | Header | Header |
| :---------------------- | :---------- | ----------- |
| [colspan=2] Merged Cell | Simple cell | |
| Cell 1 | Cell 2 | Cell 3 |
Result
| Header | Header | Header | |
|---|---|---|---|
| Merged Cell | Simple cell | ||
| Cell 1 | Cell 2 | Cell 3 | |
Vertical Merge (rowspan)
zolt
| Header | Header |
| :------------------ | :----- |
| [rowspan=2] Merged | Row 1 |
| Row 2 |
| Normal | Row 3 |
Result
| Header | Header |
|---|---|
| Merged | Row 1 |
| Row 2 | |
| Normal | Row 3 |
Complex Example
zolt
[[table id=sales]]
| Category | Q1 | Q2 | Q3 | Q4 |
| :---------------------- | :----: | :----: | :----: | :----: |
| [rowspan=2] Electronics | $50K | $60K | $70K | $80K |
| 45% | 50% | 55% | 60% |
| Clothing | $30K | $35K | $40K | $45K |
| [h] Total | $80K | $95K | $110K | $125K |
[[/table]]
Result
| Category | Q1 | Q2 | Q3 | Q4 |
|---|---|---|---|---|
| Electronics | $50K | $60K | $70K | $80K |
| 45% | 50% | 55% | 60% | |
| Clothing | $30K | $35K | $40K | $45K |
| Total | $80K | $95K | $110K | $125K |
Best Practices
- Keep tables readable by aligning your pipes
|in the source code. - Use IDs when you need to target a specific table with links.
- Merge wisely : complex merges can be hard to maintain, use them for clear structural needs.
- Check alignment : use the separator row (
:---:) to guide the reader's eye.
© 2026 Marmotz