Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ivantsepp/ssh-slides
Terminal-based Presentations Over SSH
https://github.com/ivantsepp/ssh-slides
presentation slides terminal
Last synced: 13 days ago
JSON representation
Terminal-based Presentations Over SSH
- Host: GitHub
- URL: https://github.com/ivantsepp/ssh-slides
- Owner: ivantsepp
- License: mit
- Created: 2022-03-22T15:28:35.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2023-07-10T12:05:38.000Z (over 1 year ago)
- Last Synced: 2024-12-24T15:26:22.583Z (17 days ago)
- Topics: presentation, slides, terminal
- Language: Go
- Homepage: ssh://slides.tseivan.com
- Size: 509 KB
- Stars: 119
- Watchers: 3
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# SSH Slides
SSH Slides is an SSH server that hosts terminal-based presentations where your viewers can follow along in their own terminals. This service is currently located at `slides.tseivan.com`.
![Screenshot of SSH Slides](./screenshot.png "Screenshot of SSH Slides")
## Usage
All you need is a markdown file containing your presentation. To create a new session:
```bash
# To create a session with your own unique name
ssh -t slides.tseivan.com create personal-unique-name URL_TO_RAW_MARKDOWN# Try out our example presentation
ssh -t slides.tseivan.com create https://raw.githubusercontent.com/ivantsepp/ssh-slides/master/example_presentation.md
```You will then be entered into a new presentation session where you have control of the slides. Your viewers can then join your session by running the following in their own terminals:
```bash
ssh -t slides.tseivan.com join SESSION_ID# Try joining our demo presentation session
# These slides auto-advance every 10 seconds
ssh -t slides.tseivan.com join demo
```Your viewers should then see the same content that you are seeing!
### Navigation
As the creator of the session you can:
1. To go to the next slide: `space`, `right`, `down`, `enter`, `n`, `j`, `l`
2. To go to the previous slide: `left`, `up`, `p`, `h`, `k`
3. To exit and finish the presentation session: `ctrl+c`, `ctrl+d`, `esc`, `q`
4. Toggle between dark and light mode: `t`As the viewer of the session you can:
1. To exit and leave: `ctrl+c`, `ctrl+d`, `esc`, `q`
2. Toggle between dark and light mode: `t`### Deploy
```bash
git clone https://github.com/ivantsepp/ssh-slides
cd ssh-slides
go build ssh-slides.go
PORT=22 ./ssh-slides 2> logs.txt &
```### Implementation
ssh-slides is built on top of other libraries that make it easy to write SSH apps.
- [charmbracelet/wish](https://github.com/charmbracelet/wish)
- [charmbracelet/bubbletea](https://github.com/charmbracelet/bubbletea)
- [gliderlabs/ssh](https://github.com/gliderlabs/ssh)### Credits / Motivation / Inspiration
- Amazing talk on SSH - https://vimeo.com/54505525
- [maaslalani/slides](https://github.com/maaslalani/slides)
- [fxn/tkn](https://github.com/fxn/tkn)