보충 설명을 하자면, 우선 이 부분은 코어가 반드시 지원해야 한다고 강력히 원하고 있으며, 복잡성에 대해서도 자세히 짚어볼 가치가 있습니다.
Discourse 코어는 TEXTAREA에 대해 수많은 API를 직접 사용합니다. @mentions, 툴바를 통한 텍스트AREA 삽입, 업로드, 이미지 잘라내기 및 붙여넣기 등 다양한 기능이 해당됩니다.
이 모든 기능은 추상화되어 있지 않으며, TEXTAREA와 상호작용한다고 전제하고 있습니다. 여기에 contenteditable을 직접 추가한다면, TEXTAREA를 정확하고 정밀하게 시뮬레이션해야 하는데, 이는 실패할 가능성이 높습니다. 따라서 요소를 교체할 수 있는某种의 프로바이더 프레임워크를 구축하려면 상당한 작업이 필요합니다.
참고:
Highlighter는 양방향 마크다운-텍스트 매핑에 대해 걱정할 필요가 없으므로, 이 방향으로의 훌륭한 첫걸음이 될 수 있습니다.
TEXTAREA를 숨긴 후 그 위에 contenteditable을 렌더링하고, 이벤트를 원본으로 전달하는 닌자 같은 해킹 방법이 있을 수 있지만, 그 경우에도 @mention 위치 지정 로직을 재구현해야 합니다.