Sphinx配置如何设置“breadcrumbs”?

时间:2016-08-05 21:00:30

标签: python-sphinx

Sphinx配置如何在标题中设置“breadcrumbs”?我有一个Sphinx项目,我看到的只是项目名称;如果我跳到子页面,我会迷路,而且我看不到当前页面的路径。

野外的一些例子:

https://docs.python.org/2.7/library/argparse.html

参见第一行:文档>> Python标准库>> 15.通用操作系统服务

enter image description here

http://docs.scipy.org/doc/numpy/reference/arrays.ndarray.html

查看顶部的圆角矩形

enter image description here

scipy的源代码似乎在这里:

看起来Sphinx“基本”主题将此功能内置为“relbar”:

来自https://github.com/sphinx-doc/sphinx/blob/master/sphinx/themes/basic/layout.html

{%- macro relbar() %}
    <div class="related" role="navigation" aria-label="related navigation">
      <h3>{{ _('Navigation') }}</h3>
      <ul>
        {%- for rellink in rellinks %}
        <li class="right" {% if loop.first %}style="margin-right: 10px"{% endif %}>
          <a href="{{ pathto(rellink[0]) }}" title="{{ rellink[1]|striptags|e }}"
             {{ accesskey(rellink[2]) }}>{{ rellink[3] }}</a>
          {%- if not loop.first %}{{ reldelim2 }}{% endif %}</li>
        {%- endfor %}
        {%- block rootrellink %}
        <li class="nav-item nav-item-0"><a href="{{ pathto(master_doc) }}">{{ shorttitle|e }}</a>{{ reldelim1 }}</li>
        {%- endblock %}
        {%- for parent in parents %}
          <li class="nav-item nav-item-{{ loop.index }}"><a href="{{ parent.link|e }}" {% if loop.last %}{{ accesskey("U") }}{% endif %}>{{ parent.title }}</a>{{ reldelim1 }}</li>
        {%- endfor %}
        {%- block relbaritems %} {% endblock %}
      </ul>
    </div>
{%- endmacro %}

另见http://www.sphinx-doc.org/en/stable/templating.html

但我无法弄清楚如何启用。

好的,我真的很困惑。我得到了一些东西但不是我想要的方式。

我的项目“MyDoc”有我的index.rst:

Top Level Page Title Is Here
============================

content goes here

.. toctree::
   :maxdepth: 2

   introduction
   (other files)

然后我有介绍。第一次

Introduction
============

content goes here

.. toctree::
   :maxdepth: 2

   test1

和test1.rst

Test1
============

blah blah
  • 对于index.html,它在relbar中显示MyDoc。
  • 对于introduction.html,它在relbar中显示MyDoc。 (我原本期望MyDoc&gt;&gt;简介)
  • 对于test1.html,它显示了MyDoc&gt;&gt;在relbar中的介绍。 (我本来期望MyDoc&gt;&gt;简介&gt;&gt; Test1)

我想我感到困惑的是它为什么会这样运作。

1 个答案:

答案 0 :(得分:2)

我不确定你问的是什么问题,因为你似乎至少改变了一次。但是,从您之后的一些评论中,您可能希望当前文档名称显示为面包屑链接中的最终项目。

碰巧我只是想自己做这件事。我最后将此添加到我的layout.html

{# Show the current document in the navigation bar. #}
{% block relbaritems %}
<li class="nav-item">{{ title|striptags|e }}</li>
{% endblock %}

......这似乎对我有用。我没有把它作为一个链接,因为当前文档的链接似乎没有必要,但是如果你想要那个,那么通过查看基础{{1}就不应该弄清楚如何做到这一点。 }}

但是,我没有弄清楚如何为根文档隐藏它。如果有人知道该怎么做,请跟进!