sphinx-revealjs ver 1.0.0

「今年もちゃんと使うし、フィードバックにも向き合う」的な意識も込で、Reveal.jsの追従のためにこちらのバージョンも 1.0.0 に。

どこを更新したか

とはいえ、主目的は1個だけなのでシンプル。

バンドルしているReveal.jsを4.x系に

ガッツリとBreakingChangesが入っているので、テンプレートを中心に弄って Reveal.js 4.x向けに変更を。 それに合わせて、3.x系は非対応にしました。 1

バージョン追従の考え方

sphinx-revealjsReveal.js にガッツリ依存するライブラリです。(というか、バンドルして組み込まれてるレベルです) そのため、Reveal.jsのバージョンにはある程度敏感にならないといけません。

幸い、あくまでJS+CSSとしての依存のため、大きな変更が差し込まれでもしない限り、 ライブラリ本体をまるっと差し替えれば良いはず。 そこで、READMEにもざっくりとですが、バージョン追従ポリシーを書いてみています。

大まかには、 Reveal.jsがsemverを再称している(はず)ことを前提に、

  • パッチバージョンの更新を検知したら、差し替えを行いパッチバージョンの更新をする

  • マイナーバージョンの更新を検知したら、差し替えを行いパッチバージョンの更新をする

  • メジャーバージョンの更新を検知したら、新旧バージョンの互換性を保ちつつマイナーバージョンの更新をする

  • (新しい方のメジャバージョンが育ったら、旧バージョンのためだけのコードを破棄してメジャーバージョンの更新をする?)

という予定で考えています。

このあたりは、うまい具合にボットに頑張ってほしいので、ちょっと考えたいところ。

最後に

PyPI上でこのライブラリを公開してからもう2年は経っているみたいです。 2

2020年はなかなかにインパクトがある年で、

  • GitHubに利用者がサポートを求めるIssueが来る

  • 海外の人がプレゼンにこのライブラリを使ったという報告をもらう

  • バグを見つけてくれた人がPRを出してくれる

という、OSSが「自分のために作った」という状態から1歩階段が上がって「自分以外の誰かが使っている」という認識を得られることができました。 3

主目的はあくまで自分のプレゼンライフのためではありますが、今後もちょくちょく使い勝手を良くしたりはしたいなと考えています。

脚注

1

4.x系は4.1も出ており、問題はなさそうと判断

2

リリース履歴 を見る限り、PyPI上には2018/11/28に出した0.3.1が初出

3

これらは、単純なスターと違って、「使う」を経由しないとまず出てこないアクションでした