Presenterm: Markdown Slideshows in the Terminal
36 comments
·March 8, 2025mmastrac
wkat4242
Even the old VT220 had large fonts. They were just not used by most applications
kelvie
Thanks, I was also wondering! I wonder what it would take (politically) to get Konsole to support this (kind of afraid to just file the bug and find out!)
porridgeraisin
VTE based terminals can't support this AFAIK. Kitty draws itself with OpenGL and so supports these things. Iterm2 is also a similar story afaik (and Wezterm and ....)
naikrovek
Xterm does this via DEC protocol commands. Well, it does this by specifying double-height, double width, or both. Why does Kitty have to do things its own way yet again?
edoceo
Maybe cause TTY things are crazy! That mechanism of the computer world is so full of arcane/legacy/defacto "standards"
But how to overhaul? WaylandTYU?
bryanhogan
What is the benfit of doing this in the terminal over tools such as Slidev or Marp which also allow you to make slides based on Markdown?
- Slidev: https://sli.dev/
- Marp: https://marp.app/
WD-42
I used Presenterm for a work presentation recently. Being able to seamlessly transition from slides to example code in Vim is really, really nice. No need to jungle multiple windows, just terminal tabs or even ctrl+z/fg. Plus it looks really cool.
lloeki
The other day I had to conjure a presentation in short order.
I had a few code examples to massage out of a codebase, so I fired up vim to make them simpler/clearer before I'd put them in Keynote.
Then I started taking a few notes in a scratch buffer. After a few moments I began to dread having to move that content over and format in the UI and all.
... And then it dawned on me that I could just use vim itself as the presentation tool!
- one tab per slide, one file per tab
- gt/gT (:tabnext :tabprev) to move through
- ,z (junegunn/goyo :Goyo) for a "hudless" display
- splits and :terminal on live demo time
- ,b (junegunn/fzf.vim :Buffers) to jump to any "slide" on question time (just name files appropriately)
- prepare the whole thing and save session with :mksession
closewith
I wonder what the audience thought - apart from the cool factor.
fgarit
Lots of people want to demo things on the terminal, having your slides in the terminal as well makes things seamless. Also some people just like using terminals for all things.
okonomiyaki3000
I've used both of these a lot, Marp being really easy to get started with and Slidev being a little more complex but well worth the (minor) effort. To me, presenterm doesn't appear to offer any compelling features compared with these.
jrm4
Are either of these related to s5? What's wild is that I've been using zim-wiki -> html -> s5 slides for years, and still do, and I've completely forgotten "how s5 works?" It's just so easy to do things that way over markdown.
riffic
marp is rad! kill powerpoint forever by writing markdown slides.
campbel
Alternative https://maaslalani.com/slides/
ChilledTonic
Phenomenal - I've been using patat for this:
https://github.com/jaspervdj/patat
This has in line snippet execution, critical for how I present - so lets switch to this.
tombert
I'm giving a talk in June, and it might be fun to do it entirely in the terminal.
Historically, I've done the slides with Markdown and rendered them to Beamer with Pandoc, and that works well enough, though slightly awkward with transitions. I might get more nerd-cred if I live in the terminal.
I'll need to check this one out.
bravetraveler
With this, I'm going to get the executives living in the shell as much as I do
null
yoshuaw
I wonder what the first incarnation of single-page markdown files for slides has been. The earliest I know of is `tslide` by Dominic Tarr, first published in 2012: https://github.com/tslide/tslide
rickbyke
Vroom goes back to 2008. It generates slides within vim, and it has a wiki syntax, not markdown. https://github.com/ingydotnet/vroom-pm
anta40
Ahh very cool. Guess I can say goodbye to Power Point/Keynote/etc.
rellik
Very cool! I see the comments about Kitty. Any other terminals well supported?
pea-tear
iterm2 and wezterm are well supported as well!
mycall
Any chance of adding mermaid syntax for ANSI or ASCII charts?
pea-tear
Mermaid is already supported natively, meaning the mermaid diagram output is rendered as actual images; no need for ascii diagrams https://mfontanini.github.io/presenterm/features/code/mermai...
I was curious how the larger fonts worked in Kitty -- here's the reference for the protocol:
https://sw.kovidgoyal.net/kitty/text-sizing-protocol/