Astroのブログ記事にYouTubeをlazy loadingで埋め込む
初稿:
- 3 min read -
記事概要
- 先日のBloggerからAstroへ移行した記事の別途詳細
※参考 - Blog移行記事
10年以上の期間お世話になったGoogle Bloggerに別れを告げ、この度AstroでBlogサイトを構築し移行した。Astroは静的サイトを手軽に開発できる軽量フレームワーク。無料のテンプレートをベースにカスタマイズを行った。それなりの作業ボリュームとなったので、詳細は別記事に分け、今回は移行作業全体をまとめる。
目的
- Blog記事にYouTubeやXのポストを埋め込む
- astro-embedというパッケージを使用し、遅延読み込みする
- 記事をMDXで記述することを前提(markdownは非対象)
用語説明
Astro とは?
Astroは、ブログやマーケティング、eコマースなど、コンテンツ駆動のウェブサイトを作成するためのウェブフレームワークです。Astroは、新しいフロントエンドアーキテクチャを開拓し、他のフレームワークと比較してJavaScriptのオーバーヘッドと複雑さを低減することで知られています。高速でSEOに優れたウェブサイトが必要なら、Astroが最適です。 — Astro公式Docs より引用をDeepLで翻訳
作業環境
- OS - Ubuntu-22.04LTS on WSL2
- Node.js - v20.14.0
- pnpm - v9.4.0
- Astro - v4.11.3
作業詳細
パッケージのインストール
- プロジェクトにastro-embedをインストール
使用方法
- mdxファイルにastro-embedをimport
- Xの場合はURL、YouTubeの場合はURLまたは動画IDを使用してタグを設置
- こんな感じで表示される
- ポストのCSSは以下サイトにあるものを使用した
以上