Abrir links internos na mesma aba do navegador

Muitos de nós colocamos o Discourse em um subdomínio e também temos um site na raiz, por exemplo, meta.discourse.org e discourse.org. No entanto, quando a configuração global de abrir links externos em uma nova guia por padrão está definida como Abrir links externos em uma nova guia por padrão, o sistema assume que todos os links que não são do fórum são externos — existe alguma maneira de adicionar domínios para que eles se abram na mesma guia do navegador? (Se não, seria possível adicionar essa opção, por favor?)

Existe uma configuração de hospitais internos permitidos, com a descrição: Uma lista de hospitaais internos que o Discourse pode acessar com segurança para oneboxing e outros fins — talvez seja possível simplesmente usar essa configuração e, ao adicionar domínios aqui, fazê-los abrir na mesma guia?

Isso parece ser uma necessidade muito específica, então sua melhor opção é fazer isso por meio de um tema ou plugin.

Eu gostaria de fazer isso em cada instância do Discourse que eu rodar, Rafael. Não consigo ver por que alguém não gostaria de fazer isso — se o site está no mesmo domínio interno/pai, você provavelmente gostaria que o link abrisse na mesma janela. Será que vale a pena criar uma enquete para coisas assim, para ter uma ideia do que as pessoas que usam o Discourse preferem? Acho que você pode se surpreender com os resultados :blush:

Qual é a melhor maneira de fazer isso, Rafael?

Tentei usar:

<script type="text/discourse-plugin" version="0.8.42">
	api.decorateCookedElement(
	  element => {
	    const tags = element.querySelectorAll('.hashtag');

	    tags.forEach(function(tag) {
				if (tag.hasAttribute('href')) {
					if (tag.href.includes("site.com/tag/")) {
						tag.href = tag.href.replace("site.com/tag/", "newsite.com/")
						tag.setAttribute("target", "_self");
					}
				}
	    });
    },
	  {
	    onlyStream: true
	  }
	);
</script>

E, embora:

tag.setAttribute("target", "_self");

configure o atributo, isso não tem nenhum efeito, pois os links continuam abrindo em uma nova aba normalmente.

Acho que preciso usar algo diferente de api.decorateCookedElement?