3 tools for doing presentations from the command line

Files in a folder

Tired of creating and displaying presentation slides using LibreOffice Impress or various slightly geeky tools and frameworks ? Instead, consider running the slides for your next talk from a terminal window.

Using the terminal to present slides sounds strange, but it isn't. Maybe you want to embrace your inner geek a bit more. Perhaps you want your audience to focus on your ideas rather than your slides. Maybe you're a devotee of the Takahashi method . Whatever your reasons for turning to the terminal, there's a (presentation) tool for you.

Let's take a look at three of them.

Seeing as how I'm something of a Markdown person, I took mdp for a spin the moment I heard about it.

You create your slides in a text editor, prettying the text up with Markdown. mpd recognizes most Markdown formatting—from headings and lists to code blocks to character formatting and URLs.

You can also add a Pandoc metadata block , which can contain your name, the title of your presentation, and the date you're giving your talk. That adds the title to the top of every slide and your name and the date to the bottom.

Your slides are in a single text file. To let mdp know where a slide starts, add a line of dashes after each slide.

Here's a very simple example:

See the -> and <- surrounding the titles of each slide? Any text between those characters is centered in a terminal window.

Run your slideshow by typing mdp slides.md (or whatever you named your file) in a terminal window. Here's what the example slides I cobbled together look like:

Example mdp slide

Cycle through them by pressing the arrow keys or the spacebar on your keyboard.

tpp is another simple, text-based presentation tool. It eschews Markdown for its own formatting. While the formatting is simple, it's very concise and offers a couple of interesting—and useful—surprises.

The Linux Terminal

  • Top 7 terminal emulators for Linux
  • 10 command-line tools for data analysis in Linux
  • Download Now: SSH cheat sheet
  • Advanced Linux commands cheat sheet
  • Linux command line tutorials

You use dashes to indicate most of the formatting. You can add a metadata block at the top of your slide file to create the title slide for your presentation. Denote headings by typing --heading followed by the heading's text. Center text on a slide by typing --center and then the text.

To create a new slide, type:

Here's an example of some basic slides:

Here's what they look like in a terminal window:

tpp slide example

Move through your slides by pressing the arrow keys on your keyboard.

What about those interesting and useful surprises I mentioned earlier? You can add a splash of color to the text on a slide by typing --color and then the name of the color you want to use—for example, red . Below that, add the text whose color you want to change, like this:

If you have a terminal command that you want to include on a slide, wrap it between --beginoutput and --endoutput . Taking that a step further, you can simulate typing the command by putting it between --beginshelloutput and --endshelloutput . Here's an example:

Sent isn't strictly a command-line presentation tool. You run it from the command line, but it opens an X11 window containing your slides.

Sent is built around the Takahashi method for presenting that I mentioned at the beginning of this article. The core idea behind the Takahashi method is to have one or two keywords in large type on a slide. The keywords distill the idea you're trying to get across at that point in your presentation.

As with mpd and tpp, you craft your slides in plain text in a text editor. Sent doesn't use markup, and there are no special characters to indicate where a new slide begins. Sent assumes each new paragraph is a slide.

You're not limited to using text. Sent also supports images. To add an image to a slide, type @ followed by the name of the image—for example, @mySummerVacation.jpg .

Here's an excerpt from a slide file:

Fire up your slides by typing sent filename in a terminal window. The X11 window that opens goes into full-screen mode and displays text in as large a font as possible. Any images in your slides are centered in the window.

Example Sent slide

Drawbacks of these tools

You're not going to win any design awards for the slides you create with mdp, tpp, or sent. They're plain. They're utilitarian. But, as I pointed out at the beginning of this article, the slides you create and present with those tools can help your audience focus on what you're saying rather than your visuals.

If you use mdp or tpp, you need to do some fiddling with your terminal emulator's settings to get the fonts and sizes right. Out of the box, the fonts might be too small—as you see in the screen captures above. If your terminal emulator supports profiles, create one for presentations with the font you want to use at the size you want. Then go full-screen.

Neither mdp, tpp, nor sent will appeal to everyone. That's fine. There's no one presentation tool to rule them all, no matter what some people say. But if you need, or just want, to go back to basics, these three tools are good options.

That idiot Scott Nesbitt ...

Related Content

Typewriter in the grass

Slides in your terminal.

Installation

AUR

Nixpkgs (unstable)

Any linux distro running snapd.

From source:

You can also download a binary from the releases page.

Create a simple markdown file that contains your slides:

Checkout the example slides .

Then, to present, run:

If given a file name, slides will automatically look for changes in the file and update the presentation live.

slides also accepts input through stdin :

Go to the first slide with the following key sequence:

Go to the next slide with any of the following key sequences:

  • number + any of the above (go forward n slides)

Go to the previous slide with any of the following key sequences:

  • number + any of the above (go back n slides)

Go to a specific slide with the following key sequence:

Go to the last slide with the following key:

To quickly jump to the right slide, you can use the search function.

Press / , enter your search term and press Enter ( The search term is interpreted as a regular expression. The /i flag causes case-insensitivity. ).

Press ctrl+n after a search to go to the next search result.

Code Execution

If slides finds a code block on the current slides it can execute the code block and display the result as virtual text on the screen.

Press ctrl+e on a slide with a code block to execute it and display the result.

Pre-processing

