Summernote 다시 해도 될까?

easylogic
3 min readSep 3, 2024

--

https://www.summernote.org

라는 에디터가 있다.

지금은 많이 잊혀졌을 수도 있지만 한때는 github star 가 10k 를 넘었었다.

https://github.com/summernote/summernote

최근 4년 가까이 릴리즈를 하지 못하다가 다음 릴리즈를 하기 위한 논의를 하고 있다.

Summernote 프로젝트는 처음에 bootstrap 용 위지윅 에디터로 시작했었다.
그러다가 bootstrap 의 유행 지나가고 더 이상 많이 사용하지 않는 ui 라이브러리가 되는 바람에 lite 버전을 다시 만들었다.

그러는 사이 또 React나 상태 기반의 UI 라이브러리들이 나오면서
jQuery 를 떼어 달라는 요구사항을 많이 받는다.

bootstrap 과 jQuery 는 summernote 의 근간이 되었던 기술이다.

어떻게 해서든 bootstrap 은 없어도 되게끔 만들었는데, jQuery 는 도무지 방법이 나오지 않았다.

  • DOM 을 핸들링 하는 방식
  • UI 만드는 방식
  • 이벤트 지정하는 방식
  • 플러그인 제작 방식

등 모든 기능에 다 포함이 되기 때문에 그렇다.

그 때는 왜 그렇게 다 jQuery 기반으로 만들었는지 모르겠지만,
이미 만들어진 것을 돌리기는 생각보다 쉽지 않다.

최근의 에디터 들은 HTML 기반보다 스키마 기반으로 가고 있다.

ProseMirror 를 필두로 TipTap 과 같은 괜찮은 형태의 에디터들이 계속 나온다.
이런 에디터들은 모두 Schema 를 만들어서 넣으면 내가 원하는 영역에서 동작을 하게 된다.

HTML 기반은 처리해야하는 범위도 너무 크고, 버그가 생길 확률이 많아서
Schema 기반의 에디터들로 많이 넘어가는 추세다.

그럼에도 불구하고 그러니 아직까지 이슈들이 계속 올라오고 있는 것 보면
여전히 Summernote 를 사용하는 전세계 사이트들이 많은 것 같다.

조만간 작은 업데이트가 있을 것이다.

이것으로 서머노트 프로젝트를 완전히 다시 시작할지, 아닐지는 모르겠지만
오랜만에 옛날 코드들 보니깐 그 때 생각이 나서 좋네.

역시 코드는 오픈소스로 남겨놓는게 좋은 것 같다.

https://github.com/easylogic/react-summernote 도 최근에 업데이트 했다.
react 기반으로 summernote 사용해도 된다.

--

--

easylogic
easylogic

Written by easylogic

걸작을 만드는 사람. 에디터를 만드는 사람.

No responses yet