Glossary
========
.. glossary::
breadcrumbs
a trail of links to higher-level documents. Represents levels of given
URL path. For example, URL ``/news/2010/oct/`` corresponds to a
document with heading "October 2010" and this path of breadcrumbs:
* ``/news/`` "News"
* ``/news/2010/`` "2010 news"
crumb resolver
a function that takes arguments `request` and `url` and returns either
a :class:`navigation.helpers.Crumb` instance or `None`. Can be
registered by using the decorator
:func:`navigation.resolvers.crumb_resolver`::
@crumb_resolver
def custom_resolver(request, url):
if url == '/secret/url/':
return Crumb(url, 'Hello')
else:
return None # pass to another resolver, if any
If current URL is ``/secret/url/``, then the resolver will be called
for both ``/secret/`` and ``/secret/url``. The resolver may not be
called if another resolver did not return `None` for given URL (i.e.
first resolver wins).
If all resolvers returned `None` for a URL, then a dummy crumb is
created. It can be told from a regular crumb in templates this way::
{% if crumb.is_dummy %}
(???)
{% else %}
{{ crumb }}
{% endif %}
This will produce the path of breadcrumbs like "(???) -> Hello" if
``/secret/url/`` could be resolved but ``/secret/`` couldn't.
sections
First-level URLs explicitly listed as `NAVIGATION_SECTIONS` setting
(optional; only required by :func:`get_sections`).