Plugin Delicious pour Dotclear 2
Pour commencer, deux constats;
- j’aime lister certains liens (bookmarks) dans mon blog et
- j’aime utiliser Delicious pour mes bookmarks.
De là, comment faire pour intégrer ça le mieux possible dans le blog. J’ai essayé diverses méthodes et je me penche sur l’écriture d’un plugin pour Dotclear.
Dans la version précédente, j’utilisais un javascript fourni par delicious 1 qui m’affichait une série de liens bien gentiment. Ça fonctionne bien et j’aurais pu continuer comme ça.
<script type="text/javascript"
src="http://del.icio.us/feeds/js/pit/blog?count=100;title=Liens">
</script>
Delicious, fournit également une liste de liens par une simple requête http
2. Ceci a l’avantage que l’on pourra récupérer cette liste et la mettre en forme avec une feuille de style qui va bien 3.
Bref, je me dis que ceci pourrait faire l’objet d’un plugin et je me plonge dans la doc de Dotclear au sujet des plugins pour essayer de sortir quelque chose.
Il en sort une première ébauche de plugin téléchargeable en version pré alpha delicious-0.0.1.zip (lien mort).
La difficulté réside dans la compréhension de Dotclear que je suis en train de découvrir. À ce stade pourtant, le code du plugin se résume à quelques lignes emballées à la sauce « plugin de dotclear ».
const
URL = "http://feeds.delicious.com/html/USER/TAG?" .
"count=COUNT&tags=no&rssbutton=no";
// ...
$url = // Je remplace USER, TAG et COUNT
HttpClient::quickGet($url);
L’idée d’un plugin (une extension) est de pouvoir écrire quelque chose du style tpl:Delicious
dans un fichier template de dotclear. Avec ce code, c’est chose faite avec en plus une page d’administration permettant de choisir des valeurs par défaut pour USER
, TAG
et COUNT
. Ces trois valeurs signifient respectivement:
- le nom d’utilisateur Delicious,
- un des tags de l’utilisateur et
- le nombre de résultats maximum attendu.
On utilise donc le plugin en écrivant dans un fichier template
// Si l'on veut les valeurs par défaut
// (ou celles sauvegardées dans l'interface d'administration
{{tpl:Delicious}}
// Si l'on veut préciser l'un ou l'autre (ou tous) les paramètres
{{tpl:Delicious user="pit" tag="blog" count="100"}}
{{tpl:Delicious tag="dotclear" count="100"}}
{{tpl:Delicious tag="geek" }}
Vous pouvez ajouter ça dans votre thème en éditant un des fichiers (home.html
ou post.html
par exemple) templates suivant vos envies 4
Je voudrais pouvoir créer une page liens.html
qui contiendra toute une série de liens et qui sera facile à mettre à jour. On 5 m’a soufflé dans l’oreillette que je pouvais utiliser le plugin related de Pep et/ou ajouter moi-même une page publique.
Dans un premier temps, utilisons le plugin de Pep pour tester la chose ailleurs que dans une des pages du thème.
J’installe le plugin, j’essaie de comprendre, je crée une page avec extension html
sur mon disque (un peu comme celle disponible dans l’archive sous le nom de liens.html
) et j’ajoute une Nouvelle page incluse via le lien Pages connexes. Cet ajout me demandera de choisir un fichier et c’est donc bien liens.html
que je choisis. Ensuite un appel à http://example.org/blog/index.php?static/nomdelapagerelated
me montre le truc.
Bonne nuit les gens, n’hésitez pas à essayer et faites moi des retours, je verrai si je suis capable d’y donner suite.
Crédit photo par Cath qui aime bien cuisiner.