generator-reveal

A Reveal.js generator for Yeoman

npm install generator-reveal
1 downloads in the last day
78 downloads in the last week
221 downloads in the last month

Reveal.js generator Build Status Coverage Status NPM version

Dependency Status devDependency Status Built with Grunt

A Yeoman generator for the awesome Reveal.js presentation framework.

Usage

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.

Generators

Available generators:

Slide

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"
]

Vertical Slides

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"
]

Simple (Image) Slides

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"
        }
    }
]

Options

Markdown

Invoked with --markdown

yo reveal:slide "Slide Title" --markdown

Produces slides/slide-title.md

## Slide Title

This is a new slide
Attributes

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>
Speaker Notes

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

Customisation

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.

License

MIT License

npm loves you