<!doctype html>
<!--
    Licensed to the Apache Software Foundation (ASF) under one or more
    contributor license agreements.  See the NOTICE file distributed with
    this work for additional information regarding copyright ownership.
    The ASF licenses this file to You under the Apache License, Version 2.0
    (the "License"); you may not use this file except in compliance with
    the License.  You may obtain a copy of the License at

         https://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
-->
<html lang="en" prefix="og: https://ogp.me/ns#">
  <head>
    {% block head %}
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <title>{{ SITENAME }} - {{ page.title }}</title>
    {% endblock %}
    <!-- Below Meta Tags Generated via https://www.opengraph.xyz -->
    <!-- Values are set in pelicanconf.py -->
    <!-- HTML Meta Tags -->
    <meta name="description" content="{{ SITEDESC }}">
    <!-- Facebook Meta Tags -->
    <meta property="og:url" content="{{ SITEURL }}">
    <meta property="og:type" content="website">
    <meta property="og:title" content="{{ SITENAME }}">
    <meta property="og:description" content="{{ SITEDESC }}">
    <meta property="og:image" content="{{ SITELOGO }}">
    <!-- Twitter Meta Tags -->
    <meta name="twitter:card" content="summary_large_image">
    <meta property="twitter:domain" content="{{ SITEDOMAIN }}">
    <meta property="twitter:url" content="{{ SITEURL }}">
    <meta name="twitter:title" content="{{ SITENAME }}">
    <meta name="twitter:description" content="{{ SITEDESC }}">
    <meta name="twitter:image" content="{{ SITELOGO }}">
    <!-- Above Meta Tags Generated via https://www.opengraph.xyz -->

    <link rel="shortcut icon" href="https://www.apache.org/favicons/favicon.ico">
    <link rel="apple-touch-icon" sizes="57x57" href="https://www.apache.org/favicons/apple-touch-icon-57x57.png">
    <link rel="apple-touch-icon" sizes="60x60" href="https://www.apache.org/favicons/apple-touch-icon-60x60.png">
    <link rel="apple-touch-icon" sizes="72x72" href="https://www.apache.org/favicons/apple-touch-icon-72x72.png">
    <link rel="apple-touch-icon" sizes="76x76" href="https://www.apache.org/favicons/apple-touch-icon-76x76.png">
    <link rel="apple-touch-icon" sizes="114x114" href="https://www.apache.org/favicons/apple-touch-icon-114x114.png">
    <link rel="apple-touch-icon" sizes="120x120" href="https://www.apache.org/favicons/apple-touch-icon-120x120.png">
    <link rel="apple-touch-icon" sizes="144x144" href="https://www.apache.org/favicons/apple-touch-icon-144x144.png">
    <link rel="apple-touch-icon" sizes="152x152" href="https://www.apache.org/favicons/apple-touch-icon-152x152.png">
    <link rel="apple-touch-icon" sizes="180x180" href="https://www.apache.org/favicons/apple-touch-icon-180x180.png">
    <link rel="icon" type="image/png" href="https://www.apache.org/favicons/favicon-32x32.png" sizes="32x32">
    <link rel="icon" type="image/png" href="https://www.apache.org/favicons/favicon-194x194.png" sizes="194x194">
    <link rel="icon" type="image/png" href="https://www.apache.org/favicons/favicon-96x96.png" sizes="96x96">
    <link rel="icon" type="image/png" href="https://www.apache.org/favicons/android-chrome-192x192.png" sizes="192x192">
    <link rel="icon" type="image/png" href="https://www.apache.org/favicons/favicon-16x16.png" sizes="16x16">
    <!--<link rel="manifest" href="https://www.apache.org/favicons/manifest.json" crossorigin="anonymous">-->
    <meta name="msapplication-TileColor" content="#603cba">
    <meta name="msapplication-TileImage" content="https://www.apache.org/favicons/mstile-144x144.png">
    <meta name="msapplication-config" content="https://www.apache.org/favicons/browserconfig.xml">
    <meta name="theme-color" content="#282661">

    <link rel="stylesheet"
      href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"
      integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T"
      crossorigin="anonymous">
    <link rel="stylesheet"
      href="https://cdnjs.cloudflare.com/ajax/libs/github-markdown-css/3.0.1/github-markdown.min.css"
      crossorigin="anonymous">
    <style>
html {
  font-size: 18px;
}
.markdown-body {
  box-sizing: border-box;
  min-width: 200px;
  max-width: 980px;
  margin: 0 auto;
  padding: 45px;
}
@media (max-width: 767px) {
  .markdown-body {
    padding: 15px;
  }
}
.footer {
  border-top: 1px solid black;
  padding-top: 3px;
}
.right-align {
  text-align: right;
}
.center-align {
  text-align: center;
}
blockquote {
  background: bisque;
}
.bg-primary {
  background-color: #005bff!important;
}
a {
  font-weight: 400;
  color: #005bff;
}
li {
  line-height: 1.5;
 }
