Modèle:CopierSyntaxe
Apparence
Utilisation
Ce modèle ajoute un bouton permettant de copier **exactement** une syntaxe (retours à la ligne, indentation, balises ``, etc.).
---
Syntaxe
{{CopierSyntaxe|
contenu à copier
}}
---
Exemple fonctionnel (test réel)
⚠️ Ceci est **un appel réel du modèle**, pas du code affiché.
<button type="button" class="copy-syntax-btn">📋 Copier la syntaxe</button>
{{{1}}}
<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>
👉 Clique sur le bouton puis colle ailleurs :
la mise en page est **strictement conservée**.
---
Notes techniques
- JS injecté localement (pas de `Common.js`)
- Protection anti double chargement
- Fonctionne avec plusieurs boutons par page