なぽろぐ

気ままに感じたことを記事にまとめます。

自分のホームページを大幅にリニューアルした

napochaan.com を作りました。

Image from Gyazo

ひそなさんに書いていただいたイラストを大きく出してアニメーション多めな HP にしました。

仕様技術

  • Next.js
  • next-themes
  • vanilla-extract
  • react-spring/web
  • radix-ui
  • cloudflare pages
  • cloudflare images
  • ChatGPT
    • これは技術なのか...?
    • 文言は大体考えてもらった。かなり助かった。

github.com

ダークテーマ・ライトテーマ対応、a11y 対応をした

vanilla-extract と next-themes を使用してダークテーマ・ライトテーマ対応を行い、radix-ui を使用して a11y 対応をした。

ダークテーマ・ライトテーマ対応

next-themes で状態管理をしている。css variables でテーマを動的に差し替えできるようにしていて vanilla-extract の createGlobalTheme — vanilla-extract を使って実現している。

www.napochaan.com/light.css.ts at main · napolab/www.napochaan.com · GitHub www.napochaan.com/dark.css.ts at main · napolab/www.napochaan.com · GitHub

a11y 対応

最近 charcoal にコントリビューションしておりそこでは react-aria を使っているので初めはそれでやっていたのですが、next-themes と相性が悪かったのと scroll に対する hook が存在しなかったので使うのをやめた。

github.com

最終的には Primitives – Radix UI を使用した。こっちには Scroll Area – Radix UI という component が存在し react-aria でできることはカバーできていた上に SSRProvider でラップする必要がなかったためこちらに移行した。

figma を勉強できた

www.figma.com

何もわからない状態だったが figma 自体がかなりわかりやすく、カラーパレットとコンポーネントコンポーネントバリアントは理解できた。プラグインまわりはまだあまりよくわかってない。

Image from Gyazo Image from Gyazo

ChatGPT に文言とカラーパレットと構成を考えてもらった

テーマカラーと雰囲気を提示すると文言やパレットが生成できて便利だった。figma に起こした後微調整はしたが..... やり方が悪いのか生成するたびにパレットがちょっとづつ変わるので困った。

Image from Gyazo Image from Gyazo Image from Gyazo

おわりに

これとは別に HP をつくろうというプロジェクトがあったときに figma がわかりません・デザインができません!というのはフロントエンドエンジニアを主戦場でやってるのにかなり良くないなぁと思ったためとりあえず全部やった。

あんまりなんもしてないけど Next.js と cloudlare pages 使ったら lighthouse のスコアがめっちゃ上がったw

https://i.gyazo.com/9a4c9b27b41364bab0a51a68b109fb3d.png