Auto-Linkify Words

아마도 사람들이 모르는 것 같아서, 토픽에 검색어 연결 해결책을 찾아 이 게시글로 소개받게 되었습니다. 제 첫 번째 반응은 이 컴포넌트를 설치하는 것이었습니다. watched words라는 기능이 존재하는지조차 알지 못했습니다. 디스코스를 최적화하려 할 때마다 디스코스에 대해 얼마나 많은 것을 배우는지 정말 놀랍습니다.

문제가 없다면, 첫 번째 게시글을 수정하여 watched words가 존재하며 기본 제공 기능으로 적합할 수 있다는 것을 알리겠습니다. 또한 이 테마가 공식 테마로 표시되어 있으므로, watched words와 중복되는 기능이라면 비추천(deprecate) 처리하거나 첫 번째 게시글에 해당 사실을 명시해 주시면 좋겠습니다.

1개의 좋아요

기능 요청이 있습니다. 본문 텍스트에만 적용되고 제목에는 적용되지 않도록 하면 좋겠습니다. 제목에서 단어가 하나만 링크로 표시되면 어색해 보이거든요.

긴 콘텐츠에서 동일한 링크피(word)가 너무 많이 표시될 수 있습니다.
첫 번째만 링크로 표시하고, 나머지는 굵은 글씨로 표시하는 것이 더 나을 것 같습니다.

2개의 좋아요

확장 프로그램의 “제외 태그” 설정에 h1, h2 등을 추가하면 해당 작업을 수행할 수 있을 것 같은데, 맞나요?

맷, 고마워. excluded classes를 말하는 거였는데, 내가 그 전에는 뭔가 놓치고 있었나 봐. 하지만 안타깝게도 이게 작동하지 않아서, 기능 요청보다는 버그 보고라고 봐야 할 것 같아.

전에 올린 스크린샷은 클래스가 anchor인 h2 요소야.

아니요, 제가 말한 것은 태그입니다. 제 이해로는 HTML 태그이지, 디스코urs의 주제 태그가 아닙니다.

실제로, 맞습니다! Matt, 감사합니다. 저는 태그가 담화 태그라고 너무 집착하고 있었습니다. 도움을 주셔서 감사합니다.

1개의 좋아요

링크파워(linkify) 단어 여러 개를 동시에 가져올 수 있는지, 또는 Google Sheets의 관리 파일에 연결하기 위해 API를 사용할 수 있는지 알려주실 수 있을까요? 이 TC를 활용해 여러 개의 용어집(glossary)을 관리하고 생성하는 방법에 대해 아이디어가 있습니다.

이 테마 구성 요소는 흥미롭고 유용하다고 생각합니다. 하지만 키워드를 너무 많이 링크하고 있어서, 스팸을 줄이려면 첫 단어에만 링크를 연결하는 것이 적절합니다.

첨부한 이미지에서 하나의 키워드가 3번 반복되고 있습니다. 다음 업데이트에서 이 부분이 수정되기를 바랍니다.

3개의 좋아요

안녕하세요! 멋진 플러그인 감사합니다!

간단한 질문 하나만 드리고 싶은데요. 단어 앞에 공백이 없거나 뒤에 공백이 없는 경우에도 매칭이 가능한가요? 예전에는 단어 주변에 공백이 없어도 매칭이 되던 것 같은데.

2개의 좋아요

안녕하세요, 링크를 target=“_self"로 설정할 방법이 있을까요? 기본적으로 모든 링크가 새 탭(target=”_blank")에서 열리는데, 이 설정을 변경할 옵션을 찾을 수 없었습니다.

많은 도움 부탁드립니다.

https://meta.discourse.org/my/preferences/interface

에서 모든 외부 링크를 새 탭에서 열기를 검색하세요. 이는 모범 사례(Best Practice)이기 때문에 기본적으로 꺼져 있습니다. /admin/site_settings/category/all_results?filter=external%20links를 사용하여 모든 사용자의 기본값을 변경할 수 있습니다.

1개의 좋아요

이 설정은 게시물 내의 일반 링크에는 적용되지만, 저의 경우 이 컴포넌트가 생성한 링크는 항상 새 탭에서 열립니다. 이 설정이 여러분에게도 이 컴포넌트가 생성한 링크의 동작 방식을 변경하나요? 제가 놓치고 있는 것이 무엇인지 궁금합니다.

1개의 좋아요

아, 죄송합니다. 그 부분을 놓치고 있었습니다. 말씀이 맞습니다. blank로 하드코딩되어 있네요:

합리적인 기능 요청이라고 생각합니다.

잠깐. 정말로 주의를 기울이지 않고 있었습니다. 사용자 설정을 무시하고 하드코딩된 옵션이 있다면, 같은 창에서 열리도록 해야 합니다. 그것이 모범 사례입니다. 그리고 링크화된 링크가 외부가 아니라 Discourse 내부로 가는데 새 탭에서 열린다면, 그건 훨씬 더 의도치 않은 동작입니다.

3개의 좋아요

JavaScript(아래 코드 참조)로 이 문제를 해결하려고 해 봤는데, 간헐적으로만 작동합니다. Ember.js가 충돌을 일으키고 있는 것 같습니다. 그래서 이상적이지 않아요

<script>
	window.addEventListener("load", function() {
		document.querySelectorAll("a.linkify-word.no-track-link").forEach(function(link) {
			link.removeAttribute("target");
		});
	});
</script>

더 나은 해결책은 테마 컴포넌트를 포크하거나 PR을 제출하는 것입니다.

1개의 좋아요

얼마나 가치가 있는지는 모르겠지만, target=“_self"와 target=”_blank" 사이를 전환할 수 있는 백엔드 체크박스를 추가하는 방법에 대해 ChatGPT에게 물어보았습니다. 아래는 ChatGPT가 제안한 내용입니다:

settings.yaml 코드:

self_target:
  type: bool
  default: false
  client: true

initialize-discourse-linkify.js 코드:

  let createLink = function (text, url) {
	let link = document.createElement("a");
	link.innerHTML = text;
	link.href = url;
	link.rel = "nofollow";
	link.target = settings.self_target ? "_self" : "_blank"; // 관리자 설정을 여기서 사용
	link.className = "linkify-word no-track-link";
	return link;
  };

이게 작동할까요?