<!DOCTYPE html>
<html>

  <head>
    <meta charset='utf-8' />
    <meta http-equiv="X-UA-Compatible" content="chrome=1" />
    <meta name="viewport" content="width=480">

    <link rel="stylesheet" type="text/css" media="screen" href="{{ site.baseurl }}stylesheets/stylesheet.css">
    <link rel="alternate" type="application/rss+xml" title="Cap'n Proto News" href="{{site.baseurl}}feed.xml">

    <title>Cap'n Proto: {{ page.title }}</title>

    <script type="text/javascript" src="{{ site.baseurl }}javascripts/main.js"></script>
  </head>

  <body class="desktop">

    <!-- HEADER -->
    {% if page.title != "Introduction" %}<a class="banner_link" href="{{site.baseurl}}">{% endif %}
    <div id="header_wrap" class="outer">
      <header class="inner">
        <img src="{{ site.baseurl }}images/logo.png">
        <div id="infinitely_faster">
          <img src="{{ site.baseurl }}images/infinitely_faster.png">
        </div>
      </header>
      <a id="discuss_banner" href="https://groups.google.com/group/capnproto">Discuss on Groups</a>
      <a id="forkme_banner" href="https://github.com/capnproto/capnproto">View on GitHub</a>
    </div>
    {% if page.title != "Introduction" %}</a>{% endif %}

    {% if site.is_next %}
    <div id="next_banner">
      <h1>PREVIEW</h1>
      <p>You are looking at the site as it will appear after the next release.  This is a draft
         version that may be incomplete, buggy, or not yet applicable.  To look at the current
         site, <a href="../">click here</a>.
    </div>
    {% endif %}

    <!-- MAIN CONTENT -->
    <div id="main_content_wrap" class="outer">

      <section id="main_content" class="inner">
