presentations for busy messy hackers
HTML JavaScript CSS Makefile
Latest commit 79d57ff Feb 3, 2017 @tmcw committed on GitHub Merge pull request #76 from tmcw/image-first
Image as first thing doc

Circle CI

This is a ridiculous presentation system that works great for creative, hurried people. See the demo for an example of it working.

It makes text and images as big as they can be, gives you minimal styling (em) and keyboard controls for navigation.


You can skip every step by doing


This is a bundle of all JS, CSS, and HTML code - which means that it's a bit harder to update, but there are no external dependencies here, so no conference-wifi-pwn.


big makes sense if you're comfortable with JavaScript, CSS, and HTML. If you are very familiar with those languages, you can jump right in. Otherwise, here are some tips:

  • When you are working locally you can view your slides by opening your presentation in a browser. Remember to save the file as a .html.
  • Use <div> & </div> around each slide
  • You may be used to em displaying as italicized text, but in big emphasized text is green and unitalicized. You can change this default behavior in the header. (Look, Ma-- CSS in action!)
  • Paragraph tags aren't displayed in big. This can be a useful place for you to store your speaking notes. (I don't actually understand this, but I've seen it done)
  • If you'll have internet access when you present, you can reference images hosted online. If you won't, any images you want to reference will need to be in the same folder as your presentation.


A full presentation looks like:

<!DOCTYPE html>
  <meta charset='utf-8'>
  <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" />
  <link href='big.css' rel='stylesheet' type='text/css' />
  <script src='big.js'></script>
<div>use &harr; to navigate</div>
<div class="center"><em>Presentation software</em> for busy busy hackers</div>
<div>as <em>big</em> as it can be</div>
<div data-time-to-next="3">and now it's perfect for ignite talks (wait 3 seconds)</div>
<div>no config</div>
<div><img src='' /> images too</div>
<div data-bodyclass="new-shiny">per slide body classes</div>
<div>JS+CSS <a href=''> tmcw/ big</a></div>

Here's how you write a single slide

<div>Hello, I am a slide</div>

A slide that automatically advances in 5 seconds

<div data-time-to-next='5'>Life is short but sweet for certain</div>

A slide that changes the body tag's class to 'minard'

<div data-bodyclass='minard'>Winter sucks</div>


  • If you put an image as the first thing in a slide, it'll become the slide's background. I abused this power in my presentation on project it yourself
  • You can swipe left & right on mobile devices to go back and forth.
  • Add data-time-to-next="5" as an attribute to a slide and the slide will auto-advance after 5 seconds - useful for ignite talks.
  • Add data-bodyclass="something" to add a custom class to the body tag. Useful for making changes to one slide at a time.
  • Add <notes>Write your speakers notes here</notes> in a slide to add speakers notes. These notes will appear in your web developer console when you go to the slide.


JavaScript API

big exposes a JavaScript API via the big object:

  • big.current: the current slide as a number between 0 and big.length
  • big.length: the number of slides
  • big.forward(): go forward 1 slide. at the last slide, do nothing.
  • big.reverse(): go back 1 slide. at the first slide, do nothing.
  • big.go(number): go to a specific slide, given its number.

Installation with npm

big is available on npm as the big-presentation package.

npm install --save big-presentation

Presentations with Big

Stuff that works with big

  • big-printer create "notes" pages from big presentations.
  • Draft, a version control and collaboration tool for writers, uses big for its presentation mode
  • bigout exports big presentations to PDF
  • Slidepad, a docpad server, supports big
  • bigpy lets you use Markdown with big by implementing it as a pre-processing step in Python
  • big-themes (website) is a fledgling new repository for big themes. Try one, make one, take one home today.

Open Source

See Also