Skip to content

Astroでブログを再構築した

Published: at 00:00

ブログ構築

基本的には「Astro v2とTinaCMSでシンプルに作るブログサイト」を見ながら構築しています。

Astroのインストール

今回はAstroPaperを使用するため指定します。

yarn create astro--template satnaing / astro - paper

TinaCMSのインストール

上記でインストールしたAstroのフォルダへ移動してTinaCMSをインストールします。

npx @tinacms/cli@latest init

インストール後の設定

Astroの設定

src/config.ts

(省略)
export const LOCALE = {
  lang: "ja",
  langTag: ["ja-JA"]
}
(省略)

TinaCMSの設定

tina/config.ts

(省略)
schema: {
  collections: [
    name: "post",
    label: "Posts",
    path: "src/content/blog",
    fields: [
      // 以下を追加
      {
        name: "draft",
        label: "Draft",
        required: true,
      },
      {
        name: "pubDatetime",
        label: "Published",
        type: "datetime",
        required: true,
      },
      {
        name: "tags",
        label: "Tags",
        type: "string",
        list: true,
      },
      {
        name: "description",
        label: "Description",
        type: "string",
        required: true,
      },
      {
        type: "boolean",
        name: "featured",
        label: "Featured",
        required: true,
      }
      (省略)
    ]
  ]
}

Cloudflareの設定

GitHubのブログ用のリポジトリを連携し、mainブランチに変更が入るとデプロイするようにしています。

TinaCMS用のClient IDとContent(Read only)のTokenを環境変数へ設定します。

躓いた点は、Yarnのバージョンを環境変数で指定しない場合はビルドでコケてしまいます。ここはこのブログに助けられました。環境変数で`YARN_VERSION=1`を指定することにより対処できました。

また、ビルド時に日時のズレが起きないよう環境変数に`TZ=Asia/Tokyo`を設定しています。