Generic [wrap]/Markdown-it 커스텀 토큰 유형으로 인해 RTE에서 오류 발생

우선순위/중요도: 낮음?

플랫폼: 새로운 RTE를 사용하는 장치.

설명: 이전에 markdown-it 엔진만으로도 정상 작동하던 사용자 정의 토큰 유형을 생성하면 ProseMirror에서 오류가 발생합니다. 파싱된 DOM을 처리할 ProseMirror 스키마가 없기 때문에 모든 사용자 정의 토큰 유형이 오류를 일으킵니다. 마찬가지로 BBCode를 사용하여 RTE와 Markdown 간을 전환할 때도 동작 문제가 발생합니다.

재현 단계:

RTE 우선:

  1. 편집기 열기
  2. 모드를 RTE로 설정
  3. 사용자 정의 BBCode 삽입.
    a. 예: Discourse Meta의 경우 [wrap=test2 user-id=1]Content[/wrap]
  4. 오류를 무시하고 RTE 모드와 md 모드 간 전환.
    a. BBCode가 이스케이프 처리됨

Markdown 우선:

  1. 편집기 열기
  2. 모드를 Markdown으로 설정
  3. 사용자 정의 BBCode 삽입.
  4. md 모드와 RTE 간 전환.
    a. BBCode가 표시되지 않음
  5. 원본(raw)을 확인하기 위해 다시 전환.

현재 우회 방법:
대신 Markdown 모드만 사용.


오류 자체는 큰 문제가 되지 않지만, 더 큰 문제는 전환하거나 코드를 삽입할 때 발생하는 이상한 동작입니다.

이상적인 해결책은 모든 마크다운 플러그인이 이를 처리하기 위한 적절한 위저드/ProseMirror 스키마를 생성하는 것입니다.

범용 [wrap] bbcode에 관해서는, 동일한 Discourse 인스턴스에서 여러 구성 요소가 범용 bbcode를 사용할 수 있으므로 그냥 일반 텍스트로 두는 것이 최선일 수 있습니다. 이상적인 해결책은 개발자가 사용자 정의 위저드를 생성하고 출력을 자체 구현에 맞게 일치시키도록 하며, 매칭이 발견되지 않으면 일반 텍스트로 폴백하도록 하는 것입니다.

더 일반적으로, ProseMirror 사용을 위해 업데이트되지 않은 기존 플러그인들에 대해 이스케이프 처리되거나 숨겨지지 않은 일반 텍스트로 기본 설정하는 것이 좋은 중간 폴백이 될 것입니다.

3개의 좋아요

리포트 감사합니다. @renato가 이러한 엣지 케이스를 주시하고 있으며, wrap은 특정 테마 컴포넌트에 대해 우리의 기본 선택이었습니다. 작동하도록 수정하겠습니다.

2개의 좋아요

마크다운에 갤러리 태그 [grid]를 추가한 후 WYSIWYG 모드로 게시물을 다시 편집하면 유사한 오류 메시지가 표시됩니다.

문제가 이미 인지되어 작업 중이라는 것은 알고 있습니다. 다만 실제 오류 메시지를 추가합니다:

No parser processed bbcode_open token for tag: div, attrs: [["class","d-image-grid"]]

이 문제를 경험한 후 메타에서 이 문자열을 검색할 사람들을 위해 공유합니다. (저처럼요) :slight_smile:

1개의 좋아요

해당 문제를 인지하고 있으며, 현재 해결 작업을 진행 중입니다. 몇 주 안에 해결될 예정입니다.

3개의 좋아요

나도 같은 문제를 겪었습니다. 해결되고 있는 걸 보니 다행입니다.

Grid를 사용하면 사용자가 게시물에 여러 이미지를 업로드했을 때 엉망이 되는 대신, 게시물 외관이 훨씬 깔끔하고 아름답게 보입니다.

[wrap]가 이제 리치 에디터에서 지원됩니다. 이 이슈는 닫겠습니다. 문제가 발견되면 언제든지 새로운 주제를 열어 주세요.

1개의 좋아요