Skip to content

Releases: asciidoctor/asciidoctor-reveal.js

v5.1.0

12 Dec 13:18
Compare
Choose a tag to compare

Enhancements

  • Upgrade to reveal.js 4.5.0

Bug Fixes

  • Fix a compatibility issue between Opal and Asciidoctor.js 3.x by upgrading Opal to 1.7.3
  • Fix a compatibility issue with asciidoctor-chart by upgrading asciidoctor-templates-compiler to 0.7.0

Release meta

  • Released on: 2023-12-12
  • Released by: GitHub Actions

git tag | full diff

v5.0.1

24 Jun 16:03
Compare
Choose a tag to compare

Upgrade considerations

  • Plugin marked has been removed in reveal.js 4.0.0 and plugin markdown has been disabled.
    As a result, the revealjs_plugin_markdown and revealjs_plugin_marked attributes have no effect anymore.
  • revealjs_plugins and revealjs_plugins_configuration are replaced by Docinfo files.

Before

presentation.adoc

= Third-party Plugins
:revealjs_plugins: examples/revealjs-plugins.js
:revealjs_plugins_configuration: examples/revealjs-plugins-conf.js

// ...

revealjs-plugin.js

{ src: 'revealjs-plugins/reveal.js-menu/menu.js' },
{ src: 'revealjs-plugins/chalkboard/chalkboard.js' }

revealjs-plugin-conf.js

menu: {
  side: 'right',
  openButton: false
},
keyboard: {
  67: function() { RevealChalkboard.toggleNotesCanvas() },
  66: function() { RevealChalkboard.toggleChalkboard() }
},

After

presentation.adoc

= Third-party Plugins
:docinfo: private

// ...

presentation-docinfo-footer.html

<script src="revealjs-plugins/menu/menu.js"></script>
<link rel="stylesheet" href="revealjs-plugins/chalkboard/style.css">
<script src="revealjs-plugins/chalkboard/plugin.js"></script>
<script>
  Reveal.configure({
    menu: {
      side: 'right',
      openButton: false
    },
    keyboard: {
      67: function() { RevealChalkboard.toggleNotesCanvas() },
      66: function() { RevealChalkboard.toggleChalkboard() }
    }
  })
  Reveal.registerPlugin(RevealMenu)
  Reveal.registerPlugin(RevealChalkboard)
</script>
  • If you are using third party plugins (such as chalkboard), please upgrade to the latest version.

