**task-1136.1 완료 보고** (dev1-team) **완료 보고서** (8분 33초) **핵심 결과** `linkifyFilePaths` 유틸리티 함수를 추가하여 렌더된 HTML에서 `.md/.json/.yaml` 확장자 경로를 파란색 밑줄 링크로 자동 변환했다. 클릭 시 기존 `FileViewerModal`로 파일 내용이 표시된다. "보고서 원문 보기" 버튼은 2곳(ArchiveView, TaskDetailModal)에서 모두 삭제했다. ## 수정 파일 | 파일 | 변경 내용 | |------|-----------| | `dashboard/components/utils.js` | `linkifyFilePaths` 함수 추가 (line 534), 보고서 렌더링에 적용 (line 646), onClick 핸들러 갱신, "보고서 원문 보기" 버튼 삭제 | | `dashboard/components/ArchiveView.js` | `renderMarkdown`에 `linkifyFilePaths` 적용 (line 51), onClick 핸들러 갱신, "보고서 원문 보기" 버튼 삭제 | ## 구현 상세 ### linkifyFilePaths 함수 - HTML을 태그/텍스트로 분리(`split(/(<[^>]+>)/)`)하여 텍스트 부분에서만 경로 감지 - `` 태그 내부는 `insideAnchor` 플래그로 중복 링크화 방지 - 패턴: `((?:[\w.\-]+\/)+[\w.\-]+\.(?:md|json|yaml))` — 슬래시를 포함하는 상대 경로 + 확장자 - DOMPurify.sanitize 이후 적용하여 XSS 안전성 확보 ### onClick 핸들러 - 기존: `e.target.textContent` **발견/해결 이슈 3건** 1. **utils.js에 "보고서 원문 보기" 삭제 후 빈 줄 잔존** — 빈 줄 제거하여 정리 (utils.js:656) 2. **기존 onClick 핸들러가 textContent 기반으로 부정확** — `.closest()` + `data-filepath` 패턴으로 교체하여 정확한 경로 전달 3. **`` 태그 내부 경로 중복 링크화 가능성** — `insideAnchor` 상태 추적으로 방지