Skip to content

An Emacs package for running demonstrations and presentations from within Emacs.

License

Notifications You must be signed in to change notification settings

punkisdead/demo-it

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

When making demonstrations of new products, technologies and other geekery, I love the versatility of using Emacs to demonstrate the trifecta of sprint reviews:

  • Presentations explaining the technology and whatnot
  • Source code ... correctly highlighted and interactive
  • Reviewing code using a connected REPL
  • Executing the code in Eshell

However, I don't want to fat-finger, mentally burp, or even delay gratification for my audience while I laboriously type, so I predefine each "step" as an Elisp function, and then have demo-it execute each function when I hit the F6 key.

Click the following for a quicker example:

Example and Demonstration

Using this project is a three step process:

  1. Load the library in your own Elisp source code file
  2. Create a collection of functions that "do things".
  3. Call the demo-it-start function with the ordered list of functions.

For instance:

(load-library "demo-it")   ;; Load this library of functions

;; Define the first of many steps that do things.
(defun my-demo/step-1 ()
  (delete-other-windows)
  (demo/org-presentation "~/presentations/emacs-demo/emacs-demo-start.org"))

(defun my-demo/step-2 ()
  (demo-it-load-side-window "~/Work/my-proj/src/my-proj.py")
  (demo-it-presentation-advance))

;; Wrap the collection of functions in another function...
(defun my-demo ()
   "My fabulous demonstration."
   (interactive)
   (demo-start (list
                   'my-demo/step-1
                   'my-demo/step-2
                   ;; ...
                 )))

(my-demo) ;; Optionally start the demo when file is loaded.

Each "step" is an Elisp functions that does something like load some source code, or show off an org-mode file as a presentation. While this package has a collection of helping functions, the steps can use any Elisp command to show off a feature.

For a more complete example, see example.el.

I recommend installing these other Emacs packages:

About

An Emacs package for running demonstrations and presentations from within Emacs.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Emacs Lisp 98.7%
  • Python 1.3%