ブログを作り始めました

Astroに入門した

ブログを作りたいとずっと思っていて、以前からいくつかのフレームワークを試していました。

例えば Next.jsHugo を試してみたのですが、どうにも思った通りに動かなかったり、やりたいことを実現できなかったりで困っていたところ、 Astro が非常に上手くハマったのでAstroでブログを作り始めました。

チュートリアルをやってからドキュメントを見ながら検証をしていたのですが、その中でドキュメントには書いてなさそうな事項があったので今回の記事ではそれを書いてみようと思います。

ページネーションの型について

Astroでは ページネーションを実装することができます

この時に getStaticPaths の引数で { paginate } を受け取るのですが、TypeScriptを使っている場合、ドキュメント記載のコードではエラーが出ました。

このエラーは GetStaticPathsOptions をインポートして指定することで解消することができます。

import type { GetStaticPathsOptions } from "astro"

export const getStaticPaths = async ({ paginate }: GetStaticPathsOptions) => {
}

エンドポイントの型について

Astroには js/ts で 静的ファイルのエンドポイント を作成することができます。

ブログを作る際に使うことはあまり多くないと思うのですが、 RSSフィードを作る 時には必要になってきます。

この時もページネーションと同様に型アノテーションが必要となるのですが、 APIContext をインポートして指定することで解消できました。

import type { APIContext } from "astro"

export const GET = async (context: APIContext) => {
}

最後に

まだまだ作成途中のブログですが、「とりあえず公開してみる」というのが大事だと思ったので記事を書きながらブログを作っていこうと思います。