Mettre les dates en francais dans un blog Jekyll
Comme précédemment vu, ce blog tourne sur Jekyll.
Jekyll et internationalisation
L'internationalisation (ou i18n) n'est pas supportée nativement par Jekyll. Il existe un plugin qui permet de le faire en plusieurs langues mais en utilisant un filtre différent. La solution la plus simple est de modifier la fonction strftime:
_plugins/frdate.rb
# encoding: utf-8
require 'date'
require 'time'
Date::MONTHNAMES = [nil] + %w(janvier février mars avril mai juin juillet août septembre octobre novembre décembre)
Date::DAYNAMES = ["Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi"]
class Time
alias :strftime_nolocale :strftime
def strftime(format)
format = format.dup
format.gsub!(/%a/, Date::ABBR_DAYNAMES[self.wday])
format.gsub!(/%A/, Date::DAYNAMES[self.wday])
format.gsub!(/%b/, Date::ABBR_MONTHNAMES[self.mon])
format.gsub!(/%B/, Date::MONTHNAMES[self.mon])
self.strftime_nolocale(format)
end
end
Hébergé par GitHub ?
Attention, Github compile par défaut avec l’option --safe
de Jekyll qui ignore tous les plugins. La solution est de créer un script qui génère le site statique et envoie ce site sur le dépôt GitHub, comme expliqué sur ce blog. Il est même possible de gérer ce déploiement via l'intégration continue, par exemple drone.io.