mdcat/README.md

43 lines
1.4 KiB
Markdown

# mdcat
mdcat is a tiny portable linux binary to render markdown from a file (or stdin) to styled ansi for the terminal.
## usage examples:
```sh
mdcat README.md | less -R # -R is required for less to support ansi styling
```
```sh
printf '# header\n- list item 1\n- list item 2' | mdcat
```
## features
mdcat isn't really a compliant markdown implementation - i made it to render a bit of styling in notes i write on the terminal.
the following are currently supported:
- bold with `**text**`
- italic with `*text*`
- underline with `_text_`
- links with `[label](destination)`
- headers with `# text`
- lists with `- list item` or `1. list item` (but numbered lists dont render as numbered yet)
- task lists with `- [x] list item` or `- [ ] list item` where a checkbox is ticked if the `x` is present.
- horizontal rules with `***` which span the entire terminal width.
- strikethrough with `~~text~~`
## dependencies
- [md4c](https://github.com/mity/md4c) for markdown parsing
- [ansi-term](https://github.com/ziglibs/ansi-term) wraps ansi styling
- [zig-clap](https://github.com/Hejsil/zig-clap) for arg parsing
## building
1. install [zig 0.13.0](https://ziglang.org/download/#release-0.13.0)
2. clone repo
3. run `zig build`
if you want a release build:
4. run `zig build --release=small`
release optimize modes are:
- fast
- safe
- small
the mdcat binary will be in `zig-out/bin/mdcat`