You can add a code block with three tildes ( ~ ) and write a command to run before displaying the slides, the text inside the code block will be passed as stdin to the command and the code block will be replaced with the stdout of the command. Wrap the pre-processed block in three backticks to keep proper formatting and new lines.

The above will be pre-processed to look like:

For security reasons, you must pass a file that has execution permissions for the slides to be pre-processed. You can use chmod to add these permissions.

Configuration

slides allows you to customize your presentation’s look and feel with metadata at the top of your slides.md .

This section is entirely optional, slides will use sensible defaults if this section or any field in the section is omitted.
  • theme : Path to json file containing a glamour theme , can also be a link to a remote json file which slides will fetch before presenting.
  • author : A string to display on the bottom-left corner of the presentation view. Defaults to the OS current user’s full name. Can be empty to hide the author.
  • date : A string that is used to format today’s date in the YYYY-MM-DD format. If the date is not a valid format, the string will be displayed. Defaults to YYYY-MM-DD .
  • paging : A string that contains 0 or more %d directives. The first %d will be replaced with the current slide number and the second %d will be replaced with the total slides count. Defaults to Slide %d / %d . You will need to surround the paging value with quotes if it starts with % .

Date format

Given the date January 02, 2006 :

Value Translates to
2006
06
January
Jan
01
1
02
2

Slides is accessible over ssh if hosted on a machine through the slides serve [file] command.

On a machine, run:

Then, on another machine (or same machine), ssh into the port specified by the slides serve [file] command:

You will be able to access the presentation hosted over SSH! You can use this to present with slides from a computer that doesn’t have slides installed, but does have ssh . Or, let your viewers have access to the slides on their own computer without needing to download slides and the presentation file.

Alternatives

Credits : This project was heavily inspired by lookatme .

Development

See the development documentation

How to Create Lightweight Slideshow Presentations in Your Linux Terminal

4

Your changes have been saved

Email is sent

Email has already been sent

Please verify your email address.

You’ve reached your account maximum for followed topics.

6 Reasons Why Your Next Laptop Should Be a Chromebook

Here's how i use dall-e 3 to create the best ai images from text, i customized my mac's dock using these hidden commands: here's how.

Slideshow presentations are an essential and unavoidable part of corporate and academic life thanks to their ability to help you plan and structure the dissemination of information to your audience.

But snazzy graphics and transition effects can be a distraction from the core information, with the effort you put into making a visually appealing PowerPoint better spent elsewhere.

Slides is a terminal-based presentation tool for Linux that processes Markdown files—helping you to create and present slideshows without ever leaving your terminal!

Slideshows Are an Essential Business Tool

A rather dull looking slideshow presentation

When you need to impart vital data or instructions to a group of disengaged and disinterested employees or students at 9 am on a Monday, nothing works better than presenting a slideshow .

It requires minimal participation from the audience, and you can organize your presentation in a structured, logical way. Unlike a video presentation, it's easy to build breakpoints into a slideshow, so you can test your audience's engagement as they yawn, stretch, and doodle on notepads.

You can enhance the value of a slideshow with handouts—allowing slides to be inwardly digested after the show is over.

Why Use a Terminal-Based Slideshow

cowsay Terminals are cool

A big drawback of traditional slideshows built using programs such as Microsoft PowerPoint or Google Slides is that they can be distracting for both audience and the author.

When putting a slideshow together, there's a temptation to use background images to enliven the otherwise dull text. You can spend hours deciding on the correct font family, weight, and placement.

Is it better to have the first slide gently fade into the second, or to have the entire presentation progress by way of zooms, wipes, flips, and dissolve effects?

The result is often a mess of clutter that takes too long to create and nauseates viewers.

Slides helps you avoid all of these problems. The font is your terminal font, there are no distracting transitions, and while it is possible to display images if your terminal supports them, it's not a primary feature.

Best of all, you create your slideshow using Markdown, a straightforward, easy-to-understand markup language, which can be rapidly mastered to produce beautiful and simple formatted text on Linux.

How to Install Slides on Linux

Slides is written in Google's Go language, and you'll need to have Go installed on your system before you start.

If your system supports snap packages, you can easily install Go with:

Then, you can use Go to install Slides:

Slides is also present in the Arch User Repository (AUR) . To add it this way, enter:

While Slides is present in the Snap Store, if you install it using snap, you'll run into problems when executing code. If you don't plan on using this feature, you can install Slides as a snap with the following:

You're now ready to create a slideshow.

Use Slides to Create an Awesome Terminal Slideshow

slide from terminal slideshow

Creating a terminal-based slideshow is simple with Slides, and every directive to run the show can be contained within a single Markdown file. Here's why you should learn Markdown even if you're not using Slides.

To begin, use the nano text editor to create a new Markdown file:

In the file start writing the contents of your first slide, remembering to use standard Markdown conventions. Take advantage of standard Markdown features such as headings, bold and italic text, bullet points, numbered lists, tables, code blocks, quotes, and more!

When you're ready to move to the next slide, insert a triple dash on a new line.

As with all good presentations, it's best to follow some basic guidelines, and to follow the KISS principle: Keep It Simple, Stupid.

In practice, this means not trying to ram a complete essay into the eyeballs of your audience.

  • Points should be brief
  • Talk about your slide contents—don't just read them aloud
  • Summarize with a take-home message

You can start the slideshow by entering:

