번호 아래 중첩된 인용 목록 기호가 포맷을 깨뜨립니다

인덱스 안에 불릿(목록)이 중첩된 게시글의 일부를 인용 버튼으로 인용하면, 중첩된 불릿의 들여쓰기가 더 이상 올바르게 적용되지 않습니다.

1. one
   - a
2. two
   - b

이 내용을 인용해 보세요:

  1. one
    • a
  2. two
    • b
- one
  - a
- two
  - b

그 다음 이 내용을 인용해 보세요:

  • one
    • a
  • two
    • b

첫 번째 예시는 인용할 때 들여쓰기가 잘못되어 깨집니다.

인용 전:

인용 후:

참고로, 들여쓰기가 올바르게 적용되려면 숫자 아래에 있는 불릿은 앞에 세 개의 공백이 필요합니다. 불릿 아래에 있는 불릿은 앞에 두 개의 공백만 있으면 됩니다. 인용 시에는 첫 번째 예시에서 앞의 세 개 공백 중 하나가 어떻게 사라지는지 모르겠지만, 이로 인해 포맷이 깨지는 것으로 보입니다.

5개의 좋아요

테스트 케이스

번호 매긴 목록의 특성상, Gmail이나 워드 프로세서에서도 같은 일이 발생합니다.

1개의 좋아요

음… 정확히 이해가 안 됩니다. 제가 아는 한 Google Docs에는 인용 기능이 없는데, Google Docs 문서 내에서 복사/붙여넣기를 할 때 이 문제를 발견하지 못했습니다.

아, 혹시 "HTML 복사/붙여넣기"도 같은 문제를 겪는다는 말씀이신가요?

네, 위 내용을 복사해서 여기에 붙여넣으면 다음과 같은 결과가 나옵니다:

이 내용을 인용해 보세요:

  1. one
  • a
  1. two
  • b

Google Docs에서 비슷한 텍스트를 복사해 오면, 다음과 같은 유사하지만 약간 다른 문제가 발생합니다:

  1. Foo
  • A
  1. Bar
  • B

겉보기에는 같은 문제로 보이지만, 게시글 인용 기능의 구현 방식에 대해 충분히 알고 있지 않아서 이것이 동일한 근본 원인을 가진 것인지 단정할 수는 없습니다…

Gmail에서 번호가 매겨진 항목 집합을 복사하여 붙여넣은 후 인용으로 표시하고, 그 사이에 텍스트를 삽입하면 각 항목의 번호가 1로 재설정됩니다.

이 문제를 어떻게 해결해야 한다고 제안하시나요?

이제 세 번째 문제에 대해 이야기하는 것 같은데…

여기서 제가 불만을 제기하는 것은 중첩된 목록 항목의 들여쓰기가 깨지는 문제입니다. 번호가 다시 매겨지는 문제는 아닙니다.

인용 전:

인용 후:

(원래 게시물에 해당 이미지들을 포함하도록 수정했습니다)

3개의 좋아요

Discourse는 MarkdownIt(CommonMark 스펙을 따름)를 사용하며, 해당 문제도 거기서 발생합니다:

4개의 좋아요

다만, 우리 인용 코드에서 이 문제를 쉽게 우회할 수 있다고 생각합니다. 여백 하나만 추가하면 해결되니까요…

VS:

[quote="Dave McClure, post:1, topic:266836, username:mcwumbly"]
이것을 인용해 보세요:

1. one
  * a
2. two
  * b
[/quote]

VS:


[quote="Dave McClure, post:1, topic:266836, username:mcwumbly"]
이것을 인용해 보세요:

1. one
   * a
2. two
   * b
[/quote]
6개의 좋아요

이 문제를 수정했는데… 복잡해서 머지하는 데 시간이 좀 걸릴 것 같습니다.

여기서 마크다운 규칙은 정말 악몽 같은 존재입니다.

https://meta.discourse.org/discourse-ai/ai-bot/shared-ai-conversations/iGMBwr74NSxJNNFqaPKgHA

추가로 재미있는 점:

  1. hello
    • 이렇게 하는 것이 올바른 방법입니다

  1. hello
  • 이는 설계상 동작하지 않습니다
100. hello
     - 이렇게 하는 것이 올바른 방법입니다

100. hello 
  - 이는 설계상 동작하지 않습니다