몇몇 분들은 눈치 채셨겠지만 노션을 활용해서 만들어진 블로그입니다.
노션에서 글을 작성하면 next.js의 ISR
방식으로 정적 페이지가 자동으로 생성됩니다.
transitive-bullshit/nextjs-notion-starter-kit
를 기반으로 커스텀해서 원하는데로 꾸미고 추가했습니다.
기본적으로 지원하는 기능이 많았지만 아쉬운 부분이 많아 직접 커스텀을 진행했습니다.
노션의 내용을 기반으로 블로그가 생성되는 방식이니 실제로는 노션이 어떻게 구성되어있는지 궁금하신가요? 아래 링크를 통해 이 블로그의 노션 구성을 확인하실 수 있습니다!
현재 운영중인 블로그 노션 페이지 (템플릿 복제 허용 X)
https://2skydev.notion.site/2skydev-blog-d1e89e9e42eb4ebf9486ae0374039efc
기본적인 동작은 next.js의 ISR
방식으로 페이지가 생성됩니다.
배포(빌드)후에도 노션에서 페이지를 생성 또는 수정해도 자동으로 반영됩니다.
노션의 정보를 가져오는 API는 공식 API가 아닌 실제 노션 페이지에서 요청하는 API를 가져와서 사용했습니다. 아 물론 댓글 기능은 Notion 공식 API를 사용한게 맞습니다 :)
router.isFallback
이 활성화 되며 로딩 효과가 표시getStaticProps
함수에서 노션 루트 페이지 id를 기준으로 모든 페이지를 가져옴router.isFallback
이 false가 되며 로딩 효과 사라짐 및 새로운 정적 페이지 표시