Themes are written using Sass to keep things modular and reduce the need for repeated selectors across files. Make sure that you have the reveal.js development environment including the Grunt dependencies installed before proceding: https://github.com/hakimel/reveal.js#full-setup
You also need to install Ruby and then Sass (with
gem install sass).
Creating a Theme
Each theme file does four things in the following order:
Include /css/theme/template/mixins.scss Shared utility functions.
Include /css/theme/template/settings.scss Declares a set of custom variables that the template file (step 4) expects. Can be overridden in step 3.
Override This is where you override the default theme. Either by specifying variables (see settings.scss for reference) or by adding full selectors with hardcoded styles.
Include /css/theme/template/theme.scss The template theme file which will generate final CSS output based on the currently defined variables.
When you are done, run
grunt css-themes to compile the Sass file to CSS and you are ready to use your new theme.
About Tom Johnson
I'm an API technical writer based in the Seattle area. On this blog, I write about topics related to technical writing and communication — such as software documentation, API documentation, AI, information architecture, content strategy, writing processes, plain language, tech comm careers, and more. Check out my API documentation course if you're looking for more info about documenting APIs. Or see my posts on AI and AI course section for more on the latest in AI and tech comm.
If you're a technical writer and want to keep on top of the latest trends in the tech comm, be sure to subscribe to email updates below. You can also learn more about me or contact me. Finally, note that the opinions I express on my blog are my own points of view, not that of my employer.