deck.rb

curing deck.js of angle bracket addiction

Summary

deck.js is a JavaScript library for building slide presentations using HTML 5. deck.rb builds on top of deck.js, adding some features:

  • clean(ish) page skeleton allows you to focus on your slides, not the HTML/CSS infrastructure
  • multiple slide source formats, including
    • Erector
    • Markdown
  • presentations can comprise several source files

Command-Line API (proposed)

deck run foo.md

  • start a local Rack server (probably Sinatra) on port 4333
  • http://localhost:4333/ serves the presentation in foo.md
  • can also specify multiple source files in a row

deck build foo.md

  • create a static site
  • default output dir = ./public (even if foo.md is elsewhere)
  • copies deck.js source
  • also copies "img" directory if it exists

deck deploy ???

  • some way to build/rebuild a project that is deployable to heroky

Options

  • --output dir
  • --config deck.json
  • --port portnum
  • --theme themename

Credits

TODO

  • markdown
  • multiple files
  • rack app
  • config:
    • show theme selector
    • show page number/nav
    • choose deck extensions
  • slim
  • haml
  • specify Redcarpet Markdown extensions
  • syntax highlighting (using sh (js) or coderay (rack)?)
  • option to render all JS and CSS inline, for a self-contained HTML doc (and maybe images too)