今週は、1週間かけて、shinixサイトを立ち上げた。
シェルスクリプトでサーバ公開までを自動化した。
シェルスクリプトがバクっていて、rm -rfでsphinxサイトを完全削除してしまった。

うわ~~~~~ w(◎o◎)w

sphinxでrstファイルを作成したあとに、自動ビルドが実行できたら便利だなと思った。
というわけで、(なんか前置きとつながってないけど)自動ビルドを調べてみた。

2つの方法があるっぽい

  • omake
  • watchdog

今回は、watchdogを試してみた。

watchdogでなにができる?

watchdogとはpythonモジュールの一つ。
この中に含まれる、watchmedoコマンドを使うことで、
ファイルの更新があったときにコマンドを実行できる。

環境

  • Sphinx 1.1.3
  • phthon 2.6
  • Windows 7 64bit

watchdogのインストール

pythonとpython setuptoolはインストールされていることが前提。
(なければこのページを参考にして、インストール)
インストールはコマンドプロンプトからeasy_installを実行する。

watchdogの使い方

watchdogのコマンド watchmodeを利用して更新を監視するには以下のコマンドを叩く。

watchmedo shell-command --patterns="*.rst" --recursive --wait --command="make html"

これで、rstファイルを編集すると、watchmedoコマンドが再帰的に変更されたファイルを検索して、変更を検出したら “make htm"を実行する。

watchmedoコマンドオプション

コマンド 説明
-h, -help ヘルプ表示
-c COMMAND, -command COMMAND 実行したいコマンド
-p PATTERNS, -pattern PATTERNS,

-patterns PATTERNS

監視したい拡張子を指定
-i IGNORE_PATTERNS, -ignore-pattern IGNORE_PATTERNS

-ignore-patterns IGNORE_PATTERNS

無視する拡張子
-D, -ignore-directories 無視するディレクトリ
-R, -recursive 再帰的に監視
-interval TIMEOUT -timeout TIMEOUT タイムアウト時間指定
-w, -wait 複数実行禁止

参考サイト