Slides also allows you to get up to some programmatic hi-jinks, and insert code blocks into your Markdown. Slides supports a wide variety of languages including JavaScript, Bash, Python, Elixir, and Go.

A code block is bracketed by two sets of three backticks, with the name of the language immediately following the first set.

To execute the code and show the result, just press Ctrl + E . If you want Slides to pre-process the code, wrap it in three tildes inside the code block, and change the location of the language. For instance:

...will display the current weather conditions in Chicago as part of the presentation.

For pre-processing to work, you'll need to make the file executable before passing it to Slides:

Additional Slides Options

As slides are written in Markdown, you can use the front matter at the very beginning of the file to set additional configuration options.

This front matter is again surrounded by three hyphens. For example:

The "theme" option allows you to specify a Glamour theme to prettify and style your terminal.

Using "author" allows you to set an author for the slideshow. By default, the author is set to the current user.

With "date", you can set the date. By default, this will be set to today's date.

You can set up Slides to serve slideshows over SSH with:

You will be given a port to connect to. This is usually 53531. Connect to the show with:

Brush Up on Your Public Speaking

Creating a beautiful, concise, and engaging slideshow presentation can go a long way toward getting your message across. Still, your preparation will count for naught if your delivery skills aren't up to scratch.

Learn to articulate your thoughts properly, and brush up on the best ways to address an audience with confidence, so your message goes across perfectly.

Instantly share code, notes, and snippets.

@johnloy

johnloy / markdown-for-slide-decks.md

  • Download ZIP
  • Star ( 713 ) 713 You must be signed in to star a gist
  • Fork ( 66 ) 66 You must be signed in to fork a gist
  • Embed Embed this gist in your website.
  • Share Copy sharable link for this gist.
  • Clone via HTTPS Clone using the web URL.
  • Learn more about clone URLs
  • Save johnloy/27dd124ad40e210e91c70dd1c24ac8c8 to your computer and use it in GitHub Desktop.

Electron apps

Marp: Markdown presentation ecosystem.

muryoimpl/slippr: markdown presentation app by Electron

joe-re/cafe-pitch Markdown-driven presentation tool built on Electron.

Slide deck frameworks supporting Markdown source

hakimel/reveal.js: The HTML Presentation Framework

jxnblk/mdx-deck: React MDX-based presentation decks

gnab/remark: A simple, in-browser, markdown-driven slideshow tool.

FormidableLabs/spectacle: ReactJS based Presentation Library

deckjs/deck: Deck is a markdown driven content presentation system

Hosted services

Slides.com: Online UI for creating RevealJS decks (no markdown support yet, but maybe someday )

Platon.io: Simple markdown presentations, right in the browser, using remarkjs

Swipe: Create Interactive Online Presentations On Any Device

HackMD: The best way to share knowledge in markdown

Presenta: Make slides fast!

Slidium: Beautiful and Easy Markdown Presentation - Neomobili

Deckset: Presentations from Markdown in No Time

Quiver: Developer notebook, with a presentation mode

Slideas: Slideas is the easiest way to create a beautiful Markdown Presentation, with all the features you need.

Obsidian: Obsidian is a powerful knowledge base that works on top of a local folder of plain text Markdown files.

CLI markdown ⇒ slides conversion tools

Fusuma: A tool to create slides easily for you

present: A terminal-based presentation tool with colors and effects.

backslide: CLI tool for making HTML presentations with Remark.js using Markdown

patat: (Presentations Atop The ANSI Terminal) is a small tool that allows you to show presentations using only an ANSI terminal. It does not require ncurses

markdown-slides: Using markdown, write simple but beautiful presentations with math, animations and media, which can be visualized in a web browser even without an internet connection, or exported to PDF.

S9: Write Your Slides in Plain Text w/ Markdown Formatting Conventions - Free Web Alternative to PowerPoint and Keynote

Cleaver: 30-second Slideshows for Hackers

@cogumbreiro

cogumbreiro commented Oct 14, 2020

https://github.com/sinedied/backslide

Sorry, something went wrong.

@thrgamon

thrgamon commented Nov 8, 2020

Obsidian also does this, which is rad: https://obsidian.md/

@sabitm

sabitm commented Dec 11, 2020

here's my favorite presenta

@epogrebnyak

epogrebnyak commented Dec 27, 2020

https://github.com/jaspervdj/patat

@geraldb

geraldb commented Dec 27, 2020 • edited Loading

Slideshow (S9) is another one (disclaimer: from my humble self), see http://slideshow-s9.github.io/ . If I dare to say it's the only one that lets you use / chose template packs (e.g. s6, bespoke.js, shower.js, impress.js, reveal.js, and so on), see http://slideshow-templates.github.io/ and you can design your own template packs (they are actually just GitHub Pages / Jekyll / Liquid templates) and, thus, work by definition "out-of-the-box" on GitHub with GitHub Pages, for example. Free and open source (public domain, actually).

@dadoomer

dadoomer commented Jan 10, 2021

Markdown-slides is yet another one (sorry for the self-promotion).

Output to PDF or HTML.

Beautiful output, because it just inserts your stuff into Reveal.js.

Does not need Internet connection.

@PhilipMottershead

PhilipMottershead commented Feb 7, 2021

GitPitch is shutting down

"GitPitch is shutting down on March 1, 2021. The trial software is no longer available for download."

