<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>WACAS: {{ page.title }}</title>
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <link href="{{ site.base }}/css/bootstrap.min.css" rel="stylesheet">
        <link href="{{ site.base }}/css/sampa.css" rel="stylesheet">
        <link href="{{ site.base }}/css/print.css" rel="stylesheet"
            media="print">
    </head>
    <body>
        <div class="container">
          <div class="header">
            <ul class="nav nav-pills pull-right">
              {% assign shorturl = page.url | replace:'index.html','' %}
              {% for item in site.nav_wacas %}
                <li {% if item.link == shorturl %}class="active"{% endif %}>
                  <a href="{{ site.base }}{{ item.link }}">
                    {{ item.title }}
                  </a>
                </li>
              {% endfor %}
            </ul>
            <a href="./"><img style="float: left; margin-right: 1em"
                              src="{{ site.base }}/img/wacas-small.jpg"
                              width="56" height="56" alt="logo" /></a>
            <a href="./"><h1>WACAS 2014</h1></a>
            </a>
          </div>

          {% comment %}Liquid is sort of terrible! I think "!= true" is the
          only way to do negation?{% endcomment %}
          {% if page.notitle != true %}
          <h2>{{ page.title }}</h2>
          {% endif %}

          {{ content }}

        </div> <!-- /container -->

        <!-- Support retina images. -->
        <script type="text/javascript"
            src="{{ site.base }}/js/srcset-polyfill.js"></script>
    </body>
</html>
