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

Compare commits

...

1314 Commits
2.6.0 ... v3.9

Author SHA1 Message Date
Tim Elliott
00b0ace386 🐛 enabling pointer events on pdf prin slides 2020-03-10 10:30:43 +01:00
Hakim El Hattab
542bcab569 Merge pull request #2336 from lunchboxer/patch-1
Update README.md with strike fragment
2020-03-03 15:53:15 +01:00
Hakim El Hattab
f023678755 add funding.yml 2020-03-02 14:55:54 +01:00
Hakim El Hattab
a4ba7a899b update CI badge 2020-02-24 11:15:46 +01:00
Hakim El Hattab
d54049445c rename gh action 2020-02-24 11:12:56 +01:00
Hakim El Hattab
633e754fee Merge pull request #2581 from flaviomartins/patch-1
fix typo in configuration example
2020-02-24 09:02:43 +01:00
Hakim El Hattab
b6933b45ad remove travis ci, switched to gh actions 2020-02-13 10:09:01 +01:00
Hakim El Hattab
768335f34b setup gh actions 2020-02-13 10:06:11 +01:00
Flavio Martins
8f4927ac27 fix typo in configuration example 2020-02-10 22:24:25 +00:00
Hakim El Hattab
94d98ff7d8 3.9.2 security release 2020-01-31 11:11:23 +01:00
Hakim El Hattab
b6cc6b4916 blacklist some method from the postMessage API to prevent XSS 2020-01-31 10:59:41 +01:00
Hakim El Hattab
d213fac34c add note about supporting reveal.js via Slides 2020-01-30 10:15:39 +01:00
Hakim El Hattab
eaf3988311 3.9.1 because a local edit made it into npm 2020-01-29 15:11:49 +01:00
Hakim El Hattab
003a848790 update to highlight.js 9.18.0 #2562 2020-01-29 14:51:28 +01:00
Hakim El Hattab
33ed32c4f0 add step-by-step highlights to readme 2020-01-29 14:01:51 +01:00
Hakim El Hattab
8a54118f43 npm audit fix 😶 2020-01-27 14:50:54 +01:00
Hakim El Hattab
45f468ccc4 3.9.0 2020-01-27 14:47:17 +01:00
Hakim El Hattab
a59b1415f8 Merge branch 'pdf-slide-numbers' of https://github.com/dougalsutherland/reveal.js into dev 2020-01-27 14:10:15 +01:00
Hakim El Hattab
281b518620 Merge pull request #2499 from jocaml/patch-1
Fix which node version is required
2020-01-27 13:51:38 +01:00
Hakim El Hattab
9693816480 Merge branch 'dev' into patch-1 2020-01-27 13:51:24 +01:00
Hakim El Hattab
731f6819ac Merge pull request #2567 from trevorpower/patch-1
fixed link to gruntfile
2020-01-27 13:46:34 +01:00
Hakim El Hattab
d969ec5f25 2020 2020-01-15 11:39:19 +01:00
Hakim El Hattab
ac50753521 add data-fragment=<index> attribute to slide <sections> 2020-01-15 11:37:37 +01:00
Trevor Power
76a8193fc2 fixed link to gruntfile 2020-01-13 11:57:17 +00:00
Hakim El Hattab
76187bc666 Merge pull request #2474 from coliff/patch-1
HTTPS relevant links on README
2020-01-11 20:51:56 +01:00
Hakim El Hattab
dbf575f8db Merge pull request #2483 from Adri-May/bugfix/spelling
Bug fix: spelling errors
2020-01-11 20:51:01 +01:00
Hakim El Hattab
7a169732de upgrade to node-sass 4.13.0, fix security warnings #2473 2020-01-11 20:30:29 +01:00
Hakim El Hattab
6f9b10b269 switch to fixed unit for fragment animations to make them more consistent 2019-12-19 08:16:42 +01:00
Hakim El Hattab
201e8316a2 Merge pull request #2437 from TehDmitry/dev
Allowing autoplay in data-background-iframe for audio and video elements
2019-12-09 21:09:38 +01:00
Hakim El Hattab
bb8b4d8883 Merge pull request #2454 from ismailarilik/patch-1
Add forgotten element to Table of Contents
2019-12-09 21:06:53 +01:00
Hakim El Hattab
94de806f06 add mobileViewDistance to readme #2513 2019-12-09 21:05:41 +01:00
Hakim El Hattab
1515ddcf87 Merge pull request #2513 from TuurDutoit/feature/mobile-view-distance
Add mobileViewDistance config key
2019-12-09 21:00:58 +01:00
Dougal J. Sutherland
c189a21efd honor slide number config in pdf mode 2019-10-29 12:48:21 -05:00
Dougal J. Sutherland
1cf5ffe029 add a slide argument to locationHash(), getSlidePastCount() 2019-10-29 12:48:21 -05:00
Tuur Dutoit
6ab72eae51 Add mobileViewDistance config key 2019-10-18 13:37:16 +02:00
Hakim El Hattab
f9affb550a fix viewport overflow in iPadOS safari 2019-10-11 09:23:44 +02:00
Hrvoje Bandov
6979383e4b Fix which node version is required
In `package.json` engine is set to `>=9.0.0`.
2019-10-08 09:29:59 +02:00
Adri-May
02a42d1c9e Bug fix: spelling errors 2019-09-18 21:57:24 -04:00
Christian Oliff
a458676614 HTTPS relevant links on README 2019-09-03 10:59:33 +09:00
Hakim El Hattab
474731d829 highlight.js 9.11 -> 9.15 2019-08-22 13:21:12 +02:00
İsmail Arılık
52e57d3677 Add forgotten element to Table of Contents 2019-07-12 14:38:53 +03:00
Hakim El Hattab
073d0e3358 Merge pull request #2392 from DanielNoga/patch-1
update minimal nodejs version in readme
2019-07-08 10:07:53 +02:00
Hakim El Hattab
07c20ef9d9 Merge pull request #2442 from pius/patch-1
Tweak to MathJax example
2019-07-08 10:06:04 +02:00
Hakim El Hattab
d5662a203e Merge branch 'dev' into patch-1 2019-07-08 10:05:40 +02:00
Hakim El Hattab
a6f1511d1a Merge pull request #2453 from Incognitas/fix/node_12_support
Update package.json for node 12 support
2019-07-08 10:02:30 +02:00
Hakim El Hattab
cf027f21c6 Merge pull request #2451 from Jason-Cooke/patch-1
docs: fix typo
2019-07-08 10:01:55 +02:00
Aurelien Normand
585aafed95 Adding missing file to use it properly 2019-07-07 15:30:31 +02:00
Aurélien Normand
0935462706 Update package.json for node 12 support
simple node-sass update which fixes this issue
2019-07-07 11:41:30 +02:00
Jason Cooke
1bacb27072 docs: fix typo 2019-07-05 22:00:10 +12:00
Pius Uzamere
abac58cfc5 Tweak to MathJax example
Added a missing comma and used an actual macro so that the MathJax example runs right out of the box upon a copy/paste.
2019-06-22 15:17:01 -04:00
Hakim El Hattab
bd3758a4df readme tweak 2019-06-10 07:41:07 +02:00
Hakim El Hattab
5fb743e65e rephrased #2378 2019-06-10 07:38:57 +02:00
Hakim El Hattab
c92d08acdd Merge pull request #2378 from mbotsch/fix-plugin-documentation
Fix plugin documentation regarding init-Promises
2019-06-10 07:34:21 +02:00
Hakim El Hattab
ff2a927de8 Merge pull request #2433 from autopp/fix-typo-in-readme
add missing comma to MathJax example in README
2019-06-10 07:19:57 +02:00
Hakim El Hattab
bba760e549 remove available route changes #2416 2019-06-10 07:14:04 +02:00
Hakim El Hattab
51e8da5d9a Merge branch '2380-linear-navigation-mobile' of https://github.com/earboxer/reveal.js into dev 2019-06-10 07:04:49 +02:00
Hakim El Hattab
f6f7f28ad9 enable url hash for default index.html #2434 #2175 2019-06-10 06:57:07 +02:00
TehDmitry
bdda443335 Allowing autoplay in data-background-iframe for audio and video elements
It was restricted by «Autoplay Policy Changes»: https://developers.google.com/web/updates/2017/09/autoplay-policy-changes#iframe
2019-06-09 16:31:36 +03:00
autopp
f5759c3d52 add missing comma to MathJax example in README 2019-06-07 09:45:20 +09:00
Zach DeCook
969e7b3ef1 * Mobile Linear Navigation: Fix swipes to navigate linearly 2019-05-29 10:44:43 -04:00
Zach DeCook
c62f4c7cfb * Linear Navigation: Fix showing arrows when last slide has vertical children 2019-05-29 10:22:15 -04:00
Hakim El Hattab
99c3498253 first/last slide shortcut now uses shift modified, cmd conflicted with browser back/fwd 2019-05-27 08:45:00 +02:00
Hakim El Hattab
25e521a16c Merge branch 'alternate-timing' of https://github.com/fghaas/reveal.js into dev 2019-05-27 08:08:00 +02:00
Hakim El Hattab
a1dd1028a1 down arrow padding for edge aligned controls 2019-05-27 08:04:58 +02:00
Hakim El Hattab
9108519dc1 Merge pull request #2410 from NoriSte/feature/fix-touch-arrow-down
Fix arrow down navigation on touch devices
2019-05-27 07:56:15 +02:00
Hakim El Hattab
a2e9e525d5 avoid exception when highlighting empty code blocks 2019-05-27 07:30:08 +02:00
Florian Haas
23c12d7332 Notes: Weakly enforce a minimum allocated pacing time per slide
When using the totalTime-based pacing calculation, a presenter may
inadvertently set totalTime and per-slide data-timing attributes in
such a way that the pacing time for some slides is impossibly low or
even negative.

Add a check to ensure that the pacing on a slide never falls below a
configurable minimum, defaulting to 0. Display an alert if the
pacing for any slide(s) falls below the threshold.
2019-05-22 21:44:44 +02:00
Hakim El Hattab
9ac654d584 fix issue where syncSlide would not run/play newly added background content 2019-05-20 14:58:52 +02:00
Hakim El Hattab
bd1e82d19a new API methods for getting horizontal/vertical slides, force linear navigation for one-dimensional decks 2019-05-20 11:24:05 +02:00
NoriSte
6ac01281d2 fix the touch devices issues with the down arrow 2019-05-18 12:57:35 +02:00
Hakim El Hattab
1766e37a63 iframe background preload behavior now matches inline iframes + adheres to the new 'preloadIframes' config option 2019-05-13 10:55:29 +02:00
Florian Haas
078ba62050 Notes: Introduce alternate pacing timer, based on total presentation time
The current pacing timer operates on the assumption that there is
a default amount of time to be allocated to each slide, and that
individual slides can deviate from that default by specifying their
own data-timing attribute.

This patch introduces an alternate pacing method: by specifying
the totalTime configuration option, the presenter can set the total
time available to present. The pacing timer will then continue to
allocate the exact pacing time for slides that do have data-timing
set, as before. However, rather than applying the defaultTiming
constant to all others, it will

- Add up the time already allocated to slides via data-timing;
- subtract that from totalTime;
- divide the difference by the number of slides without data-timing set;
- apply the thus-calculated average to those slides.

totalTime has no default, and if both defaultTiming and totalTime are
set, totalTime wins. This preserves backward compatibility: if a
presenter has set defaultTiming and updates reveal.js, totalTime will
be null and defaultTiming is still applied to all slides without a
data-timing attribute. The presenter can then switch to the automatic
calculation, if desired, by setting a value for totalTime.
2019-05-12 20:10:06 +02:00
Daniel Noga
39ed39f3e2 update minimal nodejs version in readme 2019-05-05 13:34:43 +02:00
Mario Botsch
1f5fb971d4 Fix plugin documentation
Mention that reveal.js will wait for the Promise of a plugin's init()
function only when the plugin is loaded non-async. The init functions
of plugins that are loaded as async dependencies are called after
reveal.js has dispatched the 'ready' event.
2019-04-23 23:28:05 +02:00
Hakim El Hattab
a16b71a981 the postMessage API now works for getter methods 2019-04-23 10:52:45 +02:00
Hakim El Hattab
32197bd77d fix numeric presence condition 2019-04-10 10:09:41 +02:00
Richard Westenra
33bed47dac Remove calls to missing modules from gruntfile
When running the app, Grunt throws the following warnings:

>> Local Npm module "grunt-contrib-clean" not found. Is it installed?
>> Local Npm module "grunt-contrib-nodeunit" not found. Is it installed?

These modules don't appear to do anything except throw a warning so they can probably just be removed.
2019-04-08 10:36:33 +02:00
Hakim El Hattab
9aa514bc70 Merge pull request #2364 from richardwestenra/fix/missing-modules
Bugfix: Remove calls to missing modules from gruntfile
2019-04-08 10:14:02 +02:00
Richard Westenra
3ff070536e Remove calls to missing modules from gruntfile
When running the app, Grunt throws the following warnings:

>> Local Npm module "grunt-contrib-clean" not found. Is it installed?
>> Local Npm module "grunt-contrib-nodeunit" not found. Is it installed?

These modules don't appear to do anything except throw a warning so they can probably just be removed.
2019-04-06 11:07:05 +03:00
Hakim El Hattab
e9ba289e80 refinements for multi-step code highlights 2019-04-05 19:49:17 +02:00
Hakim El Hattab
7eb2cec6b6 first version of multi-step code highlights 2019-04-05 07:59:35 +02:00
Hakim El Hattab
c636b88b2d Merge branch 'master' of github.com:hakimel/reveal.js into dev 2019-04-03 10:49:22 +02:00
Hakim El Hattab
3643112b35 plugin doc tweaks 2019-04-03 10:49:14 +02:00
Hakim El Hattab
4c557a5959 prefer transform scaling over zoom on hdpi displays 2019-04-02 16:25:27 +02:00
Hakim El Hattab
15dec96e73 better example for line range highlighting 2019-04-01 15:48:46 +02:00
Hakim El Hattab
da4ec074f1 docs for code highlight line numbering 2019-04-01 15:45:07 +02:00
Hakim El Hattab
485870946f plugin docs 2019-04-01 15:25:40 +02:00
Hakim El Hattab
25c504c22f plugin api docs 2019-04-01 15:11:51 +02:00
Hakim El Hattab
3da09f1fef 3.8.0 2019-04-01 14:34:10 +02:00
Hakim El Hattab
eb5d79370b fix typos 2019-04-01 14:29:26 +02:00
Hakim El Hattab
2734aa3da0 fix grunt ci error 2019-04-01 13:46:08 +02:00
Hakim El Hattab
e6fa04d485 fix typos 2019-04-01 13:11:29 +02:00
Hakim El Hattab
94cbfcbdf6 Merge pull request #2326 from earboxer/2313-navigation-mode-shortcuts-table
Allow Navigation Mode setting to change the shortcuts table
2019-04-01 13:01:29 +02:00
Hakim El Hattab
29ea072ddf fix npm security warnings, auto run tests when changed 2019-04-01 11:14:22 +02:00
Hakim El Hattab
df25fbebba add hasPlugin and getPlugin API methods and tests 2019-04-01 11:07:11 +02:00
Hakim El Hattab
d6f0f41f77 tweaks and tests for #2354 2019-03-28 15:42:28 +01:00
Hakim El Hattab
6faab091bb Merge branch 'dev' of https://github.com/maxrothman/reveal.js into dev 2019-03-28 15:12:33 +01:00
Hakim El Hattab
922d791fd9 fix an error where reveal.js returned a 1> progress number when there were fragments on last slide 2019-03-25 12:00:46 +01:00
Max Rothman
93b1abc736 Add data-preload attribute for iframes
Allows lazy-loaded (i.e. data-src) iframes to be preloaded when they
come within the viewDistance, rather than once they're visible.
2019-03-22 10:45:08 -04:00
Hakim El Hattab
b8de5e02d2 make #2350 work using replaceState 2019-03-21 09:13:28 +01:00
Hakim El Hattab
ae556d0844 Merge pull request #2350 from rparree/hash-problem
Fixed not bing able to follow same inner links twice with history:false
2019-03-21 09:03:50 +01:00
Hakim El Hattab
b5fe0f8126 Merge branch 'dev' into hash-problem 2019-03-21 09:03:27 +01:00
Hakim El Hattab
01874c6e70 new demo slide to promote iframes/iframe backgrounds 2019-03-20 09:12:31 +01:00
Raphael Parree
b4c6c92033 Fixed not bing able to follow same inner links twice with history:false
Scenario:

- history set to false in Reveal’s config
- follow anchor to `/#someid`
- navigate to other sections
- follow anchor to same section `/#someid`

This does not work as the hash has not changed.

This fix removes the hash from the URL when navigating
2019-03-15 08:45:43 +01:00
Hakim El Hattab
c7db11d9cf tests for plugins 2019-03-14 16:03:55 +01:00
Hakim El Hattab
b180d94e02 fix error when reveal.js was initialized with no plugins 2019-03-14 15:39:19 +01:00
Hakim El Hattab
6410ed15aa support for plugins where the init method doesn't return a Promise 2019-03-14 14:52:59 +01:00
Hakim El Hattab
5301a9ea03 more forgiving code highlight line number format, add Promise polyfill 2019-03-14 13:05:10 +01:00
Hakim El Hattab
cfc2f9cf9c line number styling tweaks 2019-03-12 13:21:27 +01:00
Hakim El Hattab
553a174cc7 highlight.js plugin improvements 2019-03-12 13:17:50 +01:00
Hakim El Hattab
7b62a0f356 prevent same plugin from being registered twice 2019-03-12 13:17:08 +01:00
Hakim El Hattab
fbbae1dc55 switch to monokai as default syntax highlight theme 2019-03-12 11:26:10 +01:00
Hakim El Hattab
7b66abd49c Merge pull request #2346 from dougalsutherland/patch-3
notes plugin: callRevealApi wants apply, not call
2019-03-12 10:38:50 +01:00
Dougal J. Sutherland
00e30a11e2 notes plugin: callRevealApi wants apply, not call 2019-03-11 22:25:19 -04:00
Hakim El Hattab
da53b3a637 validate code line numbers to highlight 2019-03-11 16:12:33 +01:00
Hakim El Hattab
8690858b6f more succinct syntax for code block line highlights 2019-03-11 15:48:03 +01:00
Hakim El Hattab
5adc2032c0 use internal pointer for current slide 2019-03-11 15:03:13 +01:00
Hakim El Hattab
69ee643846 syncFragments now returns all affected fragments 2019-03-11 14:50:35 +01:00
Hakim El Hattab
cef864a7be highlight plugin updates; support for line numbers and highlighting specific lines 2019-03-08 15:07:59 +01:00
Hakim El Hattab
b6e136776a Merge pull request #2340 from sophware/fix_zoom_demo
demo.html - Added Linux instructions for zoom
2019-03-07 16:13:33 +01:00
Sophware
d0771922c9 demo.html - Added Linux instructions for zoom 2019-03-06 17:05:45 -05:00
Hakim El Hattab
fc30774ef2 Merge pull request #2339 from mikeshatch/patch-1
Fixed a couple of typos
2019-03-06 13:31:16 +01:00
Mike Hatch
dd6f8b402c Fixed a couple of typos 2019-03-04 12:24:04 -06:00
Hakim El Hattab
c40e9819a2 highlight, math, notes and zoom plugins now register via Reveal.registerPlugin 2019-03-04 14:32:38 +01:00
Hakim El Hattab
d780352b7f reveal.js plugin flow now uses promises, refactor markdown plugin to use promises 2019-03-04 14:11:21 +01:00
James
c2e048bc16 Update README.md with strike fragment
the strike type fragment was un-documented, so I stuck a mention of it in with the others.
2019-03-02 22:08:17 +08:00
Hakim El Hattab
46f8f86fa1 few plugin registration tweaks 2019-03-01 21:34:11 +01:00
Hakim El Hattab
4862de26eb async loading of external markdown, add Reveal.registerPlugin() 2019-03-01 21:28:52 +01:00
Hakim El Hattab
213023760a build dependency updates 2019-02-28 13:47:49 +01:00
Hakim El Hattab
3b4fabc8a7 upgrade .travis nodejs version 2019-02-28 13:27:41 +01:00
Hakim El Hattab
4a8899e520 see if increased node version fixes build 2019-02-28 13:25:46 +01:00
Hakim El Hattab
5ae2d3eb1e update grunt dependencies 2019-02-28 11:22:32 +01:00
Hakim El Hattab
205ef8fdcc fix scss compilation task 2019-02-28 10:07:41 +01:00
Hakim El Hattab
d549204ef1 Merge pull request #2333 from dougalsutherland/patch-2
remove unused `isPrintingPDFFragments` function
2019-02-28 09:58:02 +01:00
Dougal J. Sutherland
a36f7cbf99 remove unused isPrintingPDFFragments function 2019-02-28 01:19:43 +00:00
Zach DeCook
bb4eeb6c3c * Keyboard Shortcuts table: Dynamically fill object at configuration 2019-02-19 17:29:07 -05:00
Hakim El Hattab
1efb8260af Merge pull request #2325 from hakimel/revert-2312-improve_random_number_generation
Revert "impove randomness"
2019-02-18 15:18:59 +01:00
Hakim El Hattab
d927cdf579 Revert "impove randomness" 2019-02-18 15:17:30 +01:00
Hakim El Hattab
27b70ed0ba Merge pull request #2312 from albert-ziegler/improve_random_number_generation
impove randomness
2019-02-18 15:14:39 +01:00
Albert
9e3a52f14a correct typo 2019-02-11 09:05:46 +00:00
Hakim El Hattab
2d57981261 zoom transition now uses zooming for vertical transitions, too 2019-02-01 11:09:03 +01:00
Hakim El Hattab
7867b77833 indentation fix 2019-02-01 10:16:32 +01:00
Hakim El Hattab
ce53e63b5b documentation for #2315 2019-02-01 10:15:10 +01:00
Hakim El Hattab
d0337246f2 Merge pull request #2315 from dougalsutherland/slide-formats
allow custom slide numbering functions
2019-02-01 09:49:39 +01:00
Hakim El Hattab
2a9edd23e6 define available values for showSlideNumber 2019-02-01 09:48:36 +01:00
Hakim El Hattab
812b802c1c resize event tweaks for #2300 2019-01-31 20:13:32 +01:00
Hakim El Hattab
9c1615fff1 Merge pull request #2300 from mw75/master
Resize Event
2019-01-31 20:09:45 +01:00
Dougal J. Sutherland
43d1c71107 allow custom slide numbering functions 2019-01-31 18:28:38 +00:00
Hakim El Hattab
aa8be6829c Merge pull request #2305 from reyerstudio/marked
Upgrade marked to 0.6.0
2019-01-31 10:10:28 +01:00
Albert
90473eeb05 impove randomness 2019-01-30 16:33:41 +00:00
Hakim El Hattab
6a2cb42e6b enable pinch-to-zoom for android 2019-01-30 16:31:31 +01:00
Hakim El Hattab
2219107c69 only force media controls to be visible when necessarry 2019-01-29 11:26:46 +01:00
Hakim El Hattab
23c2d2795c navigationMode documentation improvements 2019-01-23 10:43:05 +01:00
Hakim El Hattab
481208f43f hide vertical arrows when navigationMode is 'linear' #2307 2019-01-23 10:30:29 +01:00
Hakim El Hattab
2fa3ab6a6b documentation for navigationMode #2307 2019-01-23 10:14:40 +01:00
Hakim El Hattab
51b1658a60 'gridNavigation' and 'simpleNavigation' merged into 'navigationMode' setting #2307 2019-01-23 09:58:10 +01:00
Hakim El Hattab
4c3f778e6e refactor keyboard listener conditions 2019-01-22 15:43:42 +01:00
Hakim El Hattab
fef15ea9d1 Merge pull request #2307 from reyerstudio/feature/shortcuts@dev
Enable simpleNavigation
2019-01-22 15:21:31 +01:00
Hakim El Hattab
baac3413ed upgrade to socket.io 2.2.0 #2257 2019-01-22 15:05:13 +01:00
Hakim El Hattab
ddd9f818f3 hide body overflow 2019-01-22 12:05:57 +01:00
Hakim El Hattab
41858b91d5 adjust how global height is styled 2019-01-22 10:02:08 +01:00
Hakim El Hattab
5002304fb1 correct height of reveal.js on mobile devices, fixes vertical overflow 2019-01-22 09:45:33 +01:00
Stéphane Este-Gracias
65584ff3a9 Enable simpleNavigation 2019-01-21 21:57:20 +01:00
Stéphane Este-Gracias
cf4af0fbcd Fix test after upgrading marked to 0.6.0 2019-01-20 19:29:46 +01:00
Stéphane Este-Gracias
a86dab0363 Upgrade marked to 0.6.0 2019-01-20 19:28:27 +01:00
Mario Wolff
126365627b fixed documentation on resize event 2019-01-15 13:18:55 +01:00
Mario Wolff
abee356e42 emmit resize event if scale changed 2019-01-15 13:13:19 +01:00
Hakim El Hattab
c36caef5e7 2019 2019-01-10 14:58:38 +01:00
Hakim El Hattab
10e44aabfc remove pinch gesture for triggering overview mode on touch devices, enables regular mobile pinch-to-zoom 2019-01-10 14:43:33 +01:00
Hakim El Hattab
9712cc9ad6 whitespace 2019-01-07 14:43:46 +01:00
Hakim El Hattab
65938f388b Merge pull request #1188 from sanand0/master
Display .stretch images in overview mode. Fix #1187
2019-01-07 14:41:45 +01:00
Hakim El Hattab
b645828707 ensure history api is available, default to hash: true with no history in demo #2286 2018-12-19 11:04:29 +01:00
Hakim El Hattab
6ef565c9fb Merge pull request #2286 from asottile/hash_without_history_2211
Add new 'hash: true' option which uses replaceState for url
2018-12-19 10:52:15 +01:00
Hakim El Hattab
7eb74ac335 correct variable name in inline comment 2018-12-19 10:41:13 +01:00
Hakim El Hattab
dedad930e3 add section about vertical slides and gridNavigation to readme 2018-12-19 10:37:30 +01:00
Hakim El Hattab
665dfb9cd6 add gridNavigation config to configure navigation between adjacent vertical stacks 2018-12-19 09:38:15 +01:00
Hakim El Hattab
db9c346b41 optimization; avoid reading computed styles unless necessary 2018-12-18 14:21:11 +01:00
Hakim El Hattab
9f1856d55b fix notes layout when container isnt as wide as viewport 2018-12-18 10:14:18 +01:00
Hakim El Hattab
6fe0cbc0dd prefer vh for speaker notes layout 2018-12-17 12:58:55 +01:00
Hakim El Hattab
c2270cc0c5 Merge branch 'master' of github.com:hakimel/reveal.js into dev 2018-12-12 10:00:56 +01:00
Hakim El Hattab
0b3e7839eb note about backticks to avoid LaTeX <> Markdown syntax conflicts #1359 2018-12-12 09:59:45 +01:00
Anthony Sottile
fd6245bb28 Add new 'hash: true' option which uses replaceState for url
Resolves #2211
2018-12-02 16:49:06 -08:00
Hakim El Hattab
87d6af2cb4 Merge pull request #2266 from f00ale/custom_code_font
Make code font customizable for themes.
2018-11-21 08:33:56 +01:00
Hakim El Hattab
82076c5a0b demo presentation now refers to correct zoom.js shortcut for linux #2280 2018-11-21 08:29:17 +01:00
Hakim El Hattab
8ac3383bee add getRevealElement API method 2018-11-16 10:39:43 +01:00
Hakim El Hattab
f042a8c394 add cmd/ctrl + arrow key shortcuts to first/last slides 2018-11-13 10:48:23 +01:00
Hakim El Hattab
b6ce0a9724 fix concave/convex transitions on vertical slides #1947 2018-11-08 14:05:53 +01:00
Hakim El Hattab
1c07fccc35 reset css in default index.html 2018-11-05 08:59:19 +01:00
Hakim El Hattab
bc2477bf10 fix no-transform mode 2018-10-31 09:20:12 +01:00
Hakim El Hattab
2b61dde83b add audio autoplay test 2018-10-31 08:59:47 +01:00
Arno Lepisk
8e5bdcc2bb Make code font customizable for themes. 2018-10-30 22:03:13 +01:00
Hakim El Hattab
42e796afb2 dispatch state events after current slide has updated #2264 2018-10-26 11:29:08 +02:00
Hakim El Hattab
6abc6e0058 move reset.css out of reveal.css to make it optional #1952 #2248 2018-10-25 13:34:03 +02:00
Hakim El Hattab
4ac153c46f Merge pull request #2263 from mbotsch/fix-readURL
Fix if-statement in readURL
2018-10-25 13:00:03 +02:00
Mario Botsch
8a35a1e1ed Fix nested if-statement in readURL that caused slide(h,v) to be
called even when the current slide is the target slide.
2018-10-24 23:22:11 +02:00
Hakim El Hattab
7d66999c7f syntax tweak 2018-10-11 11:32:23 +02:00
Hakim El Hattab
387455b755 replace while with forEach loop 2018-10-11 11:32:16 +02:00
Hakim El Hattab
a4dc1c6440 fix #1590 2018-10-11 11:24:54 +02:00
Hakim El Hattab
62cd74a890 add note about lazy loading iframes #1672 #1938 2018-10-09 11:08:09 +02:00
Hakim El Hattab
7b707696b4 automatically hide the mouse pointer after 5s of inactivity (#1837) 2018-10-08 09:58:06 +02:00
Hakim El Hattab
5890f602b3 Merge pull request #2090 from bnjmnt4n/math
Allow users to customise MathJax options.
2018-10-08 08:41:08 +02:00
Hakim El Hattab
e7a365255f Merge pull request #2251 from oyron/2229-speaker-notes-bug
Give focus to previously opened speaker notes (fixes #2229)
2018-10-08 08:32:39 +02:00
oyron
f32cd8586d Handle previously opened notes window, by giving focus. 2018-10-05 15:18:08 +02:00
Hakim El Hattab
fb089e7083 fix build error 2018-10-04 15:43:58 +02:00
Hakim El Hattab
196d2a3971 remove classlist polyfill, cross browser support is good enough now 2018-10-04 14:54:35 +02:00
Hakim El Hattab
01ceba3f73 remove mention of head.js in readme 2018-10-04 14:48:39 +02:00
Hakim El Hattab
29b0e86089 remove head.min.js in favor of simple built-in script loader 2018-10-04 14:48:01 +02:00
Hakim El Hattab
d5cf3fa13c formatting and tweaks for #2104 2018-10-04 13:26:22 +02:00
Hakim El Hattab
8582c9aac8 resolve notes merge conflict 2018-10-04 12:32:37 +02:00
Hakim El Hattab
90fc0bc466 Merge branch 'master' of github.com:hakimel/reveal.js into dev 2018-10-03 12:53:07 +02:00
Hakim El Hattab
c35cce54a5 Merge pull request #2231 from esthor/patch-1
bring install instructions to top, as is tradition
2018-10-03 12:48:41 +02:00
Hakim El Hattab
c9ab489ba2 Merge pull request #2245 from rollandf/master
Fix typo
2018-10-03 12:44:53 +02:00
Hakim El Hattab
f089e1b228 Merge branch 'master' of github.com:hakimel/reveal.js into dev 2018-10-03 12:44:26 +02:00
Hakim El Hattab
436b41a8fc dont refer to outdated speaker notes style in readme #2244 2018-10-03 12:43:00 +02:00
Fred Rolland
7b2769901e Fix typo 2018-10-02 17:52:51 +03:00
Erik
ed581add7f bring install instructions to top, as is tradition
The Install was waaaay at the bottom, which didn't make sense to scroll through all the detailed documentation, just to find how to get started with an install.
2018-09-18 16:33:16 -04:00
Hakim El Hattab
7dbf519104 fix css conflict 2018-08-21 09:27:55 +02:00
Hakim El Hattab
4b1866b040 Merge pull request #2218 from eldios/patch-1
Fixed broken link to markdown options doc
2018-08-17 09:57:54 +02:00
Lele
b0ebb7deed Fixed broken link to markdown options doc
Fixed broken link to markdown options doc
2018-08-16 14:34:46 +02:00
Hakim El Hattab
b003a54f91 Merge pull request #2215 from anderslemke/let-resume-follow-controls
Only show resume on pause if controls enabled
2018-08-16 11:46:46 +02:00
anderslemke
f52460a6fd Only show resume on pause if controls enabled 2018-08-15 19:58:18 +02:00
Hakim El Hattab
249f013959 fix detection of named links (closes #1655) 2018-08-01 10:55:59 +02:00
Hakim El Hattab
2c5396b7d3 3.7.0 2018-08-01 10:37:51 +02:00
Hakim El Hattab
72b05a3245 Merge pull request #2171 from tristansokol/tristans/add-all-transitions
add a full list of transitions to readme
2018-08-01 10:36:07 +02:00
Hakim El Hattab
b6aa0cac23 Merge branch 'dev' of github.com:hakimel/reveal.js 2018-08-01 10:34:55 +02:00
Hakim El Hattab
f6f7f58537 Merge branch 'master' of github.com:hakimel/reveal.js 2018-07-25 10:56:02 +02:00
Hakim El Hattab
b9bb353a11 add 'resume presentation' button to pause overlay 2018-07-02 11:08:45 +02:00
Hakim El Hattab
fd95c8c266 use absolute positioning for slide number 2018-06-21 10:07:38 +02:00
Hakim El Hattab
be87adcdf8 rename new fragment style 2018-06-13 14:12:28 +02:00
Hakim El Hattab
078a7520cd refactor fragment pdf exporting to support multiple fragments with same index #1955 2018-06-12 20:44:49 +02:00
Hakim El Hattab
3680f1ad10 merge #1955 with minor changes 2018-06-11 12:35:11 +02:00
Hakim El Hattab
a86146180f Merge branch 'master' of https://github.com/koehlma/reveal.js into dev 2018-06-11 12:16:41 +02:00
Hakim El Hattab
a9e95e7e6c merge conflicts 2018-06-11 11:02:21 +02:00
Hakim El Hattab
4bea8e17e8 add 'fade-in-then-half-out' fragment style, 'current-visible' was renamed to 'fade-in-then-out' 2018-06-11 10:59:31 +02:00
Hakim El Hattab
a82c4333ed Merge pull request #2141 from marcvangend/marcvangend-clarify-notes-regex
Clarify the meaning of the notes?: regex
2018-06-11 10:04:58 +02:00
Tristan Sokol
27553e2fcb add a full list of transitions to readme 2018-06-05 09:30:02 -07:00
Hakim El Hattab
4672801229 new syncFragments api method 2018-05-31 10:35:09 +02:00
Hakim El Hattab
30b670cf42 flatten slide number when there are only vertical slides 2018-05-24 09:21:42 +02:00
Hakim El Hattab
3c5c50f3fe Merge pull request #2158 from denehyg/issue-2157
Fix timer when speaker notes window opened via RevealNotes.open()
2018-05-07 11:06:16 +02:00
Greg Denehy
ee63b2ac60 Fixed notes timer when speaker notes window opened via RevealNotes.open() 2018-05-05 17:38:37 +09:30
Hakim El Hattab
667c83f1b7 refactor code to match new background dom structure 2018-05-03 15:45:31 +02:00
Hakim El Hattab
0bbcc6b594 add Reveal.syncSlide 2018-05-03 15:25:54 +02:00
Hakim El Hattab
042fbde61b data-background-content-opacity -> data-background-opacity 2018-05-03 11:02:36 +02:00
Hakim El Hattab
4ba0d73345 add , adds wrapper element around background images/videos/iframes 2018-04-27 15:53:02 +02:00
Hakim El Hattab
de41f6cf50 smaller font size for sub/sup 2018-04-24 14:56:03 +02:00
Hakim El Hattab
5771ae39f0 speaker view has visible connection status, times out with error after 5s 2018-04-24 14:23:28 +02:00
Hakim El Hattab
f1133f0e10 support interactive iframe backgrounds in vertical stacks 2018-04-17 09:46:55 +02:00
Hakim El Hattab
2a57223939 revise readURL to handle one-based indices 2018-04-16 09:58:03 +02:00
Hakim El Hattab
531d1e8791 prevent linked slide numbers from changing color 2018-04-16 09:48:37 +02:00
Hakim El Hattab
f713d9d67d Merge pull request #2133 from sean-parent/master
Adding support for hash linked slideNumber
2018-04-16 09:31:05 +02:00
Sean Parent
97c1a0ecc1 Merge branch 'dev' into master 2018-04-13 07:55:02 -07:00
marcvangend
ceb1738a0f Clarify the meaning of the notes?: regex 2018-04-01 20:03:25 +02:00
Hakim El Hattab
397feab8b4 gracefully handle duplicate slide id's 2018-03-27 14:21:41 +02:00
Sean Parent
64b2a27455 Made one based indexing optional 2018-03-23 10:07:42 -07:00
Quentin PROUST
93cacaa40c Print background in pdf (#2131)
* Print background in pdf

Pull request to integrate issue https://github.com/hakimel/reveal.js/issues/1686. Adding the workaround to the theme template to make it work for every theme.

* apply suggestion of @hakimel
2018-03-23 13:50:42 +01:00
Hakim El Hattab
1257ee7e27 code formatting 2018-03-22 11:58:15 +01:00
Hakim El Hattab
4cb0d52c73 Merge branch 'URI-encode-name-hash' of https://github.com/nnormand/reveal.js into dev 2018-03-22 11:56:50 +01:00
Hakim El Hattab
ba0e432542 formatting 2018-03-22 11:55:44 +01:00
Hakim El Hattab
a2e69a4b42 Merge pull request #2097 from bnjmnt4n/docs/readme
Cleanup readme to make it easier to read/edit.
2018-03-22 11:51:05 +01:00
Hakim El Hattab
3bbf969686 Merge pull request #2114 from ChumpChief/standardized-pointer
Prefer W3C pointer events and updates to match the standard definition
2018-03-22 11:47:19 +01:00
Hakim El Hattab
49251078f3 remove legacy vendor prefixes from pdf css 2018-03-22 11:43:07 +01:00
Hakim El Hattab
8bf1cc601a Merge pull request #2128 from craigsdennis/feature/update-copyright-date
Updates copyright to 2018
2018-03-22 11:16:41 +01:00
Hakim El Hattab
6dbc593280 disableLayout comment tweak 2018-03-22 11:10:27 +01:00
Steve Hartzog
9dbccd6978 add support for overriding the default layout (#2121)
* add support for overriding the default layout
New `overrideLayout` option (if true) will prevent h/w calcs.

* fix error if options are empty

* Implement requested changes
Rename overrideLayout to disableLayout and remove code to unset display
2018-03-22 11:06:19 +01:00
Sean Parent
443b4475bc Adding support for hash linked slideNumber 2018-03-21 18:08:16 -07:00
Hakim El Hattab
ea57e697a1 Revert "remove pdf height offset"
This reverts commit f76b4fda93.
2018-03-20 10:09:47 +01:00
craigsdennis
8ff5fe4986 Updates copyright to 2018 2018-03-16 22:41:16 -07:00
Hakim El Hattab
f76b4fda93 remove pdf height offset 2018-03-16 13:52:19 +01:00
Hakim El Hattab
511397c177 prevent missing 'present' class when navigating to same slide twice 2018-03-14 12:03:42 +01:00
Matt Rakow
389c3f52b5 Prefer W3C pointer events, remove pointerEnabled references (it is not part of the standard), unconditional event removal 2018-03-07 09:18:26 -08:00
Hakim El Hattab
0282413b69 fix autoplay of inline videos in ios 2018-03-05 14:59:32 +01:00
Hakim El Hattab
5848a432d9 Merge branch 'patch-1' of https://github.com/Jmuccigr/reveal.js into dev 2018-02-22 10:08:02 +01:00
Martin Jurča
250580fc4c added missing documentation 2018-02-20 16:08:29 +01:00
Martin Jurča
6a2c5b4de8 documentation 2018-02-20 10:30:56 +01:00
Martin Jurča
8468d82433 fixed showing speaker's view with timings/pacing while serving the presentation from the file system 2018-02-20 10:29:16 +01:00
Benjamin Tan
1427f7a1ae Cleanup readme to make it easier to read/edit.
- Use `single backticks` consistently for inline code snippets.
- Add double linefeeds before level 2 headings.
- Add a single linefeed after each heading.
- Minor docs edits.
2018-02-14 18:36:18 +08:00
Hakim El Hattab
325162692e navigateNext no longer gets stuck on first stack when looping is enabled 2018-02-12 13:49:33 +01:00
John Muccigrosso
5d273cfb29 Background repeat & position to parallax background 2018-02-10 12:32:16 -05:00
Benjamin Tan
d5f4edeeef Merge pull request #1836 from RobertBaron/background-whitespace-uri
Allow whitespace on background-images, w3 compliance
2018-02-09 20:05:26 +08:00
Benjamin Tan
b2d532ea28 Allow users to customise MathJax options.
Ref. #1856, #2006, #2045.

This is a more open approach to allow customisation of all MathJax options instead of select options only.
2018-02-08 20:54:21 +08:00
Benjamin Tan
7cd2c9138d head.js: Remove source map URL since it doesn't exist.
This prevents additional requests from devtools when debugging code.
2018-02-08 11:22:11 +08:00
Benjamin Tan
18e7dd2173 Cleanup code style. 2018-02-08 11:22:01 +08:00
Benjamin Tan
fb97d99bff Simplify Travis test script. 2018-02-08 11:20:41 +08:00
Hakim El Hattab
27aba10756 fix looping of presentations that only have vertical slides 2018-02-07 13:45:57 +01:00
Hakim El Hattab
5eba331935 Merge branch 'fragment-in-url' of https://github.com/dougalsutherland/reveal.js into dev 2018-02-07 10:33:19 +01:00
Benjamin Tan
496db06441 head.js: Remove source map URL since it doesn't exist.
This prevents additional requests from devtools when debugging code.
2018-02-07 13:04:15 +08:00
Benjamin Tan
7991693bde Docs: add note on how to enable/disable preview links individually.
Closes #2005.
2018-02-07 12:51:14 +08:00
Benjamin Tan
410f7767b9 Docs: mention that syntax highlighting requires CSS theme file.
Closes #2075.
2018-02-06 22:34:25 +08:00
Benjamin Tan
57a4c45cf6 Docs: avoid recommending global Grunt installation.
Closes #1951.
2018-02-06 22:12:35 +08:00
Benjamin Tan
80bc1971e0 Docs: Add note about Windows carriage returns.
Closes #1808.
2018-02-06 19:39:03 +08:00
Benjamin Tan
4dabd439d2 Fix testing on Windows machines.
Windows carriage return line endings were not being tested for.

Fixes #2087.
2018-02-01 20:28:20 +08:00
Hakim El Hattab
e704b3ffc8 fix bug where left/right arrows appeared when there were no horizontal slides 2018-01-25 09:59:04 +01:00
Hakim El Hattab
de746bb642 reorganize config options 2018-01-25 09:26:10 +01:00
Hakim El Hattab
4232f41abd Merge pull request #2080 from bnjmnt4n/update-deps
Update dependencies.
2018-01-24 15:52:40 +01:00
Benjamin Tan
f9d0766637 Update QUnit to 2.5.0 and grunt-contrib-qunit to 2.0.0. 2018-01-22 22:38:32 +08:00
Benjamin Tan
f0fa6fb226 Update grunt-contrib-uglify. 2018-01-22 22:38:30 +08:00
Benjamin Tan
e382d5cfab Update dependencies. 2018-01-22 22:38:29 +08:00
Hakim El Hattab
e3205a55be Merge pull request #2078 from bnjmnt4n/data-background
Allow `data-background` images to load even if there is whitespace at…
2018-01-22 10:53:44 +01:00
Benjamin Tan
6816a0205e Allow data-background images to load even if there is whitespace at the end.
Fixes #2032.
2018-01-22 17:17:08 +08:00
Hakim El Hattab
40e5544776 Merge pull request #2077 from bnjmnt4n/js-load
Allow JS files with query strings to be loaded.
2018-01-22 10:09:46 +01:00
Benjamin Tan
fd7894fa13 Allow JS files with query strings to be loaded.
Fixes #1944.
2018-01-22 16:33:10 +08:00
Dougal J. Sutherland
d68423f310 fix fragment handling when desired fragment is 0 2018-01-21 18:03:48 +00:00
Dougal J. Sutherland
260f287926 optionally put the fragment in the URL 2018-01-04 20:09:01 +00:00
Hakim El Hattab
0c946ae18b fix missing theme line-height when printing #1967 2017-12-04 14:03:16 +01:00
Hakim El Hattab
7a0b4a56f9 prevent cmd+r in notes window since reloading breaks the view #1958 2017-12-04 13:57:19 +01:00
Hakim El Hattab
edc9c0a8fd Merge pull request #1958 from ThomasWeinert/feature/block_f5_in_notes
Block F5 in speaker notes window, avoid disconnects
2017-12-04 13:46:04 +01:00
Hakim El Hattab
09471a0508 Merge branch 'patch-1' of https://github.com/keradus/reveal.js into dev 2017-12-04 13:44:06 +01:00
Dariusz Rumiński
aee62ff0af .gitignore - ignore package-lock.json file
Ignore lock file of newer node versions
2017-12-02 20:36:36 +01:00
Hakim El Hattab
137e383950 Merge pull request #2045 from jgm/issue2026
Allow tex2jax options to be passed into math plugin.
2017-12-01 14:37:47 +01:00
John MacFarlane
773569b4a2 Allow tex2jax options to be passed into math plugin.
Closes #2026.

This does not change the default behavior of the math plugin,
but it allows $ delimiters to be disabled (which is usually
what you want, since otherwise normal uses of $ for currency get
treated as math delimiters).

To use:

    Reveal.initialize({
      math: {
        tex2jax: { inlineMath: [['\\(','\\)']],
                   skipTags: ['script','noscript','style',
                              'textarea','pre'] }
            },
      etc.
      });
2017-11-29 21:57:29 -08:00
Hakim El Hattab
1f1f86ec73 Merge branch 'issue_2041' of https://github.com/denehyg/reveal.js into dev 2017-11-29 09:54:48 +01:00
Hakim El Hattab
c966c118fa minor formatting tweaks 2017-11-29 09:46:45 +01:00
Hakim El Hattab
6028844452 Merge branch 'plugin-key-bindings' of https://github.com/denehyg/reveal.js into dev 2017-11-29 09:38:05 +01:00
Greg Denehy
8579fc773d Fixed issue with getProgress() when called from slidechanged event on edge case 2017-11-25 11:07:09 +10:30
Hakim El Hattab
a0a9aa7821 optimize use of getSlideBackground by avoiding index lookup 2017-11-23 15:45:15 +01:00
Hakim El Hattab
a0c013606e add inline and external markdown images to example #2039 2017-11-23 11:12:54 +01:00
Hakim El Hattab
65bdccd580 lab.hakim.se/reveal-js -> revealjs.com 2017-11-22 14:46:55 +01:00
Hakim El Hattab
8a63686017 3.6.0 2017-11-22 14:10:33 +01:00
Hakim El Hattab
a03e803628 make it possible to load/unload slides via the api 2017-11-21 15:38:44 +01:00
Hakim El Hattab
4022cbfe84 simplify logic for finding slide backgrounds 2017-11-21 15:29:40 +01:00
Nicolas Normand
fa8a7334ce URI encode name hash 2017-11-17 11:59:21 +01:00
Hakim El Hattab
28d6a7775b Merge branch 'update-css' of https://github.com/sfairchild/reveal.js into dev 2017-11-09 11:52:11 +01:00
Hakim El Hattab
afce29d79a Merge branch 'master' of github.com:hakimel/reveal.js into dev 2017-11-09 11:51:59 +01:00
Hakim El Hattab
9d0a3d7d5e Merge pull request #1983 from ssfrr/patch-1
adds note about necessary markdown scripts to README
2017-11-09 11:48:51 +01:00
Hakim El Hattab
41e86a2a22 Merge pull request #2017 from hoeggi/patch-1
Update README.md
2017-11-09 11:47:38 +01:00
Hakim El Hattab
1c8edfc8e4 Merge pull request #1957 from crowchirp/patch-1
corrected minor typo in readme file
2017-11-09 11:46:57 +01:00
Hakim El Hattab
463770cc53 Merge pull request #2029 from lechten/export-isSpeakerNotes
Export isSpeakerNotes
2017-11-09 11:41:08 +01:00
Hakim El Hattab
3d1d7683b2 reconfiguring no longer unloads iframes on current slide 2017-11-09 11:40:25 +01:00
Hakim El Hattab
376d140b2a Merge pull request #2030 from lechten/registersearchkey
Register search key shortcut for help overlay
2017-11-09 11:30:38 +01:00
Hakim El Hattab
3beda63a7d allow to be called directly before or after (closes #2021) 2017-11-09 10:26:35 +01:00
Jens Lechtenbörger
1002d39e7c Register search key shortcut for help overlay 2017-11-05 17:45:18 +01:00
Jens Lechtenbörger
44a5673e6f Export isSpeakerNotes 2017-11-05 10:31:43 +01:00
hoeggi
8041759b8b Update README.md 2017-10-28 19:57:35 +02:00
Hakim El Hattab
4a4719b587 always show media controls on mobile devices 2017-10-04 11:13:09 +02:00
Spencer Russell
665d3a151d adds note about necessary markdown scripts to README 2017-09-11 15:13:37 -04:00
Hakim El Hattab
56504b50a9 support negative values in query config overrides 2017-09-07 10:33:44 +02:00
Sean Fairchild
f9a4a27087 Prevent text-transform inside code tags 2017-09-06 10:50:39 -04:00
Thomas Weinert
c0109d948f Block F5 in speaker notes window, avoid disconnects 2017-08-12 13:42:55 +02:00
Chandan Rai
04dcc48fa9 corrected minor typo in readme file 2017-08-10 00:17:08 +05:30
Maximilian Köhl
08e0f5e47b fix indent: replace spaces with tabs 2017-08-08 22:53:32 +02:00
Maximilian Köhl
a2cf23b30c PDF export: add option to export one page per fragment 2017-08-08 22:47:10 +02:00
Hakim El Hattab
bfd431a0c4 add option for disabling all forms of auto-sliding 2017-07-27 08:42:40 +02:00
Hakim El Hattab
8725593805 localstorage feature test in notes plugin, fixes speaker view error in safari 2017-07-13 20:19:16 +02:00
Hakim El Hattab
b04489b129 zoom.js works on main wrapper element 2017-06-19 11:06:58 +02:00
Hakim El Hattab
76eea30083 zoom.js uses ctrl+click for linux, alt+click for others #1909 2017-06-19 09:52:56 +02:00
Hakim El Hattab
af6754bfb7 simplify point zoom, switch back to alt + click shortcut for os x support #1909 2017-06-19 09:45:52 +02:00
Hakim El Hattab
a781b6a22b clear existing matches when searching for empty string #1909 2017-06-19 09:43:29 +02:00
Hakim El Hattab
7d0d3c24ca Merge branch 'master' of https://github.com/linux-man/reveal.js into dev 2017-06-19 09:36:25 +02:00
Hakim El Hattab
af7c33b902 unload lazy loaded videos that are moved out of view 2017-06-14 19:11:08 +02:00
Hakim El Hattab
dc17129082 themes use default quotation marks for <q> #1720 2017-06-14 10:42:51 +02:00
Hakim El Hattab
1233092223 prevent mobile safari header from covering presentation content 2017-06-13 09:43:05 +02:00
Hakim El Hattab
9342d19b5a fix centering of edge-aligned controls 2017-06-12 10:22:47 +02:00
Hakim El Hattab
6ae4ad69d2 change event listener syntax #1917 2017-06-12 09:17:46 +02:00
Hakim El Hattab
5e279efdf3 Merge branch 'issue1896' of https://github.com/OleMussmann/reveal.js into dev 2017-06-12 09:11:24 +02:00
Hakim El Hattab
2961f00946 Merge branch 'master' of github.com:hakimel/reveal.js into dev 2017-06-12 09:05:37 +02:00
Hakim El Hattab
43eada7990 Merge pull request #1898 from bentsai/patch-1
Fix typo
2017-06-12 08:53:09 +02:00
Hakim El Hattab
9139bc32de alias 'notes:' alias for md speaker note separator #1913 2017-06-07 15:43:25 +02:00
Ole Mussmann
b279a47a76 patch to allow multiplexing on URL load 2017-06-06 10:36:40 +02:00
Hakim El Hattab
9ab14374e5 change condition for detecting when there are horizontal slides 2017-06-02 12:13:41 +02:00
Hakim El Hattab
0388c96e60 'showNotes' does nothing when there are no notes 2017-05-24 10:05:16 +02:00
Hakim El Hattab
53c56510ed larger speaker notes font on big screens 2017-05-23 13:14:25 +02:00
Hakim El Hattab
b64c35ed0b tweak control spacing 2017-05-22 11:50:18 +02:00
Hakim El Hattab
fab28362ce highlight.js 9.0.0 -> 9.11.0 2017-05-22 11:34:24 +02:00
linux-man
ce467b53bc Remove comment 2017-05-21 19:49:07 +01:00
linux-man
9c3a65744c Modified Zoom
Block dimension calculation is not accurate, so zoom is made on mouse coordinates
Change default modifier to ctrl - alt don't work on Linux
New parameter zoomLevel: default 2
2017-05-21 19:13:41 +01:00
linux-man
e3a3d3aa0a Better Search
Open/close with Control+Shift+f
Find words inside SPAN
Don't duplicate findings
2017-05-21 19:00:12 +01:00
Hakim El Hattab
64bcfc4f69 change default color of controls to match legacy 2017-05-19 16:14:37 +02:00
Hakim El Hattab
522db9513c remove border from notes contain when printing on separate page 2017-05-19 11:21:40 +02:00
Hakim El Hattab
955075bfc4 adjust autplay position when notes are bottom-aligned 2017-05-19 10:46:13 +02:00
Hakim El Hattab
b1a7b0799f low width speaker notes mode no longer uses vh 2017-05-19 10:20:06 +02:00
Hakim El Hattab
9a7d491ede adjust speaker notes layout on mobile devices 2017-05-19 09:51:01 +02:00
Hakim El Hattab
7ae18c6b1e 'no notes on this slide' placeholder 2017-05-18 16:03:20 +02:00
Hakim El Hattab
052a3f0c71 speaker notes tweak 2017-05-18 16:00:48 +02:00
Hakim El Hattab
b7b3fe3ed4 comment typo 2017-05-18 15:40:17 +02:00
Hakim El Hattab
453a888797 fix error with multiple decimal em in safari 2017-05-18 15:35:25 +02:00
Hakim El Hattab
6dde00fb2e improve controls on touch devices 2017-05-18 14:11:48 +02:00
Hakim El Hattab
fb1b8a2790 revise progress to make them easier to override 2017-05-18 09:58:25 +02:00
Hakim El Hattab
a5e175d59f fix up arrow position 2017-05-18 09:42:01 +02:00
Hakim El Hattab
d770f32bb9 control layout tweaks 2017-05-17 17:10:17 +02:00
Hakim El Hattab
c966672aa4 adjust control layouts when there are no vertical/horiozontal slides 2017-05-17 15:20:45 +02:00
Hakim El Hattab
b784bd56d1 more flexible control size using em 2017-05-17 14:45:01 +02:00
Hakim El Hattab
13733edaa8 control opacity tweak 2017-05-16 15:51:20 +02:00
Hakim El Hattab
67507ccb9d controlsHints -> controlsTutorial 2017-05-16 15:40:50 +02:00
Hakim El Hattab
9e013ccbb2 in/out transitions for controls 2017-05-16 15:31:05 +02:00
Hakim El Hattab
617c17be3c add controlsHint option, animates vertical arrow first time we encounter a vertical slide 2017-05-16 15:04:32 +02:00
Hakim El Hattab
58dc6b7c36 adjust controls layout when there are no vertical or horizontal slides in the deck 2017-05-16 09:45:37 +02:00
Hakim El Hattab
f8b5813e59 prevent flicker on hover 2017-05-16 09:45:37 +02:00
Hakim El Hattab
16c03a5b03 spacing adjustment 2017-05-16 09:45:37 +02:00
Hakim El Hattab
92049d8244 fix unclickable slides in overview when controls were edge-aligned 2017-05-16 09:45:37 +02:00
Hakim El Hattab
2a0a6cbabc reduce control spacing 2017-05-16 09:45:37 +02:00
Hakim El Hattab
54a2137c0d fix responsive issue with speaker notes 2017-05-16 09:45:37 +02:00
Hakim El Hattab
2cc5ae946b new, fixed, speaker notes layout 2017-05-16 09:45:37 +02:00
Hakim El Hattab
44a355b6e9 'controls-placement' -> 'controls-layout', cut back on controls spacing 2017-05-16 09:45:37 +02:00
Hakim El Hattab
10545d41cc simplify control styling using currentColor 2017-05-16 09:45:37 +02:00
Hakim El Hattab
2155415767 more flexible back arrow controls option 2017-05-16 09:45:37 +02:00
Hakim El Hattab
e45a425575 default to bottom right controls, rename soften arrows option 2017-05-16 09:45:37 +02:00
Hakim El Hattab
4fb8e78eb4 collapse control element size when corner aligned 2017-05-16 09:45:37 +02:00
Hakim El Hattab
a9fcaa6f9e new controls are used by default, add config options 2017-05-16 09:45:37 +02:00
Hakim El Hattab
8a09557699 control size tweaks 2017-05-16 09:45:37 +02:00
Hakim El Hattab
69c72b9e08 invert colors of controls based on current background 2017-05-16 09:45:37 +02:00
Hakim El Hattab
ce4537f883 new controls responsively move to bottom right for small displays 2017-05-16 09:45:37 +02:00
Hakim El Hattab
1319016957 new optional controls aligned to screen edges 2017-05-16 09:45:37 +02:00
Hakim El Hattab
963e5c8678 correct target for cssmin 2017-05-16 09:44:36 +02:00
Ben Tsai
0d1be9920f Fix typo
"proceding" → "proceeding"
2017-05-10 20:36:45 -04:00
Hakim El Hattab
ada8003183 Merge pull request #1887 from tristansokol/tristans/add-useavailableport
adds `useAvailablePort` option when serving page with connect.
2017-05-05 14:11:07 +02:00
Hakim El Hattab
00570ea5ce Merge pull request #1884 from demoneaux/upgrade-deps
Upgrade Grunt dependencies and standardise on a consistent file format.
2017-05-05 14:10:24 +02:00
Tristan Sokol
d948c2cd6b adds useAvailablePort option when serving page with connect. 2017-05-02 17:54:29 -07:00
Benjamin Tan
b294323854 Upgrade Grunt dependencies and standardise on a consistent file format.
Closes #1226, #1538.
2017-05-01 12:16:30 +08:00
Greg Denehy
b86b667d25 Changes to fix failed jshint test related to Key Binding API 2017-04-30 19:42:45 +09:30
Greg Denehy
e16508477a Fixed notes.js to account for upstream updates 2017-04-30 17:51:38 +09:30
Greg Denehy
f8bc679182 Merge branch 'dev' into plugin-key-bindings 2017-04-30 17:42:16 +09:30
Greg Denehy
40a46e1c0c Added description of custom key binding API to readme 2017-04-30 17:19:01 +09:30
Greg Denehy
e48e1e19b9 Changed custom key binding config properties to use 'keyCode' instead of 'code' 2017-04-30 16:35:35 +09:30
Greg Denehy
8bf9986fa2 Pass through key event when calling keyboardCondition() to allow conditional function to filter on key codes 2017-04-30 15:24:42 +09:30
Greg Denehy
7297474b2e Added programatic support for custom key bindings with optional descriptions to be added to the help screen 2017-04-30 15:23:04 +09:30
Hakim El Hattab
360bc94006 new fix for prematurely autoplaying background videos 2017-04-27 18:49:20 +02:00
Hakim El Hattab
9f4ed56bb3 larger headings for background sections 2017-04-27 16:42:24 +02:00
Hakim El Hattab
caccf67d3a add for iframe backgrounds 2017-04-27 16:39:49 +02:00
Hakim El Hattab
b19dc7fc80 don't autoplay background videos in overview mode 2017-04-27 16:36:25 +02:00
Hakim El Hattab
8e93a1ddf9 3.5.0 2017-04-26 14:21:54 +02:00
Hakim El Hattab
0c3d89bfce minor tweak for #1564 2017-04-21 09:35:51 +02:00
Adam Spiers
715cf0ba11 optionally display pacing advice based on slide timings
Add an option to display advice on whether the current pace of the
presentation is on track for the right timing (shown as green), and if
not, whether the presenter should speed up (shown as red) or has the
luxury of slowing down (blue).

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

When the option is enabled, clicking on the timers will reset the timer
to the beginning of the current slide, i.e. as if pacing was perfectly
on track, not to zero as if the presentation had just begun.
2017-04-20 16:11:10 +01:00
Adam Spiers
921a605567 document clock and timer in speaker notes window 2017-04-20 15:18:15 +01:00
Adam Spiers
9c7fda43e9 don't show negative signs inside minutes/seconds elements 2017-04-20 15:18:15 +01:00
Adam Spiers
933eba8789 round decreasing timers to mirror increasing timers 2017-04-20 15:18:15 +01:00
Adam Spiers
1eada3b360 avoid deleting existing classes when muting time elements
and make muting work for negative values
2017-04-20 15:18:15 +01:00
Adam Spiers
b1b4ee270b don't mute minutes when hours is unmuted 2017-04-20 15:18:15 +01:00
Adam Spiers
89b0c5a8d0 use opacity for muted clock elements
This allows us to use different colours for different timers,
which will be useful when we add a pacing timer.
2017-04-20 15:18:15 +01:00
Adam Spiers
a161acaba9 extract time display code into new _displayTime() function
This will allow us to reuse the display code for displaying
an additional pacing timer.
2017-04-20 15:18:15 +01:00
Adam Spiers
eb23e58114 Allow popup window access to Reveal API 2017-04-20 15:18:15 +01:00
Adam Spiers
ef9cbbbbb9 add new getSlides() API
This can be used by plugins which are concerned with helping the
presenter with their pace.
2017-04-20 15:18:15 +01:00
Adam Spiers
40912ace1f clarify getTotalSlides() returns the number of slides 2017-04-20 15:18:15 +01:00
Adam Spiers
d75afd6108 expose getPastSlideCount() via public API
This can be used by plugins which are concerned with helping the
presenter with their pace.
2017-04-20 15:18:15 +01:00
Adam Spiers
eac37990e1 clarify meaning of getProgress() value 2017-04-20 15:18:15 +01:00
Hakim El Hattab
9bbd5f2735 formatting 2017-04-07 10:10:11 +02:00
Hakim El Hattab
2289b92961 Merge pull request #1851 from astone123/master
Fix data-background-video autoplay on iOS Safari
2017-04-07 10:02:58 +02:00
Hakim El Hattab
d1d44cf6b7 formatting 2017-04-07 09:55:55 +02:00
Hakim El Hattab
30f2af0ac5 Merge pull request #1844 from riezebosch/pdf-print-stretch
print-pdf layout slide contents to fit stretch elements
2017-04-07 09:54:39 +02:00
Hakim El Hattab
8ec5e00062 Merge pull request #1843 from riezebosch/pdf-print-callback
print-pdf using callback iso timer
2017-04-07 09:42:24 +02:00
Hakim El Hattab
1babc8d31c Merge pull request #1866 from christianp/mathjax-cdn
replace cdn.mathjax.org with cdnjs
2017-04-07 09:33:05 +02:00
Christian Lawson-Perfect
9495b64d2c replace cdn.mathjax.org with cdnjs
cdn.mathjax.org is shutting down: https://www.mathjax.org/cdn-shutting-down/

This changes the default MathJax URL in the math plugin, as well as
references in README.md and test/examples/math.html
2017-04-05 12:48:56 +01:00
Hakim El Hattab
c3e96f1f0e make pdf page height offset configurable 2017-04-04 14:02:54 +02:00
Hakim El Hattab
2584a6d970 new cli and in-browser pdf printing compatible fix for #1804 2017-04-04 13:37:01 +02:00
Hakim El Hattab
3ea7e2ff59 allow fullscreen for background iframes 2017-03-30 16:26:49 +02:00
Hakim El Hattab
a0a3b4f80d add autoPlayMedia config option, overrides individual autoplay settings 2017-03-23 11:44:02 +01:00
ADAM STONE
d9dd9a92fb Fix video background autoplay on iOS 2017-03-17 22:47:25 -04:00
Manuel Riezebosch
34f3773bf0 print-pdf layout slide contents to fit stretch elements
layout() and thereby layoutSlideContents() is never invoked
when isPrintingPdf() is true so stretch elements are not
sized correctly.
This is ensured now by invoking the layoutSlideContents
from SetupPDF(). There seems no need to scale down
like in other PR's is suggested.
2017-03-14 19:16:08 +01:00
Manuel Riezebosch
9a7c7ce93a print-pdf using callback iso timer
Use window.callPhantom icw page. onCallback to wait for pdf-ready event.
From: http://stackoverflow.com/a/28925479/129269
2017-03-14 18:54:04 +01:00
Hakim El Hattab
7e6fb9ec87 avoid npe on iframe postMessage 2017-03-14 09:06:39 +01:00
RobertBaron
f070ba47ec Allow whitespace on background-images, w3 compliance 2017-02-23 19:03:15 -06:00
Hakim El Hattab
b143e5976b tweaks to showSlideNumber config #1833 2017-02-20 11:49:36 +01:00
Hakim El Hattab
8f7e4bfd41 Merge branch 'slidenum' of https://github.com/malcomio/reveal.js into dev 2017-02-20 11:41:31 +01:00
Hakim El Hattab
5565d08612 note about deploying multiplex server with now #1830 2017-02-20 11:37:18 +01:00
Malcolm Young
95bca847d6 correct config name in README 2017-02-17 15:19:15 +00:00
Malcolm Young
da23d682c6 allow configuration of which view slide number appears on - fixes #1791 2017-02-17 15:08:57 +00:00
Hakim El Hattab
1cee8998a0 fix overview rendering issues in latest chrome #1649 2017-02-17 10:50:52 +01:00
Hakim El Hattab
fa70a7a517 phantom export throws error if reveal.js isn't present 2017-02-15 11:43:57 +01:00
Hakim El Hattab
bef8109506 Merge branch 'master' of github.com:hakimel/reveal.js into dev 2017-02-15 11:19:25 +01:00
Hakim El Hattab
a349ff43c5 new phantom pdf export script that works with 3.4.0 #1815 2017-02-15 11:19:02 +01:00
Hakim El Hattab
313a23ba2b merge autoplay conflict #1771 2017-02-14 14:51:43 +01:00
Hakim El Hattab
909efab7df fix readme conflict 2017-02-14 14:42:22 +01:00
Hakim El Hattab
bc1ca1a58a updated pdf docs 2017-02-14 14:40:12 +01:00
Hakim El Hattab
2f54af4614 update readme re: pdf exports #1823 2017-02-14 14:38:57 +01:00
Hakim El Hattab
8b97ff3126 Merge pull request #1823 from gilxa1226/master
Update to README.md for PDF printing
2017-02-14 14:25:55 +01:00
Hakim El Hattab
5ad66f3779 docs for #1816 and remove showHelp 2017-02-09 11:37:47 +01:00
Hakim El Hattab
1749f0d019 Merge pull request #1816 from Frazer/patch-1
added toggleHelp function
2017-02-09 11:31:00 +01:00
Hakim El Hattab
adc326139a update deserialize regex to work with decimals 2017-02-08 12:56:51 +01:00
Frazer Kirkman
2a1303f3c1 added override parameter to toggleHelp function 2017-02-07 19:53:58 +01:00
gilxa1226
d7b34b6e0f Update README.md to include block for pdf printing 2017-02-07 07:44:52 -05:00
gilxa1226
bcfb65658f Update README.md 2017-02-07 07:43:41 -05:00
Frazer Kirkman
bede9a22e8 added toggleHelp function
this way a key can be given ability to toggleHelp on and off.  Previously Reveal.showHelp could open the help screen, but no way to close it.
2017-02-05 18:42:59 +01:00
Hakim El Hattab
9f99ac8b84 adjust comment for display config value #1325 2017-02-02 10:47:39 +01:00
Hakim El Hattab
8a0dca2ba0 Merge branch 'issue-1324' of https://github.com/mojavelinux/reveal.js into dev 2017-02-02 10:42:21 +01:00
Hakim El Hattab
cc43ff21ef Merge branch 'master' of https://github.com/Bramas/reveal.js into dev 2017-02-01 11:13:40 +01:00
Hakim El Hattab
2c9e226fab warning about cube/page being deprecated #1774 2017-02-01 10:33:50 +01:00
Hakim El Hattab
f496613dd3 improved fragment notes support #1636 2017-01-31 17:08:08 +01:00
Hakim El Hattab
c49f76d271 Merge branch 'master' of github.com:hakimel/reveal.js into dev 2017-01-31 16:48:55 +01:00
Hakim El Hattab
1413cbc1a9 Merge pull request #1636 from traff/master
For a fragment: allow to show a separate note defined in it
2017-01-31 16:47:29 +01:00
Hakim El Hattab
dc159f2825 Merge pull request #1644 from rajgoel/dev
Turn off preview links locally
2017-01-31 16:45:07 +01:00
Hakim El Hattab
7daa0e04de make background videos work on ipad #1778 2017-01-31 16:24:06 +01:00
Hakim El Hattab
981a8b98e4 Merge pull request #1728 from opdavies/sass-extension
support .sass themes
2017-01-31 15:49:51 +01:00
Hakim El Hattab
581da02def Merge pull request #1764 from demoneaux/package-json
Shift `dependencies` to `devDependencies`.
2017-01-31 15:11:38 +01:00
Hakim El Hattab
eada86c8fd recommend using textarea wrapper for inline markdown #1780 2017-01-31 15:07:03 +01:00
Hakim El Hattab
02a6b0515e fix markdown typo, update comment #1780 2017-01-31 15:02:59 +01:00
Hakim El Hattab
37f3da6095 Merge branch 'patch-2' of https://github.com/ccqgithub/reveal.js into dev 2017-01-31 15:02:26 +01:00
Hakim El Hattab
3617eaccb6 note about showNotes in PDF exports #1800 2017-01-30 14:50:17 +01:00
Hakim El Hattab
fa01fa366a typo 2017-01-30 14:38:14 +01:00
Hakim El Hattab
c018d04197 Merge branch 'master' of github.com:hakimel/reveal.js into dev 2017-01-30 14:33:52 +01:00
Hakim El Hattab
3bcd167ce9 Merge pull request #1803 from bitjson/patch-1
correct grunt option usage
2017-01-30 14:20:41 +01:00
Hakim El Hattab
cd36c9274f Merge branch 'master' of github.com:hakimel/reveal.js into dev 2017-01-25 11:01:40 +01:00
Hakim El Hattab
9f8e4d5742 3.4.1 2017-01-25 10:51:25 +01:00
Hakim El Hattab
953d302f8b adjust pdf margins instead of heights to fix #1804 2017-01-25 10:46:03 +01:00
Hakim El Hattab
84202fa072 adjust pdf margins instead of heights to fix #1804 2017-01-25 10:43:26 +01:00
Hakim El Hattab
d9dcff1503 additional fix for empty pages in pdf exports #1804 2017-01-24 15:29:34 +01:00
Hakim El Hattab
286b69b61f fix empty pages in pdf exports (closes #1804) 2017-01-24 15:29:27 +01:00
Hakim El Hattab
934c2e9730 additional fix for empty pages in pdf exports #1804 2017-01-24 15:27:37 +01:00
Hakim El Hattab
d4133f0160 fix empty pages in pdf exports (closes #1804) 2017-01-24 14:48:36 +01:00
Jason Dreyzehner
e3ca5e84a3 correct grunt option usage 2017-01-23 21:26:33 -05:00
Hakim El Hattab
a6ecbfa732 merge info links in index 2017-01-23 11:23:45 +01:00
Hakim El Hattab
08e6cc5a3c Merge pull request #1794 from pkubowicz/index-history
Remove 'history: true' from index.html
2017-01-23 11:16:48 +01:00
Hakim El Hattab
cb16f27dd3 Merge pull request #1768 from demoneaux/background-images
Allow background images without protocols to have query hashes/parameters.
2017-01-23 11:11:28 +01:00
Hakim El Hattab
e8164c1392 2017 2017-01-20 10:35:01 +01:00
Hakim El Hattab
20238ee1d6 make backgrounds (iframes) interactive when the foreground is empty 2017-01-19 12:16:30 +01:00
Hakim El Hattab
98de9327a7 remove unused argument 2017-01-19 12:08:28 +01:00
Hakim El Hattab
941b86b6c3 works with video, defaults to (same as for images) 2017-01-18 10:43:29 +01:00
Hakim El Hattab
84090b882f fix race condition by updating backgrounds after slide visibility 2017-01-17 18:37:43 +01:00
Hakim El Hattab
f9e5467000 prevent autoplaying backgrounds from playing if slide is hidden 2017-01-17 13:19:10 +01:00
Hakim El Hattab
a38207f1d7 wait for in-slide video/audio to load before playing, reuse same autoplay logic for slide backgrounds 2017-01-16 16:11:20 +01:00
Piotr Kubowicz
4afd854037 Remove 'history: true' from index.html
Readme says the default is 'history: false', so it may be surprising
for users - it's easy to miss the contradicting setting in index.html
2017-01-15 16:35:31 +01:00
Hakim El Hattab
568c7516f7 fix unclosed code block 2017-01-10 14:43:47 +01:00
Hakim El Hattab
fb8414f4cb 3.4.0 2017-01-10 13:47:33 +01:00
Hakim El Hattab
a144134b42 Merge branch 'dev' of github.com:hakimel/reveal.js 2017-01-10 13:45:52 +01:00
Season Chen
5f76234566 support complex markdown
support <textarea data-template> `some code` </textarea>
2016-12-23 13:08:23 +08:00
Hakim El Hattab
97bb6e9b58 fragments inherit visibility to avoid conflicts with parent slide visibility 2016-12-15 14:06:17 +01:00
Hakim El Hattab
f2bd9d2970 don't show error message while iframe fades in #1577 2016-12-13 16:16:51 +01:00
Hakim El Hattab
001d4d94d3 Merge branch 'add-refused-to-display-tips-to-link-preview' of https://github.com/Huxpro/reveal.js into dev 2016-12-13 15:57:43 +01:00
Hakim El Hattab
40c4db1e04 always use lowercase reveal.js 2016-12-13 15:52:34 +01:00
Hakim El Hattab
63d3b59ab2 Merge pull request #1767 from demoneaux/readme
Add note about head.js to readme.
2016-12-13 15:50:30 +01:00
Markku Roponen
962c6c133b #1770, set 'data-paused-by-reveal' attribute only for the media elements, which are not already in paused state. 2016-12-13 16:02:26 +02:00
Markku Roponen
da40eafccd #1770, added second argument for setAttribute 2016-12-12 16:44:24 +02:00
Markku Roponen
54bfad62d7 #1770, fixed function name. 2016-12-12 16:41:52 +02:00
Markku Roponen
6831f6c174 #1770, resume playback for paused media. 2016-12-12 16:30:07 +02:00
Benjamin Tan
441a26cf90 Allow background images without protocols to have query hashes/parameters.
Closes #1603.
2016-12-11 18:14:02 +08:00
Benjamin Tan
4d0f1adc40 Add note about head.js to readme.
Closes #1569.
2016-12-11 16:29:07 +08:00
Benjamin Tan
90b301d0a0 Enable passing options for parsing Markdown.
Closes #1163, #1495.
2016-12-08 17:41:55 +08:00
Benjamin Tan
22de402888 Shift dependencies to devDependencies.
The `reveal.js` npm module is typically installed to access the CSS/JS
assets for Reveal.js. For those that want to run the plugins, they would
clone the whole repository. Hence, it doesn’t make sense to include
those as `dependencies`, which will increase download times.

Closes #1734.
2016-12-08 15:26:16 +08:00
Benjamin Tan
713702a0ab Reduce required Node.js version to 4.0.0.
The development workflow can be used with Node 4+, not just Node 6. We
should avoid showing warnings and errors when users are installing this
package via npm/yarn.

Ref. #1729, #1743.
Closes #1725.
2016-12-06 11:38:17 +01:00
Hakim El Hattab
2bd6b563be Merge pull request #1760 from demoneaux/package-json
Reduce required Node.js version to 4.0.0.
2016-12-06 11:37:31 +01:00
Benjamin Tan
03ac4a2e8e Reduce required Node.js version to 4.0.0.
The development workflow can be used with Node 4+, not just Node 6. We
should avoid showing warnings and errors when users are installing this
package via npm/yarn.

Ref. #1729, #1743.
Closes #1725.
2016-12-06 18:12:41 +08:00
Hakim El Hattab
e4e5cc1083 Merge pull request #1740 from christinakayastha/feature/printing-remove-slide-number
Hide slide number when in paper or pdf print view
2016-12-01 10:36:03 +01:00
Hakim El Hattab
f0dfb5b5e3 merge package version conflicts 2016-12-01 10:34:02 +01:00
Hakim El Hattab
b4d46d2b7c update dependencies to work with latest node #1743 2016-12-01 10:32:44 +01:00
Hakim El Hattab
3de1521a39 Merge pull request #1743 from haf/patch-1
Bump node engine in packages.json
2016-12-01 10:31:44 +01:00
Hakim El Hattab
e460b2bd4b Merge pull request #1747 from spencermathews/feature/readme-defaults-fix
Defaults in README are not current
2016-12-01 10:23:44 +01:00
Hakim El Hattab
67ac871397 Merge pull request #1757 from daanmichiels/correct-copyright
include contributors in (c)
2016-12-01 10:22:44 +01:00
Hakim El Hattab
775d510c2f Merge pull request #1756 from jmpp/better-data-trim
Implementing a better data-trim
2016-12-01 10:18:50 +01:00
Daan Michiels
785dbddd28 correct copyright message to include contributors 2016-11-25 12:36:57 -06:00
J.M. Cléry
35162c1f5e Better version of data-trim on code snippets 2016-11-22 23:42:21 +01:00
Spencer Mathews
21c1fafa52 Update README.md to reflect current defaults in js/reveal.js 2016-11-15 13:14:56 -08:00
Hakim El Hattab
19188205de add pdf-ready event; dispatched when the presentation is laid out and ready to print 2016-11-09 11:56:55 +01:00
Henrik Feldt
a8586b3ab3 Bump node engine in packages.json 2016-11-09 11:11:34 +01:00
Christi Kaes
80e28774dd Don't remove slide-number in pdf view 2016-10-30 14:11:10 -04:00
christikaes
659822a8b5 Hide slide number when in paper or pdf print view 2016-10-30 11:31:20 -04:00
Oliver Davies
b78cca5831 Support sass extension for custom themes 2016-10-16 09:53:19 +01:00
Hakim El Hattab
ca37d4e5b9 remove debug code 2016-10-12 13:21:22 +02:00
Hakim El Hattab
7547b893d4 fixes ff overview rendering bug #1649 2016-10-10 12:11:35 +02:00
Hakim El Hattab
e76855e257 remove unused dom lookup 2016-10-06 11:01:44 +02:00
Hakim El Hattab
0b9233cf4a attempt at fixing ff transition bug #1627 2016-10-05 14:00:40 +02:00
Hakim El Hattab
ce55d1a179 fix merge conflict for #1634 2016-10-05 12:21:21 +02:00
Hakim El Hattab
02f95f4de6 code format tweaks 2016-10-05 12:00:21 +02:00
Maarten Schroeven
7e99626b14 only use nodeType 1 and 3 (only relevant types) 2016-10-05 11:54:46 +02:00
Maarten Schroeven
ab33b31f0a limit text written to the status div 2016-10-05 11:54:46 +02:00
CH
2cf00254a1 renamed grunt 'base' option to 'root' (#1660)
* Allow slides to be served away from revealjs server location

The previous 'base' option conflicts with Grunt's 'base' option.
Changing it to 'root' avoids this. Further, updating to a newer Grunt
allows multiple parameters to be used. therefore `grunt serve --root="."
--root="pathtomyslides"` allows you to keep your slide content separate
from JS/CSS and such

* Live reload for relocated base

* Updated packages to match origin/dev

* Updated packages to match origin/dev

* Ensure root is an array
2016-10-05 11:45:37 +02:00
Hakim El Hattab
693a370f06 remove issue comment 2016-10-05 11:36:56 +02:00
Gerald
969885a7dc ignore delta=0 mousewheel event
fix #1607
2016-10-05 11:29:47 +02:00
Hakim El Hattab
0b6585bd44 prevent exception when initializing with no slides #1678 #1679 2016-10-05 11:23:41 +02:00
Jaiden Mispy
3c36ee6cff Add note to README about how to disable scaling 2016-10-05 11:16:41 +02:00
chadmorrow
ea8964ddbf autoSlide duration with playbackRate
The autoSlide duration of media elements with data-autoplay now takes the playbackRate of said media element into account when setting the duration so that autoSlide and the media element stay in sync.
2016-10-05 11:12:27 +02:00
Hakim El Hattab
255bde174c Merge branch 'r400-linux' of https://github.com/jroper/reveal.js into dev 2016-10-05 11:07:10 +02:00
James Roper
1301de9e39 Logitech R400 on Ubuntu blackout button support
On Ubuntu 16.04, the Logitech R400's blackout button gets mapped to 'v'
(keyCode 86). I don't know why this is, but since nothing else is
currently using 'v', this allows it to be supported out of the box.
2016-10-01 22:00:00 +10:00
Hakim El Hattab
ec76f4790c speaker layouts in server side notes plugin 2016-09-21 14:10:45 +02:00
Hakim El Hattab
da5709919b layout selector for speaker view; includes four options 2016-09-21 13:54:42 +02:00
Hakim El Hattab
79728e25cd autoplay support for content inside of fragments 2016-09-20 13:41:38 +02:00
Hakim El Hattab
bc4fc65da4 none/fade/slide transitions use flat transform style, prevents blurred content #1002 2016-08-01 09:15:34 +02:00
Asvin Goel
a652e0a8ea Allow switching off preview links
The data-preview-link=false tag can be used to switch off preview links
2016-07-21 12:15:07 +02:00
Asvin Goel
c1d94f1b60 Merge pull request #12 from hakimel/dev
Syncing to current version
2016-07-21 12:09:08 +02:00
Dmitry Trofimov
86a3f0276b For a fragment: allow to show a separate note defined in it
When a slide has several fragments it could be convenient to define a note for each of them. In this case we need to show only this specific note defined in a fragment and not others. General note of a slide shouldn't be also shown, as a more specific one should have greater relevance in this case.
2016-07-04 16:57:01 +02:00
Hakim El Hattab
304b0292be null computed style to avoid npe 2016-07-04 14:46:46 +02:00
Hakim El Hattab
ab2bb869a3 null check to avoid occasional npe 2016-07-04 13:32:03 +02:00
Hakim El Hattab
6447b59ac5 ready flag on .reveal container 2016-07-01 08:44:27 +02:00
Charles Grigg
59f3395c7f Update JSDocs and fix typos 2016-06-29 23:10:55 -04:00
Hakim El Hattab
541bcf2123 update dependencies based on retire.js info #1473 2016-06-28 15:48:09 +02:00
Hakim El Hattab
e7de1bd8b0 merge retire.js #1473 2016-06-28 15:43:11 +02:00
Hakim El Hattab
9639b53ff4 Merge branch 'master' of github.com:hakimel/reveal.js into dev 2016-06-28 15:36:08 +02:00
Hakim El Hattab
8f47b17230 Merge pull request #1628 from davidjb/markdown-doc-fix
Detail markdown plugin attributes & defaults
2016-06-28 14:46:05 +02:00
Quentin Bramas
338a7b0ff9 add 'npm build' script that launch grunt 2016-06-28 14:31:37 +02:00
Hakim El Hattab
1da1ff0d6d use first fragment's data-autoslide value when there is no current fragment 2016-06-27 11:13:09 +02:00
Hakim El Hattab
65a90cc75d remove unused dom reference 2016-06-22 09:31:05 +02:00
Hakim El Hattab
e4634f20e8 revise simple.md so that slide 1.1 and 1.2 correctly break into separate slides 2016-06-22 09:24:09 +02:00
Hakim El Hattab
8d7ff10ce3 Merge branch 'bug/markdownSetOptions' of https://github.com/snowyu/reveal.js into dev 2016-06-22 09:20:24 +02:00
David Beitey
1fe20cb42a Detail markdown plugin attributes & defaults
Expands the details already given by highlighting the defaults for all attributes and clarifying what's required.
2016-06-22 15:10:31 +10:00
Hakim El Hattab
8d4cb810d6 move speaker notes into page container when printing pdf 2016-06-21 14:21:42 +02:00
Hakim El Hattab
bac187f3a0 request fullscreen on documentElement instead of body (#1621 #1624) 2016-06-21 11:33:07 +02:00
Hakim El Hattab
a12a17b2d7 request fullscreen on documentElement instead of body (#1621 #1624) 2016-06-21 11:30:12 +02:00
Hakim El Hattab
ce777e4c4b Revert "fix theme backgrounds in firefox fullscreen mode #1386"
This reverts commit b7e0d9b1c7.
2016-06-21 11:27:24 +02:00
Hakim El Hattab
b7e0d9b1c7 fix theme backgrounds in firefox fullscreen mode #1386 2016-06-20 10:27:04 +02:00
Hakim El Hattab
8162855d23 increase default font sizes, adjust config defaults for less margings and larger max scale #1605 2016-06-10 10:58:40 +02:00
Hakim El Hattab
6bfa48a667 prevent repeated initialization #1616 2016-06-10 10:41:16 +02:00
Hakim El Hattab
d78a8046dc Merge branch 'Timothep-master' into dev 2016-06-10 10:13:06 +02:00
Timothep
ad86772f20 Horizontal 2-1 View for the speaker notes instead of a vertical 1-2 2016-06-10 10:12:54 +02:00
Timothep
02123205a0 Added a description of the undocumented timer-reset feature 2016-06-10 10:12:54 +02:00
Hakim El Hattab
64aa3b2647 Merge branch 'master' of https://github.com/dhyegofernando/reveal.js into dev 2016-06-10 10:09:21 +02:00
Hakim El Hattab
ca92d22adc add showHelp to api #1611 2016-06-10 10:04:54 +02:00
Hakim El Hattab
7d6cc9f3ec Merge branch 'master' of github.com:hakimel/reveal.js into dev 2016-06-03 13:57:09 +02:00
Hakim El Hattab
c2997c605d text alignment 2016-06-03 13:56:52 +02:00
Hakim El Hattab
6b4bdd2c90 hdpi slides banner 2016-06-03 13:54:42 +02:00
Hakim El Hattab
f9ae4122f7 Merge branch 'master' of github.com:hakimel/reveal.js into dev 2016-06-03 10:15:34 +02:00
Hakim El Hattab
904f9878d3 slides banner 2016-06-03 10:15:26 +02:00
Hakim El Hattab
4321266276 include layout for notes outside of pdf exports 2016-05-26 10:09:09 +02:00
Hakim El Hattab
3111d3b1ae support for 'separate-page' layout for notes in PDF exports #1518 2016-05-26 09:57:27 +02:00
Hakim El Hattab
e93afb7289 Merge branch 'master' of github.com:hakimel/reveal.js into dev 2016-05-23 12:03:39 +02:00
Hakim El Hattab
a8c4109244 Update README.md
more in-depth documentation of slide backgrounds #1542
2016-05-23 11:59:29 +02:00
Hakim El Hattab
fd97d56894 Merge pull request #1537 from vincentbernat/fix/dark-background-simple-theme
make theme "simple" use white titles on dark backgrounds
2016-05-23 10:57:47 +02:00
Hakim El Hattab
9cd7f3f37b code format 2016-05-23 10:54:40 +02:00
Hakim El Hattab
884d3cd177 Merge pull request #1585 from jasonkiss/feature/disabled-buttons
set/remove @disabled on navigation buttons
2016-05-23 10:52:14 +02:00
Hakim El Hattab
e2fa1d966c ocd 2016-05-23 10:50:39 +02:00
Hakim El Hattab
2418a12cb9 Merge pull request #1586 from jasonkiss/feature/accessible-speaker-notes
make speaker notes keyboard accessible
2016-05-23 10:48:39 +02:00
Hakim El Hattab
6593ac3d5f moz selection color in theme template #1575 2016-05-23 10:38:46 +02:00
Hakim El Hattab
3483aacfa7 Merge pull request #1575 from aniqah/firefox-selection-colour
Add selection colour for Mozilla Firefox
2016-05-23 10:36:54 +02:00
Hakim El Hattab
2503b1a2e8 merge readme conflict #1595 2016-05-23 10:34:58 +02:00
Hakim El Hattab
c5c0290cca Merge branch 'patch-1' of https://github.com/tiagorg/reveal.js into dev 2016-05-23 10:28:32 +02:00
Tiago Garcia
187114f472 Removing duplicated "position" property at pdf.css
Found that by running css-lint on the code
2016-05-21 11:36:49 -07:00
Tristan Sokol
b79f1fac13 Add minor imporovements to the PDF export instructions 2016-05-19 16:47:25 -07:00
Jason Kiss
dec6d1745b make speaker notes keyboard accessible
Places div.speaker-notes in default kbd Tab order, and when focused,
prevent slide navigation with up/down arrows, allowing up/down arrow
keys to scroll div.speaker-notes.
2016-05-10 11:02:45 +12:00
Jason Kiss
fb8bbaac00 set/remove @disabled on navigation buttons
Keeps disabled buttons out of kbd tab order and indicates to assistive
tech like screen readers that button is disabled. Otherwise buttons
that aren’t enabled remain in kbd Tab order and screen readers announce
them as buttons, but they don’t work.
2016-05-10 10:03:05 +12:00
黄玄
e2a8634057 add refused-to-display tips in link-preview-overlay 2016-05-02 01:42:11 +08:00
Hakim El Hattab
2a79d054d4 Merge branch 'master' of github.com:hakimel/reveal.js into dev 2016-04-29 09:26:41 +02:00
Hakim El Hattab
3d49b1dea3 Merge pull request #1571 from adius/patch-1
Simplify full setup
2016-04-29 09:26:28 +02:00
Hakim El Hattab
ce7d494ae9 tweak formatting to match rest of slide 2016-04-29 09:25:05 +02:00
Hakim El Hattab
2d54bc6823 Merge pull request #1572 from jesstelford/zoom-content-size
More natural zooming on block level elements
2016-04-29 09:24:25 +02:00
Hakim El Hattab
9b11915c3a fix pdf bg layering, simplify code 2016-04-28 17:07:26 +02:00
Hakim El Hattab
5558103522 make max pages per slide limit configurable 2016-04-28 11:31:11 +02:00
Hakim El Hattab
fcb6ea8385 prevent pages from overflowing when printing to pdf 2016-04-28 11:16:36 +02:00
Aniqah Mair
d1a3656108 Add selection colour for Mozilla Firefox
Defines the highlight colour when selecting slide content using Mozilla
Firefox to match other browsers, instead of being the default colour.
2016-04-27 14:50:03 -04:00
Hakim El Hattab
66c4e6a77f use scrollHeight instead of custom measurement 2016-04-27 11:12:16 +02:00
Jess Telford
a0e6da6a9c More natural zooming on block level elements
Switching a `display: block` element to `display: inline-block` allows calculating the bounds based on the contents of the div rather than the entire container (which is often `width: 100%`).

This provides a much more natural zoom, especially for paragraphs and code examples.
2016-04-26 07:27:59 +10:00
Adrian Sieber
87b082340f Simplify full setup 2016-04-24 09:39:23 +00:00
Hakim El Hattab
539e774d31 3.3.0 2016-04-18 15:29:51 +02:00
Hakim El Hattab
fc3e4d7f23 change introduction 2016-04-18 14:50:36 +02:00
Hakim El Hattab
1efa52486c readme tweak for #1535 2016-04-13 15:37:04 +02:00
Hakim El Hattab
f0ee41a22d Merge branch '1549' of https://github.com/RopoMen/reveal.js into dev 2016-04-13 15:26:06 +02:00
Hakim El Hattab
5dd9067150 overview now works with percentage based width/height #1247 2016-04-13 15:21:30 +02:00
Hakim El Hattab
cb092e60bf Merge branch 'dev' of github.com:hakimel/reveal.js into dev 2016-04-10 12:09:02 +02:00
Hakim El Hattab
a6507afcb4 widen watch for html files, required for updates to demo.html 2016-04-10 12:07:49 +02:00
Hakim El Hattab
87b24dd457 merge conflict 2016-04-10 12:07:10 +02:00
Hakim El Hattab
5a7ac78d4b lazy load iframe in demo 2016-04-10 11:57:38 +02:00
Hakim El Hattab
0fedfbe4c8 Merge branch 'update-headjs' of https://github.com/booi/reveal.js into dev 2016-04-10 11:56:32 +02:00
Ruben Oostinga
2dc546f5ba Fix watching for markdown files
`./*.md` didn't work `*.md` does work
2016-04-09 12:33:46 +02:00
Markku Roponen
a63c8cab92 Fixes #1549, now UA match is limiting out MS Edge and Chrome detection is improved. Also improved UserAgent access by storing it in to a local variable, it was accessed so many times in different places. 2016-04-08 15:47:27 +03:00
Hakim El Hattab
e83e275a4c Merge branch 'master' of github.com:hakimel/reveal.js into dev 2016-04-07 10:31:56 +02:00
Hakim El Hattab
d6406e433e new multiplex server courtesy of now.sh (closes #1377) 2016-04-07 10:31:41 +02:00
Hakim El Hattab
492e2e2e62 Merge branch 'master' of github.com:hakimel/reveal.js into dev 2016-04-07 10:25:31 +02:00
Hakim El Hattab
f85a1e9f1a remove test content 2016-04-07 10:25:10 +02:00
Hakim El Hattab
07c2355604 support for standalone multiplexing 2016-04-07 10:24:44 +02:00
Hakim El Hattab
eca7113f59 Update README.md 2016-04-07 09:55:44 +02:00
Hakim El Hattab
f98b5ccdca Update README.md
readme tweaks
2016-04-07 09:55:04 +02:00
Hakim El Hattab
8789baae29 Merge pull request #1545 from ducin/master
Table of contents added in README.md
2016-04-07 09:51:51 +02:00
Hakim El Hattab
520fa4986e generalize scroll offset prevention 2016-04-07 09:07:19 +02:00
Tomasz Ducin
37ac67dba5 Table of contents added in README.md 2016-04-02 19:43:15 +02:00
Vincent Bernat
a9566dfbd4 make theme "simple" use white titles on dark backgrounds
This is similar to what is done in the "white" theme.
2016-03-24 16:25:01 +01:00
Hakim El Hattab
00b9c2b929 minor tweaks 2016-03-20 18:57:30 +01:00
Hakim El Hattab
4e416fdc58 remove unintentionally added file 2016-03-20 18:52:12 +01:00
Hakim El Hattab
3d0969166f new empty template at index.html, move old index to demo.html #1526 2016-03-20 18:50:23 +01:00
Hakim El Hattab
2625a9292e add 'shuffle' config value and API method #1506 #1089 2016-03-20 17:57:52 +01:00
Brandon Ooi
1a5f299599 update headjs to v1.0.3 2016-03-16 13:57:15 -07:00
Dhyego Fernando
587d16ceef fix(PDF Export): Mark as important width, height and add zoom properties to fix CSS rules which were overrided by inline styles 2016-03-10 13:50:35 -04:00
Hakim El Hattab
0dbdd8a366 Merge branch 'master' of github.com:hakimel/reveal.js into dev 2016-03-10 16:03:09 +01:00
Hakim El Hattab
de2ab07334 slides link 2016-03-10 16:02:36 +01:00
Hakim El Hattab
0c5ce1e731 Merge pull request #1523 from demoneaux/readme-fix
Make PDF export section less OS X specific.
2016-03-09 10:05:11 +01:00
Hakim El Hattab
ef137fd01f server notes plugin no longer syncs overview mode #1446 2016-03-09 10:02:25 +01:00
Hakim El Hattab
8e3a7f03d1 notes plugin no longer syncs overview mode #1446 2016-03-09 09:57:58 +01:00
Hakim El Hattab
922677ac66 fix notes regex #1522 #1392 2016-03-09 09:37:19 +01:00
Benjamin Tan
ac2a3fff75 Make PDF export section less OS X specific.
Closes #1073.
2016-03-07 19:15:59 +08:00
Hakim El Hattab
7cee887815 Merge branch 'patch-1' of https://github.com/LaurentTreguier/reveal.js into dev 2016-03-07 08:58:58 +01:00
Hakim El Hattab
db46896613 Merge pull request #1522 from demoneaux/notes-fix
Fix query parameter issue in notes plugin.
2016-03-07 08:53:27 +01:00
Hakim El Hattab
e3d681e7c6 Merge pull request #1521 from demoneaux/unused-dependencies
Remove unused dependencies.
2016-03-07 08:52:25 +01:00
Benjamin Tan
6d0b52026a Fix query parameter issue in notes plugin.
Closes #1392.
2016-03-06 18:28:08 +08:00
Benjamin Tan
9eb56f8146 Remove unused dependencies. 2016-03-06 16:52:02 +08:00
Hakim El Hattab
0eb2d81f35 Merge branch 'master' of github.com:hakimel/reveal.js into dev 2016-03-04 14:47:01 +01:00
Hakim El Hattab
c6b6ae4397 Merge pull request #1484 from omer727/patch-1
Fixing spelling typo and GitHub proper camelcase for brand name
2016-03-04 14:46:33 +01:00
Hakim El Hattab
acc40095d5 use css to scale slides up in safari 2016-02-29 11:31:00 +01:00
LaurentTreguier
219a60053a Change ".video" to ".reveal .video"
I don't know if this is supposed to be this way ?
2016-02-17 20:07:53 +01:00
Hakim El Hattab
191dbe68d5 Merge branch 'master' of github.com:hakimel/reveal.js into dev 2016-01-22 11:09:39 +01:00
Hakim El Hattab
c93fbf1ddc readme tweak 2016-01-22 11:02:05 +01:00
Hakim El Hattab
fc1c239743 add barebones example to readme 2016-01-22 10:59:02 +01:00
omer727
6af739f81c Fixing spelling typo and GitHub proper camelcase for brand name 2016-01-17 14:42:56 +02:00
Hakim El Hattab
d0bb69d427 Merge branch 'master' of github.com:hakimel/reveal.js into dev 2016-01-11 10:34:01 +01:00
Hakim El Hattab
8a40bb481e note about showNotes in PDF exports 2016-01-11 10:33:40 +01:00
Hakim El Hattab
fdb75176e7 merge #1220 2016-01-11 10:17:02 +01:00
Hakim El Hattab
12acf08ca5 Merge branch 'jetzhliu-patch-1' of https://github.com/jetzhliu/reveal.js into dev 2016-01-11 10:05:42 +01:00
Hakim El Hattab
fba12abd6a Merge branch 'master' of github.com:hakimel/reveal.js into dev 2016-01-11 10:05:25 +01:00
Hakim El Hattab
3c46733a54 Merge pull request #1476 from prtksxna/patch-1
Remove rebase conflict in README.md
2016-01-11 10:02:40 +01:00
Prateek Saxena
7eca84254e Remove rebase conflict in README.md 2016-01-11 05:19:28 +05:30
Hakim El Hattab
19a69b2c89 code format 2016-01-08 14:33:34 +01:00
Hakim El Hattab
3df2129bd6 Merge branch 'patch-1' of https://github.com/danieltdt/reveal.js into dev 2016-01-08 14:32:03 +01:00
Hakim El Hattab
993526ff67 fix broken iframe in backgrounds example 2016-01-08 14:18:53 +01:00
Hakim El Hattab
3d33d27b86 tweak implementation of #1376 2016-01-08 14:16:42 +01:00
Hakim El Hattab
c0ea2cd980 same code format 2016-01-08 14:02:16 +01:00
Hakim El Hattab
daa5f031bf Merge branch 'patch-2' of https://github.com/teawithfruit/reveal.js into dev 2016-01-08 14:00:50 +01:00
Hakim El Hattab
8ec529d767 rebuild css 2016-01-08 13:59:12 +01:00
Hakim El Hattab
a5750f03c0 merge conflict 2016-01-08 13:58:35 +01:00
Hakim El Hattab
06cdd9b7cd include speaker view keyboard shortcut when applicable #1466 2016-01-08 13:49:06 +01:00
Hakim El Hattab
4ee6769e0f tweaked fragment examples 2016-01-08 11:05:59 +01:00
Hakim El Hattab
52aec94800 center help overlay with flexbox 2016-01-08 10:58:13 +01:00
Bjoern Kimminich
7621e1085d added retire.js to build process
-allows security vulnerability check in used npm-dependencies and own scripts
-execute with ```grunt retire```
2016-01-08 10:51:35 +01:00
Hakim El Hattab
ddd0e85f41 Merge branch 'master' of github.com:hakimel/reveal.js into dev 2016-01-08 10:49:40 +01:00
Hakim El Hattab
c3919756f1 resolve conflict 2016-01-08 10:48:10 +01:00
Hakim El Hattab
ee877845d8 add new fragment styles to readme #1445 2016-01-08 10:41:20 +01:00
Hakim El Hattab
76faeccd3e Merge branch 'fragments' of https://github.com/kewitz/reveal.js into dev 2016-01-08 10:39:02 +01:00
Hakim El Hattab
3bb7cf528c Merge branch 'master' of github.com:hakimel/reveal.js into dev 2016-01-08 10:37:51 +01:00
Hakim El Hattab
2a86465434 tweak to pdf print isntructions 2016-01-08 10:35:25 +01:00
Hakim El Hattab
1450d21595 Merge pull request #1450 from Quintasan/fix-printing-readme
Chromium users need to check Background graphics option when printing.
2016-01-08 10:29:45 +01:00
Hakim El Hattab
b7644a3bf7 expose version number through #1451 2016-01-08 10:26:53 +01:00
Hakim El Hattab
fb00a5d613 Merge branch 'master' of github.com:hakimel/reveal.js into dev 2016-01-08 10:25:44 +01:00
Hakim El Hattab
1d6848a782 merge conflict 2016-01-08 10:21:35 +01:00
Hakim El Hattab
19a801799a Merge pull request #1472 from vicapow/master
Add the grunt-cli as a dependency instead of assuming global grunt.
2016-01-08 10:14:34 +01:00
Victor Powell
4881281ea1 Add the grunt-cli as a dependency instead of assuming global grunt. 2016-01-06 13:01:58 -08:00
Hakim El Hattab
fcb4b05de7 Merge branch 'master' of github.com:hakimel/reveal.js into dev 2016-01-04 09:31:46 +01:00
Hakim El Hattab
e448cf8cd1 Merge pull request #1459 from appleboy/patch-1
remove redundant spaces.
2016-01-04 09:31:12 +01:00
Hakim El Hattab
c2298865cb Merge pull request #1467 from ismith/spelling_fix
Fix spelling error in print-pdf plugin
2016-01-04 09:30:36 +01:00
Hakim El Hattab
18b644cf8f ©️ ©️ ©️ ©️ ©️ closes #1469 2016-01-04 09:29:55 +01:00
Ian Smith
5da75aef01 Fix spelling error in print-pdf plugin 2015-12-27 12:35:13 -06:00
Bjoern Kimminich
de4efa5d19 updated to mustache 2.2.1
prevents XSS vulnerability (see https://github.com/janl/mustache.js/pull/388)
2015-12-21 23:17:53 +01:00
Bjoern Kimminich
5abf5001a8 ignoring IntelliJ IDEA files 2015-12-21 23:02:57 +01:00
Hakim El Hattab
91c6db71ca update to highlight.js 9.0.0 2015-12-14 09:49:05 +01:00
Bo-Yi Wu
07affa2750 remove redundant spaces. 2015-12-08 14:14:42 +08:00
Razvan Caliman
d06981c60c Merge branch 'muted-video' of github.com:oslego/reveal.js into muted-video 2015-12-03 09:47:23 +00:00
Razvan Caliman
b49664621f add option to mute background videos (updated) 2015-12-03 09:43:32 +00:00
Michał Zając
de4406f26c Chromium users need to check Background graphics option when printing. 2015-11-30 10:46:21 +01:00
Leonardo Kewitz
2909440fde Clean version of the new transitions. 2015-11-22 18:52:42 -02:00
Leonardo Kewitz
d457b9270a Added 4 fragment transitions effect. 2015-11-22 18:34:25 -02:00
Hakim El Hattab
6949ebc762 tweak 2015-11-19 15:44:50 +01:00
Hakim El Hattab
0e763c7171 2x playback controls for retina displays 2015-11-19 15:39:29 +01:00
Hakim El Hattab
c8319b9b1a add autoSlideMethod to default config 2015-11-19 15:35:12 +01:00
Hakim El Hattab
0cd4e2c84f Merge branch 'dev' of github.com:hakimel/reveal.js into dev 2015-11-19 15:30:43 +01:00
Hakim El Hattab
bbe38ad263 Merge pull request #1437 from der-michik/autoslide-direction
Add an option to auto-slide right only
2015-11-19 15:30:35 +01:00
MichiK
a398a02edb Fix build error 2015-11-19 13:51:22 +01:00
MichiK
4a45557b57 Add a more flexible autoSlideMethod option
Auto-sliding will now use the method specified in the config if it is
a function or default to navigateNext.
2015-11-19 13:00:01 +01:00
Hakim El Hattab
bef2722eed simplify condition #1434 2015-11-19 10:38:52 +01:00
Hakim El Hattab
31550d09e4 Merge pull request #1434 from mikemellor11/master
stops parallax failing if only the single horizontal slide and multiple vertical
2015-11-19 09:51:37 +01:00
MichiK
c0afa01e6a Add autoSlideRight option
When the autoSlideRight config option is active, the auto-sliding
will always navigate to the right and never down even if slides are
present there. This allows hidden "bonus slides" in presentations
which can be displayed as needed but won't show up automatically.
2015-11-18 22:00:35 +01:00
Hakim El Hattab
833622edcd update parallax background docs #1436 2015-11-18 10:36:48 +01:00
Mike Mellor
3e42929f90 check for 0 division, stops parallax failing if only the single horizontal slide and multiple vertical 2015-11-13 15:13:30 +00:00
Riceball LEE
16ebf2a783 * [bug] the markdown plugin can not render highlight codes for marked.setOptions(highlight) 2015-11-11 07:37:08 +00:00
Riceball LEE
6952931451 * update marked.js version to 0.3.5 2015-11-10 21:40:46 +00:00
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
teawithfruit
43f0d08155 fixed loading 2015-11-02 10:37:16 +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
Liu Zhanhong
625831b993 format note content when creating slide
In html content, marked allow `Inline-Level Grammar` but not `Block-Level Grammar`, so when I write following:
```
note:
* a
* b
* c
```
it become:
```html
<p><em> a
</em> b</p>
<ul>
<li>c</li>
</ul>
```
unbelievable!
2015-10-19 19:50:43 +08: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
Alex Batista
ec119e79a7 UPDATED - Improvement on spaces and indentation 2015-09-29 21:09:41 -03:00
Alex Batista
c1cb328e19 UPDATED - Improvement on spaces and indentation 2015-09-29 21:07:02 -03:00
Alex Batista
e258db0994 UPDATED - Improvement of code. Now none flag is used, but the readyState property from video element 2015-09-29 21:01:50 -03:00
Alex Batista
28e01908c4 Merge branch 'master' of https://github.com/alexbatista/reveal.js
Conflicts:
	js/reveal.js
2015-09-29 20:56:04 -03:00
Alex Batista
92a6996754 Improvement of code. Now none flag is used, but the readyState property from video element 2015-09-29 20:49:25 -03:00
Alex Batista
b0d6e5578f improvement on spaces and indentation 2015-09-29 15:18:17 -03: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
Alex Batista
bcfd0aae3c bug fix - when the first section has a background-video, the vido do not execute. Now, it's work 2015-09-28 23:04:47 -03: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
Razvan Caliman
8bbc2971ac add option to mute background videos 2015-09-19 15:55:48 +01:00
David Banham
076aee5ae6 Update location of multiplex demo server 2015-09-17 15:39:21 +10:00
Wendy Smoak
d6d4c68013 Add the data-noescape attribute and example 2015-09-13 09:14:12 -04: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
Dan Allen
ccbc7ed6bc resolves #1324 allow display property to be configured
- allow display property apply to current slide to be configured
2015-08-07 23:04:23 -06: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
jzgdev
cee64858dd Gruntfile.js: watch tasks restructured 2015-07-01 22:51:01 -07: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
Philipp A.
a96cabaf70 Fixed last header having a border-bottom
`<tbody/>` is automatically inserted, so we can guarantee that this affects all ths and tds in the last row of the table *body* and the head is left untouched
2015-05-03 17:40:11 +02: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
S Anand
ee98f13dd9 display .stretch images in overview mode 2015-04-02 21:04:00 +05:30
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
Daniel Teixeira
f79210c6c1 Add support for custom notes.html file
It would be nice if we could define a custom notes.html file.

Actually, I'm used to compile my js files before releasing my app and, using selectors like `script[src$="notes.js"]`, doesn't work :(

So, what do you think about it?
2015-03-05 18:54:34 -03: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
Hakim El Hattab
20d858deb8 Merge pull request #1093 from hakimel/dev
3.0.0
2015-01-09 18:22:30 +01:00
Hakim El Hattab
3a8fc9b274 content tweak 2015-01-09 18:14:03 +01:00
Hakim El Hattab
3b93c8be33 content tweaks 2015-01-08 09:58:06 +01:00
Hakim El Hattab
06ad3bf4c2 reorganize fonts, include source sans pro for offline use 2015-01-06 17:37:14 +01:00
Hakim El Hattab
40f12acf2d always play background video from the start #1049 2015-01-06 12:49:52 +01:00
Hakim El Hattab
4cee280e36 merge master into dev 2015-01-06 12:44:42 +01:00
Hakim El Hattab
028c84481a revise contribution guidelines, graduate 3.0 from dev 2015-01-06 12:35:13 +01:00
Hakim El Hattab
dbcb44c298 dont subset league glyphs #989 2015-01-06 12:22:05 +01:00
Hakim El Hattab
16d4ce6497 new slideshare pdf example 2015-01-06 12:03:56 +01:00
Hakim El Hattab
25a674a3c2 new font & type settings for default theme 2015-01-06 11:42:23 +01:00
Hakim El Hattab
21d034bffe reveal container size determines progress bar width 2015-01-06 09:32:21 +01:00
Hakim El Hattab
0e0a4ec6e6 avoid repetition 2015-01-05 09:51:36 +01:00
Hakim El Hattab
9c3a7b49d0 (c) 2015 2015-01-05 09:40:53 +01:00
Hakim El Hattab
5bdbc2dc7b remove deprecated data-state background colors 2014-12-27 21:27:53 +01:00
Hakim El Hattab
2cfe1174f1 kill unintended transition into overview mode 2014-12-27 21:22:17 +01:00
Hakim El Hattab
abf402d044 change transition defaults 2014-12-27 21:16:54 +01:00
Hakim El Hattab
9dbc9e7719 tweak comments 2014-12-27 21:16:44 +01:00
Hakim El Hattab
327ff7a75c readme tweaks 2014-12-18 18:33:26 +01:00
Hakim El Hattab
d4bdf29c81 new pdf export example 2014-12-18 18:27:48 +01:00
Hakim El Hattab
3b1e1a04b8 white theme inverts text color against dark bg 2014-12-18 18:17:31 +01:00
Hakim El Hattab
1bc1dd12e6 bad theme name 2014-12-18 17:53:08 +01:00
Hakim El Hattab
7c03d60186 remove theme config option #1061 2014-12-18 17:45:51 +01:00
Hakim El Hattab
c3f9aabe04 add white theme, reverse of default theme #1018 2014-12-18 17:29:51 +01:00
Hakim El Hattab
96b26514e6 default content update; remove image slide, add two new slides 2014-12-12 15:52:25 +01:00
Hakim El Hattab
b133468f3e include background video example in default presentation 2014-12-10 20:18:11 +01:00
Hakim El Hattab
8524af73f6 zoom plugin now works for scaled presentations 2014-12-10 20:09:03 +01:00
Hakim El Hattab
dc215a2441 rename previous default theme to league 2014-12-10 18:28:14 +01:00
Hakim El Hattab
05403bcf16 first revision of new default theme #1018 2014-12-10 18:19:04 +01:00
Hakim El Hattab
ad9e93eae5 dont force links to be underlined in pdf 2014-12-09 15:06:25 +01:00
Chris Lawrence
54082a8d76 Merge remote-tracking branch 'upstream/master' 2014-11-30 21:26:17 -05:00
Hakim El Hattab
8c76f85e34 reorder scale condition; if calculated scale is exactly 1 don't apply any scale styles 2014-11-08 09:06:17 +01:00
Hakim El Hattab
57977e2923 Merge pull request #1033 from PeterDaveHello/patch-1
ci status indicator is svg instead of png
2014-11-06 19:42:08 +01:00
Hakim El Hattab
54e44ef4e2 add missing condition for recalculating scale 2014-11-06 19:19:14 +01:00
Hakim El Hattab
96b1ee9c39 ignore calculating scale if only possible outcome is 1 2014-11-05 19:28:09 +01:00
Hakim El Hattab
3126db0a46 update order of default slides 2014-11-05 12:54:00 +01:00
Hakim El Hattab
d84233df98 default to slide transitions 2014-11-05 12:28:09 +01:00
Hakim El Hattab
1aaec85744 update background color/image example slides 2014-11-05 12:27:57 +01:00
Hakim El Hattab
1f0627eb3f typo 2014-11-05 11:54:49 +01:00
Hakim El Hattab
b09923551a theme updates, normalized spacing between block-level elements 2014-11-05 11:52:32 +01:00
Hakim El Hattab
a170ee8982 simplify default initialization options 2014-11-05 10:38:43 +01:00
Hakim El Hattab
a5e4fcb839 Merge pull request #1037 from Suva/dev
Do not add video backgrounds to speaker notes.
2014-11-05 10:00:43 +01:00
Jaan Pullerits
82a692c394 Do not add video backgrounds to speaker notes. 2014-10-24 12:35:49 +00:00
Peter Dave Hello
9e4d0a3260 Use svg instead of png to get better image quality 2014-10-21 13:04:02 +08:00
Hakim El Hattab
6c8becc51b add video and iframe backgrounds to readme 2014-10-17 09:02:07 +02:00
Hakim El Hattab
16f9e95d87 update slide bg example presentation to include iframes and videos #1029 2014-10-17 08:52:38 +02:00
Hakim El Hattab
fa88707382 Merge branch 'feature/background-iframe' of https://github.com/lutangar/reveal.js into dev 2014-10-17 08:43:11 +02:00
Hakim El Hattab
82342672ea fix navigatePrev in rtl mode #1030 2014-10-16 16:17:41 +02:00
Hakim El Hattab
6c7ba34edf remove styles from #1030, simplify navigatePrev 2014-10-16 15:43:29 +02:00
Hakim El Hattab
eec72c1491 update grunt connect for more hostname flexibility #981 2014-10-16 13:50:59 +02:00
Hakim El Hattab
1f5369a43e correct defaults for min-height, thanks @sebastianz #985 2014-10-16 13:35:47 +02:00
Hakim El Hattab
136d279361 continue auto-sliding through fragments on last slide #974 2014-10-16 13:27:58 +02:00
Hakim El Hattab
cef19486b8 better handling of overflowing speaker notes #1017 2014-10-16 13:09:54 +02:00
Hakim El Hattab
5123ba4372 update grunt-qunit 2014-10-16 12:21:16 +02:00
Hakim El Hattab
a61a372b52 use nesting for fragment styles 2014-10-16 12:19:20 +02:00
Ira Abramov
ccdb4ff248 Fix RTL Navigation with space bar 2014-10-11 18:59:36 +03:00
lutangar
490ae90de4 add support for iframe backgrounds 2014-10-09 12:34:10 +02:00
Hakim El Hattab
6565ba0168 use node.js 0.10 2014-10-06 10:00:52 +02:00
Hakim El Hattab
a3a2ad039e reduce grunt task overhead 2014-10-06 09:51:12 +02:00
Hakim El Hattab
cc02564b2f reveal.css is now scss, merge autoprexier #1007 2014-10-06 09:41:38 +02:00
Hakim El Hattab
6729b9ba76 Merge branch 'master' of github.com:hakimel/reveal.js 2014-10-04 09:04:35 +02:00
Hakim El Hattab
76c587b7e3 add contribution guidelines from dev 2014-10-04 09:04:22 +02:00
Hakim El Hattab
588472c520 compile themes 2014-10-04 09:00:57 +02:00
Hakim El Hattab
a34fa75995 merge #975 into dev 2014-10-04 09:00:45 +02:00
Hakim El Hattab
f28b380fac prevent auto-sliding in notes frames #1004 2014-09-28 17:13:49 +02:00
Hakim El Hattab
05e55b2f81 minor copy tweak 2014-09-28 17:13:26 +02:00
Hakim El Hattab
e7b9e95369 remove classList condition from unrelated dependencies 2014-09-28 13:05:53 +02:00
Hakim El Hattab
36cdaefdfd multiple updates to default presentation content 2014-09-28 12:48:37 +02:00
Hakim El Hattab
0345696ed6 remove css 3d warning 2014-09-28 12:27:48 +02:00
Hakim El Hattab
bd176411ef style tweaks for all themes; larger line heights, no default adjustmetn to letter-spacing 2014-09-28 12:14:48 +02:00
Hakim El Hattab
9ef0060024 add new black theme 2014-09-28 11:17:16 +02:00
Hakim El Hattab
0aad39f755 dont open notes when S is pressed inside of notes window #991 2014-09-27 16:19:39 +02:00
Yves Delley
9bc5b81292 merged dev branch 2014-09-12 22:49:13 +02:00
Yves Delley
2bc36f2dfe re-created unprefixed version of reveal.css automatically using autoprefixer, to facilitate merging of changes to it 2014-09-12 22:37:57 +02:00
Hakim El Hattab
80fc214af1 update highlight.js to 8.2 2014-09-11 11:37:36 +02:00
Hakim El Hattab
03c3031cb4 cleanup classes when backgrounds are synced 2014-09-10 11:28:29 +02:00
Hakim El Hattab
0d14d87f1a rgba color parsing support, ignore brightness of transparent colors 2014-09-10 10:53:24 +02:00
Hakim El Hattab
41f20301b6 has-dark-background 2014-09-10 10:12:25 +02:00
Hakim El Hattab
bc2974fef8 bubble has-light-background to .reveal container 2014-09-09 17:51:36 +02:00
Hakim El Hattab
2479883d3c is-light-background -> has-light-background, doesn't apply to background itself 2014-09-09 17:33:52 +02:00
Hakim El Hattab
5e585ddbf2 update slide backgrounds example 2014-09-09 17:21:29 +02:00
Hakim El Hattab
9fb0c5f3d3 use computed style when calculating bg birghtness 2014-09-09 17:18:15 +02:00
Hakim El Hattab
20e72df4bf add is-background-light class to slides/backgrounds that are > 128 brightness 2014-09-09 16:50:23 +02:00
Hakim El Hattab
8a50a46665 util methods for calculating color brightness 2014-09-09 16:14:24 +02:00
Hakim El Hattab
4823b267cc better test for fragment indices 2014-09-09 12:42:11 +02:00
Hakim El Hattab
cbef64b860 fix current fragment index check when multiple fragments have same index 2014-09-06 08:20:38 +02:00
Yves Delley
7fe762c2f3 - 2014-09-05 17:43:02 +02:00
Yves Delley
03d8a02f68 added newly generated reveal.min.css 2014-09-05 17:42:38 +02:00
Yves Delley
4c155128c7 removed all vendor-prefixes from reveal.css 2014-09-05 17:41:56 +02:00
Hakim El Hattab
2cd988a7a3 fix previewLinks target 2014-09-04 18:00:21 +02:00
Hakim El Hattab
80c375fae8 the paused mode can now be disabled via the 'pause' config option 2014-08-12 16:01:27 +02:00
Hakim El Hattab
841f9d0f9b only load highlight.js if there's a 'pre code' block on page 2014-07-22 10:30:26 +02:00
Hakim El Hattab
062918b5e2 update highlight.js to 8.1 2014-07-22 10:29:00 +02:00
miira
9ae36e9d0f Update package.json 2014-07-18 14:04:04 +02:00
Miroslav Mocek
ff5a3dc8c7 removed ruby dependency. 2014-07-17 17:11:22 +02:00
Hakim El Hattab
57844ad827 listen for touch + click on all devices except android 2014-07-06 14:31:10 +02:00
Hakim El Hattab
213c8d1354 fix double-navigation on touch for some android systems 2014-06-28 12:58:33 +02:00
David Banham
a078c87f10 Listen to custom mapped togglePause keys
This resolves issue #941
2014-06-25 23:22:13 +10:00
Hakim El Hattab
7e8fd09376 fix npe 2014-06-25 13:56:24 +02:00
Hakim El Hattab
ef333300a2 prevent additional inaccurate showSlide calls 2014-06-25 11:50:45 +02:00
Hakim El Hattab
8cb8229aac prevent incorrect showSlide calls at startup 2014-06-25 11:44:10 +02:00
Hakim El Hattab
0d9563b598 overview slide size matches defaults 2014-06-24 10:51:57 +02:00
Chris Lawrence
09de278be0 Merge remote-tracking branch 'upstream/master' 2014-06-22 22:35:53 -04:00
Hakim El Hattab
c6b9da7000 more specific targeting for pdf printing hack 2014-06-18 18:42:45 +02: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
Hakim El Hattab
e4761d3a37 only allow text in aria status div 2014-06-18 10:50:00 +02:00
Hakim El Hattab
8f24561878 documentation for help flag 2014-06-16 18:47:39 +02:00
Hakim El Hattab
ebfb496743 config option for disabling the help overlay 2014-06-16 18:46:38 +02:00
Hakim El Hattab
2e0fe815a6 fix append to existing embed query 2014-06-12 18:27:52 +02:00
Hakim El Hattab
a7a32f941c vimeo support for autoplay/pause 2014-06-12 18:20:15 +02:00
Hakim El Hattab
af61d9d10b rewrite youtube iframe embeds to force ?enablejsapi=1 (fixes #856) 2014-06-12 18:15:32 +02:00
Hakim El Hattab
06e76c1be3 shift a few additional styles from core to theme 2014-06-11 12:48:19 +02:00
Hakim El Hattab
38301d57c5 move large chunk of content styles from core css to theme css 2014-06-11 12:32:39 +02:00
Hakim El Hattab
f5ac0b35d1 toggle instead of always showing the help overlay when ? is pressed 2014-06-09 18:24:47 +02:00
Hakim El Hattab
3a6172e67d more flexible keyboard shortcut table styles 2014-06-09 18:21:32 +02:00
Hakim El Hattab
b6ebb98309 update link to Slides 2014-06-09 17:54:31 +02:00
Hakim El Hattab
645734832d adjust list of displayed key shortcuts #943 2014-06-09 17:53:14 +02:00
Hakim El Hattab
9ff00a72ae merge and tweak key shortcuts overlay #943 2014-06-09 17:35:46 +02:00
Hakim El Hattab
d539c645c3 Merge branch 'keyboard_shortcuts_overlay' of https://github.com/navateja/reveal.js into dev 2014-06-09 12:21:01 +02:00
Hakim El Hattab
65dcd94c86 update to node 0.10 2014-06-09 12:18:37 +02:00
Hakim El Hattab
b6c7cda908 ci fix attempt 2 2014-06-09 12:07:40 +02:00
Hakim El Hattab
f2db7e8da0 attempt to fix travis ci 2014-06-09 12:03:22 +02:00
Hakim El Hattab
0a58df8390 don't trim aria status 2014-06-09 11:36:28 +02:00
Hakim El Hattab
943b6ef37e merge and tweak screen reader support #854 2014-06-09 11:20:46 +02:00
navateja
594d9f6d85 Merge remote-tracking branch 'upstream/dev' into keyboard_shortcuts_overlay 2014-06-09 14:44:36 +05:30
navateja
ab7efe6bf2 creates a new branch for the feature 2014-06-09 14:35:59 +05:30
nava teja
75a53da9e5 Shows keyboard shorcuts overlay on pressing question mark 2014-06-08 00:59:29 +05:30
Hakim El Hattab
8973f0c3e1 typo #938 2014-06-05 10:59:30 +02:00
Hakim El Hattab
c5daba6a1f write current hash when history is toggled on #934 2014-06-05 10:43:25 +02:00
Hakim El Hattab
6d1a66c2bc fix search & replace error 2014-05-30 08:12:57 +02:00
Hakim El Hattab
9c96a56e33 adjust check for focused text inputs 2014-05-29 10:36:56 +02:00
Hakim El Hattab
f4ead96b1f move paragraph styles to theme 2014-05-26 11:25:47 +02:00
Hakim El Hattab
09bddce427 limit scope of all slide selectors, avoids multiple .reveal classes on one page causing errors 2014-05-24 15:23:03 +02:00
Hakim El Hattab
ff788bb31b additional monospace options for phantomjs 2014-05-23 14:06:52 +02:00
Hakim El Hattab
ba00afbc38 only use zoom to scale in chrome 2014-05-21 10:08:23 +02:00
Hakim El Hattab
dbc7c627cc dont specify hyphens auto, behavior/rendering varies between browsers 2014-05-21 09:55:27 +02:00
Hakim El Hattab
e7f4615585 hide slide numbers while printing to pdf #885 2014-05-20 12:09:55 +02:00
Hakim El Hattab
c1ea5282e1 fix data-autoplay on first slide 2014-05-20 08:53:25 +02:00
Hakim El Hattab
8c9c0ab0a6 validate named links according to html id spec #914 2014-05-20 08:14:55 +02:00
Hakim El Hattab
b558f74299 zoom viewport is centered on target element #900 2014-05-19 09:26:49 +02:00
Hakim El Hattab
c974756326 relax keyboard blocking condition #899 2014-05-17 16:00:40 +02:00
Hakim El Hattab
252200f9f3 add minimal-ui to viewport for ios fullscreen 2014-05-15 11:42:51 +02:00
Hakim El Hattab
b9d25057d6 Merge branch 'fix-isFirstSlide' of https://github.com/fabianorosas/reveal.js into dev 2014-05-14 08:50:28 +02:00
Hakim El Hattab
54c3c23e36 fix bug in retrieval or background images while in pdf mode 2014-05-10 11:18:13 +02:00
Hakim El Hattab
06ca536ae1 no need to override font sizes after updates to pdf printing 2014-05-10 10:10:59 +02:00
fabiano
ffecac6df3 == --> === 2014-05-09 16:11:04 -03:00
fabiano
cb4fe35bac fixed a problem in the function isFirstSlide
when visiting a vertical slide and then going back to the first slide, the function would return false.
made it more fail proof by checking the indices directly.
2014-05-09 15:58:56 -03:00
fabiano
d072be2f57 kill-yank mistake 2014-05-09 15:41:04 -03:00
fabiano
af1ade1418 Broaden the coverage of isFirstSlide test
If we:
- visit a vertical slide

and then:
- go to the first slide

the function will return **false**.

Added a test to isLastSlide too just to be sure.
2014-05-09 15:37:57 -03:00
fabiano
92fd4f78c8 Small typo 2014-05-09 11:51:55 -03:00
Hakim El Hattab
c4e202cd0f fix edge case in singleton node creation 2014-05-07 22:02:05 +02:00
Hakim El Hattab
f31f0ffa70 createSingletonNode now ensures found nodes are in the correct container 2014-05-07 21:47:47 +02:00
Hakim El Hattab
3eb7038a15 sync server-side speaker notes after notes window opens 2014-05-04 10:10:21 +02:00
Hakim El Hattab
5e85f02eb1 ensure default can be prevented 2014-05-04 09:32:10 +02:00
Hakim El Hattab
4c5b15d0b9 update server side notes to match client side plugin 2014-05-04 09:32:00 +02:00
Hakim El Hattab
54e256764c limit size of media elements when printing to pdf 2014-05-04 08:29:45 +02:00
Hakim El Hattab
da1f221b4f reduce max-height of images in pdfs 2014-05-04 08:24:26 +02:00
Hakim El Hattab
fa6187072e clicking on notes timer now resets it #779 2014-05-04 08:13:09 +02:00
Hakim El Hattab
1b236bdf21 wait for document to load before triggering pdf layout 2014-04-29 13:40:55 +02:00
Hakim El Hattab
2ac0a55ccf ensure pdf pages are never zero-height 2014-04-29 13:30:56 +02:00
Hakim El Hattab
eec14b9c92 pdf background size rounding error 2014-04-29 10:47:05 +02:00
Hakim El Hattab
ebb9a689a0 updates to phantom pdf print script, arguments for width/height 2014-04-29 10:24:13 +02:00
Hakim El Hattab
fbf999ec81 null check background 2014-04-28 12:31:34 +02:00
Hakim El Hattab
1391253cb8 test same conditions for both getSlide and getSlideBackground 2014-04-28 11:54:11 +02:00
Hakim El Hattab
635e51f8f5 addition background image and getSlideBackground tests 2014-04-28 11:51:35 +02:00
Hakim El Hattab
9873839a50 fix issue with background images on first vertical sldie 2014-04-28 11:51:21 +02:00
Hakim El Hattab
9f0224adf9 update visibility of slides as part of sync 2014-04-28 10:59:31 +02:00
Hakim El Hattab
02725cf728 prefer scaling over zooming on mobile devices 2014-04-28 10:41:31 +02:00
Hakim El Hattab
fcec8d058d fix lazy loading bug related to data-background-image attribute 2014-04-28 09:58:13 +02:00
Hakim El Hattab
fa2413ec73 fix slide transitions in iOS 2014-04-28 09:45:02 +02:00
Hakim El Hattab
b42fae96e5 load all images directly when in 'no-transform'-mode 2014-04-28 09:13:57 +02:00
Hakim El Hattab
6aaff6395a merge umd wrapping 2014-04-27 20:38:20 +02:00
Hakim El Hattab
860580d4d0 getSlideBackground now works in pdf mode, add pdf tests 2014-04-27 17:31:50 +02:00
Hakim El Hattab
41e1e013b8 better defered loading of background media 2014-04-27 15:55:57 +02:00
Hakim El Hattab
7158c12eff lazy load all slide backgrounds 2014-04-27 15:39:11 +02:00
Hakim El Hattab
0140a15bae fix getindices test 2014-04-27 15:33:41 +02:00
Hakim El Hattab
c58096ea99 disregard v index when there is no vertical slides/backgrounds in getSlide/getSlideBackground 2014-04-27 15:04:37 +02:00
Hakim El Hattab
902e36c022 break showing/hiding of slides into separate methods 2014-04-27 14:54:23 +02:00
Hakim El Hattab
eea437f4be new api method: getBackgroundSlide 2014-04-27 14:47:02 +02:00
Hakim El Hattab
1623b3782e fix #627 2014-04-27 08:30:57 +02:00
Hakim El Hattab
ddfb0aa86f abide by configured width/height when printing to pdf 2014-04-26 21:42:16 +02:00
Hakim El Hattab
a522312999 improvements to print stylesheet 2014-04-26 20:49:22 +02:00
Hakim El Hattab
e7d82f1316 fix transitions in firefox 2014-04-26 20:23:40 +02:00
Hakim El Hattab
ae962d729b fix non-pdf printing (closes #881) 2014-04-26 19:16:10 +02:00
Hakim El Hattab
b019604531 Merge branch 'feature/print' into dev 2014-04-26 18:21:39 +02:00
Hakim El Hattab
1e5ca748a4 enable reveal.js keyboard shortcuts anywhere in notes window 2014-04-26 11:36:03 +02:00
Hakim El Hattab
b797bbb61b readme update, kill event listeners when printing pdf 2014-04-26 11:02:54 +02:00
Hakim El Hattab
704022d948 simplify pdf layout 2014-04-26 10:22:18 +02:00
Hakim El Hattab
2f90e9198d some more flexibility for pdf export sizes 2014-04-26 09:34:58 +02:00
Hakim El Hattab
131c00689a Merge pull request #883 from seanfisk/fix-small-misspelling
fix small misspelling: Mardown -> Markdown
2014-04-26 09:07:56 +02:00
Hakim El Hattab
059cca6fa4 abide by configured slide width when exporting to pdf 2014-04-26 08:51:33 +02:00
Hakim El Hattab
3adaed2a1e allow tall slides to spread over pages in pdf export 2014-04-26 08:26:20 +02:00
Sean Fisk
ca7c33f07c Fix small misspelling: Mardown -> Markdown 2014-04-24 05:15:16 -04:00
Hakim El Hattab
a49a78c454 remove needless condition 2014-04-23 21:18:13 +02:00
Hakim El Hattab
646203f038 revert from flexbox for pdf centering, use js for PDF setup 2014-04-23 19:47:41 +02:00
Hakim El Hattab
54ca9edeed lazy load support for iframes #793 2014-04-23 15:36:22 +02:00
Hakim El Hattab
53238c47ce null and type check what comes through postmessage 2014-04-22 19:01:59 +02:00
Hakim El Hattab
167400ee8b documentation for #793 2014-04-22 16:53:52 +02:00
Hakim El Hattab
73f96f1d28 lazy-load support for audio #793 2014-04-22 16:10:08 +02:00
Hakim El Hattab
3ad0d6adc0 tests for lazy loading 2014-04-22 15:58:21 +02:00
Hakim El Hattab
bbd596e434 lazy loading support for video #793 2014-04-22 15:52:44 +02:00
Hakim El Hattab
343765b7ab images with data-src attribute are now lazy-loaded #793 2014-04-22 15:41:08 +02:00
Hakim El Hattab
5d39b5eabf carry slide classes over to generated background elements 2014-04-22 15:16:53 +02:00
Hakim El Hattab
37ebe0732c skip transitions in notes window for better main window performance 2014-04-22 15:05:06 +02:00
Hakim El Hattab
f396b9b871 limit how often the notes window updates presentation states 2014-04-22 14:50:50 +02:00
Hakim El Hattab
c02d185cfd notes code format tweaks 2014-04-22 14:14:21 +02:00
Hakim El Hattab
ce05138f9a dont toggle paused/overview modes needlessly when setting state 2014-04-22 14:06:58 +02:00
Hakim El Hattab
9b2851376d always indent html using tabs 2014-04-20 11:50:23 +02:00
Hakim El Hattab
fb7253187d correction to javascript code sample 2014-04-20 11:29:44 +02:00
Hakim El Hattab
4a39aecbab prevent repeated autoslidepaused/resumed events 2014-04-20 10:52:27 +02:00
Hakim El Hattab
3795ef1599 update style of notes plugin to match Slides 2014-04-20 10:26:00 +02:00
Hakim El Hattab
5b18c1f308 notes plugin now operates entirely through window.postMessage, adding support for file protocol 2014-04-19 10:54:26 +02:00
Hakim El Hattab
ce31184bf3 split postmessage config into two options 2014-04-19 10:53:33 +02:00
Hakim El Hattab
fea11d24bc add config option for postMessage features 2014-04-18 20:07:08 +02:00
Hakim El Hattab
a4b09aecda bubble all reveal.js events to parent window through postMessage 2014-04-18 20:03:50 +02:00
Hakim El Hattab
11ea0aa3e1 postmessage plugin is now part of reveal.js core 2014-04-18 13:56:51 +02:00
Chris Lawrence
ac76644456 Merge remote-tracking branch 'upstream/master' 2014-04-13 14:05:51 -04:00
Hakim El Hattab
38af788a65 fix css syntax error 2014-04-13 12:00:06 +02:00
Hakim El Hattab
3b111a1cd4 add support for custom keyboard availability condition 2014-04-13 11:55:06 +02:00
Hakim El Hattab
731598f7c8 make all slides 'present' while printing 2014-04-11 09:40:44 +02:00
Michael Williams
c67e6d2e49 build reveal.min.js 2014-04-08 17:08:43 -07:00
Michael Williams
613a05f154 add UMD support. fix #787 2014-04-08 17:08:21 -07:00
Nawaz
e70d07b45d Change innerHTML to textContent to avoid video replays inside status Div, for not text content is enough 2014-04-07 10:49:07 +05:30
Hakim El Hattab
a3d4afeeed better transition names, fix background images in vertical slides 2014-04-06 11:04:58 +02:00
Hakim El Hattab
c87d7db930 code format tweak 2014-04-06 10:18:38 +02:00
Hakim El Hattab
2eb3d082ce Merge branch 'xhr-local' of https://github.com/malyw/reveal.js into dev 2014-04-06 10:16:46 +02:00
Hakim El Hattab
3aaca471b1 stop tracking minified files #783 2014-04-06 10:09:25 +02:00
Hakim El Hattab
a200e93537 Merge branch 'patch-1' of https://github.com/jamestwebber/reveal.js into dev 2014-04-06 10:04:36 +02:00
Hakim El Hattab
d45892ff32 next release will be 3.0.0 2014-04-06 10:03:46 +02:00
Hakim El Hattab
2901abccde Merge pull request #682 from tentacode/patch-1
Indentation issue when using code in a markdown slide
2014-04-06 09:56:54 +02:00
Hakim El Hattab
1d13760f0e only use zoom to scale content in webkit 2014-04-04 11:35:54 +02:00
Hakim El Hattab
170aa31d6f video background playback 2014-04-04 09:22:15 +02:00
Hakim El Hattab
43bf882d08 revamped and greatly simplified the layout of .slides 2014-04-03 11:58:15 +02:00
Hakim El Hattab
f0f48bd9b0 use flexbox for vertically centered printing #862 2014-04-03 10:51:27 +02:00
Sergey Gospodarets
873f2dbc96 Mark xhr.status=0 as successful 2014-04-02 13:02:39 +03:00
Sergey Gospodarets
75247a8860 Mark xhr.status=0 as successful 2014-04-02 12:59:36 +03:00
Hakim El Hattab
9e78fe3ee2 Merge branch 'dev' of github.com:ht push origin akimel/reveal.js into dev 2014-04-01 09:14:43 +02:00
Hakim El Hattab
79f45c811e test for #858 2014-04-01 09:14:29 +02:00
Hakim El Hattab
9947b7a532 add getTotalSlides #858 2014-04-01 09:12:41 +02:00
Nawaz
20a725222b Make revealJS screen reader friendly by announcing the contents of each slide presented 2014-03-27 16:39:27 +05:30
Hakim El Hattab
1de159c4f4 start work on video backgrounds #751 2014-03-26 15:48:28 +01:00
Hakim El Hattab
ccbeaf4c32 optimization, only declare background creation method once 2014-03-26 15:20:27 +01:00
Hakim El Hattab
2a27967d4b Merge pull request #794 from Spy-Seth/dev
increase Logitech R400 remote compatibility
2014-03-25 21:41:40 +01:00
Hakim El Hattab
17d8f0b77c merge master into dev 2014-03-25 21:37:51 +01:00
Hakim El Hattab
9da952fea3 Merge pull request #832 from craigcitro/patch-1
tweak layout in readme installation markup
2014-03-25 21:36:09 +01:00
Hakim El Hattab
eef1636fd7 Merge branch 'dev' of https://github.com/xdhmoore/reveal.js into dev 2014-03-25 21:16:58 +01:00
Hakim El Hattab
a9c2d4d663 disable transition into and out of overview mode #829 2014-03-25 17:46:10 +01:00
Hakim El Hattab
baa6fa45de tweak table margins, dont reset 'i' element #803 2014-03-25 17:18:05 +01:00
Hakim El Hattab
243867f91e merge upgrade of highlight.js, add base styles to pre code, dont limit language detection in index.html #809 2014-03-25 16:56:33 +01:00
Hakim El Hattab
b8157a1e91 Merge branch 'master' of https://github.com/jdfitzgerald/reveal.js into dev 2014-03-25 16:42:55 +01:00
Hakim El Hattab
da82c8ce81 limit named links to [a-zA-Z0-9\-\_\:\.] #836 2014-03-25 15:12:10 +01:00
Hakim El Hattab
3d7c21256c fix 'fragments' config option (#849) 2014-03-25 14:28:22 +01:00
Hakim El Hattab
7529f7eeb8 prevent invisible fragments from capturing mouse events #845 2014-03-25 14:09:14 +01:00
Hakim El Hattab
6936c5029e correct ms fullscreen api method name #843 2014-03-25 14:00:01 +01:00
Hakim El Hattab
924c4aaa01 use socket.io 0.9.16 2014-03-18 15:22:34 +01:00
Hakim El Hattab
7285653b01 update version to 2.6.2 to fix broken tarball on npm #506 2014-03-18 15:07:42 +01:00
Craig Citro
da949c33e0 Tweak layout in README.md installation markup.
Some code blocks weren't indented, so they ended up messing up the numbering. Indenting them fixed it.
2014-03-14 23:21:23 -07:00
Daniel Moore
1a7732c235 More robost calculation of .stretch height 2014-03-13 18:22:30 -05:00
Hakim El Hattab
0140fd9ee6 include fragments in progress bar calculation 2014-03-13 10:32:57 +01:00
Hakim El Hattab
55dceaaa0a update (c) year 2014-03-13 09:23:45 +01:00
Hakim El Hattab
a91f4d601d test for getProgress 2014-03-12 22:29:01 +01:00
Hakim El Hattab
6e9a33cf1f add api method for retrieving progress 2014-03-12 22:26:31 +01:00
Hakim El Hattab
8c32e2e967 Merge branch 'dev' of github.com:hakimel/reveal.js into dev 2014-03-12 08:52:12 +01:00
Hakim El Hattab
1c2f4a2e92 deserialize state values 2014-03-12 08:51:51 +01:00
Hakim El Hattab
e8ab2641da typo fix 2014-03-12 08:51:40 +01:00
Hakim El Hattab
3976030733 Merge pull request #816 from Gijs-Koot/dev
small fix for issue #814
2014-03-08 12:25:37 +01:00
Gijs Koot
71f1780b50 fixed two minor bugs, a twohanded gesture may not have a direction, and if autoCenter is of, the tipPosition was in the wrong scope 2014-03-05 15:20:30 +01:00
Hakim El Hattab
714102c3f8 add get/setState methods for persisting and restoring presentation state 2014-03-02 12:30:55 +01:00
J.D. Fitz.Gerald
7d25ef8aaf updated presentation to specify used languages used for highlight.js 2014-02-28 16:23:05 +00:00
J.D. Fitz.Gerald
d939c4790e updated highlight.js to v8.0 2014-02-28 16:22:36 +00:00
Hakim El Hattab
4cd1dd1a1f Merge branch 'master' of github.com:hakimel/reveal.js into dev 2014-02-28 12:16:37 +01:00
Hakim El Hattab
08fb6cb2f9 fix pdf print bug in chrome 33 #808 2014-02-28 12:16:14 +01:00
Hakim El Hattab
11df3547f6 change version to 2.7.0 (dev) 2014-02-28 12:13:32 +01:00
Hakim El Hattab
1aadc53eac don't reduce line height for all headings in base theme (#753) 2014-02-25 12:32:31 +01:00
Armand Abric
0b3bae1cad Typo fix. 2014-02-18 15:24:59 +01:00
Hakim El Hattab
ecce48d1c0 Merge branch 'master' of https://github.com/ccortezia/reveal.js into dev 2014-02-18 08:10:07 +01:00
Hakim El Hattab
015468c3a2 renamed markdown attributes for clarity and consistency: data-vertical -> data-separator-vertical, data-notes -> data-separator-notes 2014-02-17 21:15:02 +01:00
Hakim El Hattab
a22d00ab25 server side notes plugin now supports input via data-notes attribute 2014-02-17 20:16:21 +01:00
Hakim El Hattab
9478d03cf6 drop -o-transition and -ms-transition 2014-02-17 17:52:26 +01:00
Hakim El Hattab
b25fa50657 remove all use of :not(.image) 2014-02-17 11:55:38 +01:00
Hakim El Hattab
26e9ce1ff7 avoid creating duplicate auto-slide controls #770 2014-02-16 17:37:59 +01:00
Hakim El Hattab
2aef97584a update (c) year 2014-02-16 17:12:05 +01:00
Armand Abric
44e6f7ace0 Increase Logitech R400 remote compatibity. 2014-02-07 19:04:46 +01:00
Hakim El Hattab
d698619705 define basic black/white colors in the default, non-themed, styles 2014-02-03 16:18:09 +05:30
jamestwebber
286acf371b Add generated css and js to gitignore
I found it nice to ignore these files, they are automatically generated anyway (i.e. reveal.min.js always has the date of minify-ing, which I don't want to commit all the time). Should just track the source unless there is a good reason to hand-curate these versions.
2014-01-25 17:10:41 -08:00
Cristiano Cortezia
d9513b34d5 Fixes bad NaN applied to style on updateParallax.
The previous criteria "verticalSlideCount > 0" would result
in verticalOffset being NaN when verticalSlideCount == 1.

This would cause dom.background.style.backgroundPosition to
be set to something like "123px NaNpx", ultimately preventing
the parallax effect to play (silently failing so far).
2014-01-16 14:44:32 -02:00
Chris Lawrence
d1d6cca272 Merge branch 'master' of github.com:lordsutch/reveal.js 2014-01-07 22:30:43 -05:00
Hakim El Hattab
49e0749bc6 readme tweaks for auto-sliding 2013-12-21 18:15:23 +01:00
Hakim El Hattab
6215b12f6e naming/comment tweak 2013-12-21 18:12:02 +01:00
Hakim El Hattab
9421541825 add tests for auto-slide events #766 2013-12-21 18:08:40 +01:00
Hakim El Hattab
a97d73167d simplify how data-autoslide is picked up from fragments #766 2013-12-21 17:54:21 +01:00
Hakim El Hattab
ed4cdaf9e7 test isAutoSliding, isAutoSliding returns false when no autoSlide value is set #766 2013-12-21 17:33:30 +01:00
Hakim El Hattab
137ddf5472 isSliding > isAutoSliding 2013-12-21 17:27:33 +01:00
Hakim El Hattab
5226321885 Merge branch 'autoslide-API-and-fragments' of https://github.com/rajgoel/reveal.js into dev 2013-12-21 17:16:51 +01:00
rajgoel
4498e6e609 Update README.md 2013-12-20 16:38:13 +01:00
rajgoel
5a8da0555c Add auto-slide API and data-autoslide for fragments 2013-12-20 16:22:32 +01:00
Hakim El Hattab
7bd01bdebd fix data-transition overrides #760 2013-12-20 15:16:03 +01:00
Hakim El Hattab
6428504d6d merge table styles #761, tweak table padding 2013-12-20 10:35:21 +01:00
Hakim El Hattab
d08b000ec9 update contribution guidelines 2013-12-20 10:03:07 +01:00
Hakim El Hattab
300d56c21c separate contribution rules from readme 2013-12-20 09:56:29 +01:00
Hakim El Hattab
2976921adf compile assets 2013-12-20 09:48:51 +01:00
Hakim El Hattab
1402e691d5 Merge branch 'patch-2' of https://github.com/RyDroid/reveal.js into dev 2013-12-20 09:48:12 +01:00
Hakim El Hattab
1e7b62bd44 Merge branch 'master' of github.com:hakimel/reveal.js into dev 2013-12-20 09:47:05 +01:00
RyDroid
bde5907a19 Update reveal.css
Correction of a small error
2013-12-19 19:25:35 +01:00
Wachiwi
929ace25ee Table Style 2013-12-17 14:53:36 +01:00
Alex Juarez
8b8cc607d4 The index.html page had the simple theme listed twice. The duplicate was removed.
For the Moon and Solarized themes they had .css appended to them which was causing them to not come up.
2013-12-15 19:53:08 +01:00
Hakim El Hattab
b7fcd71c9f Merge branch 'live-reload' of https://github.com/danielwegener/reveal.js into dev 2013-12-10 11:37:50 +01:00
Hakim El Hattab
7055c54b79 rebuild styles 2013-12-10 11:32:11 +01:00
Diomidis Spinellis
1a0e7a2e60 Improve formatting of dl elements 2013-12-10 12:13:49 +02:00
Daniel Wegener
5c1497e8b2 grunt serve starts the browser and livereloads changes in the presentation
- upgrade grunt-contrib-connect to ~0.5.0
- configure connect and watch plugin
2013-12-05 16:11:35 +01:00
Hakim El Hattab
5d4b303b2f Merge pull request #742 from mralexjuarez/index-theme-fix
fix theme links in demo
2013-12-05 03:21:29 -08:00
Alex Juarez
616d83dfb6 The index.html page had the simple theme listed twice. The duplicate was removed.
For the Moon and Solarized themes they had .css appended to them which was causing them to not come up.
2013-12-04 15:41:06 -06:00
Hakim El Hattab
9f2a0207fc add strike fragment style #737 2013-12-03 15:39:03 +01:00
Hakim El Hattab
e8c7e8eddb same condition order when event listeners are added and removed 2013-12-02 23:28:43 +01:00
Hakim El Hattab
916bfb4c30 readme tweak 2013-12-02 23:24:37 +01:00
Hakim El Hattab
aef53061c5 code format tweaks 2013-12-02 23:23:51 +01:00
Hakim El Hattab
4a5b5c7c11 merge support for ie 11 touch 2013-12-02 23:20:26 +01:00
Hakim El Hattab
4068c5221d add instructions to features that require a local web server (closes #732, #673, #559) 2013-12-02 21:33:44 +01:00
Hakim El Hattab
e6069caa86 2.6.1 #734 2013-12-02 12:24:18 +01:00
Hakim El Hattab
552525c7a5 rename markdown attribute test files to same format 2013-12-02 12:23:18 +01:00
Hakim El Hattab
9a9ce672b7 add example of markdown slide and element attributes 2013-12-02 12:20:48 +01:00
Hakim El Hattab
bc62963c8f readme correction for #734 2013-12-02 12:20:29 +01:00
Hakim El Hattab
65bd155c34 Merge branch 'attributes' of https://github.com/VonC/reveal.js into dev 2013-12-02 12:12:27 +01:00
VonC
fdb03b4f10 README.md mentions the new default separators.
- new default separator for slide attributes
- new default separator for element attributes
Illustrate both, in html comments.
2013-11-30 23:12:42 +01:00
VonC
78dfbf5202 test-markdown-element-attributes: formats and test.
- Reformat
- Use new default separator format: '.element: x=y'
- Add new tests for testing that default format
2013-11-30 23:12:41 +01:00
VonC
d4e04b82dc test-markdown-attributes.*, new default separator
- Reformat.
- Change default separator test 'slide: x=y'
2013-11-30 23:12:41 +01:00
VonC
f2097417da Simpler default syntax for markdown attributes.
- on slides: .slide x=y
- on elements: .element x=y

Those are detected in html comment, in order to not be visible
if a markdown is edited in an html editor.
2013-11-30 23:12:40 +01:00
VonC
13da34cc6b Removes console.log calls. 2013-11-30 23:12:40 +01:00
VonC
d52eb599d1 Fix previous element selection. 2013-11-30 23:12:39 +01:00
VonC
8ad633e4f3 Fix element attributes, except for multi-line. 2013-11-30 23:12:39 +01:00
VonC
3330c2a764 Remove section attribute implementation. 2013-11-30 23:12:38 +01:00
VonC
dd9fa3e22b First refactoring 2013-11-30 23:12:38 +01:00
Luke Karrys
0605ab13df add parallax horizontal and vertical properties to enable non-calculated parallax offsets 2013-11-29 11:17:18 -07:00
Hakim El Hattab
31438c88ba Merge branch 'dev' of github.com:hakimel/reveal.js 2013-11-28 16:48:46 -05:00
Hakim El Hattab
3d2549d4f4 documentation for slide numbers 2013-11-28 16:48:36 -05:00
Hakim El Hattab
f1a416d07c tests for initial section classes 2013-11-28 11:31:16 -05:00
Hakim El Hattab
599bef5fdf Merge branch 'dev' of github.com:hakimel/reveal.js 2013-11-28 09:35:28 -05:00
Hakim El Hattab
f7b612b1e4 only run vertical slide setup during startup #726 2013-11-28 09:35:04 -05:00
Hakim El Hattab
0eba619c1a add example for parallax backgrounds 2013-11-27 14:49:39 -05:00
Hakim El Hattab
b314cf7b27 improvement to query string parsing 2013-11-27 13:16:03 -05:00
Gabriel Pillet
80aadaf74e Removing global flag for replacing whitespaces 2013-10-31 14:02:34 +01:00
Chris Lawrence
97d4eb1056 Merge remote-tracking branch 'upstream/master' 2013-10-30 22:32:43 -04:00
olivierbloch
27bf130611 windows.navigator.pointerEnabled
for backward compatibility reasons, IE11 sets both msPointerEnabled and
pointerEnabled. Changed the order for the test and added 'else if' to
not duplicate handlers on pointer events
2013-10-01 15:15:10 -07:00
olivierbloch
e608dafaf1 IE11 Support
Added unprefixed touch-action CSS attribute
Added unprefixed pointer events handlers hooks
2013-10-01 14:06:55 -07:00
olivierbloch
27a86d261e IE 11 support
Added un-prefixed touch-action CSS attribute
added un-prefixed PointerEvents event handler hooks
2013-10-01 14:00:32 -07: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
137 changed files with 27051 additions and 8658 deletions

1
.github/FUNDING.yml vendored Normal file
View File

@@ -0,0 +1 @@
github: [hakimel]

24
.github/workflows/js.yml vendored Normal file
View File

@@ -0,0 +1,24 @@
name: tests
on: [push]
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [8.x, 10.x, 12.x]
steps:
- uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- run: npm install
- run: npm run build --if-present
- run: npm test
env:
CI: true

9
.gitignore vendored
View File

@@ -1,6 +1,13 @@
.idea/
*.iml
*.iws
*.eml
out/
.DS_Store
.svn
log/*.log
tmp/**
node_modules/
.sass-cache
.sass-cache
css/reveal.min.css
js/reveal.min.js

View File

@@ -1,5 +0,0 @@
language: node_js
node_js:
- 0.8
before_script:
- npm install -g grunt-cli

23
CONTRIBUTING.md Normal file
View File

@@ -0,0 +1,23 @@
## Contributing
Please keep the [issue tracker](http://github.com/hakimel/reveal.js/issues) limited to **bug reports**, **feature requests** and **pull requests**.
### Personal Support
If you have personal support or setup questions the best place to ask those are [StackOverflow](http://stackoverflow.com/questions/tagged/reveal.js).
### Bug Reports
When reporting a bug make sure to include information about which browser and operating system you are on as well as the necessary steps to reproduce the issue. If possible please include a link to a sample presentation where the bug can be tested.
### Pull Requests
- Should follow the coding style of the file you work in, most importantly:
- Tabs to indent
- 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,136 +0,0 @@
/* global module:false */
module.exports = function(grunt) {
var port = grunt.option('port') || 8000;
// Project configuration
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
meta: {
banner:
'/*!\n' +
' * reveal.js <%= pkg.version %> (<%= grunt.template.today("yyyy-mm-dd, HH:MM") %>)\n' +
' * http://lab.hakim.se/reveal-js\n' +
' * MIT licensed\n' +
' *\n' +
' * Copyright (C) 2013 Hakim El Hattab, http://hakim.se\n' +
' */'
},
qunit: {
files: [ 'test/*.html' ]
},
uglify: {
options: {
banner: '<%= meta.banner %>\n'
},
build: {
src: 'js/reveal.js',
dest: 'js/reveal.min.js'
}
},
cssmin: {
compress: {
files: {
'css/reveal.min.css': [ 'css/reveal.css' ]
}
}
},
sass: {
main: {
files: {
'css/theme/default.css': 'css/theme/source/default.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'
}
}
},
jshint: {
options: {
curly: false,
eqeqeq: true,
immed: true,
latedef: true,
newcap: true,
noarg: true,
sub: true,
undef: true,
eqnull: true,
browser: true,
expr: true,
globals: {
head: false,
module: false,
console: false
}
},
files: [ 'Gruntfile.js', 'js/reveal.js' ]
},
connect: {
server: {
options: {
port: port,
base: '.'
}
}
},
zip: {
'reveal-js-presentation.zip': [
'index.html',
'css/**',
'js/**',
'lib/**',
'images/**',
'plugin/**'
]
},
watch: {
main: {
files: [ 'Gruntfile.js', 'js/reveal.js', 'css/reveal.css' ],
tasks: 'default'
},
theme: {
files: [ 'css/theme/source/*.scss', 'css/theme/template/*.scss' ],
tasks: 'themes'
}
}
});
// Dependencies
grunt.loadNpmTasks( 'grunt-contrib-qunit' );
grunt.loadNpmTasks( 'grunt-contrib-jshint' );
grunt.loadNpmTasks( 'grunt-contrib-cssmin' );
grunt.loadNpmTasks( 'grunt-contrib-uglify' );
grunt.loadNpmTasks( 'grunt-contrib-watch' );
grunt.loadNpmTasks( 'grunt-contrib-sass' );
grunt.loadNpmTasks( 'grunt-contrib-connect' );
grunt.loadNpmTasks( 'grunt-zip' );
// Default task
grunt.registerTask( 'default', [ 'jshint', 'cssmin', 'uglify', 'qunit' ] );
// Theme task
grunt.registerTask( 'themes', [ 'sass' ] );
// Package presentation to archive
grunt.registerTask( 'package', [ 'default', 'zip' ] );
// Serve presentation locally
grunt.registerTask( 'serve', [ 'connect', 'watch' ] );
// Run tests
grunt.registerTask( 'test', [ 'jshint', 'qunit' ] );
};

View File

@@ -1,4 +1,4 @@
Copyright (C) 2013 Hakim El Hattab, http://hakim.se
Copyright (C) 2020 Hakim El Hattab, http://hakim.se, and reveal.js contributors
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

1131
README.md

File diff suppressed because it is too large Load Diff

24
bower.json Normal file
View File

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

View File

@@ -6,171 +6,198 @@
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 */
body {
background: #fff;
font-size: 13pt;
width: auto;
height: auto;
border: 0;
margin: 0 5%;
padding: 0;
float: none !important;
overflow: visible;
@media print {
/* 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 */
html {
background: #fff;
width: auto;
height: auto;
overflow: visible;
}
body {
background: #fff;
font-size: 20pt;
width: auto;
height: auto;
border: 0;
margin: 0 5%;
padding: 0;
overflow: visible;
float: none !important;
}
/* SECTION 2: Remove any elements not needed in print.
This would include navigation, ads, sidebars, etc. */
.nestedarrow,
.controls,
.fork-reveal,
.share-reveal,
.state-background,
.reveal .progress,
.reveal .backgrounds,
.reveal .slide-number {
display: none !important;
}
/* SECTION 3: Set body font face, size, and color.
Consider using a serif font for readability. */
body, p, td, li, div {
font-size: 20pt!important;
font-family: Georgia, "Times New Roman", Times, serif !important;
color: #000;
}
/* 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 {
color: #000!important;
height: auto;
line-height: normal;
font-family: Georgia, "Times New Roman", Times, serif !important;
text-shadow: 0 0 0 #000 !important;
text-align: left;
letter-spacing: normal;
}
/* Need to reduce the size of the fonts for printing */
h1 { font-size: 28pt !important; }
h2 { font-size: 24pt !important; }
h3 { font-size: 22pt !important; }
h4 { font-size: 22pt !important; font-variant: small-caps; }
h5 { font-size: 21pt !important; }
h6 { font-size: 20pt !important; font-style: italic; }
/* SECTION 5: Make hyperlinks more usable.
Ensure links are underlined, and consider appending
the URL to the end of the link for usability. */
a:link,
a:visited {
color: #000 !important;
font-weight: bold;
text-decoration: underline;
}
/*
.reveal a:link:after,
.reveal a:visited:after {
content: " (" attr(href) ") ";
color: #222 !important;
font-size: 90%;
}
*/
/* SECTION 6: more reveal.js specific additions by @skypanther */
ul, ol, div, p {
visibility: visible;
position: static;
width: auto;
height: auto;
display: block;
overflow: visible;
margin: 0;
text-align: left !important;
}
.reveal pre,
.reveal table {
margin-left: 0;
margin-right: 0;
}
.reveal pre code {
padding: 20px;
border: 1px solid #ddd;
}
.reveal blockquote {
margin: 20px 0;
}
.reveal .slides {
position: static !important;
width: auto !important;
height: auto !important;
left: 0 !important;
top: 0 !important;
margin-left: 0 !important;
margin-top: 0 !important;
padding: 0 !important;
zoom: 1 !important;
overflow: visible !important;
display: block !important;
text-align: left !important;
-webkit-perspective: none;
-moz-perspective: none;
-ms-perspective: none;
perspective: none;
-webkit-perspective-origin: 50% 50%;
-moz-perspective-origin: 50% 50%;
-ms-perspective-origin: 50% 50%;
perspective-origin: 50% 50%;
}
.reveal .slides section {
visibility: visible !important;
position: static !important;
width: auto !important;
height: auto !important;
display: block !important;
overflow: visible !important;
left: 0 !important;
top: 0 !important;
margin-left: 0 !important;
margin-top: 0 !important;
padding: 60px 20px !important;
z-index: auto !important;
opacity: 1 !important;
page-break-after: always !important;
-webkit-transform-style: flat !important;
-moz-transform-style: flat !important;
-ms-transform-style: flat !important;
transform-style: flat !important;
-webkit-transform: none !important;
-moz-transform: none !important;
-ms-transform: none !important;
transform: none !important;
-webkit-transition: none !important;
-moz-transition: none !important;
-ms-transition: none !important;
transition: none !important;
}
.reveal .slides section.stack {
padding: 0 !important;
}
.reveal section:last-of-type {
page-break-after: avoid !important;
}
.reveal section .fragment {
opacity: 1 !important;
visibility: visible !important;
-webkit-transform: none !important;
-moz-transform: none !important;
-ms-transform: none !important;
transform: none !important;
}
.reveal section img {
display: block;
margin: 15px 0px;
background: rgba(255,255,255,1);
border: 1px solid #666;
box-shadow: none;
}
.reveal section small {
font-size: 0.8em;
}
}
html {
background: #fff;
width: auto;
height: auto;
overflow: visible;
}
/* SECTION 2: Remove any elements not needed in print.
This would include navigation, ads, sidebars, etc. */
.nestedarrow,
.controls,
.reveal .progress,
.reveal.overview,
.fork-reveal,
.share-reveal,
.state-background {
display: none !important;
}
/* SECTION 3: Set body font face, size, and color.
Consider using a serif font for readability. */
body, p, td, li, div, a {
font-size: 16pt!important;
font-family: Georgia, "Times New Roman", Times, serif !important;
color: #000;
}
/* 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 {
color: #000!important;
height: auto;
line-height: normal;
font-family: Georgia, "Times New Roman", Times, serif !important;
text-shadow: 0 0 0 #000 !important;
text-align: left;
letter-spacing: normal;
}
/* Need to reduce the size of the fonts for printing */
h1 { font-size: 26pt !important; }
h2 { font-size: 22pt !important; }
h3 { font-size: 20pt !important; }
h4 { font-size: 20pt !important; font-variant: small-caps; }
h5 { font-size: 19pt !important; }
h6 { font-size: 18pt !important; font-style: italic; }
/* SECTION 5: Make hyperlinks more usable.
Ensure links are underlined, and consider appending
the URL to the end of the link for usability. */
a:link,
a:visited {
color: #000 !important;
font-weight: bold;
text-decoration: underline;
}
/*
.reveal a:link:after,
.reveal a:visited:after {
content: " (" attr(href) ") ";
color: #222 !important;
font-size: 90%;
}
*/
/* SECTION 6: more reveal.js specific additions by @skypanther */
ul, ol, div, p {
visibility: visible;
position: static;
width: auto;
height: auto;
display: block;
overflow: visible;
margin: auto;
text-align: left !important;
}
.reveal .slides {
position: static;
width: auto;
height: auto;
left: auto;
top: auto;
margin-left: auto;
margin-top: auto;
padding: auto;
overflow: visible;
display: block;
text-align: center;
-webkit-perspective: none;
-moz-perspective: none;
-ms-perspective: none;
perspective: none;
-webkit-perspective-origin: 50% 50%; /* there isn't a none/auto value but 50-50 is the default */
-moz-perspective-origin: 50% 50%;
-ms-perspective-origin: 50% 50%;
perspective-origin: 50% 50%;
}
.reveal .slides>section,
.reveal .slides>section>section {
visibility: visible !important;
position: static !important;
width: 90% !important;
height: auto !important;
display: block !important;
overflow: visible !important;
left: 0% !important;
top: 0% !important;
margin-left: 0px !important;
margin-top: 0px !important;
padding: 20px 0px !important;
opacity: 1 !important;
-webkit-transform-style: flat !important;
-moz-transform-style: flat !important;
-ms-transform-style: flat !important;
transform-style: flat !important;
-webkit-transform: none !important;
-moz-transform: none !important;
-ms-transform: none !important;
transform: none !important;
}
.reveal section {
page-break-after: always !important;
display: block !important;
}
.reveal section .fragment {
opacity: 1 !important;
visibility: visible !important;
-webkit-transform: none !important;
-moz-transform: none !important;
-ms-transform: none !important;
transform: none !important;
}
.reveal section:last-of-type {
page-break-after: avoid !important;
}
.reveal section img {
display: block;
margin: 15px 0px;
background: rgba(255,255,255,1);
border: 1px solid #666;
box-shadow: none;
}

View File

@@ -1,24 +1,15 @@
/* 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;
}
body {
font-size: 18pt;
width: 297mm;
height: 229mm;
margin: 0 auto !important;
border: 0;
padding: 0;
@@ -32,16 +23,11 @@ html {
overflow: visible;
}
@page {
size: letter landscape;
margin: 0;
}
/* SECTION 2: Remove any elements not needed in print.
This would include navigation, ads, sidebars, etc. */
/* Remove any elements not needed in print. */
.nestedarrow,
.controls,
.reveal .controls,
.reveal .progress,
.reveal .playback,
.reveal.overview,
.fork-reveal,
.share-reveal,
@@ -49,35 +35,15 @@ 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 {
font-size: 18pt;
}
/* 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;
}
/* SECTION 5: Make hyperlinks more usable.
Ensure links are underlined, and consider appending
the URL to the end of the link for usability. */
a:link,
a:visited {
font-weight: normal;
text-decoration: underline;
}
.reveal pre code {
overflow: hidden !important;
font-family: monospace !important;
font-family: Courier, 'Courier New', monospace !important;
}
/* SECTION 6: more reveal.js specific additions by @skypanther */
ul, ol, div, p {
visibility: visible;
position: static;
@@ -94,8 +60,10 @@ ul, ol, div, p {
}
.reveal .slides {
position: static;
width: 100%;
height: auto;
width: 100% !important;
height: auto !important;
zoom: 1 !important;
pointer-events: initial;
left: auto;
top: auto;
@@ -105,86 +73,93 @@ ul, ol, div, p {
overflow: visible;
display: block;
text-align: center;
-webkit-perspective: none;
-moz-perspective: none;
-ms-perspective: none;
perspective: none;
-webkit-perspective-origin: 50% 50%; /* there isn't a none/auto value but 50-50 is the default */
-moz-perspective-origin: 50% 50%;
-ms-perspective-origin: 50% 50%;
perspective-origin: 50% 50%;
perspective: none;
perspective-origin: 50% 50%;
}
.reveal .slides .pdf-page {
position: relative;
overflow: hidden;
z-index: 1;
page-break-after: always;
}
.reveal .slides section {
page-break-after: always !important;
visibility: visible !important;
position: relative !important;
width: 100% !important;
height: 229mm !important;
min-height: 229mm !important;
display: block !important;
overflow: hidden !important;
position: absolute !important;
left: 0 !important;
top: 0 !important;
margin: 0 !important;
padding: 2cm 2cm 0 2cm !important;
padding: 0 !important;
box-sizing: border-box !important;
min-height: 1px;
opacity: 1 !important;
-webkit-transform-style: flat !important;
-moz-transform-style: flat !important;
-ms-transform-style: flat !important;
transform-style: flat !important;
-webkit-transform: none !important;
-moz-transform: none !important;
-ms-transform: none !important;
transform: none !important;
transform-style: flat !important;
transform: none !important;
}
.reveal section.stack {
position: relative !important;
margin: 0 !important;
padding: 0 !important;
page-break-after: avoid !important;
height: auto !important;
min-height: auto !important;
}
.reveal .absolute-element {
margin-left: 2.2cm;
margin-top: 1.8cm;
}
.reveal section .fragment {
opacity: 1 !important;
visibility: visible !important;
-webkit-transform: none !important;
-moz-transform: none !important;
-ms-transform: none !important;
transform: none !important;
}
.reveal section .slide-background {
position: absolute;
top: 0;
left: 0;
width: 100%;
z-index: 0;
}
.reveal section>* {
position: relative;
z-index: 1;
}
.reveal img {
box-shadow: none;
}
.reveal .roll {
overflow: visible;
line-height: 1em;
}
.reveal small a {
font-size: 16pt !important;
/* Slide backgrounds are placed inside of their slide when exporting to PDF */
.reveal .slide-background {
display: block !important;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: auto !important;
}
/* Display slide speaker notes when 'showNotes' is enabled */
.reveal.show-notes {
max-width: none;
max-height: none;
}
.reveal .speaker-notes-pdf {
display: block;
width: 100%;
height: auto;
max-height: none;
top: auto;
right: auto;
bottom: auto;
left: auto;
z-index: 100;
}
/* Layout option which makes notes appear on a separate page */
.reveal .speaker-notes-pdf[data-layout="separate-page"] {
position: relative;
color: inherit;
background-color: transparent;
padding: 20px;
page-break-after: always;
border: 0;
}
/* Display slide numbers when 'slideNumber' is enabled */
.reveal .slide-number-pdf {
display: block;
position: absolute;
font-size: 14px;
}

30
css/reset.css Normal file
View File

@@ -0,0 +1,30 @@
/* http://meyerweb.com/eric/tools/css/reset/
v4.0 | 20180602
License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
main, menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, main, menu, nav, section {
display: block;
}

File diff suppressed because it is too large Load Diff

7
css/reveal.min.css vendored

File diff suppressed because one or more lines are too long

1777
css/reveal.scss Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,12 +1,10 @@
## Dependencies
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`).
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 proceeding: https://github.com/hakimel/reveal.js#full-setup
## 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 `npm run build -- 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,16 +1,10 @@
@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
*/
@font-face {
font-family: 'League Gothic';
src: url("../../lib/font/league_gothic-webfont.eot");
src: url("../../lib/font/league_gothic-webfont.eot?#iefix") format("embedded-opentype"), url("../../lib/font/league_gothic-webfont.woff") format("woff"), url("../../lib/font/league_gothic-webfont.ttf") format("truetype"), url("../../lib/font/league_gothic-webfont.svg#LeagueGothicRegular") format("svg");
font-weight: normal;
font-style: normal; }
@import url(../../lib/font/league-gothic/league-gothic.css);
@import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic);
/*********************************************
* GLOBAL STYLES
*********************************************/
@@ -26,16 +20,25 @@ body {
.reveal {
font-family: "Lato", sans-serif;
font-size: 36px;
font-size: 40px;
font-weight: normal;
letter-spacing: -0.02em;
color: #333333; }
color: #333; }
::selection {
color: white;
color: #fff;
background: rgba(79, 64, 28, 0.99);
text-shadow: none; }
::-moz-selection {
color: #fff;
background: rgba(79, 64, 28, 0.99);
text-shadow: none; }
.reveal .slides section,
.reveal .slides section > section {
line-height: 1.3;
font-weight: inherit; }
/*********************************************
* HEADERS
*********************************************/
@@ -46,29 +49,177 @@ body {
.reveal h5,
.reveal h6 {
margin: 0 0 20px 0;
color: #333333;
color: #333;
font-family: "League Gothic", Impact, sans-serif;
line-height: 0.9em;
letter-spacing: 0.02em;
font-weight: normal;
line-height: 1.2;
letter-spacing: normal;
text-transform: uppercase;
text-shadow: none; }
text-shadow: none;
word-wrap: break-word; }
.reveal h1 {
text-shadow: 0 1px 0 #cccccc, 0 2px 0 #c9c9c9, 0 3px 0 #bbbbbb, 0 4px 0 #b9b9b9, 0 5px 0 #aaaaaa, 0 6px 1px rgba(0, 0, 0, 0.1), 0 0 5px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.3), 0 3px 5px rgba(0, 0, 0, 0.2), 0 5px 10px rgba(0, 0, 0, 0.25), 0 20px 20px rgba(0, 0, 0, 0.15); }
font-size: 3.77em; }
.reveal h2 {
font-size: 2.11em; }
.reveal h3 {
font-size: 1.55em; }
.reveal h4 {
font-size: 1em; }
.reveal h1 {
text-shadow: 0 1px 0 #ccc, 0 2px 0 #c9c9c9, 0 3px 0 #bbb, 0 4px 0 #b9b9b9, 0 5px 0 #aaa, 0 6px 1px rgba(0, 0, 0, 0.1), 0 0 5px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.3), 0 3px 5px rgba(0, 0, 0, 0.2), 0 5px 10px rgba(0, 0, 0, 0.25), 0 20px 20px rgba(0, 0, 0, 0.15); }
/*********************************************
* OTHER
*********************************************/
.reveal p {
margin: 20px 0;
line-height: 1.3; }
/* Ensure certain elements are never larger than the slide itself */
.reveal img,
.reveal video,
.reveal iframe {
max-width: 95%;
max-height: 95%; }
.reveal strong,
.reveal b {
font-weight: bold; }
.reveal em {
font-style: italic; }
.reveal ol,
.reveal dl,
.reveal ul {
display: inline-block;
text-align: left;
margin: 0 0 0 1em; }
.reveal ol {
list-style-type: decimal; }
.reveal ul {
list-style-type: disc; }
.reveal ul ul {
list-style-type: square; }
.reveal ul ul ul {
list-style-type: circle; }
.reveal ul ul,
.reveal ul ol,
.reveal ol ol,
.reveal ol ul {
display: block;
margin-left: 40px; }
.reveal dt {
font-weight: bold; }
.reveal dd {
margin-left: 40px; }
.reveal blockquote {
display: block;
position: relative;
width: 70%;
margin: 20px auto;
padding: 5px;
font-style: italic;
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 {
display: inline-block; }
.reveal q {
font-style: italic; }
.reveal pre {
display: block;
position: relative;
width: 90%;
margin: 20px auto;
text-align: left;
font-size: 0.55em;
font-family: monospace;
line-height: 1.2em;
word-wrap: break-word;
box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.15); }
.reveal code {
font-family: monospace;
text-transform: none; }
.reveal pre code {
display: block;
padding: 5px;
overflow: auto;
max-height: 400px;
word-wrap: normal; }
.reveal table {
margin: auto;
border-collapse: collapse;
border-spacing: 0; }
.reveal table th {
font-weight: bold; }
.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 tbody tr:last-child th,
.reveal table tbody tr:last-child td {
border-bottom: none; }
.reveal sup {
vertical-align: super;
font-size: smaller; }
.reveal sub {
vertical-align: sub;
font-size: smaller; }
.reveal small {
display: inline-block;
font-size: 0.6em;
line-height: 1.2em;
vertical-align: top; }
.reveal small * {
vertical-align: top; }
/*********************************************
* LINKS
*********************************************/
.reveal a:not(.image) {
.reveal a {
color: #8b743d;
text-decoration: none;
-webkit-transition: color .15s ease;
-moz-transition: color .15s ease;
-ms-transition: color .15s ease;
-o-transition: color .15s ease;
transition: color .15s ease; }
.reveal a:not(.image):hover {
.reveal a:hover {
color: #c0a86e;
text-shadow: none;
border: none; }
@@ -83,13 +234,17 @@ body {
.reveal section img {
margin: 15px 0px;
background: rgba(255, 255, 255, 0.12);
border: 4px solid #333333;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
-webkit-transition: all .2s linear;
-moz-transition: all .2s linear;
-ms-transition: all .2s linear;
-o-transition: all .2s linear;
transition: all .2s linear; }
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 .15s linear;
-moz-transition: all .15s linear;
transition: all .15s linear; }
.reveal a:hover img {
background: rgba(255, 255, 255, 0.2);
@@ -99,50 +254,24 @@ body {
/*********************************************
* NAVIGATION CONTROLS
*********************************************/
.reveal .controls div.navigate-left,
.reveal .controls div.navigate-left.enabled {
border-right-color: #8b743d; }
.reveal .controls div.navigate-right,
.reveal .controls div.navigate-right.enabled {
border-left-color: #8b743d; }
.reveal .controls div.navigate-up,
.reveal .controls div.navigate-up.enabled {
border-bottom-color: #8b743d; }
.reveal .controls div.navigate-down,
.reveal .controls div.navigate-down.enabled {
border-top-color: #8b743d; }
.reveal .controls div.navigate-left.enabled:hover {
border-right-color: #c0a86e; }
.reveal .controls div.navigate-right.enabled:hover {
border-left-color: #c0a86e; }
.reveal .controls div.navigate-up.enabled:hover {
border-bottom-color: #c0a86e; }
.reveal .controls div.navigate-down.enabled:hover {
border-top-color: #c0a86e; }
.reveal .controls {
color: #8b743d; }
/*********************************************
* PROGRESS BAR
*********************************************/
.reveal .progress {
background: rgba(0, 0, 0, 0.2); }
background: rgba(0, 0, 0, 0.2);
color: #8b743d; }
.reveal .progress span {
background: #8b743d;
-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);
-ms-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
-o-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
* PRINT BACKGROUND
*********************************************/
.reveal .slide-number {
color: #8b743d; }
@media print {
.backgrounds {
background-color: #f7f3de; } }

273
css/theme/black.css Normal file
View File

@@ -0,0 +1,273 @@
/**
* Black theme for reveal.js. This is the opposite of the 'white' theme.
*
* By 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; }
/*********************************************
* GLOBAL STYLES
*********************************************/
body {
background: #191919;
background-color: #191919; }
.reveal {
font-family: "Source Sans Pro", Helvetica, sans-serif;
font-size: 42px;
font-weight: normal;
color: #fff; }
::selection {
color: #fff;
background: #bee4fd;
text-shadow: none; }
::-moz-selection {
color: #fff;
background: #bee4fd;
text-shadow: none; }
.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 {
margin: 0 0 20px 0;
color: #fff;
font-family: "Source Sans Pro", Helvetica, sans-serif;
font-weight: 600;
line-height: 1.2;
letter-spacing: normal;
text-transform: uppercase;
text-shadow: none;
word-wrap: break-word; }
.reveal h1 {
font-size: 2.5em; }
.reveal h2 {
font-size: 1.6em; }
.reveal h3 {
font-size: 1.3em; }
.reveal h4 {
font-size: 1em; }
.reveal h1 {
text-shadow: none; }
/*********************************************
* OTHER
*********************************************/
.reveal p {
margin: 20px 0;
line-height: 1.3; }
/* Ensure certain elements are never larger than the slide itself */
.reveal img,
.reveal video,
.reveal iframe {
max-width: 95%;
max-height: 95%; }
.reveal strong,
.reveal b {
font-weight: bold; }
.reveal em {
font-style: italic; }
.reveal ol,
.reveal dl,
.reveal ul {
display: inline-block;
text-align: left;
margin: 0 0 0 1em; }
.reveal ol {
list-style-type: decimal; }
.reveal ul {
list-style-type: disc; }
.reveal ul ul {
list-style-type: square; }
.reveal ul ul ul {
list-style-type: circle; }
.reveal ul ul,
.reveal ul ol,
.reveal ol ol,
.reveal ol ul {
display: block;
margin-left: 40px; }
.reveal dt {
font-weight: bold; }
.reveal dd {
margin-left: 40px; }
.reveal blockquote {
display: block;
position: relative;
width: 70%;
margin: 20px auto;
padding: 5px;
font-style: italic;
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 {
display: inline-block; }
.reveal q {
font-style: italic; }
.reveal pre {
display: block;
position: relative;
width: 90%;
margin: 20px auto;
text-align: left;
font-size: 0.55em;
font-family: monospace;
line-height: 1.2em;
word-wrap: break-word;
box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.15); }
.reveal code {
font-family: monospace;
text-transform: none; }
.reveal pre code {
display: block;
padding: 5px;
overflow: auto;
max-height: 400px;
word-wrap: normal; }
.reveal table {
margin: auto;
border-collapse: collapse;
border-spacing: 0; }
.reveal table th {
font-weight: bold; }
.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 tbody tr:last-child th,
.reveal table tbody tr:last-child td {
border-bottom: none; }
.reveal sup {
vertical-align: super;
font-size: smaller; }
.reveal sub {
vertical-align: sub;
font-size: smaller; }
.reveal small {
display: inline-block;
font-size: 0.6em;
line-height: 1.2em;
vertical-align: top; }
.reveal small * {
vertical-align: top; }
/*********************************************
* LINKS
*********************************************/
.reveal a {
color: #42affa;
text-decoration: none;
-webkit-transition: color .15s ease;
-moz-transition: color .15s ease;
transition: color .15s ease; }
.reveal a:hover {
color: #8dcffc;
text-shadow: none;
border: none; }
.reveal .roll span:after {
color: #fff;
background: #068de9; }
/*********************************************
* IMAGES
*********************************************/
.reveal section img {
margin: 15px 0px;
background: rgba(255, 255, 255, 0.12);
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 .15s linear;
-moz-transition: all .15s linear;
transition: all .15s linear; }
.reveal a:hover img {
background: rgba(255, 255, 255, 0.2);
border-color: #42affa;
box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); }
/*********************************************
* NAVIGATION CONTROLS
*********************************************/
.reveal .controls {
color: #42affa; }
/*********************************************
* PROGRESS BAR
*********************************************/
.reveal .progress {
background: rgba(0, 0, 0, 0.2);
color: #42affa; }
.reveal .progress span {
-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); }
/*********************************************
* PRINT BACKGROUND
*********************************************/
@media print {
.backgrounds {
background-color: #191919; } }

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,31 +9,35 @@
* For other themes, change $codeBackground accordingly.
*
*/
@import url(https://fonts.googleapis.com/css?family=Ubuntu:300,700,300italic,700italic);
/*********************************************
* GLOBAL STYLES
*********************************************/
body {
background: #222222;
background: -moz-radial-gradient(center, circle cover, #626262 0%, #222222 100%);
background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%, #626262), color-stop(100%, #222222));
background: -webkit-radial-gradient(center, circle cover, #626262 0%, #222222 100%);
background: -o-radial-gradient(center, circle cover, #626262 0%, #222222 100%);
background: -ms-radial-gradient(center, circle cover, #626262 0%, #222222 100%);
background: radial-gradient(center, circle cover, #626262 0%, #222222 100%);
background-color: #2b2b2b; }
background: #222;
background-color: #222; }
.reveal {
font-family: Ubuntu, "sans-serif";
font-size: 36px;
font-size: 40px;
font-weight: normal;
letter-spacing: -0.02em;
color: #eeeeee; }
color: #eee; }
::selection {
color: white;
background: #aa2233;
color: #fff;
background: #a23;
text-shadow: none; }
::-moz-selection {
color: #fff;
background: #a23;
text-shadow: none; }
.reveal .slides section,
.reveal .slides section > section {
line-height: 1.3;
font-weight: inherit; }
/*********************************************
* HEADERS
*********************************************/
@@ -45,29 +48,177 @@ body {
.reveal h5,
.reveal h6 {
margin: 0 0 20px 0;
color: #eeeeee;
color: #eee;
font-family: Ubuntu, "sans-serif";
line-height: 0.9em;
letter-spacing: 0.02em;
font-weight: normal;
line-height: 1.2;
letter-spacing: normal;
text-transform: uppercase;
text-shadow: 2px 2px 2px #222222; }
text-shadow: 2px 2px 2px #222;
word-wrap: break-word; }
.reveal h1 {
text-shadow: 0 1px 0 #cccccc, 0 2px 0 #c9c9c9, 0 3px 0 #bbbbbb, 0 4px 0 #b9b9b9, 0 5px 0 #aaaaaa, 0 6px 1px rgba(0, 0, 0, 0.1), 0 0 5px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.3), 0 3px 5px rgba(0, 0, 0, 0.2), 0 5px 10px rgba(0, 0, 0, 0.25), 0 20px 20px rgba(0, 0, 0, 0.15); }
font-size: 3.77em; }
.reveal h2 {
font-size: 2.11em; }
.reveal h3 {
font-size: 1.55em; }
.reveal h4 {
font-size: 1em; }
.reveal h1 {
text-shadow: 0 1px 0 #ccc, 0 2px 0 #c9c9c9, 0 3px 0 #bbb, 0 4px 0 #b9b9b9, 0 5px 0 #aaa, 0 6px 1px rgba(0, 0, 0, 0.1), 0 0 5px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.3), 0 3px 5px rgba(0, 0, 0, 0.2), 0 5px 10px rgba(0, 0, 0, 0.25), 0 20px 20px rgba(0, 0, 0, 0.15); }
/*********************************************
* OTHER
*********************************************/
.reveal p {
margin: 20px 0;
line-height: 1.3; }
/* Ensure certain elements are never larger than the slide itself */
.reveal img,
.reveal video,
.reveal iframe {
max-width: 95%;
max-height: 95%; }
.reveal strong,
.reveal b {
font-weight: bold; }
.reveal em {
font-style: italic; }
.reveal ol,
.reveal dl,
.reveal ul {
display: inline-block;
text-align: left;
margin: 0 0 0 1em; }
.reveal ol {
list-style-type: decimal; }
.reveal ul {
list-style-type: disc; }
.reveal ul ul {
list-style-type: square; }
.reveal ul ul ul {
list-style-type: circle; }
.reveal ul ul,
.reveal ul ol,
.reveal ol ol,
.reveal ol ul {
display: block;
margin-left: 40px; }
.reveal dt {
font-weight: bold; }
.reveal dd {
margin-left: 40px; }
.reveal blockquote {
display: block;
position: relative;
width: 70%;
margin: 20px auto;
padding: 5px;
font-style: italic;
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 {
display: inline-block; }
.reveal q {
font-style: italic; }
.reveal pre {
display: block;
position: relative;
width: 90%;
margin: 20px auto;
text-align: left;
font-size: 0.55em;
font-family: monospace;
line-height: 1.2em;
word-wrap: break-word;
box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.15); }
.reveal code {
font-family: monospace;
text-transform: none; }
.reveal pre code {
display: block;
padding: 5px;
overflow: auto;
max-height: 400px;
word-wrap: normal; }
.reveal table {
margin: auto;
border-collapse: collapse;
border-spacing: 0; }
.reveal table th {
font-weight: bold; }
.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 tbody tr:last-child th,
.reveal table tbody tr:last-child td {
border-bottom: none; }
.reveal sup {
vertical-align: super;
font-size: smaller; }
.reveal sub {
vertical-align: sub;
font-size: smaller; }
.reveal small {
display: inline-block;
font-size: 0.6em;
line-height: 1.2em;
vertical-align: top; }
.reveal small * {
vertical-align: top; }
/*********************************************
* LINKS
*********************************************/
.reveal a:not(.image) {
color: #aa2233;
.reveal a {
color: #a23;
text-decoration: none;
-webkit-transition: color .15s ease;
-moz-transition: color .15s ease;
-ms-transition: color .15s ease;
-o-transition: color .15s ease;
transition: color .15s ease; }
.reveal a:not(.image):hover {
.reveal a:hover {
color: #dd5566;
text-shadow: none;
border: none; }
@@ -82,73 +233,51 @@ body {
.reveal section img {
margin: 15px 0px;
background: rgba(255, 255, 255, 0.12);
border: 4px solid #eeeeee;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
-webkit-transition: all .2s linear;
-moz-transition: all .2s linear;
-ms-transition: all .2s linear;
-o-transition: all .2s linear;
transition: all .2s linear; }
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 .15s linear;
-moz-transition: all .15s linear;
transition: all .15s linear; }
.reveal a:hover img {
background: rgba(255, 255, 255, 0.2);
border-color: #aa2233;
border-color: #a23;
box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); }
/*********************************************
* NAVIGATION CONTROLS
*********************************************/
.reveal .controls div.navigate-left,
.reveal .controls div.navigate-left.enabled {
border-right-color: #aa2233; }
.reveal .controls div.navigate-right,
.reveal .controls div.navigate-right.enabled {
border-left-color: #aa2233; }
.reveal .controls div.navigate-up,
.reveal .controls div.navigate-up.enabled {
border-bottom-color: #aa2233; }
.reveal .controls div.navigate-down,
.reveal .controls div.navigate-down.enabled {
border-top-color: #aa2233; }
.reveal .controls div.navigate-left.enabled:hover {
border-right-color: #dd5566; }
.reveal .controls div.navigate-right.enabled:hover {
border-left-color: #dd5566; }
.reveal .controls div.navigate-up.enabled:hover {
border-bottom-color: #dd5566; }
.reveal .controls div.navigate-down.enabled:hover {
border-top-color: #dd5566; }
.reveal .controls {
color: #a23; }
/*********************************************
* PROGRESS BAR
*********************************************/
.reveal .progress {
background: rgba(0, 0, 0, 0.2); }
background: rgba(0, 0, 0, 0.2);
color: #a23; }
.reveal .progress span {
background: #aa2233;
-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);
-ms-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
-o-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
* PRINT BACKGROUND
*********************************************/
.reveal .slide-number {
color: #aa2233; }
@media print {
.backgrounds {
background-color: #222; } }
.reveal p {
font-weight: 300;
text-shadow: 1px 1px #222222; }
text-shadow: 1px 1px #222; }
.reveal h1,
.reveal h2,
@@ -158,14 +287,6 @@ body {
.reveal h6 {
font-weight: 700; }
.reveal a:not(.image),
.reveal a:not(.image):hover {
text-shadow: 2px 2px 2px #000; }
.reveal small a:not(.image),
.reveal small a:not(.image):hover {
text-shadow: 1px 1px 1px #000; }
.reveal p code {
background-color: #23241f;
display: inline-block;

View File

@@ -1,148 +0,0 @@
@import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic);
/**
* Default theme for reveal.js.
*
* Copyright (C) 2011-2012 Hakim El Hattab, http://hakim.se
*/
@font-face {
font-family: 'League Gothic';
src: url("../../lib/font/league_gothic-webfont.eot");
src: url("../../lib/font/league_gothic-webfont.eot?#iefix") format("embedded-opentype"), url("../../lib/font/league_gothic-webfont.woff") format("woff"), url("../../lib/font/league_gothic-webfont.ttf") format("truetype"), url("../../lib/font/league_gothic-webfont.svg#LeagueGothicRegular") format("svg");
font-weight: normal;
font-style: normal; }
/*********************************************
* GLOBAL STYLES
*********************************************/
body {
background: #1c1e20;
background: -moz-radial-gradient(center, circle cover, #555a5f 0%, #1c1e20 100%);
background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%, #555a5f), color-stop(100%, #1c1e20));
background: -webkit-radial-gradient(center, circle cover, #555a5f 0%, #1c1e20 100%);
background: -o-radial-gradient(center, circle cover, #555a5f 0%, #1c1e20 100%);
background: -ms-radial-gradient(center, circle cover, #555a5f 0%, #1c1e20 100%);
background: radial-gradient(center, circle cover, #555a5f 0%, #1c1e20 100%);
background-color: #2b2b2b; }
.reveal {
font-family: "Lato", sans-serif;
font-size: 36px;
font-weight: normal;
letter-spacing: -0.02em;
color: #eeeeee; }
::selection {
color: white;
background: #ff5e99;
text-shadow: none; }
/*********************************************
* HEADERS
*********************************************/
.reveal h1,
.reveal h2,
.reveal h3,
.reveal h4,
.reveal h5,
.reveal h6 {
margin: 0 0 20px 0;
color: #eeeeee;
font-family: "League Gothic", Impact, sans-serif;
line-height: 0.9em;
letter-spacing: 0.02em;
text-transform: uppercase;
text-shadow: 0px 0px 6px rgba(0, 0, 0, 0.2); }
.reveal h1 {
text-shadow: 0 1px 0 #cccccc, 0 2px 0 #c9c9c9, 0 3px 0 #bbbbbb, 0 4px 0 #b9b9b9, 0 5px 0 #aaaaaa, 0 6px 1px rgba(0, 0, 0, 0.1), 0 0 5px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.3), 0 3px 5px rgba(0, 0, 0, 0.2), 0 5px 10px rgba(0, 0, 0, 0.25), 0 20px 20px rgba(0, 0, 0, 0.15); }
/*********************************************
* LINKS
*********************************************/
.reveal a:not(.image) {
color: #13daec;
text-decoration: none;
-webkit-transition: color .15s ease;
-moz-transition: color .15s ease;
-ms-transition: color .15s ease;
-o-transition: color .15s ease;
transition: color .15s ease; }
.reveal a:not(.image):hover {
color: #71e9f4;
text-shadow: none;
border: none; }
.reveal .roll span:after {
color: #fff;
background: #0d99a5; }
/*********************************************
* IMAGES
*********************************************/
.reveal section img {
margin: 15px 0px;
background: rgba(255, 255, 255, 0.12);
border: 4px solid #eeeeee;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
-webkit-transition: all .2s linear;
-moz-transition: all .2s linear;
-ms-transition: all .2s linear;
-o-transition: all .2s linear;
transition: all .2s linear; }
.reveal a:hover img {
background: rgba(255, 255, 255, 0.2);
border-color: #13daec;
box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); }
/*********************************************
* NAVIGATION CONTROLS
*********************************************/
.reveal .controls div.navigate-left,
.reveal .controls div.navigate-left.enabled {
border-right-color: #13daec; }
.reveal .controls div.navigate-right,
.reveal .controls div.navigate-right.enabled {
border-left-color: #13daec; }
.reveal .controls div.navigate-up,
.reveal .controls div.navigate-up.enabled {
border-bottom-color: #13daec; }
.reveal .controls div.navigate-down,
.reveal .controls div.navigate-down.enabled {
border-top-color: #13daec; }
.reveal .controls div.navigate-left.enabled:hover {
border-right-color: #71e9f4; }
.reveal .controls div.navigate-right.enabled:hover {
border-left-color: #71e9f4; }
.reveal .controls div.navigate-up.enabled:hover {
border-bottom-color: #71e9f4; }
.reveal .controls div.navigate-down.enabled:hover {
border-top-color: #71e9f4; }
/*********************************************
* PROGRESS BAR
*********************************************/
.reveal .progress {
background: rgba(0, 0, 0, 0.2); }
.reveal .progress span {
background: #13daec;
-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);
-ms-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
-o-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; }

279
css/theme/league.css Normal file
View File

@@ -0,0 +1,279 @@
/**
* League theme for reveal.js.
*
* This was the default theme pre-3.0.0.
*
* 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: #1c1e20;
background: -moz-radial-gradient(center, circle cover, #555a5f 0%, #1c1e20 100%);
background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%, #555a5f), color-stop(100%, #1c1e20));
background: -webkit-radial-gradient(center, circle cover, #555a5f 0%, #1c1e20 100%);
background: -o-radial-gradient(center, circle cover, #555a5f 0%, #1c1e20 100%);
background: -ms-radial-gradient(center, circle cover, #555a5f 0%, #1c1e20 100%);
background: radial-gradient(center, circle cover, #555a5f 0%, #1c1e20 100%);
background-color: #2b2b2b; }
.reveal {
font-family: "Lato", sans-serif;
font-size: 40px;
font-weight: normal;
color: #eee; }
::selection {
color: #fff;
background: #FF5E99;
text-shadow: none; }
::-moz-selection {
color: #fff;
background: #FF5E99;
text-shadow: none; }
.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 {
margin: 0 0 20px 0;
color: #eee;
font-family: "League Gothic", Impact, sans-serif;
font-weight: normal;
line-height: 1.2;
letter-spacing: normal;
text-transform: uppercase;
text-shadow: 0px 0px 6px rgba(0, 0, 0, 0.2);
word-wrap: break-word; }
.reveal h1 {
font-size: 3.77em; }
.reveal h2 {
font-size: 2.11em; }
.reveal h3 {
font-size: 1.55em; }
.reveal h4 {
font-size: 1em; }
.reveal h1 {
text-shadow: 0 1px 0 #ccc, 0 2px 0 #c9c9c9, 0 3px 0 #bbb, 0 4px 0 #b9b9b9, 0 5px 0 #aaa, 0 6px 1px rgba(0, 0, 0, 0.1), 0 0 5px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.3), 0 3px 5px rgba(0, 0, 0, 0.2), 0 5px 10px rgba(0, 0, 0, 0.25), 0 20px 20px rgba(0, 0, 0, 0.15); }
/*********************************************
* OTHER
*********************************************/
.reveal p {
margin: 20px 0;
line-height: 1.3; }
/* Ensure certain elements are never larger than the slide itself */
.reveal img,
.reveal video,
.reveal iframe {
max-width: 95%;
max-height: 95%; }
.reveal strong,
.reveal b {
font-weight: bold; }
.reveal em {
font-style: italic; }
.reveal ol,
.reveal dl,
.reveal ul {
display: inline-block;
text-align: left;
margin: 0 0 0 1em; }
.reveal ol {
list-style-type: decimal; }
.reveal ul {
list-style-type: disc; }
.reveal ul ul {
list-style-type: square; }
.reveal ul ul ul {
list-style-type: circle; }
.reveal ul ul,
.reveal ul ol,
.reveal ol ol,
.reveal ol ul {
display: block;
margin-left: 40px; }
.reveal dt {
font-weight: bold; }
.reveal dd {
margin-left: 40px; }
.reveal blockquote {
display: block;
position: relative;
width: 70%;
margin: 20px auto;
padding: 5px;
font-style: italic;
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 {
display: inline-block; }
.reveal q {
font-style: italic; }
.reveal pre {
display: block;
position: relative;
width: 90%;
margin: 20px auto;
text-align: left;
font-size: 0.55em;
font-family: monospace;
line-height: 1.2em;
word-wrap: break-word;
box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.15); }
.reveal code {
font-family: monospace;
text-transform: none; }
.reveal pre code {
display: block;
padding: 5px;
overflow: auto;
max-height: 400px;
word-wrap: normal; }
.reveal table {
margin: auto;
border-collapse: collapse;
border-spacing: 0; }
.reveal table th {
font-weight: bold; }
.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 tbody tr:last-child th,
.reveal table tbody tr:last-child td {
border-bottom: none; }
.reveal sup {
vertical-align: super;
font-size: smaller; }
.reveal sub {
vertical-align: sub;
font-size: smaller; }
.reveal small {
display: inline-block;
font-size: 0.6em;
line-height: 1.2em;
vertical-align: top; }
.reveal small * {
vertical-align: top; }
/*********************************************
* LINKS
*********************************************/
.reveal a {
color: #13DAEC;
text-decoration: none;
-webkit-transition: color .15s ease;
-moz-transition: color .15s ease;
transition: color .15s ease; }
.reveal a:hover {
color: #71e9f4;
text-shadow: none;
border: none; }
.reveal .roll span:after {
color: #fff;
background: #0d99a5; }
/*********************************************
* IMAGES
*********************************************/
.reveal section img {
margin: 15px 0px;
background: rgba(255, 255, 255, 0.12);
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 .15s linear;
-moz-transition: all .15s linear;
transition: all .15s linear; }
.reveal a:hover img {
background: rgba(255, 255, 255, 0.2);
border-color: #13DAEC;
box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); }
/*********************************************
* NAVIGATION CONTROLS
*********************************************/
.reveal .controls {
color: #13DAEC; }
/*********************************************
* PROGRESS BAR
*********************************************/
.reveal .progress {
background: rgba(0, 0, 0, 0.2);
color: #13DAEC; }
.reveal .progress span {
-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); }
/*********************************************
* PRINT BACKGROUND
*********************************************/
@media print {
.backgrounds {
background-color: #2b2b2b; } }

View File

@@ -1,15 +1,9 @@
@import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic);
/**
* Solarized Dark theme for reveal.js.
* Author: Achim Staebler
*/
@font-face {
font-family: 'League Gothic';
src: url("../../lib/font/league_gothic-webfont.eot");
src: url("../../lib/font/league_gothic-webfont.eot?#iefix") format("embedded-opentype"), url("../../lib/font/league_gothic-webfont.woff") format("woff"), url("../../lib/font/league_gothic-webfont.ttf") format("truetype"), url("../../lib/font/league_gothic-webfont.svg#LeagueGothicRegular") format("svg");
font-weight: normal;
font-style: normal; }
@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
*/
@@ -26,16 +20,25 @@ body {
.reveal {
font-family: "Lato", sans-serif;
font-size: 36px;
font-size: 40px;
font-weight: normal;
letter-spacing: -0.02em;
color: #93a1a1; }
::selection {
color: white;
color: #fff;
background: #d33682;
text-shadow: none; }
::-moz-selection {
color: #fff;
background: #d33682;
text-shadow: none; }
.reveal .slides section,
.reveal .slides section > section {
line-height: 1.3;
font-weight: inherit; }
/*********************************************
* HEADERS
*********************************************/
@@ -48,27 +51,175 @@ body {
margin: 0 0 20px 0;
color: #eee8d5;
font-family: "League Gothic", Impact, sans-serif;
line-height: 0.9em;
letter-spacing: 0.02em;
font-weight: normal;
line-height: 1.2;
letter-spacing: normal;
text-transform: uppercase;
text-shadow: none; }
text-shadow: none;
word-wrap: break-word; }
.reveal h1 {
text-shadow: 0px 0px 6px rgba(0, 0, 0, 0.2); }
font-size: 3.77em; }
.reveal h2 {
font-size: 2.11em; }
.reveal h3 {
font-size: 1.55em; }
.reveal h4 {
font-size: 1em; }
.reveal h1 {
text-shadow: none; }
/*********************************************
* OTHER
*********************************************/
.reveal p {
margin: 20px 0;
line-height: 1.3; }
/* Ensure certain elements are never larger than the slide itself */
.reveal img,
.reveal video,
.reveal iframe {
max-width: 95%;
max-height: 95%; }
.reveal strong,
.reveal b {
font-weight: bold; }
.reveal em {
font-style: italic; }
.reveal ol,
.reveal dl,
.reveal ul {
display: inline-block;
text-align: left;
margin: 0 0 0 1em; }
.reveal ol {
list-style-type: decimal; }
.reveal ul {
list-style-type: disc; }
.reveal ul ul {
list-style-type: square; }
.reveal ul ul ul {
list-style-type: circle; }
.reveal ul ul,
.reveal ul ol,
.reveal ol ol,
.reveal ol ul {
display: block;
margin-left: 40px; }
.reveal dt {
font-weight: bold; }
.reveal dd {
margin-left: 40px; }
.reveal blockquote {
display: block;
position: relative;
width: 70%;
margin: 20px auto;
padding: 5px;
font-style: italic;
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 {
display: inline-block; }
.reveal q {
font-style: italic; }
.reveal pre {
display: block;
position: relative;
width: 90%;
margin: 20px auto;
text-align: left;
font-size: 0.55em;
font-family: monospace;
line-height: 1.2em;
word-wrap: break-word;
box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.15); }
.reveal code {
font-family: monospace;
text-transform: none; }
.reveal pre code {
display: block;
padding: 5px;
overflow: auto;
max-height: 400px;
word-wrap: normal; }
.reveal table {
margin: auto;
border-collapse: collapse;
border-spacing: 0; }
.reveal table th {
font-weight: bold; }
.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 tbody tr:last-child th,
.reveal table tbody tr:last-child td {
border-bottom: none; }
.reveal sup {
vertical-align: super;
font-size: smaller; }
.reveal sub {
vertical-align: sub;
font-size: smaller; }
.reveal small {
display: inline-block;
font-size: 0.6em;
line-height: 1.2em;
vertical-align: top; }
.reveal small * {
vertical-align: top; }
/*********************************************
* LINKS
*********************************************/
.reveal a:not(.image) {
.reveal a {
color: #268bd2;
text-decoration: none;
-webkit-transition: color .15s ease;
-moz-transition: color .15s ease;
-ms-transition: color .15s ease;
-o-transition: color .15s ease;
transition: color .15s ease; }
.reveal a:not(.image):hover {
.reveal a:hover {
color: #78b9e6;
text-shadow: none;
border: none; }
@@ -84,12 +235,16 @@ body {
margin: 15px 0px;
background: rgba(255, 255, 255, 0.12);
border: 4px solid #93a1a1;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
-webkit-transition: all .2s linear;
-moz-transition: all .2s linear;
-ms-transition: all .2s linear;
-o-transition: all .2s linear;
transition: all .2s linear; }
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;
transition: all .15s linear; }
.reveal a:hover img {
background: rgba(255, 255, 255, 0.2);
@@ -99,50 +254,24 @@ body {
/*********************************************
* NAVIGATION CONTROLS
*********************************************/
.reveal .controls div.navigate-left,
.reveal .controls div.navigate-left.enabled {
border-right-color: #268bd2; }
.reveal .controls div.navigate-right,
.reveal .controls div.navigate-right.enabled {
border-left-color: #268bd2; }
.reveal .controls div.navigate-up,
.reveal .controls div.navigate-up.enabled {
border-bottom-color: #268bd2; }
.reveal .controls div.navigate-down,
.reveal .controls div.navigate-down.enabled {
border-top-color: #268bd2; }
.reveal .controls div.navigate-left.enabled:hover {
border-right-color: #78b9e6; }
.reveal .controls div.navigate-right.enabled:hover {
border-left-color: #78b9e6; }
.reveal .controls div.navigate-up.enabled:hover {
border-bottom-color: #78b9e6; }
.reveal .controls div.navigate-down.enabled:hover {
border-top-color: #78b9e6; }
.reveal .controls {
color: #268bd2; }
/*********************************************
* PROGRESS BAR
*********************************************/
.reveal .progress {
background: rgba(0, 0, 0, 0.2); }
background: rgba(0, 0, 0, 0.2);
color: #268bd2; }
.reveal .progress span {
background: #268bd2;
-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);
-ms-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
-o-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
* PRINT BACKGROUND
*********************************************/
.reveal .slide-number {
color: #268bd2; }
@media print {
.backgrounds {
background-color: #002b36; } }

View File

@@ -1,29 +1,38 @@
@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
*********************************************/
body {
background: #111111;
background-color: #111111; }
background: #111;
background-color: #111; }
.reveal {
font-family: "Open Sans", sans-serif;
font-size: 30px;
font-size: 40px;
font-weight: normal;
letter-spacing: -0.02em;
color: #eeeeee; }
color: #eee; }
::selection {
color: white;
color: #fff;
background: #e7ad52;
text-shadow: none; }
::-moz-selection {
color: #fff;
background: #e7ad52;
text-shadow: none; }
.reveal .slides section,
.reveal .slides section > section {
line-height: 1.3;
font-weight: inherit; }
/*********************************************
* HEADERS
*********************************************/
@@ -34,29 +43,177 @@ body {
.reveal h5,
.reveal h6 {
margin: 0 0 20px 0;
color: #eeeeee;
color: #eee;
font-family: "Montserrat", Impact, sans-serif;
line-height: 0.9em;
font-weight: normal;
line-height: 1.2;
letter-spacing: -0.03em;
text-transform: none;
text-shadow: none; }
text-shadow: none;
word-wrap: break-word; }
.reveal h1 {
text-shadow: 0px 0px 6px rgba(0, 0, 0, 0.2); }
font-size: 3.77em; }
.reveal h2 {
font-size: 2.11em; }
.reveal h3 {
font-size: 1.55em; }
.reveal h4 {
font-size: 1em; }
.reveal h1 {
text-shadow: none; }
/*********************************************
* OTHER
*********************************************/
.reveal p {
margin: 20px 0;
line-height: 1.3; }
/* Ensure certain elements are never larger than the slide itself */
.reveal img,
.reveal video,
.reveal iframe {
max-width: 95%;
max-height: 95%; }
.reveal strong,
.reveal b {
font-weight: bold; }
.reveal em {
font-style: italic; }
.reveal ol,
.reveal dl,
.reveal ul {
display: inline-block;
text-align: left;
margin: 0 0 0 1em; }
.reveal ol {
list-style-type: decimal; }
.reveal ul {
list-style-type: disc; }
.reveal ul ul {
list-style-type: square; }
.reveal ul ul ul {
list-style-type: circle; }
.reveal ul ul,
.reveal ul ol,
.reveal ol ol,
.reveal ol ul {
display: block;
margin-left: 40px; }
.reveal dt {
font-weight: bold; }
.reveal dd {
margin-left: 40px; }
.reveal blockquote {
display: block;
position: relative;
width: 70%;
margin: 20px auto;
padding: 5px;
font-style: italic;
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 {
display: inline-block; }
.reveal q {
font-style: italic; }
.reveal pre {
display: block;
position: relative;
width: 90%;
margin: 20px auto;
text-align: left;
font-size: 0.55em;
font-family: monospace;
line-height: 1.2em;
word-wrap: break-word;
box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.15); }
.reveal code {
font-family: monospace;
text-transform: none; }
.reveal pre code {
display: block;
padding: 5px;
overflow: auto;
max-height: 400px;
word-wrap: normal; }
.reveal table {
margin: auto;
border-collapse: collapse;
border-spacing: 0; }
.reveal table th {
font-weight: bold; }
.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 tbody tr:last-child th,
.reveal table tbody tr:last-child td {
border-bottom: none; }
.reveal sup {
vertical-align: super;
font-size: smaller; }
.reveal sub {
vertical-align: sub;
font-size: smaller; }
.reveal small {
display: inline-block;
font-size: 0.6em;
line-height: 1.2em;
vertical-align: top; }
.reveal small * {
vertical-align: top; }
/*********************************************
* LINKS
*********************************************/
.reveal a:not(.image) {
.reveal a {
color: #e7ad52;
text-decoration: none;
-webkit-transition: color .15s ease;
-moz-transition: color .15s ease;
-ms-transition: color .15s ease;
-o-transition: color .15s ease;
transition: color .15s ease; }
.reveal a:not(.image):hover {
.reveal a:hover {
color: #f3d7ac;
text-shadow: none;
border: none; }
@@ -71,13 +228,17 @@ body {
.reveal section img {
margin: 15px 0px;
background: rgba(255, 255, 255, 0.12);
border: 4px solid #eeeeee;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
-webkit-transition: all .2s linear;
-moz-transition: all .2s linear;
-ms-transition: all .2s linear;
-o-transition: all .2s linear;
transition: all .2s linear; }
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 .15s linear;
-moz-transition: all .15s linear;
transition: all .15s linear; }
.reveal a:hover img {
background: rgba(255, 255, 255, 0.2);
@@ -87,50 +248,24 @@ body {
/*********************************************
* NAVIGATION CONTROLS
*********************************************/
.reveal .controls div.navigate-left,
.reveal .controls div.navigate-left.enabled {
border-right-color: #e7ad52; }
.reveal .controls div.navigate-right,
.reveal .controls div.navigate-right.enabled {
border-left-color: #e7ad52; }
.reveal .controls div.navigate-up,
.reveal .controls div.navigate-up.enabled {
border-bottom-color: #e7ad52; }
.reveal .controls div.navigate-down,
.reveal .controls div.navigate-down.enabled {
border-top-color: #e7ad52; }
.reveal .controls div.navigate-left.enabled:hover {
border-right-color: #f3d7ac; }
.reveal .controls div.navigate-right.enabled:hover {
border-left-color: #f3d7ac; }
.reveal .controls div.navigate-up.enabled:hover {
border-bottom-color: #f3d7ac; }
.reveal .controls div.navigate-down.enabled:hover {
border-top-color: #f3d7ac; }
.reveal .controls {
color: #e7ad52; }
/*********************************************
* PROGRESS BAR
*********************************************/
.reveal .progress {
background: rgba(0, 0, 0, 0.2); }
background: rgba(0, 0, 0, 0.2);
color: #e7ad52; }
.reveal .progress span {
background: #e7ad52;
-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);
-ms-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
-o-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
* PRINT BACKGROUND
*********************************************/
.reveal .slide-number {
color: #e7ad52; }
@media print {
.backgrounds {
background-color: #111; } }

View File

@@ -4,28 +4,37 @@
*
* This theme is Copyright (C) 2012-2013 Owen Versteeg, http://owenversteeg.com - it is MIT licensed.
*/
.reveal a:not(.image) {
.reveal a {
line-height: 1.3em; }
/*********************************************
* GLOBAL STYLES
*********************************************/
body {
background: #f0f1eb;
background-color: #f0f1eb; }
background: #F0F1EB;
background-color: #F0F1EB; }
.reveal {
font-family: "Palatino Linotype", "Book Antiqua", Palatino, FreeSerif, serif;
font-size: 36px;
font-size: 40px;
font-weight: normal;
letter-spacing: -0.02em;
color: black; }
color: #000; }
::selection {
color: white;
background: #26351c;
color: #fff;
background: #26351C;
text-shadow: none; }
::-moz-selection {
color: #fff;
background: #26351C;
text-shadow: none; }
.reveal .slides section,
.reveal .slides section > section {
line-height: 1.3;
font-weight: inherit; }
/*********************************************
* HEADERS
*********************************************/
@@ -36,29 +45,177 @@ body {
.reveal h5,
.reveal h6 {
margin: 0 0 20px 0;
color: #383d3d;
color: #383D3D;
font-family: "Palatino Linotype", "Book Antiqua", Palatino, FreeSerif, serif;
line-height: 0.9em;
letter-spacing: 0.02em;
font-weight: normal;
line-height: 1.2;
letter-spacing: normal;
text-transform: none;
text-shadow: none; }
text-shadow: none;
word-wrap: break-word; }
.reveal h1 {
text-shadow: 0px 0px 6px rgba(0, 0, 0, 0.2); }
font-size: 3.77em; }
.reveal h2 {
font-size: 2.11em; }
.reveal h3 {
font-size: 1.55em; }
.reveal h4 {
font-size: 1em; }
.reveal h1 {
text-shadow: none; }
/*********************************************
* OTHER
*********************************************/
.reveal p {
margin: 20px 0;
line-height: 1.3; }
/* Ensure certain elements are never larger than the slide itself */
.reveal img,
.reveal video,
.reveal iframe {
max-width: 95%;
max-height: 95%; }
.reveal strong,
.reveal b {
font-weight: bold; }
.reveal em {
font-style: italic; }
.reveal ol,
.reveal dl,
.reveal ul {
display: inline-block;
text-align: left;
margin: 0 0 0 1em; }
.reveal ol {
list-style-type: decimal; }
.reveal ul {
list-style-type: disc; }
.reveal ul ul {
list-style-type: square; }
.reveal ul ul ul {
list-style-type: circle; }
.reveal ul ul,
.reveal ul ol,
.reveal ol ol,
.reveal ol ul {
display: block;
margin-left: 40px; }
.reveal dt {
font-weight: bold; }
.reveal dd {
margin-left: 40px; }
.reveal blockquote {
display: block;
position: relative;
width: 70%;
margin: 20px auto;
padding: 5px;
font-style: italic;
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 {
display: inline-block; }
.reveal q {
font-style: italic; }
.reveal pre {
display: block;
position: relative;
width: 90%;
margin: 20px auto;
text-align: left;
font-size: 0.55em;
font-family: monospace;
line-height: 1.2em;
word-wrap: break-word;
box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.15); }
.reveal code {
font-family: monospace;
text-transform: none; }
.reveal pre code {
display: block;
padding: 5px;
overflow: auto;
max-height: 400px;
word-wrap: normal; }
.reveal table {
margin: auto;
border-collapse: collapse;
border-spacing: 0; }
.reveal table th {
font-weight: bold; }
.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 tbody tr:last-child th,
.reveal table tbody tr:last-child td {
border-bottom: none; }
.reveal sup {
vertical-align: super;
font-size: smaller; }
.reveal sub {
vertical-align: sub;
font-size: smaller; }
.reveal small {
display: inline-block;
font-size: 0.6em;
line-height: 1.2em;
vertical-align: top; }
.reveal small * {
vertical-align: top; }
/*********************************************
* LINKS
*********************************************/
.reveal a:not(.image) {
color: #51483d;
.reveal a {
color: #51483D;
text-decoration: none;
-webkit-transition: color .15s ease;
-moz-transition: color .15s ease;
-ms-transition: color .15s ease;
-o-transition: color .15s ease;
transition: color .15s ease; }
.reveal a:not(.image):hover {
.reveal a:hover {
color: #8b7c69;
text-shadow: none;
border: none; }
@@ -73,66 +230,44 @@ body {
.reveal section img {
margin: 15px 0px;
background: rgba(255, 255, 255, 0.12);
border: 4px solid black;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
-webkit-transition: all .2s linear;
-moz-transition: all .2s linear;
-ms-transition: all .2s linear;
-o-transition: all .2s linear;
transition: all .2s linear; }
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 .15s linear;
-moz-transition: all .15s linear;
transition: all .15s linear; }
.reveal a:hover img {
background: rgba(255, 255, 255, 0.2);
border-color: #51483d;
border-color: #51483D;
box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); }
/*********************************************
* NAVIGATION CONTROLS
*********************************************/
.reveal .controls div.navigate-left,
.reveal .controls div.navigate-left.enabled {
border-right-color: #51483d; }
.reveal .controls div.navigate-right,
.reveal .controls div.navigate-right.enabled {
border-left-color: #51483d; }
.reveal .controls div.navigate-up,
.reveal .controls div.navigate-up.enabled {
border-bottom-color: #51483d; }
.reveal .controls div.navigate-down,
.reveal .controls div.navigate-down.enabled {
border-top-color: #51483d; }
.reveal .controls div.navigate-left.enabled:hover {
border-right-color: #8b7c69; }
.reveal .controls div.navigate-right.enabled:hover {
border-left-color: #8b7c69; }
.reveal .controls div.navigate-up.enabled:hover {
border-bottom-color: #8b7c69; }
.reveal .controls div.navigate-down.enabled:hover {
border-top-color: #8b7c69; }
.reveal .controls {
color: #51483D; }
/*********************************************
* PROGRESS BAR
*********************************************/
.reveal .progress {
background: rgba(0, 0, 0, 0.2); }
background: rgba(0, 0, 0, 0.2);
color: #51483D; }
.reveal .progress span {
background: #51483d;
-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);
-ms-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
-o-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
* PRINT BACKGROUND
*********************************************/
.reveal .slide-number {
color: #51483d; }
@media print {
.backgrounds {
background-color: #F0F1EB; } }

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,25 +5,39 @@
* 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);
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; }
/*********************************************
* GLOBAL STYLES
*********************************************/
body {
background: white;
background-color: white; }
background: #fff;
background-color: #fff; }
.reveal {
font-family: "Lato", sans-serif;
font-size: 36px;
font-size: 40px;
font-weight: normal;
letter-spacing: -0.02em;
color: black; }
color: #000; }
::selection {
color: white;
color: #fff;
background: rgba(0, 0, 0, 0.99);
text-shadow: none; }
::-moz-selection {
color: #fff;
background: rgba(0, 0, 0, 0.99);
text-shadow: none; }
.reveal .slides section,
.reveal .slides section > section {
line-height: 1.3;
font-weight: inherit; }
/*********************************************
* HEADERS
*********************************************/
@@ -36,29 +48,177 @@ body {
.reveal h5,
.reveal h6 {
margin: 0 0 20px 0;
color: black;
color: #000;
font-family: "News Cycle", Impact, sans-serif;
line-height: 0.9em;
letter-spacing: 0.02em;
font-weight: normal;
line-height: 1.2;
letter-spacing: normal;
text-transform: none;
text-shadow: none; }
text-shadow: none;
word-wrap: break-word; }
.reveal h1 {
text-shadow: 0px 0px 6px rgba(0, 0, 0, 0.2); }
font-size: 3.77em; }
.reveal h2 {
font-size: 2.11em; }
.reveal h3 {
font-size: 1.55em; }
.reveal h4 {
font-size: 1em; }
.reveal h1 {
text-shadow: none; }
/*********************************************
* OTHER
*********************************************/
.reveal p {
margin: 20px 0;
line-height: 1.3; }
/* Ensure certain elements are never larger than the slide itself */
.reveal img,
.reveal video,
.reveal iframe {
max-width: 95%;
max-height: 95%; }
.reveal strong,
.reveal b {
font-weight: bold; }
.reveal em {
font-style: italic; }
.reveal ol,
.reveal dl,
.reveal ul {
display: inline-block;
text-align: left;
margin: 0 0 0 1em; }
.reveal ol {
list-style-type: decimal; }
.reveal ul {
list-style-type: disc; }
.reveal ul ul {
list-style-type: square; }
.reveal ul ul ul {
list-style-type: circle; }
.reveal ul ul,
.reveal ul ol,
.reveal ol ol,
.reveal ol ul {
display: block;
margin-left: 40px; }
.reveal dt {
font-weight: bold; }
.reveal dd {
margin-left: 40px; }
.reveal blockquote {
display: block;
position: relative;
width: 70%;
margin: 20px auto;
padding: 5px;
font-style: italic;
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 {
display: inline-block; }
.reveal q {
font-style: italic; }
.reveal pre {
display: block;
position: relative;
width: 90%;
margin: 20px auto;
text-align: left;
font-size: 0.55em;
font-family: monospace;
line-height: 1.2em;
word-wrap: break-word;
box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.15); }
.reveal code {
font-family: monospace;
text-transform: none; }
.reveal pre code {
display: block;
padding: 5px;
overflow: auto;
max-height: 400px;
word-wrap: normal; }
.reveal table {
margin: auto;
border-collapse: collapse;
border-spacing: 0; }
.reveal table th {
font-weight: bold; }
.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 tbody tr:last-child th,
.reveal table tbody tr:last-child td {
border-bottom: none; }
.reveal sup {
vertical-align: super;
font-size: smaller; }
.reveal sub {
vertical-align: sub;
font-size: smaller; }
.reveal small {
display: inline-block;
font-size: 0.6em;
line-height: 1.2em;
vertical-align: top; }
.reveal small * {
vertical-align: top; }
/*********************************************
* LINKS
*********************************************/
.reveal a:not(.image) {
color: darkblue;
.reveal a {
color: #00008B;
text-decoration: none;
-webkit-transition: color .15s ease;
-moz-transition: color .15s ease;
-ms-transition: color .15s ease;
-o-transition: color .15s ease;
transition: color .15s ease; }
.reveal a:not(.image):hover {
.reveal a:hover {
color: #0000f1;
text-shadow: none;
border: none; }
@@ -73,66 +233,44 @@ body {
.reveal section img {
margin: 15px 0px;
background: rgba(255, 255, 255, 0.12);
border: 4px solid black;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
-webkit-transition: all .2s linear;
-moz-transition: all .2s linear;
-ms-transition: all .2s linear;
-o-transition: all .2s linear;
transition: all .2s linear; }
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 .15s linear;
-moz-transition: all .15s linear;
transition: all .15s linear; }
.reveal a:hover img {
background: rgba(255, 255, 255, 0.2);
border-color: darkblue;
border-color: #00008B;
box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); }
/*********************************************
* NAVIGATION CONTROLS
*********************************************/
.reveal .controls div.navigate-left,
.reveal .controls div.navigate-left.enabled {
border-right-color: darkblue; }
.reveal .controls div.navigate-right,
.reveal .controls div.navigate-right.enabled {
border-left-color: darkblue; }
.reveal .controls div.navigate-up,
.reveal .controls div.navigate-up.enabled {
border-bottom-color: darkblue; }
.reveal .controls div.navigate-down,
.reveal .controls div.navigate-down.enabled {
border-top-color: darkblue; }
.reveal .controls div.navigate-left.enabled:hover {
border-right-color: #0000f1; }
.reveal .controls div.navigate-right.enabled:hover {
border-left-color: #0000f1; }
.reveal .controls div.navigate-up.enabled:hover {
border-bottom-color: #0000f1; }
.reveal .controls div.navigate-down.enabled:hover {
border-top-color: #0000f1; }
.reveal .controls {
color: #00008B; }
/*********************************************
* PROGRESS BAR
*********************************************/
.reveal .progress {
background: rgba(0, 0, 0, 0.2); }
background: rgba(0, 0, 0, 0.2);
color: #00008B; }
.reveal .progress span {
background: darkblue;
-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);
-ms-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
-o-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
* PRINT BACKGROUND
*********************************************/
.reveal .slide-number {
color: darkblue; }
@media print {
.backgrounds {
background-color: #fff; } }

View File

@@ -1,11 +1,11 @@
@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
*/
.reveal a:not(.image) {
@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; }
/*********************************************
@@ -23,16 +23,25 @@ body {
.reveal {
font-family: "Open Sans", sans-serif;
font-size: 36px;
font-size: 40px;
font-weight: normal;
letter-spacing: -0.02em;
color: #333333; }
color: #333; }
::selection {
color: white;
color: #fff;
background: #134674;
text-shadow: none; }
::-moz-selection {
color: #fff;
background: #134674;
text-shadow: none; }
.reveal .slides section,
.reveal .slides section > section {
line-height: 1.3;
font-weight: inherit; }
/*********************************************
* HEADERS
*********************************************/
@@ -43,29 +52,177 @@ body {
.reveal h5,
.reveal h6 {
margin: 0 0 20px 0;
color: #333333;
color: #333;
font-family: "Quicksand", sans-serif;
line-height: 0.9em;
font-weight: normal;
line-height: 1.2;
letter-spacing: -0.08em;
text-transform: uppercase;
text-shadow: none; }
text-shadow: none;
word-wrap: break-word; }
.reveal h1 {
text-shadow: 0px 0px 6px rgba(0, 0, 0, 0.2); }
font-size: 3.77em; }
.reveal h2 {
font-size: 2.11em; }
.reveal h3 {
font-size: 1.55em; }
.reveal h4 {
font-size: 1em; }
.reveal h1 {
text-shadow: none; }
/*********************************************
* OTHER
*********************************************/
.reveal p {
margin: 20px 0;
line-height: 1.3; }
/* Ensure certain elements are never larger than the slide itself */
.reveal img,
.reveal video,
.reveal iframe {
max-width: 95%;
max-height: 95%; }
.reveal strong,
.reveal b {
font-weight: bold; }
.reveal em {
font-style: italic; }
.reveal ol,
.reveal dl,
.reveal ul {
display: inline-block;
text-align: left;
margin: 0 0 0 1em; }
.reveal ol {
list-style-type: decimal; }
.reveal ul {
list-style-type: disc; }
.reveal ul ul {
list-style-type: square; }
.reveal ul ul ul {
list-style-type: circle; }
.reveal ul ul,
.reveal ul ol,
.reveal ol ol,
.reveal ol ul {
display: block;
margin-left: 40px; }
.reveal dt {
font-weight: bold; }
.reveal dd {
margin-left: 40px; }
.reveal blockquote {
display: block;
position: relative;
width: 70%;
margin: 20px auto;
padding: 5px;
font-style: italic;
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 {
display: inline-block; }
.reveal q {
font-style: italic; }
.reveal pre {
display: block;
position: relative;
width: 90%;
margin: 20px auto;
text-align: left;
font-size: 0.55em;
font-family: monospace;
line-height: 1.2em;
word-wrap: break-word;
box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.15); }
.reveal code {
font-family: monospace;
text-transform: none; }
.reveal pre code {
display: block;
padding: 5px;
overflow: auto;
max-height: 400px;
word-wrap: normal; }
.reveal table {
margin: auto;
border-collapse: collapse;
border-spacing: 0; }
.reveal table th {
font-weight: bold; }
.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 tbody tr:last-child th,
.reveal table tbody tr:last-child td {
border-bottom: none; }
.reveal sup {
vertical-align: super;
font-size: smaller; }
.reveal sub {
vertical-align: sub;
font-size: smaller; }
.reveal small {
display: inline-block;
font-size: 0.6em;
line-height: 1.2em;
vertical-align: top; }
.reveal small * {
vertical-align: top; }
/*********************************************
* LINKS
*********************************************/
.reveal a:not(.image) {
.reveal a {
color: #3b759e;
text-decoration: none;
-webkit-transition: color .15s ease;
-moz-transition: color .15s ease;
-ms-transition: color .15s ease;
-o-transition: color .15s ease;
transition: color .15s ease; }
.reveal a:not(.image):hover {
.reveal a:hover {
color: #74a7cb;
text-shadow: none;
border: none; }
@@ -80,13 +237,17 @@ body {
.reveal section img {
margin: 15px 0px;
background: rgba(255, 255, 255, 0.12);
border: 4px solid #333333;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
-webkit-transition: all .2s linear;
-moz-transition: all .2s linear;
-ms-transition: all .2s linear;
-o-transition: all .2s linear;
transition: all .2s linear; }
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 .15s linear;
-moz-transition: all .15s linear;
transition: all .15s linear; }
.reveal a:hover img {
background: rgba(255, 255, 255, 0.2);
@@ -96,50 +257,24 @@ body {
/*********************************************
* NAVIGATION CONTROLS
*********************************************/
.reveal .controls div.navigate-left,
.reveal .controls div.navigate-left.enabled {
border-right-color: #3b759e; }
.reveal .controls div.navigate-right,
.reveal .controls div.navigate-right.enabled {
border-left-color: #3b759e; }
.reveal .controls div.navigate-up,
.reveal .controls div.navigate-up.enabled {
border-bottom-color: #3b759e; }
.reveal .controls div.navigate-down,
.reveal .controls div.navigate-down.enabled {
border-top-color: #3b759e; }
.reveal .controls div.navigate-left.enabled:hover {
border-right-color: #74a7cb; }
.reveal .controls div.navigate-right.enabled:hover {
border-left-color: #74a7cb; }
.reveal .controls div.navigate-up.enabled:hover {
border-bottom-color: #74a7cb; }
.reveal .controls div.navigate-down.enabled:hover {
border-top-color: #74a7cb; }
.reveal .controls {
color: #3b759e; }
/*********************************************
* PROGRESS BAR
*********************************************/
.reveal .progress {
background: rgba(0, 0, 0, 0.2); }
background: rgba(0, 0, 0, 0.2);
color: #3b759e; }
.reveal .progress span {
background: #3b759e;
-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);
-ms-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
-o-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
* PRINT BACKGROUND
*********************************************/
.reveal .slide-number {
color: #3b759e; }
@media print {
.backgrounds {
background-color: #f7fbfc; } }

View File

@@ -1,15 +1,9 @@
@import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic);
/**
* Solarized Light theme for reveal.js.
* Author: Achim Staebler
*/
@font-face {
font-family: 'League Gothic';
src: url("../../lib/font/league_gothic-webfont.eot");
src: url("../../lib/font/league_gothic-webfont.eot?#iefix") format("embedded-opentype"), url("../../lib/font/league_gothic-webfont.woff") format("woff"), url("../../lib/font/league_gothic-webfont.ttf") format("truetype"), url("../../lib/font/league_gothic-webfont.svg#LeagueGothicRegular") format("svg");
font-weight: normal;
font-style: normal; }
@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
*/
@@ -26,16 +20,25 @@ body {
.reveal {
font-family: "Lato", sans-serif;
font-size: 36px;
font-size: 40px;
font-weight: normal;
letter-spacing: -0.02em;
color: #657b83; }
::selection {
color: white;
color: #fff;
background: #d33682;
text-shadow: none; }
::-moz-selection {
color: #fff;
background: #d33682;
text-shadow: none; }
.reveal .slides section,
.reveal .slides section > section {
line-height: 1.3;
font-weight: inherit; }
/*********************************************
* HEADERS
*********************************************/
@@ -48,27 +51,175 @@ body {
margin: 0 0 20px 0;
color: #586e75;
font-family: "League Gothic", Impact, sans-serif;
line-height: 0.9em;
letter-spacing: 0.02em;
font-weight: normal;
line-height: 1.2;
letter-spacing: normal;
text-transform: uppercase;
text-shadow: none; }
text-shadow: none;
word-wrap: break-word; }
.reveal h1 {
text-shadow: 0px 0px 6px rgba(0, 0, 0, 0.2); }
font-size: 3.77em; }
.reveal h2 {
font-size: 2.11em; }
.reveal h3 {
font-size: 1.55em; }
.reveal h4 {
font-size: 1em; }
.reveal h1 {
text-shadow: none; }
/*********************************************
* OTHER
*********************************************/
.reveal p {
margin: 20px 0;
line-height: 1.3; }
/* Ensure certain elements are never larger than the slide itself */
.reveal img,
.reveal video,
.reveal iframe {
max-width: 95%;
max-height: 95%; }
.reveal strong,
.reveal b {
font-weight: bold; }
.reveal em {
font-style: italic; }
.reveal ol,
.reveal dl,
.reveal ul {
display: inline-block;
text-align: left;
margin: 0 0 0 1em; }
.reveal ol {
list-style-type: decimal; }
.reveal ul {
list-style-type: disc; }
.reveal ul ul {
list-style-type: square; }
.reveal ul ul ul {
list-style-type: circle; }
.reveal ul ul,
.reveal ul ol,
.reveal ol ol,
.reveal ol ul {
display: block;
margin-left: 40px; }
.reveal dt {
font-weight: bold; }
.reveal dd {
margin-left: 40px; }
.reveal blockquote {
display: block;
position: relative;
width: 70%;
margin: 20px auto;
padding: 5px;
font-style: italic;
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 {
display: inline-block; }
.reveal q {
font-style: italic; }
.reveal pre {
display: block;
position: relative;
width: 90%;
margin: 20px auto;
text-align: left;
font-size: 0.55em;
font-family: monospace;
line-height: 1.2em;
word-wrap: break-word;
box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.15); }
.reveal code {
font-family: monospace;
text-transform: none; }
.reveal pre code {
display: block;
padding: 5px;
overflow: auto;
max-height: 400px;
word-wrap: normal; }
.reveal table {
margin: auto;
border-collapse: collapse;
border-spacing: 0; }
.reveal table th {
font-weight: bold; }
.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 tbody tr:last-child th,
.reveal table tbody tr:last-child td {
border-bottom: none; }
.reveal sup {
vertical-align: super;
font-size: smaller; }
.reveal sub {
vertical-align: sub;
font-size: smaller; }
.reveal small {
display: inline-block;
font-size: 0.6em;
line-height: 1.2em;
vertical-align: top; }
.reveal small * {
vertical-align: top; }
/*********************************************
* LINKS
*********************************************/
.reveal a:not(.image) {
.reveal a {
color: #268bd2;
text-decoration: none;
-webkit-transition: color .15s ease;
-moz-transition: color .15s ease;
-ms-transition: color .15s ease;
-o-transition: color .15s ease;
transition: color .15s ease; }
.reveal a:not(.image):hover {
.reveal a:hover {
color: #78b9e6;
text-shadow: none;
border: none; }
@@ -84,12 +235,16 @@ body {
margin: 15px 0px;
background: rgba(255, 255, 255, 0.12);
border: 4px solid #657b83;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
-webkit-transition: all .2s linear;
-moz-transition: all .2s linear;
-ms-transition: all .2s linear;
-o-transition: all .2s linear;
transition: all .2s linear; }
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;
transition: all .15s linear; }
.reveal a:hover img {
background: rgba(255, 255, 255, 0.2);
@@ -99,50 +254,24 @@ body {
/*********************************************
* NAVIGATION CONTROLS
*********************************************/
.reveal .controls div.navigate-left,
.reveal .controls div.navigate-left.enabled {
border-right-color: #268bd2; }
.reveal .controls div.navigate-right,
.reveal .controls div.navigate-right.enabled {
border-left-color: #268bd2; }
.reveal .controls div.navigate-up,
.reveal .controls div.navigate-up.enabled {
border-bottom-color: #268bd2; }
.reveal .controls div.navigate-down,
.reveal .controls div.navigate-down.enabled {
border-top-color: #268bd2; }
.reveal .controls div.navigate-left.enabled:hover {
border-right-color: #78b9e6; }
.reveal .controls div.navigate-right.enabled:hover {
border-left-color: #78b9e6; }
.reveal .controls div.navigate-up.enabled:hover {
border-bottom-color: #78b9e6; }
.reveal .controls div.navigate-down.enabled:hover {
border-top-color: #78b9e6; }
.reveal .controls {
color: #268bd2; }
/*********************************************
* PROGRESS BAR
*********************************************/
.reveal .progress {
background: rgba(0, 0, 0, 0.2); }
background: rgba(0, 0, 0, 0.2);
color: #268bd2; }
.reveal .progress span {
background: #268bd2;
-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);
-ms-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
-o-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
* PRINT BACKGROUND
*********************************************/
.reveal .slide-number {
color: #268bd2; }
@media print {
.backgrounds {
background-color: #fdf6e3; } }

View File

@@ -13,18 +13,7 @@
// Include theme-specific fonts
@font-face {
font-family: 'League Gothic';
src: url('../../lib/font/league_gothic-webfont.eot');
src: url('../../lib/font/league_gothic-webfont.eot?#iefix') format('embedded-opentype'),
url('../../lib/font/league_gothic-webfont.woff') format('woff'),
url('../../lib/font/league_gothic-webfont.ttf') format('truetype'),
url('../../lib/font/league_gothic-webfont.svg#LeagueGothicRegular') format('svg');
font-weight: normal;
font-style: normal;
}
@import url(../../lib/font/league-gothic/league-gothic.css);
@import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic);

View File

@@ -0,0 +1,49 @@
/**
* Black theme for reveal.js. This is the opposite of the 'white' theme.
*
* By Hakim El Hattab, http://hakim.se
*/
// Default mixins and settings -----------------
@import "../template/mixins";
@import "../template/settings";
// ---------------------------------------------
// Include theme-specific fonts
@import url(../../lib/font/source-sans-pro/source-sans-pro.css);
// Override theme settings (see ../template/settings.scss)
$backgroundColor: #191919;
$mainColor: #fff;
$headingColor: #fff;
$mainFontSize: 42px;
$mainFont: 'Source Sans Pro', Helvetica, sans-serif;
$headingFont: 'Source Sans Pro', Helvetica, sans-serif;
$headingTextShadow: none;
$headingLetterSpacing: normal;
$headingTextTransform: uppercase;
$headingFontWeight: 600;
$linkColor: #42affa;
$linkColorHover: lighten( $linkColor, 15% );
$selectionBackgroundColor: lighten( $linkColor, 25% );
$heading1Size: 2.5em;
$heading2Size: 1.6em;
$heading3Size: 1.3em;
$heading4Size: 1.0em;
section.has-light-background {
&, h1, h2, h3, h4, h5, h6 {
color: #222;
}
}
// Theme template ------------------------------
@import "../template/theme";
// ---------------------------------------------

View File

@@ -24,9 +24,10 @@ $blood: #a23;
$coal: #222;
$codeBackground: #23241f;
$backgroundColor: $coal;
// Main text
$mainFont: Ubuntu, 'sans-serif';
$mainFontSize: 36px;
$mainColor: #eee;
// Headings
@@ -45,10 +46,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 +58,7 @@ $selectionColor: #fff;
text-shadow: 1px 1px $coal;
}
.reveal h1,
.reveal h1,
.reveal h2,
.reveal h3,
.reveal h4,
@@ -70,16 +67,6 @@ $selectionColor: #fff;
font-weight: 700;
}
.reveal a:not(.image),
.reveal a:not(.image):hover {
text-shadow: 2px 2px 2px #000;
}
.reveal small a:not(.image),
.reveal small a:not(.image):hover {
text-shadow: 1px 1px 1px #000;
}
.reveal p code {
background-color: $codeBackground;
display: inline-block;

View File

@@ -1,5 +1,7 @@
/**
* Default theme for reveal.js.
* League theme for reveal.js.
*
* This was the default theme pre-3.0.0.
*
* Copyright (C) 2011-2012 Hakim El Hattab, http://hakim.se
*/
@@ -13,21 +15,11 @@
// Include theme-specific fonts
@font-face {
font-family: 'League Gothic';
src: url('../../lib/font/league_gothic-webfont.eot');
src: url('../../lib/font/league_gothic-webfont.eot?#iefix') format('embedded-opentype'),
url('../../lib/font/league_gothic-webfont.woff') format('woff'),
url('../../lib/font/league_gothic-webfont.ttf') format('truetype'),
url('../../lib/font/league_gothic-webfont.svg#LeagueGothicRegular') format('svg');
font-weight: normal;
font-style: normal;
}
@import url(../../lib/font/league-gothic/league-gothic.css);
@import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic);
// Override theme settings (see ../template/settings.scss)
$headingTextShadow: 0px 0px 6px rgba(0,0,0,0.2);
$heading1TextShadow: 0 1px 0 #ccc, 0 2px 0 #c9c9c9, 0 3px 0 #bbb, 0 4px 0 #b9b9b9, 0 5px 0 #aaa, 0 6px 1px rgba(0,0,0,.1), 0 0 5px rgba(0,0,0,.1), 0 1px 3px rgba(0,0,0,.3), 0 3px 5px rgba(0,0,0,.2), 0 5px 10px rgba(0,0,0,.25), 0 20px 20px rgba(0,0,0,.15);
// Background generator

View File

@@ -12,18 +12,7 @@
// Include theme-specific fonts
@font-face {
font-family: 'League Gothic';
src: url('../../lib/font/league_gothic-webfont.eot');
src: url('../../lib/font/league_gothic-webfont.eot?#iefix') format('embedded-opentype'),
url('../../lib/font/league_gothic-webfont.woff') format('woff'),
url('../../lib/font/league_gothic-webfont.ttf') format('truetype'),
url('../../lib/font/league_gothic-webfont.svg#LeagueGothicRegular') format('svg');
font-weight: normal;
font-style: normal;
}
@import url(../../lib/font/league-gothic/league-gothic.css);
@import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic);
/**

View File

@@ -27,7 +27,6 @@ $headingTextShadow: none;
$headingLetterSpacing: -0.03em;
$headingTextTransform: none;
$selectionBackgroundColor: #e7ad52;
$mainFontSize: 30px;
// Theme template ------------------------------

View File

@@ -25,7 +25,7 @@ $linkColor: #51483D;
$linkColorHover: lighten( $linkColor, 20% );
$selectionBackgroundColor: #26351C;
.reveal a:not(.image) {
.reveal a {
line-height: 1.3em;
}

View File

@@ -31,6 +31,11 @@ $linkColor: #00008B;
$linkColorHover: lighten( $linkColor, 20% );
$selectionBackgroundColor: rgba(0, 0, 0, 0.99);
section.has-dark-background {
&, h1, h2, h3, h4, h5, h6 {
color: #fff;
}
}
// Theme template ------------------------------

View File

@@ -30,7 +30,7 @@ $linkColorHover: lighten( $linkColor, 20% );
$selectionBackgroundColor: #134674;
// Fix links so they are not cut off
.reveal a:not(.image) {
.reveal a {
line-height: 1.3em;
}

View File

@@ -12,18 +12,7 @@
// Include theme-specific fonts
@font-face {
font-family: 'League Gothic';
src: url('../../lib/font/league_gothic-webfont.eot');
src: url('../../lib/font/league_gothic-webfont.eot?#iefix') format('embedded-opentype'),
url('../../lib/font/league_gothic-webfont.woff') format('woff'),
url('../../lib/font/league_gothic-webfont.ttf') format('truetype'),
url('../../lib/font/league_gothic-webfont.svg#LeagueGothicRegular') format('svg');
font-weight: normal;
font-style: normal;
}
@import url(../../lib/font/league-gothic/league-gothic.css);
@import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic);

View File

@@ -0,0 +1,49 @@
/**
* White theme for reveal.js. This is the opposite of the 'black' theme.
*
* By Hakim El Hattab, http://hakim.se
*/
// Default mixins and settings -----------------
@import "../template/mixins";
@import "../template/settings";
// ---------------------------------------------
// Include theme-specific fonts
@import url(../../lib/font/source-sans-pro/source-sans-pro.css);
// Override theme settings (see ../template/settings.scss)
$backgroundColor: #fff;
$mainColor: #222;
$headingColor: #222;
$mainFontSize: 42px;
$mainFont: 'Source Sans Pro', Helvetica, sans-serif;
$headingFont: 'Source Sans Pro', Helvetica, sans-serif;
$headingTextShadow: none;
$headingLetterSpacing: normal;
$headingTextTransform: uppercase;
$headingFontWeight: 600;
$linkColor: #2a76dd;
$linkColorHover: lighten( $linkColor, 15% );
$selectionBackgroundColor: lighten( $linkColor, 25% );
$heading1Size: 2.5em;
$heading2Size: 1.6em;
$heading3Size: 1.3em;
$heading4Size: 1.0em;
section.has-dark-background {
&, h1, h2, h3, h4, h5, h6 {
color: #fff;
}
}
// Theme template ------------------------------
@import "../template/theme";
// ---------------------------------------------

View File

@@ -6,19 +6,30 @@ $backgroundColor: #2b2b2b;
// Primary/body text
$mainFont: 'Lato', sans-serif;
$mainFontSize: 36px;
$mainFontSize: 40px;
$mainColor: #eee;
// Vertical spacing between blocks of text
$blockMargin: 20px;
// Headings
$headingMargin: 0 0 20px 0;
$headingMargin: 0 0 $blockMargin 0;
$headingFont: 'League Gothic', Impact, sans-serif;
$headingColor: #eee;
$headingLineHeight: 0.9em;
$headingLetterSpacing: 0.02em;
$headingLineHeight: 1.2;
$headingLetterSpacing: normal;
$headingTextTransform: uppercase;
$headingTextShadow: 0px 0px 6px rgba(0,0,0,0.2);
$headingTextShadow: none;
$headingFontWeight: normal;
$heading1TextShadow: $headingTextShadow;
$heading1Size: 3.77em;
$heading2Size: 2.11em;
$heading3Size: 1.55em;
$heading4Size: 1.00em;
$codeFont: monospace;
// Links and actions
$linkColor: #13DAEC;
$linkColorHover: lighten( $linkColor, 20% );
@@ -31,4 +42,4 @@ $selectionColor: #fff;
// to return a background image or gradient
@mixin bodyBackground() {
background: $backgroundColor;
}
}

View File

@@ -13,7 +13,6 @@ body {
font-family: $mainFont;
font-size: $mainFontSize;
font-weight: normal;
letter-spacing: -0.02em;
color: $mainColor;
}
@@ -23,6 +22,18 @@ body {
text-shadow: none;
}
::-moz-selection {
color: $selectionColor;
background: $selectionBackgroundColor;
text-shadow: none;
}
.reveal .slides section,
.reveal .slides section>section {
line-height: 1.3;
font-weight: inherit;
}
/*********************************************
* HEADERS
*********************************************/
@@ -37,33 +48,207 @@ body {
color: $headingColor;
font-family: $headingFont;
font-weight: $headingFontWeight;
line-height: $headingLineHeight;
letter-spacing: $headingLetterSpacing;
text-transform: $headingTextTransform;
text-shadow: $headingTextShadow;
word-wrap: break-word;
}
.reveal h1 {font-size: $heading1Size; }
.reveal h2 {font-size: $heading2Size; }
.reveal h3 {font-size: $heading3Size; }
.reveal h4 {font-size: $heading4Size; }
.reveal h1 {
text-shadow: $heading1TextShadow;
}
/*********************************************
* OTHER
*********************************************/
.reveal p {
margin: $blockMargin 0;
line-height: 1.3;
}
/* Ensure certain elements are never larger than the slide itself */
.reveal img,
.reveal video,
.reveal iframe {
max-width: 95%;
max-height: 95%;
}
.reveal strong,
.reveal b {
font-weight: bold;
}
.reveal em {
font-style: italic;
}
.reveal ol,
.reveal dl,
.reveal ul {
display: inline-block;
text-align: left;
margin: 0 0 0 1em;
}
.reveal ol {
list-style-type: decimal;
}
.reveal ul {
list-style-type: disc;
}
.reveal ul ul {
list-style-type: square;
}
.reveal ul ul ul {
list-style-type: circle;
}
.reveal ul ul,
.reveal ul ol,
.reveal ol ol,
.reveal ol ul {
display: block;
margin-left: 40px;
}
.reveal dt {
font-weight: bold;
}
.reveal dd {
margin-left: 40px;
}
.reveal blockquote {
display: block;
position: relative;
width: 70%;
margin: $blockMargin auto;
padding: 5px;
font-style: italic;
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 {
display: inline-block;
}
.reveal q {
font-style: italic;
}
.reveal pre {
display: block;
position: relative;
width: 90%;
margin: $blockMargin auto;
text-align: left;
font-size: 0.55em;
font-family: $codeFont;
line-height: 1.2em;
word-wrap: break-word;
box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.15);
}
.reveal code {
font-family: $codeFont;
text-transform: none;
}
.reveal pre code {
display: block;
padding: 5px;
overflow: auto;
max-height: 400px;
word-wrap: normal;
}
.reveal table {
margin: auto;
border-collapse: collapse;
border-spacing: 0;
}
.reveal table th {
font-weight: bold;
}
.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 tbody tr:last-child th,
.reveal table tbody tr:last-child td {
border-bottom: none;
}
.reveal sup {
vertical-align: super;
font-size: smaller;
}
.reveal sub {
vertical-align: sub;
font-size: smaller;
}
.reveal small {
display: inline-block;
font-size: 0.6em;
line-height: 1.2em;
vertical-align: top;
}
.reveal small * {
vertical-align: top;
}
/*********************************************
* LINKS
*********************************************/
.reveal a:not(.image) {
.reveal a {
color: $linkColor;
text-decoration: none;
-webkit-transition: color .15s ease;
-moz-transition: color .15s ease;
-ms-transition: color .15s ease;
-o-transition: color .15s ease;
transition: color .15s ease;
}
.reveal a:not(.image):hover {
.reveal a:hover {
color: $linkColorHover;
text-shadow: none;
@@ -86,14 +271,19 @@ body {
border: 4px solid $mainColor;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
-webkit-transition: all .2s linear;
-moz-transition: all .2s linear;
-ms-transition: all .2s linear;
-o-transition: all .2s linear;
transition: all .2s linear;
}
.reveal section img.plain {
border: 0;
box-shadow: none;
}
.reveal a img {
-webkit-transition: all .15s linear;
-moz-transition: all .15s linear;
transition: all .15s linear;
}
.reveal a:hover img {
background: rgba(255,255,255,0.2);
border-color: $linkColor;
@@ -106,40 +296,8 @@ body {
* NAVIGATION CONTROLS
*********************************************/
.reveal .controls div.navigate-left,
.reveal .controls div.navigate-left.enabled {
border-right-color: $linkColor;
}
.reveal .controls div.navigate-right,
.reveal .controls div.navigate-right.enabled {
border-left-color: $linkColor;
}
.reveal .controls div.navigate-up,
.reveal .controls div.navigate-up.enabled {
border-bottom-color: $linkColor;
}
.reveal .controls div.navigate-down,
.reveal .controls div.navigate-down.enabled {
border-top-color: $linkColor;
}
.reveal .controls div.navigate-left.enabled:hover {
border-right-color: $linkColorHover;
}
.reveal .controls div.navigate-right.enabled:hover {
border-left-color: $linkColorHover;
}
.reveal .controls div.navigate-up.enabled:hover {
border-bottom-color: $linkColorHover;
}
.reveal .controls div.navigate-down.enabled:hover {
border-top-color: $linkColorHover;
.reveal .controls {
color: $linkColor;
}
@@ -149,22 +307,19 @@ body {
.reveal .progress {
background: rgba(0,0,0,0.2);
color: $linkColor;
}
.reveal .progress span {
background: $linkColor;
-webkit-transition: width 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
-moz-transition: width 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
-ms-transition: width 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
-o-transition: width 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
transition: width 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
transition: width 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
}
/*********************************************
* SLIDE NUMBER
* PRINT BACKGROUND
*********************************************/
.reveal .slide-number {
color: $linkColor;
@media print {
.backgrounds {
background-color: $backgroundColor;
}
}

273
css/theme/white.css Normal file
View File

@@ -0,0 +1,273 @@
/**
* White theme for reveal.js. This is the opposite of the 'black' theme.
*
* By 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; }
/*********************************************
* GLOBAL STYLES
*********************************************/
body {
background: #fff;
background-color: #fff; }
.reveal {
font-family: "Source Sans Pro", Helvetica, sans-serif;
font-size: 42px;
font-weight: normal;
color: #222; }
::selection {
color: #fff;
background: #98bdef;
text-shadow: none; }
::-moz-selection {
color: #fff;
background: #98bdef;
text-shadow: none; }
.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 {
margin: 0 0 20px 0;
color: #222;
font-family: "Source Sans Pro", Helvetica, sans-serif;
font-weight: 600;
line-height: 1.2;
letter-spacing: normal;
text-transform: uppercase;
text-shadow: none;
word-wrap: break-word; }
.reveal h1 {
font-size: 2.5em; }
.reveal h2 {
font-size: 1.6em; }
.reveal h3 {
font-size: 1.3em; }
.reveal h4 {
font-size: 1em; }
.reveal h1 {
text-shadow: none; }
/*********************************************
* OTHER
*********************************************/
.reveal p {
margin: 20px 0;
line-height: 1.3; }
/* Ensure certain elements are never larger than the slide itself */
.reveal img,
.reveal video,
.reveal iframe {
max-width: 95%;
max-height: 95%; }
.reveal strong,
.reveal b {
font-weight: bold; }
.reveal em {
font-style: italic; }
.reveal ol,
.reveal dl,
.reveal ul {
display: inline-block;
text-align: left;
margin: 0 0 0 1em; }
.reveal ol {
list-style-type: decimal; }
.reveal ul {
list-style-type: disc; }
.reveal ul ul {
list-style-type: square; }
.reveal ul ul ul {
list-style-type: circle; }
.reveal ul ul,
.reveal ul ol,
.reveal ol ol,
.reveal ol ul {
display: block;
margin-left: 40px; }
.reveal dt {
font-weight: bold; }
.reveal dd {
margin-left: 40px; }
.reveal blockquote {
display: block;
position: relative;
width: 70%;
margin: 20px auto;
padding: 5px;
font-style: italic;
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 {
display: inline-block; }
.reveal q {
font-style: italic; }
.reveal pre {
display: block;
position: relative;
width: 90%;
margin: 20px auto;
text-align: left;
font-size: 0.55em;
font-family: monospace;
line-height: 1.2em;
word-wrap: break-word;
box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.15); }
.reveal code {
font-family: monospace;
text-transform: none; }
.reveal pre code {
display: block;
padding: 5px;
overflow: auto;
max-height: 400px;
word-wrap: normal; }
.reveal table {
margin: auto;
border-collapse: collapse;
border-spacing: 0; }
.reveal table th {
font-weight: bold; }
.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 tbody tr:last-child th,
.reveal table tbody tr:last-child td {
border-bottom: none; }
.reveal sup {
vertical-align: super;
font-size: smaller; }
.reveal sub {
vertical-align: sub;
font-size: smaller; }
.reveal small {
display: inline-block;
font-size: 0.6em;
line-height: 1.2em;
vertical-align: top; }
.reveal small * {
vertical-align: top; }
/*********************************************
* LINKS
*********************************************/
.reveal a {
color: #2a76dd;
text-decoration: none;
-webkit-transition: color .15s ease;
-moz-transition: color .15s ease;
transition: color .15s ease; }
.reveal a:hover {
color: #6ca0e8;
text-shadow: none;
border: none; }
.reveal .roll span:after {
color: #fff;
background: #1a53a1; }
/*********************************************
* IMAGES
*********************************************/
.reveal section img {
margin: 15px 0px;
background: rgba(255, 255, 255, 0.12);
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 .15s linear;
-moz-transition: all .15s linear;
transition: all .15s linear; }
.reveal a:hover img {
background: rgba(255, 255, 255, 0.2);
border-color: #2a76dd;
box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); }
/*********************************************
* NAVIGATION CONTROLS
*********************************************/
.reveal .controls {
color: #2a76dd; }
/*********************************************
* PROGRESS BAR
*********************************************/
.reveal .progress {
background: rgba(0, 0, 0, 0.2);
color: #2a76dd; }
.reveal .progress span {
-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); }
/*********************************************
* PRINT BACKGROUND
*********************************************/
@media print {
.backgrounds {
background-color: #fff; } }

425
demo.html Normal file
View File

@@ -0,0 +1,425 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<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="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="css/reset.css">
<link rel="stylesheet" href="css/reveal.css">
<link rel="stylesheet" href="css/theme/black.css" id="theme">
<!-- Theme used for syntax highlighting of code -->
<link rel="stylesheet" href="lib/css/monokai.css">
<!-- Printing and PDF exports -->
<script>
var link = document.createElement( 'link' );
link.rel = 'stylesheet';
link.type = 'text/css';
link.href = window.location.search.match( /print-pdf/gi ) ? 'css/print/pdf.css' : 'css/print/paper.css';
document.getElementsByTagName( 'head' )[0].appendChild( link );
</script>
<!--[if lt IE 9]>
<script src="lib/js/html5shiv.js"></script>
<![endif]-->
</head>
<body>
<div class="reveal">
<!-- Any section element inside of this container is displayed as a slide -->
<div class="slides">
<section>
<h1>Reveal.js</h1>
<h3>The HTML Presentation Framework</h3>
<p>
<small>Created by <a href="http://hakim.se">Hakim El Hattab</a> and <a href="https://github.com/hakimel/reveal.js/graphs/contributors">contributors</a></small>
</p>
</section>
<section>
<h2>Hello There</h2>
<p>
reveal.js enables you to create beautiful interactive slide decks using HTML. This presentation will show you examples of what it can do.
</p>
</section>
<!-- Example of nested vertical slides -->
<section>
<section>
<h2>Vertical Slides</h2>
<p>Slides can be nested inside of each other.</p>
<p>Use the <em>Space</em> key to navigate through all slides.</p>
<br>
<a href="#" class="navigate-down">
<img width="178" height="238" data-src="https://s3.amazonaws.com/hakim-static/reveal-js/arrow.png" alt="Down arrow">
</a>
</section>
<section>
<h2>Basement Level 1</h2>
<p>Nested slides are useful for adding additional detail underneath a high level horizontal slide.</p>
</section>
<section>
<h2>Basement Level 2</h2>
<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="transform: rotate(180deg); -webkit-transform: rotate(180deg);">
</a>
</section>
</section>
<section>
<h2>Slides</h2>
<p>
Not a coder? Not a problem. There's a fully-featured visual editor for authoring these, try it out at <a href="https://slides.com" target="_blank">https://slides.com</a>.
</p>
</section>
<section>
<h2>Point of View</h2>
<p>
Press <strong>ESC</strong> to enter the slide overview.
</p>
<p>
Hold down the <strong>alt</strong> key (<strong>ctrl</strong> in Linux) and click on any element to zoom towards it using <a href="http://lab.hakim.se/zoom-js">zoom.js</a>. Click again to zoom back out.
</p>
<p>
(NOTE: Use ctrl + click in Linux.)
</p>
</section>
<section>
<h2>Touch Optimized</h2>
<p>
Presentations look great on touch devices, like mobile phones and tablets. Simply swipe through your slides.
</p>
</section>
<section data-markdown>
<script type="text/template">
## Markdown support
Write content using inline or external Markdown.
Instructions and more info available in the [readme](https://github.com/hakimel/reveal.js#markdown).
```
<section data-markdown>
## Markdown support
Write content using inline or external Markdown.
Instructions and more info available in the [readme](https://github.com/hakimel/reveal.js#markdown).
</section>
```
</script>
</section>
<section>
<section id="fragments">
<h2>Fragments</h2>
<p>Hit the next arrow...</p>
<p class="fragment">... to step through ...</p>
<p><span class="fragment">... a</span> <span class="fragment">fragmented</span> <span class="fragment">slide.</span></p>
<aside class="notes">
This slide has fragments which are also stepped through in the notes window.
</aside>
</section>
<section>
<h2>Fragment Styles</h2>
<p>There's different types of fragments, like:</p>
<p class="fragment grow">grow</p>
<p class="fragment shrink">shrink</p>
<p class="fragment fade-out">fade-out</p>
<p>
<span style="display: inline-block;" class="fragment fade-right">fade-right, </span>
<span style="display: inline-block;" class="fragment fade-up">up, </span>
<span style="display: inline-block;" class="fragment fade-down">down, </span>
<span style="display: inline-block;" class="fragment fade-left">left</span>
</p>
<p class="fragment fade-in-then-out">fade-in-then-out</p>
<p class="fragment fade-in-then-semi-out">fade-in-then-semi-out</p>
<p>Highlight <span class="fragment highlight-red">red</span> <span class="fragment highlight-blue">blue</span> <span class="fragment highlight-green">green</span></p>
</section>
</section>
<section id="transitions">
<h2>Transition Styles</h2>
<p>
You can select from different transitions, like: <br>
<a href="?transition=none#/transitions">None</a> -
<a href="?transition=fade#/transitions">Fade</a> -
<a href="?transition=slide#/transitions">Slide</a> -
<a href="?transition=convex#/transitions">Convex</a> -
<a href="?transition=concave#/transitions">Concave</a> -
<a href="?transition=zoom#/transitions">Zoom</a>
</p>
</section>
<section id="themes">
<h2>Themes</h2>
<p>
reveal.js comes with a few themes built in: <br>
<!-- Hacks to swap themes after the page has loaded. Not flexible and only intended for the reveal.js demo deck. -->
<a href="#" onclick="document.getElementById('theme').setAttribute('href','css/theme/black.css'); return false;">Black (default)</a> -
<a href="#" onclick="document.getElementById('theme').setAttribute('href','css/theme/white.css'); return false;">White</a> -
<a href="#" onclick="document.getElementById('theme').setAttribute('href','css/theme/league.css'); return false;">League</a> -
<a href="#" onclick="document.getElementById('theme').setAttribute('href','css/theme/sky.css'); return false;">Sky</a> -
<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>
</p>
</section>
<section>
<section data-background="#dddddd">
<h2>Slide Backgrounds</h2>
<p>
Set <code>data-background="#dddddd"</code> on a slide to change the background color. All CSS color formats are supported.
</p>
<a href="#" class="navigate-down">
<img width="178" height="238" data-src="https://s3.amazonaws.com/hakim-static/reveal-js/arrow.png" alt="Down arrow">
</a>
</section>
<section data-background="https://s3.amazonaws.com/hakim-static/reveal-js/image-placeholder.png">
<h2>Image Backgrounds</h2>
<pre><code class="hljs html">&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 class="hljs html" 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 class="hljs html" 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">
<h2>Background Transitions</h2>
<p>
Different background transitions are available via the backgroundTransition option. This one's called "zoom".
</p>
<pre><code class="hljs javascript">Reveal.configure({ backgroundTransition: 'zoom' })</code></pre>
</section>
<section data-transition="slide" data-background="#b5533c" data-background-transition="zoom">
<h2>Background Transitions</h2>
<p>
You can override background transitions per-slide.
</p>
<pre><code class="hljs html" style="word-wrap: break-word;">&lt;section data-background-transition="zoom"&gt;</code></pre>
</section>
<section data-background-iframe="https://hakim.se" data-background-interactive>
<div style="position: absolute; width: 40%; right: 0; box-shadow: 0 1px 4px rgba(0,0,0,0.5), 0 5px 25px rgba(0,0,0,0.2); background-color: rgba(0, 0, 0, 0.9); color: #fff; padding: 20px; font-size: 20px; text-align: left;">
<h2>Iframe Backgrounds</h2>
<p>Since reveal.js runs on the web, you can easily embed other web content. Try interacting with the page in the background.</p>
</div>
</section>
<section>
<h2>Pretty Code</h2>
<pre><code class="hljs" data-trim data-line-numbers="4|9|4,8-11">
import React, { useState } from 'react';
function Example() {
const [count, setCount] = useState(0);
return (
&lt;div&gt;
&lt;p&gt;You clicked {count} times&lt;/p&gt;
&lt;button onClick={() =&gt; setCount(count + 1)}&gt;
Click me
&lt;/button&gt;
&lt;/div&gt;
);
}
</code></pre>
<p>Code syntax highlighting courtesy of <a href="http://softwaremaniacs.org/soft/highlight/en/description/">highlight.js</a>.</p>
</section>
<section>
<h2>Marvelous List</h2>
<ul>
<li>No order here</li>
<li>Or here</li>
<li>Or here</li>
<li>Or here</li>
</ul>
</section>
<section>
<h2>Fantastic Ordered List</h2>
<ol>
<li>One is smaller than...</li>
<li>Two is smaller than...</li>
<li>Three!</li>
</ol>
</section>
<section>
<h2>Tabular Tables</h2>
<table>
<thead>
<tr>
<th>Item</th>
<th>Value</th>
<th>Quantity</th>
</tr>
</thead>
<tbody>
<tr>
<td>Apples</td>
<td>$1</td>
<td>7</td>
</tr>
<tr>
<td>Lemonade</td>
<td>$2</td>
<td>18</td>
</tr>
<tr>
<td>Bread</td>
<td>$3</td>
<td>2</td>
</tr>
</tbody>
</table>
</section>
<section>
<h2>Clever Quotes</h2>
<p>
These guys come in two forms, inline: <q cite="http://searchservervirtualization.techtarget.com/definition/Our-Favorite-Technology-Quotations">The nice thing about standards is that there are so many to choose from</q> and block:
</p>
<blockquote cite="http://searchservervirtualization.techtarget.com/definition/Our-Favorite-Technology-Quotations">
&ldquo;For years there has been a theory that millions of monkeys typing at random on millions of typewriters would
reproduce the entire works of Shakespeare. The Internet has proven this theory to be untrue.&rdquo;
</blockquote>
</section>
<section>
<h2>Intergalactic Interconnections</h2>
<p>
You can link between slides internally,
<a href="#/2/3">like this</a>.
</p>
</section>
<section>
<h2>Speaker View</h2>
<p>There's a <a href="https://github.com/hakimel/reveal.js#speaker-notes">speaker view</a>. It includes a timer, preview of the upcoming slide as well as your speaker notes.</p>
<p>Press the <em>S</em> key to try it out.</p>
<aside class="notes">
Oh hey, these are some notes. They'll be hidden in your presentation, but you can see them if you open the speaker notes window (hit 's' on your keyboard).
</aside>
</section>
<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 data-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>
<h2>Global State</h2>
<p>
Set <code>data-state="something"</code> on a slide and <code>"something"</code>
will be added as a class to the document element when the slide is open. This lets you
apply broader style changes, like switching the page background.
</p>
</section>
<section data-state="customevent">
<h2>State Events</h2>
<p>
Additionally custom events can be triggered on a per slide basis by binding to the <code>data-state</code> name.
</p>
<pre><code class="javascript" data-trim contenteditable style="font-size: 18px;">
Reveal.addEventListener( 'customevent', function() {
console.log( '"customevent" has fired' );
} );
</code></pre>
</section>
<section>
<h2>Take a Moment</h2>
<p>
Press B or . on your keyboard to pause the presentation. This is helpful when you're on stage and want to take distracting slides off the screen.
</p>
</section>
<section>
<h2>Much more</h2>
<ul>
<li>Right-to-left support</li>
<li><a href="https://github.com/hakimel/reveal.js#api">Extensive JavaScript API</a></li>
<li><a href="https://github.com/hakimel/reveal.js#auto-sliding">Auto-progression</a></li>
<li><a href="https://github.com/hakimel/reveal.js#parallax-background">Parallax backgrounds</a></li>
<li><a href="https://github.com/hakimel/reveal.js#keyboard-bindings">Custom keyboard bindings</a></li>
</ul>
</section>
<section style="text-align: left;">
<h1>THE END</h1>
<p>
- <a href="https://slides.com">Try the online editor</a> <br>
- <a href="https://github.com/hakimel/reveal.js">Source code &amp; documentation</a>
</p>
</section>
</div>
</div>
<script src="js/reveal.js"></script>
<script>
// More info https://github.com/hakimel/reveal.js#configuration
Reveal.initialize({
controls: true,
progress: true,
center: true,
hash: true,
transition: 'slide', // none/fade/slide/convex/concave/zoom
// More info https://github.com/hakimel/reveal.js#dependencies
dependencies: [
{ 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' },
{ src: 'plugin/search/search.js', async: true },
{ src: 'plugin/zoom-js/zoom.js', async: true },
{ src: 'plugin/notes/notes.js', async: true }
]
});
</script>
</body>
</html>

189
gruntfile.js Normal file
View File

@@ -0,0 +1,189 @@
const sass = require('node-sass');
module.exports = grunt => {
require('load-grunt-tasks')(grunt);
let port = grunt.option('port') || 8000;
let root = grunt.option('root') || '.';
if (!Array.isArray(root)) root = [root];
// Project configuration
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
meta: {
banner:
'/*!\n' +
' * reveal.js <%= pkg.version %> (<%= grunt.template.today("yyyy-mm-dd, HH:MM") %>)\n' +
' * http://revealjs.com\n' +
' * MIT licensed\n' +
' *\n' +
' * Copyright (C) 2020 Hakim El Hattab, http://hakim.se\n' +
' */'
},
qunit: {
files: [ 'test/*.html' ]
},
uglify: {
options: {
banner: '<%= meta.banner %>\n',
ie8: true
},
build: {
src: 'js/reveal.js',
dest: 'js/reveal.min.js'
}
},
sass: {
options: {
implementation: sass,
sourceMap: false
},
core: {
src: 'css/reveal.scss',
dest: 'css/reveal.css'
},
themes: {
expand: true,
cwd: 'css/theme/source',
src: ['*.sass', '*.scss'],
dest: 'css/theme',
ext: '.css'
}
},
autoprefixer: {
core: {
src: 'css/reveal.css'
}
},
cssmin: {
options: {
compatibility: 'ie9'
},
compress: {
src: 'css/reveal.css',
dest: 'css/reveal.min.css'
}
},
jshint: {
options: {
curly: false,
eqeqeq: true,
immed: true,
esnext: true,
latedef: 'nofunc',
newcap: true,
noarg: true,
sub: true,
undef: true,
eqnull: true,
browser: true,
expr: true,
loopfunc: true,
globals: {
head: false,
module: false,
console: false,
unescape: false,
define: false,
exports: false,
require: false
}
},
files: [ 'gruntfile.js', 'js/reveal.js' ]
},
connect: {
server: {
options: {
port: port,
base: root,
livereload: true,
open: true,
useAvailablePort: true
}
}
},
zip: {
bundle: {
src: [
'index.html',
'css/**',
'js/**',
'lib/**',
'images/**',
'plugin/**',
'**.md'
],
dest: 'reveal-js-presentation.zip'
}
},
watch: {
js: {
files: [ 'gruntfile.js', 'js/reveal.js' ],
tasks: 'js'
},
theme: {
files: [
'css/theme/source/*.sass',
'css/theme/source/*.scss',
'css/theme/template/*.sass',
'css/theme/template/*.scss'
],
tasks: 'css-themes'
},
css: {
files: [ 'css/reveal.scss' ],
tasks: 'css-core'
},
test: {
files: [ 'test/*.html' ],
tasks: 'test'
},
html: {
files: root.map(path => path + '/*.html')
},
markdown: {
files: root.map(path => path + '/*.md')
},
options: {
livereload: true
}
}
});
// Default task
grunt.registerTask( 'default', [ 'css', 'js' ] );
// JS task
grunt.registerTask( 'js', [ 'jshint', 'uglify', 'qunit' ] );
// Theme CSS
grunt.registerTask( 'css-themes', [ 'sass:themes' ] );
// Core framework CSS
grunt.registerTask( 'css-core', [ 'sass:core', 'autoprefixer', 'cssmin' ] );
// All CSS
grunt.registerTask( 'css', [ 'sass', 'autoprefixer', 'cssmin' ] );
// Package presentation to archive
grunt.registerTask( 'package', [ 'default', 'zip' ] );
// Serve presentation locally
grunt.registerTask( 'serve', [ 'connect', 'watch' ] );
// Run tests
grunt.registerTask( 'test', [ 'jshint', 'qunit' ] );
};

View File

@@ -1,389 +1,50 @@
<!doctype html>
<html lang="en">
<html>
<head>
<meta charset="utf-8">
<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="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<link rel="stylesheet" href="css/reveal.min.css">
<link rel="stylesheet" href="css/theme/default.css" id="theme">
<title>reveal.js</title>
<!-- For syntax highlighting -->
<link rel="stylesheet" href="lib/css/zenburn.css">
<link rel="stylesheet" href="css/reset.css">
<link rel="stylesheet" href="css/reveal.css">
<link rel="stylesheet" href="css/theme/black.css">
<!-- If the query includes 'print-pdf', use the PDF print sheet -->
<!-- Theme used for syntax highlighting of code -->
<link rel="stylesheet" href="lib/css/monokai.css">
<!-- Printing and PDF exports -->
<script>
document.write( '<link rel="stylesheet" href="css/print/' + ( window.location.search.match( /print-pdf/gi ) ? 'pdf' : 'paper' ) + '.css" type="text/css" media="print">' );
var link = document.createElement( 'link' );
link.rel = 'stylesheet';
link.type = 'text/css';
link.href = window.location.search.match( /print-pdf/gi ) ? 'css/print/pdf.css' : 'css/print/paper.css';
document.getElementsByTagName( 'head' )[0].appendChild( link );
</script>
<!--[if lt IE 9]>
<script src="lib/js/html5shiv.js"></script>
<![endif]-->
</head>
<body>
<div class="reveal">
<!-- Any section element inside of this container is displayed as a slide -->
<div class="slides">
<section>
<h1>Reveal.js</h1>
<h3>HTML Presentations Made Easy</h3>
<p>
<small>Created by <a href="http://hakim.se">Hakim El Hattab</a> / <a href="http://twitter.com/hakimel">@hakimel</a></small>
</p>
</section>
<section>
<h2>Heads Up</h2>
<p>
reveal.js is a framework for easily creating beautiful presentations using HTML. You'll need a browser with
support for CSS 3D transforms to see it in its full glory.
</p>
<aside class="notes">
Oh hey, these are some notes. They'll be hidden in your presentation, but you can see them if you open the speaker notes window (hit 's' on your keyboard).
</aside>
</section>
<!-- Example of nested vertical slides -->
<section>
<section>
<h2>Vertical Slides</h2>
<p>
Slides can be nested inside of other slides,
try pressing <a href="#" class="navigate-down">down</a>.
</p>
<a href="#" class="image navigate-down">
<img width="178" height="238" src="https://s3.amazonaws.com/hakim-static/reveal-js/arrow.png" alt="Down arrow">
</a>
</section>
<section>
<h2>Basement Level 1</h2>
<p>Press down or up to navigate.</p>
</section>
<section>
<h2>Basement Level 2</h2>
<p>Cornify</p>
<a class="test" href="http://cornify.com">
<img width="280" height="326" src="https://s3.amazonaws.com/hakim-static/reveal-js/cornify.gif" alt="Unicorn">
</a>
</section>
<section>
<h2>Basement Level 3</h2>
<p>That's it, time to go back up.</p>
<a href="#/2" class="image">
<img width="178" height="238" src="https://s3.amazonaws.com/hakim-static/reveal-js/arrow.png" alt="Up arrow" style="-webkit-transform: rotate(180deg);">
</a>
</section>
</section>
<section>
<h2>Slides</h2>
<p>
Not a coder? No problem. There's a fully-featured visual editor for authoring these, try it out at <a href="http://slid.es" target="_blank">http://slid.es</a>.
</p>
</section>
<section>
<h2>Point of View</h2>
<p>
Press <strong>ESC</strong> to enter the slide overview.
</p>
<p>
Hold down alt and click on any element to zoom in on it using <a href="http://lab.hakim.se/zoom-js">zoom.js</a>. Alt + click anywhere to zoom back out.
</p>
</section>
<section>
<h2>Works in Mobile Safari</h2>
<p>
Try it out! You can swipe through the slides and pinch your way to the overview.
</p>
</section>
<section>
<h2>Marvelous Unordered List</h2>
<ul>
<li>No order here</li>
<li>Or here</li>
<li>Or here</li>
<li>Or here</li>
</ul>
</section>
<section>
<h2>Fantastic Ordered List</h2>
<ol>
<li>One is smaller than...</li>
<li>Two is smaller than...</li>
<li>Three!</li>
</ol>
</section>
<section data-markdown>
<script type="text/template">
## Markdown support
For those of you who like that sort of thing. Instructions and a bit more info available [here](https://github.com/hakimel/reveal.js#markdown).
```
<section data-markdown>
## Markdown support
For those of you who like that sort of thing.
Instructions and a bit more info available [here](https://github.com/hakimel/reveal.js#markdown).
</section>
```
</script>
</section>
<section id="transitions">
<h2>Transition Styles</h2>
<p>
You can select from different transitions, like: <br>
<a href="?transition=cube#/transitions">Cube</a> -
<a href="?transition=page#/transitions">Page</a> -
<a href="?transition=concave#/transitions">Concave</a> -
<a href="?transition=zoom#/transitions">Zoom</a> -
<a href="?transition=linear#/transitions">Linear</a> -
<a href="?transition=fade#/transitions">Fade</a> -
<a href="?transition=none#/transitions">None</a> -
<a href="?#/transitions">Default</a>
</p>
</section>
<section id="themes">
<h2>Themes</h2>
<p>
Reveal.js comes with a few themes built in: <br>
<a href="?#/themes">Default</a> -
<a href="?theme=sky#/themes">Sky</a> -
<a href="?theme=beige#/themes">Beige</a> -
<a href="?theme=simple#/themes">Simple</a> -
<a href="?theme=serif#/themes">Serif</a> -
<a href="?theme=night#/themes">Night</a> <br>
<a href="?theme=moon.css#/themes">Moon</a> -
<a href="?theme=simple.css#/themes">Simple</a> -
<a href="?theme=solarized.css#/themes">Solarized</a>
</p>
<p>
<small>
* Theme demos are loaded after the presentation which leads to flicker. In production you should load your theme in the <code>&lt;head&gt;</code> using a <code>&lt;link&gt;</code>.
</small>
</p>
</section>
<section>
<h2>Global State</h2>
<p>
Set <code>data-state="something"</code> on a slide and <code>"something"</code>
will be added as a class to the document element when the slide is open. This lets you
apply broader style changes, like switching the background.
</p>
</section>
<section data-state="customevent">
<h2>Custom Events</h2>
<p>
Additionally custom events can be triggered on a per slide basis by binding to the <code>data-state</code> name.
</p>
<pre><code data-trim contenteditable style="font-size: 18px; margin-top: 20px;">
Reveal.addEventListener( 'customevent', function() {
console.log( '"customevent" has fired' );
} );
</code></pre>
</section>
<section>
<section data-background="#007777">
<h2>Slide Backgrounds</h2>
<p>
Set <code>data-background="#007777"</code> on a slide to change the full page background to the given color. All CSS color formats are supported.
</p>
<a href="#" class="image navigate-down">
<img width="178" height="238" src="https://s3.amazonaws.com/hakim-static/reveal-js/arrow.png" alt="Down arrow">
</a>
</section>
<section data-background="https://s3.amazonaws.com/hakim-static/reveal-js/arrow.png">
<h2>Image Backgrounds</h2>
<pre><code>&lt;section data-background="image.png"&gt;</code></pre>
</section>
<section data-background="https://s3.amazonaws.com/hakim-static/reveal-js/arrow.png" data-background-repeat="repeat" data-background-size="100px">
<h2>Repeated Image 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>
</section>
</section>
<section data-transition="linear" data-background="#4d7e65" data-background-transition="slide">
<h2>Background Transitions</h2>
<p>
Pass reveal.js the <code>backgroundTransition: 'slide'</code> config argument to make backgrounds slide rather than fade.
</p>
</section>
<section data-transition="linear" data-background="#8c4738" data-background-transition="slide">
<h2>Background Transition Override</h2>
<p>
You can override background transitions per slide by using <code>data-background-transition="slide"</code>.
</p>
</section>
<section>
<h2>Clever Quotes</h2>
<p>
These guys come in two forms, inline: <q cite="http://searchservervirtualization.techtarget.com/definition/Our-Favorite-Technology-Quotations">
&ldquo;The nice thing about standards is that there are so many to choose from&rdquo;</q> and block:
</p>
<blockquote cite="http://searchservervirtualization.techtarget.com/definition/Our-Favorite-Technology-Quotations">
&ldquo;For years there has been a theory that millions of monkeys typing at random on millions of typewriters would
reproduce the entire works of Shakespeare. The Internet has proven this theory to be untrue.&rdquo;
</blockquote>
</section>
<section>
<h2>Pretty Code</h2>
<pre><code data-trim contenteditable>
function linkify( selector ) {
if( supports3DTransforms ) {
var nodes = document.querySelectorAll( selector );
for( var i = 0, len = nodes.length; i &lt; len; i++ ) {
var node = nodes[i];
if( !node.className ) {
node.className += ' roll';
}
}
}
}
</code></pre>
<p>Courtesy of <a href="http://softwaremaniacs.org/soft/highlight/en/description/">highlight.js</a>.</p>
</section>
<section>
<h2>Intergalactic Interconnections</h2>
<p>
You can link between slides internally,
<a href="#/2/3">like this</a>.
</p>
</section>
<section>
<section id="fragments">
<h2>Fragmented Views</h2>
<p>Hit the next arrow...</p>
<p class="fragment">... to step through ...</p>
<ol>
<li class="fragment"><code>any type</code></li>
<li class="fragment"><em>of view</em></li>
<li class="fragment"><strong>fragments</strong></li>
</ol>
<aside class="notes">
This slide has fragments which are also stepped through in the notes window.
</aside>
</section>
<section>
<h2>Fragment Styles</h2>
<p>There's a few styles 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 highlight-red">highlight-red</p>
<p class="fragment highlight-green">highlight-green</p>
<p class="fragment highlight-blue">highlight-blue</p>
<p class="fragment current-visible">current-visible</p>
<p class="fragment highlight-current-blue">highlight-current-blue</p>
</section>
</section>
<section>
<h2>Spectacular image!</h2>
<a class="image" href="http://lab.hakim.se/meny/" target="_blank">
<img width="320" height="299" src="http://s3.amazonaws.com/hakim-static/portfolio/images/meny.png" alt="Meny">
</a>
</section>
<section>
<h2>Export to PDF</h2>
<p>Presentations can be <a href="https://github.com/hakimel/reveal.js#pdf-export">exported to PDF</a>, below is an example that's been uploaded to SlideShare.</p>
<iframe id="slideshare" src="http://www.slideshare.net/slideshow/embed_code/13872948" width="455" height="356" style="margin:0;overflow:hidden;border:1px solid #CCC;border-width:1px 1px 0;margin-bottom:5px" allowfullscreen> </iframe>
<script>
document.getElementById('slideshare').attributeName = 'allowfullscreen';
</script>
</section>
<section>
<h2>Take a Moment</h2>
<p>
Press b or period on your keyboard to enter the 'paused' mode. This mode is helpful when you want to take distracting slides off the screen
during a presentation.
</p>
</section>
<section>
<h2>Stellar Links</h2>
<ul>
<li><a href="http://slid.es">Try the online editor</a></li>
<li><a href="https://github.com/hakimel/reveal.js">Source code on GitHub</a></li>
<li><a href="http://twitter.com/hakimel">Follow me on Twitter</a></li>
</ul>
</section>
<section>
<h1>THE END</h1>
<h3>BY Hakim El Hattab / hakim.se</h3>
</section>
<section>Slide 1</section>
<section>Slide 2</section>
</div>
</div>
<script src="lib/js/head.min.js"></script>
<script src="js/reveal.min.js"></script>
<script src="js/reveal.js"></script>
<script>
// Full list of configuration options available here:
// https://github.com/hakimel/reveal.js#configuration
// More info about config & dependencies:
// - https://github.com/hakimel/reveal.js#configuration
// - https://github.com/hakimel/reveal.js#dependencies
Reveal.initialize({
controls: true,
progress: true,
history: true,
center: true,
theme: Reveal.getQueryHash().theme, // available themes are in /css/theme
transition: Reveal.getQueryHash().transition || 'default', // default/cube/page/concave/zoom/linear/fade/none
// Parallax scrolling
// parallaxBackgroundImage: 'https://s3.amazonaws.com/hakim-static/reveal-js/reveal-parallax-1.jpg',
// parallaxBackgroundSize: '2100px 900px',
// Optional libraries used to extend on reveal.js
hash: true,
dependencies: [
{ 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, callback: function() { hljs.initHighlightingOnLoad(); } },
{ src: 'plugin/zoom-js/zoom.js', async: true, condition: function() { return !!document.body.classList; } },
{ src: 'plugin/notes/notes.js', async: true, condition: function() { return !!document.body.classList; } }
{ src: 'plugin/markdown/marked.js' },
{ src: 'plugin/markdown/markdown.js' },
{ src: 'plugin/highlight/highlight.js' },
{ src: 'plugin/notes/notes.js', async: true }
]
});
</script>
</body>
</html>

File diff suppressed because it is too large Load Diff

9
js/reveal.min.js vendored

File diff suppressed because one or more lines are too long

71
lib/css/monokai.css Normal file
View File

@@ -0,0 +1,71 @@
/*
Monokai style - ported by Luigi Maselli - http://grigio.org
*/
.hljs {
display: block;
overflow-x: auto;
padding: 0.5em;
background: #272822;
color: #ddd;
}
.hljs-tag,
.hljs-keyword,
.hljs-selector-tag,
.hljs-literal,
.hljs-strong,
.hljs-name {
color: #f92672;
}
.hljs-code {
color: #66d9ef;
}
.hljs-class .hljs-title {
color: white;
}
.hljs-attribute,
.hljs-symbol,
.hljs-regexp,
.hljs-link {
color: #bf79db;
}
.hljs-string,
.hljs-bullet,
.hljs-subst,
.hljs-title,
.hljs-section,
.hljs-emphasis,
.hljs-type,
.hljs-built_in,
.hljs-builtin-name,
.hljs-selector-attr,
.hljs-selector-pseudo,
.hljs-addition,
.hljs-variable,
.hljs-template-tag,
.hljs-template-variable {
color: #a6e22e;
}
.hljs-comment,
.hljs-quote,
.hljs-deletion,
.hljs-meta {
color: #75715e;
}
.hljs-keyword,
.hljs-selector-tag,
.hljs-literal,
.hljs-doctag,
.hljs-title,
.hljs-section,
.hljs-type,
.hljs-selector-id {
font-weight: bold;
}

View File

@@ -5,110 +5,76 @@ based on dark.css by Ivan Sagalaev
*/
pre code {
display: block; padding: 0.5em;
background: #3F3F3F;
color: #DCDCDC;
.hljs {
display: block;
overflow-x: auto;
padding: 0.5em;
background: #3f3f3f;
color: #dcdcdc;
}
pre .keyword,
pre .tag,
pre .css .class,
pre .css .id,
pre .lisp .title,
pre .nginx .title,
pre .request,
pre .status,
pre .clojure .attribute {
color: #E3CEAB;
.hljs-keyword,
.hljs-selector-tag,
.hljs-tag {
color: #e3ceab;
}
pre .django .template_tag,
pre .django .variable,
pre .django .filter .argument {
color: #DCDCDC;
.hljs-template-tag {
color: #dcdcdc;
}
pre .number,
pre .date {
color: #8CD0D3;
.hljs-number {
color: #8cd0d3;
}
pre .dos .envvar,
pre .dos .stream,
pre .variable,
pre .apache .sqbracket {
color: #EFDCBC;
.hljs-variable,
.hljs-template-variable,
.hljs-attribute {
color: #efdcbc;
}
pre .dos .flow,
pre .diff .change,
pre .python .exception,
pre .python .built_in,
pre .literal,
pre .tex .special {
color: #EFEFAF;
.hljs-literal {
color: #efefaf;
}
pre .diff .chunk,
pre .subst {
color: #8F8F8F;
.hljs-subst {
color: #8f8f8f;
}
pre .dos .keyword,
pre .python .decorator,
pre .title,
pre .haskell .type,
pre .diff .header,
pre .ruby .class .parent,
pre .apache .tag,
pre .nginx .built_in,
pre .tex .command,
pre .prompt {
color: #efef8f;
.hljs-title,
.hljs-name,
.hljs-selector-id,
.hljs-selector-class,
.hljs-section,
.hljs-type {
color: #efef8f;
}
pre .dos .winutils,
pre .ruby .symbol,
pre .ruby .symbol .string,
pre .ruby .string {
color: #DCA3A3;
.hljs-symbol,
.hljs-bullet,
.hljs-link {
color: #dca3a3;
}
pre .diff .deletion,
pre .string,
pre .tag .value,
pre .preprocessor,
pre .built_in,
pre .sql .aggregate,
pre .javadoc,
pre .smalltalk .class,
pre .smalltalk .localvars,
pre .smalltalk .array,
pre .css .rules .value,
pre .attr_selector,
pre .pseudo,
pre .apache .cbracket,
pre .tex .formula {
color: #CC9393;
.hljs-deletion,
.hljs-string,
.hljs-built_in,
.hljs-builtin-name {
color: #cc9393;
}
pre .shebang,
pre .diff .addition,
pre .comment,
pre .java .annotation,
pre .template_comment,
pre .pi,
pre .doctype {
color: #7F9F7F;
.hljs-addition,
.hljs-comment,
.hljs-quote,
.hljs-meta {
color: #7f9f7f;
}
pre .coffeescript .javascript,
pre .javascript .xml,
pre .tex .formula,
pre .xml .javascript,
pre .xml .vbscript,
pre .xml .css,
pre .xml .cdata {
opacity: 0.5;
}
.hljs-emphasis {
font-style: italic;
}
.hljs-strong {
font-weight: bold;
}

View File

@@ -0,0 +1,10 @@
@font-face {
font-family: 'League Gothic';
src: url('league-gothic.eot');
src: url('league-gothic.eot?#iefix') format('embedded-opentype'),
url('league-gothic.woff') format('woff'),
url('league-gothic.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,230 +0,0 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<svg xmlns="http://www.w3.org/2000/svg">
<metadata></metadata>
<defs>
<font id="LeagueGothicRegular" horiz-adv-x="724" >
<font-face units-per-em="2048" ascent="1505" descent="-543" />
<missing-glyph horiz-adv-x="315" />
<glyph horiz-adv-x="0" />
<glyph horiz-adv-x="2048" />
<glyph unicode="&#xd;" horiz-adv-x="682" />
<glyph unicode=" " horiz-adv-x="315" />
<glyph unicode="&#x09;" horiz-adv-x="315" />
<glyph unicode="&#xa0;" horiz-adv-x="315" />
<glyph unicode="!" horiz-adv-x="387" d="M74 1505h239l-55 -1099h-129zM86 0v227h215v-227h-215z" />
<glyph unicode="&#x22;" horiz-adv-x="329" d="M57 1505h215l-30 -551h-154z" />
<glyph unicode="#" horiz-adv-x="1232" d="M49 438l27 195h198l37 258h-196l26 194h197l57 420h197l-57 -420h260l57 420h197l-58 -420h193l-27 -194h-192l-37 -258h190l-26 -195h-191l-59 -438h-197l60 438h-261l-59 -438h-197l60 438h-199zM471 633h260l37 258h-260z" />
<glyph unicode="$" horiz-adv-x="692" d="M37 358l192 13q12 -186 129 -187q88 0 93 185q0 74 -61 175q-21 36 -34 53l-40 55q-28 38 -65.5 90t-70.5 101.5t-70.5 141.5t-37.5 170q4 293 215 342v131h123v-125q201 -23 235 -282l-192 -25q-14 129 -93 125q-80 -2 -84 -162q0 -102 94 -227l41 -59q30 -42 37 -52 t33 -48l37 -52q41 -57 68 -109l26 -55q43 -94 43 -186q-4 -338 -245 -369v-217h-123v221q-236 41 -250 352z" />
<glyph unicode="%" horiz-adv-x="1001" d="M55 911v437q0 110 82 156q33 18 90.5 18t97.5 -44t44 -87l4 -43v-437q0 -107 -81 -157q-32 -19 -77 -19q-129 0 -156 135zM158 0l553 1505h131l-547 -1505h-137zM178 911q-4 -55 37 -55q16 0 25.5 14.5t9.5 26.5v451q2 55 -35 55q-18 0 -27.5 -13.5t-9.5 -27.5v-451z M631 158v436q0 108 81 156q33 20 79 20q125 0 153 -135l4 -41v-436q0 -110 -80 -156q-32 -18 -90.5 -18t-98.5 43t-44 88zM754 158q-4 -57 37 -58q37 0 34 58v436q2 55 -34 55q-18 0 -27.5 -13t-9.5 -28v-450z" />
<glyph unicode="&#x26;" horiz-adv-x="854" d="M49 304q0 126 44 225.5t126 222.5q-106 225 -106 442v18q0 94 47 180q70 130 223 130q203 0 252 -215q14 -61 12 -113q0 -162 -205 -434q76 -174 148 -285q33 96 47 211l176 -33q-16 -213 -92 -358q55 -63 92 -76v-235q-23 0 -86 37.5t-123 101.5q-123 -139 -252 -139 t-216 97t-87 223zM263 325.5q1 -65.5 28.5 -107.5t78.5 -42t117 86q-88 139 -174 295q-18 -30 -34.5 -98t-15.5 -133.5zM305 1194q0 -111 55 -246q101 156 101 252q-2 2 0 15.5t-2 36t-11 42.5q-19 52 -61.5 52t-62 -38t-19.5 -75v-39z" />
<glyph unicode="'" horiz-adv-x="309" d="M45 1012l72 266h-72v227h215v-227l-113 -266h-102z" />
<glyph unicode="(" horiz-adv-x="561" d="M66 645q0 143 29.5 292.5t73.5 261.5q92 235 159 343l30 47l162 -84q-38 -53 -86.5 -148t-82.5 -189.5t-61.5 -238t-27.5 -284.5t26.5 -282.5t64.5 -240.5q80 -207 141 -296l26 -39l-162 -84q-41 61 -96 173t-94 217.5t-70.5 257t-31.5 294.5z" />
<glyph unicode=")" horiz-adv-x="561" d="M41 -213q36 50 85.5 147t83.5 190t61.5 236.5t27.5 284.5t-26.5 282.5t-64.5 240.5q-78 205 -140 298l-27 39l162 84q41 -61 96 -173.5t94 -217t71 -257.5t32 -296t-30 -292.5t-74 -260.5q-92 -233 -159 -342l-30 -47z" />
<glyph unicode="*" horiz-adv-x="677" d="M74 1251l43 148l164 -70l-19 176h154l-19 -176l164 70l43 -148l-172 -34l115 -138l-131 -80l-78 152l-76 -152l-131 80l115 138z" />
<glyph unicode="+" horiz-adv-x="1060" d="M74 649v172h370v346h172v-346h371v-172h-371v-346h-172v346h-370z" />
<glyph unicode="," horiz-adv-x="309" d="M45 0v227h215v-227l-113 -266h-102l72 266h-72z" />
<glyph unicode="-" horiz-adv-x="444" d="M74 455v194h297v-194h-297z" />
<glyph unicode="." horiz-adv-x="321" d="M53 0v227h215v-227h-215z" />
<glyph unicode="/" horiz-adv-x="720" d="M8 -147l543 1652h162l-537 -1652h-168z" />
<glyph unicode="0" d="M68 309v887q0 42 17 106t45 107t88.5 78t144 35t144 -34t88.5 -81q55 -93 60 -178l2 -33v-887q0 -42 -17 -106t-45 -107t-88.5 -77.5t-144 -34.5t-144 33.5t-88.5 81.5q-55 94 -60 175zM289 309q0 -46 19.5 -78t54 -32t53 27.5t18.5 56.5l2 26v887q0 46 -19.5 78.5 t-54 32.5t-53 -28t-18.5 -54l-2 -29v-887z" />
<glyph unicode="1" horiz-adv-x="475" d="M25 1180v141q129 25 205 130q16 21 30 54h133v-1505h-221v1180h-147z" />
<glyph unicode="2" horiz-adv-x="731" d="M55 0v219l39 62q25 39 88.5 152.5t112.5 220t91 241.5t44 238q0 184 -73.5 184t-73.5 -184v-105h-222v105q0 389 295 389t295 -375q0 -336 -346 -928h350v-219h-600z" />
<glyph unicode="3" horiz-adv-x="686" d="M45 1071q0 249 63 343q29 42 84.5 75t134.5 33t136 -31t84.5 -71t44.5 -92q22 -71 22 -130q0 -291 -108 -399q127 -100 127 -414q0 -68 -19.5 -145.5t-47 -128t-85 -89t-136.5 -38.5t-135 31.5t-86 75.5t-48 113q-23 91 -23 230h217q2 -150 17.5 -203t59.5 -53t56.5 50.5 t12.5 104.5t1 102t0 63q-6 82 -14 95l-18 33q-12 22 -29 29q-55 22 -108 25h-19v184q133 7 156 73q12 34 12 91v105q0 146 -29 177q-16 17 -40 17q-41 0 -52.5 -49t-13.5 -207h-217z" />
<glyph unicode="4" horiz-adv-x="684" d="M25 328v194l323 983h221v-983h103v-194h-103v-328h-202v328h-342zM213 522h154v516h-13z" />
<glyph unicode="5" horiz-adv-x="704" d="M74 438h221v-59q0 -115 14.5 -159t52 -44t53 45t15.5 156v336q0 111 -70 110q-33 0 -59.5 -40t-26.5 -70h-186v792h535v-219h-344v-313q74 55 127 51q78 0 133 -40t77 -100q35 -98 35 -171v-336q0 -393 -289 -393q-78 0 -133 29.5t-84.5 71.5t-46.5 109q-24 98 -24 244z " />
<glyph unicode="6" horiz-adv-x="700" d="M66 309v856q0 356 288.5 356.5t288.5 -356.5v-94h-221q0 162 -11.5 210t-53.5 48t-56 -37t-14 -127v-268q59 37 124.5 37t119 -36t75.5 -93q37 -92 37 -189v-307q0 -90 -42 -187q-26 -61 -89 -99.5t-157.5 -38.5t-158 38.5t-88.5 99.5q-42 98 -42 187zM287 244 q0 -20 17.5 -44t49 -24t50 24.5t18.5 43.5v450q0 18 -18.5 43t-49 25t-48 -20.5t-19.5 -41.5v-456z" />
<glyph unicode="7" horiz-adv-x="589" d="M8 1286v219h557v-221l-221 -1284h-229l225 1286h-332z" />
<glyph unicode="8" horiz-adv-x="696" d="M53 322v176q0 188 115 297q-102 102 -102 276v127q0 213 147 293q57 31 135 31t135.5 -31t84 -71t42.5 -93q21 -66 21 -129v-127q0 -174 -103 -276q115 -109 115 -297v-176q0 -222 -153 -306q-60 -32 -142 -32t-141.5 32.5t-88 73.5t-44.5 96q-21 69 -21 136zM269 422 q1 -139 16.5 -187.5t57.5 -48.5t59.5 30t21.5 71t4 158t-13.5 174t-66.5 57t-66.5 -57.5t-12.5 -196.5zM284 1116q-1 -123 11 -173t53 -50t53.5 50t12.5 170t-12.5 167t-51.5 47t-52 -44t-14 -167z" />
<glyph unicode="9" horiz-adv-x="700" d="M57 340v94h222q0 -162 11 -210t53 -48t56.5 37t14.5 127v283q-59 -37 -125 -37t-119 35.5t-76 92.5q-37 96 -37 189v293q0 87 43 188q25 60 88.5 99t157.5 39t157.5 -39t88.5 -99q43 -101 43 -188v-856q0 -356 -289 -356t-289 356zM279 825q0 -18 18 -42.5t49 -24.5 t48.5 20.5t19.5 40.5v443q0 20 -17.5 43.5t-49.5 23.5t-50 -24.5t-18 -42.5v-437z" />
<glyph unicode=":" horiz-adv-x="362" d="M74 0v227h215v-227h-215zM74 893v227h215v-227h-215z" />
<glyph unicode=";" horiz-adv-x="362" d="M74 0v227h215v-227l-113 -266h-102l71 266h-71zM74 893v227h215v-227h-215z" />
<glyph unicode="&#x3c;" horiz-adv-x="1058" d="M74 649v160l911 475v-199l-698 -356l698 -356v-199z" />
<glyph unicode="=" horiz-adv-x="1058" d="M74 477v172h911v-172h-911zM74 864v172h911v-172h-911z" />
<glyph unicode="&#x3e;" horiz-adv-x="1058" d="M74 174v199l698 356l-698 356v199l911 -475v-160z" />
<glyph unicode="?" horiz-adv-x="645" d="M25 1260q24 67 78 131q105 128 235 122q82 -2 138 -33.5t82 -81.5q46 -88 46 -170.5t-80 -219.5l-57 -96q-18 -32 -42 -106.5t-24 -143.5v-256h-190v256q0 102 24.5 195t48 140t65.5 118t50 105t-9 67.5t-60 34.5t-78 -48t-49 -98zM199 0h215v227h-215v-227z" />
<glyph unicode="@" horiz-adv-x="872" d="M66 303v889q0 97 73 200q39 56 117 93t184.5 37t184 -37t116.5 -93q74 -105 74 -200v-793h-164l-20 56q-14 -28 -46 -48t-67 -20q-145 0 -145 172v485q0 170 145 170q71 0 113 -67v45q0 51 -45 104.5t-145.5 53.5t-145.5 -53.5t-45 -104.5v-889q0 -53 44 -103t153.5 -50 t160.5 63l152 -86q-109 -143 -320 -143q-106 0 -184 35.5t-117 90.5q-73 102 -73 193zM535 573q0 -53 48 -53t48 53v455q0 53 -48 53t-48 -53v-455z" />
<glyph unicode="A" horiz-adv-x="765" d="M20 0l228 1505h270l227 -1505h-215l-41 307h-213l-40 -307h-216zM307 541h152l-64 475l-6 39h-12z" />
<glyph unicode="B" horiz-adv-x="745" d="M82 0v1505h194q205 0 304.5 -91t99.5 -308q0 -106 -29.5 -175t-107.5 -136q14 -5 47 -38.5t54 -71.5q52 -97 52 -259q0 -414 -342 -426h-272zM303 219q74 0 109 31q55 56 55 211t-63 195q-42 26 -93 26h-8v-463zM303 885q87 0 119 39q45 55 45 138t-14.5 124t-30.5 60.5 t-45 28.5q-35 11 -74 11v-401z" />
<glyph unicode="C" horiz-adv-x="708" d="M68 309v887q0 42 17 106t45 107t88.5 78t144 35t144 -34t88.5 -81q55 -93 60 -178l2 -33v-207h-206v207q-2 0 0 11.5t-3.5 27.5t-12.5 33q-17 39 -68 39q-70 -10 -78 -111v-887q0 -43 21.5 -76.5t59.5 -33.5t59.5 27.5t21.5 56.5v233h206v-207q0 -42 -17 -106t-45 -107 t-88.5 -77.5t-144 -34.5t-144 33.5t-88.5 81.5q-55 94 -60 175z" />
<glyph unicode="D" horiz-adv-x="761" d="M82 0v1505h174q270 0 346 -113q31 -46 50.5 -95.5t28.5 -139.5t12 -177t3 -228.5t-3 -228.5t-12 -176t-28.5 -138t-50.5 -95t-80 -68q-106 -46 -266 -46h-174zM303 221q117 0 140.5 78t23.5 399v111q0 322 -23.5 398.5t-140.5 76.5v-1063z" />
<glyph unicode="E" horiz-adv-x="628" d="M82 0v1505h506v-227h-285v-395h205v-242h-205v-414h285v-227h-506z" />
<glyph unicode="F" horiz-adv-x="616" d="M82 0v1505h526v-227h-305v-395h205v-228h-205v-655h-221z" />
<glyph unicode="G" horiz-adv-x="737" d="M67 271.5q0 26.5 1 37.5v887q0 42 17 106t45 107t88.5 78t144 35t144 -34t88.5 -81q55 -93 60 -178l2 -33v-231h-221v231q0 46 -19.5 78.5t-54 32.5t-53 -28t-18.5 -54l-2 -29v-905q0 -46 19.5 -78.5t54 -32.5t53 28t18.5 54l2 29v272h-88v187h309v-750h-131l-26 72 q-70 -88 -172 -88q-203 0 -250 213q-11 48 -11 74.5z" />
<glyph unicode="H" horiz-adv-x="778" d="M82 0v1505h221v-622h172v622h221v-1505h-221v655h-172v-655h-221z" />
<glyph unicode="I" horiz-adv-x="385" d="M82 0v1505h221v-1505h-221z" />
<glyph unicode="J" horiz-adv-x="423" d="M12 -14v217q4 0 12.5 -1t29 2t35.5 12t28.5 34.5t13.5 62.5v1192h221v-1226q0 -137 -74 -216q-74 -78 -223 -78h-4q-19 0 -39 1z" />
<glyph unicode="K" horiz-adv-x="768" d="M82 0v1505h221v-526h8l195 526h215l-203 -495l230 -1010h-216l-153 655l-6 31h-6l-64 -154v-532h-221z" />
<glyph unicode="L" horiz-adv-x="604" d="M82 0v1505h221v-1300h293v-205h-514z" />
<glyph unicode="M" horiz-adv-x="991" d="M82 0v1505h270l131 -688l11 -80h4l10 80l131 688h270v-1505h-204v1010h-13l-149 -1010h-94l-142 946l-8 64h-12v-1010h-205z" />
<glyph unicode="N" horiz-adv-x="808" d="M82 0v1505h197l215 -784l18 -70h12v854h203v-1505h-197l-215 784l-18 70h-12v-854h-203z" />
<glyph unicode="O" d="M68 309v887q0 42 17 106t45 107t88.5 78t144 35t144 -34t88.5 -81q55 -93 60 -178l2 -33v-887q0 -42 -17 -106t-45 -107t-88.5 -77.5t-144 -34.5t-144 33.5t-88.5 81.5q-55 94 -60 175zM289 309q0 -46 19.5 -78t54 -32t53 27.5t18.5 56.5l2 26v887q0 46 -19.5 78.5 t-54 32.5t-53 -28t-18.5 -54l-2 -29v-887z" />
<glyph unicode="P" horiz-adv-x="720" d="M82 0v1505h221q166 0 277.5 -105.5t111.5 -345t-111.5 -346t-277.5 -106.5v-602h-221zM303 827q102 0 134 45.5t32 175.5t-33 181t-133 51v-453z" />
<glyph unicode="Q" horiz-adv-x="729" d="M68 309v887q0 42 17 106t45 107t88.5 78t144 35t144 -34t88.5 -81q55 -93 60 -178l2 -33v-887q0 -94 -45 -182q33 -43 88 -53v-189q-160 0 -227 117q-55 -18 -125 -18t-130 33.5t-88 81.5q-55 94 -60 175zM289 309q0 -46 19.5 -78t54 -32t53 27.5t18.5 56.5l2 26v887 q0 46 -19.5 78.5t-54 32.5t-53 -28t-18.5 -54l-2 -29v-887z" />
<glyph unicode="R" horiz-adv-x="739" d="M82 0v1505h221q377 0 377 -434q0 -258 -123 -342l141 -729h-221l-115 635h-59v-635h-221zM303 840q117 0 149 98q15 49 15 125t-15.5 125t-45.5 68q-44 30 -103 30v-446z" />
<glyph unicode="S" horiz-adv-x="702" d="M37 422l217 20q0 -256 104 -256q90 0 91 166q0 59 -32 117.5t-45 79.5l-54 79q-40 58 -77 113t-73.5 117t-68 148.5t-31.5 162.5q0 139 71.5 245t216.5 108h10q88 0 152 -36t94 -100q54 -120 54 -264l-217 -20q0 217 -89 217q-75 -2 -75 -146q0 -59 23 -105 q32 -66 58 -104l197 -296q31 -49 67 -139.5t36 -166.5q0 -378 -306 -378h-2q-229 0 -290 188q-31 99 -31 250z" />
<glyph unicode="T" horiz-adv-x="647" d="M4 1278v227h639v-227h-209v-1278h-221v1278h-209z" />
<glyph unicode="U" horiz-adv-x="749" d="M80 309v1196h221v-1196q0 -46 19.5 -78t54.5 -32t53 27.5t18 56.5l3 26v1196h221v-1196q0 -42 -17.5 -106t-45 -107t-88 -77.5t-144.5 -34.5t-144.5 33.5t-88.5 81.5q-55 97 -60 175z" />
<glyph unicode="V" horiz-adv-x="716" d="M18 1505h215l111 -827l8 -64h13l118 891h215l-229 -1505h-221z" />
<glyph unicode="W" horiz-adv-x="1036" d="M25 1505h204l88 -782l5 -49h16l100 831h160l100 -831h17l92 831h205l-203 -1505h-172l-115 801h-8l-115 -801h-172z" />
<glyph unicode="X" horiz-adv-x="737" d="M16 0l244 791l-240 714h218l120 -381l7 -18h8l127 399h217l-240 -714l244 -791h-217l-127 449l-4 18h-8l-132 -467h-217z" />
<glyph unicode="Y" horiz-adv-x="700" d="M14 1505h217l111 -481l6 -14h4l6 14l111 481h217l-225 -864v-641h-221v641z" />
<glyph unicode="Z" horiz-adv-x="626" d="M20 0v238l347 1048h-297v219h536v-219l-352 -1067h352v-219h-586z" />
<glyph unicode="[" horiz-adv-x="538" d="M82 -213v1718h399v-196h-202v-1325h202v-197h-399z" />
<glyph unicode="\" horiz-adv-x="792" d="M8 1692h162l614 -1872h-168z" />
<glyph unicode="]" horiz-adv-x="538" d="M57 -16h203v1325h-203v196h400v-1718h-400v197z" />
<glyph unicode="^" horiz-adv-x="1101" d="M53 809l381 696h234l381 -696h-199l-299 543l-299 -543h-199z" />
<glyph unicode="_" horiz-adv-x="1210" d="M74 -154h1063v-172h-1063v172z" />
<glyph unicode="`" horiz-adv-x="1024" d="M293 1489h215l106 -184h-159z" />
<glyph unicode="a" horiz-adv-x="681" d="M49 235q0 131 34 212t83 124t98 73t88 50.5t43 36.5v123q0 102 -57 102q-41 0 -50 -42t-9 -84v-39h-207v47q0 123 80.5 211t190 88t184.5 -74t75 -180v-688q0 -109 14 -195h-202q-18 20 -19 90h-14q-20 -37 -65.5 -71.5t-102.5 -34.5t-110.5 60t-53.5 191zM252 291 q0 -104 57 -105q35 0 60.5 19.5t25.5 48.5v287q-143 -62 -143 -250z" />
<glyph unicode="b" horiz-adv-x="686" d="M82 0v1505h207v-458q88 90 165 90t117.5 -69t40.5 -150v-715q0 -82 -41 -150.5t-118 -68.5q-33 0 -74 22.5t-66 44.5l-24 23v-74h-207zM289 246q0 -29 19.5 -48.5t42 -19.5t39 19.5t16.5 48.5v628q0 29 -16.5 48.5t-39 19.5t-42 -21.5t-19.5 -46.5v-628z" />
<glyph unicode="c" horiz-adv-x="645" d="M66 315v490q0 332 264 332q137 0 201.5 -71t64.5 -251v-88h-207v135q0 51 -12 70.5t-47 19.5q-58 0 -58 -90v-604q0 -90 58 -90q35 0 47 19.5t12 70.5v156h207v-109q0 -180 -64.5 -250.5t-201.5 -70.5q-264 0 -264 331z" />
<glyph unicode="d" horiz-adv-x="686" d="M74 203v715q0 82 41 150.5t118 68.5q33 0 74 -22.5t66 -45.5l24 -22v458h207v-1505h-207v74q-88 -90 -165 -90t-117.5 68.5t-40.5 150.5zM281 246q0 -29 16 -48.5t38.5 -19.5t42 19.5t19.5 48.5v628q0 25 -19.5 46.5t-42 21.5t-38.5 -19.5t-16 -48.5v-628z" />
<glyph unicode="e" horiz-adv-x="659" d="M66 279v563q0 36 16 94.5t42 97.5t81 71t129 32q199 0 252 -197q14 -51 14 -92v-326h-342v-256q0 -59 39 -88q16 -12 37 -12q70 10 74 113v122h192v-129q0 -37 -16.5 -93t-41 -95t-79.5 -69.5t-130 -30.5t-130.5 30.5t-80.5 73.5q-49 87 -54 160zM258 684h150v158 q0 48 -19.5 81t-53.5 33t-53.5 -28.5t-21.5 -57.5l-2 -28v-158z" />
<glyph unicode="f" horiz-adv-x="475" d="M20 934v186h105v31q0 190 51 270q23 35 71 63.5t115 28.5l97 -14v-178q-27 8 -62 8q-65 0 -65 -175v-5v-29h104v-186h-104v-934h-207v934h-105z" />
<glyph unicode="g" horiz-adv-x="700" d="M12 -184q0 94 162 170q-125 35 -125 149q0 45 40 93t89 75q-51 35 -80.5 95.5t-34.5 105.5l-4 43v305q0 35 16.5 91t41 94t79 69t126.5 31q135 0 206 -103q102 102 170 103v-185q-72 0 -120 -24l10 -70v-317q0 -37 -17.5 -90.5t-42 -90t-79 -66.5t-104.5 -30t-62 2 q-29 -25 -29 -46t11 -33.5t42 -20.5t45.5 -10t65.5 -10.5t95 -21.5t89 -41q96 -60 96 -205t-103 -212q-100 -65 -250 -65h-9q-156 2 -240 50t-84 165zM213 -150q0 -77 132 -77h3q59 0 108.5 19t49.5 54t-20.5 52.5t-90.5 29.5l-106 21q-76 -43 -76 -99zM262 509 q0 -17 15.5 -45t44.5 -28q63 6 63 101v307q-2 0 0 10q1 3 1 7q0 8 -3 19q-4 15 -9 30q-11 36 -46 36t-50.5 -25.5t-15.5 -52.5v-359z" />
<glyph unicode="h" horiz-adv-x="690" d="M82 0v1505h207v-479l32 32q79 79 145.5 79t106 -69t39.5 -150v-918h-206v887q-1 49 -50 49q-41 0 -67 -53v-883h-207z" />
<glyph unicode="i" horiz-adv-x="370" d="M82 0v1120h207v-1120h-207zM82 1298v207h207v-207h-207z" />
<glyph unicode="j" horiz-adv-x="364" d="M-45 -182q29 -8 57 -8q64 0 64 142v1168h207v-1149q0 -186 -51 -266q-23 -35 -71 -62.5t-115 -27.5t-91 12v191zM76 1298v207h207v-207h-207z" />
<glyph unicode="k" horiz-adv-x="641" d="M82 0v1505h207v-714h10l113 329h186l-149 -364l188 -756h-199l-102 453l-4 16h-10l-33 -82v-387h-207z" />
<glyph unicode="l" horiz-adv-x="370" d="M82 0v1505h207v-1505h-207z" />
<glyph unicode="m" horiz-adv-x="1021" d="M82 0v1120h207v-94q2 0 33 30q80 81 139 81q100 0 139 -125q125 125 194.5 125t109.5 -69t40 -150v-918h-194v887q-1 49 -56 49q-41 0 -78 -53v-883h-194v887q0 49 -55 49q-41 0 -78 -53v-883h-207z" />
<glyph unicode="n" horiz-adv-x="690" d="M82 0v1120h207v-94l32 32q79 79 145.5 79t106 -69t39.5 -150v-918h-206v887q-1 49 -50 49q-41 0 -67 -53v-883h-207z" />
<glyph unicode="o" horiz-adv-x="657" d="M63 279v563q0 40 15.5 96.5t40 95.5t80 71t129.5 32q199 0 252 -197q14 -51 14 -92v-576q0 -102 -56 -188q-26 -39 -80.5 -69.5t-129 -30.5t-130 30.5t-80.5 73.5q-52 92 -52 160zM257 259q0 -17 9 -44q18 -49 62 -49q70 10 71 113v563l1 19q0 19 -10 45q-18 50 -62 50 q-68 -10 -70 -114v-563q1 -1 1 -4z" />
<glyph unicode="p" horiz-adv-x="686" d="M82 -385v1505h207v-73q88 90 165 90t117.5 -69t40.5 -150v-715q0 -82 -41 -150.5t-118 -68.5q-33 0 -74 22.5t-66 44.5l-24 23v-459h-207zM289 246q0 -25 19.5 -46.5t42 -21.5t39 19.5t16.5 48.5v628q0 29 -16.5 48.5t-39 19.5t-42 -19.5t-19.5 -48.5v-628z" />
<glyph unicode="q" horiz-adv-x="686" d="M74 203v715q0 82 41 150.5t118 68.5q33 0 74 -22.5t66 -45.5l24 -22v73h207v-1505h-207v459q-88 -90 -165 -90t-117.5 68.5t-40.5 150.5zM281 246q0 -29 16 -48.5t38.5 -19.5t42 21.5t19.5 46.5v628q0 29 -19.5 48.5t-42 19.5t-38.5 -19.5t-16 -48.5v-628z" />
<glyph unicode="r" horiz-adv-x="503" d="M82 0v1120h207v-125q8 41 58.5 91.5t148.5 50.5v-230q-34 11 -77 11t-86.5 -39t-43.5 -101v-778h-207z" />
<glyph unicode="s" horiz-adv-x="630" d="M37 326h192q0 -170 97 -170q71 0 71 131q0 78 -129 202q-68 66 -98.5 99t-64 101.5t-33.5 134t12 114.5t39 95q59 100 201 104h11q161 0 211 -105q42 -86 42 -198h-193q0 131 -67 131q-63 -2 -64 -131q0 -33 23.5 -73t45 -62.5t66.5 -65.5q190 -182 191 -342 q0 -123 -64.5 -215t-199.5 -92q-197 0 -260 170q-29 76 -29 172z" />
<glyph unicode="t" horiz-adv-x="501" d="M20 934v186h105v277h207v-277h141v-186h-141v-557q0 -184 65 -184l76 8v-203q-45 -14 -112 -14t-114.5 28.5t-70 64.5t-34.5 96q-17 79 -17 187v574h-105z" />
<glyph unicode="u" horiz-adv-x="690" d="M78 203v917h207v-887q0 -49 49 -49q41 0 67 54v882h207v-1120h-207v94l-31 -32q-78 -78 -145.5 -78t-107 68.5t-39.5 150.5z" />
<glyph unicode="v" horiz-adv-x="602" d="M16 1120h201l68 -649l8 -72h16l76 721h201l-183 -1120h-204z" />
<glyph unicode="w" horiz-adv-x="905" d="M20 1120h189l65 -585l9 -64h12l96 649h123l86 -585l10 -64h13l73 649h189l-166 -1120h-172l-80 535l-10 63h-8l-91 -598h-172z" />
<glyph unicode="x" horiz-adv-x="618" d="M16 0l193 578l-176 542h194l74 -262l6 -31h4l6 31l74 262h195l-176 -542l192 -578h-201l-84 283l-6 30h-4l-6 -30l-84 -283h-201z" />
<glyph unicode="y" horiz-adv-x="634" d="M25 1120h202l82 -688l4 -57h9l4 57l82 688h202l-198 -1204q-16 -127 -94 -222t-193 -95l-92 4v184q16 -4 49 -4q61 6 97 61.5t36 122.5z" />
<glyph unicode="z" horiz-adv-x="532" d="M12 0v168l285 764h-240v188h459v-168l-285 -764h285v-188h-504z" />
<glyph unicode="{" horiz-adv-x="688" d="M61 453v163q72 0 102 49.5t30 90.5v397q0 223 96 298t342 71v-172q-135 2 -188.5 -38t-53.5 -159v-397q0 -143 -127 -221q127 -82 127 -222v-397q0 -119 53.5 -159t188.5 -38v-172q-246 -4 -342 71t-96 298v397q0 57 -41 97.5t-91 42.5z" />
<glyph unicode="|" horiz-adv-x="356" d="M82 -512v2204h192v-2204h-192z" />
<glyph unicode="}" horiz-adv-x="688" d="M57 -281q135 -2 188.5 38t53.5 159v397q0 139 127 222q-127 78 -127 221v397q0 119 -53 159t-189 38v172q246 4 342.5 -71t96.5 -298v-397q0 -63 41 -101.5t90 -38.5v-163q-72 -4 -101.5 -52.5t-29.5 -87.5v-397q0 -223 -96.5 -298t-342.5 -71v172z" />
<glyph unicode="~" horiz-adv-x="1280" d="M113 1352q35 106 115 200q34 41 94.5 74t121 33t116.5 -18.5t82 -33t83 -51.5q106 -72 174 -71q109 0 178 153l13 29l135 -57q-63 -189 -206 -276q-56 -34 -120 -34q-121 0 -272 101q-115 74 -178.5 74t-113.5 -45.5t-69 -90.5l-18 -45z" />
<glyph unicode="&#xa1;" horiz-adv-x="387" d="M74 -385l55 1100h129l55 -1100h-239zM86 893v227h215v-227h-215z" />
<glyph unicode="&#xa2;" horiz-adv-x="636" d="M66 508v489q0 297 208 328v242h123v-244q98 -16 144.5 -88t46.5 -227v-88h-189v135q0 90 -72.5 90t-72.5 -90v-604q0 -90 72 -91q74 0 73 91v155h189v-108q0 -156 -46 -228.5t-145 -89.5v-303h-123v301q-209 31 -208 330z" />
<glyph unicode="&#xa3;" horiz-adv-x="817" d="M4 63q8 20 23.5 53.5t70 91.5t117.5 68q37 111 37 189t-31 184h-188v137h147l-6 21q-78 254 -78 333t15.5 140t48.5 116q72 122 231 126q190 4 267 -126q65 -108 65 -276h-213q0 201 -115 197q-47 -2 -68.5 -51t-21.5 -139.5t70 -315.5l6 -25h211v-137h-174 q25 -100 24.5 -189t-57.5 -204q16 -8 44 -24q59 -35 89 -35q74 4 82 190l188 -22q-12 -182 -81.5 -281.5t-169.5 -99.5q-51 0 -143.5 51t-127.5 51t-63.5 -25.5t-40.5 -52.5l-12 -24z" />
<glyph unicode="&#xa5;" horiz-adv-x="720" d="M25 1505h217l110 -481l6 -14h4l7 14l110 481h217l-196 -753h147v-138h-176v-137h176v-137h-176v-340h-221v340h-176v137h176v137h-176v138h147z" />
<glyph unicode="&#xa8;" horiz-adv-x="1024" d="M272 1305v200h191v-200h-191zM561 1305v200h191v-200h-191z" />
<glyph unicode="&#xa9;" horiz-adv-x="1644" d="M53 751.5q0 317.5 225.5 544t543 226.5t543.5 -226.5t226 -544t-226 -542.5t-543.5 -225t-543 225t-225.5 542.5zM172 751.5q0 -266.5 191.5 -458t457.5 -191.5t459 191.5t193 459t-191.5 459t-459 191.5t-459 -192.5t-191.5 -459zM627 487v531q0 122 97 174q40 22 95 22 q147 0 182 -147l7 -49v-125h-138v142q0 11 -12 28.5t-37 17.5q-47 -2 -49 -63v-531q0 -63 49 -63q53 2 49 63v125h138v-125q0 -68 -40 -127q-18 -26 -57 -47.5t-108.5 -21.5t-117.5 49t-54 98z" />
<glyph unicode="&#xaa;" horiz-adv-x="681" d="M49 235q0 131 34 212t83 124t98 73t88 50.5t43 36.5v123q0 102 -57 102q-41 0 -50 -42t-9 -84v-39h-207v47q0 123 80.5 211t190 88t184.5 -74t75 -180v-688q0 -109 14 -195h-202q-18 20 -19 90h-14q-20 -37 -65.5 -71.5t-102.5 -34.5t-110.5 60t-53.5 191zM252 291 q0 -104 57 -105q35 0 60.5 19.5t25.5 48.5v287q-143 -62 -143 -250z" />
<glyph unicode="&#xad;" horiz-adv-x="444" d="M74 455v194h297v-194h-297z" />
<glyph unicode="&#xae;" horiz-adv-x="1644" d="M53 751.5q0 317.5 225.5 544t543 226.5t543.5 -226.5t226 -544t-226 -542.5t-543.5 -225t-543 225t-225.5 542.5zM172 751.5q0 -266.5 191.5 -458t457.5 -191.5t459 191.5t193 459t-191.5 459t-459 191.5t-459 -192.5t-191.5 -459zM625 313v879h196q231 0 232 -258 q0 -76 -16.5 -125t-71.5 -96l106 -400h-151l-95 365h-55v-365h-145zM770 805h45q43 0 65.5 21.5t27.5 45t5 61.5t-5 62.5t-27.5 46t-65.5 21.5h-45v-258z" />
<glyph unicode="&#xaf;" horiz-adv-x="1024" d="M313 1315v162h398v-162h-398z" />
<glyph unicode="&#xb2;" horiz-adv-x="731" d="M55 0v219l39 62q25 39 88.5 152.5t112.5 220t91 241.5t44 238q0 184 -73.5 184t-73.5 -184v-105h-222v105q0 389 295 389t295 -375q0 -336 -346 -928h350v-219h-600z" />
<glyph unicode="&#xb3;" horiz-adv-x="686" d="M45 1071q0 249 63 343q29 42 84.5 75t134.5 33t136 -31t84.5 -71t44.5 -92q22 -71 22 -130q0 -291 -108 -399q127 -100 127 -414q0 -68 -19.5 -145.5t-47 -128t-85 -89t-136.5 -38.5t-135 31.5t-86 75.5t-48 113q-23 91 -23 230h217q2 -150 17.5 -203t59.5 -53t56.5 50.5 t12.5 104.5t1 102t0 63q-6 82 -14 95l-18 33q-12 22 -29 29q-55 22 -108 25h-19v184q133 7 156 73q12 34 12 91v105q0 146 -29 177q-16 17 -40 17q-41 0 -52.5 -49t-13.5 -207h-217z" />
<glyph unicode="&#xb4;" horiz-adv-x="1024" d="M410 1305l106 184h215l-162 -184h-159z" />
<glyph unicode="&#xb7;" horiz-adv-x="215" d="M0 649v228h215v-228h-215z" />
<glyph unicode="&#xb8;" horiz-adv-x="1024" d="M426 -111h172v-141l-45 -133h-104l40 133h-63v141z" />
<glyph unicode="&#xb9;" horiz-adv-x="475" d="M25 1180v141q129 25 205 130q16 21 30 54h133v-1505h-221v1180h-147z" />
<glyph unicode="&#xba;" horiz-adv-x="657" d="M63 279v563q0 40 15.5 96.5t40 95.5t80 71t129.5 32q199 0 252 -197q14 -51 14 -92v-576q0 -102 -56 -188q-26 -39 -80.5 -69.5t-129 -30.5t-130 30.5t-80.5 73.5q-52 92 -52 160zM257 259q0 -17 9 -44q18 -49 62 -49q70 10 71 113v563l1 19q0 19 -10 45q-18 50 -62 50 q-68 -10 -70 -114v-563q1 -1 1 -4z" />
<glyph unicode="&#xbf;" horiz-adv-x="645" d="M41 -106q0 82 80 219l57 95q18 32 42 106.5t24 144.5v256h190v-256q0 -102 -24.5 -195.5t-48 -140.5t-65.5 -118t-50 -104.5t9 -67.5t60 -35t78 48.5t49 98.5l179 -84q-24 -66 -78 -132q-104 -126 -236 -122q-163 4 -220 115q-46 90 -46 172zM231 893v227h215v-227h-215z " />
<glyph unicode="&#xc0;" horiz-adv-x="765" d="M20 0l228 1505h270l227 -1505h-215l-41 307h-213l-40 -307h-216zM141 1823h215l107 -185h-160zM307 541h152l-64 475l-6 39h-12z" />
<glyph unicode="&#xc1;" horiz-adv-x="765" d="M20 0l228 1505h270l227 -1505h-215l-41 307h-213l-40 -307h-216zM293 1638l106 185h215l-161 -185h-160zM307 541h152l-64 475l-6 39h-12z" />
<glyph unicode="&#xc2;" horiz-adv-x="765" d="M20 0l228 1505h270l227 -1505h-215l-41 307h-213l-40 -307h-216zM133 1638l141 185h220l141 -185h-189l-63 72l-61 -72h-189zM307 541h152l-64 475l-6 39h-12z" />
<glyph unicode="&#xc3;" horiz-adv-x="765" d="M20 0l228 1505h270l227 -1505h-215l-41 307h-213l-40 -307h-216zM184 1632v152q49 39 95.5 39t104.5 -18.5t100.5 -19.5t97.5 32v-152q-51 -39 -95.5 -39t-102.5 19.5t-98 19.5t-102 -33zM307 541h152l-64 475l-6 39h-12z" />
<glyph unicode="&#xc4;" horiz-adv-x="765" d="M20 0l228 1505h270l227 -1505h-215l-41 307h-213l-40 -307h-216zM143 1638v201h191v-201h-191zM307 541h152l-64 475l-6 39h-12zM432 1638v201h191v-201h-191z" />
<glyph unicode="&#xc5;" horiz-adv-x="765" d="M20 0l228 1505h270l227 -1505h-215l-41 307h-213l-40 -307h-216zM231 1761.5q0 61.5 45.5 102.5t109 41t107.5 -41t44 -102.5t-44 -102.5t-107.5 -41t-109 41t-45.5 102.5zM307 541h152l-64 475l-6 39h-12zM309 1761.5q0 -28.5 23.5 -50t52.5 -21.5t52.5 21.5t23.5 50 t-23.5 50t-52.5 21.5t-52.5 -21.5t-23.5 -50z" />
<glyph unicode="&#xc6;" horiz-adv-x="1099" d="M16 0l420 1505h623v-227h-285v-395h205v-242h-205v-414h285v-227h-506v307h-227l-90 -307h-220zM393 541h160v514h-10z" />
<glyph unicode="&#xc7;" horiz-adv-x="708" d="M68 309v887q0 42 17 106t45 107t88.5 78t144 35t144 -34t88.5 -81q55 -93 60 -178l2 -33v-207h-206v207q-2 0 0 11.5t-3.5 27.5t-12.5 33q-17 39 -68 39q-70 -10 -78 -111v-887q0 -43 21.5 -76.5t59.5 -33.5t59.5 27.5t21.5 56.5v233h206v-207q0 -42 -17 -106t-45 -107 t-88.5 -77.5t-144 -34.5t-144 33.5t-88.5 81.5q-55 94 -60 175zM268 -111v-141h64l-41 -133h104l45 133v141h-172z" />
<glyph unicode="&#xc8;" horiz-adv-x="628" d="M82 0v1505h506v-227h-285v-395h205v-242h-205v-414h285v-227h-506zM111 1823h215l106 -185h-160z" />
<glyph unicode="&#xc9;" horiz-adv-x="628" d="M82 0v1505h506v-227h-285v-395h205v-242h-205v-414h285v-227h-506zM236 1638l106 185h215l-162 -185h-159z" />
<glyph unicode="&#xca;" horiz-adv-x="628" d="M82 0v1505h506v-227h-285v-395h205v-242h-205v-414h285v-227h-506zM84 1638l141 185h219l142 -185h-189l-63 72l-62 -72h-188z" />
<glyph unicode="&#xcb;" horiz-adv-x="628" d="M82 0v1505h506v-227h-285v-395h205v-242h-205v-414h285v-227h-506zM94 1638v201h191v-201h-191zM383 1638v201h190v-201h-190z" />
<glyph unicode="&#xcc;" horiz-adv-x="401" d="M-6 1823h215l106 -185h-159zM98 0v1505h221v-1505h-221z" />
<glyph unicode="&#xcd;" horiz-adv-x="401" d="M82 0v1505h221v-1505h-221zM86 1638l107 185h215l-162 -185h-160z" />
<glyph unicode="&#xce;" horiz-adv-x="370" d="M-66 1638l142 185h219l141 -185h-188l-64 72l-61 -72h-189zM74 0v1505h221v-1505h-221z" />
<glyph unicode="&#xcf;" horiz-adv-x="372" d="M-53 1638v201h190v-201h-190zM76 0v1505h221v-1505h-221zM236 1638v201h190v-201h-190z" />
<glyph unicode="&#xd0;" horiz-adv-x="761" d="M20 655v228h62v622h174q270 0 346 -113q31 -46 50.5 -95.5t28.5 -139.5t12 -177t3 -228.5t-3 -228.5t-12 -176t-28.5 -138t-50.5 -95t-80 -68q-106 -46 -266 -46h-174v655h-62zM303 221q117 0 141.5 81t22.5 452q2 371 -22.5 450.5t-141.5 79.5v-401h84v-228h-84v-434z " />
<glyph unicode="&#xd1;" horiz-adv-x="808" d="M82 0v1505h197l215 -784l18 -70h12v854h203v-1505h-197l-215 784l-18 70h-12v-854h-203zM207 1632v152q49 39 95 39t104.5 -18.5t102.5 -19.5t95 32v-152q-51 -39 -95 -39t-102.5 19.5t-100 19.5t-99.5 -33z" />
<glyph unicode="&#xd2;" d="M68 309v887q0 42 17 106t45 107t88.5 78t144 35t144 -34t88.5 -81q55 -93 60 -178l2 -33v-887q0 -42 -17 -106t-45 -107t-88.5 -77.5t-144 -34.5t-144 33.5t-88.5 81.5q-55 94 -60 175zM121 1823h215l106 -185h-159zM289 309q0 -46 19.5 -78t54 -32t53 27.5t18.5 56.5 l2 26v887q0 46 -19.5 78.5t-54 32.5t-53 -28t-18.5 -54l-2 -29v-887z" />
<glyph unicode="&#xd3;" d="M68 309v887q0 42 17 106t45 107t88.5 78t144 35t144 -34t88.5 -81q55 -93 60 -178l2 -33v-887q0 -42 -17 -106t-45 -107t-88.5 -77.5t-144 -34.5t-144 33.5t-88.5 81.5q-55 94 -60 175zM285 1638l106 185h215l-162 -185h-159zM289 309q0 -46 19.5 -78t54 -32t53 27.5 t18.5 56.5l2 26v887q0 46 -19.5 78.5t-54 32.5t-53 -28t-18.5 -54l-2 -29v-887z" />
<glyph unicode="&#xd4;" d="M68 309v887q0 42 17 106t45 107t88.5 78t144 35t144 -34t88.5 -81q55 -93 60 -178l2 -33v-887q0 -42 -17 -106t-45 -107t-88.5 -77.5t-144 -34.5t-144 33.5t-88.5 81.5q-55 94 -60 175zM113 1638l141 185h219l141 -185h-188l-64 72l-61 -72h-188zM289 309q0 -46 19.5 -78 t54 -32t53 27.5t18.5 56.5l2 26v887q0 46 -19.5 78.5t-54 32.5t-53 -28t-18.5 -54l-2 -29v-887z" />
<glyph unicode="&#xd5;" d="M68 309v887q0 42 17 106t45 107t88.5 78t144 35t144 -34t88.5 -81q55 -93 60 -178l2 -33v-887q0 -42 -17 -106t-45 -107t-88.5 -77.5t-144 -34.5t-144 33.5t-88.5 81.5q-55 94 -60 175zM164 1632v152q49 39 95 39t104.5 -18.5t102.5 -19.5t95 32v-152q-51 -39 -95 -39 t-102.5 19.5t-100 19.5t-99.5 -33zM289 309q0 -46 19.5 -78t54 -32t53 27.5t18.5 56.5l2 26v887q0 46 -19.5 78.5t-54 32.5t-53 -28t-18.5 -54l-2 -29v-887z" />
<glyph unicode="&#xd6;" d="M68 309v887q0 42 17 106t45 107t88.5 78t144 35t144 -34t88.5 -81q55 -93 60 -178l2 -33v-887q0 -42 -17 -106t-45 -107t-88.5 -77.5t-144 -34.5t-144 33.5t-88.5 81.5q-55 94 -60 175zM123 1638v201h190v-201h-190zM289 309q0 -46 19.5 -78t54 -32t53 27.5t18.5 56.5 l2 26v887q0 46 -19.5 78.5t-54 32.5t-53 -28t-18.5 -54l-2 -29v-887zM412 1638v201h190v-201h-190z" />
<glyph unicode="&#xd8;" d="M59 -20l47 157q-36 74 -36 148l-2 24v887q0 42 17 106t45 107t88.5 78t148 35t153.5 -43l15 47h122l-45 -150q43 -84 43 -155l2 -25v-887q0 -42 -17 -106t-45 -107t-88.5 -77.5t-150.5 -34.5t-153 43l-15 -47h-129zM289 309q0 -46 19.5 -78t54 -32t53 27.5t18.5 56.5 l2 26v488zM289 727l147 479q-8 100 -74 101q-35 0 -53 -28t-18 -54l-2 -29v-469z" />
<glyph unicode="&#xd9;" horiz-adv-x="749" d="M80 309q0 -42 17.5 -106t45 -107t88 -77.5t144.5 -34.5t144.5 33.5t88.5 81.5q55 97 60 175l2 35v1196h-221v-1196q0 -44 -19.5 -77t-54.5 -33t-53.5 27.5t-18.5 56.5l-2 26v1196h-221v-1196zM145 1823h215l107 -185h-160z" />
<glyph unicode="&#xda;" horiz-adv-x="749" d="M80 309q0 -42 17.5 -106t45 -107t88 -77.5t144.5 -34.5t144.5 33.5t88.5 81.5q55 97 60 175l2 35v1196h-221v-1196q0 -44 -19.5 -77t-54.5 -33t-53.5 27.5t-18.5 56.5l-2 26v1196h-221v-1196zM307 1638l107 185h215l-162 -185h-160z" />
<glyph unicode="&#xdb;" horiz-adv-x="749" d="M80 309q0 -42 17.5 -106t45 -107t88 -77.5t144.5 -34.5t144.5 33.5t88.5 81.5q55 97 60 175l2 35v1196h-221v-1196q0 -44 -19.5 -77t-54.5 -33t-53.5 27.5t-18.5 56.5l-2 26v1196h-221v-1196zM125 1638l141 185h219l142 -185h-189l-63 72l-62 -72h-188z" />
<glyph unicode="&#xdc;" horiz-adv-x="749" d="M80 309v1196h221v-1196q0 -46 19.5 -78t54.5 -32t53 27.5t18 56.5l3 26v1196h221v-1196q0 -42 -17.5 -106t-45 -107t-88 -77.5t-144.5 -34.5t-144.5 33.5t-88.5 81.5q-55 97 -60 175zM135 1638v201h191v-201h-191zM424 1638v201h190v-201h-190z" />
<glyph unicode="&#xdd;" horiz-adv-x="704" d="M16 1505l226 -864v-641h221v641l225 864h-217l-111 -481l-6 -14h-4l-6 14l-111 481h-217zM254 1638l106 185h215l-161 -185h-160z" />
<glyph unicode="&#xde;" d="M82 0v1505h219v-241h2q166 0 277.5 -105.5t111.5 -345.5t-111.5 -346.5t-277.5 -106.5v-360h-221zM303 586q102 0 134 45t32 175t-33 181t-133 51v-452z" />
<glyph unicode="&#xdf;" horiz-adv-x="733" d="M66 0v1235q0 123 70.5 205t206.5 82t204.5 -81t68.5 -197t-88 -181q152 -88 152 -488q0 -362 -87 -475q-46 -59 -102.5 -79.5t-144.5 -20.5v193q45 0 70 25q57 57 57 357q0 316 -57 377q-25 27 -70 27v141q35 0 60.5 33t25.5 84q0 100 -86 100q-74 0 -74 -102v-1235h-206 z" />
<glyph unicode="&#xe0;" horiz-adv-x="681" d="M49 235q0 131 34 212t83 124t98 73t88 50.5t43 36.5v123q0 102 -57 102q-41 0 -50 -42t-9 -84v-39h-207v47q0 123 80.5 211t190 88t184.5 -74t75 -180v-688q0 -109 14 -195h-202q-18 20 -19 90h-14q-20 -37 -65.5 -71.5t-102.5 -34.5t-110.5 60t-53.5 191zM102 1489h215 l107 -184h-160zM252 291q0 -104 57 -105q35 0 60.5 19.5t25.5 48.5v287q-143 -62 -143 -250z" />
<glyph unicode="&#xe1;" horiz-adv-x="681" d="M49 235q0 131 34 212t83 124t98 73t88 50.5t43 36.5v123q0 102 -57 102q-41 0 -50 -42t-9 -84v-39h-207v47q0 123 80.5 211t190 88t184.5 -74t75 -180v-688q0 -109 14 -195h-202q-18 20 -19 90h-14q-20 -37 -65.5 -71.5t-102.5 -34.5t-110.5 60t-53.5 191zM252 291 q0 -104 57 -105q35 0 60.5 19.5t25.5 48.5v287q-143 -62 -143 -250zM264 1305l107 184h215l-162 -184h-160z" />
<glyph unicode="&#xe2;" horiz-adv-x="681" d="M49 235q0 131 34 212t83 124t98 73t88 50.5t43 36.5v123q0 102 -57 102q-41 0 -50 -42t-9 -84v-39h-207v47q0 123 80.5 211t190 88t184.5 -74t75 -180v-688q0 -109 14 -195h-202q-18 20 -19 90h-14q-20 -37 -65.5 -71.5t-102.5 -34.5t-110.5 60t-53.5 191zM90 1305 l141 184h220l141 -184h-189l-63 71l-61 -71h-189zM252 291q0 -104 57 -105q35 0 60.5 19.5t25.5 48.5v287q-143 -62 -143 -250z" />
<glyph unicode="&#xe3;" horiz-adv-x="681" d="M49 235q0 131 34 212t83 124t98 73t88 50.5t43 36.5v123q0 102 -57 102q-41 0 -50 -42t-9 -84v-39h-207v47q0 123 80.5 211t190 88t184.5 -74t75 -180v-688q0 -109 14 -195h-202q-18 20 -19 90h-14q-20 -37 -65.5 -71.5t-102.5 -34.5t-110.5 60t-53.5 191zM143 1305v151 q49 39 95.5 39t104.5 -18.5t97 -19.5t101 32v-152q-51 -39 -95.5 -39t-102.5 19.5t-99 19.5t-101 -32zM252 291q0 -104 57 -105q35 0 60.5 19.5t25.5 48.5v287q-143 -62 -143 -250z" />
<glyph unicode="&#xe4;" horiz-adv-x="681" d="M49 235q0 131 34 212t83 124t98 73t88 50.5t43 36.5v123q0 102 -57 102q-41 0 -50 -42t-9 -84v-39h-207v47q0 123 80.5 211t190 88t184.5 -74t75 -180v-688q0 -109 14 -195h-202q-18 20 -19 90h-14q-20 -37 -65.5 -71.5t-102.5 -34.5t-110.5 60t-53.5 191zM102 1305v200 h191v-200h-191zM252 291q0 -104 57 -105q35 0 60.5 19.5t25.5 48.5v287q-143 -62 -143 -250zM391 1305v200h191v-200h-191z" />
<glyph unicode="&#xe5;" horiz-adv-x="681" d="M49 235q0 131 34 212t83 124t98 73t88 50.5t43 36.5v123q0 102 -57 102q-41 0 -50 -42t-9 -84v-39h-207v47q0 123 80.5 211t190 88t184.5 -74t75 -180v-688q0 -109 14 -195h-202q-18 20 -19 90h-14q-20 -37 -65.5 -71.5t-102.5 -34.5t-110.5 60t-53.5 191zM188 1421.5 q0 61.5 45.5 102.5t109 41t107.5 -41t44 -102.5t-44 -102.5t-107.5 -41t-109 41t-45.5 102.5zM252 291q0 -104 57 -105q35 0 60.5 19.5t25.5 48.5v287q-143 -62 -143 -250zM266 1421.5q0 -28.5 23.5 -50t52.5 -21.5t52.5 21.5t23.5 50t-23.5 50t-52.5 21.5t-52.5 -21.5 t-23.5 -50z" />
<glyph unicode="&#xe6;" horiz-adv-x="989" d="M49 235q0 131 34 212t83 124t98 73t88 50.5t43 36.5v123q0 102 -57 102q-41 0 -50 -42t-9 -84v-39h-207v47q0 123 80.5 211t197.5 88q84 0 152 -52q66 51 162 52q199 0 251 -197q14 -51 15 -92v-326h-342v-256q0 -60 38 -88q17 -12 38 -12q70 10 73 113v122h193v-129 q0 -37 -16.5 -93t-41 -95t-80 -69.5t-130.5 -30.5q-158 0 -226 131q-102 -131 -221 -131q-59 0 -112.5 60t-53.5 191zM252 291q0 -104 57 -105q35 0 60.5 19.5t25.5 48.5v287q-143 -62 -143 -250zM588 684h149v158q0 48 -19.5 81t-53 33t-53 -28.5t-21.5 -57.5l-2 -28v-158z " />
<glyph unicode="&#xe7;" horiz-adv-x="645" d="M66 315v490q0 332 264 332q137 0 201.5 -71t64.5 -251v-88h-207v135q0 51 -12 70.5t-47 19.5q-58 0 -58 -90v-604q0 -90 58 -90q35 0 47 19.5t12 70.5v156h207v-109q0 -180 -64.5 -250.5t-201.5 -70.5q-264 0 -264 331zM238 -111v-141h63l-41 -133h105l45 133v141h-172z " />
<glyph unicode="&#xe8;" horiz-adv-x="659" d="M66 279v563q0 36 16 94.5t42 97.5t81 71t129 32q199 0 252 -197q14 -51 14 -92v-326h-342v-256q0 -59 39 -88q16 -12 37 -12q70 10 74 113v122h192v-129q0 -37 -16.5 -93t-41 -95t-79.5 -69.5t-130 -30.5t-130.5 30.5t-80.5 73.5q-49 87 -54 160zM102 1489h215l107 -184 h-160zM258 684h150v158q0 48 -19.5 81t-53.5 33t-53.5 -28.5t-21.5 -57.5l-2 -28v-158z" />
<glyph unicode="&#xe9;" horiz-adv-x="659" d="M66 279v563q0 36 16 94.5t42 97.5t81 71t129 32q199 0 252 -197q14 -51 14 -92v-326h-342v-256q0 -59 39 -88q16 -12 37 -12q70 10 74 113v122h192v-129q0 -37 -16.5 -93t-41 -95t-79.5 -69.5t-130 -30.5t-130.5 30.5t-80.5 73.5q-49 87 -54 160zM258 684h150v158 q0 48 -19.5 81t-53.5 33t-53.5 -28.5t-21.5 -57.5l-2 -28v-158zM264 1305l107 184h215l-162 -184h-160z" />
<glyph unicode="&#xea;" horiz-adv-x="659" d="M66 279v563q0 36 16 94.5t42 97.5t81 71t129 32q199 0 252 -197q14 -51 14 -92v-326h-342v-256q0 -59 39 -88q16 -12 37 -12q70 10 74 113v122h192v-129q0 -37 -16.5 -93t-41 -95t-79.5 -69.5t-130 -30.5t-130.5 30.5t-80.5 73.5q-49 87 -54 160zM80 1305l141 184h219 l142 -184h-189l-63 71l-62 -71h-188zM258 684h150v158q0 48 -19.5 81t-53.5 33t-53.5 -28.5t-21.5 -57.5l-2 -28v-158z" />
<glyph unicode="&#xeb;" horiz-adv-x="659" d="M66 279v563q0 36 16 94.5t42 97.5t81 71t129 32q199 0 252 -197q14 -51 14 -92v-326h-342v-256q0 -59 39 -88q16 -12 37 -12q70 10 74 113v122h192v-129q0 -37 -16.5 -93t-41 -95t-79.5 -69.5t-130 -30.5t-130.5 30.5t-80.5 73.5q-49 87 -54 160zM90 1305v200h191v-200 h-191zM258 684h150v158q0 48 -19.5 81t-53.5 33t-53.5 -28.5t-21.5 -57.5l-2 -28v-158zM379 1305v200h190v-200h-190z" />
<glyph unicode="&#xec;" horiz-adv-x="370" d="M-33 1489h215l107 -184h-160zM82 0h207v1120h-207v-1120z" />
<glyph unicode="&#xed;" horiz-adv-x="370" d="M82 0h207v1120h-207v-1120zM82 1305l106 184h215l-161 -184h-160z" />
<glyph unicode="&#xee;" horiz-adv-x="370" d="M-66 1305l142 184h219l141 -184h-188l-64 71l-61 -71h-189zM82 0h207v1120h-207v-1120z" />
<glyph unicode="&#xef;" horiz-adv-x="372" d="M-53 1305v200h190v-200h-190zM82 0v1120h207v-1120h-207zM236 1305v200h190v-200h-190z" />
<glyph unicode="&#xf0;" horiz-adv-x="673" d="M76 279v579q0 279 172 279q63 0 155 -78q-12 109 -51 203l-82 -72l-55 63l100 88l-45 66l109 100q25 -27 53 -61l94 82l56 -66l-101 -88q125 -201 125 -446v-656q0 -102 -56 -188q-26 -39 -80 -69.5t-129 -30.5t-130 30.5t-80 73.5q-53 91 -53 160zM270 267.5 q-2 -11.5 2 -29t10 -34.5q16 -38 58 -38q70 10 72 113v563q-2 0 0 11t-2 28.5t-10 34.5q-16 40 -60 40q-68 -10 -70 -114v-563q2 0 0 -11.5z" />
<glyph unicode="&#xf1;" horiz-adv-x="690" d="M82 0v1120h207v-94l32 32q79 79 145.5 79t106 -69t39.5 -150v-918h-206v887q-1 49 -50 49q-41 0 -67 -53v-883h-207zM147 1305v151q49 39 95.5 39t105 -18.5t97 -19.5t100.5 32v-152q-51 -39 -95.5 -39t-102.5 19.5t-99 19.5t-101 -32z" />
<glyph unicode="&#xf2;" horiz-adv-x="657" d="M63 279v563q0 40 15.5 96.5t40 95.5t80 71t129.5 32q199 0 252 -197q14 -51 14 -92v-576q0 -102 -56 -188q-26 -39 -80.5 -69.5t-129 -30.5t-130 30.5t-80.5 73.5q-52 92 -52 160zM98 1489h215l107 -184h-160zM258 267.5q-2 -11.5 2 -29t10 -34.5q14 -38 58 -38 q70 10 71 113v563q-2 0 0 11t-2 28.5t-10 34.5q-15 40 -59 40q-68 -10 -70 -114v-563q2 0 0 -11.5z" />
<glyph unicode="&#xf3;" horiz-adv-x="657" d="M63 279v563q0 40 15.5 96.5t40 95.5t80 71t129.5 32q199 0 252 -197q14 -51 14 -92v-576q0 -102 -56 -188q-26 -39 -80.5 -69.5t-129 -30.5t-130 30.5t-80.5 73.5q-52 92 -52 160zM258 267.5q-2 -11.5 2 -29t10 -34.5q14 -38 58 -38q70 10 71 113v563q-2 0 0 11t-2 28.5 t-10 34.5q-15 40 -59 40q-68 -10 -70 -114v-563q2 0 0 -11.5zM260 1305l107 184h215l-162 -184h-160z" />
<glyph unicode="&#xf4;" horiz-adv-x="657" d="M63 279v563q0 40 15.5 96.5t40 95.5t80 71t129.5 32q199 0 252 -197q14 -51 14 -92v-576q0 -102 -56 -188q-26 -39 -80.5 -69.5t-129 -30.5t-130 30.5t-80.5 73.5q-52 92 -52 160zM78 1305l141 184h219l142 -184h-189l-63 71l-62 -71h-188zM258 267.5q-2 -11.5 2 -29 t10 -34.5q14 -38 58 -38q70 10 71 113v563q-2 0 0 11t-2 28.5t-10 34.5q-15 40 -59 40q-68 -10 -70 -114v-563q2 0 0 -11.5z" />
<glyph unicode="&#xf5;" horiz-adv-x="657" d="M63 279v563q0 40 15.5 96.5t40 95.5t80 71t129.5 32q199 0 252 -197q14 -51 14 -92v-576q0 -102 -56 -188q-26 -39 -80.5 -69.5t-129 -30.5t-130 30.5t-80.5 73.5q-52 92 -52 160zM131 1305v151q49 39 95.5 39t104.5 -18.5t98.5 -19.5t98.5 32v-152q-51 -39 -95 -39 t-102 19.5t-101 19.5t-99 -32zM258 267.5q-2 -11.5 2 -29t10 -34.5q14 -38 58 -38q70 10 71 113v563q-2 0 0 11t-2 28.5t-10 34.5q-15 40 -59 40q-68 -10 -70 -114v-563q2 0 0 -11.5z" />
<glyph unicode="&#xf6;" horiz-adv-x="657" d="M63 279v563q0 40 15.5 96.5t40 95.5t80 71t129.5 32q199 0 252 -197q14 -51 14 -92v-576q0 -102 -56 -188q-26 -39 -80.5 -69.5t-129 -30.5t-130 30.5t-80.5 73.5q-52 92 -52 160zM90 1305v200h191v-200h-191zM258 267.5q-2 -11.5 2 -29t10 -34.5q14 -38 58 -38 q70 10 71 113v563q-2 0 0 11t-2 28.5t-10 34.5q-15 40 -59 40q-68 -10 -70 -114v-563q2 0 0 -11.5zM379 1305v200h190v-200h-190z" />
<glyph unicode="&#xf8;" horiz-adv-x="657" d="M63 279v563q0 40 15.5 96.5t40 95.5t80 71t118 32t117.5 -19l21 80h75l-30 -121q88 -84 94 -229v-576q0 -102 -56 -188q-26 -39 -80.5 -69.5t-120.5 -30.5t-112 16l-20 -78h-80l31 121q-41 39 -64.5 97.5t-25.5 97.5zM258 436l125 486q-18 35 -55 34q-68 -10 -70 -114 v-406zM274 197q17 -31 54 -31q70 10 71 113v403z" />
<glyph unicode="&#xf9;" horiz-adv-x="690" d="M78 203v917h207v-887q0 -49 49 -49q41 0 67 54v882h207v-1120h-207v94l-31 -32q-78 -78 -145.5 -78t-107 68.5t-39.5 150.5zM113 1489h215l106 -184h-160z" />
<glyph unicode="&#xfa;" horiz-adv-x="690" d="M78 203v917h207v-887q0 -49 49 -49q41 0 67 54v882h207v-1120h-207v94l-31 -32q-78 -78 -145.5 -78t-107 68.5t-39.5 150.5zM274 1305l107 184h215l-162 -184h-160z" />
<glyph unicode="&#xfb;" horiz-adv-x="690" d="M78 203v917h207v-887q0 -49 49 -49q41 0 67 54v882h207v-1120h-207v94l-31 -32q-78 -78 -145.5 -78t-107 68.5t-39.5 150.5zM94 1305l142 184h219l141 -184h-188l-64 71l-61 -71h-189z" />
<glyph unicode="&#xfc;" horiz-adv-x="690" d="M78 203v917h207v-887q0 -49 49 -49q41 0 67 54v882h207v-1120h-207v94l-31 -32q-78 -78 -145.5 -78t-107 68.5t-39.5 150.5zM106 1305v200h191v-200h-191zM395 1305v200h191v-200h-191z" />
<glyph unicode="&#xfd;" horiz-adv-x="634" d="M25 1120l190 -1153q0 -68 -36 -123t-97 -61l-49 4v-184q70 -4 92 -4q115 0 192.5 95t94.5 222l198 1204h-202l-82 -688l-4 -57h-9l-4 57l-82 688h-202zM231 1305l107 184h215l-162 -184h-160z" />
<glyph unicode="&#xfe;" horiz-adv-x="686" d="M82 -385v1890h207v-458q88 90 165 90t117.5 -69t40.5 -150v-715q0 -82 -41 -150.5t-118 -68.5q-33 0 -74 22.5t-66 44.5l-24 23v-459h-207zM289 246q0 -25 19.5 -46.5t42 -21.5t39 19.5t16.5 48.5v628q0 29 -16.5 48.5t-39 19.5t-42 -19.5t-19.5 -48.5v-628z" />
<glyph unicode="&#xff;" horiz-adv-x="634" d="M25 1120h202l82 -688l4 -57h9l4 57l82 688h202l-198 -1204q-16 -127 -94 -222t-193 -95l-92 4v184q16 -4 49 -4q61 6 97 61.5t36 122.5zM78 1305v200h190v-200h-190zM367 1305v200h190v-200h-190z" />
<glyph unicode="&#x152;" horiz-adv-x="983" d="M68 309v887q0 41 17 101.5t45 100.5t88.5 73.5t143.5 33.5h580v-227h-285v-395h205v-242h-205v-414h285v-227h-580q-84 0 -144 31.5t-88 78.5q-55 91 -60 169zM289 309q0 -46 19.5 -78t54 -32t53 27.5t18.5 56.5l2 26v901q-6 96 -74 97q-35 0 -53 -28t-18 -54l-2 -29 v-887z" />
<glyph unicode="&#x153;" horiz-adv-x="995" d="M63 279v563q0 40 15.5 96.5t40 95.5t80 71t145.5 32t156 -60q66 59 170 60q199 0 252 -197q14 -51 14 -92v-326h-342v-250q0 -46 22.5 -76t53.5 -30q70 10 73 113v122h193v-129q0 -37 -16.5 -93t-41 -95t-80 -69.5t-146 -30.5t-154.5 57q-68 -57 -156 -57t-143.5 30.5 t-80.5 73.5q-52 92 -52 160zM258 267.5q-2 -11.5 2 -29t10 -34.5q14 -38 58 -38q70 10 71 113v563q-2 0 0 11t-2 28.5t-10 34.5q-15 40 -59 40q-68 -10 -70 -114v-563q2 0 0 -11.5zM594 684h149v158q0 48 -19 81t-58 33t-55.5 -37.5t-16.5 -70.5v-164z" />
<glyph unicode="&#x178;" horiz-adv-x="704" d="M16 1505h217l111 -481l6 -14h4l6 14l111 481h217l-225 -864v-641h-221v641zM113 1638v201h190v-201h-190zM401 1638v201h191v-201h-191z" />
<glyph unicode="&#x2c6;" horiz-adv-x="1021" d="M260 1305l141 184h220l141 -184h-189l-63 71l-61 -71h-189z" />
<glyph unicode="&#x2dc;" horiz-adv-x="1024" d="M313 1305v151q49 39 95.5 39t104.5 -18.5t97 -19.5t101 32v-152q-51 -39 -95.5 -39t-102.5 19.5t-99 19.5t-101 -32z" />
<glyph unicode="&#x2000;" horiz-adv-x="952" />
<glyph unicode="&#x2001;" horiz-adv-x="1905" />
<glyph unicode="&#x2002;" horiz-adv-x="952" />
<glyph unicode="&#x2003;" horiz-adv-x="1905" />
<glyph unicode="&#x2004;" horiz-adv-x="635" />
<glyph unicode="&#x2005;" horiz-adv-x="476" />
<glyph unicode="&#x2006;" horiz-adv-x="317" />
<glyph unicode="&#x2007;" horiz-adv-x="317" />
<glyph unicode="&#x2008;" horiz-adv-x="238" />
<glyph unicode="&#x2009;" horiz-adv-x="381" />
<glyph unicode="&#x200a;" horiz-adv-x="105" />
<glyph unicode="&#x2010;" horiz-adv-x="444" d="M74 455v194h297v-194h-297z" />
<glyph unicode="&#x2011;" horiz-adv-x="444" d="M74 455v194h297v-194h-297z" />
<glyph unicode="&#x2012;" horiz-adv-x="444" d="M74 455v194h297v-194h-297z" />
<glyph unicode="&#x2013;" horiz-adv-x="806" d="M74 649v195h659v-195h-659z" />
<glyph unicode="&#x2014;" horiz-adv-x="972" d="M74 649v195h825v-195h-825z" />
<glyph unicode="&#x2018;" horiz-adv-x="309" d="M49 1012v227l113 266h102l-71 -266h71v-227h-215z" />
<glyph unicode="&#x2019;" horiz-adv-x="309" d="M45 1012l72 266h-72v227h215v-227l-113 -266h-102z" />
<glyph unicode="&#x201a;" horiz-adv-x="309" d="M45 0v227h215v-227l-113 -266h-102l72 266h-72z" />
<glyph unicode="&#x201c;" horiz-adv-x="624" d="M53 1012v227l113 266h102l-71 -266h71v-227h-215zM356 1012v227l113 266h102l-71 -266h71v-227h-215z" />
<glyph unicode="&#x201d;" horiz-adv-x="624" d="M53 1012l72 266h-72v227h215v-227l-112 -266h-103zM356 1012l72 266h-72v227h215v-227l-112 -266h-103z" />
<glyph unicode="&#x201e;" horiz-adv-x="624" d="M53 0v227h215v-227l-112 -266h-103l72 266h-72zM356 0v227h215v-227l-112 -266h-103l72 266h-72z" />
<glyph unicode="&#x2022;" horiz-adv-x="663" d="M82 815q0 104 72.5 177t177 73t177.5 -72.5t73 -177t-73 -177.5t-177 -73t-177 73t-73 177z" />
<glyph unicode="&#x2026;" horiz-adv-x="964" d="M53 0v227h215v-227h-215zM375 0v227h215v-227h-215zM696 0v227h215v-227h-215z" />
<glyph unicode="&#x202f;" horiz-adv-x="381" />
<glyph unicode="&#x2039;" horiz-adv-x="1058" d="M74 649v160l911 475v-199l-698 -356l698 -356v-199z" />
<glyph unicode="&#x203a;" horiz-adv-x="1058" d="M74 174v199l698 356l-698 356v199l911 -475v-160z" />
<glyph unicode="&#x205f;" horiz-adv-x="476" />
<glyph unicode="&#x20ac;" horiz-adv-x="813" d="M53 547v137h107v137h-107v137h107v238q0 42 17.5 106t45 107t88 78t144.5 35t144 -34t88 -81q53 -90 61 -178l2 -33v-84h-207v84q-2 0 0 11.5t-3 27.5t-12 33q-18 39 -69 39q-70 -10 -78 -111v-238h233v-137h-233v-137h233v-137h-233v-238q0 -43 21.5 -76.5t59.5 -33.5 t58.5 27.5t20.5 56.5l2 26v84h207v-84q0 -38 -17.5 -104t-45.5 -109t-88 -77.5t-144 -34.5t-144.5 33.5t-88.5 81.5q-55 97 -60 175l-2 35v238h-107z" />
<glyph unicode="&#x2122;" horiz-adv-x="937" d="M74 1401v104h321v-104h-104v-580h-113v580h-104zM440 821v684h138l67 -319h6l68 319h137v-684h-104v449l-78 -449h-51l-80 449v-449h-103z" />
<glyph unicode="&#xe000;" horiz-adv-x="1120" d="M0 0v1120h1120v-1120h-1120z" />
<glyph unicode="&#xfb01;" horiz-adv-x="772" d="M20 934v186h105v31q0 172 31 231q16 31 42 67q53 71 181 71q59 0 127 -13l20 -2v-184q-41 12 -91 12t-69.5 -18.5t-25.5 -58.5q-8 -52 -8 -107v-29h358v-1120h-207v934h-151v-934h-207v934h-105z" />
<glyph unicode="&#xfb02;" horiz-adv-x="772" d="M20 934v186h105v31q0 172 31 231q16 31 42 67q53 71 181 71q59 0 127 -13l20 -2h164v-1505h-207v1329q-37 4 -67.5 4t-50 -18.5t-25.5 -58.5q-8 -52 -8 -107v-29h104v-186h-104v-934h-207v934h-105z" />
<glyph unicode="&#xfb03;" horiz-adv-x="1320" d="M20 934v186h105v31q0 190 51 270q23 35 71 63.5t115 28.5l97 -14v-178q-27 8 -62 8q-66 0 -65 -180v-29h104v-186h-104v-934h-207v934h-105zM495 934v186h105v31q0 190 51 270q23 35 71 63.5t115 28.5l97 -14v-178q-27 8 -62 8q-66 0 -65 -180v-29h104v-186h-104v-934 h-207v934h-105zM1032 0v1120h207v-1120h-207zM1032 1298v207h207v-207h-207z" />
<glyph unicode="&#xfb04;" horiz-adv-x="1320" d="M20 934v186h105v31q0 190 51 270q23 35 71 63.5t115 28.5l97 -14v-178q-27 8 -62 8q-66 0 -65 -180v-29h104v-186h-104v-934h-207v934h-105zM495 934v186h105v31q0 190 51 270q23 35 71 63.5t115 28.5l97 -14v-178q-27 8 -62 8q-66 0 -65 -180v-29h104v-186h-104v-934 h-207v934h-105zM1032 0v1505h207v-1505h-207z" />
</font>
</defs></svg>

Before

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,45 @@
SIL Open Font License
Copyright 2010, 2012 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name Source. All Rights Reserved. Source is a trademark of Adobe Systems Incorporated in the United States and/or other countries.
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL
—————————————————————————————-
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
—————————————————————————————-
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others.
The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives.
DEFINITIONS
“Font Software” refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation.
“Reserved Font Name” refers to any names specified as such after the copyright statement(s).
“Original Version” refers to the collection of Font Software components as distributed by the Copyright Holder(s).
“Modified Version” refers to any derivative made by adding to, deleting, or substituting—in part or in whole—any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment.
“Author” refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions:
1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself.
2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user.
3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users.
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission.
5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,39 @@
@font-face {
font-family: 'Source Sans Pro';
src: url('source-sans-pro-regular.eot');
src: url('source-sans-pro-regular.eot?#iefix') format('embedded-opentype'),
url('source-sans-pro-regular.woff') format('woff'),
url('source-sans-pro-regular.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'Source Sans Pro';
src: url('source-sans-pro-italic.eot');
src: url('source-sans-pro-italic.eot?#iefix') format('embedded-opentype'),
url('source-sans-pro-italic.woff') format('woff'),
url('source-sans-pro-italic.ttf') format('truetype');
font-weight: normal;
font-style: italic;
}
@font-face {
font-family: 'Source Sans Pro';
src: url('source-sans-pro-semibold.eot');
src: url('source-sans-pro-semibold.eot?#iefix') format('embedded-opentype'),
url('source-sans-pro-semibold.woff') format('woff'),
url('source-sans-pro-semibold.ttf') format('truetype');
font-weight: 600;
font-style: normal;
}
@font-face {
font-family: 'Source Sans Pro';
src: url('source-sans-pro-semibolditalic.eot');
src: url('source-sans-pro-semibolditalic.eot?#iefix') format('embedded-opentype'),
url('source-sans-pro-semibolditalic.woff') format('woff'),
url('source-sans-pro-semibolditalic.ttf') format('truetype');
font-weight: 600;
font-style: italic;
}

View File

@@ -1,2 +0,0 @@
/*! @source http://purl.eligrey.com/github/classList.js/blob/master/classList.js*/
if(typeof document!=="undefined"&&!("classList" in document.createElement("a"))){(function(j){var a="classList",f="prototype",m=(j.HTMLElement||j.Element)[f],b=Object,k=String[f].trim||function(){return this.replace(/^\s+|\s+$/g,"")},c=Array[f].indexOf||function(q){var p=0,o=this.length;for(;p<o;p++){if(p in this&&this[p]===q){return p}}return -1},n=function(o,p){this.name=o;this.code=DOMException[o];this.message=p},g=function(p,o){if(o===""){throw new n("SYNTAX_ERR","An invalid or illegal string was specified")}if(/\s/.test(o)){throw new n("INVALID_CHARACTER_ERR","String contains an invalid character")}return c.call(p,o)},d=function(s){var r=k.call(s.className),q=r?r.split(/\s+/):[],p=0,o=q.length;for(;p<o;p++){this.push(q[p])}this._updateClassName=function(){s.className=this.toString()}},e=d[f]=[],i=function(){return new d(this)};n[f]=Error[f];e.item=function(o){return this[o]||null};e.contains=function(o){o+="";return g(this,o)!==-1};e.add=function(o){o+="";if(g(this,o)===-1){this.push(o);this._updateClassName()}};e.remove=function(p){p+="";var o=g(this,p);if(o!==-1){this.splice(o,1);this._updateClassName()}};e.toggle=function(o){o+="";if(g(this,o)===-1){this.add(o)}else{this.remove(o)}};e.toString=function(){return this.join(" ")};if(b.defineProperty){var l={get:i,enumerable:true,configurable:true};try{b.defineProperty(m,a,l)}catch(h){if(h.number===-2146823252){l.enumerable=false;b.defineProperty(m,a,l)}}}else{if(b[f].__defineGetter__){m.__defineGetter__(a,i)}}}(self))};

8
lib/js/head.min.js vendored
View File

@@ -1,8 +0,0 @@
/**
Head JS The only script in your <HEAD>
Copyright Tero Piirainen (tipiirai)
License MIT / http://bit.ly/mit-license
Version 0.96
http://headjs.com
*/(function(a){function z(){d||(d=!0,s(e,function(a){p(a)}))}function y(c,d){var e=a.createElement("script");e.type="text/"+(c.type||"javascript"),e.src=c.src||c,e.async=!1,e.onreadystatechange=e.onload=function(){var a=e.readyState;!d.done&&(!a||/loaded|complete/.test(a))&&(d.done=!0,d())},(a.body||b).appendChild(e)}function x(a,b){if(a.state==o)return b&&b();if(a.state==n)return k.ready(a.name,b);if(a.state==m)return a.onpreload.push(function(){x(a,b)});a.state=n,y(a.url,function(){a.state=o,b&&b(),s(g[a.name],function(a){p(a)}),u()&&d&&s(g.ALL,function(a){p(a)})})}function w(a,b){a.state===undefined&&(a.state=m,a.onpreload=[],y({src:a.url,type:"cache"},function(){v(a)}))}function v(a){a.state=l,s(a.onpreload,function(a){a.call()})}function u(a){a=a||h;var b;for(var c in a){if(a.hasOwnProperty(c)&&a[c].state!=o)return!1;b=!0}return b}function t(a){return Object.prototype.toString.call(a)=="[object Function]"}function s(a,b){if(!!a){typeof a=="object"&&(a=[].slice.call(a));for(var c=0;c<a.length;c++)b.call(a,a[c],c)}}function r(a){var b;if(typeof a=="object")for(var c in a)a[c]&&(b={name:c,url:a[c]});else b={name:q(a),url:a};var d=h[b.name];if(d&&d.url===b.url)return d;h[b.name]=b;return b}function q(a){var b=a.split("/"),c=b[b.length-1],d=c.indexOf("?");return d!=-1?c.substring(0,d):c}function p(a){a._done||(a(),a._done=1)}var b=a.documentElement,c,d,e=[],f=[],g={},h={},i=a.createElement("script").async===!0||"MozAppearance"in a.documentElement.style||window.opera,j=window.head_conf&&head_conf.head||"head",k=window[j]=window[j]||function(){k.ready.apply(null,arguments)},l=1,m=2,n=3,o=4;i?k.js=function(){var a=arguments,b=a[a.length-1],c={};t(b)||(b=null),s(a,function(d,e){d!=b&&(d=r(d),c[d.name]=d,x(d,b&&e==a.length-2?function(){u(c)&&p(b)}:null))});return k}:k.js=function(){var a=arguments,b=[].slice.call(a,1),d=b[0];if(!c){f.push(function(){k.js.apply(null,a)});return k}d?(s(b,function(a){t(a)||w(r(a))}),x(r(a[0]),t(d)?d:function(){k.js.apply(null,b)})):x(r(a[0]));return k},k.ready=function(b,c){if(b==a){d?p(c):e.push(c);return k}t(b)&&(c=b,b="ALL");if(typeof b!="string"||!t(c))return k;var f=h[b];if(f&&f.state==o||b=="ALL"&&u()&&d){p(c);return k}var i=g[b];i?i.push(c):i=g[b]=[c];return k},k.ready(a,function(){u()&&s(g.ALL,function(a){p(a)}),k.feature&&k.feature("domloaded",!0)});if(window.addEventListener)a.addEventListener("DOMContentLoaded",z,!1),window.addEventListener("load",z,!1);else if(window.attachEvent){a.attachEvent("onreadystatechange",function(){a.readyState==="complete"&&z()});var A=1;try{A=window.frameElement}catch(B){}!A&&b.doScroll&&function(){try{b.doScroll("left"),z()}catch(a){setTimeout(arguments.callee,1);return}}(),window.attachEvent("onload",z)}!a.readyState&&a.addEventListener&&(a.readyState="loading",a.addEventListener("DOMContentLoaded",handler=function(){a.removeEventListener("DOMContentLoaded",handler,!1),a.readyState="complete"},!1)),setTimeout(function(){c=!0,s(f,function(a){a()})},300)})(document)

2
lib/js/promise.js Normal file
View File

@@ -0,0 +1,2 @@
/* MIT | https://github.com/taylorhakes/promise-polyfill */
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n():"function"==typeof define&&define.amd?define(n):n()}(0,function(){"use strict";function e(e){var n=this.constructor;return this.then(function(t){return n.resolve(e()).then(function(){return t})},function(t){return n.resolve(e()).then(function(){return n.reject(t)})})}function n(){}function t(e){if(!(this instanceof t))throw new TypeError("Promises must be constructed via new");if("function"!=typeof e)throw new TypeError("not a function");this._state=0,this._handled=!1,this._value=undefined,this._deferreds=[],u(e,this)}function o(e,n){for(;3===e._state;)e=e._value;0!==e._state?(e._handled=!0,t._immediateFn(function(){var t=1===e._state?n.onFulfilled:n.onRejected;if(null!==t){var o;try{o=t(e._value)}catch(f){return void i(n.promise,f)}r(n.promise,o)}else(1===e._state?r:i)(n.promise,e._value)})):e._deferreds.push(n)}function r(e,n){try{if(n===e)throw new TypeError("A promise cannot be resolved with itself.");if(n&&("object"==typeof n||"function"==typeof n)){var o=n.then;if(n instanceof t)return e._state=3,e._value=n,void f(e);if("function"==typeof o)return void u(function(e,n){return function(){e.apply(n,arguments)}}(o,n),e)}e._state=1,e._value=n,f(e)}catch(r){i(e,r)}}function i(e,n){e._state=2,e._value=n,f(e)}function f(e){2===e._state&&0===e._deferreds.length&&t._immediateFn(function(){e._handled||t._unhandledRejectionFn(e._value)});for(var n=0,r=e._deferreds.length;r>n;n++)o(e,e._deferreds[n]);e._deferreds=null}function u(e,n){var t=!1;try{e(function(e){t||(t=!0,r(n,e))},function(e){t||(t=!0,i(n,e))})}catch(o){if(t)return;t=!0,i(n,o)}}var c=setTimeout;t.prototype["catch"]=function(e){return this.then(null,e)},t.prototype.then=function(e,t){var r=new this.constructor(n);return o(this,new function(e,n,t){this.onFulfilled="function"==typeof e?e:null,this.onRejected="function"==typeof n?n:null,this.promise=t}(e,t,r)),r},t.prototype["finally"]=e,t.all=function(e){return new t(function(n,t){function o(e,f){try{if(f&&("object"==typeof f||"function"==typeof f)){var u=f.then;if("function"==typeof u)return void u.call(f,function(n){o(e,n)},t)}r[e]=f,0==--i&&n(r)}catch(c){t(c)}}if(!e||"undefined"==typeof e.length)throw new TypeError("Promise.all accepts an array");var r=Array.prototype.slice.call(e);if(0===r.length)return n([]);for(var i=r.length,f=0;r.length>f;f++)o(f,r[f])})},t.resolve=function(e){return e&&"object"==typeof e&&e.constructor===t?e:new t(function(n){n(e)})},t.reject=function(e){return new t(function(n,t){t(e)})},t.race=function(e){return new t(function(n,t){for(var o=0,r=e.length;r>o;o++)e[o].then(n,t)})},t._immediateFn="function"==typeof setImmediate&&function(e){setImmediate(e)}||function(e){c(e,0)},t._unhandledRejectionFn=function(e){void 0!==console&&console&&console.warn("Possible Unhandled Promise Rejection:",e)};var l=function(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if("undefined"!=typeof global)return global;throw Error("unable to locate global object")}();"Promise"in l?l.Promise.prototype["finally"]||(l.Promise.prototype["finally"]=e):l.Promise=t});

5703
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,12 +1,14 @@
{
"name": "reveal.js",
"version": "2.6.0",
"version": "3.9.2",
"description": "The HTML Presentation Framework",
"homepage": "http://lab.hakim.se/reveal-js",
"homepage": "http://revealjs.com",
"subdomain": "revealjs",
"main": "js/reveal.js",
"scripts": {
"test": "grunt test",
"start": ""
"start": "grunt serve",
"build": "grunt"
},
"author": {
"name": "Hakim El Hattab",
@@ -18,29 +20,25 @@
"url": "git://github.com/hakimel/reveal.js.git"
},
"engines": {
"node": "~0.8.0"
},
"dependencies": {
"underscore": "~1.5.1",
"express": "~2.5.9",
"mustache": "~0.7.2",
"socket.io": "~0.9.13"
"node": ">=9.0.0"
},
"devDependencies": {
"grunt-contrib-qunit": "~0.2.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-contrib-sass": "~0.5.0",
"grunt-contrib-connect": "~0.4.1",
"grunt-zip": "~0.7.0",
"grunt": "~0.4.0"
"express": "^4.16.2",
"grunt": "^1.0.4",
"grunt-autoprefixer": "^3.0.4",
"grunt-cli": "^1.3.2",
"grunt-contrib-connect": "^2.0.0",
"grunt-contrib-cssmin": "^3.0.0",
"grunt-contrib-jshint": "^2.0.0",
"grunt-contrib-qunit": "^3.1.0",
"grunt-contrib-uglify": "^3.3.0",
"grunt-contrib-watch": "^1.1.0",
"grunt-sass": "^3.0.2",
"grunt-zip": "~0.17.1",
"load-grunt-tasks": "^4.0.0",
"mustache": "^2.3.0",
"node-sass": "^4.13.1",
"socket.io": "^2.2.0"
},
"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,9 +7,9 @@
<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">
<link rel="stylesheet" href="../../lib/css/monokai.css">
</head>
<body>
@@ -19,7 +19,7 @@
<div class="slides">
<!-- Use external markdown resource, separate slides by three newlines; vertical slides by two newlines -->
<section data-markdown="example.md" data-separator="^\n\n\n" data-vertical="^\n\n"></section>
<section data-markdown="example.md" data-separator="^\n\n\n" data-separator-vertical="^\n\n"></section>
<!-- Slides are separated by three dashes (quick 'n dirty regular expression) -->
<section data-markdown data-separator="---">
@@ -36,7 +36,7 @@
</section>
<!-- Slides are separated by newline + three dashes + newline, vertical slides identical but two dashes -->
<section data-markdown data-separator="^\n---\n$" data-vertical="^\n--\n$">
<section data-markdown data-separator="^\n---\n$" data-separator-vertical="^\n--\n$">
<script type="text/template">
## Demo 2
Slide 1.1
@@ -68,26 +68,47 @@
</script>
</section>
<!-- Slide attributes -->
<section data-markdown>
<script type="text/template">
<!-- .slide: data-background="#000000" -->
## Slide attributes
</script>
</section>
<!-- Element attributes -->
<section data-markdown>
<script type="text/template">
## Element attributes
- Item 1 <!-- .element: class="fragment" data-fragment-index="2" -->
- Item 2 <!-- .element: class="fragment" data-fragment-index="1" -->
</script>
</section>
<!-- Code -->
<section>
<section data-markdown>
<script type="text/template">
```php
public function foo()
{
$foo = array(
'bar' => 'bar'
)
}
```
</script>
</section>
<section data-markdown>
<script type="text/template">
```php
public function foo()
{
$foo = array(
'bar' => 'bar'
)
}
```
</script>
</section>
<!-- Images -->
<section data-markdown>
<script type="text/template">
![Sample image](https://s3.amazonaws.com/static.slid.es/logo/v2/slides-symbol-512x512.png)
</script>
</section>
</div>
</div>
<script src="../../lib/js/head.min.js"></script>
<script src="../../js/reveal.js"></script>
<script>
@@ -100,7 +121,6 @@
// Optional libraries used to extend on reveal.js
dependencies: [
{ src: '../../lib/js/classList.js', condition: function() { return !document.body.classList; } },
{ src: 'marked.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
{ src: 'markdown.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
{ src: '../highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } },

View File

@@ -29,3 +29,8 @@ Content 3.1
## External 3.2
Content 3.2
## External 3.3
![External Image](https://s3.amazonaws.com/static.slid.es/logo/v2/slides-symbol-512x512.png)

View File

@@ -4,32 +4,23 @@
* of external markdown documents.
*/
(function( root, factory ) {
if( typeof exports === 'object' ) {
if (typeof define === 'function' && define.amd) {
root.marked = require( './marked' );
root.RevealMarkdown = factory( root.marked );
} else if( typeof exports === 'object' ) {
module.exports = factory( require( './marked' ) );
}
else {
} else {
// Browser globals (root is window)
root.RevealMarkdown = factory( root.marked );
root.RevealMarkdown.initialize();
}
}( this, function( marked ) {
if( typeof marked === 'undefined' ) {
throw 'The reveal.js Markdown plugin requires marked to be loaded';
}
var DEFAULT_SLIDE_SEPARATOR = '^\r?\n---\r?\n$',
DEFAULT_NOTES_SEPARATOR = 'notes?:',
DEFAULT_ELEMENT_ATTRIBUTES_SEPARATOR = '\\\.element\\\s*?(.+?)$',
DEFAULT_SLIDE_ATTRIBUTES_SEPARATOR = '\\\.slide:\\\s*?(\\\S.+?)$';
if( typeof hljs !== 'undefined' ) {
marked.setOptions({
highlight: function( lang, code ) {
return hljs.highlightAuto( lang, code ).value;
}
});
}
var DEFAULT_SLIDE_SEPARATOR = '^\n---\n$',
DEFAULT_NOTES_SEPARATOR = 'note:',
DEFAULT_ELEMENT_ATTRIBUTES_SEPARATOR = '{\\\.\s*?([^}]+?)}',
DEFAULT_SLIDE_ATTRIBUTES_SEPARATOR = '^.*?<!--\\\sslide-attributes:\\\s(.*?)-->';
var SCRIPT_END_PLACEHOLDER = '__SCRIPT_END__';
/**
@@ -38,11 +29,15 @@
*/
function getMarkdownFromSlide( section ) {
var template = section.querySelector( 'script' );
// look for a <script> or <textarea data-template> wrapper
var template = section.querySelector( '[data-template]' ) || section.querySelector( 'script' );
// 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 +45,7 @@
text = text.replace( new RegExp('\\n?\\t{' + leadingTabs + '}','g'), '\n' );
}
else if( leadingWs > 1 ) {
text = text.replace( new RegExp('\\n? {' + leadingWs + '}','g'), '\n' );
text = text.replace( new RegExp('\\n? {' + leadingWs + '}', 'g'), '\n' );
}
return text;
@@ -73,10 +68,10 @@
value = attributes[i].value;
// disregard attributes that are used for markdown loading/parsing
if( /data\-(markdown|separator|vertical|notes|attributes)/gi.test( name ) ) continue;
if( /data\-(markdown|separator|vertical|notes)/gi.test( name ) ) continue;
if( value ) {
result.push( name + '=' + value );
result.push( name + '="' + value + '"' );
}
else {
result.push( name );
@@ -97,7 +92,6 @@
options.separator = options.separator || DEFAULT_SLIDE_SEPARATOR;
options.notesSeparator = options.notesSeparator || DEFAULT_NOTES_SEPARATOR;
options.attributes = options.attributes || '';
options.slideAttributesSeparator = options.slideAttributesSeparator || DEFAULT_SLIDE_ATTRIBUTES_SEPARATOR;
return options;
@@ -113,9 +107,13 @@
var notesMatch = content.split( new RegExp( options.notesSeparator, 'mgi' ) );
if( notesMatch.length === 2 ) {
content = notesMatch[0] + '<aside class="notes" data-markdown>' + notesMatch[1].trim() + '</aside>';
content = notesMatch[0] + '<aside class="notes">' + marked(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>';
}
@@ -129,17 +127,14 @@
options = getSlidifyOptions( options );
var separatorRegex = new RegExp( options.separator + ( options.verticalSeparator ? '|' + options.verticalSeparator : '' ), 'mg' ),
horizontalSeparatorRegex = new RegExp( options.separator ),
slideAttributesSeparatorRegex = new RegExp( options.slideAttributesSeparator, 'm' );
horizontalSeparatorRegex = new RegExp( options.separator );
var matches,
lastIndex = 0,
isHorizontal,
wasHorizontal = true,
content,
sectionStack = [],
matchAttributes,
slideAttributes = "";
sectionStack = [];
// iterate until all blocks between separators are stacked up
while( matches = separatorRegex.exec( markdown ) ) {
@@ -178,35 +173,19 @@
for( var i = 0, len = sectionStack.length; i < len; i++ ) {
// vertical
if( sectionStack[i] instanceof Array ) {
// The 'data-xxx' attributes of the first child must be set on the wrapping parent section to be effective
// Mainly for data-transition (otherwise, it is ignored for the first vertical slide)
firstChild = sectionStack[i][0];
matchAttributes = slideAttributesSeparatorRegex.exec( firstChild );
slideAttributes = matchAttributes ? matchAttributes[1] : "";
dataAttributes = "";
if( slideAttributes != "" ) {
// http://stackoverflow.com/questions/18025762/javascript-regex-replace-all-word-characters-except-word-characters-between-ch
// Keep only data-attributes for the parent slide section.
dataAttributes = slideAttributes.replace( /(data-\S+=\"[^\"]+?\")|\w|[\"=]/g, function(a, b) { return b || ''; });
}
markdownSections += '<section '+ options.attributes + ' ' + dataAttributes + '>';
markdownSections += '<section '+ options.attributes +'>';
sectionStack[i].forEach( function( child ) {
matchAttributes = slideAttributesSeparatorRegex.exec( child );
slideAttributes = matchAttributes ? matchAttributes[1] : "";
child = matchAttributes ? child.replace( slideAttributesSeparatorRegex,"" ) : child
markdownSections += '<section ' + slideAttributes + ' data-markdown>' + createMarkdownSlide( child, options ) + '</section>';
markdownSections += '<section data-markdown>' + createMarkdownSlide( child, options ) + '</section>';
} );
markdownSections += '</section>';
}
else {
matchAttributes = slideAttributesSeparatorRegex.exec( sectionStack[i] );
slideAttributes = matchAttributes ? matchAttributes[1] : "";
content = matchAttributes ? sectionStack[i].replace( slideAttributesSeparatorRegex,"" ) : sectionStack[i]
markdownSections += '<section '+ options.attributes + ' ' + slideAttributes +' data-markdown>' + createMarkdownSlide( content, options ) + '</section>';
markdownSections += '<section '+ options.attributes +' data-markdown>' + createMarkdownSlide( sectionStack[i], options ) + '</section>';
}
}
return markdownSections;
}
@@ -218,92 +197,108 @@
*/
function processSlides() {
var sections = document.querySelectorAll( '[data-markdown]'),
section;
return new Promise( function( resolve ) {
for( var i = 0, len = sections.length; i < len; i++ ) {
var externalPromises = [];
section = sections[i];
[].slice.call( document.querySelectorAll( '[data-markdown]') ).forEach( function( section, i ) {
if( section.getAttribute( 'data-markdown' ).length ) {
if( section.getAttribute( 'data-markdown' ).length ) {
var xhr = new XMLHttpRequest(),
url = section.getAttribute( 'data-markdown' );
externalPromises.push( loadExternalMarkdown( section ).then(
datacharset = section.getAttribute( 'data-charset' );
// see https://developer.mozilla.org/en-US/docs/Web/API/element.getAttribute#Notes
if( datacharset != null && datacharset != '' ) {
xhr.overrideMimeType( 'text/html; charset=' + datacharset );
}
xhr.onreadystatechange = function() {
if( xhr.readyState === 4 ) {
if ( xhr.status >= 200 && xhr.status < 300 ) {
// Finished loading external file
function( xhr, url ) {
section.outerHTML = slidify( xhr.responseText, {
separator: section.getAttribute( 'data-separator' ),
verticalSeparator: section.getAttribute( 'data-vertical' ),
notesSeparator: section.getAttribute( 'data-notes' ),
attributes: getForwardedAttributes( section ),
slideAttributesSeparator: section.getAttribute( 'data-attributes' ),
verticalSeparator: section.getAttribute( 'data-separator-vertical' ),
notesSeparator: section.getAttribute( 'data-separator-notes' ),
attributes: getForwardedAttributes( section )
});
},
}
else {
// Failed to load markdown
function( xhr, url ) {
section.outerHTML = '<section data-state="alert">' +
'ERROR: The attempt to fetch ' + url + ' failed with HTTP status ' + xhr.status + '.' +
'Check your browser\'s JavaScript console for more details.' +
'<p>Remember that you need to serve the presentation HTML from a HTTP server.</p>' +
'</section>';
}
) );
}
else if( section.getAttribute( 'data-separator' ) || section.getAttribute( 'data-separator-vertical' ) || section.getAttribute( 'data-separator-notes' ) ) {
section.outerHTML = slidify( getMarkdownFromSlide( section ), {
separator: section.getAttribute( 'data-separator' ),
verticalSeparator: section.getAttribute( 'data-separator-vertical' ),
notesSeparator: section.getAttribute( 'data-separator-notes' ),
attributes: getForwardedAttributes( section )
});
}
else {
section.innerHTML = createMarkdownSlide( getMarkdownFromSlide( section ) );
}
});
Promise.all( externalPromises ).then( resolve );
} );
}
function loadExternalMarkdown( section ) {
return new Promise( function( resolve, reject ) {
var xhr = new XMLHttpRequest(),
url = section.getAttribute( 'data-markdown' );
datacharset = section.getAttribute( 'data-charset' );
// see https://developer.mozilla.org/en-US/docs/Web/API/element.getAttribute#Notes
if( datacharset != null && datacharset != '' ) {
xhr.overrideMimeType( 'text/html; charset=' + datacharset );
}
xhr.onreadystatechange = function( section, xhr ) {
if( xhr.readyState === 4 ) {
// file protocol yields status code 0 (useful for local debug, mobile applications etc.)
if ( ( xhr.status >= 200 && xhr.status < 300 ) || xhr.status === 0 ) {
resolve( xhr, url );
}
};
else {
xhr.open( 'GET', url, false );
reject( xhr, url );
try {
xhr.send();
}
catch ( e ) {
alert( 'Failed to get the Markdown file ' + url + '. Make sure that the presentation and the file are served by a HTTP server and the file can be found there. ' + e );
}
}
else if( section.getAttribute( 'data-separator' ) || section.getAttribute( 'data-vertical' ) || section.getAttribute( 'data-notes' ) ) {
section.outerHTML = slidify( getMarkdownFromSlide( section ), {
separator: section.getAttribute( 'data-separator' ),
verticalSeparator: section.getAttribute( 'data-vertical' ),
notesSeparator: section.getAttribute( 'data-notes' ),
attributes: getForwardedAttributes( section ),
slideAttributesSeparator: section.getAttribute( 'data-attributes' ),
});
}
else {
var content = getMarkdownFromSlide( section );
var slideAttributesSeparatorRegex = new RegExp( section.getAttribute( 'data-attributes' ) || DEFAULT_SLIDE_ATTRIBUTES_SEPARATOR, 'm' );
var matchAttributes = slideAttributesSeparatorRegex.exec( content );
if ( matchAttributes ) {
var slideAttributes = matchAttributes[1];
content = content.replace( slideAttributesSeparatorRegex,"" );
var slideAttributesRegex = new RegExp( "([^\"= ]+?)=\"([^\"=]+?)\"", 'mg' );
while( matchesAttributes = slideAttributesRegex.exec( slideAttributes ) ) {
section.setAttribute( matchesAttributes[1], matchesAttributes[2] );
}
}
section.innerHTML = createMarkdownSlide( content );
}.bind( this, section, xhr );
xhr.open( 'GET', url, true );
try {
xhr.send();
}
}
catch ( e ) {
alert( 'Failed to get the Markdown file ' + url + '. Make sure that the presentation and the file are served by a HTTP server and the file can be found there. ' + e );
resolve( xhr, url );
}
} );
}
/**
* Check if a node value has the attributes pattern.
* If yes, extract it and add that value as one or several attributes
* the the terget element.
* to the target element.
*
* You need Cache Killer on Chrome to see the effect on any FOM transformation
* directly on refresh (F5)
@@ -319,40 +314,51 @@
var classes = matches[1];
nodeValue = nodeValue.substring( 0, matches.index ) + nodeValue.substring( mardownClassesInElementsRegex.lastIndex );
node.nodeValue = nodeValue;
while( matchesClass = mardownClassRegex.exec( classes ) ) {
elementTarget.setAttribute( matchesClass[1], matchesClass[2] );
}
return true;
}
return false;
}
/**
* Add attributes to the parent element of a text node,
* or the element of an attribute node.
*/
function addAttributes( element, separator ) {
function addAttributes( section, element, previousElement, separatorElementAttributes, separatorSectionAttributes ) {
if( element.childNodes.length > 0 ) {
if ( element != null && element.childNodes != undefined && element.childNodes.length > 0 ) {
previousParentElement = element;
for( var i = 0; i < element.childNodes.length; i++ ) {
addAttributes( element.childNodes[i], separator );
childElement = element.childNodes[i];
if ( i > 0 ) {
j = i - 1;
while ( j >= 0 ) {
aPreviousChildElement = element.childNodes[j];
if ( typeof aPreviousChildElement.setAttribute == 'function' && aPreviousChildElement.tagName != "BR" ) {
previousParentElement = aPreviousChildElement;
break;
}
j = j - 1;
}
}
parentSection = section;
if( childElement.nodeName == "section" ) {
parentSection = childElement ;
previousParentElement = childElement ;
}
if ( typeof childElement.setAttribute == 'function' || childElement.nodeType == Node.COMMENT_NODE ) {
addAttributes( parentSection, childElement, previousParentElement, separatorElementAttributes, separatorSectionAttributes );
}
}
}
var nodeValue;
var elementTarget;
// From http://stackoverflow.com/questions/9178174/find-all-text-nodes
if( element.nodeType == Node.TEXT_NODE && /\S/.test(element.nodeValue) ) {
addAttributeInElement( element, element.parentNode, separator );
}
if( element.nodeType == Node.ELEMENT_NODE && element.attributes.length > 0 ) {
for( var j = 0; j < element.attributes.length; j++ ){
var attr = element.attributes[j];
addAttributeInElement( attr, element, separator );
if ( element.nodeType == Node.COMMENT_NODE ) {
if ( addAttributeInElement( element, previousElement, separatorElementAttributes ) == false ) {
addAttributeInElement( element, section, separatorSectionAttributes );
}
}
}
/**
@@ -361,43 +367,67 @@
*/
function convertSlides() {
var sections = document.querySelectorAll( '[data-markdown]');
var sections = document.querySelectorAll( '[data-markdown]:not([data-markdown-parsed])');
for( var i = 0, len = sections.length; i < len; i++ ) {
[].slice.call( sections ).forEach( function( section ) {
var section = sections[i];
section.setAttribute( 'data-markdown-parsed', true )
// Only parse the same slide once
if( !section.getAttribute( 'data-markdown-parsed' ) ) {
var notes = section.querySelector( 'aside.notes' );
var markdown = getMarkdownFromSlide( section );
section.setAttribute( 'data-markdown-parsed', true )
var notes = section.querySelector( 'aside.notes' );
var markdown = getMarkdownFromSlide( section );
section.innerHTML = marked( markdown );
addAttributes( section, section.getAttribute( 'data-element-attributes' ) ||
section.parentNode.getAttribute( 'data-element-attributes' ) ||
DEFAULT_ELEMENT_ATTRIBUTES_SEPARATOR );
// If there were notes, we need to re-add them after
// having overwritten the section's HTML
if( notes ) {
section.appendChild( notes );
}
section.innerHTML = marked( markdown );
addAttributes( section, section, null, section.getAttribute( 'data-element-attributes' ) ||
section.parentNode.getAttribute( 'data-element-attributes' ) ||
DEFAULT_ELEMENT_ATTRIBUTES_SEPARATOR,
section.getAttribute( 'data-attributes' ) ||
section.parentNode.getAttribute( 'data-attributes' ) ||
DEFAULT_SLIDE_ATTRIBUTES_SEPARATOR);
// If there were notes, we need to re-add them after
// having overwritten the section's HTML
if( notes ) {
section.appendChild( notes );
}
}
} );
return Promise.resolve();
}
// API
return {
var RevealMarkdown = {
/**
* Starts processing and converting Markdown within the
* current reveal.js deck.
*
* @param {function} callback function to invoke once
* we've finished loading and parsing Markdown
*/
init: function( callback ) {
if( typeof marked === 'undefined' ) {
throw 'The reveal.js Markdown plugin requires marked to be loaded';
}
if( typeof hljs !== 'undefined' ) {
marked.setOptions({
highlight: function( code, lang ) {
return hljs.highlightAuto( code, [lang] ).value;
}
});
}
// marked can be configured via reveal.js config options
var options = Reveal.getConfig().markdown;
if( options ) {
marked.setOptions( options );
}
return processSlides().then( convertSlides );
initialize: function() {
processSlides();
convertSlides();
},
// TODO: Do these belong in the API?
@@ -407,4 +437,10 @@
};
// Register our plugin so that reveal.js will call our
// plugin 'init' method as part of the initialization
Reveal.registerPlugin( 'markdown', RevealMarkdown );
return RevealMarkdown;
}));

File diff suppressed because one or more lines are too long

View File

@@ -7,30 +7,28 @@
var RevealMath = window.RevealMath || (function(){
var options = Reveal.getConfig().math || {};
options.mathjax = options.mathjax || 'http://cdn.mathjax.org/mathjax/latest/MathJax.js';
options.config = options.config || 'TeX-AMS_HTML-full';
var mathjax = options.mathjax || 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js';
var config = options.config || 'TeX-AMS_HTML-full';
var url = mathjax + '?config=' + config;
loadScript( options.mathjax + '?config=' + options.config, function() {
var defaultOptions = {
messageStyle: 'none',
tex2jax: {
inlineMath: [ [ '$', '$' ], [ '\\(', '\\)' ] ],
skipTags: [ 'script', 'noscript', 'style', 'textarea', 'pre' ]
},
skipStartupTypeset: true
};
MathJax.Hub.Config({
messageStyle: 'none',
tex2jax: { inlineMath: [['$','$'],['\\(','\\)']] },
skipStartupTypeset: true
});
function defaults( options, defaultOptions ) {
// Typeset followed by an immediate reveal.js layout since
// the typesetting process could affect slide height
MathJax.Hub.Queue( [ 'Typeset', MathJax.Hub ] );
MathJax.Hub.Queue( Reveal.layout );
for ( var i in defaultOptions ) {
if ( !options.hasOwnProperty( i ) ) {
options[i] = defaultOptions[i];
}
}
// Reprocess equations in slides when they turn visible
Reveal.addEventListener( 'slidechanged', function( event ) {
MathJax.Hub.Queue( [ 'Typeset', MathJax.Hub, event.currentSlide ] );
} );
} );
}
function loadScript( url, callback ) {
@@ -61,4 +59,34 @@ var RevealMath = window.RevealMath || (function(){
}
return {
init: function() {
defaults( options, defaultOptions );
defaults( options.tex2jax, defaultOptions.tex2jax );
options.mathjax = options.config = null;
loadScript( url, function() {
MathJax.Hub.Config( options );
// Typeset followed by an immediate reveal.js layout since
// the typesetting process could affect slide height
MathJax.Hub.Queue( [ 'Typeset', MathJax.Hub ] );
MathJax.Hub.Queue( Reveal.layout );
// Reprocess equations in slides when they turn visible
Reveal.addEventListener( 'slidechanged', function( event ) {
MathJax.Hub.Queue( [ 'Typeset', MathJax.Hub, event.currentSlide ] );
} );
} );
}
}
})();
Reveal.registerPlugin( 'math', RevealMath );

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,37 +1,45 @@
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) {
res.writeHead(200, {'Content-Type': 'text/html'});
fs.createReadStream(opts.baseDir + '/index.html').pipe(res);
var stream = fs.createReadStream(opts.baseDir + '/index.html');
stream.on('error', function( error ) {
res.write('<style>body{font-family: sans-serif;}</style><h2>reveal.js multiplex server.</h2><a href="/token">Generate token</a>');
res.end();
});
stream.on('readable', function() {
stream.pipe(res);
});
});
app.get("/token", function(req,res) {
@@ -47,7 +55,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,34 @@
(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 );
}());
// post once the page is loaded, so the client follows also on "open URL".
window.addEventListener( 'load', post );
// 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

@@ -0,0 +1,19 @@
{
"name": "reveal-js-multiplex",
"version": "1.0.0",
"description": "reveal.js multiplex server",
"homepage": "http://revealjs.com",
"scripts": {
"start": "node index.js"
},
"engines": {
"node": "~4.1.1"
},
"dependencies": {
"express": "~4.13.3",
"grunt-cli": "~0.1.13",
"mustache": "~2.2.1",
"socket.io": "~1.3.7"
},
"license": "MIT"
}

View File

@@ -1,57 +1,65 @@
(function() {
// don't emit events from inside the previews themselves
if ( window.location.search.match( /receiver/gi ) ) { return; }
if( window.location.search.match( /receiver/gi ) ) { return; }
var socket = io.connect(window.location.origin);
var socketId = Math.random().toString().slice(2);
console.log('View slide notes at ' + window.location.origin + '/notes/' + socketId);
window.open(window.location.origin + '/notes/' + socketId, 'notes-' + socketId);
var socket = io.connect( window.location.origin ),
socketId = Math.random().toString().slice( 2 );
// Fires when a fragment is shown
Reveal.addEventListener( 'fragmentshown', function( event ) {
var fragmentData = {
fragment : 'next',
socketId : socketId
console.log( 'View slide notes at ' + window.location.origin + '/notes/' + socketId );
window.open( window.location.origin + '/notes/' + socketId, 'notes-' + socketId );
/**
* Posts the current slide data to the notes window
*/
function post() {
var slideElement = Reveal.getCurrentSlide(),
notesElement = slideElement.querySelector( 'aside.notes' );
var messageData = {
notes: '',
markdown: false,
socketId: socketId,
state: Reveal.getState()
};
socket.emit('fragmentchanged', fragmentData);
} );
// Fires when a fragment is hidden
Reveal.addEventListener( 'fragmenthidden', function( event ) {
var fragmentData = {
fragment : 'previous',
socketId : socketId
};
socket.emit('fragmentchanged', fragmentData);
} );
// Fires when slide is changed
Reveal.addEventListener( 'slidechanged', function( event ) {
var nextindexh;
var nextindexv;
var slideElement = event.currentSlide;
if (slideElement.nextElementSibling && slideElement.parentNode.nodeName == 'SECTION') {
nextindexh = event.indexh;
nextindexv = event.indexv + 1;
} else {
nextindexh = event.indexh + 1;
nextindexv = 0;
// Look for notes defined in a slide attribute
if( slideElement.hasAttribute( 'data-notes' ) ) {
messageData.notes = slideElement.getAttribute( 'data-notes' );
}
var notes = slideElement.querySelector('aside.notes');
var slideData = {
notes : notes ? notes.innerHTML : '',
indexh : event.indexh,
indexv : event.indexv,
nextindexh : nextindexh,
nextindexv : nextindexv,
socketId : socketId,
markdown : notes ? typeof notes.getAttribute('data-markdown') === 'string' : false
// Look for notes defined in an aside element
if( notesElement ) {
messageData.notes = notesElement.innerHTML;
messageData.markdown = typeof notesElement.getAttribute( 'data-markdown' ) === 'string';
}
};
socket.emit( 'statechanged', messageData );
socket.emit('slidechanged', slideData);
}
// When a new notes window connects, post our current state
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 );
Reveal.addEventListener( 'fragmenthidden', post );
Reveal.addEventListener( 'overviewhidden', post );
Reveal.addEventListener( 'overviewshown', post );
Reveal.addEventListener( 'paused', post );
Reveal.addEventListener( 'resumed', post );
// Post the initial state
post();
}());

View File

@@ -1,59 +1,69 @@
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) {
socket.on('slidechanged', function(slideData) {
socket.broadcast.emit('slidedata', slideData);
io.on( 'connection', function( socket ) {
socket.on( 'new-subscriber', function( data ) {
socket.broadcast.emit( 'new-subscriber', data );
});
socket.on('fragmentchanged', function(fragmentData) {
socket.broadcast.emit('fragmentdata', fragmentData);
socket.on( 'statechanged', function( data ) {
delete data.state.overview;
socket.broadcast.emit( 'statechanged', data );
});
socket.on( 'statechanged-speaker', function( data ) {
delete data.state.overview;
socket.broadcast.emit( 'statechanged-speaker', data );
});
});
app.configure(function() {
[ 'css', 'js', 'images', 'plugin', 'lib' ].forEach(function(dir) {
app.use('/' + dir, staticDir(opts.baseDir + dir));
});
[ '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'});
fs.createReadStream(opts.baseDir + '/index.html').pipe(res);
app.get('/', function( req, res ) {
res.writeHead( 200, { 'Content-Type': 'text/html' } );
fs.createReadStream( opts.baseDir + '/index.html' ).pipe( res );
});
app.get("/notes/:socketId", function(req, res) {
app.get( '/notes/:socketId', function( req, res ) {
fs.readFile(opts.baseDir + 'plugin/notes-server/notes.html', function(err, data) {
res.send(Mustache.to_html(data.toString(), {
fs.readFile( opts.baseDir + 'plugin/notes-server/notes.html', function( err, data ) {
res.send( Mustache.to_html( data.toString(), {
socketId : req.params.socketId
}));
});
// fs.createReadStream(opts.baseDir + 'notes-server/notes.html').pipe(res);
});
// Actually listen
app.listen(opts.port || null);
server.listen( opts.port || null );
var brown = '\033[33m',
green = '\033[32m',
reset = '\033[0m';
var slidesLocation = "http://localhost" + ( opts.port ? ( ':' + opts.port ) : '' );
var slidesLocation = 'http://localhost' + ( opts.port ? ( ':' + opts.port ) : '' );
console.log( brown + "reveal.js - Speaker Notes" + reset );
console.log( "1. Open the slides at " + green + slidesLocation + reset );
console.log( "2. Click on the link your JS console to go to the notes page" );
console.log( "3. Advance through your slides and your notes will advance automatically" );
console.log( brown + 'reveal.js - Speaker Notes' + reset );
console.log( '1. Open the slides at ' + green + slidesLocation + reset );
console.log( '2. Click on the link in your JS console to go to the notes page' );
console.log( '3. Advance through your slides and your notes will advance automatically' );

View File

@@ -3,139 +3,582 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=1150">
<title>reveal.js - Slide Notes</title>
<style>
body {
font-family: Helvetica;
font-size: 18px;
}
#notes {
font-size: 24px;
width: 640px;
margin-top: 5px;
clear: left;
#current-slide,
#upcoming-slide,
#speaker-controls {
padding: 6px;
box-sizing: border-box;
-moz-box-sizing: border-box;
}
#wrap-current-slide {
width: 640px;
height: 512px;
float: left;
overflow: hidden;
#current-slide iframe,
#upcoming-slide iframe {
width: 100%;
height: 100%;
border: 1px solid #ddd;
}
#current-slide .label,
#upcoming-slide .label {
position: absolute;
top: 10px;
left: 10px;
z-index: 2;
}
.overlay-element {
height: 34px;
line-height: 34px;
padding: 0 10px;
text-shadow: none;
background: rgba( 220, 220, 220, 0.8 );
color: #222;
font-size: 14px;
}
.overlay-element.interactive:hover {
background: rgba( 220, 220, 220, 1 );
}
#current-slide {
width: 1280px;
height: 1024px;
border: none;
-webkit-transform-origin: 0 0;
-moz-transform-origin: 0 0;
-ms-transform-origin: 0 0;
-o-transform-origin: 0 0;
transform-origin: 0 0;
-webkit-transform: scale(0.5);
-moz-transform: scale(0.5);
-ms-transform: scale(0.5);
-o-transform: scale(0.5);
transform: scale(0.5);
}
#wrap-next-slide {
width: 448px;
height: 358px;
float: left;
margin: 0 0 0 10px;
overflow: hidden;
}
#next-slide {
width: 1280px;
height: 1024px;
border: none;
-webkit-transform-origin: 0 0;
-moz-transform-origin: 0 0;
-ms-transform-origin: 0 0;
-o-transform-origin: 0 0;
transform-origin: 0 0;
-webkit-transform: scale(0.35);
-moz-transform: scale(0.35);
-ms-transform: scale(0.35);
-o-transform: scale(0.35);
transform: scale(0.35);
}
.slides {
position: relative;
margin-bottom: 10px;
border: 1px solid black;
border-radius: 2px;
background: rgb(28, 30, 32);
}
.slides span {
position: absolute;
top: 3px;
left: 3px;
font-weight: bold;
font-size: 14px;
color: rgba( 255, 255, 255, 0.9 );
width: 60%;
height: 100%;
top: 0;
left: 0;
padding-right: 0;
}
#upcoming-slide {
position: absolute;
width: 40%;
height: 40%;
right: 0;
top: 0;
}
/* Speaker controls */
#speaker-controls {
position: absolute;
top: 40%;
right: 0;
width: 40%;
height: 60%;
overflow: auto;
font-size: 18px;
}
.speaker-controls-time.hidden,
.speaker-controls-notes.hidden {
display: none;
}
.speaker-controls-time .label,
.speaker-controls-notes .label {
text-transform: uppercase;
font-weight: normal;
font-size: 0.66em;
color: #666;
margin: 0;
}
.speaker-controls-time {
border-bottom: 1px solid rgba( 200, 200, 200, 0.5 );
margin-bottom: 10px;
padding: 10px 16px;
padding-bottom: 20px;
cursor: pointer;
}
.speaker-controls-time .reset-button {
opacity: 0;
float: right;
color: #666;
text-decoration: none;
}
.speaker-controls-time:hover .reset-button {
opacity: 1;
}
.speaker-controls-time .timer,
.speaker-controls-time .clock {
width: 50%;
font-size: 1.9em;
}
.speaker-controls-time .timer {
float: left;
}
.speaker-controls-time .clock {
float: right;
text-align: right;
}
.speaker-controls-time span.mute {
color: #bbb;
}
.speaker-controls-notes {
padding: 10px 16px;
}
.speaker-controls-notes .value {
margin-top: 5px;
line-height: 1.4;
font-size: 1.2em;
}
/* Layout selector */
#speaker-layout {
position: absolute;
top: 10px;
right: 10px;
color: #222;
z-index: 10;
}
#speaker-layout select {
position: absolute;
width: 100%;
height: 100%;
top: 0;
left: 0;
border: 0;
box-shadow: 0;
cursor: pointer;
opacity: 0;
font-size: 1em;
background-color: transparent;
-moz-appearance: none;
-webkit-appearance: none;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
#speaker-layout select:focus {
outline: none;
box-shadow: none;
}
.clear {
clear: both;
}
/* Speaker layout: Wide */
body[data-speaker-layout="wide"] #current-slide,
body[data-speaker-layout="wide"] #upcoming-slide {
width: 50%;
height: 45%;
padding: 6px;
}
body[data-speaker-layout="wide"] #current-slide {
top: 0;
left: 0;
}
body[data-speaker-layout="wide"] #upcoming-slide {
top: 0;
left: 50%;
}
body[data-speaker-layout="wide"] #speaker-controls {
top: 45%;
left: 0;
width: 100%;
height: 50%;
font-size: 1.25em;
}
/* Speaker layout: Tall */
body[data-speaker-layout="tall"] #current-slide,
body[data-speaker-layout="tall"] #upcoming-slide {
width: 45%;
height: 50%;
padding: 6px;
}
body[data-speaker-layout="tall"] #current-slide {
top: 0;
left: 0;
}
body[data-speaker-layout="tall"] #upcoming-slide {
top: 50%;
left: 0;
}
body[data-speaker-layout="tall"] #speaker-controls {
padding-top: 40px;
top: 0;
left: 45%;
width: 55%;
height: 100%;
font-size: 1.25em;
}
/* Speaker layout: Notes only */
body[data-speaker-layout="notes-only"] #current-slide,
body[data-speaker-layout="notes-only"] #upcoming-slide {
display: none;
}
body[data-speaker-layout="notes-only"] #speaker-controls {
padding-top: 40px;
top: 0;
left: 0;
width: 100%;
height: 100%;
font-size: 1.25em;
}
</style>
</head>
<body>
<div id="wrap-current-slide" class="slides">
<iframe src="/?receiver" width="1280" height="1024" id="current-slide"></iframe>
</div>
<div id="current-slide"></div>
<div id="upcoming-slide"><span class="overlay-element label">Upcoming</span></div>
<div id="speaker-controls">
<div class="speaker-controls-time">
<h4 class="label">Time <span class="reset-button">Click to Reset</span></h4>
<div class="clock">
<span class="clock-value">0:00 AM</span>
</div>
<div class="timer">
<span class="hours-value">00</span><span class="minutes-value">:00</span><span class="seconds-value">:00</span>
</div>
<div class="clear"></div>
</div>
<div id="wrap-next-slide" class="slides">
<iframe src="/?receiver" width="640" height="512" id="next-slide"></iframe>
<span>UPCOMING:</span>
<div class="speaker-controls-notes hidden">
<h4 class="label">Notes</h4>
<div class="value"></div>
</div>
</div>
<div id="speaker-layout" class="overlay-element interactive">
<span class="speaker-layout-label"></span>
<select class="speaker-layout-dropdown"></select>
</div>
<div id="notes"></div>
<script src="/socket.io/socket.io.js"></script>
<script src="/plugin/markdown/marked.js"></script>
<script>
var socketId = '{{socketId}}';
var socket = io.connect(window.location.origin);
var notes = document.getElementById('notes');
var currentSlide = document.getElementById('current-slide');
var nextSlide = document.getElementById('next-slide');
(function() {
socket.on('slidedata', function(data) {
// ignore data from sockets that aren't ours
if (data.socketId !== socketId) { return; }
var notes,
notesValue,
currentState,
currentSlide,
upcomingSlide,
layoutLabel,
layoutDropdown,
connected = false;
var socket = io.connect( window.location.origin ),
socketId = '{{socketId}}';
var SPEAKER_LAYOUTS = {
'default': 'Default',
'wide': 'Wide',
'tall': 'Tall',
'notes-only': 'Notes only'
};
socket.on( 'statechanged', function( data ) {
// ignore data from sockets that aren't ours
if( data.socketId !== socketId ) { return; }
if( connected === false ) {
connected = true;
setupKeyboard();
setupNotes();
setupTimer();
}
handleStateMessage( data );
} );
setupLayout();
// 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( '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 } );
}
}
} );
/**
* Called when the main window sends an updated state.
*/
function handleStateMessage( data ) {
// Store the most recently set state to avoid circular loops
// applying the same state
currentState = JSON.stringify( data.state );
// No need for updating the notes in case of fragment changes
if ( data.notes ) {
notes.classList.remove( 'hidden' );
if( data.markdown ) {
notesValue.innerHTML = marked( data.notes );
}
else {
notesValue.innerHTML = data.notes;
}
}
else {
notes.classList.add( 'hidden' );
}
// Update the note slides
currentSlide.contentWindow.postMessage( JSON.stringify({ method: 'setState', args: [ data.state ] }), '*' );
upcomingSlide.contentWindow.postMessage( JSON.stringify({ method: 'setState', args: [ data.state ] }), '*' );
upcomingSlide.contentWindow.postMessage( JSON.stringify({ method: 'next' }), '*' );
if (data.markdown) {
notes.innerHTML = marked(data.notes);
}
else {
notes.innerHTML = data.notes;
}
currentSlide.contentWindow.Reveal.slide(data.indexh, data.indexv);
nextSlide.contentWindow.Reveal.slide(data.nextindexh, data.nextindexv);
});
socket.on('fragmentdata', function(data) {
// ignore data from sockets that aren't ours
if (data.socketId !== socketId) { return; }
// Limit to max one state update per X ms
handleStateMessage = debounce( handleStateMessage, 200 );
/**
* Forward keyboard events to the current slide window.
* This enables keyboard events to work even if focus
* isn't set on the current slide iframe.
*/
function setupKeyboard() {
document.addEventListener( 'keydown', function( event ) {
currentSlide.contentWindow.postMessage( JSON.stringify({ method: 'triggerKey', args: [ event.keyCode ] }), '*' );
} );
if (data.fragment === 'next') {
currentSlide.contentWindow.Reveal.nextFragment();
}
else if (data.fragment === 'previous') {
currentSlide.contentWindow.Reveal.prevFragment();
/**
* Creates the preview iframes.
*/
function setupIframes() {
var params = [
'receiver',
'progress=false',
'history=false',
'transition=none',
'backgroundTransition=none'
].join( '&' );
var currentURL = '/?' + params + '&postMessageEvents=true';
var upcomingURL = '/?' + params + '&controls=false';
currentSlide = document.createElement( 'iframe' );
currentSlide.setAttribute( 'width', 1280 );
currentSlide.setAttribute( 'height', 1024 );
currentSlide.setAttribute( 'src', currentURL );
document.querySelector( '#current-slide' ).appendChild( currentSlide );
upcomingSlide = document.createElement( 'iframe' );
upcomingSlide.setAttribute( 'width', 640 );
upcomingSlide.setAttribute( 'height', 512 );
upcomingSlide.setAttribute( 'src', upcomingURL );
document.querySelector( '#upcoming-slide' ).appendChild( upcomingSlide );
}
});
/**
* Setup the notes UI.
*/
function setupNotes() {
notes = document.querySelector( '.speaker-controls-notes' );
notesValue = document.querySelector( '.speaker-controls-notes .value' );
}
/**
* Create the timer and clock and start updating them
* at an interval.
*/
function setupTimer() {
var start = new Date(),
timeEl = document.querySelector( '.speaker-controls-time' ),
clockEl = timeEl.querySelector( '.clock-value' ),
hoursEl = timeEl.querySelector( '.hours-value' ),
minutesEl = timeEl.querySelector( '.minutes-value' ),
secondsEl = timeEl.querySelector( '.seconds-value' );
function _updateTimer() {
var diff, hours, minutes, seconds,
now = new Date();
diff = now.getTime() - start.getTime();
hours = Math.floor( diff / ( 1000 * 60 * 60 ) );
minutes = Math.floor( ( diff / ( 1000 * 60 ) ) % 60 );
seconds = Math.floor( ( diff / 1000 ) % 60 );
clockEl.innerHTML = now.toLocaleTimeString( 'en-US', { hour12: true, hour: '2-digit', minute:'2-digit' } );
hoursEl.innerHTML = zeroPadInteger( hours );
hoursEl.className = hours > 0 ? '' : 'mute';
minutesEl.innerHTML = ':' + zeroPadInteger( minutes );
minutesEl.className = minutes > 0 ? '' : 'mute';
secondsEl.innerHTML = ':' + zeroPadInteger( seconds );
}
// Update once directly
_updateTimer();
// Then update every second
setInterval( _updateTimer, 1000 );
timeEl.addEventListener( 'click', function() {
start = new Date();
_updateTimer();
return false;
} );
}
/**
* Sets up the speaker view layout and layout selector.
*/
function setupLayout() {
layoutDropdown = document.querySelector( '.speaker-layout-dropdown' );
layoutLabel = document.querySelector( '.speaker-layout-label' );
// Render the list of available layouts
for( var id in SPEAKER_LAYOUTS ) {
var option = document.createElement( 'option' );
option.setAttribute( 'value', id );
option.textContent = SPEAKER_LAYOUTS[ id ];
layoutDropdown.appendChild( option );
}
// Monitor the dropdown for changes
layoutDropdown.addEventListener( 'change', function( event ) {
setLayout( layoutDropdown.value );
}, false );
// Restore any currently persisted layout
setLayout( getLayout() );
}
/**
* Sets a new speaker view layout. The layout is persisted
* in local storage.
*/
function setLayout( value ) {
var title = SPEAKER_LAYOUTS[ value ];
layoutLabel.innerHTML = 'Layout' + ( title ? ( ': ' + title ) : '' );
layoutDropdown.value = value;
document.body.setAttribute( 'data-speaker-layout', value );
// Persist locally
if( window.localStorage ) {
window.localStorage.setItem( 'reveal-speaker-layout', value );
}
}
/**
* Returns the ID of the most recently set speaker layout
* or our default layout if none has been set.
*/
function getLayout() {
if( window.localStorage ) {
var layout = window.localStorage.getItem( 'reveal-speaker-layout' );
if( layout ) {
return layout;
}
}
// Default to the first record in the layouts hash
for( var id in SPEAKER_LAYOUTS ) {
return id;
}
}
function zeroPadInteger( num ) {
var str = '00' + parseInt( num );
return str.substring( str.length - 2 );
}
/**
* Limits the frequency at which a function can be called.
*/
function debounce( fn, ms ) {
var lastTime = 0,
timeout;
return function() {
var args = arguments;
var context = this;
clearTimeout( timeout );
var timeSinceLastCall = Date.now() - lastTime;
if( timeSinceLastCall > ms ) {
fn.apply( context, args );
lastTime = Date.now();
}
else {
timeout = setTimeout( function() {
fn.apply( context, args );
lastTime = Date.now();
}, ms - timeSinceLastCall );
}
}
}
})();
</script>
</body>

File diff suppressed because it is too large Load Diff

View File

@@ -1,78 +1,178 @@
/**
* Handles opening of and synchronization with the reveal.js
* notes window.
*
* Handshake process:
* 1. This window posts 'connect' to notes window
* - Includes URL of presentation to show
* 2. Notes window responds with 'connected' when it is available
* 3. This window proceeds to send the current presentation state
* to the notes window
*/
var RevealNotes = (function() {
function openNotes() {
var jsFileLocation = document.querySelector('script[src$="notes.js"]').src; // this js file path
jsFileLocation = jsFileLocation.replace(/notes\.js(\?.*)?$/, ''); // the js folder path
var notesPopup = window.open( jsFileLocation + 'notes.html', 'reveal.js - Notes', 'width=1120,height=850' );
var notesPopup = null;
// Fires when slide is changed
Reveal.addEventListener( 'slidechanged', post );
function openNotes( notesFilePath ) {
// Fires when a fragment is shown
Reveal.addEventListener( 'fragmentshown', post );
if (notesPopup && !notesPopup.closed) {
notesPopup.focus();
return;
}
// Fires when a fragment is hidden
Reveal.addEventListener( 'fragmenthidden', post );
if( !notesFilePath ) {
var jsFileLocation = document.querySelector('script[src$="notes.js"]').src; // this js file path
jsFileLocation = jsFileLocation.replace(/notes\.js(\?.*)?$/, ''); // the js folder path
notesFilePath = jsFileLocation + 'notes.html';
}
notesPopup = window.open( notesFilePath, 'reveal.js - Notes', 'width=1100,height=700' );
if( !notesPopup ) {
alert( 'Speaker view popup failed to open. Please make sure popups are allowed and reopen the speaker view.' );
return;
}
/**
* Connect to the notes window through a postmessage handshake.
* Using postmessage enables us to work in situations where the
* origins differ, such as a presentation being opened from the
* file system.
*/
function connect() {
// Keep trying to connect until we get a 'connected' message back
var connectInterval = setInterval( function() {
notesPopup.postMessage( JSON.stringify( {
namespace: 'reveal-notes',
type: 'connect',
url: window.location.protocol + '//' + window.location.host + window.location.pathname + window.location.search,
state: Reveal.getState()
} ), '*' );
}, 500 );
window.addEventListener( 'message', function( event ) {
var data = JSON.parse( event.data );
if( data && data.namespace === 'reveal-notes' && data.type === 'connected' ) {
clearInterval( connectInterval );
onConnected();
}
if( data && data.namespace === 'reveal-notes' && data.type === 'call' ) {
callRevealApi( data.methodName, data.arguments, data.callId );
}
} );
}
/**
* Calls the specified Reveal.js method with the provided argument
* and then pushes the result to the notes frame.
*/
function callRevealApi( methodName, methodArguments, callId ) {
var result = Reveal[methodName].apply( Reveal, methodArguments );
notesPopup.postMessage( JSON.stringify( {
namespace: 'reveal-notes',
type: 'return',
result: result,
callId: callId
} ), '*' );
}
/**
* Posts the current slide data to the notes window
*/
function post() {
function post( event ) {
var slideElement = Reveal.getCurrentSlide(),
slideIndices = Reveal.getIndices(),
messageData;
notesElement = slideElement.querySelector( 'aside.notes' ),
fragmentElement = slideElement.querySelector( '.current-fragment' );
var notes = slideElement.querySelector( 'aside.notes' ),
nextindexh,
nextindexv;
if( slideElement.nextElementSibling && slideElement.parentNode.nodeName == 'SECTION' ) {
nextindexh = slideIndices.h;
nextindexv = slideIndices.v + 1;
} else {
nextindexh = slideIndices.h + 1;
nextindexv = 0;
}
messageData = {
notes : notes ? notes.innerHTML : '',
indexh : slideIndices.h,
indexv : slideIndices.v,
indexf : slideIndices.f,
nextindexh : nextindexh,
nextindexv : nextindexv,
markdown : notes ? typeof notes.getAttribute( 'data-markdown' ) === 'string' : false
var messageData = {
namespace: 'reveal-notes',
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 a fragment
if( fragmentElement ) {
var fragmentNotes = fragmentElement.querySelector( 'aside.notes' );
if( fragmentNotes ) {
notesElement = fragmentNotes;
}
else if( fragmentElement.hasAttribute( 'data-notes' ) ) {
messageData.notes = fragmentElement.getAttribute( 'data-notes' );
messageData.whitespace = 'pre-wrap';
// In case there are slide notes
notesElement = null;
}
}
// Look for notes defined in an aside element
if( notesElement ) {
messageData.notes = notesElement.innerHTML;
messageData.markdown = typeof notesElement.getAttribute( 'data-markdown' ) === 'string';
}
notesPopup.postMessage( JSON.stringify( messageData ), '*' );
}
// Navigate to the current slide when the notes are loaded
notesPopup.addEventListener( 'load', function( event ) {
/**
* Called once we have established a connection to the notes
* window.
*/
function onConnected() {
// 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 );
// Post the initial state
post();
}, false );
}
// If the there's a 'notes' query set, open directly
if( window.location.search.match( /(\?|\&)notes/gi ) !== null ) {
openNotes();
}
// Open the notes when the 's' key is hit
document.addEventListener( 'keydown', function( event ) {
// Disregard the event if the target is editable or a
// modifier is present
if ( document.querySelector( ':focus' ) !== null || event.shiftKey || event.altKey || event.ctrlKey || event.metaKey ) return;
if( event.keyCode === 83 ) {
event.preventDefault();
openNotes();
}
}, false );
return { open: openNotes };
connect();
}
return {
init: function() {
if( !/receiver/i.test( window.location.search ) ) {
// If the there's a 'notes' query set, open directly
if( window.location.search.match( /(\?|\&)notes/gi ) !== null ) {
openNotes();
}
// Open the notes when the 's' key is hit
Reveal.addKeyBinding({keyCode: 83, key: 'S', description: 'Speaker notes view'}, function() {
openNotes();
} );
}
},
open: openNotes
};
})();
Reveal.registerPlugin( 'notes', RevealNotes );

View File

@@ -1,39 +0,0 @@
<html>
<body>
<iframe id="reveal" src="../../index.html" style="border: 0;" width="500" height="500"></iframe>
<div>
<input id="back" type="button" value="go back"/>
<input id="ahead" type="button" value="go ahead"/>
<input id="slideto" type="button" value="slideto 2-2"/>
</div>
<script>
(function (){
var back = document.getElementById( 'back' ),
ahead = document.getElementById( 'ahead' ),
slideto = document.getElementById( 'slideto' ),
reveal = window.frames[0];
back.addEventListener( 'click', function () {
reveal.postMessage( JSON.stringify({method: 'prev', args: []}), '*' );
}, false );
ahead.addEventListener( 'click', function (){
reveal.postMessage( JSON.stringify({method: 'next', args: []}), '*' );
}, false );
slideto.addEventListener( 'click', function (){
reveal.postMessage( JSON.stringify({method: 'slide', args: [2,2]}), '*' );
}, false );
}());
</script>
</body>
</html>

View File

@@ -1,42 +0,0 @@
/*
simple postmessage plugin
Useful when a reveal slideshow is inside an iframe.
It allows to call reveal methods from outside.
Example:
var reveal = window.frames[0];
// Reveal.prev();
reveal.postMessage(JSON.stringify({method: 'prev', args: []}), '*');
// Reveal.next();
reveal.postMessage(JSON.stringify({method: 'next', args: []}), '*');
// Reveal.slide(2, 2);
reveal.postMessage(JSON.stringify({method: 'slide', args: [2,2]}), '*');
Add to the slideshow:
dependencies: [
...
{ src: 'plugin/postmessage/postmessage.js', async: true, condition: function() { return !!document.body.classList; } }
]
*/
(function (){
window.addEventListener( "message", function ( event ) {
var data = JSON.parse( event.data ),
method = data.method,
args = data.args;
if( typeof Reveal[method] === 'function' ) {
Reveal[method].apply( Reveal, data.args );
}
}, false);
}());

View File

@@ -2,43 +2,66 @@
* phantomjs script for printing presentations to PDF.
*
* Example:
* phantomjs print-pdf.js "http://lab.hakim.se/reveal-js?print-pdf" reveal-demo.pdf
* phantomjs print-pdf.js "http://revealjs.com?print-pdf" reveal-demo.pdf
*
* By Manuel Bieh (https://github.com/manuelbieh)
* @author Manuel Bieh (https://github.com/manuelbieh)
* @author Hakim El Hattab (https://github.com/hakimel)
* @author Manuel Riezebosch (https://github.com/riezebosch)
*/
// html2pdf.js
var page = new WebPage();
var system = require( 'system' );
page.viewportSize = {
width: 1024,
height: 768
};
var probePage = new WebPage();
var printPage = new WebPage();
page.paperSize = {
format: 'letter',
orientation: 'landscape',
margin: {
left: '0',
right: '0',
top: '0',
bottom: '0'
}
};
var inputFile = system.args[1] || 'index.html?print-pdf';
var outputFile = system.args[2] || 'slides.pdf';
var revealFile = system.args[1] || 'index.html?print-pdf';
var slideFile = system.args[2] || 'slides.pdf';
if( slideFile.match( /\.pdf$/gi ) === null ) {
slideFile += '.pdf';
if( outputFile.match( /\.pdf$/gi ) === null ) {
outputFile += '.pdf';
}
console.log( 'Printing PDF...' );
console.log( 'Export PDF: Reading reveal.js config [1/4]' );
page.open( revealFile, function( status ) {
console.log( 'Printed succesfully' );
page.render( slideFile );
phantom.exit();
probePage.open( inputFile, function( status ) {
console.log( 'Export PDF: Preparing print layout [2/4]' );
var config = probePage.evaluate( function() {
return Reveal.getConfig();
} );
if( config ) {
printPage.paperSize = {
width: Math.floor( config.width * ( 1 + config.margin ) ),
height: Math.floor( config.height * ( 1 + config.margin ) ),
border: 0
};
printPage.open( inputFile, function( status ) {
console.log( 'Export PDF: Preparing pdf [3/4]')
printPage.evaluate( function() {
Reveal.isReady() ? window.callPhantom() : Reveal.addEventListener( 'pdf-ready', window.callPhantom );
} );
} );
printPage.onCallback = function( data ) {
// For some reason we need to "jump the queue" for syntax highlighting to work.
// See: http://stackoverflow.com/a/3580132/129269
setTimeout( function() {
console.log( 'Export PDF: Writing file [4/4]' );
printPage.render( outputFile );
console.log( 'Export PDF: Finished successfully!' );
phantom.exit();
}, 0 );
};
}
else {
console.log( 'Export PDF: Unable to read reveal.js config. Make sure the input address points to a reveal.js page.' );
phantom.exit( 1 );
}
} );

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

@@ -19,111 +19,117 @@ var RevealSearch = (function() {
function Hilitor(id, tag)
{
var targetNode = document.getElementById(id) || document.body;
var hiliteTag = tag || "EM";
var skipTags = new RegExp("^(?:" + hiliteTag + "|SCRIPT|FORM|SPAN)$");
var colors = ["#ff6", "#a0ffff", "#9f9", "#f99", "#f6f"];
var wordColor = [];
var colorIdx = 0;
var matchRegex = "";
var matchingSlides = [];
var targetNode = document.getElementById(id) || document.body;
var hiliteTag = tag || "EM";
var skipTags = new RegExp("^(?:" + hiliteTag + "|SCRIPT|FORM)$");
var colors = ["#ff6", "#a0ffff", "#9f9", "#f99", "#f6f"];
var wordColor = [];
var colorIdx = 0;
var matchRegex = "";
var matchingSlides = [];
this.setRegex = function(input)
{
input = input.replace(/^[^\w]+|[^\w]+$/g, "").replace(/[^\w'-]+/g, "|");
matchRegex = new RegExp("(" + input + ")","i");
}
this.setRegex = function(input)
{
input = input.replace(/^[^\w]+|[^\w]+$/g, "").replace(/[^\w'-]+/g, "|");
matchRegex = new RegExp("(" + input + ")","i");
}
this.getRegex = function()
{
return matchRegex.toString().replace(/^\/\\b\(|\)\\b\/i$/g, "").replace(/\|/g, " ");
}
this.getRegex = function()
{
return matchRegex.toString().replace(/^\/\\b\(|\)\\b\/i$/g, "").replace(/\|/g, " ");
}
// recursively apply word highlighting
this.hiliteWords = function(node)
{
if(node == undefined || !node) return;
if(!matchRegex) return;
if(skipTags.test(node.nodeName)) return;
// recursively apply word highlighting
this.hiliteWords = function(node)
{
if(node == undefined || !node) return;
if(!matchRegex) return;
if(skipTags.test(node.nodeName)) return;
if(node.hasChildNodes()) {
for(var i=0; i < node.childNodes.length; i++)
this.hiliteWords(node.childNodes[i]);
}
if(node.nodeType == 3) { // NODE_TEXT
if((nv = node.nodeValue) && (regs = matchRegex.exec(nv))) {
//find the slide's section element and save it in our list of matching slides
var secnode = node.parentNode;
while (secnode.nodeName != 'SECTION') {
secnode = secnode.parentNode;
}
var slideIndex = Reveal.getIndices(secnode);
var slidelen = matchingSlides.length;
var alreadyAdded = false;
for (var i=0; i < slidelen; i++) {
if ( (matchingSlides[i].h === slideIndex.h) && (matchingSlides[i].v === slideIndex.v) ) {
alreadyAdded = true;
}
}
if (! alreadyAdded) {
matchingSlides.push(slideIndex);
}
if(!wordColor[regs[0].toLowerCase()]) {
wordColor[regs[0].toLowerCase()] = colors[colorIdx++ % colors.length];
}
if(node.hasChildNodes()) {
for(var i=0; i < node.childNodes.length; i++)
this.hiliteWords(node.childNodes[i]);
}
if(node.nodeType == 3) { // NODE_TEXT
if((nv = node.nodeValue) && (regs = matchRegex.exec(nv))) {
//find the slide's section element and save it in our list of matching slides
var secnode = node;
while (secnode != null && secnode.nodeName != 'SECTION') {
secnode = secnode.parentNode;
}
var match = document.createElement(hiliteTag);
match.appendChild(document.createTextNode(regs[0]));
match.style.backgroundColor = wordColor[regs[0].toLowerCase()];
match.style.fontStyle = "inherit";
match.style.color = "#000";
var slideIndex = Reveal.getIndices(secnode);
var slidelen = matchingSlides.length;
var alreadyAdded = false;
for (var i=0; i < slidelen; i++) {
if ( (matchingSlides[i].h === slideIndex.h) && (matchingSlides[i].v === slideIndex.v) ) {
alreadyAdded = true;
}
}
if (! alreadyAdded) {
matchingSlides.push(slideIndex);
}
var after = node.splitText(regs.index);
after.nodeValue = after.nodeValue.substring(regs[0].length);
node.parentNode.insertBefore(match, after);
}
}
};
if(!wordColor[regs[0].toLowerCase()]) {
wordColor[regs[0].toLowerCase()] = colors[colorIdx++ % colors.length];
}
// remove highlighting
this.remove = function()
{
var arr = document.getElementsByTagName(hiliteTag);
while(arr.length && (el = arr[0])) {
el.parentNode.replaceChild(el.firstChild, el);
}
};
var match = document.createElement(hiliteTag);
match.appendChild(document.createTextNode(regs[0]));
match.style.backgroundColor = wordColor[regs[0].toLowerCase()];
match.style.fontStyle = "inherit";
match.style.color = "#000";
// start highlighting at target node
this.apply = function(input)
{
if(input == undefined || !input) return;
this.remove();
this.setRegex(input);
this.hiliteWords(targetNode);
return matchingSlides;
};
var after = node.splitText(regs.index);
after.nodeValue = after.nodeValue.substring(regs[0].length);
node.parentNode.insertBefore(match, after);
}
}
};
// remove highlighting
this.remove = function()
{
var arr = document.getElementsByTagName(hiliteTag);
while(arr.length && (el = arr[0])) {
el.parentNode.replaceChild(el.firstChild, el);
}
};
// start highlighting at target node
this.apply = function(input)
{
if(input == undefined || !input) return;
this.remove();
this.setRegex(input);
this.hiliteWords(targetNode);
return matchingSlides;
};
}
function openSearch() {
//ensure the search term input dialog is visible and has focus:
var inputboxdiv = document.getElementById("searchinputdiv");
var inputbox = document.getElementById("searchinput");
inputbox.style.display = "inline";
inputboxdiv.style.display = "inline";
inputbox.focus();
inputbox.select();
}
function closeSearch() {
var inputboxdiv = document.getElementById("searchinputdiv");
inputboxdiv.style.display = "none";
if(myHilitor) myHilitor.remove();
}
function toggleSearch() {
var inputbox = document.getElementById("searchinput");
if (inputbox.style.display !== "inline") {
var inputboxdiv = document.getElementById("searchinputdiv");
if (inputboxdiv.style.display !== "inline") {
openSearch();
}
else {
inputbox.style.display = "none";
myHilitor.remove();
closeSearch();
}
}
@@ -132,19 +138,27 @@ function Hilitor(id, tag)
if (searchboxDirty) {
var searchstring = document.getElementById("searchinput").value;
//find the keyword amongst the slides
myHilitor = new Hilitor("slidecontent");
matchedSlides = myHilitor.apply(searchstring);
currentMatchedIndex = 0;
if (searchstring === '') {
if(myHilitor) myHilitor.remove();
matchedSlides = null;
}
else {
//find the keyword amongst the slides
myHilitor = new Hilitor("slidecontent");
matchedSlides = myHilitor.apply(searchstring);
currentMatchedIndex = 0;
}
}
//navigate to the next slide that has the keyword, wrapping to the first if necessary
if (matchedSlides.length && (matchedSlides.length <= currentMatchedIndex)) {
currentMatchedIndex = 0;
}
if (matchedSlides.length > currentMatchedIndex) {
Reveal.slide(matchedSlides[currentMatchedIndex].h, matchedSlides[currentMatchedIndex].v);
currentMatchedIndex++;
if (matchedSlides) {
//navigate to the next slide that has the keyword, wrapping to the first if necessary
if (matchedSlides.length && (matchedSlides.length <= currentMatchedIndex)) {
currentMatchedIndex = 0;
}
if (matchedSlides.length > currentMatchedIndex) {
Reveal.slide(matchedSlides[currentMatchedIndex].h, matchedSlides[currentMatchedIndex].v);
currentMatchedIndex++;
}
}
}
@@ -155,19 +169,20 @@ function Hilitor(id, tag)
var searchElement = document.createElement( 'div' );
searchElement.id = "searchinputdiv";
searchElement.classList.add( 'searchdiv' );
searchElement.style.position = 'absolute';
searchElement.style.top = '10px';
searchElement.style.left = '10px';
//embedded base64 search icon Designed by Sketchdock - http://www.sketchdock.com/:
searchElement.style.position = 'absolute';
searchElement.style.top = '10px';
searchElement.style.right = '10px';
searchElement.style.zIndex = 10;
//embedded base64 search icon Designed by Sketchdock - http://www.sketchdock.com/:
searchElement.innerHTML = '<span><input type="search" id="searchinput" class="searchinput" style="vertical-align: top;"/><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJiSURBVHjatFZNaxNBGH5md+Mmu92NVdKDRipSAyqCghgQD4L4cRe86UUtAQ+eFCxoa4/25EXBFi8eBE+eRPoDhB6KgiiixdAPCEkx2pjvTXadd9yNsflwuyUDD/O+u8PzzDPvzOwyx3EwyCZhwG3gAkp7MnpjgbopjsltcD4gjuXZZKeAR348MYLYTm3LzOs/y3j3JTfZxgXWXmTuwPHIc4VmoOmv5IrI53+AO2DdHLjkDWQ3GoEEVFXtXQOvkSnPWcyUceviLhwbDYv8/XIVj97kse7TodLvZXxYxrPUHkQ1ufXs3FEdybEIxucySOesoNvUgWU1cP3MkCBfTFdw9fGaAMVmRELq7LBw2Q3/FaAxxWIRpw+ZIr/7IouPqzUBiqmdHAv7EuhRAwf1er2Vy4x1jW3b2d5Jfvu5IPp7l2LYbcgCFFNb+FoJ7oBqEAqFMPNqFcmEgVMJDfMT+1tvN0pNjERlMS6QA5pFOKxiKVPFhakPeL3It+WGJUDxt2wFR+JhzI7v5ctkd8DXOZAkCYYxhO+lKm4+Xfqz/rIixBuNBl7eOYzkQQNzqX249mRl6zUgEcYkaJrGhUwBinVdh6IouPzwE6/DL5w4oLkH8y981aDf+uq6hlKpJESiUdNfDZi7/ehG9K6KfiA3pml0PLcsq+cSMTj2NL9ukc4UOmz7AZ3+crkC4mHujFvXNaMFB3bEr8xPS6p5O+jXxq4VZtaen7/PwzrntjcLUE0iHPS1Ud1cdiEJl/8WivZk0wXd7zWOMkeF8s0CcAmkNrC2nvXZDbbbN73ccYnZoH9bfgswAFzAe9/h3dbKAAAAAElFTkSuQmCC" id="searchbutton" class="searchicon" style="vertical-align: top; margin-top: -1px;"/></span>';
dom.wrapper.appendChild( searchElement );
}
document.getElementById("searchbutton").addEventListener( 'click', function(event) {
document.getElementById( 'searchbutton' ).addEventListener( 'click', function(event) {
doSearch();
}, false );
document.getElementById("searchinput").addEventListener( 'keyup', function( event ) {
document.getElementById( 'searchinput' ).addEventListener( 'keyup', function( event ) {
switch (event.keyCode) {
case 13:
event.preventDefault();
@@ -179,18 +194,13 @@ function Hilitor(id, tag)
}
}, false );
// Open the search when the 's' key is hit (yes, this conflicts with the notes plugin, disabling for now)
/*
document.addEventListener( 'keydown', function( event ) {
// Disregard the event if the target is editable or a
// modifier is present
if ( document.querySelector( ':focus' ) !== null || event.shiftKey || event.altKey || event.ctrlKey || event.metaKey ) return;
if( event.keyCode === 83 ) {
if( event.key == "F" && (event.ctrlKey || event.metaKey) ) { //Control+Shift+f
event.preventDefault();
openSearch();
toggleSearch();
}
}, false );
*/
if( window.Reveal ) Reveal.registerKeyboardShortcut( 'CTRL + Shift + F', 'Search' );
closeSearch();
return { open: openSearch };
})();

View File

@@ -1,26 +1,40 @@
// Custom reveal.js integration
(function(){
var isEnabled = true;
var RevealZoom = (function(){
document.querySelector( '.reveal' ).addEventListener( 'mousedown', function( event ) {
var modifier = ( Reveal.getConfig().zoomKey ? Reveal.getConfig().zoomKey : 'alt' ) + 'Key';
return {
init: function() {
Reveal.getRevealElement().addEventListener( 'mousedown', function( event ) {
var defaultModifier = /Linux/.test( window.navigator.platform ) ? 'ctrl' : 'alt';
var modifier = ( Reveal.getConfig().zoomKey ? Reveal.getConfig().zoomKey : defaultModifier ) + 'Key';
var zoomLevel = ( Reveal.getConfig().zoomLevel ? Reveal.getConfig().zoomLevel : 2 );
if( event[ modifier ] && !Reveal.isOverview() ) {
event.preventDefault();
zoom.to({
x: event.clientX,
y: event.clientY,
scale: zoomLevel,
pan: false
});
}
} );
if( event[ modifier ] && isEnabled ) {
event.preventDefault();
zoom.to({ element: event.target, pan: false });
}
} );
}
Reveal.addEventListener( 'overviewshown', function() { isEnabled = false; } );
Reveal.addEventListener( 'overviewhidden', function() { isEnabled = true; } );
})();
Reveal.registerPlugin( 'zoom', RevealZoom );
/*!
* zoom.js 0.2 (modified version for use with reveal.js)
* zoom.js 0.3 (modified for use with reveal.js)
* http://lab.hakim.se/zoom-js
* MIT licensed
*
* Copyright (C) 2011-2012 Hakim El Hattab, http://hakim.se
* Copyright (C) 2011-2014 Hakim El Hattab, http://hakim.se
*/
var zoom = (function(){
@@ -35,8 +49,6 @@ var zoom = (function(){
var panEngageTimeout = -1,
panUpdateInterval = -1;
var currentOptions = null;
// Check for transform support so that we can fallback otherwise
var supportsTransforms = 'WebkitTransform' in document.body.style ||
'MozTransform' in document.body.style ||
@@ -58,7 +70,7 @@ var zoom = (function(){
if( level !== 1 && event.keyCode === 27 ) {
zoom.out();
}
}, false );
} );
// Monitor mouse movement for panning
document.addEventListener( 'mousemove', function( event ) {
@@ -66,38 +78,56 @@ var zoom = (function(){
mouseX = event.clientX;
mouseY = event.clientY;
}
}, false );
} );
/**
* Applies the CSS required to zoom in, prioritizes use of CSS3
* Applies the CSS required to zoom in, prefers the use of CSS3
* transforms but falls back on zoom for IE.
*
* @param {Number} pageOffsetX
* @param {Number} pageOffsetY
* @param {Number} elementOffsetX
* @param {Number} elementOffsetY
* @param {Object} rect
* @param {Number} scale
*/
function magnify( pageOffsetX, pageOffsetY, elementOffsetX, elementOffsetY, scale ) {
function magnify( rect, scale ) {
var scrollOffset = getScrollOffset();
// Ensure a width/height is set
rect.width = rect.width || 1;
rect.height = rect.height || 1;
// Center the rect within the zoomed viewport
rect.x -= ( window.innerWidth - ( rect.width * scale ) ) / 2;
rect.y -= ( window.innerHeight - ( rect.height * scale ) ) / 2;
if( supportsTransforms ) {
var origin = pageOffsetX +'px '+ pageOffsetY +'px',
transform = 'translate('+ -elementOffsetX +'px,'+ -elementOffsetY +'px) scale('+ scale +')';
// Reset
if( scale === 1 ) {
document.body.style.transform = '';
document.body.style.OTransform = '';
document.body.style.msTransform = '';
document.body.style.MozTransform = '';
document.body.style.WebkitTransform = '';
}
// Scale
else {
var origin = scrollOffset.x +'px '+ scrollOffset.y +'px',
transform = 'translate('+ -rect.x +'px,'+ -rect.y +'px) scale('+ scale +')';
document.body.style.transformOrigin = origin;
document.body.style.OTransformOrigin = origin;
document.body.style.msTransformOrigin = origin;
document.body.style.MozTransformOrigin = origin;
document.body.style.WebkitTransformOrigin = origin;
document.body.style.transformOrigin = origin;
document.body.style.OTransformOrigin = origin;
document.body.style.msTransformOrigin = origin;
document.body.style.MozTransformOrigin = origin;
document.body.style.WebkitTransformOrigin = origin;
document.body.style.transform = transform;
document.body.style.OTransform = transform;
document.body.style.msTransform = transform;
document.body.style.MozTransform = transform;
document.body.style.WebkitTransform = transform;
document.body.style.transform = transform;
document.body.style.OTransform = transform;
document.body.style.msTransform = transform;
document.body.style.MozTransform = transform;
document.body.style.WebkitTransform = transform;
}
}
else {
// Reset all values
// Reset
if( scale === 1 ) {
document.body.style.position = '';
document.body.style.left = '';
@@ -106,11 +136,11 @@ var zoom = (function(){
document.body.style.height = '';
document.body.style.zoom = '';
}
// Apply scale
// Scale
else {
document.body.style.position = 'relative';
document.body.style.left = ( - ( pageOffsetX + elementOffsetX ) / scale ) + 'px';
document.body.style.top = ( - ( pageOffsetY + elementOffsetY ) / scale ) + 'px';
document.body.style.left = ( - ( scrollOffset.x + rect.x ) / scale ) + 'px';
document.body.style.top = ( - ( scrollOffset.y + rect.y ) / scale ) + 'px';
document.body.style.width = ( scale * 100 ) + '%';
document.body.style.height = ( scale * 100 ) + '%';
document.body.style.zoom = scale;
@@ -119,11 +149,13 @@ var zoom = (function(){
level = scale;
if( level !== 1 && document.documentElement.classList ) {
document.documentElement.classList.add( 'zoomed' );
}
else {
document.documentElement.classList.remove( 'zoomed' );
if( document.documentElement.classList ) {
if( level !== 1 ) {
document.documentElement.classList.add( 'zoomed' );
}
else {
document.documentElement.classList.remove( 'zoomed' );
}
}
}
@@ -159,7 +191,7 @@ var zoom = (function(){
function getScrollOffset() {
return {
x: window.scrollX !== undefined ? window.scrollX : window.pageXOffset,
y: window.scrollY !== undefined ? window.scrollY : window.pageXYffset
y: window.scrollY !== undefined ? window.scrollY : window.pageYOffset
}
}
@@ -175,6 +207,7 @@ var zoom = (function(){
* - scale: can be used instead of width/height to explicitly set scale
*/
to: function( options ) {
// Due to an implementation limitation we can't zoom in
// to another element without zooming out first
if( level !== 1 ) {
@@ -188,11 +221,12 @@ var zoom = (function(){
if( !!options.element ) {
// Space around the zoomed in element to leave on screen
var padding = 20;
var bounds = options.element.getBoundingClientRect();
options.width = options.element.getBoundingClientRect().width + ( padding * 2 );
options.height = options.element.getBoundingClientRect().height + ( padding * 2 );
options.x = options.element.getBoundingClientRect().left - padding;
options.y = options.element.getBoundingClientRect().top - padding;
options.x = bounds.left - padding;
options.y = bounds.top - padding;
options.width = bounds.width + ( padding * 2 );
options.height = bounds.height + ( padding * 2 );
}
// If width/height values are set, calculate scale from those values
@@ -204,13 +238,7 @@ var zoom = (function(){
options.x *= options.scale;
options.y *= options.scale;
var scrollOffset = getScrollOffset();
if( options.element ) {
scrollOffset.x -= ( window.innerWidth - ( options.width * options.scale ) ) / 2;
}
magnify( scrollOffset.x, scrollOffset.y, options.x, options.y, options.scale );
magnify( options, options.scale );
if( options.pan !== false ) {
@@ -222,8 +250,6 @@ var zoom = (function(){
}
}
currentOptions = options;
}
},
@@ -234,13 +260,7 @@ var zoom = (function(){
clearTimeout( panEngageTimeout );
clearInterval( panUpdateInterval );
var scrollOffset = getScrollOffset();
if( currentOptions && currentOptions.element ) {
scrollOffset.x -= ( window.innerWidth - ( currentOptions.width * currentOptions.scale ) ) / 2;
}
magnify( scrollOffset.x, scrollOffset.y, 0, 0, 1 );
magnify( { x: 0, y: 0 }, 1 );
level = 1;
},
@@ -255,4 +275,3 @@ var zoom = (function(){
}
})();

View File

@@ -0,0 +1 @@
window.externalScriptSequence += 'A';

View File

@@ -0,0 +1 @@
window.externalScriptSequence += 'B';

Some files were not shown because too many files have changed in this diff Show More