@fego

fego commented May 12, 2021

Found this one today : https://sli.dev/

@danielvelara

danielvelara commented Jun 10, 2021

Markdown Preview Enhanced it's a VSCode extension with a lot of Markdown features, and it comes with a Presentation mode https://shd101wyy.github.io/markdown-preview-enhanced/#/presentation

@juanbrujo

juanbrujo commented Jun 12, 2021

I've been using Cleaver for years https://github.com/jdan/cleaver

@michalradacz

michalradacz commented Jun 22, 2021

Hmmm, Slideas dies? No web, no activity ...

@debMan

debMan commented Jul 26, 2021

For CLI: https://github.com/maaslalani/slides

@acacha

acacha commented Oct 22, 2021

Awesome just what I'm looking for!

@norman-abramovitz

norman-abramovitz commented Dec 23, 2021

There is a template to make reveal.js work work with mkdocs as well.

https://github.com/dhondta/mkdocs-revealjs-template

@alenwesker

alenwesker commented Feb 18, 2022

I've tried some of the above, recommend adding https://github.com/ksky521/nodeppt to the list. It's currently my favorite markdown-to-ppt tool. It supports so many features that at least the {.build.moveIn} and the speaker mode are vital to a slide show.

Recommend everybody try that.

@gilcot

gilcot commented Mar 6, 2022 • edited Loading

Other intersting tools to note:

  • https://github.com/googleworkspace/md2googleslides
  • https://github.com/astefanutti/decktape
  • https://github.com/maaslalani/slides
  • https://pkg.go.dev/golang.org/x/tools/present
  • https://gitpitch.github.io/gitpitch/#/
  • https://github.com/ionelmc/python-darkslide
  • https://github.com/anthonywritescode/markdown-to-presentation

@kzhk75

kzhk75 commented Mar 8, 2022

  • https://github.com/slidevjs/slidev

@N0K0

N0K0 commented Mar 16, 2022

image

ollej commented Oct 19, 2022

May I recommend the tool Rusty Slider, available as a native application for Windows/Mac/Linux as well as on the web. https://ollej.github.io/rusty-slider/

@anonymouscoolguy

anonymouscoolguy commented Oct 28, 2022

I have been working on a little side project: https://mdslides.app/

It is built using Reveal.js and Ace , and is a simple markdown presentation tool right in the browser.

@EmaSuriano

EmaSuriano commented Nov 8, 2022

Shout out to this one! Very nice DX, good documentation and fully customizable đź‘Ź

@easyjobber

easyjobber commented Nov 12, 2022 • edited Loading

Thanks for this presentation and you are truly an inspiration đź‘Ź https://gist.github.com/easyjobber

@haakonstorm

haakonstorm commented Dec 8, 2022

Slideas unfortunately appear defunct now. :/

@rukshn

rukshn commented Jul 22, 2023

Platon does not seem to be working anymore

@kitschpatrol

kitschpatrol commented Aug 5, 2023

iA Presenter has an opinionated take on the markdown → slides workflow.

It recently hit 1.0. Note that it's Mac only, commercial, and apparently not (yet) scriptable from the CLI.

@soaple

soaple commented Oct 7, 2023

MarkSlides is a tool that allows you to create slides using Markdown. It is created based on Marp, so any Marp syntax can be rendered to the slide. In addition, it also supports Generating Slides using AI like ChatGPT.

스크린샷 2023-10-03 오후 10 24 56

makp commented May 26, 2024

lookatme seems to be an interesting terminal-based markdown presentation tool.

@ak-git

ak-git commented Jun 24, 2024

@rhult

rhult commented Jul 19, 2024

Native macOS app: https://showdown.tinybird.se

@jerryjappinen

jerryjappinen commented Aug 11, 2024

Created this for the live notebook platform Observable: https://observablehq.com/@jerryjappinen/slides

presentation in terminal

Enter Your Mastodon Instance

Copy the link below to share to Mastodon

https://terminaltrove.com/slides/

A terminal based presentation tool

slides is a tool that turns your terminal into a presentation stage, using simple Markdown files for slides. It supports dynamic content and in-slide code execution.

It can used for tech talks, coding tutorials, or any situation where live coding examples which makes it ideal for developers and tech enthusiasts, enhancing presentations for those who like a terminal-based approach to presentations.

Get Updates On Terminal Trove.

present — A terminal-based presentation tool with colors and effects ¶

Documentation Status

present is a terminal-based presentation tool with colors and effects.

You can also play a codio (pre-recorded code block) on a slide.

present is built on asciimatics , and it works with Python>=3.7 .

Check out the Gallery to see what everyone is making with present ! You can add your slides by simply opening an issue .

Installation ¶

You can simply use pip to install present :

Some controls:

Previous slide: b , Left arrow, Page Up

Next slide: n , Space bar, Right arrow, Page Down

At the end, you can press r to restart the presentation.

Slides follow Markdown syntax. You can check out the sample slides for reference.

Some things aren’t supported yet:

Effects and colors on the same slide.

Effects and code on the same slide.

Separator ¶

Each slide can be separated with a --- .

Level 1 headings become figlets, level 2 headings get underlined with - , and level 3 headings become bold.

Ordered lists become unordered lists automatically.

Image paths are relative to the directory where your slides are kept, and where you invoke present .

You can use high resolution images and tweak the terminal font size to get the best results.

