@Lunatic : si j'ai bien compris, tu voudrais un bookmarklet qui te prérempli les champs de pluxml pour publier un article, c'est ça ? Parce que ce que tu décris et comme tu l'as parfaitement dit, shaarli le fait déjà...
Shaarli le fait, mais pluxml a pas mal de fonctionnalités que shaarli n'a pas (les commentaires, le classement par catégories… je ne vais pas faire toute la liste )
Je trouve qu'il manque un lien "source" lors de la rédaction des articles et j'aimerais par conséquent pouvoir le rajouter via un plugin (dans la sidebar à la suite de "description", etc).
Je connais déjà le plugin champArt que j'utilisais jusqu'alors, mais c'est une usine juste pour un seul champ, de plus, quelques bugs ont fait leur apparition au fur et à mesure des évolutions de PluXML (normal, hein ! =]).
Quelqu'un de charitable serait-il capable de développer ce genre de plugin ou tout du moins m'aider à le créer. Je dois avouer que j'y comprends pas grand chose, même en me basant sur vignette et champArt.
une autre petite demande ( ça existe pour WP )
un plugin permettant de trouver tous les liens morts, liens brisés, à la fois dans les articles ET dans les commentaires
( voire, mieux, d'y arriver ensuite dans l'admin pour les corriger ou les supprimer directement )
quasiment à l'heure actuelle une chose indispensable quand on sait que beaucoup trop de sites finissent toujours par disparaître un jour et que pour un blog ayant déjà pas mal d'articles, de liens sortants via les posts ou les commentaires, c'est quasiment mission impossible manuellement ( même avec des logs comme Xenu d'ailleurs ...), indispensables également pour ne pas trop 'énerver' les bots des moteurs lorsqu'ils passent visiter le site....
je ne sais pas si cela est faisable, je ne sais pas si ça demandera beaucoup de ressources, mais ce serait un vrai " plus "
[== PHP ==]
$a = @get_headers($url);
if ($a) {
//*** On a retour : on test le header HTTP
if (strstr($a[0],'404'))
return FALSE; // Erreur 404
else
return TRUE; // OK
}
else
return FALSE; // Erreur accès au site
}
[== PHP ==]
$a = @get_headers($url);
if ($a) {
//*** On a retour : on test le header HTTP
if (strstr($a[0],'404'))
return FALSE; // Erreur 404
else
return TRUE; // OK
}
else
return FALSE; // Erreur accès au site
}
merci
mais on en fait quoi de ce code ???
toi tu as de la chance, tu te comprends
Directement sous la page d'édition des articles, il vous permet d'obtenir des infos, sans avoir à changer de page, n'y a allez sur d'autres sites. Vous avez maintenant tous sous la main.
Ce petit plugin donc vous permet:
- De connaitre le nombre de liens dans un texte
- Le pays des liens dans vos textes
- Le nombre de mots et la densité % des mots de vos textes
Puis aussi obtenir un ensemble d'infos:
- Nombre de pages indéxés
- PageRank
- Alexarank
- Réseaux sociaux
- Pays du serveur
- Ip du serveur
..
plus que pas mal du tout et fort utile, si l'on pouvait l'avoir sous PluXml ce serait un vrai " + "
Subscribe To Comments : un moyen astucieux de fidéliser ses visiteurs
Subscribe To Comments est une petite extension qui donne aux visiteurs la possibilité de s'abonner par e-mail aux commentaires de vos articles. Elle peut être plus utile qu'elle n'en a l'air...
Le commentaire de Daniel Roch :
"cela peut paraître basique mais ce plugin permet de réellement fidéliser les internautes et de faciliter le débat en informant les autres participants qu'un nouveau commentaire a été publié, et qu'ils peuvent ainsi y répondre. De manière générale, l'impact est vraiment positif pour les blogs et les sites communautaires."
J'ai fait de même pour les flux Rss : à l'époque j'utilisais une lib appelée Rsslib... J'ai depuis fait quelques scripts permettant de récupérer et créer simplement des flux rss... ça peut servir de base à un plug in... si ça intéresse quelqu'un, je peux m'y coller ;-)
Je ne sais pas si c'est le bon endroit pour poster mais je partage mon code que j'ai intégré sur pluXml.
Avant une version plugin, voici ci-dessous une "bidouille" php pour extraire les données exif de photos et les afficher.
Un lien sur la carte google map est également généré si des données GPS sont présentes dans les exif
1 - le lien html dans l'article de votre blog :
[== HTML ==]
<a href="ymsimg.php?f=nom_du_fichier.jpg"><img src="data/images/nom_du_fichier.tb.jpg" alt="description" /></a>
2 - les données exif à afficher et la configuration d'affichage sont inscrites dans la racine du blog dans le fichier exif.dat (voir plus bas)
3 - une page php qui fait office de viewver : ymsimg.php (voir plus bas)
4 - 2 fichiers image curseur (zoomin.cur et zoomout.cur à placer aussi dans la racine)
[== Indéfini ==]
IFD0.ImageDescription,,
COMPUTED.Height,H ,Pix
COMPUTED.Width,W ,Pix
FILE.FileSize,,ko
EXIF.DateTimeOriginal,Date ,
* COMPUTED.ApertureFNumber
* COMPUTED.Copyright
IFD0.Make,Appareil ,
IFD0.Model,,
* IFD0.Orientation
* IFD0.XResolution
* IFD0.YResolution
* IFD0.ResolutionUnit
IFD0.Artist,Photographe ,
IFD0.Copyright,(c) ,
* IFD0.ExposureMode
EXIF.ExposureTime,Expo ,s
EXIF.FNumber,Ouverture ,
* EXIF.ExifVersion
EXIF.ISOSpeedRatings,Iso , ASA
* EXIF.DateTimeDigitized
* EXIF.ShutterSpeedValue
* EXIF.ApertureValue
* EXIF.ExposureBiasValue,Correction d\'exposition,
EXIF.Flash,Flash ,
IFD0.FocalLengthIn35mmFilm,Focale(film35mm) ,mm
EXIF.FocalLength,Focale ,mm
GPS.GPSLatitudeRef,,
GPS.GPSLatitude,Latitude ,
GPS.GPSLongitudeRef,,
GPS.GPSLongitude,Longitude ,
* GPS.GPSAltitudeRef,,
GPS.GPSAltitude,Altitude , m
EndOfDatas
--------------------
notes :
--------------------
format :
Clés exif,nom simplifié (pour l'affichage),unité
* pour ignorer
EndOfDatas : pour stopper la lecture donc ignorer la suite du fichier (notes)
à classer dans l'ordre de préférence d'affichage
Le premier champ (ligne 1) sera affiché en gras (commentaire par exemple).
C'est ce champ (s'il existe) qui est utilisé pour initialiser le champ commentaire des images. Il ne sera alors pas affiché en double, dans les infos EXIF.
--------------------
exemple de fichier avec exemple de données trouvées
COMPUTED.Height: 768
COMPUTED.Width: 1024
IFD0.ImageDescription: Barbecue Manu : ''Allez, assieds-toi donc...''
IFD0.Make: Panasonic
IFD0.Model: DMC-TZ6
IFD0.Artist: Moi ;-)
IFD0.Copyright: ym_trainz - 2010
* IFD0.ExposureMode: 0
EXIF.ExposureTime: 1/1600
EXIF.FNumber: 63/10 (ouverture)
EXIF.ISOSpeedRatings: 500
EXIF.DateTimeOriginal: 2010:07:04 12:48:36
EXIF.ExposureBiasValue: -33/100
EXIF.Flash: 16
IFD0.FocalLengthIn35mmFilm: 25
EXIF.FocalLength: 41/10
GPS.GPSLatitudeRef: N
GPS.GPSLatitude: 43/1,0/1,0/1, (array séparé par des , )
GPS.GPSLongitudeRef: W
GPS.GPSLongitude: 3/1,56/1,18999/500,
GPS.GPSAltitudeRef: ?
GPS.GPSAltitude: 0/1
------------------------
code du fichier ymsimg.php
[== PHP ==]
<?php
// page pour afficher une image fullscreen et les données EXIF des jpeg
// ym_trainz 07/2014 - rév 12/07/2014
// addons pour pluXml à placer dans la racine du blog
// copier également dans la racine les fichiers zoomin.cur, zoomout.cur et exif.dat
// --------------------------------------------------
// PARAMETRES à modifier
$Largeur = 700; // largeur d'affichage au départ avant de zoomer (800 pixels par défaut)
$Hauteur = 500;
$ExifData = true; // afficher les valeur exif de la photo
// --------------------------------------------------
// FONCTIONS
function extens_jpg($p) { // argument filename
// renvoie vrai si extension image jpg jpeg (pour extraire exif)
$ext = strtolower(substr($p, my_strrpos($p, '.') + 1)); // en minuscules
if (($ext=="jpg") || ($ext=="jpeg")) return true; else return false;
}
// ----------------------------------------------------------------------------
function formater_exif($val,$key) { // formate les valeurs exif
switch ($key) {
case "EXIF.FocalLength": // 41/10
$val=rat_dec($val,1);
break;
case "EXIF.FNumber": // 63/10 (ouverture)"
$val=rat_dec($val,1); // retour en 6,3
break;
case "GPS.GPSLatitude":
$val=formatgps($val); // 3/1,56/1,18999/500,
break;
case "GPS.GPSLongitude";
$val=formatgps($val); // 3/1,56/1,18999/500,
break;
case "EXIF.Flash";
$val="00000000".decbin(intval($val)); // conversion en binaire
/* MSB LSB
7 6 5 4 3 2 1 0
0 Flash fired
2 1 Flash return
3 Flash mode
5 Flash function
6 Red-eye mode
*/
if (substr($val,-1)=="0") return ""; // pas de flash
$r="On";
if (substr($val,-7,1)=="1") $r .=" Red-eye";
return $r;
break;
case "FILE.FileSize";
return strval(round(intval($val)/1024));
break;
case "EXIF.DateTimeOriginal";
// format original 2010:07:04 13:49:16 yyyy:mm:jj hh:mm:ss
// renvoyer mm/jj/yyyy hh:mm
if (strlen($val)!=19) return $val; else return substr($val,8,2)."/".substr($val,5,2)."/".substr($val,0,4)." ".substr($val,11,5);
break;
default:
return $val;
}
return $val;
}
// ----------------------------------------------------------------------------
function rat_dec($v,$nd) { // convertit 63/10 en 6.3 $nd, nombre de décimales
$id=strpos($v,"/"); //strpos("a/cde","/") retourne 1
if ($id===false) return $v; // pas de / trouvé
else {
$x=intval(substr($v,0,$id))/intval(substr($v,$id+1));
return strval(round($x,$nd)); // formater nombre de décimale et retour en string
}
}
// ----------------------------------------------------------------------------
function formatgps($v) { // prendre "42/1,0/1,2469/125," et le formater
/* voir http://www.gpscoordinates.eu/convert-gps-coordinates.php
------------------------------------------------
EXIF Format :
The latitude is expressed as three RATIONAL values giving the degrees, minutes, and seconds, respectively.
If latitude is expressed as degrees, minutes and seconds, a typical format would be dd/1,mm/1,ss/1.
When degrees and minutes are used and, for example,
fractions of minutes are given up to two decimal places, the format would be dd/1,mmmm/100,0/1.
---------------- ex 1 : ROSES Espagne ---------------
données exif : Latitude=42/1,0/1,2469/125, | Longitude=3/1,0/1,7833/500,
afficher : Latitude: N 42°16'8" | Longitude: E 3°9'9"
lien : http://maps.google.com/?ie=UTF8&z=12&t=m&q=N42.26889,E3.1525 (N-S / W-E / coordonnées décimales °.ddddd)
-------------------------------
decimal =int + minutes/60 + sec/3600
-------------------------------
*/
$ex=explode(",",substr($v,0,-1)); // enlever le dernier caractère et convertir en tableau (3 données),
$dd=rat_dec($ex[0],0);
$mm=rat_dec($ex[1],0);
$ss=rat_dec($ex[2],0);
$x=strval(intval($dd)+(intval($mm)/60)+(intval($ss)/3600));
return $dd."°".$mm."'".$ss."'' [".round($x,6)."]";
}
// ----------------------------------------------------------------------------
function read_exif($file, &$exif_p)
{
// retourne les données exif (choisies) dans le tableau $exif_data
// si pas d'exif, retourne 'false'
//
$exif_r= array();
$exif = exif_read_data($file, 0, true);
if($exif===false) return "NoExif";
else
{
// ---------------------------
/* données EXIF choisies (:exemples) - version default : 2.1 - voir ./res/exif.dat
mise en tableau dans variables
// --------------------------- */
foreach ($exif as $key => $section) {
foreach ($section as $name => $val) {
$ik=$key.".".$name; // parcours des clés
//-------------------
if (isset($exif_p[$ik][1])) {// cette clé exif est prise en compte (fichier de préférence res/exif.dat)
if (($name=="GPSLatitude") || ($name=="GPSLongitude")) { // c'est un tableau et non une donnée simple
$gps=true;
$valgps="";
foreach ($val as $val2 => $gps) $valgps .= $gps.",";
$exif_r[$ik]=formater_exif($valgps,$ik); // formater le résultat
if ($name=="GPSLongitude") { //dernier champs GPS, creer le lien cartel : http://maps.google.com/?ie=UTF8&z=12&t=m&q=N42.26889,E3.1525
// extrait de exif_f[] N | Latitude:42°0'20'' [42.005556] | :E | Longitude:3°0'16'' [3.004444]
// <a href="http://">lien</a>
$link=" <a href='http://maps.google.com/?ie=UTF8&z=7&t=m&q="; // z= c'est le zoom
$link .= $exif_r["GPS.GPSLatitudeRef"].convdeci($exif_r["GPS.GPSLatitude"]).",".$exif_r["GPS.GPSLongitudeRef"].convdeci($exif_r["GPS.GPSLongitude"])."' target='_blank'>Lien Carte</a> ";
$exif_r["GPS.GPSLongitude"] .= " ".$link." ";
}
}
else {
$exif_r[$ik]=formater_exif($val,$ik); // formater le résultat
}
}
}
}
return $exif_r;
}
}
// --------------------------------------------------
function my_strrpos($s_text,$s_search,$offset=null) {// $offset négatif est optionnel
// http://www.php.net/manual/fr/function.strrpos.php
// ne fonctionne pas correctement si $offset est >0 (dans ce cas, faire un simple strpos)
if($s_text=="") return "false";
else {
if (!isset($offset)) $offset=strlen($s_text)-1; else $offset=strlen($s_text)+$offset-1; // on cherche à l'envers à partir du nouvel offset ainsi calculé
// rechercher façon "maison" ym 03/2013
if($s_search=="" or $s_text=="") return "false";
for($i = $offset; $i > -1 ; $i--) {
// echo $i."<br>";
if($s_text[$i]==$s_search[0]) {
if(substr($s_text,$i,strlen($s_search))==$s_search) {
// echo "trouvé !";
return $i;
// exit;
}
}
}
return "false";
}
}
// ----------------------------------------------------------------------------
function convdeci($val) {
// retrouve le champ[ ] dans "Latitude:42°0'20'' [42.005556] |"
$pos=strpos($val,"[");
$pos2=strpos($val,"]");
return substr($val,$pos+1,$pos2-$pos-1);
}
// ----------------------------------------------------------------------------
function line_input($file) {
// lit une ligne dans le fichier forcément terminée par CrLf
// longueur ligne "infinie" - enlève les Cr ou Lf (clean)
if(feof($file)===false) {
$line=fgets($file,4096);
$in=array(chr(13).chr(10));
$out=array("");
$line=rtrim(str_replace($in,$out,$line)); // rtrim obligatoire pour comptatibilité
return $line;
}
else return "EndOfDatas";
}
// ----------------------------------------------------------------------------
// DEBUT PHP
// **************************************************
if (empty($_GET["f"])) echo "pas d'image à afficher";
else {
$fileImg = "data/images/".$_GET["f"];
list($width, $height) = getimagesize($fileImg);
if($width < 10) $width = 10;
$heightS = $height * $Largeur / $width; // affichage reduit à $Largeur pixels
$widthS = $Largeur;
if($heightS > $Hauteur) { // pour images verticales
$widthS = $width *$Hauteur / $height;
$heightS = $Hauteur;
}
//
$Infos = ""; // infos exif éventuelles
if($ExifData && extens_jpg($fileImg)) {
// ---------------------------
// lecture des préférences exif
// ---------------------------
if(file_exists("exif.dat")===false) die ("le fichier de préférences des données exif n'existe plus !<br><br><strong>exif.dat</strong> manquant");
$exif_p=array(); // declarer le tableau
$fich=fopen($curdir."exif.dat","r");
$skip=False;
while (!$skip) {
$buf=line_input($fich);
if (($buf=="") || $buf=="EndOfDatas") $skip=True;
else {
// mettre dans un tableau les données exif;
// [key][0] label ; [key][1] unité
// exemple : [EXIF.FocalLength][0]=Focale ; [EXIF.FocalLength][0]=mm
if (($buf[0]!="*") && ($buf!="")) { // ignorer cette ligne php-> $buf[0] ou substr($buf,0,1)
$temp=explode(",",$buf); // séparer les items de la ligne lue (séparateur ,)
if (isset($temp[0])) { // une clé existe sur cette ligne
$ik=$temp[0];
$exif_p[$ik][0]=$ik; // pour retrouver aussi la clé dans [0]
for ($j=1;$j<3;$j++) { // parcourir les valeurs pour cette clé
if (isset($temp[$j])) $exif_p[$ik][$j]=$temp[$j]; else $exif_p[$ik][$j]="";
}
}
// ligne suivante
}
}
}
fclose($fich);
// ---------------------------
$exifv = read_exif($fileImg, &$exif_p); // lire les données EXIF de la photos
// parcourir $exifv[key][i]
// [key][0] key ; [key][1] label ; [key][2] unité
// exemple : [EXIF.FocalLength][0]='EXIF.FocalLength' ;[EXIF.FocalLength][1]=Focale ; [EXIF.FocalLength][1]=mm
$first=true;
foreach($exif_p as $key1) { // parcourir le tableau des préférences exif (dans exif.dat)
if($first){ // chercher le premier champ pour remplir le commentaire avec
$first=false;
if(trim($Infos) == "") {
// chercher le commentaire dans le premier champ EXIF (voir exif.dat), s'il n'existe pas, remplir avec filename
if(trim($exifv[$key1[0]])!="") $Infos = $exifv[$key1[0]]; // commentaire EXIF par exemple
else $Infos = $fileImg; // filename
}
}
else {
// si la clé existe dans le fichier image
if($exifv[$key1[0]]!="") {
$Infos = $Infos." | ".$exif_p[$key1[0]][1].$exifv[$key1[0]].$exif_p[$key1[0]][2]; // label valeur unité
}
}
}
}
// ---------------------------------
echo "
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
<html xmlns='http://www.w3.org/1999/xhtml' lang='fr' xml:lang='fr'>
<head>
<title>ymViewver</title><meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'>
<style type='text/css'>
.large { cursor:url(zoomout.cur), pointer; }
.small { cursor:url(zoomin.cur), pointer; }
</style>
<script>
ZoomIn = true;
function goBack() {
window.history.back();
}
function myZoom() {
ZoomIn = !ZoomIn;
if(ZoomIn) {
document.getElementById('SpanImg').innerHTML = \"<img class='large' src = '".$fileImg."' width=".$width." height=".$height." onClick='javascript:myZoom();' alt='' title='cliquer pour reduire !'>\";
}
else {
document.getElementById('SpanImg').innerHTML = \"<img class='small' src = '".$fileImg."' width=".$widthS." height=".$heightS." onClick='javascript:myZoom();' alt='' title='cliquer pour agrandir!'>\";
}
}
</script>
</head>
<body bgcolor=\"#777777\" onload='javascript:myZoom()'>
<div align=\"center\" style='font-family:Arial, Geneva, Verdana, Tahoma, sans-serif;color:#FFFFFF;font-size:12px;'>
<table>
<tr>
<td align=\"center\">
<button onclick='goBack()'> Retour </button> ym viewver 2014</br>
<span id='SpanImg'>Faites [F5] si l'image ne s'affiche pas</span>
</td>
</tr>
</table>
<table width='".$Largeur."' border='1' style='border-collapse:collapse;' bordercolor='#AAAAAA'>
<tr>
<td align=\"center\">
".$Infos."
</td>
</tr>
</table>
</div>
</body>";
};
?>
Je recherche un plugin pour ajouter une date d'expiration pour les articles, existe t-il déjà ?
Sinon ça serai peut être un option intéressante à ajouter pour la suite ?
Pour le moment je vais chercher dans l'administration pour ajouter ça en brut.
Moi je suggèrerai, si quelqu'un est motivé, de faire un plugin qui indiquerait aux utilisateurs que le site utilise des cookies (avec un bouton valider).
Une petite question en passant : pluXml utilise des cookies ? Ou bien ce n'est que dans le cas où on installerait un plugin spécifique utilisant des cookies ?
Je recherche un plugin capable de générer dynamiquement une table des matières à partir des balises <h?>.
Je sais pas si ça a son importance, mais j'utilise plxToolbar pour l'édition.
En règle général, pour ces articles assez long, j'utilise article-full-width.php mais j'imagine que certains préféreront intégrer la table des matières dans <aside>.
Je ne sais pas si c'est quelque chose qui intéresse d'autres personnes que moi.
Il est à noter que, dans le tableau de résultat (preg_match_all($regex,$string,&$array)), on aura le nom de la balise en premier argument et le titre en second argument. Cela permet de construire aisément une TOC avec des indentations.
Sans pouvoir tester le code, je vois bien un truc de ce genre :
Y'a plus qu'à jouer en css sur les ul.toc li.h1, ul.toc li.h2, etc. pour définir des styles différents d'affichage en fonction de la profondeur du titre.
Le seul problème que je vois sur ma regex, c'est si un ">" apparaît dans l'un des paramètre de la balise h?. Par exemple ce texte sera mal matché :
Je viens d'écrire un plugin basé sur le lien précédemment donné.
Il faut l'activer et donner à la balise article du fichier article.php du thème utilisé, la class "article-content".
Mes remarques:
- la balise h1 me semble inutile car c'est le titre de l'article. (elle n'est même pas proposé par plxToolbar)
- seul les balises h1 et h2 semblent être prises en compte.
Je ne fait pas de remarque concernant le CSS.
Je vais réfléchir et voir comment je pourrait l'intégrer. A mon avis, il est préférable de le positionner en haut de l'article.
Oui, seules les balises h1 et h2 de l'article sont concernées. La balise h1 est utile si on veut revenir au tout début de l'article.
Si tu veux en ajouter ou en supprimer, il te suffit d'éditer le fichier Sommaire.js et d'ajouter (ou supprimer) un sélecteur dans la parenthèse
$(".article-content h1, .article-content h2")...
Pour adapter le css, il suffit de se rendre dans le panneau de gestion des plugins et d'éditer le css du plugin.
Réponses
à plus,
Gzyg
Shaarli le fait, mais pluxml a pas mal de fonctionnalités que shaarli n'a pas (les commentaires, le classement par catégories… je ne vais pas faire toute la liste )
Voir la page sur ce forum.
à plus,
Gzyg
Je trouve qu'il manque un lien "source" lors de la rédaction des articles et j'aimerais par conséquent pouvoir le rajouter via un plugin (dans la sidebar à la suite de "description", etc).
Je connais déjà le plugin champArt que j'utilisais jusqu'alors, mais c'est une usine juste pour un seul champ, de plus, quelques bugs ont fait leur apparition au fur et à mesure des évolutions de PluXML (normal, hein ! =]).
Quelqu'un de charitable serait-il capable de développer ce genre de plugin ou tout du moins m'aider à le créer. Je dois avouer que j'y comprends pas grand chose, même en me basant sur vignette et champArt.
Merci d'avance et bon courage à tous !
un plugin permettant de trouver tous les liens morts, liens brisés, à la fois dans les articles ET dans les commentaires
( voire, mieux, d'y arriver ensuite dans l'admin pour les corriger ou les supprimer directement )
quasiment à l'heure actuelle une chose indispensable quand on sait que beaucoup trop de sites finissent toujours par disparaître un jour et que pour un blog ayant déjà pas mal d'articles, de liens sortants via les posts ou les commentaires, c'est quasiment mission impossible manuellement ( même avec des logs comme Xenu d'ailleurs ...), indispensables également pour ne pas trop 'énerver' les bots des moteurs lorsqu'ils passent visiter le site....
je ne sais pas si cela est faisable, je ne sais pas si ça demandera beaucoup de ressources, mais ce serait un vrai " plus "
mes sites principaux : fonds d'écran gratuits - longue traîne - référencer votre site - brocante en ligne -
mais on en fait quoi de ce code ???
toi tu as de la chance, tu te comprends
mes sites principaux : fonds d'écran gratuits - longue traîne - référencer votre site - brocante en ligne -
Une autre chose également qui existe aussi pour Wordpress :
http://sourceforge.net/projects/wordpress-seo-stats/files/
je cite la description trouvée : plus que pas mal du tout et fort utile, si l'on pouvait l'avoir sous PluXml ce serait un vrai " + "
mes sites principaux : fonds d'écran gratuits - longue traîne - référencer votre site - brocante en ligne -
https://wordpress.org/plugins/subscribe-to-comments/
Cet article du Journal Du Net en parle :
http://www.journaldunet.com/solutions/saas-logiciel/plugin-wordpress/subscribe-to-comments.shtml
Salut,
pour mon site, j'ai créé un système de cache qui fonctionne très bien. Je n'en ai toutefois pas fait un plugin pour le moment, mais je peux y songer...
Si quelqu'un souhaite s'y mettre avant, je peux donner mon code sans problème ^^
J'avais écrit un billet sur ma façon de procéder: http://www.warriordudimanche.net/?article56/cache-cache-en-php
J'ai regroupé les fonctions de cache en un zip http://www.warriordudimanche.net/vrac/easy_cache.zip
J'ai fait de même pour les flux Rss : à l'époque j'utilisais une lib appelée Rsslib... J'ai depuis fait quelques scripts permettant de récupérer et créer simplement des flux rss... ça peut servir de base à un plug in... si ça intéresse quelqu'un, je peux m'y coller ;-)
Je ne sais pas si c'est le bon endroit pour poster mais je partage mon code que j'ai intégré sur pluXml.
Avant une version plugin, voici ci-dessous une "bidouille" php pour extraire les données exif de photos et les afficher.
Un lien sur la carte google map est également généré si des données GPS sont présentes dans les exif
1 - le lien html dans l'article de votre blog :
2 - les données exif à afficher et la configuration d'affichage sont inscrites dans la racine du blog dans le fichier exif.dat (voir plus bas)
3 - une page php qui fait office de viewver : ymsimg.php (voir plus bas)
4 - 2 fichiers image curseur (zoomin.cur et zoomout.cur à placer aussi dans la racine)
Si cela peut être utile ;-)
ym_trainz
lien utile : http://www.gpscoordinates.eu/convert-gps-coordinates.php
code du fichier exif.dat
code du fichier ymsimg.php
Je recherche un plugin pour ajouter une date d'expiration pour les articles, existe t-il déjà ?
Sinon ça serai peut être un option intéressante à ajouter pour la suite ?
Pour le moment je vais chercher dans l'administration pour ajouter ça en brut.
A ma connaissance ça n'existe pas ni en plugin, ni dans l'admin de PluXml. Je note l'idée dans le premier post.
Est-ce qu'il serait possible de créer une synchro StackEdit -> PluXml ?
(StackEdit est un éditeur markdown en ligne)
Merci, à plus,
Gzg
Je me permets de donner le lien du site, d'où j'ai pris le code : http://refok.fr/index.php?article48/cookies-js
Tout y est très bien expliqué, et très simple à installer ...
Oui mais se serait bien d'avoir un plugin tout fait pour les néophytes.
Je recherche un plugin capable de générer dynamiquement une table des matières à partir des balises <h?>.
Je sais pas si ça a son importance, mais j'utilise plxToolbar pour l'édition.
En règle général, pour ces articles assez long, j'utilise article-full-width.php mais j'imagine que certains préféreront intégrer la table des matières dans <aside>.
Je ne sais pas si c'est quelque chose qui intéresse d'autres personnes que moi.
Dans le texte ci-dessous, il matche "Titre 1" et "Titre 2".
Il est à noter que, dans le tableau de résultat (preg_match_all($regex,$string,&$array)), on aura le nom de la balise en premier argument et le titre en second argument. Cela permet de construire aisément une TOC avec des indentations.
Sans pouvoir tester le code, je vois bien un truc de ce genre :
Y'a plus qu'à jouer en css sur les ul.toc li.h1, ul.toc li.h2, etc. pour définir des styles différents d'affichage en fonction de la profondeur du titre.
Le seul problème que je vois sur ma regex, c'est si un ">" apparaît dans l'un des paramètre de la balise h?. Par exemple ce texte sera mal matché :
Mais bon, je ne vois pas bien pourquoi un ">" se retrouverait là-dedans...
Il faut l'activer et donner à la balise article du fichier article.php du thème utilisé, la class "article-content".
Je viens d'installer. Tout semble fonctionner.
Mes remarques:
- la balise h1 me semble inutile car c'est le titre de l'article. (elle n'est même pas proposé par plxToolbar)
- seul les balises h1 et h2 semblent être prises en compte.
Je ne fait pas de remarque concernant le CSS.
Je vais réfléchir et voir comment je pourrait l'intégrer. A mon avis, il est préférable de le positionner en haut de l'article.
En tout cas, bravo pour le travail.
Si tu veux en ajouter ou en supprimer, il te suffit d'éditer le fichier Sommaire.js et d'ajouter (ou supprimer) un sélecteur dans la parenthèse
Pour adapter le css, il suffit de se rendre dans le panneau de gestion des plugins et d'éditer le css du plugin.
je vais essayer de modifier le CSS mais c'est pas gagné.