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/). +