diff --git a/ecrire/inc/lien.php b/ecrire/inc/lien.php index 2bb3cf7d143afc3cc56765a078b1ab60ca71dfe9..6f812f108d94a118cd84b7d880b8425471f21dc4 100644 --- a/ecrire/inc/lien.php +++ b/ecrire/inc/lien.php @@ -36,11 +36,8 @@ function inc_lien_dist($lien, $texte='', $class='', $title='', $hlang='', $rel=' elseif (preg_match('/^\s*mailto:/',$lien)) # pseudo URL de mail $class = "spip_mail"; elseif (preg_match('/^<html>/',$lien)) # cf traiter_lien_explicite - $class = "spip_url"; - - // spip_out sur tous les liens externes - if (preg_match(',^https?://,S', $lien)) - $class = trim("$class spip_out"); + $class = "spip_url spip_out"; + elseif (!$class) $class = "spip_out"; # si pas spip_in|spip_glossaire // Si l'objet n'est pas de la langue courante, on ajoute hreflang if (!$hlang AND $lang!==$GLOBALS['spip_lang']) @@ -49,7 +46,12 @@ function inc_lien_dist($lien, $texte='', $class='', $title='', $hlang='', $rel=' $lang = ($hlang ? " hreflang='$hlang'" : ''); if ($title) $title = ' title="'.texte_backend($title).'"'; + + // rel=external pour les liens externes + if (preg_match(',^https?://,S', $lien)) + $rel = trim("$rel external"); if ($rel) $rel = " rel='$rel'"; + $lien = "<a href='$lien' class='$class'$lang$title$rel>$texte</a>"; # ceci s'execute heureusement avant les tableaux et leur "|". diff --git a/prive/spip_style.css b/prive/spip_style.css index 7f1ced012fb07d42f7b2d30f585a4387c819ff8d..089f038592383a52472bea2d3ce5a7d25c4b0444 100644 --- a/prive/spip_style.css +++ b/prive/spip_style.css @@ -52,7 +52,7 @@ a.spip_ancre {} /* liens internes a la page */ a.spip_in {} /* liens internes */ a.spip_mail { color: #900; } a.spip_mail:before { content: "\002709"; } /* liens vers un email */ -a.spip_out { color: #009; } /* liens sortants */ +a.spip_out,a[rel=external] { color: #009; } /* liens sortants */ a.spip_url { color: #009; } /* liens url sortants */ a.spip_glossaire { color: #060; } /* liens vers encyclopedie */ a.spip_glossaire:hover { text-decoration: underline overline; }