재현 방법
게시물을 편집하고 링크 도구를 사용하세요. 예를 들어 /g/moderators와 같은 상대 URL을 입력하는 것은 어떤 Discourse 설치 환경에서든 적법해야 합니다.
링크 도구는 링크의 마크다운을 생성하지만, 앞에 "https://"가 붙도록 상대 URL을 확장합니다.
게시물을 게시하면, 최종적으로 생성되어 표시되는 링크가 실제로는 클릭 가능한 링크가 아님을 발견하게 됩니다.
여기처럼 깨진 링크입니다.
*슬픈 트롬본 소리*
잠깐, scheme:///path?
제 BNR(기본 지식)은 좀 녹슬었지만, RFC 1808에서는 권위(authority) 없이 스키마와 경로만 있는 것도 적법하다고 말하는 것 같습니다. 즉, https:///g/moderators는 완전히 적법합니다. 제가 시도해 본 몇몇 온라인 URL 파서도 동의합니다. 따라서 (인정하건대 좀 기이해 보이는 이러한 URL들은) A 태그의 HREF 속성 값으로 사용해도 전혀 문제없다고 생각합니다.
따라서 편집기의 링크 도구가 기술적으로 URL을 깨뜨리는 것은 아닙니다. 오류는 cook/render/어떤 단계에서 발생하는 것입니다.
우회 방법은 당연히 매우 간단합니다
스태프와의 이메일에서 들은 말은 이렇습니다: “그렇게 동작하는 겁니다.”
마크다운을 직접 작성하고 상대 URL을 사용하면 됩니다.
또는 링크 도구가 내 수프에 손을 담그고 있다는 것을 알아채고, 입력한 상대 URL이 되도록 https://를 직접 게시물 편집기에서 지워도 됩니다.
…하지만 몇몇 URL을 cmd|ctr-c로 복사하고, 단어를 입력한 뒤, opt-shift-화살표로 몇몇 단어를 선택하고, cmd-k를 누르고, cmd-v를 누르고, enter를 치면 모든 것이 링크로 연결되므로 이 방법이 더 빠릅니다.
수정 사항
다음 방법으로 수정되어야 한다고 생각합니다(최선의 수정안부터)…
- 링크 도구에서 상대 URL을 자동으로 완성하지 않기 (즉, 링크 도구 수정)
- 링크 도구가 스키마를 추가하도록 재작성하는 것을 고집한다면(상대 URL인 경우 브라우저는 어차피 동일한 스키마를 사용하므로 아무것도 하지 않는 행위이므로), 이러한 기이해 보이지만 올바른
scheme:///pathURL이 최종 HTML 렌더링에서 올바르게 cook(이게 올바른 동사인가요?)되어 링크가 작동하도록 하세요 (최종 cook/렌더링 수정) - 아니요? 그렇다면, 링크 도구가 상대 URL을 발견할 때 실제
scheme://authority로 URL을 자동으로 완성하도록 하세요 (이는 아마도 가장 넓은 사용자 기반에게 명확하게 보일 변경 사항일 것입니다: 상대 경로를 붙여넣지 않을 수 있는 수많은 Discourse 사용자들과, 상대적으로 수는 적지만 더 기술에 밝아 이것이 무엇을 하는지 이해할 수 있는 포럼 스태프, 관리자, 모더레이터들 사이에서 말입니다.) - 진심으로? 그렇다면 링크 도구에 상대 URL을 입력하는 것을 금지하세요 (하지만 이것은 그냥 악의적인 조치이며, 사람들이
cmd|ctl—k습관을 깨뜨리도록 강요합니다.) - 우선순위가 아닌 깨진 것들의 목록에 이 내용을 추가하세요
