Giter Club home page Giter Club logo

demo-it's Introduction

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 either the SPACE or the F12 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:

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.