본문으로 건너뛰기

Portable Text 편집기

구조화된 서식 있는 텍스트로 검증, 참조, 진화가 가능한 콘텐츠를 만들고, 미래에 REZICS Markdown과 일대일로 변환할 방향도 보존합니다.

현재 상태사용 가능

Portable Text 서식 있는 텍스트 편집, 서식 도구, 링크, 스포일러, 이미지, 단위 언급, 슬래시 명령 진입점은 구현되었습니다. CodeMirror 6/Markdown 양방향 편집은 계속 확장 중입니다.

핵심 위치

REZICS는 서식 있는 텍스트를 불투명한 표시 마크업 조각으로 취급하지 않습니다. 편집기는 Portable Text 구조를 직접 다루므로 문단, 제목, 목록, 마크, 링크, 이미지, 단위 언급, 사용자 지정 블록을 모두 검증하고 변환하며 안전하게 렌더링할 수 있습니다.

편집기가 생성한 콘텐츠는 _type, _key, 문서 버전 의미를 지닌 Block Schema의 Portable Text 문서에 싸입니다. 저장할 때와 읽을 때 모두 다시 검증하며 컴파일 시점 타입만 믿지 않습니다.

지금 할 수 있는 일

  1. 일반 문단, 제목, 인용, 글머리표 목록, 번호 목록을 편집합니다.
  2. 굵게, 기울임꼴, 링크, 스포일러 같은 스타일 마크/주석을 적용합니다.
  3. 이미지와 지원되는 다른 블록을 삽입하고 검증합니다.
  4. 단위 언급으로 작품, 인물, 다른 정체성을 본문에 넣고 표시 텍스트만 저장하지 않습니다.
  5. 슬래시 명령/언급 진입점에서 구조화된 콘텐츠를 찾아 삽입합니다.
  6. 제품별로 쓸 수 있는 기능을 제한해 리뷰, 답글, 위키가 적법한 콘텐츠 형태만 사용하게 합니다.
  7. 외부 입력을 정규화하고 지원하지 않는 마크와 잘못된 URL을 명시적으로 대체 처리합니다.

Portable Text가 가져오는 것

Portable Text는 표현과 의미를 분리합니다. 링크 대상, 스포일러 마크, 단위 언급 ID, 이미지 자원은 모두 검증 가능한 형태를 가집니다. 렌더러는 원본 콘텐츠를 다시 쓰지 않고 콘텐츠 피드 미리보기, 글 상세, 다른 화면에 맞는 표시를 선택할 수 있습니다.

같은 콘텐츠에서 언어를 인식한 글자 수, 읽기 시간, 콘텐츠 지표도 계산할 수 있고 블록 정체성을 통해 미래의 문단 댓글과 더 세밀한 이력을 지원합니다.

CodeMirror 6와 REZICS Markdown

장기적으로는 CodeMirror 6로 일반 텍스트/코드 편집 기능을 제공하면서 사용자 지정 Portable Text 구조 사양과 REZICS Markdown 문법 사이의 일대일 의미 관계를 유지합니다. 목표는 한 번만 내보내는 것이 아니라 서식 있는 텍스트와 Markdown을 안정적으로 왕복하게 하여, 서식 있는 텍스트와 일반 텍스트를 자유롭게 전환하는 편집 경험을 만드는 것입니다.

이는 계속 확장 중입니다. 현재 쓸 수 있는 것은 Portable Text 서식 있는 텍스트 편집기이며, 아직 완성되지 않은 Markdown 전체 양방향 작업 흐름이 아닙니다.

관계와 경계

편집기는 콘텐츠 모델과 같지 않고, 키보드 조작 하나하나를 공식 이력으로 기록하지도 않습니다. 게시물 같은 제품이 필드와 권한을 결정하고, Block Schema가 문서를 검증하며, 발행 경계에서만 이력이 추적 가능한 수정본을 만듭니다.