Code blocks ¶

Codios are pre-recorded playable code blocks which can be useful for live demos. You can find out how to write one in the codio section.

Each slide can be styled with foreground / background colors and effects. By default, slides are black on white with no effects. You can add style to a slide by adding a comment at the beginning of the slide (after the slide separator):

Colors: black , red , green , yellow , blue , magenta , cyan , white .

Effects: fireworks , explosions , stars , matrix , plasma . More coming soon!

Contributing ¶

The Contributor’s Guide has detailed information about contributing issues, documentation, code, and tests.

Versioning ¶

present uses Semantic Versioning . For the available versions, see the tags on the GitHub repository.

This project is licensed under the Apache License, see the LICENSE file for details.

presentation in terminal

Useful Links

  • present @ GitHub
  • present @ PyPI
  • Issue Tracker

Related Topics

  • Documentation overview

Quick search

Fork me on GitHub

It's FOSS

Present Slides in Linux Terminal With This Nifty Python Tool

Abhishek Prakash

Presentations are often boring. This is why some people add animation or comics/meme to add some humor and style to break the monotony.

If you have to add some unique style to your college or company presentation, how about using the Linux terminal? Imagine how cool it would be!

Present: Do Your Presentation in Linux Terminal

There are so many amusing and fun stuff you can do in the terminal . Making and presenting slides is just one of them.

Python based application named Present lets you create markdown and YML based slides that you can present in your college or company and amuse people in the true geek style.

I have made a video showing what it would look like to present something in the Linux terminal with Present.

Features of Present

You can do the following things with Present:

  • Use markdown syntax for adding text to the slides
  • Control the slides with arrow or PgUp/Down keys
  • Change the foreground and background colors
  • Add images to the slides
  • Add code blocks
  • Play a simulation of code and output with codio YML files

Installing Present on Linux

Present is a Python based tool and you can use PIP to install it. You should make sure to install Pip on Ubuntu with this command:

If you are using some other distributions, please check your package manager to install PIP3.

Once you have PIP installed, you can install Present system wide in this manner:

You may also install it for only the current user but then you’ll also have to add ~/.local/bin to your PATH.

Using Present to create and present slides in Linux terminal

Presentation In Linux Terminal

Since Present utilizes markdown syntax, you should be aware of it to create your own slides. Using a markdown editor will be helpful here.

Present needs a markdown file to read and play the slides. You may download this sample slide but you need to download the embed image separately and put it inside image folder.

  • Separate slides using — in your markdown file.
  • Use markdown syntax for adding text to the slides.
  • Add images with this syntax: ![RC] (images/name.png).
  • Change slide colors by adding syntax like <!– fg=white bg=red –>.
  • Add a slide with effects using syntax like <!– effect=fireworks –>.
  • Use codio syntax to add a code running simulation.
  • Quit the presentation using q and control the slides with left/right arrow or PgUp/Down keys.

Keep in mind that resizing the terminal window while running the presentation will mess things up and so does pressing enter key.

If you are familiar with Markdown and the terminal, using Present won’t be difficult for you.

You cannot compare it to regular presentation slides made with Impress, MS Office etc but it is a cool tool to occasionally use it. If you are a computer science/networking student or work as a developer or sysadmin, your colleagues will surely find this amusing.

Abhishek Prakash

Created It's FOSS 11 years ago to share my Linux adventures. Have a Master's degree in Engineering and years of IT industry experience. Huge fan of Agatha Christie detective mysteries 🕵️‍♂️

How to Install Unity Desktop on Arch Linux

Battle of the texts and the unicode savior, monica: an open-source app for personal relationship management, 5 neovim gui editors you could try if you are not a total terminal junkie, rnote: an open-source drawing app for notes and annotation, become a better linux user.

With the FOSS Weekly Newsletter, you learn useful Linux tips, discover applications, explore new distros and stay updated with the latest from Linux world

itsfoss happy penguin

Great! You’ve successfully signed up.

Welcome back! You've successfully signed in.

You've successfully subscribed to It's FOSS.

Your link has expired.

Success! Check your email for magic link to sign-in.

Success! Your billing info has been updated.

Your billing was not updated.

presentation in terminal

How to create and show a presentation from the command line on Linux

Last updated on December 14, 2020 by Dan Nanni

When you prepare a talk for audience, the first thing that will probably come to your mind is shiny presentation charts filled with fancy diagrams , graphics and animation effects. Fine. No one can deny the power of visually charming presentation. However, not all presentations need to be Ted talk quality. Often times, the purpose of a presentation is to convey specific information, which can easily be done with textual messages. In such cases, your time can be better spent on gathering information and checking facts, rather than searching for good-looking graphics from Google Image.

In the world of Linux, you can do presentation in several different ways, e.g., Impress for multimedia-rich content, Impress.js for stunning visualization, Beamer for hardcore LaTex users, and so on. If you are looking for a simple means to create and show a textual presentation, look no further. mdp can get the job done for you.

What is Mdp?

mdp is an ncurses -based command-line presentation tool for Linux. What I like about mdp is its markdown support, which makes it easy to create slides with familiar markdown format. Naturally, it becomes painless to publish the slides in HTML format as well. Another plus is its support for UTF-8 character encoding, which comes in handy when showing non-English characters (e.g., Greek or Cyrillic alphabets).

Install mdp on Linux

