Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge hell demo master #14

Open
wants to merge 88 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
88 commits
Select commit Hold shift + click to select a range
ccbc7ed
resolves #1324 allow display property to be configured
mojavelinux Aug 8, 2015
338a7b0
add 'npm build' script that launch grunt
Bramas Jun 28, 2016
c1d94f1
Merge pull request #12 from hakimel/dev
rajgoel Jul 21, 2016
a652e0a
Allow switching off preview links
rajgoel Jul 21, 2016
b78cca5
Support sass extension for custom themes
opdavies Oct 16, 2016
22de402
Shift `dependencies` to `devDependencies`.
bnjmnt4n Dec 8, 2016
441a26c
Allow background images without protocols to have query hashes/parame…
bnjmnt4n Dec 11, 2016
6831f6c
#1770, resume playback for paused media.
Dec 12, 2016
54bfad6
#1770, fixed function name.
Dec 12, 2016
da40eaf
#1770, added second argument for setAttribute
Dec 12, 2016
962c6c1
#1770, set 'data-paused-by-reveal' attribute only for the media eleme…
Dec 13, 2016
5f76234
support complex markdown
ccqgithub Dec 23, 2016
4afd854
Remove 'history: true' from index.html
pkubowicz Jan 15, 2017
a38207f
wait for in-slide video/audio to load before playing, reuse same auto…
hakimel Jan 16, 2017
f9e5467
prevent autoplaying backgrounds from playing if slide is hidden
hakimel Jan 17, 2017
84090b8
fix race condition by updating backgrounds after slide visibility
hakimel Jan 17, 2017
941b86b
works with video, defaults to (same as for images)
hakimel Jan 18, 2017
98de932
remove unused argument
hakimel Jan 19, 2017
20238ee
make backgrounds (iframes) interactive when the foreground is empty
hakimel Jan 19, 2017
e8164c1
2017
hakimel Jan 20, 2017
cb16f27
Merge pull request #1768 from demoneaux/background-images
hakimel Jan 23, 2017
08e6cc5
Merge pull request #1794 from pkubowicz/index-history
hakimel Jan 23, 2017
a6ecbfa
merge info links in index
hakimel Jan 23, 2017
d4133f0
fix empty pages in pdf exports (closes #1804)
hakimel Jan 24, 2017
934c2e9
additional fix for empty pages in pdf exports #1804
hakimel Jan 24, 2017
84202fa
adjust pdf margins instead of heights to fix #1804
hakimel Jan 25, 2017
cd36c92
Merge branch 'master' of github.com:hakimel/reveal.js into dev
hakimel Jan 25, 2017
c018d04
Merge branch 'master' of github.com:hakimel/reveal.js into dev
hakimel Jan 30, 2017
fa01fa3
typo
hakimel Jan 30, 2017
3617eac
note about showNotes in PDF exports #1800
hakimel Jan 30, 2017
37f3da6
Merge branch 'patch-2' of https://github.com/ccqgithub/reveal.js into…
hakimel Jan 31, 2017
02a6b05
fix markdown typo, update comment #1780
hakimel Jan 31, 2017
eada86c
recommend using textarea wrapper for inline markdown #1780
hakimel Jan 31, 2017
581da02
Merge pull request #1764 from demoneaux/package-json
hakimel Jan 31, 2017
981a8b9
Merge pull request #1728 from opdavies/sass-extension
hakimel Jan 31, 2017
7daa0e0
make background videos work on ipad #1778
hakimel Jan 31, 2017
dc159f2
Merge pull request #1644 from rajgoel/dev
hakimel Jan 31, 2017
c49f76d
Merge branch 'master' of github.com:hakimel/reveal.js into dev
hakimel Jan 31, 2017
f496613
improved fragment notes support #1636
hakimel Jan 31, 2017
2c9e226
warning about cube/page being deprecated #1774
hakimel Feb 1, 2017
cc43ff2
Merge branch 'master' of https://github.com/Bramas/reveal.js into dev
hakimel Feb 1, 2017
8a0dca2
Merge branch 'issue-1324' of https://github.com/mojavelinux/reveal.js…
hakimel Feb 2, 2017
9f99ac8
adjust comment for display config value #1325
hakimel Feb 2, 2017
bede9a2
added toggleHelp function
Frazer Feb 5, 2017
2a1303f
added override parameter to toggleHelp function
Frazer Feb 7, 2017
adc3261
update deserialize regex to work with decimals
hakimel Feb 8, 2017
1749f0d
Merge pull request #1816 from Frazer/patch-1
hakimel Feb 9, 2017
5ad66f3
docs for #1816 and remove showHelp
hakimel Feb 9, 2017
909efab
fix readme conflict
hakimel Feb 14, 2017
313a23b
merge autoplay conflict #1771
hakimel Feb 14, 2017
bef8109
Merge branch 'master' of github.com:hakimel/reveal.js into dev
hakimel Feb 15, 2017
fa70a7a
phantom export throws error if reveal.js isn't present
hakimel Feb 15, 2017
1cee899
fix overview rendering issues in latest chrome #1649
hakimel Feb 17, 2017
da23d68
allow configuration of which view slide number appears on - fixes #1791
malcomio Feb 17, 2017
95bca84
correct config name in README
malcomio Feb 17, 2017
5565d08
note about deploying multiplex server with now #1830
hakimel Feb 20, 2017
8f7e4bf
Merge branch 'slidenum' of https://github.com/malcomio/reveal.js into…
hakimel Feb 20, 2017
b143e59
tweaks to showSlideNumber config #1833
hakimel Feb 20, 2017
7e6fb9e
avoid npe on iframe postMessage
hakimel Mar 14, 2017
9a7c7ce
print-pdf using callback iso timer
riezebosch Mar 14, 2017
34f3773
print-pdf layout slide contents to fit stretch elements
riezebosch Mar 14, 2017
d9dd9a9
Fix video background autoplay on iOS
astone13 Mar 18, 2017
a0a3b4f
add autoPlayMedia config option, overrides individual autoplay settings
hakimel Mar 23, 2017
3ea7e2f
allow fullscreen for background iframes
hakimel Mar 30, 2017
2584a6d
new cli and in-browser pdf printing compatible fix for #1804
hakimel Apr 4, 2017
c3e96f1
make pdf page height offset configurable
hakimel Apr 4, 2017
9495b64
replace cdn.mathjax.org with cdnjs
christianp Apr 5, 2017
1babc8d
Merge pull request #1866 from christianp/mathjax-cdn
hakimel Apr 7, 2017
8ec5e00
Merge pull request #1843 from riezebosch/pdf-print-callback
hakimel Apr 7, 2017
30f2af0
Merge pull request #1844 from riezebosch/pdf-print-stretch
hakimel Apr 7, 2017
d1d44cf
formatting
hakimel Apr 7, 2017
2289b92
Merge pull request #1851 from astone123/master
hakimel Apr 7, 2017
9bbd5f2
formatting
hakimel Apr 7, 2017
eac3799
clarify meaning of getProgress() value
aspiers Apr 16, 2016
d75afd6
expose getPastSlideCount() via public API
aspiers Apr 16, 2016
40912ac
clarify getTotalSlides() returns the number of slides
aspiers Apr 16, 2016
ef9cbbb
add new getSlides() API
aspiers Apr 16, 2016
eb23e58
Allow popup window access to Reveal API
aspiers Apr 16, 2016
a161aca
extract time display code into new _displayTime() function
aspiers Apr 16, 2016
89b0c5a
use opacity for muted clock elements
aspiers Apr 16, 2016
b1b4ee2
don't mute minutes when hours is unmuted
aspiers Apr 16, 2016
1eada3b
avoid deleting existing classes when muting time elements
aspiers Apr 16, 2016
933eba8
round decreasing timers to mirror increasing timers
aspiers Apr 16, 2016
9c7fda4
don't show negative signs inside minutes/seconds elements
aspiers Apr 16, 2016
921a605
document clock and timer in speaker notes window
aspiers Apr 16, 2016
715cf0b
optionally display pacing advice based on slide timings
aspiers Apr 16, 2016
0c3d89b
minor tweak for #1564
hakimel Apr 21, 2017
8e93a1d
3.5.0
hakimel Apr 26, 2017
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 8 additions & 3 deletions Gruntfile.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ module.exports = function(grunt) {
' * http://lab.hakim.se/reveal-js\n' +
' * MIT licensed\n' +
' *\n' +
' * Copyright (C) 2016 Hakim El Hattab, http://hakim.se\n' +
' * Copyright (C) 2017 Hakim El Hattab, http://hakim.se\n' +
' */'
},

Expand Down Expand Up @@ -44,7 +44,7 @@ module.exports = function(grunt) {
{
expand: true,
cwd: 'css/theme/source',
src: ['*.scss'],
src: ['*.sass', '*.scss'],
dest: 'css/theme',
ext: '.css'
}
Expand Down Expand Up @@ -122,7 +122,12 @@ module.exports = function(grunt) {
tasks: 'js'
},
theme: {
files: [ 'css/theme/source/*.scss', 'css/theme/template/*.scss' ],
files: [
'css/theme/source/*.sass',
'css/theme/source/*.scss',
'css/theme/template/*.sass',
'css/theme/template/*.scss'
],
tasks: 'css-themes'
},
css: {
Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Copyright (C) 2016 Hakim El Hattab, http://hakim.se, and reveal.js contributors
Copyright (C) 2017 Hakim El Hattab, http://hakim.se, and reveal.js contributors

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
92 changes: 67 additions & 25 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -105,17 +105,17 @@ The presentation markup hierarchy needs to be `.reveal > .slides > section` wher

### Markdown

It's possible to write your slides using Markdown. To enable Markdown, add the `data-markdown` attribute to your `<section>` elements and wrap the contents in a `<script type="text/template">` like the example below.
It's possible to write your slides using Markdown. To enable Markdown, add the `data-markdown` attribute to your `<section>` elements and wrap the contents in a `<textarea data-template>` like the example below.

This is based on [data-markdown](https://gist.github.com/1343518) from [Paul Irish](https://github.com/paulirish) modified to use [marked](https://github.com/chjj/marked) to support [GitHub Flavored Markdown](https://help.github.com/articles/github-flavored-markdown). Sensitive to indentation (avoid mixing tabs and spaces) and line breaks (avoid consecutive breaks).

```html
<section data-markdown>
<script type="text/template">
<textarea data-template>
## Page title

A paragraph with some text and a [link](http://hakim.se).
</script>
</textarea>
</section>
```

Expand Down Expand Up @@ -187,6 +187,9 @@ Reveal.initialize({
// Display a presentation progress bar
progress: true,

// Set default timing of 2 minutes per slide
defaultTiming: 120,

// Display the page number of the current slide
slideNumber: false,

Expand Down Expand Up @@ -228,6 +231,12 @@ Reveal.initialize({
// Flags if speaker notes should be visible to all viewers
showNotes: false,

// Global override for autolaying embedded media (video/audio/iframe)
// - null: Media will only autoplay if data-autoplay is present
// - true: All media will autoplay, regardless of individual setting
// - false: No media will autoplay, regardless of individual setting
autoPlayMedia: null,

// Number of milliseconds between automatically proceeding to the
// next slide, disabled when set to 0, this value can be overwritten
// by using a data-autoslide attribute on your slides
Expand Down Expand Up @@ -270,7 +279,10 @@ Reveal.initialize({
// - Calculated automatically unless specified
// - Set to 0 to disable movement along an axis
parallaxBackgroundHorizontal: null,
parallaxBackgroundVertical: null
parallaxBackgroundVertical: null,

// The display mode that will be used to show slides
display: 'block'

});
```
Expand Down Expand Up @@ -463,14 +475,15 @@ Reveal.nextFragment();
// Randomize the order of slides
Reveal.shuffle();

// Shows a help overlay with keyboard shortcuts
Reveal.showHelp();

// Toggle presentation states, optionally pass true/false to force on/off
Reveal.toggleOverview();
Reveal.togglePause();
Reveal.toggleAutoSlide();

// Shows a help overlay with keyboard shortcuts, optionally pass true/false
// to force on/off
Reveal.toggleHelp();

// Change a config value at runtime
Reveal.configure({ controls: true });

Expand All @@ -484,9 +497,11 @@ Reveal.getScale();
Reveal.getPreviousSlide();
Reveal.getCurrentSlide();

Reveal.getIndices(); // { h: 0, v: 0 } }
Reveal.getProgress(); // 0-1
Reveal.getTotalSlides();
Reveal.getIndices(); // { h: 0, v: 0 } }
Reveal.getPastSlideCount();
Reveal.getProgress(); // (0 == first slide, 1 == last slide)
Reveal.getSlides(); // Array of all slides
Reveal.getTotalSlides(); // total number of slides

// Returns the speaker notes for the current slide
Reveal.getSlideNotes();
Expand Down Expand Up @@ -578,6 +593,7 @@ Automatically plays a full size video behind the slide.
| data-background-video | | A single video source, or a comma separated list of video sources. |
| data-background-video-loop | false | Flags if the video should play repeatedly. |
| data-background-video-muted | false | Flags if the audio should be muted. |
| data-background-size | cover | Use `cover` for full screen and some cropping or `contain` for letterboxing. |

```html
<section data-background-video="https://s3.amazonaws.com/static.slid.es/site/homepage/v1/homepage-video-editor.mp4,https://s3.amazonaws.com/static.slid.es/site/homepage/v1/homepage-video-editor.webm" data-background-video-loop data-background-video-muted>
Expand Down Expand Up @@ -749,7 +765,7 @@ By default, Reveal is configured with [highlight.js](https://highlightjs.org/) f
```

### Slide number
If you would like to display the page number of the current slide you can do so using the ```slideNumber``` configuration value.
If you would like to display the page number of the current slide you can do so using the ```slideNumber``` and ```showSlideNumber``` configuration values.

```javascript
// Shows the slide number using default formatting
Expand All @@ -762,6 +778,12 @@ Reveal.configure({ slideNumber: true });
// "c/t": flattened slide number / total slides
Reveal.configure({ slideNumber: 'c/t' });

// Control which views the slide number displays on using the "showSlideNumber" value:
// "all": show on all views (default)
// "speaker": only show slide numbers on speaker notes view
// "print": only show slide numbers when printing to PDF
Reveal.configure({ showSlideNumber: 'speaker' });

```


Expand All @@ -778,20 +800,26 @@ Reveal.addEventListener( 'overviewhidden', function( event ) { /* ... */ } );
Reveal.toggleOverview();
```


### Fullscreen mode
Just press »F« on your keyboard to show your presentation in fullscreen mode. Press the »ESC« key to exit fullscreen mode.


### Embedded media
Embedded HTML5 `<video>`/`<audio>` and YouTube iframes are automatically paused when you navigate away from a slide. This can be disabled by decorating your element with a `data-ignore` attribute.

Add `data-autoplay` to your media element if you want it to automatically start playing when the slide is shown:

```html
<video data-autoplay src="http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4"></video>
```

Additionally the framework automatically pushes two [post messages](https://developer.mozilla.org/en-US/docs/Web/API/Window.postMessage) to all iframes, ```slide:start``` when the slide containing the iframe is made visible and ```slide:stop``` when it is hidden.
If you want to enable or disable autoplay globally, for all embedded media, you can use the `autoPlayMedia` configuration option. If you set this to `true` ALL media will autoplay regardless of individual `data-autoplay` attributes. If you initialize with `autoPlayMedia: false` NO media will autoplay.

Note that embedded HTML5 `<video>`/`<audio>` and YouTube/Vimeo iframes are automatically paused when you navigate away from a slide. This can be disabled by decorating your element with a `data-ignore` attribute.


### Embedded iframes

reveal.js automatically pushes two [post messages](https://developer.mozilla.org/en-US/docs/Web/API/Window.postMessage) to embedded iframes. ```slide:start``` when the slide containing the iframe is made visible and ```slide:stop``` when it is hidden.


### Stretching elements
Expand Down Expand Up @@ -865,12 +893,13 @@ To enable the PDF print capability in your presentation, the special print style

### Instructions
1. Open your presentation with `print-pdf` included in the query string i.e. http://localhost:8000/?print-pdf. You can test this with [lab.hakim.se/reveal-js?print-pdf](http://lab.hakim.se/reveal-js?print-pdf).
2. Open the in-browser print dialog (CTRL/CMD+P).
3. Change the **Destination** setting to **Save as PDF**.
4. Change the **Layout** to **Landscape**.
5. Change the **Margins** to **None**.
6. Enable the **Background graphics** option.
7. Click **Save**.
* If you want to include [speaker notes](#speaker-notes) in your export, you can append `showNotes=true` to the query string: http://localhost:8000/?print-pdf&showNotes=true
1. Open the in-browser print dialog (CTRL/CMD+P).
1. Change the **Destination** setting to **Save as PDF**.
1. Change the **Layout** to **Landscape**.
1. Change the **Margins** to **None**.
1. Enable the **Background graphics** option.
1. Click **Save**.

![Chrome Print Settings](https://s3.amazonaws.com/hakim-static/reveal-js/pdf-print-settings-2.png)

Expand Down Expand Up @@ -939,7 +968,18 @@ This will only display in the notes window.

Notes are only visible to the speaker inside of the speaker view. If you wish to share your notes with others you can initialize reveal.js with the `showNotes` config value set to `true`. Notes will appear along the bottom of the presentations.

When `showNotes` is enabled notes are also included when you [export to PDF](https://github.com/hakimel/reveal.js#pdf-export). By default, notes are printed in a semi-transparent box on top of slide. If you'd rather print them on a separate page after the slide, set `showNotes: "separate-page"`.
When `showNotes` is enabled notes are also included when you [export to PDF](https://github.com/hakimel/reveal.js#pdf-export). By default, notes are printed in a semi-transparent box on top of the slide. If you'd rather print them on a separate page after the slide, set `showNotes: "separate-page"`.

#### Speaker notes clock and timers

The speaker notes window will also show:

- Time elapsed since the beginning of the presentation. If you hover the mouse above this section, a timer reset button will appear.
- Current wall-clock time
- (Optionally) a pacing timer which indicates whether the current pace of the presentation is on track for the right timing (shown in green), and if not, whether the presenter should speed up (shown in red) or has the luxury of slowing down (blue).

The pacing timer can be enabled by configuring by the `defaultTiming` parameter in the `Reveal` configuration block, which specifies the number of seconds per slide. 120 can be a reasonable rule of thumb. Timings can also be given per slide `<section>` by setting the `data-timing` attribute. Both values are in numbers of seconds.


## Server Side Speaker Notes

Expand Down Expand Up @@ -1041,11 +1081,13 @@ Server that receives the slideChanged events from the master presentation and br
1. ```npm install```
2. ```node plugin/multiplex```

Or you use the socket.io server at [https://reveal-js-multiplex-ccjbegmaii.now.sh/](https://reveal-js-multiplex-ccjbegmaii.now.sh/).
Or you can use the socket.io server at [https://reveal-js-multiplex-ccjbegmaii.now.sh/](https://reveal-js-multiplex-ccjbegmaii.now.sh/).

You'll need to generate a unique secret and token pair for your master and client presentations. To do so, visit ```http://example.com/token```, where ```http://example.com``` is the location of your socket.io server. Or if you're going to use the socket.io server at [https://reveal-js-multiplex-ccjbegmaii.now.sh/](https://reveal-js-multiplex-ccjbegmaii.now.sh/), visit [https://reveal-js-multiplex-ccjbegmaii.now.sh/token](https://reveal-js-multiplex-ccjbegmaii.now.sh/token).

You are very welcome to point your presentations at the Socket.io server running at [https://reveal-js-multiplex-ccjbegmaii.now.sh/](https://reveal-js-multiplex-ccjbegmaii.now.sh/), but availability and stability are not guaranteed. For anything mission critical I recommend you run your own server. It is simple to deploy to nodejitsu, heroku, your own environment, etc.
You are very welcome to point your presentations at the Socket.io server running at [https://reveal-js-multiplex-ccjbegmaii.now.sh/](https://reveal-js-multiplex-ccjbegmaii.now.sh/), but availability and stability are not guaranteed.

For anything mission critical I recommend you run your own server. The easiest way to do this is by installing [now](https://zeit.co/now). With that installed, deploying your own Multiplex server is as easy running the following command from the reveal.js folder: `now plugin/multiplex`.

##### socket.io server as file static server

Expand Down Expand Up @@ -1111,7 +1153,7 @@ Reveal.initialize({
// other options ...

math: {
mathjax: 'https://cdn.mathjax.org/mathjax/latest/MathJax.js',
mathjax: 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js',
config: 'TeX-AMS_HTML-full' // See http://docs.mathjax.org/en/latest/config-files.html
},

Expand Down Expand Up @@ -1182,4 +1224,4 @@ Some reveal.js features, like external Markdown and speaker notes, require that

MIT licensed

Copyright (C) 2016 Hakim El Hattab, http://hakim.se
Copyright (C) 2017 Hakim El Hattab, http://hakim.se
2 changes: 1 addition & 1 deletion bower.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "reveal.js",
"version": "3.4.1",
"version": "3.5.0",
"main": [
"js/reveal.js",
"css/reveal.css"
Expand Down
7 changes: 4 additions & 3 deletions css/print/pdf.css
Original file line number Diff line number Diff line change
Expand Up @@ -87,14 +87,14 @@ ul, ol, div, p {
position: relative;
overflow: hidden;
z-index: 1;

page-break-after: always;
}

.reveal .slides section {
page-break-after: always !important;

visibility: visible !important;
display: block !important;
position: relative !important;
position: absolute !important;

margin: 0 !important;
padding: 0 !important;
Expand All @@ -115,6 +115,7 @@ ul, ol, div, p {
}

.reveal section.stack {
position: relative !important;
margin: 0 !important;
padding: 0 !important;
page-break-after: avoid !important;
Expand Down
Loading