이 글은 개발 블로그 개발 여정의 게시글이예요
해당 포스트는 NextJS를 이용하여 개발 블로그를 만들며 작성한 포스트입니다.
기술 블로그의 전체 코드는 🪢 yonglog github 에서 확인 하실 수 있습니다.
목업 디자인 생성하기
MDX
가 어쩌구니 라우팅이 어쩌구니 하기 전 목업 데이터를 이용해 초석을 먼저 만들기로 하였다.
디자인을 먼저 해두고 기능을 추가하는 방식이 더 흥미로울 것 같았기 때문이다.
어차피 만들어야 할 페이지나 기능들 또한 많지 않기 때문에 디자인부터 하는 것이 좋을듯 싶다.
저번 docs
에서 보았듯 대부분의 기술 블로그들의 모습은 비슷하다.
GNB
가 존재한다.
- 대부분의 컨텐츠들은 중앙에 정렬되어 있다. 양 옆에 마진이 크게 존재한다.
- 선택적으로 좌우 여백에 게시글들 태그 별로 존재하거나 , 본문에선 인디게이터가 존재한다.
어차피 게시글은 MDX
라이브러리를 이용하여 렌더링 할 것이니 내가 신경 쓸 필요는 없고 내가 신경써야 하는 부분은 재사용 할 레이아웃들의 디자인이다.
모방은 창작의 뭐 어쩌구라했나 , 최대한 우아한 기술 블로그를 참고하여 디자인 작업을 만들어 가보자 :)
디자인 결과물
우선 /
경로에 따른 layout
과 Page
만 먼저 작성해주었다.
globalCSS 설정
우선 프로토타입 디자인이니 깜장에 하얀 글씨로 만들어주고 나는 app router
를 사용할 것이니
app
폴더에 존재하는 layout , page
컴포넌트를 조금 손대주었다.
app/layout.tsx
다음과 같이 RootLayout
에선 GNB
만 존재하도록 생성해주었다.
이후 children
에는 /
경로에 있는 page.tsx
컴포넌트가 렌더링 된다.
app/page.tsx
/
경로의 Page
컴포넌트는 소개글과 카테고리 리스트를 상단에서 렌더링 한다.
이 때 Introduce
컴포넌트는 tailwind
의 미디어 쿼리를 이용하여 md
이상 일 때에만 렌더링 되도록 하였다. 그 이후가 되면 렌더링 되지 않는다.
SideBar
같은 경우에도 lg
이상 일 때에만 렌더링 되게 하고 그러히 않을 땐 hidden
으로
보이지 않게 해주었다.
tailwind
최고 🤩 너무 편해 !!!!!!
이제 위의 흰 블록에 들어갈 서버 컴포넌트들을 작성해줘야겠다.
흰 블록에 들어갈 서버 컴포넌트는 블로그 포스트에 존재하는 제목과 미리보기 글 , 날짜 , 썸네일 등이 담긴 컴포넌트들이 들어갈 예정이다.
그리고 그 컴포넌트를 클릭하면 해당 블로그 포스팅으로 라우팅 시킬 예정이다.
하단에 있는 내용들은 모두 /
경로를 렌더링 할 때 사용한 컴포넌트들이다.
components/GlobalNav.tsx
@/components/Introduce.tsx
@components/Cateogory.tsx