Many speakers use the Reveal.js HTML presentation framework to display slides due to its simplicity and compatibility with mobile devices. It was created by Swedesh developer Hakim El Hattab, who also hosts a fully-featured visual editor for authoring slides if you don’t know how to write HTML.
WordPress users who want to create and host their own slides now have the option to use the Reveal.js theme for WordPress. It installs just like any other theme and requires the addition of the Fieldmanager plugin. The theme takes over the entire website so it should only be used on a site dedicated to displaying presentation slides.
Once installed, you can customize your presentation in Appearance → reveal.js Settings. Here you can select from any of the standard Reveal.js presentation themes and adjust everything from transition styles and speeds to base width and margins. Further customizations can be added via a standard child theme.
Reveal.js for WordPress has support for all of Reveal.js’s fancy transition styles, background transitions and everything else, with the exception of Markdown support. The theme adds a new custom post type for creating Slides, although I believe this would be better accomplished via a plugin.
Creating slides is fast, easy, and requires no knowledge of HTML. It’s essentially just like writing a regular WordPress post.
The theme comes with roughly a dozen actions and filters for manipulating the output, display, dependencies and more.
Conclusion: Reveal.js for WordPress Would be Better as a Plugin
The Reveal.js theme is an interesting concept and I appreciate the fact that you can create slides in the admin. However, data portability is a concern here and I’d prefer to see it as a plugin. If you happen to change themes, the interface for managing slide content is lost.
Additionally, the theme takes over the entire website. It’s not often that you want to create a website for the sole purpose of hosting your slides, especially if you speak frequently and have dozens of presentations. In this instance it would be easier to create your slides elsewhere and upload them to your website outside of WordPress.
I’d like to see the slide creation functionality pulled out of the theme and ported to its own plugin. The Reveal.js theme could be conditionally loaded for the post/page where the slides are assigned to display. In this scenario, you’d be able to add it to your existing WordPress site while keeping your active theme.
The Reveal.js theme makes it incredibly easy to power your presentation with WordPress, but you should be aware that you’ll be locked into using it and your slides will not be easily transferable. Placing the slide creation in a plugin outside of the theme itself would make it much more versatile. It would also be highly convenient to be able to import an existing Reveal.js presentation.
The Reveal.js theme for WordPress was created by the folks at Alley Interactive, is GPL-licensend, and available on GitHub.
While I appreciate Hakim making this, your conclusion is a no brainer. What was he thinking making this into a theme instead of a plugin? Bizarre.