Привет ![]()
Вот пример того, как я использую это в своём компоненте темы.
В моём случае я использую настройки, так как компонент динамически меняет иконки через CSS, что позволяет напрямую обращаться к этим настройкам. (Добавление классов к ссылкам не всегда работает хорошо в некоторых случаях.)
Однако для вашего компонента вы можете просто динамически исключать текущий хостнейм, примерно так, как я думаю:
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("Внешняя ссылка:", link.href);
});
},
{ id: "external-link", onlyStream: true }
);
});