お久しぶりです!Sandyマンです。
前回、「HugoをやめてGatsbyで最強なブログを作る」という記事を投稿したのですが、いろいろあって結局Next.jsのApp Routerを使ってブログを作ることにしました。
そしてそのブログがやっとできたので、使用技術や苦労したところなどを書いていこうと思います。
使用技術
- Next.js 13 (App Router)
- Tailwind CSS
- Vercel
- Google Analytics (GA4)
だいたいこんな感じで作りました。
実装したもの
- タグ、カテゴリーによる分類
- ページネーション
- ソースコードのハイライト(rehype-prism-plusを使用)
- 目次
- アイキャッチに絵文字を表示
- ブログのコードと記事のリポジトリを分離
ブログとして必要な機能は概ね実装したつもりです。ダークモードも作ろうと思っていたのですが、面倒なのでやめました。
アイキャッチの絵文字は、ZennやCatNoseさんのブログを見てかわいいなと思ったので作りました。絵文字を選ぶだけで華やかになるので便利です。react-emoji-renderというライブラリをフォークして使ってます。
苦労した点
デザイン
デザインに関しては知識もないしセンスもまったくないので、てきとうにTailwind CSSを使ってやりました。そこまで酷くないデザインになったと思うので、まあいいかなって感じです。
App Router
正式にリリースされたのが5月ぐらいというので、とにかく情報が少なくて苦労しました。ドキュメントを見ながらなんとか実装しました。App Router自体はとても便利で良いと思います。これから主流になるのかなと思います。
記事内での画像表示
Hugoのときは、
blog-posts
└ index.md
└ blog.png
みたいな感じで画像とマークダウンファイルを同じディレクトリで管理していました。ですがNext.jsでは画像はpublicディレクトリに入れないといけないようで少し悩みました。いろいろやってみてビルド前に画像をpublicにコピーすることで解決できました。
まとめ
こんな感じでブログを作ってみました。我ながらなかなかいいものができたと思っています。暇なときに書いていこうと思ってるのでよろしくお願いします。それではさようならーーー!