思いの外に難産してしまったので備忘録。わかってしまえば「あー」で終わるんですけど、そこにたどり着くまでがイバラなんですよねぇ。
以下Macのみにつき失礼。あとST2でプロジェクト使ってることを前提としてます。
SphinXプロジェクトをビルドする
こちらを参考に、
{
"cmd": ["make", "html"],
"working_dir": "${project_path:${folder}}",
"windows":
{
"cmd": ["make.bat", "html"]
}
}
とはやってみたものビルドしても・・・
sphinx-build -b html -d _build/doctrees . _build/html
make: sphinx-build: No such file or directory
make: *** [html] Error 1
[Finished in 0.1s with exit code 2]
うーむ?でまぁあーだこーだと調べ回った(ぐぐりまくった)んですけど。結果としてMacの場合なら、
{
"cmd": ["make", "html"],
"working_dir": "$project_path"
}
これで充分なんですな。
んでもってこれだけではまだダメで。ここに気付くのに随分と時間を浪費してしまったのですが、結論としてST2にPATHを明示さてあげなければいけなかったと。
これひとつだけなら直接SphinX.sublime-buildに記述してあげてもいいんですけど。どうせ他のコマンドでも使うので、Preferences.sublime-settingsに、
{
...
"build_env":
{
"PATH": "/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/usr/X11R6/bin"
},
...
}
このように自分のシェルで使ってるPATHを丸々コピー追記してあげます。
ここまでやってあげてようやく、[Tools]-[BuildSystem]から作成した[SphinX]を選択、cmd+Bで目出度くビルドできるようになりました。やれやれ。
どうせならひと手間
こうなると欲が出てくるもので。確かにビルドはできるんですけど、いちいちBuildSystem選択しなきゃならんのがめんどくさい。せっかくAutomaticに判断してくれる機能があるんだからそれ使いたい。という訳で。
あたりを参考に最終形。一行足しただけですけど。
{
"cmd": ["make", "html"],
"working_dir": "$project_path",
"selector": "text.restructuredtext"
}
BuildがAutomaticにて実行される際、このselecorというのを参照するそうです。んでもってそのSphinXの対象となるrstファイルを示すのが"text.restructuredtext"ってわかんねぇよこれ。拡張子毎にどうゆう形式かを調べるにはcmd+option+P。
あとはついでに、buildしたHTMLの確認用にも、
{
"cmd": ["open", "-a", "Google Chrome", "$file"],
"selector": "text.html.basic"
}
というのを追加して。.rstファイル開いている時にcmd+Bならビルドを、ビルドされたHTMLファイルを直接確認する時にはcmd+BでChrome起動・・・という形式が、とりあえずは整いましたよと。あー長かった。