dc:photobloug
Par fabien le jeudi 14 juin 2007, 21:29 - code zone - Lien permanent
Je travaille depuis quelques jours (ça finit par faire des semaines) sur un plugin pour Dotclear2, qui permet de le transformer à peu près proprement en outil de photoblog.
Ci dessous, des explications, la liste des fonctions accessibles, et le package.
Principe
Le principe est le suivant: je veux afficher de grandes photos, en donnant la priorité aux photos vis à vis du texte. Je veux garder le moteur de Dotclear 2, avec son système de commentaires et de trackbacks, les liens d'abonnement, la mise en page par templates, les archives ... bref, tout le sale boulot déjà réalisé.
La meilleure solution, c'est donc de créer un plugin, qui va me permettre d'avoir quelques templates supplémentaires.
Ce plugin est compatible avec la version 2 beta 6 de Dotclear.
Fonctions disponibles
Liste des templates disponibles:
- tpl:GetPostImage
- tpl:GetPostImageThumb
- tpl:GetPostText
et ... c'est tout ! Ah, si, j'ai ajouté une extension pour les URL disponibles, qui est le about.
Explications
tpl:GetPostImage
Ce template renvoie l'ensemble des images présentes dans un article, sous la forme:
<img src="mon_fichier_image" alt="texte alternatif" style="mise en page DC" />
Ces images peuvent être présentes dans le chapô ou dans le corps du texte. Si il y a plusieurs images, elles seront renvoyées les unes à la suite de autres.
tpl:GetPostImageThumb
Cette fonction renvoie les vignettes correspondant aux images d'un article: l'utilisation standard de cette fonction est d'afficher une vignette dans la page des archives.
On peut passer comme argument la variable 'type' positionnée sur les valeurs suivantes:
- m: medium image
- s: small image
- t: thumbnail image
- sq: square image
Par défaut, c'est sq.
Deux autres variables sont accessibles : 'lien' et 'liste':
- si 'lien' est positionné à 1, chaque vignette sera un lien vers le post correspondant.
- si 'liste' est positionné à 1, les vignettes seront renvoyées sous forme de liste (utile pour plusieurs images par post).
Exemple:
{{tpl:GetPostImageThumb type="t" liste="1" lien="1"}}
tpl:GetPostText
Cette fonction renvoie le texte du billet purgé des ses images (post-chapo et post-content). Pas d'option disponible.
L'url about
J'ai rajouté une extension à l'ensemble des url disponibles par défaut. Avec ce plugun, un fichier about.html dans le thème sera interprété par DC. Son url est
{{tpl:BlogURL}}about
Limitations
Les fonctions d'extraction d'image procèdent par recherche de motif. Donc toute image trouvée dans le contenu va être renvoyée, en particulier si il y a des "smileys".
Téléchargement & installation
Télécharger:
- le plugin en version 0.1;
- un theme de démo.
Le thème n'a pas (encore) été testé sous IE (aïe).
Installer:
- le plugin doit être décompressé dans le répertoire /plugins/
- le thème doit être décompressé dans le répertoire de thème, et personnalisé (en particulier la page about.html).
Commentaires
WoW c'est pas mal du tout, surtout que je pensais à écrire ce genre de code.
MerciBeaucoup en tous cas^^
De rien !
si t'en fais quelque chose de joli, laisse une URL que je puisse voir !
J'avais pensé à ce genre de fonction, mais comme je suis nul en exprésion rationnelle, je me suis dit que j'attendrais que quelqu'un est la bonne idée de le faire :)
Donc super, je vais regarder ca de plus prêt.
Merci donc pour ce code.
Quelques soucis avec ton thème et les plugins.
J'ai mis un message sur le forum de dotclear (http://www.dotclear.net/forum/viewt...), mais si tu as une idée de ton coté, je suis preneur !
Merci d'avance.
ok, je vais regarder ... mais pas avant la semaine prochaine
Bonjour :
J'ai l'impression que ton motif de getPostImage ne prend pas en compte l'attribut title que je précise sur toute mes images, sachant que celui-ci peut être avant ou après l'attribut alt.
Bon je suis en train de tester,
J'ai trouver une erreur dans le code de l'image :
<img src="/public/Florent/fenetre.jpg" alt="Fenetre à naperon" style="margin: 0pt auto; display: block;"> qui n'est pas valide, le code correct est
<img src="/public/Florent/fenetre.jpg" alt="Fenetre à naperon" style="margin: 0pt auto; display: block;" />
Bon, ne tiens pas compte de mon message précédent, c'est mon navigateur qui fait des siennes, désolé.
Par contre je suis en train de potasser les expressions régulières pour affiner ton plug afin qu'il fonctionne avec tout les cas de figure (title alt et src).
Cool. J'ai une grosse baisse d'activité en ce moment sur le ploug, alors n'hésite pas à le reprendre comme tu veux.
Je te tiendrais au courant de l'évolution, mais je ne m'impose aucun délai, je fais ca à temps perdu.
pour info, j'ai fait un upgrade de poulpattack en dc2 beta7, et le plugin est compatible.
Tu continues à développer et à maintenir ce plugin ?
Pas vraiment, je n'ai plus trop le temps. En plus, il me semble qu'il y a un plugin (ou un thème ?) photoblog qui est vraisemblablement mieux foutu.
En tous cas ce plugin existe pour DC1, je ne sais pas pour DC2.
Mais si tu veux reprendre le code de photobloug, pour en faire un vrai plugin ... libre à toi, c'est open-source.