-
Notifications
You must be signed in to change notification settings - Fork 167
Description
안녕하세요. 즐거운 추석 연휴 보내고 계신가요?
https://frontend-fundamentals.com/code-quality/code/
해당 페이지의 링크가 깨져있어 한번 리포트 올려봅니다.
문제상황
컨텐츠 링크를 클릭하면 앞쪽 /code
가 잘린채로 라우팅을 하고 있는 상황입니다.
예를 들어 '같이 실행되지 않는 코드 분리하기' 앵커태그 의 href는 ./examples/submit-button.html
로 설정이 되어있는데,
해당 링크를 확인하고 있는 페이지의 패스는 https://frontend-fundamentals.com/code-quality/code/
이므로
앵커를 클릭하면 https://frontend-fundamentals.com/code-quality/code/examples/submit-button.html
로 변경을 기대하지만
https://frontend-fundamentals.com/code-quality/examples/submit-button.html
로 이동됩니다.
원인
현재 fundamentals/code-quality/.vitepress/config.mts
의 base 속성이 /code-quality/
로 설정이 되어있는데요, 아마도 번들링 시에 rewrites를 통해 접근하는 에셋 경로를 prefix 해주기 위함으로 보입니다. 그런데 문제는 이 설정이 서버사이드 렌더링되는 index.html 템플릿에 <base href="/code-quality" />
를 자동으로 추가시켜서, 지금과 같이 상대경로 링크를 클릭했을 때 베이스를 /code-quality/code/
가 아닌 /code-quality/
로 강제로 변경하여 라우팅하고 있습니다.
제안
절대경로로 바꾸거나, 설정파일의 markdown - config 에 훅을 작성해서 상대경로를 절대경로로 변환시키는 로직을 작성하는 것을 제안드립니다. 다만 로컬에서 시험해보니 deadlink 에러가 발생하더라고요. 찾아보니 절대경로로 바뀌면 dist 폴더에서 파일 검색을 실패하기 때문인 것 같습니다. ignoreDeadLink 옵션이 있다고 하는데, 제가 직접 PR을 올리려니 너무 설정범위를 건드리는 듯 하여 메인테이너 분들의 판단에 맡기는게 좋겠다는 생각이 들었어요.