Фильтрация постов по языку в блоге jekyll на GitHub Pages

Добавляю в свой блог перевод постов на разные языки. Перевод я реализовал, но не могу понять как мне на странице постов отображать сообщения только на одном языке. На данный момент у меня дублируются статьи на разных языках. Для начала, вот мой код, который связывает посты по атрибутах.

{% if page.layout != 'index' %}
    {% assign posts=site.posts | where:"lang-ref", page.lang-ref | sort: 'lang' %}
    {% if posts.size == 0 %}
        {% assign posts=site.pages | where:"lang-ref", page.lang-ref | sort: 'lang' %}
    {% endif %}
    {% if posts.size > 1 %}
    <footer class="lang-options">
        <em>Read this page in a different language:</em>
        <ul>
        {% for post in posts %}
        <a href="{{ site.base-url }}{{ post.url }}" class="{{ post.lang }}" title="View in {{post.lang}}">{{ post.lang }}</a>
        {% endfor %}
        </ul>

Вот как я вывожу посты на страницу:

{% for post in paginator.posts %}
<article class="post-preview">
  <a href="{{ post.url | prepend: site.baseurl | replace: '//', '/' }}">
    <h2 class="post-title">{{ post.title }}</h2>
    {% if post.subtitle %}
    <h3 class="post-subtitle">{{ post.subtitle }}</h3>
    {% else %}
    <h3 class="post-subtitle">{{ post.excerpt | strip_html | truncatewords: 15 }}</h3>
    {% endif %}
  </a>
  <p class="post-meta">Posted by
    {% if post.author %}
    {{ post.author }}
    {% else %}
    {{ site.author }}
    {% endif %}
    on {{ post.date | date: '%B %d, %Y' }} &middot; {% include read_time.html content=post.content %}
  </p>
</article>

А вот так я пытаюсь фильтровать сообщения на странице. По идее этот код выводит сообщения на том языке та котором текущая страница.

 <article class="post-preview">
  {% assign posts = site.posts | where:"lang", page.lang %}
  {% for post in posts %}
  <a href="{{ post.url | prepend: site.baseurl | replace: '//', '/' }}">
    <h2 class="post-title">{{ post.title }}</h2>
    {% if post.subtitle %}
    <h3 class="post-subtitle">{{ post.subtitle }}</h3>
    {% else %}
    <h3 class="post-subtitle">{{ post.excerpt | strip_html | truncatewords: 15 }}</h3>
    {% endif %}
  </a>
  {% endfor %}

Но фильтрация не работает, и я я получаю ошибку.

Liquid Exception: undefined method `split' for nil:NilClass in posts/index.html

Ответы (1 шт):

Автор решения: WarmingZ

Возможно кто-то так же сталкивался с такой проблемой фильтарции. Вот как я её решил:

{% assign sorted-posts = site.posts | where: "lang", page.lang %}
{% if sorted-posts.size > 0 %}
{% for post in sorted-posts %}

Так же сортировка на главной странице:

{% assign sorted-posts = site.posts | where: "lang", "en" %}
        {% for post in sorted-posts limit: 5 %}

Стоит просто всем страницам присвоить язык и выводить посты только на языке главной страницы.

→ Ссылка