Comme j’utilise Radiant CMS, pour l’instant, principalement en tant que blog, je me suis demandé quelles fonctionnalités il me manquait par rapport à un Dotclear où à un WordPress et j’ai donc commencé à regarder comment on peut étendre tout ça.
Alors, donc, radiant dispose d’un système de plugins et d’un système d’extensions, j’ai choisi d’implémenter une extension, puisque c’est la manière décrite dans la documentation de Radiant.
C’est d’un premier abord plutôt simple, il y a même des générateurs qui créent les dossiers et écrivent le squelette de l’extension. Par conséquent, on peut dire que ça se présente bien.
Ma première extension à été un remplacement du tag <r:date />
, qui, comme
ruby utilise bêtement via sa class Time
la fonction strftime
de la
bibliothèque standard et ne permet pas de faire de setlocale
, génère de très
belles dates, mais en anglais. J’ai donc créé une extension FrenchDate
qui
définit un tag <r:french_date />
qui fonctionne tout à fait comme le
précédent, mais en utilisant une sous classe de la classe Date
, qui elle, à
une fonction strftime
implémentée en ruby, avec de jolis tableaux contenant
les noms des jours et des mois qui ne demandent qu’a être modifiés, ce que
j’ai fait. Il reste un tout petit problème, c’est que les deux strftime
présentées ici ne savent représenter le fuseau horaire qu’en version lettres
(UTC, CEST…), où dans une version numérique non compatible avec certaines
utilisations (+0200 au lieu de +02:00), mais ça se règlera bien à un momment
où un autre.
Comme je n’ai toujours pas envie de laisser les gens mettre des commentaires,
je me suis dit qu’ils pourraient utiliser des rétroliens, au cas où ils se
mettent à parler de ce que je dis. Je vous parlerai de mon exploration des
entrailles de Radiant, et de Radius (son système tags), vous verrez, c’est
souvent automagique, ainsi que de la genèse de mon extension Trackback
dans
un prochain billet.