diff --git a/README.md b/README.md index d6cc510..3778cc9 100644 --- a/README.md +++ b/README.md @@ -609,6 +609,8 @@ Configure the compressor in `astro.config.mjs` file: }); ``` +- [Bag of Tricks for Astro's View TranĀ­siĀ­tions](https://github.com/martrapp/astro-vtbot#readme): is a collection of extensions and support aimed at enhancing Astro's view transitions. Whether you're looking to add flair to your website or streamline user experience, this toolkit offers various techniques to elevate your projects. In the template, it was used to add View Transitions to a Starlight docs. + ### Flexibility with Integrations The great thing about Astro is its rich ecosystem of integrations, allowing you to tailor project functionalities to your exact needs. Feel free to explore [Astro integrations page](https://astro.build/integrations/) and add additional capabilities as you see fit. diff --git a/astro.config.mjs b/astro.config.mjs index 77dbe65..f63f2c2 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -79,21 +79,16 @@ export default defineConfig({ favicon: "/favicon.ico", components: { SiteTitle: "./src/components/ui/starlight/SiteTitle.astro", + Head: "./src/components/ui/starlight/Head.astro", }, head: [ { tag: "meta", - attrs: { - property: "og:image", - content: "https://screwfast.uk" + "/social.png", - }, + attrs: { property: "og:image", content: "https://screwfast.uk" + "/social.webp" }, }, { tag: "meta", - attrs: { - property: "twitter:image", - content: "https://screwfast.uk" + "/social.png", - }, + attrs: { property: "twitter:image", content: "https://screwfast.uk" + "/social.webp" }, }, ], }), diff --git a/package-lock.json b/package-lock.json index 40c5a87..594e836 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,12 +8,12 @@ "version": "0.0.1", "dependencies": { "@astrojs/check": "^0.5.10", - "@astrojs/sitemap": "^3.1.1", - "@astrojs/starlight": "^0.21.2", + "@astrojs/sitemap": "^3.1.2", + "@astrojs/starlight": "^0.21.3", "@astrojs/starlight-tailwind": "^2.0.1", "@astrojs/tailwind": "^5.1.0", - "@astrojs/vercel": "^7.4.0", - "astro": "^4.5.9", + "@astrojs/vercel": "^7.5.0", + "astro": "^4.5.12", "astro-compressor": "^0.4.1", "globby": "^14.0.1", "gsap": "^3.12.5", @@ -25,9 +25,10 @@ }, "devDependencies": { "@tailwindcss/forms": "^0.5.7", + "astro-vtbot": "^1.7.1", "prettier": "^3.2.5", "prettier-plugin-astro": "^0.13.0", - "prettier-plugin-tailwindcss": "^0.5.12", + "prettier-plugin-tailwindcss": "^0.5.13", "typescript": "^5.4.3" } }, @@ -78,9 +79,9 @@ "integrity": "sha512-XpC8MAaWjD1ff6/IfkRq/5k1EFj6zhCNqXRd5J43SVJEBj/Bsmizkm8N0xOYscGcDFQkRgEw6/eKnI5x/1l6aA==" }, "node_modules/@astrojs/internal-helpers": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@astrojs/internal-helpers/-/internal-helpers-0.3.0.tgz", - "integrity": "sha512-tGmHvrhpzuz0JBHaJX8GywN9g4rldVNHtkoVDC3m/DdzBO70jGoVuc0uuNVglRYnsdwkbG0K02Iw3nOOR3/Y4g==" + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@astrojs/internal-helpers/-/internal-helpers-0.4.0.tgz", + "integrity": "sha512-6B13lz5n6BrbTqCTwhXjJXuR1sqiX/H6rTxzlXx+lN1NnV4jgnq/KJldCQaUWJzPL5SiWahQyinxAbxQtwgPHA==" }, "node_modules/@astrojs/language-server": { "version": "2.8.4", @@ -193,18 +194,18 @@ } }, "node_modules/@astrojs/sitemap": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@astrojs/sitemap/-/sitemap-3.1.1.tgz", - "integrity": "sha512-qPgdBIcDUaea98mTtLfi5z9oXZpzSjEn/kes70/Ex8FOZZ+DIHVKRYOLOtvy8p+FTXr/9oc7BjmIbTYmYLLJVg==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@astrojs/sitemap/-/sitemap-3.1.2.tgz", + "integrity": "sha512-FxOJldIl5ltZ5CNjocQxHkAO9orwHBjqtaU28o4smobp9vowS0nbGp+I9CrPxkzWdl1crSDm9vjL9tnvG1DSug==", "dependencies": { "sitemap": "^7.1.1", "zod": "^3.22.4" } }, "node_modules/@astrojs/starlight": { - "version": "0.21.2", - "resolved": "https://registry.npmjs.org/@astrojs/starlight/-/starlight-0.21.2.tgz", - "integrity": "sha512-ziDfrbhBjw/+HwMITk6yz7SbkQKQJZY9GlaPHntSPq4kYs+b2ru3toIxj2l3T9LUFtUpNWHkj+C1wJTmfLZfaw==", + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/@astrojs/starlight/-/starlight-0.21.3.tgz", + "integrity": "sha512-SvIKB8ECR+RhYdTg3bKsTL2e5Yac75eTatfOMGjkp3ced9Bx34xXMSURuKx/AHBWo1X/+WoWzKT3Y3d2y7kkVg==", "dependencies": { "@astrojs/mdx": "^2.1.1", "@astrojs/sitemap": "^3.0.5", @@ -287,11 +288,11 @@ } }, "node_modules/@astrojs/vercel": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@astrojs/vercel/-/vercel-7.4.0.tgz", - "integrity": "sha512-KMCDCOV+UwsJnDX4Q/FE18S0+XwOlu3e6UA/Jr/v2vh0v24aDpkbA0L9DmV4c1ETHLY/vxfjey40gk30iSXNKw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@astrojs/vercel/-/vercel-7.5.0.tgz", + "integrity": "sha512-RYFZNHkfNgFNb41nblG26ubw5924hAjLYs+Bpp4kttcsYJAX/wavIfDbfZQ/XesDTKwIH+Gi/+3c5bldZePFDA==", "dependencies": { - "@astrojs/internal-helpers": "0.3.0", + "@astrojs/internal-helpers": "0.4.0", "@vercel/analytics": "^1.0.2", "@vercel/edge": "^1.1.1", "@vercel/nft": "^0.26.4", @@ -2807,13 +2808,13 @@ } }, "node_modules/astro": { - "version": "4.5.9", - "resolved": "https://registry.npmjs.org/astro/-/astro-4.5.9.tgz", - "integrity": "sha512-GheU72Goz7dYQNKaqTxB2H49cNvHfahGSbNkTvMXk+gyHf/g633qadqlO2ZQbTUacoUWmDzvS5fhMZt2/w4naQ==", + "version": "4.5.12", + "resolved": "https://registry.npmjs.org/astro/-/astro-4.5.12.tgz", + "integrity": "sha512-xIJcFI2hbyV8+h5pWjL7SKD1jIP0K01fYVAH+gdAt0mJaXy+u8Mj+goD0cPlK6sEaykR+7zxQLYGKJ44U4qarg==", "dependencies": { "@astrojs/compiler": "^2.7.0", - "@astrojs/internal-helpers": "0.3.0", - "@astrojs/markdown-remark": "4.3.1", + "@astrojs/internal-helpers": "0.4.0", + "@astrojs/markdown-remark": "4.3.2", "@astrojs/telemetry": "3.0.4", "@babel/core": "^7.24.3", "@babel/generator": "^7.23.3", @@ -3149,10 +3150,20 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/astro-vtbot": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/astro-vtbot/-/astro-vtbot-1.7.1.tgz", + "integrity": "sha512-LTOs5d5Y1A7I/19RDeZKfur/oRsAD9Rlf9fp5pvidlp8kHbagWcI96EiDewNyK+j9gdROu9mw46WExOj1BQ4dg==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/martrapp" + } + }, "node_modules/astro/node_modules/@astrojs/markdown-remark": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@astrojs/markdown-remark/-/markdown-remark-4.3.1.tgz", - "integrity": "sha512-eJFi600tkRjTFiwzY9oD8AgCgB7gFqyWCKWuZ33dATVBgLiROD+zlMZ8STZzU7+ZALvmiUAun/K7umTmP5YfVQ==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@astrojs/markdown-remark/-/markdown-remark-4.3.2.tgz", + "integrity": "sha512-4Oa4VaYiBd0MatB+rWIU/0A8pZH/sK3c2QkRYb+OO2lPl+qzevJtWaZY8hAQc4qurIOlRdn6B6ofDAGhWw+DSg==", "dependencies": { "@astrojs/prism": "^3.0.0", "github-slugger": "^2.0.0", @@ -7740,9 +7751,9 @@ "devOptional": true }, "node_modules/prettier-plugin-tailwindcss": { - "version": "0.5.12", - "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.5.12.tgz", - "integrity": "sha512-o74kiDBVE73oHW+pdkFSluHBL3cYEvru5YgEqNkBMFF7Cjv+w1vI565lTlfoJT4VLWDe0FMtZ7FkE/7a4pMXSQ==", + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.5.13.tgz", + "integrity": "sha512-2tPWHCFNC+WRjAC4SIWQNSOdcL1NNkydXim8w7TDqlZi+/ulZYz2OouAI6qMtkggnPt7lGamboj6LcTMwcCvoQ==", "dev": true, "engines": { "node": ">=14.21.3" @@ -7752,6 +7763,7 @@ "@prettier/plugin-pug": "*", "@shopify/prettier-plugin-liquid": "*", "@trivago/prettier-plugin-sort-imports": "*", + "@zackad/prettier-plugin-twig-melody": "*", "prettier": "^3.0", "prettier-plugin-astro": "*", "prettier-plugin-css-order": "*", @@ -7777,6 +7789,9 @@ "@trivago/prettier-plugin-sort-imports": { "optional": true }, + "@zackad/prettier-plugin-twig-melody": { + "optional": true + }, "prettier-plugin-astro": { "optional": true }, @@ -7806,9 +7821,6 @@ }, "prettier-plugin-svelte": { "optional": true - }, - "prettier-plugin-twig-melody": { - "optional": true } } }, diff --git a/package.json b/package.json index 06a0fd6..e26d3d5 100644 --- a/package.json +++ b/package.json @@ -11,12 +11,12 @@ }, "dependencies": { "@astrojs/check": "^0.5.10", - "@astrojs/sitemap": "^3.1.1", - "@astrojs/starlight": "^0.21.2", + "@astrojs/sitemap": "^3.1.2", + "@astrojs/starlight": "^0.21.3", "@astrojs/starlight-tailwind": "^2.0.1", "@astrojs/tailwind": "^5.1.0", - "@astrojs/vercel": "^7.4.0", - "astro": "^4.5.9", + "@astrojs/vercel": "^7.5.0", + "astro": "^4.5.12", "astro-compressor": "^0.4.1", "globby": "^14.0.1", "gsap": "^3.12.5", @@ -28,9 +28,10 @@ }, "devDependencies": { "@tailwindcss/forms": "^0.5.7", + "astro-vtbot": "^1.7.1", "prettier": "^3.2.5", "prettier-plugin-astro": "^0.13.0", - "prettier-plugin-tailwindcss": "^0.5.12", + "prettier-plugin-tailwindcss": "^0.5.13", "typescript": "^5.4.3" } } diff --git a/src/components/ui/starlight/Head.astro b/src/components/ui/starlight/Head.astro new file mode 100644 index 0000000..5ce9c40 --- /dev/null +++ b/src/components/ui/starlight/Head.astro @@ -0,0 +1,26 @@ +--- +import StarlightHead from "@astrojs/starlight/components/Head.astro"; +import { + default as VtbotStarlight, + type Props, +} from "astro-vtbot/components/starlight/Base.astro"; + +// https://docs.astro.build/en/guides/view-transitions/#fallback-control +Astro.props.viewTransitionsFallback = "animate"; +--- + + + + + +