1
0
mirror of https://github.com/hakimel/reveal.js.git synced 2025-09-14 00:22:06 +02:00

Compare commits

..

227 Commits
3.0.0 ... 3.2.0

Author SHA1 Message Date
Hakim El Hattab
822a9c937c 3.2.0 2015-11-09 17:07:06 +01:00
Hakim El Hattab
d022113eea Merge pull request #1362 from GuGuss/patch-1
Update the theme README.md
2015-11-09 16:54:32 +01:00
Hakim El Hattab
bb7ab5f94e Merge pull request #1381 from lordsutch/master
Fix text being cut off in Chrome when printing.
2015-11-09 16:51:05 +01:00
Hakim El Hattab
a5181e4372 Merge pull request #1391 from rohithpr/notes-key-binding
Fixed #1379 - config keyboard now disables 's' key
2015-11-09 16:47:21 +01:00
Hakim El Hattab
50f9896362 update highlight.js 8.6 -> 8.9.1 #1385 2015-11-09 16:46:08 +01:00
Hakim El Hattab
215617740d server notes sync slide changes both ways, fixes #1425 2015-11-09 16:24:09 +01:00
Hakim El Hattab
4be55f860e update highlight.js url 2015-11-07 14:39:26 +01:00
Hakim El Hattab
21d02eed32 Merge branch 'master' of github.com:hakimel/reveal.js into dev 2015-11-07 14:20:38 +01:00
Hakim El Hattab
e74c3c6b76 Merge pull request #1422 from gre/patch-1
Fixes #1225
2015-11-07 14:19:35 +01:00
Gaëtan Renaudeau
d44bcdb3ff Fixes #1225
always enable highlight.js to fix markdown-only usage
2015-11-07 09:21:07 +01:00
Hakim El Hattab
fcfcf9e784 more slide number tweaking 2015-10-30 09:27:32 +01:00
Hakim El Hattab
edfa131c9c tweak how speaker notes look in pdf exports 2015-10-29 16:44:47 +01:00
Hakim El Hattab
f87f3e60f3 style tweak 2015-10-29 14:40:49 +01:00
Hakim El Hattab
9b5e16055a hide slide number element when disabled 2015-10-29 14:29:51 +01:00
Hakim El Hattab
d66cba6efa remove out of sync comments from pdf css 2015-10-29 13:24:47 +01:00
Hakim El Hattab
42babeb4ef one more slide number format 2015-10-29 12:39:51 +01:00
Hakim El Hattab
0e779edb20 slide numbers work in pdf exports, update slide number style 2015-10-29 11:59:26 +01:00
Hakim El Hattab
0198d74391 change slide number formats 2015-10-29 10:58:06 +01:00
Hakim El Hattab
35462a424c remove mention of deprecated transitions #1390 2015-10-26 16:34:43 +01:00
Hakim El Hattab
596f3d3c5a fix mixed indentation 2015-10-26 14:42:12 +01:00
Hakim El Hattab
2a757794fb Merge pull request #1399 from sloan-848/markdown-packaging
Add more support for external markdown.
2015-10-26 14:40:56 +01:00
Hakim El Hattab
5949e43524 Merge branch 'master' of github.com:hakimel/reveal.js into dev 2015-10-26 14:40:41 +01:00
Hakim El Hattab
15414ce5bb Merge pull request #1400 from adunning/patch-1
Use en dash in title; <meta> is a void element.
2015-10-26 14:34:25 +01:00
Hakim El Hattab
103f01287b Merge pull request #1401 from adunning/patch-2
move up presentation size section
2015-10-26 14:32:49 +01:00
Hakim El Hattab
fc792e704c remove remotes.io plugin, service no longer exists #1411 2015-10-26 09:22:46 +01:00
Hakim El Hattab
1cb52120ff syntax error in postmessage example 2015-10-26 08:47:37 +01:00
Andrew Dunning
2b9d1871c9 Move up Presentation Size section.
This brings together all configuration options.
2015-10-14 18:14:33 -04:00
Andrew Dunning
015870ca8a Use en dash in title; <meta> is a void element. 2015-10-14 17:06:16 -04:00
Will Sloan
3d53766e51 Add more support for external markdown.
The 'grunt watch' command now also watches for changes to external
markdown.
The 'grunt package' command now packages all external markdown files for
rapid deployment in static enviroments.
2015-10-14 00:59:42 -04:00
rohithpr
dd8f95d9a9 Fixed #1379 - config keyboard now disables 's' key 2015-10-09 00:14:02 +05:30
Hakim El Hattab
34b82baa67 run autoprefixer 2015-10-06 20:17:22 +02:00
Hakim El Hattab
5e763bc67d fix black background in fullscreen mode #668 #1386 2015-10-06 20:16:46 +02:00
Hakim El Hattab
6d93ce5748 rebuild css 2015-10-06 19:40:06 +02:00
Chris Lawrence
e0d723be28 Fix slides being cut off in Chrome. 2015-10-02 20:48:13 -04:00
Chris Lawrence
69104e8e04 Merge remote-tracking branch 'upstream/master' 2015-10-02 20:47:19 -04:00
Hakim El Hattab
01c55d4cf6 fix bower dependency #1375 2015-10-02 12:27:51 +02:00
Hakim El Hattab
329bfbe032 Merge branch 'master' of github.com:hakimel/reveal.js into dev 2015-09-29 11:12:10 +02:00
Hakim El Hattab
ddc9e2b5e7 Merge pull request #1357 from davidbanham/master
Update location of multiplex demo server
2015-09-29 10:11:54 +01:00
Hakim El Hattab
9b70e65d32 update travis node.js version 2015-09-29 11:10:40 +02:00
Hakim El Hattab
771843ccde Merge branch 'master' of https://github.com/davidbanham/reveal.js into dev 2015-09-29 11:10:02 +02:00
Hakim El Hattab
8373d5ec68 Merge pull request #1281 from fghaas/dev
Update README to include socket.io 1.3.5 examples
2015-09-29 09:43:34 +01:00
Hakim El Hattab
c1a7e83d75 multiplexing work with socket.io 1.0+ #1281 #1276 2015-09-29 10:38:34 +02:00
Hakim El Hattab
b16bc6fc2e speaker notes work with socket.io 1.0 #1375 2015-09-29 10:07:21 +02:00
Hakim El Hattab
5117048a5b Merge branch 'deps-update' of https://github.com/verdurin/reveal.js into dev 2015-09-29 09:16:47 +02:00
Adam Huffman
ef1402e645 Update dependencies to fix installation 2015-09-28 16:39:09 +01:00
Hakim El Hattab
8a1603f4d9 Merge branch 'dev' of github.com:hakimel/reveal.js into dev 2015-09-25 09:41:14 +02:00
Hakim El Hattab
9bcd1484bc notes defined in data-notes attributes retain preformatted whitespace 2015-09-25 09:41:05 +02:00
Augustin Delaporte
55a69fc68d Update the theme README.md
The `grunt css-themes` command now loops through all Sass files. There is no need to add the newly created file to the task list.
2015-09-20 09:05:28 +02:00
David Banham
076aee5ae6 Update location of multiplex demo server 2015-09-17 15:39:21 +10:00
Hakim El Hattab
a151df54be document data-prevent-swipe #951 2015-09-10 14:37:25 +02:00
Hakim El Hattab
1116d99e87 prevent swipes on speaker notes 2015-09-10 11:26:05 +02:00
Hakim El Hattab
0d37757f3f modifications to #951 2015-09-10 11:25:19 +02:00
Hakim El Hattab
be7545da1a Merge branch 'feature_prevent_swipe' of https://github.com/Calyhre/reveal.js into dev 2015-09-10 11:10:08 +02:00
Hakim El Hattab
bd6a592b8b notes style changes 2015-09-10 11:09:03 +02:00
Hakim El Hattab
ca4098145e bump up z-index of notes in pdf 2015-09-10 10:35:25 +02:00
Hakim El Hattab
1c6990d20f fix pdf print when showNotes is disabled 2015-09-10 09:30:57 +02:00
Hakim El Hattab
5d39e8b8ce reorder css 2015-09-10 09:16:58 +02:00
Hakim El Hattab
b0b2ce1fe3 print notes to pdf when is enabled #304 2015-09-10 08:51:04 +02:00
Hakim El Hattab
0338f280d3 add getSlideNotes API method and tests 2015-09-10 08:28:52 +02:00
Hakim El Hattab
5a40b4486f dont show notes container when printing pdf 2015-09-09 14:31:27 +02:00
Hakim El Hattab
a14a298d30 document showNotes config value #304 2015-09-09 14:28:42 +02:00
Hakim El Hattab
2ad4065500 ability to share presentation with speaker notes #304 2015-09-09 14:09:37 +02:00
Hakim El Hattab
0c971b06e4 Merge pull request #1309 from cben/patch-1
README example: load MathJax over https
2015-09-02 12:00:17 +01:00
Hakim El Hattab
5e3bbdeecf formatting 2015-09-02 12:58:08 +02:00
Hakim El Hattab
75d38379b7 Merge pull request #1310 from teawithfruit/patch-1
solves early access error with video element
2015-09-02 11:57:37 +01:00
Hakim El Hattab
de6def8cdc Merge branch 'master' of https://github.com/gruber76/reveal.js into dev 2015-09-02 12:53:53 +02:00
Hakim El Hattab
983bd51838 fix initial visibility of strike fragments #737 2015-09-02 12:46:32 +02:00
Hakim El Hattab
044e87017d fix issue where 'none' transition did not apply to vertical stacks 2015-08-31 10:55:02 +02:00
Hakim El Hattab
b3b8738238 avoid duplicate var 2015-08-14 23:34:19 +02:00
Hakim El Hattab
b9d9632531 simplify 2015-08-14 23:25:30 +02:00
Hakim El Hattab
1bf236a079 fix object.keys call on non-object 2015-08-14 23:16:59 +02:00
gruber76
0c2898d29f Update reveal.js
Removed toLowerCase call
2015-08-03 15:03:10 -06:00
Hakim El Hattab
de3e1daab4 only use zoom to scale presentations up, fixes shifts in text layout 2015-08-03 12:24:38 +02:00
teawithfruit
b7470fa323 solves early access error with video element
This will maybe solve the "InvalidStateError: An attempt was made to use an object that is not, or is no longer, usable" error in firefox.
2015-07-21 15:59:19 +02:00
Beni Cherniavsky-Paskin
b098b56c50 README example: load MathJax over https
tiny followup to #1103
2015-07-21 12:33:17 +03:00
Hakim El Hattab
25da01ce41 Merge pull request #1132 from kendaleiv/plain-images
Add plain class for plain images
2015-07-07 12:18:33 +02:00
Hakim El Hattab
d44125d789 tweaks for #1200 2015-07-07 12:15:43 +02:00
Hakim El Hattab
399d4f652d Merge branch 'master' of https://github.com/bfritscher/reveal.js into dev 2015-07-07 12:06:22 +02:00
Hakim El Hattab
852fea4133 Merge pull request #1205 from gothma/mathjax-md
Allow tex parsing in <code> tags
2015-07-07 11:50:08 +02:00
Hakim El Hattab
c96a5d6ae3 fix theme control arrow selectors #1257 2015-07-07 11:37:36 +02:00
Hakim El Hattab
d3b2ed9462 Merge branch 'controls-buttons-a11y' of https://github.com/marcysutton/reveal.js into dev 2015-07-07 11:33:56 +02:00
Hakim El Hattab
d88f59cbaf Merge branch 'master' of github.com:hakimel/reveal.js into dev 2015-07-02 16:00:56 +02:00
Hakim El Hattab
b390e66c27 add bower json #1067 2015-07-02 15:51:01 +02:00
Hakim El Hattab
96bef35535 Merge pull request #1287 from obilodeau/patch-1
README: suggest decktape as an alternative for PDF rendering
2015-07-02 15:21:02 +02:00
Hakim El Hattab
523f78eda7 remove harcoded syntax highlight colors #1290 2015-07-02 14:58:47 +02:00
Hakim El Hattab
2de01e3219 update highlight.js theme 2015-06-30 09:27:11 +02:00
Olivier Bilodeau
98bdeae7cb README: suggest decktape as an alternative for PDF rendering
It works around the current PDF rendering bugs like #1261
2015-06-28 20:40:24 -04:00
Hakim El Hattab
adf1a24f0a Merge branch 'master' of github.com:hakimel/reveal.js into dev 2015-06-25 10:02:21 +02:00
Hakim El Hattab
6ec6ac2cb4 Merge pull request #1250 from kfuglsang/highlightjs-86
Updated to Highlightjs 8.6 with all languages supported.
2015-06-25 09:57:03 +02:00
Hakim El Hattab
7225d84248 Merge pull request #1260 from pierreozoux/master
Allows to specify PORT from env on multiplex plugin
2015-06-25 09:53:51 +02:00
Hakim El Hattab
5020014bc2 Merge pull request #1270 from jasonkarns/patch-1
enabling launching presentation with npm-start
2015-06-25 09:51:13 +02:00
Hakim El Hattab
95296b9ea4 Merge pull request #1274 from jasonkarns/patch-3
broken <table> html in demo deck
2015-06-25 09:50:36 +02:00
Hakim El Hattab
e1a3cf4476 Merge pull request #1271 from jasonkarns/patch-2
`licenses` field is deprecated
2015-06-25 09:49:45 +02:00
Florian Haas
3aec26cdc9 Update README to include socket.io 1.3.5 examples
The socket.io server at reveal.jit.su has been updated with socket.io
1.x, which means the examples referring to 0.9.x client libraries
no longer work. Update them with URLs for 1.3.5.

Fixes #1276.
2015-06-24 14:09:36 +02:00
Jason Karns
be91cc6118 broken <table> html in demo deck 2015-06-20 10:04:39 -04:00
Jason Karns
071a523f42 licenses field is deprecated
the `licenses` field in package.json is deprecated. https://docs.npmjs.com/files/package.json#license

The `license` field is the recommended field and expects an SPDX expression.
2015-06-16 10:43:20 -04:00
Jason Karns
018ca77406 enabling launching presentation with npm-start 2015-06-16 10:39:58 -04:00
Hakim El Hattab
9ef5915974 Merge pull request #1268 from gneatgeek/migrate-leap-plugin
Removed leap motion plugin from main project
2015-06-16 08:29:21 +02:00
RC028552
50e1463a57 Removed leap motion plugin from main project 2015-06-15 19:42:24 -05:00
pierreozoux
5dd2dd9f0b Allows to specify PORT from env on multiplex plugin 2015-06-10 18:23:20 +01:00
marcysutton
242f2d6c96 accessibility: controls as buttons, not divs 2015-06-05 14:02:46 -04:00
Hakim El Hattab
562d3b0238 Merge branch 'davidbanham-master' into dev 2015-06-03 12:00:35 +02:00
Hakim El Hattab
db359519ae merge #959 with minor tweaks 2015-06-03 11:59:00 +02:00
Hakim El Hattab
f0cf1f54d0 add base option for grunt serve task #1102 2015-06-03 11:42:38 +02:00
Hakim El Hattab
434cd3b8ae Merge pull request #1202 from alexandreleroux/patch-1
PDF exporting also works with Chromium
2015-06-03 11:30:29 +02:00
Hakim El Hattab
c99f138fbb Merge pull request #1234 from lememora/master
Added missing comma on the configuration example
2015-06-03 11:29:59 +02:00
Hakim El Hattab
1ca92a4f29 Merge pull request #1201 from MA3STR0/master
Correct Readme.md -> Theming -> sky
2015-06-03 11:29:42 +02:00
Hakim El Hattab
0055b7b763 Merge pull request #1207 from danielePala/patch-1
Update index.html
2015-06-03 11:29:11 +02:00
Kenneth Fuglsang
0563835fc0 Updated to Highlightjs 8.6 with all languages supported. 2015-06-02 22:18:36 +02:00
Rafael Moraes
7c7776a942 added missing comma on the configuration example 2015-05-19 14:56:24 -04:00
Hakim El Hattab
eff2265bbd 3.1.0 2015-05-18 08:36:47 +02:00
Hakim El Hattab
5f90a449cf consider lazy loaded iframes when formatting src 2015-05-08 08:55:33 +02:00
Hakim El Hattab
e16a220a62 fix iframe unload in firefox 2015-05-07 16:36:57 +02:00
Hakim El Hattab
af270a909c iframe postmesssage api works with lazy loaded iframes 2015-05-07 10:09:50 +02:00
Hakim El Hattab
bf6a426cf2 sync starts playing new embedded content 2015-05-06 17:30:08 +02:00
Hakim El Hattab
d14727b407 type check to ensure we don't call media api before media has loaded 2015-05-06 11:28:21 +02:00
Hakim El Hattab
207b0c71ed fix lazy load selector error 2015-05-06 11:25:58 +02:00
Hakim El Hattab
e67dc9251a tweak to iframe lazy load test 2015-05-06 11:02:41 +02:00
Hakim El Hattab
3cd871eac0 typo 2015-05-04 21:08:41 -04:00
Hakim El Hattab
7dd33f188f lazy-load iframes only for current slide, unload when hidden 2015-05-04 20:58:58 -04:00
Hakim El Hattab
152271efb2 lazy loading fallback also considers iframes 2015-05-04 20:22:32 -04:00
Hakim El Hattab
80e52c08e9 add test presentation for per-slide transitions, compile css #1106 2015-05-03 19:53:37 -04:00
Hakim El Hattab
0f7b0dc22c Merge branch 'master' of https://github.com/jammon/reveal.js into dev 2015-05-03 19:16:27 -04:00
Daniele Pala
76230e7485 Update index.html
Added https prefix to slideshare iframe link, without this I got a 'not found' error when opening the demo locally.
2015-04-20 22:21:38 +02:00
Martin Goth
0cb4d10504 Allow tex parsing in <code> tags
Just using $ as delimiter in markdown document fails since the markdown
parser unknown to the dollar syntax will try to interpret underscores.
Putting the $ delimented formula in backticks will cause the markdown
parser to put the tex-code with the $ delimiters into a code block.
The texcode will then be unchanged. This patch allows for mathJax to
interpret and automagically display the tex-formulas.
2015-04-16 13:24:23 +02:00
Alexandre Leroux
d659575ff3 PDF exporting also works with Chromium
For those who can't install Google Chrome (e.g. work network policies) but can use Chromium, Chromium does work for creating the pdf. I updated the readme accordingly. Thanks!
2015-04-14 17:54:45 +00:00
Hakim El Hattab
bae8d968a2 change iframe example 2015-04-13 21:38:03 +02:00
Anton
33923b3004 Correct Readme.md#theming
Theming/sky.css has dark gray text on light blue background; not white text
2015-04-13 17:54:38 +02:00
Hakim El Hattab
334cd3e52b Merge branch 'master' of github.com:hakimel/reveal.js into dev 2015-04-12 19:19:52 +02:00
Hakim El Hattab
07197b1eae Merge pull request #1162 from bobylito/master
Make npm dependency usable by Browserify through npm
2015-04-12 19:19:12 +02:00
Hakim El Hattab
7f55e07f85 fix markdown test 2015-04-12 18:22:39 +02:00
Hakim El Hattab
4e3b91ae03 remove 'roll-in' fragment style due to Chrome crash #1150 2015-04-12 18:12:48 +02:00
Hakim El Hattab
ce798c4bac update cssmin to 0.12.2 #1179 2015-04-12 17:20:14 +02:00
Hakim El Hattab
404dd4e477 Merge branch 'master' of github.com:hakimel/reveal.js into dev 2015-04-12 17:18:52 +02:00
Hakim El Hattab
69bc0be226 Merge pull request #1180 from kayakr/patch-1
typo
2015-04-12 17:11:12 +02:00
Hakim El Hattab
a0cc104a0c Merge branch 'query-params' of https://github.com/FND/reveal.js into dev 2015-04-12 17:07:59 +02:00
Hakim El Hattab
f24cbf8ad2 Merge pull request #1193 from danielquinn/Firefox-friendly
Added support for standard transforms
2015-04-12 17:05:06 +02:00
Boris Fritscher
9645a763c3 handle the </script> end bug inside code markdown
by changing the tag before html is parsed and restoring it before markdown parsing
2015-04-12 15:15:57 +02:00
Daniel Quinn
ee1ecef0e4 Added support for standard transforms
-webkit- stuff only works on webkit browsers.  I'm pretty sure that using the standard `transform:` here works in most modern browsers.
2015-04-03 12:26:40 +02:00
FND
4052389c58 support query parameters within notes plugin 2015-04-02 07:06:03 +02:00
kayakr
3ec15e35b2 Fix typo /s/configure/configured 2015-03-26 16:56:45 +13:00
Hakim El Hattab
ecc6222e7e fix for #1150? 2015-03-25 19:18:16 +01:00
Hakim El Hattab
bbfdb3b66e reset fragment transforms using 'none' 2015-03-25 19:17:15 +01:00
Hakim El Hattab
e19931abab fix #1170 2015-03-25 15:48:14 +01:00
Hakim El Hattab
70ab0ae80b remove variable definitions #1158 2015-03-25 14:51:54 +01:00
Hakim El Hattab
2999b628cf Merge branch 'dev' of https://github.com/bchretien/reveal.js into dev 2015-03-25 14:39:24 +01:00
Hakim El Hattab
0428365041 Merge branch 'patch-1' of https://github.com/drzax/reveal.js into dev 2015-03-25 14:16:12 +01:00
Hakim El Hattab
e38b1d38f8 Merge pull request #1166 from callahad/update-marked
update marked to 0.3.3
2015-03-25 14:02:22 +01:00
Hakim El Hattab
868d3b1a9f Merge branch 'patch-1' of https://github.com/borrown/reveal.js into dev 2015-03-25 14:00:26 +01:00
Hakim El Hattab
60457d21b4 alt+zoom only works on slide content #1151 2015-03-25 13:57:00 +01:00
Alexander
41cf154a60 Update reveal.js 2015-03-19 11:49:19 +08:00
Simon Elvery
7a03e238f0 Attribute values should be quoted 2015-03-16 20:44:23 +10:00
Dan Callahan
dfb39b4c96 Bumped Marked to v0.3.3
Compressed with `uglifyjs lib/marked.js --comments="/Copyright/" --mangle --compress`

Used Marked v0.3.3 as of chjj/marked@2b5802f258
2015-03-16 03:13:50 -05:00
Hakim El Hattab
7baa8ec1fe updated md slide separator regex #929
see https://github.com/hakimel/reveal.js/issues/929#issuecomment-80738837
2015-03-16 08:54:58 +01:00
Alexandre Stanislawski
e02f0488bb Make npm dependency usable by Browserify through NPM
Right now the package is not recognized as usable library by Browserify.
Adding the main attribute in the package.json solves that, and now gives
others the possibility to use reveal as a library in more complex
systems.
2015-03-14 20:05:05 +01:00
Hakim El Hattab
381adb0d1d Merge branch 'master' of github.com:hakimel/reveal.js into dev 2015-03-13 10:06:06 +01:00
Hakim El Hattab
8858ee75a5 note about plugins 2015-03-13 10:05:41 +01:00
Hakim El Hattab
bcec81efbb Merge branch 'master' of github.com:hakimel/reveal.js into dev 2015-03-13 08:21:07 +01:00
Hakim El Hattab
23ec0d083b link to plugins 2015-03-13 08:19:15 +01:00
Benjamin Chrétien
25c46ccc37 Fix slide numbering for custom slide number formatting.
Numbering was off when dealing with fragments.
2015-03-08 18:15:16 +01:00
Hakim El Hattab
4677741568 remove selection color from core css 2015-03-05 10:49:27 +01:00
Hakim El Hattab
c200fbedd1 add blood theme to demo slides #928 2015-03-02 12:28:47 +01:00
Hakim El Hattab
ecc8c78584 tweaks to blood theme 2015-03-02 12:27:15 +01:00
Hakim El Hattab
364a3f9845 code format 2015-03-02 12:11:05 +01:00
Hakim El Hattab
fc568b5524 Merge branch 'patch-1' of https://github.com/jhofker/reveal.js into dev 2015-03-02 12:10:26 +01:00
Hakim El Hattab
b4574791e0 fix mixed spaces/tabs 2015-03-02 12:08:21 +01:00
Christian Fehmer
3ead7d4eb5 Markdown table column alignment #1050
The alignment information were already in the generated html.
The css was the only thing missing, so I added it.
2015-02-28 19:15:14 +01:00
Hakim El Hattab
04e38c8c07 Merge pull request #1113 from brndnb/patch-1
grammar
2015-02-25 15:53:39 +01:00
Hakim El Hattab
53b9dbc654 code format 2015-02-25 15:52:10 +01:00
Hakim El Hattab
a245a87e38 Merge pull request #1138 from denehyg/background-video-loop
background video loop
2015-02-25 15:48:48 +01:00
Hakim El Hattab
22a5ec5e3b merge conflict 2015-02-25 15:42:47 +01:00
Hakim El Hattab
bf8a6271d4 fix mixed indentation 2015-02-25 15:35:30 +01:00
Hakim El Hattab
f772c7eb50 fix progress bar clicks in rtl mode #1131 2015-02-25 13:31:41 +01:00
Hakim El Hattab
ea735f0a2f ensure postmessage data is a string #1143 2015-02-25 13:26:53 +01:00
Hakim El Hattab
4c0a033dfa merge options for parallax step size #733 2015-02-25 12:10:00 +01:00
Jordan Hofker
76c5726c04 Check before calling blur on activeElement.
It's possible for slides to be in a situation where the last clicked thing was an SVG before the tab/window loses focus. When returning, `.blur()` is called on the previously-active element, but can result in an exception.