Installation of mdp is mostly painless due to its light dependency requirement (i.e., ncursesw ).

For Debian, Ubuntu or Their Derivatives:

For fedora, centos or rhel:, for arch linux:, create a presentation from the command line.

Once you installed mdp , you can easily create a presentation by using your favorite text editor. If you are familiar with markdown, it will take no time to master mdp . For those of you who are not familiar with markdown, starting with an example is the best way to learn mdp .

Here is a 6-page sample presentation for your reference.

Show a Presentation from the Command Line

Once you save the above code as slide.md text file, you can show the presentation by simply running:

You can navigate the presentation by pressing Enter / Space / Page-Down / Down-Arrow (next slide), Backspace / Page-Up / Up-Arrow (previous slide), Home (first slide), End (last slide), or numeric- N (N-th slide).

The title of the presentation appears on top of each slide, and your name and page number are shown at the bottom.

presentation in terminal

This is an example of a nested list and multi-level headers.

presentation in terminal

This is an example of a code snippet and inline code.

presentation in terminal

This is an example of nested quotes.

presentation in terminal

This is an example of placing citations.

presentation in terminal

This is an example of UTF-8 special characters.

presentation in terminal

In this tutorial, I showed you how to use mdp to create and show a presentation from the command line. Its markdown compatibility saves us the trouble and hassle of having to learn any new formatting, which is an advantage compared to tpp , another command-line presentation tool. Due to its limited command line interface, mdp may not qualify as your default presentation tool, but definitely there should be enough use cases for this nifty tool. What do you think of mdp ? Do you prefer something else?

Support Xmodulo

This website is made possible by minimal ads and your gracious donation via PayPal or credit card

Please note that this article is published by Xmodulo.com under a Creative Commons Attribution-ShareAlike 3.0 Unported License . If you would like to use the whole or any part of this article, you need to cite this web page at Xmodulo.com as the original source.

presentation in terminal

Xmodulo © 2021 ‒ About ‒ Write for Us ‒ Feed ‒ Powered by DigitalOcean

Sign up for our daily newsletter

  • Privacy Policy
  • Advertise with Us

How to Create and Run a Presentation from the Linux Command Line

Himanshu Arora

Whenever we think of presentations, the first things that usually come to mind are flashy images or colourful diagrams. But there are times when you just want to quickly convey some information through your presentation, while the overall look and feel takes a back seat.

In Linux, you can quickly create as well as run a presentation through command line. There are multiple ways to achieve this, but in this article, we will focus on the basics of the mdp tool, as well as the features it provides.

Mdp is a command-line based markdown presentation tool available for Linux. According to its author , the project started off as a way to learn C programming language and quickly developed into a fully-featured presentation tool.

Download/Install

Run the following commands to download and install mdp on your Debian-based system:

If you’re using any other Linux distribution, head to the project’s GitHub page for instructions on how to download and install mdp on your system.

Before moving on to a working example, here is some basic information that you should know about mdp :

  • You can switch to the next slide using the Enter, Space, Page Down, j, l, Down Arrow, and Right Arrow keys.
  • To switch to the previous slide, use Backspace, Page Up, h, k, Up Arrow, Left Arrow keys.
  • To quit the presentation, press q
  • To reload, press r
  • To go to the first slide, press Home or g, and to switch to the last slide, press End or G.

As we know that mdp works with markdown files, you will need to create your presentation in .md format, and run it in the following way:

For example:

The first slide

Here is how you can enter details like title and author, as well as create underlined, simple, and highlighted text.

Multi-level headers and nested lists

Here is how you can insert different levels of headers and nested lists:

This is how it looks:

mdp-code-block

Other important points

  • Backslashes force special markdown characters like *, _, # and > to be printed as normal characters.
  • Quotes are auto-detected by preceding >, while multiple > are interpreted as nested quotes.
  • For more tips, go through the sample.md file that comes along with the mdp source code.

As you’d have observed by now, it’s quick and easy to create a presentation using mdp . Given the fact that it’s open source, you can not only study how it works, but can also extend its feature set. Have you ever used mdp or any other command line presentation tool? How was your experience? Share your thoughts in the comments below.

Our latest tutorials delivered straight to your inbox

Himanshu Arora

Himanshu Arora is a freelance technical writer by profession but a software programmer and Linux researcher at heart. He covers software tutorials, reviews, tips/tricks, and more. Some of his articles have been featured on IBM developerworks, ComputerWorld, and in Linux Journal.

Feature Image Increasing Scrollback Buffer Size Terminal

Tiiny Host Blog

The Ultimate List of Markdown Presentation Tools

The Ultimate List of Markdown Presentation Tools

Try tiiny.host

Join the tiiny digest.

Get the most useful tips & tricks straight to your inbox

Creating presentations in Markdown is a bit time-consuming. However, there are a couple of excellent tools out there that are explicitly used for creating presentations with Markdown.

Marp, Slippr, and Cafe-Pitch are the most used tools for Markdown Presentations. All three are GitHub Projects.

We have compiled a complete listicle of numerous tools to help you better understand Markdown Presentation Tools.

Top 23 Markdown Presentation Tools

The 23 top-notch tools for creating slide decks with Markdown are:

Markdown-slides

