Локализация дат в Jekyll
Настраивал шаблон и столкнулся с проблемой русификацией дат. Хотелось бы видеть дату в длинном формате с русскими названиями месяца года. Но стандартные теги и фильтры Liquid и Jekyll такой возможности не дают. Есть разные варианты решения русификацией дат в Jekyll.
Jekyll имеет систему плагинов с хуками, которые позволяют вам создавать настраиваемый контент, специфичный для вашего сайта. Вы можете запускать собственный код для своего сайта, не изменяя сам исходный код Jekyll.
Мое решение плагин в виде фильтра для Liquid. Плагин использует gem russian - поддержку русского языка для Ruby и Rails при помощи библиотеки I18n.
Установим gem russian - gem install russian
. Создадим файл date_fiter.rb
в каталоге _plugins
с таким содержанием:
# _plugins/date_fiter.rb
require "russian"
I18n.default_locale = :ru
module Jekyll
module DateFilter
def date_to_ru(date)
return date if date.to_s.empty?
return I18n.l(date,:format => "%d %B %Y")
end
end
end
Liquid::Template.register_filter(Jekyll::DateFilter)
Использовать в шаблонах Jekyll, например так {{ post.date | date_to_ru }}
- результат дата поста в длинном формате с русским названием месяца года.
Эта страница последний раз обновлялась:
08-10-2022 12:56