Merge branch 'main' into starlight_i18n

This commit is contained in:
Emil Gulamov 2024-06-12 22:56:17 +04:00 committed by GitHub
commit f7ec450b87
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 53 additions and 42 deletions

View file

@ -16,6 +16,7 @@ ScrewFast is an open-source template designed for quick and efficient web projec
* [Deployment](#deployment) * [Deployment](#deployment)
+ [Building Your Site](#building-your-site) + [Building Your Site](#building-your-site)
+ [Deploying to Vercel](#deploying-to-vercel) + [Deploying to Vercel](#deploying-to-vercel)
+ [Deploying to Netlify](#deploying-to-netlify)
* [Project Structure](#project-structure) * [Project Structure](#project-structure)
* [Static Assets and Public Resources](#static-assets-and-public-resources) * [Static Assets and Public Resources](#static-assets-and-public-resources)
* [Customization](#customization) * [Customization](#customization)
@ -155,6 +156,12 @@ Click the button below to start deploying your project on Vercel:
[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fmearashadowfax%2FScrewFast) [![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fmearashadowfax%2FScrewFast)
### Deploying to Netlify
Click the button below to start deploying your project on Netlify:
[![Deploy to Netlify](https://www.netlify.com/img/deploy/button.svg)](https://app.netlify.com/start/deploy?repository=https://github.com/mearashadowfax/ScrewFast)
## Project Structure ## Project Structure
ScrewFast organizes modular components, content, and layouts to streamline development and content management. ScrewFast organizes modular components, content, and layouts to streamline development and content management.

67
package-lock.json generated
View file

@ -12,23 +12,23 @@
"@astrojs/starlight": "^0.24.2", "@astrojs/starlight": "^0.24.2",
"@astrojs/starlight-tailwind": "^2.0.3", "@astrojs/starlight-tailwind": "^2.0.3",
"@astrojs/tailwind": "^5.1.0", "@astrojs/tailwind": "^5.1.0",
"@astrojs/vercel": "^7.7.0",
"astro": "^4.10.2", "astro": "^4.10.2",
"@astrojs/vercel": "^7.6.0",
"astro-compressor": "^0.4.1", "astro-compressor": "^0.4.1",
"globby": "^14.0.1", "globby": "^14.0.1",
"gsap": "^3.12.5", "gsap": "^3.12.5",
"html-minifier-terser": "^7.2.0", "html-minifier-terser": "^7.2.0",
"preline": "^2.1.0", "preline": "^2.3.0",
"sharp": "^0.33.4", "sharp": "^0.33.4",
"sharp-ico": "^0.1.5", "sharp-ico": "^0.1.5",
"tailwindcss": "^3.4.3" "tailwindcss": "^3.4.4"
}, },
"devDependencies": { "devDependencies": {
"@tailwindcss/forms": "^0.5.7", "@tailwindcss/forms": "^0.5.7",
"astro-vtbot": "^1.7.18", "astro-vtbot": "^1.7.23",
"prettier": "^3.2.5", "prettier": "^3.3.1",
"prettier-plugin-astro": "^0.13.0", "prettier-plugin-astro": "^0.14.0",
"prettier-plugin-tailwindcss": "^0.5.14", "prettier-plugin-tailwindcss": "^0.6.2",
"typescript": "^5.4.5" "typescript": "^5.4.5"
} }
}, },
@ -2142,9 +2142,11 @@
] ]
}, },
"node_modules/@shikijs/core": { "node_modules/@shikijs/core": {
"version": "1.6.4", "version": "1.6.4",
"resolved": "https://registry.npmjs.org/@shikijs/core/-/core-1.6.4.tgz", "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-1.6.4.tgz",
"integrity": "sha512-WTU9rzZae1p2v6LOxMf6LhtmZOkIHYYW160IuahUyJy7YXPPjyWZLR1ag+SgD22ZMxZtz1gfU6Tccc8t0Il/XA==" "integrity": "sha512-WTU9rzZae1p2v6LOxMf6LhtmZOkIHYYW160IuahUyJy7YXPPjyWZLR1ag+SgD22ZMxZtz1gfU6Tccc8t0Il/XA=="
}, },
"node_modules/@sindresorhus/merge-streams": { "node_modules/@sindresorhus/merge-streams": {
"version": "2.3.0", "version": "2.3.0",
@ -2738,9 +2740,9 @@
} }
}, },
"node_modules/astro-vtbot": { "node_modules/astro-vtbot": {
"version": "1.7.18", "version": "1.7.23",
"resolved": "https://registry.npmjs.org/astro-vtbot/-/astro-vtbot-1.7.18.tgz", "resolved": "https://registry.npmjs.org/astro-vtbot/-/astro-vtbot-1.7.23.tgz",
"integrity": "sha512-ktW6aCblEh4sR6HGrTAjGv6gC61TRiOls7cqFjflTcvidQ1TC6lN/KmZkkUZOry9MgyPGRrHBEwK0NXfUNh+ZQ==", "integrity": "sha512-5gLNa+pLJsvokVEemIPBH7M+enNZKRzPnXk7zJ4/Wb0U8q6S1oiBmrsVzUZGITtF2FRQ47dGvNwp+qkxUTHkpQ==",
"dev": true, "dev": true,
"funding": { "funding": {
"type": "github", "type": "github",
@ -2925,11 +2927,11 @@
} }
}, },
"node_modules/braces": { "node_modules/braces": {
"version": "3.0.2", "version": "3.0.3",
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
"dependencies": { "dependencies": {
"fill-range": "^7.0.1" "fill-range": "^7.1.1"
}, },
"engines": { "engines": {
"node": ">=8" "node": ">=8"
@ -3845,9 +3847,9 @@
"integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw=="
}, },
"node_modules/fill-range": { "node_modules/fill-range": {
"version": "7.0.1", "version": "7.1.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
"dependencies": { "dependencies": {
"to-regex-range": "^5.0.1" "to-regex-range": "^5.0.1"
}, },
@ -7008,17 +7010,17 @@
} }
}, },
"node_modules/preline": { "node_modules/preline": {
"version": "2.1.0", "version": "2.3.0",
"resolved": "https://registry.npmjs.org/preline/-/preline-2.1.0.tgz", "resolved": "https://registry.npmjs.org/preline/-/preline-2.3.0.tgz",
"integrity": "sha512-7pwrGNPVfGYUv1XHW9i49ejowIVHCDTx8JvbM43hapLi1GCjj9NnAZmTKupxaROboB4Nvp2x0ADBVKAhpmZppA==", "integrity": "sha512-mBMF7NTbbhC2wp+1RHbBaHUCXsdM9ObJo64LvDcNRSKLbaC4uszkqBZ/X/paklEQh3+dOUAVBp1zvE5yQf/czw==",
"dependencies": { "dependencies": {
"@popperjs/core": "^2.11.2" "@popperjs/core": "^2.11.2"
} }
}, },
"node_modules/prettier": { "node_modules/prettier": {
"version": "3.2.5", "version": "3.3.1",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz", "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.1.tgz",
"integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==", "integrity": "sha512-7CAwy5dRsxs8PHXT3twixW9/OEll8MLE0VRPCJyl7CkS6VHGPSlsVaWTiASPTyGyYRyApxlaWTzwUxVNrhcwDg==",
"devOptional": true, "devOptional": true,
"bin": { "bin": {
"prettier": "bin/prettier.cjs" "prettier": "bin/prettier.cjs"
@ -7031,9 +7033,9 @@
} }
}, },
"node_modules/prettier-plugin-astro": { "node_modules/prettier-plugin-astro": {
"version": "0.13.0", "version": "0.14.0",
"resolved": "https://registry.npmjs.org/prettier-plugin-astro/-/prettier-plugin-astro-0.13.0.tgz", "resolved": "https://registry.npmjs.org/prettier-plugin-astro/-/prettier-plugin-astro-0.14.0.tgz",
"integrity": "sha512-5HrJNnPmZqTUNoA97zn4gNQv9BgVhv+et03314WpQ9H9N8m2L9OSV798olwmG2YLXPl1iSstlJCR1zB3x5xG4g==", "integrity": "sha512-7jRGJsexaRIyUzTk8uzXlP45cw6DQ5Ci4bTe0xCBCcuO1Fff8jJy9oI+kRCQKSdDFTSAArMSg8GpvzlKBtSaZA==",
"devOptional": true, "devOptional": true,
"dependencies": { "dependencies": {
"@astrojs/compiler": "^1.5.5", "@astrojs/compiler": "^1.5.5",
@ -7051,9 +7053,9 @@
"devOptional": true "devOptional": true
}, },
"node_modules/prettier-plugin-tailwindcss": { "node_modules/prettier-plugin-tailwindcss": {
"version": "0.5.14", "version": "0.6.2",
"resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.5.14.tgz", "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.6.2.tgz",
"integrity": "sha512-Puaz+wPUAhFp8Lo9HuciYKM2Y2XExESjeT+9NQoVFXZsPPnc9VYss2SpxdQ6vbatmt8/4+SN0oe0I1cPDABg9Q==", "integrity": "sha512-eFefm4cg+1c2B57+H274Qm//CTWBdtQN9ansl0YTP/8TC8x3bugCTQSS/e4FC5Ctl9djhTzsbcMrZ7x2/abIow==",
"dev": true, "dev": true,
"engines": { "engines": {
"node": ">=14.21.3" "node": ">=14.21.3"
@ -8083,6 +8085,7 @@
"integrity": "sha512-X88chM7w8jnadoZtjPTi5ahCJx9pc9f8GfEkZAEYUTlcUZIEw2D/RY86HI/LkkE7Nj8TQWkiBfaFTJ3VJT6ESg==", "integrity": "sha512-X88chM7w8jnadoZtjPTi5ahCJx9pc9f8GfEkZAEYUTlcUZIEw2D/RY86HI/LkkE7Nj8TQWkiBfaFTJ3VJT6ESg==",
"dependencies": { "dependencies": {
"@shikijs/core": "1.6.4" "@shikijs/core": "1.6.4"
} }
}, },
"node_modules/signal-exit": { "node_modules/signal-exit": {
@ -8462,9 +8465,9 @@
} }
}, },
"node_modules/tailwindcss": { "node_modules/tailwindcss": {
"version": "3.4.3", "version": "3.4.4",
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.3.tgz", "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.4.tgz",
"integrity": "sha512-U7sxQk/n397Bmx4JHbJx/iSOOv5G+II3f1kpLpY2QeUv5DcPdcTsYLlusZfq1NthHS1c1cZoyFmmkex1rzke0A==", "integrity": "sha512-ZoyXOdJjISB7/BcLTR6SEsLgKtDStYyYZVLsUtWChO4Ps20CBad7lfJKVDiejocV4ME1hLmyY0WJE3hSDcmQ2A==",
"dependencies": { "dependencies": {
"@alloc/quick-lru": "^5.2.0", "@alloc/quick-lru": "^5.2.0",
"arg": "^5.0.2", "arg": "^5.0.2",

View file

@ -21,17 +21,17 @@
"globby": "^14.0.1", "globby": "^14.0.1",
"gsap": "^3.12.5", "gsap": "^3.12.5",
"html-minifier-terser": "^7.2.0", "html-minifier-terser": "^7.2.0",
"preline": "^2.1.0", "preline": "^2.3.0",
"sharp": "^0.33.4", "sharp": "^0.33.4",
"sharp-ico": "^0.1.5", "sharp-ico": "^0.1.5",
"tailwindcss": "^3.4.3" "tailwindcss": "^3.4.4"
}, },
"devDependencies": { "devDependencies": {
"@tailwindcss/forms": "^0.5.7", "@tailwindcss/forms": "^0.5.7",
"astro-vtbot": "^1.7.18", "astro-vtbot": "^1.7.23",
"prettier": "^3.2.5", "prettier": "^3.3.1",
"prettier-plugin-astro": "^0.13.0", "prettier-plugin-astro": "^0.14.0",
"prettier-plugin-tailwindcss": "^0.5.14", "prettier-plugin-tailwindcss": "^0.6.2",
"typescript": "^5.4.5" "typescript": "^5.4.5"
} }
} }

View file

@ -4,16 +4,17 @@ import { Image } from "astro:assets";
import { formatDate } from "@utils/utils"; import { formatDate } from "@utils/utils";
import type { CollectionEntry } from "astro:content"; import type { CollectionEntry } from "astro:content";
const { blogEntry } = Astro.props; const { blogEntry, recentBlogLocale = "" } = Astro.props;
interface Props { interface Props {
blogEntry: CollectionEntry<"blog">; blogEntry: CollectionEntry<"blog">;
recentBlogLocale?: string;
} }
--- ---
<a <a
class="group block rounded-xl outline-none ring-zinc-500 transition duration-300 focus-visible:ring dark:ring-zinc-200 dark:focus:outline-none" class="group block rounded-xl outline-none ring-zinc-500 transition duration-300 focus-visible:ring dark:ring-zinc-200 dark:focus:outline-none"
href={`/blog/${blogEntry.slug}/`} href={recentBlogLocale !== "" ? `/${recentBlogLocale}/blog/${blogEntry.slug}/` : `/blog/${blogEntry.slug}/`}
data-astro-prefetch data-astro-prefetch
> >
<div> <div>

View file

@ -19,7 +19,7 @@ hero:
- text: Get started - text: Get started
icon: right-arrow icon: right-arrow
variant: primary variant: primary
link: /zn-cn/guides/getting-started/ link: /zh-cn/guides/getting-started/
- text: View on GitHub - text: View on GitHub
icon: external icon: external
link: https://github.com/mearashadowfax/ScrewFast link: https://github.com/mearashadowfax/ScrewFast

View file

@ -159,7 +159,7 @@ const pageTitle: string = `${post.data.title} | ${SITE.title}`;
</div> </div>
<div class="grid grid-cols-2 gap-6"> <div class="grid grid-cols-2 gap-6">
{relatedPosts.map((entry) => <CardRelated blogEntry={entry} />)} {relatedPosts.map((entry) => <CardRelated blogEntry={entry} recentBlogLocale="fr" /> )}
</div> </div>
</section> </section>
</MainLayout> </MainLayout>