Write Your Presentation

Let’s see some examples of revealjs backend features. Additional examples can be found in the AsciiDoc files (.adoc) in examples/.

Basic presentation with speaker notes

= Title Slide

== Slide One

* Foo
* Bar
* World

== Slide Two

A Great Story

* tell anecdote
* make a point

In previous snippet we are creating a slide titled Slide One with bullets and another one titled Slide Two with centered text (reveal.js’ default behavior) with speaker notes. Other syntax exists to create speaker notes, see examples/speaker-notes.adoc.

In order to generate a proper presentation, the source file must contain a proper AsciiDoc document structure. This is especially important when configuring how Asciidoctor reveal.js should convert the document. The document properties must be set on the title slide for them to work. See Title Slide for more information.

Starting with reveal.js 3.5 speaker notes supports configurable layouts: b941eb52 d743 11e6 9936 44ef80c60580

Speaker notes are opened by pressing s. With reveal.js 3.5 they require a webserver to work. This limitation is not present in 3.6. You can get a Web server running quickly with:

$ ruby -run -e httpd . -p 5000 -b

Then use your browser to navigate to the URL http://localhost:5000.

Slides without titles

There are a few ways to have no titles on slides.

  • Setting your title to !

  • Adding the notitle option to your slide

  • Adding the conceal option to your slide

conceal and notitle have the advantage that the slide still has an id so it can be linked to.
Like the first page of an AsciiDoc document, the first slide is handled differently. To hide the whole slide use the :notitle: document attribute. To achieve the effect of hiding only the first slide’s title, combine the :notitle: attribute on the first slide and use [%notitle] on the second slide which will, in effect, be your first slide now.

Content meant for multiple converters

Some content can be created with both slides and book in mind.

To mark slides split points you can use preprocessor conditionals combined with a backend declaration. Breaking points are set using slides with no title === ! wrapped in a conditional: ifdef::backend-revealjs[=== !]. In the end, the whole document has to be compiled with the backend option: -b revealjs

For example:

== Main section

=== Sub Section

Small +
Multiline +

. very
. long
. list
. of
. items

ifdef::backend-revealjs[=== !]

Some overview diagram

ifdef::backend-revealjs[=== !]

Detailed view diagram