https://github.com/Chleba/tui-slides
Terminal Presentation program with modern TUI
https://github.com/Chleba/tui-slides
Last synced: 8 months ago
JSON representation
Terminal Presentation program with modern TUI
- Host: GitHub
- URL: https://github.com/Chleba/tui-slides
- Owner: Chleba
- License: apache-2.0
- Created: 2024-05-20T17:44:32.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-09-12T21:18:07.000Z (about 1 year ago)
- Last Synced: 2025-04-03T01:11:11.140Z (8 months ago)
- Language: Rust
- Size: 7.41 MB
- Stars: 67
- Watchers: 3
- Forks: 4
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-cli-apps-in-a-csv - tui-slides - TerminalpPresentation program with modern TUI. (<a name="office"></a>Office tools)
- awesome-cli-apps - tui-slides - TerminalpPresentation program with modern TUI. (<a name="office"></a>Office tools)
- awesome-ratatui - tui-slides - Terminal presentation program with modern TUI. (💻 Apps / 🚀 Productivity and Utilities)
- awesome-tuis - tui-slides
README
# tui-slides
Terminal Presentation tool with modern TUI capable to render images in terminal and with many more widgets.

## Install via cargo
```
cargo install tui-slides
```
### AUR
```
paru -S tui-slides
```
## Usage
To create new presentation You have to create a folder with JSON file where you can create Your presentation slides.
Example file is [here](./talk_example/slides.json).
## Run
To start `tui-slides` we just call it with argument `-j` where we specify path to JSON file with slides data.
```
tui-slides -j="./path_to_slides/slides.json"
```
### JSON: root
Main section of slide config is `box_size`. Here we set fixed size of content box.
```
"box_size": { "width": 50, "height": 50 }
```
### JSON: slides
`slides` property is defining content. Slide content have it's `type`, `content`, `rect`, `data`, `max` & `color`.
There are few types at the moment but in the future there should be support for every widget in [Ratatui](https://github.com/ratatui-org/ratatui) library.
Supported widgets ATM:
- Image
- Block
- Paragraph
- Line
- Bigtext
- Sparkline
- Code Highlight