오늘의 한 일
오늘은 검색 기능을 완성시켰다.
코드는 Brad Traversy's Devspace에서 가져와 일정 부분 내 필요에 맞게 고쳤다.
그리고 본문에서 검색하는 것도 일단은 빠르게 계산할 수 있을 것 같아서 결국 마크다운 파일 자체를 파싱하는 것과 다름없다.(그러고 보니 나중에 vercel로 deploy하고 나면 이렇게 하기 힘들거 같은데 따로 방법을 찾아봐야겠다.)
Z-index는 이상하다
이전 글에 katex가 목차 위로 렌더링되는 현상이 있었는데 이번에는 이미지가 그런 현상을 일으키길래 원래 이런 일을 담당하는 z-index에 대해 더 깊게 알아보았다.
알고보니 부모 태그가 자식의 z-index를 막지 않아야 하며 position이 z-index와 함께 설정되어 있어야 한다는 것이다.
그래서 필요한 태그들에 적절하게 z-index를 걸어주니 katex와 이미지 모두 검색 결과와 목차 밑으로 렌더되었다.
이래서 코드를 뜯어봐야하는건가...
위에서 이미지가 갑자기 맨 위로 렌더링 되었던 이유는 기존에 img 태그를 쓰는 것에서 next/image 태그를 사용하였기 때문이다.
이 컴포넌트는 자동으로 이미지 사이즈와 lazy loading을 지원하는 성능에 매우 좋은 컴포넌트이지만 사이즈를 명시하지 않으면 사용할 수 없다는 것이다.
최적화를 해야하니 정보가 많아야 하는 것은 이해하지만 모든 이미지마다 크기 확인해가며 사용하고 싶지는 않았기 때문에 찾고 찾아 이 글을 찾게 되어 원하는 대로 사용할 수 있게 되었다. 내가 사용한 방법
mdx에서 버그나면 어쩌라는거지?
이렇게 이미지를 힘들게 넣고 나니 콘솔에 뜨는 p 태그 안에는 div가 들어갈 수 없습니다에러.
알고보니 mdx의 버그(가 아니라 의도된 거라고 하지만 에러인데...?).
결국 찾다가 remark-unwrap-images라는 플러그인을 찾아 추가하니 정상적으로 작동하는 것을 확인했다.
해야할 일
일단 계속 적고 있지만 메인 페이지를 만들어야 하는데 이게 가장 쉬운 거라 계속 미루고 있다.
기능적인 부분만 끝내면 UI 부분은 금방 되지 않을까...?
그리고 사실 이 프로젝트의 가장 시간 걸리고 힘든 일은 이전 블로그의 글들을 전부 옮겨오는 것이다.
예전 블로그를 없앨 것은 아니지만 어쨌든 이 블로그가 메인이고 웬만해서는 이 블로그에서 다 해결되었으면 하는 마음이다.
소감
마치 끝나지 않는 일같은 느낌이 든다.
글은 굉장히 짧게 표현하지만 위의 일을 하는데 7시간 정도 걸렸다.
진짜 자바스크립트는 이상한 버그의 총 집합인 것 같다.
'프로젝트 > 블로그 만들기 - NETAM' 카테고리의 다른 글
NETAMlog[6] Prisma와 GraphQL 추가하기 (0) | 2021.10.30 |
---|---|
NETAMlog[5] 타입스크립트 사용하기 (0) | 2021.10.30 |
NETAMlog[3] 드디어 진전이...? 모바일 지원 (0) | 2021.09.25 |
NETAMlog[2] 삽질과 에러 (0) | 2021.09.11 |
NETAMlog[1] 마크다운 처리와 여러 결정들 (0) | 2021.09.04 |