Hiratake Web ロゴ

ブログ記事のファイルが増えすぎたのでディレクトリ構造を変更した話

投稿した日
更新した日
書いたひと
icon
ひらたけ

昨年の夏にウェブサイトのつくり直しをして から、ブログ記事を 毎日 1 投稿するのを継続して 8 ヶ月が経過 しました。最初は「まあブログは気が向いたときに。たぶん何ヶ月も放置するだろうけど…」みたいな感じだったはずなのに、とりあえず 1 年間の継続をがんばってみようかな、となり日々ネタ探しに苦労しています。

私は自分のウェブサイトを継続して更新していくよりは、マークアップをしたりコードを書いたり新しい技術に触れたりするのがすきです。そのため、2014 年にウェブサイトを開設して以降数ヶ月から 1 年程度の間隔で過去のものを全て消し去って新しくつくり直す、ということをやってきました。

何が言いたいかというと、ウェブサイトのつくり直しをしていたときには こんなにたくさんのブログ記事を書くことになるとは想定していなかった ということです。

ブログディレクトリの画像

このウェブサイトは Nuxt というフレームワークを使用して実装しており、そこに @nuxt/content モジュールを導入してブログ記事を執筆しています。@nuxt/content には Document-driven モードという比較的新しい機能が存在していて、なにやらその機能を推している雰囲気を感じたので、そちらを使用しての実装を行いました。

content というディレクトリに Markdown ファイルを作成し記事の文章などを書いていくのですが、このモードでは Markdown ファイルを置いた場所がそのまま公開時のパスになります。content/blog/20240304.md というファイルを作成すれば、https://example.com/blog/20240304/ という URL で公開されるのです。

このモードでしか利用できない useContent コンポーザブルなどの便利機能もあり、ウェブサイトの実装の際には色々と使っていたのですが、その便利さ以上に、ブログ記事の数が 100 を超えたあたりから 同じディレクトリに Markdown ファイルが存在しすぎてスクロールするとか移動するとかが大変 になってきました。

そんなこんなで Document-driven モードの使用を辞め、Markdown ファイルは content/blog/2024/03/03.md とか content/blog/2024/03/04.md のように月ごとにフォルダ分けできるように実装しなおし、useContent コンポーザブルを使用していた箇所は別の方法での実装に変更するなど、大工事を実施しました。

Document-driven モードのままディレクトリ構造を変えるという選択肢もありましたが、記事の URL が変更になってしまうとか、年ごと月ごとの記事一覧のページをつくるのが面倒とか、そういった理由で無しに。

これまで書いてきた 100 を超える記事の Markdown ファイルをひとつひとつ移動してリネームして…という作業がやたら大変でした。

ブログのページを用意するなら、ちゃんと記事が大量になった場合のことも考えるべきだったなあ、というお気持ち。大きな変更を行ったことになりますので、もしかするとウェブサイトの方に何らかの不具合等が発生するかもしれません。その際はご連絡いただけますと助かります🙏