|
|
| (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> |