Description
- Nom : enhancePostContent
- Description : Modifie le contenu des billets côté publique.
- Version : 0.9
- Date de création : 17 Octobre 2009
- Date de modification : 06 Juin 2010
- Forum : http://dotclear.jcdenis.com/go/enhancePostContent-support
- Lab : http://lab.dotclear.org/wiki/plugin/enhancePostContent
Aperçu
Prérequis
- Dotclear 2.2: plugin-enhancePostContent-0.9.zip
- Dotclear 2.1.6: plugin-enhancePostContent-0.8.1.zip
- Base de données MySQL ou PostgreSQL
Features
- Reconnaissance des tags,
- Reconnaissance des mots recherchés,
- Reconnaissance des acronymes prédéfinis,
- Reconnaissance des abréviations prédéfinies,
- Reconnaissance des définitions prédéfinies,
- Reconnaissance de mots à remplacer par des liens,
- Reconnaissance de mots à remplacer par d'autres mots,
- Reconnaissance des liens Twitter (mots commençants par @ )
- Option de reconnaissance des pluriels,
- Option de reconnaissance des majuscules,
- Option de limite du nombre de remplacement
- Filtrage du résumé des billets,
- Filtrage du contenu des billets,
- Filtrage du contenu des commentaires
- Styles CSS facilement éditables,
- Ouvert à d'autres balises de templates (liste éditable facilement),
- Widgets de liste des mots trouvés
Bugs
- Les doublons ne sont pas pris en compte (même clé sur deux filtres),
- Pas d'ordre de priorité dans l'exécution des filtres
Attention aux mises à jour:
- < 0.5 : Tous les paramètres seront perdus,
- < 0.7 : Les listes des mots seront transférées automatiquement dans une nouvelle table,
- < 0.8 : Les dates de mise à jour sont créées et mises à zéro
- < 0.9 : N'est plus compatible avec Dotclear < 2.2-beta
Vous trouverez en pièce jointe de ce billet le paquetage de la dernière version publique de l'extension.


