    <!-- bread crumb -->
    <div class="row">
      <div class="large-12 columns" style="font-size: 0.8rem; background-color: rgba(255,255,255,0.75); margin-bottom: 5px;">
        <a href="/">Home</a>
        <i class="fa fa-angle-double-right"></i>
        <a href="/{%if article%}news/{{article.slug}}.html{%else%}{{page.slug}}.html{%endif%}">
          {%if article%}{{article.title}}{%else%}{{page.title}}{%endif%}
        </a>
        (<a href="https://github.com/apache/infrastructure-website/tree/master/content/pages/{%if article%}news/{{article.slug}}.md{%else%}{{page.slug}}.md{%endif%}">edit</a>)
      </div>
    </div>
    
    
    <!-- contents -->
    <div class="row">
      <div class="large-12 columns">
        <div class="callout">
          <h2>
            {% if article %}
              {{ article.title }}
            {% else %}
              {{ page.title }}
            {% endif %}
          </h2>
          {% if article %}
              {{ article.content }}
            {% else %}
              {{ page.content }}
            {% endif %}
        </div>
      </div>
    </div>
    </div>
