Bonjour ![]()
Voici un exemple de la façon dont je l’utilise dans mon composant de thème.
Dans mon cas, j’utilise des paramètres pour cela car le composant modifie dynamiquement les icônes via CSS, ce qui me permet de cibler ces paramètres directement. (Ajouter une classe aux liens ne fonctionne pas toujours très bien dans certains cas.)
Cependant, pour votre composant, vous pouvez simplement exclure l’hôte actuel dynamiquement, quelque chose comme ceci, je pense :
import { apiInitializer } from "discourse/lib/api";
export default apiInitializer((api) => {
api.decorateCookedElement(
(element) => {
const currentHost = window.location.hostname;
const selector = `a[href*='//']:not([href^='/']):not([href*='${currentHost}'])`;
const links = element.querySelectorAll(selector);
links.forEach((link) => {
console.log("Lien externe :", link.href);
});
},
{ id: "external-link", onlyStream: true }
);
});