注釈
もしかしたら、もうちょっと細かい記事化をするかも?
2022/05/23~2022/06/05あたりの振り返りメモ。
PHPサイト のサーチバーでASCII文字以外を含むキーワードを検索した際に、
Search for ~
のリンクをクリックすると検索が機能しなくなっていました。 [1]
原因としては、 Search for ~
な部分を生成するJavaScriptが、
検索キーワードを生成する際に escape()
[2] を用いていたことでした。
最終的に、クエリ作成時に encodeURIComponent()
[3] を使うように差し替えるブランチをPRとして提出して、
数日後にマージされてめでたく反映されました。
PHPサイトは、それなりのユーザーが日々アクセスするサイトです。 実際にこのアクションに救われる人がどれだけいるかは不明ですが、 「相当人数が自分の編集したコードにアクセスする」と言うのは想像するだけでも楽しい体験でした。
I am preparing for next-version of sphinx-revealjs, and registered v2.0.0b1 (beta)https://t.co/z3DFajqo3R
— kAZUYA tAKEI (@attakei) May 25, 2022
このツイート時点で sphinx-revealjs
のv2.0に予定していた機能実装は終えたので、
現時点でbetaバージョンとしての公開と簡易的なドッグフーディングや調整フェーズに入っています。
例えば、このサイトに含まれているスライド自体は、v2.0で生成されています。
ドッグフーディングのついでに、デモプレゼンテーションの内容を整理ついでにi18n対応して日本語版を用意してみました。
Sphinxドキュメンテーションにおける国際化は、標準的な手法としては sphinx-intl
を生成してのpoファイル編集です。
デモのソースはあくまでSphinxを前提としているreStructuredTextのため、この手法が問題なく使える想定でいます。
実際にi18n対応を思いついてから1⃣時間程度手を動かしてみましたが、
特に不可解な事象もなく _locales/ja/LC_MESSAGES/
配下にpoファイルが生成され、
日本語版のビルドまで進めました。
デモの方はGitHub Pages側でホスティングしていることもあり、統合ビルドにちょっとした手間を掛ける必要はあるものの、 Sphinxの延長線上からはみ出ない実装にはなっておりホッとしています。
注記
社内の用件でPHPサイト内での用語検索をしてた際に、たまたまサーチバーをEnterで遷移しなかったために気づけました
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/escape
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent
sphinx-revealjs v2をリリースした週etc
バグフィックスしつつ、サイト基盤の整理をしてた週