{% assign previous_post = nil %} {% assign next_post = nil %} {% assign navigation_category = site.title %}
{% if site.data.settings.post_navigation.type == 'category' %}
{% for category in page.categories limit: 1 %} {% assign category_posts = site.categories[category] %} {% assign navigation_category = category %} {% for category_post in site.categories[category] | sort "date" %} {% if category_post.url == page.url %} {% unless forloop.first %} {% assign previous_index = forloop.index | minus: 2 %} {% assign previous_post = category_posts[previous_index] %} {% endunless %} {% unless forloop.last %} {% assign next_index = forloop.index %} {% assign next_post = category_posts[next_index] %} {% endunless %} {% break %} {% endif %} {% endfor %} {% endfor %}
{% else if site.data.settings.post_navigation.type == 'site' %}
{% assign previous_post = page.previous %} {% assign next_post = page.next %}
{% endif %}
{% assign used_posts = page.url | split: ',' %} {% if previous_post and site.data.settings.related_posts.exclude_post_navigation %}
{% assign used_posts = used_posts | push: previous_post.url %}
{% endif %} {% if next_post and site.data.settings.related_posts.exclude_post_navigation %}
{% assign used_posts = used_posts | push: next_post.url %}
{% endif %}
{% if site.data.settings.related_posts.type == 'tags' %}
{% assign posts = '' | split: ',' %} {% for tag in page.tags %} {% assign posts = site.tags[tag] | concat: posts %} {% endfor %} {% assign posts = posts | uniq %}
{% else if site.data.settings.related_posts.type == 'site' %}
{% assign posts = site.related_posts %}
{% else if site.data.settings.related_posts.type == 'all' %}
{% assign posts = site.posts %}
{% endif %}
{% assign temp = '' | split: ',' %} {% for post in posts %}
{% unless used_posts contains post.url %} {% assign temp = temp | push: post %} {% endunless %}
{% endfor %} {% assign posts = temp %}
{% if site.data.settings.related_posts.post_filter %}
{% assign temp = '' | split: ',' %} {% for post in posts %} {% if post[site.data.settings.related_posts.post_filter] %} {% assign temp = temp | push: post %} {% endif %} {% endfor %} {% assign posts = temp %}
{% endif %}
{% assign related_posts = posts | sample: site.data.settings.related_posts.count %}