This is a high level description of how reveal-ck creates a presentation. Greater detail is available in the relishapp documentation for reveal-ck.
Slide generation centers around running the command
reveal-ck generate
.
The generate process takes a file containing your slides
and creates a presentation in a new directory
named slides
.
Everything starts with your slides file.
If you author slide content in Markdown, your slides
file will be named slides.md
. If you
write in html it's slides.html. If you write in erb it
will be slides.html.erb. The same pattern holds true for
slides.haml, slides.textile, slides.slim, and slides.rb.
Regardless of authoring technology, you put your slide content into the slides files and run reveal-ck generate.
config.yml
is scanned, if it
exists. Values within inform the generation process.
slides/slides.html
.
slides/index.html
.
Your slide content lives in a single file known as the slides file.
You can supply configuration and styling. You can have distinct images and audio files. You can even include text from other files, but everything revolves around the slides file. It is the core of your content.
This (optional) file contains configuration directives that impact the generated presentation.
It can provide:
reveal-ck allows you to reduce a presentation to a single file, but what if you want to include images? CSS? mp3s? reveal-ck expects that supporting files are placed into directories.
Any images included in the images directory will be
copied into the presentation. This mean they can be
referenced relatively: <img
src="image/foo.png"/>
.
If you include a CSS file in the css directory, it will
be automatically included in the generated presentation
and linked into the <head/>
of the
final index.html.
Files in the media directory will be copied into the
presentation. For example, mp3s can be referenced
by <audio/>
tags.
Files in the templates
directory aren't
copied into the presentation, but, they can be
referenced via the slide
DSL method when
working with a slides.rb
. This only matters
if you're working in Ruby.
The last step in the creation of your presentation involves running filters over your the html content in your presentation.
The html-pipeline framework is used to support filtering. :emoji: is replaced, links are auto-linked, and @mentions are transformed into github user URLs. Some of these filters are configurable.
You can show your slides by opening the generated index.html in a browser. However, presentation mode will not work unless they are served up via http.
You can type reveal-ck serve
and an http
server will startup on port 10000 serving up the content
of your slides directory.
Just browse to http://localhost:10000 .