This protects against that and will only call `.blur()` when `document.activeElement` supports it.
2015-02-19 16:09:08 -06:00
Greg Denehy
00fa1c818d Added option to loop background videos 2015-02-19 17:04:41 +10:30
Ken Dale
67140f2369 Add plain class for plain images 2015-02-13 19:43:47 -05:00
Hakim El Hattab
2ed1d6fb5d fix looped view distance calculation 2015-02-09 09:35:12 +01:00
Hakim El Hattab
a4852c7cb2 prevent iframes from offsetting presentation 2015-02-03 11:56:54 +01:00
Hakim El Hattab
1c8a6e47a6 only preload last slides if presentation is looped 2015-02-02 09:14:09 +01:00
Hakim El Hattab
49f462e6ce gifs now restart when their slide container is shown 2015-01-30 10:52:28 +01:00
Hakim El Hattab
621e8d7176 only transition slides container in overview mode 2015-01-29 17:08:28 +01:00
Hakim El Hattab
03400478bd Merge pull request #1119 from hakimel/feature/new-overview
Refactored overview mode
2015-01-29 14:53:06 +01:00
Hakim El Hattab
8e66876c4e fix error when exiting overview 2015-01-29 12:21:05 +01:00
Hakim El Hattab
c8d7451142 comments 2015-01-29 12:03:02 +01:00
Hakim El Hattab
18e29a898a cleaner approach to applying transforms to slides container 2015-01-29 11:59:47 +01:00
Hakim El Hattab
3b45b618b8 dynamic file mapping to avoid themes hardcoded in gruntfile 2015-01-28 08:52:15 +01:00
Hakim El Hattab
df38524874 theme readme update 2015-01-28 08:45:38 +01:00
Hakim El Hattab
64e72781b4 ensure overview indices are up to date if a slide moves 2015-01-28 08:33:50 +01:00
Hakim El Hattab
c8569e2d9f cross browser adjustments for overview mode 2015-01-27 19:27:55 +01:00
Hakim El Hattab
e29c706533 further overview refactoring 2015-01-27 09:21:49 +01:00
Hakim El Hattab
11293d7c94 refactoring and optimization of overview mode 2015-01-26 20:38:21 +01:00
Hakim El Hattab
ce8ea84393 Merge pull request #1115 from raboof/patch-1
themes grunt task was renamed
2015-01-26 19:22:44 +01:00
Arnout Engelen
e296b39657 Grunt target was renamed 2015-01-26 18:56:03 +01:00
Branden Byers
2dccc25031 Fix small typo 2015-01-22 08:05:20 -06:00
Hakim El Hattab
44548ba357 add global flag back in for whitespace removal, without it most of the content in example.html does not work #682 2015-01-22 08:46:14 +01:00
Hakim El Hattab
f032df8f13 default to https mathjax #1103 2015-01-20 09:11:09 +01:00
Hakim El Hattab
9e14b261ea fix for #1088 when presentation is not scaled 2015-01-19 08:41:26 +01:00
Johannes Ammon
420b6912d7 Adding one-sided transitions
Now the transition isn’t any more „per slide“ but „per movement of a
slide“. So the slide can disappear in another way than it appeared.
2015-01-18 18:12:36 +01:00
Johannes Ammon
95bba5179f Mixins for readability of transitions added
To honor the DRY principle repeating patterns have been factored out.
In addition there was an anchor missing in README.md.
2015-01-18 10:55:05 +01:00
Hakim El Hattab
e0aba9f5ae apply z position to slide container, rather than individual slides 2015-01-17 10:33:18 +01:00
Hakim El Hattab
66d7b6bfae firefox support for #1088 2015-01-16 16:46:34 +01:00
Hakim El Hattab
99d92362c8 no longer set o-transforms 2015-01-16 16:15:28 +01:00
Hakim El Hattab
b71705c76f background images now work in overview mode #1088 2015-01-16 16:12:54 +01:00
Hakim El Hattab
5fb81b1b3c support for custom slide number formatting #965 2015-01-16 13:48:13 +01:00
Hakim El Hattab
817bb3bf43 use getElementByID when looking up linked slides #1086 2015-01-15 11:25:20 +01:00
Hakim El Hattab
9a89e39367 only read textContent for aria callout #1100 2015-01-14 17:01:28 +01:00
Hakim El Hattab
5359da0b06 documentation for getState/setState 2015-01-12 17:50:12 +01:00
Hakim El Hattab
04b71f577c documentation for postMessage API 2015-01-12 12:33:39 +01:00
Chris Lawrence
54082a8d76 Merge remote-tracking branch 'upstream/master' 2014-11-30 21:26:17 -05:00
David Banham
a078c87f10 Listen to custom mapped togglePause keys
This resolves issue #941
2014-06-25 23:22:13 +10:00
Chris Lawrence
09de278be0 Merge remote-tracking branch 'upstream/master' 2014-06-22 22:35:53 -04:00
Calyhre
ed8d90bc58 Fix tests 2014-06-18 14:23:42 +02:00
Calyhre
4e70cf8126 Add ability to prevent swipe for specific elements 2014-06-18 14:18:41 +02:00
Chris Lawrence
ac76644456 Merge remote-tracking branch 'upstream/master' 2014-04-13 14:05:51 -04:00
Chris Lawrence
d1d6cca272 Merge branch 'master' of github.com:lordsutch/reveal.js 2014-01-07 22:30:43 -05:00
Luke Karrys
0605ab13df add parallax horizontal and vertical properties to enable non-calculated parallax offsets 2013-11-29 11:17:18 -07:00
Chris Lawrence
97d4eb1056 Merge remote-tracking branch 'upstream/master' 2013-10-30 22:32:43 -04:00
Chris Lawrence
55f220109c Merge remote-tracking branch 'upstream/master' 2013-09-15 20:19:47 -04:00
Chris Lawrence
d8fb09fb64 Merge remote-tracking branch 'upstream/master' 2013-08-26 02:25:38 -04:00
Chris Lawrence
f84e025d38 Merge remote-tracking branch 'upstream/master' 2013-08-19 01:04:34 -04:00
Chris Lawrence
4874b13f91 Merge remote-tracking branch 'upstream/master' 2013-07-22 05:39:20 -04:00
Chris Lawrence
ad086b897e Merge remote-tracking branch 'upstream/master' 2013-06-26 21:21:19 -04:00
Chris Lawrence
173b4e7f25 Merge remote-tracking branch 'upstream/master' 2013-06-22 01:47:40 -04:00
Chris Lawrence
7b119763f8 Merge remote-tracking branch 'upstream/master' 2013-06-21 17:57:09 -04:00
Chris Lawrence
636a666197 Merge remote-tracking branch 'upstream/master' 2013-06-17 22:55:52 -04:00
48 changed files with 2389 additions and 1449 deletions

View File

@@ -1,5 +1,5 @@
language: node_js
node_js:
- 0.10
- 4.1.1
before_script:
- npm install -g grunt-cli

View File

@@ -17,3 +17,7 @@ When reporting a bug make sure to include information about which browser and op
- Single-quoted strings
- Should be made towards the **dev branch**
- Should be submitted from a feature/topic branch (not your master)
### Plugins
Please do not submit plugins as pull requests. They should be maintained in their own separate repository. More information here: https://github.com/hakimel/reveal.js/wiki/Plugin-Guidelines

View File

@@ -1,6 +1,8 @@
/* global module:false */
module.exports = function(grunt) {
var port = grunt.option('port') || 8000;
var base = grunt.option('base') || '.';
// Project configuration
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
@@ -36,19 +38,15 @@ module.exports = function(grunt) {
}
},
themes: {
files: {
'css/theme/black.css': 'css/theme/source/black.scss',
'css/theme/white.css': 'css/theme/source/white.scss',
'css/theme/league.css': 'css/theme/source/league.scss',
'css/theme/beige.css': 'css/theme/source/beige.scss',
'css/theme/night.css': 'css/theme/source/night.scss',
'css/theme/serif.css': 'css/theme/source/serif.scss',
'css/theme/simple.css': 'css/theme/source/simple.scss',
'css/theme/sky.css': 'css/theme/source/sky.scss',
'css/theme/moon.css': 'css/theme/source/moon.scss',
'css/theme/solarized.css': 'css/theme/source/solarized.scss',
'css/theme/blood.css': 'css/theme/source/blood.scss'
}
files: [
{
expand: true,
cwd: 'css/theme/source',
src: ['*.scss'],
dest: 'css/theme',
ext: '.css'
}
]
}
},
@@ -95,9 +93,9 @@ module.exports = function(grunt) {
server: {
options: {
port: port,
base: '.',
livereload: true,
open: true
base: base,
livereload: true,
open: true
}
}
},
@@ -109,14 +107,15 @@ module.exports = function(grunt) {
'js/**',
'lib/**',
'images/**',
'plugin/**'
'plugin/**',
'**.md'
]
},
watch: {
options: {
livereload: true
},
options: {
livereload: true
},
js: {
files: [ 'Gruntfile.js', 'js/reveal.js' ],
tasks: 'js'
@@ -129,9 +128,12 @@ module.exports = function(grunt) {
files: [ 'css/reveal.scss' ],
tasks: 'css-core'
},
html: {
files: [ 'index.html']
}
html: {
files: [ 'index.html']
},
markdown: {
files: [ './*.md' ]
}
}
});

288
README.md
View File

