LoginSignup
16
16

More than 5 years have passed since last update.

Sublime Text 2でSphinX

Last updated at Posted at 2013-04-21

思いの外に難産してしまったので備忘録。わかってしまえば「あー」で終わるんですけど、そこにたどり着くまでがイバラなんですよねぇ。

以下Macのみにつき失礼。あとST2でプロジェクト使ってることを前提としてます。

SphinXプロジェクトをビルドする

こちらを参考に、

SphinX.sublime-build
{
    "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の場合なら、

SphinX.sublime-build
{
    "cmd": ["make", "html"],
    "working_dir": "$project_path"
}

これで充分なんですな。

んでもってこれだけではまだダメで。ここに気付くのに随分と時間を浪費してしまったのですが、結論としてST2にPATHを明示さてあげなければいけなかったと。

これひとつだけなら直接SphinX.sublime-buildに記述してあげてもいいんですけど。どうせ他のコマンドでも使うので、Preferences.sublime-settingsに、

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に判断してくれる機能があるんだからそれ使いたい。という訳で。

あたりを参考に最終形。一行足しただけですけど。

SphinX.sublime-build
{
    "cmd": ["make", "html"],
    "working_dir": "$project_path",
    "selector": "text.restructuredtext"
}

BuildがAutomaticにて実行される際、このselecorというのを参照するそうです。んでもってそのSphinXの対象となるrstファイルを示すのが"text.restructuredtext"ってわかんねぇよこれ。拡張子毎にどうゆう形式かを調べるにはcmd+option+P。

あとはついでに、buildしたHTMLの確認用にも、

Chrome.sublime-build
{
    "cmd": ["open", "-a", "Google Chrome", "$file"],
    "selector": "text.html.basic"
}

というのを追加して。.rstファイル開いている時にcmd+Bならビルドを、ビルドされたHTMLファイルを直接確認する時にはcmd+BでChrome起動・・・という形式が、とりあえずは整いましたよと。あー長かった。

16
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
16