이모지 바로 가기 설정에서 백슬래시로 이스케이프할 수 있어야 합니다

이모지 단축키 활성화 설정이 켜져 있으면 :)과 같은 이모티콘이 실제 이모지(:slight_smile:)로 변환됩니다. 하지만 앞에 단순히 백슬래시(\:))를 붙여 이를 우회할 수 없습니다. 이는 이스케이프가 작동하는 다른 기능들과 일관성이 없으며, Discord에도 유사한 설정이 있습니다:

image

하지만 Discord에서는 이것이 강제되지 않습니다. :-)을 그대로 표시하고 싶다면 앞에 백슬래시를 붙이면 원하는 대로 표시됩니다.

현재 이 기능을 우회하려면 중간에 영점 폭 문자를 사용하거나, 렌더링되지 않는 각괄호 안에 문자를 감싸는 등의 방법을 사용해야 합니다. 예를 들어:

:<g>), :​)

이처럼 이모지를 작성하는 방식에 대해 조금 더 자유도를 원하는 사용자에게 불편한 사용자 경험(UX)을 초래합니다.

8개의 좋아요

이것은 단순히 단축키가 아니라 모든 이모지입니다. 앞부분이 있는 경우 이모지 사용을 중단하도록 변경하는 것에 반대하지는 않습니다.

즉:

\:thinking: 은 \`thinking` 과 \*thinking* 와 동등합니다

:thinking: 은 `thinking` 과 *thinking* 과 동등합니다

5개의 좋아요

Roblox 개발자 포럼(Discourse 기반)에 이 문제에 대해 게시글을 올렸는데, 나도 동의합니다. 이모지를 사용하지 않으려면 항상 빈 문자나 다른 기호를 입력해야 하는 건 좀 귀찮거든요. 이모지는 게시글을 다소 비전문적으로 보이게 할 수 있고, 때로는 : 같은 표정을 넣고 싶은데 :은 쓰고 싶지 않은 경우도 있습니다.

이 부분이 개선되길 바랍니다. (“오픈소스이고 그런 것들이라 업데이트가 안 될 것 같긴 하지만요;”)

사실 이 주제를 발견한 건, 내가 우연히 같은 문제에 부딪혔기 때문이에요 (스마일리를 회피하려고 했는데, 아쉽게도 이모지가 되면서 제 이스케이프 문자까지 삼켜버렸네요 … 이 대담함, 하하)

백틱()에서는 이미 이를 우회하는 방법이 존재합니다. 예를 들어 :slight_smile:또는:)`처럼요. 또한 코드 블록도 해당됩니다. 동일한 목표를 달성하기 위해 더 많은 방법을 정말로 필요로 하는지 확신이 서지 않습니다.

제가 하려는 말은 실제 대화에서 이모지를 사용하는 것에 관한 것이었는데, 앞에 백슬래시가 있는 경우 이모지를 렌더링하지 않고 이모티콘으로 유지하면 되지 않나요?

``는 인라인 코드를 위해 사용되는 것이므로, 코드를 사용하는 프로그래밍에 대한 토론이 아니라면 코드 블록을 사용하는 것은 의미가 없습니다. 설령 그런 경우라도, 인라인 코드는 일반적으로 단일 코드 라인이나 클래스/멤버 이름 등을 강조하는 데 사용되므로 여전히 의미가 없습니다.

1개의 좋아요

그렇지 않습니다. 예를 들어 <a>를 입력하면 HTML이 렌더링을 시도합니다. 따라서 인라인 코드 블록으로 렌더링하는 것이 예상되는 방식입니다.

이미 처리 방법이 있는 문제에 귀중한 엔지니어링 시간을 쓰길 원하는지는 잘 모르겠습니다.

이 이슈에 PR을 환영합니다. 15분 정도 살펴봤는데, 간단한 수정 방법은 없습니다.

파서가 이스케이프 코드를 소비해 버리기 때문에, 우리가 해당 코드를 받게 될 때는 이스케이프가 있었는지 알 수 없습니다.

여기에 어떤 수정이 존재하든, markdown.it을 해킹하고 패치를 업스트림에 올리는 작업이 포함될 것입니다. 매우 매우 복잡합니다 … @Vitaly 님에게 알림

https://markdown-it.github.io/ 에서도 동일한 문제가 발생합니다.

업스트림에 티켓을 여시는 것을 권장합니다. 다만 이 경우 텍스트 토큰에 "텍스트 토큰의 원래 원시 데이터"를 주석으로 추가해야 할 수 있습니다.

이 작업의 난이도는 95 수준입니다.

4개의 좋아요

이 버그는 “언더스코어가 오토프링크를 깨뜨리는” 문제와 유사한 설계 결함을 가지고 있지만, 특정 해킹(kludge)이 가능할 수도 있습니다. 어떤 조치가 가능한지 살펴보겠습니다.

생성된 이슈: Postpone escape info drop · Issue #840 · markdown-it/markdown-it · GitHub

2개의 좋아요

전적으로 동의할 수 없습니다. ":)"는 단순히 ":)"과 같지 않습니다.

그래도 이 문제로 시간과 돈을 낭비할 일은 아니라는 점에는 동의합니다. 짜증나지만, 이해할 수 있는 부분입니다.

@Vitaly 님이 v13에서 수정한 것 같네요. 해당 버전으로 업그레이드할 예정입니다.

2개의 좋아요

포럼의 한 사용자가 이 서식 문제를 불평했고, 우리 사용 사례에 대한 해결책으로 이모지 자동완성을 비활성화했지만, discourse가 markdown-it v13으로 업그레이드된 지 꽤 됐는데도 문제가 지속되는 반면, https://markdown-it.github.io/ 에서는 백슬래시 이스케이프가 작동합니다.

여기에서 표시된 것처럼 ember.js가 여전히 markdown v12에 의존하고 있기 때문일 수 있나요?

지금 13번까지 온 것 같은데… @david 에게 알리고, 이슈는 여전히 남아 있습니다.

우리는 자체 이모지 구현을 가지고 있는 것 같습니다 - markdown-it의 것을 사용하지 않습니다.

(단축키는 여기에서 정의되고, 여기에서 참조됩니다. 치환 로직은 여기에 있습니다)

3개의 좋아요

아, 그러면 이거 꽤 간단하게 고칠 수 있겠네 (역시 마지막 말은 틀려지는 법)

이제 작업을 시작합니다. :slight_smile:

수정: 생각보다 더 어려울 것 같아요. :upside_down_face:

2개의 좋아요