프로젝트 소개
Slate는 Medium, Dropbox Paper, Google Docs와 같은 편집기의 대안으로 자리 잡은 웹용 리치 텍스트 편집기 구축 프레임워크입니다. contenteditable 위에 플러그 가능한 계층으로 구현되며 React를 기반으로 하고 Draft.js, ProseMirror, Quill에서 영감을 받았습니다.
README에 설명된 주요 원칙:
- 최우선 플러그인: 플러그인이 중심이므로 라이브러리의 가정과 싸우지 않고 편집 경험을 커스터마이즈할 수 있습니다.
- 스키마 없는 코어: 코어는 문서 스키마에 대해 거의 가정하지 않으므로 댓글, 임베드, 표와 같은 도메인별 요구 사항을 위한 여지를 남깁니다.
- 중첩 문서 모델: 문서는 DOM과 같은 재귀적 트리이므로 표나 중첩된 블록 인용과 같은 복잡한 구성 요소를 지원하면서도 단순한 평면 구조도 허용합니다.
- DOM과의 병렬성: 데이터 모델은 중첩 트리, 선택 영역, 범위를 사용하며 표준 이벤트 핸들러를 노출합니다.
- 직관적인 명령: 문서는 읽기 쉽고 표현력 있게 설계된 고수준 명령을 통해 편집됩니다.
- 협업 지원 데이터 모델: 나중에 협업 편집을 계층화할 수 있도록 작업이 설계되었습니다.
- 명확한 코어 경계: 플러그인 우선 아키텍처와 스키마 없는 코어가 핵심 동작과 커스텀 동작을 분리합니다.
이 프로젝트는 Lerna로 관리되는 모노레포이며 여러 패키지를 포함합니다: slate(코어 데이터 모델 로직), slate-history(실행 취소/다시 실행 히스토리 플러그인), slate-hyperscript(JSX Slate 문서 작성을 위한 하이퍼스크립트 도구), slate-react(편집기 렌더링용 React 컴포넌트).
README는 Slate가 현재 베타 단계라고 언급합니다. 코어 API는 사용 가능하지만 고급 사용 사례에는 풀 리퀘스트가 필요할 수 있고, 일부 API는 확정되지 않아 변경될 수 있으며, 1.0 릴리스 일정은 없습니다. 또한 대기업의 지원보다는 기여자 주도로 운영되므로 개선과 수정은 자발적인 기여에 의존합니다.
문서에는 워크스루, 개념, FAQ, 리소스와 중국어 커뮤니티 번역이 포함됩니다. 라이브 데모와 예제 모음이 링크되어 있으며 일반 텍스트, 리치 텍스트, Markdown 미리보기, 인라인, 이미지, 호버링 툴바, 표, 붙여넣은 HTML, 멘션을 다룹니다. 이 프로젝트는 MIT 라이선스를 따릅니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.