Revert "feat(viewer): md 본문 외부 링크 새 탭 + rel 보안"

This reverts commit 60f3b25.

병렬 세션이 동일 P0(외부 링크 새 탭+rel)를 feat/memo-to-document 브랜치에
docMarkdown.ts link 렌더러 + ADD_ATTR 방식으로 이미 구현(SSR 적용·memos 번들).
중복 회피 위해 본 $effect 구현(redundant)을 canonical 에서 되돌리고 그쪽에 양보.
분석 산출물/측정 결과는 PKM learning 문서로 기록 보존.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
hyungi
2026-06-15 15:17:18 +09:00
parent 60f3b259df
commit ffe4c776e9
@@ -160,24 +160,6 @@
ph.dataset.mdImageSwapped = '1';
}
});
// 외부 http(s) 링크 → 새 탭(target=_blank) + 보안 rel(noopener noreferrer).
// marked 렌더러/DOMPurify 를 건드리지 않고 sanitize 후 라이브 DOM 에 속성을 부여한다 —
// heading anchor 와 동일한 DOM 후처리 패턴(전역 DOMPurify hook 오염·렌더러 API 의존 없이 안전).
// 앵커(#)·상대경로·mailto 등 비-http(s) 링크는 손대지 않는다(SPA 내부 항법 보존).
$effect(() => {
void renderedHtml;
if (!containerRef) return;
const links = containerRef.querySelectorAll<HTMLAnchorElement>('a[href]');
for (const a of links) {
if (a.dataset.extlinkProcessed === '1') continue;
const href = a.getAttribute('href') ?? '';
if (!/^https?:\/\//i.test(href)) continue; // 외부 http(s) 만
a.setAttribute('target', '_blank');
a.setAttribute('rel', 'noopener noreferrer');
a.dataset.extlinkProcessed = '1';
}
});
</script>
<div class="mb-2">