This allows creating HTML presentations with
`asciidoctor-revealjs presentation.adoc`.
NOTE: The generated HTML file implicitly depend on reveal.js (and I see
no good way to bundle it with Nix). Either provide reveal.js in a local
path next to the generated HTML file[1], or override the revealjsdir
attribute, for example by pointing to an URL (can also be a path):
asciidoctor-revealjs -a revealjsdir=https://cdn.jsdelivr.net/npm/reveal.js@3.9.2 presentation.adoc
Implementation details:
1. Added "gem 'asciidoctor-revealjs'" to the Gemfile.
2. Ran "nix-shell -p bundler --run 'bundle lock --update'"
from pkgs/tools/typesetting/asciidoctor/.
3. Hand edited Gemfile.lock to remove all but the asciidoctor-revealjs
changes. (Rationale: allow backporting to release-20.09.)
4. Finish off with "nix-shell -p bundix --run 'bundix'".
[1] Of course Nix can help with _that_, but that's external to the
asciidoctor-revealjs program.
This is another common output target for asciidctor that requires an
additional gem.
The previous commit is necessary for this to work, so that we get the
gem config for nokogiri correctly.
This has two benefits:
- Anyone else using the `mathematical` gem will benefit from the config.
- The gem config overrides the default one, so we were losing the fixes
for other gems.
I had to change how the update script works. Now it looks at the `gems`
passthru from `bundlerApp`.
There has been a new major version, so it seems good to upgrade.
I had to drop two plugins:
- `asciidoctor-latex` seems dead, and hasn't had any commits since 2015.
- `asciidoctor-bespoke` also hasn't been updated for over a year, and
doesn't seem to be compatible with the new version.
`asciidoctor-mathematical` requires a few system dependencies to
compile, and some of these are not linked correctly into the resulting
shared object, so these are handled manually.
`asciidoctor-mathematical` and `coderay` are necessary to compile the
vulkan specification documentation.