TermNote is a program that allows you to write presentations either in Ruby:

require 'termnote'

include TermNote

show.add chapter title: "Hello, World"
show.add code language: "Ruby", source: <<-SOURCE
  puts "Hello, world!"

Or via a .yaml file:

type: chapter
title: Hello, World
subtitle: By Kurtis
type: code
source: |
  puts "Hello, world!"

and then with the termnote binary:

$ termnote someshow.yml

Here's an example of the slides in use:


You can then use j or k to navigate through the slides.


Install it yourself via:

$ gem install termnote


Usage is pretty simple, there are 4 types of slides:

  • Chapter, a single title [optional: and subtitle]
  • Text, a blob of text called content [optional: and title]
  • List, a list of items [optional: and title]
  • Code, a syntax highlighted blob called source

You can change the way things are printed out by overriding the classes for your specific presentation, but only if you do things programatically.


  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request