체크리스트는 항상 먼저 불릿 마커(* 또는 -)로 시작하는 것 아닌가요 [1, 2]? 그렇다면 정규식은 다음과 같이 매칭되어야 합니다: - [\*]
이 경우 더 이상 처음 세 글자 안에 해당하지 않으므로 건너뛰어집니다.
나중에 중첩된 체크박스가 있는 다른 사례들도 발견했습니다. 따라서 줄의 시작 부분이라고 가정하면 많은 유효한 사용 사례가 건너뛰어집니다.
P.S. 여기서 원포스터(OP)는 GFM 체크리스트 구문을 사용하지 않는다는 것을 깨달았습니다(8월 4일 @sam의 위키 변경 이후에만 해당하지만), 저는 오래전부터 그 구문을 사용해 왔습니다. Discourse가 마크다운 문서화를 위해 참조하는 것으로 보이는 CommonMark 사양은 아직 체크리스트를 지원하지 않는 것 같습니다. Discourse가 체크리스트 구문의 자체 변형을 만들고 있는 건가요? 더 다양화하는 것보다는 널리 인기 있는 GFM 구문을 따르는 편이 좋습니다.
마크다운의 큰 문제 중 하나는 공통 표준이 없다는 것입니다(CommonMark가 이를 해결하고 있습니다). 이로 인해 호환되지 않는 다양한 구현체들이 존재합니다. 이미 GFM이라는 hugely popular한 체크리스트 확장 기능이 있는데, 왜 또 다른 것을 발명해야 하는 필요성이 있을까요? 저는 Discourse 개발자들이 CommonMark와 마크다운 표준화에 관심을 두고 있다고 생각했습니다.
제 문제는 대체 문법을 지원하는 것에 대한 것이 아닙니다. 저는 포스텔의 법칙을 믿습니다(물론 최신 문법 변경, 즉 [*]에서 [x]로 변경될 때 위의 문제가 고려되었어야 한다고 생각합니다). 제 문제는 GFM과 호환되지 않는 문법을 플러그인 문서에서 홍보하는 것과, GFM과 유사한 작업 목록 문법을 새 형식으로 쉽게 마이그레이션할 수 있도록 지원하지 않는 것입니다. 이로 인해 제 Discourse 인스턴스에서 많은 페이지가 깨졌습니다. 제 첫 게시글(OP)을 참고해 주세요.