Réaiguiller un &laquo; SIGLE &raquo; vers sa définition - commentaires > Dico à la volée 2005-05-07T10:15:03Z https://files.spip.net/Reaiguiller-un-SIGLE-vers-sa#comment380900 2005-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ée 2005-05-07T09:54:15Z https://files.spip.net/Reaiguiller-un-SIGLE-vers-sa#comment380899 2005-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ée 2005-05-07T07:26:32Z https://files.spip.net/Reaiguiller-un-SIGLE-vers-sa#comment380894 2005-05-07T07:26:32Z <p>Merci pour cette contribution. L'article devient enfin vraiment intéressant avec ce filtre pluriel.</p> Dico à la volée 2005-05-06T23:06:00Z https://files.spip.net/Reaiguiller-un-SIGLE-vers-sa#comment380893 2005-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-UP 2004-12-11T00:41:49Z https://files.spip.net/Reaiguiller-un-SIGLE-vers-sa#comment239820 2004-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éfinition 2004-12-10T17:00:02Z https://files.spip.net/Reaiguiller-un-SIGLE-vers-sa#comment239751 2004-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>