La description de la balise supprime target="_blank"

Sur certaines descriptions de mes balises, je souhaite ajouter un lien comme ceci :

<a href="https://store.sgiant.me" target="_blank">Cliquez ici</a> pour visiter la boutique officielle de Sir Giant.

Lorsque je le sauvegarde pour la première fois, cela fonctionne et s’ouvre dans une nouvelle fenêtre.
Lorsque je rafraîchis la page, cela ne fonctionne plus et lorsque je vérifie le code, il devient :

<a href="https://store.sgiant.me">Cliquez ici</a> pour visiter la boutique officielle de Sir Giant.

J’ai déjà activé l’option permettant d’ouvrir les liens externes dans un nouvel onglet sur “Oui”, mais cela ne semble pas affecter ce cas particulier où j’ajoute du code HTML.

ChatGPT a suggéré la création d’un composant avec l’onglet JS contenant :

import { apiInitializer } from "discourse/lib/api";

export default apiInitializer((api) => {
  function processTagLinks() {
    document.querySelectorAll('.tag-title-contents a[href^="http"]').forEach(link => {
      if (!link.href.includes(window.location.hostname) && !link.hasAttribute('data-processed')) {
        link.setAttribute('target', '_blank');
        link.setAttribute('rel', 'noopener noreferrer');
        link.setAttribute('data-processed', 'true');
      }
    });
  }

  // Process immediately
  processTagLinks();

  // Watch for DOM changes
  const observer = new MutationObserver(() => {
    processTagLinks();
  });

  observer.observe(document.body, {
    childList: true,
    subtree: true
  });

  // Also run on page changes
  api.onPageChange(() => {
    setTimeout(processTagLinks, 100);
  });
});

Mais je ne suis pas développeur et je ne sais pas si c’est une bonne solution ou pas.

Peut-être souhaitez-vous simplement ajuster Liens externes par défaut dans un nouvel onglet

Mais c’est ce que je veux dire par J'ai déjà cette option pour ouvrir les liens externes dans un nouvel onglet définie sur Oui

image

Cela n’affecte pas le HTML brut que j’utilise dans la description. C’est pourquoi j’ai dû trouver une solution de contournement.

1 « J'aime »