この記事は、Qiita で投稿した記事のコピーです
この記事は、はじめてのアドベントカレンダー 5 日目の記事です
初めてアドベントカレンダーに参加したので少し緊張していますが、自分が描ける範囲で記事を書いていきたいと思います
数日前に Astro を利用して個人ブログを作成したのですがその際の体験がとても良かったので、Astro を利用して個人ブログを作成する方法を紹介します
Astro は、静的サイトジェネレーターの一つで、コンテンツを高速かつ効率的に配信するために設計されています Astro は、JavaScript フレームワークやライブラリ(React、Vue、Svelte など)と統合できる柔軟性を持ち、開発者が好みのツールを使用してコンポーネントを作成できます
Astro を利用して個人ブログを作成するためには、まず Astro をセットアップする必要があります 次のコマンドを実行して、Astro プロジェクトを作成します
npm create astro@latest -- --template blog
質問に従ってプロジェクトを作成し、次のコマンドを実行して開発サーバーを起動します
npm run dev
ブラウザで http://localhost:4321
にアクセスすると、Astro のデフォルトのブログテンプレートが表示されます
Astro のデフォルトのブログテンプレートには、src/content/blog
ディレクトリが含まれており、このディレクトリにブログ記事を追加することができます
src/content/blog
ディレクトリに、新しい Markdown ファイル(例: hello.md
)を作成し、記事の内容を記述します
---
title: "Hello Astro!"
description: "This is the first Astro article I've created!"
pubDate: "Dec 05 2024"
heroImage: "/blog-placeholder-5.jpg"
---
Hello, Astro! This is the first Astro article I've created!
このように、title
、description
、pubDate
、heroImage
などのフロントマターを設定し、記事の内容を記述します
ブラウザで http://localhost:4321/blog/hello
にアクセスすると、新しいブログ記事が表示されます
Astro では、ソーシャルメディアの埋め込みも簡単に行うことができます コマンドを利用して次のパッケージをインストールします
npm i astro-embed
先ほど作成した hello.md
の名前を hello.mdx
に変更し、次のようにソーシャルメディアの埋め込みを追加します
---
title: "Hello Astro!"
description: "This is the first Astro article I've created!"
pubDate: "Dec 05 2024"
heroImage: "/blog-placeholder-5.jpg"
---
<!-- Omit code as it will be off the screen. -->
import { BlueskyPost } from 'astro-embed';
<BlueskyPost id='https://bsky.app/profile/mk.gg/post/3la4wqeyztm2u' />
このように、astro-embed
パッケージをインポートし、<BlueskyPost id='' />
のように埋め込みたいソーシャルメディアのコンポーネントを追加します
ブラウザで http://localhost:4321/blog/hello
にアクセスすると、ソーシャルメディアの埋め込みが表示されます
Astro を利用して個人ブログを作成する方法を紹介しました Astro は、パフォーマンスが高く、柔軟性があり、拡張性があるため、個人ブログを作成するのに最適なツールです ぜひ、Astro を利用して個人ブログを作成してみてください!