v4.0.0
A major release with a ton of improvements! All of reveal.js 3.8.0-3.9.2 new features are supported. Added a new set of column layout options for quick slides design. Highlight.js support improved. Easier templates customizations. New Java / JVM toolchain via AsciidoctorJ-reveal.js. Support was added for Asciidoctor docinfo
and sectnums
attributes, kbd
macro and callout styles were fixed.
See the upgrade considerations section for the list of potentially breaking changes.
Upgrade considerations
- Due to an upstream change in reveal.js 3.8.0, this back-end no longer supports earlier reveal.js versions. We added a compatibility matrix with reveal.js at the end of the README. See #301 for details.
- Using the attribute
background-opacity
to alter the opacity of the title slide no longer works. When the opacity feature was introduced we forgot to align with the other title slide attributes. The feature was introduced in 3.0.0 and the bug stayed in 3.1.0. Starting with 4.0.0 usetitle-slide-background-opacity
instead. See issue #323 for details. - The new Columns layout feature required a new
<div>
that wraps all slide content (everything except the slide title). This might impact custom CSS with strict child relationships. See issue #326 and PR #332 for details. - We bundle Highlight.js instead of relying on reveal.js. We reduced the core set of supported languages and added the
highlightjs-languages
attribute to add specific languages on demand. Depending on what type of code you were highlighting, you might need to add your language using that attribute. See #320 for details. - Our support of AsciiDoc
docinfo
attribute changed. We were previously injectingdocinfo-header.html
somewhere in the HTML<head>
. Now,docinfo-revealjs.html
goes last into the HTML<head>
,docinfo-header-revealjs.html
goes right before the first slide<section>
anddocinfo-footer-revealjs.html
goes right after the last slide<section>
. The new documentation is available here and the related tickets are #198 and #324. - Default highlight.js theme is monokai. This follows a reveal.js change.
Enhancements
- New Columns layout feature which provides easy to use roles to create multiple columns in slides. See the feature's documentation for usage details. See issue #326 and PRs #332, #340 for details.
- Built-in slim templates can now be overridden with
--template-dir
or-T
when using the Ruby command-line interface (#177, #318, #349) - Highlight.js is now bundled by us instead of reveal.js. You can add other languages not supported in the core set by using the
highlightjs-languages
attribute. It can also be loaded locally or from a CDN of your choice. See issues #21, #319 and #320 for details. - We now support the Java / JVM ecosystem. This packaging happens in a separate project: AsciidoctorJ reveal.js. See issue #271 and PR #337 for details.
- Many new examples demonstrating various features
- Documentation improvements (#322)
- Refactoring (#327, #330, #333)
Compliance
- New reveal.js 3.8.0 and 3.9.0 features supported (#301)
- Line numbers on source code blocks using Asciidoctor's
linenums
attribute - Specific lines and step-by-step code highlights using Asciidoctor's
highlight
attribute - reveal.js
data-preview
on links and images with link can be activated by using thepreview
andlink_preview
Asciidoctor attributes respectively - New configuration options:
hash
,navigationMode
,shuffle
,preloadIframes
,totalTime
,minimumTimePerSlide
,hideInactiveCursor
,hideCursorTime
,previewLinks
(data-preview-link
) andmobileViewDistance
(#301)
- Line numbers on source code blocks using Asciidoctor's
- Added support for the
sectnums
AsciiDoc attribute (#185, #317) - Aligned our
docinfo
support to Asciidoctor Bespoke (#198, #324) - Support the
highlightjs-languages
attribute from Asciidocotor (#319, #320) background-opacity
title slide attribute renamed totitle-slide-background-opacity
(#323, #325)- Added support for the
kdb
macro to represent keyboard shortcuts (#276, #329) - Cosmetic improvements to callout lists (#335)
Bug Fixes
- Line height CSS fix with code listing with line numbers (#331, #334)
- Interactive debugging works again (#322)
- Fixed Uncaught ReferenceError: require is not defined by dropping outdated documentation (#344)
Release meta
- Released on: 2020-02-18
- Released by: Olivier Bilodeau
- Release drink: Lime Flavored Sparkling Water