Portfolio (elecdeer.dev)

https://elecdeer.dev/

https://github.com/elecdeer/elecdeer.dev

概要

このポートフォリオサイトです。Next.jsでSSGを用いて静的にhtmlを生成し、Vercelでホスティングしています。いわゆるJamstack構成です。

トップページとWorksページのコンテンツはヘッドレスCMSであるmicroCMSで管理しています。microCMSのリッチテキストで内容を書き保存すると、自動でビルドされ公開されます。


使用技術

  • Next.js
  • React
  • Chakra UI
  • TypeScript
  • Framer Motion
  • microCMS


ポイント1

microCMSのリッチテキストフィールドから渡される値はHTMLで記述されているため、そのままではChakra UIのスタイルを適用することができません。そこでhtml-react-parserを使用してHTMLをパースし、Chakra UIのコンポーネントに置換しています。


ポイント2

ページをめくる様なページ遷移アニメーションはFramer Motionで実装しています。コンポーネントのマウント・アンマウントの制御に苦労しました。より深い階層のページに移動する場合は左に、浅い階層のページに移動する場合は右にめくるようになっています。


画像