@@ -10,6 +10,7 @@ reveal.js comes with a broad range of features including [nested slides](https:/
- [Changelog](https://github.com/hakimel/reveal.js/releases): Up-to-date version history.
- [Examples](https://github.com/hakimel/reveal.js/wiki/Example-Presentations): Presentations created with reveal.js, add your own!
- [Browser Support](https://github.com/hakimel/reveal.js/wiki/Browser-Support): Explanation of browser support and fallbacks.
- [Plugins](https://github.com/hakimel/reveal.js/wiki/Plugins,-Tools-and-Hardware): A list of plugins that can be used to extend reveal.js.
## Online Editor
@@ -140,6 +141,9 @@ Reveal.initialize({
// key is pressed
help: true,
// Flags if speaker notes should be visible to all viewers
showNotes: false,
// 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
@@ -173,8 +177,12 @@ Reveal.initialize({
parallaxBackgroundImage: '', // e.g. "'https://s3.amazonaws.com/hakim-static/reveal-js/reveal-parallax-1.jpg'"
// Parallax background size
parallaxBackgroundSize: '' // CSS syntax, e.g. "2100px 900px"
parallaxBackgroundSize: '', // CSS syntax, e.g. "2100px 900px"
// Amount to move parallax background (horizontal and vertical) on slide change
// Number, e.g. 100
parallaxBackgroundHorizontal: '',
parallaxBackgroundVertical: ''
});
```
@@ -191,6 +199,34 @@ Reveal.configure({ autoSlide: 5000 });
```
### Presentation Size
All presentations have a normal size, that is the resolution at which they are authored. The framework will automatically scale presentations uniformly based on this size to ensure that everything fits on any given display or viewport.
See below for a list of configuration options related to sizing, including default values:
```javascript
Reveal.initialize({
...
// The "normal" size of the presentation, aspect ratio will be preserved
// when the presentation is scaled to fit different resolutions. Can be
// specified using percentage units.
width: 960,
height: 700,
// Factor of the display size that should remain empty around the content
margin: 0.1,
// Bounds for smallest/largest possible scale to apply to content
minScale: 0.2,
maxScale: 1.5
});
```
### Dependencies
Reveal.js doesn't _rely_ on any third party scripts to work but a few optional libraries are included by default. These libraries are loaded as dependencies in the order they appear, for example:
@@ -214,9 +250,6 @@ Reveal.initialize({
// Speaker notes
{ src: 'plugin/notes/notes.js', async: true },
// Remote control your reveal.js presentation using a touch device
{ src: 'plugin/remotes/remotes.js', async: true },
// MathJax
{ src: 'plugin/math/math.js', async: true }
]
@@ -230,37 +263,20 @@ You can add your own extensions using the same syntax. The following properties
- **condition**: [optional] Function which must return true for the script to be loaded
### Presentation Size
### Ready Event
All presentations have a normal size, that is the resolution at which they are authored. The framework will automatically scale presentations uniformly based on this size to ensure that everything fits on any given display or viewport.
See below for a list of configuration options related to sizing, including default values:
A 'ready' event is fired when reveal.js has loaded all non-async dependencies and is ready to start navigating. To check if reveal.js is already 'ready' you can call `Reveal.isReady()`.
```javascript
Reveal.initialize({
...
// The "normal" size of the presentation, aspect ratio will be preserved
// when the presentation is scaled to fit different resolutions. Can be
// specified using percentage units.
width: 960,
height: 700,
// Factor of the display size that should remain empty around the content
margin: 0.1,
// Bounds for smallest/largest possible scale to apply to content
minScale: 0.2,
maxScale: 1.0
});
Reveal.addEventListener( 'ready', function( event ) {
// event.currentSlide, event.indexh, event.indexv
} );
```
### Auto-sliding
Presentations can be configure to progress through slides automatically, without any user input. To enable this you will need to tell the framework how many milliseconds it should wait between slides:
Presentations can be configured to progress through slides automatically, without any user input. To enable this you will need to tell the framework how many milliseconds it should wait between slides:
```javascript
// Slide every five seconds
@@ -297,16 +313,23 @@ Reveal.configure({
});
```
### Touch Navigation
You can swipe to navigate through a presentation on any touch-enabled device. Horizontal swipes change between horizontal slides, vertical swipes change between vertical slides. If you wish to disable this you can set the `touch` config option to false when initializing reveal.js.
If there's some part of your content that needs to remain accessible to touch events you'll need to highlight this by adding a `data-prevent-swipe` attribute to the element. One common example where this is useful is elements that need to be scrolled.
### Lazy Loading
When working on presentation with a lot of media or iframe content it's important to load lazily. Lazy loading means that reveal.js will only load content for the few slides nearest to the current slide. The number of slides that are preloaded is determined by the `viewDistance` configuration option.
To enable lazy loading all you need to do is change your "src" attributes to "data-src" as shown below. This is supported for image, video, audio and iframe elements.
To enable lazy loading all you need to do is change your "src" attributes to "data-src" as shown below. This is supported for image, video, audio and iframe elements. Lazy loaded iframes will also unload when the containing slide is no longer visible.
```html
<section>
<img data-src="image.png">
<iframe data-src="http://slides.com">
<iframe data-src="http://hakim.se"></iframe>
<video>
<source data-src="video.webm" type="video/webm" />
<source data-src="video.mp4" type="video/mp4" />
@@ -317,7 +340,7 @@ To enable lazy loading all you need to do is change your "src" attributes to "da
### API
The ``Reveal`` class provides a JavaScript API for controlling navigation and reading state:
The ``Reveal`` object exposes a JavaScript API for controlling navigation and reading state:
```javascript
// Navigation
@@ -330,15 +353,31 @@ Reveal.prev();
Reveal.next();
Reveal.prevFragment();
Reveal.nextFragment();
// Toggle presentation states, optionally pass true/false to force on/off
Reveal.toggleOverview();
Reveal.togglePause();
Reveal.toggleAutoSlide();
// Change a config value at runtime
Reveal.configure({ controls: true });
// Returns the present configuration options
Reveal.getConfig();
// Fetch the current scale of the presentation
Reveal.getScale();
// Retrieves the previous and current slide elements
Reveal.getPreviousSlide();
Reveal.getCurrentSlide();
Reveal.getIndices(); // { h: 0, v: 0 } }
Reveal.getProgress(); // 0-1
Reveal.getTotalSlides();
// Returns the speaker notes for the current slide
Reveal.getSlideNotes();
// State checks
Reveal.isFirstSlide();
@@ -348,19 +387,9 @@ Reveal.isPaused();
Reveal.isAutoSliding();
```
### Ready Event
The 'ready' event is fired when reveal.js has loaded all (synchronous) dependencies and is ready to start navigating.
```javascript
Reveal.addEventListener( 'ready', function( event ) {
// event.currentSlide, event.indexh, event.indexv
} );
```
### Slide Changed Event
An 'slidechanged' event is fired each time the slide is changed (regardless of state). The event object holds the index values of the current slide as well as a reference to the previous and current slide HTML nodes.
A 'slidechanged' event is fired each time the slide is changed (regardless of state). The event object holds the index values of the current slide as well as a reference to the previous and current slide HTML nodes.
Some libraries, like MathJax (see [#226](https://github.com/hakimel/reveal.js/issues/226#issuecomment-10261609)), get confused by the transforms and display states of slides. Often times, this can be fixed by calling their update or render function from this callback.
@@ -370,8 +399,24 @@ Reveal.addEventListener( 'slidechanged', function( event ) {
} );
```
### Presentation State
### States
The presentation's current state can be fetched by using the `getState` method. A state object contains all of the information required to put the presentation back as it was when `getState` was first called. Sort of like a snapshot. It's a simple object that can easily be stringified and persisted or sent over the wire.
```javascript
Reveal.slide( 1 );
// we're on slide 1
var state = Reveal.getState();
Reveal.slide( 3 );
// we're on slide 3
Reveal.setState( state );
// we're back on slide 1
```
### Slide States
If you set ``data-state="somestate"`` on a slide ``<section>``, "somestate" will be applied as a class on the document element when that slide is opened. This allows you to apply broad style changes to the page based on the active slide.
@@ -397,8 +442,8 @@ Slides are contained within a limited portion of the screen by default to allow
<section data-background="http://example.com/image.png" data-background-size="100px" data-background-repeat="repeat">
<h2>This background image will be sized to 100px and repeated.</h2>
</section>
<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">
<h2>Video. Multiple sources can be defined using a comma separated list.</h2>
<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>
<h2>Video. Multiple sources can be defined using a comma separated list. Video will loop when the data-background-video-loop attribute is provided.</h2>
</section>
<section data-background-iframe="https://slides.com">
<h2>Embeds a web page as a background. Note that the page won't be interactive.</h2>
@@ -410,7 +455,7 @@ Backgrounds transition using a fade animation by default. This can be changed to
### Parallax Background
If you want to use a parallax scrolling background, set the two following config properties when initializing reveal.js (the third one is optional).
If you want to use a parallax scrolling background, set the first two config properties below when initializing reveal.js (the other two are optional).
```javascript
Reveal.initialize({
@@ -421,8 +466,11 @@ Reveal.initialize({
// Parallax background size
parallaxBackgroundSize: '', // CSS syntax, e.g. "2100px 900px" - currently only pixels are supported (don't use % or auto)
// This slide transition gives best results:
transition: 'slide'
// Amount of pixels to move the parallax background per slide step,
// a value of 0 disables movement along the given axis
// These are optional, if they aren't specified they'll be calculated automatically
parallaxBackgroundHorizontal: 200,
parallaxBackgroundVertical: 50
});
```
@@ -444,7 +492,25 @@ The global presentation transition is set using the ```transition``` config valu
</section>
```
Note that this does not work with the page and cube transitions.
You can also use different in and out transitions for the same slide:
```html
<section data-transition="slide">
The train goes on …
</section>
<section data-transition="slide">
and on …
</section>
<section data-transition="slide-in fade-out">
and stops.
</section>
<section data-transition="fade-in slide-out">
(Passengers entering and leaving)
</section>
<section data-transition="slide">
And it starts again.
</section>
```
### Internal links
@@ -477,7 +543,6 @@ The default fragment style is to start out invisible and fade in. This style can
<section>
<p class="fragment grow">grow</p>
<p class="fragment shrink">shrink</p>
<p class="fragment roll-in">roll-in</p>
<p class="fragment fade-out">fade-out</p>
<p class="fragment current-visible">visible only once</p>
<p class="fragment highlight-current-blue">blue only once</p>
@@ -524,7 +589,7 @@ Reveal.addEventListener( 'fragmenthidden', function( event ) {
### Code syntax highlighting
By default, Reveal is configured with [highlight.js](http://softwaremaniacs.org/soft/highlight/en/) for code syntax highlighting. Below is an example with clojure code that will be syntax highlighted. When the `data-trim` attribute is present surrounding whitespace is automatically removed.
By default, Reveal is configured with [highlight.js](https://highlightjs.org/) for code syntax highlighting. Below is an example with clojure code that will be syntax highlighted. When the `data-trim` attribute is present surrounding whitespace is automatically removed.
```html
<section>
@@ -542,7 +607,16 @@ By default, Reveal is configured with [highlight.js](http://softwaremaniacs.org/
If you would like to display the page number of the current slide you can do so using the ```slideNumber``` configuration value.
```javascript
// Shows the slide number using default formatting
Reveal.configure({ slideNumber: true });
// Slide number formatting can be configured using these variables:
// "h.v": horizontal . vertical slide number (default)
// "h/v": horizontal / vertical slide number
// "c": flattened slide number
// "c/t": flattened slide number / total slides
Reveal.configure({ slideNumber: 'c/t' });
```
@@ -590,9 +664,42 @@ Limitations:
- Only one descendant per slide section can be stretched
### postMessage API
The framework has a built-in postMessage API that can be used when communicating with a presentation inside of another window. Here's an example showing how you'd make a reveal.js instance in the given window proceed to slide 2:
```javascript
<window>.postMessage( JSON.stringify({ method: 'slide', args: [ 2 ] }), '*' );
```
When reveal.js runs inside of an iframe it can optionally bubble all of its events to the parent. Bubbled events are stringified JSON with three fields: namespace, eventName and state. Here's how you subscribe to them from the parent window:
```javascript
window.addEventListener( 'message', function( event ) {
var data = JSON.parse( event.data );
if( data.namespace === 'reveal' && data.eventName ==='slidechanged' ) {
// Slide changed, see data.state for slide number
}
} );
```
This cross-window messaging can be toggled on or off using configuration flags.
```javascript
Reveal.initialize({
...,
// Exposes the reveal.js API through window.postMessage
postMessage: true,
// Dispatches all reveal.js events to the parent window through postMessage
postMessageEvents: false
});
```
## 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).
Presentations can be exported to PDF via a special print stylesheet. This feature requires that you use [Google Chrome](http://google.com/chrome) or [Chromium](https://www.chromium.org/Home).
Here's an example of an exported presentation that's been uploaded to SlideShare: http://www.slideshare.net/hakimel/revealjs-300.
1. Open your presentation with `print-pdf` included anywhere in the query string. This triggers the default index HTML to load the PDF print stylesheet ([css/print/pdf.css](https://github.com/hakimel/reveal.js/blob/master/css/print/pdf.css)). You can test this with [lab.hakim.se/reveal-js?print-pdf](http://lab.hakim.se/reveal-js?print-pdf).
@@ -604,6 +711,8 @@ Here's an example of an exported presentation that's been uploaded to SlideShare
![Chrome Print Settings](https://s3.amazonaws.com/hakim-static/reveal-js/pdf-print-settings.png)
Alternatively you can use the [decktape](https://github.com/astefanutti/decktape) project.
## Theming
The framework comes with a few different themes included:
@@ -612,7 +721,7 @@ The framework comes with a few different themes included:
- white: White background, black text, blue links
- league: Gray background, white text, blue links (default theme for reveal.js < 3.0.0)
- beige: Beige background, dark text, brown links
- sky: Blue background, thin white text, blue links
- sky: Blue background, thin dark text, blue links
- night: Black background, thick white text, orange links
- serif: Cappuccino background, gray text, brown links
- simple: White background, black text, blue links
@@ -633,6 +742,8 @@ reveal.js comes with a speaker notes plugin which can be used to present per-sli
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.
Alternatively you can add your notes in a `data-notes` attribute on the slide. Like `<section data-notes="Something important"></section>`.
When used locally, this feature requires that reveal.js [runs from a local web server](#full-setup).
```html
@@ -645,6 +756,8 @@ When used locally, this feature requires that reveal.js [runs from a local web s
</section>
```
Notes are only visible to you in the speaker view. If you wish to share your notes with the audience initialize reveal.js with the `showNotes` config value set to `true`.
If you're using the external Markdown plugin, you can add notes with the help of a special delimiter:
```html
@@ -683,7 +796,7 @@ Then:
## Multiplexing
The multiplex plugin allows your audience to view the slides of the presentation you are controlling on their own phone, tablet or laptop. As the master presentation navigates the slides, all client presentations will update in real time. See a demo at [http://revealjs.jit.su/](http://revealjs.jit.su).
The multiplex plugin allows your audience to view the slides of the presentation you are controlling on their own phone, tablet or laptop. As the master presentation navigates the slides, all client presentations will update in real time. See a demo at [http://revealjs-51546.onmodulus.net/](http://revealjs-51546.onmodulus.net/).
The multiplex plugin needs the following 3 things to operate:
@@ -712,12 +825,12 @@ Reveal.initialize({
// 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
url: 'revealjs-51546.onmodulus.net:80' // Location of socket.io server
},
// Don't forget to add the dependencies
dependencies: [
{ src: '//cdnjs.cloudflare.com/ajax/libs/socket.io/0.9.16/socket.io.min.js', async: true },
{ src: '//cdn.socket.io/socket.io-1.3.5.js', async: true },
{ src: 'plugin/multiplex/master.js', async: true },
// and if you want speaker notes
@@ -740,12 +853,12 @@ Reveal.initialize({
// 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
url: 'revealjs-51546.onmodulus.net:80' // Location of socket.io server
},
// Don't forget to add the dependencies
dependencies: [
{ src: '//cdnjs.cloudflare.com/ajax/libs/socket.io/0.9.16/socket.io.min.js', async: true },
{ src: '//cdn.socket.io/socket.io-1.3.5.js', async: true },
{ src: 'plugin/multiplex/client.js', async: true }
// other dependencies...
@@ -759,15 +872,15 @@ 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 [http://revealjs.jit.su](http://revealjs.jit.su).
Or you use the socket.io server at [http://revealjs-51546.onmodulus.net/](http://revealjs-51546.onmodulus.net/).
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 [http://revealjs.jit.su](http://revealjs.jit.su), visit [http://revealjs.jit.su/token](http://revealjs.jit.su/token).
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 [http://revealjs-51546.onmodulus.net/](http://revealjs-51546.onmodulus.net/), visit [http://revealjs-51546.onmodulus.net/token](http://revealjs-51546.onmodulus.net/token).
You are very welcome to point your presentations at the Socket.io server running at [http://revealjs.jit.su](http://revealjs.jit.su), 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 [http://revealjs-51546.onmodulus.net/](http://revealjs-51546.onmodulus.net/), 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.
##### socket.io server as file static server
The socket.io server can play the role of static file server for your client presentation, as in the example at [http://revealjs.jit.su](http://revealjs.jit.su). (Open [http://revealjs.jit.su](http://revealjs.jit.su) in two browsers. Navigate through the slides on one, and the other will update to match.)
The socket.io server can play the role of static file server for your client presentation, as in the example at [http://revealjs-51546.onmodulus.net/](http://revealjs-51546.onmodulus.net/). (Open [http://revealjs-51546.onmodulus.net/](http://revealjs-51546.onmodulus.net/) in two browsers. Navigate through the slides on one, and the other will update to match.)
Example configuration:
```javascript
@@ -783,14 +896,14 @@ Reveal.initialize({
// Don't forget to add the dependencies
dependencies: [
{ src: '//cdnjs.cloudflare.com/ajax/libs/socket.io/0.9.16/socket.io.min.js', async: true },
{ src: '//cdn.socket.io/socket.io-1.3.5.js', async: true },
{ src: 'plugin/multiplex/client.js', async: true }
// other dependencies...
]
```
It can also play the role of static file server for your master presentation and client presentations at the same time (as long as you don't want to use speaker notes). (Open [http://revealjs.jit.su](http://revealjs.jit.su) in two browsers. Navigate through the slides on one, and the other will update to match. Navigate through the slides on the second, and the first will update to match.) This is probably not desirable, because you don't want your audience to mess with your slides while you're presenting. ;)
It can also play the role of static file server for your master presentation and client presentations at the same time (as long as you don't want to use speaker notes). (Open [http://revealjs-51546.onmodulus.net/](http://revealjs-51546.onmodulus.net/) in two browsers. Navigate through the slides on one, and the other will update to match. Navigate through the slides on the second, and the first will update to match.) This is probably not desirable, because you don't want your audience to mess with your slides while you're presenting. ;)
Example configuration:
```javascript
@@ -806,7 +919,7 @@ Reveal.initialize({
// Don't forget to add the dependencies
dependencies: [
{ src: '//cdnjs.cloudflare.com/ajax/libs/socket.io/0.9.16/socket.io.min.js', async: true },
{ src: '//cdn.socket.io/socket.io-1.3.5.js', async: true },
{ src: 'plugin/multiplex/master.js', async: true },
{ src: 'plugin/multiplex/client.js', async: true }
@@ -815,51 +928,6 @@ Reveal.initialize({
});
```
## Leap Motion
The Leap Motion plugin lets you utilize your [Leap Motion](https://www.leapmotion.com/) device to control basic navigation of your presentation. The gestures currently supported are:
##### 1 to 2 fingers
Pointer &mdash; Point to anything on screen. Move your finger past the device to expand the pointer.
##### 1 hand + 3 or more fingers (left/right/up/down)
Navigate through your slides. See config options to invert movements.
##### 2 hands upwards
Toggle the overview mode. Do it a second time to exit the overview.
#### Config Options
You can edit the following options:
| Property | Default | Description
| ----------------- |:-----------------:| :-------------
| autoCenter | true | Center the pointer based on where you put your finger into the leap motions detection field.
| gestureDelay | 500 | How long to delay between gestures in milliseconds.
| naturalSwipe | true | Swipe as though you were touching a touch screen. Set to false to invert.
| pointerColor | #00aaff | The color of the pointer.
| pointerOpacity | 0.7 | The opacity of the pointer.
| pointerSize | 15 | The minimum height and width of the pointer.
| pointerTolerance | 120 | Bigger = slower pointer.
Example configuration:
```js
Reveal.initialize({
// 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).
@@ -874,7 +942,7 @@ Reveal.initialize({
// other options ...
math: {
mathjax: 'http://cdn.mathjax.org/mathjax/latest/MathJax.js',
mathjax: 'https://cdn.mathjax.org/mathjax/latest/MathJax.js',
config: 'TeX-AMS_HTML-full' // See http://docs.mathjax.org/en/latest/config-files.html
},

27
bower.json Normal file
View File

@@ -0,0 +1,27 @@
{
"name": "reveal.js",
"version": "3.2.0",
"main": [
"js/reveal.js",
"css/reveal.css"
],
"homepage": "http://lab.hakim.se/reveal-js/",
"license": "MIT",
"description": "The HTML Presentation Framework",
"authors": [
"Hakim El Hattab <hakim.elhattab@gmail.com>"
],
"dependencies": {
"headjs": "~1.0.3"
},
"repository": {
"type": "git",
"url": "git://github.com/hakimel/reveal.js.git"
},
"ignore": [
"**/.*",
"node_modules",
"bower_components",
"test"
]
}

View File

@@ -141,7 +141,7 @@
.reveal .slides section {
visibility: visible !important;
position: static !important;
width: 100% !important;
width: auto !important;
height: auto !important;
display: block !important;
overflow: visible !important;

View File

@@ -1,15 +1,9 @@
/* Default Print Stylesheet Template
by Rob Glazebrook of CSSnewbie.com
Last Updated: June 4, 2008
Feel free (nay, compelled) to edit, append, and
manipulate this file as you see fit. */
/* SECTION 1: Set default width, margin, float, and
background. This prevents elements from extending
beyond the edge of the printed page, and prevents
unnecessary background images from printing */
/**
* This stylesheet is used to print reveal.js
* presentations to PDF.
*
* https://github.com/hakimel/reveal.js#pdf-export
*/
* {
-webkit-print-color-adjust: exact;
@@ -29,12 +23,10 @@ html {
overflow: visible;
}
/* SECTION 2: Remove any elements not needed in print.
This would include navigation, ads, sidebars, etc. */
/* Remove any elements not needed in print. */
.nestedarrow,
.reveal .controls,
.reveal .progress,
.reveal .slide-number,
.reveal .playback,
.reveal.overview,
.fork-reveal,
@@ -43,16 +35,7 @@ html {
display: none !important;
}
/* SECTION 3: Set body font face, size, and color.
Consider using a serif font for readability. */
body, p, td, li, div {
}
/* SECTION 4: Set heading font face, sizes, and color.
Differentiate your headings from your body text.
Perhaps use a large sans-serif for distinction. */
h1,h2,h3,h4,h5,h6 {
h1, h2, h3, h4, h5, h6 {
text-shadow: 0 0 0 #000 !important;
}
@@ -61,8 +44,6 @@ h1,h2,h3,h4,h5,h6 {
font-family: Courier, 'Courier New', monospace !important;
}
/* SECTION 5: more reveal.js specific additions by @skypanther */
ul, ol, div, p {
visibility: visible;
position: static;
@@ -100,6 +81,7 @@ ul, ol, div, p {
-ms-perspective-origin: 50% 50%;
perspective-origin: 50% 50%;
}
.reveal .slides section {
page-break-after: always !important;
@@ -125,6 +107,7 @@ ul, ol, div, p {
-ms-transform: none !important;
transform: none !important;
}
.reveal section.stack {
margin: 0 !important;
padding: 0 !important;
@@ -132,9 +115,11 @@ ul, ol, div, p {
height: auto !important;
min-height: auto !important;
}
.reveal img {
box-shadow: none;
}
.reveal .roll {
overflow: visible;
line-height: 1em;
@@ -149,9 +134,27 @@ ul, ol, div, p {
width: 100%;
z-index: -1;
}
/* All elements should be above the slide-background */
.reveal section>* {
position: relative;
z-index: 1;
}
/* Display slide speaker notes when 'showNotes' is enabled */
.reveal .speaker-notes-pdf {
display: block;
width: 100%;
max-height: none;
left: auto;
top: auto;
z-index: 100;
}
/* Display slide numbers when 'slideNumber' is enabled */
.reveal .slide-number-pdf {
display: block;
position: absolute;
font-size: 14px;
}

View File

@@ -8,7 +8,19 @@
/*********************************************
* RESET STYLES
*********************************************/
html, body, .reveal div, .reveal span, .reveal applet, .reveal object, .reveal iframe, .reveal h1, .reveal h2, .reveal h3, .reveal h4, .reveal h5, .reveal h6, .reveal p, .reveal blockquote, .reveal pre, .reveal a, .reveal abbr, .reveal acronym, .reveal address, .reveal big, .reveal cite, .reveal code, .reveal del, .reveal dfn, .reveal em, .reveal img, .reveal ins, .reveal kbd, .reveal q, .reveal s, .reveal samp, .reveal small, .reveal strike, .reveal strong, .reveal sub, .reveal sup, .reveal tt, .reveal var, .reveal b, .reveal u, .reveal center, .reveal dl, .reveal dt, .reveal dd, .reveal ol, .reveal ul, .reveal li, .reveal fieldset, .reveal form, .reveal label, .reveal legend, .reveal table, .reveal caption, .reveal tbody, .reveal tfoot, .reveal thead, .reveal tr, .reveal th, .reveal td, .reveal article, .reveal aside, .reveal canvas, .reveal details, .reveal embed, .reveal figure, .reveal figcaption, .reveal footer, .reveal header, .reveal hgroup, .reveal menu, .reveal nav, .reveal output, .reveal ruby, .reveal section, .reveal summary, .reveal time, .reveal mark, .reveal audio, video {
html, body, .reveal div, .reveal span, .reveal applet, .reveal object, .reveal iframe,
.reveal h1, .reveal h2, .reveal h3, .reveal h4, .reveal h5, .reveal h6, .reveal p, .reveal blockquote, .reveal pre,
.reveal a, .reveal abbr, .reveal acronym, .reveal address, .reveal big, .reveal cite, .reveal code,
.reveal del, .reveal dfn, .reveal em, .reveal img, .reveal ins, .reveal kbd, .reveal q, .reveal s, .reveal samp,
.reveal small, .reveal strike, .reveal strong, .reveal sub, .reveal sup, .reveal tt, .reveal var,
.reveal b, .reveal u, .reveal center,
.reveal dl, .reveal dt, .reveal dd, .reveal ol, .reveal ul, .reveal li,
.reveal fieldset, .reveal form, .reveal label, .reveal legend,
.reveal table, .reveal caption, .reveal tbody, .reveal tfoot, .reveal thead, .reveal tr, .reveal th, .reveal td,
.reveal article, .reveal aside, .reveal canvas, .reveal details, .reveal embed,
.reveal figure, .reveal figcaption, .reveal footer, .reveal header, .reveal hgroup,
.reveal menu, .reveal nav, .reveal output, .reveal ruby, .reveal section, .reveal summary,
.reveal time, .reveal mark, .reveal audio, video {
margin: 0;
padding: 0;
border: 0;
@@ -16,13 +28,15 @@ html, body, .reveal div, .reveal span, .reveal applet, .reveal object, .reveal i
font: inherit;
vertical-align: baseline; }
.reveal article, .reveal aside, .reveal details, .reveal figcaption, .reveal figure, .reveal footer, .reveal header, .reveal hgroup, .reveal menu, .reveal nav, .reveal section {
.reveal article, .reveal aside, .reveal details, .reveal figcaption, .reveal figure,
.reveal footer, .reveal header, .reveal hgroup, .reveal menu, .reveal nav, .reveal section {
display: block; }
/*********************************************
* GLOBAL STYLES
*********************************************/
html, body {
html,
body {
width: 100%;
height: 100%;
overflow: hidden; }
@@ -33,15 +47,11 @@ body {
background-color: #fff;
color: #000; }
::-moz-selection {
background: #FF5E99;
color: #fff;
text-shadow: none; }
html:-webkit-full-screen-ancestor {
background-color: inherit; }
::selection {
background: #FF5E99;
color: #fff;
text-shadow: none; }
html:-moz-full-screen-ancestor {
background-color: inherit; }
/*********************************************
* VIEW FRAGMENTS
@@ -76,16 +86,9 @@ body {
-ms-transform: scale(0.1);
transform: scale(0.1); }
.reveal .slides section .fragment.zoom-in.visible {
-webkit-transform: scale(1);
-ms-transform: scale(1);
transform: scale(1); }
.reveal .slides section .fragment.roll-in {
-webkit-transform: rotateX(90deg);
transform: rotateX(90deg); }
.reveal .slides section .fragment.roll-in.visible {
-webkit-transform: rotateX(0);
transform: rotateX(0); }
-webkit-transform: none;
-ms-transform: none;
transform: none; }
.reveal .slides section .fragment.fade-out {
opacity: 1;
@@ -102,7 +105,8 @@ body {
visibility: visible; }
.reveal .slides section .fragment.strike {
opacity: 1; }
opacity: 1;
visibility: visible; }
.reveal .slides section .fragment.strike.visible {
text-decoration: line-through; }
@@ -113,7 +117,12 @@ body {
opacity: 1;
visibility: visible; }
.reveal .slides section .fragment.highlight-red, .reveal .slides section .fragment.highlight-current-red, .reveal .slides section .fragment.highlight-green, .reveal .slides section .fragment.highlight-current-green, .reveal .slides section .fragment.highlight-blue, .reveal .slides section .fragment.highlight-current-blue {
.reveal .slides section .fragment.highlight-red,
.reveal .slides section .fragment.highlight-current-red,
.reveal .slides section .fragment.highlight-green,
.reveal .slides section .fragment.highlight-current-green,
.reveal .slides section .fragment.highlight-blue,
.reveal .slides section .fragment.highlight-current-blue {
opacity: 1;
visibility: visible; }
@@ -157,8 +166,7 @@ body {
.reveal pre.stretch code {
height: 100%;
max-height: 100%;
-moz-box-sizing: border-box;
box-sizing: border-box; }
box-sizing: border-box; }
/*********************************************
* CONTROLS
@@ -173,58 +181,61 @@ body {
bottom: 10px;
-webkit-user-select: none; }
.reveal .controls div {
.reveal .controls button {
padding: 0;
position: absolute;
opacity: 0.05;
width: 0;
height: 0;
background-color: transparent;
border: 12px solid transparent;
-webkit-transform: scale(0.9999);
-ms-transform: scale(0.9999);
transform: scale(0.9999);
-webkit-transition: all 0.2s ease;
transition: all 0.2s ease;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0); }
-webkit-appearance: none;
-webkit-tap-highlight-color: transparent; }
.reveal .controls div.enabled {
.reveal .controls .enabled {
opacity: 0.7;
cursor: pointer; }
.reveal .controls div.enabled:active {
.reveal .controls .enabled:active {
margin-top: 1px; }
.reveal .controls div.navigate-left {
.reveal .controls .navigate-left {
top: 42px;
border-right-width: 22px;
border-right-color: #000; }
.reveal .controls div.navigate-left.fragmented {
.reveal .controls .navigate-left.fragmented {
opacity: 0.3; }
.reveal .controls div.navigate-right {
.reveal .controls .navigate-right {
left: 74px;
top: 42px;
border-left-width: 22px;
border-left-color: #000; }
.reveal .controls div.navigate-right.fragmented {
.reveal .controls .navigate-right.fragmented {
opacity: 0.3; }
.reveal .controls div.navigate-up {
.reveal .controls .navigate-up {
left: 42px;
border-bottom-width: 22px;
border-bottom-color: #000; }
.reveal .controls div.navigate-up.fragmented {
.reveal .controls .navigate-up.fragmented {
opacity: 0.3; }
.reveal .controls div.navigate-down {
.reveal .controls .navigate-down {
left: 42px;
top: 74px;
border-top-width: 22px;
border-top-color: #000; }
.reveal .controls div.navigate-down.fragmented {
.reveal .controls .navigate-down.fragmented {
opacity: 0.3; }
/*********************************************
@@ -262,11 +273,18 @@ body {
.reveal .slide-number {
position: fixed;
display: block;
right: 15px;
bottom: 15px;
opacity: 0.5;
right: 8px;
bottom: 8px;
z-index: 31;
font-size: 12px; }
font-family: Helvetica, sans-serif;
font-size: 12px;
line-height: 1;
color: #fff;
background-color: rgba(0, 0, 0, 0.4);
padding: 5px; }
.reveal .slide-number-delimiter {
margin: 0 3px; }
/*********************************************
* SLIDES
@@ -275,6 +293,7 @@ body {
position: relative;
width: 100%;
height: 100%;
overflow: hidden;
-ms-touch-action: none;
touch-action: none; }
@@ -298,7 +317,8 @@ body {
.reveal .slides > section {
-ms-perspective: 600px; }
.reveal .slides > section, .reveal .slides > section > section {
.reveal .slides > section,
.reveal .slides > section > section {
display: none;
position: absolute;
width: 100%;
@@ -332,48 +352,101 @@ body {
padding-top: 0;
padding-bottom: 0; }
.reveal .slides > section.present, .reveal .slides > section > section.present {
.reveal .slides > section.present,
.reveal .slides > section > section.present {
display: block;
z-index: 11;
opacity: 1; }
.reveal.center, .reveal.center .slides, .reveal.center .slides section {
.reveal.center,
.reveal.center .slides,
.reveal.center .slides section {
min-height: 0 !important; }
/* Don't allow interaction with invisible slides */
.reveal .slides > section.future, .reveal .slides > section > section.future, .reveal .slides > section.past, .reveal .slides > section > section.past {
.reveal .slides > section.future,
.reveal .slides > section > section.future,
.reveal .slides > section.past,
.reveal .slides > section > section.past {
pointer-events: none; }
.reveal.overview .slides > section, .reveal.overview .slides > section > section {
.reveal.overview .slides > section,
.reveal.overview .slides > section > section {
pointer-events: auto; }
.reveal .slides > section.past, .reveal .slides > section.future, .reveal .slides > section > section.past, .reveal .slides > section > section.future {
.reveal .slides > section.past,
.reveal .slides > section.future,
.reveal .slides > section > section.past,
.reveal .slides > section > section.future {
opacity: 0; }
/*********************************************
* Mixins for readability of transitions
*********************************************/
/*********************************************
* SLIDE TRANSITION
* Aliased 'linear' for backwards compatibility
*********************************************/
.reveal.slide section, .reveal.linear section {
.reveal.slide section {
-webkit-backface-visibility: hidden;
backface-visibility: hidden; }
.reveal .slides > section[data-transition=slide].past, .reveal.slide .slides > section:not([data-transition]).past, .reveal .slides > section[data-transition=linear].past, .reveal.linear .slides > section:not([data-transition]).past {
.reveal .slides > section[data-transition=slide].past,
.reveal .slides > section[data-transition~=slide-out].past,
.reveal.slide .slides > section:not([data-transition]).past {
-webkit-transform: translate(-150%, 0);
-ms-transform: translate(-150%, 0);
transform: translate(-150%, 0); }
.reveal .slides > section[data-transition=slide].future, .reveal.slide .slides > section:not([data-transition]).future, .reveal .slides > section[data-transition=linear].future, .reveal.linear .slides > section:not([data-transition]).future {
.reveal .slides > section[data-transition=slide].future,
.reveal .slides > section[data-transition~=slide-in].future,
.reveal.slide .slides > section:not([data-transition]).future {
-webkit-transform: translate(150%, 0);
-ms-transform: translate(150%, 0);
transform: translate(150%, 0); }
.reveal .slides > section > section[data-transition=slide].past, .reveal.slide .slides > section > section:not([data-transition]).past, .reveal .slides > section > section[data-transition=linear].past, .reveal.linear .slides > section > section:not([data-transition]).past {
.reveal .slides > section > section[data-transition=slide].past,
.reveal .slides > section > section[data-transition~=slide-out].past,
.reveal.slide .slides > section > section:not([data-transition]).past {
-webkit-transform: translate(0, -150%);
-ms-transform: translate(0, -150%);
transform: translate(0, -150%); }
.reveal .slides > section > section[data-transition=slide].future, .reveal.slide .slides > section > section:not([data-transition]).future, .reveal .slides > section > section[data-transition=linear].future, .reveal.linear .slides > section > section:not([data-transition]).future {
.reveal .slides > section > section[data-transition=slide].future,
.reveal .slides > section > section[data-transition~=slide-in].future,
.reveal.slide .slides > section > section:not([data-transition]).future {
-webkit-transform: translate(0, 150%);
-ms-transform: translate(0, 150%);
transform: translate(0, 150%); }
.reveal.linear section {
-webkit-backface-visibility: hidden;
backface-visibility: hidden; }
.reveal .slides > section[data-transition=linear].past,
.reveal .slides > section[data-transition~=linear-out].past,
.reveal.linear .slides > section:not([data-transition]).past {
-webkit-transform: translate(-150%, 0);
-ms-transform: translate(-150%, 0);
transform: translate(-150%, 0); }
.reveal .slides > section[data-transition=linear].future,
.reveal .slides > section[data-transition~=linear-in].future,
.reveal.linear .slides > section:not([data-transition]).future {
-webkit-transform: translate(150%, 0);
-ms-transform: translate(150%, 0);
transform: translate(150%, 0); }
.reveal .slides > section > section[data-transition=linear].past,
.reveal .slides > section > section[data-transition~=linear-out].past,
.reveal.linear .slides > section > section:not([data-transition]).past {
-webkit-transform: translate(0, -150%);
-ms-transform: translate(0, -150%);
transform: translate(0, -150%); }
.reveal .slides > section > section[data-transition=linear].future,
.reveal .slides > section > section[data-transition~=linear-in].future,
.reveal.linear .slides > section > section:not([data-transition]).future {
-webkit-transform: translate(0, 150%);
-ms-transform: translate(0, 150%);
transform: translate(0, 150%); }
@@ -382,66 +455,115 @@ body {
* CONVEX TRANSITION
* Aliased 'default' for backwards compatibility
*********************************************/
.reveal .slides > section[data-transition=default].past, .reveal.default .slides > section:not([data-transition]).past, .reveal .slides > section[data-transition=convex].past, .reveal.convex .slides > section:not([data-transition]).past {
.reveal .slides > section[data-transition=default].past,
.reveal .slides > section[data-transition~=default-out].past,
.reveal.default .slides > section:not([data-transition]).past {
-webkit-transform: translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0);
transform: translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0); }
.reveal .slides > section[data-transition=default].future, .reveal.default .slides > section:not([data-transition]).future, .reveal .slides > section[data-transition=convex].future, .reveal.convex .slides > section:not([data-transition]).future {
.reveal .slides > section[data-transition=default].future,
.reveal .slides > section[data-transition~=default-in].future,
.reveal.default .slides > section:not([data-transition]).future {
-webkit-transform: translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0);
transform: translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0); }
.reveal .slides > section > section[data-transition=default].past, .reveal.default .slides > section > section:not([data-transition]).past, .reveal .slides > section > section[data-transition=convex].past, .reveal.convex .slides > section > section:not([data-transition]).past {
.reveal .slides > section > section[data-transition=default].past,
.reveal .slides > section > section[data-transition~=default-out].past,
.reveal.default .slides > section > section:not([data-transition]).past {
-webkit-transform: translate3d(0, -300px, 0) rotateX(70deg) translate3d(0, -300px, 0);
transform: translate3d(0, -300px, 0) rotateX(70deg) translate3d(0, -300px, 0); }
.reveal .slides > section > section[data-transition=default].future, .reveal.default .slides > section > section:not([data-transition]).future, .reveal .slides > section > section[data-transition=convex].future, .reveal.convex .slides > section > section:not([data-transition]).future {
.reveal .slides > section > section[data-transition=default].future,
.reveal .slides > section > section[data-transition~=default-in].future,
.reveal.default .slides > section > section:not([data-transition]).future {
-webkit-transform: translate3d(0, 300px, 0) rotateX(-70deg) translate3d(0, 300px, 0);
transform: translate3d(0, 300px, 0) rotateX(-70deg) translate3d(0, 300px, 0); }
.reveal .slides > section[data-transition=convex].past,
.reveal .slides > section[data-transition~=convex-out].past,
.reveal.convex .slides > section:not([data-transition]).past {
-webkit-transform: translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0);
transform: translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0); }
.reveal .slides > section[data-transition=convex].future,
.reveal .slides > section[data-transition~=convex-in].future,
.reveal.convex .slides > section:not([data-transition]).future {
-webkit-transform: translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0);
transform: translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0); }
.reveal .slides > section > section[data-transition=convex].past,
.reveal .slides > section > section[data-transition~=convex-out].past,
.reveal.convex .slides > section > section:not([data-transition]).past {
-webkit-transform: translate3d(0, -300px, 0) rotateX(70deg) translate3d(0, -300px, 0);
transform: translate3d(0, -300px, 0) rotateX(70deg) translate3d(0, -300px, 0); }
.reveal .slides > section > section[data-transition=convex].future,
.reveal .slides > section > section[data-transition~=convex-in].future,
.reveal.convex .slides > section > section:not([data-transition]).future {
-webkit-transform: translate3d(0, 300px, 0) rotateX(-70deg) translate3d(0, 300px, 0);
transform: translate3d(0, 300px, 0) rotateX(-70deg) translate3d(0, 300px, 0); }
/*********************************************
* CONCAVE TRANSITION
*********************************************/
.reveal .slides > section[data-transition=concave].past, .reveal.concave .slides > section:not([data-transition]).past {
.reveal .slides > section[data-transition=concave].past,
.reveal .slides > section[data-transition~=concave-out].past,
.reveal.concave .slides > section:not([data-transition]).past {
-webkit-transform: translate3d(-100%, 0, 0) rotateY(90deg) translate3d(-100%, 0, 0);
transform: translate3d(-100%, 0, 0) rotateY(90deg) translate3d(-100%, 0, 0); }
.reveal .slides > section[data-transition=concave].future, .reveal.concave .slides > section:not([data-transition]).future {
.reveal .slides > section[data-transition=concave].future,
.reveal .slides > section[data-transition~=concave-in].future,
.reveal.concave .slides > section:not([data-transition]).future {
-webkit-transform: translate3d(100%, 0, 0) rotateY(-90deg) translate3d(100%, 0, 0);
transform: translate3d(100%, 0, 0) rotateY(-90deg) translate3d(100%, 0, 0); }
.reveal .slides > section > section[data-transition=concave].past, .reveal.concave .slides > section > section:not([data-transition]).past {
.reveal .slides > section > section[data-transition=concave].past,
.reveal .slides > section > section[data-transition~=concave-out].past,
.reveal.concave .slides > section > section:not([data-transition]).past {
-webkit-transform: translate3d(0, -80%, 0) rotateX(-70deg) translate3d(0, -80%, 0);
transform: translate3d(0, -80%, 0) rotateX(-70deg) translate3d(0, -80%, 0); }
.reveal .slides > section > section[data-transition=concave].future, .reveal.concave .slides > section > section:not([data-transition]).future {
.reveal .slides > section > section[data-transition=concave].future,
.reveal .slides > section > section[data-transition~=concave-in].future,
.reveal.concave .slides > section > section:not([data-transition]).future {
-webkit-transform: translate3d(0, 80%, 0) rotateX(70deg) translate3d(0, 80%, 0);
transform: translate3d(0, 80%, 0) rotateX(70deg) translate3d(0, 80%, 0); }
/*********************************************
* ZOOM TRANSITION
*********************************************/
.reveal .slides > section[data-transition=zoom], .reveal.zoom .slides > section:not([data-transition]) {
.reveal .slides section[data-transition=zoom],
.reveal.zoom .slides section:not([data-transition]) {
-webkit-transition-timing-function: ease;
transition-timing-function: ease; }
.reveal .slides > section[data-transition=zoom].past, .reveal.zoom .slides > section:not([data-transition]).past {
.reveal .slides > section[data-transition=zoom].past,
.reveal .slides > section[data-transition~=zoom-out].past,
.reveal.zoom .slides > section:not([data-transition]).past {
visibility: hidden;
-webkit-transform: scale(16);
-ms-transform: scale(16);
transform: scale(16); }
.reveal .slides > section[data-transition=zoom].future, .reveal.zoom .slides > section:not([data-transition]).future {
.reveal .slides > section[data-transition=zoom].future,
.reveal .slides > section[data-transition~=zoom-in].future,
.reveal.zoom .slides > section:not([data-transition]).future {
visibility: hidden;
-webkit-transform: scale(0.2);
-ms-transform: scale(0.2);
transform: scale(0.2); }
.reveal .slides > section > section[data-transition=zoom].past, .reveal.zoom .slides > section > section:not([data-transition]).past {
.reveal .slides > section > section[data-transition=zoom].past,
.reveal .slides > section > section[data-transition~=zoom-out].past,
.reveal.zoom .slides > section > section:not([data-transition]).past {
-webkit-transform: translate(0, -150%);
-ms-transform: translate(0, -150%);
transform: translate(0, -150%); }
.reveal .slides > section > section[data-transition=zoom].future, .reveal.zoom .slides > section > section:not([data-transition]).future {
.reveal .slides > section > section[data-transition=zoom].future,
.reveal .slides > section > section[data-transition~=zoom-in].future,
.reveal.zoom .slides > section > section:not([data-transition]).future {
-webkit-transform: translate(0, 150%);
-ms-transform: translate(0, 150%);
transform: translate(0, 150%); }
@@ -458,8 +580,7 @@ body {
min-height: 700px;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
-moz-box-sizing: border-box;
box-sizing: border-box; }
box-sizing: border-box; }
.reveal.center.cube .slides section {
min-height: 0; }
@@ -536,8 +657,7 @@ body {
.reveal.page .slides section {
padding: 30px;
min-height: 700px;
-moz-box-sizing: border-box;
box-sizing: border-box; }
box-sizing: border-box; }
.reveal.page .slides section.past {
z-index: 12; }
@@ -603,72 +723,31 @@ body {
/*********************************************
* FADE TRANSITION
*********************************************/
.reveal .slides section[data-transition=fade], .reveal.fade .slides section:not([data-transition]), .reveal.fade .slides > section > section:not([data-transition]) {
.reveal .slides section[data-transition=fade],
.reveal.fade .slides section:not([data-transition]),
.reveal.fade .slides > section > section:not([data-transition]) {
-webkit-transform: none;
-ms-transform: none;
transform: none;
-webkit-transition: opacity 0.5s;
transition: opacity 0.5s; }
.reveal.fade.overview .slides section, .reveal.fade.overview .slides > section > section {
.reveal.fade.overview .slides section,
.reveal.fade.overview .slides > section > section {
-webkit-transition: none;
transition: none; }
/*********************************************
* NO TRANSITION
*********************************************/
.reveal .slides section[data-transition=none], .reveal.none .slides section:not([data-transition]) {
.reveal .slides section[data-transition=none],
.reveal.none .slides section:not([data-transition]) {
-webkit-transform: none;
-ms-transform: none;
transform: none;
-webkit-transition: none;
transition: none; }
/*********************************************
* OVERVIEW
*********************************************/
.reveal.overview .slides {
-webkit-perspective-origin: 50% 50%;
perspective-origin: 50% 50%;
-webkit-perspective: 700px;
perspective: 700px; }
.reveal.overview .slides section {
height: 700px;
overflow: hidden;
opacity: 1 !important;
visibility: visible !important;
cursor: pointer;
background: rgba(0, 0, 0, 0.1);
-moz-box-sizing: border-box;
box-sizing: border-box; }
.reveal.overview .slides section, .reveal.overview-deactivating .slides section {
-webkit-transition: none !important;
transition: none !important; }
.reveal.overview .slides section .fragment {
opacity: 1; }
.reveal.overview .slides section:after, .reveal.overview .slides section:before {
display: none !important; }
.reveal.overview .slides section > section {
opacity: 1;
cursor: pointer; }
.reveal.overview .slides section:hover {
background: rgba(0, 0, 0, 0.3); }
.reveal.overview .slides section.present {
background: rgba(0, 0, 0, 0.3); }
.reveal.overview .slides > section.stack {
padding: 0;
top: 0 !important;
background: none;
overflow: visible; }
/*********************************************
* PAUSED MODE
*********************************************/
@@ -704,7 +783,8 @@ body {
margin: 0;
text-align: center; }
.no-transforms .reveal .controls, .no-transforms .reveal .progress {
.no-transforms .reveal .controls,
.no-transforms .reveal .progress {
display: none !important; }
.no-transforms .reveal .slides section {
@@ -723,14 +803,15 @@ body {
.no-transforms .reveal .slides section section {
left: 0; }
.reveal .no-transition, .reveal .no-transition * {
.reveal .no-transition,
.reveal .no-transition * {
-webkit-transition: none !important;
transition: none !important; }
/*********************************************
* PER-SLIDE BACKGROUNDS
*********************************************/
.reveal > .backgrounds {
.reveal .backgrounds {
position: absolute;
width: 100%;
height: 100%;
@@ -746,7 +827,7 @@ body {
height: 100%;
opacity: 0;
visibility: hidden;
background-color: rgba(0, 0, 0, 0);
background-color: transparent;
background-position: 50% 50%;
background-repeat: no-repeat;
background-size: cover;
@@ -775,105 +856,124 @@ body {
left: 0; }
/* Immediate transition style */
.reveal[data-background-transition=none] > .backgrounds .slide-background, .reveal > .backgrounds .slide-background[data-background-transition=none] {
.reveal[data-background-transition=none] > .backgrounds .slide-background,
.reveal > .backgrounds .slide-background[data-background-transition=none] {
-webkit-transition: none;
transition: none; }
/* Slide */
.reveal[data-background-transition=slide] > .backgrounds .slide-background, .reveal > .backgrounds .slide-background[data-background-transition=slide] {
.reveal[data-background-transition=slide] > .backgrounds .slide-background,
.reveal > .backgrounds .slide-background[data-background-transition=slide] {
opacity: 1;
-webkit-backface-visibility: hidden;
backface-visibility: hidden; }
.reveal[data-background-transition=slide] > .backgrounds .slide-background.past, .reveal > .backgrounds .slide-background.past[data-background-transition=slide] {
.reveal[data-background-transition=slide] > .backgrounds .slide-background.past,
.reveal > .backgrounds .slide-background.past[data-background-transition=slide] {
-webkit-transform: translate(-100%, 0);
-ms-transform: translate(-100%, 0);
transform: translate(-100%, 0); }
.reveal[data-background-transition=slide] > .backgrounds .slide-background.future, .reveal > .backgrounds .slide-background.future[data-background-transition=slide] {
.reveal[data-background-transition=slide] > .backgrounds .slide-background.future,
.reveal > .backgrounds .slide-background.future[data-background-transition=slide] {
-webkit-transform: translate(100%, 0);
-ms-transform: translate(100%, 0);
transform: translate(100%, 0); }
.reveal[data-background-transition=slide] > .backgrounds .slide-background > .slide-background.past, .reveal > .backgrounds .slide-background > .slide-background.past[data-background-transition=slide] {
.reveal[data-background-transition=slide] > .backgrounds .slide-background > .slide-background.past,
.reveal > .backgrounds .slide-background > .slide-background.past[data-background-transition=slide] {
-webkit-transform: translate(0, -100%);
-ms-transform: translate(0, -100%);
transform: translate(0, -100%); }
.reveal[data-background-transition=slide] > .backgrounds .slide-background > .slide-background.future, .reveal > .backgrounds .slide-background > .slide-background.future[data-background-transition=slide] {
.reveal[data-background-transition=slide] > .backgrounds .slide-background > .slide-background.future,
.reveal > .backgrounds .slide-background > .slide-background.future[data-background-transition=slide] {
-webkit-transform: translate(0, 100%);
-ms-transform: translate(0, 100%);
transform: translate(0, 100%); }
/* Convex */
.reveal[data-background-transition=convex] > .backgrounds .slide-background.past, .reveal > .backgrounds .slide-background.past[data-background-transition=convex] {
.reveal[data-background-transition=convex] > .backgrounds .slide-background.past,
.reveal > .backgrounds .slide-background.past[data-background-transition=convex] {
opacity: 0;
-webkit-transform: translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0);
transform: translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0); }
.reveal[data-background-transition=convex] > .backgrounds .slide-background.future, .reveal > .backgrounds .slide-background.future[data-background-transition=convex] {
.reveal[data-background-transition=convex] > .backgrounds .slide-background.future,
.reveal > .backgrounds .slide-background.future[data-background-transition=convex] {
opacity: 0;
-webkit-transform: translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0);
transform: translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0); }
.reveal[data-background-transition=convex] > .backgrounds .slide-background > .slide-background.past, .reveal > .backgrounds .slide-background > .slide-background.past[data-background-transition=convex] {
.reveal[data-background-transition=convex] > .backgrounds .slide-background > .slide-background.past,
.reveal > .backgrounds .slide-background > .slide-background.past[data-background-transition=convex] {
opacity: 0;
-webkit-transform: translate3d(0, -100%, 0) rotateX(90deg) translate3d(0, -100%, 0);
transform: translate3d(0, -100%, 0) rotateX(90deg) translate3d(0, -100%, 0); }
.reveal[data-background-transition=convex] > .backgrounds .slide-background > .slide-background.future, .reveal > .backgrounds .slide-background > .slide-background.future[data-background-transition=convex] {
.reveal[data-background-transition=convex] > .backgrounds .slide-background > .slide-background.future,
.reveal > .backgrounds .slide-background > .slide-background.future[data-background-transition=convex] {
opacity: 0;
-webkit-transform: translate3d(0, 100%, 0) rotateX(-90deg) translate3d(0, 100%, 0);
transform: translate3d(0, 100%, 0) rotateX(-90deg) translate3d(0, 100%, 0); }
/* Concave */
.reveal[data-background-transition=concave] > .backgrounds .slide-background.past, .reveal > .backgrounds .slide-background.past[data-background-transition=concave] {
.reveal[data-background-transition=concave] > .backgrounds .slide-background.past,
.reveal > .backgrounds .slide-background.past[data-background-transition=concave] {
opacity: 0;
-webkit-transform: translate3d(-100%, 0, 0) rotateY(90deg) translate3d(-100%, 0, 0);
transform: translate3d(-100%, 0, 0) rotateY(90deg) translate3d(-100%, 0, 0); }
.reveal[data-background-transition=concave] > .backgrounds .slide-background.future, .reveal > .backgrounds .slide-background.future[data-background-transition=concave] {
.reveal[data-background-transition=concave] > .backgrounds .slide-background.future,
.reveal > .backgrounds .slide-background.future[data-background-transition=concave] {
opacity: 0;
-webkit-transform: translate3d(100%, 0, 0) rotateY(-90deg) translate3d(100%, 0, 0);
transform: translate3d(100%, 0, 0) rotateY(-90deg) translate3d(100%, 0, 0); }
.reveal[data-background-transition=concave] > .backgrounds .slide-background > .slide-background.past, .reveal > .backgrounds .slide-background > .slide-background.past[data-background-transition=concave] {
.reveal[data-background-transition=concave] > .backgrounds .slide-background > .slide-background.past,
.reveal > .backgrounds .slide-background > .slide-background.past[data-background-transition=concave] {
opacity: 0;
-webkit-transform: translate3d(0, -100%, 0) rotateX(-90deg) translate3d(0, -100%, 0);
transform: translate3d(0, -100%, 0) rotateX(-90deg) translate3d(0, -100%, 0); }
.reveal[data-background-transition=concave] > .backgrounds .slide-background > .slide-background.future, .reveal > .backgrounds .slide-background > .slide-background.future[data-background-transition=concave] {
.reveal[data-background-transition=concave] > .backgrounds .slide-background > .slide-background.future,
.reveal > .backgrounds .slide-background > .slide-background.future[data-background-transition=concave] {
opacity: 0;
-webkit-transform: translate3d(0, 100%, 0) rotateX(90deg) translate3d(0, 100%, 0);
transform: translate3d(0, 100%, 0) rotateX(90deg) translate3d(0, 100%, 0); }
/* Zoom */
.reveal[data-background-transition=zoom] > .backgrounds .slide-background, .reveal > .backgrounds .slide-background[data-background-transition=zoom] {
.reveal[data-background-transition=zoom] > .backgrounds .slide-background,
.reveal > .backgrounds .slide-background[data-background-transition=zoom] {
-webkit-transition-timing-function: ease;
transition-timing-function: ease; }
.reveal[data-background-transition=zoom] > .backgrounds .slide-background.past, .reveal > .backgrounds .slide-background.past[data-background-transition=zoom] {
.reveal[data-background-transition=zoom] > .backgrounds .slide-background.past,
.reveal > .backgrounds .slide-background.past[data-background-transition=zoom] {
opacity: 0;
visibility: hidden;
-webkit-transform: scale(16);
-ms-transform: scale(16);
transform: scale(16); }
.reveal[data-background-transition=zoom] > .backgrounds .slide-background.future, .reveal > .backgrounds .slide-background.future[data-background-transition=zoom] {
.reveal[data-background-transition=zoom] > .backgrounds .slide-background.future,
.reveal > .backgrounds .slide-background.future[data-background-transition=zoom] {
opacity: 0;
visibility: hidden;
-webkit-transform: scale(0.2);
-ms-transform: scale(0.2);
transform: scale(0.2); }
.reveal[data-background-transition=zoom] > .backgrounds .slide-background > .slide-background.past, .reveal > .backgrounds .slide-background > .slide-background.past[data-background-transition=zoom] {
.reveal[data-background-transition=zoom] > .backgrounds .slide-background > .slide-background.past,
.reveal > .backgrounds .slide-background > .slide-background.past[data-background-transition=zoom] {
opacity: 0;
visibility: hidden;
-webkit-transform: scale(16);
-ms-transform: scale(16);
transform: scale(16); }
.reveal[data-background-transition=zoom] > .backgrounds .slide-background > .slide-background.future, .reveal > .backgrounds .slide-background > .slide-background.future[data-background-transition=zoom] {
.reveal[data-background-transition=zoom] > .backgrounds .slide-background > .slide-background.future,
.reveal > .backgrounds .slide-background > .slide-background.future[data-background-transition=zoom] {
opacity: 0;
visibility: hidden;
-webkit-transform: scale(0.2);
@@ -889,17 +989,80 @@ body {
-webkit-transition-duration: 1200ms;
transition-duration: 1200ms; }
/*********************************************
* OVERVIEW
*********************************************/
.reveal.overview {
-webkit-perspective-origin: 50% 50%;
perspective-origin: 50% 50%;
-webkit-perspective: 700px;
perspective: 700px; }
.reveal.overview .slides section {
height: 700px;
opacity: 1 !important;
overflow: hidden;
visibility: visible !important;
cursor: pointer;
box-sizing: border-box; }
.reveal.overview .slides section:hover,
.reveal.overview .slides section.present {
outline: 10px solid rgba(150, 150, 150, 0.4);
outline-offset: 10px; }
.reveal.overview .slides section .fragment {
opacity: 1;
-webkit-transition: none;
transition: none; }
.reveal.overview .slides section:after,
.reveal.overview .slides section:before {
display: none !important; }
.reveal.overview .slides > section.stack {
padding: 0;
top: 0 !important;
background: none;
outline: none;
overflow: visible; }
.reveal.overview .backgrounds {
-webkit-perspective: inherit;
perspective: inherit; }
.reveal.overview .backgrounds .slide-background {
opacity: 1;
visibility: visible;
outline: 10px solid rgba(150, 150, 150, 0.1);
outline-offset: 10px; }
.reveal.overview .slides section,
.reveal.overview-deactivating .slides section {
-webkit-transition: none;
transition: none; }
.reveal.overview .backgrounds .slide-background,
.reveal.overview-deactivating .backgrounds .slide-background {
-webkit-transition: none;
transition: none; }
.reveal.overview-animated .slides {
-webkit-transition: -webkit-transform 0.4s ease;
transition: transform 0.4s ease; }
/*********************************************
* RTL SUPPORT
*********************************************/
.reveal.rtl .slides, .reveal.rtl .slides h1, .reveal.rtl .slides h2, .reveal.rtl .slides h3, .reveal.rtl .slides h4, .reveal.rtl .slides h5, .reveal.rtl .slides h6 {
.reveal.rtl .slides,
.reveal.rtl .slides h1,
.reveal.rtl .slides h2,
.reveal.rtl .slides h3,
.reveal.rtl .slides h4,
.reveal.rtl .slides h5,
.reveal.rtl .slides h6 {
direction: rtl;
font-family: sans-serif; }
.reveal.rtl pre, .reveal.rtl code {
.reveal.rtl pre,
.reveal.rtl code {
direction: ltr; }
.reveal.rtl ol, .reveal.rtl ul {
.reveal.rtl ol,
.reveal.rtl ul {
text-align: right; }
.reveal.rtl .progress span {
@@ -972,8 +1135,7 @@ body {
padding: 0 10px;
float: right;
opacity: 0.6;
-moz-box-sizing: border-box;
box-sizing: border-box; }
box-sizing: border-box; }
.reveal .overlay header a:hover {
opacity: 1; }
@@ -1040,7 +1202,8 @@ body {
border-collapse: collapse;
font-size: 14px; }
.reveal .overlay.overlay-help .viewport .viewport-inner table th, .reveal .overlay.overlay-help .viewport .viewport-inner table td {
.reveal .overlay.overlay-help .viewport .viewport-inner table th,
.reveal .overlay.overlay-help .viewport .viewport-inner table td {
width: 200px;
padding: 10px;
border: 1px solid #fff;
@@ -1056,7 +1219,7 @@ body {
.reveal .playback {
position: fixed;
left: 15px;
bottom: 15px;
bottom: 20px;
z-index: 30;
cursor: pointer;
-webkit-transition: all 400ms ease;
@@ -1124,14 +1287,48 @@ body {
.reveal aside.notes {
display: none; }
.reveal .speaker-notes {
display: none;
position: absolute;
width: 70%;
max-height: 15%;
left: 15%;
bottom: 26px;
padding: 10px;
z-index: 1;
font-size: 18px;
line-height: 1.4;
color: #fff;
background-color: rgba(0, 0, 0, 0.5);
overflow: auto;
box-sizing: border-box;
text-align: left;
font-family: Helvetica, sans-serif;
-webkit-overflow-scrolling: touch; }
.reveal .speaker-notes.visible:not(:empty) {
display: block; }
@media screen and (max-width: 1024px) {
.reveal .speaker-notes {
font-size: 14px; } }
@media screen and (max-width: 600px) {
.reveal .speaker-notes {
width: 90%;
left: 5%; } }
/*********************************************
* ZOOM PLUGIN
*********************************************/
.zoomed .reveal *, .zoomed .reveal *:before, .zoomed .reveal *:after {
.zoomed .reveal *,
.zoomed .reveal *:before,
.zoomed .reveal *:after {
-webkit-backface-visibility: visible !important;
backface-visibility: visible !important; }
.zoomed .reveal .progress, .zoomed .reveal .controls {
.zoomed .reveal .progress,
.zoomed .reveal .controls {
opacity: 0; }
.zoomed .reveal .roll span {

View File

@@ -57,16 +57,13 @@ body {
color: #000;
}
::-moz-selection {
background: #FF5E99;
color: #fff;
text-shadow: none;
// Ensures that the main background color matches the
// theme in fullscreen mode
html:-webkit-full-screen-ancestor {
background-color: inherit;
}
::selection {
background: #FF5E99;
color: #fff;
text-shadow: none;
html:-moz-full-screen-ancestor {
background-color: inherit;
}
@@ -107,15 +104,7 @@ body {
transform: scale( 0.1 );
&.visible {
transform: scale( 1 );
}
}
.reveal .slides section .fragment.roll-in {
transform: rotateX( 90deg );
&.visible {
transform: rotateX( 0 );
transform: none;
}
}
@@ -141,6 +130,7 @@ body {
.reveal .slides section .fragment.strike {
opacity: 1;
visibility: visible;
&.visible {
text-decoration: line-through;
@@ -234,66 +224,68 @@ body {
-webkit-user-select: none;
}
.reveal .controls div {
.reveal .controls button {
padding: 0;
position: absolute;
opacity: 0.05;
width: 0;
height: 0;
background-color: transparent;
border: 12px solid transparent;
transform: scale(.9999);
transition: all 0.2s ease;
-webkit-appearance: none;
-webkit-tap-highlight-color: rgba( 0, 0, 0, 0 );
}
.reveal .controls div.enabled {
.reveal .controls .enabled {
opacity: 0.7;
cursor: pointer;
}
.reveal .controls div.enabled:active {
.reveal .controls .enabled:active {
margin-top: 1px;
}
.reveal .controls div.navigate-left {
.reveal .controls .navigate-left {
top: 42px;
border-right-width: 22px;
border-right-color: #000;
}
.reveal .controls div.navigate-left.fragmented {
.reveal .controls .navigate-left.fragmented {
opacity: 0.3;
}
.reveal .controls div.navigate-right {
.reveal .controls .navigate-right {
left: 74px;
top: 42px;
border-left-width: 22px;
border-left-color: #000;
}
.reveal .controls div.navigate-right.fragmented {
.reveal .controls .navigate-right.fragmented {
opacity: 0.3;
}
.reveal .controls div.navigate-up {
.reveal .controls .navigate-up {
left: 42px;
border-bottom-width: 22px;
border-bottom-color: #000;
}
.reveal .controls div.navigate-up.fragmented {
.reveal .controls .navigate-up.fragmented {
opacity: 0.3;
}
.reveal .controls div.navigate-down {
.reveal .controls .navigate-down {
left: 42px;
top: 74px;
border-top-width: 22px;
border-top-color: #000;
}
.reveal .controls div.navigate-down.fragmented {
.reveal .controls .navigate-down.fragmented {
opacity: 0.3;
}
@@ -337,11 +329,19 @@ body {
.reveal .slide-number {
position: fixed;
display: block;
right: 15px;
bottom: 15px;
opacity: 0.5;
right: 8px;
bottom: 8px;
z-index: 31;
font-family: Helvetica, sans-serif;
font-size: 12px;
line-height: 1;
color: #fff;
background-color: rgba( 0, 0, 0, 0.4 );
padding: 5px;
}
.reveal .slide-number-delimiter {
margin: 0 3px;
}
/*********************************************
@@ -352,6 +352,7 @@ body {
position: relative;
width: 100%;
height: 100%;
overflow: hidden;
touch-action: none;
}
@@ -446,94 +447,103 @@ body {
}
/*********************************************
* Mixins for readability of transitions
*********************************************/
@mixin transition-global($style) {
.reveal .slides section[data-transition=#{$style}],
.reveal.#{$style} .slides section:not([data-transition]) {
@content;
}
}
@mixin transition-horizontal-past($style) {
.reveal .slides>section[data-transition=#{$style}].past,
.reveal .slides>section[data-transition~=#{$style}-out].past,
.reveal.#{$style} .slides>section:not([data-transition]).past {
@content;
}
}
@mixin transition-horizontal-future($style) {
.reveal .slides>section[data-transition=#{$style}].future,
.reveal .slides>section[data-transition~=#{$style}-in].future,
.reveal.#{$style} .slides>section:not([data-transition]).future {
@content;
}
}
@mixin transition-vertical-past($style) {
.reveal .slides>section>section[data-transition=#{$style}].past,
.reveal .slides>section>section[data-transition~=#{$style}-out].past,
.reveal.#{$style} .slides>section>section:not([data-transition]).past {
@content;
}
}
@mixin transition-vertical-future($style) {
.reveal .slides>section>section[data-transition=#{$style}].future,
.reveal .slides>section>section[data-transition~=#{$style}-in].future,
.reveal.#{$style} .slides>section>section:not([data-transition]).future {
@content;
}
}
/*********************************************
* SLIDE TRANSITION
* Aliased 'linear' for backwards compatibility
*********************************************/
.reveal.slide section,
.reveal.linear section {
backface-visibility: hidden;
@each $stylename in slide, linear {
.reveal.#{$stylename} section {
backface-visibility: hidden;
}
@include transition-horizontal-past(#{$stylename}) {
transform: translate(-150%, 0);
}
@include transition-horizontal-future(#{$stylename}) {
transform: translate(150%, 0);
}
@include transition-vertical-past(#{$stylename}) {
transform: translate(0, -150%);
}
@include transition-vertical-future(#{$stylename}) {
transform: translate(0, 150%);
}
}
.reveal .slides>section[data-transition=slide].past,
.reveal.slide .slides>section:not([data-transition]).past,
.reveal .slides>section[data-transition=linear].past,
.reveal.linear .slides>section:not([data-transition]).past {
transform: translate(-150%, 0);
}
.reveal .slides>section[data-transition=slide].future,
.reveal.slide .slides>section:not([data-transition]).future,
.reveal .slides>section[data-transition=linear].future,
.reveal.linear .slides>section:not([data-transition]).future {
transform: translate(150%, 0);
}
.reveal .slides>section>section[data-transition=slide].past,
.reveal.slide .slides>section>section:not([data-transition]).past,
.reveal .slides>section>section[data-transition=linear].past,
.reveal.linear .slides>section>section:not([data-transition]).past {
transform: translate(0, -150%);
}
.reveal .slides>section>section[data-transition=slide].future,
.reveal.slide .slides>section>section:not([data-transition]).future,
.reveal .slides>section>section[data-transition=linear].future,
.reveal.linear .slides>section>section:not([data-transition]).future {
transform: translate(0, 150%);
}
/*********************************************
* CONVEX TRANSITION
* Aliased 'default' for backwards compatibility
*********************************************/
.reveal .slides>section[data-transition=default].past,
.reveal.default .slides>section:not([data-transition]).past,
.reveal .slides>section[data-transition=convex].past,
.reveal.convex .slides>section:not([data-transition]).past {
transform: translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0);
@each $stylename in default, convex {
@include transition-horizontal-past(#{$stylename}) {
transform: translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0);
}
@include transition-horizontal-future(#{$stylename}) {
transform: translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0);
}
@include transition-vertical-past(#{$stylename}) {
transform: translate3d(0, -300px, 0) rotateX(70deg) translate3d(0, -300px, 0);
}
@include transition-vertical-future(#{$stylename}) {
transform: translate3d(0, 300px, 0) rotateX(-70deg) translate3d(0, 300px, 0);
}
}
.reveal .slides>section[data-transition=default].future,
.reveal.default .slides>section:not([data-transition]).future,
.reveal .slides>section[data-transition=convex].future,
.reveal.convex .slides>section:not([data-transition]).future {
transform: translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0);
}
.reveal .slides>section>section[data-transition=default].past,
.reveal.default .slides>section>section:not([data-transition]).past,
.reveal .slides>section>section[data-transition=convex].past,
.reveal.convex .slides>section>section:not([data-transition]).past {
transform: translate3d(0, -300px, 0) rotateX(70deg) translate3d(0, -300px, 0);
}
.reveal .slides>section>section[data-transition=default].future,
.reveal.default .slides>section>section:not([data-transition]).future,
.reveal .slides>section>section[data-transition=convex].future,
.reveal.convex .slides>section>section:not([data-transition]).future {
transform: translate3d(0, 300px, 0) rotateX(-70deg) translate3d(0, 300px, 0);
}
/*********************************************
* CONCAVE TRANSITION
*********************************************/
.reveal .slides>section[data-transition=concave].past,
.reveal.concave .slides>section:not([data-transition]).past {
@include transition-horizontal-past(concave) {
transform: translate3d(-100%, 0, 0) rotateY(90deg) translate3d(-100%, 0, 0);
}
.reveal .slides>section[data-transition=concave].future,
.reveal.concave .slides>section:not([data-transition]).future {
@include transition-horizontal-future(concave) {
transform: translate3d(100%, 0, 0) rotateY(-90deg) translate3d(100%, 0, 0);
}
.reveal .slides>section>section[data-transition=concave].past,
.reveal.concave .slides>section>section:not([data-transition]).past {
@include transition-vertical-past(concave) {
transform: translate3d(0, -80%, 0) rotateX(-70deg) translate3d(0, -80%, 0);
}
.reveal .slides>section>section[data-transition=concave].future,
.reveal.concave .slides>section>section:not([data-transition]).future {
@include transition-vertical-future(concave) {
transform: translate3d(0, 80%, 0) rotateX(70deg) translate3d(0, 80%, 0);
}
@@ -542,28 +552,21 @@ body {
* ZOOM TRANSITION
*********************************************/
.reveal .slides>section[data-transition=zoom],
.reveal.zoom .slides>section:not([data-transition]) {
@include transition-global(zoom) {
transition-timing-function: ease;
}
.reveal .slides>section[data-transition=zoom].past,
.reveal.zoom .slides>section:not([data-transition]).past {
@include transition-horizontal-past(zoom) {
visibility: hidden;
transform: scale(16);
}
.reveal .slides>section[data-transition=zoom].future,
.reveal.zoom .slides>section:not([data-transition]).future {
@include transition-horizontal-future(zoom) {
visibility: hidden;
transform: scale(0.2);
}
.reveal .slides>section>section[data-transition=zoom].past,
.reveal.zoom .slides>section>section:not([data-transition]).past {
@include transition-vertical-past(zoom) {
transform: translate(0, -150%);
}
.reveal .slides>section>section[data-transition=zoom].future,
.reveal.zoom .slides>section>section:not([data-transition]).future {
@include transition-vertical-future(zoom) {
transform: translate(0, 150%);
}
@@ -732,60 +735,12 @@ body {
* NO TRANSITION
*********************************************/
.reveal .slides section[data-transition=none],
.reveal.none .slides section:not([data-transition]) {
@include transition-global(none) {
transform: none;
transition: none;
}
/*********************************************
* OVERVIEW
*********************************************/
.reveal.overview .slides {
perspective-origin: 50% 50%;
perspective: 700px;
}
.reveal.overview .slides section {
height: 700px;
overflow: hidden;
opacity: 1 !important;
visibility: visible !important;
cursor: pointer;
background: rgba(0,0,0,0.1);
box-sizing: border-box;
}
.reveal.overview .slides section,
.reveal.overview-deactivating .slides section {
transition: none !important;
}
.reveal.overview .slides section .fragment {
opacity: 1;
}
.reveal.overview .slides section:after,
.reveal.overview .slides section:before {
display: none !important;
}
.reveal.overview .slides section>section {
opacity: 1;
cursor: pointer;
}
.reveal.overview .slides section:hover {
background: rgba(0,0,0,0.3);
}
.reveal.overview .slides section.present {
background: rgba(0,0,0,0.3);
}
.reveal.overview .slides>section.stack {
padding: 0;
top: 0 !important;
background: none;
overflow: visible;
}
/*********************************************
* PAUSED MODE
*********************************************/
@@ -857,7 +812,7 @@ body {
* PER-SLIDE BACKGROUNDS
*********************************************/
.reveal>.backgrounds {
.reveal .backgrounds {
position: absolute;
width: 100%;
height: 100%;
@@ -1026,6 +981,74 @@ body {
}
/*********************************************
* OVERVIEW
*********************************************/
.reveal.overview {
perspective-origin: 50% 50%;
perspective: 700px;
.slides section {
height: 700px;
opacity: 1 !important;
overflow: hidden;
visibility: visible !important;
cursor: pointer;
box-sizing: border-box;
}
.slides section:hover,
.slides section.present {
outline: 10px solid rgba(150,150,150,0.4);
outline-offset: 10px;
}
.slides section .fragment {
opacity: 1;
transition: none;
}
.slides section:after,
.slides section:before {
display: none !important;
}
.slides>section.stack {
padding: 0;
top: 0 !important;
background: none;
outline: none;
overflow: visible;
}
.backgrounds {
perspective: inherit;
}
.backgrounds .slide-background {
opacity: 1;
visibility: visible;
// This can't be applied to the slide itself in Safari
outline: 10px solid rgba(150,150,150,0.1);
outline-offset: 10px;
}
}
// Disable transitions transitions while we're activating
// or deactivating the overview mode.
.reveal.overview .slides section,
.reveal.overview-deactivating .slides section {
transition: none;
}
.reveal.overview .backgrounds .slide-background,
.reveal.overview-deactivating .backgrounds .slide-background {
transition: none;
}
.reveal.overview-animated .slides {
transition: transform 0.4s ease;
}
/*********************************************
* RTL SUPPORT
*********************************************/
@@ -1223,7 +1246,7 @@ body {
.reveal .playback {
position: fixed;
left: 15px;
bottom: 15px;
bottom: 20px;
z-index: 30;
cursor: pointer;
transition: all 400ms ease;
@@ -1285,10 +1308,50 @@ body {
* SPEAKER NOTES
*********************************************/
// Hide on-page notes
.reveal aside.notes {
display: none;
}
// An interface element that can optionally be used to show the
// speaker notes to all viewers, on top of the presentation
.reveal .speaker-notes {
display: none;
position: absolute;
width: 70%;
max-height: 15%;
left: 15%;
bottom: 26px;
padding: 10px;
z-index: 1;
font-size: 18px;
line-height: 1.4;
color: #fff;
background-color: rgba(0,0,0,0.5);
overflow: auto;
box-sizing: border-box;
text-align: left;
font-family: Helvetica, sans-serif;
-webkit-overflow-scrolling: touch;
}
.reveal .speaker-notes.visible:not(:empty) {
display: block;
}
@media screen and (max-width: 1024px) {
.reveal .speaker-notes {
font-size: 14px;
}
}
@media screen and (max-width: 600px) {
.reveal .speaker-notes {
width: 90%;
left: 5%;
}
}
/*********************************************
* ZOOM PLUGIN

View File

@@ -2,11 +2,9 @@
Themes are written using Sass to keep things modular and reduce the need for repeated selectors across files. Make sure that you have the reveal.js development environment including the Grunt dependencies installed before proceding: https://github.com/hakimel/reveal.js#full-setup
You also need to install Ruby and then Sass (with `gem install sass`).
## Creating a Theme
To create your own theme, start by duplicating any ```.scss``` file in [/css/theme/source](https://github.com/hakimel/reveal.js/blob/master/css/theme/source) and adding it to the compilation list in the [Gruntfile](https://github.com/hakimel/reveal.js/blob/master/Gruntfile.js).
To create your own theme, start by duplicating a ```.scss``` file in [/css/theme/source](https://github.com/hakimel/reveal.js/blob/master/css/theme/source). It will be automatically compiled by Grunt from Sass to CSS (see the [Gruntfile](https://github.com/hakimel/reveal.js/blob/master/Gruntfile.js)) when you run `grunt css-themes`.
Each theme file does four things in the following order:
@@ -17,9 +15,7 @@ Shared utility functions.
Declares a set of custom variables that the template file (step 4) expects. Can be overridden in step 3.
3. **Override**
This is where you override the default theme. Either by specifying variables (see [settings.scss](https://github.com/hakimel/reveal.js/blob/master/css/theme/template/settings.scss) for reference) or by adding full selectors with hardcoded styles.
This is where you override the default theme. Either by specifying variables (see [settings.scss](https://github.com/hakimel/reveal.js/blob/master/css/theme/template/settings.scss) for reference) or by adding any selectors and styles you please.
4. **Include [/css/theme/template/theme.scss](https://github.com/hakimel/reveal.js/blob/master/css/theme/template/theme.scss)**
The template theme file which will generate final CSS output based on the currently defined variables.
When you are done, run `grunt themes` to compile the Sass file to CSS and you are ready to use your new theme.

View File

@@ -1,25 +1,25 @@
@import url(../../lib/font/league-gothic/league-gothic.css);
@import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic);
/**
* Beige theme for reveal.js.
*
* Copyright (C) 2011-2012 Hakim El Hattab, http://hakim.se
*/
@import url(../../lib/font/league-gothic/league-gothic.css);
@import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic);
/*********************************************
* GLOBAL STYLES
*********************************************/
body {
background: #f7f2d3;
background: -moz-radial-gradient(center, circle cover, #ffffff 0%, #f7f2d3 100%);
background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%, #ffffff), color-stop(100%, #f7f2d3));
background: -webkit-radial-gradient(center, circle cover, #ffffff 0%, #f7f2d3 100%);
background: -o-radial-gradient(center, circle cover, #ffffff 0%, #f7f2d3 100%);
background: -ms-radial-gradient(center, circle cover, #ffffff 0%, #f7f2d3 100%);
background: radial-gradient(center, circle cover, #ffffff 0%, #f7f2d3 100%);
background: -moz-radial-gradient(center, circle cover, white 0%, #f7f2d3 100%);
background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%, white), color-stop(100%, #f7f2d3));
background: -webkit-radial-gradient(center, circle cover, white 0%, #f7f2d3 100%);
background: -o-radial-gradient(center, circle cover, white 0%, #f7f2d3 100%);
background: -ms-radial-gradient(center, circle cover, white 0%, #f7f2d3 100%);
background: radial-gradient(center, circle cover, white 0%, #f7f2d3 100%);
background-color: #f7f3de; }
.reveal {
font-family: 'Lato', sans-serif;
font-family: "Lato", sans-serif;
font-size: 36px;
font-weight: normal;
color: #333; }
@@ -29,17 +29,23 @@ body {
background: rgba(79, 64, 28, 0.99);
text-shadow: none; }
.reveal .slides > section, .reveal .slides > section > section {
.reveal .slides > section,
.reveal .slides > section > section {
line-height: 1.3;
font-weight: inherit; }
/*********************************************
* HEADERS
*********************************************/
.reveal h1, .reveal h2, .reveal h3, .reveal h4, .reveal h5, .reveal h6 {
.reveal h1,
.reveal h2,
.reveal h3,
.reveal h4,
.reveal h5,
.reveal h6 {
margin: 0 0 20px 0;
color: #333;
font-family: 'League Gothic', Impact, sans-serif;
font-family: "League Gothic", Impact, sans-serif;
font-weight: normal;
line-height: 1.2;
letter-spacing: normal;
@@ -70,17 +76,22 @@ body {
line-height: 1.3; }
/* Ensure certain elements are never larger than the slide itself */
.reveal img, .reveal video, .reveal iframe {
.reveal img,
.reveal video,
.reveal iframe {
max-width: 95%;
max-height: 95%; }
.reveal strong, .reveal b {
.reveal strong,
.reveal b {
font-weight: bold; }
.reveal em {
font-style: italic; }
.reveal ol, .reveal dl, .reveal ul {
.reveal ol,
.reveal dl,
.reveal ul {
display: inline-block;
text-align: left;
margin: 0 0 0 1em; }
@@ -97,7 +108,10 @@ body {
.reveal ul ul ul {
list-style-type: circle; }
.reveal ul ul, .reveal ul ol, .reveal ol ol, .reveal ol ul {
.reveal ul ul,
.reveal ul ol,
.reveal ol ol,
.reveal ol ul {
display: block;
margin-left: 40px; }
@@ -107,7 +121,8 @@ body {
.reveal dd {
margin-left: 40px; }
.reveal q, .reveal blockquote {
.reveal q,
.reveal blockquote {
quotes: none; }
.reveal blockquote {
@@ -120,7 +135,8 @@ body {
background: rgba(255, 255, 255, 0.05);
box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); }
.reveal blockquote p:first-child, .reveal blockquote p:last-child {
.reveal blockquote p:first-child,
.reveal blockquote p:last-child {
display: inline-block; }
.reveal q {
@@ -146,9 +162,7 @@ body {
padding: 5px;
overflow: auto;
max-height: 400px;
word-wrap: normal;
background: #3F3F3F;
color: #DCDCDC; }
word-wrap: normal; }
.reveal table {
margin: auto;
@@ -158,11 +172,20 @@ body {
.reveal table th {
font-weight: bold; }
.reveal table th, .reveal table td {
.reveal table th,
.reveal table td {
text-align: left;
padding: 0.2em 0.5em 0.2em 0.5em;
border-bottom: 1px solid; }
.reveal table th[align="center"],
.reveal table td[align="center"] {
text-align: center; }
.reveal table th[align="right"],
.reveal table td[align="right"] {
text-align: right; }
.reveal table tr:last-child td {
border-bottom: none; }
@@ -192,13 +215,13 @@ body {
transition: color 0.15s ease; }
.reveal a:hover {
color: #c0a76e;
color: #c0a86e;
text-shadow: none;
border: none; }
.reveal .roll span:after {
color: #fff;
background: #564726; }
background: #564826; }
/*********************************************
* IMAGES
@@ -209,6 +232,10 @@ body {
border: 4px solid #333;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); }
.reveal section img.plain {
border: 0;
box-shadow: none; }
.reveal a img {
-webkit-transition: all 0.15s linear;
-moz-transition: all 0.15s linear;
@@ -222,29 +249,33 @@ body {
/*********************************************
* NAVIGATION CONTROLS
*********************************************/
.reveal .controls div.navigate-left, .reveal .controls div.navigate-left.enabled {
.reveal .controls .navigate-left,
.reveal .controls .navigate-left.enabled {
border-right-color: #8b743d; }
.reveal .controls div.navigate-right, .reveal .controls div.navigate-right.enabled {
.reveal .controls .navigate-right,
.reveal .controls .navigate-right.enabled {
border-left-color: #8b743d; }
.reveal .controls div.navigate-up, .reveal .controls div.navigate-up.enabled {
.reveal .controls .navigate-up,
.reveal .controls .navigate-up.enabled {
border-bottom-color: #8b743d; }
.reveal .controls div.navigate-down, .reveal .controls div.navigate-down.enabled {
.reveal .controls .navigate-down,
.reveal .controls .navigate-down.enabled {
border-top-color: #8b743d; }
.reveal .controls div.navigate-left.enabled:hover {
border-right-color: #c0a76e; }
.reveal .controls .navigate-left.enabled:hover {
border-right-color: #c0a86e; }
.reveal .controls div.navigate-right.enabled:hover {
border-left-color: #c0a76e; }
.reveal .controls .navigate-right.enabled:hover {
border-left-color: #c0a86e; }
.reveal .controls div.navigate-up.enabled:hover {
border-bottom-color: #c0a76e; }
.reveal .controls .navigate-up.enabled:hover {
border-bottom-color: #c0a86e; }
.reveal .controls div.navigate-down.enabled:hover {
border-top-color: #c0a76e; }
.reveal .controls .navigate-down.enabled:hover {
border-top-color: #c0a86e; }
/*********************************************
* PROGRESS BAR
@@ -257,9 +288,3 @@ body {
-webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
-moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); }
/*********************************************
* SLIDE NUMBER
*********************************************/
.reveal .slide-number {
color: #8b743d; }

View File

@@ -1,9 +1,9 @@
@import url(../../lib/font/source-sans-pro/source-sans-pro.css);
/**
* Black theme for reveal.js. This is the opposite of the 'white' theme.
*
* Copyright (C) 2015 Hakim El Hattab, http://hakim.se
*/
@import url(../../lib/font/source-sans-pro/source-sans-pro.css);
section.has-light-background, section.has-light-background h1, section.has-light-background h2, section.has-light-background h3, section.has-light-background h4, section.has-light-background h5, section.has-light-background h6 {
color: #222; }
@@ -15,7 +15,7 @@ body {
background-color: #222; }
.reveal {
font-family: 'Source Sans Pro', Helvetica, sans-serif;
font-family: "Source Sans Pro", Helvetica, sans-serif;
font-size: 38px;
font-weight: normal;
color: #fff; }
@@ -25,17 +25,23 @@ body {
background: #bee4fd;
text-shadow: none; }
.reveal .slides > section, .reveal .slides > section > section {
.reveal .slides > section,
.reveal .slides > section > section {
line-height: 1.3;
font-weight: inherit; }
/*********************************************
* HEADERS
*********************************************/
.reveal h1, .reveal h2, .reveal h3, .reveal h4, .reveal h5, .reveal h6 {
.reveal h1,
.reveal h2,
.reveal h3,
.reveal h4,
.reveal h5,
.reveal h6 {
margin: 0 0 20px 0;
color: #fff;
font-family: 'Source Sans Pro', Helvetica, sans-serif;
font-family: "Source Sans Pro", Helvetica, sans-serif;
font-weight: 600;
line-height: 1.2;
letter-spacing: normal;
@@ -66,17 +72,22 @@ body {
line-height: 1.3; }
/* Ensure certain elements are never larger than the slide itself */
.reveal img, .reveal video, .reveal iframe {
.reveal img,
.reveal video,
.reveal iframe {
max-width: 95%;
max-height: 95%; }
.reveal strong, .reveal b {
.reveal strong,
.reveal b {
font-weight: bold; }
.reveal em {
font-style: italic; }
.reveal ol, .reveal dl, .reveal ul {
.reveal ol,
.reveal dl,
.reveal ul {
display: inline-block;
text-align: left;
margin: 0 0 0 1em; }
@@ -93,7 +104,10 @@ body {
.reveal ul ul ul {
list-style-type: circle; }
.reveal ul ul, .reveal ul ol, .reveal ol ol, .reveal ol ul {
.reveal ul ul,
.reveal ul ol,
.reveal ol ol,
.reveal ol ul {
display: block;
margin-left: 40px; }
@@ -103,7 +117,8 @@ body {
.reveal dd {
margin-left: 40px; }
.reveal q, .reveal blockquote {
.reveal q,
.reveal blockquote {
quotes: none; }
.reveal blockquote {
@@ -116,7 +131,8 @@ body {
background: rgba(255, 255, 255, 0.05);
box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); }
.reveal blockquote p:first-child, .reveal blockquote p:last-child {
.reveal blockquote p:first-child,
.reveal blockquote p:last-child {
display: inline-block; }
.reveal q {
@@ -142,9 +158,7 @@ body {
padding: 5px;
overflow: auto;
max-height: 400px;
word-wrap: normal;
background: #3F3F3F;
color: #DCDCDC; }
word-wrap: normal; }
.reveal table {
margin: auto;
@@ -154,11 +168,20 @@ body {
.reveal table th {
font-weight: bold; }
.reveal table th, .reveal table td {
.reveal table th,
.reveal table td {
text-align: left;
padding: 0.2em 0.5em 0.2em 0.5em;
border-bottom: 1px solid; }
.reveal table th[align="center"],
.reveal table td[align="center"] {
text-align: center; }
.reveal table th[align="right"],
.reveal table td[align="right"] {
text-align: right; }
.reveal table tr:last-child td {
border-bottom: none; }
@@ -194,7 +217,7 @@ body {
.reveal .roll span:after {
color: #fff;
background: #068ee9; }
background: #068de9; }
/*********************************************
* IMAGES
@@ -205,6 +228,10 @@ body {
border: 4px solid #fff;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); }
.reveal section img.plain {
border: 0;
box-shadow: none; }
.reveal a img {
-webkit-transition: all 0.15s linear;
-moz-transition: all 0.15s linear;
@@ -218,28 +245,32 @@ body {
/*********************************************
* NAVIGATION CONTROLS
*********************************************/
.reveal .controls div.navigate-left, .reveal .controls div.navigate-left.enabled {
.reveal .controls .navigate-left,
.reveal .controls .navigate-left.enabled {
border-right-color: #42affa; }
.reveal .controls div.navigate-right, .reveal .controls div.navigate-right.enabled {
.reveal .controls .navigate-right,
.reveal .controls .navigate-right.enabled {
border-left-color: #42affa; }
.reveal .controls div.navigate-up, .reveal .controls div.navigate-up.enabled {
.reveal .controls .navigate-up,
.reveal .controls .navigate-up.enabled {
border-bottom-color: #42affa; }
.reveal .controls div.navigate-down, .reveal .controls div.navigate-down.enabled {
.reveal .controls .navigate-down,
.reveal .controls .navigate-down.enabled {
border-top-color: #42affa; }
.reveal .controls div.navigate-left.enabled:hover {
.reveal .controls .navigate-left.enabled:hover {
border-right-color: #8dcffc; }
.reveal .controls div.navigate-right.enabled:hover {
.reveal .controls .navigate-right.enabled:hover {
border-left-color: #8dcffc; }
.reveal .controls div.navigate-up.enabled:hover {
.reveal .controls .navigate-up.enabled:hover {
border-bottom-color: #8dcffc; }
.reveal .controls div.navigate-down.enabled:hover {
.reveal .controls .navigate-down.enabled:hover {
border-top-color: #8dcffc; }
/*********************************************
@@ -253,9 +284,3 @@ body {
-webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
-moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); }
/*********************************************
* SLIDE NUMBER
*********************************************/
.reveal .slide-number {
color: #42affa; }

View File

@@ -1,4 +1,3 @@
@import url(https://fonts.googleapis.com/css?family=Ubuntu:300,700,300italic,700italic);
/**
* Blood theme for reveal.js
* Author: Walther http://github.com/Walther
@@ -10,21 +9,16 @@
* For other themes, change $codeBackground accordingly.
*
*/
@import url(https://fonts.googleapis.com/css?family=Ubuntu:300,700,300italic,700italic);
/*********************************************
* GLOBAL STYLES
*********************************************/
body {
background: #222;
background: -moz-radial-gradient(center, circle cover, #626262 0%, #222 100%);
background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%, #626262), color-stop(100%, #222));
background: -webkit-radial-gradient(center, circle cover, #626262 0%, #222 100%);
background: -o-radial-gradient(center, circle cover, #626262 0%, #222 100%);
background: -ms-radial-gradient(center, circle cover, #626262 0%, #222 100%);
background: radial-gradient(center, circle cover, #626262 0%, #222 100%);
background-color: #2b2b2b; }
background-color: #222; }
.reveal {
font-family: Ubuntu, 'sans-serif';
font-family: Ubuntu, "sans-serif";
font-size: 36px;
font-weight: normal;
color: #eee; }
@@ -34,17 +28,23 @@ body {
background: #a23;
text-shadow: none; }
.reveal .slides > section, .reveal .slides > section > section {
.reveal .slides > section,
.reveal .slides > section > section {
line-height: 1.3;
font-weight: inherit; }
/*********************************************
* HEADERS
*********************************************/
.reveal h1, .reveal h2, .reveal h3, .reveal h4, .reveal h5, .reveal h6 {
.reveal h1,
.reveal h2,
.reveal h3,
.reveal h4,
.reveal h5,
.reveal h6 {
margin: 0 0 20px 0;
color: #eee;
font-family: Ubuntu, 'sans-serif';
font-family: Ubuntu, "sans-serif";
font-weight: normal;
line-height: 1.2;
letter-spacing: normal;
@@ -75,17 +75,22 @@ body {
line-height: 1.3; }
/* Ensure certain elements are never larger than the slide itself */
.reveal img, .reveal video, .reveal iframe {
.reveal img,
.reveal video,
.reveal iframe {
max-width: 95%;
max-height: 95%; }
.reveal strong, .reveal b {
.reveal strong,
.reveal b {
font-weight: bold; }
.reveal em {
font-style: italic; }
.reveal ol, .reveal dl, .reveal ul {
.reveal ol,
.reveal dl,
.reveal ul {
display: inline-block;
text-align: left;
margin: 0 0 0 1em; }
@@ -102,7 +107,10 @@ body {
.reveal ul ul ul {
list-style-type: circle; }
.reveal ul ul, .reveal ul ol, .reveal ol ol, .reveal ol ul {
.reveal ul ul,
.reveal ul ol,
.reveal ol ol,
.reveal ol ul {
display: block;
margin-left: 40px; }
@@ -112,7 +120,8 @@ body {
.reveal dd {
margin-left: 40px; }
.reveal q, .reveal blockquote {
.reveal q,
.reveal blockquote {
quotes: none; }
.reveal blockquote {
@@ -125,7 +134,8 @@ body {
background: rgba(255, 255, 255, 0.05);
box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); }
.reveal blockquote p:first-child, .reveal blockquote p:last-child {
.reveal blockquote p:first-child,
.reveal blockquote p:last-child {
display: inline-block; }
.reveal q {
@@ -151,9 +161,7 @@ body {
padding: 5px;
overflow: auto;
max-height: 400px;
word-wrap: normal;
background: #3F3F3F;
color: #DCDCDC; }
word-wrap: normal; }
.reveal table {
margin: auto;
@@ -163,11 +171,20 @@ body {
.reveal table th {
font-weight: bold; }
.reveal table th, .reveal table td {
.reveal table th,
.reveal table td {
text-align: left;
padding: 0.2em 0.5em 0.2em 0.5em;
border-bottom: 1px solid; }
.reveal table th[align="center"],
.reveal table td[align="center"] {
text-align: center; }
.reveal table th[align="right"],
.reveal table td[align="right"] {
text-align: right; }
.reveal table tr:last-child td {
border-bottom: none; }
@@ -197,13 +214,13 @@ body {
transition: color 0.15s ease; }
.reveal a:hover {
color: #dd5567;
color: #dd5566;
text-shadow: none;
border: none; }
.reveal .roll span:after {
color: #fff;
background: #6a1521; }
background: #6a1520; }
/*********************************************
* IMAGES
@@ -214,6 +231,10 @@ body {
border: 4px solid #eee;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); }
.reveal section img.plain {
border: 0;
box-shadow: none; }
.reveal a img {
-webkit-transition: all 0.15s linear;
-moz-transition: all 0.15s linear;
@@ -227,29 +248,33 @@ body {
/*********************************************
* NAVIGATION CONTROLS
*********************************************/
.reveal .controls div.navigate-left, .reveal .controls div.navigate-left.enabled {
.reveal .controls .navigate-left,
.reveal .controls .navigate-left.enabled {
border-right-color: #a23; }
.reveal .controls div.navigate-right, .reveal .controls div.navigate-right.enabled {
.reveal .controls .navigate-right,
.reveal .controls .navigate-right.enabled {
border-left-color: #a23; }
.reveal .controls div.navigate-up, .reveal .controls div.navigate-up.enabled {
.reveal .controls .navigate-up,
.reveal .controls .navigate-up.enabled {
border-bottom-color: #a23; }
.reveal .controls div.navigate-down, .reveal .controls div.navigate-down.enabled {
.reveal .controls .navigate-down,
.reveal .controls .navigate-down.enabled {
border-top-color: #a23; }
.reveal .controls div.navigate-left.enabled:hover {
border-right-color: #dd5567; }
.reveal .controls .navigate-left.enabled:hover {
border-right-color: #dd5566; }
.reveal .controls div.navigate-right.enabled:hover {
border-left-color: #dd5567; }
.reveal .controls .navigate-right.enabled:hover {
border-left-color: #dd5566; }
.reveal .controls div.navigate-up.enabled:hover {
border-bottom-color: #dd5567; }
.reveal .controls .navigate-up.enabled:hover {
border-bottom-color: #dd5566; }
.reveal .controls div.navigate-down.enabled:hover {
border-top-color: #dd5567; }
.reveal .controls .navigate-down.enabled:hover {
border-top-color: #dd5566; }
/*********************************************
* PROGRESS BAR
@@ -263,25 +288,18 @@ body {
-moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); }
/*********************************************
* SLIDE NUMBER
*********************************************/
.reveal .slide-number {
color: #a23; }
.reveal p {
font-weight: 300;
text-shadow: 1px 1px #222; }
.reveal h1, .reveal h2, .reveal h3, .reveal h4, .reveal h5, .reveal h6 {
.reveal h1,
.reveal h2,
.reveal h3,
.reveal h4,
.reveal h5,
.reveal h6 {
font-weight: 700; }
.reveal a, .reveal a:hover {
text-shadow: 2px 2px 2px #000; }
.reveal small a, .reveal small a:hover {
text-shadow: 1px 1px 1px #000; }
.reveal p code {
background-color: #23241f;
display: inline-block;

View File

@@ -1,5 +1,3 @@
@import url(../../lib/font/league-gothic/league-gothic.css);
@import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic);
/**
* League theme for reveal.js.
*
@@ -7,6 +5,8 @@
*
* Copyright (C) 2011-2012 Hakim El Hattab, http://hakim.se
*/
@import url(../../lib/font/league-gothic/league-gothic.css);
@import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic);
/*********************************************
* GLOBAL STYLES
*********************************************/
@@ -21,7 +21,7 @@ body {
background-color: #2b2b2b; }
.reveal {
font-family: 'Lato', sans-serif;
font-family: "Lato", sans-serif;
font-size: 36px;
font-weight: normal;
color: #eee; }
@@ -31,17 +31,23 @@ body {
background: #FF5E99;
text-shadow: none; }
.reveal .slides > section, .reveal .slides > section > section {
.reveal .slides > section,
.reveal .slides > section > section {
line-height: 1.3;
font-weight: inherit; }
/*********************************************
* HEADERS
*********************************************/
.reveal h1, .reveal h2, .reveal h3, .reveal h4, .reveal h5, .reveal h6 {
.reveal h1,
.reveal h2,
.reveal h3,
.reveal h4,
.reveal h5,
.reveal h6 {
margin: 0 0 20px 0;
color: #eee;
font-family: 'League Gothic', Impact, sans-serif;
font-family: "League Gothic", Impact, sans-serif;
font-weight: normal;
line-height: 1.2;
letter-spacing: normal;
@@ -72,17 +78,22 @@ body {
line-height: 1.3; }
/* Ensure certain elements are never larger than the slide itself */
.reveal img, .reveal video, .reveal iframe {
.reveal img,
.reveal video,
.reveal iframe {
max-width: 95%;
max-height: 95%; }
.reveal strong, .reveal b {
.reveal strong,
.reveal b {
font-weight: bold; }
.reveal em {
font-style: italic; }
.reveal ol, .reveal dl, .reveal ul {
.reveal ol,
.reveal dl,
.reveal ul {
display: inline-block;
text-align: left;
margin: 0 0 0 1em; }
@@ -99,7 +110,10 @@ body {
.reveal ul ul ul {
list-style-type: circle; }
.reveal ul ul, .reveal ul ol, .reveal ol ol, .reveal ol ul {
.reveal ul ul,
.reveal ul ol,
.reveal ol ol,
.reveal ol ul {
display: block;
margin-left: 40px; }
@@ -109,7 +123,8 @@ body {
.reveal dd {
margin-left: 40px; }
.reveal q, .reveal blockquote {
.reveal q,
.reveal blockquote {
quotes: none; }
.reveal blockquote {
@@ -122,7 +137,8 @@ body {
background: rgba(255, 255, 255, 0.05);
box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); }
.reveal blockquote p:first-child, .reveal blockquote p:last-child {
.reveal blockquote p:first-child,
.reveal blockquote p:last-child {
display: inline-block; }
.reveal q {
@@ -148,9 +164,7 @@ body {
padding: 5px;
overflow: auto;
max-height: 400px;
word-wrap: normal;
background: #3F3F3F;
color: #DCDCDC; }
word-wrap: normal; }
.reveal table {
margin: auto;
@@ -160,11 +174,20 @@ body {
.reveal table th {
font-weight: bold; }
.reveal table th, .reveal table td {
.reveal table th,
.reveal table td {
text-align: left;
padding: 0.2em 0.5em 0.2em 0.5em;
border-bottom: 1px solid; }
.reveal table th[align="center"],
.reveal table td[align="center"] {
text-align: center; }
.reveal table th[align="right"],
.reveal table td[align="right"] {
text-align: right; }
.reveal table tr:last-child td {
border-bottom: none; }
@@ -194,13 +217,13 @@ body {
transition: color 0.15s ease; }
.reveal a:hover {
color: #71ebf4;
color: #71e9f4;
text-shadow: none;
border: none; }
.reveal .roll span:after {
color: #fff;
background: #0d9ba5; }
background: #0d99a5; }
/*********************************************
* IMAGES
@@ -211,6 +234,10 @@ body {
border: 4px solid #eee;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); }
.reveal section img.plain {
border: 0;
box-shadow: none; }
.reveal a img {
-webkit-transition: all 0.15s linear;
-moz-transition: all 0.15s linear;
@@ -224,29 +251,33 @@ body {
/*********************************************
* NAVIGATION CONTROLS
*********************************************/
.reveal .controls div.navigate-left, .reveal .controls div.navigate-left.enabled {
.reveal .controls .navigate-left,
.reveal .controls .navigate-left.enabled {
border-right-color: #13DAEC; }
.reveal .controls div.navigate-right, .reveal .controls div.navigate-right.enabled {
.reveal .controls .navigate-right,
.reveal .controls .navigate-right.enabled {
border-left-color: #13DAEC; }
.reveal .controls div.navigate-up, .reveal .controls div.navigate-up.enabled {
.reveal .controls .navigate-up,
.reveal .controls .navigate-up.enabled {
border-bottom-color: #13DAEC; }
.reveal .controls div.navigate-down, .reveal .controls div.navigate-down.enabled {
.reveal .controls .navigate-down,
.reveal .controls .navigate-down.enabled {
border-top-color: #13DAEC; }
.reveal .controls div.navigate-left.enabled:hover {
border-right-color: #71ebf4; }
.reveal .controls .navigate-left.enabled:hover {
border-right-color: #71e9f4; }
.reveal .controls div.navigate-right.enabled:hover {
border-left-color: #71ebf4; }
.reveal .controls .navigate-right.enabled:hover {
border-left-color: #71e9f4; }
.reveal .controls div.navigate-up.enabled:hover {
border-bottom-color: #71ebf4; }
.reveal .controls .navigate-up.enabled:hover {
border-bottom-color: #71e9f4; }
.reveal .controls div.navigate-down.enabled:hover {
border-top-color: #71ebf4; }
.reveal .controls .navigate-down.enabled:hover {
border-top-color: #71e9f4; }
/*********************************************
* PROGRESS BAR
@@ -259,9 +290,3 @@ body {
-webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
-moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); }
/*********************************************
* SLIDE NUMBER
*********************************************/
.reveal .slide-number {
color: #13DAEC; }

View File

@@ -1,9 +1,9 @@
@import url(../../lib/font/league-gothic/league-gothic.css);
@import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic);
/**
* Solarized Dark theme for reveal.js.
* Author: Achim Staebler
*/
@import url(../../lib/font/league-gothic/league-gothic.css);
@import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic);
/**
* Solarized colors by Ethan Schoonover
*/
@@ -19,7 +19,7 @@ body {
background-color: #002b36; }
.reveal {
font-family: 'Lato', sans-serif;
font-family: "Lato", sans-serif;
font-size: 36px;
font-weight: normal;
color: #93a1a1; }
@@ -29,17 +29,23 @@ body {
background: #d33682;
text-shadow: none; }
.reveal .slides > section, .reveal .slides > section > section {
.reveal .slides > section,
.reveal .slides > section > section {
line-height: 1.3;
font-weight: inherit; }
/*********************************************
* HEADERS
*********************************************/
.reveal h1, .reveal h2, .reveal h3, .reveal h4, .reveal h5, .reveal h6 {
.reveal h1,
.reveal h2,
.reveal h3,
.reveal h4,
.reveal h5,
.reveal h6 {
margin: 0 0 20px 0;
color: #eee8d5;
font-family: 'League Gothic', Impact, sans-serif;
font-family: "League Gothic", Impact, sans-serif;
font-weight: normal;
line-height: 1.2;
letter-spacing: normal;
@@ -70,17 +76,22 @@ body {
line-height: 1.3; }
/* Ensure certain elements are never larger than the slide itself */
.reveal img, .reveal video, .reveal iframe {
.reveal img,
.reveal video,
.reveal iframe {
max-width: 95%;
max-height: 95%; }
.reveal strong, .reveal b {
.reveal strong,
.reveal b {
font-weight: bold; }
.reveal em {
font-style: italic; }
.reveal ol, .reveal dl, .reveal ul {
.reveal ol,
.reveal dl,
.reveal ul {
display: inline-block;
text-align: left;
margin: 0 0 0 1em; }
@@ -97,7 +108,10 @@ body {
.reveal ul ul ul {
list-style-type: circle; }
.reveal ul ul, .reveal ul ol, .reveal ol ol, .reveal ol ul {
.reveal ul ul,
.reveal ul ol,
.reveal ol ol,
.reveal ol ul {
display: block;
margin-left: 40px; }
@@ -107,7 +121,8 @@ body {
.reveal dd {
margin-left: 40px; }
.reveal q, .reveal blockquote {
.reveal q,
.reveal blockquote {
quotes: none; }
.reveal blockquote {
@@ -120,7 +135,8 @@ body {
background: rgba(255, 255, 255, 0.05);
box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); }
.reveal blockquote p:first-child, .reveal blockquote p:last-child {
.reveal blockquote p:first-child,
.reveal blockquote p:last-child {
display: inline-block; }
.reveal q {
@@ -146,9 +162,7 @@ body {
padding: 5px;
overflow: auto;
max-height: 400px;
word-wrap: normal;
background: #3F3F3F;
color: #DCDCDC; }
word-wrap: normal; }
.reveal table {
margin: auto;
@@ -158,11 +172,20 @@ body {
.reveal table th {
font-weight: bold; }
.reveal table th, .reveal table td {
.reveal table th,
.reveal table td {
text-align: left;
padding: 0.2em 0.5em 0.2em 0.5em;
border-bottom: 1px solid; }
.reveal table th[align="center"],
.reveal table td[align="center"] {
text-align: center; }
.reveal table th[align="right"],
.reveal table td[align="right"] {
text-align: right; }
.reveal table tr:last-child td {
border-bottom: none; }
@@ -192,13 +215,13 @@ body {
transition: color 0.15s ease; }
.reveal a:hover {
color: #78bae6;
color: #78b9e6;
text-shadow: none;
border: none; }
.reveal .roll span:after {
color: #fff;
background: #1a6291; }
background: #1a6091; }
/*********************************************
* IMAGES
@@ -209,6 +232,10 @@ body {
border: 4px solid #93a1a1;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); }
.reveal section img.plain {
border: 0;
box-shadow: none; }
.reveal a img {
-webkit-transition: all 0.15s linear;
-moz-transition: all 0.15s linear;
@@ -222,29 +249,33 @@ body {
/*********************************************
* NAVIGATION CONTROLS
*********************************************/
.reveal .controls div.navigate-left, .reveal .controls div.navigate-left.enabled {
.reveal .controls .navigate-left,
.reveal .controls .navigate-left.enabled {
border-right-color: #268bd2; }
.reveal .controls div.navigate-right, .reveal .controls div.navigate-right.enabled {
.reveal .controls .navigate-right,
.reveal .controls .navigate-right.enabled {
border-left-color: #268bd2; }
.reveal .controls div.navigate-up, .reveal .controls div.navigate-up.enabled {
.reveal .controls .navigate-up,
.reveal .controls .navigate-up.enabled {
border-bottom-color: #268bd2; }
.reveal .controls div.navigate-down, .reveal .controls div.navigate-down.enabled {
.reveal .controls .navigate-down,
.reveal .controls .navigate-down.enabled {
border-top-color: #268bd2; }
.reveal .controls div.navigate-left.enabled:hover {
border-right-color: #78bae6; }
.reveal .controls .navigate-left.enabled:hover {
border-right-color: #78b9e6; }
.reveal .controls div.navigate-right.enabled:hover {
border-left-color: #78bae6; }
.reveal .controls .navigate-right.enabled:hover {
border-left-color: #78b9e6; }
.reveal .controls div.navigate-up.enabled:hover {
border-bottom-color: #78bae6; }
.reveal .controls .navigate-up.enabled:hover {
border-bottom-color: #78b9e6; }
.reveal .controls div.navigate-down.enabled:hover {
border-top-color: #78bae6; }
.reveal .controls .navigate-down.enabled:hover {
border-top-color: #78b9e6; }
/*********************************************
* PROGRESS BAR
@@ -257,9 +288,3 @@ body {
-webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
-moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); }
/*********************************************
* SLIDE NUMBER
*********************************************/
.reveal .slide-number {
color: #268bd2; }

View File

@@ -1,10 +1,10 @@
@import url(https://fonts.googleapis.com/css?family=Montserrat:700);
@import url(https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic,700italic);
/**
* Black theme for reveal.js.
*
* Copyright (C) 2011-2012 Hakim El Hattab, http://hakim.se
*/
@import url(https://fonts.googleapis.com/css?family=Montserrat:700);
@import url(https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic,700italic);
/*********************************************
* GLOBAL STYLES
*********************************************/
@@ -13,7 +13,7 @@ body {
background-color: #111; }
.reveal {
font-family: 'Open Sans', sans-serif;
font-family: "Open Sans", sans-serif;
font-size: 30px;
font-weight: normal;
color: #eee; }
@@ -23,17 +23,23 @@ body {
background: #e7ad52;
text-shadow: none; }
.reveal .slides > section, .reveal .slides > section > section {
.reveal .slides > section,
.reveal .slides > section > section {
line-height: 1.3;
font-weight: inherit; }
/*********************************************
* HEADERS
*********************************************/
.reveal h1, .reveal h2, .reveal h3, .reveal h4, .reveal h5, .reveal h6 {
.reveal h1,
.reveal h2,
.reveal h3,
.reveal h4,
.reveal h5,
.reveal h6 {
margin: 0 0 20px 0;
color: #eee;
font-family: 'Montserrat', Impact, sans-serif;
font-family: "Montserrat", Impact, sans-serif;
font-weight: normal;
line-height: 1.2;
letter-spacing: -0.03em;
@@ -64,17 +70,22 @@ body {
line-height: 1.3; }
/* Ensure certain elements are never larger than the slide itself */
.reveal img, .reveal video, .reveal iframe {
.reveal img,
.reveal video,
.reveal iframe {
max-width: 95%;
max-height: 95%; }
.reveal strong, .reveal b {
.reveal strong,
.reveal b {
font-weight: bold; }
.reveal em {
font-style: italic; }
.reveal ol, .reveal dl, .reveal ul {
.reveal ol,
.reveal dl,
.reveal ul {
display: inline-block;
text-align: left;
margin: 0 0 0 1em; }
@@ -91,7 +102,10 @@ body {
.reveal ul ul ul {
list-style-type: circle; }
.reveal ul ul, .reveal ul ol, .reveal ol ol, .reveal ol ul {
.reveal ul ul,
.reveal ul ol,
.reveal ol ol,
.reveal ol ul {
display: block;
margin-left: 40px; }
@@ -101,7 +115,8 @@ body {
.reveal dd {
margin-left: 40px; }
.reveal q, .reveal blockquote {
.reveal q,
.reveal blockquote {
quotes: none; }
.reveal blockquote {
@@ -114,7 +129,8 @@ body {
background: rgba(255, 255, 255, 0.05);
box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); }
.reveal blockquote p:first-child, .reveal blockquote p:last-child {
.reveal blockquote p:first-child,
.reveal blockquote p:last-child {
display: inline-block; }
.reveal q {
@@ -140,9 +156,7 @@ body {
padding: 5px;
overflow: auto;
max-height: 400px;
word-wrap: normal;
background: #3F3F3F;
color: #DCDCDC; }
word-wrap: normal; }
.reveal table {
margin: auto;
@@ -152,11 +166,20 @@ body {
.reveal table th {
font-weight: bold; }
.reveal table th, .reveal table td {
.reveal table th,
.reveal table td {
text-align: left;
padding: 0.2em 0.5em 0.2em 0.5em;
border-bottom: 1px solid; }
.reveal table th[align="center"],
.reveal table td[align="center"] {
text-align: center; }
.reveal table th[align="right"],
.reveal table td[align="right"] {
text-align: right; }
.reveal table tr:last-child td {
border-bottom: none; }
@@ -192,7 +215,7 @@ body {
.reveal .roll span:after {
color: #fff;
background: #d0881d; }
background: #d08a1d; }
/*********************************************
* IMAGES
@@ -203,6 +226,10 @@ body {
border: 4px solid #eee;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); }
.reveal section img.plain {
border: 0;
box-shadow: none; }
.reveal a img {
-webkit-transition: all 0.15s linear;
-moz-transition: all 0.15s linear;
@@ -216,28 +243,32 @@ body {
/*********************************************
* NAVIGATION CONTROLS
*********************************************/
.reveal .controls div.navigate-left, .reveal .controls div.navigate-left.enabled {
.reveal .controls .navigate-left,
.reveal .controls .navigate-left.enabled {
border-right-color: #e7ad52; }
.reveal .controls div.navigate-right, .reveal .controls div.navigate-right.enabled {
.reveal .controls .navigate-right,
.reveal .controls .navigate-right.enabled {
border-left-color: #e7ad52; }
.reveal .controls div.navigate-up, .reveal .controls div.navigate-up.enabled {
.reveal .controls .navigate-up,
.reveal .controls .navigate-up.enabled {
border-bottom-color: #e7ad52; }
.reveal .controls div.navigate-down, .reveal .controls div.navigate-down.enabled {
.reveal .controls .navigate-down,
.reveal .controls .navigate-down.enabled {
border-top-color: #e7ad52; }
.reveal .controls div.navigate-left.enabled:hover {
.reveal .controls .navigate-left.enabled:hover {
border-right-color: #f3d7ac; }
.reveal .controls div.navigate-right.enabled:hover {
.reveal .controls .navigate-right.enabled:hover {
border-left-color: #f3d7ac; }
.reveal .controls div.navigate-up.enabled:hover {
.reveal .controls .navigate-up.enabled:hover {
border-bottom-color: #f3d7ac; }
.reveal .controls div.navigate-down.enabled:hover {
.reveal .controls .navigate-down.enabled:hover {
border-top-color: #f3d7ac; }
/*********************************************
@@ -251,9 +282,3 @@ body {
-webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
-moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); }
/*********************************************
* SLIDE NUMBER
*********************************************/
.reveal .slide-number {
color: #e7ad52; }

View File

@@ -15,7 +15,7 @@ body {
background-color: #F0F1EB; }
.reveal {
font-family: 'Palatino Linotype', 'Book Antiqua', Palatino, FreeSerif, serif;
font-family: "Palatino Linotype", "Book Antiqua", Palatino, FreeSerif, serif;
font-size: 36px;
font-weight: normal;
color: #000; }
@@ -25,17 +25,23 @@ body {
background: #26351C;
text-shadow: none; }
.reveal .slides > section, .reveal .slides > section > section {
.reveal .slides > section,
.reveal .slides > section > section {
line-height: 1.3;
font-weight: inherit; }
/*********************************************
* HEADERS
*********************************************/
.reveal h1, .reveal h2, .reveal h3, .reveal h4, .reveal h5, .reveal h6 {
.reveal h1,
.reveal h2,
.reveal h3,
.reveal h4,
.reveal h5,
.reveal h6 {
margin: 0 0 20px 0;
color: #383D3D;
font-family: 'Palatino Linotype', 'Book Antiqua', Palatino, FreeSerif, serif;
font-family: "Palatino Linotype", "Book Antiqua", Palatino, FreeSerif, serif;
font-weight: normal;
line-height: 1.2;
letter-spacing: normal;
@@ -66,17 +72,22 @@ body {
line-height: 1.3; }
/* Ensure certain elements are never larger than the slide itself */
.reveal img, .reveal video, .reveal iframe {
.reveal img,
.reveal video,
.reveal iframe {
max-width: 95%;
max-height: 95%; }
.reveal strong, .reveal b {
.reveal strong,
.reveal b {
font-weight: bold; }
.reveal em {
font-style: italic; }
.reveal ol, .reveal dl, .reveal ul {
.reveal ol,
.reveal dl,
.reveal ul {
display: inline-block;
text-align: left;
margin: 0 0 0 1em; }
@@ -93,7 +104,10 @@ body {
.reveal ul ul ul {
list-style-type: circle; }
.reveal ul ul, .reveal ul ol, .reveal ol ol, .reveal ol ul {
.reveal ul ul,
.reveal ul ol,
.reveal ol ol,
.reveal ol ul {
display: block;
margin-left: 40px; }
@@ -103,7 +117,8 @@ body {
.reveal dd {
margin-left: 40px; }
.reveal q, .reveal blockquote {
.reveal q,
.reveal blockquote {
quotes: none; }
.reveal blockquote {
@@ -116,7 +131,8 @@ body {
background: rgba(255, 255, 255, 0.05);
box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); }
.reveal blockquote p:first-child, .reveal blockquote p:last-child {
.reveal blockquote p:first-child,
.reveal blockquote p:last-child {
display: inline-block; }
.reveal q {
@@ -142,9 +158,7 @@ body {
padding: 5px;
overflow: auto;
max-height: 400px;
word-wrap: normal;
background: #3F3F3F;
color: #DCDCDC; }
word-wrap: normal; }
.reveal table {
margin: auto;
@@ -154,11 +168,20 @@ body {
.reveal table th {
font-weight: bold; }
.reveal table th, .reveal table td {
.reveal table th,
.reveal table td {
text-align: left;
padding: 0.2em 0.5em 0.2em 0.5em;
border-bottom: 1px solid; }
.reveal table th[align="center"],
.reveal table td[align="center"] {
text-align: center; }
.reveal table th[align="right"],
.reveal table td[align="right"] {
text-align: right; }
.reveal table tr:last-child td {
border-bottom: none; }
@@ -188,7 +211,7 @@ body {
transition: color 0.15s ease; }
.reveal a:hover {
color: #8b7b69;
color: #8b7c69;
text-shadow: none;
border: none; }
@@ -205,6 +228,10 @@ body {
border: 4px solid #000;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); }
.reveal section img.plain {
border: 0;
box-shadow: none; }
.reveal a img {
-webkit-transition: all 0.15s linear;
-moz-transition: all 0.15s linear;
@@ -218,29 +245,33 @@ body {
/*********************************************
* NAVIGATION CONTROLS
*********************************************/
.reveal .controls div.navigate-left, .reveal .controls div.navigate-left.enabled {
.reveal .controls .navigate-left,
.reveal .controls .navigate-left.enabled {
border-right-color: #51483D; }
.reveal .controls div.navigate-right, .reveal .controls div.navigate-right.enabled {
.reveal .controls .navigate-right,
.reveal .controls .navigate-right.enabled {
border-left-color: #51483D; }
.reveal .controls div.navigate-up, .reveal .controls div.navigate-up.enabled {
.reveal .controls .navigate-up,
.reveal .controls .navigate-up.enabled {
border-bottom-color: #51483D; }
.reveal .controls div.navigate-down, .reveal .controls div.navigate-down.enabled {
.reveal .controls .navigate-down,
.reveal .controls .navigate-down.enabled {
border-top-color: #51483D; }
.reveal .controls div.navigate-left.enabled:hover {
border-right-color: #8b7b69; }
.reveal .controls .navigate-left.enabled:hover {
border-right-color: #8b7c69; }
.reveal .controls div.navigate-right.enabled:hover {
border-left-color: #8b7b69; }
.reveal .controls .navigate-right.enabled:hover {
border-left-color: #8b7c69; }
.reveal .controls div.navigate-up.enabled:hover {
border-bottom-color: #8b7b69; }
.reveal .controls .navigate-up.enabled:hover {
border-bottom-color: #8b7c69; }
.reveal .controls div.navigate-down.enabled:hover {
border-top-color: #8b7b69; }
.reveal .controls .navigate-down.enabled:hover {
border-top-color: #8b7c69; }
/*********************************************
* PROGRESS BAR
@@ -253,9 +284,3 @@ body {
-webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
-moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); }
/*********************************************
* SLIDE NUMBER
*********************************************/
.reveal .slide-number {
color: #51483D; }

View File

@@ -1,5 +1,3 @@
@import url(https://fonts.googleapis.com/css?family=News+Cycle:400,700);
@import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic);
/**
* A simple theme for reveal.js presentations, similar
* to the default theme. The accent color is darkblue.
@@ -7,6 +5,8 @@
* This theme is Copyright (C) 2012 Owen Versteeg, https://github.com/StereotypicalApps. It is MIT licensed.
* reveal.js is Copyright (C) 2011-2012 Hakim El Hattab, http://hakim.se
*/
@import url(https://fonts.googleapis.com/css?family=News+Cycle:400,700);
@import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic);
/*********************************************
* GLOBAL STYLES
*********************************************/
@@ -15,7 +15,7 @@ body {
background-color: #fff; }
.reveal {
font-family: 'Lato', sans-serif;
font-family: "Lato", sans-serif;
font-size: 36px;
font-weight: normal;
color: #000; }
@@ -25,17 +25,23 @@ body {
background: rgba(0, 0, 0, 0.99);
text-shadow: none; }
.reveal .slides > section, .reveal .slides > section > section {
.reveal .slides > section,
.reveal .slides > section > section {
line-height: 1.3;
font-weight: inherit; }
/*********************************************
* HEADERS
*********************************************/
.reveal h1, .reveal h2, .reveal h3, .reveal h4, .reveal h5, .reveal h6 {
.reveal h1,
.reveal h2,
.reveal h3,
.reveal h4,
.reveal h5,
.reveal h6 {
margin: 0 0 20px 0;
color: #000;
font-family: 'News Cycle', Impact, sans-serif;
font-family: "News Cycle", Impact, sans-serif;
font-weight: normal;
line-height: 1.2;
letter-spacing: normal;
@@ -66,17 +72,22 @@ body {
line-height: 1.3; }
/* Ensure certain elements are never larger than the slide itself */
.reveal img, .reveal video, .reveal iframe {
.reveal img,
.reveal video,
.reveal iframe {
max-width: 95%;
max-height: 95%; }
.reveal strong, .reveal b {
.reveal strong,
.reveal b {
font-weight: bold; }
.reveal em {
font-style: italic; }
.reveal ol, .reveal dl, .reveal ul {
.reveal ol,
.reveal dl,
.reveal ul {
display: inline-block;
text-align: left;
margin: 0 0 0 1em; }
@@ -93,7 +104,10 @@ body {
.reveal ul ul ul {
list-style-type: circle; }
.reveal ul ul, .reveal ul ol, .reveal ol ol, .reveal ol ul {
.reveal ul ul,
.reveal ul ol,
.reveal ol ol,
.reveal ol ul {
display: block;
margin-left: 40px; }
@@ -103,7 +117,8 @@ body {
.reveal dd {
margin-left: 40px; }
.reveal q, .reveal blockquote {
.reveal q,
.reveal blockquote {
quotes: none; }
.reveal blockquote {
@@ -116,7 +131,8 @@ body {
background: rgba(255, 255, 255, 0.05);
box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); }
.reveal blockquote p:first-child, .reveal blockquote p:last-child {
.reveal blockquote p:first-child,
.reveal blockquote p:last-child {
display: inline-block; }
.reveal q {
@@ -142,9 +158,7 @@ body {
padding: 5px;
overflow: auto;
max-height: 400px;
word-wrap: normal;
background: #3F3F3F;
color: #DCDCDC; }
word-wrap: normal; }
.reveal table {
margin: auto;
@@ -154,11 +168,20 @@ body {
.reveal table th {
font-weight: bold; }
.reveal table th, .reveal table td {
.reveal table th,
.reveal table td {
text-align: left;
padding: 0.2em 0.5em 0.2em 0.5em;
border-bottom: 1px solid; }
.reveal table th[align="center"],
.reveal table td[align="center"] {
text-align: center; }
.reveal table th[align="right"],
.reveal table td[align="right"] {
text-align: right; }
.reveal table tr:last-child td {
border-bottom: none; }
@@ -205,6 +228,10 @@ body {
border: 4px solid #000;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); }
.reveal section img.plain {
border: 0;
box-shadow: none; }
.reveal a img {
-webkit-transition: all 0.15s linear;
-moz-transition: all 0.15s linear;
@@ -218,28 +245,32 @@ body {
/*********************************************
* NAVIGATION CONTROLS
*********************************************/
.reveal .controls div.navigate-left, .reveal .controls div.navigate-left.enabled {
.reveal .controls .navigate-left,
.reveal .controls .navigate-left.enabled {
border-right-color: #00008B; }
.reveal .controls div.navigate-right, .reveal .controls div.navigate-right.enabled {
.reveal .controls .navigate-right,
.reveal .controls .navigate-right.enabled {
border-left-color: #00008B; }
.reveal .controls div.navigate-up, .reveal .controls div.navigate-up.enabled {
.reveal .controls .navigate-up,
.reveal .controls .navigate-up.enabled {
border-bottom-color: #00008B; }
.reveal .controls div.navigate-down, .reveal .controls div.navigate-down.enabled {
.reveal .controls .navigate-down,
.reveal .controls .navigate-down.enabled {
border-top-color: #00008B; }
.reveal .controls div.navigate-left.enabled:hover {
.reveal .controls .navigate-left.enabled:hover {
border-right-color: #0000f1; }
.reveal .controls div.navigate-right.enabled:hover {
.reveal .controls .navigate-right.enabled:hover {
border-left-color: #0000f1; }
.reveal .controls div.navigate-up.enabled:hover {
.reveal .controls .navigate-up.enabled:hover {
border-bottom-color: #0000f1; }
.reveal .controls div.navigate-down.enabled:hover {
.reveal .controls .navigate-down.enabled:hover {
border-top-color: #0000f1; }
/*********************************************
@@ -253,9 +284,3 @@ body {
-webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
-moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); }
/*********************************************
* SLIDE NUMBER
*********************************************/
.reveal .slide-number {
color: #00008B; }

View File

@@ -1,10 +1,10 @@
@import url(https://fonts.googleapis.com/css?family=Quicksand:400,700,400italic,700italic);
@import url(https://fonts.googleapis.com/css?family=Open+Sans:400italic,700italic,400,700);
/**
* Sky theme for reveal.js.
*
* Copyright (C) 2011-2012 Hakim El Hattab, http://hakim.se
*/
@import url(https://fonts.googleapis.com/css?family=Quicksand:400,700,400italic,700italic);
@import url(https://fonts.googleapis.com/css?family=Open+Sans:400italic,700italic,400,700);
.reveal a {
line-height: 1.3em; }
@@ -22,7 +22,7 @@ body {
background-color: #f7fbfc; }
.reveal {
font-family: 'Open Sans', sans-serif;
font-family: "Open Sans", sans-serif;
font-size: 36px;
font-weight: normal;
color: #333; }
@@ -32,17 +32,23 @@ body {
background: #134674;
text-shadow: none; }
.reveal .slides > section, .reveal .slides > section > section {
.reveal .slides > section,
.reveal .slides > section > section {
line-height: 1.3;
font-weight: inherit; }
/*********************************************
* HEADERS
*********************************************/
.reveal h1, .reveal h2, .reveal h3, .reveal h4, .reveal h5, .reveal h6 {
.reveal h1,
.reveal h2,
.reveal h3,
.reveal h4,
.reveal h5,
.reveal h6 {
margin: 0 0 20px 0;
color: #333;
font-family: 'Quicksand', sans-serif;
font-family: "Quicksand", sans-serif;
font-weight: normal;
line-height: 1.2;
letter-spacing: -0.08em;
@@ -73,17 +79,22 @@ body {
line-height: 1.3; }
/* Ensure certain elements are never larger than the slide itself */
.reveal img, .reveal video, .reveal iframe {
.reveal img,
.reveal video,
.reveal iframe {
max-width: 95%;
max-height: 95%; }
.reveal strong, .reveal b {
.reveal strong,
.reveal b {
font-weight: bold; }
.reveal em {
font-style: italic; }
.reveal ol, .reveal dl, .reveal ul {
.reveal ol,
.reveal dl,
.reveal ul {
display: inline-block;
text-align: left;
margin: 0 0 0 1em; }
@@ -100,7 +111,10 @@ body {
.reveal ul ul ul {
list-style-type: circle; }
.reveal ul ul, .reveal ul ol, .reveal ol ol, .reveal ol ul {
.reveal ul ul,
.reveal ul ol,
.reveal ol ol,
.reveal ol ul {
display: block;
margin-left: 40px; }
@@ -110,7 +124,8 @@ body {
.reveal dd {
margin-left: 40px; }
.reveal q, .reveal blockquote {
.reveal q,
.reveal blockquote {
quotes: none; }
.reveal blockquote {
@@ -123,7 +138,8 @@ body {
background: rgba(255, 255, 255, 0.05);
box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); }
.reveal blockquote p:first-child, .reveal blockquote p:last-child {
.reveal blockquote p:first-child,
.reveal blockquote p:last-child {
display: inline-block; }
.reveal q {
@@ -149,9 +165,7 @@ body {
padding: 5px;
overflow: auto;
max-height: 400px;
word-wrap: normal;
background: #3F3F3F;
color: #DCDCDC; }
word-wrap: normal; }
.reveal table {
margin: auto;
@@ -161,11 +175,20 @@ body {
.reveal table th {
font-weight: bold; }
.reveal table th, .reveal table td {
.reveal table th,
.reveal table td {
text-align: left;
padding: 0.2em 0.5em 0.2em 0.5em;
border-bottom: 1px solid; }
.reveal table th[align="center"],
.reveal table td[align="center"] {
text-align: center; }
.reveal table th[align="right"],
.reveal table td[align="right"] {
text-align: right; }
.reveal table tr:last-child td {
border-bottom: none; }
@@ -195,13 +218,13 @@ body {
transition: color 0.15s ease; }
.reveal a:hover {
color: #74a8cb;
color: #74a7cb;
text-shadow: none;
border: none; }
.reveal .roll span:after {
color: #fff;
background: #264d66; }
background: #264c66; }
/*********************************************
* IMAGES
@@ -212,6 +235,10 @@ body {
border: 4px solid #333;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); }
.reveal section img.plain {
border: 0;
box-shadow: none; }
.reveal a img {
-webkit-transition: all 0.15s linear;
-moz-transition: all 0.15s linear;
@@ -225,29 +252,33 @@ body {
/*********************************************
* NAVIGATION CONTROLS
*********************************************/
.reveal .controls div.navigate-left, .reveal .controls div.navigate-left.enabled {
.reveal .controls .navigate-left,
.reveal .controls .navigate-left.enabled {
border-right-color: #3b759e; }
.reveal .controls div.navigate-right, .reveal .controls div.navigate-right.enabled {
.reveal .controls .navigate-right,
.reveal .controls .navigate-right.enabled {
border-left-color: #3b759e; }
.reveal .controls div.navigate-up, .reveal .controls div.navigate-up.enabled {
.reveal .controls .navigate-up,
.reveal .controls .navigate-up.enabled {
border-bottom-color: #3b759e; }
.reveal .controls div.navigate-down, .reveal .controls div.navigate-down.enabled {
.reveal .controls .navigate-down,
.reveal .controls .navigate-down.enabled {
border-top-color: #3b759e; }
.reveal .controls div.navigate-left.enabled:hover {
border-right-color: #74a8cb; }
.reveal .controls .navigate-left.enabled:hover {
border-right-color: #74a7cb; }
.reveal .controls div.navigate-right.enabled:hover {
border-left-color: #74a8cb; }
.reveal .controls .navigate-right.enabled:hover {
border-left-color: #74a7cb; }
.reveal .controls div.navigate-up.enabled:hover {
border-bottom-color: #74a8cb; }
.reveal .controls .navigate-up.enabled:hover {
border-bottom-color: #74a7cb; }
.reveal .controls div.navigate-down.enabled:hover {
border-top-color: #74a8cb; }
.reveal .controls .navigate-down.enabled:hover {
border-top-color: #74a7cb; }
/*********************************************
* PROGRESS BAR
@@ -260,9 +291,3 @@ body {
-webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
-moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); }
/*********************************************
* SLIDE NUMBER
*********************************************/
.reveal .slide-number {
color: #3b759e; }

View File

@@ -1,9 +1,9 @@
@import url(../../lib/font/league-gothic/league-gothic.css);
@import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic);
/**
* Solarized Light theme for reveal.js.
* Author: Achim Staebler
*/
@import url(../../lib/font/league-gothic/league-gothic.css);
@import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic);
/**
* Solarized colors by Ethan Schoonover
*/
@@ -19,7 +19,7 @@ body {
background-color: #fdf6e3; }
.reveal {
font-family: 'Lato', sans-serif;
font-family: "Lato", sans-serif;
font-size: 36px;
font-weight: normal;
color: #657b83; }
@@ -29,17 +29,23 @@ body {
background: #d33682;
text-shadow: none; }
.reveal .slides > section, .reveal .slides > section > section {
.reveal .slides > section,
.reveal .slides > section > section {
line-height: 1.3;
font-weight: inherit; }
/*********************************************
* HEADERS
*********************************************/
.reveal h1, .reveal h2, .reveal h3, .reveal h4, .reveal h5, .reveal h6 {
.reveal h1,
.reveal h2,
.reveal h3,
.reveal h4,
.reveal h5,
.reveal h6 {
margin: 0 0 20px 0;
color: #586e75;
font-family: 'League Gothic', Impact, sans-serif;
font-family: "League Gothic", Impact, sans-serif;
font-weight: normal;
line-height: 1.2;
letter-spacing: normal;
@@ -70,17 +76,22 @@ body {
line-height: 1.3; }
/* Ensure certain elements are never larger than the slide itself */
.reveal img, .reveal video, .reveal iframe {
.reveal img,
.reveal video,
.reveal iframe {
max-width: 95%;
max-height: 95%; }
.reveal strong, .reveal b {
.reveal strong,
.reveal b {
font-weight: bold; }
.reveal em {
font-style: italic; }
.reveal ol, .reveal dl, .reveal ul {
.reveal ol,
.reveal dl,
.reveal ul {
display: inline-block;
text-align: left;
margin: 0 0 0 1em; }
@@ -97,7 +108,10 @@ body {
.reveal ul ul ul {
list-style-type: circle; }
.reveal ul ul, .reveal ul ol, .reveal ol ol, .reveal ol ul {
.reveal ul ul,
.reveal ul ol,
.reveal ol ol,
.reveal ol ul {
display: block;
margin-left: 40px; }
@@ -107,7 +121,8 @@ body {
.reveal dd {
margin-left: 40px; }
.reveal q, .reveal blockquote {
.reveal q,
.reveal blockquote {
quotes: none; }
.reveal blockquote {
@@ -120,7 +135,8 @@ body {
background: rgba(255, 255, 255, 0.05);
box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); }
.reveal blockquote p:first-child, .reveal blockquote p:last-child {
.reveal blockquote p:first-child,
.reveal blockquote p:last-child {
display: inline-block; }
.reveal q {
@@ -146,9 +162,7 @@ body {
padding: 5px;
overflow: auto;
max-height: 400px;
word-wrap: normal;
background: #3F3F3F;
color: #DCDCDC; }
word-wrap: normal; }
.reveal table {
margin: auto;
@@ -158,11 +172,20 @@ body {
.reveal table th {
font-weight: bold; }
.reveal table th, .reveal table td {
.reveal table th,
.reveal table td {
text-align: left;
padding: 0.2em 0.5em 0.2em 0.5em;
border-bottom: 1px solid; }
.reveal table th[align="center"],
.reveal table td[align="center"] {
text-align: center; }
.reveal table th[align="right"],
.reveal table td[align="right"] {
text-align: right; }
.reveal table tr:last-child td {
border-bottom: none; }
@@ -192,13 +215,13 @@ body {
transition: color 0.15s ease; }
.reveal a:hover {
color: #78bae6;
color: #78b9e6;
text-shadow: none;
border: none; }
.reveal .roll span:after {
color: #fff;
background: #1a6291; }
background: #1a6091; }
/*********************************************
* IMAGES
@@ -209,6 +232,10 @@ body {
border: 4px solid #657b83;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); }
.reveal section img.plain {
border: 0;
box-shadow: none; }
.reveal a img {
-webkit-transition: all 0.15s linear;
-moz-transition: all 0.15s linear;
@@ -222,29 +249,33 @@ body {
/*********************************************
* NAVIGATION CONTROLS
*********************************************/
.reveal .controls div.navigate-left, .reveal .controls div.navigate-left.enabled {
.reveal .controls .navigate-left,
.reveal .controls .navigate-left.enabled {
border-right-color: #268bd2; }
.reveal .controls div.navigate-right, .reveal .controls div.navigate-right.enabled {
.reveal .controls .navigate-right,
.reveal .controls .navigate-right.enabled {
border-left-color: #268bd2; }
.reveal .controls div.navigate-up, .reveal .controls div.navigate-up.enabled {
.reveal .controls .navigate-up,
.reveal .controls .navigate-up.enabled {
border-bottom-color: #268bd2; }
.reveal .controls div.navigate-down, .reveal .controls div.navigate-down.enabled {
.reveal .controls .navigate-down,
.reveal .controls .navigate-down.enabled {
border-top-color: #268bd2; }
.reveal .controls div.navigate-left.enabled:hover {
border-right-color: #78bae6; }
.reveal .controls .navigate-left.enabled:hover {
border-right-color: #78b9e6; }
.reveal .controls div.navigate-right.enabled:hover {
border-left-color: #78bae6; }
.reveal .controls .navigate-right.enabled:hover {
border-left-color: #78b9e6; }
.reveal .controls div.navigate-up.enabled:hover {
border-bottom-color: #78bae6; }
.reveal .controls .navigate-up.enabled:hover {
border-bottom-color: #78b9e6; }
.reveal .controls div.navigate-down.enabled:hover {
border-top-color: #78bae6; }
.reveal .controls .navigate-down.enabled:hover {
border-top-color: #78b9e6; }
/*********************************************
* PROGRESS BAR
@@ -257,9 +288,3 @@ body {
-webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
-moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); }
/*********************************************
* SLIDE NUMBER
*********************************************/
.reveal .slide-number {
color: #268bd2; }

View File

@@ -24,6 +24,8 @@ $blood: #a23;
$coal: #222;
$codeBackground: #23241f;
$backgroundColor: $coal;
// Main text
$mainFont: Ubuntu, 'sans-serif';
$mainFontSize: 36px;
@@ -45,10 +47,6 @@ $linkColorHover: lighten( $linkColor, 20% );
$selectionBackgroundColor: $blood;
$selectionColor: #fff;
// Background generator
@mixin bodyBackground() {
@include radial-gradient( $coal, lighten( $coal, 25% ) );
}
// Theme template ------------------------------
@import "../template/theme";
@@ -61,7 +59,7 @@ $selectionColor: #fff;
text-shadow: 1px 1px $coal;
}
.reveal h1,
.reveal h1,
.reveal h2,
.reveal h3,
.reveal h4,
@@ -70,16 +68,6 @@ $selectionColor: #fff;
font-weight: 700;
}
.reveal a,
.reveal a:hover {
text-shadow: 2px 2px 2px #000;
}
.reveal small a,
.reveal small a:hover {
text-shadow: 1px 1px 1px #000;
}
.reveal p code {
background-color: $codeBackground;
display: inline-block;

View File

@@ -178,8 +178,6 @@ body {
overflow: auto;
max-height: 400px;
word-wrap: normal;
background: #3F3F3F;
color: #DCDCDC;
}
.reveal table {
@@ -199,8 +197,18 @@ body {
border-bottom: 1px solid;
}
.reveal table th[align="center"],
.reveal table td[align="center"] {
text-align: center;
}
.reveal table th[align="right"],
.reveal table td[align="right"] {
text-align: right;
}
.reveal table tr:last-child td {
border-bottom: none;
border-bottom: none;
}
.reveal sup {
@@ -259,6 +267,11 @@ body {
box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
}
.reveal section img.plain {
border: 0;
box-shadow: none;
}
.reveal a img {
-webkit-transition: all .15s linear;
-moz-transition: all .15s linear;
@@ -277,39 +290,39 @@ body {
* NAVIGATION CONTROLS
*********************************************/
.reveal .controls div.navigate-left,
.reveal .controls div.navigate-left.enabled {
.reveal .controls .navigate-left,
.reveal .controls .navigate-left.enabled {
border-right-color: $linkColor;
}
.reveal .controls div.navigate-right,
.reveal .controls div.navigate-right.enabled {
.reveal .controls .navigate-right,
.reveal .controls .navigate-right.enabled {
border-left-color: $linkColor;
}
.reveal .controls div.navigate-up,
.reveal .controls div.navigate-up.enabled {
.reveal .controls .navigate-up,
.reveal .controls .navigate-up.enabled {
border-bottom-color: $linkColor;
}
.reveal .controls div.navigate-down,
.reveal .controls div.navigate-down.enabled {
.reveal .controls .navigate-down,
.reveal .controls .navigate-down.enabled {
border-top-color: $linkColor;
}
.reveal .controls div.navigate-left.enabled:hover {
.reveal .controls .navigate-left.enabled:hover {
border-right-color: $linkColorHover;
}
.reveal .controls div.navigate-right.enabled:hover {
.reveal .controls .navigate-right.enabled:hover {
border-left-color: $linkColorHover;
}
.reveal .controls div.navigate-up.enabled:hover {
.reveal .controls .navigate-up.enabled:hover {
border-bottom-color: $linkColorHover;
}
.reveal .controls div.navigate-down.enabled:hover {
.reveal .controls .navigate-down.enabled:hover {
border-top-color: $linkColorHover;
}
@@ -329,11 +342,4 @@ body {
transition: width 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
}
/*********************************************
* SLIDE NUMBER
*********************************************/
.reveal .slide-number {
color: $linkColor;
}

View File

@@ -1,9 +1,9 @@
@import url(../../lib/font/source-sans-pro/source-sans-pro.css);
/**
* White theme for reveal.js. This is the opposite of the 'black' theme.
*
* Copyright (C) 2015 Hakim El Hattab, http://hakim.se
*/
@import url(../../lib/font/source-sans-pro/source-sans-pro.css);
section.has-dark-background, section.has-dark-background h1, section.has-dark-background h2, section.has-dark-background h3, section.has-dark-background h4, section.has-dark-background h5, section.has-dark-background h6 {
color: #fff; }
@@ -15,7 +15,7 @@ body {
background-color: #fff; }
.reveal {
font-family: 'Source Sans Pro', Helvetica, sans-serif;
font-family: "Source Sans Pro", Helvetica, sans-serif;
font-size: 38px;
font-weight: normal;
color: #222; }
@@ -25,17 +25,23 @@ body {
background: #98bdef;
text-shadow: none; }
.reveal .slides > section, .reveal .slides > section > section {
.reveal .slides > section,
.reveal .slides > section > section {
line-height: 1.3;
font-weight: inherit; }
/*********************************************
* HEADERS
*********************************************/
.reveal h1, .reveal h2, .reveal h3, .reveal h4, .reveal h5, .reveal h6 {
.reveal h1,
.reveal h2,
.reveal h3,
.reveal h4,
.reveal h5,
.reveal h6 {
margin: 0 0 20px 0;
color: #222;
font-family: 'Source Sans Pro', Helvetica, sans-serif;
font-family: "Source Sans Pro", Helvetica, sans-serif;
font-weight: 600;
line-height: 1.2;
letter-spacing: normal;
@@ -66,17 +72,22 @@ body {
line-height: 1.3; }
/* Ensure certain elements are never larger than the slide itself */
.reveal img, .reveal video, .reveal iframe {
.reveal img,
.reveal video,
.reveal iframe {
max-width: 95%;
max-height: 95%; }
.reveal strong, .reveal b {
.reveal strong,
.reveal b {
font-weight: bold; }
.reveal em {
font-style: italic; }
.reveal ol, .reveal dl, .reveal ul {
.reveal ol,
.reveal dl,
.reveal ul {
display: inline-block;
text-align: left;
margin: 0 0 0 1em; }
@@ -93,7 +104,10 @@ body {
.reveal ul ul ul {
list-style-type: circle; }
.reveal ul ul, .reveal ul ol, .reveal ol ol, .reveal ol ul {
.reveal ul ul,
.reveal ul ol,
.reveal ol ol,
.reveal ol ul {
display: block;
margin-left: 40px; }
@@ -103,7 +117,8 @@ body {
.reveal dd {
margin-left: 40px; }
.reveal q, .reveal blockquote {
.reveal q,
.reveal blockquote {
quotes: none; }
.reveal blockquote {
@@ -116,7 +131,8 @@ body {
background: rgba(255, 255, 255, 0.05);
box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); }
.reveal blockquote p:first-child, .reveal blockquote p:last-child {
.reveal blockquote p:first-child,
.reveal blockquote p:last-child {
display: inline-block; }
.reveal q {
@@ -142,9 +158,7 @@ body {
padding: 5px;
overflow: auto;
max-height: 400px;
word-wrap: normal;
background: #3F3F3F;
color: #DCDCDC; }
word-wrap: normal; }
.reveal table {
margin: auto;
@@ -154,11 +168,20 @@ body {
.reveal table th {
font-weight: bold; }
.reveal table th, .reveal table td {
.reveal table th,
.reveal table td {
text-align: left;
padding: 0.2em 0.5em 0.2em 0.5em;
border-bottom: 1px solid; }
.reveal table th[align="center"],
.reveal table td[align="center"] {
text-align: center; }
.reveal table th[align="right"],
.reveal table td[align="right"] {
text-align: right; }
.reveal table tr:last-child td {
border-bottom: none; }
@@ -188,13 +211,13 @@ body {
transition: color 0.15s ease; }
.reveal a:hover {
color: #6ca2e8;
color: #6ca0e8;
text-shadow: none;
border: none; }
.reveal .roll span:after {
color: #fff;
background: #1a54a1; }
background: #1a53a1; }
/*********************************************
* IMAGES
@@ -205,6 +228,10 @@ body {
border: 4px solid #222;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); }
.reveal section img.plain {
border: 0;
box-shadow: none; }
.reveal a img {
-webkit-transition: all 0.15s linear;
-moz-transition: all 0.15s linear;
@@ -218,29 +245,33 @@ body {
/*********************************************
* NAVIGATION CONTROLS
*********************************************/
.reveal .controls div.navigate-left, .reveal .controls div.navigate-left.enabled {
.reveal .controls .navigate-left,
.reveal .controls .navigate-left.enabled {
border-right-color: #2a76dd; }
.reveal .controls div.navigate-right, .reveal .controls div.navigate-right.enabled {
.reveal .controls .navigate-right,
.reveal .controls .navigate-right.enabled {
border-left-color: #2a76dd; }
.reveal .controls div.navigate-up, .reveal .controls div.navigate-up.enabled {
.reveal .controls .navigate-up,
.reveal .controls .navigate-up.enabled {
border-bottom-color: #2a76dd; }
.reveal .controls div.navigate-down, .reveal .controls div.navigate-down.enabled {
.reveal .controls .navigate-down,
.reveal .controls .navigate-down.enabled {
border-top-color: #2a76dd; }
.reveal .controls div.navigate-left.enabled:hover {
border-right-color: #6ca2e8; }
.reveal .controls .navigate-left.enabled:hover {
border-right-color: #6ca0e8; }
.reveal .controls div.navigate-right.enabled:hover {
border-left-color: #6ca2e8; }
.reveal .controls .navigate-right.enabled:hover {
border-left-color: #6ca0e8; }
.reveal .controls div.navigate-up.enabled:hover {
border-bottom-color: #6ca2e8; }
.reveal .controls .navigate-up.enabled:hover {
border-bottom-color: #6ca0e8; }
.reveal .controls div.navigate-down.enabled:hover {
border-top-color: #6ca2e8; }
.reveal .controls .navigate-down.enabled:hover {
border-top-color: #6ca0e8; }
/*********************************************
* PROGRESS BAR
@@ -253,9 +284,3 @@ body {
-webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
-moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); }
/*********************************************
* SLIDE NUMBER
*********************************************/
.reveal .slide-number {
color: #2a76dd; }

View File

@@ -4,13 +4,13 @@
<head>
<meta charset="utf-8">
<title>reveal.js - The HTML Presentation Framework</title>
<title>reveal.js The HTML Presentation Framework</title>
<meta name="description" content="A framework for easily creating beautiful presentations using HTML">
<meta name="author" content="Hakim El Hattab">
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, minimal-ui">
@@ -75,7 +75,7 @@
<p>That's it, time to go back up.</p>
<br>
<a href="#/2">
<img width="178" height="238" data-src="https://s3.amazonaws.com/hakim-static/reveal-js/arrow.png" alt="Up arrow" style="-webkit-transform: rotate(180deg);">
<img width="178" height="238" data-src="https://s3.amazonaws.com/hakim-static/reveal-js/arrow.png" alt="Up arrow" style="transform: rotate(180deg); -webkit-transform: rotate(180deg);">
</a>
</section>
</section>
@@ -138,7 +138,6 @@
<p>There's different types of fragments, like:</p>
<p class="fragment grow">grow</p>
<p class="fragment shrink">shrink</p>
<p class="fragment roll-in">roll-in</p>
<p class="fragment fade-out">fade-out</p>
<p class="fragment current-visible">current-visible</p>
<p class="fragment highlight-red">highlight-red</p>
@@ -171,6 +170,7 @@
<a href="#" onclick="document.getElementById('theme').setAttribute('href','css/theme/beige.css'); return false;">Beige</a> -
<a href="#" onclick="document.getElementById('theme').setAttribute('href','css/theme/simple.css'); return false;">Simple</a> <br>
<a href="#" onclick="document.getElementById('theme').setAttribute('href','css/theme/serif.css'); return false;">Serif</a> -
<a href="#" onclick="document.getElementById('theme').setAttribute('href','css/theme/blood.css'); return false;">Blood</a> -
<a href="#" onclick="document.getElementById('theme').setAttribute('href','css/theme/night.css'); return false;">Night</a> -
<a href="#" onclick="document.getElementById('theme').setAttribute('href','css/theme/moon.css'); return false;">Moon</a> -
<a href="#" onclick="document.getElementById('theme').setAttribute('href','css/theme/solarized.css'); return false;">Solarized</a>
@@ -189,18 +189,21 @@
</section>
<section data-background="https://s3.amazonaws.com/hakim-static/reveal-js/image-placeholder.png">
<h2>Image Backgrounds</h2>
<pre><code>&lt;section data-background="image.png"&gt;</code></pre>
<pre><code class="hljs">&lt;section data-background="image.png"&gt;</code></pre>
</section>
<section data-background="https://s3.amazonaws.com/hakim-static/reveal-js/image-placeholder.png" data-background-repeat="repeat" data-background-size="100px">
<h2>Tiled Backgrounds</h2>
<pre><code style="word-wrap: break-word;">&lt;section data-background="image.png" data-background-repeat="repeat" data-background-size="100px"&gt;</code></pre>
<pre><code class="hljs" style="word-wrap: break-word;">&lt;section data-background="image.png" data-background-repeat="repeat" data-background-size="100px"&gt;</code></pre>
</section>
<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-color="#000000">
<div style="background-color: rgba(0, 0, 0, 0.9); color: #fff; padding: 20px;">
<h2>Video Backgrounds</h2>
<pre><code style="word-wrap: break-word;">&lt;section data-background-video="video.mp4,video.webm"&gt;</code></pre>
<pre><code class="hljs" style="word-wrap: break-word;">&lt;section data-background-video="video.mp4,video.webm"&gt;</code></pre>
</div>
</section>
<section data-background="http://i.giphy.com/90F8aUepslB84.gif">
<h2>... and GIFs!</h2>
</section>
</section>
<section data-transition="slide" data-background="#4d7e65" data-background-transition="zoom">
@@ -208,7 +211,7 @@
<p>
Different background transitions are available via the backgroundTransition option. This one's called "zoom".
</p>
<pre><code>Reveal.configure({ backgroundTransition: 'zoom' })</code></pre>
<pre><code class="hljs">Reveal.configure({ backgroundTransition: 'zoom' })</code></pre>
</section>
<section data-transition="slide" data-background="#b5533c" data-background-transition="zoom">
@@ -216,12 +219,12 @@
<p>
You can override background transitions per-slide.
</p>
<pre><code style="word-wrap: break-word;">&lt;section data-background-transition="zoom"&gt;</code></pre>
<pre><code class="hljs" style="word-wrap: break-word;">&lt;section data-background-transition="zoom"&gt;</code></pre>
</section>
<section>
<h2>Pretty Code</h2>
<pre><code data-trim contenteditable>
<pre><code class="hljs" data-trim contenteditable>
function linkify( selector ) {
if( supports3DTransforms ) {
@@ -274,17 +277,17 @@ function linkify( selector ) {
<td>Apples</td>
<td>$1</td>
<td>7</td>
<tr>
</tr>
<tr>
<td>Lemonade</td>
<td>$2</td>
<td>18</td>
<tr>
</tr>
<tr>
<td>Bread</td>
<td>$3</td>
<td>2</td>
<tr>
</tr>
</tbody>
</table>
</section>
@@ -322,7 +325,7 @@ function linkify( selector ) {
<section>
<h2>Export to PDF</h2>
<p>Presentations can be <a href="https://github.com/hakimel/reveal.js#pdf-export">exported to PDF</a>, here's an example:</p>
<iframe src="//www.slideshare.net/slideshow/embed_code/42840540" width="445" height="355" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:3px solid #666; margin-bottom:5px; max-width: 100%;" allowfullscreen> </iframe>
<iframe src="https://www.slideshare.net/slideshow/embed_code/42840540" width="445" height="355" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:3px solid #666; margin-bottom:5px; max-width: 100%;" allowfullscreen> </iframe>
</section>
<section>
@@ -396,7 +399,7 @@ Reveal.addEventListener( 'customevent', function() {
{ src: 'lib/js/classList.js', condition: function() { return !document.body.classList; } },
{ src: 'plugin/markdown/marked.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
{ src: 'plugin/markdown/markdown.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
{ src: 'plugin/highlight/highlight.js', async: true, condition: function() { return !!document.querySelector( 'pre code' ); }, callback: function() { hljs.initHighlightingOnLoad(); } },
{ src: 'plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } },
{ src: 'plugin/zoom-js/zoom.js', async: true },
{ src: 'plugin/notes/notes.js', async: true }
]

File diff suppressed because it is too large Load Diff

View File

@@ -1,14 +1,15 @@
/*
Zenburn style from voldmar.ru (c) Vladimir Epifanov <voldmar@voldmar.ru>
based on dark.css by Ivan Sagalaev
*/
.hljs {
display: block; padding: 0.5em;
background: #3F3F3F;
color: #DCDCDC;
display: block;
overflow-x: auto;
padding: 0.5em;
background: #3f3f3f;
color: #dcdcdc;
-webkit-text-size-adjust: none;
}
.hljs-keyword,
@@ -20,25 +21,26 @@ based on dark.css by Ivan Sagalaev
.hljs-request,
.hljs-status,
.clojure .hljs-attribute {
color: #E3CEAB;
color: #e3ceab;
}
.django .hljs-template_tag,
.django .hljs-variable,
.django .hljs-filter .hljs-argument {
color: #DCDCDC;
color: #dcdcdc;
}
.hljs-number,
.hljs-date {
color: #8CD0D3;
color: #8cd0d3;
}
.dos .hljs-envvar,
.dos .hljs-stream,
.hljs-variable,
.apache .hljs-sqbracket {
color: #EFDCBC;
.apache .hljs-sqbracket,
.hljs-name {
color: #efdcbc;
}
.dos .hljs-flow,
@@ -47,32 +49,32 @@ based on dark.css by Ivan Sagalaev
.python .hljs-built_in,
.hljs-literal,
.tex .hljs-special {
color: #EFEFAF;
color: #efefaf;
}
.diff .hljs-chunk,
.hljs-subst {
color: #8F8F8F;
color: #8f8f8f;
}
.dos .hljs-keyword,
.python .hljs-decorator,
.hljs-decorator,
.hljs-title,
.haskell .hljs-type,
.hljs-type,
.diff .hljs-header,
.ruby .hljs-class .hljs-parent,
.apache .hljs-tag,
.nginx .hljs-built_in,
.tex .hljs-command,
.hljs-prompt {
color: #efef8f;
color: #efef8f;
}
.dos .hljs-winutils,
.ruby .hljs-symbol,
.ruby .hljs-symbol .hljs-string,
.ruby .hljs-string {
color: #DCA3A3;
color: #dca3a3;
}
.diff .hljs-deletion,
@@ -81,28 +83,25 @@ based on dark.css by Ivan Sagalaev
.hljs-preprocessor,
.hljs-pragma,
.hljs-built_in,
.sql .hljs-aggregate,
.hljs-javadoc,
.smalltalk .hljs-class,
.smalltalk .hljs-localvars,
.smalltalk .hljs-array,
.css .hljs-rules .hljs-value,
.css .hljs-rule .hljs-value,
.hljs-attr_selector,
.hljs-pseudo,
.apache .hljs-cbracket,
.tex .hljs-formula,
.coffeescript .hljs-attribute {
color: #CC9393;
color: #cc9393;
}
.hljs-shebang,
.diff .hljs-addition,
.hljs-comment,
.java .hljs-annotation,
.hljs-template_comment,
.hljs-annotation,
.hljs-pi,
.hljs-doctype {
color: #7F9F7F;
color: #7f9f7f;
}
.coffeescript .javascript,
@@ -113,5 +112,4 @@ based on dark.css by Ivan Sagalaev
.xml .css,
.xml .hljs-cdata {
opacity: 0.5;
}
}

View File

@@ -1,12 +1,13 @@
{
"name": "reveal.js",
"version": "3.0.0",
"version": "3.2.0",
"description": "The HTML Presentation Framework",
"homepage": "http://lab.hakim.se/reveal-js",
"subdomain": "revealjs",
"main": "js/reveal.js",
"scripts": {
"test": "grunt test",
"start": ""
"start": "grunt serve"
},
"author": {
"name": "Hakim El Hattab",
@@ -18,31 +19,27 @@
"url": "git://github.com/hakimel/reveal.js.git"
},
"engines": {
"node": "~0.10.0"
"node": "~4.1.1"
},
"dependencies": {
"underscore": "~1.5.1",
"express": "~2.5.9",
"mustache": "~0.7.2",
"socket.io": "~0.9.16"
"underscore": "~1.8.3",
"express": "~4.13.3",
"mustache": "~2.1.3",
"socket.io": "~1.3.7"
},
"devDependencies": {
"grunt-contrib-qunit": "~0.5.2",
"grunt-contrib-jshint": "~0.6.4",
"grunt-contrib-cssmin": "~0.4.1",
"grunt-contrib-uglify": "~0.2.4",
"grunt-contrib-watch": "~0.5.3",
"grunt-sass": "~0.14.0",
"grunt-contrib-connect": "~0.8.0",
"grunt-autoprefixer": "~1.0.1",
"grunt-zip": "~0.7.0",
"grunt": "~0.4.0",
"node-sass": "~0.9.3"
"grunt-contrib-qunit": "~0.7.0",
"grunt-contrib-jshint": "~0.11.3",
"grunt-contrib-cssmin": "~0.14.0",
"grunt-contrib-uglify": "~0.9.2",
"grunt-contrib-watch": "~0.6.1",
"grunt-sass": "~1.1.0-beta",
"grunt-contrib-connect": "~0.11.2",
"grunt-autoprefixer": "~3.0.3",
"grunt-zip": "~0.17.1",
"grunt": "~0.4.5",
"node-sass": "~3.3.3"
},
"licenses": [
{
"type": "MIT",
"url": "https://github.com/hakimel/reveal.js/blob/master/LICENSE"
}
]
"license": "MIT"
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -7,7 +7,7 @@
<title>reveal.js - Markdown Demo</title>
<link rel="stylesheet" href="../../css/reveal.css">
<link rel="stylesheet" href="../../css/theme/default.css" id="theme">
<link rel="stylesheet" href="../../css/theme/white.css" id="theme">
<link rel="stylesheet" href="../../lib/css/zenburn.css">
</head>

View File

@@ -26,11 +26,13 @@
});
}
var DEFAULT_SLIDE_SEPARATOR = '^\n---\n$',
var DEFAULT_SLIDE_SEPARATOR = '^\r?\n---\r?\n$',
DEFAULT_NOTES_SEPARATOR = 'note:',
DEFAULT_ELEMENT_ATTRIBUTES_SEPARATOR = '\\\.element\\\s*?(.+?)$',
DEFAULT_SLIDE_ATTRIBUTES_SEPARATOR = '\\\.slide:\\\s*?(\\\S.+?)$';
var SCRIPT_END_PLACEHOLDER = '__SCRIPT_END__';
/**
* Retrieves the markdown contents of a slide section
@@ -43,6 +45,9 @@
// strip leading whitespace so it isn't evaluated as code
var text = ( template || section ).textContent;
// restore script end tags
text = text.replace( new RegExp( SCRIPT_END_PLACEHOLDER, 'g' ), '</script>' );
var leadingWs = text.match( /^\n?(\s*)/ )[1].length,
leadingTabs = text.match( /^\n?(\t*)/ )[1].length;
@@ -50,7 +55,7 @@
text = text.replace( new RegExp('\\n?\\t{' + leadingTabs + '}','g'), '\n' );
}
else if( leadingWs > 1 ) {
text = text.replace( new RegExp('\\n? {' + leadingWs + '}'), '\n' );
text = text.replace( new RegExp('\\n? {' + leadingWs + '}', 'g'), '\n' );
}
return text;
@@ -76,7 +81,7 @@
if( /data\-(markdown|separator|vertical|notes)/gi.test( name ) ) continue;
if( value ) {
result.push( name + '=' + value );
result.push( name + '="' + value + '"' );
}
else {
result.push( name );
@@ -115,6 +120,10 @@
content = notesMatch[0] + '<aside class="notes" data-markdown>' + notesMatch[1].trim() + '</aside>';
}
// prevent script end tags in the content from interfering
// with parsing
content = content.replace( /<\/script>/g, SCRIPT_END_PLACEHOLDER );
return '<script type="text/template">' + content + '</script>';
}

File diff suppressed because one or more lines are too long

View File

@@ -7,14 +7,17 @@
var RevealMath = window.RevealMath || (function(){
var options = Reveal.getConfig().math || {};
options.mathjax = options.mathjax || 'http://cdn.mathjax.org/mathjax/latest/MathJax.js';
options.mathjax = options.mathjax || 'https://cdn.mathjax.org/mathjax/latest/MathJax.js';
options.config = options.config || 'TeX-AMS_HTML-full';
loadScript( options.mathjax + '?config=' + options.config, function() {
MathJax.Hub.Config({
messageStyle: 'none',
tex2jax: { inlineMath: [['$','$'],['\\(','\\)']] },
tex2jax: {
inlineMath: [['$','$'],['\\(','\\)']] ,
skipTags: ['script','noscript','style','textarea','pre']
},
skipStartupTypeset: true
});

View File

@@ -8,6 +8,6 @@
if (data.socketId !== socketId) { return; }
if( window.location.host === 'localhost:1947' ) return;
Reveal.slide(data.indexh, data.indexv, data.indexf, 'remote');
Reveal.setState(data.state);
});
}());

View File

@@ -1,32 +1,32 @@
var http = require('http');
var express = require('express');
var fs = require('fs');
var io = require('socket.io');
var crypto = require('crypto');
var app = express.createServer();
var staticDir = express.static;
var app = express();
var staticDir = express.static;
var server = http.createServer(app);
io = io.listen(app);
io = io(server);
var opts = {
port: 1948,
port: process.env.PORT || 1948,
baseDir : __dirname + '/../../'
};
io.sockets.on('connection', function(socket) {
socket.on('slidechanged', function(slideData) {
if (typeof slideData.secret == 'undefined' || slideData.secret == null || slideData.secret === '') return;
if (createHash(slideData.secret) === slideData.socketId) {
slideData.secret = null;
socket.broadcast.emit(slideData.socketId, slideData);
io.on( 'connection', function( socket ) {
socket.on('multiplex-statechanged', function(data) {
if (typeof data.secret == 'undefined' || data.secret == null || data.secret === '') return;
if (createHash(data.secret) === data.socketId) {
data.secret = null;
socket.broadcast.emit(data.socketId, data);
};
});
});
app.configure(function() {
[ 'css', 'js', 'plugin', 'lib' ].forEach(function(dir) {
app.use('/' + dir, staticDir(opts.baseDir + dir));
});
[ 'css', 'js', 'plugin', 'lib' ].forEach(function(dir) {
app.use('/' + dir, staticDir(opts.baseDir + dir));
});
app.get("/", function(req, res) {
@@ -47,7 +47,7 @@ var createHash = function(secret) {
};
// Actually listen
app.listen(opts.port || null);
server.listen( opts.port || null );
var brown = '\033[33m',
green = '\033[32m',

View File

@@ -1,51 +1,31 @@
(function() {
// Don't emit events from inside of notes windows
if ( window.location.search.match( /receiver/gi ) ) { return; }
var multiplex = Reveal.getConfig().multiplex;
var socket = io.connect(multiplex.url);
var socket = io.connect( multiplex.url );
var notify = function( slideElement, indexh, indexv, origin ) {
if( typeof origin === 'undefined' && origin !== 'remote' ) {
var nextindexh;
var nextindexv;
function post() {
var fragmentindex = Reveal.getIndices().f;
if (typeof fragmentindex == 'undefined') {
fragmentindex = 0;
}
var messageData = {
state: Reveal.getState(),
secret: multiplex.secret,
socketId: multiplex.id
};
if (slideElement.nextElementSibling && slideElement.parentNode.nodeName == 'SECTION') {
nextindexh = indexh;
nextindexv = indexv + 1;
} else {
nextindexh = indexh + 1;
nextindexv = 0;
}
socket.emit( 'multiplex-statechanged', messageData );
var slideData = {
indexh : indexh,
indexv : indexv,
indexf : fragmentindex,
nextindexh : nextindexh,
nextindexv : nextindexv,
secret: multiplex.secret,
socketId : multiplex.id
};
socket.emit('slidechanged', slideData);
}
}
Reveal.addEventListener( 'slidechanged', function( event ) {
notify( event.currentSlide, event.indexh, event.indexv, event.origin );
} );
var fragmentNotify = function( event ) {
notify( Reveal.getCurrentSlide(), Reveal.getIndices().h, Reveal.getIndices().v, event.origin );
};
Reveal.addEventListener( 'fragmentshown', fragmentNotify );
Reveal.addEventListener( 'fragmenthidden', fragmentNotify );
// Monitor events that trigger a change in state
Reveal.addEventListener( 'slidechanged', post );
Reveal.addEventListener( 'fragmentshown', post );
Reveal.addEventListener( 'fragmenthidden', post );
Reveal.addEventListener( 'overviewhidden', post );
Reveal.addEventListener( 'overviewshown', post );
Reveal.addEventListener( 'paused', post );
Reveal.addEventListener( 'resumed', post );
}());

View File

@@ -41,10 +41,15 @@
}
// When a new notes window connects, post our current state
socket.on( 'connect', function( data ) {
socket.on( 'new-subscriber', function( data ) {
post();
} );
// When the state changes from inside of the speaker view
socket.on( 'statechanged-speaker', function( data ) {
Reveal.setState( data.state );
} );
// Monitor events that trigger a change in state
Reveal.addEventListener( 'slidechanged', post );
Reveal.addEventListener( 'fragmentshown', post );

View File

@@ -1,39 +1,41 @@
var http = require('http');
var express = require('express');
var fs = require('fs');
var io = require('socket.io');
var _ = require('underscore');
var Mustache = require('mustache');
var app = express.createServer();
var app = express();
var staticDir = express.static;
var server = http.createServer(app);
io = io.listen(app);
io = io(server);
var opts = {
port : 1947,
baseDir : __dirname + '/../../'
};
io.sockets.on( 'connection', function( socket ) {
io.on( 'connection', function( socket ) {
socket.on( 'connect', function( data ) {
socket.broadcast.emit( 'connect', data );
socket.on( 'new-subscriber', function( data ) {
socket.broadcast.emit( 'new-subscriber', data );
});
socket.on( 'statechanged', function( data ) {
socket.broadcast.emit( 'statechanged', data );
});
});
app.configure( function() {
[ 'css', 'js', 'images', 'plugin', 'lib' ].forEach( function( dir ) {
app.use( '/' + dir, staticDir( opts.baseDir + dir ) );
socket.on( 'statechanged-speaker', function( data ) {
socket.broadcast.emit( 'statechanged-speaker', data );
});
});
[ 'css', 'js', 'images', 'plugin', 'lib' ].forEach( function( dir ) {
app.use( '/' + dir, staticDir( opts.baseDir + dir ) );
});
app.get('/', function( req, res ) {
res.writeHead( 200, { 'Content-Type': 'text/html' } );
@@ -52,7 +54,7 @@ app.get( '/notes/:socketId', function( req, res ) {
});
// Actually listen
app.listen( opts.port || null );
server.listen( opts.port || null );
var brown = '\033[33m',
green = '\033[32m',

View File

@@ -195,7 +195,6 @@
if( connected === false ) {
connected = true;
setupIframes( data );
setupKeyboard();
setupNotes();
setupTimer();
@@ -206,13 +205,26 @@
} );
// Load our presentation iframes
setupIframes();
// Once the iframes have loaded, emit a signal saying there's
// a new subscriber which will trigger a 'statechanged'
// message to be sent back
window.addEventListener( 'message', function( event ) {
var data = JSON.parse( event.data );
if( data && data.namespace === 'reveal' ) {
if( /ready/.test( data.eventName ) ) {
socket.emit( 'connect', { socketId: socketId } );
socket.emit( 'new-subscriber', { socketId: socketId } );
}
}
// Messages sent by reveal.js inside of the current slide preview
if( data && data.namespace === 'reveal' ) {
if( /slidechanged|fragmentshown|fragmenthidden|overviewshown|overviewhidden|paused|resumed/.test( data.eventName ) && currentState !== JSON.stringify( data.state ) ) {
socket.emit( 'statechanged-speaker', { state: data.state } );
}
}
@@ -267,7 +279,7 @@
/**
* Creates the preview iframes.
*/
function setupIframes( data ) {
function setupIframes() {
var params = [
'receiver',
@@ -277,9 +289,8 @@
'backgroundTransition=none'
].join( '&' );
var hash = '#/' + data.state.indexh + '/' + data.state.indexv;
var currentURL = '/?' + params + '&postMessageEvents=true' + hash;
var upcomingURL = '/?' + params + '&controls=false' + hash;
var currentURL = '/?' + params + '&postMessageEvents=true';
var upcomingURL = '/?' + params + '&controls=false';
currentSlide = document.createElement( 'iframe' );
currentSlide.setAttribute( 'width', 1280 );

View File

@@ -239,6 +239,7 @@
// No need for updating the notes in case of fragment changes
if ( data.notes ) {
notes.classList.remove( 'hidden' );
notesValue.style.whiteSpace = data.whitespace;
if( data.markdown ) {
notesValue.innerHTML = marked( data.notes );
}

View File

@@ -28,7 +28,7 @@ var RevealNotes = (function() {
notesPopup.postMessage( JSON.stringify( {
namespace: 'reveal-notes',
type: 'connect',
url: window.location.protocol + '//' + window.location.host + window.location.pathname,
url: window.location.protocol + '//' + window.location.host + window.location.pathname + window.location.search,
state: Reveal.getState()
} ), '*' );
}, 500 );
@@ -55,12 +55,14 @@ var RevealNotes = (function() {
type: 'state',
notes: '',
markdown: false,
whitespace: 'normal',
state: Reveal.getState()
};
// Look for notes defined in a slide attribute
if( slideElement.hasAttribute( 'data-notes' ) ) {
messageData.notes = slideElement.getAttribute( 'data-notes' );
messageData.whitespace = 'pre-wrap';
}
// Look for notes defined in an aside element
@@ -109,6 +111,9 @@ var RevealNotes = (function() {
// modifier is present
if ( document.querySelector( ':focus' ) !== null || event.shiftKey || event.altKey || event.ctrlKey || event.metaKey ) return;
// Disregard the event if keyboard is disabled
if ( Reveal.getConfig().keyboard === false ) return;
if( event.keyCode === 83 ) {
event.preventDefault();
openNotes();

View File

@@ -1,39 +0,0 @@
/**
* Touch-based remote controller for your presentation courtesy
* of the folks at http://remotes.io
*/
(function(window){
/**
* Detects if we are dealing with a touch enabled device (with some false positives)
* Borrowed from modernizr: https://github.com/Modernizr/Modernizr/blob/master/feature-detects/touch.js
*/
var hasTouch = (function(){
return ('ontouchstart' in window) || window.DocumentTouch && document instanceof DocumentTouch;
})();
/**
* Detects if notes are enable and the current page is opened inside an /iframe
* this prevents loading Remotes.io several times
*/
var isNotesAndIframe = (function(){
return window.RevealNotes && !(self == top);
})();
if(!hasTouch && !isNotesAndIframe){
head.ready( 'remotes.ne.min.js', function() {
new Remotes("preview")
.on("swipe-left", function(e){ Reveal.right(); })
.on("swipe-right", function(e){ Reveal.left(); })
.on("swipe-up", function(e){ Reveal.down(); })
.on("swipe-down", function(e){ Reveal.up(); })
.on("tap", function(e){ Reveal.next(); })
.on("zoom-out", function(e){ Reveal.toggleOverview(true); })
.on("zoom-in", function(e){ Reveal.toggleOverview(false); })
;
} );
head.js('https://hakim-static.s3.amazonaws.com/reveal-js/remotes.ne.min.js');
}
})(window);

View File

@@ -2,7 +2,7 @@
(function(){
var isEnabled = true;
document.querySelector( '.reveal' ).addEventListener( 'mousedown', function( event ) {
document.querySelector( '.reveal .slides' ).addEventListener( 'mousedown', function( event ) {
var modifier = ( Reveal.getConfig().zoomKey ? Reveal.getConfig().zoomKey : 'alt' ) + 'Key';
var zoomPadding = 20;

View File

@@ -0,0 +1,101 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>reveal.js - Slide Transitions</title>
<link rel="stylesheet" href="../../css/reveal.css">
<link rel="stylesheet" href="../../css/theme/white.css" id="theme">
<style type="text/css" media="screen">
.slides section.has-dark-background,
.slides section.has-dark-background h3 {
color: #fff;
}
.slides section.has-light-background,
.slides section.has-light-background h3 {
color: #222;
}
</style>
</head>
<body>
<div class="reveal">
<div class="slides">
<section>
<h3>Default</h3>
</section>
<section>
<h3>Default</h3>
</section>
<section data-transition="zoom">
<h3>data-transition: zoom</h3>
</section>
<section data-transition="zoom-in fade-out">
<h3>data-transition: zoom-in fade-out</h3>
</section>
<section>
<h3>Default</h3>
</section>
<section data-transition="convex">
<h3>data-transition: convex</h3>
</section>
<section data-transition="convex-in concave-out">
<h3>data-transition: convex-in concave-out</h3>
</section>
<section>
<section data-transition="zoom">
<h3>Default</h3>
</section>
<section data-transition="concave">
<h3>data-transition: concave</h3>
</section>
<section data-transition="convex-in fade-out">
<h3>data-transition: convex-in fade-out</h3>
</section>
<section>
<h3>Default</h3>
</section>
</section>
<section data-transition="none">
<h3>data-transition: none</h3>
</section>
<section>
<h3>Default</h3>
</section>
</div>
</div>
<script src="../../lib/js/head.min.js"></script>
<script src="../../js/reveal.js"></script>
<script>
Reveal.initialize({
center: true,
history: true,
// transition: 'slide',
// transitionSpeed: 'slow',
// backgroundTransition: 'slide'
});
</script>
</body>
</html>

View File

@@ -38,9 +38,9 @@
Paragraph 2
<!-- {_class="fragment grow"} -->
- list item 1 <!-- {_class="fragment roll-in"} -->
- list item 2 <!-- {_class="fragment roll-in"} -->
- list item 3 <!-- {_class="fragment roll-in"} -->
- list item 1 <!-- {_class="fragment grow"} -->
- list item 2 <!-- {_class="fragment grow"} -->
- list item 3 <!-- {_class="fragment grow"} -->
---

View File

@@ -19,7 +19,7 @@ Reveal.addEventListener( 'ready', function() {
});
test( 'Attributes on element list items in vertical slides', function() {
strictEqual( document.querySelectorAll( '.reveal .slides section>section li.fragment.roll-in' ).length, 3, 'found a vertical slide with three list items with class fragment.roll-in' );
strictEqual( document.querySelectorAll( '.reveal .slides section>section li.fragment.grow' ).length, 3, 'found a vertical slide with three list items with class fragment.grow' );
});
test( 'Attributes on element paragraphs in horizontal slides', function() {

View File

@@ -22,10 +22,13 @@
<section data-background-image="examples/assets/image1.png">
<h1>1</h1>
<img data-src="fake-url.png">
<video data-src="fake-url.mp4"></video>
<audio data-src="fake-url.mp3"></audio>
<aside class="notes">speaker notes 1</aside>
</section>
<section>
<section data-background="examples/assets/image2.png">
<section data-background="examples/assets/image2.png" data-notes="speaker notes 2">
<h1>2.1</h1>
</section>
<section>
@@ -52,6 +55,7 @@
<li class="fragment" data-fragment-index="0">4.1</li>
<li class="fragment" data-fragment-index="0">4.2</li>
</ul>
<iframe data-src="http://example.com"></iframe>
</section>
<section>

View File

@@ -89,7 +89,7 @@ Reveal.addEventListener( 'ready', function() {
test( 'Reveal.isLastSlide after vertical slide', function() {
var lastSlideIndex = document.querySelectorAll( '.reveal .slides>section' ).length - 1;
Reveal.slide( 1, 1 );
Reveal.slide( lastSlideIndex );
strictEqual( Reveal.isLastSlide(), true, 'true after Reveal.slide( 1, 1 ) and then Reveal.slide( '+ lastSlideIndex +', 0 )' );
@@ -139,6 +139,14 @@ Reveal.addEventListener( 'ready', function() {
strictEqual( Reveal.getSlideBackground( 1, 100 ), undefined, 'undefined when out of vertical bounds' );
});
test( 'Reveal.getSlideNotes', function() {
Reveal.slide( 0, 0 );
ok( Reveal.getSlideNotes() === 'speaker notes 1', 'works with <aside class="notes">' );
Reveal.slide( 1, 0 );
ok( Reveal.getSlideNotes() === 'speaker notes 2', 'works with <section data-notes="">' );
});
test( 'Reveal.getPreviousSlide/getCurrentSlide', function() {
Reveal.slide( 0, 0 );
Reveal.slide( 1, 0 );
@@ -495,6 +503,23 @@ Reveal.addEventListener( 'ready', function() {
strictEqual( document.querySelectorAll( '.reveal section img[src]' ).length, 1, 'Image source has been set' );
});
test( 'video with data-src', function() {
strictEqual( document.querySelectorAll( '.reveal section video[src]' ).length, 1, 'Video source has been set' );
});
test( 'audio with data-src', function() {
strictEqual( document.querySelectorAll( '.reveal section audio[src]' ).length, 1, 'Audio source has been set' );
});
test( 'iframe with data-src', function() {
Reveal.slide( 0, 0 );
strictEqual( document.querySelectorAll( '.reveal section iframe[src]' ).length, 0, 'Iframe source is not set' );
Reveal.slide( 2, 1 );
strictEqual( document.querySelectorAll( '.reveal section iframe[src]' ).length, 1, 'Iframe source is set' );
Reveal.slide( 2, 2 );
strictEqual( document.querySelectorAll( '.reveal section iframe[src]' ).length, 0, 'Iframe source is not set' );
});
test( 'background images', function() {
var imageSource1 = Reveal.getSlide( 0 ).getAttribute( 'data-background-image' );
var imageSource2 = Reveal.getSlide( 1, 0 ).getAttribute( 'data-background' );