diff --git a/docs/README.md b/docs/README.md
index 65cde152fc..72f4cc4e1d 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -23,6 +23,41 @@ Images can be added to `src/assets/` and embedded in Markdown with a relative li
Static assets, like favicons, can be placed in the `public/` directory.
+## Embedding Videos
+
+The documentation site supports video embeds using the [astro-embed](https://astro-embed.netlify.app/) package. To embed videos in MDX files:
+
+### YouTube Videos
+
+```mdx
+---
+title: Your Page
+---
+
+import { YouTube } from 'astro-embed';
+
+
+```
+
+### Vimeo Videos
+
+```mdx
+import { Vimeo } from 'astro-embed';
+
+
+```
+
+### Other Supported Embeds
+
+The astro-embed package also supports:
+- Twitter/X posts (`Tweet` component)
+- Mastodon posts (`MastodonPost` component)
+- GitHub Gists (`Gist` component)
+- Bluesky posts (`BlueskyPost` component)
+- Generic link previews (`LinkPreview` component)
+
+For complete documentation and component options, see the [astro-embed documentation](https://astro-embed.netlify.app/).
+
## 🧞 Commands
All commands are run from the root of the project, from a terminal:
diff --git a/docs/package-lock.json b/docs/package-lock.json
index 874f76f045..39ed0f9550 100644
--- a/docs/package-lock.json
+++ b/docs/package-lock.json
@@ -11,6 +11,7 @@
"@astrojs/starlight": "^0.37.3",
"@primer/octicons": "^19.21.2",
"astro": "^5.16.12",
+ "astro-embed": "^0.12.0",
"astro-mermaid": "^1.2.0",
"mermaid": "^11.12.2",
"sharp": "^0.34.5",
@@ -59,6 +60,119 @@
"astro": "^4.14.0 || ^5.0.0-beta.0"
}
},
+ "node_modules/@astro-community/astro-embed-baseline-status": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/@astro-community/astro-embed-baseline-status/-/astro-embed-baseline-status-0.2.2.tgz",
+ "integrity": "sha512-07TBEb+xQWWZfMuoHohcZv/r2VSB80/1xN5iLhzSqavLmdsMyebEnbc6tvw3yMkxvX9IBLduNA5SxvVkpmowNQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@astro-community/astro-embed-utils": "^0.2.0"
+ }
+ },
+ "node_modules/@astro-community/astro-embed-bluesky": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/@astro-community/astro-embed-bluesky/-/astro-embed-bluesky-0.1.6.tgz",
+ "integrity": "sha512-3y6Y3cRelLnR9AYMItmEAjcr83KAEa6WvsxQ1eHq1cPBzICXknuzphaZlmQZ+QG5NTtmEJD+2lQWrFba/BfM1A==",
+ "license": "MIT",
+ "dependencies": {
+ "@atproto/api": "^0.13.14"
+ }
+ },
+ "node_modules/@astro-community/astro-embed-gist": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/@astro-community/astro-embed-gist/-/astro-embed-gist-0.1.0.tgz",
+ "integrity": "sha512-wP3EoBZZjDoPLH6TZzem8jDJxOuweDoK5zWmSra0QBKz3Lry1tZGCwKII5mlnOL2AmTKLrfqrBXTxSGwb7AimQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@astro-community/astro-embed-utils": "^0.2.0"
+ }
+ },
+ "node_modules/@astro-community/astro-embed-integration": {
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/@astro-community/astro-embed-integration/-/astro-embed-integration-0.11.0.tgz",
+ "integrity": "sha512-xmwXN8039zUT0/lBO2GUr8cm5t/v+9Fh8QkPUhTWy+A7RR0+PwT1M3PBm8q01A1rK9q0myOyFHEcSOp+WkH5tg==",
+ "license": "MIT",
+ "dependencies": {
+ "@astro-community/astro-embed-bluesky": "^0.1.6",
+ "@astro-community/astro-embed-gist": "^0.1.0",
+ "@astro-community/astro-embed-link-preview": "^0.3.0",
+ "@astro-community/astro-embed-mastodon": "^0.1.0",
+ "@astro-community/astro-embed-twitter": "^0.5.10",
+ "@astro-community/astro-embed-vimeo": "^0.3.12",
+ "@astro-community/astro-embed-youtube": "^0.5.10",
+ "@types/unist": "^3.0.3",
+ "astro-auto-import": "^0.4.5",
+ "unist-util-select": "^5.1.0"
+ },
+ "peerDependencies": {
+ "astro": "^5.0.0 || ^6.0.0-alpha"
+ }
+ },
+ "node_modules/@astro-community/astro-embed-link-preview": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/@astro-community/astro-embed-link-preview/-/astro-embed-link-preview-0.3.1.tgz",
+ "integrity": "sha512-TI++efm08+kJqxqA7bvxBr7+Zt4yCceA6s3wvAQJ87eiaxbLqAFUSQ+paQD66ET9dIC+IuKzHOMwsoDfqBidYw==",
+ "license": "MIT",
+ "dependencies": {
+ "@astro-community/astro-embed-utils": "^0.2.0",
+ "@parse5/tools": "^0.7.0",
+ "parse5": "^8.0.0"
+ }
+ },
+ "node_modules/@astro-community/astro-embed-link-preview/node_modules/parse5": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-8.0.0.tgz",
+ "integrity": "sha512-9m4m5GSgXjL4AjumKzq1Fgfp3Z8rsvjRNbnkVwfu2ImRqE5D0LnY2QfDen18FSY9C573YU5XxSapdHZTZ2WolA==",
+ "license": "MIT",
+ "dependencies": {
+ "entities": "^6.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/inikulin/parse5?sponsor=1"
+ }
+ },
+ "node_modules/@astro-community/astro-embed-mastodon": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/@astro-community/astro-embed-mastodon/-/astro-embed-mastodon-0.1.1.tgz",
+ "integrity": "sha512-g5Mt1H6GxjkIvXC0HcKqLanZgXHu1e0vNqiQJ8ckryPKmbijYPfhGJYJLPHxE6PaFEA5tmwcmJouVcMPMjf2Kg==",
+ "license": "MIT",
+ "dependencies": {
+ "@astro-community/astro-embed-utils": "^0.2.0"
+ }
+ },
+ "node_modules/@astro-community/astro-embed-twitter": {
+ "version": "0.5.11",
+ "resolved": "https://registry.npmjs.org/@astro-community/astro-embed-twitter/-/astro-embed-twitter-0.5.11.tgz",
+ "integrity": "sha512-6cmyQY4LVVJj6x7qC6XrhWcxNffLvR+QGE/iw5HTOtAn60AStr6u+IX2Txpy6N6bta0DLjGqhTBhkC3NxmVKJg==",
+ "license": "MIT",
+ "dependencies": {
+ "@astro-community/astro-embed-utils": "^0.2.0"
+ }
+ },
+ "node_modules/@astro-community/astro-embed-utils": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/@astro-community/astro-embed-utils/-/astro-embed-utils-0.2.0.tgz",
+ "integrity": "sha512-Ia70AMCFOUOSoaMfMaK7Ovk7VyIY4opwzBJoA6GeL+omkvpFwDbSWmA8MOiMF4gJC0j/1dgrEir+txIb+WvsCA==",
+ "license": "MIT"
+ },
+ "node_modules/@astro-community/astro-embed-vimeo": {
+ "version": "0.3.12",
+ "resolved": "https://registry.npmjs.org/@astro-community/astro-embed-vimeo/-/astro-embed-vimeo-0.3.12.tgz",
+ "integrity": "sha512-VLNcsniT5qZ/7GaSGFWnX4ar0qcGyAYB1HQnAH362Zjqs0QI2he9u1nWv1kEx4xr3fZVxl6D2QuNN4xKtd8/ig==",
+ "license": "MIT",
+ "dependencies": {
+ "@astro-community/astro-embed-utils": "^0.2.0"
+ }
+ },
+ "node_modules/@astro-community/astro-embed-youtube": {
+ "version": "0.5.10",
+ "resolved": "https://registry.npmjs.org/@astro-community/astro-embed-youtube/-/astro-embed-youtube-0.5.10.tgz",
+ "integrity": "sha512-hVlx77KQLjKzElVQnrU5znQ5/E60keVSAPrhuWvQQHuqva5auJtt8YBpOThkwDMuEKXjQybEF1/3C07RZ8MAOQ==",
+ "license": "MIT",
+ "dependencies": {
+ "lite-youtube-embed": "^0.3.4"
+ }
+ },
"node_modules/@astrojs/compiler": {
"version": "2.13.0",
"resolved": "https://registry.npmjs.org/@astrojs/compiler/-/compiler-2.13.0.tgz",
@@ -218,6 +332,103 @@
"node": "18.20.8 || ^20.3.0 || >=22.0.0"
}
},
+ "node_modules/@atproto/api": {
+ "version": "0.13.35",
+ "resolved": "https://registry.npmjs.org/@atproto/api/-/api-0.13.35.tgz",
+ "integrity": "sha512-vsEfBj0C333TLjDppvTdTE0IdKlXuljKSveAeI4PPx/l6eUKNnDTsYxvILtXUVzwUlTDmSRqy5O4Ryh78n1b7g==",
+ "license": "MIT",
+ "dependencies": {
+ "@atproto/common-web": "^0.4.0",
+ "@atproto/lexicon": "^0.4.6",
+ "@atproto/syntax": "^0.3.2",
+ "@atproto/xrpc": "^0.6.8",
+ "await-lock": "^2.2.2",
+ "multiformats": "^9.9.0",
+ "tlds": "^1.234.0",
+ "zod": "^3.23.8"
+ }
+ },
+ "node_modules/@atproto/common-web": {
+ "version": "0.4.15",
+ "resolved": "https://registry.npmjs.org/@atproto/common-web/-/common-web-0.4.15.tgz",
+ "integrity": "sha512-A4l9gyqUNez8CjZp/Trypz/D3WIQsNj8dN05WR6+RoBbvwc9JhWjKPrm+WoVYc/F16RPdXHLkE3BEJlGIyYIiA==",
+ "license": "MIT",
+ "dependencies": {
+ "@atproto/lex-data": "^0.0.10",
+ "@atproto/lex-json": "^0.0.10",
+ "@atproto/syntax": "^0.4.3",
+ "zod": "^3.23.8"
+ }
+ },
+ "node_modules/@atproto/common-web/node_modules/@atproto/syntax": {
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/@atproto/syntax/-/syntax-0.4.3.tgz",
+ "integrity": "sha512-YoZUz40YAJr5nPwvCDWgodEOlt5IftZqPJvA0JDWjuZKD8yXddTwSzXSaKQAzGOpuM+/A3uXRtPzJJqlScc+iA==",
+ "license": "MIT",
+ "dependencies": {
+ "tslib": "^2.8.1"
+ }
+ },
+ "node_modules/@atproto/lex-data": {
+ "version": "0.0.10",
+ "resolved": "https://registry.npmjs.org/@atproto/lex-data/-/lex-data-0.0.10.tgz",
+ "integrity": "sha512-FDbcy8VIUVzS9Mi1F8SMxbkL/jOUmRRpqbeM1xB4A0fMxeZJTxf6naAbFt4gYF3quu/+TPJGmio6/7cav05FqQ==",
+ "license": "MIT",
+ "dependencies": {
+ "multiformats": "^9.9.0",
+ "tslib": "^2.8.1",
+ "uint8arrays": "3.0.0",
+ "unicode-segmenter": "^0.14.0"
+ }
+ },
+ "node_modules/@atproto/lex-json": {
+ "version": "0.0.10",
+ "resolved": "https://registry.npmjs.org/@atproto/lex-json/-/lex-json-0.0.10.tgz",
+ "integrity": "sha512-L6MyXU17C5ODMeob8myQ2F3xvgCTvJUtM0ew8qSApnN//iDasB/FDGgd7ty4UVNmx4NQ/rtvz8xV94YpG6kneQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@atproto/lex-data": "^0.0.10",
+ "tslib": "^2.8.1"
+ }
+ },
+ "node_modules/@atproto/lexicon": {
+ "version": "0.4.14",
+ "resolved": "https://registry.npmjs.org/@atproto/lexicon/-/lexicon-0.4.14.tgz",
+ "integrity": "sha512-jiKpmH1QER3Gvc7JVY5brwrfo+etFoe57tKPQX/SmPwjvUsFnJAow5xLIryuBaJgFAhnTZViXKs41t//pahGHQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@atproto/common-web": "^0.4.2",
+ "@atproto/syntax": "^0.4.0",
+ "iso-datestring-validator": "^2.2.2",
+ "multiformats": "^9.9.0",
+ "zod": "^3.23.8"
+ }
+ },
+ "node_modules/@atproto/lexicon/node_modules/@atproto/syntax": {
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/@atproto/syntax/-/syntax-0.4.3.tgz",
+ "integrity": "sha512-YoZUz40YAJr5nPwvCDWgodEOlt5IftZqPJvA0JDWjuZKD8yXddTwSzXSaKQAzGOpuM+/A3uXRtPzJJqlScc+iA==",
+ "license": "MIT",
+ "dependencies": {
+ "tslib": "^2.8.1"
+ }
+ },
+ "node_modules/@atproto/syntax": {
+ "version": "0.3.4",
+ "resolved": "https://registry.npmjs.org/@atproto/syntax/-/syntax-0.3.4.tgz",
+ "integrity": "sha512-8CNmi5DipOLaVeSMPggMe7FCksVag0aO6XZy9WflbduTKM4dFZVCs4686UeMLfGRXX+X966XgwECHoLYrovMMg==",
+ "license": "MIT"
+ },
+ "node_modules/@atproto/xrpc": {
+ "version": "0.6.12",
+ "resolved": "https://registry.npmjs.org/@atproto/xrpc/-/xrpc-0.6.12.tgz",
+ "integrity": "sha512-Ut3iISNLujlmY9Gu8sNU+SPDJDvqlVzWddU8qUr0Yae5oD4SguaUFjjhireMGhQ3M5E0KljQgDbTmnBo1kIZ3w==",
+ "license": "MIT",
+ "dependencies": {
+ "@atproto/lexicon": "^0.4.10",
+ "zod": "^3.23.8"
+ }
+ },
"node_modules/@babel/code-frame": {
"version": "7.27.1",
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz",
@@ -1406,6 +1617,15 @@
"win32"
]
},
+ "node_modules/@parse5/tools": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/@parse5/tools/-/tools-0.7.0.tgz",
+ "integrity": "sha512-JDvrGhc8kYBq7/SM4obJkpgwWo6pRjF/fo9CCaiJyVOkDf203Ciq2UF6TjzCFXKs7Q/zS2sS4deyBx0XzRvh9Q==",
+ "license": "MIT",
+ "peerDependencies": {
+ "parse5": "7.x || 8.x"
+ }
+ },
"node_modules/@playwright/test": {
"version": "1.57.0",
"resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.57.0.tgz",
@@ -2542,6 +2762,41 @@
"sharp": "^0.34.0"
}
},
+ "node_modules/astro-auto-import": {
+ "version": "0.4.6",
+ "resolved": "https://registry.npmjs.org/astro-auto-import/-/astro-auto-import-0.4.6.tgz",
+ "integrity": "sha512-8EgeOTChgHX6x31s2CjeOUCDuG2s0wgT9D9zXI4CxgmljEoJeCAWIq/henhdmvZ+Y103MfH7CYNw5VW7GiM6xQ==",
+ "license": "MIT",
+ "dependencies": {
+ "acorn": "^8.8.0"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ },
+ "peerDependencies": {
+ "astro": "^2.0.0 || ^3.0.0-beta || ^4.0.0-beta || ^5.0.0-beta"
+ }
+ },
+ "node_modules/astro-embed": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/astro-embed/-/astro-embed-0.12.0.tgz",
+ "integrity": "sha512-Hp/zfIFsibBSCXEC09Lk38uYq5IJyXClbNASiT/06fqrMvgWJzPEPvtnCEo1qIw8hxIh+4+esAJoktu5YKRIEA==",
+ "license": "MIT",
+ "dependencies": {
+ "@astro-community/astro-embed-baseline-status": "^0.2.2",
+ "@astro-community/astro-embed-bluesky": "^0.1.6",
+ "@astro-community/astro-embed-gist": "^0.1.0",
+ "@astro-community/astro-embed-integration": "^0.11.0",
+ "@astro-community/astro-embed-link-preview": "^0.3.0",
+ "@astro-community/astro-embed-mastodon": "^0.1.0",
+ "@astro-community/astro-embed-twitter": "^0.5.10",
+ "@astro-community/astro-embed-vimeo": "^0.3.12",
+ "@astro-community/astro-embed-youtube": "^0.5.10"
+ },
+ "peerDependencies": {
+ "astro": "^5.0.0 || ^6.0.0-alpha"
+ }
+ },
"node_modules/astro-expressive-code": {
"version": "0.41.3",
"resolved": "https://registry.npmjs.org/astro-expressive-code/-/astro-expressive-code-0.41.3.tgz",
@@ -2622,6 +2877,12 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/await-lock": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/await-lock/-/await-lock-2.2.2.tgz",
+ "integrity": "sha512-aDczADvlvTGajTDjcjpJMqRkOF6Qdz3YbPZm/PyW6tKPkx2hlYBzxMhEywM/tU72HrVZjgl5VCdRuMlA7pZ8Gw==",
+ "license": "MIT"
+ },
"node_modules/axobject-query": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz",
@@ -5776,6 +6037,12 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/iso-datestring-validator": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/iso-datestring-validator/-/iso-datestring-validator-2.2.2.tgz",
+ "integrity": "sha512-yLEMkBbLZTlVQqOnQ4FiMujR6T4DEcCb1xizmvXS+OxuhwcbtynoosRzdMA69zZCShCNAbi+gJ71FxZBBXx1SA==",
+ "license": "MIT"
+ },
"node_modules/js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
@@ -5895,6 +6162,12 @@
"uc.micro": "^2.0.0"
}
},
+ "node_modules/lite-youtube-embed": {
+ "version": "0.3.4",
+ "resolved": "https://registry.npmjs.org/lite-youtube-embed/-/lite-youtube-embed-0.3.4.tgz",
+ "integrity": "sha512-aXgxpwK7AIW58GEbRzA8EYaY4LWvF3FKak6B9OtSJmuNyLhX2ouD4cMTxz/yR5HFInhknaYd2jLWOTRTvT8oAw==",
+ "license": "Apache-2.0"
+ },
"node_modules/local-pkg": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-1.1.2.tgz",
@@ -7328,6 +7601,12 @@
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
"license": "MIT"
},
+ "node_modules/multiformats": {
+ "version": "9.9.0",
+ "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz",
+ "integrity": "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==",
+ "license": "(Apache-2.0 AND MIT)"
+ },
"node_modules/nanoid": {
"version": "3.3.11",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz",
@@ -7677,6 +7956,7 @@
"resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz",
"integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==",
"license": "MIT",
+ "peer": true,
"dependencies": {
"entities": "^6.0.0"
},
@@ -9629,6 +9909,15 @@
"url": "https://github.com/sponsors/SuperchupuDev"
}
},
+ "node_modules/tlds": {
+ "version": "1.261.0",
+ "resolved": "https://registry.npmjs.org/tlds/-/tlds-1.261.0.tgz",
+ "integrity": "sha512-QXqwfEl9ddlGBaRFXIvNKK6OhipSiLXuRuLJX5DErz0o0Q0rYxulWLdFryTkV5PkdZct5iMInwYEGe/eR++1AA==",
+ "license": "MIT",
+ "bin": {
+ "tlds": "bin.js"
+ }
+ },
"node_modules/tmp": {
"version": "0.2.5",
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.5.tgz",
@@ -9714,7 +10003,6 @@
"version": "2.8.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
"integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
- "devOptional": true,
"license": "0BSD"
},
"node_modules/type-fest": {
@@ -9763,6 +10051,15 @@
"integrity": "sha512-yDJTmhydvl5lJzBmy/hyOAA0d+aqCBuwl818haVdYCRrWV84o7YyeVm4QlVHStqNrrJSTb6jKuFAVqAFsr+K3Q==",
"license": "MIT"
},
+ "node_modules/uint8arrays": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.0.0.tgz",
+ "integrity": "sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA==",
+ "license": "MIT",
+ "dependencies": {
+ "multiformats": "^9.4.2"
+ }
+ },
"node_modules/ultrahtml": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/ultrahtml/-/ultrahtml-1.6.0.tgz",
@@ -9781,6 +10078,12 @@
"integrity": "sha512-t5Fy/nfn+14LuOc2KNYg75vZqClpAiqscVvMygNnlsHBFpSXdJaYtXMcdNLpl/Qvc3P2cB3s6lOV51nqsFq4ag==",
"license": "MIT"
},
+ "node_modules/unicode-segmenter": {
+ "version": "0.14.5",
+ "resolved": "https://registry.npmjs.org/unicode-segmenter/-/unicode-segmenter-0.14.5.tgz",
+ "integrity": "sha512-jHGmj2LUuqDcX3hqY12Ql+uhUTn8huuxNZGq7GvtF6bSybzH3aFgedYu/KTzQStEgt1Ra2F3HxadNXsNjb3m3g==",
+ "license": "MIT"
+ },
"node_modules/unified": {
"version": "11.0.5",
"resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz",
@@ -9919,6 +10222,23 @@
"url": "https://opencollective.com/unified"
}
},
+ "node_modules/unist-util-select": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/unist-util-select/-/unist-util-select-5.1.0.tgz",
+ "integrity": "sha512-4A5mfokSHG/rNQ4g7gSbdEs+H586xyd24sdJqF1IWamqrLHvYb+DH48fzxowyOhOfK7YSqX+XlCojAyuuyyT2A==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/unist": "^3.0.0",
+ "css-selector-parser": "^3.0.0",
+ "devlop": "^1.1.0",
+ "nth-check": "^2.0.0",
+ "zwitch": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
"node_modules/unist-util-stringify-position": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz",
diff --git a/docs/package.json b/docs/package.json
index 9306a708ff..9204841d97 100644
--- a/docs/package.json
+++ b/docs/package.json
@@ -20,6 +20,7 @@
"@astrojs/starlight": "^0.37.3",
"@primer/octicons": "^19.21.2",
"astro": "^5.16.12",
+ "astro-embed": "^0.12.0",
"astro-mermaid": "^1.2.0",
"mermaid": "^11.12.2",
"sharp": "^0.34.5",
diff --git a/docs/src/content/docs/examples/embedding-videos.mdx b/docs/src/content/docs/examples/embedding-videos.mdx
new file mode 100644
index 0000000000..f559dd03c4
--- /dev/null
+++ b/docs/src/content/docs/examples/embedding-videos.mdx
@@ -0,0 +1,62 @@
+---
+title: Embedding Videos
+description: How to embed videos and rich media in documentation pages
+sidebar:
+ order: 999
+---
+
+import { YouTube, Vimeo } from 'astro-embed';
+
+The documentation site supports embedding videos and other rich media using the [astro-embed](https://astro-embed.netlify.app/) package.
+
+## YouTube Videos
+
+To embed a YouTube video, import the `YouTube` component and use the video ID:
+
+```mdx
+import { YouTube } from 'astro-embed';
+
+
+```
+
+**Example:**
+
+
+
+## Vimeo Videos
+
+Similarly, for Vimeo videos, import the `Vimeo` component:
+
+```mdx
+import { Vimeo } from 'astro-embed';
+
+
+```
+
+**Example:**
+
+
+
+## Other Supported Embeds
+
+The astro-embed package provides additional components for various platforms:
+
+- **Twitter/X posts**: `Tweet` component
+- **Mastodon posts**: `MastodonPost` component
+- **GitHub Gists**: `Gist` component
+- **Bluesky posts**: `BlueskyPost` component
+- **Link previews**: `LinkPreview` component
+
+## Performance
+
+The video embed components use lite-youtube-embed and lite-vimeo-embed under the hood, which means:
+
+- Videos don't load until the user clicks to play
+- Faster page load times
+- Reduced bandwidth usage
+- Better Core Web Vitals scores
+
+## Additional Options
+
+Each component supports various options for customization. For complete documentation and all available props, see the [astro-embed documentation](https://astro-embed.netlify.app/).
+