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

2.5.0 #567

Merged
merged 85 commits into from
Aug 21, 2013
Merged

2.5.0 #567

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
85 commits
Select commit Hold shift + click to select a range
245efee
Support for notes within markdown
Jun 25, 2013
8504364
work around iframe flicker in 3d transitions
hakimel Jul 10, 2013
18b4cb7
typo and whitespace correction
hakimel Jul 10, 2013
0cb6eab
fix initial auto-slide overridev #525
hakimel Jul 14, 2013
fe4315e
readme update for #505
hakimel Jul 14, 2013
bf864c7
ensure all future fragments are invisible #473
hakimel Jul 14, 2013
6a32756
Merge branch 'dev' of github.com:hakimel/reveal.js into dev
hakimel Jul 14, 2013
1733231
add immediate transition style (#528)
hakimel Jul 17, 2013
8f47bd0
document 'none' background transition
hakimel Jul 17, 2013
0148b3f
multiplex readme tweaks #514
hakimel Jul 19, 2013
1bb810e
add optional 'o' key to toggle overview #491
hakimel Jul 19, 2013
5cb9a58
remove delay from url update #530
hakimel Jul 19, 2013
8dcf324
only call slide() after hash changes if indices have changed #529
hakimel Jul 19, 2013
4a68d2d
correction to bug introduced via #529
hakimel Jul 21, 2013
e8d257e
remove 'rolling links' #532
hakimel Jul 21, 2013
9b2f624
Make header margin an overridable setting.
MatthewEppelsheimer Jul 21, 2013
09d7589
Merge branch 'master' of https://github.com/MatthewEppelsheimer/revea…
hakimel Jul 22, 2013
b6e8581
typo
hakimel Jul 22, 2013
ce0facf
added custom charset support for external markdown file
iMilnb Jul 23, 2013
3ca5984
updated markdown example with data-charset
iMilnb Jul 23, 2013
289ea80
Merge branch 'master' of https://github.com/iMilnb/reveal.js into dev
hakimel Jul 25, 2013
4c491e5
highlight charset option for external md in readme #537
hakimel Jul 25, 2013
8bf19ab
restore rolling links.. but default to off #532
hakimel Jul 26, 2013
03385d7
simplify client side notes plugin
hakimel Jul 26, 2013
53f1f11
ensure notes window fragment states are mirrored in main window #538
hakimel Jul 26, 2013
04b9e44
Minor refactoring
gturri Jul 28, 2013
efbcab5
* [bug] fixed render markdown file error like this:
snowyu Jul 30, 2013
fe90f2b
Merge branch 'bug/markdown' of https://github.com/snowyu/reveal.js in…
hakimel Jul 31, 2013
e135f13
merge in leap plugin #554
Aug 8, 2013
fc43e90
merge master into dev
Aug 8, 2013
7b5e537
much improved distance measuring logic, improves performance on mobil…
hakimel Aug 10, 2013
8ad81aa
delay client capability test until initialization phase
hakimel Aug 10, 2013
8e01c03
make view distance configurable #527
hakimel Aug 10, 2013
73b69eb
reduce overview depth on small screens
hakimel Aug 10, 2013
8222795
code formatting
hakimel Aug 10, 2013
b800d14
reduce touch event threshold to make it more sensitive
hakimel Aug 10, 2013
0add83e
renamed handled flag to captured
hakimel Aug 10, 2013
785bee5
add embed option
hakimel Aug 10, 2013
81f7620
rename embed > embedded to signal that it's a state and not an action
hakimel Aug 10, 2013
e18ffa8
Use more explicit name
gturri Aug 11, 2013
644ae56
inlined method used only once
gturri Aug 11, 2013
48f5ba9
Formatting
gturri Aug 11, 2013
ffd3ea4
display more slides in overview
hakimel Aug 11, 2013
93f516d
fix bug that caused slideshow to break if an unexisting named link wa…
hakimel Aug 11, 2013
a96ace5
a few corrections to overview slide positioning
hakimel Aug 11, 2013
cc41aa9
correction to view distance calculation for vertical slides
hakimel Aug 11, 2013
49298e1
disable transitions while presentation loads
hakimel Aug 11, 2013
32818e0
move leap styles to js #554
hakimel Aug 11, 2013
41edd91
merge dom setup refactor #544
hakimel Aug 11, 2013
1748a29
first version of mathjax plugin #531
hakimel Aug 12, 2013
a6af097
additional math examples #531
hakimel Aug 12, 2013
9984cb1
limit scope of mathjax rerender #531
hakimel Aug 12, 2013
69f7c0c
updates to mathjax plugin, incl more examples #531
hakimel Aug 13, 2013
3901904
comments and failesafes for #531
hakimel Aug 13, 2013
3e23b8b
make mathjax host a config option, revamp script loading, fragment ex…
hakimel Aug 13, 2013
e7ee885
remove unused code
hakimel Aug 13, 2013
7121858
add isReady method to check reveal.js loaded state
hakimel Aug 13, 2013
b17e285
mathjax plugin updates #531
hakimel Aug 13, 2013
6c0dc63
add util method for applying css transforms
hakimel Aug 13, 2013
ac3f021
add initial slide dom setup pass
hakimel Aug 15, 2013
ead85fd
refactor js, more natural order of startup methods
hakimel Aug 15, 2013
2bed583
remove pointless .call()
hakimel Aug 16, 2013
fecee26
start work on logic for fitting an element to remaining slide height …
hakimel Aug 16, 2013
0239302
further work on remaining-height helper #244 #490 #561
hakimel Aug 17, 2013
3c5f3ee
fix retrieval of computed styles in ff
hakimel Aug 17, 2013
3dc53b8
prevent invalid slidechanged on page load
hakimel Aug 17, 2013
271bae6
allow hiding of vertical slide stacks
hakimel Aug 18, 2013
c985323
rename math plugin config option
hakimel Aug 18, 2013
300acb5
document math plugin
hakimel Aug 18, 2013
62049d1
math plugin doc update
hakimel Aug 18, 2013
6fba833
readme adjustment
hakimel Aug 18, 2013
6f1dfee
ensure that syntax highlighted code works with remaining-height helper
hakimel Aug 18, 2013
04c4fa4
revised remaining height layout logic
hakimel Aug 18, 2013
0748b68
renamed .remaining-height to .stretch #244 #490 #561
hakimel Aug 18, 2013
74a5fb9
remove commented out dependencies from index
hakimel Aug 18, 2013
1c45b73
+ MathJax CDN links for HTTPS & versions
tomByrer Aug 19, 2013
93c16b8
Merge pull request #564 from tomByrer/patch-1
hakimel Aug 19, 2013
0a02184
make sure stretch works with video
hakimel Aug 20, 2013
2a8f742
add docs about stretch class
hakimel Aug 20, 2013
006e9e2
Merge branch 'dev' of github.com:hakimel/reveal.js into dev
hakimel Aug 20, 2013
d3ac8e2
typo fix
hakimel Aug 20, 2013
f56a10b
disable interaction on future/past slides
hakimel Aug 20, 2013
5cd088c
remove needless metadata from math plugin example
hakimel Aug 20, 2013
631a237
merge support for notes when using external markdown
hakimel Aug 21, 2013
2da7c3e
readme update for notes in external markdown
hakimel Aug 21, 2013
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
136 changes: 102 additions & 34 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,10 +52,10 @@ This is based on [data-markdown](https://gist.github.com/1343518) from [Paul Iri

#### External Markdown

You can write your content as a separate file and have reveal.js load it at runtime. Note the separator arguments which determine how slides are delimited in the external file.
You can write your content as a separate file and have reveal.js load it at runtime. Note the separator arguments which determine how slides are delimited in the external file. The ```data-charset``` attribute is optional and specifies which charset to use when loading the external file.

```html
<section data-markdown="example.md" data-separator="^\n\n\n" data-vertical="^\n\n"></section>
<section data-markdown="example.md" data-separator="^\n\n\n" data-vertical="^\n\n" data-notes="^Note:" data-charset="iso-8859-15"></section>
```

### Configuration
Expand Down Expand Up @@ -100,17 +100,14 @@ Reveal.initialize({
// Enable slide navigation via mouse wheel
mouseWheel: false,

// Apply a 3D roll to links on hover
rollingLinks: true,

// Transition style
transition: 'default', // default/cube/page/concave/zoom/linear/fade/none

// Transition speed
transitionSpeed: 'default', // default/fast/slow

// Transition style for full page backgrounds
backgroundTransition: 'default' // default/linear
backgroundTransition: 'default' // default/linear/none

});
```
Expand Down Expand Up @@ -153,7 +150,10 @@ Reveal.initialize({
{ src: 'plugin/notes/notes.js', async: true, condition: function() { return !!document.body.classList; } },

// Remote control your reveal.js presentation using a touch device
{ src: 'plugin/remotes/remotes.js', async: true, condition: function() { return !!document.body.classList; } }
{ src: 'plugin/remotes/remotes.js', async: true, condition: function() { return !!document.body.classList; } },

// MathJax
{ src: 'plugin/math/math.js', async: true }
]
});
```
Expand Down Expand Up @@ -370,6 +370,8 @@ The display order of fragments can be controlled using the ```data-fragment-inde

When a slide fragment is either shown or hidden reveal.js will dispatch an event.

Some libraries, like MathJax (see #505), get confused by the initially hidden fragment elements. Often times this can be fixed by calling their update or render function from this callback.

```javascript
Reveal.addEventListener( 'fragmentshown', function( event ) {
// event.fragment = the fragment DOM element
Expand Down Expand Up @@ -398,7 +400,7 @@ By default, Reveal is configured with [highlight.js](http://softwaremaniacs.org/

### Overview mode

Press "Esc" key to toggle the overview mode on and off. While you're in this mode, you can still navigate between slides,
Press "Esc" or "o" keys to toggle the overview mode on and off. While you're in this mode, you can still navigate between slides,
as if you were at 1,000 feet above your presentation. The overview mode comes with a few API hooks:

```javascript
Expand All @@ -414,7 +416,7 @@ Just press »F« on your keyboard to show your presentation in fullscreen mode.


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

Expand All @@ -423,6 +425,21 @@ Add `data-autoplay` to your media element if you want it to automatically start
```


### Stretching elements
Sometimes it's desirable to have an element, like an image or video, stretch to consume as much space as possible within a given slide. This can be done by adding the ```.stretch``` class to an element as seen below:

```html
<section>
<h2>This video will use up the remaining space on the slide</h2>
<video class="stretch" src="http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4"></video>
</section>
```

Limitations:
- Only direct descendants of a slide section can be stretched
- Only one descendant per slide section can be stretched


## PDF Export

Presentations can be exported to PDF via a special print stylesheet. This feature requires that you use [Google Chrome](http://google.com/chrome).
Expand Down Expand Up @@ -461,7 +478,7 @@ If you want to add a theme of your own see the instructions here: [/css/theme/RE

reveal.js comes with a speaker notes plugin which can be used to present per-slide notes in a separate browser window. The notes window also gives you a preview of the next upcoming slide so it may be helpful even if you haven't written any notes. Press the 's' key on your keyboard to open the notes window.

By default notes are written using standard HTML, see below, but you can add a ```data-markdown``` attribute to the ```<aside>``` to write them using Markdown.
Notes are defined by appending an ```<aside>``` element to a slide as seen below. You can add the ```data-markdown``` attribute to the aside element if you prefer writing notes using Markdown.

```html
<section>
Expand All @@ -473,6 +490,20 @@ By default notes are written using standard HTML, see below, but you can add a `
</section>
```

If you're using the external Markdown plugin, you can add notes with the help of a special delimiter:

```html
<section data-markdown="example.md" data-separator="^\n\n\n" data-vertical="^\n\n" data-notes="^Note:"></section>

# Title
## Sub-title

Here is some content...

Note:
This will only display in the notes window.
```

## Server Side Speaker Notes

In some cases it can be desirable to run notes on a separate device from the one you're presenting on. The Node.js-based notes plugin lets you do this using the same note definitions as its client side counterpart. Include the required scripts by adding the following dependencies:
Expand Down Expand Up @@ -520,23 +551,24 @@ You can then access your master presentation at ```http://localhost:1947```
Example configuration:
```javascript
Reveal.initialize({
// other options
// other options...

multiplex: {
// Example values. Generate your own.
// Example values. To generate your own, see the socket.io server instructions.
secret: '13652805320794272084', // Obtained from the socket.io server. Gives this (the master) control of the presentation
id: '1ea875674b17ca76', // Obtained from socket.io server
url: 'revealjs.jit.su:80' // Location of socket.io server
},

// Optional libraries used to extend on reveal.js
// Don't forget to add the dependencies
dependencies: [
// other deps
{ src: '//cdnjs.cloudflare.com/ajax/libs/socket.io/0.9.10/socket.io.min.js', async: true },
{ src: 'plugin/multiplex/master.js', async: true },

// and if you want speaker notes
{ src: 'plugin/notes-server/client.js', async: true }

// other dependencies...
]
});
```
Expand All @@ -547,20 +579,21 @@ Served from a publicly accessible static file server. Examples include: GitHub P
Example configuration:
```javascript
Reveal.initialize({
// other options
// other options...

multiplex: {
// Example values. Generate your own.
// Example values. To generate your own, see the socket.io server instructions.
secret: null, // null so the clients do not have control of the master presentation
id: '1ea875674b17ca76', // id, obtained from socket.io server
url: 'revealjs.jit.su:80' // Location of socket.io server
},

// Optional libraries used to extend on reveal.js
// Don't forget to add the dependencies
dependencies: [
// other deps
{ src: '//cdnjs.cloudflare.com/ajax/libs/socket.io/0.9.10/socket.io.min.js', async: true },
{ src: 'plugin/multiplex/client.js', async: true }

// other dependencies...
]
});
```
Expand All @@ -584,20 +617,21 @@ The socket.io server can play the role of static file server for your client pre
Example configuration:
```javascript
Reveal.initialize({
// other options
// other options...

multiplex: {
// Example values. Generate your own.
// Example values. To generate your own, see the socket.io server instructions.
secret: null, // null so the clients do not have control of the master presentation
id: '1ea875674b17ca76', // id, obtained from socket.io server
url: 'example.com:80' // Location of your socket.io server
},

// Optional libraries used to extend on reveal.js
// Don't forget to add the dependencies
dependencies: [
// other deps
{ src: '//cdnjs.cloudflare.com/ajax/libs/socket.io/0.9.10/socket.io.min.js', async: true },
{ src: 'plugin/multiplex/client.js', async: true }

// other dependencies...
]
```

Expand All @@ -606,21 +640,22 @@ It can also play the role of static file server for your master presentation and
Example configuration:
```javascript
Reveal.initialize({
// other options
// other options...

multiplex: {
// Example values. Generate your own.
// Example values. To generate your own, see the socket.io server instructions.
secret: '13652805320794272084', // Obtained from the socket.io server. Gives this (the master) control of the presentation
id: '1ea875674b17ca76', // Obtained from socket.io server
url: 'example.com:80' // Location of your socket.io server
},

// Optional libraries used to extend on reveal.js
// Don't forget to add the dependencies
dependencies: [
// other deps
{ src: '//cdnjs.cloudflare.com/ajax/libs/socket.io/0.9.10/socket.io.min.js', async: true },
{ src: 'plugin/multiplex/master.js', async: true },
{ src: 'plugin/multiplex/client.js', async: true }

// other dependencies...
]
});
```
Expand Down Expand Up @@ -658,17 +693,50 @@ You can edit the following options:
Example configuration:
```js
Reveal.initialize({
// other options

// other options...

leap: {
naturalSwipe : false, // Invert swipe gestures
pointerOpacity : 0.5, // Set pointer opacity to 0.5
pointerColor : '#d80000' // Red pointer
}
},

dependencies: [
{ src: 'plugin/leap/leap.js', async: true }
]

});
```

## MathJax

If you want to display math equations in your presentation you can easily do so by including this plugin. The plugin is a very thin wrapper around the [MathJax](http://www.mathjax.org/) library. To use it you'll need to include it as a reveal.js dependency, [find our more about dependencies here](#dependencies).

The plugin defaults to using [LaTeX](http://en.wikipedia.org/wiki/LaTeX) but that can be adjusted through the ```math``` configuration object. Note that MathJax is loaded from a remote server. If you want to use it offline you'll need to download a copy of the library and adjust the ```mathjax``` configuration value.

Below is an example of how the plugin can be configured. If you don't intend to change these values you do not need to include the ```math``` config object at all.

```js
Reveal.initialize({

// other options ...

math: {
mathjax: 'http://cdn.mathjax.org/mathjax/latest/MathJax.js',
config: 'TeX-AMS_HTML-full' // See http://docs.mathjax.org/en/latest/config-files.html
},

// Optional libraries used to extend on reveal.js
{ src: 'plugin/leap/leap.js', async: true }
dependencies: [
{ src: 'plugin/math/math.js', async: true }
]

});
```

Read MathJax's documentation if you want [secure delivery](http://docs.mathjax.org/en/latest/start.html#secure-access-to-the-cdn) or serve [specific versons](http://docs.mathjax.org/en/latest/configuration.html#loading-mathjax-from-the-cdn) for stabilty.


## Installation

The **basic setup** is for authoring presentations only. The **full setup** gives you access to all reveal.js features as well as the development tasks needed to make changes to the source.
Expand All @@ -692,22 +760,22 @@ Some reveal.js features, like external markdown, require that presentations run

2. Install [Grunt](http://gruntjs.com/getting-started#installing-the-cli)

4. Clone the reveal.js repository
4. Clone the reveal.js repository
```
$ git clone git@github.com:hakimel/reveal.js.git
```

5. Navigate to the reveal.js folder
5. Navigate to the reveal.js folder
```
$ cd reveal.js
```

6. Install dependencies
6. Install dependencies
```
$ npm install
```

7. Serve the presentation and monitor source files for changes
7. Serve the presentation and monitor source files for changes
```
$ grunt serve
```
Expand Down
2 changes: 1 addition & 1 deletion css/print/paper.css
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ body, p, td, li, div, a {
}

/* SECTION 4: Set heading font face, sizes, and color.
Diffrentiate your headings from your body text.
Differentiate your headings from your body text.
Perhaps use a large sans-serif for distinction. */
h1,h2,h3,h4,h5,h6 {
color: #000!important;
Expand Down
2 changes: 1 addition & 1 deletion css/print/pdf.css
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ body, p, td, li, div {
}

/* SECTION 4: Set heading font face, sizes, and color.
Diffrentiate your headings from your body text.
Differentiate your headings from your body text.
Perhaps use a large sans-serif for distinction. */
h1,h2,h3,h4,h5,h6 {
text-shadow: 0 0 0 #000 !important;
Expand Down
Loading