This commit is contained in:
rustdesk 2024-10-11 14:33:16 +08:00
parent a1dcdda0b2
commit 082431f57e
14 changed files with 438 additions and 133 deletions

View File

@ -15,6 +15,8 @@ import astrowind from './vendor/integration';
import { readingTimeRemarkPlugin, responsiveTablesRehypePlugin, lazyImagesRehypePlugin } from './src/utils/frontmatter';
import react from '@astrojs/react';
const __dirname = path.dirname(fileURLToPath(import.meta.url));
const hasExternalScripts = false;
@ -25,6 +27,7 @@ export default defineConfig({
output: 'static',
integrations: [
react(),
tailwind({
applyBaseStyles: false,
}),

406
v3/package-lock.json generated
View File

@ -8,16 +8,30 @@
"name": "@onwidget/astrowind",
"version": "1.0.0-beta.46",
"dependencies": {
"@astrojs/react": "^3.6.2",
"@astrojs/rss": "^4.0.7",
"@astrojs/sitemap": "^3.1.6",
"@astrolib/analytics": "^0.5.0",
"@astrolib/seo": "^1.0.0-beta.6",
"@fontsource-variable/inter": "^5.1.0",
"@radix-ui/react-icons": "^1.3.0",
"@radix-ui/react-slot": "^1.1.0",
"@types/react": "^18.3.11",
"@types/react-dom": "^18.3.0",
"astro": "^4.15.5",
"astro-embed": "^0.7.2",
"astro-icon": "^1.1.1",
"class-variance-authority": "^0.7.0",
"clsx": "^2.1.1",
"embla-carousel-react": "^8.3.0",
"limax": "4.1.0",
"lodash.merge": "^4.6.2",
"lucide-react": "^0.451.0",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-img-placeholder": "^0.1.5",
"swiper": "^11.1.14",
"tailwindcss-animate": "^1.0.7",
"unpic": "^3.18.0",
"vanilla-cookieconsent": "^3.0.1"
},
@ -47,7 +61,7 @@
"prettier-plugin-astro": "^0.14.1",
"reading-time": "^1.5.0",
"sharp": "0.33.5",
"tailwind-merge": "^2.5.2",
"tailwind-merge": "^2.5.3",
"tailwindcss": "^3.4.11",
"typescript": "^5.6.2",
"typescript-eslint": "^8.6.0",
@ -67,7 +81,6 @@
},
"node_modules/@alloc/quick-lru": {
"version": "5.2.0",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=10"
@ -325,6 +338,25 @@
"node": "^18.17.1 || ^20.3.0 || >=21.0.0"
}
},
"node_modules/@astrojs/react": {
"version": "3.6.2",
"resolved": "https://registry.npmjs.org/@astrojs/react/-/react-3.6.2.tgz",
"integrity": "sha512-fK29lYI7zK/KG4ZBy956x4dmauZcZ18osFkuyGa8r3gmmCQa2NZ9XNu9WaVYEUm0j89f4Gii4tbxLoyM8nk2MA==",
"license": "MIT",
"dependencies": {
"@vitejs/plugin-react": "^4.3.1",
"ultrahtml": "^1.5.3"
},
"engines": {
"node": "^18.17.1 || ^20.3.0 || >=21.0.0"
},
"peerDependencies": {
"@types/react": "^17.0.50 || ^18.0.21",
"@types/react-dom": "^17.0.17 || ^18.0.6",
"react": "^17.0.2 || ^18.0.0 || ^19.0.0-beta",
"react-dom": "^17.0.2 || ^18.0.0 || ^19.0.0-beta"
}
},
"node_modules/@astrojs/rss": {
"version": "4.0.7",
"resolved": "https://registry.npmjs.org/@astrojs/rss/-/rss-4.0.7.tgz",
@ -534,9 +566,10 @@
}
},
"node_modules/@babel/helper-plugin-utils": {
"version": "7.24.8",
"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz",
"integrity": "sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==",
"version": "7.25.7",
"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.7.tgz",
"integrity": "sha512-eaPZai0PiqCi09pPs3pAFfl/zYgGaE6IdXtYvmf0qlcDTd3WCtO7JWCcRd64e0EQrcYgiHibEZnOGsSY4QSgaw==",
"license": "MIT",
"engines": {
"node": ">=6.9.0"
}
@ -649,6 +682,36 @@
"@babel/core": "^7.0.0-0"
}
},
"node_modules/@babel/plugin-transform-react-jsx-self": {
"version": "7.25.7",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.25.7.tgz",
"integrity": "sha512-JD9MUnLbPL0WdVK8AWC7F7tTG2OS6u/AKKnsK+NdRhUiVdnzyR1S3kKQCaRLOiaULvUiqK6Z4JQE635VgtCFeg==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.25.7"
},
"engines": {
"node": ">=6.9.0"
},
"peerDependencies": {
"@babel/core": "^7.0.0-0"
}
},
"node_modules/@babel/plugin-transform-react-jsx-source": {
"version": "7.25.7",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.25.7.tgz",
"integrity": "sha512-S/JXG/KrbIY06iyJPKfxr0qRxnhNOdkNXYBl/rmwgDd72cQLH9tEGkDm/yJPGvcSIUoikzfjMios9i+xT/uv9w==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.25.7"
},
"engines": {
"node": ">=6.9.0"
},
"peerDependencies": {
"@babel/core": "^7.0.0-0"
}
},
"node_modules/@babel/template": {
"version": "7.25.0",
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz",
@ -1744,7 +1807,6 @@
},
"node_modules/@isaacs/cliui": {
"version": "8.0.2",
"dev": true,
"license": "ISC",
"dependencies": {
"string-width": "^5.1.2",
@ -1760,7 +1822,6 @@
},
"node_modules/@isaacs/cliui/node_modules/string-width": {
"version": "5.1.2",
"dev": true,
"license": "MIT",
"dependencies": {
"eastasianwidth": "^0.2.0",
@ -1892,7 +1953,6 @@
},
"node_modules/@pkgjs/parseargs": {
"version": "0.11.0",
"dev": true,
"license": "MIT",
"optional": true,
"engines": {
@ -1922,6 +1982,48 @@
"fast-glob": "3.3.2"
}
},
"node_modules/@radix-ui/react-compose-refs": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.0.tgz",
"integrity": "sha512-b4inOtiaOnYf9KWyO3jAeeCG6FeyfY6ldiEPanbUjWd+xIk5wZeHa8yVwmrJ2vderhu/BQvzCrJI0lHd+wIiqw==",
"license": "MIT",
"peerDependencies": {
"@types/react": "*",
"react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
},
"peerDependenciesMeta": {
"@types/react": {
"optional": true
}
}
},
"node_modules/@radix-ui/react-icons": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/@radix-ui/react-icons/-/react-icons-1.3.0.tgz",
"integrity": "sha512-jQxj/0LKgp+j9BiTXz3O3sgs26RNet2iLWmsPyRz2SIcR4q/4SbazXfnYwbAr+vLYKSfc7qxzyGQA1HLlYiuNw==",
"license": "MIT",
"peerDependencies": {
"react": "^16.x || ^17.x || ^18.x"
}
},
"node_modules/@radix-ui/react-slot": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.1.0.tgz",
"integrity": "sha512-FUCf5XMfmW4dtYl69pdS4DbxKy8nj4M7SafBgPllysxmdachynNflAdp/gCsnYWNDnge6tI9onzMp5ARYc1KNw==",
"license": "MIT",
"dependencies": {
"@radix-ui/react-compose-refs": "1.1.0"
},
"peerDependencies": {
"@types/react": "*",
"react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
},
"peerDependenciesMeta": {
"@types/react": {
"optional": true
}
}
},
"node_modules/@rollup/pluginutils": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.0.tgz",
@ -2379,6 +2481,31 @@
"undici-types": "~5.26.4"
}
},
"node_modules/@types/prop-types": {
"version": "15.7.13",
"resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.13.tgz",
"integrity": "sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==",
"license": "MIT"
},
"node_modules/@types/react": {
"version": "18.3.11",
"resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.11.tgz",
"integrity": "sha512-r6QZ069rFTjrEYgFdOck1gK7FLVsgJE7tTz0pQBczlBNUhBNk0MQH4UbnFSwjpQLMkLzgqvBBa+qGpLje16eTQ==",
"license": "MIT",
"dependencies": {
"@types/prop-types": "*",
"csstype": "^3.0.2"
}
},
"node_modules/@types/react-dom": {
"version": "18.3.0",
"resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.0.tgz",
"integrity": "sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==",
"license": "MIT",
"dependencies": {
"@types/react": "*"
}
},
"node_modules/@types/sax": {
"version": "1.2.7",
"resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.7.tgz",
@ -2603,6 +2730,25 @@
"version": "1.2.0",
"license": "ISC"
},
"node_modules/@vitejs/plugin-react": {
"version": "4.3.2",
"resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.3.2.tgz",
"integrity": "sha512-hieu+o05v4glEBucTcKMK3dlES0OeJlD9YVOAPraVMOInBCwzumaIFiUjr4bHK7NPgnAHgiskUoceKercrN8vg==",
"license": "MIT",
"dependencies": {
"@babel/core": "^7.25.2",
"@babel/plugin-transform-react-jsx-self": "^7.24.7",
"@babel/plugin-transform-react-jsx-source": "^7.24.7",
"@types/babel__core": "^7.20.5",
"react-refresh": "^0.14.2"
},
"engines": {
"node": "^14.18.0 || >=16.0.0"
},
"peerDependencies": {
"vite": "^4.2.0 || ^5.0.0"
}
},
"node_modules/@volar/kit": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/@volar/kit/-/kit-2.4.1.tgz",
@ -2797,12 +2943,10 @@
},
"node_modules/any-promise": {
"version": "1.3.0",
"dev": true,
"license": "MIT"
},
"node_modules/anymatch": {
"version": "3.1.3",
"dev": true,
"license": "ISC",
"dependencies": {
"normalize-path": "^3.0.0",
@ -3688,7 +3832,6 @@
},
"node_modules/balanced-match": {
"version": "1.0.2",
"dev": true,
"license": "MIT"
},
"node_modules/base-64": {
@ -3697,7 +3840,6 @@
},
"node_modules/binary-extensions": {
"version": "2.3.0",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=8"
@ -3757,7 +3899,6 @@
},
"node_modules/brace-expansion": {
"version": "2.0.1",
"dev": true,
"license": "MIT",
"dependencies": {
"balanced-match": "^1.0.0"
@ -3852,7 +3993,6 @@
},
"node_modules/camelcase-css": {
"version": "2.0.1",
"dev": true,
"license": "MIT",
"engines": {
"node": ">= 6"
@ -3991,7 +4131,6 @@
},
"node_modules/chokidar": {
"version": "3.6.0",
"dev": true,
"license": "MIT",
"dependencies": {
"anymatch": "~3.1.2",
@ -4033,6 +4172,27 @@
"node": ">=8"
}
},
"node_modules/class-variance-authority": {
"version": "0.7.0",
"resolved": "https://registry.npmjs.org/class-variance-authority/-/class-variance-authority-0.7.0.tgz",
"integrity": "sha512-jFI8IQw4hczaL4ALINxqLEXQbWcNjoSkloa4IaufXCJr6QawJyw7tuRysRsrE8w2p/4gGaxKIt/hX3qz/IbD1A==",
"license": "Apache-2.0",
"dependencies": {
"clsx": "2.0.0"
},
"funding": {
"url": "https://joebell.co.uk"
}
},
"node_modules/class-variance-authority/node_modules/clsx": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/clsx/-/clsx-2.0.0.tgz",
"integrity": "sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==",
"license": "MIT",
"engines": {
"node": ">=6"
}
},
"node_modules/clean-css": {
"version": "5.3.3",
"dev": true,
@ -4196,6 +4356,7 @@
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz",
"integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==",
"license": "MIT",
"engines": {
"node": ">=6"
}
@ -4313,7 +4474,6 @@
},
"node_modules/cross-spawn": {
"version": "7.0.3",
"dev": true,
"license": "MIT",
"dependencies": {
"path-key": "^3.1.0",
@ -4391,6 +4551,12 @@
"resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz",
"integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw=="
},
"node_modules/csstype": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
"integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==",
"license": "MIT"
},
"node_modules/debug": {
"version": "4.3.7",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
@ -4487,7 +4653,6 @@
},
"node_modules/didyoumean": {
"version": "1.2.2",
"dev": true,
"license": "Apache-2.0"
},
"node_modules/diff": {
@ -4585,6 +4750,34 @@
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.832.tgz",
"integrity": "sha512-cTen3SB0H2SGU7x467NRe1eVcQgcuS6jckKfWJHia2eo0cHIGOqHoAxevIYZD4eRHcWjkvFzo93bi3vJ9W+1lA=="
},
"node_modules/embla-carousel": {
"version": "8.3.0",
"resolved": "https://registry.npmjs.org/embla-carousel/-/embla-carousel-8.3.0.tgz",
"integrity": "sha512-Ve8dhI4w28qBqR8J+aMtv7rLK89r1ZA5HocwFz6uMB/i5EiC7bGI7y+AM80yAVUJw3qqaZYK7clmZMUR8kM3UA==",
"license": "MIT"
},
"node_modules/embla-carousel-react": {
"version": "8.3.0",
"resolved": "https://registry.npmjs.org/embla-carousel-react/-/embla-carousel-react-8.3.0.tgz",
"integrity": "sha512-P1FlinFDcIvggcErRjNuVqnUR8anyo8vLMIH8Rthgofw7Nj8qTguCa2QjFAbzxAUTQTPNNjNL7yt0BGGinVdFw==",
"license": "MIT",
"dependencies": {
"embla-carousel": "8.3.0",
"embla-carousel-reactive-utils": "8.3.0"
},
"peerDependencies": {
"react": "^16.8.0 || ^17.0.1 || ^18.0.0"
}
},
"node_modules/embla-carousel-reactive-utils": {
"version": "8.3.0",
"resolved": "https://registry.npmjs.org/embla-carousel-reactive-utils/-/embla-carousel-reactive-utils-8.3.0.tgz",
"integrity": "sha512-EYdhhJ302SC4Lmkx8GRsp0sjUhEN4WyFXPOk0kGu9OXZSRMmcBlRgTvHcq8eKJE1bXWBsOi1T83B+BSSVZSmwQ==",
"license": "MIT",
"peerDependencies": {
"embla-carousel": "8.3.0"
}
},
"node_modules/emmet": {
"version": "2.4.7",
"resolved": "https://registry.npmjs.org/emmet/-/emmet-2.4.7.tgz",
@ -5336,7 +5529,6 @@
},
"node_modules/foreground-child": {
"version": "3.1.1",
"dev": true,
"license": "ISC",
"dependencies": {
"cross-spawn": "^7.0.0",
@ -5414,7 +5606,6 @@
},
"node_modules/function-bind": {
"version": "1.1.2",
"dev": true,
"license": "MIT",
"funding": {
"url": "https://github.com/sponsors/ljharb"
@ -5454,7 +5645,6 @@
},
"node_modules/glob": {
"version": "10.3.12",
"dev": true,
"license": "ISC",
"dependencies": {
"foreground-child": "^3.1.0",
@ -5485,7 +5675,6 @@
},
"node_modules/glob/node_modules/minipass": {
"version": "7.0.4",
"dev": true,
"license": "ISC",
"engines": {
"node": ">=16 || 14 >=14.17"
@ -5573,7 +5762,6 @@
},
"node_modules/hasown": {
"version": "2.0.2",
"dev": true,
"license": "MIT",
"dependencies": {
"function-bind": "^1.1.2"
@ -5965,7 +6153,6 @@
},
"node_modules/is-binary-path": {
"version": "2.1.0",
"dev": true,
"license": "MIT",
"dependencies": {
"binary-extensions": "^2.0.0"
@ -5976,7 +6163,6 @@
},
"node_modules/is-core-module": {
"version": "2.13.1",
"dev": true,
"license": "MIT",
"dependencies": {
"hasown": "^2.0.0"
@ -6134,12 +6320,10 @@
},
"node_modules/isexe": {
"version": "2.0.0",
"dev": true,
"license": "ISC"
},
"node_modules/jackspeak": {
"version": "2.3.6",
"dev": true,
"license": "BlueOak-1.0.0",
"dependencies": {
"@isaacs/cliui": "^8.0.2"
@ -6156,7 +6340,6 @@
},
"node_modules/jiti": {
"version": "1.21.0",
"dev": true,
"license": "MIT",
"bin": {
"jiti": "bin/jiti.js"
@ -6471,7 +6654,6 @@
},
"node_modules/lilconfig": {
"version": "3.1.1",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=14"
@ -6495,7 +6677,6 @@
},
"node_modules/lines-and-columns": {
"version": "1.2.4",
"dev": true,
"license": "MIT"
},
"node_modules/linkedom": {
@ -6655,6 +6836,18 @@
"url": "https://github.com/sponsors/wooorm"
}
},
"node_modules/loose-envify": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
"integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
"license": "MIT",
"dependencies": {
"js-tokens": "^3.0.0 || ^4.0.0"
},
"bin": {
"loose-envify": "cli.js"
}
},
"node_modules/lower-case": {
"version": "2.0.2",
"dev": true,
@ -6671,6 +6864,15 @@
"yallist": "^3.0.2"
}
},
"node_modules/lucide-react": {
"version": "0.451.0",
"resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.451.0.tgz",
"integrity": "sha512-OwQ3uljZLp2cerj8sboy5rnhtGTCl9UCJIhT1J85/yOuGVlEH+xaUPR7tvNdddPvmV5M5VLdr7cQuWE3hzA4jw==",
"license": "ISC",
"peerDependencies": {
"react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0-rc"
}
},
"node_modules/magic-string": {
"version": "0.30.11",
"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz",
@ -7700,7 +7902,6 @@
},
"node_modules/minimatch": {
"version": "9.0.4",
"dev": true,
"license": "ISC",
"dependencies": {
"brace-expansion": "^2.0.1"
@ -7792,7 +7993,6 @@
},
"node_modules/mz": {
"version": "2.7.0",
"dev": true,
"license": "MIT",
"dependencies": {
"any-promise": "^1.0.0",
@ -7856,7 +8056,6 @@
},
"node_modules/normalize-path": {
"version": "3.0.0",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=0.10.0"
@ -7882,7 +8081,6 @@
},
"node_modules/object-assign": {
"version": "4.1.1",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=0.10.0"
@ -7890,7 +8088,6 @@
},
"node_modules/object-hash": {
"version": "3.0.0",
"dev": true,
"license": "MIT",
"engines": {
"node": ">= 6"
@ -8187,7 +8384,6 @@
},
"node_modules/path-key": {
"version": "3.1.1",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=8"
@ -8195,12 +8391,10 @@
},
"node_modules/path-parse": {
"version": "1.0.7",
"dev": true,
"license": "MIT"
},
"node_modules/path-scurry": {
"version": "1.10.2",
"dev": true,
"license": "BlueOak-1.0.0",
"dependencies": {
"lru-cache": "^10.2.0",
@ -8215,7 +8409,6 @@
},
"node_modules/path-scurry/node_modules/lru-cache": {
"version": "10.2.0",
"dev": true,
"license": "ISC",
"engines": {
"node": "14 || >=16.14"
@ -8223,7 +8416,6 @@
},
"node_modules/path-scurry/node_modules/minipass": {
"version": "7.0.4",
"dev": true,
"license": "ISC",
"engines": {
"node": ">=16 || 14 >=14.17"
@ -8275,7 +8467,6 @@
},
"node_modules/pify": {
"version": "2.3.0",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=0.10.0"
@ -8287,7 +8478,6 @@
},
"node_modules/pirates": {
"version": "4.0.6",
"dev": true,
"license": "MIT",
"engines": {
"node": ">= 6"
@ -8392,7 +8582,6 @@
},
"node_modules/postcss-import": {
"version": "15.1.0",
"dev": true,
"license": "MIT",
"dependencies": {
"postcss-value-parser": "^4.0.0",
@ -8408,7 +8597,6 @@
},
"node_modules/postcss-js": {
"version": "4.0.1",
"dev": true,
"license": "MIT",
"dependencies": {
"camelcase-css": "^2.0.1"
@ -8426,7 +8614,6 @@
},
"node_modules/postcss-load-config": {
"version": "4.0.2",
"dev": true,
"funding": [
{
"type": "opencollective",
@ -8460,7 +8647,6 @@
},
"node_modules/postcss-nested": {
"version": "6.0.1",
"dev": true,
"license": "MIT",
"dependencies": {
"postcss-selector-parser": "^6.0.11"
@ -8478,7 +8664,6 @@
},
"node_modules/postcss-nested/node_modules/postcss-selector-parser": {
"version": "6.0.16",
"dev": true,
"license": "MIT",
"dependencies": {
"cssesc": "^3.0.0",
@ -8502,7 +8687,6 @@
},
"node_modules/postcss-value-parser": {
"version": "4.2.0",
"dev": true,
"license": "MIT"
},
"node_modules/preferred-pm": {
@ -8630,9 +8814,54 @@
],
"license": "MIT"
},
"node_modules/react": {
"version": "18.3.1",
"resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz",
"integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==",
"license": "MIT",
"dependencies": {
"loose-envify": "^1.1.0"
},
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/react-dom": {
"version": "18.3.1",
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz",
"integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==",
"license": "MIT",
"dependencies": {
"loose-envify": "^1.1.0",
"scheduler": "^0.23.2"
},
"peerDependencies": {
"react": "^18.3.1"
}
},
"node_modules/react-img-placeholder": {
"version": "0.1.5",
"resolved": "https://registry.npmjs.org/react-img-placeholder/-/react-img-placeholder-0.1.5.tgz",
"integrity": "sha512-peXMI1ScTAw09Xm1ck42NeaZbQP97M0NqSoTBlVFKgdNh1x85y0ps0sjEb2RsOwUYzG0FL7x1+/6HOUx9JexiQ==",
"license": "MIT",
"engines": {
"node": ">=10"
},
"peerDependencies": {
"react": ">=16"
}
},
"node_modules/react-refresh": {
"version": "0.14.2",
"resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz",
"integrity": "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==",
"license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/read-cache": {
"version": "1.0.0",
"dev": true,
"license": "MIT",
"dependencies": {
"pify": "^2.3.0"
@ -8640,7 +8869,6 @@
},
"node_modules/readdirp": {
"version": "3.6.0",
"dev": true,
"license": "MIT",
"dependencies": {
"picomatch": "^2.2.1"
@ -8832,7 +9060,6 @@
},
"node_modules/resolve": {
"version": "1.22.8",
"dev": true,
"license": "MIT",
"dependencies": {
"is-core-module": "^2.13.0",
@ -9013,6 +9240,15 @@
"resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz",
"integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg=="
},
"node_modules/scheduler": {
"version": "0.23.2",
"resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz",
"integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==",
"license": "MIT",
"dependencies": {
"loose-envify": "^1.1.0"
}
},
"node_modules/section-matter": {
"version": "1.0.0",
"license": "MIT",
@ -9084,7 +9320,6 @@
},
"node_modules/shebang-command": {
"version": "2.0.0",
"dev": true,
"license": "MIT",
"dependencies": {
"shebang-regex": "^3.0.0"
@ -9095,7 +9330,6 @@
},
"node_modules/shebang-regex": {
"version": "3.0.0",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=8"
@ -9256,7 +9490,6 @@
"node_modules/string-width-cjs": {
"name": "string-width",
"version": "4.2.3",
"dev": true,
"license": "MIT",
"dependencies": {
"emoji-regex": "^8.0.0",
@ -9269,7 +9502,6 @@
},
"node_modules/string-width-cjs/node_modules/ansi-regex": {
"version": "5.0.1",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=8"
@ -9277,12 +9509,10 @@
},
"node_modules/string-width-cjs/node_modules/emoji-regex": {
"version": "8.0.0",
"dev": true,
"license": "MIT"
},
"node_modules/string-width-cjs/node_modules/strip-ansi": {
"version": "6.0.1",
"dev": true,
"license": "MIT",
"dependencies": {
"ansi-regex": "^5.0.1"
@ -9324,7 +9554,6 @@
"node_modules/strip-ansi-cjs": {
"name": "strip-ansi",
"version": "6.0.1",
"dev": true,
"license": "MIT",
"dependencies": {
"ansi-regex": "^5.0.1"
@ -9335,7 +9564,6 @@
},
"node_modules/strip-ansi-cjs/node_modules/ansi-regex": {
"version": "5.0.1",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=8"
@ -9383,7 +9611,6 @@
},
"node_modules/sucrase": {
"version": "3.35.0",
"dev": true,
"license": "MIT",
"dependencies": {
"@jridgewell/gen-mapping": "^0.3.2",
@ -9404,7 +9631,6 @@
},
"node_modules/sucrase/node_modules/commander": {
"version": "4.1.1",
"dev": true,
"license": "MIT",
"engines": {
"node": ">= 6"
@ -9431,7 +9657,6 @@
},
"node_modules/supports-preserve-symlinks-flag": {
"version": "1.0.0",
"dev": true,
"license": "MIT",
"engines": {
"node": ">= 0.4"
@ -9481,6 +9706,25 @@
"resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz",
"integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA=="
},
"node_modules/swiper": {
"version": "11.1.14",
"resolved": "https://registry.npmjs.org/swiper/-/swiper-11.1.14.tgz",
"integrity": "sha512-VbQLQXC04io6AoAjIUWuZwW4MSYozkcP9KjLdrsG/00Q/yiwvhz9RQyt0nHXV10hi9NVnDNy1/wv7Dzq1lkOCQ==",
"funding": [
{
"type": "patreon",
"url": "https://www.patreon.com/swiperjs"
},
{
"type": "open_collective",
"url": "http://opencollective.com/swiper"
}
],
"license": "MIT",
"engines": {
"node": ">= 4.7.0"
}
},
"node_modules/synckit": {
"version": "0.9.0",
"resolved": "https://registry.npmjs.org/synckit/-/synckit-0.9.0.tgz",
@ -9498,10 +9742,11 @@
}
},
"node_modules/tailwind-merge": {
"version": "2.5.2",
"resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-2.5.2.tgz",
"integrity": "sha512-kjEBm+pvD+6eAwzJL2Bi+02/9LFLal1Gs61+QB7HvTfQQ0aXwC5LGT8PEt1gS0CWKktKe6ysPTAy3cBC5MeiIg==",
"version": "2.5.3",
"resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-2.5.3.tgz",
"integrity": "sha512-d9ZolCAIzom1nf/5p4LdD5zvjmgSxY0BGgdSvmXIoMYAiPdAW/dSpP7joCDYFY7r/HkEa2qmPtkgsu0xjQeQtw==",
"dev": true,
"license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/dcastil"
@ -9511,7 +9756,6 @@
"version": "3.4.11",
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.11.tgz",
"integrity": "sha512-qhEuBcLemjSJk5ajccN9xJFtM/h0AVCPaA6C92jNP+M2J8kX+eMJHI7R2HFKUvvAsMpcfLILMCFYSeDwpMmlUg==",
"dev": true,
"license": "MIT",
"dependencies": {
"@alloc/quick-lru": "^5.2.0",
@ -9545,9 +9789,17 @@
"node": ">=14.0.0"
}
},
"node_modules/tailwindcss-animate": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/tailwindcss-animate/-/tailwindcss-animate-1.0.7.tgz",
"integrity": "sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA==",
"license": "MIT",
"peerDependencies": {
"tailwindcss": ">=3.0.0 || insiders"
}
},
"node_modules/tailwindcss/node_modules/glob-parent": {
"version": "6.0.2",
"dev": true,
"license": "ISC",
"dependencies": {
"is-glob": "^4.0.3"
@ -9558,7 +9810,6 @@
},
"node_modules/tailwindcss/node_modules/lilconfig": {
"version": "2.1.0",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=10"
@ -9566,7 +9817,6 @@
},
"node_modules/tailwindcss/node_modules/postcss-selector-parser": {
"version": "6.0.16",
"dev": true,
"license": "MIT",
"dependencies": {
"cssesc": "^3.0.0",
@ -9635,7 +9885,6 @@
},
"node_modules/thenify": {
"version": "3.3.1",
"dev": true,
"license": "MIT",
"dependencies": {
"any-promise": "^1.0.0"
@ -9643,7 +9892,6 @@
},
"node_modules/thenify-all": {
"version": "1.6.0",
"dev": true,
"license": "MIT",
"dependencies": {
"thenify": ">= 3.1.0 < 4"
@ -9704,7 +9952,6 @@
},
"node_modules/ts-interface-checker": {
"version": "0.1.13",
"dev": true,
"license": "Apache-2.0"
},
"node_modules/tsconfck": {
@ -9815,6 +10062,12 @@
"resolved": "https://registry.npmjs.org/uhyphen/-/uhyphen-0.2.0.tgz",
"integrity": "sha512-qz3o9CHXmJJPGBdqzab7qAYuW8kQGKNEuoHFYrBwV6hWIMcpAmxDLXojcHfFr9US1Pe6zUswEIJIbLI610fuqA=="
},
"node_modules/ultrahtml": {
"version": "1.5.3",
"resolved": "https://registry.npmjs.org/ultrahtml/-/ultrahtml-1.5.3.tgz",
"integrity": "sha512-GykOvZwgDWZlTQMtp5jrD4BVL+gNn2NVlVafjcFUJ7taY20tqYdwdoWBFy6GBJsNTZe1GkGPkSl5knQAjtgceg==",
"license": "MIT"
},
"node_modules/undici": {
"version": "6.19.8",
"resolved": "https://registry.npmjs.org/undici/-/undici-6.19.8.tgz",
@ -10029,7 +10282,6 @@
},
"node_modules/util-deprecate": {
"version": "1.0.2",
"dev": true,
"license": "MIT"
},
"node_modules/vanilla-cookieconsent": {
@ -10418,7 +10670,6 @@
},
"node_modules/which": {
"version": "2.0.2",
"dev": true,
"license": "ISC",
"dependencies": {
"isexe": "^2.0.0"
@ -10494,7 +10745,6 @@
"node_modules/wrap-ansi-cjs": {
"name": "wrap-ansi",
"version": "7.0.0",
"dev": true,
"license": "MIT",
"dependencies": {
"ansi-styles": "^4.0.0",
@ -10510,7 +10760,6 @@
},
"node_modules/wrap-ansi-cjs/node_modules/ansi-regex": {
"version": "5.0.1",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=8"
@ -10518,7 +10767,6 @@
},
"node_modules/wrap-ansi-cjs/node_modules/ansi-styles": {
"version": "4.3.0",
"dev": true,
"license": "MIT",
"dependencies": {
"color-convert": "^2.0.1"
@ -10532,7 +10780,6 @@
},
"node_modules/wrap-ansi-cjs/node_modules/color-convert": {
"version": "2.0.1",
"dev": true,
"license": "MIT",
"dependencies": {
"color-name": "~1.1.4"
@ -10543,17 +10790,14 @@
},
"node_modules/wrap-ansi-cjs/node_modules/color-name": {
"version": "1.1.4",
"dev": true,
"license": "MIT"
},
"node_modules/wrap-ansi-cjs/node_modules/emoji-regex": {
"version": "8.0.0",
"dev": true,
"license": "MIT"
},
"node_modules/wrap-ansi-cjs/node_modules/string-width": {
"version": "4.2.3",
"dev": true,
"license": "MIT",
"dependencies": {
"emoji-regex": "^8.0.0",
@ -10566,7 +10810,6 @@
},
"node_modules/wrap-ansi-cjs/node_modules/strip-ansi": {
"version": "6.0.1",
"dev": true,
"license": "MIT",
"dependencies": {
"ansi-regex": "^5.0.1"
@ -10627,7 +10870,6 @@
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.0.tgz",
"integrity": "sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw==",
"dev": true,
"bin": {
"yaml": "bin.mjs"
},

View File

@ -22,16 +22,29 @@
"fix:prettier": "prettier -w ."
},
"dependencies": {
"@astrojs/react": "^3.6.2",
"@astrojs/rss": "^4.0.7",
"@astrojs/sitemap": "^3.1.6",
"@astrolib/analytics": "^0.5.0",
"@astrolib/seo": "^1.0.0-beta.6",
"@fontsource-variable/inter": "^5.1.0",
"@radix-ui/react-icons": "^1.3.0",
"@radix-ui/react-slot": "^1.1.0",
"@types/react": "^18.3.11",
"@types/react-dom": "^18.3.0",
"astro": "^4.15.5",
"astro-embed": "^0.7.2",
"astro-icon": "^1.1.1",
"class-variance-authority": "^0.7.0",
"clsx": "^2.1.1",
"embla-carousel-react": "^8.3.0",
"limax": "4.1.0",
"lodash.merge": "^4.6.2",
"lucide-react": "^0.451.0",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"swiper": "^11.1.14",
"tailwindcss-animate": "^1.0.7",
"unpic": "^3.18.0",
"vanilla-cookieconsent": "^3.0.1"
},
@ -61,7 +74,7 @@
"prettier-plugin-astro": "^0.14.1",
"reading-time": "^1.5.0",
"sharp": "0.33.5",
"tailwind-merge": "^2.5.2",
"tailwind-merge": "^2.5.3",
"tailwindcss": "^3.4.11",
"typescript": "^5.6.2",
"typescript-eslint": "^8.6.0",

View File

Before

Width:  |  Height:  |  Size: 427 KiB

After

Width:  |  Height:  |  Size: 427 KiB

BIN
v3/public/custom.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 283 KiB

BIN
v3/public/main.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 201 KiB

BIN
v3/public/remote.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 339 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

View File

@ -0,0 +1,39 @@
/* https://swiperjs.com/demos */
import 'swiper/css';
import 'swiper/css/pagination';
import { Autoplay, Pagination, Scrollbar, Mousewheel } from 'swiper/modules';
import { Swiper, SwiperSlide } from 'swiper/react';
const Carousel = ({ list }) => {
return (
<Swiper
spaceBetween={0}
slidesPerView={1}
onSlideChange={() => console.log('slide change')}
onSwiper={(swiper) => console.log(swiper)}
pagination={{ clickable: true }}
style={{
'--swiper-pagination-bullet-inactive-color': '#fff',
'--swiper-pagination-bullet-size': '12px',
}}
mousewheel={{ forceToAxis: true, sensitivity: 0.1, releaseOnEdges: true }}
autoplay={{
delay: 2500,
disableOnInteraction: true,
}}
lazy={true}
scrollbar
modules={[Pagination, Autoplay, Scrollbar, Mousewheel]}
>
{list.map((item, i) => (
<SwiperSlide key={'p' + i}>
<img src={item.src} className={item.className} loading="lazy" alt={item.alt} />
<div className="swiper-lazy-preloader swiper-lazy-preloader-white"></div>
</SwiperSlide>
))}
</Swiper>
);
};
export default Carousel;

View File

@ -157,7 +157,7 @@ const currentPath = `/${trimSlash(new URL(Astro.url).pathname)}`;
title="If you like RustDesk, give us a star."
href="https://github.com/rustdesk/rustdesk"
>
<span class="w-[5.6rem] h-[1.25rem] bg-contain bg-[url(https://img.shields.io/github/stars/rustdesk/rustdesk.svg?style=social&label=Stars&maxAge=86400)]" />
<span class="w-[5.6rem] h-[1.25rem] bg-cover bg-[url(https://img.shields.io/github/stars/rustdesk/rustdesk.svg?style=social&label=Stars&maxAge=86400)]" />
</a>
)
}

View File

@ -1,7 +1,7 @@
---
import Layout from '~/layouts/Layout.astro';
import Header from '~/components/widgets/Header.astro';
import Footer from '~/components/widgets/Footer.astro';
import Footer, {type Props as FD} from '~/components/widgets/Footer.astro';
import Announcement from '~/components/widgets/Announcement.astro';
import { headerData, footerData } from '~/navigation';
@ -26,6 +26,6 @@ const { metadata } = Astro.props;
<slot />
</main>
<slot name="footer">
<Footer {...footerData} />
<Footer {...footerData as FD} />
</slot>
</Layout>

View File

@ -7,6 +7,7 @@ import Content from '~/components/widgets/Content.astro';
import BlogLatestPosts from '~/components/widgets/BlogLatestPosts.astro';
import Stats from '~/components/widgets/Stats.astro';
import CallToAction from '~/components/widgets/CallToAction.astro';
import Carousel from '~/components/widgets/Carousel.jsx';
const metadata = {
title: 'RustDesk: Open-Source Remote Desktop with Self-Hosted Server Solutions',
@ -16,7 +17,6 @@ const metadata = {
<Layout metadata={metadata}>
<!-- Hero Widget ******************* -->
<Hero
actions={[
{
@ -28,14 +28,24 @@ const metadata = {
},
{ text: 'Self-Hosting', href: 'https://rustdesk.com/docs/en/self-host/', target: '_blank', icon: 'tabler:book' },
]}
image={{ src: '~/assets/images/console.png', alt: 'RustDesk Web Console Image', class: "rounded-lg border border-gray-700" }}
>
<Fragment slot="title">
The Fast Open-Source Remote Access and Support Software
</Fragment>
<Fragment slot="title"> The Fast Open-Source Remote Access and Support Software </Fragment>
<Fragment slot="subtitle">
Switch from TeamViewer, AnyDesk, and Splashtop to RustDesk for a secure and reliable remote desktop experience with your own self-hosted servers.
Switch from TeamViewer, AnyDesk, and Splashtop to RustDesk for a secure and reliable remote desktop experience
with your own self-hosted servers.
</Fragment>
<Fragment slot="content">
<br /><br />
<Carousel
client:load
list={[
{ src: 'remote.jpg', className: 'rounded-[15px] border border-gray-700' },
{ src: 'main.png', className: 'rounded-[15px] border border-gray-700' },
{ src: 'console.png', className: 'rounded-[15px] border border-gray-700' },
{ src: 'custom.png', className: 'rounded-[15px] border border-gray-700' },
]}
/>
</Fragment>
</Hero>
@ -52,23 +62,19 @@ const metadata = {
items={[
{
title: 'Data sovereignty',
description:
'Regulatory compliance made easy: self-hosted RustDesk ensures data sovereignty.',
description: 'Regulatory compliance made easy: self-hosted RustDesk ensures data sovereignty.',
},
{
title: 'Enhanced security',
description:
'Fortify your security: on-premise deployment keeps your data under your control.',
description: 'Fortify your security: on-premise deployment keeps your data under your control.',
},
{
title: 'Performance and reliability',
description:
'Guaranteed uptime: on-premise deployment ensures optimal performance and minimal downtime.',
description: 'Guaranteed uptime: on-premise deployment ensures optimal performance and minimal downtime.',
},
{
title: 'Flexibility and customization',
description:
'Tailor RustDesk on-premise to fit your unique requirements.',
description: 'Tailor RustDesk on-premise to fit your unique requirements.',
},
]}
image={{
@ -78,7 +84,8 @@ const metadata = {
>
<Fragment slot="content">
<h3 class="text-2xl font-bold tracking-tight dark:text-white sm:text-3xl mb-2">Why self-hosting?</h3>
Are you frustrated with SaaS platforms due to their unstable performance, lack of transparency, and uncertain data security risks?
Are you frustrated with SaaS platforms due to their unstable performance, lack of transparency, and uncertain data
security risks?
</Fragment>
<Fragment slot="bg">
@ -119,7 +126,7 @@ const metadata = {
}}
>
<Fragment slot="content">
<h3 class="text-2xl font-bold tracking-tight dark:text-white sm:text-3xl mb-2">Custom client</h3>
<h3 class="text-2xl font-bold tracking-tight dark:text-white sm:text-3xl mb-2">Custom Client</h3>
Customize your client with your brand and make it truly yours.
</Fragment>
@ -136,18 +143,18 @@ const metadata = {
items={[
{
title: 'Step 1: Install Docker',
description:
"<code>sudo apt install -y docker.io</code>",
description: '<code>sudo apt install -y docker.io</code>',
icon: 'tabler:package',
},
{
title: 'Step 2: Download compose.yml',
description: '<code>wget rustdesk.com/oss.yml -O compose.yml<br>or<br>wget rustdesk.com/pro.yml -O compose.yml</code>',
description:
'<code>wget rustdesk.com/oss.yml -O compose.yml<br>or<br>wget rustdesk.com/pro.yml -O compose.yml</code>',
icon: 'tabler:download',
},
{
title: `Step 3: Compose`,
description: "<code>docker compose up -d</code>",
description: '<code>docker compose up -d</code>',
icon: 'tabler:hammer',
},
{
@ -163,27 +170,25 @@ const metadata = {
<!-- Stats Widget ****************** -->
<Stats
tagline="Scenarios"
title="Who are using self-hosting?"
subtitle='The data below is from our online survey covering over 1,000 self-hosting users.'
stats={[
{ title: 'IT Support', amount: '37%' },
{ title: 'IT Administration', amount: '25%' },
{ title: 'Remote Work', amount: '29%' },
{ title: 'Industrial and others', amount: '9%' },
]}
tagline="Scenarios"
title="Who are using self-hosting?"
subtitle="The data below is from our online survey covering over 1,000 self-hosting users."
stats={[
{ title: 'IT Support', amount: '37%' },
{ title: 'IT Administration', amount: '25%' },
{ title: 'Remote Work', amount: '29%' },
{ title: 'Industrial and others', amount: '9%' },
]}
/>
<!-- HighlightedPosts Widget ******* -->
<BlogLatestPosts
title="Find out more content in our Blog"
/>
<BlogLatestPosts title="Find out more content in our Blog" />
<Stats
tagline="Open Source"
title="Built in public with a vibrant community"
subtitle='Join a community driven solution that has millions of downloads and used by thousands of organisations.'
subtitle="Join a community driven solution that has millions of downloads and used by thousands of organisations."
stats={[
{ title: 'Client downloads', amount: '10M+' },
{ title: 'Docker downloads', amount: '1M+' },
@ -217,13 +222,9 @@ const metadata = {
},
]}
>
<Fragment slot="title">
Join the community
</Fragment>
<Fragment slot="title"> Join the community </Fragment>
<Fragment slot="subtitle">
Discover what our community has to say about their RustDesk experience.
</Fragment>
<Fragment slot="subtitle"> Discover what our community has to say about their RustDesk experience. </Fragment>
</Hero>
<CallToAction
@ -238,8 +239,6 @@ const metadata = {
{ text: 'Self-Hosting', href: 'https://rustdesk.com/docs/en/self-host/', target: '_blank', icon: 'tabler:book' },
]}
>
<Fragment slot="title">
Experience RustDesk for yourself
</Fragment>
<Fragment slot="title"> Experience RustDesk for yourself </Fragment>
</CallToAction>
</Layout>

View File

@ -5,8 +5,17 @@
"allowJs": true,
"baseUrl": ".",
"paths": {
"~/*": ["src/*"]
}
"~/*": [
"src/*"
],
"@/*": [
"./src/*"
]
},
"jsx": "react-jsx",
"jsxImportSource": "react"
},
"exclude": ["dist/"]
}
"exclude": [
"dist/"
]
}