静的サイトジェネレーターでブログ基盤を作り直した話

このブログは Astro で生成した静的ファイルを配信しています。

なぜ静的サイトにしたのか

公開するのが HTML と画像だけなので、サーバー側の攻撃面がほとんどありません。

サンプル画像

export function postState(post: Post, now = buildTime): PostState {
  if (post.data.status === 'draft') return 'draft';
  return post.data.publishAt <= now ? 'published' : 'scheduled';
}

予約公開

ビルドのたびに「公開日時を過ぎた記事」をすべて出力するので、定期的にビルドするだけで予約公開が実現できます。

← 記事一覧へ