Sphinxにキーによるページ移動を付けてみよう(メモ)
さて、Sphinxにキーによるページ移動を付けてみよう、ということで。
はい?Sphinxってなーに?ですか?詳しい説明は割愛。
Pythonのマニュアルとか、Blenderのマニュアルとかコレですよね?
さて、「なにかreSTで書いて make html とかやるといい感じにファイル作ってくれる」Sphinxさんですが、次ページ/前ページ移動にページ右上のリンクをいちいち押すのが面倒なので、キー押下でページ移動できないかな、となるわけですよ。
ということで、[Ctrl]+[←] および [Ctrl]+[→] キーでそれぞれ 前ページ/次ページ に移動できるようにしておいたのでそちらのメモ📝。
では早速いってみよー😀
なお、sphinx-quickstart コマンドを実行済みのフォルダ、があることを前提で「なるべく作業量を少なく」。
“keypress.js”という名前で以下の内容を _static の下におきます。
var pref;
var nref;
window.onload = function(){
var psel = document.querySelector(“a[accesskey=‘P’]”)
var nsel = document.querySelector(“a[accesskey=‘N’]”)
if( psel != null ){ pref = psel.href; }
if( nsel != null ){ nref = nsel.href; }
}
document.addEventListener(“keydown”, (e) =>{
if(!e.repeat)}
if(e.ctrlKey){
if(e.key === “ArrowLeft” ){
if( pref != null ){ window.location.href = pref;}
}
if(e.key === “ArrowRight” ){
if( nref != null ){ window.location.href = nref;}
}
}
}
};
conf.py に以下を追記します。この時点でテーマを bizstyle にしとけば良いですね。
html_js_files = [‘keypress.js’]
というか、bizstyleやnatureのテーマには「前ページ」「次ページ」の印があるので、それを見つけてあげているだけなんですけどね。
あとは適当にコンテンツ用意して make clean ; make html したら、もう…。
はい、以上。
See Also:
実はこの話、続きがあっての…
お読みいただきありがとうございます。サポートいただいた分はおやつのグレードアップに使おうかと思います。スキ、SNSにシェアもよろしくお願いします!