Skip to content

v4.0.0

Compare
Choose a tag to compare
@obilodeau obilodeau released this 19 Feb 04:48
· 241 commits to master since this release

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 use title-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 injecting docinfo-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> and docinfo-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 the preview and link_preview Asciidoctor attributes respectively
    • New configuration options: hash, navigationMode, shuffle, preloadIframes, totalTime, minimumTimePerSlide, hideInactiveCursor, hideCursorTime, previewLinks (data-preview-link) and mobileViewDistance (#301)
  • 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 to title-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

git tag | full diff | milestone