... о Mac OS, iOS, Xcode, Objective-C и не только...
Русифицируем даты в Octopress
Одной из самых нетривильных задач в процессе руссификации блога, построенного с помощью Octopress, является изменение формата даты с английского AUG 1ST, 2011 на более привычный русский, например ПЯТНИЦА, 13 ИЮЛЯ 2012 (о Боже, сегодня же пятница 13-ое!). Задача эта нетривиальна, но вполне себе решаема. Далее описан адаптированный для русского языка способ, который я подглядел у моего коллеги по Octopress из Германии Марка, который, естесственно, описывает его для локализации дат на немецкий язык.
Вводная информация
Для успеха операции нам придется руками залезть в файл date.rb, который после обновления Octopress будет заменен на новый. Поэтому предлагаю сохранить где-то информацию об изменениях, вносимых в этот файл, а затем в случае обновления Octopress руками поправить date.rb еще раз.
Шаг 1
Нам необходимо убедиться, что файл _config.yml содержит верную настройку в строке date_format:
Шаг 2
Далее идем в ../octopress/plugins и находим там файл ruby.rb, который приводим к такому виду:
Обратите особое внимание на первую строку # encoding: utf-8, без нее Octopress не сможет собрать Ваш блог (как я понял, в Ruby в случае наличия Unicode-символов, например, русских букв, необходимо явно указывать на кодировку файла).
Если кратко, мы добавили в этот файл массивы MONTHNAMES_RU, ABBR_MONTHNAMES_RU, DAYNAMES_RU и ABBR_DAYNAMES_RU с русскими именами дней недели и месяцев, изменили методы ordinalize, format_date в модуле Octopress, а также добавили модуль Filters в модуль Jekyll.
Также настоятельно рекомендую сохранить где-нибудь в отдельной директории исходный файл date.rb на случай, если Вы что-то поломаете. Отдельная директория нужна потому, что при сборке сайта Octopress проходит по всем Ruby-файлам в папке ../octopress/plugins и измененные нами методы могут конфликтовать с исходными методами.
Шаг 3
Внесем изменения в ../octopress/source/_includes/archive_post.html и приведем его к такому виду:
После внесения этих изменений даты в Вашем блоге должны принять вид ПЯТНИЦА, 13 ИЮЛЯ 2012.