ブログのURL構造を変更した

hugoのversionを上げたら blog.himanoa.net が entries/って記事を表示しはじめて壊れてしまっていたので、content配下のディレクトリ構造を変更した。

しかし、content以下のディレクトリ構造を変えるとビルドした後の記事のURLも変わってしまう。

URLが変わってしまうと、過去のリンクが壊れてしまってつらいつらいなので、過去のURLを踏んできたときは今のURLにリダイレクトするようにした。

ここではその作業ログを残す

Hugoでのリダイレクトの貼り方

hugoにはFront Matterという仕組みが存在し、ここに決められた形式のメタデータを書くことができる。

ここにリダイレクト元となるパスを記述することでリダイレクトを実現することができる。

詳細は公式ドキュメントを参照するべし

作業手順

  1. content/entries以下のファイルをcontent/に移動 15a468c

  2. 既存の記事内のFront Matterの形式を揃える

    1. hugo convert toJSON --unsafe を実行することでcontent配下のFront matterを一括変換できる cf5bfc5

  3. 記事ファイルの内部を開いてFront Matter部分だけ抜き出して置換するJavaScriptを書いて実行する c5a942b

    1. コードはこちら

  4. git push してデプロイされたら動作確認する