kentoka.com

kentoka.comの今の技術構成

公開日

こんにちは!

この記事はkentoka.comの技術構成を備忘録がてら紹介するものです。 以前はGoogle Cloud上で運用していましたが、現在は構成を一新しています。

インフラ

ホスティング

ホスティングにはCloudflare Pagesを使っています。 Next.jsをoutput: 'export'としてSSG。その生成物をそのままデプロイしています。

  • コストかからない
  • デプロイが楽

以前は、Hello World!!で書いていたように GCEの当時の無料枠(e2-micro)でDockerコンテナを動かしていました。

フロントエンド

フレームワーク

Next.jsを採用しています。

仕事でも使っていたので、勉強のための選択という側面が強いです。

スタイリング

Tailwind CSS@v4を使っています。

PostCSSプラグインとして動作させ、ユーティリティクラス中心で実装しています。

UIコンポーネント

Radix UIをベースにしたshadcn/uiを主に使っています。

コンポーネントライブラリへの依存という形になっていないので、いい感じかもと思っています。

ブログ本文

以前はmicroCMSで記事を管理していましたが、 今はローカル上で書いた記事データを使うようにしています。

管理のしやすさと拡張のしやすさを取りました。

記事の描画

記事本文はMarkdownで書き、remark/rehypeのパイプラインでHTMLに変換しています。

1Markdown -> remark-parse -> remark-gfm -> remark-rehype -> rehype-react -> Reactコンポーネント