내부 링크를 같은 브라우저 탭에서 열기

우리 중 많은 분들이 디스코스를 서브도메인에 설치하고 루트에 별도의 사이트를 두고 있습니다. 예를 들어 meta.discourse.org와 discourse.org처럼요. 그런데 기본적으로 다른 외부 링크를 새 탭에서 열기라는 전역 설정을 외부 링크를 기본적으로 새 탭에서 열기로 설정하면, 포럼이 아닌 모든 링크를 외부 링크로 간주합니다. 같은 브라우저 탭에서 열리도록 도메인을 추가할 수 있는 방법이 있을까요? (없다면 이 옵션을 추가해 주실 수 있을까요?)

허용된 내부 호스트라는 설정이 있는데, 설명은 디스코스가 원복싱(oneboxing) 및 기타 목적으로 안전하게 크롤링할 수 있는 내부 호스트 목록입니다. 이 설정을 그대로 활용해서 여기에 추가된 도메인은 같은 탭에서 열리도록 처리하면 어떨까요?

매우 구체적인 요구사항으로 보이므로, 테마/플러그인을 통해 구현하는 것이 가장 좋습니다.

솔직히 라파엘, 내가 운영하는 모든 Discourse 인스턴스에서 이렇게 하고 싶을 것 같아. 왜 그렇게 하고 싶지 않은 사람이 있을까? 사이트가 동일한 내부/부모 도메인이라면 링크가 같은 창에서 열리도록 하고 싶을 거야. 이런 것들에 대해 투표进行调查을 열어, Discourse를 사용하는 사람들이 무엇을 선호하는지 파악해 보는 게 어떨까? 결과에 놀라실 수도 있어 :blush:

라파엘, 이걸 하는 가장 좋은 방법은 뭔가요?

아래처럼 시도해 봤는데:

<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>

그리고:

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

이 코드는 속성은 설정해 주지만, 아무런 효과가 없어 링크가 평소처럼 새 탭에서 열립니다.

api.decorateCookedElement 대신 다른 것을 사용해야 하는 것 같네요.