Только что столкнулся с первой, скажем так, “задачей” при создании блога и решил воспользоваться этим, чтобы написать первый тестовый пост здесь. Итак, в Jekyll настройка отображение даты делается с помощью фильтров шаблонизатора Liquid, но, как и стоило ожидать, нельзя просто поменять в каком-то конфиге два символа и получить интернационализацию для всех фильтров по всему блогу, всё немного хитрее и есть два варианта:

1. Костыль

Такого вида внушительная конструкция, которая будет тащиться по всему блогу и которую по какой-то причине на каждом шагу советуют

    {% raw %}
    {% assign m = page.date | date: "%-m" %}
    {{ page.date | date: "%-d" }}
    {% case m %}
      {% when '1' %} Januar
      {% when '2' %} Februar
      {% when '3' %} März
      {% when '4' %} April
      {% when '5' %} Mai
      {% when '6' %} Juni
      {% when '7' %} Juli
      {% when '8' %} August
      {% when '9' %} September
      {% when '10' %} Oktober
      {% when '11' %} November
      {% when '12' %} Dezember
    {% endcase %}
    {{ page.date | date: "%Y" }}
    {% endraw %}

2. Свой Liquid-фильтр

Поскольку в 99.9% случаев мне будет нужен всего один формат даты, я решил, что можно потратить 5 минут и дописать две конкатенации к одному из выложенных на StackOverflow сниппетов на Ruby, вот что получилось

    module DateFilter
      MONTHS = %w(Января Февраля Марта Апреля Мая Июня Июля Августа Сентября Октября Ноября Декабря)

      def russian_long_month(input)
        input.strftime("%d") + " " + MONTHS[input.strftime("%m").to_i - 1] + " " + input.strftime("%Y")
      end
    end
    Liquid::Template.register_filter(DateFilter)

Всё, дальше это дело надо сохранить в файл с любым именем и поместить в директорию _plugins блога, теперь можно использовать собственный фильтр, вот так это будет выглядеть {% raw %}{{ post.date | russian_long_month }}{% endraw %}