P.S. 게시물을 작성하려고 했을 때 An error occurred: Sorry, new users can only put 2 links in a post.라는 팝업이 나타났습니다. 대부분의 스팸은 링크 하나면 충분하기 때문에 이 규칙이 어떤 종류의 스팸을 방지할 수 있는지 모르겠지만, 이제 잘 포맷된 마크다운 링크 중 일부를 텍스트 기반 각주로 대체해야 합니다. 기본 마크다운 편집기에서 각주를 추가하는 과정 자체가 버그가 많고 짜증이 나서 별도의 보고서를 작성할 가치가 있습니다.
P.S.S. 마크다운 기반 참조도 링크로 계산되는 것 같습니다. 유니코드 위 첨자 숫자로 대체합니다. 이 게시글을 작성하려고 시도한 지 40분째입니다.
STD 66 / RFC 3986¹(사람이 읽기 쉽게 추출된 목록²)에 따르면, URL의 단편(fragment) 또는 쿼리(queue)에서 81개의 문자는 이스케이프 없이 사용할 수 있습니다. Swift 프로그래밍 언어의 프레임워크 "Foundation³"에서 ASCII 순서로 정렬된 이 목록은 다음과 같습니다: !$&'()*+,-./0123456789:;=?@ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz~
다음은 이러한 문자 중 일부가 포함된 URL입니다: Example Domain '()*+,-./0123456789:;=?@ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz~ 보시는 것처럼 하이라이트가 특정 지점에서 잘립니다.
이 81개의 문자를 사용하여 단편에 바이너리 데이터를 인코딩하는(베이스64 방식과 유사하지만 더 컴팩트한) 제 프로젝트를 작업하면서, 현재 여러 웹사이트에서 사양에 맞는 하이라이트가 활성화되어 있는지 확인했습니다. 유사한 버그가 다른 곳(예: ~이 마지막 문자인 경우 마지막 문자를 하이라이트하지 못하는 GitHub 포럼)에도 일관성 없이 존재했지만, Discourse는 깨진 기호의 선택지가 가장 광범위합니다. 일부 문자는 미스터리한 컨텍스트에 따라 하이라이트가 깨지거나 안 깨질 수 있으므로, 포괄적인 목록을 작성할 수 있다고 생각하지 않습니다.
¹ Google rfc/rfc3986.txt
² Stack Overflow 답변 #26119120을 찾아보세요
³ Apple > Developer에서 documentation/foundation/nscharacterset/urlfragmentallowed를 찾아보세요
P.S.S.S. 일부 표준 이메일 주소도 하이라이트되지 않습니다. 제 두 번째 링크를 사용하여 https://e-mail.wtf로 가서 몇 가지 예를 확인해 보세요.
하이라이트되지 않지만 하이라이트되어야 하는 것:
orgmail(to John Doe)@example.com
“:(){ :|:& };:”@example.com
magic@[::1]