Bug Fixes

  • Include Rouge stylesheet when `:source-highlighter: rouge is present and when there's a least one source block.
  • Fix quotation marks and apostrophes
  • Fix subscripts erroneously mapped to superscripts

Enhancements

  • Upgrade to reveal.js 4.1.2 (#370)
  • Add support for the Auto-Animate feature (#439)
  • Add support for the built-in search plugin (#441)
    • You can enable this plugin using :revealjs_plugin_search: enabled.
  • Upgrade MathJax to version 3.2.0
  • Display all the authors (inclusing their email addresses)
  • Upgrade development dependencies
    • Bump path-parse from 1.0.6 to 1.0.7 in /test/js-babel
    • Bump path-parse from 1.0.6 to 1.0.7
    • Bump glob-parent from 5.1.0 to 5.1.2
    • Bump lodash from 4.17.19 to 4.17.21 in /test/js-babel
    • Bump y18n from 4.0.0 to 4.0.1
  • Drop thread_safe and concurrent-ruby dependencies
  • Add favicon to HTML if its attribute is present in AsciiDoc

Documentation

Release meta

  • Released on: 2023-06-24
  • Released by: GitHub Actions

git tag | full diff

Credits

Thanks to the following people who contributed to this release:

Benno Bielmeier, Guillaume Grossetie, Julien Kirch, Marat Radchenko and Wei Cheng.

v5.0.0-rc.1

29 Aug 12:33
Compare
Choose a tag to compare

v4.1.0-rc.5

19 Dec 13:03
Compare
Choose a tag to compare
Version 4.1.0-rc.5

v4.1.0

19 Dec 13:31
Compare
Choose a tag to compare

Upgrade considerations

  • When a background-video attribute points to a file, that file is now looked up relative to the imagesdir document attribute.
    This new behavior aligns with what images and video macros already did.
    Existing slide decks using both imagesdir and background-video will need to move some files around.
    See #356 for details.

Enhancements

  • Introduced a step attribute to control the display order of elements
  • %step option can now be used on most blocks
  • Added revealjs_disablelayout attribute to disable layout (#381)
  • Added support for Font Awesome icon sets using the set.
    For instance: icon:font-awesome-flag[set=fab] (#393)
  • Upgraded Font Awesome to 5.15.1
  • Introduced an attribute to configure Font Awesome version font-awesome-version (#392)
  • Added support for data attributes using AsciiDoc attributes prefixed by data- (#241)
  • Added text alignment options to our columns layout feature: has-text-left, has-text-right and has-text-justified.
    See #354 for details.
  • Added a mathjaxdir attribute to control where MathJax is loaded from (#350)
  • MathJax updated to version 2.7.6 (#355, #361)
  • Added new examples: MathJax, MathJax-CDN (#350, #359)
  • Documentation improvements (#349, #351, #371, #374)

Compliance

  • Added support for footnotes (#30)
  • Added support for built-in text alignments: text-left, text-right, text-center and text-justify (#380)
  • autoslide attribute is now supported at the slide level (#367, #368)
  • Implemented the muted option for the video macro for YouTube and Vimeo (#358)
  • background-video paths are now resolved using media_uri (#356)

Bug Fixes

  • Fixed a padding issue in columns layout (#372)
  • autoplay option fixed for YouTube and Vimeo videos (#357)
  • Removed image resizing behavior when columns are wrapped in columns layout feature (#353, #360)

Infrastructure

  • Migrated CI jobs to GitHub Actions
  • Added Windows in CI build
  • Upgraded asciidoctor-doctest to v2.0.0.beta.7
  • Documentation migrated to Antora
  • Added an integration with Netlify to host specific slide deck examples (#336, #346)

Release meta

git tag | full diff | milestone

Credits

Thanks to the following people who contributed to this release:

Adrian Kosmaczewski, Dan Allen, Guillaume Grossetie, Olivier Bilodeau and Romain Quinio.

v4.0.1

19 Feb 05:05
Compare
Choose a tag to compare

Repackage for NPM.

v4.0.0

19 Feb 04:48
Compare
Choose a tag to compare

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

v3.1.0

19 Jan 04:59
Compare
Choose a tag to compare

Fixed a regression with Font-Awesome brand icons, added a JavaScript CLI and standalone executables for Windows, Linux and macOS.

Enhancements

  • We now provide native standalone executables for Windows, Linux and macOS using a Node to binary packager (#259, #308)
  • JavaScript stack now provides a CLI usable with npx asciidoctor-revealjs (#308)
  • Updated to Font-Awesome 5.12.0 (#305)
  • Ruby command line interface now shows Asciidoctor reveal.js version in addition to Asciidoctor version (#313)
  • Updated dependencies: rake
  • Better tests (#310, #311)

Bug Fixes

  • Added compatibility shim to Font Awesome 5 to fix brand icons rendering and more (#304, #305)

Release meta

  • Released on: 2020-01-18
  • Released by: Olivier Bilodeau
  • Release beer: Lupulus, Microbrasserie Charlevoix

git tag | full diff | milestone

v3.0.0

07 Jan 06:42
Compare
Choose a tag to compare

An API breaking release for Asciidoctor.js users that brings a bright future of long term stability. New Reveal.js features supported: background opacity, background positions, and PDF export. AsciiDoc table options now supported. A big FontAwesome update. Many other little improvements and polish.

Special heads-up: we are already planning for another major release since Reveal.js 3.8 support will be considered a breaking change. They changed how it is loaded and requires a template change incompatible with Reveal.js 3.1-3.7.

Distribution

Changelog

Upgrade considerations

Node.js packaging changes!

With the arrival of Asciidoctor.js 2.0.0 you can now use a command line interface (CLI) just like with Asciidoctor Ruby:

$(npm bin)/asciidoctor -r @asciidoctor/reveal.js -b revealjs presentation.adoc

If you want to keep generating your reveal.js presentations using the Node.js API, you need to change the following code. Instead of:

var asciidoctorRevealjs = require('asciidoctor-reveal.js');
asciidoctorRevealjs.register()

Use:

var asciidoctor = require('@asciidoctor/core')()
var asciidoctorRevealjs = require('@asciidoctor/reveal.js')
asciidoctorRevealjs.register()

More breaking changes!

  • Node.js package name changed from asciidoctor-reveal.js to @asciidoctor/reveal.js (#252, #291)
  • Custom CSS might require adjustments. Source and listing block encapsulation changed due to our migration to Asciidoctor 2.0.0 Syntax Highlighter API. See #287.
  • Upgraded to Font-Awesome 5.8.2 from 4.3.0 which contains some backward incompatible changes (#268)
  • asciidoctor-reveal.js now requires Asciidoctor 2.0.0+ or Asciidoctor.js 2.0.0+ (#290)
  • Dropped support for end-of-life Ruby version 2.1 and 2.2 (#247)

Compliance

  • Added support for table frame, grid, header and alignment options (#29, #42, #56, #288)
  • Source code callout style aligned with Asciidoctor's (#293, #300)
  • Added support for Reveal.js data-background-opacity (#269)
  • Added support for Reveal.js data-background-position (#273, #274)
  • Updated the process to include the generated converter in releases (#265, #302)

Enhancements

  • Support for Asciidoctor.js 2.0.0+ which brings a command line interface (#254)
  • Process updates, narrower install version range and compatibility matrix regarding Asciidoctor.js (#187, #303)
  • Migrated to Asciidoctor 2.0.0 new Syntax Highlighter API (#261, #287)
  • Added support for Reveal.js PDF export options (#277)
  • Upgraded to Font-Awesome 5.8.2 (#268)
  • We now accept reveal.js as converter/backend name in addition to revealjs (#253, #297)
  • Babel integration example API updated to use asciidoctor-reveal.js current API (#285, #298)
  • Node.js package clean-ups (#279, #281, #282)
  • Upgrade Opal to use a compatible version with Asciidoctor.js 2.0.3 (#289)
  • Documentation improvements (#292, #302)
  • Improvements to tests (#294)

Bug Fixes

  • Babel integration example updated for security (#285)

Infrastructure

  • Updated Travis' JRuby to fix issues with bundler (#295)

Release meta

  • Released on: 2020-01-07
  • Released by: Olivier Bilodeau
  • Release beer: Porter Baltique Édition Spéciale 2019, Les Trois Mousquetaires

git tag | full diff | milestone

Credits

Thanks to the following people who contributed to this release:

@bentolor, @cgxeiji, @gquintana, @Mogztter, @obilodeau and Daniel Mulholland

v2.0.1

04 Dec 06:25
Compare
Choose a tag to compare

A critical bugfix release due to an important user-facing bug.

Distribution

Changelog

Important Bug Fix

  • Fixed an issue that caused all reveal.js options in CamelCase to use the default value instead of one specified as an AsciiDoc attribute (#263, #267)

Compliance

  • Dropped support for verse table cells (#246).
    Asciidoctor 2.0 dropped it, we followed.

Enhancements

Bug Fixes

  • Yarn.lock updates for security (#283)

Release meta

  • Released on: 2019-12-04
  • Released by: @obilodeau
  • Release whisky: Lot No. 40 Single Copper Pot Still Rye Whisky

git tag | full diff

Credits

Thanks to the following people who contributed to this release:

@bentolor, @Mogztter, @obilodeau