top | item 43303752

Presenterm: Markdown Slideshows in the Terminal

306 points| pea-tear | 11 months ago |github.com

45 comments

order

mmastrac|11 months ago

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/

naikrovek|11 months ago

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?

wkat4242|11 months ago

Even the old VT220 had large fonts. They were just not used by most applications

kelvie|11 months ago

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!)

bryanhogan|11 months ago

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/

fgarit|11 months ago

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.

WD-42|11 months ago

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.

bazzargh|11 months ago

I made a terminal based presentation tool some years back and like sibling comments said, it was neat for switching back and forth to code samples and output.

Mine wasn't markdown tho: I used ttyrec to record a terminal session to a file per slide and the tool just played it back. I set it up so pressing most keys would advance the playback hackertyper style, advancing 200ms per keypress IIRC. When you reach the end of a slide, press return for the next one. The back and forward arrows were used to jump between slides quickly, and title text was done with figlet.

I only used it for a couple of in house presentations and meetups where the hacker styling was appropriate; there wasn't much to it so the code wasn't released, it'd be easy to recreate.

edited to add: I forgot, I did put it in a gist. https://gist.github.com/bazzargh/a267b97a52f7a1f70c46 ymmv. I recall the playback struggled with things like vim, I always meant to try integrating as cinema since it seems to work better

jrm4|11 months ago

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.

okonomiyaki3000|11 months ago

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.

riffic|11 months ago

marp is rad! kill powerpoint forever by writing markdown slides.

ChilledTonic|11 months ago

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.

banku_brougham|11 months ago

Patat looks great, is there a means to export to pdf? Thats one thing I think I need, to be able to share a doc of the slides I present.

tombert|11 months ago

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.

bartvk|11 months ago

Speaker notes seem to need an extra step; start an additional terminal on the laptop screen (not the presented screen), then start the speaker notes instance via a terminal command. PowerPoint understands the difference between your own laptop screen and the external output.

Still, good that they thought of including speaker notes, plus this is more flexible in combination with ssh.

banku_brougham|11 months ago

Trying to make a presentation right now. In order to render mermaid charts I need to install 'mmdc', or mermaid-cli perhaps -- but this is npm territory and I dont really want to get into the whole node ecosystem, it would be opening a can of worms for sure.

Is this the only support for rendering mermaid in presenterm?

pea-tear|11 months ago

Yes, unfortunately mermaid requires not only node but also a browser instance (!!). I don't like it at all but I don't think there's any alternatives. If you or anyone knows a way of avoiding installing a javascript package to do this please create an issue in the repo!

porridgeraisin|11 months ago

This looks just so so good. Perfect for my usecase (making presentations for our lab meetings)

Gonna try and convert a few of my old ones to presenterm. I'll let you know how it goes.

bravetraveler|11 months ago

With this, I'm going to get the executives living in the shell as much as I do

rellik|11 months ago

Very cool! I see the comments about Kitty. Any other terminals well supported?

pea-tear|11 months ago

iterm2 and wezterm are well supported as well!

anta40|11 months ago

Ahh very cool. Guess I can say goodbye to Power Point/Keynote/etc.

enriquto|11 months ago

I wonder how are the large fonts rendered. Are they sixel images or what?

pea-tear|11 months ago

See the sibling comment. This is a new protocol that the kitty maintainer created and is supported as of kitty 0.40.0, which was just released yesterday. This makes presentations look much more presentation-like now!

phrotoma|11 months ago

I've been creating slides with markdown and revealjs for my day job as an instructor for several years. I've also used obsidian and quarto for markdown->slide creation for a handful of meetups / conferences. This month I tried writing a kubecon talk using presenterm and had to throw in the towl after a couple hours of struggling.

It's super cool and I want to love it, but I find it too fiddly to get the layout the way I want it. For me it might be easier to just page through a plain text file of ascii art style diagrams or something.

I've always been just absolutely dog shit at design stuff. I can't center a div to save my life and I don't understand columns. I need it to be absolutely idiot proof because I'm an absolute idiot when it comes to these things.

I guess this is my attempt at encouragement for folks to keep working on these tools because I love the aesthetic but I just can't grok the interface. I will continue to watch this project with interest!

pea-tear|11 months ago

I would love to hear specifics on how you couldn't get the layout looking how you wanted it to. e.g. do you have a link to the presentation you did? Feel free to shot me an email at gmail, it's easily findeable online.

banku_brougham|11 months ago

this looks amazing, goodbye google docs

fitsumbelay|11 months ago

very cool +1 for terminal slides

xyst|11 months ago

brb re-creating pitch deck with presenterm to take presenterm from OSS to closed/limited/business source licensed software (ie, hashicorp strategy) then IPO.

Then rug pull the stonk. Leave retail holding the bag, go on permanent leave, get a golden parachute, then some cookie cutter MBA scumbag takes over and ruins it further. Subsequently gets sold to big tech for pennies, and IP gets shelved.

In the meanwhile, FOSS community forks presenterm and a divergence occurs.

The rinse and repeat :). The circle of scamming.

fdafds|11 months ago

[deleted]

James_K|11 months ago

Turning the terminal into a worse web browser is such a silly decision. I really wish we had better environments for this stuff. Something like MatLab. I suppose achieving such a thing on the ubiquity of the UNIX text streams model would be immensely difficult.