Commentaires
Merci beaucoup pour ce plugin très utile.
Une petite suggestion : sauf erreur de ma part, la recherche du motif effectuée par le plugin est sensible à la casse, alors que le moteur de recherche de Dotclear ne l'est pas. De coup, le mot recherché n'est pas toujours mis en évidence (typiquement, quand on recherche un nom propre auquel on n'a pas mis de majuscule dans la recherche, alors qu'il en contient une dans le billet). Peut-être faudrait-il rendre le plugin insensible à la casse ?
Heu, je viens de regardé et sauf si je suis mal réveillé, il me semble que la recherche et insensible à la casse.
(Fichier _public.php Ligne 98)
Je referai une verif pour la prochaine version.
Salut,
J'aime bien. Toutefois, il serait intéressant qu'il reconnaisse les tags qui sont au pluriel dans les billets et/ou suivi d'un point, une virgule ou autre ponctuation.
Ce serait vraiment bien.
Merci de ton retour,
Effectivement pour la ponctuation j'ai du faire une boulette, par contre je ne suis pas sur que de prendre en compte les tags aux pluriels soit une bonne idée ?
Je note tout ça pour la prochaine version.
Nouvelle version ce jour
J'ai corrigé pour la ponctuation par contre je me tate toujours pour autoriser les pluriels...
Pas mal d'autres améliorations et ajout au menu de cette version.
Et joyeuses fêtes!
Bonjour JC, superbe plug-in, bravo !
Par contre pour la Acronyme pourquoi n'utilises-tu pas la balise HTML <acronyme> ?
Plus di'nfos : http://is.gd/5CytO
Bonne continuation,
Pierre
Je ne sais pas si tous les navigateurs la reconnaissent ? En tout cas je ne connaissais pas.
Merci pour l'info
excellent plugin.
merci !
encore moi
est ce que c'est possible de faire un sorte que si un tag ne représente qu'un seul billet, le plugin ne le prend pas un compte ce billet (ou ce tag).
parce que de toute façon, le lecteur va être redirigé sur le même billet, celui qui est en train de lire. :D
Mon explication plus haut n'était pas du tout claire. Je m'excuse.
J'essaye encore une fois. Je prends un ex, sur ce billet. Si le mot/tag "extension" serait seulement lié avec ce billet (que ici n'est pas le cas), celui là ne soit pas pris en compte.
C'est bien ce que j'avais compris et l'idée est bonne, mais cela rajoute pas mal de requêtes pour générer la réponse. (recherche des billets liés à chaque Tag) et sur un blog qui aurait beaucoup de Tags cela ralentirait trop la page à mon avis...
Je ferais quelques tests pour confirmer.
Superbe plugin qui devient de mieux en mieux !
J'aimerais proposer une fonctionnalité que j'espère relativement simple à mettre en place.
Puisque Twitter se développe de plus en plus (dcShareOn n'est pas pour rien), pourrais-tu faire en sorte que les expressions @pseudo renvoie vers le profil de la personne ?
Il s'agit de détecter l'expression, et de mettre un lien auto vers twitter.com/profil , ce qui est très similaire au tag à mes yeux (expression donne URL fixe + variable)
Idem pour les Hashtag Twitter, ou #theme renverrait vers un des sites de recensement des tendances sur la twittosphère.
Encore merci !
Salut fab,
Bonnes idées.
Je pense que cela risque d'allourdir la lecture des billets/commentaires de celui qui va activer toutes les fonctions et souvent dans mes commentaires je répond aux gens avec @bob ... mais pourquoi pas.
De mon coté, faire le renvoie d'un @qqun vers sa page twitter est très simple.
Quand aux #topic faudrait juste me donner le lien d'un service interessant.
Encore merci pour toutes vos idées.
J'en veux encore!
Bonjour !

Déjà, bonne année, meilleurs voeux, tout ça
Ensuite, merci pour le plugin, si j'arrive à le faire fonctionner ça m'éviterai de balayer à la main une 100aine d'articles pour aller mettre des <acronym> partout...
Par contre, c'est que je dis bien "si ça marche", parce que je n'ai pas encore réussi à le faire fonctionner...
Cela dit, comme c'est sur un blog un peu spécial où y'a déjà un remplacement des balises EntryExcerpt et EntryContent par d'autres modifiées (par Pep dans le cadre d'un plugin développé pour un client), je me demande si ça vient pas de là... ?
Si tu penses que ça vient bien de là (genre y'a pas d'instructions particulières à côté desquelles je serai passé) et si tu as 5 minutes, je pourrai te donner un login/mdp en privé pour que tu regardes ?
Bref, encore merci en tout cas, si ce n'est sur ce projet je suis sûre de trouver à ce plugin une utilité sur un projet à venir !
Bonne soirée,
Marie
Ben j'ai pas tester trop de configurations différentes mais normalement ça devrait passer partout?! Le plugin utilise depuis le fichier _public.php les behaviors :
publicBeforeContentFilter du /inc/public/lib.tpl.context.php pour les fonctions de remplacement et :
publicHeadContent normalement présent dans le fichier head.html de ton thème pour les CSS.
Commence par regarder si le thème à le code
tpl:SysBehavior behavior="publicHeadContent"
Puis tu peux toujours essayer de remplacer les behaviors
publicBeforeContentFilter par publicAfterContentFilter dans le fichier _public.php du plugin pour voir.
Sinon si tu peux me poser quelque part le plugin de pep (ou un bout de code) qui touche aux EntryExceprt histoire que je vois les interférences.
J'attends tes retours.
Hello !
Alors je vais te poser le plugin de pep parce que oui les publicHeadContent etc sont bien présents mais comme je ne sais pas exactement ce que modifie pep, et que franchement c'est très largement au dessus de mon niveau en php, je préfère que tu voies toi-même...
Par contre pour des raisons de confidentialité je préférerai te l'envoyer par mail plutôt que de poster une url, tu peux m'écrire pour que je te réponde (je pensais avoir ton mail de la mailing list du lab mais non)... ?
Merci beaucoup d'avance, je suis aussi surprise que toi que ça ne marche pas !!
Juste une petite demande, outre un moyen d'éviter la pollution d'un trop grand nombre de lien similaire ; ca serait de pouvoir désactiver la fonction dans les flux ! Un flux est censé amener au blog, et au billet en lui même ; pas vers la navigation du blog et sa hiérarchie.
Marie,
un mail est pati.
Fab,
Je n'avais même pas pensé au flux et effectivement, il serait bien de désactiver le plugin à cette endroit.
Sinon, pour info, je réfléchie à un widget en plus qui listerait tout ce que le plugin trouve dans le billet plutôt que de modifier le billet. (au choix)
Voila.
Merci bien !
Pour le widget, ca ressemblerait en fait à LinkSummarizer mais pour les liens internes ; pour peu qu'il y Related Post qui se base sur les tags, ca ferait doublon à mes yeux.
Sinon, ce qui serait parfait, ca serait de détecter le nombre de fois qu'un lien apparait, et de piocher quelques uns (paramètre à définir) pour les transformer en lien. On obtient donc une navigation améliorée, mais pas une profusion de lien.
Pour le widget, je pense que le résultat plaira avec choix de ce qu'on veux afficher et en multiple widget.
Pour le coup du nombre de liens, je sais les compter mais j'ai encore du mal à penser comme vous
pourquoi à un endroit il y aurait un lien et pourquoi pas à un autre?... Bref je verais si je peux ajouter cela si ça charge pas trop le code.
Sinon pour la prochaine version, en plus du widget, je me rapproche des standards suite à une discussion avec Marie en définissant des balises HTML "acronym", "abbr", "dfn", etc... Et encore en plus j'ajouterais le choix des pages ou faire les transformations en plus du choix de balises DC.
Donc une bonne version en perspective
Bon je sors un petite version alpha pour ceux qui veulent tester.
c'est par la: http://is.gd/5XNpr
Merci à ceux qui se lancent.
Non ! Je rêve ! Cela fait des ANNÉES que je cherche à faire facilement des liens automatiques sur mon contenu ! Unbeliveble ! J'installe immédiatement !
C'est définitif, je suis amoureux de tes plugins ! A vie !
Merci merci mais avant de t'agenouiller devant moi, regarde comme c'est tout plein de bugs :p
Hé oui, je suis comme ça.
Oh bein je viens de m'essayer tout ça et pour l'instant y'a rien à redire de particulier comme bug, c'est efficace, c'est hyper complet, c'est génial quoi.
Juste un truc : j'ai par exemple un tag "Driver" qui génère un lien, et un mot "Race Driver" qui génère un lien ailleurs. Le premier semble prendre le dessus sur le second, qui est pourtant plus "gros" !
A moins que je m'embrouille avec les permissions et les tags/liens/remplacements, ce qui est possible :D .
Ah puis encore un truc : pour mes tags "à espace" (qui font un %20 pas beau dans l'URL) je leur ai systématiquement donné des tirets à la place des espaces.
Là où le plugin ne "convertit" pas le tag, c'est bien sûr qu'il s'appelle (par exemple) "Need-for-Speed" alors que le mot est "Need for Speed".
Bon je sais... là c'est un cas spécial :D ! Mais bon, t'as voulu que je trouve des bugs, il faut bien que je gratte un peu ! :D
Autrement je suis RAVI !
Pour ce qui est de la priorité, je ne me suis pas vraiment posé la question... Je regarderai si je peux établir des ordres.
Pour les URL encodées idem je ne me suis pas non plus posé la question, mais car l'encodage est normal et ça fonctionne, après si ce n'est pas beau, faut se plaindre au W3C. Je regarderais comment fonctionne le plugin metadata voir si il convertit les caractères spéciaux.
Merci pour tes commentaires,
car je ne vois pas tout.
Ah et puis aussi j'ai remarqué un petit conflit avec l'option qui ajoute une icône de nouvelle fenêtre près de liens externes : le plugin supprime ces icônes. Rien de bien grave toutefois...
Aouuutch, en fait c'est pire que cela... le plugin semble aussi désactiver une autre fonction qui me tient particulièrement à cœur : le Lightbox pour agrandir les images. Il passe en priorité, je vais devoir me séparer de ton plugin
...à moins que tu réussisse à trouver la faille
.
Etrange, j'utilise également lightbox et enhancePostContent sur ce blog: pas de soucis ?
Je vais quand même jeter un coup d'œil.
je viens de passer à la dernière version depuis la 0.5 : la vache ! encore une usine à gaz super paramétrable ! top, donc.
J'ai un petit problème. Le plugin fonctionne parfaitement sur mon site http://bit.ly/adLtvt (Dotclear 2.1.6), mais pas sur http://bit.ly/aNz6hh (Dotclear 2.1.7). Est-ce normal ?
Salut jmh2o,
Effectivement je suis passé directement de la version 2.1.6 à la version 2.2-beta de Dotclear... Si tu en as vraiment besoin je peux faire un mise à jour de l'ancienne version de enhancePostContent pour Dotclear 2.1.7. C'est quoi le problème? l'install? les paramètres? rien en publique?
Rien ne se passe du côté public.
Maintenant, si le passage vers la 2.2 n'est pas trop risqué, je veux bien tenté le coup…
Oula, non il est encore trop tôt pour cela!
Heu, par contre j'ai regardé vite fait la version du plugin pour DOtclear 2.1.6 et je ne vois pas de raison qu'il bug sur la 2.1.7 ?!
Demain, je refais un test complet pour faire le tour du problème. Sinon, merci pour ce plugin qui, ailleurs, m'ouvre des perspectives…
J'ai retourné le site dans tout les sens. Rien ne change. L'ultime action : tout enlever et tout réinstaller en version 2.1.6 ???
Ouai je comprend pas trop la... On continue cette discussion sur le fil dédié du forum si tu veux
ok
Après avoir désactivé le Javascript dans mon navigateur (les boutons en haut de page semblaient empêcher le chargement de la page), j'ai tenté de voter pour le commentaire de JC au-dessus et j'ai eu une erreur SQL :
ou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '2 WHERE P.blog_id = 'jcdc' AND ((comment_status = 1 AND P.post_status = 1 AND po' at line 1 (1064)
Ha ben zut, moi qui croyait que tu allais me parler du plugin...
Pour les boutons du haut (du plugin shareOn), faut que je trouve une solution pour que quand les services externes traine, ça ne me casse pas la page...
Pour ton problème de vote avec le plugin rateIt, comment dire... heu... ce n'est pas son seul problème... Et c'est pour cela que je ne l'ai pas encore mis sur Dotaddict, il a trop de bugs. J'ai déjà commencé à débroussailler pour DC 2.2 mais pas fini.
Mais bon ici, c'est enhancePostContent