Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support reveal.js 3.8 and 3.9.1 #296

Closed
obilodeau opened this issue Dec 23, 2019 · 9 comments
Closed

Support reveal.js 3.8 and 3.9.1 #296

obilodeau opened this issue Dec 23, 2019 · 9 comments
Assignees
Milestone

Comments

@obilodeau
Copy link
Member

Note to self: There's probably not much to do here. But at least get the javascript requirements bumped and verify for new options.

@obilodeau obilodeau added this to the 3.0.0 milestone Dec 23, 2019
@obilodeau obilodeau self-assigned this Dec 23, 2019
@obilodeau
Copy link
Member Author

I started working on this today. There are a few new options and plugins support will need to be verified since the API changed upstream but it looks like it is backward compatible.

@obilodeau
Copy link
Member Author

After more work, the fact that upstream removed the head.min.js inclusion worries me. If we adopt reveal.js 3.8, the slides rendered by us will not be viewable by reveal.js 3.7.

The question becomes: is becoming incompatible with an older reveal.js release a break in API? For the javascript ecosystem, our package.json does specify the proper version although users are free to override. For the Ruby folks, if they followed the README they manage it by hand but with bundler our version should not bump for no reason.

If we consider stopping our support of 3.7 (and earlier) to be API breaking then we should do it during the 3.0 window. However, I don't expect many people to be forking their reveal.js so they should be reasonably able to upgrade. If so, it's not really an API break but more of a dependency update that is required. Then this would mean going smoothly by releasing 3.0.0 which works with 3.7 and then 3.1.0 which breaks 3.7 would be a better path forward for them.

My take: I think doing a 3.0.0 without reveal.js 3.8 (which works right now btw, just not the new features) and supporting it later for 3.1.0 would be reasonable but I would be interested in your thoughts @Mogztter, @mojavelinux, and others.

@mojavelinux
Copy link
Member

I'm for a major version bump when reveal.js is upgraded, no matter what version we're coming from. Let's not cut corners when it comes to semver.

@ggrossetie
Copy link
Member

If we adopt reveal.js 3.8, the slides rendered by us will not be viewable by reveal.js 3.7.

It sounds like a major version.

I'm for a major version bump when reveal.js is upgraded, no matter what version we're coming from. Let's not cut corners when it comes to semver.

I agree 👍

@obilodeau
Copy link
Member Author

I agree with you guys. Then I think I'm going to post-pone reveal.js 3.8 support to an asciidoctor-reveal.js 4.0.0 release (which I can do soon).

The reasoning is: I'm worried about the number of changes in this release and the number of additional changes required for reveal.js and their interaction with people's real slides. I would prefer to have a stable long-term base for reveal.js 3.0 until 3.7 with a proper stable API for asciidoctor.js and then offer users a version that works with reveal.js 3.8 cleanly built on top of all these new changes.

It is more releases but releasing is fairly cheap and it gets me to drink some more nice "release" beer 😉

@ggrossetie
Copy link
Member

https://github.com/hakimel/reveal.js/releases/tag/3.9.1 is out! 😄

@obilodeau obilodeau changed the title Support reveal.js 3.8 Support reveal.js 3.8 and 3.9.1 Jan 29, 2020
@ggrossetie
Copy link
Member

@obilodeau Let me know if you need help as I need to implement #309 for a client 😉

@obilodeau
Copy link
Member Author

#301 is ready for review!

@obilodeau
Copy link
Member Author

That's now in master.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants