ContentfulのContent modelにvalidationを設定する

ContentfulのContent modelにvalidationを設定する
公開日時

このブログの記事はContentfulで管理していて、Content modelに slug Fieldを用意して、その値を記事のURLとして設定している。

記事のURLのルールとして YYYY-MM-DD-unique-name とするようにしていたが、命名規則のvalidationは設定していなかった。

記事を書く際に毎回設定しているものなので間違えることもないだろうと思っていたが、 slug でsortした際に unique-name のみになってしまっている記事が数件見つかった。

URLが変わってしまうと元のページが404になってしまうので、そもそも間違えない仕組みを導入すべきだと思い、 slug validationの Match a specific pattern を設定することにした。

正規表現が使えるので、

^\d{4}-\d{2}-\d{2}-.+$

を設定することで、命名規則に沿わない場合はエラーが出るようにできた。

slug-error

これでもうURLミスは起きないので一安心。


Related #contentful

GridsomeとContentfulとCircleCIを組み合わせて予約投稿ができるようにする

CircleCIのSchedule Jobsを使って定期ビルドするようにした

Contentfulに予約投稿機能が追加された

独自の予約投稿機能を作る必要がなくなって便利になった

Contentfulの料金プラン改定

嬉しいアップデート

Contentful GraphQL APIで最終更新日時を取得する

sys.publishedAtで最終更新日時が取得できる

Contentfulの記事をAlgoliaのインデックスに登録する

Contetful Webhookの変換Helperが便利