Вообщем буду краток ;)
Для документирования питоньих проектов очень удобно использовать Sphinx. Это всем известно. А если не известно, то и Python, и Django документированы именно им.
На GitHub'е есть возможность размещения HTML страниц проекта и последующего доступа к ним по адресу: http://username.github.com/repo_name/
.
Само собой разумеется, было бы очень неплохо подружить их. И посему я на коленке написал следующую Makefile
-команду:
project=YOUR_PROJECT_NAME
docs_dir=$(TMPDIR)/$(project)-docs
ghdocs:
rm -rf $(docs_dir)
$(MAKE) -C docs html
cp -r docs/_build/html $(docs_dir)
mv $(docs_dir)/_static $(docs_dir)/static
mv $(docs_dir)/_sources $(docs_dir)/sources
perl -pi -e "s/_sources/sources/g;" $(docs_dir)/*.html
perl -pi -e "s/_static/static/g;" $(docs_dir)/*.html
git checkout gh-pages
rm -r sources static
cp -rf $(docs_dir)/* .
git add .
git commit -a -m 'Updates $(project) documentation.'
git checkout master
rm -rf $(docs_dir)
Теперь по вызову make ghdocs
я обновляю документацию после каждого релиза tddspry, которая теперь и впредь доступна всем ;)
зы. После коммита документацию можно было бы сразу пушить в репо, но иногда не бывает интернета под рукой, иногда очепятку найдешь уже после коммита, посему я потом вручную перехожу на gh-pages
и делаю git push origin gh-pages
.