Related Posts With Jekyll

I wanted something that would show up to 5 recent posts of the same category. Jekyll has a related_posts site variable, but it filters by tags instead of categories, and it was giving me all kinds of weirdnesses. I figured out a solution with some clever use of the liquid syntax 1:

{% unless page.category == null %}
  {% capture pageCategory %}{{ page.category }}{% endcapture %}
  {% unless site.categories[pageCategory].size == 1 %}
    <div class="row related-posts">
      <h2 class="text-center">More {{ page.category }} Posts!</h2>
      <div class="medium-12 small-12 columns">
        {% for post in site.categories[pageCategory] limit:6 %}
          {% unless post.title == page.title %}

           <h3>
            <a href="{{ site.url }}{{ site.baseurl }}{{ post.url }}">
              {{ post.title }}
            </a>
           </h3>

          {% endunless %}
        {% endfor %}
      </div>
    </div>
  {% endunless %}
{% endunless %}
  1. I simplified the markup that displays each related post, just to be simpler for demonstration purposes.

✖ Clear

🕵 Search Results

🔎 Searching...