Réaiguiller un « SIGLE » vers sa définition - commentaires> Dico à la volée2005-05-07T10:15:03Zhttps://files.spip.net/Reaiguiller-un-SIGLE-vers-sa#comment3809002005-05-07T10:15:03Z<p>Ooups, j'ai confirmé au lieu de continuer à modifier...</p>
<p>J'en étais à <i>Un exemple vaut mille discours : Je veux pouvoir mettre des liens vers Google-News avec un raccourci de la forme [#ggn Logiciel libre].</i></p>
<p>Si je vais avec mon <a href="http://www.mozilla-europe.org/fr/products/firefox/" class="spip_out" rel='nofollow external'>butineur favori</a> sur Google-News pour trouver les nouvelles relatives au Logiciel Libre (au hasard), je me rends compte que l'URL est : <a href="http://news.google.fr/news?hl=fr&q=logiciel+libre&ie=ISO-8859-1" class="spip_url spip_out auto" rel="nofollow external">http://news.google.fr/news?hl=fr&q=logiciel+libre&ie=ISO-8859-1</a> (bon, j'ai un peu ôté de l'URL quelques paramètres peu importants).</p>
<p>Si je veux ajouter ce «<small class="fine d-inline"> </small>dico<small class="fine d-inline"> </small>» à mes raccourcis possible, je modifie mon filtre de la sorte :</p>
<div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code> $dicos = array( 'fwp' => 'http://fr.wikipedia.org/wiki/%s', 'wp' => 'http://www.wikipedia.org/wiki/%s', 'lexique' => '/spip.php?rech=%s' );</code></pre></div>
<p>Devient</p>
<div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code> $dicos = array( 'fwp' => 'http://fr.wikipedia.org/wiki/%s', 'wp' => 'http://www.wikipedia.org/wiki/%s', 'ggn'=> 'http://news.google.fr/news?hl=fr&q=%s&ie=ISO-8859-1', # Ajout ici 'lexique' => '/spip.php?rech=%s' );</code></pre></div>
<p>Et à partir de maintenant, je peux faire des liens vers la page d'actualités de Google avec [#ggn les termes que je veux]<small class="fine d-inline"> </small>!</p>
<p><strong>Note aux auteurs</strong> : les liens ne sont pas visibles dans l'interface privée, qui ne fait pas appel aux filtres, ne vous inquiétez pas, c'est <i>normal</i><small class="fine d-inline"> </small>!</p>
<p>A quand l'intégration dans les raccourcis standards de SPIP<small class="fine d-inline"> </small>?</p>> Dico à la volée2005-05-07T09:54:15Zhttps://files.spip.net/Reaiguiller-un-SIGLE-vers-sa#comment3808992005-05-07T09:54:15Z<p>Bon, comme ça plait, j'améliore un peu le code<small class="fine d-inline"> </small>!<small class="fine d-inline"> </small>;-)</p>
<div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>function x_dico($tartine){ $dicos = array( 'fwp' => 'http://fr.wikipedia.org/wiki/%s', 'wp' => 'http://www.wikipedia.org/wiki/%s', 'lexique' => '/spip.php?rech=%s' ); return preg_replace('/\[#(\S+)\s+(.*)\]/Ue', "sprintf('<a href=\"'.\$dicos['$1'].'\" class=\"dico\">%s</a>', urlencode('$2'),'$2');",$tartine);
}</code></pre></div>
<p>Ca ne change pas les fonctionnalités, mais c'est plus générique, comme solution.<br class="autobr">
Pour ajouter un nouveau dico, il faut lui choisir un sigle qui sera utilisé dans la balise de l'article et lui associer l'URL du dico/lexique où %s sera remplacé par ce qui sera entre les crochets.</p>
<p>Un exemple vaut mille discours :<br class="autobr">
Je veux pouvoir mettre des liens vers Google-News avec un raccourci de la forme <code class="spip_code spip_code_inline" dir="ltr">[#ggn Logiciel libre]</code>.</p>> Dico à la volée2005-05-07T07:26:32Zhttps://files.spip.net/Reaiguiller-un-SIGLE-vers-sa#comment3808942005-05-07T07:26:32Z<p>Merci pour cette contribution. L'article devient enfin vraiment intéressant avec ce filtre pluriel.</p>Dico à la volée2005-05-06T23:06:00Zhttps://files.spip.net/Reaiguiller-un-SIGLE-vers-sa#comment3808932005-05-06T23:06:00Z<p>Voilà une sorte de filtre qui permet de gérer ce dico à la volée (on suppose que «<small class="fine d-inline"> </small>la volée<small class="fine d-inline"> </small>» signifie avoir recensé quelques dico et autres lexiques au prélable, ici Wikipedia francophone, Wikipedia anglophone et un lexique par défaut) :</p>
<div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>function x_dico($tartine){
$dicos = array( 'fwp' => 'http://fr.wikipedia.org/wiki/', 'wp' => 'http://www.wikipedia.org/wiki/', 'lexique' => '/spip.php?rech=' );
return preg_replace('/\[#(\S+)\s+(.*)\]/Ue',"sprintf('<a href=\"%s$2\" class=\"dico\">$2</a>', \$dicos[\"$1\"]);",$tartine);
}</code></pre></div>
<p>============================ Texte Article test ============================</p>
<div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>Voici un article qui parle de [#fwp GNU] et pas d'[#wp Emacs], dommage ! Par contre, il parle d'[#lexique écologie numérique].</code></pre></div>
<p>============================ /Texte Article test ============================</p>
<p>Dans le squelette, j'ai (#INTRODUCTION|x_dico) ou (#TEXTE|x_dico)</p>Afficher le SIGLE dans un POP-UP2004-12-11T00:41:49Zhttps://files.spip.net/Reaiguiller-un-SIGLE-vers-sa#comment2398202004-12-11T00:41:49Z<p>On peux certainement même également ajouter un javascript du genre :</p>
<div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><a href="http://acro.ecole.free.fr/spip.php?rech=$1" class="dico" target="spip_pass" onclick="javascript:window.open(this.href, 'spip_pass', 'scrollbars=yes, resizable=yes, width=480, height=450'); return false;">$1</a></code></pre></div>
<p>Ce qui donnerait le script suivant (non testé) :</p>
<div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>function mon_dico($tartine){
return preg_replace('/\[#(.*)\]/U','<a href="http://acro.ecole.free.fr/spip.php?rech=$1" class="dico" target="spip_pass" onclick="javascript:window.open(this.href, 'spip_pass', 'scrollbars=yes, resizable=yes, width=480, height=450'); return false;">$1</a>',$tartine);
}</code></pre></div>> Réaiguiller un « SIGLE » vers sa définition2004-12-10T17:00:02Zhttps://files.spip.net/Reaiguiller-un-SIGLE-vers-sa#comment2397512004-12-10T17:00:02Z<p>L'idéal évidemment, ce serait d'avoir un dico par défaut, et de pouvoir en spécifier un à la volée <code class="spip_code spip_code_inline" dir="ltr">[?terme->mondico]</code> mondico étant un nom symbolique défini dans la config ou une url complete.</p>
<p>Le nom symbolique a l'avantage de pouvoir changer une URL globalement.</p>