Marp is a creative tool for preparing beautiful slide decks or presentations. Also known as the Markdown representation ecosystem, Marp has been one of the most reliable and used tools for generating presentations with Markdown. It is intimidating at first but believe it or not, within a few days, you can get a good grasp of this tool.

If you know how to write documents in Markdown, you can use this tool without any hassle. Because with Marp, you only need to focus on writing your text document in Markdown.

Slippr is an electron-based app that’s used to create Markdown presentations. With Slippr, you can easily create attractive presentations within a few seconds. To install this tool, you can head over to yarnpkg.com. You can also directly run Slippr using.

yarn run start

There are numerous functions available in Slippr to help you customize the most beautiful slides. You can adjust the functions according to your desires on all three pages, the editing, slides, and the timer page.

CafePitch is another electron built tool for creating presentations with Markdown. You can install and run CafePitch via

npm install -g cafe-pitch.

It is a GitHub project, and it might be a bit daunting for you to understand its usage. However, you can get a better understanding of setting up and testing the tool here .

Reveal.js is one of the most innovative and simplest open-source tools out there to create Markdown presentations. This HTML presentation framework allows anyone to design visually appealing and eye-catchy presentations within a few minutes.

Reveal.js has many excellent features such as nested slides, auto-animate, syntax-highlighted code, pdf export, etc. With Reveal.js, you can perform all functions in your presentation that you can do on the web, as it’s an open-source HTML presentation framework.

Using MDX would be much easier for you if you know how to write code in Markdown Documents. MDX is a simple format through which you can write your documents in Markdown.

It has many features that can make your presentation look more than just a piece of text. MDX lets people import visual components such as charts and other designs. These can be embedded with the content in Markdown.

Another presentation tool, Remark, is made for people who know HTML and writing documents in Markdown. The remark tool has some of the best specialties available such as markdown formatting, supporting multiple languages, syntax highlighting, and presentation templates. Working with Remark is incredibly easy. View the setup and running guide here to know how you can get started with this impeccable tool .

Spectacle is a ReactJS based app designed for the ease of markdown presentation developers. You can write your presentations in JSX, Markdown, or MDX with Spectacle. It’s totally up to the user to pick their favorite one and prepare a beautiful presentation. Spectacle provides customized backgrounds, animated colors, slide fragments, and many other specialties to help you form a unique slide deck.

Deck is an open-source GitHub project that’s specifically designed to tailor the needs of users. With Deck, you can try out multiple designs while building up your presentations.

This Markdown-driven content presentation system is easy to use and is available for everyone.

Being a user, you can also make significant contributions to this tool, aiming for its betterment.

Slides are also one of the top-rated markdown presentation tools that are used globally. With slides you can create professional yet beautiful presentations for your needs. Slides provide access to several unique and modern features that can make your presentation look more attractive and inspiring for the audience.

To make your presentations visually appealing and exquisite, you can even collaborate with other designers and developers with the help of slides.

The eleventh tool in our guide is HackMD. You can collaborate on personal, professional, and team documentation in real-time with the HackMD. It is a perfect tool for creating presentations in Markdown as it allows us to put ineffective ideas together and share them with others.

You will get access to some functions in HackMD that you can use for entirely free while developing your presentations in Markdown.

Presenta is one of the best tools for creating presentations with Markdown that lets people make the quickest slides than they could with any other tool. It provides access to several official plugins, tutorials, community guidelines, and built-in features to help the users understand the tool quickly. To better understand how to present work, you can head over to their website and learn from their video tutorials.

With Deckset (MacOs app), you can create presentations in Markdown within the least possible time. If you want to share your ideas with your team members and prepare text documents for your projects, this tool will be a perfect pick for you as it will convert your simple text documents into visually attractive designs.

To convert your boring text documents into attractive presentations or slides, Deckset will help you out.

Quiver is a notebook tool that is specifically designed for programmers to write their codes in Markdown. This tool can be used for several purposes, such as writing project scripts, preparing project guidelines or summaries. If you want to create presentations in Markdown that can appeal to the audience and engage them through a conversational style, then Quiver can help you with this.

Generating attractive slides presentations and slideshows is now even easier with the Pandoc tool. It is a unique tool that produces presentations not only in Markdown but in HTML and JavaScript too. So if you want to display your technical coding text documents in a beautiful style to attract the audience’s attention, then Pandoc should be your priority as it will help you.

You can even break your slideshows into multiple sections with the help of headers and bullet points.

Fusuma is another tool that is designed to help you create slides easily and quickly in Markdown. Very few tools provide the opportunity to create slides for presentations in Markdown, and Fusuma is one of those.

You can also enjoy other features such as exporting your presentations as PDF or deploying GitHub pages and creating slides in real-time. It has the quickest setup, and you can view the process here.

Present is a terminal-based presentation tool that lets users write in Markdown and create attractive presentations. You can add colorful backgrounds, visuals, and charts to convert your simple text document into a beautiful slide. This is a GitHub project, and you can see the installation and user’s guidelines here .

Backslide is the 19th tool on our list. Its core features include automatic templates and live preview server self-contained HTML export solution, automated PDF conversion, and multiple presentations support.

Many people use Backslide to create their presentations, make slides, export them, and convert them into PDF.

Patat is not a very common tool that most people use but a small tool that allows users to create presentations using Markdown. This tool does not have a lot of unique features that can make it stand out from others. But some of the most highlighted features are intelligent slide splitting, multiple fragments, lifetime support, and auto-advancing the configurable delays.

