素のreveal.jsを持ってくるだけではダメだったりする。
revealjsパッケージはpluginもいくつか同梱して対応していたようである。そのため、reveal.jsを持ってきて置き換えるだけでは足りない。ただし、pluginのディレクトリに入れるだけで良いので対応は簡単。
reveal.jsのプラグインについては本家のwikiが詳しい。
また、プラグインの中でもこのリポジトリにあるものは昔のrevealjsパッケージで使われていたものがたくさん入っているので良さそうである(wikiも一番上に書いてあるし)
ひとまず、chalkboard、embed-tweet、fullscreenを導入。embed-tweetは元々ははいっていないが、ツイ廃としては入れないといけないなと思って(ツイ廃ではないが)
また、menuプラグインも入れた。これも以前のバージョンに含まれていた。構成はかなり変わっているが、オーナーは同じ。pluginディレクトリにはmenuにリネームしておいてある。
一方で、multiplexやnote-serverなどは一旦見送ることとした。
Pandocのテンプレートも4年前から進歩している
まぁ、4年もあればね…
真偽値でない、文字列の場合は''で囲う必要があるが、これがPandocのテンプレート側で対処されている。revealjsパッケージでも対処していて、二重に'がついてしまうのでrevealjsパッケージ側の対応する箇所を削除した。これで今後Pandocの最新のテンプレートを持ってきて置き換えるだけで良いと考えている。
この修正の結果、reveal_optionsに指定することでどの変数にも値を入れることが出来るようになったはずである。たとえば下記のようにすれば、headingsのレベルによらずに横方向に順にスライドが表示されるようになる(これはreveal.jsのバージョンが古いと対応できないので本家のrevealjsパッケージでは出来ない)
output: revealjs::revealjs_presentation: theme: blood history: false reveal_options: navigationMode: linear
revealjsパッケージがわでのテンプレートのカスタマイズがある
Pandocのテンプレートをベースにしているようだが、Rで使ったときに見やすいようになのかいくつかの変更がされており、それを新しいバージョンのテンプレートにも持ってこないといけなさそう。たとえばスライドタイトルはPandocのそれをそのまま使うと大きすぎるという印象。
いつ時点の更新かは履歴で見れるのだが、それがなぜ入っているのかがわからないようなコード片もあるので、しばらくは適当にいじって挙動を見て良し悪しを決めることになりそうである。
思ったより手間がかかりそうで既にやる気が足らなくなりそうであるが…もう少しやってみる。