A while back I gave a Reveal.js presentation on how to create a Reveal.js presentation using the scaffolding tool Yeoman. It’s been pretty helpful for building quick presentations and distributing them through my github account for anyone to see and I keep going back to that presentation when I start my next one, so I thought it should be in a blog post.
If you want to view the actual presentation, give it a whirl.
Let’s start with the basics. Node.js comes with npm so let’s make sure we have the most up-to-date node installed on our system.
node
sudo npm cache clean -f
sudo npm install -g n
sudo n stable
npm -v
Update npm
sudo npm install npm -g
yeoman
Update yeoman
npm install -g yo
Update the Reveal.js Generator
npm install -g generator-reveal
yo yeveal | Build a new presentation
Navigate to a new directory
yo reveal
Follow the instructions. Be sure to include your github account name in order to deploy your presentation to a github page.
yo reveal:slide "Slide title" --markdown
Boom, this builds you a new slide in your slides directory.
No just run grunt serve to see your presentation (with live reload) in your browser:
grunt serve
- Grunt is a task runner
- You can build your own tasks for things like compiling CSS.
- Or you can rely on others’ grunt files. For Reveal’s generator, this already includes:
- Node server
- Autoreload
- Lint
- Deploy (to github in this case)
Super handy.
Bonus: Scaling Images on your slides
I ran into this issue a few times when I would insert an image and it just wouldn’t scale to the slide right. I think this is very important if you’re giving a talk. To fix, just use some quick CSS magic to help you.
<div class="big-image-container">
<img class="big-image" src="myimage.jpg"/>
</div>
For the container class:
.reveal div .big-image-container {
max-height:80%;
max-width:70%;
margin:0 auto;
}
And the image class:
.reveal img.big-image {
height:auto;
margin:0 auto;
}