<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>{{ site.name }}: {{ 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/group.css" rel="stylesheet">
        <link rel="alternate" type="application/atom+xml" title="Atom"
            href="{{ site.base }}/blog/blog.xml">
        <meta property="og:image" content="{{ site.base }}/img/crail-stack-preview.png" />
        <meta property="og:image:secure_url" content="{{ site.base }}/img/crail-stack-preview.png" />
        <meta property="keywords" content="storage disaggregation, RDMA, NVMe over Fabrics, NVMe-oF, Spark, Tensorflow, distributed data processing, serverless computing" />
    </head>

    <body>
        <div class="container">
          <div class="header">
            <ul class="nav nav-pills pull-right">
              {% assign shorturl = page.url | replace:".html",'' %}
              {% for item in site.navigation %}
                {% assign itemurl = item.link |replace:".html" ,'' %}
                <li {% if itemurl == shorturl %}class="active"{% endif %}>
                  <a href="{{ site.base }}{{ item.link }}">
                    {{ item.title }}
                  </a>
                </li>
              {% endfor %}
            </ul>
            <a href="{{ site.base }}/">
                <img src="{{ site.base }}/img/crail_logo.png"
                    srcset="{{ site.base }}/img/crail_logo.png"
                    alt="Crail" id="logo">
            </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 }}

        <br>
	<br> 
          <div class="footer">
            <p>Apache Crail is an effort undergoing <a href="https://incubator.apache.org/">incubation</a> at <a href="https://www.apache.org/">The Apache Software Foundation (ASF)</a>, sponsored by the Apache Incubator PMC. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.
            </p>
          </div>

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

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