2017-12-21 20 views
0

私はgh-page上のいくつかのsphinxベースのドキュメントを、bokeh-plot拡張を使ってRSTファイルの 'bokeh-plot'ディレクティブを使ってホストしようとしています。私は生成されたhtmlと関連JSを提供して、ローカルホストフラスコサーバーでうまく動作するインタラクティブなプロットを得ることができます。BokehプロットスフィンクスのJSパスgh-pagesでホストされたhtml

私の問題は、プロット用に生成されたスクリプトがトップレベルの 'scripts'フォルダ(build/html/scripts)に置かれ、生成されたhtml srcが '/ scripts'として設定されることです。この問題は、このパスに相対パスではなく、完全なリポジトリURL /スクリプトではなく、トップレベルのgh-pages url/scriptsに解決されているようです。適切な相対パスになるようにhtmlを手動で編集すると、プロットはghページでうまく動作します。私のドキュメントにインタラクティブなbokehプロットを含めるためにこれを解決する最良の方法は何ですか?

答えて

0

相対パスでアクセスできるプロットスクリプトはstill an open issueです。残念なことに、それはまた仕事の塊であり、多くの問題があり、コア開発者はほとんどないので、間もなく優先順位をつけることは間違いありません。

は、展開されたGHページのサイトで動作する絶対パスを知っていますか?もしそうなら(それが存在しなければならないようだ?)そして、私の最高の提案は、ちょうどあなたの地元のあなたが出力を生成する前にその場所に、代わりにハードコードされた"/scripts"値を指すようにボケのインストールを編集することです:

https://github.com/bokeh/bokeh/blob/master/bokeh/sphinxext/bokeh_plot.py#L142

PRを提出して、このパスを構成可能にするか、相対パスを機能させるかのどちらかを選択します。これらの作業に興味がある場合は、プロジェクトに手を差し伸べてください。GitHub

+0

ありがとうございます。私は、特定のユースケースでうまく動作するようにするための少しばかげた解決策があります。残念ながら私はPRにふさわしい優雅な方法を見つける時間がありません。私がやったのは、スクリプトが '_process_script'で解析されたときに、パスの先頭に文字列($ REL_PATH $)を置き、envの '/'文字を数えて' run'で文書の深さを調べることでした。 docnameを指定し、タグ付き文字列を適切な数の '../'に置き換えます。私はLinux上でドキュメントを構築していますが、これらの変更を加えてghページに取り組んでいます。必要に応じて要点を投稿することができます。 – BHall

関連する問題