Giting.
낮의 Giting
홈 › 스킬 › edit-doc
브라우저 편집 문서 실물 캡처 스킬 · 도구 · 자체 제작
◆ 도입 후보

우리는 HTML 산출물을 굉장히 많이 만든다. 그 문서를 받는 사람이 서버·툴 없이 그 자리에서 한 줄 고치고 저장하게 만드는 게 이 스킬이다. 편집기가 파일에 딸려 오므로 배포가 곧 편집기 배포다. 저장은 최신 File System Access 로 같은 파일에 다시 쓰고(지원 브라우저), 안 되는 브라우저는 다운로드로 떨어진다. 마크다운은 평문이라 편집기를 못 품으니, .md 를 여닫는 단독 소스+프리뷰 편집기를 함께 낸다(원안엔 없던 우리 추가분). 전 기능을 헤드리스로 실측 검증했다. 편집 토글·서식·배포용 스트립·마크다운 렌더·HTML 이스케이프까지. execCommand 기반이라 리치 구조 편집은 범위 밖이고 Shadow DOM 격리는 없다(네임스페이스로 충돌 회피). 문서를 '한 파일로 주고받되 받는 쪽이 살짝 고치면 좋겠는' 모든 경우의 도입 후보.

실물부터, 설치 전에 전부 만져보세요

아래는 이미지가 아니라 이 스킬이 담고 있는 진짜 HTML입니다. 눌러 보세요.

아래는 이미지가 아니라 이 스킬이 담고 있는 진짜 편집기입니다. HTML 쪽은 우측 하단 편집을 눌러 글자를 고쳐 보고, Markdown 쪽은 왼쪽에 타이핑하면 오른쪽이 즉시 바뀝니다. (저장은 실제 파일 저장이라 미리보기에선 다운로드로 떨어집니다.)

HTML 편집기skeleton / demo.html
편집 → 고치기 → 저장 / 배포용(편집기 뺀 사본)
Markdown 편집기md-editor.html
왼쪽 소스 → 오른쪽 프리뷰 · Cmd/Ctrl+S 로 .md 저장

무엇이 되나

편집굵게·기울임·색·형광펜·크기·제목·인용·목록·표·링크 (Cmd/Ctrl+E 토글)
저장File System Access 지원 브라우저는 같은 파일에 다시 씀(IndexedDB로 핸들 기억), 미지원은 다운로드 폴백
자동저장localStorage 백업(파일과 별개) · 새로고침 때 다르면 복원 배너
배포용편집기·엔진·메타 뺀 깨끗한 사본 내보내기(내용·디자인 유지)
Markdown.md는 평문이라 편집기를 못 품음 → 단독 소스+프리뷰 편집기가 .md를 열고 저장(원안엔 없던 우리 추가분)

저장 흐름 (엔진이 동봉되어 다님)

열기 → [편집] → 저장 ─┬─ 지원 브라우저: 같은 파일에 write (권한 재확인) └─ 미지원: 다운로드 폴백 자동저장(700ms debounce) → localStorage → 새로고침 시 복원 배너 배포용: DOM 복제 → 편집기·스크립트 제거 → 깨끗한 .html

두 파일 모두 의존성 0의 단독 HTML입니다. 내려받아 인터넷 없이 열어도 그대로 동작합니다. 편집은 execCommand 기반(의존성 0의 표준 선택), 저장 HTML은 미정화라 안 만든 문서는 신뢰불가로 취급.

검수 리포트

문서를 파일 하나로 주고받되, 받는 사람이 고칠 수 있게

AI로 보고서·안내문·레터를 HTML로 뽑는 일은 흔하다. 문제는 그다음이다. 받는 사람이 오타 하나, 날짜 한 줄을 고치려면 원본 도구로 돌아가거나 개발자를 찾아야 한다. edit-doc 은 편집기를 문서 파일 안에 넣는다. 받는 사람은 HTML 을 열고, 오른쪽 아래 편집 을 누르고, 고치고, 저장 한다. 그게 전부다. 서버도, 확장 프로그램도, 로그인도, 인터넷도 필요 없다.

두 종류: HTML 과 Markdown

HTML 문서 는 편집기가 파일에 딸려 온다. skeleton.html 을 복사해 내용만 채우면, 그 파일이 곧 편집 가능한 문서가 된다. 보고서·레터·안내문처럼 디자인이 있는 문서에 맞는다.

Markdown 은 평문이라 JS 편집기를 품을 수 없다. 그래서 md-editor.html 이라는 단독 편집기를 함께 낸다. 왼쪽에 소스, 오른쪽에 실시간 프리뷰, .md 를 열고 저장한다. 이건 원안에 없던 우리 추가분이다.

저장은 세 갈래, 정확히 구분한다

왜 execCommand 인가

서식은 document.execCommand 로 넣는다. deprecated 지만 모든 현재 브라우저에서 동작하고, 무엇보다 의존성이 0 이다. 단독으로 도는 파일에 프레임워크를 실을 수는 없다. 리치 구조 편집(중첩 컴포넌트·변경 추적)은 범위 밖이라고 솔직히 적어 둔다.

실측으로 검증했다

헤드리스 브라우저로 전 기능을 돌려 확인했다. 편집 토글이 contentEditable 을 켜고 도구 막대를 띄우는지, 굵게 서식이 실제로 적용되는지, 배포용 내보내기가 편집기(ed-bar·ed-editor-script)를 지우면서 내용은 남기는지, 마크다운 프리뷰가 제목·표·강조를 렌더하는지, 그리고 붙여넣은 <script> 가 텍스트로 이스케이프되는지까지.

쓰는 법