2

私はsphinxを使用してhtmlページを自動生成しています。目次は非常に長いので、JavaScriptライブラリを使用できるように(とりわけ)新しいhtmlクラスをtoctreeのdivに追加しようとしています。基本的に、toctreeがHTMLを生成する方法を変更したいと考えています。

globaltoc.htmlファイルを見つけ、それを_templatesフォルダーに配置し、conf.pyのtemplate_pathのコメントを解除しました。

これは、_templatesディレクトリ内のファイルです。

{% extends '!globaltoc.html' %}

<div class="toctree-wrapper compound dhtmlxTree" id="toc", setImagePath="_static/imgs/csh_dhx_skyblue/">

{{ toctree() }}
</div>

私がこれを完全に間違って行っている場合は、これを行う別の方法を教えてください。純粋なreSTでこれを実行できるようにしたいのですが、不可能のようです。Sphinxテンプレートの限られた例を見てきましたが、これが私が見つけることができるすべてです。

これの全体的な目標は、非常に大きなツリーで使用するためにdhtmlxTreeを使用することです。必要な.jsファイルと.cssファイルをlayout.htmlに追加しました。必要なクラスを作成するには、 toctreeを含むdivが必要です。手動で編集することで必要な結果を得ることができます。今度は自動化する必要があります。

ご協力いただきありがとうございます。

4

1 に答える 1

3

私の問題には2つの解決策があると思います。

  1. Jinjaテンプレートを使用してJavaScriptと箇条書きリストを作成します。現在、私は再帰的なJinjaフラグの使用に慣れていません。したがって、この解決策は、可能ではありますが、2番目の解決策よりもフラストレーションを引き起こす可能性があります。

  2. toctreeディレクティブの:maxdepth:属性を単純に減らします。4に設定されました。この数を減らすと、目次が小さくなり、読みやすくなります。

すべてのレイヤーを表示する必要があることを考えた後、それはばかげていることに気付き、目次の有用性が低下しました。そこで、:maxdepth:を2に減らしたところ、reSTとSphinxが提供するシンプルさにすべてが戻ってきました。

より良いデザインは、毎回クールな要素よりも優れています。

于 2011-11-04T15:54:44.827 に答える