<div class="unit one-fifth hide-on-mobiles">
  <aside>
    <ul>
      <li class="{% if page.title == 'News' %}current{% endif %}">
        <a href="/news/">All News</a>
      </li>
      <li class="{% if page.title == 'Releases' %}current{% endif %}">
        <a href="/news/releases/">Metron 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="{{ post.url }}">Version {{ post.version }}</a>
      </li>
      {% endfor %}
    </ul>
    <h4>Other News</h4>
    <ul>
        {% for post in site.posts %}
        {% unless post.categories contains 'release' %}
        <li class="{% if page.title == post.title %}current{% endif %}">
          <a href="{{ post.url }}">{{ post.title }}</a>
        </li>
        {% endunless %}
        {% endfor %}
    </ul>
  </aside>
</div>
