niszetの日記

アナログCMOS系雑用エンジニアが頑張る備忘録系日記

(R)revealjsパッケージがよしなにしていたことなど

素のreveal.jsを持ってくるだけではダメだったりする。

revealjsパッケージはpluginもいくつか同梱して対応していたようである。そのため、reveal.jsを持ってきて置き換えるだけでは足りない。ただし、pluginのディレクトリに入れるだけで良いので対応は簡単。

reveal.jsのプラグインについては本家のwikiが詳しい。

github.com

また、プラグインの中でもこのリポジトリにあるものは昔のrevealjsパッケージで使われていたものがたくさん入っているので良さそうである(wikiも一番上に書いてあるし)

github.com

ひとまず、chalkboard、embed-tweet、fullscreenを導入。embed-tweetは元々ははいっていないが、ツイ廃としては入れないといけないなと思って(ツイ廃ではないが)

github.com

また、menuプラグインも入れた。これも以前のバージョンに含まれていた。構成はかなり変わっているが、オーナーは同じ。pluginディレクトリにはmenuにリネームしておいてある。

github.com

一方で、multiplexやnote-serverなどは一旦見送ることとした。

github.com

Pandocのテンプレートも4年前から進歩している

まぁ、4年もあればね…

真偽値でない、文字列の場合は''で囲う必要があるが、これがPandocのテンプレート側で対処されている。revealjsパッケージでも対処していて、二重に'がついてしまうのでrevealjsパッケージ側の対応する箇所を削除した。これで今後Pandocの最新のテンプレートを持ってきて置き換えるだけで良いと考えている。

github.com

この修正の結果、reveal_optionsに指定することでどの変数にも値を入れることが出来るようになったはずである。たとえば下記のようにすれば、headingsのレベルによらずに横方向に順にスライドが表示されるようになる(これはreveal.jsのバージョンが古いと対応できないので本家のrevealjsパッケージでは出来ない)

output:
  revealjs::revealjs_presentation:
    theme: blood
    history: false
    reveal_options:
      navigationMode: linear

revealjsパッケージがわでのテンプレートのカスタマイズがある

Pandocのテンプレートをベースにしているようだが、Rで使ったときに見やすいようになのかいくつかの変更がされており、それを新しいバージョンのテンプレートにも持ってこないといけなさそう。たとえばスライドタイトルはPandocのそれをそのまま使うと大きすぎるという印象。

いつ時点の更新かは履歴で見れるのだが、それがなぜ入っているのかがわからないようなコード片もあるので、しばらくは適当にいじって挙動を見て良し悪しを決めることになりそうである。

思ったより手間がかかりそうで既にやる気が足らなくなりそうであるが…もう少しやってみる。