🐶
blog.terrier.dev

posted: 2019/03/02

NetlifyCMSのディレクトリを無理やり年別に分ける


NetlifyCMSのディレクトリがどうにも太るので困ったなーと思っていたが、考えてみればNetlifyCMSのcollectionでゴリッと年別に分ければいいのでは?と思って実行した。
https://github.com/terrierscript/snippet.terrierscript.com/pull/59
肝になるのはconfig.ymlnetlify.tomlだ。

config.ymlの修正

config.ymlの方はblog: &blogという感じでブログコレクションの情報を共通化して使えるようにした。あとは年単位で利用するところで<<: *blogという具合で使う。
この記法はymlのパーサによっては使えない場合もあるのでいけるかな?と心配だったが大丈夫だった。

netlify.tomlの修正

そのままだとリンクが切れるのでリダイレクトをする必要がある。そこでnetlify.tomlだ。
下記のような感じで愚直にリダイレクト処理を書いた。
[[redirects]]
  from = "/blog/20180*"
  to = "/blog/2018/20180:splat"
  status = 301
  force = true
*で書いた部分が:splatとして取れるので非常に便利。
Gatsbyでリダイレクトする方法もあったが、netlifyの方が圧倒的に便利だと感じる(片一方netlify依存度が上がる・・)

Edit on Github
@terrierscript