.h1, h1 {
  font-size: 1.5rem;
}
.h2, h2 {
  font-size: 1.4rem;
}
.h3, h3 {
  font-size: 1.3rem;
}
.h4, h4 {
  font-size: 1.2rem;
}
.h5, h5 {
  font-size: 1.1rem;
}
    </style>
  </head>

  <body id="index" class="home">
    <nav class="navbar navbar-expand-lg navbar-dark bg-primary">
      <img src="https://www.apache.org/foundation/press/kit/feather.svg"
        width="30" height="30" class="d-inline-block align-top"
        alt="Apache Feather">
      <a class="navbar-brand" href="/">Apache Petri</a>
      <button class="navbar-toggler" type="button"
        data-toggle="collapse" data-target="#navbarSupportedContent"
        aria-controls="navbarSupportedContent" aria-expanded="false"
        aria-label="Toggle navigation">
        <span class="navbar-toggler-icon"></span>
      </button>

      <div class="collapse navbar-collapse" id="navbarSupportedContent">
        <ul class="navbar-nav mr-auto">
          <li class="nav-item active">
            <a class="nav-link" href="/">Home</a>
          </li>
          <li class="nav-item active">
            <a class="nav-link" href="/projects">Projects</a>
          </li>
          <li class="nav-item active">
            <a class="nav-link" href="/cookbook">Cookbook</a>
          </li>
          <li class="nav-item active">
            <a class="nav-link" href="/mentors">Mentors</a>
          </li>
          <li class="nav-item active">
            <a class="nav-link" href="/faq">FAQ</a>
          </li>
        </ul>
        <div class="navbar-nav">
          <div class="nav-item dropdown dropdown-menu-right active">
            <a class="nav-link dropdown-toggle" href="#"
              role="button" data-toggle="dropdown" aria-haspopup="true"
              aria-expanded="false">About</a>
            <div class="dropdown-menu dropdown-menu-right">
              <a class="dropdown-item" href="https://www.apache.org/">Foundation</a>
              <div class="dropdown-divider"></div>
              <a class="dropdown-item"
                href="https://www.apache.org/licenses/">License</a>
              <a class="dropdown-item"
                href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a>
              <a class="dropdown-item"
                href="https://www.apache.org/foundation/thanks.html">Thanks</a>
              <div class="dropdown-divider"></div>
              <a class="dropdown-item"
                href="https://www.apache.org/security/">Security</a>
            </div>
          </div>
        </div>
      </div>
    </nav>

    <div class="container">
      {% block content %}
      {% endblock %}
        <h2><span class="badge badge-secondary"><a href="{{ SITEREPOSITORY }}{{ page.slug }}.md" style="color:white">Page Source</a></span></h2>
    </div>

    <footer class="navbar-expand-lg navbar-light bg-light">
      <div class="footer" id="footer">
        <div class="row container-fluid">
          <div class="col-sm">
            <a href="https://www.apache.org/">
              <img src="https://www.apache.org/img/asf_logo.png" alt="The Apache Software Foundation" style="border: 0; margin-top: 2px" width="200">
            </a>
          </div>
          <div class="col-sm center-align">
            <a href="https://www.apache.org/foundation/contributing.html">
              <img src="https://www.apache.org/images/SupportApache-small.png" alt="Support The ASF" height="80" width="80">
            </a>
          </div>
          <div class="col-sm right-align">
            <a class="acevent" data-format="wide" data-mode="light" data-event="random"></a>
          </div>
        </div>

        <div class="container-fluid">
          Copyright &copy; {{ CURRENTYEAR }} The Apache Software Foundation,
          Licensed under the
          <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0.</a>
          <br/>
          {{ TRADEMARKS }} of <a href="https://www.apache.org/">The Apache Software Foundation.</a>
        </div><!-- #container-fluid -->

      </div>
    </footer>

    <script src="https://www.apachecon.com/event-images/snippet.js"></script>
    <script
      src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.slim.min.js"
      integrity="sha512-6ORWJX/LrnSjBzwefdNUyLCMTIsGoNP6NftMy2UAm1JBm6PRZCO1d7OHBStWpVFZLO+RerTvqX/Z9mBFfCJZ4A=="
      crossorigin="anonymous"></script>
    <script
      src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"
      integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1"
      crossorigin="anonymous"></script>
    <script
      src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"
      integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM"
      crossorigin="anonymous"></script>

  </body>
</html>
