<div class="unit one-fifth hide-on-mobiles">
  <aside>
    <ul>
      <li class="{% if page.title == 'News' %}current{% endif %}">
        <a href="{{ site.baseurl }}/news/">All News</a>
      </li>
      <li class="{% if page.title == 'Avatica Releases' %}current{% endif %}">
        <a href="{{ site.baseurl }}/news/avatica-releases/">Avatica Releases</a>
      </li>
      <li class="{% if page.title == 'Avatica Go Releases' %}current{% endif %}">
          <a href="{{ site.baseurl }}/news/avatica-go-releases/">Avatica Go Releases</a>
      </li>
    </ul>
    <h4>Recent Releases</h4>
    <ul>
      {% for post in site.categories.release limit:5 %}
      <li class="{% if page.title == post.title %}current{% endif %}">
        <a href="{{ site.baseurl }}{{ post.url }}">{{post.component}} {{ post.version }}</a>
      </li>
      {% endfor %}
    </ul>
    <h4>Other News</h4>
    <ul>
        {% for post in site.posts %}{% comment %}
          {% endcomment %}{% unless post.categories contains 'release' %}
        <li class="{% if page.title == post.title %}current{% endif %}">
          <a href="{{ site.baseurl }}{{ post.url }}">{{ post.title }}</a>
        </li>
          {% endunless %}{% comment %}
        {% endcomment %}{% endfor %}
    </ul>
  </aside>
</div>
