Aller au contenu

« Modèle:CopierSyntaxe » : différence entre les versions

De Wikiquestia
Aucun résumé des modifications
Aucun résumé des modifications
 
(7 versions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
<includeonly>
<includeonly>
<div class="syntax-copy-wrapper">
<div class="syntax-copy-wrapper">
<button type="button" class="copy-syntax-btn">📋 Copier la syntaxe</button>
<span class="copy-syntax-btn" role="button" tabindex="0">📋 Copier la syntaxe</span>
<pre class="syntax-to-copy">
{{{1}}}
</pre>
</div>
 
<script>
(function () {
  if (window.__copySyntaxInit) return;
  window.__copySyntaxInit = true;
 
  document.addEventListener('click', function (e) {
    if (!e.target.classList.contains('copy-syntax-btn')) return;
 
    var wrapper = e.target.closest('.syntax-copy-wrapper');
    if (!wrapper) return;
 
    var pre = wrapper.querySelector('.syntax-to-copy');
    if (!pre) return;
 
    var text = pre.innerText;
 
    if (navigator.clipboard && navigator.clipboard.writeText) {
      navigator.clipboard.writeText(text).then(function () {
        var original = e.target.textContent;
        e.target.textContent = '✔ Copié';
        setTimeout(function () {
          e.target.textContent = original;
        }, 1500);
      });
    }
  });
})();
</script>
</includeonly>
 
<noinclude>
<div class="documentation">
 
== Utilisation ==
Ce modèle ajoute un bouton **« Copier la syntaxe »** permettant de copier **exactement** le contenu fourni (retours à la ligne, indentation, balises HTML comme `<sup>`, etc.).
 
Il est conçu pour être utilisé dans les pages de **documentation de modèles**, notamment les **Infobox V3**.


---
== Syntaxe ==
<pre>
<pre>
{{CopierSyntaxe|
{{{1}}}
contenu à copier
}}
</pre>
</pre>
---
== Exemple fonctionnel (test immédiat) ==
Clique sur le bouton pour vérifier que la copie conserve **strictement** la mise en page.
{{CopierSyntaxe|
{{Infobox V3/Organisation
| Charte = organisation
| Theme  = clair
| Titre  = Ordre des Veilleurs
| Fondation = 18/13/480<sup>XII</sup>
| Type = Ordre militaro-religieux
| Rôle = Protection des frontières spirituelles
| Effectif = ~3 500 membres
| Fondateur·s = Maître Vaelor
| Dirigeant·s = Grand Veilleur Tharôn
| Crédo = « Veiller, juger, ne jamais fléchir »
}}
}}
➡️ **Colle ensuite le contenu copié dans un éditeur de texte** pour vérifier :
- retours à la ligne ✔
- indentation ✔
- balise `<sup>` ✔
---
== Notes techniques ==
* Le JavaScript est **injecté localement** (aucun `Common.js` requis).
* Le script est protégé contre les **doubles initialisations**.
* Compatible avec Firefox, Chromium, Safari.
* Fonctionne avec plusieurs boutons sur une même page.


</div>
</div>
</noinclude>
</includeonly>

Dernière version du 17 janvier 2026 à 22:47