Skip to content

astroをv2系からv4系にアップデートした

Published:

Table of contents

Open Table of contents

はじめに

astroが1年で大きくバージョンアップした。背景として、本ブログはastro-paperというテンプレートを使用している。 astro-paperもしっかりアップデートされていたので、それに合わせてアップデートした。

アップデートしてみて

テンプレートからの変更点

主に以下の点の変更を行った。テンプレートからアップデートを実施しようとしたが、マージの複雑さを避けるため、新たにリポジトリをクローンして手動で変更を行った。

Slugの実装について

astroは指定したコンテンツディレクトリ配下のパスを自動でslugとして使用する。 たとえば、src/content/blog/2024/02/astro-version-update/index.mdの場合、2024/02/astro-version-updateがslugとして使用される。ただし、/はslugとして使用できないため、-に変換する実装が必要となる。

以下のような関数を作成し、slugify関数を使用することで、slugを生成することができる。

export function slugify(str) {
  return str
    .toLowerCase()
    .replace(/ /g, "-")
    .replace(/[^\w-]+/g, "");
}

まとめ

感想としてはv4になり、ブログ記載に限っては少し快適になったとは感じた。ただ、テンプレートからの変更点が多く、手動で変更を行う必要があったので、それが少し大変だった。いずれ自分でテンプレート作成したい。

最近話題の技術書

ハッキング・ラボのつくりかた
ハッキングラボ