HugoをAWSのS3で運用する際に、日本語のタグとカテゴリがページとして認識されずにハマったので対策を紹介します。
起きた現象
日本語のタグを選択すると404.htmlが表示される
原因
werckerのstep-s3syncがS3に成果物をアップロードする際、日本語を転送できていないため。 ローカルでAWS CLIから成果物をアップロードすれば問題なく転送される。
ただし日本語特有の濁点などはデフォルトの設定では1文字とし認識されてしまうので、ここはS3側であらかじめ設定しておく必要がある。
% aws s3 ls s3://blog.gizwoo.com/categories/
PRE blog-building/
PRE building-blog/
PRE category/
PRE life/
PRE reading/
PRE showcase/
PRE subcategory/
PRE このフ゛ ロク゛ について/
対策
Hugoをローカルでビルドしたのち、tagとcategoryを手動でS3にアップロードする。ポイントはwerckerは使っちゃダメということ。 werckerを使えなくなるので根本解決にはなってないが、step-s3sync側に問題があるので、大体のstepを探せばなんとかなるかもしれない。