Compare commits
44 commits
Author | SHA1 | Date | |
---|---|---|---|
a3e987c327 |
|||
2b646d4f97 |
|||
477290c9a9 |
|||
933c8c49c5 |
|||
0cd2e87dcf |
|||
64ac9f51a2 |
|||
692344edfb |
|||
0c55b47acd |
|||
fac33f23b8 |
|||
51a5b4329e |
|||
72aa95c4ed |
|||
28551fa0e2 |
|||
2243e7b2e1 |
|||
1b6c0ceaac |
|||
856ef1ba88 |
|||
6307b03f4d |
|||
a4c5204d07 |
|||
f498fce8ed |
|||
d30d640df3 |
|||
beb284bf43 |
|||
4717a44f56 |
|||
670c6040e6 |
|||
ea320fb4f4 |
|||
291aab7ab8 |
|||
6b924a1c34 |
|||
b9393a07de |
|||
b2febf1b13 |
|||
618d72f789 |
|||
2a64bc0bb0 |
|||
5bfe6ee17b |
|||
359c041668 |
|||
ee6f7be971 |
|||
f89ecb0e47 |
|||
a4c37062d9 |
|||
460a20c870 |
|||
b9cd9dd655 |
|||
80edcbaa47 |
|||
110f3d1117 |
|||
5bb449db34 | |||
5b4952827b | |||
f471221618 |
|||
219167ea3b |
|||
d81f259777 |
|||
987c2f517b |
76
.github/workflows/astro.yml
vendored
|
@ -1,50 +1,50 @@
|
|||
name: Deploy to Pages
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: ["main"]
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches: ["main"]
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
pages: write
|
||||
id-token: write
|
||||
|
||||
contents: read
|
||||
pages: write
|
||||
id-token: write
|
||||
|
||||
concurrency:
|
||||
group: "pages"
|
||||
cancel-in-progress: false
|
||||
group: "pages"
|
||||
cancel-in-progress: false
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: Build
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
build:
|
||||
name: Build
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: "20"
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: "20"
|
||||
|
||||
- name: Install dependencies
|
||||
run: npm i
|
||||
- name: Install dependencies
|
||||
run: npm i
|
||||
|
||||
- name: Build with Astro
|
||||
run: npm run astro build
|
||||
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-pages-artifact@v3
|
||||
with:
|
||||
path: dist
|
||||
- name: Build with Astro
|
||||
run: npm run astro build
|
||||
|
||||
deploy:
|
||||
environment:
|
||||
name: github-pages
|
||||
url: ${{ steps.deployment.outputs.page_url }}
|
||||
needs: build
|
||||
runs-on: ubuntu-latest
|
||||
name: Deploy
|
||||
steps:
|
||||
- name: Deploy to GitHub Pages
|
||||
id: deployment
|
||||
uses: actions/deploy-pages@v4
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-pages-artifact@v3
|
||||
with:
|
||||
path: dist
|
||||
|
||||
deploy:
|
||||
environment:
|
||||
name: github-pages
|
||||
url: ${{ steps.deployment.outputs.page_url }}
|
||||
needs: build
|
||||
runs-on: ubuntu-latest
|
||||
name: Deploy
|
||||
steps:
|
||||
- name: Deploy to GitHub Pages
|
||||
id: deployment
|
||||
uses: actions/deploy-pages@v4
|
||||
|
|
6
.prettierrc
Normal file
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"plugins": ["prettier-plugin-astro"],
|
||||
"tabWidth": 4,
|
||||
"semi": false,
|
||||
"overrides": [{ "files": "*.astro", "options": { "parser": "astro" } }]
|
||||
}
|
4
.vscode/extensions.json
vendored
|
@ -1,4 +1,4 @@
|
|||
{
|
||||
"recommendations": ["astro-build.astro-vscode"],
|
||||
"unwantedRecommendations": []
|
||||
"recommendations": ["astro-build.astro-vscode"],
|
||||
"unwantedRecommendations": []
|
||||
}
|
||||
|
|
2
.vscode/launch.json
vendored
|
@ -2,7 +2,7 @@
|
|||
"version": "0.2.0",
|
||||
"configurations": [
|
||||
{
|
||||
"command": "deno task dev",
|
||||
"command": "nix run nixpkgs#deno task dev",
|
||||
"name": "Development server",
|
||||
"request": "launch",
|
||||
"type": "node-terminal"
|
||||
|
|
|
@ -16,7 +16,7 @@ export default defineConfig({
|
|||
social: [
|
||||
{
|
||||
icon: "seti:git",
|
||||
label: "Source Code",
|
||||
label: "Git",
|
||||
href: "https://git.federated.nexus",
|
||||
},
|
||||
{
|
||||
|
@ -25,6 +25,42 @@ export default defineConfig({
|
|||
href: "https://wetdry.world/@QuadRadical",
|
||||
},
|
||||
],
|
||||
sidebar: [
|
||||
{ slug: "index" },
|
||||
{
|
||||
label: "Services",
|
||||
translations: {
|
||||
"ru-RU": "Услуги",
|
||||
"uk-UA": "Послуги",
|
||||
},
|
||||
autogenerate: { directory: "services" },
|
||||
},
|
||||
{ slug: "code" },
|
||||
{ slug: "donate" },
|
||||
],
|
||||
|
||||
defaultLocale: "root",
|
||||
locales: {
|
||||
root: {
|
||||
label: "English",
|
||||
lang: "en",
|
||||
},
|
||||
|
||||
"fr-fr": {
|
||||
label: "Français",
|
||||
lang: "fr-FR",
|
||||
},
|
||||
|
||||
"uk-ua": {
|
||||
label: "Українська",
|
||||
lang: "uk-UA",
|
||||
},
|
||||
|
||||
"ru-ru": {
|
||||
label: "Русский",
|
||||
lang: "ru-RU",
|
||||
},
|
||||
},
|
||||
}),
|
||||
],
|
||||
image: { service: passthroughImageService() },
|
||||
|
|
445
deno.lock
generated
|
@ -1,8 +1,10 @@
|
|||
{
|
||||
"version": "4",
|
||||
"version": "5",
|
||||
"specifiers": {
|
||||
"npm:@astrojs/starlight@~0.34.3": "0.34.3_astro@5.1.8__vite@6.0.11__zod@3.24.1",
|
||||
"npm:astro@^5.1.8": "5.1.8_vite@6.0.11_zod@3.24.1",
|
||||
"npm:prettier-plugin-astro@~0.14.1": "0.14.1",
|
||||
"npm:prettier@^3.6.2": "3.6.2",
|
||||
"npm:sharp@~0.33.5": "0.33.5",
|
||||
"npm:starlight@~0.3.9": "0.3.9"
|
||||
},
|
||||
|
@ -160,7 +162,8 @@
|
|||
"integrity": "sha512-SRJ4jYmXRqV1/Xc+TIVG84WjHBXKlxO9sHQnA2Pf12QQEAp1LOh6kDzNHXcUnbH1QI0FDoPPVOt+vyUDucxpaw==",
|
||||
"dependencies": [
|
||||
"@babel/types"
|
||||
]
|
||||
],
|
||||
"bin": true
|
||||
},
|
||||
"@babel/runtime@7.27.4": {
|
||||
"integrity": "sha512-t3yaEOuGu9NlIZ+hIeGbBjFtZT7j2cb2tg0fuaJKeGotchRjjLfrBA9Kwf8quhpP1EUuxModQg04q/mBwyg8uA=="
|
||||
|
@ -182,79 +185,129 @@
|
|||
]
|
||||
},
|
||||
"@esbuild/aix-ppc64@0.24.2": {
|
||||
"integrity": "sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA=="
|
||||
"integrity": "sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==",
|
||||
"os": ["aix"],
|
||||
"cpu": ["ppc64"]
|
||||
},
|
||||
"@esbuild/android-arm64@0.24.2": {
|
||||
"integrity": "sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg=="
|
||||
"integrity": "sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==",
|
||||
"os": ["android"],
|
||||
"cpu": ["arm64"]
|
||||
},
|
||||
"@esbuild/android-arm@0.24.2": {
|
||||
"integrity": "sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q=="
|
||||
"integrity": "sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==",
|
||||
"os": ["android"],
|
||||
"cpu": ["arm"]
|
||||
},
|
||||
"@esbuild/android-x64@0.24.2": {
|
||||
"integrity": "sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw=="
|
||||
"integrity": "sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==",
|
||||
"os": ["android"],
|
||||
"cpu": ["x64"]
|
||||
},
|
||||
"@esbuild/darwin-arm64@0.24.2": {
|
||||
"integrity": "sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA=="
|
||||
"integrity": "sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==",
|
||||
"os": ["darwin"],
|
||||
"cpu": ["arm64"]
|
||||
},
|
||||
"@esbuild/darwin-x64@0.24.2": {
|
||||
"integrity": "sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA=="
|
||||
"integrity": "sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==",
|
||||
"os": ["darwin"],
|
||||
"cpu": ["x64"]
|
||||
},
|
||||
"@esbuild/freebsd-arm64@0.24.2": {
|
||||
"integrity": "sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg=="
|
||||
"integrity": "sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==",
|
||||
"os": ["freebsd"],
|
||||
"cpu": ["arm64"]
|
||||
},
|
||||
"@esbuild/freebsd-x64@0.24.2": {
|
||||
"integrity": "sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q=="
|
||||
"integrity": "sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==",
|
||||
"os": ["freebsd"],
|
||||
"cpu": ["x64"]
|
||||
},
|
||||
"@esbuild/linux-arm64@0.24.2": {
|
||||
"integrity": "sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg=="
|
||||
"integrity": "sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==",
|
||||
"os": ["linux"],
|
||||
"cpu": ["arm64"]
|
||||
},
|
||||
"@esbuild/linux-arm@0.24.2": {
|
||||
"integrity": "sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA=="
|
||||
"integrity": "sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==",
|
||||
"os": ["linux"],
|
||||
"cpu": ["arm"]
|
||||
},
|
||||
"@esbuild/linux-ia32@0.24.2": {
|
||||
"integrity": "sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw=="
|
||||
"integrity": "sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==",
|
||||
"os": ["linux"],
|
||||
"cpu": ["ia32"]
|
||||
},
|
||||
"@esbuild/linux-loong64@0.24.2": {
|
||||
"integrity": "sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ=="
|
||||
"integrity": "sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==",
|
||||
"os": ["linux"],
|
||||
"cpu": ["loong64"]
|
||||
},
|
||||
"@esbuild/linux-mips64el@0.24.2": {
|
||||
"integrity": "sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw=="
|
||||
"integrity": "sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==",
|
||||
"os": ["linux"],
|
||||
"cpu": ["mips64el"]
|
||||
},
|
||||
"@esbuild/linux-ppc64@0.24.2": {
|
||||
"integrity": "sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw=="
|
||||
"integrity": "sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==",
|
||||
"os": ["linux"],
|
||||
"cpu": ["ppc64"]
|
||||
},
|
||||
"@esbuild/linux-riscv64@0.24.2": {
|
||||
"integrity": "sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q=="
|
||||
"integrity": "sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==",
|
||||
"os": ["linux"],
|
||||
"cpu": ["riscv64"]
|
||||
},
|
||||
"@esbuild/linux-s390x@0.24.2": {
|
||||
"integrity": "sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw=="
|
||||
"integrity": "sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==",
|
||||
"os": ["linux"],
|
||||
"cpu": ["s390x"]
|
||||
},
|
||||
"@esbuild/linux-x64@0.24.2": {
|
||||
"integrity": "sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q=="
|
||||
"integrity": "sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==",
|
||||
"os": ["linux"],
|
||||
"cpu": ["x64"]
|
||||
},
|
||||
"@esbuild/netbsd-arm64@0.24.2": {
|
||||
"integrity": "sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw=="
|
||||
"integrity": "sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==",
|
||||
"os": ["netbsd"],
|
||||
"cpu": ["arm64"]
|
||||
},
|
||||
"@esbuild/netbsd-x64@0.24.2": {
|
||||
"integrity": "sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw=="
|
||||
"integrity": "sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==",
|
||||
"os": ["netbsd"],
|
||||
"cpu": ["x64"]
|
||||
},
|
||||
"@esbuild/openbsd-arm64@0.24.2": {
|
||||
"integrity": "sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A=="
|
||||
"integrity": "sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==",
|
||||
"os": ["openbsd"],
|
||||
"cpu": ["arm64"]
|
||||
},
|
||||
"@esbuild/openbsd-x64@0.24.2": {
|
||||
"integrity": "sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA=="
|
||||
"integrity": "sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==",
|
||||
"os": ["openbsd"],
|
||||
"cpu": ["x64"]
|
||||
},
|
||||
"@esbuild/sunos-x64@0.24.2": {
|
||||
"integrity": "sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig=="
|
||||
"integrity": "sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==",
|
||||
"os": ["sunos"],
|
||||
"cpu": ["x64"]
|
||||
},
|
||||
"@esbuild/win32-arm64@0.24.2": {
|
||||
"integrity": "sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ=="
|
||||
"integrity": "sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==",
|
||||
"os": ["win32"],
|
||||
"cpu": ["arm64"]
|
||||
},
|
||||
"@esbuild/win32-ia32@0.24.2": {
|
||||
"integrity": "sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA=="
|
||||
"integrity": "sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==",
|
||||
"os": ["win32"],
|
||||
"cpu": ["ia32"]
|
||||
},
|
||||
"@esbuild/win32-x64@0.24.2": {
|
||||
"integrity": "sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg=="
|
||||
"integrity": "sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==",
|
||||
"os": ["win32"],
|
||||
"cpu": ["x64"]
|
||||
},
|
||||
"@expressive-code/core@0.41.2_postcss@8.5.1": {
|
||||
"integrity": "sha512-AJW5Tp9czbLqKMzwudL9Rv4js9afXBxkSGLmCNPq1iRgAYcx9NkTPJiSNCesjKRWoVC328AdSu6fqrD22zDgDg==",
|
||||
|
@ -291,87 +344,124 @@
|
|||
},
|
||||
"@img/sharp-darwin-arm64@0.33.5": {
|
||||
"integrity": "sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==",
|
||||
"dependencies": [
|
||||
"optionalDependencies": [
|
||||
"@img/sharp-libvips-darwin-arm64"
|
||||
]
|
||||
],
|
||||
"os": ["darwin"],
|
||||
"cpu": ["arm64"]
|
||||
},
|
||||
"@img/sharp-darwin-x64@0.33.5": {
|
||||
"integrity": "sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==",
|
||||
"dependencies": [
|
||||
"optionalDependencies": [
|
||||
"@img/sharp-libvips-darwin-x64"
|
||||
]
|
||||
],
|
||||
"os": ["darwin"],
|
||||
"cpu": ["x64"]
|
||||
},
|
||||
"@img/sharp-libvips-darwin-arm64@1.0.4": {
|
||||
"integrity": "sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg=="
|
||||
"integrity": "sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==",
|
||||
"os": ["darwin"],
|
||||
"cpu": ["arm64"]
|
||||
},
|
||||
"@img/sharp-libvips-darwin-x64@1.0.4": {
|
||||
"integrity": "sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ=="
|
||||
"integrity": "sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==",
|
||||
"os": ["darwin"],
|
||||
"cpu": ["x64"]
|
||||
},
|
||||
"@img/sharp-libvips-linux-arm64@1.0.4": {
|
||||
"integrity": "sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA=="
|
||||
"integrity": "sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==",
|
||||
"os": ["linux"],
|
||||
"cpu": ["arm64"]
|
||||
},
|
||||
"@img/sharp-libvips-linux-arm@1.0.5": {
|
||||
"integrity": "sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g=="
|
||||
"integrity": "sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==",
|
||||
"os": ["linux"],
|
||||
"cpu": ["arm"]
|
||||
},
|
||||
"@img/sharp-libvips-linux-s390x@1.0.4": {
|
||||
"integrity": "sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA=="
|
||||
"integrity": "sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==",
|
||||
"os": ["linux"],
|
||||
"cpu": ["s390x"]
|
||||
},
|
||||
"@img/sharp-libvips-linux-x64@1.0.4": {
|
||||
"integrity": "sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw=="
|
||||
"integrity": "sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==",
|
||||
"os": ["linux"],
|
||||
"cpu": ["x64"]
|
||||
},
|
||||
"@img/sharp-libvips-linuxmusl-arm64@1.0.4": {
|
||||
"integrity": "sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA=="
|
||||
"integrity": "sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==",
|
||||
"os": ["linux"],
|
||||
"cpu": ["arm64"]
|
||||
},
|
||||
"@img/sharp-libvips-linuxmusl-x64@1.0.4": {
|
||||
"integrity": "sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw=="
|
||||
"integrity": "sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==",
|
||||
"os": ["linux"],
|
||||
"cpu": ["x64"]
|
||||
},
|
||||
"@img/sharp-linux-arm64@0.33.5": {
|
||||
"integrity": "sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==",
|
||||
"dependencies": [
|
||||
"optionalDependencies": [
|
||||
"@img/sharp-libvips-linux-arm64"
|
||||
]
|
||||
],
|
||||
"os": ["linux"],
|
||||
"cpu": ["arm64"]
|
||||
},
|
||||
"@img/sharp-linux-arm@0.33.5": {
|
||||
"integrity": "sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==",
|
||||
"dependencies": [
|
||||
"optionalDependencies": [
|
||||
"@img/sharp-libvips-linux-arm"
|
||||
]
|
||||
],
|
||||
"os": ["linux"],
|
||||
"cpu": ["arm"]
|
||||
},
|
||||
"@img/sharp-linux-s390x@0.33.5": {
|
||||
"integrity": "sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==",
|
||||
"dependencies": [
|
||||
"optionalDependencies": [
|
||||
"@img/sharp-libvips-linux-s390x"
|
||||
]
|
||||
],
|
||||
"os": ["linux"],
|
||||
"cpu": ["s390x"]
|
||||
},
|
||||
"@img/sharp-linux-x64@0.33.5": {
|
||||
"integrity": "sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==",
|
||||
"dependencies": [
|
||||
"optionalDependencies": [
|
||||
"@img/sharp-libvips-linux-x64"
|
||||
]
|
||||
],
|
||||
"os": ["linux"],
|
||||
"cpu": ["x64"]
|
||||
},
|
||||
"@img/sharp-linuxmusl-arm64@0.33.5": {
|
||||
"integrity": "sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==",
|
||||
"dependencies": [
|
||||
"optionalDependencies": [
|
||||
"@img/sharp-libvips-linuxmusl-arm64"
|
||||
]
|
||||
],
|
||||
"os": ["linux"],
|
||||
"cpu": ["arm64"]
|
||||
},
|
||||
"@img/sharp-linuxmusl-x64@0.33.5": {
|
||||
"integrity": "sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==",
|
||||
"dependencies": [
|
||||
"optionalDependencies": [
|
||||
"@img/sharp-libvips-linuxmusl-x64"
|
||||
]
|
||||
],
|
||||
"os": ["linux"],
|
||||
"cpu": ["x64"]
|
||||
},
|
||||
"@img/sharp-wasm32@0.33.5": {
|
||||
"integrity": "sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==",
|
||||
"dependencies": [
|
||||
"@emnapi/runtime"
|
||||
]
|
||||
],
|
||||
"cpu": ["wasm32"]
|
||||
},
|
||||
"@img/sharp-win32-ia32@0.33.5": {
|
||||
"integrity": "sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ=="
|
||||
"integrity": "sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==",
|
||||
"os": ["win32"],
|
||||
"cpu": ["ia32"]
|
||||
},
|
||||
"@img/sharp-win32-x64@0.33.5": {
|
||||
"integrity": "sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg=="
|
||||
"integrity": "sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==",
|
||||
"os": ["win32"],
|
||||
"cpu": ["x64"]
|
||||
},
|
||||
"@jridgewell/sourcemap-codec@1.5.0": {
|
||||
"integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ=="
|
||||
|
@ -426,22 +516,32 @@
|
|||
"integrity": "sha512-70wQhgYmndg4GCPxPPxPGevRKqTIJ2Nh4OkiMWmDAVYsTQ+Ta7Sq+rPevXyXGdzr30/qZBnyOalCszoMxlyldQ=="
|
||||
},
|
||||
"@pagefind/darwin-arm64@1.3.0": {
|
||||
"integrity": "sha512-365BEGl6ChOsauRjyVpBjXybflXAOvoMROw3TucAROHIcdBvXk9/2AmEvGFU0r75+vdQI4LJdJdpH4Y6Yqaj4A=="
|
||||
"integrity": "sha512-365BEGl6ChOsauRjyVpBjXybflXAOvoMROw3TucAROHIcdBvXk9/2AmEvGFU0r75+vdQI4LJdJdpH4Y6Yqaj4A==",
|
||||
"os": ["darwin"],
|
||||
"cpu": ["arm64"]
|
||||
},
|
||||
"@pagefind/darwin-x64@1.3.0": {
|
||||
"integrity": "sha512-zlGHA23uuXmS8z3XxEGmbHpWDxXfPZ47QS06tGUq0HDcZjXjXHeLG+cboOy828QIV5FXsm9MjfkP5e4ZNbOkow=="
|
||||
"integrity": "sha512-zlGHA23uuXmS8z3XxEGmbHpWDxXfPZ47QS06tGUq0HDcZjXjXHeLG+cboOy828QIV5FXsm9MjfkP5e4ZNbOkow==",
|
||||
"os": ["darwin"],
|
||||
"cpu": ["x64"]
|
||||
},
|
||||
"@pagefind/default-ui@1.3.0": {
|
||||
"integrity": "sha512-CGKT9ccd3+oRK6STXGgfH+m0DbOKayX6QGlq38TfE1ZfUcPc5+ulTuzDbZUnMo+bubsEOIypm4Pl2iEyzZ1cNg=="
|
||||
},
|
||||
"@pagefind/linux-arm64@1.3.0": {
|
||||
"integrity": "sha512-8lsxNAiBRUk72JvetSBXs4WRpYrQrVJXjlRRnOL6UCdBN9Nlsz0t7hWstRk36+JqHpGWOKYiuHLzGYqYAqoOnQ=="
|
||||
"integrity": "sha512-8lsxNAiBRUk72JvetSBXs4WRpYrQrVJXjlRRnOL6UCdBN9Nlsz0t7hWstRk36+JqHpGWOKYiuHLzGYqYAqoOnQ==",
|
||||
"os": ["linux"],
|
||||
"cpu": ["arm64"]
|
||||
},
|
||||
"@pagefind/linux-x64@1.3.0": {
|
||||
"integrity": "sha512-hAvqdPJv7A20Ucb6FQGE6jhjqy+vZ6pf+s2tFMNtMBG+fzcdc91uTw7aP/1Vo5plD0dAOHwdxfkyw0ugal4kcQ=="
|
||||
"integrity": "sha512-hAvqdPJv7A20Ucb6FQGE6jhjqy+vZ6pf+s2tFMNtMBG+fzcdc91uTw7aP/1Vo5plD0dAOHwdxfkyw0ugal4kcQ==",
|
||||
"os": ["linux"],
|
||||
"cpu": ["x64"]
|
||||
},
|
||||
"@pagefind/windows-x64@1.3.0": {
|
||||
"integrity": "sha512-BR1bIRWOMqkf8IoU576YDhij1Wd/Zf2kX/kCI0b2qzCKC8wcc2GQJaaRMCpzvCCrmliO4vtJ6RITp/AnoYUUmQ=="
|
||||
"integrity": "sha512-BR1bIRWOMqkf8IoU576YDhij1Wd/Zf2kX/kCI0b2qzCKC8wcc2GQJaaRMCpzvCCrmliO4vtJ6RITp/AnoYUUmQ==",
|
||||
"os": ["win32"],
|
||||
"cpu": ["x64"]
|
||||
},
|
||||
"@rollup/pluginutils@5.1.4": {
|
||||
"integrity": "sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==",
|
||||
|
@ -452,61 +552,99 @@
|
|||
]
|
||||
},
|
||||
"@rollup/rollup-android-arm-eabi@4.31.0": {
|
||||
"integrity": "sha512-9NrR4033uCbUBRgvLcBrJofa2KY9DzxL2UKZ1/4xA/mnTNyhZCWBuD8X3tPm1n4KxcgaraOYgrFKSgwjASfmlA=="
|
||||
"integrity": "sha512-9NrR4033uCbUBRgvLcBrJofa2KY9DzxL2UKZ1/4xA/mnTNyhZCWBuD8X3tPm1n4KxcgaraOYgrFKSgwjASfmlA==",
|
||||
"os": ["android"],
|
||||
"cpu": ["arm"]
|
||||
},
|
||||
"@rollup/rollup-android-arm64@4.31.0": {
|
||||
"integrity": "sha512-iBbODqT86YBFHajxxF8ebj2hwKm1k8PTBQSojSt3d1FFt1gN+xf4CowE47iN0vOSdnd+5ierMHBbu/rHc7nq5g=="
|
||||
"integrity": "sha512-iBbODqT86YBFHajxxF8ebj2hwKm1k8PTBQSojSt3d1FFt1gN+xf4CowE47iN0vOSdnd+5ierMHBbu/rHc7nq5g==",
|
||||
"os": ["android"],
|
||||
"cpu": ["arm64"]
|
||||
},
|
||||
"@rollup/rollup-darwin-arm64@4.31.0": {
|
||||
"integrity": "sha512-WHIZfXgVBX30SWuTMhlHPXTyN20AXrLH4TEeH/D0Bolvx9PjgZnn4H677PlSGvU6MKNsjCQJYczkpvBbrBnG6g=="
|
||||
"integrity": "sha512-WHIZfXgVBX30SWuTMhlHPXTyN20AXrLH4TEeH/D0Bolvx9PjgZnn4H677PlSGvU6MKNsjCQJYczkpvBbrBnG6g==",
|
||||
"os": ["darwin"],
|
||||
"cpu": ["arm64"]
|
||||
},
|
||||
"@rollup/rollup-darwin-x64@4.31.0": {
|
||||
"integrity": "sha512-hrWL7uQacTEF8gdrQAqcDy9xllQ0w0zuL1wk1HV8wKGSGbKPVjVUv/DEwT2+Asabf8Dh/As+IvfdU+H8hhzrQQ=="
|
||||
"integrity": "sha512-hrWL7uQacTEF8gdrQAqcDy9xllQ0w0zuL1wk1HV8wKGSGbKPVjVUv/DEwT2+Asabf8Dh/As+IvfdU+H8hhzrQQ==",
|
||||
"os": ["darwin"],
|
||||
"cpu": ["x64"]
|
||||
},
|
||||
"@rollup/rollup-freebsd-arm64@4.31.0": {
|
||||
"integrity": "sha512-S2oCsZ4hJviG1QjPY1h6sVJLBI6ekBeAEssYKad1soRFv3SocsQCzX6cwnk6fID6UQQACTjeIMB+hyYrFacRew=="
|
||||
"integrity": "sha512-S2oCsZ4hJviG1QjPY1h6sVJLBI6ekBeAEssYKad1soRFv3SocsQCzX6cwnk6fID6UQQACTjeIMB+hyYrFacRew==",
|
||||
"os": ["freebsd"],
|
||||
"cpu": ["arm64"]
|
||||
},
|
||||
"@rollup/rollup-freebsd-x64@4.31.0": {
|
||||
"integrity": "sha512-pCANqpynRS4Jirn4IKZH4tnm2+2CqCNLKD7gAdEjzdLGbH1iO0zouHz4mxqg0uEMpO030ejJ0aA6e1PJo2xrPA=="
|
||||
"integrity": "sha512-pCANqpynRS4Jirn4IKZH4tnm2+2CqCNLKD7gAdEjzdLGbH1iO0zouHz4mxqg0uEMpO030ejJ0aA6e1PJo2xrPA==",
|
||||
"os": ["freebsd"],
|
||||
"cpu": ["x64"]
|
||||
},
|
||||
"@rollup/rollup-linux-arm-gnueabihf@4.31.0": {
|
||||
"integrity": "sha512-0O8ViX+QcBd3ZmGlcFTnYXZKGbFu09EhgD27tgTdGnkcYXLat4KIsBBQeKLR2xZDCXdIBAlWLkiXE1+rJpCxFw=="
|
||||
"integrity": "sha512-0O8ViX+QcBd3ZmGlcFTnYXZKGbFu09EhgD27tgTdGnkcYXLat4KIsBBQeKLR2xZDCXdIBAlWLkiXE1+rJpCxFw==",
|
||||
"os": ["linux"],
|
||||
"cpu": ["arm"]
|
||||
},
|
||||
"@rollup/rollup-linux-arm-musleabihf@4.31.0": {
|
||||
"integrity": "sha512-w5IzG0wTVv7B0/SwDnMYmbr2uERQp999q8FMkKG1I+j8hpPX2BYFjWe69xbhbP6J9h2gId/7ogesl9hwblFwwg=="
|
||||
"integrity": "sha512-w5IzG0wTVv7B0/SwDnMYmbr2uERQp999q8FMkKG1I+j8hpPX2BYFjWe69xbhbP6J9h2gId/7ogesl9hwblFwwg==",
|
||||
"os": ["linux"],
|
||||
"cpu": ["arm"]
|
||||
},
|
||||
"@rollup/rollup-linux-arm64-gnu@4.31.0": {
|
||||
"integrity": "sha512-JyFFshbN5xwy6fulZ8B/8qOqENRmDdEkcIMF0Zz+RsfamEW+Zabl5jAb0IozP/8UKnJ7g2FtZZPEUIAlUSX8cA=="
|
||||
"integrity": "sha512-JyFFshbN5xwy6fulZ8B/8qOqENRmDdEkcIMF0Zz+RsfamEW+Zabl5jAb0IozP/8UKnJ7g2FtZZPEUIAlUSX8cA==",
|
||||
"os": ["linux"],
|
||||
"cpu": ["arm64"]
|
||||
},
|
||||
"@rollup/rollup-linux-arm64-musl@4.31.0": {
|
||||
"integrity": "sha512-kpQXQ0UPFeMPmPYksiBL9WS/BDiQEjRGMfklVIsA0Sng347H8W2iexch+IEwaR7OVSKtr2ZFxggt11zVIlZ25g=="
|
||||
"integrity": "sha512-kpQXQ0UPFeMPmPYksiBL9WS/BDiQEjRGMfklVIsA0Sng347H8W2iexch+IEwaR7OVSKtr2ZFxggt11zVIlZ25g==",
|
||||
"os": ["linux"],
|
||||
"cpu": ["arm64"]
|
||||
},
|
||||
"@rollup/rollup-linux-loongarch64-gnu@4.31.0": {
|
||||
"integrity": "sha512-pMlxLjt60iQTzt9iBb3jZphFIl55a70wexvo8p+vVFK+7ifTRookdoXX3bOsRdmfD+OKnMozKO6XM4zR0sHRrQ=="
|
||||
"integrity": "sha512-pMlxLjt60iQTzt9iBb3jZphFIl55a70wexvo8p+vVFK+7ifTRookdoXX3bOsRdmfD+OKnMozKO6XM4zR0sHRrQ==",
|
||||
"os": ["linux"],
|
||||
"cpu": ["loong64"]
|
||||
},
|
||||
"@rollup/rollup-linux-powerpc64le-gnu@4.31.0": {
|
||||
"integrity": "sha512-D7TXT7I/uKEuWiRkEFbed1UUYZwcJDU4vZQdPTcepK7ecPhzKOYk4Er2YR4uHKme4qDeIh6N3XrLfpuM7vzRWQ=="
|
||||
"integrity": "sha512-D7TXT7I/uKEuWiRkEFbed1UUYZwcJDU4vZQdPTcepK7ecPhzKOYk4Er2YR4uHKme4qDeIh6N3XrLfpuM7vzRWQ==",
|
||||
"os": ["linux"],
|
||||
"cpu": ["ppc64"]
|
||||
},
|
||||
"@rollup/rollup-linux-riscv64-gnu@4.31.0": {
|
||||
"integrity": "sha512-wal2Tc8O5lMBtoePLBYRKj2CImUCJ4UNGJlLwspx7QApYny7K1cUYlzQ/4IGQBLmm+y0RS7dwc3TDO/pmcneTw=="
|
||||
"integrity": "sha512-wal2Tc8O5lMBtoePLBYRKj2CImUCJ4UNGJlLwspx7QApYny7K1cUYlzQ/4IGQBLmm+y0RS7dwc3TDO/pmcneTw==",
|
||||
"os": ["linux"],
|
||||
"cpu": ["riscv64"]
|
||||
},
|
||||
"@rollup/rollup-linux-s390x-gnu@4.31.0": {
|
||||
"integrity": "sha512-O1o5EUI0+RRMkK9wiTVpk2tyzXdXefHtRTIjBbmFREmNMy7pFeYXCFGbhKFwISA3UOExlo5GGUuuj3oMKdK6JQ=="
|
||||
"integrity": "sha512-O1o5EUI0+RRMkK9wiTVpk2tyzXdXefHtRTIjBbmFREmNMy7pFeYXCFGbhKFwISA3UOExlo5GGUuuj3oMKdK6JQ==",
|
||||
"os": ["linux"],
|
||||
"cpu": ["s390x"]
|
||||
},
|
||||
"@rollup/rollup-linux-x64-gnu@4.31.0": {
|
||||
"integrity": "sha512-zSoHl356vKnNxwOWnLd60ixHNPRBglxpv2g7q0Cd3Pmr561gf0HiAcUBRL3S1vPqRC17Zo2CX/9cPkqTIiai1g=="
|
||||
"integrity": "sha512-zSoHl356vKnNxwOWnLd60ixHNPRBglxpv2g7q0Cd3Pmr561gf0HiAcUBRL3S1vPqRC17Zo2CX/9cPkqTIiai1g==",
|
||||
"os": ["linux"],
|
||||
"cpu": ["x64"]
|
||||
},
|
||||
"@rollup/rollup-linux-x64-musl@4.31.0": {
|
||||
"integrity": "sha512-ypB/HMtcSGhKUQNiFwqgdclWNRrAYDH8iMYH4etw/ZlGwiTVxBz2tDrGRrPlfZu6QjXwtd+C3Zib5pFqID97ZA=="
|
||||
"integrity": "sha512-ypB/HMtcSGhKUQNiFwqgdclWNRrAYDH8iMYH4etw/ZlGwiTVxBz2tDrGRrPlfZu6QjXwtd+C3Zib5pFqID97ZA==",
|
||||
"os": ["linux"],
|
||||
"cpu": ["x64"]
|
||||
},
|
||||
"@rollup/rollup-win32-arm64-msvc@4.31.0": {
|
||||
"integrity": "sha512-JuhN2xdI/m8Hr+aVO3vspO7OQfUFO6bKLIRTAy0U15vmWjnZDLrEgCZ2s6+scAYaQVpYSh9tZtRijApw9IXyMw=="
|
||||
"integrity": "sha512-JuhN2xdI/m8Hr+aVO3vspO7OQfUFO6bKLIRTAy0U15vmWjnZDLrEgCZ2s6+scAYaQVpYSh9tZtRijApw9IXyMw==",
|
||||
"os": ["win32"],
|
||||
"cpu": ["arm64"]
|
||||
},
|
||||
"@rollup/rollup-win32-ia32-msvc@4.31.0": {
|
||||
"integrity": "sha512-U1xZZXYkvdf5MIWmftU8wrM5PPXzyaY1nGCI4KI4BFfoZxHamsIe+BtnPLIvvPykvQWlVbqUXdLa4aJUuilwLQ=="
|
||||
"integrity": "sha512-U1xZZXYkvdf5MIWmftU8wrM5PPXzyaY1nGCI4KI4BFfoZxHamsIe+BtnPLIvvPykvQWlVbqUXdLa4aJUuilwLQ==",
|
||||
"os": ["win32"],
|
||||
"cpu": ["ia32"]
|
||||
},
|
||||
"@rollup/rollup-win32-x64-msvc@4.31.0": {
|
||||
"integrity": "sha512-ul8rnCsUumNln5YWwz0ted2ZHFhzhRRnkpBZ+YRuHoRAlUji9KChpOUOndY7uykrPEPXVbHLlsdo6v5yXo/TXw=="
|
||||
"integrity": "sha512-ul8rnCsUumNln5YWwz0ted2ZHFhzhRRnkpBZ+YRuHoRAlUji9KChpOUOndY7uykrPEPXVbHLlsdo6v5yXo/TXw==",
|
||||
"os": ["win32"],
|
||||
"cpu": ["x64"]
|
||||
},
|
||||
"@shikijs/core@1.29.1": {
|
||||
"integrity": "sha512-Mo1gGGkuOYjDu5H8YwzmOuly9vNr8KDVkqj9xiKhhhFS8jisAtDSEWB9hzqRHLVQgFdA310e8XRJcW4tYhRB2A==",
|
||||
|
@ -678,10 +816,12 @@
|
|||
]
|
||||
},
|
||||
"acorn@8.14.0": {
|
||||
"integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA=="
|
||||
"integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==",
|
||||
"bin": true
|
||||
},
|
||||
"acorn@8.14.1": {
|
||||
"integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg=="
|
||||
"integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==",
|
||||
"bin": true
|
||||
},
|
||||
"ansi-align@3.0.1": {
|
||||
"integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==",
|
||||
|
@ -724,7 +864,8 @@
|
|||
"integrity": "sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg=="
|
||||
},
|
||||
"astring@1.9.0": {
|
||||
"integrity": "sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg=="
|
||||
"integrity": "sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==",
|
||||
"bin": true
|
||||
},
|
||||
"astro-expressive-code@0.41.2_astro@5.1.8__vite@6.0.11__zod@3.24.1": {
|
||||
"integrity": "sha512-HN0jWTnhr7mIV/2e6uu4PPRNNo/k4UEgTLZqbp3MrHU+caCARveG2yZxaZVBmxyiVdYqW5Pd3u3n2zjnshixbw==",
|
||||
|
@ -779,7 +920,6 @@
|
|||
"prompts",
|
||||
"rehype",
|
||||
"semver",
|
||||
"sharp",
|
||||
"shiki@1.29.1",
|
||||
"tinyexec",
|
||||
"tsconfck",
|
||||
|
@ -793,10 +933,14 @@
|
|||
"xxhash-wasm",
|
||||
"yargs-parser",
|
||||
"yocto-spinner",
|
||||
"zod@3.24.1",
|
||||
"zod-to-json-schema",
|
||||
"zod-to-ts",
|
||||
"zod@3.24.1"
|
||||
]
|
||||
"zod-to-ts"
|
||||
],
|
||||
"optionalDependencies": [
|
||||
"sharp"
|
||||
],
|
||||
"bin": true
|
||||
},
|
||||
"axobject-query@4.1.0": {
|
||||
"integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ=="
|
||||
|
@ -869,12 +1013,14 @@
|
|||
"dependencies": [
|
||||
"anymatch",
|
||||
"braces",
|
||||
"fsevents",
|
||||
"glob-parent",
|
||||
"is-binary-path",
|
||||
"is-glob",
|
||||
"normalize-path",
|
||||
"readdirp"
|
||||
],
|
||||
"optionalDependencies": [
|
||||
"fsevents"
|
||||
]
|
||||
},
|
||||
"ci-info@4.1.0": {
|
||||
|
@ -937,7 +1083,8 @@
|
|||
"integrity": "sha512-WfUcL99xWDs7b3eZPoRszWVfbNo8ErCF15PTvVROjkShGlAfjIkG6hlfj/sl6/rfo5Q9x9ryJ3VqVnAZDA+gcw=="
|
||||
},
|
||||
"cssesc@3.0.0": {
|
||||
"integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg=="
|
||||
"integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
|
||||
"bin": true
|
||||
},
|
||||
"debug@4.4.0": {
|
||||
"integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
|
||||
|
@ -982,7 +1129,8 @@
|
|||
"integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A=="
|
||||
},
|
||||
"direction@2.0.1": {
|
||||
"integrity": "sha512-9S6m9Sukh1cZNknO1CWAr2QAWsbKLafQiyM5gZ7VgXHeuaoUwffKN4q6NC4A/Mf9iiPlOXQEKW/Mv/mh9/3YFA=="
|
||||
"integrity": "sha512-9S6m9Sukh1cZNknO1CWAr2QAWsbKLafQiyM5gZ7VgXHeuaoUwffKN4q6NC4A/Mf9iiPlOXQEKW/Mv/mh9/3YFA==",
|
||||
"bin": true
|
||||
},
|
||||
"dlv@1.1.3": {
|
||||
"integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA=="
|
||||
|
@ -1025,7 +1173,7 @@
|
|||
},
|
||||
"esbuild@0.24.2": {
|
||||
"integrity": "sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==",
|
||||
"dependencies": [
|
||||
"optionalDependencies": [
|
||||
"@esbuild/aix-ppc64",
|
||||
"@esbuild/android-arm",
|
||||
"@esbuild/android-arm64",
|
||||
|
@ -1051,13 +1199,16 @@
|
|||
"@esbuild/win32-arm64",
|
||||
"@esbuild/win32-ia32",
|
||||
"@esbuild/win32-x64"
|
||||
]
|
||||
],
|
||||
"scripts": true,
|
||||
"bin": true
|
||||
},
|
||||
"escape-string-regexp@5.0.0": {
|
||||
"integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw=="
|
||||
},
|
||||
"esprima@4.0.1": {
|
||||
"integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="
|
||||
"integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
|
||||
"bin": true
|
||||
},
|
||||
"estree-util-attach-comments@3.0.0": {
|
||||
"integrity": "sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==",
|
||||
|
@ -1166,7 +1317,9 @@
|
|||
"integrity": "sha512-9UbaD6XdAL97+k/n+N7JwX46K/M6Zc6KcFYskrYL8wbBV/Uyk0CTAMY0VT+qiK5PM7AIc9aTWYtq65U7T+aCNQ=="
|
||||
},
|
||||
"fsevents@2.3.3": {
|
||||
"integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw=="
|
||||
"integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
|
||||
"os": ["darwin"],
|
||||
"scripts": true
|
||||
},
|
||||
"get-east-asian-width@1.3.0": {
|
||||
"integrity": "sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ=="
|
||||
|
@ -1489,7 +1642,8 @@
|
|||
"integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A=="
|
||||
},
|
||||
"is-docker@3.0.0": {
|
||||
"integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ=="
|
||||
"integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==",
|
||||
"bin": true
|
||||
},
|
||||
"is-extglob@2.1.1": {
|
||||
"integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="
|
||||
|
@ -1510,7 +1664,8 @@
|
|||
"integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==",
|
||||
"dependencies": [
|
||||
"is-docker"
|
||||
]
|
||||
],
|
||||
"bin": true
|
||||
},
|
||||
"is-number@7.0.0": {
|
||||
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="
|
||||
|
@ -1529,13 +1684,15 @@
|
|||
"dependencies": [
|
||||
"argparse@1.0.10",
|
||||
"esprima"
|
||||
]
|
||||
],
|
||||
"bin": true
|
||||
},
|
||||
"js-yaml@4.1.0": {
|
||||
"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
|
||||
"dependencies": [
|
||||
"argparse@2.0.1"
|
||||
]
|
||||
],
|
||||
"bin": true
|
||||
},
|
||||
"kleur@3.0.3": {
|
||||
"integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w=="
|
||||
|
@ -1943,8 +2100,8 @@
|
|||
"micromark-extension-mdxjs@3.0.0_acorn@8.14.1": {
|
||||
"integrity": "sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==",
|
||||
"dependencies": [
|
||||
"acorn-jsx",
|
||||
"acorn@8.14.1",
|
||||
"acorn-jsx",
|
||||
"micromark-extension-mdx-expression",
|
||||
"micromark-extension-mdx-jsx",
|
||||
"micromark-extension-mdx-md",
|
||||
|
@ -2135,7 +2292,8 @@
|
|||
]
|
||||
},
|
||||
"mime@3.0.0": {
|
||||
"integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A=="
|
||||
"integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==",
|
||||
"bin": true
|
||||
},
|
||||
"mrmime@2.0.0": {
|
||||
"integrity": "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw=="
|
||||
|
@ -2144,7 +2302,8 @@
|
|||
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
|
||||
},
|
||||
"nanoid@3.3.8": {
|
||||
"integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w=="
|
||||
"integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==",
|
||||
"bin": true
|
||||
},
|
||||
"neotraverse@0.6.18": {
|
||||
"integrity": "sha512-Z4SmBUweYa09+o6pG+eASabEpP6QkQ70yHj351pQoEXIs8uHbaU2DWVmzBANKgflPa47A50PtB2+NgRpQvr7vA=="
|
||||
|
@ -2185,16 +2344,16 @@
|
|||
"integrity": "sha512-bwALDxriqfKGfUufKGGepCzu9x7nJQuoRoAFp4AnwehhC2crqrDIAP/uN2qdlsAvSMpeRC3+Yzhqc7hLmle5+g==",
|
||||
"dependencies": [
|
||||
"emoji-regex-xs",
|
||||
"regex-recursion@5.1.1",
|
||||
"regex@5.1.1"
|
||||
"regex@5.1.1",
|
||||
"regex-recursion@5.1.1"
|
||||
]
|
||||
},
|
||||
"oniguruma-to-es@4.3.3": {
|
||||
"integrity": "sha512-rPiZhzC3wXwE59YQMRDodUwwT9FZ9nNBwQQfsd1wfdtlKEyCdRV0avrTcSZ5xlIvGRVPd/cx6ZN45ECmS39xvg==",
|
||||
"dependencies": [
|
||||
"oniguruma-parser",
|
||||
"regex-recursion@6.0.2",
|
||||
"regex@6.0.1"
|
||||
"regex@6.0.1",
|
||||
"regex-recursion@6.0.2"
|
||||
]
|
||||
},
|
||||
"p-limit@2.3.0": {
|
||||
|
@ -2230,13 +2389,14 @@
|
|||
},
|
||||
"pagefind@1.3.0": {
|
||||
"integrity": "sha512-8KPLGT5g9s+olKMRTU9LFekLizkVIu9tes90O1/aigJ0T5LmyPqTzGJrETnSw3meSYg58YH7JTzhTTW/3z6VAw==",
|
||||
"dependencies": [
|
||||
"optionalDependencies": [
|
||||
"@pagefind/darwin-arm64",
|
||||
"@pagefind/darwin-x64",
|
||||
"@pagefind/linux-arm64",
|
||||
"@pagefind/linux-x64",
|
||||
"@pagefind/windows-x64"
|
||||
]
|
||||
],
|
||||
"bin": true
|
||||
},
|
||||
"parse-entities@4.0.2": {
|
||||
"integrity": "sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==",
|
||||
|
@ -2321,6 +2481,18 @@
|
|||
"which-pm"
|
||||
]
|
||||
},
|
||||
"prettier-plugin-astro@0.14.1": {
|
||||
"integrity": "sha512-RiBETaaP9veVstE4vUwSIcdATj6dKmXljouXc/DDNwBSPTp8FRkLGDSGFClKsAFeeg+13SB0Z1JZvbD76bigJw==",
|
||||
"dependencies": [
|
||||
"@astrojs/compiler",
|
||||
"prettier",
|
||||
"sass-formatter"
|
||||
]
|
||||
},
|
||||
"prettier@3.6.2": {
|
||||
"integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==",
|
||||
"bin": true
|
||||
},
|
||||
"prismjs@1.29.0": {
|
||||
"integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q=="
|
||||
},
|
||||
|
@ -2391,8 +2563,8 @@
|
|||
"regex-recursion@5.1.1": {
|
||||
"integrity": "sha512-ae7SBCbzVNrIjgSbh7wMznPcQel1DNlDtzensnFxpiNpXt1U2ju/bHugH422r+4LAVS1FpW1YCwilmnNsjum9w==",
|
||||
"dependencies": [
|
||||
"regex-utilities",
|
||||
"regex@5.1.1"
|
||||
"regex@5.1.1",
|
||||
"regex-utilities"
|
||||
]
|
||||
},
|
||||
"regex-recursion@6.0.2": {
|
||||
|
@ -2593,6 +2765,9 @@
|
|||
"rollup@4.31.0": {
|
||||
"integrity": "sha512-9cCE8P4rZLx9+PjoyqHLs31V9a9Vpvfo4qNcs6JCiGWYhw2gijSetFbH6SSy1whnkgcefnUwr8sad7tgqsGvnw==",
|
||||
"dependencies": [
|
||||
"@types/estree"
|
||||
],
|
||||
"optionalDependencies": [
|
||||
"@rollup/rollup-android-arm-eabi",
|
||||
"@rollup/rollup-android-arm64",
|
||||
"@rollup/rollup-darwin-arm64",
|
||||
|
@ -2612,9 +2787,9 @@
|
|||
"@rollup/rollup-win32-arm64-msvc",
|
||||
"@rollup/rollup-win32-ia32-msvc",
|
||||
"@rollup/rollup-win32-x64-msvc",
|
||||
"@types/estree",
|
||||
"fsevents"
|
||||
]
|
||||
],
|
||||
"bin": true
|
||||
},
|
||||
"run-parallel@1.2.0": {
|
||||
"integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
|
||||
|
@ -2622,15 +2797,30 @@
|
|||
"queue-microtask"
|
||||
]
|
||||
},
|
||||
"s.color@0.0.15": {
|
||||
"integrity": "sha512-AUNrbEUHeKY8XsYr/DYpl+qk5+aM+DChopnWOPEzn8YKzOhv4l2zH6LzZms3tOZP3wwdOyc0RmTciyi46HLIuA=="
|
||||
},
|
||||
"sass-formatter@0.7.9": {
|
||||
"integrity": "sha512-CWZ8XiSim+fJVG0cFLStwDvft1VI7uvXdCNJYXhDvowiv+DsbD1nXLiQ4zrE5UBvj5DWZJ93cwN0NX5PMsr1Pw==",
|
||||
"dependencies": [
|
||||
"suf-log"
|
||||
]
|
||||
},
|
||||
"sax@1.4.1": {
|
||||
"integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg=="
|
||||
},
|
||||
"semver@7.6.3": {
|
||||
"integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A=="
|
||||
"integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
|
||||
"bin": true
|
||||
},
|
||||
"sharp@0.33.5": {
|
||||
"integrity": "sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==",
|
||||
"dependencies": [
|
||||
"color",
|
||||
"detect-libc",
|
||||
"semver"
|
||||
],
|
||||
"optionalDependencies": [
|
||||
"@img/sharp-darwin-arm64",
|
||||
"@img/sharp-darwin-x64",
|
||||
"@img/sharp-libvips-darwin-arm64",
|
||||
|
@ -2649,11 +2839,9 @@
|
|||
"@img/sharp-linuxmusl-x64",
|
||||
"@img/sharp-wasm32",
|
||||
"@img/sharp-win32-ia32",
|
||||
"@img/sharp-win32-x64",
|
||||
"color",
|
||||
"detect-libc",
|
||||
"semver"
|
||||
]
|
||||
"@img/sharp-win32-x64"
|
||||
],
|
||||
"scripts": true
|
||||
},
|
||||
"shiki@1.29.1": {
|
||||
"integrity": "sha512-TghWKV9pJTd/N+IgAIVJtr0qZkB7FfFCUrrEJc0aRmZupo3D1OCVRknQWVRVA7AX/M0Ld7QfoAruPzr3CnUJuw==",
|
||||
|
@ -2697,7 +2885,8 @@
|
|||
"@types/sax",
|
||||
"arg",
|
||||
"sax"
|
||||
]
|
||||
],
|
||||
"bin": true
|
||||
},
|
||||
"smol-toml@1.3.4": {
|
||||
"integrity": "sha512-UOPtVuYkzYGee0Bd2Szz8d2G3RfMfJ2t3qVdZUAozZyAk+a0Sxa+QKix0YCwjL/A1RR0ar44nCxaoN9FxdJGwA=="
|
||||
|
@ -2770,6 +2959,12 @@
|
|||
"inline-style-parser"
|
||||
]
|
||||
},
|
||||
"suf-log@2.5.3": {
|
||||
"integrity": "sha512-KvC8OPjzdNOe+xQ4XWJV2whQA0aM1kGVczMQ8+dStAO6KfEB140JEVQ9dE76ONZ0/Ylf67ni4tILPJB41U0eow==",
|
||||
"dependencies": [
|
||||
"s.color"
|
||||
]
|
||||
},
|
||||
"tinyexec@0.3.2": {
|
||||
"integrity": "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA=="
|
||||
},
|
||||
|
@ -2786,7 +2981,8 @@
|
|||
"integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw=="
|
||||
},
|
||||
"tsconfck@3.1.4": {
|
||||
"integrity": "sha512-kdqWFGVJqe+KGYvlSO9NIaWn9jT1Ny4oKVzAJsKii5eoE9snzTJzL4+MMVOMn+fikWGFmKEylcXL710V/kIPJQ=="
|
||||
"integrity": "sha512-kdqWFGVJqe+KGYvlSO9NIaWn9jT1Ny4oKVzAJsKii5eoE9snzTJzL4+MMVOMn+fikWGFmKEylcXL710V/kIPJQ==",
|
||||
"bin": true
|
||||
},
|
||||
"tslib@2.8.1": {
|
||||
"integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="
|
||||
|
@ -2795,7 +2991,8 @@
|
|||
"integrity": "sha512-s6zVrxuyKbbAsSAD5ZPTB77q4YIdRctkTbJ2/Dqlinwz+8ooH2gd+YA7VA6Pa93KML9GockVvoxjZ2vHP+mu8g=="
|
||||
},
|
||||
"typescript@5.7.3": {
|
||||
"integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw=="
|
||||
"integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==",
|
||||
"bin": true
|
||||
},
|
||||
"ufo@1.5.4": {
|
||||
"integrity": "sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ=="
|
||||
|
@ -2941,15 +3138,21 @@
|
|||
"integrity": "sha512-4VL9mQPKoHy4+FE0NnRE/kbY51TOfaknxAjt3fJbGJxhIpBZiqVzlZDEesWWsuREXHwNdAoOFZ9MkPEVXczHwg==",
|
||||
"dependencies": [
|
||||
"esbuild",
|
||||
"fsevents",
|
||||
"postcss",
|
||||
"rollup"
|
||||
]
|
||||
],
|
||||
"optionalDependencies": [
|
||||
"fsevents"
|
||||
],
|
||||
"bin": true
|
||||
},
|
||||
"vitefu@1.0.5_vite@6.0.11": {
|
||||
"integrity": "sha512-h4Vflt9gxODPFNGPwp4zAMZRpZR7eslzwH2c5hn5kNZ5rhnKyRJ50U+yGCdc2IRaBs8O4haIgLNGrV5CrpMsCA==",
|
||||
"dependencies": [
|
||||
"vite"
|
||||
],
|
||||
"optionalPeers": [
|
||||
"vite"
|
||||
]
|
||||
},
|
||||
"web-namespaces@2.0.1": {
|
||||
|
@ -3024,6 +3227,8 @@
|
|||
"dependencies": [
|
||||
"npm:@astrojs/starlight@~0.34.3",
|
||||
"npm:astro@^5.1.8",
|
||||
"npm:prettier-plugin-astro@~0.14.1",
|
||||
"npm:prettier@^3.6.2",
|
||||
"npm:sharp@~0.33.5",
|
||||
"npm:starlight@~0.3.9"
|
||||
]
|
||||
|
|
|
@ -9,9 +9,11 @@
|
|||
"astro": "astro"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@astrojs/starlight": "^0.34.3",
|
||||
"astro": "^5.1.8",
|
||||
"prettier": "^3.6.2",
|
||||
"prettier-plugin-astro": "^0.14.1",
|
||||
"sharp": "^0.33.5",
|
||||
"starlight": "^0.3.9",
|
||||
"@astrojs/starlight": "^0.34.3"
|
||||
"starlight": "^0.3.9"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,5 +4,11 @@
|
|||
"org.matrix.msc3575.proxy": {
|
||||
"url": "https://matrix.federated.nexus"
|
||||
}
|
||||
}
|
||||
},
|
||||
"org.matrix.msc4143.rtc_foci": [
|
||||
{
|
||||
"type": "livekit",
|
||||
"livekit_service_url": "https://call.federated.nexus/livekit/sfu"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
BIN
public/images/icon.png
Normal file
After Width: | Height: | Size: 35 KiB |
|
@ -1,14 +0,0 @@
|
|||
---
|
||||
title: LaSuite Docs
|
||||
---
|
||||
|
||||
LaSuite Docs is a free and open source alternative to Google Docs, designed for seamless real-time collaboration. You can find it hosted at https://docs.federated.nexus.
|
||||
|
||||
You have a homepage with your documents, and documents that are shared with you:
|
||||

|
||||
|
||||
And of course, the actual editor, where you can compose documents in a GUI similar to Google Docs, and export as DocX or PDF.
|
||||

|
||||
|
||||
You can also add subdocuments!
|
||||

|
87
src/content/docs/code.mdx
Normal file
|
@ -0,0 +1,87 @@
|
|||
---
|
||||
title: Contributor Covenant 3.0
|
||||
---
|
||||
|
||||
## Our Pledge
|
||||
|
||||
We pledge to make our community welcoming, safe, and equitable for all.
|
||||
|
||||
We are committed to fostering an environment that respects and promotes the dignity, rights, and contributions of all individuals, regardless of characteristics including race, ethnicity, caste, color, age, physical characteristics, neurodiversity, disability, sex or gender, gender identity or expression, sexual orientation, language, philosophy or religion, national or social origin, socio-economic position, level of education, or other status. The same privileges of participation are extended to everyone who participates in good faith and in accordance with this Covenant.
|
||||
|
||||
## Encouraged Behaviors
|
||||
|
||||
While acknowledging differences in social norms, we all strive to meet our community's expectations for positive behavior. We also understand that our words and actions may be interpreted differently than we intend based on culture, background, or native language.
|
||||
|
||||
With these considerations in mind, we agree to behave mindfully toward each other and act in ways that center our shared values, including:
|
||||
|
||||
1. Respecting the **purpose of our community**, our activities, and our ways of gathering.
|
||||
2. Engaging **kindly and honestly** with others.
|
||||
3. Respecting **different viewpoints** and experiences.
|
||||
4. **Taking responsibility** for our actions and contributions.
|
||||
5. Gracefully giving and accepting **constructive feedback**.
|
||||
6. Committing to **repairing harm** when it occurs.
|
||||
7. Behaving in other ways that promote and sustain the **well-being of our community**.
|
||||
|
||||
## Restricted Behaviors
|
||||
|
||||
We agree to restrict the following behaviors in our community. Instances, threats, and promotion of these behaviors are violations of this Code of Conduct.
|
||||
|
||||
1. **Harassment.** Violating explicitly expressed boundaries or engaging in unnecessary personal attention after any clear request to stop.
|
||||
2. **Character attacks.** Making insulting, demeaning, or pejorative comments directed at a community member or group of people.
|
||||
3. **Stereotyping or discrimination.** Characterizing anyone’s personality or behavior on the basis of immutable identities or traits.
|
||||
4. **Sexualization.** Behaving in a way that would generally be considered inappropriately intimate in the context or purpose of the community.
|
||||
5. **Violating confidentiality**. Sharing or acting on someone's personal or private information without their permission.
|
||||
6. **Endangerment.** Causing, encouraging, or threatening violence or other harm toward any person or group.
|
||||
7. Behaving in other ways that **threaten the well-being** of our community.
|
||||
|
||||
### Other Restrictions
|
||||
|
||||
1. **Misleading identity.** Impersonating someone else for any reason, or pretending to be someone else to evade enforcement actions.
|
||||
2. **Failing to credit sources.** Not properly crediting the sources of content you contribute.
|
||||
3. **Promotional materials**. Sharing marketing or other commercial content in a way that is outside the norms of the community.
|
||||
4. **Irresponsible communication.** Failing to responsibly present content which includes, links or describes any other restricted behaviors.
|
||||
|
||||
## Reporting an Issue
|
||||
|
||||
Tensions can occur between community members even when they are trying their best to collaborate. Not every conflict represents a code of conduct violation, and this Code of Conduct reinforces encouraged behaviors and norms that can help avoid conflicts and minimize harm.
|
||||
|
||||
When an incident does occur, it is important to report it promptly. To report a possible violation, **DM me on Matrix [@quadradical:federated.nexus.](https://matrix.to/#/@quadradical:federated.nexus)**
|
||||
|
||||
Community Moderators take reports of violations seriously and will make every effort to respond in a timely manner. They will investigate all reports of code of conduct violations, reviewing messages, logs, and recordings, or interviewing witnesses and other participants. Community Moderators will keep investigation and enforcement actions as transparent as possible while prioritizing safety and confidentiality. In order to honor these values, enforcement actions are carried out in private with the involved parties, but communicating to the whole community may be part of a mutually agreed upon resolution.
|
||||
|
||||
## Addressing and Repairing Harm
|
||||
|
||||
---
|
||||
|
||||
If an investigation by the Community Moderators finds that this Code of Conduct has been violated, the following enforcement ladder may be used to determine how best to repair harm, based on the incident's impact on the individuals involved and the community as a whole. Depending on the severity of a violation, lower rungs on the ladder may be skipped.
|
||||
|
||||
1. Warning
|
||||
1. Event: A violation involving a single incident or series of incidents.
|
||||
2. Consequence: A private, written warning from the Community Moderators.
|
||||
3. Repair: Examples of repair include a private written apology, acknowledgement of responsibility, and seeking clarification on expectations.
|
||||
2. Temporarily Limited Activities
|
||||
1. Event: A repeated incidence of a violation that previously resulted in a warning, or the first incidence of a more serious violation.
|
||||
2. Consequence: A private, written warning with a time-limited cooldown period designed to underscore the seriousness of the situation and give the community members involved time to process the incident. The cooldown period may be limited to particular communication channels or interactions with particular community members.
|
||||
3. Repair: Examples of repair may include making an apology, using the cooldown period to reflect on actions and impact, and being thoughtful about re-entering community spaces after the period is over.
|
||||
3. Temporary Suspension
|
||||
1. Event: A pattern of repeated violation which the Community Moderators have tried to address with warnings, or a single serious violation.
|
||||
2. Consequence: A private written warning with conditions for return from suspension. In general, temporary suspensions give the person being suspended time to reflect upon their behavior and possible corrective actions.
|
||||
3. Repair: Examples of repair include respecting the spirit of the suspension, meeting the specified conditions for return, and being thoughtful about how to reintegrate with the community when the suspension is lifted.
|
||||
4. Permanent Ban
|
||||
1. Event: A pattern of repeated code of conduct violations that other steps on the ladder have failed to resolve, or a violation so serious that the Community Moderators determine there is no way to keep the community safe with this person as a member.
|
||||
2. Consequence: Access to all community spaces, tools, and communication channels is removed. In general, permanent bans should be rarely used, should have strong reasoning behind them, and should only be resorted to if working through other remedies has failed to change the behavior.
|
||||
3. Repair: There is no possible repair in cases of this severity.
|
||||
|
||||
This enforcement ladder is intended as a guideline. It does not limit the ability of Community Managers to use their discretion and judgment, in keeping with the best interests of our community.
|
||||
|
||||
## Scope
|
||||
|
||||
This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public or other spaces. Examples of representing our community include using an official email address, posting via an official social media account, or acting as an appointed representative at an online or offline event.
|
||||
|
||||
## Attribution
|
||||
|
||||
This Code of Conduct is adapted from the Contributor Covenant, version 3.0, permanently available at [https://www.contributor-covenant.org/version/3/0/](https://www.contributor-covenant.org/version/3/0/).
|
||||
|
||||
Contributor Covenant is stewarded by the Organization for Ethical Source and licensed under CC BY-SA 4.0. To view a copy of this license, visit [https://creativecommons.org/licenses/by-sa/4.0/](https://creativecommons.org/licenses/by-sa/4.0/)
|
||||
|
||||
For answers to common questions about Contributor Covenant, see the FAQ at [https://www.contributor-covenant.org/faq](https://www.contributor-covenant.org/faq). Translations are provided at [https://www.contributor-covenant.org/translations](https://www.contributor-covenant.org/translations). Additional enforcement and community guideline resources can be found at [https://www.contributor-covenant.org/resources](https://www.contributor-covenant.org/resources). The enforcement ladder was inspired by the work of [Mozilla’s code of conduct team](https://github.com/mozilla/inclusion).
|
7
src/content/docs/fr-fr/donate.mdx
Normal file
|
@ -0,0 +1,7 @@
|
|||
---
|
||||
title: Faire un don
|
||||
---
|
||||
|
||||
Federated Nexus fonctionne grâce à des dons, donc si vous appréciez nos services, pensez à faire un don. Idéalement, nous acceptons les Interac E-Transfer à l'adresse suivante : henry@henryhiles.com. Si Interac E-Transfer ne fonctionne pas dans votre pays, rejoignez la [salle Matrix](https://matrix.to/#/#community:federated.nexus) et nous trouverons une solution. Un grand merci à nos sponsors actuels :
|
||||
|
||||
- @VeryLoud: CAD$100
|
51
src/content/docs/fr-fr/index.mdx
Normal file
|
@ -0,0 +1,51 @@
|
|||
---
|
||||
title: Accueil
|
||||
template: splash
|
||||
hero:
|
||||
title: Découvrez des logiciels gratuits, rapides et privés avec Federated Nexus
|
||||
tagline: Federated Nexus est une ressource communautaire hébergeant plusieurs services FOSS (en particulier fédérés), notamment Matrix et Forgejo.
|
||||
image:
|
||||
file: ../../../images/icon.svg
|
||||
actions:
|
||||
- text: Postuler
|
||||
icon: email
|
||||
link: register
|
||||
- text: Rejoignez notre salle Matrix
|
||||
variant: minimal
|
||||
icon: matrix
|
||||
link: https://matrix.to/#/#community:federated.nexus
|
||||
---
|
||||
|
||||
import { CardGrid, Card } from "@astrojs/starlight/components"
|
||||
|
||||
<CardGrid>
|
||||
|
||||
<Card title="Communications privées et libres" icon="comment">
|
||||
Federated Nexus héberge une instance gratuite de [Matrix](https://matrix.org), en utilisant le logiciel [Continuwuity](https://continuwuity.org/). Matrix est une plateforme de communication open source qui vous permet de discuter avec les communautés de votre choix. Nous hébergeons également plusieurs ponts Matrix, notamment un pont Discord, un puppet WhatsApp et même un puppet SMS ! [En savoir plus...](services/matrix)
|
||||
</Card>
|
||||
|
||||
<Card title="Écriture collaborative Open Source" icon="document">
|
||||
Nous hébergeons [LaSuite Docs](https://github.com/suitenumerique/docs), une alternative libre et open source à Google Docs, conçue pour une collaboration fluide en temps réel. Vous pouvez rédiger des documents dans une interface graphique similaire à celle de Google Docs, puis les exporter au format DocX ou PDF. Vous pouvez également ajouter des sous-documents et partager des liens avec d'autres personnes, même celles qui ne possèdent pas de compte. [En savoir plus...](services/docs)
|
||||
</Card>
|
||||
|
||||
<Card title="Recherche rapide et privée simplifiée" icon="magnifier">
|
||||
Nous exploitons une instance [SearXNG](https://searxng.org) qui vous permet de vous connecter à l'aide de votre compte Federated Nexus et d'effectuer des recherches rapides et axées sur la confidentialité sur le Web, sans aucun suivi, profilage ou publicité intrusive. [En savoir plus...](services/searxng)
|
||||
</Card>
|
||||
|
||||
<Card title="Maison rapide et gratuite pour votre code" icon="seti:git">
|
||||
Nous hébergeons une instance gratuite de [Forgejo](https://forgejo.org) sur [git.federated.nexus](https://git.federated.nexus) ! Forgejo est un git forge open source qui, contrairement à GitHub, n'entraînera jamais d'IA sur votre code 🙃. [En savoir plus...](services/forgejo)
|
||||
</Card>
|
||||
|
||||
<Card title="Naviguer sur Reddit en toute confidentialité" icon="reddit">
|
||||
[Redlib](https://github.com/redlib-org/redlib) est une interface alternative gratuite et open source pour Reddit, conçue pour supprimer le suivi, les publicités et les distractions. Vous pouvez parcourir les publications, lire les commentaires et vous abonner à des subreddits, sans encombrement ni logiciel espion. [En savoir plus...](services/redlib)
|
||||
</Card>
|
||||
|
||||
<Card title="Communauté amicale et inclusive" icon="heart">
|
||||
Nous souhaitons maintenir une communauté amicale, diversifiée et inclusive. Dans cette optique, je n'hésiterai pas à bannir toute personne intolérante, homophobe ou hostile. Nous suivons le [Contributor Covenant](code).
|
||||
</Card>
|
||||
|
||||
<Card title="Plus à venir bientôt" icon="approve-check">
|
||||
Il nous reste encore pas mal d'espace disponible sur les serveurs Federated Nexus, nous sommes donc ouverts à l'hébergement de tout nouveau logiciel utile. Faites-le nous savoir dans notre [salle Matrix](https://matrix.to/#/#community:federated.nexus) !
|
||||
</Card>
|
||||
|
||||
</CardGrid>
|
29
src/content/docs/fr-fr/services/docs.mdx
Normal file
|
@ -0,0 +1,29 @@
|
|||
---
|
||||
title: LaSuite Docs
|
||||
---
|
||||
|
||||
[LaSuite Docs](https://github.com/suitenumerique/docs) est un éditeur de documents gratuit et open source, conçu pour une collaboration en temps réel fluide. Federated Nexus fournit une instance hébergée à l'adresse https://docs.federated.nexus.
|
||||
|
||||
## Connexion
|
||||
|
||||
Sur la page d'accueil déconnectée, appuyez sur le bouton « Commencer à écrire » pour vous connecter et saisir les identifiants de votre compte Federated Nexus.
|
||||
|
||||
Vous devriez alors être accueilli par la page d'accueil connectée, qui affiche à la fois les documents que vous avez créés et ceux qui ont été partagés avec vous :
|
||||
|
||||

|
||||
|
||||
## Création d'un document
|
||||
|
||||
Sélectionnez un document pour l'ouvrir ou appuyez sur le bouton « Nouveau doc(ument) » dans le coin supérieur gauche pour créer un nouveau document.
|
||||
|
||||
L'éditeur de documents prend en charge les styles de texte ainsi que les images :
|
||||
|
||||

|
||||
|
||||
## Création de sous-documents
|
||||
|
||||
LaSuite Docs prend en charge la création de sous-documents. Pour créer un sous-document, passez la souris sur le document dans la barre latérale et appuyez sur le bouton plus.
|
||||
|
||||
Le sous-document devrait alors apparaître en dessous :
|
||||
|
||||

|
32
src/content/docs/fr-fr/services/forgejo.mdx
Normal file
|
@ -0,0 +1,32 @@
|
|||
---
|
||||
title: Forgejo
|
||||
---
|
||||
|
||||
[Forgejo](https://forgejo.org)est une forge Git gratuite et open source. Très légère et performante, Forgejo est une bonne alternative à GitHub. Nous hébergeons Forgejo à l'adresse https://git.federated.nexus.
|
||||
|
||||
## Connexion
|
||||
|
||||
Pour vous connecter, cliquez sur le bouton « Se connecter » dans le coin supérieur droit et sélectionnez « Se connecter avec Federated Nexus ». Vous serez redirigé vers la page de connexion Federated Nexus, où vous pourrez saisir les identifiants de votre compte Federated Nexus.
|
||||
|
||||
Vous devriez alors être accueilli par la page d'exploration :
|
||||
|
||||

|
||||
|
||||
## Affichage de votre tableau de bord
|
||||
|
||||
Pour afficher votre tableau de bord, appuyez sur l'icône dans le coin supérieur gauche.
|
||||
|
||||
Le tableau de bord vous montre l'activité récente des dépôts que vous surveillez, un graphique des contributions et une liste des référentiels dont vous faites partie :
|
||||
|
||||

|
||||
|
||||
## Prochaines étapes
|
||||
|
||||
Nous vous recommandons de consulter le [Guide de l'utilisateur Forgejo](https://forgejo.org/docs/v12.0/user/) pour obtenir des informations plus détaillées sur l'utilisation de votre compte Forgejo.
|
||||
|
||||
Forgejo dispose de nombreuses fonctionnalités utiles, telles que :
|
||||
|
||||
- Surveiller les référentiels pour être averti lorsque le référentiel présente une activité
|
||||
- Répartition des référentiels
|
||||
- Suivi des problèmes
|
||||
- Une API qui vous permet d'effectuer des actions automatisées sur les référentiels (comme commenter les résultats des tests sur les pull requests).
|
71
src/content/docs/fr-fr/services/matrix.mdx
Normal file
|
@ -0,0 +1,71 @@
|
|||
---
|
||||
title: Matrix
|
||||
---
|
||||
|
||||
Matrix est une plateforme de communication open source qui vous permet de discuter avec les communautés de votre choix. L'une des fonctionnalités importantes de Matrix est son chiffrement de bout en bout, qui vous permet de discuter en toute confidentialité et en toute sécurité.
|
||||
|
||||
## Comparaison avec Discord
|
||||
|
||||
Matrix présente de nombreuses similitudes avec Discord, mais aussi quelques différences importantes. Cette comparaison peut vous être utile lors de la migration :
|
||||
|
||||
- Au lieu des « canaux » de Discord, vous disposez de « salles » Matrix. Contrairement à Discord, les salles peuvent être rejointes au sein d'un espace (expliqué ci-dessous) ou être autonomes. Elles peuvent être configurées pour fonctionner avec un chiffrement de bout en bout, mais pour les grandes salles, il est plus fiable de ne pas utiliser le chiffrement.
|
||||
- L'équivalent d'un « serveur » Discord est un « espace » Matrix. Les espaces sont essentiellement un répertoire de salles, où chaque salle est regroupée sous une icône (selon votre client). Les salles au sein de l'espace sont affichées et accessibles, mais vous n'êtes pas obligé de rejoindre toutes les salles d'un espace Matrix.
|
||||
|
||||
## Choisir un client
|
||||
|
||||
Matrix est purement un protocole, et vous pouvez utiliser n'importe quel « client » de votre choix. Les clients sont des interfaces pour Matrix, et ils vous permettent de voir les messages et de rejoindre des salles. Il existe d'innombrables clients, mais nous vous recommandons l'un des suivants pour une expérience optimale :
|
||||
|
||||
- [Cinny](https://cinny.in) offre une interface utilisateur similaire à Discord et dispose de fonctionnalités très utiles. Vous pouvez l'utiliser sur le Web ou comme application Tauri, et il fonctionne très bien sur les téléphones Linux.
|
||||
- [FluffyChat](https://fluffychat.im) est développé avec Flutter, il offre donc une excellente compatibilité multiplateforme. Il est utilisable sur iOS, Android, Linux, le Web, etc. Il dispose également de certaines fonctionnalités que Cinny n'offre pas, mais je trouve Cinny plus intuitif.
|
||||
|
||||
## Comment utiliser
|
||||
|
||||
La procédure de connexion à votre compte Federated Nexus Matrix dépend du client que vous utilisez. Je vais vous présenter ici Cinny, mais la procédure est similaire pour tous les clients.
|
||||
|
||||
### Ouverture de Cinny
|
||||
|
||||
Cinny peut être utilisé comme site web ou comme application native.
|
||||
Vous trouverez l'instance Federated Nexus ici : https://app.federated.nexus
|
||||
|
||||
Ou téléchargez l'application ici : https://github.com/cinnyapp/cinny-desktop/releases/latest
|
||||
Sous Linux, vous pouvez également obtenir Cinny depuis [Flathub](https://flathub.org/apps/in.cinny.Cinny) ou les référentiels de votre distribution.
|
||||
|
||||
### Connexion
|
||||
|
||||
Tout d'abord, assurez-vous que `federated.nexus` est défini comme votre « Homeserver » (serveur domestique). Le champ s'affiche sous forme de liste déroulante sur le bureau, mais vous devez le saisir manuellement.
|
||||
|
||||

|
||||
|
||||
Ensuite, entrez simplement votre nom d'utilisateur et votre mot de passe, puis cliquez sur « Se connecter » !
|
||||
|
||||
### Rejoindre la salle communautaire
|
||||
|
||||
Après vous être connecté, vous devriez voir une notification dans votre boîte de réception, dans le coin inférieur gauche de votre écran :
|
||||
|
||||

|
||||
|
||||
Cliquez sur la notification pour accéder à la page des invitations. Cliquez sur « Public », à côté de la notification.
|
||||
|
||||

|
||||
|
||||
À partir de là, acceptez l'invitation à rejoindre la salle « Federated Nexus Community », et vous êtes prêt(e) à commencer !
|
||||
|
||||

|
||||
|
||||
## Homeserver (Serveur domestique)
|
||||
|
||||
Federated Nexus utilise la [Continuwuity](https://continuwuity.org/), une implémentation Rust de la spécification Matrix. Cela signifie qu'il ne dispose pas de toutes les fonctionnalités de [Synapse](https://element-hq.github.io/synapse/latest/), mais qu'il est beaucoup plus performant. Voici quelques fonctionnalités qui font défaut à Grapevine :
|
||||
|
||||
- Salles antérieures à la version v3 : dans Matrix, chaque salle suit une certaine version des spécifications Matrix. Continuwuity prend actuellement en charge les versions v3 à v11, qui couvrent la grande majorité des salles. La version v2 est très ancienne et ne devrait plus être utilisée, mais certaines salles l'utilisent encore. Avec Federated Nexus, vous ne pourrez pas rejoindre ces salles, désolé. Actuellement, Continuwuity ne prend pas non plus en charge la version v12 (la plus récente), mais cela devrait changer prochainement.
|
||||
|
||||
## Ponts (Bridges)
|
||||
|
||||
Federated Nexus héberge plusieurs « ponts » et « marionnettes » pour vous permettre de communiquer avec des personnes sur d'autres plateformes depuis Matrix :
|
||||
|
||||
- [Out of Your Element](https://gitdab.com/cadence/out-of-your-element) (OOYE, pont Discord) : vous pouvez contrôler OOYE via son interface utilisateur web : https://ooye.federated.nexus. À partir de cette interface web intuitive, les administrateurs du serveur Discord peuvent se connecter à leur compte Discord et configurer facilement un espace Matrix ponté à l'aide de l'option « Mode facile ». Les utilisateurs plus avancés peuvent également utiliser l'option « Self-service » pour contrôler manuellement le pont, plutôt que de créer un tout nouvel espace Matrix.
|
||||
- [mautrix-gmessages](https://docs.mau.fi/bridges/go/gmessages/index.html) (Marionnette SMS) : Vous pouvez utiliser mautrix-gmessages pour relier les conversations SMS à Matrix, y compris pour lire et envoyer des SMS. Vous pouvez le configurer vous-même en suivant [leurs instructions](https://docs.mau.fi/bridges/go/gmessages/authentication.html).
|
||||
- [mautrix-whatsapp](https://docs.mau.fi/bridges/go/whatsapp/index.html) (WhatsApp marionnette) : Avec mautrix-whatsapp, vous pouvez relier vos discussions WhatsApp à Matrix, de manière très similaire au pont SMS. Consultez [leurs instructions](https://docs.mau.fi/bridges/go/whatsapp/authentication.html) pour configurer ça.
|
||||
|
||||
## Authentification
|
||||
|
||||
[Matrix](https://matrix.org) est le centre du système Federated Nexus, tout le reste s'authentifie via Matrix. Cela signifie que lorsque vous modifiez votre mot de passe sur Matrix, vous devrez vous connecter à tous les autres services avec le nouveau mot de passe.
|
21
src/content/docs/fr-fr/services/redlib.mdx
Normal file
|
@ -0,0 +1,21 @@
|
|||
---
|
||||
title: Redlib
|
||||
---
|
||||
|
||||
[Redlib](https://github.com/redlib-org/redlib) est une interface rapide, open source et respectueuse de la vie privée pour Reddit. Elle vous permet de parcourir les subreddits, de consulter les publications et de lire les commentaires, le tout sans JavaScript, sans suivi et sans publicité. Contrairement au site officiel de Reddit, Redlib ne vous oblige pas à vous connecter, à installer une application ou à accepter les cookies. Vous pouvez accéder à notre instance à l'adresse https://redlib.federated.nexus.
|
||||
|
||||

|
||||
|
||||
## Caractéristiques
|
||||
|
||||
Redlib offre un moyen propre, rapide et privé de naviguer sur Reddit. Il prend en charge de nombreux thèmes et paramètres, fonctionne aussi bien sur ordinateur que sur mobile, et permet de consulter facilement les publications, de prévisualiser les médias et de lire les fils de commentaires sans aucune publicité, aucun suivi ni JavaScript.
|
||||
|
||||

|
||||
|
||||
## Redirection automatique
|
||||
|
||||
Si vous souhaitez utiliser automatiquement Redlib chaque fois que vous visitez Reddit, vous pouvez installer l'extension de navigateur [LibRedirect](https://libredirect.github.io). LibRedirect détecte lorsque vous ouvrez un site tel que reddit.com et vous redirige vers une alternative respectueuse de la vie privée, qui dans ce cas est notre instance Redlib.
|
||||
|
||||
Une fois installé, ouvrez simplement les paramètres LibRedirect, sélectionnez « Reddit » dans le menu déroulant Service, puis sélectionnez « Redlib » dans le menu déroulant « Frontend ». Ensuite, sous « Ajouter vos instances préférées », entrez `https://redlib.federated.nexus`, puis cliquez sur « + ». Et voilà, c'est terminé !
|
||||
|
||||

|
13
src/content/docs/fr-fr/services/searxng.mdx
Normal file
|
@ -0,0 +1,13 @@
|
|||
---
|
||||
title: SearXNG
|
||||
---
|
||||
|
||||
[SearXNG](https://searxng.org) vous permet d'effectuer des recherches rapides et axées sur la confidentialité sur le Web, sans aucun suivi, profilage ou publicité intrusive. SearXNG fonctionne en regroupant les résultats de nombreux moteurs de recherche différents (vous pouvez configurer ceux qu'il interroge) sur une seule page. Vous trouverez SearXNG hébergé à l'adresse https://search.federated.nexus.
|
||||
|
||||

|
||||
|
||||
## Paramètres
|
||||
|
||||
SearXNG est très personnalisable, vous pouvez modifier de nombreux paramètres, notamment les moteurs de recherche à utiliser, le thème de l'interface utilisateur, etc.
|
||||
|
||||

|
|
@ -9,52 +9,43 @@ hero:
|
|||
actions:
|
||||
- text: Apply to Join
|
||||
icon: email
|
||||
link: "mailto:henry@henryhiles.com?subject=Federated%20Nexus%20Account%20Application&body=Hello%2C%0A%0AI%20would%20like%20to%20have%20a%20Federated%20Nexus%20account%20with%20the%20following%20username%3A%0A%0AI%20agree%20not%20to%20be%20homophobic%2C%20bigoted%2C%20unfriendly%2C%20etc..."
|
||||
link: register
|
||||
- text: Join our Matrix room
|
||||
variant: minimal
|
||||
icon: matrix
|
||||
link: "https://matrix.to/#/#community:federated.nexus"
|
||||
link: https://matrix.to/#/#community:federated.nexus
|
||||
---
|
||||
|
||||
import { CardGrid, Card } from "@astrojs/starlight/components"
|
||||
|
||||
<CardGrid>
|
||||
|
||||
<Card title="Private and Free Communications" icon="comment">
|
||||
Federated Nexus hosts a free [Matrix](https://matrix.org) instance,
|
||||
using the [Grapevine](https://grapevine.computer.surgery/) software.
|
||||
Matrix is an open-source communications platform, allowing you to chat
|
||||
to communities of your choice. We also host multiple matrix bridges,
|
||||
including a Discord bridge, a WhatsApp puppet, and even an SMS puppet!
|
||||
Federated Nexus hosts a free [Matrix](https://matrix.org) instance, using the [Continuwuity](https://continuwuity.org/) software. Matrix is an open-source communications platform, allowing you to chat to communities of your choice. We also host multiple matrix bridges, including a Discord bridge, a WhatsApp puppet, and even an SMS puppet! [Learn More...](services/matrix)
|
||||
</Card>
|
||||
|
||||
<Card title="Open Source Collaborative Editing" icon="document">
|
||||
We host [LaSuite Docs](https://github.com/suitenumerique/docs), a free and open source alternative to Google Docs, designed for seamless real-time collaboration. You can compose documents in a GUI similar to Google Docs, and export as DocX or PDF. You can also add subdocuments, and share links to others, even those without an account. [Learn More...](services/docs)
|
||||
</Card>
|
||||
<Card title="Open Source Collaborative Editing" icon="document">
|
||||
LaSuite Docs is a free and open source alternative to Google Docs,
|
||||
designed for seamless real-time collaboration. You can compose
|
||||
documents in a GUI similar to Google Docs, and export as DocX or
|
||||
PDF. You can also add subdocuments, and share links to others, even
|
||||
those without an account. [Learn More...](/services/docs)
|
||||
</Card>
|
||||
|
||||
<Card title="Fast & Private Search Made Simple" icon="magnifier">
|
||||
We run a [SearXNG](https://searxng.org) instance that allows you to log
|
||||
in using your Federated Nexus account and perform fast, privacy-focused
|
||||
searches across the web—completely free from tracking, profiling, or
|
||||
intrusive advertising.
|
||||
We run a [SearXNG](https://searxng.org) instance that allows you to log in using your Federated Nexus account and perform fast, privacy-focused searches across the web—completely free from tracking, profiling, or intrusive advertising. [Learn More...](services/searxng)
|
||||
</Card>
|
||||
|
||||
<Card title="A Fast and Free Home for Your Code" icon="seti:git">
|
||||
We host a free instance of [Forgejo](https://forgejo.org) at
|
||||
[git.federated.nexus](https://git.federated.nexus)! Forgejo is a free
|
||||
and open source git forge, that (unlike GitHub) will never train an AI
|
||||
on your code. 🙃
|
||||
We host a free instance of [Forgejo](https://forgejo.org) at [git.federated.nexus](https://git.federated.nexus)! Forgejo is an open source git forge, that (unlike GitHub) will never train an AI on your code 🙃. [Learn More...](services/forgejo)
|
||||
</Card>
|
||||
|
||||
<Card title="Browse Reddit Privately" icon="reddit">
|
||||
[Redlib](https://github.com/redlib-org/redlib) is a free and open source alternative frontend for Reddit, designed to strip out tracking, ads, and distractions. You can browse posts, read comments, and subscribe to subreddits—without the bloat or spyware. [Learn More...](services/redlib)
|
||||
</Card>
|
||||
|
||||
<Card title="Friendly and Inclusive Community" icon="heart">
|
||||
We aim to maintain a friendly, diverse, and inclusive community, come
|
||||
join us! But be aware, I'm not afraid to hoist the ban hammer against
|
||||
any bigoted, homophobic, or otherwise unfriendly people.
|
||||
We aim to maintain a friendly, diverse, and inclusive community. As part of this I'm not afraid to hoist the ban hammer against any bigoted, homophobic, or otherwise unfriendly people. We follow the [Contributor Covenant](code).
|
||||
</Card>
|
||||
|
||||
<Card title="More Coming Soon" icon="approve-check">
|
||||
We still have a fair bit of room on the Federated Nexus servers, so
|
||||
we're open to hosting any useful new software. Let us know in our
|
||||
[Matrix room](https://matrix.to/#/#community:federated.nexus)!
|
||||
We still have a fair bit of room on the Federated Nexus servers, so we're open to hosting any useful new software. Let us know in our [Matrix room](https://matrix.to/#/#community:federated.nexus)!
|
||||
</Card>
|
||||
|
||||
</CardGrid>
|
||||
|
|
7
src/content/docs/ru-ru/donate.mdx
Normal file
|
@ -0,0 +1,7 @@
|
|||
---
|
||||
title: Пожертвования
|
||||
---
|
||||
|
||||
Federated Nexus существует за счёт пожертвований, поэтому, если вам нравятся наши услуги, пожалуйста, рассмотрите возможность внести свой вклад. В идеале, мы принимаем электронные переводы Interac E-Transfer на адрес: henry@henryhiles.com. Если Interac E-Transfer не работает в вашей стране, присоединяйтесь к [комнате Matrix](https://matrix.to/#/#community:federated.nexus) и мы что-нибудь придумаем. Огромное спасибо нашим нынешним спонсорам:
|
||||
|
||||
- @VeryLoud: CAD$100
|
51
src/content/docs/ru-ru/index.mdx
Normal file
|
@ -0,0 +1,51 @@
|
|||
---
|
||||
title: Главная
|
||||
template: splash
|
||||
hero:
|
||||
title: Попробуйте бесплатное, быстрое и конфиденциальное программное обеспечение Federated Nexus
|
||||
tagline: Federated Nexus — это ресурс сообщества, на котором размещены несколько сервисов FOSS, в особенности федеративных, включая Matrix и Forgejo.
|
||||
image:
|
||||
file: ../../../images/icon.svg
|
||||
actions:
|
||||
- text: Подать заявку
|
||||
icon: email
|
||||
link: register
|
||||
- text: Присоединяйтесь к нашей комнате в Matrix
|
||||
variant: minimal
|
||||
icon: matrix
|
||||
link: https://matrix.to/#/#community:federated.nexus
|
||||
---
|
||||
|
||||
import { CardGrid, Card } from "@astrojs/starlight/components"
|
||||
|
||||
<CardGrid>
|
||||
|
||||
<Card title="Частное и бесплатное общение" icon="comment">
|
||||
Federated Nexus предоставляет бесплатный экземпляр [Matrix](https://matrix.org), с использованием программного обеспечения [Continuwuity](https://continuwuity.org/). Matrix - это платформа для общения, с открытым исходным кодом, которая позволяет общаться в чатах с выбранными вами сообществами. Мы также предоставляем несколько мостов Matrix, в том числе мост для Discord, марионетку для WhatsApp и даже марионетку для SMS! [Подробнее...](services/matrix)
|
||||
</Card>
|
||||
|
||||
<Card title="Редактор для совместной правки документов, с открытым исходным кодом" icon="document">
|
||||
Мы разместили [LaSuite Docs](https://github.com/suitenumerique/docs), бесплатную альтернативу Google Docs с открытым исходным кодом, разработанную для беспрепятственного совместного использования в режиме реального времени. Вы можете создавать документы в графическом интерфейсе, похожем на Google Docs; экспортировать их в форматах DocX или PDF. Вы также можете добавлять вложенные документы и делиться ссылками с другими пользователями, даже с теми, у кого нет учётной записи. [Подробнее...](services/docs)
|
||||
</Card>
|
||||
|
||||
<Card title="Быстрый и конфиденциальный поиск стал проще" icon="magnifier">
|
||||
Мы запустили экземпляр [SearXNG](https://searxng.org) , который позволяет вам войти в систему с помощью вашей учетной записи Federated Nexus и выполнять быстрый поиск в Интернете с упором на конфиденциальность — без отслеживания, профилирования или навязчивой рекламы. [Подробнее...](services/searxng)
|
||||
</Card>
|
||||
|
||||
<Card title="Быстрый и бесплатный дом для вашего кода" icon="seti:git">
|
||||
Мы предоставляем бесплатную версию [Forgejo](https://forgejo.org) на [git.federated.nexus](https://git.federated.nexus)! Forgejo — это git-forge с открытым исходным кодом, который (в отличие от GitHub) никогда не будет обучать ИИ вашим кодом 🙃. [Подробнее...](services/forgejo)
|
||||
</Card>
|
||||
|
||||
<Card title="Просматривайте Reddit конфиденциально" icon="reddit">
|
||||
[Redlib](https://github.com/redlib-org/redlib) это бесплатный интерфейс с открытым исходным кодом для Reddit, разработанный для избавления от отслеживания, рекламы и отвлекающих факторов. Вы можете просматривать публикации, читать комментарии и подписываться на субреддиты — без лишних проблем и шпионского ПО. [Подробнее...](services/redlib)
|
||||
</Card>
|
||||
|
||||
<Card title="Дружественное и открытое сообщество" icon="heart">
|
||||
Мы стремимся поддерживать дружеское, разнообразное и открытое сообщество. В рамках этой политики я не боюсь применять меры наказания в виде бана к любым фанатикам, гомофобам или другим недружелюбным людям. Мы следуем требованиям [Contributor Covenant](code).
|
||||
</Card>
|
||||
|
||||
<Card title="Это ещё не всё" icon="approve-check">
|
||||
У нас, на серверах Federated Nexus, есть ещё достаточно места, поэтому мы готовы разместить любое полезное новое программное обеспечение. Сообщите нам об этом в нашей [комнате Matrix](https://matrix.to/#/#community:federated.nexus)!
|
||||
</Card>
|
||||
|
||||
</CardGrid>
|
29
src/content/docs/ru-ru/services/docs.mdx
Normal file
|
@ -0,0 +1,29 @@
|
|||
---
|
||||
title: LaSuite Docs
|
||||
---
|
||||
|
||||
[LaSuite Docs](https://github.com/suitenumerique/docs) — это бесплатный редактор документов с открытым исходным кодом, разработанный для удобного совместного редактирования в режиме реального времени. Federated Nexus предоставляет свой экземпляр по адресу: https://docs.federated.nexus.
|
||||
|
||||
## Вход в систему (авторизация)
|
||||
|
||||
Для входа систему, на главной странице услуги, нажмите кнопку "Начать творить", чтобы войти в систему и ввести данные своей учётной записи Federated Nexus.
|
||||
|
||||
После этого вы должны увидеть главную страницу, на которой отображаются как созданные вами документы, так и документы, которыми с вами поделились:
|
||||
|
||||

|
||||
|
||||
## Начало работы с документом
|
||||
|
||||
Выберите документ, чтобы открыть его, или нажмите кнопку «Новый документ» в верхнем левом углу, чтобы создать новый.
|
||||
|
||||
Редактор документов поддерживает форматирование для текста, а также изображения:
|
||||
|
||||

|
||||
|
||||
## Создание вложенных документов
|
||||
|
||||
LaSuite Docs поддерживает создание вложенных документов. Чтобы создать такой документ, наведите указатель мыши на документ в боковой панели и нажмите кнопку «плюс».
|
||||
|
||||
После этого вы должны увидеть под ним вложенный документ:
|
||||
|
||||

|
32
src/content/docs/ru-ru/services/forgejo.mdx
Normal file
|
@ -0,0 +1,32 @@
|
|||
---
|
||||
title: Forgejo
|
||||
---
|
||||
|
||||
[Forgejo](https://forgejo.org)— это бесплатный git-forge с открытым исходным кодом. Forgejo — очень лёгкий и производительный инструмент, который может стать хорошей альтернативой GitHub. Мы размещаем Forgejo по адресу: https://git.federated.nexus.
|
||||
|
||||
## Вход в систему
|
||||
|
||||
Чтобы войти в систему, нажмите кнопку «Войти» в правом верхнем углу и выберите «Войти с помощью Federated Nexus» — вы перейдёте на страницу входа в Federated Nexus, где сможете ввести данные своей учётной записи.
|
||||
|
||||
Затем вы должны увидеть заглавную страницу:
|
||||
|
||||

|
||||
|
||||
## Просмотр вашей панели управления
|
||||
|
||||
Чтобы просмотреть панель управления, нажмите значок в верхнем левом углу.
|
||||
|
||||
На панели инструментов отображаются последние действия в репозиториях, за которыми вы следите, график участия и список репозиториев, в которых вы участвуете:
|
||||
|
||||

|
||||
|
||||
## Следующие шаги
|
||||
|
||||
Мы рекомендуем ознакомиться с [Руководством пользователя Forgejo](https://forgejo.org/docs/v12.0/user/) для получения более подробной информации об использовании вашей учётной записи.
|
||||
|
||||
Forgejo имеет множество полезных функций, например:
|
||||
|
||||
- Наблюдение за репозиториями, чтобы получать уведомления о любой активности в них
|
||||
- Создание вилок репозиториев
|
||||
- Отслеживание проблем
|
||||
- API, который позволяет выполнять автоматические действия над репозиториями (например, комментировать результаты тестирования в pull-запросах).
|
71
src/content/docs/ru-ru/services/matrix.mdx
Normal file
|
@ -0,0 +1,71 @@
|
|||
---
|
||||
title: Matrix
|
||||
---
|
||||
|
||||
Matrix — это платформа для общения с открытым исходным кодом, позволяющая общаться в выбранных вами сообществах. Важной особенностью Matrix является сквозное шифрование, позволяющее общаться конфиденциально и безопасно.
|
||||
|
||||
## Сравнение с Discord
|
||||
|
||||
Matrix имеет много общего с Discord, но также и некоторые важные отличия. Это сравнение может быть полезно при переходе:
|
||||
|
||||
- Вместо «каналов» Discord у вас есть «комнаты» Matrix. В отличие от Discord, комнаты могут быть как входящими в пространство (объясняется ниже), так и автономными. Их можно настроить для работы с сквозным шифрованием, но для больших комнат более надёжно не использовать шифрование.
|
||||
- Эквивалентом «сервера» Discord является «пространство» Matrix. Пространства представляют собой каталог комнат, где каждая комната сгруппирована под одним значком (в зависимости от вашего клиента). Комнаты в пространстве отображаются и доступны для входа, однако вы не обязаны входить во все комнаты в пространстве Matrix.
|
||||
|
||||
## Выбор клиента
|
||||
|
||||
Matrix — это просто протокол, и вы можете использовать любой «клиент», который захотите. Клиенты — это интерфейсы для Matrix, с помощью которых вы можете просматривать сообщения и присоединяться к чатам. Существует бесчисленное множество клиентов, но для наилучшего результата мы рекомендуем один из следующих:
|
||||
|
||||
- [Cinny](https://cinny.in) предоставляет интерфейс, похожий на Discord, и имеет несколько действительно полезных функций. Вы можете использовать его в веб-браузере или как приложение Tauri, и он очень хорошо работает на телефонах с Linux.
|
||||
- [FluffyChat](https://fluffychat.im) создан с помощью Flutter, поэтому имеет отличную кроссплатформенную поддержку. Его можно использовать на iOS, Android, Linux, в веб-браузерах и т. д. Он также имеет некоторые функции, которых нет в Cinny, но я считаю Cinny более интуитивным.
|
||||
|
||||
## Как использовать
|
||||
|
||||
Процесс входа в вашу учетную запись Federated Nexus Matrix зависит от того, какой клиент вы используете. Здесь я покажу Cinny, но процесс не сильно отличается в разных клиентах.
|
||||
|
||||
### Использование Cinny
|
||||
|
||||
Cinny можно использовать как веб-сайт или как штатное приложение.
|
||||
Вы можете найти экземпляр Federated Nexus здесь: https://app.federated.nexus
|
||||
|
||||
Или загрузить приложение отсюда: https://github.com/cinnyapp/cinny-desktop/releases/latest
|
||||
В Linux вы также можете получить Cinny из [Flathub](https://flathub.org/apps/in.cinny.Cinny) или репозиториев вашего дистрибутива.
|
||||
|
||||
### Вход
|
||||
|
||||
Прежде всего, убедитесь, что `federated.nexus` установлен в качестве вашего «Homeserver» (Домашнего сервера). Это поле отображается в виде раскрывающегося списка на рабочем столе, но вам необходимо заполнить его вручную.
|
||||
|
||||

|
||||
|
||||
Потом просто введите свои имя пользователя и пароль и нажмите «Войти»!
|
||||
|
||||
### Присоединение к комнате сообщества
|
||||
|
||||
После входа в систему вы должны увидеть уведомление в папке «Входящие» в левом нижнем углу экрана:
|
||||
|
||||

|
||||
|
||||
Нажмите на уведомление, и вы окажетесь на странице приглашений. Нажмите «Публичный», рядом с которым находится уведомление.
|
||||
|
||||

|
||||
|
||||
Там примите приглашение в комнату "Federated Nexus Community" и готово!
|
||||
|
||||

|
||||
|
||||
## Homeserver (домашний сервер)
|
||||
|
||||
Federated Nexus использует [Continuwuity](https://continuwuity.org/), реализацию спецификации Matrix на языке Rust. Это означает, что он не обладает всеми функциями [Synapse](https://element-hq.github.io/synapse/latest/), но гораздо более производителен. Некоторые функции, которых нет в Grapevine, включают:
|
||||
|
||||
- Комнаты старше v3: В Matrix каждая комната соответствует определенной версии спецификации Matrix. Continuwuity в настоящее время поддерживает версии комнат от v3 до v11, что охватывает подавляющее большинство комнат. Версия комнаты v2 является очень старой и не должна использоваться, но некоторые комнаты всё ещё её используют. С Federated Nexus вы не сможете присоединиться к этим комнатам, извините. В настоящее время Continuwuity также не поддерживает v12 (самую новую версию), но мы ожидаем, что это скоро изменится.
|
||||
|
||||
## Мосты
|
||||
|
||||
Federated Nexus поддерживает несколько «мостов» и «марионеток», чтобы вы могли общаться с людьми на других платформах из Matrix:
|
||||
|
||||
- [Out of Your Element](https://gitdab.com/cadence/out-of-your-element) (OOYE, мост для Discord): Вы можете управлять OOYE через его веб-интерфейс: https://ooye.federated.nexus. С помощью этого интуитивно понятного веб-интерфейса администраторы сервера Discord могут войти в свою учетную запись Discord и легко настроить мостовое пространство Matrix, используя опцию «Easy mode» (Простой режим). Более опытные пользователи могут воспользоваться опцией «Self-service» (Самообслуживание), чтобы вручную управлять мостом, вместо того чтобы создавать совершенно новое пространство Matrix.
|
||||
- [mautrix-gmessages](https://docs.mau.fi/bridges/go/gmessages/index.html) (SMS-марионетка): Вы можете использовать mautrix-gmessages для переноса SMS-чатов в Matrix, включая как чтение, так и отправку SMS. Вы можете настроить его самостоятельно, следуя [их инструкциям](https://docs.mau.fi/bridges/go/gmessages/authentication.html).
|
||||
- [mautrix-whatsapp](https://docs.mau.fi/bridges/go/whatsapp/index.html) (WhatsApp-марионетка): С помощью mautrix-whatsapp вы можете подключить свои чаты WhatsApp к Matrix, очень похожим образом, как и в случае с SMS-мостом. Инструкции по настройке см. [здесь](https://docs.mau.fi/bridges/go/whatsapp/authentication.html).
|
||||
|
||||
## Аутентификация
|
||||
|
||||
[Matrix](https://matrix.org) является центром Federated Nexus, всё остальное проходит аутентификацию через Matrix. Это означает, что при смене пароля в Matrix вам нужно будет войти во все остальные системы с новым паролем.
|
21
src/content/docs/ru-ru/services/redlib.mdx
Normal file
|
@ -0,0 +1,21 @@
|
|||
---
|
||||
title: Redlib
|
||||
---
|
||||
|
||||
[Redlib](https://github.com/redlib-org/redlib)— это быстрый, открытый и уважающий конфиденциальность интерфейс для Reddit. Он позволяет просматривать субреддиты, сообщения и комментарии — и всё это без JavaScript, отслеживания и рекламы. В отличие от официального сайта Reddit, Redlib не требует входа в систему, установки приложения или принятия файлов cookie. Вы можете получить доступ к нашему экземпляру по адресу: https://redlib.federated.nexus.
|
||||
|
||||

|
||||
|
||||
## Особенности
|
||||
|
||||
Redlib предоставляет чистый, быстрый и конфиденциальный способ просмотра Reddit. Он поддерживает множество тем и настроек, хорошо работает как на настольных компьютерах, так и на мобильных устройствах, а также упрощает просмотр записей, предварительный просмотр медиафайлов и чтение комментариев без рекламы, отслеживания или JavaScript.
|
||||
|
||||

|
||||
|
||||
## Автоматическое перенаправление
|
||||
|
||||
Если вы хотите автоматически использовать Redlib при каждом посещении Reddit, вы можете установить расширение для браузера [LibRedirect](https://libredirect.github.io). LibRedirect определяет, когда вы открываете сайт, подобный reddit.com, и перенаправляет вас на альтернативный сайт, уважающий конфиденциальность, которым в данном случае является наш экземпляр Redlib.
|
||||
|
||||
После установки просто откройте настройки LibRedirect, выберите «Reddit» в раскрывающемся списке «Service» и выберите «Redlib» в раскрывающемся списке «Frontend». Затем в поле «Add your favorite instances» введите `https://redlib.federated.nexus` и нажмите «+». Всё готово!
|
||||
|
||||

|
13
src/content/docs/ru-ru/services/searxng.mdx
Normal file
|
@ -0,0 +1,13 @@
|
|||
---
|
||||
title: SearXNG
|
||||
---
|
||||
|
||||
[SearXNG](https://searxng.org) позволяет выполнять быстрый поиск в Интернете с упором на конфиденциальность — без отслеживания, профилирования или навязчивой рекламы. SearXNG агрегирует результаты из многих поисковых систем (вы можете настроить, какие из них будут запрашиваться) на одной странице. SearXNG доступен по адресу: https://search.federated.nexus.
|
||||
|
||||

|
||||
|
||||
## Настройки
|
||||
|
||||
SearXNG очень настраиваемый, есть много настроек, которые вы можете задать, включая поисковые системы, тему интерфейса и многое другое.
|
||||
|
||||

|
29
src/content/docs/services/docs.mdx
Normal file
|
@ -0,0 +1,29 @@
|
|||
---
|
||||
title: LaSuite Docs
|
||||
---
|
||||
|
||||
[LaSuite Docs](https://github.com/suitenumerique/docs) is a free and open-source document editor, designed for seamless real-time collaboration. Federated Nexus provides a hosted instance at https://docs.federated.nexus.
|
||||
|
||||
## Logging In
|
||||
|
||||
On the logged out homepage, press the "Start Writing" button to log in and enter the credentials for your Federated Nexus account.
|
||||
|
||||
You should then be greeted by the logged in homepage, which shows both documents you have created and documents that have been shared with you:
|
||||
|
||||

|
||||
|
||||
## Creating a Document
|
||||
|
||||
Select a document to open it, or press the "New Doc" button in the top left corner to create a new document.
|
||||
|
||||
The document editor has support for Markdown, as well as images:
|
||||
|
||||

|
||||
|
||||
## Creating Subdocuments
|
||||
|
||||
LaSuite Docs supports creating subdocuments. To create a subdocument, hover over the document on the sidebar and press the plus button.
|
||||
|
||||
You should then see the subdocument appear below it:
|
||||
|
||||

|
32
src/content/docs/services/forgejo.mdx
Normal file
|
@ -0,0 +1,32 @@
|
|||
---
|
||||
title: Forgejo
|
||||
---
|
||||
|
||||
[Forgejo](https://forgejo.org) is a free and open-source git forge. Very lightweight and performant, Forgejo is a good replacement for GitHub. We host Forgejo at at https://git.federated.nexus.
|
||||
|
||||
## Signing In
|
||||
|
||||
To log in, press the "Sign in" button on the top right corner and select "Sign in with Federated Nexus" - it should take you to the Federated Nexus login page, where you can enter the credentials for your Federated Nexus account.
|
||||
|
||||
You should then be greeted by the explore page:
|
||||
|
||||

|
||||
|
||||
## Viewing Your Dashboard
|
||||
|
||||
To view your dashboard, press the icon in the top left corner.
|
||||
|
||||
The dashboard shows you the recent activity of repositories you watch, a contribution graph, and a list of repositories you are a member of:
|
||||
|
||||

|
||||
|
||||
## Next Steps
|
||||
|
||||
We recommend taking a look at the [Forgejo User Guide](https://forgejo.org/docs/v12.0/user/) for more detailed information on using your Forgejo account.
|
||||
|
||||
Forgejo has many useful features you can use, such as:
|
||||
|
||||
- Watching repositories to get notified when the repository has any activity
|
||||
- Forking repositories
|
||||
- Issue tracking
|
||||
- An API which allows you to perform automated actions on repositories (such as commenting test results on pull requests)
|
71
src/content/docs/services/matrix.mdx
Normal file
|
@ -0,0 +1,71 @@
|
|||
---
|
||||
title: Matrix
|
||||
---
|
||||
|
||||
Matrix is an open-source communications platform, allowing you to chat to communities of your choice. An important feature of Matrix is its end to end encryption, allowing you to talk privately and securely.
|
||||
|
||||
## Comparison to Discord
|
||||
|
||||
Matrix has many parallels to Discord, but also some important differences. This comparison may be useful to you when migrating:
|
||||
|
||||
- Instead of Discord "channels", you have Matrix "rooms". Rooms can both be joined within a space (explained below), or standalone, unlike Discord. They can be configured to run with end to end encryption, but for large rooms it's more reliable to not use encryption.
|
||||
- The equivalent of a Discord "server" is a Matrix "space". Spaces are essentially a directory of rooms, where each room is grouped under one icon (depending on your client). Rooms within the space are shown and are available to join, however, you do not have to join all rooms in a Matrix space.
|
||||
|
||||
## Choosing a Client
|
||||
|
||||
Matrix is purely a protocol, and you can use any "client" you want. Clients are front-ends for Matrix, and they are the way you actually see messages and join rooms. There are countless clients, but we recommend one of the following for the best possible experience:
|
||||
|
||||
- [Cinny](https://cinny.in) provides a Discord-like UI and has some really useful features. You can use it on the web, or as a Tauri app, and it works on Linux phones very well.
|
||||
- [FluffyChat](https://fluffychat.im) is made with Flutter, so it has great cross-platform support. It's usable on iOS, Android, Linux, Web, etc. It also has some features that Cinny doesn't, but I find Cinny to be more intuitive.
|
||||
|
||||
## How to Use
|
||||
|
||||
The process of signing into your Federated Nexus Matrix account depends on what client you use. I will be showcasing Cinny here, but the process isn't too different between clients.
|
||||
|
||||
### Opening Cinny
|
||||
|
||||
Cinny can be used as either a website, or native app.
|
||||
You can find the Federated Nexus instance here: https://app.federated.nexus
|
||||
|
||||
Or download the app from here: https://github.com/cinnyapp/cinny-desktop/releases/latest
|
||||
On Linux, you can also get Cinny from [Flathub](https://flathub.org/apps/in.cinny.Cinny) or your distro's repositories.
|
||||
|
||||
### Logging In
|
||||
|
||||
Firstly, make sure that `federated.nexus`, is set as your "Homeserver". The field shows as a dropdown on desktop, but you must type it in manually.
|
||||
|
||||

|
||||
|
||||
Then, just enter your username and password, and hit log in!
|
||||
|
||||
### Joining the Community Room
|
||||
|
||||
After logging in, you should notice a notification in your inbox, in the bottom left corner of your screen:
|
||||
|
||||

|
||||
|
||||
Click the notification, and you will be greeted with the invites page. Click public, which has a notification next to it.
|
||||
|
||||

|
||||
|
||||
From there, accept the invitation to the "Federated Nexus Community" room, and you're good to go!
|
||||
|
||||

|
||||
|
||||
## Homeserver
|
||||
|
||||
Federated Nexus runs [Continuwuity](https://continuwuity.org/), a Rust implementation of the Matrix specification. This means it doesn't quite have all the features of [Synapse](https://element-hq.github.io/synapse/latest/), but it's much more performant. Some features that Grapevine lack include:
|
||||
|
||||
- Rooms older than v3: In Matrix, each room follows a certain version of the Matrix spec. Continuwuity currently supports room versions v3 to v11, covering the vast majority of rooms. Room version v2 is _very very_ old, and should never be used, but some rooms still use it. With Federated Nexus, you won't be able to join these rooms, sorry.
|
||||
|
||||
## Bridges
|
||||
|
||||
Federated Nexus hosts multiple "bridges" and "puppets", to let you talk to people on other platforms from Matrix:
|
||||
|
||||
- [Out of Your Element](https://gitdab.com/cadence/out-of-your-element) (OOYE, Discord bridge): You can control OOYE via its web UI: https://ooye.federated.nexus. From this intuitive web UI, Discord server admins can log into their Discord account, and easily set up a bridged Matrix space using the "Easy mode" option. Or, for the more advanced users, they can use the "Self-service" option to manually control the bridge, rather than creating a whole new Matrix space.
|
||||
- [mautrix-gmessages](https://docs.mau.fi/bridges/go/gmessages/index.html) (SMS puppet): You can use mautrix-gmessages to bridge SMS chats over to Matrix, including both reading and sending SMS. You can set it up for yourself with [their instructions](https://docs.mau.fi/bridges/go/gmessages/authentication.html).
|
||||
- [mautrix-whatsapp](https://docs.mau.fi/bridges/go/whatsapp/index.html) (WhatsApp puppet): With mautrix-whatsapp, you can bridge your WhatsApp chats to Matrix, in a very similar way to the SMS bridge. See [their instructions](https://docs.mau.fi/bridges/go/whatsapp/authentication.html) for setup.
|
||||
|
||||
## Authentication
|
||||
|
||||
[Matrix](https://matrix.org) is the hub of Federated Nexus, everything else authenticates against Matrix. This means that when you change your password on Matrix, you'll need to log into everything else with the new password.
|
21
src/content/docs/services/redlib.mdx
Normal file
|
@ -0,0 +1,21 @@
|
|||
---
|
||||
title: Redlib
|
||||
---
|
||||
|
||||
[Redlib](https://github.com/redlib-org/redlib) is a fast, open source, privacy respecting frontend for Reddit. It lets you browse subreddits, view posts, and read comments—all without JavaScript, tracking, or ads. Unlike the official Reddit site, Redlib doesn't nag you to log in, install an app, or accept cookies. You can access our instance at https://redlib.federated.nexus.
|
||||
|
||||

|
||||
|
||||
## Features
|
||||
|
||||
Redlib provides a clean, fast, and private way to browse Reddit. It supports many themes and settings, works well on both desktop and mobile, and makes it easy to view posts, preview media, and read comment threads without any ads, tracking, or JavaScript.
|
||||
|
||||

|
||||
|
||||
## Automatic Redirection
|
||||
|
||||
If you'd like to automatically use Redlib whenever you visit Reddit, you can install the [LibRedirect](https://libredirect.github.io) browser extension. LibRedirect detects when you open a site like reddit.com and redirects you to a privacy-respecting alternative, which in this case is our Redlib instance.
|
||||
|
||||
Once installed, just open the LibRedirect settings, select "Reddit" in the Service dropdown, and select "Redlib" in the "Frontend" dropdown. Then, under "Add your favorite instances", enter `https://redlib.federated.nexus`, and hit "+". That's it, you're done!
|
||||
|
||||

|
13
src/content/docs/services/searxng.mdx
Normal file
|
@ -0,0 +1,13 @@
|
|||
---
|
||||
title: SearXNG
|
||||
---
|
||||
|
||||
[SearXNG](https://searxng.org) lets you perform fast, privacy-focused searches across the web—completely free from tracking, profiling, or intrusive advertising. SearXNG works by aggregating results from many different search engines (you can configure which ones it queries) into one page. You can find SearXNG hosted at https://search.federated.nexus.
|
||||
|
||||

|
||||
|
||||
## Settings
|
||||
|
||||
SearXNG is very customizable, there are many settings you can customize, including what search engines to query, the UI theme, and more.
|
||||
|
||||

|
7
src/content/docs/uk-ua/donate.mdx
Normal file
|
@ -0,0 +1,7 @@
|
|||
---
|
||||
title: Пожертва
|
||||
---
|
||||
|
||||
Federated Nexus працює за рахунок пожертв, тому, якщо вам подобаються наші послуги, будь ласка, розгляньте можливість зробити пожертву. В ідеалі, ми приймаємо Interac E-Transfer на адресу: henry@henryhiles.com. Якщо Interac E-Transfer не працює у вашій країні, приєднайтесь до [кімнати Matrix](https://matrix.to/#/#community:federated.nexus), і ми щось придумаємо. Щиро дякуємо нашим поточним спонсорам:
|
||||
|
||||
- @VeryLoud: CAD$100
|
51
src/content/docs/uk-ua/index.mdx
Normal file
|
@ -0,0 +1,51 @@
|
|||
---
|
||||
title: Головна
|
||||
template: splash
|
||||
hero:
|
||||
title: Скористайтеся безкоштовним, швидким і приватним програмним забезпеченням Federated Nexus
|
||||
tagline: Federated Nexus — це ресурс спільноти, що розміщує декілька служб FOSS (особливо федеративних), включаючи Matrix і Forgejo.
|
||||
image:
|
||||
file: ../../../images/icon.svg
|
||||
actions:
|
||||
- text: Подати заявку
|
||||
icon: email
|
||||
link: register
|
||||
- text: Приєднуйтесь до нашої кімнати Matrix
|
||||
variant: minimal
|
||||
icon: matrix
|
||||
link: https://matrix.to/#/#community:federated.nexus
|
||||
---
|
||||
|
||||
import { CardGrid, Card } from "@astrojs/starlight/components"
|
||||
|
||||
<CardGrid>
|
||||
|
||||
<Card title="Приватне та безкоштовне спілкування" icon="comment">
|
||||
Federated Nexus розміщує безкоштовний екземпляр [Matrix](https://matrix.org), використовуючи програмне забезпечення [Continuwuity](https://continuwuity.org/). Matrix — це платформа для спілкування з відкритим кодом, яка дозволяє вам спілкуватися в чатах з обраними вами спільнотами. Ми також розміщуємо кілька мостів Matrix, включаючи міст Discord, маріонетку WhatsApp і навіть маріонетку SMS! [Докладніше...](services/matrix)
|
||||
</Card>
|
||||
|
||||
<Card title="Спільне редагування з відкритим кодом" icon="document">
|
||||
Ми розміщуємо [LaSuite Docs](https://github.com/suitenumerique/docs)— безкоштовну альтернативу Google Docs з відкритим кодом, призначену для безперебійної співпраці в режимі реального часу. Ви можете створювати документи в графічному інтерфейсі, схожому на Google Docs, та експортувати їх у форматі DocX або PDF. Ви також можете додавати вкладені документи та ділитися посиланнями з іншими, навіть тими, хто не має облікового запису. [Докладніше...](services/docs)
|
||||
</Card>
|
||||
|
||||
<Card title="Швидкий та приватний пошук став простішим" icon="magnifier">
|
||||
Ми запустили екземпляр [SearXNG](https://searxng.org), який дозволяє вам увійти за допомогою вашого облікового запису Federated Nexus і виконувати швидкий пошук в Інтернеті з акцентом на конфіденційність — без відстеження, профілювання або настирливої реклами. [Докладніше...](services/searxng)
|
||||
</Card>
|
||||
|
||||
<Card title="Швидкий і безкоштовний дім для вашого коду" icon="seti:git">
|
||||
Ми розміщуємо безкоштовну версію [Forgejo](https://forgejo.org) на [git.federated.nexus](https://git.federated.nexus)! Forgejo — це відкритий git-forge, який (на відміну від GitHub) ніколи не буде навчати штучний інтелект вашим кодом 🙃. [Докладніше...](services/forgejo)
|
||||
</Card>
|
||||
|
||||
<Card title="Переглядайте Reddit приватно" icon="reddit">
|
||||
[Redlib](https://github.com/redlib-org/redlib) — це безкоштовний інтерфейс з відкритим кодом для Reddit, призначений для усунення відстеження, реклами та відволікаючих факторів. Ви можете переглядати публікації, читати коментарі та підписуватися на субреддити без зайвих даних та шпигунського програмного забезпечення. [Докладніше...](services/redlib)
|
||||
</Card>
|
||||
|
||||
<Card title="Дружня та відкрита спільнота" icon="heart">
|
||||
Ми прагнемо підтримувати дружню, різноманітну та інклюзивну спільноту. У рамках цього я не боюся накладати заборону на будь-яких нетерпимих, гомофобних або інших недружніх людей. Ми дотримуємося [Contributor Covenant](code).
|
||||
</Card>
|
||||
|
||||
<Card title="Незабаром буде більше" icon="approve-check">
|
||||
На серверах Federated Nexus ще є достатньо місця, тому ми готові розмістити будь-яке корисне нове програмне забезпечення. Повідомте нас про це в нашій [кімнаті Matrix](https://matrix.to/#/#community:federated.nexus)!
|
||||
</Card>
|
||||
|
||||
</CardGrid>
|
29
src/content/docs/uk-ua/services/docs.mdx
Normal file
|
@ -0,0 +1,29 @@
|
|||
---
|
||||
title: LaSuite Docs
|
||||
---
|
||||
|
||||
[LaSuite Docs](https://github.com/suitenumerique/docs) — це безкоштовний редактор документів з відкритим кодом, призначений для безшовної співпраці в режимі реального часу. Federated Nexus надає свій примірник за адресою: https://docs.federated.nexus.
|
||||
|
||||
## Вхід
|
||||
|
||||
На головній сторінці, коли вхід ще не виконано, натисніть кнопку «Почати творити», щоб увійти до систему та ввести дані вашого облікового запису Federated Nexus.
|
||||
|
||||
Після цього ви маєте побачити сторінку входу до системи, а за нею ту, де відображаються як створені вами документи, так і документи, якими з вами поділилися:
|
||||
|
||||

|
||||
|
||||
## Початок роботи з документом
|
||||
|
||||
Виберіть документ, щоб відкрити його, або натисніть кнопку «Новий документ» у верхньому лівому куті, щоб створити новий.
|
||||
|
||||
Редактор документів підтримує форматування тексту, а також зображення:
|
||||
|
||||

|
||||
|
||||
## Створення вкладених документів
|
||||
|
||||
LaSuite Docs підтримує створення вкладених документів. Щоб створити такий документ, наведіть вказівник миші на документ у бічній панелі та натисніть кнопку «плюс».
|
||||
|
||||
Після цього ви побачите під ним вкладений документ:
|
||||
|
||||

|
32
src/content/docs/uk-ua/services/forgejo.mdx
Normal file
|
@ -0,0 +1,32 @@
|
|||
---
|
||||
title: Forgejo
|
||||
---
|
||||
|
||||
[Forgejo](https://forgejo.org) — це безкоштовний git-forge з відкритим кодом. Forgejo — дуже легкий і продуктивний, він є гарною заміною GitHub. Ми розміщуємо Forgejo за адресою: https://git.federated.nexus.
|
||||
|
||||
## Вхід
|
||||
|
||||
Щоб увійти, натисніть кнопку «Увійти» у верхньому правому куті та виберіть «Увійти за допомогою Federated Nexus» — ви перейдете на сторінку входу Federated Nexus, де зможете ввести облікові дані свого облікового запису.
|
||||
|
||||
Після цього ви побачите головну сторінку:
|
||||
|
||||

|
||||
|
||||
## Перегляд вашої Панелі інструментів
|
||||
|
||||
Щоб переглянути свою панель інструментів, натисніть на піктограму у верхньому лівому куті.
|
||||
|
||||
На панелі інструментів відображаються останні дії в репозиторіях, за якими ви стежите, графік участі та список репозиторіїв, в яких ви берете участь:
|
||||
|
||||

|
||||
|
||||
## Наступні кроки
|
||||
|
||||
Для отримання більш детальної інформації про використання вашого облікового запису Forgejo рекомендуємо ознайомитися з [Посібником користувача Forgejo](https://forgejo.org/docs/v12.0/user/).
|
||||
|
||||
Forgejo має багато корисних функцій, якими ви можете скористатися, наприклад:
|
||||
|
||||
- Спостереження за репозиторіями, щоб отримувати сповіщення про будь-яку активність у них
|
||||
- Розгалуження репозиторіїв
|
||||
- Відстеження проблем
|
||||
- API, що дозволяє виконувати автоматизовані дії над репозиторіями (наприклад, коментувати результати тестування у pull-запиті).
|
71
src/content/docs/uk-ua/services/matrix.mdx
Normal file
|
@ -0,0 +1,71 @@
|
|||
---
|
||||
title: Matrix
|
||||
---
|
||||
|
||||
Matrix — це платформа для спілкування з відкритим кодом, яка дозволяє вам спілкуватися в обраних вами спільнотах. Важливою особливістю Matrix є наскрізне шифрування, яке дозволяє вам спілкуватися приватно та безпечно.
|
||||
|
||||
## Порівняння з Discord
|
||||
|
||||
Matrix має багато схожих рис з Discord, але також і деякі важливі відмінності. Це порівняння може бути корисним для вас під час міграції:
|
||||
|
||||
- Замість «каналів» Discord у Matrix є «кімнати». На відміну від Discord, до кімнат можна приєднатися як у межах простору (пояснення див. нижче), так і окремо. Їх можна налаштувати для роботи з наскрізним шифруванням, але для великих кімнат надійніше не використовувати шифрування.
|
||||
- Еквівалентом «сервера» Discord є «простір» Matrix. Простори — це, по суті, каталог кімнат, де кожна кімната згрупована під однією піктограмою (залежно від вашого клієнта). Кімнати в просторі відображаються і доступні для приєднання, однак ви не зобов'язані приєднуватися до всіх кімнат у просторі Matrix.
|
||||
|
||||
## Вибір клієнта
|
||||
|
||||
Matrix — це суто протокол, і ви можете використовувати будь-який «клієнт», який вам подобається. Клієнти — це інтерфейси для Matrix, за допомогою яких ви бачите повідомлення та приєднуєтеся до кімнат. Існує безліч клієнтів, але для найкращого досвіду ми рекомендуємо використовувати один із таких:
|
||||
|
||||
- [Cinny](https://cinny.in) має інтерфейс, схожий на Discord, і деякі дійсно корисні функції. Ви можете використовувати його в веб-браузері або як додаток Tauri, і він дуже добре працює на телефонах з ОС Linux.
|
||||
- [FluffyChat](https://fluffychat.im) створений на базі Flutter, тому має чудову кросплатформну підтримку. Його можна використовувати на iOS, Android, Linux, у веб-браузерах тощо. Він також має деякі функції, яких немає в Cinny, але я вважаю Cinny більш інтуїтивним.
|
||||
|
||||
## Як користуватися
|
||||
|
||||
Процес входу в обліковий запис Federated Nexus Matrix залежить від того, який клієнт ви використовуєте. Я продемонструю тут Cinny, але процес не надто відрізняється між клієнтами.
|
||||
|
||||
### Відкриття Cinny
|
||||
|
||||
Cinny можна використовувати як веб-сайт або як повноцінний додаток.
|
||||
Ви можете знайти екземпляр Federated Nexus тут: https://app.federated.nexus
|
||||
|
||||
Або завантажте додаток звідси: https://github.com/cinnyapp/cinny-desktop/releases/latest
|
||||
У Linux ви також можете отримати Cinny з [Flathub](https://flathub.org/apps/in.cinny.Cinny) або у репозиторії вашого дистрибутива.
|
||||
|
||||
### Вхід
|
||||
|
||||
Спочатку переконайтеся, що `federated.nexus` встановлено як ваш «Homeserver» (Домашній сервер). Це поле відображається у вигляді випадаючого списку на робочому столі, але ви повинні вписати його вручну.
|
||||
|
||||

|
||||
|
||||
Потім просто введіть своє ім'я користувача та пароль і натисніть «Увійти»!
|
||||
|
||||
### Приєднання до Кімнати спільноти
|
||||
|
||||
Після входу до системи ви побачите повідомлення у вашій поштовій скриньці, у нижньому лівому куті екрана:
|
||||
|
||||

|
||||
|
||||
Натисніть на сповіщення, і ви потрапите на сторінку запрошень. Натисніть на «публічне», поруч з яким є сповіщення.
|
||||
|
||||

|
||||
|
||||
Звідти прийміть запрошення до кімнати «Federated Nexus Community», і все готово!
|
||||
|
||||

|
||||
|
||||
## Homeserver (Домашній сервер)
|
||||
|
||||
Federated Nexus використовує [Continuwuity](https://continuwuity.org/), реалізацію специфікації Matrix мовою Rust. Це означає, що вона не має всіх функцій [Synapse](https://element-hq.github.io/synapse/latest/), але набагато продуктивніша. Деякі функції, яких не має Grapevine, включають:
|
||||
|
||||
- Кімнати старші за v3: У Matrix кожна кімната відповідає певній версії специфікації Matrix. Continuwuity наразі підтримує версії кімнат від v3 до v11, що охоплює переважну більшість кімнат. Версія кімнати v2 є дуже-дуже застарілою та не повинна використовуватися, але деякі кімнати все ще її використовують. З Federated Nexus ви не зможете приєднатися до цих кімнат, вибачте. Наразі Continuwuity також не підтримує v12 (найновішу версію), але ми очікуємо, що це скоро зміниться.
|
||||
|
||||
## Мости
|
||||
|
||||
підтримує декілька «мостів» та «маріонеток», щоб ви могли спілкуватися з людьми на інших платформах з Matrix:
|
||||
|
||||
- [Out of Your Element](https://gitdab.com/cadence/out-of-your-element) (OOYE, міст для Discord): Ви можете керувати OOYE через його веб-інтерфейс: https://ooye.federated.nexus. За допомогою цього інтуїтивно зрозумілого веб-інтерфейсу адміністратори сервера Discord можуть увійти до свого облікового запису Discord і легко налаштувати проміжний простір Matrix за допомогою опції «Easy mode» (Простий режим). А більш досвідчені користувачі можуть скористатися опцією «Self-service» (Самообслуговування), щоб вручну керувати проміжним простором, замість того щоб створювати повністю новий простір Matrix.
|
||||
- [mautrix-gmessages](https://docs.mau.fi/bridges/go/gmessages/index.html) (SMS-маріонетка): Ви можете використовувати mautrix-gmessages для перенесення SMS-чатів у Matrix, включаючи як читання, так і надсилання SMS. Ви можете налаштувати це самостійно за допомогою [їхніх інструкцій](https://docs.mau.fi/bridges/go/gmessages/authentication.html).
|
||||
- [mautrix-whatsapp](https://docs.mau.fi/bridges/go/whatsapp/index.html) (WhatsApp маріонетка): За допомогою mautrix-whatsapp ви можете підключити свої чати WhatsApp до Matrix, дуже схожим чином, як і SMS-міст. Для налаштування дивіться [їхні інструкції](https://docs.mau.fi/bridges/go/whatsapp/authentication.html).
|
||||
|
||||
## Аутентифікація
|
||||
|
||||
[Matrix](https://matrix.org) є центром Federated Nexus, все інше проходить аутентифікацію через Matrix. Це означає, що коли ви зміните свій пароль у Matrix, вам потрібно буде увійти в усі інші системи з новим паролем.
|
21
src/content/docs/uk-ua/services/redlib.mdx
Normal file
|
@ -0,0 +1,21 @@
|
|||
---
|
||||
title: Redlib
|
||||
---
|
||||
|
||||
[Redlib](https://github.com/redlib-org/redlib) — це швидкий, відкритий, конфіденційний інтерфейс для Reddit. Він дозволяє переглядати субреддити, публікації та коментарі без JavaScript, відстеження або реклами. На відміну від офіційного сайту Reddit, Redlib не вимагає входу до системи, встановлення додатка або прийняття файлів cookie. Ви можете отримати доступ до нашого примірника за адресою: https://redlib.federated.nexus.
|
||||
|
||||

|
||||
|
||||
## Особливості
|
||||
|
||||
Redlib забезпечує чистий, швидкий і приватний спосіб перегляду Reddit. Він підтримує безліч тем і налаштувань, добре працює як на настільних комп'ютерах, так і на мобільних пристроях, а також дозволяє легко переглядати публікації, попередньо переглядати медіафайли та читати коментарі без реклами, відстеження або JavaScript.
|
||||
|
||||

|
||||
|
||||
## Автоматичне перенаправлення
|
||||
|
||||
Якщо ви хочете автоматично використовувати Redlib при кожному відвідуванні Reddit, ви можете встановити розширення для браузера [LibRedirect](https://libredirect.github.io). LibRedirect виявляє, коли ви відкриваєте сайт, такий як reddit.com, і перенаправляє вас на альтернативний сайт, що поважає конфіденційність, яким у цьому випадку є наш примірник Redlib.
|
||||
|
||||
Після встановлення просто відкрийте налаштування LibRedirect, виберіть «Reddit» у випадаючому меню «Service» та виберіть «Redlib» у випадаючому меню «Frontend». Потім у розділі «Add your favorite instances» введіть `https://redlib.federated.nexus` та натисніть «+». Ось і все, готово!
|
||||
|
||||

|
13
src/content/docs/uk-ua/services/searxng.mdx
Normal file
|
@ -0,0 +1,13 @@
|
|||
---
|
||||
title: SearXNG
|
||||
---
|
||||
|
||||
[SearXNG](https://searxng.org) дозволяє виконувати швидкий пошук в Інтернеті з акцентом на конфіденційність — без відстеження, профілювання або настирливої реклами. SearXNG об'єднує результати з багатьох різних пошукових систем (ви можете налаштувати, які саме системи використовувати) на одній сторінці. SearXNG розміщений за адресою: https://search.federated.nexus.
|
||||
|
||||

|
||||
|
||||
## Налаштування
|
||||
|
||||
SearXNG є дуже гнучким у налаштуванні, ви можете налаштувати багато параметрів, включаючи пошукові системи, тему інтерфейсу користувача та інше.
|
||||
|
||||

|
Before Width: | Height: | Size: 301 KiB After Width: | Height: | Size: 303 KiB |
Before Width: | Height: | Size: 124 KiB After Width: | Height: | Size: 162 KiB |
BIN
src/images/docs/landing.png
Normal file
After Width: | Height: | Size: 742 KiB |
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 13 KiB |
BIN
src/images/forgejo/dashboard.png
Normal file
After Width: | Height: | Size: 380 KiB |
BIN
src/images/forgejo/explore.png
Normal file
After Width: | Height: | Size: 315 KiB |
BIN
src/images/matrix/accept.png
Normal file
After Width: | Height: | Size: 121 KiB |
BIN
src/images/matrix/badge.png
Normal file
After Width: | Height: | Size: 132 KiB |
BIN
src/images/matrix/homeserver.png
Normal file
After Width: | Height: | Size: 128 KiB |
BIN
src/images/matrix/homeserver2.png
Normal file
After Width: | Height: | Size: 4.4 KiB |
BIN
src/images/matrix/invite.png
Normal file
After Width: | Height: | Size: 115 KiB |
BIN
src/images/redlib/home.png
Normal file
After Width: | Height: | Size: 781 KiB |
BIN
src/images/redlib/libredirect.png
Normal file
After Width: | Height: | Size: 198 KiB |
BIN
src/images/redlib/post.png
Normal file
After Width: | Height: | Size: 369 KiB |
BIN
src/images/searxng/search.png
Normal file
After Width: | Height: | Size: 374 KiB |
BIN
src/images/searxng/settings.png
Normal file
After Width: | Height: | Size: 275 KiB |
16
src/pages/failure.astro
Normal file
|
@ -0,0 +1,16 @@
|
|||
---
|
||||
import StarlightPage from "@astrojs/starlight/components/StarlightPage.astro"
|
||||
import "../styles/page.css"
|
||||
---
|
||||
|
||||
<StarlightPage
|
||||
frontmatter={{
|
||||
title: "Registration failed",
|
||||
template: "splash",
|
||||
}}
|
||||
>
|
||||
An error occurred while we were registering you. Try again later, and if the
|
||||
error persists, join our <a
|
||||
href="https://matrix.to/#/#community:federated.nexus">Matrix room</a
|
||||
> let me know.
|
||||
</StarlightPage>
|
16
src/pages/fr-fr/failure.astro
Normal file
|
@ -0,0 +1,16 @@
|
|||
---
|
||||
import StarlightPage from "@astrojs/starlight/components/StarlightPage.astro"
|
||||
import "../../styles/page.css"
|
||||
---
|
||||
|
||||
<StarlightPage
|
||||
frontmatter={{
|
||||
title: "Échec de l'inscription",
|
||||
template: "splash",
|
||||
}}
|
||||
>
|
||||
Une erreur s'est produite lors de votre inscription. Veuillez réessayer plus
|
||||
tard. Si l'erreur persiste, rejoignez notre <a
|
||||
href="https://matrix.to/#/#community:federated.nexus">salle Matrix</a
|
||||
> et veuillez m'en informer.
|
||||
</StarlightPage>
|
101
src/pages/fr-fr/login.astro
Normal file
|
@ -0,0 +1,101 @@
|
|||
---
|
||||
import StarlightPage from "@astrojs/starlight/components/StarlightPage.astro"
|
||||
import "../../styles/page.css"
|
||||
---
|
||||
|
||||
<StarlightPage
|
||||
frontmatter={{ title: "Connexion à Federated Nexus", template: "splash" }}
|
||||
>
|
||||
<form method="post" action="https://auth.federated.nexus/login">
|
||||
<input type="hidden" name="state" />
|
||||
<input type="hidden" name="nonce" />
|
||||
<input type="hidden" name="user_id" />
|
||||
<input type="hidden" name="access_token" />
|
||||
<input type="hidden" name="redirect_uri" />
|
||||
|
||||
<label>
|
||||
Nom d'utilisateur
|
||||
<input type="text" />
|
||||
</label>
|
||||
<label>
|
||||
Mot de passe
|
||||
<input type="password" />
|
||||
</label>
|
||||
|
||||
<noscript id="error">
|
||||
Ce formulaire ne fonctionnera pas sans JavaScript.
|
||||
</noscript>
|
||||
<span id="error"> </span>
|
||||
<button type="submit"><span>Envoyer</span></button>
|
||||
|
||||
<a href="/register"
|
||||
>Vous n'avez pas encore de compte ? Inscrivez-vous dès maintenant !</a
|
||||
>
|
||||
</form>
|
||||
</StarlightPage>
|
||||
|
||||
<script>
|
||||
const params = new URLSearchParams(window.location.search)
|
||||
for (const name of ["redirect_uri", "state", "nonce"]) {
|
||||
const input = document.querySelector(
|
||||
`input[name="${name}"]`
|
||||
) as HTMLInputElement
|
||||
if (input && params.has(name)) input.value = params.get(name)!
|
||||
}
|
||||
|
||||
const form = document.querySelector("form")!
|
||||
const error = document.querySelector("#error")! as HTMLSpanElement
|
||||
form.addEventListener("submit", async (e) => {
|
||||
e.preventDefault()
|
||||
|
||||
error.style.display = "none"
|
||||
|
||||
try {
|
||||
const username = (
|
||||
form.querySelector('[type="text"]') as HTMLInputElement
|
||||
).value
|
||||
const password = (
|
||||
form.querySelector('[type="password"]') as HTMLInputElement
|
||||
).value
|
||||
|
||||
const session =
|
||||
localStorage.getItem("session") ?? crypto.randomUUID()
|
||||
localStorage.setItem("session", session)
|
||||
|
||||
const res = await fetch(
|
||||
"https://matrix.federated.nexus/_matrix/client/v3/login",
|
||||
{
|
||||
method: "POST",
|
||||
headers: { "Content-Type": "application/json" },
|
||||
body: JSON.stringify({
|
||||
type: "m.login.password",
|
||||
device_id: session,
|
||||
initial_device_display_name: `Federated Nexus Login from ${navigator.userAgent}`,
|
||||
identifier: { type: "m.id.user", user: username },
|
||||
password,
|
||||
}),
|
||||
}
|
||||
)
|
||||
|
||||
if (!res.ok) {
|
||||
throw new Error((await res.json())["error"])
|
||||
}
|
||||
|
||||
const data = await res.json()
|
||||
|
||||
const id = form.querySelector(
|
||||
'input[name="user_id"]'
|
||||
) as HTMLInputElement
|
||||
id.value = data.user_id
|
||||
|
||||
const token = form.querySelector(
|
||||
'input[name="access_token"]'
|
||||
) as HTMLInputElement
|
||||
token.value = data.access_token
|
||||
|
||||
form.submit()
|
||||
} catch (err: any) {
|
||||
error.textContent = err.message || "Login failed"
|
||||
}
|
||||
})
|
||||
</script>
|
27
src/pages/fr-fr/register.astro
Normal file
|
@ -0,0 +1,27 @@
|
|||
---
|
||||
import StarlightPage from "@astrojs/starlight/components/StarlightPage.astro"
|
||||
import "../../styles/page.css"
|
||||
---
|
||||
|
||||
<StarlightPage
|
||||
frontmatter={{ title: "Inscription à Federated Nexus", template: "splash" }}
|
||||
>
|
||||
<form method="post" action="https://register.federated.nexus">
|
||||
<label>
|
||||
Nom d'utilisateur (alphanumérique uniquement, sans espaces ni signes
|
||||
diacritiques)
|
||||
<input
|
||||
name="username"
|
||||
type="text"
|
||||
required
|
||||
pattern="^[A-Za-z0-9]+$"
|
||||
/>
|
||||
</label>
|
||||
<label>
|
||||
E-mail
|
||||
<input name="email" type="email" required />
|
||||
</label>
|
||||
|
||||
<button type="submit"><span>Envoyer</span></button>
|
||||
</form>
|
||||
</StarlightPage>
|
15
src/pages/fr-fr/success.astro
Normal file
|
@ -0,0 +1,15 @@
|
|||
---
|
||||
import StarlightPage from "@astrojs/starlight/components/StarlightPage.astro"
|
||||
import "../../styles/page.css"
|
||||
---
|
||||
|
||||
<StarlightPage
|
||||
frontmatter={{
|
||||
title: "Inscription réussie à Federated Nexus",
|
||||
template: "splash",
|
||||
}}
|
||||
>
|
||||
Une fois votre demande approuvée, vous recevrez un e-mail contenant un nom
|
||||
d'utilisateur et un mot de passe. L'approbation prend généralement moins de
|
||||
deux jours ouvrables.
|
||||
</StarlightPage>
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
import StarlightPage from "@astrojs/starlight/components/StarlightPage.astro"
|
||||
import "../styles/login.css"
|
||||
import "../styles/page.css"
|
||||
---
|
||||
|
||||
<StarlightPage
|
||||
|
@ -28,7 +28,7 @@ import "../styles/login.css"
|
|||
<span id="error"> </span>
|
||||
<button type="submit"><span>Submit</span></button>
|
||||
|
||||
<a href="/">Don't have an account? Apply at our home page.</a>
|
||||
<a href="/register">Don't have an account? Sign up now!</a>
|
||||
</form>
|
||||
</StarlightPage>
|
||||
|
||||
|
|
26
src/pages/register.astro
Normal file
|
@ -0,0 +1,26 @@
|
|||
---
|
||||
import StarlightPage from "@astrojs/starlight/components/StarlightPage.astro"
|
||||
import "../styles/page.css"
|
||||
---
|
||||
|
||||
<StarlightPage
|
||||
frontmatter={{ title: "Register for Federated Nexus", template: "splash" }}
|
||||
>
|
||||
<form method="post" action="https://register.federated.nexus">
|
||||
<label>
|
||||
Username (alphanumeric only, no spaces)
|
||||
<input
|
||||
name="username"
|
||||
type="text"
|
||||
required
|
||||
pattern="^[A-Za-z0-9]+$"
|
||||
/>
|
||||
</label>
|
||||
<label>
|
||||
Email
|
||||
<input name="email" type="email" required />
|
||||
</label>
|
||||
|
||||
<button type="submit"><span>Submit</span></button>
|
||||
</form>
|
||||
</StarlightPage>
|
17
src/pages/ru-ru/failure.astro
Normal file
|
@ -0,0 +1,17 @@
|
|||
---
|
||||
import StarlightPage from "@astrojs/starlight/components/StarlightPage.astro"
|
||||
import "../../styles/page.css"
|
||||
---
|
||||
|
||||
<StarlightPage
|
||||
frontmatter={{
|
||||
title: "Не удалось выполнить регистрацию",
|
||||
template: "splash",
|
||||
}}
|
||||
>
|
||||
При регистрации произошла ошибка. Повторите попытку позже, и если ошибка не
|
||||
исчезнет, присоединяйтесь к нашей <a
|
||||
href="https://matrix.to/#/#community:federated.nexus"
|
||||
>комнате в Matrix</a
|
||||
> и сообщите мне об этой ошибке.
|
||||
</StarlightPage>
|
101
src/pages/ru-ru/login.astro
Normal file
|
@ -0,0 +1,101 @@
|
|||
---
|
||||
import StarlightPage from "@astrojs/starlight/components/StarlightPage.astro"
|
||||
import "../../styles/page.css"
|
||||
---
|
||||
|
||||
<StarlightPage
|
||||
frontmatter={{ title: "Вход в Federated Nexus", template: "splash" }}
|
||||
>
|
||||
<form method="post" action="https://auth.federated.nexus/login">
|
||||
<input type="hidden" name="state" />
|
||||
<input type="hidden" name="nonce" />
|
||||
<input type="hidden" name="user_id" />
|
||||
<input type="hidden" name="access_token" />
|
||||
<input type="hidden" name="redirect_uri" />
|
||||
|
||||
<label>
|
||||
Имя пользователя
|
||||
<input type="text" />
|
||||
</label>
|
||||
<label>
|
||||
Пароль
|
||||
<input type="password" />
|
||||
</label>
|
||||
|
||||
<noscript id="error">
|
||||
Эта форма не будет работать без JavaScript.
|
||||
</noscript>
|
||||
<span id="error"> </span>
|
||||
<button type="submit"><span>Отправить</span></button>
|
||||
|
||||
<a href="/register"
|
||||
>У вас нет учётной записи? Зарегистрируйтесь сейчас!</a
|
||||
>
|
||||
</form>
|
||||
</StarlightPage>
|
||||
|
||||
<script>
|
||||
const params = new URLSearchParams(window.location.search)
|
||||
for (const name of ["redirect_uri", "state", "nonce"]) {
|
||||
const input = document.querySelector(
|
||||
`input[name="${name}"]`
|
||||
) as HTMLInputElement
|
||||
if (input && params.has(name)) input.value = params.get(name)!
|
||||
}
|
||||
|
||||
const form = document.querySelector("form")!
|
||||
const error = document.querySelector("#error")! as HTMLSpanElement
|
||||
form.addEventListener("submit", async (e) => {
|
||||
e.preventDefault()
|
||||
|
||||
error.style.display = "none"
|
||||
|
||||
try {
|
||||
const username = (
|
||||
form.querySelector('[type="text"]') as HTMLInputElement
|
||||
).value
|
||||
const password = (
|
||||
form.querySelector('[type="password"]') as HTMLInputElement
|
||||
).value
|
||||
|
||||
const session =
|
||||
localStorage.getItem("session") ?? crypto.randomUUID()
|
||||
localStorage.setItem("session", session)
|
||||
|
||||
const res = await fetch(
|
||||
"https://matrix.federated.nexus/_matrix/client/v3/login",
|
||||
{
|
||||
method: "POST",
|
||||
headers: { "Content-Type": "application/json" },
|
||||
body: JSON.stringify({
|
||||
type: "m.login.password",
|
||||
device_id: session,
|
||||
initial_device_display_name: `Federated Nexus Login from ${navigator.userAgent}`,
|
||||
identifier: { type: "m.id.user", user: username },
|
||||
password,
|
||||
}),
|
||||
}
|
||||
)
|
||||
|
||||
if (!res.ok) {
|
||||
throw new Error((await res.json())["error"])
|
||||
}
|
||||
|
||||
const data = await res.json()
|
||||
|
||||
const id = form.querySelector(
|
||||
'input[name="user_id"]'
|
||||
) as HTMLInputElement
|
||||
id.value = data.user_id
|
||||
|
||||
const token = form.querySelector(
|
||||
'input[name="access_token"]'
|
||||
) as HTMLInputElement
|
||||
token.value = data.access_token
|
||||
|
||||
form.submit()
|
||||
} catch (err: any) {
|
||||
error.textContent = err.message || "Login failed"
|
||||
}
|
||||
})
|
||||
</script>
|
26
src/pages/ru-ru/register.astro
Normal file
|
@ -0,0 +1,26 @@
|
|||
---
|
||||
import StarlightPage from "@astrojs/starlight/components/StarlightPage.astro"
|
||||
import "../../styles/page.css"
|
||||
---
|
||||
|
||||
<StarlightPage
|
||||
frontmatter={{ title: "Регистрация в Federated Nexus", template: "splash" }}
|
||||
>
|
||||
<form method="post" action="https://register.federated.nexus">
|
||||
<label>
|
||||
Имя пользователя (только буквы и цифры, без пробелов)
|
||||
<input
|
||||
name="username"
|
||||
type="text"
|
||||
required
|
||||
pattern="^[A-Za-z0-9]+$"
|
||||
/>
|
||||
</label>
|
||||
<label>
|
||||
E-mail
|
||||
<input name="email" type="email" required />
|
||||
</label>
|
||||
|
||||
<button type="submit"><span>Отправить</span></button>
|
||||
</form>
|
||||
</StarlightPage>
|
14
src/pages/ru-ru/success.astro
Normal file
|
@ -0,0 +1,14 @@
|
|||
---
|
||||
import StarlightPage from "@astrojs/starlight/components/StarlightPage.astro"
|
||||
import "../../styles/page.css"
|
||||
---
|
||||
|
||||
<StarlightPage
|
||||
frontmatter={{
|
||||
title: "Успешная регистрация в Federated Nexus",
|
||||
template: "splash",
|
||||
}}
|
||||
>
|
||||
После одобрения вы получите электронное письмо с именем пользователя и
|
||||
паролем. Одобрение обычно занимает менее двух рабочих дней.
|
||||
</StarlightPage>
|
14
src/pages/success.astro
Normal file
|
@ -0,0 +1,14 @@
|
|||
---
|
||||
import StarlightPage from "@astrojs/starlight/components/StarlightPage.astro"
|
||||
import "../styles/page.css"
|
||||
---
|
||||
|
||||
<StarlightPage
|
||||
frontmatter={{
|
||||
title: "Successfully Registered for Federated Nexus",
|
||||
template: "splash",
|
||||
}}
|
||||
>
|
||||
Once approved, you will receive an email with a username and password.
|
||||
Approval usually takes less than two business days.
|
||||
</StarlightPage>
|
16
src/pages/uk-ua/failure.astro
Normal file
|
@ -0,0 +1,16 @@
|
|||
---
|
||||
import StarlightPage from "@astrojs/starlight/components/StarlightPage.astro"
|
||||
import "../../styles/page.css"
|
||||
---
|
||||
|
||||
<StarlightPage
|
||||
frontmatter={{
|
||||
title: "Реєстрація не вдалася",
|
||||
template: "splash",
|
||||
}}
|
||||
>
|
||||
Під час реєстрації сталася помилка. Спробуйте пізніше, а якщо помилка не
|
||||
зникне, приєднайтеся до нашої <a
|
||||
href="https://matrix.to/#/#community:federated.nexus">кімнати Matrix</a
|
||||
> і повідомте мене.
|
||||
</StarlightPage>
|
100
src/pages/uk-ua/login.astro
Normal file
|
@ -0,0 +1,100 @@
|
|||
---
|
||||
import StarlightPage from "@astrojs/starlight/components/StarlightPage.astro"
|
||||
import "../../styles/page.css"
|
||||
---
|
||||
|
||||
<StarlightPage
|
||||
frontmatter={{ title: "Вхід до Federated Nexus", template: "splash" }}
|
||||
>
|
||||
<form method="post" action="https://auth.federated.nexus/login">
|
||||
<input type="hidden" name="state" />
|
||||
<input type="hidden" name="nonce" />
|
||||
<input type="hidden" name="user_id" />
|
||||
<input type="hidden" name="access_token" />
|
||||
<input type="hidden" name="redirect_uri" />
|
||||
|
||||
<label>
|
||||
Ім'я користувача
|
||||
<input type="text" />
|
||||
</label>
|
||||
<label>
|
||||
Пароль
|
||||
<input type="password" />
|
||||
</label>
|
||||
|
||||
<noscript id="error">
|
||||
Ця форма не буде працювати без JavaScript.
|
||||
</noscript>
|
||||
<span id="error"> </span>
|
||||
<button type="submit"><span>Надіслати</span></button>
|
||||
|
||||
<a href="/register">Не маєте облікового запису? Зареєструйтесь зараз!</a
|
||||
>
|
||||
</form>
|
||||
</StarlightPage>
|
||||
|
||||
<script>
|
||||
const params = new URLSearchParams(window.location.search)
|
||||
for (const name of ["redirect_uri", "state", "nonce"]) {
|
||||
const input = document.querySelector(
|
||||
`input[name="${name}"]`
|
||||
) as HTMLInputElement
|
||||
if (input && params.has(name)) input.value = params.get(name)!
|
||||
}
|
||||
|
||||
const form = document.querySelector("form")!
|
||||
const error = document.querySelector("#error")! as HTMLSpanElement
|
||||
form.addEventListener("submit", async (e) => {
|
||||
e.preventDefault()
|
||||
|
||||
error.style.display = "none"
|
||||
|
||||
try {
|
||||
const username = (
|
||||
form.querySelector('[type="text"]') as HTMLInputElement
|
||||
).value
|
||||
const password = (
|
||||
form.querySelector('[type="password"]') as HTMLInputElement
|
||||
).value
|
||||
|
||||
const session =
|
||||
localStorage.getItem("session") ?? crypto.randomUUID()
|
||||
localStorage.setItem("session", session)
|
||||
|
||||
const res = await fetch(
|
||||
"https://matrix.federated.nexus/_matrix/client/v3/login",
|
||||
{
|
||||
method: "POST",
|
||||
headers: { "Content-Type": "application/json" },
|
||||
body: JSON.stringify({
|
||||
type: "m.login.password",
|
||||
device_id: session,
|
||||
initial_device_display_name: `Federated Nexus Login from ${navigator.userAgent}`,
|
||||
identifier: { type: "m.id.user", user: username },
|
||||
password,
|
||||
}),
|
||||
}
|
||||
)
|
||||
|
||||
if (!res.ok) {
|
||||
throw new Error((await res.json())["error"])
|
||||
}
|
||||
|
||||
const data = await res.json()
|
||||
|
||||
const id = form.querySelector(
|
||||
'input[name="user_id"]'
|
||||
) as HTMLInputElement
|
||||
id.value = data.user_id
|
||||
|
||||
const token = form.querySelector(
|
||||
'input[name="access_token"]'
|
||||
) as HTMLInputElement
|
||||
token.value = data.access_token
|
||||
|
||||
form.submit()
|
||||
} catch (err: any) {
|
||||
error.textContent = err.message || "Login failed"
|
||||
}
|
||||
})
|
||||
</script>
|
26
src/pages/uk-ua/register.astro
Normal file
|
@ -0,0 +1,26 @@
|
|||
---
|
||||
import StarlightPage from "@astrojs/starlight/components/StarlightPage.astro"
|
||||
import "../../styles/page.css"
|
||||
---
|
||||
|
||||
<StarlightPage
|
||||
frontmatter={{ title: "Реєстрація в Federated Nexus", template: "splash" }}
|
||||
>
|
||||
<form method="post" action="https://register.federated.nexus">
|
||||
<label>
|
||||
Ім'я користувача (тільки буквено-цифрові символи, без пробілів)
|
||||
<input
|
||||
name="username"
|
||||
type="text"
|
||||
required
|
||||
pattern="^[A-Za-z0-9]+$"
|
||||
/>
|
||||
</label>
|
||||
<label>
|
||||
E-mail
|
||||
<input name="email" type="email" required />
|
||||
</label>
|
||||
|
||||
<button type="submit"><span>Надіслати</span></button>
|
||||
</form>
|
||||
</StarlightPage>
|
14
src/pages/uk-ua/success.astro
Normal file
|
@ -0,0 +1,14 @@
|
|||
---
|
||||
import StarlightPage from "@astrojs/starlight/components/StarlightPage.astro"
|
||||
import "../../styles/page.css"
|
||||
---
|
||||
|
||||
<StarlightPage
|
||||
frontmatter={{
|
||||
title: "Успішна реєстрація в Federated Nexus",
|
||||
template: "splash",
|
||||
}}
|
||||
>
|
||||
Після затвердження ви отримаєте електронний лист з іменем користувача та
|
||||
паролем. Зазвичай затвердження займає менше двох робочих днів.
|
||||
</StarlightPage>
|
|
@ -3,10 +3,9 @@ body {
|
|||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
& form {
|
||||
& main form {
|
||||
& * {
|
||||
display: block;
|
||||
|
||||
max-width: 40rem;
|
||||
width: 100%;
|
||||
}
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"extends": "astro/tsconfigs/strict",
|
||||
"include": [".astro/types.d.ts", "**/*"],
|
||||
"exclude": ["dist"]
|
||||
"extends": "astro/tsconfigs/strict",
|
||||
"include": [".astro/types.d.ts", "**/*"],
|
||||
"exclude": ["dist"]
|
||||
}
|
||||
|
|