はじめに
ばーい!1 nikkieです。
発表資料を作るのにsphinx-revealjsを愛用しています。
年1ペースで発表資料リポジトリを作っているのですが、先日PHPカンファレンス関西2用のスライドを公開しました。
その中で実施した初期設定を未来の私に伝えるために、ここにまとめます。
目次
sphinx-quickstart
コマンドラインから引数マシマシで渡して、対話的にはあえて使いません
conf.pyにReveal.jsの設定を書く
sphinx-quickstartコマンドでできたconf.pyを編集します。
Reveal.jsの設定値をrevealjs_script_conf
に書きます。
https://sphinx-revealjs.readthedocs.io/en/stable/configurations/#confval-revealjs_script_conf
設定できる値は以下で確認できます。
https://revealjs.com/config/
revealjs_script_conf = { "controls": True, "progress": True, "history": True, "center": True, "transition": "none", "slideNumber": "c/t", }
(設定値の解説は1ネタ分くらいになりそうですので、またの機会に)
共通CSSの配置
Reveal.jsではヘッダー(h1,h2,...)のアルファベットが、原稿中の記載によらず大文字になります。
これを原稿中の記載のままとするために_static/css/common.css
を配置しています。
CSSの中身はtext-transform
の指定です。
.reveal h1, .reveal h2, .reveal h3, .reveal h4, .reveal h5, .reveal h6 { text-transform: none; }
テキストをすべて大文字にしたり、すべて小文字にしたり、各単語の先頭を大文字にしたりすることを指定します。
GitHub Actions
スライドをビルドして、GitHub Pagesで公開するためのブランチにpushするActionを自作しています。
現在はこの記事の方法ではpermissionまわりでpushできないエラーが出るので、設定から権限を与えています3。
伸びしろはGitHub Actionsの定義ファイルで解決することです。
https://docs.github.com/ja/actions/using-workflows/workflow-syntax-for-github-actions#permissions
OGP設定
OGP(Open Graph protocol)については以下に簡単にあります:
Sphinxはmetaディレクティブだけで、property属性を持ったOGP用のmetaタグがHTMLに作れちゃうんです! - nikkie-ftnextの日記
スライドをシェアするとき、SNSの中のコンテンツのように展開してほしいので設定します(要はカッコつけたいのです)。
Sphinxのテンプレートを使っているのですが、これはまだ書いていないようなので別記事で公開します(TODO:リンクを案内)
OGPの画像はhayasakaで撮影しています。最高の1枚!📸
終わりに
1年に1回作るsphinx-revealjs製スライドの公開リポジトリでやっていることを書き出しました。
2025年のnikkieは、ここを見ればバッチリのはずです!
自作GitHub Actionや自作ライブラリhayasakaなど、発表資料に使うツールも少しずつ整って領域展開できてきたので、当人としては楽しくなってきています。
- 言ってない「卑しか女ばい」で知られる ↩
- 楽しかったです。ありがとうございました! ↩
- ref: GitHub Actionsで自分のリポジトリ操作時に権限不足に起因するエラーが発生する↩