エラーの原因は、ヘルプの html が jquery.js を使うように書かれているのに、jquery.js を読み込んでないため。
他の方はエラーが出てないんだろうか?
そもそも htmlhelp を利用してないんかな?
という訳で、エラーが出ない htmlhelp を構築しなおしてみた。
準備
- sphinxが必要。
- Mercurialが必要。
- HTML Help Workshopが必要。
python-doc-ja からソースを取得する
コマンドプロンプトからhg clone https://code.google.com/p/python-doc-ja/でカレントディレクトリに python-doc-ja が作成され、ドキュメントソースがダウンロードされる。
ドキュメント作成に必要なユーティリティを取得する
cd python-doc-ja make checkoutを実行すると必要なユーティリティが python-doc-ja\tools にダウンロードされる。
設定を変更する
ヘルプファイルの表示で出るエラーを回避する
既存のヘルプファイルは copybutton.js を実行しようとしてエラーが発生する。ヘルプファイルではあまり意味がないので、copybutton.js を読み込まないように変更する。
python-doc-ja\tools\sphinxext\layout.html
の {% block extrahead %}
ブロックを以下のように変更する。
{% block extrahead %} <link rel="shortcut icon" type="image/png" href="{{ pathto('_static/py.png', 1) }}" /> {% if not embedded %} script type="text/javascript" src="{{ pathto('_static/copybutton.js', 1) }}"></script> <script type="text/javascript" src="{{ pathto('_static/_jp.js', 1) }}"></script> {% endif %} {{ super() }} {% endblock %}
インデックスからの表示が失敗するエラーを回避する
インデックスからページを選択すると、ページがないという表示になる。.hhk ファイル生成の問題を修正する。
python-doc-ja\tools\sphinx\sphinx\builders\htmlhelp.py
を変更する。268~270 行目
elif len(refs) == 1: write_param('Local', refs[0]) else:を
elif len(refs) == 1: # modify begin # write_param('Local', refs[0]) # modify change ref = refs[0] if isinstance(ref, tuple): ref = ref[1] write_param('Local', ref) # modify end else:271 ~ 274 行目
for i, ref in enumerate(refs): # XXX: better title? write_param('Name', '[%d] %s' % (i, ref)) write_param('Local', ref)を
for i, ref in enumerate(refs): # XXX: better title? # add begin if isinstance(ref, tuple): ref = ref[1] # add end write_param('Name', '[%d] %s' % (i, ref)) write_param('Local', ref)
htmlhelp を作成する
コマンドプロンプトからmake htmlhelpを実行する。
しばらくすると、
python-doc-ja\build\htmlhelp
に python27ja1.chm が作成される。エラーなく完了すれば、これで作業はおしまい。
0 件のコメント:
コメントを投稿