私は手足に出て、あなたが探しているものを推測するつもりです - 私は同じ問題を抱えていたと思うので.
例として、localtoc.html では、テンプレートは次のようになります。
<h3><a href="{{ pathto(master_doc) }}">{{ _('Table Of Contents') }}</a></h3>
{{ toc }}
{%- endif %}
{{ toc }}
は Sphinx のグローバル マクロであり、それが定義されている場所を探すのに約 1 時間費やしましたが、まったく運がありませんでした。
警告は、次の{{ toc }}
ようなものになります。
<ul>
<li>Toc Item 1</li>
<li>Toc Item 2</li>
<li>Toc Item 3</li>
</ul>
問題は、CSSでクラスごとにタグを処理したい場合、それらを簡単に変更する方法がないことです<ul>
。<li>
最終的には、これは Sphinx の writers/html.py の制限であり、まだ多くのことを手作業で行っていると思います。
これに対する本当の解決策は (おそらく builders/html.py) を置き換えることですが、間違いなく Sphinx の writers/html.py です。これは、私が費やしたかったよりもはるかに多くの努力です。
私は、この問題にいくらか対処しているが、部分的にしか対処していない 2 人の人々を見つけることができました。
html5css3 HTMLWriterと HTMLTransformer を含む rst2html5 。とdocutils-html5-writer、これは非常に見栄えが良いですが、builders/html.py と html5 ライターの違いにより、Sphinx のドロップイン代替品ではありません。
最終的に、jinja フィルターを使用してこのソリューションを思いつきました。これは醜いハックですが、ハードルを乗り越えました。
<h3><a href="{{ pathto(master_doc) }}">{{ _('Table Of Contents') }}</a></h3>
{{ toc|replace("<ul>", "<ul class=\"custom\">", 1) }}
{%- endif %}