-
Notifications
You must be signed in to change notification settings - Fork 0
EvansWinner/sd
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
NAME
sd -- plain-text terminal-based presentations with bash
DESCRIPTION
sd (for "slide deck") is a hyper-minimal presentation program strictly
for terminal use. It requires env, bash, sed, wc, find, and cat.
sd reads plain text files from a given directory and presents them (shows
them) in ASCII sort order.
INSTALLATION
1. Make sure sd is executable. Do something like --
$ chmod u+x sd
2. You may need to manually edit the shebang line of the script if you are
using it on an odd platform like, for example, Termux.
3. Copy sd to somewhere in your path. You don't want to have it in the same
directory as the files for your presentation, because if you do, it will
treat sd itself as one of the slides.
4. Type --
$ sd -h
at the command line to get the help text.
5. Profit.
NOTES
1. It is feature-complete. There will be no Markdown support, additional
commands, etc. Ok, so see the TODO section for a couple of things...
2. Consider zooming in your terminal enough to make your text visible for
whatever your application. Use the -t and -l flags to get things
roughly centered the way you want.
3. I might give it a bang (!) command to run command line commands like
ed(1) has, but honestly, you can just do C-z to suspend it and do what-
ever you like, so I don't think I will.
4. I would have preferred to write it in pure POSIX shell, but I'm not
smart enough to figure out how to do arrays in POSIX shell.
5. There is no number 5. That's it.
EXAMPLES
Ok, I said there was a help page, but here's an example use to make it
easier:
$ sd -t 10 -l 25 -b "Title | 2025-02-19" -d testExample
This will pad every slide ten lines down, and 25 characters to the left. It
will include a header or "b" for "banner" at the top of every slide, and
will look for its slides in the "testExample" directory.
Once sd is running, try typing h (then Enter) to get a help page. Yes, the
same help page.
TODO
- `$' as command (short for `g $')
- `"' as command (short for `g ")
- Raw integer <n> as short for 'g <n>'
- I don't know. Maybe a ! command... maybe. Seems a little silly.
==
Another yak, shaved.
About
Plain text terminal presentation manager in ~300 lines of bash.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published