moleike/org-show-and-tell

An Org presentation minor mode featuring an integrated teleprompter.

★ 0Forks 0Emacs LispGitHub ↗Compare

README

org-show-and-tell

An opinionated Org mode presentation package featuring an integrated teleprompter.

demo.gif

What it does

  • Genereates a title cover from #+TITLE: / #+AUTHOR: headers and an agenda slide from your document headings.
  • Evil navigation for slides, alongside an interactive heading selector and goto-slide commands.
  • Displays slide progress in the mode-line.
  • Displays parent-heading breadcrumbs on sub-slides for context.
  • Syncs private notes from #+begin_notes blocks to a dedicated presenter buffer (see below).
  • Centers slides with custom margins, hides Org markup, and disables visual minor modes (which you can customize).
  • Can temporarily apply a presentation theme while presenting.
  • Restores your original buffer context (widening, minor modes, and variables) along with your global theme on exit.

Doom Emacs Setup

Add to packages.el:

(package! org-show-and-tell :recipe (:host github :repo
  "moleike/org-show-and-tell"))

Configuration

(use-package! org-show-and-tell
  :commands (org-show-and-tell-mode)
  :custom
  ;; Automatically insert a title cover slide
  (org-show-and-tell-title-slide t)
  
  ;; Automatically insert an agenda slide
  (org-show-and-tell-agenda-slide t)
  
  ;; How much to scale the text during presentation
  (org-show-and-tell-text-scale 2)
  
  ;; Left and right window margin padding
  (org-show-and-tell-margin-width 20)
  
  ;; Theme to apply in 'show-and-tell' mode (e.g., 'leuven). Nil means keep current theme.
  (org-show-and-tell-theme nil)

  :init
  (map! :leader
        :desc "Toggle Presentation" "t P" #'org-show-and-tell-mode))

By default, we turn off several common minor modes (line numbers, git gutters, etc.) to provide a minimalistic look-and-feel. To add or remove modes, simply override org-show-and-tell-hide-modes in your config, e.g. in Doom Emacs (via config.el):

(after! org-show-and-tell
  (add-to-list 'org-show-and-tell-hide-modes 'git-gutter-mode))

Speaker Notes

  1. Add notes to your slides:
    #+TITLE: Presentation Title
    #+AUTHOR: Alexandre Moreno
    
    * Main Topic
    ** Sub-topic Title Slide content goes here.
    
    #+begin_notes
    Speaker notes for this slide.
    #+end_notes
        
  2. Start the presentation by toggling M-x org-show-and-tell-mode
  3. Clone your frame (e.g. M-x clone-frame) and either drag it to your external display or select it as your shared window in your meeting app.
  4. Launch presenter mode on your laptop frame by running M-x org-show-and-tell-presenter-notes. This opens a *Presenter Notes* split that updates automatically as you navigate.

Contributors

moleike

Issues