reveal-timeline v1.2.1
reveal-timeline
A reveal.js plugin for adding a timeline to slides:
Check out the live demo.
The timeline is generated using timeline.js.
Installation
Download and install the package in your project:
npm install --save reveal-timeline
or
yarn add reveal-timeline
or just download dist/reveal-timeline.js into the plugin folder of your reveal.js presentation, e.g..
plugins/reveal-timeline
.Add the plugins to the dependencies in your presentation
<script src="node_modules/reveal-timeline/dist/reveal-timeline.js"></script>
// ... Reveal.initialize({ // ... plugins: [ // ... RevealTimeline, ] });
If you're using reveal-md you can add a script to load the plugin:
options.plugins.push(RevealTimeline)
and then add a reference to this script along with
node_modules/reveal-timeline/dist/timeline.js
to thescripts
object insidereveal-md.json
config file.
For reference, take a look at the demo package in this repo.
Usage
The timeline is generated by parsing section data attributes:
HTML attribute | timeline.js property | optional | possible values |
---|---|---|---|
data-timeline-start-date | start_date | only for title | ISO 8601 date |
data-timeline-end-date | end_date | yes | ISO 8601 date |
data-timeline-headline | text.headline | yes | any text |
data-timeline-group | group | yes | any text |
data-timeline-display-date | display_date | yes | any text |
data-timeline-autolink | autolink | yes | boolean |
id | unique_id | yes | a unique string |
If data-timeline-headline
is not defined, the headline will be a concatenation of all headings in a slide.
In addition, adding the attribute data-timeline-hidden
to a slide will cause the timeline to be removed from this slide.
For more details, see timeline.js documentation.
Configuration
To configure the plugin pass a timeline
object to Reveal.initialize
with any of the following options:
name | purpose | allowed values | default |
---|---|---|---|
position | timeline position | 'top' or 'bottom' | 'bottom' |
height | timeline height | CSS \ or number of pixels | '140px |
separator | separator between headline lines | any text | '<br><br>' |