[IMP] doc: handling of toc outside master_doc

* remove local toc sidebar in non-index documents with a toctree
* change toctree rendering to only have links on leaf nodes (don't link
  to intermediate toctree'd documents)
This commit is contained in:
Xavier Morel 2015-07-09 11:09:39 +02:00
parent 812318dcba
commit f94a667ed1
4 changed files with 31 additions and 3 deletions

View File

@ -49,6 +49,27 @@ def navbarify(node, navbar=None):
link.attributes['data-toggle'] = 'dropdown'
# list_item.bullet_list
list_item.children[1]['classes'].append('dropdown-menu')
elif navbar is None:
for n in node.traverse(nodes.reference):
# list_item
# compact_paragraph
# reference <- starting point
# bullet_list
# list_item+
# if the current list item (GP of current node) has bullet list
# children, unref it
list_item = n.parent.parent
# only has a reference -> ignore
if len(list_item.children) < 2:
continue
# no subrefs -> ignore
if not list_item.children[1].children:
continue
# otherwise replace reference node by its own children
para = n.parent
para.remove(n)
para.extend(n.children)
def resolve_content_toctree(
environment, docname, builder, toctree, prune=True, maxdepth=0,

View File

@ -83,8 +83,7 @@
</li>
</ul>
{% endif %}
{{ toctree(titles_only=True, maxdepth=2, includehidden=True,
collapse=False, navbar='main') }}
{{ toctree(titles_only=True, maxdepth=2, includehidden=True, collapse=False, navbar='main') }}
</nav>
</div>
</nav>
@ -99,6 +98,7 @@
<main class="{{ container }} {{ ' '.join(classes) }}">
{% if pagename != master_doc %}
<div class="row">
{% if 'has-toc' not in meta %}
<aside>
<div class="navbar-aside text-center">
<div class="logo_box">
@ -113,7 +113,8 @@
{% endif %}
</div>
</aside>
<article class="doc-body">
{% endif %}
<article class="doc-body {% if 'has-toc' in meta %}doc-toc{% endif %}">
{% endif %}
{% block body %} {% endblock %}
{% if pagename != master_doc %}</article>

View File

@ -118,6 +118,9 @@ main{
padding-left: 30px;
@media (min-width: @w-size-medium) {
width: 75%;
&.doc-toc {
width: 100%;
}
}
> *{
max-width: 100%;

View File

@ -8599,6 +8599,9 @@ main article.doc-body {
main article.doc-body {
width: 75%;
}
main article.doc-body.doc-toc {
width: 100%;
}
}
main article.doc-body > * {
max-width: 100%;