관리자 블록 에디터를 태그 v1.0.5 시점으로 복원(v1.0.10)

v1.0.6 이후 붙여넣기 분할·Cmd+A MD 복사·블록 범위 선택 등 제거.
명세·맵·이력·업데이트 동기화.
This commit is contained in:
2026-05-14 14:53:55 +09:00
parent 35c378c8f5
commit 88a0860078
6 changed files with 13 additions and 638 deletions

View File

@@ -1,28 +1,10 @@
# 의사결정 이력
## 2026-05-13 v1.0.9
## 2026-05-13 v1.0.10
### 블록 범위 드래그와 행 간 여백
### 관리자 블록 에디터를 v1.0.5 파일 기준으로 복원
범위 드래그 중 `pointermove`마다 `elementFromPoint``[data-editor-block-id]` 조상을 찾았다. 블록 행 사이에는 `margin-top`으로 생기는 **보더 박스 밖 여백**이 있어, 포인터가 그 구간에 있으면 최상단 요소가 행이 아니라 상위 래퍼가 되고 `closest`가 실패한다. 에디터 루트 ref 안의 모든 행 박스와 `clientY`의 거리를 비교하는 보조 경로를 두어 동일 제스처로 다중 블록까지 이어지게 했다.
## 2026-05-13 v1.0.8
### 블록 범위 복사와 부분 텍스트 선택
블록 인덱스 범위가 잡힌 상태에서 사용자가 한 블록 안에서 드래그로 일부 문자만 선택해 복사하는 경우가 있다. 루트 `copy` 캡처로 항상 구간 마크다운을 넣으면 기대와 어긋나므로, 비접힘 DOM 선택이 해당 행의 `contenteditable` 호스트에 있거나 `textarea`/`input`에 선택 구간이 있으면 `preventDefault`를 하지 않고 네이티브 클립보드 동작을 유지한다.
## 2026-05-14 v1.0.7
### 블록 단위 범위 선택과 마크다운 전용 복사
다중 `contenteditable` 구조에서는 브라우저가 블록 경계를 넘는 선택을 제공하지 않는다. 붙여넣기 분할과 전체 Cmd+A 클립보드 복사만으로는 구간 복사 흐름이 부족하므로, 핸들 옆 좁은 레인에서 포인터 드래그와 Shift 조합으로 블록 인덱스 구간을 잡고, 복사 파이프는 `text/plain` 마크다운으로만 통일했다. 문자 단위 범위는 다음 단계로 남긴다. 범위는 인덱스 쌍이므로 블록 삭제·이동·분할 붙여넣기 등 배열이 바뀌는 경로마다 해제해 stale 상태를 막는다.
## 2026-05-14 v1.0.6
### 블록 에디터 붙여넣기·전체 선택 UX
블록마다 `contenteditable`을 두면 브라우저가 편집 호스트 경계를 넘는 선택을 허용하지 않아 Cmd+A가 한 블록에만 먹고, 여러 줄 마크다운을 붙여넣으면 한 블록 안에 줄바꿈 문자만 들어가 저장 구조와 어긋난다. 완전한 단일 편집면(ProseMirror 등)으로 바꾸지 않는 한, 붙여넣기 경로에서 `parseMarkdownToBlocks`로 분할 삽입하고, Cmd/Ctrl+A는 전체 마크다운을 클립보드에 복사하는 보완으로 실사용 복사·이동 요구를 맞춘다.
v1.0.6부터 적용했던 다중 줄 붙여넣기 분할, Cmd/Ctrl+A로 전체 마크다운 복사, 블록 단위 범위 선택·레인 드래그·복사 가로채기 등이 실제 사용에서 어색하다는 피드백이 있어, `AdminBlockEditor.vue`는 Git 태그 `v1.0.5` 시점 내용으로 되돌렸다. Docker·부트스트랩 등 v1.0.5 이후 서버/배포 변경은 유지하고 에디터 파일만 이전 동작으로 맞춘다.
## 2026-05-14 v1.0.5