Git Product home page Git Product logo

jekyll-revealjs's Introduction

jekyll-reveal.js

A Jekyll-based framework for creating presentations based on Reveal.js and markdown.

Introduction

If you like Reveal.js for creating your online presentations, like the site management Jekyll gives you and like Markdown because of its easy and clean look, here's an easy way to create a presentation using Jekyll, Markdown and Reveal.js.

See the example presentation created using the contents in this repository and "jekyll build".

Howto

First, install Jekyll. After that, clone this repository and create a branch for your new presentation:

git clone --recursive https://github.com/dploeger/jekyll-revealjs.git
git checkout -b presentation1

Clean the Example presentation:

git rm _posts/*
mkdir _posts

After that, add your slides into the _posts-subdirectory in clean Markdown syntax and you're ready to go with building your presentation with Jekyll:

jekyll build

You can even manage multiple presentations using the power of git. Simply branch from the master branch to create a new presentation:

git checkout master
git branch presentation2
git checkout presentation2

Slide filenames

Because we're using the Jekyll posts-framework to easily gather the slides for the presentation, we're bound to the conventions of Jekyll posts, namely being

<year>-<month>-<day>-<title>.md

We recommend naming the files like

0000-01-01-welcome.md
0000-01-02-topics.md

and so forth.

Jekyll will assume, that each post has been made on the first of january, 2001 (which is of no interest for a presentation). The additional number is for sorting purposes. After that comes a title to identify the specific slide (which is actually only for the presentation author, Jekyll doesn't care about it).

Configuring the presentation

You can configure almost any reveal.js setting using the _config.yml-settings file in the root directory.

  • title: The title of your presentation (displayed in the browser's title bar)

  • reveal_theme: The reveal.js-theme to use [default.css]

  • reveal_transition: The reveal.js-transition to use [default]

  • reveal_theme_path: The path to the reveal.js-theme (can be changed for custom themes) [reveal.js/css/theme/]

  • reveal_notes_server: Wether to support the speaker notes server [false (only local speaker notes)]

  • reveal_options: Additional reveal.js options

  • reveal_dependencies: Additional reveal.js [dependencies][]

  • reveal_path: Path to the reveal.js-installation reveal.js

You can also further customize the presentation:

  • extra_css: Additional CSS files added after the reveal theme []
  • highlight_style_sheet: CSS theme for highlight.js [reveal.js/lib/css/zenburn.css]

Specifying reveal options and dependencies

reveal_options can be either a list of strings specifying the Javascript options, e.g.:

reveal_options:
    - 'width: "960px"'
    - 'height: "720px"'

or, as a convenience, it can be a mapping of options to their values:

reveal_options:
    width: 960px
    height: 720px

Note that if a mapping is passed, the values will be inserted into the final javascript as quoted strings. If this is unacceptable (for example, if you want to pass a boolean parameter that takes true or false), specify a list of strings.

reveal_dependencies takes a list of strings representing the javascript to specify a dependency as you would in reveal.js, for example:

reveal_dependencies:
    # Speaker notes
    - "{ src: 'path/to/plugin.js', async: true },"

Custom reveal.js-themes

If you want to use your custom reveal.js-theme, we recommend adding a directory "theme", putting the file(s) there and referencing that directory in the configuration "reveal_theme_path".

Don't mess with the reveal.js subdirectory as it is a subrepository and doesn't adhere to your repository's branches.

Markdown extensions and simplification

Reveal.js already includes a markdown interpreter, which we use for jekyll-reveal.js. We have already configured it and included some simplification just for you!

Multiple slides

To use multiple slides in one slide file, use a newline, three dashes and another newline like this:

# Slide 1

This is the content of Slide 1

---

# Slide 2

This is the content of Slide 2

Vertical slides

To use vertical slides, do the same, but use two dashes:

# Slide 1

This is the content of Slide 1

--

And this is a vertical slide below Slide 1

Fragments

Fragments allow slide elements to come one by one. This is often used in lists to subsequently show fragments of a list during a presentation.

Jekyll-reveal.js simplifies the reveal.js syntax. To specify the current element as a fragment, use <fragment/> like this:

# Slide

* This <fragment/>
* will <fragment/>
* come one by one <fragment/>

Slide backgrounds

To modify the background of the current slide, jekyll-reveal.js simplifies the syntax to <background>color</background>:

# Slide

<background>white</background>

This slide has a white background

Speaker notes

jekyll-reveal.js is configured, so that speaker notes are identified after an introductory "Note:"-tag:

# Slide

Some slide content

Note:

This is only displayed in the speaker notes.

jekyll-revealjs's People

Contributors

dploeger avatar i5ar avatar mrmanc avatar pganssle avatar phlow avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.