diff --git a/v3/package-lock.json b/v3/package-lock.json index 63b9876..c4806b8 100644 --- a/v3/package-lock.json +++ b/v3/package-lock.json @@ -1949,9 +1949,9 @@ "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.21.0.tgz", - "integrity": "sha512-WTWD8PfoSAJ+qL87lE7votj3syLavxunWhzCnx3XFxFiI/BA/r3X7MUM8dVrH8rb2r4AiO8jJsr3ZjdaftmnfA==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.22.4.tgz", + "integrity": "sha512-Fxamp4aEZnfPOcGA8KSNEohV8hX7zVHOemC8jVBoBUHu5zpJK/Eu3uJwt6BMgy9fkvzxDaurgj96F/NiLukF2w==", "cpu": [ "arm" ], @@ -1961,9 +1961,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.21.0.tgz", - "integrity": "sha512-a1sR2zSK1B4eYkiZu17ZUZhmUQcKjk2/j9Me2IDjk1GHW7LB5Z35LEzj9iJch6gtUfsnvZs1ZNyDW2oZSThrkA==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.22.4.tgz", + "integrity": "sha512-VXoK5UMrgECLYaMuGuVTOx5kcuap1Jm8g/M83RnCHBKOqvPPmROFJGQaZhGccnsFtfXQ3XYa4/jMCJvZnbJBdA==", "cpu": [ "arm64" ], @@ -1973,9 +1973,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.21.0.tgz", - "integrity": "sha512-zOnKWLgDld/svhKO5PD9ozmL6roy5OQ5T4ThvdYZLpiOhEGY+dp2NwUmxK0Ld91LrbjrvtNAE0ERBwjqhZTRAA==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.22.4.tgz", + "integrity": "sha512-xMM9ORBqu81jyMKCDP+SZDhnX2QEVQzTcC6G18KlTQEzWK8r/oNZtKuZaCcHhnsa6fEeOBionoyl5JsAbE/36Q==", "cpu": [ "arm64" ], @@ -1985,9 +1985,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.21.0.tgz", - "integrity": "sha512-7doS8br0xAkg48SKE2QNtMSFPFUlRdw9+votl27MvT46vo44ATBmdZdGysOevNELmZlfd+NEa0UYOA8f01WSrg==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.22.4.tgz", + "integrity": "sha512-aJJyYKQwbHuhTUrjWjxEvGnNNBCnmpHDvrb8JFDbeSH3m2XdHcxDd3jthAzvmoI8w/kSjd2y0udT+4okADsZIw==", "cpu": [ "x64" ], @@ -1997,9 +1997,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.21.0.tgz", - "integrity": "sha512-pWJsfQjNWNGsoCq53KjMtwdJDmh/6NubwQcz52aEwLEuvx08bzcy6tOUuawAOncPnxz/3siRtd8hiQ32G1y8VA==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.22.4.tgz", + "integrity": "sha512-j63YtCIRAzbO+gC2L9dWXRh5BFetsv0j0va0Wi9epXDgU/XUi5dJKo4USTttVyK7fGw2nPWK0PbAvyliz50SCQ==", "cpu": [ "arm" ], @@ -2009,9 +2009,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.21.0.tgz", - "integrity": "sha512-efRIANsz3UHZrnZXuEvxS9LoCOWMGD1rweciD6uJQIx2myN3a8Im1FafZBzh7zk1RJ6oKcR16dU3UPldaKd83w==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.22.4.tgz", + "integrity": "sha512-dJnWUgwWBX1YBRsuKKMOlXCzh2Wu1mlHzv20TpqEsfdZLb3WoJW2kIEsGwLkroYf24IrPAvOT/ZQ2OYMV6vlrg==", "cpu": [ "arm" ], @@ -2021,9 +2021,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.21.0.tgz", - "integrity": "sha512-ZrPhydkTVhyeGTW94WJ8pnl1uroqVHM3j3hjdquwAcWnmivjAwOYjTEAuEDeJvGX7xv3Z9GAvrBkEzCgHq9U1w==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.22.4.tgz", + "integrity": "sha512-AdPRoNi3NKVLolCN/Sp4F4N1d98c4SBnHMKoLuiG6RXgoZ4sllseuGioszumnPGmPM2O7qaAX/IJdeDU8f26Aw==", "cpu": [ "arm64" ], @@ -2033,9 +2033,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.21.0.tgz", - "integrity": "sha512-cfaupqd+UEFeURmqNP2eEvXqgbSox/LHOyN9/d2pSdV8xTrjdg3NgOFJCtc1vQ/jEke1qD0IejbBfxleBPHnPw==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.22.4.tgz", + "integrity": "sha512-Gl0AxBtDg8uoAn5CCqQDMqAx22Wx22pjDOjBdmG0VIWX3qUBHzYmOKh8KXHL4UpogfJ14G4wk16EQogF+v8hmA==", "cpu": [ "arm64" ], @@ -2045,9 +2045,9 @@ ] }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.21.0.tgz", - "integrity": "sha512-ZKPan1/RvAhrUylwBXC9t7B2hXdpb/ufeu22pG2psV7RN8roOfGurEghw1ySmX/CmDDHNTDDjY3lo9hRlgtaHg==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.22.4.tgz", + "integrity": "sha512-3aVCK9xfWW1oGQpTsYJJPF6bfpWfhbRnhdlyhak2ZiyFLDaayz0EP5j9V1RVLAAxlmWKTDfS9wyRyY3hvhPoOg==", "cpu": [ "ppc64" ], @@ -2057,9 +2057,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.21.0.tgz", - "integrity": "sha512-H1eRaCwd5E8eS8leiS+o/NqMdljkcb1d6r2h4fKSsCXQilLKArq6WS7XBLDu80Yz+nMqHVFDquwcVrQmGr28rg==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.22.4.tgz", + "integrity": "sha512-ePYIir6VYnhgv2C5Xe9u+ico4t8sZWXschR6fMgoPUK31yQu7hTEJb7bCqivHECwIClJfKgE7zYsh1qTP3WHUA==", "cpu": [ "riscv64" ], @@ -2069,9 +2069,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.21.0.tgz", - "integrity": "sha512-zJ4hA+3b5tu8u7L58CCSI0A9N1vkfwPhWd/puGXwtZlsB5bTkwDNW/+JCU84+3QYmKpLi+XvHdmrlwUwDA6kqw==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.22.4.tgz", + "integrity": "sha512-GqFJ9wLlbB9daxhVlrTe61vJtEY99/xB3C8e4ULVsVfflcpmR6c8UZXjtkMA6FhNONhj2eA5Tk9uAVw5orEs4Q==", "cpu": [ "s390x" ], @@ -2081,9 +2081,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.21.0.tgz", - "integrity": "sha512-e2hrvElFIh6kW/UNBQK/kzqMNY5mO+67YtEh9OA65RM5IJXYTWiXjX6fjIiPaqOkBthYF1EqgiZ6OXKcQsM0hg==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.22.4.tgz", + "integrity": "sha512-87v0ol2sH9GE3cLQLNEy0K/R0pz1nvg76o8M5nhMR0+Q+BBGLnb35P0fVz4CQxHYXaAOhE8HhlkaZfsdUOlHwg==", "cpu": [ "x64" ], @@ -2093,9 +2093,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.21.0.tgz", - "integrity": "sha512-1vvmgDdUSebVGXWX2lIcgRebqfQSff0hMEkLJyakQ9JQUbLDkEaMsPTLOmyccyC6IJ/l3FZuJbmrBw/u0A0uCQ==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.22.4.tgz", + "integrity": "sha512-UV6FZMUgePDZrFjrNGIWzDo/vABebuXBhJEqrHxrGiU6HikPy0Z3LfdtciIttEUQfuDdCn8fqh7wiFJjCNwO+g==", "cpu": [ "x64" ], @@ -2105,9 +2105,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.21.0.tgz", - "integrity": "sha512-s5oFkZ/hFcrlAyBTONFY1TWndfyre1wOMwU+6KCpm/iatybvrRgmZVM+vCFwxmC5ZhdlgfE0N4XorsDpi7/4XQ==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.22.4.tgz", + "integrity": "sha512-BjI+NVVEGAXjGWYHz/vv0pBqfGoUH0IGZ0cICTn7kB9PyjrATSkX+8WkguNjWoj2qSr1im/+tTGRaY+4/PdcQw==", "cpu": [ "arm64" ], @@ -2117,9 +2117,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.21.0.tgz", - "integrity": "sha512-G9+TEqRnAA6nbpqyUqgTiopmnfgnMkR3kMukFBDsiyy23LZvUCpiUwjTRx6ezYCjJODXrh52rBR9oXvm+Fp5wg==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.22.4.tgz", + "integrity": "sha512-SiWG/1TuUdPvYmzmYnmd3IEifzR61Tragkbx9D3+R8mzQqDBz8v+BvZNDlkiTtI9T15KYZhP0ehn3Dld4n9J5g==", "cpu": [ "ia32" ], @@ -2129,9 +2129,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.21.0.tgz", - "integrity": "sha512-2jsCDZwtQvRhejHLfZ1JY6w6kEuEtfF9nzYsZxzSlNVKDX+DpsDJ+Rbjkm74nvg2rdx0gwBS+IMdvwJuq3S9pQ==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.22.4.tgz", + "integrity": "sha512-j8pPKp53/lq9lMXN57S8cFz0MynJk8OWNuUnXct/9KCpKU7DgU3bYMJhwWmcqC0UU29p8Lr0/7KEVcaM6bf47Q==", "cpu": [ "x64" ], @@ -8936,9 +8936,9 @@ } }, "node_modules/rollup": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.21.0.tgz", - "integrity": "sha512-vo+S/lfA2lMS7rZ2Qoubi6I5hwZwzXeUIctILZLbHI+laNtvhhOIon2S1JksA5UEDQ7l3vberd0fxK44lTYjbQ==", + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.22.4.tgz", + "integrity": "sha512-vD8HJ5raRcWOyymsR6Z3o6+RzfEPCnVLMFJ6vRslO1jt4LO6dUo5Qnpg7y4RkZFM2DMe3WUirkI5c16onjrc6A==", "dependencies": { "@types/estree": "1.0.5" }, @@ -8950,22 +8950,22 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.21.0", - "@rollup/rollup-android-arm64": "4.21.0", - "@rollup/rollup-darwin-arm64": "4.21.0", - "@rollup/rollup-darwin-x64": "4.21.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.21.0", - "@rollup/rollup-linux-arm-musleabihf": "4.21.0", - "@rollup/rollup-linux-arm64-gnu": "4.21.0", - "@rollup/rollup-linux-arm64-musl": "4.21.0", - "@rollup/rollup-linux-powerpc64le-gnu": "4.21.0", - "@rollup/rollup-linux-riscv64-gnu": "4.21.0", - "@rollup/rollup-linux-s390x-gnu": "4.21.0", - "@rollup/rollup-linux-x64-gnu": "4.21.0", - "@rollup/rollup-linux-x64-musl": "4.21.0", - "@rollup/rollup-win32-arm64-msvc": "4.21.0", - "@rollup/rollup-win32-ia32-msvc": "4.21.0", - "@rollup/rollup-win32-x64-msvc": "4.21.0", + "@rollup/rollup-android-arm-eabi": "4.22.4", + "@rollup/rollup-android-arm64": "4.22.4", + "@rollup/rollup-darwin-arm64": "4.22.4", + "@rollup/rollup-darwin-x64": "4.22.4", + "@rollup/rollup-linux-arm-gnueabihf": "4.22.4", + "@rollup/rollup-linux-arm-musleabihf": "4.22.4", + "@rollup/rollup-linux-arm64-gnu": "4.22.4", + "@rollup/rollup-linux-arm64-musl": "4.22.4", + "@rollup/rollup-linux-powerpc64le-gnu": "4.22.4", + "@rollup/rollup-linux-riscv64-gnu": "4.22.4", + "@rollup/rollup-linux-s390x-gnu": "4.22.4", + "@rollup/rollup-linux-x64-gnu": "4.22.4", + "@rollup/rollup-linux-x64-musl": "4.22.4", + "@rollup/rollup-win32-arm64-msvc": "4.22.4", + "@rollup/rollup-win32-ia32-msvc": "4.22.4", + "@rollup/rollup-win32-x64-msvc": "4.22.4", "fsevents": "~2.3.2" } }, diff --git a/v3/public/oss.yml b/v3/public/oss.yml new file mode 100644 index 0000000..912a9d9 --- /dev/null +++ b/v3/public/oss.yml @@ -0,0 +1,21 @@ +services: + hbbs: + container_name: hbbs + image: rustdesk/rustdesk-server:latest + command: hbbs + volumes: + - ./data:/root + network_mode: "host" + + depends_on: + - hbbr + restart: unless-stopped + + hbbr: + container_name: hbbr + image: rustdesk/rustdesk-server:latest + command: hbbr + volumes: + - ./data:/root + network_mode: "host" + restart: unless-stopped diff --git a/v3/public/pro.yml b/v3/public/pro.yml new file mode 100644 index 0000000..ee428a5 --- /dev/null +++ b/v3/public/pro.yml @@ -0,0 +1,21 @@ +services: + hbbs: + container_name: hbbs + image: rustdesk/rustdesk-server-pro:latest + command: hbbs + volumes: + - ./data:/root + network_mode: "host" + + depends_on: + - hbbr + restart: unless-stopped + + hbbr: + container_name: hbbr + image: rustdesk/rustdesk-server-pro:latest + command: hbbr + volumes: + - ./data:/root + network_mode: "host" + restart: unless-stopped diff --git a/v3/src/assets/favicons/apple-touch-icon.png b/v3/src/assets/favicons/apple-touch-icon.png index 6262d06..306d505 100644 Binary files a/v3/src/assets/favicons/apple-touch-icon.png and b/v3/src/assets/favicons/apple-touch-icon.png differ diff --git a/v3/src/assets/favicons/favicon.ico b/v3/src/assets/favicons/favicon.ico index 9f9502a..eedb926 100644 Binary files a/v3/src/assets/favicons/favicon.ico and b/v3/src/assets/favicons/favicon.ico differ diff --git a/v3/src/assets/favicons/favicon.svg b/v3/src/assets/favicons/favicon.svg index f157bd1..14c98f3 100644 --- a/v3/src/assets/favicons/favicon.svg +++ b/v3/src/assets/favicons/favicon.svg @@ -1,9 +1,106 @@ - - - + + + + + + + + + + + + + + + + + + + + diff --git a/v3/src/assets/images/console.png b/v3/src/assets/images/console.png new file mode 100644 index 0000000..7b9fee5 Binary files /dev/null and b/v3/src/assets/images/console.png differ diff --git a/v3/src/assets/images/hero-image.png b/v3/src/assets/images/hero-image.png deleted file mode 100644 index 5509924..0000000 Binary files a/v3/src/assets/images/hero-image.png and /dev/null differ diff --git a/v3/src/assets/images/hosting.jpg b/v3/src/assets/images/hosting.jpg new file mode 100644 index 0000000..f26fefd Binary files /dev/null and b/v3/src/assets/images/hosting.jpg differ diff --git a/v3/src/assets/images/logo.svg b/v3/src/assets/images/logo.svg new file mode 100644 index 0000000..965218c --- /dev/null +++ b/v3/src/assets/images/logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/v3/src/assets/images/qs.png b/v3/src/assets/images/qs.png new file mode 100644 index 0000000..784dafb Binary files /dev/null and b/v3/src/assets/images/qs.png differ diff --git a/v3/src/assets/images/steps.jpg b/v3/src/assets/images/steps.jpg new file mode 100644 index 0000000..c5b1625 Binary files /dev/null and b/v3/src/assets/images/steps.jpg differ diff --git a/v3/src/components/Logo.astro b/v3/src/components/Logo.astro index 8469792..5d6b40c 100644 --- a/v3/src/components/Logo.astro +++ b/v3/src/components/Logo.astro @@ -1,9 +1,11 @@ --- import { SITE } from 'astrowind:config'; +import logo from '~/assets/images/logo.svg'; --- - 🚀 {SITE?.name} + RustDesk Logo + {SITE?.name?.toLowerCase()} diff --git a/v3/src/components/widgets/Announcement.astro b/v3/src/components/widgets/Announcement.astro index 8efa383..b86380c 100644 --- a/v3/src/components/widgets/Announcement.astro +++ b/v3/src/components/widgets/Announcement.astro @@ -9,15 +9,15 @@ class="dark:bg-slate-700 bg-white/40 dark:text-slate-300 font-semibold px-1 py-0.5 text-xs mr-0.5 rtl:mr-0 rtl:ml-0.5 inline-block" >NEW - Astro 4.15 is now available! »RustDesk 1.3.1 is now available! » diff --git a/v3/src/config.yaml b/v3/src/config.yaml index 8dab37c..b957e50 100644 --- a/v3/src/config.yaml +++ b/v3/src/config.yaml @@ -1,22 +1,22 @@ site: - name: AstroWind - site: 'https://astrowind.vercel.app' + name: RustDesk + site: 'https://rustdesk.com' base: '/' trailingSlash: false - googleSiteVerificationId: orcPxI47GSa-cRvY11tUe6iGg2IO_RPvnA1q95iEM3M + googleSiteVerificationId: 5yBdiwrwe7-V4TqfqMjX320dHpSE9-jrP4iQIUdCjK4 # Default SEO metadata metadata: title: - default: AstroWind - template: '%s — AstroWind' - description: "\U0001F680 Suitable for Startups, Small Business, Sass Websites, Professional Portfolios, Marketing Websites, Landing Pages & Blogs." + default: RustDesk + template: '%s — RustDesk' + description: "RustDesk offers an open-source remote desktop solution with self-hosted server options. Perfect TeamViewer alternative for secure, private, and customizable remote access. Explore our professional on-premise licenses." robots: index: true follow: true openGraph: - site_name: AstroWind + site_name: RustDesk images: - url: '~/assets/images/default.png' width: 1200 @@ -66,7 +66,7 @@ apps: analytics: vendors: googleAnalytics: - id: null # or "G-XXXXXXXXXX" + id: "UA-178912857-1" ui: theme: 'system' # Values: "system" | "light" | "dark" | "light:only" | "dark:only" diff --git a/v3/src/content/post/astrowind-template-in-depth.mdx b/v3/src/content/post/astrowind-template-in-depth.mdx index e7c4dd8..508278f 100644 --- a/v3/src/content/post/astrowind-template-in-depth.mdx +++ b/v3/src/content/post/astrowind-template-in-depth.mdx @@ -1,6 +1,6 @@ --- publishDate: 2023-07-17T00:00:00Z -title: AstroWind template in depth +title: RustDesk template in depth excerpt: While easy to get started, Astrowind is quite complex internally. This page provides documentation on some of the more intricate parts. image: https://images.unsplash.com/photo-1534307671554-9a6d81f4d629?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1651&q=80 category: Documentation @@ -17,13 +17,13 @@ import ToggleTheme from '~/components/common/ToggleTheme.astro'; ## Overview -It can be a somewhat daunting task trying to get a handle on _AstroWind_ internals, and particularly various points of usage. +It can be a somewhat daunting task trying to get a handle on _RustDesk_ internals, and particularly various points of usage. -This page outlines and clarifies some of the techniques found in _AstroWind_. Use it as a guide for further modification, or an instructional for techniques to use in your own endeavors. +This page outlines and clarifies some of the techniques found in _RustDesk_. Use it as a guide for further modification, or an instructional for techniques to use in your own endeavors. ## Styling -As the name suggests, _AstroWind_ relies on _TailWind_ for styling. Furthermore, _AstroWind_ defines custom low level style settings which are incorporated into _TailWind_ seamlessly, and which provides consistency for higher level styling constructs, as well as enabling dark mode. +As the name suggests, _RustDesk_ relies on _TailWind_ for styling. Furthermore, _RustDesk_ defines custom low level style settings which are incorporated into _TailWind_ seamlessly, and which provides consistency for higher level styling constructs, as well as enabling dark mode. The styling mechanism consists of the following files (all paths are prefixed with `/src/` ): @@ -37,7 +37,7 @@ The styling mechanism consists of the following files (all paths are prefixed wi header section. See next. - This layout is used for all of the pages rendered by _AstroWind_. The contents of _tailwind.css_ and + This layout is used for all of the pages rendered by _RustDesk_. The contents of _tailwind.css_ and _CustomStyles.astro_ component, described above, is injected into the html header. @@ -135,7 +135,7 @@ This allows a great deal of flexibility in component design. ### Yet Another Step -Now, we get to the techniques used in _AstroWind_, we'll use the _pages/index.astro_ file to illustrate. +Now, we get to the techniques used in _RustDesk_, we'll use the _pages/index.astro_ file to illustrate. You'll note that the index file imports a lot of components, each one roughly analagous to a panel in the index page. Each of these components, in turn, is instantiated sequentially throughout the page. But, you'll notice that some of them use this kind of construct (we'll use the last section, _CallToAction_, as it is most illustrative of the technique): diff --git a/v3/src/content/post/get-started-website-with-astro-tailwind-css.md b/v3/src/content/post/get-started-website-with-astro-tailwind-css.md index 2c88722..51fded1 100644 --- a/v3/src/content/post/get-started-website-with-astro-tailwind-css.md +++ b/v3/src/content/post/get-started-website-with-astro-tailwind-css.md @@ -1,8 +1,8 @@ --- publishDate: 2023-08-12T00:00:00Z author: John Smith -title: Get started with AstroWind to create a website using Astro and Tailwind CSS -excerpt: Start your web journey with AstroWind – harness Astro and Tailwind CSS for a stunning site. Explore our guide now. +title: Get started with RustDesk to create a website using Astro and Tailwind CSS +excerpt: Start your web journey with RustDesk – harness Astro and Tailwind CSS for a stunning site. Explore our guide now. image: https://images.unsplash.com/photo-1516996087931-5ae405802f9f?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=2070&q=80 category: Tutorials tags: diff --git a/v3/src/content/post/how-to-customize-astrowind-to-your-brand.md b/v3/src/content/post/how-to-customize-astrowind-to-your-brand.md index efd9b63..223465c 100644 --- a/v3/src/content/post/how-to-customize-astrowind-to-your-brand.md +++ b/v3/src/content/post/how-to-customize-astrowind-to-your-brand.md @@ -1,7 +1,7 @@ --- publishDate: 2023-08-06T00:00:00Z -title: How to customize AstroWind template to suit your branding -excerpt: Personalize AstroWind template for your brand. Our guide unlocks seamless customization steps for a unique online presence. +title: How to customize RustDesk template to suit your branding +excerpt: Personalize RustDesk template for your brand. Our guide unlocks seamless customization steps for a unique online presence. image: https://images.unsplash.com/photo-1546984575-757f4f7c13cf?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=2070&q=80 tags: - astro diff --git a/v3/src/content/post/landing.md b/v3/src/content/post/landing.md index e5eac32..f56b8b2 100644 --- a/v3/src/content/post/landing.md +++ b/v3/src/content/post/landing.md @@ -11,7 +11,7 @@ metadata: canonical: https://astrowind.vercel.app/landing --- -In the vast digital landscape, standing out is more than a desire—it's a necessity. Enter the world of Landing Pages, the unsung heroes of digital marketing. With the power of the AstroWind template, developed using Astro and Tailwind CSS, crafting these pages becomes even more intuitive. Let's dive deep into understanding, creating, and optimizing them. +In the vast digital landscape, standing out is more than a desire—it's a necessity. Enter the world of Landing Pages, the unsung heroes of digital marketing. With the power of the RustDesk template, developed using Astro and Tailwind CSS, crafting these pages becomes even more intuitive. Let's dive deep into understanding, creating, and optimizing them. ## Landing Pages Unveiled @@ -45,7 +45,7 @@ Every element of your Landing Page should resonate with its core objective. Here - **Engaging Imagery**: Visuals that complement and enhance the content. - **Compelling Copy**: Clear, concise, and persuasive text that speaks directly to the visitor's needs. - **Clear Call-to-Action (CTA)**: A standout button or link urging the visitor to take action. -- **Minimalist Design**: A clutter-free layout that emphasizes the offer. For example, using a Tailwind CSS web template like AstroWind. +- **Minimalist Design**: A clutter-free layout that emphasizes the offer. For example, using a Tailwind CSS web template like RustDesk. - **Trust Indicators**: Endorsements, reviews, and badges that bolster credibility. Imagine browsing online for a writing course. You land on a page with a captivating headline: "Unlock the Writer Within." Below, there's an engaging image of a person writing, followed by persuasive text and a bright "Enroll Now" button. This Landing Page has effectively used its elements to entice you to sign up. diff --git a/v3/src/navigation.ts b/v3/src/navigation.ts index d5cd65b..20e98eb 100644 --- a/v3/src/navigation.ts +++ b/v3/src/navigation.ts @@ -139,7 +139,7 @@ export const footerData = { { text: 'Partners', href: '#' }, { text: 'Atom', href: '#' }, { text: 'Electron', href: '#' }, - { text: 'AstroWind Desktop', href: '#' }, + { text: 'RustDesk Desktop', href: '#' }, ], }, { diff --git a/v3/src/pages/[...blog]/[...page].astro b/v3/src/pages/[...blog]/[...page].astro index 5a6da41..941c96b 100644 --- a/v3/src/pages/[...blog]/[...page].astro +++ b/v3/src/pages/[...blog]/[...page].astro @@ -38,7 +38,7 @@ const metadata = {
The Blog diff --git a/v3/src/pages/homes/mobile-app.astro b/v3/src/pages/homes/mobile-app.astro index 8d06721..4854cbe 100644 --- a/v3/src/pages/homes/mobile-app.astro +++ b/v3/src/pages/homes/mobile-app.astro @@ -52,11 +52,11 @@ const metadata = { tagline="Mobile App Web Demo" image={{ src: 'https://images.unsplash.com/photo-1535303311164-664fc9ec6532?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=987&q=80', - alt: 'AstroWind Hero Image', + alt: 'RustDesk Hero Image', }} > - AstroWind App:
professional websites RustDesk App:
professional websites
diff --git a/v3/src/pages/homes/saas.astro b/v3/src/pages/homes/saas.astro index 25e0c0b..9987815 100644 --- a/v3/src/pages/homes/saas.astro +++ b/v3/src/pages/homes/saas.astro @@ -47,7 +47,7 @@ const metadata = { ]} image={{ src: 'https://images.unsplash.com/photo-1580481072645-022f9a6dbf27?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=2070&q=80', - alt: 'AstroWind Hero Image', + alt: 'RustDesk Hero Image', }} > @@ -58,7 +58,7 @@ const metadata = { RustDesk's SaaS solutions. Seamlessly blend the power of Astro 4.0 and Tailwind CSS to craft websites that resonate with your brand and audience. @@ -68,8 +68,8 @@ const metadata = {

- Startup success stories:
Launching with AstroWind + Startup success stories:
Launching with RustDesk

@@ -147,7 +147,7 @@ const metadata = { items={[ { title: 'Description:', - description: `For SaaS businesses, user experience is key. AstroWind enhances showcasing SaaS solutions intuitively. The template's Astro 4.0 and Tailwind CSS integration guarantees user-friendly experience, mirroring your software's efficiency. Customize pages to communicate SaaS value and solutions for your audience.`, + description: `For SaaS businesses, user experience is key. RustDesk enhances showcasing SaaS solutions intuitively. The template's Astro 4.0 and Tailwind CSS integration guarantees user-friendly experience, mirroring your software's efficiency. Customize pages to communicate SaaS value and solutions for your audience.`, }, { title: 'Benefits:', @@ -178,7 +178,7 @@ const metadata = { items={[ { title: 'Description:', - description: `Your portfolio is your masterpiece, and AstroWind is your canvas. Whether you're a designer, photographer, artist, or any other creative professional, AstroWind empowers you to showcase your work with elegance and sophistication. Tailored to highlight your creative projects, AstroWind's templates offer a visually immersive experience that lets your portfolio shine.`, + description: `Your portfolio is your masterpiece, and RustDesk is your canvas. Whether you're a designer, photographer, artist, or any other creative professional, RustDesk empowers you to showcase your work with elegance and sophistication. Tailored to highlight your creative projects, RustDesk's templates offer a visually immersive experience that lets your portfolio shine.`, }, { title: 'Benefits:', @@ -207,7 +207,7 @@ const metadata = { items={[ { title: 'Description:', - description: `For small businesses, a well-crafted website can be a game-changer. AstroWind empowers small businesses to not only establish a credible online presence but also convert visitors into loyal customers. The template's thoughtful design and optimization features ensure that your website doesn't just attract attention but also guides visitors through a seamless journey, ultimately leading to conversions.`, + description: `For small businesses, a well-crafted website can be a game-changer. RustDesk empowers small businesses to not only establish a credible online presence but also convert visitors into loyal customers. The template's thoughtful design and optimization features ensure that your website doesn't just attract attention but also guides visitors through a seamless journey, ultimately leading to conversions.`, }, { title: 'Benefits:', @@ -279,24 +279,24 @@ const metadata = { title="Frequently Asked Questions" items={[ { - title: 'Is AstroWind compatible with the latest versions of Astro and Tailwind CSS?', + title: 'Is RustDesk compatible with the latest versions of Astro and Tailwind CSS?', description: - 'Yes, AstroWind is designed to be compatible with the latest versions of both Astro and Tailwind CSS. This ensures that you can harness the full capabilities of these technologies while benefiting from the features offered by AstroWind.', + 'Yes, RustDesk is designed to be compatible with the latest versions of both Astro and Tailwind CSS. This ensures that you can harness the full capabilities of these technologies while benefiting from the features offered by RustDesk.', icon: 'tabler:chevrons-right', }, { - title: 'Can I use AstroWind for both personal and commercial projects?', - description: `Certainly! AstroWind is versatile and can be used for a wide range of projects, including both personal and commercial endeavors. Whether you're building a professional portfolio, launching a startup, or creating a marketing website, AstroWind has you covered.`, + title: 'Can I use RustDesk for both personal and commercial projects?', + description: `Certainly! RustDesk is versatile and can be used for a wide range of projects, including both personal and commercial endeavors. Whether you're building a professional portfolio, launching a startup, or creating a marketing website, RustDesk has you covered.`, icon: 'tabler:chevrons-right', }, { - title: 'What level of coding knowledge is required to use AstroWind?', + title: 'What level of coding knowledge is required to use RustDesk?', description: - 'While some familiarity with HTML, CSS, and web development concepts is helpful, the user-friendly interface and customization options allow those with limited coding experience to create impressive websites. For more advanced users, AstroWind offers extensive customization capabilities.', + 'While some familiarity with HTML, CSS, and web development concepts is helpful, the user-friendly interface and customization options allow those with limited coding experience to create impressive websites. For more advanced users, RustDesk offers extensive customization capabilities.', icon: 'tabler:chevrons-right', }, { - title: 'Is customer support available for AstroWind users seeking guidance?', + title: 'Is customer support available for RustDesk users seeking guidance?', description: `Absolutely, our dedicated customer support team is here to assist you with any questions or challenges you may encounter. Feel free to reach out to us through our support channels, and we'll be happy to provide the help you need.`, icon: 'tabler:chevrons-right', }, @@ -339,8 +339,8 @@ const metadata = {
diff --git a/v3/src/pages/index.astro b/v3/src/pages/index.astro index ebfad42..0187068 100644 --- a/v3/src/pages/index.astro +++ b/v3/src/pages/index.astro @@ -2,18 +2,14 @@ import Layout from '~/layouts/PageLayout.astro'; import Hero from '~/components/widgets/Hero.astro'; -import Note from '~/components/widgets/Note.astro'; -import Features from '~/components/widgets/Features.astro'; -import Features2 from '~/components/widgets/Features2.astro'; import Steps from '~/components/widgets/Steps.astro'; import Content from '~/components/widgets/Content.astro'; import BlogLatestPosts from '~/components/widgets/BlogLatestPosts.astro'; -import FAQs from '~/components/widgets/FAQs.astro'; import Stats from '~/components/widgets/Stats.astro'; import CallToAction from '~/components/widgets/CallToAction.astro'; const metadata = { - title: 'AstroWind — Free template for creating websites with Astro + Tailwind CSS', + title: 'RustDesk: Open-Source Remote Desktop with Self-Hosted Server Solutions', ignoreTitleTemplate: true, }; --- @@ -25,113 +21,64 @@ const metadata = { actions={[ { variant: 'primary', - text: 'Get template', - href: 'https://github.com/onwidget/astrowind', + text: 'Download', + href: 'https://rustdesk.com/download', target: '_blank', icon: 'tabler:download', }, - { text: 'Learn more', href: '#features' }, + { text: 'Self-Hosting', href: 'https://rustdesk.com/docs/en/self-host/', target: '_blank', icon: 'tabler:book' }, ]} - image={{ src: '~/assets/images/hero-image.png', alt: 'AstroWind Hero Image' }} + image={{ src: '~/assets/images/console.png', alt: 'RustDesk Web Console Image', class: "rounded-lg border border-gray-700" }} > - Free template for - Astro 4.0 + Tailwind CSS + The Fast Open-Source Remote Access and Support Software - - AstroWind: Production-ready. - Suitable for Startups, Small Business, SaaS websites, Professional Portfolios, Marketing websites, Landing Pages & - Blogs. + Switch from TeamViewer, AnyDesk, and Splashtop to RustDesk for a secure and reliable remote desktop experience with your own self-hosted servers. - - - - - + -

Building on modern foundations

- Gain a competitive advantage by incorporating industry leading practices +

Why self-hosting?

+ Are you frustrated with SaaS platforms due to their unstable performance, lack of transparency, and uncertain data security risks?
@@ -145,69 +92,36 @@ const metadata = { isAfterContent items={[ { - title: 'High level of customization', - description: `Tailor the template effortlessly to match your brand's identity and requirements, making your website distinct and saving you time.`, + title: 'Your brand, your way', + description: `Personalize RustDesk client with your name, icon, logo.`, }, { - title: 'Multiple layout possibilities', - description: - 'Explore various layout options to find the structure that best presents your content, enhancing user engagement and navigation.', + title: 'Easy deployment', + description: `Built-in network configuration and server setup make deploying RustDesk on-premise a breeze.`, }, { - title: 'Fully responsive design', - description: - "Ensure your website's optimal performance on various devices and screen sizes, providing a consistent and enjoyable user experience.", + title: 'Advanced configuration options', + description: 'More than 90 options can be configured to meet your specific needs.', }, { - title: 'Integration of media', - description: - 'Seamlessly incorporate images, videos, and multimedia elements that enhance your content and engage visitors effectively.', + title: 'Multi-platform support', + description: 'Windows, macOS, Linux, Android.', + }, + { + title: 'Web client', + description: 'Host the web client on your server with your domain name to make remote access even easier.', }, ]} image={{ - src: 'https://images.unsplash.com/photo-1600132806370-bf17e65e942f?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=2194&q=80', - alt: 'Blueprint Image', + src: '~/assets/images/qs.png', + alt: 'QuickSupport Image', + class: 'bg-transparent', }} > - Ensure your online presence truly represents you. - - -
+ +

Custom Client

+ Customize your client with your brand and make it truly yours.
-
- - - - - Designed to foster growth and success.
@@ -217,25 +131,24 @@ const metadata = { Download', + title: 'Step 1: Install Docker', description: - "Kickstart with GitHub! Either fork the AstroWind template or simply click 'Use this template'. Your canvas awaits, ready for your digital masterpiece. In just a few clicks, you've already set the foundation.", + "sudo apt install -y docker.io", icon: 'tabler:package', }, { - title: 'Step 2: Add content', - description: - "Pour your vision into it. Add images, text, and all that jazz to breathe life into your digital space. Remember, it's the content that tells your story, so make it captivating.", - icon: 'tabler:letter-case', + title: 'Step 2: Download compose.yml', + description: 'wget rustdesk.com/oss.yml -O compose.yml
or
wget rustdesk.com/pro.yml -O compose.yml
', + icon: 'tabler:download', }, { - title: 'Step 3: Customize styles', - description: - 'Give it your personal touch. Tailor colors, fonts, and layouts until it feels just right. Your unique flair, amplified by AstroWind! Precision in design ensures a seamless user experience.', - icon: 'tabler:paint', + title: `Step 3: Compose`, + description: "docker compose up -d", + icon: 'tabler:hammer', }, { title: 'Ready!', @@ -243,157 +156,90 @@ const metadata = { }, ]} image={{ - src: 'https://images.unsplash.com/photo-1616198814651-e71f960c3180?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=987&q=80', + src: '~/assets/images/steps.jpg', alt: 'Steps image', }} /> - + + - + + + + + + - -
+ + Join the community -
- - - - - - - - - - - - - + + Discover what our community has to say about their RustDesk experience. + + - Astro + 
Tailwind CSS -
- - - Be very surprised by these huge fake numbers you are seeing on this page. Don't - waste more time! :P + Experience RustDesk for yourself
diff --git a/v3/src/pages/privacy.md b/v3/src/pages/privacy.md index 2c55557..932d37d 100644 --- a/v3/src/pages/privacy.md +++ b/v3/src/pages/privacy.md @@ -20,7 +20,7 @@ The words of which the initial letter is capitalized have meanings defined under For the purposes of this Privacy Policy: - **Account** means a unique account created for You to access our Service or parts of our Service. -- **Company** (referred to as either "the Company", "We", "Us" or "Our" in this Agreement) refers to AstroWind LLC, 1 Cupertino, CA 95014. +- **Company** (referred to as either "the Company", "We", "Us" or "Our" in this Agreement) refers to RustDesk LLC, 1 Cupertino, CA 95014. - **Cookies** are small files that are placed on Your computer, mobile device or any other device by a website, containing the details of Your browsing history on that website among its many uses. - **Country** refers to: California, United States - **Device** means any device that can access the Service such as a computer, a cellphone or a digital tablet. @@ -28,7 +28,7 @@ For the purposes of this Privacy Policy: - **Service** refers to the Website. - **Service Provider** means any natural or legal person who processes the data on behalf of the Company. It refers to third-party companies or individuals employed by the Company to facilitate the Service, to provide the Service on behalf of the Company, to perform services related to the Service or to assist the Company in analyzing how the Service is used. - **Usage Data** refers to data collected automatically, either generated by the use of the Service or from the Service infrastructure itself (for example, the duration of a page visit). -- **Website** refers to AstroWind, accessible from [https://astrowind.vercel.app](https://astrowind.vercel.app) +- **Website** refers to RustDesk, accessible from [https://astrowind.vercel.app](https://astrowind.vercel.app) - **You** means the individual accessing or using the Service, or the company, or other legal entity on behalf of which such individual is accessing or using the Service, as applicable. ## Collecting and Using Your Personal Data diff --git a/v3/src/pages/services.astro b/v3/src/pages/services.astro index 6250bd3..dc24658 100644 --- a/v3/src/pages/services.astro +++ b/v3/src/pages/services.astro @@ -21,7 +21,7 @@ const metadata = { actions={[{ variant: 'primary', target: '_blank', text: 'Start exploring', href: '/' }]} image={{ src: 'https://images.unsplash.com/photo-1519389950473-47ba0277781c?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1740&q=80', - alt: 'AstroWind Hero Image', + alt: 'RustDesk Hero Image', }} /> diff --git a/v3/src/pages/terms.md b/v3/src/pages/terms.md index 70df534..dc2c1af 100644 --- a/v3/src/pages/terms.md +++ b/v3/src/pages/terms.md @@ -21,7 +21,7 @@ For the purposes of these Terms and Conditions: - **Country** refers to: California, United States -- **Company** (referred to as either "the Company", "We", "Us" or "Our" in this Agreement) refers to AstroWind LLC, 1 Cupertino, CA 95014. +- **Company** (referred to as either "the Company", "We", "Us" or "Our" in this Agreement) refers to RustDesk LLC, 1 Cupertino, CA 95014. - **Device** means any device that can access the Service such as a computer, a cellphone or a digital tablet. @@ -31,7 +31,7 @@ For the purposes of these Terms and Conditions: - **Third-party Social Media Service** means any services or content (including data, information, products or services) provided by a third-party that may be displayed, included or made available by the Service. -- **Website** refers to AstroWind, accessible from [https://astrowind.vercel.app](https://astrowind.vercel.app) +- **Website** refers to RustDesk, accessible from [https://astrowind.vercel.app](https://astrowind.vercel.app) - **You** means the individual accessing or using the Service, or the company, or other legal entity on behalf of which such individual is accessing or using the Service, as applicable. diff --git a/v3/src/utils/images-optimization.ts b/v3/src/utils/images-optimization.ts index e6424ef..3f563b2 100644 --- a/v3/src/utils/images-optimization.ts +++ b/v3/src/utils/images-optimization.ts @@ -21,6 +21,7 @@ export interface ImageProps extends Omit, 'src'> { layout?: Layout; widths?: number[] | null; aspectRatio?: string | number | null; + objectPosition?: string; } export type ImagesOptimizer = ( @@ -259,7 +260,18 @@ export const unpicOptimizer: ImagesOptimizer = async (image, breakpoints, width, /* ** */ export async function getImagesOptimized( image: ImageMetadata | string, - { src: _, width, height, sizes, aspectRatio, widths, layout = 'constrained', style = '', ...rest }: ImageProps, + { + src: _, + width, + height, + sizes, + aspectRatio, + objectPosition, + widths, + layout = 'constrained', + style = '', + ...rest + }: ImageProps, transform: ImagesOptimizer = () => Promise.resolve([]) ): Promise<{ src: string; attributes: HTMLAttributes<'img'> }> { if (typeof image !== 'string') { @@ -315,6 +327,7 @@ export async function getImagesOptimized( width: width, height: height, aspectRatio: aspectRatio, + objectPosition: objectPosition, layout: layout, })}${style ?? ''}`, ...rest, diff --git a/v3/vendor/integration/index.ts b/v3/vendor/integration/index.ts index b24420f..9b7b726 100644 --- a/v3/vendor/integration/index.ts +++ b/v3/vendor/integration/index.ts @@ -95,7 +95,7 @@ export default ({ config: _themeConfig = 'src/config.yaml' } = {}): AstroIntegra const pattern = /^Sitemap:(.*)$/m; if (!pattern.test(robotsTxt)) { - fs.appendFileSync(robotsTxtFileInOut, `${os.EOL}${os.EOL}Sitemap: ${sitemapUrl}`, { + fs.writeFileSync(robotsTxtFileInOut, `${robotsTxt}${os.EOL}${os.EOL}Sitemap: ${sitemapUrl}`, { encoding: 'utf8', flag: 'w', });