いざWordPressではなくNuxt.jsで実装してみたら、色々苦労しました。慣れないことって難しいですね。今回はその「色々苦労した部分」について。
データ構造を考えるのが面倒くさい
WordPressでは記事をする編集者・ライターであっても、権限さえあればカテゴリーを管理画面から簡単に編集できるものの、自分で実装する場合はそう簡単にいきません。カテゴリー情報を自分でデータベースなりJSONで保存しておく必要があります。もちろん、そのデータ構造も自分で定義します。
結局カテゴリーは自分でJSONで書いてます。下のような感じです。
{
"id": 1,
"name": "Mac",
"slug": "mac",
"description": "Description",
"parent": [],
"order": 1
},
{
"id": 2,
"name": "Excel",
"slug": "excel",
"description": "Description",
"parent": 1,
"order": 2
},
カテゴリーの親子関係を作るデータ構造は他にも色々ありましたが、結局自分で更新するので安直な方法で実装しました。
記事一覧ページを作る必要がある
WordPressと大きく違うのは記事一覧画面を自力で作る必要があったこと。WordPressであれば、アーカイブであればarchives.php
、カテゴリーの記事一覧であればcategories.php
を編集すれば、記事自体はすでにフィルタリングされている状態なのでテンプレートタグを埋め込めば完成しますが、自作の場合はこのフィルタリング処理も書く必要がありました。
WordPressももちろんfor
で回して表示しますが、記事の抽出やソートは思ったよりもやることが多くて面倒に感じました。
RSS配信を自力で実装する必要がある
WordPressなら当たり前に配信しているRSSも、フルスクラッチで静的サイトジェネレーターではこれも自分で作る必要があります。
まずは記事を忘れないうちに配信できるようにしたかったのが目的にあったので、RSSの機能追加は優先度を下げて公開を始めました。
それでも静的サイトジェネレーターを試したかった
面倒くさかったことは他にもありましたが、いざやってみないとわからないことがなかなか多いです。どちらかというとWordPressのありがたみを感じました。
それでも静的サイトジェネレーターがどんなものなのか、どうやったら公開できるのかといった具体的な手順を知られたのはよかったです。とくにマークダウンファイルだけで済むので、下書きするという感覚もなくサクッと記事を書いてデプロイも簡単にできます。
もしWordPressから他の何かに変えてみようと思ったときの参考にしてください。