くらげになりたい。

くらげのようにふわふわ生きたい日曜プログラマなブログ。趣味の備忘録です。

GitHub ActionsでもNuxt ContentのcreatedAtが正しい日時になるようにする(nuxt-content-git)

一部のページはNuxt Contentを使っているけど、
GitHub Actionsでデプロイするようにしたら、作成日などがデプロイした日時になってるよう。。
ファイルの日時を見ているので、チェックアウトした日時になってしまうらしい。。

いろいろ調べてみると、Gitの履歴から作成日を設定してくれるモジュールがあったので、
使ってみたときの備忘録(´ω`)

github.com

使い方

まずはインストール。

$ npm install nuxt-content-git

次に、modulesnuxt-content-gitを追加。

// nuxt.config.ts
import { NuxtConfig } from "@nuxt/types";

const config: NuxtConfig = {
  modules: [
    // Doc: https://github.com/dword-design/nuxt-content-git
    "nuxt-content-git",
    // Doc: https://content.nuxtjs.org/ja
    "@nuxt/content"
  ],
};

export default config;

@nuxt/contentよりも前にnuxt-content-gitを指定するのがミソ。

このモジュールがgitの履歴に基づいて、ファイルの作成日/更新日を設定してくれるので、
そのあとの@nuxt/contentで正しい日付の状態になる。

GitHub ActionsなどのCIシステムでは、
通常履歴は必要ないので、すべてを取得していない場合がある。

なので、ちゃんと日付を含めた履歴をチェックアウトするように、
.yamlにオプションを付ける必要がある。

- uses: actions/checkout
  with:
    fetch-depth: 0

これでOK!! 簡単(*´ω`*)

参考にしたサイト様