A Yeoman generator for the awesome Reveal.js presentation framework.
Install: npm install -g generator-reveal
Make a new directory, and cd
into it:
mkdir my-new-project && cd $_
Run yo reveal
and start building your presentation.
After all files are created you can view your slides with grunt
:
grunt server
Then, create further slides with yo reveal:slide more-content
. See below for available options. When you want to export your presentation to some static HTML server, you can type grunt dist
to have all your relevant files saved to the dist
directory.
Available generators:
Generates a Slide file.
Example:
yo reveal:slide "Slide Title"
Produces slides/slide-title.html
:
<h2>Slide Title</h2>
<p>This is a new slide</p>
And the slide filename will be added to your slides/list.json
file.
[
"index.md",
"slide-title.html"
]
In order to add vertical slides, you can nest an array inside slides/list.json
[
"index.md",
[
"vertical-html.html",
"vertical-markdown.md"
],
[
"vertical-html-2.html",
"vertical-markdown-2.md"
],
"the-end.md"
]
Sometimes you just want a slide with a background image. That's okay, a slide object does not need a filename.
[
"index.md",
{
"attr": {
"data-background": "http://example.com/image.png"
}
}
]
Invoked with --markdown
yo reveal:slide "Slide Title" --markdown
Produces slides/slide-title.md
## Slide Title
This is a new slide
Invoked with --attributes
yo reveal:slide "Slide Title" --attributes
adds a slide Object
with an attr
key to your slides/list.json
file. Attributes will be passed to section
element containing the slide.
[
"index.md",
{
"filename": "slide-title.md",
"attr": {
"data-background": "#ff0000"
}
}
]
<section data-markdown="slides/slide-title.md" data-background="#ff0000"></section>
Invoked with --notes
yo reveal:slide "Slide Title" --notes
Produces slides/slide-title.html
:
<h2>Slide Title</h2>
<p>This is a new slide</p>
<aside class="notes">
Put your speaker notes here.
You can see them pressing 's'.
</aside>
All three options maybe combined, e.g.
yo reveal:slide "Markdown Slide With Notes And Section-Attributes" --notes --attributes --markdown
With the help of Grunt Build Control, generator-reveal
can deploy your presentation to Github Pages easily. All you have to do is
- Set your username and repository name when you call
yo reveal
- Create and configure your remote Github repository for the presentation
- Push your first commit
- Deploy with
grunt deploy
If everithing goes right, grunt deploy
will build and push your presentation to a gh-pages git branch. Give it a couple of minutes, fire up a browser and go to http://username.github.io/repositoryname to see your brand new presentation.
To change the options of the whole presentation, such as the theme used,
transition effect etc. consult the
Reveal.js documentation.
An important difference, though, is that you should not edit the index.html
file directly as it gets overwritten as you add presentation content
whenever a new grunt build is triggered.
You should instead edit the templates/_index.html
file, which is used as a
template for the automatically generated index.html
.