Markdown slides are also a unique project specifically designed for users who want to write their text documents in Markdown. Markdown slides enable users to write their text in a unique and beautiful presentation style with several animations, visual and mathematical calculations. This tool also lets people convert their presentations into PDFs.

S9 is a perfect and free alternative to PowerPoint and keynote. You can write your text in Markdown and format them with the help of available features to make your text look visually compelling and attractive to the audience. This S9 project provides several out-of-the-box themes and built-in support to help users get the most of this tool.

If you want to generate HTML presentations using Markdown quickly and easily, then Cleaver is one of the top-notch options that you should go with to make things easier. With this tool, you can produce splendid slides for presentations to show your simple text.

Not only this, but Cleaver also provides several other options that can make your designs look more professional and excellent.

Conclusion:

Markdown is a writing format used by many technical writers to write down their technical documentation. On average, people belonging to technical fields usually love Markdown, but those from different areas hate it.

It is a unique style of formatting content in an editor without requiring a person to know programming languages such as JavaScript, CSS, Ruby, etc. Many tools help people write their text using Markdown and convert their texts into tempting slides.

How to upload content using your own web address

How to share a pdf as a link.

The Ultimate List of Markdown Presentation Tools

LinuxConfig

Linux command line presentation

There is no need to install tons of software in order to create a nice and informative presentation. tpp, which stands for Text Presentation Program is a simple to use command line presentation tool which allows you to create a fancy text based slide show presentation and share it with your colleagues or students as an ordinary ASCII text file. tpp utilizes ncurses, and it supports colors, slide-in, source code output, animated command line execution and a real time command executions all available from within your terminal. In this tutorial, you will see how to install tpp on all major Linux distros . Then we will take you through some examples so you can see how to create and format the slides inside of your text presentation.

In this tutorial you will learn:

  • How to install tpp on all major Linux distros
  • How to create a command line slideshow with tpp
  • tpp slideshow example
  • How to open and close a tpp slideshow

Linux command line presentation

Software Requirements and Linux Command Line Conventions
Category Requirements, Conventions or Software Version Used
System Any
Software tpp
Other Privileged access to your Linux system as root or via the command.
Conventions – requires given to be executed with root privileges either directly as a root user or by use of command
– requires given to be executed as a regular non-privileged user

How to install tpp on major Linux distros

The tpp software we will be using to create a command line presentation is not installed by default on most Linux distros . You can use the appropriate command below to install tpp with your system’s package manager .

To install tpp on Ubuntu , Debian , and Linux Mint :

To install tpp on Fedora , CentOS , AlmaLinux , and Red Hat :

To install tpp on Arch Linux and Manjaro we will use the Arch User Repository:

How to create a command line presentation with tpp

We will now create a simple presentation consisting of two slides. Feel free to copy and paste some of the following syntax, and then adapt it to the needs of your own presentation.

The above will create presentation header including author, title, current date and heading, all centered in the middle of the page. To emulate a “break” tpp uses 3x hyphen syntax. Anytime you put --- into your tpp source code a SPACE press will be needed to continue with the presentation.

The above will create nice slide-in animation for last to items and --- will ensure the correct manual timing by presenter. --center command can be used to display centered headings.

  • Next, we display a source code using the --beginoutput command. This will put a nice frame around the code. If you need to display source code lines one by one feel free to include --- between the lines. --beginoutput #!/usr/bin/perl print "Hello World!"; --endoutput
  • What follows next is a animated command line execution. In this case tpp will animate command typing and display in output on the next line. This is one a real time execution as you will need to include your output to tpp’s source file: --center Shell Output --- --beginshelloutput $ perl -e 'print "Hello World!\n"' Hello World! --endshelloutput

For additional decorating purposes the above code uses --boldon command to make text bold and --revon to produce reverse black-on-white text style. For more information about ttp visit tpp’s manual page:

Here is what our tpp source code looks like now that we are all done creating the presentation:

When you are ready to see your presentation, you can execute the tpp command on your slideshow.

Here is how our tpp presents the sample program that we have created:

Slide number 1 of our sample presentation

Remember you need to continue hitting SPACE to move to the next line and slide. When you are ready to exit from the slideshow, just press q on your keyboard to return to the command line prompt.

Closing Thoughts

In this tutorial, you saw how to create a command line presentation slideshow using tpp on a Linux system. You also learned how to install tpp, Text Presentation Program, on all major Linux distros. You will need to read the program’s manual page to learn of all the different capabilities of this handy program, but our sample slideshow should be enough to give you hints and help you get started with creating your own presentation.

Related Linux Tutorials:

  • An Introduction to Linux Automation, Tools and Techniques
  • Mastering Bash Script Loops
  • Mastering String Concatenation in Bash Scripting
  • Converting Images to AVIF on Linux, Including JPG,…
  • Nested Loops in Bash Scripts
  • Mastering dd Command: Comprehensive Guide with…
  • Linux commands: Top 20 most important commands you…
  • How to install, configure and customize Waybar on Linux
  • Basic Linux Commands
  • FTP client list and installation on Ubuntu 22.04…

Linux Forum

How I Present Markdown Slides From The Terminal

pixelated avatar of Waylon Walker with a yellow and pink background

Waylon Walker

Learning in Public @_WaylonWalker

--> edit ✏️ -->