구두점 때문에 마크다운 굵게 표시가 작동하지 않음

**你好。**好的
**hello.**yes

위에서 볼 수 있듯이 굵은 글씨 표시가 작동하지 않습니다.

안녕하세요. 좋습니다

안녕하세요. 좋습니다

안녕하세요. 좋습니다

에? **를 쓰든 B 버튼을 쓰든 굵은 글씨체가 적용됩니다. 마크다운 에디터와 RTE에서도 마찬가지입니다.

**안녕하세요. 좋습니다.**안녕하세요

마지막 ** 앞에는 구두점이 있고, 바로 뒤에 글자가 이어집니다. 한번 시도해 보세요.

아래 형식은 작동하지 않습니다
**+글자+구두점+**+글자

hello. Okey. some text

And

hello okey without punctuation

But if we don’t use space after punctuation and ending ** that happens:

**hello okey.**text
**hello okey.**text

Versus

**hello okey.** text
hello okey. text

I don’t know if this is a bug or a feature of markdown, or something.

문제는 별표 앞의 구두점이 아니라, 별표 바로 에 공백 없이 텍스트가 오는 것 때문이라고 생각합니다.

구두점 포함. 공백 있는 텍스트
**구두점 포함.**공백 없는 텍스트

**구두점 포함.** 공백 있는 텍스트
**구두점 포함.**공백 없는 텍스트

저는 압니다. 마크다운의 기본 동작입니다. :slight_smile:

2개의 좋아요

마크다운에서 잘 알려진 문제이며, 마크다운 파서를 변경할 수 없으면 해결할 수 없습니다.

제 우회 방법은 <span></span>을 사용하는 것입니다.

**是的。**<span></span>对的。 是的。对的。

CommonMark에 따르면, **가 강조(strong emphasis)를 닫을 수 있는 경우는 그것이 우측 경계자(delimiter) 연속의 일부일 때뿐입니다. 구두점(.) 뒤에 위치하고 단어 문자(t) 앞에 오는 경계자는 우측 경계자가 아니므로 닫을 수 없습니다. markdown-it은 이를 문자 그대로의 텍스트로 해석합니다. 동일한 규칙이 *, _, __에도 적용됩니다.

이 부분은 우리가 스펙을 따르고 있기 때문에 크게 할 수 있는 일이 없다고 생각합니다. 하지만 이 문제를 통해 리치 에디터 마크다운 직렬화기(serializer)에 버그가 있음을 알게 되었습니다. UI를 사용하여 이 상황(**text.**text)을 만들면 리치 에디터에서는 올바르게 표시되었지만, 렌더링된 결과(cooked)는 일반 텍스트로 표시되었습니다. 이 PR은 강조 영역에서 구두점을 제외하도록 하여 이 시나리오를 해결했습니다. 그 결과 text.text(**text**.text)가 됩니다.

3개의 좋아요

아직도 이 버그를 재현할 수 있습니다. 마크다운 에디터로 전환하거나 게시한 후에야 구두점이 밖으로 이동합니다.

리치 에디터로 테스트: 텍스트.텍스트

구두점은 여전히 처음부터 굵게 표시됩니다

이것은 의도된 동작이며, 마크다운 직렬화 과정에서 강조 표시에서 (거의 눈에 띄지 않는) 구두점을 제거하는 타협을 통해 텍스트의 의도적인 강조가 깨지는 것을 방지하기만 합니다.

1개의 좋아요