hakimel/reveal.js
 Watch   
 Star   
 Fork   
27 days ago
reveal.js

5.2.1

Lightbox bug fixes and improvements

  • Prevent reveal.js keyboard shortcuts while lightbox is open (@tobi-or-not-tobi in https://github.com/hakimel/reveal.js/pull/3767)
  • Opening iframe lightboxes via [data-preview-link] now works all element types, not just <a> (@hakimel)
  • Lightbox state is now persisted/restored when calling Reveal.getState and Reveal.setState (@hakimel)
  • Lightbox now syncs between speaker view and main window (@hakimel)
  • Fix pause overlay/lightbox layering conflict (@tobi-or-not-tobi in https://github.com/hakimel/reveal.js/pull/3768)
  • Added lightbox example to demo.html

Full Changelog: https://github.com/hakimel/reveal.js/compare/5.2.0...5.2.1

2025-03-19 19:03:33
reveal.js

5.2.0

New Feature: Lightbox

Any element in your presentation can now be turned into an image/video lightbox trigger. Clicking reveals a full-size lightbox overlay where users can view your image or video. This is great for things like clickable thumbnails in a gallery.

<!-- Click to show "A.png" in an overlay -->
<img src="A.png" data-preview-image>

<!-- Click show "B.png" in an overlay -->
<img src="A.png" data-preview-image="B.png">

<!-- Click to show "C.mp4" in an overlay and scale it to "cover" -->
<img src="A.png" data-preview-video="C.mp4" data-preview-fit="cover">

<!-- Works with any element type -->
<button data-preview-video="C.mp4">Play video</button>

Docs: revealjs.com/lightbox.

Here's what it looks like in action:

https://github.com/user-attachments/assets/3d7d5885-8099-412c-b26d-ef294adbbb3d

Changes

  • Upgrade to gulp 5.0.
  • Add controls: "speaker-only" config option for only showing controls in speaker view (@gpotter2 in https://github.com/hakimel/reveal.js/pull/3716)
  • Extend search API to include closeSearch and toggleSearch (@lechten in https://github.com/hakimel/reveal.js/pull/3685)
  • Automatic source code spellcheck via GitHub action (@yarikoptic in https://github.com/hakimel/reveal.js/pull/3602)
  • Math plugin now ignores code tags by default (@hakimel in 0d02d8a303a39b02c919d86c94ec477d1e1b107d)
  • Muted background videos now autoplay in the speaker view.
  • Prevent initialize from being called twice (@hakimel in 16ac4b00671a8ac6433091118c4ebd9b00255545)
  • Auto-animate no longer skips matching fragments on adjacent slides (@hakimel in 6dea2a50941bf3be6824b3eadc5cb17feb87eb5b)

Bug fixes

  • Fix reveal.js not covering full viewport height in iOS by switching to 100dvh (@hakimel in 6cebb771eec18e244a23719f94baf0e70242abe7)
  • Fix background video restarting when switching fragments from notes view (https://github.com/hakimel/reveal.js/issues/3633)
  • Fix gulp package not working in gulp 5 (@dennybiasiolli in https://github.com/hakimel/reveal.js/pull/3701)
  • Fix last slide not triggering slidechange event in scroll view (@hakimel in fe4a6e82b01df923085fa867656cf11180490465)

Full Changelog: https://github.com/hakimel/reveal.js/compare/5.1.0...5.2.0

2024-04-11 14:45:27
reveal.js

5.1.0

Changes

  • Add the enter-fullscreen class to any element in your presentation to turn it into fullscreen trigger (@hakimel)
  • Video backgrounds now continue to play seamlessly across multiple slides (@hakimel)

https://github.com/hakimel/reveal.js/assets/629429/d1bcbced-5ede-4e2d-83fb-d3f3804eb674

Fixes

Full Changelog: https://github.com/hakimel/reveal.js/compare/5.0.5...5.1.0

2024-02-26 18:17:44
reveal.js

5.0.5

Changes

  • Keyboard navigation support in scroll view (@hakimel in #3515)
  • Add F1 shortcut for showing help overlay (@gchriz in #3570)

Fixes

  • Fix postMessage XSS exploit (@hakimel in 3dade6117628beb7706b4abdc61c268ce281abbc)
  • Fix stack backgrounds not working in scroll view (@bouzidanas in #3568)
  • Fix fragmentshown and fragmenthidden not firing in scroll view (@bouzidanas, @ hakimel in #3580)

Full Changelog: https://github.com/hakimel/reveal.js/compare/5.0.4...5.0.5

2023-12-22 20:18:06
reveal.js

5.0.4

Fixes

  • Missing slide backgrounds in mobile scroll view (#3554)
2023-12-15 16:03:32
reveal.js

5.0.3

Changes

  • Search plugin now supports searching for diacritics and searches full phrases (@t-fritsch in #3532)
  • Jump-to-slide now adapts to the configured slide number format (@hakimel in #3501)
  • Slide background XSS prevention (@EastSun5566 in https://github.com/hakimel/reveal.js/pull/3548)

Fixes

  • Fix speaker notes not appearing in PDF exports (@hakimel in #3535)
  • Fix exception when stepping backwards through code highlights (@hakimel in #3524)
  • Fix exception when navigating decks in mobile browsers (@hakimel in #3539)
  • Fix pause/help overlay position in scroll view (@hakimel in #3542)
  • Fix mobile scroll view navigation when fragments began at a index higher than 1 (@hakimel #3540)

Full Changelog: https://github.com/hakimel/reveal.js/compare/5.0.2...5.0.3

2023-11-09 16:05:58
reveal.js

5.0.2

Changes

Full Changelog: https://github.com/hakimel/reveal.js/compare/5.0.0...5.0.2

2023-10-27 20:57:55
reveal.js

5.0.0

Scroll view

reveal.js 5.0 comes with a groundbreaking new feature; scroll view! (https://github.com/hakimel/reveal.js/pull/3482)

Slide decks are a great format for giving presentations, but scrollable web pages are easier for viewers to read on their own.

The scroll view gives you the best of both worlds—without any extra effort. Present in the format best suited for presenting, share in the format best suited for consumption.

Here's what it looks in action:

https://github.com/hakimel/reveal.js/assets/629429/e94e0352-7e4c-4a0f-8ea1-a20b420bb28a

Explore the above demo yourself at https://slides.com/news/scroll-mode/scroll

How to use it

The scroll view is enabled by initializing reveal.js with view: "scroll" or by appending ?view=scroll to a deck URL.

Reveal.initialize({ view: 'scroll' });

It's possible to fine tune this view through multiple new config options. Full documentation available at https://revealjs.com/scroll-view.

Breaking change

The scroll view is automatically enabled for viewports below 435px wide. This is done because I believe the scroll view to be a superior way to browse any deck on a mobile device. If you want to revert this behavior and always paginate between slides, see scrollActivationWidth:

Reveal.initialize({ scrollActivationWidth: null })

Changes

  • The PDF print view can now be activated via config Reveal.initialize({ view: 'print' }) (@hakimel in #3482)
  • The new URL query for activating the print view is ?view=print. It used to be ?print-pdf, which is still supported for backwards compatibility. (@hakimel in #3482)

Fixes

Full Changelog: https://github.com/hakimel/reveal.js/compare/4.6.0...5.0.0

2023-09-12 15:16:24
reveal.js

4.6.0

Changes

  • Add support for line number offsets in Markdown code blocks. Read the docs (@flowolf #3409)
  • Significantly speed up livereload (@t-fritsch #3446)
  • Add support for links to the id of an element nested inside slide (@t-fritsch #3444)
  • Adds ability to override Markdown plugin default options (@t-fritsch #3443)
  • Allow theme subfolders (@t-fritsch #3442)
  • Refactored Markdown plugin to use let/const and strict equality (@grgprarup #3454)

Fixes

  • Auto-slide duration falls back on global setting autoSlide instead of using first fragment auto-slide (@hakimel)
  • When a fragment sets data-autoslide, all fragments of the same index will now use the same auto-slide timing (@hakimel)
  • Fix code block auto-animate bug that caused unmatched lines to appear without fading in (@hakimel)
  • Fix livereload when using root CLI param (@t-fritsch #3441)
  • Fix scss watch tasks broken on syntax error (@t-fritsch #3445)
  • Fix typos in variable names (@individual-it #3453)
  • Fix code blocks font when printing pdf (@t-fritsch #3457)
  • Fix dracula's theme list-style on sub-items (@gildasio #3450)
  • Fix dracula li markers (@t-fritsch #3464)

Full Changelog: https://github.com/hakimel/reveal.js/compare/4.5.0...4.6.0

2023-04-13 19:50:05
reveal.js

4.5.0

Changes

  • Add support for jump-to-slide! 🚀 Press the G key and type a slide number or title. Read the docs (@hakimel)
  • Add dracula theme (@iiska #3324)
  • Add two new high contrast themes: black-contrast and white-contrast (@peter-kehl @hakimel #3367)
  • Add default lang attribute to index.html (@sojinsamuel)
  • It's now easier to define custom fragment styles via a new .custom class and reduced specificity. Read the docs (@hakimel)
  • Live reload now works with .html/.md files in subfolders (@lolmaus #3305)

Fixes

  • Update dependencies and fix all npm audit warnings (@hakimel)
  • Fix issue with special characters in slide background image URLs (@Martinomagnifico #3315)
  • Fix an issue where leading whitespace was sometimes incorrectly stripped from Markdown (@jerrykan #3358)
  • Fix spacing between slides in overview mode when disableLayout: true (@Proliecan #3291)
  • The reveal.js print styles will no longer apply to content outside of reveal.js (@hakimel #3348)
  • Improve selection color contrast for black theme (@hakimel)

Full Changelog: https://github.com/hakimel/reveal.js/compare/4.4.0...4.5.0