---
layout: default
---
<div class="content">
  <div class="container">
    {{ content }}
    <ul class="blog-post-listing">
      {% for post in paginator.posts %}
        <li class="blog-post">
          <h4><a href="{{ post.url }}">{{ post.title }}</a></h4>
          <p>Posted on {{ post.date | date: '%B %d, %Y' }} by {{ post.author }}</p>
          {{ post.excerpt }}
          <h5><a href="{{ post.url }}">Read more &raquo;</a></h5>
        </li>
      {% endfor %}
    </ul>

  {% if paginator.total_pages > 1 %}
  <ul class="pager">
    {% if paginator.previous_page %}
    <li class="previous">
      <a href="{{ paginator.previous_page_path | prepend: site.baseurl | replace: '//', '/' }}">&larr; Newer Posts</a>
    </li>
    {% endif %}
    {% if paginator.next_page %}
    <li class="next">
      <a href="{{ paginator.next_page_path | prepend: site.baseurl | replace: '//', '/' }}">Older Posts &rarr;</a>
    </li>
    {% endif %}
  </ul>
  {% endif %}    
  </div>
</div>
