投稿:
更新:
Next.jsとTailwind CSSでオリジナルのブログを作った
2024-11-29 追記
現在、過去に開発したブログシステムは廃止しています。
しかしながら、画像や本文のコンテンツを手元のmarkdownファイルで管理することで容易に移行が可能でした。
はじめに
タイトルの通り、自分のオリジナルブログを作りました。
モチベーション
情報発信・アウトプットは非常に大事だと感じています。
例えば、以下のような記事をまとめます。
- プログラムを書く身として技術記事を書く
- 特定のバグの解決方法を残す
- 自分の労力をかけ結果を出した勉強法をまとめる
その際に、ブログ(文字)で発信する場合、どのような方法があるでしょうか?
ブログサービスの例
- 全般: Note / はてなブログ / Wordpress / Notion
- 技術記事: Zenn
以上のようなサービス・ツールが挙げられます。 短期的・拡散性的・プラットフォームとしての機能性を考えると、上記サービスを活用するのがベストです。 しかし、デメリット、というより、個人でブログを作って書くことの利点も数多く存在します。
それらを解消するための自分のオリジナルの個人ブログを作った、ということです。 自分でせっかく作ったのだから、記事を書かなきゃ、と自分を追い込む戦略でもあります。
機能
開発中なので、随時更新です。ロードマップの意味も含んでいます。 実装したことに関しては、解説用の記事を更新するつもりです。
既実装
- ダークモード
- 目次
- コードブロック
- ブログカード
- サイトマップ
- サイトマップ送信の自動化 (
GitHub Actions
を使ってサイトマップを更新したことをcurl
で処理) - ページトップへ移動ボタン
- 関連記事表示(カテゴリ分類と同時に作る)
技術構成
モダンな技術かつ、開発元も安定していて中期的に保守・運用できるものを採用しました。 Web バックエンドは構築する必要がないので、Web フロントエンドのみです。
Next.js
TypeScript
Tailwind CSS
正直に言うと、このブログは静的なファイルを配信するだけなので、ライブラリの開発が終了しても動き続けることは可能です。 ですが、何かしらのセキュリティホールを生むわけにはいきませんので、きちんと管理します。
工夫
すべて静的な Markdown
ファイルで管理しています。
たくさんのメリットを感じています。たとえば以下のように。
- 移行が簡単
- 他のメディア・サイトの切り替え時のコストが 0 になる
.mdx
ファイルは移行がしづらい(他でそのまま利用できない)
- バックアップが取りやすい
- コンテンツが命
- 単なる
.md
ファイル - Github・ローカル・クラウドストレージ・SSD でのバックアップ体制
おわりに
最後までお読みいただきありがとうございました。