프로젝트 개요
T2Editor는 WYSIWYG 에디터로, 설치된 폴더의 파일 구조를 보고 CMS를 스스로 판정합니다(10.5.0 CMS 어댑터 구조). "어느 CMS 모드"를 고르는 설정은 없으며, 놓치는 자리는 CMS마다 다릅니다.
| 대상 | 설치 위치 | |
|---|---|---|
| 그누보드5 | g5/plugin/editor/t2editor/ | |
| 라이믹스 2.1.x | rhymix/modules/editor/skins/t2editor/ (폴더 이름이 t2editor가 아니면 관리자 목록에 뜨지 않습니다) | |
| 스탠데얼론(CMS 없음) | 웹 루트 또는 원하는 경로의 t2editor/ 폴더 | |
| 워드프레스 | CMS 감지 대상이 아니라 워드프레스 업로드 연동 어댑터만 사용합니다(10.3.0) | 본 거시적 안내서는 에디터의 전체 구조, 데이터 흐름, 이벤트 흐름, 주요 기능군을 한눈에 이해할 수 있도록 구성되어 있습니다. |
이 문서는 2026-09-28에 v10.5.1 기준으로 다시 썼습니다. 9.x 이하 계열은 EOL이며 업데이트 대상이 아닙니다.
전체 디렉터리 맵
T2Editor 10.5.1의 루트 디렉터리는 아래 11개입니다.
- admin — 관리자 화면·자동 업데이트·확장 마켓·환경 점검 API (10.4.0 신규 통합 관리 페이지)
- config — 경로·권장·iframe 허용 목록 등 코어 설정과 엔드포인트
- css —
core.css·dark.css· 발행 본문용content.css - data — 업로드된 파일. 아래
t2editor_db/에 내부 데이터 격리(10.5.0 신규). 협업 데이터는 루트collab/가 아니라data/t2editor_db/collab/이며 에디터가 자동 생성합니다. 예전에 만든<t2editor>/collab/폴더가 남아 있으면 최초 실행 때 자동으로 새 위치로 옮겨집니다. 협업 코드는plugin/collab/에 있습니다. - extend —
php/(서버사이드) ·js/(클라이언트) ·locales/확장 (10.1.0 신규) - fonts — Material Icons 로컬 폰트
- integration/cms — CMS 감지·관리자 인증·데이터 경로·업로드 어댑터 4종(그누보드5·라이믹스·스탠더얼론·워드프레스) (10.5.0 신규)
- js — 코어 편집 로직과 PDF/HLS 번들
- locales — 한국어·영어·일본어·중국어 간체 UI 문구 (10.3.0 신규)
- plugin — 플러그인 15종
- vendor — 서드파티 런타임(hlsjs, nsfwjs + MobileNetV2 모델, TensorFlow.js 백엔드, p2p-media-loader)
배치별 데이터 경로가 다르다는 점은 N-05-cms-adapter-and-data-paths.md를 보십시오.
기능군 맵
T2Editor는 여러 기능군으로 나눌 수 있습니다:
- 텍스트 서식: 폰트 크기, 볼드, 기울임, 밑줄, 취소선, 정렬, 색상 및 배경색 지정.
- 미디어 삽입: 이미지, 동영상, 파일 업로드 및 미리보기 지원.
- 테이블 및 코드: 표 삽입 및 편집 도구, 코드 블록 삽입 기능.
- 검색 및 AI: 에디터 내 검색과 T2Search API 연동, AI 콘텐츠 생성 및 편집 기능.
- 추가 도구: 링크 삽입, 단축 링크/QR코드 생성, 그림 그리기, 협업 기능, HTML 내보내기 등.
- 국제화: 한국어·영어·일본어·중국어 간체 UI. 브라우저 언어를 자동 감지하고 에디터 하단 언어 메뉴에서 즉시 전환하며, 선택은 저장되어 다음 접속에도 유지됩니다(10.3.0).
- 영상 공유: 현재 재생 시점부터 시작하는 공유 링크, HLS P2P 재생, 같은 영상을 보는 이용자 간 브라우저 간 P2P 실시간 채팅(10.3.0).
- 관리자 기능: 버전 정보·라이선스·업데이트·확장 마켓·기본 설정·필터·툴바 아이콘·화면 크기별 메뉴 구성·업로드 종류와 용량·비밀번호를 한 화면에서 관리하는 통합 관리 페이지, 자동 업데이트, 확장 마켓(10.4.0). N-02-admin-console-guide.md
- 링크 미리보기 카드: 웹사이트 주소를 붙여넣으면 제목·설명·대표 이미지·사이트 이름을 표시하는 카드가 자동 생성되고, 원본 링크는 그대로 유지됩니다(10.3.0).
데이터 흐름 및 이벤트 흐름
에디터는 사용자의 입력 이벤트를 받아 편집 영역을 업데이트하고, 필요한 경우 서버와 통신합니다.
- 입력 이벤트: 키보드 및 마우스 입력은
js/core.js에서 처리되며, 서식 명령은 10.3.0부터js/format-engine.js의 표준 Selection/Range 경로가 1차로 처리합니다(이전 브라우저 호환용 보조 경로는 유지). IME 조합 입력 중에는 에디터의 별도 키 처리와 브라우저 입력이 중복 실행되지 않습니다(10.5.0). - 플러그인 이벤트: 각 플러그인은 자신의 이벤트 리스너를 등록하여 특정 명령을 수행합니다.
- 저장 및 불러오기: 자동저장은 브라우저 저장소를 쓰며, 10.5.0에서 현재 페이지·게시물 주소·에디터 ID를 기준으로 초안을 분리해 한 페이지의 여러 에디터가 서로 영향을 주지 않게 되었습니다. 브라우저의 사생활 보호 설정 등으로 저장소 사용이 제한된 경우에도 에디터는 중단되지 않습니다. 서버로 저장되는 것은 업로드 파일과 관리자 설정·협업 상태이며, 그 위치는 CMS에 따라 갈립니다(그누보드5
data/editor· 라이믹스files· 스탠더얼론t2editor/data, 내부 데이터는 그 아래t2editor_db/).
추천 읽기 순서
- 초보자와 웹마스터: 먼저 설치 방법, 사용 방법, 기능 소개를 읽은 후 각 플러그인 문서를 참조하세요.
- 개발자: core 파일 문서와 플러그인 개발 가이드를 읽고, UI 및 이벤트 흐름 문서로 넘어가세요.
참고 자료
- 기능 목록 및 버전 히스토리: DSclub T2Editor 서비스 페이지
- 설치 방법과 오류 대처: DSclub T2Editor 서비스 페이지 - 설치·오류 안내
- 설치 절차(3경로): 01-installation-guide.md
- 판본 호환 매트릭스: 06-version-compatibility-guide.md
- 오류 대응: 71-error-handling-guide.md
- 데이터 경로: N-05-cms-adapter-and-data-paths.md
- 서버측 정제와 게시 화면 스타일(10.5.1에 없는 것): N-06-server-sanitize-and-content-style.md