---
layout: default
---
<article class="post" itemscope itemtype="http://schema.org/BlogPosting">

    <header class="post-header">
        <h1 class="post-title" itemprop="name headline">{{ page.title }}</h1>
        <p class="post-meta"><time datetime="{{ page.date | date_to_xmlschema }}" itemprop="datePublished">{{ page.date | date: "%b %-d, %Y" }}</time> {% if page.author %}<span itemprop="author" itemscope itemtype="http://schema.org/Person"><span itemprop="name">/ {{ page.author }}</span></span>{% endif %}{% if page.tags != null %}/
            {% assign projectTags = site.data.tags.allowed-tags %}
            {% for tag in page.tags %}
            {% if projectTags contains tag %}
            <a href="{{ "tag_" | append: tag | append: ".html"}}">{{tag}}</a>{% unless forloop.last %}, {% endunless%}
            {% endif %}
            {% endfor %}
            {% endif %}

        </p>


    </header>

    <div class="post-content" itemprop="articleBody">
        {{ content }}
    </div>



</article>

{{site.data.alerts.hr_shaded}}

{% include footer.html %}
