https://github.com/movsb/goldmark-wiki-table
An experimental Wikipedia/MediaWiki table parser and renderer.
https://github.com/movsb/goldmark-wiki-table
goldmark goldmark-extension markdown
Last synced: about 2 months ago
JSON representation
An experimental Wikipedia/MediaWiki table parser and renderer.
- Host: GitHub
- URL: https://github.com/movsb/goldmark-wiki-table
- Owner: movsb
- Created: 2023-11-20T05:19:51.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-11-29T19:15:04.000Z (over 1 year ago)
- Last Synced: 2025-02-08T03:44:18.649Z (3 months ago)
- Topics: goldmark, goldmark-extension, markdown
- Language: Go
- Homepage:
- Size: 661 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# goldmark-wiki-table
An experimental Wikipedia/MediaWiki table parser and renderer written in golang.
[Try it in your browser](https://movsb.github.io/goldmark-wiki-table/)
## Why?
The GitHub Flavored Markdown Table syntax sometimes cannot express complex tables, or tables with styles, or tables with colspans and rowspans.
This parser/goldmark extension enables you depicting tables using Wiki Tables syntax.## How to use it in Goldmark?
```go
import wikitable "github.com/movsb/goldmark-wiki-table"md := goldmark.New(
goldmark.WithExtensions(wikitable.New()),
)
```See [test/main.go](test/main.go) for more details.
## Examples
Write them directly in Markdown as paragraph, not in code blocks.
Note: Some styles may not be shown by GitHub.
### minimal syntax
```wiki-table
{|
|Orange
|Apple
|-
|Bread
|Pie
|-
|Butter
|Ice cream
|}
```OrangeApple
BreadPie
ButterIce cream### With styles
```
{| class="wikitable" style="color:green; background-color:#ffffcc;" cellpadding="10"
|Orange
|Apple
|-
|Bread
|Pie
|-
|Butter
|Ice cream
|}
```OrangeApple
BreadPie
ButterIce cream### with spans
```
{| class="wikitable"
!colspan="6"|Shopping List
|-
|rowspan="2"|Bread & Butter
|Pie
|Buns
|Danish
|colspan="2"|Croissant
|-
|Cheese
|colspan="2"|Ice cream
|Butter
|Yogurt
|}
```Shopping List
Bread & ButterPieBunsDanishCroissant
CheeseIce creamButterYogurt### with caption
```
{| class="wikitable"
|+ style="caption-side:bottom; color:#e76700;"|Food complements
|-
! style="color:green" | Fruits
! style="color:red" | Fats
|-
|Orange
|Butter
|-
|Pear
|Pie
|-
|Apple
|Ice cream
|}
```Food complements
FruitsFats
OrangeButter
PearPie
AppleIce cream### Table in a table
```
{|
|+ An example table
|-
! First header
! colspan="2" | Second header
|-
| Upper left
| Upper middle
| rowspan="2" | Right side
|-
| Lower left
| Lower middle
|-
| colspan="3"| Text before a nested table...
{|
|+ A table in a table
| AAA
| BBB
|}
|}
```An example table
First headerSecond header
Upper leftUpper middleRight side
Lower leftLower middle
Text before a nested table...
A table in a table
AAABBB## References
- [Help:Tables - MediaWiki](https://www.mediawiki.org/wiki/Help:Tables)
- [Help:Table - Wikipedia](https://en.wikipedia.org/wiki/Help:Table#Minimalist_table)## License
MIT