{{ log.debug() }}
{% if config.show_if_no_docstring or module.has_contents %}

  <div class="doc doc-object doc-module">
  {% with html_id = module.path %}

    {% if not root or config.show_root_heading %}

      {% if root %}
        {% set show_full_path = config.show_root_full_path %}
        {% set root_members = True %}
      {% elif root_members %}
        {% set show_full_path = config.show_root_members_full_path or config.show_object_full_path %}
        {% set root_members = False %}
      {% else %}
        {% set show_full_path = config.show_object_full_path %}
      {% endif %}

      <h{{ heading_level }}
          id="{{ html_id }}"
          class="doc doc-heading"
          data-toc-label="{{ module.name }}">

        <code>{% if show_full_path %}{{ module.path }}{% else %}{{ module.name }}{% endif %}</code>

        {% with properties = module.properties %}
          {% include "properties.html" with context %}
        {% endwith %}

      </h{{ heading_level }}>

    {% else %}
      {% if config.show_root_toc_entry %}
        <h{{ heading_level }} class="hidden-toc"
            id="{{ html_id }}"
            data-toc-label="{{ module.path }}"
            style="visibility: hidden; position: absolute;">
        </h{{ heading_level }}>
      {% endif %}
      {% set heading_level = heading_level - 1 %}
    {% endif %}

    <div class="doc doc-contents {% if root %}first{% endif %}">
      {% with docstring_sections = module.docstring_sections %}
        {% include "docstring.html" with context %}
      {% endwith %}

      {% with obj = module %}
        {% set root = False %}
        {% set heading_level = heading_level + 1 %}
        {% include "children.html" with context %}
      {% endwith %}
    </div>

  {% endwith %}
  </div>

{% endif %}
