Icona Link Esterni

Ciao :waving_hand:

Ecco un esempio di come lo uso nel mio componente tema.

Nel mio caso, uso le impostazioni per questo perché il componente cambia dinamicamente le icone tramite CSS, permettendomi di indirizzare direttamente tali impostazioni. (Aggiungere una classe ai link non funziona sempre molto bene in alcuni casi.)


Tuttavia, per il tuo componente, puoi semplicemente escludere l’hostname corrente dinamicamente, qualcosa del genere, credo:

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("External link:", link.href);
      });
    },
    { id: "external-link", onlyStream: true }
  );
});