Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save shiumachi/5522964 to your computer and use it in GitHub Desktop.
Save shiumachi/5522964 to your computer and use it in GitHub Desktop.
Sphinx による API ドキュメント HTML の作成から、Github Pages にプッシュするまでの一連の流れ。あまりイケてない方法なのでそのまま真似るのは推奨しません。むしろもっとエレガントな方法があったら教えてください。
# 注: スクリプトはダミーです。実行しても動きません
# ソースを管理するディレクトリ
SRC_DIR=/path/to/src
# python コードのあるディレクトリ
PROJECT_DIR=hoge
# hoge プロジェクトの github URL
PROJECT_GITHUB_URL=git://github/url/to/hoge
# hoge の直下で実行
cd /path/to/hoge/..
sphinx-apidoc -f -o docs $PROJECT_DIR
# 一回目の実行は -F をつけるのを忘れない(sphinx-quickstart の実行)
# -f は強制更新
# -f -F とすると conf.py を初期化するので注意! (一回やった)
#### build ディレクトリの除外 ####
#
# .gitignore に以下を追加し、から _build を除外しておく。1回目のみ
# docs/_build
#
###################################
#### docs/conf.py の編集 ####
#
# PROJECT_DIR がパスに含まれるよう追加
# sys.path.insert(0, os.path.abspath('..'))
#
# sphinxtogithub 拡張を追加。
# extensions = ['sphinx.ext.autodoc', 'sphinx.ext.viewcode', 'sphinxtogithub']
#
# sphinxtogithub 拡張は easy_install で入るが、追加設定が必要
# $VIRTUAL_ENV/lib/pythonX.X/site-packages/sitecustomize.py を作成し以下を入力
#
# import sys
# sys.setdefaultencoding('utf-8')
#
# こうしておかないと make 時にエラーでこける
#
#############################
# html の作成
cd docs
make html
# github pages をリポジトリ外に作成しておく。一回目以外不要
if [ ! -d $SRC_DIR/hoge.pages ] ; then
cd $SRC_DIR
git clone $PROJECT_GITHUB_URL hoge.pages
cd hoge.pages
git checkout gh-pages
cd $SRC_DIR/$PROJECT_DIR/docs
fi
# make した html ファイルのコピー
cp -r _build/html/* $SRC_DIR/hoge.pages
# github に push する
cd $SRC_DIR/hoge.pages
git push origin gh-pages
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment