{% if config.extra.version == 'none' %}
<select class="form-control">
<option>
    developing
</option>
</select>
{% else %}
<select class="form-control" onchange="if (this.value) window.location.href=this.value">
    {% for version in config.extra.versions %}
    <option
      value="/{{ version.branch }}/{{ config.extra.doc_path }}"
      {% if config.extra.version == version.branch or (config.extra.version == 'latest' and version.latest) %}selected="selected"{% endif %}
    >
      Version: {{ version.label }}{% if version.latest %} (latest){% endif %}
    </option>
    {% endfor %}
</select>
{% endif %}
