Wikini

MotsWiki2Mots

PagePrincipale :: DerniersChangements :: DerniersCommentaires :: ParametresUtilisateur :: Vous êtes ec2-13-59-218-147.us-east-2.compute.amazonaws.com

Mots Wiki en 2 Mots par GouBs


Quelques explications sommaires
Pour que le mot Wiki apparaise en deux mots (et pris en compte comme tel par les moteurs de recherche) il suffit d'utiliser la syntaxe suivante Mot_Wiki et de faire la modification de code (mineure) suivante :


<?php
// Ligne modifiée ==> else if (preg_match("/[^[:alnum:]]/", $tag))
else if (preg_match("/[@:.-]/"$tag))
{
    
// check for email addresses
   
if (preg_match("/^.+\@.+$/"$tag))
   {
        
$tag "mailto:".$tag;
   }
   
// check for protocol-less URLs
   
else if (!preg_match("/:\/\//"$tag))
   {
     
$tag "http://".$tag;    //Very important for xss (avoid javascript:() hacking)
   
}
   
// is this an inline image (text!=tag and url ends png,gif,jpeg)
   
if ($text!=$tag and preg_match("/.(gif|jpeg|png|jpg)$/i",$tag))
   {
     return 
"<img src=\"$tag\" alt=\"$text\" />";
   }
   else
   {
     return 
"<a href=\"$tag\">$text</a>";
   }
}
else
{
// it's a Wiki link!
if ($_SESSION["linktracking"] && $track$this->TrackLinkTo($tag);
   
//Ligne modifiée ==>  return ($this->LoadPage($tag) ? "<a href=\"".$this->href($method, $tag)."\">".$text."</a>" : "<span class=\"missingpage\">".$text."</span><a href=\"".$this->href("edit", $tag)."\">?</a>");
   
return ($this->LoadPage($tag) ? "<a href=\"".$this->href($method$tag)."\">".str_replace('_',' ',$text)."</a>" "<span class=\"missingpage\">".str_replace('_',' ',$text)."</span><a href=\"".$this->href("edit"$tag)."\">?</a>");
}
?>


Voir démo sur : mon site
--GouBs

Avantages :

Inconvénients :

Conséquences (positives ou négatives ?) :


Ailleurs



Discussions

La piste est intéressante mais elle me paraît incomplète...
Les deux derniers sont considérés comme mots wikis : le devraient-ils ?
Personnellement, je trouve cette modification particulièrement intéressante et a priori peu impactante sur WikiNi. Je pense qu'il faut se laisser le temps de la réflexion, lister concrètement le pour et le contre, mais je verrais bien son intégration à WikiNi.
-- CharlesNepote


jmgriess - afin que cette contribution soit complète, il est nécessaire de modifier le fichier /formatters/wakka.php (vers la ligne 290) de la manière suivante :

<?
        // wiki links!
        else if (preg_match("/^[A-Z][a-z_]+[A-Z0-9][A-Za-z0-9_]*$/s", $thing))

//        else if (preg_match("/^[A-Z][a-z_]+[A-Z,0-9][A-Z,a-z_,0-9]*$/s", $thing))
        {
            return $wiki->Link($thing);
        }

?>


ainsi les MotsWiki2Mots recevront un lien de création [ ? ]


PagesSuiviesParGoubs
Commentaires [Cacher commentaires/formulaire]