From 63b7153150a57702ecadc42efe9b63965b57a38a Mon Sep 17 00:00:00 2001 From: MrlingXD <90316914+wling-art@users.noreply.github.com> Date: Tue, 16 Dec 2025 19:34:22 +0800 Subject: [PATCH 01/42] =?UTF-8?q?=F0=9F=8E=A8=20=E9=87=8D=E5=91=BD?= =?UTF-8?q?=E5=90=8D=E5=B9=B6=E8=BF=81=E7=A7=BB=E6=96=87=E6=A1=A3=E8=B7=AF?= =?UTF-8?q?=E5=BE=84=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env | 1 - .gitignore | 28 +- .imgbotconfig | 5 - .npmrc | 2 - .vscode/extensions.json | 8 + .vscode/launch.json | 11 + astro.config.ts | 61 + docs-bedrock/misc/dragonfly.md | 20 - .../super-basic/server-core-choose.md | 144 - .../setup/velocity-ctd/velocity-ctd.md | 132 - .../basic-plugins/sunlight/sunlight.md | 45 - .../process/plugin/misc/tab-scoreboard/tab.md | 574 - .../placeholderapi/placeholderapi.md | 234 - docs-java/start/server-core-choose/plugin.md | 239 - docusaurus.config.ts | 428 - package.json | 77 +- pnpm-lock.yaml | 21224 +++------------- postcss-plugins/fix-align-items.js | 23 - postcss.config.js | 5 - {static => public}/favicon.ico | Bin sidebars.js | 6 - {static/img => src/assets}/book.png | Bin {static/img => src/assets}/logo.svg | 0 .../img => src/assets}/nitwikit-banner.png | Bin src/clientModules/adsModules.js | 195 - src/clientModules/routeModules.js | 17 - src/clientModules/themeModules.scss | 95 - src/clientModules/themeModules.ts | 115 - src/clientModules/tocSmoothScroll.ts | 98 - src/components/ContributorCard/index.tsx | 225 - src/components/ContributorCard/styles.css | 234 - src/components/GlobalContent.js | 13 - src/components/HeroBackground.tsx | 36 - src/components/HomepageFeatures/index.js | 33 - .../HomepageFeatures/styles.module.css | 66 - src/components/SponsorCard/index.jsx | 92 - src/components/SponsorCard/styles.css | 195 - src/components/StructureExplorer.tsx | 190 - src/components/comment/index.jsx | 51 - src/content.config.ts | 7 + .../content/docs/about/_assets}/me.png | Bin {docs-about => src/content/docs/about}/ad.md | 0 .../content/docs/about}/arch.md | 0 .../content/docs/about}/contributors.md | 0 .../content/docs/about}/intro.md | 2 +- .../content/docs/about}/sponsor.md | 0 .../content/docs/about}/timeline.mdx | 0 .../content/docs/bedrock}/bds/bds.md | 0 .../bedrock}/bds/preparation/preparation.md | 0 .../bedrock}/bds/preparation/text-editor.md | 0 .../bedrock}/bds/preparation/vcruntime.md | 0 .../docs/bedrock}/bds/preparation/websites.md | 0 .../bedrock}/bds/process/bdsx/bdsx-install.md | 0 .../docs/bedrock}/bds/process/bdsx/bdsx.md | 0 .../bds/process/endstone/_assets}/1-1.png | Bin .../bds/process/endstone/_assets}/1-2.png | Bin .../bds/process/endstone/_assets}/1-3.png | Bin .../bds/process/endstone/_assets}/1-4.png | Bin .../bds/process/endstone/_assets}/1-5.png | Bin .../bds/process/endstone/_assets}/1-6.png | Bin .../bds/process/endstone/_assets}/1-7.png | Bin .../bds/process/endstone/_assets}/1-8.png | Bin .../bds/process/endstone/_assets}/1-9.png | Bin .../bds/process/endstone/_assets}/1.png | Bin .../bds/process/endstone/_assets}/10.png | Bin .../bds/process/endstone/_assets}/2-1.png | Bin .../bds/process/endstone/_assets}/2-10.png | Bin .../bds/process/endstone/_assets}/2-11.png | Bin .../bds/process/endstone/_assets}/2-2.png | Bin .../bds/process/endstone/_assets}/2-3.png | Bin .../bds/process/endstone/_assets}/2-4.png | Bin .../bds/process/endstone/_assets}/2-5.png | Bin .../bds/process/endstone/_assets}/2-6.png | Bin .../bds/process/endstone/_assets}/2-7.png | Bin .../bds/process/endstone/_assets}/2-8.png | Bin .../bds/process/endstone/_assets}/2-9.png | Bin .../bds/process/endstone/_assets}/2.png | Bin .../bds/process/endstone/_assets}/3.png | Bin .../bds/process/endstone/_assets}/4.png | Bin .../bds/process/endstone/_assets}/5.png | Bin .../bds/process/endstone/_assets}/6.png | Bin .../bds/process/endstone/_assets}/7.png | Bin .../bds/process/endstone/_assets}/8.png | Bin .../bds/process/endstone/_assets}/9.png | Bin .../bds/process/endstone/endstone-install.md | 54 +- .../bds/process/endstone/endstone-plugins.md | 30 +- .../bedrock}/bds/process/endstone/endstone.md | 0 .../levilamina/legacy-script-engine.md | 0 .../process/levilamina/levilamina-install.md | 0 .../process/levilamina/levilamina-plugins.mdx | 0 .../bds/process/levilamina/levilamina.md | 0 .../bds/process/liteloader-bds/install.md | 0 .../process/liteloader-bds/liteloader-bds.md | 0 .../bds/process/liteloader-bds/plugins.md | 0 .../plugins/_assets}/levilamina-is-coming.png | Bin .../_assets}/levilamina-will-archived.png | Bin .../process/plugins/how-to-load-plugins.md | 0 .../process/plugins/plugins-loader-choose.md | 24 +- .../bedrock}/bds/process/plugins/plugins.md | 0 .../docs/bedrock}/bds/process/process.md | 0 .../docs/bedrock}/bds/start/basic/basic.md | 0 .../bds/start/basic/server-dir-structure.mdx | 0 .../content/docs/bedrock}/bds/start/start.md | 0 .../content/docs/bedrock}/intro.md | 0 .../docs/bedrock/misc/_assets}/dragonfly.png | Bin .../content/docs/bedrock}/misc/allay/allay.md | 0 .../docs/bedrock}/misc/allay/description.md | 0 .../docs/bedrock}/misc/allay/preparation.md | 0 src/content/docs/bedrock/misc/dragonfly.md | 20 + .../content/docs/bedrock}/misc/mcpeserver.md | 0 .../content/docs/bedrock}/misc/misc.md | 0 .../bedrock}/misc/preparation/preparation.md | 0 .../bedrock}/misc/preparation/text-editor.md | 0 .../bedrock}/misc/preparation/websites.md | 0 .../content/docs/bedrock}/nukkit/history.md | 0 .../content/docs/bedrock}/nukkit/nukkit.md | 0 .../choose-and-download-and-install-java.md | 0 .../nukkit/preparation/preparation.md | 0 .../nukkit/preparation/text-editor.md | 0 .../bedrock}/nukkit/preparation/websites.md | 0 .../docs/bedrock}/nukkit/start/basic/basic.md | 0 .../start/basic/server-file-structure.mdx | 0 .../nukkit/start/nukkitmot/description.md | 0 .../nukkit/start/nukkitmot/nukkitmot.md | 0 .../nukkit/start/nukkitx/description.md | 0 .../bedrock}/nukkit/start/nukkitx/nukkitx.md | 0 .../start/pm1e/_assets}/controversy.png | Bin .../bedrock}/nukkit/start/pm1e/controversy.md | 2 +- .../bedrock}/nukkit/start/pm1e/description.md | 0 .../docs/bedrock}/nukkit/start/pm1e/pm1e.md | 0 .../bedrock}/nukkit/start/pnx/description.md | 0 .../docs/bedrock}/nukkit/start/pnx/pnx.md | 0 .../docs/bedrock}/nukkit/start/start.md | 0 .../docs/bedrock}/pocketmine/description.md | 0 .../docs/bedrock}/pocketmine/pocketmine.md | 0 .../choose-and-download-and-install-php.md | 0 .../pocketmine/preparation/preparation.md | 0 .../pocketmine/preparation/text-editor.md | 0 .../pocketmine/preparation/websites.md | 0 .../_assets}/bedrock-core-running.png | Bin .../_assets}/nukkit-core-running.png | Bin .../_assets}/pocketminemp-core-running.png | Bin .../_assets}/powernukkitx-core-rip.png | Bin .../_assets}/powernukkitx-core-running.png | Bin .../super-basic/protocol-version-number.md | 0 .../bedrock/super-basic/server-core-choose.md | 144 + .../docs/bedrock}/super-basic/server-type.md | 0 .../docs/bedrock}/super-basic/super-basic.md | 0 .../docs/bedrock}/super-basic/version.md | 0 .../docs/bedrock}/waterdogepe/preparation.md | 0 .../docs/bedrock}/waterdogepe/waterdogepe.md | 0 ...1\344\270\234\350\245\277\344\272\206.png" | Bin .../1.png" | Bin .../2.png" | Bin .../3.png" | Bin .../content/docs/general}/advance/advance.md | 0 .../content/docs/general}/advance/arthas.md | 0 .../content/docs/general}/advance/bot/bot.md | 0 .../docs/general}/advance/bot/framework.md | 0 .../docs/general}/advance/bot/general.md | 0 .../docs/general}/advance/bot/plugin.md | 0 .../content/docs/general}/advance/docker.md | 0 .../docs/general}/advance/domain-and-dns.md | 14 +- .../content/docs/general}/advance/frp.md | 0 .../\345\274\200\346\234\215/1.png" | Bin .../\345\274\200\346\234\215/2.png" | Bin .../\345\274\200\346\234\215/3.png" | Bin .../\345\274\200\346\234\215/4.png" | Bin .../\345\274\200\346\234\215/5.png" | Bin .../\345\274\200\346\234\215/6.png" | Bin .../\345\274\200\346\234\215/7.png" | Bin .../\345\274\200\346\234\215/8.png" | Bin .../1.png" | Bin .../2.png" | Bin .../3.png" | Bin .../4.png" | Bin .../1.png" | Bin .../2.png" | Bin .../3.png" | Bin .../4.png" | Bin .../5.png" | Bin .../6.png" | Bin .../7.png" | Bin .../1.png" | Bin .../2.png" | Bin .../WindTerm.png" | Bin .../macOS_terminal.png" | Bin .../termux_screenshot.jpg" | Bin .../docs/general}/advance/linux/backup.md | 0 .../advance/linux/connect-to-server.md | 14 +- .../advance/linux/database-installation.md | 14 +- .../general}/advance/linux/keep-running.md | 0 .../docs/general}/advance/linux/linux.md | 0 .../docs/general}/advance/linux/start.md | 22 +- .../general}/advance/management/management.md | 0 .../money-management/investment-psychology.md | 0 .../money-management/money-management.md | 0 .../sustainable-development.md | 0 .../player-management/announcement.md | 0 .../management/player-management/auditing.md | 0 .../management/player-management/chunkbase.md | 0 .../player-management/client-distribution.mdx | 0 .../management/player-management/feedback.md | 0 .../management/player-management/platform.md | 0 .../player-management/player-management.md | 0 .../management/player-management/rules.md | 0 .../management/player-management/whitelist.md | 0 .../management/player-management/wiki.md | 0 .../general/advance/viaproxy/_assets}/img.png | Bin .../advance/viaproxy/_assets}/img_1.png | Bin .../advance/viaproxy/configuration.mdx | 0 .../docs/general}/advance/viaproxy/index.md | 0 .../general}/advance/viaproxy/installation.md | 20 +- .../general}/advance/viaproxy/plugins/auth.md | 0 .../advance/viaproxy/plugins/compatibility.md | 0 .../advance/viaproxy/plugins/features.md | 0 .../advance/viaproxy/plugins/index.md | 0 .../advance/viaproxy/plugins/network.md | 0 .../general/advance/website/_assets}/img-.png | Bin .../advance/website/_assets}/img-2.png | Bin .../advance/website/_assets}/img-3.png | Bin .../general/advance/website/_assets}/img.png | Bin .../advance/website/_assets}/img_1.png | Bin .../advance/website/_assets}/img_10.png | Bin .../advance/website/_assets}/img_2.png | Bin .../advance/website/_assets}/img_3.png | Bin .../advance/website/_assets}/img_4.png | Bin .../advance/website/_assets}/img_5.png | Bin .../advance/website/_assets}/img_6.png | Bin .../advance/website/_assets}/img_7.png | Bin .../advance/website/_assets}/img_8.png | Bin .../advance/website/_assets}/img_9.png | Bin .../_assets/img\342\200\224\342\200\2241.png" | Bin ...210\252\345\233\276 2025-06-08 135158.png" | Bin .../docs/general}/advance/website/faq.md | 0 .../docs/general}/advance/website/install.md | 16 +- .../docs/general}/advance/website/plugins.md | 8 +- .../docs/general}/advance/website/prepare.md | 0 .../general}/advance/website/server-config.md | 8 +- .../advance/website/server-plugins.md | 6 +- .../docs/general}/advance/website/website.md | 2 +- .../general}/contribution/contribution.md | 0 .../docs/general}/contribution/image.md | 0 .../docs/general}/contribution/todos.md | 0 .../writing-specification/blank.md | 0 .../writing-specification/code-examples.md | 0 .../documentation-system.md | 0 .../writing-specification/numerical-value.md | 0 .../writing-specification/paragraph.md | 0 .../punctuation-marks.md | 0 .../writing-specification/reference.md | 0 .../writing-specification/text.md | 0 .../writing-specification/title.md | 0 .../writing-specification.md | 0 {docs => src/content/docs/general}/intro.md | 0 .../content/docs/general}/loss-thing.md | 2 +- .../HbuilderX\345\261\225\347\244\272.png" | Bin .../_assets/Npp\345\261\225\347\244\272.png" | Bin ...7\345\207\217\345\261\225\347\244\272.png" | Bin .../sublime\345\261\225\347\244\272.png" | Bin ...2\345\212\250\344\277\235\345\255\230.png" | Bin .../_assets/\347\231\275\347\202\271.png" | Bin .../general}/preparation/dumb-script-usage.md | 0 .../preparation/java/_assets}/Oracle-1.png | Bin .../preparation/java/_assets}/Oracle-2.png | Bin .../preparation/java/_assets}/Oracle-3.png | Bin .../preparation/java/_assets}/Oracle-4.png | Bin .../preparation/java/_assets}/Oracle-5.png | Bin .../preparation/java/_assets}/cmd-1.png | Bin .../preparation/java/_assets}/cmd-2.png | Bin .../java/_assets}/environment-1.png | Bin .../java/_assets}/environment-11-1.png | Bin .../java/_assets}/environment-11-2.png | Bin .../java/_assets}/environment-2.png | Bin .../java/_assets}/environment-3.png | Bin .../java/_assets}/environment-4.png | Bin .../java/_assets}/environment-new-1.png | Bin .../java/_assets}/environment-new-2.png | Bin .../java/_assets}/environment-no.png | Bin .../preparation/java/_assets}/lava.jpg | Bin .../preparation/java/_assets}/path-1.png | Bin .../choose-and-download-and-install-java.md | 24 +- .../general}/preparation/java/environment.md | 22 +- .../docs/general}/preparation/java/faq.md | 0 .../docs/general}/preparation/java/java.md | 2 +- .../docs/general}/preparation/java/path.md | 6 +- .../docs/general}/preparation/java/sdkman.md | 0 .../docs/general}/preparation/preparation.md | 0 .../docs/general}/preparation/services.md | 0 .../docs/general}/preparation/text-editor.md | 14 +- ...3\347\264\240\350\241\250\347\216\260.jpg" | Bin ...2\347\232\204\346\257\224\344\276\213.jpg" | Bin ...6\350\212\202\345\210\206\345\270\203.jpg" | Bin ...6\344\275\223\347\272\271\347\220\206.jpg" | Bin ...3\350\212\202\351\235\242\346\235\277.jpg" | Bin ...4\351\223\201\345\202\200\345\204\241.jpg" | Bin ...1\345\235\227\347\272\271\347\220\206.jpg" | Bin ...7\347\212\266\350\241\250\347\216\260.jpg" | Bin ...7\347\232\204\351\270\241\350\233\213.jpg" | Bin .../general/process/_assets/\346\241\266.jpg" | Bin ...2\347\232\204\350\234\234\350\204\276.jpg" | Bin .../_assets/\346\265\267\345\270\246.jpg" | Bin ...7\346\264\213\344\271\213\345\277\203.jpg" | Bin ...0\345\203\217\347\264\240\347\202\271.jpg" | Bin ...1\345\223\201\347\272\271\347\220\206.jpg" | Bin ...7\351\275\277\350\241\250\347\216\260.jpg" | Bin .../\347\234\237\344\272\272vsSteve.jpg" | Bin ...345\275\242UV\350\264\264\345\233\276.jpg" | Bin .../_assets/\350\207\252\345\212\250UV.jpg" | Bin .../_assets/\350\213\271\346\236\234.jpg" | Bin ...6\345\210\253\347\272\271\347\220\206.jpg" | Bin .../\351\222\273\347\237\263\345\211\221.jpg" | Bin .../general}/process/create-art-assets.md | 46 +- .../general/process/database/_assets}/1.png | Bin .../general/process/database/_assets}/10.png | Bin .../general/process/database/_assets}/11.png | Bin .../general/process/database/_assets}/12.png | Bin .../general/process/database/_assets}/13.png | Bin .../general/process/database/_assets}/14.png | Bin .../general/process/database/_assets}/15.png | Bin .../general/process/database/_assets}/16.png | Bin .../general/process/database/_assets}/17.png | Bin .../general/process/database/_assets}/18.png | Bin .../general/process/database/_assets}/19.png | Bin .../general/process/database/_assets}/2.png | Bin .../general/process/database/_assets}/20.png | Bin .../general/process/database/_assets}/21.png | Bin .../general/process/database/_assets}/22.png | Bin .../general/process/database/_assets}/23.png | Bin .../general/process/database/_assets}/24.png | Bin .../general/process/database/_assets}/25.png | Bin .../general/process/database/_assets}/26.png | Bin .../general/process/database/_assets}/27.png | Bin .../general/process/database/_assets}/28.png | Bin .../general/process/database/_assets}/29.png | Bin .../general/process/database/_assets}/3.png | Bin .../general/process/database/_assets}/30.png | Bin .../general/process/database/_assets}/31.png | Bin .../general/process/database/_assets}/32.png | Bin .../general/process/database/_assets}/33.png | Bin .../general/process/database/_assets}/34.png | Bin .../general/process/database/_assets}/35.png | Bin .../general/process/database/_assets}/36.png | Bin .../general/process/database/_assets}/37.png | Bin .../general/process/database/_assets}/38.png | Bin .../general/process/database/_assets}/39.png | Bin .../general/process/database/_assets}/4.png | Bin .../general/process/database/_assets}/40.png | Bin .../general/process/database/_assets}/41.png | Bin .../general/process/database/_assets}/42.png | Bin .../general/process/database/_assets}/44.png | Bin .../general/process/database/_assets}/45.png | Bin .../general/process/database/_assets}/46.png | Bin .../general/process/database/_assets}/47.png | Bin .../general/process/database/_assets}/48.png | Bin .../general/process/database/_assets}/49.png | Bin .../general/process/database/_assets}/5.png | Bin .../general/process/database/_assets}/50.png | Bin .../general/process/database/_assets}/51.png | Bin .../general/process/database/_assets}/52.png | Bin .../general/process/database/_assets}/53.png | Bin .../general/process/database/_assets}/6.png | Bin .../general/process/database/_assets}/7.png | Bin .../general/process/database/_assets}/8.png | Bin .../general/process/database/_assets}/9.png | Bin .../docs/general}/process/database/backup.md | 40 +- .../general}/process/database/configure.md | 0 .../general}/process/database/database.md | 0 .../docs/general}/process/database/install.md | 58 +- .../general}/process/database/uninstall.md | 0 .../docs/general}/process/database/use.md | 74 +- .../general/process/deploy/_assets}/mcsm.png | Bin ...4\351\276\231\351\235\242\346\235\277.png" | Bin .../cpu.jpg" | Bin .../1.png" | Bin .../2.png" | Bin .../3.png" | Bin .../deploy/apply-for-public-ip-address.md | 0 .../process/deploy/connect-to-the-cloud.md | 6 +- .../docs/general}/process/deploy/deploy.md | 0 .../process/deploy/intranet-penetration.md | 0 .../process/deploy/optional-methods.md | 4 +- .../process/deploy/purchase-server.md | 2 +- .../maintenance/_assets}/angryopenfrp.jpg | Bin .../how-to-defend-against-cyber-attacks.md | 181 +- .../process/maintenance/maintenance.md | 0 .../maintenance/plugin-troubleshooting.md | 0 ...2-1de0bbf4-7d26-4beb-b010-2f4d88efdba4.png | Bin ...4-18be416f-daf5-4ae9-8560-8412fda83dc6.png | Bin ...ef42d10ca2ce57484ef606117640460249e48e.png | Bin ...5a21073ee817018bffff06e55d12da55b2a5b0.png | Bin .../process/map/_assets}/Grettzzz-1.JPG | Bin .../process/map/_assets}/Grettzzz-2.png | Bin .../process/map/_assets}/Grettzzz-3.png | Bin .../docs/general/process/map/_assets}/bb.png | Bin .../process/map/_assets}/bluemap-demo.png | Bin .../docs/general/process/map/_assets}/bs.jpg | Bin .../docs/general/process/map/_assets}/bs2.jpg | Bin .../process/map/_assets}/dynmap-demo.png | Bin .../general/process/map/_assets}/erra.jpg | Bin .../general/process/map/_assets}/iris.png | Bin .../process/map/_assets}/laobaitu156-1.png | Bin .../process/map/_assets}/laobaitu156-2.png | Bin .../process/map/_assets}/laobaitu156-3.png | Bin .../docs/general/process/map/_assets}/mc.gif | Bin .../process/map/_assets}/mcaselector.png | Bin .../process/map/_assets}/overviewer-demo.png | Bin .../process/map/_assets}/squaremap-demo.png | Bin .../docs/general/process/map/_assets}/st.png | Bin .../docs/general/process/map/_assets}/st2.png | Bin .../docs/general/process/map/_assets}/t.png | Bin .../docs/general/process/map/_assets}/t2.png | Bin .../general/process/map/_assets}/terra2.png | Bin .../process/map/_assets}/z_wuxin-1.png | Bin .../process/map/_assets}/z_wuxin-2.png | Bin ...345\260\270\346\234\253\346\227\245-1.png" | Bin ...345\260\270\346\234\253\346\227\245-2.png" | Bin ...345\260\270\346\234\253\346\227\245-3.png" | Bin ...345\260\270\346\234\253\346\227\245-4.png" | Bin ...345\260\270\346\234\253\346\227\245-5.png" | Bin ...345\260\270\346\234\253\346\227\245-6.png" | Bin ...345\260\270\346\234\253\346\227\245-7.png" | Bin .../docs/general}/process/map/convert.md | 2 +- .../content/docs/general}/process/map/map.md | 82 +- .../docs/general}/process/map/plugin.md | 36 +- .../docs/general}/process/map/purchase.md | 2 +- .../docs/general}/process/map/steal.md | 0 .../content/docs/general}/process/map/web.md | 8 +- .../content/docs/general}/process/panel.md | 0 .../content/docs/general}/process/process.md | 0 .../docs/general}/process/whitelist.md | 0 .../content/docs/general}/reading-guide.md | 0 .../docs/general/start/_assets}/qnmd_raw.png | Bin ...6\350\277\231\344\270\252\345\225\212.png" | Bin ...210\252\345\233\276 2025-02-07 182759.png" | Bin ...210\252\345\233\276 2025-02-07 182930.png" | Bin ...5\350\264\271\345\270\256\344\272\272.jpg" | Bin ...345\205\270\350\200\201\345\233\276-1.jpg" | Bin ...345\205\270\350\200\201\345\233\276-2.jpg" | Bin ...345\205\270\350\200\201\345\233\276-3.jpg" | Bin .../docs/general}/start/ask-for-help.md | 104 +- .../general/start/basic/_assets}/nogui.jpg | Bin .../\345\217\243\345\255\227\347\254\246.png" | Bin .../docs/general}/start/basic/basic.md | 0 .../docs/general}/start/basic/what-is-lag.md | 0 .../docs/general}/start/basic/what-is-log.md | 0 .../start/basic/what-is-messy-code.md | 2 +- .../start/basic/what-is-permission.md | 0 .../general}/start/basic/what-is-plugin.md | 0 .../general}/start/basic/what-is-server.md | 0 .../start/basic/what-is-startup-script.md | 16 +- .../content/docs/general}/start/start.md | 0 .../content/docs/java}/advance/advance.md | 0 .../content/docs/java}/advance/bot.md | 0 .../docs/java}/advance/chinese-username.md | 0 .../content/docs/java}/advance/command-yml.md | 0 .../docs/java}/advance/domain-registration.md | 0 .../content/docs/java}/advance/linux.md | 0 .../docs/java}/advance/login-choices.md | 0 .../content/docs/java}/advance/slime-world.md | 0 .../docs/java}/advance/yaml/extention.md | 0 .../docs/java}/advance/yaml/general.md | 0 .../content/docs/java}/advance/yaml/yaml.md | 0 {docs-java => src/content/docs/java}/intro.md | 0 .../docs/java/preparation/_assets}/motd.png | Bin .../java/preparation/_assets}/spigotmc.png | Bin .../choose-and-download-and-install-java.md | 0 .../java}/preparation/dumb-script-usage.md | 0 .../docs/java}/preparation/preparation.md | 0 .../docs/java}/preparation/services.md | 0 .../docs/java}/preparation/text-editor.md | 0 .../docs/java}/preparation/websites.md | 15 +- .../docs/java}/process/create-art-assets.md | 0 ...0\347\276\244\347\273\204\346\234\215.png" | Bin .../java}/process/cross-server/command.md | 0 .../process/cross-server/cross-server.md | 2 +- .../process/cross-server/hide-the-real-ip.md | 0 .../java}/process/cross-server/join-server.md | 0 .../cross-server/plugin/backend-only.md | 0 .../process/cross-server/plugin/plugin.md | 0 .../plugin/proxy-backend-mandatory.md | 0 .../plugin/proxy-backend-optional.md | 0 .../process/cross-server/plugin/proxy-only.md | 0 .../java}/process/cross-server/precautions.md | 0 .../cross-server/server-core-choose.md | 0 .../setup/_assets}/BungeeCord.png | Bin .../cross-server/setup/_assets}/Velocity.png | Bin .../setup/bungeecord/bungeecord.md | 2 +- .../setup/bungeecord/config-yml.md | 0 .../cross-server/setup/bungeecord/lobby.md | 0 .../cross-server/setup/bungeecord/setup.md | 0 .../java}/process/cross-server/setup/setup.md | 0 .../cross-server/setup/transfer/setup.md | 0 .../cross-server/setup/transfer/transfer.md | 0 .../setup/velocity-ctd/features.md | 0 .../cross-server/setup/velocity-ctd/lobby.md | 0 .../cross-server/setup/velocity-ctd/setup.md | 0 .../setup/velocity-ctd/velocity-ctd.md | 132 + .../setup/velocity-ctd/velocity-toml.md | 0 .../cross-server/setup/velocity/lobby.md | 0 .../cross-server/setup/velocity/setup.md | 0 .../setup/velocity/velocity-toml.md | 0 .../cross-server/setup/velocity/velocity.md | 14 +- .../content/docs/java}/process/dashboard.md | 0 .../content/docs/java}/process/database.md | 0 .../_assets}/anticheat/antixray-mode1-1.png | Bin .../_assets}/anticheat/antixray-mode2-1.png | Bin .../_assets}/anticheat/antixray-mode3-1.png | Bin .../anticheat/antixray-nerher-mode1.png | Bin .../anticheat/antixray-nerher-mode3.png | Bin .../anticheat/antixray-nether-mode2.png | Bin .../_assets}/anticheat/talentsaclogo.png | Bin .../maintenance/anticheat/_assets}/img.png | Bin .../maintenance/anticheat/_assets}/img_1.png | Bin .../maintenance/anticheat/anti-crash.md | 0 .../maintenance/anticheat/anticheat.md | 0 .../maintenance/anticheat/anticheatplugins.md | 68 +- .../process/maintenance/anticheat/antixray.md | 20 +- .../process/maintenance/anticheat/honeypot.md | 0 .../process/maintenance/anticheat/rng.md | 0 .../docs/java}/process/maintenance/backup.md | 0 .../how-to-defend-against-cyber-attacks.md | 0 .../lang/javascript/extend/extend.md | 0 .../lang/javascript/extend/graaljs.md | 0 .../lang/javascript/extend/nashorn.md | 0 .../maintenance/lang/javascript/javascript.md | 0 .../lang/kether/_assets}/Vulpecula/1.png | Bin .../lang/kether/_assets}/Vulpecula/2.png | Bin .../lang/kether/_assets}/Vulpecula/3.png | Bin .../lang/kether/_assets}/Vulpecula/4.png | Bin .../lang/kether/_assets}/Vulpecula/5.png | Bin .../lang/kether/_assets}/Vulpecula/6.png | Bin .../lang/kether/_assets}/Vulpecula/7.png | Bin .../lang/kether/_assets}/Vulpecula/8.png | Bin .../lang/kether/_assets}/Vulpecula/9.png | Bin .../maintenance/lang/kether/_assets}/if_1.png | Bin .../maintenance/lang/kether/_assets}/if_2.png | Bin .../maintenance/lang/kether/_assets}/if_3.png | Bin .../lang/kether/_assets}/inline.png | Bin .../lang/kether/_assets}/math_1.png | Bin .../lang/kether/_assets}/result.png | Bin .../lang/kether/_assets}/type_1.png | Bin .../lang/kether/_assets}/var_1.png | Bin .../lang/kether/_assets}/var_2.png | Bin .../lang/kether/_assets}/var_3.png | Bin .../lang/kether/_assets}/var_4.png | Bin .../lang/kether/_assets}/var_5.png | Bin .../lang/kether/_assets}/var_6.png | Bin .../lang/kether/_assets}/var_7.png | Bin .../lang/kether/_assets}/vul-check.png | Bin .../lang/kether/_assets}/vul-color.png | Bin .../lang/kether/_assets}/vul-papi.png | Bin .../lang/kether/_assets}/vul-perm.png | Bin .../lang/kether/_assets}/vul-permNot_1.png | Bin .../lang/kether/_assets}/vul-permNot_2.png | Bin .../lang/kether/_assets}/vul-tell.png | Bin .../lang/kether/_assets}/vul-tell_color.png | Bin .../lang/kether/_assets}/vul-tell_name.png | Bin .../lang/kether/_assets}/vul-tell_noColor.png | Bin .../kether/_assets}/vul-tell_papiNoInline.png | Bin .../_assets}/vul-tell_papiWithInline.png | Bin .../kether/_assets}/vul-tell_papiWithJoin.png | Bin .../lang/kether/_assets}/vul-tell_tell.png | Bin .../lang/kether/_assets}/web-tell.png | Bin .../_assets/\345\206\222\346\261\227.jpg" | Bin .../_assets/\346\213\254\345\217\267.png" | Bin .../\346\255\243\347\273\217\347\254\221.jpg" | Bin .../_assets/\347\227\264\345\221\206.jpg" | Bin .../process/maintenance/lang/kether/basic.md | 34 +- .../process/maintenance/lang/kether/if.md | 24 +- .../process/maintenance/lang/kether/kether.md | 0 .../process/maintenance/lang/kether/math.md | 14 +- .../process/maintenance/lang/kether/misc.md | 2 +- .../maintenance/lang/kether/preparation.md | 2 +- .../maintenance/lang/kether/variable.md | 16 +- .../maintenance/lang/kether/vulpecula.md | 18 +- .../java}/process/maintenance/lang/lang.md | 0 .../lang/skript/_assets}/QuerySubclasses.png | Bin .../lang/skript/_assets}/SearchEvent.png | Bin .../lang/skript/_assets}/SearchMethods.png | Bin .../lang/skript/_assets}/SkriptBasic1.png | Bin .../lang/skript/advanced-tutorials.md | 40 +- .../lang/skript/basic-tutorials.md | 132 +- .../process/maintenance/lang/skript/skript.md | 0 .../java}/process/maintenance/maintenance.md | 0 .../maintenance/optimize/_assets}/ummm.jpg | Bin .../spark_start.png" | Bin .../spark_stop.png" | Bin .../maintenance/optimize/ask-for-help.md | 4 +- .../java}/process/maintenance/optimize/go.mdx | 0 .../process/maintenance/optimize/img.png | Bin .../maintenance/optimize/jvm/common.md | 0 .../maintenance/optimize/jvm/dragonwell11.md | 0 .../maintenance/optimize/jvm/dragonwell8.md | 0 .../process/maintenance/optimize/jvm/graal.md | 0 .../process/maintenance/optimize/jvm/jvm.md | 0 .../maintenance/optimize/jvm/openj9.md | 0 .../process/maintenance/optimize/jvm/zing.md | 0 .../process/maintenance/optimize/kernel.md | 0 .../process/maintenance/optimize/optimize.md | 0 .../maintenance/optimize/optimized-plugin.md | 0 .../optimize/performance-analysis.md | 0 .../optimize/storage-space-optimization.md | 0 .../maintenance/resourcepack/_assets}/1.png | Bin .../maintenance/resourcepack/_assets}/2.png | Bin .../maintenance/resourcepack/_assets}/3.png | Bin .../maintenance/resourcepack/_assets}/4.png | Bin .../maintenance/resourcepack/_assets}/5.png | Bin .../maintenance/resourcepack/_assets}/6.png | Bin .../maintenance/resourcepack/_assets}/7.png | Bin .../maintenance/resourcepack/_assets}/8.png | Bin .../resourcepack/_assets}/blockbench.png | Bin .../resourcepack/_assets}/head.png | Bin .../resourcepack/_assets}/title.png | Bin .../resourcepack/_assets}/tooltip1.png | Bin .../resourcepack/_assets}/tooltip2.png | Bin .../process/maintenance/resourcepack/addon.md | 2 +- .../maintenance/resourcepack/compress.md | 0 ...b2c895c2af14fbc7e6989404d0ff7af64020ea.gif | Bin ...2f487d799270ea2e204de73236dda77d18f954.gif | Bin ...a53ea3a4d029784f4ed54d17a335e099b805b4.gif | Bin ...4a015981222b37bfa3b2324113d919a33b090f.png | Bin ...470cba6836ab471f19c8e788c513765de2d02c.png | Bin ...a7f51a86d1a313f1b41f27e021421adc93eec9.png | Bin ...b239e0689c433ef5a2c0e85f710e988bf1ba4e.gif | Bin ...658155424cd985553237821611dfdea040b166.gif | Bin .../plugins/_assets}/videoframe_1994.png | Bin .../plugins/_assets}/videoframe_931.png | Bin .../resourcepack/plugins/entity.md | 0 .../resourcepack/plugins/framework.md | 0 .../maintenance/resourcepack/plugins/hud.md | 10 +- .../maintenance/resourcepack/plugins/misc.md | 14 +- .../resourcepack/plugins/plugins.md | 0 .../resourcepack/plugins/tooltip.md | 2 +- .../resourcepack/plugins/vehicles.md | 0 .../maintenance/resourcepack/protect.md | 0 .../maintenance/resourcepack/resourcepack.md | 16 +- .../process/maintenance/resourcepack/send.md | 0 .../maintenance/resourcepack/software.md | 8 +- .../content/docs/java}/process/map.md | 0 .../java/process/mobile-player/_assets}/1.PNG | Bin .../java/process/mobile-player/_assets}/2.PNG | Bin .../java/process/mobile-player/_assets}/3.PNG | Bin .../java/process/mobile-player/_assets}/4.PNG | Bin .../process/mobile-player/_assets}/Alt_1.png | Bin .../process/mobile-player/_assets}/Alt_2.png | Bin .../process/mobile-player/_assets}/i4_1.png | Bin .../process/mobile-player/_assets}/i4_2.png | Bin .../process/mobile-player/_assets}/i4_3.png | Bin .../mobile-player/_assets}/iTunes_1.png | Bin .../mobile-player/_assets}/iTunes_2.png | Bin .../mobile-player/_assets}/troll-icon.jpg | Bin .../mobile-player/_assets}/troll-idid.PNG | Bin .../mobile-player/_assets}/troll-ui.PNG | Bin .../mobile-player/_assets}/trollstone_i.png | Bin .../mobile-player/_assets}/trollstone_v.png | Bin .../mobile-player/client/amethyst-ios.md | 32 +- .../mobile-player/client/android-all.md | 0 .../process/mobile-player/client/client.md | 0 .../java}/process/mobile-player/client/pcl.md | 0 .../mobile-player/client/pojav-android.md | 0 .../process/mobile-player/client/pojav-ios.md | 52 +- .../mobile-player/geyser/_assets}/geyser.png | Bin .../process/mobile-player/geyser/geyser.md | 2 +- .../introduction/_assets}/VersionChoose.png | Bin .../mobile-player/geyser/introduction/faq.md | 0 .../geyser/introduction/install.md | 36 +- .../geyser/introduction/introduction.md | 0 .../geyser/introduction/overview.md | 0 .../geyser/upgrade/_assets}/CIMM1.jpg | Bin .../geyser/upgrade/_assets}/CIMM2.jpg | Bin .../geyser/upgrade/_assets}/CIMM3.jpg | Bin .../geyser/upgrade/_assets}/CIMM4.jpg | Bin .../geyser/upgrade/_assets}/Geyser4.png | Bin .../geyser/upgrade/custom-item-model-map.md | 20 +- .../upgrade/extended/_assets}/Geyser5.png | Bin .../extended/_assets}/GeyserExtras.gif | Bin .../geyser/upgrade/extended/_assets}/img.png | Bin .../upgrade/extended/_assets}/img_1.png | Bin .../geyser/upgrade/extended/compatible.md | 0 .../geyser/upgrade/extended/extended.md | 2 +- .../geyser/upgrade/extended/fix.mdx | 63 +- .../geyser/upgrade/extended/more.md | 0 .../geyser/upgrade/geyser-skull.md | 0 .../geyser/upgrade/geysermeg4-supports.md | 0 .../mobile-player/geyser/upgrade/link.md | 0 .../mobile-player/geyser/upgrade/menu.md | 0 .../mobile-player/geyser/upgrade/slimefun.md | 4 +- .../mobile-player/geyser/upgrade/upgrade.md | 0 .../process/mobile-player/mobile-player.md | 0 ...2\344\273\266\345\210\227\350\241\250.png" | Bin .../plugin/game/_assets}/Dragon_Core/1.jpg | Bin .../plugin/game/_assets}/Germ_Engine/1.png | Bin .../plugin/game/_assets}/Germ_Engine/2.jpg | Bin .../plugin/game/_assets}/Germ_Engine/3.png | Bin .../plugin/game/_assets}/Germ_Engine/4.png | Bin .../plugin/game/_assets}/Germ_Engine/5.png | Bin .../plugin/game/_assets}/Germ_Engine/6.png | Bin .../java}/process/plugin/game/dragoncore.md | 2 +- .../docs/java}/process/plugin/game/game.md | 0 .../java}/process/plugin/game/germengine.md | 12 +- .../docs/java}/process/plugin/game/nova.md | 0 .../plugin/game/slimefun/auto-update.md | 0 .../process/plugin/game/slimefun/find-lag.md | 0 .../slimefun/resourcepack-for-slimefun.md | 0 .../process/plugin/game/slimefun/slimefun.md | 0 .../MiniPlayerTitle/MiniPlayerTitle-1.png | Bin .../MiniPlayerTitle/MiniPlayerTitle-2.png | Bin .../game/title/_assets}/UserPrefix/1.png | Bin .../game/title/_assets}/UserPrefix/2.png | Bin .../game/title/_assets}/UserPrefix/3.png | Bin .../process/plugin/game/title/deluxetags.md | 0 .../plugin/game/title/miniplayertitle.md | 24 +- .../plugin/game/title/mythicprefixes.md | 0 .../process/plugin/game/title/playertitle.md | 0 .../java}/process/plugin/game/title/title.md | 0 .../process/plugin/game/title/userprefix.md | 44 +- .../management-tool/anti-grief/anti-grief.md | 0 .../management-tool/anti-grief/coreprotect.md | 0 .../anti-grief/invseeplusplus.md | 0 .../anti-grief/prismrefracted.md | 0 .../basic-plugins/basic-plugins.md | 0 .../basic-plugins/cmi/_assets}/1.jpg | Bin .../basic-plugins/cmi/_assets}/2.png | Bin .../management-tool/basic-plugins/cmi/cmi.md | 4 +- .../management-tool/basic-plugins/cmi/eco.md | 0 .../basic-plugins/cmi/question.md | 0 .../management-tool/basic-plugins/delete.md | 0 .../basic-plugins/essentialsx/_assets}/1.png | Bin .../basic-plugins/essentialsx/_assets}/2.png | Bin .../basic-plugins/essentialsx/_assets}/3.png | Bin .../essentialsx/_assets}/banner.png | Bin .../essentialsx/_assets}/kit_1.png | Bin .../essentialsx/_assets}/kit_2.png | Bin .../essentialsx/_assets}/kit_3.png | Bin .../essentialsx/_assets}/kit_4.png | Bin .../essentialsx/_assets}/warp_1.png | Bin .../essentialsx/_assets}/warp_2.png | Bin .../essentialsx/_assets}/warp_3.png | Bin .../basic-plugins/essentialsx/config-tips.md | 0 .../basic-plugins/essentialsx/config-yml.md | 0 .../basic-plugins/essentialsx/essentialsx.md | 24 +- .../basic-plugins/essentialsx/faq.md | 4 +- .../basic-plugins/essentialsx/kit.md | 8 +- .../basic-plugins/essentialsx/papi-support.md | 0 .../basic-plugins/essentialsx/warp.md | 6 +- .../basic-plugins/sunlight/_assets}/1.png | Bin .../basic-plugins/sunlight/_assets}/2.png | Bin .../basic-plugins/sunlight/_assets}/3.png | Bin .../basic-plugins/sunlight/_assets}/4.png | Bin .../basic-plugins/sunlight/_assets}/5.png | Bin .../basic-plugins/sunlight/sunlight.md | 45 + .../chat/_assets}/TrChat/1.png | Bin .../plugin/management-tool/chat/carbon.md | 0 .../plugin/management-tool/chat/chat.md | 0 .../plugin/management-tool/chat/huskchat.md | 0 .../plugin/management-tool/chat/trchat.md | 36 +- .../items/_assets}/mmoitems.png | Bin .../items/_assets}/mmoitems_2.webp | Bin .../plugin/management-tool/items/crucible.md | 0 .../plugin/management-tool/items/ecoItems.md | 0 .../plugin/management-tool/items/items.md | 0 .../plugin/management-tool/items/misc.md | 0 .../plugin/management-tool/items/mmoitems.md | 8 +- .../management-tool/items/neigeitems.md | 0 .../plugin/management-tool/items/ratziel.md | 0 .../plugin/management-tool/items/sx-item.md | 0 .../plugin/management-tool/items/zaphkiel.md | 0 .../plugin/management-tool/management-tool.md | 0 .../management-tool/permission/_assets}/1.png | Bin .../management-tool/permission/_assets}/2.png | Bin .../management-tool/permission/_assets}/3.png | Bin .../permission/_assets}/command.png | Bin .../permission/_assets}/editor.png | Bin .../permission/_assets}/memory_1.png | Bin .../permission/_assets}/memory_10.png | Bin .../permission/_assets}/memory_11.png | Bin .../permission/_assets}/memory_12.png | Bin .../permission/_assets}/memory_2.png | Bin .../permission/_assets}/memory_3.png | Bin .../permission/_assets}/memory_4.png | Bin .../permission/_assets}/memory_5.png | Bin .../permission/_assets}/memory_6.png | Bin .../permission/_assets}/memory_7.png | Bin .../permission/_assets}/memory_8.png | Bin .../permission/_assets}/memory_9.png | Bin .../permission/_assets}/on.png | Bin .../permission/_assets}/paste-1.png | Bin .../permission/_assets}/paste-2.png | Bin .../permission/_assets}/ummm.jpg | Bin .../_assets/\346\227\245\345\277\227-1.png" | Bin .../_assets/\346\227\245\345\277\227-2.png" | Bin ...\347\273\217\347\254\221+\346\211\213.jpg" | Bin .../management-tool/permission/command.md | 0 .../management-tool/permission/group.md | 0 .../plugin/management-tool/permission/meta.md | 36 +- .../management-tool/permission/permission.md | 36 +- .../plugin/management-tool/permission/tips.md | 28 +- .../permission/what-is-permission.md | 2 +- .../plugin-management/plugin-management.md | 0 .../plugin-management/plugin-portal.md | 0 .../plugin-management/plugmanx.md | 0 .../plugin-management/serverutils.md | 0 .../management-tool/plugin-management/yum.md | 0 .../TypeWriter/TW_Banner_Transparant.png | Bin .../task/_assets}/TypeWriter/cinematic.gif | Bin .../management-tool/task/beautyquests.md | 0 .../plugin/management-tool/task/betonquest.md | 0 .../plugin/management-tool/task/chemdah.md | 0 .../plugin/management-tool/task/mangoquest.md | 0 .../plugin/management-tool/task/playertask.md | 0 .../management-tool/task/questcreator.md | 0 .../management-tool/task/questengine.md | 0 .../plugin/management-tool/task/quests.md | 0 .../plugin/management-tool/task/task.md | 0 .../plugin/management-tool/task/typewriter.md | 14 +- .../plugin/misc/_assets}/QuickShop.jpg | Bin .../DecentHolograms/DecentHolograms_1.png | Bin .../DecentHolograms/DecentHolograms_2.png | Bin .../DecentHolograms/DecentHolograms_3.png | Bin .../DecentHolograms/DecentHolograms_4.png | Bin .../DecentHolograms/DecentHolograms_5.png | Bin .../DecentHolograms/DecentHolograms_6.png | Bin ...2\347\273\217\345\275\222\346\241\243.png" | Bin .../plugin/misc/holograms/_assets}/holo.png | Bin .../plugin/misc/holograms/decentholograms.md | 24 +- .../plugin/misc/holograms/holograms.md | 2 +- .../misc/holograms/holographicdisplays.md | 2 +- .../java}/process/plugin/misc/login/authme.md | 0 .../process/plugin/misc/login/catseedlogin.md | 0 .../process/plugin/misc/login/librelogin.md | 0 .../process/plugin/misc/login/limboauth.md | 0 .../java}/process/plugin/misc/login/login.md | 0 ...0\246\201\347\234\213wiki\345\221\220.jpg" | Bin .../_assets/\344\270\272\351\232\276.jpg" | Bin ...7\345\206\231\345\212\250\344\275\234.png" | Bin .../process/plugin/misc/menu/chestcommands.md | 0 .../process/plugin/misc/menu/deluxemenus.md | 0 .../java}/process/plugin/misc/menu/invero.md | 0 .../java}/process/plugin/misc/menu/menu.md | 0 .../java}/process/plugin/misc/menu/trmenu.md | 56 +- .../docs/java}/process/plugin/misc/misc.md | 0 .../docs/java}/process/plugin/misc/money.md | 0 .../process/plugin/misc/motd/minimotd.md | 0 .../java}/process/plugin/misc/motd/motd.md | 0 .../java}/process/plugin/misc/mythicmobs.md | 0 .../npc/_assets}/Adyeshach/Adyeshach-1.png | Bin .../misc/npc/_assets}/Citizens/Citizens-1.png | Bin .../process/plugin/misc/npc/adyeshach.md | 4 +- .../java}/process/plugin/misc/npc/citizens.md | 4 +- .../docs/java}/process/plugin/misc/npc/npc.md | 0 .../process/plugin/misc/npc/znpcsplus.md | 0 .../java}/process/plugin/misc/quickshop.md | 2 +- .../process/plugin/misc/skinsrestorer.md | 0 .../_assets}/SimpleScore/SimpleScore.png | Bin .../tab-scoreboard/_assets}/TAB/TAB-1.png | Bin .../tab-scoreboard/_assets}/TAB/TAB-2.png | Bin .../tab-scoreboard/_assets}/TAB/TAB-3.png | Bin .../tab-scoreboard/_assets}/TAB/TAB-4.png | Bin .../tab-scoreboard/_assets}/TAB/TAB-5.png | Bin .../tab-scoreboard/_assets}/TAB/TAB-6.png | Bin .../tab-scoreboard/_assets}/TAB/TAB-7.png | Bin .../tab-scoreboard/_assets}/TAB/TAB-8.png | Bin .../tab-scoreboard/_assets}/TAB/TAB-9.png | Bin .../_assets}/TitleManager/1.gif | Bin .../_assets}/TitleManager/2.png | Bin .../_assets/\345\225\245\346\230\257TAB.png" | Bin ...7\350\256\241\345\210\206\346\235\277.png" | Bin .../plugin/misc/tab-scoreboard/simplescore.md | 2 +- .../misc/tab-scoreboard/tab-scoreboard.md | 4 +- .../process/plugin/misc/tab-scoreboard/tab.md | 574 + .../misc/tab-scoreboard/titlemanager.md | 4 +- ...4\345\205\274\345\256\271\345\233\276.png" | Bin .../process/plugin/misc/via/more-for-via.md | 0 .../docs/java}/process/plugin/misc/via/via.md | 32 +- .../process/plugin/misc/via/viabackwards.md | 0 .../process/plugin/misc/via/viarewind.md | 0 .../process/plugin/misc/via/viaversion.md | 0 .../Spigot\346\220\234\347\264\242.png" | Bin .../color-message/Minecraft_Formatting.gif | Bin .../\345\261\225\347\244\272.png" | Bin .../\346\270\270\346\210\217\345\206\205.png" | Bin .../java/process/plugin/more/_assets}/mm.png | Bin .../more/_assets}/plugin.yml/plugin.yml.png | Bin .../\346\213\206\345\274\200jar.png" | Bin ...\262\347\211\210\346\234\254-GitHub-1.png" | Bin ...\262\347\211\210\346\234\254-GitHub-2.png" | Bin ...\262\347\211\210\346\234\254-GitHub-3.png" | Bin ...\262\347\211\210\346\234\254-bukkit-1.png" | Bin ...\262\347\211\210\346\234\254-bukkit-2.png" | Bin ...\262\347\211\210\346\234\254-bukkit-3.png" | Bin ...\262\347\211\210\346\234\254-modrinth.png" | Bin ...\262\347\211\210\346\234\254-spigotmc.png" | Bin ...4\345\210\206\351\200\211\346\213\251.png" | Bin .../_assets/\346\213\206\345\274\200jar.png" | Bin ...347\234\213\350\257\255\350\250\200-1.png" | Bin ...347\234\213\350\257\255\350\250\200-2.png" | Bin ...4\213\350\257\255\350\250\200-crowdin.png" | Bin ...\213\350\257\255\350\250\200-spigotmc.png" | Bin ...0\250\200-\346\213\206\345\274\200jar.png" | Bin ...0\345\231\250\347\277\273\350\257\221.png" | Bin .../process/plugin/more/color-message.md | 18 +- .../docs/java}/process/plugin/more/faq.md | 0 .../docs/java}/process/plugin/more/more.md | 0 .../plugin/more/plugin-abbreviation.md | 4 +- .../process/plugin/more/plugin-backdoor.md | 0 .../more/plugin-build/_assets}/image-1.png | Bin .../more/plugin-build/_assets}/image-2.png | Bin .../more/plugin-build/_assets}/image-3.png | Bin .../more/plugin-build/_assets}/image-4.png | Bin .../more/plugin-build/_assets}/image.png | Bin .../plugin/more/plugin-build/first.mdx | 0 .../more/plugin-build/github-actions-build.md | 0 .../plugin/more/plugin-build/idea-build.md | 12 +- .../plugin/more/plugin-build/mirror-config.md | 0 .../plugin/more/plugin-build/plugin-build.md | 0 .../more/plugin-build/terminal-build.md | 0 .../process/plugin/more/plugin-config.md | 10 +- .../process/plugin/more/plugin-download.md | 28 +- .../plugin/more/plugin-signature-file.md | 6 +- .../process/plugin/more/tittle-tattle.md | 0 .../_assets}/CheckItem/checkitem.png | Bin .../_assets}/CheckItem/getinfo_1.png | Bin .../_assets}/CheckItem/getinfo_2.png | Bin .../_assets}/CheckItem/remove-item.png | Bin ...\346\247\275\344\275\215\345\233\276.webp" | Bin ...347\273\255\344\275\277\347\224\250-1.png" | Bin ...347\273\255\344\275\277\347\224\250-2.png" | Bin ...347\273\255\344\275\277\347\224\250-3.png" | Bin .../placeholderapi/_assets}/Math/1.png | Bin .../placeholderapi/_assets}/Math/2.png | Bin .../placeholderapi/_assets}/Math/3.png | Bin .../placeholderapi/_assets}/Math/4.png | Bin .../_assets}/ParseOther/ParseOther.png | Bin .../_assets}/PlaceHolderAPI/1.png | Bin .../_assets}/PlaceHolderAPI/10.png | Bin .../_assets}/PlaceHolderAPI/11.png | Bin .../_assets}/PlaceHolderAPI/12.png | Bin .../_assets}/PlaceHolderAPI/2.png | Bin .../_assets}/PlaceHolderAPI/3.png | Bin .../_assets}/PlaceHolderAPI/4.png | Bin .../_assets}/PlaceHolderAPI/5.png | Bin .../_assets}/PlaceHolderAPI/6.png | Bin .../_assets}/PlaceHolderAPI/7.png | Bin .../_assets}/PlaceHolderAPI/8.png | Bin .../_assets}/PlaceHolderAPI/9.png | Bin .../_assets}/Progress/Progress.png | Bin ...3\350\275\275\345\244\261\350\264\245.png" | Bin ...344\270\215\346\230\276\347\244\272-1.png" | Bin ...344\270\215\346\230\276\347\244\272-2.png" | Bin .../placeholderapi/change-output.md | 0 .../placeholderapi/check-item.md | 68 +- .../placeholderapi/common-usage.md | 0 .../plugin-dependencies/placeholderapi/faq.md | 6 +- .../placeholderapi/javascript.md | 0 .../placeholderapi/math.md | 16 +- .../placeholderapi/parse-other.md | 2 +- .../placeholderapi/placeholderapi.md | 234 + .../placeholderapi/progress.md | 2 +- .../placeholderapi/string.md | 0 .../plugin-dependencies/playerpoints.md | 0 .../plugin-dependencies.md | 0 .../plugin/plugin-dependencies/protocollib.md | 0 .../plugin-dependencies/vault/serviceio.md | 0 .../plugin/plugin-dependencies/vault/vault.md | 0 .../vault/vaultunlocked.md | 0 .../plugin/plugin-dependencies/xconomy.md | 0 .../docs/java}/process/plugin/plugin.md | 34 +- .../protection/_assets}/Dominion-08.png | Bin .../_assets}/GriefDefender-github.png | Bin .../process/plugin/protection/askyblock.md | 0 .../process/plugin/protection/bentobox.md | 0 .../process/plugin/protection/dominion.md | 8 +- .../plugin/protection/griefdefender.md | 2 +- .../process/plugin/protection/plotsquared.md | 0 .../process/plugin/protection/protection.md | 0 .../process/plugin/protection/residence.md | 0 .../java}/process/plugin/protection/towny.md | 0 .../banner_compat_nobuildplus_zh_CN.png | Bin .../banner_deny_nobuildplus_zh_CN.png | Bin .../NoBuildPlus/banner_nobuildplus_zh_CN.png | Bin .../banner_type_nobuildplus_zh_CN.png | Bin .../_assets}/worldguard-logo.svg | 0 .../world-management/fastasyncworldedit.md | 0 .../process/plugin/world-management/law.md | 0 .../world-management/lobby/deluxehub.md | 0 .../lobby/deluxehubreloaded.md | 0 .../plugin/world-management/lobby/lobby.md | 0 .../lobby/superlobbydeluxe.md | 0 .../multiverse/_assets}/multiverse2-long.png | Bin ...344\270\226\347\225\214\345\220\215-1.png" | Bin ...344\270\226\347\225\214\345\220\215-2.png" | Bin ...4\345\220\215\344\271\261\347\240\201.png" | Bin .../world-management/multiverse/faq1.md | 34 +- .../world-management/multiverse/faq2.md | 0 .../world-management/multiverse/multiverse.md | 26 +- .../plugin/world-management/myworld.md | 0 .../plugin/world-management/nobuildplus.md | 8 +- .../world-management/world-management.md | 0 .../plugin/world-management/worldedit.md | 0 .../worldgen/_assets}/terra-1.png | Bin .../worldgen/_assets}/terra-2.png | Bin .../worldgen/_assets}/terra-3.png | Bin .../worldgen/_assets}/terra-4.png | Bin .../worldgen/_assets}/terra-5.png | Bin .../worldgen/_assets}/terra-community-1.png | Bin .../worldgen/_assets}/terra-community-2.png | Bin .../worldgen/_assets}/terra-community-3.png | Bin .../worldgen/_assets}/terra-community-4.png | Bin .../worldgen/_assets}/terra-community-5.png | Bin .../worldgen/_assets}/terra-community-6.png | Bin .../worldgen/_assets}/terra-community-7.png | Bin .../world-management/worldgen/irisworldgen.md | 0 .../plugin/world-management/worldgen/terra.md | 24 +- .../worldgen/terraformgenerator.md | 0 .../world-management/worldgen/worldgen.md | 0 .../plugin/world-management/worldguard.md | 22 +- .../content/docs/java}/process/process.md | 0 .../docs/java}/process/redstone/mchprs.md | 0 .../docs/java}/process/redstone/mod.md | 0 .../docs/java}/process/redstone/plugin.md | 0 .../docs/java}/process/redstone/redstone.md | 0 .../content/docs/java/start/_assets}/1.png | Bin .../content/docs/java/start/_assets}/2.png | Bin .../content/docs/java/start/_assets}/3.png | Bin .../content/docs/java/start/_assets}/4.png | Bin .../content/docs/java/start/_assets}/5.png | Bin .../docs/java/start/_assets}/install/1.png | Bin .../docs/java/start/_assets}/install/2.png | Bin .../docs/java/start/_assets}/install/3.png | Bin .../docs/java/start/_assets}/install/4.png | Bin .../\345\260\217\345\234\260\347\220\203.png" | Bin ...0\347\256\241\347\220\206\345\231\250.jpg" | Bin ...0\346\225\210\344\274\232\350\257\235.png" | Bin .../content/docs/java}/start/ask-for-help.md | 0 .../java/start/basic/_assets}/command-1.png | Bin .../java/start/basic/_assets}/command-2.png | Bin .../java/start/basic/_assets}/command-3.png | Bin .../java/start/basic/_assets}/command-4.png | Bin .../docs/java/start/basic/_assets}/nogui.jpg | Bin ...1\345\246\231\346\257\224\345\226\273.png" | Bin .../content/docs/java}/start/basic/basic.md | 0 .../basic/relationship-between-servers.md | 0 .../start/basic/server-dir-structure.mdx | 0 .../start/basic/server-management-command.md | 0 .../java}/start/basic/what-is-datapack.mdx | 0 .../docs/java}/start/basic/what-is-lag.md | 0 .../docs/java}/start/basic/what-is-log.md | 0 .../docs/java}/start/basic/what-is-mod.md | 0 .../java}/start/basic/what-is-namespace.md | 14 +- .../docs/java}/start/basic/what-is-nbt.md | 0 .../java}/start/basic/what-is-permission.md | 0 .../docs/java}/start/basic/what-is-plugin.md | 0 .../docs/java}/start/basic/what-is-server.md | 0 .../start/basic/what-is-startup-script.md | 0 .../docs/java}/start/basic/what-is-world.md | 0 .../content/docs/java}/start/config-server.md | 26 +- .../docs/java}/start/connect-to-server.md | 0 .../content/docs/java}/start/deploy.md | 0 .../docs/java}/start/install-server.md | 8 +- .../content/docs/java}/start/launch-server.md | 16 +- .../server-core-choose/_assets}/Beast.jpg | Bin .../_assets}/LightingLuminol.png | Bin .../server-core-choose/_assets}/Luminol.png | Bin .../server-core-choose/_assets}/NeoForge.png | Bin .../server-core-choose/_assets}/Quilt.svg | 0 .../_assets}/Sinytra_Connector.png | Bin .../server-core-choose/_assets}/folia.webp | Bin .../server-core-choose/_assets}/leaf.png | Bin .../server-core-choose/_assets}/leaves.svg | 0 .../_assets}/papermc-wild.svg | 0 .../server-core-choose/_assets}/purpur.png | Bin .../server-core-choose/_assets}/sponge.png | Bin ...1\345\220\216\351\227\250\345\220\227.png" | Bin .../start/server-core-choose/folia/folia.md | 18 +- .../start/server-core-choose/folia/luminol.md | 52 +- .../start/server-core-choose/folia/misc.md | 0 .../java}/start/server-core-choose/hybrid.md | 0 .../java}/start/server-core-choose/mod.md | 6 +- .../start/server-core-choose/multipaper.md | 0 .../java/start/server-core-choose/plugin.md | 239 + .../server-core-choose/server-core-choose.md | 8 +- .../java}/start/server-core-choose/sponge.md | 2 +- .../content/docs/java}/start/start.md | 0 src/css/ad.css | 75 - src/css/base/theme.css | 532 - src/css/base/typography.css | 340 - src/css/base/variables.css | 159 - src/css/components/alert.css | 376 - src/css/components/button.css | 123 - src/css/components/card.css | 273 - src/css/components/code.css | 283 - src/css/components/footer.css | 158 - src/css/components/navbar.css | 394 - src/css/components/sidebar.css | 231 - src/css/components/table.css | 135 - src/css/custom.css | 43 - src/css/github.css | 4 - src/css/structure_explorer.css | 105 - src/css/utilities/responsive.css | 215 - src/css/utilities/scrollbar.css | 97 - src/css/utilities/search.css | 201 - src/data/structures/bdsServerStructure.ts | 124 - src/data/structures/datapackStructure.ts | 854 - .../structures/geyserExtensionStructure.ts | 34 - src/data/structures/gradleProjectStructure.ts | 166 - src/data/structures/hmclModpackStructure.ts | 32 - src/data/structures/index.ts | 11 - .../structures/levilamnaPluginStructure.ts | 28 - src/data/structures/mavenProjectStructure.ts | 123 - src/data/structures/nukitServerStructure.ts | 104 - src/data/structures/serverDirStructureData.ts | 222 - src/data/structures/viaproxyStructure.ts | 61 - src/lib/utils.js | 6 - src/pages/index.module.scss | 590 - src/pages/index.tsx | 182 - src/plugins/tailwind-plugin.ts | 11 - src/styles/global.css | 1 + src/theme/DocItem/Footer/LastUpdated/index.js | 82 - src/theme/DocItem/Layout/index.js | 87 - src/theme/DocItem/Layout/styles.module.css | 10 - src/theme/Footer/Copyright/index.js | 21 - src/theme/Footer/Layout/index.js | 21 - src/theme/Footer/LinkItem/index.js | 27 - src/theme/Footer/Links/MultiColumn/index.js | 38 - src/theme/Footer/Links/Simple/index.js | 32 - src/theme/Footer/Links/index.js | 11 - src/theme/Footer/Logo/index.js | 32 - src/theme/Footer/Logo/styles.module.css | 8 - src/theme/Footer/index.js | 22 - src/theme/Navbar/index.tsx | 28 - src/theme/PaginatorNavLink/index.jsx | 18 - src/types/ExplorerNode.ts | 35 - .../baidu_verify_codeva-POvxxO9Mk4.html.html | 1 - static/img/docusaurus-social-card.jpg | Bin 29854 -> 0 bytes static/img/favicon.ico | Bin 1095 -> 0 bytes static/manifest.json | 22 - static/robots.txt | 2 - tsconfig.json | 15 +- 1139 files changed, 6871 insertions(+), 28794 deletions(-) delete mode 100644 .env delete mode 100644 .imgbotconfig delete mode 100644 .npmrc create mode 100644 .vscode/extensions.json create mode 100644 .vscode/launch.json create mode 100644 astro.config.ts delete mode 100644 docs-bedrock/misc/dragonfly.md delete mode 100644 docs-bedrock/super-basic/server-core-choose.md delete mode 100644 docs-java/process/cross-server/setup/velocity-ctd/velocity-ctd.md delete mode 100644 docs-java/process/plugin/management-tool/basic-plugins/sunlight/sunlight.md delete mode 100644 docs-java/process/plugin/misc/tab-scoreboard/tab.md delete mode 100644 docs-java/process/plugin/plugin-dependencies/placeholderapi/placeholderapi.md delete mode 100644 docs-java/start/server-core-choose/plugin.md delete mode 100644 docusaurus.config.ts delete mode 100644 postcss-plugins/fix-align-items.js delete mode 100644 postcss.config.js rename {static => public}/favicon.ico (100%) delete mode 100644 sidebars.js rename {static/img => src/assets}/book.png (100%) rename {static/img => src/assets}/logo.svg (100%) rename {static/img => src/assets}/nitwikit-banner.png (100%) delete mode 100644 src/clientModules/adsModules.js delete mode 100644 src/clientModules/routeModules.js delete mode 100644 src/clientModules/themeModules.scss delete mode 100644 src/clientModules/themeModules.ts delete mode 100644 src/clientModules/tocSmoothScroll.ts delete mode 100644 src/components/ContributorCard/index.tsx delete mode 100644 src/components/ContributorCard/styles.css delete mode 100644 src/components/GlobalContent.js delete mode 100644 src/components/HeroBackground.tsx delete mode 100644 src/components/HomepageFeatures/index.js delete mode 100644 src/components/HomepageFeatures/styles.module.css delete mode 100644 src/components/SponsorCard/index.jsx delete mode 100644 src/components/SponsorCard/styles.css delete mode 100644 src/components/StructureExplorer.tsx delete mode 100644 src/components/comment/index.jsx create mode 100644 src/content.config.ts rename {docs-about/_images => src/content/docs/about/_assets}/me.png (100%) rename {docs-about => src/content/docs/about}/ad.md (100%) rename {docs-about => src/content/docs/about}/arch.md (100%) rename {docs-about => src/content/docs/about}/contributors.md (100%) rename {docs-about => src/content/docs/about}/intro.md (99%) rename {docs-about => src/content/docs/about}/sponsor.md (100%) rename {docs-about => src/content/docs/about}/timeline.mdx (100%) rename {docs-bedrock => src/content/docs/bedrock}/bds/bds.md (100%) rename {docs-bedrock => src/content/docs/bedrock}/bds/preparation/preparation.md (100%) rename {docs-bedrock => src/content/docs/bedrock}/bds/preparation/text-editor.md (100%) rename {docs-bedrock => src/content/docs/bedrock}/bds/preparation/vcruntime.md (100%) rename {docs-bedrock => src/content/docs/bedrock}/bds/preparation/websites.md (100%) rename {docs-bedrock => src/content/docs/bedrock}/bds/process/bdsx/bdsx-install.md (100%) rename {docs-bedrock => src/content/docs/bedrock}/bds/process/bdsx/bdsx.md (100%) rename {docs-bedrock/bds/process/endstone/_images => src/content/docs/bedrock/bds/process/endstone/_assets}/1-1.png (100%) rename {docs-bedrock/bds/process/endstone/_images => src/content/docs/bedrock/bds/process/endstone/_assets}/1-2.png (100%) rename {docs-bedrock/bds/process/endstone/_images => src/content/docs/bedrock/bds/process/endstone/_assets}/1-3.png (100%) rename {docs-bedrock/bds/process/endstone/_images => src/content/docs/bedrock/bds/process/endstone/_assets}/1-4.png (100%) rename {docs-bedrock/bds/process/endstone/_images => src/content/docs/bedrock/bds/process/endstone/_assets}/1-5.png (100%) rename {docs-bedrock/bds/process/endstone/_images => src/content/docs/bedrock/bds/process/endstone/_assets}/1-6.png (100%) rename {docs-bedrock/bds/process/endstone/_images => src/content/docs/bedrock/bds/process/endstone/_assets}/1-7.png (100%) rename {docs-bedrock/bds/process/endstone/_images => src/content/docs/bedrock/bds/process/endstone/_assets}/1-8.png (100%) rename {docs-bedrock/bds/process/endstone/_images => src/content/docs/bedrock/bds/process/endstone/_assets}/1-9.png (100%) rename {docs-bedrock/bds/process/endstone/_images => src/content/docs/bedrock/bds/process/endstone/_assets}/1.png (100%) rename {docs-bedrock/bds/process/endstone/_images => src/content/docs/bedrock/bds/process/endstone/_assets}/10.png (100%) rename {docs-bedrock/bds/process/endstone/_images => src/content/docs/bedrock/bds/process/endstone/_assets}/2-1.png (100%) rename {docs-bedrock/bds/process/endstone/_images => src/content/docs/bedrock/bds/process/endstone/_assets}/2-10.png (100%) rename {docs-bedrock/bds/process/endstone/_images => src/content/docs/bedrock/bds/process/endstone/_assets}/2-11.png (100%) rename {docs-bedrock/bds/process/endstone/_images => src/content/docs/bedrock/bds/process/endstone/_assets}/2-2.png (100%) rename {docs-bedrock/bds/process/endstone/_images => src/content/docs/bedrock/bds/process/endstone/_assets}/2-3.png (100%) rename {docs-bedrock/bds/process/endstone/_images => src/content/docs/bedrock/bds/process/endstone/_assets}/2-4.png (100%) rename {docs-bedrock/bds/process/endstone/_images => src/content/docs/bedrock/bds/process/endstone/_assets}/2-5.png (100%) rename {docs-bedrock/bds/process/endstone/_images => src/content/docs/bedrock/bds/process/endstone/_assets}/2-6.png (100%) rename {docs-bedrock/bds/process/endstone/_images => src/content/docs/bedrock/bds/process/endstone/_assets}/2-7.png (100%) rename {docs-bedrock/bds/process/endstone/_images => src/content/docs/bedrock/bds/process/endstone/_assets}/2-8.png (100%) rename {docs-bedrock/bds/process/endstone/_images => src/content/docs/bedrock/bds/process/endstone/_assets}/2-9.png (100%) rename {docs-bedrock/bds/process/endstone/_images => src/content/docs/bedrock/bds/process/endstone/_assets}/2.png (100%) rename {docs-bedrock/bds/process/endstone/_images => src/content/docs/bedrock/bds/process/endstone/_assets}/3.png (100%) rename {docs-bedrock/bds/process/endstone/_images => src/content/docs/bedrock/bds/process/endstone/_assets}/4.png (100%) rename {docs-bedrock/bds/process/endstone/_images => src/content/docs/bedrock/bds/process/endstone/_assets}/5.png (100%) rename {docs-bedrock/bds/process/endstone/_images => src/content/docs/bedrock/bds/process/endstone/_assets}/6.png (100%) rename {docs-bedrock/bds/process/endstone/_images => src/content/docs/bedrock/bds/process/endstone/_assets}/7.png (100%) rename {docs-bedrock/bds/process/endstone/_images => src/content/docs/bedrock/bds/process/endstone/_assets}/8.png (100%) rename {docs-bedrock/bds/process/endstone/_images => src/content/docs/bedrock/bds/process/endstone/_assets}/9.png (100%) rename {docs-bedrock => src/content/docs/bedrock}/bds/process/endstone/endstone-install.md (83%) rename {docs-bedrock => src/content/docs/bedrock}/bds/process/endstone/endstone-plugins.md (87%) rename {docs-bedrock => src/content/docs/bedrock}/bds/process/endstone/endstone.md (100%) rename {docs-bedrock => src/content/docs/bedrock}/bds/process/levilamina/legacy-script-engine.md (100%) rename {docs-bedrock => src/content/docs/bedrock}/bds/process/levilamina/levilamina-install.md (100%) rename {docs-bedrock => src/content/docs/bedrock}/bds/process/levilamina/levilamina-plugins.mdx (100%) rename {docs-bedrock => src/content/docs/bedrock}/bds/process/levilamina/levilamina.md (100%) rename {docs-bedrock => src/content/docs/bedrock}/bds/process/liteloader-bds/install.md (100%) rename {docs-bedrock => src/content/docs/bedrock}/bds/process/liteloader-bds/liteloader-bds.md (100%) rename {docs-bedrock => src/content/docs/bedrock}/bds/process/liteloader-bds/plugins.md (100%) rename {docs-bedrock/bds/process/plugins/_images => src/content/docs/bedrock/bds/process/plugins/_assets}/levilamina-is-coming.png (100%) rename {docs-bedrock/bds/process/plugins/_images => src/content/docs/bedrock/bds/process/plugins/_assets}/levilamina-will-archived.png (100%) rename {docs-bedrock => src/content/docs/bedrock}/bds/process/plugins/how-to-load-plugins.md (100%) rename {docs-bedrock => src/content/docs/bedrock}/bds/process/plugins/plugins-loader-choose.md (96%) rename {docs-bedrock => src/content/docs/bedrock}/bds/process/plugins/plugins.md (100%) rename {docs-bedrock => src/content/docs/bedrock}/bds/process/process.md (100%) rename {docs-bedrock => src/content/docs/bedrock}/bds/start/basic/basic.md (100%) rename {docs-bedrock => src/content/docs/bedrock}/bds/start/basic/server-dir-structure.mdx (100%) rename {docs-bedrock => src/content/docs/bedrock}/bds/start/start.md (100%) rename {docs-bedrock => src/content/docs/bedrock}/intro.md (100%) rename {docs-bedrock/misc/_images => src/content/docs/bedrock/misc/_assets}/dragonfly.png (100%) rename {docs-bedrock => src/content/docs/bedrock}/misc/allay/allay.md (100%) rename {docs-bedrock => src/content/docs/bedrock}/misc/allay/description.md (100%) rename {docs-bedrock => src/content/docs/bedrock}/misc/allay/preparation.md (100%) create mode 100644 src/content/docs/bedrock/misc/dragonfly.md rename {docs-bedrock => src/content/docs/bedrock}/misc/mcpeserver.md (100%) rename {docs-bedrock => src/content/docs/bedrock}/misc/misc.md (100%) rename {docs-bedrock => src/content/docs/bedrock}/misc/preparation/preparation.md (100%) rename {docs-bedrock => src/content/docs/bedrock}/misc/preparation/text-editor.md (100%) rename {docs-bedrock => src/content/docs/bedrock}/misc/preparation/websites.md (100%) rename {docs-bedrock => src/content/docs/bedrock}/nukkit/history.md (100%) rename {docs-bedrock => src/content/docs/bedrock}/nukkit/nukkit.md (100%) rename {docs-bedrock => src/content/docs/bedrock}/nukkit/preparation/choose-and-download-and-install-java.md (100%) rename {docs-bedrock => src/content/docs/bedrock}/nukkit/preparation/preparation.md (100%) rename {docs-bedrock => src/content/docs/bedrock}/nukkit/preparation/text-editor.md (100%) rename {docs-bedrock => src/content/docs/bedrock}/nukkit/preparation/websites.md (100%) rename {docs-bedrock => src/content/docs/bedrock}/nukkit/start/basic/basic.md (100%) rename {docs-bedrock => src/content/docs/bedrock}/nukkit/start/basic/server-file-structure.mdx (100%) rename {docs-bedrock => src/content/docs/bedrock}/nukkit/start/nukkitmot/description.md (100%) rename {docs-bedrock => src/content/docs/bedrock}/nukkit/start/nukkitmot/nukkitmot.md (100%) rename {docs-bedrock => src/content/docs/bedrock}/nukkit/start/nukkitx/description.md (100%) rename {docs-bedrock => src/content/docs/bedrock}/nukkit/start/nukkitx/nukkitx.md (100%) rename {docs-bedrock/nukkit/start/pm1e/_images => src/content/docs/bedrock/nukkit/start/pm1e/_assets}/controversy.png (100%) rename {docs-bedrock => src/content/docs/bedrock}/nukkit/start/pm1e/controversy.md (98%) rename {docs-bedrock => src/content/docs/bedrock}/nukkit/start/pm1e/description.md (100%) rename {docs-bedrock => src/content/docs/bedrock}/nukkit/start/pm1e/pm1e.md (100%) rename {docs-bedrock => src/content/docs/bedrock}/nukkit/start/pnx/description.md (100%) rename {docs-bedrock => src/content/docs/bedrock}/nukkit/start/pnx/pnx.md (100%) rename {docs-bedrock => src/content/docs/bedrock}/nukkit/start/start.md (100%) rename {docs-bedrock => src/content/docs/bedrock}/pocketmine/description.md (100%) rename {docs-bedrock => src/content/docs/bedrock}/pocketmine/pocketmine.md (100%) rename {docs-bedrock => src/content/docs/bedrock}/pocketmine/preparation/choose-and-download-and-install-php.md (100%) rename {docs-bedrock => src/content/docs/bedrock}/pocketmine/preparation/preparation.md (100%) rename {docs-bedrock => src/content/docs/bedrock}/pocketmine/preparation/text-editor.md (100%) rename {docs-bedrock => src/content/docs/bedrock}/pocketmine/preparation/websites.md (100%) rename {docs-bedrock/super-basic/_images => src/content/docs/bedrock/super-basic/_assets}/bedrock-core-running.png (100%) rename {docs-bedrock/super-basic/_images => src/content/docs/bedrock/super-basic/_assets}/nukkit-core-running.png (100%) rename {docs-bedrock/super-basic/_images => src/content/docs/bedrock/super-basic/_assets}/pocketminemp-core-running.png (100%) rename {docs-bedrock/super-basic/_images => src/content/docs/bedrock/super-basic/_assets}/powernukkitx-core-rip.png (100%) rename {docs-bedrock/super-basic/_images => src/content/docs/bedrock/super-basic/_assets}/powernukkitx-core-running.png (100%) rename {docs-bedrock => src/content/docs/bedrock}/super-basic/protocol-version-number.md (100%) create mode 100644 src/content/docs/bedrock/super-basic/server-core-choose.md rename {docs-bedrock => src/content/docs/bedrock}/super-basic/server-type.md (100%) rename {docs-bedrock => src/content/docs/bedrock}/super-basic/super-basic.md (100%) rename {docs-bedrock => src/content/docs/bedrock}/super-basic/version.md (100%) rename {docs-bedrock => src/content/docs/bedrock}/waterdogepe/preparation.md (100%) rename {docs-bedrock => src/content/docs/bedrock}/waterdogepe/waterdogepe.md (100%) rename "docs/_images/\345\260\221\344\270\234\350\245\277\344\272\206.png" => "src/content/docs/general/_assets/\345\260\221\344\270\234\350\245\277\344\272\206.png" (100%) rename "docs/advance/_images/\347\224\263\350\257\267\345\237\237\345\220\215/1.png" => "src/content/docs/general/advance/_assets/\347\224\263\350\257\267\345\237\237\345\220\215/1.png" (100%) rename "docs/advance/_images/\347\224\263\350\257\267\345\237\237\345\220\215/2.png" => "src/content/docs/general/advance/_assets/\347\224\263\350\257\267\345\237\237\345\220\215/2.png" (100%) rename "docs/advance/_images/\347\224\263\350\257\267\345\237\237\345\220\215/3.png" => "src/content/docs/general/advance/_assets/\347\224\263\350\257\267\345\237\237\345\220\215/3.png" (100%) rename {docs => src/content/docs/general}/advance/advance.md (100%) rename {docs => src/content/docs/general}/advance/arthas.md (100%) rename {docs => src/content/docs/general}/advance/bot/bot.md (100%) rename {docs => src/content/docs/general}/advance/bot/framework.md (100%) rename {docs => src/content/docs/general}/advance/bot/general.md (100%) rename {docs => src/content/docs/general}/advance/bot/plugin.md (100%) rename {docs => src/content/docs/general}/advance/docker.md (100%) rename {docs => src/content/docs/general}/advance/domain-and-dns.md (98%) rename {docs => src/content/docs/general}/advance/frp.md (100%) rename "docs/advance/linux/_images/Linux\345\274\200\346\234\215/\345\274\200\346\234\215/1.png" => "src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\345\274\200\346\234\215/1.png" (100%) rename "docs/advance/linux/_images/Linux\345\274\200\346\234\215/\345\274\200\346\234\215/2.png" => "src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\345\274\200\346\234\215/2.png" (100%) rename "docs/advance/linux/_images/Linux\345\274\200\346\234\215/\345\274\200\346\234\215/3.png" => "src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\345\274\200\346\234\215/3.png" (100%) rename "docs/advance/linux/_images/Linux\345\274\200\346\234\215/\345\274\200\346\234\215/4.png" => "src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\345\274\200\346\234\215/4.png" (100%) rename "docs/advance/linux/_images/Linux\345\274\200\346\234\215/\345\274\200\346\234\215/5.png" => "src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\345\274\200\346\234\215/5.png" (100%) rename "docs/advance/linux/_images/Linux\345\274\200\346\234\215/\345\274\200\346\234\215/6.png" => "src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\345\274\200\346\234\215/6.png" (100%) rename "docs/advance/linux/_images/Linux\345\274\200\346\234\215/\345\274\200\346\234\215/7.png" => "src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\345\274\200\346\234\215/7.png" (100%) rename "docs/advance/linux/_images/Linux\345\274\200\346\234\215/\345\274\200\346\234\215/8.png" => "src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\345\274\200\346\234\215/8.png" (100%) rename "docs/advance/linux/_images/Linux\345\274\200\346\234\215/\346\220\255\345\273\272\345\206\205\347\275\221\347\251\277\351\200\217/1.png" => "src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\346\220\255\345\273\272\345\206\205\347\275\221\347\251\277\351\200\217/1.png" (100%) rename "docs/advance/linux/_images/Linux\345\274\200\346\234\215/\346\220\255\345\273\272\345\206\205\347\275\221\347\251\277\351\200\217/2.png" => "src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\346\220\255\345\273\272\345\206\205\347\275\221\347\251\277\351\200\217/2.png" (100%) rename "docs/advance/linux/_images/Linux\345\274\200\346\234\215/\346\220\255\345\273\272\345\206\205\347\275\221\347\251\277\351\200\217/3.png" => "src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\346\220\255\345\273\272\345\206\205\347\275\221\347\251\277\351\200\217/3.png" (100%) rename "docs/advance/linux/_images/Linux\345\274\200\346\234\215/\346\220\255\345\273\272\345\206\205\347\275\221\347\251\277\351\200\217/4.png" => "src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\346\220\255\345\273\272\345\206\205\347\275\221\347\251\277\351\200\217/4.png" (100%) rename "docs/advance/linux/_images/Linux\345\274\200\346\234\215/\346\225\260\346\215\256\345\272\223\345\256\211\350\243\205/1.png" => "src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\346\225\260\346\215\256\345\272\223\345\256\211\350\243\205/1.png" (100%) rename "docs/advance/linux/_images/Linux\345\274\200\346\234\215/\346\225\260\346\215\256\345\272\223\345\256\211\350\243\205/2.png" => "src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\346\225\260\346\215\256\345\272\223\345\256\211\350\243\205/2.png" (100%) rename "docs/advance/linux/_images/Linux\345\274\200\346\234\215/\346\225\260\346\215\256\345\272\223\345\256\211\350\243\205/3.png" => "src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\346\225\260\346\215\256\345\272\223\345\256\211\350\243\205/3.png" (100%) rename "docs/advance/linux/_images/Linux\345\274\200\346\234\215/\346\225\260\346\215\256\345\272\223\345\256\211\350\243\205/4.png" => "src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\346\225\260\346\215\256\345\272\223\345\256\211\350\243\205/4.png" (100%) rename "docs/advance/linux/_images/Linux\345\274\200\346\234\215/\346\225\260\346\215\256\345\272\223\345\256\211\350\243\205/5.png" => "src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\346\225\260\346\215\256\345\272\223\345\256\211\350\243\205/5.png" (100%) rename "docs/advance/linux/_images/Linux\345\274\200\346\234\215/\346\225\260\346\215\256\345\272\223\345\256\211\350\243\205/6.png" => "src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\346\225\260\346\215\256\345\272\223\345\256\211\350\243\205/6.png" (100%) rename "docs/advance/linux/_images/Linux\345\274\200\346\234\215/\346\225\260\346\215\256\345\272\223\345\256\211\350\243\205/7.png" => "src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\346\225\260\346\215\256\345\272\223\345\256\211\350\243\205/7.png" (100%) rename "docs/advance/linux/_images/Linux\345\274\200\346\234\215/\350\277\236\346\216\245\346\234\215\345\212\241\345\231\250/1.png" => "src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\350\277\236\346\216\245\346\234\215\345\212\241\345\231\250/1.png" (100%) rename "docs/advance/linux/_images/Linux\345\274\200\346\234\215/\350\277\236\346\216\245\346\234\215\345\212\241\345\231\250/2.png" => "src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\350\277\236\346\216\245\346\234\215\345\212\241\345\231\250/2.png" (100%) rename "docs/advance/linux/_images/Linux\345\274\200\346\234\215/\350\277\236\346\216\245\346\234\215\345\212\241\345\231\250/WindTerm.png" => "src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\350\277\236\346\216\245\346\234\215\345\212\241\345\231\250/WindTerm.png" (100%) rename "docs/advance/linux/_images/Linux\345\274\200\346\234\215/\350\277\236\346\216\245\346\234\215\345\212\241\345\231\250/macOS_terminal.png" => "src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\350\277\236\346\216\245\346\234\215\345\212\241\345\231\250/macOS_terminal.png" (100%) rename "docs/advance/linux/_images/Linux\345\274\200\346\234\215/\350\277\236\346\216\245\346\234\215\345\212\241\345\231\250/termux_screenshot.jpg" => "src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\350\277\236\346\216\245\346\234\215\345\212\241\345\231\250/termux_screenshot.jpg" (100%) rename {docs => src/content/docs/general}/advance/linux/backup.md (100%) rename {docs => src/content/docs/general}/advance/linux/connect-to-server.md (90%) rename {docs => src/content/docs/general}/advance/linux/database-installation.md (90%) rename {docs => src/content/docs/general}/advance/linux/keep-running.md (100%) rename {docs => src/content/docs/general}/advance/linux/linux.md (100%) rename {docs => src/content/docs/general}/advance/linux/start.md (88%) rename {docs => src/content/docs/general}/advance/management/management.md (100%) rename {docs => src/content/docs/general}/advance/management/money-management/investment-psychology.md (100%) rename {docs => src/content/docs/general}/advance/management/money-management/money-management.md (100%) rename {docs => src/content/docs/general}/advance/management/money-management/sustainable-development.md (100%) rename {docs => src/content/docs/general}/advance/management/player-management/announcement.md (100%) rename {docs => src/content/docs/general}/advance/management/player-management/auditing.md (100%) rename {docs => src/content/docs/general}/advance/management/player-management/chunkbase.md (100%) rename {docs => src/content/docs/general}/advance/management/player-management/client-distribution.mdx (100%) rename {docs => src/content/docs/general}/advance/management/player-management/feedback.md (100%) rename {docs => src/content/docs/general}/advance/management/player-management/platform.md (100%) rename {docs => src/content/docs/general}/advance/management/player-management/player-management.md (100%) rename {docs => src/content/docs/general}/advance/management/player-management/rules.md (100%) rename {docs => src/content/docs/general}/advance/management/player-management/whitelist.md (100%) rename {docs => src/content/docs/general}/advance/management/player-management/wiki.md (100%) rename {docs/advance/viaproxy/_image => src/content/docs/general/advance/viaproxy/_assets}/img.png (100%) rename {docs/advance/viaproxy/_image => src/content/docs/general/advance/viaproxy/_assets}/img_1.png (100%) rename {docs => src/content/docs/general}/advance/viaproxy/configuration.mdx (100%) rename {docs => src/content/docs/general}/advance/viaproxy/index.md (100%) rename {docs => src/content/docs/general}/advance/viaproxy/installation.md (69%) rename {docs => src/content/docs/general}/advance/viaproxy/plugins/auth.md (100%) rename {docs => src/content/docs/general}/advance/viaproxy/plugins/compatibility.md (100%) rename {docs => src/content/docs/general}/advance/viaproxy/plugins/features.md (100%) rename {docs => src/content/docs/general}/advance/viaproxy/plugins/index.md (100%) rename {docs => src/content/docs/general}/advance/viaproxy/plugins/network.md (100%) rename {docs/advance/website/_images => src/content/docs/general/advance/website/_assets}/img-.png (100%) rename {docs/advance/website/_images => src/content/docs/general/advance/website/_assets}/img-2.png (100%) rename {docs/advance/website/_images => src/content/docs/general/advance/website/_assets}/img-3.png (100%) rename {docs/advance/website/_images => src/content/docs/general/advance/website/_assets}/img.png (100%) rename {docs/advance/website/_images => src/content/docs/general/advance/website/_assets}/img_1.png (100%) rename {docs/advance/website/_images => src/content/docs/general/advance/website/_assets}/img_10.png (100%) rename {docs/advance/website/_images => src/content/docs/general/advance/website/_assets}/img_2.png (100%) rename {docs/advance/website/_images => src/content/docs/general/advance/website/_assets}/img_3.png (100%) rename {docs/advance/website/_images => src/content/docs/general/advance/website/_assets}/img_4.png (100%) rename {docs/advance/website/_images => src/content/docs/general/advance/website/_assets}/img_5.png (100%) rename {docs/advance/website/_images => src/content/docs/general/advance/website/_assets}/img_6.png (100%) rename {docs/advance/website/_images => src/content/docs/general/advance/website/_assets}/img_7.png (100%) rename {docs/advance/website/_images => src/content/docs/general/advance/website/_assets}/img_8.png (100%) rename {docs/advance/website/_images => src/content/docs/general/advance/website/_assets}/img_9.png (100%) rename "docs/advance/website/_images/img\342\200\224\342\200\2241.png" => "src/content/docs/general/advance/website/_assets/img\342\200\224\342\200\2241.png" (100%) rename "docs/advance/website/_images/\345\261\217\345\271\225\346\210\252\345\233\276 2025-06-08 135158.png" => "src/content/docs/general/advance/website/_assets/\345\261\217\345\271\225\346\210\252\345\233\276 2025-06-08 135158.png" (100%) rename {docs => src/content/docs/general}/advance/website/faq.md (100%) rename {docs => src/content/docs/general}/advance/website/install.md (94%) rename {docs => src/content/docs/general}/advance/website/plugins.md (98%) rename {docs => src/content/docs/general}/advance/website/prepare.md (100%) rename {docs => src/content/docs/general}/advance/website/server-config.md (97%) rename {docs => src/content/docs/general}/advance/website/server-plugins.md (85%) rename {docs => src/content/docs/general}/advance/website/website.md (96%) rename {docs => src/content/docs/general}/contribution/contribution.md (100%) rename {docs => src/content/docs/general}/contribution/image.md (100%) rename {docs => src/content/docs/general}/contribution/todos.md (100%) rename {docs => src/content/docs/general}/contribution/writing-specification/blank.md (100%) rename {docs => src/content/docs/general}/contribution/writing-specification/code-examples.md (100%) rename {docs => src/content/docs/general}/contribution/writing-specification/documentation-system.md (100%) rename {docs => src/content/docs/general}/contribution/writing-specification/numerical-value.md (100%) rename {docs => src/content/docs/general}/contribution/writing-specification/paragraph.md (100%) rename {docs => src/content/docs/general}/contribution/writing-specification/punctuation-marks.md (100%) rename {docs => src/content/docs/general}/contribution/writing-specification/reference.md (100%) rename {docs => src/content/docs/general}/contribution/writing-specification/text.md (100%) rename {docs => src/content/docs/general}/contribution/writing-specification/title.md (100%) rename {docs => src/content/docs/general}/contribution/writing-specification/writing-specification.md (100%) rename {docs => src/content/docs/general}/intro.md (100%) rename {docs => src/content/docs/general}/loss-thing.md (86%) rename "docs/preparation/_images/HbuilderX\345\261\225\347\244\272.png" => "src/content/docs/general/preparation/_assets/HbuilderX\345\261\225\347\244\272.png" (100%) rename "docs/preparation/_images/Npp\345\261\225\347\244\272.png" => "src/content/docs/general/preparation/_assets/Npp\345\261\225\347\244\272.png" (100%) rename "docs/preparation/_images/N\345\207\217\345\207\217\345\261\225\347\244\272.png" => "src/content/docs/general/preparation/_assets/N\345\207\217\345\207\217\345\261\225\347\244\272.png" (100%) rename "docs/preparation/_images/sublime\345\261\225\347\244\272.png" => "src/content/docs/general/preparation/_assets/sublime\345\261\225\347\244\272.png" (100%) rename "docs/preparation/_images/vscode\344\277\235\345\255\230\345\222\214\350\207\252\345\212\250\344\277\235\345\255\230.png" => "src/content/docs/general/preparation/_assets/vscode\344\277\235\345\255\230\345\222\214\350\207\252\345\212\250\344\277\235\345\255\230.png" (100%) rename "docs/preparation/_images/\347\231\275\347\202\271.png" => "src/content/docs/general/preparation/_assets/\347\231\275\347\202\271.png" (100%) rename {docs => src/content/docs/general}/preparation/dumb-script-usage.md (100%) rename {docs/preparation/java/_images => src/content/docs/general/preparation/java/_assets}/Oracle-1.png (100%) rename {docs/preparation/java/_images => src/content/docs/general/preparation/java/_assets}/Oracle-2.png (100%) rename {docs/preparation/java/_images => src/content/docs/general/preparation/java/_assets}/Oracle-3.png (100%) rename {docs/preparation/java/_images => src/content/docs/general/preparation/java/_assets}/Oracle-4.png (100%) rename {docs/preparation/java/_images => src/content/docs/general/preparation/java/_assets}/Oracle-5.png (100%) rename {docs/preparation/java/_images => src/content/docs/general/preparation/java/_assets}/cmd-1.png (100%) rename {docs/preparation/java/_images => src/content/docs/general/preparation/java/_assets}/cmd-2.png (100%) rename {docs/preparation/java/_images => src/content/docs/general/preparation/java/_assets}/environment-1.png (100%) rename {docs/preparation/java/_images => src/content/docs/general/preparation/java/_assets}/environment-11-1.png (100%) rename {docs/preparation/java/_images => src/content/docs/general/preparation/java/_assets}/environment-11-2.png (100%) rename {docs/preparation/java/_images => src/content/docs/general/preparation/java/_assets}/environment-2.png (100%) rename {docs/preparation/java/_images => src/content/docs/general/preparation/java/_assets}/environment-3.png (100%) rename {docs/preparation/java/_images => src/content/docs/general/preparation/java/_assets}/environment-4.png (100%) rename {docs/preparation/java/_images => src/content/docs/general/preparation/java/_assets}/environment-new-1.png (100%) rename {docs/preparation/java/_images => src/content/docs/general/preparation/java/_assets}/environment-new-2.png (100%) rename {docs/preparation/java/_images => src/content/docs/general/preparation/java/_assets}/environment-no.png (100%) rename {docs/preparation/java/_images => src/content/docs/general/preparation/java/_assets}/lava.jpg (100%) rename {docs/preparation/java/_images => src/content/docs/general/preparation/java/_assets}/path-1.png (100%) rename {docs => src/content/docs/general}/preparation/java/choose-and-download-and-install-java.md (90%) rename {docs => src/content/docs/general}/preparation/java/environment.md (85%) rename {docs => src/content/docs/general}/preparation/java/faq.md (100%) rename {docs => src/content/docs/general}/preparation/java/java.md (98%) rename {docs => src/content/docs/general}/preparation/java/path.md (92%) rename {docs => src/content/docs/general}/preparation/java/sdkman.md (100%) rename {docs => src/content/docs/general}/preparation/preparation.md (100%) rename {docs => src/content/docs/general}/preparation/services.md (100%) rename {docs => src/content/docs/general}/preparation/text-editor.md (92%) rename "docs/process/_images/\344\273\245\350\226\204\351\235\242\350\241\250\347\216\260vs\344\273\245\344\275\223\347\264\240\350\241\250\347\216\260.jpg" => "src/content/docs/general/process/_assets/\344\273\245\350\226\204\351\235\242\350\241\250\347\216\260vs\344\273\245\344\275\223\347\264\240\350\241\250\347\216\260.jpg" (100%) rename "docs/process/_images/\344\277\235\346\214\201\344\270\200\350\207\264\347\232\204\346\257\224\344\276\213vs\346\213\211\344\274\270\345\217\230\345\275\242\347\232\204\346\257\224\344\276\213.jpg" => "src/content/docs/general/process/_assets/\344\277\235\346\214\201\344\270\200\350\207\264\347\232\204\346\257\224\344\276\213vs\346\213\211\344\274\270\345\217\230\345\275\242\347\232\204\346\257\224\344\276\213.jpg" (100%) rename "docs/process/_images/\345\235\207\350\241\241\347\232\204\347\273\206\350\212\202\345\210\206\345\270\203vs\345\244\261\350\241\241\347\232\204\347\273\206\350\212\202\345\210\206\345\270\203.jpg" => "src/content/docs/general/process/_assets/\345\235\207\350\241\241\347\232\204\347\273\206\350\212\202\345\210\206\345\270\203vs\345\244\261\350\241\241\347\232\204\347\273\206\350\212\202\345\210\206\345\270\203.jpg" (100%) rename "docs/process/_images/\345\256\236\344\275\223\347\272\271\347\220\206.jpg" => "src/content/docs/general/process/_assets/\345\256\236\344\275\223\347\272\271\347\220\206.jpg" (100%) rename "docs/process/_images/\345\270\270\350\247\201\347\232\204HSV\350\260\203\350\212\202\351\235\242\346\235\277.jpg" => "src/content/docs/general/process/_assets/\345\270\270\350\247\201\347\232\204HSV\350\260\203\350\212\202\351\235\242\346\235\277.jpg" (100%) rename "docs/process/_images/\346\225\231\350\202\262\347\211\210\347\232\204Agentvs\345\216\237\347\211\210\347\232\204\351\223\201\345\202\200\345\204\241.jpg" => "src/content/docs/general/process/_assets/\346\225\231\350\202\262\347\211\210\347\232\204Agentvs\345\216\237\347\211\210\347\232\204\351\223\201\345\202\200\345\204\241.jpg" (100%) rename "docs/process/_images/\346\226\271\345\235\227\347\272\271\347\220\206.jpg" => "src/content/docs/general/process/_assets/\346\226\271\345\235\227\347\272\271\347\220\206.jpg" (100%) rename "docs/process/_images/\346\227\213\350\275\254\345\205\203\347\264\240vs\347\224\250\351\230\266\346\242\257\347\212\266\350\241\250\347\216\260.jpg" => "src/content/docs/general/process/_assets/\346\227\213\350\275\254\345\205\203\347\264\240vs\347\224\250\351\230\266\346\242\257\347\212\266\350\241\250\347\216\260.jpg" (100%) rename "docs/process/_images/\346\234\211\346\212\227\351\224\257\351\275\277\345\244\204\347\220\206vs\346\227\240\346\212\227\351\224\257\351\275\277\347\232\204\351\270\241\350\233\213.jpg" => "src/content/docs/general/process/_assets/\346\234\211\346\212\227\351\224\257\351\275\277\345\244\204\347\220\206vs\346\227\240\346\212\227\351\224\257\351\275\277\347\232\204\351\270\241\350\233\213.jpg" (100%) rename "docs/process/_images/\346\241\266.jpg" => "src/content/docs/general/process/_assets/\346\241\266.jpg" (100%) rename "docs/process/_images/\346\262\211\351\227\267\347\232\204\350\234\234\350\204\276vs\351\262\234\350\211\263\350\257\261\344\272\272\347\232\204\350\234\234\350\204\276.jpg" => "src/content/docs/general/process/_assets/\346\262\211\351\227\267\347\232\204\350\234\234\350\204\276vs\351\262\234\350\211\263\350\257\261\344\272\272\347\232\204\350\234\234\350\204\276.jpg" (100%) rename "docs/process/_images/\346\265\267\345\270\246.jpg" => "src/content/docs/general/process/_assets/\346\265\267\345\270\246.jpg" (100%) rename "docs/process/_images/\346\265\267\346\264\213\344\271\213\345\277\203.jpg" => "src/content/docs/general/process/_assets/\346\265\267\346\264\213\344\271\213\345\277\203.jpg" (100%) rename "docs/process/_images/\346\267\267\345\220\210\345\203\217\347\264\240\347\202\271.jpg" => "src/content/docs/general/process/_assets/\346\267\267\345\220\210\345\203\217\347\264\240\347\202\271.jpg" (100%) rename "docs/process/_images/\347\211\251\345\223\201\347\272\271\347\220\206.jpg" => "src/content/docs/general/process/_assets/\347\211\251\345\223\201\347\272\271\347\220\206.jpg" (100%) rename "docs/process/_images/\347\233\264\347\272\277\344\270\216\346\233\262\347\272\277\344\270\255\347\232\204\351\224\257\351\275\277\350\241\250\347\216\260.jpg" => "src/content/docs/general/process/_assets/\347\233\264\347\272\277\344\270\216\346\233\262\347\272\277\344\270\255\347\232\204\351\224\257\351\275\277\350\241\250\347\216\260.jpg" (100%) rename "docs/process/_images/\347\234\237\344\272\272vsSteve.jpg" => "src/content/docs/general/process/_assets/\347\234\237\344\272\272vsSteve.jpg" (100%) rename "docs/process/_images/\347\256\261\345\275\242UV\350\264\264\345\233\276.jpg" => "src/content/docs/general/process/_assets/\347\256\261\345\275\242UV\350\264\264\345\233\276.jpg" (100%) rename "docs/process/_images/\350\207\252\345\212\250UV.jpg" => "src/content/docs/general/process/_assets/\350\207\252\345\212\250UV.jpg" (100%) rename "docs/process/_images/\350\213\271\346\236\234.jpg" => "src/content/docs/general/process/_assets/\350\213\271\346\236\234.jpg" (100%) rename "docs/process/_images/\350\257\206\345\210\253\347\272\271\347\220\206.jpg" => "src/content/docs/general/process/_assets/\350\257\206\345\210\253\347\272\271\347\220\206.jpg" (100%) rename "docs/process/_images/\351\222\273\347\237\263\345\211\221.jpg" => "src/content/docs/general/process/_assets/\351\222\273\347\237\263\345\211\221.jpg" (100%) rename {docs => src/content/docs/general}/process/create-art-assets.md (91%) rename {docs/process/database/_images => src/content/docs/general/process/database/_assets}/1.png (100%) rename {docs/process/database/_images => src/content/docs/general/process/database/_assets}/10.png (100%) rename {docs/process/database/_images => src/content/docs/general/process/database/_assets}/11.png (100%) rename {docs/process/database/_images => src/content/docs/general/process/database/_assets}/12.png (100%) rename {docs/process/database/_images => src/content/docs/general/process/database/_assets}/13.png (100%) rename {docs/process/database/_images => src/content/docs/general/process/database/_assets}/14.png (100%) rename {docs/process/database/_images => src/content/docs/general/process/database/_assets}/15.png (100%) rename {docs/process/database/_images => src/content/docs/general/process/database/_assets}/16.png (100%) rename {docs/process/database/_images => src/content/docs/general/process/database/_assets}/17.png (100%) rename {docs/process/database/_images => src/content/docs/general/process/database/_assets}/18.png (100%) rename {docs/process/database/_images => src/content/docs/general/process/database/_assets}/19.png (100%) rename {docs/process/database/_images => src/content/docs/general/process/database/_assets}/2.png (100%) rename {docs/process/database/_images => src/content/docs/general/process/database/_assets}/20.png (100%) rename {docs/process/database/_images => src/content/docs/general/process/database/_assets}/21.png (100%) rename {docs/process/database/_images => src/content/docs/general/process/database/_assets}/22.png (100%) rename {docs/process/database/_images => src/content/docs/general/process/database/_assets}/23.png (100%) rename {docs/process/database/_images => src/content/docs/general/process/database/_assets}/24.png (100%) rename {docs/process/database/_images => src/content/docs/general/process/database/_assets}/25.png (100%) rename {docs/process/database/_images => src/content/docs/general/process/database/_assets}/26.png (100%) rename {docs/process/database/_images => src/content/docs/general/process/database/_assets}/27.png (100%) rename {docs/process/database/_images => src/content/docs/general/process/database/_assets}/28.png (100%) rename {docs/process/database/_images => src/content/docs/general/process/database/_assets}/29.png (100%) rename {docs/process/database/_images => src/content/docs/general/process/database/_assets}/3.png (100%) rename {docs/process/database/_images => src/content/docs/general/process/database/_assets}/30.png (100%) rename {docs/process/database/_images => src/content/docs/general/process/database/_assets}/31.png (100%) rename {docs/process/database/_images => src/content/docs/general/process/database/_assets}/32.png (100%) rename {docs/process/database/_images => src/content/docs/general/process/database/_assets}/33.png (100%) rename {docs/process/database/_images => src/content/docs/general/process/database/_assets}/34.png (100%) rename {docs/process/database/_images => src/content/docs/general/process/database/_assets}/35.png (100%) rename {docs/process/database/_images => src/content/docs/general/process/database/_assets}/36.png (100%) rename {docs/process/database/_images => src/content/docs/general/process/database/_assets}/37.png (100%) rename {docs/process/database/_images => src/content/docs/general/process/database/_assets}/38.png (100%) rename {docs/process/database/_images => src/content/docs/general/process/database/_assets}/39.png (100%) rename {docs/process/database/_images => src/content/docs/general/process/database/_assets}/4.png (100%) rename {docs/process/database/_images => src/content/docs/general/process/database/_assets}/40.png (100%) rename {docs/process/database/_images => src/content/docs/general/process/database/_assets}/41.png (100%) rename {docs/process/database/_images => src/content/docs/general/process/database/_assets}/42.png (100%) rename {docs/process/database/_images => src/content/docs/general/process/database/_assets}/44.png (100%) rename {docs/process/database/_images => src/content/docs/general/process/database/_assets}/45.png (100%) rename {docs/process/database/_images => src/content/docs/general/process/database/_assets}/46.png (100%) rename {docs/process/database/_images => src/content/docs/general/process/database/_assets}/47.png (100%) rename {docs/process/database/_images => src/content/docs/general/process/database/_assets}/48.png (100%) rename {docs/process/database/_images => src/content/docs/general/process/database/_assets}/49.png (100%) rename {docs/process/database/_images => src/content/docs/general/process/database/_assets}/5.png (100%) rename {docs/process/database/_images => src/content/docs/general/process/database/_assets}/50.png (100%) rename {docs/process/database/_images => src/content/docs/general/process/database/_assets}/51.png (100%) rename {docs/process/database/_images => src/content/docs/general/process/database/_assets}/52.png (100%) rename {docs/process/database/_images => src/content/docs/general/process/database/_assets}/53.png (100%) rename {docs/process/database/_images => src/content/docs/general/process/database/_assets}/6.png (100%) rename {docs/process/database/_images => src/content/docs/general/process/database/_assets}/7.png (100%) rename {docs/process/database/_images => src/content/docs/general/process/database/_assets}/8.png (100%) rename {docs/process/database/_images => src/content/docs/general/process/database/_assets}/9.png (100%) rename {docs => src/content/docs/general}/process/database/backup.md (84%) rename {docs => src/content/docs/general}/process/database/configure.md (100%) rename {docs => src/content/docs/general}/process/database/database.md (100%) rename {docs => src/content/docs/general}/process/database/install.md (78%) rename {docs => src/content/docs/general}/process/database/uninstall.md (100%) rename {docs => src/content/docs/general}/process/database/use.md (60%) rename {docs/process/deploy/_images => src/content/docs/general/process/deploy/_assets}/mcsm.png (100%) rename "docs/process/deploy/_images/\347\277\274\351\276\231\351\235\242\346\235\277.png" => "src/content/docs/general/process/deploy/_assets/\347\277\274\351\276\231\351\235\242\346\235\277.png" (100%) rename "docs/process/deploy/_images/\350\264\255\347\275\256\346\234\215\345\212\241\345\231\250/cpu.jpg" => "src/content/docs/general/process/deploy/_assets/\350\264\255\347\275\256\346\234\215\345\212\241\345\231\250/cpu.jpg" (100%) rename "docs/process/deploy/_images/\350\277\236\346\216\245\346\234\215\345\212\241\345\231\250/1.png" => "src/content/docs/general/process/deploy/_assets/\350\277\236\346\216\245\346\234\215\345\212\241\345\231\250/1.png" (100%) rename "docs/process/deploy/_images/\350\277\236\346\216\245\346\234\215\345\212\241\345\231\250/2.png" => "src/content/docs/general/process/deploy/_assets/\350\277\236\346\216\245\346\234\215\345\212\241\345\231\250/2.png" (100%) rename "docs/process/deploy/_images/\350\277\236\346\216\245\346\234\215\345\212\241\345\231\250/3.png" => "src/content/docs/general/process/deploy/_assets/\350\277\236\346\216\245\346\234\215\345\212\241\345\231\250/3.png" (100%) rename {docs => src/content/docs/general}/process/deploy/apply-for-public-ip-address.md (100%) rename {docs => src/content/docs/general}/process/deploy/connect-to-the-cloud.md (97%) rename {docs => src/content/docs/general}/process/deploy/deploy.md (100%) rename {docs => src/content/docs/general}/process/deploy/intranet-penetration.md (100%) rename {docs => src/content/docs/general}/process/deploy/optional-methods.md (99%) rename {docs => src/content/docs/general}/process/deploy/purchase-server.md (99%) rename {docs/process/maintenance/_images => src/content/docs/general/process/maintenance/_assets}/angryopenfrp.jpg (100%) rename {docs => src/content/docs/general}/process/maintenance/how-to-defend-against-cyber-attacks.md (78%) rename {docs => src/content/docs/general}/process/maintenance/maintenance.md (100%) rename {docs => src/content/docs/general}/process/maintenance/plugin-troubleshooting.md (100%) rename {docs/process/map/_images => src/content/docs/general/process/map/_assets}/356845062-1de0bbf4-7d26-4beb-b010-2f4d88efdba4.png (100%) rename {docs/process/map/_images => src/content/docs/general/process/map/_assets}/356845134-18be416f-daf5-4ae9-8560-8412fda83dc6.png (100%) rename {docs/process/map/_images => src/content/docs/general/process/map/_assets}/54ef42d10ca2ce57484ef606117640460249e48e.png (100%) rename {docs/process/map/_images => src/content/docs/general/process/map/_assets}/825a21073ee817018bffff06e55d12da55b2a5b0.png (100%) rename {docs/process/map/_images => src/content/docs/general/process/map/_assets}/Grettzzz-1.JPG (100%) rename {docs/process/map/_images => src/content/docs/general/process/map/_assets}/Grettzzz-2.png (100%) rename {docs/process/map/_images => src/content/docs/general/process/map/_assets}/Grettzzz-3.png (100%) rename {docs/process/map/_images => src/content/docs/general/process/map/_assets}/bb.png (100%) rename {docs/process/map/_images => src/content/docs/general/process/map/_assets}/bluemap-demo.png (100%) rename {docs/process/map/_images => src/content/docs/general/process/map/_assets}/bs.jpg (100%) rename {docs/process/map/_images => src/content/docs/general/process/map/_assets}/bs2.jpg (100%) rename {docs/process/map/_images => src/content/docs/general/process/map/_assets}/dynmap-demo.png (100%) rename {docs/process/map/_images => src/content/docs/general/process/map/_assets}/erra.jpg (100%) rename {docs/process/map/_images => src/content/docs/general/process/map/_assets}/iris.png (100%) rename {docs/process/map/_images => src/content/docs/general/process/map/_assets}/laobaitu156-1.png (100%) rename {docs/process/map/_images => src/content/docs/general/process/map/_assets}/laobaitu156-2.png (100%) rename {docs/process/map/_images => src/content/docs/general/process/map/_assets}/laobaitu156-3.png (100%) rename {docs/process/map/_images => src/content/docs/general/process/map/_assets}/mc.gif (100%) rename {docs/process/map/_images => src/content/docs/general/process/map/_assets}/mcaselector.png (100%) rename {docs/process/map/_images => src/content/docs/general/process/map/_assets}/overviewer-demo.png (100%) rename {docs/process/map/_images => src/content/docs/general/process/map/_assets}/squaremap-demo.png (100%) rename {docs/process/map/_images => src/content/docs/general/process/map/_assets}/st.png (100%) rename {docs/process/map/_images => src/content/docs/general/process/map/_assets}/st2.png (100%) rename {docs/process/map/_images => src/content/docs/general/process/map/_assets}/t.png (100%) rename {docs/process/map/_images => src/content/docs/general/process/map/_assets}/t2.png (100%) rename {docs/process/map/_images => src/content/docs/general/process/map/_assets}/terra2.png (100%) rename {docs/process/map/_images => src/content/docs/general/process/map/_assets}/z_wuxin-1.png (100%) rename {docs/process/map/_images => src/content/docs/general/process/map/_assets}/z_wuxin-2.png (100%) rename "docs/process/map/_images/\345\203\265\345\260\270\346\234\253\346\227\245-1.png" => "src/content/docs/general/process/map/_assets/\345\203\265\345\260\270\346\234\253\346\227\245-1.png" (100%) rename "docs/process/map/_images/\345\203\265\345\260\270\346\234\253\346\227\245-2.png" => "src/content/docs/general/process/map/_assets/\345\203\265\345\260\270\346\234\253\346\227\245-2.png" (100%) rename "docs/process/map/_images/\345\203\265\345\260\270\346\234\253\346\227\245-3.png" => "src/content/docs/general/process/map/_assets/\345\203\265\345\260\270\346\234\253\346\227\245-3.png" (100%) rename "docs/process/map/_images/\345\203\265\345\260\270\346\234\253\346\227\245-4.png" => "src/content/docs/general/process/map/_assets/\345\203\265\345\260\270\346\234\253\346\227\245-4.png" (100%) rename "docs/process/map/_images/\345\203\265\345\260\270\346\234\253\346\227\245-5.png" => "src/content/docs/general/process/map/_assets/\345\203\265\345\260\270\346\234\253\346\227\245-5.png" (100%) rename "docs/process/map/_images/\345\203\265\345\260\270\346\234\253\346\227\245-6.png" => "src/content/docs/general/process/map/_assets/\345\203\265\345\260\270\346\234\253\346\227\245-6.png" (100%) rename "docs/process/map/_images/\345\203\265\345\260\270\346\234\253\346\227\245-7.png" => "src/content/docs/general/process/map/_assets/\345\203\265\345\260\270\346\234\253\346\227\245-7.png" (100%) rename {docs => src/content/docs/general}/process/map/convert.md (99%) rename {docs => src/content/docs/general}/process/map/map.md (80%) rename {docs => src/content/docs/general}/process/map/plugin.md (70%) rename {docs => src/content/docs/general}/process/map/purchase.md (99%) rename {docs => src/content/docs/general}/process/map/steal.md (100%) rename {docs => src/content/docs/general}/process/map/web.md (93%) rename {docs => src/content/docs/general}/process/panel.md (100%) rename {docs => src/content/docs/general}/process/process.md (100%) rename {docs => src/content/docs/general}/process/whitelist.md (100%) rename {docs => src/content/docs/general}/reading-guide.md (100%) rename {docs/start/_images => src/content/docs/general/start/_assets}/qnmd_raw.png (100%) rename "docs/start/_images/\344\270\215\350\246\201\346\210\252\345\233\276\350\277\231\344\270\252\345\225\212.png" => "src/content/docs/general/start/_assets/\344\270\215\350\246\201\346\210\252\345\233\276\350\277\231\344\270\252\345\225\212.png" (100%) rename "docs/start/_images/\345\261\217\345\271\225\346\210\252\345\233\276 2025-02-07 182759.png" => "src/content/docs/general/start/_assets/\345\261\217\345\271\225\346\210\252\345\233\276 2025-02-07 182759.png" (100%) rename "docs/start/_images/\345\261\217\345\271\225\346\210\252\345\233\276 2025-02-07 182930.png" => "src/content/docs/general/start/_assets/\345\261\217\345\271\225\346\210\252\345\233\276 2025-02-07 182930.png" (100%) rename "docs/start/_images/\351\227\256\351\227\256\351\242\230\347\232\204\346\212\200\345\267\247/\346\262\241\344\272\213\344\270\215\350\246\201\345\205\215\350\264\271\345\270\256\344\272\272.jpg" => "src/content/docs/general/start/_assets/\351\227\256\351\227\256\351\242\230\347\232\204\346\212\200\345\267\247/\346\262\241\344\272\213\344\270\215\350\246\201\345\205\215\350\264\271\345\270\256\344\272\272.jpg" (100%) rename "docs/start/_images/\351\227\256\351\227\256\351\242\230\347\232\204\346\212\200\345\267\247/\347\273\217\345\205\270\350\200\201\345\233\276-1.jpg" => "src/content/docs/general/start/_assets/\351\227\256\351\227\256\351\242\230\347\232\204\346\212\200\345\267\247/\347\273\217\345\205\270\350\200\201\345\233\276-1.jpg" (100%) rename "docs/start/_images/\351\227\256\351\227\256\351\242\230\347\232\204\346\212\200\345\267\247/\347\273\217\345\205\270\350\200\201\345\233\276-2.jpg" => "src/content/docs/general/start/_assets/\351\227\256\351\227\256\351\242\230\347\232\204\346\212\200\345\267\247/\347\273\217\345\205\270\350\200\201\345\233\276-2.jpg" (100%) rename "docs/start/_images/\351\227\256\351\227\256\351\242\230\347\232\204\346\212\200\345\267\247/\347\273\217\345\205\270\350\200\201\345\233\276-3.jpg" => "src/content/docs/general/start/_assets/\351\227\256\351\227\256\351\242\230\347\232\204\346\212\200\345\267\247/\347\273\217\345\205\270\350\200\201\345\233\276-3.jpg" (100%) rename {docs => src/content/docs/general}/start/ask-for-help.md (56%) rename {docs-java/start/basic/_images => src/content/docs/general/start/basic/_assets}/nogui.jpg (100%) rename "docs/start/basic/_images/\345\217\243\345\255\227\347\254\246.png" => "src/content/docs/general/start/basic/_assets/\345\217\243\345\255\227\347\254\246.png" (100%) rename {docs => src/content/docs/general}/start/basic/basic.md (100%) rename {docs => src/content/docs/general}/start/basic/what-is-lag.md (100%) rename {docs => src/content/docs/general}/start/basic/what-is-log.md (100%) rename {docs => src/content/docs/general}/start/basic/what-is-messy-code.md (98%) rename {docs => src/content/docs/general}/start/basic/what-is-permission.md (100%) rename {docs => src/content/docs/general}/start/basic/what-is-plugin.md (100%) rename {docs => src/content/docs/general}/start/basic/what-is-server.md (100%) rename {docs => src/content/docs/general}/start/basic/what-is-startup-script.md (73%) rename {docs => src/content/docs/general}/start/start.md (100%) rename {docs-java => src/content/docs/java}/advance/advance.md (100%) rename {docs-java => src/content/docs/java}/advance/bot.md (100%) rename {docs-java => src/content/docs/java}/advance/chinese-username.md (100%) rename {docs-java => src/content/docs/java}/advance/command-yml.md (100%) rename {docs-java => src/content/docs/java}/advance/domain-registration.md (100%) rename {docs-java => src/content/docs/java}/advance/linux.md (100%) rename {docs-java => src/content/docs/java}/advance/login-choices.md (100%) rename {docs-java => src/content/docs/java}/advance/slime-world.md (100%) rename {docs-java => src/content/docs/java}/advance/yaml/extention.md (100%) rename {docs-java => src/content/docs/java}/advance/yaml/general.md (100%) rename {docs-java => src/content/docs/java}/advance/yaml/yaml.md (100%) rename {docs-java => src/content/docs/java}/intro.md (100%) rename {docs-java/preparation/_images => src/content/docs/java/preparation/_assets}/motd.png (100%) rename {docs-java/preparation/_images => src/content/docs/java/preparation/_assets}/spigotmc.png (100%) rename {docs-java => src/content/docs/java}/preparation/choose-and-download-and-install-java.md (100%) rename {docs-java => src/content/docs/java}/preparation/dumb-script-usage.md (100%) rename {docs-java => src/content/docs/java}/preparation/preparation.md (100%) rename {docs-java => src/content/docs/java}/preparation/services.md (100%) rename {docs-java => src/content/docs/java}/preparation/text-editor.md (100%) rename {docs-java => src/content/docs/java}/preparation/websites.md (97%) rename {docs-java => src/content/docs/java}/process/create-art-assets.md (100%) rename "docs-java/process/cross-server/_images/\347\201\265\351\255\202\347\224\273\345\270\210\346\225\231\345\274\200\347\276\244\347\273\204\346\234\215.png" => "src/content/docs/java/process/cross-server/_assets/\347\201\265\351\255\202\347\224\273\345\270\210\346\225\231\345\274\200\347\276\244\347\273\204\346\234\215.png" (100%) rename {docs-java => src/content/docs/java}/process/cross-server/command.md (100%) rename {docs-java => src/content/docs/java}/process/cross-server/cross-server.md (98%) rename {docs-java => src/content/docs/java}/process/cross-server/hide-the-real-ip.md (100%) rename {docs-java => src/content/docs/java}/process/cross-server/join-server.md (100%) rename {docs-java => src/content/docs/java}/process/cross-server/plugin/backend-only.md (100%) rename {docs-java => src/content/docs/java}/process/cross-server/plugin/plugin.md (100%) rename {docs-java => src/content/docs/java}/process/cross-server/plugin/proxy-backend-mandatory.md (100%) rename {docs-java => src/content/docs/java}/process/cross-server/plugin/proxy-backend-optional.md (100%) rename {docs-java => src/content/docs/java}/process/cross-server/plugin/proxy-only.md (100%) rename {docs-java => src/content/docs/java}/process/cross-server/precautions.md (100%) rename {docs-java => src/content/docs/java}/process/cross-server/server-core-choose.md (100%) rename {docs-java/process/cross-server/setup/_images => src/content/docs/java/process/cross-server/setup/_assets}/BungeeCord.png (100%) rename {docs-java/process/cross-server/setup/_images => src/content/docs/java/process/cross-server/setup/_assets}/Velocity.png (100%) rename {docs-java => src/content/docs/java}/process/cross-server/setup/bungeecord/bungeecord.md (91%) rename {docs-java => src/content/docs/java}/process/cross-server/setup/bungeecord/config-yml.md (100%) rename {docs-java => src/content/docs/java}/process/cross-server/setup/bungeecord/lobby.md (100%) rename {docs-java => src/content/docs/java}/process/cross-server/setup/bungeecord/setup.md (100%) rename {docs-java => src/content/docs/java}/process/cross-server/setup/setup.md (100%) rename {docs-java => src/content/docs/java}/process/cross-server/setup/transfer/setup.md (100%) rename {docs-java => src/content/docs/java}/process/cross-server/setup/transfer/transfer.md (100%) rename {docs-java => src/content/docs/java}/process/cross-server/setup/velocity-ctd/features.md (100%) rename {docs-java => src/content/docs/java}/process/cross-server/setup/velocity-ctd/lobby.md (100%) rename {docs-java => src/content/docs/java}/process/cross-server/setup/velocity-ctd/setup.md (100%) create mode 100644 src/content/docs/java/process/cross-server/setup/velocity-ctd/velocity-ctd.md rename {docs-java => src/content/docs/java}/process/cross-server/setup/velocity-ctd/velocity-toml.md (100%) rename {docs-java => src/content/docs/java}/process/cross-server/setup/velocity/lobby.md (100%) rename {docs-java => src/content/docs/java}/process/cross-server/setup/velocity/setup.md (100%) rename {docs-java => src/content/docs/java}/process/cross-server/setup/velocity/velocity-toml.md (100%) rename {docs-java => src/content/docs/java}/process/cross-server/setup/velocity/velocity.md (86%) rename {docs-java => src/content/docs/java}/process/dashboard.md (100%) rename {docs-java => src/content/docs/java}/process/database.md (100%) rename {docs-java/process/maintenance/anticheat/_images => src/content/docs/java/process/maintenance/anticheat/_assets}/anticheat/antixray-mode1-1.png (100%) rename {docs-java/process/maintenance/anticheat/_images => src/content/docs/java/process/maintenance/anticheat/_assets}/anticheat/antixray-mode2-1.png (100%) rename {docs-java/process/maintenance/anticheat/_images => src/content/docs/java/process/maintenance/anticheat/_assets}/anticheat/antixray-mode3-1.png (100%) rename {docs-java/process/maintenance/anticheat/_images => src/content/docs/java/process/maintenance/anticheat/_assets}/anticheat/antixray-nerher-mode1.png (100%) rename {docs-java/process/maintenance/anticheat/_images => src/content/docs/java/process/maintenance/anticheat/_assets}/anticheat/antixray-nerher-mode3.png (100%) rename {docs-java/process/maintenance/anticheat/_images => src/content/docs/java/process/maintenance/anticheat/_assets}/anticheat/antixray-nether-mode2.png (100%) rename {docs-java/process/maintenance/anticheat/_images => src/content/docs/java/process/maintenance/anticheat/_assets}/anticheat/talentsaclogo.png (100%) rename {docs-java/process/maintenance/anticheat/_images => src/content/docs/java/process/maintenance/anticheat/_assets}/img.png (100%) rename {docs-java/process/maintenance/anticheat/_images => src/content/docs/java/process/maintenance/anticheat/_assets}/img_1.png (100%) rename {docs-java => src/content/docs/java}/process/maintenance/anticheat/anti-crash.md (100%) rename {docs-java => src/content/docs/java}/process/maintenance/anticheat/anticheat.md (100%) rename {docs-java => src/content/docs/java}/process/maintenance/anticheat/anticheatplugins.md (89%) rename {docs-java => src/content/docs/java}/process/maintenance/anticheat/antixray.md (95%) rename {docs-java => src/content/docs/java}/process/maintenance/anticheat/honeypot.md (100%) rename {docs-java => src/content/docs/java}/process/maintenance/anticheat/rng.md (100%) rename {docs-java => src/content/docs/java}/process/maintenance/backup.md (100%) rename {docs-java => src/content/docs/java}/process/maintenance/how-to-defend-against-cyber-attacks.md (100%) rename {docs-java => src/content/docs/java}/process/maintenance/lang/javascript/extend/extend.md (100%) rename {docs-java => src/content/docs/java}/process/maintenance/lang/javascript/extend/graaljs.md (100%) rename {docs-java => src/content/docs/java}/process/maintenance/lang/javascript/extend/nashorn.md (100%) rename {docs-java => src/content/docs/java}/process/maintenance/lang/javascript/javascript.md (100%) rename {docs-java/process/maintenance/lang/kether/_images => src/content/docs/java/process/maintenance/lang/kether/_assets}/Vulpecula/1.png (100%) rename {docs-java/process/maintenance/lang/kether/_images => src/content/docs/java/process/maintenance/lang/kether/_assets}/Vulpecula/2.png (100%) rename {docs-java/process/maintenance/lang/kether/_images => src/content/docs/java/process/maintenance/lang/kether/_assets}/Vulpecula/3.png (100%) rename {docs-java/process/maintenance/lang/kether/_images => src/content/docs/java/process/maintenance/lang/kether/_assets}/Vulpecula/4.png (100%) rename {docs-java/process/maintenance/lang/kether/_images => src/content/docs/java/process/maintenance/lang/kether/_assets}/Vulpecula/5.png (100%) rename {docs-java/process/maintenance/lang/kether/_images => src/content/docs/java/process/maintenance/lang/kether/_assets}/Vulpecula/6.png (100%) rename {docs-java/process/maintenance/lang/kether/_images => src/content/docs/java/process/maintenance/lang/kether/_assets}/Vulpecula/7.png (100%) rename {docs-java/process/maintenance/lang/kether/_images => src/content/docs/java/process/maintenance/lang/kether/_assets}/Vulpecula/8.png (100%) rename {docs-java/process/maintenance/lang/kether/_images => src/content/docs/java/process/maintenance/lang/kether/_assets}/Vulpecula/9.png (100%) rename {docs-java/process/maintenance/lang/kether/_images => src/content/docs/java/process/maintenance/lang/kether/_assets}/if_1.png (100%) rename {docs-java/process/maintenance/lang/kether/_images => src/content/docs/java/process/maintenance/lang/kether/_assets}/if_2.png (100%) rename {docs-java/process/maintenance/lang/kether/_images => src/content/docs/java/process/maintenance/lang/kether/_assets}/if_3.png (100%) rename {docs-java/process/maintenance/lang/kether/_images => src/content/docs/java/process/maintenance/lang/kether/_assets}/inline.png (100%) rename {docs-java/process/maintenance/lang/kether/_images => src/content/docs/java/process/maintenance/lang/kether/_assets}/math_1.png (100%) rename {docs-java/process/maintenance/lang/kether/_images => src/content/docs/java/process/maintenance/lang/kether/_assets}/result.png (100%) rename {docs-java/process/maintenance/lang/kether/_images => src/content/docs/java/process/maintenance/lang/kether/_assets}/type_1.png (100%) rename {docs-java/process/maintenance/lang/kether/_images => src/content/docs/java/process/maintenance/lang/kether/_assets}/var_1.png (100%) rename {docs-java/process/maintenance/lang/kether/_images => src/content/docs/java/process/maintenance/lang/kether/_assets}/var_2.png (100%) rename {docs-java/process/maintenance/lang/kether/_images => src/content/docs/java/process/maintenance/lang/kether/_assets}/var_3.png (100%) rename {docs-java/process/maintenance/lang/kether/_images => src/content/docs/java/process/maintenance/lang/kether/_assets}/var_4.png (100%) rename {docs-java/process/maintenance/lang/kether/_images => src/content/docs/java/process/maintenance/lang/kether/_assets}/var_5.png (100%) rename {docs-java/process/maintenance/lang/kether/_images => src/content/docs/java/process/maintenance/lang/kether/_assets}/var_6.png (100%) rename {docs-java/process/maintenance/lang/kether/_images => src/content/docs/java/process/maintenance/lang/kether/_assets}/var_7.png (100%) rename {docs-java/process/maintenance/lang/kether/_images => src/content/docs/java/process/maintenance/lang/kether/_assets}/vul-check.png (100%) rename {docs-java/process/maintenance/lang/kether/_images => src/content/docs/java/process/maintenance/lang/kether/_assets}/vul-color.png (100%) rename {docs-java/process/maintenance/lang/kether/_images => src/content/docs/java/process/maintenance/lang/kether/_assets}/vul-papi.png (100%) rename {docs-java/process/maintenance/lang/kether/_images => src/content/docs/java/process/maintenance/lang/kether/_assets}/vul-perm.png (100%) rename {docs-java/process/maintenance/lang/kether/_images => src/content/docs/java/process/maintenance/lang/kether/_assets}/vul-permNot_1.png (100%) rename {docs-java/process/maintenance/lang/kether/_images => src/content/docs/java/process/maintenance/lang/kether/_assets}/vul-permNot_2.png (100%) rename {docs-java/process/maintenance/lang/kether/_images => src/content/docs/java/process/maintenance/lang/kether/_assets}/vul-tell.png (100%) rename {docs-java/process/maintenance/lang/kether/_images => src/content/docs/java/process/maintenance/lang/kether/_assets}/vul-tell_color.png (100%) rename {docs-java/process/maintenance/lang/kether/_images => src/content/docs/java/process/maintenance/lang/kether/_assets}/vul-tell_name.png (100%) rename {docs-java/process/maintenance/lang/kether/_images => src/content/docs/java/process/maintenance/lang/kether/_assets}/vul-tell_noColor.png (100%) rename {docs-java/process/maintenance/lang/kether/_images => src/content/docs/java/process/maintenance/lang/kether/_assets}/vul-tell_papiNoInline.png (100%) rename {docs-java/process/maintenance/lang/kether/_images => src/content/docs/java/process/maintenance/lang/kether/_assets}/vul-tell_papiWithInline.png (100%) rename {docs-java/process/maintenance/lang/kether/_images => src/content/docs/java/process/maintenance/lang/kether/_assets}/vul-tell_papiWithJoin.png (100%) rename {docs-java/process/maintenance/lang/kether/_images => src/content/docs/java/process/maintenance/lang/kether/_assets}/vul-tell_tell.png (100%) rename {docs-java/process/maintenance/lang/kether/_images => src/content/docs/java/process/maintenance/lang/kether/_assets}/web-tell.png (100%) rename "docs-java/process/maintenance/lang/kether/_images/\345\206\222\346\261\227.jpg" => "src/content/docs/java/process/maintenance/lang/kether/_assets/\345\206\222\346\261\227.jpg" (100%) rename "docs-java/process/maintenance/lang/kether/_images/\346\213\254\345\217\267.png" => "src/content/docs/java/process/maintenance/lang/kether/_assets/\346\213\254\345\217\267.png" (100%) rename "docs-java/process/maintenance/lang/kether/_images/\346\255\243\347\273\217\347\254\221.jpg" => "src/content/docs/java/process/maintenance/lang/kether/_assets/\346\255\243\347\273\217\347\254\221.jpg" (100%) rename "docs-java/process/maintenance/lang/kether/_images/\347\227\264\345\221\206.jpg" => "src/content/docs/java/process/maintenance/lang/kether/_assets/\347\227\264\345\221\206.jpg" (100%) rename {docs-java => src/content/docs/java}/process/maintenance/lang/kether/basic.md (88%) rename {docs-java => src/content/docs/java}/process/maintenance/lang/kether/if.md (92%) rename {docs-java => src/content/docs/java}/process/maintenance/lang/kether/kether.md (100%) rename {docs-java => src/content/docs/java}/process/maintenance/lang/kether/math.md (79%) rename {docs-java => src/content/docs/java}/process/maintenance/lang/kether/misc.md (97%) rename {docs-java => src/content/docs/java}/process/maintenance/lang/kether/preparation.md (96%) rename {docs-java => src/content/docs/java}/process/maintenance/lang/kether/variable.md (93%) rename {docs-java => src/content/docs/java}/process/maintenance/lang/kether/vulpecula.md (59%) rename {docs-java => src/content/docs/java}/process/maintenance/lang/lang.md (100%) rename {docs-java/process/maintenance/lang/skript/_images => src/content/docs/java/process/maintenance/lang/skript/_assets}/QuerySubclasses.png (100%) rename {docs-java/process/maintenance/lang/skript/_images => src/content/docs/java/process/maintenance/lang/skript/_assets}/SearchEvent.png (100%) rename {docs-java/process/maintenance/lang/skript/_images => src/content/docs/java/process/maintenance/lang/skript/_assets}/SearchMethods.png (100%) rename {docs-java/process/maintenance/lang/skript/_images => src/content/docs/java/process/maintenance/lang/skript/_assets}/SkriptBasic1.png (100%) rename {docs-java => src/content/docs/java}/process/maintenance/lang/skript/advanced-tutorials.md (92%) rename {docs-java => src/content/docs/java}/process/maintenance/lang/skript/basic-tutorials.md (91%) rename {docs-java => src/content/docs/java}/process/maintenance/lang/skript/skript.md (100%) rename {docs-java => src/content/docs/java}/process/maintenance/maintenance.md (100%) rename {docs-java/process/maintenance/optimize/_images => src/content/docs/java/process/maintenance/optimize/_assets}/ummm.jpg (100%) rename "docs-java/process/maintenance/optimize/_images/\346\200\216\344\271\210\350\256\251\345\244\247\344\275\254\345\270\256\346\210\221/spark_start.png" => "src/content/docs/java/process/maintenance/optimize/_assets/\346\200\216\344\271\210\350\256\251\345\244\247\344\275\254\345\270\256\346\210\221/spark_start.png" (100%) rename "docs-java/process/maintenance/optimize/_images/\346\200\216\344\271\210\350\256\251\345\244\247\344\275\254\345\270\256\346\210\221/spark_stop.png" => "src/content/docs/java/process/maintenance/optimize/_assets/\346\200\216\344\271\210\350\256\251\345\244\247\344\275\254\345\270\256\346\210\221/spark_stop.png" (100%) rename {docs-java => src/content/docs/java}/process/maintenance/optimize/ask-for-help.md (87%) rename {docs-java => src/content/docs/java}/process/maintenance/optimize/go.mdx (100%) rename {docs-java => src/content/docs/java}/process/maintenance/optimize/img.png (100%) rename {docs-java => src/content/docs/java}/process/maintenance/optimize/jvm/common.md (100%) rename {docs-java => src/content/docs/java}/process/maintenance/optimize/jvm/dragonwell11.md (100%) rename {docs-java => src/content/docs/java}/process/maintenance/optimize/jvm/dragonwell8.md (100%) rename {docs-java => src/content/docs/java}/process/maintenance/optimize/jvm/graal.md (100%) rename {docs-java => src/content/docs/java}/process/maintenance/optimize/jvm/jvm.md (100%) rename {docs-java => src/content/docs/java}/process/maintenance/optimize/jvm/openj9.md (100%) rename {docs-java => src/content/docs/java}/process/maintenance/optimize/jvm/zing.md (100%) rename {docs-java => src/content/docs/java}/process/maintenance/optimize/kernel.md (100%) rename {docs-java => src/content/docs/java}/process/maintenance/optimize/optimize.md (100%) rename {docs-java => src/content/docs/java}/process/maintenance/optimize/optimized-plugin.md (100%) rename {docs-java => src/content/docs/java}/process/maintenance/optimize/performance-analysis.md (100%) rename {docs-java => src/content/docs/java}/process/maintenance/optimize/storage-space-optimization.md (100%) rename {docs-java/process/maintenance/resourcepack/_images => src/content/docs/java/process/maintenance/resourcepack/_assets}/1.png (100%) rename {docs-java/process/maintenance/resourcepack/_images => src/content/docs/java/process/maintenance/resourcepack/_assets}/2.png (100%) rename {docs-java/process/maintenance/resourcepack/_images => src/content/docs/java/process/maintenance/resourcepack/_assets}/3.png (100%) rename {docs-java/process/maintenance/resourcepack/_images => src/content/docs/java/process/maintenance/resourcepack/_assets}/4.png (100%) rename {docs-java/process/maintenance/resourcepack/_images => src/content/docs/java/process/maintenance/resourcepack/_assets}/5.png (100%) rename {docs-java/process/maintenance/resourcepack/_images => src/content/docs/java/process/maintenance/resourcepack/_assets}/6.png (100%) rename {docs-java/process/maintenance/resourcepack/_images => src/content/docs/java/process/maintenance/resourcepack/_assets}/7.png (100%) rename {docs-java/process/maintenance/resourcepack/_images => src/content/docs/java/process/maintenance/resourcepack/_assets}/8.png (100%) rename {docs-java/process/maintenance/resourcepack/_images => src/content/docs/java/process/maintenance/resourcepack/_assets}/blockbench.png (100%) rename {docs-java/process/maintenance/resourcepack/_images => src/content/docs/java/process/maintenance/resourcepack/_assets}/head.png (100%) rename {docs-java/process/maintenance/resourcepack/_images => src/content/docs/java/process/maintenance/resourcepack/_assets}/title.png (100%) rename {docs-java/process/maintenance/resourcepack/_images => src/content/docs/java/process/maintenance/resourcepack/_assets}/tooltip1.png (100%) rename {docs-java/process/maintenance/resourcepack/_images => src/content/docs/java/process/maintenance/resourcepack/_assets}/tooltip2.png (100%) rename {docs-java => src/content/docs/java}/process/maintenance/resourcepack/addon.md (94%) rename {docs-java => src/content/docs/java}/process/maintenance/resourcepack/compress.md (100%) rename {docs-java/process/maintenance/resourcepack/plugins/_images => src/content/docs/java/process/maintenance/resourcepack/plugins/_assets}/25b2c895c2af14fbc7e6989404d0ff7af64020ea.gif (100%) rename {docs-java/process/maintenance/resourcepack/plugins/_images => src/content/docs/java/process/maintenance/resourcepack/plugins/_assets}/272f487d799270ea2e204de73236dda77d18f954.gif (100%) rename {docs-java/process/maintenance/resourcepack/plugins/_images => src/content/docs/java/process/maintenance/resourcepack/plugins/_assets}/30a53ea3a4d029784f4ed54d17a335e099b805b4.gif (100%) rename {docs-java/process/maintenance/resourcepack/plugins/_images => src/content/docs/java/process/maintenance/resourcepack/plugins/_assets}/4f4a015981222b37bfa3b2324113d919a33b090f.png (100%) rename {docs-java/process/maintenance/resourcepack/plugins/_images => src/content/docs/java/process/maintenance/resourcepack/plugins/_assets}/52470cba6836ab471f19c8e788c513765de2d02c.png (100%) rename {docs-java/process/maintenance/resourcepack/plugins/_images => src/content/docs/java/process/maintenance/resourcepack/plugins/_assets}/d0a7f51a86d1a313f1b41f27e021421adc93eec9.png (100%) rename {docs-java/process/maintenance/resourcepack/plugins/_images => src/content/docs/java/process/maintenance/resourcepack/plugins/_assets}/f6b239e0689c433ef5a2c0e85f710e988bf1ba4e.gif (100%) rename {docs-java/process/maintenance/resourcepack/plugins/_images => src/content/docs/java/process/maintenance/resourcepack/plugins/_assets}/fd658155424cd985553237821611dfdea040b166.gif (100%) rename {docs-java/process/maintenance/resourcepack/plugins/_images => src/content/docs/java/process/maintenance/resourcepack/plugins/_assets}/videoframe_1994.png (100%) rename {docs-java/process/maintenance/resourcepack/plugins/_images => src/content/docs/java/process/maintenance/resourcepack/plugins/_assets}/videoframe_931.png (100%) rename {docs-java => src/content/docs/java}/process/maintenance/resourcepack/plugins/entity.md (100%) rename {docs-java => src/content/docs/java}/process/maintenance/resourcepack/plugins/framework.md (100%) rename {docs-java => src/content/docs/java}/process/maintenance/resourcepack/plugins/hud.md (78%) rename {docs-java => src/content/docs/java}/process/maintenance/resourcepack/plugins/misc.md (81%) rename {docs-java => src/content/docs/java}/process/maintenance/resourcepack/plugins/plugins.md (100%) rename {docs-java => src/content/docs/java}/process/maintenance/resourcepack/plugins/tooltip.md (85%) rename {docs-java => src/content/docs/java}/process/maintenance/resourcepack/plugins/vehicles.md (100%) rename {docs-java => src/content/docs/java}/process/maintenance/resourcepack/protect.md (100%) rename {docs-java => src/content/docs/java}/process/maintenance/resourcepack/resourcepack.md (91%) rename {docs-java => src/content/docs/java}/process/maintenance/resourcepack/send.md (100%) rename {docs-java => src/content/docs/java}/process/maintenance/resourcepack/software.md (78%) rename {docs-java => src/content/docs/java}/process/map.md (100%) rename {docs-java/process/mobile-player/_images => src/content/docs/java/process/mobile-player/_assets}/1.PNG (100%) rename {docs-java/process/mobile-player/_images => src/content/docs/java/process/mobile-player/_assets}/2.PNG (100%) rename {docs-java/process/mobile-player/_images => src/content/docs/java/process/mobile-player/_assets}/3.PNG (100%) rename {docs-java/process/mobile-player/_images => src/content/docs/java/process/mobile-player/_assets}/4.PNG (100%) rename {docs-java/process/mobile-player/_images => src/content/docs/java/process/mobile-player/_assets}/Alt_1.png (100%) rename {docs-java/process/mobile-player/_images => src/content/docs/java/process/mobile-player/_assets}/Alt_2.png (100%) rename {docs-java/process/mobile-player/_images => src/content/docs/java/process/mobile-player/_assets}/i4_1.png (100%) rename {docs-java/process/mobile-player/_images => src/content/docs/java/process/mobile-player/_assets}/i4_2.png (100%) rename {docs-java/process/mobile-player/_images => src/content/docs/java/process/mobile-player/_assets}/i4_3.png (100%) rename {docs-java/process/mobile-player/_images => src/content/docs/java/process/mobile-player/_assets}/iTunes_1.png (100%) rename {docs-java/process/mobile-player/_images => src/content/docs/java/process/mobile-player/_assets}/iTunes_2.png (100%) rename {docs-java/process/mobile-player/_images => src/content/docs/java/process/mobile-player/_assets}/troll-icon.jpg (100%) rename {docs-java/process/mobile-player/_images => src/content/docs/java/process/mobile-player/_assets}/troll-idid.PNG (100%) rename {docs-java/process/mobile-player/_images => src/content/docs/java/process/mobile-player/_assets}/troll-ui.PNG (100%) rename {docs-java/process/mobile-player/_images => src/content/docs/java/process/mobile-player/_assets}/trollstone_i.png (100%) rename {docs-java/process/mobile-player/_images => src/content/docs/java/process/mobile-player/_assets}/trollstone_v.png (100%) rename {docs-java => src/content/docs/java}/process/mobile-player/client/amethyst-ios.md (93%) rename {docs-java => src/content/docs/java}/process/mobile-player/client/android-all.md (100%) rename {docs-java => src/content/docs/java}/process/mobile-player/client/client.md (100%) rename {docs-java => src/content/docs/java}/process/mobile-player/client/pcl.md (100%) rename {docs-java => src/content/docs/java}/process/mobile-player/client/pojav-android.md (100%) rename {docs-java => src/content/docs/java}/process/mobile-player/client/pojav-ios.md (79%) rename {docs-java/process/mobile-player/geyser/_images => src/content/docs/java/process/mobile-player/geyser/_assets}/geyser.png (100%) rename {docs-java => src/content/docs/java}/process/mobile-player/geyser/geyser.md (84%) rename {docs-java/process/mobile-player/geyser/introduction/_image => src/content/docs/java/process/mobile-player/geyser/introduction/_assets}/VersionChoose.png (100%) rename {docs-java => src/content/docs/java}/process/mobile-player/geyser/introduction/faq.md (100%) rename {docs-java => src/content/docs/java}/process/mobile-player/geyser/introduction/install.md (85%) rename {docs-java => src/content/docs/java}/process/mobile-player/geyser/introduction/introduction.md (100%) rename {docs-java => src/content/docs/java}/process/mobile-player/geyser/introduction/overview.md (100%) rename {docs-java/process/mobile-player/geyser/upgrade/_images => src/content/docs/java/process/mobile-player/geyser/upgrade/_assets}/CIMM1.jpg (100%) rename {docs-java/process/mobile-player/geyser/upgrade/_images => src/content/docs/java/process/mobile-player/geyser/upgrade/_assets}/CIMM2.jpg (100%) rename {docs-java/process/mobile-player/geyser/upgrade/_images => src/content/docs/java/process/mobile-player/geyser/upgrade/_assets}/CIMM3.jpg (100%) rename {docs-java/process/mobile-player/geyser/upgrade/_images => src/content/docs/java/process/mobile-player/geyser/upgrade/_assets}/CIMM4.jpg (100%) rename {docs-java/process/mobile-player/geyser/upgrade/_images => src/content/docs/java/process/mobile-player/geyser/upgrade/_assets}/Geyser4.png (100%) rename {docs-java => src/content/docs/java}/process/mobile-player/geyser/upgrade/custom-item-model-map.md (88%) rename {docs-java/process/mobile-player/geyser/upgrade/extended/_images => src/content/docs/java/process/mobile-player/geyser/upgrade/extended/_assets}/Geyser5.png (100%) rename {docs-java/process/mobile-player/geyser/upgrade/extended/_images => src/content/docs/java/process/mobile-player/geyser/upgrade/extended/_assets}/GeyserExtras.gif (100%) rename {docs-java/process/mobile-player/geyser/upgrade/extended/_images => src/content/docs/java/process/mobile-player/geyser/upgrade/extended/_assets}/img.png (100%) rename {docs-java/process/mobile-player/geyser/upgrade/extended/_images => src/content/docs/java/process/mobile-player/geyser/upgrade/extended/_assets}/img_1.png (100%) rename {docs-java => src/content/docs/java}/process/mobile-player/geyser/upgrade/extended/compatible.md (100%) rename {docs-java => src/content/docs/java}/process/mobile-player/geyser/upgrade/extended/extended.md (97%) rename {docs-java => src/content/docs/java}/process/mobile-player/geyser/upgrade/extended/fix.mdx (81%) rename {docs-java => src/content/docs/java}/process/mobile-player/geyser/upgrade/extended/more.md (100%) rename {docs-java => src/content/docs/java}/process/mobile-player/geyser/upgrade/geyser-skull.md (100%) rename {docs-java => src/content/docs/java}/process/mobile-player/geyser/upgrade/geysermeg4-supports.md (100%) rename {docs-java => src/content/docs/java}/process/mobile-player/geyser/upgrade/link.md (100%) rename {docs-java => src/content/docs/java}/process/mobile-player/geyser/upgrade/menu.md (100%) rename {docs-java => src/content/docs/java}/process/mobile-player/geyser/upgrade/slimefun.md (91%) rename {docs-java => src/content/docs/java}/process/mobile-player/geyser/upgrade/upgrade.md (100%) rename {docs-java => src/content/docs/java}/process/mobile-player/mobile-player.md (100%) rename "docs-java/process/plugin/_images/\346\217\222\344\273\266\345\210\227\350\241\250.png" => "src/content/docs/java/process/plugin/_assets/\346\217\222\344\273\266\345\210\227\350\241\250.png" (100%) rename {docs-java/process/plugin/game/_images => src/content/docs/java/process/plugin/game/_assets}/Dragon_Core/1.jpg (100%) rename {docs-java/process/plugin/game/_images => src/content/docs/java/process/plugin/game/_assets}/Germ_Engine/1.png (100%) rename {docs-java/process/plugin/game/_images => src/content/docs/java/process/plugin/game/_assets}/Germ_Engine/2.jpg (100%) rename {docs-java/process/plugin/game/_images => src/content/docs/java/process/plugin/game/_assets}/Germ_Engine/3.png (100%) rename {docs-java/process/plugin/game/_images => src/content/docs/java/process/plugin/game/_assets}/Germ_Engine/4.png (100%) rename {docs-java/process/plugin/game/_images => src/content/docs/java/process/plugin/game/_assets}/Germ_Engine/5.png (100%) rename {docs-java/process/plugin/game/_images => src/content/docs/java/process/plugin/game/_assets}/Germ_Engine/6.png (100%) rename {docs-java => src/content/docs/java}/process/plugin/game/dragoncore.md (92%) rename {docs-java => src/content/docs/java}/process/plugin/game/game.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/game/germengine.md (80%) rename {docs-java => src/content/docs/java}/process/plugin/game/nova.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/game/slimefun/auto-update.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/game/slimefun/find-lag.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/game/slimefun/resourcepack-for-slimefun.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/game/slimefun/slimefun.md (100%) rename {docs-java/process/plugin/game/title/_images => src/content/docs/java/process/plugin/game/title/_assets}/MiniPlayerTitle/MiniPlayerTitle-1.png (100%) rename {docs-java/process/plugin/game/title/_images => src/content/docs/java/process/plugin/game/title/_assets}/MiniPlayerTitle/MiniPlayerTitle-2.png (100%) rename {docs-java/process/plugin/game/title/_images => src/content/docs/java/process/plugin/game/title/_assets}/UserPrefix/1.png (100%) rename {docs-java/process/plugin/game/title/_images => src/content/docs/java/process/plugin/game/title/_assets}/UserPrefix/2.png (100%) rename {docs-java/process/plugin/game/title/_images => src/content/docs/java/process/plugin/game/title/_assets}/UserPrefix/3.png (100%) rename {docs-java => src/content/docs/java}/process/plugin/game/title/deluxetags.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/game/title/miniplayertitle.md (52%) rename {docs-java => src/content/docs/java}/process/plugin/game/title/mythicprefixes.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/game/title/playertitle.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/game/title/title.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/game/title/userprefix.md (74%) rename {docs-java => src/content/docs/java}/process/plugin/management-tool/anti-grief/anti-grief.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/management-tool/anti-grief/coreprotect.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/management-tool/anti-grief/invseeplusplus.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/management-tool/anti-grief/prismrefracted.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/management-tool/basic-plugins/basic-plugins.md (100%) rename {docs-java/process/plugin/management-tool/basic-plugins/cmi/_images => src/content/docs/java/process/plugin/management-tool/basic-plugins/cmi/_assets}/1.jpg (100%) rename {docs-java/process/plugin/management-tool/basic-plugins/cmi/_images => src/content/docs/java/process/plugin/management-tool/basic-plugins/cmi/_assets}/2.png (100%) rename {docs-java => src/content/docs/java}/process/plugin/management-tool/basic-plugins/cmi/cmi.md (92%) rename {docs-java => src/content/docs/java}/process/plugin/management-tool/basic-plugins/cmi/eco.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/management-tool/basic-plugins/cmi/question.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/management-tool/basic-plugins/delete.md (100%) rename {docs-java/process/plugin/management-tool/basic-plugins/essentialsx/_images => src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/_assets}/1.png (100%) rename {docs-java/process/plugin/management-tool/basic-plugins/essentialsx/_images => src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/_assets}/2.png (100%) rename {docs-java/process/plugin/management-tool/basic-plugins/essentialsx/_images => src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/_assets}/3.png (100%) rename {docs-java/process/plugin/management-tool/basic-plugins/essentialsx/_images => src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/_assets}/banner.png (100%) rename {docs-java/process/plugin/management-tool/basic-plugins/essentialsx/_images => src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/_assets}/kit_1.png (100%) rename {docs-java/process/plugin/management-tool/basic-plugins/essentialsx/_images => src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/_assets}/kit_2.png (100%) rename {docs-java/process/plugin/management-tool/basic-plugins/essentialsx/_images => src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/_assets}/kit_3.png (100%) rename {docs-java/process/plugin/management-tool/basic-plugins/essentialsx/_images => src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/_assets}/kit_4.png (100%) rename {docs-java/process/plugin/management-tool/basic-plugins/essentialsx/_images => src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/_assets}/warp_1.png (100%) rename {docs-java/process/plugin/management-tool/basic-plugins/essentialsx/_images => src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/_assets}/warp_2.png (100%) rename {docs-java/process/plugin/management-tool/basic-plugins/essentialsx/_images => src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/_assets}/warp_3.png (100%) rename {docs-java => src/content/docs/java}/process/plugin/management-tool/basic-plugins/essentialsx/config-tips.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/management-tool/basic-plugins/essentialsx/config-yml.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/management-tool/basic-plugins/essentialsx/essentialsx.md (79%) rename {docs-java => src/content/docs/java}/process/plugin/management-tool/basic-plugins/essentialsx/faq.md (65%) rename {docs-java => src/content/docs/java}/process/plugin/management-tool/basic-plugins/essentialsx/kit.md (92%) rename {docs-java => src/content/docs/java}/process/plugin/management-tool/basic-plugins/essentialsx/papi-support.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/management-tool/basic-plugins/essentialsx/warp.md (88%) rename {docs-java/process/plugin/management-tool/basic-plugins/sunlight/_images => src/content/docs/java/process/plugin/management-tool/basic-plugins/sunlight/_assets}/1.png (100%) rename {docs-java/process/plugin/management-tool/basic-plugins/sunlight/_images => src/content/docs/java/process/plugin/management-tool/basic-plugins/sunlight/_assets}/2.png (100%) rename {docs-java/process/plugin/management-tool/basic-plugins/sunlight/_images => src/content/docs/java/process/plugin/management-tool/basic-plugins/sunlight/_assets}/3.png (100%) rename {docs-java/process/plugin/management-tool/basic-plugins/sunlight/_images => src/content/docs/java/process/plugin/management-tool/basic-plugins/sunlight/_assets}/4.png (100%) rename {docs-java/process/plugin/management-tool/basic-plugins/sunlight/_images => src/content/docs/java/process/plugin/management-tool/basic-plugins/sunlight/_assets}/5.png (100%) create mode 100644 src/content/docs/java/process/plugin/management-tool/basic-plugins/sunlight/sunlight.md rename {docs-java/process/plugin/management-tool/chat/_images => src/content/docs/java/process/plugin/management-tool/chat/_assets}/TrChat/1.png (100%) rename {docs-java => src/content/docs/java}/process/plugin/management-tool/chat/carbon.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/management-tool/chat/chat.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/management-tool/chat/huskchat.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/management-tool/chat/trchat.md (56%) rename {docs-java/process/plugin/management-tool/items/_images => src/content/docs/java/process/plugin/management-tool/items/_assets}/mmoitems.png (100%) rename {docs-java/process/plugin/management-tool/items/_images => src/content/docs/java/process/plugin/management-tool/items/_assets}/mmoitems_2.webp (100%) rename {docs-java => src/content/docs/java}/process/plugin/management-tool/items/crucible.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/management-tool/items/ecoItems.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/management-tool/items/items.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/management-tool/items/misc.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/management-tool/items/mmoitems.md (81%) rename {docs-java => src/content/docs/java}/process/plugin/management-tool/items/neigeitems.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/management-tool/items/ratziel.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/management-tool/items/sx-item.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/management-tool/items/zaphkiel.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/management-tool/management-tool.md (100%) rename {docs-java/process/plugin/management-tool/permission/_images => src/content/docs/java/process/plugin/management-tool/permission/_assets}/1.png (100%) rename {docs-java/process/plugin/management-tool/permission/_images => src/content/docs/java/process/plugin/management-tool/permission/_assets}/2.png (100%) rename {docs-java/process/plugin/management-tool/permission/_images => src/content/docs/java/process/plugin/management-tool/permission/_assets}/3.png (100%) rename {docs-java/process/plugin/management-tool/permission/_images => src/content/docs/java/process/plugin/management-tool/permission/_assets}/command.png (100%) rename {docs-java/process/plugin/management-tool/permission/_images => src/content/docs/java/process/plugin/management-tool/permission/_assets}/editor.png (100%) rename {docs-java/process/plugin/management-tool/permission/_images => src/content/docs/java/process/plugin/management-tool/permission/_assets}/memory_1.png (100%) rename {docs-java/process/plugin/management-tool/permission/_images => src/content/docs/java/process/plugin/management-tool/permission/_assets}/memory_10.png (100%) rename {docs-java/process/plugin/management-tool/permission/_images => src/content/docs/java/process/plugin/management-tool/permission/_assets}/memory_11.png (100%) rename {docs-java/process/plugin/management-tool/permission/_images => src/content/docs/java/process/plugin/management-tool/permission/_assets}/memory_12.png (100%) rename {docs-java/process/plugin/management-tool/permission/_images => src/content/docs/java/process/plugin/management-tool/permission/_assets}/memory_2.png (100%) rename {docs-java/process/plugin/management-tool/permission/_images => src/content/docs/java/process/plugin/management-tool/permission/_assets}/memory_3.png (100%) rename {docs-java/process/plugin/management-tool/permission/_images => src/content/docs/java/process/plugin/management-tool/permission/_assets}/memory_4.png (100%) rename {docs-java/process/plugin/management-tool/permission/_images => src/content/docs/java/process/plugin/management-tool/permission/_assets}/memory_5.png (100%) rename {docs-java/process/plugin/management-tool/permission/_images => src/content/docs/java/process/plugin/management-tool/permission/_assets}/memory_6.png (100%) rename {docs-java/process/plugin/management-tool/permission/_images => src/content/docs/java/process/plugin/management-tool/permission/_assets}/memory_7.png (100%) rename {docs-java/process/plugin/management-tool/permission/_images => src/content/docs/java/process/plugin/management-tool/permission/_assets}/memory_8.png (100%) rename {docs-java/process/plugin/management-tool/permission/_images => src/content/docs/java/process/plugin/management-tool/permission/_assets}/memory_9.png (100%) rename {docs-java/process/plugin/management-tool/permission/_images => src/content/docs/java/process/plugin/management-tool/permission/_assets}/on.png (100%) rename {docs-java/process/plugin/management-tool/permission/_images => src/content/docs/java/process/plugin/management-tool/permission/_assets}/paste-1.png (100%) rename {docs-java/process/plugin/management-tool/permission/_images => src/content/docs/java/process/plugin/management-tool/permission/_assets}/paste-2.png (100%) rename {docs-java/process/plugin/management-tool/permission/_images => src/content/docs/java/process/plugin/management-tool/permission/_assets}/ummm.jpg (100%) rename "docs-java/process/plugin/management-tool/permission/_images/\346\227\245\345\277\227-1.png" => "src/content/docs/java/process/plugin/management-tool/permission/_assets/\346\227\245\345\277\227-1.png" (100%) rename "docs-java/process/plugin/management-tool/permission/_images/\346\227\245\345\277\227-2.png" => "src/content/docs/java/process/plugin/management-tool/permission/_assets/\346\227\245\345\277\227-2.png" (100%) rename "docs-java/process/plugin/management-tool/permission/_images/\346\255\243\347\273\217\347\254\221+\346\211\213.jpg" => "src/content/docs/java/process/plugin/management-tool/permission/_assets/\346\255\243\347\273\217\347\254\221+\346\211\213.jpg" (100%) rename {docs-java => src/content/docs/java}/process/plugin/management-tool/permission/command.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/management-tool/permission/group.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/management-tool/permission/meta.md (90%) rename {docs-java => src/content/docs/java}/process/plugin/management-tool/permission/permission.md (61%) rename {docs-java => src/content/docs/java}/process/plugin/management-tool/permission/tips.md (62%) rename {docs-java => src/content/docs/java}/process/plugin/management-tool/permission/what-is-permission.md (98%) rename {docs-java => src/content/docs/java}/process/plugin/management-tool/plugin-management/plugin-management.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/management-tool/plugin-management/plugin-portal.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/management-tool/plugin-management/plugmanx.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/management-tool/plugin-management/serverutils.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/management-tool/plugin-management/yum.md (100%) rename {docs-java/process/plugin/management-tool/task/_images => src/content/docs/java/process/plugin/management-tool/task/_assets}/TypeWriter/TW_Banner_Transparant.png (100%) rename {docs-java/process/plugin/management-tool/task/_images => src/content/docs/java/process/plugin/management-tool/task/_assets}/TypeWriter/cinematic.gif (100%) rename {docs-java => src/content/docs/java}/process/plugin/management-tool/task/beautyquests.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/management-tool/task/betonquest.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/management-tool/task/chemdah.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/management-tool/task/mangoquest.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/management-tool/task/playertask.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/management-tool/task/questcreator.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/management-tool/task/questengine.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/management-tool/task/quests.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/management-tool/task/task.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/management-tool/task/typewriter.md (61%) rename {docs-java/process/plugin/misc/_images => src/content/docs/java/process/plugin/misc/_assets}/QuickShop.jpg (100%) rename {docs-java/process/plugin/misc/holograms/_images => src/content/docs/java/process/plugin/misc/holograms/_assets}/DecentHolograms/DecentHolograms_1.png (100%) rename {docs-java/process/plugin/misc/holograms/_images => src/content/docs/java/process/plugin/misc/holograms/_assets}/DecentHolograms/DecentHolograms_2.png (100%) rename {docs-java/process/plugin/misc/holograms/_images => src/content/docs/java/process/plugin/misc/holograms/_assets}/DecentHolograms/DecentHolograms_3.png (100%) rename {docs-java/process/plugin/misc/holograms/_images => src/content/docs/java/process/plugin/misc/holograms/_assets}/DecentHolograms/DecentHolograms_4.png (100%) rename {docs-java/process/plugin/misc/holograms/_images => src/content/docs/java/process/plugin/misc/holograms/_assets}/DecentHolograms/DecentHolograms_5.png (100%) rename {docs-java/process/plugin/misc/holograms/_images => src/content/docs/java/process/plugin/misc/holograms/_assets}/DecentHolograms/DecentHolograms_6.png (100%) rename "docs-java/process/plugin/misc/holograms/_images/hd\345\267\262\347\273\217\345\275\222\346\241\243.png" => "src/content/docs/java/process/plugin/misc/holograms/_assets/hd\345\267\262\347\273\217\345\275\222\346\241\243.png" (100%) rename {docs-java/process/plugin/misc/holograms/_images => src/content/docs/java/process/plugin/misc/holograms/_assets}/holo.png (100%) rename {docs-java => src/content/docs/java}/process/plugin/misc/holograms/decentholograms.md (83%) rename {docs-java => src/content/docs/java}/process/plugin/misc/holograms/holograms.md (94%) rename {docs-java => src/content/docs/java}/process/plugin/misc/holograms/holographicdisplays.md (93%) rename {docs-java => src/content/docs/java}/process/plugin/misc/login/authme.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/misc/login/catseedlogin.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/misc/login/librelogin.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/misc/login/limboauth.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/misc/login/login.md (100%) rename "docs-java/process/plugin/misc/menu/_images/TrMenu/trm\344\270\200\345\256\232\350\246\201\347\234\213wiki\345\221\220.jpg" => "src/content/docs/java/process/plugin/misc/menu/_assets/TrMenu/trm\344\270\200\345\256\232\350\246\201\347\234\213wiki\345\221\220.jpg" (100%) rename "docs-java/process/plugin/misc/menu/_images/\344\270\272\351\232\276.jpg" => "src/content/docs/java/process/plugin/misc/menu/_assets/\344\270\272\351\232\276.jpg" (100%) rename "docs-java/process/plugin/misc/menu/_images/\345\255\220\345\233\276\346\240\207\345\206\231\345\212\250\344\275\234.png" => "src/content/docs/java/process/plugin/misc/menu/_assets/\345\255\220\345\233\276\346\240\207\345\206\231\345\212\250\344\275\234.png" (100%) rename {docs-java => src/content/docs/java}/process/plugin/misc/menu/chestcommands.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/misc/menu/deluxemenus.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/misc/menu/invero.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/misc/menu/menu.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/misc/menu/trmenu.md (82%) rename {docs-java => src/content/docs/java}/process/plugin/misc/misc.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/misc/money.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/misc/motd/minimotd.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/misc/motd/motd.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/misc/mythicmobs.md (100%) rename {docs-java/process/plugin/misc/npc/_images => src/content/docs/java/process/plugin/misc/npc/_assets}/Adyeshach/Adyeshach-1.png (100%) rename {docs-java/process/plugin/misc/npc/_images => src/content/docs/java/process/plugin/misc/npc/_assets}/Citizens/Citizens-1.png (100%) rename {docs-java => src/content/docs/java}/process/plugin/misc/npc/adyeshach.md (94%) rename {docs-java => src/content/docs/java}/process/plugin/misc/npc/citizens.md (94%) rename {docs-java => src/content/docs/java}/process/plugin/misc/npc/npc.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/misc/npc/znpcsplus.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/misc/quickshop.md (98%) rename {docs-java => src/content/docs/java}/process/plugin/misc/skinsrestorer.md (100%) rename {docs-java/process/plugin/misc/tab-scoreboard/_images => src/content/docs/java/process/plugin/misc/tab-scoreboard/_assets}/SimpleScore/SimpleScore.png (100%) rename {docs-java/process/plugin/misc/tab-scoreboard/_images => src/content/docs/java/process/plugin/misc/tab-scoreboard/_assets}/TAB/TAB-1.png (100%) rename {docs-java/process/plugin/misc/tab-scoreboard/_images => src/content/docs/java/process/plugin/misc/tab-scoreboard/_assets}/TAB/TAB-2.png (100%) rename {docs-java/process/plugin/misc/tab-scoreboard/_images => src/content/docs/java/process/plugin/misc/tab-scoreboard/_assets}/TAB/TAB-3.png (100%) rename {docs-java/process/plugin/misc/tab-scoreboard/_images => src/content/docs/java/process/plugin/misc/tab-scoreboard/_assets}/TAB/TAB-4.png (100%) rename {docs-java/process/plugin/misc/tab-scoreboard/_images => src/content/docs/java/process/plugin/misc/tab-scoreboard/_assets}/TAB/TAB-5.png (100%) rename {docs-java/process/plugin/misc/tab-scoreboard/_images => src/content/docs/java/process/plugin/misc/tab-scoreboard/_assets}/TAB/TAB-6.png (100%) rename {docs-java/process/plugin/misc/tab-scoreboard/_images => src/content/docs/java/process/plugin/misc/tab-scoreboard/_assets}/TAB/TAB-7.png (100%) rename {docs-java/process/plugin/misc/tab-scoreboard/_images => src/content/docs/java/process/plugin/misc/tab-scoreboard/_assets}/TAB/TAB-8.png (100%) rename {docs-java/process/plugin/misc/tab-scoreboard/_images => src/content/docs/java/process/plugin/misc/tab-scoreboard/_assets}/TAB/TAB-9.png (100%) rename {docs-java/process/plugin/misc/tab-scoreboard/_images => src/content/docs/java/process/plugin/misc/tab-scoreboard/_assets}/TitleManager/1.gif (100%) rename {docs-java/process/plugin/misc/tab-scoreboard/_images => src/content/docs/java/process/plugin/misc/tab-scoreboard/_assets}/TitleManager/2.png (100%) rename "docs-java/process/plugin/misc/tab-scoreboard/_images/\345\225\245\346\230\257TAB.png" => "src/content/docs/java/process/plugin/misc/tab-scoreboard/_assets/\345\225\245\346\230\257TAB.png" (100%) rename "docs-java/process/plugin/misc/tab-scoreboard/_images/\345\225\245\346\230\257\350\256\241\345\210\206\346\235\277.png" => "src/content/docs/java/process/plugin/misc/tab-scoreboard/_assets/\345\225\245\346\230\257\350\256\241\345\210\206\346\235\277.png" (100%) rename {docs-java => src/content/docs/java}/process/plugin/misc/tab-scoreboard/simplescore.md (96%) rename {docs-java => src/content/docs/java}/process/plugin/misc/tab-scoreboard/tab-scoreboard.md (83%) create mode 100644 src/content/docs/java/process/plugin/misc/tab-scoreboard/tab.md rename {docs-java => src/content/docs/java}/process/plugin/misc/tab-scoreboard/titlemanager.md (88%) rename "docs-java/process/plugin/misc/via/_images/\347\211\210\346\234\254\345\205\274\345\256\271\345\233\276.png" => "src/content/docs/java/process/plugin/misc/via/_assets/\347\211\210\346\234\254\345\205\274\345\256\271\345\233\276.png" (100%) rename {docs-java => src/content/docs/java}/process/plugin/misc/via/more-for-via.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/misc/via/via.md (79%) rename {docs-java => src/content/docs/java}/process/plugin/misc/via/viabackwards.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/misc/via/viarewind.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/misc/via/viaversion.md (100%) rename "docs-java/process/plugin/more/_images/Spigot\346\220\234\347\264\242.png" => "src/content/docs/java/process/plugin/more/_assets/Spigot\346\220\234\347\264\242.png" (100%) rename {docs-java/process/plugin/more/_images => src/content/docs/java/process/plugin/more/_assets}/color-message/Minecraft_Formatting.gif (100%) rename "docs-java/process/plugin/more/_images/color-message/\345\261\225\347\244\272.png" => "src/content/docs/java/process/plugin/more/_assets/color-message/\345\261\225\347\244\272.png" (100%) rename "docs-java/process/plugin/more/_images/color-message/\346\270\270\346\210\217\345\206\205.png" => "src/content/docs/java/process/plugin/more/_assets/color-message/\346\270\270\346\210\217\345\206\205.png" (100%) rename {docs-java/process/plugin/more/_images => src/content/docs/java/process/plugin/more/_assets}/mm.png (100%) rename {docs-java/process/plugin/more/_images => src/content/docs/java/process/plugin/more/_assets}/plugin.yml/plugin.yml.png (100%) rename "docs-java/process/plugin/more/_images/plugin.yml/\346\213\206\345\274\200jar.png" => "src/content/docs/java/process/plugin/more/_assets/plugin.yml/\346\213\206\345\274\200jar.png" (100%) rename "docs-java/process/plugin/more/_images/\345\216\206\345\217\262\347\211\210\346\234\254-GitHub-1.png" => "src/content/docs/java/process/plugin/more/_assets/\345\216\206\345\217\262\347\211\210\346\234\254-GitHub-1.png" (100%) rename "docs-java/process/plugin/more/_images/\345\216\206\345\217\262\347\211\210\346\234\254-GitHub-2.png" => "src/content/docs/java/process/plugin/more/_assets/\345\216\206\345\217\262\347\211\210\346\234\254-GitHub-2.png" (100%) rename "docs-java/process/plugin/more/_images/\345\216\206\345\217\262\347\211\210\346\234\254-GitHub-3.png" => "src/content/docs/java/process/plugin/more/_assets/\345\216\206\345\217\262\347\211\210\346\234\254-GitHub-3.png" (100%) rename "docs-java/process/plugin/more/_images/\345\216\206\345\217\262\347\211\210\346\234\254-bukkit-1.png" => "src/content/docs/java/process/plugin/more/_assets/\345\216\206\345\217\262\347\211\210\346\234\254-bukkit-1.png" (100%) rename "docs-java/process/plugin/more/_images/\345\216\206\345\217\262\347\211\210\346\234\254-bukkit-2.png" => "src/content/docs/java/process/plugin/more/_assets/\345\216\206\345\217\262\347\211\210\346\234\254-bukkit-2.png" (100%) rename "docs-java/process/plugin/more/_images/\345\216\206\345\217\262\347\211\210\346\234\254-bukkit-3.png" => "src/content/docs/java/process/plugin/more/_assets/\345\216\206\345\217\262\347\211\210\346\234\254-bukkit-3.png" (100%) rename "docs-java/process/plugin/more/_images/\345\216\206\345\217\262\347\211\210\346\234\254-modrinth.png" => "src/content/docs/java/process/plugin/more/_assets/\345\216\206\345\217\262\347\211\210\346\234\254-modrinth.png" (100%) rename "docs-java/process/plugin/more/_images/\345\216\206\345\217\262\347\211\210\346\234\254-spigotmc.png" => "src/content/docs/java/process/plugin/more/_assets/\345\216\206\345\217\262\347\211\210\346\234\254-spigotmc.png" (100%) rename "docs-java/process/plugin/more/_images/\345\220\214\347\261\273\346\217\222\344\273\266\350\257\204\345\210\206\351\200\211\346\213\251.png" => "src/content/docs/java/process/plugin/more/_assets/\345\220\214\347\261\273\346\217\222\344\273\266\350\257\204\345\210\206\351\200\211\346\213\251.png" (100%) rename "docs-java/process/plugin/more/_images/\346\213\206\345\274\200jar.png" => "src/content/docs/java/process/plugin/more/_assets/\346\213\206\345\274\200jar.png" (100%) rename "docs-java/process/plugin/more/_images/\346\237\245\347\234\213\350\257\255\350\250\200-1.png" => "src/content/docs/java/process/plugin/more/_assets/\346\237\245\347\234\213\350\257\255\350\250\200-1.png" (100%) rename "docs-java/process/plugin/more/_images/\346\237\245\347\234\213\350\257\255\350\250\200-2.png" => "src/content/docs/java/process/plugin/more/_assets/\346\237\245\347\234\213\350\257\255\350\250\200-2.png" (100%) rename "docs-java/process/plugin/more/_images/\346\237\245\347\234\213\350\257\255\350\250\200-crowdin.png" => "src/content/docs/java/process/plugin/more/_assets/\346\237\245\347\234\213\350\257\255\350\250\200-crowdin.png" (100%) rename "docs-java/process/plugin/more/_images/\346\237\245\347\234\213\350\257\255\350\250\200-spigotmc.png" => "src/content/docs/java/process/plugin/more/_assets/\346\237\245\347\234\213\350\257\255\350\250\200-spigotmc.png" (100%) rename "docs-java/process/plugin/more/_images/\346\237\245\347\234\213\350\257\255\350\250\200-\346\213\206\345\274\200jar.png" => "src/content/docs/java/process/plugin/more/_assets/\346\237\245\347\234\213\350\257\255\350\250\200-\346\213\206\345\274\200jar.png" (100%) rename "docs-java/process/plugin/more/_images/\346\265\217\350\247\210\345\231\250\347\277\273\350\257\221.png" => "src/content/docs/java/process/plugin/more/_assets/\346\265\217\350\247\210\345\231\250\347\277\273\350\257\221.png" (100%) rename {docs-java => src/content/docs/java}/process/plugin/more/color-message.md (89%) rename {docs-java => src/content/docs/java}/process/plugin/more/faq.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/more/more.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/more/plugin-abbreviation.md (98%) rename {docs-java => src/content/docs/java}/process/plugin/more/plugin-backdoor.md (100%) rename {docs-java/process/plugin/more/plugin-build/_image => src/content/docs/java/process/plugin/more/plugin-build/_assets}/image-1.png (100%) rename {docs-java/process/plugin/more/plugin-build/_image => src/content/docs/java/process/plugin/more/plugin-build/_assets}/image-2.png (100%) rename {docs-java/process/plugin/more/plugin-build/_image => src/content/docs/java/process/plugin/more/plugin-build/_assets}/image-3.png (100%) rename {docs-java/process/plugin/more/plugin-build/_image => src/content/docs/java/process/plugin/more/plugin-build/_assets}/image-4.png (100%) rename {docs-java/process/plugin/more/plugin-build/_image => src/content/docs/java/process/plugin/more/plugin-build/_assets}/image.png (100%) rename {docs-java => src/content/docs/java}/process/plugin/more/plugin-build/first.mdx (100%) rename {docs-java => src/content/docs/java}/process/plugin/more/plugin-build/github-actions-build.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/more/plugin-build/idea-build.md (86%) rename {docs-java => src/content/docs/java}/process/plugin/more/plugin-build/mirror-config.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/more/plugin-build/plugin-build.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/more/plugin-build/terminal-build.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/more/plugin-config.md (95%) rename {docs-java => src/content/docs/java}/process/plugin/more/plugin-download.md (81%) rename {docs-java => src/content/docs/java}/process/plugin/more/plugin-signature-file.md (95%) rename {docs-java => src/content/docs/java}/process/plugin/more/tittle-tattle.md (100%) rename {docs-java/process/plugin/plugin-dependencies/placeholderapi/_images => src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets}/CheckItem/checkitem.png (100%) rename {docs-java/process/plugin/plugin-dependencies/placeholderapi/_images => src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets}/CheckItem/getinfo_1.png (100%) rename {docs-java/process/plugin/plugin-dependencies/placeholderapi/_images => src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets}/CheckItem/getinfo_2.png (100%) rename {docs-java/process/plugin/plugin-dependencies/placeholderapi/_images => src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets}/CheckItem/remove-item.png (100%) rename "docs-java/process/plugin/plugin-dependencies/placeholderapi/_images/CheckItem/\347\216\251\345\256\266\350\203\214\345\214\205\346\247\275\344\275\215\345\233\276.webp" => "src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets/CheckItem/\347\216\251\345\256\266\350\203\214\345\214\205\346\247\275\344\275\215\345\233\276.webp" (100%) rename "docs-java/process/plugin/plugin-dependencies/placeholderapi/_images/CheckItem/\350\277\236\347\273\255\344\275\277\347\224\250-1.png" => "src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets/CheckItem/\350\277\236\347\273\255\344\275\277\347\224\250-1.png" (100%) rename "docs-java/process/plugin/plugin-dependencies/placeholderapi/_images/CheckItem/\350\277\236\347\273\255\344\275\277\347\224\250-2.png" => "src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets/CheckItem/\350\277\236\347\273\255\344\275\277\347\224\250-2.png" (100%) rename "docs-java/process/plugin/plugin-dependencies/placeholderapi/_images/CheckItem/\350\277\236\347\273\255\344\275\277\347\224\250-3.png" => "src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets/CheckItem/\350\277\236\347\273\255\344\275\277\347\224\250-3.png" (100%) rename {docs-java/process/plugin/plugin-dependencies/placeholderapi/_images => src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets}/Math/1.png (100%) rename {docs-java/process/plugin/plugin-dependencies/placeholderapi/_images => src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets}/Math/2.png (100%) rename {docs-java/process/plugin/plugin-dependencies/placeholderapi/_images => src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets}/Math/3.png (100%) rename {docs-java/process/plugin/plugin-dependencies/placeholderapi/_images => src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets}/Math/4.png (100%) rename {docs-java/process/plugin/plugin-dependencies/placeholderapi/_images => src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets}/ParseOther/ParseOther.png (100%) rename {docs-java/process/plugin/plugin-dependencies/placeholderapi/_images => src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets}/PlaceHolderAPI/1.png (100%) rename {docs-java/process/plugin/plugin-dependencies/placeholderapi/_images => src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets}/PlaceHolderAPI/10.png (100%) rename {docs-java/process/plugin/plugin-dependencies/placeholderapi/_images => src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets}/PlaceHolderAPI/11.png (100%) rename {docs-java/process/plugin/plugin-dependencies/placeholderapi/_images => src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets}/PlaceHolderAPI/12.png (100%) rename {docs-java/process/plugin/plugin-dependencies/placeholderapi/_images => src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets}/PlaceHolderAPI/2.png (100%) rename {docs-java/process/plugin/plugin-dependencies/placeholderapi/_images => src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets}/PlaceHolderAPI/3.png (100%) rename {docs-java/process/plugin/plugin-dependencies/placeholderapi/_images => src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets}/PlaceHolderAPI/4.png (100%) rename {docs-java/process/plugin/plugin-dependencies/placeholderapi/_images => src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets}/PlaceHolderAPI/5.png (100%) rename {docs-java/process/plugin/plugin-dependencies/placeholderapi/_images => src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets}/PlaceHolderAPI/6.png (100%) rename {docs-java/process/plugin/plugin-dependencies/placeholderapi/_images => src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets}/PlaceHolderAPI/7.png (100%) rename {docs-java/process/plugin/plugin-dependencies/placeholderapi/_images => src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets}/PlaceHolderAPI/8.png (100%) rename {docs-java/process/plugin/plugin-dependencies/placeholderapi/_images => src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets}/PlaceHolderAPI/9.png (100%) rename {docs-java/process/plugin/plugin-dependencies/placeholderapi/_images => src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets}/Progress/Progress.png (100%) rename "docs-java/process/plugin/plugin-dependencies/placeholderapi/_images/Q&A/\345\217\230\351\207\217\344\270\213\350\275\275\345\244\261\350\264\245.png" => "src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets/Q&A/\345\217\230\351\207\217\344\270\213\350\275\275\345\244\261\350\264\245.png" (100%) rename "docs-java/process/plugin/plugin-dependencies/placeholderapi/_images/Q&A/\345\217\230\351\207\217\344\270\215\346\230\276\347\244\272-1.png" => "src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets/Q&A/\345\217\230\351\207\217\344\270\215\346\230\276\347\244\272-1.png" (100%) rename "docs-java/process/plugin/plugin-dependencies/placeholderapi/_images/Q&A/\345\217\230\351\207\217\344\270\215\346\230\276\347\244\272-2.png" => "src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets/Q&A/\345\217\230\351\207\217\344\270\215\346\230\276\347\244\272-2.png" (100%) rename {docs-java => src/content/docs/java}/process/plugin/plugin-dependencies/placeholderapi/change-output.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/plugin-dependencies/placeholderapi/check-item.md (75%) rename {docs-java => src/content/docs/java}/process/plugin/plugin-dependencies/placeholderapi/common-usage.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/plugin-dependencies/placeholderapi/faq.md (95%) rename {docs-java => src/content/docs/java}/process/plugin/plugin-dependencies/placeholderapi/javascript.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/plugin-dependencies/placeholderapi/math.md (86%) rename {docs-java => src/content/docs/java}/process/plugin/plugin-dependencies/placeholderapi/parse-other.md (96%) create mode 100644 src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/placeholderapi.md rename {docs-java => src/content/docs/java}/process/plugin/plugin-dependencies/placeholderapi/progress.md (96%) rename {docs-java => src/content/docs/java}/process/plugin/plugin-dependencies/placeholderapi/string.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/plugin-dependencies/playerpoints.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/plugin-dependencies/plugin-dependencies.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/plugin-dependencies/protocollib.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/plugin-dependencies/vault/serviceio.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/plugin-dependencies/vault/vault.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/plugin-dependencies/vault/vaultunlocked.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/plugin-dependencies/xconomy.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/plugin.md (71%) rename {docs-java/process/plugin/protection/_images => src/content/docs/java/process/plugin/protection/_assets}/Dominion-08.png (100%) rename {docs-java/process/plugin/protection/_images => src/content/docs/java/process/plugin/protection/_assets}/GriefDefender-github.png (100%) rename {docs-java => src/content/docs/java}/process/plugin/protection/askyblock.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/protection/bentobox.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/protection/dominion.md (77%) rename {docs-java => src/content/docs/java}/process/plugin/protection/griefdefender.md (91%) rename {docs-java => src/content/docs/java}/process/plugin/protection/plotsquared.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/protection/protection.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/protection/residence.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/protection/towny.md (100%) rename {docs-java/process/plugin/world-management/_images => src/content/docs/java/process/plugin/world-management/_assets}/NoBuildPlus/banner_compat_nobuildplus_zh_CN.png (100%) rename {docs-java/process/plugin/world-management/_images => src/content/docs/java/process/plugin/world-management/_assets}/NoBuildPlus/banner_deny_nobuildplus_zh_CN.png (100%) rename {docs-java/process/plugin/world-management/_images => src/content/docs/java/process/plugin/world-management/_assets}/NoBuildPlus/banner_nobuildplus_zh_CN.png (100%) rename {docs-java/process/plugin/world-management/_images => src/content/docs/java/process/plugin/world-management/_assets}/NoBuildPlus/banner_type_nobuildplus_zh_CN.png (100%) rename {docs-java/process/plugin/world-management/_images => src/content/docs/java/process/plugin/world-management/_assets}/worldguard-logo.svg (100%) rename {docs-java => src/content/docs/java}/process/plugin/world-management/fastasyncworldedit.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/world-management/law.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/world-management/lobby/deluxehub.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/world-management/lobby/deluxehubreloaded.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/world-management/lobby/lobby.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/world-management/lobby/superlobbydeluxe.md (100%) rename {docs-java/process/plugin/world-management/multiverse/_images => src/content/docs/java/process/plugin/world-management/multiverse/_assets}/multiverse2-long.png (100%) rename "docs-java/process/plugin/world-management/multiverse/_images/\344\270\255\346\226\207\344\270\226\347\225\214\345\220\215-1.png" => "src/content/docs/java/process/plugin/world-management/multiverse/_assets/\344\270\255\346\226\207\344\270\226\347\225\214\345\220\215-1.png" (100%) rename "docs-java/process/plugin/world-management/multiverse/_images/\344\270\255\346\226\207\344\270\226\347\225\214\345\220\215-2.png" => "src/content/docs/java/process/plugin/world-management/multiverse/_assets/\344\270\255\346\226\207\344\270\226\347\225\214\345\220\215-2.png" (100%) rename "docs-java/process/plugin/world-management/multiverse/_images/\344\270\255\346\226\207\344\270\226\347\225\214\345\220\215\344\271\261\347\240\201.png" => "src/content/docs/java/process/plugin/world-management/multiverse/_assets/\344\270\255\346\226\207\344\270\226\347\225\214\345\220\215\344\271\261\347\240\201.png" (100%) rename {docs-java => src/content/docs/java}/process/plugin/world-management/multiverse/faq1.md (55%) rename {docs-java => src/content/docs/java}/process/plugin/world-management/multiverse/faq2.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/world-management/multiverse/multiverse.md (78%) rename {docs-java => src/content/docs/java}/process/plugin/world-management/myworld.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/world-management/nobuildplus.md (65%) rename {docs-java => src/content/docs/java}/process/plugin/world-management/world-management.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/world-management/worldedit.md (100%) rename {docs-java/process/plugin/world-management/worldgen/_images => src/content/docs/java/process/plugin/world-management/worldgen/_assets}/terra-1.png (100%) rename {docs-java/process/plugin/world-management/worldgen/_images => src/content/docs/java/process/plugin/world-management/worldgen/_assets}/terra-2.png (100%) rename {docs-java/process/plugin/world-management/worldgen/_images => src/content/docs/java/process/plugin/world-management/worldgen/_assets}/terra-3.png (100%) rename {docs-java/process/plugin/world-management/worldgen/_images => src/content/docs/java/process/plugin/world-management/worldgen/_assets}/terra-4.png (100%) rename {docs-java/process/plugin/world-management/worldgen/_images => src/content/docs/java/process/plugin/world-management/worldgen/_assets}/terra-5.png (100%) rename {docs-java/process/plugin/world-management/worldgen/_images => src/content/docs/java/process/plugin/world-management/worldgen/_assets}/terra-community-1.png (100%) rename {docs-java/process/plugin/world-management/worldgen/_images => src/content/docs/java/process/plugin/world-management/worldgen/_assets}/terra-community-2.png (100%) rename {docs-java/process/plugin/world-management/worldgen/_images => src/content/docs/java/process/plugin/world-management/worldgen/_assets}/terra-community-3.png (100%) rename {docs-java/process/plugin/world-management/worldgen/_images => src/content/docs/java/process/plugin/world-management/worldgen/_assets}/terra-community-4.png (100%) rename {docs-java/process/plugin/world-management/worldgen/_images => src/content/docs/java/process/plugin/world-management/worldgen/_assets}/terra-community-5.png (100%) rename {docs-java/process/plugin/world-management/worldgen/_images => src/content/docs/java/process/plugin/world-management/worldgen/_assets}/terra-community-6.png (100%) rename {docs-java/process/plugin/world-management/worldgen/_images => src/content/docs/java/process/plugin/world-management/worldgen/_assets}/terra-community-7.png (100%) rename {docs-java => src/content/docs/java}/process/plugin/world-management/worldgen/irisworldgen.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/world-management/worldgen/terra.md (67%) rename {docs-java => src/content/docs/java}/process/plugin/world-management/worldgen/terraformgenerator.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/world-management/worldgen/worldgen.md (100%) rename {docs-java => src/content/docs/java}/process/plugin/world-management/worldguard.md (55%) rename {docs-java => src/content/docs/java}/process/process.md (100%) rename {docs-java => src/content/docs/java}/process/redstone/mchprs.md (100%) rename {docs-java => src/content/docs/java}/process/redstone/mod.md (100%) rename {docs-java => src/content/docs/java}/process/redstone/plugin.md (100%) rename {docs-java => src/content/docs/java}/process/redstone/redstone.md (100%) rename {docs-java/start/_images => src/content/docs/java/start/_assets}/1.png (100%) rename {docs-java/start/_images => src/content/docs/java/start/_assets}/2.png (100%) rename {docs-java/start/_images => src/content/docs/java/start/_assets}/3.png (100%) rename {docs-java/start/_images => src/content/docs/java/start/_assets}/4.png (100%) rename {docs-java/start/_images => src/content/docs/java/start/_assets}/5.png (100%) rename {docs-java/start/_images => src/content/docs/java/start/_assets}/install/1.png (100%) rename {docs-java/start/_images => src/content/docs/java/start/_assets}/install/2.png (100%) rename {docs-java/start/_images => src/content/docs/java/start/_assets}/install/3.png (100%) rename {docs-java/start/_images => src/content/docs/java/start/_assets}/install/4.png (100%) rename "docs-java/start/_images/\345\270\270\350\247\201\351\227\256\351\242\230/\345\260\217\345\234\260\347\220\203.png" => "src/content/docs/java/start/_assets/\345\270\270\350\247\201\351\227\256\351\242\230/\345\260\217\345\234\260\347\220\203.png" (100%) rename "docs-java/start/_images/\346\226\207\344\273\266\350\265\204\346\272\220\347\256\241\347\220\206\345\231\250.jpg" => "src/content/docs/java/start/_assets/\346\226\207\344\273\266\350\265\204\346\272\220\347\256\241\347\220\206\345\231\250.jpg" (100%) rename "docs-java/start/_images/\346\227\240\346\225\210\344\274\232\350\257\235.png" => "src/content/docs/java/start/_assets/\346\227\240\346\225\210\344\274\232\350\257\235.png" (100%) rename {docs-java => src/content/docs/java}/start/ask-for-help.md (100%) rename {docs-java/start/basic/_images => src/content/docs/java/start/basic/_assets}/command-1.png (100%) rename {docs-java/start/basic/_images => src/content/docs/java/start/basic/_assets}/command-2.png (100%) rename {docs-java/start/basic/_images => src/content/docs/java/start/basic/_assets}/command-3.png (100%) rename {docs-java/start/basic/_images => src/content/docs/java/start/basic/_assets}/command-4.png (100%) rename {docs/start/basic/_images => src/content/docs/java/start/basic/_assets}/nogui.jpg (100%) rename "docs-java/start/basic/_images/\345\246\231\345\246\231\346\257\224\345\226\273.png" => "src/content/docs/java/start/basic/_assets/\345\246\231\345\246\231\346\257\224\345\226\273.png" (100%) rename {docs-java => src/content/docs/java}/start/basic/basic.md (100%) rename {docs-java => src/content/docs/java}/start/basic/relationship-between-servers.md (100%) rename {docs-java => src/content/docs/java}/start/basic/server-dir-structure.mdx (100%) rename {docs-java => src/content/docs/java}/start/basic/server-management-command.md (100%) rename {docs-java => src/content/docs/java}/start/basic/what-is-datapack.mdx (100%) rename {docs-java => src/content/docs/java}/start/basic/what-is-lag.md (100%) rename {docs-java => src/content/docs/java}/start/basic/what-is-log.md (100%) rename {docs-java => src/content/docs/java}/start/basic/what-is-mod.md (100%) rename {docs-java => src/content/docs/java}/start/basic/what-is-namespace.md (86%) rename {docs-java => src/content/docs/java}/start/basic/what-is-nbt.md (100%) rename {docs-java => src/content/docs/java}/start/basic/what-is-permission.md (100%) rename {docs-java => src/content/docs/java}/start/basic/what-is-plugin.md (100%) rename {docs-java => src/content/docs/java}/start/basic/what-is-server.md (100%) rename {docs-java => src/content/docs/java}/start/basic/what-is-startup-script.md (100%) rename {docs-java => src/content/docs/java}/start/basic/what-is-world.md (100%) rename {docs-java => src/content/docs/java}/start/config-server.md (94%) rename {docs-java => src/content/docs/java}/start/connect-to-server.md (100%) rename {docs-java => src/content/docs/java}/start/deploy.md (100%) rename {docs-java => src/content/docs/java}/start/install-server.md (98%) rename {docs-java => src/content/docs/java}/start/launch-server.md (97%) rename {docs-java/start/server-core-choose/_images => src/content/docs/java/start/server-core-choose/_assets}/Beast.jpg (100%) rename {docs-java/start/server-core-choose/_images => src/content/docs/java/start/server-core-choose/_assets}/LightingLuminol.png (100%) rename {docs-java/start/server-core-choose/_images => src/content/docs/java/start/server-core-choose/_assets}/Luminol.png (100%) rename {docs-java/start/server-core-choose/_images => src/content/docs/java/start/server-core-choose/_assets}/NeoForge.png (100%) rename {docs-java/start/server-core-choose/_images => src/content/docs/java/start/server-core-choose/_assets}/Quilt.svg (100%) rename {docs-java/start/server-core-choose/_images => src/content/docs/java/start/server-core-choose/_assets}/Sinytra_Connector.png (100%) rename {docs-java/start/server-core-choose/_images => src/content/docs/java/start/server-core-choose/_assets}/folia.webp (100%) rename {docs-java/start/server-core-choose/_images => src/content/docs/java/start/server-core-choose/_assets}/leaf.png (100%) rename {docs-java/start/server-core-choose/_images => src/content/docs/java/start/server-core-choose/_assets}/leaves.svg (100%) rename {docs-java/start/server-core-choose/_images => src/content/docs/java/start/server-core-choose/_assets}/papermc-wild.svg (100%) rename {docs-java/start/server-core-choose/_images => src/content/docs/java/start/server-core-choose/_assets}/purpur.png (100%) rename {docs-java/start/server-core-choose/_images => src/content/docs/java/start/server-core-choose/_assets}/sponge.png (100%) rename "docs-java/start/server-core-choose/_images/\351\202\243\344\272\233\346\234\215\345\212\241\347\253\257\346\234\211\345\220\216\351\227\250\345\220\227.png" => "src/content/docs/java/start/server-core-choose/_assets/\351\202\243\344\272\233\346\234\215\345\212\241\347\253\257\346\234\211\345\220\216\351\227\250\345\220\227.png" (100%) rename {docs-java => src/content/docs/java}/start/server-core-choose/folia/folia.md (80%) rename {docs-java => src/content/docs/java}/start/server-core-choose/folia/luminol.md (72%) rename {docs-java => src/content/docs/java}/start/server-core-choose/folia/misc.md (100%) rename {docs-java => src/content/docs/java}/start/server-core-choose/hybrid.md (100%) rename {docs-java => src/content/docs/java}/start/server-core-choose/mod.md (96%) rename {docs-java => src/content/docs/java}/start/server-core-choose/multipaper.md (100%) create mode 100644 src/content/docs/java/start/server-core-choose/plugin.md rename {docs-java => src/content/docs/java}/start/server-core-choose/server-core-choose.md (94%) rename {docs-java => src/content/docs/java}/start/server-core-choose/sponge.md (97%) rename {docs-java => src/content/docs/java}/start/start.md (100%) delete mode 100644 src/css/ad.css delete mode 100644 src/css/base/theme.css delete mode 100644 src/css/base/typography.css delete mode 100644 src/css/base/variables.css delete mode 100644 src/css/components/alert.css delete mode 100644 src/css/components/button.css delete mode 100644 src/css/components/card.css delete mode 100644 src/css/components/code.css delete mode 100644 src/css/components/footer.css delete mode 100644 src/css/components/navbar.css delete mode 100644 src/css/components/sidebar.css delete mode 100644 src/css/components/table.css delete mode 100644 src/css/custom.css delete mode 100644 src/css/github.css delete mode 100644 src/css/structure_explorer.css delete mode 100644 src/css/utilities/responsive.css delete mode 100644 src/css/utilities/scrollbar.css delete mode 100644 src/css/utilities/search.css delete mode 100644 src/data/structures/bdsServerStructure.ts delete mode 100644 src/data/structures/datapackStructure.ts delete mode 100644 src/data/structures/geyserExtensionStructure.ts delete mode 100644 src/data/structures/gradleProjectStructure.ts delete mode 100644 src/data/structures/hmclModpackStructure.ts delete mode 100644 src/data/structures/index.ts delete mode 100644 src/data/structures/levilamnaPluginStructure.ts delete mode 100644 src/data/structures/mavenProjectStructure.ts delete mode 100644 src/data/structures/nukitServerStructure.ts delete mode 100644 src/data/structures/serverDirStructureData.ts delete mode 100644 src/data/structures/viaproxyStructure.ts delete mode 100644 src/lib/utils.js delete mode 100644 src/pages/index.module.scss delete mode 100644 src/pages/index.tsx delete mode 100644 src/plugins/tailwind-plugin.ts create mode 100644 src/styles/global.css delete mode 100644 src/theme/DocItem/Footer/LastUpdated/index.js delete mode 100644 src/theme/DocItem/Layout/index.js delete mode 100644 src/theme/DocItem/Layout/styles.module.css delete mode 100644 src/theme/Footer/Copyright/index.js delete mode 100644 src/theme/Footer/Layout/index.js delete mode 100644 src/theme/Footer/LinkItem/index.js delete mode 100644 src/theme/Footer/Links/MultiColumn/index.js delete mode 100644 src/theme/Footer/Links/Simple/index.js delete mode 100644 src/theme/Footer/Links/index.js delete mode 100644 src/theme/Footer/Logo/index.js delete mode 100644 src/theme/Footer/Logo/styles.module.css delete mode 100644 src/theme/Footer/index.js delete mode 100644 src/theme/Navbar/index.tsx delete mode 100644 src/theme/PaginatorNavLink/index.jsx delete mode 100644 src/types/ExplorerNode.ts delete mode 100644 static/baidu_verify_codeva-POvxxO9Mk4.html.html delete mode 100644 static/img/docusaurus-social-card.jpg delete mode 100644 static/img/favicon.ico delete mode 100644 static/manifest.json delete mode 100644 static/robots.txt diff --git a/.env b/.env deleted file mode 100644 index 7721c85c2..000000000 --- a/.env +++ /dev/null @@ -1 +0,0 @@ -DOCUSAURUS_IGNORE_SSG_WARNINGS=true \ No newline at end of file diff --git a/.gitignore b/.gitignore index a98fc5fae..6240da8b1 100644 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1,21 @@ -build -.idea -.vscode -.docusaurus -node_modules -yarn.lock -package-lock.json +# build output +dist/ +# generated types +.astro/ + +# dependencies +node_modules/ + +# logs +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* + + +# environment variables +.env +.env.production + +# macOS-specific files .DS_Store -.pnpm-store/ \ No newline at end of file diff --git a/.imgbotconfig b/.imgbotconfig deleted file mode 100644 index 235e72fad..000000000 --- a/.imgbotconfig +++ /dev/null @@ -1,5 +0,0 @@ -{ - "aggressiveCompression": true, - "ignoredFiles": ["*.svg"], - "schedule": "weekly" -} diff --git a/.npmrc b/.npmrc deleted file mode 100644 index ed1ff4b3e..000000000 --- a/.npmrc +++ /dev/null @@ -1,2 +0,0 @@ -engine-strict=true -prefer-pnpm=true \ No newline at end of file diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 000000000..8c353d877 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,8 @@ +{ + "recommendations": [ + "davidanson.vscode-markdownlint", + "huacnlee.autocorrect", + "astro-build.astro-vscode", + "esbenp.prettier-vscode" + ] +} diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 000000000..d64220976 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,11 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "command": "./node_modules/.bin/astro dev", + "name": "Development server", + "request": "launch", + "type": "node-terminal" + } + ] +} diff --git a/astro.config.ts b/astro.config.ts new file mode 100644 index 000000000..877d4e969 --- /dev/null +++ b/astro.config.ts @@ -0,0 +1,61 @@ +import starlight from "@astrojs/starlight"; +import tailwindcss from "@tailwindcss/vite"; +import AstroPWA from "@vite-pwa/astro"; +import { defineConfig } from "astro/config"; + +export default defineConfig({ + integrations: [ + starlight({ + title: "My Docs", + social: [{ icon: "github", label: "GitHub", href: "https://github.com/withastro/starlight" }], + sidebar: [ + { + label: "Guides", + items: [ + // Each item here is one entry in the navigation menu. + { label: "Example Guide", slug: "guides/example" } + ] + }, + { + label: "Reference", + autogenerate: { directory: "reference" } + } + ] + }), + AstroPWA({ + registerType: "autoUpdate", + + manifest: { + name: "笨蛋文档", + short_name: "笨蛋文档", + theme_color: "#2196f3", + background_color: "#424242", + display: "standalone", + start_url: "/", + icons: [ + { + src: "/icons/book-192.png", + sizes: "192x192", + type: "image/png" + }, + { + src: "/icons/book-512.png", + sizes: "512x512", + type: "image/png" + } + ], + + related_applications: [ + { + platform: "webapp", + url: "https://nitwikit.8aka.org/manifest.json" + } + ] + } + }) + ], + + vite: { + plugins: [tailwindcss()] + } +}); diff --git a/docs-bedrock/misc/dragonfly.md b/docs-bedrock/misc/dragonfly.md deleted file mode 100644 index e8fb2392e..000000000 --- a/docs-bedrock/misc/dragonfly.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -title: Dragonfly 核心介绍 -sidebar_position: 1 ---- - -![DragonflyLogo](./_images/dragonfly.png) - -## 什么是 Dragonfly - -Dragonfly 是用 Go 语言编写的 Minecraft Bedrock Edition 服务器软件。它的编写考虑了可扩展性和简单性,旨在简化设置和修改服务器的过程。 - -## 特色 - -- 轻量 -- 易于拓展(一般用 Dragonfly 作为库来扩展) -- 具有文档齐全的代码库和易于使用的 API([Dragonfly 文档](https://pkg.go.dev/github.com/df-mc/dragonfly/server)) - -## 链接 - -- [GitHub 链接](https://github.com/df-mc/dragonfly) diff --git a/docs-bedrock/super-basic/server-core-choose.md b/docs-bedrock/super-basic/server-core-choose.md deleted file mode 100644 index b20c740ca..000000000 --- a/docs-bedrock/super-basic/server-core-choose.md +++ /dev/null @@ -1,144 +0,0 @@ ---- -title: 服务器核心选择 -sidebar_position: 1 ---- - -# 服务器核心选择 - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - - - - -:::warning - -至本篇文档开始,**`BDS`** 一致指 **`Bedrock Dedicated Server`**,而不是指 **`Beidou Navigation Satellite System`** (北斗卫星导航系统) - -::: - -![BDS 运行时的样子](_images/bedrock-core-running.png) - -此服务器核心允许 *Minecraft 腐竹* 在家里使用安装有 **Windows** 或 **Linux** 的设备或使用 **云服务托管** (云服务器) 来搭建属于自己的 BDS 服务器。 -这是坐落于 **Minecraft 官网** 的服务端 (与 Java 的 Vanilla 服务端在一个页面)。作为官方服务端,它有着极其完善的 Minecraft 特性和流畅的游戏体验,几乎和单人一模一样,说是生存服首当之选也不为过。 - -**优势**: - -- 官方支持:作为 Mojang 官方推出的服务器端软件,BDS 能够获得官方的最新更新和支持,确保与 Minecraft 基岩版的最新版本兼容。 -- 文档和社区支持:虽然官方提供了一些基本文档,但不如第三方服务器端软件的社区那样提供丰富的教程和支持。社区插件内容庞大,基本满足腐竹的日常需求 (虽然官方服务端无法加载插件,但可以通过 - [社区开发的加载器](../bds/process/plugins/plugins-loader-choose.md) - 解决这一问题)。 - -- 稳定性:由于是官方产品,BDS 在稳定性方面通常表现良好,能够提供可靠的服务器体验。 -- 兼容性:BDS 与 **Minecraft 基岩版客户端** 的兼容性最好,确保玩家可以无缝连接和游戏。 -- 安全性:官方服务器端软件通常会得到更频繁的安全更新,减少了潜在的安全风险。 -- 资源利用:BDS 针对 **Minecraft 基岩版** 进行了优化,能够高效利用服务器资源。 - -**劣势**: - -- 定制性有限:与一些第三方服务器端软件相比,BDS 的定制性和扩展性可能 **较为有限**,**不支持插件系统**,限制了服务器的个性化。 -- 性能优化:虽然 BDS 性能稳定,但可能在某些方面 (如多核优化) 不如专门的第三方服务器端软件。它的生物运算运行在一个线程上。意味着你的服务器的流畅度主要取决于 **CPU 的单核性能**。 - 这使得地图越大,服务器就越 [卡顿](/start/basic/what-is-lag),不如 Java 版服务端流畅,因为 Java 版服务端 **支持多核运行**。 -- 高级功能缺失:BDS 可能不支持一些高级功能,如自定义世界生成、高级权限管理等,这些通常需要第三方软件才能实现。 -- 内存泄漏:内存占用会 *缓慢* 增加,有时严重的还会导致 **内存泄漏**。如果强行进行 **内存清理** 的话,会导致玩家在进入 **装有 材质包 / Addon 的服务器** 时 **该玩家客户端无法下载对应内容**,致使下载进度条卡条,只能让腐竹重启服务器解决。 - -总体来说,Bedrock Dedicated Server 适合那些希望获得官方支持、稳定性和兼容性的服务器管理员。如果你的服务器不需要复杂的定制或高级功能,BDS 是一个可靠的选择。然而,对于那些需要更多自定义选项和高级功能的用户,可能需要考虑使用第三方服务器端软件。 - - - - -:::warning - -至本篇文档开始,**`NK`** 一致指 **`Nukkit`**,但考虑到全称不长,因此二者都会出现在本文档中 - -::: - -![Nukkit 运行时的样子](_images/nukkit-core-running.png) - -它的名字,很像 Java 版服务端的 Bukkit。没错,它就是 *意图* 创作出来类似 Bukkit 的基岩版服务端,编写语言正是 **Java**。 - -**优势**: - -- 轻量级:Nukkit 设计轻量,对系统资源的 **需求相对较低**,适合在 **资源有限** 的服务器上运行。 -- 高性能:Nukkit 在性能方面进行了优化,能够 **支持较多的同时在线玩家**,保持良好的游戏体验。 -- 插件系统:Nukkit 拥有一个 **活跃的插件生态系统**,用户可以轻松地安装和使用各种插件来扩展服务器功能。 -- 跨平台:Nukkit **支持多个操作系统**,包括 Windows、Linux 和 macOS,方便在不同平台上搭建服务器。 -- 易于上手:相对于其他服务器端软件,Nukkit 的配置和使用较为简单,适合初学者 **快速搭建服务器**。 -- 社区支持:Nukkit 有一个相对活跃的社区,用户可以从中获得帮助和资源。 - -**劣势**: - -- 更新滞后:Nukkit 的更新可能不如官方服务器端软件那样及时,可能无法立即支持最新的 Minecraft 版本和特性。 -- 生态系统限制:虽然 Nukkit 的插件生态系统活跃,但与一些更流行的服务器端软件 (如 Spigot / Paper) 相比,可用的插件和资源可能较少。 -- 多核优化不足:早期的 Nukkit 版本在多核处理器优化方面可能不如其他服务器端软件,这可能会 **限制其在高性能服务器上的性能表现**。 -- 文档和教程:虽然社区活跃,但 **高质量的官方文档和教程可能相对缺乏**,新用户可能需要花费更多时间学习和解决问题。 -- 稳定性问题:由于开源项目的性质,Nukkit 可能偶尔会出现稳定性问题,尤其是在处理大量玩家或复杂插件时。 - -总的来说,Nukkit 是一个适合初学者和小型服务器使用的轻量级 Minecraft 服务器端软件,它提供了足够的性能和可扩展性来满足基本需求。然而,对于需要最新游戏特性、高级优化和广泛插件支持的大型服务器,可能需要考虑其他选项。 - - - - -:::danger[此核心短时间内不再可用] - -![PNX 短时间内不再更新](_images/powernukkitx-core-rip.png) - -::: - -:::warning - -至本篇文档开始,**`PNX`** 一致指 **`PowerNukkitX`** - -::: - -![PNX 运行时的样子](_images/powernukkitx-core-running.png) - -**优势**: - -- 最新版 MCBE (基岩版) 协议支持:PNX 支持最新的 Minecraft 基岩版协议,这意味着它 **可以兼容最新的游戏版本和特性**。 -- 丰富的原版特性支持:支持 1.19 版本的所有新方块和新物品,以及新版下界等特性。 -- 高性能和高拓展性:PNX 进行了多核优化,提供了更高的性能和更好的扩展性。 -- 384 格世界支持:允许在主世界达到 384 格的高度限制。 -- 史诗地形生成器:内置 Terra 地形生成器,支持创建丰富的地图环境。 -- 全开源和全 API 开放:PNX 完全开源,提供了丰富的 API,方便开发者进行定制和扩展。 -- 插件兼容性:兼容 Nukkit 生态中的数千个插件,同时支持使用 Java,Kotlin,Scala,Python,JavaScript,Lua 等 JVM 语言编写插件。 - -**劣势**: - -- 开发活跃度:由于 Nukkit 核心开发团队的变化,PNX 的开发强度可能受到影响。 -- 生态系统的局限性:虽然 PNX 拥有丰富的插件,但与一些更主流的服务器端软件相比,其生态系统可能相对较小。 -- 学习曲线:由于 PNX 生态的广阔和插件的多样性,对于新手来说,学习如何有效地使用和管理 PNX 服务器可能会有一定的难度。 - -总体来看,PowerNukkitX 是一个功能强大且高度可定制化的 Minecraft 基岩版服务器端软件,特别适合那些需要高性能和高度自定义服务器的用户。然而,它的使用和维护可能需要一定的技术知识和耐心。 - - - - -:::warning - -至本篇文档开始,**`PMMP`** 一致指 **`PocketMine-MP`** - -::: - -![PNX 运行时的样子](_images/pocketminemp-core-running.png) - -**优势**: - -- 插件生态丰富:PocketMine-MP 拥有一个 **庞大的插件生态系统**,用户可以找到各种插件来增强服务器的功能和玩家体验。 -- 跨平台兼容性:PocketMine-MP **支持多个操作系统**,包括 Windows、Linux 和 macOS,便于在不同环境下部署。 -- PHP 编程语言:使用 PHP 编写插件,对于熟悉 PHP 的开发者来说,入门门槛相对较低。 -- 社区支持:PocketMine-MP 有一个活跃的社区,提供插件开发、服务器配置和故障排除的帮助。 -- 自定义性:服务器管理员可以自由地定制服务器,包括游戏规则、世界生成和玩家互动等。 - -**劣势**: - -- 性能问题:PocketMine-MP 在处理高玩家负载时 **可能存在性能瓶颈**,尤其是在内存管理和 CPU 效率方面。 -- 更新滞后:PocketMine-MP 可能不会立即跟进 **Minecraft 基岩版** 的最新更新,导致玩家无法体验最新的游戏内容。 -- 稳定性:由于插件系统的开放性,服务器在运行多个插件时 **可能会遇到稳定性问题**。 -- 资源消耗:PHP 作为解释型语言,相比编译型语言 **可能在资源消耗上更为显著**。 -- 学习曲线:对于新手管理员来说,PocketMine-MP 的 **配置和插件管理可能需要一定的学习时间**。 - -PocketMine-MP 适合那些重视插件功能和自定义能力的服务器管理员。如果你希望建立一个具有特色玩法和丰富互动的服务器,并且不介意在性能和稳定性方面做出一些妥协,PocketMine-MP 是一个不错的选择。然而,如果你更关注性能和最新游戏内容的支持,可能需要考虑其他服务器端解决方案。 - - - diff --git a/docs-java/process/cross-server/setup/velocity-ctd/velocity-ctd.md b/docs-java/process/cross-server/setup/velocity-ctd/velocity-ctd.md deleted file mode 100644 index 1408e8941..000000000 --- a/docs-java/process/cross-server/setup/velocity-ctd/velocity-ctd.md +++ /dev/null @@ -1,132 +0,0 @@ ---- -title: Velocity-CTD -slug: /velocity-ctd -sidebar_position: 2 ---- - -# Velocity-CTD - -![](../_images/Velocity.png) - -[点此跳转到 GitHub 仓库](https://github.com/GemstoneGG/Velocity-CTD) - -## 关于 Velocity-CTD 的介绍 - -### 什么是 Velocity-CTD? - -Velocity-CTD 是 Velocity 的一个增强分支,由 GemstoneGG 团队开发维护。它在保持 Velocity 原有优秀特性的基础上,添加了大量实用功能和性能优化,旨在提供"一体化"的代理服务器体验。 - -### 主要特性 - -- **完全兼容 Velocity**:所有 Velocity 的功能和配置都得到支持 -- **Redis 数据库支持**:内置 Redis 支持,可替代 RedisBungee 等插件 -- **高效队列系统**:内置动态队列系统,可稳定处理数千名玩家 -- **丰富的管理命令**:提供多种实用的管理和玩家命令 -- **多转发系统**:支持为不同服务器使用不同的转发方法 -- **性能优化**:使用更新的依赖项和各种性能优化 -- **MiniMessage 支持**:支持完全可配置的消息格式 - -### 为什么选择 Velocity-CTD? - -如果你需要以下功能,Velocity-CTD 是一个很好的选择: - -- 需要 Redis 支持但不想安装额外插件 -- 需要内置队列系统来管理服务器负载 -- 希望有更多的管理命令来简化服务器管理 -- 需要更好的性能和稳定性 -- 希望有一个"开箱即用"的解决方案 - -### 与标准 Velocity 的区别 - -Velocity-CTD 在标准 Velocity 基础上增加了: - -1. **内置功能**:Redis、队列系统、各种命令等 -2. **性能优化**:更新的依赖项和各种性能改进 -3. **管理便利性**:更多的配置选项和管理工具 -4. **稳定性增强**:针对大型服务器的稳定性改进 - -## 内置命令 - -### 玩家命令 - -- `/hub` 或 `/lobby` - 返回大厅服务器 -- `/ping [玩家]` - 查看延迟 -- `/find <玩家>` - 查找玩家所在服务器 -- `/server <服务器>` - 连接到指定服务器(支持队列) -- `/leavequeue` 或 `/dequeue` - 离开队列 - -### 管理员命令 - -- `/alert <消息>` - 向全网络发送公告 -- `/alertraw <消息>` - 发送无前缀公告 -- `/plist` - 查看代理服务器玩家列表 -- `/transfer <玩家|current|服务器|all> <目标代理>` - 转移玩家到其他代理 -- `/velocity sudo <玩家> <命令>` - 强制玩家执行命令 -- `/velocity uptime` - 查看代理服务器运行时间 -- `/velocity reload` - 重载配置文件 - -### 队列管理命令 - -- `/queueadmin add <玩家> <服务器>` - 添加玩家到队列 -- `/queueadmin addall <源服务器> <目标服务器>` - 添加整个服务器的玩家到队列 -- `/queueadmin list [服务器]` - 查看队列列表 -- `/queueadmin listqueues` - 查看所有队列 -- `/queueadmin pause <服务器>` - 暂停服务器队列 -- `/queueadmin unpause <服务器>` - 恢复服务器队列 -- `/queueadmin remove <玩家> [服务器]` - 从队列中移除玩家 -- `/queueadmin removeall <服务器>` - 清空服务器队列 - -## 权限系统 - -### 基础权限 - -- `velocity.command.alert` - 使用 /alert 命令 -- `velocity.command.alertraw` - 使用 /alertraw 命令 -- `velocity.command.find` - 使用 /find 命令 -- `velocity.command.hub` - 使用 /hub 和 /lobby 命令 -- `velocity.command.ping` - 使用 /ping 命令 -- `velocity.command.plist` - 使用 /plist 命令 -- `velocity.command.sudo` - 使用 /velocity sudo 命令 -- `velocity.command.transfer` - 使用 /transfer 命令 -- `velocity.command.uptime` - 使用 /velocity uptime 命令 - -### 队列权限 - -- `velocity.queue.bypass` - 绕过所有服务器的队列 -- `velocity.queue.bypass.<服务器>` - 绕过特定服务器的队列 -- `velocity.queue.leave` - 离开队列 -- `velocity.queue.priority..<权重>` - 设置队列优先级 -- `velocity.queue.timeout.<秒数>` - 设置队列超时时间 - -### 队列管理权限 - -- `velocity.queue.admin.add` - 添加玩家到队列 -- `velocity.queue.admin.addall` - 批量添加玩家到队列 -- `velocity.queue.admin.list` - 查看队列列表 -- `velocity.queue.admin.listqueues` - 查看所有队列 -- `velocity.queue.admin.pause` - 暂停队列 -- `velocity.queue.admin.remove` - 移除玩家从队列 -- `velocity.queue.admin.removeall` - 清空队列 -- `velocity.queue.admin.unpause` - 恢复队列 - -## FAQ - - - -1. Q:Velocity-CTD 与标准 Velocity 兼容吗? - -A:是的,Velocity-CTD 完全兼容标准 Velocity。你可以直接用 Velocity-CTD 替换 Velocity,所有配置和插件都能正常工作。 - -2. Q:Velocity-CTD 的性能如何? - -A:Velocity-CTD 在标准 Velocity 基础上进行了多项性能优化,包括更新的依赖项和各种性能改进,通常比标准 Velocity 性能更好。 - -3. Q:如何从标准 Velocity 迁移到 Velocity-CTD? - -A:直接替换 jar 文件即可,配置文件完全兼容。建议先备份现有配置,然后根据需要添加新功能的配置。 - -4. Q:多转发系统是什么? - -A:这是 Velocity-CTD 的独特功能,允许你为不同的子服务器使用不同的转发模式,比如某些服务器使用 modern 转发,某些使用 legacy 转发。 - - diff --git a/docs-java/process/plugin/management-tool/basic-plugins/sunlight/sunlight.md b/docs-java/process/plugin/management-tool/basic-plugins/sunlight/sunlight.md deleted file mode 100644 index c69ef560d..000000000 --- a/docs-java/process/plugin/management-tool/basic-plugins/sunlight/sunlight.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -title: SunLight -sidebar_position: 3 ---- - -# SunLight - -![](_images/1.png) - -[![Discord](./_images/2.png)](https://discord.gg/EwNFGsnGaW) -[![Ko-fi](./_images/3.png)](https://ko-fi.com/nightexpress) -[![Documentation](./_images/4.png)](https://nightexpress.gitbook.io/sunlight) - -## 特点 - -![](_images/5.png) - -- **模块化。** 插件的任何部分都可以轻松完全禁用!包括任何插件命令! -- **轻盈而现代。** 漂亮的消息设计,简单直观的 GUI,没有过载(hello CMI),也不是那么基本(hello Essentials)。 -- [**JSON 支持。**](https://github.com/nulli0n/NexEngine-spigot/wiki/Language-Config#json-formatting) 大约 90% 的插件消息(命令用法和描述除外)支持自定义 JSON 元素! -- **GUI 驱动。** 忘记在聊天中浏览套件、经线、房屋、禁令等。所有这些都是通过完全可定制的信息 GUI 完成的! -- **常用命令。** 超过 50+ 基本和实用命令! -- **更多命令。** 总共 100+ 个命令,启用所有模块! -- **命令快捷方式。** 为任何 SunLight 命令创建自定义快捷方式。示例:/gamemode creative -> /gmc! -- **命令冷却时间。** 根据玩家的等级为任何服务器命令创建自定义冷却时间。 -- [**命令设置。**](https://github.com/nulli0n/SunLight-spigot/wiki/Commands#-commands-config) 某些命令在 commands.yml 配置文件中具有自己的设置。 -- **离线玩家支持。** 几乎每个 SunLight 命令都支持离线玩家! -- **自定义文本文件。** 使用任何文本创建自定义.txt,并使用分配给该文件的唯一命令进行打印!非常适合为命令创建 motd、规则甚至自定义文本 GUI! -- [**占位符 API**](https://github.com/nulli0n/SunLight-spigot/wiki/PlaceholderAPI) 支持。 - -## 链接 - -:::info - -`SpigotMC` https://www.spigotmc.org/resources/.67733 - -`MineBBS` https://www.minebbs.com/resources/.7241 - -`GitHub` https://github.com/nulli0n/SunLight-spigot - -`文档 (英文)` https://github.com/nulli0n/SunLight-spigot/wiki - -`插件百科` https://mineplugin.org/SunLight-Core - -::: diff --git a/docs-java/process/plugin/misc/tab-scoreboard/tab.md b/docs-java/process/plugin/misc/tab-scoreboard/tab.md deleted file mode 100644 index 35c010529..000000000 --- a/docs-java/process/plugin/misc/tab-scoreboard/tab.md +++ /dev/null @@ -1,574 +0,0 @@ ---- -title: TAB -sidebar_position: 2 ---- - -# TAB - -[![Releases](https://img.shields.io/github/v/release/NEZNAMY/TAB)](https://github.com/NEZNAMY/TAB/releases) -[![Downloads](https://img.shields.io/spiget/downloads/57806?label=Downloads)](https://www.spigotmc.org/resources/.57806) -[![Code Size](https://img.shields.io/github/languages/code-size/NEZNAMY/TAB)](https://github.com/NEZNAMY/TAB) -[![License](https://img.shields.io/github/license/NEZNAMY/TAB)](https://github.com/NEZNAMY/TAB/blob/main/LICENSE) - -```text -TAB 是一个用于在不同位置显示信息的多功能插件,旨在在功能、兼容性和性能方面超越所有类似的插件。 -``` - -此插件拥有自由的配置文件,无论你是只需要最简单的功能,或者制作一些复杂的功能,此插件都能满足你的需求! - -默认配置已经包含足够的示例让你理解此插件的配置,另外,此插件拥有全面的 Wiki。 - -## 照片 - -### TAB (HEADER FOOTER) - -![](_images/TAB/TAB-1.png) - -[点我查看文档](https://docs.superiormc.cn/v/tab-wiki/core-features/tab-de-ding-bu-he-di-bu) - -### 名称标签(NAMETAGS) - -没有图 - -[点我查看文档](https://docs.superiormc.cn/v/tab-wiki/core-features/ming-cheng-biao-qian) - -### 排列(SORTING) - -![](_images/TAB/TAB-2.png) - -[点我查看文档](https://docs.superiormc.cn/v/tab-wiki/core-features/pai-lie) - -### TAB 列表名称样式(TABLIST FORMATTING)​ - -完全可定制的 TAB 列表格式,支持自定义前缀、名称和后缀 - -![](_images/TAB/TAB-3.png) - -[点我查看文档](https://docs.superiormc.cn/v/tab-wiki/core-features/tab-lie-biao-ming-cheng-yang-shi) - -### 黄色数字或血量(PLAYERLIST OBJECTIVE) - -此功能允许您在列表中显示某变量数字或血量 - -![](_images/TAB/TAB-4.png) - -![](_images/TAB/TAB-5.png) - -[点我查看文档](https://docs.superiormc.cn/v/tab-wiki/core-features/huang-se-shu-zi) - -### 名称标签下方(BELOWNAME)​ - -此功能可以在玩家姓名标签下方显示数字和静态文本 - -![](_images/TAB/TAB-6.png) - -[点我查看文档](https://docs.superiormc.cn/v/tab-wiki/core-features/ming-cheng-biao-qian-xia-fang) - -### BOSS 条(BOSSBAR) - -![](_images/TAB/TAB-7.png) - -[点我查看文档](https://docs.superiormc.cn/v/tab-wiki/core-features/boss-tiao) - -### 共用玩家列表(GLOBAL PLAYERLIST)​ - -将全服(BungeeCore 或 Velocity 群组)的玩家展示在同个 TAB 中! - -[点我查看文档](https://docs.superiormc.cn/v/tab-wiki/core-features/gong-yong-wan-jia-lie-biao) - -### 布局(LAYOUT) - -这个功能允许你配置所有 80 个 TAB 列表槽位。目前不支持显示小于 4 列 - -![](_images/TAB/TAB-8.png) - -[点我查看文档](https://docs.superiormc.cn/v/tab-wiki/core-features/bu-ju) - -### 计分板(SCOREBOARD) - -![](_images/TAB/TAB-9.png) - -[点我查看文档](https://docs.superiormc.cn/v/tab-wiki/core-features/ji-fen-ban) - -### 各世界玩家列表(PRE WORLD PLAYERLIST)​ - -仅在 TAB 显示玩家所在世界的玩家 - -[点我查看文档](https://docs.superiormc.cn/v/tab-wiki/core-features/ge-shi-jie-wan-jia-lie-biao) - -## 支持 - -该插件正被大量服务器使用,这也意味着对我的关注度很高。不幸的是,我再也无法满足需求(搬运者猜测是维护插件和回答用户提问占用时间太多),因为我不想把我的大部分时间都奉献给一个免费的插件。为了提供所有提供服务的最佳质量,提供的服务数量可能会发生改变。以下是潜在服务及其状态的完整列表: - -| 服务类型 | 状态 | -| ---------------- | ---- | -| 跟进版本 | ✔ | -| Bug 修复 | ✔ | -| 文档 | ✔ | -| 新功能请求 | ❌ | -| Customer support | ✔ | -| 免费用户支持 | ❌\* | -| 优化 | ✔ | - -1. 添加新的示例、指南和其他人们询问的有用信息。 -2. 为付费用户提供无限制的插件帮助。 -3. 世界上每个人都可以无限制地使用我的空闲时间。(?) -4. 在不损失任何功能的情况下提高插件的性能。 - -- 你可以加入这个大好人的 [Community Discord](https://discord.gg/YPqXt63YQj) 来得到其他好心人的支持 - 注:Discord 在国内不能访问,需要挂梯 - -## API - -https://github.com/NEZNAMY/TAB/wiki/Developer-API - -## 链接 - -:::info - -`SpigotMC` https://www.spigotmc.org/resources/.57806 - -`Modrinth` https://modrinth.com/plugin/tab-was-taken - -`MineBBS` https://www.minebbs.com/resources/.9057 - -`GitHub` https://github.com/NEZNAMY/TAB - -`文档 (英文)` https://github.com/NEZNAMY/TAB/wiki - -`文档 (中文)` https://docs.superiormc.cn/v/tab-wiki - -`插件百科` https://mineplugin.org/Tab - -::: - -## 汉化 - -替换插件文件夹中的 `message.yml` 接着 `/tab reload` - -
- mmessage.yml - - - -```yaml -announce-command-usage: |- - 用法: /tab announce <种类> <名称> <长度> - 当前支持种类: &lbar, scoreboard -bossbar-feature-not-enabled: '&c想使用此指令,必须先开启bossbar功能' -bossbar-announce-command-usage: '用法: /tab announce bar ' -bossbar-not-found: '&c拥有此名称的bossbar未找到 "%name%"' -bossbar-already-announced: '&c这条bossbar已被广播' -group-data-removed: '&3[TAB] 组 &e%group% &3中的全部数据已清除' -group-value-assigned: '&3[TAB] %property% ''&r%value%&r&3'' 已被添加至组 &e%group%' -group-value-removed: '&3[TAB] %property% 已被从组 &e%group% &3中移除' -user-data-removed: '&3[TAB] 玩家 &e%player% &3的全部数据已清除' -user-value-assigned: '&3[TAB] %property% ''&r%value%&r&3'' 已被添加至玩家 &e%player%' -user-value-removed: '&3[TAB] %property% 已被从玩家 &e%player% &3中移除' -parse-command-usage: '用法: /tab parse <玩家> ' -send-command-usage: |- - 用法: /tab send <种类> <玩家> - 当前支持种类: &lbar -send-bar-command-usage: '用法: /tab send bar <玩家> ' -team-feature-required: '&4想使用此指令,必须先开启计分板功能' -collision-command-usage: '用法: /tab setcollision <玩家> ' -no-permission: '&c抱歉,你没有权限执行此指令。如果你认为这是错误的,请联系服务器管理员。' -command-only-from-game: '&c此指令只能在游戏中执行' -player-not-online: '&c未找到名为 "%player%" 的在线玩家' -invalid-number: '"%input%" 不是一个有效数字!' -scoreboard-feature-not-enabled: '&4想使用此指令,必须先开启计分板功能' -scoreboard-announce-command-usage: '用法: /tab scoreboard announce <计分板名称> <长度>' -scoreboard-not-found: '&c拥有此名称的计分板未找到 "%name%"' -reload-success: '&3[TAB] 重载成功' -reload-fail-file: '&3[TAB] &4重载失败,配置文件 %file% 语法错误。请查看控制台获得更多信息。' -scoreboard-toggle-on: '&2计分板已开启' -scoreboard-toggle-off: '&7计分板已关闭' -bossbar-toggle-on: '&2Boss血条现在可见' -bossbar-toggle-off: '&7Boss血条不再可见。神奇!' -scoreboard-show-usage: '用法: /tab scoreboard show <计分板> [玩家]' -bossbar-not-marked-as-announcement: '&c此Boss血条未标记为公告栏,因此已永久显示(如果满足显示条件)' -bossbar-announcement-success: '&a正在向全服广播Boss血条 &6%bossbar% &a,持续 %length% 秒。' -bossbar-send-success: '&a正在向玩家 &6%player% &a发送Boss血条 &6%bossbar% &a,持续 %length% 秒。' -help-menu: -- '&m ' -- ' &8>> &3&l/tab reload' -- ' - &7重载插件和配置' -- ' &8>> &3&l/tab &9group&3/&9player &3 &9 &3' -- ' - &7输入 &8/tab group/player &7查看属性' -- ' &8>> &3&l/tab parse <玩家> ' -- ' - &7测试占位符是否有效' -- ' &8>> &3&l/tab debug [玩家]' -- ' - &7显示关于玩家的调试信息' -- ' &8>> &3&l/tab cpu' -- ' - &7显示插件的CPU使用率' -- ' &8>> &3&l/tab group/player remove' -- ' - &7清除关于玩家/组的全部数据' -- '&m ' -mysql-help-menu: -- '&6/tab mysql upload - 从文件上传数据至MySQL' -- '&6/tab mysql download - 从MySQL下载数据至文件' -mysql-fail-not-enabled: '&c无法从MySQL下载/上传数据,因为MySQL已禁用。' -mysql-fail-error: 'MySQL下载失败,发生错误。请查看控制台获得更多信息。' -mysql-download-success: '&aMySQL数据下载成功。' -mysql-upload-success: '&aMySQL数据上传成功。' -scoreboard-help-menu: -- '/tab scoreboard [on/off/toggle] [玩家] [选项]' -- '/tab scoreboard show <名称> [玩家]' -- '/tab scoreboard announce <名称> <长度>' -bossbar-help-menu: -- '/tab bossbar [on/off/toggle] [玩家] [选项]' -- '/tab bossbar send <名称> [玩家]' -- '/tab bossbar announce <名称> <长度>' -nametag: - help-menu: - - '/tab nametag [玩家] [-s] - 切换指定玩家的名称标签' - - '/tab nametag [玩家] [观察者] [-s] - 切换指定玩家在其他玩家视角中的名称标签显示' - feature-not-enabled: '&c此指令需要先开启名称标签功能。' - view-hidden: '&a所有玩家的名称标签对你隐藏' - view-shown: '&a所有玩家的名称标签对你显示' - player-hidden: '&a你的名称标签已隐藏' - player-shown: '&a你的名称标签已显示' - no-arg-from-console: '&c从控制台运行此指令时需要指定玩家' -``` - - - -
- -## 配置文件汉化 - -替换插件文件夹中的 `config.yml` 接着 `/tab reload` - -
- config.yml - - - -```yaml -# https://github.com/NEZNAMY/TAB/wiki/Feature-guide:-Header-&-Footer -# 头部和底部显示 -header-footer: - enabled: true # 启用头部底部功能 - header: # 头部内容 - - "<#FFFFFF>&m " - - "&3&l服务器名称" - - "&r&7&l>> %animation:Welcome%&3 &l%player%&7&l! &7&l<<" - - "&r&7在线玩家: &f%online%" - - "&6在线管理员: &e%staffonline%" - - "" - footer: # 底部内容 - - "%animation:time%" - - "&2延迟: %ping%" - - "&7&l 已用内存: %memory-used% MB / %memory-max% MB" - - "" - - "&r&7访问我们的网站 %animation:web%" - - "<#FFFFFF>&m " - disable-condition: '%world%=disabledworld' # 禁用条件 - per-world: # 按世界设置 - world1: - header: - - "世界1的自定义头部示例" - footer: - - "自定义头部/底部和前缀/后缀" - world2;world3: - header: - - "这是world2和world3的" - - "共享头部" - per-server: # 按服务器设置 - server1: - header: - - "服务器1的自定义头部示例" - -# https://github.com/NEZNAMY/TAB/wiki/Feature-guide:-Tablist-name-formatting -# Tab列表名称格式化 -tablist-name-formatting: - enabled: true # 启用Tab列表名称格式化 - disable-condition: '%world%=disabledworld' # 禁用条件 - -# https://github.com/NEZNAMY/TAB/wiki/Feature-guide:-Nametags -# 名称标签和计分板团队 -scoreboard-teams: - enabled: true # 启用计分板团队功能 - enable-collision: true # 启用碰撞 - invisible-nametags: false # 隐形名称标签 - # https://github.com/NEZNAMY/TAB/wiki/Feature-guide:-Sorting-players-in-tablist - # Tab列表中玩家排序 - sorting-types: - - "GROUPS:owner,admin,mod,helper,builder,vip,default" # 按组排序 - - "PLACEHOLDER_A_TO_Z:%player%" # 按玩家名A-Z排序 - case-sensitive-sorting: true # 区分大小写排序 - can-see-friendly-invisibles: false # 能否看到友方隐身玩家 - disable-condition: '%world%=disabledworld' # 禁用条件 - -# https://github.com/NEZNAMY/TAB/wiki/Feature-guide:-Playerlist-Objective -# 玩家列表目标(黄色数字) -playerlist-objective: - enabled: true # 启用玩家列表目标 - value: "%ping%" # 显示值 - fancy-value: "&7延迟: %ping%" # 美化显示值 - title: "TAB" # 标题(仅基岩版可见) - render-type: INTEGER # 渲染类型:整数 - disable-condition: '%world%=disabledworld' # 禁用条件 - -# https://github.com/NEZNAMY/TAB/wiki/Feature-guide:-Belowname -# 名称下方显示 -belowname-objective: - enabled: false # 启用名称下方显示 - value: "%health%" # 显示值 - title: "&c生命值" # 标题 - fancy-value: "&c%health%" # 美化显示值 - fancy-value-default: "NPC" # 默认美化值 - disable-condition: '%world%=disabledworld' # 禁用条件 - -# https://github.com/NEZNAMY/TAB/wiki/Feature-guide:-Spectator-fix -# 观察者模式修复 -prevent-spectator-effect: - enabled: false # 启用观察者效果防护 - -# https://github.com/NEZNAMY/TAB/wiki/Feature-guide:-Bossbar -# Boss血条 -bossbar: - enabled: false # 启用Boss血条 - toggle-command: /bossbar # 切换命令 - remember-toggle-choice: false # 记住切换选择 - hidden-by-default: false # 默认隐藏 - bars: # 血条配置 - ServerInfo: - style: "PROGRESS" # 1.9+样式: PROGRESS, NOTCHED_6, NOTCHED_10, NOTCHED_12, NOTCHED_20 - color: "%animation:barcolors%" # 1.9+颜色: BLUE, GREEN, PINK, PURPLE, RED, WHITE, YELLOW - progress: "100" # 进度百分比 - text: "&f网站: &bwww.domain.com" # 显示文本 - -# https://github.com/NEZNAMY/TAB/wiki/Feature-guide:-Scoreboard -# 计分板 -scoreboard: - enabled: false # 启用计分板 - toggle-command: /sb # 切换命令 - remember-toggle-choice: false # 记住切换选择 - hidden-by-default: false # 默认隐藏 - use-numbers: true # 使用数字 - static-number: 0 # 静态数字 - delay-on-join-milliseconds: 0 # 加入延迟(毫秒) - scoreboards: # 计分板配置 - scoreboard-1.20.3+: - title: "<#E0B11E>我的服务器" # 标题 - display-condition: "%player-version-id%>=765;%bedrock%=false" # 显示条件:仅1.20.3+且非基岩版 - lines: # 显示行 - - "&7%date%" - - "%animation:MyAnimation1%" - - "&6在线信息:" - - "* &e在线&7:||%online%" - - "* &e当前世界&7:||%worldonline%" - - "* &e管理员&7:||%staffonline%" - - "" - - "&6个人信息:" - - "* &b等级&7:||%group%" - - "* &b延迟&7:||%ping%&8ms" - - "* &b世界&7:||%world%" - - "%animation:MyAnimation1%" - scoreboard: - title: "<#E0B11E>我的服务器" - lines: - - "&7%date%" - - "%animation:MyAnimation1%" - - "&6在线信息:" - - "* &e在线&7: &f%online%" - - "* &e当前世界&7: &f%worldonline%" - - "* &e管理员&7: &f%staffonline%" - - "" - - "&6个人信息:" - - "* &b等级&7: &f%group%" - - "* &b延迟&7: &f%ping%&8ms" - - "* &b世界&7: &f%world%" - - "%animation:MyAnimation1%" - -# https://github.com/NEZNAMY/TAB/wiki/Feature-guide:-Layout -# 布局系统 -layout: - enabled: false # 启用布局 - direction: COLUMNS # 方向:列 - default-skin: mineskin:383747683 # 默认皮肤 - enable-remaining-players-text: true # 启用剩余玩家文本 - remaining-players-text: '... 还有 %s 个玩家' # 剩余玩家文本 - empty-slot-ping-value: 1000 # 空槽位延迟值 - layouts: # 布局配置 - default: - fixed-slots: # 固定槽位 - - '1|&3网站&f:' - - '2|&bmyserver.net' - - '3|&8&m ' - - '4|&3名称&f:' - - '5|&b%player%' - - '7|&3等级&f:' - - '8|等级: %group%' - - '10|&3世界&f:' - - '11|&b%world%' - - '13|&3时间&f:' - - '14|&b%time%' - - '21|&3语音&f:' - - '22|&bts.myserver.net' - - '23|&8&m ' - - '41|&3商店&f:' - - '42|&bshop.myserver.net' - - '43|&8&m ' - groups: # 组配置 - staff: - condition: permission:tab.staff # 条件:权限 - slots: - - 24-40 # 槽位范围 - players: - slots: - - 44-80 - -# https://github.com/NEZNAMY/TAB/wiki/Feature-guide:-Ping-Spoof -# 延迟伪装 -ping-spoof: - enabled: false # 启用延迟伪装 - value: 0 # 伪装值 - -# 占位符设置 -placeholders: - date-format: "dd.MM.yyyy" # 日期格式 - time-format: "[HH:mm:ss / h:mm a]" # 时间格式 - time-offset: 0 # 时间偏移 - register-tab-expansion: false # 注册TAB扩展 - -# https://github.com/NEZNAMY/TAB/wiki/Feature-guide:-Placeholder-output-replacements -# 占位符输出替换 -placeholder-output-replacements: - "%essentials_vanished%": - "yes": "&7| 已隐身" - "no": "" - -# https://github.com/NEZNAMY/TAB/wiki/Feature-guide:-Conditional-placeholders -# 条件占位符 -conditions: - nick: # 使用方式: %condition:nick% - conditions: - - "%player%=%essentials_nickname%" - yes: "%player%" - no: "~%essentials_nickname%" - -# 占位符刷新间隔(毫秒) -placeholder-refresh-intervals: - default-refresh-interval: 500 # 默认刷新间隔 - "%server_uptime%": 1000 # 服务器运行时间 - "%server_tps_1_colored%": 1000 # 服务器TPS - "%server_unique_joins%": 5000 # 独立加入次数 - "%player_health%": 200 # 玩家生命值 - "%player_ping%": 1000 # 玩家延迟 - "%vault_prefix%": 1000 # Vault前缀 - "%rel_factionsuuid_relation_color%": 1000 # 派系关系颜色 - -# 通过权限节点分配组而不是从权限插件获取 -assign-groups-by-permissions: false - -# 如果上述选项为true,所有组都基于权限获取,列表中较高的组用作主要组 -# 警告!这不是排序列表,与Tab列表中的玩家排序无关! -primary-group-finding-list: - - Owner # 服主 - - Admin # 管理员 - - Mod # 版主 - - Helper # 助手 - - default # 默认 - -# 刷新间隔(毫秒): -# - 条件/排序中的权限检查 -# - 从权限插件获取组用于排序/按组属性 -# - 从权限插件获取前缀/后缀占位符数据 -permission-refresh-interval: 1000 - -# 解锁额外的控制台消息 -debug: false - -# https://github.com/NEZNAMY/TAB/wiki/MySQL -# MySQL数据库 -mysql: - enabled: false # 启用MySQL - host: 127.0.0.1 # 主机地址 - port: 3306 # 端口 - database: tab # 数据库名 - username: user # 用户名 - password: password # 密码 - useSSL: true # 使用SSL - -# 代理支持 -proxy-support: - enabled: true # 启用代理支持 - # 支持的类型: PLUGIN, REDIS, RABBITMQ - type: PLUGIN - plugin: - # 兼容插件: RedisBungee - # 如果启用且找到兼容插件,将启用钩子以处理代理玩家 - name: RedisBungee - redis: - url: 'redis://:password@localhost:6379/0' - rabbitmq: - exchange: 'plugin' - url: 'amqp://guest:guest@localhost:5672/%2F' - -######################################################################## -# 仅限BUKKIT - 以下部分仅适用于后端安装 # -######################################################################## - -# https://github.com/NEZNAMY/TAB/wiki/Feature-guide:-Per-world-playerlist -# 分世界玩家列表 -per-world-playerlist: - enabled: false # 启用分世界玩家列表 - # 拥有tab.staff权限的玩家将始终看到所有玩家 - allow-bypass-permission: false - # 这些世界中的玩家将始终看到所有玩家 - ignore-effect-in-worlds: - - ignoredworld # 忽略的世界 - - build # 建筑世界 - # 共享玩家列表的世界组 - shared-playerlist-world-groups: - lobby: # 大厅组 - - lobby1 - - lobby2 - minigames: # 小游戏组 - - paintball # 彩弹 - - bedwars # 起床战争 - -# 补偿PacketEvents错误 -compensate-for-packetevents-bug: false - -##################################################################### -# 仅限代理 - 以下部分仅适用于代理安装 # -##################################################################### - -# https://github.com/NEZNAMY/TAB/wiki/Feature-guide:-Global-playerlist -# 全局玩家列表 -global-playerlist: - enabled: false # 启用全局玩家列表 - display-others-as-spectators: false # 将其他玩家显示为观察者 - display-vanished-players-as-spectators: true # 将隐身玩家显示为观察者 - isolate-unlisted-servers: false # 隔离未列出的服务器 - update-latency: false # 更新延迟 - spy-servers: # 监视服务器 - - spyserver1 - - spyserver2 - server-groups: # 服务器组 - lobbies: # 大厅组 - - lobby1 - - lobby2 - group2: # 组2 - - server1 - - server2 - -# 从后端服务器而不是代理获取权限和组 -use-bukkit-permissions-manager: false - -# 有时服务器可能在Tab列表中使用离线UUID而不是在线UUID,例如禁用Waterfall的Tab列表重写选项 -# 如果遇到Tab列表格式化不工作的问题,请切换此选项(设置为相反值) -# 仅影响启用在线模式的代理 -use-online-uuid-in-tablist: true -``` - - - -
- -## Bstats - -[![](https://bstats.org/signatures/bukkit/TAB%20Reborn.svg)](https://bstats.org/signatures/bukkit/TAB%20Reborn.svg) diff --git a/docs-java/process/plugin/plugin-dependencies/placeholderapi/placeholderapi.md b/docs-java/process/plugin/plugin-dependencies/placeholderapi/placeholderapi.md deleted file mode 100644 index 3593a7004..000000000 --- a/docs-java/process/plugin/plugin-dependencies/placeholderapi/placeholderapi.md +++ /dev/null @@ -1,234 +0,0 @@ ---- -title: PlaceHolderAPI -slug: /PlaceHolderAPI -sidebar_position: 1 ---- - - - -# PlaceHolderAPI - -![](_images/PlaceHolderAPI/1.png) - -
- -![](_images/PlaceHolderAPI/2.png) - -[![](_images/PlaceHolderAPI/3.png)](https://continue-project.netlify.app/PlaceholderAPI) -[![](_images/PlaceHolderAPI/4.png)](https://continue-project.netlify.app/PlaceholderAPI/user-guides.placeholder-list.html) -[![](_images/PlaceHolderAPI/5.png)](https://api.extendedclip.com/home) - -
- -## ![介绍](_images/PlaceHolderAPI/6.png) - -PlaceholderAPI 是适用于 Spigot 及其衍生服务端的插件,它允许服务器管理者以固定的格式替换占位符 (俗称变量) 为各种插件的信息。 - -也可以做到一些你以为它不能做的事,比如 Math (数学运算)、Checkitem (操作玩家物品)、JavaScript (执行 JS)、Progress (制作进度条)。 - -对于插件的变量支持,通常由插件自己提供,或者安装变量扩展来提供变量。变量扩展可以在游戏内通过 PAPI eCloud 下载安装。现有超过 230 个扩展可下载,可支持非常多的插件,比如 Essentials、Factions、LuckPerms、Vault 等。如果你是开发者,并且希望为你的插件添加 PlaceholderAPI 支持,请参阅 [API 使用文档](https://github.com/PlaceholderAPI/PlaceholderAPI/wiki/Hook-into-PlaceholderAPI)。 - -PlaceholderAPI 已破 170 万下载量,同时使用本插件的服务器数已超过 4.5 万,成为了各规模各类型服务器的必需品。 - -## ![安装](_images/PlaceHolderAPI/7.png) - -![](_images/PlaceHolderAPI/8.png) - -## ![在其他插件使用](_images/PlaceHolderAPI/9.png) - -默认你已安装 player 变量扩展。 - -变量使用格式:`%变量扩展名_变量参数%` - -比如: - -`%player_name%` 中,`player` 是变量扩展名,`name` 是变量参数,即获取玩家名。 - -通常来说,变量扩展有哪些变量会在其介绍页面会说明。 - -你可以使用 `/papi parse me <内容>` 来测试变量解析的结果。 -比如我是 `player_A`,执行命令 `/papi parse me %player_name%`,则会在聊天栏返回一个 `player_A` 作为结果。 - -如果你需要变量嵌套,把一个变量的解析结果套到另一个变量的参数中,使用 `{}` 来代替 `%%` 即可。 - -示例如下,将 `%player_health%` 的结果添加到 `%math_2_%` 中 (需要安装 math 扩展),实现血量保留 2 位小数显示。 - -`%math_2_{player_health}%` - -## ![配置文件](_images/PlaceHolderAPI/10.png) - -配置文件 `config.yml` 有核心插件的个性化设置,也有专门为扩展预留的设置选项。 - -如果变量扩展允许你修改某些参数,那么这些参数将会被添加到 `config.yml` 里面。 - -
- 点击展开 - -```yaml -# PlaceholderAPI -# 版本:2.11.4 -# 作者:extended_clip -# 贡献者:https://github.com/PlaceholderAPI/PlaceholderAPI/graphs/contributors -# 问题反馈:https://github.com/PlaceholderAPI/PlaceholderAPI/issues -# 变量扩展中心:https://api.extendedclip.com/all/ -# 文档:https://wiki.placeholderapi.com/ -# Discord: https://helpch.at/discord -# 插件默认不提供任何变量。 -# 请用这个命令下载变量:/papi ecloud -check_updates: true -cloud_enabled: true -cloud_sorting: "name" -cloud_allow_unverified_expansions: false -boolean: - 'true': 'yes' - 'false': 'no' -date_format: MM/dd/yy HH:mm:ss -debug: false -``` - -
- -## ![权限列表](_images/PlaceHolderAPI/11.png) - -
- 点击展开 - -```yaml -permissions: - placeholderapi.*: - description: "允许使用所有 PAPI 命令" - children: - placeholderapi.admin: true - placeholderapi.ecloud.*: true - placeholderapi.admin: - description: "允许使用所有 PAPI 命令" - children: - placeholderapi.help: true - placeholderapi.info: true - placeholderapi.list: true - placeholderapi.parse: true - placeholderapi.reload: true - placeholderapi.version: true - placeholderapi.register: true - placeholderapi.unregister: true - placeholderapi.updatenotify: true - placeholderapi.ecloud.*: - description: "允许使用所有 PAPI eCloud 命令" - children: - placeholderapi.ecloud: true - placeholderapi.ecloud.info: true - placeholderapi.ecloud.list: true - placeholderapi.ecloud.clear: true - placeholderapi.ecloud.status: true - placeholderapi.ecloud.update: true - placeholderapi.ecloud.refresh: true - placeholderapi.ecloud.download: true - placeholderapi.ecloud.placeholders: true - placeholderapi.help: - default: "op" - description: "允许查看 PAPI 帮助命令" - placeholderapi.info: - default: "op" - description: "允许查看变量扩展信息" - placeholderapi.list: - default: "op" - description: "允许查看活跃的变量扩展列表" - placeholderapi.ecloud: - default: "op" - description: "允许使用 PAPI eCloud 功能" - placeholderapi.parse: - default: "op" - description: "允许使用 /papi parse 命令" - placeholderapi.reload: - default: "op" - description: "允许重载 PAPI 扩展以及配置文件" - placeholderapi.version: - default: "op" - description: "允许查看当前安装的 PAPI 插件版本" - placeholderapi.register: - default: "op" - description: "允许注册扩展" - placeholderapi.unregister: - default: "op" - description: "允许卸载扩展" - placeholderapi.updatenotify: - default: "op" - description: "当 PAPI 插件有更新时,接收更新信息" - placeholderapi.ecloud.info: - default: "op" - description: "允许通过 eCloud 获取变量扩展信息" - placeholderapi.ecloud.list: - default: "op" - description: "允许通过 eCloud 获取变量扩展列表" - placeholderapi.ecloud.clear: - default: "op" - description: "允许清除 eCloud 本地缓存" - placeholderapi.ecloud.status: - default: "op" - description: "允许查看 eCloud 状态" - placeholderapi.ecloud.update: - default: "op" - description: "允许通过 eCloud 更新已注册的扩展" - placeholderapi.ecloud.refresh: - default: "op" - description: "允许刷新 eCloud 本地缓存" - placeholderapi.ecloud.download: - default: "op" - description: "允许从 eCloud 下载扩展" - placeholderapi.ecloud.placeholders: - default: "op" - description: "允许查看 eCloud 扩展的变量列表" -``` - -
- -## ![插件命令](_images/PlaceHolderAPI/12.png) - -解析命令 (`me` 代表自己) - -- `/papi bcparse <玩家|--null|me> <内容>` -- `/papi cmdparse <玩家|me> <内容>` -- `/papi parse <玩家|--null|me> <内容>` -- `/papi parserel <玩家> <玩家> <内容>` - -eCloud 命令 - -- `/papi ecloud status` -- `/papi ecloud clear` -- `/papi ecloud download <变量扩展名称> [版本]` -- `/papi ecloud update <变量扩展名称/all>` all 代表全部 -- `/papi ecloud info <变量扩展名称> [版本]` -- `/papi ecloud list |installed> [页数]` all 代表全部,installed 代表已安装的扩展 -- `/papi ecloud placeholders <变量扩展名称>` -- `/papi ecloud refresh` - -变量扩展命令 - -- `/papi info <变量扩展名称>` -- `/papi list` -- `/papi register ` 文件位于 /plugins/PlaceholderAPI/expansions/ -- `/papi unregister <变量扩展名称>` - -## 链接 - -:::info - -`SpigotMC` https://www.spigotmc.org/resources/.6245 - -`MineBBS` https://www.minebbs.com/resources/.8229 - -`GitHub` https://github.com/PlaceholderAPI/PlaceholderAPI - -`文档 (英文)` https://wiki.placeholderapi.com - -`文档 (中文)` https://continue-project.netlify.app/PlaceholderAPI - -`插件百科` https://mineplugin.org/PlaceHolderAPI - -::: - -本页内容 ~~抄袭~~ 借鉴自 [此处](https://www.minebbs.com/resources/.8229) - -## Bstats - -[![](https://bstats.org/signatures/bukkit/PlaceholderAPI.svg)](https://bstats.org/plugin/bukkit/PlaceholderAPI/438) diff --git a/docs-java/start/server-core-choose/plugin.md b/docs-java/start/server-core-choose/plugin.md deleted file mode 100644 index 627381336..000000000 --- a/docs-java/start/server-core-choose/plugin.md +++ /dev/null @@ -1,239 +0,0 @@ ---- -title: 插件端 -sidebar_position: 1 ---- - -### 插件端 - -如果你不知道怎么选,我们为你提供一个简单的方法: - -```mermaid -flowchart TD - A[服务端版本] - A --> 1.8 - A --> 1.12.2 - A --> 1.16.5+ - 1.8 --> PVP - PVP --> PandaSpigot - 1.8 --> 生存 - 生存 --> SportPaper - 1.12.2 --> 性能 - 性能 --> Beast - 1.12.2 --> 稳定 - 稳定 --> Paper - 1.16.5+ --> 生电 - 生电 --> 1.18以下 - 生电 --> 1.18以上 - 1.18以下 --> Purpur - 1.18以上 --> Leaves - 1.16.5+ --> 高性能 - 高性能 --> 1.19以上 - 1.19以上 --> Leaf - 高性能 --> 1.19以下 - 1.19以下 --> Purpur - 1.16.5+ --> 其他 - 其他 --> Purpur -``` - -## 高版本 - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - - - - -![](_images/papermc-wild.svg) - -**优势**: - -- 性能 - 性能还可以 -- 稳定 - 目前最稳定的核心 -- 兼容 - 很多插件会以此核心为标准之一进行兼容 - -**劣势**: - -- 性能 - 在高版本逐渐比不过他的分支 -- 特性 - 丧失不少原版特性 - -总的来说,Paper 核心适合那些追究 *极端的* 稳定的人 - -- 官方英文文档 [点我](https://docs.papermc.io/paper) -- 笨蛋汉化文档 [点我](https://paper.8aka.org/paper) - -**下载**: - -- [官方](https://papermc.io/downloads/all) -- [FastMirror](https://www.fastmirror.net/#/download/Paper) -- [McRes](https://mcres.cn/downloads/paper.html) -- [原子云](https://res.nullatom.com/Minecraft/Server/Paper/) -- [MCSL](https://sync.mcsl.com.cn/core/Paper) - - - - -![](_images/purpur.png) - -**优势**: - -- 性能 - Purpur 的性能相比于 Paper 提升大约 10-20%,略有提升 -- 稳定 - Purpur 兼容 Paper 的全部插件,只要 Paper 能跑,Purpur 就可以跑 -- 特性 - Purpur 还原了 Minecraft 的部分特性,用来开生存服务器更加适合 (当然生电还是得 Leaves) -- 兼容 - 很多插件会以此核心为标准之一进行兼容 -- 功能 - 配置文件中有一些基础插件的功能,合理使用可以减少插件使用量。 - -**劣势**: - -- 配置 - 配置文件比较繁杂 -- 支持 - 只有部分 MC 版本的构建 - -综上所述,目前 Purpur 是综合最优选择 - -- 官方英文文档 [点我](https://purpurmc.org/docs/purpur) -- 笨蛋汉化文档 [点我](https://purpur.8aka.org/purpur) - -**下载**: - -- [官方](https://purpurmc.org/downloads) -- [McRes](https://mcres.cn/downloads/purpur.html) -- [FastMirror](https://www.fastmirror.net/#/download/Purpur) -- [MCSL](https://sync.mcsl.com.cn/core/Purpur) - - - - -![](_images/leaves.svg) - -**优势**: - -- 特性 - 为生电而生,拥有专门的生电向特性支持 -- 兼容 - 支持 Paper 能使用的几乎所有插件 -- 支持 - 国人开发的核心 - -**劣势**: - -- 优化 - 优化不如 Purpur 和 Leaf - -专为生电而生的核心。 - -Leaves 基本完全支持客户端生电 mod,包括但不限于 Carpet、PCA、投影、共享原理图、MiniHUD、BBOR、OMMC、Xaero 小地图、Jade、AppleSkin。 - -[点我](https://docs.leavesmc.org/zh_Hans) 查看 Leaves 官方文档 - -**下载**: - -- [官方](https://leavesmc.org/downloads/leaves) -- [McRes](https://mcres.cn/downloads/leaves.html) -- [MCSL](https://sync.mcsl.com.cn/core/Leaves) -- [Leaves 1.18.2](https://vip.123pan.cn/1821558579/6492009) - - - - -![](_images/leaf.png) - -**优势**: - -- 性能 - 比 Purpur 好的多的性能(在实体方面甚至能达到 50% 以上的提升) -- 支持 - 国人开发的核心 - - 对插件的兼容程度:Paper = Purpur > Leaf /Leaves - -**劣势**: - -- 兼容 - 有极少插件不兼容 (可向核心作者反馈) - -总的来说,相比 Purpur 会有更好的优化,极少不兼容的插件可以及时找作者反馈,所以非常推荐此核心 - -[点我](https://www.leafmc.one/zh/docs) 查看 Leaf 官方文档 - -**下载**: - -- [官方](https://www.leafmc.one/zh/download) -- [McRes](https://mcres.cn/downloads/leaf.html) - - - - -## 其他 - -### 1.8 - -:::tip - -目前仅有 1.8.8 版本的核心,而没有 1.8.9 - -1.8.8 与 1.8.9 区别小到安装 [ViaVersion](../../process/plugin/misc/via/via.md) 之后感觉不到区别 - -::: - - - - -**优势**: - -- 性能 - 拥有较好的性能 -- 维护 - 可用于开 PVP 服务器,含大量 konckback 配置选项 -- 维护 - 专为 1.8 提供维护 - -**劣势**: - -- 还没想到 - -**下载**: - -- [官方](https://nightly.link/hpfxd/PandaSpigot/workflows/build/master/Server%20JAR.zip) -- [McRes](https://vip.123pan.cn/1821558579/Lingyi/core/pandaspigot-116-mcres.cn.jar) - - - - -**优势**: - -- 性能 - 拥有较好的性能 -- 维护 - 可用于开生存服务器,很多生存配置选项 - -**劣势**: - -- 还没想到 - -**下载**: - -- [官方](https://github.com/Electroid/SportPaper) -- [McRes](https://vip.123pan.cn/1821558579/6492156) - - - - -### 1.12 - -我们推荐 Beast - -![](_images/Beast.jpg) - -**优势**: - -- 性能 - 1.12 相比高版本本身吃资源就少,此核心提供更多优化 -- 维护 - 专为 1.12 提供维护,修复错误和改进 - -**劣势**: - -- 还没想到 - -**下载**: - -- [官方](https://github.com/HomoMC/Beast) -- [McRes](https://vip.123pan.cn/1821558579/6492155) - -## 不推荐 - -:::danger - -以下核心真的不推荐,除非你真的疯了,否则不要用 - -::: - -| 名称 | 介绍 | -| --------------------------------------------------------- | ---------------------------------------- | -| [CraftBukkit](https://getbukkit.org/download/craftbukkit) | 插件端鼻祖核心,无优化 | -| [Spigot](https://getbukkit.org/download/spigot/) | CraftBukkit 的分支,有一点优化,仍不推荐 | diff --git a/docusaurus.config.ts b/docusaurus.config.ts deleted file mode 100644 index 58eaa0faf..000000000 --- a/docusaurus.config.ts +++ /dev/null @@ -1,428 +0,0 @@ -import type { Options as PresetClassicOptions } from "@docusaurus/preset-classic"; -import type { Config } from "@docusaurus/types"; -import * as path from "path"; -import { themes as prismThemes } from "prism-react-renderer"; - -const IS_CHINA_SITE = process.env.CHINA === "true"; -const ICP_LICENSE = process.env.ICP_LICENSE; - -const config: Config = { - future: { - v4: true, - experimental_faster: { - rspackBundler: true, // required flag - rspackPersistentCache: true // new flag - } - }, - - customFields: { - // 标题前缀 - titlePrefix: "主页", - // 开始按钮文字 - start: "快速开始 🥵", - // 标题颜色 - titleColor: "white", - // 自定义 swizzle 配置 - swizzleConfig: { - enabled: true, - components: { - "theme/DocItem/Footer/LastUpdated": { - override: "src/plugins/theme/LastUpdate" - } - } - }, - // ICP 备案号 - ICP_LICENSE: ICP_LICENSE, - // 是否为中国站点 - IS_CHINA_SITE: IS_CHINA_SITE, - description: - "笨蛋开服教程为 Minecraft 玩家提供 Java 版与基岩版服务器开服指南,包含环境配置、插件使用、端口转发、常见报错解决与服务器优化技巧。适合新手与进阶服主快速掌握开服步骤,顺利搭建稳定高性能的 Minecraft 服务器。" - }, - - markdown: { - mermaid: true, - hooks: { - onBrokenMarkdownLinks: "warn" - } - }, - - title: "笨蛋 MC 开服教程", - tagline: "一群笨蛋编写的 Minecraft 开服教程", - favicon: "img/favicon.ico", - - url: IS_CHINA_SITE ? "https://nitwikit.8aka.cn" : "https://nitwikit.8aka.org", - - baseUrl: "/", - - organizationName: "Cubic-Project", - projectName: "笨蛋式指南", - - onBrokenLinks: "warn", - onBrokenAnchors: "warn", - - i18n: { - defaultLocale: "zh-Hans", - locales: ["zh-Hans"] - }, - clientModules: [ - require.resolve("./src/clientModules/routeModules.js"), - require.resolve("./src/clientModules/adsModules.js"), - require.resolve("./src/clientModules/themeModules.ts"), - require.resolve("./src/clientModules/tocSmoothScroll.ts") - ], - - presets: [ - [ - "classic", - { - docs: { - sidebarPath: require.resolve("./sidebars.js"), - routeBasePath: "/", - editUrl: "https://github.com/Cubic-Project/NitWikit/tree/main", - showLastUpdateAuthor: true, - showLastUpdateTime: true - }, - - googleTagManager: { - containerId: "GTM-MB4XZBWJ" - }, - - blog: false, - theme: { - customCss: [ - require.resolve("./src/css/custom.css"), - require.resolve("./src/css/github.css"), - require.resolve("./src/css/ad.css") - ] - } - } as PresetClassicOptions - ] - ], - plugins: [ - "docusaurus-plugin-image-zoom", - "docusaurus-plugin-sass", - ["@gracefullight/docusaurus-plugin-microsoft-clarity", { projectId: "oyfswsvfpc" }], - [ - "@docusaurus/plugin-content-docs", - { - id: "docs-java", - path: "docs-java", - routeBasePath: "java", - editUrl: "https://github.com/Cubic-Project/NitWikit/tree/main", - sidebarPath: require.resolve("./sidebars.js"), - editCurrentVersion: true, - showLastUpdateAuthor: true, - showLastUpdateTime: true - } - ], - [ - "@docusaurus/plugin-pwa", - { - pwaHead: [ - { - tagName: "link", - rel: "icon", - href: "/img/book.png" - }, - { - tagName: "link", - rel: "manifest", - href: "/manifest.json" - }, - { - tagName: "meta", - name: "theme-color", - content: "rgb(37, 194, 160)" - } - ] - } - ], - [ - "@docusaurus/plugin-content-docs", - { - id: "docs-bedrock", - path: "docs-bedrock", - routeBasePath: "bedrock", - editUrl: "https://github.com/Cubic-Project/NitWikit/tree/main", - sidebarPath: require.resolve("./sidebars.js"), - editCurrentVersion: true, - showLastUpdateAuthor: true, - showLastUpdateTime: true - } - ], - [ - "@docusaurus/plugin-content-docs", - { - id: "docs-about", - path: "docs-about", - routeBasePath: "about", - editUrl: "https://github.com/Cubic-Project/NitWikit/tree/main", - sidebarPath: require.resolve("./sidebars.js"), - editCurrentVersion: true, - showLastUpdateAuthor: true, - showLastUpdateTime: true - } - ], - path.resolve(__dirname, "src/plugins/tailwind-plugin.ts") - ], - headTags: [ - { - tagName: "link", - attributes: { - rel: "shortcut icon", - type: "image/x-icon", - href: "/favicon.ico" - } - }, - { - tagName: "link", - attributes: { - rel: "preconnect", - href: "https://fontsapi.zeoseven.com", - crossOrigin: "anonymous" - } - }, - { - tagName: "link", - attributes: { - rel: "preconnect", - href: "https://D1KV1BYF3B-dsn.algolia.net", - crossOrigin: "anonymous" - } - }, - { - tagName: "link", - attributes: { - rel: "preconnect", - href: "https://giscus.app", - crossOrigin: "anonymous" - } - } - ], - - themeConfig: { - // Giscus 评论功能在 CHINA 环境变量设置时禁用 - giscus: { - repo: "Cubic-Project/NitWikit", - repoId: "R_kgDOQWQ-Ng", - category: "General", - categoryId: "DIC_kwDOQWQ-Ns4Cx2No" - }, - zoom: { - selector: ".markdown :not(em) > img", - background: { - light: "rgb(255, 255, 255)", - dark: "rgb(36 36 36 / 80%)" - } - }, - // 标题渲染范围 - tableOfContents: { - minHeadingLevel: 2, - maxHeadingLevel: 5 - }, - docs: { - sidebar: { - autoCollapseCategories: true - } - }, - image: "img/docusaurus-social-card.jpg", - metadata: [{ name: "keywords", content: "Minecraft, 开服教程,MC, 开服,插件,联机,我的世界" }], - navbar: { - title: "Cubic Wiki", - logo: { - alt: "Logo", - src: "img/book.png" - }, - hideOnScroll: true, - items: [ - { - type: "doc", - docId: "intro", - position: "left", - label: "通用" - }, - { - type: "docSidebar", - sidebarId: "tutorialSidebar", - position: "left", - label: "Java", - docsPluginId: "docs-java" - }, - { - type: "docSidebar", - sidebarId: "tutorialSidebar", - position: "left", - label: "Bedrock", - docsPluginId: "docs-bedrock" - }, - { - type: "docSidebar", - sidebarId: "tutorialSidebar", - position: "left", - label: "关于我们", - docsPluginId: "docs-about" - }, - // 搜索框 - { - type: "search", - position: "right" - }, - // GitHub - { - href: "https://github.com/Cubic-Project/NitWikit", - className: "header-github-link", - position: "right" - } - // 顶部导航栏显示切换语言按钮 - // { - // type: 'localeDropdown', - // position: 'right', - // }, - ] - }, - - // 底部链接 - footer: { - style: "dark", - links: [ - { - title: "文档", - items: [ - { - label: "Docusaurus 主题", - to: "https://nitwikit.8aka.org" - }, - { - label: "VitePress 主题", - to: "https://nitwikit2.8aka.org" - }, - { - label: "GitHub", - href: "https://github.com/Cubic-Project/NitWikit" - } - ] - }, - { - title: "交流", - items: [ - { - label: "QQ 群", - href: "https://qm.qq.com/q/UyurWW3zyI" - } - ] - }, - { - title: "友链", - items: [ - { - label: "服主资源导航页", - href: "http://mcnav.cn" - }, - { - label: "CSKB 日冕知识库", - href: "https://kb.corona.studio" - }, - { - label: "McRes 灵依资源站", - href: "https://mcres.cn/" - }, - { - label: "Tinksp 资源站", - href: "https://www.tinksp.com" - }, - { - label: "MCNav", - href: "https://www.mcnav.net" - } - ] - } - ], - // 底部版权信息 - copyright: `Copyright © ${new Date().getFullYear()} Cubic-Project, All Rights Reserved. | Web Design By Lythrilla and Cubic-Project` - }, - // 深浅主题 - prism: { - theme: prismThemes.vsLight, - darkTheme: prismThemes.vsDark, - additionalLanguages: [ - "java", - "kotlin", - "groovy", - "scala", - "bash", - "powershell", - "python", - "ruby", - "php", - "go", - "rust", - "c", - "cpp", - "csharp", - "sql", - "json", - "yaml", - "toml", - "css", - "scss", - "less", - "javascript", - "typescript", - "jsx", - "tsx", - "markup", - "markdown", - "nginx", - "docker", - "diff" - ], - defaultLanguage: "plaintext", - magicComments: [ - { - className: "theme-code-block-highlighted-line", - line: "highlight-next-line", - block: { start: "highlight-start", end: "highlight-end" } - }, - { - className: "code-block-error-line", - line: "error-next-line", - block: { start: "error-start", end: "error-end" } - } - ] - }, - announcementBar: { - id: "qq-group-notice", - content: - 'Cubic Wiki 新的 QQ 交流群 1074062482', - backgroundColor: "#00c16a", - isCloseable: true - }, - - // 颜色随系统切换 - colorMode: { - defaultMode: "light", - disableSwitch: false, - respectPrefersColorScheme: true - }, - - // 搜索 - algolia: { - appId: "D1KV1BYF3B", - apiKey: "4bb3573e59f2c49f30f057ce54edab3f", - indexName: "yizhan", - askAi: { - assistantId: "8JdNEmIpzb5T", - indexName: "NITWIKIT BOT", - apiKey: "8730c526c66126ee3424fe3e8647d825", - appId: "D1KV1BYF3B" - }, - insights: true - }, - mermaid: { - theme: { light: "neutral", dark: "dark" } - } - }, - - themes: ["@docusaurus/theme-mermaid"] -}; -export default config; \ No newline at end of file diff --git a/package.json b/package.json index 6573d0361..9e779de52 100644 --- a/package.json +++ b/package.json @@ -3,80 +3,25 @@ "version": "0.0.0", "private": true, "scripts": { - "docusaurus": "docusaurus", - "start": "docusaurus start", - "build": "docusaurus build", - "swizzle": "docusaurus swizzle", - "deploy": "docusaurus deploy", - "clear": "docusaurus clear", - "serve": "docusaurus serve", - "test": "docusaurus build && docusaurus serve", - "format": "markdownlint-cli2 --fix --glob 'docs*/**/*.md'", - "format:check": "markdownlint-cli2 --glob 'docs*/**/*.md'", - "autocorrect:lint": "autocorrect --lint docs docs-about docs-java docs-bedrock", - "autocorrect:fix": "autocorrect --fix docs docs-about docs-java docs-bedrock", - "write-translations": "docusaurus write-translations", - "write-heading-ids": "docusaurus write-heading-ids" + "dev": "astro dev", + "start": "astro dev", + "build": "astro build", + "preview": "astro preview", + "astro": "astro" }, "dependencies": { - "@ant-design/icons": "^6.1.0", - "@docsearch/react": "^4.3.2", - "@docusaurus/core": "^3.9.2", - "@docusaurus/faster": "^3.9.2", - "@docusaurus/plugin-content-docs": "^3.9.2", - "@docusaurus/plugin-debug": "^3.9.2", - "@docusaurus/plugin-google-tag-manager": "^3.9.2", - "@docusaurus/plugin-pwa": "^3.9.2", - "@docusaurus/plugin-sitemap": "^3.9.2", - "@docusaurus/preset-classic": "^3.9.2", - "@docusaurus/theme-common": "^3.9.2", - "@docusaurus/theme-mermaid": "^3.9.2", - "@docusaurus/theme-search-algolia": "^3.9.2", + "@astrojs/starlight": "^0.37.1", "@giscus/react": "^3.1.0", - "@gracefullight/docusaurus-plugin-microsoft-clarity": "^1.0.0", - "@iconify/react": "^6.0.2", - "@mdx-js/react": "^3.1.1", - "antd": "^6.1.0", - "clsx": "^2.1.1", - "docusaurus": "^1.14.7", - "docusaurus-plugin-image-zoom": "^3.0.1", - "docusaurus-plugin-sass": "^0.2.6", - "mermaid": "^11.12.2", - "mitt": "^3.0.1", - "prism-react-renderer": "^2.4.1", - "react": "^19.2.3", - "react-dom": "^19.2.3", - "sass": "^1.96.0" + "@tailwindcss/vite": "^4.1.18", + "astro": "^5.6.1", + "sass": "^1.96.0", + "sharp": "^0.34.2" }, "devDependencies": { - "@docusaurus/module-type-aliases": "^3.9.2", - "@docusaurus/tsconfig": "^3.9.2", - "@docusaurus/types": "^3.9.2", - "@tailwindcss/postcss": "^4.1.18", - "@tailwindcss/typography": "^0.5.19", - "@types/react": "^19.2.7", - "@types/react-dom": "^19.2.3", - "autocorrect-node": "^2.14.0", - "autoprefixer": "^10.4.22", - "markdownlint-cli2": "^0.20.0", - "postcss": "^8.5.6", - "swc-loader": "^0.2.6", - "tailwind-merge": "^3.4.0", + "@vite-pwa/astro": "^1.2.0", "tailwindcss": "^4.1.18", "typescript": "^5.9.3" }, - "browserslist": { - "production": [ - ">0.5%", - "not dead", - "not op_mini all" - ], - "development": [ - "last 1 chrome version", - "last 1 firefox version", - "last 1 safari version" - ] - }, "engines": { "node": ">=18.0" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 93a4451d5..242300787 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,130 +8,28 @@ importers: .: dependencies: - '@ant-design/icons': - specifier: ^6.1.0 - version: 6.1.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docsearch/react': - specifier: ^4.3.2 - version: 4.3.2(@algolia/client-search@5.46.0)(@types/react@19.2.7)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(search-insights@2.17.3) - '@docusaurus/core': - specifier: ^3.9.2 - version: 3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/faster': - specifier: ^3.9.2 - version: 3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)) - '@docusaurus/plugin-content-docs': - specifier: ^3.9.2 - version: 3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/plugin-debug': - specifier: ^3.9.2 - version: 3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/plugin-google-tag-manager': - specifier: ^3.9.2 - version: 3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/plugin-pwa': - specifier: ^3.9.2 - version: 3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@docusaurus/plugin-content-docs@3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/plugin-sitemap': - specifier: ^3.9.2 - version: 3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/preset-classic': - specifier: ^3.9.2 - version: 3.9.2(@algolia/client-search@5.46.0)(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(@types/react@19.2.7)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(search-insights@2.17.3)(typescript@5.9.3) - '@docusaurus/theme-common': - specifier: ^3.9.2 - version: 3.9.2(@docusaurus/plugin-content-docs@3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3))(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/theme-mermaid': - specifier: ^3.9.2 - version: 3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@docusaurus/plugin-content-docs@3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/theme-search-algolia': - specifier: ^3.9.2 - version: 3.9.2(@algolia/client-search@5.46.0)(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(@types/react@19.2.7)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(search-insights@2.17.3)(typescript@5.9.3) + '@astrojs/starlight': + specifier: ^0.37.1 + version: 0.37.1(astro@5.16.5(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)) '@giscus/react': specifier: ^3.1.0 version: 3.1.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@gracefullight/docusaurus-plugin-microsoft-clarity': - specifier: ^1.0.0 - version: 1.0.0(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@iconify/react': - specifier: ^6.0.2 - version: 6.0.2(react@19.2.3) - '@mdx-js/react': - specifier: ^3.1.1 - version: 3.1.1(@types/react@19.2.7)(react@19.2.3) - antd: - specifier: ^6.1.0 - version: 6.1.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - clsx: - specifier: ^2.1.1 - version: 2.1.1 - docusaurus: - specifier: ^1.14.7 - version: 1.14.7(typescript@5.9.3)(webpack@5.103.0(@swc/core@1.15.4)) - docusaurus-plugin-image-zoom: - specifier: ^3.0.1 - version: 3.0.1(@docusaurus/theme-classic@3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@rspack/core@1.6.7)(@swc/core@1.15.4)(@types/react@19.2.7)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3)) - docusaurus-plugin-sass: - specifier: ^0.2.6 - version: 0.2.6(@docusaurus/core@3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3))(@rspack/core@1.6.7)(sass-embedded@1.83.0)(sass@1.96.0)(webpack@5.103.0(@swc/core@1.15.4)) - mermaid: - specifier: ^11.12.2 - version: 11.12.2 - mitt: - specifier: ^3.0.1 - version: 3.0.1 - prism-react-renderer: - specifier: ^2.4.1 - version: 2.4.1(react@19.2.3) - react: - specifier: ^19.2.3 - version: 19.2.3 - react-dom: - specifier: ^19.2.3 - version: 19.2.3(react@19.2.3) + '@tailwindcss/vite': + specifier: ^4.1.18 + version: 4.1.18(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)) + astro: + specifier: ^5.6.1 + version: 5.16.5(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3) sass: specifier: ^1.96.0 version: 1.96.0 + sharp: + specifier: ^0.34.2 + version: 0.34.5 devDependencies: - '@docusaurus/module-type-aliases': - specifier: ^3.9.2 - version: 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/tsconfig': - specifier: ^3.9.2 - version: 3.9.2 - '@docusaurus/types': - specifier: ^3.9.2 - version: 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@tailwindcss/postcss': - specifier: ^4.1.18 - version: 4.1.18 - '@tailwindcss/typography': - specifier: ^0.5.19 - version: 0.5.19(tailwindcss@4.1.18) - '@types/react': - specifier: ^19.2.7 - version: 19.2.7 - '@types/react-dom': - specifier: ^19.2.3 - version: 19.2.3(@types/react@19.2.7) - autocorrect-node: - specifier: ^2.14.0 - version: 2.14.0 - autoprefixer: - specifier: ^10.4.22 - version: 10.4.22(postcss@8.5.6) - markdownlint-cli2: - specifier: ^0.20.0 - version: 0.20.0 - postcss: - specifier: ^8.5.6 - version: 8.5.6 - swc-loader: - specifier: ^0.2.6 - version: 0.2.6(@swc/core@1.15.4)(webpack@5.103.0(@swc/core@1.15.4)) - tailwind-merge: - specifier: ^3.4.0 - version: 3.4.0 + '@vite-pwa/astro': + specifier: ^1.2.0 + version: 1.2.0(astro@5.16.5(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3))(vite-plugin-pwa@1.2.0(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1))(workbox-build@7.4.0)(workbox-window@7.4.0)) tailwindcss: specifier: ^4.1.18 version: 4.1.18 @@ -141,155 +39,42 @@ importers: packages: - '@ai-sdk/gateway@2.0.21': - resolution: {integrity: sha512-BwV7DU/lAm3Xn6iyyvZdWgVxgLu3SNXzl5y57gMvkW4nGhAOV5269IrJzQwGt03bb107sa6H6uJwWxc77zXoGA==} - engines: {node: '>=18'} - peerDependencies: - zod: ^3.25.76 || ^4.1.8 - - '@ai-sdk/provider-utils@3.0.19': - resolution: {integrity: sha512-W41Wc9/jbUVXVwCN/7bWa4IKe8MtxO3EyA0Hfhx6grnmiYlCvpI8neSYWFE0zScXJkgA/YK3BRybzgyiXuu6JA==} - engines: {node: '>=18'} - peerDependencies: - zod: ^3.25.76 || ^4.1.8 - - '@ai-sdk/provider@2.0.0': - resolution: {integrity: sha512-6o7Y2SeO9vFKB8lArHXehNuusnpddKPk7xqL7T2/b+OvXMRIXUO1rR4wcv1hAFUAT9avGZshty3Wlua/XA7TvA==} - engines: {node: '>=18'} - - '@ai-sdk/react@2.0.115': - resolution: {integrity: sha512-Etu7gWSEi2dmXss1PoR5CAZGwGShXsF9+Pon1eRO6EmatjYaBMhq1CfHPyYhGzWrint8jJIK2VaAhiMef29qZw==} - engines: {node: '>=18'} - peerDependencies: - react: ^18 || ~19.0.1 || ~19.1.2 || ^19.2.1 - zod: ^3.25.76 || ^4.1.8 - peerDependenciesMeta: - zod: - optional: true - - '@algolia/abtesting@1.12.0': - resolution: {integrity: sha512-EfW0bfxjPs+C7ANkJDw2TATntfBKsFiy7APh+KO0pQ8A6HYa5I0NjFuCGCXWfzzzLXNZta3QUl3n5Kmm6aJo9Q==} - engines: {node: '>= 14.0.0'} - - '@algolia/autocomplete-core@1.19.2': - resolution: {integrity: sha512-mKv7RyuAzXvwmq+0XRK8HqZXt9iZ5Kkm2huLjgn5JoCPtDy+oh9yxUMfDDaVCw0oyzZ1isdJBc7l9nuCyyR7Nw==} - - '@algolia/autocomplete-plugin-algolia-insights@1.19.2': - resolution: {integrity: sha512-TjxbcC/r4vwmnZaPwrHtkXNeqvlpdyR+oR9Wi2XyfORkiGkLTVhX2j+O9SaCCINbKoDfc+c2PB8NjfOnz7+oKg==} - peerDependencies: - search-insights: '>= 1 < 3' - - '@algolia/autocomplete-shared@1.19.2': - resolution: {integrity: sha512-jEazxZTVD2nLrC+wYlVHQgpBoBB5KPStrJxLzsIFl6Kqd1AlG9sIAGl39V5tECLpIQzB3Qa2T6ZPJ1ChkwMK/w==} - peerDependencies: - '@algolia/client-search': '>= 4.9.1 < 6' - algoliasearch: '>= 4.9.1 < 6' - - '@algolia/client-abtesting@5.46.0': - resolution: {integrity: sha512-eG5xV8rujK4ZIHXrRshvv9O13NmU/k42Rnd3w43iKH5RaQ2zWuZO6Q7XjaoJjAFVCsJWqRbXzbYyPGrbF3wGNg==} - engines: {node: '>= 14.0.0'} - - '@algolia/client-analytics@5.46.0': - resolution: {integrity: sha512-AYh2uL8IUW9eZrbbT+wZElyb7QkkeV3US2NEKY7doqMlyPWE8lErNfkVN1NvZdVcY4/SVic5GDbeDz2ft8YIiQ==} - engines: {node: '>= 14.0.0'} - - '@algolia/client-common@5.46.0': - resolution: {integrity: sha512-0emZTaYOeI9WzJi0TcNd2k3SxiN6DZfdWc2x2gHt855Jl9jPUOzfVTL6gTvCCrOlT4McvpDGg5nGO+9doEjjig==} - engines: {node: '>= 14.0.0'} - - '@algolia/client-insights@5.46.0': - resolution: {integrity: sha512-wrBJ8fE+M0TDG1As4DDmwPn2TXajrvmvAN72Qwpuv8e2JOKNohF7+JxBoF70ZLlvP1A1EiH8DBu+JpfhBbNphQ==} - engines: {node: '>= 14.0.0'} - - '@algolia/client-personalization@5.46.0': - resolution: {integrity: sha512-LnkeX4p0ENt0DoftDJJDzQQJig/sFQmD1eQifl/iSjhUOGUIKC/7VTeXRcKtQB78naS8njUAwpzFvxy1CDDXDQ==} - engines: {node: '>= 14.0.0'} - - '@algolia/client-query-suggestions@5.46.0': - resolution: {integrity: sha512-aF9tc4ex/smypXw+W3lBPB1jjKoaGHpZezTqofvDOI/oK1dR2sdTpFpK2Ru+7IRzYgwtRqHF3znmTlyoNs9dpA==} - engines: {node: '>= 14.0.0'} - - '@algolia/client-search@5.46.0': - resolution: {integrity: sha512-22SHEEVNjZfFWkFks3P6HilkR3rS7a6GjnCIqR22Zz4HNxdfT0FG+RE7efTcFVfLUkTTMQQybvaUcwMrHXYa7Q==} - engines: {node: '>= 14.0.0'} - - '@algolia/events@4.0.1': - resolution: {integrity: sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==} - - '@algolia/ingestion@1.46.0': - resolution: {integrity: sha512-2LT0/Z+/sFwEpZLH6V17WSZ81JX2uPjgvv5eNlxgU7rPyup4NXXfuMbtCJ+6uc4RO/LQpEJd3Li59ke3wtyAsA==} - engines: {node: '>= 14.0.0'} - - '@algolia/monitoring@1.46.0': - resolution: {integrity: sha512-uivZ9wSWZ8mz2ZU0dgDvQwvVZV8XBv6lYBXf8UtkQF3u7WeTqBPeU8ZoeTyLpf0jAXCYOvc1mAVmK0xPLuEwOQ==} - engines: {node: '>= 14.0.0'} - - '@algolia/recommend@5.46.0': - resolution: {integrity: sha512-O2BB8DuySuddgOAbhyH4jsGbL+KyDGpzJRtkDZkv091OMomqIA78emhhMhX9d/nIRrzS1wNLWB/ix7Hb2eV5rg==} - engines: {node: '>= 14.0.0'} - - '@algolia/requester-browser-xhr@5.46.0': - resolution: {integrity: sha512-eW6xyHCyYrJD0Kjk9Mz33gQ40LfWiEA51JJTVfJy3yeoRSw/NXhAL81Pljpa0qslTs6+LO/5DYPZddct6HvISQ==} - engines: {node: '>= 14.0.0'} - - '@algolia/requester-fetch@5.46.0': - resolution: {integrity: sha512-Vn2+TukMGHy4PIxmdvP667tN/MhS7MPT8EEvEhS6JyFLPx3weLcxSa1F9gVvrfHWCUJhLWoMVJVB2PT8YfRGcw==} - engines: {node: '>= 14.0.0'} - - '@algolia/requester-node-http@5.46.0': - resolution: {integrity: sha512-xaqXyna5yBZ+r1SJ9my/DM6vfTqJg9FJgVydRJ0lnO+D5NhqGW/qaRG/iBGKr/d4fho34el6WakV7BqJvrl/HQ==} - engines: {node: '>= 14.0.0'} - - '@alloc/quick-lru@5.2.0': - resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} + '@apideck/better-ajv-errors@0.3.6': + resolution: {integrity: sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==} engines: {node: '>=10'} - - '@ant-design/colors@8.0.0': - resolution: {integrity: sha512-6YzkKCw30EI/E9kHOIXsQDHmMvTllT8STzjMb4K2qzit33RW2pqCJP0sk+hidBntXxE+Vz4n1+RvCTfBw6OErw==} - - '@ant-design/cssinjs-utils@2.0.2': - resolution: {integrity: sha512-Mq3Hm6fJuQeFNKSp3+yT4bjuhVbdrsyXE2RyfpJFL0xiYNZdaJ6oFaE3zFrzmHbmvTd2Wp3HCbRtkD4fU+v2ZA==} peerDependencies: - react: '>=18' - react-dom: '>=18' + ajv: '>=8' - '@ant-design/cssinjs@2.0.1': - resolution: {integrity: sha512-Lw1Z4cUQxdMmTNir67gU0HCpTl5TtkKCJPZ6UBvCqzcOTl/QmMFB6qAEoj8qFl0CuZDX9qQYa3m9+rEKfaBSbA==} - peerDependencies: - react: '>=16.0.0' - react-dom: '>=16.0.0' + '@astrojs/compiler@2.13.0': + resolution: {integrity: sha512-mqVORhUJViA28fwHYaWmsXSzLO9osbdZ5ImUfxBarqsYdMlPbqAqGJCxsNzvppp1BEzc1mJNjOVvQqeDN8Vspw==} - '@ant-design/fast-color@3.0.0': - resolution: {integrity: sha512-eqvpP7xEDm2S7dUzl5srEQCBTXZMmY3ekf97zI+M2DHOYyKdJGH0qua0JACHTqbkRnD/KHFQP9J1uMJ/XWVzzA==} - engines: {node: '>=8.x'} + '@astrojs/internal-helpers@0.7.5': + resolution: {integrity: sha512-vreGnYSSKhAjFJCWAwe/CNhONvoc5lokxtRoZims+0wa3KbHBdPHSSthJsKxPd8d/aic6lWKpRTYGY/hsgK6EA==} - '@ant-design/icons-svg@4.4.2': - resolution: {integrity: sha512-vHbT+zJEVzllwP+CM+ul7reTEfBR0vgxFe7+lREAsAA7YGsYpboiq2sQNeQeRvh09GfQgs/GyFEvZpJ9cLXpXA==} + '@astrojs/markdown-remark@6.3.10': + resolution: {integrity: sha512-kk4HeYR6AcnzC4QV8iSlOfh+N8TZ3MEStxPyenyCtemqn8IpEATBFMTJcfrNW32dgpt6MY3oCkMM/Tv3/I4G3A==} - '@ant-design/icons@6.1.0': - resolution: {integrity: sha512-KrWMu1fIg3w/1F2zfn+JlfNDU8dDqILfA5Tg85iqs1lf8ooyGlbkA+TkwfOKKgqpUmAiRY1PTFpuOU2DAIgSUg==} - engines: {node: '>=8'} + '@astrojs/mdx@4.3.13': + resolution: {integrity: sha512-IHDHVKz0JfKBy3//52JSiyWv089b7GVSChIXLrlUOoTLWowG3wr2/8hkaEgEyd/vysvNQvGk+QhysXpJW5ve6Q==} + engines: {node: 18.20.8 || ^20.3.0 || >=22.0.0} peerDependencies: - react: '>=16.0.0' - react-dom: '>=16.0.0' + astro: ^5.0.0 - '@ant-design/react-slick@2.0.0': - resolution: {integrity: sha512-HMS9sRoEmZey8LsE/Yo6+klhlzU12PisjrVcydW3So7RdklyEd2qehyU6a7Yp+OYN72mgsYs3NFCyP2lCPFVqg==} - peerDependencies: - react: ^0.14.0 || ^15.0.1 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - react-dom: ^0.14.0 || ^15.0.1 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + '@astrojs/prism@3.3.0': + resolution: {integrity: sha512-q8VwfU/fDZNoDOf+r7jUnMC2//H2l0TuQ6FkGJL8vD8nw/q5KiL3DS1KKBI3QhI9UQhpJ5dc7AtqfbXWuOgLCQ==} + engines: {node: 18.20.8 || ^20.3.0 || >=22.0.0} - '@antfu/install-pkg@1.1.0': - resolution: {integrity: sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==} + '@astrojs/sitemap@3.6.0': + resolution: {integrity: sha512-4aHkvcOZBWJigRmMIAJwRQXBS+ayoP5z40OklTXYXhUDhwusz+DyDl+nSshY6y9DvkVEavwNcFO8FD81iGhXjg==} - '@apideck/better-ajv-errors@0.3.6': - resolution: {integrity: sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==} - engines: {node: '>=10'} + '@astrojs/starlight@0.37.1': + resolution: {integrity: sha512-STNsR5PaDoiW4IgcX17Fp42FfyqwuweWPts/EWEMcFPAeg9Nvpu3UvVCorasYrgfJgaJTeydsOV++0ACA1KYDA==} peerDependencies: - ajv: '>=8' + astro: ^5.5.0 - '@babel/code-frame@7.10.4': - resolution: {integrity: sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==} + '@astrojs/telemetry@3.3.0': + resolution: {integrity: sha512-UFBgfeldP06qu6khs/yY+q1cDAaArM2/7AEIqQ9Cuvf7B1hNLq0xDrZkct+QoIGyjq56y8IaE2I3CTvG99mlhQ==} + engines: {node: 18.20.8 || ^20.3.0 || >=22.0.0} '@babel/code-frame@7.27.1': resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} @@ -394,10 +179,6 @@ packages: resolution: {integrity: sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==} engines: {node: '>=6.9.0'} - '@babel/highlight@7.25.9': - resolution: {integrity: sha512-llL88JShoCsth8fF8R4SJnIn+WLvR6ccFxu1H3FlMhDontdcmZWf2HgIZ7AIqV3Xcck1idlohrN4EUBQz6klbw==} - engines: {node: '>=6.9.0'} - '@babel/parser@7.28.5': resolution: {integrity: sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==} engines: {node: '>=6.0.0'} @@ -433,31 +214,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0 - '@babel/plugin-proposal-class-properties@7.18.6': - resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} - engines: {node: '>=6.9.0'} - deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead. - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-proposal-object-rest-spread@7.20.7': - resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==} - engines: {node: '>=6.9.0'} - deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead. - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2': resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-dynamic-import@7.8.3': - resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-import-assertions@7.27.1': resolution: {integrity: sha512-UT/Jrhw57xg4ILHLFnzFpPDlMbcdEicaAtjPQpbj9wa8T4r5KVWCimHcL/460g8Ht0DMxDyjsLgiWSkVjnwPFg==} engines: {node: '>=6.9.0'} @@ -470,23 +232,6 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-jsx@7.27.1': - resolution: {integrity: sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-object-rest-spread@7.8.3': - resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-typescript@7.27.1': - resolution: {integrity: sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-unicode-sets-regex@7.18.6': resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} engines: {node: '>=6.9.0'} @@ -727,36 +472,6 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-react-constant-elements@7.27.1': - resolution: {integrity: sha512-edoidOjl/ZxvYo4lSBOQGDSyToYVkTAwyVoa2tkuYTSmjrB1+uAedoL5iROVLXkxH+vRgA7uP4tMg2pUJpZ3Ug==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-react-display-name@7.28.0': - resolution: {integrity: sha512-D6Eujc2zMxKjfa4Zxl4GHMsmhKKZ9VpcqIchJLvwTxad9zWIYulwYItBovpDOoNLISpcZSXoDJ5gaGbQUDqViA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-react-jsx-development@7.27.1': - resolution: {integrity: sha512-ykDdF5yI4f1WrAolLqeF3hmYU12j9ntLQl/AOG1HAS21jxyg1Q0/J/tpREuYLfatGdGmXp/3yS0ZA76kOlVq9Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-react-jsx@7.27.1': - resolution: {integrity: sha512-2KH4LWGSrJIkVf5tSiBFYuXDAoWRq2MMwgivCf+93dd0GQi8RXLjKA/0EvRnVV5G0hrHczsquXuD01L8s6dmBw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-react-pure-annotations@7.27.1': - resolution: {integrity: sha512-JfuinvDOsD9FVMTHpzA/pBLisxpv1aSf+OIV8lgH3MuWrks19R27e6a6DipIg4aX1Zm9Wpb04p8wljfKrVSnPA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-regenerator@7.28.4': resolution: {integrity: sha512-+ZEdQlBoRg9m2NnzvEeLgtvBMO4tkFBw5SQIUgLICgTrumLoU7lr+Oghi6km2PFj+dbUt2u1oby2w3BDO9YQnA==} engines: {node: '>=6.9.0'} @@ -775,12 +490,6 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-runtime@7.28.5': - resolution: {integrity: sha512-20NUVgOrinudkIBzQ2bNxP08YpKprUkRTiRSd2/Z5GOdPImJGkoN4Z7IQe1T5AdyKI1i5L6RBmluqdSzvaq9/w==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-shorthand-properties@7.27.1': resolution: {integrity: sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==} engines: {node: '>=6.9.0'} @@ -811,12 +520,6 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-typescript@7.28.5': - resolution: {integrity: sha512-x2Qa+v/CuEoX7Dr31iAfr0IhInrVOWZU/2vJMJ00FOR/2nM0BcBEclpaf9sWCDc+v5e9dMrhSH8/atq/kX7+bA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-unicode-escapes@7.27.1': resolution: {integrity: sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==} engines: {node: '>=6.9.0'} @@ -841,10 +544,6 @@ packages: peerDependencies: '@babel/core': ^7.0.0 - '@babel/polyfill@7.12.1': - resolution: {integrity: sha512-X0pi0V6gxLi6lFZpGmeNa4zxtwEmCs42isWLNjZZDE0Y8yVfgu0T2OAHlzBbdYlqbW/YXVvoBHpATEM+goCj8g==} - deprecated: 🚨 This package has been deprecated in favor of separate inclusion of a polyfill and regenerator-runtime (when needed). See the @babel/polyfill docs (https://babeljs.io/docs/en/babel-polyfill) for more information. - '@babel/preset-env@7.28.5': resolution: {integrity: sha512-S36mOoi1Sb6Fz98fBfE+UZSpYw5mJm0NUHtIKrOuNcqeFauy1J6dIvXm2KRVKobOSaGq4t/hBXdN4HGU3wL9Wg==} engines: {node: '>=6.9.0'} @@ -856,28 +555,6 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 - '@babel/preset-react@7.28.5': - resolution: {integrity: sha512-Z3J8vhRq7CeLjdC58jLv4lnZ5RKFUJWqH5emvxmv9Hv3BD1T9R/Im713R4MTKwvFaV74ejZ3sM01LyEKk4ugNQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/preset-typescript@7.28.5': - resolution: {integrity: sha512-+bQy5WOI2V6LJZpPVxY+yp66XdZ2yifu0Mc1aP5CQKgjn4QM5IN2i5fAZ4xKop47pr8rpVhiAeu+nDQa12C8+g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/register@7.28.3': - resolution: {integrity: sha512-CieDOtd8u208eI49bYl4z1J22ySFw87IGwE+IswFEExH7e3rLgKb0WNQeumnacQ1+VoDJLYI5QFA3AJZuyZQfA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/runtime-corejs3@7.28.4': - resolution: {integrity: sha512-h7iEYiW4HebClDEhtvFObtPmIvrd1SSfpI9EhOeKk4CtIK/ngBWFpuhCzhdmRKtg71ylcue+9I6dv54XYO1epQ==} - engines: {node: '>=6.9.0'} - '@babel/runtime@7.28.4': resolution: {integrity: sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==} engines: {node: '>=6.9.0'} @@ -894,591 +571,330 @@ packages: resolution: {integrity: sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==} engines: {node: '>=6.9.0'} - '@braintree/sanitize-url@7.1.1': - resolution: {integrity: sha512-i1L7noDNxtFyL5DmZafWy1wRVhGehQmzZaz1HiN5e7iylJMSZR7ekOV7NsIqa5qBldlLrsKv4HbgFUVlQrz8Mw==} - '@bufbuild/protobuf@2.10.2': resolution: {integrity: sha512-uFsRXwIGyu+r6AMdz+XijIIZJYpoWeYzILt5yZ2d3mCjQrWUTVpVD9WL/jZAbvp+Ed04rOhrsk7FiTcEDseB5A==} - '@chevrotain/cst-dts-gen@11.0.3': - resolution: {integrity: sha512-BvIKpRLeS/8UbfxXxgC33xOumsacaeCKAjAeLyOn7Pcp95HiRbrpl14S+9vaZLolnbssPIUuiUd8IvgkRyt6NQ==} - - '@chevrotain/gast@11.0.3': - resolution: {integrity: sha512-+qNfcoNk70PyS/uxmj3li5NiECO+2YKZZQMbmjTqRI3Qchu8Hig/Q9vgkHpI3alNjr7M+a2St5pw5w5F6NL5/Q==} - - '@chevrotain/regexp-to-ast@11.0.3': - resolution: {integrity: sha512-1fMHaBZxLFvWI067AVbGJav1eRY7N8DDvYCTwGBiE/ytKBgP8azTdgyrKyWZ9Mfh09eHWb5PgTSO8wi7U824RA==} - - '@chevrotain/types@11.0.3': - resolution: {integrity: sha512-gsiM3G8b58kZC2HaWR50gu6Y1440cHiJ+i3JUvcp/35JchYejb2+5MVeJK0iKThYpAa/P2PYFV4hoi44HD+aHQ==} + '@capsizecss/unpack@3.0.1': + resolution: {integrity: sha512-8XqW8xGn++Eqqbz3e9wKuK7mxryeRjs4LOHLxbh2lwKeSbuNR4NFifDZT4KzvjU6HMOPbiNTsWpniK5EJfTWkg==} + engines: {node: '>=18'} - '@chevrotain/utils@11.0.3': - resolution: {integrity: sha512-YslZMgtJUyuMbZ+aKvfF3x1f5liK4mWNxghFRv7jqRR9C3R3fAOGTTKvxXDa2Y1s9zSbcpuO0cAxDYsc9SrXoQ==} + '@ctrl/tinycolor@4.2.0': + resolution: {integrity: sha512-kzyuwOAQnXJNLS9PSyrk0CWk35nWJW/zl/6KvnTBMFK65gm7U1/Z5BqjxeapjZCIhQcM/DsrEmcbRwDyXyXK4A==} + engines: {node: '>=14'} - '@colors/colors@1.5.0': - resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} - engines: {node: '>=0.1.90'} + '@emnapi/runtime@1.7.1': + resolution: {integrity: sha512-PVtJr5CmLwYAU9PZDMITZoR5iAOShYREoR45EyyLrbntV50mdePTgUn4AmOw90Ifcj+x2kRjdzr1HP3RrNiHGA==} - '@csstools/cascade-layer-name-parser@2.0.5': - resolution: {integrity: sha512-p1ko5eHgV+MgXFVa4STPKpvPxr6ReS8oS2jzTukjR74i5zJNyWO1ZM1m8YKBXnzDKWfBN1ztLYlHxbVemDD88A==} + '@esbuild/aix-ppc64@0.25.12': + resolution: {integrity: sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==} engines: {node: '>=18'} - peerDependencies: - '@csstools/css-parser-algorithms': ^3.0.5 - '@csstools/css-tokenizer': ^3.0.4 + cpu: [ppc64] + os: [aix] - '@csstools/color-helpers@5.1.0': - resolution: {integrity: sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==} + '@esbuild/android-arm64@0.25.12': + resolution: {integrity: sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==} engines: {node: '>=18'} + cpu: [arm64] + os: [android] - '@csstools/css-calc@2.1.4': - resolution: {integrity: sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==} + '@esbuild/android-arm@0.25.12': + resolution: {integrity: sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==} engines: {node: '>=18'} - peerDependencies: - '@csstools/css-parser-algorithms': ^3.0.5 - '@csstools/css-tokenizer': ^3.0.4 + cpu: [arm] + os: [android] - '@csstools/css-color-parser@3.1.0': - resolution: {integrity: sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA==} + '@esbuild/android-x64@0.25.12': + resolution: {integrity: sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==} engines: {node: '>=18'} - peerDependencies: - '@csstools/css-parser-algorithms': ^3.0.5 - '@csstools/css-tokenizer': ^3.0.4 + cpu: [x64] + os: [android] - '@csstools/css-parser-algorithms@3.0.5': - resolution: {integrity: sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==} + '@esbuild/darwin-arm64@0.25.12': + resolution: {integrity: sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==} engines: {node: '>=18'} - peerDependencies: - '@csstools/css-tokenizer': ^3.0.4 + cpu: [arm64] + os: [darwin] - '@csstools/css-tokenizer@3.0.4': - resolution: {integrity: sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==} + '@esbuild/darwin-x64@0.25.12': + resolution: {integrity: sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==} engines: {node: '>=18'} + cpu: [x64] + os: [darwin] - '@csstools/media-query-list-parser@4.0.3': - resolution: {integrity: sha512-HAYH7d3TLRHDOUQK4mZKf9k9Ph/m8Akstg66ywKR4SFAigjs3yBiUeZtFxywiTm5moZMAp/5W/ZuFnNXXYLuuQ==} + '@esbuild/freebsd-arm64@0.25.12': + resolution: {integrity: sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==} engines: {node: '>=18'} - peerDependencies: - '@csstools/css-parser-algorithms': ^3.0.5 - '@csstools/css-tokenizer': ^3.0.4 + cpu: [arm64] + os: [freebsd] - '@csstools/postcss-alpha-function@1.0.1': - resolution: {integrity: sha512-isfLLwksH3yHkFXfCI2Gcaqg7wGGHZZwunoJzEZk0yKYIokgre6hYVFibKL3SYAoR1kBXova8LB+JoO5vZzi9w==} + '@esbuild/freebsd-x64@0.25.12': + resolution: {integrity: sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==} engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + cpu: [x64] + os: [freebsd] - '@csstools/postcss-cascade-layers@5.0.2': - resolution: {integrity: sha512-nWBE08nhO8uWl6kSAeCx4im7QfVko3zLrtgWZY4/bP87zrSPpSyN/3W3TDqz1jJuH+kbKOHXg5rJnK+ZVYcFFg==} + '@esbuild/linux-arm64@0.25.12': + resolution: {integrity: sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==} engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + cpu: [arm64] + os: [linux] - '@csstools/postcss-color-function-display-p3-linear@1.0.1': - resolution: {integrity: sha512-E5qusdzhlmO1TztYzDIi8XPdPoYOjoTY6HBYBCYSj+Gn4gQRBlvjgPQXzfzuPQqt8EhkC/SzPKObg4Mbn8/xMg==} + '@esbuild/linux-arm@0.25.12': + resolution: {integrity: sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==} engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + cpu: [arm] + os: [linux] - '@csstools/postcss-color-function@4.0.12': - resolution: {integrity: sha512-yx3cljQKRaSBc2hfh8rMZFZzChaFgwmO2JfFgFr1vMcF3C/uyy5I4RFIBOIWGq1D+XbKCG789CGkG6zzkLpagA==} + '@esbuild/linux-ia32@0.25.12': + resolution: {integrity: sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==} engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + cpu: [ia32] + os: [linux] - '@csstools/postcss-color-mix-function@3.0.12': - resolution: {integrity: sha512-4STERZfCP5Jcs13P1U5pTvI9SkgLgfMUMhdXW8IlJWkzOOOqhZIjcNhWtNJZes2nkBDsIKJ0CJtFtuaZ00moag==} + '@esbuild/linux-loong64@0.25.12': + resolution: {integrity: sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==} engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + cpu: [loong64] + os: [linux] - '@csstools/postcss-color-mix-variadic-function-arguments@1.0.2': - resolution: {integrity: sha512-rM67Gp9lRAkTo+X31DUqMEq+iK+EFqsidfecmhrteErxJZb6tUoJBVQca1Vn1GpDql1s1rD1pKcuYzMsg7Z1KQ==} + '@esbuild/linux-mips64el@0.25.12': + resolution: {integrity: sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==} engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + cpu: [mips64el] + os: [linux] - '@csstools/postcss-content-alt-text@2.0.8': - resolution: {integrity: sha512-9SfEW9QCxEpTlNMnpSqFaHyzsiRpZ5J5+KqCu1u5/eEJAWsMhzT40qf0FIbeeglEvrGRMdDzAxMIz3wqoGSb+Q==} + '@esbuild/linux-ppc64@0.25.12': + resolution: {integrity: sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==} engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + cpu: [ppc64] + os: [linux] - '@csstools/postcss-contrast-color-function@2.0.12': - resolution: {integrity: sha512-YbwWckjK3qwKjeYz/CijgcS7WDUCtKTd8ShLztm3/i5dhh4NaqzsbYnhm4bjrpFpnLZ31jVcbK8YL77z3GBPzA==} + '@esbuild/linux-riscv64@0.25.12': + resolution: {integrity: sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==} engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + cpu: [riscv64] + os: [linux] - '@csstools/postcss-exponential-functions@2.0.9': - resolution: {integrity: sha512-abg2W/PI3HXwS/CZshSa79kNWNZHdJPMBXeZNyPQFbbj8sKO3jXxOt/wF7juJVjyDTc6JrvaUZYFcSBZBhaxjw==} + '@esbuild/linux-s390x@0.25.12': + resolution: {integrity: sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==} engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + cpu: [s390x] + os: [linux] - '@csstools/postcss-font-format-keywords@4.0.0': - resolution: {integrity: sha512-usBzw9aCRDvchpok6C+4TXC57btc4bJtmKQWOHQxOVKen1ZfVqBUuCZ/wuqdX5GHsD0NRSr9XTP+5ID1ZZQBXw==} + '@esbuild/linux-x64@0.25.12': + resolution: {integrity: sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==} engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + cpu: [x64] + os: [linux] - '@csstools/postcss-gamut-mapping@2.0.11': - resolution: {integrity: sha512-fCpCUgZNE2piVJKC76zFsgVW1apF6dpYsqGyH8SIeCcM4pTEsRTWTLCaJIMKFEundsCKwY1rwfhtrio04RJ4Dw==} + '@esbuild/netbsd-arm64@0.25.12': + resolution: {integrity: sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==} engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + cpu: [arm64] + os: [netbsd] - '@csstools/postcss-gradients-interpolation-method@5.0.12': - resolution: {integrity: sha512-jugzjwkUY0wtNrZlFeyXzimUL3hN4xMvoPnIXxoZqxDvjZRiSh+itgHcVUWzJ2VwD/VAMEgCLvtaJHX+4Vj3Ow==} + '@esbuild/netbsd-x64@0.25.12': + resolution: {integrity: sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==} engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + cpu: [x64] + os: [netbsd] - '@csstools/postcss-hwb-function@4.0.12': - resolution: {integrity: sha512-mL/+88Z53KrE4JdePYFJAQWFrcADEqsLprExCM04GDNgHIztwFzj0Mbhd/yxMBngq0NIlz58VVxjt5abNs1VhA==} + '@esbuild/openbsd-arm64@0.25.12': + resolution: {integrity: sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==} engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + cpu: [arm64] + os: [openbsd] - '@csstools/postcss-ic-unit@4.0.4': - resolution: {integrity: sha512-yQ4VmossuOAql65sCPppVO1yfb7hDscf4GseF0VCA/DTDaBc0Wtf8MTqVPfjGYlT5+2buokG0Gp7y0atYZpwjg==} + '@esbuild/openbsd-x64@0.25.12': + resolution: {integrity: sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==} engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + cpu: [x64] + os: [openbsd] - '@csstools/postcss-initial@2.0.1': - resolution: {integrity: sha512-L1wLVMSAZ4wovznquK0xmC7QSctzO4D0Is590bxpGqhqjboLXYA16dWZpfwImkdOgACdQ9PqXsuRroW6qPlEsg==} + '@esbuild/openharmony-arm64@0.25.12': + resolution: {integrity: sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==} engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + cpu: [arm64] + os: [openharmony] - '@csstools/postcss-is-pseudo-class@5.0.3': - resolution: {integrity: sha512-jS/TY4SpG4gszAtIg7Qnf3AS2pjcUM5SzxpApOrlndMeGhIbaTzWBzzP/IApXoNWEW7OhcjkRT48jnAUIFXhAQ==} + '@esbuild/sunos-x64@0.25.12': + resolution: {integrity: sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==} engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + cpu: [x64] + os: [sunos] - '@csstools/postcss-light-dark-function@2.0.11': - resolution: {integrity: sha512-fNJcKXJdPM3Lyrbmgw2OBbaioU7yuKZtiXClf4sGdQttitijYlZMD5K7HrC/eF83VRWRrYq6OZ0Lx92leV2LFA==} + '@esbuild/win32-arm64@0.25.12': + resolution: {integrity: sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==} engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + cpu: [arm64] + os: [win32] - '@csstools/postcss-logical-float-and-clear@3.0.0': - resolution: {integrity: sha512-SEmaHMszwakI2rqKRJgE+8rpotFfne1ZS6bZqBoQIicFyV+xT1UF42eORPxJkVJVrH9C0ctUgwMSn3BLOIZldQ==} + '@esbuild/win32-ia32@0.25.12': + resolution: {integrity: sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==} engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + cpu: [ia32] + os: [win32] - '@csstools/postcss-logical-overflow@2.0.0': - resolution: {integrity: sha512-spzR1MInxPuXKEX2csMamshR4LRaSZ3UXVaRGjeQxl70ySxOhMpP2252RAFsg8QyyBXBzuVOOdx1+bVO5bPIzA==} + '@esbuild/win32-x64@0.25.12': + resolution: {integrity: sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==} engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + cpu: [x64] + os: [win32] - '@csstools/postcss-logical-overscroll-behavior@2.0.0': - resolution: {integrity: sha512-e/webMjoGOSYfqLunyzByZj5KKe5oyVg/YSbie99VEaSDE2kimFm0q1f6t/6Jo+VVCQ/jbe2Xy+uX+C4xzWs4w==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@expressive-code/core@0.41.4': + resolution: {integrity: sha512-4eDiyq3hI3vJ0KnwIqonh9evy9p8aNixsf5wwnvDWcoPfYU3LGB6Nkb6WDdYS4z52tODCvN5gMRy1DtRopcxXg==} - '@csstools/postcss-logical-resize@3.0.0': - resolution: {integrity: sha512-DFbHQOFW/+I+MY4Ycd/QN6Dg4Hcbb50elIJCfnwkRTCX05G11SwViI5BbBlg9iHRl4ytB7pmY5ieAFk3ws7yyg==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@expressive-code/plugin-frames@0.41.4': + resolution: {integrity: sha512-W9jZW8LsPS8fW5T5CQyXUyyCrMxb7qfl6oxlLZB1rW74qM572Id4CWEXOM/7fFDcd1pW2fUxMoGzJMh0T2Awhg==} - '@csstools/postcss-logical-viewport-units@3.0.4': - resolution: {integrity: sha512-q+eHV1haXA4w9xBwZLKjVKAWn3W2CMqmpNpZUk5kRprvSiBEGMgrNH3/sJZ8UA3JgyHaOt3jwT9uFa4wLX4EqQ==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@expressive-code/plugin-shiki@0.41.4': + resolution: {integrity: sha512-zOc0tfWISODHnnpfRJyssTvSWVVe+gj08GcFYiR2a6M8fKF1w5CJkpgf7tTvnoUTuVmL1DHRmiQFUnpGjtRGog==} - '@csstools/postcss-media-minmax@2.0.9': - resolution: {integrity: sha512-af9Qw3uS3JhYLnCbqtZ9crTvvkR+0Se+bBqSr7ykAnl9yKhk6895z9rf+2F4dClIDJWxgn0iZZ1PSdkhrbs2ig==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@expressive-code/plugin-text-markers@0.41.4': + resolution: {integrity: sha512-lGqbjtIuiY+UZ+z61kKIJAZtF7H5xoT8lkxANmeoVaat+H47O5A+rr5WLmD45ezprO/NTogxHsaMfqRCuQ4vlw==} - '@csstools/postcss-media-queries-aspect-ratio-number-values@3.0.5': - resolution: {integrity: sha512-zhAe31xaaXOY2Px8IYfoVTB3wglbJUVigGphFLj6exb7cjZRH9A6adyE22XfFK3P2PzwRk0VDeTJmaxpluyrDg==} - engines: {node: '>=18'} + '@giscus/react@3.1.0': + resolution: {integrity: sha512-0TCO2TvL43+oOdyVVGHDItwxD1UMKP2ZYpT6gXmhFOqfAJtZxTzJ9hkn34iAF/b6YzyJ4Um89QIt9z/ajmAEeg==} peerDependencies: - postcss: ^8.4 + react: ^16 || ^17 || ^18 || ^19 + react-dom: ^16 || ^17 || ^18 || ^19 - '@csstools/postcss-nested-calc@4.0.0': - resolution: {integrity: sha512-jMYDdqrQQxE7k9+KjstC3NbsmC063n1FTPLCgCRS2/qHUbHM0mNy9pIn4QIiQGs9I/Bg98vMqw7mJXBxa0N88A==} + '@img/colour@1.0.0': + resolution: {integrity: sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw==} engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - '@csstools/postcss-normalize-display-values@4.0.0': - resolution: {integrity: sha512-HlEoG0IDRoHXzXnkV4in47dzsxdsjdz6+j7MLjaACABX2NfvjFS6XVAnpaDyGesz9gK2SC7MbNwdCHusObKJ9Q==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@img/sharp-darwin-arm64@0.34.5': + resolution: {integrity: sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [darwin] - '@csstools/postcss-oklab-function@4.0.12': - resolution: {integrity: sha512-HhlSmnE1NKBhXsTnNGjxvhryKtO7tJd1w42DKOGFD6jSHtYOrsJTQDKPMwvOfrzUAk8t7GcpIfRyM7ssqHpFjg==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@img/sharp-darwin-x64@0.34.5': + resolution: {integrity: sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [darwin] - '@csstools/postcss-position-area-property@1.0.0': - resolution: {integrity: sha512-fUP6KR8qV2NuUZV3Cw8itx0Ep90aRjAZxAEzC3vrl6yjFv+pFsQbR18UuQctEKmA72K9O27CoYiKEgXxkqjg8Q==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@img/sharp-libvips-darwin-arm64@1.2.4': + resolution: {integrity: sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==} + cpu: [arm64] + os: [darwin] - '@csstools/postcss-progressive-custom-properties@4.2.1': - resolution: {integrity: sha512-uPiiXf7IEKtUQXsxu6uWtOlRMXd2QWWy5fhxHDnPdXKCQckPP3E34ZgDoZ62r2iT+UOgWsSbM4NvHE5m3mAEdw==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@img/sharp-libvips-darwin-x64@1.2.4': + resolution: {integrity: sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==} + cpu: [x64] + os: [darwin] - '@csstools/postcss-random-function@2.0.1': - resolution: {integrity: sha512-q+FQaNiRBhnoSNo+GzqGOIBKoHQ43lYz0ICrV+UudfWnEF6ksS6DsBIJSISKQT2Bvu3g4k6r7t0zYrk5pDlo8w==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@img/sharp-libvips-linux-arm64@1.2.4': + resolution: {integrity: sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==} + cpu: [arm64] + os: [linux] - '@csstools/postcss-relative-color-syntax@3.0.12': - resolution: {integrity: sha512-0RLIeONxu/mtxRtf3o41Lq2ghLimw0w9ByLWnnEVuy89exmEEq8bynveBxNW3nyHqLAFEeNtVEmC1QK9MZ8Huw==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@img/sharp-libvips-linux-arm@1.2.4': + resolution: {integrity: sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==} + cpu: [arm] + os: [linux] - '@csstools/postcss-scope-pseudo-class@4.0.1': - resolution: {integrity: sha512-IMi9FwtH6LMNuLea1bjVMQAsUhFxJnyLSgOp/cpv5hrzWmrUYU5fm0EguNDIIOHUqzXode8F/1qkC/tEo/qN8Q==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@img/sharp-libvips-linux-ppc64@1.2.4': + resolution: {integrity: sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==} + cpu: [ppc64] + os: [linux] - '@csstools/postcss-sign-functions@1.1.4': - resolution: {integrity: sha512-P97h1XqRPcfcJndFdG95Gv/6ZzxUBBISem0IDqPZ7WMvc/wlO+yU0c5D/OCpZ5TJoTt63Ok3knGk64N+o6L2Pg==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@img/sharp-libvips-linux-riscv64@1.2.4': + resolution: {integrity: sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==} + cpu: [riscv64] + os: [linux] - '@csstools/postcss-stepped-value-functions@4.0.9': - resolution: {integrity: sha512-h9btycWrsex4dNLeQfyU3y3w40LMQooJWFMm/SK9lrKguHDcFl4VMkncKKoXi2z5rM9YGWbUQABI8BT2UydIcA==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@img/sharp-libvips-linux-s390x@1.2.4': + resolution: {integrity: sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==} + cpu: [s390x] + os: [linux] - '@csstools/postcss-system-ui-font-family@1.0.0': - resolution: {integrity: sha512-s3xdBvfWYfoPSBsikDXbuorcMG1nN1M6GdU0qBsGfcmNR0A/qhloQZpTxjA3Xsyrk1VJvwb2pOfiOT3at/DuIQ==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@img/sharp-libvips-linux-x64@1.2.4': + resolution: {integrity: sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==} + cpu: [x64] + os: [linux] - '@csstools/postcss-text-decoration-shorthand@4.0.3': - resolution: {integrity: sha512-KSkGgZfx0kQjRIYnpsD7X2Om9BUXX/Kii77VBifQW9Ih929hK0KNjVngHDH0bFB9GmfWcR9vJYJJRvw/NQjkrA==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@img/sharp-libvips-linuxmusl-arm64@1.2.4': + resolution: {integrity: sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==} + cpu: [arm64] + os: [linux] - '@csstools/postcss-trigonometric-functions@4.0.9': - resolution: {integrity: sha512-Hnh5zJUdpNrJqK9v1/E3BbrQhaDTj5YiX7P61TOvUhoDHnUmsNNxcDAgkQ32RrcWx9GVUvfUNPcUkn8R3vIX6A==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@img/sharp-libvips-linuxmusl-x64@1.2.4': + resolution: {integrity: sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==} + cpu: [x64] + os: [linux] - '@csstools/postcss-unset-value@4.0.0': - resolution: {integrity: sha512-cBz3tOCI5Fw6NIFEwU3RiwK6mn3nKegjpJuzCndoGq3BZPkUjnsq7uQmIeMNeMbMk7YD2MfKcgCpZwX5jyXqCA==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + '@img/sharp-linux-arm64@0.34.5': + resolution: {integrity: sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [linux] - '@csstools/selector-resolve-nested@3.1.0': - resolution: {integrity: sha512-mf1LEW0tJLKfWyvn5KdDrhpxHyuxpbNwTIwOYLIvsTffeyOf85j5oIzfG0yosxDgx/sswlqBnESYUcQH0vgZ0g==} - engines: {node: '>=18'} - peerDependencies: - postcss-selector-parser: ^7.0.0 + '@img/sharp-linux-arm@0.34.5': + resolution: {integrity: sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm] + os: [linux] - '@csstools/selector-specificity@5.0.0': - resolution: {integrity: sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==} - engines: {node: '>=18'} - peerDependencies: - postcss-selector-parser: ^7.0.0 - - '@csstools/utilities@2.0.0': - resolution: {integrity: sha512-5VdOr0Z71u+Yp3ozOx8T11N703wIFGVRgOWbOZMKgglPJsWA54MRIoMNVMa7shUToIhx5J8vX4sOZgD2XiihiQ==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - '@discoveryjs/json-ext@0.5.7': - resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==} - engines: {node: '>=10.0.0'} - - '@docsearch/core@4.3.1': - resolution: {integrity: sha512-ktVbkePE+2h9RwqCUMbWXOoebFyDOxHqImAqfs+lC8yOU+XwEW4jgvHGJK079deTeHtdhUNj0PXHSnhJINvHzQ==} - peerDependencies: - '@types/react': '>= 16.8.0 < 20.0.0' - react: '>= 16.8.0 < 20.0.0' - react-dom: '>= 16.8.0 < 20.0.0' - peerDependenciesMeta: - '@types/react': - optional: true - react: - optional: true - react-dom: - optional: true - - '@docsearch/css@4.3.2': - resolution: {integrity: sha512-K3Yhay9MgkBjJJ0WEL5MxnACModX9xuNt3UlQQkDEDZJZ0+aeWKtOkxHNndMRkMBnHdYvQjxkm6mdlneOtU1IQ==} - - '@docsearch/react@4.3.2': - resolution: {integrity: sha512-74SFD6WluwvgsOPqifYOviEEVwDxslxfhakTlra+JviaNcs7KK/rjsPj89kVEoQc9FUxRkAofaJnHIR7pb4TSQ==} - peerDependencies: - '@types/react': '>= 16.8.0 < 20.0.0' - react: '>= 16.8.0 < 20.0.0' - react-dom: '>= 16.8.0 < 20.0.0' - search-insights: '>= 1 < 3' - peerDependenciesMeta: - '@types/react': - optional: true - react: - optional: true - react-dom: - optional: true - search-insights: - optional: true - - '@docusaurus/babel@3.9.2': - resolution: {integrity: sha512-GEANdi/SgER+L7Japs25YiGil/AUDnFFHaCGPBbundxoWtCkA2lmy7/tFmgED4y1htAy6Oi4wkJEQdGssnw9MA==} - engines: {node: '>=20.0'} - - '@docusaurus/bundler@3.9.2': - resolution: {integrity: sha512-ZOVi6GYgTcsZcUzjblpzk3wH1Fya2VNpd5jtHoCCFcJlMQ1EYXZetfAnRHLcyiFeBABaI1ltTYbOBtH/gahGVA==} - engines: {node: '>=20.0'} - peerDependencies: - '@docusaurus/faster': '*' - peerDependenciesMeta: - '@docusaurus/faster': - optional: true - - '@docusaurus/core@3.9.2': - resolution: {integrity: sha512-HbjwKeC+pHUFBfLMNzuSjqFE/58+rLVKmOU3lxQrpsxLBOGosYco/Q0GduBb0/jEMRiyEqjNT/01rRdOMWq5pw==} - engines: {node: '>=20.0'} - hasBin: true - peerDependencies: - '@mdx-js/react': ^3.0.0 - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - - '@docusaurus/cssnano-preset@3.9.2': - resolution: {integrity: sha512-8gBKup94aGttRduABsj7bpPFTX7kbwu+xh3K9NMCF5K4bWBqTFYW+REKHF6iBVDHRJ4grZdIPbvkiHd/XNKRMQ==} - engines: {node: '>=20.0'} - - '@docusaurus/faster@3.9.2': - resolution: {integrity: sha512-DEVIwhbrZZ4ir31X+qQNEQqDWkgCJUV6kiPPAd2MGTY8n5/n0c4B8qA5k1ipF2izwH00JEf0h6Daaut71zzkyw==} - engines: {node: '>=20.0'} - peerDependencies: - '@docusaurus/types': '*' - - '@docusaurus/logger@3.9.2': - resolution: {integrity: sha512-/SVCc57ByARzGSU60c50rMyQlBuMIJCjcsJlkphxY6B0GV4UH3tcA1994N8fFfbJ9kX3jIBe/xg3XP5qBtGDbA==} - engines: {node: '>=20.0'} - - '@docusaurus/mdx-loader@3.9.2': - resolution: {integrity: sha512-wiYoGwF9gdd6rev62xDU8AAM8JuLI/hlwOtCzMmYcspEkzecKrP8J8X+KpYnTlACBUUtXNJpSoCwFWJhLRevzQ==} - engines: {node: '>=20.0'} - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - - '@docusaurus/module-type-aliases@3.9.2': - resolution: {integrity: sha512-8qVe2QA9hVLzvnxP46ysuofJUIc/yYQ82tvA/rBTrnpXtCjNSFLxEZfd5U8cYZuJIVlkPxamsIgwd5tGZXfvew==} - peerDependencies: - react: '*' - react-dom: '*' - - '@docusaurus/plugin-content-blog@3.9.2': - resolution: {integrity: sha512-3I2HXy3L1QcjLJLGAoTvoBnpOwa6DPUa3Q0dMK19UTY9mhPkKQg/DYhAGTiBUKcTR0f08iw7kLPqOhIgdV3eVQ==} - engines: {node: '>=20.0'} - peerDependencies: - '@docusaurus/plugin-content-docs': '*' - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - - '@docusaurus/plugin-content-docs@3.9.2': - resolution: {integrity: sha512-C5wZsGuKTY8jEYsqdxhhFOe1ZDjH0uIYJ9T/jebHwkyxqnr4wW0jTkB72OMqNjsoQRcb0JN3PcSeTwFlVgzCZg==} - engines: {node: '>=20.0'} - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - - '@docusaurus/plugin-content-pages@3.9.2': - resolution: {integrity: sha512-s4849w/p4noXUrGpPUF0BPqIAfdAe76BLaRGAGKZ1gTDNiGxGcpsLcwJ9OTi1/V8A+AzvsmI9pkjie2zjIQZKA==} - engines: {node: '>=20.0'} - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - - '@docusaurus/plugin-css-cascade-layers@3.9.2': - resolution: {integrity: sha512-w1s3+Ss+eOQbscGM4cfIFBlVg/QKxyYgj26k5AnakuHkKxH6004ZtuLe5awMBotIYF2bbGDoDhpgQ4r/kcj4rQ==} - engines: {node: '>=20.0'} - - '@docusaurus/plugin-debug@3.9.2': - resolution: {integrity: sha512-j7a5hWuAFxyQAkilZwhsQ/b3T7FfHZ+0dub6j/GxKNFJp2h9qk/P1Bp7vrGASnvA9KNQBBL1ZXTe7jlh4VdPdA==} - engines: {node: '>=20.0'} - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - - '@docusaurus/plugin-google-analytics@3.9.2': - resolution: {integrity: sha512-mAwwQJ1Us9jL/lVjXtErXto4p4/iaLlweC54yDUK1a97WfkC6Z2k5/769JsFgwOwOP+n5mUQGACXOEQ0XDuVUw==} - engines: {node: '>=20.0'} - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - - '@docusaurus/plugin-google-gtag@3.9.2': - resolution: {integrity: sha512-YJ4lDCphabBtw19ooSlc1MnxtYGpjFV9rEdzjLsUnBCeis2djUyCozZaFhCg6NGEwOn7HDDyMh0yzcdRpnuIvA==} - engines: {node: '>=20.0'} - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - - '@docusaurus/plugin-google-tag-manager@3.9.2': - resolution: {integrity: sha512-LJtIrkZN/tuHD8NqDAW1Tnw0ekOwRTfobWPsdO15YxcicBo2ykKF0/D6n0vVBfd3srwr9Z6rzrIWYrMzBGrvNw==} - engines: {node: '>=20.0'} - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - - '@docusaurus/plugin-pwa@3.9.2': - resolution: {integrity: sha512-1nSKCCf3xF0W+y8AM7VbXXFXYpmXrNwb6xMQ2Aw5jqzK1qe4js5Db+1bf1neyDyuVgSisQu+gPXARUfb93TlRQ==} - engines: {node: '>=20.0'} - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - - '@docusaurus/plugin-sitemap@3.9.2': - resolution: {integrity: sha512-WLh7ymgDXjG8oPoM/T4/zUP7KcSuFYRZAUTl8vR6VzYkfc18GBM4xLhcT+AKOwun6kBivYKUJf+vlqYJkm+RHw==} - engines: {node: '>=20.0'} - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - - '@docusaurus/plugin-svgr@3.9.2': - resolution: {integrity: sha512-n+1DE+5b3Lnf27TgVU5jM1d4x5tUh2oW5LTsBxJX4PsAPV0JGcmI6p3yLYtEY0LRVEIJh+8RsdQmRE66wSV8mw==} - engines: {node: '>=20.0'} - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - - '@docusaurus/preset-classic@3.9.2': - resolution: {integrity: sha512-IgyYO2Gvaigi21LuDIe+nvmN/dfGXAiMcV/murFqcpjnZc7jxFAxW+9LEjdPt61uZLxG4ByW/oUmX/DDK9t/8w==} - engines: {node: '>=20.0'} - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - - '@docusaurus/react-loadable@6.0.0': - resolution: {integrity: sha512-YMMxTUQV/QFSnbgrP3tjDzLHRg7vsbMn8e9HAa8o/1iXoiomo48b7sk/kkmWEuWNDPJVlKSJRB6Y2fHqdJk+SQ==} - peerDependencies: - react: '*' - - '@docusaurus/theme-classic@3.9.2': - resolution: {integrity: sha512-IGUsArG5hhekXd7RDb11v94ycpJpFdJPkLnt10fFQWOVxAtq5/D7hT6lzc2fhyQKaaCE62qVajOMKL7OiAFAIA==} - engines: {node: '>=20.0'} - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - - '@docusaurus/theme-common@3.9.2': - resolution: {integrity: sha512-6c4DAbR6n6nPbnZhY2V3tzpnKnGL+6aOsLvFL26VRqhlczli9eWG0VDUNoCQEPnGwDMhPS42UhSAnz5pThm5Ag==} - engines: {node: '>=20.0'} - peerDependencies: - '@docusaurus/plugin-content-docs': '*' - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - - '@docusaurus/theme-mermaid@3.9.2': - resolution: {integrity: sha512-5vhShRDq/ntLzdInsQkTdoKWSzw8d1jB17sNPYhA/KvYYFXfuVEGHLM6nrf8MFbV8TruAHDG21Fn3W4lO8GaDw==} - engines: {node: '>=20.0'} - peerDependencies: - '@mermaid-js/layout-elk': ^0.1.9 - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - peerDependenciesMeta: - '@mermaid-js/layout-elk': - optional: true - - '@docusaurus/theme-search-algolia@3.9.2': - resolution: {integrity: sha512-GBDSFNwjnh5/LdkxCKQHkgO2pIMX1447BxYUBG2wBiajS21uj64a+gH/qlbQjDLxmGrbrllBrtJkUHxIsiwRnw==} - engines: {node: '>=20.0'} - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - - '@docusaurus/theme-translations@3.9.2': - resolution: {integrity: sha512-vIryvpP18ON9T9rjgMRFLr2xJVDpw1rtagEGf8Ccce4CkTrvM/fRB8N2nyWYOW5u3DdjkwKw5fBa+3tbn9P4PA==} - engines: {node: '>=20.0'} - - '@docusaurus/tsconfig@3.9.2': - resolution: {integrity: sha512-j6/Fp4Rlpxsc632cnRnl5HpOWeb6ZKssDj6/XzzAzVGXXfm9Eptx3rxCC+fDzySn9fHTS+CWJjPineCR1bB5WQ==} - - '@docusaurus/types@3.9.2': - resolution: {integrity: sha512-Ux1JUNswg+EfUEmajJjyhIohKceitY/yzjRUpu04WXgvVz+fbhVC0p+R0JhvEu4ytw8zIAys2hrdpQPBHRIa8Q==} - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - - '@docusaurus/utils-common@3.9.2': - resolution: {integrity: sha512-I53UC1QctruA6SWLvbjbhCpAw7+X7PePoe5pYcwTOEXD/PxeP8LnECAhTHHwWCblyUX5bMi4QLRkxvyZ+IT8Aw==} - engines: {node: '>=20.0'} - - '@docusaurus/utils-validation@3.9.2': - resolution: {integrity: sha512-l7yk3X5VnNmATbwijJkexdhulNsQaNDwoagiwujXoxFbWLcxHQqNQ+c/IAlzrfMMOfa/8xSBZ7KEKDesE/2J7A==} - engines: {node: '>=20.0'} - - '@docusaurus/utils@3.9.2': - resolution: {integrity: sha512-lBSBiRruFurFKXr5Hbsl2thmGweAPmddhF3jb99U4EMDA5L+e5Y1rAkOS07Nvrup7HUMBDrCV45meaxZnt28nQ==} - engines: {node: '>=20.0'} - - '@emnapi/core@1.7.1': - resolution: {integrity: sha512-o1uhUASyo921r2XtHYOHy7gdkGLge8ghBEQHMWmyJFoXlpU58kIrhhN3w26lpQb6dspetweapMn2CSNwQ8I4wg==} - - '@emnapi/runtime@1.7.1': - resolution: {integrity: sha512-PVtJr5CmLwYAU9PZDMITZoR5iAOShYREoR45EyyLrbntV50mdePTgUn4AmOw90Ifcj+x2kRjdzr1HP3RrNiHGA==} - - '@emnapi/wasi-threads@1.1.0': - resolution: {integrity: sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==} + '@img/sharp-linux-ppc64@0.34.5': + resolution: {integrity: sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [ppc64] + os: [linux] - '@emotion/hash@0.8.0': - resolution: {integrity: sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==} + '@img/sharp-linux-riscv64@0.34.5': + resolution: {integrity: sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [riscv64] + os: [linux] - '@emotion/unitless@0.7.5': - resolution: {integrity: sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==} + '@img/sharp-linux-s390x@0.34.5': + resolution: {integrity: sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [s390x] + os: [linux] - '@giscus/react@3.1.0': - resolution: {integrity: sha512-0TCO2TvL43+oOdyVVGHDItwxD1UMKP2ZYpT6gXmhFOqfAJtZxTzJ9hkn34iAF/b6YzyJ4Um89QIt9z/ajmAEeg==} - peerDependencies: - react: ^16 || ^17 || ^18 || ^19 - react-dom: ^16 || ^17 || ^18 || ^19 + '@img/sharp-linux-x64@0.34.5': + resolution: {integrity: sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [linux] - '@gracefullight/docusaurus-plugin-microsoft-clarity@1.0.0': - resolution: {integrity: sha512-tOFMgF8GdWL4VgdkuPiT/mDYbi4GgtOpq4hVWCg4O3XfSUd7TNGSrzNXnLiOzcO64gQSrBMpB3aQwIpi4gshdw==} + '@img/sharp-linuxmusl-arm64@0.34.5': + resolution: {integrity: sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [linux] - '@hapi/hoek@9.3.0': - resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==} + '@img/sharp-linuxmusl-x64@0.34.5': + resolution: {integrity: sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [linux] - '@hapi/topo@5.1.0': - resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==} + '@img/sharp-wasm32@0.34.5': + resolution: {integrity: sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [wasm32] - '@iconify/react@6.0.2': - resolution: {integrity: sha512-SMmC2sactfpJD427WJEDN6PMyznTFMhByK9yLW0gOTtnjzzbsi/Ke/XqsumsavFPwNiXs8jSiYeZTmLCLwO+Fg==} - peerDependencies: - react: '>=16' + '@img/sharp-win32-arm64@0.34.5': + resolution: {integrity: sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [win32] - '@iconify/types@2.0.0': - resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} + '@img/sharp-win32-ia32@0.34.5': + resolution: {integrity: sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [ia32] + os: [win32] - '@iconify/utils@3.1.0': - resolution: {integrity: sha512-Zlzem1ZXhI1iHeeERabLNzBHdOa4VhQbqAcOQaMKuTuyZCpwKbC2R4Dd0Zo3g9EAc+Y4fiarO8HIHRAth7+skw==} + '@img/sharp-win32-x64@0.34.5': + resolution: {integrity: sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [win32] '@isaacs/balanced-match@4.0.1': resolution: {integrity: sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==} @@ -1492,14 +908,6 @@ packages: resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} - '@jest/schemas@29.6.3': - resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/types@29.6.3': - resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - '@jridgewell/gen-mapping@0.3.13': resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} @@ -1519,45 +927,6 @@ packages: '@jridgewell/trace-mapping@0.3.31': resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} - '@jsonjoy.com/base64@1.1.2': - resolution: {integrity: sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA==} - engines: {node: '>=10.0'} - peerDependencies: - tslib: '2' - - '@jsonjoy.com/buffers@1.2.1': - resolution: {integrity: sha512-12cdlDwX4RUM3QxmUbVJWqZ/mrK6dFQH4Zxq6+r1YXKXYBNgZXndx2qbCJwh3+WWkCSn67IjnlG3XYTvmvYtgA==} - engines: {node: '>=10.0'} - peerDependencies: - tslib: '2' - - '@jsonjoy.com/codegen@1.0.0': - resolution: {integrity: sha512-E8Oy+08cmCf0EK/NMxpaJZmOxPqM+6iSe2S4nlSBrPZOORoDJILxtbSUEDKQyTamm/BVAhIGllOBNU79/dwf0g==} - engines: {node: '>=10.0'} - peerDependencies: - tslib: '2' - - '@jsonjoy.com/json-pack@1.21.0': - resolution: {integrity: sha512-+AKG+R2cfZMShzrF2uQw34v3zbeDYUqnQ+jg7ORic3BGtfw9p/+N6RJbq/kkV8JmYZaINknaEQ2m0/f693ZPpg==} - engines: {node: '>=10.0'} - peerDependencies: - tslib: '2' - - '@jsonjoy.com/json-pointer@1.0.2': - resolution: {integrity: sha512-Fsn6wM2zlDzY1U+v4Nc8bo3bVqgfNTGcn6dMgs6FjrEnt4ZCe60o6ByKRjOGlI2gow0aE/Q41QOigdTqkyK5fg==} - engines: {node: '>=10.0'} - peerDependencies: - tslib: '2' - - '@jsonjoy.com/util@1.9.0': - resolution: {integrity: sha512-pLuQo+VPRnN8hfPqUTLTHk126wuYdXVxE6aDmjSeV4NCAgyxWbiOIeNJVtID3h1Vzpoi9m4jXezf73I6LgabgQ==} - engines: {node: '>=10.0'} - peerDependencies: - tslib: '2' - - '@leichtgewicht/ip-codec@2.0.5': - resolution: {integrity: sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==} - '@lit-labs/ssr-dom-shim@1.4.0': resolution: {integrity: sha512-ficsEARKnmmW5njugNYKipTm4SFnbik7CXtoencDZzmzo/dQ+2Q0bgkzJuoJP20Aj0F+izzJjOqsnkd6F/o1bw==} @@ -1567,59 +936,41 @@ packages: '@mdx-js/mdx@3.1.1': resolution: {integrity: sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ==} - '@mdx-js/react@3.1.1': - resolution: {integrity: sha512-f++rKLQgUVYDAtECQ6fn/is15GkEH9+nZPM3MS0RcxVqoTfawHvDlSCH7JbMhAM6uJ32v3eXLvLmLvjGu7PTQw==} - peerDependencies: - '@types/react': '>=16' - react: '>=16' - - '@mermaid-js/parser@0.6.3': - resolution: {integrity: sha512-lnjOhe7zyHjc+If7yT4zoedx2vo4sHaTmtkl1+or8BRTnCtDmcTpAjpzDSfCZrshM5bCoz0GyidzadJAH1xobA==} - - '@module-federation/error-codes@0.21.6': - resolution: {integrity: sha512-MLJUCQ05KnoVl8xd6xs9a5g2/8U+eWmVxg7xiBMeR0+7OjdWUbHwcwgVFatRIwSZvFgKHfWEiI7wsU1q1XbTRQ==} - - '@module-federation/runtime-core@0.21.6': - resolution: {integrity: sha512-5Hd1Y5qp5lU/aTiK66lidMlM/4ji2gr3EXAtJdreJzkY+bKcI5+21GRcliZ4RAkICmvdxQU5PHPL71XmNc7Lsw==} - - '@module-federation/runtime-tools@0.21.6': - resolution: {integrity: sha512-fnP+ZOZTFeBGiTAnxve+axGmiYn2D60h86nUISXjXClK3LUY1krUfPgf6MaD4YDJ4i51OGXZWPekeMe16pkd8Q==} - - '@module-federation/runtime@0.21.6': - resolution: {integrity: sha512-+caXwaQqwTNh+CQqyb4mZmXq7iEemRDrTZQGD+zyeH454JAYnJ3s/3oDFizdH6245pk+NiqDyOOkHzzFQorKhQ==} - - '@module-federation/sdk@0.21.6': - resolution: {integrity: sha512-x6hARETb8iqHVhEsQBysuWpznNZViUh84qV2yE7AD+g7uIzHKiYdoWqj10posbo5XKf/147qgWDzKZoKoEP2dw==} + '@oslojs/encoding@1.1.0': + resolution: {integrity: sha512-70wQhgYmndg4GCPxPPxPGevRKqTIJ2Nh4OkiMWmDAVYsTQ+Ta7Sq+rPevXyXGdzr30/qZBnyOalCszoMxlyldQ==} - '@module-federation/webpack-bundler-runtime@0.21.6': - resolution: {integrity: sha512-7zIp3LrcWbhGuFDTUMLJ2FJvcwjlddqhWGxi/MW3ur1a+HaO8v5tF2nl+vElKmbG1DFLU/52l3PElVcWf/YcsQ==} - - '@mrmlnc/readdir-enhanced@2.2.1': - resolution: {integrity: sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==} - engines: {node: '>=4'} + '@pagefind/darwin-arm64@1.4.0': + resolution: {integrity: sha512-2vMqkbv3lbx1Awea90gTaBsvpzgRs7MuSgKDxW0m9oV1GPZCZbZBJg/qL83GIUEN2BFlY46dtUZi54pwH+/pTQ==} + cpu: [arm64] + os: [darwin] - '@napi-rs/wasm-runtime@1.0.7': - resolution: {integrity: sha512-SeDnOO0Tk7Okiq6DbXmmBODgOAb9dp9gjlphokTUxmt8U3liIP1ZsozBahH69j/RJv+Rfs6IwUKHTgQYJ/HBAw==} + '@pagefind/darwin-x64@1.4.0': + resolution: {integrity: sha512-e7JPIS6L9/cJfow+/IAqknsGqEPjJnVXGjpGm25bnq+NPdoD3c/7fAwr1OXkG4Ocjx6ZGSCijXEV4ryMcH2E3A==} + cpu: [x64] + os: [darwin] - '@nodelib/fs.scandir@2.1.5': - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} - engines: {node: '>= 8'} + '@pagefind/default-ui@1.4.0': + resolution: {integrity: sha512-wie82VWn3cnGEdIjh4YwNESyS1G6vRHwL6cNjy9CFgNnWW/PGRjsLq300xjVH5sfPFK3iK36UxvIBymtQIEiSQ==} - '@nodelib/fs.stat@1.1.3': - resolution: {integrity: sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==} - engines: {node: '>= 6'} + '@pagefind/freebsd-x64@1.4.0': + resolution: {integrity: sha512-WcJVypXSZ+9HpiqZjFXMUobfFfZZ6NzIYtkhQ9eOhZrQpeY5uQFqNWLCk7w9RkMUwBv1HAMDW3YJQl/8OqsV0Q==} + cpu: [x64] + os: [freebsd] - '@nodelib/fs.stat@2.0.5': - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} - engines: {node: '>= 8'} + '@pagefind/linux-arm64@1.4.0': + resolution: {integrity: sha512-PIt8dkqt4W06KGmQjONw7EZbhDF+uXI7i0XtRLN1vjCUxM9vGPdtJc2mUyVPevjomrGz5M86M8bqTr6cgDp1Uw==} + cpu: [arm64] + os: [linux] - '@nodelib/fs.walk@1.2.8': - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} - engines: {node: '>= 8'} + '@pagefind/linux-x64@1.4.0': + resolution: {integrity: sha512-z4oddcWwQ0UHrTHR8psLnVlz6USGJ/eOlDPTDYZ4cI8TK8PgwRUPQZp9D2iJPNIPcS6Qx/E4TebjuGJOyK8Mmg==} + cpu: [x64] + os: [linux] - '@opentelemetry/api@1.9.0': - resolution: {integrity: sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==} - engines: {node: '>=8.0.0'} + '@pagefind/windows-x64@1.4.0': + resolution: {integrity: sha512-NkT+YAdgS2FPCn8mIA9bQhiBs+xmniMGq1LFPDhcFn0+2yIUEiIG06t7bsZlhdjknEQRTSdT7YitP6fC5qwP0g==} + cpu: [x64] + os: [win32] '@parcel/watcher-android-arm64@2.5.1': resolution: {integrity: sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==} @@ -1703,304 +1054,6 @@ packages: resolution: {integrity: sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==} engines: {node: '>= 10.0.0'} - '@pnpm/config.env-replace@1.1.0': - resolution: {integrity: sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==} - engines: {node: '>=12.22.0'} - - '@pnpm/network.ca-file@1.0.2': - resolution: {integrity: sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==} - engines: {node: '>=12.22.0'} - - '@pnpm/npm-conf@2.3.1': - resolution: {integrity: sha512-c83qWb22rNRuB0UaVCI0uRPNRr8Z0FWnEIvT47jiHAmOIUHbBOg5XvV7pM5x+rKn9HRpjxquDbXYSXr3fAKFcw==} - engines: {node: '>=12'} - - '@polka/url@1.0.0-next.29': - resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==} - - '@rc-component/async-validator@5.0.4': - resolution: {integrity: sha512-qgGdcVIF604M9EqjNF0hbUTz42bz/RDtxWdWuU5EQe3hi7M8ob54B6B35rOsvX5eSvIHIzT9iH1R3n+hk3CGfg==} - engines: {node: '>=14.x'} - - '@rc-component/cascader@1.9.0': - resolution: {integrity: sha512-2jbthe1QZrMBgtCvNKkJFjZYC3uKl4N/aYm5SsMvO3T+F+qRT1CGsSM9bXnh1rLj7jDk/GK0natShWF/jinhWQ==} - peerDependencies: - react: '>=18.0.0' - react-dom: '>=18.0.0' - - '@rc-component/checkbox@1.0.1': - resolution: {integrity: sha512-08yTH8m+bSm8TOqbybbJ9KiAuIATti6bDs2mVeSfu4QfEnyeF6X0enHVvD1NEAyuBWEAo56QtLe++MYs2D9XiQ==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - - '@rc-component/collapse@1.1.2': - resolution: {integrity: sha512-ilBYk1dLLJHu5Q74dF28vwtKUYQ42ZXIIDmqTuVy4rD8JQVvkXOs+KixVNbweyuIEtJYJ7+t+9GVD9dPc6N02w==} - peerDependencies: - react: '>=18.0.0' - react-dom: '>=18.0.0' - - '@rc-component/color-picker@3.0.3': - resolution: {integrity: sha512-V7gFF9O7o5XwIWafdbOtqI4BUUkEUkgdBwp6favy3xajMX/2dDqytFaiXlcwrpq6aRyPLp5dKLAG5RFKLXMeGA==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - - '@rc-component/context@2.0.1': - resolution: {integrity: sha512-HyZbYm47s/YqtP6pKXNMjPEMaukyg7P0qVfgMLzr7YiFNMHbK2fKTAGzms9ykfGHSfyf75nBbgWw+hHkp+VImw==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - - '@rc-component/dialog@1.5.1': - resolution: {integrity: sha512-by4Sf/a3azcb89WayWuwG19/Y312xtu8N81HoVQQtnsBDylfs+dog98fTAvLinnpeoWG52m/M7QLRW6fXR3l1g==} - peerDependencies: - react: '>=18.0.0' - react-dom: '>=18.0.0' - - '@rc-component/drawer@1.3.0': - resolution: {integrity: sha512-rE+sdXEmv2W25VBQ9daGbnb4J4hBIEKmdbj0b3xpY+K7TUmLXDIlSnoXraIbFZdGyek9WxxGKK887uRnFgI+pQ==} - peerDependencies: - react: '>=18.0.0' - react-dom: '>=18.0.0' - - '@rc-component/dropdown@1.0.2': - resolution: {integrity: sha512-6PY2ecUSYhDPhkNHHb4wfeAya04WhpmUSKzdR60G+kMNVUCX2vjT/AgTS0Lz0I/K6xrPMJ3enQbwVpeN3sHCgg==} - peerDependencies: - react: '>=16.11.0' - react-dom: '>=16.11.0' - - '@rc-component/form@1.4.0': - resolution: {integrity: sha512-C8MN/2wIaW9hSrCCtJmcgCkWTQNIspN7ARXLFA4F8PGr8Qxk39U5pS3kRK51/bUJNhb/fEtdFnaViLlISGKI2A==} - engines: {node: '>=8.x'} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - - '@rc-component/image@1.5.3': - resolution: {integrity: sha512-/NR7QW9uCN8Ugar+xsHZOPvzPySfEhcW2/vLcr7VPRM+THZMrllMRv7LAUgW7ikR+Z67Ab67cgPp5K5YftpJsQ==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - - '@rc-component/input-number@1.6.2': - resolution: {integrity: sha512-Gjcq7meZlCOiWN1t1xCC+7/s85humHVokTBI7PJgTfoyw5OWF74y3e6P8PHX104g9+b54jsodFIzyaj6p8LI9w==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - - '@rc-component/input@1.1.2': - resolution: {integrity: sha512-Q61IMR47piUBudgixJ30CciKIy9b1H95qe7GgEKOmSJVJXvFRWJllJfQry9tif+MX2cWFXWJf/RXz4kaCeq/Fg==} - peerDependencies: - react: '>=16.0.0' - react-dom: '>=16.0.0' - - '@rc-component/mentions@1.6.0': - resolution: {integrity: sha512-KIkQNP6habNuTsLhUv0UGEOwG67tlmE7KNIJoQZZNggEZl5lQJTytFDb69sl5CK3TDdISCTjKP3nGEBKgT61CQ==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - - '@rc-component/menu@1.2.0': - resolution: {integrity: sha512-VWwDuhvYHSnTGj4n6bV3ISrLACcPAzdPOq3d0BzkeiM5cve8BEYfvkEhNoM0PLzv51jpcejeyrLXeMVIJ+QJlg==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - - '@rc-component/mini-decimal@1.1.0': - resolution: {integrity: sha512-jS4E7T9Li2GuYwI6PyiVXmxTiM6b07rlD9Ge8uGZSCz3WlzcG5ZK7g5bbuKNeZ9pgUuPK/5guV781ujdVpm4HQ==} - engines: {node: '>=8.x'} - - '@rc-component/motion@1.1.6': - resolution: {integrity: sha512-aEQobs/YA0kqRvHIPjQvOytdtdRVyhf/uXAal4chBjxDu6odHckExJzjn2D+Ju1aKK6hx3pAs6BXdV9+86xkgQ==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - - '@rc-component/mutate-observer@2.0.1': - resolution: {integrity: sha512-AyarjoLU5YlxuValRi+w8JRH2Z84TBbFO2RoGWz9d8bSu0FqT8DtugH3xC3BV7mUwlmROFauyWuXFuq4IFbH+w==} - engines: {node: '>=8.x'} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - - '@rc-component/notification@1.2.0': - resolution: {integrity: sha512-OX3J+zVU7rvoJCikjrfW7qOUp7zlDeFBK2eA3SFbGSkDqo63Sl4Ss8A04kFP+fxHSxMDIS9jYVEZtU1FNCFuBA==} - engines: {node: '>=8.x'} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - - '@rc-component/overflow@1.0.0': - resolution: {integrity: sha512-GSlBeoE0XTBi5cf3zl8Qh7Uqhn7v8RrlJ8ajeVpEkNe94HWy5l5BQ0Mwn2TVUq9gdgbfEMUmTX7tJFAg7mz0Rw==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - - '@rc-component/pagination@1.2.0': - resolution: {integrity: sha512-YcpUFE8dMLfSo6OARJlK6DbHHvrxz7pMGPGmC/caZSJJz6HRKHC1RPP001PRHCvG9Z/veD039uOQmazVuLJzlw==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - - '@rc-component/picker@1.8.0': - resolution: {integrity: sha512-ek4efrIy+peC8WFJg6Lg7c+WNkykr+wUGQGBNoKmlF0K752aIJuaPcBj6p8CceT9vSJ9gOeeclQCBQIFWVDk1A==} - engines: {node: '>=12.x'} - peerDependencies: - date-fns: '>= 2.x' - dayjs: '>= 1.x' - luxon: '>= 3.x' - moment: '>= 2.x' - react: '>=16.9.0' - react-dom: '>=16.9.0' - peerDependenciesMeta: - date-fns: - optional: true - dayjs: - optional: true - luxon: - optional: true - moment: - optional: true - - '@rc-component/portal@2.0.1': - resolution: {integrity: sha512-46KYuA7Udb1LAaLIdDrfmDz3wzyeEZxIURJCn+heoQVbhtW5PQkhBSQtRus+DUdsknmTFQulxSnqrbX3CI4yXw==} - engines: {node: '>=12.x'} - peerDependencies: - react: '>=18.0.0' - react-dom: '>=18.0.0' - - '@rc-component/progress@1.0.2': - resolution: {integrity: sha512-WZUnH9eGxH1+xodZKqdrHke59uyGZSWgj5HBM5Kwk5BrTMuAORO7VJ2IP5Qbm9aH3n9x3IcesqHHR0NWPBC7fQ==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - - '@rc-component/qrcode@1.1.1': - resolution: {integrity: sha512-LfLGNymzKdUPjXUbRP+xOhIWY4jQ+YMj5MmWAcgcAq1Ij8XP7tRmAXqyuv96XvLUBE/5cA8hLFl9eO1JQMujrA==} - engines: {node: '>=8.x'} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - - '@rc-component/rate@1.0.1': - resolution: {integrity: sha512-bkXxeBqDpl5IOC7yL7GcSYjQx9G8H+6kLYQnNZWeBYq2OYIv1MONd6mqKTjnnJYpV0cQIU2z3atdW0j1kttpTw==} - engines: {node: '>=8.x'} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - - '@rc-component/resize-observer@1.0.1': - resolution: {integrity: sha512-r+w+Mz1EiueGk1IgjB3ptNXLYSLZ5vnEfKHH+gfgj7JMupftyzvUUl3fRcMZe5uMM04x0n8+G2o/c6nlO2+Wag==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - - '@rc-component/segmented@1.2.3': - resolution: {integrity: sha512-L7G4S6zUpqHclOXK0wKKN2/VyqHa9tfDNxkoFjWOTPtQ0ROFaBwZhbf1+9sdZfIFkxJkpcShAmDOMEIBaFFqkw==} - peerDependencies: - react: '>=16.0.0' - react-dom: '>=16.0.0' - - '@rc-component/select@1.3.5': - resolution: {integrity: sha512-A2QVOWDfRoLgHwPHrCGx1G42dYntOk+nsT6SX4ADCoagqu4bcxceJPbYvVKkfMYSIwgtfu+tDhPk3Z5gz8944g==} - engines: {node: '>=8.x'} - peerDependencies: - react: '*' - react-dom: '*' - - '@rc-component/slider@1.0.1': - resolution: {integrity: sha512-uDhEPU1z3WDfCJhaL9jfd2ha/Eqpdfxsn0Zb0Xcq1NGQAman0TWaR37OWp2vVXEOdV2y0njSILTMpTfPV1454g==} - engines: {node: '>=8.x'} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - - '@rc-component/steps@1.2.2': - resolution: {integrity: sha512-/yVIZ00gDYYPHSY0JP+M+s3ZvuXLu2f9rEjQqiUDs7EcYsUYrpJ/1bLj9aI9R7MBR3fu/NGh6RM9u2qGfqp+Nw==} - engines: {node: '>=8.x'} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - - '@rc-component/switch@1.0.3': - resolution: {integrity: sha512-Jgi+EbOBquje/XNdofr7xbJQZPYJP+BlPfR0h+WN4zFkdtB2EWqEfvkXJWeipflwjWip0/17rNbxEAqs8hVHfw==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - - '@rc-component/table@1.9.0': - resolution: {integrity: sha512-cq3P9FkD+F3eglkFYhBuNlHclg+r4jY8+ZIgK7zbEFo6IwpnA77YL/Gq4ensLw9oua3zFCTA6JDu6YgBei0TxA==} - engines: {node: '>=8.x'} - peerDependencies: - react: '>=18.0.0' - react-dom: '>=18.0.0' - - '@rc-component/tabs@1.7.0': - resolution: {integrity: sha512-J48cs2iBi7Ho3nptBxxIqizEliUC+ExE23faspUQKGQ550vaBlv3aGF8Epv/UB1vFWeoJDTW/dNzgIU0Qj5i/w==} - engines: {node: '>=8.x'} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - - '@rc-component/textarea@1.1.2': - resolution: {integrity: sha512-9rMUEODWZDMovfScIEHXWlVZuPljZ2pd1LKNjslJVitn4SldEzq5vO1CL3yy3Dnib6zZal2r2DPtjy84VVpF6A==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - - '@rc-component/tooltip@1.4.0': - resolution: {integrity: sha512-8Rx5DCctIlLI4raR0I0xHjVTf1aF48+gKCNeAAo5bmF5VoR5YED+A/XEqzXv9KKqrJDRcd3Wndpxh2hyzrTtSg==} - peerDependencies: - react: '>=18.0.0' - react-dom: '>=18.0.0' - - '@rc-component/tour@2.2.1': - resolution: {integrity: sha512-BUCrVikGJsXli38qlJ+h2WyDD6dYxzDA9dV3o0ij6gYhAq6ooT08SUMWOikva9v4KZ2BEuluGl5bPcsjrSoBgQ==} - engines: {node: '>=8.x'} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - - '@rc-component/tree-select@1.4.0': - resolution: {integrity: sha512-I3UAlO2hNqy9CSKc8EBaESgnmKk2QaRzuZ2XHZGFCgsSMkGl06mdF97sVfROM02YIb64ocgLKefsjE0Ch4ocwQ==} - peerDependencies: - react: '*' - react-dom: '*' - - '@rc-component/tree@1.1.0': - resolution: {integrity: sha512-HZs3aOlvFgQdgrmURRc/f4IujiNBf4DdEeXUlkS0lPoLlx9RoqsZcF0caXIAMVb+NaWqKtGQDnrH8hqLCN5zlA==} - engines: {node: '>=10.x'} - peerDependencies: - react: '*' - react-dom: '*' - - '@rc-component/trigger@3.7.1': - resolution: {integrity: sha512-+YNP8FywxKJpdqzlAp6TN8UbSK6YsQtIs3kI13mHfm87qi3qUd5Q9AGW8Unfv76kXFUSu7U7D0FygRsGH+6MiA==} - engines: {node: '>=8.x'} - peerDependencies: - react: '>=18.0.0' - react-dom: '>=18.0.0' - - '@rc-component/upload@1.1.0': - resolution: {integrity: sha512-LIBV90mAnUE6VK5N4QvForoxZc4XqEYZimcp7fk+lkE4XwHHyJWxpIXQQwMU8hJM+YwBbsoZkGksL1sISWHQxw==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - - '@rc-component/util@1.6.0': - resolution: {integrity: sha512-YbjuIVAm8InCnXVoA4n6G+uh31yESTxQ6fSY2frZ2/oMSvktoB+bumFUfNN7RKh7YeOkZgOvN2suGtEDhJSX0A==} - peerDependencies: - react: '>=18.0.0' - react-dom: '>=18.0.0' - - '@rc-component/virtual-list@1.0.2': - resolution: {integrity: sha512-uvTol/mH74FYsn5loDGJxo+7kjkO4i+y4j87Re1pxJBs0FaeuMuLRzQRGaXwnMcV1CxpZLi2Z56Rerj2M00fjQ==} - engines: {node: '>=8.x'} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - '@rollup/plugin-babel@5.3.1': resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==} engines: {node: '>= 10.0.0'} @@ -2050,333 +1103,142 @@ packages: rollup: optional: true - '@rspack/binding-darwin-arm64@1.6.7': - resolution: {integrity: sha512-QiIAP8JTAtht0j8/xZZEQTJRB9e+KrOm9c7JJm73CewVg55rDWRrwopiVfBNlTu1coem1ztUHJYdQhg2uXfqww==} + '@rollup/rollup-android-arm-eabi@4.53.5': + resolution: {integrity: sha512-iDGS/h7D8t7tvZ1t6+WPK04KD0MwzLZrG0se1hzBjSi5fyxlsiggoJHwh18PCFNn7tG43OWb6pdZ6Y+rMlmyNQ==} + cpu: [arm] + os: [android] + + '@rollup/rollup-android-arm64@4.53.5': + resolution: {integrity: sha512-wrSAViWvZHBMMlWk6EJhvg8/rjxzyEhEdgfMMjREHEq11EtJ6IP6yfcCH57YAEca2Oe3FNCE9DSTgU70EIGmVw==} + cpu: [arm64] + os: [android] + + '@rollup/rollup-darwin-arm64@4.53.5': + resolution: {integrity: sha512-S87zZPBmRO6u1YXQLwpveZm4JfPpAa6oHBX7/ghSiGH3rz/KDgAu1rKdGutV+WUI6tKDMbaBJomhnT30Y2t4VQ==} cpu: [arm64] os: [darwin] - '@rspack/binding-darwin-x64@1.6.7': - resolution: {integrity: sha512-DpQRxxTXkMMNPmBXeJBaAB8HmWKxH2IfvHv7vU+kBhJ3xdPtXU4/xBv1W3biluoNRG11gc1WLIgjzeGgaLCxmw==} + '@rollup/rollup-darwin-x64@4.53.5': + resolution: {integrity: sha512-YTbnsAaHo6VrAczISxgpTva8EkfQus0VPEVJCEaboHtZRIb6h6j0BNxRBOwnDciFTZLDPW5r+ZBmhL/+YpTZgA==} cpu: [x64] os: [darwin] - '@rspack/binding-linux-arm64-gnu@1.6.7': - resolution: {integrity: sha512-211/XoBiooGGgUo/NxNpsrzGUXtH1d7g/4+UTtjYtfc8QHwu7ZMHcsqg0wss53fXzn/yyxd0DZ56vBHq52BiFw==} - cpu: [arm64] - os: [linux] - - '@rspack/binding-linux-arm64-musl@1.6.7': - resolution: {integrity: sha512-0WnqAWz3WPDsXGvOOA++or7cHpoidVsH3FlqNaAfRu6ni6n7ig/s0/jKUB+C5FtXOgmGjAGkZHfFgNHsvZ0FWw==} + '@rollup/rollup-freebsd-arm64@4.53.5': + resolution: {integrity: sha512-1T8eY2J8rKJWzaznV7zedfdhD1BqVs1iqILhmHDq/bqCUZsrMt+j8VCTHhP0vdfbHK3e1IQ7VYx3jlKqwlf+vw==} cpu: [arm64] - os: [linux] + os: [freebsd] - '@rspack/binding-linux-x64-gnu@1.6.7': - resolution: {integrity: sha512-iMrE0Q4IuYpkE0MjpaOVaUDYbQFiCRI9D3EPoXzlXJj4kJSdNheODpHTBVRlWt8Xp7UAoWuIFXCvKFKcSMm3aQ==} + '@rollup/rollup-freebsd-x64@4.53.5': + resolution: {integrity: sha512-sHTiuXyBJApxRn+VFMaw1U+Qsz4kcNlxQ742snICYPrY+DDL8/ZbaC4DVIB7vgZmp3jiDaKA0WpBdP0aqPJoBQ==} cpu: [x64] + os: [freebsd] + + '@rollup/rollup-linux-arm-gnueabihf@4.53.5': + resolution: {integrity: sha512-dV3T9MyAf0w8zPVLVBptVlzaXxka6xg1f16VAQmjg+4KMSTWDvhimI/Y6mp8oHwNrmnmVl9XxJ/w/mO4uIQONA==} + cpu: [arm] os: [linux] - '@rspack/binding-linux-x64-musl@1.6.7': - resolution: {integrity: sha512-e7gKFxpdEQwYGk7lTC/hukTgNtaoAstBXehnZNk4k3kuU6+86WDrkn18Cd949iNqfIPtIG/wIsFNGbkHsH69hQ==} - cpu: [x64] + '@rollup/rollup-linux-arm-musleabihf@4.53.5': + resolution: {integrity: sha512-wIGYC1x/hyjP+KAu9+ewDI+fi5XSNiUi9Bvg6KGAh2TsNMA3tSEs+Sh6jJ/r4BV/bx/CyWu2ue9kDnIdRyafcQ==} + cpu: [arm] os: [linux] - '@rspack/binding-wasm32-wasi@1.6.7': - resolution: {integrity: sha512-yx88EFdE9RP3hh7VhjjW6uc6wGU0KcpOcZp8T8E/a+X8L98fX0aVrtM1IDbndhmdluIMqGbfJNap2+QqOCY9Mw==} - cpu: [wasm32] - - '@rspack/binding-win32-arm64-msvc@1.6.7': - resolution: {integrity: sha512-vgxVYpFK8P5ulSXQQA+EbX78R/SUU+WIf0JIY+LoUoP89gZOsise/lKAJMAybzpeTJ1t0ndLchFznDYnzq+l4Q==} + '@rollup/rollup-linux-arm64-gnu@4.53.5': + resolution: {integrity: sha512-Y+qVA0D9d0y2FRNiG9oM3Hut/DgODZbU9I8pLLPwAsU0tUKZ49cyV1tzmB/qRbSzGvY8lpgGkJuMyuhH7Ma+Vg==} cpu: [arm64] - os: [win32] - - '@rspack/binding-win32-ia32-msvc@1.6.7': - resolution: {integrity: sha512-bV5RTW0Va0UQKJm9HWLt7fWNBPaBBBxCJOA2pJT3nGGm6CCXKnZSyEiVbFUk4jI/uiwBfqenlLkzaGoMRbeDhA==} - cpu: [ia32] - os: [win32] - - '@rspack/binding-win32-x64-msvc@1.6.7': - resolution: {integrity: sha512-8xlbuJQtYktlBjZupOHlO8FeZqSIhsV3ih7xBSiOYar6LI6uQzA7XiO3I5kaPSDirBMMMKv1Z4rKCxWx10a3TQ==} - cpu: [x64] - os: [win32] - - '@rspack/binding@1.6.7': - resolution: {integrity: sha512-7ICabuBN3gHc6PPN52+m1kruz3ogiJjg1C0gSWdLRk18m/4jlcM2aAy6wfXjgODJdB0Yh2ro/lIpBbj+AYWUGA==} - - '@rspack/core@1.6.7': - resolution: {integrity: sha512-tkd4nSzTf+pDa9OAE4INi/JEa93HNszjWy5C9+trf4ZCXLLHsHxHQFbzoreuz4Vv2PlCWajgvAdiPMV1vGIkuw==} - engines: {node: '>=18.12.0'} - peerDependencies: - '@swc/helpers': '>=0.5.1' - peerDependenciesMeta: - '@swc/helpers': - optional: true - - '@rspack/lite-tapable@1.1.0': - resolution: {integrity: sha512-E2B0JhYFmVAwdDiG14+DW0Di4Ze4Jg10Pc4/lILUrd5DRCaklduz2OvJ5HYQ6G+hd+WTzqQb3QnDNfK4yvAFYw==} - - '@sideway/address@4.1.5': - resolution: {integrity: sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==} - - '@sideway/formula@3.0.1': - resolution: {integrity: sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==} - - '@sideway/pinpoint@2.0.0': - resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==} - - '@sinclair/typebox@0.27.8': - resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} - - '@sindresorhus/is@0.7.0': - resolution: {integrity: sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==} - engines: {node: '>=4'} - - '@sindresorhus/is@4.6.0': - resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} - engines: {node: '>=10'} - - '@sindresorhus/is@5.6.0': - resolution: {integrity: sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==} - engines: {node: '>=14.16'} - - '@sindresorhus/merge-streams@4.0.0': - resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==} - engines: {node: '>=18'} - - '@slorber/react-helmet-async@1.3.0': - resolution: {integrity: sha512-e9/OK8VhwUSc67diWI8Rb3I0YgI9/SBQtnhe9aEuK6MhZm7ntZZimXgwXnd8W96YTmSOb9M4d8LwhRZyhWr/1A==} - peerDependencies: - react: ^16.6.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - react-dom: ^16.6.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - - '@slorber/remark-comment@1.0.0': - resolution: {integrity: sha512-RCE24n7jsOj1M0UPvIQCHTe7fI0sFL4S2nwKVWwHyVr/wI/H8GosgsJGyhnsZoGFnD/P2hLf1mSbrrgSLN93NA==} - - '@standard-schema/spec@1.0.0': - resolution: {integrity: sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==} - - '@surma/rollup-plugin-off-main-thread@2.2.3': - resolution: {integrity: sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==} - - '@svgr/babel-plugin-add-jsx-attribute@8.0.0': - resolution: {integrity: sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==} - engines: {node: '>=14'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@svgr/babel-plugin-remove-jsx-attribute@8.0.0': - resolution: {integrity: sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==} - engines: {node: '>=14'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0': - resolution: {integrity: sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==} - engines: {node: '>=14'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0': - resolution: {integrity: sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==} - engines: {node: '>=14'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@svgr/babel-plugin-svg-dynamic-title@8.0.0': - resolution: {integrity: sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==} - engines: {node: '>=14'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@svgr/babel-plugin-svg-em-dimensions@8.0.0': - resolution: {integrity: sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==} - engines: {node: '>=14'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@svgr/babel-plugin-transform-react-native-svg@8.1.0': - resolution: {integrity: sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==} - engines: {node: '>=14'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@svgr/babel-plugin-transform-svg-component@8.0.0': - resolution: {integrity: sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==} - engines: {node: '>=12'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@svgr/babel-preset@8.1.0': - resolution: {integrity: sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==} - engines: {node: '>=14'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@svgr/core@8.1.0': - resolution: {integrity: sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==} - engines: {node: '>=14'} - - '@svgr/hast-util-to-babel-ast@8.0.0': - resolution: {integrity: sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==} - engines: {node: '>=14'} - - '@svgr/plugin-jsx@8.1.0': - resolution: {integrity: sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==} - engines: {node: '>=14'} - peerDependencies: - '@svgr/core': '*' - - '@svgr/plugin-svgo@8.1.0': - resolution: {integrity: sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==} - engines: {node: '>=14'} - peerDependencies: - '@svgr/core': '*' - - '@svgr/webpack@8.1.0': - resolution: {integrity: sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA==} - engines: {node: '>=14'} + os: [linux] - '@swc/core-darwin-arm64@1.15.4': - resolution: {integrity: sha512-NU/Of+ShFGG/i0lXKsF6GaGeTBNsr9iD8uUzdXxFfGbEjTeuKNXc5CWn3/Uo4Gr4LMAGD3hsRwG2Jq5iBDMalw==} - engines: {node: '>=10'} + '@rollup/rollup-linux-arm64-musl@4.53.5': + resolution: {integrity: sha512-juaC4bEgJsyFVfqhtGLz8mbopaWD+WeSOYr5E16y+1of6KQjc0BpwZLuxkClqY1i8sco+MdyoXPNiCkQou09+g==} cpu: [arm64] - os: [darwin] + os: [linux] - '@swc/core-darwin-x64@1.15.4': - resolution: {integrity: sha512-9oWYMZHiEfHLqjjRGrXL17I8HdAOpWK/Rps34RKQ74O+eliygi1Iyq1TDUzYqUXcNvqN2K5fHgoMLRIni41ClQ==} - engines: {node: '>=10'} - cpu: [x64] - os: [darwin] + '@rollup/rollup-linux-loong64-gnu@4.53.5': + resolution: {integrity: sha512-rIEC0hZ17A42iXtHX+EPJVL/CakHo+tT7W0pbzdAGuWOt2jxDFh7A/lRhsNHBcqL4T36+UiAgwO8pbmn3dE8wA==} + cpu: [loong64] + os: [linux] - '@swc/core-linux-arm-gnueabihf@1.15.4': - resolution: {integrity: sha512-I1dPxXli3N1Vr71JXogUTLcspM5ICgCYaA16RE+JKchj3XKKmxLlYjwAHAA4lh/Cy486ikzACaG6pIBcegoGkg==} - engines: {node: '>=10'} - cpu: [arm] + '@rollup/rollup-linux-ppc64-gnu@4.53.5': + resolution: {integrity: sha512-T7l409NhUE552RcAOcmJHj3xyZ2h7vMWzcwQI0hvn5tqHh3oSoclf9WgTl+0QqffWFG8MEVZZP1/OBglKZx52Q==} + cpu: [ppc64] os: [linux] - '@swc/core-linux-arm64-gnu@1.15.4': - resolution: {integrity: sha512-iGpuS/2PDZ68ioAlhkxiN5M4+pB9uDJolTKk4mZ0JM29uFf9YIkiyk7Bbr2y1QtmD82rF0tDHhoG9jtnV8mZMg==} - engines: {node: '>=10'} - cpu: [arm64] + '@rollup/rollup-linux-riscv64-gnu@4.53.5': + resolution: {integrity: sha512-7OK5/GhxbnrMcxIFoYfhV/TkknarkYC1hqUw1wU2xUN3TVRLNT5FmBv4KkheSG2xZ6IEbRAhTooTV2+R5Tk0lQ==} + cpu: [riscv64] os: [linux] - '@swc/core-linux-arm64-musl@1.15.4': - resolution: {integrity: sha512-Ly95wc+VXDhl08pjAoPUhVu5vNbuPMbURknRZa5QOZuiizJ6DkaSI0/zsEc26PpC6HTc4prNLY3ARVwZ7j/IJQ==} - engines: {node: '>=10'} - cpu: [arm64] + '@rollup/rollup-linux-riscv64-musl@4.53.5': + resolution: {integrity: sha512-GwuDBE/PsXaTa76lO5eLJTyr2k8QkPipAyOrs4V/KJufHCZBJ495VCGJol35grx9xryk4V+2zd3Ri+3v7NPh+w==} + cpu: [riscv64] os: [linux] - '@swc/core-linux-x64-gnu@1.15.4': - resolution: {integrity: sha512-7pIG0BnaMn4zTpHeColPwyrWoTY9Drr+ISZQIgYHUKh3oaPtNCrXb289ScGbPPPjLsSfcGTeOy2pXmNczMC+yg==} - engines: {node: '>=10'} + '@rollup/rollup-linux-s390x-gnu@4.53.5': + resolution: {integrity: sha512-IAE1Ziyr1qNfnmiQLHBURAD+eh/zH1pIeJjeShleII7Vj8kyEm2PF77o+lf3WTHDpNJcu4IXJxNO0Zluro8bOw==} + cpu: [s390x] + os: [linux] + + '@rollup/rollup-linux-x64-gnu@4.53.5': + resolution: {integrity: sha512-Pg6E+oP7GvZ4XwgRJBuSXZjcqpIW3yCBhK4BcsANvb47qMvAbCjR6E+1a/U2WXz1JJxp9/4Dno3/iSJLcm5auw==} cpu: [x64] os: [linux] - '@swc/core-linux-x64-musl@1.15.4': - resolution: {integrity: sha512-oaqTV25V9H+PpSkvTcK25q6Q56FvXc6d2xBu486dv9LAPCHWgeAworE8WpBLV26g8rubcN5nGhO5HwSunXA7Ww==} - engines: {node: '>=10'} + '@rollup/rollup-linux-x64-musl@4.53.5': + resolution: {integrity: sha512-txGtluxDKTxaMDzUduGP0wdfng24y1rygUMnmlUJ88fzCCULCLn7oE5kb2+tRB+MWq1QDZT6ObT5RrR8HFRKqg==} cpu: [x64] os: [linux] - '@swc/core-win32-arm64-msvc@1.15.4': - resolution: {integrity: sha512-VcPuUJw27YbGo1HcOaAriI50dpM3ZZeDW3x2cMnJW6vtkeyzUFk1TADmTwFax0Fn+yicCxhaWjnFE3eAzGAxIQ==} - engines: {node: '>=10'} + '@rollup/rollup-openharmony-arm64@4.53.5': + resolution: {integrity: sha512-3DFiLPnTxiOQV993fMc+KO8zXHTcIjgaInrqlG8zDp1TlhYl6WgrOHuJkJQ6M8zHEcntSJsUp1XFZSY8C1DYbg==} + cpu: [arm64] + os: [openharmony] + + '@rollup/rollup-win32-arm64-msvc@4.53.5': + resolution: {integrity: sha512-nggc/wPpNTgjGg75hu+Q/3i32R00Lq1B6N1DO7MCU340MRKL3WZJMjA9U4K4gzy3dkZPXm9E1Nc81FItBVGRlA==} cpu: [arm64] os: [win32] - '@swc/core-win32-ia32-msvc@1.15.4': - resolution: {integrity: sha512-dREjghAZEuKAK9nQzJETAiCSihSpAVS6Vk9+y2ElaoeTj68tNB1txV/m1RTPPD/+Kgbz6ITPNyXRWxPdkP5aXw==} - engines: {node: '>=10'} + '@rollup/rollup-win32-ia32-msvc@4.53.5': + resolution: {integrity: sha512-U/54pTbdQpPLBdEzCT6NBCFAfSZMvmjr0twhnD9f4EIvlm9wy3jjQ38yQj1AGznrNO65EWQMgm/QUjuIVrYF9w==} cpu: [ia32] os: [win32] - '@swc/core-win32-x64-msvc@1.15.4': - resolution: {integrity: sha512-o/odIBuQkoxKbRweJWOMI9LeRSOenFKN2zgPeaaNQ/cyuVk2r6DCAobKMOodvDdZWlMn6N1xJrldeCRSTZIgiQ==} - engines: {node: '>=10'} + '@rollup/rollup-win32-x64-gnu@4.53.5': + resolution: {integrity: sha512-2NqKgZSuLH9SXBBV2dWNRCZmocgSOx8OJSdpRaEcRlIfX8YrKxUT6z0F1NpvDVhOsl190UFTRh2F2WDWWCYp3A==} cpu: [x64] os: [win32] - '@swc/core@1.15.4': - resolution: {integrity: sha512-fH81BPo6EiJ7BUb6Qa5SY/NLWIRVambqU3740g0XPFPEz5KFPnzRYpR6zodQNOcEb9XUtZzRO1Y0WyIJP7iBxQ==} - engines: {node: '>=10'} - peerDependencies: - '@swc/helpers': '>=0.5.17' - peerDependenciesMeta: - '@swc/helpers': - optional: true - - '@swc/counter@0.1.3': - resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} - - '@swc/html-darwin-arm64@1.15.3': - resolution: {integrity: sha512-IIVuFRTr1exOX29lZ3RApa+5RYWSJir65eWKOM5OhqpBWlzdYVnbHaObrBCOYrIBL+BXGYySnbp72b79NggXDg==} - engines: {node: '>=10'} - cpu: [arm64] - os: [darwin] - - '@swc/html-darwin-x64@1.15.3': - resolution: {integrity: sha512-gW1fu0etuFLQ23i5fm2XDc4xjOMXm0wi+EjezFzYooAvSyC5On0KCveTIxeXNnYKk2Q85IOC03PTjmVwkVKqeg==} - engines: {node: '>=10'} + '@rollup/rollup-win32-x64-msvc@4.53.5': + resolution: {integrity: sha512-JRpZUhCfhZ4keB5v0fe02gQJy05GqboPOaxvjugW04RLSYYoB/9t2lx2u/tMs/Na/1NXfY8QYjgRljRpN+MjTQ==} cpu: [x64] - os: [darwin] - - '@swc/html-linux-arm-gnueabihf@1.15.3': - resolution: {integrity: sha512-JztA9n1zMM3kJKp99U2rRnXUfzTeETEgyeu+VArtaG0KXoP08tUVMC5QYCYOBW4vTBbs5SiLN+FCzB65y7UKLQ==} - engines: {node: '>=10'} - cpu: [arm] - os: [linux] - - '@swc/html-linux-arm64-gnu@1.15.3': - resolution: {integrity: sha512-9dikO1z0IdfiB+gYXEReeUvurao7pruAVUB+lvn0824IoGFutUinLUnRJPqCDMT4f70J8xBZkHC4QIfO0N1lZQ==} - engines: {node: '>=10'} - cpu: [arm64] - os: [linux] + os: [win32] - '@swc/html-linux-arm64-musl@1.15.3': - resolution: {integrity: sha512-ZmVYAP2xuzc8RN+jwJR84eMjgoWA0r20YL5Sb+hMo8p4+piOLPif0FjfTbRGy0iwz/lFY7Ml8Fent3I8kXjGig==} - engines: {node: '>=10'} - cpu: [arm64] - os: [linux] + '@shikijs/core@3.20.0': + resolution: {integrity: sha512-f2ED7HYV4JEk827mtMDwe/yQ25pRiXZmtHjWF8uzZKuKiEsJR7Ce1nuQ+HhV9FzDcbIo4ObBCD9GPTzNuy9S1g==} - '@swc/html-linux-x64-gnu@1.15.3': - resolution: {integrity: sha512-QqHhNedxWps0nzam5aNJ+vHet+EsFYW3FkjdqyUnfpJZdrvVudzfyNd4yxjo/nMeb5RsOb/fZlfp1cx26XB2LQ==} - engines: {node: '>=10'} - cpu: [x64] - os: [linux] + '@shikijs/engine-javascript@3.20.0': + resolution: {integrity: sha512-OFx8fHAZuk7I42Z9YAdZ95To6jDePQ9Rnfbw9uSRTSbBhYBp1kEOKv/3jOimcj3VRUKusDYM6DswLauwfhboLg==} - '@swc/html-linux-x64-musl@1.15.3': - resolution: {integrity: sha512-gwowjNEHMflw3Nu1P4MPpUHCeBbEWW8uwDtMsWARPGb9onBCyzMr7Z3m1jvuRVd/kd44o9VwWfh0AB4j26Y12w==} - engines: {node: '>=10'} - cpu: [x64] - os: [linux] + '@shikijs/engine-oniguruma@3.20.0': + resolution: {integrity: sha512-Yx3gy7xLzM0ZOjqoxciHjA7dAt5tyzJE3L4uQoM83agahy+PlW244XJSrmJRSBvGYELDhYXPacD4R/cauV5bzQ==} - '@swc/html-win32-arm64-msvc@1.15.3': - resolution: {integrity: sha512-rxxvpXER5KuKSN6bI5zU3RXMu5jpTIgQdWLzBlMVjuhRWRNk14LMaoxKSRxGJ3k/i0qwQWaMA+8oPpcsTVguKw==} - engines: {node: '>=10'} - cpu: [arm64] - os: [win32] + '@shikijs/langs@3.20.0': + resolution: {integrity: sha512-le+bssCxcSHrygCWuOrYJHvjus6zhQ2K7q/0mgjiffRbkhM4o1EWu2m+29l0yEsHDbWaWPNnDUTRVVBvBBeKaA==} - '@swc/html-win32-ia32-msvc@1.15.3': - resolution: {integrity: sha512-eWGVaOwksC9eJ7409DNgCWp0O4YmlO8OgToMWFozTzG3zEDCHpKjVhD/Fi8zUtdFkc/cuXrHmunmTfh62XTvZg==} - engines: {node: '>=10'} - cpu: [ia32] - os: [win32] + '@shikijs/themes@3.20.0': + resolution: {integrity: sha512-U1NSU7Sl26Q7ErRvJUouArxfM2euWqq1xaSrbqMu2iqa+tSp0D1Yah8216sDYbdDHw4C8b75UpE65eWorm2erQ==} - '@swc/html-win32-x64-msvc@1.15.3': - resolution: {integrity: sha512-PdTREP0388VJjgwoN/LbkZkfGkSFR7k7n4PMqpV7PHy8Gri8kOYewExlyxyLJ+lYi1MXZMkMUI8VJbZZFnaxIw==} - engines: {node: '>=10'} - cpu: [x64] - os: [win32] + '@shikijs/types@3.20.0': + resolution: {integrity: sha512-lhYAATn10nkZcBQ0BlzSbJA3wcmL5MXUUF8d2Zzon6saZDlToKaiRX60n2+ZaHJCmXEcZRWNzn+k9vplr8Jhsw==} - '@swc/html@1.15.3': - resolution: {integrity: sha512-3LnbQ0UGJPfVunEB4n+0zbmd1+jRa2o4ZVofnyM5SKAB1anP70B04k3lEMs2lFDp1TksJIld2Y8h+RhB1PhKEw==} - engines: {node: '>=14'} + '@shikijs/vscode-textmate@10.0.2': + resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==} - '@swc/types@0.1.25': - resolution: {integrity: sha512-iAoY/qRhNH8a/hBvm3zKj9qQ4oc2+3w1unPJa2XvTK3XjeLXtzcCingVPw/9e5mn1+0yPqxcBGp9Jf0pkfMb1g==} + '@surma/rollup-plugin-off-main-thread@2.2.3': + resolution: {integrity: sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==} - '@szmarczak/http-timer@5.0.1': - resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==} - engines: {node: '>=14.16'} + '@swc/helpers@0.5.17': + resolution: {integrity: sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==} '@tailwindcss/node@4.1.18': resolution: {integrity: sha512-DoR7U1P7iYhw16qJ49fgXUlry1t4CpXeErJHnQ44JgTSKMaZUdf17cfn5mHchfJ4KRBZRFA/Coo+MUF5+gOaCQ==} @@ -2463,135 +1325,14 @@ packages: resolution: {integrity: sha512-EgCR5tTS5bUSKQgzeMClT6iCY3ToqE1y+ZB0AKldj809QXk1Y+3jB0upOYZrn9aGIzPtUsP7sX4QQ4XtjBB95A==} engines: {node: '>= 10'} - '@tailwindcss/postcss@4.1.18': - resolution: {integrity: sha512-Ce0GFnzAOuPyfV5SxjXGn0CubwGcuDB0zcdaPuCSzAa/2vII24JTkH+I6jcbXLb1ctjZMZZI6OjDaLPJQL1S0g==} - - '@tailwindcss/typography@0.5.19': - resolution: {integrity: sha512-w31dd8HOx3k9vPtcQh5QHP9GwKcgbMp87j58qi6xgiBnFFtKEAgCWnDw4qUT8aHwkCp8bKvb/KGKWWHedP0AAg==} + '@tailwindcss/vite@4.1.18': + resolution: {integrity: sha512-jVA+/UpKL1vRLg6Hkao5jldawNmRo7mQYrZtNHMIVpLfLhDml5nMRUo/8MwoX2vNXvnaXNNMedrMfMugAVX1nA==} peerDependencies: - tailwindcss: '>=3.0.0 || insiders || >=4.0.0-alpha.20 || >=4.0.0-beta.1' - - '@trysound/sax@0.2.0': - resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} - engines: {node: '>=10.13.0'} - - '@tybys/wasm-util@0.10.1': - resolution: {integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==} - - '@types/body-parser@1.19.6': - resolution: {integrity: sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==} - - '@types/bonjour@3.5.13': - resolution: {integrity: sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==} - - '@types/connect-history-api-fallback@1.5.4': - resolution: {integrity: sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==} - - '@types/connect@3.4.38': - resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} - - '@types/d3-array@3.2.2': - resolution: {integrity: sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw==} - - '@types/d3-axis@3.0.6': - resolution: {integrity: sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==} - - '@types/d3-brush@3.0.6': - resolution: {integrity: sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==} - - '@types/d3-chord@3.0.6': - resolution: {integrity: sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==} - - '@types/d3-color@3.1.3': - resolution: {integrity: sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==} - - '@types/d3-contour@3.0.6': - resolution: {integrity: sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==} - - '@types/d3-delaunay@6.0.4': - resolution: {integrity: sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==} - - '@types/d3-dispatch@3.0.7': - resolution: {integrity: sha512-5o9OIAdKkhN1QItV2oqaE5KMIiXAvDWBDPrD85e58Qlz1c1kI/J0NcqbEG88CoTwJrYe7ntUCVfeUl2UJKbWgA==} - - '@types/d3-drag@3.0.7': - resolution: {integrity: sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==} - - '@types/d3-dsv@3.0.7': - resolution: {integrity: sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==} - - '@types/d3-ease@3.0.2': - resolution: {integrity: sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==} - - '@types/d3-fetch@3.0.7': - resolution: {integrity: sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==} - - '@types/d3-force@3.0.10': - resolution: {integrity: sha512-ZYeSaCF3p73RdOKcjj+swRlZfnYpK1EbaDiYICEEp5Q6sUiqFaFQ9qgoshp5CzIyyb/yD09kD9o2zEltCexlgw==} - - '@types/d3-format@3.0.4': - resolution: {integrity: sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==} - - '@types/d3-geo@3.1.0': - resolution: {integrity: sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==} - - '@types/d3-hierarchy@3.1.7': - resolution: {integrity: sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg==} - - '@types/d3-interpolate@3.0.4': - resolution: {integrity: sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==} - - '@types/d3-path@3.1.1': - resolution: {integrity: sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==} - - '@types/d3-polygon@3.0.2': - resolution: {integrity: sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==} - - '@types/d3-quadtree@3.0.6': - resolution: {integrity: sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==} - - '@types/d3-random@3.0.3': - resolution: {integrity: sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==} - - '@types/d3-scale-chromatic@3.1.0': - resolution: {integrity: sha512-iWMJgwkK7yTRmWqRB5plb1kadXyQ5Sj8V/zYlFGMUBbIPKQScw+Dku9cAAMgJG+z5GYDoMjWGLVOvjghDEFnKQ==} - - '@types/d3-scale@4.0.9': - resolution: {integrity: sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==} - - '@types/d3-selection@3.0.11': - resolution: {integrity: sha512-bhAXu23DJWsrI45xafYpkQ4NtcKMwWnAC/vKrd2l+nxMFuvOT3XMYTIj2opv8vq8AO5Yh7Qac/nSeP/3zjTK0w==} - - '@types/d3-shape@3.1.7': - resolution: {integrity: sha512-VLvUQ33C+3J+8p+Daf+nYSOsjB4GXp19/S/aGo60m9h1v6XaxjiT82lKVWJCfzhtuZ3yD7i/TPeC/fuKLLOSmg==} - - '@types/d3-time-format@4.0.3': - resolution: {integrity: sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==} - - '@types/d3-time@3.0.4': - resolution: {integrity: sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==} - - '@types/d3-timer@3.0.2': - resolution: {integrity: sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==} - - '@types/d3-transition@3.0.9': - resolution: {integrity: sha512-uZS5shfxzO3rGlu0cC3bjmMFKsXv+SmZZcgp0KD22ts4uGXp5EVYGzu/0YdwZeKmddhcAccYtREJKkPfXkZuCg==} - - '@types/d3-zoom@3.0.8': - resolution: {integrity: sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==} - - '@types/d3@7.4.3': - resolution: {integrity: sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==} + vite: ^5.2.0 || ^6 || ^7 '@types/debug@4.1.12': resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} - '@types/eslint-scope@3.7.7': - resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} - - '@types/eslint@9.6.1': - resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==} - '@types/estree-jsx@1.0.5': resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==} @@ -2601,53 +1342,14 @@ packages: '@types/estree@1.0.8': resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} - '@types/express-serve-static-core@4.19.7': - resolution: {integrity: sha512-FvPtiIf1LfhzsaIXhv/PHan/2FeQBbtBDtfX2QfvPxdUelMDEckK08SM6nqo1MIZY3RUlfA+HV8+hFUSio78qg==} - - '@types/express@4.17.25': - resolution: {integrity: sha512-dVd04UKsfpINUnK0yBoYHDF3xu7xVH4BuDotC/xGuycx4CgbP48X/KF/586bcObxT0HENHXEU8Nqtu6NR+eKhw==} - - '@types/geojson@7946.0.16': - resolution: {integrity: sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==} - - '@types/gtag.js@0.0.12': - resolution: {integrity: sha512-YQV9bUsemkzG81Ea295/nF/5GijnD2Af7QhEofh7xu+kvCN6RdodgNwwGWXB5GMI3NoyvQo0odNctoH/qLMIpg==} + '@types/fontkit@2.0.8': + resolution: {integrity: sha512-wN+8bYxIpJf+5oZdrdtaX04qUuWHcKxcDEgRS9Qm9ZClSHjzEn13SxUC+5eRM+4yXIeTYk8mTzLAWGF64847ew==} '@types/hast@3.0.4': resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} - '@types/history@4.7.11': - resolution: {integrity: sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==} - - '@types/html-minifier-terser@6.1.0': - resolution: {integrity: sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==} - - '@types/http-cache-semantics@4.0.4': - resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==} - - '@types/http-errors@2.0.5': - resolution: {integrity: sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==} - - '@types/http-proxy@1.17.17': - resolution: {integrity: sha512-ED6LB+Z1AVylNTu7hdzuBqOgMnvG/ld6wGCG8wFnAzKX5uyW2K3WD52v0gnLCTK/VLpXtKckgWuyScYK6cSPaw==} - - '@types/istanbul-lib-coverage@2.0.6': - resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} - - '@types/istanbul-lib-report@3.0.3': - resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} - - '@types/istanbul-reports@3.0.4': - resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} - - '@types/json-schema@7.0.15': - resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - - '@types/katex@0.16.7': - resolution: {integrity: sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ==} - - '@types/keyv@3.1.4': - resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} + '@types/js-yaml@4.0.9': + resolution: {integrity: sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==} '@types/mdast@4.0.4': resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} @@ -2655,14 +1357,11 @@ packages: '@types/mdx@2.0.13': resolution: {integrity: sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==} - '@types/mime@1.3.5': - resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} - '@types/ms@2.1.0': resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} - '@types/node-forge@1.3.14': - resolution: {integrity: sha512-mhVF2BnD4BO+jtOp7z1CdzaK4mbuK0LLQYAvdOLqHTavxFNq4zA1EmYkpnFjP8HOUzedfQkRnp0E2ulSAYSzAw==} + '@types/nlcst@2.0.3': + resolution: {integrity: sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==} '@types/node@17.0.45': resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} @@ -2670,62 +1369,12 @@ packages: '@types/node@25.0.2': resolution: {integrity: sha512-gWEkeiyYE4vqjON/+Obqcoeffmk0NF15WSBwSs7zwVA2bAbTaE0SJ7P0WNGoJn8uE7fiaV5a7dKYIJriEqOrmA==} - '@types/prismjs@1.26.5': - resolution: {integrity: sha512-AUZTa7hQ2KY5L7AmtSiqxlhWxb4ina0yd8hNbl4TWuqnv/pFP0nDMb3YrfSBf4hJVGLh2YEIBfKaBW/9UEl6IQ==} - - '@types/q@1.5.8': - resolution: {integrity: sha512-hroOstUScF6zhIi+5+x0dzqrHA1EJi+Irri6b1fxolMTqqHIV/Cg77EtnQcZqZCu8hR3mX2BzIxN4/GzI68Kfw==} - - '@types/qs@6.14.0': - resolution: {integrity: sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==} - - '@types/range-parser@1.2.7': - resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} - - '@types/react-dom@19.2.3': - resolution: {integrity: sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==} - peerDependencies: - '@types/react': ^19.2.0 - - '@types/react-router-config@5.0.11': - resolution: {integrity: sha512-WmSAg7WgqW7m4x8Mt4N6ZyKz0BubSj/2tVUMsAHp+Yd2AMwcSbeFq9WympT19p5heCFmF97R9eD5uUR/t4HEqw==} - - '@types/react-router-dom@5.3.3': - resolution: {integrity: sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==} - - '@types/react-router@5.1.20': - resolution: {integrity: sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==} - - '@types/react@19.2.7': - resolution: {integrity: sha512-MWtvHrGZLFttgeEj28VXHxpmwYbor/ATPYbBfSFZEIRK0ecCFLl2Qo55z52Hss+UV9CRN7trSeq1zbgx7YDWWg==} - '@types/resolve@1.20.2': resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} - '@types/responselike@1.0.3': - resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==} - - '@types/retry@0.12.2': - resolution: {integrity: sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==} - '@types/sax@1.2.7': resolution: {integrity: sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==} - '@types/send@0.17.6': - resolution: {integrity: sha512-Uqt8rPBE8SY0RK8JB1EzVOIZ32uqy8HwdxCnoCOsYrvnswqmFZ/k+9Ikidlk/ImhsdvBsloHbAlewb2IEBV/Og==} - - '@types/send@1.2.1': - resolution: {integrity: sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==} - - '@types/serve-index@1.9.4': - resolution: {integrity: sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==} - - '@types/serve-static@1.15.10': - resolution: {integrity: sha512-tRs1dB+g8Itk72rlSI2ZrW6vZg0YrLI81iQSTkMmOqnqCaNr/8Ek4VwWcN5vZgCYWbg/JJSGBlUaYGAOP73qBw==} - - '@types/sockjs@0.3.36': - resolution: {integrity: sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==} - '@types/trusted-types@2.0.7': resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} @@ -2735,193 +1384,43 @@ packages: '@types/unist@3.0.3': resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} - '@types/ws@8.18.1': - resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==} - - '@types/yargs-parser@21.0.3': - resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} - - '@types/yargs@17.0.35': - resolution: {integrity: sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==} - '@ungap/structured-clone@1.3.0': resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} - '@vercel/oidc@3.0.5': - resolution: {integrity: sha512-fnYhv671l+eTTp48gB4zEsTW/YtRgRPnkI2nT7x6qw5rkI1Lq2hTmQIpHPgyThI0znLK+vX2n9XxKdXZ7BUbbw==} - engines: {node: '>= 20'} - - '@webassemblyjs/ast@1.14.1': - resolution: {integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==} - - '@webassemblyjs/floating-point-hex-parser@1.13.2': - resolution: {integrity: sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==} - - '@webassemblyjs/helper-api-error@1.13.2': - resolution: {integrity: sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==} - - '@webassemblyjs/helper-buffer@1.14.1': - resolution: {integrity: sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==} - - '@webassemblyjs/helper-numbers@1.13.2': - resolution: {integrity: sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==} - - '@webassemblyjs/helper-wasm-bytecode@1.13.2': - resolution: {integrity: sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==} - - '@webassemblyjs/helper-wasm-section@1.14.1': - resolution: {integrity: sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==} - - '@webassemblyjs/ieee754@1.13.2': - resolution: {integrity: sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==} - - '@webassemblyjs/leb128@1.13.2': - resolution: {integrity: sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==} - - '@webassemblyjs/utf8@1.13.2': - resolution: {integrity: sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==} - - '@webassemblyjs/wasm-edit@1.14.1': - resolution: {integrity: sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==} - - '@webassemblyjs/wasm-gen@1.14.1': - resolution: {integrity: sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==} - - '@webassemblyjs/wasm-opt@1.14.1': - resolution: {integrity: sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==} - - '@webassemblyjs/wasm-parser@1.14.1': - resolution: {integrity: sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==} - - '@webassemblyjs/wast-printer@1.14.1': - resolution: {integrity: sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==} - - '@xtuc/ieee754@1.2.0': - resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} - - '@xtuc/long@4.2.2': - resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} - - accepts@1.3.8: - resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} - engines: {node: '>= 0.6'} - - acorn-import-phases@1.0.4: - resolution: {integrity: sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==} - engines: {node: '>=10.13.0'} + '@vite-pwa/astro@1.2.0': + resolution: {integrity: sha512-ZJYkc87j/nuuBJjZEYe0C4MeXH3UHcYPWuSH0qq3dRIhlm8ej4ygPZm9YyB6rWNuPZ7ixRX+hVWHU3NaXfkzyA==} peerDependencies: - acorn: ^8.14.0 + '@vite-pwa/assets-generator': ^1.0.0 + astro: ^1.6.0 || ^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 + vite-plugin-pwa: ^1.2.0 + peerDependenciesMeta: + '@vite-pwa/assets-generator': + optional: true acorn-jsx@5.3.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - acorn-walk@8.3.4: - resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} - engines: {node: '>=0.4.0'} - acorn@8.15.0: resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} engines: {node: '>=0.4.0'} hasBin: true - address@1.1.2: - resolution: {integrity: sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==} - engines: {node: '>= 0.12.0'} + ajv@8.17.1: + resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} - address@1.2.2: - resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==} - engines: {node: '>= 10.0.0'} + ansi-align@3.0.1: + resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} - aggregate-error@3.1.0: - resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} - engines: {node: '>=8'} - - ai@5.0.113: - resolution: {integrity: sha512-26vivpSO/mzZj0k1Si2IpsFspp26ttQICHRySQiMrtWcRd5mnJMX2a8sG28vmZ38C+JUn1cWmfZrsLMxkSMw9g==} - engines: {node: '>=18'} - peerDependencies: - zod: ^3.25.76 || ^4.1.8 - - airbnb-prop-types@2.16.0: - resolution: {integrity: sha512-7WHOFolP/6cS96PhKNrslCLMYAI8yB1Pp6u6XmxozQOiZbsI5ycglZr5cHhBFfuRcQQjzCMith5ZPZdYiJCxUg==} - deprecated: This package has been renamed to 'prop-types-tools' - peerDependencies: - react: ^0.14 || ^15.0.0 || ^16.0.0-alpha - - ajv-formats@2.1.1: - resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} - peerDependencies: - ajv: ^8.0.0 - peerDependenciesMeta: - ajv: - optional: true - - ajv-keywords@3.5.2: - resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} - peerDependencies: - ajv: ^6.9.1 - - ajv-keywords@5.1.0: - resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==} - peerDependencies: - ajv: ^8.8.2 - - ajv@6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - - ajv@8.17.1: - resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} - - algoliasearch-helper@3.26.1: - resolution: {integrity: sha512-CAlCxm4fYBXtvc5MamDzP6Svu8rW4z9me4DCBY1rQ2UDJ0u0flWmusQ8M3nOExZsLLRcUwUPoRAPMrhzOG3erw==} - peerDependencies: - algoliasearch: '>= 3.1 < 6' - - algoliasearch@5.46.0: - resolution: {integrity: sha512-7ML6fa2K93FIfifG3GMWhDEwT5qQzPTmoHKCTvhzGEwdbQ4n0yYUWZlLYT75WllTGJCJtNUI0C1ybN4BCegqvg==} - engines: {node: '>= 14.0.0'} - - alphanum-sort@1.0.2: - resolution: {integrity: sha512-0FcBfdcmaumGPQ0qPn7Q5qTgz/ooXgIyp1rf8ik5bGX8mpE2YHjC0P/eyQvxu1GURYQgq9ozf2mteQ5ZD9YiyQ==} - - ansi-align@3.0.1: - resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} - - ansi-escapes@4.3.2: - resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} - engines: {node: '>=8'} - - ansi-html-community@0.0.8: - resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==} - engines: {'0': node >= 0.8.0} - hasBin: true - - ansi-red@0.1.1: - resolution: {integrity: sha512-ewaIr5y+9CUTGFwZfpECUbFlGcC0GCw1oqR9RI6h1gQCd9Aj2GxSckCnPsVJnmfMZbwFYE+leZGASgkWl06Jow==} - engines: {node: '>=0.10.0'} - - ansi-regex@2.1.1: - resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==} - engines: {node: '>=0.10.0'} - - ansi-regex@5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} ansi-regex@6.2.2: resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==} engines: {node: '>=12'} - ansi-styles@2.2.1: - resolution: {integrity: sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==} - engines: {node: '>=0.10.0'} - - ansi-styles@3.2.1: - resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} - engines: {node: '>=4'} - ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} @@ -2930,114 +1429,45 @@ packages: resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} engines: {node: '>=12'} - ansi-wrap@0.1.0: - resolution: {integrity: sha512-ZyznvL8k/FZeQHr2T6LzcJ/+vBApDnMNZvfVFy3At0knswWd6rJ3/0Hhmpu8oqa6C92npmozs890sX9Dl6q+Qw==} - engines: {node: '>=0.10.0'} - - antd@6.1.0: - resolution: {integrity: sha512-RIe4W5saaL9SWgvqCcvz6LZta/KwT50B0YF7xYiWVZh0Gqfw2rJAsOMcp202Hxgm+YiyoSp4QqqvexKhuGGarw==} - peerDependencies: - react: '>=18.0.0' - react-dom: '>=18.0.0' - anymatch@3.1.3: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} - arch@2.2.0: - resolution: {integrity: sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==} - - archive-type@4.0.0: - resolution: {integrity: sha512-zV4Ky0v1F8dBrdYElwTvQhweQ0P7Kwc1aluqJsYtOBP01jXcWCyW2IEfI1YiqsG+Iy7ZR+o5LF1N+PGECBxHWA==} - engines: {node: '>=4'} - arg@5.0.2: resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} - argparse@1.0.10: - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} - argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - arr-diff@4.0.0: - resolution: {integrity: sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==} - engines: {node: '>=0.10.0'} - - arr-flatten@1.1.0: - resolution: {integrity: sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==} - engines: {node: '>=0.10.0'} - - arr-union@3.1.0: - resolution: {integrity: sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==} - engines: {node: '>=0.10.0'} + aria-query@5.3.2: + resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==} + engines: {node: '>= 0.4'} array-buffer-byte-length@1.0.2: resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==} engines: {node: '>= 0.4'} - array-find-index@1.0.2: - resolution: {integrity: sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw==} - engines: {node: '>=0.10.0'} - - array-flatten@1.1.1: - resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} - - array-union@1.0.2: - resolution: {integrity: sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==} - engines: {node: '>=0.10.0'} - - array-union@2.1.0: - resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} - engines: {node: '>=8'} - - array-uniq@1.0.3: - resolution: {integrity: sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==} - engines: {node: '>=0.10.0'} - - array-unique@0.3.2: - resolution: {integrity: sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==} - engines: {node: '>=0.10.0'} - - array.prototype.filter@1.0.4: - resolution: {integrity: sha512-r+mCJ7zXgXElgR4IRC+fkvNCeoaavWBs6EdCso5Tbcf+iEMKzBU/His60lt34WEZ9vlb8wDkZvQGcVI5GwkfoQ==} - engines: {node: '>= 0.4'} - - array.prototype.find@2.2.3: - resolution: {integrity: sha512-fO/ORdOELvjbbeIfZfzrXFMhYHGofRGqd+am9zm3tZ4GlJINj/pA2eITyfd65Vg6+ZbHd/Cys7stpoRSWtQFdA==} - engines: {node: '>= 0.4'} - - array.prototype.flat@1.3.3: - resolution: {integrity: sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==} - engines: {node: '>= 0.4'} - - array.prototype.reduce@1.0.8: - resolution: {integrity: sha512-DwuEqgXFBwbmZSRqt3BpQigWNUoqw9Ml2dTWdF3B2zQlQX4OeUE0zyuzX0fX0IbTvjdkZbcBTU3idgpO78qkTw==} - engines: {node: '>= 0.4'} + array-iterate@2.0.1: + resolution: {integrity: sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==} arraybuffer.prototype.slice@1.0.4: resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==} engines: {node: '>= 0.4'} - arrify@1.0.1: - resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} - engines: {node: '>=0.10.0'} - - asn1@0.2.6: - resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==} - - assert-plus@1.0.0: - resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==} - engines: {node: '>=0.8'} - - assign-symbols@1.0.0: - resolution: {integrity: sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==} - engines: {node: '>=0.10.0'} - astring@1.9.0: resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==} hasBin: true + astro-expressive-code@0.41.4: + resolution: {integrity: sha512-LK6EcK/hIHfOSo9zqapzu4CbTC0YBtMOVdvWjInpB2SgYtxiF22aZDqdpejN8J28mWPqPLQwSqdl2lWuirNXmw==} + peerDependencies: + astro: ^4.0.0-beta || ^5.0.0-beta || ^3.3.0 + + astro@5.16.5: + resolution: {integrity: sha512-QeuM4xzTR0QuXFDNlGVW0BW7rcquKFIkylaPeM4ufii0/RRiPTYtwxDYVZ3KfiMRuuc+nbLD0214kMKTvz/yvQ==} + engines: {node: 18.20.8 || ^20.3.0 || >=22.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0'} + hasBin: true + async-function@1.0.0: resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==} engines: {node: '>= 0.4'} @@ -3045,89 +1475,17 @@ packages: async@3.2.6: resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==} - asynckit@0.4.0: - resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} - at-least-node@1.0.0: resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} engines: {node: '>= 4.0.0'} - atob@2.1.2: - resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==} - engines: {node: '>= 4.5.0'} - hasBin: true - - autocorrect-node-darwin-arm64@2.14.0: - resolution: {integrity: sha512-l5IRTQz6zYAlkfEc5emIDXBkayD0MIwPPAVXCFMceFwyTNhAJ5veoKqRrsPuBVthIbfYKtAUs9oy9oFoHQn7bw==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [darwin] - - autocorrect-node-darwin-x64@2.14.0: - resolution: {integrity: sha512-vRO0lwfXff2Fs41NzdDqN5t4VQ03M0Xsn6Tk4OjMrbjoWJqaEq05KZOTSaSF/wEs/7E1VoaI9Kz+c0fqylVX4Q==} - engines: {node: '>= 10'} - cpu: [x64] - os: [darwin] - - autocorrect-node-linux-x64-gnu@2.14.0: - resolution: {integrity: sha512-v1y1wh340cbhrHSZZP0oPkvWUprDtUIwnBP69Bls27VhQ2ZyVV4eijDNOP//yGUyUunMB0rtWoZaBsq8ugt1Kg==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - - autocorrect-node-linux-x64-musl@2.14.0: - resolution: {integrity: sha512-3LifiLG61VIXBrOITpD/REcg/ZEUuLz/P2XUWMCfGqhzoUb8oFgM3o0A6extvIH2NefiHMndB9kNbfQjXCl3zA==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - - autocorrect-node-win32-x64-msvc@2.14.0: - resolution: {integrity: sha512-OM6TeGUW0+4R9KtUYTYNEwlInd+b2kumw/B1HCbCzb1F7HpfaNxnZiMk1li0bdPPBDzD5YuzwM30VJZMCWIi5A==} - engines: {node: '>= 10'} - cpu: [x64] - os: [win32] - - autocorrect-node@2.14.0: - resolution: {integrity: sha512-Pkdw3Hr1Wbtpm8f7KYOaPnHFa7TNVo9dyuOffVaNGN3iWWRBs011XBuCJUEmHV097kJkab94cs4P6KJ4pvI41g==} - engines: {node: '>= 10'} - hasBin: true - - autolinker@0.28.1: - resolution: {integrity: sha512-zQAFO1Dlsn69eXaO6+7YZc+v84aquQKbwpzCE3L0stj56ERn9hutFxPopViLjo9G+rWwjozRhgS5KJ25Xy19cQ==} - - autolinker@3.16.2: - resolution: {integrity: sha512-JiYl7j2Z19F9NdTmirENSUUIIL/9MytEWtmzhfmsKPCp9E+G35Y0UNCMoM9tFigxT59qSc8Ml2dlZXOCVTYwuA==} - - autoprefixer@10.4.22: - resolution: {integrity: sha512-ARe0v/t9gO28Bznv6GgqARmVqcWOV3mfgUPn9becPHMiD3o9BwlRgaeccZnwTpZ7Zwqrm+c1sUSsMxIzQzc8Xg==} - engines: {node: ^10 || ^12 || >=14} - hasBin: true - peerDependencies: - postcss: ^8.1.0 - - autoprefixer@9.8.8: - resolution: {integrity: sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==} - hasBin: true - available-typed-arrays@1.0.7: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} - aws-sign2@0.7.0: - resolution: {integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==} - - aws4@1.13.2: - resolution: {integrity: sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw==} - - babel-loader@9.2.1: - resolution: {integrity: sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@babel/core': ^7.12.0 - webpack: '>=5' - - babel-plugin-dynamic-import-node@2.3.3: - resolution: {integrity: sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==} + axobject-query@4.1.0: + resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} + engines: {node: '>= 0.4'} babel-plugin-polyfill-corejs2@0.4.14: resolution: {integrity: sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg==} @@ -3144,177 +1502,56 @@ packages: peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - babylon@6.18.0: - resolution: {integrity: sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==} - hasBin: true - bail@2.0.2: resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + base-64@1.0.0: + resolution: {integrity: sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg==} + base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - base@0.11.2: - resolution: {integrity: sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==} - engines: {node: '>=0.10.0'} - baseline-browser-mapping@2.9.7: resolution: {integrity: sha512-k9xFKplee6KIio3IDbwj+uaCLpqzOwakOgmqzPezM0sFJlFKcg30vk2wOiAJtkTSfx0SSQDSe8q+mWA/fSH5Zg==} hasBin: true - batch@0.6.1: - resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==} + bcp-47-match@2.0.3: + resolution: {integrity: sha512-JtTezzbAibu8G0R9op9zb3vcWZd9JF6M0xOYGPn0fNCd7wOpRB1mU2mH9T8gaBGbAAyIIVgB2G7xG0GP98zMAQ==} - bcrypt-pbkdf@1.0.2: - resolution: {integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==} - - big-integer@1.6.52: - resolution: {integrity: sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==} - engines: {node: '>=0.6'} - - big.js@5.2.2: - resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} - - bin-build@3.0.0: - resolution: {integrity: sha512-jcUOof71/TNAI2uM5uoUaDq2ePcVBQ3R/qhxAz1rX7UfvduAL/RXD3jXzvn8cVcDJdGVkiR1shal3OH0ImpuhA==} - engines: {node: '>=4'} - - bin-check@4.1.0: - resolution: {integrity: sha512-b6weQyEUKsDGFlACWSIOfveEnImkJyK/FGW6FAG42loyoquvjdtOIqO6yBFzHyqyVVhNgNkQxxx09SFLK28YnA==} - engines: {node: '>=4'} - - bin-version-check@4.0.0: - resolution: {integrity: sha512-sR631OrhC+1f8Cvs8WyVWOA33Y8tgwjETNPyyD/myRBXLkfS/vl74FmH/lFcRl9KY3zwGh7jFhvyk9vV3/3ilQ==} - engines: {node: '>=6'} - - bin-version@3.1.0: - resolution: {integrity: sha512-Mkfm4iE1VFt4xd4vH+gx+0/71esbfus2LsnCGe8Pi4mndSPyT+NGES/Eg99jx8/lUGWfu3z2yuB/bt5UB+iVbQ==} - engines: {node: '>=6'} - - bin-wrapper@4.1.0: - resolution: {integrity: sha512-hfRmo7hWIXPkbpi0ZltboCMVrU+0ClXR/JgbCKKjlDjQf6igXa7OwdqNcFWQZPZTgiY7ZpzE3+LjjkLiTN2T7Q==} - engines: {node: '>=6'} - - binary-extensions@2.3.0: - resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} - engines: {node: '>=8'} - - binary@0.3.0: - resolution: {integrity: sha512-D4H1y5KYwpJgK8wk1Cue5LLPgmwHKYSChkbspQg5JtVuR5ulGckxfR62H3AE9UDkdMC8yyXlqYihuz3Aqg2XZg==} - - bl@1.2.3: - resolution: {integrity: sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==} - - bluebird@3.4.7: - resolution: {integrity: sha512-iD3898SR7sWVRHbiQv+sHUtHnMvC1o3nW5rAcqnq3uOn07DSAppZYUkIGslDz6gXC7HfunPe7YVBgoEJASPcHA==} - - body-parser@1.20.4: - resolution: {integrity: sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - - body@5.1.0: - resolution: {integrity: sha512-chUsBxGRtuElD6fmw1gHLpvnKdVLK302peeFa9ZqAEk8TyzZ3fygLyUEDDPTJvL9+Bor0dIwn6ePOsRM2y0zQQ==} - - bonjour-service@1.3.0: - resolution: {integrity: sha512-3YuAUiSkWykd+2Azjgyxei8OWf8thdn8AITIog2M4UICzoqfjlqr64WIjEXZllf/W6vK1goqleSR6brGomxQqA==} + bcp-47@2.1.0: + resolution: {integrity: sha512-9IIS3UPrvIa1Ej+lVDdDwO7zLehjqsaByECw0bu2RRGP73jALm6FYbzI5gWbgHLvNdkvfXB5YrSbocZdOS0c0w==} boolbase@1.0.0: resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} - boxen@6.2.1: - resolution: {integrity: sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - boxen@7.1.1: - resolution: {integrity: sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==} - engines: {node: '>=14.16'} - - brace-expansion@1.1.12: - resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} + boxen@8.0.1: + resolution: {integrity: sha512-F3PH5k5juxom4xktynS7MoFY+NUWH5LC4CnH11YB8NPew+HLpmBLCybSAEyb2F+4pRXhuhWqFesoQd6DAyc2hw==} + engines: {node: '>=18'} brace-expansion@2.0.2: resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} - braces@2.3.2: - resolution: {integrity: sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==} - engines: {node: '>=0.10.0'} - braces@3.0.3: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} - browserslist@4.14.2: - resolution: {integrity: sha512-HI4lPveGKUR0x2StIz+2FXfDk9SfVMrxn6PLh1JeGUwcuoDkdKZebWiyLRJ68iIPDpMI4JLVDf7S7XzslgWOhw==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true + brotli@1.3.3: + resolution: {integrity: sha512-oTKjJdShmDuGW94SyyaoQvAjf30dZaHnjJ8uAF+u2/vGJkJbJPJAT1gDiOJP5v1Zb6f9KEyW/1HpuaWIXtGHPg==} browserslist@4.28.1: resolution: {integrity: sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true - buffer-alloc-unsafe@1.1.0: - resolution: {integrity: sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==} - - buffer-alloc@1.2.0: - resolution: {integrity: sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==} - buffer-builder@0.2.0: resolution: {integrity: sha512-7VPMEPuYznPSoR21NE1zvd2Xna6c/CloiZCfcMXR1Jny6PjX0N4Nsa38zcBFo/FMK+BlA+FLKbJCQ0i2yxp+Xg==} - buffer-crc32@0.2.13: - resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} - - buffer-fill@1.0.0: - resolution: {integrity: sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==} - buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - buffer-indexof-polyfill@1.0.2: - resolution: {integrity: sha512-I7wzHwA3t1/lwXQh+A5PbNvJxgfo5r3xulgpYDB5zckTu/Z9oUK9biouBKQUjEqzaz3HnAT6TYoovmE+GqSf7A==} - engines: {node: '>=0.10'} - - buffer@5.7.1: - resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} - - buffers@0.1.1: - resolution: {integrity: sha512-9q/rDEGSb/Qsvv2qvzIzdluL5k7AaJOTrw23z9reQthrbF7is4CtlT0DXyO1oei2DCp4uojjzQ7igaSHp1kAEQ==} - engines: {node: '>=0.2.0'} - - bundle-name@4.1.0: - resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} - engines: {node: '>=18'} - - bytes@1.0.0: - resolution: {integrity: sha512-/x68VkHLeTl3/Ll8IvxdwzhrT+IyKc52e/oyHhA2RwqPqswSnjVbSddfPRwAsJtbilMAPSRWwAlpxdYsSWOTKQ==} - - bytes@3.0.0: - resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==} - engines: {node: '>= 0.8'} - - bytes@3.1.2: - resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} - engines: {node: '>= 0.8'} - - cache-base@1.0.1: - resolution: {integrity: sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==} - engines: {node: '>=0.10.0'} - - cacheable-lookup@7.0.0: - resolution: {integrity: sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==} - engines: {node: '>=14.16'} - - cacheable-request@10.2.14: - resolution: {integrity: sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==} - engines: {node: '>=14.16'} - - cacheable-request@2.1.4: - resolution: {integrity: sha512-vag0O2LKZ/najSoUwDbVlnlCFvhBE/7mGTY2B5FgCBDcRD+oVV1HYTOwM6JZfMg/hIcM6IwnTZ1uQQL5/X3xIQ==} - call-bind-apply-helpers@1.0.2: resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} engines: {node: '>= 0.4'} @@ -3327,87 +1564,20 @@ packages: resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} engines: {node: '>= 0.4'} - call-me-maybe@1.0.2: - resolution: {integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==} - - caller-callsite@2.0.0: - resolution: {integrity: sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==} - engines: {node: '>=4'} - - caller-path@2.0.0: - resolution: {integrity: sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==} - engines: {node: '>=4'} - - callsites@2.0.0: - resolution: {integrity: sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==} - engines: {node: '>=4'} - - callsites@3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} - - camel-case@4.1.2: - resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} - - camelcase-keys@2.1.0: - resolution: {integrity: sha512-bA/Z/DERHKqoEOrp+qeGKw1QlvEQkGZSc0XaY6VnTxZr+Kv1G5zFwttpjv8qxZ/sBPT4nthwZaAcsAZTJlSKXQ==} - engines: {node: '>=0.10.0'} - - camelcase@2.1.1: - resolution: {integrity: sha512-DLIsRzJVBQu72meAKPkWQOLcujdXT32hwdfnkI1frSiSRMK1MofjKHf+MEx0SB6fjEFXL8fBDv1dKymBlOp4Qw==} - engines: {node: '>=0.10.0'} - - camelcase@6.3.0: - resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} - engines: {node: '>=10'} - - camelcase@7.0.1: - resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==} - engines: {node: '>=14.16'} - - caniuse-api@3.0.0: - resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} + camelcase@8.0.0: + resolution: {integrity: sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==} + engines: {node: '>=16'} caniuse-lite@1.0.30001760: resolution: {integrity: sha512-7AAMPcueWELt1p3mi13HR/LHH0TJLT11cnwDJEs3xA4+CK/PLKeO9Kl1oru24htkyUKtkGCvAx4ohB0Ttry8Dw==} - caseless@0.12.0: - resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} - - caw@2.0.1: - resolution: {integrity: sha512-Cg8/ZSBEa8ZVY9HspcGUYaK63d/bN7rqS3CYCzEGUxuYv6UlmcjzDUz2fCFFHyTvUW5Pk0I+3hkA3iXlIj6guA==} - engines: {node: '>=4'} - ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} - chainsaw@0.1.0: - resolution: {integrity: sha512-75kWfWt6MEKNC8xYXIdRpDehRYY/tNSgwKaJq+dbbDcxORuVrrQ+SEHoWsniVn9XPYfP4gmdWIeDk/4YNp1rNQ==} - - chalk@1.1.3: - resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==} - engines: {node: '>=0.10.0'} - - chalk@2.4.2: - resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} - engines: {node: '>=4'} - - chalk@3.0.0: - resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==} - engines: {node: '>=8'} - - chalk@4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} - chalk@5.6.2: resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==} engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - char-regex@1.0.2: - resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} - engines: {node: '>=10'} - character-entities-html4@2.1.0: resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} @@ -3420,644 +1590,107 @@ packages: character-reference-invalid@2.0.1: resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==} - cheerio-select@2.1.0: - resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==} - - cheerio@1.0.0-rc.12: - resolution: {integrity: sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==} - engines: {node: '>= 6'} - - cheerio@1.1.2: - resolution: {integrity: sha512-IkxPpb5rS/d1IiLbHMgfPuS0FgiWTtFIm/Nj+2woXDLTZ7fOT2eqzgYbdMlLweqlHbsZjxEChoVK+7iph7jyQg==} - engines: {node: '>=20.18.1'} - - chevrotain-allstar@0.3.1: - resolution: {integrity: sha512-b7g+y9A0v4mxCW1qUhf3BSVPg+/NvGErk/dOkrDaHA0nQIQGAtrOjlX//9OQtRlSCy+x9rfB5N8yC71lH1nvMw==} - peerDependencies: - chevrotain: ^11.0.0 - - chevrotain@11.0.3: - resolution: {integrity: sha512-ci2iJH6LeIkvP9eJW6gpueU8cnZhv85ELY8w8WiFtNjMHA5ad6pQLaJo9mEly/9qUyCpvqX8/POVUTf18/HFdw==} - - chokidar@3.6.0: - resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} - engines: {node: '>= 8.10.0'} - chokidar@4.0.3: resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} engines: {node: '>= 14.16.0'} - chrome-trace-event@1.0.4: - resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} - engines: {node: '>=6.0'} - - ci-info@3.9.0: - resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + ci-info@4.3.1: + resolution: {integrity: sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA==} engines: {node: '>=8'} - class-utils@0.3.6: - resolution: {integrity: sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==} - engines: {node: '>=0.10.0'} - - classnames@2.5.1: - resolution: {integrity: sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==} - - clean-css@5.3.3: - resolution: {integrity: sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==} - engines: {node: '>= 10.0'} - - clean-stack@2.2.0: - resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} - engines: {node: '>=6'} - cli-boxes@3.0.0: resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} engines: {node: '>=10'} - cli-table3@0.6.5: - resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==} - engines: {node: 10.* || >= 12.*} - - clone-deep@4.0.1: - resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==} - engines: {node: '>=6'} - - clone-response@1.0.2: - resolution: {integrity: sha512-yjLXh88P599UOyPTFX0POsd7WxnbsVsGohcwzHOLspIhhpalPw1BcqED8NblyZLKcGrL8dTgMlcaZxV2jAD41Q==} + clone@2.1.2: + resolution: {integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==} + engines: {node: '>=0.8'} clsx@2.1.1: resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} engines: {node: '>=6'} - coa@2.0.2: - resolution: {integrity: sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==} - engines: {node: '>= 4.0'} - - coffee-script@1.12.7: - resolution: {integrity: sha512-fLeEhqwymYat/MpTPUjSKHVYYl0ec2mOyALEMLmzr5i1isuG+6jfI2j2d5oBO3VIzgUXgBVIcOT9uH1TFxBckw==} - engines: {node: '>=0.8.0'} - deprecated: CoffeeScript on NPM has moved to "coffeescript" (no hyphen) - hasBin: true - collapse-white-space@2.1.0: resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==} - collection-visit@1.0.0: - resolution: {integrity: sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==} - engines: {node: '>=0.10.0'} - - color-convert@1.9.3: - resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} - color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} - color-name@1.1.3: - resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} - color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - color-string@1.9.1: - resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} - - color@3.2.1: - resolution: {integrity: sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==} - - colord@2.9.3: - resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} - - colorette@2.0.20: - resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} - colorjs.io@0.5.2: resolution: {integrity: sha512-twmVoizEW7ylZSN32OgKdXRmo1qg+wT5/6C3xu5b9QsWzSFAhHLn2xd8ro0diCsKfCj1RdaTP/nrcW+vAoQPIw==} - combine-promises@1.2.0: - resolution: {integrity: sha512-VcQB1ziGD0NXrhKxiwyNbCDmRzs/OShMs2GqW2DlU2A/Sd0nQxE1oWDAE5O0ygSx5mgQOn9eIFh7yKPgFRVkPQ==} - engines: {node: '>=10'} - - combined-stream@1.0.8: - resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} - engines: {node: '>= 0.8'} - comma-separated-tokens@2.0.3: resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} - commander@10.0.1: - resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} - engines: {node: '>=14'} + commander@11.1.0: + resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} + engines: {node: '>=16'} commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} - commander@4.1.1: - resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} - engines: {node: '>= 6'} - - commander@5.1.0: - resolution: {integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==} - engines: {node: '>= 6'} - - commander@7.2.0: - resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} - engines: {node: '>= 10'} - - commander@8.3.0: - resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} - engines: {node: '>= 12'} - - common-path-prefix@3.0.0: - resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==} + common-ancestor-path@1.0.1: + resolution: {integrity: sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==} common-tags@1.8.2: resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==} engines: {node: '>=4.0.0'} - commondir@1.0.1: - resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - component-emitter@1.3.1: - resolution: {integrity: sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==} + cookie-es@1.2.2: + resolution: {integrity: sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg==} - compressible@2.0.18: - resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} - engines: {node: '>= 0.6'} - - compression@1.8.1: - resolution: {integrity: sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==} - engines: {node: '>= 0.8.0'} - - compute-scroll-into-view@3.1.1: - resolution: {integrity: sha512-VRhuHOLoKYOy4UbilLbUzbYg93XLjv2PncJC50EuTWPA3gaja1UjBsUP/D/9/juV3vQFr6XBEzn9KCAHdUvOHw==} - - concat-map@0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - - concat-stream@1.6.2: - resolution: {integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==} - engines: {'0': node >= 0.8} - - concat-with-sourcemaps@1.1.0: - resolution: {integrity: sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==} - - confbox@0.1.8: - resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} - - config-chain@1.1.13: - resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} - - configstore@6.0.0: - resolution: {integrity: sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==} - engines: {node: '>=12'} - - connect-history-api-fallback@2.0.0: - resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==} - engines: {node: '>=0.8'} - - consola@3.4.2: - resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==} - engines: {node: ^14.18.0 || >=16.10.0} - - console-stream@0.1.1: - resolution: {integrity: sha512-QC/8l9e6ofi6nqZ5PawlDgzmMw3OxIXtvolBzap/F4UDBJlDaZRSNbL/lb41C29FcbSJncBFlJFj2WJoNyZRfQ==} - - content-disposition@0.5.2: - resolution: {integrity: sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==} - engines: {node: '>= 0.6'} - - content-disposition@0.5.4: - resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} - engines: {node: '>= 0.6'} - - content-type@1.0.5: - resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} - engines: {node: '>= 0.6'} - - continuable-cache@0.3.1: - resolution: {integrity: sha512-TF30kpKhTH8AGCG3dut0rdd/19B7Z+qCnrMoBLpyQu/2drZdNrrpcjPEoJeSVsQM+8KmWG5O56oPDjSSUsuTyA==} - - convert-source-map@2.0.0: - resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - - cookie-signature@1.0.7: - resolution: {integrity: sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==} - - cookie@0.7.2: - resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} - engines: {node: '>= 0.6'} - - copy-descriptor@0.1.1: - resolution: {integrity: sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==} - engines: {node: '>=0.10.0'} - - copy-webpack-plugin@11.0.0: - resolution: {integrity: sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==} - engines: {node: '>= 14.15.0'} - peerDependencies: - webpack: ^5.1.0 + cookie@1.1.1: + resolution: {integrity: sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==} + engines: {node: '>=18'} core-js-compat@3.47.0: resolution: {integrity: sha512-IGfuznZ/n7Kp9+nypamBhvwdwLsW6KC8IOaURw2doAK5e98AG3acVLdh0woOnEqCfUtS+Vu882JE4k/DAm3ItQ==} - core-js-pure@3.47.0: - resolution: {integrity: sha512-BcxeDbzUrRnXGYIVAGFtcGQVNpFcUhVjr6W7F8XktvQW2iJP9e66GP6xdKotCRFlrxBvNIBrhwKteRXqMV86Nw==} - - core-js@2.6.12: - resolution: {integrity: sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==} - deprecated: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js. - - core-js@3.47.0: - resolution: {integrity: sha512-c3Q2VVkGAUyupsjRnaNX6u8Dq2vAdzm9iuPj5FW0fRxzlxgq9Q39MDq10IvmQSpLgHQNyQzQmOo6bgGHmH3NNg==} - - core-util-is@1.0.2: - resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} - - core-util-is@1.0.3: - resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} - - cose-base@1.0.3: - resolution: {integrity: sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==} - - cose-base@2.2.0: - resolution: {integrity: sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g==} - - cosmiconfig@5.2.1: - resolution: {integrity: sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==} - engines: {node: '>=4'} - - cosmiconfig@8.3.6: - resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} - engines: {node: '>=14'} - peerDependencies: - typescript: '>=4.9.5' - peerDependenciesMeta: - typescript: - optional: true - - cross-spawn@5.1.0: - resolution: {integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==} - - cross-spawn@6.0.6: - resolution: {integrity: sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw==} - engines: {node: '>=4.8'} - - cross-spawn@7.0.3: - resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} - engines: {node: '>= 8'} - cross-spawn@7.0.6: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} - crowdin-cli@0.3.0: - resolution: {integrity: sha512-s1vSRqWalCqd+vW7nF4oZo1a2pMpEgwIiwVlPRD0HmGY3HjJwQKXqZ26NpX5qCDVN8UdEsScy+2jle0PPQBmAg==} - hasBin: true + crossws@0.3.5: + resolution: {integrity: sha512-ojKiDvcmByhwa8YYqbQI/hg7MEU0NC03+pSdEq4ZUnZR9xXpwk7E43SMNGkn+JxJGPFtNvQ48+vV2p+P1ml5PA==} crypto-random-string@2.0.0: resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==} engines: {node: '>=8'} - crypto-random-string@4.0.0: - resolution: {integrity: sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==} - engines: {node: '>=12'} - - css-blank-pseudo@7.0.1: - resolution: {integrity: sha512-jf+twWGDf6LDoXDUode+nc7ZlrqfaNphrBIBrcmeP3D8yw1uPaix1gCC8LUQUGQ6CycuK2opkbFFWFuq/a94ag==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - css-color-names@0.0.4: - resolution: {integrity: sha512-zj5D7X1U2h2zsXOAM8EyUREBnnts6H+Jm+d1M2DbiQQcUtnqgQsMrdo8JW9R80YFUmIdBZeMu5wvYM7hcgWP/Q==} - - css-declaration-sorter@4.0.1: - resolution: {integrity: sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==} - engines: {node: '>4'} - - css-declaration-sorter@7.3.0: - resolution: {integrity: sha512-LQF6N/3vkAMYF4xoHLJfG718HRJh34Z8BnNhd6bosOMIVjMlhuZK5++oZa3uYAgrI5+7x2o27gUqTR2U/KjUOQ==} - engines: {node: ^14 || ^16 || >=18} - peerDependencies: - postcss: ^8.0.9 - - css-has-pseudo@7.0.3: - resolution: {integrity: sha512-oG+vKuGyqe/xvEMoxAQrhi7uY16deJR3i7wwhBerVrGQKSqUC5GiOVxTpM9F9B9hw0J+eKeOWLH7E9gZ1Dr5rA==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - css-loader@6.11.0: - resolution: {integrity: sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==} - engines: {node: '>= 12.13.0'} - peerDependencies: - '@rspack/core': 0.x || 1.x - webpack: ^5.0.0 - peerDependenciesMeta: - '@rspack/core': - optional: true - webpack: - optional: true - - css-minimizer-webpack-plugin@5.0.1: - resolution: {integrity: sha512-3caImjKFQkS+ws1TGcFn0V1HyDJFq1Euy589JlD6/3rV2kj+w7r5G9WDMgSHvpvXHNZ2calVypZWuEDQd9wfLg==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@parcel/css': '*' - '@swc/css': '*' - clean-css: '*' - csso: '*' - esbuild: '*' - lightningcss: '*' - webpack: ^5.0.0 - peerDependenciesMeta: - '@parcel/css': - optional: true - '@swc/css': - optional: true - clean-css: - optional: true - csso: - optional: true - esbuild: - optional: true - lightningcss: - optional: true - - css-prefers-color-scheme@10.0.0: - resolution: {integrity: sha512-VCtXZAWivRglTZditUfB4StnsWr6YVZ2PRtuxQLKTNRdtAf8tpzaVPE9zXIF3VaSc7O70iK/j1+NXxyQCqdPjQ==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - css-select-base-adapter@0.1.1: - resolution: {integrity: sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==} - - css-select@2.1.0: - resolution: {integrity: sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==} - - css-select@4.3.0: - resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} - css-select@5.2.2: resolution: {integrity: sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==} - css-tree@1.0.0-alpha.37: - resolution: {integrity: sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==} - engines: {node: '>=8.0.0'} - - css-tree@1.1.3: - resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==} - engines: {node: '>=8.0.0'} + css-selector-parser@3.3.0: + resolution: {integrity: sha512-Y2asgMGFqJKF4fq4xHDSlFYIkeVfRsm69lQC1q9kbEsH5XtnINTMrweLkjYMeaUgiXBy/uvKeO/a1JHTNnmB2g==} css-tree@2.2.1: resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==} engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} - css-tree@2.3.1: - resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} + css-tree@3.1.0: + resolution: {integrity: sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==} engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} - css-what@3.4.2: - resolution: {integrity: sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==} - engines: {node: '>= 6'} - css-what@6.2.2: resolution: {integrity: sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==} engines: {node: '>= 6'} - cssdb@8.5.2: - resolution: {integrity: sha512-Pmoj9RmD8RIoIzA2EQWO4D4RMeDts0tgAH0VXdlNdxjuBGI3a9wMOIcUwaPNmD4r2qtIa06gqkIf7sECl+cBCg==} - cssesc@3.0.0: resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} engines: {node: '>=4'} hasBin: true - cssnano-preset-advanced@6.1.2: - resolution: {integrity: sha512-Nhao7eD8ph2DoHolEzQs5CfRpiEP0xa1HBdnFZ82kvqdmbwVBUr2r1QuQ4t1pi+D1ZpqpcO4T+wy/7RxzJ/WPQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - cssnano-preset-default@4.0.8: - resolution: {integrity: sha512-LdAyHuq+VRyeVREFmuxUZR1TXjQm8QQU/ktoo/x7bz+SdOge1YKc5eMN6pRW7YWBmyq59CqYba1dJ5cUukEjLQ==} - engines: {node: '>=6.9.0'} - - cssnano-preset-default@6.1.2: - resolution: {integrity: sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - cssnano-util-get-arguments@4.0.0: - resolution: {integrity: sha512-6RIcwmV3/cBMG8Aj5gucQRsJb4vv4I4rn6YjPbVWd5+Pn/fuG+YseGvXGk00XLkoZkaj31QOD7vMUpNPC4FIuw==} - engines: {node: '>=6.9.0'} - - cssnano-util-get-match@4.0.0: - resolution: {integrity: sha512-JPMZ1TSMRUPVIqEalIBNoBtAYbi8okvcFns4O0YIhcdGebeYZK7dMyHJiQ6GqNBA9kE0Hym4Aqym5rPdsV/4Cw==} - engines: {node: '>=6.9.0'} - - cssnano-util-raw-cache@4.0.1: - resolution: {integrity: sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==} - engines: {node: '>=6.9.0'} - - cssnano-util-same-parent@4.0.1: - resolution: {integrity: sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==} - engines: {node: '>=6.9.0'} - - cssnano-utils@4.0.2: - resolution: {integrity: sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - cssnano@4.1.11: - resolution: {integrity: sha512-6gZm2htn7xIPJOHY824ERgj8cNPgPxyCSnkXc4v7YvNW+TdVfzgngHcEhy/8D11kUWRUMbke+tC+AUcUsnMz2g==} - engines: {node: '>=6.9.0'} - - cssnano@6.1.2: - resolution: {integrity: sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - csso@4.2.0: - resolution: {integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==} - engines: {node: '>=8.0.0'} - csso@5.0.5: resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==} engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} - csstype@3.2.3: - resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} - - currently-unhandled@0.4.1: - resolution: {integrity: sha512-/fITjgjGU50vjQ4FH6eUoYu+iUoUKIXws2hL15JJpIR+BbTxaXQsMuuyjtNh2WqsSBS5nsaZHFsFecyw5CCAng==} - engines: {node: '>=0.10.0'} - - cytoscape-cose-bilkent@4.1.0: - resolution: {integrity: sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==} - peerDependencies: - cytoscape: ^3.2.0 - - cytoscape-fcose@2.2.0: - resolution: {integrity: sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ==} - peerDependencies: - cytoscape: ^3.2.0 - - cytoscape@3.33.1: - resolution: {integrity: sha512-iJc4TwyANnOGR1OmWhsS9ayRS3s+XQ185FmuHObThD+5AeJCakAAbWv8KimMTt08xCCLNgneQwFp+JRJOr9qGQ==} - engines: {node: '>=0.10'} - - d3-array@2.12.1: - resolution: {integrity: sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==} - - d3-array@3.2.4: - resolution: {integrity: sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==} - engines: {node: '>=12'} - - d3-axis@3.0.0: - resolution: {integrity: sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==} - engines: {node: '>=12'} - - d3-brush@3.0.0: - resolution: {integrity: sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==} - engines: {node: '>=12'} - - d3-chord@3.0.1: - resolution: {integrity: sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==} - engines: {node: '>=12'} - - d3-color@3.1.0: - resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==} - engines: {node: '>=12'} - - d3-contour@4.0.2: - resolution: {integrity: sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==} - engines: {node: '>=12'} - - d3-delaunay@6.0.4: - resolution: {integrity: sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==} - engines: {node: '>=12'} - - d3-dispatch@3.0.1: - resolution: {integrity: sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==} - engines: {node: '>=12'} - - d3-drag@3.0.0: - resolution: {integrity: sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==} - engines: {node: '>=12'} - - d3-dsv@3.0.1: - resolution: {integrity: sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==} - engines: {node: '>=12'} - hasBin: true - - d3-ease@3.0.1: - resolution: {integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==} - engines: {node: '>=12'} - - d3-fetch@3.0.1: - resolution: {integrity: sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==} - engines: {node: '>=12'} - - d3-force@3.0.0: - resolution: {integrity: sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==} - engines: {node: '>=12'} - - d3-format@3.1.0: - resolution: {integrity: sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==} - engines: {node: '>=12'} - - d3-geo@3.1.1: - resolution: {integrity: sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==} - engines: {node: '>=12'} - - d3-hierarchy@3.1.2: - resolution: {integrity: sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==} - engines: {node: '>=12'} - - d3-interpolate@3.0.1: - resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==} - engines: {node: '>=12'} - - d3-path@1.0.9: - resolution: {integrity: sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==} - - d3-path@3.1.0: - resolution: {integrity: sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==} - engines: {node: '>=12'} - - d3-polygon@3.0.1: - resolution: {integrity: sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==} - engines: {node: '>=12'} - - d3-quadtree@3.0.1: - resolution: {integrity: sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==} - engines: {node: '>=12'} - - d3-random@3.0.1: - resolution: {integrity: sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==} - engines: {node: '>=12'} - - d3-sankey@0.12.3: - resolution: {integrity: sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==} - - d3-scale-chromatic@3.1.0: - resolution: {integrity: sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==} - engines: {node: '>=12'} - - d3-scale@4.0.2: - resolution: {integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==} - engines: {node: '>=12'} - - d3-selection@3.0.0: - resolution: {integrity: sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==} - engines: {node: '>=12'} - - d3-shape@1.3.7: - resolution: {integrity: sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==} - - d3-shape@3.2.0: - resolution: {integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==} - engines: {node: '>=12'} - - d3-time-format@4.1.0: - resolution: {integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==} - engines: {node: '>=12'} - - d3-time@3.1.0: - resolution: {integrity: sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==} - engines: {node: '>=12'} - - d3-timer@3.0.1: - resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==} - engines: {node: '>=12'} - - d3-transition@3.0.1: - resolution: {integrity: sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==} - engines: {node: '>=12'} - peerDependencies: - d3-selection: 2 - 3 - - d3-zoom@3.0.0: - resolution: {integrity: sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==} - engines: {node: '>=12'} - - d3@7.9.0: - resolution: {integrity: sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==} - engines: {node: '>=12'} - - dagre-d3-es@7.0.13: - resolution: {integrity: sha512-efEhnxpSuwpYOKRm/L5KbqoZmNNukHa/Flty4Wp62JRvgH2ojwVgPgdYyr4twpieZnyRDdIH7PY2mopX26+j2Q==} - - dashdash@1.14.1: - resolution: {integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==} - engines: {node: '>=0.10'} - data-view-buffer@1.0.2: resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==} engines: {node: '>= 0.4'} @@ -4070,37 +1703,6 @@ packages: resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==} engines: {node: '>= 0.4'} - dayjs@1.11.19: - resolution: {integrity: sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw==} - - debounce@1.2.1: - resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==} - - debug@2.6.9: - resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - - debug@3.2.7: - resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - - debug@4.3.1: - resolution: {integrity: sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - debug@4.4.3: resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} engines: {node: '>=6.0'} @@ -4110,118 +1712,30 @@ packages: supports-color: optional: true - decamelize@1.2.0: - resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} - engines: {node: '>=0.10.0'} - decode-named-character-reference@1.2.0: resolution: {integrity: sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q==} - decode-uri-component@0.2.2: - resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} - engines: {node: '>=0.10'} - - decompress-response@3.3.0: - resolution: {integrity: sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==} - engines: {node: '>=4'} - - decompress-response@6.0.0: - resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} - engines: {node: '>=10'} - - decompress-tar@4.1.1: - resolution: {integrity: sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==} - engines: {node: '>=4'} - - decompress-tarbz2@4.1.1: - resolution: {integrity: sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==} - engines: {node: '>=4'} - - decompress-targz@4.1.1: - resolution: {integrity: sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==} - engines: {node: '>=4'} - - decompress-unzip@4.0.1: - resolution: {integrity: sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==} - engines: {node: '>=4'} - - decompress@4.2.1: - resolution: {integrity: sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==} - engines: {node: '>=4'} - - deep-extend@0.6.0: - resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} - engines: {node: '>=4.0.0'} - - deep-is@0.1.4: - resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} - deepmerge@4.3.1: resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} engines: {node: '>=0.10.0'} - default-browser-id@5.0.1: - resolution: {integrity: sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==} - engines: {node: '>=18'} - - default-browser@5.4.0: - resolution: {integrity: sha512-XDuvSq38Hr1MdN47EDvYtx3U0MTqpCEn+F6ft8z2vYDzMrvQhVp0ui9oQdqW3MvK3vqUETglt1tVGgjLuJ5izg==} - engines: {node: '>=18'} - - defer-to-connect@2.0.1: - resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} - engines: {node: '>=10'} - define-data-property@1.1.4: resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} engines: {node: '>= 0.4'} - define-lazy-prop@2.0.0: - resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} - engines: {node: '>=8'} - - define-lazy-prop@3.0.0: - resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} - engines: {node: '>=12'} - define-properties@1.2.1: resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} engines: {node: '>= 0.4'} - define-property@0.2.5: - resolution: {integrity: sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==} - engines: {node: '>=0.10.0'} - - define-property@1.0.0: - resolution: {integrity: sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==} - engines: {node: '>=0.10.0'} - - define-property@2.0.2: - resolution: {integrity: sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==} - engines: {node: '>=0.10.0'} - - delaunator@5.0.1: - resolution: {integrity: sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==} - - delayed-stream@1.0.0: - resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} - engines: {node: '>=0.4.0'} - - depd@1.1.2: - resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} - engines: {node: '>= 0.6'} - - depd@2.0.0: - resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} - engines: {node: '>= 0.8'} + defu@6.1.4: + resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} dequal@2.0.3: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} - destroy@1.2.0: - resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + destr@2.0.5: + resolution: {integrity: sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==} detect-libc@1.0.3: resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==} @@ -4232,135 +1746,54 @@ packages: resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} engines: {node: '>=8'} - detect-node@2.1.0: - resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} - - detect-port-alt@1.1.6: - resolution: {integrity: sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==} - engines: {node: '>= 4.2.1'} - hasBin: true + deterministic-object-hash@2.0.2: + resolution: {integrity: sha512-KxektNH63SrbfUyDiwXqRb1rLwKt33AmMv+5Nhsw1kqZ13SJBRTgZHtGbE+hH3a1mVW1cz+4pqSWVPAtLVXTzQ==} + engines: {node: '>=18'} - detect-port@1.6.1: - resolution: {integrity: sha512-CmnVc+Hek2egPx1PeTFVta2W78xy2K/9Rkf6cC4T59S50tVnzKj+tnx5mmx5lwvCkujZ4uRrpRSuV+IVs3f90Q==} - engines: {node: '>= 4.0.0'} - hasBin: true + devalue@5.6.1: + resolution: {integrity: sha512-jDwizj+IlEZBunHcOuuFVBnIMPAEHvTsJj0BcIp94xYguLRVBcXO853px/MyIJvbVzWdsGvrRweIUWJw8hBP7A==} devlop@1.1.0: resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} - diacritics-map@0.1.0: - resolution: {integrity: sha512-3omnDTYrGigU0i4cJjvaKwD52B8aoqyX/NEIkukFFkogBemsIbhSa1O414fpTp5nuszJG6lvQ5vBvDVNCbSsaQ==} - engines: {node: '>=0.8.0'} + dfa@1.2.0: + resolution: {integrity: sha512-ED3jP8saaweFTjeGX8HQPjeC1YYyZs98jGNZx6IiBvxW7JG5v492kamAQB3m2wop07CvU/RQmzcKr6bgcC5D/Q==} - dir-glob@2.0.0: - resolution: {integrity: sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==} - engines: {node: '>=4'} + diff@5.2.0: + resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} + engines: {node: '>=0.3.1'} - dir-glob@3.0.1: - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} - engines: {node: '>=8'} + direction@2.0.1: + resolution: {integrity: sha512-9S6m9Sukh1cZNknO1CWAr2QAWsbKLafQiyM5gZ7VgXHeuaoUwffKN4q6NC4A/Mf9iiPlOXQEKW/Mv/mh9/3YFA==} + hasBin: true - discontinuous-range@1.0.0: - resolution: {integrity: sha512-c68LpLbO+7kP/b1Hr1qs8/BJ09F5khZGTxqxZuhzxpmwJKOgRFHJWIb9/KmqnqHhLdO55aOxFH/EGBvUQbL/RQ==} - - dns-packet@5.6.1: - resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==} - engines: {node: '>=6'} - - docusaurus-plugin-image-zoom@3.0.1: - resolution: {integrity: sha512-mQrqA99VpoMQJNbi02qkWAMVNC4+kwc6zLLMNzraHAJlwn+HrlUmZSEDcTwgn+H4herYNxHKxveE2WsYy73eGw==} - peerDependencies: - '@docusaurus/theme-classic': '>=3.0.0' - - docusaurus-plugin-sass@0.2.6: - resolution: {integrity: sha512-2hKQQDkrufMong9upKoG/kSHJhuwd+FA3iAe/qzS/BmWpbIpe7XKmq5wlz4J5CJaOPu4x+iDJbgAxZqcoQf0kg==} - peerDependencies: - '@docusaurus/core': ^2.0.0-beta || ^3.0.0-alpha - sass: ^1.30.0 - - docusaurus@1.14.7: - resolution: {integrity: sha512-UWqar4ZX0lEcpLc5Tg+MwZ2jhF/1n1toCQRSeoxDON/D+E9ToLr+vTRFVMP/Tk84NXSVjZFRlrjWwM2pXzvLsQ==} - hasBin: true - - dom-converter@0.2.0: - resolution: {integrity: sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==} - - dom-serializer@0.2.2: - resolution: {integrity: sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==} - - dom-serializer@1.4.1: - resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} + dlv@1.1.3: + resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} dom-serializer@2.0.0: resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} - domelementtype@1.3.1: - resolution: {integrity: sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==} - domelementtype@2.3.0: resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} - domhandler@4.3.1: - resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} - engines: {node: '>= 4'} - domhandler@5.0.3: resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} engines: {node: '>= 4'} - dompurify@3.3.1: - resolution: {integrity: sha512-qkdCKzLNtrgPFP1Vo+98FRzJnBRGe4ffyCea9IwHB1fyxPOeNTHpLKYGd4Uk9xvNoH0ZoOjwZxNptyMwqrId1Q==} - - domutils@1.7.0: - resolution: {integrity: sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==} - - domutils@2.8.0: - resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} - domutils@3.2.2: resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==} - dot-case@3.0.4: - resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} - - dot-prop@5.3.0: - resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} - engines: {node: '>=8'} - - dot-prop@6.0.1: - resolution: {integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==} - engines: {node: '>=10'} - - download@6.2.5: - resolution: {integrity: sha512-DpO9K1sXAST8Cpzb7kmEhogJxymyVUd5qz/vCOSyvwtp2Klj2XcDt5YUuasgxka44SxF0q5RriKIwJmQHG2AuA==} + dset@3.1.4: + resolution: {integrity: sha512-2QF/g9/zTaPDc3BjNcVTGoBbXBgYfMTTceLaYcFJ/W9kggFUkhxD/hMEeuLKbugyef9SqAx8cpgwlIP/jinUTA==} engines: {node: '>=4'} - download@7.1.0: - resolution: {integrity: sha512-xqnBTVd/E+GxJVrX5/eUJiLYjCGPwMpdL+jGhGU57BvtcA7wwhtHVbXBeUk51kOpW3S7Jn3BQbN9Q1R1Km2qDQ==} - engines: {node: '>=6'} - dunder-proto@1.0.1: resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} engines: {node: '>= 0.4'} - duplexer2@0.1.4: - resolution: {integrity: sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==} - - duplexer3@0.1.5: - resolution: {integrity: sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==} - - duplexer@0.1.2: - resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} - eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - ecc-jsbn@0.1.2: - resolution: {integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==} - - ee-first@1.1.1: - resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - ejs@3.1.10: resolution: {integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==} engines: {node: '>=0.10.0'} @@ -4369,43 +1802,19 @@ packages: electron-to-chromium@1.5.267: resolution: {integrity: sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==} + emoji-regex@10.6.0: + resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==} + emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - emojilib@2.4.0: - resolution: {integrity: sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==} - - emojis-list@3.0.0: - resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} - engines: {node: '>= 4'} - - emoticon@4.1.0: - resolution: {integrity: sha512-VWZfnxqwNcc51hIy/sbOdEem6D+cVtpPzEEtVAFdaas30+1dgkyaOQ4sQ6Bp0tOMqWO1v+HQfYaoodOkdhK6SQ==} - - encodeurl@1.0.2: - resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} - engines: {node: '>= 0.8'} - - encodeurl@2.0.0: - resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} - engines: {node: '>= 0.8'} - - encoding-sniffer@0.2.1: - resolution: {integrity: sha512-5gvq20T6vfpekVtqrYQsSCFZ1wEg5+wW0/QaZMWkFr6BqD3NfKs0rLCx4rrVlSWJeZb5NBJgVLswK/w2MWU+Gw==} - - end-of-stream@1.4.5: - resolution: {integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==} - enhanced-resolve@5.18.4: resolution: {integrity: sha512-LgQMM4WXU3QI+SYgEc2liRgznaD5ojbmY3sb8LxyguVkIg5FxdpTkvk72te2R38/TGKxH634oLxXRGY6d7AP+Q==} engines: {node: '>=10.13.0'} - entities@2.2.0: - resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} - entities@4.5.0: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} @@ -4414,37 +1823,10 @@ packages: resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==} engines: {node: '>=0.12'} - enzyme-adapter-react-16@1.15.8: - resolution: {integrity: sha512-uYGC31eGZBp5nGsr4nKhZKvxGQjyHGjS06BJsUlWgE29/hvnpgCsT1BJvnnyny7N3GIIVyxZ4O9GChr6hy2WQA==} - peerDependencies: - enzyme: ^3.0.0 - react: ^16.0.0-0 - react-dom: ^16.0.0-0 - - enzyme-adapter-utils@1.14.2: - resolution: {integrity: sha512-1ZC++RlsYRaiOWE5NRaF5OgsMt7F5rn/VuaJIgc7eW/fmgg8eS1/Ut7EugSPPi7VMdWMLcymRnMF+mJUJ4B8KA==} - peerDependencies: - react: 0.13.x || 0.14.x || ^15.0.0-0 || ^16.0.0-0 - - enzyme-shallow-equal@1.0.7: - resolution: {integrity: sha512-/um0GFqUXnpM9SvKtje+9Tjoz3f1fpBC3eXRFrNs8kpYn69JljciYP7KZTqM/YQbUY9KUjvKB4jo/q+L6WGGvg==} - - enzyme@3.11.0: - resolution: {integrity: sha512-Dw8/Gs4vRjxY6/6i9wU0V+utmQO9kvh9XLnz3LIudviOnVYDEe2ec+0k+NQoMamn1VrjKgCUOWj5jG/5M5M0Qw==} - - error-ex@1.3.4: - resolution: {integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==} - - error@7.2.1: - resolution: {integrity: sha512-fo9HBvWnx3NGUKMvMwB/CBCMMrfEJgbDTVDEkPygA3Bdd3lM1OyCd+rbQ8BwnpF6GdVeOLDNmyL4N5Bg80ZvdA==} - es-abstract@1.24.1: resolution: {integrity: sha512-zHXBLhP+QehSSbsS9Pt23Gg964240DPd6QCf8WpkqEXxQ7fhdZzYsocOr5u7apWonsS5EjZDmTF+/slGMyasvw==} engines: {node: '>= 0.4'} - es-array-method-boxes-properly@1.0.0: - resolution: {integrity: sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==} - es-define-property@1.0.1: resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} engines: {node: '>= 0.4'} @@ -4464,10 +1846,6 @@ packages: resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} engines: {node: '>= 0.4'} - es-shim-unscopables@1.1.0: - resolution: {integrity: sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==} - engines: {node: '>= 0.4'} - es-to-primitive@1.3.0: resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==} engines: {node: '>= 0.4'} @@ -4478,54 +1856,19 @@ packages: esast-util-from-js@2.0.1: resolution: {integrity: sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==} + esbuild@0.25.12: + resolution: {integrity: sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==} + engines: {node: '>=18'} + hasBin: true + escalade@3.2.0: resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} - escape-goat@4.0.0: - resolution: {integrity: sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==} - engines: {node: '>=12'} - - escape-html@1.0.3: - resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} - - escape-string-regexp@1.0.5: - resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} - engines: {node: '>=0.8.0'} - - escape-string-regexp@2.0.0: - resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} - engines: {node: '>=8'} - - escape-string-regexp@4.0.0: - resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} - engines: {node: '>=10'} - escape-string-regexp@5.0.0: resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} engines: {node: '>=12'} - eslint-scope@5.1.1: - resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} - engines: {node: '>=8.0.0'} - - esprima@4.0.1: - resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} - engines: {node: '>=4'} - hasBin: true - - esrecurse@4.3.0: - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} - engines: {node: '>=4.0'} - - estraverse@4.3.0: - resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} - engines: {node: '>=4.0'} - - estraverse@5.3.0: - resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} - engines: {node: '>=4.0'} - estree-util-attach-comments@3.0.0: resolution: {integrity: sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==} @@ -4541,9 +1884,6 @@ packages: estree-util-to-js@2.0.0: resolution: {integrity: sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==} - estree-util-value-to-estree@3.5.0: - resolution: {integrity: sha512-aMV56R27Gv3QmfmF1MY12GWkGzzeAezAX+UplqHVASfjc9wNzI/X6hC0S9oxq61WT4aQesLGslWP9tKk6ghRZQ==} - estree-util-visit@2.0.0: resolution: {integrity: sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==} @@ -4560,327 +1900,67 @@ packages: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} - eta@2.2.0: - resolution: {integrity: sha512-UVQ72Rqjy/ZKQalzV5dCCJP80GrmPrMxh6NlNf+erV6ObL0ZFkhCstWRawS85z3smdr3d2wXPsZEY7rDPfGd2g==} - engines: {node: '>=6.0.0'} - - etag@1.8.1: - resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} - engines: {node: '>= 0.6'} - - eval@0.1.8: - resolution: {integrity: sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==} - engines: {node: '>= 0.8'} - - eventemitter3@4.0.7: - resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} - - events@3.3.0: - resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} - engines: {node: '>=0.8.x'} - - eventsource-parser@3.0.6: - resolution: {integrity: sha512-Vo1ab+QXPzZ4tCa8SwIHJFaSzy4R6SHf7BY79rFBDf0idraZWAkYrDjDj8uWaSm3S2TK+hJ7/t1CEmZ7jXw+pg==} - engines: {node: '>=18.0.0'} - - exec-buffer@3.2.0: - resolution: {integrity: sha512-wsiD+2Tp6BWHoVv3B+5Dcx6E7u5zky+hUwOHjuH2hKSLR3dvRmX8fk8UD8uqQixHs4Wk6eDmiegVrMPjKj7wpA==} - engines: {node: '>=4'} - - execa@0.7.0: - resolution: {integrity: sha512-RztN09XglpYI7aBBrJCPW95jEH7YF1UEPOoX9yDhUTPdp7mK+CQvnLTuD10BNXZ3byLTu2uehZ8EcKT/4CGiFw==} - engines: {node: '>=4'} - - execa@1.0.0: - resolution: {integrity: sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==} - engines: {node: '>=6'} - - execa@5.1.1: - resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} - engines: {node: '>=10'} - - executable@4.1.1: - resolution: {integrity: sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==} - engines: {node: '>=4'} - - expand-brackets@2.1.4: - resolution: {integrity: sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==} - engines: {node: '>=0.10.0'} - - expand-range@1.8.2: - resolution: {integrity: sha512-AFASGfIlnIbkKPQwX1yHaDjFvh/1gyKJODme52V6IORh69uEYgZp0o9C+qsIGNVEiuuhQU0CSSl++Rlegg1qvA==} - engines: {node: '>=0.10.0'} - - express@4.22.1: - resolution: {integrity: sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==} - engines: {node: '>= 0.10.0'} - - ext-list@2.2.2: - resolution: {integrity: sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==} - engines: {node: '>=0.10.0'} - - ext-name@5.0.0: - resolution: {integrity: sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==} - engines: {node: '>=4'} - - extend-shallow@2.0.1: - resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} - engines: {node: '>=0.10.0'} + eventemitter3@5.0.1: + resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} - extend-shallow@3.0.2: - resolution: {integrity: sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==} - engines: {node: '>=0.10.0'} + expressive-code@0.41.4: + resolution: {integrity: sha512-A9aFLhgqLkL6VSfqYkPqkJVMtA90/bhCLmUO7L3/a1xWISNMcHoCS6d6i8ePwi8HvHr3xRLswHTNt6NheTjdXA==} extend@3.0.2: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} - extglob@2.0.4: - resolution: {integrity: sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==} - engines: {node: '>=0.10.0'} - - extsprintf@1.3.0: - resolution: {integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==} - engines: {'0': node >=0.6.0} - fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - fast-folder-size@1.6.1: - resolution: {integrity: sha512-F3tRpfkAzb7TT2JNKaJUglyuRjRa+jelQD94s9OSqkfEeytLmupCqQiD+H2KoIXGtp4pB5m4zNmv5m2Ktcr+LA==} - hasBin: true - - fast-glob@2.2.7: - resolution: {integrity: sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==} - engines: {node: '>=4.0.0'} - - fast-glob@3.3.3: - resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} - engines: {node: '>=8.6.0'} - fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} fast-uri@3.1.0: resolution: {integrity: sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==} - fast-xml-parser@4.5.3: - resolution: {integrity: sha512-RKihhV+SHsIUGXObeVy9AXiBbFwkVk7Syp8XgwN5U3JV416+Gwp/GO9i0JYKmikykgz/UHRrrV4ROuZEo/T0ig==} - hasBin: true - - fastq@1.19.1: - resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} - - fault@2.0.1: - resolution: {integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==} - - faye-websocket@0.10.0: - resolution: {integrity: sha512-Xhj93RXbMSq8urNCUq4p9l0P6hnySJ/7YNRhYNug0bLOuii7pKO7xQFb5mx9xZXWCar88pLPb805PvUkwrLZpQ==} - engines: {node: '>=0.4.0'} - - faye-websocket@0.11.4: - resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==} - engines: {node: '>=0.8.0'} - - fd-slicer@1.1.0: - resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} - - feed@4.2.2: - resolution: {integrity: sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==} - engines: {node: '>=0.4.0'} - - figures@1.7.0: - resolution: {integrity: sha512-UxKlfCRuCBxSXU4C6t9scbDyWZ4VlaFFdojKtzJuSkuOBQ5CNFum+zZXFwHjo+CxBC1t6zlYPgHIgFjL8ggoEQ==} - engines: {node: '>=0.10.0'} - - figures@3.2.0: - resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} - engines: {node: '>=8'} - - file-loader@6.2.0: - resolution: {integrity: sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==} - engines: {node: '>= 10.13.0'} + fdir@6.5.0: + resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} + engines: {node: '>=12.0.0'} peerDependencies: - webpack: ^4.0.0 || ^5.0.0 - - file-type@10.11.0: - resolution: {integrity: sha512-uzk64HRpUZyTGZtVuvrjP0FYxzQrBf4rojot6J65YMEbwBLB0CWm0CLojVpwpmFmxcE/lkvYICgfcGozbBq6rw==} - engines: {node: '>=6'} - - file-type@3.9.0: - resolution: {integrity: sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==} - engines: {node: '>=0.10.0'} - - file-type@4.4.0: - resolution: {integrity: sha512-f2UbFQEk7LXgWpi5ntcO86OeA/cC80fuDDDaX/fZ2ZGel+AF7leRQqBBW1eJNiiQkrZlAoM6P+VYP5P6bOlDEQ==} - engines: {node: '>=4'} - - file-type@5.2.0: - resolution: {integrity: sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==} - engines: {node: '>=4'} - - file-type@6.2.0: - resolution: {integrity: sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==} - engines: {node: '>=4'} - - file-type@8.1.0: - resolution: {integrity: sha512-qyQ0pzAy78gVoJsmYeNgl8uH8yKhr1lVhW7JbzJmnlRi0I4R2eEDEJZVKG8agpDnLpacwNbDhLNG/LMdxHD2YQ==} - engines: {node: '>=6'} + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true filelist@1.0.4: resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} - filename-reserved-regex@2.0.0: - resolution: {integrity: sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==} - engines: {node: '>=4'} - - filenamify@2.1.0: - resolution: {integrity: sha512-ICw7NTT6RsDp2rnYKVd8Fu4cr6ITzGy3+u4vUujPkabyaz+03F24NWEX7fs5fp+kBonlaqPH8fAO2NM+SXt/JA==} - engines: {node: '>=4'} - - filesize@6.1.0: - resolution: {integrity: sha512-LpCHtPQ3sFx67z+uh2HnSyWSLLu5Jxo21795uRDuar/EOuYWXib5EmPaGIBuSnRqH2IODiKA2k5re/K9OnN/Yg==} - engines: {node: '>= 0.4.0'} - - fill-range@2.2.4: - resolution: {integrity: sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==} - engines: {node: '>=0.10.0'} - - fill-range@4.0.0: - resolution: {integrity: sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==} - engines: {node: '>=0.10.0'} - fill-range@7.1.1: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} - finalhandler@1.3.2: - resolution: {integrity: sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==} - engines: {node: '>= 0.8'} - - find-cache-dir@2.1.0: - resolution: {integrity: sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==} - engines: {node: '>=6'} - - find-cache-dir@4.0.0: - resolution: {integrity: sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==} - engines: {node: '>=14.16'} - - find-up@1.1.2: - resolution: {integrity: sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==} - engines: {node: '>=0.10.0'} - - find-up@3.0.0: - resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==} - engines: {node: '>=6'} - - find-up@4.1.0: - resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + flattie@1.1.1: + resolution: {integrity: sha512-9UbaD6XdAL97+k/n+N7JwX46K/M6Zc6KcFYskrYL8wbBV/Uyk0CTAMY0VT+qiK5PM7AIc9aTWYtq65U7T+aCNQ==} engines: {node: '>=8'} - find-up@6.3.0: - resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - find-versions@3.2.0: - resolution: {integrity: sha512-P8WRou2S+oe222TOCHitLy8zj+SIsVJh52VP4lvXkaFVnOFFdoWv1H1Jjvel1aI6NCFOAaeAVm8qrI0odiLcww==} - engines: {node: '>=6'} - - flat@5.0.2: - resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} - hasBin: true + fontace@0.3.1: + resolution: {integrity: sha512-9f5g4feWT1jWT8+SbL85aLIRLIXUaDygaM2xPXRmzPYxrOMNok79Lr3FGJoKVNKibE0WCunNiEVG2mwuE+2qEg==} - follow-redirects@1.15.11: - resolution: {integrity: sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==} - engines: {node: '>=4.0'} - peerDependencies: - debug: '*' - peerDependenciesMeta: - debug: - optional: true + fontkit@2.0.4: + resolution: {integrity: sha512-syetQadaUEDNdxdugga9CpEYVaQIxOwk7GlwZWWZ19//qW4zE5bknOKeMBDYAASwnpaSHKJITRLMF9m1fp3s6g==} for-each@0.3.5: resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} engines: {node: '>= 0.4'} - for-in@1.0.2: - resolution: {integrity: sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==} - engines: {node: '>=0.10.0'} - foreground-child@3.3.1: resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} engines: {node: '>=14'} - forever-agent@0.6.1: - resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==} - - fork-ts-checker-webpack-plugin@4.1.6: - resolution: {integrity: sha512-DUxuQaKoqfNne8iikd14SAkh5uw4+8vNifp6gmA73yYNS6ywLIWSLD/n/mBzHQRpW3J7rbATEakmiA8JvkTyZw==} - engines: {node: '>=6.11.5', yarn: '>=1.0.0'} - peerDependencies: - eslint: '>= 6' - typescript: '>= 2.7' - vue-template-compiler: '*' - webpack: '>= 4' - peerDependenciesMeta: - eslint: - optional: true - vue-template-compiler: - optional: true - - form-data-encoder@2.1.4: - resolution: {integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==} - engines: {node: '>= 14.17'} - - form-data@2.3.3: - resolution: {integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==} - engines: {node: '>= 0.12'} - - format@0.2.2: - resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} - engines: {node: '>=0.4.x'} - - forwarded@0.2.0: - resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} - engines: {node: '>= 0.6'} - - fraction.js@5.3.4: - resolution: {integrity: sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==} - - fragment-cache@0.2.1: - resolution: {integrity: sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==} - engines: {node: '>=0.10.0'} - - fresh@0.5.2: - resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} - engines: {node: '>= 0.6'} - - from2@2.3.0: - resolution: {integrity: sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==} - - fs-constants@1.0.0: - resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} - - fs-extra@11.3.2: - resolution: {integrity: sha512-Xr9F6z6up6Ws+NjzMCZc6WXg2YFRlrLP9NQDO3VQrWrfiojdhS56TzueT88ze0uBdCTwEIhQ3ptnmKeWGFAe0A==} - engines: {node: '>=14.14'} - fs-extra@9.1.0: resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} engines: {node: '>=10'} - fs.realpath@1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - fsevents@2.3.3: resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] - fstream@1.0.12: - resolution: {integrity: sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==} - engines: {node: '>=0.6'} - deprecated: This package is no longer supported. - function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} @@ -4891,10 +1971,6 @@ packages: functions-have-names@1.2.3: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} - gaze@1.1.3: - resolution: {integrity: sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==} - engines: {node: '>= 4.0.0'} - generator-function@2.0.1: resolution: {integrity: sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==} engines: {node: '>= 0.4'} @@ -4918,197 +1994,39 @@ packages: resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} engines: {node: '>= 0.4'} - get-proxy@2.1.0: - resolution: {integrity: sha512-zmZIaQTWnNQb4R4fJUEp/FC51eZsc6EkErspy3xtIYStaq8EB/hDIWipxsal+E8rz0qD7f2sL/NA9Xee4RInJw==} - engines: {node: '>=4'} - - get-stdin@4.0.1: - resolution: {integrity: sha512-F5aQMywwJ2n85s4hJPTT9RPxGmubonuB10MNYo17/xph174n2MIR33HRguhzVag10O/npM7SPk73LMZNP+FaWw==} - engines: {node: '>=0.10.0'} - - get-stream@2.3.1: - resolution: {integrity: sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==} - engines: {node: '>=0.10.0'} - - get-stream@3.0.0: - resolution: {integrity: sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==} - engines: {node: '>=4'} - - get-stream@4.1.0: - resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==} - engines: {node: '>=6'} - - get-stream@6.0.1: - resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} - engines: {node: '>=10'} - get-symbol-description@1.1.0: resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} engines: {node: '>= 0.4'} - get-value@2.0.6: - resolution: {integrity: sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==} - engines: {node: '>=0.10.0'} - - getpass@0.1.7: - resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==} - - gifsicle@4.0.1: - resolution: {integrity: sha512-A/kiCLfDdV+ERV/UB+2O41mifd+RxH8jlRG8DMxZO84Bma/Fw0htqZ+hY2iaalLRNyUu7tYZQslqUBJxBggxbg==} - engines: {node: '>=6'} - hasBin: true - giscus@1.6.0: resolution: {integrity: sha512-Zrsi8r4t1LVW950keaWcsURuZUQwUaMKjvJgTCY125vkW6OiEBkatE7ScJDbpqKHdZwb///7FVC21SE3iFK3PQ==} - github-slugger@1.5.0: - resolution: {integrity: sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==} - - glob-parent@3.1.0: - resolution: {integrity: sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==} - - glob-parent@5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} - - glob-parent@6.0.2: - resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} - engines: {node: '>=10.13.0'} - - glob-to-regex.js@1.2.0: - resolution: {integrity: sha512-QMwlOQKU/IzqMUOAZWubUOT8Qft+Y0KQWnX9nK3ch0CJg0tTp4TvGZsTfudYKv2NzoQSyPcnA6TYeIQ3jGichQ==} - engines: {node: '>=10.0'} - peerDependencies: - tslib: '2' - - glob-to-regexp@0.3.0: - resolution: {integrity: sha512-Iozmtbqv0noj0uDDqoL0zNq0VBEfK2YFoMAZoxJe4cwphvLR+JskfF30QhXHOR4m3KrE6NLRYw+U9MRXvifyig==} - - glob-to-regexp@0.4.1: - resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} + github-slugger@2.0.0: + resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} glob@11.1.0: resolution: {integrity: sha512-vuNwKSaKiqm7g0THUBu2x7ckSs3XJLXE+2ssL7/MfTGPLLcrJQ/4Uq1CjPTtO5cCIiRxqvN6Twy1qOwhL0Xjcw==} engines: {node: 20 || >=22} hasBin: true - glob@7.1.7: - resolution: {integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==} - deprecated: Glob versions prior to v9 are no longer supported - - glob@7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} - deprecated: Glob versions prior to v9 are no longer supported - - global-dirs@3.0.1: - resolution: {integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==} - engines: {node: '>=10'} - - global-modules@2.0.0: - resolution: {integrity: sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==} - engines: {node: '>=6'} - - global-prefix@3.0.0: - resolution: {integrity: sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==} - engines: {node: '>=6'} - globalthis@1.0.4: resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} engines: {node: '>= 0.4'} - globby@11.0.1: - resolution: {integrity: sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==} - engines: {node: '>=10'} - - globby@11.1.0: - resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} - engines: {node: '>=10'} - - globby@13.2.2: - resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - globby@15.0.0: - resolution: {integrity: sha512-oB4vkQGqlMl682wL1IlWd02tXCbquGWM4voPEI85QmNKCaw8zGTm1f1rubFgkg3Eli2PtKlFgrnmUqasbQWlkw==} - engines: {node: '>=20'} - - globby@8.0.2: - resolution: {integrity: sha512-yTzMmKygLp8RUpG1Ymu2VXPSJQZjNAZPD4ywgYEaG7e4tBJeUQBO8OpXrf1RCNcEs5alsoJYPAMiIHP0cmeC7w==} - engines: {node: '>=4'} - - globule@1.3.4: - resolution: {integrity: sha512-OPTIfhMBh7JbBYDpa5b+Q5ptmMWKwcNcFSR/0c6t8V4f3ZAVBEsKNY37QdVqmLRYSMhOUGYrY0QhSoEpzGr/Eg==} - engines: {node: '>= 0.10'} - gopd@1.2.0: resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} engines: {node: '>= 0.4'} - got@12.6.1: - resolution: {integrity: sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==} - engines: {node: '>=14.16'} - - got@7.1.0: - resolution: {integrity: sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==} - engines: {node: '>=4'} - - got@8.3.2: - resolution: {integrity: sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==} - engines: {node: '>=4'} - - graceful-fs@4.2.10: - resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} - graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - gray-matter@2.1.1: - resolution: {integrity: sha512-vbmvP1Fe/fxuT2QuLVcqb2BfK7upGhhbLIt9/owWEvPYrZZEkelLcq2HqzxosV+PQ67dUFLaAeNpH7C4hhICAA==} - engines: {node: '>=0.10.0'} - - gray-matter@4.0.3: - resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==} - engines: {node: '>=6.0'} - - gulp-header@1.8.12: - resolution: {integrity: sha512-lh9HLdb53sC7XIZOYzTXM4lFuXElv3EVkSDhsd7DoJBj7hm+Ni7D3qYbb+Rr8DuM8nRanBvkVO9d7askreXGnQ==} - deprecated: Removed event-stream from gulp-header - - gzip-size@5.1.1: - resolution: {integrity: sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==} - engines: {node: '>=6'} - - gzip-size@6.0.0: - resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} - engines: {node: '>=10'} - - hachure-fill@0.5.2: - resolution: {integrity: sha512-3GKBOn+m2LX9iq+JC1064cSFprJY4jL1jCXTcpnfER5HYE2l/4EfWSGzkPa/ZDBmYI0ZOEj5VHV/eKnPGkHuOg==} - - handle-thing@2.0.1: - resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==} - - har-schema@2.0.0: - resolution: {integrity: sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==} - engines: {node: '>=4'} - - har-validator@5.1.5: - resolution: {integrity: sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==} - engines: {node: '>=6'} - deprecated: this library is no longer supported - - has-ansi@2.0.0: - resolution: {integrity: sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==} - engines: {node: '>=0.10.0'} + h3@1.15.4: + resolution: {integrity: sha512-z5cFQWDffyOe4vQ9xIqNfCZdV4p//vy6fBnr8Q1AWnVZ0teurKMG66rLj++TKwKPUP3u7iMUvrvKaEUiQw2QWQ==} has-bigints@1.1.0: resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==} engines: {node: '>= 0.4'} - has-flag@3.0.0: - resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} - engines: {node: '>=4'} - has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} @@ -5120,311 +2038,101 @@ packages: resolution: {integrity: sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==} engines: {node: '>= 0.4'} - has-symbol-support-x@1.4.2: - resolution: {integrity: sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==} - has-symbols@1.1.0: resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} engines: {node: '>= 0.4'} - has-to-string-tag-x@1.4.1: - resolution: {integrity: sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==} - has-tostringtag@1.0.2: resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} engines: {node: '>= 0.4'} - has-value@0.3.1: - resolution: {integrity: sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==} - engines: {node: '>=0.10.0'} - - has-value@1.0.0: - resolution: {integrity: sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==} - engines: {node: '>=0.10.0'} - - has-values@0.1.4: - resolution: {integrity: sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==} - engines: {node: '>=0.10.0'} - - has-values@1.0.0: - resolution: {integrity: sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==} - engines: {node: '>=0.10.0'} - - has-yarn@3.0.0: - resolution: {integrity: sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - has@1.0.4: - resolution: {integrity: sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==} - engines: {node: '>= 0.4.0'} - hasown@2.0.2: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} + hast-util-embedded@3.0.0: + resolution: {integrity: sha512-naH8sld4Pe2ep03qqULEtvYr7EjrLK2QHY8KJR6RJkTUjPGObe1vnx585uzem2hGra+s1q08DZZpfgDVYRbaXA==} + + hast-util-format@1.1.0: + resolution: {integrity: sha512-yY1UDz6bC9rDvCWHpx12aIBGRG7krurX0p0Fm6pT547LwDIZZiNr8a+IHDogorAdreULSEzP82Nlv5SZkHZcjA==} + + hast-util-from-html@2.0.3: + resolution: {integrity: sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw==} + hast-util-from-parse5@8.0.3: resolution: {integrity: sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg==} + hast-util-has-property@3.0.0: + resolution: {integrity: sha512-MNilsvEKLFpV604hwfhVStK0usFY/QmM5zX16bo7EjnAEGofr5YyI37kzopBlZJkHD4t887i+q/C8/tr5Q94cA==} + + hast-util-is-body-ok-link@3.0.1: + resolution: {integrity: sha512-0qpnzOBLztXHbHQenVB8uNuxTnm/QBFUOmdOSsEn7GnBtyY07+ENTWVFBAnXd/zEgd9/SUG3lRY7hSIBWRgGpQ==} + + hast-util-is-element@3.0.0: + resolution: {integrity: sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==} + + hast-util-minify-whitespace@1.0.1: + resolution: {integrity: sha512-L96fPOVpnclQE0xzdWb/D12VT5FabA7SnZOUMtL1DbXmYiHJMXZvFkIZfiMmTCNJHUeO2K9UYNXoVyfz+QHuOw==} + hast-util-parse-selector@4.0.0: resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==} + hast-util-phrasing@3.0.1: + resolution: {integrity: sha512-6h60VfI3uBQUxHqTyMymMZnEbNl1XmEGtOxxKYL7stY2o601COo62AWAYBQR9lZbYXYSBoxag8UpPRXK+9fqSQ==} + hast-util-raw@9.1.0: resolution: {integrity: sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==} + hast-util-select@6.0.4: + resolution: {integrity: sha512-RqGS1ZgI0MwxLaKLDxjprynNzINEkRHY2i8ln4DDjgv9ZhcYVIHN9rlpiYsqtFwrgpYU361SyWDQcGNIBVu3lw==} + hast-util-to-estree@3.1.3: resolution: {integrity: sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w==} + hast-util-to-html@9.0.5: + resolution: {integrity: sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==} + hast-util-to-jsx-runtime@2.3.6: resolution: {integrity: sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==} hast-util-to-parse5@8.0.1: resolution: {integrity: sha512-MlWT6Pjt4CG9lFCjiz4BH7l9wmrMkfkJYCxFwKQic8+RTZgWPuWxwAfjJElsXkex7DJjfSJsQIt931ilUgmwdA==} + hast-util-to-string@3.0.1: + resolution: {integrity: sha512-XelQVTDWvqcl3axRfI0xSeoVKzyIFPwsAGSLIsKdJKQMXDYJS4WYrBNF/8J7RdhIcFI2BOHgAifggsvsxp/3+A==} + + hast-util-to-text@4.0.2: + resolution: {integrity: sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==} + hast-util-whitespace@3.0.0: resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} hastscript@9.0.1: resolution: {integrity: sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==} - he@1.2.0: - resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} - hasBin: true - - hex-color-regex@1.1.0: - resolution: {integrity: sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==} - - highlight.js@9.18.5: - resolution: {integrity: sha512-a5bFyofd/BHCX52/8i8uJkjr9DYwXIPnM/plwI6W7ezItLGqzt7X2G2nXuYSfsIJdkwwj/g9DG1LkcGJI/dDoA==} - deprecated: Support has ended for 9.x series. Upgrade to @latest - - history@4.10.1: - resolution: {integrity: sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==} - - hoist-non-react-statics@3.3.2: - resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} - - hosted-git-info@2.8.9: - resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} - - hpack.js@2.1.6: - resolution: {integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==} - - hsl-regex@1.0.0: - resolution: {integrity: sha512-M5ezZw4LzXbBKMruP+BNANf0k+19hDQMgpzBIYnya//Al+fjNct9Wf3b1WedLqdEs2hKBvxq/jh+DsHJLj0F9A==} - - hsla-regex@1.0.0: - resolution: {integrity: sha512-7Wn5GMLuHBjZCb2bTmnDOycho0p/7UVaAeqXZGbHrBCl6Yd/xDhQJAXe6Ga9AXJH2I5zY1dEdYw2u1UptnSBJA==} - - html-element-map@1.3.1: - resolution: {integrity: sha512-6XMlxrAFX4UEEGxctfFnmrFaaZFNf9i5fNuV5wZ3WWQ4FVaNP1aX1LkX9j2mfEx1NpjeE/rL3nmgEn23GdFmrg==} - - html-escaper@2.0.2: - resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} - - html-minifier-terser@6.1.0: - resolution: {integrity: sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==} - engines: {node: '>=12'} - hasBin: true - - html-minifier-terser@7.2.0: - resolution: {integrity: sha512-tXgn3QfqPIpGl9o+K5tpcj3/MN4SfLtsx2GWwBC3SSd0tXQGyF3gsSqad8loJgKZGM3ZxbYDd5yhiBIdWpmvLA==} - engines: {node: ^14.13.1 || >=16.0.0} - hasBin: true - - html-tags@3.3.1: - resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} - engines: {node: '>=8'} + html-escaper@3.0.3: + resolution: {integrity: sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==} html-void-elements@3.0.0: resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} - html-webpack-plugin@5.6.5: - resolution: {integrity: sha512-4xynFbKNNk+WlzXeQQ+6YYsH2g7mpfPszQZUi3ovKlj+pDmngQ7vRXjrrmGROabmKwyQkcgcX5hqfOwHbFmK5g==} - engines: {node: '>=10.13.0'} - peerDependencies: - '@rspack/core': 0.x || 1.x - webpack: ^5.20.0 - peerDependenciesMeta: - '@rspack/core': - optional: true - webpack: - optional: true - - htmlparser2@10.0.0: - resolution: {integrity: sha512-TwAZM+zE5Tq3lrEHvOlvwgj1XLWQCtaaibSN11Q+gGBAS7Y1uZSWwXXRe4iF6OXnaq1riyQAPFOBtYc77Mxq0g==} - - htmlparser2@6.1.0: - resolution: {integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==} - - htmlparser2@8.0.2: - resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} - - http-cache-semantics@3.8.1: - resolution: {integrity: sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==} + html-whitespace-sensitive-tag-names@3.0.1: + resolution: {integrity: sha512-q+310vW8zmymYHALr1da4HyXUQ0zgiIwIicEfotYPWGN0OJVEN/58IJ3A4GBYcEq3LGAZqKb+ugvP0GNB9CEAA==} http-cache-semantics@4.2.0: resolution: {integrity: sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==} - http-deceiver@1.2.7: - resolution: {integrity: sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==} - - http-errors@1.6.3: - resolution: {integrity: sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==} - engines: {node: '>= 0.6'} - - http-errors@2.0.0: - resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} - engines: {node: '>= 0.8'} - - http-errors@2.0.1: - resolution: {integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==} - engines: {node: '>= 0.8'} - - http-parser-js@0.5.10: - resolution: {integrity: sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA==} - - http-proxy-middleware@2.0.9: - resolution: {integrity: sha512-c1IyJYLYppU574+YI7R4QyX2ystMtVXZwIdzazUIPIJsHuWNd+mho2j+bKoHftndicGj9yh+xjd+l0yj7VeT1Q==} - engines: {node: '>=12.0.0'} - peerDependencies: - '@types/express': ^4.17.13 - peerDependenciesMeta: - '@types/express': - optional: true - - http-proxy@1.18.1: - resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} - engines: {node: '>=8.0.0'} - - http-signature@1.2.0: - resolution: {integrity: sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==} - engines: {node: '>=0.8', npm: '>=1.3.7'} - - http2-wrapper@2.2.1: - resolution: {integrity: sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==} - engines: {node: '>=10.19.0'} - - human-signals@2.1.0: - resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} - engines: {node: '>=10.17.0'} - - hyperdyperid@1.2.0: - resolution: {integrity: sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A==} - engines: {node: '>=10.18'} - - iconv-lite@0.4.24: - resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} - engines: {node: '>=0.10.0'} - - iconv-lite@0.6.3: - resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} - engines: {node: '>=0.10.0'} - - icss-utils@5.1.0: - resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} - engines: {node: ^10 || ^12 || >= 14} - peerDependencies: - postcss: ^8.1.0 + i18next@23.16.8: + resolution: {integrity: sha512-06r/TitrM88Mg5FdUXAKL96dJMzgqLE5dv3ryBAra4KCwD9mJ4ndOTS95ZuymIGoE+2hzfdaMak2X11/es7ZWg==} idb@7.1.1: resolution: {integrity: sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==} - ieee754@1.2.1: - resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - - ignore@3.3.10: - resolution: {integrity: sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==} - - ignore@5.3.2: - resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} - engines: {node: '>= 4'} - - ignore@7.0.5: - resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} - engines: {node: '>= 4'} - - image-size@2.0.2: - resolution: {integrity: sha512-IRqXKlaXwgSMAMtpNzZa1ZAe8m+Sa1770Dhk8VkSsP9LS+iHD62Zd8FQKs8fbPiagBE7BzoFX23cxFnwshpV6w==} - engines: {node: '>=16.x'} - hasBin: true - - imagemin-gifsicle@6.0.1: - resolution: {integrity: sha512-kuu47c6iKDQ6R9J10xCwL0lgs0+sMz3LRHqRcJ2CRBWdcNmo3T5hUaM8hSZfksptZXJLGKk8heSAvwtSdB1Fng==} - engines: {node: '>=6'} - - imagemin-jpegtran@6.0.0: - resolution: {integrity: sha512-Ih+NgThzqYfEWv9t58EItncaaXIHR0u9RuhKa8CtVBlMBvY0dCIxgQJQCfwImA4AV1PMfmUKlkyIHJjb7V4z1g==} - engines: {node: '>=6'} - - imagemin-optipng@6.0.0: - resolution: {integrity: sha512-FoD2sMXvmoNm/zKPOWdhKpWdFdF9qiJmKC17MxZJPH42VMAp17/QENI/lIuP7LCUnLVAloO3AUoTSNzfhpyd8A==} - engines: {node: '>=6'} - - imagemin-svgo@7.1.0: - resolution: {integrity: sha512-0JlIZNWP0Luasn1HT82uB9nU9aa+vUj6kpT+MjPW11LbprXC+iC4HDwn1r4Q2/91qj4iy9tRZNsFySMlEpLdpg==} - engines: {node: '>=6'} - - imagemin@6.1.0: - resolution: {integrity: sha512-8ryJBL1CN5uSHpiBMX0rJw79C9F9aJqMnjGnrd/1CafegpNuA81RBAAru/jQQEOWlOJJlpRnlcVFF6wq+Ist0A==} - engines: {node: '>=6'} - - immer@8.0.1: - resolution: {integrity: sha512-aqXhGP7//Gui2+UrEtvxZxSquQVXTpZ7KDxfCcKAF3Vysvw0CViVaW9RZ1j1xlIYqaaaipBoqdqeibkc18PNvA==} - immutable@5.1.4: resolution: {integrity: sha512-p6u1bG3YSnINT5RQmx/yRZBpenIl30kVxkTLDyHLIMk0gict704Q9n+thfDI7lTRm9vXdDYutVzXhzcThxTnXA==} - import-fresh@2.0.0: - resolution: {integrity: sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==} - engines: {node: '>=4'} - - import-fresh@3.3.1: - resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} - engines: {node: '>=6'} - - import-lazy@3.1.0: - resolution: {integrity: sha512-8/gvXvX2JMn0F+CDlSC4l6kOmVaLOO3XLkksI7CI3Ud95KDYJuYur2b9P/PUt/i/pDAMd/DulQsNbbbmRRsDIQ==} - engines: {node: '>=6'} - - import-lazy@4.0.0: - resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} - engines: {node: '>=8'} - - imurmurhash@0.1.4: - resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} - engines: {node: '>=0.8.19'} - - indent-string@2.1.0: - resolution: {integrity: sha512-aqwDFWSgSgfRaEwao5lg5KEcVd/2a+D1rvoG7NdilmYz0NwRk6StWpWdz/Hpk34MKPpx7s8XxUqimfcQK6gGlg==} - engines: {node: '>=0.10.0'} - - indent-string@4.0.0: - resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} - engines: {node: '>=8'} - - indexes-of@1.0.1: - resolution: {integrity: sha512-bup+4tap3Hympa+JBJUG7XuOsdNQ6fxt0MHyXMKuLBKn0OqsTfvUxkUrroEX1+B2VsSHvCjiIcZVxRtYa4nllA==} - - infima@0.2.0-alpha.45: - resolution: {integrity: sha512-uyH0zfr1erU1OohLk0fT4Rrb94AOhguWNOcD9uGrSpRvNB+6gZXUoJX5J0NtvzBO10YZ9PgvA4NFgt+fYg8ojw==} - engines: {node: '>=12'} - - inflight@1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} - deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. - - inherits@2.0.3: - resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==} - - inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - - ini@1.3.8: - resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} - - ini@2.0.0: - resolution: {integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==} - engines: {node: '>=10'} + import-meta-resolve@4.2.0: + resolution: {integrity: sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==} inline-style-parser@0.2.7: resolution: {integrity: sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==} @@ -5433,43 +2141,8 @@ packages: resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} engines: {node: '>= 0.4'} - internmap@1.0.1: - resolution: {integrity: sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==} - - internmap@2.0.3: - resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==} - engines: {node: '>=12'} - - interpret@1.4.0: - resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==} - engines: {node: '>= 0.10'} - - into-stream@3.1.0: - resolution: {integrity: sha512-TcdjPibTksa1NQximqep2r17ISRiNE9fwlfbg3F8ANdvP5/yrFTew86VcO//jk4QTaMlbjypPBq76HN2zaKfZQ==} - engines: {node: '>=4'} - - invariant@2.2.4: - resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} - - ip-regex@4.3.0: - resolution: {integrity: sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==} - engines: {node: '>=8'} - - ipaddr.js@1.9.1: - resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} - engines: {node: '>= 0.10'} - - ipaddr.js@2.3.0: - resolution: {integrity: sha512-Zv/pA+ciVFbCSBBjGfaKUya/CcGmUHzTydLMaTwrUUEM2DIEO3iZvueGxmacvmN50fGpGVKeTXpb2LcYQxeVdg==} - engines: {node: '>= 10'} - - is-absolute-url@2.1.0: - resolution: {integrity: sha512-vOx7VprsKyllwjSkLV79NIhpyLfr3jAp7VaTCMXOJHu4m0Ew1CZ2fcjASwmV1jI3BWuWHB013M48eyeldk9gYg==} - engines: {node: '>=0.10.0'} - - is-accessor-descriptor@1.0.1: - resolution: {integrity: sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==} - engines: {node: '>= 0.10'} + iron-webcrypto@1.2.1: + resolution: {integrity: sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==} is-alphabetical@2.0.1: resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==} @@ -5481,12 +2154,6 @@ packages: resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==} engines: {node: '>= 0.4'} - is-arrayish@0.2.1: - resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} - - is-arrayish@0.3.4: - resolution: {integrity: sha512-m6UrgzFVUYawGBh1dUsWR5M2Clqic9RVXC/9f8ceNlv2IcO9j9J/z8UoCLPqtsPBFNzEpfR3xftohbfqDx8EQA==} - is-async-function@2.1.1: resolution: {integrity: sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==} engines: {node: '>= 0.4'} @@ -5495,36 +2162,18 @@ packages: resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==} engines: {node: '>= 0.4'} - is-binary-path@2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} - is-boolean-object@1.2.2: resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==} engines: {node: '>= 0.4'} - is-buffer@1.1.6: - resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} - is-callable@1.2.7: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} - is-ci@3.0.1: - resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} - hasBin: true - - is-color-stop@1.1.0: - resolution: {integrity: sha512-H1U8Vz0cfXNujrJzEcvvwMDW9Ra+biSYA3ThdQvAnMLJkEHQXn6bWzLkxHtVYJ+Sdbx0b6finn3jZiaVe7MAHA==} - is-core-module@2.16.1: resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} engines: {node: '>= 0.4'} - is-data-descriptor@1.0.1: - resolution: {integrity: sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==} - engines: {node: '>= 0.4'} - is-data-view@1.0.2: resolution: {integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==} engines: {node: '>= 0.4'} @@ -5536,36 +2185,11 @@ packages: is-decimal@2.0.1: resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} - is-descriptor@0.1.7: - resolution: {integrity: sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==} - engines: {node: '>= 0.4'} - - is-descriptor@1.0.3: - resolution: {integrity: sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==} - engines: {node: '>= 0.4'} - - is-directory@0.3.1: - resolution: {integrity: sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==} - engines: {node: '>=0.10.0'} - - is-docker@2.2.1: - resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} - engines: {node: '>=8'} - hasBin: true - is-docker@3.0.0: resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} hasBin: true - is-extendable@0.1.1: - resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} - engines: {node: '>=0.10.0'} - - is-extendable@1.0.1: - resolution: {integrity: sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==} - engines: {node: '>=0.10.0'} - is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -5574,10 +2198,6 @@ packages: resolution: {integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==} engines: {node: '>= 0.4'} - is-finite@1.1.0: - resolution: {integrity: sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==} - engines: {node: '>=0.10.0'} - is-fullwidth-code-point@3.0.0: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} @@ -5586,14 +2206,6 @@ packages: resolution: {integrity: sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==} engines: {node: '>= 0.4'} - is-gif@3.0.0: - resolution: {integrity: sha512-IqJ/jlbw5WJSNfwQ/lHEDXF8rxhRgF6ythk2oiEvhpG29F704eX9NO6TvPfMiq9DrbwgcEDnETYNcZDPewQoVw==} - engines: {node: '>=6'} - - is-glob@3.1.0: - resolution: {integrity: sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==} - engines: {node: '>=0.10.0'} - is-glob@4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} @@ -5606,55 +2218,21 @@ packages: engines: {node: '>=14.16'} hasBin: true - is-installed-globally@0.4.0: - resolution: {integrity: sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==} - engines: {node: '>=10'} - - is-jpg@2.0.0: - resolution: {integrity: sha512-ODlO0ruzhkzD3sdynIainVP5eoOFNN85rxA1+cwwnPe4dKyX0r5+hxNO5XpCrxlHcmb9vkOit9mhRD2JVuimHg==} - engines: {node: '>=6'} - is-map@2.0.3: resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} engines: {node: '>= 0.4'} - is-mobile@5.0.0: - resolution: {integrity: sha512-Tz/yndySvLAEXh+Uk8liFCxOwVH6YutuR74utvOcu7I9Di+DwM0mtdPVZNaVvvBUM2OXxne/NhOs1zAO7riusQ==} - is-module@1.0.0: resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} - is-natural-number@4.0.1: - resolution: {integrity: sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==} - is-negative-zero@2.0.3: resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} engines: {node: '>= 0.4'} - is-network-error@1.3.0: - resolution: {integrity: sha512-6oIwpsgRfnDiyEDLMay/GqCl3HoAtH5+RUKW29gYkL0QA+ipzpDLA16yQs7/RHCSu+BwgbJaOUqa4A99qNVQVw==} - engines: {node: '>=16'} - - is-npm@6.1.0: - resolution: {integrity: sha512-O2z4/kNgyjhQwVR1Wpkbfc19JIhggF97NZNCpWTnjH7kVcZMUrnut9XSN7txI7VdyIYk5ZatOq3zvSuWpU8hoA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - is-number-object@1.1.1: resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==} engines: {node: '>= 0.4'} - is-number@2.1.0: - resolution: {integrity: sha512-QUzH43Gfb9+5yckcrSA0VBDwEtDUchrk4F6tfJZQuNzDJbEDB9cZNzSfXGQ1jqmdDY/kl41lUOWM9syA8z8jlg==} - engines: {node: '>=0.10.0'} - - is-number@3.0.0: - resolution: {integrity: sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==} - engines: {node: '>=0.10.0'} - - is-number@4.0.0: - resolution: {integrity: sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==} - engines: {node: '>=0.10.0'} - is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} @@ -5663,37 +2241,10 @@ packages: resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==} engines: {node: '>=0.10.0'} - is-obj@2.0.0: - resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} - engines: {node: '>=8'} - - is-object@1.0.2: - resolution: {integrity: sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==} - - is-path-inside@3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} - engines: {node: '>=8'} - - is-plain-obj@1.1.0: - resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} - engines: {node: '>=0.10.0'} - - is-plain-obj@3.0.0: - resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==} - engines: {node: '>=10'} - is-plain-obj@4.1.0: resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} engines: {node: '>=12'} - is-plain-object@2.0.4: - resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} - engines: {node: '>=0.10.0'} - - is-png@1.1.0: - resolution: {integrity: sha512-23Rmps8UEx3Bzqr0JqAtQo0tYP6sDfIfMt1rL9rzlla/zbteftI9LSJoqsIoGgL06sJboDGdVns4RTakAW/WTw==} - engines: {node: '>=0.10.0'} - is-regex@1.2.1: resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} engines: {node: '>= 0.4'} @@ -5702,17 +2253,6 @@ packages: resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==} engines: {node: '>=0.10.0'} - is-resolvable@1.1.0: - resolution: {integrity: sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==} - - is-retry-allowed@1.2.0: - resolution: {integrity: sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==} - engines: {node: '>=0.10.0'} - - is-root@2.1.0: - resolution: {integrity: sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==} - engines: {node: '>=6'} - is-set@2.0.3: resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} engines: {node: '>= 0.4'} @@ -5721,10 +2261,6 @@ packages: resolution: {integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==} engines: {node: '>= 0.4'} - is-stream@1.1.0: - resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==} - engines: {node: '>=0.10.0'} - is-stream@2.0.1: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} @@ -5733,13 +2269,6 @@ packages: resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==} engines: {node: '>= 0.4'} - is-subset@0.1.1: - resolution: {integrity: sha512-6Ybun0IkarhmEqxXCNw/C0bna6Zb/TkfUX9UbwJtK6ObwAVCxmAP308WWTHviM/zAqXk05cdhYsUsZeGQh99iw==} - - is-svg@4.4.0: - resolution: {integrity: sha512-v+AgVwiK5DsGtT9ng+m4mClp6zDAmwrW8nZi6Gg15qzvBnRWWdfWA1TGaXyCDnWq5g5asofIgMVl3PjKxvk1ug==} - engines: {node: '>=6'} - is-symbol@1.1.1: resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==} engines: {node: '>= 0.4'} @@ -5748,15 +2277,6 @@ packages: resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} engines: {node: '>= 0.4'} - is-typedarray@1.0.0: - resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} - - is-url@1.2.4: - resolution: {integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==} - - is-utf8@0.2.1: - resolution: {integrity: sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==} - is-weakmap@2.0.2: resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} engines: {node: '>= 0.4'} @@ -5769,53 +2289,16 @@ packages: resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==} engines: {node: '>= 0.4'} - is-windows@1.0.2: - resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} - engines: {node: '>=0.10.0'} - - is-wsl@2.2.0: - resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} - engines: {node: '>=8'} - is-wsl@3.1.0: resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} engines: {node: '>=16'} - is-yarn-global@0.4.1: - resolution: {integrity: sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ==} - engines: {node: '>=12'} - - is2@2.0.9: - resolution: {integrity: sha512-rZkHeBn9Zzq52sd9IUIV3a5mfwBY+o2HePMh0wkGBM4z4qjvy2GwVxQ6nNXSfw6MmVP6gf1QIlWjiOavhM3x5g==} - engines: {node: '>=v0.10.0'} - - isarray@0.0.1: - resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} - - isarray@1.0.0: - resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} - isarray@2.0.5: resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - isobject@2.1.0: - resolution: {integrity: sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==} - engines: {node: '>=0.10.0'} - - isobject@3.0.1: - resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} - engines: {node: '>=0.10.0'} - - isstream@0.1.2: - resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==} - - isurl@1.0.0: - resolution: {integrity: sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==} - engines: {node: '>= 4'} - jackspeak@4.1.1: resolution: {integrity: sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ==} engines: {node: 20 || >=22} @@ -5825,88 +2308,33 @@ packages: engines: {node: '>=10'} hasBin: true - jest-util@29.7.0: - resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-worker@27.5.1: - resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} - engines: {node: '>= 10.13.0'} - - jest-worker@29.7.0: - resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jiti@1.21.7: - resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==} - hasBin: true - jiti@2.6.1: resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==} hasBin: true - joi@17.13.3: - resolution: {integrity: sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==} - - jpegtran-bin@4.0.0: - resolution: {integrity: sha512-2cRl1ism+wJUoYAYFt6O/rLBfpXNWG2dUWbgcEkTt5WGMnqI46eEro8T4C5zGROxKRqyKpCBSdHPvt5UYCtxaQ==} - engines: {node: '>=6'} - hasBin: true - js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - js-yaml@3.14.2: - resolution: {integrity: sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==} - hasBin: true - js-yaml@4.1.1: resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} hasBin: true - jsbn@0.1.1: - resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==} - jsesc@3.1.0: resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} engines: {node: '>=6'} hasBin: true - json-buffer@3.0.0: - resolution: {integrity: sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==} - - json-buffer@3.0.1: - resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} - - json-parse-better-errors@1.0.2: - resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} - - json-parse-even-better-errors@2.3.1: - resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} - - json-schema-traverse@0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - json-schema-traverse@1.0.0: resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} json-schema@0.4.0: resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} - json-stringify-safe@5.0.1: - resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} - - json2mq@0.2.0: - resolution: {integrity: sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA==} - json5@2.2.3: resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} engines: {node: '>=6'} hasBin: true - jsonc-parser@3.3.1: - resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==} - jsonfile@6.2.0: resolution: {integrity: sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==} @@ -5914,59 +2342,13 @@ packages: resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} engines: {node: '>=0.10.0'} - jsprim@1.4.2: - resolution: {integrity: sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==} - engines: {node: '>=0.6.0'} - - katex@0.16.27: - resolution: {integrity: sha512-aeQoDkuRWSqQN6nSvVCEFvfXdqo1OQiCmmW1kc9xSdjutPv7BGO7pqY9sQRJpMOGrEdfDgF2TfRXe5eUAD2Waw==} - hasBin: true - - keyv@3.0.0: - resolution: {integrity: sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==} - - keyv@4.5.4: - resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} - - khroma@2.1.0: - resolution: {integrity: sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==} - - kind-of@3.2.2: - resolution: {integrity: sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==} - engines: {node: '>=0.10.0'} - - kind-of@4.0.0: - resolution: {integrity: sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==} - engines: {node: '>=0.10.0'} - - kind-of@6.0.3: - resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} - engines: {node: '>=0.10.0'} - kleur@3.0.3: resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} engines: {node: '>=6'} - langium@3.3.1: - resolution: {integrity: sha512-QJv/h939gDpvT+9SiLVlY7tZC3xB2qK57v0J04Sh9wpMb6MP1q8gB21L3WIo8T5P1MSMg3Ep14L7KkDCFG3y4w==} - engines: {node: '>=16.0.0'} - - latest-version@7.0.0: - resolution: {integrity: sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==} - engines: {node: '>=14.16'} - - launch-editor@2.12.0: - resolution: {integrity: sha512-giOHXoOtifjdHqUamwKq6c49GzBdLjvxrd2D+Q4V6uOHopJv7p9VJxikDsQ/CBXZbEITgUqSVHXLTG3VhPP1Dg==} - - layout-base@1.0.2: - resolution: {integrity: sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==} - - layout-base@2.0.1: - resolution: {integrity: sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg==} - - lazy-cache@2.0.2: - resolution: {integrity: sha512-7vp2Acd2+Kz4XkzxGxaB1FWOi8KjWIWsgdfD5MCb86DWvlLqhRPM+d6Pro3iNEL5VT9mstz5hKAlcd+QR6H3aA==} - engines: {node: '>=0.10.0'} + klona@2.0.6: + resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==} + engines: {node: '>= 8'} leven@3.1.0: resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} @@ -6042,153 +2424,34 @@ packages: resolution: {integrity: sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ==} engines: {node: '>= 12.0.0'} - lilconfig@3.1.3: - resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} - engines: {node: '>=14'} + lit-element@4.2.1: + resolution: {integrity: sha512-WGAWRGzirAgyphK2urmYOV72tlvnxw7YfyLDgQ+OZnM9vQQBQnumQ7jUJe6unEzwGU3ahFOjuz1iz1jjrpCPuw==} - lines-and-columns@1.2.4: - resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - - linkify-it@5.0.0: - resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==} - - list-item@1.1.1: - resolution: {integrity: sha512-S3D0WZ4J6hyM8o5SNKWaMYB1ALSacPZ2nHGEuCjmHZ+dc03gFeNZoNDcqfcnO4vDhTZmNrqrpYZCdXsRh22bzw==} - engines: {node: '>=0.10.0'} - - listenercount@1.0.1: - resolution: {integrity: sha512-3mk/Zag0+IJxeDrxSgaDPy4zZ3w05PRZeJNnlWhzFz5OkX49J4krc+A8X2d2M69vGMBEX0uyl8M+W+8gH+kBqQ==} - - lit-element@4.2.1: - resolution: {integrity: sha512-WGAWRGzirAgyphK2urmYOV72tlvnxw7YfyLDgQ+OZnM9vQQBQnumQ7jUJe6unEzwGU3ahFOjuz1iz1jjrpCPuw==} - - lit-html@3.3.1: - resolution: {integrity: sha512-S9hbyDu/vs1qNrithiNyeyv64c9yqiW9l+DBgI18fL+MTvOtWoFR0FWiyq1TxaYef5wNlpEmzlXoBlZEO+WjoA==} + lit-html@3.3.1: + resolution: {integrity: sha512-S9hbyDu/vs1qNrithiNyeyv64c9yqiW9l+DBgI18fL+MTvOtWoFR0FWiyq1TxaYef5wNlpEmzlXoBlZEO+WjoA==} lit@3.3.1: resolution: {integrity: sha512-Ksr/8L3PTapbdXJCk+EJVB78jDodUMaP54gD24W186zGRARvwrsPfS60wae/SSCTCNZVPd1chXqio1qHQmu4NA==} - livereload-js@2.4.0: - resolution: {integrity: sha512-XPQH8Z2GDP/Hwz2PCDrh2mth4yFejwA1OZ/81Ti3LgKyhDcEjsSsqFWZojHG0va/duGd+WyosY7eXLDoOyqcPw==} - - load-json-file@1.1.0: - resolution: {integrity: sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==} - engines: {node: '>=0.10.0'} - - loader-runner@4.3.1: - resolution: {integrity: sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q==} - engines: {node: '>=6.11.5'} - - loader-utils@2.0.0: - resolution: {integrity: sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==} - engines: {node: '>=8.9.0'} - - loader-utils@2.0.4: - resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==} - engines: {node: '>=8.9.0'} - - locate-path@3.0.0: - resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} - engines: {node: '>=6'} - - locate-path@5.0.0: - resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} - engines: {node: '>=8'} - - locate-path@7.2.0: - resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - lodash-es@4.17.21: - resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} - - lodash._reinterpolate@3.0.0: - resolution: {integrity: sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==} - - lodash.chunk@4.2.0: - resolution: {integrity: sha512-ZzydJKfUHJwHa+hF5X66zLFCBrWn5GeF28OHEr4WVWtNDXlQ/IjWKPBiikqKo2ne0+v6JgCgJ0GzJp8k8bHC7w==} - lodash.debounce@4.0.8: resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} - lodash.escape@4.0.1: - resolution: {integrity: sha512-nXEOnb/jK9g0DYMr1/Xvq6l5xMD7GDG55+GSYIYmS0G4tBk/hURD4JR9WCavs04t33WmJx9kCyp9vJ+mr4BOUw==} - - lodash.flattendeep@4.4.0: - resolution: {integrity: sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==} - - lodash.isequal@4.5.0: - resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} - deprecated: This package is deprecated. Use require('node:util').isDeepStrictEqual instead. - - lodash.memoize@4.1.2: - resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} - - lodash.padstart@4.6.1: - resolution: {integrity: sha512-sW73O6S8+Tg66eY56DBk85aQzzUJDtpoXFBgELMd5P/SotAguo+1kYO6RuYgXxA4HJH3LFTFPASX6ET6bjfriw==} - lodash.sortby@4.7.0: resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} - lodash.template@4.5.0: - resolution: {integrity: sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==} - deprecated: This package is deprecated. Use https://socket.dev/npm/package/eta instead. - - lodash.templatesettings@4.2.0: - resolution: {integrity: sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==} - - lodash.uniq@4.5.0: - resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} - lodash@4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - logalot@2.1.0: - resolution: {integrity: sha512-Ah4CgdSRfeCJagxQhcVNMi9BfGYyEKLa6d7OA6xSbld/Hg3Cf2QiOa1mDpmG7Ve8LOH6DN3mdttzjQAvWTyVkw==} - engines: {node: '>=0.10.0'} - longest-streak@3.1.0: resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} - longest@1.0.1: - resolution: {integrity: sha512-k+yt5n3l48JU4k8ftnKG6V7u32wyH2NfKzeMto9F/QRE0amxy/LayxwlvjjkZEIzqR+19IrtFO8p5kB9QaYUFg==} - engines: {node: '>=0.10.0'} - - loose-envify@1.4.0: - resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} - hasBin: true - - loud-rejection@1.6.0: - resolution: {integrity: sha512-RPNliZOFkqFumDhvYqOaNY4Uz9oJM2K9tC6JWsJJsNdhuONW4LQHRBpb0qf4pJApVffI5N39SwzWZJuEhfd7eQ==} - engines: {node: '>=0.10.0'} - - lower-case@2.0.2: - resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} - - lowercase-keys@1.0.0: - resolution: {integrity: sha512-RPlX0+PHuvxVDZ7xX+EBVAp4RsVxP/TdDSN2mJYdiq1Lc4Hz7EUSjUI7RZrKKlmrIzVhf6Jo2stj7++gVarS0A==} - engines: {node: '>=0.10.0'} - - lowercase-keys@1.0.1: - resolution: {integrity: sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==} - engines: {node: '>=0.10.0'} - - lowercase-keys@3.0.0: - resolution: {integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - lpad-align@1.1.2: - resolution: {integrity: sha512-MMIcFmmR9zlGZtBcFOows6c2COMekHCIFJz3ew/rRpKZ1wR4mXDPzvcVqLarux8M33X4TPSq2Jdw8WJj0q0KbQ==} - engines: {node: '>=0.10.0'} - hasBin: true + lru-cache@10.4.3: + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} lru-cache@11.2.4: resolution: {integrity: sha512-B5Y16Jr9LB9dHVkh6ZevG+vAbOsNOYCX+sXvFWFu7B3Iz5mijW3zdbMyhsh8ANd2mSWBYdJgnqi+mL7/LrOPYg==} engines: {node: 20 || >=22} - lru-cache@4.1.5: - resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} - lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} @@ -6198,74 +2461,22 @@ packages: magic-string@0.30.21: resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} - make-dir@1.3.0: - resolution: {integrity: sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==} - engines: {node: '>=4'} - - make-dir@2.1.0: - resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} - engines: {node: '>=6'} - - map-cache@0.2.2: - resolution: {integrity: sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==} - engines: {node: '>=0.10.0'} - - map-obj@1.0.1: - resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} - engines: {node: '>=0.10.0'} - - map-visit@1.0.0: - resolution: {integrity: sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==} - engines: {node: '>=0.10.0'} + magicast@0.5.1: + resolution: {integrity: sha512-xrHS24IxaLrvuo613F719wvOIv9xPHFWQHuvGUBmPnCA/3MQxKI3b+r7n1jAoDHmsbC5bRhTZYR77invLAxVnw==} markdown-extensions@2.0.0: resolution: {integrity: sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==} engines: {node: '>=16'} - markdown-it@14.1.0: - resolution: {integrity: sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==} - hasBin: true - - markdown-link@0.1.1: - resolution: {integrity: sha512-TurLymbyLyo+kAUUAV9ggR9EPcDjP/ctlv9QAFiqUH7c+t6FlsbivPo9OKTU8xdOx9oNd2drW/Fi5RRElQbUqA==} - engines: {node: '>=0.10.0'} - - markdown-table@2.0.0: - resolution: {integrity: sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==} - markdown-table@3.0.4: resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==} - markdown-toc@1.2.0: - resolution: {integrity: sha512-eOsq7EGd3asV0oBfmyqngeEIhrbkc7XVP63OwcJBIhH2EpG2PzFcbZdhy1jutXSlRBBVMNXHvMtSr5LAxSUvUg==} - engines: {node: '>=0.10.0'} - hasBin: true - - markdownlint-cli2-formatter-default@0.0.6: - resolution: {integrity: sha512-VVDGKsq9sgzu378swJ0fcHfSicUnMxnL8gnLm/Q4J/xsNJ4e5bA6lvAz7PCzIl0/No0lHyaWdqVD2jotxOSFMQ==} - peerDependencies: - markdownlint-cli2: '>=0.0.4' - - markdownlint-cli2@0.20.0: - resolution: {integrity: sha512-esPk+8Qvx/f0bzI7YelUeZp+jCtFOk3KjZ7s9iBQZ6HlymSXoTtWGiIRZP05/9Oy2ehIoIjenVwndxGtxOIJYQ==} - engines: {node: '>=20'} - hasBin: true - - markdownlint@0.40.0: - resolution: {integrity: sha512-UKybllYNheWac61Ia7T6fzuQNDZimFIpCg2w6hHjgV1Qu0w1TV0LlSgryUGzM0bkKQCBhy2FDhEELB73Kb0kAg==} - engines: {node: '>=20'} - - marked@16.4.2: - resolution: {integrity: sha512-TI3V8YYWvkVf3KJe1dRkpnjs68JUPyEa5vjKrp1XEEJUAOaQc+Qj+L1qWbPd0SJuAdQkFU0h73sXXqwDYxsiDA==} - engines: {node: '>= 20'} - hasBin: true - math-intrinsics@1.1.0: resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} engines: {node: '>= 0.4'} - math-random@1.0.4: - resolution: {integrity: sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==} + mdast-util-definitions@6.0.0: + resolution: {integrity: sha512-scTllyX6pnYNZH/AIp/0ePz6s4cZtARxImwoPJ7kS42n+MnVsI4XbnG6d4ibehRIldYMWM2LD7ImQblVhUejVQ==} mdast-util-directive@3.1.0: resolution: {integrity: sha512-I3fNFt+DHmpWCYAT7quoM6lHf9wuqtI+oCOfvILnoicNIqjh5E3dEJWiXuYME2gNe8vl1iMQwyUHa7bgFmak6Q==} @@ -6276,9 +2487,6 @@ packages: mdast-util-from-markdown@2.0.2: resolution: {integrity: sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==} - mdast-util-frontmatter@2.0.1: - resolution: {integrity: sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA==} - mdast-util-gfm-autolink-literal@2.0.1: resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==} @@ -6321,54 +2529,11 @@ packages: mdast-util-to-string@4.0.0: resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} - mdn-data@2.0.14: - resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==} - mdn-data@2.0.28: resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==} - mdn-data@2.0.30: - resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} - - mdn-data@2.0.4: - resolution: {integrity: sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==} - - mdurl@2.0.0: - resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==} - - media-typer@0.3.0: - resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} - engines: {node: '>= 0.6'} - - medium-zoom@1.1.0: - resolution: {integrity: sha512-ewyDsp7k4InCUp3jRmwHBRFGyjBimKps/AJLjRSox+2q/2H4p/PNpQf+pwONWlJiOudkBXtbdmVbFjqyybfTmQ==} - - memfs@4.51.1: - resolution: {integrity: sha512-Eyt3XrufitN2ZL9c/uIRMyDwXanLI88h/L3MoWqNY747ha3dMR9dWqp8cRT5ntjZ0U1TNuq4U91ZXK0sMBjYOQ==} - - meow@3.7.0: - resolution: {integrity: sha512-TNdwZs0skRlpPpCUK25StC4VH+tP5GgeY1HQOOGP+lQ2xtdkN2VtT/5tiX9k3IWpkBPV9b3LsAWXn4GGi/PrSA==} - engines: {node: '>=0.10.0'} - - merge-descriptors@1.0.3: - resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==} - - merge-stream@2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - - merge2@1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} - - mermaid@11.12.2: - resolution: {integrity: sha512-n34QPDPEKmaeCG4WDMGy0OT6PSyxKCfy2pJgShP+Qow2KLrvWjclwbc3yXfSIf4BanqWEhQEpngWwNp/XhZt6w==} - - methods@1.1.2: - resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} - engines: {node: '>= 0.6'} - - microevent.ts@0.1.1: - resolution: {integrity: sha512-jo1OfR4TaEwd5HOrt5+tAZ9mqT4jmpNAusXtyfNzqVm9uiSYFZlKM1wYL4oU7azZW/PxQW53wM0S6OR1JHNa2g==} + mdn-data@2.12.2: + resolution: {integrity: sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==} micromark-core-commonmark@2.0.3: resolution: {integrity: sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==} @@ -6376,12 +2541,6 @@ packages: micromark-extension-directive@3.0.2: resolution: {integrity: sha512-wjcXHgk+PPdmvR58Le9d7zQYWy+vKEU9Se44p2CrCDPiLr2FMyiT4Fyb5UFKFC66wGB3kPlgD7q3TnoqPS7SZA==} - micromark-extension-directive@4.0.0: - resolution: {integrity: sha512-/C2nqVmXXmiseSSuCdItCMho7ybwwop6RrrRPk0KbOHW21JKoCldC+8rFOaundDoRBUWBnJJcxeA/Kvi34WQXg==} - - micromark-extension-frontmatter@2.0.0: - resolution: {integrity: sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==} - micromark-extension-gfm-autolink-literal@2.1.0: resolution: {integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==} @@ -6403,9 +2562,6 @@ packages: micromark-extension-gfm@3.0.0: resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} - micromark-extension-math@3.1.0: - resolution: {integrity: sha512-lvEqd+fHjATVs+2v/8kg9i5Q0AP2k85H0WUOwpIVvUML8BapsMvh1XAogmQjOCsLpoKRCVQqEkQBB3NhVBcsOg==} - micromark-extension-mdx-expression@3.0.1: resolution: {integrity: sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q==} @@ -6430,9 +2586,6 @@ packages: micromark-factory-mdx-expression@2.0.3: resolution: {integrity: sha512-kQnEtA3vzucU2BkrIa8/VaSAsP+EJ3CKOvhMuJgOEGg9KDC6OAY6nSnNDVRiVNRqj7Y4SlSzcStaH/5jge8JdQ==} - micromark-factory-space@1.1.0: - resolution: {integrity: sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==} - micromark-factory-space@2.0.1: resolution: {integrity: sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==} @@ -6442,9 +2595,6 @@ packages: micromark-factory-whitespace@2.0.1: resolution: {integrity: sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==} - micromark-util-character@1.2.0: - resolution: {integrity: sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==} - micromark-util-character@2.1.1: resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==} @@ -6484,12887 +2634,4549 @@ packages: micromark-util-subtokenize@2.1.0: resolution: {integrity: sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==} - micromark-util-symbol@1.1.0: - resolution: {integrity: sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==} - micromark-util-symbol@2.0.1: resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==} - micromark-util-types@1.1.0: - resolution: {integrity: sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==} - micromark-util-types@2.0.2: resolution: {integrity: sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==} micromark@4.0.2: resolution: {integrity: sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==} - micromatch@3.1.10: - resolution: {integrity: sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==} - engines: {node: '>=0.10.0'} - micromatch@4.0.8: resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} - mime-db@1.33.0: - resolution: {integrity: sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==} - engines: {node: '>= 0.6'} - - mime-db@1.52.0: - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} - engines: {node: '>= 0.6'} - - mime-db@1.54.0: - resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==} - engines: {node: '>= 0.6'} - - mime-types@2.1.18: - resolution: {integrity: sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==} - engines: {node: '>= 0.6'} - - mime-types@2.1.35: - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} - engines: {node: '>= 0.6'} - - mime-types@3.0.2: - resolution: {integrity: sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==} - engines: {node: '>=18'} - - mime@1.6.0: - resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} - engines: {node: '>=4'} - hasBin: true - - mimic-fn@2.1.0: - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} - engines: {node: '>=6'} - - mimic-response@1.0.1: - resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} - engines: {node: '>=4'} - - mimic-response@3.1.0: - resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} - engines: {node: '>=10'} - - mimic-response@4.0.0: - resolution: {integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - mini-css-extract-plugin@2.9.4: - resolution: {integrity: sha512-ZWYT7ln73Hptxqxk2DxPU9MmapXRhxkJD6tkSR04dnQxm8BGu2hzgKLugK5yySD97u/8yy7Ma7E76k9ZdvtjkQ==} - engines: {node: '>= 12.13.0'} - peerDependencies: - webpack: ^5.0.0 - - minimalistic-assert@1.0.1: - resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} - minimatch@10.1.1: resolution: {integrity: sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==} engines: {node: 20 || >=22} - minimatch@3.0.4: - resolution: {integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==} - - minimatch@3.0.8: - resolution: {integrity: sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==} - - minimatch@3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - minimatch@5.1.6: resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} engines: {node: '>=10'} - minimist@1.2.8: - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - minipass@7.1.2: resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} engines: {node: '>=16 || 14 >=14.17'} - mitt@3.0.1: - resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} - - mixin-deep@1.3.2: - resolution: {integrity: sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==} - engines: {node: '>=0.10.0'} - - mkdirp@0.5.6: - resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} - hasBin: true - - mlly@1.8.0: - resolution: {integrity: sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==} - - moo@0.5.2: - resolution: {integrity: sha512-iSAJLHYKnX41mKcJKjqvnAN9sf0LMDTXDEvFv+ffuRR9a1MIuXLjMNL6EsnDHSkKLTWNqQQ5uo61P4EbU4NU+Q==} - mrmime@2.0.1: resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==} engines: {node: '>=10'} - ms@2.0.0: - resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} - - ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - multicast-dns@7.2.5: - resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==} - hasBin: true - nanoid@3.3.11: resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - nanomatch@1.2.13: - resolution: {integrity: sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==} - engines: {node: '>=0.10.0'} - - nearley@2.20.1: - resolution: {integrity: sha512-+Mc8UaAebFzgV+KpI5n7DasuuQCHA89dmwm7JXw3TV43ukfNQ9DnBH3Mdb2g/I4Fdxc26pwimBWvjIw0UAILSQ==} - hasBin: true - - negotiator@0.6.3: - resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} - engines: {node: '>= 0.6'} - - negotiator@0.6.4: - resolution: {integrity: sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==} - engines: {node: '>= 0.6'} - - neo-async@2.6.2: - resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} - - nice-try@1.0.5: - resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} + neotraverse@0.6.18: + resolution: {integrity: sha512-Z4SmBUweYa09+o6pG+eASabEpP6QkQ70yHj351pQoEXIs8uHbaU2DWVmzBANKgflPa47A50PtB2+NgRpQvr7vA==} + engines: {node: '>= 10'} - no-case@3.0.4: - resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} + nlcst-to-string@4.0.0: + resolution: {integrity: sha512-YKLBCcUYKAg0FNlOBT6aI91qFmSiFKiluk655WzPF+DDMA02qIyy8uiRqI8QXtcFpEvll12LpL5MXqEmAZ+dcA==} node-addon-api@7.1.1: resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==} - node-emoji@2.2.0: - resolution: {integrity: sha512-Z3lTE9pLaJF47NyMhd4ww1yFTAP8YhYI8SleJiHzM46Fgpm5cnNzSl9XfzFNqbaz+VlJrIj3fXQ4DeN1Rjm6cw==} - engines: {node: '>=18'} - - node-forge@1.3.3: - resolution: {integrity: sha512-rLvcdSyRCyouf6jcOIPe/BgwG/d7hKjzMKOas33/pHEr6gbq18IK9zV7DiPvzsz0oBJPme6qr6H6kGZuI9/DZg==} - engines: {node: '>= 6.13.0'} + node-fetch-native@1.6.7: + resolution: {integrity: sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==} - node-releases@1.1.77: - resolution: {integrity: sha512-rB1DUFUNAN4Gn9keO2K1efO35IDK7yKHCdCaIMvFO7yUYmmZYeDjnGKle26G4rwj+LKRQpjyUUvMkPglwGCYNQ==} + node-mock-http@1.0.4: + resolution: {integrity: sha512-8DY+kFsDkNXy1sJglUfuODx1/opAGJGyrTuFqEoN90oRc2Vk0ZbD4K2qmKXBBEhZQzdKHIVfEJpDU8Ak2NJEvQ==} node-releases@2.0.27: resolution: {integrity: sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==} - normalize-package-data@2.5.0: - resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} - normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} - normalize-range@0.1.2: - resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} - engines: {node: '>=0.10.0'} - - normalize-url@2.0.1: - resolution: {integrity: sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==} - engines: {node: '>=4'} - - normalize-url@3.3.0: - resolution: {integrity: sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==} - engines: {node: '>=6'} - - normalize-url@8.1.0: - resolution: {integrity: sha512-X06Mfd/5aKsRHc0O0J5CUedwnPmnDtLF2+nq+KN9KSDlJHkPuh0JUviWjEWMe0SW/9TDdSLVPuk7L5gGTIA1/w==} - engines: {node: '>=14.16'} - - npm-conf@1.1.3: - resolution: {integrity: sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==} - engines: {node: '>=4'} - - npm-run-path@2.0.2: - resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==} - engines: {node: '>=4'} - - npm-run-path@4.0.1: - resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} - engines: {node: '>=8'} - - nprogress@0.2.0: - resolution: {integrity: sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==} - - nth-check@1.0.2: - resolution: {integrity: sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==} - nth-check@2.1.1: resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} - null-loader@4.0.1: - resolution: {integrity: sha512-pxqVbi4U6N26lq+LmgIbB5XATP0VdZKOG25DhHi8btMmJJefGArFyDg1yc4U3hWCJbMqSrw0qyrz1UQX+qYXqg==} - engines: {node: '>= 10.13.0'} - peerDependencies: - webpack: ^4.0.0 || ^5.0.0 - - num2fraction@1.2.2: - resolution: {integrity: sha512-Y1wZESM7VUThYY+4W+X4ySH2maqcA+p7UR+w8VWNWVAd6lwuXXWz/w/Cz43J/dI2I+PS6wD5N+bJUF+gjWvIqg==} - - oauth-sign@0.9.0: - resolution: {integrity: sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==} - - object-assign@4.1.1: - resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} - engines: {node: '>=0.10.0'} - - object-copy@0.1.0: - resolution: {integrity: sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==} - engines: {node: '>=0.10.0'} - object-inspect@1.13.4: resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} engines: {node: '>= 0.4'} - object-is@1.1.6: - resolution: {integrity: sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==} - engines: {node: '>= 0.4'} - object-keys@1.1.1: resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} engines: {node: '>= 0.4'} - object-visit@1.0.1: - resolution: {integrity: sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==} - engines: {node: '>=0.10.0'} - object.assign@4.1.7: resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} engines: {node: '>= 0.4'} - object.entries@1.1.9: - resolution: {integrity: sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==} - engines: {node: '>= 0.4'} + ofetch@1.5.1: + resolution: {integrity: sha512-2W4oUZlVaqAPAil6FUg/difl6YhqhUR7x2eZY4bQCko22UXg3hptq9KLQdqFClV+Wu85UX7hNtdGTngi/1BxcA==} - object.fromentries@2.0.8: - resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} - engines: {node: '>= 0.4'} + ohash@2.0.11: + resolution: {integrity: sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==} - object.getownpropertydescriptors@2.1.9: - resolution: {integrity: sha512-mt8YM6XwsTTovI+kdZdHSxoyF2DI59up034orlC9NfweclcWOt7CVascNNLp6U+bjFVCVCIh9PwS76tDM/rH8g==} - engines: {node: '>= 0.4'} + oniguruma-parser@0.12.1: + resolution: {integrity: sha512-8Unqkvk1RYc6yq2WBYRj4hdnsAxVze8i7iPfQr8e4uSP3tRv0rpZcbGUDvxfQQcdwHt/e9PrMvGCsa8OqG9X3w==} - object.pick@1.3.0: - resolution: {integrity: sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==} - engines: {node: '>=0.10.0'} + oniguruma-to-es@4.3.4: + resolution: {integrity: sha512-3VhUGN3w2eYxnTzHn+ikMI+fp/96KoRSVK9/kMTcFqj1NRDh2IhQCKvYxDnWePKRXY/AqH+Fuiyb7VHSzBjHfA==} - object.values@1.2.1: - resolution: {integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==} + own-keys@1.0.1: + resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==} engines: {node: '>= 0.4'} - obuf@1.1.2: - resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} + p-limit@6.2.0: + resolution: {integrity: sha512-kuUqqHNUqoIWp/c467RI4X6mmyuojY5jGutNU0wVTmEOOfcuwLqyMVoAi9MKi2Ak+5i9+nhmrK4ufZE8069kHA==} + engines: {node: '>=18'} - on-finished@2.4.1: - resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} - engines: {node: '>= 0.8'} + p-queue@8.1.1: + resolution: {integrity: sha512-aNZ+VfjobsWryoiPnEApGGmf5WmNsCo9xu8dfaYamG5qaLP7ClhLN6NgsFe6SwJ2UbLEBK5dv9x8Mn5+RVhMWQ==} + engines: {node: '>=18'} - on-headers@1.1.0: - resolution: {integrity: sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==} - engines: {node: '>= 0.8'} + p-timeout@6.1.4: + resolution: {integrity: sha512-MyIV3ZA/PmyBN/ud8vV9XzwTrNtR4jFrObymZYnZqMmW0zA8Z17vnT0rBgFE/TlohB+YCHqXMgZzb3Csp49vqg==} + engines: {node: '>=14.16'} - once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + package-json-from-dist@1.0.1: + resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} - onetime@5.1.2: - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} - engines: {node: '>=6'} + package-manager-detector@1.6.0: + resolution: {integrity: sha512-61A5ThoTiDG/C8s8UMZwSorAGwMJ0ERVGj2OjoW5pAalsNOg15+iQiPzrLJ4jhZ1HJzmC2PIHT2oEiH3R5fzNA==} - open@10.2.0: - resolution: {integrity: sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==} - engines: {node: '>=18'} + pagefind@1.4.0: + resolution: {integrity: sha512-z2kY1mQlL4J8q5EIsQkLzQjilovKzfNVhX8De6oyE6uHpfFtyBaqUpcl/XzJC/4fjD8vBDyh1zolimIcVrCn9g==} + hasBin: true - open@7.4.2: - resolution: {integrity: sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==} - engines: {node: '>=8'} + pako@0.2.9: + resolution: {integrity: sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==} - open@8.4.2: - resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} - engines: {node: '>=12'} + parse-entities@4.0.2: + resolution: {integrity: sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==} - opener@1.5.2: - resolution: {integrity: sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==} - hasBin: true + parse-latin@7.0.0: + resolution: {integrity: sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ==} - optipng-bin@5.1.0: - resolution: {integrity: sha512-9baoqZTNNmXQjq/PQTWEXbVV3AMO2sI/GaaqZJZ8SExfAzjijeAP7FEeT+TtyumSw7gr0PZtSUYB/Ke7iHQVKA==} - engines: {node: '>=6'} - hasBin: true + parse5@7.3.0: + resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==} - os-filter-obj@2.0.0: - resolution: {integrity: sha512-uksVLsqG3pVdzzPvmAHpBK0wKxYItuzZr7SziusRPoz67tGV8rL1szZ6IdeUrbqLjGDwApBtN29eEE3IqGHOjg==} - engines: {node: '>=4'} + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} - own-keys@1.0.1: - resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==} - engines: {node: '>= 0.4'} + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - p-cancelable@0.3.0: - resolution: {integrity: sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==} - engines: {node: '>=4'} + path-scurry@2.0.1: + resolution: {integrity: sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA==} + engines: {node: 20 || >=22} - p-cancelable@0.4.1: - resolution: {integrity: sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==} - engines: {node: '>=4'} + piccolore@0.1.3: + resolution: {integrity: sha512-o8bTeDWjE086iwKrROaDf31K0qC/BENdm15/uH9usSC/uZjJOKb2YGiVHfLY4GhwsERiPI1jmwI2XrA7ACOxVw==} - p-cancelable@3.0.0: - resolution: {integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==} - engines: {node: '>=12.20'} + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} - p-event@1.3.0: - resolution: {integrity: sha512-hV1zbA7gwqPVFcapfeATaNjQ3J0NuzorHPyG8GPL9g/Y/TplWVBVoCKCXL6Ej2zscrCEv195QNWJXuBH6XZuzA==} - engines: {node: '>=4'} + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} - p-event@2.3.1: - resolution: {integrity: sha512-NQCqOFhbpVTMX4qMe8PF8lbGtzZ+LCiN7pcNrb/413Na7+TRoe1xkKUzuWa/YEJdGQ0FvKtj35EEbDoVPO2kbA==} - engines: {node: '>=6'} + picomatch@4.0.3: + resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} + engines: {node: '>=12'} - p-finally@1.0.0: - resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} - engines: {node: '>=4'} + possible-typed-array-names@1.1.0: + resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} + engines: {node: '>= 0.4'} + + postcss-nested@6.2.0: + resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.2.14 - p-is-promise@1.1.0: - resolution: {integrity: sha512-zL7VE4JVS2IFSkR2GQKDSPEVxkoH43/p7oEnwpdCndKYJO0HVeRB7fA8TJwuLOTBREtK0ea8eHaxdwcpob5dmg==} + postcss-selector-parser@6.1.2: + resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} engines: {node: '>=4'} - p-limit@2.3.0: - resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + postcss@8.5.6: + resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} + engines: {node: ^10 || ^12 || >=14} + + pretty-bytes@5.6.0: + resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} engines: {node: '>=6'} - p-limit@4.0.0: - resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + pretty-bytes@6.1.1: + resolution: {integrity: sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==} + engines: {node: ^14.13.1 || >=16.0.0} - p-locate@3.0.0: - resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} + prismjs@1.30.0: + resolution: {integrity: sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==} engines: {node: '>=6'} - p-locate@4.1.0: - resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} - engines: {node: '>=8'} + prompts@2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} - p-locate@6.0.0: - resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + property-information@7.1.0: + resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==} - p-map-series@1.0.0: - resolution: {integrity: sha512-4k9LlvY6Bo/1FcIdV33wqZQES0Py+iKISU9Uc8p8AjWoZPnFKMpVIVD3s0EYn4jzLh1I+WeUZkJ0Yoa4Qfw3Kg==} - engines: {node: '>=4'} + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} - p-map@4.0.0: - resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} - engines: {node: '>=10'} + radix3@1.1.2: + resolution: {integrity: sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==} - p-pipe@1.2.0: - resolution: {integrity: sha512-IA8SqjIGA8l9qOksXJvsvkeQ+VGb0TAzNCzvKvz9wt5wWLqfWbV6fXy43gpR2L4Te8sOq3S+Ql9biAaMKPdbtw==} - engines: {node: '>=4'} + randombytes@2.1.0: + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} - p-queue@6.6.2: - resolution: {integrity: sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==} - engines: {node: '>=8'} + react-dom@19.2.3: + resolution: {integrity: sha512-yELu4WmLPw5Mr/lmeEpox5rw3RETacE++JgHqQzd2dg+YbJuat3jH4ingc+WPZhxaoFzdv9y33G+F7Nl5O0GBg==} + peerDependencies: + react: ^19.2.3 - p-reduce@1.0.0: - resolution: {integrity: sha512-3Tx1T3oM1xO/Y8Gj0sWyE78EIJZ+t+aEmXUdvQgvGmSMri7aPTHoovbXEreWKkL5j21Er60XAWLTzKbAKYOujQ==} - engines: {node: '>=4'} + react@19.2.3: + resolution: {integrity: sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA==} + engines: {node: '>=0.10.0'} - p-retry@6.2.1: - resolution: {integrity: sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==} - engines: {node: '>=16.17'} + readdirp@4.1.2: + resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} + engines: {node: '>= 14.18.0'} - p-timeout@1.2.1: - resolution: {integrity: sha512-gb0ryzr+K2qFqFv6qi3khoeqMZF/+ajxQipEF6NteZVnvz9tzdsfAVj3lYtn1gAXvH5lfLwfxEII799gt/mRIA==} - engines: {node: '>=4'} + recma-build-jsx@1.0.0: + resolution: {integrity: sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==} - p-timeout@2.0.1: - resolution: {integrity: sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==} - engines: {node: '>=4'} + recma-jsx@1.0.1: + resolution: {integrity: sha512-huSIy7VU2Z5OLv6oFLosQGGDqPqdO1iq6bWNAdhzMxSJP7RAso4fCZ1cKu8j9YHCZf3TPrq4dw3okhrylgcd7w==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - p-timeout@3.2.0: - resolution: {integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==} - engines: {node: '>=8'} + recma-parse@1.0.0: + resolution: {integrity: sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==} - p-try@2.2.0: - resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} - engines: {node: '>=6'} + recma-stringify@1.0.0: + resolution: {integrity: sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==} - package-json-from-dist@1.0.1: - resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} + reflect.getprototypeof@1.0.10: + resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==} + engines: {node: '>= 0.4'} - package-json@8.1.1: - resolution: {integrity: sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA==} - engines: {node: '>=14.16'} + regenerate-unicode-properties@10.2.2: + resolution: {integrity: sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g==} + engines: {node: '>=4'} - package-manager-detector@1.6.0: - resolution: {integrity: sha512-61A5ThoTiDG/C8s8UMZwSorAGwMJ0ERVGj2OjoW5pAalsNOg15+iQiPzrLJ4jhZ1HJzmC2PIHT2oEiH3R5fzNA==} + regenerate@1.4.2: + resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} - param-case@3.0.4: - resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} + regex-recursion@6.0.2: + resolution: {integrity: sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==} - parent-module@1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} + regex-utilities@2.3.0: + resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==} - parse-entities@4.0.2: - resolution: {integrity: sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==} + regex@6.1.0: + resolution: {integrity: sha512-6VwtthbV4o/7+OaAF9I5L5V3llLEsoPyq9P1JVXkedTP33c7MfCG0/5NOPcSJn0TzXcG9YUrR0gQSWioew3LDg==} - parse-json@2.2.0: - resolution: {integrity: sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==} - engines: {node: '>=0.10.0'} + regexp.prototype.flags@1.5.4: + resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==} + engines: {node: '>= 0.4'} - parse-json@4.0.0: - resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} + regexpu-core@6.4.0: + resolution: {integrity: sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA==} engines: {node: '>=4'} - parse-json@5.2.0: - resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} - engines: {node: '>=8'} - - parse-numeric-range@1.3.0: - resolution: {integrity: sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==} - - parse5-htmlparser2-tree-adapter@7.1.0: - resolution: {integrity: sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==} - - parse5-parser-stream@7.1.2: - resolution: {integrity: sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==} + regjsgen@0.8.0: + resolution: {integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==} - parse5@7.3.0: - resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==} + regjsparser@0.13.0: + resolution: {integrity: sha512-NZQZdC5wOE/H3UT28fVGL+ikOZcEzfMGk/c3iN9UGxzWHMa1op7274oyiUVrAG4B2EuFhus8SvkaYnhvW92p9Q==} + hasBin: true - parseurl@1.3.3: - resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} - engines: {node: '>= 0.8'} + rehype-expressive-code@0.41.4: + resolution: {integrity: sha512-qEUKfh/Aw9VZSUCXnJef41o7lpfnhXmQdXTkP2ZWGibSk4SoJVJ4ra1xN1t+hL1rp0d0GPKZ1CpM3q6bjV0xbg==} - pascal-case@3.1.2: - resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} + rehype-format@5.0.1: + resolution: {integrity: sha512-zvmVru9uB0josBVpr946OR8ui7nJEdzZobwLOOqHb/OOD88W0Vk2SqLwoVOj0fM6IPCCO6TaV9CvQvJMWwukFQ==} - pascalcase@0.1.1: - resolution: {integrity: sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==} - engines: {node: '>=0.10.0'} + rehype-parse@9.0.1: + resolution: {integrity: sha512-ksCzCD0Fgfh7trPDxr2rSylbwq9iYDkSn8TCDmEJ49ljEUBxDVCzCHv7QNzZOfODanX4+bWQ4WZqLCRWYLfhag==} - path-data-parser@0.1.0: - resolution: {integrity: sha512-NOnmBpt5Y2RWbuv0LMzsayp3lVylAHLPUTut412ZA3l+C4uw4ZVkQbjShYCQ8TCpUMdPapr4YjUqLYD6v68j+w==} + rehype-raw@7.0.0: + resolution: {integrity: sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==} - path-dirname@1.0.2: - resolution: {integrity: sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==} + rehype-recma@1.0.0: + resolution: {integrity: sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==} - path-exists@2.1.0: - resolution: {integrity: sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==} - engines: {node: '>=0.10.0'} + rehype-stringify@10.0.1: + resolution: {integrity: sha512-k9ecfXHmIPuFVI61B9DeLPN0qFHfawM6RsuX48hoqlaKSF61RskNjSm1lI8PhBEM0MRdLxVVm4WmTqJQccH9mA==} - path-exists@3.0.0: - resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} - engines: {node: '>=4'} + rehype@13.0.2: + resolution: {integrity: sha512-j31mdaRFrwFRUIlxGeuPXXKWQxet52RBQRvCmzl5eCefn/KGbomK5GMHNMsOJf55fgo3qw5tST5neDuarDYR2A==} - path-exists@4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} + remark-directive@3.0.1: + resolution: {integrity: sha512-gwglrEQEZcZYgVyG1tQuA+h58EZfq5CSULw7J90AFuCTyib1thgHPoqQ+h9iFvU6R+vnZ5oNFQR5QKgGpk741A==} - path-exists@5.0.0: - resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + remark-gfm@4.0.1: + resolution: {integrity: sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==} - path-is-absolute@1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} + remark-mdx@3.1.1: + resolution: {integrity: sha512-Pjj2IYlUY3+D8x00UJsIOg5BEvfMyeI+2uLPn9VO9Wg4MEtN/VTIq2NEJQfde9PnX15KgtHyl9S0BcTnWrIuWg==} - path-is-inside@1.0.2: - resolution: {integrity: sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==} + remark-parse@11.0.0: + resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==} - path-key@2.0.1: - resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==} - engines: {node: '>=4'} + remark-rehype@11.1.2: + resolution: {integrity: sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==} - path-key@3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} + remark-smartypants@3.0.2: + resolution: {integrity: sha512-ILTWeOriIluwEvPjv67v7Blgrcx+LZOkAUVtKI3putuhlZm84FnqDORNXPPm+HY3NdZOMhyDwZ1E+eZB/Df5dA==} + engines: {node: '>=16.0.0'} - path-parse@1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + remark-stringify@11.0.0: + resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} - path-root-regex@0.1.2: - resolution: {integrity: sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ==} + require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} - path-root@0.1.1: - resolution: {integrity: sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==} - engines: {node: '>=0.10.0'} + resolve@1.22.11: + resolution: {integrity: sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==} + engines: {node: '>= 0.4'} + hasBin: true - path-scurry@2.0.1: - resolution: {integrity: sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA==} - engines: {node: 20 || >=22} + restructure@3.0.2: + resolution: {integrity: sha512-gSfoiOEA0VPE6Tukkrr7I0RBdE0s7H1eFCDBk05l1KIQT1UIKNc5JZy6jdyW6eYH3aR3g5b3PuL77rq0hvwtAw==} - path-to-regexp@0.1.12: - resolution: {integrity: sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==} + retext-latin@4.0.0: + resolution: {integrity: sha512-hv9woG7Fy0M9IlRQloq/N6atV82NxLGveq+3H2WOi79dtIYWN8OaxogDm77f8YnVXJL2VD3bbqowu5E3EMhBYA==} - path-to-regexp@1.9.0: - resolution: {integrity: sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==} + retext-smartypants@6.2.0: + resolution: {integrity: sha512-kk0jOU7+zGv//kfjXEBjdIryL1Acl4i9XNkHxtM7Tm5lFiCog576fjNC9hjoR7LTKQ0DsPWy09JummSsH1uqfQ==} - path-to-regexp@3.3.0: - resolution: {integrity: sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw==} + retext-stringify@4.0.0: + resolution: {integrity: sha512-rtfN/0o8kL1e+78+uxPTqu1Klt0yPzKuQ2BfWwwfgIUSayyzxpM1PJzkKt4V8803uB9qSy32MvI7Xep9khTpiA==} - path-type@1.1.0: - resolution: {integrity: sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==} - engines: {node: '>=0.10.0'} + retext@9.0.0: + resolution: {integrity: sha512-sbMDcpHCNjvlheSgMfEcVrZko3cDzdbe1x/e7G66dFp0Ff7Mldvi2uv6JkJQzdRcvLYE8CA8Oe8siQx8ZOgTcA==} - path-type@3.0.0: - resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} - engines: {node: '>=4'} + rollup@2.79.2: + resolution: {integrity: sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ==} + engines: {node: '>=10.0.0'} + hasBin: true - path-type@4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} + rollup@4.53.5: + resolution: {integrity: sha512-iTNAbFSlRpcHeeWu73ywU/8KuU/LZmNCSxp6fjQkJBD3ivUb8tpDrXhIxEzA05HlYMEwmtaUnb3RP+YNv162OQ==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true - path-type@6.0.0: - resolution: {integrity: sha512-Vj7sf++t5pBD637NSfkxpHSMfWaeig5+DKWLhcqIYx6mWQz5hdJTGDVMQiJcw1ZYkhs7AazKDGpRVji1LJCZUQ==} - engines: {node: '>=18'} + rxjs@7.8.2: + resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==} - pathe@2.0.3: - resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} + safe-array-concat@1.1.3: + resolution: {integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==} + engines: {node: '>=0.4'} - pend@1.2.0: - resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - performance-now@2.1.0: - resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==} + safe-push-apply@1.0.0: + resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==} + engines: {node: '>= 0.4'} - picocolors@0.2.1: - resolution: {integrity: sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==} + safe-regex-test@1.1.0: + resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} + engines: {node: '>= 0.4'} - picocolors@1.1.1: - resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + sass-embedded-android-arm64@1.83.0: + resolution: {integrity: sha512-GBiCvM4a2rkWBLdYDxI6XYnprfk5U5c81g69RC2X6kqPuzxzx8qTArQ9M6keFK4+iDQ5N9QTwFCr0KbZTn+ZNQ==} + engines: {node: '>=14.0.0'} + cpu: [arm64] + os: [android] - picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} + sass-embedded-android-arm@1.83.0: + resolution: {integrity: sha512-uwFSXzJlfbd4Px189xE5l+cxN8+TQpXdQgJec7TIrb4HEY7imabtpYufpVdqUVwT1/uiis5V4+qIEC4Vl5XObQ==} + engines: {node: '>=14.0.0'} + cpu: [arm] + os: [android] - picomatch@4.0.3: - resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} - engines: {node: '>=12'} + sass-embedded-android-ia32@1.83.0: + resolution: {integrity: sha512-5ATPdGo2SICqAhiJl/Z8KQ23zH4sGgobGgux0TnrNtt83uHZ+r+To/ubVJ7xTkZxed+KJZnIpolGD8dQyQqoTg==} + engines: {node: '>=14.0.0'} + cpu: [ia32] + os: [android] - pify@2.3.0: - resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} - engines: {node: '>=0.10.0'} + sass-embedded-android-riscv64@1.83.0: + resolution: {integrity: sha512-aveknUOB8GZewOzVn2Uwk+DKcncTR50Q6vtzslNMGbYnxtgQNHzy8A1qVEviNUruex+pHofppeMK4iMPFAbiEQ==} + engines: {node: '>=14.0.0'} + cpu: [riscv64] + os: [android] - pify@3.0.0: - resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} - engines: {node: '>=4'} + sass-embedded-android-x64@1.83.0: + resolution: {integrity: sha512-WqIay/72ncyf9Ph4vS742J3a73wZihWmzFUwpn1OD6lme1Aj4eWzWIve5IVnlTEJgcZcDHu6ECID9IZgehJKoA==} + engines: {node: '>=14.0.0'} + cpu: [x64] + os: [android] - pify@4.0.1: - resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} - engines: {node: '>=6'} + sass-embedded-darwin-arm64@1.83.0: + resolution: {integrity: sha512-XQl9QqgxFFIPm/CzHhmppse5o9ocxrbaAdC2/DAnlAqvYWBBtgFqPjGoYlej13h9SzfvNoogx+y9r+Ap+e+hYg==} + engines: {node: '>=14.0.0'} + cpu: [arm64] + os: [darwin] - pinkie-promise@2.0.1: - resolution: {integrity: sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==} - engines: {node: '>=0.10.0'} + sass-embedded-darwin-x64@1.83.0: + resolution: {integrity: sha512-ERQ7Tvp1kFOW3ux4VDFIxb7tkYXHYc+zJpcrbs0hzcIO5ilIRU2tIOK1OrNwrFO6Qxyf7AUuBwYKLAtIU/Nz7g==} + engines: {node: '>=14.0.0'} + cpu: [x64] + os: [darwin] - pinkie@2.0.4: - resolution: {integrity: sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==} - engines: {node: '>=0.10.0'} + sass-embedded-linux-arm64@1.83.0: + resolution: {integrity: sha512-syEAVTJt4qhaMLxrSwOWa46zdqHJdnqJkLUK+t9aCr8xqBZLPxSUeIGji76uOehQZ1C+KGFj6n9xstHN6wzOJw==} + engines: {node: '>=14.0.0'} + cpu: [arm64] + os: [linux] - pirates@4.0.7: - resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==} - engines: {node: '>= 6'} + sass-embedded-linux-arm@1.83.0: + resolution: {integrity: sha512-baG9RYBJxUFmqwDNC9h9ZFElgJoyO3jgHGjzEZ1wHhIS9anpG+zZQvO8bHx3dBpKEImX+DBeLX+CxsFR9n81gQ==} + engines: {node: '>=14.0.0'} + cpu: [arm] + os: [linux] - pkg-dir@3.0.0: - resolution: {integrity: sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==} - engines: {node: '>=6'} + sass-embedded-linux-ia32@1.83.0: + resolution: {integrity: sha512-RRBxQxMpoxu5+XcSSc6QR/o9asEwUzR8AbCS83RaXcdTIHTa/CccQsiAoDDoPlRsMTLqnzs0LKL4CfOsf7zBbA==} + engines: {node: '>=14.0.0'} + cpu: [ia32] + os: [linux] - pkg-dir@7.0.0: - resolution: {integrity: sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==} - engines: {node: '>=14.16'} + sass-embedded-linux-musl-arm64@1.83.0: + resolution: {integrity: sha512-Y7juhPHClUO2H5O+u+StRy6SEAcwZ+hTEk5WJdEmo1Bb1gDtfHvJaWB/iFZJ2tW0W1e865AZeUrC4OcOFjyAQA==} + engines: {node: '>=14.0.0'} + cpu: [arm64] + os: [linux] - pkg-types@1.3.1: - resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} + sass-embedded-linux-musl-arm@1.83.0: + resolution: {integrity: sha512-Yc7u2TelCfBab+PRob9/MNJFh3EooMiz4urvhejXkihTiKSHGCv5YqDdtWzvyb9tY2Jb7YtYREVuHwfdVn3dTQ==} + engines: {node: '>=14.0.0'} + cpu: [arm] + os: [linux] - pkg-up@3.1.0: - resolution: {integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==} - engines: {node: '>=8'} + sass-embedded-linux-musl-ia32@1.83.0: + resolution: {integrity: sha512-arQeYwGmwXV8byx5G1PtSzZWW1jbkfR5qrIHMEbTFSAvAxpqjgSvCvrHMOFd73FcMxVaYh4BX9LQNbKinkbEdg==} + engines: {node: '>=14.0.0'} + cpu: [ia32] + os: [linux] - points-on-curve@0.2.0: - resolution: {integrity: sha512-0mYKnYYe9ZcqMCWhUjItv/oHjvgEsfKvnUTg8sAtnHr3GVy7rGkXCb6d5cSyqrWqL4k81b9CPg3urd+T7aop3A==} + sass-embedded-linux-musl-riscv64@1.83.0: + resolution: {integrity: sha512-E6uzlIWz59rut+Z3XR6mLG915zNzv07ISvj3GUNZENdHM7dF8GQ//ANoIpl5PljMQKp89GnYdvo6kj2gnaBf/g==} + engines: {node: '>=14.0.0'} + cpu: [riscv64] + os: [linux] - points-on-path@0.2.1: - resolution: {integrity: sha512-25ClnWWuw7JbWZcgqY/gJ4FQWadKxGWk+3kR/7kD0tCaDtPPMj7oHu2ToLaVhfpnHrZzYby2w6tUA0eOIuUg8g==} + sass-embedded-linux-musl-x64@1.83.0: + resolution: {integrity: sha512-eAMK6tyGqvqr21r9g8BnR3fQc1rYFj85RGduSQ3xkITZ6jOAnOhuU94N5fwRS852Hpws0lXhET+7JHXgg3U18w==} + engines: {node: '>=14.0.0'} + cpu: [x64] + os: [linux] - portfinder@1.0.38: - resolution: {integrity: sha512-rEwq/ZHlJIKw++XtLAO8PPuOQA/zaPJOZJ37BVuN97nLpMJeuDVLVGRwbFoBgLudgdTMP2hdRJP++H+8QOA3vg==} - engines: {node: '>= 10.12'} + sass-embedded-linux-riscv64@1.83.0: + resolution: {integrity: sha512-Ojpi78pTv02sy2fUYirRGXHLY3fPnV/bvwuC2i5LwPQw2LpCcFyFTtN0c5h4LJDk9P6wr+/ZB/JXU8tHIOlK+Q==} + engines: {node: '>=14.0.0'} + cpu: [riscv64] + os: [linux] - posix-character-classes@0.1.1: - resolution: {integrity: sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==} - engines: {node: '>=0.10.0'} + sass-embedded-linux-x64@1.83.0: + resolution: {integrity: sha512-3iLjlXdoPfgZRtX4odhRvka1BQs5mAXqfCtDIQBgh/o0JnGPzJIWWl9bYLpHxK8qb+uyVBxXYgXpI0sCzArBOw==} + engines: {node: '>=14.0.0'} + cpu: [x64] + os: [linux] - possible-typed-array-names@1.1.0: - resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} - engines: {node: '>= 0.4'} + sass-embedded-win32-arm64@1.83.0: + resolution: {integrity: sha512-iOHw/8/t2dlTW3lOFwG5eUbiwhEyGWawivlKWJ8lkXH7fjMpVx2VO9zCFAm8RvY9xOHJ9sf1L7g5bx3EnNP9BQ==} + engines: {node: '>=14.0.0'} + cpu: [arm64] + os: [win32] - postcss-attribute-case-insensitive@7.0.1: - resolution: {integrity: sha512-Uai+SupNSqzlschRyNx3kbCTWgY/2hcwtHEI/ej2LJWc9JJ77qKgGptd8DHwY1mXtZ7Aoh4z4yxfwMBue9eNgw==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + sass-embedded-win32-ia32@1.83.0: + resolution: {integrity: sha512-2PxNXJ8Pad4geVcTXY4rkyTr5AwbF8nfrCTDv0ulbTvPhzX2mMKEGcBZUXWn5BeHZTBc6whNMfS7d5fQXR9dDQ==} + engines: {node: '>=14.0.0'} + cpu: [ia32] + os: [win32] - postcss-calc@7.0.5: - resolution: {integrity: sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg==} + sass-embedded-win32-x64@1.83.0: + resolution: {integrity: sha512-muBXkFngM6eLTNqOV0FQi7Dv9s+YRQ42Yem26mosdan/GmJQc81deto6uDTgrYn+bzFNmiXcOdfm+0MkTWK3OQ==} + engines: {node: '>=14.0.0'} + cpu: [x64] + os: [win32] - postcss-calc@9.0.1: - resolution: {integrity: sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.2.2 + sass-embedded@1.83.0: + resolution: {integrity: sha512-/8cYZeL39evUqe0o//193na51Q1VWZ61qhxioQvLJwOtWIrX+PgNhCyD8RSuTtmzc4+6+waFZf899bfp/MCUwA==} + engines: {node: '>=16.0.0'} + hasBin: true - postcss-clamp@4.1.0: - resolution: {integrity: sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==} - engines: {node: '>=7.6.0'} - peerDependencies: - postcss: ^8.4.6 + sass@1.96.0: + resolution: {integrity: sha512-8u4xqqUeugGNCYwr9ARNtQKTOj4KmYiJAVKXf2CTIivTCR51j96htbMKWDru8H5SaQWpyVgTfOF8Ylyf5pun1Q==} + engines: {node: '>=14.0.0'} + hasBin: true - postcss-color-functional-notation@7.0.12: - resolution: {integrity: sha512-TLCW9fN5kvO/u38/uesdpbx3e8AkTYhMvDZYa9JpmImWuTE99bDQ7GU7hdOADIZsiI9/zuxfAJxny/khknp1Zw==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-color-hex-alpha@10.0.0: - resolution: {integrity: sha512-1kervM2cnlgPs2a8Vt/Qbe5cQ++N7rkYo/2rz2BkqJZIHQwaVuJgQH38REHrAi4uM0b1fqxMkWYmese94iMp3w==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + sax@1.4.3: + resolution: {integrity: sha512-yqYn1JhPczigF94DMS+shiDMjDowYO6y9+wB/4WgO0Y19jWYk0lQ4tuG5KI7kj4FTp1wxPj5IFfcrz/s1c3jjQ==} - postcss-color-rebeccapurple@10.0.0: - resolution: {integrity: sha512-JFta737jSP+hdAIEhk1Vs0q0YF5P8fFcj+09pweS8ktuGuZ8pPlykHsk6mPxZ8awDl4TrcxUqJo9l1IhVr/OjQ==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + scheduler@0.27.0: + resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==} - postcss-colormin@4.0.3: - resolution: {integrity: sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==} - engines: {node: '>=6.9.0'} + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true - postcss-colormin@6.1.0: - resolution: {integrity: sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 + semver@7.7.3: + resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==} + engines: {node: '>=10'} + hasBin: true - postcss-convert-values@4.0.1: - resolution: {integrity: sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==} - engines: {node: '>=6.9.0'} + serialize-javascript@6.0.2: + resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} - postcss-convert-values@6.1.0: - resolution: {integrity: sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 + set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} - postcss-custom-media@11.0.6: - resolution: {integrity: sha512-C4lD4b7mUIw+RZhtY7qUbf4eADmb7Ey8BFA2px9jUbwg7pjTZDl4KY4bvlUV+/vXQvzQRfiGEVJyAbtOsCMInw==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + set-function-name@2.0.2: + resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} + engines: {node: '>= 0.4'} - postcss-custom-properties@14.0.6: - resolution: {integrity: sha512-fTYSp3xuk4BUeVhxCSJdIPhDLpJfNakZKoiTDx7yRGCdlZrSJR7mWKVOBS4sBF+5poPQFMj2YdXx1VHItBGihQ==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + set-proto@1.0.0: + resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==} + engines: {node: '>= 0.4'} - postcss-custom-selectors@8.0.5: - resolution: {integrity: sha512-9PGmckHQswiB2usSO6XMSswO2yFWVoCAuih1yl9FVcwkscLjRKjwsjM3t+NIWpSU2Jx3eOiK2+t4vVTQaoCHHg==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + sharp@0.34.5: + resolution: {integrity: sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - postcss-dir-pseudo-class@9.0.1: - resolution: {integrity: sha512-tRBEK0MHYvcMUrAuYMEOa0zg9APqirBcgzi6P21OhxtJyJADo/SWBwY1CAwEohQ/6HDaa9jCjLRG7K3PVQYHEA==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} - postcss-discard-comments@4.0.2: - resolution: {integrity: sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==} - engines: {node: '>=6.9.0'} + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} - postcss-discard-comments@6.0.2: - resolution: {integrity: sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 + shiki@3.20.0: + resolution: {integrity: sha512-kgCOlsnyWb+p0WU+01RjkCH+eBVsjL1jOwUYWv0YDWkM2/A46+LDKVs5yZCUXjJG6bj4ndFoAg5iLIIue6dulg==} - postcss-discard-duplicates@4.0.2: - resolution: {integrity: sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==} - engines: {node: '>=6.9.0'} + side-channel-list@1.0.0: + resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} + engines: {node: '>= 0.4'} - postcss-discard-duplicates@6.0.3: - resolution: {integrity: sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 + side-channel-map@1.0.1: + resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} + engines: {node: '>= 0.4'} - postcss-discard-empty@4.0.1: - resolution: {integrity: sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==} - engines: {node: '>=6.9.0'} + side-channel-weakmap@1.0.2: + resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} + engines: {node: '>= 0.4'} - postcss-discard-empty@6.0.3: - resolution: {integrity: sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 + side-channel@1.1.0: + resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} + engines: {node: '>= 0.4'} - postcss-discard-overridden@4.0.1: - resolution: {integrity: sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==} - engines: {node: '>=6.9.0'} + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} - postcss-discard-overridden@6.0.2: - resolution: {integrity: sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 + sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} - postcss-discard-unused@6.0.5: - resolution: {integrity: sha512-wHalBlRHkaNnNwfC8z+ppX57VhvS+HWgjW508esjdaEYr3Mx7Gnn2xA4R/CKf5+Z9S5qsqC+Uzh4ueENWwCVUA==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 + sitemap@8.0.2: + resolution: {integrity: sha512-LwktpJcyZDoa0IL6KT++lQ53pbSrx2c9ge41/SeLTyqy2XUNA6uR4+P9u5IVo5lPeL2arAcOKn1aZAxoYbCKlQ==} + engines: {node: '>=14.0.0', npm: '>=6.0.0'} + hasBin: true - postcss-double-position-gradients@6.0.4: - resolution: {integrity: sha512-m6IKmxo7FxSP5nF2l63QbCC3r+bWpFUWmZXZf096WxG0m7Vl1Q1+ruFOhpdDRmKrRS+S3Jtk+TVk/7z0+BVK6g==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + smob@1.5.0: + resolution: {integrity: sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig==} - postcss-focus-visible@10.0.1: - resolution: {integrity: sha512-U58wyjS/I1GZgjRok33aE8juW9qQgQUNwTSdxQGuShHzwuYdcklnvK/+qOWX1Q9kr7ysbraQ6ht6r+udansalA==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + smol-toml@1.5.2: + resolution: {integrity: sha512-QlaZEqcAH3/RtNyet1IPIYPsEWAaYyXXv1Krsi+1L/QHppjX4Ifm8MQsBISz9vE8cHicIq3clogsheili5vhaQ==} + engines: {node: '>= 18'} - postcss-focus-within@9.0.1: - resolution: {integrity: sha512-fzNUyS1yOYa7mOjpci/bR+u+ESvdar6hk8XNK/TRR0fiGTp2QT5N+ducP0n3rfH/m9I7H/EQU6lsa2BrgxkEjw==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} - postcss-font-variant@5.0.0: - resolution: {integrity: sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==} - peerDependencies: - postcss: ^8.1.0 + source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} - postcss-gap-properties@6.0.0: - resolution: {integrity: sha512-Om0WPjEwiM9Ru+VhfEDPZJAKWUd0mV1HmNXqp2C29z80aQ2uP9UVhLc7e3aYMIor/S5cVhoPgYQ7RtfeZpYTRw==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} - postcss-image-set-function@7.0.0: - resolution: {integrity: sha512-QL7W7QNlZuzOwBTeXEmbVckNt1FSmhQtbMRvGGqqU4Nf4xk6KUEQhAoWuMzwbSv5jxiRiSZ5Tv7eiDB9U87znA==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + source-map@0.7.6: + resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==} + engines: {node: '>= 12'} - postcss-lab-function@7.0.12: - resolution: {integrity: sha512-tUcyRk1ZTPec3OuKFsqtRzW2Go5lehW29XA21lZ65XmzQkz43VY2tyWEC202F7W3mILOjw0voOiuxRGTsN+J9w==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + source-map@0.8.0-beta.0: + resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} + engines: {node: '>= 8'} + deprecated: The work that was done in this beta branch won't be included in future versions - postcss-loader@7.3.4: - resolution: {integrity: sha512-iW5WTTBSC5BfsBJ9daFMPVrLT36MrNiC6fqOZTTaHjBNX6Pfd5p+hSBqe/fEeNd7pc13QiAyGt7VdGMw4eRC4A==} - engines: {node: '>= 14.15.0'} - peerDependencies: - postcss: ^7.0.0 || ^8.0.1 - webpack: ^5.0.0 + sourcemap-codec@1.4.8: + resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} + deprecated: Please use @jridgewell/sourcemap-codec instead - postcss-logical@8.1.0: - resolution: {integrity: sha512-pL1hXFQ2fEXNKiNiAgtfA005T9FBxky5zkX6s4GZM2D8RkVgRqz3f4g1JUoq925zXv495qk8UNldDwh8uGEDoA==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + space-separated-tokens@2.0.2: + resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} - postcss-merge-idents@6.0.3: - resolution: {integrity: sha512-1oIoAsODUs6IHQZkLQGO15uGEbK3EAl5wi9SS8hs45VgsxQfMnxvt+L+zIr7ifZFIH14cfAeVe2uCTa+SPRa3g==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 + stop-iteration-iterator@1.1.0: + resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==} + engines: {node: '>= 0.4'} - postcss-merge-longhand@4.0.11: - resolution: {integrity: sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==} - engines: {node: '>=6.9.0'} + stream-replace-string@2.0.0: + resolution: {integrity: sha512-TlnjJ1C0QrmxRNrON00JvaFFlNh5TTG00APw23j74ET7gkQpTASi6/L2fuiav8pzK715HXtUeClpBTw2NPSn6w==} - postcss-merge-longhand@6.0.5: - resolution: {integrity: sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} - postcss-merge-rules@4.0.3: - resolution: {integrity: sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==} - engines: {node: '>=6.9.0'} + string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} - postcss-merge-rules@6.1.1: - resolution: {integrity: sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 + string-width@7.2.0: + resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} + engines: {node: '>=18'} - postcss-minify-font-values@4.0.2: - resolution: {integrity: sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==} - engines: {node: '>=6.9.0'} + string.prototype.matchall@4.0.12: + resolution: {integrity: sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==} + engines: {node: '>= 0.4'} - postcss-minify-font-values@6.1.0: - resolution: {integrity: sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 + string.prototype.trim@1.2.10: + resolution: {integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==} + engines: {node: '>= 0.4'} - postcss-minify-gradients@4.0.2: - resolution: {integrity: sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==} - engines: {node: '>=6.9.0'} + string.prototype.trimend@1.0.9: + resolution: {integrity: sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==} + engines: {node: '>= 0.4'} - postcss-minify-gradients@6.0.3: - resolution: {integrity: sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 + string.prototype.trimstart@1.0.8: + resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} + engines: {node: '>= 0.4'} - postcss-minify-params@4.0.2: - resolution: {integrity: sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==} - engines: {node: '>=6.9.0'} + stringify-entities@4.0.4: + resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} - postcss-minify-params@6.1.0: - resolution: {integrity: sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 + stringify-object@3.3.0: + resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==} + engines: {node: '>=4'} - postcss-minify-selectors@4.0.2: - resolution: {integrity: sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==} - engines: {node: '>=6.9.0'} + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} - postcss-minify-selectors@6.0.4: - resolution: {integrity: sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 + strip-ansi@7.1.2: + resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==} + engines: {node: '>=12'} - postcss-modules-extract-imports@3.1.0: - resolution: {integrity: sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==} - engines: {node: ^10 || ^12 || >= 14} - peerDependencies: - postcss: ^8.1.0 + strip-comments@2.0.1: + resolution: {integrity: sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==} + engines: {node: '>=10'} - postcss-modules-local-by-default@4.2.0: - resolution: {integrity: sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw==} - engines: {node: ^10 || ^12 || >= 14} - peerDependencies: - postcss: ^8.1.0 + style-to-js@1.1.21: + resolution: {integrity: sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ==} - postcss-modules-scope@3.2.1: - resolution: {integrity: sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==} - engines: {node: ^10 || ^12 || >= 14} - peerDependencies: - postcss: ^8.1.0 + style-to-object@1.0.14: + resolution: {integrity: sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==} - postcss-modules-values@4.0.0: - resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} - engines: {node: ^10 || ^12 || >= 14} - peerDependencies: - postcss: ^8.1.0 + supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} - postcss-nesting@13.0.2: - resolution: {integrity: sha512-1YCI290TX+VP0U/K/aFxzHzQWHWURL+CtHMSbex1lCdpXD1SoR2sYuxDu5aNI9lPoXpKTCggFZiDJbwylU0LEQ==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} - postcss-normalize-charset@4.0.1: - resolution: {integrity: sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==} - engines: {node: '>=6.9.0'} + svgo@4.0.0: + resolution: {integrity: sha512-VvrHQ+9uniE+Mvx3+C9IEe/lWasXCU0nXMY2kZeLrHNICuRiC8uMPyM14UEaMOFA5mhyQqEkB02VoQ16n3DLaw==} + engines: {node: '>=16'} + hasBin: true - postcss-normalize-charset@6.0.2: - resolution: {integrity: sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 + sync-child-process@1.0.2: + resolution: {integrity: sha512-8lD+t2KrrScJ/7KXCSyfhT3/hRq78rC0wBFqNJXv3mZyn6hW2ypM05JmlSvtqRbeq6jqA94oHbxAr2vYsJ8vDA==} + engines: {node: '>=16.0.0'} - postcss-normalize-display-values@4.0.2: - resolution: {integrity: sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==} - engines: {node: '>=6.9.0'} + sync-message-port@1.1.3: + resolution: {integrity: sha512-GTt8rSKje5FilG+wEdfCkOcLL7LWqpMlr2c3LRuKt/YXxcJ52aGSbGBAdI4L3aaqfrBt6y711El53ItyH1NWzg==} + engines: {node: '>=16.0.0'} - postcss-normalize-display-values@6.0.2: - resolution: {integrity: sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 + tailwindcss@4.1.18: + resolution: {integrity: sha512-4+Z+0yiYyEtUVCScyfHCxOYP06L5Ne+JiHhY2IjR2KWMIWhJOYZKLSGZaP5HkZ8+bY0cxfzwDE5uOmzFXyIwxw==} - postcss-normalize-positions@4.0.2: - resolution: {integrity: sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==} - engines: {node: '>=6.9.0'} + tapable@2.3.0: + resolution: {integrity: sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==} + engines: {node: '>=6'} - postcss-normalize-positions@6.0.2: - resolution: {integrity: sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 + temp-dir@2.0.0: + resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==} + engines: {node: '>=8'} - postcss-normalize-repeat-style@4.0.2: - resolution: {integrity: sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==} - engines: {node: '>=6.9.0'} + tempy@0.6.0: + resolution: {integrity: sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==} + engines: {node: '>=10'} - postcss-normalize-repeat-style@6.0.2: - resolution: {integrity: sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 + terser@5.44.1: + resolution: {integrity: sha512-t/R3R/n0MSwnnazuPpPNVO60LX0SKL45pyl9YlvxIdkH0Of7D5qM2EVe+yASRIlY5pZ73nclYJfNANGWPwFDZw==} + engines: {node: '>=10'} + hasBin: true - postcss-normalize-string@4.0.2: - resolution: {integrity: sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==} - engines: {node: '>=6.9.0'} + tiny-inflate@1.0.3: + resolution: {integrity: sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==} - postcss-normalize-string@6.0.2: - resolution: {integrity: sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 + tinyexec@1.0.2: + resolution: {integrity: sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==} + engines: {node: '>=18'} - postcss-normalize-timing-functions@4.0.2: - resolution: {integrity: sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==} - engines: {node: '>=6.9.0'} + tinyglobby@0.2.15: + resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} + engines: {node: '>=12.0.0'} - postcss-normalize-timing-functions@6.0.2: - resolution: {integrity: sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} - postcss-normalize-unicode@4.0.1: - resolution: {integrity: sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==} - engines: {node: '>=6.9.0'} + tr46@1.0.1: + resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} - postcss-normalize-unicode@6.1.0: - resolution: {integrity: sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 + trim-lines@3.0.1: + resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} - postcss-normalize-url@4.0.1: - resolution: {integrity: sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==} - engines: {node: '>=6.9.0'} + trough@2.2.0: + resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} - postcss-normalize-url@6.0.2: - resolution: {integrity: sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ==} - engines: {node: ^14 || ^16 || >=18.0} + tsconfck@3.1.6: + resolution: {integrity: sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w==} + engines: {node: ^18 || >=20} + hasBin: true peerDependencies: - postcss: ^8.4.31 - - postcss-normalize-whitespace@4.0.2: - resolution: {integrity: sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==} - engines: {node: '>=6.9.0'} + typescript: ^5.0.0 + peerDependenciesMeta: + typescript: + optional: true - postcss-normalize-whitespace@6.0.2: - resolution: {integrity: sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} - postcss-opacity-percentage@3.0.0: - resolution: {integrity: sha512-K6HGVzyxUxd/VgZdX04DCtdwWJ4NGLG212US4/LA1TLAbHgmAsTWVR86o+gGIbFtnTkfOpb9sCRBx8K7HO66qQ==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + type-fest@0.16.0: + resolution: {integrity: sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==} + engines: {node: '>=10'} - postcss-ordered-values@4.1.2: - resolution: {integrity: sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==} - engines: {node: '>=6.9.0'} + type-fest@4.41.0: + resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==} + engines: {node: '>=16'} - postcss-ordered-values@6.0.2: - resolution: {integrity: sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 + typed-array-buffer@1.0.3: + resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} + engines: {node: '>= 0.4'} - postcss-overflow-shorthand@6.0.0: - resolution: {integrity: sha512-BdDl/AbVkDjoTofzDQnwDdm/Ym6oS9KgmO7Gr+LHYjNWJ6ExORe4+3pcLQsLA9gIROMkiGVjjwZNoL/mpXHd5Q==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + typed-array-byte-length@1.0.3: + resolution: {integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==} + engines: {node: '>= 0.4'} - postcss-page-break@3.0.4: - resolution: {integrity: sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==} - peerDependencies: - postcss: ^8 + typed-array-byte-offset@1.0.4: + resolution: {integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==} + engines: {node: '>= 0.4'} - postcss-place@10.0.0: - resolution: {integrity: sha512-5EBrMzat2pPAxQNWYavwAfoKfYcTADJ8AXGVPcUZ2UkNloUTWzJQExgrzrDkh3EKzmAx1evfTAzF9I8NGcc+qw==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + typed-array-length@1.0.7: + resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} + engines: {node: '>= 0.4'} - postcss-preset-env@10.5.0: - resolution: {integrity: sha512-xgxFQPAPxeWmsgy8cR7GM1PGAL/smA5E9qU7K//D4vucS01es3M0fDujhDJn3kY8Ip7/vVYcecbe1yY+vBo3qQ==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + typescript@5.9.3: + resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} + engines: {node: '>=14.17'} + hasBin: true - postcss-pseudo-class-any-link@10.0.1: - resolution: {integrity: sha512-3el9rXlBOqTFaMFkWDOkHUTQekFIYnaQY55Rsp8As8QQkpiSgIYEcF/6Ond93oHiDsGb4kad8zjt+NPlOC1H0Q==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + ufo@1.6.1: + resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==} - postcss-reduce-idents@6.0.3: - resolution: {integrity: sha512-G3yCqZDpsNPoQgbDUy3T0E6hqOQ5xigUtBQyrmq3tn2GxlyiL0yyl7H+T8ulQR6kOcHJ9t7/9H4/R2tv8tJbMA==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 + ultrahtml@1.6.0: + resolution: {integrity: sha512-R9fBn90VTJrqqLDwyMph+HGne8eqY1iPfYhPzZrvKpIfwkWZbcYlfpsb8B9dTvBfpy1/hqAD7Wi8EKfP9e8zdw==} - postcss-reduce-initial@4.0.3: - resolution: {integrity: sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==} - engines: {node: '>=6.9.0'} + unbox-primitive@1.1.0: + resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} + engines: {node: '>= 0.4'} - postcss-reduce-initial@6.1.0: - resolution: {integrity: sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 + uncrypto@0.1.3: + resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==} - postcss-reduce-transforms@4.0.2: - resolution: {integrity: sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==} - engines: {node: '>=6.9.0'} + undici-types@7.16.0: + resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} - postcss-reduce-transforms@6.0.2: - resolution: {integrity: sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 + unicode-canonical-property-names-ecmascript@2.0.1: + resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==} + engines: {node: '>=4'} - postcss-replace-overflow-wrap@4.0.0: - resolution: {integrity: sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==} - peerDependencies: - postcss: ^8.0.3 + unicode-match-property-ecmascript@2.0.0: + resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} + engines: {node: '>=4'} - postcss-selector-not@8.0.1: - resolution: {integrity: sha512-kmVy/5PYVb2UOhy0+LqUYAhKj7DUGDpSWa5LZqlkWJaaAV+dxxsOG3+St0yNLu6vsKD7Dmqx+nWQt0iil89+WA==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 + unicode-match-property-value-ecmascript@2.2.1: + resolution: {integrity: sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg==} + engines: {node: '>=4'} - postcss-selector-parser@3.1.2: - resolution: {integrity: sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==} - engines: {node: '>=8'} + unicode-properties@1.4.1: + resolution: {integrity: sha512-CLjCCLQ6UuMxWnbIylkisbRj31qxHPAurvena/0iwSVbQ2G1VY5/HjV0IRabOEbDHlzZlRdCrD4NhB0JtU40Pg==} - postcss-selector-parser@6.0.10: - resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==} + unicode-property-aliases-ecmascript@2.2.0: + resolution: {integrity: sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ==} engines: {node: '>=4'} - postcss-selector-parser@6.1.2: - resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} - engines: {node: '>=4'} + unicode-trie@2.0.0: + resolution: {integrity: sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==} - postcss-selector-parser@7.1.1: - resolution: {integrity: sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==} - engines: {node: '>=4'} + unified@11.0.5: + resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} - postcss-sort-media-queries@5.2.0: - resolution: {integrity: sha512-AZ5fDMLD8SldlAYlvi8NIqo0+Z8xnXU2ia0jxmuhxAU+Lqt9K+AlmLNJ/zWEnE9x+Zx3qL3+1K20ATgNOr3fAA==} - engines: {node: '>=14.0.0'} - peerDependencies: - postcss: ^8.4.23 + unifont@0.6.0: + resolution: {integrity: sha512-5Fx50fFQMQL5aeHyWnZX9122sSLckcDvcfFiBf3QYeHa7a1MKJooUy52b67moi2MJYkrfo/TWY+CoLdr/w0tTA==} - postcss-svgo@4.0.3: - resolution: {integrity: sha512-NoRbrcMWTtUghzuKSoIm6XV+sJdvZ7GZSc3wdBN0W19FTtp2ko8NqLsgoh/m9CzNhU3KLPvQmjIwtaNFkaFTvw==} - engines: {node: '>=6.9.0'} + unique-string@2.0.0: + resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==} + engines: {node: '>=8'} - postcss-svgo@6.0.3: - resolution: {integrity: sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g==} - engines: {node: ^14 || ^16 || >= 18} - peerDependencies: - postcss: ^8.4.31 + unist-util-find-after@5.0.0: + resolution: {integrity: sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==} - postcss-unique-selectors@4.0.1: - resolution: {integrity: sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==} - engines: {node: '>=6.9.0'} + unist-util-is@6.0.1: + resolution: {integrity: sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==} - postcss-unique-selectors@6.0.4: - resolution: {integrity: sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 + unist-util-modify-children@4.0.0: + resolution: {integrity: sha512-+tdN5fGNddvsQdIzUF3Xx82CU9sMM+fA0dLgR9vOmT0oPT2jH+P1nd5lSqfCfXAw+93NhcXNY2qqvTUtE4cQkw==} - postcss-value-parser@3.3.1: - resolution: {integrity: sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==} + unist-util-position-from-estree@2.0.0: + resolution: {integrity: sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==} - postcss-value-parser@4.2.0: - resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + unist-util-position@5.0.0: + resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} - postcss-zindex@6.0.2: - resolution: {integrity: sha512-5BxW9l1evPB/4ZIc+2GobEBoKC+h8gPGCMi+jxsYvd2x0mjq7wazk6DrP71pStqxE9Foxh5TVnonbWpFZzXaYg==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 + unist-util-remove-position@5.0.0: + resolution: {integrity: sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==} - postcss@7.0.39: - resolution: {integrity: sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==} - engines: {node: '>=6.0.0'} + unist-util-stringify-position@4.0.0: + resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} - postcss@8.5.6: - resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} - engines: {node: ^10 || ^12 || >=14} + unist-util-visit-children@3.0.0: + resolution: {integrity: sha512-RgmdTfSBOg04sdPcpTSD1jzoNBjt9a80/ZCzp5cI9n1qPzLZWF9YdvWGN2zmTumP1HWhXKdUWexjy/Wy/lJ7tA==} - prepend-http@1.0.4: - resolution: {integrity: sha512-PhmXi5XmoyKw1Un4E+opM2KcsJInDvKyuOumcjjw3waw86ZNjHwVUOOWLc4bCzLdcKNaWBH9e99sbWzDQsVaYg==} - engines: {node: '>=0.10.0'} + unist-util-visit-parents@6.0.2: + resolution: {integrity: sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==} - prepend-http@2.0.0: - resolution: {integrity: sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==} - engines: {node: '>=4'} + unist-util-visit@5.0.0: + resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} - pretty-bytes@5.6.0: - resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} - engines: {node: '>=6'} + universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} - pretty-error@4.0.0: - resolution: {integrity: sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==} + unstorage@1.17.3: + resolution: {integrity: sha512-i+JYyy0DoKmQ3FximTHbGadmIYb8JEpq7lxUjnjeB702bCPum0vzo6oy5Mfu0lpqISw7hCyMW2yj4nWC8bqJ3Q==} + peerDependencies: + '@azure/app-configuration': ^1.8.0 + '@azure/cosmos': ^4.2.0 + '@azure/data-tables': ^13.3.0 + '@azure/identity': ^4.6.0 + '@azure/keyvault-secrets': ^4.9.0 + '@azure/storage-blob': ^12.26.0 + '@capacitor/preferences': ^6.0.3 || ^7.0.0 + '@deno/kv': '>=0.9.0' + '@netlify/blobs': ^6.5.0 || ^7.0.0 || ^8.1.0 || ^9.0.0 || ^10.0.0 + '@planetscale/database': ^1.19.0 + '@upstash/redis': ^1.34.3 + '@vercel/blob': '>=0.27.1' + '@vercel/functions': ^2.2.12 || ^3.0.0 + '@vercel/kv': ^1.0.1 + aws4fetch: ^1.0.20 + db0: '>=0.2.1' + idb-keyval: ^6.2.1 + ioredis: ^5.4.2 + uploadthing: ^7.4.4 + peerDependenciesMeta: + '@azure/app-configuration': + optional: true + '@azure/cosmos': + optional: true + '@azure/data-tables': + optional: true + '@azure/identity': + optional: true + '@azure/keyvault-secrets': + optional: true + '@azure/storage-blob': + optional: true + '@capacitor/preferences': + optional: true + '@deno/kv': + optional: true + '@netlify/blobs': + optional: true + '@planetscale/database': + optional: true + '@upstash/redis': + optional: true + '@vercel/blob': + optional: true + '@vercel/functions': + optional: true + '@vercel/kv': + optional: true + aws4fetch: + optional: true + db0: + optional: true + idb-keyval: + optional: true + ioredis: + optional: true + uploadthing: + optional: true - pretty-time@1.1.0: - resolution: {integrity: sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==} + upath@1.2.0: + resolution: {integrity: sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==} engines: {node: '>=4'} - prism-react-renderer@2.4.1: - resolution: {integrity: sha512-ey8Ls/+Di31eqzUxC46h8MksNuGx/n0AAC8uKpwFau4RPDYLuE3EXTp8N8G2vX2N7UC/+IXeNUnlWBGGcAG+Ig==} + update-browserslist-db@1.2.2: + resolution: {integrity: sha512-E85pfNzMQ9jpKkA7+TJAi4TJN+tBCuWh5rUcS/sv6cFi+1q9LYDwDI5dpUL0u/73EElyQ8d3TEaeW4sPedBqYA==} + hasBin: true peerDependencies: - react: '>=16.0.0' + browserslist: '>= 4.21.0' - prismjs@1.30.0: - resolution: {integrity: sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==} - engines: {node: '>=6'} + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - process-nextick-args@2.0.1: - resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + varint@6.0.0: + resolution: {integrity: sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==} - prompts@2.4.0: - resolution: {integrity: sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ==} - engines: {node: '>= 6'} + vfile-location@5.0.3: + resolution: {integrity: sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==} - prompts@2.4.2: - resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} - engines: {node: '>= 6'} + vfile-message@4.0.3: + resolution: {integrity: sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==} - prop-types-exact@1.2.7: - resolution: {integrity: sha512-A4RaV6mg3jocQqBYmqi2ojJ2VnV4AKTEHhl3xHsud08/u87gcVJc8DUOtgnPegoOCQv/shUqEk4eZGYibjnHzQ==} - engines: {node: '>= 0.8'} + vfile@6.0.3: + resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} - prop-types@15.8.1: - resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} + vite-plugin-pwa@1.2.0: + resolution: {integrity: sha512-a2xld+SJshT9Lgcv8Ji4+srFJL4k/1bVbd1x06JIkvecpQkwkvCncD1+gSzcdm3s+owWLpMJerG3aN5jupJEVw==} + engines: {node: '>=16.0.0'} + peerDependencies: + '@vite-pwa/assets-generator': ^1.0.0 + vite: ^3.1.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 + workbox-build: ^7.4.0 + workbox-window: ^7.4.0 + peerDependenciesMeta: + '@vite-pwa/assets-generator': + optional: true - property-information@7.1.0: - resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==} + vite@6.4.1: + resolution: {integrity: sha512-+Oxm7q9hDoLMyJOYfUYBuHQo+dkAloi33apOPP56pzj+vsdJDzr+j1NISE5pyaAuKL4A3UD34qd0lx5+kfKp2g==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 + jiti: '>=1.21.0' + less: '*' + lightningcss: ^1.21.0 + sass: '*' + sass-embedded: '*' + stylus: '*' + sugarss: '*' + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 + peerDependenciesMeta: + '@types/node': + optional: true + jiti: + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + yaml: + optional: true - proto-list@1.2.4: - resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} + vitefu@1.1.1: + resolution: {integrity: sha512-B/Fegf3i8zh0yFbpzZ21amWzHmuNlLlmJT6n7bu5e+pCHUKQIfXSYokrqOBGEMMe9UG2sostKQF9mml/vYaWJQ==} + peerDependencies: + vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0-beta.0 + peerDependenciesMeta: + vite: + optional: true - proxy-addr@2.0.7: - resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} - engines: {node: '>= 0.10'} + web-namespaces@2.0.1: + resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} - pseudomap@1.0.2: - resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==} + webidl-conversions@4.0.2: + resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} - psl@1.15.0: - resolution: {integrity: sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==} + whatwg-url@7.1.0: + resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} - pump@3.0.3: - resolution: {integrity: sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==} + which-boxed-primitive@1.1.1: + resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==} + engines: {node: '>= 0.4'} - punycode.js@2.3.1: - resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==} - engines: {node: '>=6'} + which-builtin-type@1.2.1: + resolution: {integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==} + engines: {node: '>= 0.4'} - punycode@2.3.1: - resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} - engines: {node: '>=6'} + which-collection@1.0.2: + resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} + engines: {node: '>= 0.4'} - pupa@3.3.0: - resolution: {integrity: sha512-LjgDO2zPtoXP2wJpDjZrGdojii1uqO0cnwKoIoUzkfS98HDmbeiGmYiXo3lXeFlq2xvne1QFQhwYXSUCLKtEuA==} - engines: {node: '>=12.20'} + which-pm-runs@1.1.0: + resolution: {integrity: sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==} + engines: {node: '>=4'} - q@1.5.1: - resolution: {integrity: sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==} - engines: {node: '>=0.6.0', teleport: '>=0.2.0'} - deprecated: |- - You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other. + which-typed-array@1.1.19: + resolution: {integrity: sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==} + engines: {node: '>= 0.4'} - (For a CapTP with native promises, see @endo/eventual-send and @endo/captp) + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true - qs@6.14.0: - resolution: {integrity: sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==} - engines: {node: '>=0.6'} + widest-line@5.0.0: + resolution: {integrity: sha512-c9bZp7b5YtRj2wOe6dlj32MK+Bx/M/d+9VB2SHM1OtsUHR0aV0tdP6DWh/iMt0kWi1t5g1Iudu6hQRNd1A4PVA==} + engines: {node: '>=18'} - qs@6.5.3: - resolution: {integrity: sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==} - engines: {node: '>=0.6'} + workbox-background-sync@7.4.0: + resolution: {integrity: sha512-8CB9OxKAgKZKyNMwfGZ1XESx89GryWTfI+V5yEj8sHjFH8MFelUwYXEyldEK6M6oKMmn807GoJFUEA1sC4XS9w==} - query-string@5.1.1: - resolution: {integrity: sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==} - engines: {node: '>=0.10.0'} + workbox-broadcast-update@7.4.0: + resolution: {integrity: sha512-+eZQwoktlvo62cI0b+QBr40v5XjighxPq3Fzo9AWMiAosmpG5gxRHgTbGGhaJv/q/MFVxwFNGh/UwHZ/8K88lA==} - queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + workbox-build@7.4.0: + resolution: {integrity: sha512-Ntk1pWb0caOFIvwz/hfgrov/OJ45wPEhI5PbTywQcYjyZiVhT3UrwwUPl6TRYbTm4moaFYithYnl1lvZ8UjxcA==} + engines: {node: '>=20.0.0'} - quick-lru@5.1.1: - resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} - engines: {node: '>=10'} + workbox-cacheable-response@7.4.0: + resolution: {integrity: sha512-0Fb8795zg/x23ISFkAc7lbWes6vbw34DGFIMw31cwuHPgDEC/5EYm6m/ZkylLX0EnEbbOyOCLjKgFS/Z5g0HeQ==} - raf@3.4.1: - resolution: {integrity: sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==} + workbox-core@7.4.0: + resolution: {integrity: sha512-6BMfd8tYEnN4baG4emG9U0hdXM4gGuDU3ectXuVHnj71vwxTFI7WOpQJC4siTOlVtGqCUtj0ZQNsrvi6kZZTAQ==} - railroad-diagrams@1.0.0: - resolution: {integrity: sha512-cz93DjNeLY0idrCNOH6PviZGRN9GJhsdm9hpn1YCS879fj4W+x5IFJhhkRZcwVgMmFF7R82UA/7Oh+R8lLZg6A==} + workbox-expiration@7.4.0: + resolution: {integrity: sha512-V50p4BxYhtA80eOvulu8xVfPBgZbkxJ1Jr8UUn0rvqjGhLDqKNtfrDfjJKnLz2U8fO2xGQJTx/SKXNTzHOjnHw==} - randexp@0.4.6: - resolution: {integrity: sha512-80WNmd9DA0tmZrw9qQa62GPPWfuXJknrmVmLcxvq4uZBdYqb1wYoKTmnlGUchvVWe0XiLupYkBoXVOxz3C8DYQ==} - engines: {node: '>=0.12'} + workbox-google-analytics@7.4.0: + resolution: {integrity: sha512-MVPXQslRF6YHkzGoFw1A4GIB8GrKym/A5+jYDUSL+AeJw4ytQGrozYdiZqUW1TPQHW8isBCBtyFJergUXyNoWQ==} - randomatic@3.1.1: - resolution: {integrity: sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==} - engines: {node: '>= 0.10.0'} + workbox-navigation-preload@7.4.0: + resolution: {integrity: sha512-etzftSgdQfjMcfPgbfaZCfM2QuR1P+4o8uCA2s4rf3chtKTq/Om7g/qvEOcZkG6v7JZOSOxVYQiOu6PbAZgU6w==} - randombytes@2.1.0: - resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + workbox-precaching@7.4.0: + resolution: {integrity: sha512-VQs37T6jDqf1rTxUJZXRl3yjZMf5JX/vDPhmx2CPgDDKXATzEoqyRqhYnRoxl6Kr0rqaQlp32i9rtG5zTzIlNg==} - range-parser@1.2.0: - resolution: {integrity: sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==} - engines: {node: '>= 0.6'} + workbox-range-requests@7.4.0: + resolution: {integrity: sha512-3Vq854ZNuP6Y0KZOQWLaLC9FfM7ZaE+iuQl4VhADXybwzr4z/sMmnLgTeUZLq5PaDlcJBxYXQ3U91V7dwAIfvw==} - range-parser@1.2.1: - resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} - engines: {node: '>= 0.6'} + workbox-recipes@7.4.0: + resolution: {integrity: sha512-kOkWvsAn4H8GvAkwfJTbwINdv4voFoiE9hbezgB1sb/0NLyTG4rE7l6LvS8lLk5QIRIto+DjXLuAuG3Vmt3cxQ==} - raw-body@1.1.7: - resolution: {integrity: sha512-WmJJU2e9Y6M5UzTOkHaM7xJGAPQD8PNzx3bAd2+uhZAim6wDk6dAZxPVYLF67XhbR4hmKGh33Lpmh4XWrCH5Mg==} - engines: {node: '>= 0.8.0'} - deprecated: No longer maintained. Please upgrade to a stable version. + workbox-routing@7.4.0: + resolution: {integrity: sha512-C/ooj5uBWYAhAqwmU8HYQJdOjjDKBp9MzTQ+otpMmd+q0eF59K+NuXUek34wbL0RFrIXe/KKT+tUWcZcBqxbHQ==} - raw-body@2.5.3: - resolution: {integrity: sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==} - engines: {node: '>= 0.8'} + workbox-strategies@7.4.0: + resolution: {integrity: sha512-T4hVqIi5A4mHi92+5EppMX3cLaVywDp8nsyUgJhOZxcfSV/eQofcOA6/EMo5rnTNmNTpw0rUgjAI6LaVullPpg==} - rc@1.2.8: - resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} - hasBin: true + workbox-streams@7.4.0: + resolution: {integrity: sha512-QHPBQrey7hQbnTs5GrEVoWz7RhHJXnPT+12qqWM378orDMo5VMJLCkCM1cnCk+8Eq92lccx/VgRZ7WAzZWbSLg==} - react-dev-utils@11.0.4: - resolution: {integrity: sha512-dx0LvIGHcOPtKbeiSUM4jqpBl3TcY7CDjZdfOIcKeznE7BWr9dg0iPG90G5yfVQ+p/rGNMXdbfStvzQZEVEi4A==} - engines: {node: '>=10'} - peerDependencies: - typescript: '>=2.7' - webpack: '>=4' - peerDependenciesMeta: - typescript: - optional: true + workbox-sw@7.4.0: + resolution: {integrity: sha512-ltU+Kr3qWR6BtbdlMnCjobZKzeV1hN+S6UvDywBrwM19TTyqA03X66dzw1tEIdJvQ4lYKkBFox6IAEhoSEZ8Xw==} - react-dom@16.14.0: - resolution: {integrity: sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==} - peerDependencies: - react: ^16.14.0 + workbox-window@7.4.0: + resolution: {integrity: sha512-/bIYdBLAVsNR3v7gYGaV4pQW3M3kEPx5E8vDxGvxo6khTrGtSSCS7QiFKv9ogzBgZiy0OXLP9zO28U/1nF1mfw==} - react-dom@19.2.3: - resolution: {integrity: sha512-yELu4WmLPw5Mr/lmeEpox5rw3RETacE++JgHqQzd2dg+YbJuat3jH4ingc+WPZhxaoFzdv9y33G+F7Nl5O0GBg==} - peerDependencies: - react: ^19.2.3 + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} - react-error-overlay@6.1.0: - resolution: {integrity: sha512-SN/U6Ytxf1QGkw/9ve5Y+NxBbZM6Ht95tuXNMKs8EJyFa/Vy/+Co3stop3KBHARfn/giv+Lj1uUnTfOJ3moFEQ==} + wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} - react-fast-compare@3.2.2: - resolution: {integrity: sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==} + wrap-ansi@9.0.2: + resolution: {integrity: sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==} + engines: {node: '>=18'} - react-is@16.13.1: - resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + xxhash-wasm@1.1.0: + resolution: {integrity: sha512-147y/6YNh+tlp6nd/2pWq38i9h6mz/EuQ6njIrmW8D1BS5nCqs0P6DG+m6zTGnNz5I+uhZ0SHxBs9BsPrwcKDA==} - react-is@18.3.1: - resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - react-json-view-lite@2.5.0: - resolution: {integrity: sha512-tk7o7QG9oYyELWHL8xiMQ8x4WzjCzbWNyig3uexmkLb54r8jO0yH3WCWx8UZS0c49eSA4QUmG5caiRJ8fAn58g==} - engines: {node: '>=18'} - peerDependencies: - react: ^18.0.0 || ^19.0.0 + yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} - react-loadable-ssr-addon-v5-slorber@1.0.1: - resolution: {integrity: sha512-lq3Lyw1lGku8zUEJPDxsNm1AfYHBrO9Y1+olAYwpUJ2IGFBskM0DMKok97A6LWUpHm+o7IvQBOWu9MLenp9Z+A==} - engines: {node: '>=10.13.0'} - peerDependencies: - react-loadable: '*' - webpack: '>=4.41.1 || 5.x' + yocto-queue@1.2.2: + resolution: {integrity: sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ==} + engines: {node: '>=12.20'} - react-router-config@5.1.1: - resolution: {integrity: sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==} - peerDependencies: - react: '>=15' - react-router: '>=5' + yocto-spinner@0.2.3: + resolution: {integrity: sha512-sqBChb33loEnkoXte1bLg45bEBsOP9N1kzQh5JZNKj/0rik4zAPTNSAVPj3uQAdc6slYJ0Ksc403G2XgxsJQFQ==} + engines: {node: '>=18.19'} - react-router-dom@5.3.4: - resolution: {integrity: sha512-m4EqFMHv/Ih4kpcBCONHbkT68KoAeHN4p3lAGoNryfHi0dMy0kCzEZakiKRsvg5wHZ/JLrLW8o8KomWiz/qbYQ==} - peerDependencies: - react: '>=15' + yoctocolors@2.1.2: + resolution: {integrity: sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==} + engines: {node: '>=18'} - react-router@5.3.4: - resolution: {integrity: sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA==} + zod-to-json-schema@3.25.0: + resolution: {integrity: sha512-HvWtU2UG41LALjajJrML6uQejQhNJx+JBO9IflpSja4R03iNWfKXrj6W2h7ljuLyc1nKS+9yDyL/9tD1U/yBnQ==} peerDependencies: - react: '>=15' + zod: ^3.25 || ^4 - react-test-renderer@16.14.0: - resolution: {integrity: sha512-L8yPjqPE5CZO6rKsKXRO/rVPiaCOy0tQQJbC+UjPNlobl5mad59lvPjwFsQHTvL03caVDIVr9x9/OSgDe6I5Eg==} + zod-to-ts@1.2.0: + resolution: {integrity: sha512-x30XE43V+InwGpvTySRNz9kB7qFU8DlyEy7BsSTCHPH1R0QasMmHWZDCzYm6bVXtj/9NNJAZF3jW8rzFvH5OFA==} peerDependencies: - react: ^16.14.0 + typescript: ^4.9.4 || ^5.0.2 + zod: ^3 - react@16.14.0: - resolution: {integrity: sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==} - engines: {node: '>=0.10.0'} + zod@3.25.76: + resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==} - react@19.2.3: - resolution: {integrity: sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA==} - engines: {node: '>=0.10.0'} + zwitch@2.0.4: + resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} - read-pkg-up@1.0.1: - resolution: {integrity: sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==} - engines: {node: '>=0.10.0'} +snapshots: - read-pkg@1.1.0: - resolution: {integrity: sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==} - engines: {node: '>=0.10.0'} - - readable-stream@2.3.8: - resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} - - readable-stream@3.6.2: - resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} - engines: {node: '>= 6'} - - readdirp@3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} - - readdirp@4.1.2: - resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} - engines: {node: '>= 14.18.0'} - - rechoir@0.6.2: - resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} - engines: {node: '>= 0.10'} - - recma-build-jsx@1.0.0: - resolution: {integrity: sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==} - - recma-jsx@1.0.1: - resolution: {integrity: sha512-huSIy7VU2Z5OLv6oFLosQGGDqPqdO1iq6bWNAdhzMxSJP7RAso4fCZ1cKu8j9YHCZf3TPrq4dw3okhrylgcd7w==} - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - - recma-parse@1.0.0: - resolution: {integrity: sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==} - - recma-stringify@1.0.0: - resolution: {integrity: sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==} - - recursive-readdir@2.2.2: - resolution: {integrity: sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==} - engines: {node: '>=0.10.0'} - - redent@1.0.0: - resolution: {integrity: sha512-qtW5hKzGQZqKoh6JNSD+4lfitfPKGz42e6QwiRmPM5mmKtR0N41AbJRYu0xJi7nhOJ4WDgRkKvAk6tw4WIwR4g==} - engines: {node: '>=0.10.0'} - - reflect.getprototypeof@1.0.10: - resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==} - engines: {node: '>= 0.4'} - - regenerate-unicode-properties@10.2.2: - resolution: {integrity: sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g==} - engines: {node: '>=4'} - - regenerate@1.4.2: - resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} - - regenerator-runtime@0.13.11: - resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} - - regex-not@1.0.2: - resolution: {integrity: sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==} - engines: {node: '>=0.10.0'} - - regexp.prototype.flags@1.5.4: - resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==} - engines: {node: '>= 0.4'} - - regexpu-core@6.4.0: - resolution: {integrity: sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA==} - engines: {node: '>=4'} - - registry-auth-token@5.1.0: - resolution: {integrity: sha512-GdekYuwLXLxMuFTwAPg5UKGLW/UXzQrZvH/Zj791BQif5T05T0RsaLfHc9q3ZOKi7n+BoprPD9mJ0O0k4xzUlw==} - engines: {node: '>=14'} - - registry-url@6.0.1: - resolution: {integrity: sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==} - engines: {node: '>=12'} - - regjsgen@0.8.0: - resolution: {integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==} - - regjsparser@0.13.0: - resolution: {integrity: sha512-NZQZdC5wOE/H3UT28fVGL+ikOZcEzfMGk/c3iN9UGxzWHMa1op7274oyiUVrAG4B2EuFhus8SvkaYnhvW92p9Q==} - hasBin: true - - rehype-raw@7.0.0: - resolution: {integrity: sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==} - - rehype-recma@1.0.0: - resolution: {integrity: sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==} - - relateurl@0.2.7: - resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==} - engines: {node: '>= 0.10'} - - remark-directive@3.0.1: - resolution: {integrity: sha512-gwglrEQEZcZYgVyG1tQuA+h58EZfq5CSULw7J90AFuCTyib1thgHPoqQ+h9iFvU6R+vnZ5oNFQR5QKgGpk741A==} - - remark-emoji@4.0.1: - resolution: {integrity: sha512-fHdvsTR1dHkWKev9eNyhTo4EFwbUvJ8ka9SgeWkMPYFX4WoI7ViVBms3PjlQYgw5TLvNQso3GUB/b/8t3yo+dg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - remark-frontmatter@5.0.0: - resolution: {integrity: sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ==} - - remark-gfm@4.0.1: - resolution: {integrity: sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==} - - remark-mdx@3.1.1: - resolution: {integrity: sha512-Pjj2IYlUY3+D8x00UJsIOg5BEvfMyeI+2uLPn9VO9Wg4MEtN/VTIq2NEJQfde9PnX15KgtHyl9S0BcTnWrIuWg==} - - remark-parse@11.0.0: - resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==} - - remark-rehype@11.1.2: - resolution: {integrity: sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==} - - remark-stringify@11.0.0: - resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} - - remarkable@1.7.4: - resolution: {integrity: sha512-e6NKUXgX95whv7IgddywbeN/ItCkWbISmc2DiqHJb0wTrqZIexqdco5b8Z3XZoo/48IdNVKM9ZCvTPJ4F5uvhg==} - engines: {node: '>= 0.10.0'} - hasBin: true - - remarkable@2.0.1: - resolution: {integrity: sha512-YJyMcOH5lrR+kZdmB0aJJ4+93bEojRZ1HGDn9Eagu6ibg7aVZhc3OWbbShRid+Q5eAfsEqWxpe+g5W5nYNfNiA==} - engines: {node: '>= 6.0.0'} - hasBin: true - - renderkid@3.0.0: - resolution: {integrity: sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==} - - repeat-element@1.1.4: - resolution: {integrity: sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==} - engines: {node: '>=0.10.0'} - - repeat-string@1.6.1: - resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} - engines: {node: '>=0.10'} - - repeating@2.0.1: - resolution: {integrity: sha512-ZqtSMuVybkISo2OWvqvm7iHSWngvdaW3IpsT9/uP8v4gMi591LY6h35wdOfvQdWCKFWZWm2Y1Opp4kV7vQKT6A==} - engines: {node: '>=0.10.0'} - - replace-ext@1.0.1: - resolution: {integrity: sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==} - engines: {node: '>= 0.10'} - - request@2.88.2: - resolution: {integrity: sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==} - engines: {node: '>= 6'} - deprecated: request has been deprecated, see https://github.com/request/request/issues/3142 - - require-from-string@2.0.2: - resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} - engines: {node: '>=0.10.0'} - - require-like@0.1.2: - resolution: {integrity: sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A==} - - requires-port@1.0.0: - resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} - - resolve-alpn@1.2.1: - resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} - - resolve-from@3.0.0: - resolution: {integrity: sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==} - engines: {node: '>=4'} - - resolve-from@4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} - - resolve-package-path@4.0.3: - resolution: {integrity: sha512-SRpNAPW4kewOaNUt8VPqhJ0UMxawMwzJD8V7m1cJfdSTK9ieZwS6K7Dabsm4bmLFM96Z5Y/UznrpG5kt1im8yA==} - engines: {node: '>= 12'} - - resolve-pathname@3.0.0: - resolution: {integrity: sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==} - - resolve-url@0.2.1: - resolution: {integrity: sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==} - deprecated: https://github.com/lydell/resolve-url#deprecated - - resolve@1.22.11: - resolution: {integrity: sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==} - engines: {node: '>= 0.4'} - hasBin: true - - responselike@1.0.2: - resolution: {integrity: sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==} - - responselike@3.0.0: - resolution: {integrity: sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==} - engines: {node: '>=14.16'} - - ret@0.1.15: - resolution: {integrity: sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==} - engines: {node: '>=0.12'} - - retry@0.13.1: - resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} - engines: {node: '>= 4'} - - reusify@1.1.0: - resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - - rgb-regex@1.0.1: - resolution: {integrity: sha512-gDK5mkALDFER2YLqH6imYvK6g02gpNGM4ILDZ472EwWfXZnC2ZEpoB2ECXTyOVUKuk/bPJZMzwQPBYICzP+D3w==} - - rgba-regex@1.0.0: - resolution: {integrity: sha512-zgn5OjNQXLUTdq8m17KdaicF6w89TZs8ZU8y0AYENIU6wG8GG6LLm0yLSiPY8DmaYmHdgRW8rnApjoT0fQRfMg==} - - rimraf@2.7.1: - resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} - deprecated: Rimraf versions prior to v4 are no longer supported - hasBin: true - - robust-predicates@3.0.2: - resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==} - - rollup@2.79.2: - resolution: {integrity: sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ==} - engines: {node: '>=10.0.0'} - hasBin: true - - roughjs@4.6.6: - resolution: {integrity: sha512-ZUz/69+SYpFN/g/lUlo2FXcIjRkSu3nDarreVdGGndHEBJ6cXPdKguS8JGxwj5HA5xIbVKSmLgr5b3AWxtRfvQ==} - - rst-selector-parser@2.2.3: - resolution: {integrity: sha512-nDG1rZeP6oFTLN6yNDV/uiAvs1+FS/KlrEwh7+y7dpuApDBy6bI2HTBcc0/V8lv9OTqfyD34eF7au2pm8aBbhA==} - - rtlcss@4.3.0: - resolution: {integrity: sha512-FI+pHEn7Wc4NqKXMXFM+VAYKEj/mRIcW4h24YVwVtyjI+EqGrLc2Hx/Ny0lrZ21cBWU2goLy36eqMcNj3AQJig==} - engines: {node: '>=12.0.0'} - hasBin: true - - run-applescript@7.1.0: - resolution: {integrity: sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==} - engines: {node: '>=18'} - - run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - - rw@1.3.3: - resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==} - - rxjs@7.8.2: - resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==} - - safe-array-concat@1.1.3: - resolution: {integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==} - engines: {node: '>=0.4'} - - safe-buffer@5.1.2: - resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} - - safe-buffer@5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - - safe-json-parse@1.0.1: - resolution: {integrity: sha512-o0JmTu17WGUaUOHa1l0FPGXKBfijbxK6qoHzlkihsDXxzBHvJcA7zgviKR92Xs841rX9pK16unfphLq0/KqX7A==} - - safe-push-apply@1.0.0: - resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==} - engines: {node: '>= 0.4'} - - safe-regex-test@1.1.0: - resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} - engines: {node: '>= 0.4'} - - safe-regex@1.1.0: - resolution: {integrity: sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==} - - safer-buffer@2.1.2: - resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - - sass-embedded-android-arm64@1.83.0: - resolution: {integrity: sha512-GBiCvM4a2rkWBLdYDxI6XYnprfk5U5c81g69RC2X6kqPuzxzx8qTArQ9M6keFK4+iDQ5N9QTwFCr0KbZTn+ZNQ==} - engines: {node: '>=14.0.0'} - cpu: [arm64] - os: [android] - - sass-embedded-android-arm@1.83.0: - resolution: {integrity: sha512-uwFSXzJlfbd4Px189xE5l+cxN8+TQpXdQgJec7TIrb4HEY7imabtpYufpVdqUVwT1/uiis5V4+qIEC4Vl5XObQ==} - engines: {node: '>=14.0.0'} - cpu: [arm] - os: [android] - - sass-embedded-android-ia32@1.83.0: - resolution: {integrity: sha512-5ATPdGo2SICqAhiJl/Z8KQ23zH4sGgobGgux0TnrNtt83uHZ+r+To/ubVJ7xTkZxed+KJZnIpolGD8dQyQqoTg==} - engines: {node: '>=14.0.0'} - cpu: [ia32] - os: [android] - - sass-embedded-android-riscv64@1.83.0: - resolution: {integrity: sha512-aveknUOB8GZewOzVn2Uwk+DKcncTR50Q6vtzslNMGbYnxtgQNHzy8A1qVEviNUruex+pHofppeMK4iMPFAbiEQ==} - engines: {node: '>=14.0.0'} - cpu: [riscv64] - os: [android] - - sass-embedded-android-x64@1.83.0: - resolution: {integrity: sha512-WqIay/72ncyf9Ph4vS742J3a73wZihWmzFUwpn1OD6lme1Aj4eWzWIve5IVnlTEJgcZcDHu6ECID9IZgehJKoA==} - engines: {node: '>=14.0.0'} - cpu: [x64] - os: [android] - - sass-embedded-darwin-arm64@1.83.0: - resolution: {integrity: sha512-XQl9QqgxFFIPm/CzHhmppse5o9ocxrbaAdC2/DAnlAqvYWBBtgFqPjGoYlej13h9SzfvNoogx+y9r+Ap+e+hYg==} - engines: {node: '>=14.0.0'} - cpu: [arm64] - os: [darwin] - - sass-embedded-darwin-x64@1.83.0: - resolution: {integrity: sha512-ERQ7Tvp1kFOW3ux4VDFIxb7tkYXHYc+zJpcrbs0hzcIO5ilIRU2tIOK1OrNwrFO6Qxyf7AUuBwYKLAtIU/Nz7g==} - engines: {node: '>=14.0.0'} - cpu: [x64] - os: [darwin] - - sass-embedded-linux-arm64@1.83.0: - resolution: {integrity: sha512-syEAVTJt4qhaMLxrSwOWa46zdqHJdnqJkLUK+t9aCr8xqBZLPxSUeIGji76uOehQZ1C+KGFj6n9xstHN6wzOJw==} - engines: {node: '>=14.0.0'} - cpu: [arm64] - os: [linux] - - sass-embedded-linux-arm@1.83.0: - resolution: {integrity: sha512-baG9RYBJxUFmqwDNC9h9ZFElgJoyO3jgHGjzEZ1wHhIS9anpG+zZQvO8bHx3dBpKEImX+DBeLX+CxsFR9n81gQ==} - engines: {node: '>=14.0.0'} - cpu: [arm] - os: [linux] - - sass-embedded-linux-ia32@1.83.0: - resolution: {integrity: sha512-RRBxQxMpoxu5+XcSSc6QR/o9asEwUzR8AbCS83RaXcdTIHTa/CccQsiAoDDoPlRsMTLqnzs0LKL4CfOsf7zBbA==} - engines: {node: '>=14.0.0'} - cpu: [ia32] - os: [linux] - - sass-embedded-linux-musl-arm64@1.83.0: - resolution: {integrity: sha512-Y7juhPHClUO2H5O+u+StRy6SEAcwZ+hTEk5WJdEmo1Bb1gDtfHvJaWB/iFZJ2tW0W1e865AZeUrC4OcOFjyAQA==} - engines: {node: '>=14.0.0'} - cpu: [arm64] - os: [linux] - - sass-embedded-linux-musl-arm@1.83.0: - resolution: {integrity: sha512-Yc7u2TelCfBab+PRob9/MNJFh3EooMiz4urvhejXkihTiKSHGCv5YqDdtWzvyb9tY2Jb7YtYREVuHwfdVn3dTQ==} - engines: {node: '>=14.0.0'} - cpu: [arm] - os: [linux] - - sass-embedded-linux-musl-ia32@1.83.0: - resolution: {integrity: sha512-arQeYwGmwXV8byx5G1PtSzZWW1jbkfR5qrIHMEbTFSAvAxpqjgSvCvrHMOFd73FcMxVaYh4BX9LQNbKinkbEdg==} - engines: {node: '>=14.0.0'} - cpu: [ia32] - os: [linux] - - sass-embedded-linux-musl-riscv64@1.83.0: - resolution: {integrity: sha512-E6uzlIWz59rut+Z3XR6mLG915zNzv07ISvj3GUNZENdHM7dF8GQ//ANoIpl5PljMQKp89GnYdvo6kj2gnaBf/g==} - engines: {node: '>=14.0.0'} - cpu: [riscv64] - os: [linux] - - sass-embedded-linux-musl-x64@1.83.0: - resolution: {integrity: sha512-eAMK6tyGqvqr21r9g8BnR3fQc1rYFj85RGduSQ3xkITZ6jOAnOhuU94N5fwRS852Hpws0lXhET+7JHXgg3U18w==} - engines: {node: '>=14.0.0'} - cpu: [x64] - os: [linux] - - sass-embedded-linux-riscv64@1.83.0: - resolution: {integrity: sha512-Ojpi78pTv02sy2fUYirRGXHLY3fPnV/bvwuC2i5LwPQw2LpCcFyFTtN0c5h4LJDk9P6wr+/ZB/JXU8tHIOlK+Q==} - engines: {node: '>=14.0.0'} - cpu: [riscv64] - os: [linux] - - sass-embedded-linux-x64@1.83.0: - resolution: {integrity: sha512-3iLjlXdoPfgZRtX4odhRvka1BQs5mAXqfCtDIQBgh/o0JnGPzJIWWl9bYLpHxK8qb+uyVBxXYgXpI0sCzArBOw==} - engines: {node: '>=14.0.0'} - cpu: [x64] - os: [linux] - - sass-embedded-win32-arm64@1.83.0: - resolution: {integrity: sha512-iOHw/8/t2dlTW3lOFwG5eUbiwhEyGWawivlKWJ8lkXH7fjMpVx2VO9zCFAm8RvY9xOHJ9sf1L7g5bx3EnNP9BQ==} - engines: {node: '>=14.0.0'} - cpu: [arm64] - os: [win32] - - sass-embedded-win32-ia32@1.83.0: - resolution: {integrity: sha512-2PxNXJ8Pad4geVcTXY4rkyTr5AwbF8nfrCTDv0ulbTvPhzX2mMKEGcBZUXWn5BeHZTBc6whNMfS7d5fQXR9dDQ==} - engines: {node: '>=14.0.0'} - cpu: [ia32] - os: [win32] - - sass-embedded-win32-x64@1.83.0: - resolution: {integrity: sha512-muBXkFngM6eLTNqOV0FQi7Dv9s+YRQ42Yem26mosdan/GmJQc81deto6uDTgrYn+bzFNmiXcOdfm+0MkTWK3OQ==} - engines: {node: '>=14.0.0'} - cpu: [x64] - os: [win32] - - sass-embedded@1.83.0: - resolution: {integrity: sha512-/8cYZeL39evUqe0o//193na51Q1VWZ61qhxioQvLJwOtWIrX+PgNhCyD8RSuTtmzc4+6+waFZf899bfp/MCUwA==} - engines: {node: '>=16.0.0'} - hasBin: true - - sass-loader@16.0.6: - resolution: {integrity: sha512-sglGzId5gmlfxNs4gK2U3h7HlVRfx278YK6Ono5lwzuvi1jxig80YiuHkaDBVsYIKFhx8wN7XSCI0M2IDS/3qA==} - engines: {node: '>= 18.12.0'} - peerDependencies: - '@rspack/core': 0.x || 1.x - node-sass: ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 - sass: ^1.3.0 - sass-embedded: '*' - webpack: ^5.0.0 - peerDependenciesMeta: - '@rspack/core': - optional: true - node-sass: - optional: true - sass: - optional: true - sass-embedded: - optional: true - webpack: - optional: true - - sass@1.96.0: - resolution: {integrity: sha512-8u4xqqUeugGNCYwr9ARNtQKTOj4KmYiJAVKXf2CTIivTCR51j96htbMKWDru8H5SaQWpyVgTfOF8Ylyf5pun1Q==} - engines: {node: '>=14.0.0'} - hasBin: true - - sax@1.2.4: - resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==} - - sax@1.4.3: - resolution: {integrity: sha512-yqYn1JhPczigF94DMS+shiDMjDowYO6y9+wB/4WgO0Y19jWYk0lQ4tuG5KI7kj4FTp1wxPj5IFfcrz/s1c3jjQ==} - - scheduler@0.19.1: - resolution: {integrity: sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==} - - scheduler@0.27.0: - resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==} - - schema-dts@1.1.5: - resolution: {integrity: sha512-RJr9EaCmsLzBX2NDiO5Z3ux2BVosNZN5jo0gWgsyKvxKIUL5R3swNvoorulAeL9kLB0iTSX7V6aokhla2m7xbg==} - - schema-utils@3.3.0: - resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} - engines: {node: '>= 10.13.0'} - - schema-utils@4.3.3: - resolution: {integrity: sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==} - engines: {node: '>= 10.13.0'} - - scroll-into-view-if-needed@3.1.0: - resolution: {integrity: sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==} - - search-insights@2.17.3: - resolution: {integrity: sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ==} - - section-matter@1.0.0: - resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} - engines: {node: '>=4'} - - seek-bzip@1.0.6: - resolution: {integrity: sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==} - hasBin: true - - select-hose@2.0.0: - resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==} - - selfsigned@2.4.1: - resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==} - engines: {node: '>=10'} - - semver-diff@4.0.0: - resolution: {integrity: sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==} - engines: {node: '>=12'} - - semver-regex@2.0.0: - resolution: {integrity: sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw==} - engines: {node: '>=6'} - - semver-truncate@1.1.2: - resolution: {integrity: sha512-V1fGg9i4CL3qesB6U0L6XAm4xOJiHmt4QAacazumuasc03BvtFGIMCduv01JWQ69Nv+JST9TqhSCiJoxoY031w==} - engines: {node: '>=0.10.0'} - - semver@5.7.2: - resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} - hasBin: true - - semver@6.3.1: - resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} - hasBin: true - - semver@7.7.3: - resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==} - engines: {node: '>=10'} - hasBin: true - - send@0.19.0: - resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==} - engines: {node: '>= 0.8.0'} - - send@0.19.1: - resolution: {integrity: sha512-p4rRk4f23ynFEfcD9LA0xRYngj+IyGiEYyqqOak8kaN0TvNmuxC2dcVeBn62GpCeR2CpWqyHCNScTP91QbAVFg==} - engines: {node: '>= 0.8.0'} - - serialize-javascript@6.0.2: - resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} - - serve-handler@6.1.6: - resolution: {integrity: sha512-x5RL9Y2p5+Sh3D38Fh9i/iQ5ZK+e4xuXRd/pGbM4D13tgo/MGwbttUk8emytcr1YYzBYs+apnUngBDFYfpjPuQ==} - - serve-index@1.9.1: - resolution: {integrity: sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==} - engines: {node: '>= 0.8.0'} - - serve-static@1.16.2: - resolution: {integrity: sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==} - engines: {node: '>= 0.8.0'} - - set-function-length@1.2.2: - resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} - engines: {node: '>= 0.4'} - - set-function-name@2.0.2: - resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} - engines: {node: '>= 0.4'} - - set-getter@0.1.1: - resolution: {integrity: sha512-9sVWOy+gthr+0G9DzqqLaYNA7+5OKkSmcqjL9cBpDEaZrr3ShQlyX2cZ/O/ozE41oxn/Tt0LGEM/w4Rub3A3gw==} - engines: {node: '>=0.10.0'} - - set-proto@1.0.0: - resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==} - engines: {node: '>= 0.4'} - - set-value@2.0.1: - resolution: {integrity: sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==} - engines: {node: '>=0.10.0'} - - setimmediate@1.0.5: - resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} - - setprototypeof@1.1.0: - resolution: {integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==} - - setprototypeof@1.2.0: - resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - - shallow-clone@3.0.1: - resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==} - engines: {node: '>=8'} - - shallowequal@1.1.0: - resolution: {integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==} - - shebang-command@1.2.0: - resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} - engines: {node: '>=0.10.0'} - - shebang-command@2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} - - shebang-regex@1.0.0: - resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} - engines: {node: '>=0.10.0'} - - shebang-regex@3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} - - shell-quote@1.7.2: - resolution: {integrity: sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==} - - shell-quote@1.8.3: - resolution: {integrity: sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==} - engines: {node: '>= 0.4'} - - shelljs@0.8.5: - resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==} - engines: {node: '>=4'} - hasBin: true - - side-channel-list@1.0.0: - resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} - engines: {node: '>= 0.4'} - - side-channel-map@1.0.1: - resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} - engines: {node: '>= 0.4'} - - side-channel-weakmap@1.0.2: - resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} - engines: {node: '>= 0.4'} - - side-channel@1.1.0: - resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} - engines: {node: '>= 0.4'} - - signal-exit@3.0.7: - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - - signal-exit@4.1.0: - resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} - engines: {node: '>=14'} - - simple-swizzle@0.2.4: - resolution: {integrity: sha512-nAu1WFPQSMNr2Zn9PGSZK9AGn4t/y97lEm+MXTtUDwfP0ksAIX4nO+6ruD9Jwut4C49SB1Ws+fbXsm/yScWOHw==} - - sirv@2.0.4: - resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} - engines: {node: '>= 10'} - - sisteransi@1.0.5: - resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} - - sitemap@3.2.2: - resolution: {integrity: sha512-TModL/WU4m2q/mQcrDgNANn0P4LwprM9MMvG4hu5zP4c6IIKs2YLTu6nXXnNr8ODW/WFtxKggiJ1EGn2W0GNmg==} - engines: {node: '>=6.0.0', npm: '>=4.0.0'} - - sitemap@7.1.2: - resolution: {integrity: sha512-ARCqzHJ0p4gWt+j7NlU5eDlIO9+Rkr/JhPFZKKQ1l5GCus7rJH4UdrlVAh0xC/gDS/Qir2UMxqYNHtsKr2rpCw==} - engines: {node: '>=12.0.0', npm: '>=5.6.0'} - hasBin: true - - skin-tone@2.0.0: - resolution: {integrity: sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==} - engines: {node: '>=8'} - - slash@1.0.0: - resolution: {integrity: sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg==} - engines: {node: '>=0.10.0'} - - slash@3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} - - slash@4.0.0: - resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} - engines: {node: '>=12'} - - slash@5.1.0: - resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} - engines: {node: '>=14.16'} - - smob@1.5.0: - resolution: {integrity: sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig==} - - snake-case@3.0.4: - resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} - - snapdragon-node@2.1.1: - resolution: {integrity: sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==} - engines: {node: '>=0.10.0'} - - snapdragon-util@3.0.1: - resolution: {integrity: sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==} - engines: {node: '>=0.10.0'} - - snapdragon@0.8.2: - resolution: {integrity: sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==} - engines: {node: '>=0.10.0'} - - sockjs@0.3.24: - resolution: {integrity: sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==} - - sort-css-media-queries@2.2.0: - resolution: {integrity: sha512-0xtkGhWCC9MGt/EzgnvbbbKhqWjl1+/rncmhTh5qCpbYguXh6S/qwePfv/JQ8jePXXmqingylxoC49pCkSPIbA==} - engines: {node: '>= 6.3.0'} - - sort-keys-length@1.0.1: - resolution: {integrity: sha512-GRbEOUqCxemTAk/b32F2xa8wDTs+Z1QHOkbhJDQTvv/6G3ZkbJ+frYWsTcc7cBB3Fu4wy4XlLCuNtJuMn7Gsvw==} - engines: {node: '>=0.10.0'} - - sort-keys@1.1.2: - resolution: {integrity: sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg==} - engines: {node: '>=0.10.0'} - - sort-keys@2.0.0: - resolution: {integrity: sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg==} - engines: {node: '>=4'} - - source-map-js@1.2.1: - resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} - engines: {node: '>=0.10.0'} - - source-map-resolve@0.5.3: - resolution: {integrity: sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==} - deprecated: See https://github.com/lydell/source-map-resolve#deprecated - - source-map-support@0.5.21: - resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} - - source-map-url@0.4.1: - resolution: {integrity: sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==} - deprecated: See https://github.com/lydell/source-map-url#deprecated - - source-map@0.5.7: - resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} - engines: {node: '>=0.10.0'} - - source-map@0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} - - source-map@0.7.6: - resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==} - engines: {node: '>= 12'} - - source-map@0.8.0-beta.0: - resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} - engines: {node: '>= 8'} - deprecated: The work that was done in this beta branch won't be included in future versions - - sourcemap-codec@1.4.8: - resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} - deprecated: Please use @jridgewell/sourcemap-codec instead - - space-separated-tokens@2.0.2: - resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} - - spdx-correct@3.2.0: - resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} - - spdx-exceptions@2.5.0: - resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} - - spdx-expression-parse@3.0.1: - resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} - - spdx-license-ids@3.0.22: - resolution: {integrity: sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ==} - - spdy-transport@3.0.0: - resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==} - - spdy@4.0.2: - resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==} - engines: {node: '>=6.0.0'} - - split-string@3.1.0: - resolution: {integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==} - engines: {node: '>=0.10.0'} - - sprintf-js@1.0.3: - resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - - squeak@1.3.0: - resolution: {integrity: sha512-YQL1ulInM+ev8nXX7vfXsCsDh6IqXlrremc1hzi77776BtpWgYJUMto3UM05GSAaGzJgWekszjoKDrVNB5XG+A==} - engines: {node: '>=0.10.0'} - - srcset@4.0.0: - resolution: {integrity: sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw==} - engines: {node: '>=12'} - - sshpk@1.18.0: - resolution: {integrity: sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==} - engines: {node: '>=0.10.0'} - hasBin: true - - stable@0.1.8: - resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==} - deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility' - - static-extend@0.1.2: - resolution: {integrity: sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==} - engines: {node: '>=0.10.0'} - - statuses@1.5.0: - resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} - engines: {node: '>= 0.6'} - - statuses@2.0.1: - resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} - engines: {node: '>= 0.8'} - - statuses@2.0.2: - resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==} - engines: {node: '>= 0.8'} - - std-env@3.10.0: - resolution: {integrity: sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==} - - stop-iteration-iterator@1.1.0: - resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==} - engines: {node: '>= 0.4'} - - strict-uri-encode@1.1.0: - resolution: {integrity: sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==} - engines: {node: '>=0.10.0'} - - string-convert@0.2.1: - resolution: {integrity: sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A==} - - string-template@0.2.1: - resolution: {integrity: sha512-Yptehjogou2xm4UJbxJ4CxgZx12HBfeystp0y3x7s4Dj32ltVVG1Gg8YhKjHZkHicuKpZX/ffilA8505VbUbpw==} - - string-width@4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} - - string-width@5.1.2: - resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} - engines: {node: '>=12'} - - string-width@8.1.0: - resolution: {integrity: sha512-Kxl3KJGb/gxkaUMOjRsQ8IrXiGW75O4E3RPjFIINOVH8AMl2SQ/yWdTzWwF3FevIX9LcMAjJW+GRwAlAbTSXdg==} - engines: {node: '>=20'} - - string.prototype.matchall@4.0.12: - resolution: {integrity: sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==} - engines: {node: '>= 0.4'} - - string.prototype.trim@1.2.10: - resolution: {integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==} - engines: {node: '>= 0.4'} - - string.prototype.trimend@1.0.9: - resolution: {integrity: sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==} - engines: {node: '>= 0.4'} - - string.prototype.trimstart@1.0.8: - resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} - engines: {node: '>= 0.4'} - - string_decoder@0.10.31: - resolution: {integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==} - - string_decoder@1.1.1: - resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} - - string_decoder@1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} - - stringify-entities@4.0.4: - resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} - - stringify-object@3.3.0: - resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==} - engines: {node: '>=4'} - - strip-ansi@3.0.1: - resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==} - engines: {node: '>=0.10.0'} - - strip-ansi@6.0.0: - resolution: {integrity: sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==} - engines: {node: '>=8'} - - strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} - - strip-ansi@7.1.2: - resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==} - engines: {node: '>=12'} - - strip-bom-string@1.0.0: - resolution: {integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==} - engines: {node: '>=0.10.0'} - - strip-bom@2.0.0: - resolution: {integrity: sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==} - engines: {node: '>=0.10.0'} - - strip-color@0.1.0: - resolution: {integrity: sha512-p9LsUieSjWNNAxVCXLeilaDlmuUOrDS5/dF9znM1nZc7EGX5+zEFC0bEevsNIaldjlks+2jns5Siz6F9iK6jwA==} - engines: {node: '>=0.10.0'} - - strip-comments@2.0.1: - resolution: {integrity: sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==} - engines: {node: '>=10'} - - strip-dirs@2.1.0: - resolution: {integrity: sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==} - - strip-eof@1.0.0: - resolution: {integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==} - engines: {node: '>=0.10.0'} - - strip-final-newline@2.0.0: - resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} - engines: {node: '>=6'} - - strip-indent@1.0.1: - resolution: {integrity: sha512-I5iQq6aFMM62fBEAIB/hXzwJD6EEZ0xEGCX2t7oXqaKPIRgt4WruAQ285BISgdkP+HLGWyeGmNJcpIwFeRYRUA==} - engines: {node: '>=0.10.0'} - hasBin: true - - strip-json-comments@2.0.1: - resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} - engines: {node: '>=0.10.0'} - - strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} - - strip-outer@1.0.1: - resolution: {integrity: sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==} - engines: {node: '>=0.10.0'} - - strnum@1.1.2: - resolution: {integrity: sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA==} - - style-to-js@1.1.21: - resolution: {integrity: sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ==} - - style-to-object@1.0.14: - resolution: {integrity: sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==} - - stylehacks@4.0.3: - resolution: {integrity: sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==} - engines: {node: '>=6.9.0'} - - stylehacks@6.1.1: - resolution: {integrity: sha512-gSTTEQ670cJNoaeIp9KX6lZmm8LJ3jPB5yJmX8Zq/wQxOsAFXV3qjWzHas3YYk1qesuVIyYWWUpZ0vSE/dTSGg==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - stylis@4.3.6: - resolution: {integrity: sha512-yQ3rwFWRfwNUY7H5vpU0wfdkNSnvnJinhF9830Swlaxl03zsOjCfmX0ugac+3LtK0lYSgwL/KXc8oYL3mG4YFQ==} - - supports-color@2.0.0: - resolution: {integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==} - engines: {node: '>=0.8.0'} - - supports-color@5.5.0: - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} - engines: {node: '>=4'} - - supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} - - supports-color@8.1.1: - resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} - engines: {node: '>=10'} - - supports-preserve-symlinks-flag@1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} - - svg-parser@2.0.4: - resolution: {integrity: sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==} - - svgo@1.3.2: - resolution: {integrity: sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==} - engines: {node: '>=4.0.0'} - deprecated: This SVGO version is no longer supported. Upgrade to v2.x.x. - hasBin: true - - svgo@3.3.2: - resolution: {integrity: sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==} - engines: {node: '>=14.0.0'} - hasBin: true - - swc-loader@0.2.6: - resolution: {integrity: sha512-9Zi9UP2YmDpgmQVbyOPJClY0dwf58JDyDMQ7uRc4krmc72twNI2fvlBWHLqVekBpPc7h5NJkGVT1zNDxFrqhvg==} - peerDependencies: - '@swc/core': ^1.2.147 - webpack: '>=2' - - swr@2.3.7: - resolution: {integrity: sha512-ZEquQ82QvalqTxhBVv/DlAg2mbmUjF4UgpPg9wwk4ufb9rQnZXh1iKyyKBqV6bQGu1Ie7L1QwSYO07qFIa1p+g==} - peerDependencies: - react: ^16.11.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - - sync-child-process@1.0.2: - resolution: {integrity: sha512-8lD+t2KrrScJ/7KXCSyfhT3/hRq78rC0wBFqNJXv3mZyn6hW2ypM05JmlSvtqRbeq6jqA94oHbxAr2vYsJ8vDA==} - engines: {node: '>=16.0.0'} - - sync-message-port@1.1.3: - resolution: {integrity: sha512-GTt8rSKje5FilG+wEdfCkOcLL7LWqpMlr2c3LRuKt/YXxcJ52aGSbGBAdI4L3aaqfrBt6y711El53ItyH1NWzg==} - engines: {node: '>=16.0.0'} - - tailwind-merge@3.4.0: - resolution: {integrity: sha512-uSaO4gnW+b3Y2aWoWfFpX62vn2sR3skfhbjsEnaBI81WD1wBLlHZe5sWf0AqjksNdYTbGBEd0UasQMT3SNV15g==} - - tailwindcss@4.1.18: - resolution: {integrity: sha512-4+Z+0yiYyEtUVCScyfHCxOYP06L5Ne+JiHhY2IjR2KWMIWhJOYZKLSGZaP5HkZ8+bY0cxfzwDE5uOmzFXyIwxw==} - - tapable@1.1.3: - resolution: {integrity: sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==} - engines: {node: '>=6'} - - tapable@2.3.0: - resolution: {integrity: sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==} - engines: {node: '>=6'} - - tar-stream@1.6.2: - resolution: {integrity: sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==} - engines: {node: '>= 0.8.0'} - - tcp-port-used@1.0.2: - resolution: {integrity: sha512-l7ar8lLUD3XS1V2lfoJlCBaeoaWo/2xfYt81hM7VlvR4RrMVFqfmzfhLVk40hAb368uitje5gPtBRL1m/DGvLA==} - - temp-dir@1.0.0: - resolution: {integrity: sha512-xZFXEGbG7SNC3itwBzI3RYjq/cEhBkx2hJuKGIUOcEULmkQExXiHat2z/qkISYsuR+IKumhEfKKbV5qXmhICFQ==} - engines: {node: '>=4'} - - temp-dir@2.0.0: - resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==} - engines: {node: '>=8'} - - tempfile@2.0.0: - resolution: {integrity: sha512-ZOn6nJUgvgC09+doCEF3oB+r3ag7kUvlsXEGX069QRD60p+P3uP7XG9N2/at+EyIRGSN//ZY3LyEotA1YpmjuA==} - engines: {node: '>=4'} - - tempy@0.6.0: - resolution: {integrity: sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==} - engines: {node: '>=10'} - - terser-webpack-plugin@5.3.16: - resolution: {integrity: sha512-h9oBFCWrq78NyWWVcSwZarJkZ01c2AyGrzs1crmHZO3QUg9D61Wu4NPjBy69n7JqylFF5y+CsUZYmYEIZ3mR+Q==} - engines: {node: '>= 10.13.0'} - peerDependencies: - '@swc/core': '*' - esbuild: '*' - uglify-js: '*' - webpack: ^5.1.0 - peerDependenciesMeta: - '@swc/core': - optional: true - esbuild: - optional: true - uglify-js: - optional: true - - terser@5.44.1: - resolution: {integrity: sha512-t/R3R/n0MSwnnazuPpPNVO60LX0SKL45pyl9YlvxIdkH0Of7D5qM2EVe+yASRIlY5pZ73nclYJfNANGWPwFDZw==} - engines: {node: '>=10'} - hasBin: true - - text-table@0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - - thingies@2.5.0: - resolution: {integrity: sha512-s+2Bwztg6PhWUD7XMfeYm5qliDdSiZm7M7n8KjTkIsm3l/2lgVRc2/Gx/v+ZX8lT4FMA+i8aQvhcWylldc+ZNw==} - engines: {node: '>=10.18'} - peerDependencies: - tslib: ^2 - - throttle-debounce@5.0.2: - resolution: {integrity: sha512-B71/4oyj61iNH0KeCamLuE2rmKuTO5byTOSVwECM5FA7TiAiAW+UqTKZ9ERueC4qvgSttUhdmq1mXC3kJqGX7A==} - engines: {node: '>=12.22'} - - throttleit@2.1.0: - resolution: {integrity: sha512-nt6AMGKW1p/70DF/hGBdJB57B8Tspmbp5gfJ8ilhLnt7kkr2ye7hzD6NVG8GGErk2HWF34igrL2CXmNIkzKqKw==} - engines: {node: '>=18'} - - through2@2.0.5: - resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} - - through@2.3.8: - resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} - - thunky@1.1.0: - resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==} - - timed-out@4.0.1: - resolution: {integrity: sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA==} - engines: {node: '>=0.10.0'} - - timsort@0.3.0: - resolution: {integrity: sha512-qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A==} - - tiny-invariant@1.3.3: - resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} - - tiny-lr@1.1.1: - resolution: {integrity: sha512-44yhA3tsaRoMOjQQ+5v5mVdqef+kH6Qze9jTpqtVufgYjYt08zyZAwNwwVBj3i1rJMnR52IxOW0LK0vBzgAkuA==} - - tiny-warning@1.0.3: - resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==} - - tinyexec@1.0.2: - resolution: {integrity: sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==} - engines: {node: '>=18'} - - tinypool@1.1.1: - resolution: {integrity: sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==} - engines: {node: ^18.0.0 || >=20.0.0} - - to-buffer@1.2.2: - resolution: {integrity: sha512-db0E3UJjcFhpDhAF4tLo03oli3pwl3dbnzXOUIlRKrp+ldk/VUxzpWYZENsw2SZiuBjHAk7DfB0VU7NKdpb6sw==} - engines: {node: '>= 0.4'} - - to-object-path@0.3.0: - resolution: {integrity: sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==} - engines: {node: '>=0.10.0'} - - to-regex-range@2.1.1: - resolution: {integrity: sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==} - engines: {node: '>=0.10.0'} - - to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} - - to-regex@3.0.2: - resolution: {integrity: sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==} - engines: {node: '>=0.10.0'} - - toidentifier@1.0.1: - resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} - engines: {node: '>=0.6'} - - toml@2.3.6: - resolution: {integrity: sha512-gVweAectJU3ebq//Ferr2JUY4WKSDe5N+z0FvjDncLGyHmIDoxgY/2Ie4qfEIDm4IS7OA6Rmdm7pdEEdMcV/xQ==} - - totalist@3.0.1: - resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} - engines: {node: '>=6'} - - tough-cookie@2.5.0: - resolution: {integrity: sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==} - engines: {node: '>=0.8'} - - tr46@1.0.1: - resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} - - traverse@0.3.9: - resolution: {integrity: sha512-iawgk0hLP3SxGKDfnDJf8wTz4p2qImnyihM5Hh/sGvQ3K37dPi/w8sRhdNIxYA1TwFwc5mDhIJq+O0RsvXBKdQ==} - - tree-dump@1.1.0: - resolution: {integrity: sha512-rMuvhU4MCDbcbnleZTFezWsaZXRFemSqAM+7jPnzUl1fo9w3YEKOxAeui0fz3OI4EU4hf23iyA7uQRVko+UaBA==} - engines: {node: '>=10.0'} - peerDependencies: - tslib: '2' - - tree-node-cli@1.6.0: - resolution: {integrity: sha512-M8um5Lbl76rWU5aC8oOeEhruiCM29lFCKnwpxrwMjpRicHXJx+bb9Cak11G3zYLrMb6Glsrhnn90rHIzDJrjvg==} - hasBin: true - - trim-lines@3.0.1: - resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} - - trim-newlines@1.0.0: - resolution: {integrity: sha512-Nm4cF79FhSTzrLKGDMi3I4utBtFv8qKy4sq1enftf2gMdpqI8oVQTAfySkTz5r49giVzDj88SVZXP4CeYQwjaw==} - engines: {node: '>=0.10.0'} - - trim-repeated@1.0.0: - resolution: {integrity: sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==} - engines: {node: '>=0.10.0'} - - trough@2.2.0: - resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} - - truncate-html@1.2.2: - resolution: {integrity: sha512-0pogasqkxhCj8PWqxLPTYqtC66ruVXzOS6uNcOCI7yxS1Bf2HMqeXUty5mlbv0UjjlCuExBpPN4vEAFV6imsug==} - - ts-dedent@2.2.0: - resolution: {integrity: sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==} - engines: {node: '>=6.10'} - - tslib@2.8.1: - resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} - - tunnel-agent@0.6.0: - resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} - - tweetnacl@0.14.5: - resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==} - - type-fest@0.16.0: - resolution: {integrity: sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==} - engines: {node: '>=10'} - - type-fest@0.21.3: - resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} - engines: {node: '>=10'} - - type-fest@1.4.0: - resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} - engines: {node: '>=10'} - - type-fest@2.19.0: - resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} - engines: {node: '>=12.20'} - - type-is@1.6.18: - resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} - engines: {node: '>= 0.6'} - - typed-array-buffer@1.0.3: - resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} - engines: {node: '>= 0.4'} - - typed-array-byte-length@1.0.3: - resolution: {integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==} - engines: {node: '>= 0.4'} - - typed-array-byte-offset@1.0.4: - resolution: {integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==} - engines: {node: '>= 0.4'} - - typed-array-length@1.0.7: - resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} - engines: {node: '>= 0.4'} - - typedarray-to-buffer@3.1.5: - resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} - - typedarray@0.0.6: - resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} - - typescript@5.9.3: - resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} - engines: {node: '>=14.17'} - hasBin: true - - uc.micro@2.1.0: - resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==} - - ufo@1.6.1: - resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==} - - unbox-primitive@1.1.0: - resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} - engines: {node: '>= 0.4'} - - unbzip2-stream@1.4.3: - resolution: {integrity: sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==} - - undici-types@7.16.0: - resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} - - undici@7.16.0: - resolution: {integrity: sha512-QEg3HPMll0o3t2ourKwOeUAZ159Kn9mx5pnzHRQO8+Wixmh88YdZRiIwat0iNzNNXn0yoEtXJqFpyW7eM8BV7g==} - engines: {node: '>=20.18.1'} - - unicode-canonical-property-names-ecmascript@2.0.1: - resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==} - engines: {node: '>=4'} - - unicode-emoji-modifier-base@1.0.0: - resolution: {integrity: sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==} - engines: {node: '>=4'} - - unicode-match-property-ecmascript@2.0.0: - resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} - engines: {node: '>=4'} - - unicode-match-property-value-ecmascript@2.2.1: - resolution: {integrity: sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg==} - engines: {node: '>=4'} - - unicode-property-aliases-ecmascript@2.2.0: - resolution: {integrity: sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ==} - engines: {node: '>=4'} - - unicorn-magic@0.3.0: - resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==} - engines: {node: '>=18'} - - unified@11.0.5: - resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} - - union-value@1.0.1: - resolution: {integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==} - engines: {node: '>=0.10.0'} - - uniq@1.0.1: - resolution: {integrity: sha512-Gw+zz50YNKPDKXs+9d+aKAjVwpjNwqzvNpLigIruT4HA9lMZNdMqs9x07kKHB/L9WRzqp4+DlTU5s4wG2esdoA==} - - uniqs@2.0.0: - resolution: {integrity: sha512-mZdDpf3vBV5Efh29kMw5tXoup/buMgxLzOt/XKFKcVmi+15ManNQWr6HfZ2aiZTYlYixbdNJ0KFmIZIv52tHSQ==} - - unique-string@2.0.0: - resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==} - engines: {node: '>=8'} - - unique-string@3.0.0: - resolution: {integrity: sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==} - engines: {node: '>=12'} - - unist-util-is@6.0.1: - resolution: {integrity: sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==} - - unist-util-position-from-estree@2.0.0: - resolution: {integrity: sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==} - - unist-util-position@5.0.0: - resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} - - unist-util-stringify-position@4.0.0: - resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} - - unist-util-visit-parents@6.0.2: - resolution: {integrity: sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==} - - unist-util-visit@5.0.0: - resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} - - universalify@2.0.1: - resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} - engines: {node: '>= 10.0.0'} - - unpipe@1.0.0: - resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} - engines: {node: '>= 0.8'} - - unquote@1.1.1: - resolution: {integrity: sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==} - - unset-value@1.0.0: - resolution: {integrity: sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==} - engines: {node: '>=0.10.0'} - - unzipper@0.10.14: - resolution: {integrity: sha512-ti4wZj+0bQTiX2KmKWuwj7lhV+2n//uXEotUmGuQqrbVZSEGFMbI68+c6JCQ8aAmUWYvtHEz2A8K6wXvueR/6g==} - - upath@1.2.0: - resolution: {integrity: sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==} - engines: {node: '>=4'} - - update-browserslist-db@1.2.2: - resolution: {integrity: sha512-E85pfNzMQ9jpKkA7+TJAi4TJN+tBCuWh5rUcS/sv6cFi+1q9LYDwDI5dpUL0u/73EElyQ8d3TEaeW4sPedBqYA==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' - - update-notifier@6.0.2: - resolution: {integrity: sha512-EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og==} - engines: {node: '>=14.16'} - - uri-js@4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - - urix@0.1.0: - resolution: {integrity: sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==} - deprecated: Please see https://github.com/lydell/urix#deprecated - - url-loader@4.1.1: - resolution: {integrity: sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==} - engines: {node: '>= 10.13.0'} - peerDependencies: - file-loader: '*' - webpack: ^4.0.0 || ^5.0.0 - peerDependenciesMeta: - file-loader: - optional: true - - url-parse-lax@1.0.0: - resolution: {integrity: sha512-BVA4lR5PIviy2PMseNd2jbFQ+jwSwQGdJejf5ctd1rEXt0Ypd7yanUK9+lYechVlN5VaTJGsu2U/3MDDu6KgBA==} - engines: {node: '>=0.10.0'} - - url-parse-lax@3.0.0: - resolution: {integrity: sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==} - engines: {node: '>=4'} - - url-to-options@1.0.1: - resolution: {integrity: sha512-0kQLIzG4fdk/G5NONku64rSH/x32NOA39LVQqlK8Le6lvTF6GGRJpqaQFGgU+CLwySIqBSMdwYM0sYcW9f6P4A==} - engines: {node: '>= 4'} - - use-sync-external-store@1.6.0: - resolution: {integrity: sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - - use@3.1.1: - resolution: {integrity: sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==} - engines: {node: '>=0.10.0'} - - util-deprecate@1.0.2: - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - - util.promisify@1.0.1: - resolution: {integrity: sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==} - - utila@0.4.0: - resolution: {integrity: sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==} - - utility-types@3.11.0: - resolution: {integrity: sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==} - engines: {node: '>= 4'} - - utils-merge@1.0.1: - resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} - engines: {node: '>= 0.4.0'} - - uuid@11.1.0: - resolution: {integrity: sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==} - hasBin: true - - uuid@3.4.0: - resolution: {integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==} - deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. - hasBin: true - - uuid@8.3.2: - resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} - hasBin: true - - validate-npm-package-license@3.0.4: - resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} - - validate-peer-dependencies@2.2.0: - resolution: {integrity: sha512-8X1OWlERjiUY6P6tdeU9E0EwO8RA3bahoOVG7ulOZT5MqgNDUO/BQoVjYiHPcNe+v8glsboZRIw9iToMAA2zAA==} - engines: {node: '>= 12'} - - value-equal@1.0.1: - resolution: {integrity: sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==} - - varint@6.0.0: - resolution: {integrity: sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==} - - vary@1.1.2: - resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} - engines: {node: '>= 0.8'} - - vendors@1.0.4: - resolution: {integrity: sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==} - - verror@1.10.0: - resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==} - engines: {'0': node >=0.6.0} - - vfile-location@5.0.3: - resolution: {integrity: sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==} - - vfile-message@4.0.3: - resolution: {integrity: sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==} - - vfile@6.0.3: - resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} - - vscode-jsonrpc@8.2.0: - resolution: {integrity: sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==} - engines: {node: '>=14.0.0'} - - vscode-languageserver-protocol@3.17.5: - resolution: {integrity: sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==} - - vscode-languageserver-textdocument@1.0.12: - resolution: {integrity: sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==} - - vscode-languageserver-types@3.17.5: - resolution: {integrity: sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==} - - vscode-languageserver@9.0.1: - resolution: {integrity: sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==} - hasBin: true - - vscode-uri@3.0.8: - resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==} - - watchpack@2.4.4: - resolution: {integrity: sha512-c5EGNOiyxxV5qmTtAB7rbiXxi1ooX1pQKMLX/MIabJjRA0SJBQOjKF+KSVfHkr9U1cADPon0mRiVe/riyaiDUA==} - engines: {node: '>=10.13.0'} - - wbuf@1.7.3: - resolution: {integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==} - - web-namespaces@2.0.1: - resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} - - webidl-conversions@4.0.2: - resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} - - webpack-bundle-analyzer@4.10.2: - resolution: {integrity: sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw==} - engines: {node: '>= 10.13.0'} - hasBin: true - - webpack-dev-middleware@7.4.5: - resolution: {integrity: sha512-uxQ6YqGdE4hgDKNf7hUiPXOdtkXvBJXrfEGYSx7P7LC8hnUYGK70X6xQXUvXeNyBDDcsiQXpG2m3G9vxowaEuA==} - engines: {node: '>= 18.12.0'} - peerDependencies: - webpack: ^5.0.0 - peerDependenciesMeta: - webpack: - optional: true - - webpack-dev-server@5.2.2: - resolution: {integrity: sha512-QcQ72gh8a+7JO63TAx/6XZf/CWhgMzu5m0QirvPfGvptOusAxG12w2+aua1Jkjr7hzaWDnJ2n6JFeexMHI+Zjg==} - engines: {node: '>= 18.12.0'} - hasBin: true - peerDependencies: - webpack: ^5.0.0 - webpack-cli: '*' - peerDependenciesMeta: - webpack: - optional: true - webpack-cli: - optional: true - - webpack-merge@5.10.0: - resolution: {integrity: sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==} - engines: {node: '>=10.0.0'} - - webpack-merge@6.0.1: - resolution: {integrity: sha512-hXXvrjtx2PLYx4qruKl+kyRSLc52V+cCvMxRjmKwoA+CBbbF5GfIBtR6kCvl0fYGqTUPKB+1ktVmTHqMOzgCBg==} - engines: {node: '>=18.0.0'} - - webpack-sources@3.3.3: - resolution: {integrity: sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==} - engines: {node: '>=10.13.0'} - - webpack@5.103.0: - resolution: {integrity: sha512-HU1JOuV1OavsZ+mfigY0j8d1TgQgbZ6M+J75zDkpEAwYeXjWSqrGJtgnPblJjd/mAyTNQ7ygw0MiKOn6etz8yw==} - engines: {node: '>=10.13.0'} - hasBin: true - peerDependencies: - webpack-cli: '*' - peerDependenciesMeta: - webpack-cli: - optional: true - - webpackbar@6.0.1: - resolution: {integrity: sha512-TnErZpmuKdwWBdMoexjio3KKX6ZtoKHRVvLIU0A47R0VVBDtx3ZyOJDktgYixhoJokZTYTt1Z37OkO9pnGJa9Q==} - engines: {node: '>=14.21.3'} - peerDependencies: - webpack: 3 || 4 || 5 - - websocket-driver@0.7.4: - resolution: {integrity: sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==} - engines: {node: '>=0.8.0'} - - websocket-extensions@0.1.4: - resolution: {integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==} - engines: {node: '>=0.8.0'} - - whatwg-encoding@3.1.1: - resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==} - engines: {node: '>=18'} - - whatwg-mimetype@4.0.0: - resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==} - engines: {node: '>=18'} - - whatwg-url@7.1.0: - resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} - - which-boxed-primitive@1.1.1: - resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==} - engines: {node: '>= 0.4'} - - which-builtin-type@1.2.1: - resolution: {integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==} - engines: {node: '>= 0.4'} - - which-collection@1.0.2: - resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} - engines: {node: '>= 0.4'} - - which-typed-array@1.1.19: - resolution: {integrity: sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==} - engines: {node: '>= 0.4'} - - which@1.3.1: - resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} - hasBin: true - - which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true - - widest-line@4.0.1: - resolution: {integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==} - engines: {node: '>=12'} - - wildcard@2.0.1: - resolution: {integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==} - - wordwrap@0.0.2: - resolution: {integrity: sha512-xSBsCeh+g+dinoBv3GAOWM4LcVVO68wLXRanibtBSdUvkGWQRGeE9P7IwU9EmDDi4jA6L44lz15CGMwdw9N5+Q==} - engines: {node: '>=0.4.0'} - - workbox-background-sync@7.4.0: - resolution: {integrity: sha512-8CB9OxKAgKZKyNMwfGZ1XESx89GryWTfI+V5yEj8sHjFH8MFelUwYXEyldEK6M6oKMmn807GoJFUEA1sC4XS9w==} - - workbox-broadcast-update@7.4.0: - resolution: {integrity: sha512-+eZQwoktlvo62cI0b+QBr40v5XjighxPq3Fzo9AWMiAosmpG5gxRHgTbGGhaJv/q/MFVxwFNGh/UwHZ/8K88lA==} - - workbox-build@7.4.0: - resolution: {integrity: sha512-Ntk1pWb0caOFIvwz/hfgrov/OJ45wPEhI5PbTywQcYjyZiVhT3UrwwUPl6TRYbTm4moaFYithYnl1lvZ8UjxcA==} - engines: {node: '>=20.0.0'} - - workbox-cacheable-response@7.4.0: - resolution: {integrity: sha512-0Fb8795zg/x23ISFkAc7lbWes6vbw34DGFIMw31cwuHPgDEC/5EYm6m/ZkylLX0EnEbbOyOCLjKgFS/Z5g0HeQ==} - - workbox-core@7.4.0: - resolution: {integrity: sha512-6BMfd8tYEnN4baG4emG9U0hdXM4gGuDU3ectXuVHnj71vwxTFI7WOpQJC4siTOlVtGqCUtj0ZQNsrvi6kZZTAQ==} - - workbox-expiration@7.4.0: - resolution: {integrity: sha512-V50p4BxYhtA80eOvulu8xVfPBgZbkxJ1Jr8UUn0rvqjGhLDqKNtfrDfjJKnLz2U8fO2xGQJTx/SKXNTzHOjnHw==} - - workbox-google-analytics@7.4.0: - resolution: {integrity: sha512-MVPXQslRF6YHkzGoFw1A4GIB8GrKym/A5+jYDUSL+AeJw4ytQGrozYdiZqUW1TPQHW8isBCBtyFJergUXyNoWQ==} - - workbox-navigation-preload@7.4.0: - resolution: {integrity: sha512-etzftSgdQfjMcfPgbfaZCfM2QuR1P+4o8uCA2s4rf3chtKTq/Om7g/qvEOcZkG6v7JZOSOxVYQiOu6PbAZgU6w==} - - workbox-precaching@7.4.0: - resolution: {integrity: sha512-VQs37T6jDqf1rTxUJZXRl3yjZMf5JX/vDPhmx2CPgDDKXATzEoqyRqhYnRoxl6Kr0rqaQlp32i9rtG5zTzIlNg==} - - workbox-range-requests@7.4.0: - resolution: {integrity: sha512-3Vq854ZNuP6Y0KZOQWLaLC9FfM7ZaE+iuQl4VhADXybwzr4z/sMmnLgTeUZLq5PaDlcJBxYXQ3U91V7dwAIfvw==} - - workbox-recipes@7.4.0: - resolution: {integrity: sha512-kOkWvsAn4H8GvAkwfJTbwINdv4voFoiE9hbezgB1sb/0NLyTG4rE7l6LvS8lLk5QIRIto+DjXLuAuG3Vmt3cxQ==} - - workbox-routing@7.4.0: - resolution: {integrity: sha512-C/ooj5uBWYAhAqwmU8HYQJdOjjDKBp9MzTQ+otpMmd+q0eF59K+NuXUek34wbL0RFrIXe/KKT+tUWcZcBqxbHQ==} - - workbox-strategies@7.4.0: - resolution: {integrity: sha512-T4hVqIi5A4mHi92+5EppMX3cLaVywDp8nsyUgJhOZxcfSV/eQofcOA6/EMo5rnTNmNTpw0rUgjAI6LaVullPpg==} - - workbox-streams@7.4.0: - resolution: {integrity: sha512-QHPBQrey7hQbnTs5GrEVoWz7RhHJXnPT+12qqWM378orDMo5VMJLCkCM1cnCk+8Eq92lccx/VgRZ7WAzZWbSLg==} - - workbox-sw@7.4.0: - resolution: {integrity: sha512-ltU+Kr3qWR6BtbdlMnCjobZKzeV1hN+S6UvDywBrwM19TTyqA03X66dzw1tEIdJvQ4lYKkBFox6IAEhoSEZ8Xw==} - - workbox-window@7.4.0: - resolution: {integrity: sha512-/bIYdBLAVsNR3v7gYGaV4pQW3M3kEPx5E8vDxGvxo6khTrGtSSCS7QiFKv9ogzBgZiy0OXLP9zO28U/1nF1mfw==} - - worker-rpc@0.1.1: - resolution: {integrity: sha512-P1WjMrUB3qgJNI9jfmpZ/htmBEjFh//6l/5y8SD9hg1Ef5zTTVVoRjTrTEzPrNBQvmhMxkoTsjOXN10GWU7aCg==} - - wrap-ansi@7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} - - wrap-ansi@8.1.0: - resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} - engines: {node: '>=12'} - - wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - - write-file-atomic@3.0.3: - resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} - - ws@7.5.10: - resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==} - engines: {node: '>=8.3.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - - ws@8.18.3: - resolution: {integrity: sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: '>=5.0.2' - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - - wsl-utils@0.1.0: - resolution: {integrity: sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==} - engines: {node: '>=18'} - - xdg-basedir@5.1.0: - resolution: {integrity: sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==} - engines: {node: '>=12'} - - xml-js@1.6.11: - resolution: {integrity: sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==} - hasBin: true - - xmlbuilder@13.0.2: - resolution: {integrity: sha512-Eux0i2QdDYKbdbA6AM6xE4m6ZTZr4G4xF9kahI2ukSEMCzwce2eX9WlTI5J3s+NU7hpasFsr8hWIONae7LluAQ==} - engines: {node: '>=6.0'} - - xtend@4.0.2: - resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} - engines: {node: '>=0.4'} - - yallist@2.1.2: - resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==} - - yallist@3.1.1: - resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - - yamljs@0.2.10: - resolution: {integrity: sha512-sbkbOosewjeRmJ23Hjee1RgTxn+xa7mt4sew3tfD0SdH0LTcswnZC9dhSNq4PIz15roQMzb84DjECyQo5DWIww==} - hasBin: true - - yargs@2.3.0: - resolution: {integrity: sha512-w48USdbTdaVMcE3CnXsEtSY9zYSN7dTyVnLBgrJF2quA5rLwobC9zixxfexereLGFaxjxtR3oWdydC0qoayakw==} - - yauzl@2.10.0: - resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} - - yocto-queue@1.2.2: - resolution: {integrity: sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ==} - engines: {node: '>=12.20'} - - zod@4.1.13: - resolution: {integrity: sha512-AvvthqfqrAhNH9dnfmrfKzX5upOdjUVJYFqNSlkmGf64gRaTzlPwz99IHYnVs28qYAybvAlBV+H7pn0saFY4Ig==} - - zwitch@2.0.4: - resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} - -snapshots: - - '@ai-sdk/gateway@2.0.21(zod@4.1.13)': - dependencies: - '@ai-sdk/provider': 2.0.0 - '@ai-sdk/provider-utils': 3.0.19(zod@4.1.13) - '@vercel/oidc': 3.0.5 - zod: 4.1.13 - - '@ai-sdk/provider-utils@3.0.19(zod@4.1.13)': - dependencies: - '@ai-sdk/provider': 2.0.0 - '@standard-schema/spec': 1.0.0 - eventsource-parser: 3.0.6 - zod: 4.1.13 - - '@ai-sdk/provider@2.0.0': - dependencies: - json-schema: 0.4.0 - - '@ai-sdk/react@2.0.115(react@19.2.3)(zod@4.1.13)': - dependencies: - '@ai-sdk/provider-utils': 3.0.19(zod@4.1.13) - ai: 5.0.113(zod@4.1.13) - react: 19.2.3 - swr: 2.3.7(react@19.2.3) - throttleit: 2.1.0 - optionalDependencies: - zod: 4.1.13 - - '@algolia/abtesting@1.12.0': - dependencies: - '@algolia/client-common': 5.46.0 - '@algolia/requester-browser-xhr': 5.46.0 - '@algolia/requester-fetch': 5.46.0 - '@algolia/requester-node-http': 5.46.0 - - '@algolia/autocomplete-core@1.19.2(@algolia/client-search@5.46.0)(algoliasearch@5.46.0)(search-insights@2.17.3)': - dependencies: - '@algolia/autocomplete-plugin-algolia-insights': 1.19.2(@algolia/client-search@5.46.0)(algoliasearch@5.46.0)(search-insights@2.17.3) - '@algolia/autocomplete-shared': 1.19.2(@algolia/client-search@5.46.0)(algoliasearch@5.46.0) - transitivePeerDependencies: - - '@algolia/client-search' - - algoliasearch - - search-insights - - '@algolia/autocomplete-plugin-algolia-insights@1.19.2(@algolia/client-search@5.46.0)(algoliasearch@5.46.0)(search-insights@2.17.3)': - dependencies: - '@algolia/autocomplete-shared': 1.19.2(@algolia/client-search@5.46.0)(algoliasearch@5.46.0) - search-insights: 2.17.3 - transitivePeerDependencies: - - '@algolia/client-search' - - algoliasearch - - '@algolia/autocomplete-shared@1.19.2(@algolia/client-search@5.46.0)(algoliasearch@5.46.0)': - dependencies: - '@algolia/client-search': 5.46.0 - algoliasearch: 5.46.0 - - '@algolia/client-abtesting@5.46.0': - dependencies: - '@algolia/client-common': 5.46.0 - '@algolia/requester-browser-xhr': 5.46.0 - '@algolia/requester-fetch': 5.46.0 - '@algolia/requester-node-http': 5.46.0 - - '@algolia/client-analytics@5.46.0': - dependencies: - '@algolia/client-common': 5.46.0 - '@algolia/requester-browser-xhr': 5.46.0 - '@algolia/requester-fetch': 5.46.0 - '@algolia/requester-node-http': 5.46.0 - - '@algolia/client-common@5.46.0': {} - - '@algolia/client-insights@5.46.0': - dependencies: - '@algolia/client-common': 5.46.0 - '@algolia/requester-browser-xhr': 5.46.0 - '@algolia/requester-fetch': 5.46.0 - '@algolia/requester-node-http': 5.46.0 - - '@algolia/client-personalization@5.46.0': - dependencies: - '@algolia/client-common': 5.46.0 - '@algolia/requester-browser-xhr': 5.46.0 - '@algolia/requester-fetch': 5.46.0 - '@algolia/requester-node-http': 5.46.0 - - '@algolia/client-query-suggestions@5.46.0': - dependencies: - '@algolia/client-common': 5.46.0 - '@algolia/requester-browser-xhr': 5.46.0 - '@algolia/requester-fetch': 5.46.0 - '@algolia/requester-node-http': 5.46.0 - - '@algolia/client-search@5.46.0': - dependencies: - '@algolia/client-common': 5.46.0 - '@algolia/requester-browser-xhr': 5.46.0 - '@algolia/requester-fetch': 5.46.0 - '@algolia/requester-node-http': 5.46.0 - - '@algolia/events@4.0.1': {} - - '@algolia/ingestion@1.46.0': - dependencies: - '@algolia/client-common': 5.46.0 - '@algolia/requester-browser-xhr': 5.46.0 - '@algolia/requester-fetch': 5.46.0 - '@algolia/requester-node-http': 5.46.0 - - '@algolia/monitoring@1.46.0': - dependencies: - '@algolia/client-common': 5.46.0 - '@algolia/requester-browser-xhr': 5.46.0 - '@algolia/requester-fetch': 5.46.0 - '@algolia/requester-node-http': 5.46.0 - - '@algolia/recommend@5.46.0': - dependencies: - '@algolia/client-common': 5.46.0 - '@algolia/requester-browser-xhr': 5.46.0 - '@algolia/requester-fetch': 5.46.0 - '@algolia/requester-node-http': 5.46.0 - - '@algolia/requester-browser-xhr@5.46.0': - dependencies: - '@algolia/client-common': 5.46.0 - - '@algolia/requester-fetch@5.46.0': - dependencies: - '@algolia/client-common': 5.46.0 - - '@algolia/requester-node-http@5.46.0': - dependencies: - '@algolia/client-common': 5.46.0 - - '@alloc/quick-lru@5.2.0': {} - - '@ant-design/colors@8.0.0': - dependencies: - '@ant-design/fast-color': 3.0.0 - - '@ant-design/cssinjs-utils@2.0.2(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@ant-design/cssinjs': 2.0.1(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@babel/runtime': 7.28.4 - '@rc-component/util': 1.6.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - - '@ant-design/cssinjs@2.0.1(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@babel/runtime': 7.28.4 - '@emotion/hash': 0.8.0 - '@emotion/unitless': 0.7.5 - '@rc-component/util': 1.6.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - clsx: 2.1.1 - csstype: 3.2.3 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - stylis: 4.3.6 - - '@ant-design/fast-color@3.0.0': {} - - '@ant-design/icons-svg@4.4.2': {} - - '@ant-design/icons@6.1.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@ant-design/colors': 8.0.0 - '@ant-design/icons-svg': 4.4.2 - '@rc-component/util': 1.6.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - clsx: 2.1.1 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - - '@ant-design/react-slick@2.0.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@babel/runtime': 7.28.4 - clsx: 2.1.1 - json2mq: 0.2.0 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - throttle-debounce: 5.0.2 - - '@antfu/install-pkg@1.1.0': - dependencies: - package-manager-detector: 1.6.0 - tinyexec: 1.0.2 - - '@apideck/better-ajv-errors@0.3.6(ajv@8.17.1)': - dependencies: - ajv: 8.17.1 - json-schema: 0.4.0 - jsonpointer: 5.0.1 - leven: 3.1.0 - - '@babel/code-frame@7.10.4': - dependencies: - '@babel/highlight': 7.25.9 - - '@babel/code-frame@7.27.1': - dependencies: - '@babel/helper-validator-identifier': 7.28.5 - js-tokens: 4.0.0 - picocolors: 1.1.1 - - '@babel/compat-data@7.28.5': {} - - '@babel/core@7.28.5': - dependencies: - '@babel/code-frame': 7.27.1 - '@babel/generator': 7.28.5 - '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5) - '@babel/helpers': 7.28.4 - '@babel/parser': 7.28.5 - '@babel/template': 7.27.2 - '@babel/traverse': 7.28.5 - '@babel/types': 7.28.5 - '@jridgewell/remapping': 2.3.5 - convert-source-map: 2.0.0 - debug: 4.4.3 - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/generator@7.28.5': - dependencies: - '@babel/parser': 7.28.5 - '@babel/types': 7.28.5 - '@jridgewell/gen-mapping': 0.3.13 - '@jridgewell/trace-mapping': 0.3.31 - jsesc: 3.1.0 - - '@babel/helper-annotate-as-pure@7.27.3': - dependencies: - '@babel/types': 7.28.5 - - '@babel/helper-compilation-targets@7.27.2': - dependencies: - '@babel/compat-data': 7.28.5 - '@babel/helper-validator-option': 7.27.1 - browserslist: 4.28.1 - lru-cache: 5.1.1 - semver: 6.3.1 - - '@babel/helper-create-class-features-plugin@7.28.5(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-member-expression-to-functions': 7.28.5 - '@babel/helper-optimise-call-expression': 7.27.1 - '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.5) - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/traverse': 7.28.5 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/helper-create-regexp-features-plugin@7.28.5(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-annotate-as-pure': 7.27.3 - regexpu-core: 6.4.0 - semver: 6.3.1 - - '@babel/helper-define-polyfill-provider@0.6.5(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-plugin-utils': 7.27.1 - debug: 4.4.3 - lodash.debounce: 4.0.8 - resolve: 1.22.11 - transitivePeerDependencies: - - supports-color - - '@babel/helper-globals@7.28.0': {} - - '@babel/helper-member-expression-to-functions@7.28.5': - dependencies: - '@babel/traverse': 7.28.5 - '@babel/types': 7.28.5 - transitivePeerDependencies: - - supports-color - - '@babel/helper-module-imports@7.27.1': - dependencies: - '@babel/traverse': 7.28.5 - '@babel/types': 7.28.5 - transitivePeerDependencies: - - supports-color - - '@babel/helper-module-transforms@7.28.3(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-module-imports': 7.27.1 - '@babel/helper-validator-identifier': 7.28.5 - '@babel/traverse': 7.28.5 - transitivePeerDependencies: - - supports-color - - '@babel/helper-optimise-call-expression@7.27.1': - dependencies: - '@babel/types': 7.28.5 - - '@babel/helper-plugin-utils@7.27.1': {} - - '@babel/helper-remap-async-to-generator@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-wrap-function': 7.28.3 - '@babel/traverse': 7.28.5 - transitivePeerDependencies: - - supports-color - - '@babel/helper-replace-supers@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-member-expression-to-functions': 7.28.5 - '@babel/helper-optimise-call-expression': 7.27.1 - '@babel/traverse': 7.28.5 - transitivePeerDependencies: - - supports-color - - '@babel/helper-skip-transparent-expression-wrappers@7.27.1': - dependencies: - '@babel/traverse': 7.28.5 - '@babel/types': 7.28.5 - transitivePeerDependencies: - - supports-color - - '@babel/helper-string-parser@7.27.1': {} - - '@babel/helper-validator-identifier@7.28.5': {} - - '@babel/helper-validator-option@7.27.1': {} - - '@babel/helper-wrap-function@7.28.3': - dependencies: - '@babel/template': 7.27.2 - '@babel/traverse': 7.28.5 - '@babel/types': 7.28.5 - transitivePeerDependencies: - - supports-color - - '@babel/helpers@7.28.4': - dependencies: - '@babel/template': 7.27.2 - '@babel/types': 7.28.5 - - '@babel/highlight@7.25.9': - dependencies: - '@babel/helper-validator-identifier': 7.28.5 - chalk: 2.4.2 - js-tokens: 4.0.0 - picocolors: 1.1.1 - - '@babel/parser@7.28.5': - dependencies: - '@babel/types': 7.28.5 - - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.28.5(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/traverse': 7.28.5 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/plugin-transform-optional-chaining': 7.28.5(@babel/core@7.28.5) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.28.3(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/traverse': 7.28.5 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.28.5)': - dependencies: - '@babel/compat-data': 7.28.5 - '@babel/core': 7.28.5 - '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.28.5) - '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.5) - - '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - - '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-syntax-import-assertions@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-syntax-import-attributes@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-arrow-functions@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-async-generator-functions@7.28.0(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.28.5) - '@babel/traverse': 7.28.5 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-async-to-generator@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-module-imports': 7.27.1 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.28.5) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-block-scoped-functions@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-block-scoping@7.28.5(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-class-properties@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-class-static-block@7.28.3(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-classes@7.28.4(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-globals': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.5) - '@babel/traverse': 7.28.5 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-computed-properties@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/template': 7.27.2 - - '@babel/plugin-transform-destructuring@7.28.5(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/traverse': 7.28.5 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-dotall-regex@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-duplicate-keys@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-dynamic-import@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-explicit-resource-management@7.28.0(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.28.5) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-exponentiation-operator@7.28.5(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-export-namespace-from@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-for-of@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-function-name@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/traverse': 7.28.5 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-json-strings@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-literals@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-logical-assignment-operators@7.28.5(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-member-expression-literals@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-modules-amd@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-modules-commonjs@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-modules-systemjs@7.28.5(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-validator-identifier': 7.28.5 - '@babel/traverse': 7.28.5 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-modules-umd@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-named-capturing-groups-regex@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-new-target@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-nullish-coalescing-operator@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-numeric-separator@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-object-rest-spread@7.28.4(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.28.5) - '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.5) - '@babel/traverse': 7.28.5 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-object-super@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.5) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-optional-catch-binding@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-optional-chaining@7.28.5(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-parameters@7.27.7(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-private-methods@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-private-property-in-object@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-property-literals@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-react-constant-elements@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-react-display-name@7.28.0(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-react-jsx-development@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.28.5) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-react-jsx@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-module-imports': 7.27.1 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.5) - '@babel/types': 7.28.5 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-react-pure-annotations@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-regenerator@7.28.4(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-regexp-modifiers@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-reserved-words@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-runtime@7.28.5(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-module-imports': 7.27.1 - '@babel/helper-plugin-utils': 7.27.1 - babel-plugin-polyfill-corejs2: 0.4.14(@babel/core@7.28.5) - babel-plugin-polyfill-corejs3: 0.13.0(@babel/core@7.28.5) - babel-plugin-polyfill-regenerator: 0.6.5(@babel/core@7.28.5) - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-shorthand-properties@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-spread@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-sticky-regex@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-template-literals@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-typeof-symbol@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-typescript@7.28.5(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.5) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-unicode-escapes@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-unicode-property-regex@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-unicode-regex@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-unicode-sets-regex@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/polyfill@7.12.1': - dependencies: - core-js: 2.6.12 - regenerator-runtime: 0.13.11 - - '@babel/preset-env@7.28.5(@babel/core@7.28.5)': - dependencies: - '@babel/compat-data': 7.28.5 - '@babel/core': 7.28.5 - '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-validator-option': 7.27.1 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.28.5(@babel/core@7.28.5) - '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.28.3(@babel/core@7.28.5) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.28.5) - '@babel/plugin-syntax-import-assertions': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-syntax-import-attributes': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.28.5) - '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-async-generator-functions': 7.28.0(@babel/core@7.28.5) - '@babel/plugin-transform-async-to-generator': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-block-scoped-functions': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-block-scoping': 7.28.5(@babel/core@7.28.5) - '@babel/plugin-transform-class-properties': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-class-static-block': 7.28.3(@babel/core@7.28.5) - '@babel/plugin-transform-classes': 7.28.4(@babel/core@7.28.5) - '@babel/plugin-transform-computed-properties': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.28.5) - '@babel/plugin-transform-dotall-regex': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-duplicate-keys': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-dynamic-import': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-explicit-resource-management': 7.28.0(@babel/core@7.28.5) - '@babel/plugin-transform-exponentiation-operator': 7.28.5(@babel/core@7.28.5) - '@babel/plugin-transform-export-namespace-from': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-function-name': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-json-strings': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-literals': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-logical-assignment-operators': 7.28.5(@babel/core@7.28.5) - '@babel/plugin-transform-member-expression-literals': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-modules-amd': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-modules-systemjs': 7.28.5(@babel/core@7.28.5) - '@babel/plugin-transform-modules-umd': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-named-capturing-groups-regex': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-new-target': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-nullish-coalescing-operator': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-numeric-separator': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-object-rest-spread': 7.28.4(@babel/core@7.28.5) - '@babel/plugin-transform-object-super': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-optional-catch-binding': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-optional-chaining': 7.28.5(@babel/core@7.28.5) - '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.5) - '@babel/plugin-transform-private-methods': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-private-property-in-object': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-property-literals': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-regenerator': 7.28.4(@babel/core@7.28.5) - '@babel/plugin-transform-regexp-modifiers': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-reserved-words': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-spread': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-sticky-regex': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-typeof-symbol': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-unicode-escapes': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-unicode-property-regex': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-unicode-regex': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-unicode-sets-regex': 7.27.1(@babel/core@7.28.5) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.28.5) - babel-plugin-polyfill-corejs2: 0.4.14(@babel/core@7.28.5) - babel-plugin-polyfill-corejs3: 0.13.0(@babel/core@7.28.5) - babel-plugin-polyfill-regenerator: 0.6.5(@babel/core@7.28.5) - core-js-compat: 3.47.0 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/types': 7.28.5 - esutils: 2.0.3 - - '@babel/preset-react@7.28.5(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-validator-option': 7.27.1 - '@babel/plugin-transform-react-display-name': 7.28.0(@babel/core@7.28.5) - '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-react-jsx-development': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-react-pure-annotations': 7.27.1(@babel/core@7.28.5) - transitivePeerDependencies: - - supports-color - - '@babel/preset-typescript@7.28.5(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-validator-option': 7.27.1 - '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-typescript': 7.28.5(@babel/core@7.28.5) - transitivePeerDependencies: - - supports-color - - '@babel/register@7.28.3(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - clone-deep: 4.0.1 - find-cache-dir: 2.1.0 - make-dir: 2.1.0 - pirates: 4.0.7 - source-map-support: 0.5.21 - - '@babel/runtime-corejs3@7.28.4': - dependencies: - core-js-pure: 3.47.0 - - '@babel/runtime@7.28.4': {} - - '@babel/template@7.27.2': - dependencies: - '@babel/code-frame': 7.27.1 - '@babel/parser': 7.28.5 - '@babel/types': 7.28.5 - - '@babel/traverse@7.28.5': - dependencies: - '@babel/code-frame': 7.27.1 - '@babel/generator': 7.28.5 - '@babel/helper-globals': 7.28.0 - '@babel/parser': 7.28.5 - '@babel/template': 7.27.2 - '@babel/types': 7.28.5 - debug: 4.4.3 - transitivePeerDependencies: - - supports-color - - '@babel/types@7.28.5': - dependencies: - '@babel/helper-string-parser': 7.27.1 - '@babel/helper-validator-identifier': 7.28.5 - - '@braintree/sanitize-url@7.1.1': {} - - '@bufbuild/protobuf@2.10.2': - optional: true - - '@chevrotain/cst-dts-gen@11.0.3': - dependencies: - '@chevrotain/gast': 11.0.3 - '@chevrotain/types': 11.0.3 - lodash-es: 4.17.21 - - '@chevrotain/gast@11.0.3': - dependencies: - '@chevrotain/types': 11.0.3 - lodash-es: 4.17.21 - - '@chevrotain/regexp-to-ast@11.0.3': {} - - '@chevrotain/types@11.0.3': {} - - '@chevrotain/utils@11.0.3': {} - - '@colors/colors@1.5.0': - optional: true - - '@csstools/cascade-layer-name-parser@2.0.5(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': - dependencies: - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - - '@csstools/color-helpers@5.1.0': {} - - '@csstools/css-calc@2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': - dependencies: - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - - '@csstools/css-color-parser@3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': - dependencies: - '@csstools/color-helpers': 5.1.0 - '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - - '@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4)': - dependencies: - '@csstools/css-tokenizer': 3.0.4 - - '@csstools/css-tokenizer@3.0.4': {} - - '@csstools/media-query-list-parser@4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': - dependencies: - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - - '@csstools/postcss-alpha-function@1.0.1(postcss@8.5.6)': - dependencies: - '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - - '@csstools/postcss-cascade-layers@5.0.2(postcss@8.5.6)': - dependencies: - '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.1) - postcss: 8.5.6 - postcss-selector-parser: 7.1.1 - - '@csstools/postcss-color-function-display-p3-linear@1.0.1(postcss@8.5.6)': - dependencies: - '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - - '@csstools/postcss-color-function@4.0.12(postcss@8.5.6)': - dependencies: - '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - - '@csstools/postcss-color-mix-function@3.0.12(postcss@8.5.6)': - dependencies: - '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - - '@csstools/postcss-color-mix-variadic-function-arguments@1.0.2(postcss@8.5.6)': - dependencies: - '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - - '@csstools/postcss-content-alt-text@2.0.8(postcss@8.5.6)': - dependencies: - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - - '@csstools/postcss-contrast-color-function@2.0.12(postcss@8.5.6)': - dependencies: - '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - - '@csstools/postcss-exponential-functions@2.0.9(postcss@8.5.6)': - dependencies: - '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - postcss: 8.5.6 - - '@csstools/postcss-font-format-keywords@4.0.0(postcss@8.5.6)': - dependencies: - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - - '@csstools/postcss-gamut-mapping@2.0.11(postcss@8.5.6)': - dependencies: - '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - postcss: 8.5.6 - - '@csstools/postcss-gradients-interpolation-method@5.0.12(postcss@8.5.6)': - dependencies: - '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - - '@csstools/postcss-hwb-function@4.0.12(postcss@8.5.6)': - dependencies: - '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - - '@csstools/postcss-ic-unit@4.0.4(postcss@8.5.6)': - dependencies: - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - - '@csstools/postcss-initial@2.0.1(postcss@8.5.6)': - dependencies: - postcss: 8.5.6 - - '@csstools/postcss-is-pseudo-class@5.0.3(postcss@8.5.6)': - dependencies: - '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.1) - postcss: 8.5.6 - postcss-selector-parser: 7.1.1 - - '@csstools/postcss-light-dark-function@2.0.11(postcss@8.5.6)': - dependencies: - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - - '@csstools/postcss-logical-float-and-clear@3.0.0(postcss@8.5.6)': - dependencies: - postcss: 8.5.6 - - '@csstools/postcss-logical-overflow@2.0.0(postcss@8.5.6)': - dependencies: - postcss: 8.5.6 - - '@csstools/postcss-logical-overscroll-behavior@2.0.0(postcss@8.5.6)': - dependencies: - postcss: 8.5.6 - - '@csstools/postcss-logical-resize@3.0.0(postcss@8.5.6)': - dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - - '@csstools/postcss-logical-viewport-units@3.0.4(postcss@8.5.6)': - dependencies: - '@csstools/css-tokenizer': 3.0.4 - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - - '@csstools/postcss-media-minmax@2.0.9(postcss@8.5.6)': - dependencies: - '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/media-query-list-parser': 4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - postcss: 8.5.6 - - '@csstools/postcss-media-queries-aspect-ratio-number-values@3.0.5(postcss@8.5.6)': - dependencies: - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/media-query-list-parser': 4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - postcss: 8.5.6 - - '@csstools/postcss-nested-calc@4.0.0(postcss@8.5.6)': - dependencies: - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - - '@csstools/postcss-normalize-display-values@4.0.0(postcss@8.5.6)': - dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - - '@csstools/postcss-oklab-function@4.0.12(postcss@8.5.6)': - dependencies: - '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - - '@csstools/postcss-position-area-property@1.0.0(postcss@8.5.6)': - dependencies: - postcss: 8.5.6 - - '@csstools/postcss-progressive-custom-properties@4.2.1(postcss@8.5.6)': - dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - - '@csstools/postcss-random-function@2.0.1(postcss@8.5.6)': - dependencies: - '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - postcss: 8.5.6 - - '@csstools/postcss-relative-color-syntax@3.0.12(postcss@8.5.6)': - dependencies: - '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - - '@csstools/postcss-scope-pseudo-class@4.0.1(postcss@8.5.6)': - dependencies: - postcss: 8.5.6 - postcss-selector-parser: 7.1.1 - - '@csstools/postcss-sign-functions@1.1.4(postcss@8.5.6)': - dependencies: - '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - postcss: 8.5.6 - - '@csstools/postcss-stepped-value-functions@4.0.9(postcss@8.5.6)': - dependencies: - '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - postcss: 8.5.6 - - '@csstools/postcss-system-ui-font-family@1.0.0(postcss@8.5.6)': - dependencies: - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - postcss: 8.5.6 - - '@csstools/postcss-text-decoration-shorthand@4.0.3(postcss@8.5.6)': - dependencies: - '@csstools/color-helpers': 5.1.0 - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - - '@csstools/postcss-trigonometric-functions@4.0.9(postcss@8.5.6)': - dependencies: - '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - postcss: 8.5.6 - - '@csstools/postcss-unset-value@4.0.0(postcss@8.5.6)': - dependencies: - postcss: 8.5.6 - - '@csstools/selector-resolve-nested@3.1.0(postcss-selector-parser@7.1.1)': - dependencies: - postcss-selector-parser: 7.1.1 - - '@csstools/selector-specificity@5.0.0(postcss-selector-parser@7.1.1)': - dependencies: - postcss-selector-parser: 7.1.1 - - '@csstools/utilities@2.0.0(postcss@8.5.6)': - dependencies: - postcss: 8.5.6 - - '@discoveryjs/json-ext@0.5.7': {} - - '@docsearch/core@4.3.1(@types/react@19.2.7)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - optionalDependencies: - '@types/react': 19.2.7 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - - '@docsearch/css@4.3.2': {} - - '@docsearch/react@4.3.2(@algolia/client-search@5.46.0)(@types/react@19.2.7)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(search-insights@2.17.3)': - dependencies: - '@ai-sdk/react': 2.0.115(react@19.2.3)(zod@4.1.13) - '@algolia/autocomplete-core': 1.19.2(@algolia/client-search@5.46.0)(algoliasearch@5.46.0)(search-insights@2.17.3) - '@docsearch/core': 4.3.1(@types/react@19.2.7)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docsearch/css': 4.3.2 - ai: 5.0.113(zod@4.1.13) - algoliasearch: 5.46.0 - marked: 16.4.2 - zod: 4.1.13 - optionalDependencies: - '@types/react': 19.2.7 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - search-insights: 2.17.3 - transitivePeerDependencies: - - '@algolia/client-search' - - '@docusaurus/babel@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@babel/core': 7.28.5 - '@babel/generator': 7.28.5 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.28.5) - '@babel/plugin-transform-runtime': 7.28.5(@babel/core@7.28.5) - '@babel/preset-env': 7.28.5(@babel/core@7.28.5) - '@babel/preset-react': 7.28.5(@babel/core@7.28.5) - '@babel/preset-typescript': 7.28.5(@babel/core@7.28.5) - '@babel/runtime': 7.28.4 - '@babel/runtime-corejs3': 7.28.4 - '@babel/traverse': 7.28.5 - '@docusaurus/logger': 3.9.2 - '@docusaurus/utils': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - babel-plugin-dynamic-import-node: 2.3.3 - fs-extra: 11.3.2 - tslib: 2.8.1 - transitivePeerDependencies: - - '@swc/core' - - esbuild - - react - - react-dom - - supports-color - - uglify-js - - webpack-cli - - '@docusaurus/bundler@3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3)': - dependencies: - '@babel/core': 7.28.5 - '@docusaurus/babel': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/cssnano-preset': 3.9.2 - '@docusaurus/logger': 3.9.2 - '@docusaurus/types': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - babel-loader: 9.2.1(@babel/core@7.28.5)(webpack@5.103.0(@swc/core@1.15.4)) - clean-css: 5.3.3 - copy-webpack-plugin: 11.0.0(webpack@5.103.0(@swc/core@1.15.4)) - css-loader: 6.11.0(@rspack/core@1.6.7)(webpack@5.103.0(@swc/core@1.15.4)) - css-minimizer-webpack-plugin: 5.0.1(clean-css@5.3.3)(webpack@5.103.0(@swc/core@1.15.4)) - cssnano: 6.1.2(postcss@8.5.6) - file-loader: 6.2.0(webpack@5.103.0(@swc/core@1.15.4)) - html-minifier-terser: 7.2.0 - mini-css-extract-plugin: 2.9.4(webpack@5.103.0(@swc/core@1.15.4)) - null-loader: 4.0.1(webpack@5.103.0(@swc/core@1.15.4)) - postcss: 8.5.6 - postcss-loader: 7.3.4(postcss@8.5.6)(typescript@5.9.3)(webpack@5.103.0(@swc/core@1.15.4)) - postcss-preset-env: 10.5.0(postcss@8.5.6) - terser-webpack-plugin: 5.3.16(@swc/core@1.15.4)(webpack@5.103.0(@swc/core@1.15.4)) - tslib: 2.8.1 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.103.0(@swc/core@1.15.4)))(webpack@5.103.0(@swc/core@1.15.4)) - webpack: 5.103.0(@swc/core@1.15.4) - webpackbar: 6.0.1(webpack@5.103.0(@swc/core@1.15.4)) - optionalDependencies: - '@docusaurus/faster': 3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)) - transitivePeerDependencies: - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - csso - - esbuild - - lightningcss - - react - - react-dom - - supports-color - - typescript - - uglify-js - - webpack-cli - - '@docusaurus/core@3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3)': - dependencies: - '@docusaurus/babel': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/bundler': 3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/logger': 3.9.2 - '@docusaurus/mdx-loader': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils-common': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils-validation': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@mdx-js/react': 3.1.1(@types/react@19.2.7)(react@19.2.3) - boxen: 6.2.1 - chalk: 4.1.2 - chokidar: 3.6.0 - cli-table3: 0.6.5 - combine-promises: 1.2.0 - commander: 5.1.0 - core-js: 3.47.0 - detect-port: 1.6.1 - escape-html: 1.0.3 - eta: 2.2.0 - eval: 0.1.8 - execa: 5.1.1 - fs-extra: 11.3.2 - html-tags: 3.3.1 - html-webpack-plugin: 5.6.5(@rspack/core@1.6.7)(webpack@5.103.0(@swc/core@1.15.4)) - leven: 3.1.0 - lodash: 4.17.21 - open: 8.4.2 - p-map: 4.0.0 - prompts: 2.4.2 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - react-helmet-async: '@slorber/react-helmet-async@1.3.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3)' - react-loadable: '@docusaurus/react-loadable@6.0.0(react@19.2.3)' - react-loadable-ssr-addon-v5-slorber: 1.0.1(@docusaurus/react-loadable@6.0.0(react@19.2.3))(webpack@5.103.0(@swc/core@1.15.4)) - react-router: 5.3.4(react@19.2.3) - react-router-config: 5.1.1(react-router@5.3.4(react@19.2.3))(react@19.2.3) - react-router-dom: 5.3.4(react@19.2.3) - semver: 7.7.3 - serve-handler: 6.1.6 - tinypool: 1.1.1 - tslib: 2.8.1 - update-notifier: 6.0.2 - webpack: 5.103.0(@swc/core@1.15.4) - webpack-bundle-analyzer: 4.10.2 - webpack-dev-server: 5.2.2(webpack@5.103.0(@swc/core@1.15.4)) - webpack-merge: 6.0.1 - transitivePeerDependencies: - - '@docusaurus/faster' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - bufferutil - - csso - - debug - - esbuild - - lightningcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - webpack-cli - - '@docusaurus/cssnano-preset@3.9.2': - dependencies: - cssnano-preset-advanced: 6.1.2(postcss@8.5.6) - postcss: 8.5.6 - postcss-sort-media-queries: 5.2.0(postcss@8.5.6) - tslib: 2.8.1 - - '@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))': - dependencies: - '@docusaurus/types': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rspack/core': 1.6.7 - '@swc/core': 1.15.4 - '@swc/html': 1.15.3 - browserslist: 4.28.1 - lightningcss: 1.30.2 - swc-loader: 0.2.6(@swc/core@1.15.4)(webpack@5.103.0(@swc/core@1.15.4)) - tslib: 2.8.1 - webpack: 5.103.0(@swc/core@1.15.4) - transitivePeerDependencies: - - '@swc/helpers' - - esbuild - - uglify-js - - webpack-cli - - '@docusaurus/logger@3.9.2': - dependencies: - chalk: 4.1.2 - tslib: 2.8.1 - - '@docusaurus/mdx-loader@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@docusaurus/logger': 3.9.2 - '@docusaurus/utils': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils-validation': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@mdx-js/mdx': 3.1.1 - '@slorber/remark-comment': 1.0.0 - escape-html: 1.0.3 - estree-util-value-to-estree: 3.5.0 - file-loader: 6.2.0(webpack@5.103.0(@swc/core@1.15.4)) - fs-extra: 11.3.2 - image-size: 2.0.2 - mdast-util-mdx: 3.0.0 - mdast-util-to-string: 4.0.0 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - rehype-raw: 7.0.0 - remark-directive: 3.0.1 - remark-emoji: 4.0.1 - remark-frontmatter: 5.0.0 - remark-gfm: 4.0.1 - stringify-object: 3.3.0 - tslib: 2.8.1 - unified: 11.0.5 - unist-util-visit: 5.0.0 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.103.0(@swc/core@1.15.4)))(webpack@5.103.0(@swc/core@1.15.4)) - vfile: 6.0.3 - webpack: 5.103.0(@swc/core@1.15.4) - transitivePeerDependencies: - - '@swc/core' - - esbuild - - supports-color - - uglify-js - - webpack-cli - - '@docusaurus/module-type-aliases@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@docusaurus/types': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@types/history': 4.7.11 - '@types/react': 19.2.7 - '@types/react-router-config': 5.0.11 - '@types/react-router-dom': 5.3.3 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - react-helmet-async: '@slorber/react-helmet-async@1.3.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3)' - react-loadable: '@docusaurus/react-loadable@6.0.0(react@19.2.3)' - transitivePeerDependencies: - - '@swc/core' - - esbuild - - supports-color - - uglify-js - - webpack-cli - - '@docusaurus/plugin-content-blog@3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@docusaurus/plugin-content-docs@3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3)': - dependencies: - '@docusaurus/core': 3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/logger': 3.9.2 - '@docusaurus/mdx-loader': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/plugin-content-docs': 3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/theme-common': 3.9.2(@docusaurus/plugin-content-docs@3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3))(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/types': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils-common': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils-validation': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - cheerio: 1.0.0-rc.12 - feed: 4.2.2 - fs-extra: 11.3.2 - lodash: 4.17.21 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - schema-dts: 1.1.5 - srcset: 4.0.0 - tslib: 2.8.1 - unist-util-visit: 5.0.0 - utility-types: 3.11.0 - webpack: 5.103.0(@swc/core@1.15.4) - transitivePeerDependencies: - - '@docusaurus/faster' - - '@mdx-js/react' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - bufferutil - - csso - - debug - - esbuild - - lightningcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - webpack-cli - - '@docusaurus/plugin-content-docs@3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3)': - dependencies: - '@docusaurus/core': 3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/logger': 3.9.2 - '@docusaurus/mdx-loader': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/module-type-aliases': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/theme-common': 3.9.2(@docusaurus/plugin-content-docs@3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3))(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/types': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils-common': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils-validation': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@types/react-router-config': 5.0.11 - combine-promises: 1.2.0 - fs-extra: 11.3.2 - js-yaml: 4.1.1 - lodash: 4.17.21 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - schema-dts: 1.1.5 - tslib: 2.8.1 - utility-types: 3.11.0 - webpack: 5.103.0(@swc/core@1.15.4) - transitivePeerDependencies: - - '@docusaurus/faster' - - '@mdx-js/react' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - bufferutil - - csso - - debug - - esbuild - - lightningcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - webpack-cli - - '@docusaurus/plugin-content-pages@3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3)': - dependencies: - '@docusaurus/core': 3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/mdx-loader': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/types': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils-validation': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - fs-extra: 11.3.2 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - tslib: 2.8.1 - webpack: 5.103.0(@swc/core@1.15.4) - transitivePeerDependencies: - - '@docusaurus/faster' - - '@mdx-js/react' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - bufferutil - - csso - - debug - - esbuild - - lightningcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - webpack-cli - - '@docusaurus/plugin-css-cascade-layers@3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3)': - dependencies: - '@docusaurus/core': 3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/types': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils-validation': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - tslib: 2.8.1 - transitivePeerDependencies: - - '@docusaurus/faster' - - '@mdx-js/react' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - bufferutil - - csso - - debug - - esbuild - - lightningcss - - react - - react-dom - - supports-color - - typescript - - uglify-js - - utf-8-validate - - webpack-cli - - '@docusaurus/plugin-debug@3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3)': - dependencies: - '@docusaurus/core': 3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/types': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - fs-extra: 11.3.2 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - react-json-view-lite: 2.5.0(react@19.2.3) - tslib: 2.8.1 - transitivePeerDependencies: - - '@docusaurus/faster' - - '@mdx-js/react' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - bufferutil - - csso - - debug - - esbuild - - lightningcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - webpack-cli - - '@docusaurus/plugin-google-analytics@3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3)': - dependencies: - '@docusaurus/core': 3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/types': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils-validation': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - tslib: 2.8.1 - transitivePeerDependencies: - - '@docusaurus/faster' - - '@mdx-js/react' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - bufferutil - - csso - - debug - - esbuild - - lightningcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - webpack-cli - - '@docusaurus/plugin-google-gtag@3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3)': - dependencies: - '@docusaurus/core': 3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/types': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils-validation': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@types/gtag.js': 0.0.12 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - tslib: 2.8.1 - transitivePeerDependencies: - - '@docusaurus/faster' - - '@mdx-js/react' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - bufferutil - - csso - - debug - - esbuild - - lightningcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - webpack-cli - - '@docusaurus/plugin-google-tag-manager@3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3)': - dependencies: - '@docusaurus/core': 3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/types': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils-validation': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - tslib: 2.8.1 - transitivePeerDependencies: - - '@docusaurus/faster' - - '@mdx-js/react' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - bufferutil - - csso - - debug - - esbuild - - lightningcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - webpack-cli - - '@docusaurus/plugin-pwa@3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@docusaurus/plugin-content-docs@3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3)': - dependencies: - '@babel/core': 7.28.5 - '@babel/preset-env': 7.28.5(@babel/core@7.28.5) - '@docusaurus/bundler': 3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/core': 3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/logger': 3.9.2 - '@docusaurus/theme-common': 3.9.2(@docusaurus/plugin-content-docs@3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3))(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/theme-translations': 3.9.2 - '@docusaurus/types': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils-validation': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - babel-loader: 9.2.1(@babel/core@7.28.5)(webpack@5.103.0(@swc/core@1.15.4)) - clsx: 2.1.1 - core-js: 3.47.0 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - tslib: 2.8.1 - webpack: 5.103.0(@swc/core@1.15.4) - webpack-merge: 5.10.0 - workbox-build: 7.4.0 - workbox-precaching: 7.4.0 - workbox-window: 7.4.0 - transitivePeerDependencies: - - '@docusaurus/faster' - - '@docusaurus/plugin-content-docs' - - '@mdx-js/react' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@types/babel__core' - - bufferutil - - csso - - debug - - esbuild - - lightningcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - webpack-cli - - '@docusaurus/plugin-sitemap@3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3)': - dependencies: - '@docusaurus/core': 3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/logger': 3.9.2 - '@docusaurus/types': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils-common': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils-validation': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - fs-extra: 11.3.2 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - sitemap: 7.1.2 - tslib: 2.8.1 - transitivePeerDependencies: - - '@docusaurus/faster' - - '@mdx-js/react' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - bufferutil - - csso - - debug - - esbuild - - lightningcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - webpack-cli - - '@docusaurus/plugin-svgr@3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3)': - dependencies: - '@docusaurus/core': 3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/types': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils-validation': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@svgr/core': 8.1.0(typescript@5.9.3) - '@svgr/webpack': 8.1.0(typescript@5.9.3) - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - tslib: 2.8.1 - webpack: 5.103.0(@swc/core@1.15.4) - transitivePeerDependencies: - - '@docusaurus/faster' - - '@mdx-js/react' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - bufferutil - - csso - - debug - - esbuild - - lightningcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - webpack-cli - - '@docusaurus/preset-classic@3.9.2(@algolia/client-search@5.46.0)(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(@types/react@19.2.7)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(search-insights@2.17.3)(typescript@5.9.3)': - dependencies: - '@docusaurus/core': 3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/plugin-content-blog': 3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@docusaurus/plugin-content-docs@3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/plugin-content-docs': 3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/plugin-content-pages': 3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/plugin-css-cascade-layers': 3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/plugin-debug': 3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/plugin-google-analytics': 3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/plugin-google-gtag': 3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/plugin-google-tag-manager': 3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/plugin-sitemap': 3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/plugin-svgr': 3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/theme-classic': 3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@rspack/core@1.6.7)(@swc/core@1.15.4)(@types/react@19.2.7)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/theme-common': 3.9.2(@docusaurus/plugin-content-docs@3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3))(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/theme-search-algolia': 3.9.2(@algolia/client-search@5.46.0)(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(@types/react@19.2.7)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(search-insights@2.17.3)(typescript@5.9.3) - '@docusaurus/types': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - transitivePeerDependencies: - - '@algolia/client-search' - - '@docusaurus/faster' - - '@mdx-js/react' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@types/react' - - bufferutil - - csso - - debug - - esbuild - - lightningcss - - search-insights - - supports-color - - typescript - - uglify-js - - utf-8-validate - - webpack-cli - - '@docusaurus/react-loadable@6.0.0(react@19.2.3)': - dependencies: - '@types/react': 19.2.7 - react: 19.2.3 - - '@docusaurus/theme-classic@3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@rspack/core@1.6.7)(@swc/core@1.15.4)(@types/react@19.2.7)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3)': - dependencies: - '@docusaurus/core': 3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/logger': 3.9.2 - '@docusaurus/mdx-loader': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/module-type-aliases': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/plugin-content-blog': 3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@docusaurus/plugin-content-docs@3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/plugin-content-docs': 3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/plugin-content-pages': 3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/theme-common': 3.9.2(@docusaurus/plugin-content-docs@3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3))(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/theme-translations': 3.9.2 - '@docusaurus/types': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils-common': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils-validation': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@mdx-js/react': 3.1.1(@types/react@19.2.7)(react@19.2.3) - clsx: 2.1.1 - infima: 0.2.0-alpha.45 - lodash: 4.17.21 - nprogress: 0.2.0 - postcss: 8.5.6 - prism-react-renderer: 2.4.1(react@19.2.3) - prismjs: 1.30.0 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - react-router-dom: 5.3.4(react@19.2.3) - rtlcss: 4.3.0 - tslib: 2.8.1 - utility-types: 3.11.0 - transitivePeerDependencies: - - '@docusaurus/faster' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@types/react' - - bufferutil - - csso - - debug - - esbuild - - lightningcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - webpack-cli - - '@docusaurus/theme-common@3.9.2(@docusaurus/plugin-content-docs@3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3))(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@docusaurus/mdx-loader': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/module-type-aliases': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/plugin-content-docs': 3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/utils': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils-common': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@types/history': 4.7.11 - '@types/react': 19.2.7 - '@types/react-router-config': 5.0.11 - clsx: 2.1.1 - parse-numeric-range: 1.3.0 - prism-react-renderer: 2.4.1(react@19.2.3) - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - tslib: 2.8.1 - utility-types: 3.11.0 - transitivePeerDependencies: - - '@swc/core' - - esbuild - - supports-color - - uglify-js - - webpack-cli - - '@docusaurus/theme-mermaid@3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@docusaurus/plugin-content-docs@3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3)': - dependencies: - '@docusaurus/core': 3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/module-type-aliases': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/theme-common': 3.9.2(@docusaurus/plugin-content-docs@3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3))(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/types': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils-validation': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - mermaid: 11.12.2 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - tslib: 2.8.1 - transitivePeerDependencies: - - '@docusaurus/faster' - - '@docusaurus/plugin-content-docs' - - '@mdx-js/react' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - bufferutil - - csso - - debug - - esbuild - - lightningcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - webpack-cli - - '@docusaurus/theme-search-algolia@3.9.2(@algolia/client-search@5.46.0)(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(@types/react@19.2.7)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(search-insights@2.17.3)(typescript@5.9.3)': - dependencies: - '@docsearch/react': 4.3.2(@algolia/client-search@5.46.0)(@types/react@19.2.7)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(search-insights@2.17.3) - '@docusaurus/core': 3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/logger': 3.9.2 - '@docusaurus/plugin-content-docs': 3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - '@docusaurus/theme-common': 3.9.2(@docusaurus/plugin-content-docs@3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3))(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/theme-translations': 3.9.2 - '@docusaurus/utils': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils-validation': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - algoliasearch: 5.46.0 - algoliasearch-helper: 3.26.1(algoliasearch@5.46.0) - clsx: 2.1.1 - eta: 2.2.0 - fs-extra: 11.3.2 - lodash: 4.17.21 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - tslib: 2.8.1 - utility-types: 3.11.0 - transitivePeerDependencies: - - '@algolia/client-search' - - '@docusaurus/faster' - - '@mdx-js/react' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@types/react' - - bufferutil - - csso - - debug - - esbuild - - lightningcss - - search-insights - - supports-color - - typescript - - uglify-js - - utf-8-validate - - webpack-cli - - '@docusaurus/theme-translations@3.9.2': - dependencies: - fs-extra: 11.3.2 - tslib: 2.8.1 - - '@docusaurus/tsconfig@3.9.2': {} - - '@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@mdx-js/mdx': 3.1.1 - '@types/history': 4.7.11 - '@types/mdast': 4.0.4 - '@types/react': 19.2.7 - commander: 5.1.0 - joi: 17.13.3 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - react-helmet-async: '@slorber/react-helmet-async@1.3.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3)' - utility-types: 3.11.0 - webpack: 5.103.0(@swc/core@1.15.4) - webpack-merge: 5.10.0 - transitivePeerDependencies: - - '@swc/core' - - esbuild - - supports-color - - uglify-js - - webpack-cli - - '@docusaurus/utils-common@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@docusaurus/types': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - tslib: 2.8.1 - transitivePeerDependencies: - - '@swc/core' - - esbuild - - react - - react-dom - - supports-color - - uglify-js - - webpack-cli - - '@docusaurus/utils-validation@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@docusaurus/logger': 3.9.2 - '@docusaurus/utils': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils-common': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - fs-extra: 11.3.2 - joi: 17.13.3 - js-yaml: 4.1.1 - lodash: 4.17.21 - tslib: 2.8.1 - transitivePeerDependencies: - - '@swc/core' - - esbuild - - react - - react-dom - - supports-color - - uglify-js - - webpack-cli - - '@docusaurus/utils@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@docusaurus/logger': 3.9.2 - '@docusaurus/types': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@docusaurus/utils-common': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - escape-string-regexp: 4.0.0 - execa: 5.1.1 - file-loader: 6.2.0(webpack@5.103.0(@swc/core@1.15.4)) - fs-extra: 11.3.2 - github-slugger: 1.5.0 - globby: 11.1.0 - gray-matter: 4.0.3 - jiti: 1.21.7 - js-yaml: 4.1.1 - lodash: 4.17.21 - micromatch: 4.0.8 - p-queue: 6.6.2 - prompts: 2.4.2 - resolve-pathname: 3.0.0 - tslib: 2.8.1 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.103.0(@swc/core@1.15.4)))(webpack@5.103.0(@swc/core@1.15.4)) - utility-types: 3.11.0 - webpack: 5.103.0(@swc/core@1.15.4) - transitivePeerDependencies: - - '@swc/core' - - esbuild - - react - - react-dom - - supports-color - - uglify-js - - webpack-cli - - '@emnapi/core@1.7.1': - dependencies: - '@emnapi/wasi-threads': 1.1.0 - tslib: 2.8.1 - optional: true - - '@emnapi/runtime@1.7.1': - dependencies: - tslib: 2.8.1 - optional: true - - '@emnapi/wasi-threads@1.1.0': - dependencies: - tslib: 2.8.1 - optional: true - - '@emotion/hash@0.8.0': {} - - '@emotion/unitless@0.7.5': {} - - '@giscus/react@3.1.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - giscus: 1.6.0 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - - '@gracefullight/docusaurus-plugin-microsoft-clarity@1.0.0(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@docusaurus/utils-validation': 3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - transitivePeerDependencies: - - '@swc/core' - - esbuild - - react - - react-dom - - supports-color - - uglify-js - - webpack-cli - - '@hapi/hoek@9.3.0': {} - - '@hapi/topo@5.1.0': - dependencies: - '@hapi/hoek': 9.3.0 - - '@iconify/react@6.0.2(react@19.2.3)': - dependencies: - '@iconify/types': 2.0.0 - react: 19.2.3 - - '@iconify/types@2.0.0': {} - - '@iconify/utils@3.1.0': - dependencies: - '@antfu/install-pkg': 1.1.0 - '@iconify/types': 2.0.0 - mlly: 1.8.0 - - '@isaacs/balanced-match@4.0.1': {} - - '@isaacs/brace-expansion@5.0.0': - dependencies: - '@isaacs/balanced-match': 4.0.1 - - '@isaacs/cliui@8.0.2': - dependencies: - string-width: 5.1.2 - string-width-cjs: string-width@4.2.3 - strip-ansi: 7.1.2 - strip-ansi-cjs: strip-ansi@6.0.1 - wrap-ansi: 8.1.0 - wrap-ansi-cjs: wrap-ansi@7.0.0 - - '@jest/schemas@29.6.3': - dependencies: - '@sinclair/typebox': 0.27.8 - - '@jest/types@29.6.3': - dependencies: - '@jest/schemas': 29.6.3 - '@types/istanbul-lib-coverage': 2.0.6 - '@types/istanbul-reports': 3.0.4 - '@types/node': 25.0.2 - '@types/yargs': 17.0.35 - chalk: 4.1.2 - - '@jridgewell/gen-mapping@0.3.13': - dependencies: - '@jridgewell/sourcemap-codec': 1.5.5 - '@jridgewell/trace-mapping': 0.3.31 - - '@jridgewell/remapping@2.3.5': - dependencies: - '@jridgewell/gen-mapping': 0.3.13 - '@jridgewell/trace-mapping': 0.3.31 - - '@jridgewell/resolve-uri@3.1.2': {} - - '@jridgewell/source-map@0.3.11': - dependencies: - '@jridgewell/gen-mapping': 0.3.13 - '@jridgewell/trace-mapping': 0.3.31 - - '@jridgewell/sourcemap-codec@1.5.5': {} - - '@jridgewell/trace-mapping@0.3.31': - dependencies: - '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.5.5 - - '@jsonjoy.com/base64@1.1.2(tslib@2.8.1)': - dependencies: - tslib: 2.8.1 - - '@jsonjoy.com/buffers@1.2.1(tslib@2.8.1)': - dependencies: - tslib: 2.8.1 - - '@jsonjoy.com/codegen@1.0.0(tslib@2.8.1)': - dependencies: - tslib: 2.8.1 - - '@jsonjoy.com/json-pack@1.21.0(tslib@2.8.1)': - dependencies: - '@jsonjoy.com/base64': 1.1.2(tslib@2.8.1) - '@jsonjoy.com/buffers': 1.2.1(tslib@2.8.1) - '@jsonjoy.com/codegen': 1.0.0(tslib@2.8.1) - '@jsonjoy.com/json-pointer': 1.0.2(tslib@2.8.1) - '@jsonjoy.com/util': 1.9.0(tslib@2.8.1) - hyperdyperid: 1.2.0 - thingies: 2.5.0(tslib@2.8.1) - tree-dump: 1.1.0(tslib@2.8.1) - tslib: 2.8.1 - - '@jsonjoy.com/json-pointer@1.0.2(tslib@2.8.1)': - dependencies: - '@jsonjoy.com/codegen': 1.0.0(tslib@2.8.1) - '@jsonjoy.com/util': 1.9.0(tslib@2.8.1) - tslib: 2.8.1 - - '@jsonjoy.com/util@1.9.0(tslib@2.8.1)': - dependencies: - '@jsonjoy.com/buffers': 1.2.1(tslib@2.8.1) - '@jsonjoy.com/codegen': 1.0.0(tslib@2.8.1) - tslib: 2.8.1 - - '@leichtgewicht/ip-codec@2.0.5': {} - - '@lit-labs/ssr-dom-shim@1.4.0': {} - - '@lit/reactive-element@2.1.1': - dependencies: - '@lit-labs/ssr-dom-shim': 1.4.0 - - '@mdx-js/mdx@3.1.1': - dependencies: - '@types/estree': 1.0.8 - '@types/estree-jsx': 1.0.5 - '@types/hast': 3.0.4 - '@types/mdx': 2.0.13 - acorn: 8.15.0 - collapse-white-space: 2.1.0 - devlop: 1.1.0 - estree-util-is-identifier-name: 3.0.0 - estree-util-scope: 1.0.0 - estree-walker: 3.0.3 - hast-util-to-jsx-runtime: 2.3.6 - markdown-extensions: 2.0.0 - recma-build-jsx: 1.0.0 - recma-jsx: 1.0.1(acorn@8.15.0) - recma-stringify: 1.0.0 - rehype-recma: 1.0.0 - remark-mdx: 3.1.1 - remark-parse: 11.0.0 - remark-rehype: 11.1.2 - source-map: 0.7.6 - unified: 11.0.5 - unist-util-position-from-estree: 2.0.0 - unist-util-stringify-position: 4.0.0 - unist-util-visit: 5.0.0 - vfile: 6.0.3 - transitivePeerDependencies: - - supports-color - - '@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3)': - dependencies: - '@types/mdx': 2.0.13 - '@types/react': 19.2.7 - react: 19.2.3 - - '@mermaid-js/parser@0.6.3': - dependencies: - langium: 3.3.1 - - '@module-federation/error-codes@0.21.6': {} - - '@module-federation/runtime-core@0.21.6': - dependencies: - '@module-federation/error-codes': 0.21.6 - '@module-federation/sdk': 0.21.6 - - '@module-federation/runtime-tools@0.21.6': - dependencies: - '@module-federation/runtime': 0.21.6 - '@module-federation/webpack-bundler-runtime': 0.21.6 - - '@module-federation/runtime@0.21.6': - dependencies: - '@module-federation/error-codes': 0.21.6 - '@module-federation/runtime-core': 0.21.6 - '@module-federation/sdk': 0.21.6 - - '@module-federation/sdk@0.21.6': {} - - '@module-federation/webpack-bundler-runtime@0.21.6': - dependencies: - '@module-federation/runtime': 0.21.6 - '@module-federation/sdk': 0.21.6 - - '@mrmlnc/readdir-enhanced@2.2.1': - dependencies: - call-me-maybe: 1.0.2 - glob-to-regexp: 0.3.0 - - '@napi-rs/wasm-runtime@1.0.7': - dependencies: - '@emnapi/core': 1.7.1 - '@emnapi/runtime': 1.7.1 - '@tybys/wasm-util': 0.10.1 - optional: true - - '@nodelib/fs.scandir@2.1.5': - dependencies: - '@nodelib/fs.stat': 2.0.5 - run-parallel: 1.2.0 - - '@nodelib/fs.stat@1.1.3': {} - - '@nodelib/fs.stat@2.0.5': {} - - '@nodelib/fs.walk@1.2.8': - dependencies: - '@nodelib/fs.scandir': 2.1.5 - fastq: 1.19.1 - - '@opentelemetry/api@1.9.0': {} - - '@parcel/watcher-android-arm64@2.5.1': - optional: true - - '@parcel/watcher-darwin-arm64@2.5.1': - optional: true - - '@parcel/watcher-darwin-x64@2.5.1': - optional: true - - '@parcel/watcher-freebsd-x64@2.5.1': - optional: true - - '@parcel/watcher-linux-arm-glibc@2.5.1': - optional: true - - '@parcel/watcher-linux-arm-musl@2.5.1': - optional: true - - '@parcel/watcher-linux-arm64-glibc@2.5.1': - optional: true - - '@parcel/watcher-linux-arm64-musl@2.5.1': - optional: true - - '@parcel/watcher-linux-x64-glibc@2.5.1': - optional: true - - '@parcel/watcher-linux-x64-musl@2.5.1': - optional: true - - '@parcel/watcher-win32-arm64@2.5.1': - optional: true - - '@parcel/watcher-win32-ia32@2.5.1': - optional: true - - '@parcel/watcher-win32-x64@2.5.1': - optional: true - - '@parcel/watcher@2.5.1': - dependencies: - detect-libc: 1.0.3 - is-glob: 4.0.3 - micromatch: 4.0.8 - node-addon-api: 7.1.1 - optionalDependencies: - '@parcel/watcher-android-arm64': 2.5.1 - '@parcel/watcher-darwin-arm64': 2.5.1 - '@parcel/watcher-darwin-x64': 2.5.1 - '@parcel/watcher-freebsd-x64': 2.5.1 - '@parcel/watcher-linux-arm-glibc': 2.5.1 - '@parcel/watcher-linux-arm-musl': 2.5.1 - '@parcel/watcher-linux-arm64-glibc': 2.5.1 - '@parcel/watcher-linux-arm64-musl': 2.5.1 - '@parcel/watcher-linux-x64-glibc': 2.5.1 - '@parcel/watcher-linux-x64-musl': 2.5.1 - '@parcel/watcher-win32-arm64': 2.5.1 - '@parcel/watcher-win32-ia32': 2.5.1 - '@parcel/watcher-win32-x64': 2.5.1 - optional: true - - '@pnpm/config.env-replace@1.1.0': {} - - '@pnpm/network.ca-file@1.0.2': - dependencies: - graceful-fs: 4.2.10 - - '@pnpm/npm-conf@2.3.1': - dependencies: - '@pnpm/config.env-replace': 1.1.0 - '@pnpm/network.ca-file': 1.0.2 - config-chain: 1.1.13 - - '@polka/url@1.0.0-next.29': {} - - '@rc-component/async-validator@5.0.4': - dependencies: - '@babel/runtime': 7.28.4 - - '@rc-component/cascader@1.9.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@rc-component/select': 1.3.5(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/tree': 1.1.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/util': 1.6.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - clsx: 2.1.1 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - - '@rc-component/checkbox@1.0.1(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@rc-component/util': 1.6.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - clsx: 2.1.1 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - - '@rc-component/collapse@1.1.2(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@babel/runtime': 7.28.4 - '@rc-component/motion': 1.1.6(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/util': 1.6.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - clsx: 2.1.1 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - - '@rc-component/color-picker@3.0.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@ant-design/fast-color': 3.0.0 - '@rc-component/util': 1.6.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - clsx: 2.1.1 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - - '@rc-component/context@2.0.1(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@rc-component/util': 1.6.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - - '@rc-component/dialog@1.5.1(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@rc-component/motion': 1.1.6(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/portal': 2.0.1(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/util': 1.6.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - clsx: 2.1.1 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - - '@rc-component/drawer@1.3.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@rc-component/motion': 1.1.6(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/portal': 2.0.1(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/util': 1.6.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - clsx: 2.1.1 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - - '@rc-component/dropdown@1.0.2(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@rc-component/trigger': 3.7.1(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/util': 1.6.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - clsx: 2.1.1 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - - '@rc-component/form@1.4.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@rc-component/async-validator': 5.0.4 - '@rc-component/util': 1.6.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - clsx: 2.1.1 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - - '@rc-component/image@1.5.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@rc-component/motion': 1.1.6(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/portal': 2.0.1(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/util': 1.6.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - clsx: 2.1.1 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - - '@rc-component/input-number@1.6.2(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@rc-component/mini-decimal': 1.1.0 - '@rc-component/util': 1.6.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - clsx: 2.1.1 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - - '@rc-component/input@1.1.2(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@rc-component/util': 1.6.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - clsx: 2.1.1 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - - '@rc-component/mentions@1.6.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@rc-component/input': 1.1.2(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/menu': 1.2.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/textarea': 1.1.2(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/trigger': 3.7.1(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/util': 1.6.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - clsx: 2.1.1 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - - '@rc-component/menu@1.2.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@rc-component/motion': 1.1.6(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/overflow': 1.0.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/trigger': 3.7.1(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/util': 1.6.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - clsx: 2.1.1 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - - '@rc-component/mini-decimal@1.1.0': - dependencies: - '@babel/runtime': 7.28.4 - - '@rc-component/motion@1.1.6(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@rc-component/util': 1.6.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - clsx: 2.1.1 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - - '@rc-component/mutate-observer@2.0.1(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@rc-component/util': 1.6.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - - '@rc-component/notification@1.2.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@rc-component/motion': 1.1.6(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/util': 1.6.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - clsx: 2.1.1 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - - '@rc-component/overflow@1.0.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@babel/runtime': 7.28.4 - '@rc-component/resize-observer': 1.0.1(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/util': 1.6.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - clsx: 2.1.1 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - - '@rc-component/pagination@1.2.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@rc-component/util': 1.6.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - clsx: 2.1.1 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - - '@rc-component/picker@1.8.0(dayjs@1.11.19)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@rc-component/overflow': 1.0.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/resize-observer': 1.0.1(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/trigger': 3.7.1(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/util': 1.6.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - clsx: 2.1.1 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - optionalDependencies: - dayjs: 1.11.19 - - '@rc-component/portal@2.0.1(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@rc-component/util': 1.6.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - clsx: 2.1.1 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - - '@rc-component/progress@1.0.2(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@rc-component/util': 1.6.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - clsx: 2.1.1 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - - '@rc-component/qrcode@1.1.1(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@babel/runtime': 7.28.4 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - - '@rc-component/rate@1.0.1(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@rc-component/util': 1.6.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - clsx: 2.1.1 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - - '@rc-component/resize-observer@1.0.1(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@rc-component/util': 1.6.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - - '@rc-component/segmented@1.2.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@babel/runtime': 7.28.4 - '@rc-component/motion': 1.1.6(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/util': 1.6.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - clsx: 2.1.1 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - - '@rc-component/select@1.3.5(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@rc-component/overflow': 1.0.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/trigger': 3.7.1(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/util': 1.6.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/virtual-list': 1.0.2(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - clsx: 2.1.1 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - - '@rc-component/slider@1.0.1(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@rc-component/util': 1.6.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - clsx: 2.1.1 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - - '@rc-component/steps@1.2.2(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@rc-component/util': 1.6.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - clsx: 2.1.1 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - - '@rc-component/switch@1.0.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@rc-component/util': 1.6.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - clsx: 2.1.1 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - - '@rc-component/table@1.9.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@rc-component/context': 2.0.1(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/resize-observer': 1.0.1(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/util': 1.6.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/virtual-list': 1.0.2(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - clsx: 2.1.1 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - - '@rc-component/tabs@1.7.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@rc-component/dropdown': 1.0.2(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/menu': 1.2.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/motion': 1.1.6(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/resize-observer': 1.0.1(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/util': 1.6.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - clsx: 2.1.1 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - - '@rc-component/textarea@1.1.2(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@rc-component/input': 1.1.2(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/resize-observer': 1.0.1(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/util': 1.6.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - clsx: 2.1.1 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - - '@rc-component/tooltip@1.4.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@rc-component/trigger': 3.7.1(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/util': 1.6.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - clsx: 2.1.1 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - - '@rc-component/tour@2.2.1(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@rc-component/portal': 2.0.1(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/trigger': 3.7.1(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/util': 1.6.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - clsx: 2.1.1 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - - '@rc-component/tree-select@1.4.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@rc-component/select': 1.3.5(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/tree': 1.1.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/util': 1.6.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - clsx: 2.1.1 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - - '@rc-component/tree@1.1.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@rc-component/motion': 1.1.6(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/util': 1.6.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/virtual-list': 1.0.2(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - clsx: 2.1.1 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - - '@rc-component/trigger@3.7.1(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@rc-component/motion': 1.1.6(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/portal': 2.0.1(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/resize-observer': 1.0.1(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/util': 1.6.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - clsx: 2.1.1 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - - '@rc-component/upload@1.1.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@rc-component/util': 1.6.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - clsx: 2.1.1 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - - '@rc-component/util@1.6.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - is-mobile: 5.0.0 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - react-is: 18.3.1 - - '@rc-component/virtual-list@1.0.2(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@babel/runtime': 7.28.4 - '@rc-component/resize-observer': 1.0.1(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/util': 1.6.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - clsx: 2.1.1 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - - '@rollup/plugin-babel@5.3.1(@babel/core@7.28.5)(rollup@2.79.2)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-module-imports': 7.27.1 - '@rollup/pluginutils': 3.1.0(rollup@2.79.2) - rollup: 2.79.2 - transitivePeerDependencies: - - supports-color - - '@rollup/plugin-node-resolve@15.3.1(rollup@2.79.2)': - dependencies: - '@rollup/pluginutils': 5.3.0(rollup@2.79.2) - '@types/resolve': 1.20.2 - deepmerge: 4.3.1 - is-module: 1.0.0 - resolve: 1.22.11 - optionalDependencies: - rollup: 2.79.2 - - '@rollup/plugin-replace@2.4.2(rollup@2.79.2)': - dependencies: - '@rollup/pluginutils': 3.1.0(rollup@2.79.2) - magic-string: 0.25.9 - rollup: 2.79.2 - - '@rollup/plugin-terser@0.4.4(rollup@2.79.2)': - dependencies: - serialize-javascript: 6.0.2 - smob: 1.5.0 - terser: 5.44.1 - optionalDependencies: - rollup: 2.79.2 - - '@rollup/pluginutils@3.1.0(rollup@2.79.2)': - dependencies: - '@types/estree': 0.0.39 - estree-walker: 1.0.1 - picomatch: 2.3.1 - rollup: 2.79.2 - - '@rollup/pluginutils@5.3.0(rollup@2.79.2)': - dependencies: - '@types/estree': 1.0.8 - estree-walker: 2.0.2 - picomatch: 4.0.3 - optionalDependencies: - rollup: 2.79.2 - - '@rspack/binding-darwin-arm64@1.6.7': - optional: true - - '@rspack/binding-darwin-x64@1.6.7': - optional: true - - '@rspack/binding-linux-arm64-gnu@1.6.7': - optional: true - - '@rspack/binding-linux-arm64-musl@1.6.7': - optional: true - - '@rspack/binding-linux-x64-gnu@1.6.7': - optional: true - - '@rspack/binding-linux-x64-musl@1.6.7': - optional: true - - '@rspack/binding-wasm32-wasi@1.6.7': - dependencies: - '@napi-rs/wasm-runtime': 1.0.7 - optional: true - - '@rspack/binding-win32-arm64-msvc@1.6.7': - optional: true - - '@rspack/binding-win32-ia32-msvc@1.6.7': - optional: true - - '@rspack/binding-win32-x64-msvc@1.6.7': - optional: true - - '@rspack/binding@1.6.7': - optionalDependencies: - '@rspack/binding-darwin-arm64': 1.6.7 - '@rspack/binding-darwin-x64': 1.6.7 - '@rspack/binding-linux-arm64-gnu': 1.6.7 - '@rspack/binding-linux-arm64-musl': 1.6.7 - '@rspack/binding-linux-x64-gnu': 1.6.7 - '@rspack/binding-linux-x64-musl': 1.6.7 - '@rspack/binding-wasm32-wasi': 1.6.7 - '@rspack/binding-win32-arm64-msvc': 1.6.7 - '@rspack/binding-win32-ia32-msvc': 1.6.7 - '@rspack/binding-win32-x64-msvc': 1.6.7 - - '@rspack/core@1.6.7': - dependencies: - '@module-federation/runtime-tools': 0.21.6 - '@rspack/binding': 1.6.7 - '@rspack/lite-tapable': 1.1.0 - - '@rspack/lite-tapable@1.1.0': {} - - '@sideway/address@4.1.5': - dependencies: - '@hapi/hoek': 9.3.0 - - '@sideway/formula@3.0.1': {} - - '@sideway/pinpoint@2.0.0': {} - - '@sinclair/typebox@0.27.8': {} - - '@sindresorhus/is@0.7.0': {} - - '@sindresorhus/is@4.6.0': {} - - '@sindresorhus/is@5.6.0': {} - - '@sindresorhus/merge-streams@4.0.0': {} - - '@slorber/react-helmet-async@1.3.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': - dependencies: - '@babel/runtime': 7.28.4 - invariant: 2.2.4 - prop-types: 15.8.1 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - react-fast-compare: 3.2.2 - shallowequal: 1.1.0 - - '@slorber/remark-comment@1.0.0': - dependencies: - micromark-factory-space: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - - '@standard-schema/spec@1.0.0': {} - - '@surma/rollup-plugin-off-main-thread@2.2.3': - dependencies: - ejs: 3.1.10 - json5: 2.2.3 - magic-string: 0.25.9 - string.prototype.matchall: 4.0.12 - - '@svgr/babel-plugin-add-jsx-attribute@8.0.0(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - - '@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - - '@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - - '@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - - '@svgr/babel-plugin-svg-dynamic-title@8.0.0(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - - '@svgr/babel-plugin-svg-em-dimensions@8.0.0(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - - '@svgr/babel-plugin-transform-react-native-svg@8.1.0(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - - '@svgr/babel-plugin-transform-svg-component@8.0.0(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - - '@svgr/babel-preset@8.1.0(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@svgr/babel-plugin-add-jsx-attribute': 8.0.0(@babel/core@7.28.5) - '@svgr/babel-plugin-remove-jsx-attribute': 8.0.0(@babel/core@7.28.5) - '@svgr/babel-plugin-remove-jsx-empty-expression': 8.0.0(@babel/core@7.28.5) - '@svgr/babel-plugin-replace-jsx-attribute-value': 8.0.0(@babel/core@7.28.5) - '@svgr/babel-plugin-svg-dynamic-title': 8.0.0(@babel/core@7.28.5) - '@svgr/babel-plugin-svg-em-dimensions': 8.0.0(@babel/core@7.28.5) - '@svgr/babel-plugin-transform-react-native-svg': 8.1.0(@babel/core@7.28.5) - '@svgr/babel-plugin-transform-svg-component': 8.0.0(@babel/core@7.28.5) - - '@svgr/core@8.1.0(typescript@5.9.3)': - dependencies: - '@babel/core': 7.28.5 - '@svgr/babel-preset': 8.1.0(@babel/core@7.28.5) - camelcase: 6.3.0 - cosmiconfig: 8.3.6(typescript@5.9.3) - snake-case: 3.0.4 - transitivePeerDependencies: - - supports-color - - typescript - - '@svgr/hast-util-to-babel-ast@8.0.0': - dependencies: - '@babel/types': 7.28.5 - entities: 4.5.0 - - '@svgr/plugin-jsx@8.1.0(@svgr/core@8.1.0(typescript@5.9.3))': - dependencies: - '@babel/core': 7.28.5 - '@svgr/babel-preset': 8.1.0(@babel/core@7.28.5) - '@svgr/core': 8.1.0(typescript@5.9.3) - '@svgr/hast-util-to-babel-ast': 8.0.0 - svg-parser: 2.0.4 - transitivePeerDependencies: - - supports-color - - '@svgr/plugin-svgo@8.1.0(@svgr/core@8.1.0(typescript@5.9.3))(typescript@5.9.3)': - dependencies: - '@svgr/core': 8.1.0(typescript@5.9.3) - cosmiconfig: 8.3.6(typescript@5.9.3) - deepmerge: 4.3.1 - svgo: 3.3.2 - transitivePeerDependencies: - - typescript - - '@svgr/webpack@8.1.0(typescript@5.9.3)': - dependencies: - '@babel/core': 7.28.5 - '@babel/plugin-transform-react-constant-elements': 7.27.1(@babel/core@7.28.5) - '@babel/preset-env': 7.28.5(@babel/core@7.28.5) - '@babel/preset-react': 7.28.5(@babel/core@7.28.5) - '@babel/preset-typescript': 7.28.5(@babel/core@7.28.5) - '@svgr/core': 8.1.0(typescript@5.9.3) - '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0(typescript@5.9.3)) - '@svgr/plugin-svgo': 8.1.0(@svgr/core@8.1.0(typescript@5.9.3))(typescript@5.9.3) - transitivePeerDependencies: - - supports-color - - typescript - - '@swc/core-darwin-arm64@1.15.4': - optional: true - - '@swc/core-darwin-x64@1.15.4': - optional: true - - '@swc/core-linux-arm-gnueabihf@1.15.4': - optional: true - - '@swc/core-linux-arm64-gnu@1.15.4': - optional: true - - '@swc/core-linux-arm64-musl@1.15.4': - optional: true - - '@swc/core-linux-x64-gnu@1.15.4': - optional: true - - '@swc/core-linux-x64-musl@1.15.4': - optional: true - - '@swc/core-win32-arm64-msvc@1.15.4': - optional: true - - '@swc/core-win32-ia32-msvc@1.15.4': - optional: true - - '@swc/core-win32-x64-msvc@1.15.4': - optional: true - - '@swc/core@1.15.4': - dependencies: - '@swc/counter': 0.1.3 - '@swc/types': 0.1.25 - optionalDependencies: - '@swc/core-darwin-arm64': 1.15.4 - '@swc/core-darwin-x64': 1.15.4 - '@swc/core-linux-arm-gnueabihf': 1.15.4 - '@swc/core-linux-arm64-gnu': 1.15.4 - '@swc/core-linux-arm64-musl': 1.15.4 - '@swc/core-linux-x64-gnu': 1.15.4 - '@swc/core-linux-x64-musl': 1.15.4 - '@swc/core-win32-arm64-msvc': 1.15.4 - '@swc/core-win32-ia32-msvc': 1.15.4 - '@swc/core-win32-x64-msvc': 1.15.4 - - '@swc/counter@0.1.3': {} - - '@swc/html-darwin-arm64@1.15.3': - optional: true - - '@swc/html-darwin-x64@1.15.3': - optional: true - - '@swc/html-linux-arm-gnueabihf@1.15.3': - optional: true - - '@swc/html-linux-arm64-gnu@1.15.3': - optional: true - - '@swc/html-linux-arm64-musl@1.15.3': - optional: true - - '@swc/html-linux-x64-gnu@1.15.3': - optional: true - - '@swc/html-linux-x64-musl@1.15.3': - optional: true - - '@swc/html-win32-arm64-msvc@1.15.3': - optional: true - - '@swc/html-win32-ia32-msvc@1.15.3': - optional: true - - '@swc/html-win32-x64-msvc@1.15.3': - optional: true - - '@swc/html@1.15.3': - dependencies: - '@swc/counter': 0.1.3 - optionalDependencies: - '@swc/html-darwin-arm64': 1.15.3 - '@swc/html-darwin-x64': 1.15.3 - '@swc/html-linux-arm-gnueabihf': 1.15.3 - '@swc/html-linux-arm64-gnu': 1.15.3 - '@swc/html-linux-arm64-musl': 1.15.3 - '@swc/html-linux-x64-gnu': 1.15.3 - '@swc/html-linux-x64-musl': 1.15.3 - '@swc/html-win32-arm64-msvc': 1.15.3 - '@swc/html-win32-ia32-msvc': 1.15.3 - '@swc/html-win32-x64-msvc': 1.15.3 - - '@swc/types@0.1.25': - dependencies: - '@swc/counter': 0.1.3 - - '@szmarczak/http-timer@5.0.1': - dependencies: - defer-to-connect: 2.0.1 - - '@tailwindcss/node@4.1.18': - dependencies: - '@jridgewell/remapping': 2.3.5 - enhanced-resolve: 5.18.4 - jiti: 2.6.1 - lightningcss: 1.30.2 - magic-string: 0.30.21 - source-map-js: 1.2.1 - tailwindcss: 4.1.18 - - '@tailwindcss/oxide-android-arm64@4.1.18': - optional: true - - '@tailwindcss/oxide-darwin-arm64@4.1.18': - optional: true - - '@tailwindcss/oxide-darwin-x64@4.1.18': - optional: true - - '@tailwindcss/oxide-freebsd-x64@4.1.18': - optional: true - - '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.18': - optional: true - - '@tailwindcss/oxide-linux-arm64-gnu@4.1.18': - optional: true - - '@tailwindcss/oxide-linux-arm64-musl@4.1.18': - optional: true - - '@tailwindcss/oxide-linux-x64-gnu@4.1.18': - optional: true - - '@tailwindcss/oxide-linux-x64-musl@4.1.18': - optional: true - - '@tailwindcss/oxide-wasm32-wasi@4.1.18': - optional: true - - '@tailwindcss/oxide-win32-arm64-msvc@4.1.18': - optional: true - - '@tailwindcss/oxide-win32-x64-msvc@4.1.18': - optional: true - - '@tailwindcss/oxide@4.1.18': - optionalDependencies: - '@tailwindcss/oxide-android-arm64': 4.1.18 - '@tailwindcss/oxide-darwin-arm64': 4.1.18 - '@tailwindcss/oxide-darwin-x64': 4.1.18 - '@tailwindcss/oxide-freebsd-x64': 4.1.18 - '@tailwindcss/oxide-linux-arm-gnueabihf': 4.1.18 - '@tailwindcss/oxide-linux-arm64-gnu': 4.1.18 - '@tailwindcss/oxide-linux-arm64-musl': 4.1.18 - '@tailwindcss/oxide-linux-x64-gnu': 4.1.18 - '@tailwindcss/oxide-linux-x64-musl': 4.1.18 - '@tailwindcss/oxide-wasm32-wasi': 4.1.18 - '@tailwindcss/oxide-win32-arm64-msvc': 4.1.18 - '@tailwindcss/oxide-win32-x64-msvc': 4.1.18 - - '@tailwindcss/postcss@4.1.18': - dependencies: - '@alloc/quick-lru': 5.2.0 - '@tailwindcss/node': 4.1.18 - '@tailwindcss/oxide': 4.1.18 - postcss: 8.5.6 - tailwindcss: 4.1.18 - - '@tailwindcss/typography@0.5.19(tailwindcss@4.1.18)': - dependencies: - postcss-selector-parser: 6.0.10 - tailwindcss: 4.1.18 - - '@trysound/sax@0.2.0': {} - - '@tybys/wasm-util@0.10.1': - dependencies: - tslib: 2.8.1 - optional: true - - '@types/body-parser@1.19.6': - dependencies: - '@types/connect': 3.4.38 - '@types/node': 25.0.2 - - '@types/bonjour@3.5.13': - dependencies: - '@types/node': 25.0.2 - - '@types/connect-history-api-fallback@1.5.4': - dependencies: - '@types/express-serve-static-core': 4.19.7 - '@types/node': 25.0.2 - - '@types/connect@3.4.38': - dependencies: - '@types/node': 25.0.2 - - '@types/d3-array@3.2.2': {} - - '@types/d3-axis@3.0.6': - dependencies: - '@types/d3-selection': 3.0.11 - - '@types/d3-brush@3.0.6': - dependencies: - '@types/d3-selection': 3.0.11 - - '@types/d3-chord@3.0.6': {} - - '@types/d3-color@3.1.3': {} - - '@types/d3-contour@3.0.6': - dependencies: - '@types/d3-array': 3.2.2 - '@types/geojson': 7946.0.16 - - '@types/d3-delaunay@6.0.4': {} - - '@types/d3-dispatch@3.0.7': {} - - '@types/d3-drag@3.0.7': - dependencies: - '@types/d3-selection': 3.0.11 - - '@types/d3-dsv@3.0.7': {} - - '@types/d3-ease@3.0.2': {} - - '@types/d3-fetch@3.0.7': - dependencies: - '@types/d3-dsv': 3.0.7 - - '@types/d3-force@3.0.10': {} - - '@types/d3-format@3.0.4': {} - - '@types/d3-geo@3.1.0': - dependencies: - '@types/geojson': 7946.0.16 - - '@types/d3-hierarchy@3.1.7': {} - - '@types/d3-interpolate@3.0.4': - dependencies: - '@types/d3-color': 3.1.3 - - '@types/d3-path@3.1.1': {} - - '@types/d3-polygon@3.0.2': {} - - '@types/d3-quadtree@3.0.6': {} - - '@types/d3-random@3.0.3': {} - - '@types/d3-scale-chromatic@3.1.0': {} - - '@types/d3-scale@4.0.9': - dependencies: - '@types/d3-time': 3.0.4 - - '@types/d3-selection@3.0.11': {} - - '@types/d3-shape@3.1.7': - dependencies: - '@types/d3-path': 3.1.1 - - '@types/d3-time-format@4.0.3': {} - - '@types/d3-time@3.0.4': {} - - '@types/d3-timer@3.0.2': {} - - '@types/d3-transition@3.0.9': - dependencies: - '@types/d3-selection': 3.0.11 - - '@types/d3-zoom@3.0.8': - dependencies: - '@types/d3-interpolate': 3.0.4 - '@types/d3-selection': 3.0.11 - - '@types/d3@7.4.3': - dependencies: - '@types/d3-array': 3.2.2 - '@types/d3-axis': 3.0.6 - '@types/d3-brush': 3.0.6 - '@types/d3-chord': 3.0.6 - '@types/d3-color': 3.1.3 - '@types/d3-contour': 3.0.6 - '@types/d3-delaunay': 6.0.4 - '@types/d3-dispatch': 3.0.7 - '@types/d3-drag': 3.0.7 - '@types/d3-dsv': 3.0.7 - '@types/d3-ease': 3.0.2 - '@types/d3-fetch': 3.0.7 - '@types/d3-force': 3.0.10 - '@types/d3-format': 3.0.4 - '@types/d3-geo': 3.1.0 - '@types/d3-hierarchy': 3.1.7 - '@types/d3-interpolate': 3.0.4 - '@types/d3-path': 3.1.1 - '@types/d3-polygon': 3.0.2 - '@types/d3-quadtree': 3.0.6 - '@types/d3-random': 3.0.3 - '@types/d3-scale': 4.0.9 - '@types/d3-scale-chromatic': 3.1.0 - '@types/d3-selection': 3.0.11 - '@types/d3-shape': 3.1.7 - '@types/d3-time': 3.0.4 - '@types/d3-time-format': 4.0.3 - '@types/d3-timer': 3.0.2 - '@types/d3-transition': 3.0.9 - '@types/d3-zoom': 3.0.8 - - '@types/debug@4.1.12': - dependencies: - '@types/ms': 2.1.0 - - '@types/eslint-scope@3.7.7': - dependencies: - '@types/eslint': 9.6.1 - '@types/estree': 1.0.8 - - '@types/eslint@9.6.1': - dependencies: - '@types/estree': 1.0.8 - '@types/json-schema': 7.0.15 - - '@types/estree-jsx@1.0.5': - dependencies: - '@types/estree': 1.0.8 - - '@types/estree@0.0.39': {} - - '@types/estree@1.0.8': {} - - '@types/express-serve-static-core@4.19.7': - dependencies: - '@types/node': 25.0.2 - '@types/qs': 6.14.0 - '@types/range-parser': 1.2.7 - '@types/send': 1.2.1 - - '@types/express@4.17.25': - dependencies: - '@types/body-parser': 1.19.6 - '@types/express-serve-static-core': 4.19.7 - '@types/qs': 6.14.0 - '@types/serve-static': 1.15.10 - - '@types/geojson@7946.0.16': {} - - '@types/gtag.js@0.0.12': {} - - '@types/hast@3.0.4': - dependencies: - '@types/unist': 3.0.3 - - '@types/history@4.7.11': {} - - '@types/html-minifier-terser@6.1.0': {} - - '@types/http-cache-semantics@4.0.4': {} - - '@types/http-errors@2.0.5': {} - - '@types/http-proxy@1.17.17': - dependencies: - '@types/node': 25.0.2 - - '@types/istanbul-lib-coverage@2.0.6': {} - - '@types/istanbul-lib-report@3.0.3': - dependencies: - '@types/istanbul-lib-coverage': 2.0.6 - - '@types/istanbul-reports@3.0.4': - dependencies: - '@types/istanbul-lib-report': 3.0.3 - - '@types/json-schema@7.0.15': {} - - '@types/katex@0.16.7': {} - - '@types/keyv@3.1.4': - dependencies: - '@types/node': 25.0.2 - - '@types/mdast@4.0.4': - dependencies: - '@types/unist': 3.0.3 - - '@types/mdx@2.0.13': {} - - '@types/mime@1.3.5': {} - - '@types/ms@2.1.0': {} - - '@types/node-forge@1.3.14': - dependencies: - '@types/node': 25.0.2 - - '@types/node@17.0.45': {} - - '@types/node@25.0.2': - dependencies: - undici-types: 7.16.0 - - '@types/prismjs@1.26.5': {} - - '@types/q@1.5.8': {} - - '@types/qs@6.14.0': {} - - '@types/range-parser@1.2.7': {} - - '@types/react-dom@19.2.3(@types/react@19.2.7)': - dependencies: - '@types/react': 19.2.7 - - '@types/react-router-config@5.0.11': - dependencies: - '@types/history': 4.7.11 - '@types/react': 19.2.7 - '@types/react-router': 5.1.20 - - '@types/react-router-dom@5.3.3': - dependencies: - '@types/history': 4.7.11 - '@types/react': 19.2.7 - '@types/react-router': 5.1.20 - - '@types/react-router@5.1.20': - dependencies: - '@types/history': 4.7.11 - '@types/react': 19.2.7 - - '@types/react@19.2.7': - dependencies: - csstype: 3.2.3 - - '@types/resolve@1.20.2': {} - - '@types/responselike@1.0.3': - dependencies: - '@types/node': 25.0.2 - - '@types/retry@0.12.2': {} - - '@types/sax@1.2.7': - dependencies: - '@types/node': 17.0.45 - - '@types/send@0.17.6': - dependencies: - '@types/mime': 1.3.5 - '@types/node': 25.0.2 - - '@types/send@1.2.1': - dependencies: - '@types/node': 25.0.2 - - '@types/serve-index@1.9.4': - dependencies: - '@types/express': 4.17.25 - - '@types/serve-static@1.15.10': - dependencies: - '@types/http-errors': 2.0.5 - '@types/node': 25.0.2 - '@types/send': 0.17.6 - - '@types/sockjs@0.3.36': - dependencies: - '@types/node': 25.0.2 - - '@types/trusted-types@2.0.7': {} - - '@types/unist@2.0.11': {} - - '@types/unist@3.0.3': {} - - '@types/ws@8.18.1': - dependencies: - '@types/node': 25.0.2 - - '@types/yargs-parser@21.0.3': {} - - '@types/yargs@17.0.35': - dependencies: - '@types/yargs-parser': 21.0.3 - - '@ungap/structured-clone@1.3.0': {} - - '@vercel/oidc@3.0.5': {} - - '@webassemblyjs/ast@1.14.1': - dependencies: - '@webassemblyjs/helper-numbers': 1.13.2 - '@webassemblyjs/helper-wasm-bytecode': 1.13.2 - - '@webassemblyjs/floating-point-hex-parser@1.13.2': {} - - '@webassemblyjs/helper-api-error@1.13.2': {} - - '@webassemblyjs/helper-buffer@1.14.1': {} - - '@webassemblyjs/helper-numbers@1.13.2': - dependencies: - '@webassemblyjs/floating-point-hex-parser': 1.13.2 - '@webassemblyjs/helper-api-error': 1.13.2 - '@xtuc/long': 4.2.2 - - '@webassemblyjs/helper-wasm-bytecode@1.13.2': {} - - '@webassemblyjs/helper-wasm-section@1.14.1': - dependencies: - '@webassemblyjs/ast': 1.14.1 - '@webassemblyjs/helper-buffer': 1.14.1 - '@webassemblyjs/helper-wasm-bytecode': 1.13.2 - '@webassemblyjs/wasm-gen': 1.14.1 - - '@webassemblyjs/ieee754@1.13.2': - dependencies: - '@xtuc/ieee754': 1.2.0 - - '@webassemblyjs/leb128@1.13.2': - dependencies: - '@xtuc/long': 4.2.2 - - '@webassemblyjs/utf8@1.13.2': {} - - '@webassemblyjs/wasm-edit@1.14.1': - dependencies: - '@webassemblyjs/ast': 1.14.1 - '@webassemblyjs/helper-buffer': 1.14.1 - '@webassemblyjs/helper-wasm-bytecode': 1.13.2 - '@webassemblyjs/helper-wasm-section': 1.14.1 - '@webassemblyjs/wasm-gen': 1.14.1 - '@webassemblyjs/wasm-opt': 1.14.1 - '@webassemblyjs/wasm-parser': 1.14.1 - '@webassemblyjs/wast-printer': 1.14.1 - - '@webassemblyjs/wasm-gen@1.14.1': - dependencies: - '@webassemblyjs/ast': 1.14.1 - '@webassemblyjs/helper-wasm-bytecode': 1.13.2 - '@webassemblyjs/ieee754': 1.13.2 - '@webassemblyjs/leb128': 1.13.2 - '@webassemblyjs/utf8': 1.13.2 - - '@webassemblyjs/wasm-opt@1.14.1': - dependencies: - '@webassemblyjs/ast': 1.14.1 - '@webassemblyjs/helper-buffer': 1.14.1 - '@webassemblyjs/wasm-gen': 1.14.1 - '@webassemblyjs/wasm-parser': 1.14.1 - - '@webassemblyjs/wasm-parser@1.14.1': - dependencies: - '@webassemblyjs/ast': 1.14.1 - '@webassemblyjs/helper-api-error': 1.13.2 - '@webassemblyjs/helper-wasm-bytecode': 1.13.2 - '@webassemblyjs/ieee754': 1.13.2 - '@webassemblyjs/leb128': 1.13.2 - '@webassemblyjs/utf8': 1.13.2 - - '@webassemblyjs/wast-printer@1.14.1': - dependencies: - '@webassemblyjs/ast': 1.14.1 - '@xtuc/long': 4.2.2 - - '@xtuc/ieee754@1.2.0': {} - - '@xtuc/long@4.2.2': {} - - accepts@1.3.8: - dependencies: - mime-types: 2.1.35 - negotiator: 0.6.3 - - acorn-import-phases@1.0.4(acorn@8.15.0): - dependencies: - acorn: 8.15.0 - - acorn-jsx@5.3.2(acorn@8.15.0): - dependencies: - acorn: 8.15.0 - - acorn-walk@8.3.4: - dependencies: - acorn: 8.15.0 - - acorn@8.15.0: {} - - address@1.1.2: {} - - address@1.2.2: {} - - aggregate-error@3.1.0: - dependencies: - clean-stack: 2.2.0 - indent-string: 4.0.0 - - ai@5.0.113(zod@4.1.13): - dependencies: - '@ai-sdk/gateway': 2.0.21(zod@4.1.13) - '@ai-sdk/provider': 2.0.0 - '@ai-sdk/provider-utils': 3.0.19(zod@4.1.13) - '@opentelemetry/api': 1.9.0 - zod: 4.1.13 - - airbnb-prop-types@2.16.0(react@16.14.0): - dependencies: - array.prototype.find: 2.2.3 - function.prototype.name: 1.1.8 - is-regex: 1.2.1 - object-is: 1.1.6 - object.assign: 4.1.7 - object.entries: 1.1.9 - prop-types: 15.8.1 - prop-types-exact: 1.2.7 - react: 16.14.0 - react-is: 16.13.1 - - ajv-formats@2.1.1(ajv@8.17.1): - optionalDependencies: - ajv: 8.17.1 - - ajv-keywords@3.5.2(ajv@6.12.6): - dependencies: - ajv: 6.12.6 - - ajv-keywords@5.1.0(ajv@8.17.1): - dependencies: - ajv: 8.17.1 - fast-deep-equal: 3.1.3 - - ajv@6.12.6: - dependencies: - fast-deep-equal: 3.1.3 - fast-json-stable-stringify: 2.1.0 - json-schema-traverse: 0.4.1 - uri-js: 4.4.1 - - ajv@8.17.1: - dependencies: - fast-deep-equal: 3.1.3 - fast-uri: 3.1.0 - json-schema-traverse: 1.0.0 - require-from-string: 2.0.2 - - algoliasearch-helper@3.26.1(algoliasearch@5.46.0): - dependencies: - '@algolia/events': 4.0.1 - algoliasearch: 5.46.0 - - algoliasearch@5.46.0: - dependencies: - '@algolia/abtesting': 1.12.0 - '@algolia/client-abtesting': 5.46.0 - '@algolia/client-analytics': 5.46.0 - '@algolia/client-common': 5.46.0 - '@algolia/client-insights': 5.46.0 - '@algolia/client-personalization': 5.46.0 - '@algolia/client-query-suggestions': 5.46.0 - '@algolia/client-search': 5.46.0 - '@algolia/ingestion': 1.46.0 - '@algolia/monitoring': 1.46.0 - '@algolia/recommend': 5.46.0 - '@algolia/requester-browser-xhr': 5.46.0 - '@algolia/requester-fetch': 5.46.0 - '@algolia/requester-node-http': 5.46.0 - - alphanum-sort@1.0.2: {} - - ansi-align@3.0.1: - dependencies: - string-width: 4.2.3 - - ansi-escapes@4.3.2: - dependencies: - type-fest: 0.21.3 - - ansi-html-community@0.0.8: {} - - ansi-red@0.1.1: - dependencies: - ansi-wrap: 0.1.0 - - ansi-regex@2.1.1: {} - - ansi-regex@5.0.1: {} - - ansi-regex@6.2.2: {} - - ansi-styles@2.2.1: {} - - ansi-styles@3.2.1: - dependencies: - color-convert: 1.9.3 - - ansi-styles@4.3.0: - dependencies: - color-convert: 2.0.1 - - ansi-styles@6.2.3: {} - - ansi-wrap@0.1.0: {} - - antd@6.1.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3): - dependencies: - '@ant-design/colors': 8.0.0 - '@ant-design/cssinjs': 2.0.1(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@ant-design/cssinjs-utils': 2.0.2(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@ant-design/fast-color': 3.0.0 - '@ant-design/icons': 6.1.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@ant-design/react-slick': 2.0.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@babel/runtime': 7.28.4 - '@rc-component/cascader': 1.9.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/checkbox': 1.0.1(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/collapse': 1.1.2(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/color-picker': 3.0.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/dialog': 1.5.1(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/drawer': 1.3.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/dropdown': 1.0.2(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/form': 1.4.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/image': 1.5.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/input': 1.1.2(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/input-number': 1.6.2(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/mentions': 1.6.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/menu': 1.2.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/motion': 1.1.6(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/mutate-observer': 2.0.1(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/notification': 1.2.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/pagination': 1.2.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/picker': 1.8.0(dayjs@1.11.19)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/progress': 1.0.2(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/qrcode': 1.1.1(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/rate': 1.0.1(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/resize-observer': 1.0.1(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/segmented': 1.2.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/select': 1.3.5(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/slider': 1.0.1(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/steps': 1.2.2(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/switch': 1.0.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/table': 1.9.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/tabs': 1.7.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/textarea': 1.1.2(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/tooltip': 1.4.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/tour': 2.2.1(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/tree': 1.1.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/tree-select': 1.4.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/trigger': 3.7.1(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/upload': 1.1.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - '@rc-component/util': 1.6.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) - clsx: 2.1.1 - dayjs: 1.11.19 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) - scroll-into-view-if-needed: 3.1.0 - throttle-debounce: 5.0.2 - transitivePeerDependencies: - - date-fns - - luxon - - moment - - anymatch@3.1.3: - dependencies: - normalize-path: 3.0.0 - picomatch: 2.3.1 - - arch@2.2.0: {} - - archive-type@4.0.0: - dependencies: - file-type: 4.4.0 - - arg@5.0.2: {} - - argparse@1.0.10: - dependencies: - sprintf-js: 1.0.3 - - argparse@2.0.1: {} - - arr-diff@4.0.0: {} - - arr-flatten@1.1.0: {} - - arr-union@3.1.0: {} - - array-buffer-byte-length@1.0.2: - dependencies: - call-bound: 1.0.4 - is-array-buffer: 3.0.5 - - array-find-index@1.0.2: {} - - array-flatten@1.1.1: {} - - array-union@1.0.2: - dependencies: - array-uniq: 1.0.3 - - array-union@2.1.0: {} - - array-uniq@1.0.3: {} - - array-unique@0.3.2: {} - - array.prototype.filter@1.0.4: - dependencies: - call-bind: 1.0.8 - define-properties: 1.2.1 - es-abstract: 1.24.1 - es-array-method-boxes-properly: 1.0.0 - es-object-atoms: 1.1.1 - is-string: 1.1.1 - - array.prototype.find@2.2.3: - dependencies: - call-bind: 1.0.8 - define-properties: 1.2.1 - es-abstract: 1.24.1 - es-object-atoms: 1.1.1 - es-shim-unscopables: 1.1.0 - - array.prototype.flat@1.3.3: - dependencies: - call-bind: 1.0.8 - define-properties: 1.2.1 - es-abstract: 1.24.1 - es-shim-unscopables: 1.1.0 - - array.prototype.reduce@1.0.8: - dependencies: - call-bind: 1.0.8 - call-bound: 1.0.4 - define-properties: 1.2.1 - es-abstract: 1.24.1 - es-array-method-boxes-properly: 1.0.0 - es-errors: 1.3.0 - es-object-atoms: 1.1.1 - is-string: 1.1.1 - - arraybuffer.prototype.slice@1.0.4: - dependencies: - array-buffer-byte-length: 1.0.2 - call-bind: 1.0.8 - define-properties: 1.2.1 - es-abstract: 1.24.1 - es-errors: 1.3.0 - get-intrinsic: 1.3.0 - is-array-buffer: 3.0.5 - - arrify@1.0.1: {} - - asn1@0.2.6: - dependencies: - safer-buffer: 2.1.2 - - assert-plus@1.0.0: {} - - assign-symbols@1.0.0: {} - - astring@1.9.0: {} - - async-function@1.0.0: {} - - async@3.2.6: {} - - asynckit@0.4.0: {} - - at-least-node@1.0.0: {} - - atob@2.1.2: {} - - autocorrect-node-darwin-arm64@2.14.0: - optional: true - - autocorrect-node-darwin-x64@2.14.0: - optional: true - - autocorrect-node-linux-x64-gnu@2.14.0: - optional: true - - autocorrect-node-linux-x64-musl@2.14.0: - optional: true - - autocorrect-node-win32-x64-msvc@2.14.0: - optional: true - - autocorrect-node@2.14.0: - optionalDependencies: - autocorrect-node-darwin-arm64: 2.14.0 - autocorrect-node-darwin-x64: 2.14.0 - autocorrect-node-linux-x64-gnu: 2.14.0 - autocorrect-node-linux-x64-musl: 2.14.0 - autocorrect-node-win32-x64-msvc: 2.14.0 - - autolinker@0.28.1: - dependencies: - gulp-header: 1.8.12 - - autolinker@3.16.2: - dependencies: - tslib: 2.8.1 - - autoprefixer@10.4.22(postcss@8.5.6): - dependencies: - browserslist: 4.28.1 - caniuse-lite: 1.0.30001760 - fraction.js: 5.3.4 - normalize-range: 0.1.2 - picocolors: 1.1.1 - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - - autoprefixer@9.8.8: - dependencies: - browserslist: 4.28.1 - caniuse-lite: 1.0.30001760 - normalize-range: 0.1.2 - num2fraction: 1.2.2 - picocolors: 0.2.1 - postcss: 7.0.39 - postcss-value-parser: 4.2.0 - - available-typed-arrays@1.0.7: - dependencies: - possible-typed-array-names: 1.1.0 - - aws-sign2@0.7.0: {} - - aws4@1.13.2: {} - - babel-loader@9.2.1(@babel/core@7.28.5)(webpack@5.103.0(@swc/core@1.15.4)): - dependencies: - '@babel/core': 7.28.5 - find-cache-dir: 4.0.0 - schema-utils: 4.3.3 - webpack: 5.103.0(@swc/core@1.15.4) - - babel-plugin-dynamic-import-node@2.3.3: - dependencies: - object.assign: 4.1.7 - - babel-plugin-polyfill-corejs2@0.4.14(@babel/core@7.28.5): - dependencies: - '@babel/compat-data': 7.28.5 - '@babel/core': 7.28.5 - '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.5) - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - babel-plugin-polyfill-corejs3@0.13.0(@babel/core@7.28.5): - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.5) - core-js-compat: 3.47.0 - transitivePeerDependencies: - - supports-color - - babel-plugin-polyfill-regenerator@0.6.5(@babel/core@7.28.5): - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.5) - transitivePeerDependencies: - - supports-color - - babylon@6.18.0: {} - - bail@2.0.2: {} - - balanced-match@1.0.2: {} - - base64-js@1.5.1: {} - - base@0.11.2: - dependencies: - cache-base: 1.0.1 - class-utils: 0.3.6 - component-emitter: 1.3.1 - define-property: 1.0.0 - isobject: 3.0.1 - mixin-deep: 1.3.2 - pascalcase: 0.1.1 - - baseline-browser-mapping@2.9.7: {} - - batch@0.6.1: {} - - bcrypt-pbkdf@1.0.2: - dependencies: - tweetnacl: 0.14.5 - - big-integer@1.6.52: {} - - big.js@5.2.2: {} - - bin-build@3.0.0: - dependencies: - decompress: 4.2.1 - download: 6.2.5 - execa: 0.7.0 - p-map-series: 1.0.0 - tempfile: 2.0.0 - - bin-check@4.1.0: - dependencies: - execa: 0.7.0 - executable: 4.1.1 - - bin-version-check@4.0.0: - dependencies: - bin-version: 3.1.0 - semver: 5.7.2 - semver-truncate: 1.1.2 - - bin-version@3.1.0: - dependencies: - execa: 1.0.0 - find-versions: 3.2.0 - - bin-wrapper@4.1.0: - dependencies: - bin-check: 4.1.0 - bin-version-check: 4.0.0 - download: 7.1.0 - import-lazy: 3.1.0 - os-filter-obj: 2.0.0 - pify: 4.0.1 - - binary-extensions@2.3.0: {} - - binary@0.3.0: - dependencies: - buffers: 0.1.1 - chainsaw: 0.1.0 - - bl@1.2.3: - dependencies: - readable-stream: 2.3.8 - safe-buffer: 5.2.1 - - bluebird@3.4.7: {} - - body-parser@1.20.4: - dependencies: - bytes: 3.1.2 - content-type: 1.0.5 - debug: 2.6.9 - depd: 2.0.0 - destroy: 1.2.0 - http-errors: 2.0.1 - iconv-lite: 0.4.24 - on-finished: 2.4.1 - qs: 6.14.0 - raw-body: 2.5.3 - type-is: 1.6.18 - unpipe: 1.0.0 - transitivePeerDependencies: - - supports-color - - body@5.1.0: - dependencies: - continuable-cache: 0.3.1 - error: 7.2.1 - raw-body: 1.1.7 - safe-json-parse: 1.0.1 - - bonjour-service@1.3.0: - dependencies: - fast-deep-equal: 3.1.3 - multicast-dns: 7.2.5 - - boolbase@1.0.0: {} - - boxen@6.2.1: - dependencies: - ansi-align: 3.0.1 - camelcase: 6.3.0 - chalk: 4.1.2 - cli-boxes: 3.0.0 - string-width: 5.1.2 - type-fest: 2.19.0 - widest-line: 4.0.1 - wrap-ansi: 8.1.0 - - boxen@7.1.1: - dependencies: - ansi-align: 3.0.1 - camelcase: 7.0.1 - chalk: 5.6.2 - cli-boxes: 3.0.0 - string-width: 5.1.2 - type-fest: 2.19.0 - widest-line: 4.0.1 - wrap-ansi: 8.1.0 - - brace-expansion@1.1.12: - dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 - - brace-expansion@2.0.2: - dependencies: - balanced-match: 1.0.2 - - braces@2.3.2: - dependencies: - arr-flatten: 1.1.0 - array-unique: 0.3.2 - extend-shallow: 2.0.1 - fill-range: 4.0.0 - isobject: 3.0.1 - repeat-element: 1.1.4 - snapdragon: 0.8.2 - snapdragon-node: 2.1.1 - split-string: 3.1.0 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color - - braces@3.0.3: - dependencies: - fill-range: 7.1.1 - - browserslist@4.14.2: - dependencies: - caniuse-lite: 1.0.30001760 - electron-to-chromium: 1.5.267 - escalade: 3.2.0 - node-releases: 1.1.77 - - browserslist@4.28.1: - dependencies: - baseline-browser-mapping: 2.9.7 - caniuse-lite: 1.0.30001760 - electron-to-chromium: 1.5.267 - node-releases: 2.0.27 - update-browserslist-db: 1.2.2(browserslist@4.28.1) - - buffer-alloc-unsafe@1.1.0: {} - - buffer-alloc@1.2.0: - dependencies: - buffer-alloc-unsafe: 1.1.0 - buffer-fill: 1.0.0 - - buffer-builder@0.2.0: - optional: true - - buffer-crc32@0.2.13: {} - - buffer-fill@1.0.0: {} - - buffer-from@1.1.2: {} - - buffer-indexof-polyfill@1.0.2: {} - - buffer@5.7.1: - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - - buffers@0.1.1: {} - - bundle-name@4.1.0: - dependencies: - run-applescript: 7.1.0 - - bytes@1.0.0: {} - - bytes@3.0.0: {} - - bytes@3.1.2: {} - - cache-base@1.0.1: - dependencies: - collection-visit: 1.0.0 - component-emitter: 1.3.1 - get-value: 2.0.6 - has-value: 1.0.0 - isobject: 3.0.1 - set-value: 2.0.1 - to-object-path: 0.3.0 - union-value: 1.0.1 - unset-value: 1.0.0 - - cacheable-lookup@7.0.0: {} - - cacheable-request@10.2.14: - dependencies: - '@types/http-cache-semantics': 4.0.4 - get-stream: 6.0.1 - http-cache-semantics: 4.2.0 - keyv: 4.5.4 - mimic-response: 4.0.0 - normalize-url: 8.1.0 - responselike: 3.0.0 - - cacheable-request@2.1.4: - dependencies: - clone-response: 1.0.2 - get-stream: 3.0.0 - http-cache-semantics: 3.8.1 - keyv: 3.0.0 - lowercase-keys: 1.0.0 - normalize-url: 2.0.1 - responselike: 1.0.2 - - call-bind-apply-helpers@1.0.2: - dependencies: - es-errors: 1.3.0 - function-bind: 1.1.2 - - call-bind@1.0.8: - dependencies: - call-bind-apply-helpers: 1.0.2 - es-define-property: 1.0.1 - get-intrinsic: 1.3.0 - set-function-length: 1.2.2 - - call-bound@1.0.4: - dependencies: - call-bind-apply-helpers: 1.0.2 - get-intrinsic: 1.3.0 - - call-me-maybe@1.0.2: {} - - caller-callsite@2.0.0: - dependencies: - callsites: 2.0.0 - - caller-path@2.0.0: - dependencies: - caller-callsite: 2.0.0 - - callsites@2.0.0: {} - - callsites@3.1.0: {} - - camel-case@4.1.2: - dependencies: - pascal-case: 3.1.2 - tslib: 2.8.1 - - camelcase-keys@2.1.0: - dependencies: - camelcase: 2.1.1 - map-obj: 1.0.1 - - camelcase@2.1.1: {} - - camelcase@6.3.0: {} - - camelcase@7.0.1: {} - - caniuse-api@3.0.0: - dependencies: - browserslist: 4.28.1 - caniuse-lite: 1.0.30001760 - lodash.memoize: 4.1.2 - lodash.uniq: 4.5.0 - - caniuse-lite@1.0.30001760: {} - - caseless@0.12.0: {} - - caw@2.0.1: - dependencies: - get-proxy: 2.1.0 - isurl: 1.0.0 - tunnel-agent: 0.6.0 - url-to-options: 1.0.1 - - ccount@2.0.1: {} - - chainsaw@0.1.0: - dependencies: - traverse: 0.3.9 - - chalk@1.1.3: - dependencies: - ansi-styles: 2.2.1 - escape-string-regexp: 1.0.5 - has-ansi: 2.0.0 - strip-ansi: 3.0.1 - supports-color: 2.0.0 - - chalk@2.4.2: - dependencies: - ansi-styles: 3.2.1 - escape-string-regexp: 1.0.5 - supports-color: 5.5.0 - - chalk@3.0.0: - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - - chalk@4.1.2: - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - - chalk@5.6.2: {} - - char-regex@1.0.2: {} - - character-entities-html4@2.1.0: {} - - character-entities-legacy@3.0.0: {} - - character-entities@2.0.2: {} - - character-reference-invalid@2.0.1: {} - - cheerio-select@2.1.0: - dependencies: - boolbase: 1.0.0 - css-select: 5.2.2 - css-what: 6.2.2 - domelementtype: 2.3.0 - domhandler: 5.0.3 - domutils: 3.2.2 - - cheerio@1.0.0-rc.12: - dependencies: - cheerio-select: 2.1.0 - dom-serializer: 2.0.0 - domhandler: 5.0.3 - domutils: 3.2.2 - htmlparser2: 8.0.2 - parse5: 7.3.0 - parse5-htmlparser2-tree-adapter: 7.1.0 - - cheerio@1.1.2: - dependencies: - cheerio-select: 2.1.0 - dom-serializer: 2.0.0 - domhandler: 5.0.3 - domutils: 3.2.2 - encoding-sniffer: 0.2.1 - htmlparser2: 10.0.0 - parse5: 7.3.0 - parse5-htmlparser2-tree-adapter: 7.1.0 - parse5-parser-stream: 7.1.2 - undici: 7.16.0 - whatwg-mimetype: 4.0.0 - - chevrotain-allstar@0.3.1(chevrotain@11.0.3): - dependencies: - chevrotain: 11.0.3 - lodash-es: 4.17.21 - - chevrotain@11.0.3: - dependencies: - '@chevrotain/cst-dts-gen': 11.0.3 - '@chevrotain/gast': 11.0.3 - '@chevrotain/regexp-to-ast': 11.0.3 - '@chevrotain/types': 11.0.3 - '@chevrotain/utils': 11.0.3 - lodash-es: 4.17.21 - - chokidar@3.6.0: - dependencies: - anymatch: 3.1.3 - braces: 3.0.3 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.3 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.3 - - chokidar@4.0.3: - dependencies: - readdirp: 4.1.2 - - chrome-trace-event@1.0.4: {} - - ci-info@3.9.0: {} - - class-utils@0.3.6: - dependencies: - arr-union: 3.1.0 - define-property: 0.2.5 - isobject: 3.0.1 - static-extend: 0.1.2 - - classnames@2.5.1: {} - - clean-css@5.3.3: - dependencies: - source-map: 0.6.1 - - clean-stack@2.2.0: {} - - cli-boxes@3.0.0: {} - - cli-table3@0.6.5: - dependencies: - string-width: 4.2.3 - optionalDependencies: - '@colors/colors': 1.5.0 - - clone-deep@4.0.1: - dependencies: - is-plain-object: 2.0.4 - kind-of: 6.0.3 - shallow-clone: 3.0.1 - - clone-response@1.0.2: - dependencies: - mimic-response: 1.0.1 - - clsx@2.1.1: {} - - coa@2.0.2: - dependencies: - '@types/q': 1.5.8 - chalk: 2.4.2 - q: 1.5.1 - - coffee-script@1.12.7: {} - - collapse-white-space@2.1.0: {} - - collection-visit@1.0.0: - dependencies: - map-visit: 1.0.0 - object-visit: 1.0.1 - - color-convert@1.9.3: - dependencies: - color-name: 1.1.3 - - color-convert@2.0.1: - dependencies: - color-name: 1.1.4 - - color-name@1.1.3: {} - - color-name@1.1.4: {} - - color-string@1.9.1: - dependencies: - color-name: 1.1.4 - simple-swizzle: 0.2.4 - - color@3.2.1: - dependencies: - color-convert: 1.9.3 - color-string: 1.9.1 - - colord@2.9.3: {} - - colorette@2.0.20: {} - - colorjs.io@0.5.2: - optional: true - - combine-promises@1.2.0: {} - - combined-stream@1.0.8: - dependencies: - delayed-stream: 1.0.0 - - comma-separated-tokens@2.0.3: {} - - commander@10.0.1: {} - - commander@2.20.3: {} - - commander@4.1.1: {} - - commander@5.1.0: {} - - commander@7.2.0: {} - - commander@8.3.0: {} - - common-path-prefix@3.0.0: {} - - common-tags@1.8.2: {} - - commondir@1.0.1: {} - - component-emitter@1.3.1: {} - - compressible@2.0.18: - dependencies: - mime-db: 1.54.0 - - compression@1.8.1: - dependencies: - bytes: 3.1.2 - compressible: 2.0.18 - debug: 2.6.9 - negotiator: 0.6.4 - on-headers: 1.1.0 - safe-buffer: 5.2.1 - vary: 1.1.2 - transitivePeerDependencies: - - supports-color - - compute-scroll-into-view@3.1.1: {} - - concat-map@0.0.1: {} - - concat-stream@1.6.2: - dependencies: - buffer-from: 1.1.2 - inherits: 2.0.4 - readable-stream: 2.3.8 - typedarray: 0.0.6 - - concat-with-sourcemaps@1.1.0: - dependencies: - source-map: 0.6.1 - - confbox@0.1.8: {} - - config-chain@1.1.13: - dependencies: - ini: 1.3.8 - proto-list: 1.2.4 - - configstore@6.0.0: - dependencies: - dot-prop: 6.0.1 - graceful-fs: 4.2.11 - unique-string: 3.0.0 - write-file-atomic: 3.0.3 - xdg-basedir: 5.1.0 - - connect-history-api-fallback@2.0.0: {} - - consola@3.4.2: {} - - console-stream@0.1.1: {} - - content-disposition@0.5.2: {} - - content-disposition@0.5.4: - dependencies: - safe-buffer: 5.2.1 - - content-type@1.0.5: {} - - continuable-cache@0.3.1: {} - - convert-source-map@2.0.0: {} - - cookie-signature@1.0.7: {} - - cookie@0.7.2: {} - - copy-descriptor@0.1.1: {} - - copy-webpack-plugin@11.0.0(webpack@5.103.0(@swc/core@1.15.4)): - dependencies: - fast-glob: 3.3.3 - glob-parent: 6.0.2 - globby: 13.2.2 - normalize-path: 3.0.0 - schema-utils: 4.3.3 - serialize-javascript: 6.0.2 - webpack: 5.103.0(@swc/core@1.15.4) - - core-js-compat@3.47.0: - dependencies: - browserslist: 4.28.1 - - core-js-pure@3.47.0: {} - - core-js@2.6.12: {} - - core-js@3.47.0: {} - - core-util-is@1.0.2: {} - - core-util-is@1.0.3: {} - - cose-base@1.0.3: - dependencies: - layout-base: 1.0.2 - - cose-base@2.2.0: - dependencies: - layout-base: 2.0.1 - - cosmiconfig@5.2.1: - dependencies: - import-fresh: 2.0.0 - is-directory: 0.3.1 - js-yaml: 3.14.2 - parse-json: 4.0.0 - - cosmiconfig@8.3.6(typescript@5.9.3): - dependencies: - import-fresh: 3.3.1 - js-yaml: 4.1.1 - parse-json: 5.2.0 - path-type: 4.0.0 - optionalDependencies: - typescript: 5.9.3 - - cross-spawn@5.1.0: - dependencies: - lru-cache: 4.1.5 - shebang-command: 1.2.0 - which: 1.3.1 - - cross-spawn@6.0.6: - dependencies: - nice-try: 1.0.5 - path-key: 2.0.1 - semver: 5.7.2 - shebang-command: 1.2.0 - which: 1.3.1 - - cross-spawn@7.0.3: - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - - cross-spawn@7.0.6: - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - - crowdin-cli@0.3.0: - dependencies: - request: 2.88.2 - yamljs: 0.2.10 - yargs: 2.3.0 - - crypto-random-string@2.0.0: {} - - crypto-random-string@4.0.0: - dependencies: - type-fest: 1.4.0 - - css-blank-pseudo@7.0.1(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-selector-parser: 7.1.1 - - css-color-names@0.0.4: {} - - css-declaration-sorter@4.0.1: - dependencies: - postcss: 7.0.39 - timsort: 0.3.0 - - css-declaration-sorter@7.3.0(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - - css-has-pseudo@7.0.3(postcss@8.5.6): - dependencies: - '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.1) - postcss: 8.5.6 - postcss-selector-parser: 7.1.1 - postcss-value-parser: 4.2.0 - - css-loader@6.11.0(@rspack/core@1.6.7)(webpack@5.103.0(@swc/core@1.15.4)): - dependencies: - icss-utils: 5.1.0(postcss@8.5.6) - postcss: 8.5.6 - postcss-modules-extract-imports: 3.1.0(postcss@8.5.6) - postcss-modules-local-by-default: 4.2.0(postcss@8.5.6) - postcss-modules-scope: 3.2.1(postcss@8.5.6) - postcss-modules-values: 4.0.0(postcss@8.5.6) - postcss-value-parser: 4.2.0 - semver: 7.7.3 - optionalDependencies: - '@rspack/core': 1.6.7 - webpack: 5.103.0(@swc/core@1.15.4) - - css-minimizer-webpack-plugin@5.0.1(clean-css@5.3.3)(webpack@5.103.0(@swc/core@1.15.4)): - dependencies: - '@jridgewell/trace-mapping': 0.3.31 - cssnano: 6.1.2(postcss@8.5.6) - jest-worker: 29.7.0 - postcss: 8.5.6 - schema-utils: 4.3.3 - serialize-javascript: 6.0.2 - webpack: 5.103.0(@swc/core@1.15.4) - optionalDependencies: - clean-css: 5.3.3 - - css-prefers-color-scheme@10.0.0(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - - css-select-base-adapter@0.1.1: {} - - css-select@2.1.0: - dependencies: - boolbase: 1.0.0 - css-what: 3.4.2 - domutils: 1.7.0 - nth-check: 1.0.2 - - css-select@4.3.0: - dependencies: - boolbase: 1.0.0 - css-what: 6.2.2 - domhandler: 4.3.1 - domutils: 2.8.0 - nth-check: 2.1.1 - - css-select@5.2.2: - dependencies: - boolbase: 1.0.0 - css-what: 6.2.2 - domhandler: 5.0.3 - domutils: 3.2.2 - nth-check: 2.1.1 - - css-tree@1.0.0-alpha.37: - dependencies: - mdn-data: 2.0.4 - source-map: 0.6.1 - - css-tree@1.1.3: - dependencies: - mdn-data: 2.0.14 - source-map: 0.6.1 - - css-tree@2.2.1: - dependencies: - mdn-data: 2.0.28 - source-map-js: 1.2.1 - - css-tree@2.3.1: - dependencies: - mdn-data: 2.0.30 - source-map-js: 1.2.1 - - css-what@3.4.2: {} - - css-what@6.2.2: {} - - cssdb@8.5.2: {} - - cssesc@3.0.0: {} - - cssnano-preset-advanced@6.1.2(postcss@8.5.6): - dependencies: - autoprefixer: 10.4.22(postcss@8.5.6) - browserslist: 4.28.1 - cssnano-preset-default: 6.1.2(postcss@8.5.6) - postcss: 8.5.6 - postcss-discard-unused: 6.0.5(postcss@8.5.6) - postcss-merge-idents: 6.0.3(postcss@8.5.6) - postcss-reduce-idents: 6.0.3(postcss@8.5.6) - postcss-zindex: 6.0.2(postcss@8.5.6) - - cssnano-preset-default@4.0.8: - dependencies: - css-declaration-sorter: 4.0.1 - cssnano-util-raw-cache: 4.0.1 - postcss: 7.0.39 - postcss-calc: 7.0.5 - postcss-colormin: 4.0.3 - postcss-convert-values: 4.0.1 - postcss-discard-comments: 4.0.2 - postcss-discard-duplicates: 4.0.2 - postcss-discard-empty: 4.0.1 - postcss-discard-overridden: 4.0.1 - postcss-merge-longhand: 4.0.11 - postcss-merge-rules: 4.0.3 - postcss-minify-font-values: 4.0.2 - postcss-minify-gradients: 4.0.2 - postcss-minify-params: 4.0.2 - postcss-minify-selectors: 4.0.2 - postcss-normalize-charset: 4.0.1 - postcss-normalize-display-values: 4.0.2 - postcss-normalize-positions: 4.0.2 - postcss-normalize-repeat-style: 4.0.2 - postcss-normalize-string: 4.0.2 - postcss-normalize-timing-functions: 4.0.2 - postcss-normalize-unicode: 4.0.1 - postcss-normalize-url: 4.0.1 - postcss-normalize-whitespace: 4.0.2 - postcss-ordered-values: 4.1.2 - postcss-reduce-initial: 4.0.3 - postcss-reduce-transforms: 4.0.2 - postcss-svgo: 4.0.3 - postcss-unique-selectors: 4.0.1 - - cssnano-preset-default@6.1.2(postcss@8.5.6): - dependencies: - browserslist: 4.28.1 - css-declaration-sorter: 7.3.0(postcss@8.5.6) - cssnano-utils: 4.0.2(postcss@8.5.6) - postcss: 8.5.6 - postcss-calc: 9.0.1(postcss@8.5.6) - postcss-colormin: 6.1.0(postcss@8.5.6) - postcss-convert-values: 6.1.0(postcss@8.5.6) - postcss-discard-comments: 6.0.2(postcss@8.5.6) - postcss-discard-duplicates: 6.0.3(postcss@8.5.6) - postcss-discard-empty: 6.0.3(postcss@8.5.6) - postcss-discard-overridden: 6.0.2(postcss@8.5.6) - postcss-merge-longhand: 6.0.5(postcss@8.5.6) - postcss-merge-rules: 6.1.1(postcss@8.5.6) - postcss-minify-font-values: 6.1.0(postcss@8.5.6) - postcss-minify-gradients: 6.0.3(postcss@8.5.6) - postcss-minify-params: 6.1.0(postcss@8.5.6) - postcss-minify-selectors: 6.0.4(postcss@8.5.6) - postcss-normalize-charset: 6.0.2(postcss@8.5.6) - postcss-normalize-display-values: 6.0.2(postcss@8.5.6) - postcss-normalize-positions: 6.0.2(postcss@8.5.6) - postcss-normalize-repeat-style: 6.0.2(postcss@8.5.6) - postcss-normalize-string: 6.0.2(postcss@8.5.6) - postcss-normalize-timing-functions: 6.0.2(postcss@8.5.6) - postcss-normalize-unicode: 6.1.0(postcss@8.5.6) - postcss-normalize-url: 6.0.2(postcss@8.5.6) - postcss-normalize-whitespace: 6.0.2(postcss@8.5.6) - postcss-ordered-values: 6.0.2(postcss@8.5.6) - postcss-reduce-initial: 6.1.0(postcss@8.5.6) - postcss-reduce-transforms: 6.0.2(postcss@8.5.6) - postcss-svgo: 6.0.3(postcss@8.5.6) - postcss-unique-selectors: 6.0.4(postcss@8.5.6) - - cssnano-util-get-arguments@4.0.0: {} - - cssnano-util-get-match@4.0.0: {} - - cssnano-util-raw-cache@4.0.1: - dependencies: - postcss: 7.0.39 - - cssnano-util-same-parent@4.0.1: {} - - cssnano-utils@4.0.2(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - - cssnano@4.1.11: - dependencies: - cosmiconfig: 5.2.1 - cssnano-preset-default: 4.0.8 - is-resolvable: 1.1.0 - postcss: 7.0.39 - - cssnano@6.1.2(postcss@8.5.6): - dependencies: - cssnano-preset-default: 6.1.2(postcss@8.5.6) - lilconfig: 3.1.3 - postcss: 8.5.6 - - csso@4.2.0: - dependencies: - css-tree: 1.1.3 - - csso@5.0.5: - dependencies: - css-tree: 2.2.1 - - csstype@3.2.3: {} - - currently-unhandled@0.4.1: - dependencies: - array-find-index: 1.0.2 - - cytoscape-cose-bilkent@4.1.0(cytoscape@3.33.1): - dependencies: - cose-base: 1.0.3 - cytoscape: 3.33.1 - - cytoscape-fcose@2.2.0(cytoscape@3.33.1): - dependencies: - cose-base: 2.2.0 - cytoscape: 3.33.1 - - cytoscape@3.33.1: {} - - d3-array@2.12.1: - dependencies: - internmap: 1.0.1 - - d3-array@3.2.4: - dependencies: - internmap: 2.0.3 - - d3-axis@3.0.0: {} - - d3-brush@3.0.0: - dependencies: - d3-dispatch: 3.0.1 - d3-drag: 3.0.0 - d3-interpolate: 3.0.1 - d3-selection: 3.0.0 - d3-transition: 3.0.1(d3-selection@3.0.0) - - d3-chord@3.0.1: - dependencies: - d3-path: 3.1.0 - - d3-color@3.1.0: {} - - d3-contour@4.0.2: - dependencies: - d3-array: 3.2.4 - - d3-delaunay@6.0.4: - dependencies: - delaunator: 5.0.1 - - d3-dispatch@3.0.1: {} - - d3-drag@3.0.0: - dependencies: - d3-dispatch: 3.0.1 - d3-selection: 3.0.0 - - d3-dsv@3.0.1: - dependencies: - commander: 7.2.0 - iconv-lite: 0.6.3 - rw: 1.3.3 - - d3-ease@3.0.1: {} - - d3-fetch@3.0.1: - dependencies: - d3-dsv: 3.0.1 - - d3-force@3.0.0: - dependencies: - d3-dispatch: 3.0.1 - d3-quadtree: 3.0.1 - d3-timer: 3.0.1 - - d3-format@3.1.0: {} - - d3-geo@3.1.1: - dependencies: - d3-array: 3.2.4 - - d3-hierarchy@3.1.2: {} - - d3-interpolate@3.0.1: - dependencies: - d3-color: 3.1.0 - - d3-path@1.0.9: {} - - d3-path@3.1.0: {} - - d3-polygon@3.0.1: {} - - d3-quadtree@3.0.1: {} - - d3-random@3.0.1: {} - - d3-sankey@0.12.3: - dependencies: - d3-array: 2.12.1 - d3-shape: 1.3.7 - - d3-scale-chromatic@3.1.0: - dependencies: - d3-color: 3.1.0 - d3-interpolate: 3.0.1 - - d3-scale@4.0.2: - dependencies: - d3-array: 3.2.4 - d3-format: 3.1.0 - d3-interpolate: 3.0.1 - d3-time: 3.1.0 - d3-time-format: 4.1.0 - - d3-selection@3.0.0: {} - - d3-shape@1.3.7: - dependencies: - d3-path: 1.0.9 - - d3-shape@3.2.0: - dependencies: - d3-path: 3.1.0 - - d3-time-format@4.1.0: - dependencies: - d3-time: 3.1.0 - - d3-time@3.1.0: - dependencies: - d3-array: 3.2.4 - - d3-timer@3.0.1: {} - - d3-transition@3.0.1(d3-selection@3.0.0): - dependencies: - d3-color: 3.1.0 - d3-dispatch: 3.0.1 - d3-ease: 3.0.1 - d3-interpolate: 3.0.1 - d3-selection: 3.0.0 - d3-timer: 3.0.1 - - d3-zoom@3.0.0: - dependencies: - d3-dispatch: 3.0.1 - d3-drag: 3.0.0 - d3-interpolate: 3.0.1 - d3-selection: 3.0.0 - d3-transition: 3.0.1(d3-selection@3.0.0) - - d3@7.9.0: - dependencies: - d3-array: 3.2.4 - d3-axis: 3.0.0 - d3-brush: 3.0.0 - d3-chord: 3.0.1 - d3-color: 3.1.0 - d3-contour: 4.0.2 - d3-delaunay: 6.0.4 - d3-dispatch: 3.0.1 - d3-drag: 3.0.0 - d3-dsv: 3.0.1 - d3-ease: 3.0.1 - d3-fetch: 3.0.1 - d3-force: 3.0.0 - d3-format: 3.1.0 - d3-geo: 3.1.1 - d3-hierarchy: 3.1.2 - d3-interpolate: 3.0.1 - d3-path: 3.1.0 - d3-polygon: 3.0.1 - d3-quadtree: 3.0.1 - d3-random: 3.0.1 - d3-scale: 4.0.2 - d3-scale-chromatic: 3.1.0 - d3-selection: 3.0.0 - d3-shape: 3.2.0 - d3-time: 3.1.0 - d3-time-format: 4.1.0 - d3-timer: 3.0.1 - d3-transition: 3.0.1(d3-selection@3.0.0) - d3-zoom: 3.0.0 - - dagre-d3-es@7.0.13: - dependencies: - d3: 7.9.0 - lodash-es: 4.17.21 - - dashdash@1.14.1: - dependencies: - assert-plus: 1.0.0 - - data-view-buffer@1.0.2: - dependencies: - call-bound: 1.0.4 - es-errors: 1.3.0 - is-data-view: 1.0.2 - - data-view-byte-length@1.0.2: - dependencies: - call-bound: 1.0.4 - es-errors: 1.3.0 - is-data-view: 1.0.2 - - data-view-byte-offset@1.0.1: - dependencies: - call-bound: 1.0.4 - es-errors: 1.3.0 - is-data-view: 1.0.2 - - dayjs@1.11.19: {} - - debounce@1.2.1: {} - - debug@2.6.9: - dependencies: - ms: 2.0.0 - - debug@3.2.7: - dependencies: - ms: 2.1.3 - - debug@4.3.1: - dependencies: - ms: 2.1.2 - - debug@4.4.3: - dependencies: - ms: 2.1.3 - - decamelize@1.2.0: {} - - decode-named-character-reference@1.2.0: - dependencies: - character-entities: 2.0.2 - - decode-uri-component@0.2.2: {} - - decompress-response@3.3.0: - dependencies: - mimic-response: 1.0.1 - - decompress-response@6.0.0: - dependencies: - mimic-response: 3.1.0 - - decompress-tar@4.1.1: - dependencies: - file-type: 5.2.0 - is-stream: 1.1.0 - tar-stream: 1.6.2 - - decompress-tarbz2@4.1.1: - dependencies: - decompress-tar: 4.1.1 - file-type: 6.2.0 - is-stream: 1.1.0 - seek-bzip: 1.0.6 - unbzip2-stream: 1.4.3 - - decompress-targz@4.1.1: - dependencies: - decompress-tar: 4.1.1 - file-type: 5.2.0 - is-stream: 1.1.0 - - decompress-unzip@4.0.1: - dependencies: - file-type: 3.9.0 - get-stream: 2.3.1 - pify: 2.3.0 - yauzl: 2.10.0 - - decompress@4.2.1: - dependencies: - decompress-tar: 4.1.1 - decompress-tarbz2: 4.1.1 - decompress-targz: 4.1.1 - decompress-unzip: 4.0.1 - graceful-fs: 4.2.11 - make-dir: 1.3.0 - pify: 2.3.0 - strip-dirs: 2.1.0 - - deep-extend@0.6.0: {} - - deep-is@0.1.4: {} - - deepmerge@4.3.1: {} - - default-browser-id@5.0.1: {} - - default-browser@5.4.0: - dependencies: - bundle-name: 4.1.0 - default-browser-id: 5.0.1 - - defer-to-connect@2.0.1: {} - - define-data-property@1.1.4: - dependencies: - es-define-property: 1.0.1 - es-errors: 1.3.0 - gopd: 1.2.0 - - define-lazy-prop@2.0.0: {} - - define-lazy-prop@3.0.0: {} - - define-properties@1.2.1: - dependencies: - define-data-property: 1.1.4 - has-property-descriptors: 1.0.2 - object-keys: 1.1.1 - - define-property@0.2.5: - dependencies: - is-descriptor: 0.1.7 - - define-property@1.0.0: - dependencies: - is-descriptor: 1.0.3 - - define-property@2.0.2: - dependencies: - is-descriptor: 1.0.3 - isobject: 3.0.1 - - delaunator@5.0.1: - dependencies: - robust-predicates: 3.0.2 - - delayed-stream@1.0.0: {} - - depd@1.1.2: {} - - depd@2.0.0: {} - - dequal@2.0.3: {} - - destroy@1.2.0: {} - - detect-libc@1.0.3: - optional: true - - detect-libc@2.1.2: {} - - detect-node@2.1.0: {} - - detect-port-alt@1.1.6: - dependencies: - address: 1.1.2 - debug: 2.6.9 - transitivePeerDependencies: - - supports-color - - detect-port@1.6.1: - dependencies: - address: 1.2.2 - debug: 4.4.3 - transitivePeerDependencies: - - supports-color - - devlop@1.1.0: - dependencies: - dequal: 2.0.3 - - diacritics-map@0.1.0: {} - - dir-glob@2.0.0: - dependencies: - arrify: 1.0.1 - path-type: 3.0.0 - - dir-glob@3.0.1: - dependencies: - path-type: 4.0.0 - - discontinuous-range@1.0.0: {} - - dns-packet@5.6.1: - dependencies: - '@leichtgewicht/ip-codec': 2.0.5 - - docusaurus-plugin-image-zoom@3.0.1(@docusaurus/theme-classic@3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@rspack/core@1.6.7)(@swc/core@1.15.4)(@types/react@19.2.7)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3)): - dependencies: - '@docusaurus/theme-classic': 3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@rspack/core@1.6.7)(@swc/core@1.15.4)(@types/react@19.2.7)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - medium-zoom: 1.1.0 - validate-peer-dependencies: 2.2.0 - - docusaurus-plugin-sass@0.2.6(@docusaurus/core@3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3))(@rspack/core@1.6.7)(sass-embedded@1.83.0)(sass@1.96.0)(webpack@5.103.0(@swc/core@1.15.4)): - dependencies: - '@docusaurus/core': 3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.3))(@rspack/core@1.6.7)(@swc/core@1.15.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3) - sass: 1.96.0 - sass-loader: 16.0.6(@rspack/core@1.6.7)(sass-embedded@1.83.0)(sass@1.96.0)(webpack@5.103.0(@swc/core@1.15.4)) - transitivePeerDependencies: - - '@rspack/core' - - node-sass - - sass-embedded - - webpack - - docusaurus@1.14.7(typescript@5.9.3)(webpack@5.103.0(@swc/core@1.15.4)): - dependencies: - '@babel/core': 7.28.5 - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.28.5) - '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.28.5) - '@babel/polyfill': 7.12.1 - '@babel/preset-env': 7.28.5(@babel/core@7.28.5) - '@babel/preset-react': 7.28.5(@babel/core@7.28.5) - '@babel/register': 7.28.3(@babel/core@7.28.5) - '@babel/traverse': 7.28.5 - '@babel/types': 7.28.5 - autoprefixer: 9.8.8 - babylon: 6.18.0 - chalk: 3.0.0 - classnames: 2.5.1 - commander: 4.1.1 - crowdin-cli: 0.3.0 - cssnano: 4.1.11 - enzyme: 3.11.0 - enzyme-adapter-react-16: 1.15.8(enzyme@3.11.0)(react-dom@16.14.0(react@16.14.0))(react@16.14.0) - escape-string-regexp: 2.0.0 - express: 4.22.1 - feed: 4.2.2 - fs-extra: 9.1.0 - gaze: 1.1.3 - github-slugger: 1.5.0 - glob: 7.2.3 - highlight.js: 9.18.5 - imagemin: 6.1.0 - imagemin-gifsicle: 6.0.1 - imagemin-jpegtran: 6.0.0 - imagemin-optipng: 6.0.0 - imagemin-svgo: 7.1.0 - lodash: 4.17.21 - markdown-toc: 1.2.0 - mkdirp: 0.5.6 - portfinder: 1.0.38 - postcss: 7.0.39 - prismjs: 1.30.0 - react: 16.14.0 - react-dev-utils: 11.0.4(typescript@5.9.3)(webpack@5.103.0(@swc/core@1.15.4)) - react-dom: 16.14.0(react@16.14.0) - remarkable: 2.0.1 - request: 2.88.2 - shelljs: 0.8.5 - sitemap: 3.2.2 - tcp-port-used: 1.0.2 - tiny-lr: 1.1.1 - tree-node-cli: 1.6.0 - truncate-html: 1.2.2 - transitivePeerDependencies: - - eslint - - supports-color - - typescript - - vue-template-compiler - - webpack - - dom-converter@0.2.0: - dependencies: - utila: 0.4.0 - - dom-serializer@0.2.2: - dependencies: - domelementtype: 2.3.0 - entities: 2.2.0 - - dom-serializer@1.4.1: - dependencies: - domelementtype: 2.3.0 - domhandler: 4.3.1 - entities: 2.2.0 - - dom-serializer@2.0.0: - dependencies: - domelementtype: 2.3.0 - domhandler: 5.0.3 - entities: 4.5.0 - - domelementtype@1.3.1: {} - - domelementtype@2.3.0: {} - - domhandler@4.3.1: - dependencies: - domelementtype: 2.3.0 - - domhandler@5.0.3: - dependencies: - domelementtype: 2.3.0 - - dompurify@3.3.1: - optionalDependencies: - '@types/trusted-types': 2.0.7 - - domutils@1.7.0: - dependencies: - dom-serializer: 0.2.2 - domelementtype: 1.3.1 - - domutils@2.8.0: - dependencies: - dom-serializer: 1.4.1 - domelementtype: 2.3.0 - domhandler: 4.3.1 - - domutils@3.2.2: - dependencies: - dom-serializer: 2.0.0 - domelementtype: 2.3.0 - domhandler: 5.0.3 - - dot-case@3.0.4: - dependencies: - no-case: 3.0.4 - tslib: 2.8.1 - - dot-prop@5.3.0: - dependencies: - is-obj: 2.0.0 - - dot-prop@6.0.1: - dependencies: - is-obj: 2.0.0 - - download@6.2.5: - dependencies: - caw: 2.0.1 - content-disposition: 0.5.4 - decompress: 4.2.1 - ext-name: 5.0.0 - file-type: 5.2.0 - filenamify: 2.1.0 - get-stream: 3.0.0 - got: 7.1.0 - make-dir: 1.3.0 - p-event: 1.3.0 - pify: 3.0.0 - - download@7.1.0: - dependencies: - archive-type: 4.0.0 - caw: 2.0.1 - content-disposition: 0.5.4 - decompress: 4.2.1 - ext-name: 5.0.0 - file-type: 8.1.0 - filenamify: 2.1.0 - get-stream: 3.0.0 - got: 8.3.2 - make-dir: 1.3.0 - p-event: 2.3.1 - pify: 3.0.0 - - dunder-proto@1.0.1: - dependencies: - call-bind-apply-helpers: 1.0.2 - es-errors: 1.3.0 - gopd: 1.2.0 - - duplexer2@0.1.4: - dependencies: - readable-stream: 2.3.8 - - duplexer3@0.1.5: {} - - duplexer@0.1.2: {} - - eastasianwidth@0.2.0: {} - - ecc-jsbn@0.1.2: - dependencies: - jsbn: 0.1.1 - safer-buffer: 2.1.2 - - ee-first@1.1.1: {} - - ejs@3.1.10: - dependencies: - jake: 10.9.4 - - electron-to-chromium@1.5.267: {} - - emoji-regex@8.0.0: {} - - emoji-regex@9.2.2: {} - - emojilib@2.4.0: {} - - emojis-list@3.0.0: {} - - emoticon@4.1.0: {} - - encodeurl@1.0.2: {} - - encodeurl@2.0.0: {} - - encoding-sniffer@0.2.1: - dependencies: - iconv-lite: 0.6.3 - whatwg-encoding: 3.1.1 - - end-of-stream@1.4.5: - dependencies: - once: 1.4.0 - - enhanced-resolve@5.18.4: - dependencies: - graceful-fs: 4.2.11 - tapable: 2.3.0 - - entities@2.2.0: {} - - entities@4.5.0: {} - - entities@6.0.1: {} - - enzyme-adapter-react-16@1.15.8(enzyme@3.11.0)(react-dom@16.14.0(react@16.14.0))(react@16.14.0): - dependencies: - enzyme: 3.11.0 - enzyme-adapter-utils: 1.14.2(react@16.14.0) - enzyme-shallow-equal: 1.0.7 - hasown: 2.0.2 - object.assign: 4.1.7 - object.values: 1.2.1 - prop-types: 15.8.1 - react: 16.14.0 - react-dom: 16.14.0(react@16.14.0) - react-is: 16.13.1 - react-test-renderer: 16.14.0(react@16.14.0) - semver: 5.7.2 - - enzyme-adapter-utils@1.14.2(react@16.14.0): - dependencies: - airbnb-prop-types: 2.16.0(react@16.14.0) - function.prototype.name: 1.1.8 - hasown: 2.0.2 - object.assign: 4.1.7 - object.fromentries: 2.0.8 - prop-types: 15.8.1 - react: 16.14.0 - semver: 6.3.1 - - enzyme-shallow-equal@1.0.7: - dependencies: - hasown: 2.0.2 - object-is: 1.1.6 - - enzyme@3.11.0: - dependencies: - array.prototype.flat: 1.3.3 - cheerio: 1.1.2 - enzyme-shallow-equal: 1.0.7 - function.prototype.name: 1.1.8 - has: 1.0.4 - html-element-map: 1.3.1 - is-boolean-object: 1.2.2 - is-callable: 1.2.7 - is-number-object: 1.1.1 - is-regex: 1.2.1 - is-string: 1.1.1 - is-subset: 0.1.1 - lodash.escape: 4.0.1 - lodash.isequal: 4.5.0 - object-inspect: 1.13.4 - object-is: 1.1.6 - object.assign: 4.1.7 - object.entries: 1.1.9 - object.values: 1.2.1 - raf: 3.4.1 - rst-selector-parser: 2.2.3 - string.prototype.trim: 1.2.10 - - error-ex@1.3.4: - dependencies: - is-arrayish: 0.2.1 - - error@7.2.1: - dependencies: - string-template: 0.2.1 - - es-abstract@1.24.1: - dependencies: - array-buffer-byte-length: 1.0.2 - arraybuffer.prototype.slice: 1.0.4 - available-typed-arrays: 1.0.7 - call-bind: 1.0.8 - call-bound: 1.0.4 - data-view-buffer: 1.0.2 - data-view-byte-length: 1.0.2 - data-view-byte-offset: 1.0.1 - es-define-property: 1.0.1 - es-errors: 1.3.0 - es-object-atoms: 1.1.1 - es-set-tostringtag: 2.1.0 - es-to-primitive: 1.3.0 - function.prototype.name: 1.1.8 - get-intrinsic: 1.3.0 - get-proto: 1.0.1 - get-symbol-description: 1.1.0 - globalthis: 1.0.4 - gopd: 1.2.0 - has-property-descriptors: 1.0.2 - has-proto: 1.2.0 - has-symbols: 1.1.0 - hasown: 2.0.2 - internal-slot: 1.1.0 - is-array-buffer: 3.0.5 - is-callable: 1.2.7 - is-data-view: 1.0.2 - is-negative-zero: 2.0.3 - is-regex: 1.2.1 - is-set: 2.0.3 - is-shared-array-buffer: 1.0.4 - is-string: 1.1.1 - is-typed-array: 1.1.15 - is-weakref: 1.1.1 - math-intrinsics: 1.1.0 - object-inspect: 1.13.4 - object-keys: 1.1.1 - object.assign: 4.1.7 - own-keys: 1.0.1 - regexp.prototype.flags: 1.5.4 - safe-array-concat: 1.1.3 - safe-push-apply: 1.0.0 - safe-regex-test: 1.1.0 - set-proto: 1.0.0 - stop-iteration-iterator: 1.1.0 - string.prototype.trim: 1.2.10 - string.prototype.trimend: 1.0.9 - string.prototype.trimstart: 1.0.8 - typed-array-buffer: 1.0.3 - typed-array-byte-length: 1.0.3 - typed-array-byte-offset: 1.0.4 - typed-array-length: 1.0.7 - unbox-primitive: 1.1.0 - which-typed-array: 1.1.19 - - es-array-method-boxes-properly@1.0.0: {} - - es-define-property@1.0.1: {} - - es-errors@1.3.0: {} - - es-module-lexer@1.7.0: {} - - es-object-atoms@1.1.1: - dependencies: - es-errors: 1.3.0 - - es-set-tostringtag@2.1.0: - dependencies: - es-errors: 1.3.0 - get-intrinsic: 1.3.0 - has-tostringtag: 1.0.2 - hasown: 2.0.2 - - es-shim-unscopables@1.1.0: - dependencies: - hasown: 2.0.2 - - es-to-primitive@1.3.0: - dependencies: - is-callable: 1.2.7 - is-date-object: 1.1.0 - is-symbol: 1.1.1 - - esast-util-from-estree@2.0.0: - dependencies: - '@types/estree-jsx': 1.0.5 - devlop: 1.1.0 - estree-util-visit: 2.0.0 - unist-util-position-from-estree: 2.0.0 - - esast-util-from-js@2.0.1: - dependencies: - '@types/estree-jsx': 1.0.5 - acorn: 8.15.0 - esast-util-from-estree: 2.0.0 - vfile-message: 4.0.3 - - escalade@3.2.0: {} - - escape-goat@4.0.0: {} - - escape-html@1.0.3: {} - - escape-string-regexp@1.0.5: {} - - escape-string-regexp@2.0.0: {} - - escape-string-regexp@4.0.0: {} - - escape-string-regexp@5.0.0: {} - - eslint-scope@5.1.1: - dependencies: - esrecurse: 4.3.0 - estraverse: 4.3.0 - - esprima@4.0.1: {} - - esrecurse@4.3.0: - dependencies: - estraverse: 5.3.0 - - estraverse@4.3.0: {} - - estraverse@5.3.0: {} - - estree-util-attach-comments@3.0.0: - dependencies: - '@types/estree': 1.0.8 - - estree-util-build-jsx@3.0.1: - dependencies: - '@types/estree-jsx': 1.0.5 - devlop: 1.1.0 - estree-util-is-identifier-name: 3.0.0 - estree-walker: 3.0.3 - - estree-util-is-identifier-name@3.0.0: {} - - estree-util-scope@1.0.0: - dependencies: - '@types/estree': 1.0.8 - devlop: 1.1.0 - - estree-util-to-js@2.0.0: - dependencies: - '@types/estree-jsx': 1.0.5 - astring: 1.9.0 - source-map: 0.7.6 - - estree-util-value-to-estree@3.5.0: - dependencies: - '@types/estree': 1.0.8 - - estree-util-visit@2.0.0: - dependencies: - '@types/estree-jsx': 1.0.5 - '@types/unist': 3.0.3 - - estree-walker@1.0.1: {} - - estree-walker@2.0.2: {} - - estree-walker@3.0.3: - dependencies: - '@types/estree': 1.0.8 - - esutils@2.0.3: {} - - eta@2.2.0: {} - - etag@1.8.1: {} - - eval@0.1.8: - dependencies: - '@types/node': 25.0.2 - require-like: 0.1.2 - - eventemitter3@4.0.7: {} - - events@3.3.0: {} - - eventsource-parser@3.0.6: {} - - exec-buffer@3.2.0: - dependencies: - execa: 0.7.0 - p-finally: 1.0.0 - pify: 3.0.0 - rimraf: 2.7.1 - tempfile: 2.0.0 - - execa@0.7.0: - dependencies: - cross-spawn: 5.1.0 - get-stream: 3.0.0 - is-stream: 1.1.0 - npm-run-path: 2.0.2 - p-finally: 1.0.0 - signal-exit: 3.0.7 - strip-eof: 1.0.0 - - execa@1.0.0: - dependencies: - cross-spawn: 6.0.6 - get-stream: 4.1.0 - is-stream: 1.1.0 - npm-run-path: 2.0.2 - p-finally: 1.0.0 - signal-exit: 3.0.7 - strip-eof: 1.0.0 - - execa@5.1.1: - dependencies: - cross-spawn: 7.0.6 - get-stream: 6.0.1 - human-signals: 2.1.0 - is-stream: 2.0.1 - merge-stream: 2.0.0 - npm-run-path: 4.0.1 - onetime: 5.1.2 - signal-exit: 3.0.7 - strip-final-newline: 2.0.0 - - executable@4.1.1: - dependencies: - pify: 2.3.0 - - expand-brackets@2.1.4: - dependencies: - debug: 2.6.9 - define-property: 0.2.5 - extend-shallow: 2.0.1 - posix-character-classes: 0.1.1 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color - - expand-range@1.8.2: - dependencies: - fill-range: 2.2.4 - - express@4.22.1: - dependencies: - accepts: 1.3.8 - array-flatten: 1.1.1 - body-parser: 1.20.4 - content-disposition: 0.5.4 - content-type: 1.0.5 - cookie: 0.7.2 - cookie-signature: 1.0.7 - debug: 2.6.9 - depd: 2.0.0 - encodeurl: 2.0.0 - escape-html: 1.0.3 - etag: 1.8.1 - finalhandler: 1.3.2 - fresh: 0.5.2 - http-errors: 2.0.1 - merge-descriptors: 1.0.3 - methods: 1.1.2 - on-finished: 2.4.1 - parseurl: 1.3.3 - path-to-regexp: 0.1.12 - proxy-addr: 2.0.7 - qs: 6.14.0 - range-parser: 1.2.1 - safe-buffer: 5.2.1 - send: 0.19.1 - serve-static: 1.16.2 - setprototypeof: 1.2.0 - statuses: 2.0.2 - type-is: 1.6.18 - utils-merge: 1.0.1 - vary: 1.1.2 - transitivePeerDependencies: - - supports-color - - ext-list@2.2.2: - dependencies: - mime-db: 1.54.0 - - ext-name@5.0.0: - dependencies: - ext-list: 2.2.2 - sort-keys-length: 1.0.1 - - extend-shallow@2.0.1: - dependencies: - is-extendable: 0.1.1 - - extend-shallow@3.0.2: - dependencies: - assign-symbols: 1.0.0 - is-extendable: 1.0.1 - - extend@3.0.2: {} - - extglob@2.0.4: - dependencies: - array-unique: 0.3.2 - define-property: 1.0.0 - expand-brackets: 2.1.4 - extend-shallow: 2.0.1 - fragment-cache: 0.2.1 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color - - extsprintf@1.3.0: {} - - fast-deep-equal@3.1.3: {} - - fast-folder-size@1.6.1: - dependencies: - unzipper: 0.10.14 - - fast-glob@2.2.7: - dependencies: - '@mrmlnc/readdir-enhanced': 2.2.1 - '@nodelib/fs.stat': 1.1.3 - glob-parent: 3.1.0 - is-glob: 4.0.3 - merge2: 1.4.1 - micromatch: 3.1.10 - transitivePeerDependencies: - - supports-color - - fast-glob@3.3.3: - dependencies: - '@nodelib/fs.stat': 2.0.5 - '@nodelib/fs.walk': 1.2.8 - glob-parent: 5.1.2 - merge2: 1.4.1 - micromatch: 4.0.8 - - fast-json-stable-stringify@2.1.0: {} - - fast-uri@3.1.0: {} - - fast-xml-parser@4.5.3: - dependencies: - strnum: 1.1.2 - - fastq@1.19.1: - dependencies: - reusify: 1.1.0 - - fault@2.0.1: - dependencies: - format: 0.2.2 - - faye-websocket@0.10.0: - dependencies: - websocket-driver: 0.7.4 - - faye-websocket@0.11.4: - dependencies: - websocket-driver: 0.7.4 - - fd-slicer@1.1.0: - dependencies: - pend: 1.2.0 - - feed@4.2.2: - dependencies: - xml-js: 1.6.11 - - figures@1.7.0: - dependencies: - escape-string-regexp: 1.0.5 - object-assign: 4.1.1 - - figures@3.2.0: - dependencies: - escape-string-regexp: 1.0.5 - - file-loader@6.2.0(webpack@5.103.0(@swc/core@1.15.4)): - dependencies: - loader-utils: 2.0.4 - schema-utils: 3.3.0 - webpack: 5.103.0(@swc/core@1.15.4) - - file-type@10.11.0: {} - - file-type@3.9.0: {} - - file-type@4.4.0: {} - - file-type@5.2.0: {} - - file-type@6.2.0: {} - - file-type@8.1.0: {} - - filelist@1.0.4: - dependencies: - minimatch: 5.1.6 - - filename-reserved-regex@2.0.0: {} - - filenamify@2.1.0: - dependencies: - filename-reserved-regex: 2.0.0 - strip-outer: 1.0.1 - trim-repeated: 1.0.0 - - filesize@6.1.0: {} - - fill-range@2.2.4: + '@apideck/better-ajv-errors@0.3.6(ajv@8.17.1)': dependencies: - is-number: 2.1.0 - isobject: 2.1.0 - randomatic: 3.1.1 - repeat-element: 1.1.4 - repeat-string: 1.6.1 + ajv: 8.17.1 + json-schema: 0.4.0 + jsonpointer: 5.0.1 + leven: 3.1.0 - fill-range@4.0.0: - dependencies: - extend-shallow: 2.0.1 - is-number: 3.0.0 - repeat-string: 1.6.1 - to-regex-range: 2.1.1 + '@astrojs/compiler@2.13.0': {} - fill-range@7.1.1: - dependencies: - to-regex-range: 5.0.1 + '@astrojs/internal-helpers@0.7.5': {} - finalhandler@1.3.2: + '@astrojs/markdown-remark@6.3.10': dependencies: - debug: 2.6.9 - encodeurl: 2.0.0 - escape-html: 1.0.3 - on-finished: 2.4.1 - parseurl: 1.3.3 - statuses: 2.0.2 - unpipe: 1.0.0 + '@astrojs/internal-helpers': 0.7.5 + '@astrojs/prism': 3.3.0 + github-slugger: 2.0.0 + hast-util-from-html: 2.0.3 + hast-util-to-text: 4.0.2 + import-meta-resolve: 4.2.0 + js-yaml: 4.1.1 + mdast-util-definitions: 6.0.0 + rehype-raw: 7.0.0 + rehype-stringify: 10.0.1 + remark-gfm: 4.0.1 + remark-parse: 11.0.0 + remark-rehype: 11.1.2 + remark-smartypants: 3.0.2 + shiki: 3.20.0 + smol-toml: 1.5.2 + unified: 11.0.5 + unist-util-remove-position: 5.0.0 + unist-util-visit: 5.0.0 + unist-util-visit-parents: 6.0.2 + vfile: 6.0.3 transitivePeerDependencies: - supports-color - find-cache-dir@2.1.0: - dependencies: - commondir: 1.0.1 - make-dir: 2.1.0 - pkg-dir: 3.0.0 - - find-cache-dir@4.0.0: - dependencies: - common-path-prefix: 3.0.0 - pkg-dir: 7.0.0 - - find-up@1.1.2: - dependencies: - path-exists: 2.1.0 - pinkie-promise: 2.0.1 - - find-up@3.0.0: - dependencies: - locate-path: 3.0.0 - - find-up@4.1.0: - dependencies: - locate-path: 5.0.0 - path-exists: 4.0.0 - - find-up@6.3.0: + '@astrojs/mdx@4.3.13(astro@5.16.5(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3))': dependencies: - locate-path: 7.2.0 - path-exists: 5.0.0 - - find-versions@3.2.0: - dependencies: - semver-regex: 2.0.0 - - flat@5.0.2: {} - - follow-redirects@1.15.11: {} - - for-each@0.3.5: - dependencies: - is-callable: 1.2.7 - - for-in@1.0.2: {} - - foreground-child@3.3.1: - dependencies: - cross-spawn: 7.0.6 - signal-exit: 4.1.0 - - forever-agent@0.6.1: {} - - fork-ts-checker-webpack-plugin@4.1.6(typescript@5.9.3)(webpack@5.103.0(@swc/core@1.15.4)): - dependencies: - '@babel/code-frame': 7.10.4 - chalk: 2.4.2 - micromatch: 3.1.10 - minimatch: 3.1.2 - semver: 5.7.2 - tapable: 1.1.3 - typescript: 5.9.3 - webpack: 5.103.0(@swc/core@1.15.4) - worker-rpc: 0.1.1 + '@astrojs/markdown-remark': 6.3.10 + '@mdx-js/mdx': 3.1.1 + acorn: 8.15.0 + astro: 5.16.5(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3) + es-module-lexer: 1.7.0 + estree-util-visit: 2.0.0 + hast-util-to-html: 9.0.5 + piccolore: 0.1.3 + rehype-raw: 7.0.0 + remark-gfm: 4.0.1 + remark-smartypants: 3.0.2 + source-map: 0.7.6 + unist-util-visit: 5.0.0 + vfile: 6.0.3 transitivePeerDependencies: - supports-color - form-data-encoder@2.1.4: {} - - form-data@2.3.3: - dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - mime-types: 2.1.35 - - format@0.2.2: {} - - forwarded@0.2.0: {} - - fraction.js@5.3.4: {} - - fragment-cache@0.2.1: - dependencies: - map-cache: 0.2.2 - - fresh@0.5.2: {} - - from2@2.3.0: - dependencies: - inherits: 2.0.4 - readable-stream: 2.3.8 - - fs-constants@1.0.0: {} - - fs-extra@11.3.2: - dependencies: - graceful-fs: 4.2.11 - jsonfile: 6.2.0 - universalify: 2.0.1 - - fs-extra@9.1.0: - dependencies: - at-least-node: 1.0.0 - graceful-fs: 4.2.11 - jsonfile: 6.2.0 - universalify: 2.0.1 - - fs.realpath@1.0.0: {} - - fsevents@2.3.3: - optional: true - - fstream@1.0.12: - dependencies: - graceful-fs: 4.2.11 - inherits: 2.0.4 - mkdirp: 0.5.6 - rimraf: 2.7.1 - - function-bind@1.1.2: {} - - function.prototype.name@1.1.8: - dependencies: - call-bind: 1.0.8 - call-bound: 1.0.4 - define-properties: 1.2.1 - functions-have-names: 1.2.3 - hasown: 2.0.2 - is-callable: 1.2.7 - - functions-have-names@1.2.3: {} - - gaze@1.1.3: - dependencies: - globule: 1.3.4 - - generator-function@2.0.1: {} - - gensync@1.0.0-beta.2: {} - - get-east-asian-width@1.4.0: {} - - get-intrinsic@1.3.0: - dependencies: - call-bind-apply-helpers: 1.0.2 - es-define-property: 1.0.1 - es-errors: 1.3.0 - es-object-atoms: 1.1.1 - function-bind: 1.1.2 - get-proto: 1.0.1 - gopd: 1.2.0 - has-symbols: 1.1.0 - hasown: 2.0.2 - math-intrinsics: 1.1.0 - - get-own-enumerable-property-symbols@3.0.2: {} - - get-proto@1.0.1: - dependencies: - dunder-proto: 1.0.1 - es-object-atoms: 1.1.1 - - get-proxy@2.1.0: - dependencies: - npm-conf: 1.1.3 - - get-stdin@4.0.1: {} - - get-stream@2.3.1: - dependencies: - object-assign: 4.1.1 - pinkie-promise: 2.0.1 - - get-stream@3.0.0: {} - - get-stream@4.1.0: - dependencies: - pump: 3.0.3 - - get-stream@6.0.1: {} - - get-symbol-description@1.1.0: - dependencies: - call-bound: 1.0.4 - es-errors: 1.3.0 - get-intrinsic: 1.3.0 - - get-value@2.0.6: {} - - getpass@0.1.7: - dependencies: - assert-plus: 1.0.0 - - gifsicle@4.0.1: - dependencies: - bin-build: 3.0.0 - bin-wrapper: 4.1.0 - execa: 1.0.0 - logalot: 2.1.0 - - giscus@1.6.0: - dependencies: - lit: 3.3.1 - - github-slugger@1.5.0: {} - - glob-parent@3.1.0: - dependencies: - is-glob: 3.1.0 - path-dirname: 1.0.2 - - glob-parent@5.1.2: - dependencies: - is-glob: 4.0.3 - - glob-parent@6.0.2: - dependencies: - is-glob: 4.0.3 - - glob-to-regex.js@1.2.0(tslib@2.8.1): - dependencies: - tslib: 2.8.1 - - glob-to-regexp@0.3.0: {} - - glob-to-regexp@0.4.1: {} - - glob@11.1.0: + '@astrojs/prism@3.3.0': dependencies: - foreground-child: 3.3.1 - jackspeak: 4.1.1 - minimatch: 10.1.1 - minipass: 7.1.2 - package-json-from-dist: 1.0.1 - path-scurry: 2.0.1 + prismjs: 1.30.0 - glob@7.1.7: + '@astrojs/sitemap@3.6.0': dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.0.8 - once: 1.4.0 - path-is-absolute: 1.0.1 + sitemap: 8.0.2 + stream-replace-string: 2.0.0 + zod: 3.25.76 - glob@7.2.3: + '@astrojs/starlight@0.37.1(astro@5.16.5(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3))': dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 + '@astrojs/markdown-remark': 6.3.10 + '@astrojs/mdx': 4.3.13(astro@5.16.5(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)) + '@astrojs/sitemap': 3.6.0 + '@pagefind/default-ui': 1.4.0 + '@types/hast': 3.0.4 + '@types/js-yaml': 4.0.9 + '@types/mdast': 4.0.4 + astro: 5.16.5(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3) + astro-expressive-code: 0.41.4(astro@5.16.5(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)) + bcp-47: 2.1.0 + hast-util-from-html: 2.0.3 + hast-util-select: 6.0.4 + hast-util-to-string: 3.0.1 + hastscript: 9.0.1 + i18next: 23.16.8 + js-yaml: 4.1.1 + klona: 2.0.6 + magic-string: 0.30.21 + mdast-util-directive: 3.1.0 + mdast-util-to-markdown: 2.1.2 + mdast-util-to-string: 4.0.0 + pagefind: 1.4.0 + rehype: 13.0.2 + rehype-format: 5.0.1 + remark-directive: 3.0.1 + ultrahtml: 1.6.0 + unified: 11.0.5 + unist-util-visit: 5.0.0 + vfile: 6.0.3 + transitivePeerDependencies: + - supports-color - global-dirs@3.0.1: + '@astrojs/telemetry@3.3.0': dependencies: - ini: 2.0.0 + ci-info: 4.3.1 + debug: 4.4.3 + dlv: 1.1.3 + dset: 3.1.4 + is-docker: 3.0.0 + is-wsl: 3.1.0 + which-pm-runs: 1.1.0 + transitivePeerDependencies: + - supports-color - global-modules@2.0.0: + '@babel/code-frame@7.27.1': dependencies: - global-prefix: 3.0.0 + '@babel/helper-validator-identifier': 7.28.5 + js-tokens: 4.0.0 + picocolors: 1.1.1 - global-prefix@3.0.0: - dependencies: - ini: 1.3.8 - kind-of: 6.0.3 - which: 1.3.1 + '@babel/compat-data@7.28.5': {} - globalthis@1.0.4: + '@babel/core@7.28.5': dependencies: - define-properties: 1.2.1 - gopd: 1.2.0 - - globby@11.0.1: - dependencies: - array-union: 2.1.0 - dir-glob: 3.0.1 - fast-glob: 3.3.3 - ignore: 5.3.2 - merge2: 1.4.1 - slash: 3.0.0 - - globby@11.1.0: - dependencies: - array-union: 2.1.0 - dir-glob: 3.0.1 - fast-glob: 3.3.3 - ignore: 5.3.2 - merge2: 1.4.1 - slash: 3.0.0 - - globby@13.2.2: - dependencies: - dir-glob: 3.0.1 - fast-glob: 3.3.3 - ignore: 5.3.2 - merge2: 1.4.1 - slash: 4.0.0 - - globby@15.0.0: - dependencies: - '@sindresorhus/merge-streams': 4.0.0 - fast-glob: 3.3.3 - ignore: 7.0.5 - path-type: 6.0.0 - slash: 5.1.0 - unicorn-magic: 0.3.0 - - globby@8.0.2: - dependencies: - array-union: 1.0.2 - dir-glob: 2.0.0 - fast-glob: 2.2.7 - glob: 7.2.3 - ignore: 3.3.10 - pify: 3.0.0 - slash: 1.0.0 + '@babel/code-frame': 7.27.1 + '@babel/generator': 7.28.5 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5) + '@babel/helpers': 7.28.4 + '@babel/parser': 7.28.5 + '@babel/template': 7.27.2 + '@babel/traverse': 7.28.5 + '@babel/types': 7.28.5 + '@jridgewell/remapping': 2.3.5 + convert-source-map: 2.0.0 + debug: 4.4.3 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 transitivePeerDependencies: - supports-color - globule@1.3.4: + '@babel/generator@7.28.5': dependencies: - glob: 7.1.7 - lodash: 4.17.21 - minimatch: 3.0.8 - - gopd@1.2.0: {} - - got@12.6.1: - dependencies: - '@sindresorhus/is': 5.6.0 - '@szmarczak/http-timer': 5.0.1 - cacheable-lookup: 7.0.0 - cacheable-request: 10.2.14 - decompress-response: 6.0.0 - form-data-encoder: 2.1.4 - get-stream: 6.0.1 - http2-wrapper: 2.2.1 - lowercase-keys: 3.0.0 - p-cancelable: 3.0.0 - responselike: 3.0.0 - - got@7.1.0: - dependencies: - '@types/keyv': 3.1.4 - '@types/responselike': 1.0.3 - decompress-response: 3.3.0 - duplexer3: 0.1.5 - get-stream: 3.0.0 - is-plain-obj: 1.1.0 - is-retry-allowed: 1.2.0 - is-stream: 1.1.0 - isurl: 1.0.0 - lowercase-keys: 1.0.1 - p-cancelable: 0.3.0 - p-timeout: 1.2.1 - safe-buffer: 5.2.1 - timed-out: 4.0.1 - url-parse-lax: 1.0.0 - url-to-options: 1.0.1 - - got@8.3.2: - dependencies: - '@sindresorhus/is': 0.7.0 - '@types/keyv': 3.1.4 - '@types/responselike': 1.0.3 - cacheable-request: 2.1.4 - decompress-response: 3.3.0 - duplexer3: 0.1.5 - get-stream: 3.0.0 - into-stream: 3.1.0 - is-retry-allowed: 1.2.0 - isurl: 1.0.0 - lowercase-keys: 1.0.1 - mimic-response: 1.0.1 - p-cancelable: 0.4.1 - p-timeout: 2.0.1 - pify: 3.0.0 - safe-buffer: 5.2.1 - timed-out: 4.0.1 - url-parse-lax: 3.0.0 - url-to-options: 1.0.1 - - graceful-fs@4.2.10: {} - - graceful-fs@4.2.11: {} + '@babel/parser': 7.28.5 + '@babel/types': 7.28.5 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + jsesc: 3.1.0 - gray-matter@2.1.1: + '@babel/helper-annotate-as-pure@7.27.3': dependencies: - ansi-red: 0.1.1 - coffee-script: 1.12.7 - extend-shallow: 2.0.1 - js-yaml: 3.14.2 - toml: 2.3.6 + '@babel/types': 7.28.5 - gray-matter@4.0.3: + '@babel/helper-compilation-targets@7.27.2': dependencies: - js-yaml: 3.14.2 - kind-of: 6.0.3 - section-matter: 1.0.0 - strip-bom-string: 1.0.0 + '@babel/compat-data': 7.28.5 + '@babel/helper-validator-option': 7.27.1 + browserslist: 4.28.1 + lru-cache: 5.1.1 + semver: 6.3.1 - gulp-header@1.8.12: + '@babel/helper-create-class-features-plugin@7.28.5(@babel/core@7.28.5)': dependencies: - concat-with-sourcemaps: 1.1.0 - lodash.template: 4.5.0 - through2: 2.0.5 + '@babel/core': 7.28.5 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-member-expression-to-functions': 7.28.5 + '@babel/helper-optimise-call-expression': 7.27.1 + '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.5) + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + '@babel/traverse': 7.28.5 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color - gzip-size@5.1.1: + '@babel/helper-create-regexp-features-plugin@7.28.5(@babel/core@7.28.5)': dependencies: - duplexer: 0.1.2 - pify: 4.0.1 + '@babel/core': 7.28.5 + '@babel/helper-annotate-as-pure': 7.27.3 + regexpu-core: 6.4.0 + semver: 6.3.1 - gzip-size@6.0.0: + '@babel/helper-define-polyfill-provider@0.6.5(@babel/core@7.28.5)': dependencies: - duplexer: 0.1.2 - - hachure-fill@0.5.2: {} - - handle-thing@2.0.1: {} + '@babel/core': 7.28.5 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-plugin-utils': 7.27.1 + debug: 4.4.3 + lodash.debounce: 4.0.8 + resolve: 1.22.11 + transitivePeerDependencies: + - supports-color - har-schema@2.0.0: {} + '@babel/helper-globals@7.28.0': {} - har-validator@5.1.5: + '@babel/helper-member-expression-to-functions@7.28.5': dependencies: - ajv: 6.12.6 - har-schema: 2.0.0 + '@babel/traverse': 7.28.5 + '@babel/types': 7.28.5 + transitivePeerDependencies: + - supports-color - has-ansi@2.0.0: + '@babel/helper-module-imports@7.27.1': dependencies: - ansi-regex: 2.1.1 - - has-bigints@1.1.0: {} - - has-flag@3.0.0: {} - - has-flag@4.0.0: {} + '@babel/traverse': 7.28.5 + '@babel/types': 7.28.5 + transitivePeerDependencies: + - supports-color - has-property-descriptors@1.0.2: + '@babel/helper-module-transforms@7.28.3(@babel/core@7.28.5)': dependencies: - es-define-property: 1.0.1 + '@babel/core': 7.28.5 + '@babel/helper-module-imports': 7.27.1 + '@babel/helper-validator-identifier': 7.28.5 + '@babel/traverse': 7.28.5 + transitivePeerDependencies: + - supports-color - has-proto@1.2.0: + '@babel/helper-optimise-call-expression@7.27.1': dependencies: - dunder-proto: 1.0.1 - - has-symbol-support-x@1.4.2: {} + '@babel/types': 7.28.5 - has-symbols@1.1.0: {} + '@babel/helper-plugin-utils@7.27.1': {} - has-to-string-tag-x@1.4.1: + '@babel/helper-remap-async-to-generator@7.27.1(@babel/core@7.28.5)': dependencies: - has-symbol-support-x: 1.4.2 + '@babel/core': 7.28.5 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-wrap-function': 7.28.3 + '@babel/traverse': 7.28.5 + transitivePeerDependencies: + - supports-color - has-tostringtag@1.0.2: + '@babel/helper-replace-supers@7.27.1(@babel/core@7.28.5)': dependencies: - has-symbols: 1.1.0 + '@babel/core': 7.28.5 + '@babel/helper-member-expression-to-functions': 7.28.5 + '@babel/helper-optimise-call-expression': 7.27.1 + '@babel/traverse': 7.28.5 + transitivePeerDependencies: + - supports-color - has-value@0.3.1: + '@babel/helper-skip-transparent-expression-wrappers@7.27.1': dependencies: - get-value: 2.0.6 - has-values: 0.1.4 - isobject: 2.1.0 + '@babel/traverse': 7.28.5 + '@babel/types': 7.28.5 + transitivePeerDependencies: + - supports-color - has-value@1.0.0: - dependencies: - get-value: 2.0.6 - has-values: 1.0.0 - isobject: 3.0.1 + '@babel/helper-string-parser@7.27.1': {} - has-values@0.1.4: {} + '@babel/helper-validator-identifier@7.28.5': {} - has-values@1.0.0: - dependencies: - is-number: 3.0.0 - kind-of: 4.0.0 + '@babel/helper-validator-option@7.27.1': {} - has-yarn@3.0.0: {} + '@babel/helper-wrap-function@7.28.3': + dependencies: + '@babel/template': 7.27.2 + '@babel/traverse': 7.28.5 + '@babel/types': 7.28.5 + transitivePeerDependencies: + - supports-color - has@1.0.4: {} + '@babel/helpers@7.28.4': + dependencies: + '@babel/template': 7.27.2 + '@babel/types': 7.28.5 - hasown@2.0.2: + '@babel/parser@7.28.5': dependencies: - function-bind: 1.1.2 + '@babel/types': 7.28.5 - hast-util-from-parse5@8.0.3: + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.28.5(@babel/core@7.28.5)': dependencies: - '@types/hast': 3.0.4 - '@types/unist': 3.0.3 - devlop: 1.1.0 - hastscript: 9.0.1 - property-information: 7.1.0 - vfile: 6.0.3 - vfile-location: 5.0.3 - web-namespaces: 2.0.1 + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/traverse': 7.28.5 + transitivePeerDependencies: + - supports-color - hast-util-parse-selector@4.0.0: + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1(@babel/core@7.28.5)': dependencies: - '@types/hast': 3.0.4 + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 - hast-util-raw@9.1.0: + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1(@babel/core@7.28.5)': dependencies: - '@types/hast': 3.0.4 - '@types/unist': 3.0.3 - '@ungap/structured-clone': 1.3.0 - hast-util-from-parse5: 8.0.3 - hast-util-to-parse5: 8.0.1 - html-void-elements: 3.0.0 - mdast-util-to-hast: 13.2.1 - parse5: 7.3.0 - unist-util-position: 5.0.0 - unist-util-visit: 5.0.0 - vfile: 6.0.3 - web-namespaces: 2.0.1 - zwitch: 2.0.4 + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 - hast-util-to-estree@3.1.3: + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1(@babel/core@7.28.5)': dependencies: - '@types/estree': 1.0.8 - '@types/estree-jsx': 1.0.5 - '@types/hast': 3.0.4 - comma-separated-tokens: 2.0.3 - devlop: 1.1.0 - estree-util-attach-comments: 3.0.0 - estree-util-is-identifier-name: 3.0.0 - hast-util-whitespace: 3.0.0 - mdast-util-mdx-expression: 2.0.1 - mdast-util-mdx-jsx: 3.2.0 - mdast-util-mdxjs-esm: 2.0.1 - property-information: 7.1.0 - space-separated-tokens: 2.0.2 - style-to-js: 1.1.21 - unist-util-position: 5.0.0 - zwitch: 2.0.4 + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + '@babel/plugin-transform-optional-chaining': 7.28.5(@babel/core@7.28.5) transitivePeerDependencies: - supports-color - hast-util-to-jsx-runtime@2.3.6: + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.28.3(@babel/core@7.28.5)': dependencies: - '@types/estree': 1.0.8 - '@types/hast': 3.0.4 - '@types/unist': 3.0.3 - comma-separated-tokens: 2.0.3 - devlop: 1.1.0 - estree-util-is-identifier-name: 3.0.0 - hast-util-whitespace: 3.0.0 - mdast-util-mdx-expression: 2.0.1 - mdast-util-mdx-jsx: 3.2.0 - mdast-util-mdxjs-esm: 2.0.1 - property-information: 7.1.0 - space-separated-tokens: 2.0.2 - style-to-js: 1.1.21 - unist-util-position: 5.0.0 - vfile-message: 4.0.3 + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/traverse': 7.28.5 transitivePeerDependencies: - supports-color - hast-util-to-parse5@8.0.1: + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.28.5)': dependencies: - '@types/hast': 3.0.4 - comma-separated-tokens: 2.0.3 - devlop: 1.1.0 - property-information: 7.1.0 - space-separated-tokens: 2.0.2 - web-namespaces: 2.0.1 - zwitch: 2.0.4 + '@babel/core': 7.28.5 - hast-util-whitespace@3.0.0: + '@babel/plugin-syntax-import-assertions@7.27.1(@babel/core@7.28.5)': dependencies: - '@types/hast': 3.0.4 + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 - hastscript@9.0.1: + '@babel/plugin-syntax-import-attributes@7.27.1(@babel/core@7.28.5)': dependencies: - '@types/hast': 3.0.4 - comma-separated-tokens: 2.0.3 - hast-util-parse-selector: 4.0.0 - property-information: 7.1.0 - space-separated-tokens: 2.0.2 - - he@1.2.0: {} - - hex-color-regex@1.1.0: {} - - highlight.js@9.18.5: {} + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 - history@4.10.1: + '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.28.5)': dependencies: - '@babel/runtime': 7.28.4 - loose-envify: 1.4.0 - resolve-pathname: 3.0.0 - tiny-invariant: 1.3.3 - tiny-warning: 1.0.3 - value-equal: 1.0.1 + '@babel/core': 7.28.5 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.27.1 - hoist-non-react-statics@3.3.2: + '@babel/plugin-transform-arrow-functions@7.27.1(@babel/core@7.28.5)': dependencies: - react-is: 16.13.1 - - hosted-git-info@2.8.9: {} + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 - hpack.js@2.1.6: + '@babel/plugin-transform-async-generator-functions@7.28.0(@babel/core@7.28.5)': dependencies: - inherits: 2.0.4 - obuf: 1.1.2 - readable-stream: 2.3.8 - wbuf: 1.7.3 - - hsl-regex@1.0.0: {} - - hsla-regex@1.0.0: {} + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.28.5) + '@babel/traverse': 7.28.5 + transitivePeerDependencies: + - supports-color - html-element-map@1.3.1: + '@babel/plugin-transform-async-to-generator@7.27.1(@babel/core@7.28.5)': dependencies: - array.prototype.filter: 1.0.4 - call-bind: 1.0.8 - - html-escaper@2.0.2: {} + '@babel/core': 7.28.5 + '@babel/helper-module-imports': 7.27.1 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.28.5) + transitivePeerDependencies: + - supports-color - html-minifier-terser@6.1.0: + '@babel/plugin-transform-block-scoped-functions@7.27.1(@babel/core@7.28.5)': dependencies: - camel-case: 4.1.2 - clean-css: 5.3.3 - commander: 8.3.0 - he: 1.2.0 - param-case: 3.0.4 - relateurl: 0.2.7 - terser: 5.44.1 + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 - html-minifier-terser@7.2.0: + '@babel/plugin-transform-block-scoping@7.28.5(@babel/core@7.28.5)': dependencies: - camel-case: 4.1.2 - clean-css: 5.3.3 - commander: 10.0.1 - entities: 4.5.0 - param-case: 3.0.4 - relateurl: 0.2.7 - terser: 5.44.1 + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 - html-tags@3.3.1: {} + '@babel/plugin-transform-class-properties@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color - html-void-elements@3.0.0: {} + '@babel/plugin-transform-class-static-block@7.28.3(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color - html-webpack-plugin@5.6.5(@rspack/core@1.6.7)(webpack@5.103.0(@swc/core@1.15.4)): + '@babel/plugin-transform-classes@7.28.4(@babel/core@7.28.5)': dependencies: - '@types/html-minifier-terser': 6.1.0 - html-minifier-terser: 6.1.0 - lodash: 4.17.21 - pretty-error: 4.0.0 - tapable: 2.3.0 - optionalDependencies: - '@rspack/core': 1.6.7 - webpack: 5.103.0(@swc/core@1.15.4) + '@babel/core': 7.28.5 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-globals': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.5) + '@babel/traverse': 7.28.5 + transitivePeerDependencies: + - supports-color - htmlparser2@10.0.0: + '@babel/plugin-transform-computed-properties@7.27.1(@babel/core@7.28.5)': dependencies: - domelementtype: 2.3.0 - domhandler: 5.0.3 - domutils: 3.2.2 - entities: 6.0.1 + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/template': 7.27.2 - htmlparser2@6.1.0: + '@babel/plugin-transform-destructuring@7.28.5(@babel/core@7.28.5)': dependencies: - domelementtype: 2.3.0 - domhandler: 4.3.1 - domutils: 2.8.0 - entities: 2.2.0 + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/traverse': 7.28.5 + transitivePeerDependencies: + - supports-color - htmlparser2@8.0.2: + '@babel/plugin-transform-dotall-regex@7.27.1(@babel/core@7.28.5)': dependencies: - domelementtype: 2.3.0 - domhandler: 5.0.3 - domutils: 3.2.2 - entities: 4.5.0 - - http-cache-semantics@3.8.1: {} + '@babel/core': 7.28.5 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.27.1 - http-cache-semantics@4.2.0: {} + '@babel/plugin-transform-duplicate-keys@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 - http-deceiver@1.2.7: {} + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.27.1 - http-errors@1.6.3: + '@babel/plugin-transform-dynamic-import@7.27.1(@babel/core@7.28.5)': dependencies: - depd: 1.1.2 - inherits: 2.0.3 - setprototypeof: 1.1.0 - statuses: 1.5.0 + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 - http-errors@2.0.0: + '@babel/plugin-transform-explicit-resource-management@7.28.0(@babel/core@7.28.5)': dependencies: - depd: 2.0.0 - inherits: 2.0.4 - setprototypeof: 1.2.0 - statuses: 2.0.1 - toidentifier: 1.0.1 + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.28.5) + transitivePeerDependencies: + - supports-color - http-errors@2.0.1: + '@babel/plugin-transform-exponentiation-operator@7.28.5(@babel/core@7.28.5)': dependencies: - depd: 2.0.0 - inherits: 2.0.4 - setprototypeof: 1.2.0 - statuses: 2.0.2 - toidentifier: 1.0.1 + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 - http-parser-js@0.5.10: {} + '@babel/plugin-transform-export-namespace-from@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 - http-proxy-middleware@2.0.9(@types/express@4.17.25): + '@babel/plugin-transform-for-of@7.27.1(@babel/core@7.28.5)': dependencies: - '@types/http-proxy': 1.17.17 - http-proxy: 1.18.1 - is-glob: 4.0.3 - is-plain-obj: 3.0.0 - micromatch: 4.0.8 - optionalDependencies: - '@types/express': 4.17.25 + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 transitivePeerDependencies: - - debug + - supports-color - http-proxy@1.18.1: + '@babel/plugin-transform-function-name@7.27.1(@babel/core@7.28.5)': dependencies: - eventemitter3: 4.0.7 - follow-redirects: 1.15.11 - requires-port: 1.0.0 + '@babel/core': 7.28.5 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/traverse': 7.28.5 transitivePeerDependencies: - - debug + - supports-color - http-signature@1.2.0: + '@babel/plugin-transform-json-strings@7.27.1(@babel/core@7.28.5)': dependencies: - assert-plus: 1.0.0 - jsprim: 1.4.2 - sshpk: 1.18.0 + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 - http2-wrapper@2.2.1: + '@babel/plugin-transform-literals@7.27.1(@babel/core@7.28.5)': dependencies: - quick-lru: 5.1.1 - resolve-alpn: 1.2.1 - - human-signals@2.1.0: {} - - hyperdyperid@1.2.0: {} + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 - iconv-lite@0.4.24: + '@babel/plugin-transform-logical-assignment-operators@7.28.5(@babel/core@7.28.5)': dependencies: - safer-buffer: 2.1.2 + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 - iconv-lite@0.6.3: + '@babel/plugin-transform-member-expression-literals@7.27.1(@babel/core@7.28.5)': dependencies: - safer-buffer: 2.1.2 + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 - icss-utils@5.1.0(postcss@8.5.6): + '@babel/plugin-transform-modules-amd@7.27.1(@babel/core@7.28.5)': dependencies: - postcss: 8.5.6 - - idb@7.1.1: {} - - ieee754@1.2.1: {} - - ignore@3.3.10: {} + '@babel/core': 7.28.5 + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color - ignore@5.3.2: {} + '@babel/plugin-transform-modules-commonjs@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color - ignore@7.0.5: {} + '@babel/plugin-transform-modules-systemjs@7.28.5(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-validator-identifier': 7.28.5 + '@babel/traverse': 7.28.5 + transitivePeerDependencies: + - supports-color - image-size@2.0.2: {} + '@babel/plugin-transform-modules-umd@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color - imagemin-gifsicle@6.0.1: + '@babel/plugin-transform-named-capturing-groups-regex@7.27.1(@babel/core@7.28.5)': dependencies: - exec-buffer: 3.2.0 - gifsicle: 4.0.1 - is-gif: 3.0.0 + '@babel/core': 7.28.5 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.27.1 - imagemin-jpegtran@6.0.0: + '@babel/plugin-transform-new-target@7.27.1(@babel/core@7.28.5)': dependencies: - exec-buffer: 3.2.0 - is-jpg: 2.0.0 - jpegtran-bin: 4.0.0 + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 - imagemin-optipng@6.0.0: + '@babel/plugin-transform-nullish-coalescing-operator@7.27.1(@babel/core@7.28.5)': dependencies: - exec-buffer: 3.2.0 - is-png: 1.1.0 - optipng-bin: 5.1.0 + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 - imagemin-svgo@7.1.0: + '@babel/plugin-transform-numeric-separator@7.27.1(@babel/core@7.28.5)': dependencies: - is-svg: 4.4.0 - svgo: 1.3.2 + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 - imagemin@6.1.0: + '@babel/plugin-transform-object-rest-spread@7.28.4(@babel/core@7.28.5)': dependencies: - file-type: 10.11.0 - globby: 8.0.2 - make-dir: 1.3.0 - p-pipe: 1.2.0 - pify: 4.0.1 - replace-ext: 1.0.1 + '@babel/core': 7.28.5 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.28.5) + '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.5) + '@babel/traverse': 7.28.5 transitivePeerDependencies: - supports-color - immer@8.0.1: {} - - immutable@5.1.4: {} - - import-fresh@2.0.0: + '@babel/plugin-transform-object-super@7.27.1(@babel/core@7.28.5)': dependencies: - caller-path: 2.0.0 - resolve-from: 3.0.0 + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.5) + transitivePeerDependencies: + - supports-color - import-fresh@3.3.1: + '@babel/plugin-transform-optional-catch-binding@7.27.1(@babel/core@7.28.5)': dependencies: - parent-module: 1.0.1 - resolve-from: 4.0.0 - - import-lazy@3.1.0: {} - - import-lazy@4.0.0: {} - - imurmurhash@0.1.4: {} + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 - indent-string@2.1.0: + '@babel/plugin-transform-optional-chaining@7.28.5(@babel/core@7.28.5)': dependencies: - repeating: 2.0.1 - - indent-string@4.0.0: {} - - indexes-of@1.0.1: {} - - infima@0.2.0-alpha.45: {} + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + transitivePeerDependencies: + - supports-color - inflight@1.0.6: + '@babel/plugin-transform-parameters@7.27.7(@babel/core@7.28.5)': dependencies: - once: 1.4.0 - wrappy: 1.0.2 - - inherits@2.0.3: {} - - inherits@2.0.4: {} - - ini@1.3.8: {} - - ini@2.0.0: {} - - inline-style-parser@0.2.7: {} + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 - internal-slot@1.1.0: + '@babel/plugin-transform-private-methods@7.27.1(@babel/core@7.28.5)': dependencies: - es-errors: 1.3.0 - hasown: 2.0.2 - side-channel: 1.1.0 - - internmap@1.0.1: {} - - internmap@2.0.3: {} - - interpret@1.4.0: {} + '@babel/core': 7.28.5 + '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color - into-stream@3.1.0: + '@babel/plugin-transform-private-property-in-object@7.27.1(@babel/core@7.28.5)': dependencies: - from2: 2.3.0 - p-is-promise: 1.1.0 + '@babel/core': 7.28.5 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color - invariant@2.2.4: + '@babel/plugin-transform-property-literals@7.27.1(@babel/core@7.28.5)': dependencies: - loose-envify: 1.4.0 - - ip-regex@4.3.0: {} - - ipaddr.js@1.9.1: {} - - ipaddr.js@2.3.0: {} - - is-absolute-url@2.1.0: {} + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 - is-accessor-descriptor@1.0.1: + '@babel/plugin-transform-regenerator@7.28.4(@babel/core@7.28.5)': dependencies: - hasown: 2.0.2 - - is-alphabetical@2.0.1: {} + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 - is-alphanumerical@2.0.1: + '@babel/plugin-transform-regexp-modifiers@7.27.1(@babel/core@7.28.5)': dependencies: - is-alphabetical: 2.0.1 - is-decimal: 2.0.1 + '@babel/core': 7.28.5 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.27.1 - is-array-buffer@3.0.5: + '@babel/plugin-transform-reserved-words@7.27.1(@babel/core@7.28.5)': dependencies: - call-bind: 1.0.8 - call-bound: 1.0.4 - get-intrinsic: 1.3.0 - - is-arrayish@0.2.1: {} - - is-arrayish@0.3.4: {} + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 - is-async-function@2.1.1: + '@babel/plugin-transform-shorthand-properties@7.27.1(@babel/core@7.28.5)': dependencies: - async-function: 1.0.0 - call-bound: 1.0.4 - get-proto: 1.0.1 - has-tostringtag: 1.0.2 - safe-regex-test: 1.1.0 + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 - is-bigint@1.1.0: + '@babel/plugin-transform-spread@7.27.1(@babel/core@7.28.5)': dependencies: - has-bigints: 1.1.0 + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + transitivePeerDependencies: + - supports-color - is-binary-path@2.1.0: + '@babel/plugin-transform-sticky-regex@7.27.1(@babel/core@7.28.5)': dependencies: - binary-extensions: 2.3.0 + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 - is-boolean-object@1.2.2: + '@babel/plugin-transform-template-literals@7.27.1(@babel/core@7.28.5)': dependencies: - call-bound: 1.0.4 - has-tostringtag: 1.0.2 - - is-buffer@1.1.6: {} + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 - is-callable@1.2.7: {} + '@babel/plugin-transform-typeof-symbol@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 - is-ci@3.0.1: + '@babel/plugin-transform-unicode-escapes@7.27.1(@babel/core@7.28.5)': dependencies: - ci-info: 3.9.0 + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 - is-color-stop@1.1.0: + '@babel/plugin-transform-unicode-property-regex@7.27.1(@babel/core@7.28.5)': dependencies: - css-color-names: 0.0.4 - hex-color-regex: 1.1.0 - hsl-regex: 1.0.0 - hsla-regex: 1.0.0 - rgb-regex: 1.0.1 - rgba-regex: 1.0.0 + '@babel/core': 7.28.5 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.27.1 - is-core-module@2.16.1: + '@babel/plugin-transform-unicode-regex@7.27.1(@babel/core@7.28.5)': dependencies: - hasown: 2.0.2 + '@babel/core': 7.28.5 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.27.1 - is-data-descriptor@1.0.1: + '@babel/plugin-transform-unicode-sets-regex@7.27.1(@babel/core@7.28.5)': dependencies: - hasown: 2.0.2 + '@babel/core': 7.28.5 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.27.1 - is-data-view@1.0.2: + '@babel/preset-env@7.28.5(@babel/core@7.28.5)': dependencies: - call-bound: 1.0.4 - get-intrinsic: 1.3.0 - is-typed-array: 1.1.15 + '@babel/compat-data': 7.28.5 + '@babel/core': 7.28.5 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-validator-option': 7.27.1 + '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.28.5(@babel/core@7.28.5) + '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.28.3(@babel/core@7.28.5) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.28.5) + '@babel/plugin-syntax-import-assertions': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-syntax-import-attributes': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.28.5) + '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-async-generator-functions': 7.28.0(@babel/core@7.28.5) + '@babel/plugin-transform-async-to-generator': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-block-scoped-functions': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-block-scoping': 7.28.5(@babel/core@7.28.5) + '@babel/plugin-transform-class-properties': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-class-static-block': 7.28.3(@babel/core@7.28.5) + '@babel/plugin-transform-classes': 7.28.4(@babel/core@7.28.5) + '@babel/plugin-transform-computed-properties': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.28.5) + '@babel/plugin-transform-dotall-regex': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-duplicate-keys': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-dynamic-import': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-explicit-resource-management': 7.28.0(@babel/core@7.28.5) + '@babel/plugin-transform-exponentiation-operator': 7.28.5(@babel/core@7.28.5) + '@babel/plugin-transform-export-namespace-from': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-function-name': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-json-strings': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-literals': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-logical-assignment-operators': 7.28.5(@babel/core@7.28.5) + '@babel/plugin-transform-member-expression-literals': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-modules-amd': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-modules-systemjs': 7.28.5(@babel/core@7.28.5) + '@babel/plugin-transform-modules-umd': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-named-capturing-groups-regex': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-new-target': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-nullish-coalescing-operator': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-numeric-separator': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-object-rest-spread': 7.28.4(@babel/core@7.28.5) + '@babel/plugin-transform-object-super': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-optional-catch-binding': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-optional-chaining': 7.28.5(@babel/core@7.28.5) + '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.5) + '@babel/plugin-transform-private-methods': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-private-property-in-object': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-property-literals': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-regenerator': 7.28.4(@babel/core@7.28.5) + '@babel/plugin-transform-regexp-modifiers': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-reserved-words': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-spread': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-sticky-regex': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-typeof-symbol': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-unicode-escapes': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-unicode-property-regex': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-unicode-regex': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-unicode-sets-regex': 7.27.1(@babel/core@7.28.5) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.28.5) + babel-plugin-polyfill-corejs2: 0.4.14(@babel/core@7.28.5) + babel-plugin-polyfill-corejs3: 0.13.0(@babel/core@7.28.5) + babel-plugin-polyfill-regenerator: 0.6.5(@babel/core@7.28.5) + core-js-compat: 3.47.0 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color - is-date-object@1.1.0: + '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.28.5)': dependencies: - call-bound: 1.0.4 - has-tostringtag: 1.0.2 + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/types': 7.28.5 + esutils: 2.0.3 - is-decimal@2.0.1: {} + '@babel/runtime@7.28.4': {} - is-descriptor@0.1.7: + '@babel/template@7.27.2': dependencies: - is-accessor-descriptor: 1.0.1 - is-data-descriptor: 1.0.1 + '@babel/code-frame': 7.27.1 + '@babel/parser': 7.28.5 + '@babel/types': 7.28.5 - is-descriptor@1.0.3: + '@babel/traverse@7.28.5': dependencies: - is-accessor-descriptor: 1.0.1 - is-data-descriptor: 1.0.1 - - is-directory@0.3.1: {} - - is-docker@2.2.1: {} - - is-docker@3.0.0: {} - - is-extendable@0.1.1: {} + '@babel/code-frame': 7.27.1 + '@babel/generator': 7.28.5 + '@babel/helper-globals': 7.28.0 + '@babel/parser': 7.28.5 + '@babel/template': 7.27.2 + '@babel/types': 7.28.5 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color - is-extendable@1.0.1: + '@babel/types@7.28.5': dependencies: - is-plain-object: 2.0.4 + '@babel/helper-string-parser': 7.27.1 + '@babel/helper-validator-identifier': 7.28.5 - is-extglob@2.1.1: {} + '@bufbuild/protobuf@2.10.2': + optional: true - is-finalizationregistry@1.1.1: + '@capsizecss/unpack@3.0.1': dependencies: - call-bound: 1.0.4 + fontkit: 2.0.4 - is-finite@1.1.0: {} + '@ctrl/tinycolor@4.2.0': {} - is-fullwidth-code-point@3.0.0: {} - - is-generator-function@1.1.2: + '@emnapi/runtime@1.7.1': dependencies: - call-bound: 1.0.4 - generator-function: 2.0.1 - get-proto: 1.0.1 - has-tostringtag: 1.0.2 - safe-regex-test: 1.1.0 + tslib: 2.8.1 + optional: true - is-gif@3.0.0: - dependencies: - file-type: 10.11.0 + '@esbuild/aix-ppc64@0.25.12': + optional: true - is-glob@3.1.0: - dependencies: - is-extglob: 2.1.1 + '@esbuild/android-arm64@0.25.12': + optional: true - is-glob@4.0.3: - dependencies: - is-extglob: 2.1.1 + '@esbuild/android-arm@0.25.12': + optional: true - is-hexadecimal@2.0.1: {} + '@esbuild/android-x64@0.25.12': + optional: true - is-inside-container@1.0.0: - dependencies: - is-docker: 3.0.0 + '@esbuild/darwin-arm64@0.25.12': + optional: true - is-installed-globally@0.4.0: - dependencies: - global-dirs: 3.0.1 - is-path-inside: 3.0.3 + '@esbuild/darwin-x64@0.25.12': + optional: true - is-jpg@2.0.0: {} + '@esbuild/freebsd-arm64@0.25.12': + optional: true - is-map@2.0.3: {} + '@esbuild/freebsd-x64@0.25.12': + optional: true - is-mobile@5.0.0: {} + '@esbuild/linux-arm64@0.25.12': + optional: true - is-module@1.0.0: {} + '@esbuild/linux-arm@0.25.12': + optional: true - is-natural-number@4.0.1: {} + '@esbuild/linux-ia32@0.25.12': + optional: true - is-negative-zero@2.0.3: {} + '@esbuild/linux-loong64@0.25.12': + optional: true - is-network-error@1.3.0: {} + '@esbuild/linux-mips64el@0.25.12': + optional: true - is-npm@6.1.0: {} + '@esbuild/linux-ppc64@0.25.12': + optional: true - is-number-object@1.1.1: - dependencies: - call-bound: 1.0.4 - has-tostringtag: 1.0.2 + '@esbuild/linux-riscv64@0.25.12': + optional: true - is-number@2.1.0: - dependencies: - kind-of: 3.2.2 + '@esbuild/linux-s390x@0.25.12': + optional: true - is-number@3.0.0: - dependencies: - kind-of: 3.2.2 + '@esbuild/linux-x64@0.25.12': + optional: true - is-number@4.0.0: {} + '@esbuild/netbsd-arm64@0.25.12': + optional: true - is-number@7.0.0: {} + '@esbuild/netbsd-x64@0.25.12': + optional: true - is-obj@1.0.1: {} + '@esbuild/openbsd-arm64@0.25.12': + optional: true - is-obj@2.0.0: {} + '@esbuild/openbsd-x64@0.25.12': + optional: true - is-object@1.0.2: {} + '@esbuild/openharmony-arm64@0.25.12': + optional: true - is-path-inside@3.0.3: {} + '@esbuild/sunos-x64@0.25.12': + optional: true - is-plain-obj@1.1.0: {} + '@esbuild/win32-arm64@0.25.12': + optional: true - is-plain-obj@3.0.0: {} + '@esbuild/win32-ia32@0.25.12': + optional: true - is-plain-obj@4.1.0: {} + '@esbuild/win32-x64@0.25.12': + optional: true - is-plain-object@2.0.4: + '@expressive-code/core@0.41.4': dependencies: - isobject: 3.0.1 + '@ctrl/tinycolor': 4.2.0 + hast-util-select: 6.0.4 + hast-util-to-html: 9.0.5 + hast-util-to-text: 4.0.2 + hastscript: 9.0.1 + postcss: 8.5.6 + postcss-nested: 6.2.0(postcss@8.5.6) + unist-util-visit: 5.0.0 + unist-util-visit-parents: 6.0.2 - is-png@1.1.0: {} + '@expressive-code/plugin-frames@0.41.4': + dependencies: + '@expressive-code/core': 0.41.4 - is-regex@1.2.1: + '@expressive-code/plugin-shiki@0.41.4': dependencies: - call-bound: 1.0.4 - gopd: 1.2.0 - has-tostringtag: 1.0.2 - hasown: 2.0.2 + '@expressive-code/core': 0.41.4 + shiki: 3.20.0 - is-regexp@1.0.0: {} + '@expressive-code/plugin-text-markers@0.41.4': + dependencies: + '@expressive-code/core': 0.41.4 - is-resolvable@1.1.0: {} + '@giscus/react@3.1.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': + dependencies: + giscus: 1.6.0 + react: 19.2.3 + react-dom: 19.2.3(react@19.2.3) - is-retry-allowed@1.2.0: {} + '@img/colour@1.0.0': {} - is-root@2.1.0: {} + '@img/sharp-darwin-arm64@0.34.5': + optionalDependencies: + '@img/sharp-libvips-darwin-arm64': 1.2.4 + optional: true - is-set@2.0.3: {} + '@img/sharp-darwin-x64@0.34.5': + optionalDependencies: + '@img/sharp-libvips-darwin-x64': 1.2.4 + optional: true - is-shared-array-buffer@1.0.4: - dependencies: - call-bound: 1.0.4 + '@img/sharp-libvips-darwin-arm64@1.2.4': + optional: true - is-stream@1.1.0: {} + '@img/sharp-libvips-darwin-x64@1.2.4': + optional: true - is-stream@2.0.1: {} + '@img/sharp-libvips-linux-arm64@1.2.4': + optional: true - is-string@1.1.1: - dependencies: - call-bound: 1.0.4 - has-tostringtag: 1.0.2 + '@img/sharp-libvips-linux-arm@1.2.4': + optional: true - is-subset@0.1.1: {} + '@img/sharp-libvips-linux-ppc64@1.2.4': + optional: true - is-svg@4.4.0: - dependencies: - fast-xml-parser: 4.5.3 + '@img/sharp-libvips-linux-riscv64@1.2.4': + optional: true - is-symbol@1.1.1: - dependencies: - call-bound: 1.0.4 - has-symbols: 1.1.0 - safe-regex-test: 1.1.0 + '@img/sharp-libvips-linux-s390x@1.2.4': + optional: true - is-typed-array@1.1.15: - dependencies: - which-typed-array: 1.1.19 + '@img/sharp-libvips-linux-x64@1.2.4': + optional: true - is-typedarray@1.0.0: {} + '@img/sharp-libvips-linuxmusl-arm64@1.2.4': + optional: true - is-url@1.2.4: {} + '@img/sharp-libvips-linuxmusl-x64@1.2.4': + optional: true - is-utf8@0.2.1: {} + '@img/sharp-linux-arm64@0.34.5': + optionalDependencies: + '@img/sharp-libvips-linux-arm64': 1.2.4 + optional: true - is-weakmap@2.0.2: {} + '@img/sharp-linux-arm@0.34.5': + optionalDependencies: + '@img/sharp-libvips-linux-arm': 1.2.4 + optional: true - is-weakref@1.1.1: - dependencies: - call-bound: 1.0.4 + '@img/sharp-linux-ppc64@0.34.5': + optionalDependencies: + '@img/sharp-libvips-linux-ppc64': 1.2.4 + optional: true - is-weakset@2.0.4: - dependencies: - call-bound: 1.0.4 - get-intrinsic: 1.3.0 + '@img/sharp-linux-riscv64@0.34.5': + optionalDependencies: + '@img/sharp-libvips-linux-riscv64': 1.2.4 + optional: true - is-windows@1.0.2: {} + '@img/sharp-linux-s390x@0.34.5': + optionalDependencies: + '@img/sharp-libvips-linux-s390x': 1.2.4 + optional: true - is-wsl@2.2.0: - dependencies: - is-docker: 2.2.1 + '@img/sharp-linux-x64@0.34.5': + optionalDependencies: + '@img/sharp-libvips-linux-x64': 1.2.4 + optional: true - is-wsl@3.1.0: - dependencies: - is-inside-container: 1.0.0 + '@img/sharp-linuxmusl-arm64@0.34.5': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-arm64': 1.2.4 + optional: true - is-yarn-global@0.4.1: {} + '@img/sharp-linuxmusl-x64@0.34.5': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-x64': 1.2.4 + optional: true - is2@2.0.9: + '@img/sharp-wasm32@0.34.5': dependencies: - deep-is: 0.1.4 - ip-regex: 4.3.0 - is-url: 1.2.4 + '@emnapi/runtime': 1.7.1 + optional: true - isarray@0.0.1: {} + '@img/sharp-win32-arm64@0.34.5': + optional: true - isarray@1.0.0: {} + '@img/sharp-win32-ia32@0.34.5': + optional: true - isarray@2.0.5: {} + '@img/sharp-win32-x64@0.34.5': + optional: true - isexe@2.0.0: {} + '@isaacs/balanced-match@4.0.1': {} - isobject@2.1.0: + '@isaacs/brace-expansion@5.0.0': dependencies: - isarray: 1.0.0 - - isobject@3.0.1: {} + '@isaacs/balanced-match': 4.0.1 - isstream@0.1.2: {} + '@isaacs/cliui@8.0.2': + dependencies: + string-width: 5.1.2 + string-width-cjs: string-width@4.2.3 + strip-ansi: 7.1.2 + strip-ansi-cjs: strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: wrap-ansi@7.0.0 - isurl@1.0.0: + '@jridgewell/gen-mapping@0.3.13': dependencies: - has-to-string-tag-x: 1.4.1 - is-object: 1.0.2 + '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/trace-mapping': 0.3.31 - jackspeak@4.1.1: + '@jridgewell/remapping@2.3.5': dependencies: - '@isaacs/cliui': 8.0.2 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 - jake@10.9.4: + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/source-map@0.3.11': dependencies: - async: 3.2.6 - filelist: 1.0.4 - picocolors: 1.1.1 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 - jest-util@29.7.0: + '@jridgewell/sourcemap-codec@1.5.5': {} + + '@jridgewell/trace-mapping@0.3.31': dependencies: - '@jest/types': 29.6.3 - '@types/node': 25.0.2 - chalk: 4.1.2 - ci-info: 3.9.0 - graceful-fs: 4.2.11 - picomatch: 2.3.1 + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.5 - jest-worker@27.5.1: + '@lit-labs/ssr-dom-shim@1.4.0': {} + + '@lit/reactive-element@2.1.1': dependencies: - '@types/node': 25.0.2 - merge-stream: 2.0.0 - supports-color: 8.1.1 + '@lit-labs/ssr-dom-shim': 1.4.0 - jest-worker@29.7.0: + '@mdx-js/mdx@3.1.1': dependencies: - '@types/node': 25.0.2 - jest-util: 29.7.0 - merge-stream: 2.0.0 - supports-color: 8.1.1 + '@types/estree': 1.0.8 + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + '@types/mdx': 2.0.13 + acorn: 8.15.0 + collapse-white-space: 2.1.0 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + estree-util-scope: 1.0.0 + estree-walker: 3.0.3 + hast-util-to-jsx-runtime: 2.3.6 + markdown-extensions: 2.0.0 + recma-build-jsx: 1.0.0 + recma-jsx: 1.0.1(acorn@8.15.0) + recma-stringify: 1.0.0 + rehype-recma: 1.0.0 + remark-mdx: 3.1.1 + remark-parse: 11.0.0 + remark-rehype: 11.1.2 + source-map: 0.7.6 + unified: 11.0.5 + unist-util-position-from-estree: 2.0.0 + unist-util-stringify-position: 4.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.3 + transitivePeerDependencies: + - supports-color - jiti@1.21.7: {} + '@oslojs/encoding@1.1.0': {} - jiti@2.6.1: {} + '@pagefind/darwin-arm64@1.4.0': + optional: true - joi@17.13.3: - dependencies: - '@hapi/hoek': 9.3.0 - '@hapi/topo': 5.1.0 - '@sideway/address': 4.1.5 - '@sideway/formula': 3.0.1 - '@sideway/pinpoint': 2.0.0 + '@pagefind/darwin-x64@1.4.0': + optional: true - jpegtran-bin@4.0.0: - dependencies: - bin-build: 3.0.0 - bin-wrapper: 4.1.0 - logalot: 2.1.0 + '@pagefind/default-ui@1.4.0': {} - js-tokens@4.0.0: {} + '@pagefind/freebsd-x64@1.4.0': + optional: true - js-yaml@3.14.2: - dependencies: - argparse: 1.0.10 - esprima: 4.0.1 + '@pagefind/linux-arm64@1.4.0': + optional: true - js-yaml@4.1.1: - dependencies: - argparse: 2.0.1 + '@pagefind/linux-x64@1.4.0': + optional: true - jsbn@0.1.1: {} + '@pagefind/windows-x64@1.4.0': + optional: true - jsesc@3.1.0: {} + '@parcel/watcher-android-arm64@2.5.1': + optional: true - json-buffer@3.0.0: {} + '@parcel/watcher-darwin-arm64@2.5.1': + optional: true - json-buffer@3.0.1: {} + '@parcel/watcher-darwin-x64@2.5.1': + optional: true - json-parse-better-errors@1.0.2: {} + '@parcel/watcher-freebsd-x64@2.5.1': + optional: true - json-parse-even-better-errors@2.3.1: {} + '@parcel/watcher-linux-arm-glibc@2.5.1': + optional: true - json-schema-traverse@0.4.1: {} + '@parcel/watcher-linux-arm-musl@2.5.1': + optional: true - json-schema-traverse@1.0.0: {} + '@parcel/watcher-linux-arm64-glibc@2.5.1': + optional: true - json-schema@0.4.0: {} + '@parcel/watcher-linux-arm64-musl@2.5.1': + optional: true - json-stringify-safe@5.0.1: {} + '@parcel/watcher-linux-x64-glibc@2.5.1': + optional: true - json2mq@0.2.0: - dependencies: - string-convert: 0.2.1 + '@parcel/watcher-linux-x64-musl@2.5.1': + optional: true - json5@2.2.3: {} + '@parcel/watcher-win32-arm64@2.5.1': + optional: true - jsonc-parser@3.3.1: {} + '@parcel/watcher-win32-ia32@2.5.1': + optional: true - jsonfile@6.2.0: + '@parcel/watcher-win32-x64@2.5.1': + optional: true + + '@parcel/watcher@2.5.1': dependencies: - universalify: 2.0.1 + detect-libc: 1.0.3 + is-glob: 4.0.3 + micromatch: 4.0.8 + node-addon-api: 7.1.1 optionalDependencies: - graceful-fs: 4.2.11 - - jsonpointer@5.0.1: {} + '@parcel/watcher-android-arm64': 2.5.1 + '@parcel/watcher-darwin-arm64': 2.5.1 + '@parcel/watcher-darwin-x64': 2.5.1 + '@parcel/watcher-freebsd-x64': 2.5.1 + '@parcel/watcher-linux-arm-glibc': 2.5.1 + '@parcel/watcher-linux-arm-musl': 2.5.1 + '@parcel/watcher-linux-arm64-glibc': 2.5.1 + '@parcel/watcher-linux-arm64-musl': 2.5.1 + '@parcel/watcher-linux-x64-glibc': 2.5.1 + '@parcel/watcher-linux-x64-musl': 2.5.1 + '@parcel/watcher-win32-arm64': 2.5.1 + '@parcel/watcher-win32-ia32': 2.5.1 + '@parcel/watcher-win32-x64': 2.5.1 + optional: true - jsprim@1.4.2: + '@rollup/plugin-babel@5.3.1(@babel/core@7.28.5)(rollup@2.79.2)': dependencies: - assert-plus: 1.0.0 - extsprintf: 1.3.0 - json-schema: 0.4.0 - verror: 1.10.0 + '@babel/core': 7.28.5 + '@babel/helper-module-imports': 7.27.1 + '@rollup/pluginutils': 3.1.0(rollup@2.79.2) + rollup: 2.79.2 + transitivePeerDependencies: + - supports-color - katex@0.16.27: + '@rollup/plugin-node-resolve@15.3.1(rollup@2.79.2)': dependencies: - commander: 8.3.0 + '@rollup/pluginutils': 5.3.0(rollup@2.79.2) + '@types/resolve': 1.20.2 + deepmerge: 4.3.1 + is-module: 1.0.0 + resolve: 1.22.11 + optionalDependencies: + rollup: 2.79.2 - keyv@3.0.0: + '@rollup/plugin-replace@2.4.2(rollup@2.79.2)': dependencies: - json-buffer: 3.0.0 + '@rollup/pluginutils': 3.1.0(rollup@2.79.2) + magic-string: 0.25.9 + rollup: 2.79.2 - keyv@4.5.4: + '@rollup/plugin-terser@0.4.4(rollup@2.79.2)': dependencies: - json-buffer: 3.0.1 - - khroma@2.1.0: {} + serialize-javascript: 6.0.2 + smob: 1.5.0 + terser: 5.44.1 + optionalDependencies: + rollup: 2.79.2 - kind-of@3.2.2: + '@rollup/pluginutils@3.1.0(rollup@2.79.2)': dependencies: - is-buffer: 1.1.6 + '@types/estree': 0.0.39 + estree-walker: 1.0.1 + picomatch: 2.3.1 + rollup: 2.79.2 - kind-of@4.0.0: + '@rollup/pluginutils@5.3.0(rollup@2.79.2)': dependencies: - is-buffer: 1.1.6 - - kind-of@6.0.3: {} + '@types/estree': 1.0.8 + estree-walker: 2.0.2 + picomatch: 4.0.3 + optionalDependencies: + rollup: 2.79.2 - kleur@3.0.3: {} + '@rollup/rollup-android-arm-eabi@4.53.5': + optional: true - langium@3.3.1: - dependencies: - chevrotain: 11.0.3 - chevrotain-allstar: 0.3.1(chevrotain@11.0.3) - vscode-languageserver: 9.0.1 - vscode-languageserver-textdocument: 1.0.12 - vscode-uri: 3.0.8 + '@rollup/rollup-android-arm64@4.53.5': + optional: true - latest-version@7.0.0: - dependencies: - package-json: 8.1.1 + '@rollup/rollup-darwin-arm64@4.53.5': + optional: true - launch-editor@2.12.0: - dependencies: - picocolors: 1.1.1 - shell-quote: 1.8.3 + '@rollup/rollup-darwin-x64@4.53.5': + optional: true - layout-base@1.0.2: {} + '@rollup/rollup-freebsd-arm64@4.53.5': + optional: true - layout-base@2.0.1: {} + '@rollup/rollup-freebsd-x64@4.53.5': + optional: true - lazy-cache@2.0.2: - dependencies: - set-getter: 0.1.1 + '@rollup/rollup-linux-arm-gnueabihf@4.53.5': + optional: true - leven@3.1.0: {} + '@rollup/rollup-linux-arm-musleabihf@4.53.5': + optional: true - lightningcss-android-arm64@1.30.2: + '@rollup/rollup-linux-arm64-gnu@4.53.5': optional: true - lightningcss-darwin-arm64@1.30.2: + '@rollup/rollup-linux-arm64-musl@4.53.5': optional: true - lightningcss-darwin-x64@1.30.2: + '@rollup/rollup-linux-loong64-gnu@4.53.5': optional: true - lightningcss-freebsd-x64@1.30.2: + '@rollup/rollup-linux-ppc64-gnu@4.53.5': optional: true - lightningcss-linux-arm-gnueabihf@1.30.2: + '@rollup/rollup-linux-riscv64-gnu@4.53.5': optional: true - lightningcss-linux-arm64-gnu@1.30.2: + '@rollup/rollup-linux-riscv64-musl@4.53.5': optional: true - lightningcss-linux-arm64-musl@1.30.2: + '@rollup/rollup-linux-s390x-gnu@4.53.5': optional: true - lightningcss-linux-x64-gnu@1.30.2: + '@rollup/rollup-linux-x64-gnu@4.53.5': optional: true - lightningcss-linux-x64-musl@1.30.2: + '@rollup/rollup-linux-x64-musl@4.53.5': optional: true - lightningcss-win32-arm64-msvc@1.30.2: + '@rollup/rollup-openharmony-arm64@4.53.5': optional: true - lightningcss-win32-x64-msvc@1.30.2: + '@rollup/rollup-win32-arm64-msvc@4.53.5': optional: true - lightningcss@1.30.2: - dependencies: - detect-libc: 2.1.2 - optionalDependencies: - lightningcss-android-arm64: 1.30.2 - lightningcss-darwin-arm64: 1.30.2 - lightningcss-darwin-x64: 1.30.2 - lightningcss-freebsd-x64: 1.30.2 - lightningcss-linux-arm-gnueabihf: 1.30.2 - lightningcss-linux-arm64-gnu: 1.30.2 - lightningcss-linux-arm64-musl: 1.30.2 - lightningcss-linux-x64-gnu: 1.30.2 - lightningcss-linux-x64-musl: 1.30.2 - lightningcss-win32-arm64-msvc: 1.30.2 - lightningcss-win32-x64-msvc: 1.30.2 + '@rollup/rollup-win32-ia32-msvc@4.53.5': + optional: true - lilconfig@3.1.3: {} + '@rollup/rollup-win32-x64-gnu@4.53.5': + optional: true - lines-and-columns@1.2.4: {} + '@rollup/rollup-win32-x64-msvc@4.53.5': + optional: true - linkify-it@5.0.0: + '@shikijs/core@3.20.0': dependencies: - uc.micro: 2.1.0 + '@shikijs/types': 3.20.0 + '@shikijs/vscode-textmate': 10.0.2 + '@types/hast': 3.0.4 + hast-util-to-html: 9.0.5 - list-item@1.1.1: + '@shikijs/engine-javascript@3.20.0': dependencies: - expand-range: 1.8.2 - extend-shallow: 2.0.1 - is-number: 2.1.0 - repeat-string: 1.6.1 + '@shikijs/types': 3.20.0 + '@shikijs/vscode-textmate': 10.0.2 + oniguruma-to-es: 4.3.4 - listenercount@1.0.1: {} - - lit-element@4.2.1: + '@shikijs/engine-oniguruma@3.20.0': dependencies: - '@lit-labs/ssr-dom-shim': 1.4.0 - '@lit/reactive-element': 2.1.1 - lit-html: 3.3.1 + '@shikijs/types': 3.20.0 + '@shikijs/vscode-textmate': 10.0.2 - lit-html@3.3.1: + '@shikijs/langs@3.20.0': dependencies: - '@types/trusted-types': 2.0.7 + '@shikijs/types': 3.20.0 - lit@3.3.1: + '@shikijs/themes@3.20.0': dependencies: - '@lit/reactive-element': 2.1.1 - lit-element: 4.2.1 - lit-html: 3.3.1 - - livereload-js@2.4.0: {} + '@shikijs/types': 3.20.0 - load-json-file@1.1.0: + '@shikijs/types@3.20.0': dependencies: - graceful-fs: 4.2.11 - parse-json: 2.2.0 - pify: 2.3.0 - pinkie-promise: 2.0.1 - strip-bom: 2.0.0 - - loader-runner@4.3.1: {} + '@shikijs/vscode-textmate': 10.0.2 + '@types/hast': 3.0.4 - loader-utils@2.0.0: - dependencies: - big.js: 5.2.2 - emojis-list: 3.0.0 - json5: 2.2.3 + '@shikijs/vscode-textmate@10.0.2': {} - loader-utils@2.0.4: + '@surma/rollup-plugin-off-main-thread@2.2.3': dependencies: - big.js: 5.2.2 - emojis-list: 3.0.0 + ejs: 3.1.10 json5: 2.2.3 + magic-string: 0.25.9 + string.prototype.matchall: 4.0.12 - locate-path@3.0.0: + '@swc/helpers@0.5.17': dependencies: - p-locate: 3.0.0 - path-exists: 3.0.0 + tslib: 2.8.1 - locate-path@5.0.0: + '@tailwindcss/node@4.1.18': dependencies: - p-locate: 4.1.0 + '@jridgewell/remapping': 2.3.5 + enhanced-resolve: 5.18.4 + jiti: 2.6.1 + lightningcss: 1.30.2 + magic-string: 0.30.21 + source-map-js: 1.2.1 + tailwindcss: 4.1.18 - locate-path@7.2.0: - dependencies: - p-locate: 6.0.0 + '@tailwindcss/oxide-android-arm64@4.1.18': + optional: true + + '@tailwindcss/oxide-darwin-arm64@4.1.18': + optional: true + + '@tailwindcss/oxide-darwin-x64@4.1.18': + optional: true - lodash-es@4.17.21: {} + '@tailwindcss/oxide-freebsd-x64@4.1.18': + optional: true - lodash._reinterpolate@3.0.0: {} + '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.18': + optional: true - lodash.chunk@4.2.0: {} + '@tailwindcss/oxide-linux-arm64-gnu@4.1.18': + optional: true - lodash.debounce@4.0.8: {} + '@tailwindcss/oxide-linux-arm64-musl@4.1.18': + optional: true - lodash.escape@4.0.1: {} + '@tailwindcss/oxide-linux-x64-gnu@4.1.18': + optional: true - lodash.flattendeep@4.4.0: {} + '@tailwindcss/oxide-linux-x64-musl@4.1.18': + optional: true - lodash.isequal@4.5.0: {} + '@tailwindcss/oxide-wasm32-wasi@4.1.18': + optional: true - lodash.memoize@4.1.2: {} + '@tailwindcss/oxide-win32-arm64-msvc@4.1.18': + optional: true - lodash.padstart@4.6.1: {} + '@tailwindcss/oxide-win32-x64-msvc@4.1.18': + optional: true - lodash.sortby@4.7.0: {} + '@tailwindcss/oxide@4.1.18': + optionalDependencies: + '@tailwindcss/oxide-android-arm64': 4.1.18 + '@tailwindcss/oxide-darwin-arm64': 4.1.18 + '@tailwindcss/oxide-darwin-x64': 4.1.18 + '@tailwindcss/oxide-freebsd-x64': 4.1.18 + '@tailwindcss/oxide-linux-arm-gnueabihf': 4.1.18 + '@tailwindcss/oxide-linux-arm64-gnu': 4.1.18 + '@tailwindcss/oxide-linux-arm64-musl': 4.1.18 + '@tailwindcss/oxide-linux-x64-gnu': 4.1.18 + '@tailwindcss/oxide-linux-x64-musl': 4.1.18 + '@tailwindcss/oxide-wasm32-wasi': 4.1.18 + '@tailwindcss/oxide-win32-arm64-msvc': 4.1.18 + '@tailwindcss/oxide-win32-x64-msvc': 4.1.18 - lodash.template@4.5.0: + '@tailwindcss/vite@4.1.18(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1))': dependencies: - lodash._reinterpolate: 3.0.0 - lodash.templatesettings: 4.2.0 + '@tailwindcss/node': 4.1.18 + '@tailwindcss/oxide': 4.1.18 + tailwindcss: 4.1.18 + vite: 6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1) - lodash.templatesettings@4.2.0: + '@types/debug@4.1.12': dependencies: - lodash._reinterpolate: 3.0.0 - - lodash.uniq@4.5.0: {} - - lodash@4.17.21: {} + '@types/ms': 2.1.0 - logalot@2.1.0: + '@types/estree-jsx@1.0.5': dependencies: - figures: 1.7.0 - squeak: 1.3.0 + '@types/estree': 1.0.8 - longest-streak@3.1.0: {} + '@types/estree@0.0.39': {} - longest@1.0.1: {} + '@types/estree@1.0.8': {} - loose-envify@1.4.0: + '@types/fontkit@2.0.8': dependencies: - js-tokens: 4.0.0 + '@types/node': 25.0.2 - loud-rejection@1.6.0: + '@types/hast@3.0.4': dependencies: - currently-unhandled: 0.4.1 - signal-exit: 3.0.7 + '@types/unist': 3.0.3 - lower-case@2.0.2: - dependencies: - tslib: 2.8.1 + '@types/js-yaml@4.0.9': {} - lowercase-keys@1.0.0: {} + '@types/mdast@4.0.4': + dependencies: + '@types/unist': 3.0.3 - lowercase-keys@1.0.1: {} + '@types/mdx@2.0.13': {} - lowercase-keys@3.0.0: {} + '@types/ms@2.1.0': {} - lpad-align@1.1.2: + '@types/nlcst@2.0.3': dependencies: - get-stdin: 4.0.1 - indent-string: 2.1.0 - longest: 1.0.1 - meow: 3.7.0 + '@types/unist': 3.0.3 - lru-cache@11.2.4: {} + '@types/node@17.0.45': {} - lru-cache@4.1.5: + '@types/node@25.0.2': dependencies: - pseudomap: 1.0.2 - yallist: 2.1.2 + undici-types: 7.16.0 - lru-cache@5.1.1: - dependencies: - yallist: 3.1.1 + '@types/resolve@1.20.2': {} - magic-string@0.25.9: + '@types/sax@1.2.7': dependencies: - sourcemap-codec: 1.4.8 + '@types/node': 25.0.2 - magic-string@0.30.21: - dependencies: - '@jridgewell/sourcemap-codec': 1.5.5 + '@types/trusted-types@2.0.7': {} - make-dir@1.3.0: - dependencies: - pify: 3.0.0 + '@types/unist@2.0.11': {} - make-dir@2.1.0: - dependencies: - pify: 4.0.1 - semver: 5.7.2 + '@types/unist@3.0.3': {} - map-cache@0.2.2: {} + '@ungap/structured-clone@1.3.0': {} - map-obj@1.0.1: {} + '@vite-pwa/astro@1.2.0(astro@5.16.5(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3))(vite-plugin-pwa@1.2.0(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1))(workbox-build@7.4.0)(workbox-window@7.4.0))': + dependencies: + astro: 5.16.5(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3) + vite-plugin-pwa: 1.2.0(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1))(workbox-build@7.4.0)(workbox-window@7.4.0) - map-visit@1.0.0: + acorn-jsx@5.3.2(acorn@8.15.0): dependencies: - object-visit: 1.0.1 + acorn: 8.15.0 - markdown-extensions@2.0.0: {} + acorn@8.15.0: {} - markdown-it@14.1.0: + ajv@8.17.1: dependencies: - argparse: 2.0.1 - entities: 4.5.0 - linkify-it: 5.0.0 - mdurl: 2.0.0 - punycode.js: 2.3.1 - uc.micro: 2.1.0 - - markdown-link@0.1.1: {} + fast-deep-equal: 3.1.3 + fast-uri: 3.1.0 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 - markdown-table@2.0.0: + ansi-align@3.0.1: dependencies: - repeat-string: 1.6.1 + string-width: 4.2.3 - markdown-table@3.0.4: {} + ansi-regex@5.0.1: {} - markdown-toc@1.2.0: - dependencies: - concat-stream: 1.6.2 - diacritics-map: 0.1.0 - gray-matter: 2.1.1 - lazy-cache: 2.0.2 - list-item: 1.1.1 - markdown-link: 0.1.1 - minimist: 1.2.8 - mixin-deep: 1.3.2 - object.pick: 1.3.0 - remarkable: 1.7.4 - repeat-string: 1.6.1 - strip-color: 0.1.0 + ansi-regex@6.2.2: {} - markdownlint-cli2-formatter-default@0.0.6(markdownlint-cli2@0.20.0): + ansi-styles@4.3.0: dependencies: - markdownlint-cli2: 0.20.0 + color-convert: 2.0.1 - markdownlint-cli2@0.20.0: - dependencies: - globby: 15.0.0 - js-yaml: 4.1.1 - jsonc-parser: 3.3.1 - markdown-it: 14.1.0 - markdownlint: 0.40.0 - markdownlint-cli2-formatter-default: 0.0.6(markdownlint-cli2@0.20.0) - micromatch: 4.0.8 - transitivePeerDependencies: - - supports-color + ansi-styles@6.2.3: {} - markdownlint@0.40.0: + anymatch@3.1.3: dependencies: - micromark: 4.0.2 - micromark-core-commonmark: 2.0.3 - micromark-extension-directive: 4.0.0 - micromark-extension-gfm-autolink-literal: 2.1.0 - micromark-extension-gfm-footnote: 2.1.0 - micromark-extension-gfm-table: 2.1.1 - micromark-extension-math: 3.1.0 - micromark-util-types: 2.0.2 - string-width: 8.1.0 - transitivePeerDependencies: - - supports-color + normalize-path: 3.0.0 + picomatch: 2.3.1 - marked@16.4.2: {} + arg@5.0.2: {} - math-intrinsics@1.1.0: {} + argparse@2.0.1: {} - math-random@1.0.4: {} + aria-query@5.3.2: {} - mdast-util-directive@3.1.0: + array-buffer-byte-length@1.0.2: dependencies: - '@types/mdast': 4.0.4 - '@types/unist': 3.0.3 - ccount: 2.0.1 - devlop: 1.1.0 - mdast-util-from-markdown: 2.0.2 - mdast-util-to-markdown: 2.1.2 - parse-entities: 4.0.2 - stringify-entities: 4.0.4 - unist-util-visit-parents: 6.0.2 - transitivePeerDependencies: - - supports-color + call-bound: 1.0.4 + is-array-buffer: 3.0.5 - mdast-util-find-and-replace@3.0.2: - dependencies: - '@types/mdast': 4.0.4 - escape-string-regexp: 5.0.0 - unist-util-is: 6.0.1 - unist-util-visit-parents: 6.0.2 + array-iterate@2.0.1: {} - mdast-util-from-markdown@2.0.2: + arraybuffer.prototype.slice@1.0.4: dependencies: - '@types/mdast': 4.0.4 - '@types/unist': 3.0.3 - decode-named-character-reference: 1.2.0 - devlop: 1.1.0 - mdast-util-to-string: 4.0.0 - micromark: 4.0.2 - micromark-util-decode-numeric-character-reference: 2.0.2 - micromark-util-decode-string: 2.0.1 - micromark-util-normalize-identifier: 2.0.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 - unist-util-stringify-position: 4.0.0 - transitivePeerDependencies: - - supports-color + array-buffer-byte-length: 1.0.2 + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.24.1 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + is-array-buffer: 3.0.5 - mdast-util-frontmatter@2.0.1: - dependencies: - '@types/mdast': 4.0.4 - devlop: 1.1.0 - escape-string-regexp: 5.0.0 - mdast-util-from-markdown: 2.0.2 - mdast-util-to-markdown: 2.1.2 - micromark-extension-frontmatter: 2.0.0 - transitivePeerDependencies: - - supports-color + astring@1.9.0: {} - mdast-util-gfm-autolink-literal@2.0.1: + astro-expressive-code@0.41.4(astro@5.16.5(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)): dependencies: - '@types/mdast': 4.0.4 - ccount: 2.0.1 - devlop: 1.1.0 - mdast-util-find-and-replace: 3.0.2 - micromark-util-character: 2.1.1 + astro: 5.16.5(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3) + rehype-expressive-code: 0.41.4 - mdast-util-gfm-footnote@2.1.0: + astro@5.16.5(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3): dependencies: - '@types/mdast': 4.0.4 - devlop: 1.1.0 - mdast-util-from-markdown: 2.0.2 - mdast-util-to-markdown: 2.1.2 - micromark-util-normalize-identifier: 2.0.1 - transitivePeerDependencies: + '@astrojs/compiler': 2.13.0 + '@astrojs/internal-helpers': 0.7.5 + '@astrojs/markdown-remark': 6.3.10 + '@astrojs/telemetry': 3.3.0 + '@capsizecss/unpack': 3.0.1 + '@oslojs/encoding': 1.1.0 + '@rollup/pluginutils': 5.3.0(rollup@2.79.2) + acorn: 8.15.0 + aria-query: 5.3.2 + axobject-query: 4.1.0 + boxen: 8.0.1 + ci-info: 4.3.1 + clsx: 2.1.1 + common-ancestor-path: 1.0.1 + cookie: 1.1.1 + cssesc: 3.0.0 + debug: 4.4.3 + deterministic-object-hash: 2.0.2 + devalue: 5.6.1 + diff: 5.2.0 + dlv: 1.1.3 + dset: 3.1.4 + es-module-lexer: 1.7.0 + esbuild: 0.25.12 + estree-walker: 3.0.3 + flattie: 1.1.1 + fontace: 0.3.1 + github-slugger: 2.0.0 + html-escaper: 3.0.3 + http-cache-semantics: 4.2.0 + import-meta-resolve: 4.2.0 + js-yaml: 4.1.1 + magic-string: 0.30.21 + magicast: 0.5.1 + mrmime: 2.0.1 + neotraverse: 0.6.18 + p-limit: 6.2.0 + p-queue: 8.1.1 + package-manager-detector: 1.6.0 + piccolore: 0.1.3 + picomatch: 4.0.3 + prompts: 2.4.2 + rehype: 13.0.2 + semver: 7.7.3 + shiki: 3.20.0 + smol-toml: 1.5.2 + svgo: 4.0.0 + tinyexec: 1.0.2 + tinyglobby: 0.2.15 + tsconfck: 3.1.6(typescript@5.9.3) + ultrahtml: 1.6.0 + unifont: 0.6.0 + unist-util-visit: 5.0.0 + unstorage: 1.17.3 + vfile: 6.0.3 + vite: 6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1) + vitefu: 1.1.1(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)) + xxhash-wasm: 1.1.0 + yargs-parser: 21.1.1 + yocto-spinner: 0.2.3 + zod: 3.25.76 + zod-to-json-schema: 3.25.0(zod@3.25.76) + zod-to-ts: 1.2.0(typescript@5.9.3)(zod@3.25.76) + optionalDependencies: + sharp: 0.34.5 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@deno/kv' + - '@netlify/blobs' + - '@planetscale/database' + - '@types/node' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/functions' + - '@vercel/kv' + - aws4fetch + - db0 + - idb-keyval + - ioredis + - jiti + - less + - lightningcss + - rollup + - sass + - sass-embedded + - stylus + - sugarss - supports-color + - terser + - tsx + - typescript + - uploadthing + - yaml - mdast-util-gfm-strikethrough@2.0.0: + async-function@1.0.0: {} + + async@3.2.6: {} + + at-least-node@1.0.0: {} + + available-typed-arrays@1.0.7: dependencies: - '@types/mdast': 4.0.4 - mdast-util-from-markdown: 2.0.2 - mdast-util-to-markdown: 2.1.2 - transitivePeerDependencies: - - supports-color + possible-typed-array-names: 1.1.0 - mdast-util-gfm-table@2.0.0: + axobject-query@4.1.0: {} + + babel-plugin-polyfill-corejs2@0.4.14(@babel/core@7.28.5): dependencies: - '@types/mdast': 4.0.4 - devlop: 1.1.0 - markdown-table: 3.0.4 - mdast-util-from-markdown: 2.0.2 - mdast-util-to-markdown: 2.1.2 + '@babel/compat-data': 7.28.5 + '@babel/core': 7.28.5 + '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.5) + semver: 6.3.1 transitivePeerDependencies: - supports-color - mdast-util-gfm-task-list-item@2.0.0: + babel-plugin-polyfill-corejs3@0.13.0(@babel/core@7.28.5): dependencies: - '@types/mdast': 4.0.4 - devlop: 1.1.0 - mdast-util-from-markdown: 2.0.2 - mdast-util-to-markdown: 2.1.2 + '@babel/core': 7.28.5 + '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.5) + core-js-compat: 3.47.0 transitivePeerDependencies: - supports-color - mdast-util-gfm@3.1.0: + babel-plugin-polyfill-regenerator@0.6.5(@babel/core@7.28.5): dependencies: - mdast-util-from-markdown: 2.0.2 - mdast-util-gfm-autolink-literal: 2.0.1 - mdast-util-gfm-footnote: 2.1.0 - mdast-util-gfm-strikethrough: 2.0.0 - mdast-util-gfm-table: 2.0.0 - mdast-util-gfm-task-list-item: 2.0.0 - mdast-util-to-markdown: 2.1.2 + '@babel/core': 7.28.5 + '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.5) transitivePeerDependencies: - supports-color - mdast-util-mdx-expression@2.0.1: + bail@2.0.2: {} + + balanced-match@1.0.2: {} + + base-64@1.0.0: {} + + base64-js@1.5.1: {} + + baseline-browser-mapping@2.9.7: {} + + bcp-47-match@2.0.3: {} + + bcp-47@2.1.0: dependencies: - '@types/estree-jsx': 1.0.5 - '@types/hast': 3.0.4 - '@types/mdast': 4.0.4 - devlop: 1.1.0 - mdast-util-from-markdown: 2.0.2 - mdast-util-to-markdown: 2.1.2 - transitivePeerDependencies: - - supports-color + is-alphabetical: 2.0.1 + is-alphanumerical: 2.0.1 + is-decimal: 2.0.1 - mdast-util-mdx-jsx@3.2.0: + boolbase@1.0.0: {} + + boxen@8.0.1: dependencies: - '@types/estree-jsx': 1.0.5 - '@types/hast': 3.0.4 - '@types/mdast': 4.0.4 - '@types/unist': 3.0.3 - ccount: 2.0.1 - devlop: 1.1.0 - mdast-util-from-markdown: 2.0.2 - mdast-util-to-markdown: 2.1.2 - parse-entities: 4.0.2 - stringify-entities: 4.0.4 - unist-util-stringify-position: 4.0.0 - vfile-message: 4.0.3 - transitivePeerDependencies: - - supports-color + ansi-align: 3.0.1 + camelcase: 8.0.0 + chalk: 5.6.2 + cli-boxes: 3.0.0 + string-width: 7.2.0 + type-fest: 4.41.0 + widest-line: 5.0.0 + wrap-ansi: 9.0.2 - mdast-util-mdx@3.0.0: + brace-expansion@2.0.2: dependencies: - mdast-util-from-markdown: 2.0.2 - mdast-util-mdx-expression: 2.0.1 - mdast-util-mdx-jsx: 3.2.0 - mdast-util-mdxjs-esm: 2.0.1 - mdast-util-to-markdown: 2.1.2 - transitivePeerDependencies: - - supports-color + balanced-match: 1.0.2 - mdast-util-mdxjs-esm@2.0.1: + braces@3.0.3: dependencies: - '@types/estree-jsx': 1.0.5 - '@types/hast': 3.0.4 - '@types/mdast': 4.0.4 - devlop: 1.1.0 - mdast-util-from-markdown: 2.0.2 - mdast-util-to-markdown: 2.1.2 - transitivePeerDependencies: - - supports-color + fill-range: 7.1.1 + optional: true - mdast-util-phrasing@4.1.0: + brotli@1.3.3: dependencies: - '@types/mdast': 4.0.4 - unist-util-is: 6.0.1 + base64-js: 1.5.1 - mdast-util-to-hast@13.2.1: + browserslist@4.28.1: dependencies: - '@types/hast': 3.0.4 - '@types/mdast': 4.0.4 - '@ungap/structured-clone': 1.3.0 - devlop: 1.1.0 - micromark-util-sanitize-uri: 2.0.1 - trim-lines: 3.0.1 - unist-util-position: 5.0.0 - unist-util-visit: 5.0.0 - vfile: 6.0.3 + baseline-browser-mapping: 2.9.7 + caniuse-lite: 1.0.30001760 + electron-to-chromium: 1.5.267 + node-releases: 2.0.27 + update-browserslist-db: 1.2.2(browserslist@4.28.1) - mdast-util-to-markdown@2.1.2: + buffer-builder@0.2.0: + optional: true + + buffer-from@1.1.2: {} + + call-bind-apply-helpers@1.0.2: dependencies: - '@types/mdast': 4.0.4 - '@types/unist': 3.0.3 - longest-streak: 3.1.0 - mdast-util-phrasing: 4.1.0 - mdast-util-to-string: 4.0.0 - micromark-util-classify-character: 2.0.1 - micromark-util-decode-string: 2.0.1 - unist-util-visit: 5.0.0 - zwitch: 2.0.4 + es-errors: 1.3.0 + function-bind: 1.1.2 - mdast-util-to-string@4.0.0: + call-bind@1.0.8: dependencies: - '@types/mdast': 4.0.4 + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + get-intrinsic: 1.3.0 + set-function-length: 1.2.2 - mdn-data@2.0.14: {} + call-bound@1.0.4: + dependencies: + call-bind-apply-helpers: 1.0.2 + get-intrinsic: 1.3.0 - mdn-data@2.0.28: {} + camelcase@8.0.0: {} - mdn-data@2.0.30: {} + caniuse-lite@1.0.30001760: {} - mdn-data@2.0.4: {} + ccount@2.0.1: {} - mdurl@2.0.0: {} + chalk@5.6.2: {} - media-typer@0.3.0: {} + character-entities-html4@2.1.0: {} - medium-zoom@1.1.0: {} + character-entities-legacy@3.0.0: {} - memfs@4.51.1: - dependencies: - '@jsonjoy.com/json-pack': 1.21.0(tslib@2.8.1) - '@jsonjoy.com/util': 1.9.0(tslib@2.8.1) - glob-to-regex.js: 1.2.0(tslib@2.8.1) - thingies: 2.5.0(tslib@2.8.1) - tree-dump: 1.1.0(tslib@2.8.1) - tslib: 2.8.1 + character-entities@2.0.2: {} - meow@3.7.0: - dependencies: - camelcase-keys: 2.1.0 - decamelize: 1.2.0 - loud-rejection: 1.6.0 - map-obj: 1.0.1 - minimist: 1.2.8 - normalize-package-data: 2.5.0 - object-assign: 4.1.1 - read-pkg-up: 1.0.1 - redent: 1.0.0 - trim-newlines: 1.0.0 - - merge-descriptors@1.0.3: {} - - merge-stream@2.0.0: {} - - merge2@1.4.1: {} - - mermaid@11.12.2: - dependencies: - '@braintree/sanitize-url': 7.1.1 - '@iconify/utils': 3.1.0 - '@mermaid-js/parser': 0.6.3 - '@types/d3': 7.4.3 - cytoscape: 3.33.1 - cytoscape-cose-bilkent: 4.1.0(cytoscape@3.33.1) - cytoscape-fcose: 2.2.0(cytoscape@3.33.1) - d3: 7.9.0 - d3-sankey: 0.12.3 - dagre-d3-es: 7.0.13 - dayjs: 1.11.19 - dompurify: 3.3.1 - katex: 0.16.27 - khroma: 2.1.0 - lodash-es: 4.17.21 - marked: 16.4.2 - roughjs: 4.6.6 - stylis: 4.3.6 - ts-dedent: 2.2.0 - uuid: 11.1.0 - - methods@1.1.2: {} - - microevent.ts@0.1.1: {} + character-reference-invalid@2.0.1: {} - micromark-core-commonmark@2.0.3: + chokidar@4.0.3: dependencies: - decode-named-character-reference: 1.2.0 - devlop: 1.1.0 - micromark-factory-destination: 2.0.1 - micromark-factory-label: 2.0.1 - micromark-factory-space: 2.0.1 - micromark-factory-title: 2.0.1 - micromark-factory-whitespace: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-chunked: 2.0.1 - micromark-util-classify-character: 2.0.1 - micromark-util-html-tag-name: 2.0.1 - micromark-util-normalize-identifier: 2.0.1 - micromark-util-resolve-all: 2.0.1 - micromark-util-subtokenize: 2.1.0 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 + readdirp: 4.1.2 - micromark-extension-directive@3.0.2: - dependencies: - devlop: 1.1.0 - micromark-factory-space: 2.0.1 - micromark-factory-whitespace: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 - parse-entities: 4.0.2 + ci-info@4.3.1: {} - micromark-extension-directive@4.0.0: - dependencies: - devlop: 1.1.0 - micromark-factory-space: 2.0.1 - micromark-factory-whitespace: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 - parse-entities: 4.0.2 + cli-boxes@3.0.0: {} - micromark-extension-frontmatter@2.0.0: - dependencies: - fault: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 + clone@2.1.2: {} - micromark-extension-gfm-autolink-literal@2.1.0: - dependencies: - micromark-util-character: 2.1.1 - micromark-util-sanitize-uri: 2.0.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 + clsx@2.1.1: {} - micromark-extension-gfm-footnote@2.1.0: - dependencies: - devlop: 1.1.0 - micromark-core-commonmark: 2.0.3 - micromark-factory-space: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-normalize-identifier: 2.0.1 - micromark-util-sanitize-uri: 2.0.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 + collapse-white-space@2.1.0: {} - micromark-extension-gfm-strikethrough@2.1.0: + color-convert@2.0.1: dependencies: - devlop: 1.1.0 - micromark-util-chunked: 2.0.1 - micromark-util-classify-character: 2.0.1 - micromark-util-resolve-all: 2.0.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 + color-name: 1.1.4 - micromark-extension-gfm-table@2.1.1: - dependencies: - devlop: 1.1.0 - micromark-factory-space: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 + color-name@1.1.4: {} - micromark-extension-gfm-tagfilter@2.0.0: - dependencies: - micromark-util-types: 2.0.2 + colorjs.io@0.5.2: + optional: true - micromark-extension-gfm-task-list-item@2.1.0: - dependencies: - devlop: 1.1.0 - micromark-factory-space: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 + comma-separated-tokens@2.0.3: {} - micromark-extension-gfm@3.0.0: - dependencies: - micromark-extension-gfm-autolink-literal: 2.1.0 - micromark-extension-gfm-footnote: 2.1.0 - micromark-extension-gfm-strikethrough: 2.1.0 - micromark-extension-gfm-table: 2.1.1 - micromark-extension-gfm-tagfilter: 2.0.0 - micromark-extension-gfm-task-list-item: 2.1.0 - micromark-util-combine-extensions: 2.0.1 - micromark-util-types: 2.0.2 + commander@11.1.0: {} - micromark-extension-math@3.1.0: - dependencies: - '@types/katex': 0.16.7 - devlop: 1.1.0 - katex: 0.16.27 - micromark-factory-space: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 + commander@2.20.3: {} + + common-ancestor-path@1.0.1: {} + + common-tags@1.8.2: {} + + convert-source-map@2.0.0: {} + + cookie-es@1.2.2: {} + + cookie@1.1.1: {} - micromark-extension-mdx-expression@3.0.1: + core-js-compat@3.47.0: dependencies: - '@types/estree': 1.0.8 - devlop: 1.1.0 - micromark-factory-mdx-expression: 2.0.3 - micromark-factory-space: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-events-to-acorn: 2.0.3 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 + browserslist: 4.28.1 - micromark-extension-mdx-jsx@3.0.2: + cross-spawn@7.0.6: dependencies: - '@types/estree': 1.0.8 - devlop: 1.1.0 - estree-util-is-identifier-name: 3.0.0 - micromark-factory-mdx-expression: 2.0.3 - micromark-factory-space: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-events-to-acorn: 2.0.3 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 - vfile-message: 4.0.3 + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 - micromark-extension-mdx-md@2.0.0: + crossws@0.3.5: dependencies: - micromark-util-types: 2.0.2 + uncrypto: 0.1.3 - micromark-extension-mdxjs-esm@3.0.0: + crypto-random-string@2.0.0: {} + + css-select@5.2.2: dependencies: - '@types/estree': 1.0.8 - devlop: 1.1.0 - micromark-core-commonmark: 2.0.3 - micromark-util-character: 2.1.1 - micromark-util-events-to-acorn: 2.0.3 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 - unist-util-position-from-estree: 2.0.0 - vfile-message: 4.0.3 + boolbase: 1.0.0 + css-what: 6.2.2 + domhandler: 5.0.3 + domutils: 3.2.2 + nth-check: 2.1.1 - micromark-extension-mdxjs@3.0.0: + css-selector-parser@3.3.0: {} + + css-tree@2.2.1: dependencies: - acorn: 8.15.0 - acorn-jsx: 5.3.2(acorn@8.15.0) - micromark-extension-mdx-expression: 3.0.1 - micromark-extension-mdx-jsx: 3.0.2 - micromark-extension-mdx-md: 2.0.0 - micromark-extension-mdxjs-esm: 3.0.0 - micromark-util-combine-extensions: 2.0.1 - micromark-util-types: 2.0.2 + mdn-data: 2.0.28 + source-map-js: 1.2.1 - micromark-factory-destination@2.0.1: + css-tree@3.1.0: dependencies: - micromark-util-character: 2.1.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 + mdn-data: 2.12.2 + source-map-js: 1.2.1 - micromark-factory-label@2.0.1: + css-what@6.2.2: {} + + cssesc@3.0.0: {} + + csso@5.0.5: dependencies: - devlop: 1.1.0 - micromark-util-character: 2.1.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 + css-tree: 2.2.1 - micromark-factory-mdx-expression@2.0.3: + data-view-buffer@1.0.2: dependencies: - '@types/estree': 1.0.8 - devlop: 1.1.0 - micromark-factory-space: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-events-to-acorn: 2.0.3 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 - unist-util-position-from-estree: 2.0.0 - vfile-message: 4.0.3 + call-bound: 1.0.4 + es-errors: 1.3.0 + is-data-view: 1.0.2 - micromark-factory-space@1.1.0: + data-view-byte-length@1.0.2: dependencies: - micromark-util-character: 1.2.0 - micromark-util-types: 1.1.0 + call-bound: 1.0.4 + es-errors: 1.3.0 + is-data-view: 1.0.2 - micromark-factory-space@2.0.1: + data-view-byte-offset@1.0.1: dependencies: - micromark-util-character: 2.1.1 - micromark-util-types: 2.0.2 + call-bound: 1.0.4 + es-errors: 1.3.0 + is-data-view: 1.0.2 - micromark-factory-title@2.0.1: + debug@4.4.3: dependencies: - micromark-factory-space: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 + ms: 2.1.3 - micromark-factory-whitespace@2.0.1: + decode-named-character-reference@1.2.0: dependencies: - micromark-factory-space: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 + character-entities: 2.0.2 + + deepmerge@4.3.1: {} - micromark-util-character@1.2.0: + define-data-property@1.1.4: dependencies: - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 + es-define-property: 1.0.1 + es-errors: 1.3.0 + gopd: 1.2.0 - micromark-util-character@2.1.1: + define-properties@1.2.1: dependencies: - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 + object-keys: 1.1.1 - micromark-util-chunked@2.0.1: + defu@6.1.4: {} + + dequal@2.0.3: {} + + destr@2.0.5: {} + + detect-libc@1.0.3: + optional: true + + detect-libc@2.1.2: {} + + deterministic-object-hash@2.0.2: dependencies: - micromark-util-symbol: 2.0.1 + base-64: 1.0.0 - micromark-util-classify-character@2.0.1: + devalue@5.6.1: {} + + devlop@1.1.0: dependencies: - micromark-util-character: 2.1.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 + dequal: 2.0.3 - micromark-util-combine-extensions@2.0.1: + dfa@1.2.0: {} + + diff@5.2.0: {} + + direction@2.0.1: {} + + dlv@1.1.3: {} + + dom-serializer@2.0.0: dependencies: - micromark-util-chunked: 2.0.1 - micromark-util-types: 2.0.2 + domelementtype: 2.3.0 + domhandler: 5.0.3 + entities: 4.5.0 - micromark-util-decode-numeric-character-reference@2.0.2: + domelementtype@2.3.0: {} + + domhandler@5.0.3: dependencies: - micromark-util-symbol: 2.0.1 + domelementtype: 2.3.0 - micromark-util-decode-string@2.0.1: + domutils@3.2.2: dependencies: - decode-named-character-reference: 1.2.0 - micromark-util-character: 2.1.1 - micromark-util-decode-numeric-character-reference: 2.0.2 - micromark-util-symbol: 2.0.1 + dom-serializer: 2.0.0 + domelementtype: 2.3.0 + domhandler: 5.0.3 - micromark-util-encode@2.0.1: {} + dset@3.1.4: {} - micromark-util-events-to-acorn@2.0.3: + dunder-proto@1.0.1: dependencies: - '@types/estree': 1.0.8 - '@types/unist': 3.0.3 - devlop: 1.1.0 - estree-util-visit: 2.0.0 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 - vfile-message: 4.0.3 + call-bind-apply-helpers: 1.0.2 + es-errors: 1.3.0 + gopd: 1.2.0 - micromark-util-html-tag-name@2.0.1: {} + eastasianwidth@0.2.0: {} - micromark-util-normalize-identifier@2.0.1: + ejs@3.1.10: dependencies: - micromark-util-symbol: 2.0.1 + jake: 10.9.4 - micromark-util-resolve-all@2.0.1: - dependencies: - micromark-util-types: 2.0.2 + electron-to-chromium@1.5.267: {} - micromark-util-sanitize-uri@2.0.1: - dependencies: - micromark-util-character: 2.1.1 - micromark-util-encode: 2.0.1 - micromark-util-symbol: 2.0.1 + emoji-regex@10.6.0: {} - micromark-util-subtokenize@2.1.0: + emoji-regex@8.0.0: {} + + emoji-regex@9.2.2: {} + + enhanced-resolve@5.18.4: dependencies: - devlop: 1.1.0 - micromark-util-chunked: 2.0.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 + graceful-fs: 4.2.11 + tapable: 2.3.0 + + entities@4.5.0: {} + + entities@6.0.1: {} - micromark-util-symbol@1.1.0: {} + es-abstract@1.24.1: + dependencies: + array-buffer-byte-length: 1.0.2 + arraybuffer.prototype.slice: 1.0.4 + available-typed-arrays: 1.0.7 + call-bind: 1.0.8 + call-bound: 1.0.4 + data-view-buffer: 1.0.2 + data-view-byte-length: 1.0.2 + data-view-byte-offset: 1.0.1 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + es-set-tostringtag: 2.1.0 + es-to-primitive: 1.3.0 + function.prototype.name: 1.1.8 + get-intrinsic: 1.3.0 + get-proto: 1.0.1 + get-symbol-description: 1.1.0 + globalthis: 1.0.4 + gopd: 1.2.0 + has-property-descriptors: 1.0.2 + has-proto: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.2 + internal-slot: 1.1.0 + is-array-buffer: 3.0.5 + is-callable: 1.2.7 + is-data-view: 1.0.2 + is-negative-zero: 2.0.3 + is-regex: 1.2.1 + is-set: 2.0.3 + is-shared-array-buffer: 1.0.4 + is-string: 1.1.1 + is-typed-array: 1.1.15 + is-weakref: 1.1.1 + math-intrinsics: 1.1.0 + object-inspect: 1.13.4 + object-keys: 1.1.1 + object.assign: 4.1.7 + own-keys: 1.0.1 + regexp.prototype.flags: 1.5.4 + safe-array-concat: 1.1.3 + safe-push-apply: 1.0.0 + safe-regex-test: 1.1.0 + set-proto: 1.0.0 + stop-iteration-iterator: 1.1.0 + string.prototype.trim: 1.2.10 + string.prototype.trimend: 1.0.9 + string.prototype.trimstart: 1.0.8 + typed-array-buffer: 1.0.3 + typed-array-byte-length: 1.0.3 + typed-array-byte-offset: 1.0.4 + typed-array-length: 1.0.7 + unbox-primitive: 1.1.0 + which-typed-array: 1.1.19 - micromark-util-symbol@2.0.1: {} + es-define-property@1.0.1: {} - micromark-util-types@1.1.0: {} + es-errors@1.3.0: {} - micromark-util-types@2.0.2: {} + es-module-lexer@1.7.0: {} - micromark@4.0.2: + es-object-atoms@1.1.1: dependencies: - '@types/debug': 4.1.12 - debug: 4.4.3 - decode-named-character-reference: 1.2.0 - devlop: 1.1.0 - micromark-core-commonmark: 2.0.3 - micromark-factory-space: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-chunked: 2.0.1 - micromark-util-combine-extensions: 2.0.1 - micromark-util-decode-numeric-character-reference: 2.0.2 - micromark-util-encode: 2.0.1 - micromark-util-normalize-identifier: 2.0.1 - micromark-util-resolve-all: 2.0.1 - micromark-util-sanitize-uri: 2.0.1 - micromark-util-subtokenize: 2.1.0 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 - transitivePeerDependencies: - - supports-color - - micromatch@3.1.10: - dependencies: - arr-diff: 4.0.0 - array-unique: 0.3.2 - braces: 2.3.2 - define-property: 2.0.2 - extend-shallow: 3.0.2 - extglob: 2.0.4 - fragment-cache: 0.2.1 - kind-of: 6.0.3 - nanomatch: 1.2.13 - object.pick: 1.3.0 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color + es-errors: 1.3.0 - micromatch@4.0.8: + es-set-tostringtag@2.1.0: dependencies: - braces: 3.0.3 - picomatch: 2.3.1 - - mime-db@1.33.0: {} - - mime-db@1.52.0: {} - - mime-db@1.54.0: {} + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + has-tostringtag: 1.0.2 + hasown: 2.0.2 - mime-types@2.1.18: + es-to-primitive@1.3.0: dependencies: - mime-db: 1.33.0 + is-callable: 1.2.7 + is-date-object: 1.1.0 + is-symbol: 1.1.1 - mime-types@2.1.35: + esast-util-from-estree@2.0.0: dependencies: - mime-db: 1.52.0 + '@types/estree-jsx': 1.0.5 + devlop: 1.1.0 + estree-util-visit: 2.0.0 + unist-util-position-from-estree: 2.0.0 - mime-types@3.0.2: + esast-util-from-js@2.0.1: dependencies: - mime-db: 1.54.0 - - mime@1.6.0: {} - - mimic-fn@2.1.0: {} + '@types/estree-jsx': 1.0.5 + acorn: 8.15.0 + esast-util-from-estree: 2.0.0 + vfile-message: 4.0.3 - mimic-response@1.0.1: {} + esbuild@0.25.12: + optionalDependencies: + '@esbuild/aix-ppc64': 0.25.12 + '@esbuild/android-arm': 0.25.12 + '@esbuild/android-arm64': 0.25.12 + '@esbuild/android-x64': 0.25.12 + '@esbuild/darwin-arm64': 0.25.12 + '@esbuild/darwin-x64': 0.25.12 + '@esbuild/freebsd-arm64': 0.25.12 + '@esbuild/freebsd-x64': 0.25.12 + '@esbuild/linux-arm': 0.25.12 + '@esbuild/linux-arm64': 0.25.12 + '@esbuild/linux-ia32': 0.25.12 + '@esbuild/linux-loong64': 0.25.12 + '@esbuild/linux-mips64el': 0.25.12 + '@esbuild/linux-ppc64': 0.25.12 + '@esbuild/linux-riscv64': 0.25.12 + '@esbuild/linux-s390x': 0.25.12 + '@esbuild/linux-x64': 0.25.12 + '@esbuild/netbsd-arm64': 0.25.12 + '@esbuild/netbsd-x64': 0.25.12 + '@esbuild/openbsd-arm64': 0.25.12 + '@esbuild/openbsd-x64': 0.25.12 + '@esbuild/openharmony-arm64': 0.25.12 + '@esbuild/sunos-x64': 0.25.12 + '@esbuild/win32-arm64': 0.25.12 + '@esbuild/win32-ia32': 0.25.12 + '@esbuild/win32-x64': 0.25.12 - mimic-response@3.1.0: {} + escalade@3.2.0: {} - mimic-response@4.0.0: {} + escape-string-regexp@5.0.0: {} - mini-css-extract-plugin@2.9.4(webpack@5.103.0(@swc/core@1.15.4)): + estree-util-attach-comments@3.0.0: dependencies: - schema-utils: 4.3.3 - tapable: 2.3.0 - webpack: 5.103.0(@swc/core@1.15.4) - - minimalistic-assert@1.0.1: {} + '@types/estree': 1.0.8 - minimatch@10.1.1: + estree-util-build-jsx@3.0.1: dependencies: - '@isaacs/brace-expansion': 5.0.0 + '@types/estree-jsx': 1.0.5 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + estree-walker: 3.0.3 - minimatch@3.0.4: - dependencies: - brace-expansion: 1.1.12 + estree-util-is-identifier-name@3.0.0: {} - minimatch@3.0.8: + estree-util-scope@1.0.0: dependencies: - brace-expansion: 1.1.12 + '@types/estree': 1.0.8 + devlop: 1.1.0 - minimatch@3.1.2: + estree-util-to-js@2.0.0: dependencies: - brace-expansion: 1.1.12 + '@types/estree-jsx': 1.0.5 + astring: 1.9.0 + source-map: 0.7.6 - minimatch@5.1.6: + estree-util-visit@2.0.0: dependencies: - brace-expansion: 2.0.2 - - minimist@1.2.8: {} + '@types/estree-jsx': 1.0.5 + '@types/unist': 3.0.3 - minipass@7.1.2: {} + estree-walker@1.0.1: {} - mitt@3.0.1: {} + estree-walker@2.0.2: {} - mixin-deep@1.3.2: + estree-walker@3.0.3: dependencies: - for-in: 1.0.2 - is-extendable: 1.0.1 + '@types/estree': 1.0.8 - mkdirp@0.5.6: - dependencies: - minimist: 1.2.8 + esutils@2.0.3: {} - mlly@1.8.0: + eventemitter3@5.0.1: {} + + expressive-code@0.41.4: dependencies: - acorn: 8.15.0 - pathe: 2.0.3 - pkg-types: 1.3.1 - ufo: 1.6.1 + '@expressive-code/core': 0.41.4 + '@expressive-code/plugin-frames': 0.41.4 + '@expressive-code/plugin-shiki': 0.41.4 + '@expressive-code/plugin-text-markers': 0.41.4 - moo@0.5.2: {} + extend@3.0.2: {} - mrmime@2.0.1: {} + fast-deep-equal@3.1.3: {} - ms@2.0.0: {} + fast-json-stable-stringify@2.1.0: {} - ms@2.1.2: {} + fast-uri@3.1.0: {} - ms@2.1.3: {} + fdir@6.5.0(picomatch@4.0.3): + optionalDependencies: + picomatch: 4.0.3 - multicast-dns@7.2.5: + filelist@1.0.4: dependencies: - dns-packet: 5.6.1 - thunky: 1.1.0 - - nanoid@3.3.11: {} - - nanomatch@1.2.13: - dependencies: - arr-diff: 4.0.0 - array-unique: 0.3.2 - define-property: 2.0.2 - extend-shallow: 3.0.2 - fragment-cache: 0.2.1 - is-windows: 1.0.2 - kind-of: 6.0.3 - object.pick: 1.3.0 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color + minimatch: 5.1.6 - nearley@2.20.1: + fill-range@7.1.1: dependencies: - commander: 2.20.3 - moo: 0.5.2 - railroad-diagrams: 1.0.0 - randexp: 0.4.6 - - negotiator@0.6.3: {} - - negotiator@0.6.4: {} - - neo-async@2.6.2: {} + to-regex-range: 5.0.1 + optional: true - nice-try@1.0.5: {} + flattie@1.1.1: {} - no-case@3.0.4: + fontace@0.3.1: dependencies: - lower-case: 2.0.2 - tslib: 2.8.1 - - node-addon-api@7.1.1: - optional: true + '@types/fontkit': 2.0.8 + fontkit: 2.0.4 - node-emoji@2.2.0: + fontkit@2.0.4: dependencies: - '@sindresorhus/is': 4.6.0 - char-regex: 1.0.2 - emojilib: 2.4.0 - skin-tone: 2.0.0 - - node-forge@1.3.3: {} + '@swc/helpers': 0.5.17 + brotli: 1.3.3 + clone: 2.1.2 + dfa: 1.2.0 + fast-deep-equal: 3.1.3 + restructure: 3.0.2 + tiny-inflate: 1.0.3 + unicode-properties: 1.4.1 + unicode-trie: 2.0.0 - node-releases@1.1.77: {} + for-each@0.3.5: + dependencies: + is-callable: 1.2.7 - node-releases@2.0.27: {} + foreground-child@3.3.1: + dependencies: + cross-spawn: 7.0.6 + signal-exit: 4.1.0 - normalize-package-data@2.5.0: + fs-extra@9.1.0: dependencies: - hosted-git-info: 2.8.9 - resolve: 1.22.11 - semver: 5.7.2 - validate-npm-package-license: 3.0.4 + at-least-node: 1.0.0 + graceful-fs: 4.2.11 + jsonfile: 6.2.0 + universalify: 2.0.1 - normalize-path@3.0.0: {} + fsevents@2.3.3: + optional: true - normalize-range@0.1.2: {} + function-bind@1.1.2: {} - normalize-url@2.0.1: + function.prototype.name@1.1.8: dependencies: - prepend-http: 2.0.0 - query-string: 5.1.1 - sort-keys: 2.0.0 + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + functions-have-names: 1.2.3 + hasown: 2.0.2 + is-callable: 1.2.7 - normalize-url@3.3.0: {} + functions-have-names@1.2.3: {} - normalize-url@8.1.0: {} + generator-function@2.0.1: {} - npm-conf@1.1.3: - dependencies: - config-chain: 1.1.13 - pify: 3.0.0 + gensync@1.0.0-beta.2: {} - npm-run-path@2.0.2: - dependencies: - path-key: 2.0.1 + get-east-asian-width@1.4.0: {} - npm-run-path@4.0.1: + get-intrinsic@1.3.0: dependencies: - path-key: 3.1.1 + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + function-bind: 1.1.2 + get-proto: 1.0.1 + gopd: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.2 + math-intrinsics: 1.1.0 - nprogress@0.2.0: {} + get-own-enumerable-property-symbols@3.0.2: {} - nth-check@1.0.2: + get-proto@1.0.1: dependencies: - boolbase: 1.0.0 + dunder-proto: 1.0.1 + es-object-atoms: 1.1.1 - nth-check@2.1.1: + get-symbol-description@1.1.0: dependencies: - boolbase: 1.0.0 + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 - null-loader@4.0.1(webpack@5.103.0(@swc/core@1.15.4)): + giscus@1.6.0: dependencies: - loader-utils: 2.0.4 - schema-utils: 3.3.0 - webpack: 5.103.0(@swc/core@1.15.4) - - num2fraction@1.2.2: {} - - oauth-sign@0.9.0: {} + lit: 3.3.1 - object-assign@4.1.1: {} + github-slugger@2.0.0: {} - object-copy@0.1.0: + glob@11.1.0: dependencies: - copy-descriptor: 0.1.1 - define-property: 0.2.5 - kind-of: 3.2.2 - - object-inspect@1.13.4: {} + foreground-child: 3.3.1 + jackspeak: 4.1.1 + minimatch: 10.1.1 + minipass: 7.1.2 + package-json-from-dist: 1.0.1 + path-scurry: 2.0.1 - object-is@1.1.6: + globalthis@1.0.4: dependencies: - call-bind: 1.0.8 define-properties: 1.2.1 + gopd: 1.2.0 - object-keys@1.1.1: {} - - object-visit@1.0.1: - dependencies: - isobject: 3.0.1 + gopd@1.2.0: {} - object.assign@4.1.7: - dependencies: - call-bind: 1.0.8 - call-bound: 1.0.4 - define-properties: 1.2.1 - es-object-atoms: 1.1.1 - has-symbols: 1.1.0 - object-keys: 1.1.1 + graceful-fs@4.2.11: {} - object.entries@1.1.9: + h3@1.15.4: dependencies: - call-bind: 1.0.8 - call-bound: 1.0.4 - define-properties: 1.2.1 - es-object-atoms: 1.1.1 + cookie-es: 1.2.2 + crossws: 0.3.5 + defu: 6.1.4 + destr: 2.0.5 + iron-webcrypto: 1.2.1 + node-mock-http: 1.0.4 + radix3: 1.1.2 + ufo: 1.6.1 + uncrypto: 0.1.3 - object.fromentries@2.0.8: - dependencies: - call-bind: 1.0.8 - define-properties: 1.2.1 - es-abstract: 1.24.1 - es-object-atoms: 1.1.1 + has-bigints@1.1.0: {} - object.getownpropertydescriptors@2.1.9: - dependencies: - array.prototype.reduce: 1.0.8 - call-bind: 1.0.8 - define-properties: 1.2.1 - es-abstract: 1.24.1 - es-object-atoms: 1.1.1 - gopd: 1.2.0 - safe-array-concat: 1.1.3 + has-flag@4.0.0: + optional: true - object.pick@1.3.0: + has-property-descriptors@1.0.2: dependencies: - isobject: 3.0.1 + es-define-property: 1.0.1 - object.values@1.2.1: + has-proto@1.2.0: dependencies: - call-bind: 1.0.8 - call-bound: 1.0.4 - define-properties: 1.2.1 - es-object-atoms: 1.1.1 + dunder-proto: 1.0.1 - obuf@1.1.2: {} + has-symbols@1.1.0: {} - on-finished@2.4.1: + has-tostringtag@1.0.2: dependencies: - ee-first: 1.1.1 + has-symbols: 1.1.0 - on-headers@1.1.0: {} + hasown@2.0.2: + dependencies: + function-bind: 1.1.2 - once@1.4.0: + hast-util-embedded@3.0.0: dependencies: - wrappy: 1.0.2 + '@types/hast': 3.0.4 + hast-util-is-element: 3.0.0 - onetime@5.1.2: + hast-util-format@1.1.0: dependencies: - mimic-fn: 2.1.0 + '@types/hast': 3.0.4 + hast-util-embedded: 3.0.0 + hast-util-minify-whitespace: 1.0.1 + hast-util-phrasing: 3.0.1 + hast-util-whitespace: 3.0.0 + html-whitespace-sensitive-tag-names: 3.0.1 + unist-util-visit-parents: 6.0.2 - open@10.2.0: + hast-util-from-html@2.0.3: dependencies: - default-browser: 5.4.0 - define-lazy-prop: 3.0.0 - is-inside-container: 1.0.0 - wsl-utils: 0.1.0 + '@types/hast': 3.0.4 + devlop: 1.1.0 + hast-util-from-parse5: 8.0.3 + parse5: 7.3.0 + vfile: 6.0.3 + vfile-message: 4.0.3 - open@7.4.2: + hast-util-from-parse5@8.0.3: dependencies: - is-docker: 2.2.1 - is-wsl: 2.2.0 + '@types/hast': 3.0.4 + '@types/unist': 3.0.3 + devlop: 1.1.0 + hastscript: 9.0.1 + property-information: 7.1.0 + vfile: 6.0.3 + vfile-location: 5.0.3 + web-namespaces: 2.0.1 - open@8.4.2: + hast-util-has-property@3.0.0: dependencies: - define-lazy-prop: 2.0.0 - is-docker: 2.2.1 - is-wsl: 2.2.0 - - opener@1.5.2: {} + '@types/hast': 3.0.4 - optipng-bin@5.1.0: + hast-util-is-body-ok-link@3.0.1: dependencies: - bin-build: 3.0.0 - bin-wrapper: 4.1.0 - logalot: 2.1.0 + '@types/hast': 3.0.4 - os-filter-obj@2.0.0: + hast-util-is-element@3.0.0: dependencies: - arch: 2.2.0 + '@types/hast': 3.0.4 - own-keys@1.0.1: + hast-util-minify-whitespace@1.0.1: dependencies: - get-intrinsic: 1.3.0 - object-keys: 1.1.1 - safe-push-apply: 1.0.0 - - p-cancelable@0.3.0: {} - - p-cancelable@0.4.1: {} - - p-cancelable@3.0.0: {} + '@types/hast': 3.0.4 + hast-util-embedded: 3.0.0 + hast-util-is-element: 3.0.0 + hast-util-whitespace: 3.0.0 + unist-util-is: 6.0.1 - p-event@1.3.0: + hast-util-parse-selector@4.0.0: dependencies: - p-timeout: 1.2.1 + '@types/hast': 3.0.4 - p-event@2.3.1: + hast-util-phrasing@3.0.1: dependencies: - p-timeout: 2.0.1 - - p-finally@1.0.0: {} + '@types/hast': 3.0.4 + hast-util-embedded: 3.0.0 + hast-util-has-property: 3.0.0 + hast-util-is-body-ok-link: 3.0.1 + hast-util-is-element: 3.0.0 - p-is-promise@1.1.0: {} + hast-util-raw@9.1.0: + dependencies: + '@types/hast': 3.0.4 + '@types/unist': 3.0.3 + '@ungap/structured-clone': 1.3.0 + hast-util-from-parse5: 8.0.3 + hast-util-to-parse5: 8.0.1 + html-void-elements: 3.0.0 + mdast-util-to-hast: 13.2.1 + parse5: 7.3.0 + unist-util-position: 5.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.3 + web-namespaces: 2.0.1 + zwitch: 2.0.4 - p-limit@2.3.0: + hast-util-select@6.0.4: dependencies: - p-try: 2.2.0 + '@types/hast': 3.0.4 + '@types/unist': 3.0.3 + bcp-47-match: 2.0.3 + comma-separated-tokens: 2.0.3 + css-selector-parser: 3.3.0 + devlop: 1.1.0 + direction: 2.0.1 + hast-util-has-property: 3.0.0 + hast-util-to-string: 3.0.1 + hast-util-whitespace: 3.0.0 + nth-check: 2.1.1 + property-information: 7.1.0 + space-separated-tokens: 2.0.2 + unist-util-visit: 5.0.0 + zwitch: 2.0.4 - p-limit@4.0.0: + hast-util-to-estree@3.1.3: dependencies: - yocto-queue: 1.2.2 + '@types/estree': 1.0.8 + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + estree-util-attach-comments: 3.0.0 + estree-util-is-identifier-name: 3.0.0 + hast-util-whitespace: 3.0.0 + mdast-util-mdx-expression: 2.0.1 + mdast-util-mdx-jsx: 3.2.0 + mdast-util-mdxjs-esm: 2.0.1 + property-information: 7.1.0 + space-separated-tokens: 2.0.2 + style-to-js: 1.1.21 + unist-util-position: 5.0.0 + zwitch: 2.0.4 + transitivePeerDependencies: + - supports-color - p-locate@3.0.0: + hast-util-to-html@9.0.5: dependencies: - p-limit: 2.3.0 + '@types/hast': 3.0.4 + '@types/unist': 3.0.3 + ccount: 2.0.1 + comma-separated-tokens: 2.0.3 + hast-util-whitespace: 3.0.0 + html-void-elements: 3.0.0 + mdast-util-to-hast: 13.2.1 + property-information: 7.1.0 + space-separated-tokens: 2.0.2 + stringify-entities: 4.0.4 + zwitch: 2.0.4 - p-locate@4.1.0: + hast-util-to-jsx-runtime@2.3.6: dependencies: - p-limit: 2.3.0 + '@types/estree': 1.0.8 + '@types/hast': 3.0.4 + '@types/unist': 3.0.3 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + hast-util-whitespace: 3.0.0 + mdast-util-mdx-expression: 2.0.1 + mdast-util-mdx-jsx: 3.2.0 + mdast-util-mdxjs-esm: 2.0.1 + property-information: 7.1.0 + space-separated-tokens: 2.0.2 + style-to-js: 1.1.21 + unist-util-position: 5.0.0 + vfile-message: 4.0.3 + transitivePeerDependencies: + - supports-color - p-locate@6.0.0: + hast-util-to-parse5@8.0.1: dependencies: - p-limit: 4.0.0 + '@types/hast': 3.0.4 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + property-information: 7.1.0 + space-separated-tokens: 2.0.2 + web-namespaces: 2.0.1 + zwitch: 2.0.4 - p-map-series@1.0.0: + hast-util-to-string@3.0.1: dependencies: - p-reduce: 1.0.0 + '@types/hast': 3.0.4 - p-map@4.0.0: + hast-util-to-text@4.0.2: dependencies: - aggregate-error: 3.1.0 + '@types/hast': 3.0.4 + '@types/unist': 3.0.3 + hast-util-is-element: 3.0.0 + unist-util-find-after: 5.0.0 - p-pipe@1.2.0: {} + hast-util-whitespace@3.0.0: + dependencies: + '@types/hast': 3.0.4 - p-queue@6.6.2: + hastscript@9.0.1: dependencies: - eventemitter3: 4.0.7 - p-timeout: 3.2.0 + '@types/hast': 3.0.4 + comma-separated-tokens: 2.0.3 + hast-util-parse-selector: 4.0.0 + property-information: 7.1.0 + space-separated-tokens: 2.0.2 - p-reduce@1.0.0: {} + html-escaper@3.0.3: {} - p-retry@6.2.1: - dependencies: - '@types/retry': 0.12.2 - is-network-error: 1.3.0 - retry: 0.13.1 + html-void-elements@3.0.0: {} - p-timeout@1.2.1: - dependencies: - p-finally: 1.0.0 + html-whitespace-sensitive-tag-names@3.0.1: {} - p-timeout@2.0.1: - dependencies: - p-finally: 1.0.0 + http-cache-semantics@4.2.0: {} - p-timeout@3.2.0: + i18next@23.16.8: dependencies: - p-finally: 1.0.0 + '@babel/runtime': 7.28.4 - p-try@2.2.0: {} + idb@7.1.1: {} - package-json-from-dist@1.0.1: {} + immutable@5.1.4: {} - package-json@8.1.1: - dependencies: - got: 12.6.1 - registry-auth-token: 5.1.0 - registry-url: 6.0.1 - semver: 7.7.3 + import-meta-resolve@4.2.0: {} - package-manager-detector@1.6.0: {} + inline-style-parser@0.2.7: {} - param-case@3.0.4: + internal-slot@1.1.0: dependencies: - dot-case: 3.0.4 - tslib: 2.8.1 + es-errors: 1.3.0 + hasown: 2.0.2 + side-channel: 1.1.0 - parent-module@1.0.1: - dependencies: - callsites: 3.1.0 + iron-webcrypto@1.2.1: {} - parse-entities@4.0.2: + is-alphabetical@2.0.1: {} + + is-alphanumerical@2.0.1: dependencies: - '@types/unist': 2.0.11 - character-entities-legacy: 3.0.0 - character-reference-invalid: 2.0.1 - decode-named-character-reference: 1.2.0 - is-alphanumerical: 2.0.1 + is-alphabetical: 2.0.1 is-decimal: 2.0.1 - is-hexadecimal: 2.0.1 - parse-json@2.2.0: + is-array-buffer@3.0.5: dependencies: - error-ex: 1.3.4 + call-bind: 1.0.8 + call-bound: 1.0.4 + get-intrinsic: 1.3.0 - parse-json@4.0.0: + is-async-function@2.1.1: dependencies: - error-ex: 1.3.4 - json-parse-better-errors: 1.0.2 + async-function: 1.0.0 + call-bound: 1.0.4 + get-proto: 1.0.1 + has-tostringtag: 1.0.2 + safe-regex-test: 1.1.0 - parse-json@5.2.0: + is-bigint@1.1.0: dependencies: - '@babel/code-frame': 7.27.1 - error-ex: 1.3.4 - json-parse-even-better-errors: 2.3.1 - lines-and-columns: 1.2.4 - - parse-numeric-range@1.3.0: {} + has-bigints: 1.1.0 - parse5-htmlparser2-tree-adapter@7.1.0: + is-boolean-object@1.2.2: dependencies: - domhandler: 5.0.3 - parse5: 7.3.0 + call-bound: 1.0.4 + has-tostringtag: 1.0.2 - parse5-parser-stream@7.1.2: - dependencies: - parse5: 7.3.0 + is-callable@1.2.7: {} - parse5@7.3.0: + is-core-module@2.16.1: dependencies: - entities: 6.0.1 - - parseurl@1.3.3: {} + hasown: 2.0.2 - pascal-case@3.1.2: + is-data-view@1.0.2: dependencies: - no-case: 3.0.4 - tslib: 2.8.1 - - pascalcase@0.1.1: {} - - path-data-parser@0.1.0: {} - - path-dirname@1.0.2: {} + call-bound: 1.0.4 + get-intrinsic: 1.3.0 + is-typed-array: 1.1.15 - path-exists@2.1.0: + is-date-object@1.1.0: dependencies: - pinkie-promise: 2.0.1 - - path-exists@3.0.0: {} - - path-exists@4.0.0: {} - - path-exists@5.0.0: {} - - path-is-absolute@1.0.1: {} - - path-is-inside@1.0.2: {} - - path-key@2.0.1: {} + call-bound: 1.0.4 + has-tostringtag: 1.0.2 - path-key@3.1.1: {} + is-decimal@2.0.1: {} - path-parse@1.0.7: {} + is-docker@3.0.0: {} - path-root-regex@0.1.2: {} + is-extglob@2.1.1: + optional: true - path-root@0.1.1: + is-finalizationregistry@1.1.1: dependencies: - path-root-regex: 0.1.2 + call-bound: 1.0.4 - path-scurry@2.0.1: - dependencies: - lru-cache: 11.2.4 - minipass: 7.1.2 + is-fullwidth-code-point@3.0.0: {} - path-to-regexp@0.1.12: {} + is-generator-function@1.1.2: + dependencies: + call-bound: 1.0.4 + generator-function: 2.0.1 + get-proto: 1.0.1 + has-tostringtag: 1.0.2 + safe-regex-test: 1.1.0 - path-to-regexp@1.9.0: + is-glob@4.0.3: dependencies: - isarray: 0.0.1 + is-extglob: 2.1.1 + optional: true - path-to-regexp@3.3.0: {} + is-hexadecimal@2.0.1: {} - path-type@1.1.0: + is-inside-container@1.0.0: dependencies: - graceful-fs: 4.2.11 - pify: 2.3.0 - pinkie-promise: 2.0.1 + is-docker: 3.0.0 - path-type@3.0.0: - dependencies: - pify: 3.0.0 + is-map@2.0.3: {} - path-type@4.0.0: {} + is-module@1.0.0: {} - path-type@6.0.0: {} + is-negative-zero@2.0.3: {} - pathe@2.0.3: {} + is-number-object@1.1.1: + dependencies: + call-bound: 1.0.4 + has-tostringtag: 1.0.2 - pend@1.2.0: {} + is-number@7.0.0: + optional: true - performance-now@2.1.0: {} + is-obj@1.0.1: {} - picocolors@0.2.1: {} + is-plain-obj@4.1.0: {} - picocolors@1.1.1: {} + is-regex@1.2.1: + dependencies: + call-bound: 1.0.4 + gopd: 1.2.0 + has-tostringtag: 1.0.2 + hasown: 2.0.2 - picomatch@2.3.1: {} + is-regexp@1.0.0: {} - picomatch@4.0.3: {} + is-set@2.0.3: {} - pify@2.3.0: {} + is-shared-array-buffer@1.0.4: + dependencies: + call-bound: 1.0.4 - pify@3.0.0: {} + is-stream@2.0.1: {} - pify@4.0.1: {} + is-string@1.1.1: + dependencies: + call-bound: 1.0.4 + has-tostringtag: 1.0.2 - pinkie-promise@2.0.1: + is-symbol@1.1.1: dependencies: - pinkie: 2.0.4 + call-bound: 1.0.4 + has-symbols: 1.1.0 + safe-regex-test: 1.1.0 - pinkie@2.0.4: {} + is-typed-array@1.1.15: + dependencies: + which-typed-array: 1.1.19 - pirates@4.0.7: {} + is-weakmap@2.0.2: {} - pkg-dir@3.0.0: + is-weakref@1.1.1: dependencies: - find-up: 3.0.0 + call-bound: 1.0.4 - pkg-dir@7.0.0: + is-weakset@2.0.4: dependencies: - find-up: 6.3.0 + call-bound: 1.0.4 + get-intrinsic: 1.3.0 - pkg-types@1.3.1: + is-wsl@3.1.0: dependencies: - confbox: 0.1.8 - mlly: 1.8.0 - pathe: 2.0.3 + is-inside-container: 1.0.0 - pkg-up@3.1.0: - dependencies: - find-up: 3.0.0 + isarray@2.0.5: {} - points-on-curve@0.2.0: {} + isexe@2.0.0: {} - points-on-path@0.2.1: + jackspeak@4.1.1: dependencies: - path-data-parser: 0.1.0 - points-on-curve: 0.2.0 + '@isaacs/cliui': 8.0.2 - portfinder@1.0.38: + jake@10.9.4: dependencies: async: 3.2.6 - debug: 4.4.3 - transitivePeerDependencies: - - supports-color + filelist: 1.0.4 + picocolors: 1.1.1 - posix-character-classes@0.1.1: {} + jiti@2.6.1: {} - possible-typed-array-names@1.1.0: {} + js-tokens@4.0.0: {} - postcss-attribute-case-insensitive@7.0.1(postcss@8.5.6): + js-yaml@4.1.1: dependencies: - postcss: 8.5.6 - postcss-selector-parser: 7.1.1 + argparse: 2.0.1 - postcss-calc@7.0.5: - dependencies: - postcss: 7.0.39 - postcss-selector-parser: 6.1.2 - postcss-value-parser: 4.2.0 + jsesc@3.1.0: {} - postcss-calc@9.0.1(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-selector-parser: 6.1.2 - postcss-value-parser: 4.2.0 + json-schema-traverse@1.0.0: {} - postcss-clamp@4.1.0(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + json-schema@0.4.0: {} - postcss-color-functional-notation@7.0.12(postcss@8.5.6): - dependencies: - '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 + json5@2.2.3: {} - postcss-color-hex-alpha@10.0.0(postcss@8.5.6): + jsonfile@6.2.0: dependencies: - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 - postcss-color-rebeccapurple@10.0.0(postcss@8.5.6): - dependencies: - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + jsonpointer@5.0.1: {} - postcss-colormin@4.0.3: - dependencies: - browserslist: 4.28.1 - color: 3.2.1 - has: 1.0.4 - postcss: 7.0.39 - postcss-value-parser: 3.3.1 + kleur@3.0.3: {} - postcss-colormin@6.1.0(postcss@8.5.6): - dependencies: - browserslist: 4.28.1 - caniuse-api: 3.0.0 - colord: 2.9.3 - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + klona@2.0.6: {} - postcss-convert-values@4.0.1: - dependencies: - postcss: 7.0.39 - postcss-value-parser: 3.3.1 + leven@3.1.0: {} - postcss-convert-values@6.1.0(postcss@8.5.6): - dependencies: - browserslist: 4.28.1 - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + lightningcss-android-arm64@1.30.2: + optional: true - postcss-custom-media@11.0.6(postcss@8.5.6): - dependencies: - '@csstools/cascade-layer-name-parser': 2.0.5(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/media-query-list-parser': 4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - postcss: 8.5.6 + lightningcss-darwin-arm64@1.30.2: + optional: true - postcss-custom-properties@14.0.6(postcss@8.5.6): - dependencies: - '@csstools/cascade-layer-name-parser': 2.0.5(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + lightningcss-darwin-x64@1.30.2: + optional: true - postcss-custom-selectors@8.0.5(postcss@8.5.6): - dependencies: - '@csstools/cascade-layer-name-parser': 2.0.5(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - postcss: 8.5.6 - postcss-selector-parser: 7.1.1 + lightningcss-freebsd-x64@1.30.2: + optional: true - postcss-dir-pseudo-class@9.0.1(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-selector-parser: 7.1.1 + lightningcss-linux-arm-gnueabihf@1.30.2: + optional: true - postcss-discard-comments@4.0.2: - dependencies: - postcss: 7.0.39 + lightningcss-linux-arm64-gnu@1.30.2: + optional: true - postcss-discard-comments@6.0.2(postcss@8.5.6): - dependencies: - postcss: 8.5.6 + lightningcss-linux-arm64-musl@1.30.2: + optional: true - postcss-discard-duplicates@4.0.2: - dependencies: - postcss: 7.0.39 + lightningcss-linux-x64-gnu@1.30.2: + optional: true - postcss-discard-duplicates@6.0.3(postcss@8.5.6): - dependencies: - postcss: 8.5.6 + lightningcss-linux-x64-musl@1.30.2: + optional: true - postcss-discard-empty@4.0.1: - dependencies: - postcss: 7.0.39 + lightningcss-win32-arm64-msvc@1.30.2: + optional: true - postcss-discard-empty@6.0.3(postcss@8.5.6): - dependencies: - postcss: 8.5.6 + lightningcss-win32-x64-msvc@1.30.2: + optional: true - postcss-discard-overridden@4.0.1: + lightningcss@1.30.2: dependencies: - postcss: 7.0.39 + detect-libc: 2.1.2 + optionalDependencies: + lightningcss-android-arm64: 1.30.2 + lightningcss-darwin-arm64: 1.30.2 + lightningcss-darwin-x64: 1.30.2 + lightningcss-freebsd-x64: 1.30.2 + lightningcss-linux-arm-gnueabihf: 1.30.2 + lightningcss-linux-arm64-gnu: 1.30.2 + lightningcss-linux-arm64-musl: 1.30.2 + lightningcss-linux-x64-gnu: 1.30.2 + lightningcss-linux-x64-musl: 1.30.2 + lightningcss-win32-arm64-msvc: 1.30.2 + lightningcss-win32-x64-msvc: 1.30.2 - postcss-discard-overridden@6.0.2(postcss@8.5.6): + lit-element@4.2.1: dependencies: - postcss: 8.5.6 + '@lit-labs/ssr-dom-shim': 1.4.0 + '@lit/reactive-element': 2.1.1 + lit-html: 3.3.1 - postcss-discard-unused@6.0.5(postcss@8.5.6): + lit-html@3.3.1: dependencies: - postcss: 8.5.6 - postcss-selector-parser: 6.1.2 + '@types/trusted-types': 2.0.7 - postcss-double-position-gradients@6.0.4(postcss@8.5.6): + lit@3.3.1: dependencies: - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + '@lit/reactive-element': 2.1.1 + lit-element: 4.2.1 + lit-html: 3.3.1 - postcss-focus-visible@10.0.1(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-selector-parser: 7.1.1 + lodash.debounce@4.0.8: {} - postcss-focus-within@9.0.1(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-selector-parser: 7.1.1 + lodash.sortby@4.7.0: {} - postcss-font-variant@5.0.0(postcss@8.5.6): - dependencies: - postcss: 8.5.6 + lodash@4.17.21: {} - postcss-gap-properties@6.0.0(postcss@8.5.6): - dependencies: - postcss: 8.5.6 + longest-streak@3.1.0: {} - postcss-image-set-function@7.0.0(postcss@8.5.6): - dependencies: - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + lru-cache@10.4.3: {} - postcss-lab-function@7.0.12(postcss@8.5.6): - dependencies: - '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 + lru-cache@11.2.4: {} - postcss-loader@7.3.4(postcss@8.5.6)(typescript@5.9.3)(webpack@5.103.0(@swc/core@1.15.4)): + lru-cache@5.1.1: dependencies: - cosmiconfig: 8.3.6(typescript@5.9.3) - jiti: 1.21.7 - postcss: 8.5.6 - semver: 7.7.3 - webpack: 5.103.0(@swc/core@1.15.4) - transitivePeerDependencies: - - typescript + yallist: 3.1.1 - postcss-logical@8.1.0(postcss@8.5.6): + magic-string@0.25.9: dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + sourcemap-codec: 1.4.8 - postcss-merge-idents@6.0.3(postcss@8.5.6): + magic-string@0.30.21: dependencies: - cssnano-utils: 4.0.2(postcss@8.5.6) - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + '@jridgewell/sourcemap-codec': 1.5.5 - postcss-merge-longhand@4.0.11: + magicast@0.5.1: dependencies: - css-color-names: 0.0.4 - postcss: 7.0.39 - postcss-value-parser: 3.3.1 - stylehacks: 4.0.3 + '@babel/parser': 7.28.5 + '@babel/types': 7.28.5 + source-map-js: 1.2.1 - postcss-merge-longhand@6.0.5(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - stylehacks: 6.1.1(postcss@8.5.6) + markdown-extensions@2.0.0: {} - postcss-merge-rules@4.0.3: - dependencies: - browserslist: 4.28.1 - caniuse-api: 3.0.0 - cssnano-util-same-parent: 4.0.1 - postcss: 7.0.39 - postcss-selector-parser: 3.1.2 - vendors: 1.0.4 + markdown-table@3.0.4: {} + + math-intrinsics@1.1.0: {} - postcss-merge-rules@6.1.1(postcss@8.5.6): + mdast-util-definitions@6.0.0: dependencies: - browserslist: 4.28.1 - caniuse-api: 3.0.0 - cssnano-utils: 4.0.2(postcss@8.5.6) - postcss: 8.5.6 - postcss-selector-parser: 6.1.2 + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + unist-util-visit: 5.0.0 - postcss-minify-font-values@4.0.2: + mdast-util-directive@3.1.0: dependencies: - postcss: 7.0.39 - postcss-value-parser: 3.3.1 + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + parse-entities: 4.0.2 + stringify-entities: 4.0.4 + unist-util-visit-parents: 6.0.2 + transitivePeerDependencies: + - supports-color - postcss-minify-font-values@6.1.0(postcss@8.5.6): + mdast-util-find-and-replace@3.0.2: dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + '@types/mdast': 4.0.4 + escape-string-regexp: 5.0.0 + unist-util-is: 6.0.1 + unist-util-visit-parents: 6.0.2 - postcss-minify-gradients@4.0.2: + mdast-util-from-markdown@2.0.2: dependencies: - cssnano-util-get-arguments: 4.0.0 - is-color-stop: 1.1.0 - postcss: 7.0.39 - postcss-value-parser: 3.3.1 + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + decode-named-character-reference: 1.2.0 + devlop: 1.1.0 + mdast-util-to-string: 4.0.0 + micromark: 4.0.2 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-decode-string: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + unist-util-stringify-position: 4.0.0 + transitivePeerDependencies: + - supports-color - postcss-minify-gradients@6.0.3(postcss@8.5.6): + mdast-util-gfm-autolink-literal@2.0.1: dependencies: - colord: 2.9.3 - cssnano-utils: 4.0.2(postcss@8.5.6) - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + '@types/mdast': 4.0.4 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-find-and-replace: 3.0.2 + micromark-util-character: 2.1.1 - postcss-minify-params@4.0.2: + mdast-util-gfm-footnote@2.1.0: dependencies: - alphanum-sort: 1.0.2 - browserslist: 4.28.1 - cssnano-util-get-arguments: 4.0.0 - postcss: 7.0.39 - postcss-value-parser: 3.3.1 - uniqs: 2.0.0 + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + micromark-util-normalize-identifier: 2.0.1 + transitivePeerDependencies: + - supports-color - postcss-minify-params@6.1.0(postcss@8.5.6): + mdast-util-gfm-strikethrough@2.0.0: dependencies: - browserslist: 4.28.1 - cssnano-utils: 4.0.2(postcss@8.5.6) - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + '@types/mdast': 4.0.4 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color - postcss-minify-selectors@4.0.2: + mdast-util-gfm-table@2.0.0: dependencies: - alphanum-sort: 1.0.2 - has: 1.0.4 - postcss: 7.0.39 - postcss-selector-parser: 3.1.2 + '@types/mdast': 4.0.4 + devlop: 1.1.0 + markdown-table: 3.0.4 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color - postcss-minify-selectors@6.0.4(postcss@8.5.6): + mdast-util-gfm-task-list-item@2.0.0: dependencies: - postcss: 8.5.6 - postcss-selector-parser: 6.1.2 + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color - postcss-modules-extract-imports@3.1.0(postcss@8.5.6): + mdast-util-gfm@3.1.0: dependencies: - postcss: 8.5.6 + mdast-util-from-markdown: 2.0.2 + mdast-util-gfm-autolink-literal: 2.0.1 + mdast-util-gfm-footnote: 2.1.0 + mdast-util-gfm-strikethrough: 2.0.0 + mdast-util-gfm-table: 2.0.0 + mdast-util-gfm-task-list-item: 2.0.0 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color - postcss-modules-local-by-default@4.2.0(postcss@8.5.6): + mdast-util-mdx-expression@2.0.1: dependencies: - icss-utils: 5.1.0(postcss@8.5.6) - postcss: 8.5.6 - postcss-selector-parser: 7.1.1 - postcss-value-parser: 4.2.0 + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color - postcss-modules-scope@3.2.1(postcss@8.5.6): + mdast-util-mdx-jsx@3.2.0: dependencies: - postcss: 8.5.6 - postcss-selector-parser: 7.1.1 + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + parse-entities: 4.0.2 + stringify-entities: 4.0.4 + unist-util-stringify-position: 4.0.0 + vfile-message: 4.0.3 + transitivePeerDependencies: + - supports-color - postcss-modules-values@4.0.0(postcss@8.5.6): + mdast-util-mdx@3.0.0: dependencies: - icss-utils: 5.1.0(postcss@8.5.6) - postcss: 8.5.6 + mdast-util-from-markdown: 2.0.2 + mdast-util-mdx-expression: 2.0.1 + mdast-util-mdx-jsx: 3.2.0 + mdast-util-mdxjs-esm: 2.0.1 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color - postcss-nesting@13.0.2(postcss@8.5.6): + mdast-util-mdxjs-esm@2.0.1: dependencies: - '@csstools/selector-resolve-nested': 3.1.0(postcss-selector-parser@7.1.1) - '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.1) - postcss: 8.5.6 - postcss-selector-parser: 7.1.1 + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color - postcss-normalize-charset@4.0.1: + mdast-util-phrasing@4.1.0: dependencies: - postcss: 7.0.39 + '@types/mdast': 4.0.4 + unist-util-is: 6.0.1 - postcss-normalize-charset@6.0.2(postcss@8.5.6): + mdast-util-to-hast@13.2.1: dependencies: - postcss: 8.5.6 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + '@ungap/structured-clone': 1.3.0 + devlop: 1.1.0 + micromark-util-sanitize-uri: 2.0.1 + trim-lines: 3.0.1 + unist-util-position: 5.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.3 - postcss-normalize-display-values@4.0.2: + mdast-util-to-markdown@2.1.2: dependencies: - cssnano-util-get-match: 4.0.0 - postcss: 7.0.39 - postcss-value-parser: 3.3.1 + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + longest-streak: 3.1.0 + mdast-util-phrasing: 4.1.0 + mdast-util-to-string: 4.0.0 + micromark-util-classify-character: 2.0.1 + micromark-util-decode-string: 2.0.1 + unist-util-visit: 5.0.0 + zwitch: 2.0.4 - postcss-normalize-display-values@6.0.2(postcss@8.5.6): + mdast-util-to-string@4.0.0: dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + '@types/mdast': 4.0.4 - postcss-normalize-positions@4.0.2: - dependencies: - cssnano-util-get-arguments: 4.0.0 - has: 1.0.4 - postcss: 7.0.39 - postcss-value-parser: 3.3.1 + mdn-data@2.0.28: {} - postcss-normalize-positions@6.0.2(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + mdn-data@2.12.2: {} - postcss-normalize-repeat-style@4.0.2: + micromark-core-commonmark@2.0.3: dependencies: - cssnano-util-get-arguments: 4.0.0 - cssnano-util-get-match: 4.0.0 - postcss: 7.0.39 - postcss-value-parser: 3.3.1 + decode-named-character-reference: 1.2.0 + devlop: 1.1.0 + micromark-factory-destination: 2.0.1 + micromark-factory-label: 2.0.1 + micromark-factory-space: 2.0.1 + micromark-factory-title: 2.0.1 + micromark-factory-whitespace: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-chunked: 2.0.1 + micromark-util-classify-character: 2.0.1 + micromark-util-html-tag-name: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-subtokenize: 2.1.0 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 - postcss-normalize-repeat-style@6.0.2(postcss@8.5.6): + micromark-extension-directive@3.0.2: dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + devlop: 1.1.0 + micromark-factory-space: 2.0.1 + micromark-factory-whitespace: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + parse-entities: 4.0.2 - postcss-normalize-string@4.0.2: + micromark-extension-gfm-autolink-literal@2.1.0: dependencies: - has: 1.0.4 - postcss: 7.0.39 - postcss-value-parser: 3.3.1 + micromark-util-character: 2.1.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 - postcss-normalize-string@6.0.2(postcss@8.5.6): + micromark-extension-gfm-footnote@2.1.0: dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.3 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 - postcss-normalize-timing-functions@4.0.2: + micromark-extension-gfm-strikethrough@2.1.0: dependencies: - cssnano-util-get-match: 4.0.0 - postcss: 7.0.39 - postcss-value-parser: 3.3.1 + devlop: 1.1.0 + micromark-util-chunked: 2.0.1 + micromark-util-classify-character: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 - postcss-normalize-timing-functions@6.0.2(postcss@8.5.6): + micromark-extension-gfm-table@2.1.1: dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + devlop: 1.1.0 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 - postcss-normalize-unicode@4.0.1: + micromark-extension-gfm-tagfilter@2.0.0: dependencies: - browserslist: 4.28.1 - postcss: 7.0.39 - postcss-value-parser: 3.3.1 + micromark-util-types: 2.0.2 - postcss-normalize-unicode@6.1.0(postcss@8.5.6): + micromark-extension-gfm-task-list-item@2.1.0: dependencies: - browserslist: 4.28.1 - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + devlop: 1.1.0 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 - postcss-normalize-url@4.0.1: + micromark-extension-gfm@3.0.0: dependencies: - is-absolute-url: 2.1.0 - normalize-url: 3.3.0 - postcss: 7.0.39 - postcss-value-parser: 3.3.1 + micromark-extension-gfm-autolink-literal: 2.1.0 + micromark-extension-gfm-footnote: 2.1.0 + micromark-extension-gfm-strikethrough: 2.1.0 + micromark-extension-gfm-table: 2.1.1 + micromark-extension-gfm-tagfilter: 2.0.0 + micromark-extension-gfm-task-list-item: 2.1.0 + micromark-util-combine-extensions: 2.0.1 + micromark-util-types: 2.0.2 - postcss-normalize-url@6.0.2(postcss@8.5.6): + micromark-extension-mdx-expression@3.0.1: dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + '@types/estree': 1.0.8 + devlop: 1.1.0 + micromark-factory-mdx-expression: 2.0.3 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-events-to-acorn: 2.0.3 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 - postcss-normalize-whitespace@4.0.2: + micromark-extension-mdx-jsx@3.0.2: dependencies: - postcss: 7.0.39 - postcss-value-parser: 3.3.1 + '@types/estree': 1.0.8 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + micromark-factory-mdx-expression: 2.0.3 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-events-to-acorn: 2.0.3 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + vfile-message: 4.0.3 - postcss-normalize-whitespace@6.0.2(postcss@8.5.6): + micromark-extension-mdx-md@2.0.0: dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + micromark-util-types: 2.0.2 - postcss-opacity-percentage@3.0.0(postcss@8.5.6): + micromark-extension-mdxjs-esm@3.0.0: dependencies: - postcss: 8.5.6 + '@types/estree': 1.0.8 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.3 + micromark-util-character: 2.1.1 + micromark-util-events-to-acorn: 2.0.3 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + unist-util-position-from-estree: 2.0.0 + vfile-message: 4.0.3 - postcss-ordered-values@4.1.2: + micromark-extension-mdxjs@3.0.0: dependencies: - cssnano-util-get-arguments: 4.0.0 - postcss: 7.0.39 - postcss-value-parser: 3.3.1 + acorn: 8.15.0 + acorn-jsx: 5.3.2(acorn@8.15.0) + micromark-extension-mdx-expression: 3.0.1 + micromark-extension-mdx-jsx: 3.0.2 + micromark-extension-mdx-md: 2.0.0 + micromark-extension-mdxjs-esm: 3.0.0 + micromark-util-combine-extensions: 2.0.1 + micromark-util-types: 2.0.2 - postcss-ordered-values@6.0.2(postcss@8.5.6): + micromark-factory-destination@2.0.1: dependencies: - cssnano-utils: 4.0.2(postcss@8.5.6) - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 - postcss-overflow-shorthand@6.0.0(postcss@8.5.6): + micromark-factory-label@2.0.1: dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + devlop: 1.1.0 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 - postcss-page-break@3.0.4(postcss@8.5.6): + micromark-factory-mdx-expression@2.0.3: dependencies: - postcss: 8.5.6 + '@types/estree': 1.0.8 + devlop: 1.1.0 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-events-to-acorn: 2.0.3 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + unist-util-position-from-estree: 2.0.0 + vfile-message: 4.0.3 - postcss-place@10.0.0(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - - postcss-preset-env@10.5.0(postcss@8.5.6): - dependencies: - '@csstools/postcss-alpha-function': 1.0.1(postcss@8.5.6) - '@csstools/postcss-cascade-layers': 5.0.2(postcss@8.5.6) - '@csstools/postcss-color-function': 4.0.12(postcss@8.5.6) - '@csstools/postcss-color-function-display-p3-linear': 1.0.1(postcss@8.5.6) - '@csstools/postcss-color-mix-function': 3.0.12(postcss@8.5.6) - '@csstools/postcss-color-mix-variadic-function-arguments': 1.0.2(postcss@8.5.6) - '@csstools/postcss-content-alt-text': 2.0.8(postcss@8.5.6) - '@csstools/postcss-contrast-color-function': 2.0.12(postcss@8.5.6) - '@csstools/postcss-exponential-functions': 2.0.9(postcss@8.5.6) - '@csstools/postcss-font-format-keywords': 4.0.0(postcss@8.5.6) - '@csstools/postcss-gamut-mapping': 2.0.11(postcss@8.5.6) - '@csstools/postcss-gradients-interpolation-method': 5.0.12(postcss@8.5.6) - '@csstools/postcss-hwb-function': 4.0.12(postcss@8.5.6) - '@csstools/postcss-ic-unit': 4.0.4(postcss@8.5.6) - '@csstools/postcss-initial': 2.0.1(postcss@8.5.6) - '@csstools/postcss-is-pseudo-class': 5.0.3(postcss@8.5.6) - '@csstools/postcss-light-dark-function': 2.0.11(postcss@8.5.6) - '@csstools/postcss-logical-float-and-clear': 3.0.0(postcss@8.5.6) - '@csstools/postcss-logical-overflow': 2.0.0(postcss@8.5.6) - '@csstools/postcss-logical-overscroll-behavior': 2.0.0(postcss@8.5.6) - '@csstools/postcss-logical-resize': 3.0.0(postcss@8.5.6) - '@csstools/postcss-logical-viewport-units': 3.0.4(postcss@8.5.6) - '@csstools/postcss-media-minmax': 2.0.9(postcss@8.5.6) - '@csstools/postcss-media-queries-aspect-ratio-number-values': 3.0.5(postcss@8.5.6) - '@csstools/postcss-nested-calc': 4.0.0(postcss@8.5.6) - '@csstools/postcss-normalize-display-values': 4.0.0(postcss@8.5.6) - '@csstools/postcss-oklab-function': 4.0.12(postcss@8.5.6) - '@csstools/postcss-position-area-property': 1.0.0(postcss@8.5.6) - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/postcss-random-function': 2.0.1(postcss@8.5.6) - '@csstools/postcss-relative-color-syntax': 3.0.12(postcss@8.5.6) - '@csstools/postcss-scope-pseudo-class': 4.0.1(postcss@8.5.6) - '@csstools/postcss-sign-functions': 1.1.4(postcss@8.5.6) - '@csstools/postcss-stepped-value-functions': 4.0.9(postcss@8.5.6) - '@csstools/postcss-system-ui-font-family': 1.0.0(postcss@8.5.6) - '@csstools/postcss-text-decoration-shorthand': 4.0.3(postcss@8.5.6) - '@csstools/postcss-trigonometric-functions': 4.0.9(postcss@8.5.6) - '@csstools/postcss-unset-value': 4.0.0(postcss@8.5.6) - autoprefixer: 10.4.22(postcss@8.5.6) - browserslist: 4.28.1 - css-blank-pseudo: 7.0.1(postcss@8.5.6) - css-has-pseudo: 7.0.3(postcss@8.5.6) - css-prefers-color-scheme: 10.0.0(postcss@8.5.6) - cssdb: 8.5.2 - postcss: 8.5.6 - postcss-attribute-case-insensitive: 7.0.1(postcss@8.5.6) - postcss-clamp: 4.1.0(postcss@8.5.6) - postcss-color-functional-notation: 7.0.12(postcss@8.5.6) - postcss-color-hex-alpha: 10.0.0(postcss@8.5.6) - postcss-color-rebeccapurple: 10.0.0(postcss@8.5.6) - postcss-custom-media: 11.0.6(postcss@8.5.6) - postcss-custom-properties: 14.0.6(postcss@8.5.6) - postcss-custom-selectors: 8.0.5(postcss@8.5.6) - postcss-dir-pseudo-class: 9.0.1(postcss@8.5.6) - postcss-double-position-gradients: 6.0.4(postcss@8.5.6) - postcss-focus-visible: 10.0.1(postcss@8.5.6) - postcss-focus-within: 9.0.1(postcss@8.5.6) - postcss-font-variant: 5.0.0(postcss@8.5.6) - postcss-gap-properties: 6.0.0(postcss@8.5.6) - postcss-image-set-function: 7.0.0(postcss@8.5.6) - postcss-lab-function: 7.0.12(postcss@8.5.6) - postcss-logical: 8.1.0(postcss@8.5.6) - postcss-nesting: 13.0.2(postcss@8.5.6) - postcss-opacity-percentage: 3.0.0(postcss@8.5.6) - postcss-overflow-shorthand: 6.0.0(postcss@8.5.6) - postcss-page-break: 3.0.4(postcss@8.5.6) - postcss-place: 10.0.0(postcss@8.5.6) - postcss-pseudo-class-any-link: 10.0.1(postcss@8.5.6) - postcss-replace-overflow-wrap: 4.0.0(postcss@8.5.6) - postcss-selector-not: 8.0.1(postcss@8.5.6) - - postcss-pseudo-class-any-link@10.0.1(postcss@8.5.6): + micromark-factory-space@2.0.1: dependencies: - postcss: 8.5.6 - postcss-selector-parser: 7.1.1 + micromark-util-character: 2.1.1 + micromark-util-types: 2.0.2 - postcss-reduce-idents@6.0.3(postcss@8.5.6): + micromark-factory-title@2.0.1: dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 - postcss-reduce-initial@4.0.3: + micromark-factory-whitespace@2.0.1: dependencies: - browserslist: 4.28.1 - caniuse-api: 3.0.0 - has: 1.0.4 - postcss: 7.0.39 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 - postcss-reduce-initial@6.1.0(postcss@8.5.6): + micromark-util-character@2.1.1: dependencies: - browserslist: 4.28.1 - caniuse-api: 3.0.0 - postcss: 8.5.6 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 - postcss-reduce-transforms@4.0.2: + micromark-util-chunked@2.0.1: dependencies: - cssnano-util-get-match: 4.0.0 - has: 1.0.4 - postcss: 7.0.39 - postcss-value-parser: 3.3.1 + micromark-util-symbol: 2.0.1 - postcss-reduce-transforms@6.0.2(postcss@8.5.6): + micromark-util-classify-character@2.0.1: dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 - postcss-replace-overflow-wrap@4.0.0(postcss@8.5.6): + micromark-util-combine-extensions@2.0.1: dependencies: - postcss: 8.5.6 + micromark-util-chunked: 2.0.1 + micromark-util-types: 2.0.2 - postcss-selector-not@8.0.1(postcss@8.5.6): + micromark-util-decode-numeric-character-reference@2.0.2: dependencies: - postcss: 8.5.6 - postcss-selector-parser: 7.1.1 + micromark-util-symbol: 2.0.1 - postcss-selector-parser@3.1.2: + micromark-util-decode-string@2.0.1: dependencies: - dot-prop: 5.3.0 - indexes-of: 1.0.1 - uniq: 1.0.1 + decode-named-character-reference: 1.2.0 + micromark-util-character: 2.1.1 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-symbol: 2.0.1 - postcss-selector-parser@6.0.10: - dependencies: - cssesc: 3.0.0 - util-deprecate: 1.0.2 + micromark-util-encode@2.0.1: {} - postcss-selector-parser@6.1.2: + micromark-util-events-to-acorn@2.0.3: dependencies: - cssesc: 3.0.0 - util-deprecate: 1.0.2 + '@types/estree': 1.0.8 + '@types/unist': 3.0.3 + devlop: 1.1.0 + estree-util-visit: 2.0.0 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + vfile-message: 4.0.3 - postcss-selector-parser@7.1.1: - dependencies: - cssesc: 3.0.0 - util-deprecate: 1.0.2 + micromark-util-html-tag-name@2.0.1: {} - postcss-sort-media-queries@5.2.0(postcss@8.5.6): + micromark-util-normalize-identifier@2.0.1: dependencies: - postcss: 8.5.6 - sort-css-media-queries: 2.2.0 + micromark-util-symbol: 2.0.1 - postcss-svgo@4.0.3: + micromark-util-resolve-all@2.0.1: dependencies: - postcss: 7.0.39 - postcss-value-parser: 3.3.1 - svgo: 1.3.2 + micromark-util-types: 2.0.2 - postcss-svgo@6.0.3(postcss@8.5.6): + micromark-util-sanitize-uri@2.0.1: dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - svgo: 3.3.2 + micromark-util-character: 2.1.1 + micromark-util-encode: 2.0.1 + micromark-util-symbol: 2.0.1 - postcss-unique-selectors@4.0.1: + micromark-util-subtokenize@2.1.0: dependencies: - alphanum-sort: 1.0.2 - postcss: 7.0.39 - uniqs: 2.0.0 + devlop: 1.1.0 + micromark-util-chunked: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 - postcss-unique-selectors@6.0.4(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-selector-parser: 6.1.2 + micromark-util-symbol@2.0.1: {} - postcss-value-parser@3.3.1: {} + micromark-util-types@2.0.2: {} - postcss-value-parser@4.2.0: {} + micromark@4.0.2: + dependencies: + '@types/debug': 4.1.12 + debug: 4.4.3 + decode-named-character-reference: 1.2.0 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.3 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-chunked: 2.0.1 + micromark-util-combine-extensions: 2.0.1 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-encode: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-subtokenize: 2.1.0 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + transitivePeerDependencies: + - supports-color - postcss-zindex@6.0.2(postcss@8.5.6): + micromatch@4.0.8: dependencies: - postcss: 8.5.6 + braces: 3.0.3 + picomatch: 2.3.1 + optional: true - postcss@7.0.39: + minimatch@10.1.1: dependencies: - picocolors: 0.2.1 - source-map: 0.6.1 + '@isaacs/brace-expansion': 5.0.0 - postcss@8.5.6: + minimatch@5.1.6: dependencies: - nanoid: 3.3.11 - picocolors: 1.1.1 - source-map-js: 1.2.1 + brace-expansion: 2.0.2 - prepend-http@1.0.4: {} + minipass@7.1.2: {} - prepend-http@2.0.0: {} + mrmime@2.0.1: {} - pretty-bytes@5.6.0: {} + ms@2.1.3: {} - pretty-error@4.0.0: - dependencies: - lodash: 4.17.21 - renderkid: 3.0.0 + nanoid@3.3.11: {} - pretty-time@1.1.0: {} + neotraverse@0.6.18: {} - prism-react-renderer@2.4.1(react@19.2.3): + nlcst-to-string@4.0.0: dependencies: - '@types/prismjs': 1.26.5 - clsx: 2.1.1 - react: 19.2.3 + '@types/nlcst': 2.0.3 - prismjs@1.30.0: {} + node-addon-api@7.1.1: + optional: true - process-nextick-args@2.0.1: {} + node-fetch-native@1.6.7: {} - prompts@2.4.0: - dependencies: - kleur: 3.0.3 - sisteransi: 1.0.5 + node-mock-http@1.0.4: {} - prompts@2.4.2: - dependencies: - kleur: 3.0.3 - sisteransi: 1.0.5 + node-releases@2.0.27: {} - prop-types-exact@1.2.7: - dependencies: - call-bound: 1.0.4 - es-errors: 1.3.0 - hasown: 2.0.2 - isarray: 2.0.5 - object.assign: 4.1.7 - own-keys: 1.0.1 + normalize-path@3.0.0: {} - prop-types@15.8.1: + nth-check@2.1.1: dependencies: - loose-envify: 1.4.0 - object-assign: 4.1.1 - react-is: 16.13.1 - - property-information@7.1.0: {} - - proto-list@1.2.4: {} + boolbase: 1.0.0 - proxy-addr@2.0.7: - dependencies: - forwarded: 0.2.0 - ipaddr.js: 1.9.1 + object-inspect@1.13.4: {} - pseudomap@1.0.2: {} + object-keys@1.1.1: {} - psl@1.15.0: + object.assign@4.1.7: dependencies: - punycode: 2.3.1 + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-object-atoms: 1.1.1 + has-symbols: 1.1.0 + object-keys: 1.1.1 - pump@3.0.3: + ofetch@1.5.1: dependencies: - end-of-stream: 1.4.5 - once: 1.4.0 + destr: 2.0.5 + node-fetch-native: 1.6.7 + ufo: 1.6.1 - punycode.js@2.3.1: {} + ohash@2.0.11: {} - punycode@2.3.1: {} + oniguruma-parser@0.12.1: {} - pupa@3.3.0: + oniguruma-to-es@4.3.4: dependencies: - escape-goat: 4.0.0 - - q@1.5.1: {} + oniguruma-parser: 0.12.1 + regex: 6.1.0 + regex-recursion: 6.0.2 - qs@6.14.0: + own-keys@1.0.1: dependencies: - side-channel: 1.1.0 + get-intrinsic: 1.3.0 + object-keys: 1.1.1 + safe-push-apply: 1.0.0 - qs@6.5.3: {} + p-limit@6.2.0: + dependencies: + yocto-queue: 1.2.2 - query-string@5.1.1: + p-queue@8.1.1: dependencies: - decode-uri-component: 0.2.2 - object-assign: 4.1.1 - strict-uri-encode: 1.1.0 + eventemitter3: 5.0.1 + p-timeout: 6.1.4 + + p-timeout@6.1.4: {} - queue-microtask@1.2.3: {} + package-json-from-dist@1.0.1: {} - quick-lru@5.1.1: {} + package-manager-detector@1.6.0: {} - raf@3.4.1: - dependencies: - performance-now: 2.1.0 + pagefind@1.4.0: + optionalDependencies: + '@pagefind/darwin-arm64': 1.4.0 + '@pagefind/darwin-x64': 1.4.0 + '@pagefind/freebsd-x64': 1.4.0 + '@pagefind/linux-arm64': 1.4.0 + '@pagefind/linux-x64': 1.4.0 + '@pagefind/windows-x64': 1.4.0 - railroad-diagrams@1.0.0: {} + pako@0.2.9: {} - randexp@0.4.6: + parse-entities@4.0.2: dependencies: - discontinuous-range: 1.0.0 - ret: 0.1.15 + '@types/unist': 2.0.11 + character-entities-legacy: 3.0.0 + character-reference-invalid: 2.0.1 + decode-named-character-reference: 1.2.0 + is-alphanumerical: 2.0.1 + is-decimal: 2.0.1 + is-hexadecimal: 2.0.1 - randomatic@3.1.1: + parse-latin@7.0.0: dependencies: - is-number: 4.0.0 - kind-of: 6.0.3 - math-random: 1.0.4 + '@types/nlcst': 2.0.3 + '@types/unist': 3.0.3 + nlcst-to-string: 4.0.0 + unist-util-modify-children: 4.0.0 + unist-util-visit-children: 3.0.0 + vfile: 6.0.3 - randombytes@2.1.0: + parse5@7.3.0: dependencies: - safe-buffer: 5.2.1 + entities: 6.0.1 - range-parser@1.2.0: {} - - range-parser@1.2.1: {} - - raw-body@1.1.7: - dependencies: - bytes: 1.0.0 - string_decoder: 0.10.31 - - raw-body@2.5.3: - dependencies: - bytes: 3.1.2 - http-errors: 2.0.1 - iconv-lite: 0.4.24 - unpipe: 1.0.0 - - rc@1.2.8: - dependencies: - deep-extend: 0.6.0 - ini: 1.3.8 - minimist: 1.2.8 - strip-json-comments: 2.0.1 - - react-dev-utils@11.0.4(typescript@5.9.3)(webpack@5.103.0(@swc/core@1.15.4)): - dependencies: - '@babel/code-frame': 7.10.4 - address: 1.1.2 - browserslist: 4.14.2 - chalk: 2.4.2 - cross-spawn: 7.0.3 - detect-port-alt: 1.1.6 - escape-string-regexp: 2.0.0 - filesize: 6.1.0 - find-up: 4.1.0 - fork-ts-checker-webpack-plugin: 4.1.6(typescript@5.9.3)(webpack@5.103.0(@swc/core@1.15.4)) - global-modules: 2.0.0 - globby: 11.0.1 - gzip-size: 5.1.1 - immer: 8.0.1 - is-root: 2.1.0 - loader-utils: 2.0.0 - open: 7.4.2 - pkg-up: 3.1.0 - prompts: 2.4.0 - react-error-overlay: 6.1.0 - recursive-readdir: 2.2.2 - shell-quote: 1.7.2 - strip-ansi: 6.0.0 - text-table: 0.2.0 - webpack: 5.103.0(@swc/core@1.15.4) - optionalDependencies: - typescript: 5.9.3 - transitivePeerDependencies: - - eslint - - supports-color - - vue-template-compiler + path-key@3.1.1: {} - react-dom@16.14.0(react@16.14.0): - dependencies: - loose-envify: 1.4.0 - object-assign: 4.1.1 - prop-types: 15.8.1 - react: 16.14.0 - scheduler: 0.19.1 + path-parse@1.0.7: {} - react-dom@19.2.3(react@19.2.3): + path-scurry@2.0.1: dependencies: - react: 19.2.3 - scheduler: 0.27.0 + lru-cache: 11.2.4 + minipass: 7.1.2 - react-error-overlay@6.1.0: {} + piccolore@0.1.3: {} - react-fast-compare@3.2.2: {} + picocolors@1.1.1: {} - react-is@16.13.1: {} + picomatch@2.3.1: {} - react-is@18.3.1: {} + picomatch@4.0.3: {} - react-json-view-lite@2.5.0(react@19.2.3): - dependencies: - react: 19.2.3 + possible-typed-array-names@1.1.0: {} - react-loadable-ssr-addon-v5-slorber@1.0.1(@docusaurus/react-loadable@6.0.0(react@19.2.3))(webpack@5.103.0(@swc/core@1.15.4)): + postcss-nested@6.2.0(postcss@8.5.6): dependencies: - '@babel/runtime': 7.28.4 - react-loadable: '@docusaurus/react-loadable@6.0.0(react@19.2.3)' - webpack: 5.103.0(@swc/core@1.15.4) + postcss: 8.5.6 + postcss-selector-parser: 6.1.2 - react-router-config@5.1.1(react-router@5.3.4(react@19.2.3))(react@19.2.3): + postcss-selector-parser@6.1.2: dependencies: - '@babel/runtime': 7.28.4 - react: 19.2.3 - react-router: 5.3.4(react@19.2.3) + cssesc: 3.0.0 + util-deprecate: 1.0.2 - react-router-dom@5.3.4(react@19.2.3): + postcss@8.5.6: dependencies: - '@babel/runtime': 7.28.4 - history: 4.10.1 - loose-envify: 1.4.0 - prop-types: 15.8.1 - react: 19.2.3 - react-router: 5.3.4(react@19.2.3) - tiny-invariant: 1.3.3 - tiny-warning: 1.0.3 + nanoid: 3.3.11 + picocolors: 1.1.1 + source-map-js: 1.2.1 - react-router@5.3.4(react@19.2.3): - dependencies: - '@babel/runtime': 7.28.4 - history: 4.10.1 - hoist-non-react-statics: 3.3.2 - loose-envify: 1.4.0 - path-to-regexp: 1.9.0 - prop-types: 15.8.1 - react: 19.2.3 - react-is: 16.13.1 - tiny-invariant: 1.3.3 - tiny-warning: 1.0.3 + pretty-bytes@5.6.0: {} - react-test-renderer@16.14.0(react@16.14.0): - dependencies: - object-assign: 4.1.1 - prop-types: 15.8.1 - react: 16.14.0 - react-is: 16.13.1 - scheduler: 0.19.1 + pretty-bytes@6.1.1: {} - react@16.14.0: + prismjs@1.30.0: {} + + prompts@2.4.2: dependencies: - loose-envify: 1.4.0 - object-assign: 4.1.1 - prop-types: 15.8.1 + kleur: 3.0.3 + sisteransi: 1.0.5 - react@19.2.3: {} + property-information@7.1.0: {} - read-pkg-up@1.0.1: - dependencies: - find-up: 1.1.2 - read-pkg: 1.1.0 + punycode@2.3.1: {} - read-pkg@1.1.0: - dependencies: - load-json-file: 1.1.0 - normalize-package-data: 2.5.0 - path-type: 1.1.0 + radix3@1.1.2: {} - readable-stream@2.3.8: + randombytes@2.1.0: dependencies: - core-util-is: 1.0.3 - inherits: 2.0.4 - isarray: 1.0.0 - process-nextick-args: 2.0.1 - safe-buffer: 5.1.2 - string_decoder: 1.1.1 - util-deprecate: 1.0.2 + safe-buffer: 5.2.1 - readable-stream@3.6.2: + react-dom@19.2.3(react@19.2.3): dependencies: - inherits: 2.0.4 - string_decoder: 1.3.0 - util-deprecate: 1.0.2 + react: 19.2.3 + scheduler: 0.27.0 - readdirp@3.6.0: - dependencies: - picomatch: 2.3.1 + react@19.2.3: {} readdirp@4.1.2: {} - rechoir@0.6.2: - dependencies: - resolve: 1.22.11 - recma-build-jsx@1.0.0: dependencies: '@types/estree': 1.0.8 @@ -19394,15 +7206,6 @@ snapshots: unified: 11.0.5 vfile: 6.0.3 - recursive-readdir@2.2.2: - dependencies: - minimatch: 3.0.4 - - redent@1.0.0: - dependencies: - indent-string: 2.1.0 - strip-indent: 1.0.1 - reflect.getprototypeof@1.0.10: dependencies: call-bind: 1.0.8 @@ -19420,12 +7223,15 @@ snapshots: regenerate@1.4.2: {} - regenerator-runtime@0.13.11: {} + regex-recursion@6.0.2: + dependencies: + regex-utilities: 2.3.0 + + regex-utilities@2.3.0: {} - regex-not@1.0.2: + regex@6.1.0: dependencies: - extend-shallow: 3.0.2 - safe-regex: 1.1.0 + regex-utilities: 2.3.0 regexp.prototype.flags@1.5.4: dependencies: @@ -19445,19 +7251,26 @@ snapshots: unicode-match-property-ecmascript: 2.0.0 unicode-match-property-value-ecmascript: 2.2.1 - registry-auth-token@5.1.0: + regjsgen@0.8.0: {} + + regjsparser@0.13.0: dependencies: - '@pnpm/npm-conf': 2.3.1 + jsesc: 3.1.0 - registry-url@6.0.1: + rehype-expressive-code@0.41.4: dependencies: - rc: 1.2.8 + expressive-code: 0.41.4 - regjsgen@0.8.0: {} + rehype-format@5.0.1: + dependencies: + '@types/hast': 3.0.4 + hast-util-format: 1.1.0 - regjsparser@0.13.0: + rehype-parse@9.0.1: dependencies: - jsesc: 3.1.0 + '@types/hast': 3.0.4 + hast-util-from-html: 2.0.3 + unified: 11.0.5 rehype-raw@7.0.0: dependencies: @@ -19468,35 +7281,29 @@ snapshots: rehype-recma@1.0.0: dependencies: '@types/estree': 1.0.8 - '@types/hast': 3.0.4 - hast-util-to-estree: 3.1.3 - transitivePeerDependencies: - - supports-color - - relateurl@0.2.7: {} - - remark-directive@3.0.1: - dependencies: - '@types/mdast': 4.0.4 - mdast-util-directive: 3.1.0 - micromark-extension-directive: 3.0.2 - unified: 11.0.5 + '@types/hast': 3.0.4 + hast-util-to-estree: 3.1.3 transitivePeerDependencies: - supports-color - remark-emoji@4.0.1: + rehype-stringify@10.0.1: dependencies: - '@types/mdast': 4.0.4 - emoticon: 4.1.0 - mdast-util-find-and-replace: 3.0.2 - node-emoji: 2.2.0 + '@types/hast': 3.0.4 + hast-util-to-html: 9.0.5 + unified: 11.0.5 + + rehype@13.0.2: + dependencies: + '@types/hast': 3.0.4 + rehype-parse: 9.0.1 + rehype-stringify: 10.0.1 unified: 11.0.5 - remark-frontmatter@5.0.0: + remark-directive@3.0.1: dependencies: '@types/mdast': 4.0.4 - mdast-util-frontmatter: 2.0.1 - micromark-extension-frontmatter: 2.0.0 + mdast-util-directive: 3.1.0 + micromark-extension-directive: 3.0.2 unified: 11.0.5 transitivePeerDependencies: - supports-color @@ -19536,143 +7343,85 @@ snapshots: unified: 11.0.5 vfile: 6.0.3 + remark-smartypants@3.0.2: + dependencies: + retext: 9.0.0 + retext-smartypants: 6.2.0 + unified: 11.0.5 + unist-util-visit: 5.0.0 + remark-stringify@11.0.0: dependencies: '@types/mdast': 4.0.4 mdast-util-to-markdown: 2.1.2 unified: 11.0.5 - remarkable@1.7.4: - dependencies: - argparse: 1.0.10 - autolinker: 0.28.1 - - remarkable@2.0.1: - dependencies: - argparse: 1.0.10 - autolinker: 3.16.2 - - renderkid@3.0.0: - dependencies: - css-select: 4.3.0 - dom-converter: 0.2.0 - htmlparser2: 6.1.0 - lodash: 4.17.21 - strip-ansi: 6.0.1 - - repeat-element@1.1.4: {} - - repeat-string@1.6.1: {} - - repeating@2.0.1: - dependencies: - is-finite: 1.1.0 - - replace-ext@1.0.1: {} - - request@2.88.2: - dependencies: - aws-sign2: 0.7.0 - aws4: 1.13.2 - caseless: 0.12.0 - combined-stream: 1.0.8 - extend: 3.0.2 - forever-agent: 0.6.1 - form-data: 2.3.3 - har-validator: 5.1.5 - http-signature: 1.2.0 - is-typedarray: 1.0.0 - isstream: 0.1.2 - json-stringify-safe: 5.0.1 - mime-types: 2.1.35 - oauth-sign: 0.9.0 - performance-now: 2.1.0 - qs: 6.5.3 - safe-buffer: 5.2.1 - tough-cookie: 2.5.0 - tunnel-agent: 0.6.0 - uuid: 3.4.0 - require-from-string@2.0.2: {} - require-like@0.1.2: {} - - requires-port@1.0.0: {} - - resolve-alpn@1.2.1: {} - - resolve-from@3.0.0: {} - - resolve-from@4.0.0: {} - - resolve-package-path@4.0.3: - dependencies: - path-root: 0.1.1 - - resolve-pathname@3.0.0: {} - - resolve-url@0.2.1: {} - resolve@1.22.11: dependencies: is-core-module: 2.16.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - responselike@1.0.2: - dependencies: - lowercase-keys: 1.0.1 + restructure@3.0.2: {} - responselike@3.0.0: + retext-latin@4.0.0: dependencies: - lowercase-keys: 3.0.0 - - ret@0.1.15: {} - - retry@0.13.1: {} - - reusify@1.1.0: {} - - rgb-regex@1.0.1: {} + '@types/nlcst': 2.0.3 + parse-latin: 7.0.0 + unified: 11.0.5 - rgba-regex@1.0.0: {} + retext-smartypants@6.2.0: + dependencies: + '@types/nlcst': 2.0.3 + nlcst-to-string: 4.0.0 + unist-util-visit: 5.0.0 - rimraf@2.7.1: + retext-stringify@4.0.0: dependencies: - glob: 7.2.3 + '@types/nlcst': 2.0.3 + nlcst-to-string: 4.0.0 + unified: 11.0.5 - robust-predicates@3.0.2: {} + retext@9.0.0: + dependencies: + '@types/nlcst': 2.0.3 + retext-latin: 4.0.0 + retext-stringify: 4.0.0 + unified: 11.0.5 rollup@2.79.2: optionalDependencies: fsevents: 2.3.3 - roughjs@4.6.6: - dependencies: - hachure-fill: 0.5.2 - path-data-parser: 0.1.0 - points-on-curve: 0.2.0 - points-on-path: 0.2.1 - - rst-selector-parser@2.2.3: - dependencies: - lodash.flattendeep: 4.4.0 - nearley: 2.20.1 - - rtlcss@4.3.0: - dependencies: - escalade: 3.2.0 - picocolors: 1.1.1 - postcss: 8.5.6 - strip-json-comments: 3.1.1 - - run-applescript@7.1.0: {} - - run-parallel@1.2.0: + rollup@4.53.5: dependencies: - queue-microtask: 1.2.3 - - rw@1.3.3: {} + '@types/estree': 1.0.8 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.53.5 + '@rollup/rollup-android-arm64': 4.53.5 + '@rollup/rollup-darwin-arm64': 4.53.5 + '@rollup/rollup-darwin-x64': 4.53.5 + '@rollup/rollup-freebsd-arm64': 4.53.5 + '@rollup/rollup-freebsd-x64': 4.53.5 + '@rollup/rollup-linux-arm-gnueabihf': 4.53.5 + '@rollup/rollup-linux-arm-musleabihf': 4.53.5 + '@rollup/rollup-linux-arm64-gnu': 4.53.5 + '@rollup/rollup-linux-arm64-musl': 4.53.5 + '@rollup/rollup-linux-loong64-gnu': 4.53.5 + '@rollup/rollup-linux-ppc64-gnu': 4.53.5 + '@rollup/rollup-linux-riscv64-gnu': 4.53.5 + '@rollup/rollup-linux-riscv64-musl': 4.53.5 + '@rollup/rollup-linux-s390x-gnu': 4.53.5 + '@rollup/rollup-linux-x64-gnu': 4.53.5 + '@rollup/rollup-linux-x64-musl': 4.53.5 + '@rollup/rollup-openharmony-arm64': 4.53.5 + '@rollup/rollup-win32-arm64-msvc': 4.53.5 + '@rollup/rollup-win32-ia32-msvc': 4.53.5 + '@rollup/rollup-win32-x64-gnu': 4.53.5 + '@rollup/rollup-win32-x64-msvc': 4.53.5 + fsevents: 2.3.3 rxjs@7.8.2: dependencies: @@ -19687,12 +7436,8 @@ snapshots: has-symbols: 1.1.0 isarray: 2.0.5 - safe-buffer@5.1.2: {} - safe-buffer@5.2.1: {} - safe-json-parse@1.0.1: {} - safe-push-apply@1.0.0: dependencies: es-errors: 1.3.0 @@ -19704,12 +7449,6 @@ snapshots: es-errors: 1.3.0 is-regex: 1.2.1 - safe-regex@1.1.0: - dependencies: - ret: 0.1.15 - - safer-buffer@2.1.2: {} - sass-embedded-android-arm64@1.83.0: optional: true @@ -19803,15 +7542,6 @@ snapshots: sass-embedded-win32-x64: 1.83.0 optional: true - sass-loader@16.0.6(@rspack/core@1.6.7)(sass-embedded@1.83.0)(sass@1.96.0)(webpack@5.103.0(@swc/core@1.15.4)): - dependencies: - neo-async: 2.6.2 - optionalDependencies: - '@rspack/core': 1.6.7 - sass: 1.96.0 - sass-embedded: 1.83.0 - webpack: 5.103.0(@swc/core@1.15.4) - sass@1.96.0: dependencies: chokidar: 4.0.3 @@ -19820,141 +7550,18 @@ snapshots: optionalDependencies: '@parcel/watcher': 2.5.1 - sax@1.2.4: {} - sax@1.4.3: {} - scheduler@0.19.1: - dependencies: - loose-envify: 1.4.0 - object-assign: 4.1.1 - scheduler@0.27.0: {} - schema-dts@1.1.5: {} - - schema-utils@3.3.0: - dependencies: - '@types/json-schema': 7.0.15 - ajv: 6.12.6 - ajv-keywords: 3.5.2(ajv@6.12.6) - - schema-utils@4.3.3: - dependencies: - '@types/json-schema': 7.0.15 - ajv: 8.17.1 - ajv-formats: 2.1.1(ajv@8.17.1) - ajv-keywords: 5.1.0(ajv@8.17.1) - - scroll-into-view-if-needed@3.1.0: - dependencies: - compute-scroll-into-view: 3.1.1 - - search-insights@2.17.3: {} - - section-matter@1.0.0: - dependencies: - extend-shallow: 2.0.1 - kind-of: 6.0.3 - - seek-bzip@1.0.6: - dependencies: - commander: 2.20.3 - - select-hose@2.0.0: {} - - selfsigned@2.4.1: - dependencies: - '@types/node-forge': 1.3.14 - node-forge: 1.3.3 - - semver-diff@4.0.0: - dependencies: - semver: 7.7.3 - - semver-regex@2.0.0: {} - - semver-truncate@1.1.2: - dependencies: - semver: 5.7.2 - - semver@5.7.2: {} - semver@6.3.1: {} semver@7.7.3: {} - send@0.19.0: - dependencies: - debug: 2.6.9 - depd: 2.0.0 - destroy: 1.2.0 - encodeurl: 1.0.2 - escape-html: 1.0.3 - etag: 1.8.1 - fresh: 0.5.2 - http-errors: 2.0.0 - mime: 1.6.0 - ms: 2.1.3 - on-finished: 2.4.1 - range-parser: 1.2.1 - statuses: 2.0.1 - transitivePeerDependencies: - - supports-color - - send@0.19.1: - dependencies: - debug: 2.6.9 - depd: 2.0.0 - destroy: 1.2.0 - encodeurl: 2.0.0 - escape-html: 1.0.3 - etag: 1.8.1 - fresh: 0.5.2 - http-errors: 2.0.0 - mime: 1.6.0 - ms: 2.1.3 - on-finished: 2.4.1 - range-parser: 1.2.1 - statuses: 2.0.1 - transitivePeerDependencies: - - supports-color - serialize-javascript@6.0.2: dependencies: randombytes: 2.1.0 - serve-handler@6.1.6: - dependencies: - bytes: 3.0.0 - content-disposition: 0.5.2 - mime-types: 2.1.18 - minimatch: 3.1.2 - path-is-inside: 1.0.2 - path-to-regexp: 3.3.0 - range-parser: 1.2.0 - - serve-index@1.9.1: - dependencies: - accepts: 1.3.8 - batch: 0.6.1 - debug: 2.6.9 - escape-html: 1.0.3 - http-errors: 1.6.3 - mime-types: 2.1.35 - parseurl: 1.3.3 - transitivePeerDependencies: - - supports-color - - serve-static@1.16.2: - dependencies: - encodeurl: 2.0.0 - escape-html: 1.0.3 - parseurl: 1.3.3 - send: 0.19.0 - transitivePeerDependencies: - - supports-color - set-function-length@1.2.2: dependencies: define-data-property: 1.1.4 @@ -19971,56 +7578,59 @@ snapshots: functions-have-names: 1.2.3 has-property-descriptors: 1.0.2 - set-getter@0.1.1: - dependencies: - to-object-path: 0.3.0 - set-proto@1.0.0: dependencies: dunder-proto: 1.0.1 es-errors: 1.3.0 es-object-atoms: 1.1.1 - set-value@2.0.1: - dependencies: - extend-shallow: 2.0.1 - is-extendable: 0.1.1 - is-plain-object: 2.0.4 - split-string: 3.1.0 - - setimmediate@1.0.5: {} - - setprototypeof@1.1.0: {} - - setprototypeof@1.2.0: {} - - shallow-clone@3.0.1: - dependencies: - kind-of: 6.0.3 - - shallowequal@1.1.0: {} - - shebang-command@1.2.0: + sharp@0.34.5: dependencies: - shebang-regex: 1.0.0 + '@img/colour': 1.0.0 + detect-libc: 2.1.2 + semver: 7.7.3 + optionalDependencies: + '@img/sharp-darwin-arm64': 0.34.5 + '@img/sharp-darwin-x64': 0.34.5 + '@img/sharp-libvips-darwin-arm64': 1.2.4 + '@img/sharp-libvips-darwin-x64': 1.2.4 + '@img/sharp-libvips-linux-arm': 1.2.4 + '@img/sharp-libvips-linux-arm64': 1.2.4 + '@img/sharp-libvips-linux-ppc64': 1.2.4 + '@img/sharp-libvips-linux-riscv64': 1.2.4 + '@img/sharp-libvips-linux-s390x': 1.2.4 + '@img/sharp-libvips-linux-x64': 1.2.4 + '@img/sharp-libvips-linuxmusl-arm64': 1.2.4 + '@img/sharp-libvips-linuxmusl-x64': 1.2.4 + '@img/sharp-linux-arm': 0.34.5 + '@img/sharp-linux-arm64': 0.34.5 + '@img/sharp-linux-ppc64': 0.34.5 + '@img/sharp-linux-riscv64': 0.34.5 + '@img/sharp-linux-s390x': 0.34.5 + '@img/sharp-linux-x64': 0.34.5 + '@img/sharp-linuxmusl-arm64': 0.34.5 + '@img/sharp-linuxmusl-x64': 0.34.5 + '@img/sharp-wasm32': 0.34.5 + '@img/sharp-win32-arm64': 0.34.5 + '@img/sharp-win32-ia32': 0.34.5 + '@img/sharp-win32-x64': 0.34.5 shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 - shebang-regex@1.0.0: {} - shebang-regex@3.0.0: {} - shell-quote@1.7.2: {} - - shell-quote@1.8.3: {} - - shelljs@0.8.5: + shiki@3.20.0: dependencies: - glob: 7.2.3 - interpret: 1.4.0 - rechoir: 0.6.2 + '@shikijs/core': 3.20.0 + '@shikijs/engine-javascript': 3.20.0 + '@shikijs/engine-oniguruma': 3.20.0 + '@shikijs/langs': 3.20.0 + '@shikijs/themes': 3.20.0 + '@shikijs/types': 3.20.0 + '@shikijs/vscode-textmate': 10.0.2 + '@types/hast': 3.0.4 side-channel-list@1.0.0: dependencies: @@ -20050,117 +7660,28 @@ snapshots: side-channel-map: 1.0.1 side-channel-weakmap: 1.0.2 - signal-exit@3.0.7: {} - signal-exit@4.1.0: {} - simple-swizzle@0.2.4: - dependencies: - is-arrayish: 0.3.4 - - sirv@2.0.4: - dependencies: - '@polka/url': 1.0.0-next.29 - mrmime: 2.0.1 - totalist: 3.0.1 - sisteransi@1.0.5: {} - sitemap@3.2.2: - dependencies: - lodash.chunk: 4.2.0 - lodash.padstart: 4.6.1 - whatwg-url: 7.1.0 - xmlbuilder: 13.0.2 - - sitemap@7.1.2: + sitemap@8.0.2: dependencies: '@types/node': 17.0.45 '@types/sax': 1.2.7 arg: 5.0.2 sax: 1.4.3 - skin-tone@2.0.0: - dependencies: - unicode-emoji-modifier-base: 1.0.0 - - slash@1.0.0: {} - - slash@3.0.0: {} - - slash@4.0.0: {} - - slash@5.1.0: {} - smob@1.5.0: {} - snake-case@3.0.4: - dependencies: - dot-case: 3.0.4 - tslib: 2.8.1 - - snapdragon-node@2.1.1: - dependencies: - define-property: 1.0.0 - isobject: 3.0.1 - snapdragon-util: 3.0.1 - - snapdragon-util@3.0.1: - dependencies: - kind-of: 3.2.2 - - snapdragon@0.8.2: - dependencies: - base: 0.11.2 - debug: 2.6.9 - define-property: 0.2.5 - extend-shallow: 2.0.1 - map-cache: 0.2.2 - source-map: 0.5.7 - source-map-resolve: 0.5.3 - use: 3.1.1 - transitivePeerDependencies: - - supports-color - - sockjs@0.3.24: - dependencies: - faye-websocket: 0.11.4 - uuid: 8.3.2 - websocket-driver: 0.7.4 - - sort-css-media-queries@2.2.0: {} - - sort-keys-length@1.0.1: - dependencies: - sort-keys: 1.1.2 - - sort-keys@1.1.2: - dependencies: - is-plain-obj: 1.1.0 - - sort-keys@2.0.0: - dependencies: - is-plain-obj: 1.1.0 + smol-toml@1.5.2: {} source-map-js@1.2.1: {} - source-map-resolve@0.5.3: - dependencies: - atob: 2.1.2 - decode-uri-component: 0.2.2 - resolve-url: 0.2.1 - source-map-url: 0.4.1 - urix: 0.1.0 - source-map-support@0.5.21: dependencies: buffer-from: 1.1.2 source-map: 0.6.1 - source-map-url@0.4.1: {} - - source-map@0.5.7: {} - source-map@0.6.1: {} source-map@0.7.6: {} @@ -20173,92 +7694,12 @@ snapshots: space-separated-tokens@2.0.2: {} - spdx-correct@3.2.0: - dependencies: - spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.22 - - spdx-exceptions@2.5.0: {} - - spdx-expression-parse@3.0.1: - dependencies: - spdx-exceptions: 2.5.0 - spdx-license-ids: 3.0.22 - - spdx-license-ids@3.0.22: {} - - spdy-transport@3.0.0: - dependencies: - debug: 4.4.3 - detect-node: 2.1.0 - hpack.js: 2.1.6 - obuf: 1.1.2 - readable-stream: 3.6.2 - wbuf: 1.7.3 - transitivePeerDependencies: - - supports-color - - spdy@4.0.2: - dependencies: - debug: 4.4.3 - handle-thing: 2.0.1 - http-deceiver: 1.2.7 - select-hose: 2.0.0 - spdy-transport: 3.0.0 - transitivePeerDependencies: - - supports-color - - split-string@3.1.0: - dependencies: - extend-shallow: 3.0.2 - - sprintf-js@1.0.3: {} - - squeak@1.3.0: - dependencies: - chalk: 1.1.3 - console-stream: 0.1.1 - lpad-align: 1.1.2 - - srcset@4.0.0: {} - - sshpk@1.18.0: - dependencies: - asn1: 0.2.6 - assert-plus: 1.0.0 - bcrypt-pbkdf: 1.0.2 - dashdash: 1.14.1 - ecc-jsbn: 0.1.2 - getpass: 0.1.7 - jsbn: 0.1.1 - safer-buffer: 2.1.2 - tweetnacl: 0.14.5 - - stable@0.1.8: {} - - static-extend@0.1.2: - dependencies: - define-property: 0.2.5 - object-copy: 0.1.0 - - statuses@1.5.0: {} - - statuses@2.0.1: {} - - statuses@2.0.2: {} - - std-env@3.10.0: {} - stop-iteration-iterator@1.1.0: dependencies: es-errors: 1.3.0 internal-slot: 1.1.0 - strict-uri-encode@1.1.0: {} - - string-convert@0.2.1: {} - - string-template@0.2.1: {} + stream-replace-string@2.0.0: {} string-width@4.2.3: dependencies: @@ -20272,8 +7713,9 @@ snapshots: emoji-regex: 9.2.2 strip-ansi: 7.1.2 - string-width@8.1.0: + string-width@7.2.0: dependencies: + emoji-regex: 10.6.0 get-east-asian-width: 1.4.0 strip-ansi: 7.1.2 @@ -20316,16 +7758,6 @@ snapshots: define-properties: 1.2.1 es-object-atoms: 1.1.1 - string_decoder@0.10.31: {} - - string_decoder@1.1.1: - dependencies: - safe-buffer: 5.1.2 - - string_decoder@1.3.0: - dependencies: - safe-buffer: 5.2.1 - stringify-entities@4.0.4: dependencies: character-entities-html4: 2.1.0 @@ -20337,131 +7769,40 @@ snapshots: is-obj: 1.0.1 is-regexp: 1.0.0 - strip-ansi@3.0.1: - dependencies: - ansi-regex: 2.1.1 - - strip-ansi@6.0.0: - dependencies: - ansi-regex: 5.0.1 - strip-ansi@6.0.1: dependencies: - ansi-regex: 5.0.1 - - strip-ansi@7.1.2: - dependencies: - ansi-regex: 6.2.2 - - strip-bom-string@1.0.0: {} - - strip-bom@2.0.0: - dependencies: - is-utf8: 0.2.1 - - strip-color@0.1.0: {} - - strip-comments@2.0.1: {} - - strip-dirs@2.1.0: - dependencies: - is-natural-number: 4.0.1 - - strip-eof@1.0.0: {} - - strip-final-newline@2.0.0: {} - - strip-indent@1.0.1: - dependencies: - get-stdin: 4.0.1 - - strip-json-comments@2.0.1: {} - - strip-json-comments@3.1.1: {} - - strip-outer@1.0.1: - dependencies: - escape-string-regexp: 1.0.5 - - strnum@1.1.2: {} - - style-to-js@1.1.21: - dependencies: - style-to-object: 1.0.14 - - style-to-object@1.0.14: - dependencies: - inline-style-parser: 0.2.7 - - stylehacks@4.0.3: - dependencies: - browserslist: 4.28.1 - postcss: 7.0.39 - postcss-selector-parser: 3.1.2 - - stylehacks@6.1.1(postcss@8.5.6): - dependencies: - browserslist: 4.28.1 - postcss: 8.5.6 - postcss-selector-parser: 6.1.2 + ansi-regex: 5.0.1 - stylis@4.3.6: {} + strip-ansi@7.1.2: + dependencies: + ansi-regex: 6.2.2 - supports-color@2.0.0: {} + strip-comments@2.0.1: {} - supports-color@5.5.0: + style-to-js@1.1.21: dependencies: - has-flag: 3.0.0 + style-to-object: 1.0.14 - supports-color@7.2.0: + style-to-object@1.0.14: dependencies: - has-flag: 4.0.0 + inline-style-parser: 0.2.7 supports-color@8.1.1: dependencies: has-flag: 4.0.0 + optional: true supports-preserve-symlinks-flag@1.0.0: {} - svg-parser@2.0.4: {} - - svgo@1.3.2: + svgo@4.0.0: dependencies: - chalk: 2.4.2 - coa: 2.0.2 - css-select: 2.1.0 - css-select-base-adapter: 0.1.1 - css-tree: 1.0.0-alpha.37 - csso: 4.2.0 - js-yaml: 3.14.2 - mkdirp: 0.5.6 - object.values: 1.2.1 - sax: 1.2.4 - stable: 0.1.8 - unquote: 1.1.1 - util.promisify: 1.0.1 - - svgo@3.3.2: - dependencies: - '@trysound/sax': 0.2.0 - commander: 7.2.0 + commander: 11.1.0 css-select: 5.2.2 - css-tree: 2.3.1 + css-tree: 3.1.0 css-what: 6.2.2 csso: 5.0.5 picocolors: 1.1.1 - - swc-loader@0.2.6(@swc/core@1.15.4)(webpack@5.103.0(@swc/core@1.15.4)): - dependencies: - '@swc/core': 1.15.4 - '@swc/counter': 0.1.3 - webpack: 5.103.0(@swc/core@1.15.4) - - swr@2.3.7(react@19.2.3): - dependencies: - dequal: 2.0.3 - react: 19.2.3 - use-sync-external-store: 1.6.0(react@19.2.3) + sax: 1.4.3 sync-child-process@1.0.2: dependencies: @@ -20471,40 +7812,12 @@ snapshots: sync-message-port@1.1.3: optional: true - tailwind-merge@3.4.0: {} - tailwindcss@4.1.18: {} - tapable@1.1.3: {} - tapable@2.3.0: {} - tar-stream@1.6.2: - dependencies: - bl: 1.2.3 - buffer-alloc: 1.2.0 - end-of-stream: 1.4.5 - fs-constants: 1.0.0 - readable-stream: 2.3.8 - to-buffer: 1.2.2 - xtend: 4.0.2 - - tcp-port-used@1.0.2: - dependencies: - debug: 4.3.1 - is2: 2.0.9 - transitivePeerDependencies: - - supports-color - - temp-dir@1.0.0: {} - temp-dir@2.0.0: {} - tempfile@2.0.0: - dependencies: - temp-dir: 1.0.0 - uuid: 3.4.0 - tempy@0.6.0: dependencies: is-stream: 2.0.1 @@ -20512,17 +7825,6 @@ snapshots: type-fest: 0.16.0 unique-string: 2.0.0 - terser-webpack-plugin@5.3.16(@swc/core@1.15.4)(webpack@5.103.0(@swc/core@1.15.4)): - dependencies: - '@jridgewell/trace-mapping': 0.3.31 - jest-worker: 27.5.1 - schema-utils: 4.3.3 - serialize-javascript: 6.0.2 - terser: 5.44.1 - webpack: 5.103.0(@swc/core@1.15.4) - optionalDependencies: - '@swc/core': 1.15.4 - terser@5.44.1: dependencies: '@jridgewell/source-map': 0.3.11 @@ -20530,137 +7832,37 @@ snapshots: commander: 2.20.3 source-map-support: 0.5.21 - text-table@0.2.0: {} - - thingies@2.5.0(tslib@2.8.1): - dependencies: - tslib: 2.8.1 - - throttle-debounce@5.0.2: {} - - throttleit@2.1.0: {} - - through2@2.0.5: - dependencies: - readable-stream: 2.3.8 - xtend: 4.0.2 - - through@2.3.8: {} - - thunky@1.1.0: {} - - timed-out@4.0.1: {} - - timsort@0.3.0: {} - - tiny-invariant@1.3.3: {} - - tiny-lr@1.1.1: - dependencies: - body: 5.1.0 - debug: 3.2.7 - faye-websocket: 0.10.0 - livereload-js: 2.4.0 - object-assign: 4.1.1 - qs: 6.14.0 - transitivePeerDependencies: - - supports-color - - tiny-warning@1.0.3: {} + tiny-inflate@1.0.3: {} tinyexec@1.0.2: {} - tinypool@1.1.1: {} - - to-buffer@1.2.2: + tinyglobby@0.2.15: dependencies: - isarray: 2.0.5 - safe-buffer: 5.2.1 - typed-array-buffer: 1.0.3 - - to-object-path@0.3.0: - dependencies: - kind-of: 3.2.2 - - to-regex-range@2.1.1: - dependencies: - is-number: 3.0.0 - repeat-string: 1.6.1 + fdir: 6.5.0(picomatch@4.0.3) + picomatch: 4.0.3 to-regex-range@5.0.1: dependencies: is-number: 7.0.0 - - to-regex@3.0.2: - dependencies: - define-property: 2.0.2 - extend-shallow: 3.0.2 - regex-not: 1.0.2 - safe-regex: 1.1.0 - - toidentifier@1.0.1: {} - - toml@2.3.6: {} - - totalist@3.0.1: {} - - tough-cookie@2.5.0: - dependencies: - psl: 1.15.0 - punycode: 2.3.1 + optional: true tr46@1.0.1: dependencies: punycode: 2.3.1 - traverse@0.3.9: {} - - tree-dump@1.1.0(tslib@2.8.1): - dependencies: - tslib: 2.8.1 - - tree-node-cli@1.6.0: - dependencies: - commander: 5.1.0 - fast-folder-size: 1.6.1 - pretty-bytes: 5.6.0 - trim-lines@3.0.1: {} - trim-newlines@1.0.0: {} - - trim-repeated@1.0.0: - dependencies: - escape-string-regexp: 1.0.5 - trough@2.2.0: {} - truncate-html@1.2.2: - dependencies: - cheerio: 1.0.0-rc.12 - - ts-dedent@2.2.0: {} + tsconfck@3.1.6(typescript@5.9.3): + optionalDependencies: + typescript: 5.9.3 tslib@2.8.1: {} - tunnel-agent@0.6.0: - dependencies: - safe-buffer: 5.2.1 - - tweetnacl@0.14.5: {} - type-fest@0.16.0: {} - type-fest@0.21.3: {} - - type-fest@1.4.0: {} - - type-fest@2.19.0: {} - - type-is@1.6.18: - dependencies: - media-typer: 0.3.0 - mime-types: 2.1.35 + type-fest@4.41.0: {} typed-array-buffer@1.0.3: dependencies: @@ -20695,18 +7897,12 @@ snapshots: possible-typed-array-names: 1.1.0 reflect.getprototypeof: 1.0.10 - typedarray-to-buffer@3.1.5: - dependencies: - is-typedarray: 1.0.0 - - typedarray@0.0.6: {} - typescript@5.9.3: {} - uc.micro@2.1.0: {} - ufo@1.6.1: {} + ultrahtml@1.6.0: {} + unbox-primitive@1.1.0: dependencies: call-bound: 1.0.4 @@ -20714,19 +7910,12 @@ snapshots: has-symbols: 1.1.0 which-boxed-primitive: 1.1.1 - unbzip2-stream@1.4.3: - dependencies: - buffer: 5.7.1 - through: 2.3.8 + uncrypto@0.1.3: {} undici-types@7.16.0: {} - undici@7.16.0: {} - unicode-canonical-property-names-ecmascript@2.0.1: {} - unicode-emoji-modifier-base@1.0.0: {} - unicode-match-property-ecmascript@2.0.0: dependencies: unicode-canonical-property-names-ecmascript: 2.0.1 @@ -20734,9 +7923,17 @@ snapshots: unicode-match-property-value-ecmascript@2.2.1: {} + unicode-properties@1.4.1: + dependencies: + base64-js: 1.5.1 + unicode-trie: 2.0.0 + unicode-property-aliases-ecmascript@2.2.0: {} - unicorn-magic@0.3.0: {} + unicode-trie@2.0.0: + dependencies: + pako: 0.2.9 + tiny-inflate: 1.0.3 unified@11.0.5: dependencies: @@ -20748,29 +7945,30 @@ snapshots: trough: 2.2.0 vfile: 6.0.3 - union-value@1.0.1: + unifont@0.6.0: dependencies: - arr-union: 3.1.0 - get-value: 2.0.6 - is-extendable: 0.1.1 - set-value: 2.0.1 - - uniq@1.0.1: {} - - uniqs@2.0.0: {} + css-tree: 3.1.0 + ofetch: 1.5.1 + ohash: 2.0.11 unique-string@2.0.0: dependencies: crypto-random-string: 2.0.0 - unique-string@3.0.0: + unist-util-find-after@5.0.0: dependencies: - crypto-random-string: 4.0.0 + '@types/unist': 3.0.3 + unist-util-is: 6.0.1 unist-util-is@6.0.1: dependencies: '@types/unist': 3.0.3 + unist-util-modify-children@4.0.0: + dependencies: + '@types/unist': 3.0.3 + array-iterate: 2.0.1 + unist-util-position-from-estree@2.0.0: dependencies: '@types/unist': 3.0.3 @@ -20779,10 +7977,19 @@ snapshots: dependencies: '@types/unist': 3.0.3 + unist-util-remove-position@5.0.0: + dependencies: + '@types/unist': 3.0.3 + unist-util-visit: 5.0.0 + unist-util-stringify-position@4.0.0: dependencies: '@types/unist': 3.0.3 + unist-util-visit-children@3.0.0: + dependencies: + '@types/unist': 3.0.3 + unist-util-visit-parents@6.0.2: dependencies: '@types/unist': 3.0.3 @@ -20796,27 +8003,16 @@ snapshots: universalify@2.0.1: {} - unpipe@1.0.0: {} - - unquote@1.1.1: {} - - unset-value@1.0.0: - dependencies: - has-value: 0.3.1 - isobject: 3.0.1 - - unzipper@0.10.14: + unstorage@1.17.3: dependencies: - big-integer: 1.6.52 - binary: 0.3.0 - bluebird: 3.4.7 - buffer-indexof-polyfill: 1.0.2 - duplexer2: 0.1.4 - fstream: 1.0.12 - graceful-fs: 4.2.11 - listenercount: 1.0.1 - readable-stream: 2.3.8 - setimmediate: 1.0.5 + anymatch: 3.1.3 + chokidar: 4.0.3 + destr: 2.0.5 + h3: 1.15.4 + lru-cache: 10.4.3 + node-fetch-native: 1.6.7 + ofetch: 1.5.1 + ufo: 1.6.1 upath@1.2.0: {} @@ -20826,100 +8022,11 @@ snapshots: escalade: 3.2.0 picocolors: 1.1.1 - update-notifier@6.0.2: - dependencies: - boxen: 7.1.1 - chalk: 5.6.2 - configstore: 6.0.0 - has-yarn: 3.0.0 - import-lazy: 4.0.0 - is-ci: 3.0.1 - is-installed-globally: 0.4.0 - is-npm: 6.1.0 - is-yarn-global: 0.4.1 - latest-version: 7.0.0 - pupa: 3.3.0 - semver: 7.7.3 - semver-diff: 4.0.0 - xdg-basedir: 5.1.0 - - uri-js@4.4.1: - dependencies: - punycode: 2.3.1 - - urix@0.1.0: {} - - url-loader@4.1.1(file-loader@6.2.0(webpack@5.103.0(@swc/core@1.15.4)))(webpack@5.103.0(@swc/core@1.15.4)): - dependencies: - loader-utils: 2.0.4 - mime-types: 2.1.35 - schema-utils: 3.3.0 - webpack: 5.103.0(@swc/core@1.15.4) - optionalDependencies: - file-loader: 6.2.0(webpack@5.103.0(@swc/core@1.15.4)) - - url-parse-lax@1.0.0: - dependencies: - prepend-http: 1.0.4 - - url-parse-lax@3.0.0: - dependencies: - prepend-http: 2.0.0 - - url-to-options@1.0.1: {} - - use-sync-external-store@1.6.0(react@19.2.3): - dependencies: - react: 19.2.3 - - use@3.1.1: {} - util-deprecate@1.0.2: {} - util.promisify@1.0.1: - dependencies: - define-properties: 1.2.1 - es-abstract: 1.24.1 - has-symbols: 1.1.0 - object.getownpropertydescriptors: 2.1.9 - - utila@0.4.0: {} - - utility-types@3.11.0: {} - - utils-merge@1.0.1: {} - - uuid@11.1.0: {} - - uuid@3.4.0: {} - - uuid@8.3.2: {} - - validate-npm-package-license@3.0.4: - dependencies: - spdx-correct: 3.2.0 - spdx-expression-parse: 3.0.1 - - validate-peer-dependencies@2.2.0: - dependencies: - resolve-package-path: 4.0.3 - semver: 7.7.3 - - value-equal@1.0.1: {} - varint@6.0.0: optional: true - vary@1.1.2: {} - - vendors@1.0.4: {} - - verror@1.10.0: - dependencies: - assert-plus: 1.0.0 - core-util-is: 1.0.2 - extsprintf: 1.3.0 - vfile-location@5.0.3: dependencies: '@types/unist': 3.0.3 @@ -20935,174 +8042,41 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.3 - vscode-jsonrpc@8.2.0: {} - - vscode-languageserver-protocol@3.17.5: - dependencies: - vscode-jsonrpc: 8.2.0 - vscode-languageserver-types: 3.17.5 - - vscode-languageserver-textdocument@1.0.12: {} - - vscode-languageserver-types@3.17.5: {} - - vscode-languageserver@9.0.1: - dependencies: - vscode-languageserver-protocol: 3.17.5 - - vscode-uri@3.0.8: {} - - watchpack@2.4.4: - dependencies: - glob-to-regexp: 0.4.1 - graceful-fs: 4.2.11 - - wbuf@1.7.3: - dependencies: - minimalistic-assert: 1.0.1 - - web-namespaces@2.0.1: {} - - webidl-conversions@4.0.2: {} - - webpack-bundle-analyzer@4.10.2: - dependencies: - '@discoveryjs/json-ext': 0.5.7 - acorn: 8.15.0 - acorn-walk: 8.3.4 - commander: 7.2.0 - debounce: 1.2.1 - escape-string-regexp: 4.0.0 - gzip-size: 6.0.0 - html-escaper: 2.0.2 - opener: 1.5.2 - picocolors: 1.1.1 - sirv: 2.0.4 - ws: 7.5.10 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - - webpack-dev-middleware@7.4.5(webpack@5.103.0(@swc/core@1.15.4)): + vite-plugin-pwa@1.2.0(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1))(workbox-build@7.4.0)(workbox-window@7.4.0): dependencies: - colorette: 2.0.20 - memfs: 4.51.1 - mime-types: 3.0.2 - on-finished: 2.4.1 - range-parser: 1.2.1 - schema-utils: 4.3.3 - optionalDependencies: - webpack: 5.103.0(@swc/core@1.15.4) - - webpack-dev-server@5.2.2(webpack@5.103.0(@swc/core@1.15.4)): - dependencies: - '@types/bonjour': 3.5.13 - '@types/connect-history-api-fallback': 1.5.4 - '@types/express': 4.17.25 - '@types/express-serve-static-core': 4.19.7 - '@types/serve-index': 1.9.4 - '@types/serve-static': 1.15.10 - '@types/sockjs': 0.3.36 - '@types/ws': 8.18.1 - ansi-html-community: 0.0.8 - bonjour-service: 1.3.0 - chokidar: 3.6.0 - colorette: 2.0.20 - compression: 1.8.1 - connect-history-api-fallback: 2.0.0 - express: 4.22.1 - graceful-fs: 4.2.11 - http-proxy-middleware: 2.0.9(@types/express@4.17.25) - ipaddr.js: 2.3.0 - launch-editor: 2.12.0 - open: 10.2.0 - p-retry: 6.2.1 - schema-utils: 4.3.3 - selfsigned: 2.4.1 - serve-index: 1.9.1 - sockjs: 0.3.24 - spdy: 4.0.2 - webpack-dev-middleware: 7.4.5(webpack@5.103.0(@swc/core@1.15.4)) - ws: 8.18.3 - optionalDependencies: - webpack: 5.103.0(@swc/core@1.15.4) + debug: 4.4.3 + pretty-bytes: 6.1.1 + tinyglobby: 0.2.15 + vite: 6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1) + workbox-build: 7.4.0 + workbox-window: 7.4.0 transitivePeerDependencies: - - bufferutil - - debug - supports-color - - utf-8-validate - - webpack-merge@5.10.0: - dependencies: - clone-deep: 4.0.1 - flat: 5.0.2 - wildcard: 2.0.1 - - webpack-merge@6.0.1: - dependencies: - clone-deep: 4.0.1 - flat: 5.0.2 - wildcard: 2.0.1 - - webpack-sources@3.3.3: {} - - webpack@5.103.0(@swc/core@1.15.4): - dependencies: - '@types/eslint-scope': 3.7.7 - '@types/estree': 1.0.8 - '@types/json-schema': 7.0.15 - '@webassemblyjs/ast': 1.14.1 - '@webassemblyjs/wasm-edit': 1.14.1 - '@webassemblyjs/wasm-parser': 1.14.1 - acorn: 8.15.0 - acorn-import-phases: 1.0.4(acorn@8.15.0) - browserslist: 4.28.1 - chrome-trace-event: 1.0.4 - enhanced-resolve: 5.18.4 - es-module-lexer: 1.7.0 - eslint-scope: 5.1.1 - events: 3.3.0 - glob-to-regexp: 0.4.1 - graceful-fs: 4.2.11 - json-parse-even-better-errors: 2.3.1 - loader-runner: 4.3.1 - mime-types: 2.1.35 - neo-async: 2.6.2 - schema-utils: 4.3.3 - tapable: 2.3.0 - terser-webpack-plugin: 5.3.16(@swc/core@1.15.4)(webpack@5.103.0(@swc/core@1.15.4)) - watchpack: 2.4.4 - webpack-sources: 3.3.3 - transitivePeerDependencies: - - '@swc/core' - - esbuild - - uglify-js - - webpackbar@6.0.1(webpack@5.103.0(@swc/core@1.15.4)): - dependencies: - ansi-escapes: 4.3.2 - chalk: 4.1.2 - consola: 3.4.2 - figures: 3.2.0 - markdown-table: 2.0.0 - pretty-time: 1.1.0 - std-env: 3.10.0 - webpack: 5.103.0(@swc/core@1.15.4) - wrap-ansi: 7.0.0 - websocket-driver@0.7.4: + vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1): dependencies: - http-parser-js: 0.5.10 - safe-buffer: 5.2.1 - websocket-extensions: 0.1.4 + esbuild: 0.25.12 + fdir: 6.5.0(picomatch@4.0.3) + picomatch: 4.0.3 + postcss: 8.5.6 + rollup: 4.53.5 + tinyglobby: 0.2.15 + optionalDependencies: + '@types/node': 25.0.2 + fsevents: 2.3.3 + jiti: 2.6.1 + lightningcss: 1.30.2 + sass: 1.96.0 + sass-embedded: 1.83.0 + terser: 5.44.1 - websocket-extensions@0.1.4: {} + vitefu@1.1.1(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)): + optionalDependencies: + vite: 6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1) - whatwg-encoding@3.1.1: - dependencies: - iconv-lite: 0.6.3 + web-namespaces@2.0.1: {} - whatwg-mimetype@4.0.0: {} + webidl-conversions@4.0.2: {} whatwg-url@7.1.0: dependencies: @@ -21141,6 +8115,8 @@ snapshots: is-weakmap: 2.0.2 is-weakset: 2.0.4 + which-pm-runs@1.1.0: {} + which-typed-array@1.1.19: dependencies: available-typed-arrays: 1.0.7 @@ -21151,21 +8127,13 @@ snapshots: gopd: 1.2.0 has-tostringtag: 1.0.2 - which@1.3.1: - dependencies: - isexe: 2.0.0 - which@2.0.2: dependencies: isexe: 2.0.0 - widest-line@4.0.1: + widest-line@5.0.0: dependencies: - string-width: 5.1.2 - - wildcard@2.0.1: {} - - wordwrap@0.0.2: {} + string-width: 7.2.0 workbox-background-sync@7.4.0: dependencies: @@ -21280,10 +8248,6 @@ snapshots: '@types/trusted-types': 2.0.7 workbox-core: 7.4.0 - worker-rpc@0.1.1: - dependencies: - microevent.ts: 0.1.1 - wrap-ansi@7.0.0: dependencies: ansi-styles: 4.3.0 @@ -21296,53 +8260,35 @@ snapshots: string-width: 5.1.2 strip-ansi: 7.1.2 - wrappy@1.0.2: {} - - write-file-atomic@3.0.3: + wrap-ansi@9.0.2: dependencies: - imurmurhash: 0.1.4 - is-typedarray: 1.0.0 - signal-exit: 3.0.7 - typedarray-to-buffer: 3.1.5 + ansi-styles: 6.2.3 + string-width: 7.2.0 + strip-ansi: 7.1.2 - ws@7.5.10: {} + xxhash-wasm@1.1.0: {} - ws@8.18.3: {} + yallist@3.1.1: {} - wsl-utils@0.1.0: - dependencies: - is-wsl: 3.1.0 + yargs-parser@21.1.1: {} - xdg-basedir@5.1.0: {} + yocto-queue@1.2.2: {} - xml-js@1.6.11: + yocto-spinner@0.2.3: dependencies: - sax: 1.4.3 - - xmlbuilder@13.0.2: {} + yoctocolors: 2.1.2 - xtend@4.0.2: {} + yoctocolors@2.1.2: {} - yallist@2.1.2: {} - - yallist@3.1.1: {} - - yamljs@0.2.10: - dependencies: - argparse: 1.0.10 - glob: 7.2.3 - - yargs@2.3.0: + zod-to-json-schema@3.25.0(zod@3.25.76): dependencies: - wordwrap: 0.0.2 + zod: 3.25.76 - yauzl@2.10.0: + zod-to-ts@1.2.0(typescript@5.9.3)(zod@3.25.76): dependencies: - buffer-crc32: 0.2.13 - fd-slicer: 1.1.0 - - yocto-queue@1.2.2: {} + typescript: 5.9.3 + zod: 3.25.76 - zod@4.1.13: {} + zod@3.25.76: {} zwitch@2.0.4: {} diff --git a/postcss-plugins/fix-align-items.js b/postcss-plugins/fix-align-items.js deleted file mode 100644 index 2a21ebf9c..000000000 --- a/postcss-plugins/fix-align-items.js +++ /dev/null @@ -1,23 +0,0 @@ -module.exports = () => { - return { - postcssPlugin: "fix-align-items-start", - Once(root) { - root.walkDecls((decl) => { - if (decl.prop === "align-items" && decl.value === "start") { - decl.value = "flex-start"; - } - if (decl.prop === "align-items" && decl.value === "end") { - decl.value = "flex-end"; - } - if (decl.prop === "justify-items" && decl.value === "start") { - decl.value = "flex-start"; - } - if (decl.prop === "justify-items" && decl.value === "end") { - decl.value = "flex-end"; - } - }); - } - }; -}; - -module.exports.postcss = true; diff --git a/postcss.config.js b/postcss.config.js deleted file mode 100644 index de4430584..000000000 --- a/postcss.config.js +++ /dev/null @@ -1,5 +0,0 @@ -const fixAlignItems = require("./postcss-plugins/fix-align-items"); - -module.exports = { - plugins: [require("@tailwindcss/postcss"), fixAlignItems(), require("autoprefixer")] -}; diff --git a/static/favicon.ico b/public/favicon.ico similarity index 100% rename from static/favicon.ico rename to public/favicon.ico diff --git a/sidebars.js b/sidebars.js deleted file mode 100644 index 807b888f8..000000000 --- a/sidebars.js +++ /dev/null @@ -1,6 +0,0 @@ -/** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */ -const sidebars = { - tutorialSidebar: [{ type: "autogenerated", dirName: "." }] -}; - -module.exports = sidebars; diff --git a/static/img/book.png b/src/assets/book.png similarity index 100% rename from static/img/book.png rename to src/assets/book.png diff --git a/static/img/logo.svg b/src/assets/logo.svg similarity index 100% rename from static/img/logo.svg rename to src/assets/logo.svg diff --git a/static/img/nitwikit-banner.png b/src/assets/nitwikit-banner.png similarity index 100% rename from static/img/nitwikit-banner.png rename to src/assets/nitwikit-banner.png diff --git a/src/clientModules/adsModules.js b/src/clientModules/adsModules.js deleted file mode 100644 index 146169b35..000000000 --- a/src/clientModules/adsModules.js +++ /dev/null @@ -1,195 +0,0 @@ -// src/clientModules/adsModules.js -import ExecutionEnvironment from "@docusaurus/ExecutionEnvironment"; - -// Helper to add styles to the document head -function addStyles(cssText) { - const styleElement = document.createElement("style"); - styleElement.textContent = cssText; - document.head.appendChild(styleElement); -} - -// Injects text-based ads into the navbar -function injectTextAds(ads) { - if (ads.length === 0) return; - - // Create ad container - const adContainer = document.createElement("div"); - adContainer.className = "extern-container"; - - ads.forEach((ad) => { - const link = document.createElement("a"); - link.href = ad.url; - link.target = "_blank"; - link.rel = "noopener noreferrer"; - link.textContent = ad.name; - link.className = "extern-item"; - adContainer.appendChild(link); - }); - - // Responsive insertion logic - const updateAdPosition = () => { - // Remove old ad position - const existingAd = document.querySelector(".extern-container"); - if (existingAd) existingAd.remove(); - - if (window.innerWidth >= 996) { - // Desktop - const desktopTarget = document.querySelector(".navbar__items--right"); - if (desktopTarget) { - const firstChild = desktopTarget.firstChild; - if (firstChild) { - desktopTarget.insertBefore(adContainer.cloneNode(true), firstChild); - } else { - desktopTarget.prepend(adContainer.cloneNode(true)); - } - } - } else { - // Mobile - const mobileTarget = document.querySelector(".menu__list"); - if (mobileTarget) { - const mobileAdContainer = adContainer.cloneNode(true); - mobileAdContainer.classList.add("mobile-extern"); - mobileTarget.appendChild(mobileAdContainer); - } - } - }; - - updateAdPosition(); - window.addEventListener("resize", updateAdPosition); -} - -// Injects image-based ads into the sidebar -function injectImageAds(ads) { - if (ads.length === 0) return; - - const target = document.querySelector(".col--3"); - if (!target) return; // Exit if sidebar isn't there - - // Remove existing ad container to prevent duplicates - const existingAd = document.getElementById("image-ad-container"); - if (existingAd) existingAd.remove(); - - const adContainer = document.createElement("div"); - adContainer.id = "image-ad-container"; - - if (ads.length === 1) { - const ad = ads[0]; - adContainer.innerHTML = ` - - ${ad.alt_text || ad.name} - `; - } else { - adContainer.innerHTML = ` - - - `; - - let currentSlide = 0; - const slides = adContainer.querySelectorAll(".carousel-slide"); - const totalSlides = slides.length; - - const showSlide = (index) => { - slides.forEach((s, i) => { - s.style.display = "none"; - s.style.opacity = "0"; - }); - const activeSlide = slides[index]; - if (activeSlide) { - activeSlide.style.display = "block"; - // A tiny delay is needed for the opacity transition to trigger correctly after display change - setTimeout(() => { - activeSlide.style.opacity = "1"; - }, 10); - } - }; - - // Show the first slide initially - showSlide(currentSlide); - - adContainer.querySelector(".next").addEventListener("click", () => { - currentSlide = (currentSlide + 1) % totalSlides; - showSlide(currentSlide); - }); - - adContainer.querySelector(".prev").addEventListener("click", () => { - currentSlide = (currentSlide - 1 + totalSlides) % totalSlides; - showSlide(currentSlide); - }); - } - - // Add margin to the container itself - const rightSidebar = target.querySelector("div"); - if (rightSidebar) { - rightSidebar.appendChild(adContainer); - } -} - -async function initializeAds() { - try { - const isChina = window.location.hostname.includes(".cn"); - const apiUrl = isChina ? "https://ad-api.8aka.cn/ads-v2.json" : "https://ad-api.8aka.org/ads-v2.json"; - - const response = await fetch(apiUrl); - if (!response.ok) throw new Error(`HTTP error! status: ${response.status}`); - const ads = await response.json(); - - if (!Array.isArray(ads) || ads.length === 0) return; - - const textAds = ads.filter((ad) => !ad.img); - const imageAds = ads.filter((ad) => ad.img); - - injectTextAds(textAds); - injectImageAds(imageAds); - } catch (error) { - console.error("Failed to load or inject ads:", error); - } -} - -// Main execution logic -if (ExecutionEnvironment.canUseDOM) { - // Add all styles once - addStyles(` - /* Text Ad Styles */ - .extern-container { display: flex; gap: 0.75rem; align-items: center; flex-wrap: wrap; margin-right: 1rem; } - .mobile-extern { flex-direction: column; align-items: flex-start; padding: 1rem 0.5rem; border-top: 1px solid var(--ifm-color-emphasis-300); margin-top: 1rem; width: 100%; } - .mobile-extern .extern-item { margin: 0.25rem 0; font-size: 0.9rem; } - @media (max-width: 1100px) and (min-width: 996px) { - .extern-container { margin-right: 0.5rem; gap: 0.5rem; } - .extern-container .extern-item { font-size: 0.85rem; } - } - - /* Image Ad & Carousel Styles */ - #image-ad-container { position: relative; width: 88%; margin: 1rem auto; } - .carousel-container { position: relative; width: 100%; overflow: hidden; border-radius: 8px; min-height: 100px; /* Prevent collapse */ } - .carousel-slide { position: absolute; top: 0; left: 0; display: none; width: 100%; opacity: 0; transition: opacity 0.5s ease-in-out; } - .carousel-slide.active { display: block; position: relative; } /* .active is no longer used for display, but good to have */ - .carousel-control { position: absolute; top: 50%; transform: translateY(-50%); background-color: rgba(0,0,0,0.5); color: white; border: none; padding: 5px 10px; cursor: pointer; z-index: 10; border-radius: 4px; } - .carousel-control.prev { left: 5px; } - .carousel-control.next { right: 5px; } - `); - - // Docusaurus lifecycle - if (document.readyState === "complete") { - initializeAds(); - } else { - window.addEventListener("load", initializeAds); - } -} - -export function onRouteDidUpdate() { - if (ExecutionEnvironment.canUseDOM) { - initializeAds(); - } -} diff --git a/src/clientModules/routeModules.js b/src/clientModules/routeModules.js deleted file mode 100644 index cd4c483af..000000000 --- a/src/clientModules/routeModules.js +++ /dev/null @@ -1,17 +0,0 @@ -import mitt from "mitt"; -import ExecutionEnvironment from "@docusaurus/ExecutionEnvironment"; - -const emitter = mitt(); - -if (ExecutionEnvironment.canUseDOM) { - window.emitter = emitter; -} - -export function onRouteDidUpdate() { - if (ExecutionEnvironment.canUseDOM) { - setTimeout(() => { - window.emitter.emit("onRouteDidUpdate"); - }); - } - // https://github.com/facebook/docusaurus/issues/8278 -} diff --git a/src/clientModules/themeModules.scss b/src/clientModules/themeModules.scss deleted file mode 100644 index e379240c8..000000000 --- a/src/clientModules/themeModules.scss +++ /dev/null @@ -1,95 +0,0 @@ -$ripple-duration: 600ms; -$cascade-duration: 400ms; -$cascade-delay: 40ms; -$card-wave-duration: 400ms; - -// 涟漪元素样式 -.theme-ripple { - position: fixed; - width: 0; - height: 0; - border-radius: 50%; - transform: scale(0); - pointer-events: none; - z-index: 9999; - animation: themeRippleExpand $ripple-duration cubic-bezier(0.4, 0, 0.2, 1) forwards; -} - -// 涟漪展开动画 -@keyframes themeRippleExpand { - 0% { - transform: scale(0); - opacity: 1; - } - 50% { - opacity: 0.8; - } - 100% { - transform: scale(1); - opacity: 0; - } -} - -// 瀑布流过渡动画 -@keyframes themeCascade { - 0% { - filter: brightness(1); - } - 30% { - filter: brightness(1.05); - } - 100% { - filter: brightness(1); - } -} - -// 卡片波浪动画 -@keyframes cardWave { - 0% { - transform: translateY(0) scale(1); - } - 40% { - transform: translateY(-2px) scale(1.005); - } - 100% { - transform: translateY(0) scale(1); - } -} - -// 瀑布流过渡增强效果 -.theme-transitioning { - .navbar { - animation: themeCascade $cascade-duration ease-out; - } - - .main-wrapper { - animation: themeCascade $cascade-duration ease-out $cascade-delay backwards; - } - - article { - animation: themeCascade $cascade-duration ease-out ($cascade-delay * 2) backwards; - } - - .footer { - animation: themeCascade $cascade-duration ease-out ($cascade-delay * 5) backwards; - } - - // 卡片波浪效果 - .card { - animation: cardWave $card-wave-duration ease-out backwards; - - @for $i from 1 through 6 { - &:nth-child(#{$i}) { - animation-delay: (100ms + ($i - 1) * 40ms); - } - } - } -} - -// 尊重减少动画偏好 -@media (prefers-reduced-motion: reduce) { - .theme-ripple, - .theme-transitioning * { - animation: none !important; - } -} diff --git a/src/clientModules/themeModules.ts b/src/clientModules/themeModules.ts deleted file mode 100644 index 64507bcb9..000000000 --- a/src/clientModules/themeModules.ts +++ /dev/null @@ -1,115 +0,0 @@ -/** - * NitWikit 主题切换动画模块 - * 实现瀑布流涟漪效果 - */ -import ExecutionEnvironment from "@docusaurus/ExecutionEnvironment"; -import "./themeModules.scss"; - -if (ExecutionEnvironment.canUseDOM) { - // 常量定义 - const TRANSITION_DURATION = 600; - const TRANSITION_CLASS = "theme-transitioning"; - const THEME_LISTENER_ATTR = "data-theme-listener"; - const SELECTOR = 'button[class*="colorModeToggle"]'; - - let isAnimating = false; - let transitionTimeout: ReturnType | null = null; - - // 等待 DOM 加载完成 - const init = (): void => { - const colorModeToggle = document.querySelector(SELECTOR) as HTMLButtonElement | null; - - if (colorModeToggle) { - colorModeToggle.addEventListener("click", handleThemeToggle); - } - - // 监听 DOM 变化,处理动态加载的按钮 - const observer = new MutationObserver((): void => { - const toggle = document.querySelector(SELECTOR) as HTMLButtonElement | null; - if (toggle && !toggle.hasAttribute(THEME_LISTENER_ATTR)) { - toggle.setAttribute(THEME_LISTENER_ATTR, "true"); - toggle.addEventListener("click", handleThemeToggle); - } - }); - - observer.observe(document.body, { childList: true, subtree: true }); - }; - - function handleThemeToggle(e: Event): void { - // 防抖 - if (isAnimating) return; - - isAnimating = true; - const button = e.currentTarget as HTMLButtonElement; - const rect = button.getBoundingClientRect(); - - // 创建涟漪效果 - createRipple(rect.left + rect.width / 2, rect.top + rect.height / 2); - - // 添加瀑布流过渡标记 - document.documentElement.classList.add(TRANSITION_CLASS); - - // 清除之前的超时 - if (transitionTimeout) { - clearTimeout(transitionTimeout); - } - - // 过渡完成后移除标记和重置状态 - transitionTimeout = setTimeout((): void => { - document.documentElement.classList.remove(TRANSITION_CLASS); - isAnimating = false; - transitionTimeout = null; - }, TRANSITION_DURATION); - } - - function createRipple(x: number, y: number): void { - const ripple = document.createElement("div"); - ripple.className = "theme-ripple"; - - const maxDimension = Math.max(window.innerWidth, window.innerHeight) * 2; - const halfDimension = maxDimension / 2; - - // 主题涟漪颜色 - const isDark = document.documentElement.getAttribute("data-theme") === "dark"; - const bgColor = isDark ? "rgba(248, 250, 252, 0.08)" : "rgba(2, 6, 23, 0.06)"; - - // 动态样式 - ripple.style.left = `${x}px`; - ripple.style.top = `${y}px`; - ripple.style.width = `${maxDimension}px`; - ripple.style.height = `${maxDimension}px`; - ripple.style.marginLeft = `-${halfDimension}px`; - ripple.style.marginTop = `-${halfDimension}px`; - ripple.style.background = bgColor; - - document.body.appendChild(ripple); - - // 清理 - const removeRipple = (): void => { - ripple.removeEventListener("animationend", removeRipple); - ripple.remove(); - }; - ripple.addEventListener("animationend", removeRipple); - } - - // 注入样式 - function injectStyles(): void { - if (document.getElementById("theme-ripple-styles")) return; - - const style = document.createElement("style"); - style.id = "theme-ripple-styles"; - document.head.appendChild(style); - } - - // 初始化 - const setupThemeAnimation = (): void => { - injectStyles(); - init(); - }; - - if (document.readyState === "loading") { - document.addEventListener("DOMContentLoaded", setupThemeAnimation); - } else { - setupThemeAnimation(); - } -} diff --git a/src/clientModules/tocSmoothScroll.ts b/src/clientModules/tocSmoothScroll.ts deleted file mode 100644 index 0858fe546..000000000 --- a/src/clientModules/tocSmoothScroll.ts +++ /dev/null @@ -1,98 +0,0 @@ -/** - * TOC 平滑滚动模块 - * 为目录链接添加平滑滚动动画 - */ -import ExecutionEnvironment from "@docusaurus/ExecutionEnvironment"; - -if (ExecutionEnvironment.canUseDOM) { - // 检查用户是否偏好减少动画 - const prefersReducedMotion = window.matchMedia("(prefers-reduced-motion: reduce)").matches; - - // 获取导航栏高度 - function getNavbarHeight(): number { - const navbar = document.querySelector(".navbar"); - if (navbar) { - return navbar.offsetHeight; - } - // 默认高度 - return 60; - } - - // 处理 TOC 链接点击 - function handleTOCLinkClick(e: MouseEvent): void { - const target = e.currentTarget as HTMLAnchorElement; - const href = target.getAttribute("href"); - - // 只处理锚点链接(以 # 开头) - if (href && href.startsWith("#")) { - e.preventDefault(); - - const targetId = href.substring(1); - const targetElement = document.getElementById(targetId); - - if (targetElement) { - // 计算偏移量(考虑固定导航栏) - const navbarHeight = getNavbarHeight(); - const elementPosition = targetElement.getBoundingClientRect().top; - const offsetPosition = elementPosition + window.pageYOffset - navbarHeight - 10; // 额外 10px 间距 - - // 使用平滑滚动 - if (prefersReducedMotion) { - // 如果用户偏好减少动画,使用即时滚动 - window.scrollTo({ - top: offsetPosition, - behavior: "auto" - }); - } else { - // 使用平滑滚动 - window.scrollTo({ - top: offsetPosition, - behavior: "smooth" - }); - } - - // 更新 URL hash(不触发滚动) - if (history.pushState) { - history.pushState(null, "", href); - } - } - } - } - - // 初始化:为所有 TOC 链接添加事件监听器 - function initTOCSmoothScroll(): void { - // 查找所有 TOC 链接 - const tocLinks = document.querySelectorAll(".table-of-contents a[href^='#']"); - - tocLinks.forEach((link) => { - // 移除可能存在的旧监听器 - link.removeEventListener("click", handleTOCLinkClick); - // 添加新监听器 - link.addEventListener("click", handleTOCLinkClick); - }); - } - - // 监听 DOM 变化,处理动态加载的 TOC - function setupTOCObserver(): void { - const observer = new MutationObserver(() => { - initTOCSmoothScroll(); - }); - - observer.observe(document.body, { - childList: true, - subtree: true - }); - } - - // 初始化 - const setupTOCSmoothScroll = (): void => { - initTOCSmoothScroll(); - setupTOCObserver(); - }; - - if (document.readyState === "loading") { - document.addEventListener("DOMContentLoaded", setupTOCSmoothScroll); - } else { - setupTOCSmoothScroll(); - } -} diff --git a/src/components/ContributorCard/index.tsx b/src/components/ContributorCard/index.tsx deleted file mode 100644 index b4f8477b9..000000000 --- a/src/components/ContributorCard/index.tsx +++ /dev/null @@ -1,225 +0,0 @@ -import React, { useEffect, useState } from "react"; -import "./styles.css"; - -const CACHE_KEY = "contributors_cache"; -const CACHE_DURATION = 2 * 60 * 60 * 1000; // 2小时 - -interface CacheData { - data: Contributor[]; - timestamp: number; -} - -interface Contributor { - id: number; - login: string; - avatar_url: string; - html_url: string; - contributions: number; - additions?: number; - deletions?: number; - total?: number; -} - -interface ContributorStats { - author: { - login: string; - }; - weeks: Array<{ - a: number; - d: number; - }>; -} - -interface ContributorCardItemProps { - contributor: Contributor; - rank?: number; -} - -/** - * 获取缓存数据 - */ -function getCachedContributors(): Contributor[] | null { - try { - const cached = localStorage.getItem(CACHE_KEY); - if (!cached) return null; - - const { data, timestamp } = JSON.parse(cached) as CacheData; - const isExpired = Date.now() - timestamp > CACHE_DURATION; - - return isExpired ? null : data; - } catch { - return null; - } -} - -/** - * 保存缓存数据 - */ -function setCachedContributors(data: Contributor[]): void { - try { - localStorage.setItem(CACHE_KEY, JSON.stringify({ data, timestamp: Date.now() })); - } catch { - console.warn("无法保存缓存数据"); - } -} - -/** - * 获取GitHub贡献者数据(带分页) - * @param {string} repo 仓库名称,格式为 "用户名/仓库名" - * @returns {Promise} 贡献者数据数组 - */ -async function fetchContributors(repo: string): Promise { - try { - let allContributors: Contributor[] = []; - let page = 1; - let hasMore = true; - - while (hasMore) { - const response = await fetch(`https://api.github.com/repos/${repo}/contributors?per_page=100&page=${page}`); - if (!response.ok) { - throw new Error("获取贡献者数据失败"); - } - - const data = await response.json(); - if (!Array.isArray(data) || data.length === 0) { - hasMore = false; - } else { - allContributors.push(...data); - page++; - } - } - - console.log(`已获取 ${allContributors.length} 位贡献者数据`); - return allContributors; - } catch (error) { - console.error("获取贡献者数据出错:", error); - return []; - } -} - -/** - * 判断用户是否为机器人账户 - * @param {string} username 用户名 - * @returns {boolean} 是否为机器人 - */ -function isBot(username: string): boolean { - const botPatterns = [ - /bot\b/i, // 匹配包含bot单词的用户名 - /\[bot\]/i, // 匹配[bot] - /github-actions/i, // 匹配github-actions - /imgbot/i // 匹配imgbot - ]; - - // 明确排除这些不应被视为机器人的用户名 - const notBots = ["robotics", "robot", "robotman", "robotboy"]; - if (notBots.some((name) => username.toLowerCase().includes(name))) { - return false; - } - - return botPatterns.some((pattern) => pattern.test(username)); -} - -/** - * 格式化数字,对于大数使用k、M等单位 - * @param {number} num 要格式化的数字 - * @returns {string} 格式化后的字符串 - */ -function formatNumber(num: number): string { - return Intl.NumberFormat("en-US", { - notation: "compact", - maximumFractionDigits: 1 - }).format(num); -} - -/** - * 单个贡献者卡片组件 - */ -export function ContributorCardItem({ contributor, rank }: ContributorCardItemProps): React.ReactElement { - return ( -
- {rank &&
{rank}
} -
- {`${contributor.login} -
-
- -
贡献: {formatNumber(contributor.contributions)} 次
-
-
- ); -} - -interface ContributorCardProps { - repo?: string; -} - -/** - * 贡献者卡片列表组件 - */ -export default function ContributorCard({ repo = "Cubic-Project/NitWikit" }: ContributorCardProps): React.ReactElement { - const [contributors, setContributors] = useState([]); - const [loading, setLoading] = useState(true); - const [error, setError] = useState(null); - - // 获取所有贡献者数据并处理 - useEffect(() => { - async function loadAllContributorData() { - try { - setLoading(true); - - const cachedData = getCachedContributors(); - if (cachedData) { - setContributors(cachedData); - setLoading(false); - return; - } - - // 直接从GitHub API获取贡献者数据 - const contributorsData = await fetchContributors(repo); - - // 过滤掉机器人账户 - const filteredContributors = contributorsData.filter((contributor) => !isBot(contributor.login)); - - // 排序 - const sorted = filteredContributors - .filter((c) => c.contributions > 0) - .sort((a, b) => b.contributions - a.contributions); - - setCachedContributors(sorted); - setContributors(sorted); - } catch (err) { - const errorMessage = err instanceof Error ? err.message : "未知错误"; - console.error("加载贡献者数据出错:", err); - setError(errorMessage); - } finally { - setLoading(false); - } - } - - loadAllContributorData(); - }, [repo]); - - if (loading) { - return
正在加载贡献者数据,这可能需要一些时间...
; - } - - if (error) { - return
获取贡献者数据出错: {error}
; - } - - if (!contributors || contributors.length === 0) { - return
在访问github时遇到问题,请稍后再试
; - } - - return ( -
- {contributors.map((contributor, index) => ( - - ))} -
- ); -} diff --git a/src/components/ContributorCard/styles.css b/src/components/ContributorCard/styles.css deleted file mode 100644 index 1d8cf504c..000000000 --- a/src/components/ContributorCard/styles.css +++ /dev/null @@ -1,234 +0,0 @@ -/* 贡献者容器样式 */ -.contributor-container { - display: grid; - grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); - gap: 18px; - margin: 24px 0; -} - -/* 贡献者卡片样式 */ -.contributor-card { - display: flex; - padding: 16px; - background-color: var(--ifm-card-background-color); - border-radius: 10px; - box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06); - transition: all 0.25s ease; - position: relative; - border-left: 3px solid var(--ifm-color-emphasis-300); -} - -.contributor-card:hover { - transform: translateY(-3px); - box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08); - border-left-color: var(--ifm-color-primary); -} - -/* 前三名特殊样式 */ -.contributor-card:nth-child(1) { - border-left-color: #ffd700; -} - -.contributor-card:nth-child(2) { - border-left-color: #c0c0c0; -} - -.contributor-card:nth-child(3) { - border-left-color: #cd7f32; -} - -/* 排名标识 */ -.contributor-rank { - position: absolute; - top: 10px; - right: 10px; - width: 24px; - height: 24px; - border-radius: 6px; - display: flex; - align-items: center; - justify-content: center; - font-size: 12px; - font-weight: 600; - background-color: var(--ifm-color-emphasis-300); - color: var(--ifm-color-emphasis-900); -} - -/* 前三名排名特殊样式 */ -.contributor-card:nth-child(1) .contributor-rank { - background-color: #ffd700; - color: #333; -} - -.contributor-card:nth-child(2) .contributor-rank { - background-color: #c0c0c0; - color: #333; -} - -.contributor-card:nth-child(3) .contributor-rank { - background-color: #cd7f32; - color: #333; -} - -/* 头像容器样式 */ -.contributor-avatar-wrapper { - margin-right: 14px; - flex-shrink: 0; -} - -/* 头像样式 */ -.contributor-avatar { - width: 50px; - height: 50px; - border-radius: 8px; - object-fit: cover; - transition: transform 0.3s ease; -} - -.contributor-card:hover .contributor-avatar { - transform: scale(1.05); -} - -/* 贡献者信息容器 */ -.contributor-info { - display: flex; - flex-direction: column; - justify-content: center; - flex-grow: 1; - overflow: hidden; -} - -/* 贡献者名称 */ -.contributor-name { - font-size: 15px; - font-weight: 600; - margin-bottom: 8px; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} - -.contributor-name a { - color: var(--ifm-color-primary); - text-decoration: none; - transition: color 0.2s ease; -} - -.contributor-name a:hover { - color: var(--ifm-color-primary-darker); -} - -/* 贡献统计 */ -.contributor-stats { - display: flex; - gap: 12px; - font-size: 14px; - align-items: center; - margin-bottom: 6px; -} - -.additions { - color: #28a745; - font-weight: 500; -} - -.deletions { - color: #d73a49; - font-weight: 500; -} - -/* 总贡献量样式 */ -.contributor-total { - font-size: 13px; - color: var(--ifm-color-emphasis-700); - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} - -/* 贡献次数图标 */ -.contributor-total::before { - content: ""; - display: inline-block; - width: 12px; - height: 12px; - background-image: url('data:image/svg+xml;utf8,'); - background-repeat: no-repeat; - background-position: center; - background-size: contain; - margin-right: 4px; - opacity: 0.7; - vertical-align: middle; -} - -/* 加载状态 */ -.contributor-loading { - padding: 18px; - text-align: center; - color: var(--ifm-color-primary); - background-color: var(--ifm-color-emphasis-100); - border-radius: 10px; - margin: 20px 0; -} - -/* 错误状态 */ -.contributor-error { - padding: 18px; - text-align: center; - color: var(--ifm-color-danger); - background-color: var(--ifm-color-danger-contrast-background); - border-radius: 10px; - margin: 20px 0; -} - -/* 无数据状态 */ -.contributor-empty { - padding: 18px; - text-align: center; - color: var(--ifm-color-emphasis-600); - background-color: var(--ifm-color-emphasis-100); - border-radius: 10px; - margin: 20px 0; -} - -/* 未能加载行数样式 */ -.no-stats { - font-size: 13px; - color: var(--ifm-color-emphasis-600); - font-style: italic; - background-color: var(--ifm-color-emphasis-100); - padding: 2px 8px; - border-radius: 4px; -} - -/* 响应式布局 */ -@media (max-width: 996px) { - .contributor-container { - grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); - } -} - -@media (max-width: 768px) { - .contributor-container { - grid-template-columns: 1fr; - } - - .contributor-avatar { - width: 45px; - height: 45px; - } -} - -/* 黑暗模式适配 */ -[data-theme="dark"] .contributor-card { - box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); -} - -[data-theme="dark"] .contributor-card:hover { - box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); -} - -[data-theme="dark"] .contributor-rank { - background-color: var(--ifm-color-emphasis-400); - color: var(--ifm-color-emphasis-1000); -} diff --git a/src/components/GlobalContent.js b/src/components/GlobalContent.js deleted file mode 100644 index 187c5ebd1..000000000 --- a/src/components/GlobalContent.js +++ /dev/null @@ -1,13 +0,0 @@ -import React from "react"; -import useDocusaurusContext from "@docusaurus/useDocusaurusContext"; - -/** - * A component that conditionally renders its children based on the `IS_CHINA_SITE` environment variable. - * If `IS_CHINA_SITE` is 'true', the children (typically Markdown content) will not be rendered. - */ -export default function GlobalContent({ children }) { - if (useDocusaurusContext().siteConfig.customFields.IS_CHINA_SITE) { - return null; // Do not render children if in the China site context - } - return <>{children}; // Render children otherwise -} diff --git a/src/components/HeroBackground.tsx b/src/components/HeroBackground.tsx deleted file mode 100644 index 15bccfcaa..000000000 --- a/src/components/HeroBackground.tsx +++ /dev/null @@ -1,36 +0,0 @@ -export function HeroBackground() { - return ( - - - - - - - - - - - - - - - - - - - ); -} diff --git a/src/components/HomepageFeatures/index.js b/src/components/HomepageFeatures/index.js deleted file mode 100644 index ed7eadc55..000000000 --- a/src/components/HomepageFeatures/index.js +++ /dev/null @@ -1,33 +0,0 @@ -import React from "react"; -import styles from "./styles.module.css"; - -const features = [ - { - title: "简单易懂", - description: "从零开始的教程,新手友好" - }, - { - title: "内容全面", - description: "涵盖 Java 版和基岩版所有内容" - }, - { - title: "持续更新", - description: "跟随最新版本和社区动态" - } -]; - -export default function HomepageFeatures() { - return ( -
-

为什么选择 Cubic Wiki

-
- {features.map((feature, idx) => ( -
-

{feature.title}

-

{feature.description}

-
- ))} -
-
- ); -} diff --git a/src/components/HomepageFeatures/styles.module.css b/src/components/HomepageFeatures/styles.module.css deleted file mode 100644 index 48bbac94e..000000000 --- a/src/components/HomepageFeatures/styles.module.css +++ /dev/null @@ -1,66 +0,0 @@ -.features { - padding: 120px 24px; - background: var(--bg); - text-align: center; -} - -.title { - font-size: clamp(32px, 5vw, 48px); - font-weight: 700; - color: var(--text); - margin: 0 0 80px; -} - -.grid { - max-width: 1200px; - margin: 0 auto; - display: grid; - grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); - gap: 32px; -} - -.card { - padding: 48px 32px; - background: var(--bg-subtle); - border: 1px solid var(--border); - border-radius: 12px; - transition: all 0.2s; -} - -.card:hover { - border-color: var(--accent); - transform: translateY(-4px); -} - -.card h3 { - font-size: 20px; - font-weight: 600; - color: var(--text); - margin: 0 0 12px; -} - -.card p { - font-size: 15px; - color: var(--text-muted); - margin: 0; - line-height: 1.6; -} - -@media (max-width: 768px) { - .features { - padding: 80px 20px; - } - - .title { - margin-bottom: 48px; - } - - .grid { - grid-template-columns: 1fr; - gap: 16px; - } - - .card { - padding: 32px 24px; - } -} diff --git a/src/components/SponsorCard/index.jsx b/src/components/SponsorCard/index.jsx deleted file mode 100644 index 798ff0176..000000000 --- a/src/components/SponsorCard/index.jsx +++ /dev/null @@ -1,92 +0,0 @@ -import React, { useState, useEffect } from "react"; -import clsx from "clsx"; -import "./styles.css"; - -/** - * 获取QQ头像URL - * @param {string} qq QQ号码 - * @returns {string} 头像URL - */ -function getQQAvatar(qq) { - // QQ号为空或非数字时返回默认头像 - if (!qq || !/^\d+$/.test(qq)) { - return "https://q.qlogo.cn/g?b=qq&nk=10000&s=100"; - } - // 使用QQ自带的头像API - return `https://q.qlogo.cn/g?b=qq&nk=${qq}&s=100`; -} - -/** - * 单个赞助者卡片组件 - */ -export function SponsorCardItem({ name, amount, qq, note }) { - const [avatarUrl, setAvatarUrl] = useState(""); - const [imageError, setImageError] = useState(false); - - useEffect(() => { - if (qq) { - setAvatarUrl(getQQAvatar(qq)); - } - }, [qq]); - - // 头像加载失败时使用备用头像 - const handleImageError = () => { - if (!imageError) { - setImageError(true); - setAvatarUrl("https://nitwikit.com/img/icon.svg"); - } - }; - - // 如果没有提供QQ号,使用默认头像 - useEffect(() => { - if (!qq && !avatarUrl) { - setAvatarUrl("https://nitwikit.com/img/icon.svg"); - } - }, [qq, avatarUrl]); - - const amountClass = clsx("sponsor-amount", { - "amount-s": amount >= 10 && amount < 50, - "amount-m": amount >= 50 && amount < 100, - "amount-l": amount >= 100 && amount < 500, - "amount-xl": amount >= 500 - }); - - return ( -
-
- {`${name} -
-
-
{name}
-
¥{amount}
- {note &&
{note}
} -
-
- ); -} - -/** - * 赞助者卡片列表组件 - */ -export default function SponsorCard({ sponsors }) { - if (!sponsors || sponsors.length === 0) { - return
暂无赞助者,成为第一个赞助者吧!
; - } - - // 按金额从高到低排序 - const sortedSponsors = [...sponsors].sort((a, b) => b.amount - a.amount); - - return ( -
- {sortedSponsors.map((sponsor, index) => ( - - ))} -
- ); -} diff --git a/src/components/SponsorCard/styles.css b/src/components/SponsorCard/styles.css deleted file mode 100644 index 59cc104e2..000000000 --- a/src/components/SponsorCard/styles.css +++ /dev/null @@ -1,195 +0,0 @@ -/* 赞助卡片容器 */ -.sponsor-container { - display: grid; - grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); - gap: 1.5rem; - margin: 2rem 0; -} - -/* 单个赞助卡片 */ -.sponsor-card { - display: flex; - flex-direction: column; - align-items: center; - padding: 1.5rem; - border-radius: 12px; - background: var(--ifm-card-background-color, var(--ifm-background-surface-color)); - box-shadow: 0 3px 12px rgba(0, 0, 0, 0.05); - transition: all 0.3s ease; - position: relative; - overflow: hidden; - text-align: center; -} - -/* 卡片悬停效果 */ -.sponsor-card:hover { - transform: translateY(-5px); - box-shadow: 0 8px 16px rgba(0, 0, 0, 0.08); -} - -/* 卡片底部渐变色条 */ -.sponsor-card::after { - content: ""; - position: absolute; - bottom: 0; - left: 0; - right: 0; - height: 4px; - background: linear-gradient(90deg, var(--ifm-color-primary), var(--ifm-color-primary-lighter)); - transition: opacity 0.3s ease; - opacity: 0.7; -} - -.sponsor-card:hover::after { - opacity: 1; -} - -/* 头像容器 */ -.sponsor-avatar-wrapper { - width: 80px; - height: 80px; - border-radius: 50%; - overflow: hidden; - margin: 0 auto 1rem auto; /* 居中并保持底部间距 */ - border: 3px solid var(--ifm-color-primary-lightest); - box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); - transition: all 0.3s ease; - position: relative; - display: flex; - align-items: center; - justify-content: center; -} - -.sponsor-card:hover .sponsor-avatar-wrapper { - transform: scale(1.05); -} - -/* 头像样式 */ -.sponsor-avatar { - width: 100%; - height: 100%; - object-fit: cover; - object-position: center center; - transition: transform 0.5s ease; - display: block; - flex-shrink: 0; -} - -.sponsor-card:hover .sponsor-avatar { - transform: scale(1.1); -} - -/* 赞助者信息 */ -.sponsor-info { - width: 100%; -} - -/* 赞助者名称 */ -.sponsor-name { - font-size: 1.25rem; - font-weight: 600; - color: var(--ifm-heading-color); - margin-bottom: 0.5rem; - transition: color 0.3s ease; -} - -.sponsor-card:hover .sponsor-name { - color: var(--ifm-color-primary); -} - -/* 赞助金额 */ -.sponsor-amount { - font-weight: 600; - margin-bottom: 0.5rem; - color: var(--ifm-color-primary); - padding: 0.25rem 0.75rem; - border-radius: 50px; - background: var(--ifm-color-primary-lightest); - display: inline-block; - font-size: 0.9rem; -} - -/* 不同级别的赞助金额样式 */ -.amount-s { - background: rgba(156, 163, 175, 0.15); - color: #6b7280; -} - -.amount-m { - background: rgba(249, 115, 22, 0.15); - color: #d97706; -} - -.amount-l { - background: rgba(37, 99, 235, 0.15); - color: #2563eb; -} - -.amount-xl { - background: rgba(220, 38, 38, 0.15); - color: #dc2626; -} - -/* 赞助备注 */ -.sponsor-note { - font-size: 0.9rem; - color: var(--ifm-color-emphasis-700); - margin-top: 0.5rem; - line-height: 1.4; - font-style: italic; -} - -/* 空状态提示 */ -.sponsor-empty { - text-align: center; - padding: 3rem 1rem; - color: var(--ifm-color-emphasis-600); - font-style: italic; - background: var(--ifm-card-background-color, var(--ifm-background-surface-color)); - border-radius: 12px; - border: 1px dashed var(--ifm-color-emphasis-300); -} - -/* 暗色模式适配 */ -html[data-theme="dark"] .sponsor-card { - box-shadow: 0 3px 12px rgba(0, 0, 0, 0.15); -} - -html[data-theme="dark"] .sponsor-card:hover { - box-shadow: 0 8px 16px rgba(0, 0, 0, 0.25); -} - -html[data-theme="dark"] .sponsor-avatar-wrapper { - border-color: var(--ifm-color-primary-darker); - box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); -} - -/* 移动端适配 */ -@media (max-width: 576px) { - .sponsor-container { - grid-template-columns: 1fr 1fr; - gap: 1rem; - } - - .sponsor-card { - padding: 1rem; - } - - .sponsor-avatar-wrapper { - width: 60px; - height: 60px; - margin: 0 auto 0.75rem auto; /* 调整移动端的margin */ - display: flex; - align-items: center; - justify-content: center; - } - - .sponsor-name { - font-size: 1rem; - } - - .sponsor-amount { - font-size: 0.8rem; - padding: 0.2rem 0.5rem; - } -} diff --git a/src/components/StructureExplorer.tsx b/src/components/StructureExplorer.tsx deleted file mode 100644 index c75fa4591..000000000 --- a/src/components/StructureExplorer.tsx +++ /dev/null @@ -1,190 +0,0 @@ -import { ExplorerNode } from "@/types/ExplorerNode"; -import Link from "@docusaurus/Link"; -import { Icon } from "@iconify/react"; -import "@site/src/css/structure_explorer.css"; -import clsx from "clsx"; -import React, { JSX, useState } from "react"; - -const folderIcon = "mdi:folder"; -const fileIcon = "mdi:file"; -const structureIcon = "mdi:file"; - -interface StructureExplorerProps { - data?: ExplorerNode[]; -} - -interface TreeLineProps { - isLast: boolean; - isRoot: boolean; -} - -const TreeLine = ({ isLast, isRoot }: TreeLineProps): JSX.Element => { - if (isRoot) { - return ; - } - return {isLast ? "└── " : "├── "}; -}; - -interface PrefixLineProps { - levels: boolean[]; -} - -const PrefixLine = ({ levels }: PrefixLineProps): JSX.Element => { - if (levels.length === 0) { - return ; - } - - return ( - <> - {levels.map((isLast, index) => ( - - {isLast ? " " : "│ "} - - ))} - - ); -}; - -export default function ConfigurationStructureDiagram({ data = [] }: StructureExplorerProps = {}): JSX.Element { - const [popupNode, setPopupNode] = useState(null); - const [showDescriptionBelow, setShowDescriptionBelow] = useState(false); - - const renderNode = (node: ExplorerNode, level: number = 0, isLast: boolean = true, ancestors: boolean[] = []) => { - const isFolder = node.type === "folder"; - const isStructure = node.type === "structure"; - const hasChildren = node.type === "folder" || node.type === "structure"; - const hasDescription = "description" in node; - const hasUrl = "url" in node; - const isExternal = node.external; - - const handleNodeOpening = (event: React.MouseEvent) => { - event.stopPropagation(); - setPopupNode(node); - }; - - const newAncestors = [...ancestors]; - if (level > 0) { - newAncestors[level - 1] = isLast; - } - - return ( -
0 ? "config-explorer-node" : "config-explorer-node-noflex"} - onMouseLeave={() => { - setPopupNode(null); - }} - > -
- {level > 0 && } - {level > 0 && } - -
- {hasUrl ? ( - - - {node.name} - - ) : ( - - - {node.name} - - )} - {hasDescription && - (showDescriptionBelow ? null : ( -
- - ⓘ - -
-
- 简介: -
- {node.description} -
-
-
- ))} -
-
- - {showDescriptionBelow && hasDescription && ( -
- - {isLast ? " " : "│ "} -
{node.description}
-
- )} - - {hasChildren && - node.children && - node.children.map((child, index) => ( -
- {renderNode(child, level + 1, index === node.children!.length - 1, newAncestors)} -
- ))} -
- ); - }; - - return ( -
-
- -
-
-                {data.map((item) => (
-                    
{renderNode(item)}
- ))} -
-
- ); -} diff --git a/src/components/comment/index.jsx b/src/components/comment/index.jsx deleted file mode 100644 index cf6eb9566..000000000 --- a/src/components/comment/index.jsx +++ /dev/null @@ -1,51 +0,0 @@ -import React, { forwardRef, useEffect, useState } from "react"; -import BrowserOnly from "@docusaurus/BrowserOnly"; -import Giscus from "@giscus/react"; -import { useThemeConfig, useColorMode } from "@docusaurus/theme-common"; - -export const Comment = forwardRef((props, ref) => { - const { giscus } = useThemeConfig(); - const { colorMode } = useColorMode(); - const { theme = "light", darkTheme = "dark_dimmed" } = giscus; - const giscusTheme = colorMode === "dark" ? darkTheme : theme; - const [routeDidUpdate, setRouteDidUpdate] = useState(false); - - useEffect(() => { - function eventHandler(e) { - setRouteDidUpdate(true); - } - - window.emitter.on("onRouteDidUpdate", eventHandler); - - return () => { - window.emitter.off("onRouteDidUpdate", eventHandler); - }; - }, []); - - if (!routeDidUpdate) { - return null; - } - - return ( - Loading Comments...}> - {() => ( -
- -
- )} -
- ); -}); - -export default Comment; diff --git a/src/content.config.ts b/src/content.config.ts new file mode 100644 index 000000000..6393017e9 --- /dev/null +++ b/src/content.config.ts @@ -0,0 +1,7 @@ +import { docsLoader } from "@astrojs/starlight/loaders"; +import { docsSchema } from "@astrojs/starlight/schema"; +import { defineCollection } from "astro:content"; + +export const collections = { + docs: defineCollection({ loader: docsLoader(), schema: docsSchema() }) +}; diff --git a/docs-about/_images/me.png b/src/content/docs/about/_assets/me.png similarity index 100% rename from docs-about/_images/me.png rename to src/content/docs/about/_assets/me.png diff --git a/docs-about/ad.md b/src/content/docs/about/ad.md similarity index 100% rename from docs-about/ad.md rename to src/content/docs/about/ad.md diff --git a/docs-about/arch.md b/src/content/docs/about/arch.md similarity index 100% rename from docs-about/arch.md rename to src/content/docs/about/arch.md diff --git a/docs-about/contributors.md b/src/content/docs/about/contributors.md similarity index 100% rename from docs-about/contributors.md rename to src/content/docs/about/contributors.md diff --git a/docs-about/intro.md b/src/content/docs/about/intro.md similarity index 99% rename from docs-about/intro.md rename to src/content/docs/about/intro.md index c81bd5433..eed7e62c4 100644 --- a/docs-about/intro.md +++ b/src/content/docs/about/intro.md @@ -19,7 +19,7 @@ Cubic 在群友的建议中被选中,成为了新组织的名字 👋你好!我是 NitWikit 项目和 8aka-Team 团队的建立者驿站 ``` -![](_images/me.png) +![](_assets/me.png) ~~早就想写这么一个页面结果一直拖着一直忘记~~ diff --git a/docs-about/sponsor.md b/src/content/docs/about/sponsor.md similarity index 100% rename from docs-about/sponsor.md rename to src/content/docs/about/sponsor.md diff --git a/docs-about/timeline.mdx b/src/content/docs/about/timeline.mdx similarity index 100% rename from docs-about/timeline.mdx rename to src/content/docs/about/timeline.mdx diff --git a/docs-bedrock/bds/bds.md b/src/content/docs/bedrock/bds/bds.md similarity index 100% rename from docs-bedrock/bds/bds.md rename to src/content/docs/bedrock/bds/bds.md diff --git a/docs-bedrock/bds/preparation/preparation.md b/src/content/docs/bedrock/bds/preparation/preparation.md similarity index 100% rename from docs-bedrock/bds/preparation/preparation.md rename to src/content/docs/bedrock/bds/preparation/preparation.md diff --git a/docs-bedrock/bds/preparation/text-editor.md b/src/content/docs/bedrock/bds/preparation/text-editor.md similarity index 100% rename from docs-bedrock/bds/preparation/text-editor.md rename to src/content/docs/bedrock/bds/preparation/text-editor.md diff --git a/docs-bedrock/bds/preparation/vcruntime.md b/src/content/docs/bedrock/bds/preparation/vcruntime.md similarity index 100% rename from docs-bedrock/bds/preparation/vcruntime.md rename to src/content/docs/bedrock/bds/preparation/vcruntime.md diff --git a/docs-bedrock/bds/preparation/websites.md b/src/content/docs/bedrock/bds/preparation/websites.md similarity index 100% rename from docs-bedrock/bds/preparation/websites.md rename to src/content/docs/bedrock/bds/preparation/websites.md diff --git a/docs-bedrock/bds/process/bdsx/bdsx-install.md b/src/content/docs/bedrock/bds/process/bdsx/bdsx-install.md similarity index 100% rename from docs-bedrock/bds/process/bdsx/bdsx-install.md rename to src/content/docs/bedrock/bds/process/bdsx/bdsx-install.md diff --git a/docs-bedrock/bds/process/bdsx/bdsx.md b/src/content/docs/bedrock/bds/process/bdsx/bdsx.md similarity index 100% rename from docs-bedrock/bds/process/bdsx/bdsx.md rename to src/content/docs/bedrock/bds/process/bdsx/bdsx.md diff --git a/docs-bedrock/bds/process/endstone/_images/1-1.png b/src/content/docs/bedrock/bds/process/endstone/_assets/1-1.png similarity index 100% rename from docs-bedrock/bds/process/endstone/_images/1-1.png rename to src/content/docs/bedrock/bds/process/endstone/_assets/1-1.png diff --git a/docs-bedrock/bds/process/endstone/_images/1-2.png b/src/content/docs/bedrock/bds/process/endstone/_assets/1-2.png similarity index 100% rename from docs-bedrock/bds/process/endstone/_images/1-2.png rename to src/content/docs/bedrock/bds/process/endstone/_assets/1-2.png diff --git a/docs-bedrock/bds/process/endstone/_images/1-3.png b/src/content/docs/bedrock/bds/process/endstone/_assets/1-3.png similarity index 100% rename from docs-bedrock/bds/process/endstone/_images/1-3.png rename to src/content/docs/bedrock/bds/process/endstone/_assets/1-3.png diff --git a/docs-bedrock/bds/process/endstone/_images/1-4.png b/src/content/docs/bedrock/bds/process/endstone/_assets/1-4.png similarity index 100% rename from docs-bedrock/bds/process/endstone/_images/1-4.png rename to src/content/docs/bedrock/bds/process/endstone/_assets/1-4.png diff --git a/docs-bedrock/bds/process/endstone/_images/1-5.png b/src/content/docs/bedrock/bds/process/endstone/_assets/1-5.png similarity index 100% rename from docs-bedrock/bds/process/endstone/_images/1-5.png rename to src/content/docs/bedrock/bds/process/endstone/_assets/1-5.png diff --git a/docs-bedrock/bds/process/endstone/_images/1-6.png b/src/content/docs/bedrock/bds/process/endstone/_assets/1-6.png similarity index 100% rename from docs-bedrock/bds/process/endstone/_images/1-6.png rename to src/content/docs/bedrock/bds/process/endstone/_assets/1-6.png diff --git a/docs-bedrock/bds/process/endstone/_images/1-7.png b/src/content/docs/bedrock/bds/process/endstone/_assets/1-7.png similarity index 100% rename from docs-bedrock/bds/process/endstone/_images/1-7.png rename to src/content/docs/bedrock/bds/process/endstone/_assets/1-7.png diff --git a/docs-bedrock/bds/process/endstone/_images/1-8.png b/src/content/docs/bedrock/bds/process/endstone/_assets/1-8.png similarity index 100% rename from docs-bedrock/bds/process/endstone/_images/1-8.png rename to src/content/docs/bedrock/bds/process/endstone/_assets/1-8.png diff --git a/docs-bedrock/bds/process/endstone/_images/1-9.png b/src/content/docs/bedrock/bds/process/endstone/_assets/1-9.png similarity index 100% rename from docs-bedrock/bds/process/endstone/_images/1-9.png rename to src/content/docs/bedrock/bds/process/endstone/_assets/1-9.png diff --git a/docs-bedrock/bds/process/endstone/_images/1.png b/src/content/docs/bedrock/bds/process/endstone/_assets/1.png similarity index 100% rename from docs-bedrock/bds/process/endstone/_images/1.png rename to src/content/docs/bedrock/bds/process/endstone/_assets/1.png diff --git a/docs-bedrock/bds/process/endstone/_images/10.png b/src/content/docs/bedrock/bds/process/endstone/_assets/10.png similarity index 100% rename from docs-bedrock/bds/process/endstone/_images/10.png rename to src/content/docs/bedrock/bds/process/endstone/_assets/10.png diff --git a/docs-bedrock/bds/process/endstone/_images/2-1.png b/src/content/docs/bedrock/bds/process/endstone/_assets/2-1.png similarity index 100% rename from docs-bedrock/bds/process/endstone/_images/2-1.png rename to src/content/docs/bedrock/bds/process/endstone/_assets/2-1.png diff --git a/docs-bedrock/bds/process/endstone/_images/2-10.png b/src/content/docs/bedrock/bds/process/endstone/_assets/2-10.png similarity index 100% rename from docs-bedrock/bds/process/endstone/_images/2-10.png rename to src/content/docs/bedrock/bds/process/endstone/_assets/2-10.png diff --git a/docs-bedrock/bds/process/endstone/_images/2-11.png b/src/content/docs/bedrock/bds/process/endstone/_assets/2-11.png similarity index 100% rename from docs-bedrock/bds/process/endstone/_images/2-11.png rename to src/content/docs/bedrock/bds/process/endstone/_assets/2-11.png diff --git a/docs-bedrock/bds/process/endstone/_images/2-2.png b/src/content/docs/bedrock/bds/process/endstone/_assets/2-2.png similarity index 100% rename from docs-bedrock/bds/process/endstone/_images/2-2.png rename to src/content/docs/bedrock/bds/process/endstone/_assets/2-2.png diff --git a/docs-bedrock/bds/process/endstone/_images/2-3.png b/src/content/docs/bedrock/bds/process/endstone/_assets/2-3.png similarity index 100% rename from docs-bedrock/bds/process/endstone/_images/2-3.png rename to src/content/docs/bedrock/bds/process/endstone/_assets/2-3.png diff --git a/docs-bedrock/bds/process/endstone/_images/2-4.png b/src/content/docs/bedrock/bds/process/endstone/_assets/2-4.png similarity index 100% rename from docs-bedrock/bds/process/endstone/_images/2-4.png rename to src/content/docs/bedrock/bds/process/endstone/_assets/2-4.png diff --git a/docs-bedrock/bds/process/endstone/_images/2-5.png b/src/content/docs/bedrock/bds/process/endstone/_assets/2-5.png similarity index 100% rename from docs-bedrock/bds/process/endstone/_images/2-5.png rename to src/content/docs/bedrock/bds/process/endstone/_assets/2-5.png diff --git a/docs-bedrock/bds/process/endstone/_images/2-6.png b/src/content/docs/bedrock/bds/process/endstone/_assets/2-6.png similarity index 100% rename from docs-bedrock/bds/process/endstone/_images/2-6.png rename to src/content/docs/bedrock/bds/process/endstone/_assets/2-6.png diff --git a/docs-bedrock/bds/process/endstone/_images/2-7.png b/src/content/docs/bedrock/bds/process/endstone/_assets/2-7.png similarity index 100% rename from docs-bedrock/bds/process/endstone/_images/2-7.png rename to src/content/docs/bedrock/bds/process/endstone/_assets/2-7.png diff --git a/docs-bedrock/bds/process/endstone/_images/2-8.png b/src/content/docs/bedrock/bds/process/endstone/_assets/2-8.png similarity index 100% rename from docs-bedrock/bds/process/endstone/_images/2-8.png rename to src/content/docs/bedrock/bds/process/endstone/_assets/2-8.png diff --git a/docs-bedrock/bds/process/endstone/_images/2-9.png b/src/content/docs/bedrock/bds/process/endstone/_assets/2-9.png similarity index 100% rename from docs-bedrock/bds/process/endstone/_images/2-9.png rename to src/content/docs/bedrock/bds/process/endstone/_assets/2-9.png diff --git a/docs-bedrock/bds/process/endstone/_images/2.png b/src/content/docs/bedrock/bds/process/endstone/_assets/2.png similarity index 100% rename from docs-bedrock/bds/process/endstone/_images/2.png rename to src/content/docs/bedrock/bds/process/endstone/_assets/2.png diff --git a/docs-bedrock/bds/process/endstone/_images/3.png b/src/content/docs/bedrock/bds/process/endstone/_assets/3.png similarity index 100% rename from docs-bedrock/bds/process/endstone/_images/3.png rename to src/content/docs/bedrock/bds/process/endstone/_assets/3.png diff --git a/docs-bedrock/bds/process/endstone/_images/4.png b/src/content/docs/bedrock/bds/process/endstone/_assets/4.png similarity index 100% rename from docs-bedrock/bds/process/endstone/_images/4.png rename to src/content/docs/bedrock/bds/process/endstone/_assets/4.png diff --git a/docs-bedrock/bds/process/endstone/_images/5.png b/src/content/docs/bedrock/bds/process/endstone/_assets/5.png similarity index 100% rename from docs-bedrock/bds/process/endstone/_images/5.png rename to src/content/docs/bedrock/bds/process/endstone/_assets/5.png diff --git a/docs-bedrock/bds/process/endstone/_images/6.png b/src/content/docs/bedrock/bds/process/endstone/_assets/6.png similarity index 100% rename from docs-bedrock/bds/process/endstone/_images/6.png rename to src/content/docs/bedrock/bds/process/endstone/_assets/6.png diff --git a/docs-bedrock/bds/process/endstone/_images/7.png b/src/content/docs/bedrock/bds/process/endstone/_assets/7.png similarity index 100% rename from docs-bedrock/bds/process/endstone/_images/7.png rename to src/content/docs/bedrock/bds/process/endstone/_assets/7.png diff --git a/docs-bedrock/bds/process/endstone/_images/8.png b/src/content/docs/bedrock/bds/process/endstone/_assets/8.png similarity index 100% rename from docs-bedrock/bds/process/endstone/_images/8.png rename to src/content/docs/bedrock/bds/process/endstone/_assets/8.png diff --git a/docs-bedrock/bds/process/endstone/_images/9.png b/src/content/docs/bedrock/bds/process/endstone/_assets/9.png similarity index 100% rename from docs-bedrock/bds/process/endstone/_images/9.png rename to src/content/docs/bedrock/bds/process/endstone/_assets/9.png diff --git a/docs-bedrock/bds/process/endstone/endstone-install.md b/src/content/docs/bedrock/bds/process/endstone/endstone-install.md similarity index 83% rename from docs-bedrock/bds/process/endstone/endstone-install.md rename to src/content/docs/bedrock/bds/process/endstone/endstone-install.md index 7a6c2cc49..aa60f0992 100644 --- a/docs-bedrock/bds/process/endstone/endstone-install.md +++ b/src/content/docs/bedrock/bds/process/endstone/endstone-install.md @@ -11,12 +11,12 @@ sidebar_position: 1 Windows 环境下: -- [VS Code](https://code.visualstudio.com/) 编辑器 -- 可选:最新版 [Python 3.12+ 环境](https://python.org) +- [VS Code](https://code.visualstudio.com/) 编辑器 +- 可选:最新版 [Python 3.12+ 环境](https://python.org) Linux 环境下: -- 最新版 [Python 3.12+ 环境](https://python.org) 或者 最新版 [Docker 环境](https://hub.docker.com/r/endstone/endstone/) +- 最新版 [Python 3.12+ 环境](https://python.org) 或者 最新版 [Docker 环境](https://hub.docker.com/r/endstone/endstone/) ## 方法一:直接下载启动 @@ -28,23 +28,23 @@ Linux 环境下: 前往 EndStone 开源仓库:[GitHub](https://github.com/EndstoneMC/endstone),找到 Releases,打开后下载压缩包 -![1](./_images/1.png) +![1](./_assets/1.png) -![2](./_images/2.png) +![2](./_assets/2.png) 将下载好的压缩包放到新建的文件夹内,或者上传到服务器上的新建好的文件夹内 -![3](./_images/3.png) +![3](./_assets/3.png) 解压后获得 EndStone 本体 -![4](./_images/4.png) +![4](./_assets/4.png) ### 二、下载 BDS 服务端 启动 start.bat,获得该版本的 EndStone 支持的 BDS 服务端版本 -![5](./_images/5.png) +![5](./_assets/5.png) 目前已知该版本的 EndStone 支持对接 1.21.41 版本 @@ -52,7 +52,7 @@ Linux 环境下: 复制相应的 URL 后的下载链接,直接粘贴到新窗口的 web 地址栏回车下载 BDS 服务端压缩包 -![6](./_images/6.png) +![6](./_assets/6.png) 将下载后的服务端 zip 压缩包放入 EndStone 文件夹内 @@ -60,15 +60,15 @@ Linux 环境下: 创建 bedrock_server 文件夹 -![7](./_images/7.png) +![7](./_assets/7.png) 将 BDS 服务端 zip 压缩包解压到 bedrock_server 文件夹 然后,创建 `version.txt` 文件,打开并编辑以下内容,编辑完毕后保存 -![8](./_images/8.png) +![8](./_assets/8.png) -![9](./_images/9.png) +![9](./_assets/9.png) ### 四、启动服务器 @@ -76,7 +76,7 @@ Linux 环境下: 启动成功后会显示下面内容 -![10](./_images/10.png) +![10](./_assets/10.png) 恭喜你!你已经成功开启了可以支持插件的基岩版服务器!赶紧体验一下吧~ @@ -92,17 +92,17 @@ Linux 环境下: :::info -Linux 请按照 [这个教程](https://blog.csdn.net/hd243608836/article/details/121417965) 或者必应搜索 **Python Linux 安装** 完成安装 python 最新版,*安装完毕请看第二步* +Linux 请按照 [这个教程](https://blog.csdn.net/hd243608836/article/details/121417965) 或者必应搜索 **Python Linux 安装** 完成安装 python 最新版,_安装完毕请看第二步_ ::: 运行 Python 安装包程序进行安装: -![101](./_images/1-1.png) +![101](./_assets/1-1.png) -![102](./_images/1-2.png) +![102](./_assets/1-2.png) -![103](./_images/1-3.png) +![103](./_assets/1-3.png) 安装完成后,打开 CMD(按住 `WIN + R` 打开后输入 `cmd` 回车),输入以下指令检测 Python 是否正常安装 @@ -112,7 +112,7 @@ python 安装好 CMD 会这么显示: -![104](./_images/1-4.png) +![104](./_assets/1-4.png) ### 二、安装 EndStone 本体 @@ -128,7 +128,7 @@ python 如果在 D 盘,请按照下图操作进行(**Linux 一类系统可直接使用 `cd 文件夹路径` 进入相应目录**) -![105](./_images/1-5.png) +![105](./_assets/1-5.png) 输入下面指令安装 EndStone 本体 (Python 默认的下载会比较慢,如果想加快下载速度推荐必应搜索 **Python 换国内下载源** 配置,本教程不再过多阐述) @@ -138,7 +138,7 @@ pip install endstone 下载完后应该是这样的 -![106](./_images/1-6.png) +![106](./_assets/1-6.png) ### 三、安装 VC 运行库 @@ -148,7 +148,7 @@ pip install endstone 你可能注意到了,直接运行版本是可以直接运行的,貌似这一步被省略过去了 -实际上并不是,只是直接运行版本自带了 Python 环境和 VC 运行库,一般情况下运行 EndStone 的 start.bat 是不会出现任何问题(**除非你作死把那个删了,但会有人去删掉它吗🤔**) +实际上并不是,只是直接运行版本自带了 Python 环境和 VC 运行库,一般情况下运行 EndStone 的 start.bat 是不会出现任何问题(**除非你作死把那个删了,但会有人去删掉它吗 🤔**) ::: @@ -156,7 +156,7 @@ pip install endstone CMD 控制台输入 `endstone` ,获得该版本的 EndStone 支持的 BDS 服务端版本 -![107](./_images/1-7.png) +![107](./_assets/1-7.png) 通过上图可知,目前该版本的 EndStone 支持对接 1.21.41 版本 @@ -164,7 +164,7 @@ CMD 控制台输入 `endstone` ,获得该版本的 EndStone 支持的 BDS 服 找到相应版本的下载地址,复制 URL 后的下载链接,直接粘贴到新窗口的 web 地址栏回车下载 BDS 服务端压缩包 -![6](./_images/6.png) +![6](./_assets/6.png) 将下载后的服务端 zip 压缩包放入 EndStone 文件夹内 @@ -172,15 +172,15 @@ CMD 控制台输入 `endstone` ,获得该版本的 EndStone 支持的 BDS 服 创建 bedrock_server 文件夹 -![108](./_images/1-8.png) +![108](./_assets/1-8.png) 将 BDS 服务端 zip 压缩包解压到 bedrock_server 文件夹 然后,创建 `version.txt` 文件,打开并编辑以下内容,编辑完毕后保存 -![8](./_images/8.png) +![8](./_assets/8.png) -![9](./_images/9.png) +![9](./_assets/9.png) ### 六、启动服务器 @@ -188,7 +188,7 @@ CMD 控制台输入 `endstone` ,获得该版本的 EndStone 支持的 BDS 服 启动成功后会显示下面内容 -![109](./_images/1-9.png) +![109](./_assets/1-9.png) 恭喜你!你已经成功开启了可以支持插件的基岩版服务器!赶紧体验一下吧~ diff --git a/docs-bedrock/bds/process/endstone/endstone-plugins.md b/src/content/docs/bedrock/bds/process/endstone/endstone-plugins.md similarity index 87% rename from docs-bedrock/bds/process/endstone/endstone-plugins.md rename to src/content/docs/bedrock/bds/process/endstone/endstone-plugins.md index 4e3448e86..e472e73d4 100644 --- a/docs-bedrock/bds/process/endstone/endstone-plugins.md +++ b/src/content/docs/bedrock/bds/process/endstone/endstone-plugins.md @@ -9,15 +9,15 @@ sidebar_position: 1 ### [MineBBS 论坛](https://www.minebbs.com/resources/categories/bdserver.38/)(发展国内基岩版社区的你敢说没有?) -![201](./_images/2-1.png) +![201](./_assets/2-1.png) ### [pip 源](https://pypi.org/search/?q=endstone) (EndStone 绝大多数插件都在这里发布了) -![202](./_images/2-2.png) +![202](./_assets/2-2.png) ### [Bedrinth 下载站](https://bedrinth.com/?platform=endstone) (除了 pip 外另一个比较知名的下载源,网速较慢,不太推荐) -![203](./_images/2-3.png) +![203](./_assets/2-3.png) ## 第二步、如何安装? @@ -41,18 +41,18 @@ whl 格式本质上是一个压缩包,里面包含了 py 文件,以及经过 说白了,whl 就是 Python 的压缩包。 -常玩 Java 版的话,你可以理解为它是 **Python 版 的 .jar 文件**,只是运行环境由 *Java* 改为 *Python*(可以这么想吧) +常玩 Java 版的话,你可以理解为它是 **Python 版 的 .jar 文件**,只是运行环境由 _Java_ 改为 _Python_(可以这么想吧) ::: -![204](./_images/2-4.png) +![204](./_assets/2-4.png) #### 第一步、下载插件 在 MineBBS 以及其他论坛或者 QQ 群等渠道下载的文件,你可能会获得 -- whl 文件 -- 或者 zip 一类 压缩包 +- whl 文件 +- 或者 zip 一类 压缩包 压缩包请使用常用压缩软件打开备用 @@ -70,23 +70,23 @@ whl 格式本质上是一个压缩包,里面包含了 py 文件,以及经过 1、打开 `bedrock_server` 文件夹,你会惊奇的发现:什么时候多了个 `plugins` 文件夹?!! -![205](./_images/2-5.png) +![205](./_assets/2-5.png) 2、打开 `plugins` 文件夹,将下载的 whl 插件文件拽入该文件夹中 3、启动!当 CMD 显示插件名称时说明插件已加载成功! -![206](./_images/2-6.png) +![206](./_assets/2-6.png) 4、如果你真不知道如何辨别插件是否加载,请在后台输入 `plugins` 指令 -![207](./_images/2-7.png) +![207](./_assets/2-7.png) ##### 如果是压缩包文件 比如下面这个赖皮家伙(不是) -![208](./_images/2-8.png) +![208](./_assets/2-8.png) 教你三招: @@ -96,17 +96,17 @@ whl 格式本质上是一个压缩包,里面包含了 py 文件,以及经过 3、启动!享受插件便利! -![209](./_images/2-9.png) +![209](./_assets/2-9.png) ##### 插件配置 有的会在下载的压缩文件中提前准备好 -![208](./_images/2-8.png) +![208](./_assets/2-8.png) 有的会在启动一次服务器后自动生成 -![2010](./_images/2-10.png) +![2010](./_assets/2-10.png) 编辑他们很简单,打开相应插件的文件夹,然后使用 VS Code 或者 Nodepad-- 一类编辑器对插件进行配置 @@ -124,6 +124,6 @@ whl 格式本质上是一个压缩包,里面包含了 py 文件,以及经过 pip install 插件名 ``` -![2011](./_images/2-11.png) +![2011](./_assets/2-11.png) 然后重启服务器,插件会自动安装完毕啦~ diff --git a/docs-bedrock/bds/process/endstone/endstone.md b/src/content/docs/bedrock/bds/process/endstone/endstone.md similarity index 100% rename from docs-bedrock/bds/process/endstone/endstone.md rename to src/content/docs/bedrock/bds/process/endstone/endstone.md diff --git a/docs-bedrock/bds/process/levilamina/legacy-script-engine.md b/src/content/docs/bedrock/bds/process/levilamina/legacy-script-engine.md similarity index 100% rename from docs-bedrock/bds/process/levilamina/legacy-script-engine.md rename to src/content/docs/bedrock/bds/process/levilamina/legacy-script-engine.md diff --git a/docs-bedrock/bds/process/levilamina/levilamina-install.md b/src/content/docs/bedrock/bds/process/levilamina/levilamina-install.md similarity index 100% rename from docs-bedrock/bds/process/levilamina/levilamina-install.md rename to src/content/docs/bedrock/bds/process/levilamina/levilamina-install.md diff --git a/docs-bedrock/bds/process/levilamina/levilamina-plugins.mdx b/src/content/docs/bedrock/bds/process/levilamina/levilamina-plugins.mdx similarity index 100% rename from docs-bedrock/bds/process/levilamina/levilamina-plugins.mdx rename to src/content/docs/bedrock/bds/process/levilamina/levilamina-plugins.mdx diff --git a/docs-bedrock/bds/process/levilamina/levilamina.md b/src/content/docs/bedrock/bds/process/levilamina/levilamina.md similarity index 100% rename from docs-bedrock/bds/process/levilamina/levilamina.md rename to src/content/docs/bedrock/bds/process/levilamina/levilamina.md diff --git a/docs-bedrock/bds/process/liteloader-bds/install.md b/src/content/docs/bedrock/bds/process/liteloader-bds/install.md similarity index 100% rename from docs-bedrock/bds/process/liteloader-bds/install.md rename to src/content/docs/bedrock/bds/process/liteloader-bds/install.md diff --git a/docs-bedrock/bds/process/liteloader-bds/liteloader-bds.md b/src/content/docs/bedrock/bds/process/liteloader-bds/liteloader-bds.md similarity index 100% rename from docs-bedrock/bds/process/liteloader-bds/liteloader-bds.md rename to src/content/docs/bedrock/bds/process/liteloader-bds/liteloader-bds.md diff --git a/docs-bedrock/bds/process/liteloader-bds/plugins.md b/src/content/docs/bedrock/bds/process/liteloader-bds/plugins.md similarity index 100% rename from docs-bedrock/bds/process/liteloader-bds/plugins.md rename to src/content/docs/bedrock/bds/process/liteloader-bds/plugins.md diff --git a/docs-bedrock/bds/process/plugins/_images/levilamina-is-coming.png b/src/content/docs/bedrock/bds/process/plugins/_assets/levilamina-is-coming.png similarity index 100% rename from docs-bedrock/bds/process/plugins/_images/levilamina-is-coming.png rename to src/content/docs/bedrock/bds/process/plugins/_assets/levilamina-is-coming.png diff --git a/docs-bedrock/bds/process/plugins/_images/levilamina-will-archived.png b/src/content/docs/bedrock/bds/process/plugins/_assets/levilamina-will-archived.png similarity index 100% rename from docs-bedrock/bds/process/plugins/_images/levilamina-will-archived.png rename to src/content/docs/bedrock/bds/process/plugins/_assets/levilamina-will-archived.png diff --git a/docs-bedrock/bds/process/plugins/how-to-load-plugins.md b/src/content/docs/bedrock/bds/process/plugins/how-to-load-plugins.md similarity index 100% rename from docs-bedrock/bds/process/plugins/how-to-load-plugins.md rename to src/content/docs/bedrock/bds/process/plugins/how-to-load-plugins.md diff --git a/docs-bedrock/bds/process/plugins/plugins-loader-choose.md b/src/content/docs/bedrock/bds/process/plugins/plugins-loader-choose.md similarity index 96% rename from docs-bedrock/bds/process/plugins/plugins-loader-choose.md rename to src/content/docs/bedrock/bds/process/plugins/plugins-loader-choose.md index 86dcb1c8d..92735cd1c 100644 --- a/docs-bedrock/bds/process/plugins/plugins-loader-choose.md +++ b/src/content/docs/bedrock/bds/process/plugins/plugins-loader-choose.md @@ -25,7 +25,7 @@ import TabItem from '@theme/TabItem'; | 推荐与否 | 非常推荐 | | 理由 | 插件生态不错,跟 [LiteLoader](#寿终正寝の加载器) 时代一样巅峰 | | 下载 | [GitHub 下载](https://github.com/LiteLDev/LeviLamina/releases) | -| 支持的 MC 版本 | 1.20.61-1.21.3 (目前保持更新) | +| 支持的 MC 版本 | 1.20.61-1.21.3 (目前保持更新) | @@ -38,7 +38,7 @@ import TabItem from '@theme/TabItem'; | 推荐与否 | 比较慢推荐 | | 理由 | 虽然几乎没有插件生态,仅社区有 **极少** 的插件,但最近形势较好,社区内有参与开发的声音,后续可能会追平 LeviLamina | | 下载 | [GitHub 下载](https://github.com/EndstoneMC/endstone/releases) | -| 支持的 MC 版本 | 1.20.71 - 1.21.2 (目前保持更新) | +| 支持的 MC 版本 | 1.20.71 - 1.21.2 (目前保持更新) | @@ -101,15 +101,15 @@ import TabItem from '@theme/TabItem'; -| 插件加载器 | 别名:LXL | -| -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| 名称 | [LiteXLoader](https://www.minebbs.com/threads/litexloader-x-bds.7439/) | -| 作者 | [LiteDev](https://github.com/LiteLDev) | +| 插件加载器 | 别名:LXL | +| -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| 名称 | [LiteXLoader](https://www.minebbs.com/threads/litexloader-x-bds.7439/) | +| 作者 | [LiteDev](https://github.com/LiteLDev) | | 介绍 | LiteXLoader 是一款专为 LiteLoader 编写的拓展类插件加载器,旨在弥补 LiteLoader 可开发语言的不足。LiteXLoader 支持多种编程语言编写插件,并保证了插件开发与维护的便利性,例如拓展支持 Node.js、Python、QuickJS 的开发 | -| 推荐与否 | 非常不推荐 | -| 理由 | 后续合并到 LiteLoader 中。[详情点我](#litexloader-合并至-liteloader2022 年 2 月 12 日) | -| 下载 | [GitHub 下载](https://github.com/EndstoneMC/endstone/releases) | -| 支持的 MC 版本 | 1.20.71 - 1.21.2 (已存档)[^Archived] | +| 推荐与否 | 非常不推荐 | +| 理由 | 后续合并到 LiteLoader 中。[详情点我](#litexloader-合并至-liteloader2022 年 2 月 12 日) | +| 下载 | [GitHub 下载](https://github.com/EndstoneMC/endstone/releases) | +| 支持的 MC 版本 | 1.20.71 - 1.21.2 (已存档)[^Archived] | @@ -142,7 +142,7 @@ import TabItem from '@theme/TabItem'; 只要社区的需求大且合理,他们就会添加对应的接口。在 PDB 方面,他们认为这是 **非行业化的**,他们不认为这是合适且合法的 mod 的行为,并 **《希望》** 社区给出一定要 PDB 才能实现的功能。 此后,著名插件加载器 LeviLamina 刚出生不久就胎死腹中了... -![LeviLamina 在未来将会存档](./_images/levilamina-will-archived.png) +![LeviLamina 在未来将会存档](./_assets/levilamina-will-archived.png) 总之,在这场 PDB 事件风波不久后,很多基岩版腐竹都转移到 Java 版服务端,以求后路。 @@ -156,7 +156,7 @@ LiteLoaderBDS 最初是基于 BedrockX 开发的,在 2.0 版本进行了完全 一代骄子难道就此陨落了? 不,LiteDev 在后续发布了此文 -![LeviLamina 在来的路上](./_images/levilamina-is-coming.png) +![LeviLamina 在来的路上](./_assets/levilamina-is-coming.png) 所以并不是 LiteDev 扔下史山跑路了 (这是官方原话自嘲),而是着手重构 LiteLoader,预计在未来发布 LiteLoaderBDSV3,即 LeviLamina。 ### LiteXLoader 合并至 LiteLoader (2022 年 2 月 12 日) diff --git a/docs-bedrock/bds/process/plugins/plugins.md b/src/content/docs/bedrock/bds/process/plugins/plugins.md similarity index 100% rename from docs-bedrock/bds/process/plugins/plugins.md rename to src/content/docs/bedrock/bds/process/plugins/plugins.md diff --git a/docs-bedrock/bds/process/process.md b/src/content/docs/bedrock/bds/process/process.md similarity index 100% rename from docs-bedrock/bds/process/process.md rename to src/content/docs/bedrock/bds/process/process.md diff --git a/docs-bedrock/bds/start/basic/basic.md b/src/content/docs/bedrock/bds/start/basic/basic.md similarity index 100% rename from docs-bedrock/bds/start/basic/basic.md rename to src/content/docs/bedrock/bds/start/basic/basic.md diff --git a/docs-bedrock/bds/start/basic/server-dir-structure.mdx b/src/content/docs/bedrock/bds/start/basic/server-dir-structure.mdx similarity index 100% rename from docs-bedrock/bds/start/basic/server-dir-structure.mdx rename to src/content/docs/bedrock/bds/start/basic/server-dir-structure.mdx diff --git a/docs-bedrock/bds/start/start.md b/src/content/docs/bedrock/bds/start/start.md similarity index 100% rename from docs-bedrock/bds/start/start.md rename to src/content/docs/bedrock/bds/start/start.md diff --git a/docs-bedrock/intro.md b/src/content/docs/bedrock/intro.md similarity index 100% rename from docs-bedrock/intro.md rename to src/content/docs/bedrock/intro.md diff --git a/docs-bedrock/misc/_images/dragonfly.png b/src/content/docs/bedrock/misc/_assets/dragonfly.png similarity index 100% rename from docs-bedrock/misc/_images/dragonfly.png rename to src/content/docs/bedrock/misc/_assets/dragonfly.png diff --git a/docs-bedrock/misc/allay/allay.md b/src/content/docs/bedrock/misc/allay/allay.md similarity index 100% rename from docs-bedrock/misc/allay/allay.md rename to src/content/docs/bedrock/misc/allay/allay.md diff --git a/docs-bedrock/misc/allay/description.md b/src/content/docs/bedrock/misc/allay/description.md similarity index 100% rename from docs-bedrock/misc/allay/description.md rename to src/content/docs/bedrock/misc/allay/description.md diff --git a/docs-bedrock/misc/allay/preparation.md b/src/content/docs/bedrock/misc/allay/preparation.md similarity index 100% rename from docs-bedrock/misc/allay/preparation.md rename to src/content/docs/bedrock/misc/allay/preparation.md diff --git a/src/content/docs/bedrock/misc/dragonfly.md b/src/content/docs/bedrock/misc/dragonfly.md new file mode 100644 index 000000000..0fa050fc7 --- /dev/null +++ b/src/content/docs/bedrock/misc/dragonfly.md @@ -0,0 +1,20 @@ +--- +title: Dragonfly 核心介绍 +sidebar_position: 1 +--- + +![DragonflyLogo](./_assets/dragonfly.png) + +## 什么是 Dragonfly + +Dragonfly 是用 Go 语言编写的 Minecraft Bedrock Edition 服务器软件。它的编写考虑了可扩展性和简单性,旨在简化设置和修改服务器的过程。 + +## 特色 + +- 轻量 +- 易于拓展(一般用 Dragonfly 作为库来扩展) +- 具有文档齐全的代码库和易于使用的 API([Dragonfly 文档](https://pkg.go.dev/github.com/df-mc/dragonfly/server)) + +## 链接 + +- [GitHub 链接](https://github.com/df-mc/dragonfly) diff --git a/docs-bedrock/misc/mcpeserver.md b/src/content/docs/bedrock/misc/mcpeserver.md similarity index 100% rename from docs-bedrock/misc/mcpeserver.md rename to src/content/docs/bedrock/misc/mcpeserver.md diff --git a/docs-bedrock/misc/misc.md b/src/content/docs/bedrock/misc/misc.md similarity index 100% rename from docs-bedrock/misc/misc.md rename to src/content/docs/bedrock/misc/misc.md diff --git a/docs-bedrock/misc/preparation/preparation.md b/src/content/docs/bedrock/misc/preparation/preparation.md similarity index 100% rename from docs-bedrock/misc/preparation/preparation.md rename to src/content/docs/bedrock/misc/preparation/preparation.md diff --git a/docs-bedrock/misc/preparation/text-editor.md b/src/content/docs/bedrock/misc/preparation/text-editor.md similarity index 100% rename from docs-bedrock/misc/preparation/text-editor.md rename to src/content/docs/bedrock/misc/preparation/text-editor.md diff --git a/docs-bedrock/misc/preparation/websites.md b/src/content/docs/bedrock/misc/preparation/websites.md similarity index 100% rename from docs-bedrock/misc/preparation/websites.md rename to src/content/docs/bedrock/misc/preparation/websites.md diff --git a/docs-bedrock/nukkit/history.md b/src/content/docs/bedrock/nukkit/history.md similarity index 100% rename from docs-bedrock/nukkit/history.md rename to src/content/docs/bedrock/nukkit/history.md diff --git a/docs-bedrock/nukkit/nukkit.md b/src/content/docs/bedrock/nukkit/nukkit.md similarity index 100% rename from docs-bedrock/nukkit/nukkit.md rename to src/content/docs/bedrock/nukkit/nukkit.md diff --git a/docs-bedrock/nukkit/preparation/choose-and-download-and-install-java.md b/src/content/docs/bedrock/nukkit/preparation/choose-and-download-and-install-java.md similarity index 100% rename from docs-bedrock/nukkit/preparation/choose-and-download-and-install-java.md rename to src/content/docs/bedrock/nukkit/preparation/choose-and-download-and-install-java.md diff --git a/docs-bedrock/nukkit/preparation/preparation.md b/src/content/docs/bedrock/nukkit/preparation/preparation.md similarity index 100% rename from docs-bedrock/nukkit/preparation/preparation.md rename to src/content/docs/bedrock/nukkit/preparation/preparation.md diff --git a/docs-bedrock/nukkit/preparation/text-editor.md b/src/content/docs/bedrock/nukkit/preparation/text-editor.md similarity index 100% rename from docs-bedrock/nukkit/preparation/text-editor.md rename to src/content/docs/bedrock/nukkit/preparation/text-editor.md diff --git a/docs-bedrock/nukkit/preparation/websites.md b/src/content/docs/bedrock/nukkit/preparation/websites.md similarity index 100% rename from docs-bedrock/nukkit/preparation/websites.md rename to src/content/docs/bedrock/nukkit/preparation/websites.md diff --git a/docs-bedrock/nukkit/start/basic/basic.md b/src/content/docs/bedrock/nukkit/start/basic/basic.md similarity index 100% rename from docs-bedrock/nukkit/start/basic/basic.md rename to src/content/docs/bedrock/nukkit/start/basic/basic.md diff --git a/docs-bedrock/nukkit/start/basic/server-file-structure.mdx b/src/content/docs/bedrock/nukkit/start/basic/server-file-structure.mdx similarity index 100% rename from docs-bedrock/nukkit/start/basic/server-file-structure.mdx rename to src/content/docs/bedrock/nukkit/start/basic/server-file-structure.mdx diff --git a/docs-bedrock/nukkit/start/nukkitmot/description.md b/src/content/docs/bedrock/nukkit/start/nukkitmot/description.md similarity index 100% rename from docs-bedrock/nukkit/start/nukkitmot/description.md rename to src/content/docs/bedrock/nukkit/start/nukkitmot/description.md diff --git a/docs-bedrock/nukkit/start/nukkitmot/nukkitmot.md b/src/content/docs/bedrock/nukkit/start/nukkitmot/nukkitmot.md similarity index 100% rename from docs-bedrock/nukkit/start/nukkitmot/nukkitmot.md rename to src/content/docs/bedrock/nukkit/start/nukkitmot/nukkitmot.md diff --git a/docs-bedrock/nukkit/start/nukkitx/description.md b/src/content/docs/bedrock/nukkit/start/nukkitx/description.md similarity index 100% rename from docs-bedrock/nukkit/start/nukkitx/description.md rename to src/content/docs/bedrock/nukkit/start/nukkitx/description.md diff --git a/docs-bedrock/nukkit/start/nukkitx/nukkitx.md b/src/content/docs/bedrock/nukkit/start/nukkitx/nukkitx.md similarity index 100% rename from docs-bedrock/nukkit/start/nukkitx/nukkitx.md rename to src/content/docs/bedrock/nukkit/start/nukkitx/nukkitx.md diff --git a/docs-bedrock/nukkit/start/pm1e/_images/controversy.png b/src/content/docs/bedrock/nukkit/start/pm1e/_assets/controversy.png similarity index 100% rename from docs-bedrock/nukkit/start/pm1e/_images/controversy.png rename to src/content/docs/bedrock/nukkit/start/pm1e/_assets/controversy.png diff --git a/docs-bedrock/nukkit/start/pm1e/controversy.md b/src/content/docs/bedrock/nukkit/start/pm1e/controversy.md similarity index 98% rename from docs-bedrock/nukkit/start/pm1e/controversy.md rename to src/content/docs/bedrock/nukkit/start/pm1e/controversy.md index 3c6ce6cb9..758ced9a6 100644 --- a/docs-bedrock/nukkit/start/pm1e/controversy.md +++ b/src/content/docs/bedrock/nukkit/start/pm1e/controversy.md @@ -21,7 +21,7 @@ NitWiki 仅提供关于 Nukkit PetteriM1 Edition 的信息和教程,但不对 还有:NukkitPetteriM1Edition 不知道啥时候开始老老实实把源代码推回来了: -![?](./_images/controversy.png) +![?](./_assets/controversy.png) ::: diff --git a/docs-bedrock/nukkit/start/pm1e/description.md b/src/content/docs/bedrock/nukkit/start/pm1e/description.md similarity index 100% rename from docs-bedrock/nukkit/start/pm1e/description.md rename to src/content/docs/bedrock/nukkit/start/pm1e/description.md diff --git a/docs-bedrock/nukkit/start/pm1e/pm1e.md b/src/content/docs/bedrock/nukkit/start/pm1e/pm1e.md similarity index 100% rename from docs-bedrock/nukkit/start/pm1e/pm1e.md rename to src/content/docs/bedrock/nukkit/start/pm1e/pm1e.md diff --git a/docs-bedrock/nukkit/start/pnx/description.md b/src/content/docs/bedrock/nukkit/start/pnx/description.md similarity index 100% rename from docs-bedrock/nukkit/start/pnx/description.md rename to src/content/docs/bedrock/nukkit/start/pnx/description.md diff --git a/docs-bedrock/nukkit/start/pnx/pnx.md b/src/content/docs/bedrock/nukkit/start/pnx/pnx.md similarity index 100% rename from docs-bedrock/nukkit/start/pnx/pnx.md rename to src/content/docs/bedrock/nukkit/start/pnx/pnx.md diff --git a/docs-bedrock/nukkit/start/start.md b/src/content/docs/bedrock/nukkit/start/start.md similarity index 100% rename from docs-bedrock/nukkit/start/start.md rename to src/content/docs/bedrock/nukkit/start/start.md diff --git a/docs-bedrock/pocketmine/description.md b/src/content/docs/bedrock/pocketmine/description.md similarity index 100% rename from docs-bedrock/pocketmine/description.md rename to src/content/docs/bedrock/pocketmine/description.md diff --git a/docs-bedrock/pocketmine/pocketmine.md b/src/content/docs/bedrock/pocketmine/pocketmine.md similarity index 100% rename from docs-bedrock/pocketmine/pocketmine.md rename to src/content/docs/bedrock/pocketmine/pocketmine.md diff --git a/docs-bedrock/pocketmine/preparation/choose-and-download-and-install-php.md b/src/content/docs/bedrock/pocketmine/preparation/choose-and-download-and-install-php.md similarity index 100% rename from docs-bedrock/pocketmine/preparation/choose-and-download-and-install-php.md rename to src/content/docs/bedrock/pocketmine/preparation/choose-and-download-and-install-php.md diff --git a/docs-bedrock/pocketmine/preparation/preparation.md b/src/content/docs/bedrock/pocketmine/preparation/preparation.md similarity index 100% rename from docs-bedrock/pocketmine/preparation/preparation.md rename to src/content/docs/bedrock/pocketmine/preparation/preparation.md diff --git a/docs-bedrock/pocketmine/preparation/text-editor.md b/src/content/docs/bedrock/pocketmine/preparation/text-editor.md similarity index 100% rename from docs-bedrock/pocketmine/preparation/text-editor.md rename to src/content/docs/bedrock/pocketmine/preparation/text-editor.md diff --git a/docs-bedrock/pocketmine/preparation/websites.md b/src/content/docs/bedrock/pocketmine/preparation/websites.md similarity index 100% rename from docs-bedrock/pocketmine/preparation/websites.md rename to src/content/docs/bedrock/pocketmine/preparation/websites.md diff --git a/docs-bedrock/super-basic/_images/bedrock-core-running.png b/src/content/docs/bedrock/super-basic/_assets/bedrock-core-running.png similarity index 100% rename from docs-bedrock/super-basic/_images/bedrock-core-running.png rename to src/content/docs/bedrock/super-basic/_assets/bedrock-core-running.png diff --git a/docs-bedrock/super-basic/_images/nukkit-core-running.png b/src/content/docs/bedrock/super-basic/_assets/nukkit-core-running.png similarity index 100% rename from docs-bedrock/super-basic/_images/nukkit-core-running.png rename to src/content/docs/bedrock/super-basic/_assets/nukkit-core-running.png diff --git a/docs-bedrock/super-basic/_images/pocketminemp-core-running.png b/src/content/docs/bedrock/super-basic/_assets/pocketminemp-core-running.png similarity index 100% rename from docs-bedrock/super-basic/_images/pocketminemp-core-running.png rename to src/content/docs/bedrock/super-basic/_assets/pocketminemp-core-running.png diff --git a/docs-bedrock/super-basic/_images/powernukkitx-core-rip.png b/src/content/docs/bedrock/super-basic/_assets/powernukkitx-core-rip.png similarity index 100% rename from docs-bedrock/super-basic/_images/powernukkitx-core-rip.png rename to src/content/docs/bedrock/super-basic/_assets/powernukkitx-core-rip.png diff --git a/docs-bedrock/super-basic/_images/powernukkitx-core-running.png b/src/content/docs/bedrock/super-basic/_assets/powernukkitx-core-running.png similarity index 100% rename from docs-bedrock/super-basic/_images/powernukkitx-core-running.png rename to src/content/docs/bedrock/super-basic/_assets/powernukkitx-core-running.png diff --git a/docs-bedrock/super-basic/protocol-version-number.md b/src/content/docs/bedrock/super-basic/protocol-version-number.md similarity index 100% rename from docs-bedrock/super-basic/protocol-version-number.md rename to src/content/docs/bedrock/super-basic/protocol-version-number.md diff --git a/src/content/docs/bedrock/super-basic/server-core-choose.md b/src/content/docs/bedrock/super-basic/server-core-choose.md new file mode 100644 index 000000000..3e323d0c3 --- /dev/null +++ b/src/content/docs/bedrock/super-basic/server-core-choose.md @@ -0,0 +1,144 @@ +--- +title: 服务器核心选择 +sidebar_position: 1 +--- + +# 服务器核心选择 + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + + + + +:::warning + +至本篇文档开始,**`BDS`** 一致指 **`Bedrock Dedicated Server`**,而不是指 **`Beidou Navigation Satellite System`** (北斗卫星导航系统) + +::: + +![BDS 运行时的样子](_assets/bedrock-core-running.png) + +此服务器核心允许 _Minecraft 腐竹_ 在家里使用安装有 **Windows** 或 **Linux** 的设备或使用 **云服务托管** (云服务器) 来搭建属于自己的 BDS 服务器。 +这是坐落于 **Minecraft 官网** 的服务端 (与 Java 的 Vanilla 服务端在一个页面)。作为官方服务端,它有着极其完善的 Minecraft 特性和流畅的游戏体验,几乎和单人一模一样,说是生存服首当之选也不为过。 + +**优势**: + +- 官方支持:作为 Mojang 官方推出的服务器端软件,BDS 能够获得官方的最新更新和支持,确保与 Minecraft 基岩版的最新版本兼容。 +- 文档和社区支持:虽然官方提供了一些基本文档,但不如第三方服务器端软件的社区那样提供丰富的教程和支持。社区插件内容庞大,基本满足腐竹的日常需求 (虽然官方服务端无法加载插件,但可以通过 + [社区开发的加载器](../bds/process/plugins/plugins-loader-choose.md) + 解决这一问题)。 + +- 稳定性:由于是官方产品,BDS 在稳定性方面通常表现良好,能够提供可靠的服务器体验。 +- 兼容性:BDS 与 **Minecraft 基岩版客户端** 的兼容性最好,确保玩家可以无缝连接和游戏。 +- 安全性:官方服务器端软件通常会得到更频繁的安全更新,减少了潜在的安全风险。 +- 资源利用:BDS 针对 **Minecraft 基岩版** 进行了优化,能够高效利用服务器资源。 + +**劣势**: + +- 定制性有限:与一些第三方服务器端软件相比,BDS 的定制性和扩展性可能 **较为有限**,**不支持插件系统**,限制了服务器的个性化。 +- 性能优化:虽然 BDS 性能稳定,但可能在某些方面 (如多核优化) 不如专门的第三方服务器端软件。它的生物运算运行在一个线程上。意味着你的服务器的流畅度主要取决于 **CPU 的单核性能**。 + 这使得地图越大,服务器就越 [卡顿](/start/basic/what-is-lag),不如 Java 版服务端流畅,因为 Java 版服务端 **支持多核运行**。 +- 高级功能缺失:BDS 可能不支持一些高级功能,如自定义世界生成、高级权限管理等,这些通常需要第三方软件才能实现。 +- 内存泄漏:内存占用会 _缓慢_ 增加,有时严重的还会导致 **内存泄漏**。如果强行进行 **内存清理** 的话,会导致玩家在进入 **装有 材质包 / Addon 的服务器** 时 **该玩家客户端无法下载对应内容**,致使下载进度条卡条,只能让腐竹重启服务器解决。 + +总体来说,Bedrock Dedicated Server 适合那些希望获得官方支持、稳定性和兼容性的服务器管理员。如果你的服务器不需要复杂的定制或高级功能,BDS 是一个可靠的选择。然而,对于那些需要更多自定义选项和高级功能的用户,可能需要考虑使用第三方服务器端软件。 + + + + +:::warning + +至本篇文档开始,**`NK`** 一致指 **`Nukkit`**,但考虑到全称不长,因此二者都会出现在本文档中 + +::: + +![Nukkit 运行时的样子](_assets/nukkit-core-running.png) + +它的名字,很像 Java 版服务端的 Bukkit。没错,它就是 _意图_ 创作出来类似 Bukkit 的基岩版服务端,编写语言正是 **Java**。 + +**优势**: + +- 轻量级:Nukkit 设计轻量,对系统资源的 **需求相对较低**,适合在 **资源有限** 的服务器上运行。 +- 高性能:Nukkit 在性能方面进行了优化,能够 **支持较多的同时在线玩家**,保持良好的游戏体验。 +- 插件系统:Nukkit 拥有一个 **活跃的插件生态系统**,用户可以轻松地安装和使用各种插件来扩展服务器功能。 +- 跨平台:Nukkit **支持多个操作系统**,包括 Windows、Linux 和 macOS,方便在不同平台上搭建服务器。 +- 易于上手:相对于其他服务器端软件,Nukkit 的配置和使用较为简单,适合初学者 **快速搭建服务器**。 +- 社区支持:Nukkit 有一个相对活跃的社区,用户可以从中获得帮助和资源。 + +**劣势**: + +- 更新滞后:Nukkit 的更新可能不如官方服务器端软件那样及时,可能无法立即支持最新的 Minecraft 版本和特性。 +- 生态系统限制:虽然 Nukkit 的插件生态系统活跃,但与一些更流行的服务器端软件 (如 Spigot / Paper) 相比,可用的插件和资源可能较少。 +- 多核优化不足:早期的 Nukkit 版本在多核处理器优化方面可能不如其他服务器端软件,这可能会 **限制其在高性能服务器上的性能表现**。 +- 文档和教程:虽然社区活跃,但 **高质量的官方文档和教程可能相对缺乏**,新用户可能需要花费更多时间学习和解决问题。 +- 稳定性问题:由于开源项目的性质,Nukkit 可能偶尔会出现稳定性问题,尤其是在处理大量玩家或复杂插件时。 + +总的来说,Nukkit 是一个适合初学者和小型服务器使用的轻量级 Minecraft 服务器端软件,它提供了足够的性能和可扩展性来满足基本需求。然而,对于需要最新游戏特性、高级优化和广泛插件支持的大型服务器,可能需要考虑其他选项。 + + + + +:::danger[此核心短时间内不再可用] + +![PNX 短时间内不再更新](_assets/powernukkitx-core-rip.png) + +::: + +:::warning + +至本篇文档开始,**`PNX`** 一致指 **`PowerNukkitX`** + +::: + +![PNX 运行时的样子](_assets/powernukkitx-core-running.png) + +**优势**: + +- 最新版 MCBE (基岩版) 协议支持:PNX 支持最新的 Minecraft 基岩版协议,这意味着它 **可以兼容最新的游戏版本和特性**。 +- 丰富的原版特性支持:支持 1.19 版本的所有新方块和新物品,以及新版下界等特性。 +- 高性能和高拓展性:PNX 进行了多核优化,提供了更高的性能和更好的扩展性。 +- 384 格世界支持:允许在主世界达到 384 格的高度限制。 +- 史诗地形生成器:内置 Terra 地形生成器,支持创建丰富的地图环境。 +- 全开源和全 API 开放:PNX 完全开源,提供了丰富的 API,方便开发者进行定制和扩展。 +- 插件兼容性:兼容 Nukkit 生态中的数千个插件,同时支持使用 Java,Kotlin,Scala,Python,JavaScript,Lua 等 JVM 语言编写插件。 + +**劣势**: + +- 开发活跃度:由于 Nukkit 核心开发团队的变化,PNX 的开发强度可能受到影响。 +- 生态系统的局限性:虽然 PNX 拥有丰富的插件,但与一些更主流的服务器端软件相比,其生态系统可能相对较小。 +- 学习曲线:由于 PNX 生态的广阔和插件的多样性,对于新手来说,学习如何有效地使用和管理 PNX 服务器可能会有一定的难度。 + +总体来看,PowerNukkitX 是一个功能强大且高度可定制化的 Minecraft 基岩版服务器端软件,特别适合那些需要高性能和高度自定义服务器的用户。然而,它的使用和维护可能需要一定的技术知识和耐心。 + + + + +:::warning + +至本篇文档开始,**`PMMP`** 一致指 **`PocketMine-MP`** + +::: + +![PNX 运行时的样子](_assets/pocketminemp-core-running.png) + +**优势**: + +- 插件生态丰富:PocketMine-MP 拥有一个 **庞大的插件生态系统**,用户可以找到各种插件来增强服务器的功能和玩家体验。 +- 跨平台兼容性:PocketMine-MP **支持多个操作系统**,包括 Windows、Linux 和 macOS,便于在不同环境下部署。 +- PHP 编程语言:使用 PHP 编写插件,对于熟悉 PHP 的开发者来说,入门门槛相对较低。 +- 社区支持:PocketMine-MP 有一个活跃的社区,提供插件开发、服务器配置和故障排除的帮助。 +- 自定义性:服务器管理员可以自由地定制服务器,包括游戏规则、世界生成和玩家互动等。 + +**劣势**: + +- 性能问题:PocketMine-MP 在处理高玩家负载时 **可能存在性能瓶颈**,尤其是在内存管理和 CPU 效率方面。 +- 更新滞后:PocketMine-MP 可能不会立即跟进 **Minecraft 基岩版** 的最新更新,导致玩家无法体验最新的游戏内容。 +- 稳定性:由于插件系统的开放性,服务器在运行多个插件时 **可能会遇到稳定性问题**。 +- 资源消耗:PHP 作为解释型语言,相比编译型语言 **可能在资源消耗上更为显著**。 +- 学习曲线:对于新手管理员来说,PocketMine-MP 的 **配置和插件管理可能需要一定的学习时间**。 + +PocketMine-MP 适合那些重视插件功能和自定义能力的服务器管理员。如果你希望建立一个具有特色玩法和丰富互动的服务器,并且不介意在性能和稳定性方面做出一些妥协,PocketMine-MP 是一个不错的选择。然而,如果你更关注性能和最新游戏内容的支持,可能需要考虑其他服务器端解决方案。 + + + diff --git a/docs-bedrock/super-basic/server-type.md b/src/content/docs/bedrock/super-basic/server-type.md similarity index 100% rename from docs-bedrock/super-basic/server-type.md rename to src/content/docs/bedrock/super-basic/server-type.md diff --git a/docs-bedrock/super-basic/super-basic.md b/src/content/docs/bedrock/super-basic/super-basic.md similarity index 100% rename from docs-bedrock/super-basic/super-basic.md rename to src/content/docs/bedrock/super-basic/super-basic.md diff --git a/docs-bedrock/super-basic/version.md b/src/content/docs/bedrock/super-basic/version.md similarity index 100% rename from docs-bedrock/super-basic/version.md rename to src/content/docs/bedrock/super-basic/version.md diff --git a/docs-bedrock/waterdogepe/preparation.md b/src/content/docs/bedrock/waterdogepe/preparation.md similarity index 100% rename from docs-bedrock/waterdogepe/preparation.md rename to src/content/docs/bedrock/waterdogepe/preparation.md diff --git a/docs-bedrock/waterdogepe/waterdogepe.md b/src/content/docs/bedrock/waterdogepe/waterdogepe.md similarity index 100% rename from docs-bedrock/waterdogepe/waterdogepe.md rename to src/content/docs/bedrock/waterdogepe/waterdogepe.md diff --git "a/docs/_images/\345\260\221\344\270\234\350\245\277\344\272\206.png" "b/src/content/docs/general/_assets/\345\260\221\344\270\234\350\245\277\344\272\206.png" similarity index 100% rename from "docs/_images/\345\260\221\344\270\234\350\245\277\344\272\206.png" rename to "src/content/docs/general/_assets/\345\260\221\344\270\234\350\245\277\344\272\206.png" diff --git "a/docs/advance/_images/\347\224\263\350\257\267\345\237\237\345\220\215/1.png" "b/src/content/docs/general/advance/_assets/\347\224\263\350\257\267\345\237\237\345\220\215/1.png" similarity index 100% rename from "docs/advance/_images/\347\224\263\350\257\267\345\237\237\345\220\215/1.png" rename to "src/content/docs/general/advance/_assets/\347\224\263\350\257\267\345\237\237\345\220\215/1.png" diff --git "a/docs/advance/_images/\347\224\263\350\257\267\345\237\237\345\220\215/2.png" "b/src/content/docs/general/advance/_assets/\347\224\263\350\257\267\345\237\237\345\220\215/2.png" similarity index 100% rename from "docs/advance/_images/\347\224\263\350\257\267\345\237\237\345\220\215/2.png" rename to "src/content/docs/general/advance/_assets/\347\224\263\350\257\267\345\237\237\345\220\215/2.png" diff --git "a/docs/advance/_images/\347\224\263\350\257\267\345\237\237\345\220\215/3.png" "b/src/content/docs/general/advance/_assets/\347\224\263\350\257\267\345\237\237\345\220\215/3.png" similarity index 100% rename from "docs/advance/_images/\347\224\263\350\257\267\345\237\237\345\220\215/3.png" rename to "src/content/docs/general/advance/_assets/\347\224\263\350\257\267\345\237\237\345\220\215/3.png" diff --git a/docs/advance/advance.md b/src/content/docs/general/advance/advance.md similarity index 100% rename from docs/advance/advance.md rename to src/content/docs/general/advance/advance.md diff --git a/docs/advance/arthas.md b/src/content/docs/general/advance/arthas.md similarity index 100% rename from docs/advance/arthas.md rename to src/content/docs/general/advance/arthas.md diff --git a/docs/advance/bot/bot.md b/src/content/docs/general/advance/bot/bot.md similarity index 100% rename from docs/advance/bot/bot.md rename to src/content/docs/general/advance/bot/bot.md diff --git a/docs/advance/bot/framework.md b/src/content/docs/general/advance/bot/framework.md similarity index 100% rename from docs/advance/bot/framework.md rename to src/content/docs/general/advance/bot/framework.md diff --git a/docs/advance/bot/general.md b/src/content/docs/general/advance/bot/general.md similarity index 100% rename from docs/advance/bot/general.md rename to src/content/docs/general/advance/bot/general.md diff --git a/docs/advance/bot/plugin.md b/src/content/docs/general/advance/bot/plugin.md similarity index 100% rename from docs/advance/bot/plugin.md rename to src/content/docs/general/advance/bot/plugin.md diff --git a/docs/advance/docker.md b/src/content/docs/general/advance/docker.md similarity index 100% rename from docs/advance/docker.md rename to src/content/docs/general/advance/docker.md diff --git a/docs/advance/domain-and-dns.md b/src/content/docs/general/advance/domain-and-dns.md similarity index 98% rename from docs/advance/domain-and-dns.md rename to src/content/docs/general/advance/domain-and-dns.md index 14618fdd3..b28a51064 100644 --- a/docs/advance/domain-and-dns.md +++ b/src/content/docs/general/advance/domain-and-dns.md @@ -13,10 +13,10 @@ sidebar_position: 5 例如: -- github.io -- 仿真教学.中国 -- live.bilibili.com -- example.mc.12345.org +- github.io +- 仿真教学.中国 +- live.bilibili.com +- example.mc.12345.org 这些字符串和 IP 的对应关系被储存在 DNS 服务器上,当访问域名时候会查询 DNS 从而获取该域名对应的 IP 地址记录, @@ -49,11 +49,11 @@ sidebar_position: 5 以阿里云的 [万网](https://domain.aliyun.com/) 为例,打开网站,来到如下页面: -![](_images/申请域名/1.png) +![](_assets/申请域名/1.png) 搜索你想要的域名 -![](_images/申请域名/2.png) +![](_assets/申请域名/2.png) :::warning @@ -71,7 +71,7 @@ sidebar_position: 5 登录后点击域名旁边的加入清单,然后点批量注册旁边的域名清单,更改域名购买时间后,最好底下什么套餐都不要选,直接点立即购买。 -![](_images/申请域名/3.png) +![](_assets/申请域名/3.png) 跳转后这个页面立即购买是点不动的,滑动到下方,点击创建信息模板来实名验证。 diff --git a/docs/advance/frp.md b/src/content/docs/general/advance/frp.md similarity index 100% rename from docs/advance/frp.md rename to src/content/docs/general/advance/frp.md diff --git "a/docs/advance/linux/_images/Linux\345\274\200\346\234\215/\345\274\200\346\234\215/1.png" "b/src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\345\274\200\346\234\215/1.png" similarity index 100% rename from "docs/advance/linux/_images/Linux\345\274\200\346\234\215/\345\274\200\346\234\215/1.png" rename to "src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\345\274\200\346\234\215/1.png" diff --git "a/docs/advance/linux/_images/Linux\345\274\200\346\234\215/\345\274\200\346\234\215/2.png" "b/src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\345\274\200\346\234\215/2.png" similarity index 100% rename from "docs/advance/linux/_images/Linux\345\274\200\346\234\215/\345\274\200\346\234\215/2.png" rename to "src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\345\274\200\346\234\215/2.png" diff --git "a/docs/advance/linux/_images/Linux\345\274\200\346\234\215/\345\274\200\346\234\215/3.png" "b/src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\345\274\200\346\234\215/3.png" similarity index 100% rename from "docs/advance/linux/_images/Linux\345\274\200\346\234\215/\345\274\200\346\234\215/3.png" rename to "src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\345\274\200\346\234\215/3.png" diff --git "a/docs/advance/linux/_images/Linux\345\274\200\346\234\215/\345\274\200\346\234\215/4.png" "b/src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\345\274\200\346\234\215/4.png" similarity index 100% rename from "docs/advance/linux/_images/Linux\345\274\200\346\234\215/\345\274\200\346\234\215/4.png" rename to "src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\345\274\200\346\234\215/4.png" diff --git "a/docs/advance/linux/_images/Linux\345\274\200\346\234\215/\345\274\200\346\234\215/5.png" "b/src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\345\274\200\346\234\215/5.png" similarity index 100% rename from "docs/advance/linux/_images/Linux\345\274\200\346\234\215/\345\274\200\346\234\215/5.png" rename to "src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\345\274\200\346\234\215/5.png" diff --git "a/docs/advance/linux/_images/Linux\345\274\200\346\234\215/\345\274\200\346\234\215/6.png" "b/src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\345\274\200\346\234\215/6.png" similarity index 100% rename from "docs/advance/linux/_images/Linux\345\274\200\346\234\215/\345\274\200\346\234\215/6.png" rename to "src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\345\274\200\346\234\215/6.png" diff --git "a/docs/advance/linux/_images/Linux\345\274\200\346\234\215/\345\274\200\346\234\215/7.png" "b/src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\345\274\200\346\234\215/7.png" similarity index 100% rename from "docs/advance/linux/_images/Linux\345\274\200\346\234\215/\345\274\200\346\234\215/7.png" rename to "src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\345\274\200\346\234\215/7.png" diff --git "a/docs/advance/linux/_images/Linux\345\274\200\346\234\215/\345\274\200\346\234\215/8.png" "b/src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\345\274\200\346\234\215/8.png" similarity index 100% rename from "docs/advance/linux/_images/Linux\345\274\200\346\234\215/\345\274\200\346\234\215/8.png" rename to "src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\345\274\200\346\234\215/8.png" diff --git "a/docs/advance/linux/_images/Linux\345\274\200\346\234\215/\346\220\255\345\273\272\345\206\205\347\275\221\347\251\277\351\200\217/1.png" "b/src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\346\220\255\345\273\272\345\206\205\347\275\221\347\251\277\351\200\217/1.png" similarity index 100% rename from "docs/advance/linux/_images/Linux\345\274\200\346\234\215/\346\220\255\345\273\272\345\206\205\347\275\221\347\251\277\351\200\217/1.png" rename to "src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\346\220\255\345\273\272\345\206\205\347\275\221\347\251\277\351\200\217/1.png" diff --git "a/docs/advance/linux/_images/Linux\345\274\200\346\234\215/\346\220\255\345\273\272\345\206\205\347\275\221\347\251\277\351\200\217/2.png" "b/src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\346\220\255\345\273\272\345\206\205\347\275\221\347\251\277\351\200\217/2.png" similarity index 100% rename from "docs/advance/linux/_images/Linux\345\274\200\346\234\215/\346\220\255\345\273\272\345\206\205\347\275\221\347\251\277\351\200\217/2.png" rename to "src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\346\220\255\345\273\272\345\206\205\347\275\221\347\251\277\351\200\217/2.png" diff --git "a/docs/advance/linux/_images/Linux\345\274\200\346\234\215/\346\220\255\345\273\272\345\206\205\347\275\221\347\251\277\351\200\217/3.png" "b/src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\346\220\255\345\273\272\345\206\205\347\275\221\347\251\277\351\200\217/3.png" similarity index 100% rename from "docs/advance/linux/_images/Linux\345\274\200\346\234\215/\346\220\255\345\273\272\345\206\205\347\275\221\347\251\277\351\200\217/3.png" rename to "src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\346\220\255\345\273\272\345\206\205\347\275\221\347\251\277\351\200\217/3.png" diff --git "a/docs/advance/linux/_images/Linux\345\274\200\346\234\215/\346\220\255\345\273\272\345\206\205\347\275\221\347\251\277\351\200\217/4.png" "b/src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\346\220\255\345\273\272\345\206\205\347\275\221\347\251\277\351\200\217/4.png" similarity index 100% rename from "docs/advance/linux/_images/Linux\345\274\200\346\234\215/\346\220\255\345\273\272\345\206\205\347\275\221\347\251\277\351\200\217/4.png" rename to "src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\346\220\255\345\273\272\345\206\205\347\275\221\347\251\277\351\200\217/4.png" diff --git "a/docs/advance/linux/_images/Linux\345\274\200\346\234\215/\346\225\260\346\215\256\345\272\223\345\256\211\350\243\205/1.png" "b/src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\346\225\260\346\215\256\345\272\223\345\256\211\350\243\205/1.png" similarity index 100% rename from "docs/advance/linux/_images/Linux\345\274\200\346\234\215/\346\225\260\346\215\256\345\272\223\345\256\211\350\243\205/1.png" rename to "src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\346\225\260\346\215\256\345\272\223\345\256\211\350\243\205/1.png" diff --git "a/docs/advance/linux/_images/Linux\345\274\200\346\234\215/\346\225\260\346\215\256\345\272\223\345\256\211\350\243\205/2.png" "b/src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\346\225\260\346\215\256\345\272\223\345\256\211\350\243\205/2.png" similarity index 100% rename from "docs/advance/linux/_images/Linux\345\274\200\346\234\215/\346\225\260\346\215\256\345\272\223\345\256\211\350\243\205/2.png" rename to "src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\346\225\260\346\215\256\345\272\223\345\256\211\350\243\205/2.png" diff --git "a/docs/advance/linux/_images/Linux\345\274\200\346\234\215/\346\225\260\346\215\256\345\272\223\345\256\211\350\243\205/3.png" "b/src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\346\225\260\346\215\256\345\272\223\345\256\211\350\243\205/3.png" similarity index 100% rename from "docs/advance/linux/_images/Linux\345\274\200\346\234\215/\346\225\260\346\215\256\345\272\223\345\256\211\350\243\205/3.png" rename to "src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\346\225\260\346\215\256\345\272\223\345\256\211\350\243\205/3.png" diff --git "a/docs/advance/linux/_images/Linux\345\274\200\346\234\215/\346\225\260\346\215\256\345\272\223\345\256\211\350\243\205/4.png" "b/src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\346\225\260\346\215\256\345\272\223\345\256\211\350\243\205/4.png" similarity index 100% rename from "docs/advance/linux/_images/Linux\345\274\200\346\234\215/\346\225\260\346\215\256\345\272\223\345\256\211\350\243\205/4.png" rename to "src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\346\225\260\346\215\256\345\272\223\345\256\211\350\243\205/4.png" diff --git "a/docs/advance/linux/_images/Linux\345\274\200\346\234\215/\346\225\260\346\215\256\345\272\223\345\256\211\350\243\205/5.png" "b/src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\346\225\260\346\215\256\345\272\223\345\256\211\350\243\205/5.png" similarity index 100% rename from "docs/advance/linux/_images/Linux\345\274\200\346\234\215/\346\225\260\346\215\256\345\272\223\345\256\211\350\243\205/5.png" rename to "src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\346\225\260\346\215\256\345\272\223\345\256\211\350\243\205/5.png" diff --git "a/docs/advance/linux/_images/Linux\345\274\200\346\234\215/\346\225\260\346\215\256\345\272\223\345\256\211\350\243\205/6.png" "b/src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\346\225\260\346\215\256\345\272\223\345\256\211\350\243\205/6.png" similarity index 100% rename from "docs/advance/linux/_images/Linux\345\274\200\346\234\215/\346\225\260\346\215\256\345\272\223\345\256\211\350\243\205/6.png" rename to "src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\346\225\260\346\215\256\345\272\223\345\256\211\350\243\205/6.png" diff --git "a/docs/advance/linux/_images/Linux\345\274\200\346\234\215/\346\225\260\346\215\256\345\272\223\345\256\211\350\243\205/7.png" "b/src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\346\225\260\346\215\256\345\272\223\345\256\211\350\243\205/7.png" similarity index 100% rename from "docs/advance/linux/_images/Linux\345\274\200\346\234\215/\346\225\260\346\215\256\345\272\223\345\256\211\350\243\205/7.png" rename to "src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\346\225\260\346\215\256\345\272\223\345\256\211\350\243\205/7.png" diff --git "a/docs/advance/linux/_images/Linux\345\274\200\346\234\215/\350\277\236\346\216\245\346\234\215\345\212\241\345\231\250/1.png" "b/src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\350\277\236\346\216\245\346\234\215\345\212\241\345\231\250/1.png" similarity index 100% rename from "docs/advance/linux/_images/Linux\345\274\200\346\234\215/\350\277\236\346\216\245\346\234\215\345\212\241\345\231\250/1.png" rename to "src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\350\277\236\346\216\245\346\234\215\345\212\241\345\231\250/1.png" diff --git "a/docs/advance/linux/_images/Linux\345\274\200\346\234\215/\350\277\236\346\216\245\346\234\215\345\212\241\345\231\250/2.png" "b/src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\350\277\236\346\216\245\346\234\215\345\212\241\345\231\250/2.png" similarity index 100% rename from "docs/advance/linux/_images/Linux\345\274\200\346\234\215/\350\277\236\346\216\245\346\234\215\345\212\241\345\231\250/2.png" rename to "src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\350\277\236\346\216\245\346\234\215\345\212\241\345\231\250/2.png" diff --git "a/docs/advance/linux/_images/Linux\345\274\200\346\234\215/\350\277\236\346\216\245\346\234\215\345\212\241\345\231\250/WindTerm.png" "b/src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\350\277\236\346\216\245\346\234\215\345\212\241\345\231\250/WindTerm.png" similarity index 100% rename from "docs/advance/linux/_images/Linux\345\274\200\346\234\215/\350\277\236\346\216\245\346\234\215\345\212\241\345\231\250/WindTerm.png" rename to "src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\350\277\236\346\216\245\346\234\215\345\212\241\345\231\250/WindTerm.png" diff --git "a/docs/advance/linux/_images/Linux\345\274\200\346\234\215/\350\277\236\346\216\245\346\234\215\345\212\241\345\231\250/macOS_terminal.png" "b/src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\350\277\236\346\216\245\346\234\215\345\212\241\345\231\250/macOS_terminal.png" similarity index 100% rename from "docs/advance/linux/_images/Linux\345\274\200\346\234\215/\350\277\236\346\216\245\346\234\215\345\212\241\345\231\250/macOS_terminal.png" rename to "src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\350\277\236\346\216\245\346\234\215\345\212\241\345\231\250/macOS_terminal.png" diff --git "a/docs/advance/linux/_images/Linux\345\274\200\346\234\215/\350\277\236\346\216\245\346\234\215\345\212\241\345\231\250/termux_screenshot.jpg" "b/src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\350\277\236\346\216\245\346\234\215\345\212\241\345\231\250/termux_screenshot.jpg" similarity index 100% rename from "docs/advance/linux/_images/Linux\345\274\200\346\234\215/\350\277\236\346\216\245\346\234\215\345\212\241\345\231\250/termux_screenshot.jpg" rename to "src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\350\277\236\346\216\245\346\234\215\345\212\241\345\231\250/termux_screenshot.jpg" diff --git a/docs/advance/linux/backup.md b/src/content/docs/general/advance/linux/backup.md similarity index 100% rename from docs/advance/linux/backup.md rename to src/content/docs/general/advance/linux/backup.md diff --git a/docs/advance/linux/connect-to-server.md b/src/content/docs/general/advance/linux/connect-to-server.md similarity index 90% rename from docs/advance/linux/connect-to-server.md rename to src/content/docs/general/advance/linux/connect-to-server.md index d66aa0271..4bf97e5c5 100644 --- a/docs/advance/linux/connect-to-server.md +++ b/src/content/docs/general/advance/linux/connect-to-server.md @@ -70,7 +70,7 @@ import TabItem from '@theme/TabItem'; -![](_images/Linux开服/连接服务器/1.png) +![](_assets/Linux开服/连接服务器/1.png) Windows 系统自带的 PowerShell @@ -93,7 +93,7 @@ hostname 为服务器的域名或者 IP -![WindTerm](_images/Linux开服/连接服务器/WindTerm.png) +![WindTerm](_assets/Linux开服/连接服务器/WindTerm.png) 一个开源的 SSH/Telnet/Serial/Shell/SFTP 客户端工具 @@ -102,7 +102,7 @@ https://github.com/kingToolbox/WindTerm -![FinalShell 终端](_images/Linux开服/连接服务器/2.png) +![FinalShell 终端](_assets/Linux开服/连接服务器/2.png) FinalShell 是一体化的的服务器,网络管理软件,不仅是 SSH 客户端,还是功能强大的开发,运维工具,充分满足开发,运维需求。 @@ -120,7 +120,7 @@ FinalShell 是一体化的的服务器,网络管理软件,不仅是 SSH 客 安装好之后,打开软件就是命令行,随后直接使用 ssh 命令即可连接。 -![Termux 终端](_images/Linux开服/连接服务器/termux_screenshot.jpg) +![Termux 终端](_assets/Linux开服/连接服务器/termux_screenshot.jpg) @@ -128,11 +128,11 @@ FinalShell 是一体化的的服务器,网络管理软件,不仅是 SSH 客 macOS 内置 ssh 命令,我们可以用终端来执行它。要打开 macOS 上的终端,可以使用以下方式: -- (如果终端 app 没有被移动过) 打开启动台,打开第一页的其他文件夹,点击终端。或者你也可以在应用文件夹 (入口默认固定在访达侧边栏上) 里找到它。 +- (如果终端 app 没有被移动过) 打开启动台,打开第一页的其他文件夹,点击终端。或者你也可以在应用文件夹 (入口默认固定在访达侧边栏上) 里找到它。 -- 按下 command+ 空格或键盘上的搜索键唤起 spotlight,输入“终端”,然后它就会显示在下面。 +- 按下 command+ 空格或键盘上的搜索键唤起 spotlight,输入“终端”,然后它就会显示在下面。 -![macOS 终端](_images/Linux开服/连接服务器/macOS_terminal.png) +![macOS 终端](_assets/Linux开服/连接服务器/macOS_terminal.png) 打开终端后,使用上文中提到的 ssh 命令即可连接到服务器。 diff --git a/docs/advance/linux/database-installation.md b/src/content/docs/general/advance/linux/database-installation.md similarity index 90% rename from docs/advance/linux/database-installation.md rename to src/content/docs/general/advance/linux/database-installation.md index e47d93a09..4d733fa2d 100644 --- a/docs/advance/linux/database-installation.md +++ b/src/content/docs/general/advance/linux/database-installation.md @@ -21,7 +21,7 @@ sidebar_position: 5 dpkg -i mysql-apt-config_0.8.30-1_all.deb ``` -![](_images/Linux开服/数据库安装/1.png) +![](_assets/Linux开服/数据库安装/1.png) 安装完成后使用以下指令更新软件包列表: @@ -35,7 +35,7 @@ sudo apt update apt install mysql-community-server -y ``` -![](_images/Linux开服/数据库安装/2.png) +![](_assets/Linux开服/数据库安装/2.png) MySQL 默认会自带随机密码,所以等待安装完成后需输入以下指令查看初始密码: @@ -43,7 +43,7 @@ MySQL 默认会自带随机密码,所以等待安装完成后需输入以下 mysqld --initialize –console ``` -![](_images/Linux开服/数据库安装/3.png) +![](_assets/Linux开服/数据库安装/3.png) 红框部分就是初始密码,安装已经完毕,接下来启动并 将 MySQL 设为开机自启动,分别输入 @@ -60,7 +60,7 @@ mysql -uroot -p 按提示输入密码登录到 MySQL -![](_images/Linux开服/数据库安装/4.png) +![](_assets/Linux开服/数据库安装/4.png) 输入修改密码指令: @@ -124,16 +124,16 @@ apt install redis -y 安装完成后输入 `systemctl start redis-server` -![](_images/Linux开服/数据库安装/5.png) +![](_assets/Linux开服/数据库安装/5.png) 至此安装完成,输入 `redis-cli` 即可进入命令行管理 -![](_images/Linux开服/数据库安装/6.png) +![](_assets/Linux开服/数据库安装/6.png) :::tip 使用 `systemctl enable redis-server` 使 Redis 开机自启 -![](_images/Linux开服/数据库安装/7.png) +![](_assets/Linux开服/数据库安装/7.png) ::: diff --git a/docs/advance/linux/keep-running.md b/src/content/docs/general/advance/linux/keep-running.md similarity index 100% rename from docs/advance/linux/keep-running.md rename to src/content/docs/general/advance/linux/keep-running.md diff --git a/docs/advance/linux/linux.md b/src/content/docs/general/advance/linux/linux.md similarity index 100% rename from docs/advance/linux/linux.md rename to src/content/docs/general/advance/linux/linux.md diff --git a/docs/advance/linux/start.md b/src/content/docs/general/advance/linux/start.md similarity index 88% rename from docs/advance/linux/start.md rename to src/content/docs/general/advance/linux/start.md index 3d38ee697..0527f1ee2 100644 --- a/docs/advance/linux/start.md +++ b/src/content/docs/general/advance/linux/start.md @@ -36,7 +36,7 @@ OpenJDK 64-Bit Server VM Zulu21.32+17-CA (build 21.0.2+13-LTS, mixed mode, shari 其他发行版安装方式自行百度 -### 手动♂ +### 手动 ♂ 推荐使用软件包管理器安装而不是自己手动装 @@ -55,7 +55,7 @@ OpenJDK 64-Bit Server VM Zulu21.32+17-CA (build 21.0.2+13-LTS, mixed mode, shari 不熟悉 wget 时,先使用 Windows 前往 [Zulu 下载](https://www.azul.com/downloads/?package=jdk#zulu),下载再使用 SFTP 软件上传到服务器 `/opt` 目录下。 -![](\_images/Linux 开服/开服/1.png) +![](\_assets/Linux 开服/开服/1.png) #### wegt 下载 @@ -63,17 +63,17 @@ OpenJDK 64-Bit Server VM Zulu21.32+17-CA (build 21.0.2+13-LTS, mixed mode, shari `wget https://cdn.azul.com/zulu/bin/zulu21.34.19-ca-jdk21.0.3-linux_x64.tar.gz` -![](\_images/Linux 开服/开服/2.png) +![](\_assets/Linux 开服/开服/2.png) ### 压缩包解压 解压压缩包: -![](\_images/Linux 开服/开服/3.png) +![](\_assets/Linux 开服/开服/3.png) 将目录重命名为 jdk21: -![](\_images/Linux 开服/开服/4.png) +![](\_assets/Linux 开服/开服/4.png) 这样就算是安装好了 (PS:这里的操作仅适用于开服使用,若需要其他需要 jdk 的操作请使用包管理器安装 openjdk) @@ -109,13 +109,13 @@ alias java17='/usr/lib/jvm/zulu-17/bin/java' 然后刷新:`source ~/.bashrc` -- 使用 Java8 开服: +- 使用 Java8 开服: ```bash java8 -jar example.jar ``` -- 使用 Java17 开服: +- 使用 Java17 开服: ```bash java17 -jar example.jar @@ -131,7 +131,7 @@ TODO - 完善和排版 在 `/opt` 目录中使用 `mkdir` 命令创建一个目录用于开服 -![](_images/Linux开服/开服/5.png) +![](_assets/Linux开服/开服/5.png) 将核心放入服务器内,并编写简单的开服脚本 @@ -141,12 +141,12 @@ TODO - 完善和排版 chmod +x example.sh ``` -![](_images/Linux开服/开服/6.png) +![](_assets/Linux开服/开服/6.png) 输入 `./start.sh` 或者输入 `bash start.sh` 即可启动 -![](_images/Linux开服/开服/7.png) +![](_assets/Linux开服/开服/7.png) 使用 `vim` 命令修改 eula 为 `true` 就可以开服了 -![](_images/Linux开服/开服/8.png) +![](_assets/Linux开服/开服/8.png) diff --git a/docs/advance/management/management.md b/src/content/docs/general/advance/management/management.md similarity index 100% rename from docs/advance/management/management.md rename to src/content/docs/general/advance/management/management.md diff --git a/docs/advance/management/money-management/investment-psychology.md b/src/content/docs/general/advance/management/money-management/investment-psychology.md similarity index 100% rename from docs/advance/management/money-management/investment-psychology.md rename to src/content/docs/general/advance/management/money-management/investment-psychology.md diff --git a/docs/advance/management/money-management/money-management.md b/src/content/docs/general/advance/management/money-management/money-management.md similarity index 100% rename from docs/advance/management/money-management/money-management.md rename to src/content/docs/general/advance/management/money-management/money-management.md diff --git a/docs/advance/management/money-management/sustainable-development.md b/src/content/docs/general/advance/management/money-management/sustainable-development.md similarity index 100% rename from docs/advance/management/money-management/sustainable-development.md rename to src/content/docs/general/advance/management/money-management/sustainable-development.md diff --git a/docs/advance/management/player-management/announcement.md b/src/content/docs/general/advance/management/player-management/announcement.md similarity index 100% rename from docs/advance/management/player-management/announcement.md rename to src/content/docs/general/advance/management/player-management/announcement.md diff --git a/docs/advance/management/player-management/auditing.md b/src/content/docs/general/advance/management/player-management/auditing.md similarity index 100% rename from docs/advance/management/player-management/auditing.md rename to src/content/docs/general/advance/management/player-management/auditing.md diff --git a/docs/advance/management/player-management/chunkbase.md b/src/content/docs/general/advance/management/player-management/chunkbase.md similarity index 100% rename from docs/advance/management/player-management/chunkbase.md rename to src/content/docs/general/advance/management/player-management/chunkbase.md diff --git a/docs/advance/management/player-management/client-distribution.mdx b/src/content/docs/general/advance/management/player-management/client-distribution.mdx similarity index 100% rename from docs/advance/management/player-management/client-distribution.mdx rename to src/content/docs/general/advance/management/player-management/client-distribution.mdx diff --git a/docs/advance/management/player-management/feedback.md b/src/content/docs/general/advance/management/player-management/feedback.md similarity index 100% rename from docs/advance/management/player-management/feedback.md rename to src/content/docs/general/advance/management/player-management/feedback.md diff --git a/docs/advance/management/player-management/platform.md b/src/content/docs/general/advance/management/player-management/platform.md similarity index 100% rename from docs/advance/management/player-management/platform.md rename to src/content/docs/general/advance/management/player-management/platform.md diff --git a/docs/advance/management/player-management/player-management.md b/src/content/docs/general/advance/management/player-management/player-management.md similarity index 100% rename from docs/advance/management/player-management/player-management.md rename to src/content/docs/general/advance/management/player-management/player-management.md diff --git a/docs/advance/management/player-management/rules.md b/src/content/docs/general/advance/management/player-management/rules.md similarity index 100% rename from docs/advance/management/player-management/rules.md rename to src/content/docs/general/advance/management/player-management/rules.md diff --git a/docs/advance/management/player-management/whitelist.md b/src/content/docs/general/advance/management/player-management/whitelist.md similarity index 100% rename from docs/advance/management/player-management/whitelist.md rename to src/content/docs/general/advance/management/player-management/whitelist.md diff --git a/docs/advance/management/player-management/wiki.md b/src/content/docs/general/advance/management/player-management/wiki.md similarity index 100% rename from docs/advance/management/player-management/wiki.md rename to src/content/docs/general/advance/management/player-management/wiki.md diff --git a/docs/advance/viaproxy/_image/img.png b/src/content/docs/general/advance/viaproxy/_assets/img.png similarity index 100% rename from docs/advance/viaproxy/_image/img.png rename to src/content/docs/general/advance/viaproxy/_assets/img.png diff --git a/docs/advance/viaproxy/_image/img_1.png b/src/content/docs/general/advance/viaproxy/_assets/img_1.png similarity index 100% rename from docs/advance/viaproxy/_image/img_1.png rename to src/content/docs/general/advance/viaproxy/_assets/img_1.png diff --git a/docs/advance/viaproxy/configuration.mdx b/src/content/docs/general/advance/viaproxy/configuration.mdx similarity index 100% rename from docs/advance/viaproxy/configuration.mdx rename to src/content/docs/general/advance/viaproxy/configuration.mdx diff --git a/docs/advance/viaproxy/index.md b/src/content/docs/general/advance/viaproxy/index.md similarity index 100% rename from docs/advance/viaproxy/index.md rename to src/content/docs/general/advance/viaproxy/index.md diff --git a/docs/advance/viaproxy/installation.md b/src/content/docs/general/advance/viaproxy/installation.md similarity index 69% rename from docs/advance/viaproxy/installation.md rename to src/content/docs/general/advance/viaproxy/installation.md index a9d581405..03e51f7f4 100644 --- a/docs/advance/viaproxy/installation.md +++ b/src/content/docs/general/advance/viaproxy/installation.md @@ -51,7 +51,7 @@ GUI 模式提供图形界面,操作简单直观。 java -jar ViaProxy-3.4.4.jar ``` -![](_image/img_1.png) +![](_assets/img_1.png) ### CLI 模式 @@ -73,21 +73,21 @@ java -jar ViaProxy-3.4.4.jar cli \ ##### 基础连接参数 -- `--bind-address <地址:端口>` - 监听地址和端口 (默认:0.0.0.0:25568) -- `--target-address <地址:端口>` - 目标服务器地址 (默认:127.0.0.1:25565) -- `--target-version <版本>` - 目标服务器版本 (默认:自动检测) +- `--bind-address <地址:端口>` - 监听地址和端口 (默认:0.0.0.0:25568) +- `--target-address <地址:端口>` - 目标服务器地址 (默认:127.0.0.1:25565) +- `--target-version <版本>` - 目标服务器版本 (默认:自动检测) ##### 认证配置 -- `--auth-method <方式>` - 认证方式 (默认:NONE) -- `--proxy-online-mode ` - 代理正版模式 (默认:false) -- `--minecraft-account-index <索引>` - 使用的 Minecraft 账户索引 +- `--auth-method <方式>` - 认证方式 (默认:NONE) +- `--proxy-online-mode ` - 代理正版模式 (默认:false) +- `--minecraft-account-index <索引>` - 使用的 Minecraft 账户索引 ##### 高级功能 -- `--chat-signing ` - 聊天签名支持 (默认:true) -- `--simple-voice-chat-support ` - 简单语音聊天支持 (默认:false) -- `--resource-pack-url ` - 自定义资源包地址 +- `--chat-signing ` - 聊天签名支持 (默认:true) +- `--simple-voice-chat-support ` - 简单语音聊天支持 (默认:false) +- `--resource-pack-url ` - 自定义资源包地址 ### 配置文件模式(推荐自动化部署) diff --git a/docs/advance/viaproxy/plugins/auth.md b/src/content/docs/general/advance/viaproxy/plugins/auth.md similarity index 100% rename from docs/advance/viaproxy/plugins/auth.md rename to src/content/docs/general/advance/viaproxy/plugins/auth.md diff --git a/docs/advance/viaproxy/plugins/compatibility.md b/src/content/docs/general/advance/viaproxy/plugins/compatibility.md similarity index 100% rename from docs/advance/viaproxy/plugins/compatibility.md rename to src/content/docs/general/advance/viaproxy/plugins/compatibility.md diff --git a/docs/advance/viaproxy/plugins/features.md b/src/content/docs/general/advance/viaproxy/plugins/features.md similarity index 100% rename from docs/advance/viaproxy/plugins/features.md rename to src/content/docs/general/advance/viaproxy/plugins/features.md diff --git a/docs/advance/viaproxy/plugins/index.md b/src/content/docs/general/advance/viaproxy/plugins/index.md similarity index 100% rename from docs/advance/viaproxy/plugins/index.md rename to src/content/docs/general/advance/viaproxy/plugins/index.md diff --git a/docs/advance/viaproxy/plugins/network.md b/src/content/docs/general/advance/viaproxy/plugins/network.md similarity index 100% rename from docs/advance/viaproxy/plugins/network.md rename to src/content/docs/general/advance/viaproxy/plugins/network.md diff --git a/docs/advance/website/_images/img-.png b/src/content/docs/general/advance/website/_assets/img-.png similarity index 100% rename from docs/advance/website/_images/img-.png rename to src/content/docs/general/advance/website/_assets/img-.png diff --git a/docs/advance/website/_images/img-2.png b/src/content/docs/general/advance/website/_assets/img-2.png similarity index 100% rename from docs/advance/website/_images/img-2.png rename to src/content/docs/general/advance/website/_assets/img-2.png diff --git a/docs/advance/website/_images/img-3.png b/src/content/docs/general/advance/website/_assets/img-3.png similarity index 100% rename from docs/advance/website/_images/img-3.png rename to src/content/docs/general/advance/website/_assets/img-3.png diff --git a/docs/advance/website/_images/img.png b/src/content/docs/general/advance/website/_assets/img.png similarity index 100% rename from docs/advance/website/_images/img.png rename to src/content/docs/general/advance/website/_assets/img.png diff --git a/docs/advance/website/_images/img_1.png b/src/content/docs/general/advance/website/_assets/img_1.png similarity index 100% rename from docs/advance/website/_images/img_1.png rename to src/content/docs/general/advance/website/_assets/img_1.png diff --git a/docs/advance/website/_images/img_10.png b/src/content/docs/general/advance/website/_assets/img_10.png similarity index 100% rename from docs/advance/website/_images/img_10.png rename to src/content/docs/general/advance/website/_assets/img_10.png diff --git a/docs/advance/website/_images/img_2.png b/src/content/docs/general/advance/website/_assets/img_2.png similarity index 100% rename from docs/advance/website/_images/img_2.png rename to src/content/docs/general/advance/website/_assets/img_2.png diff --git a/docs/advance/website/_images/img_3.png b/src/content/docs/general/advance/website/_assets/img_3.png similarity index 100% rename from docs/advance/website/_images/img_3.png rename to src/content/docs/general/advance/website/_assets/img_3.png diff --git a/docs/advance/website/_images/img_4.png b/src/content/docs/general/advance/website/_assets/img_4.png similarity index 100% rename from docs/advance/website/_images/img_4.png rename to src/content/docs/general/advance/website/_assets/img_4.png diff --git a/docs/advance/website/_images/img_5.png b/src/content/docs/general/advance/website/_assets/img_5.png similarity index 100% rename from docs/advance/website/_images/img_5.png rename to src/content/docs/general/advance/website/_assets/img_5.png diff --git a/docs/advance/website/_images/img_6.png b/src/content/docs/general/advance/website/_assets/img_6.png similarity index 100% rename from docs/advance/website/_images/img_6.png rename to src/content/docs/general/advance/website/_assets/img_6.png diff --git a/docs/advance/website/_images/img_7.png b/src/content/docs/general/advance/website/_assets/img_7.png similarity index 100% rename from docs/advance/website/_images/img_7.png rename to src/content/docs/general/advance/website/_assets/img_7.png diff --git a/docs/advance/website/_images/img_8.png b/src/content/docs/general/advance/website/_assets/img_8.png similarity index 100% rename from docs/advance/website/_images/img_8.png rename to src/content/docs/general/advance/website/_assets/img_8.png diff --git a/docs/advance/website/_images/img_9.png b/src/content/docs/general/advance/website/_assets/img_9.png similarity index 100% rename from docs/advance/website/_images/img_9.png rename to src/content/docs/general/advance/website/_assets/img_9.png diff --git "a/docs/advance/website/_images/img\342\200\224\342\200\2241.png" "b/src/content/docs/general/advance/website/_assets/img\342\200\224\342\200\2241.png" similarity index 100% rename from "docs/advance/website/_images/img\342\200\224\342\200\2241.png" rename to "src/content/docs/general/advance/website/_assets/img\342\200\224\342\200\2241.png" diff --git "a/docs/advance/website/_images/\345\261\217\345\271\225\346\210\252\345\233\276 2025-06-08 135158.png" "b/src/content/docs/general/advance/website/_assets/\345\261\217\345\271\225\346\210\252\345\233\276 2025-06-08 135158.png" similarity index 100% rename from "docs/advance/website/_images/\345\261\217\345\271\225\346\210\252\345\233\276 2025-06-08 135158.png" rename to "src/content/docs/general/advance/website/_assets/\345\261\217\345\271\225\346\210\252\345\233\276 2025-06-08 135158.png" diff --git a/docs/advance/website/faq.md b/src/content/docs/general/advance/website/faq.md similarity index 100% rename from docs/advance/website/faq.md rename to src/content/docs/general/advance/website/faq.md diff --git a/docs/advance/website/install.md b/src/content/docs/general/advance/website/install.md similarity index 94% rename from docs/advance/website/install.md rename to src/content/docs/general/advance/website/install.md index e67ca475f..47005db52 100644 --- a/docs/advance/website/install.md +++ b/src/content/docs/general/advance/website/install.md @@ -78,9 +78,9 @@ composer create-project namelessmc/nameless /var/www/html/namelessmc ### 推荐 Docker 标签 -- `v2.2`: 最新稳定版 (PHP 8.3) -- `v2.1`: 上一稳定版 (PHP 8.2) -- `dev`: 开发版 (仅用于开发) +- `v2.2`: 最新稳定版 (PHP 8.3) +- `v2.1`: 上一稳定版 (PHP 8.2) +- `dev`: 开发版 (仅用于开发) @@ -147,7 +147,7 @@ sudo chmod -R 777 /var/www/html/namelessmc/uploads - 打开浏览器访问:`http://your-domain.com/install` - 或:`http://your-domain.com/namelessmc/install` -![img.png](_images/img-2.png) +![img.png](_assets/img-2.png) 1. **数据库配置** @@ -161,7 +161,7 @@ sudo chmod -R 777 /var/www/html/namelessmc/uploads 表前缀:nl2_ (可自定义) ``` -![img.png](_images/img-3.png) +![img.png](_assets/img-3.png) 1. **站点配置** @@ -180,12 +180,12 @@ sudo chmod -R 777 /var/www/html/namelessmc/uploads 确认密码:重复输入 ``` - ![img.png](_images/img-.png) + ![img.png](_assets/img-.png) 然后就安装好了 -![](_images/img_1.png) +![](_assets/img_1.png) -![](_images/img_2.png) +![](_assets/img_2.png) 接下来自己摸索即可 diff --git a/docs/advance/website/plugins.md b/src/content/docs/general/advance/website/plugins.md similarity index 98% rename from docs/advance/website/plugins.md rename to src/content/docs/general/advance/website/plugins.md index ab1ed001f..1325728d3 100644 --- a/docs/advance/website/plugins.md +++ b/src/content/docs/general/advance/website/plugins.md @@ -11,11 +11,11 @@ sidebar_position: 4 解压后根据你的服务器版本选择对应的插件,通常选择 `Paper` 即可 -![](_images/img_3.png) +![](_assets/img_3.png) ## 配置 -![img.png](_images/img_4.png) +![img.png](_assets/img_4.png) 首先在这里启用 API 接口 @@ -28,11 +28,11 @@ api: 然后打开配置文件 `main.yml` 进行配置,填完后执行 `/nlpl reload` -![](_images/img_5.png) +![](_assets/img_5.png) 然后接下来需要创建一个服务器,创建好后,复制服务器的 ID,填入配置文件中的`server-id` 即可 (记得重新加载) -![](_images/img_6.png) +![](_assets/img_6.png) ## 插件配置文件 diff --git a/docs/advance/website/prepare.md b/src/content/docs/general/advance/website/prepare.md similarity index 100% rename from docs/advance/website/prepare.md rename to src/content/docs/general/advance/website/prepare.md diff --git a/docs/advance/website/server-config.md b/src/content/docs/general/advance/website/server-config.md similarity index 97% rename from docs/advance/website/server-config.md rename to src/content/docs/general/advance/website/server-config.md index 8e2fb99d9..2d5b6c287 100644 --- a/docs/advance/website/server-config.md +++ b/src/content/docs/general/advance/website/server-config.md @@ -267,17 +267,17 @@ server { 如果你不想自己配置 SSL 证书,你可以通过使用 Cloudflare 的免费 SSL 服务来提供 HTTPS 功能。 Cloudflare 的免费 SSL 服务可以为你的网站提供免费的 SSL 证书,无需任何额外的配置。 -![](_images/img.png) +![](_assets/img.png) (严格一点需要调整加密模式) -![img.png](_images/img——1.png) +![img.png](_assets/img——1.png) 你也可以把 `始终使用 HTTPS` 和 `HTTP 严格传输安全 (HSTS)` 打开 ### 源服务器加密 -![](_images/屏幕截图%202025-06-08%20135158.png) +![](_assets/屏幕截图%202025-06-08%20135158.png) 如果你希望提高 Cloudflare 到源服务器的安全性,可以使用源服务器加密来实现。 @@ -287,7 +287,7 @@ Cloudflare 的免费 SSL 服务可以为你的网站提供免费的 SSL 证书 通过代理连接会导致两个问题: -- NamelessMC 会看到你的代理地址而不是你的用户地址。这会破坏 IP 封锁和速率限制。这可以通过从代理向后端 Web 服务器发送 Forwarded、X-Forwarded-For 或 X-Real-IP(不推荐)标头来解决。 +- NamelessMC 会看到你的代理地址而不是你的用户地址。这会破坏 IP 封锁和速率限制。这可以通过从代理向后端 Web 服务器发送 Forwarded、X-Forwarded-For 或 X-Real-IP(不推荐)标头来解决。 在你的 Nginx 配置文件中添加如下几行: diff --git a/docs/advance/website/server-plugins.md b/src/content/docs/general/advance/website/server-plugins.md similarity index 85% rename from docs/advance/website/server-plugins.md rename to src/content/docs/general/advance/website/server-plugins.md index 7905a7bf1..e8a468cbc 100644 --- a/docs/advance/website/server-plugins.md +++ b/src/content/docs/general/advance/website/server-plugins.md @@ -11,12 +11,12 @@ NamelessMC 有这非常多的插件,你可以在 [这里](https://namelessmc.c 下载后解压,你会得到以下文件: -![](_images/img_8.png) +![](_assets/img_8.png) 将 `upload` 文件夹复制到网站根目录即可,然后打开操作面板 -![img.png](_images/img_9.png) +![img.png](_assets/img_9.png) 点击安装即可,如果你安装的是样式模板,你应该在这里安装 -![img.png](_images/img_10.png) +![img.png](_assets/img_10.png) diff --git a/docs/advance/website/website.md b/src/content/docs/general/advance/website/website.md similarity index 96% rename from docs/advance/website/website.md rename to src/content/docs/general/advance/website/website.md index 6ed701a79..a0b25ccf8 100644 --- a/docs/advance/website/website.md +++ b/src/content/docs/general/advance/website/website.md @@ -14,6 +14,6 @@ sidebar_position: 7 [详细功能可以查看 Wiki](https://docs.namelessmc.com/en/home) -![](_images/img_7.png) +![](_assets/img_7.png) 相比于 Xenforo、NamelessMC 提供更多与 MC 集成的功能,比如黑/白名单同步等功能 diff --git a/docs/contribution/contribution.md b/src/content/docs/general/contribution/contribution.md similarity index 100% rename from docs/contribution/contribution.md rename to src/content/docs/general/contribution/contribution.md diff --git a/docs/contribution/image.md b/src/content/docs/general/contribution/image.md similarity index 100% rename from docs/contribution/image.md rename to src/content/docs/general/contribution/image.md diff --git a/docs/contribution/todos.md b/src/content/docs/general/contribution/todos.md similarity index 100% rename from docs/contribution/todos.md rename to src/content/docs/general/contribution/todos.md diff --git a/docs/contribution/writing-specification/blank.md b/src/content/docs/general/contribution/writing-specification/blank.md similarity index 100% rename from docs/contribution/writing-specification/blank.md rename to src/content/docs/general/contribution/writing-specification/blank.md diff --git a/docs/contribution/writing-specification/code-examples.md b/src/content/docs/general/contribution/writing-specification/code-examples.md similarity index 100% rename from docs/contribution/writing-specification/code-examples.md rename to src/content/docs/general/contribution/writing-specification/code-examples.md diff --git a/docs/contribution/writing-specification/documentation-system.md b/src/content/docs/general/contribution/writing-specification/documentation-system.md similarity index 100% rename from docs/contribution/writing-specification/documentation-system.md rename to src/content/docs/general/contribution/writing-specification/documentation-system.md diff --git a/docs/contribution/writing-specification/numerical-value.md b/src/content/docs/general/contribution/writing-specification/numerical-value.md similarity index 100% rename from docs/contribution/writing-specification/numerical-value.md rename to src/content/docs/general/contribution/writing-specification/numerical-value.md diff --git a/docs/contribution/writing-specification/paragraph.md b/src/content/docs/general/contribution/writing-specification/paragraph.md similarity index 100% rename from docs/contribution/writing-specification/paragraph.md rename to src/content/docs/general/contribution/writing-specification/paragraph.md diff --git a/docs/contribution/writing-specification/punctuation-marks.md b/src/content/docs/general/contribution/writing-specification/punctuation-marks.md similarity index 100% rename from docs/contribution/writing-specification/punctuation-marks.md rename to src/content/docs/general/contribution/writing-specification/punctuation-marks.md diff --git a/docs/contribution/writing-specification/reference.md b/src/content/docs/general/contribution/writing-specification/reference.md similarity index 100% rename from docs/contribution/writing-specification/reference.md rename to src/content/docs/general/contribution/writing-specification/reference.md diff --git a/docs/contribution/writing-specification/text.md b/src/content/docs/general/contribution/writing-specification/text.md similarity index 100% rename from docs/contribution/writing-specification/text.md rename to src/content/docs/general/contribution/writing-specification/text.md diff --git a/docs/contribution/writing-specification/title.md b/src/content/docs/general/contribution/writing-specification/title.md similarity index 100% rename from docs/contribution/writing-specification/title.md rename to src/content/docs/general/contribution/writing-specification/title.md diff --git a/docs/contribution/writing-specification/writing-specification.md b/src/content/docs/general/contribution/writing-specification/writing-specification.md similarity index 100% rename from docs/contribution/writing-specification/writing-specification.md rename to src/content/docs/general/contribution/writing-specification/writing-specification.md diff --git a/docs/intro.md b/src/content/docs/general/intro.md similarity index 100% rename from docs/intro.md rename to src/content/docs/general/intro.md diff --git a/docs/loss-thing.md b/src/content/docs/general/loss-thing.md similarity index 86% rename from docs/loss-thing.md rename to src/content/docs/general/loss-thing.md index 7c45f73ce..6a53cf6c5 100644 --- a/docs/loss-thing.md +++ b/src/content/docs/general/loss-thing.md @@ -7,4 +7,4 @@ sidebar_position: 102 请检查一下,你是不是应该看 Java 或 Bedrock 板块而不是这个 通用 板块 -![](_images/少东西了.png) +![](_assets/少东西了.png) diff --git "a/docs/preparation/_images/HbuilderX\345\261\225\347\244\272.png" "b/src/content/docs/general/preparation/_assets/HbuilderX\345\261\225\347\244\272.png" similarity index 100% rename from "docs/preparation/_images/HbuilderX\345\261\225\347\244\272.png" rename to "src/content/docs/general/preparation/_assets/HbuilderX\345\261\225\347\244\272.png" diff --git "a/docs/preparation/_images/Npp\345\261\225\347\244\272.png" "b/src/content/docs/general/preparation/_assets/Npp\345\261\225\347\244\272.png" similarity index 100% rename from "docs/preparation/_images/Npp\345\261\225\347\244\272.png" rename to "src/content/docs/general/preparation/_assets/Npp\345\261\225\347\244\272.png" diff --git "a/docs/preparation/_images/N\345\207\217\345\207\217\345\261\225\347\244\272.png" "b/src/content/docs/general/preparation/_assets/N\345\207\217\345\207\217\345\261\225\347\244\272.png" similarity index 100% rename from "docs/preparation/_images/N\345\207\217\345\207\217\345\261\225\347\244\272.png" rename to "src/content/docs/general/preparation/_assets/N\345\207\217\345\207\217\345\261\225\347\244\272.png" diff --git "a/docs/preparation/_images/sublime\345\261\225\347\244\272.png" "b/src/content/docs/general/preparation/_assets/sublime\345\261\225\347\244\272.png" similarity index 100% rename from "docs/preparation/_images/sublime\345\261\225\347\244\272.png" rename to "src/content/docs/general/preparation/_assets/sublime\345\261\225\347\244\272.png" diff --git "a/docs/preparation/_images/vscode\344\277\235\345\255\230\345\222\214\350\207\252\345\212\250\344\277\235\345\255\230.png" "b/src/content/docs/general/preparation/_assets/vscode\344\277\235\345\255\230\345\222\214\350\207\252\345\212\250\344\277\235\345\255\230.png" similarity index 100% rename from "docs/preparation/_images/vscode\344\277\235\345\255\230\345\222\214\350\207\252\345\212\250\344\277\235\345\255\230.png" rename to "src/content/docs/general/preparation/_assets/vscode\344\277\235\345\255\230\345\222\214\350\207\252\345\212\250\344\277\235\345\255\230.png" diff --git "a/docs/preparation/_images/\347\231\275\347\202\271.png" "b/src/content/docs/general/preparation/_assets/\347\231\275\347\202\271.png" similarity index 100% rename from "docs/preparation/_images/\347\231\275\347\202\271.png" rename to "src/content/docs/general/preparation/_assets/\347\231\275\347\202\271.png" diff --git a/docs/preparation/dumb-script-usage.md b/src/content/docs/general/preparation/dumb-script-usage.md similarity index 100% rename from docs/preparation/dumb-script-usage.md rename to src/content/docs/general/preparation/dumb-script-usage.md diff --git a/docs/preparation/java/_images/Oracle-1.png b/src/content/docs/general/preparation/java/_assets/Oracle-1.png similarity index 100% rename from docs/preparation/java/_images/Oracle-1.png rename to src/content/docs/general/preparation/java/_assets/Oracle-1.png diff --git a/docs/preparation/java/_images/Oracle-2.png b/src/content/docs/general/preparation/java/_assets/Oracle-2.png similarity index 100% rename from docs/preparation/java/_images/Oracle-2.png rename to src/content/docs/general/preparation/java/_assets/Oracle-2.png diff --git a/docs/preparation/java/_images/Oracle-3.png b/src/content/docs/general/preparation/java/_assets/Oracle-3.png similarity index 100% rename from docs/preparation/java/_images/Oracle-3.png rename to src/content/docs/general/preparation/java/_assets/Oracle-3.png diff --git a/docs/preparation/java/_images/Oracle-4.png b/src/content/docs/general/preparation/java/_assets/Oracle-4.png similarity index 100% rename from docs/preparation/java/_images/Oracle-4.png rename to src/content/docs/general/preparation/java/_assets/Oracle-4.png diff --git a/docs/preparation/java/_images/Oracle-5.png b/src/content/docs/general/preparation/java/_assets/Oracle-5.png similarity index 100% rename from docs/preparation/java/_images/Oracle-5.png rename to src/content/docs/general/preparation/java/_assets/Oracle-5.png diff --git a/docs/preparation/java/_images/cmd-1.png b/src/content/docs/general/preparation/java/_assets/cmd-1.png similarity index 100% rename from docs/preparation/java/_images/cmd-1.png rename to src/content/docs/general/preparation/java/_assets/cmd-1.png diff --git a/docs/preparation/java/_images/cmd-2.png b/src/content/docs/general/preparation/java/_assets/cmd-2.png similarity index 100% rename from docs/preparation/java/_images/cmd-2.png rename to src/content/docs/general/preparation/java/_assets/cmd-2.png diff --git a/docs/preparation/java/_images/environment-1.png b/src/content/docs/general/preparation/java/_assets/environment-1.png similarity index 100% rename from docs/preparation/java/_images/environment-1.png rename to src/content/docs/general/preparation/java/_assets/environment-1.png diff --git a/docs/preparation/java/_images/environment-11-1.png b/src/content/docs/general/preparation/java/_assets/environment-11-1.png similarity index 100% rename from docs/preparation/java/_images/environment-11-1.png rename to src/content/docs/general/preparation/java/_assets/environment-11-1.png diff --git a/docs/preparation/java/_images/environment-11-2.png b/src/content/docs/general/preparation/java/_assets/environment-11-2.png similarity index 100% rename from docs/preparation/java/_images/environment-11-2.png rename to src/content/docs/general/preparation/java/_assets/environment-11-2.png diff --git a/docs/preparation/java/_images/environment-2.png b/src/content/docs/general/preparation/java/_assets/environment-2.png similarity index 100% rename from docs/preparation/java/_images/environment-2.png rename to src/content/docs/general/preparation/java/_assets/environment-2.png diff --git a/docs/preparation/java/_images/environment-3.png b/src/content/docs/general/preparation/java/_assets/environment-3.png similarity index 100% rename from docs/preparation/java/_images/environment-3.png rename to src/content/docs/general/preparation/java/_assets/environment-3.png diff --git a/docs/preparation/java/_images/environment-4.png b/src/content/docs/general/preparation/java/_assets/environment-4.png similarity index 100% rename from docs/preparation/java/_images/environment-4.png rename to src/content/docs/general/preparation/java/_assets/environment-4.png diff --git a/docs/preparation/java/_images/environment-new-1.png b/src/content/docs/general/preparation/java/_assets/environment-new-1.png similarity index 100% rename from docs/preparation/java/_images/environment-new-1.png rename to src/content/docs/general/preparation/java/_assets/environment-new-1.png diff --git a/docs/preparation/java/_images/environment-new-2.png b/src/content/docs/general/preparation/java/_assets/environment-new-2.png similarity index 100% rename from docs/preparation/java/_images/environment-new-2.png rename to src/content/docs/general/preparation/java/_assets/environment-new-2.png diff --git a/docs/preparation/java/_images/environment-no.png b/src/content/docs/general/preparation/java/_assets/environment-no.png similarity index 100% rename from docs/preparation/java/_images/environment-no.png rename to src/content/docs/general/preparation/java/_assets/environment-no.png diff --git a/docs/preparation/java/_images/lava.jpg b/src/content/docs/general/preparation/java/_assets/lava.jpg similarity index 100% rename from docs/preparation/java/_images/lava.jpg rename to src/content/docs/general/preparation/java/_assets/lava.jpg diff --git a/docs/preparation/java/_images/path-1.png b/src/content/docs/general/preparation/java/_assets/path-1.png similarity index 100% rename from docs/preparation/java/_images/path-1.png rename to src/content/docs/general/preparation/java/_assets/path-1.png diff --git a/docs/preparation/java/choose-and-download-and-install-java.md b/src/content/docs/general/preparation/java/choose-and-download-and-install-java.md similarity index 90% rename from docs/preparation/java/choose-and-download-and-install-java.md rename to src/content/docs/general/preparation/java/choose-and-download-and-install-java.md index 12d1ecaad..bdaf634c0 100644 --- a/docs/preparation/java/choose-and-download-and-install-java.md +++ b/src/content/docs/general/preparation/java/choose-and-download-and-install-java.md @@ -61,11 +61,11 @@ sidebar_position: 1 -| Java 版本 | 下载链接 | -| --------- | ------------------------------------------------------------------------------------------------- | -| Java 8 | [Dragonwell](https://dragonwell-jdk.io/) | -| Java 11 | [Dragonwell](https://dragonwell-jdk.io/) | -| Java 17 | [Azul Zulu](https://d10.injdk.cn/openjdk/zulu/17/) | +| Java 版本 | 下载链接 | +| --------- | -------------------------------------------------------------------------------------------------------- | +| Java 8 | [Dragonwell](https://dragonwell-jdk.io/) | +| Java 11 | [Dragonwell](https://dragonwell-jdk.io/) | +| Java 17 | [Azul Zulu](https://d10.injdk.cn/openjdk/zulu/17/) | | Java 21 | [GraalVM](https://d10.injdk.cn/openjdk/graalvm/21/) / [Azul Zulu](https://d10.injdk.cn/openjdk/zulu/21/) | | Java 24 | [GraalVM](https://d10.injdk.cn/openjdk/graalvm/24/) / [Azul Zulu](https://d10.injdk.cn/openjdk/zulu/24/) | @@ -94,14 +94,14 @@ sidebar_position: 1
怎么找到官网并从官网下载 -![](_images/Oracle-1.png) -![](_images/Oracle-2.png) -![](_images/Oracle-3.png) -![](_images/Oracle-4.png) +![](_assets/Oracle-1.png) +![](_assets/Oracle-2.png) +![](_assets/Oracle-3.png) +![](_assets/Oracle-4.png) 如果再往下翻的话可以看到 Java 8 / 11。 -![](_images/Oracle-5.png) +![](_assets/Oracle-5.png) 但是在这里 Java 8 需要登录才能下载。 @@ -119,7 +119,7 @@ https://www.java.com/zh-CN/download/ [怎么打开 Windows 终端](https://cn.bing.com/search?q=%E6%80%8E%E4%B9%88%E6%89%93%E5%BC%80windows%E6%8E%A7%E5%88%B6%E5%8F%B0) -![](_images/cmd-1.png) +![](_assets/cmd-1.png) 输入: @@ -129,7 +129,7 @@ java -version 并回车: -![](_images/cmd-2.png) +![](_assets/cmd-2.png) > 返回类似的消息即为 Java 已安装 diff --git a/docs/preparation/java/environment.md b/src/content/docs/general/preparation/java/environment.md similarity index 85% rename from docs/preparation/java/environment.md rename to src/content/docs/general/preparation/java/environment.md index 59ada3721..6d74baeaa 100644 --- a/docs/preparation/java/environment.md +++ b/src/content/docs/general/preparation/java/environment.md @@ -9,7 +9,7 @@ sidebar_position: 2 例如: -![](./_images/environment-1.png) +![](./_assets/environment-1.png) 在此处,`java` 等同于 `"C:\Program Files\Zulu\zulu-21\bin\java.exe"` @@ -17,7 +17,7 @@ sidebar_position: 2 如果不是使用安装包安装,即没有配置环境变量,你应该会遇到这个情况: -![](./_images/environment-no.png) +![](./_assets/environment-no.png) ## 编辑环境变量 @@ -31,11 +31,11 @@ import TabItem from '@theme/TabItem'; 右键点击“**此电脑**”,点击“**设置**”。 -![](./_images/environment-11-1.png) +![](./_assets/environment-11-1.png) 在“**系统**”点击“**高级系统设置**”,在弹出的窗口中点击“**环境变量**”。 -![](./_images/environment-11-2.png) +![](./_assets/environment-11-2.png) @@ -52,14 +52,14 @@ TODO 在这个名为“**环境变量**”的界面中,我们可以看到,环境变量有“**用户变量**”和“**系统变量**”之分(红色箭头)。 -- 用户变量:仅对此用户有效。 -- 系统变量:此电脑的所有用户均可使用。 +- 用户变量:仅对此用户有效。 +- 系统变量:此电脑的所有用户均可使用。 我们现在编辑系统变量(绿色箭头)。 先鼠标左键选中“**Path**”,接着点击“**编辑**”,会弹出一个名为“**编辑环境变量**”的界面。 -![](./_images/environment-2.png) +![](./_assets/environment-2.png) ## 新增环境变量 @@ -73,7 +73,7 @@ TODO 点击“**新建**”,在 `2` 处输入你的 Java 路径,接着回车,可以看到像 `3` 一样写入了。 -![](./_images/environment-new-1.png) +![](./_assets/environment-new-1.png) 接着 **重新打开** 一个终端。 @@ -85,7 +85,7 @@ TODO 重新打印 Java 版本。 -![](./_images/environment-new-2.png) +![](./_assets/environment-new-2.png) ## 优先级 @@ -97,7 +97,7 @@ TODO 是的,你要关闭这两个界面才行。 -![](./_images/environment-3.png) +![](./_assets/environment-3.png) 接着 **重新打开** 一个终端。 @@ -109,7 +109,7 @@ TODO 重新打印 Java 版本。 -![](./_images/environment-4.png) +![](./_assets/environment-4.png) 于是我们可以得到结论: diff --git a/docs/preparation/java/faq.md b/src/content/docs/general/preparation/java/faq.md similarity index 100% rename from docs/preparation/java/faq.md rename to src/content/docs/general/preparation/java/faq.md diff --git a/docs/preparation/java/java.md b/src/content/docs/general/preparation/java/java.md similarity index 98% rename from docs/preparation/java/java.md rename to src/content/docs/general/preparation/java/java.md index d61401481..3645a641d 100644 --- a/docs/preparation/java/java.md +++ b/src/content/docs/general/preparation/java/java.md @@ -39,4 +39,4 @@ import DocCardList from '@theme/DocCardList'; -![](_images/lava.jpg) +![](_assets/lava.jpg) diff --git a/docs/preparation/java/path.md b/src/content/docs/general/preparation/java/path.md similarity index 92% rename from docs/preparation/java/path.md rename to src/content/docs/general/preparation/java/path.md index ab5e722c8..c4e0e39a2 100644 --- a/docs/preparation/java/path.md +++ b/src/content/docs/general/preparation/java/path.md @@ -5,11 +5,11 @@ sidebar_position: 3 # 路径相关 -- 绝对路径 - 是从盘符开始的路径。 +- 绝对路径 - 是从盘符开始的路径。 形如 `C:\windows\system32\cmd.exe` -- 相对路径 - 是从当前路径开始的路径。 +- 相对路径 - 是从当前路径开始的路径。 要描述上述路径,只需输入 `system32\cmd.exe`。 @@ -41,7 +41,7 @@ sidebar_position: 3 相对路径是从当前路径开始的路径。 -![](_images/path-1.png) +![](_assets/path-1.png) 如图所示,将“**zulu-21**”放进服务端文件夹,接着在启动脚本写入: diff --git a/docs/preparation/java/sdkman.md b/src/content/docs/general/preparation/java/sdkman.md similarity index 100% rename from docs/preparation/java/sdkman.md rename to src/content/docs/general/preparation/java/sdkman.md diff --git a/docs/preparation/preparation.md b/src/content/docs/general/preparation/preparation.md similarity index 100% rename from docs/preparation/preparation.md rename to src/content/docs/general/preparation/preparation.md diff --git a/docs/preparation/services.md b/src/content/docs/general/preparation/services.md similarity index 100% rename from docs/preparation/services.md rename to src/content/docs/general/preparation/services.md diff --git a/docs/preparation/text-editor.md b/src/content/docs/general/preparation/text-editor.md similarity index 92% rename from docs/preparation/text-editor.md rename to src/content/docs/general/preparation/text-editor.md index ccfd735cc..b4b49300d 100644 --- a/docs/preparation/text-editor.md +++ b/src/content/docs/general/preparation/text-editor.md @@ -35,11 +35,11 @@ sidebar_position: 2 发现有人第一次用文本编辑器不知道编辑完后保存。 -![](_images/白点.png) +![](_assets/白点.png) VS Code 会在未保存的文件后标记一个白点,提示你这个文件编辑了但是没有保存 (其他文本编辑器类似)。 -![](_images/vscode保存和自动保存.png) +![](_assets/vscode保存和自动保存.png) 保存按钮 (红色箭头),也可以用快捷键来保存 `Ctrl + S`。 @@ -60,7 +60,7 @@ VS Code 会在未保存的文件后标记一个白点,提示你这个文件编
点击展开 -![Sublime Text](_images/sublime展示.png) +![Sublime Text](_assets/sublime展示.png) 我不太喜欢的一点是保存文件时,对非激活的用户有一定概率弹出个窗口,提示你去付费支持 (可以选择不支持)。但这依旧是一个非常优秀的文本编辑器。 @@ -103,7 +103,7 @@ GitHub: https://github.com/rizonesoft/Notepad3
点击展开 -![NPPesu](_images/Npp展示.png) +![NPPesu](_assets/Npp展示.png) 可用,相关功能也较为完善。 @@ -126,7 +126,7 @@ dizhi 08 年奥运会 声称 (仅声明,但还是挺过分的) 不同意它的
点击展开 -![Notepad--](_images/N减减展示.png) +![Notepad--](_assets/N减减展示.png) 国内作者维护的 Notepad++ 的替代品。 @@ -140,7 +140,7 @@ dizhi 08 年奥运会 声称 (仅声明,但还是挺过分的) 不同意它的
点击展开 -![HbuilderX](_images/HbuilderX展示.png) +![HbuilderX](_assets/HbuilderX展示.png) 官网链接:https://dcloud.io/hbuilderx.html @@ -154,7 +154,7 @@ dizhi 08 年奥运会 声称 (仅声明,但还是挺过分的) 不同意它的 ### 关联右键菜单? -可以在工具→设置 (Ctrl + Alt + ,) 打开设置,找到“常用配置”手动选中【关联右键菜单】。 +可以在工具 → 设置 (Ctrl + Alt + ,) 打开设置,找到“常用配置”手动选中【关联右键菜单】。
diff --git "a/docs/process/_images/\344\273\245\350\226\204\351\235\242\350\241\250\347\216\260vs\344\273\245\344\275\223\347\264\240\350\241\250\347\216\260.jpg" "b/src/content/docs/general/process/_assets/\344\273\245\350\226\204\351\235\242\350\241\250\347\216\260vs\344\273\245\344\275\223\347\264\240\350\241\250\347\216\260.jpg" similarity index 100% rename from "docs/process/_images/\344\273\245\350\226\204\351\235\242\350\241\250\347\216\260vs\344\273\245\344\275\223\347\264\240\350\241\250\347\216\260.jpg" rename to "src/content/docs/general/process/_assets/\344\273\245\350\226\204\351\235\242\350\241\250\347\216\260vs\344\273\245\344\275\223\347\264\240\350\241\250\347\216\260.jpg" diff --git "a/docs/process/_images/\344\277\235\346\214\201\344\270\200\350\207\264\347\232\204\346\257\224\344\276\213vs\346\213\211\344\274\270\345\217\230\345\275\242\347\232\204\346\257\224\344\276\213.jpg" "b/src/content/docs/general/process/_assets/\344\277\235\346\214\201\344\270\200\350\207\264\347\232\204\346\257\224\344\276\213vs\346\213\211\344\274\270\345\217\230\345\275\242\347\232\204\346\257\224\344\276\213.jpg" similarity index 100% rename from "docs/process/_images/\344\277\235\346\214\201\344\270\200\350\207\264\347\232\204\346\257\224\344\276\213vs\346\213\211\344\274\270\345\217\230\345\275\242\347\232\204\346\257\224\344\276\213.jpg" rename to "src/content/docs/general/process/_assets/\344\277\235\346\214\201\344\270\200\350\207\264\347\232\204\346\257\224\344\276\213vs\346\213\211\344\274\270\345\217\230\345\275\242\347\232\204\346\257\224\344\276\213.jpg" diff --git "a/docs/process/_images/\345\235\207\350\241\241\347\232\204\347\273\206\350\212\202\345\210\206\345\270\203vs\345\244\261\350\241\241\347\232\204\347\273\206\350\212\202\345\210\206\345\270\203.jpg" "b/src/content/docs/general/process/_assets/\345\235\207\350\241\241\347\232\204\347\273\206\350\212\202\345\210\206\345\270\203vs\345\244\261\350\241\241\347\232\204\347\273\206\350\212\202\345\210\206\345\270\203.jpg" similarity index 100% rename from "docs/process/_images/\345\235\207\350\241\241\347\232\204\347\273\206\350\212\202\345\210\206\345\270\203vs\345\244\261\350\241\241\347\232\204\347\273\206\350\212\202\345\210\206\345\270\203.jpg" rename to "src/content/docs/general/process/_assets/\345\235\207\350\241\241\347\232\204\347\273\206\350\212\202\345\210\206\345\270\203vs\345\244\261\350\241\241\347\232\204\347\273\206\350\212\202\345\210\206\345\270\203.jpg" diff --git "a/docs/process/_images/\345\256\236\344\275\223\347\272\271\347\220\206.jpg" "b/src/content/docs/general/process/_assets/\345\256\236\344\275\223\347\272\271\347\220\206.jpg" similarity index 100% rename from "docs/process/_images/\345\256\236\344\275\223\347\272\271\347\220\206.jpg" rename to "src/content/docs/general/process/_assets/\345\256\236\344\275\223\347\272\271\347\220\206.jpg" diff --git "a/docs/process/_images/\345\270\270\350\247\201\347\232\204HSV\350\260\203\350\212\202\351\235\242\346\235\277.jpg" "b/src/content/docs/general/process/_assets/\345\270\270\350\247\201\347\232\204HSV\350\260\203\350\212\202\351\235\242\346\235\277.jpg" similarity index 100% rename from "docs/process/_images/\345\270\270\350\247\201\347\232\204HSV\350\260\203\350\212\202\351\235\242\346\235\277.jpg" rename to "src/content/docs/general/process/_assets/\345\270\270\350\247\201\347\232\204HSV\350\260\203\350\212\202\351\235\242\346\235\277.jpg" diff --git "a/docs/process/_images/\346\225\231\350\202\262\347\211\210\347\232\204Agentvs\345\216\237\347\211\210\347\232\204\351\223\201\345\202\200\345\204\241.jpg" "b/src/content/docs/general/process/_assets/\346\225\231\350\202\262\347\211\210\347\232\204Agentvs\345\216\237\347\211\210\347\232\204\351\223\201\345\202\200\345\204\241.jpg" similarity index 100% rename from "docs/process/_images/\346\225\231\350\202\262\347\211\210\347\232\204Agentvs\345\216\237\347\211\210\347\232\204\351\223\201\345\202\200\345\204\241.jpg" rename to "src/content/docs/general/process/_assets/\346\225\231\350\202\262\347\211\210\347\232\204Agentvs\345\216\237\347\211\210\347\232\204\351\223\201\345\202\200\345\204\241.jpg" diff --git "a/docs/process/_images/\346\226\271\345\235\227\347\272\271\347\220\206.jpg" "b/src/content/docs/general/process/_assets/\346\226\271\345\235\227\347\272\271\347\220\206.jpg" similarity index 100% rename from "docs/process/_images/\346\226\271\345\235\227\347\272\271\347\220\206.jpg" rename to "src/content/docs/general/process/_assets/\346\226\271\345\235\227\347\272\271\347\220\206.jpg" diff --git "a/docs/process/_images/\346\227\213\350\275\254\345\205\203\347\264\240vs\347\224\250\351\230\266\346\242\257\347\212\266\350\241\250\347\216\260.jpg" "b/src/content/docs/general/process/_assets/\346\227\213\350\275\254\345\205\203\347\264\240vs\347\224\250\351\230\266\346\242\257\347\212\266\350\241\250\347\216\260.jpg" similarity index 100% rename from "docs/process/_images/\346\227\213\350\275\254\345\205\203\347\264\240vs\347\224\250\351\230\266\346\242\257\347\212\266\350\241\250\347\216\260.jpg" rename to "src/content/docs/general/process/_assets/\346\227\213\350\275\254\345\205\203\347\264\240vs\347\224\250\351\230\266\346\242\257\347\212\266\350\241\250\347\216\260.jpg" diff --git "a/docs/process/_images/\346\234\211\346\212\227\351\224\257\351\275\277\345\244\204\347\220\206vs\346\227\240\346\212\227\351\224\257\351\275\277\347\232\204\351\270\241\350\233\213.jpg" "b/src/content/docs/general/process/_assets/\346\234\211\346\212\227\351\224\257\351\275\277\345\244\204\347\220\206vs\346\227\240\346\212\227\351\224\257\351\275\277\347\232\204\351\270\241\350\233\213.jpg" similarity index 100% rename from "docs/process/_images/\346\234\211\346\212\227\351\224\257\351\275\277\345\244\204\347\220\206vs\346\227\240\346\212\227\351\224\257\351\275\277\347\232\204\351\270\241\350\233\213.jpg" rename to "src/content/docs/general/process/_assets/\346\234\211\346\212\227\351\224\257\351\275\277\345\244\204\347\220\206vs\346\227\240\346\212\227\351\224\257\351\275\277\347\232\204\351\270\241\350\233\213.jpg" diff --git "a/docs/process/_images/\346\241\266.jpg" "b/src/content/docs/general/process/_assets/\346\241\266.jpg" similarity index 100% rename from "docs/process/_images/\346\241\266.jpg" rename to "src/content/docs/general/process/_assets/\346\241\266.jpg" diff --git "a/docs/process/_images/\346\262\211\351\227\267\347\232\204\350\234\234\350\204\276vs\351\262\234\350\211\263\350\257\261\344\272\272\347\232\204\350\234\234\350\204\276.jpg" "b/src/content/docs/general/process/_assets/\346\262\211\351\227\267\347\232\204\350\234\234\350\204\276vs\351\262\234\350\211\263\350\257\261\344\272\272\347\232\204\350\234\234\350\204\276.jpg" similarity index 100% rename from "docs/process/_images/\346\262\211\351\227\267\347\232\204\350\234\234\350\204\276vs\351\262\234\350\211\263\350\257\261\344\272\272\347\232\204\350\234\234\350\204\276.jpg" rename to "src/content/docs/general/process/_assets/\346\262\211\351\227\267\347\232\204\350\234\234\350\204\276vs\351\262\234\350\211\263\350\257\261\344\272\272\347\232\204\350\234\234\350\204\276.jpg" diff --git "a/docs/process/_images/\346\265\267\345\270\246.jpg" "b/src/content/docs/general/process/_assets/\346\265\267\345\270\246.jpg" similarity index 100% rename from "docs/process/_images/\346\265\267\345\270\246.jpg" rename to "src/content/docs/general/process/_assets/\346\265\267\345\270\246.jpg" diff --git "a/docs/process/_images/\346\265\267\346\264\213\344\271\213\345\277\203.jpg" "b/src/content/docs/general/process/_assets/\346\265\267\346\264\213\344\271\213\345\277\203.jpg" similarity index 100% rename from "docs/process/_images/\346\265\267\346\264\213\344\271\213\345\277\203.jpg" rename to "src/content/docs/general/process/_assets/\346\265\267\346\264\213\344\271\213\345\277\203.jpg" diff --git "a/docs/process/_images/\346\267\267\345\220\210\345\203\217\347\264\240\347\202\271.jpg" "b/src/content/docs/general/process/_assets/\346\267\267\345\220\210\345\203\217\347\264\240\347\202\271.jpg" similarity index 100% rename from "docs/process/_images/\346\267\267\345\220\210\345\203\217\347\264\240\347\202\271.jpg" rename to "src/content/docs/general/process/_assets/\346\267\267\345\220\210\345\203\217\347\264\240\347\202\271.jpg" diff --git "a/docs/process/_images/\347\211\251\345\223\201\347\272\271\347\220\206.jpg" "b/src/content/docs/general/process/_assets/\347\211\251\345\223\201\347\272\271\347\220\206.jpg" similarity index 100% rename from "docs/process/_images/\347\211\251\345\223\201\347\272\271\347\220\206.jpg" rename to "src/content/docs/general/process/_assets/\347\211\251\345\223\201\347\272\271\347\220\206.jpg" diff --git "a/docs/process/_images/\347\233\264\347\272\277\344\270\216\346\233\262\347\272\277\344\270\255\347\232\204\351\224\257\351\275\277\350\241\250\347\216\260.jpg" "b/src/content/docs/general/process/_assets/\347\233\264\347\272\277\344\270\216\346\233\262\347\272\277\344\270\255\347\232\204\351\224\257\351\275\277\350\241\250\347\216\260.jpg" similarity index 100% rename from "docs/process/_images/\347\233\264\347\272\277\344\270\216\346\233\262\347\272\277\344\270\255\347\232\204\351\224\257\351\275\277\350\241\250\347\216\260.jpg" rename to "src/content/docs/general/process/_assets/\347\233\264\347\272\277\344\270\216\346\233\262\347\272\277\344\270\255\347\232\204\351\224\257\351\275\277\350\241\250\347\216\260.jpg" diff --git "a/docs/process/_images/\347\234\237\344\272\272vsSteve.jpg" "b/src/content/docs/general/process/_assets/\347\234\237\344\272\272vsSteve.jpg" similarity index 100% rename from "docs/process/_images/\347\234\237\344\272\272vsSteve.jpg" rename to "src/content/docs/general/process/_assets/\347\234\237\344\272\272vsSteve.jpg" diff --git "a/docs/process/_images/\347\256\261\345\275\242UV\350\264\264\345\233\276.jpg" "b/src/content/docs/general/process/_assets/\347\256\261\345\275\242UV\350\264\264\345\233\276.jpg" similarity index 100% rename from "docs/process/_images/\347\256\261\345\275\242UV\350\264\264\345\233\276.jpg" rename to "src/content/docs/general/process/_assets/\347\256\261\345\275\242UV\350\264\264\345\233\276.jpg" diff --git "a/docs/process/_images/\350\207\252\345\212\250UV.jpg" "b/src/content/docs/general/process/_assets/\350\207\252\345\212\250UV.jpg" similarity index 100% rename from "docs/process/_images/\350\207\252\345\212\250UV.jpg" rename to "src/content/docs/general/process/_assets/\350\207\252\345\212\250UV.jpg" diff --git "a/docs/process/_images/\350\213\271\346\236\234.jpg" "b/src/content/docs/general/process/_assets/\350\213\271\346\236\234.jpg" similarity index 100% rename from "docs/process/_images/\350\213\271\346\236\234.jpg" rename to "src/content/docs/general/process/_assets/\350\213\271\346\236\234.jpg" diff --git "a/docs/process/_images/\350\257\206\345\210\253\347\272\271\347\220\206.jpg" "b/src/content/docs/general/process/_assets/\350\257\206\345\210\253\347\272\271\347\220\206.jpg" similarity index 100% rename from "docs/process/_images/\350\257\206\345\210\253\347\272\271\347\220\206.jpg" rename to "src/content/docs/general/process/_assets/\350\257\206\345\210\253\347\272\271\347\220\206.jpg" diff --git "a/docs/process/_images/\351\222\273\347\237\263\345\211\221.jpg" "b/src/content/docs/general/process/_assets/\351\222\273\347\237\263\345\211\221.jpg" similarity index 100% rename from "docs/process/_images/\351\222\273\347\237\263\345\211\221.jpg" rename to "src/content/docs/general/process/_assets/\351\222\273\347\237\263\345\211\221.jpg" diff --git a/docs/process/create-art-assets.md b/src/content/docs/general/process/create-art-assets.md similarity index 91% rename from docs/process/create-art-assets.md rename to src/content/docs/general/process/create-art-assets.md index 60847d8ed..b8d16c37c 100644 --- a/docs/process/create-art-assets.md +++ b/src/content/docs/general/process/create-art-assets.md @@ -25,19 +25,19 @@ MC 美术风格的基础是简约,一个物体的整体形状应该由模型 旋转元素 vs 用阶梯状表现 -![](_images/旋转元素vs用阶梯状表现.jpg) +![](_assets/旋转元素vs用阶梯状表现.jpg) 球形或圆柱形的物体通常以单个元素示人,你可以在游戏里找到很多这样的例子:桶、蛋糕、原木、磨石、南瓜、西瓜、可可豆…… 单个方块元素 vs 多元素组合 -![](_images/旋转元素vs用阶梯状表现.jpg) +![](_assets/旋转元素vs用阶梯状表现.jpg) MC 模型会用到平面 (只有 2 个面的元素) 和透明度,大部分时候会两者兼用。一个物体中较小的部分可以用单个大元素来描绘、有意的使其中的某些像素完全透明。在 MC 的美术风格中,这种解决方案比用多个小元素 (比如体素) 要更为可取。 以薄面表现 vs 以体素表现 -![](_images/以薄面表现vs以体素表现.jpg) +![](_assets/以薄面表现vs以体素表现.jpg) ### UV 贴图 @@ -45,19 +45,19 @@ UV 贴图定义了纹理要如何应用到模型,在 MC 中,纹理的一个 保持一致的比例 vs 拉伸变形的比例 -![](_images/保持一致的比例vs拉伸变形的比例.jpg) +![](_assets/保持一致的比例vs拉伸变形的比例.jpg) 在单个面的 UV 贴图中,你都可以使用 Blockbench 提供的 自动 UV 的功能,正确缩放对应面的 UV 贴图。 Blockbench 中提供了自动 UV 功能 -![](_images/自动UV.jpg) +![](_assets/自动UV.jpg) 在箱形 UV 贴图中,元素的贴图会自动展开、默认适用于所有的面。在下图中,你可以看到一个展开的 UV 贴图示例 (蓝色 = 北、黄色 = 南、粉色 = 西、绿色 = 东、白色 = 顶、灰色 = 底)。北方通常代表“前面”,像是角色的脸、柜子的门所在的位置。 箱形 UV 贴图会自动展开一个 box 的 UV 贴图 -![](_images/箱形UV贴图.jpg) +![](_assets/箱形UV贴图.jpg) ### 混素 (Mixels) @@ -66,7 +66,7 @@ Blockbench 中提供了自动 UV 功能 均衡的细节分布 vs 失衡的细节分布 -![](_images/均衡的细节分布vs失衡的细节分布.jpg) +![](_assets/均衡的细节分布vs失衡的细节分布.jpg) ### 尺寸与比例 @@ -76,13 +76,13 @@ MC 中方块的尺寸是 16x16x16 像素,对应 1 立方米,单个像素长 真人 vs Steve -![](_images/真人vsSteve.jpg) +![](_assets/真人vsSteve.jpg) 也类似其他的艺术形式,改变模型中特定部位的比例,也会影响用户解读其所描绘的对象及功能。举例来说,大头配上小身体能让角色看起来更加可爱,夸张的躯干和手臂则能表现出力量感。 教育版的 Agent vs 原版的铁傀儡 -![](_images/教育版的Agentvs原版的铁傀儡.jpg) +![](_assets/教育版的Agentvs原版的铁傀儡.jpg) ## 纹理 @@ -96,7 +96,7 @@ MC 中方块的尺寸是 16x16x16 像素,对应 1 立方米,单个像素长 常见的 HSV 调节面板 -![](_images/常见的HSV调节面板.jpg) +![](_assets/常见的HSV调节面板.jpg) 颜色渐变与调色板 @@ -108,7 +108,7 @@ MC 中方块的尺寸是 16x16x16 像素,对应 1 立方米,单个像素长 沉闷的蜜脾 vs 鲜艳诱人的蜜脾 -![](_images/沉闷的蜜脾vs鲜艳诱人的蜜脾.jpg) +![](_assets/沉闷的蜜脾vs鲜艳诱人的蜜脾.jpg) ## 阴影 @@ -118,19 +118,19 @@ MC 中方块的尺寸是 16x16x16 像素,对应 1 立方米,单个像素长 有抗锯齿处理 vs 无抗锯齿的鸡蛋 -![](_images/有抗锯齿处理vs无抗锯齿的鸡蛋.jpg) +![](_assets/有抗锯齿处理vs无抗锯齿的鸡蛋.jpg) 抖动 (Dithering) 是一种在两个像素堆之间以特定形式交叉像素、从而实现过渡的方法,交错抖动 (Checkered dithering) 是最常见的一种抖动类型。 在堆状物品的纹理中,用抖动交叉混合像素点 -![](_images/混合像素点.jpg) +![](_assets/混合像素点.jpg) 用笔刷可以产生带噪点的纹理,但噪点不会为纹理添加任何信息,在最坏的情况下,没有上下文的噪点会让纹理变得难以识别。 有上下文、可识别的纹理 vs 难以识别的纹理 -![](_images/识别纹理.jpg) +![](_assets/识别纹理.jpg) 阴影有很多可能会出现的错误示范,通常是偶然的。最常见的便是条带 (Banding),一系列由亮到暗排列的像素产物,无论是以直线、斜线还是边角的形式出现。之所以要避免这种情况,是因为它会暴露像素网格、分散观看者的注意力,并且会扭曲物体的形状。 @@ -138,31 +138,31 @@ MC 中方块的尺寸是 16x16x16 像素,对应 1 立方米,单个像素长 原版钻石剑 vs 出现条带的钻石剑 -![](_images/钻石剑.jpg) +![](_assets/钻石剑.jpg) 枕状阴影 (Pillow shading) 是一种类似条带的情况,通常出现于围绕中心绘制阴影、试图覆盖表面的情况。 原版桶 vs 出现枕状阴影的桶 -![](_images/桶.jpg) +![](_assets/桶.jpg) 煎饼式阴影 (Pancake shading) 是将高光、阴影放在两个对立位置的产物,它会使物体失去表面的形状。 原版苹果 vs 出现煎饼式阴影的苹果 -![](_images/苹果.jpg) +![](_assets/苹果.jpg) 不必要的抖动有很多种情况,最基础的是在过渡开始的地方过度使用抖动,以至于覆盖了太多的表面积。其他情况则包括:在不需要抖动的使用抖动、抖动在纹理中的使用不一致 (随机、或只在某些地方)。 原版海带 vs 错用抖动的海带 -![](_images/海带.jpg) +![](_assets/海带.jpg) 纹理中也会出现混素,这只会在美术有意的放大纹理、继续绘制的时候发生。这么做通常是为了添加更多细节,如果 16x16 的分辨率中难以容纳更多细节,就需要重新评估整个纹理、或者看是否不没必要再添加细节。当元素的分辨率冲突时,纹理会变得不那么吸引人,看起来像是被错误的放大或缩小了。 原版海洋之心 vs 出现混素的海洋之心 -![](_images/海洋之心.jpg) +![](_assets/海洋之心.jpg) ### 线条 & 形状 @@ -172,7 +172,7 @@ MC 中方块的尺寸是 16x16x16 像素,对应 1 立方米,单个像素长 直线与曲线中的锯齿表现 -![](_images/直线与曲线中的锯齿表现.jpg) +![](_assets/直线与曲线中的锯齿表现.jpg) ### 物品纹理 @@ -188,7 +188,7 @@ MC 中方块的尺寸是 16x16x16 像素,对应 1 立方米,单个像素长 画出基础形状 > 添加高光阴影 > 补充更多细节 > 凸显表面属性 -![](_images/物品纹理.jpg) +![](_assets/物品纹理.jpg) ### 方块纹理 @@ -200,7 +200,7 @@ MC 中方块的尺寸是 16x16x16 像素,对应 1 立方米,单个像素长 你可以用 3x3 的墙体实时预览方块纹理的平铺效果 -![](_images/方块纹理.jpg) +![](_assets/方块纹理.jpg) ### 实体纹理 @@ -216,4 +216,4 @@ MC 中方块的尺寸是 16x16x16 像素,对应 1 立方米,单个像素长 生成纹理模板 > 画出颜色与高光阴影 > 添加更多细节 > 表现出材质效果 -![](_images/实体纹理.jpg) +![](_assets/实体纹理.jpg) diff --git a/docs/process/database/_images/1.png b/src/content/docs/general/process/database/_assets/1.png similarity index 100% rename from docs/process/database/_images/1.png rename to src/content/docs/general/process/database/_assets/1.png diff --git a/docs/process/database/_images/10.png b/src/content/docs/general/process/database/_assets/10.png similarity index 100% rename from docs/process/database/_images/10.png rename to src/content/docs/general/process/database/_assets/10.png diff --git a/docs/process/database/_images/11.png b/src/content/docs/general/process/database/_assets/11.png similarity index 100% rename from docs/process/database/_images/11.png rename to src/content/docs/general/process/database/_assets/11.png diff --git a/docs/process/database/_images/12.png b/src/content/docs/general/process/database/_assets/12.png similarity index 100% rename from docs/process/database/_images/12.png rename to src/content/docs/general/process/database/_assets/12.png diff --git a/docs/process/database/_images/13.png b/src/content/docs/general/process/database/_assets/13.png similarity index 100% rename from docs/process/database/_images/13.png rename to src/content/docs/general/process/database/_assets/13.png diff --git a/docs/process/database/_images/14.png b/src/content/docs/general/process/database/_assets/14.png similarity index 100% rename from docs/process/database/_images/14.png rename to src/content/docs/general/process/database/_assets/14.png diff --git a/docs/process/database/_images/15.png b/src/content/docs/general/process/database/_assets/15.png similarity index 100% rename from docs/process/database/_images/15.png rename to src/content/docs/general/process/database/_assets/15.png diff --git a/docs/process/database/_images/16.png b/src/content/docs/general/process/database/_assets/16.png similarity index 100% rename from docs/process/database/_images/16.png rename to src/content/docs/general/process/database/_assets/16.png diff --git a/docs/process/database/_images/17.png b/src/content/docs/general/process/database/_assets/17.png similarity index 100% rename from docs/process/database/_images/17.png rename to src/content/docs/general/process/database/_assets/17.png diff --git a/docs/process/database/_images/18.png b/src/content/docs/general/process/database/_assets/18.png similarity index 100% rename from docs/process/database/_images/18.png rename to src/content/docs/general/process/database/_assets/18.png diff --git a/docs/process/database/_images/19.png b/src/content/docs/general/process/database/_assets/19.png similarity index 100% rename from docs/process/database/_images/19.png rename to src/content/docs/general/process/database/_assets/19.png diff --git a/docs/process/database/_images/2.png b/src/content/docs/general/process/database/_assets/2.png similarity index 100% rename from docs/process/database/_images/2.png rename to src/content/docs/general/process/database/_assets/2.png diff --git a/docs/process/database/_images/20.png b/src/content/docs/general/process/database/_assets/20.png similarity index 100% rename from docs/process/database/_images/20.png rename to src/content/docs/general/process/database/_assets/20.png diff --git a/docs/process/database/_images/21.png b/src/content/docs/general/process/database/_assets/21.png similarity index 100% rename from docs/process/database/_images/21.png rename to src/content/docs/general/process/database/_assets/21.png diff --git a/docs/process/database/_images/22.png b/src/content/docs/general/process/database/_assets/22.png similarity index 100% rename from docs/process/database/_images/22.png rename to src/content/docs/general/process/database/_assets/22.png diff --git a/docs/process/database/_images/23.png b/src/content/docs/general/process/database/_assets/23.png similarity index 100% rename from docs/process/database/_images/23.png rename to src/content/docs/general/process/database/_assets/23.png diff --git a/docs/process/database/_images/24.png b/src/content/docs/general/process/database/_assets/24.png similarity index 100% rename from docs/process/database/_images/24.png rename to src/content/docs/general/process/database/_assets/24.png diff --git a/docs/process/database/_images/25.png b/src/content/docs/general/process/database/_assets/25.png similarity index 100% rename from docs/process/database/_images/25.png rename to src/content/docs/general/process/database/_assets/25.png diff --git a/docs/process/database/_images/26.png b/src/content/docs/general/process/database/_assets/26.png similarity index 100% rename from docs/process/database/_images/26.png rename to src/content/docs/general/process/database/_assets/26.png diff --git a/docs/process/database/_images/27.png b/src/content/docs/general/process/database/_assets/27.png similarity index 100% rename from docs/process/database/_images/27.png rename to src/content/docs/general/process/database/_assets/27.png diff --git a/docs/process/database/_images/28.png b/src/content/docs/general/process/database/_assets/28.png similarity index 100% rename from docs/process/database/_images/28.png rename to src/content/docs/general/process/database/_assets/28.png diff --git a/docs/process/database/_images/29.png b/src/content/docs/general/process/database/_assets/29.png similarity index 100% rename from docs/process/database/_images/29.png rename to src/content/docs/general/process/database/_assets/29.png diff --git a/docs/process/database/_images/3.png b/src/content/docs/general/process/database/_assets/3.png similarity index 100% rename from docs/process/database/_images/3.png rename to src/content/docs/general/process/database/_assets/3.png diff --git a/docs/process/database/_images/30.png b/src/content/docs/general/process/database/_assets/30.png similarity index 100% rename from docs/process/database/_images/30.png rename to src/content/docs/general/process/database/_assets/30.png diff --git a/docs/process/database/_images/31.png b/src/content/docs/general/process/database/_assets/31.png similarity index 100% rename from docs/process/database/_images/31.png rename to src/content/docs/general/process/database/_assets/31.png diff --git a/docs/process/database/_images/32.png b/src/content/docs/general/process/database/_assets/32.png similarity index 100% rename from docs/process/database/_images/32.png rename to src/content/docs/general/process/database/_assets/32.png diff --git a/docs/process/database/_images/33.png b/src/content/docs/general/process/database/_assets/33.png similarity index 100% rename from docs/process/database/_images/33.png rename to src/content/docs/general/process/database/_assets/33.png diff --git a/docs/process/database/_images/34.png b/src/content/docs/general/process/database/_assets/34.png similarity index 100% rename from docs/process/database/_images/34.png rename to src/content/docs/general/process/database/_assets/34.png diff --git a/docs/process/database/_images/35.png b/src/content/docs/general/process/database/_assets/35.png similarity index 100% rename from docs/process/database/_images/35.png rename to src/content/docs/general/process/database/_assets/35.png diff --git a/docs/process/database/_images/36.png b/src/content/docs/general/process/database/_assets/36.png similarity index 100% rename from docs/process/database/_images/36.png rename to src/content/docs/general/process/database/_assets/36.png diff --git a/docs/process/database/_images/37.png b/src/content/docs/general/process/database/_assets/37.png similarity index 100% rename from docs/process/database/_images/37.png rename to src/content/docs/general/process/database/_assets/37.png diff --git a/docs/process/database/_images/38.png b/src/content/docs/general/process/database/_assets/38.png similarity index 100% rename from docs/process/database/_images/38.png rename to src/content/docs/general/process/database/_assets/38.png diff --git a/docs/process/database/_images/39.png b/src/content/docs/general/process/database/_assets/39.png similarity index 100% rename from docs/process/database/_images/39.png rename to src/content/docs/general/process/database/_assets/39.png diff --git a/docs/process/database/_images/4.png b/src/content/docs/general/process/database/_assets/4.png similarity index 100% rename from docs/process/database/_images/4.png rename to src/content/docs/general/process/database/_assets/4.png diff --git a/docs/process/database/_images/40.png b/src/content/docs/general/process/database/_assets/40.png similarity index 100% rename from docs/process/database/_images/40.png rename to src/content/docs/general/process/database/_assets/40.png diff --git a/docs/process/database/_images/41.png b/src/content/docs/general/process/database/_assets/41.png similarity index 100% rename from docs/process/database/_images/41.png rename to src/content/docs/general/process/database/_assets/41.png diff --git a/docs/process/database/_images/42.png b/src/content/docs/general/process/database/_assets/42.png similarity index 100% rename from docs/process/database/_images/42.png rename to src/content/docs/general/process/database/_assets/42.png diff --git a/docs/process/database/_images/44.png b/src/content/docs/general/process/database/_assets/44.png similarity index 100% rename from docs/process/database/_images/44.png rename to src/content/docs/general/process/database/_assets/44.png diff --git a/docs/process/database/_images/45.png b/src/content/docs/general/process/database/_assets/45.png similarity index 100% rename from docs/process/database/_images/45.png rename to src/content/docs/general/process/database/_assets/45.png diff --git a/docs/process/database/_images/46.png b/src/content/docs/general/process/database/_assets/46.png similarity index 100% rename from docs/process/database/_images/46.png rename to src/content/docs/general/process/database/_assets/46.png diff --git a/docs/process/database/_images/47.png b/src/content/docs/general/process/database/_assets/47.png similarity index 100% rename from docs/process/database/_images/47.png rename to src/content/docs/general/process/database/_assets/47.png diff --git a/docs/process/database/_images/48.png b/src/content/docs/general/process/database/_assets/48.png similarity index 100% rename from docs/process/database/_images/48.png rename to src/content/docs/general/process/database/_assets/48.png diff --git a/docs/process/database/_images/49.png b/src/content/docs/general/process/database/_assets/49.png similarity index 100% rename from docs/process/database/_images/49.png rename to src/content/docs/general/process/database/_assets/49.png diff --git a/docs/process/database/_images/5.png b/src/content/docs/general/process/database/_assets/5.png similarity index 100% rename from docs/process/database/_images/5.png rename to src/content/docs/general/process/database/_assets/5.png diff --git a/docs/process/database/_images/50.png b/src/content/docs/general/process/database/_assets/50.png similarity index 100% rename from docs/process/database/_images/50.png rename to src/content/docs/general/process/database/_assets/50.png diff --git a/docs/process/database/_images/51.png b/src/content/docs/general/process/database/_assets/51.png similarity index 100% rename from docs/process/database/_images/51.png rename to src/content/docs/general/process/database/_assets/51.png diff --git a/docs/process/database/_images/52.png b/src/content/docs/general/process/database/_assets/52.png similarity index 100% rename from docs/process/database/_images/52.png rename to src/content/docs/general/process/database/_assets/52.png diff --git a/docs/process/database/_images/53.png b/src/content/docs/general/process/database/_assets/53.png similarity index 100% rename from docs/process/database/_images/53.png rename to src/content/docs/general/process/database/_assets/53.png diff --git a/docs/process/database/_images/6.png b/src/content/docs/general/process/database/_assets/6.png similarity index 100% rename from docs/process/database/_images/6.png rename to src/content/docs/general/process/database/_assets/6.png diff --git a/docs/process/database/_images/7.png b/src/content/docs/general/process/database/_assets/7.png similarity index 100% rename from docs/process/database/_images/7.png rename to src/content/docs/general/process/database/_assets/7.png diff --git a/docs/process/database/_images/8.png b/src/content/docs/general/process/database/_assets/8.png similarity index 100% rename from docs/process/database/_images/8.png rename to src/content/docs/general/process/database/_assets/8.png diff --git a/docs/process/database/_images/9.png b/src/content/docs/general/process/database/_assets/9.png similarity index 100% rename from docs/process/database/_images/9.png rename to src/content/docs/general/process/database/_assets/9.png diff --git a/docs/process/database/backup.md b/src/content/docs/general/process/database/backup.md similarity index 84% rename from docs/process/database/backup.md rename to src/content/docs/general/process/database/backup.md index c5c0fa622..a7e989284 100644 --- a/docs/process/database/backup.md +++ b/src/content/docs/general/process/database/backup.md @@ -30,9 +30,9 @@ sidebar_position: 4 注意事项: -- 确保已安装 MySQL 客户端工具。 -- 如果数据库很大,备份过程可能需要一些时间。 -- 建议定期进行备份,并将备份文件存储在安全的位置。 +- 确保已安装 MySQL 客户端工具。 +- 如果数据库很大,备份过程可能需要一些时间。 +- 建议定期进行备份,并将备份文件存储在安全的位置。 要还原备份,可以使用以下命令: @@ -50,15 +50,15 @@ mysql -u root -p mydb < mydb_backup.sql 展开你想要备份的数据库,点击备份,再点击新建备份 -![](_images/35.png) +![](_assets/35.png) 然后点击备份即可开始备份 -![](_images/36.png) +![](_assets/36.png) 中间的命令行提示这一条的时候备份即已完成 -![](_images/37.png) +![](_assets/37.png) **那我可以指定把数据库备份放在那里吗?** @@ -66,21 +66,21 @@ mysql -u root -p mydb < mydb_backup.sql 右键你的连接,点击编辑连接 -![](_images/38.png) +![](_assets/38.png) 点击数据库,修改这里的设置位置即可让 Navicat 将你的数据库备份到你想要到的地方了 -![](_images/39.png) +![](_assets/39.png) **如何使用备份?** 右键你想要使用的备份,然后点击还原备份 -![](_images/40.png) +![](_assets/40.png) 然后在弹出的界面中点击还原,当命令行出现这句话的时候,数据库就还原成功了 -![](_images/41.png) +![](_assets/41.png) **对于数据量非常大的数据库,备份起来很慢,还容易出错,怎么办?** @@ -90,7 +90,7 @@ mysql -u root -p mydb < mydb_backup.sql 我们右键想要转储为 SQL 文件的数据库,点击转储 SQL 文件,点击结构和数据 -![](_images/42.png) +![](_assets/42.png) 之后我们选择一下 SQL 文件的转出位置 @@ -98,11 +98,11 @@ mysql -u root -p mydb < mydb_backup.sql 之后当我们需要使用备份的时候,我们再次右键那个数据库,点击运行 SQL 文件 -![](_images/44.png) +![](_assets/44.png) 然后找到你之前转储的后缀为 `.sql` 的文件,选中并确定后点击开始。当命令行出现这句话的时候,数据库就还原成功了 -![](_images/45.png) +![](_assets/45.png) ### 使用 HeidiSQL 备份 @@ -118,9 +118,9 @@ TODO ### 使用 1Panel 面板备份 -![](_images/51.png) +![](_assets/51.png) -![](_images/52.png) +![](_assets/52.png) #### 进阶教程:新增备份账号 @@ -132,21 +132,21 @@ TODO ### 使用 Navicat 自动备份 -![](_images/31.png) +![](_assets/31.png) 点击自动运行,然后点击新建批处理作业 -![](_images/32.png) +![](_assets/32.png) 之后分别点击:备份 - 需要备份的数据库名字 - backup 数据库名 即可添加备份任务 -![](_images/33.png) +![](_assets/33.png) 完成这些步骤后点击保存,设置完任务名称后点击设置计划任务 -![](_images/34.png) +![](_assets/34.png) 点击触发器,新建触发器,然后自行设置备份任务时间 @@ -154,4 +154,4 @@ TODO ### 使用 1Panel 面板自动备份 -![](_images/53.png) +![](_assets/53.png) diff --git a/docs/process/database/configure.md b/src/content/docs/general/process/database/configure.md similarity index 100% rename from docs/process/database/configure.md rename to src/content/docs/general/process/database/configure.md diff --git a/docs/process/database/database.md b/src/content/docs/general/process/database/database.md similarity index 100% rename from docs/process/database/database.md rename to src/content/docs/general/process/database/database.md diff --git a/docs/process/database/install.md b/src/content/docs/general/process/database/install.md similarity index 78% rename from docs/process/database/install.md rename to src/content/docs/general/process/database/install.md index 2e725c7a7..245514568 100644 --- a/docs/process/database/install.md +++ b/src/content/docs/general/process/database/install.md @@ -35,17 +35,17 @@ sidebar_position: 1
从官网下载和安装 -![](_images/1.png) +![](_assets/1.png) -![](_images/2.png) +![](_assets/2.png) -![](_images/3.png) +![](_assets/3.png) -![](_images/4.png) +![](_assets/4.png) -![](_images/5.png) +![](_assets/5.png) -![](_images/6.png) +![](_assets/6.png)
@@ -54,9 +54,9 @@ sidebar_position: 1 MySQL5 版本太低了,很多插件需要更高版本的,装 MySQL8 就够用了 -![](_images/7.png) +![](_assets/7.png) -![](_images/8.png) +![](_assets/8.png)
@@ -65,7 +65,7 @@ MySQL5 版本太低了,很多插件需要更高版本的,装 MySQL8 就够 安装好后在首页启动 MySQL -![](_images/9.png) +![](_assets/9.png) 更改 root 账户的密码 @@ -79,9 +79,9 @@ MySQL5 版本太低了,很多插件需要更高版本的,装 MySQL8 就够 ::: -![](_images/10.png) +![](_assets/10.png) -![](_images/11.png) +![](_assets/11.png) 然后你就可以建数据库了,建好之后把你填这里的信息填到插件的配置文件里 @@ -92,42 +92,42 @@ MySQL5 版本太低了,很多插件需要更高版本的,装 MySQL8 就够
从官网下载和安装 -![](_images/12.png) +![](_assets/12.png) -![](_images/13.png) +![](_assets/13.png) -![](_images/14.png) +![](_assets/14.png) -![](_images/15.png) +![](_assets/15.png) -![](_images/16.png) +![](_assets/16.png) -![](_images/17.png) +![](_assets/17.png) -![](_images/18.png) +![](_assets/18.png) -![](_images/19.png) +![](_assets/19.png) 宝塔面板是必须要绑定账号的 按照提示去做 -![](_images/20.png) +![](_assets/20.png) 全 x 掉,一个都不需要装 -![](_images/21.png) +![](_assets/21.png)
安装 MySQL -![](_images/22.png) +![](_assets/22.png) -![](_images/23.png) +![](_assets/23.png) -![](_images/24.png) +![](_assets/24.png)
@@ -142,19 +142,19 @@ MySQL5 版本太低了,很多插件需要更高版本的,装 MySQL8 就够
安装,配置面板 -![](_images/46.png) +![](_assets/46.png) -![](_images/47.png) +![](_assets/47.png) -![](_images/48.png) +![](_assets/48.png) -![](_images/49.png) +![](_assets/49.png)
安装 MySQL -![](_images/50.png) +![](_assets/50.png)
diff --git a/docs/process/database/uninstall.md b/src/content/docs/general/process/database/uninstall.md similarity index 100% rename from docs/process/database/uninstall.md rename to src/content/docs/general/process/database/uninstall.md diff --git a/docs/process/database/use.md b/src/content/docs/general/process/database/use.md similarity index 60% rename from docs/process/database/use.md rename to src/content/docs/general/process/database/use.md index 2865019c2..857852784 100644 --- a/docs/process/database/use.md +++ b/src/content/docs/general/process/database/use.md @@ -32,15 +32,15 @@ sidebar_position: 2 #### 优势 -- 简单易用,并且功能齐全 +- 简单易用,并且功能齐全 -- 界面美观 +- 界面美观 -- Premium 版本支持多种数据库的管理,如 MySQL、MangoDB 等 +- Premium 版本支持多种数据库的管理,如 MySQL、MangoDB 等 #### 劣势 -- 收费,而且不便宜 +- 收费,而且不便宜 #### 教程 @@ -49,39 +49,39 @@ sidebar_position: 2 点击连接,并选择你想要连接的数据库的类型 -![](_images/25.png) +![](_assets/25.png) 然后分别填写: -- 连接名:你想让他在 Navicat 中显示的名字,方便你辨认 +- 连接名:你想让他在 Navicat 中显示的名字,方便你辨认 -- 主机:填写主机 IP 地址,如果数据库就在本地,那就填写 `localhost` +- 主机:填写主机 IP 地址,如果数据库就在本地,那就填写 `localhost` -- 端口:数据库使用的远程端口,默认是 `3306` +- 端口:数据库使用的远程端口,默认是 `3306` -- 用户名:使用某个用户登录数据库,默认是 `root` +- 用户名:使用某个用户登录数据库,默认是 `root` -- 密码:即登录数据库的密码,你在安装数据库的时候就已经设置过了,自己要记好! +- 密码:即登录数据库的密码,你在安装数据库的时候就已经设置过了,自己要记好! -![](_images/26.png) +![](_assets/26.png) 填写完毕后点击确定即可 顺利的话,点开数据库后会显示一个绿色图标的海豚,并列出内部的数据库 -![](_images/27.png) +![](_assets/27.png) 否则他会报错 一般有这几种情况导致连接不上: -- 数据库主机、端口填写错误 +- 数据库主机、端口填写错误 -- 用户名、密码不正确 +- 用户名、密码不正确 -- 数据库未开启远程连接,而且数据库不在本地 +- 数据库未开启远程连接,而且数据库不在本地 -- 数据库没开或者炸了 +- 数据库没开或者炸了 请根据具体报错具体分析 @@ -92,17 +92,17 @@ sidebar_position: 2 右键数据库图标,点击新建数据库 -![](_images/28.png) +![](_assets/28.png) 然后分别填写: -- 数据库名:你自己想一个,之后要给插件认的,同时也方便你辨别 +- 数据库名:你自己想一个,之后要给插件认的,同时也方便你辨别 -- 字符集:请选择 `UTF8mb4` +- 字符集:请选择 `UTF8mb4` -- 排列规则:可以选择 `utf8mb4_general_ci` 或者 `utf8mb4_bin` +- 排列规则:可以选择 `utf8mb4_general_ci` 或者 `utf8mb4_bin` -![](_images/29.png) +![](_assets/29.png) 然后点击确定即可创建数据库 @@ -122,15 +122,15 @@ GitHub https://github.com/HeidiSQL/HeidiSQL #### 优势 -- 简单好用,基本功能齐全 +- 简单好用,基本功能齐全 -- 界面简洁 +- 界面简洁 -- 支持多种数据库的管理,如 MySQL、MangoDB 等 +- 支持多种数据库的管理,如 MySQL、MangoDB 等 #### 劣势 -- 没有? +- 没有? #### 教程 @@ -189,24 +189,24 @@ TODO 这是一般插件的数据库配置项 -![](_images/30.png) +![](_assets/30.png) 我们来一一介绍他们的用途 -- enabled: 是否启用 MySQL 存储数据?如果是请填 `true`,否则填 `false`,默认是 `false`,而且有些插件是直接让你填写数据库类型的,默认是 SQLite。 - 对于这种配置文件,请把 SQLite 改成 MySQL 或者其他你使用的数据库名。 +- enabled: 是否启用 MySQL 存储数据?如果是请填 `true`,否则填 `false`,默认是 `false`,而且有些插件是直接让你填写数据库类型的,默认是 SQLite。 + 对于这种配置文件,请把 SQLite 改成 MySQL 或者其他你使用的数据库名。 -- host: 也就是主机地址,如果数据库在本地,请填 `localhost` +- host: 也就是主机地址,如果数据库在本地,请填 `localhost` -- port: 数据库端口,默认是 `3306` +- port: 数据库端口,默认是 `3306` -- database: 数据库名,也就是你在数据库下创建的数据库你为他设置的名字 +- database: 数据库名,也就是你在数据库下创建的数据库你为他设置的名字 -- table-prefix: 数据库表的前缀,可以不管他 +- table-prefix: 数据库表的前缀,可以不管他 -- username: 使用哪个用户来连接数据库?切记一般别用 root 否则连接数满的时候有你好受的 +- username: 使用哪个用户来连接数据库?切记一般别用 root 否则连接数满的时候有你好受的 -- password: 也就是上面那个 username 里面填的那个用户的登录密码 +- password: 也就是上面那个 username 里面填的那个用户的登录密码 后面的就不做解释了,一般用不着 @@ -216,10 +216,10 @@ TODO 一般有这几种情况导致连接不上: -- 数据库主机、端口填写错误 +- 数据库主机、端口填写错误 -- 用户名、密码不正确 +- 用户名、密码不正确 -- 数据库连接数满了 +- 数据库连接数满了 请结合报错分析原因 diff --git a/docs/process/deploy/_images/mcsm.png b/src/content/docs/general/process/deploy/_assets/mcsm.png similarity index 100% rename from docs/process/deploy/_images/mcsm.png rename to src/content/docs/general/process/deploy/_assets/mcsm.png diff --git "a/docs/process/deploy/_images/\347\277\274\351\276\231\351\235\242\346\235\277.png" "b/src/content/docs/general/process/deploy/_assets/\347\277\274\351\276\231\351\235\242\346\235\277.png" similarity index 100% rename from "docs/process/deploy/_images/\347\277\274\351\276\231\351\235\242\346\235\277.png" rename to "src/content/docs/general/process/deploy/_assets/\347\277\274\351\276\231\351\235\242\346\235\277.png" diff --git "a/docs/process/deploy/_images/\350\264\255\347\275\256\346\234\215\345\212\241\345\231\250/cpu.jpg" "b/src/content/docs/general/process/deploy/_assets/\350\264\255\347\275\256\346\234\215\345\212\241\345\231\250/cpu.jpg" similarity index 100% rename from "docs/process/deploy/_images/\350\264\255\347\275\256\346\234\215\345\212\241\345\231\250/cpu.jpg" rename to "src/content/docs/general/process/deploy/_assets/\350\264\255\347\275\256\346\234\215\345\212\241\345\231\250/cpu.jpg" diff --git "a/docs/process/deploy/_images/\350\277\236\346\216\245\346\234\215\345\212\241\345\231\250/1.png" "b/src/content/docs/general/process/deploy/_assets/\350\277\236\346\216\245\346\234\215\345\212\241\345\231\250/1.png" similarity index 100% rename from "docs/process/deploy/_images/\350\277\236\346\216\245\346\234\215\345\212\241\345\231\250/1.png" rename to "src/content/docs/general/process/deploy/_assets/\350\277\236\346\216\245\346\234\215\345\212\241\345\231\250/1.png" diff --git "a/docs/process/deploy/_images/\350\277\236\346\216\245\346\234\215\345\212\241\345\231\250/2.png" "b/src/content/docs/general/process/deploy/_assets/\350\277\236\346\216\245\346\234\215\345\212\241\345\231\250/2.png" similarity index 100% rename from "docs/process/deploy/_images/\350\277\236\346\216\245\346\234\215\345\212\241\345\231\250/2.png" rename to "src/content/docs/general/process/deploy/_assets/\350\277\236\346\216\245\346\234\215\345\212\241\345\231\250/2.png" diff --git "a/docs/process/deploy/_images/\350\277\236\346\216\245\346\234\215\345\212\241\345\231\250/3.png" "b/src/content/docs/general/process/deploy/_assets/\350\277\236\346\216\245\346\234\215\345\212\241\345\231\250/3.png" similarity index 100% rename from "docs/process/deploy/_images/\350\277\236\346\216\245\346\234\215\345\212\241\345\231\250/3.png" rename to "src/content/docs/general/process/deploy/_assets/\350\277\236\346\216\245\346\234\215\345\212\241\345\231\250/3.png" diff --git a/docs/process/deploy/apply-for-public-ip-address.md b/src/content/docs/general/process/deploy/apply-for-public-ip-address.md similarity index 100% rename from docs/process/deploy/apply-for-public-ip-address.md rename to src/content/docs/general/process/deploy/apply-for-public-ip-address.md diff --git a/docs/process/deploy/connect-to-the-cloud.md b/src/content/docs/general/process/deploy/connect-to-the-cloud.md similarity index 97% rename from docs/process/deploy/connect-to-the-cloud.md rename to src/content/docs/general/process/deploy/connect-to-the-cloud.md index d9c276c85..31a4988da 100644 --- a/docs/process/deploy/connect-to-the-cloud.md +++ b/src/content/docs/general/process/deploy/connect-to-the-cloud.md @@ -20,7 +20,7 @@ sidebar_position: 4 按下 `Win + R` 键 -![](_images/连接服务器/1.png) +![](_assets/连接服务器/1.png) 在弹出的窗口中输入 `mstsc` @@ -36,9 +36,9 @@ sidebar_position: 4 或者,你也可以 `Ctrl + C` 和 `Ctrl + V` 来传文件 -![](_images/连接服务器/2.png) +![](_assets/连接服务器/2.png) -![](_images/连接服务器/3.png) +![](_assets/连接服务器/3.png) ### macOS 和手机 diff --git a/docs/process/deploy/deploy.md b/src/content/docs/general/process/deploy/deploy.md similarity index 100% rename from docs/process/deploy/deploy.md rename to src/content/docs/general/process/deploy/deploy.md diff --git a/docs/process/deploy/intranet-penetration.md b/src/content/docs/general/process/deploy/intranet-penetration.md similarity index 100% rename from docs/process/deploy/intranet-penetration.md rename to src/content/docs/general/process/deploy/intranet-penetration.md diff --git a/docs/process/deploy/optional-methods.md b/src/content/docs/general/process/deploy/optional-methods.md similarity index 99% rename from docs/process/deploy/optional-methods.md rename to src/content/docs/general/process/deploy/optional-methods.md index 889e97197..5098123a7 100644 --- a/docs/process/deploy/optional-methods.md +++ b/src/content/docs/general/process/deploy/optional-methods.md @@ -22,11 +22,11 @@ sidebar_position: 3 MCSManager: -![](_images/mcsm.png) +![](_assets/mcsm.png) 翼龙: -![](_images/翼龙面板.png) +![](_assets/翼龙面板.png)
diff --git a/docs/process/deploy/purchase-server.md b/src/content/docs/general/process/deploy/purchase-server.md similarity index 99% rename from docs/process/deploy/purchase-server.md rename to src/content/docs/general/process/deploy/purchase-server.md index d4053e607..496640578 100644 --- a/docs/process/deploy/purchase-server.md +++ b/src/content/docs/general/process/deploy/purchase-server.md @@ -39,7 +39,7 @@ sidebar_position: 2 #### CPU 单核性能 -![](_images/购置服务器/cpu.jpg) +![](_assets/购置服务器/cpu.jpg) 一般的,当你搭建是纯净的、不含模组的服务器时,对单核性能的要求较低;当你搭建是含模组的服务器时,对单核性能的要求较高。 diff --git a/docs/process/maintenance/_images/angryopenfrp.jpg b/src/content/docs/general/process/maintenance/_assets/angryopenfrp.jpg similarity index 100% rename from docs/process/maintenance/_images/angryopenfrp.jpg rename to src/content/docs/general/process/maintenance/_assets/angryopenfrp.jpg diff --git a/docs/process/maintenance/how-to-defend-against-cyber-attacks.md b/src/content/docs/general/process/maintenance/how-to-defend-against-cyber-attacks.md similarity index 78% rename from docs/process/maintenance/how-to-defend-against-cyber-attacks.md rename to src/content/docs/general/process/maintenance/how-to-defend-against-cyber-attacks.md index 4efbc1d51..37d0f2590 100644 --- a/docs/process/maintenance/how-to-defend-against-cyber-attacks.md +++ b/src/content/docs/general/process/maintenance/how-to-defend-against-cyber-attacks.md @@ -120,28 +120,28 @@ Minecraft Java 服务端采用 TCP 作为通信协议,所以你可能会遭受
对于一个我的世界服务器来说,至少有以下类型的软件会发布容易被黑客利用的服务: -- 位于代理服务端后的子服: - 如果子服并未禁止玩家绕过代理服务端连接子服、你的服务器配置了登录插件、你只通过登录服验证玩家身份而子服没有登录插件, - 那么玩家就可以直接从公网连接子服并开始游戏而无需登录。由于没有登录步骤验证身份,玩家甚至可以直接登录管理员帐号,从而炸服。 - 而一旦开启了防火墙阻止公网连接子服,玩家就只能通过代理端连接登录服完成登录步骤,从而避免了这一威胁。 -- 部分插件或软件的远程管理功能: - 有一些软件或服务器插件会默认开启远程管理功能,允许管理员通过网页、SSH 等方式管理它,或者你或其他管理员手动开启了它来方便从服务器后台管理服务器。 - 然而在没有防火墙的情况下,黑客也可以从公网连接这些远程管理服务。如果它们的密码强度不高,甚至是默认密码或无身份认证,黑客就可以通过操控这些软件来攻击服务器 -- MySQL 等通过网络连接的数据库: - 如果你的 MySQL 等数据库不需要来自其他服务器的连接(也就是说你的数据库和服务端都在同一服务器上),而你又没有为 MySQL 设置高安全系数的身份验证, - 在没有防火墙的情况下,黑客就可以通过公网直接连接你的 MySQL,窃取或篡改你的重要数据。 -- OneBot 服务等对外提供 API 的软件: - 如果你的 OneBot 服务等 API 服务不需要来自其他服务器的连接(也就是说你的机器人和框架都在同一服务器上),而你又没有为这些 服务 设置高安全系数的身份验证, - 在没有防火墙的情况下,黑客就可以通过公网多直接连接这些 API 来控制这些软件,比如操纵你的机器人发布不实信息或导致其封号 +- 位于代理服务端后的子服: + 如果子服并未禁止玩家绕过代理服务端连接子服、你的服务器配置了登录插件、你只通过登录服验证玩家身份而子服没有登录插件, + 那么玩家就可以直接从公网连接子服并开始游戏而无需登录。由于没有登录步骤验证身份,玩家甚至可以直接登录管理员帐号,从而炸服。 + 而一旦开启了防火墙阻止公网连接子服,玩家就只能通过代理端连接登录服完成登录步骤,从而避免了这一威胁。 +- 部分插件或软件的远程管理功能: + 有一些软件或服务器插件会默认开启远程管理功能,允许管理员通过网页、SSH 等方式管理它,或者你或其他管理员手动开启了它来方便从服务器后台管理服务器。 + 然而在没有防火墙的情况下,黑客也可以从公网连接这些远程管理服务。如果它们的密码强度不高,甚至是默认密码或无身份认证,黑客就可以通过操控这些软件来攻击服务器 +- MySQL 等通过网络连接的数据库: + 如果你的 MySQL 等数据库不需要来自其他服务器的连接(也就是说你的数据库和服务端都在同一服务器上),而你又没有为 MySQL 设置高安全系数的身份验证, + 在没有防火墙的情况下,黑客就可以通过公网直接连接你的 MySQL,窃取或篡改你的重要数据。 +- OneBot 服务等对外提供 API 的软件: + 如果你的 OneBot 服务等 API 服务不需要来自其他服务器的连接(也就是说你的机器人和框架都在同一服务器上),而你又没有为这些 服务 设置高安全系数的身份验证, + 在没有防火墙的情况下,黑客就可以通过公网多直接连接这些 API 来控制这些软件,比如操纵你的机器人发布不实信息或导致其封号
#### 如何开启 -- Windows:- 打开 Windows Defender 防火墙(`Win + R` 输入 `Firewall.cpl`)- 点击侧边栏中的 启用或关闭 Windows Defender 防火墙 - 把专用网络设置和公用网络设置都调成“启用 Windows Defender 防火墙”, - 去掉“阻止所有传入连接,包括位于允许列表中的应用”的勾, - 勾上如果“Windows Defender 防火墙阻止新应用时通知我”。- 点击下面的确定 -- Linux:执行命令 `service iptables start` 开启防火墙 +- Windows:- 打开 Windows Defender 防火墙(`Win + R` 输入 `Firewall.cpl`)- 点击侧边栏中的 启用或关闭 Windows Defender 防火墙 - 把专用网络设置和公用网络设置都调成“启用 Windows Defender 防火墙”, + 去掉“阻止所有传入连接,包括位于允许列表中的应用”的勾, + 勾上如果“Windows Defender 防火墙阻止新应用时通知我”。- 点击下面的确定 +- Linux:执行命令 `service iptables start` 开启防火墙 :::tip @@ -151,8 +151,8 @@ Linux 可以通过 `service iptables status` 命令查看 Linux 系统的防火 #### 注意事项 -- **开启防火墙后,请检查所有服务器公网服务的放行情况。很多在你关闭防火墙期间新部署的服务都可能没有被防火墙放行。** -- 如果你的服务器不禁 ping,记得放行 ICMP 回显请求相关的服务。 +- **开启防火墙后,请检查所有服务器公网服务的放行情况。很多在你关闭防火墙期间新部署的服务都可能没有被防火墙放行。** +- 如果你的服务器不禁 ping,记得放行 ICMP 回显请求相关的服务。 ### 使用 Velocity / BungeeCord @@ -218,25 +218,25 @@ NullCordX 是一个较好的选择。 对于容易被爆破的服务,如 MCSM、机器人框架、背包同步软件服务端、远程控制等服务,设置强密码,最好 20 位以上,只要软件允许就要包含: -- 大小写英文 -- 数字 -- 特殊符号,如 `!@#$*_.` +- 大小写英文 +- 数字 +- 特殊符号,如 `!@#$*_.` 例如不要使用以下密码: -- `123456` (又短又简单,黑客的最爱) -- `114514` (极常见词汇,114514 是互联网上常见的梗) -- `#sI3wA@!` (虽然复杂但是由于较短仍然容易被暴力破解) -- `skyworkserver` (服务器名) -- `yizhan` (人名、物品名、地名等) -- `111111111111111111111111111` (虽然很长,但是不复杂,仍然容易被破解) -- `minimouse4820030611` (包含生日等个人信息) +- `123456` (又短又简单,黑客的最爱) +- `114514` (极常见词汇,114514 是互联网上常见的梗) +- `#sI3wA@!` (虽然复杂但是由于较短仍然容易被暴力破解) +- `skyworkserver` (服务器名) +- `yizhan` (人名、物品名、地名等) +- `111111111111111111111111111` (虽然很长,但是不复杂,仍然容易被破解) +- `minimouse4820030611` (包含生日等个人信息) 并尽可能不使用以下密码: -- `yizhan114514` (由常见词汇组成) -- `shuodedaoli` (汉语拼音而且对应的汉语为常见词汇,本密码对应的汉语词汇为常见的梗“说的道理”) -- `#tianjifuwuqi` (除了寥寥几位强密码以外其他都是弱密码) +- `yizhan114514` (由常见词汇组成) +- `shuodedaoli` (汉语拼音而且对应的汉语为常见词汇,本密码对应的汉语词汇为常见的梗“说的道理”) +- `#tianjifuwuqi` (除了寥寥几位强密码以外其他都是弱密码) #### 在操作系统中安装防御软件 @@ -280,17 +280,17 @@ Cloudflare 的内网穿透 Tunnel,当高防也是疯了 优点: -- 免费,无需注册 -- 296 Tbps 高防,298 位置 -- 不限流 -- 支持 TCP,UDP,RDP,SSH,HTTP -- SSH 提供 WebSSH,还可以通过 Access 管理 -- 自带内网穿透 +- 免费,无需注册 +- 296 Tbps 高防,298 位置 +- 不限流 +- 支持 TCP,UDP,RDP,SSH,HTTP +- SSH 提供 WebSSH,还可以通过 Access 管理 +- 自带内网穿透 缺点: -- 延迟较大 (不可以优选) -- 客户端需安装 mod 才能进入 (仅限 TCP,UDP) +- 延迟较大 (不可以优选) +- 客户端需安装 mod 才能进入 (仅限 TCP,UDP) @@ -299,15 +299,15 @@ Cloudflare 用于 TCP,UDP 协议的防御,可惜价格太贵了 (1 $/GB 抢 优点: -- 296 Tbps 高防,298 位置 -- 支持 TCP,UDP,RDP,SSH,HTTP -- 提供 1 个 Anycast 独立 IPv4 -- SSH 提供 WebSSH,还可以通过 Access 管理 +- 296 Tbps 高防,298 位置 +- 支持 TCP,UDP,RDP,SSH,HTTP +- 提供 1 个 Anycast 独立 IPv4 +- SSH 提供 WebSSH,还可以通过 Access 管理 缺点: -- 价格太贵了 (CF Pro + 流量计费)(CF Partner 计划早没了) -- 延迟较大 (不可以优选) +- 价格太贵了 (CF Pro + 流量计费)(CF Partner 计划早没了) +- 延迟较大 (不可以优选) 价格多贵? @@ -324,17 +324,17 @@ Minekube 的免费保护,这个组织还有另一个有名作品 Gate 优点: -- 免费,无需注册 -- 自带高防 -- 不限流 -- 会提供一个免费域名和 1 个 Anycast 独立 IPv4 -- 有 Dashboard,可以进行网络分流,管理,黑名单等操作 -- 自带内网穿透 +- 免费,无需注册 +- 自带高防 +- 不限流 +- 会提供一个免费域名和 1 个 Anycast 独立 IPv4 +- 有 Dashboard,可以进行网络分流,管理,黑名单等操作 +- 自带内网穿透 缺点: -- 延迟非常大 -- 没 Geyser 支持 +- 延迟非常大 +- 没 Geyser 支持 [官网](https://connect.minekube.com/) @@ -345,26 +345,26 @@ TCPShield 专业的 Minecraft 网络保护 优点: -- 提供免费套餐 (1 TB 免费流量) -- **L7 层保护 (会校验流量合法性)** -- 提供面板管理流量 -- 价格便宜 +- 提供免费套餐 (1 TB 免费流量) +- **L7 层保护 (会校验流量合法性)** +- 提供面板管理流量 +- 价格便宜 缺点: -- 延迟较大 (启动 Asia Network 后会好很多) +- 延迟较大 (启动 Asia Network 后会好很多) Asia Network (亚洲网络): -- 提供新加坡和东京网络 -- 价格:0.01 $/GB (与其他流量分开计费,没有免费流量)(约合人民币 7 分) +- 提供新加坡和东京网络 +- 价格:0.01 $/GB (与其他流量分开计费,没有免费流量)(约合人民币 7 分) Geyser 支持需要 Premium 计划 (100 $/月,堪比抢钱) Pro 计划 (25$ 每月)(约合人民币 178 元): -- 5 TB 免费流量 -- IP 防火墙,可过滤流量 +- 5 TB 免费流量 +- IP 防火墙,可过滤流量 [官网](https://tcpshield.com/) @@ -375,18 +375,18 @@ Pro 计划 (25$ 每月)(约合人民币 178 元): 优点: -- 不限流量 -- 支持任意 TCP,UDP 代理 -- 提供亚洲节点 (一般来说会被分配到日本节点) -- 提供免费域名 -- 自带内网穿透 -- 提供防火墙 +- 不限流量 +- 支持任意 TCP,UDP 代理 +- 提供亚洲节点 (一般来说会被分配到日本节点) +- 提供免费域名 +- 自带内网穿透 +- 提供防火墙 缺点: -- 没有分析面板 -- 绑定自己的域名需要 Premium -- 没有 L7 过滤 +- 没有分析面板 +- 绑定自己的域名需要 Premium +- 没有 L7 过滤 Premium 价格:**3 美元**/月 (约合 20 人民币)(非常便宜!) @@ -399,17 +399,17 @@ Premium 价格:**3 美元**/月 (约合 20 人民币)(非常便宜!) VIP 套餐 (25 $ 每月,约合人民币 177 元): -- 支持 Geyser -- L7 过滤 +- 支持 Geyser +- L7 过滤 流量状况: -- 无限流量:仅提供纽约,法兰克福节点 -- Cloudflare Spectrum 流量:流量数未知,但不是无限 +- 无限流量:仅提供纽约,法兰克福节点 +- Cloudflare Spectrum 流量:流量数未知,但不是无限 Enterprise 套餐 (250 $ 每月,约合人民币 1778 元): -- Cloudflare Spectrum 无限流量 +- Cloudflare Spectrum 无限流量 :::tip @@ -426,23 +426,24 @@ Cloudflare Spectrum 目前是没中国节点的 优点: -- 支持 TCP,UDP 协议(适合 Minecraft) -- 延迟较低,有国内节点 -- 高可用性和稳定性 -- 提供全球网络基础设施 -- 支持多区域部署和智能路由 +- 支持 TCP,UDP 协议(适合 Minecraft) +- 延迟较低,有国内节点 +- 高可用性和稳定性 +- 提供全球网络基础设施 +- 支持多区域部署和智能路由 缺点: -- 价格较高(但比 Cloudflare Spectrum 便宜) -- 需要阿里云账号和实名认证 -- 配置相对复杂 +- 价格较高(但比 Cloudflare Spectrum 便宜) +- 需要阿里云账号和实名认证 +- 配置相对复杂 计费方式: 阿里云 GA 提供两种计费模式: 1. **按量付费**: + - 实例费:根据实例规格计费 - CU 费:按实际使用的计算单元计费 - 流量费:根据实际使用流量计费 @@ -483,7 +484,7 @@ Cloudflare Spectrum 目前是没中国节点的 因为在开服圈子的任何一处这种方法都是一种十分自私、对同行极不负责任的行为。 你的行为可能会导致相应的内网穿透运营商突然出现大量额外支出,并影响大量使用同一节点的人正常使用服务 (如果节点被打死了,那么攻击者就是在攻击你的过程中误伤了大量其他无辜用户)。不要因为你图省事的想法牵连无辜的陌生人。 - + ::: @@ -519,10 +520,10 @@ IPv4 地址的数量是极其有限的,不管是租赁还是托管,服务商 使用这个方法,需要你能找到满足以下特点的云服务器来作为节点,条件可能较为苛刻,没有高防服务器那么烧钱但价格也不太便宜。 -- 在中国大陆境内 (尤为重要,除非你想玩家延迟 `200ms+`) -- 稳定 -- 相对便宜 -- 带宽相对较高 +- 在中国大陆境内 (尤为重要,除非你想玩家延迟 `200ms+`) +- 稳定 +- 相对便宜 +- 带宽相对较高 可用于制作反向代理的软件有 `hopper-rs`、`nginx`、`haproxy` 等等,配置正确的情况下,反向代理会进行 IP 地址转发,不会导致服务器显示的玩家 IP 全部为同一个 IP 地址。 diff --git a/docs/process/maintenance/maintenance.md b/src/content/docs/general/process/maintenance/maintenance.md similarity index 100% rename from docs/process/maintenance/maintenance.md rename to src/content/docs/general/process/maintenance/maintenance.md diff --git a/docs/process/maintenance/plugin-troubleshooting.md b/src/content/docs/general/process/maintenance/plugin-troubleshooting.md similarity index 100% rename from docs/process/maintenance/plugin-troubleshooting.md rename to src/content/docs/general/process/maintenance/plugin-troubleshooting.md diff --git a/docs/process/map/_images/356845062-1de0bbf4-7d26-4beb-b010-2f4d88efdba4.png b/src/content/docs/general/process/map/_assets/356845062-1de0bbf4-7d26-4beb-b010-2f4d88efdba4.png similarity index 100% rename from docs/process/map/_images/356845062-1de0bbf4-7d26-4beb-b010-2f4d88efdba4.png rename to src/content/docs/general/process/map/_assets/356845062-1de0bbf4-7d26-4beb-b010-2f4d88efdba4.png diff --git a/docs/process/map/_images/356845134-18be416f-daf5-4ae9-8560-8412fda83dc6.png b/src/content/docs/general/process/map/_assets/356845134-18be416f-daf5-4ae9-8560-8412fda83dc6.png similarity index 100% rename from docs/process/map/_images/356845134-18be416f-daf5-4ae9-8560-8412fda83dc6.png rename to src/content/docs/general/process/map/_assets/356845134-18be416f-daf5-4ae9-8560-8412fda83dc6.png diff --git a/docs/process/map/_images/54ef42d10ca2ce57484ef606117640460249e48e.png b/src/content/docs/general/process/map/_assets/54ef42d10ca2ce57484ef606117640460249e48e.png similarity index 100% rename from docs/process/map/_images/54ef42d10ca2ce57484ef606117640460249e48e.png rename to src/content/docs/general/process/map/_assets/54ef42d10ca2ce57484ef606117640460249e48e.png diff --git a/docs/process/map/_images/825a21073ee817018bffff06e55d12da55b2a5b0.png b/src/content/docs/general/process/map/_assets/825a21073ee817018bffff06e55d12da55b2a5b0.png similarity index 100% rename from docs/process/map/_images/825a21073ee817018bffff06e55d12da55b2a5b0.png rename to src/content/docs/general/process/map/_assets/825a21073ee817018bffff06e55d12da55b2a5b0.png diff --git a/docs/process/map/_images/Grettzzz-1.JPG b/src/content/docs/general/process/map/_assets/Grettzzz-1.JPG similarity index 100% rename from docs/process/map/_images/Grettzzz-1.JPG rename to src/content/docs/general/process/map/_assets/Grettzzz-1.JPG diff --git a/docs/process/map/_images/Grettzzz-2.png b/src/content/docs/general/process/map/_assets/Grettzzz-2.png similarity index 100% rename from docs/process/map/_images/Grettzzz-2.png rename to src/content/docs/general/process/map/_assets/Grettzzz-2.png diff --git a/docs/process/map/_images/Grettzzz-3.png b/src/content/docs/general/process/map/_assets/Grettzzz-3.png similarity index 100% rename from docs/process/map/_images/Grettzzz-3.png rename to src/content/docs/general/process/map/_assets/Grettzzz-3.png diff --git a/docs/process/map/_images/bb.png b/src/content/docs/general/process/map/_assets/bb.png similarity index 100% rename from docs/process/map/_images/bb.png rename to src/content/docs/general/process/map/_assets/bb.png diff --git a/docs/process/map/_images/bluemap-demo.png b/src/content/docs/general/process/map/_assets/bluemap-demo.png similarity index 100% rename from docs/process/map/_images/bluemap-demo.png rename to src/content/docs/general/process/map/_assets/bluemap-demo.png diff --git a/docs/process/map/_images/bs.jpg b/src/content/docs/general/process/map/_assets/bs.jpg similarity index 100% rename from docs/process/map/_images/bs.jpg rename to src/content/docs/general/process/map/_assets/bs.jpg diff --git a/docs/process/map/_images/bs2.jpg b/src/content/docs/general/process/map/_assets/bs2.jpg similarity index 100% rename from docs/process/map/_images/bs2.jpg rename to src/content/docs/general/process/map/_assets/bs2.jpg diff --git a/docs/process/map/_images/dynmap-demo.png b/src/content/docs/general/process/map/_assets/dynmap-demo.png similarity index 100% rename from docs/process/map/_images/dynmap-demo.png rename to src/content/docs/general/process/map/_assets/dynmap-demo.png diff --git a/docs/process/map/_images/erra.jpg b/src/content/docs/general/process/map/_assets/erra.jpg similarity index 100% rename from docs/process/map/_images/erra.jpg rename to src/content/docs/general/process/map/_assets/erra.jpg diff --git a/docs/process/map/_images/iris.png b/src/content/docs/general/process/map/_assets/iris.png similarity index 100% rename from docs/process/map/_images/iris.png rename to src/content/docs/general/process/map/_assets/iris.png diff --git a/docs/process/map/_images/laobaitu156-1.png b/src/content/docs/general/process/map/_assets/laobaitu156-1.png similarity index 100% rename from docs/process/map/_images/laobaitu156-1.png rename to src/content/docs/general/process/map/_assets/laobaitu156-1.png diff --git a/docs/process/map/_images/laobaitu156-2.png b/src/content/docs/general/process/map/_assets/laobaitu156-2.png similarity index 100% rename from docs/process/map/_images/laobaitu156-2.png rename to src/content/docs/general/process/map/_assets/laobaitu156-2.png diff --git a/docs/process/map/_images/laobaitu156-3.png b/src/content/docs/general/process/map/_assets/laobaitu156-3.png similarity index 100% rename from docs/process/map/_images/laobaitu156-3.png rename to src/content/docs/general/process/map/_assets/laobaitu156-3.png diff --git a/docs/process/map/_images/mc.gif b/src/content/docs/general/process/map/_assets/mc.gif similarity index 100% rename from docs/process/map/_images/mc.gif rename to src/content/docs/general/process/map/_assets/mc.gif diff --git a/docs/process/map/_images/mcaselector.png b/src/content/docs/general/process/map/_assets/mcaselector.png similarity index 100% rename from docs/process/map/_images/mcaselector.png rename to src/content/docs/general/process/map/_assets/mcaselector.png diff --git a/docs/process/map/_images/overviewer-demo.png b/src/content/docs/general/process/map/_assets/overviewer-demo.png similarity index 100% rename from docs/process/map/_images/overviewer-demo.png rename to src/content/docs/general/process/map/_assets/overviewer-demo.png diff --git a/docs/process/map/_images/squaremap-demo.png b/src/content/docs/general/process/map/_assets/squaremap-demo.png similarity index 100% rename from docs/process/map/_images/squaremap-demo.png rename to src/content/docs/general/process/map/_assets/squaremap-demo.png diff --git a/docs/process/map/_images/st.png b/src/content/docs/general/process/map/_assets/st.png similarity index 100% rename from docs/process/map/_images/st.png rename to src/content/docs/general/process/map/_assets/st.png diff --git a/docs/process/map/_images/st2.png b/src/content/docs/general/process/map/_assets/st2.png similarity index 100% rename from docs/process/map/_images/st2.png rename to src/content/docs/general/process/map/_assets/st2.png diff --git a/docs/process/map/_images/t.png b/src/content/docs/general/process/map/_assets/t.png similarity index 100% rename from docs/process/map/_images/t.png rename to src/content/docs/general/process/map/_assets/t.png diff --git a/docs/process/map/_images/t2.png b/src/content/docs/general/process/map/_assets/t2.png similarity index 100% rename from docs/process/map/_images/t2.png rename to src/content/docs/general/process/map/_assets/t2.png diff --git a/docs/process/map/_images/terra2.png b/src/content/docs/general/process/map/_assets/terra2.png similarity index 100% rename from docs/process/map/_images/terra2.png rename to src/content/docs/general/process/map/_assets/terra2.png diff --git a/docs/process/map/_images/z_wuxin-1.png b/src/content/docs/general/process/map/_assets/z_wuxin-1.png similarity index 100% rename from docs/process/map/_images/z_wuxin-1.png rename to src/content/docs/general/process/map/_assets/z_wuxin-1.png diff --git a/docs/process/map/_images/z_wuxin-2.png b/src/content/docs/general/process/map/_assets/z_wuxin-2.png similarity index 100% rename from docs/process/map/_images/z_wuxin-2.png rename to src/content/docs/general/process/map/_assets/z_wuxin-2.png diff --git "a/docs/process/map/_images/\345\203\265\345\260\270\346\234\253\346\227\245-1.png" "b/src/content/docs/general/process/map/_assets/\345\203\265\345\260\270\346\234\253\346\227\245-1.png" similarity index 100% rename from "docs/process/map/_images/\345\203\265\345\260\270\346\234\253\346\227\245-1.png" rename to "src/content/docs/general/process/map/_assets/\345\203\265\345\260\270\346\234\253\346\227\245-1.png" diff --git "a/docs/process/map/_images/\345\203\265\345\260\270\346\234\253\346\227\245-2.png" "b/src/content/docs/general/process/map/_assets/\345\203\265\345\260\270\346\234\253\346\227\245-2.png" similarity index 100% rename from "docs/process/map/_images/\345\203\265\345\260\270\346\234\253\346\227\245-2.png" rename to "src/content/docs/general/process/map/_assets/\345\203\265\345\260\270\346\234\253\346\227\245-2.png" diff --git "a/docs/process/map/_images/\345\203\265\345\260\270\346\234\253\346\227\245-3.png" "b/src/content/docs/general/process/map/_assets/\345\203\265\345\260\270\346\234\253\346\227\245-3.png" similarity index 100% rename from "docs/process/map/_images/\345\203\265\345\260\270\346\234\253\346\227\245-3.png" rename to "src/content/docs/general/process/map/_assets/\345\203\265\345\260\270\346\234\253\346\227\245-3.png" diff --git "a/docs/process/map/_images/\345\203\265\345\260\270\346\234\253\346\227\245-4.png" "b/src/content/docs/general/process/map/_assets/\345\203\265\345\260\270\346\234\253\346\227\245-4.png" similarity index 100% rename from "docs/process/map/_images/\345\203\265\345\260\270\346\234\253\346\227\245-4.png" rename to "src/content/docs/general/process/map/_assets/\345\203\265\345\260\270\346\234\253\346\227\245-4.png" diff --git "a/docs/process/map/_images/\345\203\265\345\260\270\346\234\253\346\227\245-5.png" "b/src/content/docs/general/process/map/_assets/\345\203\265\345\260\270\346\234\253\346\227\245-5.png" similarity index 100% rename from "docs/process/map/_images/\345\203\265\345\260\270\346\234\253\346\227\245-5.png" rename to "src/content/docs/general/process/map/_assets/\345\203\265\345\260\270\346\234\253\346\227\245-5.png" diff --git "a/docs/process/map/_images/\345\203\265\345\260\270\346\234\253\346\227\245-6.png" "b/src/content/docs/general/process/map/_assets/\345\203\265\345\260\270\346\234\253\346\227\245-6.png" similarity index 100% rename from "docs/process/map/_images/\345\203\265\345\260\270\346\234\253\346\227\245-6.png" rename to "src/content/docs/general/process/map/_assets/\345\203\265\345\260\270\346\234\253\346\227\245-6.png" diff --git "a/docs/process/map/_images/\345\203\265\345\260\270\346\234\253\346\227\245-7.png" "b/src/content/docs/general/process/map/_assets/\345\203\265\345\260\270\346\234\253\346\227\245-7.png" similarity index 100% rename from "docs/process/map/_images/\345\203\265\345\260\270\346\234\253\346\227\245-7.png" rename to "src/content/docs/general/process/map/_assets/\345\203\265\345\260\270\346\234\253\346\227\245-7.png" diff --git a/docs/process/map/convert.md b/src/content/docs/general/process/map/convert.md similarity index 99% rename from docs/process/map/convert.md rename to src/content/docs/general/process/map/convert.md index a9e2b2d7b..545b2a929 100644 --- a/docs/process/map/convert.md +++ b/src/content/docs/general/process/map/convert.md @@ -93,7 +93,7 @@ Amulet 可用于高版本地图转低版本,但在地图转换后可能出现 一个简单直观的 Minecraft Java 版存档的编辑器,支持导出或删除选定区块和区域,并且支持不同版本不同存档地图之间的区块迁移。 -![](_images/mcaselector.png) +![](_assets/mcaselector.png) :::tip diff --git a/docs/process/map/map.md b/src/content/docs/general/process/map/map.md similarity index 80% rename from docs/process/map/map.md rename to src/content/docs/general/process/map/map.md index 883ec2c2c..da3163309 100644 --- a/docs/process/map/map.md +++ b/src/content/docs/general/process/map/map.md @@ -48,7 +48,7 @@ sidebar_position: 7 整张地图的大小不超过 200\*200,玩家路线为首尾相通的环状结构,既避免了怪物路线判断死角找不到玩家的情景,也在一定程度上避免了玩家找不到关键机器的情况 -![](_images/僵尸末日-1.png) +![](_assets/僵尸末日-1.png) 玩家的初始位置一共放置了 4 个出怪口,避免出现经济不均衡的情况 @@ -56,11 +56,11 @@ sidebar_position: 7 玩家在初始位置大约可以撑到 10-15 回合,是游戏前期的舒适圈 -![](_images/僵尸末日-2.png) +![](_assets/僵尸末日-2.png) 在地图的办公室中,出怪口采用隔墙死角的方式来遮挡玩家的视野,实现类似巷战的效果,并在旅馆内设置了霰弹枪的购买点 -![](_images/僵尸末日-3.png) +![](_assets/僵尸末日-3.png) 在地图的旅馆中,设计了一条狭长的走廊,途中有多个出怪口,可以产生聚怪的效果 @@ -68,9 +68,9 @@ sidebar_position: 7 在这条走廊内,怪物的攻击距离刚好占走廊宽度的 1/3 - 2/3,使玩家进行游戏时操作变得穷迫、急迫 -![](_images/僵尸末日-4.png) +![](_assets/僵尸末日-4.png) -![](_images/僵尸末日-5.png) +![](_assets/僵尸末日-5.png) 地图中的天台存放着整局游戏的关键性机关发电机,玩家若是想超过 25 回合,就必须往天台走 @@ -80,9 +80,9 @@ sidebar_position: 7 整个游戏的环状结构也是在此刻完全地映射出「穷途末路」的背景渲染 -![](_images/僵尸末日-6.png) +![](_assets/僵尸末日-6.png) -![](_images/僵尸末日-7.png) +![](_assets/僵尸末日-7.png) ### 视距 @@ -106,13 +106,13 @@ sidebar_position: 7 在 Minecraft 建筑中,我们通常会使用这些非完整方块来拼凑出完整方块达不到的弧度或模拟形状,如下图亭子的宝顶和脊瓦: -![](_images/laobaitu156-1.png) +![](_assets/laobaitu156-1.png) 特别是在中式建筑中,经常会出现用漏斗或楼梯模拟斗拱的拱、用台阶、活版门制作飞檐部分以及用各种非完整方块做雕刻的情况 -![](_images/laobaitu156-2.png) +![](_assets/laobaitu156-2.png) -![](_images/laobaitu156-3.png) +![](_assets/laobaitu156-3.png) ### 混合像素 @@ -122,15 +122,15 @@ sidebar_position: 7 颜色相近有深浅关系的方块可以形成「层」的递进效果 -![](_images/Grettzzz-1.JPG) +![](_assets/Grettzzz-1.JPG) 颜色相近纹路不同的方块可以在山体形成「糙」的细节效果 -![](_images/Grettzzz-3.png) +![](_assets/Grettzzz-3.png) 颜色反差大纹路相近的方块可以形成「明暗」的光影效果 -![](_images/Grettzzz-2.png) +![](_assets/Grettzzz-2.png) 混合像素需要你不断地尝试练习,请相信你的直觉。 @@ -148,7 +148,7 @@ sidebar_position: 7 头颅和盔甲可以为你的服务器增加更多的细节,特别是低版本的服务器 -![](_images/僵尸末日-2.png) +![](_assets/僵尸末日-2.png) :::warning @@ -170,39 +170,39 @@ sidebar_position: 7 #### 免费 -- [FastAsyncWorldEdit](https://modrinth.com/plugin/fastasyncworldedit) +- [FastAsyncWorldEdit](https://modrinth.com/plugin/fastasyncworldedit) -- [FastAsyncVoxelSniper](https://modrinth.com/plugin/fastasyncvoxelsniper) +- [FastAsyncVoxelSniper](https://modrinth.com/plugin/fastasyncvoxelsniper) -- [goBrush](https://www.spigotmc.org/resources/gobrush.23118) +- [goBrush](https://www.spigotmc.org/resources/gobrush.23118) -- [goPaint](https://www.spigotmc.org/resources/gopaint.27717) 或 [goPaintAdvanced](https://modrinth.com/plugin/gopaintadvanced) +- [goPaint](https://www.spigotmc.org/resources/gopaint.27717) 或 [goPaintAdvanced](https://modrinth.com/plugin/gopaintadvanced) -- [BuildBuddy](https://www.spigotmc.org/resources/buildbuddy.103139) +- [BuildBuddy](https://www.spigotmc.org/resources/buildbuddy.103139) -- [BuilderUtilities](https://modrinth.com/plugin/buildersutilities) +- [BuilderUtilities](https://modrinth.com/plugin/buildersutilities) -- [HeadDB](https://www.spigotmc.org/resources/headdb.84967) +- [HeadDB](https://www.spigotmc.org/resources/headdb.84967) #### 订阅 -- [Arceon](https://www.patreon.com/arcaniax) +- [Arceon](https://www.patreon.com/arcaniax) -- [ezEdit](https://www.patreon.com/ezedits) +- [ezEdit](https://www.patreon.com/ezedits) ### 客户端模组 -- [Axiom](https://modrinth.com/mod/axiom) +- [Axiom](https://modrinth.com/mod/axiom) -- [KleeSlabs](https://modrinth.com/mod/kleeslabs) +- [KleeSlabs](https://modrinth.com/mod/kleeslabs) -- [LotTweaks](https://www.curseforge.com/minecraft/mc-mods/lottweaks) +- [LotTweaks](https://www.curseforge.com/minecraft/mc-mods/lottweaks) -- [ModernKeyBinding](https://modrinth.com/mod/modernkeybinding) +- [ModernKeyBinding](https://modrinth.com/mod/modernkeybinding) -- [WorldEditCUI](https://modrinth.com/mod/worldedit-cui) +- [WorldEditCUI](https://modrinth.com/mod/worldedit-cui) -- [WorldEdit](https://modrinth.com/plugin/worldedit) +- [WorldEdit](https://modrinth.com/plugin/worldedit) :::warning @@ -228,15 +228,15 @@ sidebar_position: 7 #### Addon -- [WorldEdit-Addon](https://mcpedl.com/worldedit-be-addon/) +- [WorldEdit-Addon](https://mcpedl.com/worldedit-be-addon/) #### NukkitX 插件 -- [FastAsyncWorldEdit-Nukkit](https://cloudburstmc.org/resources/fastasyncworldedit.30/) +- [FastAsyncWorldEdit-Nukkit](https://cloudburstmc.org/resources/fastasyncworldedit.30/) #### PocketMine-MP 插件 -- [WorldEdit-PMMP](https://github.com/ryuzaki01/pocketmine-WorldEditor) +- [WorldEdit-PMMP](https://github.com/ryuzaki01/pocketmine-WorldEditor) :::warning @@ -252,19 +252,19 @@ sidebar_position: 7 #### MC 工具 -- [Amulet](https://www.amuletmc.com/) +- [Amulet](https://www.amuletmc.com/) -- [MCedit](https://www.mcedit.net/) +- [MCedit](https://www.mcedit.net/) -- [WorldPainter](https://www.worldpainter.net/) +- [WorldPainter](https://www.worldpainter.net/) -- [Chunker](https://chunker.app/) +- [Chunker](https://chunker.app/) #### 专业软件 -- [Blender](https://www.blender.org/) +- [Blender](https://www.blender.org/) -- [WorldMachine](https://www.world-machine.com/) +- [WorldMachine](https://www.world-machine.com/) :::info @@ -282,15 +282,15 @@ sidebar_position: 7 > 中世纪,采样于 z_wuxin -![](_images/z_wuxin-1.png) +![](_assets/z_wuxin-1.png) > 中式玄幻,采样于 Grettzzz -![](_images/Grettzzz-1.JPG) +![](_assets/Grettzzz-1.JPG) > 欧式,采样于 z_wuxin -![](_images/z_wuxin-2.png) +![](_assets/z_wuxin-2.png) ### 关于世界规则 diff --git a/docs/process/map/plugin.md b/src/content/docs/general/process/map/plugin.md similarity index 70% rename from docs/process/map/plugin.md rename to src/content/docs/general/process/map/plugin.md index 9fa029a15..6a81a25f1 100644 --- a/docs/process/map/plugin.md +++ b/src/content/docs/general/process/map/plugin.md @@ -15,9 +15,9 @@ Ouranos 是一个 Java 版的城市生成插件,可以用来无限的城市地 [购买地址](https://www.spigotmc.org/resources/114772/),一些官方生成样例 -![](_images/54ef42d10ca2ce57484ef606117640460249e48e.png) +![](_assets/54ef42d10ca2ce57484ef606117640460249e48e.png) -![](_images/825a21073ee817018bffff06e55d12da55b2a5b0.png) +![](_assets/825a21073ee817018bffff06e55d12da55b2a5b0.png) ### Arnis (免费) @@ -25,7 +25,7 @@ Arnis 是一个通过 OpenStreetMap 将现实世界的城市转换到 Minecraft [下载地址](https://arnis.app/),官方生成样例: -![](_images/mc.gif) +![](_assets/mc.gif) ## 地下城生成 @@ -55,35 +55,35 @@ DungeonMMO 是一个 Java 版的地下城生成插件,自带一些模版,每 [购买地址](https://www.spigotmc.org/resources/76591/) -![](_images/t.png) +![](_assets/t.png) -![](_images/t2.png) +![](_assets/t2.png) ## 地形生成 地形生成可以生成更加好看的地形,由于这类插件较多,就不单独介绍了,以下是还在更新的 -- Terra (免费) [下载地址](https://modrinth.com/plugin/terra) +- Terra (免费) [下载地址](https://modrinth.com/plugin/terra) -![](_images/356845062-1de0bbf4-7d26-4beb-b010-2f4d88efdba4.png) +![](_assets/356845062-1de0bbf4-7d26-4beb-b010-2f4d88efdba4.png) -![](_images/356845134-18be416f-daf5-4ae9-8560-8412fda83dc6.png) +![](_assets/356845134-18be416f-daf5-4ae9-8560-8412fda83dc6.png) -- Iris (付费) [购买地址](https://www.spigotmc.org/resources/84586/) +- Iris (付费) [购买地址](https://www.spigotmc.org/resources/84586/) -![](_images/iris.png) +![](_assets/iris.png) -- TerraformGenerator (付费/免费) [购买地址](https://www.spigotmc.org/resources/98309/) +- TerraformGenerator (付费/免费) [购买地址](https://www.spigotmc.org/resources/98309/) -![](_images/erra.jpg) +![](_assets/erra.jpg) -![](_images/terra2.png) +![](_assets/terra2.png) -- Stratos (付费) [购买地址](https://www.spigotmc.org/resources/80313/) +- Stratos (付费) [购买地址](https://www.spigotmc.org/resources/80313/) -![](_images/st.png) +![](_assets/st.png) -![](_images/st2.png) +![](_assets/st2.png) ### 结构生成 @@ -91,6 +91,6 @@ DungeonMMO 是一个 Java 版的地下城生成插件,自带一些模版,每 (免费) [下载地址](https://www.spigotmc.org/resources/103241/),免费包提供 100 + 结构,官方所有包共有 500 多个结构 -![](_images/bs.jpg) +![](_assets/bs.jpg) -![](_images/bs2.jpg) +![](_assets/bs2.jpg) diff --git a/docs/process/map/purchase.md b/src/content/docs/general/process/map/purchase.md similarity index 99% rename from docs/process/map/purchase.md rename to src/content/docs/general/process/map/purchase.md index b3609bab1..b495d25a5 100644 --- a/docs/process/map/purchase.md +++ b/src/content/docs/general/process/map/purchase.md @@ -71,6 +71,6 @@ sidebar_position: 3 [BreadBuilds](https://www.breadbuilds.com/) 是最大的地图网站,里面有很多优质的 **免费/付费** 地图 -![](_images/bb.png) +![](_assets/bb.png) 通常来说,在 BreadBuilds 上购买的地图平均价格为 70 ~ 100 RMB,相对来说会比定制省钱 diff --git a/docs/process/map/steal.md b/src/content/docs/general/process/map/steal.md similarity index 100% rename from docs/process/map/steal.md rename to src/content/docs/general/process/map/steal.md diff --git a/docs/process/map/web.md b/src/content/docs/general/process/map/web.md similarity index 93% rename from docs/process/map/web.md rename to src/content/docs/general/process/map/web.md index c7de24884..804d92ac4 100644 --- a/docs/process/map/web.md +++ b/src/content/docs/general/process/map/web.md @@ -23,7 +23,7 @@ sidebar_position: 5 一款非常简单好用的 mod,将服务器地图以 3D 的方式在 Web 浏览器中进行查看,支持 2D 俯视角、第一人称、第三人称的多种地图查看方式。另外支持查看玩家的实时位置,以及玩家可以在卫星地图中添加自定义标记。 -![](_images/bluemap-demo.png) +![](_assets/bluemap-demo.png) ## Dynmap @@ -39,7 +39,7 @@ sidebar_position: 5 一款历史悠久的卫星地图 mod,支持用户在浏览器上查看服务器内的地图、玩家信息和其它一些附属功能,例如出生点、当前时间、是否下雨等,支持 2D 俯视角视图和 3D 俯视角视图查看。 -![](_images/dynmap-demo.png) +![](_assets/dynmap-demo.png) ## squaremap @@ -55,7 +55,7 @@ sidebar_position: 5 squaremap 是一款优化了资源的加载和显示的卫星地图 Mod,采用了低精度的图片素材渲染地图,界面设计简洁、易于使用,仅支持 2D 俯视角视图查看。 -![](_images/squaremap-demo.png) +![](_assets/squaremap-demo.png) ## Overviewer @@ -71,4 +71,4 @@ squaremap 是一款优化了资源的加载和显示的卫星地图 Mod,采用 Overviewer 是一款静态地图渲染工具,可以产出一个非实时更新的网页地图,仅支持 3D 俯视角视图查看。 -![](_images/overviewer-demo.png) +![](_assets/overviewer-demo.png) diff --git a/docs/process/panel.md b/src/content/docs/general/process/panel.md similarity index 100% rename from docs/process/panel.md rename to src/content/docs/general/process/panel.md diff --git a/docs/process/process.md b/src/content/docs/general/process/process.md similarity index 100% rename from docs/process/process.md rename to src/content/docs/general/process/process.md diff --git a/docs/process/whitelist.md b/src/content/docs/general/process/whitelist.md similarity index 100% rename from docs/process/whitelist.md rename to src/content/docs/general/process/whitelist.md diff --git a/docs/reading-guide.md b/src/content/docs/general/reading-guide.md similarity index 100% rename from docs/reading-guide.md rename to src/content/docs/general/reading-guide.md diff --git a/docs/start/_images/qnmd_raw.png b/src/content/docs/general/start/_assets/qnmd_raw.png similarity index 100% rename from docs/start/_images/qnmd_raw.png rename to src/content/docs/general/start/_assets/qnmd_raw.png diff --git "a/docs/start/_images/\344\270\215\350\246\201\346\210\252\345\233\276\350\277\231\344\270\252\345\225\212.png" "b/src/content/docs/general/start/_assets/\344\270\215\350\246\201\346\210\252\345\233\276\350\277\231\344\270\252\345\225\212.png" similarity index 100% rename from "docs/start/_images/\344\270\215\350\246\201\346\210\252\345\233\276\350\277\231\344\270\252\345\225\212.png" rename to "src/content/docs/general/start/_assets/\344\270\215\350\246\201\346\210\252\345\233\276\350\277\231\344\270\252\345\225\212.png" diff --git "a/docs/start/_images/\345\261\217\345\271\225\346\210\252\345\233\276 2025-02-07 182759.png" "b/src/content/docs/general/start/_assets/\345\261\217\345\271\225\346\210\252\345\233\276 2025-02-07 182759.png" similarity index 100% rename from "docs/start/_images/\345\261\217\345\271\225\346\210\252\345\233\276 2025-02-07 182759.png" rename to "src/content/docs/general/start/_assets/\345\261\217\345\271\225\346\210\252\345\233\276 2025-02-07 182759.png" diff --git "a/docs/start/_images/\345\261\217\345\271\225\346\210\252\345\233\276 2025-02-07 182930.png" "b/src/content/docs/general/start/_assets/\345\261\217\345\271\225\346\210\252\345\233\276 2025-02-07 182930.png" similarity index 100% rename from "docs/start/_images/\345\261\217\345\271\225\346\210\252\345\233\276 2025-02-07 182930.png" rename to "src/content/docs/general/start/_assets/\345\261\217\345\271\225\346\210\252\345\233\276 2025-02-07 182930.png" diff --git "a/docs/start/_images/\351\227\256\351\227\256\351\242\230\347\232\204\346\212\200\345\267\247/\346\262\241\344\272\213\344\270\215\350\246\201\345\205\215\350\264\271\345\270\256\344\272\272.jpg" "b/src/content/docs/general/start/_assets/\351\227\256\351\227\256\351\242\230\347\232\204\346\212\200\345\267\247/\346\262\241\344\272\213\344\270\215\350\246\201\345\205\215\350\264\271\345\270\256\344\272\272.jpg" similarity index 100% rename from "docs/start/_images/\351\227\256\351\227\256\351\242\230\347\232\204\346\212\200\345\267\247/\346\262\241\344\272\213\344\270\215\350\246\201\345\205\215\350\264\271\345\270\256\344\272\272.jpg" rename to "src/content/docs/general/start/_assets/\351\227\256\351\227\256\351\242\230\347\232\204\346\212\200\345\267\247/\346\262\241\344\272\213\344\270\215\350\246\201\345\205\215\350\264\271\345\270\256\344\272\272.jpg" diff --git "a/docs/start/_images/\351\227\256\351\227\256\351\242\230\347\232\204\346\212\200\345\267\247/\347\273\217\345\205\270\350\200\201\345\233\276-1.jpg" "b/src/content/docs/general/start/_assets/\351\227\256\351\227\256\351\242\230\347\232\204\346\212\200\345\267\247/\347\273\217\345\205\270\350\200\201\345\233\276-1.jpg" similarity index 100% rename from "docs/start/_images/\351\227\256\351\227\256\351\242\230\347\232\204\346\212\200\345\267\247/\347\273\217\345\205\270\350\200\201\345\233\276-1.jpg" rename to "src/content/docs/general/start/_assets/\351\227\256\351\227\256\351\242\230\347\232\204\346\212\200\345\267\247/\347\273\217\345\205\270\350\200\201\345\233\276-1.jpg" diff --git "a/docs/start/_images/\351\227\256\351\227\256\351\242\230\347\232\204\346\212\200\345\267\247/\347\273\217\345\205\270\350\200\201\345\233\276-2.jpg" "b/src/content/docs/general/start/_assets/\351\227\256\351\227\256\351\242\230\347\232\204\346\212\200\345\267\247/\347\273\217\345\205\270\350\200\201\345\233\276-2.jpg" similarity index 100% rename from "docs/start/_images/\351\227\256\351\227\256\351\242\230\347\232\204\346\212\200\345\267\247/\347\273\217\345\205\270\350\200\201\345\233\276-2.jpg" rename to "src/content/docs/general/start/_assets/\351\227\256\351\227\256\351\242\230\347\232\204\346\212\200\345\267\247/\347\273\217\345\205\270\350\200\201\345\233\276-2.jpg" diff --git "a/docs/start/_images/\351\227\256\351\227\256\351\242\230\347\232\204\346\212\200\345\267\247/\347\273\217\345\205\270\350\200\201\345\233\276-3.jpg" "b/src/content/docs/general/start/_assets/\351\227\256\351\227\256\351\242\230\347\232\204\346\212\200\345\267\247/\347\273\217\345\205\270\350\200\201\345\233\276-3.jpg" similarity index 100% rename from "docs/start/_images/\351\227\256\351\227\256\351\242\230\347\232\204\346\212\200\345\267\247/\347\273\217\345\205\270\350\200\201\345\233\276-3.jpg" rename to "src/content/docs/general/start/_assets/\351\227\256\351\227\256\351\242\230\347\232\204\346\212\200\345\267\247/\347\273\217\345\205\270\350\200\201\345\233\276-3.jpg" diff --git a/docs/start/ask-for-help.md b/src/content/docs/general/start/ask-for-help.md similarity index 56% rename from docs/start/ask-for-help.md rename to src/content/docs/general/start/ask-for-help.md index 9ce3c3674..9e79ffb90 100644 --- a/docs/start/ask-for-help.md +++ b/src/content/docs/general/start/ask-for-help.md @@ -25,31 +25,31 @@ sidebar_position: 7 **`怎么开基岩版互通`** -- 太直白了,请别人帮忙之前最好稍微带一些 **态度**。 +- 太直白了,请别人帮忙之前最好稍微带一些 **态度**。 **`什么是 pojav?插件的 Wiki 在哪里?`** -- **不要把群和人当做搜索引擎** (除非打钱了)。 +- **不要把群和人当做搜索引擎** (除非打钱了)。 **`我玩家进不来服务器怎么办`** -- **描述模糊**,可能性太多以至于没有人猜出。 +- **描述模糊**,可能性太多以至于没有人猜出。 **`不正确提供 log 或不提供 log`** -- **自己造词**,只有你自己能理解,以为别人明白。 +- **自己造词**,只有你自己能理解,以为别人明白。 **`我玩家怎么假登陆了?天权系统怎么做?`** -- 以下这些情况,应该去天桥的老大爷找你算算命,因为没有有效的 log 没人能知道你遇到的问题。 -- 在 **服务器** 问题中提供 **客户端** log。 -- **不完整** 的 log,甚至 **不提供** log。 -- 错误的将 **客户端** 收到的报错当做 **服务端** 报错。 -- **直接将成百上千行的 log 发到交流群** +- 以下这些情况,应该去天桥的老大爷找你算算命,因为没有有效的 log 没人能知道你遇到的问题。 +- 在 **服务器** 问题中提供 **客户端** log。 +- **不完整** 的 log,甚至 **不提供** log。 +- 错误的将 **客户端** 收到的报错当做 **服务端** 报错。 +- **直接将成百上千行的 log 发到交流群** :::warning -![](_images/不要截图这个啊.png) +![](_assets/不要截图这个啊.png) 这段话是告诉你去控制台看报错,你把这段话截图给群友干什么?群友是控制台? @@ -65,14 +65,14 @@ sidebar_position: 7 例如,你应该: -- 使用一定的称呼:`请问大佬们我的 xxx 插件报错 NullPointerException 该怎么办呢?` -- 使用敬语:`打扰一下,我最近服务器总是报错 The server has not responded for 35 seconds! 请问有人知道怎么回事吗?` +- 使用一定的称呼:`请问大佬们我的 xxx 插件报错 NullPointerException 该怎么办呢?` +- 使用敬语:`打扰一下,我最近服务器总是报错 The server has not responded for 35 seconds! 请问有人知道怎么回事吗?` 而不能: -- 开门见山:`服务器报错是这个 C++ Exception: std::optional 是啥情况` -- 发言不友好:`你不知道可以不说话,别在这浪费我时间` -- 斥责他人:`你是不是不会写插件啊,这插件怎么能开服就报错呢` +- 开门见山:`服务器报错是这个 C++ Exception: std::optional 是啥情况` +- 发言不友好:`你不知道可以不说话,别在这浪费我时间` +- 斥责他人:`你是不是不会写插件啊,这插件怎么能开服就报错呢` @@ -80,26 +80,26 @@ sidebar_position: 7 例如,你应该: -- 某插件出现不适配问题后在名为“我的世界服主交流群”的开服综合交流群里提问 `请问在升级 Paper1.20.4 之后遇到 xxx 插件不适配应该怎么办?` -- 某小众插件与 Leaves 核心出现兼容性问题后在该插件官方交流群里提问 `作者大大,你的 xxx 插件和 leaves 核心是不是有兼容性问题呢?` +- 某插件出现不适配问题后在名为“我的世界服主交流群”的开服综合交流群里提问 `请问在升级 Paper1.20.4 之后遇到 xxx 插件不适配应该怎么办?` +- 某小众插件与 Leaves 核心出现兼容性问题后在该插件官方交流群里提问 `作者大大,你的 xxx 插件和 leaves 核心是不是有兼容性问题呢?` 而不能: -- PowerNukkitX 核心相关问题到 LeviLemina 交流群里提问 -- 路由器配置相关问题到某插件官方交流群里提问 -- 卡服问题到其他游戏交流群里提问 +- PowerNukkitX 核心相关问题到 LeviLemina 交流群里提问 +- 路由器配置相关问题到某插件官方交流群里提问 +- 卡服问题到其他游戏交流群里提问 4. 提到服务器环境 例如,你应该: -- `大佬们我是 1.16.5 catserver 服务器,遇到了 xxx 问题` -- `最近我升级到了 1.21 Paper 核心,玩家反应 xxx 有人有类似的问题吗?` +- `大佬们我是 1.16.5 catserver 服务器,遇到了 xxx 问题` +- `最近我升级到了 1.21 Paper 核心,玩家反应 xxx 有人有类似的问题吗?` 而不能: -- 仅给出插件名和报错却不给出服务端版本等信息:`大佬们有没有人知道我这个 xxx 插件怎么加载不了,报错 NoClassDefFoundError?` -- 仅附上报错信息却没有给出任何服务端版本、加载器版本、插件列表等信息:`有没有大佬能帮我看看这个崩服是为什么,什么也不干跑一跑图就崩,ll加载器` +- 仅给出插件名和报错却不给出服务端版本等信息:`大佬们有没有人知道我这个 xxx 插件怎么加载不了,报错 NoClassDefFoundError?` +- 仅附上报错信息却没有给出任何服务端版本、加载器版本、插件列表等信息:`有没有大佬能帮我看看这个崩服是为什么,什么也不干跑一跑图就崩,ll加载器` 5. 给出合理的日志 - [详细说明](#给出日志) @@ -111,9 +111,9 @@ Wiki 就是让你解决常见问题的,不看这玩意儿就在那瞎问只会 几乎所有的软件都会附上 Wiki,它们一般位于: -- 插件的 README 文件 (GitHub 主页往下翻一般就是) -- 插件作者在社交媒体发布的视频文章等或自行搭建的网站 (入口一般可以在插件的论坛介绍页、官网、README 中找到) -- 插件作者在即时通讯软件上发布的视频文章等 (比如有的插件作者会让你加他的 QQ 群,之后把使用文档放在群文件或群公告里) +- 插件的 README 文件 (GitHub 主页往下翻一般就是) +- 插件作者在社交媒体发布的视频文章等或自行搭建的网站 (入口一般可以在插件的论坛介绍页、官网、README 中找到) +- 插件作者在即时通讯软件上发布的视频文章等 (比如有的插件作者会让你加他的 QQ 群,之后把使用文档放在群文件或群公告里) **请先耐心寻找这些文档**,实在找不到说明作者可能确实没有写,这种情况下再提问 @@ -161,11 +161,11 @@ Wiki 就是让你解决常见问题的,不看这玩意儿就在那瞎问只会 > https://log.8aka.org -![](_images/屏幕截图%202025-02-07%20182759.png) +![](_assets/屏幕截图%202025-02-07%20182759.png) 服务器 log 文件在服务端根目录的 logs 文件夹,一般上传 `latest.log` (服务端最新的日志) 即可 -![](_images/屏幕截图%202025-02-07%20182930.png) +![](_assets/屏幕截图%202025-02-07%20182930.png) 把这个链接复制粘贴发给大佬 @@ -174,17 +174,17 @@ Wiki 就是让你解决常见问题的,不看这玩意儿就在那瞎问只会
如何使用 Mclogs -![](\_images/问问题的技巧/如何使用 Mclogs-1.png) +![](\_assets/问问题的技巧/如何使用 Mclogs-1.png) 服务器 log 文件在服务端根目录的 logs 文件夹,一般上传 `latest.log` (服务端最新的日志) 即可 -![](\_images/问问题的技巧/如何使用 Mclogs-2.png) +![](\_assets/问问题的技巧/如何使用 Mclogs-2.png) 把这个链接复制粘贴发给大佬 :::tip -![](_images/qnmd_raw.png) +![](_assets/qnmd_raw.png) 不要点右上角的 Raw 进行分享,那是 API 接口链接,给开发人员提供的,不是分享链接的,不能用于分享日志使用 @@ -197,22 +197,22 @@ Wiki 就是让你解决常见问题的,不看这玩意儿就在那瞎问只会
其他可用的网站 -- https://pastes.dev/ -- https://paste.fastmirror.net/ -- https://n0paste.tk/ -- https://www.paste.lv/ -- https://nekobin.com/ -- https://note.ms/dwlg -- https://paste.gg/ -- https://bytebin.lucko.me/ -- https://netcut.cn/ -- https://cl1p.cn/ -- https://jiantieban.cn/ -- https://www.verybin.com/ -- https://ykjtb.com/ -- https://airportal.cn/ -- https://toolight.cn/text/paste -- https://nick-running.github.io/easy-tools/clipboard.html +- https://pastes.dev/ +- https://paste.fastmirror.net/ +- https://n0paste.tk/ +- https://www.paste.lv/ +- https://nekobin.com/ +- https://note.ms/dwlg +- https://paste.gg/ +- https://bytebin.lucko.me/ +- https://netcut.cn/ +- https://cl1p.cn/ +- https://jiantieban.cn/ +- https://www.verybin.com/ +- https://ykjtb.com/ +- https://airportal.cn/ +- https://toolight.cn/text/paste +- https://nick-running.github.io/easy-tools/clipboard.html
@@ -226,10 +226,10 @@ Wiki 就是让你解决常见问题的,不看这玩意儿就在那瞎问只会 ### 经典老图 -![](_images/问问题的技巧/经典老图-1.jpg) +![](_assets/问问题的技巧/经典老图-1.jpg) -![](_images/问问题的技巧/经典老图-2.jpg) +![](_assets/问问题的技巧/经典老图-2.jpg) -![](_images/问问题的技巧/经典老图-3.jpg) +![](_assets/问问题的技巧/经典老图-3.jpg) -![](_images/问问题的技巧/没事不要免费帮人.jpg) +![](_assets/问问题的技巧/没事不要免费帮人.jpg) diff --git a/docs-java/start/basic/_images/nogui.jpg b/src/content/docs/general/start/basic/_assets/nogui.jpg similarity index 100% rename from docs-java/start/basic/_images/nogui.jpg rename to src/content/docs/general/start/basic/_assets/nogui.jpg diff --git "a/docs/start/basic/_images/\345\217\243\345\255\227\347\254\246.png" "b/src/content/docs/general/start/basic/_assets/\345\217\243\345\255\227\347\254\246.png" similarity index 100% rename from "docs/start/basic/_images/\345\217\243\345\255\227\347\254\246.png" rename to "src/content/docs/general/start/basic/_assets/\345\217\243\345\255\227\347\254\246.png" diff --git a/docs/start/basic/basic.md b/src/content/docs/general/start/basic/basic.md similarity index 100% rename from docs/start/basic/basic.md rename to src/content/docs/general/start/basic/basic.md diff --git a/docs/start/basic/what-is-lag.md b/src/content/docs/general/start/basic/what-is-lag.md similarity index 100% rename from docs/start/basic/what-is-lag.md rename to src/content/docs/general/start/basic/what-is-lag.md diff --git a/docs/start/basic/what-is-log.md b/src/content/docs/general/start/basic/what-is-log.md similarity index 100% rename from docs/start/basic/what-is-log.md rename to src/content/docs/general/start/basic/what-is-log.md diff --git a/docs/start/basic/what-is-messy-code.md b/src/content/docs/general/start/basic/what-is-messy-code.md similarity index 98% rename from docs/start/basic/what-is-messy-code.md rename to src/content/docs/general/start/basic/what-is-messy-code.md index da1d3a086..e528b4767 100644 --- a/docs/start/basic/what-is-messy-code.md +++ b/src/content/docs/general/start/basic/what-is-messy-code.md @@ -31,7 +31,7 @@ sidebar_position: 7 | 名称 | 示例 | 特点 | 产生原因 | | :----: | :----------------------------: | :----------------------------------------------------: | :-------------------------------------------------------------: | | 古文码 | 宀佺殑娉曞浗浜嗗緢涔 | 大都为不认识的古文,并夹杂日韩文 | 以 GBK 方式读取 UTF-8 编码的中文 | -| 口字码 | ![](_images/口字符.png) | 大部分字符为小方块 | 以 UTF-8 方式读取 GBK 编码的中文 | +| 口字码 | ![](_assets/口字符.png) | 大部分字符为小方块 | 以 UTF-8 方式读取 GBK 编码的中文 | | 符号码 | å²çæ³å½äºå¾ä¹ | 大部分字符为各种符号 | 以 ISO8859-1 方式读取 UTF-8 编码的中文 | | 拼音码 | ËêµÄ·¨¹úÁ˺ܾà | 大部分字符以头顶带有各种类型声调符号的字母 | 以 ISO8859-1 方式读取 GBK 编码的中文 | | 问句码 | 好好学习天天?? | 字符串长度为偶数时正确,长度为奇数时最后的字符变为问号 | 以 GBK 方式读取 UTF-8 编码的中文,然后又用 UTF-8 的格式再次读取 | diff --git a/docs/start/basic/what-is-permission.md b/src/content/docs/general/start/basic/what-is-permission.md similarity index 100% rename from docs/start/basic/what-is-permission.md rename to src/content/docs/general/start/basic/what-is-permission.md diff --git a/docs/start/basic/what-is-plugin.md b/src/content/docs/general/start/basic/what-is-plugin.md similarity index 100% rename from docs/start/basic/what-is-plugin.md rename to src/content/docs/general/start/basic/what-is-plugin.md diff --git a/docs/start/basic/what-is-server.md b/src/content/docs/general/start/basic/what-is-server.md similarity index 100% rename from docs/start/basic/what-is-server.md rename to src/content/docs/general/start/basic/what-is-server.md diff --git a/docs/start/basic/what-is-startup-script.md b/src/content/docs/general/start/basic/what-is-startup-script.md similarity index 73% rename from docs/start/basic/what-is-startup-script.md rename to src/content/docs/general/start/basic/what-is-startup-script.md index 66ee8311d..665a162a6 100644 --- a/docs/start/basic/what-is-startup-script.md +++ b/src/content/docs/general/start/basic/what-is-startup-script.md @@ -13,13 +13,13 @@ _对于 Windows 服务器来说,启动脚本是 `.bat` 后缀的文件,对 L ### sh (Shell Script)(Linux) -- 语法:sh 脚本使用 Shell 命令和控制结构,支持条件判断、循环、函数定义等高级编程特性。 -- 执行方式:在终端通过 `./script.sh` 或 `sh script.sh` 来执行 (确保脚本具有执行权限)。 +- 语法:sh 脚本使用 Shell 命令和控制结构,支持条件判断、循环、函数定义等高级编程特性。 +- 执行方式:在终端通过 `./script.sh` 或 `sh script.sh` 来执行 (确保脚本具有执行权限)。 ### bat (Batch File)(Windows) -- 语法:bat 脚本包含一系列 DOS 命令和批处理命令,支持简单的条件判断和循环,但相比 sh 脚本,其功能和灵活性较低。 -- 执行方式:双击文件或者在命令提示符下输入 `script.bat` 来执行。 +- 语法:bat 脚本包含一系列 DOS 命令和批处理命令,支持简单的条件判断和循环,但相比 sh 脚本,其功能和灵活性较低。 +- 执行方式:双击文件或者在命令提示符下输入 `script.bat` 来执行。 注意:Windows 和 Linux 的启动脚本不能通用,不是改一下后缀名就可以 @@ -27,9 +27,9 @@ _对于 Windows 服务器来说,启动脚本是 `.bat` 后缀的文件,对 L 启动参数 (也称 Flag) 主要分为 3 类: -- 标准参数 (-):所有的 JVM 实现都必须实现这些参数的功能,而且向后兼容; -- 非标准参数 (-X):默认 JVM 实现这些参数的功能,但是并不保证所有 JVM 实现都满足,且不保证向后兼容; -- 非 stable 参数 (-XX):此类参数各个 JVM 实现会有所不同,将来可能会随时取消,需要慎重使用; +- 标准参数 (-):所有的 JVM 实现都必须实现这些参数的功能,而且向后兼容; +- 非标准参数 (-X):默认 JVM 实现这些参数的功能,但是并不保证所有 JVM 实现都满足,且不保证向后兼容; +- 非 stable 参数 (-XX):此类参数各个 JVM 实现会有所不同,将来可能会随时取消,需要慎重使用; ### 基础 @@ -57,7 +57,7 @@ java -Xms12G -Xmx12G -jar 核心名.jar nogui 不显示类似下面的 GUI -![](_images/nogui.jpg) +![](_assets/nogui.jpg) 真的,这个 GUI 一点用没有,别开它了 diff --git a/docs/start/start.md b/src/content/docs/general/start/start.md similarity index 100% rename from docs/start/start.md rename to src/content/docs/general/start/start.md diff --git a/docs-java/advance/advance.md b/src/content/docs/java/advance/advance.md similarity index 100% rename from docs-java/advance/advance.md rename to src/content/docs/java/advance/advance.md diff --git a/docs-java/advance/bot.md b/src/content/docs/java/advance/bot.md similarity index 100% rename from docs-java/advance/bot.md rename to src/content/docs/java/advance/bot.md diff --git a/docs-java/advance/chinese-username.md b/src/content/docs/java/advance/chinese-username.md similarity index 100% rename from docs-java/advance/chinese-username.md rename to src/content/docs/java/advance/chinese-username.md diff --git a/docs-java/advance/command-yml.md b/src/content/docs/java/advance/command-yml.md similarity index 100% rename from docs-java/advance/command-yml.md rename to src/content/docs/java/advance/command-yml.md diff --git a/docs-java/advance/domain-registration.md b/src/content/docs/java/advance/domain-registration.md similarity index 100% rename from docs-java/advance/domain-registration.md rename to src/content/docs/java/advance/domain-registration.md diff --git a/docs-java/advance/linux.md b/src/content/docs/java/advance/linux.md similarity index 100% rename from docs-java/advance/linux.md rename to src/content/docs/java/advance/linux.md diff --git a/docs-java/advance/login-choices.md b/src/content/docs/java/advance/login-choices.md similarity index 100% rename from docs-java/advance/login-choices.md rename to src/content/docs/java/advance/login-choices.md diff --git a/docs-java/advance/slime-world.md b/src/content/docs/java/advance/slime-world.md similarity index 100% rename from docs-java/advance/slime-world.md rename to src/content/docs/java/advance/slime-world.md diff --git a/docs-java/advance/yaml/extention.md b/src/content/docs/java/advance/yaml/extention.md similarity index 100% rename from docs-java/advance/yaml/extention.md rename to src/content/docs/java/advance/yaml/extention.md diff --git a/docs-java/advance/yaml/general.md b/src/content/docs/java/advance/yaml/general.md similarity index 100% rename from docs-java/advance/yaml/general.md rename to src/content/docs/java/advance/yaml/general.md diff --git a/docs-java/advance/yaml/yaml.md b/src/content/docs/java/advance/yaml/yaml.md similarity index 100% rename from docs-java/advance/yaml/yaml.md rename to src/content/docs/java/advance/yaml/yaml.md diff --git a/docs-java/intro.md b/src/content/docs/java/intro.md similarity index 100% rename from docs-java/intro.md rename to src/content/docs/java/intro.md diff --git a/docs-java/preparation/_images/motd.png b/src/content/docs/java/preparation/_assets/motd.png similarity index 100% rename from docs-java/preparation/_images/motd.png rename to src/content/docs/java/preparation/_assets/motd.png diff --git a/docs-java/preparation/_images/spigotmc.png b/src/content/docs/java/preparation/_assets/spigotmc.png similarity index 100% rename from docs-java/preparation/_images/spigotmc.png rename to src/content/docs/java/preparation/_assets/spigotmc.png diff --git a/docs-java/preparation/choose-and-download-and-install-java.md b/src/content/docs/java/preparation/choose-and-download-and-install-java.md similarity index 100% rename from docs-java/preparation/choose-and-download-and-install-java.md rename to src/content/docs/java/preparation/choose-and-download-and-install-java.md diff --git a/docs-java/preparation/dumb-script-usage.md b/src/content/docs/java/preparation/dumb-script-usage.md similarity index 100% rename from docs-java/preparation/dumb-script-usage.md rename to src/content/docs/java/preparation/dumb-script-usage.md diff --git a/docs-java/preparation/preparation.md b/src/content/docs/java/preparation/preparation.md similarity index 100% rename from docs-java/preparation/preparation.md rename to src/content/docs/java/preparation/preparation.md diff --git a/docs-java/preparation/services.md b/src/content/docs/java/preparation/services.md similarity index 100% rename from docs-java/preparation/services.md rename to src/content/docs/java/preparation/services.md diff --git a/docs-java/preparation/text-editor.md b/src/content/docs/java/preparation/text-editor.md similarity index 100% rename from docs-java/preparation/text-editor.md rename to src/content/docs/java/preparation/text-editor.md diff --git a/docs-java/preparation/websites.md b/src/content/docs/java/preparation/websites.md similarity index 97% rename from docs-java/preparation/websites.md rename to src/content/docs/java/preparation/websites.md index 9a74f1f2c..92208e113 100644 --- a/docs-java/preparation/websites.md +++ b/src/content/docs/java/preparation/websites.md @@ -62,9 +62,9 @@ GitHub 界面是全英文,可以尝试安装油猴汉化插件:https://githu 使用魔法或者用加速地址: -- https://gitmirror.com/files.html -- https://moeyy.cn/gh-proxy -- https://ghps.cc +- https://gitmirror.com/files.html +- https://moeyy.cn/gh-proxy +- https://ghps.cc
@@ -113,7 +113,7 @@ SpigotMC 是目前 Minecraft 开服圈最大的插件网站,最大的问题是
注册问题 -![](_images/spigotmc.png) +![](_assets/spigotmc.png) 使用魔法就可以看到验证了,而不是傻呵呵的跟人说。 @@ -299,8 +299,8 @@ PaperMC 的现代化的插件平台,目前正在 Beta 阶段,插件相对较 > 像素论坛因 [数据丢失](https://www.pixelbbs.cn/thread-3-1-1.html),大部分页面已失效,以下为 Wayback Machine 存档。 > -> - [失信人员名单页面](https://web.archive.org/web/20240715222153/https://www.pixelbbs.cn/f-50-1.html) -> - [防骗小技巧](https://web.archive.org/web/20250122075709/https://www.pixelbbs.cn/t-1377-1-1.html) +> - [失信人员名单页面](https://web.archive.org/web/20240715222153/https://www.pixelbbs.cn/f-50-1.html) +> - [防骗小技巧](https://web.archive.org/web/20250122075709/https://www.pixelbbs.cn/t-1377-1-1.html) @@ -366,7 +366,7 @@ DecentHolograms 插件统计: -![](_images/motd.png) +![](_assets/motd.png) MOTD 就是 Minecraft 客户端在尝试连接服务器之前,服务器对客户端发送的一条短消息,这通常包含 1-3 行文字和一张图片。 @@ -391,6 +391,7 @@ MOTD 是玩家进入服务器之前最先看到的东西,决定了玩家对一 https://misode.github.io/ 如果你喜欢编写数据包甚至资源包那么这个网站会很有用,他拥有大量的可视化编辑器,方便进行快速编辑,但是上手需要一定相关知识基础。 + diff --git a/docs-java/process/create-art-assets.md b/src/content/docs/java/process/create-art-assets.md similarity index 100% rename from docs-java/process/create-art-assets.md rename to src/content/docs/java/process/create-art-assets.md diff --git "a/docs-java/process/cross-server/_images/\347\201\265\351\255\202\347\224\273\345\270\210\346\225\231\345\274\200\347\276\244\347\273\204\346\234\215.png" "b/src/content/docs/java/process/cross-server/_assets/\347\201\265\351\255\202\347\224\273\345\270\210\346\225\231\345\274\200\347\276\244\347\273\204\346\234\215.png" similarity index 100% rename from "docs-java/process/cross-server/_images/\347\201\265\351\255\202\347\224\273\345\270\210\346\225\231\345\274\200\347\276\244\347\273\204\346\234\215.png" rename to "src/content/docs/java/process/cross-server/_assets/\347\201\265\351\255\202\347\224\273\345\270\210\346\225\231\345\274\200\347\276\244\347\273\204\346\234\215.png" diff --git a/docs-java/process/cross-server/command.md b/src/content/docs/java/process/cross-server/command.md similarity index 100% rename from docs-java/process/cross-server/command.md rename to src/content/docs/java/process/cross-server/command.md diff --git a/docs-java/process/cross-server/cross-server.md b/src/content/docs/java/process/cross-server/cross-server.md similarity index 98% rename from docs-java/process/cross-server/cross-server.md rename to src/content/docs/java/process/cross-server/cross-server.md index 7f3ff5403..f9433e133 100644 --- a/docs-java/process/cross-server/cross-server.md +++ b/src/content/docs/java/process/cross-server/cross-server.md @@ -18,7 +18,7 @@ sidebar_position: 4 现在你想建设一个群组服把这三个服务器连接起来,那么通常情况下,你的服务器结构就会是这样 -![](_images/灵魂画师教开群组服.png) +![](_assets/灵魂画师教开群组服.png) :::info diff --git a/docs-java/process/cross-server/hide-the-real-ip.md b/src/content/docs/java/process/cross-server/hide-the-real-ip.md similarity index 100% rename from docs-java/process/cross-server/hide-the-real-ip.md rename to src/content/docs/java/process/cross-server/hide-the-real-ip.md diff --git a/docs-java/process/cross-server/join-server.md b/src/content/docs/java/process/cross-server/join-server.md similarity index 100% rename from docs-java/process/cross-server/join-server.md rename to src/content/docs/java/process/cross-server/join-server.md diff --git a/docs-java/process/cross-server/plugin/backend-only.md b/src/content/docs/java/process/cross-server/plugin/backend-only.md similarity index 100% rename from docs-java/process/cross-server/plugin/backend-only.md rename to src/content/docs/java/process/cross-server/plugin/backend-only.md diff --git a/docs-java/process/cross-server/plugin/plugin.md b/src/content/docs/java/process/cross-server/plugin/plugin.md similarity index 100% rename from docs-java/process/cross-server/plugin/plugin.md rename to src/content/docs/java/process/cross-server/plugin/plugin.md diff --git a/docs-java/process/cross-server/plugin/proxy-backend-mandatory.md b/src/content/docs/java/process/cross-server/plugin/proxy-backend-mandatory.md similarity index 100% rename from docs-java/process/cross-server/plugin/proxy-backend-mandatory.md rename to src/content/docs/java/process/cross-server/plugin/proxy-backend-mandatory.md diff --git a/docs-java/process/cross-server/plugin/proxy-backend-optional.md b/src/content/docs/java/process/cross-server/plugin/proxy-backend-optional.md similarity index 100% rename from docs-java/process/cross-server/plugin/proxy-backend-optional.md rename to src/content/docs/java/process/cross-server/plugin/proxy-backend-optional.md diff --git a/docs-java/process/cross-server/plugin/proxy-only.md b/src/content/docs/java/process/cross-server/plugin/proxy-only.md similarity index 100% rename from docs-java/process/cross-server/plugin/proxy-only.md rename to src/content/docs/java/process/cross-server/plugin/proxy-only.md diff --git a/docs-java/process/cross-server/precautions.md b/src/content/docs/java/process/cross-server/precautions.md similarity index 100% rename from docs-java/process/cross-server/precautions.md rename to src/content/docs/java/process/cross-server/precautions.md diff --git a/docs-java/process/cross-server/server-core-choose.md b/src/content/docs/java/process/cross-server/server-core-choose.md similarity index 100% rename from docs-java/process/cross-server/server-core-choose.md rename to src/content/docs/java/process/cross-server/server-core-choose.md diff --git a/docs-java/process/cross-server/setup/_images/BungeeCord.png b/src/content/docs/java/process/cross-server/setup/_assets/BungeeCord.png similarity index 100% rename from docs-java/process/cross-server/setup/_images/BungeeCord.png rename to src/content/docs/java/process/cross-server/setup/_assets/BungeeCord.png diff --git a/docs-java/process/cross-server/setup/_images/Velocity.png b/src/content/docs/java/process/cross-server/setup/_assets/Velocity.png similarity index 100% rename from docs-java/process/cross-server/setup/_images/Velocity.png rename to src/content/docs/java/process/cross-server/setup/_assets/Velocity.png diff --git a/docs-java/process/cross-server/setup/bungeecord/bungeecord.md b/src/content/docs/java/process/cross-server/setup/bungeecord/bungeecord.md similarity index 91% rename from docs-java/process/cross-server/setup/bungeecord/bungeecord.md rename to src/content/docs/java/process/cross-server/setup/bungeecord/bungeecord.md index a26c4a621..28a277f4b 100644 --- a/docs-java/process/cross-server/setup/bungeecord/bungeecord.md +++ b/src/content/docs/java/process/cross-server/setup/bungeecord/bungeecord.md @@ -6,7 +6,7 @@ sidebar_position: 1 # BungeeCord -![](../_images/BungeeCord.png) +![](../_assets/BungeeCord.png) 此篇教程适用于 BungeeCord / Waterfall diff --git a/docs-java/process/cross-server/setup/bungeecord/config-yml.md b/src/content/docs/java/process/cross-server/setup/bungeecord/config-yml.md similarity index 100% rename from docs-java/process/cross-server/setup/bungeecord/config-yml.md rename to src/content/docs/java/process/cross-server/setup/bungeecord/config-yml.md diff --git a/docs-java/process/cross-server/setup/bungeecord/lobby.md b/src/content/docs/java/process/cross-server/setup/bungeecord/lobby.md similarity index 100% rename from docs-java/process/cross-server/setup/bungeecord/lobby.md rename to src/content/docs/java/process/cross-server/setup/bungeecord/lobby.md diff --git a/docs-java/process/cross-server/setup/bungeecord/setup.md b/src/content/docs/java/process/cross-server/setup/bungeecord/setup.md similarity index 100% rename from docs-java/process/cross-server/setup/bungeecord/setup.md rename to src/content/docs/java/process/cross-server/setup/bungeecord/setup.md diff --git a/docs-java/process/cross-server/setup/setup.md b/src/content/docs/java/process/cross-server/setup/setup.md similarity index 100% rename from docs-java/process/cross-server/setup/setup.md rename to src/content/docs/java/process/cross-server/setup/setup.md diff --git a/docs-java/process/cross-server/setup/transfer/setup.md b/src/content/docs/java/process/cross-server/setup/transfer/setup.md similarity index 100% rename from docs-java/process/cross-server/setup/transfer/setup.md rename to src/content/docs/java/process/cross-server/setup/transfer/setup.md diff --git a/docs-java/process/cross-server/setup/transfer/transfer.md b/src/content/docs/java/process/cross-server/setup/transfer/transfer.md similarity index 100% rename from docs-java/process/cross-server/setup/transfer/transfer.md rename to src/content/docs/java/process/cross-server/setup/transfer/transfer.md diff --git a/docs-java/process/cross-server/setup/velocity-ctd/features.md b/src/content/docs/java/process/cross-server/setup/velocity-ctd/features.md similarity index 100% rename from docs-java/process/cross-server/setup/velocity-ctd/features.md rename to src/content/docs/java/process/cross-server/setup/velocity-ctd/features.md diff --git a/docs-java/process/cross-server/setup/velocity-ctd/lobby.md b/src/content/docs/java/process/cross-server/setup/velocity-ctd/lobby.md similarity index 100% rename from docs-java/process/cross-server/setup/velocity-ctd/lobby.md rename to src/content/docs/java/process/cross-server/setup/velocity-ctd/lobby.md diff --git a/docs-java/process/cross-server/setup/velocity-ctd/setup.md b/src/content/docs/java/process/cross-server/setup/velocity-ctd/setup.md similarity index 100% rename from docs-java/process/cross-server/setup/velocity-ctd/setup.md rename to src/content/docs/java/process/cross-server/setup/velocity-ctd/setup.md diff --git a/src/content/docs/java/process/cross-server/setup/velocity-ctd/velocity-ctd.md b/src/content/docs/java/process/cross-server/setup/velocity-ctd/velocity-ctd.md new file mode 100644 index 000000000..c1675747c --- /dev/null +++ b/src/content/docs/java/process/cross-server/setup/velocity-ctd/velocity-ctd.md @@ -0,0 +1,132 @@ +--- +title: Velocity-CTD +slug: /velocity-ctd +sidebar_position: 2 +--- + +# Velocity-CTD + +![](../_assets/Velocity.png) + +[点此跳转到 GitHub 仓库](https://github.com/GemstoneGG/Velocity-CTD) + +## 关于 Velocity-CTD 的介绍 + +### 什么是 Velocity-CTD? + +Velocity-CTD 是 Velocity 的一个增强分支,由 GemstoneGG 团队开发维护。它在保持 Velocity 原有优秀特性的基础上,添加了大量实用功能和性能优化,旨在提供"一体化"的代理服务器体验。 + +### 主要特性 + +- **完全兼容 Velocity**:所有 Velocity 的功能和配置都得到支持 +- **Redis 数据库支持**:内置 Redis 支持,可替代 RedisBungee 等插件 +- **高效队列系统**:内置动态队列系统,可稳定处理数千名玩家 +- **丰富的管理命令**:提供多种实用的管理和玩家命令 +- **多转发系统**:支持为不同服务器使用不同的转发方法 +- **性能优化**:使用更新的依赖项和各种性能优化 +- **MiniMessage 支持**:支持完全可配置的消息格式 + +### 为什么选择 Velocity-CTD? + +如果你需要以下功能,Velocity-CTD 是一个很好的选择: + +- 需要 Redis 支持但不想安装额外插件 +- 需要内置队列系统来管理服务器负载 +- 希望有更多的管理命令来简化服务器管理 +- 需要更好的性能和稳定性 +- 希望有一个"开箱即用"的解决方案 + +### 与标准 Velocity 的区别 + +Velocity-CTD 在标准 Velocity 基础上增加了: + +1. **内置功能**:Redis、队列系统、各种命令等 +2. **性能优化**:更新的依赖项和各种性能改进 +3. **管理便利性**:更多的配置选项和管理工具 +4. **稳定性增强**:针对大型服务器的稳定性改进 + +## 内置命令 + +### 玩家命令 + +- `/hub` 或 `/lobby` - 返回大厅服务器 +- `/ping [玩家]` - 查看延迟 +- `/find <玩家>` - 查找玩家所在服务器 +- `/server <服务器>` - 连接到指定服务器(支持队列) +- `/leavequeue` 或 `/dequeue` - 离开队列 + +### 管理员命令 + +- `/alert <消息>` - 向全网络发送公告 +- `/alertraw <消息>` - 发送无前缀公告 +- `/plist` - 查看代理服务器玩家列表 +- `/transfer <玩家|current|服务器|all> <目标代理>` - 转移玩家到其他代理 +- `/velocity sudo <玩家> <命令>` - 强制玩家执行命令 +- `/velocity uptime` - 查看代理服务器运行时间 +- `/velocity reload` - 重载配置文件 + +### 队列管理命令 + +- `/queueadmin add <玩家> <服务器>` - 添加玩家到队列 +- `/queueadmin addall <源服务器> <目标服务器>` - 添加整个服务器的玩家到队列 +- `/queueadmin list [服务器]` - 查看队列列表 +- `/queueadmin listqueues` - 查看所有队列 +- `/queueadmin pause <服务器>` - 暂停服务器队列 +- `/queueadmin unpause <服务器>` - 恢复服务器队列 +- `/queueadmin remove <玩家> [服务器]` - 从队列中移除玩家 +- `/queueadmin removeall <服务器>` - 清空服务器队列 + +## 权限系统 + +### 基础权限 + +- `velocity.command.alert` - 使用 /alert 命令 +- `velocity.command.alertraw` - 使用 /alertraw 命令 +- `velocity.command.find` - 使用 /find 命令 +- `velocity.command.hub` - 使用 /hub 和 /lobby 命令 +- `velocity.command.ping` - 使用 /ping 命令 +- `velocity.command.plist` - 使用 /plist 命令 +- `velocity.command.sudo` - 使用 /velocity sudo 命令 +- `velocity.command.transfer` - 使用 /transfer 命令 +- `velocity.command.uptime` - 使用 /velocity uptime 命令 + +### 队列权限 + +- `velocity.queue.bypass` - 绕过所有服务器的队列 +- `velocity.queue.bypass.<服务器>` - 绕过特定服务器的队列 +- `velocity.queue.leave` - 离开队列 +- `velocity.queue.priority..<权重>` - 设置队列优先级 +- `velocity.queue.timeout.<秒数>` - 设置队列超时时间 + +### 队列管理权限 + +- `velocity.queue.admin.add` - 添加玩家到队列 +- `velocity.queue.admin.addall` - 批量添加玩家到队列 +- `velocity.queue.admin.list` - 查看队列列表 +- `velocity.queue.admin.listqueues` - 查看所有队列 +- `velocity.queue.admin.pause` - 暂停队列 +- `velocity.queue.admin.remove` - 移除玩家从队列 +- `velocity.queue.admin.removeall` - 清空队列 +- `velocity.queue.admin.unpause` - 恢复队列 + +## FAQ + + + +1. Q:Velocity-CTD 与标准 Velocity 兼容吗? + +A:是的,Velocity-CTD 完全兼容标准 Velocity。你可以直接用 Velocity-CTD 替换 Velocity,所有配置和插件都能正常工作。 + +2. Q:Velocity-CTD 的性能如何? + +A:Velocity-CTD 在标准 Velocity 基础上进行了多项性能优化,包括更新的依赖项和各种性能改进,通常比标准 Velocity 性能更好。 + +3. Q:如何从标准 Velocity 迁移到 Velocity-CTD? + +A:直接替换 jar 文件即可,配置文件完全兼容。建议先备份现有配置,然后根据需要添加新功能的配置。 + +4. Q:多转发系统是什么? + +A:这是 Velocity-CTD 的独特功能,允许你为不同的子服务器使用不同的转发模式,比如某些服务器使用 modern 转发,某些使用 legacy 转发。 + + diff --git a/docs-java/process/cross-server/setup/velocity-ctd/velocity-toml.md b/src/content/docs/java/process/cross-server/setup/velocity-ctd/velocity-toml.md similarity index 100% rename from docs-java/process/cross-server/setup/velocity-ctd/velocity-toml.md rename to src/content/docs/java/process/cross-server/setup/velocity-ctd/velocity-toml.md diff --git a/docs-java/process/cross-server/setup/velocity/lobby.md b/src/content/docs/java/process/cross-server/setup/velocity/lobby.md similarity index 100% rename from docs-java/process/cross-server/setup/velocity/lobby.md rename to src/content/docs/java/process/cross-server/setup/velocity/lobby.md diff --git a/docs-java/process/cross-server/setup/velocity/setup.md b/src/content/docs/java/process/cross-server/setup/velocity/setup.md similarity index 100% rename from docs-java/process/cross-server/setup/velocity/setup.md rename to src/content/docs/java/process/cross-server/setup/velocity/setup.md diff --git a/docs-java/process/cross-server/setup/velocity/velocity-toml.md b/src/content/docs/java/process/cross-server/setup/velocity/velocity-toml.md similarity index 100% rename from docs-java/process/cross-server/setup/velocity/velocity-toml.md rename to src/content/docs/java/process/cross-server/setup/velocity/velocity-toml.md diff --git a/docs-java/process/cross-server/setup/velocity/velocity.md b/src/content/docs/java/process/cross-server/setup/velocity/velocity.md similarity index 86% rename from docs-java/process/cross-server/setup/velocity/velocity.md rename to src/content/docs/java/process/cross-server/setup/velocity/velocity.md index 21a8903dd..597fb872a 100644 --- a/docs-java/process/cross-server/setup/velocity/velocity.md +++ b/src/content/docs/java/process/cross-server/setup/velocity/velocity.md @@ -6,7 +6,7 @@ sidebar_position: 2 # Velocity -![](../_images/Velocity.png) +![](../_assets/Velocity.png) [点此跳转到官方英文文档](https://docs.papermc.io/velocity) @@ -22,11 +22,11 @@ Velocity 可以说是目前最优秀的 **Minecraft 代理端** 之一,由经 当然,mod 服务端原生不支持 Velocity,需要安装让 mod 端支持 Velocity 的 mod -- Fabric 端支持 Velocity mod:[CrossTitch](https://www.curseforge.com/minecraft/mc-mods/crossstitch) +- Fabric 端支持 Velocity mod:[CrossTitch](https://www.curseforge.com/minecraft/mc-mods/crossstitch) -- Fabric 端支持 Velocity mod:[FabricProxy-Lite](https://modrinth.com/mod/fabricproxy-lite) +- Fabric 端支持 Velocity mod:[FabricProxy-Lite](https://modrinth.com/mod/fabricproxy-lite) -- Forge 端支持 Velocity mod:[Proxy Compatible Forge](https://modrinth.com/mod/proxy-compatible-forge) +- Forge 端支持 Velocity mod:[Proxy Compatible Forge](https://modrinth.com/mod/proxy-compatible-forge) ## FAQ @@ -48,9 +48,9 @@ A: _这里是一些可能的原因_ 首先,你需要检查: -- 你有没有把子服务器打开,控制台有没有未响应? -- 代理端打开没? -- 是否将代理端和子服务器链接,也就是有没有在代理端设置子服务器 IP 和端口以及子服务器有没有启用 Velocity 功能 +- 你有没有把子服务器打开,控制台有没有未响应? +- 代理端打开没? +- 是否将代理端和子服务器链接,也就是有没有在代理端设置子服务器 IP 和端口以及子服务器有没有启用 Velocity 功能 此外,这是一些常见的代理端报错: diff --git a/docs-java/process/dashboard.md b/src/content/docs/java/process/dashboard.md similarity index 100% rename from docs-java/process/dashboard.md rename to src/content/docs/java/process/dashboard.md diff --git a/docs-java/process/database.md b/src/content/docs/java/process/database.md similarity index 100% rename from docs-java/process/database.md rename to src/content/docs/java/process/database.md diff --git a/docs-java/process/maintenance/anticheat/_images/anticheat/antixray-mode1-1.png b/src/content/docs/java/process/maintenance/anticheat/_assets/anticheat/antixray-mode1-1.png similarity index 100% rename from docs-java/process/maintenance/anticheat/_images/anticheat/antixray-mode1-1.png rename to src/content/docs/java/process/maintenance/anticheat/_assets/anticheat/antixray-mode1-1.png diff --git a/docs-java/process/maintenance/anticheat/_images/anticheat/antixray-mode2-1.png b/src/content/docs/java/process/maintenance/anticheat/_assets/anticheat/antixray-mode2-1.png similarity index 100% rename from docs-java/process/maintenance/anticheat/_images/anticheat/antixray-mode2-1.png rename to src/content/docs/java/process/maintenance/anticheat/_assets/anticheat/antixray-mode2-1.png diff --git a/docs-java/process/maintenance/anticheat/_images/anticheat/antixray-mode3-1.png b/src/content/docs/java/process/maintenance/anticheat/_assets/anticheat/antixray-mode3-1.png similarity index 100% rename from docs-java/process/maintenance/anticheat/_images/anticheat/antixray-mode3-1.png rename to src/content/docs/java/process/maintenance/anticheat/_assets/anticheat/antixray-mode3-1.png diff --git a/docs-java/process/maintenance/anticheat/_images/anticheat/antixray-nerher-mode1.png b/src/content/docs/java/process/maintenance/anticheat/_assets/anticheat/antixray-nerher-mode1.png similarity index 100% rename from docs-java/process/maintenance/anticheat/_images/anticheat/antixray-nerher-mode1.png rename to src/content/docs/java/process/maintenance/anticheat/_assets/anticheat/antixray-nerher-mode1.png diff --git a/docs-java/process/maintenance/anticheat/_images/anticheat/antixray-nerher-mode3.png b/src/content/docs/java/process/maintenance/anticheat/_assets/anticheat/antixray-nerher-mode3.png similarity index 100% rename from docs-java/process/maintenance/anticheat/_images/anticheat/antixray-nerher-mode3.png rename to src/content/docs/java/process/maintenance/anticheat/_assets/anticheat/antixray-nerher-mode3.png diff --git a/docs-java/process/maintenance/anticheat/_images/anticheat/antixray-nether-mode2.png b/src/content/docs/java/process/maintenance/anticheat/_assets/anticheat/antixray-nether-mode2.png similarity index 100% rename from docs-java/process/maintenance/anticheat/_images/anticheat/antixray-nether-mode2.png rename to src/content/docs/java/process/maintenance/anticheat/_assets/anticheat/antixray-nether-mode2.png diff --git a/docs-java/process/maintenance/anticheat/_images/anticheat/talentsaclogo.png b/src/content/docs/java/process/maintenance/anticheat/_assets/anticheat/talentsaclogo.png similarity index 100% rename from docs-java/process/maintenance/anticheat/_images/anticheat/talentsaclogo.png rename to src/content/docs/java/process/maintenance/anticheat/_assets/anticheat/talentsaclogo.png diff --git a/docs-java/process/maintenance/anticheat/_images/img.png b/src/content/docs/java/process/maintenance/anticheat/_assets/img.png similarity index 100% rename from docs-java/process/maintenance/anticheat/_images/img.png rename to src/content/docs/java/process/maintenance/anticheat/_assets/img.png diff --git a/docs-java/process/maintenance/anticheat/_images/img_1.png b/src/content/docs/java/process/maintenance/anticheat/_assets/img_1.png similarity index 100% rename from docs-java/process/maintenance/anticheat/_images/img_1.png rename to src/content/docs/java/process/maintenance/anticheat/_assets/img_1.png diff --git a/docs-java/process/maintenance/anticheat/anti-crash.md b/src/content/docs/java/process/maintenance/anticheat/anti-crash.md similarity index 100% rename from docs-java/process/maintenance/anticheat/anti-crash.md rename to src/content/docs/java/process/maintenance/anticheat/anti-crash.md diff --git a/docs-java/process/maintenance/anticheat/anticheat.md b/src/content/docs/java/process/maintenance/anticheat/anticheat.md similarity index 100% rename from docs-java/process/maintenance/anticheat/anticheat.md rename to src/content/docs/java/process/maintenance/anticheat/anticheat.md diff --git a/docs-java/process/maintenance/anticheat/anticheatplugins.md b/src/content/docs/java/process/maintenance/anticheat/anticheatplugins.md similarity index 89% rename from docs-java/process/maintenance/anticheat/anticheatplugins.md rename to src/content/docs/java/process/maintenance/anticheat/anticheatplugins.md index e7684a66f..4e62a8f1a 100644 --- a/docs-java/process/maintenance/anticheat/anticheatplugins.md +++ b/src/content/docs/java/process/maintenance/anticheat/anticheatplugins.md @@ -48,14 +48,14 @@ Matrix 是由国人 RE 编写的一款反作弊插件,当年诞生是用于取 付费版 - 99 RMB -- 拥有 95% 的检测 -- 可同时给 3 台机器使用 +- 拥有 95% 的检测 +- 可同时给 3 台机器使用 企业版 - 499 RMB -- 拥有所有检测 (虽然多的检测误判挺多的) -- 可同时给 40 台机器使用 -- 可对你的服务器进行深度定制 +- 拥有所有检测 (虽然多的检测误判挺多的) +- 可同时给 40 台机器使用 +- 可对你的服务器进行深度定制 如果你是生存服,可以先使用试用版进行测试,如何再进行付费版本的购买 @@ -129,13 +129,13 @@ Matrix 是由国人 RE 编写的一款反作弊插件,当年诞生是用于取 添加了其他反作弊不会反的部分,目前添加了以下: -- 一键整理 -- 自动钓鱼 -- 自动进食 -- 自动药水 -- 自动工具 -- 分析不可能发送的数据包 -- (以及更多) +- 一键整理 +- 自动钓鱼 +- 自动进食 +- 自动药水 +- 自动工具 +- 分析不可能发送的数据包 +- (以及更多) > 购买地址:https://www.spigotmc.org/resources/anticheataddition.33590/ @@ -154,7 +154,7 @@ CoordinateOffset 是一个坐标混淆插件,可以防止玩家通过 F3 调 需要安装前置 PacketEvent -![](_images/img.png) +![](_assets/img.png) @@ -163,15 +163,15 @@ AntiHealthIndicator 是一个防止黑客和模组用户查看其他玩家血量 **主要功能:** -- 隐藏玩家血量 -- 隐藏玩家氧气值 -- 隐藏玩家吸收效果 -- 隐藏玩家饱食度 -- 隐藏玩家游戏模式 -- 隐藏玩家经验值 -- 隐藏物品耐久度 -- 隐藏物品附魔 -- 隐藏物品堆叠数量 +- 隐藏玩家血量 +- 隐藏玩家氧气值 +- 隐藏玩家吸收效果 +- 隐藏玩家饱食度 +- 隐藏玩家游戏模式 +- 隐藏玩家经验值 +- 隐藏物品耐久度 +- 隐藏物品附魔 +- 隐藏物品堆叠数量 需要安装前置 PacketEvents @@ -241,18 +241,18 @@ syn-sniff 是一个被动 TCP/IP 协议栈指纹识别插件,通过分析网 **主要功能:** -- 被动嗅探 TCP/IP SYN 数据包进行指纹识别 -- 检测玩家的操作系统类型 +- 被动嗅探 TCP/IP SYN 数据包进行指纹识别 +- 检测玩家的操作系统类型 **系统要求:** -- pcap 原生库 (libpcap, WinPcap, Npcap) -- 管理员权限或 Linux Capabilities +- pcap 原生库 (libpcap, WinPcap, Npcap) +- 管理员权限或 Linux Capabilities **命令:** -- `/fingerprint ` - 查看原始 TCP/IP 指纹信息 -- `/predictos ` - 显示预测的操作系统 +- `/fingerprint ` - 查看原始 TCP/IP 指纹信息 +- `/predictos ` - 显示预测的操作系统 :::warning[注意] @@ -260,7 +260,7 @@ syn-sniff 是一个被动 TCP/IP 协议栈指纹识别插件,通过分析网 ::: -![](_images/img_1.png) +![](_assets/img_1.png) > GitHub: https://github.com/Duckulus/syn-sniff @@ -280,9 +280,9 @@ syn-sniff 是一个被动 TCP/IP 协议栈指纹识别插件,通过分析网 ## 反作弊配置 -![](./_images/anticheat/talentsaclogo.png) +![](./_assets/anticheat/talentsaclogo.png) -🛡人才反作弊配置🛡 +🛡 人才反作弊配置 🛡 > “别人在倚老卖老但我在以老带新,只为了给名利场刮点清风。” @@ -314,6 +314,6 @@ GitHub: https://github.com/Cubic-Project/Talents-AntiCheat-Config 高版本组合参考: -- Matrix + GrimAC -- NoCheatPlus + GrimAC -- Vulcan + Matrix +- Matrix + GrimAC +- NoCheatPlus + GrimAC +- Vulcan + Matrix diff --git a/docs-java/process/maintenance/anticheat/antixray.md b/src/content/docs/java/process/maintenance/anticheat/antixray.md similarity index 95% rename from docs-java/process/maintenance/anticheat/antixray.md rename to src/content/docs/java/process/maintenance/anticheat/antixray.md index 2ac7098fc..50bf34991 100644 --- a/docs-java/process/maintenance/anticheat/antixray.md +++ b/src/content/docs/java/process/maintenance/anticheat/antixray.md @@ -9,9 +9,9 @@ sidebar_position: 2 为什么常规的反作弊插件不会包括部分作弊类型? -- 矿物透视与种子破解其实是很难从服务器所收到的玩家行为包分析得到的。 -- 插件往往术语有专攻,一个过于齐全的插件会像 ESS / CMI 一样累赘。 -- 插件对于"种子"这种相当底层的特征的修改并不如核心稳定高效。 +- 矿物透视与种子破解其实是很难从服务器所收到的玩家行为包分析得到的。 +- 插件往往术语有专攻,一个过于齐全的插件会像 ESS / CMI 一样累赘。 +- 插件对于"种子"这种相当底层的特征的修改并不如核心稳定高效。 ## 矿物透视与种子破解 @@ -95,7 +95,7 @@ seed-stronghold: default 使用 [笨蛋脚本](https://script.8aka.org/auto_antixray),在服务器根目录执行脚本即可自动配置!! -⚠警告:`engine-mode: 3` 在 `Paper 1.19.3` 往后的版本才添加⚠ +⚠ 警告:`engine-mode: 3` 在 `Paper 1.19.3` 往后的版本才添加 ⚠ > 主世界推荐配置 @@ -163,7 +163,7 @@ anticheat: use-permission: false ``` -![test](_images/anticheat/antixray-mode2-1.png) +![test](_assets/anticheat/antixray-mode2-1.png)
@@ -223,7 +223,7 @@ anticheat: use-permission: false ``` -![test](_images/anticheat/antixray-mode3-1.png) +![test](_assets/anticheat/antixray-mode3-1.png)
@@ -262,7 +262,7 @@ anticheat: use-permission: false ``` -![test](_images/anticheat/antixray-mode1-1.png) +![test](_assets/anticheat/antixray-mode1-1.png)
@@ -303,7 +303,7 @@ anticheat: use-permission: false ``` -![test](_images/anticheat/antixray-nether-mode2.png) +![test](_assets/anticheat/antixray-nether-mode2.png) @@ -327,7 +327,7 @@ anticheat: use-permission: false ``` -![test](_images/anticheat/antixray-nerher-mode1.png) +![test](_assets/anticheat/antixray-nerher-mode1.png) @@ -361,7 +361,7 @@ anticheat: use-permission: false ``` -![test](_images/anticheat/antixray-nerher-mode3.png) +![test](_assets/anticheat/antixray-nerher-mode3.png) diff --git a/docs-java/process/maintenance/anticheat/honeypot.md b/src/content/docs/java/process/maintenance/anticheat/honeypot.md similarity index 100% rename from docs-java/process/maintenance/anticheat/honeypot.md rename to src/content/docs/java/process/maintenance/anticheat/honeypot.md diff --git a/docs-java/process/maintenance/anticheat/rng.md b/src/content/docs/java/process/maintenance/anticheat/rng.md similarity index 100% rename from docs-java/process/maintenance/anticheat/rng.md rename to src/content/docs/java/process/maintenance/anticheat/rng.md diff --git a/docs-java/process/maintenance/backup.md b/src/content/docs/java/process/maintenance/backup.md similarity index 100% rename from docs-java/process/maintenance/backup.md rename to src/content/docs/java/process/maintenance/backup.md diff --git a/docs-java/process/maintenance/how-to-defend-against-cyber-attacks.md b/src/content/docs/java/process/maintenance/how-to-defend-against-cyber-attacks.md similarity index 100% rename from docs-java/process/maintenance/how-to-defend-against-cyber-attacks.md rename to src/content/docs/java/process/maintenance/how-to-defend-against-cyber-attacks.md diff --git a/docs-java/process/maintenance/lang/javascript/extend/extend.md b/src/content/docs/java/process/maintenance/lang/javascript/extend/extend.md similarity index 100% rename from docs-java/process/maintenance/lang/javascript/extend/extend.md rename to src/content/docs/java/process/maintenance/lang/javascript/extend/extend.md diff --git a/docs-java/process/maintenance/lang/javascript/extend/graaljs.md b/src/content/docs/java/process/maintenance/lang/javascript/extend/graaljs.md similarity index 100% rename from docs-java/process/maintenance/lang/javascript/extend/graaljs.md rename to src/content/docs/java/process/maintenance/lang/javascript/extend/graaljs.md diff --git a/docs-java/process/maintenance/lang/javascript/extend/nashorn.md b/src/content/docs/java/process/maintenance/lang/javascript/extend/nashorn.md similarity index 100% rename from docs-java/process/maintenance/lang/javascript/extend/nashorn.md rename to src/content/docs/java/process/maintenance/lang/javascript/extend/nashorn.md diff --git a/docs-java/process/maintenance/lang/javascript/javascript.md b/src/content/docs/java/process/maintenance/lang/javascript/javascript.md similarity index 100% rename from docs-java/process/maintenance/lang/javascript/javascript.md rename to src/content/docs/java/process/maintenance/lang/javascript/javascript.md diff --git a/docs-java/process/maintenance/lang/kether/_images/Vulpecula/1.png b/src/content/docs/java/process/maintenance/lang/kether/_assets/Vulpecula/1.png similarity index 100% rename from docs-java/process/maintenance/lang/kether/_images/Vulpecula/1.png rename to src/content/docs/java/process/maintenance/lang/kether/_assets/Vulpecula/1.png diff --git a/docs-java/process/maintenance/lang/kether/_images/Vulpecula/2.png b/src/content/docs/java/process/maintenance/lang/kether/_assets/Vulpecula/2.png similarity index 100% rename from docs-java/process/maintenance/lang/kether/_images/Vulpecula/2.png rename to src/content/docs/java/process/maintenance/lang/kether/_assets/Vulpecula/2.png diff --git a/docs-java/process/maintenance/lang/kether/_images/Vulpecula/3.png b/src/content/docs/java/process/maintenance/lang/kether/_assets/Vulpecula/3.png similarity index 100% rename from docs-java/process/maintenance/lang/kether/_images/Vulpecula/3.png rename to src/content/docs/java/process/maintenance/lang/kether/_assets/Vulpecula/3.png diff --git a/docs-java/process/maintenance/lang/kether/_images/Vulpecula/4.png b/src/content/docs/java/process/maintenance/lang/kether/_assets/Vulpecula/4.png similarity index 100% rename from docs-java/process/maintenance/lang/kether/_images/Vulpecula/4.png rename to src/content/docs/java/process/maintenance/lang/kether/_assets/Vulpecula/4.png diff --git a/docs-java/process/maintenance/lang/kether/_images/Vulpecula/5.png b/src/content/docs/java/process/maintenance/lang/kether/_assets/Vulpecula/5.png similarity index 100% rename from docs-java/process/maintenance/lang/kether/_images/Vulpecula/5.png rename to src/content/docs/java/process/maintenance/lang/kether/_assets/Vulpecula/5.png diff --git a/docs-java/process/maintenance/lang/kether/_images/Vulpecula/6.png b/src/content/docs/java/process/maintenance/lang/kether/_assets/Vulpecula/6.png similarity index 100% rename from docs-java/process/maintenance/lang/kether/_images/Vulpecula/6.png rename to src/content/docs/java/process/maintenance/lang/kether/_assets/Vulpecula/6.png diff --git a/docs-java/process/maintenance/lang/kether/_images/Vulpecula/7.png b/src/content/docs/java/process/maintenance/lang/kether/_assets/Vulpecula/7.png similarity index 100% rename from docs-java/process/maintenance/lang/kether/_images/Vulpecula/7.png rename to src/content/docs/java/process/maintenance/lang/kether/_assets/Vulpecula/7.png diff --git a/docs-java/process/maintenance/lang/kether/_images/Vulpecula/8.png b/src/content/docs/java/process/maintenance/lang/kether/_assets/Vulpecula/8.png similarity index 100% rename from docs-java/process/maintenance/lang/kether/_images/Vulpecula/8.png rename to src/content/docs/java/process/maintenance/lang/kether/_assets/Vulpecula/8.png diff --git a/docs-java/process/maintenance/lang/kether/_images/Vulpecula/9.png b/src/content/docs/java/process/maintenance/lang/kether/_assets/Vulpecula/9.png similarity index 100% rename from docs-java/process/maintenance/lang/kether/_images/Vulpecula/9.png rename to src/content/docs/java/process/maintenance/lang/kether/_assets/Vulpecula/9.png diff --git a/docs-java/process/maintenance/lang/kether/_images/if_1.png b/src/content/docs/java/process/maintenance/lang/kether/_assets/if_1.png similarity index 100% rename from docs-java/process/maintenance/lang/kether/_images/if_1.png rename to src/content/docs/java/process/maintenance/lang/kether/_assets/if_1.png diff --git a/docs-java/process/maintenance/lang/kether/_images/if_2.png b/src/content/docs/java/process/maintenance/lang/kether/_assets/if_2.png similarity index 100% rename from docs-java/process/maintenance/lang/kether/_images/if_2.png rename to src/content/docs/java/process/maintenance/lang/kether/_assets/if_2.png diff --git a/docs-java/process/maintenance/lang/kether/_images/if_3.png b/src/content/docs/java/process/maintenance/lang/kether/_assets/if_3.png similarity index 100% rename from docs-java/process/maintenance/lang/kether/_images/if_3.png rename to src/content/docs/java/process/maintenance/lang/kether/_assets/if_3.png diff --git a/docs-java/process/maintenance/lang/kether/_images/inline.png b/src/content/docs/java/process/maintenance/lang/kether/_assets/inline.png similarity index 100% rename from docs-java/process/maintenance/lang/kether/_images/inline.png rename to src/content/docs/java/process/maintenance/lang/kether/_assets/inline.png diff --git a/docs-java/process/maintenance/lang/kether/_images/math_1.png b/src/content/docs/java/process/maintenance/lang/kether/_assets/math_1.png similarity index 100% rename from docs-java/process/maintenance/lang/kether/_images/math_1.png rename to src/content/docs/java/process/maintenance/lang/kether/_assets/math_1.png diff --git a/docs-java/process/maintenance/lang/kether/_images/result.png b/src/content/docs/java/process/maintenance/lang/kether/_assets/result.png similarity index 100% rename from docs-java/process/maintenance/lang/kether/_images/result.png rename to src/content/docs/java/process/maintenance/lang/kether/_assets/result.png diff --git a/docs-java/process/maintenance/lang/kether/_images/type_1.png b/src/content/docs/java/process/maintenance/lang/kether/_assets/type_1.png similarity index 100% rename from docs-java/process/maintenance/lang/kether/_images/type_1.png rename to src/content/docs/java/process/maintenance/lang/kether/_assets/type_1.png diff --git a/docs-java/process/maintenance/lang/kether/_images/var_1.png b/src/content/docs/java/process/maintenance/lang/kether/_assets/var_1.png similarity index 100% rename from docs-java/process/maintenance/lang/kether/_images/var_1.png rename to src/content/docs/java/process/maintenance/lang/kether/_assets/var_1.png diff --git a/docs-java/process/maintenance/lang/kether/_images/var_2.png b/src/content/docs/java/process/maintenance/lang/kether/_assets/var_2.png similarity index 100% rename from docs-java/process/maintenance/lang/kether/_images/var_2.png rename to src/content/docs/java/process/maintenance/lang/kether/_assets/var_2.png diff --git a/docs-java/process/maintenance/lang/kether/_images/var_3.png b/src/content/docs/java/process/maintenance/lang/kether/_assets/var_3.png similarity index 100% rename from docs-java/process/maintenance/lang/kether/_images/var_3.png rename to src/content/docs/java/process/maintenance/lang/kether/_assets/var_3.png diff --git a/docs-java/process/maintenance/lang/kether/_images/var_4.png b/src/content/docs/java/process/maintenance/lang/kether/_assets/var_4.png similarity index 100% rename from docs-java/process/maintenance/lang/kether/_images/var_4.png rename to src/content/docs/java/process/maintenance/lang/kether/_assets/var_4.png diff --git a/docs-java/process/maintenance/lang/kether/_images/var_5.png b/src/content/docs/java/process/maintenance/lang/kether/_assets/var_5.png similarity index 100% rename from docs-java/process/maintenance/lang/kether/_images/var_5.png rename to src/content/docs/java/process/maintenance/lang/kether/_assets/var_5.png diff --git a/docs-java/process/maintenance/lang/kether/_images/var_6.png b/src/content/docs/java/process/maintenance/lang/kether/_assets/var_6.png similarity index 100% rename from docs-java/process/maintenance/lang/kether/_images/var_6.png rename to src/content/docs/java/process/maintenance/lang/kether/_assets/var_6.png diff --git a/docs-java/process/maintenance/lang/kether/_images/var_7.png b/src/content/docs/java/process/maintenance/lang/kether/_assets/var_7.png similarity index 100% rename from docs-java/process/maintenance/lang/kether/_images/var_7.png rename to src/content/docs/java/process/maintenance/lang/kether/_assets/var_7.png diff --git a/docs-java/process/maintenance/lang/kether/_images/vul-check.png b/src/content/docs/java/process/maintenance/lang/kether/_assets/vul-check.png similarity index 100% rename from docs-java/process/maintenance/lang/kether/_images/vul-check.png rename to src/content/docs/java/process/maintenance/lang/kether/_assets/vul-check.png diff --git a/docs-java/process/maintenance/lang/kether/_images/vul-color.png b/src/content/docs/java/process/maintenance/lang/kether/_assets/vul-color.png similarity index 100% rename from docs-java/process/maintenance/lang/kether/_images/vul-color.png rename to src/content/docs/java/process/maintenance/lang/kether/_assets/vul-color.png diff --git a/docs-java/process/maintenance/lang/kether/_images/vul-papi.png b/src/content/docs/java/process/maintenance/lang/kether/_assets/vul-papi.png similarity index 100% rename from docs-java/process/maintenance/lang/kether/_images/vul-papi.png rename to src/content/docs/java/process/maintenance/lang/kether/_assets/vul-papi.png diff --git a/docs-java/process/maintenance/lang/kether/_images/vul-perm.png b/src/content/docs/java/process/maintenance/lang/kether/_assets/vul-perm.png similarity index 100% rename from docs-java/process/maintenance/lang/kether/_images/vul-perm.png rename to src/content/docs/java/process/maintenance/lang/kether/_assets/vul-perm.png diff --git a/docs-java/process/maintenance/lang/kether/_images/vul-permNot_1.png b/src/content/docs/java/process/maintenance/lang/kether/_assets/vul-permNot_1.png similarity index 100% rename from docs-java/process/maintenance/lang/kether/_images/vul-permNot_1.png rename to src/content/docs/java/process/maintenance/lang/kether/_assets/vul-permNot_1.png diff --git a/docs-java/process/maintenance/lang/kether/_images/vul-permNot_2.png b/src/content/docs/java/process/maintenance/lang/kether/_assets/vul-permNot_2.png similarity index 100% rename from docs-java/process/maintenance/lang/kether/_images/vul-permNot_2.png rename to src/content/docs/java/process/maintenance/lang/kether/_assets/vul-permNot_2.png diff --git a/docs-java/process/maintenance/lang/kether/_images/vul-tell.png b/src/content/docs/java/process/maintenance/lang/kether/_assets/vul-tell.png similarity index 100% rename from docs-java/process/maintenance/lang/kether/_images/vul-tell.png rename to src/content/docs/java/process/maintenance/lang/kether/_assets/vul-tell.png diff --git a/docs-java/process/maintenance/lang/kether/_images/vul-tell_color.png b/src/content/docs/java/process/maintenance/lang/kether/_assets/vul-tell_color.png similarity index 100% rename from docs-java/process/maintenance/lang/kether/_images/vul-tell_color.png rename to src/content/docs/java/process/maintenance/lang/kether/_assets/vul-tell_color.png diff --git a/docs-java/process/maintenance/lang/kether/_images/vul-tell_name.png b/src/content/docs/java/process/maintenance/lang/kether/_assets/vul-tell_name.png similarity index 100% rename from docs-java/process/maintenance/lang/kether/_images/vul-tell_name.png rename to src/content/docs/java/process/maintenance/lang/kether/_assets/vul-tell_name.png diff --git a/docs-java/process/maintenance/lang/kether/_images/vul-tell_noColor.png b/src/content/docs/java/process/maintenance/lang/kether/_assets/vul-tell_noColor.png similarity index 100% rename from docs-java/process/maintenance/lang/kether/_images/vul-tell_noColor.png rename to src/content/docs/java/process/maintenance/lang/kether/_assets/vul-tell_noColor.png diff --git a/docs-java/process/maintenance/lang/kether/_images/vul-tell_papiNoInline.png b/src/content/docs/java/process/maintenance/lang/kether/_assets/vul-tell_papiNoInline.png similarity index 100% rename from docs-java/process/maintenance/lang/kether/_images/vul-tell_papiNoInline.png rename to src/content/docs/java/process/maintenance/lang/kether/_assets/vul-tell_papiNoInline.png diff --git a/docs-java/process/maintenance/lang/kether/_images/vul-tell_papiWithInline.png b/src/content/docs/java/process/maintenance/lang/kether/_assets/vul-tell_papiWithInline.png similarity index 100% rename from docs-java/process/maintenance/lang/kether/_images/vul-tell_papiWithInline.png rename to src/content/docs/java/process/maintenance/lang/kether/_assets/vul-tell_papiWithInline.png diff --git a/docs-java/process/maintenance/lang/kether/_images/vul-tell_papiWithJoin.png b/src/content/docs/java/process/maintenance/lang/kether/_assets/vul-tell_papiWithJoin.png similarity index 100% rename from docs-java/process/maintenance/lang/kether/_images/vul-tell_papiWithJoin.png rename to src/content/docs/java/process/maintenance/lang/kether/_assets/vul-tell_papiWithJoin.png diff --git a/docs-java/process/maintenance/lang/kether/_images/vul-tell_tell.png b/src/content/docs/java/process/maintenance/lang/kether/_assets/vul-tell_tell.png similarity index 100% rename from docs-java/process/maintenance/lang/kether/_images/vul-tell_tell.png rename to src/content/docs/java/process/maintenance/lang/kether/_assets/vul-tell_tell.png diff --git a/docs-java/process/maintenance/lang/kether/_images/web-tell.png b/src/content/docs/java/process/maintenance/lang/kether/_assets/web-tell.png similarity index 100% rename from docs-java/process/maintenance/lang/kether/_images/web-tell.png rename to src/content/docs/java/process/maintenance/lang/kether/_assets/web-tell.png diff --git "a/docs-java/process/maintenance/lang/kether/_images/\345\206\222\346\261\227.jpg" "b/src/content/docs/java/process/maintenance/lang/kether/_assets/\345\206\222\346\261\227.jpg" similarity index 100% rename from "docs-java/process/maintenance/lang/kether/_images/\345\206\222\346\261\227.jpg" rename to "src/content/docs/java/process/maintenance/lang/kether/_assets/\345\206\222\346\261\227.jpg" diff --git "a/docs-java/process/maintenance/lang/kether/_images/\346\213\254\345\217\267.png" "b/src/content/docs/java/process/maintenance/lang/kether/_assets/\346\213\254\345\217\267.png" similarity index 100% rename from "docs-java/process/maintenance/lang/kether/_images/\346\213\254\345\217\267.png" rename to "src/content/docs/java/process/maintenance/lang/kether/_assets/\346\213\254\345\217\267.png" diff --git "a/docs-java/process/maintenance/lang/kether/_images/\346\255\243\347\273\217\347\254\221.jpg" "b/src/content/docs/java/process/maintenance/lang/kether/_assets/\346\255\243\347\273\217\347\254\221.jpg" similarity index 100% rename from "docs-java/process/maintenance/lang/kether/_images/\346\255\243\347\273\217\347\254\221.jpg" rename to "src/content/docs/java/process/maintenance/lang/kether/_assets/\346\255\243\347\273\217\347\254\221.jpg" diff --git "a/docs-java/process/maintenance/lang/kether/_images/\347\227\264\345\221\206.jpg" "b/src/content/docs/java/process/maintenance/lang/kether/_assets/\347\227\264\345\221\206.jpg" similarity index 100% rename from "docs-java/process/maintenance/lang/kether/_images/\347\227\264\345\221\206.jpg" rename to "src/content/docs/java/process/maintenance/lang/kether/_assets/\347\227\264\345\221\206.jpg" diff --git a/docs-java/process/maintenance/lang/kether/basic.md b/src/content/docs/java/process/maintenance/lang/kether/basic.md similarity index 88% rename from docs-java/process/maintenance/lang/kether/basic.md rename to src/content/docs/java/process/maintenance/lang/kether/basic.md index 08215568a..da67a2652 100644 --- a/docs-java/process/maintenance/lang/kether/basic.md +++ b/src/content/docs/java/process/maintenance/lang/kether/basic.md @@ -15,7 +15,7 @@ sidebar_position: 2 > https://kether.tabooproject.org/list.html#Tell -![](_images/vul-tell.png) +![](_assets/vul-tell.png) 这个动作的作用是给玩家发送一条信息 (图中的 1) @@ -25,7 +25,7 @@ sidebar_position: 2 非调试 (`/vul evel`) 是不会看到这个的 -![](_images/result.png) +![](_assets/result.png) 也就是说你的玩家在用你写好的配置时是不会看到这个信息的 @@ -33,7 +33,7 @@ sidebar_position: 2 然而,他不能搞颜色 -![](_images/vul-tell_noColor.png) +![](_assets/vul-tell_noColor.png) 我们可以用下面的 `color Text` 动作来搞颜色 @@ -41,7 +41,7 @@ sidebar_position: 2 > https://kether.tabooproject.org/list.html#Color_Text -![](_images/vul-color.png) +![](_assets/vul-color.png) 这里要用 `" "` 把要打印的信息包裹起来 @@ -55,13 +55,13 @@ sidebar_position: 2 ## 语句的连用 -![](_images/vul-tell_color.png) +![](_assets/vul-tell_color.png) 我们同时使用了 tell 和 color 两个语句,打印了带颜色的信息给玩家看 ## 语句的返回值 -![](_images/vul-color.png) +![](_assets/vul-color.png) 在使用 `/vul evel` 时,语句的返回值会在 `< > Result:` 显示 @@ -71,9 +71,9 @@ sidebar_position: 2 **番外:**那么如果我们把 `tell` 的返回值打印呢 -![](_images/vul-tell_tell.png) +![](_assets/vul-tell_tell.png) -![](_images/痴呆.jpg) +![](_assets/痴呆.jpg) ## \{action\},\{token\}和 Literal @@ -83,18 +83,18 @@ sidebar_position: 2 比如 `Tell` 动作的: -![](_images/web-tell.png) +![](_assets/web-tell.png) 用我浅显的理解: -- `{action}` 这里要写一个语句 -- `{token}` 写固定不变的内容 +- `{action}` 这里要写一个语句 +- `{token}` 写固定不变的内容 所以在 [语句的连用](#语句的连用) 那里,我们可以在 `tell` 后面接一个 `color` 动作 那么问题来了,为什么在 [Tell](#输出文本-tell) 那里可以接一句话 (此处写了个 1)? -![](_images/vul-tell.png) +![](_assets/vul-tell.png) 因为在这个示例中,kether 找不到名为 `1` 的动作,所以用了 `Literal` 动作将他转为字符串 @@ -110,7 +110,7 @@ sidebar_position: 2 翻译一个 papi 变量 (如图) -![](_images/vul-papi.png) +![](_assets/vul-papi.png) ```kether papi {action} | placeholder {action} @@ -120,7 +120,7 @@ papi {action} | placeholder {action} ## inline 和 join -![](_images/vul-tell_papiNoInline.png) +![](_assets/vul-tell_papiNoInline.png) 假如你用的那个插件不会给你自动翻译动作中的 papi,阁下又当如何应对? @@ -140,7 +140,7 @@ inline "阿巴阿巴{{你要用的kether}}qwq" /vul eval tell inline "我叫{{papi %player_name%}},我今年{{papi %player_level%}}级了" ``` -![](_images/vul-tell_papiWithInline.png) +![](_assets/vul-tell_papiWithInline.png) > https://kether.tabooproject.org/list.html#Join @@ -160,7 +160,7 @@ join [ 动作1 动作2 动作3 更多 ] /vul eval tell join [ "我叫" papi %player_name% ",我今年" papi %player_level% "级了" ] ``` -![](_images/vul-tell_papiWithJoin.png) +![](_assets/vul-tell_papiWithJoin.png) ## 玩家名称 @@ -190,4 +190,4 @@ player [(display|list) ] name /vul eval tell inline "我叫{{player name}}!我叫{{sender}}!!我真的叫{{papi %player_name%}}!!!" ``` -![](_images/vul-tell_name.png) +![](_assets/vul-tell_name.png) diff --git a/docs-java/process/maintenance/lang/kether/if.md b/src/content/docs/java/process/maintenance/lang/kether/if.md similarity index 92% rename from docs-java/process/maintenance/lang/kether/if.md rename to src/content/docs/java/process/maintenance/lang/kether/if.md index 5ca39376f..b760839f5 100644 --- a/docs-java/process/maintenance/lang/kether/if.md +++ b/src/content/docs/java/process/maintenance/lang/kether/if.md @@ -19,7 +19,7 @@ sidebar_position: 3 判断玩家是否拥有某权限,如果是,则返回 **true** ,否,则返回 **false** -![](_images/vul-perm.png) +![](_assets/vul-perm.png) 我是 OP,所以我拥有此权限,返回了 true @@ -29,18 +29,18 @@ sidebar_position: 3 上面是判断拥有此权限,那么我如何判断不拥有此权限呢? -![](_images/vul-permNot_1.png) +![](_assets/vul-permNot_1.png) -![](_images/正经笑.jpg) +![](_assets/正经笑.jpg) 咳咳,开玩笑的,驿站怎么可能用过这么傻逼的写法呢 -![](_images/冒汗.jpg) +![](_assets/冒汗.jpg) > https://kether.tabooproject.org/list.html#Not > 判断动作的返回值是否为否,即否定动作的结果。 -![](_images/vul-permNot_2.png) +![](_assets/vul-permNot_2.png) 因为我拥有此权限,所以 perm 判断是 true @@ -71,7 +71,7 @@ check 动作1 {symbol} 动作2 9. 右含左 (in):左侧 action A 的返回值是否属于右侧 action B 返回值的内容之一 10. 左含右 (has):左侧 action A 是否含有右侧 action B 内容 -![](_images/vul-check.png) +![](_assets/vul-check.png) ## 分支判断 (if esle) @@ -87,7 +87,7 @@ check 动作1 {symbol} 动作2 注:这里的条件也是指动作,即 动作的返回值为 **true** 则执行 then 后面的动作 -![](_images/if_1.png) +![](_assets/if_1.png) 上面只是执行单个动作,那么,如何让他判断 **true** 后执行多行动作? @@ -105,8 +105,8 @@ if 条件 then { /vul eval if 条件 then true 执行的动作 else false 执行的动作 ``` -- 条件为 true 执行 then 后面的动作 -- 条件为 false 执行 else 后面的动作 +- 条件为 true 执行 then 后面的动作 +- 条件为 false 执行 else 后面的动作 执行多行动作 @@ -218,7 +218,7 @@ all [ 动作1 动作2 动作3 更多 ] 玩家拥有权限 vulpecula.command 没有权限 luckperms.editor 则通过,否则不通过 -![](_images/if_2.png) +![](_assets/if_2.png) ### 一个满足 (Any) @@ -235,9 +235,9 @@ any [ 动作1 动作2 动作3 更多 ] /vul eval if any [ perm vulpecula.command not perm luckperms.editor ] then tell 通过 else 不通过 ``` -*玩家拥有权限 vulpecula.command* 和 *没有权限 luckperms.editor* 满足其中一个或多个就通过 +_玩家拥有权限 vulpecula.command_ 和 _没有权限 luckperms.editor_ 满足其中一个或多个就通过 -![](_images/if_3.png) +![](_assets/if_3.png) ### 妙妙写法 diff --git a/docs-java/process/maintenance/lang/kether/kether.md b/src/content/docs/java/process/maintenance/lang/kether/kether.md similarity index 100% rename from docs-java/process/maintenance/lang/kether/kether.md rename to src/content/docs/java/process/maintenance/lang/kether/kether.md diff --git a/docs-java/process/maintenance/lang/kether/math.md b/src/content/docs/java/process/maintenance/lang/kether/math.md similarity index 79% rename from docs-java/process/maintenance/lang/kether/math.md rename to src/content/docs/java/process/maintenance/lang/kether/math.md index 79c4f315a..d7a44a555 100644 --- a/docs-java/process/maintenance/lang/kether/math.md +++ b/src/content/docs/java/process/maintenance/lang/kether/math.md @@ -43,19 +43,19 @@ math 1 + 3 * 5 / 6 - 2 /vul eval set a to 1 set b to 2 math &a - &b ``` -![](_images/math_1.png) +![](_assets/math_1.png) ## calc 详细请查看:https://github.com/TabooLib/taboolib/blob/master/module/module-kether/src/main/kotlin/taboolib/module/kether/action/transform/ActionJexl3.kt -- 加法:`a + b` -- 减法:`a - b` -- 乘法:`a \* b` -- 除法:`a / b` +- 加法:`a + b` +- 减法:`a - b` +- 乘法:`a \* b` +- 除法:`a / b` -- 取余:取余操作使用 `%` 符号。例如,计算 `10` 除以 `3` 的余数:`10 % 3`。 +- 取余:取余操作使用 `%` 符号。例如,计算 `10` 除以 `3` 的余数:`10 % 3`。 当然也可以使用括号: -![](_images/括号.png) +![](_assets/括号.png) diff --git a/docs-java/process/maintenance/lang/kether/misc.md b/src/content/docs/java/process/maintenance/lang/kether/misc.md similarity index 97% rename from docs-java/process/maintenance/lang/kether/misc.md rename to src/content/docs/java/process/maintenance/lang/kether/misc.md index 07ddfa94f..2e9a26e34 100644 --- a/docs-java/process/maintenance/lang/kether/misc.md +++ b/src/content/docs/java/process/maintenance/lang/kether/misc.md @@ -31,7 +31,7 @@ inline 是在一段文本中插入语句,实际上会创造一个新的 Kether 同时,你也不能使用原插件提供的 Kether 私有语句,不过你可以尝试 [导入语句](https://www.yuque.com/sacredcraft/kether/namespace#zVbkg) -![](_images/inline.png) +![](_assets/inline.png) ## join diff --git a/docs-java/process/maintenance/lang/kether/preparation.md b/src/content/docs/java/process/maintenance/lang/kether/preparation.md similarity index 96% rename from docs-java/process/maintenance/lang/kether/preparation.md rename to src/content/docs/java/process/maintenance/lang/kether/preparation.md index eafdbc645..a6f704ac8 100644 --- a/docs-java/process/maintenance/lang/kether/preparation.md +++ b/src/content/docs/java/process/maintenance/lang/kether/preparation.md @@ -17,7 +17,7 @@ sidebar_position: 1 你只需要知道他可以 `/vul eval` 来执行 kether 和用他来注册命令 -![](_images/vul-tell.png) +![](_assets/vul-tell.png) ::: diff --git a/docs-java/process/maintenance/lang/kether/variable.md b/src/content/docs/java/process/maintenance/lang/kether/variable.md similarity index 93% rename from docs-java/process/maintenance/lang/kether/variable.md rename to src/content/docs/java/process/maintenance/lang/kether/variable.md index a92af8eaa..ce414de87 100644 --- a/docs-java/process/maintenance/lang/kether/variable.md +++ b/src/content/docs/java/process/maintenance/lang/kether/variable.md @@ -24,7 +24,7 @@ sidebar_position: 4 type {token} | type {type} {action} ``` -![](_images/type_1.png) +![](_assets/type_1.png) ### 自动类型转换 @@ -54,7 +54,7 @@ set {token} {token} | set {token} to {action} 注意上面的语法,前者只能输入固定内容,后者可以把动作的返回值传入变量 -![](_images/var_1.png) +![](_assets/var_1.png) 接着我们获取下这个变量 @@ -66,7 +66,7 @@ set {token} {token} | set {token} to {action} get {token} | &{token} ``` -![](_images/var_2.png) +![](_assets/var_2.png) 啪!空的! @@ -84,13 +84,13 @@ get {token} | &{token} /vul eval set yizhan to 114514 tell get yizhan ``` -![](_images/var_3.png) +![](_assets/var_3.png) 成功得到了变量里的内容! 对于获取变量,我们有个更简单的办法 `&{token}` -![](_images/var_4.png) +![](_assets/var_4.png) 看到这里,你就应该知道,为什么前面讲 [彩色 (Color Text)](./basic.md#彩色-color-text) 动作的时候会说 @@ -115,7 +115,7 @@ array [ 动作1 动作2 动作3 更多 ] 我们搓一个出来玩玩 -![](_images/var_5.png) +![](_assets/var_5.png) 在这个集合中,数据被英文 `,` 分割开来,我们称为 **元素** @@ -133,7 +133,7 @@ set yizhan to array [ HelloWord! player name 0.0 ] 我们给每个元素都标上号,然后获取指定号数的就好啦!`&变量名[标号]` -![](_images/var_6.png) +![](_assets/var_6.png) 注意!标号是从 **0** 开始的 @@ -146,7 +146,7 @@ set yizhan to array [ HelloWord! player name 0.0 ] 我们还有一种办法获取到指定元素的值,那就是 `element` 动作 -![](_images/var_7.png) +![](_assets/var_7.png) ## TrMenu diff --git a/docs-java/process/maintenance/lang/kether/vulpecula.md b/src/content/docs/java/process/maintenance/lang/kether/vulpecula.md similarity index 59% rename from docs-java/process/maintenance/lang/kether/vulpecula.md rename to src/content/docs/java/process/maintenance/lang/kether/vulpecula.md index 6849b760f..39dc35e7c 100644 --- a/docs-java/process/maintenance/lang/kether/vulpecula.md +++ b/src/content/docs/java/process/maintenance/lang/kether/vulpecula.md @@ -5,27 +5,27 @@ sidebar_position: 11 # Vulpecula -## ![介绍](_images/Vulpecula/1.png) +## ![介绍](_assets/Vulpecula/1.png) -![](_images/Vulpecula/2.png) +![](_assets/Vulpecula/2.png) -![](_images/Vulpecula/3.png) +![](_assets/Vulpecula/3.png) -![](_images/Vulpecula/4.png) +![](_assets/Vulpecula/4.png) -![](_images/Vulpecula/5.png) +![](_assets/Vulpecula/5.png) -![](_images/Vulpecula/6.png) +![](_assets/Vulpecula/6.png) ## 链接 -[![](_images/Vulpecula/7.png)](https://www.yuque.com/lanscarlos/vulpecula-doc) +[![](_assets/Vulpecula/7.png)](https://www.yuque.com/lanscarlos/vulpecula-doc) -[![](_images/Vulpecula/8.png)](https://qm.qq.com/cgi-bin/qm/qr?k=vVP1cAuLlLbqjXGXkfTFH0RSma6wEVgO&jump_from=webapi&authKey=ZUgddursAqJI8tRm4MnKtr2cEUrDc0ZEasB5motBJv/igZ19T48pS/XDXStXWT53) +[![](_assets/Vulpecula/8.png)](https://qm.qq.com/cgi-bin/qm/qr?k=vVP1cAuLlLbqjXGXkfTFH0RSma6wEVgO&jump_from=webapi&authKey=ZUgddursAqJI8tRm4MnKtr2cEUrDc0ZEasB5motBJv/igZ19T48pS/XDXStXWT53) -[![](_images/Vulpecula/9.png)](https://afdian.net/a/lanscarlos) +[![](_assets/Vulpecula/9.png)](https://afdian.net/a/lanscarlos) :::info diff --git a/docs-java/process/maintenance/lang/lang.md b/src/content/docs/java/process/maintenance/lang/lang.md similarity index 100% rename from docs-java/process/maintenance/lang/lang.md rename to src/content/docs/java/process/maintenance/lang/lang.md diff --git a/docs-java/process/maintenance/lang/skript/_images/QuerySubclasses.png b/src/content/docs/java/process/maintenance/lang/skript/_assets/QuerySubclasses.png similarity index 100% rename from docs-java/process/maintenance/lang/skript/_images/QuerySubclasses.png rename to src/content/docs/java/process/maintenance/lang/skript/_assets/QuerySubclasses.png diff --git a/docs-java/process/maintenance/lang/skript/_images/SearchEvent.png b/src/content/docs/java/process/maintenance/lang/skript/_assets/SearchEvent.png similarity index 100% rename from docs-java/process/maintenance/lang/skript/_images/SearchEvent.png rename to src/content/docs/java/process/maintenance/lang/skript/_assets/SearchEvent.png diff --git a/docs-java/process/maintenance/lang/skript/_images/SearchMethods.png b/src/content/docs/java/process/maintenance/lang/skript/_assets/SearchMethods.png similarity index 100% rename from docs-java/process/maintenance/lang/skript/_images/SearchMethods.png rename to src/content/docs/java/process/maintenance/lang/skript/_assets/SearchMethods.png diff --git a/docs-java/process/maintenance/lang/skript/_images/SkriptBasic1.png b/src/content/docs/java/process/maintenance/lang/skript/_assets/SkriptBasic1.png similarity index 100% rename from docs-java/process/maintenance/lang/skript/_images/SkriptBasic1.png rename to src/content/docs/java/process/maintenance/lang/skript/_assets/SkriptBasic1.png diff --git a/docs-java/process/maintenance/lang/skript/advanced-tutorials.md b/src/content/docs/java/process/maintenance/lang/skript/advanced-tutorials.md similarity index 92% rename from docs-java/process/maintenance/lang/skript/advanced-tutorials.md rename to src/content/docs/java/process/maintenance/lang/skript/advanced-tutorials.md index a93abf299..a6d44c173 100644 --- a/docs-java/process/maintenance/lang/skript/advanced-tutorials.md +++ b/src/content/docs/java/process/maintenance/lang/skript/advanced-tutorials.md @@ -15,13 +15,13 @@ sidebar_position: 3 为什么需要 skript-reflect? -- 正确编写插件是很困难的,特别是如果你是 **Java** 的新手。 **skript-reflect** 将为你负重前行,让你专注于编写高质量的 **Skript** 脚本。 +- 正确编写插件是很困难的,特别是如果你是 **Java** 的新手。 **skript-reflect** 将为你负重前行,让你专注于编写高质量的 **Skript** 脚本。 -- 与通常需要编译并重启服务器才能生效的 Java 插件不同,使用 skript-reflect 编写的 Skript 脚本可以通过简单的 sk reload 快速重载并测试。 +- 与通常需要编译并重启服务器才能生效的 Java 插件不同,使用 skript-reflect 编写的 Skript 脚本可以通过简单的 sk reload 快速重载并测试。 -- 在 sk 脚本中实现某些功能可能需要使用反射来访问私有方法、字段和构造函数。 **skript-reflect** 的内置反射允许你无缝访问这些私有成员。 +- 在 sk 脚本中实现某些功能可能需要使用反射来访问私有方法、字段和构造函数。 **skript-reflect** 的内置反射允许你无缝访问这些私有成员。 -- **Skript** 的基本特性之一是其极大的可定制性。使用 **skript-reflect** 编写的扩展使 sk 的这点更为突出,这允许你在必要时快速更改你的代码。 +- **Skript** 的基本特性之一是其极大的可定制性。使用 **skript-reflect** 编写的扩展使 sk 的这点更为突出,这允许你在必要时快速更改你的代码。 下面的代码块包含了一些 **skript-reflect** 基础的语法。 @@ -93,13 +93,13 @@ on TPARequestEvent: 我们需要找到 bot 事件到底是哪个,查询 [Leaves 的 Javadoc](https://repo.leavesmc.org/javadoc/snapshots/org/leavesmc/leaves/leaves-api/1.20.6-R0.1-SNAPSHOT): -![搜索事件](_images/SearchEvent.png) +![搜索事件](_assets/SearchEvent.png) 这里查询找到了 `org.leavesmc.leaves.event.bot.BotEvent` 事件。 看命名就知道应该会有更详细的 **子类** 来 **继承** 它,点进去看看,可以看到: -![查找子类](_images/QuerySubclasses.png) +![查找子类](_assets/QuerySubclasses.png) 通过看类名可以知道,`BotJoinEvent` 就是我们要的事件。 @@ -107,7 +107,7 @@ on TPARequestEvent: 接下来让我们看看这个类有哪些 **方法**。 -![查找方法](_images/SearchMethods.png) +![查找方法](_assets/SearchMethods.png) 可以看到,最主要的是一个 `getBot()` 方法,在让我们看看这个方法会返回什么。 @@ -147,7 +147,7 @@ on BotJoinEvent: #### 导入 Java 类 -##### *在解析时导入类 (推荐)* +##### _在解析时导入类 (推荐)_ 在大多数情况下,无需运行脚本即可知道所需类的确切限定名称。如果是这种情况,你应该使用 **skript-reflect** 的 `import` 块: @@ -186,7 +186,7 @@ command /example: 由于 **Minecraft** 1.17 以下版本的 **NMS** 包会随着每个 **Minecraft** 版本而变化,因此你应该动态生成包前缀。有关详细信息,请参阅 [计算选项](https://tpgamesnl.gitbook.io/skript-reflect/advanced/computed-options#using-computed-options-for-nms-imports)。 -##### *在运行时导入类* +##### _在运行时导入类_ 有时,在执行脚本之前,无法确定所需的类引用。 @@ -206,7 +206,7 @@ on script load: message "%{Player}%" # org.bukkit.entity.Player ``` -###### *从对象* +###### _从对象_ 语法: @@ -235,7 +235,7 @@ import [as ] 此导入只能在以上效果命令中使用,直到你停止服务器。 -##### *处理内部类* +##### _处理内部类_ 有时,一个类可能嵌套在另一个类中。当引用类的完全限定名称时,内部类使用一个 `$` 而不是 `.` @@ -260,7 +260,7 @@ on load: #### 运行 Java 代码 -##### *调用方法* +##### _调用方法_ 语法: @@ -301,7 +301,7 @@ System.out.println[Object]({_something}) Math.max[int, int](0, {_value}) ``` -##### *调用字段* +##### _调用字段_ 语法: @@ -319,7 +319,7 @@ Math.max[int, int](0, {_value}) {_hashmap}.[HashMap]modCount ``` -##### *调用构造函数* +##### _调用构造函数_ 语法: @@ -412,12 +412,12 @@ on EnderDragonChangePhaseEvent with priority highest: 事件优先级: -- lowest -- low -- normal -- high -- highest -- monitor +- lowest +- low +- normal +- high +- highest +- monitor ##### 处理已取消的事件 diff --git a/docs-java/process/maintenance/lang/skript/basic-tutorials.md b/src/content/docs/java/process/maintenance/lang/skript/basic-tutorials.md similarity index 91% rename from docs-java/process/maintenance/lang/skript/basic-tutorials.md rename to src/content/docs/java/process/maintenance/lang/skript/basic-tutorials.md index 64fa76848..185ddbe74 100644 --- a/docs-java/process/maintenance/lang/skript/basic-tutorials.md +++ b/src/content/docs/java/process/maintenance/lang/skript/basic-tutorials.md @@ -212,7 +212,7 @@ on join: 在侧边栏中选中 (Skript 和 Events) 后,在搜索栏中输入 "on command",得到以下结果。 -![](_images/SkriptBasic1.png) +![](_assets/SkriptBasic1.png) #### 语法 @@ -602,18 +602,18 @@ command /world : 在 "Has Permission" 下 "Patterns" 给了我们两种标准格式用法: -- `%players/console% (has|have) [the] permission[s] %texts%` -- `%players/console% (doesn't|does not|do not|don't) have [the] permission[s] %texts%` +- `%players/console% (has|have) [the] permission[s] %texts%` +- `%players/console% (doesn't|does not|do not|don't) have [the] permission[s] %texts%` 针对这样的格式,我相信很多人可能一头雾水。了解如下几点,或许能帮助你更好的了解用法: -- "[]" 内可以省略 -- "(...|...)" 内必须选择一项填写 -- "%%" 内必须根据其所对应的类型进行填写 +- "[]" 内可以省略 +- "(...|...)" 内必须选择一项填写 +- "%%" 内必须根据其所对应的类型进行填写 -- `player has permission "player.op"` -- `player have the permissions "player.op"` -- `player have permissions "player.op"` +- `player has permission "player.op"` +- `player have the permissions "player.op"` +- `player have permissions "player.op"` 正如之前所说的:可以省略的地方,无论如何搭配,表达的意思都是一样的。 @@ -673,12 +673,12 @@ on command "/op": 通过在官方 Doc 搜索,我们得知关于 Title 相关的 Effects 一共有两个: -- [EffResetTitle](https://docs.skriptlang.org/docs.html?search=#EffResetTitle) - "Resets the title of the player to the default values." - "重置玩家的 Title 至默认值" -- [EffSendTitle](https://docs.skriptlang.org/docs.html?search=#EffSendTitle) - "Sends a title/subtitle to the given player(s) with optional fadein/stay/fadeout times." - "发送 Title/Subtitle 至指定玩家 可自定义渐入和淡出的时间" +- [EffResetTitle](https://docs.skriptlang.org/docs.html?search=#EffResetTitle) + "Resets the title of the player to the default values." + "重置玩家的 Title 至默认值" +- [EffSendTitle](https://docs.skriptlang.org/docs.html?search=#EffSendTitle) + "Sends a title/subtitle to the given player(s) with optional fadein/stay/fadeout times." + "发送 Title/Subtitle 至指定玩家 可自定义渐入和淡出的时间" 我们需要知道的是 #EffSendTitle 的用法。关于怎么用,这里本质上和学习 Conditions(条件) 一样,我们将注意点放在 "Patterns" 上。 @@ -693,9 +693,9 @@ send subtitle %text% [to %players%] [for %time span%] [with fade[(-| )]in %time 按照我们提到的原则: -- "[]" 内可以省略 -- "(...|...)" 内必须选择一项填写 -- "%%" 内必须根据其所对应的类型进行填写 +- "[]" 内可以省略 +- "(...|...)" 内必须选择一项填写 +- "%%" 内必须根据其所对应的类型进行填写 我们大致上认识到行动的基本用法,即: `send title "..." with subtitle "..." to player for ... seconds with fade-in ... seconds and fade-out ... seconds` @@ -755,9 +755,9 @@ Effect (效果) 所能提供的 只有 "生成" 位置的英文单词是 "Location" 我们在官方 Doc 查到了多种有关 "Location" 的表达 -- https://docs.skriptlang.org/docs.html?search=#ExprLocation -- https://docs.skriptlang.org/docs.html?search=#ExprLocationOf -- https://docs.skriptlang.org/docs.html?search=#ExprLocationAt +- https://docs.skriptlang.org/docs.html?search=#ExprLocation +- https://docs.skriptlang.org/docs.html?search=#ExprLocationOf +- https://docs.skriptlang.org/docs.html?search=#ExprLocationAt 我们需要什么呢?我们需要 "玩家所在的位置"。相同地,通过查看官方的注释,我们知道我们需要的是 #ExprLocationOf (The location of a block or entity.)。 @@ -777,8 +777,8 @@ https://docs.skriptlang.org/classes.html 与之相对应的,我们分别在 Types (类别) 中找到: -- https://docs.skriptlang.org/docs.html?search=#player -- https://docs.skriptlang.org/docs.html?search=#entity +- https://docs.skriptlang.org/docs.html?search=#player +- https://docs.skriptlang.org/docs.html?search=#entity 综合上面我们所获得的信息 我们获得了完整一行代码: @@ -792,9 +792,9 @@ WOW,恭喜你!看到这,你就可以开始尝试着写一些插件了。 这里刚好有一个例子,不妨动动手,试一试。 -- 在玩家破坏方块时 检查玩家是否有 "fundamental.break" 这个权限 -- 如果有那就在让后台发送一条指令 "/broadcast %player% 破坏了方块" -- 如果没有那就取消这个事件 并 向这个玩家发送 "你不能破坏这个方块" +- 在玩家破坏方块时 检查玩家是否有 "fundamental.break" 这个权限 +- 如果有那就在让后台发送一条指令 "/broadcast %player% 破坏了方块" +- 如果没有那就取消这个事件 并 向这个玩家发送 "你不能破坏这个方块" 答案不唯一,仅供参考。 @@ -924,11 +924,11 @@ command /自定义指令 [<类型>] [<类型>] ...: 有人问 "类型" 有哪些,其实我也说不全,我常用的有这几种。(编者注,见本页 `了解八大类`。) -- "text" - 字符类型。什么是字符?可以按照字面意思来理解,字词符号。 -- "player" - 在线玩家。 -- "offline player" - 离线玩家。 -- "number" - 数字类型。 -- "integer" - 整数类型。 +- "text" - 字符类型。什么是字符?可以按照字面意思来理解,字词符号。 +- "player" - 在线玩家。 +- "offline player" - 离线玩家。 +- "number" - 数字类型。 +- "integer" - 整数类型。 那这些类型又有什么用处呢?它实际上是对指令的参数的一种限制。 @@ -974,18 +974,18 @@ command /<指令名称> <参数>:     代码段 ``` -- 指令名称 (必填) - 指令名称基本上是指令,你可以在指令名称中使用任何字符 (空格字符除外)。 - 当然如果在指令名称中使用空格字符,那么空格字符后的文本将成为参数。 - 指令名称前的斜杠字符 (/) 是可选的 (但这并不意味着你可以在执行指令时不带斜杠)。 -- 参数 (可选) - 可以通过将参数放在 "[]" 中来使其成为可选参数。 - - 类型参数 - 可以通过使用规定的格式来限制参数的类型,例如:``。 - - 类型为 "text/string" 的参数可以接受任何字符,但 "object" 类型不能用作于参数 (编者注:原因大抵是无法输入 `object`)。 - - 类型可以是多个 (例如 number -> numbers entity -> entities)。通过这样的方法,可以使参数接受多个值。 - - "= default value" 这一部分是可选的,如果指令执行者未输入参数,系统将自动使用默认值。 - - 同样你也可以使用这样的方式设置参数默认值,例如:``。 +- 指令名称 (必填) + 指令名称基本上是指令,你可以在指令名称中使用任何字符 (空格字符除外)。 + 当然如果在指令名称中使用空格字符,那么空格字符后的文本将成为参数。 + 指令名称前的斜杠字符 (/) 是可选的 (但这并不意味着你可以在执行指令时不带斜杠)。 +- 参数 (可选) + 可以通过将参数放在 "[]" 中来使其成为可选参数。 + - 类型参数 + 可以通过使用规定的格式来限制参数的类型,例如:``。 + - 类型为 "text/string" 的参数可以接受任何字符,但 "object" 类型不能用作于参数 (编者注:原因大抵是无法输入 `object`)。 + - 类型可以是多个 (例如 number -> numbers entity -> entities)。通过这样的方法,可以使参数接受多个值。 + - "= default value" 这一部分是可选的,如果指令执行者未输入参数,系统将自动使用默认值。 + - 同样你也可以使用这样的方式设置参数默认值,例如:``。 以下是一份指令示例: @@ -995,28 +995,28 @@ command /<指令名称> <参数>: 但是如果没有输入数值,系统将自动使用默认值,半径 20。 -- Aliases - 子指令,指令的别名。如果需要创建多个子指令,请使用用逗号分隔。 - 示例:(/alias1,alias2,/alias3) -- Executable By - 指定可以使用该指令的执行者。 - 例如:console(后台),players(玩家),the console and players(后台和玩家) -- Usage - 执行者用法不正确时,将发送的消息。 -- Description - 指令描述,其他插件可以获取/显示此信息。 -- Permission - 执行指令所需要的权限。 -- Permission Message - 执行者没有权限时的提示信息。 -- Cooldown - 多长冷却时间后可以再次使用该指令,需要注意的是,关服时所有指令冷却时间将被重置。 -- Cooldown Message - 冷却期间,提示信息。 -- Cooldown Bypass - 无视冷却时间所需要的权限。 -- Cooldown Storage - 存储冷却时间全局变量名称。 +- Aliases + 子指令,指令的别名。如果需要创建多个子指令,请使用用逗号分隔。 + 示例:(/alias1,alias2,/alias3) +- Executable By + 指定可以使用该指令的执行者。 + 例如:console(后台),players(玩家),the console and players(后台和玩家) +- Usage + 执行者用法不正确时,将发送的消息。 +- Description + 指令描述,其他插件可以获取/显示此信息。 +- Permission + 执行指令所需要的权限。 +- Permission Message + 执行者没有权限时的提示信息。 +- Cooldown + 多长冷却时间后可以再次使用该指令,需要注意的是,关服时所有指令冷却时间将被重置。 +- Cooldown Message + 冷却期间,提示信息。 +- Cooldown Bypass + 无视冷却时间所需要的权限。 +- Cooldown Storage + 存储冷却时间全局变量名称。 --- @@ -1068,7 +1068,7 @@ function SG_writeFile(variableName: text, value: text, fileDir: text): save yaml "plugins/SUPERGUILDS/%{_fileDir}%.yml" ``` -若想将 "plugins/SUPERGUILDS/playerdata/玩家UUID.yml" 的 "Datas.Username" 设置为 "\*\*EVER" +若想将 "plugins/SUPERGUILDS/playerdata/玩家 UUID.yml" 的 "Datas.Username" 设置为 "\*\*EVER" ```skript file "plugins/SUPERGUILDS/playerdata/%uuid of player%.yml" does not exists: diff --git a/docs-java/process/maintenance/lang/skript/skript.md b/src/content/docs/java/process/maintenance/lang/skript/skript.md similarity index 100% rename from docs-java/process/maintenance/lang/skript/skript.md rename to src/content/docs/java/process/maintenance/lang/skript/skript.md diff --git a/docs-java/process/maintenance/maintenance.md b/src/content/docs/java/process/maintenance/maintenance.md similarity index 100% rename from docs-java/process/maintenance/maintenance.md rename to src/content/docs/java/process/maintenance/maintenance.md diff --git a/docs-java/process/maintenance/optimize/_images/ummm.jpg b/src/content/docs/java/process/maintenance/optimize/_assets/ummm.jpg similarity index 100% rename from docs-java/process/maintenance/optimize/_images/ummm.jpg rename to src/content/docs/java/process/maintenance/optimize/_assets/ummm.jpg diff --git "a/docs-java/process/maintenance/optimize/_images/\346\200\216\344\271\210\350\256\251\345\244\247\344\275\254\345\270\256\346\210\221/spark_start.png" "b/src/content/docs/java/process/maintenance/optimize/_assets/\346\200\216\344\271\210\350\256\251\345\244\247\344\275\254\345\270\256\346\210\221/spark_start.png" similarity index 100% rename from "docs-java/process/maintenance/optimize/_images/\346\200\216\344\271\210\350\256\251\345\244\247\344\275\254\345\270\256\346\210\221/spark_start.png" rename to "src/content/docs/java/process/maintenance/optimize/_assets/\346\200\216\344\271\210\350\256\251\345\244\247\344\275\254\345\270\256\346\210\221/spark_start.png" diff --git "a/docs-java/process/maintenance/optimize/_images/\346\200\216\344\271\210\350\256\251\345\244\247\344\275\254\345\270\256\346\210\221/spark_stop.png" "b/src/content/docs/java/process/maintenance/optimize/_assets/\346\200\216\344\271\210\350\256\251\345\244\247\344\275\254\345\270\256\346\210\221/spark_stop.png" similarity index 100% rename from "docs-java/process/maintenance/optimize/_images/\346\200\216\344\271\210\350\256\251\345\244\247\344\275\254\345\270\256\346\210\221/spark_stop.png" rename to "src/content/docs/java/process/maintenance/optimize/_assets/\346\200\216\344\271\210\350\256\251\345\244\247\344\275\254\345\270\256\346\210\221/spark_stop.png" diff --git a/docs-java/process/maintenance/optimize/ask-for-help.md b/src/content/docs/java/process/maintenance/optimize/ask-for-help.md similarity index 87% rename from docs-java/process/maintenance/optimize/ask-for-help.md rename to src/content/docs/java/process/maintenance/optimize/ask-for-help.md index 6c4b1e5d7..f8623fb8d 100644 --- a/docs-java/process/maintenance/optimize/ask-for-help.md +++ b/src/content/docs/java/process/maintenance/optimize/ask-for-help.md @@ -17,7 +17,7 @@ sidebar_position: 7 /spark profiler start ``` -![](_images/怎么让大佬帮我/spark_start.png) +![](_assets/怎么让大佬帮我/spark_start.png) 在你服务器卡顿的时候开启,**一段时间后** 结束它 @@ -33,4 +33,4 @@ sidebar_position: 7 注:链接位置在下图中红框标记的部分 -![](_images/怎么让大佬帮我/spark_stop.png) +![](_assets/怎么让大佬帮我/spark_stop.png) diff --git a/docs-java/process/maintenance/optimize/go.mdx b/src/content/docs/java/process/maintenance/optimize/go.mdx similarity index 100% rename from docs-java/process/maintenance/optimize/go.mdx rename to src/content/docs/java/process/maintenance/optimize/go.mdx diff --git a/docs-java/process/maintenance/optimize/img.png b/src/content/docs/java/process/maintenance/optimize/img.png similarity index 100% rename from docs-java/process/maintenance/optimize/img.png rename to src/content/docs/java/process/maintenance/optimize/img.png diff --git a/docs-java/process/maintenance/optimize/jvm/common.md b/src/content/docs/java/process/maintenance/optimize/jvm/common.md similarity index 100% rename from docs-java/process/maintenance/optimize/jvm/common.md rename to src/content/docs/java/process/maintenance/optimize/jvm/common.md diff --git a/docs-java/process/maintenance/optimize/jvm/dragonwell11.md b/src/content/docs/java/process/maintenance/optimize/jvm/dragonwell11.md similarity index 100% rename from docs-java/process/maintenance/optimize/jvm/dragonwell11.md rename to src/content/docs/java/process/maintenance/optimize/jvm/dragonwell11.md diff --git a/docs-java/process/maintenance/optimize/jvm/dragonwell8.md b/src/content/docs/java/process/maintenance/optimize/jvm/dragonwell8.md similarity index 100% rename from docs-java/process/maintenance/optimize/jvm/dragonwell8.md rename to src/content/docs/java/process/maintenance/optimize/jvm/dragonwell8.md diff --git a/docs-java/process/maintenance/optimize/jvm/graal.md b/src/content/docs/java/process/maintenance/optimize/jvm/graal.md similarity index 100% rename from docs-java/process/maintenance/optimize/jvm/graal.md rename to src/content/docs/java/process/maintenance/optimize/jvm/graal.md diff --git a/docs-java/process/maintenance/optimize/jvm/jvm.md b/src/content/docs/java/process/maintenance/optimize/jvm/jvm.md similarity index 100% rename from docs-java/process/maintenance/optimize/jvm/jvm.md rename to src/content/docs/java/process/maintenance/optimize/jvm/jvm.md diff --git a/docs-java/process/maintenance/optimize/jvm/openj9.md b/src/content/docs/java/process/maintenance/optimize/jvm/openj9.md similarity index 100% rename from docs-java/process/maintenance/optimize/jvm/openj9.md rename to src/content/docs/java/process/maintenance/optimize/jvm/openj9.md diff --git a/docs-java/process/maintenance/optimize/jvm/zing.md b/src/content/docs/java/process/maintenance/optimize/jvm/zing.md similarity index 100% rename from docs-java/process/maintenance/optimize/jvm/zing.md rename to src/content/docs/java/process/maintenance/optimize/jvm/zing.md diff --git a/docs-java/process/maintenance/optimize/kernel.md b/src/content/docs/java/process/maintenance/optimize/kernel.md similarity index 100% rename from docs-java/process/maintenance/optimize/kernel.md rename to src/content/docs/java/process/maintenance/optimize/kernel.md diff --git a/docs-java/process/maintenance/optimize/optimize.md b/src/content/docs/java/process/maintenance/optimize/optimize.md similarity index 100% rename from docs-java/process/maintenance/optimize/optimize.md rename to src/content/docs/java/process/maintenance/optimize/optimize.md diff --git a/docs-java/process/maintenance/optimize/optimized-plugin.md b/src/content/docs/java/process/maintenance/optimize/optimized-plugin.md similarity index 100% rename from docs-java/process/maintenance/optimize/optimized-plugin.md rename to src/content/docs/java/process/maintenance/optimize/optimized-plugin.md diff --git a/docs-java/process/maintenance/optimize/performance-analysis.md b/src/content/docs/java/process/maintenance/optimize/performance-analysis.md similarity index 100% rename from docs-java/process/maintenance/optimize/performance-analysis.md rename to src/content/docs/java/process/maintenance/optimize/performance-analysis.md diff --git a/docs-java/process/maintenance/optimize/storage-space-optimization.md b/src/content/docs/java/process/maintenance/optimize/storage-space-optimization.md similarity index 100% rename from docs-java/process/maintenance/optimize/storage-space-optimization.md rename to src/content/docs/java/process/maintenance/optimize/storage-space-optimization.md diff --git a/docs-java/process/maintenance/resourcepack/_images/1.png b/src/content/docs/java/process/maintenance/resourcepack/_assets/1.png similarity index 100% rename from docs-java/process/maintenance/resourcepack/_images/1.png rename to src/content/docs/java/process/maintenance/resourcepack/_assets/1.png diff --git a/docs-java/process/maintenance/resourcepack/_images/2.png b/src/content/docs/java/process/maintenance/resourcepack/_assets/2.png similarity index 100% rename from docs-java/process/maintenance/resourcepack/_images/2.png rename to src/content/docs/java/process/maintenance/resourcepack/_assets/2.png diff --git a/docs-java/process/maintenance/resourcepack/_images/3.png b/src/content/docs/java/process/maintenance/resourcepack/_assets/3.png similarity index 100% rename from docs-java/process/maintenance/resourcepack/_images/3.png rename to src/content/docs/java/process/maintenance/resourcepack/_assets/3.png diff --git a/docs-java/process/maintenance/resourcepack/_images/4.png b/src/content/docs/java/process/maintenance/resourcepack/_assets/4.png similarity index 100% rename from docs-java/process/maintenance/resourcepack/_images/4.png rename to src/content/docs/java/process/maintenance/resourcepack/_assets/4.png diff --git a/docs-java/process/maintenance/resourcepack/_images/5.png b/src/content/docs/java/process/maintenance/resourcepack/_assets/5.png similarity index 100% rename from docs-java/process/maintenance/resourcepack/_images/5.png rename to src/content/docs/java/process/maintenance/resourcepack/_assets/5.png diff --git a/docs-java/process/maintenance/resourcepack/_images/6.png b/src/content/docs/java/process/maintenance/resourcepack/_assets/6.png similarity index 100% rename from docs-java/process/maintenance/resourcepack/_images/6.png rename to src/content/docs/java/process/maintenance/resourcepack/_assets/6.png diff --git a/docs-java/process/maintenance/resourcepack/_images/7.png b/src/content/docs/java/process/maintenance/resourcepack/_assets/7.png similarity index 100% rename from docs-java/process/maintenance/resourcepack/_images/7.png rename to src/content/docs/java/process/maintenance/resourcepack/_assets/7.png diff --git a/docs-java/process/maintenance/resourcepack/_images/8.png b/src/content/docs/java/process/maintenance/resourcepack/_assets/8.png similarity index 100% rename from docs-java/process/maintenance/resourcepack/_images/8.png rename to src/content/docs/java/process/maintenance/resourcepack/_assets/8.png diff --git a/docs-java/process/maintenance/resourcepack/_images/blockbench.png b/src/content/docs/java/process/maintenance/resourcepack/_assets/blockbench.png similarity index 100% rename from docs-java/process/maintenance/resourcepack/_images/blockbench.png rename to src/content/docs/java/process/maintenance/resourcepack/_assets/blockbench.png diff --git a/docs-java/process/maintenance/resourcepack/_images/head.png b/src/content/docs/java/process/maintenance/resourcepack/_assets/head.png similarity index 100% rename from docs-java/process/maintenance/resourcepack/_images/head.png rename to src/content/docs/java/process/maintenance/resourcepack/_assets/head.png diff --git a/docs-java/process/maintenance/resourcepack/_images/title.png b/src/content/docs/java/process/maintenance/resourcepack/_assets/title.png similarity index 100% rename from docs-java/process/maintenance/resourcepack/_images/title.png rename to src/content/docs/java/process/maintenance/resourcepack/_assets/title.png diff --git a/docs-java/process/maintenance/resourcepack/_images/tooltip1.png b/src/content/docs/java/process/maintenance/resourcepack/_assets/tooltip1.png similarity index 100% rename from docs-java/process/maintenance/resourcepack/_images/tooltip1.png rename to src/content/docs/java/process/maintenance/resourcepack/_assets/tooltip1.png diff --git a/docs-java/process/maintenance/resourcepack/_images/tooltip2.png b/src/content/docs/java/process/maintenance/resourcepack/_assets/tooltip2.png similarity index 100% rename from docs-java/process/maintenance/resourcepack/_images/tooltip2.png rename to src/content/docs/java/process/maintenance/resourcepack/_assets/tooltip2.png diff --git a/docs-java/process/maintenance/resourcepack/addon.md b/src/content/docs/java/process/maintenance/resourcepack/addon.md similarity index 94% rename from docs-java/process/maintenance/resourcepack/addon.md rename to src/content/docs/java/process/maintenance/resourcepack/addon.md index 2b57bf775..46ed26c5d 100644 --- a/docs-java/process/maintenance/resourcepack/addon.md +++ b/src/content/docs/java/process/maintenance/resourcepack/addon.md @@ -17,7 +17,7 @@ title: 案例 2D 的和占四格的头颅,可以使用皮肤 -![](_images/head.png) +![](_assets/head.png) https://www.spigotmc.org/resources/.99121/ diff --git a/docs-java/process/maintenance/resourcepack/compress.md b/src/content/docs/java/process/maintenance/resourcepack/compress.md similarity index 100% rename from docs-java/process/maintenance/resourcepack/compress.md rename to src/content/docs/java/process/maintenance/resourcepack/compress.md diff --git a/docs-java/process/maintenance/resourcepack/plugins/_images/25b2c895c2af14fbc7e6989404d0ff7af64020ea.gif b/src/content/docs/java/process/maintenance/resourcepack/plugins/_assets/25b2c895c2af14fbc7e6989404d0ff7af64020ea.gif similarity index 100% rename from docs-java/process/maintenance/resourcepack/plugins/_images/25b2c895c2af14fbc7e6989404d0ff7af64020ea.gif rename to src/content/docs/java/process/maintenance/resourcepack/plugins/_assets/25b2c895c2af14fbc7e6989404d0ff7af64020ea.gif diff --git a/docs-java/process/maintenance/resourcepack/plugins/_images/272f487d799270ea2e204de73236dda77d18f954.gif b/src/content/docs/java/process/maintenance/resourcepack/plugins/_assets/272f487d799270ea2e204de73236dda77d18f954.gif similarity index 100% rename from docs-java/process/maintenance/resourcepack/plugins/_images/272f487d799270ea2e204de73236dda77d18f954.gif rename to src/content/docs/java/process/maintenance/resourcepack/plugins/_assets/272f487d799270ea2e204de73236dda77d18f954.gif diff --git a/docs-java/process/maintenance/resourcepack/plugins/_images/30a53ea3a4d029784f4ed54d17a335e099b805b4.gif b/src/content/docs/java/process/maintenance/resourcepack/plugins/_assets/30a53ea3a4d029784f4ed54d17a335e099b805b4.gif similarity index 100% rename from docs-java/process/maintenance/resourcepack/plugins/_images/30a53ea3a4d029784f4ed54d17a335e099b805b4.gif rename to src/content/docs/java/process/maintenance/resourcepack/plugins/_assets/30a53ea3a4d029784f4ed54d17a335e099b805b4.gif diff --git a/docs-java/process/maintenance/resourcepack/plugins/_images/4f4a015981222b37bfa3b2324113d919a33b090f.png b/src/content/docs/java/process/maintenance/resourcepack/plugins/_assets/4f4a015981222b37bfa3b2324113d919a33b090f.png similarity index 100% rename from docs-java/process/maintenance/resourcepack/plugins/_images/4f4a015981222b37bfa3b2324113d919a33b090f.png rename to src/content/docs/java/process/maintenance/resourcepack/plugins/_assets/4f4a015981222b37bfa3b2324113d919a33b090f.png diff --git a/docs-java/process/maintenance/resourcepack/plugins/_images/52470cba6836ab471f19c8e788c513765de2d02c.png b/src/content/docs/java/process/maintenance/resourcepack/plugins/_assets/52470cba6836ab471f19c8e788c513765de2d02c.png similarity index 100% rename from docs-java/process/maintenance/resourcepack/plugins/_images/52470cba6836ab471f19c8e788c513765de2d02c.png rename to src/content/docs/java/process/maintenance/resourcepack/plugins/_assets/52470cba6836ab471f19c8e788c513765de2d02c.png diff --git a/docs-java/process/maintenance/resourcepack/plugins/_images/d0a7f51a86d1a313f1b41f27e021421adc93eec9.png b/src/content/docs/java/process/maintenance/resourcepack/plugins/_assets/d0a7f51a86d1a313f1b41f27e021421adc93eec9.png similarity index 100% rename from docs-java/process/maintenance/resourcepack/plugins/_images/d0a7f51a86d1a313f1b41f27e021421adc93eec9.png rename to src/content/docs/java/process/maintenance/resourcepack/plugins/_assets/d0a7f51a86d1a313f1b41f27e021421adc93eec9.png diff --git a/docs-java/process/maintenance/resourcepack/plugins/_images/f6b239e0689c433ef5a2c0e85f710e988bf1ba4e.gif b/src/content/docs/java/process/maintenance/resourcepack/plugins/_assets/f6b239e0689c433ef5a2c0e85f710e988bf1ba4e.gif similarity index 100% rename from docs-java/process/maintenance/resourcepack/plugins/_images/f6b239e0689c433ef5a2c0e85f710e988bf1ba4e.gif rename to src/content/docs/java/process/maintenance/resourcepack/plugins/_assets/f6b239e0689c433ef5a2c0e85f710e988bf1ba4e.gif diff --git a/docs-java/process/maintenance/resourcepack/plugins/_images/fd658155424cd985553237821611dfdea040b166.gif b/src/content/docs/java/process/maintenance/resourcepack/plugins/_assets/fd658155424cd985553237821611dfdea040b166.gif similarity index 100% rename from docs-java/process/maintenance/resourcepack/plugins/_images/fd658155424cd985553237821611dfdea040b166.gif rename to src/content/docs/java/process/maintenance/resourcepack/plugins/_assets/fd658155424cd985553237821611dfdea040b166.gif diff --git a/docs-java/process/maintenance/resourcepack/plugins/_images/videoframe_1994.png b/src/content/docs/java/process/maintenance/resourcepack/plugins/_assets/videoframe_1994.png similarity index 100% rename from docs-java/process/maintenance/resourcepack/plugins/_images/videoframe_1994.png rename to src/content/docs/java/process/maintenance/resourcepack/plugins/_assets/videoframe_1994.png diff --git a/docs-java/process/maintenance/resourcepack/plugins/_images/videoframe_931.png b/src/content/docs/java/process/maintenance/resourcepack/plugins/_assets/videoframe_931.png similarity index 100% rename from docs-java/process/maintenance/resourcepack/plugins/_images/videoframe_931.png rename to src/content/docs/java/process/maintenance/resourcepack/plugins/_assets/videoframe_931.png diff --git a/docs-java/process/maintenance/resourcepack/plugins/entity.md b/src/content/docs/java/process/maintenance/resourcepack/plugins/entity.md similarity index 100% rename from docs-java/process/maintenance/resourcepack/plugins/entity.md rename to src/content/docs/java/process/maintenance/resourcepack/plugins/entity.md diff --git a/docs-java/process/maintenance/resourcepack/plugins/framework.md b/src/content/docs/java/process/maintenance/resourcepack/plugins/framework.md similarity index 100% rename from docs-java/process/maintenance/resourcepack/plugins/framework.md rename to src/content/docs/java/process/maintenance/resourcepack/plugins/framework.md diff --git a/docs-java/process/maintenance/resourcepack/plugins/hud.md b/src/content/docs/java/process/maintenance/resourcepack/plugins/hud.md similarity index 78% rename from docs-java/process/maintenance/resourcepack/plugins/hud.md rename to src/content/docs/java/process/maintenance/resourcepack/plugins/hud.md index f1eb58f7e..6eeda5f02 100644 --- a/docs-java/process/maintenance/resourcepack/plugins/hud.md +++ b/src/content/docs/java/process/maintenance/resourcepack/plugins/hud.md @@ -25,7 +25,7 @@ import TabItem from '@theme/TabItem'; 免费的 HUD 插件,Wiki 写的非常好,支持的版本为 `1.18-1.21` -![](_images/25b2c895c2af14fbc7e6989404d0ff7af64020ea.gif) +![](_assets/25b2c895c2af14fbc7e6989404d0ff7af64020ea.gif) @@ -40,11 +40,11 @@ import TabItem from '@theme/TabItem'; 付费的 HUD 的插件,以前的名字为 HappyHUD,支持的版本为 `1.19-1.21`,非常不推荐的插件: -- Wiki 写的非常糟糕,完全不如 BetterHud -- HappyHUD 改个名后要求全部重新付费 -- 更新缓慢 +- Wiki 写的非常糟糕,完全不如 BetterHud +- HappyHUD 改个名后要求全部重新付费 +- 更新缓慢 -![](_images/fd658155424cd985553237821611dfdea040b166.gif) +![](_assets/fd658155424cd985553237821611dfdea040b166.gif) diff --git a/docs-java/process/maintenance/resourcepack/plugins/misc.md b/src/content/docs/java/process/maintenance/resourcepack/plugins/misc.md similarity index 81% rename from docs-java/process/maintenance/resourcepack/plugins/misc.md rename to src/content/docs/java/process/maintenance/resourcepack/plugins/misc.md index f20ef0ca5..6fc2d2838 100644 --- a/docs-java/process/maintenance/resourcepack/plugins/misc.md +++ b/src/content/docs/java/process/maintenance/resourcepack/plugins/misc.md @@ -23,7 +23,7 @@ import TabItem from '@theme/TabItem'; 一个指示自身生命值和盔甲值的插件,支持版本为 1.21 -![](_images/d0a7f51a86d1a313f1b41f27e021421adc93eec9.png) +![](_assets/d0a7f51a86d1a313f1b41f27e021421adc93eec9.png) @@ -42,7 +42,7 @@ import TabItem from '@theme/TabItem'; 一个非常棒的生命指示插件,还支持药水效果显示 -![](_images/30a53ea3a4d029784f4ed54d17a335e099b805b4.gif) +![](_assets/30a53ea3a4d029784f4ed54d17a335e099b805b4.gif) @@ -55,7 +55,7 @@ import TabItem from '@theme/TabItem'; 一个生命指示插件,支持版本为 1.20 - 1.20.6 -![](_images/4f4a015981222b37bfa3b2324113d919a33b090f.png) +![](_assets/4f4a015981222b37bfa3b2324113d919a33b090f.png) @@ -74,9 +74,9 @@ import TabItem from '@theme/TabItem'; 一个超级棒的小地图插件,支持版本为 1.21 -![](_images/videoframe_931.png) +![](_assets/videoframe_931.png) -![](_images/videoframe_1994.png) +![](_assets/videoframe_1994.png) ## 生存增强 @@ -92,6 +92,6 @@ import TabItem from '@theme/TabItem'; 该插件增强了原版的生存体验,加入了口渴值,温度系统等,推荐与 BodyHealth 一起使用 -![](_images/f6b239e0689c433ef5a2c0e85f710e988bf1ba4e.gif) +![](_assets/f6b239e0689c433ef5a2c0e85f710e988bf1ba4e.gif) -![](_images/272f487d799270ea2e204de73236dda77d18f954.gif) +![](_assets/272f487d799270ea2e204de73236dda77d18f954.gif) diff --git a/docs-java/process/maintenance/resourcepack/plugins/plugins.md b/src/content/docs/java/process/maintenance/resourcepack/plugins/plugins.md similarity index 100% rename from docs-java/process/maintenance/resourcepack/plugins/plugins.md rename to src/content/docs/java/process/maintenance/resourcepack/plugins/plugins.md diff --git a/docs-java/process/maintenance/resourcepack/plugins/tooltip.md b/src/content/docs/java/process/maintenance/resourcepack/plugins/tooltip.md similarity index 85% rename from docs-java/process/maintenance/resourcepack/plugins/tooltip.md rename to src/content/docs/java/process/maintenance/resourcepack/plugins/tooltip.md index 136091454..2e4da7f9b 100644 --- a/docs-java/process/maintenance/resourcepack/plugins/tooltip.md +++ b/src/content/docs/java/process/maintenance/resourcepack/plugins/tooltip.md @@ -17,4 +17,4 @@ title: Tooltip 一个提示/对话制作插件,可以实现非常酷的功能,相较于其他插件较为简单 -![](_images/52470cba6836ab471f19c8e788c513765de2d02c.png) +![](_assets/52470cba6836ab471f19c8e788c513765de2d02c.png) diff --git a/docs-java/process/maintenance/resourcepack/plugins/vehicles.md b/src/content/docs/java/process/maintenance/resourcepack/plugins/vehicles.md similarity index 100% rename from docs-java/process/maintenance/resourcepack/plugins/vehicles.md rename to src/content/docs/java/process/maintenance/resourcepack/plugins/vehicles.md diff --git a/docs-java/process/maintenance/resourcepack/protect.md b/src/content/docs/java/process/maintenance/resourcepack/protect.md similarity index 100% rename from docs-java/process/maintenance/resourcepack/protect.md rename to src/content/docs/java/process/maintenance/resourcepack/protect.md diff --git a/docs-java/process/maintenance/resourcepack/resourcepack.md b/src/content/docs/java/process/maintenance/resourcepack/resourcepack.md similarity index 91% rename from docs-java/process/maintenance/resourcepack/resourcepack.md rename to src/content/docs/java/process/maintenance/resourcepack/resourcepack.md index deb8a2402..e1f408950 100644 --- a/docs-java/process/maintenance/resourcepack/resourcepack.md +++ b/src/content/docs/java/process/maintenance/resourcepack/resourcepack.md @@ -29,31 +29,31 @@ slug: /resourcepack 全新的武器装备: -![](_images/1.png) +![](_assets/1.png) 独特的装扮: -![](_images/2.png) +![](_assets/2.png) 新的 GUI 界面: -![](_images/3.png) +![](_assets/3.png) 称号或表情包: -![](_images/4.png) +![](_assets/4.png) -![](_images/5.png) +![](_assets/5.png) 家具或装饰: -![](_images/6.png) +![](_assets/6.png) 新的生物或 boss: -![](_images/7.png) +![](_assets/7.png) -![](_images/8.png) +![](_assets/8.png) 以及更多你想不到的内容... diff --git a/docs-java/process/maintenance/resourcepack/send.md b/src/content/docs/java/process/maintenance/resourcepack/send.md similarity index 100% rename from docs-java/process/maintenance/resourcepack/send.md rename to src/content/docs/java/process/maintenance/resourcepack/send.md diff --git a/docs-java/process/maintenance/resourcepack/software.md b/src/content/docs/java/process/maintenance/resourcepack/software.md similarity index 78% rename from docs-java/process/maintenance/resourcepack/software.md rename to src/content/docs/java/process/maintenance/resourcepack/software.md index 8beb10a40..b3f7b197d 100644 --- a/docs-java/process/maintenance/resourcepack/software.md +++ b/src/content/docs/java/process/maintenance/resourcepack/software.md @@ -9,7 +9,7 @@ sidebar_position: 1 ## Blockbench -![](_images/blockbench.png) +![](_assets/blockbench.png) > https://www.blockbench.net @@ -17,7 +17,7 @@ sidebar_position: 1 一个用来整服务器 title 的 Blockbench 插件 -![](_images/title.png) +![](_assets/title.png) > https://www.blockbench.net/plugins/minecraft_title_generator @@ -25,8 +25,8 @@ sidebar_position: 1 发现一个整 tooltip 的妙妙工具 -![](_images/tooltip1.png) +![](_assets/tooltip1.png) -![](_images/tooltip2.png) +![](_assets/tooltip2.png) > https://github.com/Godlander/tooltip diff --git a/docs-java/process/map.md b/src/content/docs/java/process/map.md similarity index 100% rename from docs-java/process/map.md rename to src/content/docs/java/process/map.md diff --git a/docs-java/process/mobile-player/_images/1.PNG b/src/content/docs/java/process/mobile-player/_assets/1.PNG similarity index 100% rename from docs-java/process/mobile-player/_images/1.PNG rename to src/content/docs/java/process/mobile-player/_assets/1.PNG diff --git a/docs-java/process/mobile-player/_images/2.PNG b/src/content/docs/java/process/mobile-player/_assets/2.PNG similarity index 100% rename from docs-java/process/mobile-player/_images/2.PNG rename to src/content/docs/java/process/mobile-player/_assets/2.PNG diff --git a/docs-java/process/mobile-player/_images/3.PNG b/src/content/docs/java/process/mobile-player/_assets/3.PNG similarity index 100% rename from docs-java/process/mobile-player/_images/3.PNG rename to src/content/docs/java/process/mobile-player/_assets/3.PNG diff --git a/docs-java/process/mobile-player/_images/4.PNG b/src/content/docs/java/process/mobile-player/_assets/4.PNG similarity index 100% rename from docs-java/process/mobile-player/_images/4.PNG rename to src/content/docs/java/process/mobile-player/_assets/4.PNG diff --git a/docs-java/process/mobile-player/_images/Alt_1.png b/src/content/docs/java/process/mobile-player/_assets/Alt_1.png similarity index 100% rename from docs-java/process/mobile-player/_images/Alt_1.png rename to src/content/docs/java/process/mobile-player/_assets/Alt_1.png diff --git a/docs-java/process/mobile-player/_images/Alt_2.png b/src/content/docs/java/process/mobile-player/_assets/Alt_2.png similarity index 100% rename from docs-java/process/mobile-player/_images/Alt_2.png rename to src/content/docs/java/process/mobile-player/_assets/Alt_2.png diff --git a/docs-java/process/mobile-player/_images/i4_1.png b/src/content/docs/java/process/mobile-player/_assets/i4_1.png similarity index 100% rename from docs-java/process/mobile-player/_images/i4_1.png rename to src/content/docs/java/process/mobile-player/_assets/i4_1.png diff --git a/docs-java/process/mobile-player/_images/i4_2.png b/src/content/docs/java/process/mobile-player/_assets/i4_2.png similarity index 100% rename from docs-java/process/mobile-player/_images/i4_2.png rename to src/content/docs/java/process/mobile-player/_assets/i4_2.png diff --git a/docs-java/process/mobile-player/_images/i4_3.png b/src/content/docs/java/process/mobile-player/_assets/i4_3.png similarity index 100% rename from docs-java/process/mobile-player/_images/i4_3.png rename to src/content/docs/java/process/mobile-player/_assets/i4_3.png diff --git a/docs-java/process/mobile-player/_images/iTunes_1.png b/src/content/docs/java/process/mobile-player/_assets/iTunes_1.png similarity index 100% rename from docs-java/process/mobile-player/_images/iTunes_1.png rename to src/content/docs/java/process/mobile-player/_assets/iTunes_1.png diff --git a/docs-java/process/mobile-player/_images/iTunes_2.png b/src/content/docs/java/process/mobile-player/_assets/iTunes_2.png similarity index 100% rename from docs-java/process/mobile-player/_images/iTunes_2.png rename to src/content/docs/java/process/mobile-player/_assets/iTunes_2.png diff --git a/docs-java/process/mobile-player/_images/troll-icon.jpg b/src/content/docs/java/process/mobile-player/_assets/troll-icon.jpg similarity index 100% rename from docs-java/process/mobile-player/_images/troll-icon.jpg rename to src/content/docs/java/process/mobile-player/_assets/troll-icon.jpg diff --git a/docs-java/process/mobile-player/_images/troll-idid.PNG b/src/content/docs/java/process/mobile-player/_assets/troll-idid.PNG similarity index 100% rename from docs-java/process/mobile-player/_images/troll-idid.PNG rename to src/content/docs/java/process/mobile-player/_assets/troll-idid.PNG diff --git a/docs-java/process/mobile-player/_images/troll-ui.PNG b/src/content/docs/java/process/mobile-player/_assets/troll-ui.PNG similarity index 100% rename from docs-java/process/mobile-player/_images/troll-ui.PNG rename to src/content/docs/java/process/mobile-player/_assets/troll-ui.PNG diff --git a/docs-java/process/mobile-player/_images/trollstone_i.png b/src/content/docs/java/process/mobile-player/_assets/trollstone_i.png similarity index 100% rename from docs-java/process/mobile-player/_images/trollstone_i.png rename to src/content/docs/java/process/mobile-player/_assets/trollstone_i.png diff --git a/docs-java/process/mobile-player/_images/trollstone_v.png b/src/content/docs/java/process/mobile-player/_assets/trollstone_v.png similarity index 100% rename from docs-java/process/mobile-player/_images/trollstone_v.png rename to src/content/docs/java/process/mobile-player/_assets/trollstone_v.png diff --git a/docs-java/process/mobile-player/client/amethyst-ios.md b/src/content/docs/java/process/mobile-player/client/amethyst-ios.md similarity index 93% rename from docs-java/process/mobile-player/client/amethyst-ios.md rename to src/content/docs/java/process/mobile-player/client/amethyst-ios.md index eb0f78466..2d64fe6c8 100644 --- a/docs-java/process/mobile-player/client/amethyst-ios.md +++ b/src/content/docs/java/process/mobile-player/client/amethyst-ios.md @@ -13,9 +13,9 @@ sidebar_position: 3 2. 打开爱思助手,点击“工具箱->iTunes 及驱动->安装 iTunes”来安装 iTunes -![](../_images/i4_1.png) -![](../_images/i4_2.png) -![](../_images/i4_3.png) +![](../_assets/i4_1.png) +![](../_assets/i4_2.png) +![](../_assets/i4_3.png) 3. 点击此 [链接](https://updates.cdn-apple.com/2020/windows/001-39935-20200911-1A70AA56-F448-11EA-8CC0-99D41950005E/iCloudSetup.exe) 下载 iCloud 电脑端并安装 @@ -26,16 +26,16 @@ sidebar_position: 3 6. 将你的设备连接到电脑,并确保其已解锁。 7. 打开 iTunes,然后在设备上启用“通过 Wi-Fi 与此 iPhone 同步” -![](../_images/iTunes_1.png) -![](../_images/iTunes_2.png) + ![](../_assets/iTunes_1.png) + ![](../_assets/iTunes_2.png) 8. 点击右下角任务栏中的 AltServer 图标。然后前往“Install AltStore”,并选择你的 iOS 设备。 -![](../_images/Alt_1.png) +![](../_assets/Alt_1.png) 9. 输入您的 Apple ID 电子邮件地址和密码。 -![](../_images/Alt_2.png) +![](../_assets/Alt_2.png) 10. 等待几秒钟,然后会出现一个 AltServer 通知,提示 AltStore 已成功安装到您的设备上。 @@ -65,7 +65,7 @@ A8 处理器的 iPhone,iPad 等在 iOS/iPadOS 14.0 beta 2 ~ 15.8.4 可以安 A9-A11 处理器的 iPhone,iPad 等在 iOS/iPadOS 14.0 beta 2 ~ 17.0 除 16.7.x(不包含 RC)以外可以安装 -A12-A17/M1-M2处理器的iPhone,iPad等在iOS/iPadOS 14.0 beta 2 ~ 17.0 除 16.7.x(不包含 RC)以外可以安装 +A12-A17/M1-M2 处理器的 iPhone,iPad 等在 iOS/iPadOS 14.0 beta 2 ~ 17.0 除 16.7.x(不包含 RC)以外可以安装 ### 安装 TrollStore @@ -141,9 +141,9 @@ A12-A17/M1-M2处理器的iPhone,iPad等在iOS/iPadOS 14.0 beta 2 ~ 17.0 除 16 3. 打开爱思助手,点击“工具箱->iTunes 及驱动->安装 iTunes”来安装 iTunes -![](../_images/i4_1.png) -![](../_images/i4_2.png) -![](../_images/i4_3.png) +![](../_assets/i4_1.png) +![](../_assets/i4_2.png) +![](../_assets/i4_3.png) 4. 下载 [TrollRestore](https://github.com/JJTech0130/TrollRestore/releases/download/1.0/TrollRestore.exe) @@ -173,9 +173,9 @@ A12-A17/M1-M2处理器的iPhone,iPad等在iOS/iPadOS 14.0 beta 2 ~ 17.0 除 16 3. 打开爱思助手,点击“工具箱->iTunes 及驱动->安装 iTunes”来安装 iTunes -![](../_images/i4_1.png) -![](../_images/i4_2.png) -![](../_images/i4_3.png) +![](../_assets/i4_1.png) +![](../_assets/i4_2.png) +![](../_assets/i4_3.png) 4. 打开牛蛙助手,将你的苹果设备链接至电脑(先把设备解锁) @@ -220,11 +220,11 @@ A12-A17/M1-M2处理器的iPhone,iPad等在iOS/iPadOS 14.0 beta 2 ~ 17.0 除 16 | [Odyssey](https://theodyssey.dev/) | 13.0~13.7 | A9~A13 | | [Unc0ver](https://unc0ver.dev/) | 11.0~14.8 | A9~A14 | | [Taurine](https://taurine.app/) | 14.0~14.8.1 | A9~A12 | -| [Dopamine](https://ellekit.space/dopamine/) | 15.0~16.6.1* | A12~A16,M1~M2 | +| [Dopamine](https://ellekit.space/dopamine/) | 15.0~16.6.1\* | A12~A16,M1~M2 | | [Checkraln](https://checkra.in/) | 12.0~15.4.1 | A7~A11 | | [Paleraln](https://palera.in/) | 15.0~? | A7~A11 | -*Dopamine 到 iOS 16.6 - 16.6.1 不支持 A12 及更新版本的设备,iOS 16.5.1 - 16.6.1 不支持 A15-A16/M2 版本的设备。 +\*Dopamine 到 iOS 16.6 - 16.6.1 不支持 A12 及更新版本的设备,iOS 16.5.1 - 16.6.1 不支持 A15-A16/M2 版本的设备。 除了 Paleraln 和 Checkraln 需要使用 U 盘或者 Linux 或者 macOS,其他基本上就是签名->安装->打开->点 jailbreak 就可以了 diff --git a/docs-java/process/mobile-player/client/android-all.md b/src/content/docs/java/process/mobile-player/client/android-all.md similarity index 100% rename from docs-java/process/mobile-player/client/android-all.md rename to src/content/docs/java/process/mobile-player/client/android-all.md diff --git a/docs-java/process/mobile-player/client/client.md b/src/content/docs/java/process/mobile-player/client/client.md similarity index 100% rename from docs-java/process/mobile-player/client/client.md rename to src/content/docs/java/process/mobile-player/client/client.md diff --git a/docs-java/process/mobile-player/client/pcl.md b/src/content/docs/java/process/mobile-player/client/pcl.md similarity index 100% rename from docs-java/process/mobile-player/client/pcl.md rename to src/content/docs/java/process/mobile-player/client/pcl.md diff --git a/docs-java/process/mobile-player/client/pojav-android.md b/src/content/docs/java/process/mobile-player/client/pojav-android.md similarity index 100% rename from docs-java/process/mobile-player/client/pojav-android.md rename to src/content/docs/java/process/mobile-player/client/pojav-android.md diff --git a/docs-java/process/mobile-player/client/pojav-ios.md b/src/content/docs/java/process/mobile-player/client/pojav-ios.md similarity index 79% rename from docs-java/process/mobile-player/client/pojav-ios.md rename to src/content/docs/java/process/mobile-player/client/pojav-ios.md index 7bfaa3921..0c3673f02 100644 --- a/docs-java/process/mobile-player/client/pojav-ios.md +++ b/src/content/docs/java/process/mobile-player/client/pojav-ios.md @@ -29,15 +29,15 @@ PojavLauncher 已于 2025 年 5 月 17 日宣布停更 在手机上的牛蛙助手中导入 ipa 文件 -![](../_images/1.PNG) +![](../_assets/1.PNG) 点击签名进行自签 (刚开始用自签会被封号,不会很严重修改密码就好了,自签只有一周的使用时间,过了时间要重新签名) -![](../_images/2.PNG) +![](../_assets/2.PNG) 点击进行安装 -![](../_images/3.PNG) +![](../_assets/3.PNG) ### 启动 PojavLauncher @@ -47,14 +47,14 @@ PojavLauncher 已于 2025 年 5 月 17 日宣布停更 安装完之后若点击程序出现未受信任的提示 -![](../_images/trollstone_i.png) +![](../_assets/trollstone_i.png) 请打开设置 → 通用 → VPN 与设备管理, 点击对应的配置描述文件信任它 若牛蛙提示下图,就按它说的打开牛蛙的 VPN -![](../_images/4.PNG) +![](../_assets/4.PNG) ## 方法二:使用 TrollStore @@ -65,7 +65,7 @@ PojavLauncher 已于 2025 年 5 月 17 日宣布停更 ::: 点击查看 [TrollStore 的安装流程](https://ios.cfw.guide/installing-trollstore/) -![](../_images/trollstone_v.png) +![](../_assets/trollstone_v.png)
各苹果机型对应的 TrollStore 安装方法 @@ -74,24 +74,24 @@ PojavLauncher 已于 2025 年 5 月 17 日宣布停更 如果你是: -- iOS14-beta2~iOS14.8.1 的系统 (A8~A11 处理器) -- iOS15.5 系统 (A9~A11 处理器) -- iOS15.6 beta4~iOS15.6.1( A9~A11 处理器) -- iOS15.7~iOS15.8.2 (A9~A17,M1~M2 处理器) -- iOS16 beta1~beta3 (A9~A11 处理器) -- iOS16 beta4~iOS16.6.1 (A9 以上,M1~M2 处理器) -- iOS17 beta1~beta4 (A9~A11 处理器) +- iOS14-beta2 ~ iOS14.8.1 的系统 (A8 ~ A11 处理器) +- iOS15.5 系统 (A9 ~ A11 处理器) +- iOS15.6 beta4 ~ iOS15.6.1( A9 ~ A11 处理器) +- iOS15.7 ~ iOS15.8.2 (A9 ~ A17,M1 ~ M2 处理器) +- iOS16 beta1 ~ beta3 (A9 ~ A11 处理器) +- iOS16 beta4 ~ iOS16.6.1 (A9 以上,M1 ~ M2 处理器) +- iOS17 beta1 ~ beta4 (A9 ~ A11 处理器) 那么 [点此查看](https://ios.cfw.guide/installing-trollstore-trollinstallerx/) TrollInstallerX 的安装方法。 **(非常之复杂,怕麻烦的,没电脑的,没有苹果官方 Type C 转 Lighting 或者 C2C 的线的,但是又只能用这个方法安装 TrollStore 的劝退)** 如果你是: -- iOS14-beta2~iOS14.8.1 的系统 (A12 以上,M1~M2 处理器) -- iOS15~iOS15.5 beta4 (A8 以上,M1~M2 处理器) -- iOS15.5 系统 (A12 以上,M1~M2 处理器) -- iOS15.6 beta4~iOS15.6.1 (A12 以上,M1~M2 处理器) -- iOS16 beta1~beta3 (A12 以上,M1~M2 处理器) +- iOS14-beta2 ~ iOS14.8.1 的系统 (A12 以上,M1 ~ M2 处理器) +- iOS15 ~ iOS15.5 beta4 (A8 以上,M1 ~ M2 处理器) +- iOS15.5 系统 (A12 以上,M1 ~ M2 处理器) +- iOS15.6 beta4 ~ iOS15.6.1 (A12 以上,M1 ~ M2 处理器) +- iOS16 beta1 ~ beta3 (A12 以上,M1 ~ M2 处理器) 那么复制此链接到你的 Safari 浏览器地址栏 `itms-services://?action=download-manifest&url=https://jailbreaks.app/cdn/plists/TrollHelper.plist` @@ -99,23 +99,23 @@ PojavLauncher 已于 2025 年 5 月 17 日宣布停更 如果你是: -- iOS16.7RC (A9~A11 处理器) -- iOS17 beta5~iOS17.0 (A9~A11 处理器) +- iOS16.7RC (A9 ~ A11 处理器) +- iOS17 beta5 ~ iOS17.0 (A9 ~ A11 处理器) 那么你需要一个 **已经越狱了** 的苹果设备按照 [这个教程](https://ios.cfw.guide/installing-trollstore-trollhelper/) 使用 TrollHelper 安装 TrollStore。 ~~(你手机都越狱了还用 TrollStore 干嘛,直接用其他 ipa/dpkg 包管理安装 Pojav~~ 如果你是: -- iOS15.5 (A8 处理器) -- iOS15.6 beta4~iOS15.6.1 (A8 处理器) +- iOS15.5 (A8 处理器) +- iOS15.6 beta4 ~ iOS15.6.1 (A8 处理器) 那么 [点此查看](https://ios.cfw.guide/installing-trollstore-trollinstallermdc/) TrollInstallerMDC 的安装方法。 **(较复杂,怕麻烦的,没电脑的,没有苹果官方 Type C 转 Lighting 或者 C2C 的线的,但是又只能用这个方法安装 TrollStore 的劝退)** 如果你是: -- iOS15.7.2~iOS15.8.2 (A8 处理器) +- iOS15.7.2 ~ iOS15.8.2 (A8 处理器) 那么 [点此查看](https://ios.cfw.guide/installing-trollstore-trollmisaka) TrollMisaka 的安装方法。 **(也挺复杂,怕麻烦的,没电脑的,没有苹果官方 Type C 转 Lighting 或者 C2C 的线的,但是又只能用这个方法安装 TrollStore 的劝退)** @@ -123,7 +123,7 @@ PojavLauncher 已于 2025 年 5 月 17 日宣布停更
总之,当你 ~~终于~~ 历经千辛万苦安装完 TrollStore 之后,你的内心可能痛苦,可能舒畅;但不管怎么样,最痛苦的过程结束了,后面的 Pojav 安装将会异常轻松。 -![](../_images/troll-icon.jpg) +![](../_assets/troll-icon.jpg) 现在你应该能看见这个图标了。 @@ -136,13 +136,13 @@ PojavLauncher 已于 2025 年 5 月 17 日宣布停更 下载完 Pojav 安装包后,我们来到 TrollStore 里面。 -![](../_images/troll-idid.PNG) +![](../_assets/troll-idid.PNG) 咱们要打开 ldid,以确保能正常安装没有签名的安装包。 然后回到主界面,点击右上角加号,选择你刚刚下载的 tipa 文件,点击,然后就会安装,安装完之后差不多是这样的。 -![](../_images/troll-ui.PNG) +![](../_assets/troll-ui.PNG) ~~(你不用管 DolphiniOS 干什么的,这是用来玩老游戏的模拟器)~~ diff --git a/docs-java/process/mobile-player/geyser/_images/geyser.png b/src/content/docs/java/process/mobile-player/geyser/_assets/geyser.png similarity index 100% rename from docs-java/process/mobile-player/geyser/_images/geyser.png rename to src/content/docs/java/process/mobile-player/geyser/_assets/geyser.png diff --git a/docs-java/process/mobile-player/geyser/geyser.md b/src/content/docs/java/process/mobile-player/geyser/geyser.md similarity index 84% rename from docs-java/process/mobile-player/geyser/geyser.md rename to src/content/docs/java/process/mobile-player/geyser/geyser.md index 4b5dcd1a0..36f261708 100644 --- a/docs-java/process/mobile-player/geyser/geyser.md +++ b/src/content/docs/java/process/mobile-player/geyser/geyser.md @@ -6,7 +6,7 @@ sidebar_position: 3 # Geyser -![](_images/geyser.png) +![](_assets/geyser.png) import DocCardList from '@theme/DocCardList'; diff --git a/docs-java/process/mobile-player/geyser/introduction/_image/VersionChoose.png b/src/content/docs/java/process/mobile-player/geyser/introduction/_assets/VersionChoose.png similarity index 100% rename from docs-java/process/mobile-player/geyser/introduction/_image/VersionChoose.png rename to src/content/docs/java/process/mobile-player/geyser/introduction/_assets/VersionChoose.png diff --git a/docs-java/process/mobile-player/geyser/introduction/faq.md b/src/content/docs/java/process/mobile-player/geyser/introduction/faq.md similarity index 100% rename from docs-java/process/mobile-player/geyser/introduction/faq.md rename to src/content/docs/java/process/mobile-player/geyser/introduction/faq.md diff --git a/docs-java/process/mobile-player/geyser/introduction/install.md b/src/content/docs/java/process/mobile-player/geyser/introduction/install.md similarity index 85% rename from docs-java/process/mobile-player/geyser/introduction/install.md rename to src/content/docs/java/process/mobile-player/geyser/introduction/install.md index 4e79abd71..56e715a19 100644 --- a/docs-java/process/mobile-player/geyser/introduction/install.md +++ b/src/content/docs/java/process/mobile-player/geyser/introduction/install.md @@ -9,13 +9,13 @@ sidebar_position: 2 Geyser 有以下版本类型: -- Spigot -- BungeeCord -- Velocity -- Fabric -- NeoForge -- Standalone -- ViaProxy +- Spigot +- BungeeCord +- Velocity +- Fabric +- NeoForge +- Standalone +- ViaProxy 其中: @@ -30,11 +30,11 @@ Standalone 版本 可以作为一个独立的代理端启动 ## 挑选版本 在安装前,你需要找到合适的 Geyser 版本,你可以参考下图: -![version](_image/VersionChoose.png) +![version](_assets/VersionChoose.png) -- 1、运行独立版 **仍需要 Java16** 及以上环境,只不过你可以将其和目标服务器所处的 Java 环境隔开 此外 **在任何情况下**,你都可使用独立版,甚至独立版可以和其目标不在同一服务器上 -- 2、你可以通过 ViaVersion 插件来适配版本,这会允许不同版本的玩家进入服务器,不过问题不大 -- 3、[Hydraulic](https://github.com/GeyserMC/Hydraulic) 可以允许你加入带客户端模组的服务器,但是项目处于 **早期开发阶段**,你可以做个尝试,但是请不要在实际情况下使用 +- 1、运行独立版 **仍需要 Java16** 及以上环境,只不过你可以将其和目标服务器所处的 Java 环境隔开 此外 **在任何情况下**,你都可使用独立版,甚至独立版可以和其目标不在同一服务器上 +- 2、你可以通过 ViaVersion 插件来适配版本,这会允许不同版本的玩家进入服务器,不过问题不大 +- 3、[Hydraulic](https://github.com/GeyserMC/Hydraulic) 可以允许你加入带客户端模组的服务器,但是项目处于 **早期开发阶段**,你可以做个尝试,但是请不要在实际情况下使用 ## 下载 @@ -152,11 +152,11 @@ Floodgate 是一个允许 **Minecraft 基岩版** 帐号加入 **Minecraft Java 它还允许: -- 让 Java 版玩家看到基岩版玩家的皮肤 -- 向基岩版玩家发送 BE Form UI (基岩版独有的一种菜单格式) -- 允许基岩版玩家与 Java 版玩家进行账号数据间的连接 -- 提供一个通用的 API,使更多插件可以兼容基岩版玩家 -- 以基岩版 XUID 作为 UUID 储存数据,使在基岩版玩家改名后不丢失数据 +- 让 Java 版玩家看到基岩版玩家的皮肤 +- 向基岩版玩家发送 BE Form UI (基岩版独有的一种菜单格式) +- 允许基岩版玩家与 Java 版玩家进行账号数据间的连接 +- 提供一个通用的 API,使更多插件可以兼容基岩版玩家 +- 以基岩版 XUID 作为 UUID 储存数据,使在基岩版玩家改名后不丢失数据 所以就算 **非正版服务器**,也有 **必要** 安装此插件来获取更强大的兼容性 @@ -194,8 +194,8 @@ username-prefix: "." **但是** 这在离线服中,有几个问题: -- 离线服玩家名是可以任意修改的,所以 Java 玩家一样可以使用相同前缀进入服务器 -- 部分登录插件会禁止诸如带有 `.` 玩家名的玩家进入服务器,这会导致基岩版玩家无法进入服务器 +- 离线服玩家名是可以任意修改的,所以 Java 玩家一样可以使用相同前缀进入服务器 +- 部分登录插件会禁止诸如带有 `.` 玩家名的玩家进入服务器,这会导致基岩版玩家无法进入服务器 接下来我们来解决这些问题 diff --git a/docs-java/process/mobile-player/geyser/introduction/introduction.md b/src/content/docs/java/process/mobile-player/geyser/introduction/introduction.md similarity index 100% rename from docs-java/process/mobile-player/geyser/introduction/introduction.md rename to src/content/docs/java/process/mobile-player/geyser/introduction/introduction.md diff --git a/docs-java/process/mobile-player/geyser/introduction/overview.md b/src/content/docs/java/process/mobile-player/geyser/introduction/overview.md similarity index 100% rename from docs-java/process/mobile-player/geyser/introduction/overview.md rename to src/content/docs/java/process/mobile-player/geyser/introduction/overview.md diff --git a/docs-java/process/mobile-player/geyser/upgrade/_images/CIMM1.jpg b/src/content/docs/java/process/mobile-player/geyser/upgrade/_assets/CIMM1.jpg similarity index 100% rename from docs-java/process/mobile-player/geyser/upgrade/_images/CIMM1.jpg rename to src/content/docs/java/process/mobile-player/geyser/upgrade/_assets/CIMM1.jpg diff --git a/docs-java/process/mobile-player/geyser/upgrade/_images/CIMM2.jpg b/src/content/docs/java/process/mobile-player/geyser/upgrade/_assets/CIMM2.jpg similarity index 100% rename from docs-java/process/mobile-player/geyser/upgrade/_images/CIMM2.jpg rename to src/content/docs/java/process/mobile-player/geyser/upgrade/_assets/CIMM2.jpg diff --git a/docs-java/process/mobile-player/geyser/upgrade/_images/CIMM3.jpg b/src/content/docs/java/process/mobile-player/geyser/upgrade/_assets/CIMM3.jpg similarity index 100% rename from docs-java/process/mobile-player/geyser/upgrade/_images/CIMM3.jpg rename to src/content/docs/java/process/mobile-player/geyser/upgrade/_assets/CIMM3.jpg diff --git a/docs-java/process/mobile-player/geyser/upgrade/_images/CIMM4.jpg b/src/content/docs/java/process/mobile-player/geyser/upgrade/_assets/CIMM4.jpg similarity index 100% rename from docs-java/process/mobile-player/geyser/upgrade/_images/CIMM4.jpg rename to src/content/docs/java/process/mobile-player/geyser/upgrade/_assets/CIMM4.jpg diff --git a/docs-java/process/mobile-player/geyser/upgrade/_images/Geyser4.png b/src/content/docs/java/process/mobile-player/geyser/upgrade/_assets/Geyser4.png similarity index 100% rename from docs-java/process/mobile-player/geyser/upgrade/_images/Geyser4.png rename to src/content/docs/java/process/mobile-player/geyser/upgrade/_assets/Geyser4.png diff --git a/docs-java/process/mobile-player/geyser/upgrade/custom-item-model-map.md b/src/content/docs/java/process/mobile-player/geyser/upgrade/custom-item-model-map.md similarity index 88% rename from docs-java/process/mobile-player/geyser/upgrade/custom-item-model-map.md rename to src/content/docs/java/process/mobile-player/geyser/upgrade/custom-item-model-map.md index 4afb25cbb..9ea91512c 100644 --- a/docs-java/process/mobile-player/geyser/upgrade/custom-item-model-map.md +++ b/src/content/docs/java/process/mobile-player/geyser/upgrade/custom-item-model-map.md @@ -47,11 +47,11 @@ java2bedrock.sh (俗称转换器) 是一个自动资源包转换工具,可以 #### 操作步骤 -- 首先你需要新建一个 Issue -- 在类型选择 **Pack Conversion** -- 在 **Java Pack Direct Download URL** 填上你的资源包下载地址 (不能是网盘,要求是直链) -- 最后勾上最下面的用户协议,点击开始就可以 -- 转换好后,有个机器人会提醒你去 GitHub Action 下载,下载就来就是转换好的基岩版资源包 +- 首先你需要新建一个 Issue +- 在类型选择 **Pack Conversion** +- 在 **Java Pack Direct Download URL** 填上你的资源包下载地址 (不能是网盘,要求是直链) +- 最后勾上最下面的用户协议,点击开始就可以 +- 转换好后,有个机器人会提醒你去 GitHub Action 下载,下载就来就是转换好的基岩版资源包 ### 字体图像转换 @@ -69,7 +69,7 @@ AZPixel-Team 的 Java2Bedrock 与上面没有区别 -- 但是在填写资源包下载地址地方的下面,要把 `Font Conversion` 选项设置为 `true` +- 但是在填写资源包下载地址地方的下面,要把 `Font Conversion` 选项设置为 `true` [项目地址](https://github.com/AZPixel-Team/Java2Bedrock) @@ -91,11 +91,11 @@ AZPixel-Team 的 Java2Bedrock 这是一个律师勋章,我想让他在基岩版上也显示 -![](./_images/CIMM1.jpg) +![](./_assets/CIMM1.jpg) 我们来到 `服务端/plugins/geyser/custom_mappings` 目录,创建一个 JSON 文件用于 Geyser 映射自定义物品 -![](./_images/CIMM2.jpg) +![](./_assets/CIMM2.jpg) 名字可以根据自己喜好起,我这里命名为 `test_item.json`。 @@ -103,7 +103,7 @@ AZPixel-Team 的 Java2Bedrock 回到游戏,手持律师勋章,执行 `/iatag` 指令 -![](./_images/CIMM3.jpg) +![](./_assets/CIMM3.jpg) 我们看到他的 `ID` 是 `minecraft:paper`,以及 `CustomModelData(简称CMD)` 值是 10534 @@ -143,7 +143,7 @@ JSON 文件不允许有注释,如果你要复制过去记得删除注释 现在在 `资源包/textures` 目录下,创建个 `item_textures.json` 文件用于指定物品的纹理 -![](./_images/CIMM4.jpg) +![](./_assets/CIMM4.jpg) 在 `item_textures.json` 中写入 diff --git a/docs-java/process/mobile-player/geyser/upgrade/extended/_images/Geyser5.png b/src/content/docs/java/process/mobile-player/geyser/upgrade/extended/_assets/Geyser5.png similarity index 100% rename from docs-java/process/mobile-player/geyser/upgrade/extended/_images/Geyser5.png rename to src/content/docs/java/process/mobile-player/geyser/upgrade/extended/_assets/Geyser5.png diff --git a/docs-java/process/mobile-player/geyser/upgrade/extended/_images/GeyserExtras.gif b/src/content/docs/java/process/mobile-player/geyser/upgrade/extended/_assets/GeyserExtras.gif similarity index 100% rename from docs-java/process/mobile-player/geyser/upgrade/extended/_images/GeyserExtras.gif rename to src/content/docs/java/process/mobile-player/geyser/upgrade/extended/_assets/GeyserExtras.gif diff --git a/docs-java/process/mobile-player/geyser/upgrade/extended/_images/img.png b/src/content/docs/java/process/mobile-player/geyser/upgrade/extended/_assets/img.png similarity index 100% rename from docs-java/process/mobile-player/geyser/upgrade/extended/_images/img.png rename to src/content/docs/java/process/mobile-player/geyser/upgrade/extended/_assets/img.png diff --git a/docs-java/process/mobile-player/geyser/upgrade/extended/_images/img_1.png b/src/content/docs/java/process/mobile-player/geyser/upgrade/extended/_assets/img_1.png similarity index 100% rename from docs-java/process/mobile-player/geyser/upgrade/extended/_images/img_1.png rename to src/content/docs/java/process/mobile-player/geyser/upgrade/extended/_assets/img_1.png diff --git a/docs-java/process/mobile-player/geyser/upgrade/extended/compatible.md b/src/content/docs/java/process/mobile-player/geyser/upgrade/extended/compatible.md similarity index 100% rename from docs-java/process/mobile-player/geyser/upgrade/extended/compatible.md rename to src/content/docs/java/process/mobile-player/geyser/upgrade/extended/compatible.md diff --git a/docs-java/process/mobile-player/geyser/upgrade/extended/extended.md b/src/content/docs/java/process/mobile-player/geyser/upgrade/extended/extended.md similarity index 97% rename from docs-java/process/mobile-player/geyser/upgrade/extended/extended.md rename to src/content/docs/java/process/mobile-player/geyser/upgrade/extended/extended.md index a4d973e04..e84a72a3f 100644 --- a/docs-java/process/mobile-player/geyser/upgrade/extended/extended.md +++ b/src/content/docs/java/process/mobile-player/geyser/upgrade/extended/extended.md @@ -42,6 +42,6 @@ GeyserUtils 是 zimzaza4 开发的 Geyser 扩展工具 将 `geyserutils-geyser` 放入 Geyser 的 `extensions` 文件夹 -![](./_images/Geyser5.png) +![](./_assets/Geyser5.png) 这样就安装好了 diff --git a/docs-java/process/mobile-player/geyser/upgrade/extended/fix.mdx b/src/content/docs/java/process/mobile-player/geyser/upgrade/extended/fix.mdx similarity index 81% rename from docs-java/process/mobile-player/geyser/upgrade/extended/fix.mdx rename to src/content/docs/java/process/mobile-player/geyser/upgrade/extended/fix.mdx index 98e89898c..037d2cd34 100644 --- a/docs-java/process/mobile-player/geyser/upgrade/extended/fix.mdx +++ b/src/content/docs/java/process/mobile-player/geyser/upgrade/extended/fix.mdx @@ -16,8 +16,8 @@ import { geyserExtensionStructure } from "@site/src/data/structures"; 此插件可以修复: -- 卡在竹子和滴水石锥中无法移动 -- 骑乘实体时无法正确控制方向,在需要使用钓竿的实体上影响尤为明显 +- 卡在竹子和滴水石锥中无法移动 +- 骑乘实体时无法正确控制方向,在需要使用钓竿的实体上影响尤为明显 :::warning @@ -61,19 +61,19 @@ GeyserOptionalPack 是一个可选资源包 此资源包实现了: -- 盔甲架底座武器/底板可见性 -- 盔甲架姿势 -- 幻术师 -- 部分缺失的粒子 -- 副手动画 -- 潜影贝隐形平等性 -- 发光箭实体纹理 (没有实体描边渲染 (基岩版本身就没有),只有箭矢纹理) -- 提供超过记分板字符限制的绕过方式 -- 隐藏在 Java 版中没有的 UI 元素,例如: - - 制图台中的文本输入字段 - - 创造模式下的 2x2 工作台 - - 命令方块菜单中的时钟延迟和重命名字段 - - Java 版中不存在的结构方块选项 +- 盔甲架底座武器/底板可见性 +- 盔甲架姿势 +- 幻术师 +- 部分缺失的粒子 +- 副手动画 +- 潜影贝隐形平等性 +- 发光箭实体纹理 (没有实体描边渲染 (基岩版本身就没有),只有箭矢纹理) +- 提供超过记分板字符限制的绕过方式 +- 隐藏在 Java 版中没有的 UI 元素,例如: + - 制图台中的文本输入字段 + - 创造模式下的 2x2 工作台 + - 命令方块菜单中的时钟延迟和重命名字段 + - Java 版中不存在的结构方块选项 ## 箱子优化 @@ -93,8 +93,8 @@ discord 下载预构建 修复了以下问题 -- 基岩玩家现在可以看到末影龙头嘴动画和猪灵头耳动画 (当使用红石时) -- 横扫之刃现在可以在铁砧中使用 +- 基岩玩家现在可以看到末影龙头嘴动画和猪灵头耳动画 (当使用红石时) +- 横扫之刃现在可以在铁砧中使用 [下载](https://github.com/tbyt/BedrockParity/releases/tag/release) @@ -108,19 +108,19 @@ discord 下载预构建 此插件为 Geyser 提供了 JE 攻击冷却指示器样式 -![](./_images/GeyserExtras.gif) +![](./_assets/GeyserExtras.gif) 还有!: -- Java 冷却指示器 -- Java 战斗声音 (横扫攻击、暴击、击退) -- 地狱顶部雾颜色修复 -- 自动重新连接 -- 基岩表情聊天 -- 资源包加载 -- 快捷菜单 -- 块重影修复 -- 玩家名单 (类似于 TAB,但是 BE Form) +- Java 冷却指示器 +- Java 战斗声音 (横扫攻击、暴击、击退) +- 地狱顶部雾颜色修复 +- 自动重新连接 +- 基岩表情聊天 +- 资源包加载 +- 快捷菜单 +- 块重影修复 +- 玩家名单 (类似于 TAB,但是 BE Form) [项目地址](https://github.com/GeyserExtras/GeyserExtras) @@ -144,7 +144,7 @@ discord 下载预构建 让服务器在 Xbox Live 上显示为可加入的会话,朋友可以直接从 Xbox 好友列表加入服务器。 -![img.png](./_images/img_1.png) +![img.png](./_assets/img_1.png) ### 工作原理 @@ -157,6 +157,7 @@ Broadcaster 通过模拟 Xbox Live 客户端,将你的 Geyser/基岩版服务 适用于已有 Geyser 服务器的情况。 1. **下载扩展** + - 从 [GitHub Releases](https://github.com/MCXboxBroadcast/Broadcaster/releases) 下载 `MCXboxBroadcastExtension.jar` 2. **安装扩展** @@ -164,9 +165,11 @@ Broadcaster 通过模拟 Xbox Live 客户端,将你的 Geyser/基岩版服务 3. **重启服务器** + - 重启服务器以加载扩展 4. **查看认证信息** + - 服务器启动后,控制台会显示认证码: ```text @@ -178,6 +181,7 @@ Broadcaster 通过模拟 Xbox Live 客户端,将你的 Geyser/基岩版服务 适用于需要独立运行或连接远程服务器的情况。 1. **下载独立版** + - 下载 `MCXboxBroadcastStandalone.jar` 2. **启动程序** @@ -187,6 +191,7 @@ Broadcaster 通过模拟 Xbox Live 客户端,将你的 Geyser/基岩版服务 ``` 3. **配置目标服务器** + - 编辑生成的 `config.yml` 文件: ```yaml @@ -204,7 +209,7 @@ Broadcaster 通过模拟 Xbox Live 客户端,将你的 Geyser/基岩版服务 自定义图片功能允许你为服务器设置专属的展示图片,该图片会在 Xbox Live 好友列表和个人资料页面中显示。 -![](./_images/img.png) +![](./_assets/img.png) 将制作好的图片重命名为 `screenshot.jpg`,放到配置文件目录即可 diff --git a/docs-java/process/mobile-player/geyser/upgrade/extended/more.md b/src/content/docs/java/process/mobile-player/geyser/upgrade/extended/more.md similarity index 100% rename from docs-java/process/mobile-player/geyser/upgrade/extended/more.md rename to src/content/docs/java/process/mobile-player/geyser/upgrade/extended/more.md diff --git a/docs-java/process/mobile-player/geyser/upgrade/geyser-skull.md b/src/content/docs/java/process/mobile-player/geyser/upgrade/geyser-skull.md similarity index 100% rename from docs-java/process/mobile-player/geyser/upgrade/geyser-skull.md rename to src/content/docs/java/process/mobile-player/geyser/upgrade/geyser-skull.md diff --git a/docs-java/process/mobile-player/geyser/upgrade/geysermeg4-supports.md b/src/content/docs/java/process/mobile-player/geyser/upgrade/geysermeg4-supports.md similarity index 100% rename from docs-java/process/mobile-player/geyser/upgrade/geysermeg4-supports.md rename to src/content/docs/java/process/mobile-player/geyser/upgrade/geysermeg4-supports.md diff --git a/docs-java/process/mobile-player/geyser/upgrade/link.md b/src/content/docs/java/process/mobile-player/geyser/upgrade/link.md similarity index 100% rename from docs-java/process/mobile-player/geyser/upgrade/link.md rename to src/content/docs/java/process/mobile-player/geyser/upgrade/link.md diff --git a/docs-java/process/mobile-player/geyser/upgrade/menu.md b/src/content/docs/java/process/mobile-player/geyser/upgrade/menu.md similarity index 100% rename from docs-java/process/mobile-player/geyser/upgrade/menu.md rename to src/content/docs/java/process/mobile-player/geyser/upgrade/menu.md diff --git a/docs-java/process/mobile-player/geyser/upgrade/slimefun.md b/src/content/docs/java/process/mobile-player/geyser/upgrade/slimefun.md similarity index 91% rename from docs-java/process/mobile-player/geyser/upgrade/slimefun.md rename to src/content/docs/java/process/mobile-player/geyser/upgrade/slimefun.md index 62a1ab7a2..b60ca56f7 100644 --- a/docs-java/process/mobile-player/geyser/upgrade/slimefun.md +++ b/src/content/docs/java/process/mobile-player/geyser/upgrade/slimefun.md @@ -15,12 +15,12 @@ sidebar_position: 2 第一步,下载 [资源包](https://dl.8aka.org/plugins/Slimefun.mcpack),安装到 `服务端/geyser/packs` 文件夹 -![](./_images/Geyser4.png) +![](./_assets/Geyser4.png) 第二步,下载 [Mapping](https://dl.8aka.org/plugins/RYSurvival-SlimefunMapping.jar),安装到 `服务端/geyser/extensions` 文件夹 -![](./extended/_images/Geyser5.png) +![](./extended/_assets/Geyser5.png) 另一个扩展的 [Slimefun 资源包](https://dl.8aka.org/plugins/slimefun-extension.zip) 下载后全部拖入 Geyser 文件夹即可使用 diff --git a/docs-java/process/mobile-player/geyser/upgrade/upgrade.md b/src/content/docs/java/process/mobile-player/geyser/upgrade/upgrade.md similarity index 100% rename from docs-java/process/mobile-player/geyser/upgrade/upgrade.md rename to src/content/docs/java/process/mobile-player/geyser/upgrade/upgrade.md diff --git a/docs-java/process/mobile-player/mobile-player.md b/src/content/docs/java/process/mobile-player/mobile-player.md similarity index 100% rename from docs-java/process/mobile-player/mobile-player.md rename to src/content/docs/java/process/mobile-player/mobile-player.md diff --git "a/docs-java/process/plugin/_images/\346\217\222\344\273\266\345\210\227\350\241\250.png" "b/src/content/docs/java/process/plugin/_assets/\346\217\222\344\273\266\345\210\227\350\241\250.png" similarity index 100% rename from "docs-java/process/plugin/_images/\346\217\222\344\273\266\345\210\227\350\241\250.png" rename to "src/content/docs/java/process/plugin/_assets/\346\217\222\344\273\266\345\210\227\350\241\250.png" diff --git a/docs-java/process/plugin/game/_images/Dragon_Core/1.jpg b/src/content/docs/java/process/plugin/game/_assets/Dragon_Core/1.jpg similarity index 100% rename from docs-java/process/plugin/game/_images/Dragon_Core/1.jpg rename to src/content/docs/java/process/plugin/game/_assets/Dragon_Core/1.jpg diff --git a/docs-java/process/plugin/game/_images/Germ_Engine/1.png b/src/content/docs/java/process/plugin/game/_assets/Germ_Engine/1.png similarity index 100% rename from docs-java/process/plugin/game/_images/Germ_Engine/1.png rename to src/content/docs/java/process/plugin/game/_assets/Germ_Engine/1.png diff --git a/docs-java/process/plugin/game/_images/Germ_Engine/2.jpg b/src/content/docs/java/process/plugin/game/_assets/Germ_Engine/2.jpg similarity index 100% rename from docs-java/process/plugin/game/_images/Germ_Engine/2.jpg rename to src/content/docs/java/process/plugin/game/_assets/Germ_Engine/2.jpg diff --git a/docs-java/process/plugin/game/_images/Germ_Engine/3.png b/src/content/docs/java/process/plugin/game/_assets/Germ_Engine/3.png similarity index 100% rename from docs-java/process/plugin/game/_images/Germ_Engine/3.png rename to src/content/docs/java/process/plugin/game/_assets/Germ_Engine/3.png diff --git a/docs-java/process/plugin/game/_images/Germ_Engine/4.png b/src/content/docs/java/process/plugin/game/_assets/Germ_Engine/4.png similarity index 100% rename from docs-java/process/plugin/game/_images/Germ_Engine/4.png rename to src/content/docs/java/process/plugin/game/_assets/Germ_Engine/4.png diff --git a/docs-java/process/plugin/game/_images/Germ_Engine/5.png b/src/content/docs/java/process/plugin/game/_assets/Germ_Engine/5.png similarity index 100% rename from docs-java/process/plugin/game/_images/Germ_Engine/5.png rename to src/content/docs/java/process/plugin/game/_assets/Germ_Engine/5.png diff --git a/docs-java/process/plugin/game/_images/Germ_Engine/6.png b/src/content/docs/java/process/plugin/game/_assets/Germ_Engine/6.png similarity index 100% rename from docs-java/process/plugin/game/_images/Germ_Engine/6.png rename to src/content/docs/java/process/plugin/game/_assets/Germ_Engine/6.png diff --git a/docs-java/process/plugin/game/dragoncore.md b/src/content/docs/java/process/plugin/game/dragoncore.md similarity index 92% rename from docs-java/process/plugin/game/dragoncore.md rename to src/content/docs/java/process/plugin/game/dragoncore.md index b6bc36fe1..29b1983c0 100644 --- a/docs-java/process/plugin/game/dragoncore.md +++ b/src/content/docs/java/process/plugin/game/dragoncore.md @@ -5,7 +5,7 @@ sidebar_position: 4 # 龙之核心 -## ![介绍](_images/Dragon_Core/1.jpg) +## ![介绍](_assets/Dragon_Core/1.jpg) 龙之核心是基于 Minecraft 1.12.2 版本,以插件 (服务端) + mod (客户端) 的方式, 实现了丰富的在服务端制作各种客户端功能的方法。 diff --git a/docs-java/process/plugin/game/game.md b/src/content/docs/java/process/plugin/game/game.md similarity index 100% rename from docs-java/process/plugin/game/game.md rename to src/content/docs/java/process/plugin/game/game.md diff --git a/docs-java/process/plugin/game/germengine.md b/src/content/docs/java/process/plugin/game/germengine.md similarity index 80% rename from docs-java/process/plugin/game/germengine.md rename to src/content/docs/java/process/plugin/game/germengine.md index 71a4f3ba6..2e8d30f2a 100644 --- a/docs-java/process/plugin/game/germengine.md +++ b/src/content/docs/java/process/plugin/game/germengine.md @@ -5,15 +5,15 @@ sidebar_position: 5 # 萌芽引擎 -![](_images/Germ_Engine/1.png) +![](_assets/Germ_Engine/1.png) -![](_images/Germ_Engine/2.jpg) +![](_assets/Germ_Engine/2.jpg) -[![](_images/Germ_Engine/3.png)](http://docs.germmc.com) -[![](_images/Germ_Engine/4.png)](https://jq.qq.com/?_wv=1027&k=qcYW2h20) -[![](_images/Germ_Engine/5.png)](https://space.bilibili.com/321787115) +[![](_assets/Germ_Engine/3.png)](http://docs.germmc.com) +[![](_assets/Germ_Engine/4.png)](https://jq.qq.com/?_wv=1027&k=qcYW2h20) +[![](_assets/Germ_Engine/5.png)](https://space.bilibili.com/321787115) -## ![介绍](_images/Germ_Engine/6.png) +## ![介绍](_assets/Germ_Engine/6.png) 萌芽引擎是基于 Minecraft 1.12.2 版本,以插件 (服务端) + mod (客户端) 的方式, 站在巨人的肩膀上实现了全面且丰富的在服务端制作各种客户端功能的方法。 diff --git a/docs-java/process/plugin/game/nova.md b/src/content/docs/java/process/plugin/game/nova.md similarity index 100% rename from docs-java/process/plugin/game/nova.md rename to src/content/docs/java/process/plugin/game/nova.md diff --git a/docs-java/process/plugin/game/slimefun/auto-update.md b/src/content/docs/java/process/plugin/game/slimefun/auto-update.md similarity index 100% rename from docs-java/process/plugin/game/slimefun/auto-update.md rename to src/content/docs/java/process/plugin/game/slimefun/auto-update.md diff --git a/docs-java/process/plugin/game/slimefun/find-lag.md b/src/content/docs/java/process/plugin/game/slimefun/find-lag.md similarity index 100% rename from docs-java/process/plugin/game/slimefun/find-lag.md rename to src/content/docs/java/process/plugin/game/slimefun/find-lag.md diff --git a/docs-java/process/plugin/game/slimefun/resourcepack-for-slimefun.md b/src/content/docs/java/process/plugin/game/slimefun/resourcepack-for-slimefun.md similarity index 100% rename from docs-java/process/plugin/game/slimefun/resourcepack-for-slimefun.md rename to src/content/docs/java/process/plugin/game/slimefun/resourcepack-for-slimefun.md diff --git a/docs-java/process/plugin/game/slimefun/slimefun.md b/src/content/docs/java/process/plugin/game/slimefun/slimefun.md similarity index 100% rename from docs-java/process/plugin/game/slimefun/slimefun.md rename to src/content/docs/java/process/plugin/game/slimefun/slimefun.md diff --git a/docs-java/process/plugin/game/title/_images/MiniPlayerTitle/MiniPlayerTitle-1.png b/src/content/docs/java/process/plugin/game/title/_assets/MiniPlayerTitle/MiniPlayerTitle-1.png similarity index 100% rename from docs-java/process/plugin/game/title/_images/MiniPlayerTitle/MiniPlayerTitle-1.png rename to src/content/docs/java/process/plugin/game/title/_assets/MiniPlayerTitle/MiniPlayerTitle-1.png diff --git a/docs-java/process/plugin/game/title/_images/MiniPlayerTitle/MiniPlayerTitle-2.png b/src/content/docs/java/process/plugin/game/title/_assets/MiniPlayerTitle/MiniPlayerTitle-2.png similarity index 100% rename from docs-java/process/plugin/game/title/_images/MiniPlayerTitle/MiniPlayerTitle-2.png rename to src/content/docs/java/process/plugin/game/title/_assets/MiniPlayerTitle/MiniPlayerTitle-2.png diff --git a/docs-java/process/plugin/game/title/_images/UserPrefix/1.png b/src/content/docs/java/process/plugin/game/title/_assets/UserPrefix/1.png similarity index 100% rename from docs-java/process/plugin/game/title/_images/UserPrefix/1.png rename to src/content/docs/java/process/plugin/game/title/_assets/UserPrefix/1.png diff --git a/docs-java/process/plugin/game/title/_images/UserPrefix/2.png b/src/content/docs/java/process/plugin/game/title/_assets/UserPrefix/2.png similarity index 100% rename from docs-java/process/plugin/game/title/_images/UserPrefix/2.png rename to src/content/docs/java/process/plugin/game/title/_assets/UserPrefix/2.png diff --git a/docs-java/process/plugin/game/title/_images/UserPrefix/3.png b/src/content/docs/java/process/plugin/game/title/_assets/UserPrefix/3.png similarity index 100% rename from docs-java/process/plugin/game/title/_images/UserPrefix/3.png rename to src/content/docs/java/process/plugin/game/title/_assets/UserPrefix/3.png diff --git a/docs-java/process/plugin/game/title/deluxetags.md b/src/content/docs/java/process/plugin/game/title/deluxetags.md similarity index 100% rename from docs-java/process/plugin/game/title/deluxetags.md rename to src/content/docs/java/process/plugin/game/title/deluxetags.md diff --git a/docs-java/process/plugin/game/title/miniplayertitle.md b/src/content/docs/java/process/plugin/game/title/miniplayertitle.md similarity index 52% rename from docs-java/process/plugin/game/title/miniplayertitle.md rename to src/content/docs/java/process/plugin/game/title/miniplayertitle.md index e09996d8e..5eb8ad8b2 100644 --- a/docs-java/process/plugin/game/title/miniplayertitle.md +++ b/src/content/docs/java/process/plugin/game/title/miniplayertitle.md @@ -5,7 +5,7 @@ sidebar_position: 1 # MiniPlayerTitle -![](_images/MiniPlayerTitle/MiniPlayerTitle-1.png) +![](_assets/MiniPlayerTitle/MiniPlayerTitle-1.png) [![](https://img.shields.io/github/languages/code-size/DeerGiteaMirror/MiniPlayerTitle)](https://github.com/DeerGiteaMirror/MiniPlayerTitle) [![](https://img.shields.io/github/license/DeerGiteaMirror/MiniPlayerTitle)](https://github.com/DeerGiteaMirror/MiniPlayerTitle/blob/main/LICENSE) @@ -20,24 +20,24 @@ sidebar_position: 1 本插件免费! -- 本插件为 [PlayerTitle](https://ricedoc.handyplus.cn/wiki/PlayerTitle/) 的简易版,基本实现了其大部分功能 -- 由于历史原因 PlayerTitle 使用玩家名称而非 UUID 作为数据库主键,因此玩家改名后称号会丢失,本插件使用 UUID 作为主键,不会出现该问题 +- 本插件为 [PlayerTitle](https://ricedoc.handyplus.cn/wiki/PlayerTitle/) 的简易版,基本实现了其大部分功能 +- 由于历史原因 PlayerTitle 使用玩家名称而非 UUID 作为数据库主键,因此玩家改名后称号会丢失,本插件使用 UUID 作为主键,不会出现该问题 -![](_images/MiniPlayerTitle/MiniPlayerTitle-2.png) +![](_assets/MiniPlayerTitle/MiniPlayerTitle-2.png) ## 功能介绍 -- 本插件支持 PlayerTitle 的 [新版 RGB 颜色格式](https://ricedoc.handyplus.cn/wiki/PlayerTitle/rgb/#新版本格式) (详情见下文) -- 支持 PostgresSQL 和 Sqlite 数据库 -- 本插件使用 **TUI** 作为简易的交互方式,非 PlayerTitle 的箱子 UI -- 支持设置称号 **限量销售、限时销售** -- 支持玩家使用称号币自定义称号 -- 支持外部经济系统(需要 Vault 前置支持(3.0.6+) -- 支持 PlaceholderAPI (4.0.0+) +- 本插件支持 PlayerTitle 的 [新版 RGB 颜色格式](https://ricedoc.handyplus.cn/wiki/PlayerTitle/rgb/#新版本格式) (详情见下文) +- 支持 PostgresSQL 和 Sqlite 数据库 +- 本插件使用 **TUI** 作为简易的交互方式,非 PlayerTitle 的箱子 UI +- 支持设置称号 **限量销售、限时销售** +- 支持玩家使用称号币自定义称号 +- 支持外部经济系统(需要 Vault 前置支持(3.0.6+) +- 支持 PlaceholderAPI (4.0.0+) ## 支持版本 -- 1.20.1+ (Bukkit, Spigot, Paper, Folia) +- 1.20.1+ (Bukkit, Spigot, Paper, Folia) ## 建议与反馈 diff --git a/docs-java/process/plugin/game/title/mythicprefixes.md b/src/content/docs/java/process/plugin/game/title/mythicprefixes.md similarity index 100% rename from docs-java/process/plugin/game/title/mythicprefixes.md rename to src/content/docs/java/process/plugin/game/title/mythicprefixes.md diff --git a/docs-java/process/plugin/game/title/playertitle.md b/src/content/docs/java/process/plugin/game/title/playertitle.md similarity index 100% rename from docs-java/process/plugin/game/title/playertitle.md rename to src/content/docs/java/process/plugin/game/title/playertitle.md diff --git a/docs-java/process/plugin/game/title/title.md b/src/content/docs/java/process/plugin/game/title/title.md similarity index 100% rename from docs-java/process/plugin/game/title/title.md rename to src/content/docs/java/process/plugin/game/title/title.md diff --git a/docs-java/process/plugin/game/title/userprefix.md b/src/content/docs/java/process/plugin/game/title/userprefix.md similarity index 74% rename from docs-java/process/plugin/game/title/userprefix.md rename to src/content/docs/java/process/plugin/game/title/userprefix.md index 5a4b4dfb8..3c110a4a6 100644 --- a/docs-java/process/plugin/game/title/userprefix.md +++ b/src/content/docs/java/process/plugin/game/title/userprefix.md @@ -7,7 +7,7 @@ sidebar_position: 2 # UserPrefix -![](./_images/UserPrefix/1.png) +![](./_assets/UserPrefix/1.png) [![CodeFactor](https://www.codefactor.io/repository/github/carmjos/userprefix/badge?s=b76fec1f64726b5f19989aace6adb5f85fdab840)](https://www.codefactor.io/repository/github/carmjos/userprefix) ![CodeSize](https://img.shields.io/github/languages/code-size/CarmJos/UserPrefix) @@ -25,34 +25,34 @@ sidebar_position: 2 ## 照片 -![](./_images/UserPrefix/2.png) +![](./_assets/UserPrefix/2.png) ## 依赖 -- **[必须]** 插件本体基于 [Spigot-API](https://hub.spigotmc.org/stash/projects/SPIGOT)、[BukkitAPI](http://bukkit.org/) 实现。 -- **[必须]** 数据部分基于 [LuckPerms](https://www.spigotmc.org/resources/luckperms.28140/) 实现。 -- **[推荐]** 变量部分基于 [PlaceholderAPI](https://www.spigotmc.org/resources/6245/) 实现。 +- **[必须]** 插件本体基于 [Spigot-API](https://hub.spigotmc.org/stash/projects/SPIGOT)、[BukkitAPI](http://bukkit.org/) 实现。 +- **[必须]** 数据部分基于 [LuckPerms](https://www.spigotmc.org/resources/luckperms.28140/) 实现。 +- **[推荐]** 变量部分基于 [PlaceholderAPI](https://www.spigotmc.org/resources/6245/) 实现。 详细依赖列表可见 [Dependencies](https://github.com/CarmJos/UserPrefix/network/dependencies) 。 ## 特性 -- 理论上全版本支持! -- 游戏内重载配置文件并实时更新到玩家! -- 当玩家权限变更时会实时监测前缀,若权限不足则自动更换前缀并提示 -- 可配置的声音、消息! -- 前缀图标可配置“选中”、“有权限”与“无权限”三种状态的物品 -- TabList 自动按照前缀的权重排序 (如有冲突可关掉) -- 玩家头顶前缀显示 (如有冲突可关掉) -- 简单的聊天变量修改功能!(不推荐使用) `[自 v2.1.0 版本起]` -- 自动排序,且可翻页的 GUI! -- 支持 PlaceholderAPI 变量!(凡支持的都可以使用,如 BungeeTabListPlus) -- 支持 [Hex 颜色](https://www.hexcolortool.com/)!(1.16 以上版本) `[自 v1.2.3 版本起]` - - 格式: `&(#颜色代码)` - - 示例:LightSlateBlue `&(#8470FF)` 、 DarkSlateBlue `&(#483D8B)` -- 支持渐变色!(1.16 以上版本) `[自 v1.2.3 版本起]` - - 格式: `&<#颜色代码1>消息内容&<#颜色代码2>` - - 示例: `&<#8470FF>Hello World!&<#483D8B>` +- 理论上全版本支持! +- 游戏内重载配置文件并实时更新到玩家! +- 当玩家权限变更时会实时监测前缀,若权限不足则自动更换前缀并提示 +- 可配置的声音、消息! +- 前缀图标可配置“选中”、“有权限”与“无权限”三种状态的物品 +- TabList 自动按照前缀的权重排序 (如有冲突可关掉) +- 玩家头顶前缀显示 (如有冲突可关掉) +- 简单的聊天变量修改功能!(不推荐使用) `[自 v2.1.0 版本起]` +- 自动排序,且可翻页的 GUI! +- 支持 PlaceholderAPI 变量!(凡支持的都可以使用,如 BungeeTabListPlus) +- 支持 [Hex 颜色](https://www.hexcolortool.com/)!(1.16 以上版本) `[自 v1.2.3 版本起]` + - 格式: `&(#颜色代码)` + - 示例:LightSlateBlue `&(#8470FF)` 、 DarkSlateBlue `&(#483D8B)` +- 支持渐变色!(1.16 以上版本) `[自 v1.2.3 版本起]` + - 格式: `&<#颜色代码1>消息内容&<#颜色代码2>` + - 示例: `&<#8470FF>Hello World!&<#483D8B>` ## 注意事项 @@ -87,7 +87,7 @@ sidebar_position: 2 ## 支持与捐赠 本项目由 [YourCraft(你的世界)](https://www.ycraft.cn) 团队提供长期支持与维护。 -![TeamLogo](./_images/UserPrefix/3.png) +![TeamLogo](./_assets/UserPrefix/3.png) 若您觉得本插件做的不错,您可以捐赠支持我!感谢您成为开源项目的支持者! diff --git a/docs-java/process/plugin/management-tool/anti-grief/anti-grief.md b/src/content/docs/java/process/plugin/management-tool/anti-grief/anti-grief.md similarity index 100% rename from docs-java/process/plugin/management-tool/anti-grief/anti-grief.md rename to src/content/docs/java/process/plugin/management-tool/anti-grief/anti-grief.md diff --git a/docs-java/process/plugin/management-tool/anti-grief/coreprotect.md b/src/content/docs/java/process/plugin/management-tool/anti-grief/coreprotect.md similarity index 100% rename from docs-java/process/plugin/management-tool/anti-grief/coreprotect.md rename to src/content/docs/java/process/plugin/management-tool/anti-grief/coreprotect.md diff --git a/docs-java/process/plugin/management-tool/anti-grief/invseeplusplus.md b/src/content/docs/java/process/plugin/management-tool/anti-grief/invseeplusplus.md similarity index 100% rename from docs-java/process/plugin/management-tool/anti-grief/invseeplusplus.md rename to src/content/docs/java/process/plugin/management-tool/anti-grief/invseeplusplus.md diff --git a/docs-java/process/plugin/management-tool/anti-grief/prismrefracted.md b/src/content/docs/java/process/plugin/management-tool/anti-grief/prismrefracted.md similarity index 100% rename from docs-java/process/plugin/management-tool/anti-grief/prismrefracted.md rename to src/content/docs/java/process/plugin/management-tool/anti-grief/prismrefracted.md diff --git a/docs-java/process/plugin/management-tool/basic-plugins/basic-plugins.md b/src/content/docs/java/process/plugin/management-tool/basic-plugins/basic-plugins.md similarity index 100% rename from docs-java/process/plugin/management-tool/basic-plugins/basic-plugins.md rename to src/content/docs/java/process/plugin/management-tool/basic-plugins/basic-plugins.md diff --git a/docs-java/process/plugin/management-tool/basic-plugins/cmi/_images/1.jpg b/src/content/docs/java/process/plugin/management-tool/basic-plugins/cmi/_assets/1.jpg similarity index 100% rename from docs-java/process/plugin/management-tool/basic-plugins/cmi/_images/1.jpg rename to src/content/docs/java/process/plugin/management-tool/basic-plugins/cmi/_assets/1.jpg diff --git a/docs-java/process/plugin/management-tool/basic-plugins/cmi/_images/2.png b/src/content/docs/java/process/plugin/management-tool/basic-plugins/cmi/_assets/2.png similarity index 100% rename from docs-java/process/plugin/management-tool/basic-plugins/cmi/_images/2.png rename to src/content/docs/java/process/plugin/management-tool/basic-plugins/cmi/_assets/2.png diff --git a/docs-java/process/plugin/management-tool/basic-plugins/cmi/cmi.md b/src/content/docs/java/process/plugin/management-tool/basic-plugins/cmi/cmi.md similarity index 92% rename from docs-java/process/plugin/management-tool/basic-plugins/cmi/cmi.md rename to src/content/docs/java/process/plugin/management-tool/basic-plugins/cmi/cmi.md index bbb205561..e6afb318b 100644 --- a/docs-java/process/plugin/management-tool/basic-plugins/cmi/cmi.md +++ b/src/content/docs/java/process/plugin/management-tool/basic-plugins/cmi/cmi.md @@ -5,9 +5,9 @@ sidebar_position: 2 # 概览 -![](_images/1.jpg) +![](_assets/1.jpg) -![](_images/2.png) +![](_assets/2.png) 广泛使用,特别知名的付费基础插件,提供了 **巨量** 的功能,bug 和无脑盗版用户。 diff --git a/docs-java/process/plugin/management-tool/basic-plugins/cmi/eco.md b/src/content/docs/java/process/plugin/management-tool/basic-plugins/cmi/eco.md similarity index 100% rename from docs-java/process/plugin/management-tool/basic-plugins/cmi/eco.md rename to src/content/docs/java/process/plugin/management-tool/basic-plugins/cmi/eco.md diff --git a/docs-java/process/plugin/management-tool/basic-plugins/cmi/question.md b/src/content/docs/java/process/plugin/management-tool/basic-plugins/cmi/question.md similarity index 100% rename from docs-java/process/plugin/management-tool/basic-plugins/cmi/question.md rename to src/content/docs/java/process/plugin/management-tool/basic-plugins/cmi/question.md diff --git a/docs-java/process/plugin/management-tool/basic-plugins/delete.md b/src/content/docs/java/process/plugin/management-tool/basic-plugins/delete.md similarity index 100% rename from docs-java/process/plugin/management-tool/basic-plugins/delete.md rename to src/content/docs/java/process/plugin/management-tool/basic-plugins/delete.md diff --git a/docs-java/process/plugin/management-tool/basic-plugins/essentialsx/_images/1.png b/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/_assets/1.png similarity index 100% rename from docs-java/process/plugin/management-tool/basic-plugins/essentialsx/_images/1.png rename to src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/_assets/1.png diff --git a/docs-java/process/plugin/management-tool/basic-plugins/essentialsx/_images/2.png b/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/_assets/2.png similarity index 100% rename from docs-java/process/plugin/management-tool/basic-plugins/essentialsx/_images/2.png rename to src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/_assets/2.png diff --git a/docs-java/process/plugin/management-tool/basic-plugins/essentialsx/_images/3.png b/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/_assets/3.png similarity index 100% rename from docs-java/process/plugin/management-tool/basic-plugins/essentialsx/_images/3.png rename to src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/_assets/3.png diff --git a/docs-java/process/plugin/management-tool/basic-plugins/essentialsx/_images/banner.png b/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/_assets/banner.png similarity index 100% rename from docs-java/process/plugin/management-tool/basic-plugins/essentialsx/_images/banner.png rename to src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/_assets/banner.png diff --git a/docs-java/process/plugin/management-tool/basic-plugins/essentialsx/_images/kit_1.png b/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/_assets/kit_1.png similarity index 100% rename from docs-java/process/plugin/management-tool/basic-plugins/essentialsx/_images/kit_1.png rename to src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/_assets/kit_1.png diff --git a/docs-java/process/plugin/management-tool/basic-plugins/essentialsx/_images/kit_2.png b/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/_assets/kit_2.png similarity index 100% rename from docs-java/process/plugin/management-tool/basic-plugins/essentialsx/_images/kit_2.png rename to src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/_assets/kit_2.png diff --git a/docs-java/process/plugin/management-tool/basic-plugins/essentialsx/_images/kit_3.png b/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/_assets/kit_3.png similarity index 100% rename from docs-java/process/plugin/management-tool/basic-plugins/essentialsx/_images/kit_3.png rename to src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/_assets/kit_3.png diff --git a/docs-java/process/plugin/management-tool/basic-plugins/essentialsx/_images/kit_4.png b/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/_assets/kit_4.png similarity index 100% rename from docs-java/process/plugin/management-tool/basic-plugins/essentialsx/_images/kit_4.png rename to src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/_assets/kit_4.png diff --git a/docs-java/process/plugin/management-tool/basic-plugins/essentialsx/_images/warp_1.png b/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/_assets/warp_1.png similarity index 100% rename from docs-java/process/plugin/management-tool/basic-plugins/essentialsx/_images/warp_1.png rename to src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/_assets/warp_1.png diff --git a/docs-java/process/plugin/management-tool/basic-plugins/essentialsx/_images/warp_2.png b/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/_assets/warp_2.png similarity index 100% rename from docs-java/process/plugin/management-tool/basic-plugins/essentialsx/_images/warp_2.png rename to src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/_assets/warp_2.png diff --git a/docs-java/process/plugin/management-tool/basic-plugins/essentialsx/_images/warp_3.png b/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/_assets/warp_3.png similarity index 100% rename from docs-java/process/plugin/management-tool/basic-plugins/essentialsx/_images/warp_3.png rename to src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/_assets/warp_3.png diff --git a/docs-java/process/plugin/management-tool/basic-plugins/essentialsx/config-tips.md b/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/config-tips.md similarity index 100% rename from docs-java/process/plugin/management-tool/basic-plugins/essentialsx/config-tips.md rename to src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/config-tips.md diff --git a/docs-java/process/plugin/management-tool/basic-plugins/essentialsx/config-yml.md b/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/config-yml.md similarity index 100% rename from docs-java/process/plugin/management-tool/basic-plugins/essentialsx/config-yml.md rename to src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/config-yml.md diff --git a/docs-java/process/plugin/management-tool/basic-plugins/essentialsx/essentialsx.md b/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/essentialsx.md similarity index 79% rename from docs-java/process/plugin/management-tool/basic-plugins/essentialsx/essentialsx.md rename to src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/essentialsx.md index 64e8c1055..f29e55639 100644 --- a/docs-java/process/plugin/management-tool/basic-plugins/essentialsx/essentialsx.md +++ b/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/essentialsx.md @@ -7,16 +7,16 @@ sidebar_position: 1 # 概览 -![](_images/banner.png) +![](_assets/banner.png) EssentialsX 是一个基于 Spigot 服务端的基础插件,为从大到小的服务器提供核心功能。这些功能包括: -- **玩家可以自由设置家** -- 服务器 **传送** 或给玩家提供 **物品套组**,可以设置跨世界或单独世界。 -- 玩家与玩家间的 **私有消息,传送,发送传送请求** -- 玩家自定义 **昵称** -- 很多的管理员工具包括 **踢出服务器,临时禁止登陆服务器、禁言与监禁** -- 内建经济系统,包括 **木牌商店、付费执行命令和完全的 Vault 支持** +- **玩家可以自由设置家** +- 服务器 **传送** 或给玩家提供 **物品套组**,可以设置跨世界或单独世界。 +- 玩家与玩家间的 **私有消息,传送,发送传送请求** +- 玩家自定义 **昵称** +- 很多的管理员工具包括 **踢出服务器,临时禁止登陆服务器、禁言与监禁** +- 内建经济系统,包括 **木牌商店、付费执行命令和完全的 Vault 支持** 此外,EssentialsX 的选择模块提供了更多综合的功能如聊天、世界保护、GeoIP 查找还有更多……请前往 [模块故障](https://github.com/TecoStudio/EssentialsX-Wiki-zh_CN/wiki/1.3---%E6%A8%A1%E5%9D%97%E6%95%85%E9%9A%9C) 部分阅读更多内容。 @@ -50,14 +50,14 @@ EssentialsX 是一个基于 Spigot 服务端的基础插件,为从大到小的 Essentials 插件分为两个版本: -- essentials(早已停更) 适合 MC 1.7.10 [下载](https://mineplugin.org/Essentials/Downloads) -- essentialsX 适合 MC 1.8+ [下载](https://essentialsx.net/downloads.html) +- essentials(早已停更) 适合 MC 1.7.10 [下载](https://mineplugin.org/Essentials/Downloads) +- essentialsX 适合 MC 1.8+ [下载](https://essentialsx.net/downloads.html)
怎么找到官网并从官网下载 essx -![](_images/1.png) -![](_images/2.png) +![](_assets/1.png) +![](_assets/2.png) > 建议选择`稳定版本` > @@ -66,7 +66,7 @@ Essentials 插件分为两个版本: > Development build 开发版本 > > 真的有那么多人不知道自己下的开发版。。。 -> ![](_images/3.png) +> ![](_assets/3.png)
diff --git a/docs-java/process/plugin/management-tool/basic-plugins/essentialsx/faq.md b/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/faq.md similarity index 65% rename from docs-java/process/plugin/management-tool/basic-plugins/essentialsx/faq.md rename to src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/faq.md index ff0ae014b..a19ee5493 100644 --- a/docs-java/process/plugin/management-tool/basic-plugins/essentialsx/faq.md +++ b/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/faq.md @@ -7,8 +7,8 @@ sidebar_position: 7 ## 你没有权限与 xxx 交互。 \ -![](../../permission/_images/日志-1.png) +![](../../permission/_assets/日志-1.png) -🏆来的我不是叫你不要装 ess 全家桶? +🏆 来的我不是叫你不要装 ess 全家桶? 删了你的 EssentialsXAntiBuild 或者看 [这里](../../permission/tips.md) diff --git a/docs-java/process/plugin/management-tool/basic-plugins/essentialsx/kit.md b/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/kit.md similarity index 92% rename from docs-java/process/plugin/management-tool/basic-plugins/essentialsx/kit.md rename to src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/kit.md index 664a7d921..6cd27c2fe 100644 --- a/docs-java/process/plugin/management-tool/basic-plugins/essentialsx/kit.md +++ b/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/kit.md @@ -11,7 +11,7 @@ sidebar_position: 5 /kitcreate 冷却 ``` -![](_images/kit_1.png) +![](_assets/kit_1.png) 他会将你背包中所有物品保存到这个 kit 礼包中 @@ -25,7 +25,7 @@ sidebar_position: 5 /kit ``` -![](_images/kit_2.png) +![](_assets/kit_2.png) ### 权限 @@ -33,7 +33,7 @@ sidebar_position: 5 但只给 `essentials.kit` 会提示: -![](_images/kit_3.png) +![](_assets/kit_3.png) 是的,除了 `essentials.kit` 我们还需要给予 `essentials.kits.` 玩家才能领取 @@ -62,7 +62,7 @@ iloveyizhan: - /say 1 ``` -![](_images/kit_4.png) +![](_assets/kit_4.png) ### 变量 diff --git a/docs-java/process/plugin/management-tool/basic-plugins/essentialsx/papi-support.md b/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/papi-support.md similarity index 100% rename from docs-java/process/plugin/management-tool/basic-plugins/essentialsx/papi-support.md rename to src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/papi-support.md diff --git a/docs-java/process/plugin/management-tool/basic-plugins/essentialsx/warp.md b/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/warp.md similarity index 88% rename from docs-java/process/plugin/management-tool/basic-plugins/essentialsx/warp.md rename to src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/warp.md index 2f610d557..3411dc1b7 100644 --- a/docs-java/process/plugin/management-tool/basic-plugins/essentialsx/warp.md +++ b/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/warp.md @@ -13,7 +13,7 @@ sidebar_position: 6 /setwarp <地标名> ``` -![](_images/warp_1.png) +![](_assets/warp_1.png) ## 传送地标 @@ -21,7 +21,7 @@ sidebar_position: 6 /warp <地标名> ``` -![](_images/warp_2.png) +![](_assets/warp_2.png) 你需要给予玩家 `essentials.warp` 权限来允许使用 `warp` 命令 @@ -33,7 +33,7 @@ sidebar_position: 6 /delwarp <地标名> ``` -![](_images/warp_3.png) +![](_assets/warp_3.png) ## 更多 diff --git a/docs-java/process/plugin/management-tool/basic-plugins/sunlight/_images/1.png b/src/content/docs/java/process/plugin/management-tool/basic-plugins/sunlight/_assets/1.png similarity index 100% rename from docs-java/process/plugin/management-tool/basic-plugins/sunlight/_images/1.png rename to src/content/docs/java/process/plugin/management-tool/basic-plugins/sunlight/_assets/1.png diff --git a/docs-java/process/plugin/management-tool/basic-plugins/sunlight/_images/2.png b/src/content/docs/java/process/plugin/management-tool/basic-plugins/sunlight/_assets/2.png similarity index 100% rename from docs-java/process/plugin/management-tool/basic-plugins/sunlight/_images/2.png rename to src/content/docs/java/process/plugin/management-tool/basic-plugins/sunlight/_assets/2.png diff --git a/docs-java/process/plugin/management-tool/basic-plugins/sunlight/_images/3.png b/src/content/docs/java/process/plugin/management-tool/basic-plugins/sunlight/_assets/3.png similarity index 100% rename from docs-java/process/plugin/management-tool/basic-plugins/sunlight/_images/3.png rename to src/content/docs/java/process/plugin/management-tool/basic-plugins/sunlight/_assets/3.png diff --git a/docs-java/process/plugin/management-tool/basic-plugins/sunlight/_images/4.png b/src/content/docs/java/process/plugin/management-tool/basic-plugins/sunlight/_assets/4.png similarity index 100% rename from docs-java/process/plugin/management-tool/basic-plugins/sunlight/_images/4.png rename to src/content/docs/java/process/plugin/management-tool/basic-plugins/sunlight/_assets/4.png diff --git a/docs-java/process/plugin/management-tool/basic-plugins/sunlight/_images/5.png b/src/content/docs/java/process/plugin/management-tool/basic-plugins/sunlight/_assets/5.png similarity index 100% rename from docs-java/process/plugin/management-tool/basic-plugins/sunlight/_images/5.png rename to src/content/docs/java/process/plugin/management-tool/basic-plugins/sunlight/_assets/5.png diff --git a/src/content/docs/java/process/plugin/management-tool/basic-plugins/sunlight/sunlight.md b/src/content/docs/java/process/plugin/management-tool/basic-plugins/sunlight/sunlight.md new file mode 100644 index 000000000..cc8f1c732 --- /dev/null +++ b/src/content/docs/java/process/plugin/management-tool/basic-plugins/sunlight/sunlight.md @@ -0,0 +1,45 @@ +--- +title: SunLight +sidebar_position: 3 +--- + +# SunLight + +![](_assets/1.png) + +[![Discord](./_assets/2.png)](https://discord.gg/EwNFGsnGaW) +[![Ko-fi](./_assets/3.png)](https://ko-fi.com/nightexpress) +[![Documentation](./_assets/4.png)](https://nightexpress.gitbook.io/sunlight) + +## 特点 + +![](_assets/5.png) + +- **模块化。** 插件的任何部分都可以轻松完全禁用!包括任何插件命令! +- **轻盈而现代。** 漂亮的消息设计,简单直观的 GUI,没有过载(hello CMI),也不是那么基本(hello Essentials)。 +- [**JSON 支持。**](https://github.com/nulli0n/NexEngine-spigot/wiki/Language-Config#json-formatting) 大约 90% 的插件消息(命令用法和描述除外)支持自定义 JSON 元素! +- **GUI 驱动。** 忘记在聊天中浏览套件、经线、房屋、禁令等。所有这些都是通过完全可定制的信息 GUI 完成的! +- **常用命令。** 超过 50+ 基本和实用命令! +- **更多命令。** 总共 100+ 个命令,启用所有模块! +- **命令快捷方式。** 为任何 SunLight 命令创建自定义快捷方式。示例:/gamemode creative -> /gmc! +- **命令冷却时间。** 根据玩家的等级为任何服务器命令创建自定义冷却时间。 +- [**命令设置。**](https://github.com/nulli0n/SunLight-spigot/wiki/Commands#-commands-config) 某些命令在 commands.yml 配置文件中具有自己的设置。 +- **离线玩家支持。** 几乎每个 SunLight 命令都支持离线玩家! +- **自定义文本文件。** 使用任何文本创建自定义.txt,并使用分配给该文件的唯一命令进行打印!非常适合为命令创建 motd、规则甚至自定义文本 GUI! +- [**占位符 API**](https://github.com/nulli0n/SunLight-spigot/wiki/PlaceholderAPI) 支持。 + +## 链接 + +:::info + +`SpigotMC` https://www.spigotmc.org/resources/.67733 + +`MineBBS` https://www.minebbs.com/resources/.7241 + +`GitHub` https://github.com/nulli0n/SunLight-spigot + +`文档 (英文)` https://github.com/nulli0n/SunLight-spigot/wiki + +`插件百科` https://mineplugin.org/SunLight-Core + +::: diff --git a/docs-java/process/plugin/management-tool/chat/_images/TrChat/1.png b/src/content/docs/java/process/plugin/management-tool/chat/_assets/TrChat/1.png similarity index 100% rename from docs-java/process/plugin/management-tool/chat/_images/TrChat/1.png rename to src/content/docs/java/process/plugin/management-tool/chat/_assets/TrChat/1.png diff --git a/docs-java/process/plugin/management-tool/chat/carbon.md b/src/content/docs/java/process/plugin/management-tool/chat/carbon.md similarity index 100% rename from docs-java/process/plugin/management-tool/chat/carbon.md rename to src/content/docs/java/process/plugin/management-tool/chat/carbon.md diff --git a/docs-java/process/plugin/management-tool/chat/chat.md b/src/content/docs/java/process/plugin/management-tool/chat/chat.md similarity index 100% rename from docs-java/process/plugin/management-tool/chat/chat.md rename to src/content/docs/java/process/plugin/management-tool/chat/chat.md diff --git a/docs-java/process/plugin/management-tool/chat/huskchat.md b/src/content/docs/java/process/plugin/management-tool/chat/huskchat.md similarity index 100% rename from docs-java/process/plugin/management-tool/chat/huskchat.md rename to src/content/docs/java/process/plugin/management-tool/chat/huskchat.md diff --git a/docs-java/process/plugin/management-tool/chat/trchat.md b/src/content/docs/java/process/plugin/management-tool/chat/trchat.md similarity index 56% rename from docs-java/process/plugin/management-tool/chat/trchat.md rename to src/content/docs/java/process/plugin/management-tool/chat/trchat.md index fd9d86ead..a867e1331 100644 --- a/docs-java/process/plugin/management-tool/chat/trchat.md +++ b/src/content/docs/java/process/plugin/management-tool/chat/trchat.md @@ -5,27 +5,27 @@ sidebar_position: 1 # TrChat -![](./_images/TrChat/1.png) +![](./_assets/TrChat/1.png) ## 功能 -- 版本兼容,支持 1.8-最新 -- 多频道聊天,默认提供多个常用聊天频道(常规/全局/私聊/管理频道) -- 敏感词过滤,十分强大的敏感词过滤系统,支持自定义忽略标点符号判断 -- 过滤检测,过滤器不仅仅检测聊天,更会过滤木牌、铁砧等等 -- 云端词库,你无需自行添加过多的敏感词,插件将自动从云端更新敏感词库(当前 0.7k+) -- 物品展示,所有频道均支持展示玩家容器内物品,支持指定槽位、同时展示多个物品,支持设置冷却 -- 聊天冷却,自定义玩家聊天间隔,防止刷屏 -- At@玩家,支持高亮@玩家,并通过音效 + TITLE 等方式提醒,支持设置冷却 -- 监听私聊,管理员支持切换监听模式,开始时将被推送玩家的私聊内容 -- 颜色代码,通过独立的权限控制玩家是否能够使用某颜色代码,支持聊天、书本、铁砧等 -- 多聊天格式,单个聊天频道支持多个聊天格式,通过权限优先级筛选 -- 跨服支持,不仅仅是跨服私聊、全局喊话,跨服也支持展示物品! -- 自定义正则匹配替换,替换自定义匹配到的内容为自定义 JSON 模块,非常强大 -- 支持 PlaceholderAPI 变量 -- 支持 Tab 补全 Bungee 全服玩家 ID -- 期维护更新功能 -- 免费下载,代码开源,提供 API, 自动检测更新 +- 版本兼容,支持 1.8-最新 +- 多频道聊天,默认提供多个常用聊天频道(常规/全局/私聊/管理频道) +- 敏感词过滤,十分强大的敏感词过滤系统,支持自定义忽略标点符号判断 +- 过滤检测,过滤器不仅仅检测聊天,更会过滤木牌、铁砧等等 +- 云端词库,你无需自行添加过多的敏感词,插件将自动从云端更新敏感词库(当前 0.7k+) +- 物品展示,所有频道均支持展示玩家容器内物品,支持指定槽位、同时展示多个物品,支持设置冷却 +- 聊天冷却,自定义玩家聊天间隔,防止刷屏 +- At@玩家,支持高亮@玩家,并通过音效 + TITLE 等方式提醒,支持设置冷却 +- 监听私聊,管理员支持切换监听模式,开始时将被推送玩家的私聊内容 +- 颜色代码,通过独立的权限控制玩家是否能够使用某颜色代码,支持聊天、书本、铁砧等 +- 多聊天格式,单个聊天频道支持多个聊天格式,通过权限优先级筛选 +- 跨服支持,不仅仅是跨服私聊、全局喊话,跨服也支持展示物品! +- 自定义正则匹配替换,替换自定义匹配到的内容为自定义 JSON 模块,非常强大 +- 支持 PlaceholderAPI 变量 +- 支持 Tab 补全 Bungee 全服玩家 ID +- 期维护更新功能 +- 免费下载,代码开源,提供 API, 自动检测更新 ## 说明 diff --git a/docs-java/process/plugin/management-tool/items/_images/mmoitems.png b/src/content/docs/java/process/plugin/management-tool/items/_assets/mmoitems.png similarity index 100% rename from docs-java/process/plugin/management-tool/items/_images/mmoitems.png rename to src/content/docs/java/process/plugin/management-tool/items/_assets/mmoitems.png diff --git a/docs-java/process/plugin/management-tool/items/_images/mmoitems_2.webp b/src/content/docs/java/process/plugin/management-tool/items/_assets/mmoitems_2.webp similarity index 100% rename from docs-java/process/plugin/management-tool/items/_images/mmoitems_2.webp rename to src/content/docs/java/process/plugin/management-tool/items/_assets/mmoitems_2.webp diff --git a/docs-java/process/plugin/management-tool/items/crucible.md b/src/content/docs/java/process/plugin/management-tool/items/crucible.md similarity index 100% rename from docs-java/process/plugin/management-tool/items/crucible.md rename to src/content/docs/java/process/plugin/management-tool/items/crucible.md diff --git a/docs-java/process/plugin/management-tool/items/ecoItems.md b/src/content/docs/java/process/plugin/management-tool/items/ecoItems.md similarity index 100% rename from docs-java/process/plugin/management-tool/items/ecoItems.md rename to src/content/docs/java/process/plugin/management-tool/items/ecoItems.md diff --git a/docs-java/process/plugin/management-tool/items/items.md b/src/content/docs/java/process/plugin/management-tool/items/items.md similarity index 100% rename from docs-java/process/plugin/management-tool/items/items.md rename to src/content/docs/java/process/plugin/management-tool/items/items.md diff --git a/docs-java/process/plugin/management-tool/items/misc.md b/src/content/docs/java/process/plugin/management-tool/items/misc.md similarity index 100% rename from docs-java/process/plugin/management-tool/items/misc.md rename to src/content/docs/java/process/plugin/management-tool/items/misc.md diff --git a/docs-java/process/plugin/management-tool/items/mmoitems.md b/src/content/docs/java/process/plugin/management-tool/items/mmoitems.md similarity index 81% rename from docs-java/process/plugin/management-tool/items/mmoitems.md rename to src/content/docs/java/process/plugin/management-tool/items/mmoitems.md index db4b1d557..7e8bb9ac2 100644 --- a/docs-java/process/plugin/management-tool/items/mmoitems.md +++ b/src/content/docs/java/process/plugin/management-tool/items/mmoitems.md @@ -5,7 +5,7 @@ sidebar_position: 1 # MMOItems -![](_images/mmoitems.png) +![](_assets/mmoitems.png) :::info @@ -23,10 +23,10 @@ sidebar_position: 1 有很多人用多种方式对其汉化,这是其中两个: -- https://www.minebbs.com/resources/.9699 -- https://github.com/MagicMC-Dev/MMOItems-Zh +- https://www.minebbs.com/resources/.9699 +- https://github.com/MagicMC-Dev/MMOItems-Zh -![](_images/mmoitems_2.webp) +![](_assets/mmoitems_2.webp) 作者在 Review 中回复,MMOItems 更新到 7.0 后将支持编辑界面的本地化。 diff --git a/docs-java/process/plugin/management-tool/items/neigeitems.md b/src/content/docs/java/process/plugin/management-tool/items/neigeitems.md similarity index 100% rename from docs-java/process/plugin/management-tool/items/neigeitems.md rename to src/content/docs/java/process/plugin/management-tool/items/neigeitems.md diff --git a/docs-java/process/plugin/management-tool/items/ratziel.md b/src/content/docs/java/process/plugin/management-tool/items/ratziel.md similarity index 100% rename from docs-java/process/plugin/management-tool/items/ratziel.md rename to src/content/docs/java/process/plugin/management-tool/items/ratziel.md diff --git a/docs-java/process/plugin/management-tool/items/sx-item.md b/src/content/docs/java/process/plugin/management-tool/items/sx-item.md similarity index 100% rename from docs-java/process/plugin/management-tool/items/sx-item.md rename to src/content/docs/java/process/plugin/management-tool/items/sx-item.md diff --git a/docs-java/process/plugin/management-tool/items/zaphkiel.md b/src/content/docs/java/process/plugin/management-tool/items/zaphkiel.md similarity index 100% rename from docs-java/process/plugin/management-tool/items/zaphkiel.md rename to src/content/docs/java/process/plugin/management-tool/items/zaphkiel.md diff --git a/docs-java/process/plugin/management-tool/management-tool.md b/src/content/docs/java/process/plugin/management-tool/management-tool.md similarity index 100% rename from docs-java/process/plugin/management-tool/management-tool.md rename to src/content/docs/java/process/plugin/management-tool/management-tool.md diff --git a/docs-java/process/plugin/management-tool/permission/_images/1.png b/src/content/docs/java/process/plugin/management-tool/permission/_assets/1.png similarity index 100% rename from docs-java/process/plugin/management-tool/permission/_images/1.png rename to src/content/docs/java/process/plugin/management-tool/permission/_assets/1.png diff --git a/docs-java/process/plugin/management-tool/permission/_images/2.png b/src/content/docs/java/process/plugin/management-tool/permission/_assets/2.png similarity index 100% rename from docs-java/process/plugin/management-tool/permission/_images/2.png rename to src/content/docs/java/process/plugin/management-tool/permission/_assets/2.png diff --git a/docs-java/process/plugin/management-tool/permission/_images/3.png b/src/content/docs/java/process/plugin/management-tool/permission/_assets/3.png similarity index 100% rename from docs-java/process/plugin/management-tool/permission/_images/3.png rename to src/content/docs/java/process/plugin/management-tool/permission/_assets/3.png diff --git a/docs-java/process/plugin/management-tool/permission/_images/command.png b/src/content/docs/java/process/plugin/management-tool/permission/_assets/command.png similarity index 100% rename from docs-java/process/plugin/management-tool/permission/_images/command.png rename to src/content/docs/java/process/plugin/management-tool/permission/_assets/command.png diff --git a/docs-java/process/plugin/management-tool/permission/_images/editor.png b/src/content/docs/java/process/plugin/management-tool/permission/_assets/editor.png similarity index 100% rename from docs-java/process/plugin/management-tool/permission/_images/editor.png rename to src/content/docs/java/process/plugin/management-tool/permission/_assets/editor.png diff --git a/docs-java/process/plugin/management-tool/permission/_images/memory_1.png b/src/content/docs/java/process/plugin/management-tool/permission/_assets/memory_1.png similarity index 100% rename from docs-java/process/plugin/management-tool/permission/_images/memory_1.png rename to src/content/docs/java/process/plugin/management-tool/permission/_assets/memory_1.png diff --git a/docs-java/process/plugin/management-tool/permission/_images/memory_10.png b/src/content/docs/java/process/plugin/management-tool/permission/_assets/memory_10.png similarity index 100% rename from docs-java/process/plugin/management-tool/permission/_images/memory_10.png rename to src/content/docs/java/process/plugin/management-tool/permission/_assets/memory_10.png diff --git a/docs-java/process/plugin/management-tool/permission/_images/memory_11.png b/src/content/docs/java/process/plugin/management-tool/permission/_assets/memory_11.png similarity index 100% rename from docs-java/process/plugin/management-tool/permission/_images/memory_11.png rename to src/content/docs/java/process/plugin/management-tool/permission/_assets/memory_11.png diff --git a/docs-java/process/plugin/management-tool/permission/_images/memory_12.png b/src/content/docs/java/process/plugin/management-tool/permission/_assets/memory_12.png similarity index 100% rename from docs-java/process/plugin/management-tool/permission/_images/memory_12.png rename to src/content/docs/java/process/plugin/management-tool/permission/_assets/memory_12.png diff --git a/docs-java/process/plugin/management-tool/permission/_images/memory_2.png b/src/content/docs/java/process/plugin/management-tool/permission/_assets/memory_2.png similarity index 100% rename from docs-java/process/plugin/management-tool/permission/_images/memory_2.png rename to src/content/docs/java/process/plugin/management-tool/permission/_assets/memory_2.png diff --git a/docs-java/process/plugin/management-tool/permission/_images/memory_3.png b/src/content/docs/java/process/plugin/management-tool/permission/_assets/memory_3.png similarity index 100% rename from docs-java/process/plugin/management-tool/permission/_images/memory_3.png rename to src/content/docs/java/process/plugin/management-tool/permission/_assets/memory_3.png diff --git a/docs-java/process/plugin/management-tool/permission/_images/memory_4.png b/src/content/docs/java/process/plugin/management-tool/permission/_assets/memory_4.png similarity index 100% rename from docs-java/process/plugin/management-tool/permission/_images/memory_4.png rename to src/content/docs/java/process/plugin/management-tool/permission/_assets/memory_4.png diff --git a/docs-java/process/plugin/management-tool/permission/_images/memory_5.png b/src/content/docs/java/process/plugin/management-tool/permission/_assets/memory_5.png similarity index 100% rename from docs-java/process/plugin/management-tool/permission/_images/memory_5.png rename to src/content/docs/java/process/plugin/management-tool/permission/_assets/memory_5.png diff --git a/docs-java/process/plugin/management-tool/permission/_images/memory_6.png b/src/content/docs/java/process/plugin/management-tool/permission/_assets/memory_6.png similarity index 100% rename from docs-java/process/plugin/management-tool/permission/_images/memory_6.png rename to src/content/docs/java/process/plugin/management-tool/permission/_assets/memory_6.png diff --git a/docs-java/process/plugin/management-tool/permission/_images/memory_7.png b/src/content/docs/java/process/plugin/management-tool/permission/_assets/memory_7.png similarity index 100% rename from docs-java/process/plugin/management-tool/permission/_images/memory_7.png rename to src/content/docs/java/process/plugin/management-tool/permission/_assets/memory_7.png diff --git a/docs-java/process/plugin/management-tool/permission/_images/memory_8.png b/src/content/docs/java/process/plugin/management-tool/permission/_assets/memory_8.png similarity index 100% rename from docs-java/process/plugin/management-tool/permission/_images/memory_8.png rename to src/content/docs/java/process/plugin/management-tool/permission/_assets/memory_8.png diff --git a/docs-java/process/plugin/management-tool/permission/_images/memory_9.png b/src/content/docs/java/process/plugin/management-tool/permission/_assets/memory_9.png similarity index 100% rename from docs-java/process/plugin/management-tool/permission/_images/memory_9.png rename to src/content/docs/java/process/plugin/management-tool/permission/_assets/memory_9.png diff --git a/docs-java/process/plugin/management-tool/permission/_images/on.png b/src/content/docs/java/process/plugin/management-tool/permission/_assets/on.png similarity index 100% rename from docs-java/process/plugin/management-tool/permission/_images/on.png rename to src/content/docs/java/process/plugin/management-tool/permission/_assets/on.png diff --git a/docs-java/process/plugin/management-tool/permission/_images/paste-1.png b/src/content/docs/java/process/plugin/management-tool/permission/_assets/paste-1.png similarity index 100% rename from docs-java/process/plugin/management-tool/permission/_images/paste-1.png rename to src/content/docs/java/process/plugin/management-tool/permission/_assets/paste-1.png diff --git a/docs-java/process/plugin/management-tool/permission/_images/paste-2.png b/src/content/docs/java/process/plugin/management-tool/permission/_assets/paste-2.png similarity index 100% rename from docs-java/process/plugin/management-tool/permission/_images/paste-2.png rename to src/content/docs/java/process/plugin/management-tool/permission/_assets/paste-2.png diff --git a/docs-java/process/plugin/management-tool/permission/_images/ummm.jpg b/src/content/docs/java/process/plugin/management-tool/permission/_assets/ummm.jpg similarity index 100% rename from docs-java/process/plugin/management-tool/permission/_images/ummm.jpg rename to src/content/docs/java/process/plugin/management-tool/permission/_assets/ummm.jpg diff --git "a/docs-java/process/plugin/management-tool/permission/_images/\346\227\245\345\277\227-1.png" "b/src/content/docs/java/process/plugin/management-tool/permission/_assets/\346\227\245\345\277\227-1.png" similarity index 100% rename from "docs-java/process/plugin/management-tool/permission/_images/\346\227\245\345\277\227-1.png" rename to "src/content/docs/java/process/plugin/management-tool/permission/_assets/\346\227\245\345\277\227-1.png" diff --git "a/docs-java/process/plugin/management-tool/permission/_images/\346\227\245\345\277\227-2.png" "b/src/content/docs/java/process/plugin/management-tool/permission/_assets/\346\227\245\345\277\227-2.png" similarity index 100% rename from "docs-java/process/plugin/management-tool/permission/_images/\346\227\245\345\277\227-2.png" rename to "src/content/docs/java/process/plugin/management-tool/permission/_assets/\346\227\245\345\277\227-2.png" diff --git "a/docs-java/process/plugin/management-tool/permission/_images/\346\255\243\347\273\217\347\254\221+\346\211\213.jpg" "b/src/content/docs/java/process/plugin/management-tool/permission/_assets/\346\255\243\347\273\217\347\254\221+\346\211\213.jpg" similarity index 100% rename from "docs-java/process/plugin/management-tool/permission/_images/\346\255\243\347\273\217\347\254\221+\346\211\213.jpg" rename to "src/content/docs/java/process/plugin/management-tool/permission/_assets/\346\255\243\347\273\217\347\254\221+\346\211\213.jpg" diff --git a/docs-java/process/plugin/management-tool/permission/command.md b/src/content/docs/java/process/plugin/management-tool/permission/command.md similarity index 100% rename from docs-java/process/plugin/management-tool/permission/command.md rename to src/content/docs/java/process/plugin/management-tool/permission/command.md diff --git a/docs-java/process/plugin/management-tool/permission/group.md b/src/content/docs/java/process/plugin/management-tool/permission/group.md similarity index 100% rename from docs-java/process/plugin/management-tool/permission/group.md rename to src/content/docs/java/process/plugin/management-tool/permission/group.md diff --git a/docs-java/process/plugin/management-tool/permission/meta.md b/src/content/docs/java/process/plugin/management-tool/permission/meta.md similarity index 90% rename from docs-java/process/plugin/management-tool/permission/meta.md rename to src/content/docs/java/process/plugin/management-tool/permission/meta.md index 74dae0ecc..ca17c4ce5 100644 --- a/docs-java/process/plugin/management-tool/permission/meta.md +++ b/src/content/docs/java/process/plugin/management-tool/permission/meta.md @@ -11,15 +11,15 @@ sidebar_position: 6 ## 权限 -实际上,你可以给予用户和组 *不存在的* (没有被其他插件使用) 的权限节点 +实际上,你可以给予用户和组 _不存在的_ (没有被其他插件使用) 的权限节点 这些权限有着和其他权限一样的性质 设置权限: -![](_images/memory_1.png) +![](_assets/memory_1.png) -![](_images/memory_2.png) +![](_assets/memory_2.png) ### 只能按一次的按钮 @@ -81,13 +81,13 @@ sidebar_position: 6 ::: -![](_images/memory_3.png) +![](_assets/memory_3.png) ### 按钮冷却 案例 (TrMenu): -![](_images/memory_4.png) +![](_assets/memory_4.png) ```yaml "A": @@ -119,7 +119,7 @@ sidebar_position: 6 图中执行了三次相同的命令 -![](_images/memory_5.png) +![](_assets/memory_5.png) :::tip @@ -153,7 +153,7 @@ inline "lp user {{sender}} permission settemp nitwikit.demo true {{math 24 - tim tell 搓出来的看看 -![](_images/memory_6.png) +![](_assets/memory_6.png) 执行命令: @@ -163,9 +163,9 @@ command inline "lp user {{sender}} permission settemp nitwikit.demo true {{math 你也可以用 papi 的 server 和 math 两个扩展来做 -- `%math_0_24-{server_time_HH}%` // 时 -- `%math_0_60-{server_time_mm}%` // 分 -- `%math_0_60-{server_time_ss}%` // 秒 +- `%math_0_24-{server_time_HH}%` // 时 +- `%math_0_60-{server_time_mm}%` // 分 +- `%math_0_60-{server_time_ss}%` // 秒 不过我不太喜欢这种做法,另一种: [案例 | 变量 | 每日刷新](../../../maintenance/lang/kether/variable.md#每日刷新) @@ -179,19 +179,19 @@ command inline "lp user {{sender}} permission settemp nitwikit.demo true {{math 你只需要知道 `键` 和 `值` 是一一对应的就好了 -然后框框设♂就行 +然后框框设 ♂ 就行 -![](_images/memory_7.png) +![](_assets/memory_7.png) -![](_images/memory_8.png) +![](_assets/memory_8.png) -![](_images/memory_9.png) +![](_assets/memory_9.png) ```text %luckperms_meta_键名% ``` -![](_images/memory_10.png) +![](_assets/memory_10.png) 此方法 OP 不受影响,但适用性没权限广,因为一些插件只支持判断权限 @@ -215,7 +215,7 @@ memory 键名 to 值 using lp 存 meta -![](_images/memory_11.png) +![](_assets/memory_11.png) ```text memory 键名 using lp @@ -223,9 +223,9 @@ memory 键名 using lp 取 meta -![](_images/memory_12.png) +![](_assets/memory_12.png) -![](_images/正经笑+手.jpg) +![](_assets/正经笑+手.jpg) ### 案例 diff --git a/docs-java/process/plugin/management-tool/permission/permission.md b/src/content/docs/java/process/plugin/management-tool/permission/permission.md similarity index 61% rename from docs-java/process/plugin/management-tool/permission/permission.md rename to src/content/docs/java/process/plugin/management-tool/permission/permission.md index ab358d38c..69bb29d89 100644 --- a/docs-java/process/plugin/management-tool/permission/permission.md +++ b/src/content/docs/java/process/plugin/management-tool/permission/permission.md @@ -6,18 +6,18 @@ sidebar_position: 1 # LuckPerms -![](_images/1.png) +![](_assets/1.png) -## ![介绍](_images/2.png) +## ![介绍](_assets/2.png) 当前最先进,现代,支持广泛,用户数量最多的权限插件。 -- **响应迅速** - 在开发之初便已经将性能和可扩展性放在首位。 -- **深受信赖** - 被数以千计的服务器管理者使用,再大型的服务器也有我们的身影。 -- **简易上手** - 通过命令,配置文件,网页版编辑器等方式操作你的权限。 -- **高效灵活** - 支持多种不同的存储方式与服务器平台。 -- **可客制化** - 为您的服务器提供大量的自定义选项和设置,以便您最大程度客制化使用体验。 -- **永远免费** - 此插件基于 MIT 协议开源。 +- **响应迅速** - 在开发之初便已经将性能和可扩展性放在首位。 +- **深受信赖** - 被数以千计的服务器管理者使用,再大型的服务器也有我们的身影。 +- **简易上手** - 通过命令,配置文件,网页版编辑器等方式操作你的权限。 +- **高效灵活** - 支持多种不同的存储方式与服务器平台。 +- **可客制化** - 为您的服务器提供大量的自定义选项和设置,以便您最大程度客制化使用体验。 +- **永远免费** - 此插件基于 MIT 协议开源。 :::tip[注意] @@ -27,19 +27,19 @@ sidebar_position: 1 **不建议使用** LuckPerms 以外的权限插件如: -- GroupManager -- PermissionsEx -- zPermissions -- bPermissions -- PermissionsBukkit -- PowerRanks -- UltraPermissions -- BungeePerms -- PowerfulPerms +- GroupManager +- PermissionsEx +- zPermissions +- bPermissions +- PermissionsBukkit +- PowerRanks +- UltraPermissions +- BungeePerms +- PowerfulPerms 其他权限组插件导入数据到 Luckperms?[点击这里](https://continue-project.netlify.app/LuckPerms/how-to.migrate-from-other-plugins.html) -## ![链接](_images/3.png) +## ![链接](_assets/3.png) :::info diff --git a/docs-java/process/plugin/management-tool/permission/tips.md b/src/content/docs/java/process/plugin/management-tool/permission/tips.md similarity index 62% rename from docs-java/process/plugin/management-tool/permission/tips.md rename to src/content/docs/java/process/plugin/management-tool/permission/tips.md index 72eaaa3c3..499ae59a2 100644 --- a/docs-java/process/plugin/management-tool/permission/tips.md +++ b/src/content/docs/java/process/plugin/management-tool/permission/tips.md @@ -11,7 +11,7 @@ sidebar_position: 5 lp editor ``` -![](_images/editor.png) +![](_assets/editor.png) ## 日志 @@ -27,7 +27,7 @@ lp verbose [filter] 你还不知道翻文档的情况,也不用跟个傻逼一样问群友这个 -![](./_images/日志-1.png) +![](./_assets/日志-1.png) 打开 Luckperms 的详细日志: @@ -37,18 +37,18 @@ lp verbose [filter] 再次破坏方块时,你会看到: -![](./_images/日志-2.png) +![](./_assets/日志-2.png) ### 解释 -- `on` - 开启权限检查。 -- `off` - 关闭权限检查。 -- `record` - 记录日志。 -- `paste` - 停止记录,显示日志。 +- `on` - 开启权限检查。 +- `off` - 关闭权限检查。 +- `record` - 记录日志。 +- `paste` - 停止记录,显示日志。 ### on -![](_images/on.png) +![](_assets/on.png) ### 过滤器 @@ -56,15 +56,15 @@ lp verbose [filter] lp verbose on !Luck & !anticheat ``` -- `Luck & (essentials | worldedit)` - 匹配 'essentials'和'worldedit' 开头的权限检查。 -- `!Luck & !anticheat` - 匹配除了 'Luck' 和 'anticheat' 开头以外的权限检查。 -- `anticheat & !anticheat.check` - 匹配以'anticheat' 开头 但不匹配 'anticheat.check' 开头的权限检查。 +- `Luck & (essentials | worldedit)` - 匹配 'essentials'和'worldedit' 开头的权限检查。 +- `!Luck & !anticheat` - 匹配除了 'Luck' 和 'anticheat' 开头以外的权限检查。 +- `anticheat & !anticheat.check` - 匹配以'anticheat' 开头 但不匹配 'anticheat.check' 开头的权限检查。 ### paste -![](_images/paste-1.png) +![](_assets/paste-1.png) -![](_images/paste-2.png) +![](_assets/paste-2.png) ## 执行命令 @@ -80,4 +80,4 @@ lp verbose on !Luck & !anticheat 截图中的 me 可以替换为在线玩家的玩家名。 -![](_images/command.png) +![](_assets/command.png) diff --git a/docs-java/process/plugin/management-tool/permission/what-is-permission.md b/src/content/docs/java/process/plugin/management-tool/permission/what-is-permission.md similarity index 98% rename from docs-java/process/plugin/management-tool/permission/what-is-permission.md rename to src/content/docs/java/process/plugin/management-tool/permission/what-is-permission.md index 058ba2380..d64b7f697 100644 --- a/docs-java/process/plugin/management-tool/permission/what-is-permission.md +++ b/src/content/docs/java/process/plugin/management-tool/permission/what-is-permission.md @@ -13,7 +13,7 @@ sidebar_position: 2 ::: -![](_images/ummm.jpg) +![](_assets/ummm.jpg) ## 权限节点 diff --git a/docs-java/process/plugin/management-tool/plugin-management/plugin-management.md b/src/content/docs/java/process/plugin/management-tool/plugin-management/plugin-management.md similarity index 100% rename from docs-java/process/plugin/management-tool/plugin-management/plugin-management.md rename to src/content/docs/java/process/plugin/management-tool/plugin-management/plugin-management.md diff --git a/docs-java/process/plugin/management-tool/plugin-management/plugin-portal.md b/src/content/docs/java/process/plugin/management-tool/plugin-management/plugin-portal.md similarity index 100% rename from docs-java/process/plugin/management-tool/plugin-management/plugin-portal.md rename to src/content/docs/java/process/plugin/management-tool/plugin-management/plugin-portal.md diff --git a/docs-java/process/plugin/management-tool/plugin-management/plugmanx.md b/src/content/docs/java/process/plugin/management-tool/plugin-management/plugmanx.md similarity index 100% rename from docs-java/process/plugin/management-tool/plugin-management/plugmanx.md rename to src/content/docs/java/process/plugin/management-tool/plugin-management/plugmanx.md diff --git a/docs-java/process/plugin/management-tool/plugin-management/serverutils.md b/src/content/docs/java/process/plugin/management-tool/plugin-management/serverutils.md similarity index 100% rename from docs-java/process/plugin/management-tool/plugin-management/serverutils.md rename to src/content/docs/java/process/plugin/management-tool/plugin-management/serverutils.md diff --git a/docs-java/process/plugin/management-tool/plugin-management/yum.md b/src/content/docs/java/process/plugin/management-tool/plugin-management/yum.md similarity index 100% rename from docs-java/process/plugin/management-tool/plugin-management/yum.md rename to src/content/docs/java/process/plugin/management-tool/plugin-management/yum.md diff --git a/docs-java/process/plugin/management-tool/task/_images/TypeWriter/TW_Banner_Transparant.png b/src/content/docs/java/process/plugin/management-tool/task/_assets/TypeWriter/TW_Banner_Transparant.png similarity index 100% rename from docs-java/process/plugin/management-tool/task/_images/TypeWriter/TW_Banner_Transparant.png rename to src/content/docs/java/process/plugin/management-tool/task/_assets/TypeWriter/TW_Banner_Transparant.png diff --git a/docs-java/process/plugin/management-tool/task/_images/TypeWriter/cinematic.gif b/src/content/docs/java/process/plugin/management-tool/task/_assets/TypeWriter/cinematic.gif similarity index 100% rename from docs-java/process/plugin/management-tool/task/_images/TypeWriter/cinematic.gif rename to src/content/docs/java/process/plugin/management-tool/task/_assets/TypeWriter/cinematic.gif diff --git a/docs-java/process/plugin/management-tool/task/beautyquests.md b/src/content/docs/java/process/plugin/management-tool/task/beautyquests.md similarity index 100% rename from docs-java/process/plugin/management-tool/task/beautyquests.md rename to src/content/docs/java/process/plugin/management-tool/task/beautyquests.md diff --git a/docs-java/process/plugin/management-tool/task/betonquest.md b/src/content/docs/java/process/plugin/management-tool/task/betonquest.md similarity index 100% rename from docs-java/process/plugin/management-tool/task/betonquest.md rename to src/content/docs/java/process/plugin/management-tool/task/betonquest.md diff --git a/docs-java/process/plugin/management-tool/task/chemdah.md b/src/content/docs/java/process/plugin/management-tool/task/chemdah.md similarity index 100% rename from docs-java/process/plugin/management-tool/task/chemdah.md rename to src/content/docs/java/process/plugin/management-tool/task/chemdah.md diff --git a/docs-java/process/plugin/management-tool/task/mangoquest.md b/src/content/docs/java/process/plugin/management-tool/task/mangoquest.md similarity index 100% rename from docs-java/process/plugin/management-tool/task/mangoquest.md rename to src/content/docs/java/process/plugin/management-tool/task/mangoquest.md diff --git a/docs-java/process/plugin/management-tool/task/playertask.md b/src/content/docs/java/process/plugin/management-tool/task/playertask.md similarity index 100% rename from docs-java/process/plugin/management-tool/task/playertask.md rename to src/content/docs/java/process/plugin/management-tool/task/playertask.md diff --git a/docs-java/process/plugin/management-tool/task/questcreator.md b/src/content/docs/java/process/plugin/management-tool/task/questcreator.md similarity index 100% rename from docs-java/process/plugin/management-tool/task/questcreator.md rename to src/content/docs/java/process/plugin/management-tool/task/questcreator.md diff --git a/docs-java/process/plugin/management-tool/task/questengine.md b/src/content/docs/java/process/plugin/management-tool/task/questengine.md similarity index 100% rename from docs-java/process/plugin/management-tool/task/questengine.md rename to src/content/docs/java/process/plugin/management-tool/task/questengine.md diff --git a/docs-java/process/plugin/management-tool/task/quests.md b/src/content/docs/java/process/plugin/management-tool/task/quests.md similarity index 100% rename from docs-java/process/plugin/management-tool/task/quests.md rename to src/content/docs/java/process/plugin/management-tool/task/quests.md diff --git a/docs-java/process/plugin/management-tool/task/task.md b/src/content/docs/java/process/plugin/management-tool/task/task.md similarity index 100% rename from docs-java/process/plugin/management-tool/task/task.md rename to src/content/docs/java/process/plugin/management-tool/task/task.md diff --git a/docs-java/process/plugin/management-tool/task/typewriter.md b/src/content/docs/java/process/plugin/management-tool/task/typewriter.md similarity index 61% rename from docs-java/process/plugin/management-tool/task/typewriter.md rename to src/content/docs/java/process/plugin/management-tool/task/typewriter.md index 72c011f09..0335f0225 100644 --- a/docs-java/process/plugin/management-tool/task/typewriter.md +++ b/src/content/docs/java/process/plugin/management-tool/task/typewriter.md @@ -5,7 +5,7 @@ sidebar_position: 2 # TypeWriter -![](_images/TypeWriter/TW_Banner_Transparant.png) +![](_assets/TypeWriter/TW_Banner_Transparant.png) [![Discord](https://img.shields.io/discord/1054708062520360960?label=discord&logo=discord&logoColor=white)](https://discord.gg/HtbKyuDDBw) @@ -15,13 +15,13 @@ TypeWriter 是一款适用于 Paper 服务端的插件,它能通过简洁而 ## 功能 -- **创建** 任务系统、NPC 对话树、多分支剧情 等玩法 -- **电影级过场动画**:设计动态镜头路径、NPC 动画互动及沉浸式剧情演出 -- **智能 NPC 行为**:自定义移动、外观切换、环境交互等逻辑 -- **可视化配置**:通过 网页控制台 轻松管理任务、NPC 及事件触发 -- **扩展模块**:通过 插件扩展(Extensions)集成自定义功能,打造独特游戏内容 +- **创建** 任务系统、NPC 对话树、多分支剧情 等玩法 +- **电影级过场动画**:设计动态镜头路径、NPC 动画互动及沉浸式剧情演出 +- **智能 NPC 行为**:自定义移动、外观切换、环境交互等逻辑 +- **可视化配置**:通过 网页控制台 轻松管理任务、NPC 及事件触发 +- **扩展模块**:通过 插件扩展(Extensions)集成自定义功能,打造独特游戏内容 -![](https://gh-proxy.com/github.com/Cubic-Project/NitWikit/blob/main/docs-java/process/plugin/ManageTool/task/_images/TypeWriter/cinematic.gif?raw=true) +![](https://gh-proxy.com/github.com/Cubic-Project/NitWikit/blob/main/docs-java/process/plugin/ManageTool/task/_assets/TypeWriter/cinematic.gif?raw=true) ## 链接 diff --git a/docs-java/process/plugin/misc/_images/QuickShop.jpg b/src/content/docs/java/process/plugin/misc/_assets/QuickShop.jpg similarity index 100% rename from docs-java/process/plugin/misc/_images/QuickShop.jpg rename to src/content/docs/java/process/plugin/misc/_assets/QuickShop.jpg diff --git a/docs-java/process/plugin/misc/holograms/_images/DecentHolograms/DecentHolograms_1.png b/src/content/docs/java/process/plugin/misc/holograms/_assets/DecentHolograms/DecentHolograms_1.png similarity index 100% rename from docs-java/process/plugin/misc/holograms/_images/DecentHolograms/DecentHolograms_1.png rename to src/content/docs/java/process/plugin/misc/holograms/_assets/DecentHolograms/DecentHolograms_1.png diff --git a/docs-java/process/plugin/misc/holograms/_images/DecentHolograms/DecentHolograms_2.png b/src/content/docs/java/process/plugin/misc/holograms/_assets/DecentHolograms/DecentHolograms_2.png similarity index 100% rename from docs-java/process/plugin/misc/holograms/_images/DecentHolograms/DecentHolograms_2.png rename to src/content/docs/java/process/plugin/misc/holograms/_assets/DecentHolograms/DecentHolograms_2.png diff --git a/docs-java/process/plugin/misc/holograms/_images/DecentHolograms/DecentHolograms_3.png b/src/content/docs/java/process/plugin/misc/holograms/_assets/DecentHolograms/DecentHolograms_3.png similarity index 100% rename from docs-java/process/plugin/misc/holograms/_images/DecentHolograms/DecentHolograms_3.png rename to src/content/docs/java/process/plugin/misc/holograms/_assets/DecentHolograms/DecentHolograms_3.png diff --git a/docs-java/process/plugin/misc/holograms/_images/DecentHolograms/DecentHolograms_4.png b/src/content/docs/java/process/plugin/misc/holograms/_assets/DecentHolograms/DecentHolograms_4.png similarity index 100% rename from docs-java/process/plugin/misc/holograms/_images/DecentHolograms/DecentHolograms_4.png rename to src/content/docs/java/process/plugin/misc/holograms/_assets/DecentHolograms/DecentHolograms_4.png diff --git a/docs-java/process/plugin/misc/holograms/_images/DecentHolograms/DecentHolograms_5.png b/src/content/docs/java/process/plugin/misc/holograms/_assets/DecentHolograms/DecentHolograms_5.png similarity index 100% rename from docs-java/process/plugin/misc/holograms/_images/DecentHolograms/DecentHolograms_5.png rename to src/content/docs/java/process/plugin/misc/holograms/_assets/DecentHolograms/DecentHolograms_5.png diff --git a/docs-java/process/plugin/misc/holograms/_images/DecentHolograms/DecentHolograms_6.png b/src/content/docs/java/process/plugin/misc/holograms/_assets/DecentHolograms/DecentHolograms_6.png similarity index 100% rename from docs-java/process/plugin/misc/holograms/_images/DecentHolograms/DecentHolograms_6.png rename to src/content/docs/java/process/plugin/misc/holograms/_assets/DecentHolograms/DecentHolograms_6.png diff --git "a/docs-java/process/plugin/misc/holograms/_images/hd\345\267\262\347\273\217\345\275\222\346\241\243.png" "b/src/content/docs/java/process/plugin/misc/holograms/_assets/hd\345\267\262\347\273\217\345\275\222\346\241\243.png" similarity index 100% rename from "docs-java/process/plugin/misc/holograms/_images/hd\345\267\262\347\273\217\345\275\222\346\241\243.png" rename to "src/content/docs/java/process/plugin/misc/holograms/_assets/hd\345\267\262\347\273\217\345\275\222\346\241\243.png" diff --git a/docs-java/process/plugin/misc/holograms/_images/holo.png b/src/content/docs/java/process/plugin/misc/holograms/_assets/holo.png similarity index 100% rename from docs-java/process/plugin/misc/holograms/_images/holo.png rename to src/content/docs/java/process/plugin/misc/holograms/_assets/holo.png diff --git a/docs-java/process/plugin/misc/holograms/decentholograms.md b/src/content/docs/java/process/plugin/misc/holograms/decentholograms.md similarity index 83% rename from docs-java/process/plugin/misc/holograms/decentholograms.md rename to src/content/docs/java/process/plugin/misc/holograms/decentholograms.md index 910481369..e724905f1 100644 --- a/docs-java/process/plugin/misc/holograms/decentholograms.md +++ b/src/content/docs/java/process/plugin/misc/holograms/decentholograms.md @@ -16,25 +16,25 @@ sidebar_position: 2 ## 照片 -![](_images/DecentHolograms/DecentHolograms_1.png) +![](_assets/DecentHolograms/DecentHolograms_1.png) -![](_images/DecentHolograms/DecentHolograms_2.png) +![](_assets/DecentHolograms/DecentHolograms_2.png) -![](_images/DecentHolograms/DecentHolograms_3.png) +![](_assets/DecentHolograms/DecentHolograms_3.png) -![](_images/DecentHolograms/DecentHolograms_4.png) +![](_assets/DecentHolograms/DecentHolograms_4.png) ### 伤害显示 启用:`/dh feature on damage_display` -![](_images/DecentHolograms/DecentHolograms_5.png) +![](_assets/DecentHolograms/DecentHolograms_5.png) ### 回血显示 启用:`/dh feature on healing_display` -![](_images/DecentHolograms/DecentHolograms_6.png) +![](_assets/DecentHolograms/DecentHolograms_6.png) ## 支持 @@ -44,16 +44,16 @@ sidebar_position: 2 ## Minecraft 本身限制 -- 文本始终转向玩家 -- 无法更改文本大小或字体 -- 有些实体会发出声音,如 坚守者 -- 图标(#ICON:)(即浮空物品)会旋转和上下摆动 +- 文本始终转向玩家 +- 无法更改文本大小或字体 +- 有些实体会发出声音,如 坚守者 +- 图标(#ICON:)(即浮空物品)会旋转和上下摆动 这些是 Minecraft 本身限制,插件本身没有办法解决 但搬运者(我)有一点歪门邪道 -- AdvancedGUI“文本"固定,不再转向玩家 -- [资源包做字体(IA 文档)](https://itemsadder.devs.beer/v/chinese/plugin-usage/adding-content/fonts) 使用资源包来改变字体 +- AdvancedGUI“文本"固定,不再转向玩家 +- [资源包做字体(IA 文档)](https://itemsadder.devs.beer/v/chinese/plugin-usage/adding-content/fonts) 使用资源包来改变字体 ## 汉化 diff --git a/docs-java/process/plugin/misc/holograms/holograms.md b/src/content/docs/java/process/plugin/misc/holograms/holograms.md similarity index 94% rename from docs-java/process/plugin/misc/holograms/holograms.md rename to src/content/docs/java/process/plugin/misc/holograms/holograms.md index 4cd0ea471..38ef38376 100644 --- a/docs-java/process/plugin/misc/holograms/holograms.md +++ b/src/content/docs/java/process/plugin/misc/holograms/holograms.md @@ -10,7 +10,7 @@ sidebar_position: 1 > 全息图也被很多人称作浮空字 -![](_images/holo.png) +![](_assets/holo.png) 全息图用途很广,很多服务器都会使用全息图插件。 diff --git a/docs-java/process/plugin/misc/holograms/holographicdisplays.md b/src/content/docs/java/process/plugin/misc/holograms/holographicdisplays.md similarity index 93% rename from docs-java/process/plugin/misc/holograms/holographicdisplays.md rename to src/content/docs/java/process/plugin/misc/holograms/holographicdisplays.md index c8e493240..60d5fc585 100644 --- a/docs-java/process/plugin/misc/holograms/holographicdisplays.md +++ b/src/content/docs/java/process/plugin/misc/holograms/holographicdisplays.md @@ -19,6 +19,6 @@ sidebar_position: 3 ## 停更 -![](_images/hd已经归档.png) +![](_assets/hd已经归档.png) 目前项目已经归档,这意味着此仓库将不会再有新的代码提交 diff --git a/docs-java/process/plugin/misc/login/authme.md b/src/content/docs/java/process/plugin/misc/login/authme.md similarity index 100% rename from docs-java/process/plugin/misc/login/authme.md rename to src/content/docs/java/process/plugin/misc/login/authme.md diff --git a/docs-java/process/plugin/misc/login/catseedlogin.md b/src/content/docs/java/process/plugin/misc/login/catseedlogin.md similarity index 100% rename from docs-java/process/plugin/misc/login/catseedlogin.md rename to src/content/docs/java/process/plugin/misc/login/catseedlogin.md diff --git a/docs-java/process/plugin/misc/login/librelogin.md b/src/content/docs/java/process/plugin/misc/login/librelogin.md similarity index 100% rename from docs-java/process/plugin/misc/login/librelogin.md rename to src/content/docs/java/process/plugin/misc/login/librelogin.md diff --git a/docs-java/process/plugin/misc/login/limboauth.md b/src/content/docs/java/process/plugin/misc/login/limboauth.md similarity index 100% rename from docs-java/process/plugin/misc/login/limboauth.md rename to src/content/docs/java/process/plugin/misc/login/limboauth.md diff --git a/docs-java/process/plugin/misc/login/login.md b/src/content/docs/java/process/plugin/misc/login/login.md similarity index 100% rename from docs-java/process/plugin/misc/login/login.md rename to src/content/docs/java/process/plugin/misc/login/login.md diff --git "a/docs-java/process/plugin/misc/menu/_images/TrMenu/trm\344\270\200\345\256\232\350\246\201\347\234\213wiki\345\221\220.jpg" "b/src/content/docs/java/process/plugin/misc/menu/_assets/TrMenu/trm\344\270\200\345\256\232\350\246\201\347\234\213wiki\345\221\220.jpg" similarity index 100% rename from "docs-java/process/plugin/misc/menu/_images/TrMenu/trm\344\270\200\345\256\232\350\246\201\347\234\213wiki\345\221\220.jpg" rename to "src/content/docs/java/process/plugin/misc/menu/_assets/TrMenu/trm\344\270\200\345\256\232\350\246\201\347\234\213wiki\345\221\220.jpg" diff --git "a/docs-java/process/plugin/misc/menu/_images/\344\270\272\351\232\276.jpg" "b/src/content/docs/java/process/plugin/misc/menu/_assets/\344\270\272\351\232\276.jpg" similarity index 100% rename from "docs-java/process/plugin/misc/menu/_images/\344\270\272\351\232\276.jpg" rename to "src/content/docs/java/process/plugin/misc/menu/_assets/\344\270\272\351\232\276.jpg" diff --git "a/docs-java/process/plugin/misc/menu/_images/\345\255\220\345\233\276\346\240\207\345\206\231\345\212\250\344\275\234.png" "b/src/content/docs/java/process/plugin/misc/menu/_assets/\345\255\220\345\233\276\346\240\207\345\206\231\345\212\250\344\275\234.png" similarity index 100% rename from "docs-java/process/plugin/misc/menu/_images/\345\255\220\345\233\276\346\240\207\345\206\231\345\212\250\344\275\234.png" rename to "src/content/docs/java/process/plugin/misc/menu/_assets/\345\255\220\345\233\276\346\240\207\345\206\231\345\212\250\344\275\234.png" diff --git a/docs-java/process/plugin/misc/menu/chestcommands.md b/src/content/docs/java/process/plugin/misc/menu/chestcommands.md similarity index 100% rename from docs-java/process/plugin/misc/menu/chestcommands.md rename to src/content/docs/java/process/plugin/misc/menu/chestcommands.md diff --git a/docs-java/process/plugin/misc/menu/deluxemenus.md b/src/content/docs/java/process/plugin/misc/menu/deluxemenus.md similarity index 100% rename from docs-java/process/plugin/misc/menu/deluxemenus.md rename to src/content/docs/java/process/plugin/misc/menu/deluxemenus.md diff --git a/docs-java/process/plugin/misc/menu/invero.md b/src/content/docs/java/process/plugin/misc/menu/invero.md similarity index 100% rename from docs-java/process/plugin/misc/menu/invero.md rename to src/content/docs/java/process/plugin/misc/menu/invero.md diff --git a/docs-java/process/plugin/misc/menu/menu.md b/src/content/docs/java/process/plugin/misc/menu/menu.md similarity index 100% rename from docs-java/process/plugin/misc/menu/menu.md rename to src/content/docs/java/process/plugin/misc/menu/menu.md diff --git a/docs-java/process/plugin/misc/menu/trmenu.md b/src/content/docs/java/process/plugin/misc/menu/trmenu.md similarity index 82% rename from docs-java/process/plugin/misc/menu/trmenu.md rename to src/content/docs/java/process/plugin/misc/menu/trmenu.md index 076a9d401..740cfa7ea 100644 --- a/docs-java/process/plugin/misc/menu/trmenu.md +++ b/src/content/docs/java/process/plugin/misc/menu/trmenu.md @@ -20,20 +20,20 @@ sidebar_position: 4 ### 这个分支中有哪些新功能? -- 支持 1.8.9 ~ 最新版本 -- 修复头颅显示问题 -- [国际化语言](https://github.com/CoderKuo/TrMenu/pull/64) -- 更多功能... +- 支持 1.8.9 ~ 最新版本 +- 修复头颅显示问题 +- [国际化语言](https://github.com/CoderKuo/TrMenu/pull/64) +- 更多功能... Notice:维护这个分支完全是个人兴趣。 ### TrMenu v3 的优势 -- 极佳的速度和性能:不仅针对条件判断进行了优化,而且重构了虚拟背包的 API -- 大量的模块已经确认拥有更好的性能,同时提供了一个特别的方式来检测 TrMenu 的性能表现 -- 一如既往的强大功能:几乎所有功能都经过优化和保留,并添加了新功能。 -- 功能与脚本:统一并标准化了内联函数的使用,重构了 TrMenu 动作,并全面支持新的 kether 脚本语言。 -- 更多信息:请看 Wiki +- 极佳的速度和性能:不仅针对条件判断进行了优化,而且重构了虚拟背包的 API +- 大量的模块已经确认拥有更好的性能,同时提供了一个特别的方式来检测 TrMenu 的性能表现 +- 一如既往的强大功能:几乎所有功能都经过优化和保留,并添加了新功能。 +- 功能与脚本:统一并标准化了内联函数的使用,重构了 TrMenu 动作,并全面支持新的 kether 脚本语言。 +- 更多信息:请看 Wiki ## 链接 @@ -67,41 +67,41 @@ Notice:维护这个分支完全是个人兴趣。 ## 文档 -- https://trmenu.trixey.cc +- https://trmenu.trixey.cc 旧文档,不推荐阅读 -- https://hhhhhy.gitbook.io/trmenu-v3 +- https://hhhhhy.gitbook.io/trmenu-v3 8aka 文档镜像,推荐阅读 -- https://taboo.8aka.org/TrMenu/ +- https://taboo.8aka.org/TrMenu/ 新文档,推荐阅读,不挂梯也可访问 -- https://taboo.8aka.org/TrMenu +- https://taboo.8aka.org/TrMenu 阔大帅的文档,拥有上方新文档的全部内容且访问速度快 -- https://wiki.ptms.ink/index.php?title=%E7%A4%BE%E5%8C%BA:TrMenu +- https://wiki.ptms.ink/index.php?title=%E7%A4%BE%E5%8C%BA:TrMenu 社区文档,或许比上方的文档更容易理解 -- https://docs.qq.com/aio/DWWV6SFVuWmlES1po +- https://docs.qq.com/aio/DWWV6SFVuWmlES1po TrMenu 入门学习文档 -![](_images/TrMenu/trm一定要看wiki呐.jpg) +![](_assets/TrMenu/trm一定要看wiki呐.jpg) ## VS Code 插件 与 TrMenu 或 [Kether](../../../maintenance/lang/kether/basic.md) 有关的 VS Code 插件 -- [TrMenu-Helper](https://marketplace.visualstudio.com/items?itemName=hhhhhy.trmenu-helper) +- [TrMenu-Helper](https://marketplace.visualstudio.com/items?itemName=hhhhhy.trmenu-helper) TrMenu 语法提示 -- [kether-snippet](https://marketplace.visualstudio.com/items?itemName=LiteCat.kether-snippet) +- [kether-snippet](https://marketplace.visualstudio.com/items?itemName=LiteCat.kether-snippet) Kether 语法提示 @@ -135,7 +135,7 @@ Kether 语法提示 所以你可以直接写 true 让他显示这个子图标 -![](_images/为难.jpg) +![](_assets/为难.jpg) #### 子图标写动作 @@ -170,7 +170,7 @@ Kether 语法提示 papi join [ '%checkitem_remove_mat:' meta get mat ',amt:' meta get amt '%' ] ``` -![](_images/子图标写动作.png) +![](_assets/子图标写动作.png) ### 玩家信息 @@ -229,9 +229,9 @@ Sneaking-Offhand: **知识点:** -- TrMenu 文档熟读并背诵 -- [kether](../../../maintenance/lang/kether/basic.md) -- [CheckItem](../../plugin-dependencies/placeholderapi/check-item.md) +- TrMenu 文档熟读并背诵 +- [kether](../../../maintenance/lang/kether/basic.md) +- [CheckItem](../../plugin-dependencies/placeholderapi/check-item.md) ```yaml "写法1": @@ -285,11 +285,11 @@ Sneaking-Offhand: **知识点:** -- TrMenu 文档熟读并背诵 -- [kether](../../../maintenance/lang/kether/basic.md) -- [CheckItem](../../plugin-dependencies/placeholderapi/check-item.md) -- [妙妙写法](#妙妙写法) -- [\{condition=\}条件](https://hhhhhy.gitbook.io/trmenu-v3/menu/action/option#tiao-jian) +- TrMenu 文档熟读并背诵 +- [kether](../../../maintenance/lang/kether/basic.md) +- [CheckItem](../../plugin-dependencies/placeholderapi/check-item.md) +- [妙妙写法](#妙妙写法) +- [\{condition=\}条件](https://hhhhhy.gitbook.io/trmenu-v3/menu/action/option#tiao-jian) diff --git a/docs-java/process/plugin/misc/misc.md b/src/content/docs/java/process/plugin/misc/misc.md similarity index 100% rename from docs-java/process/plugin/misc/misc.md rename to src/content/docs/java/process/plugin/misc/misc.md diff --git a/docs-java/process/plugin/misc/money.md b/src/content/docs/java/process/plugin/misc/money.md similarity index 100% rename from docs-java/process/plugin/misc/money.md rename to src/content/docs/java/process/plugin/misc/money.md diff --git a/docs-java/process/plugin/misc/motd/minimotd.md b/src/content/docs/java/process/plugin/misc/motd/minimotd.md similarity index 100% rename from docs-java/process/plugin/misc/motd/minimotd.md rename to src/content/docs/java/process/plugin/misc/motd/minimotd.md diff --git a/docs-java/process/plugin/misc/motd/motd.md b/src/content/docs/java/process/plugin/misc/motd/motd.md similarity index 100% rename from docs-java/process/plugin/misc/motd/motd.md rename to src/content/docs/java/process/plugin/misc/motd/motd.md diff --git a/docs-java/process/plugin/misc/mythicmobs.md b/src/content/docs/java/process/plugin/misc/mythicmobs.md similarity index 100% rename from docs-java/process/plugin/misc/mythicmobs.md rename to src/content/docs/java/process/plugin/misc/mythicmobs.md diff --git a/docs-java/process/plugin/misc/npc/_images/Adyeshach/Adyeshach-1.png b/src/content/docs/java/process/plugin/misc/npc/_assets/Adyeshach/Adyeshach-1.png similarity index 100% rename from docs-java/process/plugin/misc/npc/_images/Adyeshach/Adyeshach-1.png rename to src/content/docs/java/process/plugin/misc/npc/_assets/Adyeshach/Adyeshach-1.png diff --git a/docs-java/process/plugin/misc/npc/_images/Citizens/Citizens-1.png b/src/content/docs/java/process/plugin/misc/npc/_assets/Citizens/Citizens-1.png similarity index 100% rename from docs-java/process/plugin/misc/npc/_images/Citizens/Citizens-1.png rename to src/content/docs/java/process/plugin/misc/npc/_assets/Citizens/Citizens-1.png diff --git a/docs-java/process/plugin/misc/npc/adyeshach.md b/src/content/docs/java/process/plugin/misc/npc/adyeshach.md similarity index 94% rename from docs-java/process/plugin/misc/npc/adyeshach.md rename to src/content/docs/java/process/plugin/misc/npc/adyeshach.md index 4e87d4b77..c6bb981fc 100644 --- a/docs-java/process/plugin/misc/npc/adyeshach.md +++ b/src/content/docs/java/process/plugin/misc/npc/adyeshach.md @@ -4,7 +4,7 @@ sidebar_position: 4 # Adyeshach -![](_images/Adyeshach/Adyeshach-1.png) +![](_assets/Adyeshach/Adyeshach-1.png) [![Forks](https://img.shields.io/github/forks/taboolib/adyeshach)](https://github.com/TabooLib/adyeshach) [![Stars](https://img.shields.io/github/stars/taboolib/adyeshach)](https://github.com/TabooLib/adyeshach) @@ -34,7 +34,7 @@ Adyeshach 是一款基于 TabooLib 进行开发的纯发包 NPC 插件,旨在 ::: -- 我不想花钱,我能用吗? +- 我不想花钱,我能用吗? 可以,但是你需要自己编译插件。[点击此处](https://a.ptms.ink/plugin/adyeshach/start/build) diff --git a/docs-java/process/plugin/misc/npc/citizens.md b/src/content/docs/java/process/plugin/misc/npc/citizens.md similarity index 94% rename from docs-java/process/plugin/misc/npc/citizens.md rename to src/content/docs/java/process/plugin/misc/npc/citizens.md index e2c10befb..7ec18d24a 100644 --- a/docs-java/process/plugin/misc/npc/citizens.md +++ b/src/content/docs/java/process/plugin/misc/npc/citizens.md @@ -5,7 +5,7 @@ sidebar_position: 2 # Citizens -![](_images/Citizens/Citizens-1.png) +![](_assets/Citizens/Citizens-1.png) [![Forks](https://img.shields.io/github/forks/CitizensDev/Citizens2?style=flat)](https://github.com/CitizensDev/Citizens2) [![Stars](https://img.shields.io/github/stars/CitizensDev/Citizens2?style=flat)](https://github.com/CitizensDev/Citizens2) @@ -65,7 +65,7 @@ sidebar_position: 2 ## 下载 -在 SpigotMC 帖内自行寻找免费方式,以 *懒* *看不懂英文* *它是英文的* 为由 通常会遭到群友的谩骂 +在 SpigotMC 帖内自行寻找免费方式,以 _懒_ _看不懂英文_ _它是英文的_ 为由 通常会遭到群友的谩骂 ## 执行命令 diff --git a/docs-java/process/plugin/misc/npc/npc.md b/src/content/docs/java/process/plugin/misc/npc/npc.md similarity index 100% rename from docs-java/process/plugin/misc/npc/npc.md rename to src/content/docs/java/process/plugin/misc/npc/npc.md diff --git a/docs-java/process/plugin/misc/npc/znpcsplus.md b/src/content/docs/java/process/plugin/misc/npc/znpcsplus.md similarity index 100% rename from docs-java/process/plugin/misc/npc/znpcsplus.md rename to src/content/docs/java/process/plugin/misc/npc/znpcsplus.md diff --git a/docs-java/process/plugin/misc/quickshop.md b/src/content/docs/java/process/plugin/misc/quickshop.md similarity index 98% rename from docs-java/process/plugin/misc/quickshop.md rename to src/content/docs/java/process/plugin/misc/quickshop.md index 8ef0a1764..430a7a0be 100644 --- a/docs-java/process/plugin/misc/quickshop.md +++ b/src/content/docs/java/process/plugin/misc/quickshop.md @@ -8,7 +8,7 @@ sidebar_label: 商店 - QuickShop 一张图秒懂 -![](_images/QuickShop.jpg) +![](_assets/QuickShop.jpg) ~~用此插件做系统商店的通常是些新手服主或半吊子人~~ diff --git a/docs-java/process/plugin/misc/skinsrestorer.md b/src/content/docs/java/process/plugin/misc/skinsrestorer.md similarity index 100% rename from docs-java/process/plugin/misc/skinsrestorer.md rename to src/content/docs/java/process/plugin/misc/skinsrestorer.md diff --git a/docs-java/process/plugin/misc/tab-scoreboard/_images/SimpleScore/SimpleScore.png b/src/content/docs/java/process/plugin/misc/tab-scoreboard/_assets/SimpleScore/SimpleScore.png similarity index 100% rename from docs-java/process/plugin/misc/tab-scoreboard/_images/SimpleScore/SimpleScore.png rename to src/content/docs/java/process/plugin/misc/tab-scoreboard/_assets/SimpleScore/SimpleScore.png diff --git a/docs-java/process/plugin/misc/tab-scoreboard/_images/TAB/TAB-1.png b/src/content/docs/java/process/plugin/misc/tab-scoreboard/_assets/TAB/TAB-1.png similarity index 100% rename from docs-java/process/plugin/misc/tab-scoreboard/_images/TAB/TAB-1.png rename to src/content/docs/java/process/plugin/misc/tab-scoreboard/_assets/TAB/TAB-1.png diff --git a/docs-java/process/plugin/misc/tab-scoreboard/_images/TAB/TAB-2.png b/src/content/docs/java/process/plugin/misc/tab-scoreboard/_assets/TAB/TAB-2.png similarity index 100% rename from docs-java/process/plugin/misc/tab-scoreboard/_images/TAB/TAB-2.png rename to src/content/docs/java/process/plugin/misc/tab-scoreboard/_assets/TAB/TAB-2.png diff --git a/docs-java/process/plugin/misc/tab-scoreboard/_images/TAB/TAB-3.png b/src/content/docs/java/process/plugin/misc/tab-scoreboard/_assets/TAB/TAB-3.png similarity index 100% rename from docs-java/process/plugin/misc/tab-scoreboard/_images/TAB/TAB-3.png rename to src/content/docs/java/process/plugin/misc/tab-scoreboard/_assets/TAB/TAB-3.png diff --git a/docs-java/process/plugin/misc/tab-scoreboard/_images/TAB/TAB-4.png b/src/content/docs/java/process/plugin/misc/tab-scoreboard/_assets/TAB/TAB-4.png similarity index 100% rename from docs-java/process/plugin/misc/tab-scoreboard/_images/TAB/TAB-4.png rename to src/content/docs/java/process/plugin/misc/tab-scoreboard/_assets/TAB/TAB-4.png diff --git a/docs-java/process/plugin/misc/tab-scoreboard/_images/TAB/TAB-5.png b/src/content/docs/java/process/plugin/misc/tab-scoreboard/_assets/TAB/TAB-5.png similarity index 100% rename from docs-java/process/plugin/misc/tab-scoreboard/_images/TAB/TAB-5.png rename to src/content/docs/java/process/plugin/misc/tab-scoreboard/_assets/TAB/TAB-5.png diff --git a/docs-java/process/plugin/misc/tab-scoreboard/_images/TAB/TAB-6.png b/src/content/docs/java/process/plugin/misc/tab-scoreboard/_assets/TAB/TAB-6.png similarity index 100% rename from docs-java/process/plugin/misc/tab-scoreboard/_images/TAB/TAB-6.png rename to src/content/docs/java/process/plugin/misc/tab-scoreboard/_assets/TAB/TAB-6.png diff --git a/docs-java/process/plugin/misc/tab-scoreboard/_images/TAB/TAB-7.png b/src/content/docs/java/process/plugin/misc/tab-scoreboard/_assets/TAB/TAB-7.png similarity index 100% rename from docs-java/process/plugin/misc/tab-scoreboard/_images/TAB/TAB-7.png rename to src/content/docs/java/process/plugin/misc/tab-scoreboard/_assets/TAB/TAB-7.png diff --git a/docs-java/process/plugin/misc/tab-scoreboard/_images/TAB/TAB-8.png b/src/content/docs/java/process/plugin/misc/tab-scoreboard/_assets/TAB/TAB-8.png similarity index 100% rename from docs-java/process/plugin/misc/tab-scoreboard/_images/TAB/TAB-8.png rename to src/content/docs/java/process/plugin/misc/tab-scoreboard/_assets/TAB/TAB-8.png diff --git a/docs-java/process/plugin/misc/tab-scoreboard/_images/TAB/TAB-9.png b/src/content/docs/java/process/plugin/misc/tab-scoreboard/_assets/TAB/TAB-9.png similarity index 100% rename from docs-java/process/plugin/misc/tab-scoreboard/_images/TAB/TAB-9.png rename to src/content/docs/java/process/plugin/misc/tab-scoreboard/_assets/TAB/TAB-9.png diff --git a/docs-java/process/plugin/misc/tab-scoreboard/_images/TitleManager/1.gif b/src/content/docs/java/process/plugin/misc/tab-scoreboard/_assets/TitleManager/1.gif similarity index 100% rename from docs-java/process/plugin/misc/tab-scoreboard/_images/TitleManager/1.gif rename to src/content/docs/java/process/plugin/misc/tab-scoreboard/_assets/TitleManager/1.gif diff --git a/docs-java/process/plugin/misc/tab-scoreboard/_images/TitleManager/2.png b/src/content/docs/java/process/plugin/misc/tab-scoreboard/_assets/TitleManager/2.png similarity index 100% rename from docs-java/process/plugin/misc/tab-scoreboard/_images/TitleManager/2.png rename to src/content/docs/java/process/plugin/misc/tab-scoreboard/_assets/TitleManager/2.png diff --git "a/docs-java/process/plugin/misc/tab-scoreboard/_images/\345\225\245\346\230\257TAB.png" "b/src/content/docs/java/process/plugin/misc/tab-scoreboard/_assets/\345\225\245\346\230\257TAB.png" similarity index 100% rename from "docs-java/process/plugin/misc/tab-scoreboard/_images/\345\225\245\346\230\257TAB.png" rename to "src/content/docs/java/process/plugin/misc/tab-scoreboard/_assets/\345\225\245\346\230\257TAB.png" diff --git "a/docs-java/process/plugin/misc/tab-scoreboard/_images/\345\225\245\346\230\257\350\256\241\345\210\206\346\235\277.png" "b/src/content/docs/java/process/plugin/misc/tab-scoreboard/_assets/\345\225\245\346\230\257\350\256\241\345\210\206\346\235\277.png" similarity index 100% rename from "docs-java/process/plugin/misc/tab-scoreboard/_images/\345\225\245\346\230\257\350\256\241\345\210\206\346\235\277.png" rename to "src/content/docs/java/process/plugin/misc/tab-scoreboard/_assets/\345\225\245\346\230\257\350\256\241\345\210\206\346\235\277.png" diff --git a/docs-java/process/plugin/misc/tab-scoreboard/simplescore.md b/src/content/docs/java/process/plugin/misc/tab-scoreboard/simplescore.md similarity index 96% rename from docs-java/process/plugin/misc/tab-scoreboard/simplescore.md rename to src/content/docs/java/process/plugin/misc/tab-scoreboard/simplescore.md index c93739868..9f3763d31 100644 --- a/docs-java/process/plugin/misc/tab-scoreboard/simplescore.md +++ b/src/content/docs/java/process/plugin/misc/tab-scoreboard/simplescore.md @@ -5,7 +5,7 @@ sidebar_position: 4 # SimpleScore -![](_images/SimpleScore/SimpleScore.png) +![](_assets/SimpleScore/SimpleScore.png) [![Latest Release](https://img.shields.io/github/v/release/r4g3baby/SimpleScore)](https://github.com/r4g3baby/SimpleScore/releases/latest) [![Spigot Downloads](https://img.shields.io/spiget/downloads/23243)](https://www.spigotmc.org/resources/.23243) diff --git a/docs-java/process/plugin/misc/tab-scoreboard/tab-scoreboard.md b/src/content/docs/java/process/plugin/misc/tab-scoreboard/tab-scoreboard.md similarity index 83% rename from docs-java/process/plugin/misc/tab-scoreboard/tab-scoreboard.md rename to src/content/docs/java/process/plugin/misc/tab-scoreboard/tab-scoreboard.md index 71d9ded05..eb2806b2f 100644 --- a/docs-java/process/plugin/misc/tab-scoreboard/tab-scoreboard.md +++ b/src/content/docs/java/process/plugin/misc/tab-scoreboard/tab-scoreboard.md @@ -10,13 +10,13 @@ sidebar_position: 1 你按下 TAB 键会出现的玩家列表 -![](_images/啥是TAB.png) +![](_assets/啥是TAB.png) ## 啥是计分板? 计分板,积分板,都是指一个东西 -![](_images/啥是计分板.png) +![](_assets/啥是计分板.png) import DocCardList from '@theme/DocCardList'; diff --git a/src/content/docs/java/process/plugin/misc/tab-scoreboard/tab.md b/src/content/docs/java/process/plugin/misc/tab-scoreboard/tab.md new file mode 100644 index 000000000..d48e17b2f --- /dev/null +++ b/src/content/docs/java/process/plugin/misc/tab-scoreboard/tab.md @@ -0,0 +1,574 @@ +--- +title: TAB +sidebar_position: 2 +--- + +# TAB + +[![Releases](https://img.shields.io/github/v/release/NEZNAMY/TAB)](https://github.com/NEZNAMY/TAB/releases) +[![Downloads](https://img.shields.io/spiget/downloads/57806?label=Downloads)](https://www.spigotmc.org/resources/.57806) +[![Code Size](https://img.shields.io/github/languages/code-size/NEZNAMY/TAB)](https://github.com/NEZNAMY/TAB) +[![License](https://img.shields.io/github/license/NEZNAMY/TAB)](https://github.com/NEZNAMY/TAB/blob/main/LICENSE) + +```text +TAB 是一个用于在不同位置显示信息的多功能插件,旨在在功能、兼容性和性能方面超越所有类似的插件。 +``` + +此插件拥有自由的配置文件,无论你是只需要最简单的功能,或者制作一些复杂的功能,此插件都能满足你的需求! + +默认配置已经包含足够的示例让你理解此插件的配置,另外,此插件拥有全面的 Wiki。 + +## 照片 + +### TAB (HEADER FOOTER) + +![](_assets/TAB/TAB-1.png) + +[点我查看文档](https://docs.superiormc.cn/v/tab-wiki/core-features/tab-de-ding-bu-he-di-bu) + +### 名称标签(NAMETAGS) + +没有图 + +[点我查看文档](https://docs.superiormc.cn/v/tab-wiki/core-features/ming-cheng-biao-qian) + +### 排列(SORTING) + +![](_assets/TAB/TAB-2.png) + +[点我查看文档](https://docs.superiormc.cn/v/tab-wiki/core-features/pai-lie) + +### TAB 列表名称样式(TABLIST FORMATTING)​ + +完全可定制的 TAB 列表格式,支持自定义前缀、名称和后缀 + +![](_assets/TAB/TAB-3.png) + +[点我查看文档](https://docs.superiormc.cn/v/tab-wiki/core-features/tab-lie-biao-ming-cheng-yang-shi) + +### 黄色数字或血量(PLAYERLIST OBJECTIVE) + +此功能允许您在列表中显示某变量数字或血量 + +![](_assets/TAB/TAB-4.png) + +![](_assets/TAB/TAB-5.png) + +[点我查看文档](https://docs.superiormc.cn/v/tab-wiki/core-features/huang-se-shu-zi) + +### 名称标签下方(BELOWNAME)​ + +此功能可以在玩家姓名标签下方显示数字和静态文本 + +![](_assets/TAB/TAB-6.png) + +[点我查看文档](https://docs.superiormc.cn/v/tab-wiki/core-features/ming-cheng-biao-qian-xia-fang) + +### BOSS 条(BOSSBAR) + +![](_assets/TAB/TAB-7.png) + +[点我查看文档](https://docs.superiormc.cn/v/tab-wiki/core-features/boss-tiao) + +### 共用玩家列表(GLOBAL PLAYERLIST)​ + +将全服(BungeeCore 或 Velocity 群组)的玩家展示在同个 TAB 中! + +[点我查看文档](https://docs.superiormc.cn/v/tab-wiki/core-features/gong-yong-wan-jia-lie-biao) + +### 布局(LAYOUT) + +这个功能允许你配置所有 80 个 TAB 列表槽位。目前不支持显示小于 4 列 + +![](_assets/TAB/TAB-8.png) + +[点我查看文档](https://docs.superiormc.cn/v/tab-wiki/core-features/bu-ju) + +### 计分板(SCOREBOARD) + +![](_assets/TAB/TAB-9.png) + +[点我查看文档](https://docs.superiormc.cn/v/tab-wiki/core-features/ji-fen-ban) + +### 各世界玩家列表(PRE WORLD PLAYERLIST)​ + +仅在 TAB 显示玩家所在世界的玩家 + +[点我查看文档](https://docs.superiormc.cn/v/tab-wiki/core-features/ge-shi-jie-wan-jia-lie-biao) + +## 支持 + +该插件正被大量服务器使用,这也意味着对我的关注度很高。不幸的是,我再也无法满足需求(搬运者猜测是维护插件和回答用户提问占用时间太多),因为我不想把我的大部分时间都奉献给一个免费的插件。为了提供所有提供服务的最佳质量,提供的服务数量可能会发生改变。以下是潜在服务及其状态的完整列表: + +| 服务类型 | 状态 | +| ---------------- | ---- | +| 跟进版本 | ✔ | +| Bug 修复 | ✔ | +| 文档 | ✔ | +| 新功能请求 | ❌ | +| Customer support | ✔ | +| 免费用户支持 | ❌\* | +| 优化 | ✔ | + +1. 添加新的示例、指南和其他人们询问的有用信息。 +2. 为付费用户提供无限制的插件帮助。 +3. 世界上每个人都可以无限制地使用我的空闲时间。(?) +4. 在不损失任何功能的情况下提高插件的性能。 + +- 你可以加入这个大好人的 [Community Discord](https://discord.gg/YPqXt63YQj) 来得到其他好心人的支持 + 注:Discord 在国内不能访问,需要挂梯 + +## API + +https://github.com/NEZNAMY/TAB/wiki/Developer-API + +## 链接 + +:::info + +`SpigotMC` https://www.spigotmc.org/resources/.57806 + +`Modrinth` https://modrinth.com/plugin/tab-was-taken + +`MineBBS` https://www.minebbs.com/resources/.9057 + +`GitHub` https://github.com/NEZNAMY/TAB + +`文档 (英文)` https://github.com/NEZNAMY/TAB/wiki + +`文档 (中文)` https://docs.superiormc.cn/v/tab-wiki + +`插件百科` https://mineplugin.org/Tab + +::: + +## 汉化 + +替换插件文件夹中的 `message.yml` 接着 `/tab reload` + +
+ mmessage.yml + + + +```yaml +announce-command-usage: |- + 用法: /tab announce <种类> <名称> <长度> + 当前支持种类: &lbar, scoreboard +bossbar-feature-not-enabled: "&c想使用此指令,必须先开启bossbar功能" +bossbar-announce-command-usage: "用法: /tab announce bar " +bossbar-not-found: '&c拥有此名称的bossbar未找到 "%name%"' +bossbar-already-announced: "&c这条bossbar已被广播" +group-data-removed: "&3[TAB] 组 &e%group% &3中的全部数据已清除" +group-value-assigned: "&3[TAB] %property% '&r%value%&r&3' 已被添加至组 &e%group%" +group-value-removed: "&3[TAB] %property% 已被从组 &e%group% &3中移除" +user-data-removed: "&3[TAB] 玩家 &e%player% &3的全部数据已清除" +user-value-assigned: "&3[TAB] %property% '&r%value%&r&3' 已被添加至玩家 &e%player%" +user-value-removed: "&3[TAB] %property% 已被从玩家 &e%player% &3中移除" +parse-command-usage: "用法: /tab parse <玩家> " +send-command-usage: |- + 用法: /tab send <种类> <玩家> + 当前支持种类: &lbar +send-bar-command-usage: "用法: /tab send bar <玩家> " +team-feature-required: "&4想使用此指令,必须先开启计分板功能" +collision-command-usage: "用法: /tab setcollision <玩家> " +no-permission: "&c抱歉,你没有权限执行此指令。如果你认为这是错误的,请联系服务器管理员。" +command-only-from-game: "&c此指令只能在游戏中执行" +player-not-online: '&c未找到名为 "%player%" 的在线玩家' +invalid-number: '"%input%" 不是一个有效数字!' +scoreboard-feature-not-enabled: "&4想使用此指令,必须先开启计分板功能" +scoreboard-announce-command-usage: "用法: /tab scoreboard announce <计分板名称> <长度>" +scoreboard-not-found: '&c拥有此名称的计分板未找到 "%name%"' +reload-success: "&3[TAB] 重载成功" +reload-fail-file: "&3[TAB] &4重载失败,配置文件 %file% 语法错误。请查看控制台获得更多信息。" +scoreboard-toggle-on: "&2计分板已开启" +scoreboard-toggle-off: "&7计分板已关闭" +bossbar-toggle-on: "&2Boss血条现在可见" +bossbar-toggle-off: "&7Boss血条不再可见。神奇!" +scoreboard-show-usage: "用法: /tab scoreboard show <计分板> [玩家]" +bossbar-not-marked-as-announcement: "&c此Boss血条未标记为公告栏,因此已永久显示(如果满足显示条件)" +bossbar-announcement-success: "&a正在向全服广播Boss血条 &6%bossbar% &a,持续 %length% 秒。" +bossbar-send-success: "&a正在向玩家 &6%player% &a发送Boss血条 &6%bossbar% &a,持续 %length% 秒。" +help-menu: + - "&m " + - " &8>> &3&l/tab reload" + - " - &7重载插件和配置" + - " &8>> &3&l/tab &9group&3/&9player &3 &9 &3" + - " - &7输入 &8/tab group/player &7查看属性" + - " &8>> &3&l/tab parse <玩家> " + - " - &7测试占位符是否有效" + - " &8>> &3&l/tab debug [玩家]" + - " - &7显示关于玩家的调试信息" + - " &8>> &3&l/tab cpu" + - " - &7显示插件的CPU使用率" + - " &8>> &3&l/tab group/player remove" + - " - &7清除关于玩家/组的全部数据" + - "&m " +mysql-help-menu: + - "&6/tab mysql upload - 从文件上传数据至MySQL" + - "&6/tab mysql download - 从MySQL下载数据至文件" +mysql-fail-not-enabled: "&c无法从MySQL下载/上传数据,因为MySQL已禁用。" +mysql-fail-error: "MySQL下载失败,发生错误。请查看控制台获得更多信息。" +mysql-download-success: "&aMySQL数据下载成功。" +mysql-upload-success: "&aMySQL数据上传成功。" +scoreboard-help-menu: + - "/tab scoreboard [on/off/toggle] [玩家] [选项]" + - "/tab scoreboard show <名称> [玩家]" + - "/tab scoreboard announce <名称> <长度>" +bossbar-help-menu: + - "/tab bossbar [on/off/toggle] [玩家] [选项]" + - "/tab bossbar send <名称> [玩家]" + - "/tab bossbar announce <名称> <长度>" +nametag: + help-menu: + - "/tab nametag [玩家] [-s] - 切换指定玩家的名称标签" + - "/tab nametag [玩家] [观察者] [-s] - 切换指定玩家在其他玩家视角中的名称标签显示" + feature-not-enabled: "&c此指令需要先开启名称标签功能。" + view-hidden: "&a所有玩家的名称标签对你隐藏" + view-shown: "&a所有玩家的名称标签对你显示" + player-hidden: "&a你的名称标签已隐藏" + player-shown: "&a你的名称标签已显示" + no-arg-from-console: "&c从控制台运行此指令时需要指定玩家" +``` + + + +
+ +## 配置文件汉化 + +替换插件文件夹中的 `config.yml` 接着 `/tab reload` + +
+ config.yml + + + +```yaml +# https://github.com/NEZNAMY/TAB/wiki/Feature-guide:-Header-&-Footer +# 头部和底部显示 +header-footer: + enabled: true # 启用头部底部功能 + header: # 头部内容 + - "<#FFFFFF>&m " + - "&3&l服务器名称" + - "&r&7&l>> %animation:Welcome%&3 &l%player%&7&l! &7&l<<" + - "&r&7在线玩家: &f%online%" + - "&6在线管理员: &e%staffonline%" + - "" + footer: # 底部内容 + - "%animation:time%" + - "&2延迟: %ping%" + - "&7&l 已用内存: %memory-used% MB / %memory-max% MB" + - "" + - "&r&7访问我们的网站 %animation:web%" + - "<#FFFFFF>&m " + disable-condition: "%world%=disabledworld" # 禁用条件 + per-world: # 按世界设置 + world1: + header: + - "世界1的自定义头部示例" + footer: + - "自定义头部/底部和前缀/后缀" + world2;world3: + header: + - "这是world2和world3的" + - "共享头部" + per-server: # 按服务器设置 + server1: + header: + - "服务器1的自定义头部示例" + +# https://github.com/NEZNAMY/TAB/wiki/Feature-guide:-Tablist-name-formatting +# Tab列表名称格式化 +tablist-name-formatting: + enabled: true # 启用Tab列表名称格式化 + disable-condition: "%world%=disabledworld" # 禁用条件 + +# https://github.com/NEZNAMY/TAB/wiki/Feature-guide:-Nametags +# 名称标签和计分板团队 +scoreboard-teams: + enabled: true # 启用计分板团队功能 + enable-collision: true # 启用碰撞 + invisible-nametags: false # 隐形名称标签 + # https://github.com/NEZNAMY/TAB/wiki/Feature-guide:-Sorting-players-in-tablist + # Tab列表中玩家排序 + sorting-types: + - "GROUPS:owner,admin,mod,helper,builder,vip,default" # 按组排序 + - "PLACEHOLDER_A_TO_Z:%player%" # 按玩家名A-Z排序 + case-sensitive-sorting: true # 区分大小写排序 + can-see-friendly-invisibles: false # 能否看到友方隐身玩家 + disable-condition: "%world%=disabledworld" # 禁用条件 + +# https://github.com/NEZNAMY/TAB/wiki/Feature-guide:-Playerlist-Objective +# 玩家列表目标(黄色数字) +playerlist-objective: + enabled: true # 启用玩家列表目标 + value: "%ping%" # 显示值 + fancy-value: "&7延迟: %ping%" # 美化显示值 + title: "TAB" # 标题(仅基岩版可见) + render-type: INTEGER # 渲染类型:整数 + disable-condition: "%world%=disabledworld" # 禁用条件 + +# https://github.com/NEZNAMY/TAB/wiki/Feature-guide:-Belowname +# 名称下方显示 +belowname-objective: + enabled: false # 启用名称下方显示 + value: "%health%" # 显示值 + title: "&c生命值" # 标题 + fancy-value: "&c%health%" # 美化显示值 + fancy-value-default: "NPC" # 默认美化值 + disable-condition: "%world%=disabledworld" # 禁用条件 + +# https://github.com/NEZNAMY/TAB/wiki/Feature-guide:-Spectator-fix +# 观察者模式修复 +prevent-spectator-effect: + enabled: false # 启用观察者效果防护 + +# https://github.com/NEZNAMY/TAB/wiki/Feature-guide:-Bossbar +# Boss血条 +bossbar: + enabled: false # 启用Boss血条 + toggle-command: /bossbar # 切换命令 + remember-toggle-choice: false # 记住切换选择 + hidden-by-default: false # 默认隐藏 + bars: # 血条配置 + ServerInfo: + style: "PROGRESS" # 1.9+样式: PROGRESS, NOTCHED_6, NOTCHED_10, NOTCHED_12, NOTCHED_20 + color: "%animation:barcolors%" # 1.9+颜色: BLUE, GREEN, PINK, PURPLE, RED, WHITE, YELLOW + progress: "100" # 进度百分比 + text: "&f网站: &bwww.domain.com" # 显示文本 + +# https://github.com/NEZNAMY/TAB/wiki/Feature-guide:-Scoreboard +# 计分板 +scoreboard: + enabled: false # 启用计分板 + toggle-command: /sb # 切换命令 + remember-toggle-choice: false # 记住切换选择 + hidden-by-default: false # 默认隐藏 + use-numbers: true # 使用数字 + static-number: 0 # 静态数字 + delay-on-join-milliseconds: 0 # 加入延迟(毫秒) + scoreboards: # 计分板配置 + scoreboard-1.20.3+: + title: "<#E0B11E>我的服务器" # 标题 + display-condition: "%player-version-id%>=765;%bedrock%=false" # 显示条件:仅1.20.3+且非基岩版 + lines: # 显示行 + - "&7%date%" + - "%animation:MyAnimation1%" + - "&6在线信息:" + - "* &e在线&7:||%online%" + - "* &e当前世界&7:||%worldonline%" + - "* &e管理员&7:||%staffonline%" + - "" + - "&6个人信息:" + - "* &b等级&7:||%group%" + - "* &b延迟&7:||%ping%&8ms" + - "* &b世界&7:||%world%" + - "%animation:MyAnimation1%" + scoreboard: + title: "<#E0B11E>我的服务器" + lines: + - "&7%date%" + - "%animation:MyAnimation1%" + - "&6在线信息:" + - "* &e在线&7: &f%online%" + - "* &e当前世界&7: &f%worldonline%" + - "* &e管理员&7: &f%staffonline%" + - "" + - "&6个人信息:" + - "* &b等级&7: &f%group%" + - "* &b延迟&7: &f%ping%&8ms" + - "* &b世界&7: &f%world%" + - "%animation:MyAnimation1%" + +# https://github.com/NEZNAMY/TAB/wiki/Feature-guide:-Layout +# 布局系统 +layout: + enabled: false # 启用布局 + direction: COLUMNS # 方向:列 + default-skin: mineskin:383747683 # 默认皮肤 + enable-remaining-players-text: true # 启用剩余玩家文本 + remaining-players-text: "... 还有 %s 个玩家" # 剩余玩家文本 + empty-slot-ping-value: 1000 # 空槽位延迟值 + layouts: # 布局配置 + default: + fixed-slots: # 固定槽位 + - "1|&3网站&f:" + - "2|&bmyserver.net" + - "3|&8&m " + - "4|&3名称&f:" + - "5|&b%player%" + - "7|&3等级&f:" + - "8|等级: %group%" + - "10|&3世界&f:" + - "11|&b%world%" + - "13|&3时间&f:" + - "14|&b%time%" + - "21|&3语音&f:" + - "22|&bts.myserver.net" + - "23|&8&m " + - "41|&3商店&f:" + - "42|&bshop.myserver.net" + - "43|&8&m " + groups: # 组配置 + staff: + condition: permission:tab.staff # 条件:权限 + slots: + - 24-40 # 槽位范围 + players: + slots: + - 44-80 + +# https://github.com/NEZNAMY/TAB/wiki/Feature-guide:-Ping-Spoof +# 延迟伪装 +ping-spoof: + enabled: false # 启用延迟伪装 + value: 0 # 伪装值 + +# 占位符设置 +placeholders: + date-format: "dd.MM.yyyy" # 日期格式 + time-format: "[HH:mm:ss / h:mm a]" # 时间格式 + time-offset: 0 # 时间偏移 + register-tab-expansion: false # 注册TAB扩展 + +# https://github.com/NEZNAMY/TAB/wiki/Feature-guide:-Placeholder-output-replacements +# 占位符输出替换 +placeholder-output-replacements: + "%essentials_vanished%": + "yes": "&7| 已隐身" + "no": "" + +# https://github.com/NEZNAMY/TAB/wiki/Feature-guide:-Conditional-placeholders +# 条件占位符 +conditions: + nick: # 使用方式: %condition:nick% + conditions: + - "%player%=%essentials_nickname%" + yes: "%player%" + no: "~%essentials_nickname%" + +# 占位符刷新间隔(毫秒) +placeholder-refresh-intervals: + default-refresh-interval: 500 # 默认刷新间隔 + "%server_uptime%": 1000 # 服务器运行时间 + "%server_tps_1_colored%": 1000 # 服务器TPS + "%server_unique_joins%": 5000 # 独立加入次数 + "%player_health%": 200 # 玩家生命值 + "%player_ping%": 1000 # 玩家延迟 + "%vault_prefix%": 1000 # Vault前缀 + "%rel_factionsuuid_relation_color%": 1000 # 派系关系颜色 + +# 通过权限节点分配组而不是从权限插件获取 +assign-groups-by-permissions: false + +# 如果上述选项为true,所有组都基于权限获取,列表中较高的组用作主要组 +# 警告!这不是排序列表,与Tab列表中的玩家排序无关! +primary-group-finding-list: + - Owner # 服主 + - Admin # 管理员 + - Mod # 版主 + - Helper # 助手 + - default # 默认 + +# 刷新间隔(毫秒): +# - 条件/排序中的权限检查 +# - 从权限插件获取组用于排序/按组属性 +# - 从权限插件获取前缀/后缀占位符数据 +permission-refresh-interval: 1000 + +# 解锁额外的控制台消息 +debug: false + +# https://github.com/NEZNAMY/TAB/wiki/MySQL +# MySQL数据库 +mysql: + enabled: false # 启用MySQL + host: 127.0.0.1 # 主机地址 + port: 3306 # 端口 + database: tab # 数据库名 + username: user # 用户名 + password: password # 密码 + useSSL: true # 使用SSL + +# 代理支持 +proxy-support: + enabled: true # 启用代理支持 + # 支持的类型: PLUGIN, REDIS, RABBITMQ + type: PLUGIN + plugin: + # 兼容插件: RedisBungee + # 如果启用且找到兼容插件,将启用钩子以处理代理玩家 + name: RedisBungee + redis: + url: "redis://:password@localhost:6379/0" + rabbitmq: + exchange: "plugin" + url: "amqp://guest:guest@localhost:5672/%2F" + +######################################################################## +# 仅限BUKKIT - 以下部分仅适用于后端安装 # +######################################################################## + +# https://github.com/NEZNAMY/TAB/wiki/Feature-guide:-Per-world-playerlist +# 分世界玩家列表 +per-world-playerlist: + enabled: false # 启用分世界玩家列表 + # 拥有tab.staff权限的玩家将始终看到所有玩家 + allow-bypass-permission: false + # 这些世界中的玩家将始终看到所有玩家 + ignore-effect-in-worlds: + - ignoredworld # 忽略的世界 + - build # 建筑世界 + # 共享玩家列表的世界组 + shared-playerlist-world-groups: + lobby: # 大厅组 + - lobby1 + - lobby2 + minigames: # 小游戏组 + - paintball # 彩弹 + - bedwars # 起床战争 + +# 补偿PacketEvents错误 +compensate-for-packetevents-bug: false + +##################################################################### +# 仅限代理 - 以下部分仅适用于代理安装 # +##################################################################### + +# https://github.com/NEZNAMY/TAB/wiki/Feature-guide:-Global-playerlist +# 全局玩家列表 +global-playerlist: + enabled: false # 启用全局玩家列表 + display-others-as-spectators: false # 将其他玩家显示为观察者 + display-vanished-players-as-spectators: true # 将隐身玩家显示为观察者 + isolate-unlisted-servers: false # 隔离未列出的服务器 + update-latency: false # 更新延迟 + spy-servers: # 监视服务器 + - spyserver1 + - spyserver2 + server-groups: # 服务器组 + lobbies: # 大厅组 + - lobby1 + - lobby2 + group2: # 组2 + - server1 + - server2 + +# 从后端服务器而不是代理获取权限和组 +use-bukkit-permissions-manager: false + +# 有时服务器可能在Tab列表中使用离线UUID而不是在线UUID,例如禁用Waterfall的Tab列表重写选项 +# 如果遇到Tab列表格式化不工作的问题,请切换此选项(设置为相反值) +# 仅影响启用在线模式的代理 +use-online-uuid-in-tablist: true +``` + + + +
+ +## Bstats + +[![](https://bstats.org/signatures/bukkit/TAB%20Reborn.svg)](https://bstats.org/signatures/bukkit/TAB%20Reborn.svg) diff --git a/docs-java/process/plugin/misc/tab-scoreboard/titlemanager.md b/src/content/docs/java/process/plugin/misc/tab-scoreboard/titlemanager.md similarity index 88% rename from docs-java/process/plugin/misc/tab-scoreboard/titlemanager.md rename to src/content/docs/java/process/plugin/misc/tab-scoreboard/titlemanager.md index 30dabe9c2..28f8069b7 100644 --- a/docs-java/process/plugin/misc/tab-scoreboard/titlemanager.md +++ b/src/content/docs/java/process/plugin/misc/tab-scoreboard/titlemanager.md @@ -5,11 +5,11 @@ sidebar_position: 3 # TitleManager -![](_images/TitleManager/1.gif) +![](_assets/TitleManager/1.gif) 在 SpigotMC 下载量很高的计分板插件 -![](_images/TitleManager/2.png) +![](_assets/TitleManager/2.png) 不过看起来不维护有一段时间了 diff --git "a/docs-java/process/plugin/misc/via/_images/\347\211\210\346\234\254\345\205\274\345\256\271\345\233\276.png" "b/src/content/docs/java/process/plugin/misc/via/_assets/\347\211\210\346\234\254\345\205\274\345\256\271\345\233\276.png" similarity index 100% rename from "docs-java/process/plugin/misc/via/_images/\347\211\210\346\234\254\345\205\274\345\256\271\345\233\276.png" rename to "src/content/docs/java/process/plugin/misc/via/_assets/\347\211\210\346\234\254\345\205\274\345\256\271\345\233\276.png" diff --git a/docs-java/process/plugin/misc/via/more-for-via.md b/src/content/docs/java/process/plugin/misc/via/more-for-via.md similarity index 100% rename from docs-java/process/plugin/misc/via/more-for-via.md rename to src/content/docs/java/process/plugin/misc/via/more-for-via.md diff --git a/docs-java/process/plugin/misc/via/via.md b/src/content/docs/java/process/plugin/misc/via/via.md similarity index 79% rename from docs-java/process/plugin/misc/via/via.md rename to src/content/docs/java/process/plugin/misc/via/via.md index d415372a4..f0175ecda 100644 --- a/docs-java/process/plugin/misc/via/via.md +++ b/src/content/docs/java/process/plugin/misc/via/via.md @@ -28,17 +28,17 @@ sidebar_position: 4 插件版本的 via 支持以下版本进入服务器 -![](_images/版本兼容图.png) +![](_assets/版本兼容图.png) -- ViaVersion - 向上兼容 +- ViaVersion - 向上兼容 如图中服务器版本为 1.9.x 时,允许使用 1.9.x - 1.21.x 的客户端进服 -- ViaBackwards - 向下兼容 +- ViaBackwards - 向下兼容 如图中服务器版本为 1.21.x 时,允许 1.9.x -1.20.x 的客户端进服 -- ViaRewind - 向下兼容更老版本 +- ViaRewind - 向下兼容更老版本 让你的服务器支持 1.7.x 以及 1.8.x 客户端进服 @@ -54,7 +54,7 @@ ViaVersion + ViaBackwards + ViaRewind Via\* 插件剔除了 Java8 支持,这导致你不能在更低的服务端版本使用他 -如果你想要支持服务端版本 1.8~1.21 的插件 +如果你想要支持服务端版本 1.8 ~ 1.21 的插件 在 [这里](https://ci.viaversion.com/job/ViaVersion-Java8) 获取 Java8 版本 @@ -66,20 +66,20 @@ ViaProxy 是独立的代理程序,支持任意客户端版本连接任意服 ### 支持的服务器版本 -- Release (1.0.0 - 1.21.8) -- Beta (b1.0 - b1.8.1) -- Alpha (a1.0.15 - a1.2.6) -- Classic (c0.0.15 - c0.30 包含 [CPE](https://wiki.vg/Classic_Protocol_Extension)) -- 愚人节快照 (3D Shareware,20w14infinite,25w14craftmine) -- 战斗测试快照 (Combat Test 8c) -- 基岩版 1.21.93 ([某些功能缺失](https://github.com/RaphiMC/ViaBedrock#features)) -- 快照版本 15w31a 和 15w31b (需要 [ViaSnapshot](/advance/viaproxy/plugins/compatibility#viasnapshot)) +- Release (1.0.0 - 1.21.8) +- Beta (b1.0 - b1.8.1) +- Alpha (a1.0.15 - a1.2.6) +- Classic (c0.0.15 - c0.30 包含 [CPE](https://wiki.vg/Classic_Protocol_Extension)) +- 愚人节快照 (3D Shareware,20w14infinite,25w14craftmine) +- 战斗测试快照 (Combat Test 8c) +- 基岩版 1.21.93 ([某些功能缺失](https://github.com/RaphiMC/ViaBedrock#features)) +- 快照版本 15w31a 和 15w31b (需要 [ViaSnapshot](/advance/viaproxy/plugins/compatibility#viasnapshot)) ### 支持的客户端版本 -- Release (1.7.2 - 1.21.8) -- Beta 1.7.3 (需要 [ViaProxyBeta2Release](https://github.com/ViaVersionAddons/ViaProxyBeta2Release)) -- 基岩版 (需要 [Geyser](../../../mobile-player/geyser/geyser.md) 插件) +- Release (1.7.2 - 1.21.8) +- Beta 1.7.3 (需要 [ViaProxyBeta2Release](https://github.com/ViaVersionAddons/ViaProxyBeta2Release)) +- 基岩版 (需要 [Geyser](../../../mobile-player/geyser/geyser.md) 插件) ViaProxy 可以让现代客户端进入十年前的 Classic 服务器,也可以实现 Java 版与基岩版之间的互通! diff --git a/docs-java/process/plugin/misc/via/viabackwards.md b/src/content/docs/java/process/plugin/misc/via/viabackwards.md similarity index 100% rename from docs-java/process/plugin/misc/via/viabackwards.md rename to src/content/docs/java/process/plugin/misc/via/viabackwards.md diff --git a/docs-java/process/plugin/misc/via/viarewind.md b/src/content/docs/java/process/plugin/misc/via/viarewind.md similarity index 100% rename from docs-java/process/plugin/misc/via/viarewind.md rename to src/content/docs/java/process/plugin/misc/via/viarewind.md diff --git a/docs-java/process/plugin/misc/via/viaversion.md b/src/content/docs/java/process/plugin/misc/via/viaversion.md similarity index 100% rename from docs-java/process/plugin/misc/via/viaversion.md rename to src/content/docs/java/process/plugin/misc/via/viaversion.md diff --git "a/docs-java/process/plugin/more/_images/Spigot\346\220\234\347\264\242.png" "b/src/content/docs/java/process/plugin/more/_assets/Spigot\346\220\234\347\264\242.png" similarity index 100% rename from "docs-java/process/plugin/more/_images/Spigot\346\220\234\347\264\242.png" rename to "src/content/docs/java/process/plugin/more/_assets/Spigot\346\220\234\347\264\242.png" diff --git a/docs-java/process/plugin/more/_images/color-message/Minecraft_Formatting.gif b/src/content/docs/java/process/plugin/more/_assets/color-message/Minecraft_Formatting.gif similarity index 100% rename from docs-java/process/plugin/more/_images/color-message/Minecraft_Formatting.gif rename to src/content/docs/java/process/plugin/more/_assets/color-message/Minecraft_Formatting.gif diff --git "a/docs-java/process/plugin/more/_images/color-message/\345\261\225\347\244\272.png" "b/src/content/docs/java/process/plugin/more/_assets/color-message/\345\261\225\347\244\272.png" similarity index 100% rename from "docs-java/process/plugin/more/_images/color-message/\345\261\225\347\244\272.png" rename to "src/content/docs/java/process/plugin/more/_assets/color-message/\345\261\225\347\244\272.png" diff --git "a/docs-java/process/plugin/more/_images/color-message/\346\270\270\346\210\217\345\206\205.png" "b/src/content/docs/java/process/plugin/more/_assets/color-message/\346\270\270\346\210\217\345\206\205.png" similarity index 100% rename from "docs-java/process/plugin/more/_images/color-message/\346\270\270\346\210\217\345\206\205.png" rename to "src/content/docs/java/process/plugin/more/_assets/color-message/\346\270\270\346\210\217\345\206\205.png" diff --git a/docs-java/process/plugin/more/_images/mm.png b/src/content/docs/java/process/plugin/more/_assets/mm.png similarity index 100% rename from docs-java/process/plugin/more/_images/mm.png rename to src/content/docs/java/process/plugin/more/_assets/mm.png diff --git a/docs-java/process/plugin/more/_images/plugin.yml/plugin.yml.png b/src/content/docs/java/process/plugin/more/_assets/plugin.yml/plugin.yml.png similarity index 100% rename from docs-java/process/plugin/more/_images/plugin.yml/plugin.yml.png rename to src/content/docs/java/process/plugin/more/_assets/plugin.yml/plugin.yml.png diff --git "a/docs-java/process/plugin/more/_images/plugin.yml/\346\213\206\345\274\200jar.png" "b/src/content/docs/java/process/plugin/more/_assets/plugin.yml/\346\213\206\345\274\200jar.png" similarity index 100% rename from "docs-java/process/plugin/more/_images/plugin.yml/\346\213\206\345\274\200jar.png" rename to "src/content/docs/java/process/plugin/more/_assets/plugin.yml/\346\213\206\345\274\200jar.png" diff --git "a/docs-java/process/plugin/more/_images/\345\216\206\345\217\262\347\211\210\346\234\254-GitHub-1.png" "b/src/content/docs/java/process/plugin/more/_assets/\345\216\206\345\217\262\347\211\210\346\234\254-GitHub-1.png" similarity index 100% rename from "docs-java/process/plugin/more/_images/\345\216\206\345\217\262\347\211\210\346\234\254-GitHub-1.png" rename to "src/content/docs/java/process/plugin/more/_assets/\345\216\206\345\217\262\347\211\210\346\234\254-GitHub-1.png" diff --git "a/docs-java/process/plugin/more/_images/\345\216\206\345\217\262\347\211\210\346\234\254-GitHub-2.png" "b/src/content/docs/java/process/plugin/more/_assets/\345\216\206\345\217\262\347\211\210\346\234\254-GitHub-2.png" similarity index 100% rename from "docs-java/process/plugin/more/_images/\345\216\206\345\217\262\347\211\210\346\234\254-GitHub-2.png" rename to "src/content/docs/java/process/plugin/more/_assets/\345\216\206\345\217\262\347\211\210\346\234\254-GitHub-2.png" diff --git "a/docs-java/process/plugin/more/_images/\345\216\206\345\217\262\347\211\210\346\234\254-GitHub-3.png" "b/src/content/docs/java/process/plugin/more/_assets/\345\216\206\345\217\262\347\211\210\346\234\254-GitHub-3.png" similarity index 100% rename from "docs-java/process/plugin/more/_images/\345\216\206\345\217\262\347\211\210\346\234\254-GitHub-3.png" rename to "src/content/docs/java/process/plugin/more/_assets/\345\216\206\345\217\262\347\211\210\346\234\254-GitHub-3.png" diff --git "a/docs-java/process/plugin/more/_images/\345\216\206\345\217\262\347\211\210\346\234\254-bukkit-1.png" "b/src/content/docs/java/process/plugin/more/_assets/\345\216\206\345\217\262\347\211\210\346\234\254-bukkit-1.png" similarity index 100% rename from "docs-java/process/plugin/more/_images/\345\216\206\345\217\262\347\211\210\346\234\254-bukkit-1.png" rename to "src/content/docs/java/process/plugin/more/_assets/\345\216\206\345\217\262\347\211\210\346\234\254-bukkit-1.png" diff --git "a/docs-java/process/plugin/more/_images/\345\216\206\345\217\262\347\211\210\346\234\254-bukkit-2.png" "b/src/content/docs/java/process/plugin/more/_assets/\345\216\206\345\217\262\347\211\210\346\234\254-bukkit-2.png" similarity index 100% rename from "docs-java/process/plugin/more/_images/\345\216\206\345\217\262\347\211\210\346\234\254-bukkit-2.png" rename to "src/content/docs/java/process/plugin/more/_assets/\345\216\206\345\217\262\347\211\210\346\234\254-bukkit-2.png" diff --git "a/docs-java/process/plugin/more/_images/\345\216\206\345\217\262\347\211\210\346\234\254-bukkit-3.png" "b/src/content/docs/java/process/plugin/more/_assets/\345\216\206\345\217\262\347\211\210\346\234\254-bukkit-3.png" similarity index 100% rename from "docs-java/process/plugin/more/_images/\345\216\206\345\217\262\347\211\210\346\234\254-bukkit-3.png" rename to "src/content/docs/java/process/plugin/more/_assets/\345\216\206\345\217\262\347\211\210\346\234\254-bukkit-3.png" diff --git "a/docs-java/process/plugin/more/_images/\345\216\206\345\217\262\347\211\210\346\234\254-modrinth.png" "b/src/content/docs/java/process/plugin/more/_assets/\345\216\206\345\217\262\347\211\210\346\234\254-modrinth.png" similarity index 100% rename from "docs-java/process/plugin/more/_images/\345\216\206\345\217\262\347\211\210\346\234\254-modrinth.png" rename to "src/content/docs/java/process/plugin/more/_assets/\345\216\206\345\217\262\347\211\210\346\234\254-modrinth.png" diff --git "a/docs-java/process/plugin/more/_images/\345\216\206\345\217\262\347\211\210\346\234\254-spigotmc.png" "b/src/content/docs/java/process/plugin/more/_assets/\345\216\206\345\217\262\347\211\210\346\234\254-spigotmc.png" similarity index 100% rename from "docs-java/process/plugin/more/_images/\345\216\206\345\217\262\347\211\210\346\234\254-spigotmc.png" rename to "src/content/docs/java/process/plugin/more/_assets/\345\216\206\345\217\262\347\211\210\346\234\254-spigotmc.png" diff --git "a/docs-java/process/plugin/more/_images/\345\220\214\347\261\273\346\217\222\344\273\266\350\257\204\345\210\206\351\200\211\346\213\251.png" "b/src/content/docs/java/process/plugin/more/_assets/\345\220\214\347\261\273\346\217\222\344\273\266\350\257\204\345\210\206\351\200\211\346\213\251.png" similarity index 100% rename from "docs-java/process/plugin/more/_images/\345\220\214\347\261\273\346\217\222\344\273\266\350\257\204\345\210\206\351\200\211\346\213\251.png" rename to "src/content/docs/java/process/plugin/more/_assets/\345\220\214\347\261\273\346\217\222\344\273\266\350\257\204\345\210\206\351\200\211\346\213\251.png" diff --git "a/docs-java/process/plugin/more/_images/\346\213\206\345\274\200jar.png" "b/src/content/docs/java/process/plugin/more/_assets/\346\213\206\345\274\200jar.png" similarity index 100% rename from "docs-java/process/plugin/more/_images/\346\213\206\345\274\200jar.png" rename to "src/content/docs/java/process/plugin/more/_assets/\346\213\206\345\274\200jar.png" diff --git "a/docs-java/process/plugin/more/_images/\346\237\245\347\234\213\350\257\255\350\250\200-1.png" "b/src/content/docs/java/process/plugin/more/_assets/\346\237\245\347\234\213\350\257\255\350\250\200-1.png" similarity index 100% rename from "docs-java/process/plugin/more/_images/\346\237\245\347\234\213\350\257\255\350\250\200-1.png" rename to "src/content/docs/java/process/plugin/more/_assets/\346\237\245\347\234\213\350\257\255\350\250\200-1.png" diff --git "a/docs-java/process/plugin/more/_images/\346\237\245\347\234\213\350\257\255\350\250\200-2.png" "b/src/content/docs/java/process/plugin/more/_assets/\346\237\245\347\234\213\350\257\255\350\250\200-2.png" similarity index 100% rename from "docs-java/process/plugin/more/_images/\346\237\245\347\234\213\350\257\255\350\250\200-2.png" rename to "src/content/docs/java/process/plugin/more/_assets/\346\237\245\347\234\213\350\257\255\350\250\200-2.png" diff --git "a/docs-java/process/plugin/more/_images/\346\237\245\347\234\213\350\257\255\350\250\200-crowdin.png" "b/src/content/docs/java/process/plugin/more/_assets/\346\237\245\347\234\213\350\257\255\350\250\200-crowdin.png" similarity index 100% rename from "docs-java/process/plugin/more/_images/\346\237\245\347\234\213\350\257\255\350\250\200-crowdin.png" rename to "src/content/docs/java/process/plugin/more/_assets/\346\237\245\347\234\213\350\257\255\350\250\200-crowdin.png" diff --git "a/docs-java/process/plugin/more/_images/\346\237\245\347\234\213\350\257\255\350\250\200-spigotmc.png" "b/src/content/docs/java/process/plugin/more/_assets/\346\237\245\347\234\213\350\257\255\350\250\200-spigotmc.png" similarity index 100% rename from "docs-java/process/plugin/more/_images/\346\237\245\347\234\213\350\257\255\350\250\200-spigotmc.png" rename to "src/content/docs/java/process/plugin/more/_assets/\346\237\245\347\234\213\350\257\255\350\250\200-spigotmc.png" diff --git "a/docs-java/process/plugin/more/_images/\346\237\245\347\234\213\350\257\255\350\250\200-\346\213\206\345\274\200jar.png" "b/src/content/docs/java/process/plugin/more/_assets/\346\237\245\347\234\213\350\257\255\350\250\200-\346\213\206\345\274\200jar.png" similarity index 100% rename from "docs-java/process/plugin/more/_images/\346\237\245\347\234\213\350\257\255\350\250\200-\346\213\206\345\274\200jar.png" rename to "src/content/docs/java/process/plugin/more/_assets/\346\237\245\347\234\213\350\257\255\350\250\200-\346\213\206\345\274\200jar.png" diff --git "a/docs-java/process/plugin/more/_images/\346\265\217\350\247\210\345\231\250\347\277\273\350\257\221.png" "b/src/content/docs/java/process/plugin/more/_assets/\346\265\217\350\247\210\345\231\250\347\277\273\350\257\221.png" similarity index 100% rename from "docs-java/process/plugin/more/_images/\346\265\217\350\247\210\345\231\250\347\277\273\350\257\221.png" rename to "src/content/docs/java/process/plugin/more/_assets/\346\265\217\350\247\210\345\231\250\347\277\273\350\257\221.png" diff --git a/docs-java/process/plugin/more/color-message.md b/src/content/docs/java/process/plugin/more/color-message.md similarity index 89% rename from docs-java/process/plugin/more/color-message.md rename to src/content/docs/java/process/plugin/more/color-message.md index 4ddde6034..5e2a1e632 100644 --- a/docs-java/process/plugin/more/color-message.md +++ b/src/content/docs/java/process/plugin/more/color-message.md @@ -13,7 +13,7 @@ sidebar_position: 7 在 Minecraft 中,可以以分节符号 (`§`) 产生带色文字。 -![](_images/color-message/Minecraft_Formatting.gif) +![](_assets/color-message/Minecraft_Formatting.gif) 你也可以用 [颜色代码生成器](https://mcg.tuanzi.ink/) 来生成它。 @@ -25,7 +25,7 @@ sidebar_position: 7 你也可以在按住 `Alt` 键的同时,**小键盘** **按顺序** 输入 `167` 以输出 `§` 符号 -*(注意:![image](https://github.com/user-attachments/assets/49472da4-9b50-4fa3-92d1-f14cdb08cbb4) 使用新版时字符对应错误,请使用旧版)* +_(注意:![image](https://github.com/user-attachments/assets/49472da4-9b50-4fa3-92d1-f14cdb08cbb4) 使用新版时字符对应错误,请使用旧版)_ ::: @@ -45,7 +45,7 @@ Icons: - "&aa &bb &cc" ``` -![](_images/color-message/游戏内.png) +![](_assets/color-message/游戏内.png) ::: @@ -71,14 +71,14 @@ MiniMessage 的实质是一个叫 Adventure 的库,这是它的 [文档](https | Minestom | Build 7494725 | 内容有点杂,详见[minestom wiki](https://wiki.minestom.net/feature/adventure) | | Fabric | `adventure-platform-fabric` 5.3.0\* | 虽然不是一个东西 (?),但是体验是一样的 | -*详情可以参阅 [Adventure 原生支持](https://docs.papermc.io/adventure/platform/native/)* +_详情可以参阅 [Adventure 原生支持](https://docs.papermc.io/adventure/platform/native/)_ :::note 平台原生支持 ≠ 使用此平台开发的模组/插件支持!!! 举个例子,仔细观察上述列表,你会发现 bukkit 并没有支持 MiniMessage,所以你会发现大部分基于 Bukkit 开发的插件没有 MiniMessage 这一功能 (如 EssentialsX), -*除非他们自身引入了 Adventure 库 (如 PlaceholderAPI)。* +_除非他们自身引入了 Adventure 库 (如 PlaceholderAPI)。_ 而基于 Paper 开发的大部分插件都引入了这一功能,所以不要发现一个新奇玩意就到处瞎套。 @@ -113,7 +113,7 @@ Icons: - "Hello world" ``` -![](_images/color-message/展示.png) +![](_assets/color-message/展示.png) 记住 MiniMessage 语言使用标签,也就是说你所做的一切都将使用标签进行定义。 @@ -166,6 +166,6 @@ MineDown 为 Minecraft 引入了 Markdown 风格的文本格式化语法,让 ## 参考 -- [https://zh.minecraft.wiki/w/格式化代码](https://zh.minecraft.wiki/w/%E6%A0%BC%E5%BC%8F%E5%8C%96%E4%BB%A3%E7%A0%81) -- https://docs.papermc.io/adventure/minimessage/format -- https://docs.papermc.io/adventure/platform/native +- [https://zh.minecraft.wiki/w/格式化代码](https://zh.minecraft.wiki/w/%E6%A0%BC%E5%BC%8F%E5%8C%96%E4%BB%A3%E7%A0%81) +- https://docs.papermc.io/adventure/minimessage/format +- https://docs.papermc.io/adventure/platform/native diff --git a/docs-java/process/plugin/more/faq.md b/src/content/docs/java/process/plugin/more/faq.md similarity index 100% rename from docs-java/process/plugin/more/faq.md rename to src/content/docs/java/process/plugin/more/faq.md diff --git a/docs-java/process/plugin/more/more.md b/src/content/docs/java/process/plugin/more/more.md similarity index 100% rename from docs-java/process/plugin/more/more.md rename to src/content/docs/java/process/plugin/more/more.md diff --git a/docs-java/process/plugin/more/plugin-abbreviation.md b/src/content/docs/java/process/plugin/more/plugin-abbreviation.md similarity index 98% rename from docs-java/process/plugin/more/plugin-abbreviation.md rename to src/content/docs/java/process/plugin/more/plugin-abbreviation.md index dccf11b42..dc8da02ca 100644 --- a/docs-java/process/plugin/more/plugin-abbreviation.md +++ b/src/content/docs/java/process/plugin/more/plugin-abbreviation.md @@ -5,7 +5,7 @@ sidebar_position: 4 # 插件缩写 -***请不要随便使用不知名插件的缩写!*** +**_请不要随便使用不知名插件的缩写!_** ## 缩写从何而来? @@ -13,7 +13,7 @@ sidebar_position: 4 `mythicmobs` == `mm` -![](./_images/mm.png) +![](./_assets/mm.png) ## 目录 diff --git a/docs-java/process/plugin/more/plugin-backdoor.md b/src/content/docs/java/process/plugin/more/plugin-backdoor.md similarity index 100% rename from docs-java/process/plugin/more/plugin-backdoor.md rename to src/content/docs/java/process/plugin/more/plugin-backdoor.md diff --git a/docs-java/process/plugin/more/plugin-build/_image/image-1.png b/src/content/docs/java/process/plugin/more/plugin-build/_assets/image-1.png similarity index 100% rename from docs-java/process/plugin/more/plugin-build/_image/image-1.png rename to src/content/docs/java/process/plugin/more/plugin-build/_assets/image-1.png diff --git a/docs-java/process/plugin/more/plugin-build/_image/image-2.png b/src/content/docs/java/process/plugin/more/plugin-build/_assets/image-2.png similarity index 100% rename from docs-java/process/plugin/more/plugin-build/_image/image-2.png rename to src/content/docs/java/process/plugin/more/plugin-build/_assets/image-2.png diff --git a/docs-java/process/plugin/more/plugin-build/_image/image-3.png b/src/content/docs/java/process/plugin/more/plugin-build/_assets/image-3.png similarity index 100% rename from docs-java/process/plugin/more/plugin-build/_image/image-3.png rename to src/content/docs/java/process/plugin/more/plugin-build/_assets/image-3.png diff --git a/docs-java/process/plugin/more/plugin-build/_image/image-4.png b/src/content/docs/java/process/plugin/more/plugin-build/_assets/image-4.png similarity index 100% rename from docs-java/process/plugin/more/plugin-build/_image/image-4.png rename to src/content/docs/java/process/plugin/more/plugin-build/_assets/image-4.png diff --git a/docs-java/process/plugin/more/plugin-build/_image/image.png b/src/content/docs/java/process/plugin/more/plugin-build/_assets/image.png similarity index 100% rename from docs-java/process/plugin/more/plugin-build/_image/image.png rename to src/content/docs/java/process/plugin/more/plugin-build/_assets/image.png diff --git a/docs-java/process/plugin/more/plugin-build/first.mdx b/src/content/docs/java/process/plugin/more/plugin-build/first.mdx similarity index 100% rename from docs-java/process/plugin/more/plugin-build/first.mdx rename to src/content/docs/java/process/plugin/more/plugin-build/first.mdx diff --git a/docs-java/process/plugin/more/plugin-build/github-actions-build.md b/src/content/docs/java/process/plugin/more/plugin-build/github-actions-build.md similarity index 100% rename from docs-java/process/plugin/more/plugin-build/github-actions-build.md rename to src/content/docs/java/process/plugin/more/plugin-build/github-actions-build.md diff --git a/docs-java/process/plugin/more/plugin-build/idea-build.md b/src/content/docs/java/process/plugin/more/plugin-build/idea-build.md similarity index 86% rename from docs-java/process/plugin/more/plugin-build/idea-build.md rename to src/content/docs/java/process/plugin/more/plugin-build/idea-build.md index 5ad25595a..aa3c53826 100644 --- a/docs-java/process/plugin/more/plugin-build/idea-build.md +++ b/src/content/docs/java/process/plugin/more/plugin-build/idea-build.md @@ -11,19 +11,20 @@ sidebar_position: 4 2. 选择以下方式之一: - 如果是本地项目:点击 "Open" - 如果是 GitHub 项目:点击 "Get from VCS" - ![qwq](./_image/image.png) + ![qwq](./_assets/image.png) 3. 选择或输入项目路径 - ![qwq](./_image/image-1.png) + ![qwq](./_assets/image-1.png) 4. 等待 IDEA 导入完成 ## 第二步:构建项目 1. **Maven 项目**: + 1. 打开右侧 Maven 工具窗口(View → Tool Windows → Maven) 2. 依次点击: - `clean`(清理旧文件) - `package`(打包) - ![build](./_image/image-2.png) + ![build](./_assets/image-2.png) 3. 在 `target` 目录找到生成的 jar 文件 2. **Gradle 项目**: @@ -31,7 +32,7 @@ sidebar_position: 4 2. 依次点击: - `clean`(清理旧文件) - `build`(构建) - ![build2](./_image/image-3.png) + ![build2](./_assets/image-3.png) 3. 在 `build/libs` 目录找到生成的 jar 文件 > 如果遇到依赖下载慢的问题,可以参考 [配置镜像源](./mirror-config.md) 文档。 @@ -39,9 +40,10 @@ sidebar_position: 4 ## 常见问题 1. **依赖下载失败**: + - 检查网络连接 - 刷新项目(右键项目 → Maven/Gradle → Reload Project) - ![依赖](./_image/image-4.png) + ![依赖](./_assets/image-4.png) 2. **找不到生成的 jar**: - Maven: 检查 `target` 目录 diff --git a/docs-java/process/plugin/more/plugin-build/mirror-config.md b/src/content/docs/java/process/plugin/more/plugin-build/mirror-config.md similarity index 100% rename from docs-java/process/plugin/more/plugin-build/mirror-config.md rename to src/content/docs/java/process/plugin/more/plugin-build/mirror-config.md diff --git a/docs-java/process/plugin/more/plugin-build/plugin-build.md b/src/content/docs/java/process/plugin/more/plugin-build/plugin-build.md similarity index 100% rename from docs-java/process/plugin/more/plugin-build/plugin-build.md rename to src/content/docs/java/process/plugin/more/plugin-build/plugin-build.md diff --git a/docs-java/process/plugin/more/plugin-build/terminal-build.md b/src/content/docs/java/process/plugin/more/plugin-build/terminal-build.md similarity index 100% rename from docs-java/process/plugin/more/plugin-build/terminal-build.md rename to src/content/docs/java/process/plugin/more/plugin-build/terminal-build.md diff --git a/docs-java/process/plugin/more/plugin-config.md b/src/content/docs/java/process/plugin/more/plugin-config.md similarity index 95% rename from docs-java/process/plugin/more/plugin-config.md rename to src/content/docs/java/process/plugin/more/plugin-config.md index c48eaa0a5..25ec3687d 100644 --- a/docs-java/process/plugin/more/plugin-config.md +++ b/src/content/docs/java/process/plugin/more/plugin-config.md @@ -23,7 +23,7 @@ import TabItem from '@theme/TabItem'; -![](_images/查看语言-spigotmc.png) +![](_assets/查看语言-spigotmc.png) @@ -31,7 +31,7 @@ import TabItem from '@theme/TabItem'; 比如 https://www.spigotmc.org/resources/simpleclans.71242 我们可以看到,语言那里给了个 [链接](https://crowdin.com/project/simpleclans): -![](_images/查看语言-crowdin.png) +![](_assets/查看语言-crowdin.png) 看到有 Chinese Simplified、chinese、zh_cn、zh_CN 之类的字眼就行。 @@ -43,14 +43,14 @@ import TabItem from '@theme/TabItem'; -![](_images/查看语言-1.png) +![](_assets/查看语言-1.png) 请寻找 zhcn、zh-cn、zh-CN、chinese 等字眼: -![](_images/查看语言-2.png) +![](_assets/查看语言-2.png) @@ -66,7 +66,7 @@ import TabItem from '@theme/TabItem'; -![](_images/查看语言-拆开jar.png) +![](_assets/查看语言-拆开jar.png) diff --git a/docs-java/process/plugin/more/plugin-download.md b/src/content/docs/java/process/plugin/more/plugin-download.md similarity index 81% rename from docs-java/process/plugin/more/plugin-download.md rename to src/content/docs/java/process/plugin/more/plugin-download.md index a706dfba7..96fba996f 100644 --- a/docs-java/process/plugin/more/plugin-download.md +++ b/src/content/docs/java/process/plugin/more/plugin-download.md @@ -13,13 +13,13 @@ sidebar_position: 1 -1. (*可选,推荐*) 安装一个 SpigotMC 专用的 [搜索引擎](https://fof1092.de/Plugins/SSE/Redirect/),作为浏览器插件安装即可。 +1. (_可选,推荐_) 安装一个 SpigotMC 专用的 [搜索引擎](https://fof1092.de/Plugins/SSE/Redirect/),作为浏览器插件安装即可。 使用 SpigotSearchEngine (SpigotMC 搜索引擎) 后,你能得到比 SpigotMC 自带的搜索相关性强得多的搜索结果。 -2. (*可选*) 如果你觉得大量的英语很头大,请打开你的浏览器自带的翻译器,如 Edge/Chrome。 +2. (_可选_) 如果你觉得大量的英语很头大,请打开你的浏览器自带的翻译器,如 Edge/Chrome。 -![](_images/浏览器翻译.png) +![](_assets/浏览器翻译.png) 1. 就像逛淘宝一样,根据你的需求将你认为有用的插件收藏起来。 最好是分门别类放在一起,我们以随机 TP 插件为例,我们在此搜索 RTP: @@ -29,7 +29,7 @@ sidebar_position: 1 -![](_images/Spigot搜索.png) +![](_assets/Spigot搜索.png) @@ -53,11 +53,11 @@ sidebar_position: 1 每个服务器可根据自己的需求自行评价,下图只是一个抛砖引玉的作用,根据自己的需求选择其中一个即可: -![](_images/同类插件评分选择.png) +![](_assets/同类插件评分选择.png) -***不要装多个同类型插件,不要把 CMI 和 EssentialX 装在一起,也不要一个服务器装 3 ~ 4 个菜单插件!!!*** +**_不要装多个同类型插件,不要把 CMI 和 EssentialX 装在一起,也不要一个服务器装 3 ~ 4 个菜单插件!!!_** ## 下载插件 @@ -79,27 +79,27 @@ import TabItem from '@theme/TabItem'; -![](_images/历史版本-bukkit-1.png) +![](_assets/历史版本-bukkit-1.png) 点击左侧文字可以查看详细内容: -![](_images/历史版本-bukkit-2.png) +![](_assets/历史版本-bukkit-2.png) 这里是更新日志: -![](_images/历史版本-bukkit-3.png) +![](_assets/历史版本-bukkit-3.png) -![](_images/历史版本-spigotmc.png) +![](_assets/历史版本-spigotmc.png) -![](_images/历史版本-modrinth.png) +![](_assets/历史版本-modrinth.png) @@ -107,13 +107,13 @@ import TabItem from '@theme/TabItem'; 在 Releases 中往下翻: -![](_images/历史版本-GitHub-1.png) +![](_assets/历史版本-GitHub-1.png) 或者这样子: -![](_images/历史版本-GitHub-2.png) +![](_assets/历史版本-GitHub-2.png) -![](_images/历史版本-GitHub-3.png) +![](_assets/历史版本-GitHub-3.png) diff --git a/docs-java/process/plugin/more/plugin-signature-file.md b/src/content/docs/java/process/plugin/more/plugin-signature-file.md similarity index 95% rename from docs-java/process/plugin/more/plugin-signature-file.md rename to src/content/docs/java/process/plugin/more/plugin-signature-file.md index 6c398795c..afe218ddb 100644 --- a/docs-java/process/plugin/more/plugin-signature-file.md +++ b/src/content/docs/java/process/plugin/more/plugin-signature-file.md @@ -7,11 +7,11 @@ sidebar_position: 3 用解压缩软件打开插件的 jar 文件就可以看到 `plugin.yml`: -![](_images/plugin.yml/拆开jar.png) +![](_assets/plugin.yml/拆开jar.png) 用文本编辑器可以打开它: -![](_images/plugin.yml/plugin.yml.png) +![](_assets/plugin.yml/plugin.yml.png) 其实只有 `name` 和 `main` 是必填的,其他可写可不写。 @@ -123,4 +123,4 @@ Folia 端对 Bukkit API 的修改是破坏性的,你手动添加而不是插 # 参考 -- https://docs.papermc.io/paper/dev/plugin-yml +- https://docs.papermc.io/paper/dev/plugin-yml diff --git a/docs-java/process/plugin/more/tittle-tattle.md b/src/content/docs/java/process/plugin/more/tittle-tattle.md similarity index 100% rename from docs-java/process/plugin/more/tittle-tattle.md rename to src/content/docs/java/process/plugin/more/tittle-tattle.md diff --git a/docs-java/process/plugin/plugin-dependencies/placeholderapi/_images/CheckItem/checkitem.png b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets/CheckItem/checkitem.png similarity index 100% rename from docs-java/process/plugin/plugin-dependencies/placeholderapi/_images/CheckItem/checkitem.png rename to src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets/CheckItem/checkitem.png diff --git a/docs-java/process/plugin/plugin-dependencies/placeholderapi/_images/CheckItem/getinfo_1.png b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets/CheckItem/getinfo_1.png similarity index 100% rename from docs-java/process/plugin/plugin-dependencies/placeholderapi/_images/CheckItem/getinfo_1.png rename to src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets/CheckItem/getinfo_1.png diff --git a/docs-java/process/plugin/plugin-dependencies/placeholderapi/_images/CheckItem/getinfo_2.png b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets/CheckItem/getinfo_2.png similarity index 100% rename from docs-java/process/plugin/plugin-dependencies/placeholderapi/_images/CheckItem/getinfo_2.png rename to src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets/CheckItem/getinfo_2.png diff --git a/docs-java/process/plugin/plugin-dependencies/placeholderapi/_images/CheckItem/remove-item.png b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets/CheckItem/remove-item.png similarity index 100% rename from docs-java/process/plugin/plugin-dependencies/placeholderapi/_images/CheckItem/remove-item.png rename to src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets/CheckItem/remove-item.png diff --git "a/docs-java/process/plugin/plugin-dependencies/placeholderapi/_images/CheckItem/\347\216\251\345\256\266\350\203\214\345\214\205\346\247\275\344\275\215\345\233\276.webp" "b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets/CheckItem/\347\216\251\345\256\266\350\203\214\345\214\205\346\247\275\344\275\215\345\233\276.webp" similarity index 100% rename from "docs-java/process/plugin/plugin-dependencies/placeholderapi/_images/CheckItem/\347\216\251\345\256\266\350\203\214\345\214\205\346\247\275\344\275\215\345\233\276.webp" rename to "src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets/CheckItem/\347\216\251\345\256\266\350\203\214\345\214\205\346\247\275\344\275\215\345\233\276.webp" diff --git "a/docs-java/process/plugin/plugin-dependencies/placeholderapi/_images/CheckItem/\350\277\236\347\273\255\344\275\277\347\224\250-1.png" "b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets/CheckItem/\350\277\236\347\273\255\344\275\277\347\224\250-1.png" similarity index 100% rename from "docs-java/process/plugin/plugin-dependencies/placeholderapi/_images/CheckItem/\350\277\236\347\273\255\344\275\277\347\224\250-1.png" rename to "src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets/CheckItem/\350\277\236\347\273\255\344\275\277\347\224\250-1.png" diff --git "a/docs-java/process/plugin/plugin-dependencies/placeholderapi/_images/CheckItem/\350\277\236\347\273\255\344\275\277\347\224\250-2.png" "b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets/CheckItem/\350\277\236\347\273\255\344\275\277\347\224\250-2.png" similarity index 100% rename from "docs-java/process/plugin/plugin-dependencies/placeholderapi/_images/CheckItem/\350\277\236\347\273\255\344\275\277\347\224\250-2.png" rename to "src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets/CheckItem/\350\277\236\347\273\255\344\275\277\347\224\250-2.png" diff --git "a/docs-java/process/plugin/plugin-dependencies/placeholderapi/_images/CheckItem/\350\277\236\347\273\255\344\275\277\347\224\250-3.png" "b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets/CheckItem/\350\277\236\347\273\255\344\275\277\347\224\250-3.png" similarity index 100% rename from "docs-java/process/plugin/plugin-dependencies/placeholderapi/_images/CheckItem/\350\277\236\347\273\255\344\275\277\347\224\250-3.png" rename to "src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets/CheckItem/\350\277\236\347\273\255\344\275\277\347\224\250-3.png" diff --git a/docs-java/process/plugin/plugin-dependencies/placeholderapi/_images/Math/1.png b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets/Math/1.png similarity index 100% rename from docs-java/process/plugin/plugin-dependencies/placeholderapi/_images/Math/1.png rename to src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets/Math/1.png diff --git a/docs-java/process/plugin/plugin-dependencies/placeholderapi/_images/Math/2.png b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets/Math/2.png similarity index 100% rename from docs-java/process/plugin/plugin-dependencies/placeholderapi/_images/Math/2.png rename to src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets/Math/2.png diff --git a/docs-java/process/plugin/plugin-dependencies/placeholderapi/_images/Math/3.png b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets/Math/3.png similarity index 100% rename from docs-java/process/plugin/plugin-dependencies/placeholderapi/_images/Math/3.png rename to src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets/Math/3.png diff --git a/docs-java/process/plugin/plugin-dependencies/placeholderapi/_images/Math/4.png b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets/Math/4.png similarity index 100% rename from docs-java/process/plugin/plugin-dependencies/placeholderapi/_images/Math/4.png rename to src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets/Math/4.png diff --git a/docs-java/process/plugin/plugin-dependencies/placeholderapi/_images/ParseOther/ParseOther.png b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets/ParseOther/ParseOther.png similarity index 100% rename from docs-java/process/plugin/plugin-dependencies/placeholderapi/_images/ParseOther/ParseOther.png rename to src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets/ParseOther/ParseOther.png diff --git a/docs-java/process/plugin/plugin-dependencies/placeholderapi/_images/PlaceHolderAPI/1.png b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets/PlaceHolderAPI/1.png similarity index 100% rename from docs-java/process/plugin/plugin-dependencies/placeholderapi/_images/PlaceHolderAPI/1.png rename to src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets/PlaceHolderAPI/1.png diff --git a/docs-java/process/plugin/plugin-dependencies/placeholderapi/_images/PlaceHolderAPI/10.png b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets/PlaceHolderAPI/10.png similarity index 100% rename from docs-java/process/plugin/plugin-dependencies/placeholderapi/_images/PlaceHolderAPI/10.png rename to src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets/PlaceHolderAPI/10.png diff --git a/docs-java/process/plugin/plugin-dependencies/placeholderapi/_images/PlaceHolderAPI/11.png b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets/PlaceHolderAPI/11.png similarity index 100% rename from docs-java/process/plugin/plugin-dependencies/placeholderapi/_images/PlaceHolderAPI/11.png rename to src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets/PlaceHolderAPI/11.png diff --git a/docs-java/process/plugin/plugin-dependencies/placeholderapi/_images/PlaceHolderAPI/12.png b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets/PlaceHolderAPI/12.png similarity index 100% rename from docs-java/process/plugin/plugin-dependencies/placeholderapi/_images/PlaceHolderAPI/12.png rename to src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets/PlaceHolderAPI/12.png diff --git a/docs-java/process/plugin/plugin-dependencies/placeholderapi/_images/PlaceHolderAPI/2.png b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets/PlaceHolderAPI/2.png similarity index 100% rename from docs-java/process/plugin/plugin-dependencies/placeholderapi/_images/PlaceHolderAPI/2.png rename to src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets/PlaceHolderAPI/2.png diff --git a/docs-java/process/plugin/plugin-dependencies/placeholderapi/_images/PlaceHolderAPI/3.png b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets/PlaceHolderAPI/3.png similarity index 100% rename from docs-java/process/plugin/plugin-dependencies/placeholderapi/_images/PlaceHolderAPI/3.png rename to src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets/PlaceHolderAPI/3.png diff --git a/docs-java/process/plugin/plugin-dependencies/placeholderapi/_images/PlaceHolderAPI/4.png b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets/PlaceHolderAPI/4.png similarity index 100% rename from docs-java/process/plugin/plugin-dependencies/placeholderapi/_images/PlaceHolderAPI/4.png rename to src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets/PlaceHolderAPI/4.png diff --git a/docs-java/process/plugin/plugin-dependencies/placeholderapi/_images/PlaceHolderAPI/5.png b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets/PlaceHolderAPI/5.png similarity index 100% rename from docs-java/process/plugin/plugin-dependencies/placeholderapi/_images/PlaceHolderAPI/5.png rename to src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets/PlaceHolderAPI/5.png diff --git a/docs-java/process/plugin/plugin-dependencies/placeholderapi/_images/PlaceHolderAPI/6.png b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets/PlaceHolderAPI/6.png similarity index 100% rename from docs-java/process/plugin/plugin-dependencies/placeholderapi/_images/PlaceHolderAPI/6.png rename to src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets/PlaceHolderAPI/6.png diff --git a/docs-java/process/plugin/plugin-dependencies/placeholderapi/_images/PlaceHolderAPI/7.png b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets/PlaceHolderAPI/7.png similarity index 100% rename from docs-java/process/plugin/plugin-dependencies/placeholderapi/_images/PlaceHolderAPI/7.png rename to src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets/PlaceHolderAPI/7.png diff --git a/docs-java/process/plugin/plugin-dependencies/placeholderapi/_images/PlaceHolderAPI/8.png b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets/PlaceHolderAPI/8.png similarity index 100% rename from docs-java/process/plugin/plugin-dependencies/placeholderapi/_images/PlaceHolderAPI/8.png rename to src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets/PlaceHolderAPI/8.png diff --git a/docs-java/process/plugin/plugin-dependencies/placeholderapi/_images/PlaceHolderAPI/9.png b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets/PlaceHolderAPI/9.png similarity index 100% rename from docs-java/process/plugin/plugin-dependencies/placeholderapi/_images/PlaceHolderAPI/9.png rename to src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets/PlaceHolderAPI/9.png diff --git a/docs-java/process/plugin/plugin-dependencies/placeholderapi/_images/Progress/Progress.png b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets/Progress/Progress.png similarity index 100% rename from docs-java/process/plugin/plugin-dependencies/placeholderapi/_images/Progress/Progress.png rename to src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets/Progress/Progress.png diff --git "a/docs-java/process/plugin/plugin-dependencies/placeholderapi/_images/Q&A/\345\217\230\351\207\217\344\270\213\350\275\275\345\244\261\350\264\245.png" "b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets/Q&A/\345\217\230\351\207\217\344\270\213\350\275\275\345\244\261\350\264\245.png" similarity index 100% rename from "docs-java/process/plugin/plugin-dependencies/placeholderapi/_images/Q&A/\345\217\230\351\207\217\344\270\213\350\275\275\345\244\261\350\264\245.png" rename to "src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets/Q&A/\345\217\230\351\207\217\344\270\213\350\275\275\345\244\261\350\264\245.png" diff --git "a/docs-java/process/plugin/plugin-dependencies/placeholderapi/_images/Q&A/\345\217\230\351\207\217\344\270\215\346\230\276\347\244\272-1.png" "b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets/Q&A/\345\217\230\351\207\217\344\270\215\346\230\276\347\244\272-1.png" similarity index 100% rename from "docs-java/process/plugin/plugin-dependencies/placeholderapi/_images/Q&A/\345\217\230\351\207\217\344\270\215\346\230\276\347\244\272-1.png" rename to "src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets/Q&A/\345\217\230\351\207\217\344\270\215\346\230\276\347\244\272-1.png" diff --git "a/docs-java/process/plugin/plugin-dependencies/placeholderapi/_images/Q&A/\345\217\230\351\207\217\344\270\215\346\230\276\347\244\272-2.png" "b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets/Q&A/\345\217\230\351\207\217\344\270\215\346\230\276\347\244\272-2.png" similarity index 100% rename from "docs-java/process/plugin/plugin-dependencies/placeholderapi/_images/Q&A/\345\217\230\351\207\217\344\270\215\346\230\276\347\244\272-2.png" rename to "src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/_assets/Q&A/\345\217\230\351\207\217\344\270\215\346\230\276\347\244\272-2.png" diff --git a/docs-java/process/plugin/plugin-dependencies/placeholderapi/change-output.md b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/change-output.md similarity index 100% rename from docs-java/process/plugin/plugin-dependencies/placeholderapi/change-output.md rename to src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/change-output.md diff --git a/docs-java/process/plugin/plugin-dependencies/placeholderapi/check-item.md b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/check-item.md similarity index 75% rename from docs-java/process/plugin/plugin-dependencies/placeholderapi/check-item.md rename to src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/check-item.md index 0a0544b64..c89da5c33 100644 --- a/docs-java/process/plugin/plugin-dependencies/placeholderapi/check-item.md +++ b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/check-item.md @@ -34,7 +34,7 @@ sidebar_position: 4 ## 教程 -![](_images/CheckItem/remove-item.png) +![](_assets/CheckItem/remove-item.png) ```text /papi parse me %checkitem_remove_diamond% @@ -46,7 +46,7 @@ sidebar_position: 4 如果没有 **remove** 那么这个变量就会判断玩家是否拥有这个物品 -![](_images/CheckItem/checkitem.png) +![](_assets/CheckItem/checkitem.png) 这里返回了 yes @@ -54,10 +54,10 @@ sidebar_position: 4 例如: -- give 给予物品 %checkitem_give_mat:diamond% // 给予玩家一个钻石 -- remove 收取物品 %checkitem_remove_mat:diamond% // 收取玩家背包中所有的钻石 -- amount 查看数量 %checkitem_amount_mat:diamond% // 查看玩家背包中的钻石数量 -- getinfo 物品信息 下面会讲到 +- give 给予物品 %checkitem_give_mat:diamond% // 给予玩家一个钻石 +- remove 收取物品 %checkitem_remove_mat:diamond% // 收取玩家背包中所有的钻石 +- amount 查看数量 %checkitem_amount_mat:diamond% // 查看玩家背包中的钻石数量 +- getinfo 物品信息 下面会讲到 你应该注意到了 `mat:diamond` ,因为我写了 diamond 所以这些变量的功能是针对钻石的 @@ -89,26 +89,26 @@ sidebar_position: 4 可用的修饰符有: -- namecontains // 名字中包含 -- namestartswith -- nameequals -- mat // 物品材质 -- amt // 物品数量 -- data // 物品的 data -- custommodeldata // 物品的 CMD 值 -- lorecontains // lore 中包含 -- loreequals -- matcontains -- enchantments // 附魔 -- enchanted -- potiontype -- potionextended -- potionupgraded -- strict -- inhand -- inslot -- nbtstrings // nbt -- nbtints +- namecontains // 名字中包含 +- namestartswith +- nameequals +- mat // 物品材质 +- amt // 物品数量 +- data // 物品的 data +- custommodeldata // 物品的 CMD 值 +- lorecontains // lore 中包含 +- loreequals +- matcontains +- enchantments // 附魔 +- enchanted +- potiontype +- potionextended +- potionupgraded +- strict +- inhand +- inslot +- nbtstrings // nbt +- nbtints ### getinfo @@ -124,13 +124,13 @@ sidebar_position: 4 背包槽位可参考下图: -![](./_images/CheckItem/玩家背包槽位图.webp) +![](./_assets/CheckItem/玩家背包槽位图.webp) 下方是使用案例 -![](./_images/CheckItem/getinfo_1.png) +![](./_assets/CheckItem/getinfo_1.png) -![](./_images/CheckItem/getinfo_2.png) +![](./_assets/CheckItem/getinfo_2.png) ## 连续使用 @@ -140,19 +140,19 @@ sidebar_position: 4 %checkitem_amount_mat:diamond% ``` -![](_images/CheckItem/连续使用-1.png) +![](_assets/CheckItem/连续使用-1.png) ```text title="收取背包中所有钻石" %checkitem_remove_mat:diamond% ``` -![](_images/CheckItem/连续使用-2.png) +![](_assets/CheckItem/连续使用-2.png) ```text title="收取背包中所有钻石,但是变量返回值是收取的数量" %checkitem_amount_remove_mat:diamond% ``` -![](_images/CheckItem/连续使用-3.png) +![](_assets/CheckItem/连续使用-3.png) ### 例子:收取 IA 物品 @@ -164,8 +164,8 @@ sidebar_position: 4 使用了两个修饰符 -- nbtstrings -- amt +- nbtstrings +- amt 其他物品库多数也会像 IA 一样给物品打上自己的 nbt 标签,照着改改就好 diff --git a/docs-java/process/plugin/plugin-dependencies/placeholderapi/common-usage.md b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/common-usage.md similarity index 100% rename from docs-java/process/plugin/plugin-dependencies/placeholderapi/common-usage.md rename to src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/common-usage.md diff --git a/docs-java/process/plugin/plugin-dependencies/placeholderapi/faq.md b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/faq.md similarity index 95% rename from docs-java/process/plugin/plugin-dependencies/placeholderapi/faq.md rename to src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/faq.md index 31f19f41a..5109ff0ef 100644 --- a/docs-java/process/plugin/plugin-dependencies/placeholderapi/faq.md +++ b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/faq.md @@ -17,7 +17,7 @@ sidebar_position: 2 ## 变量怎么不显示 -![](_images/Q&A/变量不显示-1.png) +![](_assets/Q&A/变量不显示-1.png) 通常有以下几种情况: @@ -40,7 +40,7 @@ sidebar_position: 2 然后你就可以看到变量了。 -![](_images/Q&A/变量不显示-2.png) +![](_assets/Q&A/变量不显示-2.png) 如果下载失败,看 [手动安装](#手动安装) @@ -96,7 +96,7 @@ boolean: ## 手动安装 -![](_images/Q&A/变量下载失败.png) +![](_assets/Q&A/变量下载失败.png) 看起来你连不上 ecloud diff --git a/docs-java/process/plugin/plugin-dependencies/placeholderapi/javascript.md b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/javascript.md similarity index 100% rename from docs-java/process/plugin/plugin-dependencies/placeholderapi/javascript.md rename to src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/javascript.md diff --git a/docs-java/process/plugin/plugin-dependencies/placeholderapi/math.md b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/math.md similarity index 86% rename from docs-java/process/plugin/plugin-dependencies/placeholderapi/math.md rename to src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/math.md index a00afb46b..aa873f3c1 100644 --- a/docs-java/process/plugin/plugin-dependencies/placeholderapi/math.md +++ b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/math.md @@ -34,7 +34,7 @@ sidebar_position: 3 **如:** -![](_images/Math/1.png) +![](_assets/Math/1.png) 发现输出的结果有三位小数,你可以在 `plugins\PlaceholderAPI\config.yml` 中找到 @@ -56,18 +56,18 @@ math: **如:** -![](_images/Math/2.png) +![](_assets/Math/2.png) ### 运算符 -- `+` 加法运算 -- `-` 减法运算 -- `*` 乘法运算 -- `%` 除法运算 +- `+` 加法运算 +- `-` 减法运算 +- `*` 乘法运算 +- `%` 除法运算 支持括号 比如 (1+2)x2=6 为 -![](_images/Math/3.png) +![](_assets/Math/3.png) ### 支持变量 @@ -75,6 +75,6 @@ math: 比如 [Server 扩展](https://wiki.placeholderapi.com/users/placeholder-list/#server) 的 `%server_online%` 显示当前服务器在线玩家数 -![](_images/Math/4.png) +![](_assets/Math/4.png) 我本地测试服务器里就我自己一个人,所以 1+1=2 diff --git a/docs-java/process/plugin/plugin-dependencies/placeholderapi/parse-other.md b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/parse-other.md similarity index 96% rename from docs-java/process/plugin/plugin-dependencies/placeholderapi/parse-other.md rename to src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/parse-other.md index 9e0fed9f4..39e9f4016 100644 --- a/docs-java/process/plugin/plugin-dependencies/placeholderapi/parse-other.md +++ b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/parse-other.md @@ -41,4 +41,4 @@ sidebar_position: 8 例如,查看玩家 postyizhan 的 %player_health% 变量返回值 -![](_images/ParseOther/ParseOther.png) +![](_assets/ParseOther/ParseOther.png) diff --git a/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/placeholderapi.md b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/placeholderapi.md new file mode 100644 index 000000000..1a07d89bb --- /dev/null +++ b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/placeholderapi.md @@ -0,0 +1,234 @@ +--- +title: PlaceHolderAPI +slug: /PlaceHolderAPI +sidebar_position: 1 +--- + + + +# PlaceHolderAPI + +![](_assets/PlaceHolderAPI/1.png) + +
+ +![](_assets/PlaceHolderAPI/2.png) + +[![](_assets/PlaceHolderAPI/3.png)](https://continue-project.netlify.app/PlaceholderAPI) +[![](_assets/PlaceHolderAPI/4.png)](https://continue-project.netlify.app/PlaceholderAPI/user-guides.placeholder-list.html) +[![](_assets/PlaceHolderAPI/5.png)](https://api.extendedclip.com/home) + +
+ +## ![介绍](_assets/PlaceHolderAPI/6.png) + +PlaceholderAPI 是适用于 Spigot 及其衍生服务端的插件,它允许服务器管理者以固定的格式替换占位符 (俗称变量) 为各种插件的信息。 + +也可以做到一些你以为它不能做的事,比如 Math (数学运算)、Checkitem (操作玩家物品)、JavaScript (执行 JS)、Progress (制作进度条)。 + +对于插件的变量支持,通常由插件自己提供,或者安装变量扩展来提供变量。变量扩展可以在游戏内通过 PAPI eCloud 下载安装。现有超过 230 个扩展可下载,可支持非常多的插件,比如 Essentials、Factions、LuckPerms、Vault 等。如果你是开发者,并且希望为你的插件添加 PlaceholderAPI 支持,请参阅 [API 使用文档](https://github.com/PlaceholderAPI/PlaceholderAPI/wiki/Hook-into-PlaceholderAPI)。 + +PlaceholderAPI 已破 170 万下载量,同时使用本插件的服务器数已超过 4.5 万,成为了各规模各类型服务器的必需品。 + +## ![安装](_assets/PlaceHolderAPI/7.png) + +![](_assets/PlaceHolderAPI/8.png) + +## ![在其他插件使用](_assets/PlaceHolderAPI/9.png) + +默认你已安装 player 变量扩展。 + +变量使用格式:`%变量扩展名_变量参数%` + +比如: + +`%player_name%` 中,`player` 是变量扩展名,`name` 是变量参数,即获取玩家名。 + +通常来说,变量扩展有哪些变量会在其介绍页面会说明。 + +你可以使用 `/papi parse me <内容>` 来测试变量解析的结果。 +比如我是 `player_A`,执行命令 `/papi parse me %player_name%`,则会在聊天栏返回一个 `player_A` 作为结果。 + +如果你需要变量嵌套,把一个变量的解析结果套到另一个变量的参数中,使用 `{}` 来代替 `%%` 即可。 + +示例如下,将 `%player_health%` 的结果添加到 `%math_2_%` 中 (需要安装 math 扩展),实现血量保留 2 位小数显示。 + +`%math_2_{player_health}%` + +## ![配置文件](_assets/PlaceHolderAPI/10.png) + +配置文件 `config.yml` 有核心插件的个性化设置,也有专门为扩展预留的设置选项。 + +如果变量扩展允许你修改某些参数,那么这些参数将会被添加到 `config.yml` 里面。 + +
+ 点击展开 + +```yaml +# PlaceholderAPI +# 版本:2.11.4 +# 作者:extended_clip +# 贡献者:https://github.com/PlaceholderAPI/PlaceholderAPI/graphs/contributors +# 问题反馈:https://github.com/PlaceholderAPI/PlaceholderAPI/issues +# 变量扩展中心:https://api.extendedclip.com/all/ +# 文档:https://wiki.placeholderapi.com/ +# Discord: https://helpch.at/discord +# 插件默认不提供任何变量。 +# 请用这个命令下载变量:/papi ecloud +check_updates: true +cloud_enabled: true +cloud_sorting: "name" +cloud_allow_unverified_expansions: false +boolean: + "true": "yes" + "false": "no" +date_format: MM/dd/yy HH:mm:ss +debug: false +``` + +
+ +## ![权限列表](_assets/PlaceHolderAPI/11.png) + +
+ 点击展开 + +```yaml +permissions: + placeholderapi.*: + description: "允许使用所有 PAPI 命令" + children: + placeholderapi.admin: true + placeholderapi.ecloud.*: true + placeholderapi.admin: + description: "允许使用所有 PAPI 命令" + children: + placeholderapi.help: true + placeholderapi.info: true + placeholderapi.list: true + placeholderapi.parse: true + placeholderapi.reload: true + placeholderapi.version: true + placeholderapi.register: true + placeholderapi.unregister: true + placeholderapi.updatenotify: true + placeholderapi.ecloud.*: + description: "允许使用所有 PAPI eCloud 命令" + children: + placeholderapi.ecloud: true + placeholderapi.ecloud.info: true + placeholderapi.ecloud.list: true + placeholderapi.ecloud.clear: true + placeholderapi.ecloud.status: true + placeholderapi.ecloud.update: true + placeholderapi.ecloud.refresh: true + placeholderapi.ecloud.download: true + placeholderapi.ecloud.placeholders: true + placeholderapi.help: + default: "op" + description: "允许查看 PAPI 帮助命令" + placeholderapi.info: + default: "op" + description: "允许查看变量扩展信息" + placeholderapi.list: + default: "op" + description: "允许查看活跃的变量扩展列表" + placeholderapi.ecloud: + default: "op" + description: "允许使用 PAPI eCloud 功能" + placeholderapi.parse: + default: "op" + description: "允许使用 /papi parse 命令" + placeholderapi.reload: + default: "op" + description: "允许重载 PAPI 扩展以及配置文件" + placeholderapi.version: + default: "op" + description: "允许查看当前安装的 PAPI 插件版本" + placeholderapi.register: + default: "op" + description: "允许注册扩展" + placeholderapi.unregister: + default: "op" + description: "允许卸载扩展" + placeholderapi.updatenotify: + default: "op" + description: "当 PAPI 插件有更新时,接收更新信息" + placeholderapi.ecloud.info: + default: "op" + description: "允许通过 eCloud 获取变量扩展信息" + placeholderapi.ecloud.list: + default: "op" + description: "允许通过 eCloud 获取变量扩展列表" + placeholderapi.ecloud.clear: + default: "op" + description: "允许清除 eCloud 本地缓存" + placeholderapi.ecloud.status: + default: "op" + description: "允许查看 eCloud 状态" + placeholderapi.ecloud.update: + default: "op" + description: "允许通过 eCloud 更新已注册的扩展" + placeholderapi.ecloud.refresh: + default: "op" + description: "允许刷新 eCloud 本地缓存" + placeholderapi.ecloud.download: + default: "op" + description: "允许从 eCloud 下载扩展" + placeholderapi.ecloud.placeholders: + default: "op" + description: "允许查看 eCloud 扩展的变量列表" +``` + +
+ +## ![插件命令](_assets/PlaceHolderAPI/12.png) + +解析命令 (`me` 代表自己) + +- `/papi bcparse <玩家|--null|me> <内容>` +- `/papi cmdparse <玩家|me> <内容>` +- `/papi parse <玩家|--null|me> <内容>` +- `/papi parserel <玩家> <玩家> <内容>` + +eCloud 命令 + +- `/papi ecloud status` +- `/papi ecloud clear` +- `/papi ecloud download <变量扩展名称> [版本]` +- `/papi ecloud update <变量扩展名称/all>` all 代表全部 +- `/papi ecloud info <变量扩展名称> [版本]` +- `/papi ecloud list |installed> [页数]` all 代表全部,installed 代表已安装的扩展 +- `/papi ecloud placeholders <变量扩展名称>` +- `/papi ecloud refresh` + +变量扩展命令 + +- `/papi info <变量扩展名称>` +- `/papi list` +- `/papi register ` 文件位于 /plugins/PlaceholderAPI/expansions/ +- `/papi unregister <变量扩展名称>` + +## 链接 + +:::info + +`SpigotMC` https://www.spigotmc.org/resources/.6245 + +`MineBBS` https://www.minebbs.com/resources/.8229 + +`GitHub` https://github.com/PlaceholderAPI/PlaceholderAPI + +`文档 (英文)` https://wiki.placeholderapi.com + +`文档 (中文)` https://continue-project.netlify.app/PlaceholderAPI + +`插件百科` https://mineplugin.org/PlaceHolderAPI + +::: + +本页内容 ~~抄袭~~ 借鉴自 [此处](https://www.minebbs.com/resources/.8229) + +## Bstats + +[![](https://bstats.org/signatures/bukkit/PlaceholderAPI.svg)](https://bstats.org/plugin/bukkit/PlaceholderAPI/438) diff --git a/docs-java/process/plugin/plugin-dependencies/placeholderapi/progress.md b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/progress.md similarity index 96% rename from docs-java/process/plugin/plugin-dependencies/placeholderapi/progress.md rename to src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/progress.md index 9759464c3..edd421f01 100644 --- a/docs-java/process/plugin/plugin-dependencies/placeholderapi/progress.md +++ b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/progress.md @@ -44,4 +44,4 @@ lore: - '%progress_bar_{server_ram_used}_m:{server_ram_max}%' ``` -![](_images/Progress/Progress.png) +![](_assets/Progress/Progress.png) diff --git a/docs-java/process/plugin/plugin-dependencies/placeholderapi/string.md b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/string.md similarity index 100% rename from docs-java/process/plugin/plugin-dependencies/placeholderapi/string.md rename to src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/string.md diff --git a/docs-java/process/plugin/plugin-dependencies/playerpoints.md b/src/content/docs/java/process/plugin/plugin-dependencies/playerpoints.md similarity index 100% rename from docs-java/process/plugin/plugin-dependencies/playerpoints.md rename to src/content/docs/java/process/plugin/plugin-dependencies/playerpoints.md diff --git a/docs-java/process/plugin/plugin-dependencies/plugin-dependencies.md b/src/content/docs/java/process/plugin/plugin-dependencies/plugin-dependencies.md similarity index 100% rename from docs-java/process/plugin/plugin-dependencies/plugin-dependencies.md rename to src/content/docs/java/process/plugin/plugin-dependencies/plugin-dependencies.md diff --git a/docs-java/process/plugin/plugin-dependencies/protocollib.md b/src/content/docs/java/process/plugin/plugin-dependencies/protocollib.md similarity index 100% rename from docs-java/process/plugin/plugin-dependencies/protocollib.md rename to src/content/docs/java/process/plugin/plugin-dependencies/protocollib.md diff --git a/docs-java/process/plugin/plugin-dependencies/vault/serviceio.md b/src/content/docs/java/process/plugin/plugin-dependencies/vault/serviceio.md similarity index 100% rename from docs-java/process/plugin/plugin-dependencies/vault/serviceio.md rename to src/content/docs/java/process/plugin/plugin-dependencies/vault/serviceio.md diff --git a/docs-java/process/plugin/plugin-dependencies/vault/vault.md b/src/content/docs/java/process/plugin/plugin-dependencies/vault/vault.md similarity index 100% rename from docs-java/process/plugin/plugin-dependencies/vault/vault.md rename to src/content/docs/java/process/plugin/plugin-dependencies/vault/vault.md diff --git a/docs-java/process/plugin/plugin-dependencies/vault/vaultunlocked.md b/src/content/docs/java/process/plugin/plugin-dependencies/vault/vaultunlocked.md similarity index 100% rename from docs-java/process/plugin/plugin-dependencies/vault/vaultunlocked.md rename to src/content/docs/java/process/plugin/plugin-dependencies/vault/vaultunlocked.md diff --git a/docs-java/process/plugin/plugin-dependencies/xconomy.md b/src/content/docs/java/process/plugin/plugin-dependencies/xconomy.md similarity index 100% rename from docs-java/process/plugin/plugin-dependencies/xconomy.md rename to src/content/docs/java/process/plugin/plugin-dependencies/xconomy.md diff --git a/docs-java/process/plugin/plugin.md b/src/content/docs/java/process/plugin/plugin.md similarity index 71% rename from docs-java/process/plugin/plugin.md rename to src/content/docs/java/process/plugin/plugin.md index d90e44df3..4a508fd14 100644 --- a/docs-java/process/plugin/plugin.md +++ b/src/content/docs/java/process/plugin/plugin.md @@ -11,10 +11,10 @@ sidebar_label: Java 插件 建议阅读: -- [YAML 语法](../../advance/yaml/yaml.md) - 了解大部分插件配置文件的语法。 -- [特征文件](./more/plugin-signature-file.md) - 了解插件的一些信息。 -- [颜色代码](./more/color-message.md) - 改变服务器中文本的颜色 -- [什么是乱码](/start/basic/what-is-messy-code) - 了解文本文件中的字符有时为什么会变得奇奇怪怪。 +- [YAML 语法](../../advance/yaml/yaml.md) - 了解大部分插件配置文件的语法。 +- [特征文件](./more/plugin-signature-file.md) - 了解插件的一些信息。 +- [颜色代码](./more/color-message.md) - 改变服务器中文本的颜色 +- [什么是乱码](/start/basic/what-is-messy-code) - 了解文本文件中的字符有时为什么会变得奇奇怪怪。 ## 基本操作 @@ -42,7 +42,7 @@ sidebar_label: Java 插件 使用 `/plugins` 或者 `/pl` 列出插件列表。 -![](_images/插件列表.png) +![](_assets/插件列表.png) 绿色为已加载 (不是代表你日后使用不报错,只是这里加载上了)。 @@ -59,18 +59,18 @@ sidebar_label: Java 插件
安装的插件列表 -- ProtocolLib 必备前置 -- LuckPerms 权限管理插件 -- PlaceholderAPI 必备前置 -- PlugManx 插件管理 -- WorldEdit 创世神 -- EssentialsX 基础插件 -- Multiverse-Core 多世界管理 -- ~~ViaVersion,ViaBackwards 跨版本~~ -- AuthMe 登陆插件 -- SkinRestorer 皮肤管理/皮肤修复 -- TrChat 聊天插件 -- MiniMotd MOTD 插件 +- ProtocolLib 必备前置 +- LuckPerms 权限管理插件 +- PlaceholderAPI 必备前置 +- PlugManx 插件管理 +- WorldEdit 创世神 +- EssentialsX 基础插件 +- Multiverse-Core 多世界管理 +- ~~ViaVersion,ViaBackwards 跨版本~~ +- AuthMe 登陆插件 +- SkinRestorer 皮肤管理/皮肤修复 +- TrChat 聊天插件 +- MiniMotd MOTD 插件 Via 自动安装已经移动到 [此处](./misc/via/via.md#笨蛋脚本) diff --git a/docs-java/process/plugin/protection/_images/Dominion-08.png b/src/content/docs/java/process/plugin/protection/_assets/Dominion-08.png similarity index 100% rename from docs-java/process/plugin/protection/_images/Dominion-08.png rename to src/content/docs/java/process/plugin/protection/_assets/Dominion-08.png diff --git a/docs-java/process/plugin/protection/_images/GriefDefender-github.png b/src/content/docs/java/process/plugin/protection/_assets/GriefDefender-github.png similarity index 100% rename from docs-java/process/plugin/protection/_images/GriefDefender-github.png rename to src/content/docs/java/process/plugin/protection/_assets/GriefDefender-github.png diff --git a/docs-java/process/plugin/protection/askyblock.md b/src/content/docs/java/process/plugin/protection/askyblock.md similarity index 100% rename from docs-java/process/plugin/protection/askyblock.md rename to src/content/docs/java/process/plugin/protection/askyblock.md diff --git a/docs-java/process/plugin/protection/bentobox.md b/src/content/docs/java/process/plugin/protection/bentobox.md similarity index 100% rename from docs-java/process/plugin/protection/bentobox.md rename to src/content/docs/java/process/plugin/protection/bentobox.md diff --git a/docs-java/process/plugin/protection/dominion.md b/src/content/docs/java/process/plugin/protection/dominion.md similarity index 77% rename from docs-java/process/plugin/protection/dominion.md rename to src/content/docs/java/process/plugin/protection/dominion.md index a94873dbb..125ef3aff 100644 --- a/docs-java/process/plugin/protection/dominion.md +++ b/src/content/docs/java/process/plugin/protection/dominion.md @@ -24,9 +24,9 @@ sidebar_label: 领地 - Dominion ## 版本 -- 仅支持 1.20.1+ (Bukkit、Spigot、Paper、Folia) **不支持 1.20 以下的服务端(如果你是 1.20 以下的可以撤了)** -- 需要使用 Java21 运行你的服务端 -- 虽然这个插件支持 Spigot,但是作者强烈建议使用 Paper 或其分支核心(如 Purpur)以获得更好的性能体验。 +- 仅支持 1.20.1+ (Bukkit、Spigot、Paper、Folia) **不支持 1.20 以下的服务端(如果你是 1.20 以下的可以撤了)** +- 需要使用 Java21 运行你的服务端 +- 虽然这个插件支持 Spigot,但是作者强烈建议使用 Paper 或其分支核心(如 Purpur)以获得更好的性能体验。 ## 优点 @@ -41,4 +41,4 @@ sidebar_label: 领地 - Dominion ## 作者的整活儿 -![](_images/Dominion-08.png) +![](_assets/Dominion-08.png) diff --git a/docs-java/process/plugin/protection/griefdefender.md b/src/content/docs/java/process/plugin/protection/griefdefender.md similarity index 91% rename from docs-java/process/plugin/protection/griefdefender.md rename to src/content/docs/java/process/plugin/protection/griefdefender.md index 99cf3e8f0..b564ae7db 100644 --- a/docs-java/process/plugin/protection/griefdefender.md +++ b/src/content/docs/java/process/plugin/protection/griefdefender.md @@ -19,6 +19,6 @@ sidebar_label: 领地 - GriefDefender ## 开源? -![](_images/GriefDefender-github.png) +![](_assets/GriefDefender-github.png) 它开源的代码只到 2021 年,往隔壁 Residence 旁边一站简直是卧龙凤雏 diff --git a/docs-java/process/plugin/protection/plotsquared.md b/src/content/docs/java/process/plugin/protection/plotsquared.md similarity index 100% rename from docs-java/process/plugin/protection/plotsquared.md rename to src/content/docs/java/process/plugin/protection/plotsquared.md diff --git a/docs-java/process/plugin/protection/protection.md b/src/content/docs/java/process/plugin/protection/protection.md similarity index 100% rename from docs-java/process/plugin/protection/protection.md rename to src/content/docs/java/process/plugin/protection/protection.md diff --git a/docs-java/process/plugin/protection/residence.md b/src/content/docs/java/process/plugin/protection/residence.md similarity index 100% rename from docs-java/process/plugin/protection/residence.md rename to src/content/docs/java/process/plugin/protection/residence.md diff --git a/docs-java/process/plugin/protection/towny.md b/src/content/docs/java/process/plugin/protection/towny.md similarity index 100% rename from docs-java/process/plugin/protection/towny.md rename to src/content/docs/java/process/plugin/protection/towny.md diff --git a/docs-java/process/plugin/world-management/_images/NoBuildPlus/banner_compat_nobuildplus_zh_CN.png b/src/content/docs/java/process/plugin/world-management/_assets/NoBuildPlus/banner_compat_nobuildplus_zh_CN.png similarity index 100% rename from docs-java/process/plugin/world-management/_images/NoBuildPlus/banner_compat_nobuildplus_zh_CN.png rename to src/content/docs/java/process/plugin/world-management/_assets/NoBuildPlus/banner_compat_nobuildplus_zh_CN.png diff --git a/docs-java/process/plugin/world-management/_images/NoBuildPlus/banner_deny_nobuildplus_zh_CN.png b/src/content/docs/java/process/plugin/world-management/_assets/NoBuildPlus/banner_deny_nobuildplus_zh_CN.png similarity index 100% rename from docs-java/process/plugin/world-management/_images/NoBuildPlus/banner_deny_nobuildplus_zh_CN.png rename to src/content/docs/java/process/plugin/world-management/_assets/NoBuildPlus/banner_deny_nobuildplus_zh_CN.png diff --git a/docs-java/process/plugin/world-management/_images/NoBuildPlus/banner_nobuildplus_zh_CN.png b/src/content/docs/java/process/plugin/world-management/_assets/NoBuildPlus/banner_nobuildplus_zh_CN.png similarity index 100% rename from docs-java/process/plugin/world-management/_images/NoBuildPlus/banner_nobuildplus_zh_CN.png rename to src/content/docs/java/process/plugin/world-management/_assets/NoBuildPlus/banner_nobuildplus_zh_CN.png diff --git a/docs-java/process/plugin/world-management/_images/NoBuildPlus/banner_type_nobuildplus_zh_CN.png b/src/content/docs/java/process/plugin/world-management/_assets/NoBuildPlus/banner_type_nobuildplus_zh_CN.png similarity index 100% rename from docs-java/process/plugin/world-management/_images/NoBuildPlus/banner_type_nobuildplus_zh_CN.png rename to src/content/docs/java/process/plugin/world-management/_assets/NoBuildPlus/banner_type_nobuildplus_zh_CN.png diff --git a/docs-java/process/plugin/world-management/_images/worldguard-logo.svg b/src/content/docs/java/process/plugin/world-management/_assets/worldguard-logo.svg similarity index 100% rename from docs-java/process/plugin/world-management/_images/worldguard-logo.svg rename to src/content/docs/java/process/plugin/world-management/_assets/worldguard-logo.svg diff --git a/docs-java/process/plugin/world-management/fastasyncworldedit.md b/src/content/docs/java/process/plugin/world-management/fastasyncworldedit.md similarity index 100% rename from docs-java/process/plugin/world-management/fastasyncworldedit.md rename to src/content/docs/java/process/plugin/world-management/fastasyncworldedit.md diff --git a/docs-java/process/plugin/world-management/law.md b/src/content/docs/java/process/plugin/world-management/law.md similarity index 100% rename from docs-java/process/plugin/world-management/law.md rename to src/content/docs/java/process/plugin/world-management/law.md diff --git a/docs-java/process/plugin/world-management/lobby/deluxehub.md b/src/content/docs/java/process/plugin/world-management/lobby/deluxehub.md similarity index 100% rename from docs-java/process/plugin/world-management/lobby/deluxehub.md rename to src/content/docs/java/process/plugin/world-management/lobby/deluxehub.md diff --git a/docs-java/process/plugin/world-management/lobby/deluxehubreloaded.md b/src/content/docs/java/process/plugin/world-management/lobby/deluxehubreloaded.md similarity index 100% rename from docs-java/process/plugin/world-management/lobby/deluxehubreloaded.md rename to src/content/docs/java/process/plugin/world-management/lobby/deluxehubreloaded.md diff --git a/docs-java/process/plugin/world-management/lobby/lobby.md b/src/content/docs/java/process/plugin/world-management/lobby/lobby.md similarity index 100% rename from docs-java/process/plugin/world-management/lobby/lobby.md rename to src/content/docs/java/process/plugin/world-management/lobby/lobby.md diff --git a/docs-java/process/plugin/world-management/lobby/superlobbydeluxe.md b/src/content/docs/java/process/plugin/world-management/lobby/superlobbydeluxe.md similarity index 100% rename from docs-java/process/plugin/world-management/lobby/superlobbydeluxe.md rename to src/content/docs/java/process/plugin/world-management/lobby/superlobbydeluxe.md diff --git a/docs-java/process/plugin/world-management/multiverse/_images/multiverse2-long.png b/src/content/docs/java/process/plugin/world-management/multiverse/_assets/multiverse2-long.png similarity index 100% rename from docs-java/process/plugin/world-management/multiverse/_images/multiverse2-long.png rename to src/content/docs/java/process/plugin/world-management/multiverse/_assets/multiverse2-long.png diff --git "a/docs-java/process/plugin/world-management/multiverse/_images/\344\270\255\346\226\207\344\270\226\347\225\214\345\220\215-1.png" "b/src/content/docs/java/process/plugin/world-management/multiverse/_assets/\344\270\255\346\226\207\344\270\226\347\225\214\345\220\215-1.png" similarity index 100% rename from "docs-java/process/plugin/world-management/multiverse/_images/\344\270\255\346\226\207\344\270\226\347\225\214\345\220\215-1.png" rename to "src/content/docs/java/process/plugin/world-management/multiverse/_assets/\344\270\255\346\226\207\344\270\226\347\225\214\345\220\215-1.png" diff --git "a/docs-java/process/plugin/world-management/multiverse/_images/\344\270\255\346\226\207\344\270\226\347\225\214\345\220\215-2.png" "b/src/content/docs/java/process/plugin/world-management/multiverse/_assets/\344\270\255\346\226\207\344\270\226\347\225\214\345\220\215-2.png" similarity index 100% rename from "docs-java/process/plugin/world-management/multiverse/_images/\344\270\255\346\226\207\344\270\226\347\225\214\345\220\215-2.png" rename to "src/content/docs/java/process/plugin/world-management/multiverse/_assets/\344\270\255\346\226\207\344\270\226\347\225\214\345\220\215-2.png" diff --git "a/docs-java/process/plugin/world-management/multiverse/_images/\344\270\255\346\226\207\344\270\226\347\225\214\345\220\215\344\271\261\347\240\201.png" "b/src/content/docs/java/process/plugin/world-management/multiverse/_assets/\344\270\255\346\226\207\344\270\226\347\225\214\345\220\215\344\271\261\347\240\201.png" similarity index 100% rename from "docs-java/process/plugin/world-management/multiverse/_images/\344\270\255\346\226\207\344\270\226\347\225\214\345\220\215\344\271\261\347\240\201.png" rename to "src/content/docs/java/process/plugin/world-management/multiverse/_assets/\344\270\255\346\226\207\344\270\226\347\225\214\345\220\215\344\271\261\347\240\201.png" diff --git a/docs-java/process/plugin/world-management/multiverse/faq1.md b/src/content/docs/java/process/plugin/world-management/multiverse/faq1.md similarity index 55% rename from docs-java/process/plugin/world-management/multiverse/faq1.md rename to src/content/docs/java/process/plugin/world-management/multiverse/faq1.md index 72fcb2194..00441110d 100644 --- a/docs-java/process/plugin/world-management/multiverse/faq1.md +++ b/src/content/docs/java/process/plugin/world-management/multiverse/faq1.md @@ -7,7 +7,7 @@ sidebar_label: 常见问题 1 ## 中文世界名乱码 -![](_images/中文世界名乱码.png) +![](_assets/中文世界名乱码.png) 不要用中文作为世界的名字,用英文。 @@ -15,20 +15,20 @@ sidebar_label: 常见问题 1 ## 世界别名 -![](_images/中文世界名-1.png) +![](_assets/中文世界名-1.png) -![](_images/中文世界名-2.png) +![](_assets/中文世界名-2.png) 所需插件: -- Multiverse-Core -- [PlaceHolderAPI](../../plugin-dependencies/placeholderapi/placeholderapi.md) -- [聊天插件](../../management-tool/chat/chat.md) -- [TAB 和计分板插件](../../misc/tab-scoreboard/tab-scoreboard.md) -- 其他你想展示中文世界名的插件 +- Multiverse-Core +- [PlaceHolderAPI](../../plugin-dependencies/placeholderapi/placeholderapi.md) +- [聊天插件](../../management-tool/chat/chat.md) +- [TAB 和计分板插件](../../misc/tab-scoreboard/tab-scoreboard.md) +- 其他你想展示中文世界名的插件 -- v4:安装 [papi 的 Multiverse 扩展](../../plugin-dependencies/placeholderapi/common-usage.md#multiverse) -- v5:无需安装,插件自动挂钩 papi +- v4:安装 [papi 的 Multiverse 扩展](../../plugin-dependencies/placeholderapi/common-usage.md#multiverse) +- v5:无需安装,插件自动挂钩 papi ## 设置别名 @@ -57,11 +57,11 @@ worlds: 解释: -- worlds - 插件检索的 YAML 节点,不用管 -- world - 主世界的默认本名 (可在 server.properties 修改) -- world_nether - 地狱的默认本名 -- world_the_end - 末地的默认本名 -- alias - 这个世界的别名 +- worlds - 插件检索的 YAML 节点,不用管 +- world - 主世界的默认本名 (可在 server.properties 修改) +- world_nether - 地狱的默认本名 +- world_the_end - 末地的默认本名 +- alias - 这个世界的别名 我们在 **alias: ''** 中 `''` 填入这个世界的别名 @@ -82,8 +82,8 @@ worlds: 将变量写到你想展示世界别名的插件配置里 -- `%multiverse_world_alias%` - v4 写法 -- `%multiverse-core_alias%` - v5 写法 +- `%multiverse_world_alias%` - v4 写法 +- `%multiverse-core_alias%` - v5 写法 当然,这个插件要支持使用 papi 变量 diff --git a/docs-java/process/plugin/world-management/multiverse/faq2.md b/src/content/docs/java/process/plugin/world-management/multiverse/faq2.md similarity index 100% rename from docs-java/process/plugin/world-management/multiverse/faq2.md rename to src/content/docs/java/process/plugin/world-management/multiverse/faq2.md diff --git a/docs-java/process/plugin/world-management/multiverse/multiverse.md b/src/content/docs/java/process/plugin/world-management/multiverse/multiverse.md similarity index 78% rename from docs-java/process/plugin/world-management/multiverse/multiverse.md rename to src/content/docs/java/process/plugin/world-management/multiverse/multiverse.md index 47686ff9f..4a73e6af6 100644 --- a/docs-java/process/plugin/world-management/multiverse/multiverse.md +++ b/src/content/docs/java/process/plugin/world-management/multiverse/multiverse.md @@ -6,7 +6,7 @@ sidebar_label: 多世界 - Multiverse # Multiverse -![](_images/multiverse2-long.png) +![](_assets/multiverse2-long.png) [![Modrinth](https://cdn.jsdmirror.cn/npm/@intergrav/devins-badges@3/assets/cozy/available/modrinth_vector.svg)](https://modrinth.com/plugin/multiverse-core) [![Hangar](https://cdn.jsdmirror.cn/npm/@intergrav/devins-badges@3/assets/cozy/available/hangar_vector.svg)](https://hangar.papermc.io/Multiverse/Multiverse-Core) @@ -21,10 +21,10 @@ sidebar_label: 多世界 - Multiverse ## 扩展 -- [Multiverse-NetherPortals](https://github.com/Multiverse/Multiverse-NetherPortals) -> 允许玩家创建能够带他们去指定世界的地狱传送门! -- [Multiverse-Portals](https://github.com/Multiverse/Multiverse-Portals) -> 创建传送到指定地点的传送门。 -- [Multiverse-Inventories](https://github.com/Multiverse/Multiverse-Inventories) -> 将玩家背包按世界隔离。 -- [Multiverse-SignPortals](https://github.com/Multiverse/Multiverse-SignPortals) -> 告示牌传送! +- [Multiverse-NetherPortals](https://github.com/Multiverse/Multiverse-NetherPortals) -> 允许玩家创建能够带他们去指定世界的地狱传送门! +- [Multiverse-Portals](https://github.com/Multiverse/Multiverse-Portals) -> 创建传送到指定地点的传送门。 +- [Multiverse-Inventories](https://github.com/Multiverse/Multiverse-Inventories) -> 将玩家背包按世界隔离。 +- [Multiverse-SignPortals](https://github.com/Multiverse/Multiverse-SignPortals) -> 告示牌传送! ## 链接 @@ -58,12 +58,12 @@ sidebar_label: 多世界 - Multiverse 要这么做的原因无非是因为一个服务器可能被作为大厅服务器,或者小游戏服务器无须其它世界。 -- 主世界 - 各类服务端均无法禁用。~~禁用了还玩什么?~~ -- 下界 - 在原版的配置文件 `server.properties` 中,将 `allow-nether` 设置为 `false`。 -- 末地 - 打开 Bukkit 配置文件 `bukkit.yml`,将 `settings` 中的 `allow-end` 设置为 `false`。 +- 主世界 + 各类服务端均无法禁用。~~禁用了还玩什么?~~ +- 下界 + 在原版的配置文件 `server.properties` 中,将 `allow-nether` 设置为 `false`。 +- 末地 + 打开 Bukkit 配置文件 `bukkit.yml`,将 `settings` 中的 `allow-end` 设置为 `false`。 在 `/plugins/Multiverse-Core/config.yml` 中,有这样的配置: @@ -90,8 +90,8 @@ Multiverse-Core [4.3.1](https://www.spigotmc.org/resources/multiverse-core.390/u 补丁 (只需安装其中一个): -- [Multiverse-Patches](https://www.spigotmc.org/resources/.96390) -- [Multiverse-Core Fix](https://www.spigotmc.org/resources/.70218) +- [Multiverse-Patches](https://www.spigotmc.org/resources/.96390) +- [Multiverse-Core Fix](https://www.spigotmc.org/resources/.70218) ## Bstats diff --git a/docs-java/process/plugin/world-management/myworld.md b/src/content/docs/java/process/plugin/world-management/myworld.md similarity index 100% rename from docs-java/process/plugin/world-management/myworld.md rename to src/content/docs/java/process/plugin/world-management/myworld.md diff --git a/docs-java/process/plugin/world-management/nobuildplus.md b/src/content/docs/java/process/plugin/world-management/nobuildplus.md similarity index 65% rename from docs-java/process/plugin/world-management/nobuildplus.md rename to src/content/docs/java/process/plugin/world-management/nobuildplus.md index 3c6529aed..8003647d6 100644 --- a/docs-java/process/plugin/world-management/nobuildplus.md +++ b/src/content/docs/java/process/plugin/world-management/nobuildplus.md @@ -5,13 +5,13 @@ sidebar_label: 保护 - NoBuildPlus # NoBuildPlus -## ![概览](_images/NoBuildPlus/banner_nobuildplus_zh_CN.png) +## ![概览](_assets/NoBuildPlus/banner_nobuildplus_zh_CN.png) -![](_images/NoBuildPlus/banner_type_nobuildplus_zh_CN.png) +![](_assets/NoBuildPlus/banner_type_nobuildplus_zh_CN.png) -![](_images/NoBuildPlus/banner_deny_nobuildplus_zh_CN.png) +![](_assets/NoBuildPlus/banner_deny_nobuildplus_zh_CN.png) -![](_images/NoBuildPlus/banner_compat_nobuildplus_zh_CN.png) +![](_assets/NoBuildPlus/banner_compat_nobuildplus_zh_CN.png) ## 链接 diff --git a/docs-java/process/plugin/world-management/world-management.md b/src/content/docs/java/process/plugin/world-management/world-management.md similarity index 100% rename from docs-java/process/plugin/world-management/world-management.md rename to src/content/docs/java/process/plugin/world-management/world-management.md diff --git a/docs-java/process/plugin/world-management/worldedit.md b/src/content/docs/java/process/plugin/world-management/worldedit.md similarity index 100% rename from docs-java/process/plugin/world-management/worldedit.md rename to src/content/docs/java/process/plugin/world-management/worldedit.md diff --git a/docs-java/process/plugin/world-management/worldgen/_images/terra-1.png b/src/content/docs/java/process/plugin/world-management/worldgen/_assets/terra-1.png similarity index 100% rename from docs-java/process/plugin/world-management/worldgen/_images/terra-1.png rename to src/content/docs/java/process/plugin/world-management/worldgen/_assets/terra-1.png diff --git a/docs-java/process/plugin/world-management/worldgen/_images/terra-2.png b/src/content/docs/java/process/plugin/world-management/worldgen/_assets/terra-2.png similarity index 100% rename from docs-java/process/plugin/world-management/worldgen/_images/terra-2.png rename to src/content/docs/java/process/plugin/world-management/worldgen/_assets/terra-2.png diff --git a/docs-java/process/plugin/world-management/worldgen/_images/terra-3.png b/src/content/docs/java/process/plugin/world-management/worldgen/_assets/terra-3.png similarity index 100% rename from docs-java/process/plugin/world-management/worldgen/_images/terra-3.png rename to src/content/docs/java/process/plugin/world-management/worldgen/_assets/terra-3.png diff --git a/docs-java/process/plugin/world-management/worldgen/_images/terra-4.png b/src/content/docs/java/process/plugin/world-management/worldgen/_assets/terra-4.png similarity index 100% rename from docs-java/process/plugin/world-management/worldgen/_images/terra-4.png rename to src/content/docs/java/process/plugin/world-management/worldgen/_assets/terra-4.png diff --git a/docs-java/process/plugin/world-management/worldgen/_images/terra-5.png b/src/content/docs/java/process/plugin/world-management/worldgen/_assets/terra-5.png similarity index 100% rename from docs-java/process/plugin/world-management/worldgen/_images/terra-5.png rename to src/content/docs/java/process/plugin/world-management/worldgen/_assets/terra-5.png diff --git a/docs-java/process/plugin/world-management/worldgen/_images/terra-community-1.png b/src/content/docs/java/process/plugin/world-management/worldgen/_assets/terra-community-1.png similarity index 100% rename from docs-java/process/plugin/world-management/worldgen/_images/terra-community-1.png rename to src/content/docs/java/process/plugin/world-management/worldgen/_assets/terra-community-1.png diff --git a/docs-java/process/plugin/world-management/worldgen/_images/terra-community-2.png b/src/content/docs/java/process/plugin/world-management/worldgen/_assets/terra-community-2.png similarity index 100% rename from docs-java/process/plugin/world-management/worldgen/_images/terra-community-2.png rename to src/content/docs/java/process/plugin/world-management/worldgen/_assets/terra-community-2.png diff --git a/docs-java/process/plugin/world-management/worldgen/_images/terra-community-3.png b/src/content/docs/java/process/plugin/world-management/worldgen/_assets/terra-community-3.png similarity index 100% rename from docs-java/process/plugin/world-management/worldgen/_images/terra-community-3.png rename to src/content/docs/java/process/plugin/world-management/worldgen/_assets/terra-community-3.png diff --git a/docs-java/process/plugin/world-management/worldgen/_images/terra-community-4.png b/src/content/docs/java/process/plugin/world-management/worldgen/_assets/terra-community-4.png similarity index 100% rename from docs-java/process/plugin/world-management/worldgen/_images/terra-community-4.png rename to src/content/docs/java/process/plugin/world-management/worldgen/_assets/terra-community-4.png diff --git a/docs-java/process/plugin/world-management/worldgen/_images/terra-community-5.png b/src/content/docs/java/process/plugin/world-management/worldgen/_assets/terra-community-5.png similarity index 100% rename from docs-java/process/plugin/world-management/worldgen/_images/terra-community-5.png rename to src/content/docs/java/process/plugin/world-management/worldgen/_assets/terra-community-5.png diff --git a/docs-java/process/plugin/world-management/worldgen/_images/terra-community-6.png b/src/content/docs/java/process/plugin/world-management/worldgen/_assets/terra-community-6.png similarity index 100% rename from docs-java/process/plugin/world-management/worldgen/_images/terra-community-6.png rename to src/content/docs/java/process/plugin/world-management/worldgen/_assets/terra-community-6.png diff --git a/docs-java/process/plugin/world-management/worldgen/_images/terra-community-7.png b/src/content/docs/java/process/plugin/world-management/worldgen/_assets/terra-community-7.png similarity index 100% rename from docs-java/process/plugin/world-management/worldgen/_images/terra-community-7.png rename to src/content/docs/java/process/plugin/world-management/worldgen/_assets/terra-community-7.png diff --git a/docs-java/process/plugin/world-management/worldgen/irisworldgen.md b/src/content/docs/java/process/plugin/world-management/worldgen/irisworldgen.md similarity index 100% rename from docs-java/process/plugin/world-management/worldgen/irisworldgen.md rename to src/content/docs/java/process/plugin/world-management/worldgen/irisworldgen.md diff --git a/docs-java/process/plugin/world-management/worldgen/terra.md b/src/content/docs/java/process/plugin/world-management/worldgen/terra.md similarity index 67% rename from docs-java/process/plugin/world-management/worldgen/terra.md rename to src/content/docs/java/process/plugin/world-management/worldgen/terra.md index da3ac4764..afd675441 100644 --- a/docs-java/process/plugin/world-management/worldgen/terra.md +++ b/src/content/docs/java/process/plugin/world-management/worldgen/terra.md @@ -9,31 +9,31 @@ sidebar_position: 1 ## 官方预设 -![](_images/terra-1.png) +![](_assets/terra-1.png) -![](_images/terra-2.png) +![](_assets/terra-2.png) -![](_images/terra-3.png) +![](_assets/terra-3.png) -![](_images/terra-4.png) +![](_assets/terra-4.png) -![](_images/terra-5.png) +![](_assets/terra-5.png) ## 社区扩展 -![](_images/terra-community-1.png) +![](_assets/terra-community-1.png) -![](_images/terra-community-2.png) +![](_assets/terra-community-2.png) -![](_images/terra-community-3.png) +![](_assets/terra-community-3.png) -![](_images/terra-community-4.png) +![](_assets/terra-community-4.png) -![](_images/terra-community-5.png) +![](_assets/terra-community-5.png) -![](_images/terra-community-6.png) +![](_assets/terra-community-6.png) -![](_images/terra-community-7.png) +![](_assets/terra-community-7.png) ## 链接 diff --git a/docs-java/process/plugin/world-management/worldgen/terraformgenerator.md b/src/content/docs/java/process/plugin/world-management/worldgen/terraformgenerator.md similarity index 100% rename from docs-java/process/plugin/world-management/worldgen/terraformgenerator.md rename to src/content/docs/java/process/plugin/world-management/worldgen/terraformgenerator.md diff --git a/docs-java/process/plugin/world-management/worldgen/worldgen.md b/src/content/docs/java/process/plugin/world-management/worldgen/worldgen.md similarity index 100% rename from docs-java/process/plugin/world-management/worldgen/worldgen.md rename to src/content/docs/java/process/plugin/world-management/worldgen/worldgen.md diff --git a/docs-java/process/plugin/world-management/worldguard.md b/src/content/docs/java/process/plugin/world-management/worldguard.md similarity index 55% rename from docs-java/process/plugin/world-management/worldguard.md rename to src/content/docs/java/process/plugin/world-management/worldguard.md index 30e72b215..98385ead7 100644 --- a/docs-java/process/plugin/world-management/worldguard.md +++ b/src/content/docs/java/process/plugin/world-management/worldguard.md @@ -5,7 +5,7 @@ sidebar_label: 保护 - WorldGuard # WorldGuard -![](_images/worldguard-logo.svg) +![](_assets/worldguard-logo.svg)

保护你的服务器!

@@ -15,16 +15,16 @@ sidebar_label: 保护 - WorldGuard WorldGuard 可以保护你的区域或世界,使他们免受破坏,或者调整其他选项如: -- 阻止潜行者(Creeper)和凋零(Wither)方块造成的伤害、坠落伤害等。 -- 禁用火焰蔓延、岩浆火焰蔓延、冰形成、末影人(Enderman)捡起方块等功能。 -- 将某些物品和方块列入黑名单,使其无法使用。 -- 当使用某些物品和方块时,向管理员发出警告。 -- 保护您世界中的特定区域,使其只有特定的人才能在其中建造。 -- 设置区域,在这些区域中禁用玩家 PVP、TNT、怪物伤害以及其他功能。 -- 保护您的服务器免受各种“漏洞”的影响,如 magical obsidian creation machines。 -- 禁用或启用 Minecraft 的各种功能,如经典的海绵。 -- 添加有用的命令,如立即“停止所有火焰蔓延”的命令。 -- 只启用你想要的功能!默认情况下,所有功能都是关闭的。 +- 阻止潜行者(Creeper)和凋零(Wither)方块造成的伤害、坠落伤害等。 +- 禁用火焰蔓延、岩浆火焰蔓延、冰形成、末影人(Enderman)捡起方块等功能。 +- 将某些物品和方块列入黑名单,使其无法使用。 +- 当使用某些物品和方块时,向管理员发出警告。 +- 保护您世界中的特定区域,使其只有特定的人才能在其中建造。 +- 设置区域,在这些区域中禁用玩家 PVP、TNT、怪物伤害以及其他功能。 +- 保护您的服务器免受各种“漏洞”的影响,如 magical obsidian creation machines。 +- 禁用或启用 Minecraft 的各种功能,如经典的海绵。 +- 添加有用的命令,如立即“停止所有火焰蔓延”的命令。 +- 只启用你想要的功能!默认情况下,所有功能都是关闭的。 ## 链接 diff --git a/docs-java/process/process.md b/src/content/docs/java/process/process.md similarity index 100% rename from docs-java/process/process.md rename to src/content/docs/java/process/process.md diff --git a/docs-java/process/redstone/mchprs.md b/src/content/docs/java/process/redstone/mchprs.md similarity index 100% rename from docs-java/process/redstone/mchprs.md rename to src/content/docs/java/process/redstone/mchprs.md diff --git a/docs-java/process/redstone/mod.md b/src/content/docs/java/process/redstone/mod.md similarity index 100% rename from docs-java/process/redstone/mod.md rename to src/content/docs/java/process/redstone/mod.md diff --git a/docs-java/process/redstone/plugin.md b/src/content/docs/java/process/redstone/plugin.md similarity index 100% rename from docs-java/process/redstone/plugin.md rename to src/content/docs/java/process/redstone/plugin.md diff --git a/docs-java/process/redstone/redstone.md b/src/content/docs/java/process/redstone/redstone.md similarity index 100% rename from docs-java/process/redstone/redstone.md rename to src/content/docs/java/process/redstone/redstone.md diff --git a/docs-java/start/_images/1.png b/src/content/docs/java/start/_assets/1.png similarity index 100% rename from docs-java/start/_images/1.png rename to src/content/docs/java/start/_assets/1.png diff --git a/docs-java/start/_images/2.png b/src/content/docs/java/start/_assets/2.png similarity index 100% rename from docs-java/start/_images/2.png rename to src/content/docs/java/start/_assets/2.png diff --git a/docs-java/start/_images/3.png b/src/content/docs/java/start/_assets/3.png similarity index 100% rename from docs-java/start/_images/3.png rename to src/content/docs/java/start/_assets/3.png diff --git a/docs-java/start/_images/4.png b/src/content/docs/java/start/_assets/4.png similarity index 100% rename from docs-java/start/_images/4.png rename to src/content/docs/java/start/_assets/4.png diff --git a/docs-java/start/_images/5.png b/src/content/docs/java/start/_assets/5.png similarity index 100% rename from docs-java/start/_images/5.png rename to src/content/docs/java/start/_assets/5.png diff --git a/docs-java/start/_images/install/1.png b/src/content/docs/java/start/_assets/install/1.png similarity index 100% rename from docs-java/start/_images/install/1.png rename to src/content/docs/java/start/_assets/install/1.png diff --git a/docs-java/start/_images/install/2.png b/src/content/docs/java/start/_assets/install/2.png similarity index 100% rename from docs-java/start/_images/install/2.png rename to src/content/docs/java/start/_assets/install/2.png diff --git a/docs-java/start/_images/install/3.png b/src/content/docs/java/start/_assets/install/3.png similarity index 100% rename from docs-java/start/_images/install/3.png rename to src/content/docs/java/start/_assets/install/3.png diff --git a/docs-java/start/_images/install/4.png b/src/content/docs/java/start/_assets/install/4.png similarity index 100% rename from docs-java/start/_images/install/4.png rename to src/content/docs/java/start/_assets/install/4.png diff --git "a/docs-java/start/_images/\345\270\270\350\247\201\351\227\256\351\242\230/\345\260\217\345\234\260\347\220\203.png" "b/src/content/docs/java/start/_assets/\345\270\270\350\247\201\351\227\256\351\242\230/\345\260\217\345\234\260\347\220\203.png" similarity index 100% rename from "docs-java/start/_images/\345\270\270\350\247\201\351\227\256\351\242\230/\345\260\217\345\234\260\347\220\203.png" rename to "src/content/docs/java/start/_assets/\345\270\270\350\247\201\351\227\256\351\242\230/\345\260\217\345\234\260\347\220\203.png" diff --git "a/docs-java/start/_images/\346\226\207\344\273\266\350\265\204\346\272\220\347\256\241\347\220\206\345\231\250.jpg" "b/src/content/docs/java/start/_assets/\346\226\207\344\273\266\350\265\204\346\272\220\347\256\241\347\220\206\345\231\250.jpg" similarity index 100% rename from "docs-java/start/_images/\346\226\207\344\273\266\350\265\204\346\272\220\347\256\241\347\220\206\345\231\250.jpg" rename to "src/content/docs/java/start/_assets/\346\226\207\344\273\266\350\265\204\346\272\220\347\256\241\347\220\206\345\231\250.jpg" diff --git "a/docs-java/start/_images/\346\227\240\346\225\210\344\274\232\350\257\235.png" "b/src/content/docs/java/start/_assets/\346\227\240\346\225\210\344\274\232\350\257\235.png" similarity index 100% rename from "docs-java/start/_images/\346\227\240\346\225\210\344\274\232\350\257\235.png" rename to "src/content/docs/java/start/_assets/\346\227\240\346\225\210\344\274\232\350\257\235.png" diff --git a/docs-java/start/ask-for-help.md b/src/content/docs/java/start/ask-for-help.md similarity index 100% rename from docs-java/start/ask-for-help.md rename to src/content/docs/java/start/ask-for-help.md diff --git a/docs-java/start/basic/_images/command-1.png b/src/content/docs/java/start/basic/_assets/command-1.png similarity index 100% rename from docs-java/start/basic/_images/command-1.png rename to src/content/docs/java/start/basic/_assets/command-1.png diff --git a/docs-java/start/basic/_images/command-2.png b/src/content/docs/java/start/basic/_assets/command-2.png similarity index 100% rename from docs-java/start/basic/_images/command-2.png rename to src/content/docs/java/start/basic/_assets/command-2.png diff --git a/docs-java/start/basic/_images/command-3.png b/src/content/docs/java/start/basic/_assets/command-3.png similarity index 100% rename from docs-java/start/basic/_images/command-3.png rename to src/content/docs/java/start/basic/_assets/command-3.png diff --git a/docs-java/start/basic/_images/command-4.png b/src/content/docs/java/start/basic/_assets/command-4.png similarity index 100% rename from docs-java/start/basic/_images/command-4.png rename to src/content/docs/java/start/basic/_assets/command-4.png diff --git a/docs/start/basic/_images/nogui.jpg b/src/content/docs/java/start/basic/_assets/nogui.jpg similarity index 100% rename from docs/start/basic/_images/nogui.jpg rename to src/content/docs/java/start/basic/_assets/nogui.jpg diff --git "a/docs-java/start/basic/_images/\345\246\231\345\246\231\346\257\224\345\226\273.png" "b/src/content/docs/java/start/basic/_assets/\345\246\231\345\246\231\346\257\224\345\226\273.png" similarity index 100% rename from "docs-java/start/basic/_images/\345\246\231\345\246\231\346\257\224\345\226\273.png" rename to "src/content/docs/java/start/basic/_assets/\345\246\231\345\246\231\346\257\224\345\226\273.png" diff --git a/docs-java/start/basic/basic.md b/src/content/docs/java/start/basic/basic.md similarity index 100% rename from docs-java/start/basic/basic.md rename to src/content/docs/java/start/basic/basic.md diff --git a/docs-java/start/basic/relationship-between-servers.md b/src/content/docs/java/start/basic/relationship-between-servers.md similarity index 100% rename from docs-java/start/basic/relationship-between-servers.md rename to src/content/docs/java/start/basic/relationship-between-servers.md diff --git a/docs-java/start/basic/server-dir-structure.mdx b/src/content/docs/java/start/basic/server-dir-structure.mdx similarity index 100% rename from docs-java/start/basic/server-dir-structure.mdx rename to src/content/docs/java/start/basic/server-dir-structure.mdx diff --git a/docs-java/start/basic/server-management-command.md b/src/content/docs/java/start/basic/server-management-command.md similarity index 100% rename from docs-java/start/basic/server-management-command.md rename to src/content/docs/java/start/basic/server-management-command.md diff --git a/docs-java/start/basic/what-is-datapack.mdx b/src/content/docs/java/start/basic/what-is-datapack.mdx similarity index 100% rename from docs-java/start/basic/what-is-datapack.mdx rename to src/content/docs/java/start/basic/what-is-datapack.mdx diff --git a/docs-java/start/basic/what-is-lag.md b/src/content/docs/java/start/basic/what-is-lag.md similarity index 100% rename from docs-java/start/basic/what-is-lag.md rename to src/content/docs/java/start/basic/what-is-lag.md diff --git a/docs-java/start/basic/what-is-log.md b/src/content/docs/java/start/basic/what-is-log.md similarity index 100% rename from docs-java/start/basic/what-is-log.md rename to src/content/docs/java/start/basic/what-is-log.md diff --git a/docs-java/start/basic/what-is-mod.md b/src/content/docs/java/start/basic/what-is-mod.md similarity index 100% rename from docs-java/start/basic/what-is-mod.md rename to src/content/docs/java/start/basic/what-is-mod.md diff --git a/docs-java/start/basic/what-is-namespace.md b/src/content/docs/java/start/basic/what-is-namespace.md similarity index 86% rename from docs-java/start/basic/what-is-namespace.md rename to src/content/docs/java/start/basic/what-is-namespace.md index eee98c412..db7271926 100644 --- a/docs-java/start/basic/what-is-namespace.md +++ b/src/content/docs/java/start/basic/what-is-namespace.md @@ -9,7 +9,7 @@ sidebar_position: 8 如果比喻一下的话,就像是 -![](_images/妙妙比喻.png) +![](_assets/妙妙比喻.png) 你的 "桌面" 上有几个命名空间(文件夹),这几个命名空间不能重名,命名空间里的东西可以重名 @@ -19,8 +19,8 @@ sidebar_position: 8 例如,在上面的比喻中: -- 左侧的 ID a.txt 表示为 命名空间 A:ID a.txt -- 右侧的 ID a.txt 表示为 命名空间 B:ID a.txt +- 左侧的 ID a.txt 表示为 命名空间 A:ID a.txt +- 右侧的 ID a.txt 表示为 命名空间 B:ID a.txt ## 物品 @@ -36,19 +36,19 @@ sidebar_position: 8 例如,当你安装 EssentialsX 之后,原版 tp 命令会被覆盖 -![](_images/command-1.png) +![](_assets/command-1.png) 而同时安装 EssentialsX 和 HuskHomes 之后,使用 tp 是 HuskHomes 提供的 -![](_images/command-2.png) +![](_assets/command-2.png) 如果此时你想使用 EssentialsX 的而不是 HuskHomes 的,可以使用命名空间 -![](_images/command-3.png) +![](_assets/command-3.png) 当然,你也可以使用原版命令,原版命名空间是 `minecraft` -![](_images/command-4.png) +![](_assets/command-4.png) 通常,你作为用户不能调整优先级,这是插件开发者才能做的事 diff --git a/docs-java/start/basic/what-is-nbt.md b/src/content/docs/java/start/basic/what-is-nbt.md similarity index 100% rename from docs-java/start/basic/what-is-nbt.md rename to src/content/docs/java/start/basic/what-is-nbt.md diff --git a/docs-java/start/basic/what-is-permission.md b/src/content/docs/java/start/basic/what-is-permission.md similarity index 100% rename from docs-java/start/basic/what-is-permission.md rename to src/content/docs/java/start/basic/what-is-permission.md diff --git a/docs-java/start/basic/what-is-plugin.md b/src/content/docs/java/start/basic/what-is-plugin.md similarity index 100% rename from docs-java/start/basic/what-is-plugin.md rename to src/content/docs/java/start/basic/what-is-plugin.md diff --git a/docs-java/start/basic/what-is-server.md b/src/content/docs/java/start/basic/what-is-server.md similarity index 100% rename from docs-java/start/basic/what-is-server.md rename to src/content/docs/java/start/basic/what-is-server.md diff --git a/docs-java/start/basic/what-is-startup-script.md b/src/content/docs/java/start/basic/what-is-startup-script.md similarity index 100% rename from docs-java/start/basic/what-is-startup-script.md rename to src/content/docs/java/start/basic/what-is-startup-script.md diff --git a/docs-java/start/basic/what-is-world.md b/src/content/docs/java/start/basic/what-is-world.md similarity index 100% rename from docs-java/start/basic/what-is-world.md rename to src/content/docs/java/start/basic/what-is-world.md diff --git a/docs-java/start/config-server.md b/src/content/docs/java/start/config-server.md similarity index 94% rename from docs-java/start/config-server.md rename to src/content/docs/java/start/config-server.md index 4059e8d29..af42fa218 100644 --- a/docs-java/start/config-server.md +++ b/src/content/docs/java/start/config-server.md @@ -19,10 +19,10 @@ sidebar_position: 5 目前可以配置的 -- 服务器端口 -- 正版验证 -- 服务器种子 -- 最大玩家数 +- 服务器端口 +- 正版验证 +- 服务器种子 +- 最大玩家数 ## server.proprites @@ -36,7 +36,7 @@ online-mode=true 正版验证默认被开启,不关闭正版验证的话盗版玩家是不能加入游戏的。如果你没有用正版启动游戏,那么加入服务器会出现: -![](_images/无效会话.png) +![](_assets/无效会话.png) 如果你想关闭正版验证,将 `true` 改为 `false` ,保存,重启服务端 @@ -104,10 +104,10 @@ difficulty=hard 支持以下值 -- peaceful / 0 - 和平 -- easy / 1 - 简单 -- normal / 2 - 普通 -- hard / 3 - 困难 +- peaceful / 0 - 和平 +- easy / 1 - 简单 +- normal / 2 - 普通 +- hard / 3 - 困难 ### 出生点保护 @@ -145,10 +145,10 @@ gamemode=survival 支持以下模式 -- survival / 0 - 生存 -- creative / 1 - 创造 -- adventure / 2 - 冒险 -- spectator / 3 - 旁观 +- survival / 0 - 生存 +- creative / 1 - 创造 +- adventure / 2 - 冒险 +- spectator / 3 - 旁观 ### 强制游戏模式 diff --git a/docs-java/start/connect-to-server.md b/src/content/docs/java/start/connect-to-server.md similarity index 100% rename from docs-java/start/connect-to-server.md rename to src/content/docs/java/start/connect-to-server.md diff --git a/docs-java/start/deploy.md b/src/content/docs/java/start/deploy.md similarity index 100% rename from docs-java/start/deploy.md rename to src/content/docs/java/start/deploy.md diff --git a/docs-java/start/install-server.md b/src/content/docs/java/start/install-server.md similarity index 98% rename from docs-java/start/install-server.md rename to src/content/docs/java/start/install-server.md index db9eaf460..6434f15d8 100644 --- a/docs-java/start/install-server.md +++ b/src/content/docs/java/start/install-server.md @@ -25,15 +25,15 @@ import TabItem from '@theme/TabItem'; 首先,来到 [Forge 官方网站](https://files.minecraftforge.net/net/minecraftforge/forge/) 或国内下载镜像 [MCSL](https://sync.mcsl.com.cn/core/Forge) -![](_images/install/1.png) +![](_assets/install/1.png) 在左边的 `Minecraft Version` 找到你需要的版本,然后点击。 -![](_images/install/2.png) +![](_assets/install/2.png) 请选择 `Installer` ,左边右边都无所谓,打开后,你会来到一个广告窗口,点击最上面的 `SKIP` (没有出现就等一会,如果网站始终无法正常加载,请换用上文提到的国内下载镜像 **MCSL**) -![](_images/install/3.png) +![](_assets/install/3.png) 然后你就成功下载了 `Forge Installer`。然而由于 MC 的 eula 限制,Forge Installer 不会内含 Minecraft 服务端本体,所以现在我们需要去单独下载一个 `Minecraft server` 本体。 @@ -49,7 +49,7 @@ import TabItem from '@theme/TabItem'; 比如 1.20.4 服务器应该是 `minecraft_server.1.20.4.jar` ,现在你的目录应该长这样 -![](_images/install/4.png) +![](_assets/install/4.png) ### 从 Mojang 官方下载 diff --git a/docs-java/start/launch-server.md b/src/content/docs/java/start/launch-server.md similarity index 97% rename from docs-java/start/launch-server.md rename to src/content/docs/java/start/launch-server.md index 1b36c46e3..bf4b3620d 100644 --- a/docs-java/start/launch-server.md +++ b/src/content/docs/java/start/launch-server.md @@ -26,7 +26,7 @@ sidebar_position: 4 就像你的文件资源管理器 -![](_images/文件资源管理器.jpg) +![](_assets/文件资源管理器.jpg) (估计有人不知道文件资源管理器是什么,所以放张图) @@ -40,17 +40,17 @@ sidebar_position: 4 现在你把下载好的服务端核心放到一个空文件夹里 -![](_images/1.png) +![](_assets/1.png) 点击地址栏,输入 cmd 然后回车,就会在这个路径下打开 cmd -![](_images/2.png) +![](_assets/2.png) 或者用别的办法打开 cmd,然后用 cd 命令切换路径 [怎么用 cd 命令切换到另一个目录](https://cn.bing.com/search?q=%E6%80%8E%E4%B9%88%E7%94%A8cd%E5%91%BD%E4%BB%A4%E5%88%87%E6%8D%A2%E5%88%B0%E5%8F%A6%E4%B8%80%E4%B8%AA%E7%9B%AE%E5%BD%95) -![](_images/3.png) +![](_assets/3.png)
@@ -60,7 +60,7 @@ sidebar_position: 4 现在你把下载好的服务端核心放到一个空文件夹里 -![](_images/1.png) +![](_assets/1.png) 在这个文件夹里创建一个 txt 文件,重命名为 bat 后缀的文件 如 `start.bat` @@ -191,7 +191,7 @@ import GlobalContent from '@site/src/components/GlobalContent' 记得让小地球变绿 -![](_images/常见问题/小地球.png) +![](_assets/常见问题/小地球.png) ::: @@ -244,13 +244,13 @@ java -Xms2G -Xmx2G -jar server.jar --nogui 像这样: -![](_images/4.png) +![](_assets/4.png) 启动后报错,此时我们可以查看文件后缀名 ([不懂如何打开请点这里](https://cn.bing.com/search?q=%E5%A6%82%E4%BD%95%E6%9F%A5%E7%9C%8B%E6%96%87%E4%BB%B6%E5%90%8E%E7%BC%80%E5%90%8D)) 然后你就会看到这样的惊奇一幕 -![](_images/5.png) +![](_assets/5.png) 此时,你只需要把 `xxx.jar.jar` 改成 `xxx.jar` 就可以正常启动了 diff --git a/docs-java/start/server-core-choose/_images/Beast.jpg b/src/content/docs/java/start/server-core-choose/_assets/Beast.jpg similarity index 100% rename from docs-java/start/server-core-choose/_images/Beast.jpg rename to src/content/docs/java/start/server-core-choose/_assets/Beast.jpg diff --git a/docs-java/start/server-core-choose/_images/LightingLuminol.png b/src/content/docs/java/start/server-core-choose/_assets/LightingLuminol.png similarity index 100% rename from docs-java/start/server-core-choose/_images/LightingLuminol.png rename to src/content/docs/java/start/server-core-choose/_assets/LightingLuminol.png diff --git a/docs-java/start/server-core-choose/_images/Luminol.png b/src/content/docs/java/start/server-core-choose/_assets/Luminol.png similarity index 100% rename from docs-java/start/server-core-choose/_images/Luminol.png rename to src/content/docs/java/start/server-core-choose/_assets/Luminol.png diff --git a/docs-java/start/server-core-choose/_images/NeoForge.png b/src/content/docs/java/start/server-core-choose/_assets/NeoForge.png similarity index 100% rename from docs-java/start/server-core-choose/_images/NeoForge.png rename to src/content/docs/java/start/server-core-choose/_assets/NeoForge.png diff --git a/docs-java/start/server-core-choose/_images/Quilt.svg b/src/content/docs/java/start/server-core-choose/_assets/Quilt.svg similarity index 100% rename from docs-java/start/server-core-choose/_images/Quilt.svg rename to src/content/docs/java/start/server-core-choose/_assets/Quilt.svg diff --git a/docs-java/start/server-core-choose/_images/Sinytra_Connector.png b/src/content/docs/java/start/server-core-choose/_assets/Sinytra_Connector.png similarity index 100% rename from docs-java/start/server-core-choose/_images/Sinytra_Connector.png rename to src/content/docs/java/start/server-core-choose/_assets/Sinytra_Connector.png diff --git a/docs-java/start/server-core-choose/_images/folia.webp b/src/content/docs/java/start/server-core-choose/_assets/folia.webp similarity index 100% rename from docs-java/start/server-core-choose/_images/folia.webp rename to src/content/docs/java/start/server-core-choose/_assets/folia.webp diff --git a/docs-java/start/server-core-choose/_images/leaf.png b/src/content/docs/java/start/server-core-choose/_assets/leaf.png similarity index 100% rename from docs-java/start/server-core-choose/_images/leaf.png rename to src/content/docs/java/start/server-core-choose/_assets/leaf.png diff --git a/docs-java/start/server-core-choose/_images/leaves.svg b/src/content/docs/java/start/server-core-choose/_assets/leaves.svg similarity index 100% rename from docs-java/start/server-core-choose/_images/leaves.svg rename to src/content/docs/java/start/server-core-choose/_assets/leaves.svg diff --git a/docs-java/start/server-core-choose/_images/papermc-wild.svg b/src/content/docs/java/start/server-core-choose/_assets/papermc-wild.svg similarity index 100% rename from docs-java/start/server-core-choose/_images/papermc-wild.svg rename to src/content/docs/java/start/server-core-choose/_assets/papermc-wild.svg diff --git a/docs-java/start/server-core-choose/_images/purpur.png b/src/content/docs/java/start/server-core-choose/_assets/purpur.png similarity index 100% rename from docs-java/start/server-core-choose/_images/purpur.png rename to src/content/docs/java/start/server-core-choose/_assets/purpur.png diff --git a/docs-java/start/server-core-choose/_images/sponge.png b/src/content/docs/java/start/server-core-choose/_assets/sponge.png similarity index 100% rename from docs-java/start/server-core-choose/_images/sponge.png rename to src/content/docs/java/start/server-core-choose/_assets/sponge.png diff --git "a/docs-java/start/server-core-choose/_images/\351\202\243\344\272\233\346\234\215\345\212\241\347\253\257\346\234\211\345\220\216\351\227\250\345\220\227.png" "b/src/content/docs/java/start/server-core-choose/_assets/\351\202\243\344\272\233\346\234\215\345\212\241\347\253\257\346\234\211\345\220\216\351\227\250\345\220\227.png" similarity index 100% rename from "docs-java/start/server-core-choose/_images/\351\202\243\344\272\233\346\234\215\345\212\241\347\253\257\346\234\211\345\220\216\351\227\250\345\220\227.png" rename to "src/content/docs/java/start/server-core-choose/_assets/\351\202\243\344\272\233\346\234\215\345\212\241\347\253\257\346\234\211\345\220\216\351\227\250\345\220\227.png" diff --git a/docs-java/start/server-core-choose/folia/folia.md b/src/content/docs/java/start/server-core-choose/folia/folia.md similarity index 80% rename from docs-java/start/server-core-choose/folia/folia.md rename to src/content/docs/java/start/server-core-choose/folia/folia.md index 49699cec0..a58298a80 100644 --- a/docs-java/start/server-core-choose/folia/folia.md +++ b/src/content/docs/java/start/server-core-choose/folia/folia.md @@ -6,7 +6,7 @@ sidebar_position: 4 # Folia -![](../_images/folia.webp) +![](../_assets/folia.webp) Folia 是 Paper 的一个分支,由 Spottedleaf 开发。 @@ -42,9 +42,9 @@ Folia 完全破坏了 Bukkit 插件的兼容性,每个 Bukkit 插件都必须 Folia 这么好,但并不是每个服务器都可以体验的,你需要确保你的服务器符合以下条件,这样才可以从 Folia 中受益 -- 16 个 **物理** CPU 核心 -- 玩家较为分散 (生存多人游戏、无政府、空岛或一些迷你游戏服务器) -- 你需要的插件支持 Folia +- 16 个 **物理** CPU 核心 +- 玩家较为分散 (生存多人游戏、无政府、空岛或一些迷你游戏服务器) +- 你需要的插件支持 Folia 如果你不符合,去用 Leaf 吧,符合的话继续看下去! @@ -75,13 +75,13 @@ flowchart TD ### 主要分支 -- **[Luminol](luminol.md)** - 性能、稳定性和功能的最佳平衡,包含 Lophine 生电分支 (1.21+) -- **[其他分支](misc.md)** - 包含 Molia、DeerFolia、Kaiiju 等 +- **[Luminol](luminol.md)** - 性能、稳定性和功能的最佳平衡,包含 Lophine 生电分支 (1.21+) +- **[其他分支](misc.md)** - 包含 Molia、DeerFolia、Kaiiju 等 ### 快速下载 如果你已经确定要使用的分支,可以直接从以下镜像下载: -- [Folia](https://mcres.cn/downloads/folia.html) -- [Luminol & Lophine](https://mcres.cn/downloads/luminol.html) -- [更多分支下载](misc.md) +- [Folia](https://mcres.cn/downloads/folia.html) +- [Luminol & Lophine](https://mcres.cn/downloads/luminol.html) +- [更多分支下载](misc.md) diff --git a/docs-java/start/server-core-choose/folia/luminol.md b/src/content/docs/java/start/server-core-choose/folia/luminol.md similarity index 72% rename from docs-java/start/server-core-choose/folia/luminol.md rename to src/content/docs/java/start/server-core-choose/folia/luminol.md index 8f3156163..b21ae61a7 100644 --- a/docs-java/start/server-core-choose/folia/luminol.md +++ b/src/content/docs/java/start/server-core-choose/folia/luminol.md @@ -5,7 +5,7 @@ sidebar_position: 1 # Luminol -![](../_images/Luminol.png) +![](../_assets/Luminol.png) Luminol 是一个非常棒的 Folia 分支! @@ -17,7 +17,7 @@ Luminol 是一个非常棒的 Folia 分支! ## LightLuminol -![](../_images/LightingLuminol.png) +![](../_assets/LightingLuminol.png) LightingLuminol 是 Luminol 的分支,旨在修复对 BukkitAPI 的破坏,最大程度保证 Bukkit 插件的兼容性。但是,虽然 LightLuminol 对于 Bukkit 插件兼容性较好,但是会有许多问题,包括不定时的 NullPointerError,Thread 不安全,内存泄露,数据丢失(一天崩个几十次,挺正常的) @@ -31,13 +31,13 @@ LightingLuminol 是 Luminol 的分支,旨在修复对 BukkitAPI 的破坏, 如果官网进不去或者下载慢可以使用这里的镜像! -- [Luminol](https://sync.mcsl.com.cn/core/Luminol) -- [LightingLuminol](https://sync.mcsl.com.cn/core/LightingLuminol) -- [Molia 1.20.2](https://vip.123pan.cn/1821558579/Lingyi/core/molia-1.20.2-mcres.cn.jar) -- [Molia 1.20.1](https://vip.123pan.cn/1821558579/Lingyi/aaa/molia/molia-1.20.1-mcres.cn.jar) -- [Molia 1.19.4](https://vip.123pan.cn/1821558579/Lingyi/aaa/molia/Molia-1.19.4-mcres.cn.jar) -- [DirtyMolia 1.20.2](https://vip.123pan.cn/1821558579/Lingyi/core/dirtymolia-1.20.2-mcres.cn.jar) -- [DirtyMolia 1.20.1](https://vip.123pan.cn/1821558579/8448710) +- [Luminol](https://sync.mcsl.com.cn/core/Luminol) +- [LightingLuminol](https://sync.mcsl.com.cn/core/LightingLuminol) +- [Molia 1.20.2](https://vip.123pan.cn/1821558579/Lingyi/core/molia-1.20.2-mcres.cn.jar) +- [Molia 1.20.1](https://vip.123pan.cn/1821558579/Lingyi/aaa/molia/molia-1.20.1-mcres.cn.jar) +- [Molia 1.19.4](https://vip.123pan.cn/1821558579/Lingyi/aaa/molia/Molia-1.19.4-mcres.cn.jar) +- [DirtyMolia 1.20.2](https://vip.123pan.cn/1821558579/Lingyi/core/dirtymolia-1.20.2-mcres.cn.jar) +- [DirtyMolia 1.20.1](https://vip.123pan.cn/1821558579/8448710) ## 调配置 @@ -55,9 +55,9 @@ Luminol 另一个好处就是可以开启生电配置 打开 Luminol 的配置文件 -- fixes.allow_void_trading 虚空交易 -- fixes.allow_unsafe_teleportation 刷沙 -- fixes.use_vanilla_random_source RNG 操作 +- fixes.allow_void_trading 虚空交易 +- fixes.allow_unsafe_teleportation 刷沙 +- fixes.use_vanilla_random_source RNG 操作 其它特性请阅读 Paper 文档 @@ -71,15 +71,15 @@ Lophine 基于 Luminol,但更专注于生电特性的实现,如果你是生 ### 特性 -- 支持部分 Bukkit 插件 -- 可配置的原版特性 -- Tpsbar 支持 -- 对单线程区域性能的优化 -- 更多生电向功能 +- 支持部分 Bukkit 插件 +- 可配置的原版特性 +- Tpsbar 支持 +- 对单线程区域性能的优化 +- 更多生电向功能 ### Lophine 下载 -- [Lophine GitHub](https://github.com/LuminolMC/Lophine/releases) +- [Lophine GitHub](https://github.com/LuminolMC/Lophine/releases) ### 配置 @@ -171,10 +171,10 @@ Lophine 提供了许多实验性功能,可以在配置文件中开启: 对于生电服务器,建议开启以下配置: -- `allow_void_trading = true` - 启用虚空交易 -- `allow_unsafe_teleportation = true` - 启用刷沙等特性 -- `use_vanilla_random_source = true` - 使用原版随机数 -- `disable_end_crystal_check = true` - 恢复原版重生龙逻辑 +- `allow_void_trading = true` - 启用虚空交易 +- `allow_unsafe_teleportation = true` - 启用刷沙等特性 +- `use_vanilla_random_source = true` - 使用原版随机数 +- `disable_end_crystal_check = true` - 恢复原版重生龙逻辑 ::: @@ -182,7 +182,7 @@ Lophine 提供了许多实验性功能,可以在配置文件中开启: 如果你在使用 Lophine 时遇到问题,可以加入 LuminolMC 的社区: -- QQ 群:[1015048616](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=QML5kIVsniPi1PlZvnjHQT_02EHsZ5Jc&authKey=%2FTCJsZC7JFQ9sxAroPCKuYnlV57Z5fyqp36ewXZk3Sn4iJ9p4MB1JKdc%2FFcX3HOM&noverify=0&group_code=1015048616) -- QQ 频道:[点击加入](https://pd.qq.com/s/eq9krf9j) -- Telegram: [点击加入](https://t.me/LuminolMinecraft) -- Discord: [点击加入](https://discord.gg/Qd7m3V6eDx) +- QQ 群:[1015048616](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=QML5kIVsniPi1PlZvnjHQT_02EHsZ5Jc&authKey=%2FTCJsZC7JFQ9sxAroPCKuYnlV57Z5fyqp36ewXZk3Sn4iJ9p4MB1JKdc%2FFcX3HOM&noverify=0&group_code=1015048616) +- QQ 频道:[点击加入](https://pd.qq.com/s/eq9krf9j) +- Telegram: [点击加入](https://t.me/LuminolMinecraft) +- Discord: [点击加入](https://discord.gg/Qd7m3V6eDx) diff --git a/docs-java/start/server-core-choose/folia/misc.md b/src/content/docs/java/start/server-core-choose/folia/misc.md similarity index 100% rename from docs-java/start/server-core-choose/folia/misc.md rename to src/content/docs/java/start/server-core-choose/folia/misc.md diff --git a/docs-java/start/server-core-choose/hybrid.md b/src/content/docs/java/start/server-core-choose/hybrid.md similarity index 100% rename from docs-java/start/server-core-choose/hybrid.md rename to src/content/docs/java/start/server-core-choose/hybrid.md diff --git a/docs-java/start/server-core-choose/mod.md b/src/content/docs/java/start/server-core-choose/mod.md similarity index 96% rename from docs-java/start/server-core-choose/mod.md rename to src/content/docs/java/start/server-core-choose/mod.md index a26262e95..a5b14eba1 100644 --- a/docs-java/start/server-core-choose/mod.md +++ b/src/content/docs/java/start/server-core-choose/mod.md @@ -17,7 +17,7 @@ Mod 端的选择一般优先考虑玩法(即主要的玩法 mod),再考虑 ### NeoForge -![](_images/NeoForge.png) +![](_assets/NeoForge.png) 关于 NeoForge 和 Forge 的关系,可以查看 [这篇文章](https://www.bilibili.com/opus/827402209530478597) @@ -25,7 +25,7 @@ Mod 端的选择一般优先考虑玩法(即主要的玩法 mod),再考虑 ### Sinytra Connector -![](_images/Sinytra_Connector.png) +![](_assets/Sinytra_Connector.png) Sinytra Connector(中文名:信雅互联) 可以在 Forge 上运行 Fabric 模组 @@ -54,7 +54,7 @@ Kilt 可以在 Fabric 上运行 Forge 模组 ### Quilt -![](_images/Quilt.svg) +![](_assets/Quilt.svg) 建议直接用 Fabric diff --git a/docs-java/start/server-core-choose/multipaper.md b/src/content/docs/java/start/server-core-choose/multipaper.md similarity index 100% rename from docs-java/start/server-core-choose/multipaper.md rename to src/content/docs/java/start/server-core-choose/multipaper.md diff --git a/src/content/docs/java/start/server-core-choose/plugin.md b/src/content/docs/java/start/server-core-choose/plugin.md new file mode 100644 index 000000000..581cdd1fa --- /dev/null +++ b/src/content/docs/java/start/server-core-choose/plugin.md @@ -0,0 +1,239 @@ +--- +title: 插件端 +sidebar_position: 1 +--- + +### 插件端 + +如果你不知道怎么选,我们为你提供一个简单的方法: + +```mermaid +flowchart TD + A[服务端版本] + A --> 1.8 + A --> 1.12.2 + A --> 1.16.5+ + 1.8 --> PVP + PVP --> PandaSpigot + 1.8 --> 生存 + 生存 --> SportPaper + 1.12.2 --> 性能 + 性能 --> Beast + 1.12.2 --> 稳定 + 稳定 --> Paper + 1.16.5+ --> 生电 + 生电 --> 1.18以下 + 生电 --> 1.18以上 + 1.18以下 --> Purpur + 1.18以上 --> Leaves + 1.16.5+ --> 高性能 + 高性能 --> 1.19以上 + 1.19以上 --> Leaf + 高性能 --> 1.19以下 + 1.19以下 --> Purpur + 1.16.5+ --> 其他 + 其他 --> Purpur +``` + +## 高版本 + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + + + + +![](_assets/papermc-wild.svg) + +**优势**: + +- 性能 - 性能还可以 +- 稳定 - 目前最稳定的核心 +- 兼容 - 很多插件会以此核心为标准之一进行兼容 + +**劣势**: + +- 性能 - 在高版本逐渐比不过他的分支 +- 特性 - 丧失不少原版特性 + +总的来说,Paper 核心适合那些追究 _极端的_ 稳定的人 + +- 官方英文文档 [点我](https://docs.papermc.io/paper) +- 笨蛋汉化文档 [点我](https://paper.8aka.org/paper) + +**下载**: + +- [官方](https://papermc.io/downloads/all) +- [FastMirror](https://www.fastmirror.net/#/download/Paper) +- [McRes](https://mcres.cn/downloads/paper.html) +- [原子云](https://res.nullatom.com/Minecraft/Server/Paper/) +- [MCSL](https://sync.mcsl.com.cn/core/Paper) + + + + +![](_assets/purpur.png) + +**优势**: + +- 性能 - Purpur 的性能相比于 Paper 提升大约 10-20%,略有提升 +- 稳定 - Purpur 兼容 Paper 的全部插件,只要 Paper 能跑,Purpur 就可以跑 +- 特性 - Purpur 还原了 Minecraft 的部分特性,用来开生存服务器更加适合 (当然生电还是得 Leaves) +- 兼容 - 很多插件会以此核心为标准之一进行兼容 +- 功能 - 配置文件中有一些基础插件的功能,合理使用可以减少插件使用量。 + +**劣势**: + +- 配置 - 配置文件比较繁杂 +- 支持 - 只有部分 MC 版本的构建 + +综上所述,目前 Purpur 是综合最优选择 + +- 官方英文文档 [点我](https://purpurmc.org/docs/purpur) +- 笨蛋汉化文档 [点我](https://purpur.8aka.org/purpur) + +**下载**: + +- [官方](https://purpurmc.org/downloads) +- [McRes](https://mcres.cn/downloads/purpur.html) +- [FastMirror](https://www.fastmirror.net/#/download/Purpur) +- [MCSL](https://sync.mcsl.com.cn/core/Purpur) + + + + +![](_assets/leaves.svg) + +**优势**: + +- 特性 - 为生电而生,拥有专门的生电向特性支持 +- 兼容 - 支持 Paper 能使用的几乎所有插件 +- 支持 - 国人开发的核心 + +**劣势**: + +- 优化 - 优化不如 Purpur 和 Leaf + +专为生电而生的核心。 + +Leaves 基本完全支持客户端生电 mod,包括但不限于 Carpet、PCA、投影、共享原理图、MiniHUD、BBOR、OMMC、Xaero 小地图、Jade、AppleSkin。 + +[点我](https://docs.leavesmc.org/zh_Hans) 查看 Leaves 官方文档 + +**下载**: + +- [官方](https://leavesmc.org/downloads/leaves) +- [McRes](https://mcres.cn/downloads/leaves.html) +- [MCSL](https://sync.mcsl.com.cn/core/Leaves) +- [Leaves 1.18.2](https://vip.123pan.cn/1821558579/6492009) + + + + +![](_assets/leaf.png) + +**优势**: + +- 性能 - 比 Purpur 好的多的性能(在实体方面甚至能达到 50% 以上的提升) +- 支持 - 国人开发的核心 + + 对插件的兼容程度:Paper = Purpur > Leaf /Leaves + +**劣势**: + +- 兼容 - 有极少插件不兼容 (可向核心作者反馈) + +总的来说,相比 Purpur 会有更好的优化,极少不兼容的插件可以及时找作者反馈,所以非常推荐此核心 + +[点我](https://www.leafmc.one/zh/docs) 查看 Leaf 官方文档 + +**下载**: + +- [官方](https://www.leafmc.one/zh/download) +- [McRes](https://mcres.cn/downloads/leaf.html) + + + + +## 其他 + +### 1.8 + +:::tip + +目前仅有 1.8.8 版本的核心,而没有 1.8.9 + +1.8.8 与 1.8.9 区别小到安装 [ViaVersion](../../process/plugin/misc/via/via.md) 之后感觉不到区别 + +::: + + + + +**优势**: + +- 性能 - 拥有较好的性能 +- 维护 - 可用于开 PVP 服务器,含大量 konckback 配置选项 +- 维护 - 专为 1.8 提供维护 + +**劣势**: + +- 还没想到 + +**下载**: + +- [官方](https://nightly.link/hpfxd/PandaSpigot/workflows/build/master/Server%20JAR.zip) +- [McRes](https://vip.123pan.cn/1821558579/Lingyi/core/pandaspigot-116-mcres.cn.jar) + + + + +**优势**: + +- 性能 - 拥有较好的性能 +- 维护 - 可用于开生存服务器,很多生存配置选项 + +**劣势**: + +- 还没想到 + +**下载**: + +- [官方](https://github.com/Electroid/SportPaper) +- [McRes](https://vip.123pan.cn/1821558579/6492156) + + + + +### 1.12 + +我们推荐 Beast + +![](_assets/Beast.jpg) + +**优势**: + +- 性能 - 1.12 相比高版本本身吃资源就少,此核心提供更多优化 +- 维护 - 专为 1.12 提供维护,修复错误和改进 + +**劣势**: + +- 还没想到 + +**下载**: + +- [官方](https://github.com/HomoMC/Beast) +- [McRes](https://vip.123pan.cn/1821558579/6492155) + +## 不推荐 + +:::danger + +以下核心真的不推荐,除非你真的疯了,否则不要用 + +::: + +| 名称 | 介绍 | +| --------------------------------------------------------- | ---------------------------------------- | +| [CraftBukkit](https://getbukkit.org/download/craftbukkit) | 插件端鼻祖核心,无优化 | +| [Spigot](https://getbukkit.org/download/spigot/) | CraftBukkit 的分支,有一点优化,仍不推荐 | diff --git a/docs-java/start/server-core-choose/server-core-choose.md b/src/content/docs/java/start/server-core-choose/server-core-choose.md similarity index 94% rename from docs-java/start/server-core-choose/server-core-choose.md rename to src/content/docs/java/start/server-core-choose/server-core-choose.md index 051a01b79..34232ccc2 100644 --- a/docs-java/start/server-core-choose/server-core-choose.md +++ b/src/content/docs/java/start/server-core-choose/server-core-choose.md @@ -72,7 +72,7 @@ sidebar_position: 2 ## 更换核心 -- **[插件端](plugin.md)** +- **[插件端](plugin.md)** 这类操作几乎无感 @@ -80,11 +80,11 @@ sidebar_position: 2 > > 如使用 Spigot 替换 Paper 或 Purpur 等 -- **[混合端](hybrid.md)** +- **[混合端](hybrid.md)** 这有待商榷,因为各个端兼容性差异较大 -- **[Mod 端](mod.md)** +- **[Mod 端](mod.md)** 这几乎不可能,你基本没有可选择的核心 @@ -96,4 +96,4 @@ Mod 服最开始就必须选好核心,也就是 Forge 还是 Fabric 的问题 [下载](https://script.8aka.org/select-server) -![](_images/那些服务端有后门吗.png) +![](_assets/那些服务端有后门吗.png) diff --git a/docs-java/start/server-core-choose/sponge.md b/src/content/docs/java/start/server-core-choose/sponge.md similarity index 97% rename from docs-java/start/server-core-choose/sponge.md rename to src/content/docs/java/start/server-core-choose/sponge.md index 48a423f2f..f6bb370ef 100644 --- a/docs-java/start/server-core-choose/sponge.md +++ b/src/content/docs/java/start/server-core-choose/sponge.md @@ -5,7 +5,7 @@ sidebar_position: 6 # Sponge -![](_images/sponge.png) +![](_assets/sponge.png) Sponge 有 SpongeForge (Forge+Sponge 插件) 和 SpongeVanilla (原版+Sponge 插件) 两种选择。 diff --git a/docs-java/start/start.md b/src/content/docs/java/start/start.md similarity index 100% rename from docs-java/start/start.md rename to src/content/docs/java/start/start.md diff --git a/src/css/ad.css b/src/css/ad.css deleted file mode 100644 index 758af8262..000000000 --- a/src/css/ad.css +++ /dev/null @@ -1,75 +0,0 @@ -/* ====================================== - NitWikit 广告/外部链接样式 - 与主题系统统一 -====================================== */ - -/* ====================================== - 广告容器 -====================================== */ -.extern-container.mobile-extern { - display: flex; - justify-content: center; - align-items: center; - margin: 1rem auto; - padding: 0.5rem 0; - flex-wrap: wrap; - gap: 0.75rem; - text-align: center; -} - -/* ====================================== - 广告链接项 -====================================== */ -.extern-item { - margin: 0 !important; - font-weight: 500; - display: inline-flex !important; - align-items: center; - justify-content: center; - transition: all var(--transition-fast); - font-size: 0.875rem; - color: var(--primary); - white-space: nowrap; - padding: 0.375rem 0.875rem; - border-radius: var(--radius-md); - background-color: var(--primary-alpha-5); - border: 1px solid var(--primary-alpha-border); -} - -.extern-item:hover { - text-decoration: none !important; - background-color: var(--primary-alpha-10); - border-color: var(--primary); - color: var(--primary-dark); -} - -/* ====================================== - 移除默认装饰 -====================================== */ -.extern-item::before { - content: none; - display: none; -} - -/* ====================================== - 桌面端样式增强 -====================================== */ -@media screen and (min-width: 996px) { - .extern-item { - padding: 0.375rem 1rem; - } -} - -/* ====================================== - 暗色模式 -====================================== */ -[data-theme="dark"] .extern-item { - background-color: var(--primary-alpha-10); - border-color: var(--primary-alpha-border); - color: var(--primary); -} - -[data-theme="dark"] .extern-item:hover { - background-color: var(--primary-alpha-15); - color: var(--primary-light); -} diff --git a/src/css/base/theme.css b/src/css/base/theme.css deleted file mode 100644 index d0dd3b32c..000000000 --- a/src/css/base/theme.css +++ /dev/null @@ -1,532 +0,0 @@ -/* ====================================== - NitWikit 主题系统 - 暗色模式 - 借鉴 Nuxt 深邃暗色设计 -====================================== */ - -/* ====================================== - 暗色模式变量覆盖 -====================================== */ -[data-theme="dark"] { - /* 主色调 - 暗色模式稍亮以保持对比 */ - --primary: var(--green-500); - --primary-dark: var(--green-600); - --primary-light: var(--green-400); - /* 暗色模式下文字主色更亮 */ - --primary-text: var(--green-400); - - /* 文字颜色 - 提升对比度 */ - --text-primary: var(--slate-100); - --text-secondary: var(--slate-300); - --text-light: var(--slate-400); - --text-muted: var(--slate-400); - - /* 背景颜色 - 深邃层次 (Nuxt 风格) */ - --bg-base: var(--slate-950); - --bg-light: var(--slate-950); - --bg-muted: var(--slate-900); - --bg-card: var(--slate-900); - --bg-elevated: var(--slate-800); - --bg-dark: var(--slate-950); - --bg-footer: var(--slate-950); - - /* 边框颜色 */ - --border: var(--slate-800); - --border-light: var(--slate-900); - --border-dark: var(--slate-700); - - /* 阴影 - 暗色模式下更柔和 */ - --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.3); - --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.4), 0 1px 2px rgba(0, 0, 0, 0.3); - --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.4), 0 2px 4px -1px rgba(0, 0, 0, 0.3); - --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.4), 0 4px 6px -2px rgba(0, 0, 0, 0.3); - --shadow-glow: 0 0 30px rgba(0, 220, 130, 0.12); - - /* 提示框暗色 - 增强可见度 */ - --alert-info: #60a5fa; - --alert-info-bg: rgba(96, 165, 250, 0.15); - --alert-warning: #fbbf24; - --alert-warning-bg: rgba(251, 191, 36, 0.15); - --alert-danger: #f87171; - --alert-danger-bg: rgba(248, 113, 113, 0.15); - --alert-success: #34d399; - --alert-success-bg: rgba(52, 211, 153, 0.15); - --alert-note: #a78bfa; - --alert-note-bg: rgba(167, 139, 250, 0.15); - - /* Docusaurus 变量覆盖 */ - --ifm-background-color: var(--bg-light); - --ifm-background-surface-color: var(--bg-card); - --ifm-navbar-background-color: rgba(2, 6, 23, 1); - --ifm-font-color-base: var(--text-primary); - --ifm-heading-color: var(--text-primary); - - --ifm-color-primary: var(--primary); - --ifm-color-primary-dark: var(--primary-dark); - --ifm-color-primary-light: var(--primary-light); - - --ifm-menu-color: var(--text-secondary); - --ifm-toc-border-color: var(--border); -} - -/* ====================================== - 亮色模式背景应用 -====================================== */ -[data-theme="light"] body, -[data-theme="light"] .main-wrapper, -[data-theme="light"] .homepage, -[data-theme="light"] .docMainContainer_gTbr, -[data-theme="light"] article, -[data-theme="light"] .theme-doc-markdown { - background-color: var(--bg-light); -} - -[data-theme="light"] .container { - background-color: transparent; -} - -/* ====================================== - 暗色模式背景应用 -====================================== */ -[data-theme="dark"] body, -[data-theme="dark"] .main-wrapper, -[data-theme="dark"] .docMainContainer_gTbr, -[data-theme="dark"] article, -[data-theme="dark"] .theme-doc-markdown { - background-color: var(--bg-dark); -} - -[data-theme="dark"] .container { - background-color: transparent; -} - -/* ====================================== - 区域渐变分割 (Nuxt 风格) -====================================== */ -.section-gradient { - background: linear-gradient(180deg, var(--bg-muted) 0%, var(--bg-light) 100%); - border-top: 1px solid var(--border); -} - -[data-theme="dark"] .section-gradient { - background: linear-gradient(180deg, rgba(15, 23, 42, 0.4) 0%, var(--bg-dark) 100%); -} - -/* ====================================== - 卡片主题适配 -====================================== */ -[data-theme="dark"] .card { - background-color: var(--bg-card); - border-color: var(--border); -} - -[data-theme="dark"] .card:hover { - border-color: var(--primary-alpha-border); - box-shadow: var(--shadow-glow); -} - -/* ====================================== - 页脚主题适配 -====================================== */ -[data-theme="dark"] .footer__copyright { - border-top-color: var(--border); -} - -/* ====================================== - 代码块主题 -====================================== */ -[data-theme="dark"] pre { - background-color: var(--slate-900) !important; -} - -[data-theme="dark"] :not(pre) > code { - background-color: var(--primary-alpha-15); - color: var(--primary-light); -} - -/* ====================================== - 滚动条主题 -====================================== */ -[data-theme="dark"] ::-webkit-scrollbar-thumb { - background: var(--slate-700); -} - -[data-theme="dark"] ::-webkit-scrollbar-thumb:hover { - background: var(--slate-600); -} - -/* ====================================== - 选择文本主题 -====================================== */ -::selection { - background: var(--primary-alpha-20); - color: inherit; -} - -[data-theme="dark"] ::selection { - background: var(--primary-alpha-30); -} - -/* ====================================== - 链接悬停发光效果 -====================================== */ -[data-theme="dark"] a:hover { - text-shadow: 0 0 10px var(--primary-alpha-30); -} - -/* ====================================== - Ant Design Timeline 暗色模式适配 -====================================== */ -[data-theme="dark"] .ant-timeline { - color: var(--text-primary); -} - -[data-theme="dark"] .ant-timeline-item-content { - color: var(--text-primary); -} - -[data-theme="dark"] .ant-timeline-item-label { - color: var(--text-secondary); -} - -[data-theme="dark"] .ant-timeline-item-tail { - border-inline-start-color: var(--border); -} - -[data-theme="dark"] .ant-timeline-item-head { - background-color: var(--bg-dark); -} - -[data-theme="dark"] .ant-timeline-item-pending .ant-timeline-item-content { - color: var(--text-muted); -} - -/* ====================================== - 主题切换瀑布流动画 - 从上到下的流动过渡效果 -====================================== */ - -/* 定义瀑布流变量 */ -:root { - --theme-transition-duration: 400ms; - --theme-transition-timing: cubic-bezier(0.4, 0, 0.2, 1); -} - -/* 基础过渡:为所有主题相关属性添加过渡 */ -html { - transition: background-color var(--theme-transition-duration) var(--theme-transition-timing); - /* 平滑滚动,但尊重用户的动画偏好设置 */ - scroll-behavior: smooth; -} - -/* 如果用户偏好减少动画,则禁用平滑滚动 */ -@media (prefers-reduced-motion: reduce) { - html { - scroll-behavior: auto; - } -} - -body { - transition: - background-color var(--theme-transition-duration) var(--theme-transition-timing), - color var(--theme-transition-duration) var(--theme-transition-timing); - transition-delay: 20ms; -} - -/* 导航栏 - 最先开始过渡 */ -.navbar { - transition: - background-color var(--theme-transition-duration) var(--theme-transition-timing), - border-color var(--theme-transition-duration) var(--theme-transition-timing), - box-shadow var(--theme-transition-duration) var(--theme-transition-timing); - transition-delay: 0ms; -} - -.navbar__brand, -.navbar__title { - transition: color var(--theme-transition-duration) var(--theme-transition-timing); - transition-delay: 30ms; -} - -.navbar__link { - transition: - color var(--theme-transition-duration) var(--theme-transition-timing), - background-color var(--theme-transition-duration) var(--theme-transition-timing); - transition-delay: 50ms; -} - -/* 主内容区 - 稍后开始 */ -.main-wrapper { - transition: background-color var(--theme-transition-duration) var(--theme-transition-timing); - transition-delay: 40ms; -} - -/* 侧边栏 - 与内容同步 */ -.theme-doc-sidebar-container, -.menu { - transition: - background-color var(--theme-transition-duration) var(--theme-transition-timing), - border-color var(--theme-transition-duration) var(--theme-transition-timing); - transition-delay: 60ms; -} - -.menu__link { - transition: - color var(--theme-transition-duration) var(--theme-transition-timing), - background-color var(--theme-transition-duration) var(--theme-transition-timing); - transition-delay: 80ms; -} - -/* 文档容器 - 主要内容区域 */ -.docMainContainer_gTbr, -article, -.theme-doc-markdown { - transition: background-color var(--theme-transition-duration) var(--theme-transition-timing); - transition-delay: 80ms; -} - -/* 标题层叠过渡 */ -h1, -h2, -h3, -h4, -h5, -h6 { - transition: color var(--theme-transition-duration) var(--theme-transition-timing); -} - -h1 { - transition-delay: 100ms; -} -h2 { - transition-delay: 120ms; -} -h3 { - transition-delay: 140ms; -} -h4 { - transition-delay: 150ms; -} -h5 { - transition-delay: 160ms; -} -h6 { - transition-delay: 170ms; -} - -/* 段落和文字 */ -p, -li, -span, -td, -th { - transition: color var(--theme-transition-duration) var(--theme-transition-timing); - transition-delay: 130ms; -} - -/* 链接 */ -a { - transition: - color var(--theme-transition-duration) var(--theme-transition-timing), - text-shadow var(--theme-transition-duration) var(--theme-transition-timing); - transition-delay: 140ms; -} - -/* 卡片元素 - 波浪式过渡 */ -.card { - transition: - background-color var(--theme-transition-duration) var(--theme-transition-timing), - border-color var(--theme-transition-duration) var(--theme-transition-timing), - box-shadow var(--theme-transition-duration) var(--theme-transition-timing); - transition-delay: 100ms; -} - -/* 为多个卡片添加瀑布延迟 */ -.card:nth-child(1) { - transition-delay: 100ms; -} -.card:nth-child(2) { - transition-delay: 130ms; -} -.card:nth-child(3) { - transition-delay: 160ms; -} -.card:nth-child(4) { - transition-delay: 190ms; -} -.card:nth-child(5) { - transition-delay: 220ms; -} -.card:nth-child(6) { - transition-delay: 250ms; -} -.card:nth-child(7) { - transition-delay: 280ms; -} -.card:nth-child(8) { - transition-delay: 310ms; -} - -/* 代码块 */ -pre, -code { - transition: - background-color var(--theme-transition-duration) var(--theme-transition-timing), - color var(--theme-transition-duration) var(--theme-transition-timing), - border-color var(--theme-transition-duration) var(--theme-transition-timing); - transition-delay: 150ms; -} - -/* 表格 */ -table, -thead, -tbody, -tr, -td, -th { - transition: - background-color var(--theme-transition-duration) var(--theme-transition-timing), - border-color var(--theme-transition-duration) var(--theme-transition-timing), - color var(--theme-transition-duration) var(--theme-transition-timing); - transition-delay: 160ms; -} - -/* 引用块和提示框 */ -blockquote, -.alert, -.admonition { - transition: - background-color var(--theme-transition-duration) var(--theme-transition-timing), - border-color var(--theme-transition-duration) var(--theme-transition-timing), - color var(--theme-transition-duration) var(--theme-transition-timing); - transition-delay: 170ms; -} - -/* 目录导航 */ -.table-of-contents, -.table-of-contents__link { - transition: - color var(--theme-transition-duration) var(--theme-transition-timing), - border-color var(--theme-transition-duration) var(--theme-transition-timing); - transition-delay: 120ms; -} - -/* 页脚 - 最后完成过渡 */ -.footer { - transition: - background-color var(--theme-transition-duration) var(--theme-transition-timing), - border-color var(--theme-transition-duration) var(--theme-transition-timing); - transition-delay: 200ms; -} - -.footer__link-item, -.footer__copyright { - transition: - color var(--theme-transition-duration) var(--theme-transition-timing), - border-color var(--theme-transition-duration) var(--theme-transition-timing); - transition-delay: 220ms; -} - -/* 滚动条 */ -::-webkit-scrollbar-thumb { - transition: background-color var(--theme-transition-duration) var(--theme-transition-timing); - transition-delay: 250ms; -} - -::-webkit-scrollbar-track { - transition: background-color var(--theme-transition-duration) var(--theme-transition-timing); - transition-delay: 260ms; -} - -/* 搜索框 */ -.DocSearch, -.DocSearch-Button { - transition: - background-color var(--theme-transition-duration) var(--theme-transition-timing), - border-color var(--theme-transition-duration) var(--theme-transition-timing), - color var(--theme-transition-duration) var(--theme-transition-timing); - transition-delay: 70ms; -} - -/* 分页导航 */ -.pagination-nav__link { - transition: - background-color var(--theme-transition-duration) var(--theme-transition-timing), - border-color var(--theme-transition-duration) var(--theme-transition-timing); - transition-delay: 180ms; -} - -/* 面包屑导航 */ -.breadcrumbs__item, -.breadcrumbs__link { - transition: color var(--theme-transition-duration) var(--theme-transition-timing); - transition-delay: 90ms; -} - -/* 标签 */ -.tag, -.badge { - transition: - background-color var(--theme-transition-duration) var(--theme-transition-timing), - color var(--theme-transition-duration) var(--theme-transition-timing); - transition-delay: 160ms; -} - -/* 主题切换按钮发光效果 */ -button[class*="colorModeToggle"] { - position: relative; -} - -button[class*="colorModeToggle"]::after { - content: ""; - position: absolute; - inset: -4px; - border-radius: 50%; - background: radial-gradient(circle, var(--primary-alpha-30) 0%, transparent 70%); - opacity: 0; - transform: scale(0.8); - transition: - opacity 300ms ease, - transform 300ms ease; - pointer-events: none; - z-index: -1; -} - -button[class*="colorModeToggle"]:active::after { - opacity: 1; - transform: scale(1.5); - transition: - opacity 100ms ease, - transform 100ms ease; -} - -/* 主题切换涟漪动画 */ -@keyframes themeRipple { - 0% { - transform: scale(0); - opacity: 0.5; - } - 100% { - transform: scale(4); - opacity: 0; - } -} - -[data-theme="dark"] { - --config-node-highlight-text-color: white; - --config-node-popup-background-color: #1c1e21; -} - -[data-theme="light"] { - --config-node-highlight-text-color: black; - --config-node-popup-background-color: white; -} - -/* 尊重用户减少动画偏好 */ -@media (prefers-reduced-motion: reduce) { - *, - *::before, - *::after { - transition-delay: 0ms !important; - transition-duration: 0.01ms !important; - } -} diff --git a/src/css/base/typography.css b/src/css/base/typography.css deleted file mode 100644 index f9c362a54..000000000 --- a/src/css/base/typography.css +++ /dev/null @@ -1,340 +0,0 @@ -/* ====================================== - NitWikit 排版系统 - 优化中文阅读体验 -====================================== */ - -/* ====================================== - 全局盒模型 -====================================== */ -*, -*::before, -*::after { - box-sizing: border-box; -} - -/* ====================================== - 基础文档样式 -====================================== */ -body { - font-family: var(--font-sans); - color: var(--text-primary); - line-height: 1.6; - background-color: var(--bg-light); - transition: - background-color var(--transition-base), - color var(--transition-base); - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - text-rendering: optimizeLegibility; -} - -/* ====================================== - 文章内容排版 -====================================== */ -article { - font-size: 1rem; - line-height: 1.75; - color: var(--text-primary); -} - -/* ====================================== - 标题层级 -====================================== */ -article h1 { - font-size: 2.25rem; - margin: 3rem 0 1.5rem; - font-weight: 700; - letter-spacing: -0.025em; - line-height: 1.2; - color: var(--ifm-heading-color); - border-bottom: 1px solid var(--border); - padding-bottom: 0.75rem; -} - -article h2 { - font-size: 1.75rem; - margin: 2.5rem 0 1.25rem; - font-weight: 600; - letter-spacing: -0.02em; - line-height: 1.25; - color: var(--ifm-heading-color); -} - -article h3 { - font-size: 1.375rem; - margin: 2rem 0 1rem; - font-weight: 600; - letter-spacing: -0.015em; - line-height: 1.3; - color: var(--ifm-heading-color); -} - -article h4 { - font-size: 1.125rem; - margin: 1.75rem 0 0.75rem; - font-weight: 600; - line-height: 1.4; - color: var(--ifm-heading-color); -} - -article h5 { - font-size: 1rem; - margin: 1.5rem 0 0.5rem; - font-weight: 600; - line-height: 1.4; - color: var(--ifm-heading-color); -} - -article h6 { - font-size: 0.875rem; - margin: 1.25rem 0 0.5rem; - font-weight: 600; - line-height: 1.4; - color: var(--text-secondary); - text-transform: uppercase; - letter-spacing: 0.05em; -} - -/* ====================================== - 段落与文本 -====================================== */ -article p { - margin-bottom: 1.5rem; - line-height: 1.75; -} - -article strong { - font-weight: 600; - color: var(--text-primary); -} - -article em { - font-style: italic; -} - -/* ====================================== - 链接样式 -====================================== */ -article a { - color: var(--primary-text); - font-weight: 500; - text-decoration: none; - transition: color var(--transition-fast); - border-bottom: 1px solid transparent; -} - -article a:hover { - color: var(--primary-dark); - border-bottom-color: var(--primary-alpha-border); -} - -/* ====================================== - 图片样式 -====================================== */ -article img { - border-radius: var(--radius-lg); - max-width: 100%; - height: auto; - display: block; - margin: 1.5rem 0; -} - -/* 移除悬停缩放效果 */ -article img:hover { - transform: none; -} - -/* ====================================== - 列表样式 -====================================== */ -article ul, -article ol { - margin-bottom: 1.5rem; - padding-left: 1.5rem; -} - -article ul { - list-style-type: disc; -} - -article ol { - list-style-type: decimal; -} - -article li { - margin-bottom: 0.5rem; - line-height: 1.7; -} - -article li > ul, -article li > ol { - margin-top: 0.5rem; - margin-bottom: 0.5rem; -} - -/* 嵌套列表样式 */ -article ul ul { - list-style-type: circle; -} - -article ul ul ul { - list-style-type: square; -} - -/* ====================================== - 分割线 -====================================== */ -article hr { - border: none; - height: 1px; - background: var(--border); - margin: 2.5rem 0; -} - -/* ====================================== - 引用样式 -====================================== */ -article blockquote { - border-left: 3px solid var(--primary); - background-color: var(--primary-alpha-5); - border-radius: 0 var(--radius-lg) var(--radius-lg) 0; - padding: 1rem 1.5rem; - margin: 1.5rem 0; - font-style: normal; - color: var(--text-primary); -} - -article blockquote p { - margin-bottom: 0; -} - -article blockquote p + p { - margin-top: 1rem; -} - -/* ====================================== - 响应式排版 -====================================== */ -@media (max-width: 996px) { - article { - font-size: 0.9375rem; - } - - article h1 { - font-size: 2rem; - margin-top: 2.5rem; - } - - article h2 { - font-size: 1.5rem; - margin-top: 2rem; - } - - article h3 { - font-size: 1.25rem; - margin-top: 1.75rem; - } - - article h4 { - font-size: 1.0625rem; - margin-top: 1.5rem; - } - - article blockquote { - padding: 0.875rem 1.25rem; - } -} - -@media (max-width: 768px) { - article { - line-height: 1.7; - } - - article p { - margin-bottom: 1.375rem; - } - - article li { - margin-bottom: 0.4rem; - } -} - -@media (max-width: 540px) { - article { - font-size: 0.9375rem; - line-height: 1.7; - } - - article h1 { - font-size: 1.75rem; - margin: 2rem 0 1.25rem; - padding-bottom: 0.625rem; - } - - article h2 { - font-size: 1.375rem; - margin: 1.75rem 0 1rem; - } - - article h3 { - font-size: 1.125rem; - margin: 1.5rem 0 0.75rem; - } - - article h4 { - font-size: 1rem; - margin: 1.25rem 0 0.5rem; - } - - article p { - margin-bottom: 1.25rem; - } - - article ul, - article ol { - padding-left: 1.25rem; - margin-bottom: 1.25rem; - } - - article li { - margin-bottom: 0.375rem; - line-height: 1.65; - } - - article li > ul, - article li > ol { - margin-top: 0.375rem; - margin-bottom: 0.375rem; - } - - article blockquote { - padding: 0.75rem 1rem; - margin: 1.25rem 0; - margin-left: -0.5rem; - margin-right: -0.5rem; - } - - article hr { - margin: 2rem 0; - } - - article img { - margin: 1.25rem 0; - border-radius: var(--radius-md); - } -} - -/* ====================================== - 高亮文字工具类 -====================================== */ -.text-primary { - color: var(--primary) !important; -} - -.text-secondary { - color: var(--text-secondary) !important; -} - -.text-muted { - color: var(--text-muted) !important; -} diff --git a/src/css/base/variables.css b/src/css/base/variables.css deleted file mode 100644 index 8b84093f6..000000000 --- a/src/css/base/variables.css +++ /dev/null @@ -1,159 +0,0 @@ -/* ====================================== - NitWikit 设计系统 - CSS 变量 - 借鉴 Nuxt 设计系统 -====================================== */ - -:root { - /* ====================================== - 主色调 - Nuxt Green (完整色阶) - ====================================== */ - --green-50: #effdf5; - --green-100: #d9fbe8; - --green-200: #b3f5d1; - --green-300: #75edae; - --green-400: #00dc82; - --green-500: #00c16a; - --green-600: #00a155; - --green-700: #007f45; - --green-800: #016538; - --green-900: #0a5331; - --green-950: #052e16; - - /* 主色语义化变量 */ - --primary: var(--green-500); - --primary-dark: var(--green-600); - --primary-darker: var(--green-700); - --primary-light: var(--green-400); - --primary-lighter: var(--green-300); - /* 文字专用主色 - 对比度更高 (WCAG AA) */ - --primary-text: var(--green-600); - - /* 主色透明度变体 (简化) */ - --primary-alpha-5: rgba(0, 220, 130, 0.05); - --primary-alpha-8: rgba(0, 220, 130, 0.08); - --primary-alpha-10: rgba(0, 220, 130, 0.1); - --primary-alpha-15: rgba(0, 220, 130, 0.15); - --primary-alpha-20: rgba(0, 220, 130, 0.2); - --primary-alpha-30: rgba(0, 220, 130, 0.3); - --primary-alpha-border: rgba(0, 220, 130, 0.25); - - /* ====================================== - 中性色 - Slate (完整色阶) - ====================================== */ - --slate-50: #f8fafc; - --slate-100: #f1f5f9; - --slate-200: #e2e8f0; - --slate-300: #cbd5e1; - --slate-400: #94a3b8; - --slate-500: #64748b; - --slate-600: #475569; - --slate-700: #334155; - --slate-800: #1e293b; - --slate-900: #0f172a; - --slate-950: #020617; - - /* ====================================== - 语义化颜色 (亮色模式) - ====================================== */ - --text-primary: var(--slate-900); - --text-secondary: var(--slate-700); - --text-light: var(--slate-500); - --text-muted: var(--slate-500); - - --bg-base: var(--slate-50); - --bg-light: var(--slate-100); - --bg-muted: var(--slate-200); - --bg-card: #ffffff; - --bg-elevated: #ffffff; - --bg-dark: var(--slate-900); - --bg-footer: var(--slate-100); - - --border: var(--slate-200); - --border-light: var(--slate-100); - --border-dark: var(--slate-300); - - /* ====================================== - 阴影系统 - ====================================== */ - --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.05); - --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.08), 0 1px 2px rgba(0, 0, 0, 0.04); - --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.08), 0 2px 4px -1px rgba(0, 0, 0, 0.04); - --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.08), 0 4px 6px -2px rgba(0, 0, 0, 0.04); - --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.08), 0 10px 10px -5px rgba(0, 0, 0, 0.02); - --shadow-glow: 0 0 20px rgba(0, 220, 130, 0.15); - - /* ====================================== - 圆角系统 - ====================================== */ - --radius-xs: 0.125rem; - --radius-sm: 0.25rem; - --radius-md: 0.375rem; - --radius-lg: 0.5rem; - --radius-xl: 0.75rem; - --radius-2xl: 1rem; - --radius-full: 9999px; - - /* ====================================== - 过渡动画 - ====================================== */ - --transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1); - --transition-base: 200ms cubic-bezier(0.4, 0, 0.2, 1); - --transition-slow: 300ms cubic-bezier(0.4, 0, 0.2, 1); - --transition-smooth: 300ms cubic-bezier(0.34, 1.56, 0.64, 1); - - /* ====================================== - 字体系统 - ====================================== */ - --font-sans: - "Public Sans", "Noto Sans SC", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", - "Microsoft YaHei", system-ui, sans-serif; - --font-mono: - "Maple Mono NF CN", "JetBrains Mono", "Fira Code", SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", - monospace; - - /* ====================================== - Docusaurus/Infima 变量映射 - ====================================== */ - --ifm-color-primary: var(--primary); - --ifm-color-primary-dark: var(--primary-dark); - --ifm-color-primary-darker: var(--primary-darker); - --ifm-color-primary-light: var(--primary-light); - --ifm-color-primary-lighter: var(--primary-lighter); - --ifm-color-primary-lightest: #99f2cd; - - --ifm-code-font-size: 90%; - --ifm-font-family-base: var(--font-sans); - --ifm-font-family-monospace: var(--font-mono); - - --ifm-background-color: var(--bg-light); - --ifm-background-surface-color: var(--bg-card); - - --ifm-navbar-background-color: rgba(255, 255, 255, 1); - --ifm-navbar-height: 4rem; - --ifm-navbar-shadow: none; - --ifm-navbar-padding-vertical: 0; - --ifm-navbar-padding-horizontal: 1.5rem; - - --ifm-menu-color: var(--text-secondary); - --ifm-menu-color-active: var(--primary); - --ifm-menu-color-background-active: var(--primary-alpha-10); - --ifm-menu-color-background-hover: var(--primary-alpha-5); - - --ifm-toc-border-color: var(--border); - --ifm-heading-color: var(--text-primary); - --ifm-font-color-base: var(--text-primary); - - /* ====================================== - 提示框颜色 (亮色模式) - ====================================== */ - --alert-info: #2563eb; - --alert-info-bg: rgba(37, 99, 235, 0.08); - --alert-warning: #d97706; - --alert-warning-bg: rgba(217, 119, 6, 0.08); - --alert-danger: #dc2626; - --alert-danger-bg: rgba(220, 38, 38, 0.08); - --alert-success: #059669; - --alert-success-bg: rgba(5, 150, 105, 0.08); - --alert-note: #7c3aed; - --alert-note-bg: rgba(124, 58, 237, 0.08); -} diff --git a/src/css/components/alert.css b/src/css/components/alert.css deleted file mode 100644 index 20eec510f..000000000 --- a/src/css/components/alert.css +++ /dev/null @@ -1,376 +0,0 @@ -/* ====================================== - NitWikit 提示框样式 - 左侧边框 -====================================== */ - -/* ====================================== - 提示框基础样式 -====================================== */ -.alert, -.theme-admonition { - border-radius: var(--radius-lg); - border: 1px solid var(--border); - border-left-width: 3px; - margin-bottom: 1.5rem; - padding: 0.875rem 1rem; - box-shadow: none; - position: relative; - overflow: hidden; - background-color: var(--bg-card); /* 使用卡片背景或透明 */ -} - -/* ====================================== - 提示框标题 -====================================== */ -.alert__heading, -.theme-admonition > div:first-child { - font-weight: 600; - margin-bottom: 0.375rem; - font-size: 0.875rem; - display: flex; - align-items: center; - gap: 0.5rem; - position: relative; - z-index: 1; -} - -.alert__heading span, -.theme-admonition > div:first-child span { - display: inline-flex; - align-items: center; - justify-content: center; -} - -.alert p, -.theme-admonition > div:last-child { - position: relative; - z-index: 1; - font-size: 0.9375rem; - line-height: 1.6; - margin-bottom: 0; -} - -.alert p + p, -.theme-admonition > div:last-child p + p { - margin-top: 0.75rem; -} - -/* ====================================== - 信息提示 (Info) -====================================== */ -.alert--info, -.theme-admonition-info { - border-left-color: var(--alert-info); - background-color: var(--alert-info-bg); - --ifm-alert-color: var(--text-primary); -} - -.alert--info .alert__heading, -.theme-admonition-info > div:first-child { - color: var(--alert-info); -} - -/* ====================================== - 警告提示 (Warning) -====================================== */ -.alert--warning, -.theme-admonition-warning, -.theme-admonition-caution { - border-left-color: var(--alert-warning); - background-color: var(--alert-warning-bg); - --ifm-alert-color: var(--text-primary); -} - -.alert--warning .alert__heading, -.theme-admonition-warning > div:first-child, -.theme-admonition-caution > div:first-child { - color: var(--alert-warning); -} - -/* ====================================== - 危险提示 (Danger) -====================================== */ -.alert--danger, -.theme-admonition-danger { - border-left-color: var(--alert-danger); - background-color: var(--alert-danger-bg); - --ifm-alert-color: var(--text-primary); -} - -.alert--danger .alert__heading, -.theme-admonition-danger > div:first-child { - color: var(--alert-danger); -} - -/* ====================================== - 成功提示 (Success / Tip) -====================================== */ -.alert--success, -.theme-admonition-success, -.theme-admonition-tip { - border-left-color: var(--alert-success); - background-color: var(--alert-success-bg); - --ifm-alert-color: var(--text-primary); -} - -.alert--success .alert__heading, -.theme-admonition-success > div:first-child, -.theme-admonition-tip > div:first-child { - color: var(--alert-success); -} - -/* ====================================== - 次要提示 (Secondary / Note) -====================================== */ -.alert--secondary, -.theme-admonition-note { - border-left-color: var(--alert-note); - background-color: var(--alert-note-bg); - --ifm-alert-color: var(--text-primary); -} - -.alert--secondary .alert__heading, -.theme-admonition-note > div:first-child { - color: var(--alert-note); -} - -/* ====================================== - 引用块样式 -====================================== */ -blockquote { - border-left: 3px solid var(--primary); - background-color: var(--primary-alpha-8); - border-radius: 0 var(--radius-lg) var(--radius-lg) 0; - padding: 1rem 1.25rem; - margin: 1.5rem 0; - font-style: normal; - color: var(--text-primary); -} - -blockquote p:last-child { - margin-bottom: 0; -} - -/* ====================================== - 暗色模式 -====================================== */ -[data-theme="dark"] .alert, -[data-theme="dark"] .theme-admonition { - border-color: var(--border); - background-color: transparent; -} - -[data-theme="dark"] .alert--info, -[data-theme="dark"] .theme-admonition-info { - background-color: var(--alert-info-bg); -} - -[data-theme="dark"] .alert--warning, -[data-theme="dark"] .theme-admonition-warning, -[data-theme="dark"] .theme-admonition-caution { - background-color: var(--alert-warning-bg); -} - -[data-theme="dark"] .alert--warning .alert__heading, -[data-theme="dark"] .theme-admonition-warning > div:first-child, -[data-theme="dark"] .theme-admonition-caution > div:first-child { - color: var(--alert-warning); -} - -[data-theme="dark"] .alert--danger, -[data-theme="dark"] .theme-admonition-danger { - background-color: var(--alert-danger-bg); -} - -[data-theme="dark"] .alert--danger .alert__heading, -[data-theme="dark"] .theme-admonition-danger > div:first-child { - color: var(--alert-danger); -} - -[data-theme="dark"] .alert--success, -[data-theme="dark"] .theme-admonition-success, -[data-theme="dark"] .theme-admonition-tip { - background-color: var(--alert-success-bg); -} - -[data-theme="dark"] .alert--success .alert__heading, -[data-theme="dark"] .theme-admonition-success > div:first-child, -[data-theme="dark"] .theme-admonition-tip > div:first-child { - color: var(--alert-success); -} - -[data-theme="dark"] .alert--secondary, -[data-theme="dark"] .theme-admonition-note { - background-color: var(--alert-note-bg); -} - -[data-theme="dark"] .alert--secondary .alert__heading, -[data-theme="dark"] .theme-admonition-note > div:first-child { - color: var(--alert-note); -} - -[data-theme="dark"] blockquote { - background-color: var(--primary-alpha-10); -} - -/* ====================================== - 折叠区域样式 -====================================== */ -details { - border: 1px solid var(--border); - border-radius: var(--radius-lg); - margin-bottom: 1rem; - overflow: hidden; - background-color: var(--bg-card); - transition: border-color var(--transition-fast); -} - -details:hover { - border-color: var(--primary-alpha-border); -} - -details summary { - padding: 0.5rem 1rem; - font-weight: 500; - cursor: pointer; - display: flex; - align-items: center; - justify-content: space-between; - color: var(--text-primary); - transition: background-color var(--transition-fast); - list-style: none; -} - -details summary::-webkit-details-marker { - display: none; -} - -details summary::before { - display: none !important; -} - -details summary::after { - content: "›"; - font-size: 1.25em; - color: var(--text-light); - transition: - transform var(--transition-fast), - color var(--transition-fast); -} - -details[open] summary::after { - transform: rotate(90deg); - color: var(--primary); -} - -details summary:hover { - background-color: var(--primary-alpha-5); -} - -details[open] summary { - border-bottom: 1px solid var(--border); -} - -details > *:not(summary) { - padding: 1rem; -} - -[data-theme="dark"] details { - background-color: var(--bg-card); - border-color: var(--border); -} - -/* ====================================== - 移动端响应式 -====================================== */ -@media (max-width: 768px) { - .alert, - .theme-admonition { - padding: 0.75rem 0.875rem; - margin-bottom: 1.25rem; - border-radius: var(--radius-md); - } - - .alert__heading, - .theme-admonition > div:first-child { - font-size: 0.8125rem; - margin-bottom: 0.25rem; - } - - .alert p, - .theme-admonition > div:last-child { - font-size: 0.875rem; - line-height: 1.55; - } - - blockquote { - padding: 0.875rem 1rem; - margin: 1.25rem 0; - } - - details { - margin-bottom: 1rem; - } - - details summary { - padding: 0.625rem 0.875rem; - /* 确保触摸目标足够大 */ - min-height: 44px; - display: flex; - align-items: center; - } - - details > *:not(summary) { - padding: 0.875rem; - } -} - -@media (max-width: 540px) { - .alert, - .theme-admonition { - padding: 0.625rem 0.75rem; - margin-bottom: 1rem; - /* 移动端略微突破容器边缘 */ - margin-left: -0.25rem; - margin-right: -0.25rem; - border-radius: var(--radius-sm); - } - - .alert__heading, - .theme-admonition > div:first-child { - font-size: 0.75rem; - gap: 0.25rem; - } - - .alert p, - .theme-admonition > div:last-child { - font-size: 0.8125rem; - } - - blockquote { - padding: 0.75rem 0.875rem; - margin: 1rem 0; - margin-left: -0.25rem; - margin-right: -0.25rem; - border-radius: 0 var(--radius-md) var(--radius-md) 0; - } - - details { - margin-left: -0.25rem; - margin-right: -0.25rem; - border-radius: var(--radius-md); - } - - details summary { - padding: 0.625rem 0.75rem; - font-size: 0.9375rem; - } - - details > *:not(summary) { - padding: 0.75rem; - } - - details summary::after { - font-size: 1.125em; - } -} diff --git a/src/css/components/button.css b/src/css/components/button.css deleted file mode 100644 index 5fa7672bb..000000000 --- a/src/css/components/button.css +++ /dev/null @@ -1,123 +0,0 @@ -/* ====================================== - NitWikit 按钮样式 - 简洁设计 + 主题适配 -====================================== */ - -/* ====================================== - 按钮基础样式 -====================================== */ -.button { - display: inline-flex; - align-items: center; - justify-content: center; - padding: 0.625rem 1.25rem; - border-radius: var(--radius-md); - font-weight: 600; - font-size: 0.9375rem; - text-decoration: none; - cursor: pointer; - transition: all var(--transition-fast); - border: none; - gap: 0.5rem; -} - -/* ====================================== - 主按钮 -====================================== */ -.button--primary { - background-color: var(--primary); - color: var(--slate-950) !important; -} - -.button--primary:hover { - background-color: var(--primary-light); - text-decoration: none; -} - -.button--primary:active { - background-color: var(--primary-dark); -} - -/* ====================================== - 次要按钮 -====================================== */ -.button--secondary { - background-color: transparent; - color: var(--text-primary) !important; - border: 1px solid var(--border); -} - -.button--secondary:hover { - background-color: var(--bg-muted); - border-color: var(--border-dark); - text-decoration: none; -} - -/* ====================================== - 链接按钮 -====================================== */ -.button--link { - background-color: transparent; - color: var(--primary) !important; - padding: 0; -} - -.button--link:hover { - text-decoration: underline; -} - -/* ====================================== - 按钮尺寸 -====================================== */ -.button--sm { - padding: 0.375rem 0.75rem; - font-size: 0.8125rem; -} - -.button--lg { - padding: 0.875rem 1.75rem; - font-size: 1rem; -} - -/* ====================================== - 块级按钮 -====================================== */ -.button--block { - width: 100%; -} - -/* ====================================== - 禁用状态 -====================================== */ -.button:disabled, -.button--disabled { - opacity: 0.5; - cursor: not-allowed; - pointer-events: none; -} - -/* ====================================== - 带图标的按钮 -====================================== */ -.button svg, -.button img { - width: 1em; - height: 1em; -} - -/* ====================================== - 暗色模式 -====================================== */ -[data-theme="dark"] .button--primary { - color: var(--slate-950) !important; -} - -[data-theme="dark"] .button--secondary { - color: var(--text-primary) !important; - border-color: var(--border); -} - -[data-theme="dark"] .button--secondary:hover { - background-color: var(--bg-elevated); - border-color: var(--border-dark); -} diff --git a/src/css/components/card.css b/src/css/components/card.css deleted file mode 100644 index f456e82c4..000000000 --- a/src/css/components/card.css +++ /dev/null @@ -1,273 +0,0 @@ -/* ====================================== - NitWikit 卡片样式 - 简洁悬停 + 渐变装饰 + 发光效果 -====================================== */ - -/* ====================================== - 卡片基础样式 -====================================== */ -.card { - border-radius: var(--radius-xl); - border: 1px solid var(--border); - transition: - border-color var(--transition-base), - box-shadow var(--transition-base), - transform var(--transition-base); - padding: 1.5rem !important; - text-decoration: none !important; - display: flex; - flex-direction: column; - background-color: var(--bg-card); - position: relative; - overflow: hidden; - height: 100%; -} - -/* 卡片内渐变装饰 */ -.card::before { - content: ""; - position: absolute; - top: 0; - left: 0; - right: 0; - height: 100%; - background: linear-gradient(135deg, var(--primary-alpha-5) 0%, transparent 50%, transparent 100%); - opacity: 0; - transition: opacity var(--transition-base); - pointer-events: none; -} - -.card:hover { - border-color: var(--primary-alpha-border); - box-shadow: var(--shadow-md); - transform: translateY(-2px); -} - -.card:hover::before { - opacity: 1; -} - -/* 移除底部装饰条 */ -a.card::after { - display: none; -} - -/* ====================================== - 卡片标题 -====================================== */ -.card h2 { - margin-top: 0; - margin-bottom: 0.75rem; - font-size: 1.25rem; - font-weight: 600; - color: var(--ifm-heading-color); - display: flex; - align-items: center; - gap: 0.5rem; - position: relative; - z-index: 1; -} - -/* ====================================== - 卡片图标/图片 -====================================== */ -.card img { - width: 24px; - height: 24px; - border-radius: var(--radius-sm); - flex-shrink: 0; -} - -/* ====================================== - 卡片描述 -====================================== */ -.card p { - margin-bottom: 0; - font-size: 0.9375rem; - color: var(--text-secondary); - line-height: 1.6; - position: relative; - z-index: 1; -} - -/* ====================================== - 卡片链接 -====================================== */ -.card a { - color: var(--primary-text); - font-weight: 500; - text-decoration: none; -} - -.card a:hover { - text-decoration: underline; - color: var(--primary-dark); -} - -/* ====================================== - 卡片页脚 -====================================== */ -.card footer { - margin-top: auto; - padding-top: 1rem; - font-size: 0.8125rem; - color: var(--primary-text); - display: flex; - justify-content: space-between; - align-items: center; - position: relative; - z-index: 1; -} - -/* ====================================== - 卡片网格布局 -====================================== */ -.row .col--6 { - margin-bottom: 1.25rem; -} - -/* ====================================== - 文档导航卡片 -====================================== */ -a.card.padding--lg.cardContainer_fWXF { - border-radius: var(--radius-xl); - border: 1px solid var(--border); - transition: all var(--transition-base); - padding: 1.5rem !important; - background-color: var(--bg-card); - box-shadow: none; - position: relative; - overflow: hidden; -} - -a.card.padding--lg.cardContainer_fWXF::before { - content: ""; - position: absolute; - top: 0; - left: 0; - right: 0; - height: 100%; - background: linear-gradient(135deg, var(--primary-alpha-5) 0%, transparent 50%); - opacity: 0; - transition: opacity var(--transition-base); -} - -a.card.padding--lg.cardContainer_fWXF:hover { - transform: translateY(-2px); - border-color: var(--primary-alpha-border); - box-shadow: var(--shadow-md); -} - -a.card.padding--lg.cardContainer_fWXF:hover::before { - opacity: 1; -} - -a.card.padding--lg.cardContainer_fWXF::after { - display: none; -} - -a.card.padding--lg.cardContainer_fWXF h2 { - margin-top: 0; - margin-bottom: 0.75rem; - font-size: 1.25rem; - font-weight: 600; - position: relative; - z-index: 1; -} - -a.card.padding--lg.cardContainer_fWXF p { - font-size: 0.9375rem; - color: var(--text-secondary); - position: relative; - z-index: 1; -} - -/* ====================================== - 暗色模式适配 -====================================== */ -[data-theme="dark"] .card, -[data-theme="dark"] a.card.padding--lg.cardContainer_fWXF { - background-color: var(--bg-card); - border-color: var(--border); -} - -[data-theme="dark"] .card:hover, -[data-theme="dark"] a.card.padding--lg.cardContainer_fWXF:hover { - border-color: var(--primary-alpha-border); - box-shadow: var(--shadow-md), var(--shadow-glow); -} - -[data-theme="dark"] .card::before, -[data-theme="dark"] a.card.padding--lg.cardContainer_fWXF::before { - background: linear-gradient(135deg, var(--primary-alpha-8) 0%, transparent 50%); -} - -/* ====================================== - 特性卡片样式 -====================================== */ -.featureCard, -[class*="featureCard"] { - background-color: var(--bg-card); - border: 1px solid var(--border); - border-radius: var(--radius-xl); - transition: all var(--transition-base); - position: relative; - overflow: hidden; -} - -.featureCard::before, -[class*="featureCard"]::before { - content: ""; - position: absolute; - top: 0; - left: 0; - right: 0; - height: 100%; - background: linear-gradient(135deg, var(--primary-alpha-5) 0%, transparent 50%); - opacity: 0; - transition: opacity var(--transition-base); -} - -.featureCard:hover, -[class*="featureCard"]:hover { - border-color: var(--primary-alpha-border); - box-shadow: var(--shadow-md); - transform: translateY(-2px); -} - -.featureCard:hover::before, -[class*="featureCard"]:hover::before { - opacity: 1; -} - -[data-theme="dark"] .featureCard, -[data-theme="dark"] [class*="featureCard"] { - background-color: var(--bg-card); - border-color: var(--border); -} - -[data-theme="dark"] .featureCard:hover, -[data-theme="dark"] [class*="featureCard"]:hover { - box-shadow: var(--shadow-md), var(--shadow-glow); -} - -/* ====================================== - 响应式调整 -====================================== */ -@media (max-width: 996px) { - .card { - padding: 1.25rem !important; - } - - .card h2 { - font-size: 1.125rem; - } - - .card p { - font-size: 0.875rem; - } - - .card:hover { - transform: translateY(-1px); - } -} diff --git a/src/css/components/code.css b/src/css/components/code.css deleted file mode 100644 index 16ce61d82..000000000 --- a/src/css/components/code.css +++ /dev/null @@ -1,283 +0,0 @@ -/* ====================================== - NitWikit 代码块样式 - 简洁设计 -====================================== */ - -/* ====================================== - 代码块容器 -====================================== */ -pre { - border-radius: var(--radius-lg); - margin: 1.5rem 0; - overflow: hidden; - position: relative; - border: 1px solid var(--border); - background-color: var(--slate-100) !important; -} - -/* ====================================== - 代码文本 -====================================== */ -code { - font-family: var(--font-mono); - font-size: 0.875rem; - line-height: 1.7; - position: relative; -} - -pre code { - display: block; - padding: 1rem 1.25rem; - overflow-x: auto; - background: transparent !important; -} - -/* ====================================== - 行内代码 -====================================== */ -:not(pre) > code { - background: linear-gradient(135deg, var(--primary-alpha-10) 0%, var(--primary-alpha-5) 100%); - color: var(--primary-text); - padding: 0.2rem 0.4rem; - border-radius: var(--radius-sm); - font-size: 0.875em; - font-weight: 500; - border: 1px solid var(--primary-alpha-10); -} - -/* ====================================== - 代码块标题/语言标签 -====================================== */ -.prism-code { - background-color: transparent !important; -} - -div[class*="codeBlockTitle"] { - background: linear-gradient(135deg, var(--slate-200) 0%, var(--slate-100) 100%); - border-bottom: 1px solid var(--border); - padding: 0.5rem 1rem; - font-size: 0.8125rem; - font-weight: 600; - color: var(--text-secondary); - font-family: var(--font-mono); -} - -/* ====================================== - 代码行高亮 -====================================== */ -.theme-code-block-highlighted-line { - background: linear-gradient(90deg, var(--primary-alpha-15) 0%, var(--primary-alpha-5) 100%); - display: block; - margin: 0 -1.25rem; - padding: 0 1.25rem; - border-left: 3px solid var(--primary); -} - -/* 错误行高亮 */ -.code-block-error-line { - background: linear-gradient(90deg, rgba(239, 68, 68, 0.15) 0%, rgba(239, 68, 68, 0.05) 100%); - display: block; - margin: 0 -1.25rem; - padding: 0 1.25rem; - border-left: 3px solid var(--alert-danger); -} - -/* ====================================== - 代码块复制按钮 -====================================== */ -button[class*="copyButton"] { - background: var(--bg-muted); - border: 1px solid var(--border); - border-radius: var(--radius-md); - color: var(--text-secondary); - padding: 0.375rem 0.625rem; - font-size: 0.75rem; - transition: all var(--transition-fast); - position: relative; - z-index: 2; -} - -button[class*="copyButton"]:hover { - background: var(--bg-elevated); - color: var(--primary); - border-color: var(--primary-alpha-border); -} - -/* ====================================== - 暗色模式 -====================================== */ -[data-theme="dark"] pre { - background-color: var(--slate-900) !important; - border-color: var(--border); -} - -[data-theme="dark"] div[class*="codeBlockTitle"] { - background: linear-gradient(135deg, var(--slate-800) 0%, var(--slate-900) 100%); - border-bottom-color: var(--border); -} - -[data-theme="dark"] :not(pre) > code { - background: linear-gradient(135deg, var(--primary-alpha-15) 0%, var(--primary-alpha-10) 100%); - color: var(--primary-light); - border-color: var(--primary-alpha-20); -} - -[data-theme="dark"] .theme-code-block-highlighted-line { - background: linear-gradient(90deg, var(--primary-alpha-20) 0%, var(--primary-alpha-8) 100%); -} - -[data-theme="dark"] button[class*="copyButton"] { - background: var(--slate-800); - border-color: var(--border); - color: var(--text-secondary); -} - -[data-theme="dark"] button[class*="copyButton"]:hover { - background: var(--slate-700); - color: var(--primary); - border-color: var(--primary-alpha-border); -} - -/* ====================================== - 代码块滚动条 -====================================== */ -pre::-webkit-scrollbar { - height: 6px; -} - -pre::-webkit-scrollbar-track { - background: transparent; -} - -pre::-webkit-scrollbar-thumb { - background: var(--slate-300); - border-radius: 100px; -} - -pre::-webkit-scrollbar-thumb:hover { - background: var(--slate-400); -} - -[data-theme="dark"] pre::-webkit-scrollbar-thumb { - background: var(--slate-700); -} - -[data-theme="dark"] pre::-webkit-scrollbar-thumb:hover { - background: var(--slate-600); -} - -/* ====================================== - 移动端响应式 -====================================== */ -@media (max-width: 768px) { - pre { - margin: 1.25rem 0; - border-radius: var(--radius-md); - } - - code { - font-size: 0.8125rem; - line-height: 1.6; - } - - pre code { - padding: 0.875rem 1rem; - } - - :not(pre) > code { - font-size: 0.8125em; - padding: 0.15rem 0.35rem; - } - - div[class*="codeBlockTitle"] { - padding: 0.5rem 0.875rem; - font-size: 0.75rem; - } - - .theme-code-block-highlighted-line { - margin: 0 -1rem; - padding: 0 1rem; - } - - .code-block-error-line { - margin: 0 -1rem; - padding: 0 1rem; - } - - /* 增大复制按钮触摸区域 */ - button[class*="copyButton"] { - padding: 0.5rem 0.75rem; - font-size: 0.8125rem; - min-height: 36px; - min-width: 36px; - } -} - -@media (max-width: 540px) { - pre { - margin: 1rem 0; - /* 移动端全宽,略微突破容器 */ - margin-left: -0.5rem; - margin-right: -0.5rem; - border-radius: 0; - border-left: none; - border-right: none; - } - - code { - font-size: 0.75rem; - } - - pre code { - padding: 0.75rem 1rem; - } - - :not(pre) > code { - font-size: 0.75em; - } - - div[class*="codeBlockTitle"] { - padding: 0.5rem 1rem; - } - - /* 复制按钮更易触摸 */ - button[class*="copyButton"] { - padding: 0.5rem 0.625rem; - min-height: 40px; - min-width: 40px; - } -} - -/* ====================================== - 代码块行号 -====================================== */ -.prism-code .token-line { - position: relative; -} - -/* ====================================== - 语法高亮增强 -====================================== */ -.token.comment, -.token.prolog, -.token.doctype, -.token.cdata { - color: var(--slate-500); - font-style: italic; -} - -.token.keyword { - color: #c678dd; -} - -.token.string { - color: #98c379; -} - -.token.function { - color: #61afef; -} - -.token.number { - color: #d19a66; -} diff --git a/src/css/components/footer.css b/src/css/components/footer.css deleted file mode 100644 index 9ed2577bf..000000000 --- a/src/css/components/footer.css +++ /dev/null @@ -1,158 +0,0 @@ -/* ====================================== - NitWikit 页脚样式 - 简洁分割线 + 统一背景 -====================================== */ - -/* ====================================== - 页脚容器 -====================================== */ -.footer { - background-color: var(--bg-light); - color: var(--text-secondary); - padding: 3rem 0 2rem; - border-top: 1px solid var(--border); - transition: - background-color var(--transition-base), - border-color var(--transition-base); -} - -/* 移除顶部装饰条 */ -.footer::before { - display: none; -} - -/* ====================================== - 页脚标题 -====================================== */ -.footer__title { - color: var(--text-primary); - font-weight: 600; - margin-bottom: 1rem; - font-size: 0.9375rem; -} - -/* ====================================== - 页脚链接 -====================================== */ -.footer__link-item { - color: var(--text-secondary); - transition: - color var(--transition-fast), - background-color var(--transition-fast); - padding: 0.25rem 0.5rem; - margin: -0.25rem -0.5rem; - display: inline-block; - font-weight: 400; - font-size: 0.875rem; - border-radius: var(--radius-sm); -} - -.footer__link-item:hover { - color: var(--primary-text); - background-color: var(--primary-alpha-5); - text-decoration: none; -} - -/* ====================================== - 页脚链接列表 -====================================== */ -.footer__links { - margin-bottom: 1.5rem; -} - -.footer__items { - list-style: none; - padding: 0; - margin: 0; -} - -.footer__item { - margin-bottom: 0.5rem; -} - -/* ====================================== - 页脚列 -====================================== */ -.footer__col { - margin-bottom: 1.5rem; -} - -/* ====================================== - 版权信息 -====================================== */ -.footer__copyright { - color: var(--text-light); - font-size: 0.8125rem; - margin-top: 2rem; - text-align: center; - padding-top: 1.5rem; - border-top: 1px solid var(--border); -} - -.footer__copyright a { - color: var(--text-secondary); -} - -.footer__copyright a:hover { - color: var(--primary); -} - -/* ====================================== - 页脚 Logo -====================================== */ -.footer__logo { - margin-bottom: 1rem; -} - -.footer__logo img { - height: 2rem; -} - -/* ====================================== - 响应式调整 -====================================== */ -@media (max-width: 996px) { - .footer { - padding: 2rem 0 1.5rem; - } - - .footer__col { - margin-bottom: 2rem; - } - - .footer__copyright { - margin-top: 1.5rem; - padding-top: 1rem; - } -} - -@media (max-width: 576px) { - .footer { - padding: 1.5rem 0 1rem; - text-align: center; - } - - .footer__title { - margin-top: 1rem; - } - - .footer__link-item { - padding: 0.375rem 0; - } - - .footer__copyright { - margin-top: 1rem; - } -} - -/* ====================================== - 暗色模式 -====================================== */ -[data-theme="dark"] .footer { - background-color: var(--bg-dark); - border-top-color: var(--border); -} - -[data-theme="dark"] .footer__copyright { - border-top-color: var(--border); -} diff --git a/src/css/components/navbar.css b/src/css/components/navbar.css deleted file mode 100644 index 4acdbe754..000000000 --- a/src/css/components/navbar.css +++ /dev/null @@ -1,394 +0,0 @@ -/* ====================================== - NitWikit 导航栏样式 - 毛玻璃效果 + 渐变底线 -====================================== */ - -.navbar { - height: var(--ifm-navbar-height); - padding: 0 var(--ifm-navbar-padding-horizontal); - display: flex; - align-items: center; - background: var(--ifm-navbar-background-color); - transition: all var(--transition-base); - box-shadow: none !important; - position: relative; -} - -/* ====================================== - 品牌区域 -====================================== */ -.navbar__brand { - font-weight: 700; - color: var(--text-primary); - display: flex; - align-items: center; - gap: 0.5rem; -} - -.navbar__title { - font-size: 1.125rem; - letter-spacing: -0.01em; - font-weight: 700; - background: linear-gradient(135deg, var(--text-primary) 0%, var(--text-secondary) 100%); - -webkit-background-clip: text; - -webkit-text-fill-color: transparent; - background-clip: text; -} - -.navbar__logo { - height: 1.75rem; - width: 1.75rem; - transition: transform var(--transition-base); -} - -.navbar__brand:hover .navbar__logo { - transform: scale(1.05) rotate(5deg); -} - -.navbar__brand:hover .navbar__title { - background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%); - -webkit-background-clip: text; - background-clip: text; -} - -/* ====================================== - 导航链接 -====================================== */ -.navbar__link { - display: flex; - align-items: center; - font-size: 0.9375rem; - padding: 0.5rem 0.875rem; - border-radius: var(--radius-md); - color: var(--text-secondary); - transition: all var(--transition-fast); - font-weight: 500; - position: relative; -} - -.navbar__link::before { - content: ""; - position: absolute; - bottom: 0; - left: 50%; - transform: translateX(-50%); - width: 0; - height: 2px; - background: var(--primary); - transition: width var(--transition-fast); - border-radius: 1px; -} - -.navbar__link:hover { - color: var(--primary-text); - background-color: transparent; - text-decoration: none; -} - -.navbar__link:hover::before { - width: 60%; -} - -.navbar__link--active { - font-weight: 600; - color: var(--primary-text); -} - -.navbar__link--active::before { - width: 60%; -} - -/* ====================================== - 导航项 -====================================== */ -.navbar__item { - margin: 0 0.125rem; -} - -.navbar__items { - display: flex; - align-items: center; - height: 100%; -} - -.navbar__items--right { - gap: 0.25rem; -} - -/* ====================================== - 导航栏内部布局 -====================================== */ -.navbar__inner { - display: flex; - align-items: center; - height: 100%; - width: 100%; - justify-content: space-between; -} - -/* ====================================== - 搜索框 -====================================== */ -.navbar__search { - margin-left: 0.5rem; -} - -.navbar__search-input { - height: 2.25rem; - border-radius: var(--radius-lg); - background-color: var(--bg-muted); - border: 1px solid var(--border); - transition: all var(--transition-fast); - padding: 0 0.875rem; - font-size: 0.875rem; - width: 10rem; - color: var(--text-primary); -} - -.navbar__search-input::placeholder { - color: var(--text-light); -} - -.navbar__search-input:focus { - background-color: var(--bg-card); - border-color: var(--primary); - box-shadow: - 0 0 0 3px var(--primary-alpha-10), - var(--shadow-glow); - outline: none; - width: 12rem; -} - -/* ====================================== - GitHub 链接 -====================================== */ -.header-github-link { - @apply hidden md:flex items-center justify-center; - width: 2rem; - height: 2rem; - border-radius: 50%; - color: var(--text-secondary); - transition: all var(--transition-fast); - position: relative; -} - -.header-github-link:hover { - background-color: var(--ifm-color-emphasis-200); -} - -.header-github-link::before { - content: ""; - width: 1.25rem; - height: 1.25rem; - background: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E") - no-repeat; - position: absolute; - top: 50%; - left: 50%; - transform: translate(-50%, -50%); -} - -.header-github-link:hover::before { - width: 1.25rem !important; - height: 1.25rem !important; -} - -[data-theme="dark"] .header-github-link::before { - background: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='white' d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E") - no-repeat; -} - -/* ====================================== - 主题切换按钮 -====================================== */ -button[class*="colorModeToggle"] { - border-radius: var(--radius-md); - transition: all var(--transition-fast); -} - -/* ====================================== - 移动端响应式 -====================================== */ -@media (max-width: 996px) { - .navbar { - height: auto; - min-height: var(--ifm-navbar-height); - padding: 0.75rem 1rem; - } - - .navbar__inner { - position: relative; - display: flex; - justify-content: space-between; - align-items: center; - } - - /* - * 核心:隐藏导航链接(通用、Java、Bedrock、关于我们) - * 导航链接同时具有 .navbar__item 和 .navbar__link 类 - */ - .navbar__item.navbar__link { - display: none !important; - } - - /* 隐藏下拉菜单类型的导航项 */ - .navbar__item.dropdown { - display: none !important; - } - - /* 品牌居中显示 */ - .navbar__brand { - display: flex !important; - position: absolute; - left: 50%; - transform: translateX(-50%); - z-index: 1; - } - - .navbar__title { - font-size: 1.0625rem; - } - - .navbar__logo { - height: 1.5rem; - width: 1.5rem; - } - - /* 汉堡菜单按钮 */ - .navbar__toggle { - position: relative; - z-index: 10; - } - - /* 右侧搜索和 GitHub */ - .navbar__items--right { - position: relative; - z-index: 10; - margin-left: auto; - } - - /* 显示搜索 */ - .navbar__search, - .DocSearch-Button { - display: flex !important; - } - - /* 移动端隐藏 GitHub 链接 */ - .header-github-link { - display: none !important; - } - - /* 侧边栏样式 */ - .navbar-sidebar { - z-index: 15 !important; - height: 100vh !important; - max-height: none !important; - background: var(--bg-card); - } - - .navbar-sidebar__backdrop { - background: rgba(0, 0, 0, 0.5); - backdrop-filter: blur(4px); - } - - .navbar__link::before { - display: none; - } -} - -/* ====================================== - 移动端侧边栏导航 -====================================== */ -.navbar-sidebar__brand { - padding: 1rem; - border-bottom: 1px solid var(--border); -} - -.navbar-sidebar__close { - color: var(--text-secondary); - /* 增大触摸区域 */ - min-width: 44px; - min-height: 44px; - display: flex; - align-items: center; - justify-content: center; -} - -.navbar-sidebar__items { - /* 移除 padding,由子元素控制边距 */ - padding: 0; -} - -/* 移动端返回按钮样式 */ -.navbar-sidebar__back { - background: transparent; - border: none; - color: var(--text-secondary); - padding: 0.75rem 1rem; - display: flex; - align-items: center; - /* 确保与其他菜单项对齐 */ - width: calc(100% - 2rem); - margin: 0 1rem 0.5rem 1rem; - font-weight: 600; - border-radius: var(--radius-md); - transition: background-color var(--transition-fast); -} - -.navbar-sidebar__back:hover { - background-color: var(--bg-muted); - color: var(--text-primary); -} - -/* 移动端侧边栏链接优化触摸目标 */ -.navbar-sidebar__item { - min-height: 44px; - display: block; /* 改为 block 避免 flex 挤压 */ -} - -.navbar-sidebar .menu__link { - min-height: 44px; - padding: 0.75rem 1rem; - display: flex; - align-items: center; - width: 100%; /* 确保占满宽度 */ - white-space: nowrap; /* 防止文字换行 */ -} - -/* ====================================== - 小屏幕额外优化 -====================================== */ -@media (max-width: 540px) { - .navbar { - padding: 0.5rem 0.75rem; - } - - .navbar__title { - font-size: 1rem; - } - - .navbar__logo { - height: 1.375rem; - width: 1.375rem; - } - - /* 汉堡菜单触摸区域 */ - .navbar__toggle { - min-width: 44px; - min-height: 44px; - padding: 0.5rem; - } - - .navbar-sidebar { - width: 85vw; - max-width: 320px; - } - - .navbar-sidebar__brand { - padding: 0.875rem; - } - - .navbar-sidebar__items { - padding: 0; - } -} diff --git a/src/css/components/sidebar.css b/src/css/components/sidebar.css deleted file mode 100644 index 94efca55b..000000000 --- a/src/css/components/sidebar.css +++ /dev/null @@ -1,231 +0,0 @@ -/* ====================================== - NitWikit 侧边栏样式 - 左侧活动指示条 + 层级缩进 -====================================== */ - -.theme-doc-sidebar-container { - border: none !important; - border-right: 1px solid var(--border) !important; - background-color: var(--bg-card); - transition: background-color var(--transition-base); - display: block; - min-width: 0; - flex-shrink: 0; -} - -/* ====================================== - 菜单容器 -====================================== */ -.menu { - padding: 1.5rem 1rem 2rem; - background-color: transparent; -} - -.menu__list { - margin-bottom: 0.5rem; - padding-left: 0; -} - -.menu__list-item { - margin: 0.125rem 0; -} - -/* ====================================== - 菜单链接 -====================================== */ -.menu__link { - position: relative; - border-radius: var(--radius-md); - font-size: 0.9375rem; - padding: 0.5rem 0.75rem; - padding-left: 1rem; - transition: - color var(--transition-fast), - background-color var(--transition-fast); - line-height: 1.5; - font-weight: 400; - color: var(--text-secondary); -} - -.menu__link:hover { - background-color: var(--ifm-menu-color-background-hover); - color: var(--primary-text); -} - -/* 活动状态 - 左侧指示条 */ -.menu__link--active { - font-weight: 500; - background-color: var(--ifm-menu-color-background-active); - color: var(--primary-text); -} - -.menu__link--active::before { - content: ""; - position: absolute; - left: 0; - top: 50%; - transform: translateY(-50%); - width: 3px; - height: 60%; - background: var(--primary); - border-radius: 0 2px 2px 0; -} - -/* ====================================== - 可折叠菜单项 -====================================== */ -.menu__list-item-collapsible { - border-radius: var(--radius-md); - font-weight: 500; -} - -.menu__list-item-collapsible:hover { - background-color: var(--ifm-menu-color-background-hover); -} - -.menu__list-item-collapsible--active { - background-color: var(--ifm-menu-color-background-active); -} - -.menu__caret { - padding: 0.25rem; -} - -.menu__caret::before, -.menu__link--sublist-caret::after { - transition: transform var(--transition-fast); - opacity: 0.6; -} - -/* ====================================== - 嵌套菜单 -====================================== */ -.menu__list .menu__list { - margin-top: 0.25rem; - margin-bottom: 0.25rem; - margin-left: 0.75rem; - padding-left: 0.75rem; - border-left: 1px solid var(--border); -} - -.menu__list .menu__list .menu__link { - padding: 0.375rem 0.75rem; - padding-left: 1rem; - font-size: 0.875rem; - font-weight: 400; - color: var(--text-secondary); -} - -.menu__list .menu__list .menu__link:hover { - color: var(--primary-text); -} - -.menu__list .menu__list .menu__link--active { - color: var(--primary-text); - font-weight: 500; -} - -.menu__list .menu__list .menu__link--active::before { - height: 50%; -} - -/* ====================================== - 分类标题 -====================================== */ -.theme-doc-sidebar-menu > .menu__list-item > .menu__link { - font-weight: 600; - font-size: 0.8125rem; - text-transform: uppercase; - letter-spacing: 0.04em; - color: var(--text-secondary); - padding: 0.75rem 0.75rem 0.5rem; - margin-top: 1rem; -} - -.theme-doc-sidebar-menu > .menu__list-item:first-child > .menu__link { - margin-top: 0; -} - -/* ====================================== - 移动端侧边栏 -====================================== */ -@media (max-width: 996px) { - .theme-doc-sidebar-container { - border-right: none !important; - } - - .menu { - padding: 1rem; - } - - .menu__link { - padding: 0.625rem 0.75rem; - padding-left: 1rem; - /* 确保触摸目标足够大 */ - min-height: 44px; - display: flex; - align-items: center; - } - - .menu__list-item-collapsible { - display: flex; - align-items: center; - min-height: 44px; - } - - .menu__list-item-collapsible .menu__link { - flex: 1; - } - - .menu__caret { - padding: 0.5rem; - min-width: 32px; - min-height: 32px; - flex-shrink: 0; - margin-right: 0.5rem; - } - - /* 嵌套菜单项也需要足够的触摸区域 */ - .menu__list .menu__list .menu__link { - min-height: 40px; - padding: 0.5rem 0.75rem; - padding-left: 1rem; - } -} - -@media (max-width: 540px) { - .menu { - padding: 0.875rem; - } - - .menu__link { - font-size: 0.9375rem; - padding: 0.75rem 0.625rem; - padding-left: 0.875rem; - } - - .menu__list .menu__list { - margin-left: 0.5rem; - padding-left: 0.625rem; - } - - .menu__list .menu__list .menu__link { - font-size: 0.875rem; - padding: 0.625rem 0.625rem; - padding-left: 0.875rem; - } - - /* 分类标题移动端调整 */ - .theme-doc-sidebar-menu > .menu__list-item > .menu__link { - font-size: 0.75rem; - padding: 0.625rem 0.625rem 0.375rem; - margin-top: 0.75rem; - } -} - -/* ====================================== - 暗色模式适配 -====================================== */ -[data-theme="dark"] .menu__list .menu__list { - border-left-color: var(--border); -} diff --git a/src/css/components/table.css b/src/css/components/table.css deleted file mode 100644 index 4356d49ee..000000000 --- a/src/css/components/table.css +++ /dev/null @@ -1,135 +0,0 @@ -/* ====================================== - NitWikit 表格样式 - 简洁边框 + 柔和配色 -====================================== */ - -/* ====================================== - 表格容器 -====================================== */ -table { - width: 100%; - border-collapse: collapse; - border-spacing: 0; - border-radius: var(--radius-lg); - overflow: hidden; - margin-bottom: 1.5rem; - border: 1px solid var(--border); - font-size: 0.9375rem; -} - -/* ====================================== - 表头 -====================================== */ -thead { - background-color: var(--bg-muted); -} - -th { - font-weight: 600; - text-align: left; - padding: 0.75rem 1rem; - border-bottom: 1px solid var(--border); - color: var(--text-primary); - font-size: 0.875rem; -} - -/* ====================================== - 表格单元格 -====================================== */ -td { - padding: 0.75rem 1rem; - border-bottom: 1px solid var(--border); - color: var(--text-primary); - vertical-align: top; -} - -/* 最后一行无底边框 */ -tr:last-child td { - border-bottom: none; -} - -/* ====================================== - 斑马纹效果 -====================================== */ -tbody tr:nth-child(even) { - background-color: var(--bg-light); -} - -/* ====================================== - 悬停效果 -====================================== */ -tbody tr:hover { - background-color: var(--primary-alpha-5); -} - -/* ====================================== - 表格内链接 -====================================== */ -td a { - color: var(--primary-text); - text-decoration: none; -} - -td a:hover { - text-decoration: underline; - color: var(--primary-dark); -} - -/* ====================================== - 表格内代码 -====================================== */ -td code { - font-size: 0.8125rem; - padding: 0.125rem 0.375rem; -} - -/* ====================================== - 响应式表格 -====================================== */ -.table-wrapper { - overflow-x: auto; - margin-bottom: 1.5rem; -} - -@media (max-width: 768px) { - table { - font-size: 0.875rem; - } - - th, - td { - padding: 0.625rem 0.75rem; - } -} - -/* ====================================== - 暗色模式 -====================================== */ -[data-theme="dark"] table { - border-color: var(--border); -} - -[data-theme="dark"] thead { - background-color: var(--bg-elevated); -} - -[data-theme="dark"] th { - border-bottom-color: var(--border); - color: var(--text-primary); -} - -[data-theme="dark"] td { - border-bottom-color: var(--border); -} - -[data-theme="dark"] tbody tr:nth-child(even) { - background-color: rgba(30, 41, 59, 0.5); -} - -[data-theme="dark"] tbody tr:hover { - background-color: var(--primary-alpha-10); -} - -[data-theme="dark"] td a { - color: var(--primary); -} diff --git a/src/css/custom.css b/src/css/custom.css deleted file mode 100644 index c6ed2347e..000000000 --- a/src/css/custom.css +++ /dev/null @@ -1,43 +0,0 @@ -/* ====================================== - NitWikit 样式入口文件 - 借鉴 Nuxt 设计系统 -====================================== */ - -/* ====================================== - 字体引入 -====================================== */ -@import url("https://fontsapi.zeoseven.com/442/main/result.css"); - -/* ====================================== - TailwindCSS 基础 -====================================== */ -@layer theme, base, components, utilities; - -@import "tailwindcss/theme.css" layer(theme); -@import "tailwindcss/utilities.css" layer(utilities); - -/* ====================================== - 基础样式 -====================================== */ -@import "./base/variables.css"; -@import "./base/theme.css"; -@import "./base/typography.css"; - -/* ====================================== - 组件样式 -====================================== */ -@import "./components/navbar.css"; -@import "./components/sidebar.css"; -@import "./components/card.css"; -@import "./components/button.css"; -@import "./components/code.css"; -@import "./components/table.css"; -@import "./components/alert.css"; -@import "./components/footer.css"; - -/* ====================================== - 工具类样式 -====================================== */ -@import "./utilities/scrollbar.css"; -@import "./utilities/responsive.css"; -@import "./utilities/search.css"; diff --git a/src/css/github.css b/src/css/github.css deleted file mode 100644 index 6a4b06722..000000000 --- a/src/css/github.css +++ /dev/null @@ -1,4 +0,0 @@ -/* ====================================== - NitWikit GitHub 图标样式 - 与主题系统统一 -====================================== */ diff --git a/src/css/structure_explorer.css b/src/css/structure_explorer.css deleted file mode 100644 index 65452bead..000000000 --- a/src/css/structure_explorer.css +++ /dev/null @@ -1,105 +0,0 @@ -@layer theme, base, components, utilities; - -@import "tailwindcss/theme.css" layer(theme); -@import "tailwindcss/utilities.css" layer(utilities); - -/* Outer Container */ -.config-explorer-code-outer-container { - @apply overflow-visible flex flex-col; -} - -/* File Node */ -.config-explorer-file-node { - @apply flex items-center rounded-[10px] w-fit shrink-0 whitespace-nowrap cursor-default; -} - -.config-explorer-file-node-with-link, -.config-explorer-file-folder-node-with-link { - @apply font-bold; -} - -.config-explorer-file-node-with-link:hover, -.config-explorer-file-folder-node-with-link:hover { - @apply bg-black/10 cursor-pointer no-underline; -} - -/* File Folder Node */ -.config-explorer-file-folder-node { - @apply flex items-center w-fit cursor-default no-underline; - color: var(--config-node-highlight-text-color); -} - -.config-explorer-file-folder-node-with-link { - color: var(--ifm-link-color); -} - -/* Popup Window */ -.config-explorer-popup-window-container { - @apply relative inline-block align-middle; -} - -.config-explorer-popup-window { - @apply absolute p-2.5 rounded border-0 whitespace-normal z-20; - background-color: var(--config-node-popup-background-color); - box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5); - min-width: 200px; - max-width: 500px; - width: max-content; - left: 20px; - top: -10px; - margin-left: 5px; - margin-top: -5px; -} - -.config-explorer-popup-window-open-tag { - @apply z-5 ml-0.75 cursor-pointer font-normal hover:font-bold; -} - -/* Tree Components */ -.tree-line, -.prefix-line { - @apply text-sm text-slate-400 inline-block font-mono leading-none; -} - -/* Node Icon */ -.config-explorer-node-icon { - @apply text-base mr-1.25; - color: var(--config-node-highlight-text-color); -} - -/* Node Structure */ -.config-explorer-node, -.config-explorer-node-noflex { - @apply items-start relative flex flex-col shrink-0; -} - -.config-explorer-node-noflex { - @apply my-1.25; -} - -.config-explorer-node-header { - @apply flex items-center; -} - -.config-explorer-node-content { - @apply flex items-center; -} - -.config-node-contents-wrapper { - @apply mx-1.25 flex items-center text-base; -} - -/* Description Below */ -.config-explorer-description-below { - @apply flex items-start my-0.5 py-0.5 text-xs leading-relaxed; -} - -.config-explorer-description-text { - @apply text-gray-400 whitespace-normal wrap-break-word flex-1; - max-width: 600px; -} - -/* Utility */ -.display--none { - @apply hidden; -} diff --git a/src/css/utilities/responsive.css b/src/css/utilities/responsive.css deleted file mode 100644 index d2f0bbc9d..000000000 --- a/src/css/utilities/responsive.css +++ /dev/null @@ -1,215 +0,0 @@ -/* ====================================== - NitWikit 响应式工具类 -====================================== */ - -/* ====================================== - 容器最大宽度 -====================================== */ -.container { - max-width: 80rem; - margin-left: auto; - margin-right: auto; - padding-left: 1.5rem; - padding-right: 1.5rem; -} - -@media (max-width: 996px) { - .container { - padding-left: 1.25rem; - padding-right: 1.25rem; - } -} - -@media (max-width: 540px) { - .container { - padding-left: 1rem; - padding-right: 1rem; - } -} - -/* ====================================== - 显示/隐藏工具类 -====================================== */ -.hidden { - display: none !important; -} - -.visible { - visibility: visible !important; -} - -.invisible { - visibility: hidden !important; -} - -/* 仅移动端显示 */ -.mobile-only { - display: none !important; -} - -@media (max-width: 996px) { - .mobile-only { - display: block !important; - } -} - -/* 仅桌面端显示 */ -.desktop-only { - display: block !important; -} - -@media (max-width: 996px) { - .desktop-only { - display: none !important; - } -} - -/* ====================================== - 间距工具类 -====================================== */ -.mt-0 { - margin-top: 0 !important; -} -.mt-1 { - margin-top: 0.25rem !important; -} -.mt-2 { - margin-top: 0.5rem !important; -} -.mt-3 { - margin-top: 0.75rem !important; -} -.mt-4 { - margin-top: 1rem !important; -} -.mt-6 { - margin-top: 1.5rem !important; -} -.mt-8 { - margin-top: 2rem !important; -} - -.mb-0 { - margin-bottom: 0 !important; -} -.mb-1 { - margin-bottom: 0.25rem !important; -} -.mb-2 { - margin-bottom: 0.5rem !important; -} -.mb-3 { - margin-bottom: 0.75rem !important; -} -.mb-4 { - margin-bottom: 1rem !important; -} -.mb-6 { - margin-bottom: 1.5rem !important; -} -.mb-8 { - margin-bottom: 2rem !important; -} - -/* ====================================== - 文本对齐 -====================================== */ -.text-left { - text-align: left !important; -} -.text-center { - text-align: center !important; -} -.text-right { - text-align: right !important; -} - -/* ====================================== - Flex 工具类 -====================================== */ -.flex { - display: flex !important; -} -.inline-flex { - display: inline-flex !important; -} -.flex-col { - flex-direction: column !important; -} -.flex-row { - flex-direction: row !important; -} -.flex-wrap { - flex-wrap: wrap !important; -} -.items-center { - align-items: center !important; -} -.items-start { - align-items: flex-start !important; -} -.items-end { - align-items: flex-end !important; -} -.justify-center { - justify-content: center !important; -} -.justify-between { - justify-content: space-between !important; -} -.justify-start { - justify-content: flex-start !important; -} -.justify-end { - justify-content: flex-end !important; -} -.gap-1 { - gap: 0.25rem !important; -} -.gap-2 { - gap: 0.5rem !important; -} -.gap-3 { - gap: 0.75rem !important; -} -.gap-4 { - gap: 1rem !important; -} -.gap-6 { - gap: 1.5rem !important; -} - -/* ====================================== - Grid 工具类 -====================================== */ -.grid { - display: grid !important; -} -.grid-cols-1 { - grid-template-columns: repeat(1, minmax(0, 1fr)) !important; -} -.grid-cols-2 { - grid-template-columns: repeat(2, minmax(0, 1fr)) !important; -} -.grid-cols-3 { - grid-template-columns: repeat(3, minmax(0, 1fr)) !important; -} - -@media (max-width: 768px) { - .md\:grid-cols-1 { - grid-template-columns: repeat(1, minmax(0, 1fr)) !important; - } -} - -/* ====================================== - 宽度工具类 -====================================== */ -.w-full { - width: 100% !important; -} -.max-w-full { - max-width: 100% !important; -} -.max-w-prose { - max-width: 65ch !important; -} diff --git a/src/css/utilities/scrollbar.css b/src/css/utilities/scrollbar.css deleted file mode 100644 index 876843267..000000000 --- a/src/css/utilities/scrollbar.css +++ /dev/null @@ -1,97 +0,0 @@ -/* ====================================== - NitWikit 滚动条样式 - 细窄设计 + 主题适配 -====================================== */ - -/* ====================================== - 全局滚动条 - WebKit -====================================== */ -::-webkit-scrollbar { - width: 6px; - height: 6px; -} - -::-webkit-scrollbar-track { - background: transparent; -} - -::-webkit-scrollbar-thumb { - background: var(--slate-300); - border-radius: 100px; - transition: background var(--transition-fast); -} - -::-webkit-scrollbar-thumb:hover { - background: var(--slate-400); -} - -::-webkit-scrollbar-corner { - background: transparent; -} - -/* ====================================== - 全局滚动条 - Firefox -====================================== */ -* { - scrollbar-width: thin; - scrollbar-color: var(--slate-300) transparent; -} - -/* ====================================== - 暗色模式滚动条 -====================================== */ -[data-theme="dark"] ::-webkit-scrollbar-thumb { - background: var(--slate-600); -} - -[data-theme="dark"] ::-webkit-scrollbar-thumb:hover { - background: var(--slate-500); -} - -[data-theme="dark"] * { - scrollbar-color: var(--slate-600) transparent; -} - -/* ====================================== - 代码块滚动条 - 更细 -====================================== */ -pre::-webkit-scrollbar, -.code-block::-webkit-scrollbar { - width: 4px; - height: 4px; -} - -pre::-webkit-scrollbar-thumb, -.code-block::-webkit-scrollbar-thumb { - background: var(--slate-400); -} - -pre::-webkit-scrollbar-thumb:hover, -.code-block::-webkit-scrollbar-thumb:hover { - background: var(--slate-500); -} - -[data-theme="dark"] pre::-webkit-scrollbar-thumb, -[data-theme="dark"] .code-block::-webkit-scrollbar-thumb { - background: var(--slate-600); -} - -[data-theme="dark"] pre::-webkit-scrollbar-thumb:hover, -[data-theme="dark"] .code-block::-webkit-scrollbar-thumb:hover { - background: var(--slate-500); -} - -/* ====================================== - 侧边栏滚动条 -====================================== */ -.menu::-webkit-scrollbar { - width: 4px; -} - -.menu::-webkit-scrollbar-thumb { - background: var(--slate-300); -} - -[data-theme="dark"] .menu::-webkit-scrollbar-thumb { - background: var(--slate-700); -} diff --git a/src/css/utilities/search.css b/src/css/utilities/search.css deleted file mode 100644 index a8ab6a9db..000000000 --- a/src/css/utilities/search.css +++ /dev/null @@ -1,201 +0,0 @@ -/* ====================================== - NitWikit 搜索样式 - Algolia DocSearch 适配 -====================================== */ - -/* ====================================== - 搜索按钮 -====================================== */ -.DocSearch-Button { - background: var(--bg-card) !important; - border: 1px solid var(--border) !important; - border-radius: var(--radius-md) !important; - padding: 0 0.75rem !important; - height: 2rem !important; - transition: all var(--transition-fast) !important; - color: var(--text-secondary) !important; - font-weight: 400 !important; - gap: 0.5rem !important; -} - -.DocSearch-Button:hover { - background: var(--bg-muted) !important; - border-color: var(--primary-alpha-border) !important; - box-shadow: 0 0 0 2px var(--primary-alpha-10) !important; -} - -.DocSearch-Button-Placeholder { - font-size: 0.8125rem !important; - color: var(--text-light) !important; -} - -.DocSearch-Button-Keys { - display: flex !important; - gap: 0.125rem !important; - min-width: auto !important; -} - -.DocSearch-Button-Key { - background: var(--bg-muted) !important; - border: 1px solid var(--border-light) !important; - border-radius: var(--radius-sm) !important; - padding: 0 0.25rem !important; - font-size: 0.625rem !important; - color: var(--text-light) !important; - box-shadow: none !important; - width: auto !important; - height: 1.25rem !important; - line-height: 1.25rem !important; -} - -/* ====================================== - 搜索模态框 -====================================== */ -.DocSearch-Modal { - --docsearch-modal-background: var(--bg-card) !important; - --docsearch-text-color: var(--text-primary) !important; - --docsearch-muted-color: var(--text-secondary) !important; - --docsearch-searchbox-background: var(--bg-muted) !important; - --docsearch-searchbox-focus-background: var(--bg-card) !important; - --docsearch-hit-background: var(--bg-muted) !important; - --docsearch-hit-color: var(--text-primary) !important; - --docsearch-highlight-color: var(--primary-text) !important; - --docsearch-footer-background: var(--bg-muted) !important; - --docsearch-key-gradient: var(--bg-elevated) !important; - --docsearch-key-shadow: none !important; - border-radius: var(--radius-lg) !important; - border: 1px solid var(--border) !important; - box-shadow: var(--shadow-lg) !important; -} - -.DocSearch-SearchBar { - padding: 0.875rem !important; -} - -.DocSearch-Form { - border-radius: var(--radius-md) !important; - border: 1px solid var(--border) !important; -} - -.DocSearch-Input { - font-size: 0.9375rem !important; - padding-left: 0.5rem !important; -} - -.DocSearch-Hit a { - border-radius: var(--radius-md) !important; - padding: 0.75rem !important; -} - -.DocSearch-Hit[aria-selected="true"] a { - background: var(--primary-alpha-10) !important; - border-color: var(--primary-alpha-border) !important; -} - -.DocSearch-Hit-title { - font-weight: 500 !important; - font-size: 0.875rem !important; -} - -.DocSearch-Hit-path { - color: var(--text-light) !important; - font-size: 0.75rem !important; -} - -.DocSearch-Footer { - border-top: 1px solid var(--border) !important; -} - -/* ====================================== - 暗色模式 -====================================== */ -[data-theme="dark"] .DocSearch-Button { - background: var(--bg-card) !important; - border-color: var(--border) !important; -} - -[data-theme="dark"] .DocSearch-Button:hover { - background: var(--bg-elevated) !important; - border-color: var(--primary-alpha-border) !important; -} - -[data-theme="dark"] .DocSearch-Button-Key { - background: var(--bg-elevated) !important; - border-color: var(--border) !important; -} - -[data-theme="dark"] .DocSearch-Modal { - --docsearch-highlight-color: var(--primary) !important; -} - -[data-theme="dark"] .DocSearch-Form { - border-color: var(--border) !important; -} - -/* ====================================== - 移动端响应式 -====================================== */ -@media (max-width: 996px) { - .DocSearch-Button { - padding: 0 0.625rem !important; - /* 确保触摸目标足够大 */ - min-height: 36px !important; - min-width: 36px !important; - } - - .DocSearch-Button-Placeholder { - display: none !important; - } - - .DocSearch-Button-Keys { - display: none !important; - } - - .DocSearch-Search-Icon { - width: 18px !important; - height: 18px !important; - } -} - -@media (max-width: 540px) { - .DocSearch-Button { - min-height: 40px !important; - min-width: 40px !important; - padding: 0 0.5rem !important; - border-radius: var(--radius-md) !important; - } - - /* 搜索模态框移动端全屏优化 */ - .DocSearch-Modal { - border-radius: 0 !important; - max-width: 100vw !important; - margin: 0 !important; - height: 100vh !important; - max-height: 100vh !important; - } - - .DocSearch-SearchBar { - padding: 0.75rem !important; - } - - .DocSearch-Input { - font-size: 16px !important; /* 防止 iOS 缩放 */ - padding-left: 0.375rem !important; - } - - .DocSearch-Hit a { - padding: 0.625rem !important; - } - - .DocSearch-Hit-title { - font-size: 0.8125rem !important; - } - - .DocSearch-Hit-path { - font-size: 0.6875rem !important; - } - - .DocSearch-Footer { - padding: 0.625rem 0.75rem !important; - } -} diff --git a/src/data/structures/bdsServerStructure.ts b/src/data/structures/bdsServerStructure.ts deleted file mode 100644 index b2351501c..000000000 --- a/src/data/structures/bdsServerStructure.ts +++ /dev/null @@ -1,124 +0,0 @@ -import { ExplorerNode } from "@/types/ExplorerNode"; - -export const bdsServerStructure: ExplorerNode[] = [ - { - name: "BDS服务端文件夹", - type: "folder", - children: [ - { - name: "behavior_packs", - type: "folder", - description: "安装新行为包的文件夹", - }, - { - name: "config", - type: "folder", - description: "没啥用", - }, - { - name: "definitions", - type: "folder", - description: "貌似是生成群系的内容", - }, - { - name: "development_behavior_packs", - type: "folder", - description: "为开发者提供安装新行为包的文件夹", - }, - { - name: "development_resource_packs", - type: "folder", - description: "为开发者提供安装新资源包的文件夹", - }, - { - name: "development_skin_packs", - type: "folder", - description: "为开发者提供安装新皮肤包的文件夹", - }, - { - name: "resource_packs", - type: "folder", - description: "安装新资源包的文件夹", - }, - { - name: "world-templates", - type: "folder", - description: "世界模板", - }, - { - name: "worlds", - type: "folder", - description: "主世界文件夹", - children: [ - { - name: "Bedrock level", - type: "folder", - description: "世界存档", - children: [ - { - name: "db", - type: "folder", - description: "存档数据文件夹", - }, - { - name: "level_dat", - type: "file", - description: "存档设定", - }, - { - name: "level.dat_old", - type: "file", - description: "存档设定 (旧)", - }, - { - name: "level_name.txt", - type: "file", - description: "存档名称", - }, - ], - }, - ], - }, - { - name: "allowlist.json", - type: "file", - description: "白名单文件", - }, - { - name: "bedrock_server.exe", - type: "file", - description: "服务端启动程序", - }, - { - name: "bedrock_server.pdb", - type: "file", - description: "程序数据库文件", - }, - { - name: "bedrock_server_how_to.html", - type: "file", - description: "如何使用 BDS 服务器的官方指南", - }, - { - name: "permissions.json", - type: "file", - description: "管理员 (OP) 玩家相关数据", - }, - { - name: "release-notes.txt", - type: "file", - description: "服务端发行版本详情", - }, - { - name: "server.properties", - type: "file", - description: "配置文件", - }, - { - name: "valid_known_packs.json", - type: "file", - description: "已知的附加包", - }, - ], - }, -]; diff --git a/src/data/structures/datapackStructure.ts b/src/data/structures/datapackStructure.ts deleted file mode 100644 index 53b287990..000000000 --- a/src/data/structures/datapackStructure.ts +++ /dev/null @@ -1,854 +0,0 @@ -import { ExplorerNode } from "@/types/ExplorerNode"; - -export const datapackStructure: ExplorerNode[] = [ - { - name: "数据包名", - type: "folder", - children: [ - { - name: "pack.mcmeta", - type: "file", - description: "用于识别数据包及存储数据包信息", - }, - { - name: "pack.png", - type: "file", - description: "数据包的图片 (可选)", - }, - { - name: "data", - type: "folder", - children: [ - { - name: "advancements", - type: "folder", - children: [ - { - name: "特定进度名.json", - type: "structure", - children: [ - { - name: "display", - type: "folder", - description: "进度的显示信息", - children: [ - { - name: "title", - type: "file", - description: "进度标题", - }, - { - name: "description", - type: "file", - description: "进度描述", - }, - { - name: "icon", - type: "file", - description: "进度图标", - }, - ], - }, - { - name: "criteria", - type: "folder", - description: "进度达成条件", - children: [ - { - name: "特定条件名.json", - type: "structure", - children: [ - { - name: "trigger", - type: "file", - description: "触发条件类型", - }, - { - name: "conditions", - type: "file", - description: "具体的条件参数", - }, - ], - }, - ], - }, - ], - }, - ], - }, - { - name: "loot_tables", - type: "folder", - children: [ - { - name: "特定物品或实体的战利品表.json", - type: "structure", - children: [ - { - name: "pools", - type: "folder", - description: "战利品池列表", - children: [ - { - name: "特定战利品池.json", - type: "structure", - children: [ - { - name: "rolls", - type: "file", - description: "战利品生成次数", - }, - { - name: "entries", - type: "folder", - description: "战利品条目", - children: [ - { - name: "特定条目.json", - type: "structure", - children: [ - { - name: "type", - type: "file", - description: - "条目类型,如 item、loot_table 等", - }, - { - name: "name", - type: "file", - description: - "物品或战利品表名称", - }, - { - name: "functions", - type: "folder", - description: - "可选的函数列表,用于修改战利品", - children: [ - { - name: "特定函数.json", - type: "structure", - children: [ - { - name: "function", - type: "file", - description: - "函数类型,如 set_nbt、enchant_with_levels 等", - }, - { - name: "arguments", - type: "file", - description: - "函数参数", - }, - ], - }, - ], - }, - ], - }, - ], - }, - ], - }, - ], - }, - ], - }, - ], - }, - { - name: "recipes", - type: "folder", - children: [ - { - name: "特定合成配方.json", - type: "structure", - children: [ - { - name: "type", - type: "file", - description: - "合成配方类型,如 crafting_shaped、crafting_shapeless 等", - }, - { - name: "group", - type: "file", - description: "合成组名 (可选)", - }, - { - name: "ingredients", - type: "folder", - description: "合成所需的材料列表", - children: [ - { - name: "特定材料.json", - type: "structure", - children: [ - { - name: "item", - type: "file", - description: "物品名称", - }, - { - name: "count", - type: "file", - description: "物品数量 (可选)", - }, - ], - }, - ], - }, - { - name: "result", - type: "folder", - description: "合成结果", - children: [ - { - name: "item", - type: "file", - description: "合成后的物品名称", - }, - { - name: "count", - type: "file", - description: "合成后的物品数量 (可选)", - }, - ], - }, - ], - }, - ], - }, - { - name: "tags", - type: "folder", - children: [ - { - name: "blocks", - type: "folder", - children: [ - { - name: "特定方块标签.json", - type: "structure", - children: [ - { - name: "replace", - type: "file", - description: "是否替换已有标签 (可选)", - }, - { - name: "values", - type: "file", - description: "方块名称列表", - }, - ], - }, - ], - }, - { - name: "fluids", - type: "folder", - children: [ - { - name: "特定流体标签.json", - type: "structure", - children: [ - { - name: "replace", - type: "file", - description: "是否替换已有标签 (可选)", - }, - { - name: "values", - type: "file", - description: "流体名称列表", - }, - ], - }, - ], - }, - { - name: "items", - type: "folder", - children: [ - { - name: "特定物品标签.json", - type: "structure", - children: [ - { - name: "replace", - type: "file", - description: "是否替换已有标签 (可选)", - }, - { - name: "values", - type: "file", - description: "物品名称列表", - }, - ], - }, - ], - }, - { - name: "entity_types", - type: "folder", - children: [ - { - name: "特定实体类型标签.json", - type: "structure", - children: [ - { - name: "replace", - type: "file", - description: "是否替换已有标签 (可选)", - }, - { - name: "values", - type: "file", - description: "实体类型名称列表", - }, - ], - }, - ], - }, - { - name: "functions", - type: "folder", - children: [ - { - name: "特定函数标签.json", - type: "structure", - children: [ - { - name: "replace", - type: "file", - description: "是否替换已有标签 (可选)", - }, - { - name: "values", - type: "file", - description: "函数名称列表", - }, - ], - }, - ], - }, - { - name: "predicates", - type: "folder", - children: [ - { - name: "特定谓词标签.json", - type: "structure", - children: [ - { - name: "replace", - type: "file", - description: "是否替换已有标签 (可选)", - }, - { - name: "values", - type: "file", - description: "谓词名称列表", - }, - ], - }, - ], - }, - { - name: "damage_types", - type: "folder", - children: [ - { - name: "特定伤害类型标签.json", - type: "structure", - children: [ - { - name: "replace", - type: "file", - description: "是否替换已有标签 (可选)", - }, - { - name: "values", - type: "file", - description: "伤害类型名称列表", - }, - ], - }, - ], - }, - { - name: "enchantments", - type: "folder", - children: [ - { - name: "特定附魔标签.json", - type: "structure", - children: [ - { - name: "replace", - type: "file", - description: "是否替换已有标签 (可选)", - }, - { - name: "values", - type: "file", - description: "附魔名称列表", - }, - ], - }, - ], - }, - { - name: "game_events", - type: "folder", - children: [ - { - name: "特定游戏事件标签.json", - type: "structure", - children: [ - { - name: "replace", - type: "file", - description: "是否替换已有标签 (可选)", - }, - { - name: "values", - type: "file", - description: "游戏事件名称列表", - }, - ], - }, - ], - }, - ], - }, - { - name: "functions", - type: "folder", - children: [ - { - name: "特定函数文件.mcfunction", - type: "file", - description: "可以是游戏中的各种命令,用于实现特定的逻辑", - }, - ], - }, - { - name: "predicates", - type: "folder", - children: [ - { - name: "特定谓词.json", - type: "structure", - children: [ - { - name: "condition", - type: "file", - description: "谓词条件", - }, - { - name: "result", - type: "file", - description: "谓词结果,通常是布尔值", - }, - ], - }, - ], - }, - { - name: "dimension_types", - type: "folder", - children: [ - { - name: "特定维度类型.json", - type: "structure", - children: [ - { - name: "effects", - type: "folder", - description: "维度效果列表", - children: [ - { - name: "特定效果.json", - type: "structure", - children: [ - { - name: "特定效果类型", - type: "file", - description: "如 fog_color、ambient_light 等", - }, - { - name: "值", - type: "file", - description: "根据效果类型而定", - }, - ], - }, - ], - }, - { - name: "parameters", - type: "folder", - description: "维度类型参数", - children: [ - { - name: "特定参数.json", - type: "structure", - children: [ - { - name: "名称", - type: "file", - description: "参数名称", - }, - { - name: "值", - type: "file", - description: "参数值", - }, - ], - }, - ], - }, - ], - }, - ], - }, - { - name: "worldgen", - type: "folder", - children: [ - { - name: "biome", - type: "folder", - children: [ - { - name: "特定生物群系.json", - type: "structure", - children: [ - { - name: "features", - type: "folder", - description: "生物群系特征列表", - children: [ - { - name: "特定特征.json", - type: "structure", - children: [ - { - name: "特定特征类型", - type: "file", - description: "如 lake、flower 等", - }, - { - name: "参数", - type: "file", - description: "根据特征类型而定", - }, - ], - }, - ], - }, - { - name: "properties", - type: "folder", - description: "生物群系属性", - children: [ - { - name: "特定属性.json", - type: "structure", - children: [ - { - name: "名称", - type: "file", - description: "属性名称", - }, - { - name: "值", - type: "file", - description: "属性值", - }, - ], - }, - ], - }, - ], - }, - ], - }, - { - name: "configured_carver", - type: "folder", - children: [ - { - name: "特定雕刻器.json", - type: "structure", - children: [ - { - name: "type", - type: "file", - description: "雕刻器类型", - }, - { - name: "biomes", - type: "file", - description: "适用的生物群系列表", - }, - { - name: "parameters", - type: "folder", - description: "雕刻器参数", - children: [ - { - name: "特定参数.json", - type: "structure", - children: [ - { - name: "名称", - type: "file", - description: "参数名称", - }, - { - name: "值", - type: "file", - description: "参数值", - }, - ], - }, - ], - }, - ], - }, - ], - }, - { - name: "configured_feature", - type: "folder", - children: [ - { - name: "特定配置特征.json", - type: "structure", - children: [ - { - name: "type", - type: "file", - description: "特征类型", - }, - { - name: "placement", - type: "folder", - description: "放置规则", - children: [ - { - name: "特定放置规则.json", - type: "structure", - children: [ - { - name: "规则类型", - type: "file", - description: - "如 height_range、on_ground 等", - }, - { - name: "参数", - type: "file", - description: "根据规则类型而定", - }, - ], - }, - ], - }, - { - name: "parameters", - type: "folder", - description: "特征参数", - children: [ - { - name: "特定参数.json", - type: "structure", - children: [ - { - name: "名称", - type: "file", - description: "参数名称", - }, - { - name: "值", - type: "file", - description: "参数值", - }, - ], - }, - ], - }, - ], - }, - ], - }, - { - name: "configured_structure_feature", - type: "folder", - children: [ - { - name: "特定配置结构特征.json", - type: "structure", - children: [ - { - name: "type", - type: "file", - description: "结构特征类型", - }, - { - name: "placement", - type: "folder", - description: "放置规则", - children: [ - { - name: "特定放置规则.json", - type: "structure", - children: [ - { - name: "规则类型", - type: "file", - description: - "如 surface_rule、biome_filter 等", - }, - { - name: "参数", - type: "file", - description: "根据规则类型而定", - }, - ], - }, - ], - }, - { - name: "parameters", - type: "folder", - description: "结构特征参数", - children: [ - { - name: "特定参数.json", - type: "structure", - children: [ - { - name: "名称", - type: "file", - description: "参数名称", - }, - { - name: "值", - type: "file", - description: "参数值", - }, - ], - }, - ], - }, - ], - }, - ], - }, - { - name: "noise", - type: "folder", - children: [ - { - name: "特定噪声设置.json", - type: "structure", - children: [ - { - name: "noise_type", - type: "file", - description: "噪声类型", - }, - { - name: "parameters", - type: "folder", - description: "噪声参数", - children: [ - { - name: "特定参数.json", - type: "structure", - children: [ - { - name: "名称", - type: "file", - description: "参数名称", - }, - { - name: "值", - type: "file", - description: "参数值", - }, - ], - }, - ], - }, - ], - }, - ], - }, - { - name: "processor_list", - type: "folder", - children: [ - { - name: "特定处理器列表.json", - type: "structure", - children: [ - { - name: "processors", - type: "folder", - description: "处理器列表", - children: [ - { - name: "特定处理器.json", - type: "structure", - children: [ - { - name: "type", - type: "file", - description: "处理器类型", - }, - { - name: "parameters", - type: "folder", - description: "处理器参数", - children: [ - { - name: "特定参数.json", - type: "structure", - children: [ - { - name: "名称", - type: "file", - description: - "参数名称", - }, - { - name: "值", - type: "file", - description: - "参数值", - }, - ], - }, - ], - }, - ], - }, - ], - }, - ], - }, - ], - }, - ], - }, - ], - }, - ], - }, -]; diff --git a/src/data/structures/geyserExtensionStructure.ts b/src/data/structures/geyserExtensionStructure.ts deleted file mode 100644 index 3b6e24f7d..000000000 --- a/src/data/structures/geyserExtensionStructure.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { ExplorerNode } from "@/types/ExplorerNode"; - -export const geyserExtensionStructure: ExplorerNode[] = [ - { - name: "服务器根目录/", - type: "folder", - children: [ - { - name: "plugins/", - type: "folder", - children: [ - { - name: "Geyser-Spigot/", - type: "folder", - children: [ - { - name: "extensions/", - type: "folder", - description: "Geyser 扩展文件夹", - children: [ - { - name: "MCXboxBroadcastExtension.jar", - type: "file", - description: "Xbox 直播扩展", - }, - ], - }, - ], - }, - ], - }, - ], - }, -]; diff --git a/src/data/structures/gradleProjectStructure.ts b/src/data/structures/gradleProjectStructure.ts deleted file mode 100644 index 846eb38aa..000000000 --- a/src/data/structures/gradleProjectStructure.ts +++ /dev/null @@ -1,166 +0,0 @@ -import { ExplorerNode } from "@/types/ExplorerNode"; - -export const gradleProjectStructure: ExplorerNode[] = [ - { - name: "项目根目录", - type: "folder", - children: [ - { - name: "src/", - type: "folder", - description: "源代码目录", - children: [ - { - name: "main/", - type: "folder", - description: "主要代码目录", - children: [ - { - name: "java/", - type: "folder", - description: "Java 源代码", - children: [ - { - name: "com/", - type: "folder", - children: [ - { - name: "example/", - type: "folder", - children: [ - { - name: "plugin/", - type: "folder", - children: [ - { - name: "Main.java", - type: "file", - description: "插件主类", - }, - { - name: "commands/", - type: "folder", - description: "命令类", - }, - { - name: "listeners/", - type: "folder", - description: "监听器类", - }, - { - name: "utils/", - type: "folder", - description: "工具类", - }, - ], - }, - ], - }, - ], - }, - ], - }, - { - name: "kotlin/", - type: "folder", - description: "Kotlin 源代码(如果使用)", - }, - { - name: "resources/", - type: "folder", - description: "资源文件目录", - children: [ - { - name: "plugin.yml", - type: "file", - description: "插件配置文件", - }, - { - name: "config.yml", - type: "file", - description: "插件默认配置", - }, - { - name: "messages/", - type: "folder", - description: "语言文件", - }, - ], - }, - ], - }, - { - name: "test/", - type: "folder", - description: "测试代码目录", - children: [ - { - name: "java/", - type: "folder", - description: "测试源代码", - }, - { - name: "kotlin/", - type: "folder", - description: "Kotlin 测试代码", - }, - { - name: "resources/", - type: "folder", - description: "测试资源", - }, - ], - }, - ], - }, - { - name: "build/", - type: "folder", - description: "构建输出目录", - children: [ - { - name: "libs/", - type: "folder", - description: "构建产物(jar 文件)", - }, - ], - }, - { - name: "gradle/", - type: "folder", - description: "Gradle 包装器目录", - children: [ - { - name: "wrapper/", - type: "folder", - }, - ], - }, - { - name: "build.gradle", - type: "file", - description: "Gradle 构建脚本", - }, - { - name: "settings.gradle", - type: "file", - description: "Gradle 设置文件", - }, - { - name: "gradlew", - type: "file", - description: "Gradle 包装器脚本 (Unix)", - }, - { - name: "gradlew.bat", - type: "file", - description: "Gradle 包装器脚本 (Windows)", - }, - { - name: "README.md", - type: "file", - description: "项目说明文件", - }, - ], - }, -]; diff --git a/src/data/structures/hmclModpackStructure.ts b/src/data/structures/hmclModpackStructure.ts deleted file mode 100644 index 8097426e2..000000000 --- a/src/data/structures/hmclModpackStructure.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { ExplorerNode } from "@/types/ExplorerNode"; - -export const hmclModpackStructure: ExplorerNode[] = [ - { - name: "MyModpack/", - type: "folder", - children: [ - { - name: "java/", - type: "folder", - children: [ - { - name: "bin/", - type: "folder", - }, - ], - }, - { - name: "HMCL.exe", - type: "file", - }, - { - name: "hmcl.json", - type: "file", - }, - { - name: ".minecraft/", - type: "folder", - }, - ], - }, -]; diff --git a/src/data/structures/index.ts b/src/data/structures/index.ts deleted file mode 100644 index 5de040bc8..000000000 --- a/src/data/structures/index.ts +++ /dev/null @@ -1,11 +0,0 @@ -export { bdsServerStructure } from "./bdsServerStructure"; -export { datapackStructure } from "./datapackStructure"; -export { geyserExtensionStructure } from "./geyserExtensionStructure"; -export { gradleProjectStructure } from "./gradleProjectStructure"; -export { hmclModpackStructure } from "./hmclModpackStructure"; -export { levilamnaPluginStructure } from "./levilamnaPluginStructure"; -export { mavenProjectStructure } from "./mavenProjectStructure"; -export { nukitServerStructure } from "./nukitServerStructure"; -export { serverDirStructureData } from "./serverDirStructureData"; -export { viaproxyStructure } from "./viaproxyStructure"; - diff --git a/src/data/structures/levilamnaPluginStructure.ts b/src/data/structures/levilamnaPluginStructure.ts deleted file mode 100644 index 475e77678..000000000 --- a/src/data/structures/levilamnaPluginStructure.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { ExplorerNode } from "@/types/ExplorerNode"; - -export const levilamnaPluginStructure: ExplorerNode[] = [ - { - name: "插件文件夹", - type: "folder", - children: [ - { - name: "manifest.json", - type: "file", - description: - "插件元数据文件,该文件必须存在并格式正确才能被 LeviLamina 识别", - }, - { - name: "(插件配置文件和数据库)...", - type: "folder", - description: - "插件生成的配置文件和数据库等,大多数插件的配置文件名叫 config.json,并以一个文件夹或一个 .db 或 .json 后缀文件作为数据库", - }, - { - name: "(插件代码或二进制文件)...", - type: "folder", - description: - "插件源代码,通常是 .js、.lua、.dll 后缀的文件。不要删除,修改或重命名文件,否则可能导致插件无法运行!", - }, - ], - }, -]; diff --git a/src/data/structures/mavenProjectStructure.ts b/src/data/structures/mavenProjectStructure.ts deleted file mode 100644 index 7b348f348..000000000 --- a/src/data/structures/mavenProjectStructure.ts +++ /dev/null @@ -1,123 +0,0 @@ -import { ExplorerNode } from "@/types/ExplorerNode"; - -export const mavenProjectStructure: ExplorerNode[] = [ - { - name: "项目根目录", - type: "folder", - children: [ - { - name: "src/", - type: "folder", - description: "源代码目录", - children: [ - { - name: "main/", - type: "folder", - description: "主要代码目录", - children: [ - { - name: "java/", - type: "folder", - description: "Java 源代码", - children: [ - { - name: "com/", - type: "folder", - children: [ - { - name: "example/", - type: "folder", - children: [ - { - name: "plugin/", - type: "folder", - children: [ - { - name: "Main.java", - type: "file", - description: "插件主类", - }, - { - name: "commands/", - type: "folder", - description: "命令类", - }, - { - name: "listeners/", - type: "folder", - description: "监听器类", - }, - { - name: "utils/", - type: "folder", - description: "工具类", - }, - ], - }, - ], - }, - ], - }, - ], - }, - { - name: "resources/", - type: "folder", - description: "资源文件目录", - children: [ - { - name: "plugin.yml", - type: "file", - description: "插件配置文件", - }, - { - name: "config.yml", - type: "file", - description: "插件默认配置", - }, - { - name: "messages/", - type: "folder", - description: "语言文件", - }, - ], - }, - ], - }, - { - name: "test/", - type: "folder", - description: "测试代码目录", - children: [ - { - name: "java/", - type: "folder", - description: "测试源代码", - }, - { - name: "resources/", - type: "folder", - description: "测试资源", - }, - ], - }, - ], - }, - { - name: "target/", - type: "folder", - description: "构建输出目录", - }, - { - name: "pom.xml", - type: "file", - description: "Maven 项目配置文件", - }, - { - name: "README.md", - type: "file", - description: "项目说明文件", - }, - ], - }, -]; diff --git a/src/data/structures/nukitServerStructure.ts b/src/data/structures/nukitServerStructure.ts deleted file mode 100644 index ae205b9d2..000000000 --- a/src/data/structures/nukitServerStructure.ts +++ /dev/null @@ -1,104 +0,0 @@ -import { ExplorerNode } from "@/types/ExplorerNode"; - -export const nukitServerStructure: ExplorerNode[] = [ - { - name: "Nukkit Server/", - type: "folder", - children: [ - { - name: "nukkit-1.0-SNAPSHOT.jar", - type: "file", - description: "服务器核心", - }, - { - name: "start.bat", - type: "file", - description: "Windows 运行脚本", - }, - { - name: "start.sh", - type: "file", - description: "Linux 运行脚本", - }, - { - name: "start.command", - type: "file", - description: "macOS 运行脚本", - }, - { - name: "server.properties", - type: "file", - description: "服务端配置文件", - }, - { - name: "permissions.yml", - type: "file", - description: "用于设置玩家权限的", - }, - { - name: "banned-players.txt", - type: "file", - description: "存储被封禁的玩家名单的", - }, - { - name: "banned-ips.txt", - type: "file", - description: "存储被封禁的 IP 地址", - }, - { - name: "ops.txt", - type: "file", - description: "用于设置管理员(OP)的", - }, - { - name: "worlds/", - type: "folder", - description: "主世界文件夹", - children: [ - { - name: "world/", - type: "folder", - description: "世界存档", - children: [ - { - name: "level.dat", - type: "file", - description: "存档设定", - }, - { - name: "region/", - type: "folder", - description: "存储世界区块数据", - }, - { - name: "entities/", - type: "folder", - description: "存储世界中的实体数据", - }, - ], - }, - ], - }, - { - name: "plugins/", - type: "folder", - description: "插件存放文件夹", - }, - { - name: "logs/", - type: "folder", - description: "服务器日志存放", - }, - { - name: "whitelist.txt", - type: "file", - description: "存储允许加入服务器的玩家名单", - }, - { - name: "rcon_password.txt", - type: "file", - description: "存储 RCON(远程控制)功能的密码", - }, - ], - }, -]; diff --git a/src/data/structures/serverDirStructureData.ts b/src/data/structures/serverDirStructureData.ts deleted file mode 100644 index b3707ea19..000000000 --- a/src/data/structures/serverDirStructureData.ts +++ /dev/null @@ -1,222 +0,0 @@ -import { ExplorerNode } from "@/types/ExplorerNode"; - -export const serverDirStructureData: ExplorerNode[] = [ - { - name: "assets", - type: "folder", - description: "储存 Minecraft 音效贴图等重要文件,不要乱动" - }, - { - name: "cache", - type: "folder", - description: "缓存文件夹,一般放置 Minecraft 原版服务器" - }, - { - name: "config", - type: "folder", - description: "Paper fork 服务器特有的配置文件,用于放置 Paper 的配置文件" - }, - { - name: "crash-reports", - type: "folder", - description: "存放服务器崩溃的完整报告" - }, - { - name: "libraries", - type: "folder", - description: "存放服务器及部分插件的依赖库" - }, - { - name: "logs", - type: "folder", - description: "存放服务端日志的文件夹" - }, - { - name: "plugins", - type: "folder", - description: "存放插件的文件夹" - }, - { - name: "versions", - type: "folder", - description: "存放对应版本需要的依赖 jar" - }, - { - name: "world", - type: "folder", - description: "主世界文件夹", - children: [ - { - name: "advancements", - type: "folder", - description: "成就文件夹" - }, - { - name: "data", - type: "folder", - description: "世界数据文件夹" - }, - { - name: "datapacks", - type: "folder", - description: "数据包", - children: [ - { - name: "bukkit", - type: "folder" - } - ] - }, - { - name: "entities", - type: "folder", - description: "实体数据" - }, - { - name: "playerdata", - type: "folder", - description: "玩家数据" - }, - { - name: "poi", - type: "folder", - description: "兴趣点数据" - }, - { - name: "region", - type: "folder", - description: "区块数据" - }, - { - name: "stats", - type: "folder", - description: "统计信息" - } - ] - }, - { - name: "world_nether", - type: "folder", - description: "地狱世界文件夹", - children: [ - { - name: "DIM-1", - type: "folder", - children: [ - { name: "data", type: "folder" }, - { name: "entities", type: "folder" }, - { name: "poi", type: "folder" }, - { name: "region", type: "folder" } - ] - } - ] - }, - { - name: "world_the_end", - type: "folder", - description: "末地世界文件夹", - children: [ - { - name: "DIM1", - type: "folder", - children: [ - { name: "data", type: "folder" }, - { name: "entities", type: "folder" }, - { name: "poi", type: "folder" }, - { - name: "region", - type: "folder" - } - ] - } - ] - }, - { - name: ".console_history", - type: "file", - description: - "存放了控制台 (又叫后台) 曾经使用过的指令,方便你使用键盘中的 ↑ 键快捷查找曾使用的指令,也可用于查看后台异常。" - }, - { - name: "banned-ips.json", - type: "file", - description: - "以 JSON 格式存放的被 ban IP 玩家的 UUID 及游戏名称等相关信息,一旦玩家被 banip,此 IP 将无法再进入服务器。" - }, - { - name: "banned-players.json", - type: "file", - description: - "以 JSON 格式存放了被 ban 玩家的 UUID 及游戏名称等相关信息,离线服 ban 玩家后换 ID 即可进入服务器,而正版服无法通过改名重新进入服务器。" - }, - { - name: "bukkit.yml", - type: "file", - description: "由 Bukkit 派生得到的服务端都有的文件。保存着 Bukkit 所提供的最基本的设置选项。" - }, - { - name: "commands.yml", - type: "file", - description: - "它提供了一种快速而简单的方法来强制服务器使用 Mojang 提供的命令 (而不是 Bukkit 中内置的命令) 而不产生冲突。" - }, - { - name: "eula.txt", - type: "file", - description: "在首次开服的时候,我们需要同意 EULA 协议。" - }, - { - name: "help.yml", - type: "file", - description: "一些插件的帮助信息会出现在这里面,一般不需要进行什么修改。" - }, - { - name: "ops.json", - type: "file", - description: "以 JSON 格式存放了 OP 玩家的 UUID 及游戏名称等相关信息。" - }, - { - name: "purpur.jar", - type: "file", - description: "你可以改名叫任何名字 (只要以 `.jar` 结尾,且在启动脚本中对应修改)" - }, - { - name: "purpur.yml", - type: "file", - description: "Purpur 服务器特有的配置文件,极其详细的配置项,功能非常丰富,几乎可以替代数款插件。" - }, - { - name: "permissions.yml", - type: "file", - description: - "是默认的权限定义 YAML 文件,在启动时自动生成。它的主要功能是将权限节点组合到一个文件中,以便权限插件 (以及使用权限的插件) 可以在整个系统中使用它。" - }, - { - name: "server.properties", - type: "file", - description: "服务端的一些基本设置就在里面,如设置端口,设置游戏难度,设置游戏模式 (生存、创造等) 等。", - url: "https://minecraft-zh.gamepedia.com/Server.properties", - external: true - }, - { - name: "spigot.yml", - type: "file", - description: "Spigot 服务器都有的配置文件。" - }, - { - name: "usercache.json", - type: "file", - description: "储存着用名字及 UUID 信息的缓存文件。" - }, - { - name: "version_history", - type: "file", - description: "一些 Minecraft 和服务端核心的版本信息,一般记录着曾经使用过的版本。" - }, - { - name: "whitelist.json", - type: "file", - description: - "白名单列表。(如果你在 server.properties 中开启了白名单,你就可以在该文件中添加和管理谁被允许或不被允许进入服务器。)" - } -]; diff --git a/src/data/structures/viaproxyStructure.ts b/src/data/structures/viaproxyStructure.ts deleted file mode 100644 index edce8c4b5..000000000 --- a/src/data/structures/viaproxyStructure.ts +++ /dev/null @@ -1,61 +0,0 @@ -import { ExplorerNode } from "@/types/ExplorerNode"; - -export const viaproxyStructure: ExplorerNode[] = [ - { - name: "viaproxy/", - type: "folder", - children: [ - { - name: "viaproxy.yml", - type: "file", - description: "主配置文件", - }, - { - name: "ViaLoader/", - type: "folder", - description: "协议转换配置", - children: [ - { - name: "viaversion.yml", - type: "file", - }, - { - name: "viabackwards.yml", - type: "file", - }, - { - name: "viarewind.yml", - type: "file", - }, - { - name: "vialegacy.yml", - type: "file", - }, - { - name: "viabedrock.yml", - type: "file", - }, - { - name: "viaaprilfools.yml", - type: "file", - }, - ], - }, - { - name: "plugins/", - type: "folder", - description: "插件目录", - }, - { - name: "logs/", - type: "folder", - description: "日志目录", - }, - { - name: "saves.json", - type: "file", - description: "服务器保存数据", - }, - ], - }, -]; diff --git a/src/lib/utils.js b/src/lib/utils.js deleted file mode 100644 index fea3b1045..000000000 --- a/src/lib/utils.js +++ /dev/null @@ -1,6 +0,0 @@ -import { clsx } from "clsx"; -import { twMerge } from "tailwind-merge"; - -export function cn(...inputs) { - return twMerge(clsx(inputs)); -} diff --git a/src/pages/index.module.scss b/src/pages/index.module.scss deleted file mode 100644 index e926fa676..000000000 --- a/src/pages/index.module.scss +++ /dev/null @@ -1,590 +0,0 @@ -/* ====================================== - NitWikit 主页样式 - 借鉴 Nuxt 设计系统 - 包含渐变、装饰圆、动画效果 -====================================== */ - -/* ====================================== - 页面容器 -====================================== */ -.page { - min-height: 100vh; - background: var(--bg-dark); - color: var(--text-primary); - display: flex; - align-items: center; - justify-content: center; - margin-top: calc(-1 * var(--ifm-navbar-height, 60px)); - padding-top: var(--ifm-navbar-height, 60px); - position: relative; - overflow: hidden; - animation: pageEnter 0.4s cubic-bezier(0.4, 0, 0.2, 1) forwards; -} - -// 页面进入动画 -@keyframes pageEnter { - from { - opacity: 0; - transform: translateY(20px); - } - to { - opacity: 1; - transform: translateY(0); - } -} - -// 页面退出动画 -.pageExit { - animation: pageExit 0.3s cubic-bezier(0.4, 0, 0.2, 1) forwards !important; -} - -@keyframes pageExit { - from { - opacity: 1; - transform: translateY(0) scale(1); - } - to { - opacity: 0; - transform: translateY(-20px) scale(0.98); - } -} - -[data-theme="light"] .page { - background: var(--bg-light); -} - -/* ====================================== - 顶部渐变装饰 -====================================== */ -.page::before { - content: ""; - position: absolute; - top: 0; - left: 0; - right: 0; - height: 400px; - background: linear-gradient(180deg, rgba(0, 220, 130, 0.08) 0%, rgba(0, 220, 130, 0.03) 40%, transparent 100%); - pointer-events: none; - z-index: 0; -} - -/* 顶部横向渐变线 */ -.page::after { - content: ""; - position: absolute; - top: 0; - left: 0; - right: 0; - height: 1px; - background: linear-gradient(90deg, transparent 0%, rgba(0, 220, 130, 0.4) 50%, transparent 100%); - pointer-events: none; - z-index: 1; -} - -/* ====================================== - Hero 区域 - 左右分栏布局 -====================================== */ -.hero { - display: grid; - grid-template-columns: 1.4fr 1fr; - gap: 64px; - max-width: 1400px; - width: 100%; - margin: 0 auto; - padding: 80px 48px; - align-items: center; - position: relative; - z-index: 2; - - @media (max-width: 1200px) { - gap: 48px; - padding: 60px 32px; - } - - @media (max-width: 996px) { - grid-template-columns: 1fr; - padding: 80px 24px 60px; - gap: 40px; - } - - @media (max-width: 540px) { - padding: 60px 20px 48px; - gap: 32px; - } -} - -/* ====================================== - 左侧内容区 -====================================== */ -.heroCopy { - display: flex; - flex-direction: column; - gap: 32px; - - h1 { - margin: 0; - font-size: clamp(48px, 6vw, 72px); - font-weight: 800; - letter-spacing: -0.03em; - line-height: 1.1; - color: var(--text-primary); - - // 高亮文字使用主色 - :global(.text-primary) { - color: var(--primary); - background: linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%); - -webkit-background-clip: text; - -webkit-text-fill-color: transparent; - background-clip: text; - } - } - - p { - margin: 0; - max-width: 560px; - font-size: 18px; - line-height: 1.85; - color: var(--text-secondary); - - @media (max-width: 540px) { - font-size: 16px; - max-width: none; - } - } - - @media (max-width: 996px) { - gap: 28px; - text-align: center; - align-items: center; - - p { - max-width: 600px; - } - } -} - -/* ====================================== - 按钮组 -====================================== */ -.heroButtons { - display: flex; - flex-wrap: wrap; - gap: 16px; - - @media (max-width: 996px) { - justify-content: center; - } - - @media (max-width: 540px) { - flex-direction: column; - width: 100%; - gap: 12px; - } -} - -.primaryButton, -.secondaryButton { - display: inline-flex; - align-items: center; - justify-content: center; - padding: 11px 22px; - border-radius: 8px; - text-decoration: none; - font-weight: 600; - font-size: 14px; - transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1); - border: none; - cursor: pointer; - // 确保移动端触摸目标足够大 (最小 44px) - min-height: 44px; - - @media (max-width: 540px) { - width: 100%; - padding: 14px 20px; - font-size: 15px; - } -} - -.primaryButton { - background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%); - color: #020617 !important; - box-shadow: - 0 4px 14px rgba(0, 220, 130, 0.25), - 0 0 0 0 rgba(0, 220, 130, 0); - position: relative; - overflow: hidden; - - // 光泽效果 - &::before { - content: ""; - position: absolute; - top: 0; - left: -100%; - width: 100%; - height: 100%; - background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent); - transition: left 0.5s ease; - } - - &:hover { - background: linear-gradient(135deg, var(--primary-light) 0%, var(--primary) 100%); - box-shadow: - 0 6px 20px rgba(0, 220, 130, 0.35), - 0 0 0 4px rgba(0, 220, 130, 0.1); - transform: translateY(-2px); - text-decoration: none; - - &::before { - left: 100%; - } - } - - &:active { - transform: translateY(0); - } -} - -.secondaryButton { - background: rgba(255, 255, 255, 0.05); - color: var(--text-primary) !important; - border: 1px solid var(--border); - backdrop-filter: blur(8px); - - &:hover { - background: var(--primary-alpha-10); - border-color: var(--primary); - color: var(--primary) !important; - text-decoration: none; - } -} - -[data-theme="light"] .secondaryButton { - background: rgba(0, 0, 0, 0.02); -} - -/* ====================================== - 统计数据 -====================================== */ -.heroMetrics { - display: flex; - gap: 48px; - padding-top: 32px; - border-top: 1px solid var(--border); - - div { - display: flex; - flex-direction: column; - gap: 4px; - } - - strong { - font-size: 32px; - font-weight: 700; - background: linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%); - -webkit-background-clip: text; - -webkit-text-fill-color: transparent; - background-clip: text; - letter-spacing: -0.02em; - } - - span { - font-size: 14px; - color: var(--text-secondary); - font-weight: 500; - } - - @media (max-width: 996px) { - justify-content: center; - } - - @media (max-width: 540px) { - gap: 24px; - padding-top: 24px; - - strong { - font-size: 28px; - } - - span { - font-size: 13px; - } - } -} - -/* ====================================== - 右侧导航面板 -====================================== */ -.heroPanel { - border-radius: 16px; - border: 1px solid var(--border); - background: var(--bg-card); - overflow: hidden; - display: flex; - flex-direction: column; - backdrop-filter: blur(12px); - box-shadow: - 0 20px 50px rgba(0, 0, 0, 0.1), - 0 0 0 1px rgba(255, 255, 255, 0.05) inset; - - @media (max-width: 996px) { - max-width: 500px; - margin: 0 auto; - width: 100%; - } - - @media (max-width: 540px) { - border-radius: 12px; - box-shadow: - 0 10px 30px rgba(0, 0, 0, 0.08), - 0 0 0 1px rgba(255, 255, 255, 0.03) inset; - } -} - -[data-theme="dark"] .heroPanel { - background: rgba(15, 23, 42, 0.8); - box-shadow: - 0 20px 50px rgba(0, 0, 0, 0.3), - 0 0 0 1px rgba(255, 255, 255, 0.03) inset; -} - -.panelHeader { - padding: 20px 24px; - border-bottom: 1px solid var(--border); - font-size: 12px; - font-weight: 600; - color: var(--text-secondary); - text-transform: uppercase; - letter-spacing: 0.1em; - display: flex; - align-items: center; - gap: 8px; - - // 小圆点装饰 - &::before { - content: ""; - width: 6px; - height: 6px; - border-radius: 50%; - background: var(--primary); - animation: pulse 2s ease-in-out infinite; - } - - @media (max-width: 540px) { - padding: 16px 20px; - font-size: 11px; - } -} - -@keyframes pulse { - 0%, - 100% { - opacity: 1; - transform: scale(1); - } - 50% { - opacity: 0.5; - transform: scale(0.9); - } -} - -.linkList { - list-style: none; - margin: 0; - padding: 0; - display: flex; - flex-direction: column; - - li { - display: flex; - - & + li { - border-top: 1px solid var(--border); - } - } - - // 列表项入场动画 - .linkItem { - opacity: 0; - animation: slideInFromRight 0.5s cubic-bezier(0.4, 0, 0.2, 1) forwards; - } - - a { - position: relative; - display: flex; - align-items: center; - justify-content: space-between; - gap: 16px; - padding: 20px 24px; - padding-left: 28px; - text-decoration: none; - color: inherit; - width: 100%; - transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); - // 确保触摸目标足够大 - min-height: 72px; - overflow: hidden; - - // 左侧指示条 - &::before { - content: ""; - position: absolute; - left: 0; - top: 50%; - transform: translateY(-50%); - width: 3px; - height: 0; - background: linear-gradient(180deg, var(--primary) 0%, var(--primary-light) 100%); - border-radius: 0 2px 2px 0; - transition: height 0.3s cubic-bezier(0.4, 0, 0.2, 1); - } - - // 点击波纹效果 - &::after { - content: ""; - position: absolute; - top: 50%; - left: 50%; - width: 0; - height: 0; - border-radius: 50%; - background: rgba(0, 220, 130, 0.2); - transform: translate(-50%, -50%); - transition: - width 0.4s ease, - height 0.4s ease, - opacity 0.4s ease; - opacity: 0; - pointer-events: none; - } - - &:hover { - background: var(--primary-alpha-5); - text-decoration: none; - transform: translateX(4px); - - &::before { - height: 60%; - } - - span:last-child { - transform: translateX(6px); - color: var(--primary); - } - - h3 { - color: var(--primary); - } - } - - // 点击动画 - &:active { - background: var(--primary-alpha-10); - transform: translateX(2px) scale(0.98); - - &::after { - width: 300px; - height: 300px; - opacity: 1; - transition: - width 0.3s ease, - height 0.3s ease, - opacity 0.3s ease 0.1s; - } - - &::before { - height: 80%; - } - - span:last-child { - transform: translateX(8px) scale(1.1); - } - } - - // 箭头图标 - span:last-child { - font-size: 18px; - color: var(--text-light); - transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); - flex-shrink: 0; - } - - @media (max-width: 540px) { - padding: 16px 20px; - padding-left: 24px; - gap: 12px; - min-height: 64px; - } - } - - h3 { - margin: 0 0 6px; - font-size: 16px; - font-weight: 600; - color: var(--text-primary); - transition: color 0.3s cubic-bezier(0.4, 0, 0.2, 1); - - @media (max-width: 540px) { - font-size: 15px; - margin-bottom: 4px; - } - } - - p { - margin: 0; - font-size: 14px; - color: var(--text-secondary); - line-height: 1.5; - transition: color 0.3s cubic-bezier(0.4, 0, 0.2, 1); - - @media (max-width: 540px) { - font-size: 13px; - line-height: 1.4; - } - } -} - -// 列表项入场动画 -@keyframes slideInFromRight { - from { - opacity: 0; - transform: translateX(20px); - } - to { - opacity: 1; - transform: translateX(0); - } -} - -/* ====================================== - 入场动画 -====================================== */ -.fadeInUp { - animation: fadeInUp 0.6s ease-out forwards; - opacity: 0; -} - -@keyframes fadeInUp { - from { - opacity: 0; - transform: translateY(20px); - } - to { - opacity: 1; - transform: translateY(0); - } -} - -.delay1 { - animation-delay: 0.1s; -} -.delay2 { - animation-delay: 0.2s; -} -.delay3 { - animation-delay: 0.3s; -} -.delay4 { - animation-delay: 0.4s; -} -.delay5 { - animation-delay: 0.5s; -} diff --git a/src/pages/index.tsx b/src/pages/index.tsx deleted file mode 100644 index 3840d186e..000000000 --- a/src/pages/index.tsx +++ /dev/null @@ -1,182 +0,0 @@ -import Link from "@docusaurus/Link"; -import { useHistory } from "@docusaurus/router"; -import useDocusaurusContext from "@docusaurus/useDocusaurusContext"; -import Layout from "@theme/Layout"; -import React, { useRef } from "react"; -import styles from "./index.module.scss"; - -interface Stat { - label: string; - value: string; -} - -interface NavLink { - title: string; - description: string; - to: string; -} - -function StatsMetrics({ stats }: { stats: Stat[] }) { - return ( -
- {stats.map((item) => ( -
- {item.value} - {item.label} -
- ))} -
- ); -} - -function HeroHeader() { - return ( - <> -

- Cubic Wiki -

-

- 主要针对高版本 Java 版和基岩版服务器的开服指南。从零开始,手把手教你搭建和运营 Minecraft 服务器。 -

- - ); -} - -function HeroButtons() { - return ( -
- - 立即开始 - - - 参与贡献 - -
- ); -} - -function QuickNavPanel({ - quickLinks, - onLinkClick -}: { - quickLinks: NavLink[]; - onLinkClick: (e: React.MouseEvent, to: string) => void; -}) { - return ( - - ); -} - -function HeroCopy({ stats }: { stats: Stat[] }) { - return ( -
- - - -
- ); -} - -function HeroSection({ - stats, - quickLinks, - onLinkClick -}: { - stats: Stat[]; - quickLinks: NavLink[]; - onLinkClick: (e: React.MouseEvent, to: string) => void; -}) { - return ( -
- - -
- ); -} - -function usePageNavigation() { - const pageRef = useRef(null); - const history = useHistory(); - - const handleLinkClick = (e: React.MouseEvent, to: string) => { - e.preventDefault(); - const pageElement = pageRef.current; - - if (pageElement) { - // 添加退出动画类 - pageElement.classList.add(styles.pageExit); - - // 延迟导航,让退出动画完成 - setTimeout(() => { - history.push(to); - }, 300); - } else { - // 如果找不到元素,直接导航 - history.push(to); - } - }; - - return handleLinkClick; -} - -function useHomeData() { - // TODO: 引用真实数据 - const stats: Stat[] = [ - { label: "文档篇章", value: "1200+" }, - { label: "活跃贡献者", value: "50+" } - ]; - - const quickLinks: NavLink[] = [ - { title: "新手入门", description: "了解教程定位、阅读指引与基础要求", to: "/intro" }, - { title: "Java 版核心", description: "高版本 Java 版服务器开服指南", to: "/Java/intro" }, - { title: "基岩版核心", description: "基岩版服务器开服指南", to: "/Bedrock/intro" } - ]; - - return { stats, quickLinks }; -} - -/** - * 首页主组件 - */ -const Home: React.FC = () => { - const { - siteConfig: { customFields, tagline } - } = useDocusaurusContext(); - const { description } = customFields as { description: string }; - - const handleLinkClick = usePageNavigation(); - const { stats, quickLinks } = useHomeData(); - - return ( - -
-
- -
-
-
- ); -}; - -export default Home; diff --git a/src/plugins/tailwind-plugin.ts b/src/plugins/tailwind-plugin.ts deleted file mode 100644 index 1a27d4365..000000000 --- a/src/plugins/tailwind-plugin.ts +++ /dev/null @@ -1,11 +0,0 @@ -import type { PostCssOptions } from "@docusaurus/types"; - -module.exports = function tailwindPlugin() { - return { - name: "tailwindcss-plugin", - configurePostCss(postcssOptions: PostCssOptions) { - postcssOptions.plugins.push(require("@tailwindcss/postcss")); - return postcssOptions; - } - }; -}; diff --git a/src/styles/global.css b/src/styles/global.css new file mode 100644 index 000000000..a461c505f --- /dev/null +++ b/src/styles/global.css @@ -0,0 +1 @@ +@import "tailwindcss"; \ No newline at end of file diff --git a/src/theme/DocItem/Footer/LastUpdated/index.js b/src/theme/DocItem/Footer/LastUpdated/index.js deleted file mode 100644 index 83550aec7..000000000 --- a/src/theme/DocItem/Footer/LastUpdated/index.js +++ /dev/null @@ -1,82 +0,0 @@ -import React, { useEffect, useState } from "react"; -import { useDoc } from "@docusaurus/theme-common/internal"; -import Translate from "@docusaurus/Translate"; -import { execSync } from "child_process"; - -/** - * 获取文档的所有贡献者 - 这个函数只在构建时执行 - * @param {string} filePath 文档文件路径 - * @returns {Array} 贡献者列表 - */ -function getContributors(filePath) { - try { - if (typeof window !== "undefined") { - // 浏览器环境下无法执行 git 命令 - return []; - } - - // 使用 git log 获取所有提交者 - const command = `git log --format='%aN' -- "${filePath}" | sort | uniq`; - const output = execSync(command, { encoding: "utf-8" }); - - return output - .split("\n") - .filter(Boolean) - .map((line) => line.replace(/'/g, "").trim()); - } catch (error) { - console.error("获取文件贡献者失败:", error); - return []; - } -} - -// 重写的 LastUpdated 组件 -export default function LastUpdated({ lastUpdatedAt, formattedLastUpdatedAt }) { - const { metadata } = useDoc(); - const [contributors, setContributors] = useState([]); - - // 默认使用最后更新者 - const lastUpdatedBy = metadata.lastUpdatedBy; - - useEffect(() => { - // 只在服务器端构建时获取所有贡献者 - if (process.env.NODE_ENV === "production" && typeof window === "undefined") { - const sourcePath = metadata.source; - if (sourcePath) { - const allContributors = getContributors(sourcePath); - setContributors(allContributors); - } - } else if (lastUpdatedBy) { - // 客户端环境下只能使用元数据中的最后更新者 - setContributors([lastUpdatedBy]); - } - }, [metadata, lastUpdatedBy]); - - if (!lastUpdatedAt) { - return null; - } - - return ( -
- 0 && ( - - - {contributors.join(", ")} - - - ) - }} - > - {"Last updated on {lastUpdatedAt}"} - {contributors.length > 0 && " by {byText}"} - -
- ); -} diff --git a/src/theme/DocItem/Layout/index.js b/src/theme/DocItem/Layout/index.js deleted file mode 100644 index ac8d34084..000000000 --- a/src/theme/DocItem/Layout/index.js +++ /dev/null @@ -1,87 +0,0 @@ -import React from "react"; -import clsx from "clsx"; -import { useWindowSize } from "@docusaurus/theme-common"; -import { useDoc } from "@docusaurus/plugin-content-docs/client"; -import useDocusaurusContext from "@docusaurus/useDocusaurusContext"; // 添加导入 -import DocItemPaginator from "@theme/DocItem/Paginator"; -import DocVersionBanner from "@theme/DocVersionBanner"; -import DocVersionBadge from "@theme/DocVersionBadge"; -import DocItemFooter from "@theme/DocItem/Footer"; -import DocItemTOCMobile from "@theme/DocItem/TOC/Mobile"; -import DocItemTOCDesktop from "@theme/DocItem/TOC/Desktop"; -import DocItemContent from "@theme/DocItem/Content"; -import DocBreadcrumbs from "@theme/DocBreadcrumbs"; -import ContentVisibility from "@theme/ContentVisibility"; -import styles from "./styles.module.css"; -import { FloatButton, Modal } from "antd"; -import { FilePdfOutlined, PrinterOutlined } from "@ant-design/icons"; -import Comment from "../../../components/comment"; -/** - * Decide if the toc should be rendered, on mobile or desktop viewports - */ -function useDocTOC() { - const { frontMatter, toc } = useDoc(); - const windowSize = useWindowSize(); - const hidden = frontMatter.hide_table_of_contents; - const canRender = !hidden && toc.length > 0; - const mobile = canRender ? : undefined; - const desktop = canRender && (windowSize === "desktop" || windowSize === "ssr") ? : undefined; - return { - hidden, - mobile, - desktop - }; -} -export default function DocItemLayout({ children }) { - const docTOC = useDocTOC(); - const { metadata } = useDoc(); - const { siteConfig } = useDocusaurusContext(); // 获取 siteConfig - const { IS_CHINA_SITE: isChinaSite } = siteConfig.customFields; // 获取 IS_CHINA_SITE - const printArticle = () => { - window.print(); - }; - const downloadPDF = () => { - Modal.info({ - title: "下载PDF", - width: 500, - content: ( -
-

- 目前无法借助插件实现直接下载为PDF的功能,需要在弹出的打印窗口中,将目标打印机设置为"另存为PDF"(不同浏览器选项可能不同),通过打印功能来实现PDF下载 -

-

点击“确定”,将弹出打印对话框。

-
- ), - onOk() { - setTimeout(() => window.print(), 1000); - } - }); - }; - const { frontMatter } = useDoc(); - const { hide_comment: hideComment } = frontMatter; - return ( -
-
- - -
-
- - - {docTOC.mobile} - {children} - -
- -
- {!hideComment && !isChinaSite && } -
- {docTOC.desktop &&
{docTOC.desktop}
} - - - } title="打印文档" onClick={printArticle} /> - } title="下载PDF" onClick={downloadPDF} /> - -
- ); -} diff --git a/src/theme/DocItem/Layout/styles.module.css b/src/theme/DocItem/Layout/styles.module.css deleted file mode 100644 index 529a7d82c..000000000 --- a/src/theme/DocItem/Layout/styles.module.css +++ /dev/null @@ -1,10 +0,0 @@ -.docItemContainer header + *, -.docItemContainer article > *:first-child { - margin-top: 0; -} - -@media (min-width: 997px) { - .docItemCol { - max-width: 75% !important; - } -} diff --git a/src/theme/Footer/Copyright/index.js b/src/theme/Footer/Copyright/index.js deleted file mode 100644 index 008500bba..000000000 --- a/src/theme/Footer/Copyright/index.js +++ /dev/null @@ -1,21 +0,0 @@ -import React from "react"; -import useDocusaurusContext from "@docusaurus/useDocusaurusContext"; - -export default function FooterCopyright({ copyright }) { - const { siteConfig } = useDocusaurusContext(); - const { ICP_LICENSE, IS_CHINA_SITE } = siteConfig.customFields || {}; - - const icpHtml = - IS_CHINA_SITE && ICP_LICENSE - ? ` | ${ICP_LICENSE}` - : ""; - - return ( -
- ); -} diff --git a/src/theme/Footer/Layout/index.js b/src/theme/Footer/Layout/index.js deleted file mode 100644 index d7456692e..000000000 --- a/src/theme/Footer/Layout/index.js +++ /dev/null @@ -1,21 +0,0 @@ -import React from "react"; -import clsx from "clsx"; -export default function FooterLayout({ style, links, logo, copyright }) { - return ( -
-
- {links} - {(logo || copyright) && ( -
- {logo &&
{logo}
} - {copyright} -
- )} -
-
- ); -} diff --git a/src/theme/Footer/LinkItem/index.js b/src/theme/Footer/LinkItem/index.js deleted file mode 100644 index 512052c04..000000000 --- a/src/theme/Footer/LinkItem/index.js +++ /dev/null @@ -1,27 +0,0 @@ -import React from "react"; -import clsx from "clsx"; -import Link from "@docusaurus/Link"; -import useBaseUrl from "@docusaurus/useBaseUrl"; -import isInternalUrl from "@docusaurus/isInternalUrl"; -import IconExternalLink from "@theme/Icon/ExternalLink"; -export default function FooterLinkItem({ item }) { - const { to, href, label, prependBaseUrlToHref, className, ...props } = item; - const toUrl = useBaseUrl(to); - const normalizedHref = useBaseUrl(href, { forcePrependBaseUrl: true }); - return ( - - {label} - {href && !isInternalUrl(href) && } - - ); -} diff --git a/src/theme/Footer/Links/MultiColumn/index.js b/src/theme/Footer/Links/MultiColumn/index.js deleted file mode 100644 index 12517887b..000000000 --- a/src/theme/Footer/Links/MultiColumn/index.js +++ /dev/null @@ -1,38 +0,0 @@ -import React from "react"; -import clsx from "clsx"; -import LinkItem from "@theme/Footer/LinkItem"; -function ColumnLinkItem({ item }) { - return item.html ? ( -
  • - ) : ( -
  • - -
  • - ); -} -function Column({ column }) { - return ( -
    -
    {column.title}
    -
      - {column.items.map((item, i) => ( - - ))} -
    -
    - ); -} -export default function FooterLinksMultiColumn({ columns }) { - return ( -
    - {columns.map((column, i) => ( - - ))} -
    - ); -} diff --git a/src/theme/Footer/Links/Simple/index.js b/src/theme/Footer/Links/Simple/index.js deleted file mode 100644 index 783c0def6..000000000 --- a/src/theme/Footer/Links/Simple/index.js +++ /dev/null @@ -1,32 +0,0 @@ -import React from "react"; -import clsx from "clsx"; -import LinkItem from "@theme/Footer/LinkItem"; -function Separator() { - return ·; -} -function SimpleLinkItem({ item }) { - return item.html ? ( - - ) : ( - - ); -} -export default function FooterLinksSimple({ links }) { - return ( -
    -
    - {links.map((item, i) => ( - - - {links.length !== i + 1 && } - - ))} -
    -
    - ); -} diff --git a/src/theme/Footer/Links/index.js b/src/theme/Footer/Links/index.js deleted file mode 100644 index 138b1dd97..000000000 --- a/src/theme/Footer/Links/index.js +++ /dev/null @@ -1,11 +0,0 @@ -import React from "react"; -import { isMultiColumnFooterLinks } from "@docusaurus/theme-common"; -import FooterLinksMultiColumn from "@theme/Footer/Links/MultiColumn"; -import FooterLinksSimple from "@theme/Footer/Links/Simple"; -export default function FooterLinks({ links }) { - return isMultiColumnFooterLinks(links) ? ( - - ) : ( - - ); -} diff --git a/src/theme/Footer/Logo/index.js b/src/theme/Footer/Logo/index.js deleted file mode 100644 index 33ba48054..000000000 --- a/src/theme/Footer/Logo/index.js +++ /dev/null @@ -1,32 +0,0 @@ -import React from "react"; -import clsx from "clsx"; -import Link from "@docusaurus/Link"; -import { useBaseUrlUtils } from "@docusaurus/useBaseUrl"; -import ThemedImage from "@theme/ThemedImage"; -import styles from "./styles.module.css"; -function LogoImage({ logo }) { - const { withBaseUrl } = useBaseUrlUtils(); - const sources = { - light: withBaseUrl(logo.src), - dark: withBaseUrl(logo.srcDark ?? logo.src) - }; - return ( - - ); -} -export default function FooterLogo({ logo }) { - return logo.href ? ( - - - - ) : ( - - ); -} diff --git a/src/theme/Footer/Logo/styles.module.css b/src/theme/Footer/Logo/styles.module.css deleted file mode 100644 index c816163c7..000000000 --- a/src/theme/Footer/Logo/styles.module.css +++ /dev/null @@ -1,8 +0,0 @@ -.footerLogoLink { - opacity: 0.5; - transition: opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default); -} - -.footerLogoLink:hover { - opacity: 1; -} diff --git a/src/theme/Footer/index.js b/src/theme/Footer/index.js deleted file mode 100644 index 9ca8109f8..000000000 --- a/src/theme/Footer/index.js +++ /dev/null @@ -1,22 +0,0 @@ -import React from "react"; -import { useThemeConfig } from "@docusaurus/theme-common"; -import FooterLinks from "@theme/Footer/Links"; -import FooterLogo from "@theme/Footer/Logo"; -import FooterCopyright from "@theme/Footer/Copyright"; -import FooterLayout from "@theme/Footer/Layout"; -function Footer() { - const { footer } = useThemeConfig(); - if (!footer) { - return null; - } - const { copyright, links, logo, style } = footer; - return ( - 0 && } - logo={logo && } - copyright={copyright && } - /> - ); -} -export default React.memo(Footer); diff --git a/src/theme/Navbar/index.tsx b/src/theme/Navbar/index.tsx deleted file mode 100644 index 26caa47dd..000000000 --- a/src/theme/Navbar/index.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import { useLocation } from "@docusaurus/router"; -import type { WrapperProps } from "@docusaurus/types"; -import Navbar from "@theme-original/Navbar"; -import type NavbarType from "@theme/Navbar"; -import { type ReactNode } from "react"; -import { HeroBackground } from "../../components/HeroBackground"; - -type Props = WrapperProps; - -export default function NavbarWrapper(props: Props): ReactNode { - const location = useLocation(); - - const combinedClassName = [ - "absolute left-0 w-full text-primary shrink-0 z-1 pointer-events-none transition-all", - location.pathname === "/" ? "opacity-100" : "opacity-30" - ] - .filter(Boolean) - .join(" "); - - return ( -
    - -
    - -
    -
    - ); -} diff --git a/src/theme/PaginatorNavLink/index.jsx b/src/theme/PaginatorNavLink/index.jsx deleted file mode 100644 index 8c3096224..000000000 --- a/src/theme/PaginatorNavLink/index.jsx +++ /dev/null @@ -1,18 +0,0 @@ -import Link from "@docusaurus/Link"; -import { cn } from "@site/src/lib/utils"; - -export default function PaginatorNavLink(props) { - const { permalink, title, subLabel, isNext } = props; - return ( - - {subLabel &&
    {subLabel}
    } -
    {title}
    - - ); -} diff --git a/src/types/ExplorerNode.ts b/src/types/ExplorerNode.ts deleted file mode 100644 index 98969b810..000000000 --- a/src/types/ExplorerNode.ts +++ /dev/null @@ -1,35 +0,0 @@ -export type ExplorerNode = FolderNode | FileNode | StructureNode; - -/** - * 文件夹节点 - */ -export interface FolderNode { - name: string; - type: "folder"; - children?: ExplorerNode[]; - description?: string; - url?: string; - external?: boolean; -} - -/** - * 文件节点 - */ -export interface FileNode { - name: string; - type: "file"; - description?: string; - url?: string; - external?: boolean; -} - -/** - * 结构节点 - */ -export interface StructureNode { - name: string; - type: "structure"; - children?: ExplorerNode[]; - external?: boolean; - description?: string; -} \ No newline at end of file diff --git a/static/baidu_verify_codeva-POvxxO9Mk4.html.html b/static/baidu_verify_codeva-POvxxO9Mk4.html.html deleted file mode 100644 index 872c500ca..000000000 --- a/static/baidu_verify_codeva-POvxxO9Mk4.html.html +++ /dev/null @@ -1 +0,0 @@ -7a84b80d44ef54bdbfedbaa9f9413e9b diff --git a/static/img/docusaurus-social-card.jpg b/static/img/docusaurus-social-card.jpg deleted file mode 100644 index da899cf1dc2b55f0d948f9038ad32c95ed16c7e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29854 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≫^4c2cL4ns@c;S%A6 zb(p|?2>>f{N&a}dB;EjXtL^`SDgD{v)71w6qlm(FupCKIk zB-{R3L3E97x#C)ksbDR@G{=`hOsGXw7SG9p87-`?SsdDQiF(NDc?qk^_n(*_(jGyQ zFa~(?`Ltg|f4&F1+Tg&Qn!0NQ+h%b>aDUvaWrRx*p)N>cm5=SDfRi?+C`@Yy6_zs1 z5-7>2$lRu&*vNqZ=J(V^+snf$U#RRy1ob-{G}Lr#8kzyp1wN2Sn%3I4wazI+WRPWF9h1grPUPtMKzL&-h)gojVj&E;J3hG* z;r?^7R?3a+th;%8D+*|Wu=yE#+WSjHuxbMuNLM=N$!u5LS)DguUee5apva@hQ#M3vq z<_075#IJ%FcRj_AQQU3W;R|XXEb>&WN$O_+GB##8yBxw9*k?!^);3STO}JePuGyCd zZxxu{9|V`5e!_XwEw&z%X4{mrVB!$GkWNaO+R_THFsIHQ!oib=>sZ5{n(dh@#v=wZ zs}h09M*@v18x6EOYRR^~V6-vB#J|dqi%7h666W97{0P7dX*O-UU4`SZi$onh)YObo zWz&{ZezQa6xDj)UI_F{C+WGnT+P;b&8a)EiOX`E=wF-(XkhAc~_p7whZrtu$DimVq zMbpqzRrBh%N%O65_4pw$;ra;+`H8kW6 z7n~y1lLMZ9sp!+;9b(cvMzh~q>BfHHf@jPX<7a{YIa~!1o%sZSdalzRkk8vwx5HpbsYIipqN;szul|+G2=L0=PUkQWf%1 zqA>H_o^P7cQn-lKuTCC}!I=W4-$lb**3&T{?+~)qlKG=Rmc0o=qRQ~wmkNr9$CRgq z1dj)A-$If1wD*~P_nxs>%pZjd>>{>few9Zi{9&c2h--aHQFZT�Elld?35tI&Rhx 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 Ls#jyG^THDVi<69z diff --git a/static/manifest.json b/static/manifest.json deleted file mode 100644 index 943a1f150..000000000 --- a/static/manifest.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "笨蛋文档", - "short_name": "笨蛋文档", - "theme_color": "#2196f3", - "background_color": "#424242", - "display": "standalone", - "scope": "./", - "start_url": "./index.html", - "related_applications": [ - { - "platform": "webapp", - "url": "https://nitwikit.8aka.org/manifest.json" - } - ], - "icons": [ - { - "src": "img/book.png", - "sizes": "160x160", - "type": "image/png" - } - ] -} diff --git a/static/robots.txt b/static/robots.txt deleted file mode 100644 index 6f27bb66a..000000000 --- a/static/robots.txt +++ /dev/null @@ -1,2 +0,0 @@ -User-agent: * -Disallow: \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json index df7b65199..997820017 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,18 +1,9 @@ { - "extends": "@docusaurus/tsconfig", + "extends": "astro/tsconfigs/strict", + "include": [".astro/types.d.ts", "**/*"], + "exclude": ["dist"], "compilerOptions": { "baseUrl": "./", - "allowSyntheticDefaultImports": true, "resolveJsonModule": true, - "strict": true, - "forceConsistentCasingInFileNames": true, - "types": ["docusaurus-plugin-sass"], - "paths": { - "@/*": ["src/*"], - "@components/*": ["src/components/*"], - "@pages/*": ["src/pages/*"], - "@theme/*": ["src/theme/*"], - "@css/*": ["src/css/*"] - } } } From 4104ae176ef076e5df34029f44ab6b047deaf8fb Mon Sep 17 00:00:00 2001 From: MrlingXD <90316914+wling-art@users.noreply.github.com> Date: Mon, 5 Jan 2026 19:01:08 +0800 Subject: [PATCH 02/42] =?UTF-8?q?=F0=9F=93=9D=20=E6=9A=82=E5=AD=98-1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .markdownlint.jsonc => .markdownlint.json | 6 +- .../docs/about => about}/_assets/me.png | Bin {src/content/docs/about => about}/ad.md | 0 {src/content/docs/about => about}/arch.md | 0 .../docs/about => about}/contributors.md | 0 {src/content/docs/about => about}/intro.md | 0 {src/content/docs/about => about}/sponsor.md | 0 .../content/docs/about => about}/timeline.mdx | 0 astro.config.ts | 680 ++++++++- .../docs/bedrock => bedrock}/bds/bds.md | 0 .../bds/process/bdsx/bdsx-install.md | 0 .../bds/process/bdsx/bdsx.md | 0 .../bds/process/endstone/_assets/1-1.png | Bin .../bds/process/endstone/_assets/1-2.png | Bin .../bds/process/endstone/_assets/1-3.png | Bin .../bds/process/endstone/_assets/1-4.png | Bin .../bds/process/endstone/_assets/1-5.png | Bin .../bds/process/endstone/_assets/1-6.png | Bin .../bds/process/endstone/_assets/1-7.png | Bin .../bds/process/endstone/_assets/1-8.png | Bin .../bds/process/endstone/_assets/1-9.png | Bin .../bds/process/endstone/_assets/1.png | Bin .../bds/process/endstone/_assets/10.png | Bin .../bds/process/endstone/_assets/2-1.png | Bin .../bds/process/endstone/_assets/2-10.png | Bin .../bds/process/endstone/_assets/2-11.png | Bin .../bds/process/endstone/_assets/2-2.png | Bin .../bds/process/endstone/_assets/2-3.png | Bin .../bds/process/endstone/_assets/2-4.png | Bin .../bds/process/endstone/_assets/2-5.png | Bin .../bds/process/endstone/_assets/2-6.png | Bin .../bds/process/endstone/_assets/2-7.png | Bin .../bds/process/endstone/_assets/2-8.png | Bin .../bds/process/endstone/_assets/2-9.png | Bin .../bds/process/endstone/_assets/2.png | Bin .../bds/process/endstone/_assets/3.png | Bin .../bds/process/endstone/_assets/4.png | Bin .../bds/process/endstone/_assets/5.png | Bin .../bds/process/endstone/_assets/6.png | Bin .../bds/process/endstone/_assets/7.png | Bin .../bds/process/endstone/_assets/8.png | Bin .../bds/process/endstone/_assets/9.png | Bin .../bds/process/endstone/endstone-install.md | 0 .../bds/process/endstone/endstone-plugins.md | 0 .../bds/process/endstone/endstone.md | 0 .../levilamina/legacy-script-engine.md | 0 .../process/levilamina/levilamina-install.md | 0 .../process/levilamina/levilamina-plugins.mdx | 0 .../bds/process/levilamina/levilamina.md | 0 .../bds/process/liteloader-bds/install.md | 0 .../process/liteloader-bds/liteloader-bds.md | 0 .../bds/process/liteloader-bds/plugins.md | 0 .../plugins/_assets/levilamina-is-coming.png | Bin .../_assets/levilamina-will-archived.png | Bin .../process/plugins/how-to-load-plugins.md | 0 .../process/plugins/plugins-loader-choose.md | 0 .../bds/process/plugins/plugins.md | 0 .../bds/process/process.md | 0 .../bds/start/basic/basic.md | 0 .../bds/start/basic/server-dir-structure.mdx | 0 .../bedrock => bedrock}/bds/start/start.md | 0 .../misc/_assets/dragonfly.png | Bin .../bedrock => bedrock}/misc/allay/allay.md | 0 .../misc/allay/description.md | 0 .../misc/allay/preparation.md | 0 .../bedrock => bedrock}/misc/dragonfly.md | 0 .../bedrock => bedrock}/misc/mcpeserver.md | 0 .../docs/bedrock => bedrock}/misc/misc.md | 0 .../misc/preparation/preparation.md | 0 .../misc/preparation/text-editor.md | 0 .../misc/preparation/websites.md | 0 .../bedrock => bedrock}/nukkit/history.md | 0 .../docs/bedrock => bedrock}/nukkit/nukkit.md | 0 .../choose-and-download-and-install-java.md | 0 .../nukkit/preparation/preparation.md | 0 .../nukkit/preparation/text-editor.md | 0 .../nukkit/preparation/websites.md | 0 .../nukkit/start/basic/basic.md | 0 .../start/basic/server-file-structure.mdx | 0 .../nukkit/start/nukkitmot/description.md | 0 .../nukkit/start/nukkitmot/nukkitmot.md | 0 .../nukkit/start/nukkitx/description.md | 0 .../nukkit/start/nukkitx/nukkitx.md | 0 .../nukkit/start/pm1e/_assets/controversy.png | Bin .../nukkit/start/pm1e/controversy.md | 0 .../nukkit/start/pm1e/description.md | 0 .../nukkit/start/pm1e/pm1e.md | 0 .../nukkit/start/pnx/description.md | 0 .../nukkit/start/pnx/pnx.md | 0 .../bedrock => bedrock}/nukkit/start/start.md | 0 .../pocketmine/description.md | 0 .../pocketmine/pocketmine.md | 0 .../choose-and-download-and-install-php.md | 0 .../pocketmine/preparation/preparation.md | 0 .../pocketmine/preparation/text-editor.md | 0 .../pocketmine/preparation/websites.md | 0 .../_assets/bedrock-core-running.png | Bin .../_assets/nukkit-core-running.png | Bin .../_assets/pocketminemp-core-running.png | Bin .../_assets/powernukkitx-core-rip.png | Bin .../_assets/powernukkitx-core-running.png | Bin .../super-basic/protocol-version-number.md | 0 .../super-basic/server-core-choose.md | 0 .../super-basic/server-type.md | 0 .../super-basic/super-basic.md | 0 .../super-basic/version.md | 0 .../waterdogepe/preparation.md | 0 .../waterdogepe/waterdogepe.md | 0 ...1\344\270\234\350\245\277\344\272\206.png" | Bin .../1.png" | Bin 0 -> 17291 bytes .../2.png" | Bin 0 -> 16011 bytes .../3.png" | Bin 0 -> 37963 bytes .../general => general}/advance/advance.md | 0 .../general => general}/advance/arthas.md | 0 .../general => general}/advance/docker.md | 0 .../docs/general => general}/advance/frp.md | 0 .../advance/management/management.md | 0 .../money-management/investment-psychology.md | 0 .../money-management/money-management.md | 0 .../sustainable-development.md | 0 .../player-management/announcement.md | 0 .../management/player-management/auditing.md | 0 .../management/player-management/chunkbase.md | 0 .../player-management/client-distribution.mdx | 0 .../management/player-management/feedback.md | 0 .../management/player-management/platform.md | 0 .../player-management/player-management.md | 0 .../management/player-management/rules.md | 0 .../management/player-management/whitelist.md | 0 .../management/player-management/wiki.md | 0 .../advance/viaproxy/_assets/img.png | Bin .../advance/viaproxy/_assets/img_1.png | Bin .../advance/viaproxy/configuration.mdx | 0 .../advance/viaproxy/index.md | 0 .../advance/viaproxy/installation.md | 0 .../advance/viaproxy/plugins/auth.md | 0 .../advance/viaproxy/plugins/compatibility.md | 0 .../advance/viaproxy/plugins/features.md | 0 .../advance/viaproxy/plugins/index.md | 0 .../advance/viaproxy/plugins/network.md | 0 .../advance/website/_assets/img-.png | Bin .../advance/website/_assets/img-2.png | Bin .../advance/website/_assets/img-3.png | Bin .../advance/website/_assets/img.png | Bin .../advance/website/_assets/img_1.png | Bin .../advance/website/_assets/img_10.png | Bin .../advance/website/_assets/img_2.png | Bin .../advance/website/_assets/img_3.png | Bin .../advance/website/_assets/img_4.png | Bin .../advance/website/_assets/img_5.png | Bin .../advance/website/_assets/img_6.png | Bin .../advance/website/_assets/img_7.png | Bin .../advance/website/_assets/img_8.png | Bin .../advance/website/_assets/img_9.png | Bin .../_assets/img\342\200\224\342\200\2241.png" | Bin ...210\252\345\233\276 2025-06-08 135158.png" | Bin .../advance/website/faq.md | 0 .../advance/website/install.md | 0 .../advance/website/plugins.md | 0 .../advance/website/prepare.md | 0 .../advance/website/server-config.md | 0 .../advance/website/server-plugins.md | 0 .../advance/website/website.md | 0 .../contribution/contribution.md | 0 .../general => general}/contribution/image.md | 0 .../general => general}/contribution/todos.md | 0 .../writing-specification/blank.md | 0 .../writing-specification/code-examples.md | 0 .../documentation-system.md | 0 .../writing-specification/numerical-value.md | 0 .../writing-specification/paragraph.md | 0 .../punctuation-marks.md | 0 .../writing-specification/reference.md | 0 .../writing-specification/text.md | 0 .../writing-specification/title.md | 0 .../writing-specification.md | 0 .../docs/general => general}/loss-thing.md | 0 .../preparation/java/path.md | 3 - ...3\347\264\240\350\241\250\347\216\260.jpg" | Bin 0 -> 12474 bytes ...2\347\232\204\346\257\224\344\276\213.jpg" | Bin 0 -> 14409 bytes ...6\350\212\202\345\210\206\345\270\203.jpg" | Bin 0 -> 24942 bytes ...6\344\275\223\347\272\271\347\220\206.jpg" | Bin 0 -> 10448 bytes ...3\350\212\202\351\235\242\346\235\277.jpg" | Bin 0 -> 10600 bytes ...4\351\223\201\345\202\200\345\204\241.jpg" | Bin 0 -> 7504 bytes ...1\345\235\227\347\272\271\347\220\206.jpg" | Bin 0 -> 25256 bytes ...7\347\212\266\350\241\250\347\216\260.jpg" | Bin 0 -> 13069 bytes ...7\347\232\204\351\270\241\350\233\213.jpg" | Bin 0 -> 3463 bytes "general/process/_assets/\346\241\266.jpg" | Bin 0 -> 4280 bytes ...2\347\232\204\350\234\234\350\204\276.jpg" | Bin 0 -> 7630 bytes .../_assets/\346\265\267\345\270\246.jpg" | Bin 0 -> 5012 bytes ...7\346\264\213\344\271\213\345\277\203.jpg" | Bin 0 -> 5208 bytes ...0\345\203\217\347\264\240\347\202\271.jpg" | Bin 0 -> 1763 bytes ...1\345\223\201\347\272\271\347\220\206.jpg" | Bin 0 -> 7948 bytes ...7\351\275\277\350\241\250\347\216\260.jpg" | Bin 0 -> 10973 bytes .../\347\234\237\344\272\272vsSteve.jpg" | Bin 0 -> 3381 bytes ...345\275\242UV\350\264\264\345\233\276.jpg" | Bin 0 -> 6391 bytes .../_assets/\350\207\252\345\212\250UV.jpg" | Bin 0 -> 13773 bytes .../_assets/\350\213\271\346\236\234.jpg" | Bin 0 -> 4962 bytes ...6\345\210\253\347\272\271\347\220\206.jpg" | Bin 0 -> 14892 bytes .../\351\222\273\347\237\263\345\211\221.jpg" | Bin 0 -> 5863 bytes .../maintenance/_assets/angryopenfrp.jpg | Bin .../how-to-defend-against-cyber-attacks.md | 0 .../process/maintenance/maintenance.md | 0 .../maintenance/plugin-troubleshooting.md | 0 .../general => general}/process/process.md | 0 .../general => general}/process/whitelist.md | 0 .../docs/general => general}/start/start.md | 0 .../choose-and-download-and-install-java.md | 0 .../preparation/dumb-script-usage.md | 0 .../java => java}/preparation/services.md | 0 .../java => java}/preparation/text-editor.md | 0 .../process/create-art-assets.md | 0 .../docs/java => java}/process/dashboard.md | 0 .../docs/java => java}/process/database.md | 0 .../_assets/anticheat/antixray-mode1-1.png | Bin .../_assets/anticheat/antixray-mode2-1.png | Bin .../_assets/anticheat/antixray-mode3-1.png | Bin .../anticheat/antixray-nerher-mode1.png | Bin .../anticheat/antixray-nerher-mode3.png | Bin .../anticheat/antixray-nether-mode2.png | Bin .../_assets/anticheat/talentsaclogo.png | Bin .../maintenance/anticheat/_assets/img.png | Bin .../maintenance/anticheat/_assets/img_1.png | Bin .../maintenance/anticheat/anti-crash.md | 0 .../maintenance/anticheat/anticheat.md | 0 .../maintenance/anticheat/anticheatplugins.md | 0 .../process/maintenance/anticheat/antixray.md | 0 .../process/maintenance/anticheat/honeypot.md | 0 .../process/maintenance/anticheat/rng.md | 0 .../process/maintenance/backup.md | 0 .../how-to-defend-against-cyber-attacks.md | 0 .../lang/javascript/extend/extend.md | 0 .../lang/javascript/extend/graaljs.md | 0 .../lang/javascript/extend/nashorn.md | 0 .../maintenance/lang/javascript/javascript.md | 0 .../lang/kether/_assets/Vulpecula/1.png | Bin .../lang/kether/_assets/Vulpecula/2.png | Bin .../lang/kether/_assets/Vulpecula/3.png | Bin .../lang/kether/_assets/Vulpecula/4.png | Bin .../lang/kether/_assets/Vulpecula/5.png | Bin .../lang/kether/_assets/Vulpecula/6.png | Bin .../lang/kether/_assets/Vulpecula/7.png | Bin .../lang/kether/_assets/Vulpecula/8.png | Bin .../lang/kether/_assets/Vulpecula/9.png | Bin .../maintenance/lang/kether/_assets/if_1.png | Bin .../maintenance/lang/kether/_assets/if_2.png | Bin .../maintenance/lang/kether/_assets/if_3.png | Bin .../lang/kether/_assets/inline.png | Bin .../lang/kether/_assets/math_1.png | Bin .../lang/kether/_assets/result.png | Bin .../lang/kether/_assets/type_1.png | Bin .../maintenance/lang/kether/_assets/var_1.png | Bin .../maintenance/lang/kether/_assets/var_2.png | Bin .../maintenance/lang/kether/_assets/var_3.png | Bin .../maintenance/lang/kether/_assets/var_4.png | Bin .../maintenance/lang/kether/_assets/var_5.png | Bin .../maintenance/lang/kether/_assets/var_6.png | Bin .../maintenance/lang/kether/_assets/var_7.png | Bin .../lang/kether/_assets/vul-check.png | Bin .../lang/kether/_assets/vul-color.png | Bin .../lang/kether/_assets/vul-papi.png | Bin .../lang/kether/_assets/vul-perm.png | Bin .../lang/kether/_assets/vul-permNot_1.png | Bin .../lang/kether/_assets/vul-permNot_2.png | Bin .../lang/kether/_assets/vul-tell.png | Bin .../lang/kether/_assets/vul-tell_color.png | Bin .../lang/kether/_assets/vul-tell_name.png | Bin .../lang/kether/_assets/vul-tell_noColor.png | Bin .../kether/_assets/vul-tell_papiNoInline.png | Bin .../_assets/vul-tell_papiWithInline.png | Bin .../kether/_assets/vul-tell_papiWithJoin.png | Bin .../lang/kether/_assets/vul-tell_tell.png | Bin .../lang/kether/_assets/web-tell.png | Bin .../_assets/\345\206\222\346\261\227.jpg" | Bin .../_assets/\346\213\254\345\217\267.png" | Bin .../\346\255\243\347\273\217\347\254\221.jpg" | Bin .../_assets/\347\227\264\345\221\206.jpg" | Bin .../process/maintenance/lang/kether/basic.md | 0 .../process/maintenance/lang/kether/if.md | 0 .../process/maintenance/lang/kether/kether.md | 0 .../process/maintenance/lang/kether/math.md | 0 .../process/maintenance/lang/kether/misc.md | 0 .../maintenance/lang/kether/preparation.md | 0 .../maintenance/lang/kether/variable.md | 0 .../maintenance/lang/kether/vulpecula.md | 0 .../process/maintenance/lang/lang.md | 0 .../lang/skript/_assets/QuerySubclasses.png | Bin .../lang/skript/_assets/SearchEvent.png | Bin .../lang/skript/_assets/SearchMethods.png | Bin .../lang/skript/_assets/SkriptBasic1.png | Bin .../lang/skript/advanced-tutorials.md | 0 .../lang/skript/basic-tutorials.md | 0 .../process/maintenance/lang/skript/skript.md | 0 .../process/maintenance/maintenance.md | 0 .../maintenance/optimize/_assets/ummm.jpg | Bin .../spark_start.png" | Bin .../spark_stop.png" | Bin .../maintenance/optimize/ask-for-help.md | 0 .../process/maintenance/optimize/go.mdx | 0 .../process/maintenance/optimize/img.png | Bin .../maintenance/optimize/jvm/common.md | 0 .../maintenance/optimize/jvm/dragonwell11.md | 0 .../maintenance/optimize/jvm/dragonwell8.md | 0 .../process/maintenance/optimize/jvm/graal.md | 0 .../process/maintenance/optimize/jvm/jvm.md | 0 .../maintenance/optimize/jvm/openj9.md | 0 .../process/maintenance/optimize/jvm/zing.md | 0 .../process/maintenance/optimize/kernel.md | 0 .../process/maintenance/optimize/optimize.md | 0 .../maintenance/optimize/optimized-plugin.md | 0 .../optimize/performance-analysis.md | 0 .../optimize/storage-space-optimization.md | 0 .../maintenance/resourcepack/_assets/1.png | Bin .../maintenance/resourcepack/_assets/2.png | Bin .../maintenance/resourcepack/_assets/3.png | Bin .../maintenance/resourcepack/_assets/4.png | Bin .../maintenance/resourcepack/_assets/5.png | Bin .../maintenance/resourcepack/_assets/6.png | Bin .../maintenance/resourcepack/_assets/7.png | Bin .../maintenance/resourcepack/_assets/8.png | Bin .../resourcepack/_assets/blockbench.png | Bin .../maintenance/resourcepack/_assets/head.png | Bin .../resourcepack/_assets/title.png | Bin .../resourcepack/_assets/tooltip1.png | Bin .../resourcepack/_assets/tooltip2.png | Bin .../process/maintenance/resourcepack/addon.md | 0 .../maintenance/resourcepack/compress.md | 0 ...b2c895c2af14fbc7e6989404d0ff7af64020ea.gif | Bin ...2f487d799270ea2e204de73236dda77d18f954.gif | Bin ...a53ea3a4d029784f4ed54d17a335e099b805b4.gif | Bin ...4a015981222b37bfa3b2324113d919a33b090f.png | Bin ...470cba6836ab471f19c8e788c513765de2d02c.png | Bin ...a7f51a86d1a313f1b41f27e021421adc93eec9.png | Bin ...b239e0689c433ef5a2c0e85f710e988bf1ba4e.gif | Bin ...658155424cd985553237821611dfdea040b166.gif | Bin .../plugins/_assets/videoframe_1994.png | Bin .../plugins/_assets/videoframe_931.png | Bin .../resourcepack/plugins/entity.md | 0 .../resourcepack/plugins/framework.md | 0 .../maintenance/resourcepack/plugins/hud.md | 0 .../maintenance/resourcepack/plugins/misc.md | 0 .../resourcepack/plugins/plugins.md | 0 .../resourcepack/plugins/tooltip.md | 0 .../resourcepack/plugins/vehicles.md | 0 .../maintenance/resourcepack/protect.md | 0 .../maintenance/resourcepack/resourcepack.md | 0 .../process/maintenance/resourcepack/send.md | 0 .../maintenance/resourcepack/software.md | 0 .../docs/java => java}/start/ask-for-help.md | 0 .../start/basic/_assets/command-1.png | Bin .../start/basic/_assets/command-2.png | Bin .../start/basic/_assets/command-3.png | Bin .../start/basic/_assets/command-4.png | Bin .../start/basic/_assets/nogui.jpg | Bin ...1\345\246\231\346\257\224\345\226\273.png" | Bin .../docs/java => java}/start/basic/basic.md | 0 .../basic/relationship-between-servers.md | 0 .../start/basic/server-management-command.md | 0 .../start/basic/what-is-datapack.mdx | 0 .../java => java}/start/basic/what-is-lag.md | 0 .../java => java}/start/basic/what-is-log.md | 0 .../java => java}/start/basic/what-is-mod.md | 0 .../start/basic/what-is-namespace.md | 0 .../java => java}/start/basic/what-is-nbt.md | 0 .../start/basic/what-is-permission.md | 0 .../start/basic/what-is-plugin.md | 0 .../start/basic/what-is-server.md | 0 .../start/basic/what-is-startup-script.md | 0 .../start/basic/what-is-world.md | 0 .../docs/java => java}/start/deploy.md | 0 package.json | 13 +- pnpm-lock.yaml | 1326 +++++++++++++++-- src/components/Sidebar.astro | 7 + src/content.config.ts | 11 +- .../bedrock/bds/preparation/preparation.md | 4 - .../bedrock/bds/preparation/text-editor.md | 9 - .../docs/bedrock/bds/preparation/vcruntime.md | 3 - .../docs/bedrock/bds/preparation/websites.md | 4 - src/content/docs/bedrock/intro.md | 3 +- .../bot/{framework.md => framework.mdx} | 44 +- .../advance/bot/{general.md => general.mdx} | 26 +- .../general/advance/bot/{bot.md => intro.md} | 8 +- .../advance/bot/{plugin.md => plugin.mdx} | 24 +- .../docs/general/advance/domain-and-dns.md | 3 - .../docs/general/advance/linux/backup.md | 5 +- .../advance/linux/connect-to-server.md | 5 +- .../advance/linux/database-installation.md | 139 -- .../{keep-running.md => keep-running.mdx} | 30 +- .../docs/general/advance/linux/linux.md | 8 +- .../advance/linux/{start.md => start.mdx} | 24 +- .../basics}/_assets/nogui.jpg | Bin .../\345\217\243\345\255\227\347\254\246.png" | Bin .../{start/basic/basic.md => basics/index.md} | 10 +- .../{start/basic => basics}/what-is-lag.md | 3 - .../{start/basic => basics}/what-is-log.md | 3 - .../basic => basics}/what-is-messy-code.md | 3 - .../basic => basics}/what-is-permission.md | 3 - .../{start/basic => basics}/what-is-plugin.md | 3 - .../{start/basic => basics}/what-is-server.md | 3 - .../what-is-startup-script.md | 3 - src/content/docs/general/intro.md | 29 +- .../java/_assets/Oracle-1.png | Bin .../java/_assets/Oracle-2.png | Bin .../java/_assets/Oracle-3.png | Bin .../java/_assets/Oracle-4.png | Bin .../java/_assets/Oracle-5.png | Bin .../{preparation => }/java/_assets/cmd-1.png | Bin .../{preparation => }/java/_assets/cmd-2.png | Bin .../java/_assets/environment-1.png | Bin .../java/_assets/environment-11-1.png | Bin .../java/_assets/environment-11-2.png | Bin .../java/_assets/environment-2.png | Bin .../java/_assets/environment-3.png | Bin .../java/_assets/environment-4.png | Bin .../java/_assets/environment-new-1.png | Bin .../java/_assets/environment-new-2.png | Bin .../java/_assets/environment-no.png | Bin .../{preparation => }/java/_assets/lava.jpg | Bin .../{preparation => }/java/_assets/path-1.png | Bin .../choose-and-download-and-install-java.md | 3 - .../environment.md => java/environment.mdx} | 14 +- .../general/{preparation => }/java/faq.md | 5 +- src/content/docs/general/java/intro.md | 33 + .../general/{preparation => }/java/sdkman.md | 5 +- .../{start => more}/_assets/qnmd_raw.png | Bin ...6\350\277\231\344\270\252\345\225\212.png" | Bin ...210\252\345\233\276 2025-02-07 182759.png" | Bin ...210\252\345\233\276 2025-02-07 182930.png" | Bin ...5\350\264\271\345\270\256\344\272\272.jpg" | Bin ...345\205\270\350\200\201\345\233\276-1.jpg" | Bin ...345\205\270\350\200\201\345\233\276-2.jpg" | Bin ...345\205\270\350\200\201\345\233\276-3.jpg" | Bin .../general/{start => more}/ask-for-help.md | 0 .../general/preparation/dumb-script-usage.md | 3 - .../docs/general/preparation/java/java.md | 42 - .../docs/general/preparation/preparation.md | 23 - .../docs/general/preparation/services.md | 17 +- .../docs/general/preparation/text-editor.md | 189 --- .../HbuilderX\345\261\225\347\244\272.png" | Bin .../_assets/Npp\345\261\225\347\244\272.png" | Bin ...7\345\207\217\345\261\225\347\244\272.png" | Bin .../sublime\345\261\225\347\244\272.png" | Bin ...2\345\212\250\344\277\235\345\255\230.png" | Bin .../_assets/\347\231\275\347\202\271.png" | Bin .../general/preparation/text-editor/geany.md | 7 + .../preparation/text-editor/hbuilderx.md | 19 + .../general/preparation/text-editor/intro.md | 24 + .../general/preparation/text-editor/kate.md | 9 + .../preparation/text-editor/notepad++.md | 19 + .../preparation/text-editor/notepad--.md | 10 + .../preparation/text-editor/notepad3.md | 11 + .../preparation/text-editor/sublime-text.md | 11 + .../general/preparation/text-editor/vim.md | 13 + .../general/preparation/text-editor/vscode.md | 35 + .../{java => general/process}/advance/bot.md | 0 .../process}/advance/domain-registration.md | 0 .../process}/advance/linux.md | 0 .../docs/general/process/create-art-assets.md | 3 - .../database/_assets/linux/database/1.png | Bin .../database/_assets/linux/database/2.png | Bin .../database/_assets/linux/database/3.png | Bin .../database/_assets/linux/database/4.png | Bin .../database/_assets/linux/database/5.png | Bin .../database/_assets/linux/database/6.png | Bin .../database/_assets/linux/database/7.png | Bin .../docs/general/process/database/backup.md | 24 +- .../general/process/database/configure.md | 10 +- .../docs/general/process/database/install.md | 167 ++- .../database/{database.md => intro.md} | 12 +- .../general/process/database/uninstall.md | 18 +- .../docs/general/process/database/use.md | 8 +- .../deploy/apply-for-public-ip-address.md | 3 +- .../process/deploy/connect-to-the-cloud.md | 5 +- .../process/deploy/intranet-penetration.md | 5 +- .../process/deploy/{deploy.md => intro.md} | 12 +- .../process/deploy/optional-methods.md | 7 +- .../general/process/deploy/purchase-server.md | 3 +- .../docs/general/process/map/convert.md | 5 +- .../general/process/map/{map.md => intro.md} | 6 +- .../docs/general/process/map/plugin.md | 5 +- .../docs/general/process/map/purchase.md | 7 +- src/content/docs/general/process/map/steal.md | 5 +- src/content/docs/general/process/map/web.md | 5 +- src/content/docs/general/process/panel.md | 3 - .../{reading-guide.md => reading-guide.mdx} | 9 +- src/content/docs/index.mdx | 29 + .../docs/java/advance/chinese-username.md | 3 - src/content/docs/java/advance/command-yml.md | 3 - .../java/advance/{advance.md => intro.md} | 10 +- .../docs/java/advance/login-choices.md | 3 - src/content/docs/java/advance/slime-world.md | 5 +- src/content/docs/java/intro.md | 3 +- src/content/docs/java/preparation/intro.md | 7 + .../docs/java/preparation/preparation.md | 24 - src/content/docs/java/preparation/websites.md | 451 ------ .../cross-server/{command.md => command.mdx} | 43 +- .../process/cross-server/hide-the-real-ip.md | 3 - .../{cross-server.md => intro.md} | 6 +- .../java/process/cross-server/join-server.md | 3 - .../cross-server/plugin/backend-only.md | 3 - .../plugin/{plugin.md => intro.md} | 11 +- .../plugin/proxy-backend-mandatory.md | 3 - .../plugin/proxy-backend-optional.md | 3 - .../process/cross-server/plugin/proxy-only.md | 3 - .../java/process/cross-server/precautions.md | 3 - .../cross-server/server-core-choose.md | 5 +- .../setup/bungeecord/config-yml.md | 3 - .../bungeecord/{bungeecord.md => intro.md} | 6 +- .../cross-server/setup/bungeecord/lobby.md | 3 - .../cross-server/setup/bungeecord/setup.md | 3 - .../java/process/cross-server/setup/setup.md | 15 - .../setup/transfer/{transfer.md => intro.md} | 6 +- .../cross-server/setup/transfer/setup.md | 3 - .../setup/velocity-ctd/features.md | 3 - .../{velocity-ctd.md => intro.md} | 6 +- .../cross-server/setup/velocity-ctd/lobby.md | 3 - .../cross-server/setup/velocity-ctd/setup.md | 3 - .../setup/velocity-ctd/velocity-toml.md | 3 - .../setup/velocity/{velocity.md => intro.md} | 6 +- .../cross-server/setup/velocity/lobby.md | 3 - .../cross-server/setup/velocity/setup.md | 3 - .../setup/velocity/velocity-toml.md | 3 - src/content/docs/java/process/intro.md | 9 + src/content/docs/java/process/map.md | 6 - .../mobile-player/client/amethyst-ios.md | 3 - .../mobile-player/client/android-all.md | 35 +- .../client/{client.md => intro.md} | 4 +- .../java/process/mobile-player/client/pcl.md | 2 - .../mobile-player/client/pojav-android.md | 3 - .../process/mobile-player/client/pojav-ios.md | 3 - .../_assets/VersionChoose.png | Bin .../geyser/{introduction => }/faq.md | 3 - .../process/mobile-player/geyser/geyser.md | 13 - .../geyser/{introduction => }/install.md | 3 - .../{introduction/overview.md => intro.md} | 5 +- .../geyser/introduction/introduction.md | 11 - .../geyser/upgrade/custom-item-model-map.md | 3 - .../geyser/upgrade/extended/compatible.md | 3 - .../geyser/upgrade/extended/fix.mdx | 1 - .../extended/{extended.md => intro.md} | 6 +- .../geyser/upgrade/extended/more.md | 3 - .../geyser/upgrade/geyser-skull.md | 3 - .../geyser/upgrade/geysermeg4-supports.md | 3 - .../mobile-player/geyser/upgrade/link.md | 3 - .../mobile-player/geyser/upgrade/menu.md | 3 - .../mobile-player/geyser/upgrade/slimefun.md | 3 - .../mobile-player/geyser/upgrade/upgrade.md | 11 - .../{mobile-player.md => intro.md} | 9 +- .../java/process/plugin/game/dragoncore.md | 3 - .../docs/java/process/plugin/game/game.md | 13 - .../java/process/plugin/game/germengine.md | 3 - .../docs/java/process/plugin/game/nova.md | 3 - .../plugin/game/slimefun/auto-update.md | 3 - .../process/plugin/game/slimefun/find-lag.md | 5 +- .../game/slimefun/{slimefun.md => intro.md} | 6 +- .../slimefun/resourcepack-for-slimefun.md | 3 - .../process/plugin/game/title/deluxetags.md | 3 - .../plugin/game/title/miniplayertitle.md | 3 - .../plugin/game/title/mythicprefixes.md | 3 - .../process/plugin/game/title/playertitle.md | 3 - .../java/process/plugin/game/title/title.md | 11 - .../process/plugin/game/title/userprefix.md | 6 +- .../process/plugin/{plugin.md => intro.md} | 7 +- .../management-tool/anti-grief/coreprotect.md | 5 +- .../anti-grief/{anti-grief.md => intro.md} | 6 +- .../anti-grief/invseeplusplus.md | 5 +- .../anti-grief/prismrefracted.md | 3 +- .../{sunlight => }/_assets/1.png | Bin .../{sunlight => }/_assets/2.png | Bin .../{sunlight => }/_assets/3.png | Bin .../{sunlight => }/_assets/4.png | Bin .../{sunlight => }/_assets/5.png | Bin .../management-tool/basic-plugins/cmi/eco.md | 3 - .../basic-plugins/cmi/{cmi.md => intro.md} | 5 +- .../basic-plugins/cmi/question.md | 3 - .../management-tool/basic-plugins/delete.md | 3 - .../basic-plugins/essentialsx/config-tips.md | 3 - .../basic-plugins/essentialsx/config-yml.md | 4 +- .../basic-plugins/essentialsx/faq.md | 3 - .../essentialsx/{essentialsx.md => intro.md} | 5 +- .../basic-plugins/essentialsx/kit.md | 3 - .../basic-plugins/essentialsx/papi-support.md | 1 - .../basic-plugins/essentialsx/warp.md | 3 - .../{basic-plugins.md => intro.md} | 6 +- .../basic-plugins/{sunlight => }/sunlight.md | 5 +- .../plugin/management-tool/chat/carbon.md | 3 - .../plugin/management-tool/chat/huskchat.md | 3 - .../chat/{chat.md => intro.md} | 10 +- .../plugin/management-tool/chat/trchat.md | 3 - .../plugin/management-tool/items/crucible.md | 3 - .../plugin/management-tool/items/ecoItems.md | 3 - .../plugin/management-tool/items/intro.md | 5 + .../plugin/management-tool/items/items.md | 13 - .../plugin/management-tool/items/misc.md | 13 +- .../plugin/management-tool/items/mmoitems.md | 3 - .../management-tool/items/neigeitems.md | 3 - .../plugin/management-tool/items/ratziel.md | 3 - .../plugin/management-tool/items/sx-item.md | 3 - .../plugin/management-tool/items/zaphkiel.md | 5 +- .../plugin/management-tool/management-tool.md | 11 - .../management-tool/permission/command.md | 3 - .../management-tool/permission/group.md | 3 - .../permission/{permission.md => intro.md} | 10 +- .../plugin/management-tool/permission/meta.md | 3 - .../plugin/management-tool/permission/tips.md | 3 - .../permission/what-is-permission.md | 3 - .../{plugin-management.md => intro.md} | 10 +- .../plugin-management/plugin-portal.md | 3 - .../plugin-management/plugmanx.md | 3 - .../plugin-management/serverutils.md | 3 - .../management-tool/plugin-management/yum.md | 3 - .../management-tool/task/beautyquests.md | 3 - .../plugin/management-tool/task/betonquest.md | 3 - .../plugin/management-tool/task/chemdah.md | 3 - .../plugin/management-tool/task/intro.md | 5 + .../plugin/management-tool/task/mangoquest.md | 3 - .../plugin/management-tool/task/playertask.md | 3 - .../management-tool/task/questcreator.md | 3 - .../management-tool/task/questengine.md | 3 - .../plugin/management-tool/task/quests.md | 3 - .../plugin/management-tool/task/task.md | 56 - .../plugin/management-tool/task/typewriter.md | 3 - .../plugin/misc/holograms/decentholograms.md | 3 - .../misc/holograms/holographicdisplays.md | 3 - .../misc/holograms/{holograms.md => intro.md} | 10 +- .../docs/java/process/plugin/misc/intro.md | 5 + .../java/process/plugin/misc/login/authme.md | 3 - .../process/plugin/misc/login/catseedlogin.md | 3 - .../plugin/misc/login/{login.md => intro.md} | 8 - .../process/plugin/misc/login/librelogin.md | 3 - .../process/plugin/misc/login/limboauth.md | 3 - .../process/plugin/misc/menu/chestcommands.md | 3 - .../process/plugin/misc/menu/deluxemenus.md | 3 - .../plugin/misc/menu/{menu.md => intro.md} | 6 +- .../java/process/plugin/misc/menu/invero.md | 4 +- .../java/process/plugin/misc/menu/trmenu.md | 3 - .../docs/java/process/plugin/misc/misc.md | 13 - .../docs/java/process/plugin/misc/money.md | 6 +- .../java/process/plugin/misc/motd/intro.md | 5 + .../java/process/plugin/misc/motd/minimotd.md | 3 - .../java/process/plugin/misc/motd/motd.md | 13 - .../java/process/plugin/misc/mythicmobs.md | 6 +- .../java/process/plugin/misc/npc/adyeshach.md | 4 +- .../java/process/plugin/misc/npc/citizens.md | 3 - .../plugin/misc/npc/{npc.md => intro.md} | 4 - .../java/process/plugin/misc/npc/znpcsplus.md | 3 - .../java/process/plugin/misc/quickshop.md | 4 +- .../java/process/plugin/misc/skinsrestorer.md | 4 - .../{tab-scoreboard.md => intro.md} | 6 +- .../plugin/misc/tab-scoreboard/simplescore.md | 3 - .../process/plugin/misc/tab-scoreboard/tab.md | 3 - .../misc/tab-scoreboard/titlemanager.md | 3 - .../plugin/misc/via/{via.md => intro.md} | 6 +- .../process/plugin/misc/via/more-for-via.md | 4 +- .../process/plugin/misc/via/viabackwards.md | 3 - .../java/process/plugin/misc/via/viarewind.md | 4 +- .../process/plugin/misc/via/viaversion.md | 3 - .../java/process/plugin/more/color-message.md | 3 - .../docs/java/process/plugin/more/faq.md | 3 - .../docs/java/process/plugin/more/intro.md | 5 + .../docs/java/process/plugin/more/more.md | 13 - .../plugin/more/plugin-abbreviation.md | 3 - .../process/plugin/more/plugin-backdoor.md | 3 - .../more/plugin-build/github-actions-build.md | 3 - .../plugin/more/plugin-build/idea-build.md | 3 - .../plugin-build/{first.mdx => intro.mdx} | 11 +- .../plugin/more/plugin-build/mirror-config.md | 3 - .../plugin/more/plugin-build/plugin-build.md | 13 - .../more/plugin-build/terminal-build.md | 3 - .../java/process/plugin/more/plugin-config.md | 3 +- .../process/plugin/more/plugin-download.md | 3 - .../plugin/more/plugin-signature-file.md | 46 +- .../java/process/plugin/more/tittle-tattle.md | 3 - .../plugin/more}/yaml/extention.md | 3 - .../plugin/more}/yaml/general.md | 3 - .../plugin/more/yaml/intro.md} | 6 +- .../{plugin-dependencies.md => intro.md} | 8 +- .../placeholderapi/change-output.md | 3 - .../placeholderapi/check-item.md | 3 - .../placeholderapi/common-usage.md | 3 - .../plugin-dependencies/placeholderapi/faq.md | 3 - .../placeholderapi/javascript.md | 3 - .../placeholderapi/math.md | 3 - .../placeholderapi/parse-other.md | 3 - .../placeholderapi/placeholderapi.md | 4 - .../placeholderapi/progress.md | 3 - .../placeholderapi/string.md | 3 - .../plugin-dependencies/playerpoints.md | 3 - .../plugin/plugin-dependencies/protocollib.md | 3 - .../vault/{vault.md => intro.md} | 6 +- .../plugin-dependencies/vault/serviceio.md | 3 - .../vault/vaultunlocked.md | 3 - .../plugin/plugin-dependencies/xconomy.md | 3 - .../process/plugin/protection/askyblock.md | 5 +- .../process/plugin/protection/bentobox.md | 5 +- .../process/plugin/protection/dominion.md | 5 +- .../plugin/protection/griefdefender.md | 5 +- .../java/process/plugin/protection/intro.md | 5 + .../process/plugin/protection/plotsquared.md | 5 +- .../process/plugin/protection/protection.md | 13 - .../process/plugin/protection/residence.md | 5 +- .../java/process/plugin/protection/towny.md | 5 +- .../world-management/fastasyncworldedit.md | 5 +- .../process/plugin/world-management/law.md | 5 +- .../world-management/lobby/deluxehub.md | 3 - .../lobby/deluxehubreloaded.md | 3 - .../lobby/{lobby.md => intro.md} | 9 +- .../lobby/superlobbydeluxe.md | 3 - .../world-management/multiverse/faq1.md | 5 +- .../world-management/multiverse/faq2.md | 5 +- .../multiverse/{multiverse.md => intro.md} | 6 +- .../plugin/world-management/myworld.md | 5 +- .../plugin/world-management/nobuildplus.md | 5 +- .../world-management/world-management.md | 11 - .../plugin/world-management/worldedit.md | 5 +- .../plugin/world-management/worldgen/intro.md | 5 + .../world-management/worldgen/irisworldgen.md | 3 - .../plugin/world-management/worldgen/terra.md | 3 - .../worldgen/terraformgenerator.md | 3 - .../world-management/worldgen/worldgen.md | 13 - .../plugin/world-management/worldguard.md | 5 +- src/content/docs/java/process/process.md | 21 - .../redstone/{redstone.md => intro.md} | 5 +- .../docs/java/process/redstone/mchprs.md | 3 - src/content/docs/java/process/redstone/mod.md | 1 - .../docs/java/process/redstone/plugin.md | 4 - src/content/docs/java/start/_assets/2.png | Bin 5203 -> 0 bytes src/content/docs/java/start/_assets/3.png | Bin 5295 -> 0 bytes ...0\347\256\241\347\220\206\345\231\250.jpg" | Bin 21217 -> 0 bytes .../java/start/basic/server-dir-structure.mdx | 29 - src/content/docs/java/start/config-server.md | 3 - .../docs/java/start/connect-to-server.md | 70 +- ...stall-server.md => install-mod-server.mdx} | 23 +- src/content/docs/java/start/intro.md | 14 + .../{launch-server.md => launch-server.mdx} | 59 +- .../folia/{folia.md => intro.md} | 22 +- .../start/server-core-choose/folia/luminol.md | 3 - .../start/server-core-choose/folia/misc.md | 3 - .../java/start/server-core-choose/hybrid.md | 7 +- .../{server-core-choose.md => intro.md} | 46 +- .../docs/java/start/server-core-choose/mod.md | 3 - .../start/server-core-choose/multipaper.md | 22 - .../{plugin.md => plugin.mdx} | 22 +- .../java/start/server-core-choose/sponge.md | 35 - .../docs/java/start/server-dir-structure.mdx | 75 + src/content/docs/java/start/start.md | 14 - tsconfig.json | 1 - 747 files changed, 2827 insertions(+), 2635 deletions(-) rename .markdownlint.jsonc => .markdownlint.json (63%) rename {src/content/docs/about => about}/_assets/me.png (100%) rename {src/content/docs/about => about}/ad.md (100%) rename {src/content/docs/about => about}/arch.md (100%) rename {src/content/docs/about => about}/contributors.md (100%) rename {src/content/docs/about => about}/intro.md (100%) rename {src/content/docs/about => about}/sponsor.md (100%) rename {src/content/docs/about => about}/timeline.mdx (100%) rename {src/content/docs/bedrock => bedrock}/bds/bds.md (100%) rename {src/content/docs/bedrock => bedrock}/bds/process/bdsx/bdsx-install.md (100%) rename {src/content/docs/bedrock => bedrock}/bds/process/bdsx/bdsx.md (100%) rename {src/content/docs/bedrock => bedrock}/bds/process/endstone/_assets/1-1.png (100%) rename {src/content/docs/bedrock => bedrock}/bds/process/endstone/_assets/1-2.png (100%) rename {src/content/docs/bedrock => bedrock}/bds/process/endstone/_assets/1-3.png (100%) rename {src/content/docs/bedrock => bedrock}/bds/process/endstone/_assets/1-4.png (100%) rename {src/content/docs/bedrock => bedrock}/bds/process/endstone/_assets/1-5.png (100%) rename {src/content/docs/bedrock => bedrock}/bds/process/endstone/_assets/1-6.png (100%) rename {src/content/docs/bedrock => bedrock}/bds/process/endstone/_assets/1-7.png (100%) rename {src/content/docs/bedrock => bedrock}/bds/process/endstone/_assets/1-8.png (100%) rename {src/content/docs/bedrock => bedrock}/bds/process/endstone/_assets/1-9.png (100%) rename {src/content/docs/bedrock => bedrock}/bds/process/endstone/_assets/1.png (100%) rename {src/content/docs/bedrock => bedrock}/bds/process/endstone/_assets/10.png (100%) rename {src/content/docs/bedrock => bedrock}/bds/process/endstone/_assets/2-1.png (100%) rename {src/content/docs/bedrock => bedrock}/bds/process/endstone/_assets/2-10.png (100%) rename {src/content/docs/bedrock => bedrock}/bds/process/endstone/_assets/2-11.png (100%) rename {src/content/docs/bedrock => bedrock}/bds/process/endstone/_assets/2-2.png (100%) rename {src/content/docs/bedrock => bedrock}/bds/process/endstone/_assets/2-3.png (100%) rename {src/content/docs/bedrock => bedrock}/bds/process/endstone/_assets/2-4.png (100%) rename {src/content/docs/bedrock => bedrock}/bds/process/endstone/_assets/2-5.png (100%) rename {src/content/docs/bedrock => bedrock}/bds/process/endstone/_assets/2-6.png (100%) rename {src/content/docs/bedrock => bedrock}/bds/process/endstone/_assets/2-7.png (100%) rename {src/content/docs/bedrock => bedrock}/bds/process/endstone/_assets/2-8.png (100%) rename {src/content/docs/bedrock => bedrock}/bds/process/endstone/_assets/2-9.png (100%) rename {src/content/docs/bedrock => bedrock}/bds/process/endstone/_assets/2.png (100%) rename {src/content/docs/bedrock => bedrock}/bds/process/endstone/_assets/3.png (100%) rename {src/content/docs/bedrock => bedrock}/bds/process/endstone/_assets/4.png (100%) rename {src/content/docs/bedrock => bedrock}/bds/process/endstone/_assets/5.png (100%) rename {src/content/docs/bedrock => bedrock}/bds/process/endstone/_assets/6.png (100%) rename {src/content/docs/bedrock => bedrock}/bds/process/endstone/_assets/7.png (100%) rename {src/content/docs/bedrock => bedrock}/bds/process/endstone/_assets/8.png (100%) rename {src/content/docs/bedrock => bedrock}/bds/process/endstone/_assets/9.png (100%) rename {src/content/docs/bedrock => bedrock}/bds/process/endstone/endstone-install.md (100%) rename {src/content/docs/bedrock => bedrock}/bds/process/endstone/endstone-plugins.md (100%) rename {src/content/docs/bedrock => bedrock}/bds/process/endstone/endstone.md (100%) rename {src/content/docs/bedrock => bedrock}/bds/process/levilamina/legacy-script-engine.md (100%) rename {src/content/docs/bedrock => bedrock}/bds/process/levilamina/levilamina-install.md (100%) rename {src/content/docs/bedrock => bedrock}/bds/process/levilamina/levilamina-plugins.mdx (100%) rename {src/content/docs/bedrock => bedrock}/bds/process/levilamina/levilamina.md (100%) rename {src/content/docs/bedrock => bedrock}/bds/process/liteloader-bds/install.md (100%) rename {src/content/docs/bedrock => bedrock}/bds/process/liteloader-bds/liteloader-bds.md (100%) rename {src/content/docs/bedrock => bedrock}/bds/process/liteloader-bds/plugins.md (100%) rename {src/content/docs/bedrock => bedrock}/bds/process/plugins/_assets/levilamina-is-coming.png (100%) rename {src/content/docs/bedrock => bedrock}/bds/process/plugins/_assets/levilamina-will-archived.png (100%) rename {src/content/docs/bedrock => bedrock}/bds/process/plugins/how-to-load-plugins.md (100%) rename {src/content/docs/bedrock => bedrock}/bds/process/plugins/plugins-loader-choose.md (100%) rename {src/content/docs/bedrock => bedrock}/bds/process/plugins/plugins.md (100%) rename {src/content/docs/bedrock => bedrock}/bds/process/process.md (100%) rename {src/content/docs/bedrock => bedrock}/bds/start/basic/basic.md (100%) rename {src/content/docs/bedrock => bedrock}/bds/start/basic/server-dir-structure.mdx (100%) rename {src/content/docs/bedrock => bedrock}/bds/start/start.md (100%) rename {src/content/docs/bedrock => bedrock}/misc/_assets/dragonfly.png (100%) rename {src/content/docs/bedrock => bedrock}/misc/allay/allay.md (100%) rename {src/content/docs/bedrock => bedrock}/misc/allay/description.md (100%) rename {src/content/docs/bedrock => bedrock}/misc/allay/preparation.md (100%) rename {src/content/docs/bedrock => bedrock}/misc/dragonfly.md (100%) rename {src/content/docs/bedrock => bedrock}/misc/mcpeserver.md (100%) rename {src/content/docs/bedrock => bedrock}/misc/misc.md (100%) rename {src/content/docs/bedrock => bedrock}/misc/preparation/preparation.md (100%) rename {src/content/docs/bedrock => bedrock}/misc/preparation/text-editor.md (100%) rename {src/content/docs/bedrock => bedrock}/misc/preparation/websites.md (100%) rename {src/content/docs/bedrock => bedrock}/nukkit/history.md (100%) rename {src/content/docs/bedrock => bedrock}/nukkit/nukkit.md (100%) rename {src/content/docs/bedrock => bedrock}/nukkit/preparation/choose-and-download-and-install-java.md (100%) rename {src/content/docs/bedrock => bedrock}/nukkit/preparation/preparation.md (100%) rename {src/content/docs/bedrock => bedrock}/nukkit/preparation/text-editor.md (100%) rename {src/content/docs/bedrock => bedrock}/nukkit/preparation/websites.md (100%) rename {src/content/docs/bedrock => bedrock}/nukkit/start/basic/basic.md (100%) rename {src/content/docs/bedrock => bedrock}/nukkit/start/basic/server-file-structure.mdx (100%) rename {src/content/docs/bedrock => bedrock}/nukkit/start/nukkitmot/description.md (100%) rename {src/content/docs/bedrock => bedrock}/nukkit/start/nukkitmot/nukkitmot.md (100%) rename {src/content/docs/bedrock => bedrock}/nukkit/start/nukkitx/description.md (100%) rename {src/content/docs/bedrock => bedrock}/nukkit/start/nukkitx/nukkitx.md (100%) rename {src/content/docs/bedrock => bedrock}/nukkit/start/pm1e/_assets/controversy.png (100%) rename {src/content/docs/bedrock => bedrock}/nukkit/start/pm1e/controversy.md (100%) rename {src/content/docs/bedrock => bedrock}/nukkit/start/pm1e/description.md (100%) rename {src/content/docs/bedrock => bedrock}/nukkit/start/pm1e/pm1e.md (100%) rename {src/content/docs/bedrock => bedrock}/nukkit/start/pnx/description.md (100%) rename {src/content/docs/bedrock => bedrock}/nukkit/start/pnx/pnx.md (100%) rename {src/content/docs/bedrock => bedrock}/nukkit/start/start.md (100%) rename {src/content/docs/bedrock => bedrock}/pocketmine/description.md (100%) rename {src/content/docs/bedrock => bedrock}/pocketmine/pocketmine.md (100%) rename {src/content/docs/bedrock => bedrock}/pocketmine/preparation/choose-and-download-and-install-php.md (100%) rename {src/content/docs/bedrock => bedrock}/pocketmine/preparation/preparation.md (100%) rename {src/content/docs/bedrock => bedrock}/pocketmine/preparation/text-editor.md (100%) rename {src/content/docs/bedrock => bedrock}/pocketmine/preparation/websites.md (100%) rename {src/content/docs/bedrock => bedrock}/super-basic/_assets/bedrock-core-running.png (100%) rename {src/content/docs/bedrock => bedrock}/super-basic/_assets/nukkit-core-running.png (100%) rename {src/content/docs/bedrock => bedrock}/super-basic/_assets/pocketminemp-core-running.png (100%) rename {src/content/docs/bedrock => bedrock}/super-basic/_assets/powernukkitx-core-rip.png (100%) rename {src/content/docs/bedrock => bedrock}/super-basic/_assets/powernukkitx-core-running.png (100%) rename {src/content/docs/bedrock => bedrock}/super-basic/protocol-version-number.md (100%) rename {src/content/docs/bedrock => bedrock}/super-basic/server-core-choose.md (100%) rename {src/content/docs/bedrock => bedrock}/super-basic/server-type.md (100%) rename {src/content/docs/bedrock => bedrock}/super-basic/super-basic.md (100%) rename {src/content/docs/bedrock => bedrock}/super-basic/version.md (100%) rename {src/content/docs/bedrock => bedrock}/waterdogepe/preparation.md (100%) rename {src/content/docs/bedrock => bedrock}/waterdogepe/waterdogepe.md (100%) rename "src/content/docs/general/_assets/\345\260\221\344\270\234\350\245\277\344\272\206.png" => "general/_assets/\345\260\221\344\270\234\350\245\277\344\272\206.png" (100%) create mode 100644 "general/advance/_assets/\347\224\263\350\257\267\345\237\237\345\220\215/1.png" create mode 100644 "general/advance/_assets/\347\224\263\350\257\267\345\237\237\345\220\215/2.png" create mode 100644 "general/advance/_assets/\347\224\263\350\257\267\345\237\237\345\220\215/3.png" rename {src/content/docs/general => general}/advance/advance.md (100%) rename {src/content/docs/general => general}/advance/arthas.md (100%) rename {src/content/docs/general => general}/advance/docker.md (100%) rename {src/content/docs/general => general}/advance/frp.md (100%) rename {src/content/docs/general => general}/advance/management/management.md (100%) rename {src/content/docs/general => general}/advance/management/money-management/investment-psychology.md (100%) rename {src/content/docs/general => general}/advance/management/money-management/money-management.md (100%) rename {src/content/docs/general => general}/advance/management/money-management/sustainable-development.md (100%) rename {src/content/docs/general => general}/advance/management/player-management/announcement.md (100%) rename {src/content/docs/general => general}/advance/management/player-management/auditing.md (100%) rename {src/content/docs/general => general}/advance/management/player-management/chunkbase.md (100%) rename {src/content/docs/general => general}/advance/management/player-management/client-distribution.mdx (100%) rename {src/content/docs/general => general}/advance/management/player-management/feedback.md (100%) rename {src/content/docs/general => general}/advance/management/player-management/platform.md (100%) rename {src/content/docs/general => general}/advance/management/player-management/player-management.md (100%) rename {src/content/docs/general => general}/advance/management/player-management/rules.md (100%) rename {src/content/docs/general => general}/advance/management/player-management/whitelist.md (100%) rename {src/content/docs/general => general}/advance/management/player-management/wiki.md (100%) rename {src/content/docs/general => general}/advance/viaproxy/_assets/img.png (100%) rename {src/content/docs/general => general}/advance/viaproxy/_assets/img_1.png (100%) rename {src/content/docs/general => general}/advance/viaproxy/configuration.mdx (100%) rename {src/content/docs/general => general}/advance/viaproxy/index.md (100%) rename {src/content/docs/general => general}/advance/viaproxy/installation.md (100%) rename {src/content/docs/general => general}/advance/viaproxy/plugins/auth.md (100%) rename {src/content/docs/general => general}/advance/viaproxy/plugins/compatibility.md (100%) rename {src/content/docs/general => general}/advance/viaproxy/plugins/features.md (100%) rename {src/content/docs/general => general}/advance/viaproxy/plugins/index.md (100%) rename {src/content/docs/general => general}/advance/viaproxy/plugins/network.md (100%) rename {src/content/docs/general => general}/advance/website/_assets/img-.png (100%) rename {src/content/docs/general => general}/advance/website/_assets/img-2.png (100%) rename {src/content/docs/general => general}/advance/website/_assets/img-3.png (100%) rename {src/content/docs/general => general}/advance/website/_assets/img.png (100%) rename {src/content/docs/general => general}/advance/website/_assets/img_1.png (100%) rename {src/content/docs/general => general}/advance/website/_assets/img_10.png (100%) rename {src/content/docs/general => general}/advance/website/_assets/img_2.png (100%) rename {src/content/docs/general => general}/advance/website/_assets/img_3.png (100%) rename {src/content/docs/general => general}/advance/website/_assets/img_4.png (100%) rename {src/content/docs/general => general}/advance/website/_assets/img_5.png (100%) rename {src/content/docs/general => general}/advance/website/_assets/img_6.png (100%) rename {src/content/docs/general => general}/advance/website/_assets/img_7.png (100%) rename {src/content/docs/general => general}/advance/website/_assets/img_8.png (100%) rename {src/content/docs/general => general}/advance/website/_assets/img_9.png (100%) rename "src/content/docs/general/advance/website/_assets/img\342\200\224\342\200\2241.png" => "general/advance/website/_assets/img\342\200\224\342\200\2241.png" (100%) rename "src/content/docs/general/advance/website/_assets/\345\261\217\345\271\225\346\210\252\345\233\276 2025-06-08 135158.png" => "general/advance/website/_assets/\345\261\217\345\271\225\346\210\252\345\233\276 2025-06-08 135158.png" (100%) rename {src/content/docs/general => general}/advance/website/faq.md (100%) rename {src/content/docs/general => general}/advance/website/install.md (100%) rename {src/content/docs/general => general}/advance/website/plugins.md (100%) rename {src/content/docs/general => general}/advance/website/prepare.md (100%) rename {src/content/docs/general => general}/advance/website/server-config.md (100%) rename {src/content/docs/general => general}/advance/website/server-plugins.md (100%) rename {src/content/docs/general => general}/advance/website/website.md (100%) rename {src/content/docs/general => general}/contribution/contribution.md (100%) rename {src/content/docs/general => general}/contribution/image.md (100%) rename {src/content/docs/general => general}/contribution/todos.md (100%) rename {src/content/docs/general => general}/contribution/writing-specification/blank.md (100%) rename {src/content/docs/general => general}/contribution/writing-specification/code-examples.md (100%) rename {src/content/docs/general => general}/contribution/writing-specification/documentation-system.md (100%) rename {src/content/docs/general => general}/contribution/writing-specification/numerical-value.md (100%) rename {src/content/docs/general => general}/contribution/writing-specification/paragraph.md (100%) rename {src/content/docs/general => general}/contribution/writing-specification/punctuation-marks.md (100%) rename {src/content/docs/general => general}/contribution/writing-specification/reference.md (100%) rename {src/content/docs/general => general}/contribution/writing-specification/text.md (100%) rename {src/content/docs/general => general}/contribution/writing-specification/title.md (100%) rename {src/content/docs/general => general}/contribution/writing-specification/writing-specification.md (100%) rename {src/content/docs/general => general}/loss-thing.md (100%) rename {src/content/docs/general => general}/preparation/java/path.md (97%) create mode 100644 "general/process/_assets/\344\273\245\350\226\204\351\235\242\350\241\250\347\216\260vs\344\273\245\344\275\223\347\264\240\350\241\250\347\216\260.jpg" create mode 100644 "general/process/_assets/\344\277\235\346\214\201\344\270\200\350\207\264\347\232\204\346\257\224\344\276\213vs\346\213\211\344\274\270\345\217\230\345\275\242\347\232\204\346\257\224\344\276\213.jpg" create mode 100644 "general/process/_assets/\345\235\207\350\241\241\347\232\204\347\273\206\350\212\202\345\210\206\345\270\203vs\345\244\261\350\241\241\347\232\204\347\273\206\350\212\202\345\210\206\345\270\203.jpg" create mode 100644 "general/process/_assets/\345\256\236\344\275\223\347\272\271\347\220\206.jpg" create mode 100644 "general/process/_assets/\345\270\270\350\247\201\347\232\204HSV\350\260\203\350\212\202\351\235\242\346\235\277.jpg" create mode 100644 "general/process/_assets/\346\225\231\350\202\262\347\211\210\347\232\204Agentvs\345\216\237\347\211\210\347\232\204\351\223\201\345\202\200\345\204\241.jpg" create mode 100644 "general/process/_assets/\346\226\271\345\235\227\347\272\271\347\220\206.jpg" create mode 100644 "general/process/_assets/\346\227\213\350\275\254\345\205\203\347\264\240vs\347\224\250\351\230\266\346\242\257\347\212\266\350\241\250\347\216\260.jpg" create mode 100644 "general/process/_assets/\346\234\211\346\212\227\351\224\257\351\275\277\345\244\204\347\220\206vs\346\227\240\346\212\227\351\224\257\351\275\277\347\232\204\351\270\241\350\233\213.jpg" create mode 100644 "general/process/_assets/\346\241\266.jpg" create mode 100644 "general/process/_assets/\346\262\211\351\227\267\347\232\204\350\234\234\350\204\276vs\351\262\234\350\211\263\350\257\261\344\272\272\347\232\204\350\234\234\350\204\276.jpg" create mode 100644 "general/process/_assets/\346\265\267\345\270\246.jpg" create mode 100644 "general/process/_assets/\346\265\267\346\264\213\344\271\213\345\277\203.jpg" create mode 100644 "general/process/_assets/\346\267\267\345\220\210\345\203\217\347\264\240\347\202\271.jpg" create mode 100644 "general/process/_assets/\347\211\251\345\223\201\347\272\271\347\220\206.jpg" create mode 100644 "general/process/_assets/\347\233\264\347\272\277\344\270\216\346\233\262\347\272\277\344\270\255\347\232\204\351\224\257\351\275\277\350\241\250\347\216\260.jpg" create mode 100644 "general/process/_assets/\347\234\237\344\272\272vsSteve.jpg" create mode 100644 "general/process/_assets/\347\256\261\345\275\242UV\350\264\264\345\233\276.jpg" create mode 100644 "general/process/_assets/\350\207\252\345\212\250UV.jpg" create mode 100644 "general/process/_assets/\350\213\271\346\236\234.jpg" create mode 100644 "general/process/_assets/\350\257\206\345\210\253\347\272\271\347\220\206.jpg" create mode 100644 "general/process/_assets/\351\222\273\347\237\263\345\211\221.jpg" rename {src/content/docs/general => general}/process/maintenance/_assets/angryopenfrp.jpg (100%) rename {src/content/docs/general => general}/process/maintenance/how-to-defend-against-cyber-attacks.md (100%) rename {src/content/docs/general => general}/process/maintenance/maintenance.md (100%) rename {src/content/docs/general => general}/process/maintenance/plugin-troubleshooting.md (100%) rename {src/content/docs/general => general}/process/process.md (100%) rename {src/content/docs/general => general}/process/whitelist.md (100%) rename {src/content/docs/general => general}/start/start.md (100%) rename {src/content/docs/java => java}/preparation/choose-and-download-and-install-java.md (100%) rename {src/content/docs/java => java}/preparation/dumb-script-usage.md (100%) rename {src/content/docs/java => java}/preparation/services.md (100%) rename {src/content/docs/java => java}/preparation/text-editor.md (100%) rename {src/content/docs/java => java}/process/create-art-assets.md (100%) rename {src/content/docs/java => java}/process/dashboard.md (100%) rename {src/content/docs/java => java}/process/database.md (100%) rename {src/content/docs/java => java}/process/maintenance/anticheat/_assets/anticheat/antixray-mode1-1.png (100%) rename {src/content/docs/java => java}/process/maintenance/anticheat/_assets/anticheat/antixray-mode2-1.png (100%) rename {src/content/docs/java => java}/process/maintenance/anticheat/_assets/anticheat/antixray-mode3-1.png (100%) rename {src/content/docs/java => java}/process/maintenance/anticheat/_assets/anticheat/antixray-nerher-mode1.png (100%) rename {src/content/docs/java => java}/process/maintenance/anticheat/_assets/anticheat/antixray-nerher-mode3.png (100%) rename {src/content/docs/java => java}/process/maintenance/anticheat/_assets/anticheat/antixray-nether-mode2.png (100%) rename {src/content/docs/java => java}/process/maintenance/anticheat/_assets/anticheat/talentsaclogo.png (100%) rename {src/content/docs/java => java}/process/maintenance/anticheat/_assets/img.png (100%) rename {src/content/docs/java => java}/process/maintenance/anticheat/_assets/img_1.png (100%) rename {src/content/docs/java => java}/process/maintenance/anticheat/anti-crash.md (100%) rename {src/content/docs/java => java}/process/maintenance/anticheat/anticheat.md (100%) rename {src/content/docs/java => java}/process/maintenance/anticheat/anticheatplugins.md (100%) rename {src/content/docs/java => java}/process/maintenance/anticheat/antixray.md (100%) rename {src/content/docs/java => java}/process/maintenance/anticheat/honeypot.md (100%) rename {src/content/docs/java => java}/process/maintenance/anticheat/rng.md (100%) rename {src/content/docs/java => java}/process/maintenance/backup.md (100%) rename {src/content/docs/java => java}/process/maintenance/how-to-defend-against-cyber-attacks.md (100%) rename {src/content/docs/java => java}/process/maintenance/lang/javascript/extend/extend.md (100%) rename {src/content/docs/java => java}/process/maintenance/lang/javascript/extend/graaljs.md (100%) rename {src/content/docs/java => java}/process/maintenance/lang/javascript/extend/nashorn.md (100%) rename {src/content/docs/java => java}/process/maintenance/lang/javascript/javascript.md (100%) rename {src/content/docs/java => java}/process/maintenance/lang/kether/_assets/Vulpecula/1.png (100%) rename {src/content/docs/java => java}/process/maintenance/lang/kether/_assets/Vulpecula/2.png (100%) rename {src/content/docs/java => java}/process/maintenance/lang/kether/_assets/Vulpecula/3.png (100%) rename {src/content/docs/java => java}/process/maintenance/lang/kether/_assets/Vulpecula/4.png (100%) rename {src/content/docs/java => java}/process/maintenance/lang/kether/_assets/Vulpecula/5.png (100%) rename {src/content/docs/java => java}/process/maintenance/lang/kether/_assets/Vulpecula/6.png (100%) rename {src/content/docs/java => java}/process/maintenance/lang/kether/_assets/Vulpecula/7.png (100%) rename {src/content/docs/java => java}/process/maintenance/lang/kether/_assets/Vulpecula/8.png (100%) rename {src/content/docs/java => java}/process/maintenance/lang/kether/_assets/Vulpecula/9.png (100%) rename {src/content/docs/java => java}/process/maintenance/lang/kether/_assets/if_1.png (100%) rename {src/content/docs/java => java}/process/maintenance/lang/kether/_assets/if_2.png (100%) rename {src/content/docs/java => java}/process/maintenance/lang/kether/_assets/if_3.png (100%) rename {src/content/docs/java => java}/process/maintenance/lang/kether/_assets/inline.png (100%) rename {src/content/docs/java => java}/process/maintenance/lang/kether/_assets/math_1.png (100%) rename {src/content/docs/java => java}/process/maintenance/lang/kether/_assets/result.png (100%) rename {src/content/docs/java => java}/process/maintenance/lang/kether/_assets/type_1.png (100%) rename {src/content/docs/java => java}/process/maintenance/lang/kether/_assets/var_1.png (100%) rename {src/content/docs/java => java}/process/maintenance/lang/kether/_assets/var_2.png (100%) rename {src/content/docs/java => java}/process/maintenance/lang/kether/_assets/var_3.png (100%) rename {src/content/docs/java => java}/process/maintenance/lang/kether/_assets/var_4.png (100%) rename {src/content/docs/java => java}/process/maintenance/lang/kether/_assets/var_5.png (100%) rename {src/content/docs/java => java}/process/maintenance/lang/kether/_assets/var_6.png (100%) rename {src/content/docs/java => java}/process/maintenance/lang/kether/_assets/var_7.png (100%) rename {src/content/docs/java => java}/process/maintenance/lang/kether/_assets/vul-check.png (100%) rename {src/content/docs/java => java}/process/maintenance/lang/kether/_assets/vul-color.png (100%) rename {src/content/docs/java => java}/process/maintenance/lang/kether/_assets/vul-papi.png (100%) rename {src/content/docs/java => java}/process/maintenance/lang/kether/_assets/vul-perm.png (100%) rename {src/content/docs/java => java}/process/maintenance/lang/kether/_assets/vul-permNot_1.png (100%) rename {src/content/docs/java => java}/process/maintenance/lang/kether/_assets/vul-permNot_2.png (100%) rename {src/content/docs/java => java}/process/maintenance/lang/kether/_assets/vul-tell.png (100%) rename {src/content/docs/java => java}/process/maintenance/lang/kether/_assets/vul-tell_color.png (100%) rename {src/content/docs/java => java}/process/maintenance/lang/kether/_assets/vul-tell_name.png (100%) rename {src/content/docs/java => java}/process/maintenance/lang/kether/_assets/vul-tell_noColor.png (100%) rename {src/content/docs/java => java}/process/maintenance/lang/kether/_assets/vul-tell_papiNoInline.png (100%) rename {src/content/docs/java => java}/process/maintenance/lang/kether/_assets/vul-tell_papiWithInline.png (100%) rename {src/content/docs/java => java}/process/maintenance/lang/kether/_assets/vul-tell_papiWithJoin.png (100%) rename {src/content/docs/java => java}/process/maintenance/lang/kether/_assets/vul-tell_tell.png (100%) rename {src/content/docs/java => java}/process/maintenance/lang/kether/_assets/web-tell.png (100%) rename "src/content/docs/java/process/maintenance/lang/kether/_assets/\345\206\222\346\261\227.jpg" => "java/process/maintenance/lang/kether/_assets/\345\206\222\346\261\227.jpg" (100%) rename "src/content/docs/java/process/maintenance/lang/kether/_assets/\346\213\254\345\217\267.png" => "java/process/maintenance/lang/kether/_assets/\346\213\254\345\217\267.png" (100%) rename "src/content/docs/java/process/maintenance/lang/kether/_assets/\346\255\243\347\273\217\347\254\221.jpg" => "java/process/maintenance/lang/kether/_assets/\346\255\243\347\273\217\347\254\221.jpg" (100%) rename "src/content/docs/java/process/maintenance/lang/kether/_assets/\347\227\264\345\221\206.jpg" => "java/process/maintenance/lang/kether/_assets/\347\227\264\345\221\206.jpg" (100%) rename {src/content/docs/java => java}/process/maintenance/lang/kether/basic.md (100%) rename {src/content/docs/java => java}/process/maintenance/lang/kether/if.md (100%) rename {src/content/docs/java => java}/process/maintenance/lang/kether/kether.md (100%) rename {src/content/docs/java => java}/process/maintenance/lang/kether/math.md (100%) rename {src/content/docs/java => java}/process/maintenance/lang/kether/misc.md (100%) rename {src/content/docs/java => java}/process/maintenance/lang/kether/preparation.md (100%) rename {src/content/docs/java => java}/process/maintenance/lang/kether/variable.md (100%) rename {src/content/docs/java => java}/process/maintenance/lang/kether/vulpecula.md (100%) rename {src/content/docs/java => java}/process/maintenance/lang/lang.md (100%) rename {src/content/docs/java => java}/process/maintenance/lang/skript/_assets/QuerySubclasses.png (100%) rename {src/content/docs/java => java}/process/maintenance/lang/skript/_assets/SearchEvent.png (100%) rename {src/content/docs/java => java}/process/maintenance/lang/skript/_assets/SearchMethods.png (100%) rename {src/content/docs/java => java}/process/maintenance/lang/skript/_assets/SkriptBasic1.png (100%) rename {src/content/docs/java => java}/process/maintenance/lang/skript/advanced-tutorials.md (100%) rename {src/content/docs/java => java}/process/maintenance/lang/skript/basic-tutorials.md (100%) rename {src/content/docs/java => java}/process/maintenance/lang/skript/skript.md (100%) rename {src/content/docs/java => java}/process/maintenance/maintenance.md (100%) rename {src/content/docs/java => java}/process/maintenance/optimize/_assets/ummm.jpg (100%) rename "src/content/docs/java/process/maintenance/optimize/_assets/\346\200\216\344\271\210\350\256\251\345\244\247\344\275\254\345\270\256\346\210\221/spark_start.png" => "java/process/maintenance/optimize/_assets/\346\200\216\344\271\210\350\256\251\345\244\247\344\275\254\345\270\256\346\210\221/spark_start.png" (100%) rename "src/content/docs/java/process/maintenance/optimize/_assets/\346\200\216\344\271\210\350\256\251\345\244\247\344\275\254\345\270\256\346\210\221/spark_stop.png" => "java/process/maintenance/optimize/_assets/\346\200\216\344\271\210\350\256\251\345\244\247\344\275\254\345\270\256\346\210\221/spark_stop.png" (100%) rename {src/content/docs/java => java}/process/maintenance/optimize/ask-for-help.md (100%) rename {src/content/docs/java => java}/process/maintenance/optimize/go.mdx (100%) rename {src/content/docs/java => java}/process/maintenance/optimize/img.png (100%) rename {src/content/docs/java => java}/process/maintenance/optimize/jvm/common.md (100%) rename {src/content/docs/java => java}/process/maintenance/optimize/jvm/dragonwell11.md (100%) rename {src/content/docs/java => java}/process/maintenance/optimize/jvm/dragonwell8.md (100%) rename {src/content/docs/java => java}/process/maintenance/optimize/jvm/graal.md (100%) rename {src/content/docs/java => java}/process/maintenance/optimize/jvm/jvm.md (100%) rename {src/content/docs/java => java}/process/maintenance/optimize/jvm/openj9.md (100%) rename {src/content/docs/java => java}/process/maintenance/optimize/jvm/zing.md (100%) rename {src/content/docs/java => java}/process/maintenance/optimize/kernel.md (100%) rename {src/content/docs/java => java}/process/maintenance/optimize/optimize.md (100%) rename {src/content/docs/java => java}/process/maintenance/optimize/optimized-plugin.md (100%) rename {src/content/docs/java => java}/process/maintenance/optimize/performance-analysis.md (100%) rename {src/content/docs/java => java}/process/maintenance/optimize/storage-space-optimization.md (100%) rename {src/content/docs/java => java}/process/maintenance/resourcepack/_assets/1.png (100%) rename {src/content/docs/java => java}/process/maintenance/resourcepack/_assets/2.png (100%) rename {src/content/docs/java => java}/process/maintenance/resourcepack/_assets/3.png (100%) rename {src/content/docs/java => java}/process/maintenance/resourcepack/_assets/4.png (100%) rename {src/content/docs/java => java}/process/maintenance/resourcepack/_assets/5.png (100%) rename {src/content/docs/java => java}/process/maintenance/resourcepack/_assets/6.png (100%) rename {src/content/docs/java => java}/process/maintenance/resourcepack/_assets/7.png (100%) rename {src/content/docs/java => java}/process/maintenance/resourcepack/_assets/8.png (100%) rename {src/content/docs/java => java}/process/maintenance/resourcepack/_assets/blockbench.png (100%) rename {src/content/docs/java => java}/process/maintenance/resourcepack/_assets/head.png (100%) rename {src/content/docs/java => java}/process/maintenance/resourcepack/_assets/title.png (100%) rename {src/content/docs/java => java}/process/maintenance/resourcepack/_assets/tooltip1.png (100%) rename {src/content/docs/java => java}/process/maintenance/resourcepack/_assets/tooltip2.png (100%) rename {src/content/docs/java => java}/process/maintenance/resourcepack/addon.md (100%) rename {src/content/docs/java => java}/process/maintenance/resourcepack/compress.md (100%) rename {src/content/docs/java => java}/process/maintenance/resourcepack/plugins/_assets/25b2c895c2af14fbc7e6989404d0ff7af64020ea.gif (100%) rename {src/content/docs/java => java}/process/maintenance/resourcepack/plugins/_assets/272f487d799270ea2e204de73236dda77d18f954.gif (100%) rename {src/content/docs/java => java}/process/maintenance/resourcepack/plugins/_assets/30a53ea3a4d029784f4ed54d17a335e099b805b4.gif (100%) rename {src/content/docs/java => java}/process/maintenance/resourcepack/plugins/_assets/4f4a015981222b37bfa3b2324113d919a33b090f.png (100%) rename {src/content/docs/java => java}/process/maintenance/resourcepack/plugins/_assets/52470cba6836ab471f19c8e788c513765de2d02c.png (100%) rename {src/content/docs/java => java}/process/maintenance/resourcepack/plugins/_assets/d0a7f51a86d1a313f1b41f27e021421adc93eec9.png (100%) rename {src/content/docs/java => java}/process/maintenance/resourcepack/plugins/_assets/f6b239e0689c433ef5a2c0e85f710e988bf1ba4e.gif (100%) rename {src/content/docs/java => java}/process/maintenance/resourcepack/plugins/_assets/fd658155424cd985553237821611dfdea040b166.gif (100%) rename {src/content/docs/java => java}/process/maintenance/resourcepack/plugins/_assets/videoframe_1994.png (100%) rename {src/content/docs/java => java}/process/maintenance/resourcepack/plugins/_assets/videoframe_931.png (100%) rename {src/content/docs/java => java}/process/maintenance/resourcepack/plugins/entity.md (100%) rename {src/content/docs/java => java}/process/maintenance/resourcepack/plugins/framework.md (100%) rename {src/content/docs/java => java}/process/maintenance/resourcepack/plugins/hud.md (100%) rename {src/content/docs/java => java}/process/maintenance/resourcepack/plugins/misc.md (100%) rename {src/content/docs/java => java}/process/maintenance/resourcepack/plugins/plugins.md (100%) rename {src/content/docs/java => java}/process/maintenance/resourcepack/plugins/tooltip.md (100%) rename {src/content/docs/java => java}/process/maintenance/resourcepack/plugins/vehicles.md (100%) rename {src/content/docs/java => java}/process/maintenance/resourcepack/protect.md (100%) rename {src/content/docs/java => java}/process/maintenance/resourcepack/resourcepack.md (100%) rename {src/content/docs/java => java}/process/maintenance/resourcepack/send.md (100%) rename {src/content/docs/java => java}/process/maintenance/resourcepack/software.md (100%) rename {src/content/docs/java => java}/start/ask-for-help.md (100%) rename {src/content/docs/java => java}/start/basic/_assets/command-1.png (100%) rename {src/content/docs/java => java}/start/basic/_assets/command-2.png (100%) rename {src/content/docs/java => java}/start/basic/_assets/command-3.png (100%) rename {src/content/docs/java => java}/start/basic/_assets/command-4.png (100%) rename {src/content/docs/general => java}/start/basic/_assets/nogui.jpg (100%) rename "src/content/docs/java/start/basic/_assets/\345\246\231\345\246\231\346\257\224\345\226\273.png" => "java/start/basic/_assets/\345\246\231\345\246\231\346\257\224\345\226\273.png" (100%) rename {src/content/docs/java => java}/start/basic/basic.md (100%) rename {src/content/docs/java => java}/start/basic/relationship-between-servers.md (100%) rename {src/content/docs/java => java}/start/basic/server-management-command.md (100%) rename {src/content/docs/java => java}/start/basic/what-is-datapack.mdx (100%) rename {src/content/docs/java => java}/start/basic/what-is-lag.md (100%) rename {src/content/docs/java => java}/start/basic/what-is-log.md (100%) rename {src/content/docs/java => java}/start/basic/what-is-mod.md (100%) rename {src/content/docs/java => java}/start/basic/what-is-namespace.md (100%) rename {src/content/docs/java => java}/start/basic/what-is-nbt.md (100%) rename {src/content/docs/java => java}/start/basic/what-is-permission.md (100%) rename {src/content/docs/java => java}/start/basic/what-is-plugin.md (100%) rename {src/content/docs/java => java}/start/basic/what-is-server.md (100%) rename {src/content/docs/java => java}/start/basic/what-is-startup-script.md (100%) rename {src/content/docs/java => java}/start/basic/what-is-world.md (100%) rename {src/content/docs/java => java}/start/deploy.md (100%) create mode 100644 src/components/Sidebar.astro delete mode 100644 src/content/docs/bedrock/bds/preparation/text-editor.md rename src/content/docs/general/advance/bot/{framework.md => framework.mdx} (90%) rename src/content/docs/general/advance/bot/{general.md => general.mdx} (93%) rename src/content/docs/general/advance/bot/{bot.md => intro.md} (95%) rename src/content/docs/general/advance/bot/{plugin.md => plugin.mdx} (95%) delete mode 100644 src/content/docs/general/advance/linux/database-installation.md rename src/content/docs/general/advance/linux/{keep-running.md => keep-running.mdx} (82%) rename src/content/docs/general/advance/linux/{start.md => start.mdx} (81%) rename src/content/docs/{java/start/basic => general/basics}/_assets/nogui.jpg (100%) rename "src/content/docs/general/start/basic/_assets/\345\217\243\345\255\227\347\254\246.png" => "src/content/docs/general/basics/_assets/\345\217\243\345\255\227\347\254\246.png" (100%) rename src/content/docs/general/{start/basic/basic.md => basics/index.md} (71%) rename src/content/docs/general/{start/basic => basics}/what-is-lag.md (99%) rename src/content/docs/general/{start/basic => basics}/what-is-log.md (98%) rename src/content/docs/general/{start/basic => basics}/what-is-messy-code.md (98%) rename src/content/docs/general/{start/basic => basics}/what-is-permission.md (98%) rename src/content/docs/general/{start/basic => basics}/what-is-plugin.md (98%) rename src/content/docs/general/{start/basic => basics}/what-is-server.md (97%) rename src/content/docs/general/{start/basic => basics}/what-is-startup-script.md (98%) rename src/content/docs/general/{preparation => }/java/_assets/Oracle-1.png (100%) rename src/content/docs/general/{preparation => }/java/_assets/Oracle-2.png (100%) rename src/content/docs/general/{preparation => }/java/_assets/Oracle-3.png (100%) rename src/content/docs/general/{preparation => }/java/_assets/Oracle-4.png (100%) rename src/content/docs/general/{preparation => }/java/_assets/Oracle-5.png (100%) rename src/content/docs/general/{preparation => }/java/_assets/cmd-1.png (100%) rename src/content/docs/general/{preparation => }/java/_assets/cmd-2.png (100%) rename src/content/docs/general/{preparation => }/java/_assets/environment-1.png (100%) rename src/content/docs/general/{preparation => }/java/_assets/environment-11-1.png (100%) rename src/content/docs/general/{preparation => }/java/_assets/environment-11-2.png (100%) rename src/content/docs/general/{preparation => }/java/_assets/environment-2.png (100%) rename src/content/docs/general/{preparation => }/java/_assets/environment-3.png (100%) rename src/content/docs/general/{preparation => }/java/_assets/environment-4.png (100%) rename src/content/docs/general/{preparation => }/java/_assets/environment-new-1.png (100%) rename src/content/docs/general/{preparation => }/java/_assets/environment-new-2.png (100%) rename src/content/docs/general/{preparation => }/java/_assets/environment-no.png (100%) rename src/content/docs/general/{preparation => }/java/_assets/lava.jpg (100%) rename src/content/docs/general/{preparation => }/java/_assets/path-1.png (100%) rename src/content/docs/general/{preparation => }/java/choose-and-download-and-install-java.md (98%) rename src/content/docs/general/{preparation/java/environment.md => java/environment.mdx} (92%) rename src/content/docs/general/{preparation => }/java/faq.md (87%) create mode 100644 src/content/docs/general/java/intro.md rename src/content/docs/general/{preparation => }/java/sdkman.md (99%) rename src/content/docs/general/{start => more}/_assets/qnmd_raw.png (100%) rename "src/content/docs/general/start/_assets/\344\270\215\350\246\201\346\210\252\345\233\276\350\277\231\344\270\252\345\225\212.png" => "src/content/docs/general/more/_assets/\344\270\215\350\246\201\346\210\252\345\233\276\350\277\231\344\270\252\345\225\212.png" (100%) rename "src/content/docs/general/start/_assets/\345\261\217\345\271\225\346\210\252\345\233\276 2025-02-07 182759.png" => "src/content/docs/general/more/_assets/\345\261\217\345\271\225\346\210\252\345\233\276 2025-02-07 182759.png" (100%) rename "src/content/docs/general/start/_assets/\345\261\217\345\271\225\346\210\252\345\233\276 2025-02-07 182930.png" => "src/content/docs/general/more/_assets/\345\261\217\345\271\225\346\210\252\345\233\276 2025-02-07 182930.png" (100%) rename "src/content/docs/general/start/_assets/\351\227\256\351\227\256\351\242\230\347\232\204\346\212\200\345\267\247/\346\262\241\344\272\213\344\270\215\350\246\201\345\205\215\350\264\271\345\270\256\344\272\272.jpg" => "src/content/docs/general/more/_assets/\351\227\256\351\227\256\351\242\230\347\232\204\346\212\200\345\267\247/\346\262\241\344\272\213\344\270\215\350\246\201\345\205\215\350\264\271\345\270\256\344\272\272.jpg" (100%) rename "src/content/docs/general/start/_assets/\351\227\256\351\227\256\351\242\230\347\232\204\346\212\200\345\267\247/\347\273\217\345\205\270\350\200\201\345\233\276-1.jpg" => "src/content/docs/general/more/_assets/\351\227\256\351\227\256\351\242\230\347\232\204\346\212\200\345\267\247/\347\273\217\345\205\270\350\200\201\345\233\276-1.jpg" (100%) rename "src/content/docs/general/start/_assets/\351\227\256\351\227\256\351\242\230\347\232\204\346\212\200\345\267\247/\347\273\217\345\205\270\350\200\201\345\233\276-2.jpg" => "src/content/docs/general/more/_assets/\351\227\256\351\227\256\351\242\230\347\232\204\346\212\200\345\267\247/\347\273\217\345\205\270\350\200\201\345\233\276-2.jpg" (100%) rename "src/content/docs/general/start/_assets/\351\227\256\351\227\256\351\242\230\347\232\204\346\212\200\345\267\247/\347\273\217\345\205\270\350\200\201\345\233\276-3.jpg" => "src/content/docs/general/more/_assets/\351\227\256\351\227\256\351\242\230\347\232\204\346\212\200\345\267\247/\347\273\217\345\205\270\350\200\201\345\233\276-3.jpg" (100%) rename src/content/docs/general/{start => more}/ask-for-help.md (100%) delete mode 100644 src/content/docs/general/preparation/java/java.md delete mode 100644 src/content/docs/general/preparation/preparation.md delete mode 100644 src/content/docs/general/preparation/text-editor.md rename "src/content/docs/general/preparation/_assets/HbuilderX\345\261\225\347\244\272.png" => "src/content/docs/general/preparation/text-editor/_assets/HbuilderX\345\261\225\347\244\272.png" (100%) rename "src/content/docs/general/preparation/_assets/Npp\345\261\225\347\244\272.png" => "src/content/docs/general/preparation/text-editor/_assets/Npp\345\261\225\347\244\272.png" (100%) rename "src/content/docs/general/preparation/_assets/N\345\207\217\345\207\217\345\261\225\347\244\272.png" => "src/content/docs/general/preparation/text-editor/_assets/N\345\207\217\345\207\217\345\261\225\347\244\272.png" (100%) rename "src/content/docs/general/preparation/_assets/sublime\345\261\225\347\244\272.png" => "src/content/docs/general/preparation/text-editor/_assets/sublime\345\261\225\347\244\272.png" (100%) rename "src/content/docs/general/preparation/_assets/vscode\344\277\235\345\255\230\345\222\214\350\207\252\345\212\250\344\277\235\345\255\230.png" => "src/content/docs/general/preparation/text-editor/_assets/vscode\344\277\235\345\255\230\345\222\214\350\207\252\345\212\250\344\277\235\345\255\230.png" (100%) rename "src/content/docs/general/preparation/_assets/\347\231\275\347\202\271.png" => "src/content/docs/general/preparation/text-editor/_assets/\347\231\275\347\202\271.png" (100%) create mode 100644 src/content/docs/general/preparation/text-editor/geany.md create mode 100644 src/content/docs/general/preparation/text-editor/hbuilderx.md create mode 100644 src/content/docs/general/preparation/text-editor/intro.md create mode 100644 src/content/docs/general/preparation/text-editor/kate.md create mode 100644 src/content/docs/general/preparation/text-editor/notepad++.md create mode 100644 src/content/docs/general/preparation/text-editor/notepad--.md create mode 100644 src/content/docs/general/preparation/text-editor/notepad3.md create mode 100644 src/content/docs/general/preparation/text-editor/sublime-text.md create mode 100644 src/content/docs/general/preparation/text-editor/vim.md create mode 100644 src/content/docs/general/preparation/text-editor/vscode.md rename src/content/docs/{java => general/process}/advance/bot.md (100%) rename src/content/docs/{java => general/process}/advance/domain-registration.md (100%) rename src/content/docs/{java => general/process}/advance/linux.md (100%) rename "src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\346\225\260\346\215\256\345\272\223\345\256\211\350\243\205/1.png" => src/content/docs/general/process/database/_assets/linux/database/1.png (100%) rename "src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\346\225\260\346\215\256\345\272\223\345\256\211\350\243\205/2.png" => src/content/docs/general/process/database/_assets/linux/database/2.png (100%) rename "src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\346\225\260\346\215\256\345\272\223\345\256\211\350\243\205/3.png" => src/content/docs/general/process/database/_assets/linux/database/3.png (100%) rename "src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\346\225\260\346\215\256\345\272\223\345\256\211\350\243\205/4.png" => src/content/docs/general/process/database/_assets/linux/database/4.png (100%) rename "src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\346\225\260\346\215\256\345\272\223\345\256\211\350\243\205/5.png" => src/content/docs/general/process/database/_assets/linux/database/5.png (100%) rename "src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\346\225\260\346\215\256\345\272\223\345\256\211\350\243\205/6.png" => src/content/docs/general/process/database/_assets/linux/database/6.png (100%) rename "src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\346\225\260\346\215\256\345\272\223\345\256\211\350\243\205/7.png" => src/content/docs/general/process/database/_assets/linux/database/7.png (100%) rename src/content/docs/general/process/database/{database.md => intro.md} (93%) rename src/content/docs/general/process/deploy/{deploy.md => intro.md} (90%) rename src/content/docs/general/process/map/{map.md => intro.md} (99%) rename src/content/docs/general/{reading-guide.md => reading-guide.mdx} (76%) create mode 100644 src/content/docs/index.mdx rename src/content/docs/java/advance/{advance.md => intro.md} (67%) create mode 100644 src/content/docs/java/preparation/intro.md delete mode 100644 src/content/docs/java/preparation/preparation.md delete mode 100644 src/content/docs/java/preparation/websites.md rename src/content/docs/java/process/cross-server/{command.md => command.mdx} (53%) rename src/content/docs/java/process/cross-server/{cross-server.md => intro.md} (97%) rename src/content/docs/java/process/cross-server/plugin/{plugin.md => intro.md} (75%) rename src/content/docs/java/process/cross-server/setup/bungeecord/{bungeecord.md => intro.md} (81%) delete mode 100644 src/content/docs/java/process/cross-server/setup/setup.md rename src/content/docs/java/process/cross-server/setup/transfer/{transfer.md => intro.md} (97%) rename src/content/docs/java/process/cross-server/setup/velocity-ctd/{velocity-ctd.md => intro.md} (98%) rename src/content/docs/java/process/cross-server/setup/velocity/{velocity.md => intro.md} (98%) create mode 100644 src/content/docs/java/process/intro.md delete mode 100644 src/content/docs/java/process/map.md rename src/content/docs/java/process/mobile-player/client/{client.md => intro.md} (81%) rename src/content/docs/java/process/mobile-player/geyser/{introduction => }/_assets/VersionChoose.png (100%) rename src/content/docs/java/process/mobile-player/geyser/{introduction => }/faq.md (99%) delete mode 100644 src/content/docs/java/process/mobile-player/geyser/geyser.md rename src/content/docs/java/process/mobile-player/geyser/{introduction => }/install.md (99%) rename src/content/docs/java/process/mobile-player/geyser/{introduction/overview.md => intro.md} (93%) delete mode 100644 src/content/docs/java/process/mobile-player/geyser/introduction/introduction.md rename src/content/docs/java/process/mobile-player/geyser/upgrade/extended/{extended.md => intro.md} (93%) delete mode 100644 src/content/docs/java/process/mobile-player/geyser/upgrade/upgrade.md rename src/content/docs/java/process/mobile-player/{mobile-player.md => intro.md} (84%) delete mode 100644 src/content/docs/java/process/plugin/game/game.md rename src/content/docs/java/process/plugin/game/slimefun/{slimefun.md => intro.md} (90%) delete mode 100644 src/content/docs/java/process/plugin/game/title/title.md rename src/content/docs/java/process/plugin/{plugin.md => intro.md} (96%) rename src/content/docs/java/process/plugin/management-tool/anti-grief/{anti-grief.md => intro.md} (85%) rename src/content/docs/java/process/plugin/management-tool/basic-plugins/{sunlight => }/_assets/1.png (100%) rename src/content/docs/java/process/plugin/management-tool/basic-plugins/{sunlight => }/_assets/2.png (100%) rename src/content/docs/java/process/plugin/management-tool/basic-plugins/{sunlight => }/_assets/3.png (100%) rename src/content/docs/java/process/plugin/management-tool/basic-plugins/{sunlight => }/_assets/4.png (100%) rename src/content/docs/java/process/plugin/management-tool/basic-plugins/{sunlight => }/_assets/5.png (100%) rename src/content/docs/java/process/plugin/management-tool/basic-plugins/cmi/{cmi.md => intro.md} (91%) rename src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/{essentialsx.md => intro.md} (98%) rename src/content/docs/java/process/plugin/management-tool/basic-plugins/{basic-plugins.md => intro.md} (89%) rename src/content/docs/java/process/plugin/management-tool/basic-plugins/{sunlight => }/sunlight.md (97%) rename src/content/docs/java/process/plugin/management-tool/chat/{chat.md => intro.md} (53%) create mode 100644 src/content/docs/java/process/plugin/management-tool/items/intro.md delete mode 100644 src/content/docs/java/process/plugin/management-tool/items/items.md delete mode 100644 src/content/docs/java/process/plugin/management-tool/management-tool.md rename src/content/docs/java/process/plugin/management-tool/permission/{permission.md => intro.md} (94%) rename src/content/docs/java/process/plugin/management-tool/plugin-management/{plugin-management.md => intro.md} (62%) create mode 100644 src/content/docs/java/process/plugin/management-tool/task/intro.md delete mode 100644 src/content/docs/java/process/plugin/management-tool/task/task.md rename src/content/docs/java/process/plugin/misc/holograms/{holograms.md => intro.md} (58%) create mode 100644 src/content/docs/java/process/plugin/misc/intro.md rename src/content/docs/java/process/plugin/misc/login/{login.md => intro.md} (65%) rename src/content/docs/java/process/plugin/misc/menu/{menu.md => intro.md} (79%) delete mode 100644 src/content/docs/java/process/plugin/misc/misc.md create mode 100644 src/content/docs/java/process/plugin/misc/motd/intro.md delete mode 100644 src/content/docs/java/process/plugin/misc/motd/motd.md rename src/content/docs/java/process/plugin/misc/npc/{npc.md => intro.md} (89%) rename src/content/docs/java/process/plugin/misc/tab-scoreboard/{tab-scoreboard.md => intro.md} (73%) rename src/content/docs/java/process/plugin/misc/via/{via.md => intro.md} (97%) create mode 100644 src/content/docs/java/process/plugin/more/intro.md delete mode 100644 src/content/docs/java/process/plugin/more/more.md rename src/content/docs/java/process/plugin/more/plugin-build/{first.mdx => intro.mdx} (90%) delete mode 100644 src/content/docs/java/process/plugin/more/plugin-build/plugin-build.md rename src/content/docs/java/{advance => process/plugin/more}/yaml/extention.md (98%) rename src/content/docs/java/{advance => process/plugin/more}/yaml/general.md (99%) rename src/content/docs/java/{advance/yaml/yaml.md => process/plugin/more/yaml/intro.md} (88%) rename src/content/docs/java/process/plugin/plugin-dependencies/{plugin-dependencies.md => intro.md} (61%) rename src/content/docs/java/process/plugin/plugin-dependencies/vault/{vault.md => intro.md} (95%) create mode 100644 src/content/docs/java/process/plugin/protection/intro.md delete mode 100644 src/content/docs/java/process/plugin/protection/protection.md rename src/content/docs/java/process/plugin/world-management/lobby/{lobby.md => intro.md} (64%) rename src/content/docs/java/process/plugin/world-management/multiverse/{multiverse.md => intro.md} (98%) delete mode 100644 src/content/docs/java/process/plugin/world-management/world-management.md create mode 100644 src/content/docs/java/process/plugin/world-management/worldgen/intro.md delete mode 100644 src/content/docs/java/process/plugin/world-management/worldgen/worldgen.md delete mode 100644 src/content/docs/java/process/process.md rename src/content/docs/java/process/redstone/{redstone.md => intro.md} (91%) delete mode 100644 src/content/docs/java/start/_assets/2.png delete mode 100644 src/content/docs/java/start/_assets/3.png delete mode 100644 "src/content/docs/java/start/_assets/\346\226\207\344\273\266\350\265\204\346\272\220\347\256\241\347\220\206\345\231\250.jpg" delete mode 100644 src/content/docs/java/start/basic/server-dir-structure.mdx rename src/content/docs/java/start/{install-server.md => install-mod-server.mdx} (90%) create mode 100644 src/content/docs/java/start/intro.md rename src/content/docs/java/start/{launch-server.md => launch-server.mdx} (79%) rename src/content/docs/java/start/server-core-choose/folia/{folia.md => intro.md} (79%) rename src/content/docs/java/start/server-core-choose/{server-core-choose.md => intro.md} (73%) delete mode 100644 src/content/docs/java/start/server-core-choose/multipaper.md rename src/content/docs/java/start/server-core-choose/{plugin.md => plugin.mdx} (92%) delete mode 100644 src/content/docs/java/start/server-core-choose/sponge.md create mode 100644 src/content/docs/java/start/server-dir-structure.mdx delete mode 100644 src/content/docs/java/start/start.md diff --git a/.markdownlint.jsonc b/.markdownlint.json similarity index 63% rename from .markdownlint.jsonc rename to .markdownlint.json index 55e191384..4d16d9252 100644 --- a/.markdownlint.jsonc +++ b/.markdownlint.json @@ -4,5 +4,9 @@ "single-h1": false, "no-bare-urls": false, "no-inline-html": false, - "no-alt-text": false + "no-alt-text": false, + "MD030": false, + "MD007": { + "indent": 4 + } } diff --git a/src/content/docs/about/_assets/me.png b/about/_assets/me.png similarity index 100% rename from src/content/docs/about/_assets/me.png rename to about/_assets/me.png diff --git a/src/content/docs/about/ad.md b/about/ad.md similarity index 100% rename from src/content/docs/about/ad.md rename to about/ad.md diff --git a/src/content/docs/about/arch.md b/about/arch.md similarity index 100% rename from src/content/docs/about/arch.md rename to about/arch.md diff --git a/src/content/docs/about/contributors.md b/about/contributors.md similarity index 100% rename from src/content/docs/about/contributors.md rename to about/contributors.md diff --git a/src/content/docs/about/intro.md b/about/intro.md similarity index 100% rename from src/content/docs/about/intro.md rename to about/intro.md diff --git a/src/content/docs/about/sponsor.md b/about/sponsor.md similarity index 100% rename from src/content/docs/about/sponsor.md rename to about/sponsor.md diff --git a/src/content/docs/about/timeline.mdx b/about/timeline.mdx similarity index 100% rename from src/content/docs/about/timeline.mdx rename to about/timeline.mdx diff --git a/astro.config.ts b/astro.config.ts index 877d4e969..a3d7fac57 100644 --- a/astro.config.ts +++ b/astro.config.ts @@ -1,33 +1,671 @@ import starlight from "@astrojs/starlight"; import tailwindcss from "@tailwindcss/vite"; import AstroPWA from "@vite-pwa/astro"; +import mermaid from "astro-mermaid"; import { defineConfig } from "astro/config"; +import starlightGiscus from "starlight-giscus"; +import starlightImageZoom from "starlight-image-zoom"; +import starlightLinksValidator from "starlight-links-validator"; +import starlightSidebarTopics from "starlight-sidebar-topics"; export default defineConfig({ integrations: [ starlight({ - title: "My Docs", - social: [{ icon: "github", label: "GitHub", href: "https://github.com/withastro/starlight" }], - sidebar: [ - { - label: "Guides", - items: [ - // Each item here is one entry in the navigation menu. - { label: "Example Guide", slug: "guides/example" } - ] - }, - { - label: "Reference", - autogenerate: { directory: "reference" } + title: "Cubic Wiki", + description: "一群笨蛋编写的 Minecraft 开服教程", + locales: { + root: { + label: "简体中文", + lang: "zh-CN" } - ] + }, + favicon: "/favicon.ico", + social: [{ icon: "github", label: "GitHub", href: "https://github.com/withastro/starlight" }], + logo: { src: "./src/assets/logo.svg" }, + editLink: { + baseUrl: "https://github.com/Cubic-Project/NitWikit/edit/main/" + }, + plugins: [ + starlightGiscus({ + repo: "Cubic-Project/NitWikit", + repoId: "R_kgDOQWQ-Ng", + category: "General", + categoryId: "DIC_kwDOQWQ-Ns4Cx2No", + mapping: "og:title" + }), + starlightSidebarTopics([ + { + label: "基础", + link: "/general/intro", + icon: "open-book", + items: [ + { + label: "从零开始", + collapsed: false, + items: [{ label: "快速开始", slug: "general/intro" }, "general/reading-guide"] + } + ] + }, + { + label: "Java", + link: "/java/intro", + icon: "open-book", + items: [ + { + label: "快速开始", + collapsed: false, + items: ["java/intro"] + }, + { + label: "准备工作", + items: [ + "java/preparation/intro", + { + label: "安装 Java", + collapsed: true, + items: [ + "general/java/intro", + "general/java/choose-and-download-and-install-java", + "general/java/environment", + "general/java/sdkman", + "general/java/faq" + ] + }, + { + label: "文本编辑器", + collapsed: true, + autogenerate: { directory: "general/preparation/text-editor" } + } + ] + }, + { + label: "开始阶段", + items: [ + "java/start/intro", + { + label: "选择服务器端", + collapsed: true, + items: [ + "java/start/server-core-choose/intro", + "java/start/server-core-choose/plugin", + "java/start/server-core-choose/mod", + "java/start/server-core-choose/hybrid", + { + label: "Folia", + collapsed: true, + autogenerate: { directory: "java/start/server-core-choose/folia" } + } + ] + }, + "java/start/install-mod-server", + "java/start/launch-server", + "java/start/server-dir-structure", + "java/start/config-server", + "java/start/connect-to-server", + { + label: "部署到生产环境", + collapsed: true, + autogenerate: { directory: "general/process/deploy" } + } + ] + }, + { + label: "建设与运营", + items: [ + "java/process/intro", + { + label: "插件", + collapsed: true, + items: [ + "java/process/plugin/intro", + { + label: "前言与基础", + collapsed: true, + items: [ + "java/process/plugin/more/intro", + "java/process/plugin/more/plugin-download", + { + label: "YAML", + collapsed: true, + items: [ + "java/process/plugin/more/yaml/intro", + "java/process/plugin/more/yaml/general", + "java/process/plugin/more/yaml/extention" + ] + }, + "java/process/plugin/more/color-message", + "java/process/plugin/more/plugin-abbreviation", + "java/process/plugin/more/plugin-backdoor", + { + label: "插件构建", + collapsed: true, + items: [ + "java/process/plugin/more/plugin-build/intro", + "java/process/plugin/more/plugin-build/idea-build", + "java/process/plugin/more/plugin-build/terminal-build", + "java/process/plugin/more/plugin-build/github-actions-build", + "java/process/plugin/more/plugin-build/mirror-config" + ] + }, + "java/process/plugin/more/plugin-config", + "java/process/plugin/more/faq", + "java/process/plugin/more/plugin-signature-file", + "java/process/plugin/more/tittle-tattle" + ] + }, + { + label: "前置", + collapsed: true, + items: [ + "java/process/plugin/plugin-dependencies/intro", + { + label: "PlaceholderAPI", + collapsed: true, + items: [ + "java/process/plugin/plugin-dependencies/placeholderapi/placeholderapi", + "java/process/plugin/plugin-dependencies/placeholderapi/common-usage", + "java/process/plugin/plugin-dependencies/placeholderapi/parse-other", + "java/process/plugin/plugin-dependencies/placeholderapi/math", + "java/process/plugin/plugin-dependencies/placeholderapi/string", + "java/process/plugin/plugin-dependencies/placeholderapi/progress", + "java/process/plugin/plugin-dependencies/placeholderapi/javascript", + "java/process/plugin/plugin-dependencies/placeholderapi/check-item", + "java/process/plugin/plugin-dependencies/placeholderapi/change-output", + "java/process/plugin/plugin-dependencies/placeholderapi/faq" + ] + }, + "java/process/plugin/plugin-dependencies/playerpoints", + "java/process/plugin/plugin-dependencies/protocollib", + { + label: "Vault", + collapsed: true, + items: [ + "java/process/plugin/plugin-dependencies/vault/intro", + "java/process/plugin/plugin-dependencies/vault/serviceio", + "java/process/plugin/plugin-dependencies/vault/vaultunlocked" + ] + }, + "java/process/plugin/plugin-dependencies/xconomy" + ] + }, + { + label: "管理", + collapsed: true, + items: [ + { + label: "防破坏", + collapsed: true, + items: [ + "java/process/plugin/management-tool/anti-grief/intro", + "java/process/plugin/management-tool/anti-grief/coreprotect", + "java/process/plugin/management-tool/anti-grief/invseeplusplus", + "java/process/plugin/management-tool/anti-grief/prismrefracted" + ] + }, + { + label: "基础插件", + collapsed: true, + items: [ + "java/process/plugin/management-tool/basic-plugins/intro", + "java/process/plugin/management-tool/basic-plugins/delete", + { + label: "CMI", + collapsed: true, + items: [ + "java/process/plugin/management-tool/basic-plugins/cmi/intro", + "java/process/plugin/management-tool/basic-plugins/cmi/eco", + "java/process/plugin/management-tool/basic-plugins/cmi/question" + ] + }, + { + label: "EssentialsX", + collapsed: true, + items: [ + "java/process/plugin/management-tool/basic-plugins/essentialsx/intro", + "java/process/plugin/management-tool/basic-plugins/essentialsx/config-yml", + "java/process/plugin/management-tool/basic-plugins/essentialsx/config-tips", + "java/process/plugin/management-tool/basic-plugins/essentialsx/warp", + "java/process/plugin/management-tool/basic-plugins/essentialsx/kit", + "java/process/plugin/management-tool/basic-plugins/essentialsx/papi-support", + "java/process/plugin/management-tool/basic-plugins/essentialsx/faq" + ] + }, + "java/process/plugin/management-tool/basic-plugins/sunlight" + ] + }, + { + label: "聊天", + collapsed: true, + items: [ + "java/process/plugin/management-tool/chat/intro", + "java/process/plugin/management-tool/chat/carbon", + "java/process/plugin/management-tool/chat/huskchat", + "java/process/plugin/management-tool/chat/trchat" + ] + }, + { + label: "物品库", + collapsed: true, + items: [ + "java/process/plugin/management-tool/items/intro", + "java/process/plugin/management-tool/items/crucible", + "java/process/plugin/management-tool/items/ecoitems", + "java/process/plugin/management-tool/items/mmoitems", + "java/process/plugin/management-tool/items/neigeitems", + "java/process/plugin/management-tool/items/ratziel", + "java/process/plugin/management-tool/items/sx-item", + "java/process/plugin/management-tool/items/zaphkiel", + "java/process/plugin/management-tool/items/misc" + ] + }, + { + label: "权限", + collapsed: true, + items: [ + "java/process/plugin/management-tool/permission/intro", + "java/process/plugin/management-tool/permission/what-is-permission", + "java/process/plugin/management-tool/permission/group", + "java/process/plugin/management-tool/permission/command", + "java/process/plugin/management-tool/permission/tips", + "java/process/plugin/management-tool/permission/meta" + ] + }, + { + label: "插件管理", + collapsed: true, + items: [ + "java/process/plugin/management-tool/plugin-management/intro", + "java/process/plugin/management-tool/plugin-management/plugin-portal", + "java/process/plugin/management-tool/plugin-management/plugmanx", + "java/process/plugin/management-tool/plugin-management/serverutils", + "java/process/plugin/management-tool/plugin-management/yum" + ] + }, + { + label: "任务", + collapsed: true, + items: [ + "java/process/plugin/management-tool/task/intro", + "java/process/plugin/management-tool/task/beautyquests", + "java/process/plugin/management-tool/task/betonquest", + "java/process/plugin/management-tool/task/chemdah", + "java/process/plugin/management-tool/task/mangoquest", + "java/process/plugin/management-tool/task/playertask", + "java/process/plugin/management-tool/task/questcreator", + "java/process/plugin/management-tool/task/questengine", + "java/process/plugin/management-tool/task/quests", + "java/process/plugin/management-tool/task/typewriter" + ] + } + ] + }, + { + label: "保护", + collapsed: true, + items: [ + "java/process/plugin/protection/intro", + "java/process/plugin/protection/residence", + "java/process/plugin/protection/dominion", + "java/process/plugin/protection/griefdefender", + "java/process/plugin/protection/plotsquared", + "java/process/plugin/protection/askyblock", + "java/process/plugin/protection/bentobox", + "java/process/plugin/protection/towny" + ] + }, + { + label: "世界管理", + collapsed: true, + items: [ + "java/process/plugin/world-management/worldedit", + "java/process/plugin/world-management/worldguard", + "java/process/plugin/world-management/fastasyncworldedit", + "java/process/plugin/world-management/law", + "java/process/plugin/world-management/myworld", + "java/process/plugin/world-management/nobuildplus", + { + label: "大厅", + collapsed: true, + items: [ + "java/process/plugin/world-management/lobby/intro", + "java/process/plugin/world-management/lobby/deluxehub", + "java/process/plugin/world-management/lobby/deluxehubreloaded", + "java/process/plugin/world-management/lobby/superlobbydeluxe" + ] + }, + { + label: "多世界 - Multiverse", + collapsed: true, + items: [ + "java/process/plugin/world-management/multiverse/intro", + "java/process/plugin/world-management/multiverse/faq1", + "java/process/plugin/world-management/multiverse/faq2" + ] + }, + { + label: "世界生成", + collapsed: true, + items: [ + "java/process/plugin/world-management/worldgen/intro", + "java/process/plugin/world-management/worldgen/terra", + "java/process/plugin/world-management/worldgen/irisworldgen", + "java/process/plugin/world-management/worldgen/terraformgenerator" + ] + } + ] + }, + { + label: "游戏性", + collapsed: true, + items: [ + "java/process/plugin/game/dragoncore", + "java/process/plugin/game/germengine", + "java/process/plugin/game/nova", + { + label: "Slimefun", + collapsed: true, + items: [ + "java/process/plugin/game/slimefun/intro", + "java/process/plugin/game/slimefun/auto-update", + "java/process/plugin/game/slimefun/find-lag", + "java/process/plugin/game/slimefun/resourcepack-for-slimefun" + ] + }, + { + label: "称号", + collapsed: true, + items: [ + "java/process/plugin/game/title/deluxetags", + "java/process/plugin/game/title/miniplayertitle", + "java/process/plugin/game/title/mythicprefixes", + "java/process/plugin/game/title/playertitle", + "java/process/plugin/game/title/userprefix" + ] + } + ] + }, + { + label: "其他", + collapsed: true, + items: [ + "java/process/plugin/misc/intro", + { + label: "全息图", + collapsed: true, + items: [ + "java/process/plugin/misc/holograms/intro", + "java/process/plugin/misc/holograms/decentholograms", + "java/process/plugin/misc/holograms/holographicdisplays" + ] + }, + { + label: "登录", + collapsed: true, + items: [ + "java/process/plugin/misc/login/intro", + "java/process/plugin/misc/login/authme", + "java/process/plugin/misc/login/catseedlogin", + "java/process/plugin/misc/login/librelogin", + "java/process/plugin/misc/login/limboauth" + ] + }, + { + label: "菜单", + collapsed: true, + items: [ + "java/process/plugin/misc/menu/intro", + "java/process/plugin/misc/menu/chestcommands", + "java/process/plugin/misc/menu/deluxemenus", + "java/process/plugin/misc/menu/invero", + "java/process/plugin/misc/menu/trmenu" + ] + }, + "java/process/plugin/misc/money", + { + label: "MOTD", + collapsed: true, + items: [ + "java/process/plugin/misc/motd/intro", + "java/process/plugin/misc/motd/minimotd" + ] + }, + "java/process/plugin/misc/mythicmobs", + { + label: "NPC", + collapsed: true, + items: [ + "java/process/plugin/misc/npc/intro", + "java/process/plugin/misc/npc/adyeshach", + "java/process/plugin/misc/npc/citizens", + "java/process/plugin/misc/npc/znpcsplus" + ] + }, + "java/process/plugin/misc/quickshop", + "java/process/plugin/misc/skinsrestorer", + { + label: "Tab/记分板", + collapsed: true, + items: [ + "java/process/plugin/misc/tab-scoreboard/intro", + "java/process/plugin/misc/tab-scoreboard/simplescore", + "java/process/plugin/misc/tab-scoreboard/tab", + "java/process/plugin/misc/tab-scoreboard/titlemanager" + ] + }, + { + label: "版本兼容", + collapsed: true, + items: [ + "java/process/plugin/misc/via/intro", + "java/process/plugin/misc/via/viaversion", + "java/process/plugin/misc/via/viabackwards", + "java/process/plugin/misc/via/viarewind", + "java/process/plugin/misc/via/more-for-via" + ] + } + ] + } + ] + }, + { + label: "跨服端", + collapsed: true, + items: [ + "java/process/cross-server/intro", + "java/process/cross-server/server-core-choose", + { + label: "搭建", + collapsed: true, + items: [ + { + label: "BungeeCord", + collapsed: true, + items: [ + "java/process/cross-server/setup/bungeecord/intro", + "java/process/cross-server/setup/bungeecord/setup", + "java/process/cross-server/setup/bungeecord/config-yml", + "java/process/cross-server/setup/bungeecord/lobby" + ] + }, + { + label: "Velocity", + collapsed: true, + items: [ + "java/process/cross-server/setup/velocity/intro", + "java/process/cross-server/setup/velocity/setup", + "java/process/cross-server/setup/velocity/velocity-toml", + "java/process/cross-server/setup/velocity/lobby" + ] + }, + { + label: "Velocity CTD", + collapsed: true, + items: [ + "java/process/cross-server/setup/velocity-ctd/intro", + "java/process/cross-server/setup/velocity-ctd/setup", + "java/process/cross-server/setup/velocity-ctd/velocity-toml", + "java/process/cross-server/setup/velocity-ctd/features", + "java/process/cross-server/setup/velocity-ctd/lobby" + ] + }, + { + label: "Transfer", + collapsed: true, + items: [ + "java/process/cross-server/setup/transfer/intro", + "java/process/cross-server/setup/transfer/setup" + ] + } + ] + }, + "java/process/cross-server/join-server", + "java/process/cross-server/command", + { + label: "跨服插件", + collapsed: true, + items: [ + "java/process/cross-server/plugin/intro", + "java/process/cross-server/plugin/backend-only", + "java/process/cross-server/plugin/proxy-only", + "java/process/cross-server/plugin/proxy-backend-optional", + "java/process/cross-server/plugin/proxy-backend-mandatory" + ] + }, + "java/process/cross-server/hide-the-real-ip", + "java/process/cross-server/precautions" + ] + }, + { + label: "手机玩家支持", + collapsed: true, + items: [ + "java/process/mobile-player/intro", + { + label: "Geyser", + collapsed: true, + items: [ + "java/process/mobile-player/geyser/intro", + "java/process/mobile-player/geyser/install", + "java/process/mobile-player/geyser/faq", + { + label: "进阶", + collapsed: true, + items: [ + "java/process/mobile-player/geyser/upgrade/link", + "java/process/mobile-player/geyser/upgrade/menu", + "java/process/mobile-player/geyser/upgrade/slimefun", + "java/process/mobile-player/geyser/upgrade/geyser-skull", + "java/process/mobile-player/geyser/upgrade/custom-item-model-map", + "java/process/mobile-player/geyser/upgrade/geysermeg4-supports", + { + label: "扩展", + collapsed: true, + items: [ + "java/process/mobile-player/geyser/upgrade/extended/intro", + "java/process/mobile-player/geyser/upgrade/extended/compatible", + "java/process/mobile-player/geyser/upgrade/extended/fix", + "java/process/mobile-player/geyser/upgrade/extended/more" + ] + } + ] + } + ] + }, + { + label: "手机 Java 版", + collapsed: true, + items: [ + "java/process/mobile-player/client/intro", + "java/process/mobile-player/client/android-all", + "java/process/mobile-player/client/pojav-android", + "java/process/mobile-player/client/pojav-ios", + "java/process/mobile-player/client/pcl", + "java/process/mobile-player/client/amethyst-ios" + ] + } + ] + }, + { + label: "生电", + collapsed: true, + items: [ + "java/process/redstone/intro", + "java/process/redstone/plugin", + "java/process/redstone/mchprs", + "java/process/redstone/mod" + ] + }, + { label: "地图建设", autogenerate: { directory: "general/process/map" } }, + "general/process/create-art-assets", + "general/process/panel" + ] + }, + { + label: "进阶阶段", + collapsed: false, + items: [ + "java/advance/intro", + { + label: "Linux 开服", + collapsed: true, + autogenerate: { + directory: "general/advance/linux" + } + }, + "general/advance/domain-and-dns", + "java/advance/command-yml", + "java/advance/login-choices", + "java/advance/chinese-username", + "java/advance/slime-world", + { + label: "机器人框架", + collapsed: true, + autogenerate: { + directory: "general/advance/bot" + } + } + ] + }, + { + label: "附录", + collapsed: false, + items: ["general/more/ask-for-help"] + } + ] + }, + { + label: "Bedrock", + link: "/bedrock/intro", + icon: "open-book", + items: [ + { + label: "快速开始", items: ["bedrock/intro"] + }, + { + label: "BDS 核心", + collapsed: true, + items: [ + "bedrock/bds/preparation/preparation", + "general/preparation/text-editor", + "bedrock/bds/preparation/preparation" + ] + } + ] + } + ]), + starlightLinksValidator(), + starlightImageZoom() + ], + components: { + Sidebar: "./src/components/Sidebar.astro" + } }), AstroPWA({ registerType: "autoUpdate", manifest: { - name: "笨蛋文档", - short_name: "笨蛋文档", + name: "Cubic Wiki", + short_name: "Cubic Wiki", theme_color: "#2196f3", background_color: "#424242", display: "standalone", @@ -43,15 +681,11 @@ export default defineConfig({ sizes: "512x512", type: "image/png" } - ], - - related_applications: [ - { - platform: "webapp", - url: "https://nitwikit.8aka.org/manifest.json" - } ] } + }), + mermaid({ + autoTheme: true }) ], diff --git a/src/content/docs/bedrock/bds/bds.md b/bedrock/bds/bds.md similarity index 100% rename from src/content/docs/bedrock/bds/bds.md rename to bedrock/bds/bds.md diff --git a/src/content/docs/bedrock/bds/process/bdsx/bdsx-install.md b/bedrock/bds/process/bdsx/bdsx-install.md similarity index 100% rename from src/content/docs/bedrock/bds/process/bdsx/bdsx-install.md rename to bedrock/bds/process/bdsx/bdsx-install.md diff --git a/src/content/docs/bedrock/bds/process/bdsx/bdsx.md b/bedrock/bds/process/bdsx/bdsx.md similarity index 100% rename from src/content/docs/bedrock/bds/process/bdsx/bdsx.md rename to bedrock/bds/process/bdsx/bdsx.md diff --git a/src/content/docs/bedrock/bds/process/endstone/_assets/1-1.png b/bedrock/bds/process/endstone/_assets/1-1.png similarity index 100% rename from src/content/docs/bedrock/bds/process/endstone/_assets/1-1.png rename to bedrock/bds/process/endstone/_assets/1-1.png diff --git a/src/content/docs/bedrock/bds/process/endstone/_assets/1-2.png b/bedrock/bds/process/endstone/_assets/1-2.png similarity index 100% rename from src/content/docs/bedrock/bds/process/endstone/_assets/1-2.png rename to bedrock/bds/process/endstone/_assets/1-2.png diff --git a/src/content/docs/bedrock/bds/process/endstone/_assets/1-3.png b/bedrock/bds/process/endstone/_assets/1-3.png similarity index 100% rename from src/content/docs/bedrock/bds/process/endstone/_assets/1-3.png rename to bedrock/bds/process/endstone/_assets/1-3.png diff --git a/src/content/docs/bedrock/bds/process/endstone/_assets/1-4.png b/bedrock/bds/process/endstone/_assets/1-4.png similarity index 100% rename from src/content/docs/bedrock/bds/process/endstone/_assets/1-4.png rename to bedrock/bds/process/endstone/_assets/1-4.png diff --git a/src/content/docs/bedrock/bds/process/endstone/_assets/1-5.png b/bedrock/bds/process/endstone/_assets/1-5.png similarity index 100% rename from src/content/docs/bedrock/bds/process/endstone/_assets/1-5.png rename to bedrock/bds/process/endstone/_assets/1-5.png diff --git a/src/content/docs/bedrock/bds/process/endstone/_assets/1-6.png b/bedrock/bds/process/endstone/_assets/1-6.png similarity index 100% rename from src/content/docs/bedrock/bds/process/endstone/_assets/1-6.png rename to bedrock/bds/process/endstone/_assets/1-6.png diff --git a/src/content/docs/bedrock/bds/process/endstone/_assets/1-7.png b/bedrock/bds/process/endstone/_assets/1-7.png similarity index 100% rename from src/content/docs/bedrock/bds/process/endstone/_assets/1-7.png rename to bedrock/bds/process/endstone/_assets/1-7.png diff --git a/src/content/docs/bedrock/bds/process/endstone/_assets/1-8.png b/bedrock/bds/process/endstone/_assets/1-8.png similarity index 100% rename from src/content/docs/bedrock/bds/process/endstone/_assets/1-8.png rename to bedrock/bds/process/endstone/_assets/1-8.png diff --git a/src/content/docs/bedrock/bds/process/endstone/_assets/1-9.png b/bedrock/bds/process/endstone/_assets/1-9.png similarity index 100% rename from src/content/docs/bedrock/bds/process/endstone/_assets/1-9.png rename to bedrock/bds/process/endstone/_assets/1-9.png diff --git a/src/content/docs/bedrock/bds/process/endstone/_assets/1.png b/bedrock/bds/process/endstone/_assets/1.png similarity index 100% rename from src/content/docs/bedrock/bds/process/endstone/_assets/1.png rename to bedrock/bds/process/endstone/_assets/1.png diff --git a/src/content/docs/bedrock/bds/process/endstone/_assets/10.png b/bedrock/bds/process/endstone/_assets/10.png similarity index 100% rename from src/content/docs/bedrock/bds/process/endstone/_assets/10.png rename to bedrock/bds/process/endstone/_assets/10.png diff --git a/src/content/docs/bedrock/bds/process/endstone/_assets/2-1.png b/bedrock/bds/process/endstone/_assets/2-1.png similarity index 100% rename from src/content/docs/bedrock/bds/process/endstone/_assets/2-1.png rename to bedrock/bds/process/endstone/_assets/2-1.png diff --git a/src/content/docs/bedrock/bds/process/endstone/_assets/2-10.png b/bedrock/bds/process/endstone/_assets/2-10.png similarity index 100% rename from src/content/docs/bedrock/bds/process/endstone/_assets/2-10.png rename to bedrock/bds/process/endstone/_assets/2-10.png diff --git a/src/content/docs/bedrock/bds/process/endstone/_assets/2-11.png b/bedrock/bds/process/endstone/_assets/2-11.png similarity index 100% rename from src/content/docs/bedrock/bds/process/endstone/_assets/2-11.png rename to bedrock/bds/process/endstone/_assets/2-11.png diff --git a/src/content/docs/bedrock/bds/process/endstone/_assets/2-2.png b/bedrock/bds/process/endstone/_assets/2-2.png similarity index 100% rename from src/content/docs/bedrock/bds/process/endstone/_assets/2-2.png rename to bedrock/bds/process/endstone/_assets/2-2.png diff --git a/src/content/docs/bedrock/bds/process/endstone/_assets/2-3.png b/bedrock/bds/process/endstone/_assets/2-3.png similarity index 100% rename from src/content/docs/bedrock/bds/process/endstone/_assets/2-3.png rename to bedrock/bds/process/endstone/_assets/2-3.png diff --git a/src/content/docs/bedrock/bds/process/endstone/_assets/2-4.png b/bedrock/bds/process/endstone/_assets/2-4.png similarity index 100% rename from src/content/docs/bedrock/bds/process/endstone/_assets/2-4.png rename to bedrock/bds/process/endstone/_assets/2-4.png diff --git a/src/content/docs/bedrock/bds/process/endstone/_assets/2-5.png b/bedrock/bds/process/endstone/_assets/2-5.png similarity index 100% rename from src/content/docs/bedrock/bds/process/endstone/_assets/2-5.png rename to bedrock/bds/process/endstone/_assets/2-5.png diff --git a/src/content/docs/bedrock/bds/process/endstone/_assets/2-6.png b/bedrock/bds/process/endstone/_assets/2-6.png similarity index 100% rename from src/content/docs/bedrock/bds/process/endstone/_assets/2-6.png rename to bedrock/bds/process/endstone/_assets/2-6.png diff --git a/src/content/docs/bedrock/bds/process/endstone/_assets/2-7.png b/bedrock/bds/process/endstone/_assets/2-7.png similarity index 100% rename from src/content/docs/bedrock/bds/process/endstone/_assets/2-7.png rename to bedrock/bds/process/endstone/_assets/2-7.png diff --git a/src/content/docs/bedrock/bds/process/endstone/_assets/2-8.png b/bedrock/bds/process/endstone/_assets/2-8.png similarity index 100% rename from src/content/docs/bedrock/bds/process/endstone/_assets/2-8.png rename to bedrock/bds/process/endstone/_assets/2-8.png diff --git a/src/content/docs/bedrock/bds/process/endstone/_assets/2-9.png b/bedrock/bds/process/endstone/_assets/2-9.png similarity index 100% rename from src/content/docs/bedrock/bds/process/endstone/_assets/2-9.png rename to bedrock/bds/process/endstone/_assets/2-9.png diff --git a/src/content/docs/bedrock/bds/process/endstone/_assets/2.png b/bedrock/bds/process/endstone/_assets/2.png similarity index 100% rename from src/content/docs/bedrock/bds/process/endstone/_assets/2.png rename to bedrock/bds/process/endstone/_assets/2.png diff --git a/src/content/docs/bedrock/bds/process/endstone/_assets/3.png b/bedrock/bds/process/endstone/_assets/3.png similarity index 100% rename from src/content/docs/bedrock/bds/process/endstone/_assets/3.png rename to bedrock/bds/process/endstone/_assets/3.png diff --git a/src/content/docs/bedrock/bds/process/endstone/_assets/4.png b/bedrock/bds/process/endstone/_assets/4.png similarity index 100% rename from src/content/docs/bedrock/bds/process/endstone/_assets/4.png rename to bedrock/bds/process/endstone/_assets/4.png diff --git a/src/content/docs/bedrock/bds/process/endstone/_assets/5.png b/bedrock/bds/process/endstone/_assets/5.png similarity index 100% rename from src/content/docs/bedrock/bds/process/endstone/_assets/5.png rename to bedrock/bds/process/endstone/_assets/5.png diff --git a/src/content/docs/bedrock/bds/process/endstone/_assets/6.png b/bedrock/bds/process/endstone/_assets/6.png similarity index 100% rename from src/content/docs/bedrock/bds/process/endstone/_assets/6.png rename to bedrock/bds/process/endstone/_assets/6.png diff --git a/src/content/docs/bedrock/bds/process/endstone/_assets/7.png b/bedrock/bds/process/endstone/_assets/7.png similarity index 100% rename from src/content/docs/bedrock/bds/process/endstone/_assets/7.png rename to bedrock/bds/process/endstone/_assets/7.png diff --git a/src/content/docs/bedrock/bds/process/endstone/_assets/8.png b/bedrock/bds/process/endstone/_assets/8.png similarity index 100% rename from src/content/docs/bedrock/bds/process/endstone/_assets/8.png rename to bedrock/bds/process/endstone/_assets/8.png diff --git a/src/content/docs/bedrock/bds/process/endstone/_assets/9.png b/bedrock/bds/process/endstone/_assets/9.png similarity index 100% rename from src/content/docs/bedrock/bds/process/endstone/_assets/9.png rename to bedrock/bds/process/endstone/_assets/9.png diff --git a/src/content/docs/bedrock/bds/process/endstone/endstone-install.md b/bedrock/bds/process/endstone/endstone-install.md similarity index 100% rename from src/content/docs/bedrock/bds/process/endstone/endstone-install.md rename to bedrock/bds/process/endstone/endstone-install.md diff --git a/src/content/docs/bedrock/bds/process/endstone/endstone-plugins.md b/bedrock/bds/process/endstone/endstone-plugins.md similarity index 100% rename from src/content/docs/bedrock/bds/process/endstone/endstone-plugins.md rename to bedrock/bds/process/endstone/endstone-plugins.md diff --git a/src/content/docs/bedrock/bds/process/endstone/endstone.md b/bedrock/bds/process/endstone/endstone.md similarity index 100% rename from src/content/docs/bedrock/bds/process/endstone/endstone.md rename to bedrock/bds/process/endstone/endstone.md diff --git a/src/content/docs/bedrock/bds/process/levilamina/legacy-script-engine.md b/bedrock/bds/process/levilamina/legacy-script-engine.md similarity index 100% rename from src/content/docs/bedrock/bds/process/levilamina/legacy-script-engine.md rename to bedrock/bds/process/levilamina/legacy-script-engine.md diff --git a/src/content/docs/bedrock/bds/process/levilamina/levilamina-install.md b/bedrock/bds/process/levilamina/levilamina-install.md similarity index 100% rename from src/content/docs/bedrock/bds/process/levilamina/levilamina-install.md rename to bedrock/bds/process/levilamina/levilamina-install.md diff --git a/src/content/docs/bedrock/bds/process/levilamina/levilamina-plugins.mdx b/bedrock/bds/process/levilamina/levilamina-plugins.mdx similarity index 100% rename from src/content/docs/bedrock/bds/process/levilamina/levilamina-plugins.mdx rename to bedrock/bds/process/levilamina/levilamina-plugins.mdx diff --git a/src/content/docs/bedrock/bds/process/levilamina/levilamina.md b/bedrock/bds/process/levilamina/levilamina.md similarity index 100% rename from src/content/docs/bedrock/bds/process/levilamina/levilamina.md rename to bedrock/bds/process/levilamina/levilamina.md diff --git a/src/content/docs/bedrock/bds/process/liteloader-bds/install.md b/bedrock/bds/process/liteloader-bds/install.md similarity index 100% rename from src/content/docs/bedrock/bds/process/liteloader-bds/install.md rename to bedrock/bds/process/liteloader-bds/install.md diff --git a/src/content/docs/bedrock/bds/process/liteloader-bds/liteloader-bds.md b/bedrock/bds/process/liteloader-bds/liteloader-bds.md similarity index 100% rename from src/content/docs/bedrock/bds/process/liteloader-bds/liteloader-bds.md rename to bedrock/bds/process/liteloader-bds/liteloader-bds.md diff --git a/src/content/docs/bedrock/bds/process/liteloader-bds/plugins.md b/bedrock/bds/process/liteloader-bds/plugins.md similarity index 100% rename from src/content/docs/bedrock/bds/process/liteloader-bds/plugins.md rename to bedrock/bds/process/liteloader-bds/plugins.md diff --git a/src/content/docs/bedrock/bds/process/plugins/_assets/levilamina-is-coming.png b/bedrock/bds/process/plugins/_assets/levilamina-is-coming.png similarity index 100% rename from src/content/docs/bedrock/bds/process/plugins/_assets/levilamina-is-coming.png rename to bedrock/bds/process/plugins/_assets/levilamina-is-coming.png diff --git a/src/content/docs/bedrock/bds/process/plugins/_assets/levilamina-will-archived.png b/bedrock/bds/process/plugins/_assets/levilamina-will-archived.png similarity index 100% rename from src/content/docs/bedrock/bds/process/plugins/_assets/levilamina-will-archived.png rename to bedrock/bds/process/plugins/_assets/levilamina-will-archived.png diff --git a/src/content/docs/bedrock/bds/process/plugins/how-to-load-plugins.md b/bedrock/bds/process/plugins/how-to-load-plugins.md similarity index 100% rename from src/content/docs/bedrock/bds/process/plugins/how-to-load-plugins.md rename to bedrock/bds/process/plugins/how-to-load-plugins.md diff --git a/src/content/docs/bedrock/bds/process/plugins/plugins-loader-choose.md b/bedrock/bds/process/plugins/plugins-loader-choose.md similarity index 100% rename from src/content/docs/bedrock/bds/process/plugins/plugins-loader-choose.md rename to bedrock/bds/process/plugins/plugins-loader-choose.md diff --git a/src/content/docs/bedrock/bds/process/plugins/plugins.md b/bedrock/bds/process/plugins/plugins.md similarity index 100% rename from src/content/docs/bedrock/bds/process/plugins/plugins.md rename to bedrock/bds/process/plugins/plugins.md diff --git a/src/content/docs/bedrock/bds/process/process.md b/bedrock/bds/process/process.md similarity index 100% rename from src/content/docs/bedrock/bds/process/process.md rename to bedrock/bds/process/process.md diff --git a/src/content/docs/bedrock/bds/start/basic/basic.md b/bedrock/bds/start/basic/basic.md similarity index 100% rename from src/content/docs/bedrock/bds/start/basic/basic.md rename to bedrock/bds/start/basic/basic.md diff --git a/src/content/docs/bedrock/bds/start/basic/server-dir-structure.mdx b/bedrock/bds/start/basic/server-dir-structure.mdx similarity index 100% rename from src/content/docs/bedrock/bds/start/basic/server-dir-structure.mdx rename to bedrock/bds/start/basic/server-dir-structure.mdx diff --git a/src/content/docs/bedrock/bds/start/start.md b/bedrock/bds/start/start.md similarity index 100% rename from src/content/docs/bedrock/bds/start/start.md rename to bedrock/bds/start/start.md diff --git a/src/content/docs/bedrock/misc/_assets/dragonfly.png b/bedrock/misc/_assets/dragonfly.png similarity index 100% rename from src/content/docs/bedrock/misc/_assets/dragonfly.png rename to bedrock/misc/_assets/dragonfly.png diff --git a/src/content/docs/bedrock/misc/allay/allay.md b/bedrock/misc/allay/allay.md similarity index 100% rename from src/content/docs/bedrock/misc/allay/allay.md rename to bedrock/misc/allay/allay.md diff --git a/src/content/docs/bedrock/misc/allay/description.md b/bedrock/misc/allay/description.md similarity index 100% rename from src/content/docs/bedrock/misc/allay/description.md rename to bedrock/misc/allay/description.md diff --git a/src/content/docs/bedrock/misc/allay/preparation.md b/bedrock/misc/allay/preparation.md similarity index 100% rename from src/content/docs/bedrock/misc/allay/preparation.md rename to bedrock/misc/allay/preparation.md diff --git a/src/content/docs/bedrock/misc/dragonfly.md b/bedrock/misc/dragonfly.md similarity index 100% rename from src/content/docs/bedrock/misc/dragonfly.md rename to bedrock/misc/dragonfly.md diff --git a/src/content/docs/bedrock/misc/mcpeserver.md b/bedrock/misc/mcpeserver.md similarity index 100% rename from src/content/docs/bedrock/misc/mcpeserver.md rename to bedrock/misc/mcpeserver.md diff --git a/src/content/docs/bedrock/misc/misc.md b/bedrock/misc/misc.md similarity index 100% rename from src/content/docs/bedrock/misc/misc.md rename to bedrock/misc/misc.md diff --git a/src/content/docs/bedrock/misc/preparation/preparation.md b/bedrock/misc/preparation/preparation.md similarity index 100% rename from src/content/docs/bedrock/misc/preparation/preparation.md rename to bedrock/misc/preparation/preparation.md diff --git a/src/content/docs/bedrock/misc/preparation/text-editor.md b/bedrock/misc/preparation/text-editor.md similarity index 100% rename from src/content/docs/bedrock/misc/preparation/text-editor.md rename to bedrock/misc/preparation/text-editor.md diff --git a/src/content/docs/bedrock/misc/preparation/websites.md b/bedrock/misc/preparation/websites.md similarity index 100% rename from src/content/docs/bedrock/misc/preparation/websites.md rename to bedrock/misc/preparation/websites.md diff --git a/src/content/docs/bedrock/nukkit/history.md b/bedrock/nukkit/history.md similarity index 100% rename from src/content/docs/bedrock/nukkit/history.md rename to bedrock/nukkit/history.md diff --git a/src/content/docs/bedrock/nukkit/nukkit.md b/bedrock/nukkit/nukkit.md similarity index 100% rename from src/content/docs/bedrock/nukkit/nukkit.md rename to bedrock/nukkit/nukkit.md diff --git a/src/content/docs/bedrock/nukkit/preparation/choose-and-download-and-install-java.md b/bedrock/nukkit/preparation/choose-and-download-and-install-java.md similarity index 100% rename from src/content/docs/bedrock/nukkit/preparation/choose-and-download-and-install-java.md rename to bedrock/nukkit/preparation/choose-and-download-and-install-java.md diff --git a/src/content/docs/bedrock/nukkit/preparation/preparation.md b/bedrock/nukkit/preparation/preparation.md similarity index 100% rename from src/content/docs/bedrock/nukkit/preparation/preparation.md rename to bedrock/nukkit/preparation/preparation.md diff --git a/src/content/docs/bedrock/nukkit/preparation/text-editor.md b/bedrock/nukkit/preparation/text-editor.md similarity index 100% rename from src/content/docs/bedrock/nukkit/preparation/text-editor.md rename to bedrock/nukkit/preparation/text-editor.md diff --git a/src/content/docs/bedrock/nukkit/preparation/websites.md b/bedrock/nukkit/preparation/websites.md similarity index 100% rename from src/content/docs/bedrock/nukkit/preparation/websites.md rename to bedrock/nukkit/preparation/websites.md diff --git a/src/content/docs/bedrock/nukkit/start/basic/basic.md b/bedrock/nukkit/start/basic/basic.md similarity index 100% rename from src/content/docs/bedrock/nukkit/start/basic/basic.md rename to bedrock/nukkit/start/basic/basic.md diff --git a/src/content/docs/bedrock/nukkit/start/basic/server-file-structure.mdx b/bedrock/nukkit/start/basic/server-file-structure.mdx similarity index 100% rename from src/content/docs/bedrock/nukkit/start/basic/server-file-structure.mdx rename to bedrock/nukkit/start/basic/server-file-structure.mdx diff --git a/src/content/docs/bedrock/nukkit/start/nukkitmot/description.md b/bedrock/nukkit/start/nukkitmot/description.md similarity index 100% rename from src/content/docs/bedrock/nukkit/start/nukkitmot/description.md rename to bedrock/nukkit/start/nukkitmot/description.md diff --git a/src/content/docs/bedrock/nukkit/start/nukkitmot/nukkitmot.md b/bedrock/nukkit/start/nukkitmot/nukkitmot.md similarity index 100% rename from src/content/docs/bedrock/nukkit/start/nukkitmot/nukkitmot.md rename to bedrock/nukkit/start/nukkitmot/nukkitmot.md diff --git a/src/content/docs/bedrock/nukkit/start/nukkitx/description.md b/bedrock/nukkit/start/nukkitx/description.md similarity index 100% rename from src/content/docs/bedrock/nukkit/start/nukkitx/description.md rename to bedrock/nukkit/start/nukkitx/description.md diff --git a/src/content/docs/bedrock/nukkit/start/nukkitx/nukkitx.md b/bedrock/nukkit/start/nukkitx/nukkitx.md similarity index 100% rename from src/content/docs/bedrock/nukkit/start/nukkitx/nukkitx.md rename to bedrock/nukkit/start/nukkitx/nukkitx.md diff --git a/src/content/docs/bedrock/nukkit/start/pm1e/_assets/controversy.png b/bedrock/nukkit/start/pm1e/_assets/controversy.png similarity index 100% rename from src/content/docs/bedrock/nukkit/start/pm1e/_assets/controversy.png rename to bedrock/nukkit/start/pm1e/_assets/controversy.png diff --git a/src/content/docs/bedrock/nukkit/start/pm1e/controversy.md b/bedrock/nukkit/start/pm1e/controversy.md similarity index 100% rename from src/content/docs/bedrock/nukkit/start/pm1e/controversy.md rename to bedrock/nukkit/start/pm1e/controversy.md diff --git a/src/content/docs/bedrock/nukkit/start/pm1e/description.md b/bedrock/nukkit/start/pm1e/description.md similarity index 100% rename from src/content/docs/bedrock/nukkit/start/pm1e/description.md rename to bedrock/nukkit/start/pm1e/description.md diff --git a/src/content/docs/bedrock/nukkit/start/pm1e/pm1e.md b/bedrock/nukkit/start/pm1e/pm1e.md similarity index 100% rename from src/content/docs/bedrock/nukkit/start/pm1e/pm1e.md rename to bedrock/nukkit/start/pm1e/pm1e.md diff --git a/src/content/docs/bedrock/nukkit/start/pnx/description.md b/bedrock/nukkit/start/pnx/description.md similarity index 100% rename from src/content/docs/bedrock/nukkit/start/pnx/description.md rename to bedrock/nukkit/start/pnx/description.md diff --git a/src/content/docs/bedrock/nukkit/start/pnx/pnx.md b/bedrock/nukkit/start/pnx/pnx.md similarity index 100% rename from src/content/docs/bedrock/nukkit/start/pnx/pnx.md rename to bedrock/nukkit/start/pnx/pnx.md diff --git a/src/content/docs/bedrock/nukkit/start/start.md b/bedrock/nukkit/start/start.md similarity index 100% rename from src/content/docs/bedrock/nukkit/start/start.md rename to bedrock/nukkit/start/start.md diff --git a/src/content/docs/bedrock/pocketmine/description.md b/bedrock/pocketmine/description.md similarity index 100% rename from src/content/docs/bedrock/pocketmine/description.md rename to bedrock/pocketmine/description.md diff --git a/src/content/docs/bedrock/pocketmine/pocketmine.md b/bedrock/pocketmine/pocketmine.md similarity index 100% rename from src/content/docs/bedrock/pocketmine/pocketmine.md rename to bedrock/pocketmine/pocketmine.md diff --git a/src/content/docs/bedrock/pocketmine/preparation/choose-and-download-and-install-php.md b/bedrock/pocketmine/preparation/choose-and-download-and-install-php.md similarity index 100% rename from src/content/docs/bedrock/pocketmine/preparation/choose-and-download-and-install-php.md rename to bedrock/pocketmine/preparation/choose-and-download-and-install-php.md diff --git a/src/content/docs/bedrock/pocketmine/preparation/preparation.md b/bedrock/pocketmine/preparation/preparation.md similarity index 100% rename from src/content/docs/bedrock/pocketmine/preparation/preparation.md rename to bedrock/pocketmine/preparation/preparation.md diff --git a/src/content/docs/bedrock/pocketmine/preparation/text-editor.md b/bedrock/pocketmine/preparation/text-editor.md similarity index 100% rename from src/content/docs/bedrock/pocketmine/preparation/text-editor.md rename to bedrock/pocketmine/preparation/text-editor.md diff --git a/src/content/docs/bedrock/pocketmine/preparation/websites.md b/bedrock/pocketmine/preparation/websites.md similarity index 100% rename from src/content/docs/bedrock/pocketmine/preparation/websites.md rename to bedrock/pocketmine/preparation/websites.md diff --git a/src/content/docs/bedrock/super-basic/_assets/bedrock-core-running.png b/bedrock/super-basic/_assets/bedrock-core-running.png similarity index 100% rename from src/content/docs/bedrock/super-basic/_assets/bedrock-core-running.png rename to bedrock/super-basic/_assets/bedrock-core-running.png diff --git a/src/content/docs/bedrock/super-basic/_assets/nukkit-core-running.png b/bedrock/super-basic/_assets/nukkit-core-running.png similarity index 100% rename from src/content/docs/bedrock/super-basic/_assets/nukkit-core-running.png rename to bedrock/super-basic/_assets/nukkit-core-running.png diff --git a/src/content/docs/bedrock/super-basic/_assets/pocketminemp-core-running.png b/bedrock/super-basic/_assets/pocketminemp-core-running.png similarity index 100% rename from src/content/docs/bedrock/super-basic/_assets/pocketminemp-core-running.png rename to bedrock/super-basic/_assets/pocketminemp-core-running.png diff --git a/src/content/docs/bedrock/super-basic/_assets/powernukkitx-core-rip.png b/bedrock/super-basic/_assets/powernukkitx-core-rip.png similarity index 100% rename from src/content/docs/bedrock/super-basic/_assets/powernukkitx-core-rip.png rename to bedrock/super-basic/_assets/powernukkitx-core-rip.png diff --git a/src/content/docs/bedrock/super-basic/_assets/powernukkitx-core-running.png b/bedrock/super-basic/_assets/powernukkitx-core-running.png similarity index 100% rename from src/content/docs/bedrock/super-basic/_assets/powernukkitx-core-running.png rename to bedrock/super-basic/_assets/powernukkitx-core-running.png diff --git a/src/content/docs/bedrock/super-basic/protocol-version-number.md b/bedrock/super-basic/protocol-version-number.md similarity index 100% rename from src/content/docs/bedrock/super-basic/protocol-version-number.md rename to bedrock/super-basic/protocol-version-number.md diff --git a/src/content/docs/bedrock/super-basic/server-core-choose.md b/bedrock/super-basic/server-core-choose.md similarity index 100% rename from src/content/docs/bedrock/super-basic/server-core-choose.md rename to bedrock/super-basic/server-core-choose.md diff --git a/src/content/docs/bedrock/super-basic/server-type.md b/bedrock/super-basic/server-type.md similarity index 100% rename from src/content/docs/bedrock/super-basic/server-type.md rename to bedrock/super-basic/server-type.md diff --git a/src/content/docs/bedrock/super-basic/super-basic.md b/bedrock/super-basic/super-basic.md similarity index 100% rename from src/content/docs/bedrock/super-basic/super-basic.md rename to bedrock/super-basic/super-basic.md diff --git a/src/content/docs/bedrock/super-basic/version.md b/bedrock/super-basic/version.md similarity index 100% rename from src/content/docs/bedrock/super-basic/version.md rename to bedrock/super-basic/version.md diff --git a/src/content/docs/bedrock/waterdogepe/preparation.md b/bedrock/waterdogepe/preparation.md similarity index 100% rename from src/content/docs/bedrock/waterdogepe/preparation.md rename to bedrock/waterdogepe/preparation.md diff --git a/src/content/docs/bedrock/waterdogepe/waterdogepe.md b/bedrock/waterdogepe/waterdogepe.md similarity index 100% rename from src/content/docs/bedrock/waterdogepe/waterdogepe.md rename to bedrock/waterdogepe/waterdogepe.md diff --git "a/src/content/docs/general/_assets/\345\260\221\344\270\234\350\245\277\344\272\206.png" "b/general/_assets/\345\260\221\344\270\234\350\245\277\344\272\206.png" similarity index 100% rename from "src/content/docs/general/_assets/\345\260\221\344\270\234\350\245\277\344\272\206.png" rename to "general/_assets/\345\260\221\344\270\234\350\245\277\344\272\206.png" diff --git "a/general/advance/_assets/\347\224\263\350\257\267\345\237\237\345\220\215/1.png" "b/general/advance/_assets/\347\224\263\350\257\267\345\237\237\345\220\215/1.png" new file mode 100644 index 0000000000000000000000000000000000000000..58826b4d3fdcce016970fb82c713289ba049b417 GIT binary patch literal 17291 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 literal 0 HcmV?d00001 diff --git "a/general/process/_assets/\347\256\261\345\275\242UV\350\264\264\345\233\276.jpg" "b/general/process/_assets/\347\256\261\345\275\242UV\350\264\264\345\233\276.jpg" new file mode 100644 index 0000000000000000000000000000000000000000..80357a70ae8beca33a6187aaa99c5eb4b6ccc56f GIT binary patch literal 6391 zcmXv|1ymGl*Ic^0yFox2=@z7ODd~mLGCxq)}QH`0@SEcb{|a z%$=EY?*jk;Xl>lQA?6++8^CM*LompO2MjW|QI+PAd6iDU)^6tiyw{?$vvPF#e+mFV zK$dR*lTmj5PM008dw{p$cY0sw$y@0Gs+fj<3r^goCEb+Cs2 z7kvc0006FMYA^}0b=Ks9cdi@w896S{9RXqh;nY-Zw z(9ub4*xL;e5&6k+d1twBrvM?SbW+W#RbUgfbyLPC$tRxQ<E=FIc`p(;b~Aj%7L7VvxmcY|Jy9Xltc$qQFr#lmCZERE5C~7M+)Pyso?woILo&!?0m?eCExVVOE?;*%l}p(TVpB_R zRODUuq@CT$G}rHVnxtGA?GGwz1r<0`#y^>7A$Pg50Z5j2jt)!G34xz!x1rg z!@*-%k*5mx?LJ)Jk&%s9XQYM)f50Vcd6@U+tp(^Id>-Z|t#w~|wk4v!KtQP50vxn3 z_pff0&$Ba!dBI#Pil?*&2q*ke28bB_r}nmP87{yykBjS@f@cQuDtv=7fJ0Js%%$e1 zv^WRjl<^|ktjWik$mnLZqEvV9s)gqJ!N2^F=i487KclG?b**8&Jo2S33bC8XZ`dbV zn{9yaT=}G=Y<6q0Wpk&6FQkW+LX=qd z#=RTmm3W;a1RQRm%90{d`Xb8=tr=C-m@28Z!ZK`VN;JBG zv>xXo?~{()`kVK)msd*4O2YTQeRzXE{4QRlvD@A^+|NTjlREr>tyeu)Ja^i$gysGN zOFFH^Gb-K(P4V2rWk;Vo91Mr3K-lf!xYmksr+!o6_2nV7W2ak3DhW1e-Tu5=@46O= zx&sYC!%t23AmC{cajDYYY(ngpP5mRz(@I>(rJkAml4(HF{Z<8ue4wcQ3Ty){{{6r> zgi(y|eXmTw_2oi-dH`m1cLj`31lYbIKrXnepF+(0HL(GOjiJY~*dZ*0YX89Xn2OvB zk;nS3yqT&PZjGfC`D{7mTjY)DW8KP9kR};SgRW{3ghup?WpfsAA71r$-1e5LUA%ej zZJPK=abp*}scL}uo|z=^i6L1@3(NiL-uMD8@-^3}H$-LnVkM4MYvRrMi_53?$tD<^rkvyN;uhQDqNSmZ1S@1roHk*Aam7k|+cr~7Qd zn!7MyGv_1m#K8P_o6_FL>qu@GLp%?IDUoxZ>7@Lg*&;P~BM$VL;H1ugr^Vo9i@+X| z>T*M06vLHdUv9VCSNN@5wPr&l?Z%vvsnIvhoqH%T*56o`SL@;w3=I|2U^|Y10N(bM zpRCxflIE5A&Bj)mDg(+&c4bgIeMjVV>07d<11EP_wq7-}@87GU8+Li~9O-Y5d5F zCor8~HsiO>#1yT3bz3VXIRgzD%wI)D_ z*P(rOrRB*VY}QUb8xzjOz*q&MjK(cnZ>J;&FL0Bcj+*j|6>caiRW9q#2wdJ#>Lk*L zIh`>JeD?c3GsE-qXI^AFEtdT*>^ga`CtdY!P%g+L)mkr@FDntfhFa&_ELNs657!=Z zQvH1@S!J#8lY7jd5VEYJGE82BJg)Yzzj5=Wn}k&mQSIoo-;*$oK9nmr=BT^Ab0x;t z%Zt_mg|Ggxs7qNR%ff+~;!f|myrwrCKbPar{;sk9xVxNQiu-w=eBNk}s=J^6 z`G}-3u=Ic63TgHR<>20G#7RK8=DhVSyl1Lt{)OXa~DMm8*Kiv0*hmf*aObfbt{+z@@2 zEfxybOhV11NW=6SVx{H}mLxC3uUhhuF;;TOpdLGK)P&Ck0?cCr-~ z*0wn{^8WXIs`lHi8p)Hcfk%Jl57DDs{}e7@-eQaQNfLPyOgo?8iE!%HQWyV-l zf5)W4TWvzSwKm);ZocPmj@Ob@7ftu z;bY{#n6(;}X5!LAUCKF5)gx~o4*WV7(c(B0`0kP%Ye-O*ruteMk~wj1*bNGQZZ z5}bEHjR*Rv!FIe=dOsqYTZ}F3%c6O*HZCPIeOSt*<(Td8Om6pt2(5I2i^9J?HU(zw z1fz5sugz_uZew`6T8die7%f-l=T8s! zmZpBmR8)Xuite@|r3Il>gxBQ0(+2?@HsT}u#FU?7n2sFz5oei8HBZl<5wB495`iMlZ7P)fAG8J@`Q{$&T>7OlhvbG+24N0`NLY~dUi?Y zQliS^k<5G3IAu+)1^Aa}7w6X<(@qT>S++(Vt3UJBZ}2*aNb)-d6D71;!kE4dC7av# z=>d}(l`&WfMQPXH+ca;9as92nw%cy{qvYWYK~<6V-GGoXlT03zOT=6rJnzdp-3@9y z7MflkSa(p>;xvdM-qmXSp)IW!ohA3g$(hX>{VknQDhB!dD{3~)lB`NGc~q!Hb%j(y zfzKcnQz=t(M4g)Tg>++m%+*Z4k`XYmY70EK2|AWvh6DjPmT5tWu~f1Mg00yk@)p|G zw$;tkL{roLn+2i)@-0ap+|;;DX-K#`cUQ`dYPh_!<=XuinJ_6k(<`_M;v4|&skEiE zpQEiAr8Cx}1W3dm?{5@6Rb*EY4n@b|J=q&L6K9rcf~A1Ix1QOMiiLg*|E-oN(+a4d zp%l_b8GqJC|K#4x<#d*ZxPMV4|bIdK%0*%cz*xCe!_SOimWJzAzC7QSrW#x70DrT^*}S z&%oeToWm z2Un`q(Vnb$^gU%3eAXr2CyTCiM64^ibhsGpmz)GJ(N~{%QvUrYBX?5JLZ>Uoh&`nm zWTC2+Bus^Ng<><{1U4GaUN>W9wGeRd78xzv?DLCBejt3nu7eSNQ9>=}nx`;-8)xy= z$#%M}DCQ}&hQyyLtoNGKN1}Ouiv-SB8r3~b+boXK@U9lOaI(ZtaNKcjRrc7@6!sTm z*BU?Ut{~!B2e+5o%YL6_1g`U&>-%5kc=NtoB1OCA$Fv#~LV1k9UX*dTZ5mUoQ+v_n zJ9Nvgq=;gP_I8S0YvJtsTNPK5P}ZM0n#U$=-YW^@arUyXSFkdH`Aa|)Fw`2gY$ zeI_c}MR;CRJCE)5#T=Z7sAFterN5s<1pEah!v2zBlgt(4oFl|Wn%fM33Q zJq3!#ueFi=iuFcuAfjAV2o)5AuesVvkty=v34;F8k=oe1(a{uvN|hGlb!L~$DosY1 z9}a%Sh<5oR%Emg-YJd3QE?h_fXjPH3ij03;QjbApH5z#?gY!5URpfnc~6=4SCH-J z+MX~(#?FgbPt1u+1c^#%$_J#vVHdI*&tvTsaJBWEcIS4wJZA7@SD17F`yL~!tc$}` z_U5j-zfPCr2$P|ACLnx@dlCb0{;(d`;+3G>4P}J{py@x~gbvviQ}$fajW7t`WXYdU z^2NrING`Pp9#P=QhNm^u%K@fK=}H31GXqR2#M6tD8C%r6#NUzNVSH^gqrVwyo?gx9 z#Kpc0%zXe0&CQZ1ie{z?!7E9Vp5b}TqppdXWlHc_IyBGLBvicH zx{G4ICrXgmwvxfznD>~^vw9{Pm|HNoBuesnKn1U|vWuP>g^FoU_vHSLyv7m)$8gSh z%#%$re4@?MvkOLhXES9}rb>VSY0B?~}Ft0i&AHm(FE zsl(|8zv0rLg_yjmcj3gnt<0H~0c{(wUWUQ*fr1;VHywTYw(xgC(6UPhV6B0I5D49t zot-YU10L^&_F`v2MsBKPG)3B-*f&;}r-0+P!D3qB-Q&$0ar6_tzuF6EmTFen<{;IDvx0`iI#$b->0Il1gH6l_wnm3zKI`ADg1W#l zTV%Liu3iT`s*H&F(OLQ*>2ip>-Kp`nOiw)_Szw3fW3a+*VM9wSZC_CPx#hG(iyyOMy z55TpE+3BU5GHtJL9^{?$mOkx+s(WH(MzslXrFDRGvL#YWIM3me|GmI>>I4)ecn6io z`iPk>D(vZ)+3G)#Q)Hj31kGHl1iv*4JqJmx%8x83v%31!o-;uqUFcThOTsU8f~$)9 zhX)SyMce8eFpuS=+7|IGounGuB&J^~=x%j1Y}K)7u^p5AL+RfPXnI^^&?Tb|#WA8^ zRxz)XWEr{ba<;lpmcFx8Ml?R-rt&6+jO$1h-y<3(w}rmP0ISjc!1D62Z)>XNslokD zf2y)4rH-?KM$T#ikF6}T3{=WM7!$2`(yI**%4OP?(+&R1MCxPTLBIIG9~q;k>lovE zWO%(j6EPuIx60~c)BY)^1Yt|8LN*etD_q^xp?-U!5Zmk$?5g62!qOwBn%4iL&56H@ zZR*chQ?iB`#s>6AwMNOE^sNP0<2X3>?HPO?jfwdnv=6gYbMskLj7nSuvbWkWpZuo~ zSZ#@?6M6E&vJAF=W7PtC`1@9seYWxeWwfiE(;!Wkh)dQTlaMPWweGf={=eHOo}4pQi;U@A(jw{Q+#rERXc{5+b@h0K|$weJv- zIN@^r?qc+l>D25adN$5{i`UN`Ae4cSfQ7E=o-G@NGyN#b84AC%Li#nPp^R#o|7U)6 zP20{2#hgI_EOqQ-J6*Ny)w6|v{wSwjh|QPl+PtcNmO}hmkg;@LZ3Kf6z-ccRUR~!FsB34uel17FiOFE& zZnm&{Zfml^hmCxgg4J@oer|MimTH*8J9HD=!15$PQVvSBddoTeXM{Bm*6kI|?usMZ z5Q^Dkl~#R0>`dtg!-#p;0gDlq4+nz=)rdJbZ(|*GH}(BLV{}#E!*O_$S{cdVZWjku zEgf2DP+n{~*`G|&rWARhPn~SDk7A!*$JhB*!_9_Z+xDJ|&N$0cxR2*Rz%6CL2?>GK zm0A$Y0ej6&z0}aTi>HzW#en@@OCPkhQHp2^;gV=0BLd0y8OZ9gl(lRq2*`2^j;b~V zJ!!iKlUo`04fMcj0gUS zZ#2WW!Du;!{@r2nG=S46VBHnd9xKYRA*UdrE#$&iMXO}PD)QJiX*#POY z9}y)S{ozoO&93{r@K!z$o0(b?1Mz(458FmMrFxh@(mWy`R7<)P8Pg_q#=rst|99qA zG`%luLT@i)^&4NMY_#ylV*428t%HYE|JysRfw5<(Tc&vaJ9qs9v8qYrvhDfMY@XXn1c?OfI^eIV{^5+HTb4VFZFYTIfT0L4o2;xPU;TnYJDfam^Ust38o~)(-9HoN)>la5Q zQeZT;uNey1%AwSGQAGX&IwMTCHv>?mI42=-snynQ7~bbQo+$M}g`|{GD+eDlKB`#K z9-HBhzAT{-U2zu!la2JvOX_ZsJ{n&~n15)YIC1_QeNxhLN=hEH9*qT~uQkM)Z*v5x zcmz^D>oy!|#s67EOEdycak;Dxk^g!hBjID|-zQWuu#;{#dOK2yWZ%z2>>c>LA-<11 zRuv1CHQBZTP3u5vZGQb3h%W#@1^Xq*%xLsG<*VE}y#YC!vfN6w&p__>1^x+X@jJymnMPoJ9ZpFK4L1O!B6 z?&9fav|Chn}7np(kC;q1~ za${r?ajiLJ-Kli`6N{QpsyR*rT?|KaK>#E<*)W`(| z2nGiGm+!+47#J%K5_7o~nj8=mQ6L)73&C3zg~H2;f_3XR&m*LsB;B+IxbnxYLXF55 z6K4htRRY1GCorCsIDvTgqW-h4jN!^aFXAW3Ouhs|_{7C0DXsDtu7rl~O9v5UB*d{1E zseU?iYSM)vFa3x`+S(lw$eum5!Pv0|geN7gUp2{u$^nv$euo@_%7O6QP_2;Lds|oD zh&N<9^h?JlCbfdy!@fBb;HbJ=+4!YDEM<%v&<%@LC~U3$;&El^cX-(cnUK^hE}^tl5SDT{bl0KE79MxZd_E3{p#s z7)Zg-Rq=iL0lwVZbW|g6`L`K9p?NM{4+Z8B`)vsMRGtfeDN-%x`Be!0#b95JfNtPj znt=s$`&h`ZlhUFeGkAU{L&P@g;~tWKounbzb~Ln}n-t*Ly4z^06Le3^giK<=z*n7h z9vq<7+osYR1%k#0xpH4;&?-Nv$tE=m^8DhZ+^7G3qG<;EgG0>r31vuOD4P+J2`6XA z0D$MeMIl@DlR7~UvSRFIvoTODk%%CH9X_ji&bEnqacvD2CU!&dihzS^GdvjT10*T* zyp2ZeA%8h5fhYeC-1SVHpIJyw_vMUr83+hE$cj+}9?l1L4NDY#jHoGP0VSDVLI@X1 zAGHij@P;5vv^rn_dBGMl2x+|64GM)W?(wbMy{t`D`)$S3$G*N5x#|`L!5=^Z)S=_4 zWU&_j$IJzC{0EsLa5aYK+_LLz<%@>UHNwS)`z`IhiM3!8im3JF(HBy@$+r%!TouN( zXS~urZlh=@_mZNoDb*>K1UD9Kn~^^x~MimrSDOjE!19!t{_uR_Yz`IEqk>2XO9 z3e8ZaAl(sU(U$|fdy98J#vU!H*a(=xKN^`uY`mB%KuOPxmJr~K+8BqBqBTquK7vUa z%y0mbdRr&V>jvrkgDsF@2w9Izgvr)^0He~a+?@2Xtl7|2r9*QMB}_7|66SXgsIzF- zpwT#~f;!P%ZE{yQ1c8feL9z5AA6Xb7x8@(0{Fu_bi9Dy(UXH+Is!?|VY+l@R75f{( zLiQBx4vS%Otu<4}&!z0bp_WKqPS%;s#cMAluy+wZrp_3%A%)Zr(Hr2iH$uZ5dKgNL-@^zHZvZ2o`kq7gLr$V^{Mrd$8yW$c&E_>!C+F3+R zxwIxZx+FvQU1m}|*1;&A+*;;@BUDzMG5DIEtPsTxY^6;e&~cxQ|hGe)L@u#eghIx}Jsn~aO z8mNa3E-T-O%Zcx!7P0&xyjoW6@6tSGgM^MdjgnLo=-cH1j3aI}v$^kj&kl8^bK2_n zY1~N;)i++*Ed1~m)=`~EIyb#t0Zi7c&-BaexDN7Ju6L2{n+HCiu~je9%lw%NJpKxA zRuMS_ZfZvHr)PObRnUpoHrSd43U@-Rn~-5$J3`Lq-gB~P6<~#CGURZw>zQJ-g+}nc zYgHSv4Gz)yWrWt-^QxUK1Hit|QF@K9)*izq#pWs>B-6qi?DD!=rs;p=5Ir8kAE9PW zXIAsoN1R%8_*rbaeLVXAjBs*ikmOJ65XStv!jRHMqTn~ST+#kJD$bfHTsh7BnruXc ze7s@8r);-f8ePE~T}!Nj!p==XwT$2XCO0w6O@BG>+Mg|d%+9su&L&-19rm7NdjaEXo>`s-nKyTXp_$I7npq3w zT<}W{M+3%ocd10Pd)&MxZS)SkKwA)zg#vxfzeyz)ORgr^GoaVf5>5E1#>;5>FpE&Q z+qao!*U@}#_tc?Yqm6s$>?Jh6by=W8+=crOWI>@myS+kLp3@COP(Yb`4p+jP(`J#6 z8Mmg;n^RT4IJseU_#c5t03OZ8t?54XvHdpAB=>wl2>#sF8O(rE;jH)+GWKn1FKB!k z+F>GR9m$@RySzXd%Jq6YxQCT)n2l*_MV1-0I@miX{Ds(rWSD)(SkRaQOBIxtl#M+j z`gbQ2>Zh5r6nLn<9~y(+A5bQBm+s+_=ro@=K2I`(2 zffM66>4xHpt!?9#^Ma;98pV z;Wgap3bVQCEc`x=xS%tY?%wPsvxHS~9|jP{72{j*7+4Or(EfFXkv?S{-f-V))K=O6 z@!FuvY6mX!C$5R1J!syfrBG=+yUKSw=nB75dB(azVsn3iCtUtYA(vNY_0hfiGF9a3P`m#p)&2sDW^VC)kZ}< zfPQ*Z{82p5BU=W?FL0gWyJjSL{dQ(9BP(I_ujDh&BR|it<4-(xm}t{DqunN{)#q-S z((pj*f||-?sXhDR9#IvPwRTvHMv6PvCKIX+eOnT;Vmz4K$*OusB-xg`$7pFoE+-0i z?X=B+J^&ZzoQyPr6rsT`RX<3Hyyf)%1*~ITM`I}DZ;vD}@@aShHN;(>Z5vI+tSZsl+tzbOpAo}Gi759DNU0L`&i$Q;-226T1a^F@FkpSlBB4# zzBP^diA?F>MBaVyu8{_hAS|2Iw|hW{!LSbIO))A!N3d=4i1gX@6T%HHPwlcL7kKa> zu0i=5HsEau-&O=B3{*>u{BMFVH6T_!>^3vzZla#%f$c~IGw1uU%End^#ePj@p{f6ivw`0?O4@r zd_at9Y_3}_4V6}FuVZ-`|4_%f6CET-TxBbJpL%Qsm@+@AdM9+?!I=@fIA+=?!l*bN z74yB@J<}K=>h8bJwV}<+S9m`3vE2n0D2Rj_;1g8fOGuWc6S->hq<|vI;0sM2n5?2V z*uTs5g5)FxIf)i0J%+K# zDfdIq`*g#OEWnepVU61C+A@72-XMK|C<*QO=$wd^n}yC+D08E=zztOu%h z6|3JthQtt;N2aKv&w)y1>rm%bT9;XX-vlX0G|}Eo!!&2~lnmm9M@<-KxC#lhY0KT4 zRzxFbQ+=vmlV(cojX#7st_#@0)wJ9ktEUdLVf$GbrRySu`w5Lcv7?y1=~J()2UG4Od;t6*zN!&o=D`4Dz(m!N0#4El0MnkOogfh;}%V&{BHDD6#uF` z^rdWQI>v2b8! zi1p1yr+)9pz@|F)#C`=pIZrRA+Cw%XkXZTSMC2iyx80!iU z!JWE3d=8v_@^cWw+<3URpRW0h4CsqEqSNi4ohjen*4^-POWK zGpe$vBj*fDKO$1P^~RupgZZ3W81I@nwljB_`8#LFjSpnRna? z4VvCt3}L2TjydHlags(rl(E#3Ph677O{Hw&yntBS?-0S-dreo%@%L=#g*ju}w4F*1 zjSY23{jrIVsb~a84g&M7 z?sarX>hkoL1}2Tg!h$Sz018n7_2JPj2c(Ot!O+ywMd#M0Uy~`yA`Y1Rh;5&}<$bB- zUr|3|2>YIQoa^6&RIAtNZjaHDw12R&O8-3PC|&Y+5u464V=2&j`orbP(j{h!$;mdZ zr-BYGflRuZn*^xWD+V8RVpNPt2JF!RR?%P13P*jtK|v{TiiD;kaQFUV5RW2{X~Mnb zR%&1H*lZSqD!2wFlYJnlT)`l3KqkMt zTY}HAO&#N=YgUpcFN_3lr9au1wDJLzcOk_S(~ofP4y+ujV5!{lqG0SHylPMB^mHuu zP&d;LY;OUXt}BXpiWTUO=%Pon;{DgC5TRL6K83CIDR_Qh5zI_$Db6k3LhjK}mac~| zKEs6S0nVo*MKNuqB^@tW_Ao}9T!QYwmQyW~Uw(|vtJQ;CLanQFXt@e{1)&#Ix)K)K zfy~<}M)Dwd0>3iiT%Mlz3*3PfQm$JoM8-2zir6x#m@S*5jZ-lk+``nFA0$A6)}>)qS-kIGj%rz1oQ6CB zbdGc(N1t=7u&Jq$X&ahOe%z0BU_3h>ZvJJA_r*(&UB zOPCOOU|v5jH&Hz%uU`PKU`QYwIP4x^6Kbv6f&i3${QewdoE@&#!}hOe1@N&5&rcMrE>S z<||LnDJhT+XcyPxoQR8x(;pLo{T@=Bb;rYI9v{UH^^73q1|>pvt*gOvQ(Ux*scErd z*qy!;+gS{vJP)MWE$|MA>aTvG+5~>Fd>yx`0fUVO1hyoIGTrUXCF640{6eGIpltVu z$xV-MYQ+@hwbq_{5wUJ2wDr8!zpZI6%ui}OJBExws~A!sb}2N_F9W=752zL)Cv>Yw zk>2uSv6^(+KweWxtTKKwD8JUM>o2p`^1f-8#8$%eoly{bO%ufZ>?%0%kG-oN&62>G z1$*?Xo8}i)t#R$LEoSDGuisXtOPgm?KqRwYqC8sMgGHHafsgzCeWv~WgQo#iy}ckC zW@NOtbepy0bWHXBoc<(~38`cg{&?Xd=J?g`4xp3D+^4DwE!YAMi4Dtkxd>sVY6&pa z!SP33%be6am|}L1Bur9yYDlB7^-Dz?94HID-8)@?1mzGo5a^BQq!Y8Au_4rQjfvZNB2fTIDBR0>w|9p>*;4q)jp%I=t|6{sriW2SmpQ zG|<q@~7bFFAhccOU5S>s( zX+Uw^OLo|hwfq#0sd5|zE$!WA$UZan-0g*V%w}`4hGE5avU+XH%>kmaUZSs0rS?W? zqRsO0v^p~%n*CgAP7G~2%0bF3g3j7@HXCHJdJ*WTJ>b${FP!fcvqvn%b{z?&q~>=V zAaD)Sh8(#I1})D4R7q>53`;!M7jBVSXo^0>33mhUbf$GxqN zqX-4%awssiiGA2Hc_LKz?mm~rmisg4>38LtTNe{hHu2mt`gSIWWPi6vtTQS7AL`Q1 zhtC@Ko%fL;(VUw{rYNd8k`Z)(1z~GdSKskjuDC_LQ~~H zRL`ZH6X`aq%H=Y-c~18PF-zha573Yu#f`@|4t{tMif3_C?&H33}{2-2B@<mP`Y`PX^{nJ-fKi zJL_a$*%(t+T{q9by(=gdAV6c{Ran$DoRqnsw59BfI!(;-aZ^kvlNVo4-v*Hc%dgE) zb^^eK{>?&3pCF%@XqecXEXgksjU3ih^P?AU(an~3vk>8`(iJJ99{F~bmlg`TeWtHF zJsb4z?ljniEylKHA(lTtpRi6qNh%u~Y@lK$fIN)y+S-iAQnw)1P`=_n>gL3Q)=YbZ z;5o0^4{FU+!qTi#b#k*P8%j1Pt08aEg=_KPB=60urz*u9zimL9Bwi9RW>n)6&94Mp zg)8lzq?bna&h9Z|7<-He7|@Tycv@TyCV)`RpzR_%oYUsY>FwMRv)fQEQi0WI?T8qh8S56 zvMyRa3BQ5(#UNNE?|MWz<~gp~$@tr>mPR`zomT)}C~=kH2d|HVHNPV-J&Q6 z@v{z$XfILTY(Rba`VMo@-$7%n;1#JBKB?A!r=YViPPpSSnYtE7P5Bx;Gc0dqx8@lv zaV>`K`or5U^26j@O~SumUb#yTlf3<60HI5AvayPU=E?gOfu0!9ROk?LDkXR zxjhJBKmMh(Pl}M8@i z8fd6F6fPxud`Lg%S?!}asIiI1phMUvdjv$W`@1HSqdfEw_%R4J98zfK_ag2he&0P! zHF`HqjqK^*qDd?1iZwzh`00lX78Cqk{}{rd(-TC70q@c17v*Ut^|&nsMGIHKX%Ynf zsac4)?eg>iX) zrJEQ#UnqoLh>L}hpJ_}KJwuxCA(m=vwGKJa^Qhx~Tqh3iouca7V;~&rDPrVo%~#tH@?&78f5>ilDUq=_twv_4H2Kx`Adizm3EI>mSB{u_Bk`;zO z0qVqPtZf@1aM{>S8yDN;R*lCv9|y|&gHeH+ zud#Qh%k{^=pDtnA>M092%>}s>GCu+$RF|ct}@hJ;mWPO)f z_xw5#d4Bx3ck-sLF-Ef`ls2f6O%%x8M4bDnd(-5zxf~sGw8~7;R))=5LjgNiL3m~A zh*eDLn&x$@Zow3~(}{Mrcp3EqV-x2?XOdyIC>a=SV?Fx(#FF7~o=bZ;Dl`YvbP6&a5Gyd~0@KE49%E|!pCIHGy${u1V~EJ%{UnLM5J#~j-8rKlK3Cs|*2 za7%aKW$PL+)XU|%Y--A98m98OT))Ys|Ed**gPeIl195JW^s}MHPr7e=+NbDxV1(v+ z2kt#cJge%MZ$j2dC$Iq*nDKw?gGgA0cgQxV{R z0<)`<1Q2HE+cLBe<4yZ<636*fS*AcpiY}oXbQO&JJ^zUzyn!# zV>j}rQ#uu|1+Vm&IE)VR6cr1s!d~fnr5?)wGhWI#tV@wGUp?prJRs?(za~ZHIKjB* z^$yAHvd!fMj4!gLw1e`})}KBO>IumyPnuyf3_G_LCgm@UbBvV+f@mL|ttc^~Q|P4d zzE#oIjD3;kj_$50Qjxc51;@F@D3ec07DK@Mt_sG+h|D3coJgcO$9*cBPFQ{7BExy5 z>#CRRb_Ac1DI z**5kok^zQ5E)-;Mj!*pC?EB$9#sOPMm3pP_>F7MSY4TK6P37U#HiEWtePSOZHRz$1=eVwjAbJz zC{Htrovn2ARJ4rEshSmpcdYcjyt4!tSSFAq_b}lA{q?qGnxfO=1WZ5X)Omwnlo0#F zK%*!Veax|_;t(H3b@vt_X}1nk-w2o1@W2SqNqh-yMwI5P;XAF z`9%;f_@6C99Yg#Y&#_Y_tlwc_O&FE(U7)7Udh(#*G?dLuk43I0X6ApfOA3 z&lM9GlCT1`n=wBJv7W0N}P2vvZ}OAE4qFIlEbW9QA>T<*V2P#_Vb(e-#%`hZ~3i znp0W+`Q$Z4!y`93iZd3~k6+s8fjr>u*C z8uMBLf4fM_5XgK22T4&rEy++>F?@f6jBo%!`aPtgursm~5k$r60RO)CW!iW4oP*H> z{m{!)$X`)>?xKa4@xRtdI5VQ$X)ZQ1gSt%i5ki9di${$B_U6J-=ndldr30RtID3Vv zl*qPqbl%VYHE2Nx<n1N-e?O$5#&{&;JJ{2Bm#IqVLuQP==W-O=*5AXDz2XTK1TgKaj2%KIiAz z5WWb!j@1Y0Zt`tZd@Lx=Rg#N0??Kp=-?k!yfL&@{-YN|sh8kzLiEos#s$_55iMl~|lJ^k^+3iGNd|nCWp`CUXCRL0q;JtsQ2P zf}|dySWn2WV{hyy?WL$P@hme>S9QawH+smKENa@y*q)H!gEH?A=jh3R4WXx77wX{K z=B?E0BZ4lSDE@l>R)d1UMDwA^X%9(AeS{^3J13M~`|jWs`ebUZ`BxVq#liM7 z?35@ZcS8y0a9DfWFml*lhFY5WA18)6D8H2nwBxCFzF34?%EjJ{@9#+Nx^t8{rq z*8giSLuy!jMmbPSSTd3%o_@tvq>EZmX}!1^5=u;*U?kmX%!LBHArYtq5;jPA$leDZ zMs6iF9s<-9VJ?5PcJ3a#i@(vW;ui)r^2wbzPA?IwS2Js+4DQ7uZPTti+IVXQst$^9 z2a85$%FT}p>paR4G(|V<%gB4em^hzlfc*iX1a#3XzXX-$uL5 z#yUD)54Ohf#X^?kQ}qlqig^FM38pT?M#*o7UC+PNB?Iuv_p7Pso~dV$bvX!Yn5EYK z1$=?<{C$yOQoC95fuh_fe?CPZR4tr;I9JNfkhS(L^o+Gs5li#opPuNl8%fX4yaFaT zNdjRt+?8t$GO|;KRqL69Fb#4hOg~uVN5et&QEFAgA9iycyM!wu-5`$bFt&q2)NE@v za{ZC{J@|W&eTCJ-!OhDbZ$8}ZOC0rqjOn^+d-NW42ZVE>vCy&m1AFgrr)X+S8+=6e z^ZkDnN4pDhJ5FcNxfgkSd4SXDU2uHIds#-d(k#>#Wh5C@KuomIA@YFcp1Yt0Ew>Cx zP^a6E=fhDqeSo?m-veB!ekf9tFYYue~H>-^VSQ(K)PDm!PLW4Kv1*a68 z##=!TS$?fmyUBjEYBanNaGB%mW7?ys(}y;VG9w>c2hC)6$?RzNDuX-bE6+!l3!aXE z`*Q-rm9EIs&Yx7V3>8}^>Mv4=B6(J3JP(VeTeV!mc4G=;qWJxr?_JfVjJIu84~?Y)8_5!0Lzfv_~WJ^gPHxMA+3FP7h>tqB!_tTUKLT4>Z%!>`sc?IE@It*y#C{I z9yXRF@lrubg6_q@2g|Qtj2YYQmh;6@X2{a?VT{}**rx1>0hn*$p{lEDXcXT+&Jv_* zo$d11sIo+=RQINT`v@Mf2vy}0qw0AUknAWCn%g>D3!bhj^U)#aD`sMGXi7UWy;WdD zeqT%P_ZdV!;9-3=RaIjSPDuNA0z$zeLb%TfV6=`kMCX(3m^fQ;Rale8qzxR;%nj;J z5&l>c>q&|gupPJmP>m-=iui2e&8i_oP+^cMge<}s>7m0=6RMJfK{MJdp=vF(o4(VX zEOwZD52~_PusCb2=^`Qt8B3JFxi4%UuM|4K?jAZ)H=&%>DxVR!!ZQjulmo0>I9g|c+(3IATqqm!mP`Vpy_MEdr!$s6mD0aP597bDZ<5%cubi4`Yr3S{ z2J;w7w1I!#Kgb-prgZB0aE@Qo-3MLnKa4PMUcexpk;-sFgAnq)mXTY)PgDT8m0CoB zg8-ZInN(9)-ySkJgsqi_KukRV9>&%CX?zgqeVOZu=VwH*?E1M!W*1K;eVFhK7mmPM zl8Tt+Q;>U&GmeupUZb*TdE9qs8?azcPvJyx`XZ&g1YwY8a+xR+a6MVIHJ)j+D(R;U zG^9>!8hR1B^u2{zJE0gRLUp94?tjZh06`fepND(%8XNp9O{Iq6LW7#X6E+#Wz%99Y zuDe@qEHEy0nsmZGwd8qE!2eQ6$3-o4t-+GbmX)-rt1%Uf<0T~Rb!0sLI%BHd=GIVRG=pG$PHM?^3=+cY-0tU(JkFIh@MYC?nj%1vpzM%B z6P8!f2AcUgE>0-Vay3dR)QvYAvTR1JLe!MSQe6ylj;$_N7P$1S5AZKtacWIDLo=hl z|BW?QrS(S-DH{D(mY+k*R?_c9Pqo4MdnRRr?k82J0zszE=SZszb2Os+q}b%jXHIYe zSq!+139g?2t*qQo%C8JY4&TVk_i;%h{cUzbSo%YVvA(=oQ=;{h++shGyT`k-x1nF| z$7A#ES>9+cXp|CXP@lfNR*ON{TqQMMoL&HA%ANUn4 z3f{*qh=I&$Muj2^NXjK|#Q!M5+})!VzVN`HC#1SAr*kkb-s*CW)V^`4OF!~zbXChD zzs?c)+DOpt;Fq)52N9A9WWh`3@XgPu-B<4UF@Cbd0P0uL@;Pkmr+0D4%v~O{x0Oa& zp=>!AeH*-GG830L*qb%`k_TO~W71J_G`i$omyVBLXf9H4yc|Wv+SCXENLO&b?zy^7 zy^?yh)wIix2H`(2C3%f;DB_6q7GLbpEyro(!+<`=*=`~YSfz(qsFX&|h)ESW|1>*j z55DPYEI@r>-SRm3&z->`)U*L`c#=@ioZ4WlE*kPaQiP|GWuhN7S>dW)E4)~UbLrHw_JCiULiR;nPG9-rw)t&@#Zly z5+4%Ci?<75FXF)vGaaN`D44@*fs=;;?cnKHuGeK$z)-wi(-*B6(v}S&Sw@YarENEz z4N4Ktb#>JhOvpXIQLz0rN1HVlcZwyNz&^+xoyT@&IrhiPL)0n}Y%{YAv*qr`l!fn@ zu$=LQ)AiY_s#7*SF+79OwvBSTqD0WSb2e_1f!KuCONrt zEr31RIpwDw`(Nr|LBk?~aK(P=0iT87GdU@Cdv%67_s?--DI78Ok`Kx;F)}c(n^?TTJQKM)`^g&4HDWtV14)R4|R>Yj)QSfL(^8c(3NW_IP@h5Bi zaEfPJTUj3#l$E=DEYWG8hAx1W1H0?Im-P<<@(+!oVIizrrFcS#;5fR$9ovQf1`T6M zH#%>p*URXw#^6?4yt4fQz#nS*F1l!Ul)Gq9)~0}y`60o)O2N87G#%#;6&*dR=f5a% z$b>nrK+D*tcW$a!-GZO3i+s1E_q2Q)fy1tXpMYqbC<+Bk#Q1#S`yn4k98P|l7b~%G z%W-<2^Wty%5AV!q+VcE>{*f)zC~}C32*q$2{X@Qshb>t?_y7%F4=Q#iJrh<=Qz0I& z_68>vD#C6W$yS=7H%43GPC5_)aGmS3IP_fKvY7Ohzqe@eA7Q5xj7+ONq5;-$!r}{u zX{!*jk3o$UVi6cwv(=WnkX40q{^{Z>HmY2D2OFt-kBD`Db5d6}KX>JZ`j)#-QC`UH z#XI^~s2LGc%Wu(c@3S_9c{VEqs3nqCMx?(z+3J>$r2RGvF(Cpc93PDu*VN9S{40jB z5uC62$pg+{lod?=*J5CPUW=5>N{hzWnXrrm6?(K}m+#RD5Q~Pth|?c;M}=?!#@LFA zP%Wh~HM!Lb+~%oMA`_@a{dMZyb8=u2NuZXmqbx$xfH};b`-v{im#RfSiY^Ax3HxkR zLGaOY#1Tp|AByP}JB1opJ?mDoz zflc)ugBYz8^%_S1_Iazlgsm%^{AcrXyC-ANpDpAYN}=4E?w8vOZ{y1BTg6h`Bjfqj$O%BQwZs>Dz3icrg}*wu3-7r-bAdX&WfA> zOOfV)m^bDK(^%eB5>M-)B2PK9MM}e9mq|jcO@V-EyoMJ}GC!A8fdkHx%>q5Q9+5K|)%(SxR#0?p|O40g)6~T0%Nx=@O)tM!G{T_~stm(t!Z{e-zNt+0oU>($VwjWdZkv0tQ|)iM2h_|5Z^9)vTC_{=PXJeI34JH2CXTD*K|i3a8t zB&HPpUOaNKhGeF@eq5>h8K-+aaV#L>i_Q8n6hkg*FfLh)tCurf&HOT2{J@O)thIEn z<&*DXO1szLo3=hKjQD0(uXLW+9dRjM5yl&PECp&2LJa$E&GyzSx})p$^7=%BM6~lX zI{$*;tw_vjK6p{omQNDjZGJbutt(oxCTAyC&3RB$-MGbHk2!<*PZ{4)6aI<`;cQZP z7^GJsGVUwco`*NoMH7|?tkHXKf_|cphUfaVQP&kHE%OAA;5Y>XqZ0j+=4x+le%Bh> zpwu4@1)68iE={2>$x5N znfuUKX>>Z%!YRGgxo`(+bL$;Uj8r=6aXakzhx#i#1c!P}NEU6{lIg3JSxI68v>y5C zMdYyUuta!Svc6cI;ZuxZaB~Ou$Ed*d)K3tYGq~n3Mw3y->AG) zOb>b_&quuLPR?ZglVZNrtCRLv#7?e8P)a?}feU(X6VK+Y5?xb#AQ1AQ$-vvg^BJjo zDC2=x#z&ISB?v<(5se`~dva5Qn?Rlu48NSP22Nk`S;FZ&@Z=kN9=K?|QFJ(g`9b4L zXBIlLZs5DoH{#TZM85L#ep?kLM?CSNZyfG~^Ik*BQDd60hJEFMvB%lut2_`3N*j`I za7?}1SDm=*PbzVcXhvYpc-U+BdYE2vVb3id?HFj);B z{vPiMNB;tHctL@mj^H=(1NBZT6DLJ~h@^tU(Gy78-G!RQzU=hhjmu@@DahL{w7OS| z$5?O5i$pN_Sm}7gu?~U?*@d0auTl5HF(oY(&I){a@)To9dQHR2w>z5}jSa_3vHMPr zJPwVU_lRh+spl}pAK*P((k?uc|&u@wMgbWus>p>_KMZ;fd{&8ip1pz%$!l zl$9bCC%NyQaZaP-E@W35cdRH#0`l3g?N56!f-G)P$dpM9^2^Bx>kQ<(rsg!)ZtM%) zg414i_B~HWNP;jVD6|+$I3`{M6bFZ92aU`n%t{1At(k1!G%T(xYLinWXX#rh*|8F^ z7)ERW%PjJlw2_w%Eh4J%8l&qnq{445kPet;R*DjDwe@f%0NNI`$4XH}H>CTd$d-Y| z*z?l(z5u&b%-Qe)qDigLJGnompMuq9d@BlL4#fMbd18`j1DjnRst~aoe%)>RLy2a^ z!Of841gZaQ0Uz<9!!=tI3Ah&n5uU)BvQvxEXh1886!;_GSkN+gm3dYqI)3W zUXxYerUj#huN!N?DxK3y<|IYS^L$MHZHC}=BbA|`N1dMXoQ8B;vOv%e3sd(vA zN@gOc-0?AId1N*_tS;-0&G;E(I)aN*676R>FrQ-KSrgBys$~8TP~fYBQmfA+N}i<0 zo+E;XG|cWPO{6W$I!k!B=x5J;Bpq6>d}lgh-f`<=H4PrsDa7jL*5kO5b6zyK@CMAC z_1h8G@96WHGzP?TcuhbRz!o+xw3$glVsfMa}!uQ#TlseMEx zIf+&f;MRnt_B-d1JrydX)kp}of;*79t1W75J8WOPr3$<4P^L{&l{(!o39f=O<@GQ>7sU@^vkjYQAO z=!6DEr+Q|@7C#ScTy~pY*QFoV8nAWHeeXTIbUdizczxpIv8$vjyoxowZ=pC(`VtV= zNktoSUazEjdL3&d3zA%J7wwcxG4dxcLXd9MRVH6I9TW_=zVE7uQWrU-vlm;kwZeWK zh7i1P<%IKubW5aW+#5G)BJmgx_)yqKJo!*!v75OhVhtWY+nr6_%Y}LEQUs0?^;mB4 zUo1wbe(1Lsxc5q*%W~)8sL*f{-^??cLpv;7-ty5DY4T}4;w2YWJ7+g};93dP+ZdL3`TD-VZMro;GGnlCNZ^7^2$TKf>!BHhnI z=-1mV!yyza^>-ptU`WO%TnHs0i0gG&xb)TY-wEnxEuaP_i4e_GW^FB=LGcsd*E|>G z+5>i^Wfz=2(XSBZ2>%OS-7&}4F0<$O*-Vz+>87~-k-Lll`r*hT6V>$L922&VK>UrR z!uno*pLS+y@UCWL+bd(n?ruYXUIxjv7Xt}Z$h);wIf@O^1MW250m~vs*DB|gqbEAD zbpQo4Z%;ok8#@cVGv2=v$2!G}Do%H-z@8iN#Tw`-JS9ueWZ*4r0E@2$&6iyqybwoo z6!IGlx-=k?@Ok=ObhzLIr}wlnlN9F5U*H}}RX!V}ell|U2xbnVeb7FNLr5*s z2~&gRz`sPykoy+HOvvwaa+RJ|*VOI9q{d<+(XgEhCWhF)EK4()V=7A$K^2D z8?#JWF6{FE#+0@3A@nE{Kd1M`L9G@_kv!tO zPQGBuDGih9O8z|g1m|e0w}e;G&ri}iO^n-Er7R%V$1FJaQ2F#1iW`@*k8y-v{_5Nk zNgago+FjEIZ$ptuANfE#%A;7$or%NzoGy`Gvm`)}*xosVRFpI657fz+29ne^v_dAk za~fi91Kz8>O)TdU)N_rovg%nSkwT!9%F0i#3My;;%txy1pNhhWGT9CU#6vJyls}@K*czIu zOIUqyV#lzZ3JUfP!`sPlJOzIbe!NIyK~8!54VrXHa5}>qt2~VUT#;po(95z2#b~ac z@0;i5zVoNspvI)p;kNOQ*z2jZZ8h==q5hh>L)pKR$Nbs4Or?LtxuEG_3A=}Cbk+PS zzk4@3lPr7uqV%Xe^7q}F5tgU{D$X8xt6(-m^$%n^eQ=k_$Wrl@)%GJS8NiIfhPUQ~ zpnFgzDT#s8W|#5W_F$4K_T)G6HM7h5ybGnT9t`Q)I!>7b6Ui;*iQ5Ji!b@h`&zpXQ z9sOksKRRT)w0eM1>HD)EZFBjpsEKPo?3s??{csM}GL-=vWUr@Z(~uAnyJicdwsqWt z=h5l;C0_JN{#3yY6Ut`~{xn?Z1-gAtMv*w#i1Pi1ps+#~sjm>tIR0=76QR7j^oJDL zSTiMF`(st@CR<^>oWq6FWpTrsbg8)b7ZERi9t*toG9w(C z7V7c~A?ksnPsoM6Oqt`Ca47OT+etZugSteG4hc0JX$J6pu^a{NH>2gfrkBwk@pad~!gF!l>pyx_(#t@- z!2MKUQQ+mU%cZbBBbJq@SB?7YS4GegU1)7|o0+_vY6X>?|0$YlU~aPNV26TS3^pCP zc=*sr1J^mMjWS@g-R?1rKy2j9&XJy>qQ8sN2u%+;F9|`3{gUjRgKhJ z#!B8Kb0n|~|92GY{Jhku=R9R*Cesg%g%QEzF3wd}tiTd81rSF@`C83o=`DvP3)IRe z)0zMv|8|pYXEV`XY2%)MwpgIQbz<}D*sEn*1Rg8{&LvA*QZJ#P5QcON?r7REa_{~G zbACp3@gC{YJjNWvGlsKE{1abQ>G;MtlB~CBNEcUGeO^V7Zs(1MIErzuOuUJZMuJd{ z_QRS}T5oQa2=~+hh&RXB1s?zV1tRPZ1xrl{S z9d)9=lX>@N4)vI6>y-udVd=DqgRX^uKzNe3t*ZzYHweY&4TQlbxf-vY_}>1u!lwH-p1%93aV|Z8`y!K!j*xV8bzy%xOq2ZrM^odK!wQj_w+<%oAr8fB)an%=d zrla_hY~*dt{b>e8$o|b({+hs~eL(nSyTlJ6q6NIg>ykZq`tK%DR+cwocUrT#;rySe zDK`Xm=Eaf*g^Jj@285Jm*fN04ELVF1^w(gJIIS_Nwa@-8xZF20>RW+X69?`_?27ck zucp>48#qJqP$+P|SSqQilJ-ziM^i~5g>tuKj!Isr8dmEdK$py!8Z!c72KU`=$Az9w z^@^}!*ZQG*-4-JfRhmtMd2Y9PiVRWP+1XWWLjtL}dKeF0HeBYY=2MCr0zQX=I+Fk5 za|krR58anV3k~SbeQ!R4!fv{OzKOZn`b?s|5nn6cQG0eb%5+R1>ONLym)3t@bhJE; zfH+cchuR;d$?&BwN)wJ7hgS0Vr#YQ|3}VP7r$P^j^EG{Sv;~WOq^t6ngDFV3*k#VS zId*C%UV{;+GF8(;hmzX_?SjUV}hG&L!^oG2s?RV@H6uyhO1Fg< z!Vf}{7sF(ImrLF#y`Z;VU2#x0(N_OsKDXt4iZp7GQwr}JynKB%H|41;6tubP2e}3! zTRxW^h>9gemXvTcMy3tlcUFj3{K9K%BoGWvG_aZbxFR7i)@|K4R0001iiIcmX zzKgjDz(4s9t<6mstq8QT6s6mv&AF|&E3I{84mAnv==Cn7h!TECb*jXX#|3)pI9F}jKw@Gu z7f{NJi{a&PuU>8v8b}Y|N{t6=Yr_IU?MlP?+HqFhTk4}oP*^T_Zn^h>g{4qz0@Yoe z^7=~n$YTNNrdj*W;$#!9LR<>K2e2WM;N4!R2Vr(Z1v9tOzM4LpmmYQ7xT3;J9?}wf z9ht|b&SS5fLSA|Qy8}y#xWYQ_+?0?O>*Dp+g?=%LJQVnKiZXnlKM<3A(!3xY?U8#;P)dyhirB7o|t@B6bFQP7b9)smZ^O5h( ze5pI@xJhlSi<)OG$Y&dA#)JS&U7jK4ExAPpXbZW57|F2A2G8AO4LQ7~U|pq*H906X zYf3%iJGnIT*JE9lySxj!>w4snrZ?Hxq43e8V(Y~2Mj9OGr+fIetMq^L`MZ1C1w2<+ zK&T-%Zrg}%Cz>n@(+)=&Yyw=fCKlFxPV=??@PWm&GOs>*t74rgUEq@?v%6Sa^O6`% zF=NV4e`y&Sc%Rw^SPQui4dbm`HVsZqJuhNvaKu#HK?@Gvo0}L_3Q7+5FSXVb1DeLm z`Y&XfuCh4z4@wY?{pxpe>L7$opvnMSm9z!UorY)pP13`_-Y~Ts_m%naxrz(=1PcPH zgiGZ&Uu=B;Fr-)|%P}i3AS8+;uZYkap<>ZbySR~t1IzlUX{?tKy=k}Y8N<0nJ@~^q zaV!txxK}^Y<$Nd58MfNvTlO*1ZFcF5rH;|cb$g$njWAL0W_ejvOjMwij=pGNteAFm zu{+$kK;#!C(XQQ9$N~lvD09t*A~P7ovIgW4_(bfJd1)RIP)%#6cFU(kp9JjBSF)4I z1)kBY1!6F>>A1f+^ygRV=^iESGONxHfUUJ>$=C!qoJF=)#bZVN0l<46nmB0-t!z2b z0LD*A(5zNlNqKPz1+I9n?5g`<(!e9F}0e;Aa=oucn}X%DpTCPJEIANf!2e%cCjTE3@~_1$k#{d@-HM z{YB4@&tkB=cNcWi3tqgtvCg?amO(o6UEUFp$(D`gv`g`?3cZ6uaO{9E*iun~@=sUq zVnQsuH`so6S&Go6oXzFkM@fD}N|BfcbA-y8h|#bPq5Dl9Ic^;otrakysx~u!{I@(# z?MjX)d9)7$SSN}_Y4&?LJFw4WVK}M03OXs6%UXd#sCdZKI9A^4vdieKJ`ufyfJao{ z^GZ18a#ZD@7rn`MW^f>-=nPb8&@z--fDa$UGc-w*Bdun0e=Rls-?ujfbNM^6LZ zR95vRe0EKyuQDjnR#PIz_s=n2;zM4IXH4K4bVD)=uyV)0l$WV@Xh$q^HNFx;P(OH8pPBg7%!%4gU;8j|jsg!evq{#9M5L6|o zzT&SN^tBks_4((=C0bu*)GIGy)Zkif=~b!41N%Dv!llTEgd9LCYoLguAp5(VMY{u` zt(N5P5?Ry%z^-7D{Ma*0ahbBNNmc51C%nc}2F|luNAT{NBg&YA>x()-$z<6dmWj;^ zJPdi|ph0MdxbL?W4EATwUB{i^Mh8=Hx5jBpX`TdM5i}TL=&IsF{a`#ZXS2j9Rw@EW zbim;72P<9M+boDOH|7yQQ93ex7^J}f7@Bi1_dOMYI3Dba)57GfUA$Gd3A$0aW6lF- z8OKC|a>N_y<;kbF)!e&gQZ-_Dyaa(|uwGD+ax?_;gz@f2OY^$=Fp<+1@WgEfI;;H3 zPaSUD6!2}1TIF!9SGC65*nCMJPX)ugTWT1NyD{0+sIA#J{O@d#*_G?mo^B_JRNqangMSRG4LuoZ^GbfsM1L8)zCi&!{y zaSnM)2UGD=2>F3E?m3@|qYFQqSD*aMQH%!+peHw;0TQ8JjgtxSQwxB0Nb@mEVa2nC z9TjBH=|Zov>wr}AEMJaI`G^*UslUnhrtbQW%%kw9Yuhv;?1ff6_+a_rv#fqiTOP}I zX?J0U_#CnV(?_z3@~w0=CsYw|O>#WTouGoH8k<@BrOMYgt|I8;+60FLvZ~(pz2nzd zt62~7K8y5I3dr-sI40~L?|6Heca|_i`9LaKc55~+5P%!f3iKanD7@zfbA&!35ot%0 zRJijZsar+4i#%!s8BqIwhagZR2HvN#v6^^=grYsL9%4xty|E;}R`q@S=tCO*0*8{; z8vGtsmx0mV6S~x)f=4iC9IJ9JW~7THU!iDT;`Q{!-nF2n1aNn4Hod77ECAr;(0ANs z2(;pD9p1B!h;LVNxtExrCPE&T@$^UQXZ85+gpRWaGK@4re8dM&T;XJ~*Xu}$3t!r^g{z{4QSCr0l^`Hf54SFu zV}tQ?T(*`tDJLS>a{4!74Kcnun7)H`v^xcnNik&SnbTJrY{2P@>0;&r9`ux+iK!V% zni3k=i0_x&U0e#m6@x?k%ZVgi3t@r_ngrvlz zsWd|t)0XJJOU@vCse$aD02S=DYkx0JmxH0Y(7pcVZozHZNB2E&v1vN{UFXdm;w&iE z-4=nYC;=%f7T1I)eT`b_PI(hoHLg`7mkdOD05;RS03VgRTDM`?w9sr-yJTwOOn6_l zQW4CNY|=|Y-OMB|cf}cY2(PM z$?=dax$wGx>6gI!s4*gg!1LWS4(n~xA&RtvlRlQrH5ggDeNk9sJ2e@Xn~!E%VL<5~o+!21ewkc~;0HNENCg&KyME1CB{`Suo%u#B;{lLb*HRepp>cwU z`rm%=m2%vtPj9k(%|*Jfg3W`Evoz?b+f4r=wgvoxwX&GkjT`FbD20banIk@Hr-(+o zRrc8|eK^)O$ENdbz-T>@!#6qpH zV14wlRh!`Mw>_yc8(NHvLcPT&eY4Ra%q?RGSNJH$SE^kl+%bXpl0~`Igxva>UJGOw zgQGW6KEJM!81j%;4~<{D=ixu*!$qriZI!OmczIH{vc?nmFrbi+l@pF(rU9%+{R##0 zR;kbDF3|;)Ridnj*&;bR&|RmUtl_ov?|Y|}NCx%Ibjj%5QVcc+^ie+DrM$nEKfuQ> zPdb_I#IrpOfhYP31eX1)?-XCLm0w{dbg##1din0{eMHH@5s%CQm+7pTD=<7x<- ztB(7$tsm?~LCs2HvM(oh_c(pqBSo>aSJVbOK)-*)potcaVOy|0m=;5rbLePLB<-z3 zrObHia=KSIeb@&KW)VYr#)7#rl~YOwY)FyA>YJw~){r4xC$5N$MFY;AUGMw4abjQRPyaULv zt=js?Yy)pLc!zXQ0aMe4hH0!Zkc_y=LcP#g_17yQIbpsGJ9C%O$(_Y2oRS* z(ZC-}_y$Q={xtRSM`v}5?1$9Fupq+ZznGO*R7xn;Y)9%5G@lk;cMMh37kyG_V(aoj z>4#|}6&svlC-6B=1Dyu;EUpgcktz21PR*G;Pw zyk8Mkw#h{S%%#AzHYX@rZmFQm+%6~{BMS2K>YIw|K z2pIFk6;T5C8e2Q<X%Xl2pUZf{MK*@a8#YjI2&ibAQw7c%wR98=IbS zUe{KJw|bD%>Cfko0+8>T_3?1$VJ9pvT8@|j-pRvA$9{W1w*rT3`~ekYsmMNk>Xx}F zRcrCoH5S6q!IHNv?}WGKAc;e&zc#N}9HrWr1Otn7${Jshh`etCQ)*7ZooUlPUPQ?X zp>~q<WMW|jNjjeBIdRPKRE?a567W#E#@(>4%YPJa9*lDMEj zYck`Z@1#5V%jk6*Y2XGT|Dy)rS^E`tKLZ8Ck7b6zg>1CVXm1+FxWXZ)EaV?oiiB>V z)nX^LE)+W`qANdRQVi_G#9RRr3<`bo4%!CS`Q4 zwZbhfmAft!#X)RIUMu`C!kjLNR}c?43sEs(7kp=_*@Qo1K|q>GCVF7bU+R0nElx@j53$pG*(Eu&eE7!O-x`x=u)L&iUG^?d@|%`su{D{uEcEs z_Bh{TrA4IULBq&rD;4D?O^(-TOLNThV%efY-+1A_r<6gzbYs0RBn|ETr20(jU>X(d zux?d>F!I)RkXZp2SPG@pbZ3N$)qZQ&)>afTa*iF5rdU638y5Z|0)yAPhwD@4z+|q1 zR+NB4GKuL2Oz=WYmb+25K_fbD5WcMa2*VBR1w#^mJ^^u1@sQ_Fs04HzXB6cmFnnp# zf&rLINefz%G%QZye92@QIA&WFcN34@UK^8y`K*&V9Mj!crM7u6Iz?)F+!o_v@mjJIYtuRGC4Q4mw-x0 z9!mz6sxsO){JM(4j5w?vQSw8ZWy_FG;sE{kV;A|gpHmz<)VfzX zA#;qgnyXM;LH+l&=@cN*ZM{}i!-BzrGD#slZD+I^lyIdk2nUwGHggC{|kjX5$4D7()_0!!MRC2(a9*plTMK zL-^ZJD6<&1VD8#y{bX~u#DZZ{i%B{3LCmXnz#A_?f>k%1jTkt~PJ7*qlaV3yR4@q7 z`boy6pJyVtXrCADxQ$N-#W}ov@aBE|9iCCQ4-FXlLz5~!bVT=77j*NK=zuX+Da~66 zI^CTTtlB~%kNoQ9FL|iChucC>uMC6y`zwFAb~S{7b}BsKgiUYihtu?e14x$w+M*e= zVepa|AkvMrG;;Kz#gNMw>6sVM_kPLwu2)m2#s(c24|oNgGnX$VcYl&e+dOswBZwf* z`4cbz@@h4@a7ea-c&{azzCJFR0qJ0e7&lwGU}uL6y+?BKI1OR^4Qt^R#dKq_kvLat zriHu8T$;w(cTx8}dqYplZ9))FOxfsZad|)nSRAoH&(s=`lNm5bMvnPaR?w!w22w5+PDdgNT)daq8|H@ zTts+9%ToVfylw>&25IHt*}$c+w&vLAxh2%Cw9ldD%}OBDZNM_$(bkOexvu$oau(7KAR9Th5uez z)P)m{6A3avyAY|0KxU9c?iIIpJ9a^IN%E?mjMl(OmPH7!_H!Mkt}gmp9xiI0n!Sh* z%<3oFXl>c>~1pK}DVa zvhg?$1+A$~+JdCdTmXje1Ob4IrRDWJKjU4_0yj|fuoN3zQq&5h4(@``F2-G37H1R! zu1xNI05?Ye#>TJYM|B2sv%+yVK`MR>H7&1Xbx3+i>>lTse$k7Ok_HI%SxPnhj)x6t z;LN=|H>-J2nQQZq4+4)Hg_i<_evf9e3}fjdp+25iRByXI$c<{c6xxLKb)mP0Gmaa9 z9y95Mrq;KJL`52M{I&oPOAYR<1n@&BK^;}JS{~-n(axu^E}0e8M@d4WF8&Mr8^ zN1OLlxlq_C4H^-eswzt-yn|jVE%Kdl4;M4({1z__9(da8;C-*=jBRs;=}+(GXqjV) z*<3?GexH?rUXN{-B=JP-fxo^oh4}GJ2$}6Pc_5jv)q9U>y`e0WYvp-wkL;E85ViEm zVjKlA6{;QPy(U}qt3|Z&V)B+`)da4BHnqpG+rsqo1yzTQBpx@Rl1VLRiw+kj1TI8g z{xc}eql(e7icL-UL$oNiaG16Lg#_u$*fK|J6eJdmi-;IRs%jeHQY%jPw`o9xl@BfM z1EUt-l(zorbH70f3yJTj{sh@^L=w=73a4KFu@{kL63bl9PByHd_dl|&=29*rO(IOoE&0}}2ZWd$Oz>Pb%PhPj>7&Ci- z4ByTis(Lh^1lc(afVDDFPj*l+Sp^gRbp(Aa)g|R2xwg&fqm8XukcH|I9!i^!3rp2c zWQK^tTOO~iaE7gEbJ5fE+VDPAw7)5xWov(*`0CprU{zbxWkvaJInS5yka|oV1YN-V zAMZ-oR`BW;PYK-5A3C4Oz+~`jvNZ+?IKgIi+L47a8Dl| zN_!!j0H~8jY(B%m>kN>yk%#ycVmVE{rSo5(uT?q32F7DbY1vabEm(~A3*0D|`Cf86 z1xbGgm3;d+AK+WM)XgN{G&sOesB^OYM|PwtV11zdQOXI| zGM2fkS|>arb4NW>KUF4|_DINdG&s|XF!FmYIS+U%8;dL5z*<0Jlby}vW+?<5_p*XmkRgc-4g#K@miIdZK8 zSYc$dSU5(>5Vf*aHlm8lK8MdifoJ2@HGxV>RyD-F%|G9Dj7WigM@H6vmNf=>^id>P zk}3u&q5x}cF6@4YCcm;x0I+k??m$d53AhfyqXc-Xk#ip7!E0)th_hj}1qaKsF!v*> zf61gk;}aq0x;EWDV#`j(TCpA$j*Pb(>RIV**Tu=FO{XJ)b9X?U`qPvT z$!(Gx49fGBe}Cky28%8JZWJpWeLWHV;T{cjB-iMGBOvEqzN~=aa+OwpV9PvQJl+JG zY)hPfV|EBljhw+6L+YA=QfLWK4?;C0b4t5n$3Fii>swU>pY>Y*?$yC&sFF$SM;sN| zXu(w8<~{J@O&%x@qADQ;-7L&FB<#eST7vTKrs#d0&R;CR)hi7aC5612 z2|~=`o0|Ec6?;;;K4j@-cFaP{#S&B~__DB0yr22|KBkAu*U12%X-*=-chonGu$H-k5G=L8auki0-Pk$Pdh*hKGSn5G zU{GU?5M1}igW*J7u|BKGBN~iPi-7A9P(9{_8}@LphnzWB>=pMldtv*`vH_6rmoFJ) zVuiH0%~03I%t8va4`6A3EA>tIS4gB9tqjcav@U6WMmFow0+hz@Y_ zLQDe5a^xXa!p>QPbP;GWEeS3L$*tTs*?k==lbrOt7TD*j04buXN56Z{w$y(Zc$&ji zv4CIM0yXuA+?Kf2!Mp~zb6=Mskw%C0so%i+1A!W-OuWp%iWl=tQ`W7d6gR#=6jrie0awD*(l_Zxbzw!HCJ z2ltCoorD@KPh2Z#C1wQv8DO+4FThaYY5fD9^~JhaVVwFH_!}(t?D`hTrp$v%%TxF0 zc3V+a(b>`8&-Rv{d+9DFoML{IVGfclQOdvT2QLkiIq_$&+NM`ngMPzavSjJ=<_IxlB+xM`EeRx1ry>dSVEC8>-+2PBZqg98r70l>;b%DaR_!DUvcd+6| z4IFK7k(Yj#U73pz!KkC?I}6kpaXOhOrq#+Hk=Ld}LS9fhGA)CXK%?C736in8u21V1 zTkED|SS?hy+x^=_j2~4A#yieV@&*oHXSX_+R&jS&J55{~u%CkBSgG}_eN$G6@kTSK zDazz0>V@BdU*P&k(A*!i$JOV7U^5-oc*+8_Dz9Hbl8;1(!Xx}3=}A)s+wg4^?m7b) zVZ_^#nqtryPAyK5t7=~$4F80p{K8LIP>Y|Xj8gX4O*Ay3V8&qh@ij0=a2nxP6n*LG z?zT3mOYAdeAS2AOZjNgsvtYx~to7;psP&6R^{8e?wZKtyPge;H{NN1W8@AU@x3@~I zq+{dWHGDVL*Glk$OOfj%fOVISXyg;-mw{~^@P0EsN9AZ2tZA<G?_e#)iz|smx}Aa_fw!%`%goDU=#VGAH%I4GHwG?Wc{0z z^T#A587s&nT@RillYK0yR(yE}!8>3gHe;8)xqOX|h*bkm^DEy;){9~~F1HXV?~Dz& zJ3}w_WSr%iBMZsJMBAGc;4!=s&fyGAwwSPOA&jZAcOYYqm(V~xh!AyZbXxLh0TMB1hb5feE@&(Ig%69<9c;X z5ElC7fTAYprY}xCEu~S+liCZ#$IB=(jOTdGwWIA}cU#4Pk-i6ECjLe!JJ+s&R6$Ph z{2m0`>ctZv5%id1&-!xhHw+thPIUALc0)u(3f;mrZaix)G3aCwxUh1FHJA7nAlq>z zjtESLq$BT_#$`o3CNz@qkoB5?Iefa^;*l&g$^&jXr=9iSo{*KiDi7LjYXg==f9N7Q zit%p!5>J;&hPc1=RUzdhA=%|Re})D9G3VrDxaV}W=Zams4%9RuY4?AC3HPIH5*;J` znf|=jBUMm`jktLR>Gm`Gj%ajq{z3d{M~}D9(3)LRFfFL(d+PiPZ%jxCZ5m{ru5E(| zP-pZDXw`+XXY(WKtY!9ZrO2wQ78j>G1mr%3D>Ng7TF7vs7b~!VH^_j`zmZ~UcL9j< z05jSO;(di^hW*($HG+OrlzQUw5vJRffE1pm*B=qziZB{^bsF>d@}S-;-SU+?)i2B; zi_D(hud`O&nwB+!Ziqo=M*r8Na3B-C{Z9v(d zau!Guy?dmX))a2KW|`MU7nDb(cvV0C=0{nTLu5P^d{T=Rof(L5AxX9i{t|}~YHB5m zWpGHL8<(vnaE2L;{Ch6hSfbj$sUeAPeJ3Xspwf@#Rg9G&-Flz?J=*k_e|TuHNo+n# z7%iK&zLDe4(Yjk>Qq_bZFnDP{vmm^gQEIeB=bjeer%ZG#fQUsqPn}PI6uv^^9|#97 zjIaV4A!}e+U!?9&ZQ)0Njw6{k*wu&0v`Qcd30CCAJ}{dUjJHc3*ncHkRz+U8DIK?r zr&hbgpsjyGPcZDOr6#A&v|GmLKki*f#pw)h)YV%LN0uyZ<<`+dN>&x?8E6hY0h~BL zD#s%NsZCz4(6}ndED1ujol(TRsC{d1*&H;QV74gbzDj8?sZ2EhR-3^rosIpw93_+e zhYR}12lKOh%V^RiaBeC5vE3X}hU-tBag^w#poTMJ&XdOTya2&){{~8sN01>yx`wD{ zm*o;YFG4XLLjesGP0flBm((^PgbLvkyZM5@YVM9w2BjI%=3MR;n0V{wF`PK9=|zn5 zbEM$QQP}KI`N&8YncJs+l<2&g>B3XYrf>bQ* z5ZdBLM+EcE=ACl33gEcXB$sw5%6%ECz*g7Zb;OY5H?`*EoCK4Tl9(ZTDo)lucb#xu z_De}_XNl+^4>d%1K@~yKvK`$(e=ctXP!c%{GJ%rJ(O+-=z_QPY~d|<-M181lUnguTTx=Eth&wZ*Qtw zKtzdv!0Nlc>K!kj!BGm#5bjQ53d6Co#|uI1B)b$A$f7^*DkJz%i7)2}Hs9WJzyhh7 z94Ej`J4#Kvi$5F8JntG*jT3lGcpR9$dz^uB^29CSUIKH;GCaXoJu)6RbjezbY{kwi zBRos64Ci=RAC&QaeU=M?#LJvyIguvQv1P3y`Vcgcc}No>5(0arOT^;|Oq|{Y3Xiirk*PB_*z@KuNIbhVd*1nVF7)Hcl{xe~*bH zcuhzZSi{AgF$mF~gh4D0lT>SGuT-;x!HKyWtQ9_i+dfV0fVI>=t%_&by~OxA}`Q*Q}Rk zqc$|It{K3_Rj!fjzuR|eJQ7~~UW(bFjSy3aW{li#ny#PL`X+~^ybmcEUd~r>sk~8V zaOdE98H1?(`f(l|BO(Bf>c9&0@&}zVOI6%ebY-5fGfm57POzelC~im9%1fnk@sD*e z$vgv3szZFHB{#wZcfM5aTe)HcY4JBl^Ekm&VY)6WYQV~feys1F+nb+=(rrKGr zPQrk!d}S7NB1L%aY;(Xn&?~&+2|&`83Kb2AerVc*XvSgTBE;+D2B?I)OI2(KF-2d;Fh0KbmsmO!U`)2wxq_KvW}&#TsDtj zPLGi&d)^ZE6id@MG=6`0=_e1ofjv;awZj@d70$;v*p2zhhn8H&aq*FFv)hl!LLQ){ z+#cBFkcjj=;sN>*pRX?Qm?UGa(neE|U~id3li6g=nL^!oytT;oTX(qq_m+Dq_|x82 zks0?{KeR8qo?fg-$kOuSwn=9YO^lAuJkiAcQ8TMqp_{NluvRGD+zhnXONYbPYe7QGl)^B4h&` zOn$7FBIG@+W+El!&R5pkW#TXN7NOyanB|_f3_ImhmT9rp`&iaRLGtny@-^4eT1JLw z{4Mc&VPM@Uxu?=wH&WA>#qo9}U-3{W?cIgsQ?tl9)SZ&zQmnI)rbbT?~`;J9# z3nO!vX0{ z*yt@VR-V1F%_&RB*dd#*(7#X}08=v&#L%C1gyKYi_U!3TNGiW_;hG)eo(aTNL?Dso6Ydzd2cX_Yd{q9FSRN{RsJ4cqc+6g?-&ax1UW z0KjdchOND*DVF$alD&2P?)s_<(tTl?2QbE+E&brQoy_G+tMQ&oJfF?30Wd|dphXbd}v)t6+`_Spf@Yx^>Z+$lS%e-^xV zz2u4H2BUQq4sK&M_7;JakSQK~1#xOYyFxG}7O`oIL@+f}8$&(XmF>-d9p{IL-G=E5 z;#%9Nm2U2<%{`*Swu*Xf>|l0=jp&H^K&MkMZlk-jiUFlRY-K&C{qjl)btq0|lJA&k z7|91Qw_Nw0`y;Ve?F!V4MSLxMg$|5`Ro@s_50eRux@8Zw_e)v)nB_C`E+RRqD?WH( zT+!8lkg z^i@F%X@s0HJ2_br(aB1--nk71R%2$*@*O_!L}l$CHwRX#d0wR^d#~=5!kw~NR5O^b z;Ce)z>r4ov3{Dr6D%>>BdcaYq6fB^~{*5=89=oPY9~(R!%HQJACeBaxDv>DB!`qj7i2F2xFcR_{Xdkc$ZFD%G+WiZU!v~YeIRw zAnZ^*ivyWanEfuEVpH(V_+fB6x zW9ng^lc(1u8 zd?ck~tUh*aBMb@Y_}9n!O6}QDB3yq~9_*-qciC4)?u~HvYQmRwiWe?>HJS)0=Iq%$ z##F#g#(CqyBmqdjR$of#0)EUfFw3RuhGcoIIf*b#10&!viB?*V4bNG=>eTa8dSXq5 z?imj8JE1T85+`)ybgI_ck$ue>fJ(68oy$tT%|oa6EDn&$h*D1Ct6WvviY5PrwwAfx zSsVE{fzoBJu<=*n2hko3>PY8Dg1M}*{PP*%5~#xk6$#wc^9;tr6Jgd$qSTWPb!_W- zoV&Jc>g0Rz#U{Ew5N##*Cf`dXF^_tnuG9gU(c285P{>dFCq)?hZVwu?{v4(t#cb-2 z$>U3q8=FP6yJA9dLwh0$gOo-!r5uHd6p^$JnZCBi(ehz;To$TptrHi{3rqg(C)jR) zd*-}ZH!=O6?kQ9)vePtuJDYhZB{sL{O(MV<3HU*GfrD?Dv@*4~(>CQdt0d#;oQlZy zr~97G`+Xo)K5URkurk6P{j$UN)Y93Q+PG1CEkw7MBCYS)zlUsmJ;paobXKe&VBLtc zEc3?41Y!s#QnpE4rG9C_Xh{qka+~*MkE&l>25t0|V3G!Zmg;jx`8){yfQ4A&=YxF6 z^W9x5iJ={x`iY|Imsnd@)K$G;?)O{*9YtU4J}V#_#sN|p!%+-7hw0LQpePlD_{!2C z`Z)&Jx)0CoHE}_7g1GH^4S6UO;`! z@vdu5Y5zvM&iIRD*(`HQ_A;NpIvf~7U}yGm`@$JppH>!}-~?BlEKLJ}-Uu|-l2Z{{ zyr*3bvVJ-deiDXWz!l%?0PC5vf^&A%W7;FP`dWy$W6<-jY# zn}dwe_#j`5%BQ&?Qh3T5GPpf!2DKm4x~%7l!W5VZg**;>cyA?n*1~^Zrw&BlOB6mO z_o3%^379{Q_36>Iuo==MzdvfU04|wA^g#)m3Ae$Zg5br0L;l8}Pa5f%whLhO6gubj z83O2D-Z^z{c!qLo6CpC-$aIg5mRXV9*8D^~^Axv0Fsu@>SXrW_B^ow+FfSk%QSVHY zc%5+b-J!U7;~I)JpBav-mUMW9yKXfzIAct#{q#cI^v!Xj!?%WhqbY| zd_4MX-c4RWo8Y9! zW4Rqb0E^CiJdNMuF`i-7q4G zLUQMVR(cHGzip^oCmCd3`?La?i~ckk#tHVhf52}v>#@ek4@fWu;gh5G0C^b~jI+O+ z+rUe>ucl1>Td=*bIX&#XRG%4=7OP>GrNARo0T?`yf73rtFyDQ zD2Rj)8z%5j(9<&TO#ri=37F8}I_nI=n;^zjCfEfuQivvz9#&&~LBAMZLDcZlF6|PP zQvk8^_2E|>m3|MUrjaR2YoGFwG=GVsjHZ9b83h5=uxm1=9|26IU)o|#`*9A(UV&%i)`O0CjT z@PwH)%WbPKSkuMl++c4RJjh|KEJZYSw<1PCeTe*TY8|;cGO~2dn0SrPXAay=wpR6U67q!DRMD(@P$Ng z;An)1o7v(Rn;d>;-Dob-kr6%P?hjhdnZboA-o}}{VCZ#SHGQ06IZZLduLSzuDpcw{ zXdL5`q7yz{1J-azz$YhSzfaK7QJCiJwn)!_y;{#xk!I|v8cKwE8Hc@t(1HhrU{{*c zW_1TXzCW1%Hf%_}7=(+8NlCfH&y|sEMBXg?SVqzpC-t;cZB8ndYuj3QC*|H00(=}( z&LN|McKOL155OD(uYT&c^eeR2e>P@a;7=JGrYS@ROe`^X*UWc(C~7L|ivtVFR?s;@ zw3PVPiQ7#5;FE8lfRRyX^lc}gbeN#eEfuzwdDo-J950m(#pdr3@GGiCyxD|F!@}+E z-$NN3<*KOIk}&rm z!z{}>g0vOX8Q)OF;5SZ9?M?6)oEwVT8mvv| zWKbx-_Z)dN=?MMha@z>As5ZsPjtD%e)6zQGU06~dc^2e9x)ipk$>bT>(?PQhDQo@kF(83nU zLxK(oG?mGUFn^7P6~z1OrAsyiif7z#CF3`MEibcuS;~GAV$BN-OI{Czq2z6}9P#

    14U!ib OINO|!uzA0d;Qs*+uA{dA literal 0 HcmV?d00001 diff --git "a/general/process/_assets/\351\222\273\347\237\263\345\211\221.jpg" "b/general/process/_assets/\351\222\273\347\237\263\345\211\221.jpg" new file mode 100644 index 0000000000000000000000000000000000000000..d98902c71c050c3f9e1b334a8ba01aa43b78249f GIT binary patch literal 5863 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 literal 0 HcmV?d00001 diff --git a/src/content/docs/general/process/maintenance/_assets/angryopenfrp.jpg b/general/process/maintenance/_assets/angryopenfrp.jpg similarity index 100% rename from src/content/docs/general/process/maintenance/_assets/angryopenfrp.jpg rename to general/process/maintenance/_assets/angryopenfrp.jpg diff --git a/src/content/docs/general/process/maintenance/how-to-defend-against-cyber-attacks.md b/general/process/maintenance/how-to-defend-against-cyber-attacks.md similarity index 100% rename from src/content/docs/general/process/maintenance/how-to-defend-against-cyber-attacks.md rename to general/process/maintenance/how-to-defend-against-cyber-attacks.md diff --git a/src/content/docs/general/process/maintenance/maintenance.md b/general/process/maintenance/maintenance.md similarity index 100% rename from src/content/docs/general/process/maintenance/maintenance.md rename to general/process/maintenance/maintenance.md diff --git a/src/content/docs/general/process/maintenance/plugin-troubleshooting.md b/general/process/maintenance/plugin-troubleshooting.md similarity index 100% rename from src/content/docs/general/process/maintenance/plugin-troubleshooting.md rename to general/process/maintenance/plugin-troubleshooting.md diff --git a/src/content/docs/general/process/process.md b/general/process/process.md similarity index 100% rename from src/content/docs/general/process/process.md rename to general/process/process.md diff --git a/src/content/docs/general/process/whitelist.md b/general/process/whitelist.md similarity index 100% rename from src/content/docs/general/process/whitelist.md rename to general/process/whitelist.md diff --git a/src/content/docs/general/start/start.md b/general/start/start.md similarity index 100% rename from src/content/docs/general/start/start.md rename to general/start/start.md diff --git a/src/content/docs/java/preparation/choose-and-download-and-install-java.md b/java/preparation/choose-and-download-and-install-java.md similarity index 100% rename from src/content/docs/java/preparation/choose-and-download-and-install-java.md rename to java/preparation/choose-and-download-and-install-java.md diff --git a/src/content/docs/java/preparation/dumb-script-usage.md b/java/preparation/dumb-script-usage.md similarity index 100% rename from src/content/docs/java/preparation/dumb-script-usage.md rename to java/preparation/dumb-script-usage.md diff --git a/src/content/docs/java/preparation/services.md b/java/preparation/services.md similarity index 100% rename from src/content/docs/java/preparation/services.md rename to java/preparation/services.md diff --git a/src/content/docs/java/preparation/text-editor.md b/java/preparation/text-editor.md similarity index 100% rename from src/content/docs/java/preparation/text-editor.md rename to java/preparation/text-editor.md diff --git a/src/content/docs/java/process/create-art-assets.md b/java/process/create-art-assets.md similarity index 100% rename from src/content/docs/java/process/create-art-assets.md rename to java/process/create-art-assets.md diff --git a/src/content/docs/java/process/dashboard.md b/java/process/dashboard.md similarity index 100% rename from src/content/docs/java/process/dashboard.md rename to java/process/dashboard.md diff --git a/src/content/docs/java/process/database.md b/java/process/database.md similarity index 100% rename from src/content/docs/java/process/database.md rename to java/process/database.md diff --git a/src/content/docs/java/process/maintenance/anticheat/_assets/anticheat/antixray-mode1-1.png b/java/process/maintenance/anticheat/_assets/anticheat/antixray-mode1-1.png similarity index 100% rename from src/content/docs/java/process/maintenance/anticheat/_assets/anticheat/antixray-mode1-1.png rename to java/process/maintenance/anticheat/_assets/anticheat/antixray-mode1-1.png diff --git a/src/content/docs/java/process/maintenance/anticheat/_assets/anticheat/antixray-mode2-1.png b/java/process/maintenance/anticheat/_assets/anticheat/antixray-mode2-1.png similarity index 100% rename from src/content/docs/java/process/maintenance/anticheat/_assets/anticheat/antixray-mode2-1.png rename to java/process/maintenance/anticheat/_assets/anticheat/antixray-mode2-1.png diff --git a/src/content/docs/java/process/maintenance/anticheat/_assets/anticheat/antixray-mode3-1.png b/java/process/maintenance/anticheat/_assets/anticheat/antixray-mode3-1.png similarity index 100% rename from src/content/docs/java/process/maintenance/anticheat/_assets/anticheat/antixray-mode3-1.png rename to java/process/maintenance/anticheat/_assets/anticheat/antixray-mode3-1.png diff --git a/src/content/docs/java/process/maintenance/anticheat/_assets/anticheat/antixray-nerher-mode1.png b/java/process/maintenance/anticheat/_assets/anticheat/antixray-nerher-mode1.png similarity index 100% rename from src/content/docs/java/process/maintenance/anticheat/_assets/anticheat/antixray-nerher-mode1.png rename to java/process/maintenance/anticheat/_assets/anticheat/antixray-nerher-mode1.png diff --git a/src/content/docs/java/process/maintenance/anticheat/_assets/anticheat/antixray-nerher-mode3.png b/java/process/maintenance/anticheat/_assets/anticheat/antixray-nerher-mode3.png similarity index 100% rename from src/content/docs/java/process/maintenance/anticheat/_assets/anticheat/antixray-nerher-mode3.png rename to java/process/maintenance/anticheat/_assets/anticheat/antixray-nerher-mode3.png diff --git a/src/content/docs/java/process/maintenance/anticheat/_assets/anticheat/antixray-nether-mode2.png b/java/process/maintenance/anticheat/_assets/anticheat/antixray-nether-mode2.png similarity index 100% rename from src/content/docs/java/process/maintenance/anticheat/_assets/anticheat/antixray-nether-mode2.png rename to java/process/maintenance/anticheat/_assets/anticheat/antixray-nether-mode2.png diff --git a/src/content/docs/java/process/maintenance/anticheat/_assets/anticheat/talentsaclogo.png b/java/process/maintenance/anticheat/_assets/anticheat/talentsaclogo.png similarity index 100% rename from src/content/docs/java/process/maintenance/anticheat/_assets/anticheat/talentsaclogo.png rename to java/process/maintenance/anticheat/_assets/anticheat/talentsaclogo.png diff --git a/src/content/docs/java/process/maintenance/anticheat/_assets/img.png b/java/process/maintenance/anticheat/_assets/img.png similarity index 100% rename from src/content/docs/java/process/maintenance/anticheat/_assets/img.png rename to java/process/maintenance/anticheat/_assets/img.png diff --git a/src/content/docs/java/process/maintenance/anticheat/_assets/img_1.png b/java/process/maintenance/anticheat/_assets/img_1.png similarity index 100% rename from src/content/docs/java/process/maintenance/anticheat/_assets/img_1.png rename to java/process/maintenance/anticheat/_assets/img_1.png diff --git a/src/content/docs/java/process/maintenance/anticheat/anti-crash.md b/java/process/maintenance/anticheat/anti-crash.md similarity index 100% rename from src/content/docs/java/process/maintenance/anticheat/anti-crash.md rename to java/process/maintenance/anticheat/anti-crash.md diff --git a/src/content/docs/java/process/maintenance/anticheat/anticheat.md b/java/process/maintenance/anticheat/anticheat.md similarity index 100% rename from src/content/docs/java/process/maintenance/anticheat/anticheat.md rename to java/process/maintenance/anticheat/anticheat.md diff --git a/src/content/docs/java/process/maintenance/anticheat/anticheatplugins.md b/java/process/maintenance/anticheat/anticheatplugins.md similarity index 100% rename from src/content/docs/java/process/maintenance/anticheat/anticheatplugins.md rename to java/process/maintenance/anticheat/anticheatplugins.md diff --git a/src/content/docs/java/process/maintenance/anticheat/antixray.md b/java/process/maintenance/anticheat/antixray.md similarity index 100% rename from src/content/docs/java/process/maintenance/anticheat/antixray.md rename to java/process/maintenance/anticheat/antixray.md diff --git a/src/content/docs/java/process/maintenance/anticheat/honeypot.md b/java/process/maintenance/anticheat/honeypot.md similarity index 100% rename from src/content/docs/java/process/maintenance/anticheat/honeypot.md rename to java/process/maintenance/anticheat/honeypot.md diff --git a/src/content/docs/java/process/maintenance/anticheat/rng.md b/java/process/maintenance/anticheat/rng.md similarity index 100% rename from src/content/docs/java/process/maintenance/anticheat/rng.md rename to java/process/maintenance/anticheat/rng.md diff --git a/src/content/docs/java/process/maintenance/backup.md b/java/process/maintenance/backup.md similarity index 100% rename from src/content/docs/java/process/maintenance/backup.md rename to java/process/maintenance/backup.md diff --git a/src/content/docs/java/process/maintenance/how-to-defend-against-cyber-attacks.md b/java/process/maintenance/how-to-defend-against-cyber-attacks.md similarity index 100% rename from src/content/docs/java/process/maintenance/how-to-defend-against-cyber-attacks.md rename to java/process/maintenance/how-to-defend-against-cyber-attacks.md diff --git a/src/content/docs/java/process/maintenance/lang/javascript/extend/extend.md b/java/process/maintenance/lang/javascript/extend/extend.md similarity index 100% rename from src/content/docs/java/process/maintenance/lang/javascript/extend/extend.md rename to java/process/maintenance/lang/javascript/extend/extend.md diff --git a/src/content/docs/java/process/maintenance/lang/javascript/extend/graaljs.md b/java/process/maintenance/lang/javascript/extend/graaljs.md similarity index 100% rename from src/content/docs/java/process/maintenance/lang/javascript/extend/graaljs.md rename to java/process/maintenance/lang/javascript/extend/graaljs.md diff --git a/src/content/docs/java/process/maintenance/lang/javascript/extend/nashorn.md b/java/process/maintenance/lang/javascript/extend/nashorn.md similarity index 100% rename from src/content/docs/java/process/maintenance/lang/javascript/extend/nashorn.md rename to java/process/maintenance/lang/javascript/extend/nashorn.md diff --git a/src/content/docs/java/process/maintenance/lang/javascript/javascript.md b/java/process/maintenance/lang/javascript/javascript.md similarity index 100% rename from src/content/docs/java/process/maintenance/lang/javascript/javascript.md rename to java/process/maintenance/lang/javascript/javascript.md diff --git a/src/content/docs/java/process/maintenance/lang/kether/_assets/Vulpecula/1.png b/java/process/maintenance/lang/kether/_assets/Vulpecula/1.png similarity index 100% rename from src/content/docs/java/process/maintenance/lang/kether/_assets/Vulpecula/1.png rename to java/process/maintenance/lang/kether/_assets/Vulpecula/1.png diff --git a/src/content/docs/java/process/maintenance/lang/kether/_assets/Vulpecula/2.png b/java/process/maintenance/lang/kether/_assets/Vulpecula/2.png similarity index 100% rename from src/content/docs/java/process/maintenance/lang/kether/_assets/Vulpecula/2.png rename to java/process/maintenance/lang/kether/_assets/Vulpecula/2.png diff --git a/src/content/docs/java/process/maintenance/lang/kether/_assets/Vulpecula/3.png b/java/process/maintenance/lang/kether/_assets/Vulpecula/3.png similarity index 100% rename from src/content/docs/java/process/maintenance/lang/kether/_assets/Vulpecula/3.png rename to java/process/maintenance/lang/kether/_assets/Vulpecula/3.png diff --git a/src/content/docs/java/process/maintenance/lang/kether/_assets/Vulpecula/4.png b/java/process/maintenance/lang/kether/_assets/Vulpecula/4.png similarity index 100% rename from src/content/docs/java/process/maintenance/lang/kether/_assets/Vulpecula/4.png rename to java/process/maintenance/lang/kether/_assets/Vulpecula/4.png diff --git a/src/content/docs/java/process/maintenance/lang/kether/_assets/Vulpecula/5.png b/java/process/maintenance/lang/kether/_assets/Vulpecula/5.png similarity index 100% rename from src/content/docs/java/process/maintenance/lang/kether/_assets/Vulpecula/5.png rename to java/process/maintenance/lang/kether/_assets/Vulpecula/5.png diff --git a/src/content/docs/java/process/maintenance/lang/kether/_assets/Vulpecula/6.png b/java/process/maintenance/lang/kether/_assets/Vulpecula/6.png similarity index 100% rename from src/content/docs/java/process/maintenance/lang/kether/_assets/Vulpecula/6.png rename to java/process/maintenance/lang/kether/_assets/Vulpecula/6.png diff --git a/src/content/docs/java/process/maintenance/lang/kether/_assets/Vulpecula/7.png b/java/process/maintenance/lang/kether/_assets/Vulpecula/7.png similarity index 100% rename from src/content/docs/java/process/maintenance/lang/kether/_assets/Vulpecula/7.png rename to java/process/maintenance/lang/kether/_assets/Vulpecula/7.png diff --git a/src/content/docs/java/process/maintenance/lang/kether/_assets/Vulpecula/8.png b/java/process/maintenance/lang/kether/_assets/Vulpecula/8.png similarity index 100% rename from src/content/docs/java/process/maintenance/lang/kether/_assets/Vulpecula/8.png rename to java/process/maintenance/lang/kether/_assets/Vulpecula/8.png diff --git a/src/content/docs/java/process/maintenance/lang/kether/_assets/Vulpecula/9.png b/java/process/maintenance/lang/kether/_assets/Vulpecula/9.png similarity index 100% rename from src/content/docs/java/process/maintenance/lang/kether/_assets/Vulpecula/9.png rename to java/process/maintenance/lang/kether/_assets/Vulpecula/9.png diff --git a/src/content/docs/java/process/maintenance/lang/kether/_assets/if_1.png b/java/process/maintenance/lang/kether/_assets/if_1.png similarity index 100% rename from src/content/docs/java/process/maintenance/lang/kether/_assets/if_1.png rename to java/process/maintenance/lang/kether/_assets/if_1.png diff --git a/src/content/docs/java/process/maintenance/lang/kether/_assets/if_2.png b/java/process/maintenance/lang/kether/_assets/if_2.png similarity index 100% rename from src/content/docs/java/process/maintenance/lang/kether/_assets/if_2.png rename to java/process/maintenance/lang/kether/_assets/if_2.png diff --git a/src/content/docs/java/process/maintenance/lang/kether/_assets/if_3.png b/java/process/maintenance/lang/kether/_assets/if_3.png similarity index 100% rename from src/content/docs/java/process/maintenance/lang/kether/_assets/if_3.png rename to java/process/maintenance/lang/kether/_assets/if_3.png diff --git a/src/content/docs/java/process/maintenance/lang/kether/_assets/inline.png b/java/process/maintenance/lang/kether/_assets/inline.png similarity index 100% rename from src/content/docs/java/process/maintenance/lang/kether/_assets/inline.png rename to java/process/maintenance/lang/kether/_assets/inline.png diff --git a/src/content/docs/java/process/maintenance/lang/kether/_assets/math_1.png b/java/process/maintenance/lang/kether/_assets/math_1.png similarity index 100% rename from src/content/docs/java/process/maintenance/lang/kether/_assets/math_1.png rename to java/process/maintenance/lang/kether/_assets/math_1.png diff --git a/src/content/docs/java/process/maintenance/lang/kether/_assets/result.png b/java/process/maintenance/lang/kether/_assets/result.png similarity index 100% rename from src/content/docs/java/process/maintenance/lang/kether/_assets/result.png rename to java/process/maintenance/lang/kether/_assets/result.png diff --git a/src/content/docs/java/process/maintenance/lang/kether/_assets/type_1.png b/java/process/maintenance/lang/kether/_assets/type_1.png similarity index 100% rename from src/content/docs/java/process/maintenance/lang/kether/_assets/type_1.png rename to java/process/maintenance/lang/kether/_assets/type_1.png diff --git a/src/content/docs/java/process/maintenance/lang/kether/_assets/var_1.png b/java/process/maintenance/lang/kether/_assets/var_1.png similarity index 100% rename from src/content/docs/java/process/maintenance/lang/kether/_assets/var_1.png rename to java/process/maintenance/lang/kether/_assets/var_1.png diff --git a/src/content/docs/java/process/maintenance/lang/kether/_assets/var_2.png b/java/process/maintenance/lang/kether/_assets/var_2.png similarity index 100% rename from src/content/docs/java/process/maintenance/lang/kether/_assets/var_2.png rename to java/process/maintenance/lang/kether/_assets/var_2.png diff --git a/src/content/docs/java/process/maintenance/lang/kether/_assets/var_3.png b/java/process/maintenance/lang/kether/_assets/var_3.png similarity index 100% rename from src/content/docs/java/process/maintenance/lang/kether/_assets/var_3.png rename to java/process/maintenance/lang/kether/_assets/var_3.png diff --git a/src/content/docs/java/process/maintenance/lang/kether/_assets/var_4.png b/java/process/maintenance/lang/kether/_assets/var_4.png similarity index 100% rename from src/content/docs/java/process/maintenance/lang/kether/_assets/var_4.png rename to java/process/maintenance/lang/kether/_assets/var_4.png diff --git a/src/content/docs/java/process/maintenance/lang/kether/_assets/var_5.png b/java/process/maintenance/lang/kether/_assets/var_5.png similarity index 100% rename from src/content/docs/java/process/maintenance/lang/kether/_assets/var_5.png rename to java/process/maintenance/lang/kether/_assets/var_5.png diff --git a/src/content/docs/java/process/maintenance/lang/kether/_assets/var_6.png b/java/process/maintenance/lang/kether/_assets/var_6.png similarity index 100% rename from src/content/docs/java/process/maintenance/lang/kether/_assets/var_6.png rename to java/process/maintenance/lang/kether/_assets/var_6.png diff --git a/src/content/docs/java/process/maintenance/lang/kether/_assets/var_7.png b/java/process/maintenance/lang/kether/_assets/var_7.png similarity index 100% rename from src/content/docs/java/process/maintenance/lang/kether/_assets/var_7.png rename to java/process/maintenance/lang/kether/_assets/var_7.png diff --git a/src/content/docs/java/process/maintenance/lang/kether/_assets/vul-check.png b/java/process/maintenance/lang/kether/_assets/vul-check.png similarity index 100% rename from src/content/docs/java/process/maintenance/lang/kether/_assets/vul-check.png rename to java/process/maintenance/lang/kether/_assets/vul-check.png diff --git a/src/content/docs/java/process/maintenance/lang/kether/_assets/vul-color.png b/java/process/maintenance/lang/kether/_assets/vul-color.png similarity index 100% rename from src/content/docs/java/process/maintenance/lang/kether/_assets/vul-color.png rename to java/process/maintenance/lang/kether/_assets/vul-color.png diff --git a/src/content/docs/java/process/maintenance/lang/kether/_assets/vul-papi.png b/java/process/maintenance/lang/kether/_assets/vul-papi.png similarity index 100% rename from src/content/docs/java/process/maintenance/lang/kether/_assets/vul-papi.png rename to java/process/maintenance/lang/kether/_assets/vul-papi.png diff --git a/src/content/docs/java/process/maintenance/lang/kether/_assets/vul-perm.png b/java/process/maintenance/lang/kether/_assets/vul-perm.png similarity index 100% rename from src/content/docs/java/process/maintenance/lang/kether/_assets/vul-perm.png rename to java/process/maintenance/lang/kether/_assets/vul-perm.png diff --git a/src/content/docs/java/process/maintenance/lang/kether/_assets/vul-permNot_1.png b/java/process/maintenance/lang/kether/_assets/vul-permNot_1.png similarity index 100% rename from src/content/docs/java/process/maintenance/lang/kether/_assets/vul-permNot_1.png rename to java/process/maintenance/lang/kether/_assets/vul-permNot_1.png diff --git a/src/content/docs/java/process/maintenance/lang/kether/_assets/vul-permNot_2.png b/java/process/maintenance/lang/kether/_assets/vul-permNot_2.png similarity index 100% rename from src/content/docs/java/process/maintenance/lang/kether/_assets/vul-permNot_2.png rename to java/process/maintenance/lang/kether/_assets/vul-permNot_2.png diff --git a/src/content/docs/java/process/maintenance/lang/kether/_assets/vul-tell.png b/java/process/maintenance/lang/kether/_assets/vul-tell.png similarity index 100% rename from src/content/docs/java/process/maintenance/lang/kether/_assets/vul-tell.png rename to java/process/maintenance/lang/kether/_assets/vul-tell.png diff --git a/src/content/docs/java/process/maintenance/lang/kether/_assets/vul-tell_color.png b/java/process/maintenance/lang/kether/_assets/vul-tell_color.png similarity index 100% rename from src/content/docs/java/process/maintenance/lang/kether/_assets/vul-tell_color.png rename to java/process/maintenance/lang/kether/_assets/vul-tell_color.png diff --git a/src/content/docs/java/process/maintenance/lang/kether/_assets/vul-tell_name.png b/java/process/maintenance/lang/kether/_assets/vul-tell_name.png similarity index 100% rename from src/content/docs/java/process/maintenance/lang/kether/_assets/vul-tell_name.png rename to java/process/maintenance/lang/kether/_assets/vul-tell_name.png diff --git a/src/content/docs/java/process/maintenance/lang/kether/_assets/vul-tell_noColor.png b/java/process/maintenance/lang/kether/_assets/vul-tell_noColor.png similarity index 100% rename from src/content/docs/java/process/maintenance/lang/kether/_assets/vul-tell_noColor.png rename to java/process/maintenance/lang/kether/_assets/vul-tell_noColor.png diff --git a/src/content/docs/java/process/maintenance/lang/kether/_assets/vul-tell_papiNoInline.png b/java/process/maintenance/lang/kether/_assets/vul-tell_papiNoInline.png similarity index 100% rename from src/content/docs/java/process/maintenance/lang/kether/_assets/vul-tell_papiNoInline.png rename to java/process/maintenance/lang/kether/_assets/vul-tell_papiNoInline.png diff --git a/src/content/docs/java/process/maintenance/lang/kether/_assets/vul-tell_papiWithInline.png b/java/process/maintenance/lang/kether/_assets/vul-tell_papiWithInline.png similarity index 100% rename from src/content/docs/java/process/maintenance/lang/kether/_assets/vul-tell_papiWithInline.png rename to java/process/maintenance/lang/kether/_assets/vul-tell_papiWithInline.png diff --git a/src/content/docs/java/process/maintenance/lang/kether/_assets/vul-tell_papiWithJoin.png b/java/process/maintenance/lang/kether/_assets/vul-tell_papiWithJoin.png similarity index 100% rename from src/content/docs/java/process/maintenance/lang/kether/_assets/vul-tell_papiWithJoin.png rename to java/process/maintenance/lang/kether/_assets/vul-tell_papiWithJoin.png diff --git a/src/content/docs/java/process/maintenance/lang/kether/_assets/vul-tell_tell.png b/java/process/maintenance/lang/kether/_assets/vul-tell_tell.png similarity index 100% rename from src/content/docs/java/process/maintenance/lang/kether/_assets/vul-tell_tell.png rename to java/process/maintenance/lang/kether/_assets/vul-tell_tell.png diff --git a/src/content/docs/java/process/maintenance/lang/kether/_assets/web-tell.png b/java/process/maintenance/lang/kether/_assets/web-tell.png similarity index 100% rename from src/content/docs/java/process/maintenance/lang/kether/_assets/web-tell.png rename to java/process/maintenance/lang/kether/_assets/web-tell.png diff --git "a/src/content/docs/java/process/maintenance/lang/kether/_assets/\345\206\222\346\261\227.jpg" "b/java/process/maintenance/lang/kether/_assets/\345\206\222\346\261\227.jpg" similarity index 100% rename from "src/content/docs/java/process/maintenance/lang/kether/_assets/\345\206\222\346\261\227.jpg" rename to "java/process/maintenance/lang/kether/_assets/\345\206\222\346\261\227.jpg" diff --git "a/src/content/docs/java/process/maintenance/lang/kether/_assets/\346\213\254\345\217\267.png" "b/java/process/maintenance/lang/kether/_assets/\346\213\254\345\217\267.png" similarity index 100% rename from "src/content/docs/java/process/maintenance/lang/kether/_assets/\346\213\254\345\217\267.png" rename to "java/process/maintenance/lang/kether/_assets/\346\213\254\345\217\267.png" diff --git "a/src/content/docs/java/process/maintenance/lang/kether/_assets/\346\255\243\347\273\217\347\254\221.jpg" "b/java/process/maintenance/lang/kether/_assets/\346\255\243\347\273\217\347\254\221.jpg" similarity index 100% rename from "src/content/docs/java/process/maintenance/lang/kether/_assets/\346\255\243\347\273\217\347\254\221.jpg" rename to "java/process/maintenance/lang/kether/_assets/\346\255\243\347\273\217\347\254\221.jpg" diff --git "a/src/content/docs/java/process/maintenance/lang/kether/_assets/\347\227\264\345\221\206.jpg" "b/java/process/maintenance/lang/kether/_assets/\347\227\264\345\221\206.jpg" similarity index 100% rename from "src/content/docs/java/process/maintenance/lang/kether/_assets/\347\227\264\345\221\206.jpg" rename to "java/process/maintenance/lang/kether/_assets/\347\227\264\345\221\206.jpg" diff --git a/src/content/docs/java/process/maintenance/lang/kether/basic.md b/java/process/maintenance/lang/kether/basic.md similarity index 100% rename from src/content/docs/java/process/maintenance/lang/kether/basic.md rename to java/process/maintenance/lang/kether/basic.md diff --git a/src/content/docs/java/process/maintenance/lang/kether/if.md b/java/process/maintenance/lang/kether/if.md similarity index 100% rename from src/content/docs/java/process/maintenance/lang/kether/if.md rename to java/process/maintenance/lang/kether/if.md diff --git a/src/content/docs/java/process/maintenance/lang/kether/kether.md b/java/process/maintenance/lang/kether/kether.md similarity index 100% rename from src/content/docs/java/process/maintenance/lang/kether/kether.md rename to java/process/maintenance/lang/kether/kether.md diff --git a/src/content/docs/java/process/maintenance/lang/kether/math.md b/java/process/maintenance/lang/kether/math.md similarity index 100% rename from src/content/docs/java/process/maintenance/lang/kether/math.md rename to java/process/maintenance/lang/kether/math.md diff --git a/src/content/docs/java/process/maintenance/lang/kether/misc.md b/java/process/maintenance/lang/kether/misc.md similarity index 100% rename from src/content/docs/java/process/maintenance/lang/kether/misc.md rename to java/process/maintenance/lang/kether/misc.md diff --git a/src/content/docs/java/process/maintenance/lang/kether/preparation.md b/java/process/maintenance/lang/kether/preparation.md similarity index 100% rename from src/content/docs/java/process/maintenance/lang/kether/preparation.md rename to java/process/maintenance/lang/kether/preparation.md diff --git a/src/content/docs/java/process/maintenance/lang/kether/variable.md b/java/process/maintenance/lang/kether/variable.md similarity index 100% rename from src/content/docs/java/process/maintenance/lang/kether/variable.md rename to java/process/maintenance/lang/kether/variable.md diff --git a/src/content/docs/java/process/maintenance/lang/kether/vulpecula.md b/java/process/maintenance/lang/kether/vulpecula.md similarity index 100% rename from src/content/docs/java/process/maintenance/lang/kether/vulpecula.md rename to java/process/maintenance/lang/kether/vulpecula.md diff --git a/src/content/docs/java/process/maintenance/lang/lang.md b/java/process/maintenance/lang/lang.md similarity index 100% rename from src/content/docs/java/process/maintenance/lang/lang.md rename to java/process/maintenance/lang/lang.md diff --git a/src/content/docs/java/process/maintenance/lang/skript/_assets/QuerySubclasses.png b/java/process/maintenance/lang/skript/_assets/QuerySubclasses.png similarity index 100% rename from src/content/docs/java/process/maintenance/lang/skript/_assets/QuerySubclasses.png rename to java/process/maintenance/lang/skript/_assets/QuerySubclasses.png diff --git a/src/content/docs/java/process/maintenance/lang/skript/_assets/SearchEvent.png b/java/process/maintenance/lang/skript/_assets/SearchEvent.png similarity index 100% rename from src/content/docs/java/process/maintenance/lang/skript/_assets/SearchEvent.png rename to java/process/maintenance/lang/skript/_assets/SearchEvent.png diff --git a/src/content/docs/java/process/maintenance/lang/skript/_assets/SearchMethods.png b/java/process/maintenance/lang/skript/_assets/SearchMethods.png similarity index 100% rename from src/content/docs/java/process/maintenance/lang/skript/_assets/SearchMethods.png rename to java/process/maintenance/lang/skript/_assets/SearchMethods.png diff --git a/src/content/docs/java/process/maintenance/lang/skript/_assets/SkriptBasic1.png b/java/process/maintenance/lang/skript/_assets/SkriptBasic1.png similarity index 100% rename from src/content/docs/java/process/maintenance/lang/skript/_assets/SkriptBasic1.png rename to java/process/maintenance/lang/skript/_assets/SkriptBasic1.png diff --git a/src/content/docs/java/process/maintenance/lang/skript/advanced-tutorials.md b/java/process/maintenance/lang/skript/advanced-tutorials.md similarity index 100% rename from src/content/docs/java/process/maintenance/lang/skript/advanced-tutorials.md rename to java/process/maintenance/lang/skript/advanced-tutorials.md diff --git a/src/content/docs/java/process/maintenance/lang/skript/basic-tutorials.md b/java/process/maintenance/lang/skript/basic-tutorials.md similarity index 100% rename from src/content/docs/java/process/maintenance/lang/skript/basic-tutorials.md rename to java/process/maintenance/lang/skript/basic-tutorials.md diff --git a/src/content/docs/java/process/maintenance/lang/skript/skript.md b/java/process/maintenance/lang/skript/skript.md similarity index 100% rename from src/content/docs/java/process/maintenance/lang/skript/skript.md rename to java/process/maintenance/lang/skript/skript.md diff --git a/src/content/docs/java/process/maintenance/maintenance.md b/java/process/maintenance/maintenance.md similarity index 100% rename from src/content/docs/java/process/maintenance/maintenance.md rename to java/process/maintenance/maintenance.md diff --git a/src/content/docs/java/process/maintenance/optimize/_assets/ummm.jpg b/java/process/maintenance/optimize/_assets/ummm.jpg similarity index 100% rename from src/content/docs/java/process/maintenance/optimize/_assets/ummm.jpg rename to java/process/maintenance/optimize/_assets/ummm.jpg diff --git "a/src/content/docs/java/process/maintenance/optimize/_assets/\346\200\216\344\271\210\350\256\251\345\244\247\344\275\254\345\270\256\346\210\221/spark_start.png" "b/java/process/maintenance/optimize/_assets/\346\200\216\344\271\210\350\256\251\345\244\247\344\275\254\345\270\256\346\210\221/spark_start.png" similarity index 100% rename from "src/content/docs/java/process/maintenance/optimize/_assets/\346\200\216\344\271\210\350\256\251\345\244\247\344\275\254\345\270\256\346\210\221/spark_start.png" rename to "java/process/maintenance/optimize/_assets/\346\200\216\344\271\210\350\256\251\345\244\247\344\275\254\345\270\256\346\210\221/spark_start.png" diff --git "a/src/content/docs/java/process/maintenance/optimize/_assets/\346\200\216\344\271\210\350\256\251\345\244\247\344\275\254\345\270\256\346\210\221/spark_stop.png" "b/java/process/maintenance/optimize/_assets/\346\200\216\344\271\210\350\256\251\345\244\247\344\275\254\345\270\256\346\210\221/spark_stop.png" similarity index 100% rename from "src/content/docs/java/process/maintenance/optimize/_assets/\346\200\216\344\271\210\350\256\251\345\244\247\344\275\254\345\270\256\346\210\221/spark_stop.png" rename to "java/process/maintenance/optimize/_assets/\346\200\216\344\271\210\350\256\251\345\244\247\344\275\254\345\270\256\346\210\221/spark_stop.png" diff --git a/src/content/docs/java/process/maintenance/optimize/ask-for-help.md b/java/process/maintenance/optimize/ask-for-help.md similarity index 100% rename from src/content/docs/java/process/maintenance/optimize/ask-for-help.md rename to java/process/maintenance/optimize/ask-for-help.md diff --git a/src/content/docs/java/process/maintenance/optimize/go.mdx b/java/process/maintenance/optimize/go.mdx similarity index 100% rename from src/content/docs/java/process/maintenance/optimize/go.mdx rename to java/process/maintenance/optimize/go.mdx diff --git a/src/content/docs/java/process/maintenance/optimize/img.png b/java/process/maintenance/optimize/img.png similarity index 100% rename from src/content/docs/java/process/maintenance/optimize/img.png rename to java/process/maintenance/optimize/img.png diff --git a/src/content/docs/java/process/maintenance/optimize/jvm/common.md b/java/process/maintenance/optimize/jvm/common.md similarity index 100% rename from src/content/docs/java/process/maintenance/optimize/jvm/common.md rename to java/process/maintenance/optimize/jvm/common.md diff --git a/src/content/docs/java/process/maintenance/optimize/jvm/dragonwell11.md b/java/process/maintenance/optimize/jvm/dragonwell11.md similarity index 100% rename from src/content/docs/java/process/maintenance/optimize/jvm/dragonwell11.md rename to java/process/maintenance/optimize/jvm/dragonwell11.md diff --git a/src/content/docs/java/process/maintenance/optimize/jvm/dragonwell8.md b/java/process/maintenance/optimize/jvm/dragonwell8.md similarity index 100% rename from src/content/docs/java/process/maintenance/optimize/jvm/dragonwell8.md rename to java/process/maintenance/optimize/jvm/dragonwell8.md diff --git a/src/content/docs/java/process/maintenance/optimize/jvm/graal.md b/java/process/maintenance/optimize/jvm/graal.md similarity index 100% rename from src/content/docs/java/process/maintenance/optimize/jvm/graal.md rename to java/process/maintenance/optimize/jvm/graal.md diff --git a/src/content/docs/java/process/maintenance/optimize/jvm/jvm.md b/java/process/maintenance/optimize/jvm/jvm.md similarity index 100% rename from src/content/docs/java/process/maintenance/optimize/jvm/jvm.md rename to java/process/maintenance/optimize/jvm/jvm.md diff --git a/src/content/docs/java/process/maintenance/optimize/jvm/openj9.md b/java/process/maintenance/optimize/jvm/openj9.md similarity index 100% rename from src/content/docs/java/process/maintenance/optimize/jvm/openj9.md rename to java/process/maintenance/optimize/jvm/openj9.md diff --git a/src/content/docs/java/process/maintenance/optimize/jvm/zing.md b/java/process/maintenance/optimize/jvm/zing.md similarity index 100% rename from src/content/docs/java/process/maintenance/optimize/jvm/zing.md rename to java/process/maintenance/optimize/jvm/zing.md diff --git a/src/content/docs/java/process/maintenance/optimize/kernel.md b/java/process/maintenance/optimize/kernel.md similarity index 100% rename from src/content/docs/java/process/maintenance/optimize/kernel.md rename to java/process/maintenance/optimize/kernel.md diff --git a/src/content/docs/java/process/maintenance/optimize/optimize.md b/java/process/maintenance/optimize/optimize.md similarity index 100% rename from src/content/docs/java/process/maintenance/optimize/optimize.md rename to java/process/maintenance/optimize/optimize.md diff --git a/src/content/docs/java/process/maintenance/optimize/optimized-plugin.md b/java/process/maintenance/optimize/optimized-plugin.md similarity index 100% rename from src/content/docs/java/process/maintenance/optimize/optimized-plugin.md rename to java/process/maintenance/optimize/optimized-plugin.md diff --git a/src/content/docs/java/process/maintenance/optimize/performance-analysis.md b/java/process/maintenance/optimize/performance-analysis.md similarity index 100% rename from src/content/docs/java/process/maintenance/optimize/performance-analysis.md rename to java/process/maintenance/optimize/performance-analysis.md diff --git a/src/content/docs/java/process/maintenance/optimize/storage-space-optimization.md b/java/process/maintenance/optimize/storage-space-optimization.md similarity index 100% rename from src/content/docs/java/process/maintenance/optimize/storage-space-optimization.md rename to java/process/maintenance/optimize/storage-space-optimization.md diff --git a/src/content/docs/java/process/maintenance/resourcepack/_assets/1.png b/java/process/maintenance/resourcepack/_assets/1.png similarity index 100% rename from src/content/docs/java/process/maintenance/resourcepack/_assets/1.png rename to java/process/maintenance/resourcepack/_assets/1.png diff --git a/src/content/docs/java/process/maintenance/resourcepack/_assets/2.png b/java/process/maintenance/resourcepack/_assets/2.png similarity index 100% rename from src/content/docs/java/process/maintenance/resourcepack/_assets/2.png rename to java/process/maintenance/resourcepack/_assets/2.png diff --git a/src/content/docs/java/process/maintenance/resourcepack/_assets/3.png b/java/process/maintenance/resourcepack/_assets/3.png similarity index 100% rename from src/content/docs/java/process/maintenance/resourcepack/_assets/3.png rename to java/process/maintenance/resourcepack/_assets/3.png diff --git a/src/content/docs/java/process/maintenance/resourcepack/_assets/4.png b/java/process/maintenance/resourcepack/_assets/4.png similarity index 100% rename from src/content/docs/java/process/maintenance/resourcepack/_assets/4.png rename to java/process/maintenance/resourcepack/_assets/4.png diff --git a/src/content/docs/java/process/maintenance/resourcepack/_assets/5.png b/java/process/maintenance/resourcepack/_assets/5.png similarity index 100% rename from src/content/docs/java/process/maintenance/resourcepack/_assets/5.png rename to java/process/maintenance/resourcepack/_assets/5.png diff --git a/src/content/docs/java/process/maintenance/resourcepack/_assets/6.png b/java/process/maintenance/resourcepack/_assets/6.png similarity index 100% rename from src/content/docs/java/process/maintenance/resourcepack/_assets/6.png rename to java/process/maintenance/resourcepack/_assets/6.png diff --git a/src/content/docs/java/process/maintenance/resourcepack/_assets/7.png b/java/process/maintenance/resourcepack/_assets/7.png similarity index 100% rename from src/content/docs/java/process/maintenance/resourcepack/_assets/7.png rename to java/process/maintenance/resourcepack/_assets/7.png diff --git a/src/content/docs/java/process/maintenance/resourcepack/_assets/8.png b/java/process/maintenance/resourcepack/_assets/8.png similarity index 100% rename from src/content/docs/java/process/maintenance/resourcepack/_assets/8.png rename to java/process/maintenance/resourcepack/_assets/8.png diff --git a/src/content/docs/java/process/maintenance/resourcepack/_assets/blockbench.png b/java/process/maintenance/resourcepack/_assets/blockbench.png similarity index 100% rename from src/content/docs/java/process/maintenance/resourcepack/_assets/blockbench.png rename to java/process/maintenance/resourcepack/_assets/blockbench.png diff --git a/src/content/docs/java/process/maintenance/resourcepack/_assets/head.png b/java/process/maintenance/resourcepack/_assets/head.png similarity index 100% rename from src/content/docs/java/process/maintenance/resourcepack/_assets/head.png rename to java/process/maintenance/resourcepack/_assets/head.png diff --git a/src/content/docs/java/process/maintenance/resourcepack/_assets/title.png b/java/process/maintenance/resourcepack/_assets/title.png similarity index 100% rename from src/content/docs/java/process/maintenance/resourcepack/_assets/title.png rename to java/process/maintenance/resourcepack/_assets/title.png diff --git a/src/content/docs/java/process/maintenance/resourcepack/_assets/tooltip1.png b/java/process/maintenance/resourcepack/_assets/tooltip1.png similarity index 100% rename from src/content/docs/java/process/maintenance/resourcepack/_assets/tooltip1.png rename to java/process/maintenance/resourcepack/_assets/tooltip1.png diff --git a/src/content/docs/java/process/maintenance/resourcepack/_assets/tooltip2.png b/java/process/maintenance/resourcepack/_assets/tooltip2.png similarity index 100% rename from src/content/docs/java/process/maintenance/resourcepack/_assets/tooltip2.png rename to java/process/maintenance/resourcepack/_assets/tooltip2.png diff --git a/src/content/docs/java/process/maintenance/resourcepack/addon.md b/java/process/maintenance/resourcepack/addon.md similarity index 100% rename from src/content/docs/java/process/maintenance/resourcepack/addon.md rename to java/process/maintenance/resourcepack/addon.md diff --git a/src/content/docs/java/process/maintenance/resourcepack/compress.md b/java/process/maintenance/resourcepack/compress.md similarity index 100% rename from src/content/docs/java/process/maintenance/resourcepack/compress.md rename to java/process/maintenance/resourcepack/compress.md diff --git a/src/content/docs/java/process/maintenance/resourcepack/plugins/_assets/25b2c895c2af14fbc7e6989404d0ff7af64020ea.gif b/java/process/maintenance/resourcepack/plugins/_assets/25b2c895c2af14fbc7e6989404d0ff7af64020ea.gif similarity index 100% rename from src/content/docs/java/process/maintenance/resourcepack/plugins/_assets/25b2c895c2af14fbc7e6989404d0ff7af64020ea.gif rename to java/process/maintenance/resourcepack/plugins/_assets/25b2c895c2af14fbc7e6989404d0ff7af64020ea.gif diff --git a/src/content/docs/java/process/maintenance/resourcepack/plugins/_assets/272f487d799270ea2e204de73236dda77d18f954.gif b/java/process/maintenance/resourcepack/plugins/_assets/272f487d799270ea2e204de73236dda77d18f954.gif similarity index 100% rename from src/content/docs/java/process/maintenance/resourcepack/plugins/_assets/272f487d799270ea2e204de73236dda77d18f954.gif rename to java/process/maintenance/resourcepack/plugins/_assets/272f487d799270ea2e204de73236dda77d18f954.gif diff --git a/src/content/docs/java/process/maintenance/resourcepack/plugins/_assets/30a53ea3a4d029784f4ed54d17a335e099b805b4.gif b/java/process/maintenance/resourcepack/plugins/_assets/30a53ea3a4d029784f4ed54d17a335e099b805b4.gif similarity index 100% rename from src/content/docs/java/process/maintenance/resourcepack/plugins/_assets/30a53ea3a4d029784f4ed54d17a335e099b805b4.gif rename to java/process/maintenance/resourcepack/plugins/_assets/30a53ea3a4d029784f4ed54d17a335e099b805b4.gif diff --git a/src/content/docs/java/process/maintenance/resourcepack/plugins/_assets/4f4a015981222b37bfa3b2324113d919a33b090f.png b/java/process/maintenance/resourcepack/plugins/_assets/4f4a015981222b37bfa3b2324113d919a33b090f.png similarity index 100% rename from src/content/docs/java/process/maintenance/resourcepack/plugins/_assets/4f4a015981222b37bfa3b2324113d919a33b090f.png rename to java/process/maintenance/resourcepack/plugins/_assets/4f4a015981222b37bfa3b2324113d919a33b090f.png diff --git a/src/content/docs/java/process/maintenance/resourcepack/plugins/_assets/52470cba6836ab471f19c8e788c513765de2d02c.png b/java/process/maintenance/resourcepack/plugins/_assets/52470cba6836ab471f19c8e788c513765de2d02c.png similarity index 100% rename from src/content/docs/java/process/maintenance/resourcepack/plugins/_assets/52470cba6836ab471f19c8e788c513765de2d02c.png rename to java/process/maintenance/resourcepack/plugins/_assets/52470cba6836ab471f19c8e788c513765de2d02c.png diff --git a/src/content/docs/java/process/maintenance/resourcepack/plugins/_assets/d0a7f51a86d1a313f1b41f27e021421adc93eec9.png b/java/process/maintenance/resourcepack/plugins/_assets/d0a7f51a86d1a313f1b41f27e021421adc93eec9.png similarity index 100% rename from src/content/docs/java/process/maintenance/resourcepack/plugins/_assets/d0a7f51a86d1a313f1b41f27e021421adc93eec9.png rename to java/process/maintenance/resourcepack/plugins/_assets/d0a7f51a86d1a313f1b41f27e021421adc93eec9.png diff --git a/src/content/docs/java/process/maintenance/resourcepack/plugins/_assets/f6b239e0689c433ef5a2c0e85f710e988bf1ba4e.gif b/java/process/maintenance/resourcepack/plugins/_assets/f6b239e0689c433ef5a2c0e85f710e988bf1ba4e.gif similarity index 100% rename from src/content/docs/java/process/maintenance/resourcepack/plugins/_assets/f6b239e0689c433ef5a2c0e85f710e988bf1ba4e.gif rename to java/process/maintenance/resourcepack/plugins/_assets/f6b239e0689c433ef5a2c0e85f710e988bf1ba4e.gif diff --git a/src/content/docs/java/process/maintenance/resourcepack/plugins/_assets/fd658155424cd985553237821611dfdea040b166.gif b/java/process/maintenance/resourcepack/plugins/_assets/fd658155424cd985553237821611dfdea040b166.gif similarity index 100% rename from src/content/docs/java/process/maintenance/resourcepack/plugins/_assets/fd658155424cd985553237821611dfdea040b166.gif rename to java/process/maintenance/resourcepack/plugins/_assets/fd658155424cd985553237821611dfdea040b166.gif diff --git a/src/content/docs/java/process/maintenance/resourcepack/plugins/_assets/videoframe_1994.png b/java/process/maintenance/resourcepack/plugins/_assets/videoframe_1994.png similarity index 100% rename from src/content/docs/java/process/maintenance/resourcepack/plugins/_assets/videoframe_1994.png rename to java/process/maintenance/resourcepack/plugins/_assets/videoframe_1994.png diff --git a/src/content/docs/java/process/maintenance/resourcepack/plugins/_assets/videoframe_931.png b/java/process/maintenance/resourcepack/plugins/_assets/videoframe_931.png similarity index 100% rename from src/content/docs/java/process/maintenance/resourcepack/plugins/_assets/videoframe_931.png rename to java/process/maintenance/resourcepack/plugins/_assets/videoframe_931.png diff --git a/src/content/docs/java/process/maintenance/resourcepack/plugins/entity.md b/java/process/maintenance/resourcepack/plugins/entity.md similarity index 100% rename from src/content/docs/java/process/maintenance/resourcepack/plugins/entity.md rename to java/process/maintenance/resourcepack/plugins/entity.md diff --git a/src/content/docs/java/process/maintenance/resourcepack/plugins/framework.md b/java/process/maintenance/resourcepack/plugins/framework.md similarity index 100% rename from src/content/docs/java/process/maintenance/resourcepack/plugins/framework.md rename to java/process/maintenance/resourcepack/plugins/framework.md diff --git a/src/content/docs/java/process/maintenance/resourcepack/plugins/hud.md b/java/process/maintenance/resourcepack/plugins/hud.md similarity index 100% rename from src/content/docs/java/process/maintenance/resourcepack/plugins/hud.md rename to java/process/maintenance/resourcepack/plugins/hud.md diff --git a/src/content/docs/java/process/maintenance/resourcepack/plugins/misc.md b/java/process/maintenance/resourcepack/plugins/misc.md similarity index 100% rename from src/content/docs/java/process/maintenance/resourcepack/plugins/misc.md rename to java/process/maintenance/resourcepack/plugins/misc.md diff --git a/src/content/docs/java/process/maintenance/resourcepack/plugins/plugins.md b/java/process/maintenance/resourcepack/plugins/plugins.md similarity index 100% rename from src/content/docs/java/process/maintenance/resourcepack/plugins/plugins.md rename to java/process/maintenance/resourcepack/plugins/plugins.md diff --git a/src/content/docs/java/process/maintenance/resourcepack/plugins/tooltip.md b/java/process/maintenance/resourcepack/plugins/tooltip.md similarity index 100% rename from src/content/docs/java/process/maintenance/resourcepack/plugins/tooltip.md rename to java/process/maintenance/resourcepack/plugins/tooltip.md diff --git a/src/content/docs/java/process/maintenance/resourcepack/plugins/vehicles.md b/java/process/maintenance/resourcepack/plugins/vehicles.md similarity index 100% rename from src/content/docs/java/process/maintenance/resourcepack/plugins/vehicles.md rename to java/process/maintenance/resourcepack/plugins/vehicles.md diff --git a/src/content/docs/java/process/maintenance/resourcepack/protect.md b/java/process/maintenance/resourcepack/protect.md similarity index 100% rename from src/content/docs/java/process/maintenance/resourcepack/protect.md rename to java/process/maintenance/resourcepack/protect.md diff --git a/src/content/docs/java/process/maintenance/resourcepack/resourcepack.md b/java/process/maintenance/resourcepack/resourcepack.md similarity index 100% rename from src/content/docs/java/process/maintenance/resourcepack/resourcepack.md rename to java/process/maintenance/resourcepack/resourcepack.md diff --git a/src/content/docs/java/process/maintenance/resourcepack/send.md b/java/process/maintenance/resourcepack/send.md similarity index 100% rename from src/content/docs/java/process/maintenance/resourcepack/send.md rename to java/process/maintenance/resourcepack/send.md diff --git a/src/content/docs/java/process/maintenance/resourcepack/software.md b/java/process/maintenance/resourcepack/software.md similarity index 100% rename from src/content/docs/java/process/maintenance/resourcepack/software.md rename to java/process/maintenance/resourcepack/software.md diff --git a/src/content/docs/java/start/ask-for-help.md b/java/start/ask-for-help.md similarity index 100% rename from src/content/docs/java/start/ask-for-help.md rename to java/start/ask-for-help.md diff --git a/src/content/docs/java/start/basic/_assets/command-1.png b/java/start/basic/_assets/command-1.png similarity index 100% rename from src/content/docs/java/start/basic/_assets/command-1.png rename to java/start/basic/_assets/command-1.png diff --git a/src/content/docs/java/start/basic/_assets/command-2.png b/java/start/basic/_assets/command-2.png similarity index 100% rename from src/content/docs/java/start/basic/_assets/command-2.png rename to java/start/basic/_assets/command-2.png diff --git a/src/content/docs/java/start/basic/_assets/command-3.png b/java/start/basic/_assets/command-3.png similarity index 100% rename from src/content/docs/java/start/basic/_assets/command-3.png rename to java/start/basic/_assets/command-3.png diff --git a/src/content/docs/java/start/basic/_assets/command-4.png b/java/start/basic/_assets/command-4.png similarity index 100% rename from src/content/docs/java/start/basic/_assets/command-4.png rename to java/start/basic/_assets/command-4.png diff --git a/src/content/docs/general/start/basic/_assets/nogui.jpg b/java/start/basic/_assets/nogui.jpg similarity index 100% rename from src/content/docs/general/start/basic/_assets/nogui.jpg rename to java/start/basic/_assets/nogui.jpg diff --git "a/src/content/docs/java/start/basic/_assets/\345\246\231\345\246\231\346\257\224\345\226\273.png" "b/java/start/basic/_assets/\345\246\231\345\246\231\346\257\224\345\226\273.png" similarity index 100% rename from "src/content/docs/java/start/basic/_assets/\345\246\231\345\246\231\346\257\224\345\226\273.png" rename to "java/start/basic/_assets/\345\246\231\345\246\231\346\257\224\345\226\273.png" diff --git a/src/content/docs/java/start/basic/basic.md b/java/start/basic/basic.md similarity index 100% rename from src/content/docs/java/start/basic/basic.md rename to java/start/basic/basic.md diff --git a/src/content/docs/java/start/basic/relationship-between-servers.md b/java/start/basic/relationship-between-servers.md similarity index 100% rename from src/content/docs/java/start/basic/relationship-between-servers.md rename to java/start/basic/relationship-between-servers.md diff --git a/src/content/docs/java/start/basic/server-management-command.md b/java/start/basic/server-management-command.md similarity index 100% rename from src/content/docs/java/start/basic/server-management-command.md rename to java/start/basic/server-management-command.md diff --git a/src/content/docs/java/start/basic/what-is-datapack.mdx b/java/start/basic/what-is-datapack.mdx similarity index 100% rename from src/content/docs/java/start/basic/what-is-datapack.mdx rename to java/start/basic/what-is-datapack.mdx diff --git a/src/content/docs/java/start/basic/what-is-lag.md b/java/start/basic/what-is-lag.md similarity index 100% rename from src/content/docs/java/start/basic/what-is-lag.md rename to java/start/basic/what-is-lag.md diff --git a/src/content/docs/java/start/basic/what-is-log.md b/java/start/basic/what-is-log.md similarity index 100% rename from src/content/docs/java/start/basic/what-is-log.md rename to java/start/basic/what-is-log.md diff --git a/src/content/docs/java/start/basic/what-is-mod.md b/java/start/basic/what-is-mod.md similarity index 100% rename from src/content/docs/java/start/basic/what-is-mod.md rename to java/start/basic/what-is-mod.md diff --git a/src/content/docs/java/start/basic/what-is-namespace.md b/java/start/basic/what-is-namespace.md similarity index 100% rename from src/content/docs/java/start/basic/what-is-namespace.md rename to java/start/basic/what-is-namespace.md diff --git a/src/content/docs/java/start/basic/what-is-nbt.md b/java/start/basic/what-is-nbt.md similarity index 100% rename from src/content/docs/java/start/basic/what-is-nbt.md rename to java/start/basic/what-is-nbt.md diff --git a/src/content/docs/java/start/basic/what-is-permission.md b/java/start/basic/what-is-permission.md similarity index 100% rename from src/content/docs/java/start/basic/what-is-permission.md rename to java/start/basic/what-is-permission.md diff --git a/src/content/docs/java/start/basic/what-is-plugin.md b/java/start/basic/what-is-plugin.md similarity index 100% rename from src/content/docs/java/start/basic/what-is-plugin.md rename to java/start/basic/what-is-plugin.md diff --git a/src/content/docs/java/start/basic/what-is-server.md b/java/start/basic/what-is-server.md similarity index 100% rename from src/content/docs/java/start/basic/what-is-server.md rename to java/start/basic/what-is-server.md diff --git a/src/content/docs/java/start/basic/what-is-startup-script.md b/java/start/basic/what-is-startup-script.md similarity index 100% rename from src/content/docs/java/start/basic/what-is-startup-script.md rename to java/start/basic/what-is-startup-script.md diff --git a/src/content/docs/java/start/basic/what-is-world.md b/java/start/basic/what-is-world.md similarity index 100% rename from src/content/docs/java/start/basic/what-is-world.md rename to java/start/basic/what-is-world.md diff --git a/src/content/docs/java/start/deploy.md b/java/start/deploy.md similarity index 100% rename from src/content/docs/java/start/deploy.md rename to java/start/deploy.md diff --git a/package.json b/package.json index 9e779de52..e42326a27 100644 --- a/package.json +++ b/package.json @@ -11,14 +11,19 @@ }, "dependencies": { "@astrojs/starlight": "^0.37.1", - "@giscus/react": "^3.1.0", "@tailwindcss/vite": "^4.1.18", - "astro": "^5.6.1", - "sass": "^1.96.0", - "sharp": "^0.34.2" + "astro": "^5.16.6", + "astro-mermaid": "^1.2.0", + "mermaid": "^11.12.2", + "sharp": "^0.34.2", + "starlight-giscus": "^0.8.1", + "starlight-image-zoom": "^0.13.2", + "starlight-sidebar-topics": "^0.6.2", + "starlight-sidebar-topics-dropdown": "^0.5.2" }, "devDependencies": { "@vite-pwa/astro": "^1.2.0", + "starlight-links-validator": "^0.19.2", "tailwindcss": "^4.1.18", "typescript": "^5.9.3" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 242300787..2c218b069 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,26 +10,41 @@ importers: dependencies: '@astrojs/starlight': specifier: ^0.37.1 - version: 0.37.1(astro@5.16.5(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)) - '@giscus/react': - specifier: ^3.1.0 - version: 3.1.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + version: 0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)) '@tailwindcss/vite': specifier: ^4.1.18 version: 4.1.18(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)) astro: - specifier: ^5.6.1 - version: 5.16.5(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3) - sass: - specifier: ^1.96.0 - version: 1.96.0 + specifier: ^5.16.6 + version: 5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3) + astro-mermaid: + specifier: ^1.2.0 + version: 1.2.0(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3))(mermaid@11.12.2) + mermaid: + specifier: ^11.12.2 + version: 11.12.2 sharp: specifier: ^0.34.2 version: 0.34.5 + starlight-giscus: + specifier: ^0.8.1 + version: 0.8.1(@astrojs/starlight@0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3))) + starlight-image-zoom: + specifier: ^0.13.2 + version: 0.13.2(@astrojs/starlight@0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3))) + starlight-sidebar-topics: + specifier: ^0.6.2 + version: 0.6.2(@astrojs/starlight@0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3))) + starlight-sidebar-topics-dropdown: + specifier: ^0.5.2 + version: 0.5.2(@astrojs/starlight@0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)))(starlight-sidebar-topics@0.6.2(@astrojs/starlight@0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)))) devDependencies: '@vite-pwa/astro': specifier: ^1.2.0 - version: 1.2.0(astro@5.16.5(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3))(vite-plugin-pwa@1.2.0(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1))(workbox-build@7.4.0)(workbox-window@7.4.0)) + version: 1.2.0(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3))(vite-plugin-pwa@1.2.0(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1))(workbox-build@7.4.0)(workbox-window@7.4.0)) + starlight-links-validator: + specifier: ^0.19.2 + version: 0.19.2(@astrojs/starlight@0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)))(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)) tailwindcss: specifier: ^4.1.18 version: 4.1.18 @@ -39,6 +54,14 @@ importers: packages: + '@antfu/install-pkg@1.1.0': + resolution: {integrity: sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==} + + '@anthropic-ai/claude-code@1.0.128': + resolution: {integrity: sha512-uUg5cFMJfeQetQzFw76Vpbro6DAXst2Lpu8aoZWRFSoQVYu5ZSAnbBoxaWmW/IgnHSqIIvtMwzCoqmcA9j9rNQ==} + engines: {node: '>=18.0.0'} + hasBin: true + '@apideck/better-ajv-errors@0.3.6': resolution: {integrity: sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==} engines: {node: '>=10'} @@ -571,6 +594,9 @@ packages: resolution: {integrity: sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==} engines: {node: '>=6.9.0'} + '@braintree/sanitize-url@7.1.1': + resolution: {integrity: sha512-i1L7noDNxtFyL5DmZafWy1wRVhGehQmzZaz1HiN5e7iylJMSZR7ekOV7NsIqa5qBldlLrsKv4HbgFUVlQrz8Mw==} + '@bufbuild/protobuf@2.10.2': resolution: {integrity: sha512-uFsRXwIGyu+r6AMdz+XijIIZJYpoWeYzILt5yZ2d3mCjQrWUTVpVD9WL/jZAbvp+Ed04rOhrsk7FiTcEDseB5A==} @@ -578,6 +604,21 @@ packages: resolution: {integrity: sha512-8XqW8xGn++Eqqbz3e9wKuK7mxryeRjs4LOHLxbh2lwKeSbuNR4NFifDZT4KzvjU6HMOPbiNTsWpniK5EJfTWkg==} engines: {node: '>=18'} + '@chevrotain/cst-dts-gen@11.0.3': + resolution: {integrity: sha512-BvIKpRLeS/8UbfxXxgC33xOumsacaeCKAjAeLyOn7Pcp95HiRbrpl14S+9vaZLolnbssPIUuiUd8IvgkRyt6NQ==} + + '@chevrotain/gast@11.0.3': + resolution: {integrity: sha512-+qNfcoNk70PyS/uxmj3li5NiECO+2YKZZQMbmjTqRI3Qchu8Hig/Q9vgkHpI3alNjr7M+a2St5pw5w5F6NL5/Q==} + + '@chevrotain/regexp-to-ast@11.0.3': + resolution: {integrity: sha512-1fMHaBZxLFvWI067AVbGJav1eRY7N8DDvYCTwGBiE/ytKBgP8azTdgyrKyWZ9Mfh09eHWb5PgTSO8wi7U824RA==} + + '@chevrotain/types@11.0.3': + resolution: {integrity: sha512-gsiM3G8b58kZC2HaWR50gu6Y1440cHiJ+i3JUvcp/35JchYejb2+5MVeJK0iKThYpAa/P2PYFV4hoi44HD+aHQ==} + + '@chevrotain/utils@11.0.3': + resolution: {integrity: sha512-YslZMgtJUyuMbZ+aKvfF3x1f5liK4mWNxghFRv7jqRR9C3R3fAOGTTKvxXDa2Y1s9zSbcpuO0cAxDYsc9SrXoQ==} + '@ctrl/tinycolor@4.2.0': resolution: {integrity: sha512-kzyuwOAQnXJNLS9PSyrk0CWk35nWJW/zl/6KvnTBMFK65gm7U1/Z5BqjxeapjZCIhQcM/DsrEmcbRwDyXyXK4A==} engines: {node: '>=14'} @@ -753,43 +794,75 @@ packages: '@expressive-code/plugin-text-markers@0.41.4': resolution: {integrity: sha512-lGqbjtIuiY+UZ+z61kKIJAZtF7H5xoT8lkxANmeoVaat+H47O5A+rr5WLmD45ezprO/NTogxHsaMfqRCuQ4vlw==} - '@giscus/react@3.1.0': - resolution: {integrity: sha512-0TCO2TvL43+oOdyVVGHDItwxD1UMKP2ZYpT6gXmhFOqfAJtZxTzJ9hkn34iAF/b6YzyJ4Um89QIt9z/ajmAEeg==} - peerDependencies: - react: ^16 || ^17 || ^18 || ^19 - react-dom: ^16 || ^17 || ^18 || ^19 + '@iconify/types@2.0.0': + resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} + + '@iconify/utils@3.1.0': + resolution: {integrity: sha512-Zlzem1ZXhI1iHeeERabLNzBHdOa4VhQbqAcOQaMKuTuyZCpwKbC2R4Dd0Zo3g9EAc+Y4fiarO8HIHRAth7+skw==} '@img/colour@1.0.0': resolution: {integrity: sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw==} engines: {node: '>=18'} + '@img/sharp-darwin-arm64@0.33.5': + resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [darwin] + '@img/sharp-darwin-arm64@0.34.5': resolution: {integrity: sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [arm64] os: [darwin] + '@img/sharp-darwin-x64@0.33.5': + resolution: {integrity: sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [darwin] + '@img/sharp-darwin-x64@0.34.5': resolution: {integrity: sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [x64] os: [darwin] + '@img/sharp-libvips-darwin-arm64@1.0.4': + resolution: {integrity: sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==} + cpu: [arm64] + os: [darwin] + '@img/sharp-libvips-darwin-arm64@1.2.4': resolution: {integrity: sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==} cpu: [arm64] os: [darwin] + '@img/sharp-libvips-darwin-x64@1.0.4': + resolution: {integrity: sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==} + cpu: [x64] + os: [darwin] + '@img/sharp-libvips-darwin-x64@1.2.4': resolution: {integrity: sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==} cpu: [x64] os: [darwin] + '@img/sharp-libvips-linux-arm64@1.0.4': + resolution: {integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==} + cpu: [arm64] + os: [linux] + '@img/sharp-libvips-linux-arm64@1.2.4': resolution: {integrity: sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==} cpu: [arm64] os: [linux] + '@img/sharp-libvips-linux-arm@1.0.5': + resolution: {integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==} + cpu: [arm] + os: [linux] + '@img/sharp-libvips-linux-arm@1.2.4': resolution: {integrity: sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==} cpu: [arm] @@ -810,6 +883,11 @@ packages: cpu: [s390x] os: [linux] + '@img/sharp-libvips-linux-x64@1.0.4': + resolution: {integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==} + cpu: [x64] + os: [linux] + '@img/sharp-libvips-linux-x64@1.2.4': resolution: {integrity: sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==} cpu: [x64] @@ -825,12 +903,24 @@ packages: cpu: [x64] os: [linux] + '@img/sharp-linux-arm64@0.33.5': + resolution: {integrity: sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [linux] + '@img/sharp-linux-arm64@0.34.5': resolution: {integrity: sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [arm64] os: [linux] + '@img/sharp-linux-arm@0.33.5': + resolution: {integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm] + os: [linux] + '@img/sharp-linux-arm@0.34.5': resolution: {integrity: sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} @@ -855,6 +945,12 @@ packages: cpu: [s390x] os: [linux] + '@img/sharp-linux-x64@0.33.5': + resolution: {integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [linux] + '@img/sharp-linux-x64@0.34.5': resolution: {integrity: sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} @@ -890,6 +986,12 @@ packages: cpu: [ia32] os: [win32] + '@img/sharp-win32-x64@0.33.5': + resolution: {integrity: sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [win32] + '@img/sharp-win32-x64@0.34.5': resolution: {integrity: sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} @@ -927,15 +1029,12 @@ packages: '@jridgewell/trace-mapping@0.3.31': resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} - '@lit-labs/ssr-dom-shim@1.4.0': - resolution: {integrity: sha512-ficsEARKnmmW5njugNYKipTm4SFnbik7CXtoencDZzmzo/dQ+2Q0bgkzJuoJP20Aj0F+izzJjOqsnkd6F/o1bw==} - - '@lit/reactive-element@2.1.1': - resolution: {integrity: sha512-N+dm5PAYdQ8e6UlywyyrgI2t++wFGXfHx+dSJ1oBrg6FAxUj40jId++EaRm80MKX5JnlH1sBsyZ5h0bcZKemCg==} - '@mdx-js/mdx@3.1.1': resolution: {integrity: sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ==} + '@mermaid-js/parser@0.6.3': + resolution: {integrity: sha512-lnjOhe7zyHjc+If7yT4zoedx2vo4sHaTmtkl1+or8BRTnCtDmcTpAjpzDSfCZrshM5bCoz0GyidzadJAH1xobA==} + '@oslojs/encoding@1.1.0': resolution: {integrity: sha512-70wQhgYmndg4GCPxPPxPGevRKqTIJ2Nh4OkiMWmDAVYsTQ+Ta7Sq+rPevXyXGdzr30/qZBnyOalCszoMxlyldQ==} @@ -1330,6 +1429,99 @@ packages: peerDependencies: vite: ^5.2.0 || ^6 || ^7 + '@types/d3-array@3.2.2': + resolution: {integrity: sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw==} + + '@types/d3-axis@3.0.6': + resolution: {integrity: sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==} + + '@types/d3-brush@3.0.6': + resolution: {integrity: sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==} + + '@types/d3-chord@3.0.6': + resolution: {integrity: sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==} + + '@types/d3-color@3.1.3': + resolution: {integrity: sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==} + + '@types/d3-contour@3.0.6': + resolution: {integrity: sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==} + + '@types/d3-delaunay@6.0.4': + resolution: {integrity: sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==} + + '@types/d3-dispatch@3.0.7': + resolution: {integrity: sha512-5o9OIAdKkhN1QItV2oqaE5KMIiXAvDWBDPrD85e58Qlz1c1kI/J0NcqbEG88CoTwJrYe7ntUCVfeUl2UJKbWgA==} + + '@types/d3-drag@3.0.7': + resolution: {integrity: sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==} + + '@types/d3-dsv@3.0.7': + resolution: {integrity: sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==} + + '@types/d3-ease@3.0.2': + resolution: {integrity: sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==} + + '@types/d3-fetch@3.0.7': + resolution: {integrity: sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==} + + '@types/d3-force@3.0.10': + resolution: {integrity: sha512-ZYeSaCF3p73RdOKcjj+swRlZfnYpK1EbaDiYICEEp5Q6sUiqFaFQ9qgoshp5CzIyyb/yD09kD9o2zEltCexlgw==} + + '@types/d3-format@3.0.4': + resolution: {integrity: sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==} + + '@types/d3-geo@3.1.0': + resolution: {integrity: sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==} + + '@types/d3-hierarchy@3.1.7': + resolution: {integrity: sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg==} + + '@types/d3-interpolate@3.0.4': + resolution: {integrity: sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==} + + '@types/d3-path@3.1.1': + resolution: {integrity: sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==} + + '@types/d3-polygon@3.0.2': + resolution: {integrity: sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==} + + '@types/d3-quadtree@3.0.6': + resolution: {integrity: sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==} + + '@types/d3-random@3.0.3': + resolution: {integrity: sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==} + + '@types/d3-scale-chromatic@3.1.0': + resolution: {integrity: sha512-iWMJgwkK7yTRmWqRB5plb1kadXyQ5Sj8V/zYlFGMUBbIPKQScw+Dku9cAAMgJG+z5GYDoMjWGLVOvjghDEFnKQ==} + + '@types/d3-scale@4.0.9': + resolution: {integrity: sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==} + + '@types/d3-selection@3.0.11': + resolution: {integrity: sha512-bhAXu23DJWsrI45xafYpkQ4NtcKMwWnAC/vKrd2l+nxMFuvOT3XMYTIj2opv8vq8AO5Yh7Qac/nSeP/3zjTK0w==} + + '@types/d3-shape@3.1.7': + resolution: {integrity: sha512-VLvUQ33C+3J+8p+Daf+nYSOsjB4GXp19/S/aGo60m9h1v6XaxjiT82lKVWJCfzhtuZ3yD7i/TPeC/fuKLLOSmg==} + + '@types/d3-time-format@4.0.3': + resolution: {integrity: sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==} + + '@types/d3-time@3.0.4': + resolution: {integrity: sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==} + + '@types/d3-timer@3.0.2': + resolution: {integrity: sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==} + + '@types/d3-transition@3.0.9': + resolution: {integrity: sha512-uZS5shfxzO3rGlu0cC3bjmMFKsXv+SmZZcgp0KD22ts4uGXp5EVYGzu/0YdwZeKmddhcAccYtREJKkPfXkZuCg==} + + '@types/d3-zoom@3.0.8': + resolution: {integrity: sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==} + + '@types/d3@7.4.3': + resolution: {integrity: sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==} + '@types/debug@4.1.12': resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} @@ -1345,6 +1537,9 @@ packages: '@types/fontkit@2.0.8': resolution: {integrity: sha512-wN+8bYxIpJf+5oZdrdtaX04qUuWHcKxcDEgRS9Qm9ZClSHjzEn13SxUC+5eRM+4yXIeTYk8mTzLAWGF64847ew==} + '@types/geojson@7946.0.16': + resolution: {integrity: sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==} + '@types/hast@3.0.4': resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} @@ -1369,6 +1564,9 @@ packages: '@types/node@25.0.2': resolution: {integrity: sha512-gWEkeiyYE4vqjON/+Obqcoeffmk0NF15WSBwSs7zwVA2bAbTaE0SJ7P0WNGoJn8uE7fiaV5a7dKYIJriEqOrmA==} + '@types/picomatch@3.0.2': + resolution: {integrity: sha512-n0i8TD3UDB7paoMMxA3Y65vUncFJXjcUf7lQY7YyKGl6031FNjfsLs6pdLFCy2GNFxItPJG8GvvpbZc2skH7WA==} + '@types/resolve@1.20.2': resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} @@ -1413,6 +1611,10 @@ packages: ansi-align@3.0.1: resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} + ansi-escapes@7.2.0: + resolution: {integrity: sha512-g6LhBsl+GBPRWGWsBtutpzBYuIIdBkLEvad5C/va/74Db018+5TZiyA26cZJAr3Rft5lprVqOIPxf5Vid6tqAw==} + engines: {node: '>=18'} + ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} @@ -1463,8 +1665,18 @@ packages: peerDependencies: astro: ^4.0.0-beta || ^5.0.0-beta || ^3.3.0 - astro@5.16.5: - resolution: {integrity: sha512-QeuM4xzTR0QuXFDNlGVW0BW7rcquKFIkylaPeM4ufii0/RRiPTYtwxDYVZ3KfiMRuuc+nbLD0214kMKTvz/yvQ==} + astro-mermaid@1.2.0: + resolution: {integrity: sha512-zELK0l0QUJaHBul9uijTr7SP+MN4LherN4sAC4xE7nx8I/TQoEtB36pnyEDMROZY3T3s4Eojw5CC/ezEBKi9RQ==} + peerDependencies: + '@mermaid-js/layout-elk': ^0.2.0 + astro: ^4.0.0 || ^5.0.0 + mermaid: ^10.0.0 || ^11.0.0 + peerDependenciesMeta: + '@mermaid-js/layout-elk': + optional: true + + astro@5.16.6: + resolution: {integrity: sha512-6mF/YrvwwRxLTu+aMEa5pwzKUNl5ZetWbTyZCs9Um0F12HUmxUiF5UHiZPy4rifzU3gtpM3xP2DfdmkNX9eZRg==} engines: {node: 18.20.8 || ^20.3.0 || >=22.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0'} hasBin: true @@ -1590,6 +1802,14 @@ packages: character-reference-invalid@2.0.1: resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==} + chevrotain-allstar@0.3.1: + resolution: {integrity: sha512-b7g+y9A0v4mxCW1qUhf3BSVPg+/NvGErk/dOkrDaHA0nQIQGAtrOjlX//9OQtRlSCy+x9rfB5N8yC71lH1nvMw==} + peerDependencies: + chevrotain: ^11.0.0 + + chevrotain@11.0.3: + resolution: {integrity: sha512-ci2iJH6LeIkvP9eJW6gpueU8cnZhv85ELY8w8WiFtNjMHA5ad6pQLaJo9mEly/9qUyCpvqX8/POVUTf18/HFdw==} + chokidar@4.0.3: resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} engines: {node: '>= 14.16.0'} @@ -1633,6 +1853,14 @@ packages: commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + commander@7.2.0: + resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} + engines: {node: '>= 10'} + + commander@8.3.0: + resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} + engines: {node: '>= 12'} + common-ancestor-path@1.0.1: resolution: {integrity: sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==} @@ -1640,6 +1868,9 @@ packages: resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==} engines: {node: '>=4.0.0'} + confbox@0.1.8: + resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} + convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} @@ -1653,6 +1884,12 @@ packages: core-js-compat@3.47.0: resolution: {integrity: sha512-IGfuznZ/n7Kp9+nypamBhvwdwLsW6KC8IOaURw2doAK5e98AG3acVLdh0woOnEqCfUtS+Vu882JE4k/DAm3ItQ==} + cose-base@1.0.3: + resolution: {integrity: sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==} + + cose-base@2.2.0: + resolution: {integrity: sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g==} + cross-spawn@7.0.6: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} @@ -1691,6 +1928,162 @@ packages: resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==} engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + cytoscape-cose-bilkent@4.1.0: + resolution: {integrity: sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==} + peerDependencies: + cytoscape: ^3.2.0 + + cytoscape-fcose@2.2.0: + resolution: {integrity: sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ==} + peerDependencies: + cytoscape: ^3.2.0 + + cytoscape@3.33.1: + resolution: {integrity: sha512-iJc4TwyANnOGR1OmWhsS9ayRS3s+XQ185FmuHObThD+5AeJCakAAbWv8KimMTt08xCCLNgneQwFp+JRJOr9qGQ==} + engines: {node: '>=0.10'} + + d3-array@2.12.1: + resolution: {integrity: sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==} + + d3-array@3.2.4: + resolution: {integrity: sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==} + engines: {node: '>=12'} + + d3-axis@3.0.0: + resolution: {integrity: sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==} + engines: {node: '>=12'} + + d3-brush@3.0.0: + resolution: {integrity: sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==} + engines: {node: '>=12'} + + d3-chord@3.0.1: + resolution: {integrity: sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==} + engines: {node: '>=12'} + + d3-color@3.1.0: + resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==} + engines: {node: '>=12'} + + d3-contour@4.0.2: + resolution: {integrity: sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==} + engines: {node: '>=12'} + + d3-delaunay@6.0.4: + resolution: {integrity: sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==} + engines: {node: '>=12'} + + d3-dispatch@3.0.1: + resolution: {integrity: sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==} + engines: {node: '>=12'} + + d3-drag@3.0.0: + resolution: {integrity: sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==} + engines: {node: '>=12'} + + d3-dsv@3.0.1: + resolution: {integrity: sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==} + engines: {node: '>=12'} + hasBin: true + + d3-ease@3.0.1: + resolution: {integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==} + engines: {node: '>=12'} + + d3-fetch@3.0.1: + resolution: {integrity: sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==} + engines: {node: '>=12'} + + d3-force@3.0.0: + resolution: {integrity: sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==} + engines: {node: '>=12'} + + d3-format@3.1.0: + resolution: {integrity: sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==} + engines: {node: '>=12'} + + d3-geo@3.1.1: + resolution: {integrity: sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==} + engines: {node: '>=12'} + + d3-hierarchy@3.1.2: + resolution: {integrity: sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==} + engines: {node: '>=12'} + + d3-interpolate@3.0.1: + resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==} + engines: {node: '>=12'} + + d3-path@1.0.9: + resolution: {integrity: sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==} + + d3-path@3.1.0: + resolution: {integrity: sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==} + engines: {node: '>=12'} + + d3-polygon@3.0.1: + resolution: {integrity: sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==} + engines: {node: '>=12'} + + d3-quadtree@3.0.1: + resolution: {integrity: sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==} + engines: {node: '>=12'} + + d3-random@3.0.1: + resolution: {integrity: sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==} + engines: {node: '>=12'} + + d3-sankey@0.12.3: + resolution: {integrity: sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==} + + d3-scale-chromatic@3.1.0: + resolution: {integrity: sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==} + engines: {node: '>=12'} + + d3-scale@4.0.2: + resolution: {integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==} + engines: {node: '>=12'} + + d3-selection@3.0.0: + resolution: {integrity: sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==} + engines: {node: '>=12'} + + d3-shape@1.3.7: + resolution: {integrity: sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==} + + d3-shape@3.2.0: + resolution: {integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==} + engines: {node: '>=12'} + + d3-time-format@4.1.0: + resolution: {integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==} + engines: {node: '>=12'} + + d3-time@3.1.0: + resolution: {integrity: sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==} + engines: {node: '>=12'} + + d3-timer@3.0.1: + resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==} + engines: {node: '>=12'} + + d3-transition@3.0.1: + resolution: {integrity: sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==} + engines: {node: '>=12'} + peerDependencies: + d3-selection: 2 - 3 + + d3-zoom@3.0.0: + resolution: {integrity: sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==} + engines: {node: '>=12'} + + d3@7.9.0: + resolution: {integrity: sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==} + engines: {node: '>=12'} + + dagre-d3-es@7.0.13: + resolution: {integrity: sha512-efEhnxpSuwpYOKRm/L5KbqoZmNNukHa/Flty4Wp62JRvgH2ojwVgPgdYyr4twpieZnyRDdIH7PY2mopX26+j2Q==} + data-view-buffer@1.0.2: resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==} engines: {node: '>= 0.4'} @@ -1703,6 +2096,9 @@ packages: resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==} engines: {node: '>= 0.4'} + dayjs@1.11.19: + resolution: {integrity: sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw==} + debug@4.4.3: resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} engines: {node: '>=6.0'} @@ -1730,6 +2126,9 @@ packages: defu@6.1.4: resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} + delaunator@5.0.1: + resolution: {integrity: sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==} + dequal@2.0.3: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} @@ -1780,6 +2179,9 @@ packages: resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} engines: {node: '>= 4'} + dompurify@3.3.1: + resolution: {integrity: sha512-qkdCKzLNtrgPFP1Vo+98FRzJnBRGe4ffyCea9IwHB1fyxPOeNTHpLKYGd4Uk9xvNoH0ZoOjwZxNptyMwqrId1Q==} + domutils@3.2.2: resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==} @@ -1823,6 +2225,10 @@ packages: resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==} engines: {node: '>=0.12'} + environment@1.1.0: + resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==} + engines: {node: '>=18'} + es-abstract@1.24.1: resolution: {integrity: sha512-zHXBLhP+QehSSbsS9Pt23Gg964240DPd6QCf8WpkqEXxQ7fhdZzYsocOr5u7apWonsS5EjZDmTF+/slGMyasvw==} engines: {node: '>= 0.4'} @@ -1998,9 +2404,6 @@ packages: resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} engines: {node: '>= 0.4'} - giscus@1.6.0: - resolution: {integrity: sha512-Zrsi8r4t1LVW950keaWcsURuZUQwUaMKjvJgTCY125vkW6OiEBkatE7ScJDbpqKHdZwb///7FVC21SE3iFK3PQ==} - github-slugger@2.0.0: resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} @@ -2023,6 +2426,9 @@ packages: h3@1.15.4: resolution: {integrity: sha512-z5cFQWDffyOe4vQ9xIqNfCZdV4p//vy6fBnr8Q1AWnVZ0teurKMG66rLj++TKwKPUP3u7iMUvrvKaEUiQw2QWQ==} + hachure-fill@0.5.2: + resolution: {integrity: sha512-3GKBOn+m2LX9iq+JC1064cSFprJY4jL1jCXTcpnfER5HYE2l/4EfWSGzkPa/ZDBmYI0ZOEj5VHV/eKnPGkHuOg==} + has-bigints@1.1.0: resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==} engines: {node: '>= 0.4'} @@ -2031,6 +2437,10 @@ packages: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} + has-flag@5.0.1: + resolution: {integrity: sha512-CsNUt5x9LUdx6hnk/E2SZLsDyvfqANZSUq4+D3D8RzDJ2M+HDTIkF60ibS1vHaK55vzgiZw1bEPFG9yH7l33wA==} + engines: {node: '>=12'} + has-property-descriptors@1.0.2: resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} @@ -2125,6 +2535,10 @@ packages: i18next@23.16.8: resolution: {integrity: sha512-06r/TitrM88Mg5FdUXAKL96dJMzgqLE5dv3ryBAra4KCwD9mJ4ndOTS95ZuymIGoE+2hzfdaMak2X11/es7ZWg==} + iconv-lite@0.6.3: + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} + idb@7.1.1: resolution: {integrity: sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==} @@ -2141,9 +2555,20 @@ packages: resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} engines: {node: '>= 0.4'} + internmap@1.0.1: + resolution: {integrity: sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==} + + internmap@2.0.3: + resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==} + engines: {node: '>=12'} + iron-webcrypto@1.2.1: resolution: {integrity: sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==} + is-absolute-url@4.0.1: + resolution: {integrity: sha512-/51/TKE88Lmm7Gc4/8btclNXWS+g50wXhYJq8HWIBAGUBnoAdRu1aXeh364t/O7wXDAcTJDP8PNuNKWUDWie+A==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + is-alphabetical@2.0.1: resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==} @@ -2342,14 +2767,35 @@ packages: resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} engines: {node: '>=0.10.0'} + katex@0.16.27: + resolution: {integrity: sha512-aeQoDkuRWSqQN6nSvVCEFvfXdqo1OQiCmmW1kc9xSdjutPv7BGO7pqY9sQRJpMOGrEdfDgF2TfRXe5eUAD2Waw==} + hasBin: true + + khroma@2.1.0: + resolution: {integrity: sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==} + kleur@3.0.3: resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} engines: {node: '>=6'} + kleur@4.1.5: + resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} + engines: {node: '>=6'} + klona@2.0.6: resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==} engines: {node: '>= 8'} + langium@3.3.1: + resolution: {integrity: sha512-QJv/h939gDpvT+9SiLVlY7tZC3xB2qK57v0J04Sh9wpMb6MP1q8gB21L3WIo8T5P1MSMg3Ep14L7KkDCFG3y4w==} + engines: {node: '>=16.0.0'} + + layout-base@1.0.2: + resolution: {integrity: sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==} + + layout-base@2.0.1: + resolution: {integrity: sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg==} + leven@3.1.0: resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} engines: {node: '>=6'} @@ -2424,14 +2870,11 @@ packages: resolution: {integrity: sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ==} engines: {node: '>= 12.0.0'} - lit-element@4.2.1: - resolution: {integrity: sha512-WGAWRGzirAgyphK2urmYOV72tlvnxw7YfyLDgQ+OZnM9vQQBQnumQ7jUJe6unEzwGU3ahFOjuz1iz1jjrpCPuw==} + lodash-es@4.17.21: + resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} - lit-html@3.3.1: - resolution: {integrity: sha512-S9hbyDu/vs1qNrithiNyeyv64c9yqiW9l+DBgI18fL+MTvOtWoFR0FWiyq1TxaYef5wNlpEmzlXoBlZEO+WjoA==} - - lit@3.3.1: - resolution: {integrity: sha512-Ksr/8L3PTapbdXJCk+EJVB78jDodUMaP54gD24W186zGRARvwrsPfS60wae/SSCTCNZVPd1chXqio1qHQmu4NA==} + lodash-es@4.17.22: + resolution: {integrity: sha512-XEawp1t0gxSi9x01glktRZ5HDy0HXqrM0x5pXQM98EaI0NxO6jVM7omDOxsuEo5UIASAnm2bRp1Jt/e0a2XU8Q==} lodash.debounce@4.0.8: resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} @@ -2471,6 +2914,11 @@ packages: markdown-table@3.0.4: resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==} + marked@16.4.2: + resolution: {integrity: sha512-TI3V8YYWvkVf3KJe1dRkpnjs68JUPyEa5vjKrp1XEEJUAOaQc+Qj+L1qWbPd0SJuAdQkFU0h73sXXqwDYxsiDA==} + engines: {node: '>= 20'} + hasBin: true + math-intrinsics@1.1.0: resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} engines: {node: '>= 0.4'} @@ -2535,6 +2983,9 @@ packages: mdn-data@2.12.2: resolution: {integrity: sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==} + mermaid@11.12.2: + resolution: {integrity: sha512-n34QPDPEKmaeCG4WDMGy0OT6PSyxKCfy2pJgShP+Qow2KLrvWjclwbc3yXfSIf4BanqWEhQEpngWwNp/XhZt6w==} + micromark-core-commonmark@2.0.3: resolution: {integrity: sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==} @@ -2659,6 +3110,9 @@ packages: resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} engines: {node: '>=16 || 14 >=14.17'} + mlly@1.8.0: + resolution: {integrity: sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==} + mrmime@2.0.1: resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==} engines: {node: '>=10'} @@ -2759,6 +3213,9 @@ packages: parse5@7.3.0: resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==} + path-data-parser@0.1.0: + resolution: {integrity: sha512-NOnmBpt5Y2RWbuv0LMzsayp3lVylAHLPUTut412ZA3l+C4uw4ZVkQbjShYCQ8TCpUMdPapr4YjUqLYD6v68j+w==} + path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} @@ -2770,6 +3227,9 @@ packages: resolution: {integrity: sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA==} engines: {node: 20 || >=22} + pathe@2.0.3: + resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} + piccolore@0.1.3: resolution: {integrity: sha512-o8bTeDWjE086iwKrROaDf31K0qC/BENdm15/uH9usSC/uZjJOKb2YGiVHfLY4GhwsERiPI1jmwI2XrA7ACOxVw==} @@ -2784,6 +3244,15 @@ packages: resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} engines: {node: '>=12'} + pkg-types@1.3.1: + resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} + + points-on-curve@0.2.0: + resolution: {integrity: sha512-0mYKnYYe9ZcqMCWhUjItv/oHjvgEsfKvnUTg8sAtnHr3GVy7rGkXCb6d5cSyqrWqL4k81b9CPg3urd+T7aop3A==} + + points-on-path@0.2.1: + resolution: {integrity: sha512-25ClnWWuw7JbWZcgqY/gJ4FQWadKxGWk+3kR/7kD0tCaDtPPMj7oHu2ToLaVhfpnHrZzYby2w6tUA0eOIuUg8g==} + possible-typed-array-names@1.1.0: resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} engines: {node: '>= 0.4'} @@ -2831,15 +3300,6 @@ packages: randombytes@2.1.0: resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} - react-dom@19.2.3: - resolution: {integrity: sha512-yELu4WmLPw5Mr/lmeEpox5rw3RETacE++JgHqQzd2dg+YbJuat3jH4ingc+WPZhxaoFzdv9y33G+F7Nl5O0GBg==} - peerDependencies: - react: ^19.2.3 - - react@19.2.3: - resolution: {integrity: sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA==} - engines: {node: '>=0.10.0'} - readdirp@4.1.2: resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} engines: {node: '>= 14.18.0'} @@ -2960,6 +3420,9 @@ packages: retext@9.0.0: resolution: {integrity: sha512-sbMDcpHCNjvlheSgMfEcVrZko3cDzdbe1x/e7G66dFp0Ff7Mldvi2uv6JkJQzdRcvLYE8CA8Oe8siQx8ZOgTcA==} + robust-predicates@3.0.2: + resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==} + rollup@2.79.2: resolution: {integrity: sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ==} engines: {node: '>=10.0.0'} @@ -2970,6 +3433,12 @@ packages: engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true + roughjs@4.6.6: + resolution: {integrity: sha512-ZUz/69+SYpFN/g/lUlo2FXcIjRkSu3nDarreVdGGndHEBJ6cXPdKguS8JGxwj5HA5xIbVKSmLgr5b3AWxtRfvQ==} + + rw@1.3.3: + resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==} + rxjs@7.8.2: resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==} @@ -2988,6 +3457,9 @@ packages: resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} engines: {node: '>= 0.4'} + safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + sass-embedded-android-arm64@1.83.0: resolution: {integrity: sha512-GBiCvM4a2rkWBLdYDxI6XYnprfk5U5c81g69RC2X6kqPuzxzx8qTArQ9M6keFK4+iDQ5N9QTwFCr0KbZTn+ZNQ==} engines: {node: '>=14.0.0'} @@ -3121,9 +3593,6 @@ packages: sax@1.4.3: resolution: {integrity: sha512-yqYn1JhPczigF94DMS+shiDMjDowYO6y9+wB/4WgO0Y19jWYk0lQ4tuG5KI7kj4FTp1wxPj5IFfcrz/s1c3jjQ==} - scheduler@0.27.0: - resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==} - semver@6.3.1: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true @@ -3225,6 +3694,38 @@ packages: space-separated-tokens@2.0.2: resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} + starlight-giscus@0.8.1: + resolution: {integrity: sha512-etgWym6KpHeNSkbggEhpGEPNaLIwypWdvE7BxNFHGUkjiq6EYSJhr5zoMGZ9QfnMdkcj8PqKrJTM88YdCSEiDQ==} + engines: {node: ^18.20.8 || ^20.3.0 || >=22.0.0} + peerDependencies: + '@astrojs/starlight': '>=0.35.0' + + starlight-image-zoom@0.13.2: + resolution: {integrity: sha512-fDJrx+UZXhkbhEeXKoRogTKAYtrYVJPw6wmSUI3nHUTA0vuRM6EI//2Z8bzv3Ecvz0pHKD1vAxtS01mLyessBA==} + engines: {node: '>=18'} + peerDependencies: + '@astrojs/starlight': '>=0.32.0' + + starlight-links-validator@0.19.2: + resolution: {integrity: sha512-IHeK3R78fsmv53VfRkGbXkwK1CQEUBHM9QPzBEyoAxjZ/ssi5gjV+F4oNNUppTR48iPp+lEY0MTAmvkX7yNnkw==} + engines: {node: '>=18.17.1'} + peerDependencies: + '@astrojs/starlight': '>=0.32.0' + astro: '>=5.1.5' + + starlight-sidebar-topics-dropdown@0.5.2: + resolution: {integrity: sha512-QeqSO5jjk/ZHDfXnUqJF1GpY1ny9dc9LqETuw9V124B93EYtpvCYa+zccxHMHojQvAuG7TguQs212P4XvJX0Wg==} + engines: {node: ^18.17.1 || ^20.3.0 || >=21.0.0} + peerDependencies: + '@astrojs/starlight': '>=0.32' + starlight-sidebar-topics: '>=0.6' + + starlight-sidebar-topics@0.6.2: + resolution: {integrity: sha512-SNCTUZS/hcVor0ZcaXbaSVU37+V+qtvzNirkvnOg3Mqu/awuGpthkH5+uKpiZqWxLffp6TrOlsv5E5QsxrndNg==} + engines: {node: '>=18'} + peerDependencies: + '@astrojs/starlight': '>=0.32.0' + stop-iteration-iterator@1.1.0: resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==} engines: {node: '>= 0.4'} @@ -3285,10 +3786,21 @@ packages: style-to-object@1.0.14: resolution: {integrity: sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==} + stylis@4.3.6: + resolution: {integrity: sha512-yQ3rwFWRfwNUY7H5vpU0wfdkNSnvnJinhF9830Swlaxl03zsOjCfmX0ugac+3LtK0lYSgwL/KXc8oYL3mG4YFQ==} + + supports-color@10.2.2: + resolution: {integrity: sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g==} + engines: {node: '>=18'} + supports-color@8.1.1: resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} engines: {node: '>=10'} + supports-hyperlinks@4.3.0: + resolution: {integrity: sha512-i6sWEzuwadSlcr2mOnb0ktlIl+K5FVxsPXmoPfknDd2gyw4ZBIAZ5coc0NQzYqDdEYXMHy8NaY9rWwa1Q1myiQ==} + engines: {node: '>=20'} + supports-preserve-symlinks-flag@1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} @@ -3321,6 +3833,10 @@ packages: resolution: {integrity: sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==} engines: {node: '>=10'} + terminal-link@5.0.0: + resolution: {integrity: sha512-qFAy10MTMwjzjU8U16YS4YoZD+NQLHzLssFMNqgravjbvIPNiqkGFR4yjhJfmY9R5OFU7+yHxc6y+uGHkKwLRA==} + engines: {node: '>=20'} + terser@5.44.1: resolution: {integrity: sha512-t/R3R/n0MSwnnazuPpPNVO60LX0SKL45pyl9YlvxIdkH0Of7D5qM2EVe+yASRIlY5pZ73nclYJfNANGWPwFDZw==} engines: {node: '>=10'} @@ -3350,6 +3866,10 @@ packages: trough@2.2.0: resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} + ts-dedent@2.2.0: + resolution: {integrity: sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==} + engines: {node: '>=6.10'} + tsconfck@3.1.6: resolution: {integrity: sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w==} engines: {node: ^18 || >=20} @@ -3549,6 +4069,10 @@ packages: util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + uuid@11.1.0: + resolution: {integrity: sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==} + hasBin: true + varint@6.0.0: resolution: {integrity: sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==} @@ -3621,6 +4145,26 @@ packages: vite: optional: true + vscode-jsonrpc@8.2.0: + resolution: {integrity: sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==} + engines: {node: '>=14.0.0'} + + vscode-languageserver-protocol@3.17.5: + resolution: {integrity: sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==} + + vscode-languageserver-textdocument@1.0.12: + resolution: {integrity: sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==} + + vscode-languageserver-types@3.17.5: + resolution: {integrity: sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==} + + vscode-languageserver@9.0.1: + resolution: {integrity: sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==} + hasBin: true + + vscode-uri@3.0.8: + resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==} + web-namespaces@2.0.1: resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} @@ -3761,12 +4305,26 @@ packages: snapshots: - '@apideck/better-ajv-errors@0.3.6(ajv@8.17.1)': + '@antfu/install-pkg@1.1.0': dependencies: - ajv: 8.17.1 - json-schema: 0.4.0 - jsonpointer: 5.0.1 - leven: 3.1.0 + package-manager-detector: 1.6.0 + tinyexec: 1.0.2 + + '@anthropic-ai/claude-code@1.0.128': + optionalDependencies: + '@img/sharp-darwin-arm64': 0.33.5 + '@img/sharp-darwin-x64': 0.33.5 + '@img/sharp-linux-arm': 0.33.5 + '@img/sharp-linux-arm64': 0.33.5 + '@img/sharp-linux-x64': 0.33.5 + '@img/sharp-win32-x64': 0.33.5 + + '@apideck/better-ajv-errors@0.3.6(ajv@8.17.1)': + dependencies: + ajv: 8.17.1 + json-schema: 0.4.0 + jsonpointer: 5.0.1 + leven: 3.1.0 '@astrojs/compiler@2.13.0': {} @@ -3798,12 +4356,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@astrojs/mdx@4.3.13(astro@5.16.5(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3))': + '@astrojs/mdx@4.3.13(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3))': dependencies: '@astrojs/markdown-remark': 6.3.10 '@mdx-js/mdx': 3.1.1 acorn: 8.15.0 - astro: 5.16.5(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3) + astro: 5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3) es-module-lexer: 1.7.0 estree-util-visit: 2.0.0 hast-util-to-html: 9.0.5 @@ -3827,17 +4385,17 @@ snapshots: stream-replace-string: 2.0.0 zod: 3.25.76 - '@astrojs/starlight@0.37.1(astro@5.16.5(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3))': + '@astrojs/starlight@0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3))': dependencies: '@astrojs/markdown-remark': 6.3.10 - '@astrojs/mdx': 4.3.13(astro@5.16.5(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)) + '@astrojs/mdx': 4.3.13(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)) '@astrojs/sitemap': 3.6.0 '@pagefind/default-ui': 1.4.0 '@types/hast': 3.0.4 '@types/js-yaml': 4.0.9 '@types/mdast': 4.0.4 - astro: 5.16.5(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3) - astro-expressive-code: 0.41.4(astro@5.16.5(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)) + astro: 5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3) + astro-expressive-code: 0.41.4(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)) bcp-47: 2.1.0 hast-util-from-html: 2.0.3 hast-util-select: 6.0.4 @@ -4527,6 +5085,8 @@ snapshots: '@babel/helper-string-parser': 7.27.1 '@babel/helper-validator-identifier': 7.28.5 + '@braintree/sanitize-url@7.1.1': {} + '@bufbuild/protobuf@2.10.2': optional: true @@ -4534,6 +5094,23 @@ snapshots: dependencies: fontkit: 2.0.4 + '@chevrotain/cst-dts-gen@11.0.3': + dependencies: + '@chevrotain/gast': 11.0.3 + '@chevrotain/types': 11.0.3 + lodash-es: 4.17.21 + + '@chevrotain/gast@11.0.3': + dependencies: + '@chevrotain/types': 11.0.3 + lodash-es: 4.17.21 + + '@chevrotain/regexp-to-ast@11.0.3': {} + + '@chevrotain/types@11.0.3': {} + + '@chevrotain/utils@11.0.3': {} + '@ctrl/tinycolor@4.2.0': {} '@emnapi/runtime@1.7.1': @@ -4644,33 +5221,57 @@ snapshots: dependencies: '@expressive-code/core': 0.41.4 - '@giscus/react@3.1.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': + '@iconify/types@2.0.0': {} + + '@iconify/utils@3.1.0': dependencies: - giscus: 1.6.0 - react: 19.2.3 - react-dom: 19.2.3(react@19.2.3) + '@antfu/install-pkg': 1.1.0 + '@iconify/types': 2.0.0 + mlly: 1.8.0 '@img/colour@1.0.0': {} + '@img/sharp-darwin-arm64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-darwin-arm64': 1.0.4 + optional: true + '@img/sharp-darwin-arm64@0.34.5': optionalDependencies: '@img/sharp-libvips-darwin-arm64': 1.2.4 optional: true + '@img/sharp-darwin-x64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-darwin-x64': 1.0.4 + optional: true + '@img/sharp-darwin-x64@0.34.5': optionalDependencies: '@img/sharp-libvips-darwin-x64': 1.2.4 optional: true + '@img/sharp-libvips-darwin-arm64@1.0.4': + optional: true + '@img/sharp-libvips-darwin-arm64@1.2.4': optional: true + '@img/sharp-libvips-darwin-x64@1.0.4': + optional: true + '@img/sharp-libvips-darwin-x64@1.2.4': optional: true + '@img/sharp-libvips-linux-arm64@1.0.4': + optional: true + '@img/sharp-libvips-linux-arm64@1.2.4': optional: true + '@img/sharp-libvips-linux-arm@1.0.5': + optional: true + '@img/sharp-libvips-linux-arm@1.2.4': optional: true @@ -4683,6 +5284,9 @@ snapshots: '@img/sharp-libvips-linux-s390x@1.2.4': optional: true + '@img/sharp-libvips-linux-x64@1.0.4': + optional: true + '@img/sharp-libvips-linux-x64@1.2.4': optional: true @@ -4692,11 +5296,21 @@ snapshots: '@img/sharp-libvips-linuxmusl-x64@1.2.4': optional: true + '@img/sharp-linux-arm64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-arm64': 1.0.4 + optional: true + '@img/sharp-linux-arm64@0.34.5': optionalDependencies: '@img/sharp-libvips-linux-arm64': 1.2.4 optional: true + '@img/sharp-linux-arm@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-arm': 1.0.5 + optional: true + '@img/sharp-linux-arm@0.34.5': optionalDependencies: '@img/sharp-libvips-linux-arm': 1.2.4 @@ -4717,6 +5331,11 @@ snapshots: '@img/sharp-libvips-linux-s390x': 1.2.4 optional: true + '@img/sharp-linux-x64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-x64': 1.0.4 + optional: true + '@img/sharp-linux-x64@0.34.5': optionalDependencies: '@img/sharp-libvips-linux-x64': 1.2.4 @@ -4743,6 +5362,9 @@ snapshots: '@img/sharp-win32-ia32@0.34.5': optional: true + '@img/sharp-win32-x64@0.33.5': + optional: true + '@img/sharp-win32-x64@0.34.5': optional: true @@ -4785,12 +5407,6 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.5 - '@lit-labs/ssr-dom-shim@1.4.0': {} - - '@lit/reactive-element@2.1.1': - dependencies: - '@lit-labs/ssr-dom-shim': 1.4.0 - '@mdx-js/mdx@3.1.1': dependencies: '@types/estree': 1.0.8 @@ -4821,6 +5437,10 @@ snapshots: transitivePeerDependencies: - supports-color + '@mermaid-js/parser@0.6.3': + dependencies: + langium: 3.3.1 + '@oslojs/encoding@1.1.0': {} '@pagefind/darwin-arm64@1.4.0': @@ -5130,6 +5750,123 @@ snapshots: tailwindcss: 4.1.18 vite: 6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1) + '@types/d3-array@3.2.2': {} + + '@types/d3-axis@3.0.6': + dependencies: + '@types/d3-selection': 3.0.11 + + '@types/d3-brush@3.0.6': + dependencies: + '@types/d3-selection': 3.0.11 + + '@types/d3-chord@3.0.6': {} + + '@types/d3-color@3.1.3': {} + + '@types/d3-contour@3.0.6': + dependencies: + '@types/d3-array': 3.2.2 + '@types/geojson': 7946.0.16 + + '@types/d3-delaunay@6.0.4': {} + + '@types/d3-dispatch@3.0.7': {} + + '@types/d3-drag@3.0.7': + dependencies: + '@types/d3-selection': 3.0.11 + + '@types/d3-dsv@3.0.7': {} + + '@types/d3-ease@3.0.2': {} + + '@types/d3-fetch@3.0.7': + dependencies: + '@types/d3-dsv': 3.0.7 + + '@types/d3-force@3.0.10': {} + + '@types/d3-format@3.0.4': {} + + '@types/d3-geo@3.1.0': + dependencies: + '@types/geojson': 7946.0.16 + + '@types/d3-hierarchy@3.1.7': {} + + '@types/d3-interpolate@3.0.4': + dependencies: + '@types/d3-color': 3.1.3 + + '@types/d3-path@3.1.1': {} + + '@types/d3-polygon@3.0.2': {} + + '@types/d3-quadtree@3.0.6': {} + + '@types/d3-random@3.0.3': {} + + '@types/d3-scale-chromatic@3.1.0': {} + + '@types/d3-scale@4.0.9': + dependencies: + '@types/d3-time': 3.0.4 + + '@types/d3-selection@3.0.11': {} + + '@types/d3-shape@3.1.7': + dependencies: + '@types/d3-path': 3.1.1 + + '@types/d3-time-format@4.0.3': {} + + '@types/d3-time@3.0.4': {} + + '@types/d3-timer@3.0.2': {} + + '@types/d3-transition@3.0.9': + dependencies: + '@types/d3-selection': 3.0.11 + + '@types/d3-zoom@3.0.8': + dependencies: + '@types/d3-interpolate': 3.0.4 + '@types/d3-selection': 3.0.11 + + '@types/d3@7.4.3': + dependencies: + '@types/d3-array': 3.2.2 + '@types/d3-axis': 3.0.6 + '@types/d3-brush': 3.0.6 + '@types/d3-chord': 3.0.6 + '@types/d3-color': 3.1.3 + '@types/d3-contour': 3.0.6 + '@types/d3-delaunay': 6.0.4 + '@types/d3-dispatch': 3.0.7 + '@types/d3-drag': 3.0.7 + '@types/d3-dsv': 3.0.7 + '@types/d3-ease': 3.0.2 + '@types/d3-fetch': 3.0.7 + '@types/d3-force': 3.0.10 + '@types/d3-format': 3.0.4 + '@types/d3-geo': 3.1.0 + '@types/d3-hierarchy': 3.1.7 + '@types/d3-interpolate': 3.0.4 + '@types/d3-path': 3.1.1 + '@types/d3-polygon': 3.0.2 + '@types/d3-quadtree': 3.0.6 + '@types/d3-random': 3.0.3 + '@types/d3-scale': 4.0.9 + '@types/d3-scale-chromatic': 3.1.0 + '@types/d3-selection': 3.0.11 + '@types/d3-shape': 3.1.7 + '@types/d3-time': 3.0.4 + '@types/d3-time-format': 4.0.3 + '@types/d3-timer': 3.0.2 + '@types/d3-transition': 3.0.9 + '@types/d3-zoom': 3.0.8 + '@types/debug@4.1.12': dependencies: '@types/ms': 2.1.0 @@ -5146,6 +5883,8 @@ snapshots: dependencies: '@types/node': 25.0.2 + '@types/geojson@7946.0.16': {} + '@types/hast@3.0.4': dependencies: '@types/unist': 3.0.3 @@ -5170,6 +5909,8 @@ snapshots: dependencies: undici-types: 7.16.0 + '@types/picomatch@3.0.2': {} + '@types/resolve@1.20.2': {} '@types/sax@1.2.7': @@ -5184,9 +5925,9 @@ snapshots: '@ungap/structured-clone@1.3.0': {} - '@vite-pwa/astro@1.2.0(astro@5.16.5(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3))(vite-plugin-pwa@1.2.0(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1))(workbox-build@7.4.0)(workbox-window@7.4.0))': + '@vite-pwa/astro@1.2.0(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3))(vite-plugin-pwa@1.2.0(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1))(workbox-build@7.4.0)(workbox-window@7.4.0))': dependencies: - astro: 5.16.5(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3) + astro: 5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3) vite-plugin-pwa: 1.2.0(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1))(workbox-build@7.4.0)(workbox-window@7.4.0) acorn-jsx@5.3.2(acorn@8.15.0): @@ -5206,6 +5947,10 @@ snapshots: dependencies: string-width: 4.2.3 + ansi-escapes@7.2.0: + dependencies: + environment: 1.1.0 + ansi-regex@5.0.1: {} ansi-regex@6.2.2: {} @@ -5246,12 +5991,21 @@ snapshots: astring@1.9.0: {} - astro-expressive-code@0.41.4(astro@5.16.5(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)): + astro-expressive-code@0.41.4(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)): dependencies: - astro: 5.16.5(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3) + astro: 5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3) rehype-expressive-code: 0.41.4 - astro@5.16.5(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3): + astro-mermaid@1.2.0(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3))(mermaid@11.12.2): + dependencies: + '@anthropic-ai/claude-code': 1.0.128 + astro: 5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3) + import-meta-resolve: 4.2.0 + mdast-util-to-string: 4.0.0 + mermaid: 11.12.2 + unist-util-visit: 5.0.0 + + astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3): dependencies: '@astrojs/compiler': 2.13.0 '@astrojs/internal-helpers': 0.7.5 @@ -5479,6 +6233,20 @@ snapshots: character-reference-invalid@2.0.1: {} + chevrotain-allstar@0.3.1(chevrotain@11.0.3): + dependencies: + chevrotain: 11.0.3 + lodash-es: 4.17.22 + + chevrotain@11.0.3: + dependencies: + '@chevrotain/cst-dts-gen': 11.0.3 + '@chevrotain/gast': 11.0.3 + '@chevrotain/regexp-to-ast': 11.0.3 + '@chevrotain/types': 11.0.3 + '@chevrotain/utils': 11.0.3 + lodash-es: 4.17.21 + chokidar@4.0.3: dependencies: readdirp: 4.1.2 @@ -5508,10 +6276,16 @@ snapshots: commander@2.20.3: {} + commander@7.2.0: {} + + commander@8.3.0: {} + common-ancestor-path@1.0.1: {} common-tags@1.8.2: {} + confbox@0.1.8: {} + convert-source-map@2.0.0: {} cookie-es@1.2.2: {} @@ -5522,6 +6296,14 @@ snapshots: dependencies: browserslist: 4.28.1 + cose-base@1.0.3: + dependencies: + layout-base: 1.0.2 + + cose-base@2.2.0: + dependencies: + layout-base: 2.0.1 + cross-spawn@7.0.6: dependencies: path-key: 3.1.1 @@ -5562,6 +6344,190 @@ snapshots: dependencies: css-tree: 2.2.1 + cytoscape-cose-bilkent@4.1.0(cytoscape@3.33.1): + dependencies: + cose-base: 1.0.3 + cytoscape: 3.33.1 + + cytoscape-fcose@2.2.0(cytoscape@3.33.1): + dependencies: + cose-base: 2.2.0 + cytoscape: 3.33.1 + + cytoscape@3.33.1: {} + + d3-array@2.12.1: + dependencies: + internmap: 1.0.1 + + d3-array@3.2.4: + dependencies: + internmap: 2.0.3 + + d3-axis@3.0.0: {} + + d3-brush@3.0.0: + dependencies: + d3-dispatch: 3.0.1 + d3-drag: 3.0.0 + d3-interpolate: 3.0.1 + d3-selection: 3.0.0 + d3-transition: 3.0.1(d3-selection@3.0.0) + + d3-chord@3.0.1: + dependencies: + d3-path: 3.1.0 + + d3-color@3.1.0: {} + + d3-contour@4.0.2: + dependencies: + d3-array: 3.2.4 + + d3-delaunay@6.0.4: + dependencies: + delaunator: 5.0.1 + + d3-dispatch@3.0.1: {} + + d3-drag@3.0.0: + dependencies: + d3-dispatch: 3.0.1 + d3-selection: 3.0.0 + + d3-dsv@3.0.1: + dependencies: + commander: 7.2.0 + iconv-lite: 0.6.3 + rw: 1.3.3 + + d3-ease@3.0.1: {} + + d3-fetch@3.0.1: + dependencies: + d3-dsv: 3.0.1 + + d3-force@3.0.0: + dependencies: + d3-dispatch: 3.0.1 + d3-quadtree: 3.0.1 + d3-timer: 3.0.1 + + d3-format@3.1.0: {} + + d3-geo@3.1.1: + dependencies: + d3-array: 3.2.4 + + d3-hierarchy@3.1.2: {} + + d3-interpolate@3.0.1: + dependencies: + d3-color: 3.1.0 + + d3-path@1.0.9: {} + + d3-path@3.1.0: {} + + d3-polygon@3.0.1: {} + + d3-quadtree@3.0.1: {} + + d3-random@3.0.1: {} + + d3-sankey@0.12.3: + dependencies: + d3-array: 2.12.1 + d3-shape: 1.3.7 + + d3-scale-chromatic@3.1.0: + dependencies: + d3-color: 3.1.0 + d3-interpolate: 3.0.1 + + d3-scale@4.0.2: + dependencies: + d3-array: 3.2.4 + d3-format: 3.1.0 + d3-interpolate: 3.0.1 + d3-time: 3.1.0 + d3-time-format: 4.1.0 + + d3-selection@3.0.0: {} + + d3-shape@1.3.7: + dependencies: + d3-path: 1.0.9 + + d3-shape@3.2.0: + dependencies: + d3-path: 3.1.0 + + d3-time-format@4.1.0: + dependencies: + d3-time: 3.1.0 + + d3-time@3.1.0: + dependencies: + d3-array: 3.2.4 + + d3-timer@3.0.1: {} + + d3-transition@3.0.1(d3-selection@3.0.0): + dependencies: + d3-color: 3.1.0 + d3-dispatch: 3.0.1 + d3-ease: 3.0.1 + d3-interpolate: 3.0.1 + d3-selection: 3.0.0 + d3-timer: 3.0.1 + + d3-zoom@3.0.0: + dependencies: + d3-dispatch: 3.0.1 + d3-drag: 3.0.0 + d3-interpolate: 3.0.1 + d3-selection: 3.0.0 + d3-transition: 3.0.1(d3-selection@3.0.0) + + d3@7.9.0: + dependencies: + d3-array: 3.2.4 + d3-axis: 3.0.0 + d3-brush: 3.0.0 + d3-chord: 3.0.1 + d3-color: 3.1.0 + d3-contour: 4.0.2 + d3-delaunay: 6.0.4 + d3-dispatch: 3.0.1 + d3-drag: 3.0.0 + d3-dsv: 3.0.1 + d3-ease: 3.0.1 + d3-fetch: 3.0.1 + d3-force: 3.0.0 + d3-format: 3.1.0 + d3-geo: 3.1.1 + d3-hierarchy: 3.1.2 + d3-interpolate: 3.0.1 + d3-path: 3.1.0 + d3-polygon: 3.0.1 + d3-quadtree: 3.0.1 + d3-random: 3.0.1 + d3-scale: 4.0.2 + d3-scale-chromatic: 3.1.0 + d3-selection: 3.0.0 + d3-shape: 3.2.0 + d3-time: 3.1.0 + d3-time-format: 4.1.0 + d3-timer: 3.0.1 + d3-transition: 3.0.1(d3-selection@3.0.0) + d3-zoom: 3.0.0 + + dagre-d3-es@7.0.13: + dependencies: + d3: 7.9.0 + lodash-es: 4.17.22 + data-view-buffer@1.0.2: dependencies: call-bound: 1.0.4 @@ -5580,6 +6546,8 @@ snapshots: es-errors: 1.3.0 is-data-view: 1.0.2 + dayjs@1.11.19: {} + debug@4.4.3: dependencies: ms: 2.1.3 @@ -5604,6 +6572,10 @@ snapshots: defu@6.1.4: {} + delaunator@5.0.1: + dependencies: + robust-predicates: 3.0.2 + dequal@2.0.3: {} destr@2.0.5: {} @@ -5643,6 +6615,10 @@ snapshots: dependencies: domelementtype: 2.3.0 + dompurify@3.3.1: + optionalDependencies: + '@types/trusted-types': 2.0.7 + domutils@3.2.2: dependencies: dom-serializer: 2.0.0 @@ -5680,6 +6656,8 @@ snapshots: entities@6.0.1: {} + environment@1.1.0: {} + es-abstract@1.24.1: dependencies: array-buffer-byte-length: 1.0.2 @@ -5959,10 +6937,6 @@ snapshots: es-errors: 1.3.0 get-intrinsic: 1.3.0 - giscus@1.6.0: - dependencies: - lit: 3.3.1 - github-slugger@2.0.0: {} glob@11.1.0: @@ -5995,11 +6969,15 @@ snapshots: ufo: 1.6.1 uncrypto: 0.1.3 + hachure-fill@0.5.2: {} + has-bigints@1.1.0: {} has-flag@4.0.0: optional: true + has-flag@5.0.1: {} + has-property-descriptors@1.0.2: dependencies: es-define-property: 1.0.1 @@ -6219,9 +7197,14 @@ snapshots: dependencies: '@babel/runtime': 7.28.4 + iconv-lite@0.6.3: + dependencies: + safer-buffer: 2.1.2 + idb@7.1.1: {} - immutable@5.1.4: {} + immutable@5.1.4: + optional: true import-meta-resolve@4.2.0: {} @@ -6233,8 +7216,14 @@ snapshots: hasown: 2.0.2 side-channel: 1.1.0 + internmap@1.0.1: {} + + internmap@2.0.3: {} + iron-webcrypto@1.2.1: {} + is-absolute-url@4.0.1: {} + is-alphabetical@2.0.1: {} is-alphanumerical@2.0.1: @@ -6417,10 +7406,30 @@ snapshots: jsonpointer@5.0.1: {} + katex@0.16.27: + dependencies: + commander: 8.3.0 + + khroma@2.1.0: {} + kleur@3.0.3: {} + kleur@4.1.5: {} + klona@2.0.6: {} + langium@3.3.1: + dependencies: + chevrotain: 11.0.3 + chevrotain-allstar: 0.3.1(chevrotain@11.0.3) + vscode-languageserver: 9.0.1 + vscode-languageserver-textdocument: 1.0.12 + vscode-uri: 3.0.8 + + layout-base@1.0.2: {} + + layout-base@2.0.1: {} + leven@3.1.0: {} lightningcss-android-arm64@1.30.2: @@ -6472,21 +7481,9 @@ snapshots: lightningcss-win32-arm64-msvc: 1.30.2 lightningcss-win32-x64-msvc: 1.30.2 - lit-element@4.2.1: - dependencies: - '@lit-labs/ssr-dom-shim': 1.4.0 - '@lit/reactive-element': 2.1.1 - lit-html: 3.3.1 + lodash-es@4.17.21: {} - lit-html@3.3.1: - dependencies: - '@types/trusted-types': 2.0.7 - - lit@3.3.1: - dependencies: - '@lit/reactive-element': 2.1.1 - lit-element: 4.2.1 - lit-html: 3.3.1 + lodash-es@4.17.22: {} lodash.debounce@4.0.8: {} @@ -6522,6 +7519,8 @@ snapshots: markdown-table@3.0.4: {} + marked@16.4.2: {} + math-intrinsics@1.1.0: {} mdast-util-definitions@6.0.0: @@ -6711,6 +7710,29 @@ snapshots: mdn-data@2.12.2: {} + mermaid@11.12.2: + dependencies: + '@braintree/sanitize-url': 7.1.1 + '@iconify/utils': 3.1.0 + '@mermaid-js/parser': 0.6.3 + '@types/d3': 7.4.3 + cytoscape: 3.33.1 + cytoscape-cose-bilkent: 4.1.0(cytoscape@3.33.1) + cytoscape-fcose: 2.2.0(cytoscape@3.33.1) + d3: 7.9.0 + d3-sankey: 0.12.3 + dagre-d3-es: 7.0.13 + dayjs: 1.11.19 + dompurify: 3.3.1 + katex: 0.16.27 + khroma: 2.1.0 + lodash-es: 4.17.22 + marked: 16.4.2 + roughjs: 4.6.6 + stylis: 4.3.6 + ts-dedent: 2.2.0 + uuid: 11.1.0 + micromark-core-commonmark@2.0.3: dependencies: decode-named-character-reference: 1.2.0 @@ -7001,6 +8023,13 @@ snapshots: minipass@7.1.2: {} + mlly@1.8.0: + dependencies: + acorn: 8.15.0 + pathe: 2.0.3 + pkg-types: 1.3.1 + ufo: 1.6.1 + mrmime@2.0.1: {} ms@2.1.3: {} @@ -7112,6 +8141,8 @@ snapshots: dependencies: entities: 6.0.1 + path-data-parser@0.1.0: {} + path-key@3.1.1: {} path-parse@1.0.7: {} @@ -7121,6 +8152,8 @@ snapshots: lru-cache: 11.2.4 minipass: 7.1.2 + pathe@2.0.3: {} + piccolore@0.1.3: {} picocolors@1.1.1: {} @@ -7129,6 +8162,19 @@ snapshots: picomatch@4.0.3: {} + pkg-types@1.3.1: + dependencies: + confbox: 0.1.8 + mlly: 1.8.0 + pathe: 2.0.3 + + points-on-curve@0.2.0: {} + + points-on-path@0.2.1: + dependencies: + path-data-parser: 0.1.0 + points-on-curve: 0.2.0 + possible-typed-array-names@1.1.0: {} postcss-nested@6.2.0(postcss@8.5.6): @@ -7168,13 +8214,6 @@ snapshots: dependencies: safe-buffer: 5.2.1 - react-dom@19.2.3(react@19.2.3): - dependencies: - react: 19.2.3 - scheduler: 0.27.0 - - react@19.2.3: {} - readdirp@4.1.2: {} recma-build-jsx@1.0.0: @@ -7391,6 +8430,8 @@ snapshots: retext-stringify: 4.0.0 unified: 11.0.5 + robust-predicates@3.0.2: {} + rollup@2.79.2: optionalDependencies: fsevents: 2.3.3 @@ -7423,6 +8464,15 @@ snapshots: '@rollup/rollup-win32-x64-msvc': 4.53.5 fsevents: 2.3.3 + roughjs@4.6.6: + dependencies: + hachure-fill: 0.5.2 + path-data-parser: 0.1.0 + points-on-curve: 0.2.0 + points-on-path: 0.2.1 + + rw@1.3.3: {} + rxjs@7.8.2: dependencies: tslib: 2.8.1 @@ -7449,6 +8499,8 @@ snapshots: es-errors: 1.3.0 is-regex: 1.2.1 + safer-buffer@2.1.2: {} + sass-embedded-android-arm64@1.83.0: optional: true @@ -7549,11 +8601,10 @@ snapshots: source-map-js: 1.2.1 optionalDependencies: '@parcel/watcher': 2.5.1 + optional: true sax@1.4.3: {} - scheduler@0.27.0: {} - semver@6.3.1: {} semver@7.7.3: {} @@ -7694,6 +8745,48 @@ snapshots: space-separated-tokens@2.0.2: {} + starlight-giscus@0.8.1(@astrojs/starlight@0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3))): + dependencies: + '@astrojs/starlight': 0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)) + + starlight-image-zoom@0.13.2(@astrojs/starlight@0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3))): + dependencies: + '@astrojs/starlight': 0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)) + mdast-util-mdx-jsx: 3.2.0 + rehype-raw: 7.0.0 + unist-util-visit: 5.0.0 + unist-util-visit-parents: 6.0.2 + transitivePeerDependencies: + - supports-color + + starlight-links-validator@0.19.2(@astrojs/starlight@0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)))(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)): + dependencies: + '@astrojs/starlight': 0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)) + '@types/picomatch': 3.0.2 + astro: 5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3) + github-slugger: 2.0.0 + hast-util-from-html: 2.0.3 + hast-util-has-property: 3.0.0 + is-absolute-url: 4.0.1 + kleur: 4.1.5 + mdast-util-mdx-jsx: 3.2.0 + mdast-util-to-string: 4.0.0 + picomatch: 4.0.3 + terminal-link: 5.0.0 + unist-util-visit: 5.0.0 + transitivePeerDependencies: + - supports-color + + starlight-sidebar-topics-dropdown@0.5.2(@astrojs/starlight@0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)))(starlight-sidebar-topics@0.6.2(@astrojs/starlight@0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)))): + dependencies: + '@astrojs/starlight': 0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)) + starlight-sidebar-topics: 0.6.2(@astrojs/starlight@0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3))) + + starlight-sidebar-topics@0.6.2(@astrojs/starlight@0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3))): + dependencies: + '@astrojs/starlight': 0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)) + picomatch: 4.0.3 + stop-iteration-iterator@1.1.0: dependencies: es-errors: 1.3.0 @@ -7787,11 +8880,20 @@ snapshots: dependencies: inline-style-parser: 0.2.7 + stylis@4.3.6: {} + + supports-color@10.2.2: {} + supports-color@8.1.1: dependencies: has-flag: 4.0.0 optional: true + supports-hyperlinks@4.3.0: + dependencies: + has-flag: 5.0.1 + supports-color: 10.2.2 + supports-preserve-symlinks-flag@1.0.0: {} svgo@4.0.0: @@ -7825,6 +8927,11 @@ snapshots: type-fest: 0.16.0 unique-string: 2.0.0 + terminal-link@5.0.0: + dependencies: + ansi-escapes: 7.2.0 + supports-hyperlinks: 4.3.0 + terser@5.44.1: dependencies: '@jridgewell/source-map': 0.3.11 @@ -7854,6 +8961,8 @@ snapshots: trough@2.2.0: {} + ts-dedent@2.2.0: {} + tsconfck@3.1.6(typescript@5.9.3): optionalDependencies: typescript: 5.9.3 @@ -8024,6 +9133,8 @@ snapshots: util-deprecate@1.0.2: {} + uuid@11.1.0: {} + varint@6.0.0: optional: true @@ -8074,6 +9185,23 @@ snapshots: optionalDependencies: vite: 6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1) + vscode-jsonrpc@8.2.0: {} + + vscode-languageserver-protocol@3.17.5: + dependencies: + vscode-jsonrpc: 8.2.0 + vscode-languageserver-types: 3.17.5 + + vscode-languageserver-textdocument@1.0.12: {} + + vscode-languageserver-types@3.17.5: {} + + vscode-languageserver@9.0.1: + dependencies: + vscode-languageserver-protocol: 3.17.5 + + vscode-uri@3.0.8: {} + web-namespaces@2.0.1: {} webidl-conversions@4.0.2: {} diff --git a/src/components/Sidebar.astro b/src/components/Sidebar.astro new file mode 100644 index 000000000..80946a5e5 --- /dev/null +++ b/src/components/Sidebar.astro @@ -0,0 +1,7 @@ +--- +import Default from "@astrojs/starlight/components/Sidebar.astro"; +import TopicsDropdown from "starlight-sidebar-topics-dropdown/TopicsDropdown.astro"; +--- + + + diff --git a/src/content.config.ts b/src/content.config.ts index 6393017e9..ebc6d4f8c 100644 --- a/src/content.config.ts +++ b/src/content.config.ts @@ -1,7 +1,14 @@ import { docsLoader } from "@astrojs/starlight/loaders"; import { docsSchema } from "@astrojs/starlight/schema"; -import { defineCollection } from "astro:content"; +import { defineCollection, z } from "astro:content"; export const collections = { - docs: defineCollection({ loader: docsLoader(), schema: docsSchema() }) + docs: defineCollection({ + loader: docsLoader(), + schema: docsSchema({ + extend: z.object({ + giscus: z.boolean().optional().default(true) + }) + }) + }) }; diff --git a/src/content/docs/bedrock/bds/preparation/preparation.md b/src/content/docs/bedrock/bds/preparation/preparation.md index a8ff6e331..ea3038d29 100644 --- a/src/content/docs/bedrock/bds/preparation/preparation.md +++ b/src/content/docs/bedrock/bds/preparation/preparation.md @@ -1,11 +1,7 @@ --- title: 准备工作 -sidebar_position: 1 -sidebar_label: BDS 准备工作 --- -# 准备工作 - 在正式开 Minecraft 服务器之前,请一定确认已经准备好了以下必备软件或网页: import DocCardList from '@theme/DocCardList'; diff --git a/src/content/docs/bedrock/bds/preparation/text-editor.md b/src/content/docs/bedrock/bds/preparation/text-editor.md deleted file mode 100644 index 773818650..000000000 --- a/src/content/docs/bedrock/bds/preparation/text-editor.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: 文本编辑器 -sidebar_position: 2 -sidebar_label: BDS 文本编辑器 ---- - -# 文本编辑器 - -请见 [通用 | 文本编辑器](/preparation/text-editor) diff --git a/src/content/docs/bedrock/bds/preparation/vcruntime.md b/src/content/docs/bedrock/bds/preparation/vcruntime.md index cbff5b38b..930bda4ba 100644 --- a/src/content/docs/bedrock/bds/preparation/vcruntime.md +++ b/src/content/docs/bedrock/bds/preparation/vcruntime.md @@ -1,10 +1,7 @@ --- title: Visual C++ 运行库 -sidebar_position: 3 --- -# Visual C++ 运行库 - 我的世界基岩版由于使用微软开发的 Visual C++ 编写,需要依赖 Visual C++ 运行库 (VC 运行库) 才能正常运行。在玩家的电脑上,由于 Windows 系统会自动为游戏补全这些运行库,所以玩家下载好基岩版之后就可以直接开始游戏。 但是在基岩版的服务器软件 BDS 这边情况就有所不同了。BDS 只是一个可执行文件,它并不具备自己补全 VC 运行库的功能,需要手动进行安装,否则就会报错“缺少 vmruntimexxx.dll”。 diff --git a/src/content/docs/bedrock/bds/preparation/websites.md b/src/content/docs/bedrock/bds/preparation/websites.md index 7acc28784..226d1f5ad 100644 --- a/src/content/docs/bedrock/bds/preparation/websites.md +++ b/src/content/docs/bedrock/bds/preparation/websites.md @@ -1,11 +1,7 @@ --- title: 可能用到的网站 -sidebar_position: 1 -sidebar_label: BDS 可能用到的网站 --- -# 可能用到的网站 - 开服不能只是从某一网站或者简单百度、Bing、谷歌获取资源,这样获取的资源种类非常贫乏。 以下是一些可供参考的推荐网站: diff --git a/src/content/docs/bedrock/intro.md b/src/content/docs/bedrock/intro.md index 4bd281f60..0f5575d97 100644 --- a/src/content/docs/bedrock/intro.md +++ b/src/content/docs/bedrock/intro.md @@ -1,6 +1,5 @@ --- -title: 笨蛋开服教程 -sidebar_position: 1 +title: 概述 --- ![](https://img.fastmirror.net/s/2024/11/02/672558bae4ec0.png) diff --git a/src/content/docs/general/advance/bot/framework.md b/src/content/docs/general/advance/bot/framework.mdx similarity index 90% rename from src/content/docs/general/advance/bot/framework.md rename to src/content/docs/general/advance/bot/framework.mdx index b03694a28..1ab37330d 100644 --- a/src/content/docs/general/advance/bot/framework.md +++ b/src/content/docs/general/advance/bot/framework.mdx @@ -1,18 +1,16 @@ --- title: 机器人框架 -sidebar_position: 1 +sidebar: + order: 2 --- -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -# 机器人框架 +import { TabItem, Tabs } from "@astrojs/starlight/components"; ## 第三方机器人框架 - - - +{/* autocorrect-disable space-punctuation */} + + | LLOneBot | ![](https://img.shields.io/badge/状态-积极维护-green?style=for-the-badge) | | -------- | -------------------------------------------------------------------------------------------------------------------------------------------- | @@ -22,7 +20,7 @@ import TabItem from '@theme/TabItem'; | 下载 | [GitHub](https://github.com/LLOneBot/LLOneBot/releases) 或者 [LiteLoaderQQNT](https://github.com/LiteLoaderQQNT/LiteLoaderQQNT) 插件市场下载 | - + | NapCatQQ | ![](https://img.shields.io/badge/状态-积极维护-green?style=for-the-badge) | | -------- | ------------------------------------------------------------------------------------------------------------------------------------------- | @@ -33,7 +31,7 @@ import TabItem from '@theme/TabItem'; - + | Overflow | ![](https://img.shields.io/badge/状态-积极维护-green?style=for-the-badge) | | -------- | --------------------------------------------------------------------------------------------------------- | @@ -44,13 +42,13 @@ import TabItem from '@theme/TabItem'; - +{/* autocorrect-enable */} ## 接入 QQ 官方接口的机器人框架 - - - +{/* autocorrect-disable space-punctuation */} + + | Gensokyo | ![](https://img.shields.io/badge/状态-积极维护-green?style=for-the-badge) | | -------- | ------------------------------------------------------------------------- | @@ -61,13 +59,13 @@ import TabItem from '@theme/TabItem'; - +{/* autocorrect-enable */} ## 已停止更新的机器人框架 - - - +{/* autocorrect-disable space-punctuation */} + + | Shamrock | ![](https://img.shields.io/badge/状态-停止维护-red?style=for-the-badge) | | -------- | ----------------------------------------------------------------------------------------------------------------- | @@ -77,7 +75,7 @@ import TabItem from '@theme/TabItem'; | 下载 | [GitHub](https://github.com/whitechi73/OpenShamrock/releases) | - + | chronocat | ![](https://img.shields.io/badge/状态-不再积极维护-yellow?style=for-the-badge) | | --------- | ------------------------------------------------------------------------------ | @@ -87,7 +85,7 @@ import TabItem from '@theme/TabItem'; | 下载 | [GitHub](https://github.com/chrononeko/chronocat/releases) | - + | go-cqhttp | ![](https://img.shields.io/badge/状态-停止维护-red?style=for-the-badge) \| [停更公告地址](https://github.com/Mrs4s/go-cqhttp/issues/2471) | | --------- | ----------------------------------------------------------------------------------------------------------------------------------------- | @@ -97,7 +95,7 @@ import TabItem from '@theme/TabItem'; | 下载 | [GitHub](https://github.com/Mrs4s/go-cqhttp/releases) | - + | Mirai | ![](https://img.shields.io/badge/状态-不再积极维护-yellow?style=for-the-badge) | | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | @@ -107,7 +105,7 @@ import TabItem from '@theme/TabItem'; | 下载 | [GitHub](https://github.com/iTXTech/mirai-console-loader/releases) | - + | Lagrange.OneBot | ![](https://img.shields.io/badge/状态-停止维护-red?style=for-the-badge) | | --------------- | ------------------------------------------------------------------------------------------------------------------------------------ | @@ -118,4 +116,4 @@ import TabItem from '@theme/TabItem'; - +{/* autocorrect-enable */} diff --git a/src/content/docs/general/advance/bot/general.md b/src/content/docs/general/advance/bot/general.mdx similarity index 93% rename from src/content/docs/general/advance/bot/general.md rename to src/content/docs/general/advance/bot/general.mdx index b97b70992..6cb35d263 100644 --- a/src/content/docs/general/advance/bot/general.md +++ b/src/content/docs/general/advance/bot/general.mdx @@ -1,12 +1,10 @@ --- title: 通用机器人程序 -sidebar_position: 2 +sidebar: + order: 3 --- -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -# 通用机器人程序 +import { TabItem, Tabs } from "@astrojs/starlight/components"; 指一个独立程序运行的 QQ 机器人程序,这些机器人程序仅只有 QQ 消息处理功能,QQ 连接需要依赖 QQ 机器人框架 @@ -14,10 +12,10 @@ import TabItem from '@theme/TabItem'; 关于机器人框架详情请见 [通用 | 机器人框架](framework.md) - - - +{/* autocorrect-disable space-punctuation */} + + | DLS-CQhttp | ![](https://img.shields.io/badge/状态-积极维护-green?style=for-the-badge) | | ---------- | --------------------------------------------------------------------------------------------------------------- | | 相关链接 | [Gitee 仓库](https://gitee.com/dlcn/dlscq) \| [文档站](https://gitee.com/dlcn/dlscq/wikis) | @@ -27,7 +25,7 @@ import TabItem from '@theme/TabItem'; | 下载 | [Gitee](https://gitee.com/dlcn/dlscq/releases) | - + | DLS-native | ![](https://img.shields.io/badge/状态-积极维护-green?style=for-the-badge) | | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | @@ -38,7 +36,7 @@ import TabItem from '@theme/TabItem'; | 下载 | [Gitee](https://gitee.com/dlcn/dlsna/releases) | - + | EasyBot | ![](https://img.shields.io/badge/状态-积极维护-green?style=for-the-badge) | | -------- | ------------------------------------------------------------------------------------------- | @@ -49,7 +47,7 @@ import TabItem from '@theme/TabItem'; | 下载 | [官网下载](https://docs.inectar.cn/download/easybot) | - + | Serein | ![](https://img.shields.io/badge/状态-积极维护-green?style=for-the-badge) | | -------- | ------------------------------------------------------------------------------------------------------------------------- | @@ -60,7 +58,7 @@ import TabItem from '@theme/TabItem'; | 下载 | [GitHub](https://github.com/SereinDev/Serein/releases) | - + | CirnoBot | ![](https://img.shields.io/badge/状态-不再积极维护-yellow?style=for-the-badge) | | ---------------- | ----------------------------------------------------------------------------------------------------------- | @@ -71,7 +69,7 @@ import TabItem from '@theme/TabItem'; | 下载 | [文档教程](https://biaoju.site/cirnobot/docs/%E7%AE%80%E5%8D%95%E4%B8%8A%E6%89%8B) | - + | Minecraft_QQBot | ![](https://img.shields.io/badge/状态-积极维护-green?style=for-the-badge) | | ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | @@ -83,4 +81,4 @@ import TabItem from '@theme/TabItem'; - +{/* autocorrect-enable */} diff --git a/src/content/docs/general/advance/bot/bot.md b/src/content/docs/general/advance/bot/intro.md similarity index 95% rename from src/content/docs/general/advance/bot/bot.md rename to src/content/docs/general/advance/bot/intro.md index 3a2064cc1..5d8569f9f 100644 --- a/src/content/docs/general/advance/bot/bot.md +++ b/src/content/docs/general/advance/bot/intro.md @@ -1,11 +1,9 @@ --- -title: 群机器人 -slug: /advance/bot -sidebar_position: 6 +title: 概述 +sidebar: + order: 1 --- -# 群机器人 - 搭建机器人能够让你实现群服消息互通、查询服务器状态、通过聊天即可管理服务器等功能,让你的玩家交流群与服务器连接起来。 机器人通常分为两个部分,这两个部分分别负责控制 QQ 和对社交帐号执行程序。 diff --git a/src/content/docs/general/advance/bot/plugin.md b/src/content/docs/general/advance/bot/plugin.mdx similarity index 95% rename from src/content/docs/general/advance/bot/plugin.md rename to src/content/docs/general/advance/bot/plugin.mdx index 7d77e7713..9d0c2ac8e 100644 --- a/src/content/docs/general/advance/bot/plugin.md +++ b/src/content/docs/general/advance/bot/plugin.mdx @@ -1,10 +1,10 @@ --- title: 接入式机器人 -sidebar_position: 7 +sidebar: + order: 4 --- -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; +import { TabItem, Tabs } from "@astrojs/starlight/components"; # 接入式机器人 @@ -15,10 +15,10 @@ import TabItem from '@theme/TabItem'; 部分插件模组或者外部独立程序会内置 QQ 机器人框架 关于机器人框架详情请见 [通用 | 机器人框架](framework.md) +{/* autocorrect-disable space-punctuation */} - - - + + | MiraiMC | ![](https://img.shields.io/badge/状态-积极维护-green?style=for-the-badge) | | ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | @@ -31,7 +31,7 @@ import TabItem from '@theme/TabItem'; | **注意事项** | 由于 Mirai 原生登陆平台已停止更新,并且 MiraiMC 插件自身不支持 Onebot 协议,您需要使用 [这个拓展](https://github.com/DreamVoid/MiraiMCAddon-Overflow) 来给 MiraiMC 添加 Onebot 协议支持 | - + | SparkBridge | ![](https://img.shields.io/badge/状态-积极维护-green?style=for-the-badge) | | --------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | @@ -53,7 +53,7 @@ import TabItem from '@theme/TabItem'; | 下载 | [Modrinth](https://modrinth.com/mod/mcbot) \| [Mcmod](https://www.mcmod.cn/download/4903.html) \| [CruseForge](https://www.curseforge.com/minecraft/mc-mods/mcbot) | - + | McBot | ![](https://img.shields.io/badge/状态-积极维护-green?style=for-the-badge) | | ---------------- | ---------------------------------------------------------------------------------------------------------------------------- | @@ -64,7 +64,7 @@ import TabItem from '@theme/TabItem'; | 下载 | [GitHub](https://github.com/RegadPoleCN/PlumBot/releases) \| [Modrinth](https://modrinth.com/plugin/plumbot) | - + | AQQBot | ![](https://img.shields.io/badge/状态-不再积极维护-yellow?style=for-the-badge) | | ---------------- | ---------------------------------------------------------------------------------------------------------- | @@ -75,7 +75,7 @@ import TabItem from '@theme/TabItem'; | 下载 | [GitHub](https://github.com/alazeprt/AQQBot/releases) | - + | XinxinBot | ![](https://img.shields.io/badge/状态-积极维护-green?style=for-the-badge) | | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | @@ -86,7 +86,7 @@ import TabItem from '@theme/TabItem'; | 下载 | [官网下载](https://bbs.mcxin.cn/archives/216) | - + | NeoBot | ![](https://img.shields.io/badge/状态-积极维护-green?style=for-the-badge) | | ---------------- | ---------------------------------------------------------------------------------------------------------------------- | @@ -98,4 +98,4 @@ import TabItem from '@theme/TabItem'; - +{/* autocorrect-enable */} diff --git a/src/content/docs/general/advance/domain-and-dns.md b/src/content/docs/general/advance/domain-and-dns.md index b28a51064..f7d1ac5d1 100644 --- a/src/content/docs/general/advance/domain-and-dns.md +++ b/src/content/docs/general/advance/domain-and-dns.md @@ -1,10 +1,7 @@ --- title: 域名申请与解析 -sidebar_position: 5 --- -# 申请域名 - 域名不但是服务器的招牌,也是老玩家重新找回的一个重要渠道,一个好的域名应该够短 (太长了没人记得住)、有记忆点 (最好是和 Minecraft 或玩法相关),那么准备好一点小钱钱和待选的名字开始吧。 ## 什么是域名 diff --git a/src/content/docs/general/advance/linux/backup.md b/src/content/docs/general/advance/linux/backup.md index b4c7a8044..fdd1c6ed4 100644 --- a/src/content/docs/general/advance/linux/backup.md +++ b/src/content/docs/general/advance/linux/backup.md @@ -1,10 +1,9 @@ --- title: 自动备份存档 -sidebar_position: 8 +sidebar: + order: 5 --- -# 自动备份存档 - ## 编写备份脚本 在你的服务器上创建一个备份脚本: diff --git a/src/content/docs/general/advance/linux/connect-to-server.md b/src/content/docs/general/advance/linux/connect-to-server.md index 4bf97e5c5..26fac3f0a 100644 --- a/src/content/docs/general/advance/linux/connect-to-server.md +++ b/src/content/docs/general/advance/linux/connect-to-server.md @@ -1,10 +1,9 @@ --- title: 连接服务器 -sidebar_position: 2 +sidebar: + order: 2 --- -# 连接服务器 - Linux 系统上有一个工具被业界广泛使用,它就是 **SSH**。它虽然不能远程控制桌面,但是可以远程登录服务器的命令行,并让服务器执行一些命令。由于 `ssh` 命令非常常用,现在很多 Linux 发行版都已经默认集成了这个命令。 目前使用最广的提供 ssh 命令的软件是 **OpenSSH**。 diff --git a/src/content/docs/general/advance/linux/database-installation.md b/src/content/docs/general/advance/linux/database-installation.md deleted file mode 100644 index 4d733fa2d..000000000 --- a/src/content/docs/general/advance/linux/database-installation.md +++ /dev/null @@ -1,139 +0,0 @@ ---- -title: 数据库安装 -sidebar_position: 5 ---- - -# 数据库安装 - -本部分讲解在命令行中安装常见数据库的方式。本教程以 Ubuntu 24.04 系统为例 - -## MySQL - -### 安装 - -在 [官方网站](https://dev.mysql.com/downloads/repo/apt/) 页面下载 `mysql-apt-config_0.8.301_all.deb` - -这个包是一个配置 APT 的 MySQL 仓库。安装 `mysql-apt-config` 后,用户可以选择想要安装的 MySQL 版本。 - -将文件传入服务器 `/opt` 目录下,输入以下指令安装: - -```bash -dpkg -i mysql-apt-config_0.8.30-1_all.deb -``` - -![](_assets/Linux开服/数据库安装/1.png) - -安装完成后使用以下指令更新软件包列表: - -```bash -sudo apt update -``` - -随后进行 MySQL Server (即 MySQL 服务) 的安装,输入以下指令安装 MySQL: - -```bash -apt install mysql-community-server -y -``` - -![](_assets/Linux开服/数据库安装/2.png) - -MySQL 默认会自带随机密码,所以等待安装完成后需输入以下指令查看初始密码: - -```bash -mysqld --initialize –console -``` - -![](_assets/Linux开服/数据库安装/3.png) - -红框部分就是初始密码,安装已经完毕,接下来启动并 将 MySQL 设为开机自启动,分别输入 - -```bash -systemctl start mysql -systemctl enable mysql -``` - -启动 MySQL 服务后,输入以下指令进入 MySQL 指令行: - -```bash -mysql -uroot -p -``` - -按提示输入密码登录到 MySQL - -![](_assets/Linux开服/数据库安装/4.png) - -输入修改密码指令: - -```sql -ALTER user 'root'@'localhost' IDENTIFIED BY 'NewPassword'; -``` - -将 NewPassword 修改为你自己设置的密码 - -**至此,MySQL 安装已经完成。** - -### 创建表 - -:::warning - -以下的操作为 SQL 语句,在结尾处的 `;` 不能省略否则会报错。 - -::: - -```sql -CREATE DATABASE IF NOT EXISTS XXX DEFAULT CHARACTER SET utf8mb4; -``` - -这里的 XXX 可以选择是你要使用数据库的插件名称也可以是自定义字符 - -### 创建用户 - -```sql -CREATE USER 'UserName'@'%' IDENTIFIED BY 'Password'; -``` - -### 用户授权 - -```sql -GRANT ALL PRIVILEGES ON 数据库名称.* TO 'UserName'@'%'; -``` - -:::tip - -UserName 填写用户名, - -`%` 代表所有 IP 地址,如果 Minecraft 服务端和数据库处于同一个服务器,建议改成 localhost 以增加安全性, - -Password 填写用户的密码 (由于安全性设置,密码必须有大小写长度 8 位以上,并且默认关闭远程访问) - -如果需要设置密码强度为低,开启远程访问等不安全的操作请自行百度,对于修改安全设置之后的数据库安全问题,本站概不负责 - -::: - -## Redis - -依次在终端输入以下指令,分别操作为安装依赖、下载 Redis、将安装包放在安装路径。更新软件包,安装下载好的 Redis - -```bash -apt install lsb-release curl gpg -curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg -echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list -apt update -apt install redis -y -``` - -安装完成后输入 `systemctl start redis-server` - -![](_assets/Linux开服/数据库安装/5.png) - -至此安装完成,输入 `redis-cli` 即可进入命令行管理 - -![](_assets/Linux开服/数据库安装/6.png) - -:::tip - -使用 `systemctl enable redis-server` 使 Redis 开机自启 - -![](_assets/Linux开服/数据库安装/7.png) - -::: diff --git a/src/content/docs/general/advance/linux/keep-running.md b/src/content/docs/general/advance/linux/keep-running.mdx similarity index 82% rename from src/content/docs/general/advance/linux/keep-running.md rename to src/content/docs/general/advance/linux/keep-running.mdx index e4eb91631..546454043 100644 --- a/src/content/docs/general/advance/linux/keep-running.md +++ b/src/content/docs/general/advance/linux/keep-running.mdx @@ -1,10 +1,10 @@ --- -title: 如何保持服务器在 Linux 服务器中后台运行 -sidebar_position: 3 +title: 后台运行 +sidebar: + order: 3 --- -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; +import { TabItem, Tabs } from "@astrojs/starlight/components"; # 如何保持服务器在 Linux 服务器中后台运行 @@ -17,21 +17,9 @@ import TabItem from '@theme/TabItem'; 确保你的系统上有 `screen` 包,没有的话安装它们: - - ```bash - apt-get install screen - ``` - - - ```bash - yum install screen - ``` - - - ```bash - pacman -Sy screen - ``` - + ```bash apt-get install screen ``` + ```bash yum install screen ``` + ```bash pacman -Sy screen ``` screen 的基础指令: @@ -56,8 +44,8 @@ screen -S xxx -X quit # 删除 xxx 窗口 (在 screen 中输入 exit 也可以 如果你想在 screen 中向上滚动查看历史日志: -- 按 `Ctrl + A + [` 进入复制模式(此时可以使用方向键或 Page Up/Down 键滚动) -- 按 `ESC` 退出复制模式 +- 按 `Ctrl + A + [` 进入复制模式(此时可以使用方向键或 Page Up/Down 键滚动) +- 按 `ESC` 退出复制模式 ::: diff --git a/src/content/docs/general/advance/linux/linux.md b/src/content/docs/general/advance/linux/linux.md index 5b19b5a57..7889611ce 100644 --- a/src/content/docs/general/advance/linux/linux.md +++ b/src/content/docs/general/advance/linux/linux.md @@ -1,11 +1,9 @@ --- -title: Linux 开服 -slug: /Sundry/Advance/Linux -sidebar_position: 1 +title: 概述 +sidebar: + order: 1 --- -# Linux 开服 - ## 为什么选择 Linux 开服 1. 更快的发包速度和接收速度,接入服务器速度将提升数十毫秒起,当面对假人攻击/ DDoS 攻击时会更加稳定; diff --git a/src/content/docs/general/advance/linux/start.md b/src/content/docs/general/advance/linux/start.mdx similarity index 81% rename from src/content/docs/general/advance/linux/start.md rename to src/content/docs/general/advance/linux/start.mdx index 0527f1ee2..746f18e38 100644 --- a/src/content/docs/general/advance/linux/start.md +++ b/src/content/docs/general/advance/linux/start.mdx @@ -1,12 +1,10 @@ --- title: 启动服务器 -sidebar_position: 3 +sidebar: + order: 4 --- -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -# 启动服务器 +import { TabItem, Tabs } from "@astrojs/starlight/components"; 开服之前,请检查服务器是否安装了 Java,在终端输入 @@ -28,10 +26,10 @@ OpenJDK 64-Bit Server VM Zulu21.32+17-CA (build 21.0.2+13-LTS, mixed mode, shari 下方以安装 `openjdk-17` 为例 - - sudo apt install openjdk-17-jdk - sudo yum install java-11-openjdk - sudo pacman -S jdk11-openjdk + + sudo apt install openjdk-17-jdk + sudo yum install java-11-openjdk + sudo pacman -S jdk11-openjdk 其他发行版安装方式自行百度 @@ -85,10 +83,10 @@ OpenJDK 64-Bit Server VM Zulu21.32+17-CA (build 21.0.2+13-LTS, mixed mode, shari ### 方法一 - - update-alternatives --config java - update-alternatives --config java - archlinux-java set jdk-vesion + + update-alternatives --config java + update-alternatives --config java + archlinux-java set jdk-vesion 然后选择你想使用的 Java,接着 `java -version` 验证版本 diff --git a/src/content/docs/java/start/basic/_assets/nogui.jpg b/src/content/docs/general/basics/_assets/nogui.jpg similarity index 100% rename from src/content/docs/java/start/basic/_assets/nogui.jpg rename to src/content/docs/general/basics/_assets/nogui.jpg diff --git "a/src/content/docs/general/start/basic/_assets/\345\217\243\345\255\227\347\254\246.png" "b/src/content/docs/general/basics/_assets/\345\217\243\345\255\227\347\254\246.png" similarity index 100% rename from "src/content/docs/general/start/basic/_assets/\345\217\243\345\255\227\347\254\246.png" rename to "src/content/docs/general/basics/_assets/\345\217\243\345\255\227\347\254\246.png" diff --git a/src/content/docs/general/start/basic/basic.md b/src/content/docs/general/basics/index.md similarity index 71% rename from src/content/docs/general/start/basic/basic.md rename to src/content/docs/general/basics/index.md index 967d6d31d..f47da97a6 100644 --- a/src/content/docs/general/start/basic/basic.md +++ b/src/content/docs/general/basics/index.md @@ -1,17 +1,9 @@ --- -title: 基础知识 -slug: /basic -sidebar_position: 5 +title: 概述 --- -# 基础知识 - 考虑到笨蛋教程主要面向新手,我们无法了解你了解什么不了解什么。 本文档暂时就开服最重要的基础概念进行介绍,如果有你自认为非常了解或者不重要的部分, 跳过他吧,因为我们在后面再次提到这些概念的时候会重新跳转到对应链接。 - -import DocCardList from '@theme/DocCardList'; - - diff --git a/src/content/docs/general/start/basic/what-is-lag.md b/src/content/docs/general/basics/what-is-lag.md similarity index 99% rename from src/content/docs/general/start/basic/what-is-lag.md rename to src/content/docs/general/basics/what-is-lag.md index 9e6ebe6b5..ec7c6ec9f 100644 --- a/src/content/docs/general/start/basic/what-is-lag.md +++ b/src/content/docs/general/basics/what-is-lag.md @@ -1,10 +1,7 @@ --- title: 什么是卡顿? -sidebar_position: 2 --- -# 什么是卡顿? - 服务器中玩家可感知到的卡顿是多种多样的,其中主要包括服务器处理速度不足导致的 **MSPT** 偏高, **TPS** 偏低, 服务器网络波动导致的 **Ping** (即为服务器和玩家之间的网络延迟) diff --git a/src/content/docs/general/start/basic/what-is-log.md b/src/content/docs/general/basics/what-is-log.md similarity index 98% rename from src/content/docs/general/start/basic/what-is-log.md rename to src/content/docs/general/basics/what-is-log.md index dd4c616a5..0e1f91fab 100644 --- a/src/content/docs/general/start/basic/what-is-log.md +++ b/src/content/docs/general/basics/what-is-log.md @@ -1,10 +1,7 @@ --- title: 什么是日志? -sidebar_position: 6 --- -# 什么是日志? - **日志** 记录了服务器的运行信息,运行时产生的错误和警告,同时也是大佬们用来分析为什么功能不正常或不能用的必要途径。 正常情况下,服务器的最新日志保存在 `服务器根目录/logs/latest.log` ,是 **同步控制台输出** 的。 diff --git a/src/content/docs/general/start/basic/what-is-messy-code.md b/src/content/docs/general/basics/what-is-messy-code.md similarity index 98% rename from src/content/docs/general/start/basic/what-is-messy-code.md rename to src/content/docs/general/basics/what-is-messy-code.md index e528b4767..d9d0f0ace 100644 --- a/src/content/docs/general/start/basic/what-is-messy-code.md +++ b/src/content/docs/general/basics/what-is-messy-code.md @@ -1,10 +1,7 @@ --- title: 什么是乱码? -sidebar_position: 7 --- -## 什么是乱码? - 有时候,你会发现你的文本文件中的中文都莫名其妙变成了一些奇奇怪怪的符号,看起来乱糟糟的,毫无逻辑可言。 这就是 **乱码**。 diff --git a/src/content/docs/general/start/basic/what-is-permission.md b/src/content/docs/general/basics/what-is-permission.md similarity index 98% rename from src/content/docs/general/start/basic/what-is-permission.md rename to src/content/docs/general/basics/what-is-permission.md index 373763533..dcf402218 100644 --- a/src/content/docs/general/start/basic/what-is-permission.md +++ b/src/content/docs/general/basics/what-is-permission.md @@ -1,10 +1,7 @@ --- title: 什么是权限? -sidebar_position: 5 --- -# 什么是权限? - 权限 - 在插件服务端中,确认玩家做某行为的能力是否被允许。 节点 - 权限的单元,一个节点就是一条权限,可以使用权限系统插件给予各个用户,如 `cmi.tp` 就是一条权限节点,而权限节点前的 `cmi` 就是父节点。 diff --git a/src/content/docs/general/start/basic/what-is-plugin.md b/src/content/docs/general/basics/what-is-plugin.md similarity index 98% rename from src/content/docs/general/start/basic/what-is-plugin.md rename to src/content/docs/general/basics/what-is-plugin.md index 40c9c63c4..25596d608 100644 --- a/src/content/docs/general/start/basic/what-is-plugin.md +++ b/src/content/docs/general/basics/what-is-plugin.md @@ -1,10 +1,7 @@ --- title: 什么是插件? -sidebar_position: 3 --- -# 什么是插件? - 如果你玩过整合包你一定对 `Mod` (即模组) 这个概念相当了解,但如果你是第一次开服,你可能不知道什么是 `Plugin` (插件),本文章会详细为你介绍。 ## 工作形式 diff --git a/src/content/docs/general/start/basic/what-is-server.md b/src/content/docs/general/basics/what-is-server.md similarity index 97% rename from src/content/docs/general/start/basic/what-is-server.md rename to src/content/docs/general/basics/what-is-server.md index 1845076d4..359e91624 100644 --- a/src/content/docs/general/start/basic/what-is-server.md +++ b/src/content/docs/general/basics/what-is-server.md @@ -1,10 +1,7 @@ --- title: 什么是服务端? -sidebar_position: 1 --- -## 什么是服务端? - > 服务端是一种有针对性的服务程序。服务端是为客户端服务的,服务的内容诸如向客户端提供资源,保存客户端数据。 简单来说,我们通常通过 _Minecraft_ **启动器** 玩的游戏属于 **客户端**。 diff --git a/src/content/docs/general/start/basic/what-is-startup-script.md b/src/content/docs/general/basics/what-is-startup-script.md similarity index 98% rename from src/content/docs/general/start/basic/what-is-startup-script.md rename to src/content/docs/general/basics/what-is-startup-script.md index 665a162a6..e32bd72a5 100644 --- a/src/content/docs/general/start/basic/what-is-startup-script.md +++ b/src/content/docs/general/basics/what-is-startup-script.md @@ -1,10 +1,7 @@ --- title: 什么是启动脚本? -sidebar_position: 4 --- -## 什么是启动脚本? - 启动脚本主要部分就是设置 Java 参数设置。 _对于 Windows 服务器来说,启动脚本是 `.bat` 后缀的文件,对 Linux 服务器而言,启动脚本是 `.sh` 后缀的文件。_ diff --git a/src/content/docs/general/intro.md b/src/content/docs/general/intro.md index 428c2aa8b..13cfd8ff7 100644 --- a/src/content/docs/general/intro.md +++ b/src/content/docs/general/intro.md @@ -1,11 +1,8 @@ --- title: 笨蛋开服教程 -sidebar_position: 1 --- -![](https://img.fastmirror.net/s/2024/11/02/672558bae4ec0.png) - -# 笨蛋开服教程 +![](../../../assets/nitwikit-banner.png) 👋 欢迎来到笨蛋开服教程! @@ -13,26 +10,26 @@ sidebar_position: 1 在开始前,请确认你拥有以下基础: -- 具备 **基础** 的计算机操作技能 - 如解压、新建文件夹、打开文件、安装软件等; -- 具备使用 **搜索引擎** 搜索关键词的能力; -- 拥有一台能够 **正常游玩 Minecraft** 的电脑。 -- 具有一定的 **英语基础** +- 具备 **基础** 的计算机操作技能 - 如解压、新建文件夹、打开文件、安装软件等; +- 具备使用 **搜索引擎** 搜索关键词的能力; +- 拥有一台能够 **正常游玩 Minecraft** 的电脑。 +- 具有一定的 **英语基础** ## 教程适合的群体 -- 渴望学习如何开设服务器并运营良好的人; -- 寻求解决如何解决服务器的常见问题的人; -- 希望深化对服务器基础知识理解的人。 +- 渴望学习如何开设服务器并运营良好的人; +- 寻求解决如何解决服务器的常见问题的人; +- 希望深化对服务器基础知识理解的人。 ## 教程不适合的群体 -- 意图通过开设服务器进行欺诈谋利的人; -- 忽视插件文档,频繁依赖他人解答的人; -- 头脑简单、狂妄自大、懒惰无能的人。 +- 意图通过开设服务器进行欺诈谋利的人; +- 忽视插件文档,频繁依赖他人解答的人; +- 头脑简单、狂妄自大、懒惰无能的人。 ## 开始你的旅程 -![:NitWikit](https://count.kjchmc.cn/get/@:NitWikit) +![Count](https://count.kjchmc.cn/get/@:NitWikit) 如果你确定你符合条件,请点击一侧的目录开始阅读文档。 @@ -42,4 +39,4 @@ sidebar_position: 1 ## 本节视频教程 -[**点此前往 B 站**: 笨蛋级 MC 开服教程 - 第一集:服主的基本要求](https://www.bilibili.com/video/BV16W421R7tm/?share_source=copy_web&vd_source=53975e70eabfc1d6563221a670d4021a) +**点此前往 B 站**: [笨蛋级 MC 开服教程 - 第一集:服主的基本要求](https://www.bilibili.com/video/BV16W421R7tm/?share_source=copy_web&vd_source=53975e70eabfc1d6563221a670d4021a) diff --git a/src/content/docs/general/preparation/java/_assets/Oracle-1.png b/src/content/docs/general/java/_assets/Oracle-1.png similarity index 100% rename from src/content/docs/general/preparation/java/_assets/Oracle-1.png rename to src/content/docs/general/java/_assets/Oracle-1.png diff --git a/src/content/docs/general/preparation/java/_assets/Oracle-2.png b/src/content/docs/general/java/_assets/Oracle-2.png similarity index 100% rename from src/content/docs/general/preparation/java/_assets/Oracle-2.png rename to src/content/docs/general/java/_assets/Oracle-2.png diff --git a/src/content/docs/general/preparation/java/_assets/Oracle-3.png b/src/content/docs/general/java/_assets/Oracle-3.png similarity index 100% rename from src/content/docs/general/preparation/java/_assets/Oracle-3.png rename to src/content/docs/general/java/_assets/Oracle-3.png diff --git a/src/content/docs/general/preparation/java/_assets/Oracle-4.png b/src/content/docs/general/java/_assets/Oracle-4.png similarity index 100% rename from src/content/docs/general/preparation/java/_assets/Oracle-4.png rename to src/content/docs/general/java/_assets/Oracle-4.png diff --git a/src/content/docs/general/preparation/java/_assets/Oracle-5.png b/src/content/docs/general/java/_assets/Oracle-5.png similarity index 100% rename from src/content/docs/general/preparation/java/_assets/Oracle-5.png rename to src/content/docs/general/java/_assets/Oracle-5.png diff --git a/src/content/docs/general/preparation/java/_assets/cmd-1.png b/src/content/docs/general/java/_assets/cmd-1.png similarity index 100% rename from src/content/docs/general/preparation/java/_assets/cmd-1.png rename to src/content/docs/general/java/_assets/cmd-1.png diff --git a/src/content/docs/general/preparation/java/_assets/cmd-2.png b/src/content/docs/general/java/_assets/cmd-2.png similarity index 100% rename from src/content/docs/general/preparation/java/_assets/cmd-2.png rename to src/content/docs/general/java/_assets/cmd-2.png diff --git a/src/content/docs/general/preparation/java/_assets/environment-1.png b/src/content/docs/general/java/_assets/environment-1.png similarity index 100% rename from src/content/docs/general/preparation/java/_assets/environment-1.png rename to src/content/docs/general/java/_assets/environment-1.png diff --git a/src/content/docs/general/preparation/java/_assets/environment-11-1.png b/src/content/docs/general/java/_assets/environment-11-1.png similarity index 100% rename from src/content/docs/general/preparation/java/_assets/environment-11-1.png rename to src/content/docs/general/java/_assets/environment-11-1.png diff --git a/src/content/docs/general/preparation/java/_assets/environment-11-2.png b/src/content/docs/general/java/_assets/environment-11-2.png similarity index 100% rename from src/content/docs/general/preparation/java/_assets/environment-11-2.png rename to src/content/docs/general/java/_assets/environment-11-2.png diff --git a/src/content/docs/general/preparation/java/_assets/environment-2.png b/src/content/docs/general/java/_assets/environment-2.png similarity index 100% rename from src/content/docs/general/preparation/java/_assets/environment-2.png rename to src/content/docs/general/java/_assets/environment-2.png diff --git a/src/content/docs/general/preparation/java/_assets/environment-3.png b/src/content/docs/general/java/_assets/environment-3.png similarity index 100% rename from src/content/docs/general/preparation/java/_assets/environment-3.png rename to src/content/docs/general/java/_assets/environment-3.png diff --git a/src/content/docs/general/preparation/java/_assets/environment-4.png b/src/content/docs/general/java/_assets/environment-4.png similarity index 100% rename from src/content/docs/general/preparation/java/_assets/environment-4.png rename to src/content/docs/general/java/_assets/environment-4.png diff --git a/src/content/docs/general/preparation/java/_assets/environment-new-1.png b/src/content/docs/general/java/_assets/environment-new-1.png similarity index 100% rename from src/content/docs/general/preparation/java/_assets/environment-new-1.png rename to src/content/docs/general/java/_assets/environment-new-1.png diff --git a/src/content/docs/general/preparation/java/_assets/environment-new-2.png b/src/content/docs/general/java/_assets/environment-new-2.png similarity index 100% rename from src/content/docs/general/preparation/java/_assets/environment-new-2.png rename to src/content/docs/general/java/_assets/environment-new-2.png diff --git a/src/content/docs/general/preparation/java/_assets/environment-no.png b/src/content/docs/general/java/_assets/environment-no.png similarity index 100% rename from src/content/docs/general/preparation/java/_assets/environment-no.png rename to src/content/docs/general/java/_assets/environment-no.png diff --git a/src/content/docs/general/preparation/java/_assets/lava.jpg b/src/content/docs/general/java/_assets/lava.jpg similarity index 100% rename from src/content/docs/general/preparation/java/_assets/lava.jpg rename to src/content/docs/general/java/_assets/lava.jpg diff --git a/src/content/docs/general/preparation/java/_assets/path-1.png b/src/content/docs/general/java/_assets/path-1.png similarity index 100% rename from src/content/docs/general/preparation/java/_assets/path-1.png rename to src/content/docs/general/java/_assets/path-1.png diff --git a/src/content/docs/general/preparation/java/choose-and-download-and-install-java.md b/src/content/docs/general/java/choose-and-download-and-install-java.md similarity index 98% rename from src/content/docs/general/preparation/java/choose-and-download-and-install-java.md rename to src/content/docs/general/java/choose-and-download-and-install-java.md index bdaf634c0..8fae1d186 100644 --- a/src/content/docs/general/preparation/java/choose-and-download-and-install-java.md +++ b/src/content/docs/general/java/choose-and-download-and-install-java.md @@ -1,10 +1,7 @@ --- title: 选择、下载和安装 Java -sidebar_position: 1 --- -# 选择、下载和安装 Java - ## 选择版本 :::warning diff --git a/src/content/docs/general/preparation/java/environment.md b/src/content/docs/general/java/environment.mdx similarity index 92% rename from src/content/docs/general/preparation/java/environment.md rename to src/content/docs/general/java/environment.mdx index 6d74baeaa..78e699ee7 100644 --- a/src/content/docs/general/preparation/java/environment.md +++ b/src/content/docs/general/java/environment.mdx @@ -1,10 +1,7 @@ --- title: 环境变量 -sidebar_position: 2 --- -# 环境变量 - 环境变量用于记住程序路径,方便在命令行界面的任意目录启动程序。 例如: @@ -23,11 +20,10 @@ sidebar_position: 2 打开环境变量面板: -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; +import { Tabs, TabItem } from '@astrojs/starlight/components'; - + 右键点击“**此电脑**”,点击“**设置**”。 @@ -38,18 +34,20 @@ import TabItem from '@theme/TabItem'; ![](./_assets/environment-11-2.png) - + TODO - + TODO +--- + 在这个名为“**环境变量**”的界面中,我们可以看到,环境变量有“**用户变量**”和“**系统变量**”之分(红色箭头)。 - 用户变量:仅对此用户有效。 diff --git a/src/content/docs/general/preparation/java/faq.md b/src/content/docs/general/java/faq.md similarity index 87% rename from src/content/docs/general/preparation/java/faq.md rename to src/content/docs/general/java/faq.md index 810e6bd49..f593f3fe7 100644 --- a/src/content/docs/general/preparation/java/faq.md +++ b/src/content/docs/general/java/faq.md @@ -1,10 +1,7 @@ --- title: FAQ -sidebar_position: 4 --- -# FAQ - ## 为什么 .jar 文件的图标是个白纸 1. 服务器根本没有安装 JRE 或者 JDK。 @@ -15,7 +12,7 @@ sidebar_position: 4 下载 Java 时下载 `.zip` 或 `.tar.gz` 结尾的压缩包,将压缩包解压到任意位置。 -随后可以修改环境变量 `JAVA_HOME` 即可,如果不懂看 [这篇文章](https://blog.csdn.net/MrsHorse/article/details/82695353) +随后可以修改环境变量 `JAVA_HOME` 即可,如果不懂看 [这篇文章](/general/java/environment) ## cmd 键入 java 没反应 diff --git a/src/content/docs/general/java/intro.md b/src/content/docs/general/java/intro.md new file mode 100644 index 000000000..e8a391939 --- /dev/null +++ b/src/content/docs/general/java/intro.md @@ -0,0 +1,33 @@ +--- +title: 概述 +sidebar: + order: 1 +--- + +你的服务端和客户端都需要安装 Java 才能运行。各个游戏版本需要安装的 Java 版本不同。 + +原则上选择最新的兼容的 Java 版本,可以体验到最新的优化,并且大部分现代插件对最新版的特性有优化(比如 AuthMeReReload)。 + +## JRE 和 JDK 是什么?我该怎么选择? + +**JRE** (Java Runtime Environment) 是 Java 的运行环境。面向 Java 程序的使用者,而不是开发者。如果你仅下载并安装了 JRE,那么你的系统只能运行 Java 程序。 + +JRE 是运行 Java 程序所必须环境的集合,包含 JVM 标准实现及 Java 核心类库。它包括 Java 虚拟机、Java 平台核心类和支持文件。它不包含开发工具(编译器、调试器等)。 + +**JDK** (Java Development Kit) 又称 J2SDK (Java2 Software Development Kit),是 Java 开发工具包,它提供了 Java 的开发环境(提供了编译器 javac 等工具,用于将 java 文件编译为 class 文件)和运行环境(提供了 JVM 和 Runtime 辅助包,用于解析 class 文件使其得到运行)。 + +如果你下载并安装了 JDK,那么你不仅可以开发 Java 程序,也同时拥有了运行 Java 程序的平台。JDK 是整个 Java 的核心,包括了 Java 运行环境(JRE)、一堆 Java 工具 tools.jar 和 Java 标准类库 rt.jar。 + +### 总结 + +**开服最好选择 JDK**,这样不会因为一些插件/mod 使用类似 ByteBuddy 等黑魔法导致报错,也可以轻松使用 Arthas 等分析工具。 + +并且像 Pufferfish 之类的端可以使用 JDK 中的 SIMD 进行优化。 + +毕竟,现在谁还缺几十 MB 的存储空间,~~真缺那就别开服了~~。 + +--- + +对于初学者,只需要阅读 [选择、下载和安装 Java](/general/java/choose-and-download-and-install-java) 部分,其余为扩展知识。 + +![](_assets/lava.jpg) diff --git a/src/content/docs/general/preparation/java/sdkman.md b/src/content/docs/general/java/sdkman.md similarity index 99% rename from src/content/docs/general/preparation/java/sdkman.md rename to src/content/docs/general/java/sdkman.md index 4f7dc34e1..95f01fa7b 100644 --- a/src/content/docs/general/preparation/java/sdkman.md +++ b/src/content/docs/general/java/sdkman.md @@ -1,12 +1,9 @@ --- title: SDKMAN! -sidebar_position: 4 --- -# SDKMAN! - SDKMAN! 是一个用于管理多个软件开发工具包版本的工具,特别适合需要在不同 Java 版本之间切换的开发者和服务器管理员。 ## 什么是 SDKMAN! @@ -183,8 +180,8 @@ java -jar server.jar 创建启动脚本时可以指定 Java 版本: ```bash -#!/bin/bash # start-1.20.4.sh +#!/bin/bash # 设置 Java 版本 export SDKMAN_DIR="$HOME/.sdkman" diff --git a/src/content/docs/general/start/_assets/qnmd_raw.png b/src/content/docs/general/more/_assets/qnmd_raw.png similarity index 100% rename from src/content/docs/general/start/_assets/qnmd_raw.png rename to src/content/docs/general/more/_assets/qnmd_raw.png diff --git "a/src/content/docs/general/start/_assets/\344\270\215\350\246\201\346\210\252\345\233\276\350\277\231\344\270\252\345\225\212.png" "b/src/content/docs/general/more/_assets/\344\270\215\350\246\201\346\210\252\345\233\276\350\277\231\344\270\252\345\225\212.png" similarity index 100% rename from "src/content/docs/general/start/_assets/\344\270\215\350\246\201\346\210\252\345\233\276\350\277\231\344\270\252\345\225\212.png" rename to "src/content/docs/general/more/_assets/\344\270\215\350\246\201\346\210\252\345\233\276\350\277\231\344\270\252\345\225\212.png" diff --git "a/src/content/docs/general/start/_assets/\345\261\217\345\271\225\346\210\252\345\233\276 2025-02-07 182759.png" "b/src/content/docs/general/more/_assets/\345\261\217\345\271\225\346\210\252\345\233\276 2025-02-07 182759.png" similarity index 100% rename from "src/content/docs/general/start/_assets/\345\261\217\345\271\225\346\210\252\345\233\276 2025-02-07 182759.png" rename to "src/content/docs/general/more/_assets/\345\261\217\345\271\225\346\210\252\345\233\276 2025-02-07 182759.png" diff --git "a/src/content/docs/general/start/_assets/\345\261\217\345\271\225\346\210\252\345\233\276 2025-02-07 182930.png" "b/src/content/docs/general/more/_assets/\345\261\217\345\271\225\346\210\252\345\233\276 2025-02-07 182930.png" similarity index 100% rename from "src/content/docs/general/start/_assets/\345\261\217\345\271\225\346\210\252\345\233\276 2025-02-07 182930.png" rename to "src/content/docs/general/more/_assets/\345\261\217\345\271\225\346\210\252\345\233\276 2025-02-07 182930.png" diff --git "a/src/content/docs/general/start/_assets/\351\227\256\351\227\256\351\242\230\347\232\204\346\212\200\345\267\247/\346\262\241\344\272\213\344\270\215\350\246\201\345\205\215\350\264\271\345\270\256\344\272\272.jpg" "b/src/content/docs/general/more/_assets/\351\227\256\351\227\256\351\242\230\347\232\204\346\212\200\345\267\247/\346\262\241\344\272\213\344\270\215\350\246\201\345\205\215\350\264\271\345\270\256\344\272\272.jpg" similarity index 100% rename from "src/content/docs/general/start/_assets/\351\227\256\351\227\256\351\242\230\347\232\204\346\212\200\345\267\247/\346\262\241\344\272\213\344\270\215\350\246\201\345\205\215\350\264\271\345\270\256\344\272\272.jpg" rename to "src/content/docs/general/more/_assets/\351\227\256\351\227\256\351\242\230\347\232\204\346\212\200\345\267\247/\346\262\241\344\272\213\344\270\215\350\246\201\345\205\215\350\264\271\345\270\256\344\272\272.jpg" diff --git "a/src/content/docs/general/start/_assets/\351\227\256\351\227\256\351\242\230\347\232\204\346\212\200\345\267\247/\347\273\217\345\205\270\350\200\201\345\233\276-1.jpg" "b/src/content/docs/general/more/_assets/\351\227\256\351\227\256\351\242\230\347\232\204\346\212\200\345\267\247/\347\273\217\345\205\270\350\200\201\345\233\276-1.jpg" similarity index 100% rename from "src/content/docs/general/start/_assets/\351\227\256\351\227\256\351\242\230\347\232\204\346\212\200\345\267\247/\347\273\217\345\205\270\350\200\201\345\233\276-1.jpg" rename to "src/content/docs/general/more/_assets/\351\227\256\351\227\256\351\242\230\347\232\204\346\212\200\345\267\247/\347\273\217\345\205\270\350\200\201\345\233\276-1.jpg" diff --git "a/src/content/docs/general/start/_assets/\351\227\256\351\227\256\351\242\230\347\232\204\346\212\200\345\267\247/\347\273\217\345\205\270\350\200\201\345\233\276-2.jpg" "b/src/content/docs/general/more/_assets/\351\227\256\351\227\256\351\242\230\347\232\204\346\212\200\345\267\247/\347\273\217\345\205\270\350\200\201\345\233\276-2.jpg" similarity index 100% rename from "src/content/docs/general/start/_assets/\351\227\256\351\227\256\351\242\230\347\232\204\346\212\200\345\267\247/\347\273\217\345\205\270\350\200\201\345\233\276-2.jpg" rename to "src/content/docs/general/more/_assets/\351\227\256\351\227\256\351\242\230\347\232\204\346\212\200\345\267\247/\347\273\217\345\205\270\350\200\201\345\233\276-2.jpg" diff --git "a/src/content/docs/general/start/_assets/\351\227\256\351\227\256\351\242\230\347\232\204\346\212\200\345\267\247/\347\273\217\345\205\270\350\200\201\345\233\276-3.jpg" "b/src/content/docs/general/more/_assets/\351\227\256\351\227\256\351\242\230\347\232\204\346\212\200\345\267\247/\347\273\217\345\205\270\350\200\201\345\233\276-3.jpg" similarity index 100% rename from "src/content/docs/general/start/_assets/\351\227\256\351\227\256\351\242\230\347\232\204\346\212\200\345\267\247/\347\273\217\345\205\270\350\200\201\345\233\276-3.jpg" rename to "src/content/docs/general/more/_assets/\351\227\256\351\227\256\351\242\230\347\232\204\346\212\200\345\267\247/\347\273\217\345\205\270\350\200\201\345\233\276-3.jpg" diff --git a/src/content/docs/general/start/ask-for-help.md b/src/content/docs/general/more/ask-for-help.md similarity index 100% rename from src/content/docs/general/start/ask-for-help.md rename to src/content/docs/general/more/ask-for-help.md diff --git a/src/content/docs/general/preparation/dumb-script-usage.md b/src/content/docs/general/preparation/dumb-script-usage.md index 4fd35021b..7b9e90b98 100644 --- a/src/content/docs/general/preparation/dumb-script-usage.md +++ b/src/content/docs/general/preparation/dumb-script-usage.md @@ -1,10 +1,7 @@ --- title: 笨蛋脚本使用 -sidebar_position: 4 --- -# 笨蛋脚本使用 - 笨蛋脚本是由本 Wiki 的作者之一 lilingfeng 编写的,专门为笨蛋设计的,你只需要双击启动,回答几个问题就能帮你自动完成。 ## 下载 diff --git a/src/content/docs/general/preparation/java/java.md b/src/content/docs/general/preparation/java/java.md deleted file mode 100644 index 3645a641d..000000000 --- a/src/content/docs/general/preparation/java/java.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -title: Java 相关 -slug: /lava/overview -sidebar_position: 1 ---- - -# Java 相关 - -你的服务端和客户端都需要安装 Java 才能运行。各个游戏版本需要安装的 Java 版本不同。 - -原则上选择最新的兼容的 Java 版本,可以体验到最新的优化,并且大部分现代插件对最新版的特性有优化 (比如 AuthMeReReload)。 - -

    - JRE 和 JDK 是什么?我该怎么选择? - -JRE (Java Runtime Enviroment) 是 Java 的运行环境。面向 Java 程序的使用者,而不是开发者。如果你仅下载并安装了 JRE,那么你的系统只能运行 -Java 程序。 -JRE 是运行 Java 程序所必须环境的集合,包含 JVM 标准实现及 Java 核心类库。它包括 Java 虚拟机、Java -平台核心类和支持文件。它不包含开发工具 (编译器、调试器等) - -JDK (Java Development Kit) 又称 J2SDK (Java2 Software Development Kit),是 Java 开发工具包,它提供了 Java 的开发环境 -(提供了编译器 javac 等工具,用于将 java 文件编译为 class 文件) -和运行环境 (提供了 JVM 和 Runtime 辅助包,用于解析 class 文件使其得到运行)。 -如果你下载并安装了 JDK,那么你不仅可以开发 Java 程序,也同时拥有了运行 Java 程序的平台。JDK 是整个 Java 的核心,包括了 Java -运行环境 (JRE),一堆 Java 工具 tools.jar 和 -Java 标准类库 (rt.jar) - -总结:**开服最好选择 JDK**,这样不会因为一些插件/mod 使用类似 ByteBuddy 等黑魔法导致报错,也可以轻松使用 Arthas 等分析工具 - -并且像 Pufferfish 之类的端可以使用 JDK 中的 SIMD 进行优化 - -毕竟,现在谁还缺几十 MB 的存储空间,~~真缺那就别开服了~~ - -对于初学者,只需要阅读 [选择、下载和安装 Java](./choose-and-download-and-install-java.md) 部分,其余为扩展知识。 - -
    - -import DocCardList from '@theme/DocCardList'; - - - -![](_assets/lava.jpg) diff --git a/src/content/docs/general/preparation/preparation.md b/src/content/docs/general/preparation/preparation.md deleted file mode 100644 index 6d6fef0c4..000000000 --- a/src/content/docs/general/preparation/preparation.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -title: 准备工作 -slug: /preparation -sidebar_position: 3 ---- - -# 准备工作 - -在正式开 Minecraft 服务器之前,请一定确认已经准备好了以下必备软件或网页: - -import DocCardList from '@theme/DocCardList'; - - - -其中: - -Java 是开 Java 版 Minecraft 服务器必要的; - -文档编辑软件能够有效提高编辑插件、核心配置时的效率,降低错误使用语法的可能性; - -网页主要包括了寻找插件、mod、生成 MOTD,生成指令等便捷功能; - -笨蛋脚本主要用于一键式配置文件、安装插件等 (如果你确信你不需要,可以不使用)。 diff --git a/src/content/docs/general/preparation/services.md b/src/content/docs/general/preparation/services.md index d0151db92..b164cc334 100644 --- a/src/content/docs/general/preparation/services.md +++ b/src/content/docs/general/preparation/services.md @@ -1,25 +1,14 @@ --- title: 笨蛋服务 -slug: /services -sidebar_position: 5 --- -import GlobalContent from '@site/src/components/GlobalContent' - -# 笨蛋服务 - 这些服务由赛博菩萨 Cloudflare 和 lilingfeng 搭建,完全免费提供! 目前包括 - - -- [笨蛋镜像](https://mirror.yizhan.wiki) - 加速网站的访问 (为没有 VPN 的人准备) -- [笨蛋图床](https://image.8aka.org) - 简洁,免费的图床 - - - -- [日志上传](https://log.8aka.org) - 上传日志 +- [笨蛋镜像](https://mirror.yizhan.wiki) - 加速网站的访问 (为没有 VPN 的人准备) +- [笨蛋图床](https://image.8aka.org) - 简洁,免费的图床 +- [日志上传](https://log.8aka.org) - 上传日志 ## 规则 diff --git a/src/content/docs/general/preparation/text-editor.md b/src/content/docs/general/preparation/text-editor.md deleted file mode 100644 index b4b49300d..000000000 --- a/src/content/docs/general/preparation/text-editor.md +++ /dev/null @@ -1,189 +0,0 @@ ---- -title: 文本编辑器 -sidebar_position: 2 ---- - -# 文本编辑器 - -一个好用的文本编辑器是 **相当** 重要的,本文将介绍几个开服常用的文本编辑器。 - -:::warning - -请不要再使用 Windows 自带的记事本和写字板了。这些文本编辑器通常有以下问题: - -1. 可能造成文件编码发生改变。小白操作时尤其容易出现,部分情况下用记事本和写字板保存文件后文件因编码改变等问题而无法服务器读取。 -2. 无法察觉到格式错误。有时编辑文件时会因为不小心删除或添加了些符号,导致配置文件语法错误,服务器无法识别。本文介绍的文本编辑器均能识别出这些格式错误并做出提示和警告,然而记事本和写字板却不具备这些功能。 -3. 无法准确地辨认缩进等格式。这些文本编辑器由于默认不使用 [等宽字体](https://baike.baidu.com/item/%E7%AD%89%E5%AE%BD%E5%AD%97%E4%BD%93/8434037) 显示文字,导致其显示效果与原格式存在差异。 -4. 没有语法高亮功能。在编辑配置文件时,语法高亮功能可以让你高效快速地找到指定配置项和值。它让配置文件更易于阅读,整体上提高了在服务器上进行操作的效率。本文介绍的文本编辑器均能识别出这些格式错误并做出提示和警告,然而记事本和写字板却不具备这些功能。 - -::: - -## Visual Studio Code - -
    - 点击展开 - -![官网图片](https://code.visualstudio.com/assets/home/home-screenshot-win-lg.png) - -全能型文本编辑器,**非常非常推荐**,支持简体中文 / 繁体中文 / 英文,仅支持 `Windows 10 +`。 - -缺点是启动速度可能不是很快,不过非常适合新手使用。(已经算是比较快的了。) - -官网链接:https://code.visualstudio.com/ - -你要 **记得保存文件** - -发现有人第一次用文本编辑器不知道编辑完后保存。 - -![](_assets/白点.png) - -VS Code 会在未保存的文件后标记一个白点,提示你这个文件编辑了但是没有保存 (其他文本编辑器类似)。 - -![](_assets/vscode保存和自动保存.png) - -保存按钮 (红色箭头),也可以用快捷键来保存 `Ctrl + S`。 - -开启自动保存 (绿色箭头)。 - -~~当年 TrMenu 的自动重载治好了我的 autosave~~ - -[Windows 下载镜像](https://dl.8aka.org/plugins/VSCodeUserSetup-x64-1.94.0.exe) - -[下载龟速怎么办](https://cn.bing.com/search?q=vscode%E4%B8%8B%E8%BD%BD%E9%BE%9F%E9%80%9F%E6%80%8E%E4%B9%88%E5%8A%9E) - -[VS Code 视频安装教程](https://www.bilibili.com/video/BV1nM4m117Fv/?share_source=copy_web) - -
    - -## Sublime Text - -
    - 点击展开 - -![Sublime Text](_assets/sublime展示.png) - -我不太喜欢的一点是保存文件时,对非激活的用户有一定概率弹出个窗口,提示你去付费支持 (可以选择不支持)。但这依旧是一个非常优秀的文本编辑器。 - -官网链接:https://www.sublimetext.com/ - -[如何汉化](https://cn.bing.com/search?q=sublime+text%e6%b1%89%e5%8c%96&qs=SC&pq=sublimetext&sk=HS1SC5&sc=10-11&cvid=19623440FA3646E0BEBECEED995CFCAF&FORM=QBRE&sp=7&lq=0) - -
    - -## Kate - -
    - 点击展开 - -![Kate](https://kate-editor.org/images/konsole.png) - -官网链接:https://kate-editor.org/zh-cn/ - -开源,跨平台,也可以秒开文件。 - -
    - -## Notepad3 - -
    - 点击展开 - -![Notepad3](https://www.rizonesoft.com/wp-content/uploads/2023/09/notepad3-screenshot-1.jpg) - -也是一个比较不错的文本编辑器。要求:**Windows 8 +**。 - -官网链接:https://rizonesoft.com/downloads/notepad3/ - -GitHub: https://github.com/rizonesoft/Notepad3 - -
    - -## Notepad++ - -
    - 点击展开 - -![NPPesu](_assets/Npp展示.png) - -可用,相关功能也较为完善。 - -:::warning - -作者政治立场可能引起众怒,但请理性看待: - -[Notepad++](http://www.notepadplus.com.cn/) 台独 + 多次辱 H [这里](https://cn.bing.com/search?q=notepad%252B%252B%E8%BE%B1%E5%8D%8E)。 - -dizhi 08 年奥运会 声称 (仅声明,但还是挺过分的) 不同意它的政治观点就在你的源码中添加随机字符 [这里](https://zhuanlan.zhihu.com/p/609192758)。 - -可替代为 **Notepad--** 等。 - -::: - -
    - -## Notepad-- - -
    - 点击展开 - -![Notepad--](_assets/N减减展示.png) - -国内作者维护的 Notepad++ 的替代品。 - -[`Gitee`](https://gitee.com/cxasm/notepad--) -[`GitHub`](https://github.com/cxasm/notepad--) - -
    - -## HbuilderX - -
    - 点击展开 - -![HbuilderX](_assets/HbuilderX展示.png) - -官网链接:https://dcloud.io/hbuilderx.html - -一个国产的文本编辑器。 - -:::warning - -该软件存在一些问题,例如编译需要登录、命令行中夹带广告等([来源](https://www.zhihu.com/question/47889106/answer/3189683653))。 - -::: - -### 关联右键菜单? - -可以在工具 → 设置 (Ctrl + Alt + ,) 打开设置,找到“常用配置”手动选中【关联右键菜单】。 - -
    - -## Geany - -
    - 点击展开 - -![](https://www.geany.org/media/uploads/screenshots/homepage/.thumbnails/geany_dark_2019-05-20.png/geany_dark_2019-05-20-500x0.png) - -官网链接:https://www.geany.org/ - -
    - -## Vim - -
    - 点击展开 - -![](https://www.vim.org/images/vim_header.gif) - -官网链接:https://www.vim.org/ - -这是一个纯命令行的编辑器,适用于在 SSH 或 Web Shell 中编辑,甚至是服务器上没有安装图形界面的场景,也具有图形化版本(GVim)和其他分支(例如 NeoVim)。 - -使用 `vim 文件名` 打开一个文件或者创建一个文件,然后按下 `I` 键开始编辑,编辑好后按下 `ESC` 退出,输入 `:wq` 命令即可保存,若不能保存,使用 `:wq!` 命令。 - -Vim 是可自由分发的开放源代码软件。 - -
    - -另外出于多方面原因,不推荐使用 GitHub 官方出品的 Atom,它已在 2022 年 12 月由于安全原因宣布停止维护。 diff --git "a/src/content/docs/general/preparation/_assets/HbuilderX\345\261\225\347\244\272.png" "b/src/content/docs/general/preparation/text-editor/_assets/HbuilderX\345\261\225\347\244\272.png" similarity index 100% rename from "src/content/docs/general/preparation/_assets/HbuilderX\345\261\225\347\244\272.png" rename to "src/content/docs/general/preparation/text-editor/_assets/HbuilderX\345\261\225\347\244\272.png" diff --git "a/src/content/docs/general/preparation/_assets/Npp\345\261\225\347\244\272.png" "b/src/content/docs/general/preparation/text-editor/_assets/Npp\345\261\225\347\244\272.png" similarity index 100% rename from "src/content/docs/general/preparation/_assets/Npp\345\261\225\347\244\272.png" rename to "src/content/docs/general/preparation/text-editor/_assets/Npp\345\261\225\347\244\272.png" diff --git "a/src/content/docs/general/preparation/_assets/N\345\207\217\345\207\217\345\261\225\347\244\272.png" "b/src/content/docs/general/preparation/text-editor/_assets/N\345\207\217\345\207\217\345\261\225\347\244\272.png" similarity index 100% rename from "src/content/docs/general/preparation/_assets/N\345\207\217\345\207\217\345\261\225\347\244\272.png" rename to "src/content/docs/general/preparation/text-editor/_assets/N\345\207\217\345\207\217\345\261\225\347\244\272.png" diff --git "a/src/content/docs/general/preparation/_assets/sublime\345\261\225\347\244\272.png" "b/src/content/docs/general/preparation/text-editor/_assets/sublime\345\261\225\347\244\272.png" similarity index 100% rename from "src/content/docs/general/preparation/_assets/sublime\345\261\225\347\244\272.png" rename to "src/content/docs/general/preparation/text-editor/_assets/sublime\345\261\225\347\244\272.png" diff --git "a/src/content/docs/general/preparation/_assets/vscode\344\277\235\345\255\230\345\222\214\350\207\252\345\212\250\344\277\235\345\255\230.png" "b/src/content/docs/general/preparation/text-editor/_assets/vscode\344\277\235\345\255\230\345\222\214\350\207\252\345\212\250\344\277\235\345\255\230.png" similarity index 100% rename from "src/content/docs/general/preparation/_assets/vscode\344\277\235\345\255\230\345\222\214\350\207\252\345\212\250\344\277\235\345\255\230.png" rename to "src/content/docs/general/preparation/text-editor/_assets/vscode\344\277\235\345\255\230\345\222\214\350\207\252\345\212\250\344\277\235\345\255\230.png" diff --git "a/src/content/docs/general/preparation/_assets/\347\231\275\347\202\271.png" "b/src/content/docs/general/preparation/text-editor/_assets/\347\231\275\347\202\271.png" similarity index 100% rename from "src/content/docs/general/preparation/_assets/\347\231\275\347\202\271.png" rename to "src/content/docs/general/preparation/text-editor/_assets/\347\231\275\347\202\271.png" diff --git a/src/content/docs/general/preparation/text-editor/geany.md b/src/content/docs/general/preparation/text-editor/geany.md new file mode 100644 index 000000000..39636cedc --- /dev/null +++ b/src/content/docs/general/preparation/text-editor/geany.md @@ -0,0 +1,7 @@ +--- +title: Geany +--- + +![](https://www.geany.org/media/uploads/screenshots/homepage/.thumbnails/geany_dark_2019-05-20.png/geany_dark_2019-05-20-500x0.png) + +官网链接:https://www.geany.org/ diff --git a/src/content/docs/general/preparation/text-editor/hbuilderx.md b/src/content/docs/general/preparation/text-editor/hbuilderx.md new file mode 100644 index 000000000..1e5f82d8e --- /dev/null +++ b/src/content/docs/general/preparation/text-editor/hbuilderx.md @@ -0,0 +1,19 @@ +--- +title: HbuilderX +--- + +![HbuilderX](_assets/HbuilderX展示.png) + +官网链接:https://dcloud.io/hbuilderx.html + +一个国产的文本编辑器。 + +:::warning + +该软件存在一些问题,例如编译需要登录、命令行中夹带广告等([来源](https://www.zhihu.com/question/47889106/answer/3189683653))。 + +::: + +### 关联右键菜单? + +可以在工具 → 设置 (Ctrl + Alt + ,) 打开设置,找到“常用配置”手动选中【关联右键菜单】。 diff --git a/src/content/docs/general/preparation/text-editor/intro.md b/src/content/docs/general/preparation/text-editor/intro.md new file mode 100644 index 000000000..d1f001355 --- /dev/null +++ b/src/content/docs/general/preparation/text-editor/intro.md @@ -0,0 +1,24 @@ +--- +title: 概述 +sidebar: + order: 1 +--- + +一个好用的文本编辑器是 **相当** 重要的。 + +它能够有效提高编辑插件、核心配置时的效率,降低错误使用语法的可能性。本文将介绍几个开服常用的文本编辑器。 + +:::caution[注意] + +请不要再使用 Windows 自带的记事本和写字板了。这些文本编辑器通常有以下问题: + +1. 可能造成文件编码发生改变。小白操作时尤其容易出现,部分情况下用记事本和写字板保存文件后文件因编码改变等问题而无法服务器读取。 +2. 无法察觉到格式错误。有时编辑文件时会因为不小心删除或添加了些符号,导致配置文件语法错误,服务器无法识别。本文介绍的文本编辑器均能识别出这些格式错误并做出提示和警告,然而记事本和写字板却不具备这些功能。 +3. 无法准确地辨认缩进等格式。这些文本编辑器由于默认不使用 [等宽字体](https://baike.baidu.com/item/%E7%AD%89%E5%AE%BD%E5%AD%97%E4%BD%93/8434037) 显示文字,导致其显示效果与原格式存在差异。 +4. 没有语法高亮功能。在编辑配置文件时,语法高亮功能可以让你高效快速地找到指定配置项和值。它让配置文件更易于阅读,整体上提高了在服务器上进行操作的效率。本文介绍的文本编辑器均能识别出这些格式错误并做出提示和警告,然而记事本和写字板却不具备这些功能。 + +::: + +出于多方面原因,不推荐使用 GitHub 官方出品的 Atom,它已在 2022 年 12 月由于安全原因宣布停止维护。 + +接下来介绍几个常用的文本编辑器,供大家选择。 diff --git a/src/content/docs/general/preparation/text-editor/kate.md b/src/content/docs/general/preparation/text-editor/kate.md new file mode 100644 index 000000000..1e76a02f5 --- /dev/null +++ b/src/content/docs/general/preparation/text-editor/kate.md @@ -0,0 +1,9 @@ +--- +title: Kate +--- + +![Kate](https://kate-editor.org/images/konsole.png) + +官网链接:https://kate-editor.org/zh-cn/ + +开源,跨平台,也可以秒开文件。 diff --git a/src/content/docs/general/preparation/text-editor/notepad++.md b/src/content/docs/general/preparation/text-editor/notepad++.md new file mode 100644 index 000000000..2f16c8419 --- /dev/null +++ b/src/content/docs/general/preparation/text-editor/notepad++.md @@ -0,0 +1,19 @@ +--- +title: Notepad++ +--- + +![NPPesu](_assets/Npp展示.png) + +可用,相关功能也较为完善。 + +:::warning + +作者政治立场可能引起众怒,但请理性看待: + +[Notepad++](http://www.notepadplus.com.cn/) 台独 + 多次辱 H [这里](https://cn.bing.com/search?q=notepad%252B%252B%E8%BE%B1%E5%8D%8E)。 + +dizhi 08 年奥运会 声称 (仅声明,但还是挺过分的) 不同意它的政治观点就在你的源码中添加随机字符 [这里](https://zhuanlan.zhihu.com/p/609192758)。 + +可替代为 **Notepad--** 等。 + +::: diff --git a/src/content/docs/general/preparation/text-editor/notepad--.md b/src/content/docs/general/preparation/text-editor/notepad--.md new file mode 100644 index 000000000..7a16390fc --- /dev/null +++ b/src/content/docs/general/preparation/text-editor/notepad--.md @@ -0,0 +1,10 @@ +--- +title: Notepad-- +--- + +![Notepad--](_assets/N减减展示.png) + +国内作者维护的 Notepad++ 的替代品。 + +[`Gitee`](https://gitee.com/cxasm/notepad--) +[`GitHub`](https://github.com/cxasm/notepad--) diff --git a/src/content/docs/general/preparation/text-editor/notepad3.md b/src/content/docs/general/preparation/text-editor/notepad3.md new file mode 100644 index 000000000..d4d40a682 --- /dev/null +++ b/src/content/docs/general/preparation/text-editor/notepad3.md @@ -0,0 +1,11 @@ +--- +title: Notepad3 +--- + +![Notepad3](https://www.rizonesoft.com/wp-content/uploads/2023/09/notepad3-screenshot-1.jpg) + +也是一个比较不错的文本编辑器。要求:**Windows 8 +**。 + +官网链接:https://rizonesoft.com/downloads/notepad3/ + +GitHub: https://github.com/rizonesoft/Notepad3 diff --git a/src/content/docs/general/preparation/text-editor/sublime-text.md b/src/content/docs/general/preparation/text-editor/sublime-text.md new file mode 100644 index 000000000..9ec3a6f8d --- /dev/null +++ b/src/content/docs/general/preparation/text-editor/sublime-text.md @@ -0,0 +1,11 @@ +--- +title: Sublime Text +--- + +![Sublime Text](_assets/sublime展示.png) + +我不太喜欢的一点是保存文件时,对非激活的用户有一定概率弹出个窗口,提示你去付费支持 (可以选择不支持)。但这依旧是一个非常优秀的文本编辑器。 + +官网链接:https://www.sublimetext.com/ + +[如何汉化](https://cn.bing.com/search?q=sublime+text%e6%b1%89%e5%8c%96&qs=SC&pq=sublimetext&sk=HS1SC5&sc=10-11&cvid=19623440FA3646E0BEBECEED995CFCAF&FORM=QBRE&sp=7&lq=0) diff --git a/src/content/docs/general/preparation/text-editor/vim.md b/src/content/docs/general/preparation/text-editor/vim.md new file mode 100644 index 000000000..4379be29d --- /dev/null +++ b/src/content/docs/general/preparation/text-editor/vim.md @@ -0,0 +1,13 @@ +--- +title: Vim +--- + +![](https://www.vim.org/images/vim_header.gif) + +官网链接:https://www.vim.org/ + +这是一个纯命令行的编辑器,适用于在 SSH 或 Web Shell 中编辑,甚至是服务器上没有安装图形界面的场景,也具有图形化版本(GVim)和其他分支(例如 NeoVim)。 + +使用 `vim 文件名` 打开一个文件或者创建一个文件,然后按下 `I` 键开始编辑,编辑好后按下 `ESC` 退出,输入 `:wq` 命令即可保存,若不能保存,使用 `:wq!` 命令。 + +Vim 是可自由分发的开放源代码软件。 diff --git a/src/content/docs/general/preparation/text-editor/vscode.md b/src/content/docs/general/preparation/text-editor/vscode.md new file mode 100644 index 000000000..45d224988 --- /dev/null +++ b/src/content/docs/general/preparation/text-editor/vscode.md @@ -0,0 +1,35 @@ +--- +title: Visual Studio Code +sidebar: + order: 2 +--- + +![官网图片](https://code.visualstudio.com/assets/home/home-screenshot-win-lg.png) + +全能型文本编辑器,**非常非常推荐**,支持简体中文 / 繁体中文 / 英文,仅支持 `Windows 10 +`。 + +缺点是启动速度可能不是很快,不过非常适合新手使用。(已经算是比较快的了。) + +官网链接:https://code.visualstudio.com/ + +你要 **记得保存文件** + +发现有人第一次用文本编辑器不知道编辑完后保存。 + +![](_assets/白点.png) + +VS Code 会在未保存的文件后标记一个白点,提示你这个文件编辑了但是没有保存 (其他文本编辑器类似)。 + +![](_assets/vscode保存和自动保存.png) + +保存按钮 (红色箭头),也可以用快捷键来保存 `Ctrl + S`。 + +开启自动保存 (绿色箭头)。 + +~~当年 TrMenu 的自动重载治好了我的 autosave~~ + +[Windows 下载镜像](https://dl.8aka.org/plugins/VSCodeUserSetup-x64-1.94.0.exe) + +[下载龟速怎么办](https://cn.bing.com/search?q=vscode%E4%B8%8B%E8%BD%BD%E9%BE%9F%E9%80%9F%E6%80%8E%E4%B9%88%E5%8A%9E) + +[VS Code 视频安装教程](https://www.bilibili.com/video/BV1nM4m117Fv/?share_source=copy_web) diff --git a/src/content/docs/java/advance/bot.md b/src/content/docs/general/process/advance/bot.md similarity index 100% rename from src/content/docs/java/advance/bot.md rename to src/content/docs/general/process/advance/bot.md diff --git a/src/content/docs/java/advance/domain-registration.md b/src/content/docs/general/process/advance/domain-registration.md similarity index 100% rename from src/content/docs/java/advance/domain-registration.md rename to src/content/docs/general/process/advance/domain-registration.md diff --git a/src/content/docs/java/advance/linux.md b/src/content/docs/general/process/advance/linux.md similarity index 100% rename from src/content/docs/java/advance/linux.md rename to src/content/docs/general/process/advance/linux.md diff --git a/src/content/docs/general/process/create-art-assets.md b/src/content/docs/general/process/create-art-assets.md index b8d16c37c..4ba897ef9 100644 --- a/src/content/docs/general/process/create-art-assets.md +++ b/src/content/docs/general/process/create-art-assets.md @@ -1,10 +1,7 @@ --- title: 创作美术资源 -sidebar_position: 1 --- -# 模型与纹理 - > 大多数市面上的美术风格层次不齐,如果你想让自己服务器元素与原版更贴合,请耐心的看完本页 :::info diff --git "a/src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\346\225\260\346\215\256\345\272\223\345\256\211\350\243\205/1.png" b/src/content/docs/general/process/database/_assets/linux/database/1.png similarity index 100% rename from "src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\346\225\260\346\215\256\345\272\223\345\256\211\350\243\205/1.png" rename to src/content/docs/general/process/database/_assets/linux/database/1.png diff --git "a/src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\346\225\260\346\215\256\345\272\223\345\256\211\350\243\205/2.png" b/src/content/docs/general/process/database/_assets/linux/database/2.png similarity index 100% rename from "src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\346\225\260\346\215\256\345\272\223\345\256\211\350\243\205/2.png" rename to src/content/docs/general/process/database/_assets/linux/database/2.png diff --git "a/src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\346\225\260\346\215\256\345\272\223\345\256\211\350\243\205/3.png" b/src/content/docs/general/process/database/_assets/linux/database/3.png similarity index 100% rename from "src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\346\225\260\346\215\256\345\272\223\345\256\211\350\243\205/3.png" rename to src/content/docs/general/process/database/_assets/linux/database/3.png diff --git "a/src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\346\225\260\346\215\256\345\272\223\345\256\211\350\243\205/4.png" b/src/content/docs/general/process/database/_assets/linux/database/4.png similarity index 100% rename from "src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\346\225\260\346\215\256\345\272\223\345\256\211\350\243\205/4.png" rename to src/content/docs/general/process/database/_assets/linux/database/4.png diff --git "a/src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\346\225\260\346\215\256\345\272\223\345\256\211\350\243\205/5.png" b/src/content/docs/general/process/database/_assets/linux/database/5.png similarity index 100% rename from "src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\346\225\260\346\215\256\345\272\223\345\256\211\350\243\205/5.png" rename to src/content/docs/general/process/database/_assets/linux/database/5.png diff --git "a/src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\346\225\260\346\215\256\345\272\223\345\256\211\350\243\205/6.png" b/src/content/docs/general/process/database/_assets/linux/database/6.png similarity index 100% rename from "src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\346\225\260\346\215\256\345\272\223\345\256\211\350\243\205/6.png" rename to src/content/docs/general/process/database/_assets/linux/database/6.png diff --git "a/src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\346\225\260\346\215\256\345\272\223\345\256\211\350\243\205/7.png" b/src/content/docs/general/process/database/_assets/linux/database/7.png similarity index 100% rename from "src/content/docs/general/advance/linux/_assets/Linux\345\274\200\346\234\215/\346\225\260\346\215\256\345\272\223\345\256\211\350\243\205/7.png" rename to src/content/docs/general/process/database/_assets/linux/database/7.png diff --git a/src/content/docs/general/process/database/backup.md b/src/content/docs/general/process/database/backup.md index a7e989284..6f122bd23 100644 --- a/src/content/docs/general/process/database/backup.md +++ b/src/content/docs/general/process/database/backup.md @@ -1,12 +1,10 @@ --- title: 备份 -slug: /database/backup -sidebar_position: 4 +sidebar: + order: 5 --- -## 手动备份 - -### 使用命令行备份 +## 使用命令行备份 使用命令行备份数据库的步骤如下: @@ -46,7 +44,7 @@ mysql -u [用户名] -p [数据库名] < [备份文件名].sql mysql -u root -p mydb < mydb_backup.sql ``` -### 使用 Navicat 备份 +## 使用 Navicat 备份 展开你想要备份的数据库,点击备份,再点击新建备份 @@ -104,25 +102,25 @@ mysql -u root -p mydb < mydb_backup.sql ![](_assets/45.png) -### 使用 HeidiSQL 备份 +## 使用 HeidiSQL 备份 TODO -### 使用小皮工具箱备份 +## 使用小皮工具箱备份 TODO -### 使用宝塔面板备份 +## 使用宝塔面板备份 TODO -### 使用 1Panel 面板备份 +## 使用 1Panel 面板备份 ![](_assets/51.png) ![](_assets/52.png) -#### 进阶教程:新增备份账号 +### 进阶教程:新增备份账号 > 什么是备份账号?简单来讲,备份账号是 1Panel 面板中不同的存储位置,即 **将备份存储在哪里** @@ -130,7 +128,7 @@ TODO ## 自动备份 -### 使用 Navicat 自动备份 +## 使用 Navicat 自动备份 ![](_assets/31.png) @@ -152,6 +150,6 @@ TODO 最后保存计划任务就大功告成啦 -### 使用 1Panel 面板自动备份 +## 使用 1Panel 面板自动备份 ![](_assets/53.png) diff --git a/src/content/docs/general/process/database/configure.md b/src/content/docs/general/process/database/configure.md index 3ef8232b2..1c115346f 100644 --- a/src/content/docs/general/process/database/configure.md +++ b/src/content/docs/general/process/database/configure.md @@ -1,12 +1,10 @@ --- title: 配置 -slug: /database/configure -sidebar_position: 3 +sidebar: + order: 4 --- -## 数据库配置 - -### MySQL +## MySQL MySQL 的配置文件在 Windows 中,是 `my.ini` ,默认在 `C:\Program Files\MySQL\MySQL Server X.X` 文件夹中 @@ -257,6 +255,6 @@ innodb_lock_wait_timeout = 120 ::: -### MariaDB +## MariaDB TODO diff --git a/src/content/docs/general/process/database/install.md b/src/content/docs/general/process/database/install.md index 245514568..8af1269c1 100644 --- a/src/content/docs/general/process/database/install.md +++ b/src/content/docs/general/process/database/install.md @@ -1,14 +1,12 @@ --- title: 安装 -slug: /database/install -sidebar_position: 1 +sidebar: + order: 2 --- -## 数据库安装 +## Windows 直接安装 -### 直接安装 - -你可以选择直接下载安装包来安装,如果觉得麻烦,请看下面的 **使用工具安装** +你可以选择直接下载安装包来安装,如果觉得麻烦,请看下面的 **使用工具安装** 或 **Linux 命令行安装** :::tip @@ -22,15 +20,154 @@ sidebar_position: 1 对于 MySQL 安装,请看这篇文章:[2024 年 MySQL 8.0 安装 配置 教程 最简易 (保姆级)](https://blog.csdn.net/m0_52559040/article/details/121843945) -而标着 `ubuntu` 或 `debian` 是 Linux 版本的安装包,Linux 用户请下载这个 - 在下载的时候请务必注意自己的系统、架构等是否与安装包上标的匹配 -### 使用工具安装 +## Linux 命令行安装 + +本部分讲解在命令行中安装常见数据库的方式。本教程以 Ubuntu 24.04 系统为例 + +### MySQL + +#### 安装 + +在 [官方网站](https://dev.mysql.com/downloads/repo/apt/) 页面下载 `mysql-apt-config_0.8.301_all.deb` + +这个包是一个配置 APT 的 MySQL 仓库。安装 `mysql-apt-config` 后,用户可以选择想要安装的 MySQL 版本。 + +将文件传入服务器 `/opt` 目录下,输入以下指令安装: + +```bash +dpkg -i mysql-apt-config_0.8.30-1_all.deb +``` + +![](_assets/linux/database/1.png) + +安装完成后使用以下指令更新软件包列表: + +```bash +sudo apt update +``` + +随后进行 MySQL Server (即 MySQL 服务) 的安装,输入以下指令安装 MySQL: + +```bash +apt install mysql-community-server -y +``` + +![](_assets/linux/database/2.png) + +MySQL 默认会自带随机密码,所以等待安装完成后需输入以下指令查看初始密码: + +```bash +mysqld --initialize –console +``` + +![](_assets/linux/database/3.png) + +红框部分就是初始密码,安装已经完毕,接下来启动并将 MySQL 设为开机自启动,分别输入: + +```bash +systemctl start mysql +systemctl enable mysql +``` + +启动 MySQL 服务后,输入以下指令进入 MySQL 指令行: + +```bash +mysql -uroot -p +``` + +按提示输入密码登录到 MySQL + +![](_assets/linux/database/4.png) + +输入修改密码指令: + +```sql +ALTER user 'root'@'localhost' IDENTIFIED BY 'NewPassword'; +``` + +将 NewPassword 修改为你自己设置的密码 + +**至此,MySQL 安装已经完成。** + +#### 创建表 + +:::warning + +以下的操作为 SQL 语句,在结尾处的 `;` 不能省略否则会报错。 + +::: + +```sql +CREATE DATABASE IF NOT EXISTS XXX DEFAULT CHARACTER SET utf8mb4; +``` + +这里的 XXX 可以选择是你要使用数据库的插件名称也可以是自定义字符 + +#### 创建用户 + +```sql +CREATE USER 'UserName'@'%' IDENTIFIED BY 'Password'; +``` + +#### 用户授权 + +```sql +GRANT ALL PRIVILEGES ON 数据库名称.* TO 'UserName'@'%'; +``` + +:::tip + +UserName 填写用户名, + +`%` 代表所有 IP 地址,如果 Minecraft 服务端和数据库处于同一个服务器,建议改成 localhost 以增加安全性, + +Password 填写用户的密码 (由于安全性设置,密码必须有大小写长度 8 位以上,并且默认关闭远程访问) + +如果需要设置密码强度为低,开启远程访问等不安全的操作请自行百度,对于修改安全设置之后的数据库安全问题,本站概不负责 + +::: + +### Redis + +依次在终端输入以下指令,分别操作为安装依赖、下载 Redis、将安装包放在安装路径、更新软件包,安装下载好的 Redis: + +```bash +apt install lsb-release curl gpg +curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg +echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list +apt update +apt install redis -y +``` + +安装完成后输入 `systemctl start redis-server` + +![](_assets/linux/database/5.png) + +至此安装完成,输入 `redis-cli` 即可进入命令行管理 + +![](_assets/linux/database/6.png) + +:::tip + +使用 `systemctl enable redis-server` 使 Redis 开机自启 + +![](_assets/linux/database/7.png) + +::: + +## 使用工具安装 我会告诉你 **我认为** 最简单的几种安装数据库的方法 -#### 小皮数据库 +### 小皮数据库 + +:::info + +小皮数据库仅支持 Windows 系统 + +:::
    从官网下载和安装 @@ -87,7 +224,13 @@ MySQL5 版本太低了,很多插件需要更高版本的,装 MySQL8 就够
    -#### 宝塔面板 +### 宝塔面板 + +:::info + +宝塔面板支持 Windows 和 Linux 系统 + +:::
    从官网下载和安装 @@ -131,7 +274,7 @@ MySQL5 版本太低了,很多插件需要更高版本的,装 MySQL8 就够
    -#### 1Panel 面板 +### 1Panel 面板 :::warning diff --git a/src/content/docs/general/process/database/database.md b/src/content/docs/general/process/database/intro.md similarity index 93% rename from src/content/docs/general/process/database/database.md rename to src/content/docs/general/process/database/intro.md index 97af8819c..315a18193 100644 --- a/src/content/docs/general/process/database/database.md +++ b/src/content/docs/general/process/database/intro.md @@ -1,11 +1,9 @@ --- -title: 数据库相关 -slug: /database -sidebar_position: 3 +title: 概述 +sidebar: + order: 1 --- -## 数据库相关 - :::danger 此页面正在重构。 @@ -28,7 +26,7 @@ sidebar_position: 3 ::: -### MySQL / MariaDB +## MySQL / MariaDB MariaDB 是著名的 MySQL 分叉,只是服务器腐竹的话,你只需要知道这两个东西差不多就好了 @@ -40,6 +38,6 @@ MariaDB 是著名的 MySQL 分叉,只是服务器腐竹的话,你只需要 ::: -### Redis +## Redis Redis 是一个开源的内存数据库,遵守 BSD 协议,它提供了一个高性能的存储系统,常用于缓存、消息队列、会话存储等应用场景。在游戏中,Redis 可以用于存储玩家的数据,如玩家的状态、装备、技能等,从而提高游戏的性能和响应速度。 diff --git a/src/content/docs/general/process/database/uninstall.md b/src/content/docs/general/process/database/uninstall.md index df61ec21d..a1167b1a0 100644 --- a/src/content/docs/general/process/database/uninstall.md +++ b/src/content/docs/general/process/database/uninstall.md @@ -1,14 +1,12 @@ --- title: 卸载 -slug: /database/uninstall -sidebar_position: 5 +sidebar: + order: 6 --- -## 数据库卸载 - 当你乱捣鼓一通,然后给你数据库整炸了,还不会修,那除了花钱请大佬最好的办法就是删掉重新安装 -### 宝塔面板 +## 宝塔面板 TODO @@ -16,9 +14,11 @@ https://www.bt.cn/bbs/thread-9043-1-1.html https://www.bt.cn/new/btcode.html -### 小皮数据库 +## 小皮数据库 + +TODO -### Windows 平台 +## Windows 平台 首先,通过 PHPStudy 的控制面板,找到 MySQL 服务,并点击“暂停”按钮 @@ -32,7 +32,7 @@ https://www.bt.cn/new/btcode.html 最后,我们重新启动 PHPStudy -### Linux 平台 +## Linux 平台 首先,点击左侧面板的数据库,进入数据库列表管理页面 @@ -40,7 +40,7 @@ https://www.bt.cn/new/btcode.html 最后,在弹出的提示框中点击确定,即可删除数据库 -### 暴力删除 +## 暴力删除 也许我们会遇到:用温和的方式弄不干净数据库的尸体,这尸体又影响我重新安装数据库了 diff --git a/src/content/docs/general/process/database/use.md b/src/content/docs/general/process/database/use.md index 857852784..59d9c87a5 100644 --- a/src/content/docs/general/process/database/use.md +++ b/src/content/docs/general/process/database/use.md @@ -1,13 +1,9 @@ --- title: 使用 -slug: /database/manage -sidebar_position: 2 +sidebar: + order: 3 --- - - -## 数据库管理 - ## 使用数据库管理软件管理 你要知道,在 数据库安装 那一栏。虽然有两种截然不同的方式安装数据库 diff --git a/src/content/docs/general/process/deploy/apply-for-public-ip-address.md b/src/content/docs/general/process/deploy/apply-for-public-ip-address.md index cb8422cdb..5d24c54e0 100644 --- a/src/content/docs/general/process/deploy/apply-for-public-ip-address.md +++ b/src/content/docs/general/process/deploy/apply-for-public-ip-address.md @@ -1,6 +1,7 @@ --- title: 申请公网 IP -sidebar_position: 5 +sidebar: + order: 5 --- :::tip diff --git a/src/content/docs/general/process/deploy/connect-to-the-cloud.md b/src/content/docs/general/process/deploy/connect-to-the-cloud.md index 31a4988da..17dc032b5 100644 --- a/src/content/docs/general/process/deploy/connect-to-the-cloud.md +++ b/src/content/docs/general/process/deploy/connect-to-the-cloud.md @@ -1,10 +1,9 @@ --- title: 连接到云 -sidebar_position: 4 +sidebar: + order: 4 --- -# 连接到云 - 当你买好服务器后,你应该如何连接到服务器并部署你的服务端 ## 面板 diff --git a/src/content/docs/general/process/deploy/intranet-penetration.md b/src/content/docs/general/process/deploy/intranet-penetration.md index d545340b9..df8567711 100644 --- a/src/content/docs/general/process/deploy/intranet-penetration.md +++ b/src/content/docs/general/process/deploy/intranet-penetration.md @@ -1,10 +1,9 @@ --- title: 内网穿透 -sidebar_position: 5 +sidebar: + order: 6 --- -# 内网穿透 - **适用于?** 没有公网的家里云 diff --git a/src/content/docs/general/process/deploy/deploy.md b/src/content/docs/general/process/deploy/intro.md similarity index 90% rename from src/content/docs/general/process/deploy/deploy.md rename to src/content/docs/general/process/deploy/intro.md index aee8c145e..174297e85 100644 --- a/src/content/docs/general/process/deploy/deploy.md +++ b/src/content/docs/general/process/deploy/intro.md @@ -1,11 +1,9 @@ --- -title: 部署到生产环境 -slug: /deploy -sidebar_position: 1 +title: 概述 +sidebar: + order: 1 --- -# 概览 - **什么是生产环境?** > 正式对外提供服务的环境,此处指可以让玩家加入到你的服务器的环境 @@ -25,7 +23,3 @@ sidebar_position: 1 个人建议使用 VPS [可选方式#VPS](optional-methods.md#vps) 了解到相关内容 如果是新手刚起步,那就不要买东西瞎费钱了,自己电脑上做就可,做成之后可以考虑 VPS 了 - -import DocCardList from '@theme/DocCardList'; - - diff --git a/src/content/docs/general/process/deploy/optional-methods.md b/src/content/docs/general/process/deploy/optional-methods.md index 5098123a7..a04f5f522 100644 --- a/src/content/docs/general/process/deploy/optional-methods.md +++ b/src/content/docs/general/process/deploy/optional-methods.md @@ -1,18 +1,15 @@ --- title: 可选方式 -sidebar_position: 3 +sidebar: + order: 3 --- -# 可选方式 - :::warning 这里所说的 **人话** 只是用于辅助理解,与实际情况可能存在偏差 ::: -建议先阅读 [购置服务器](purchase-server.md) - ## 面板 相当简单无脑的开服方式,大多会有一键开服之类的选项,要自己配置的东西少,但限制太多 diff --git a/src/content/docs/general/process/deploy/purchase-server.md b/src/content/docs/general/process/deploy/purchase-server.md index 496640578..1763ed6cd 100644 --- a/src/content/docs/general/process/deploy/purchase-server.md +++ b/src/content/docs/general/process/deploy/purchase-server.md @@ -1,6 +1,7 @@ --- title: 购置服务器 -sidebar_position: 2 +sidebar: + order: 2 --- # 购置服务器 diff --git a/src/content/docs/general/process/map/convert.md b/src/content/docs/general/process/map/convert.md index 545b2a929..3c6904bb3 100644 --- a/src/content/docs/general/process/map/convert.md +++ b/src/content/docs/general/process/map/convert.md @@ -1,10 +1,9 @@ --- title: 地图转换 -sidebar_position: 2 +sidebar: + order: 3 --- -# 地图转换 - 在某些时候我们需要更改服务端版本 (比如 1.20 -> 1.21),然后就会 diff --git a/src/content/docs/general/process/map/map.md b/src/content/docs/general/process/map/intro.md similarity index 99% rename from src/content/docs/general/process/map/map.md rename to src/content/docs/general/process/map/intro.md index da3163309..8c45467dc 100644 --- a/src/content/docs/general/process/map/map.md +++ b/src/content/docs/general/process/map/intro.md @@ -1,11 +1,9 @@ --- title: 地图建设 -slug: /map -sidebar_position: 7 +sidebar: + order: 1 --- -# 地图建设 - :::warning 此处教程需要你阅读完`创作美术资源`的教程 diff --git a/src/content/docs/general/process/map/plugin.md b/src/content/docs/general/process/map/plugin.md index 6a81a25f1..dd543e6cb 100644 --- a/src/content/docs/general/process/map/plugin.md +++ b/src/content/docs/general/process/map/plugin.md @@ -1,10 +1,9 @@ --- title: 地图生成 -sidebar_position: 1 +sidebar: + order: 2 --- -# 地图生成 - 制作一个地图非常困难,如果对于地图细节要求不高或者要求超大范围地图,可以考虑使用地图生成插件或工具 ## 城市生成 diff --git a/src/content/docs/general/process/map/purchase.md b/src/content/docs/general/process/map/purchase.md index b495d25a5..be33513de 100644 --- a/src/content/docs/general/process/map/purchase.md +++ b/src/content/docs/general/process/map/purchase.md @@ -1,10 +1,9 @@ --- title: 地图定制/购买 -sidebar_position: 3 +sidebar: + order: 4 --- -## 地图定制 - 当你需要制作一些复杂的地图而自己比较菜的时候,可以选择向其他人寻求帮助或者雇佣建筑师 可供参考的最低价格: @@ -45,7 +44,7 @@ sidebar_position: 3 ::: -### FAQ +## FAQ 问:在建筑定制中可以直接用这个价格交易吗? diff --git a/src/content/docs/general/process/map/steal.md b/src/content/docs/general/process/map/steal.md index 43774b198..10571397a 100644 --- a/src/content/docs/general/process/map/steal.md +++ b/src/content/docs/general/process/map/steal.md @@ -1,10 +1,9 @@ --- title: 地图偷取 -sidebar_position: 4 +sidebar: + order: 5 --- -# 地图偷取 - :::warning 不要使用这种方法获得地图,这会让你在开服圈子丧失信用 diff --git a/src/content/docs/general/process/map/web.md b/src/content/docs/general/process/map/web.md index 804d92ac4..50f266959 100644 --- a/src/content/docs/general/process/map/web.md +++ b/src/content/docs/general/process/map/web.md @@ -1,10 +1,9 @@ --- title: 卫星地图 -sidebar_position: 5 +sidebar: + order: 6 --- -# 卫星地图 - 通过此类功能的 mod/plugin 可以生成一个与服务端存档相对应的即时网页地图,通常以俯视、斜视或 3D 模型的形式呈现。 ## BlueMap diff --git a/src/content/docs/general/process/panel.md b/src/content/docs/general/process/panel.md index 604c9a535..a3de0b211 100644 --- a/src/content/docs/general/process/panel.md +++ b/src/content/docs/general/process/panel.md @@ -1,10 +1,7 @@ --- title: 搭建面板 -sidebar_position: 2 --- -# 搭建面板 - :::warning 本篇不是让你去购买面板服,而是在已有服务器上搭建! diff --git a/src/content/docs/general/reading-guide.md b/src/content/docs/general/reading-guide.mdx similarity index 76% rename from src/content/docs/general/reading-guide.md rename to src/content/docs/general/reading-guide.mdx index e8a671653..3a4cbe73f 100644 --- a/src/content/docs/general/reading-guide.md +++ b/src/content/docs/general/reading-guide.mdx @@ -1,9 +1,8 @@ --- title: 阅读指引 -sidebar_position: 2 --- -# 这是什么? +import { LinkCard } from "@astrojs/starlight/components"; 这是本文档的阅读指引,为你提供参考,不至于摸不着头脑 @@ -19,6 +18,12 @@ sidebar_position: 2 然后按照那里的目录顺序从上到下阅读 + + ## 我想开 Bedrock (基岩) 版服务器 :::tip diff --git a/src/content/docs/index.mdx b/src/content/docs/index.mdx new file mode 100644 index 000000000..bfca05970 --- /dev/null +++ b/src/content/docs/index.mdx @@ -0,0 +1,29 @@ +--- +title: Welcome to Cubic Wiki +giscus: false +description: 一群笨蛋编写的 Minecraft 开服教程 +template: splash +hero: + tagline: 主要针对高版本 Java 版和基岩版服务器的开服指南。从零开始,手把手教你搭建和运营 Minecraft 服务器~ + image: + file: ../../assets/book.png + actions: + - text: 开始阅读 + link: /general/intro +--- + +import { Card, CardGrid } from "@astrojs/starlight/components"; + +## 下一步 + + + + 了解教程定位、阅读指引与基础要求 + + + 高版本 Java 版服务器开服指南 + + + 基岩版服务器开服指南 + + diff --git a/src/content/docs/java/advance/chinese-username.md b/src/content/docs/java/advance/chinese-username.md index d7a3d1d66..f317db4f1 100644 --- a/src/content/docs/java/advance/chinese-username.md +++ b/src/content/docs/java/advance/chinese-username.md @@ -1,10 +1,7 @@ --- title: 中文游戏名 -sidebar_position: 7 --- -# 使用中文名进入服务器 - Minecraft 自 `1.18` 版本后,默认不再允许使用 _除英文字母、数字、下划线以外的_ 字符作为游戏名。 而 [CnUsername](https://github.com/0XPYEX0/CnUsername) 被设计用于解决此痛点。 diff --git a/src/content/docs/java/advance/command-yml.md b/src/content/docs/java/advance/command-yml.md index d8f02162e..c8ef6a4c2 100644 --- a/src/content/docs/java/advance/command-yml.md +++ b/src/content/docs/java/advance/command-yml.md @@ -1,10 +1,7 @@ --- title: Commands.yml -sidebar_position: 4 --- -# Commands.yml 介绍 - commands.yml 是一个配置文件,用于为 CraftBukkit 服务器定义自定义命令和命令方块覆盖。 命令覆盖系统可强制服务器对特定命令方块使用 Mojang 提供的命令,而别名系统允许管理员定义自定义命令并强制使用特定版本的命令。 diff --git a/src/content/docs/java/advance/advance.md b/src/content/docs/java/advance/intro.md similarity index 67% rename from src/content/docs/java/advance/advance.md rename to src/content/docs/java/advance/intro.md index 23ab80be8..11ee76bed 100644 --- a/src/content/docs/java/advance/advance.md +++ b/src/content/docs/java/advance/intro.md @@ -1,15 +1,7 @@ --- -title: Java 进阶教程 -slug: /advance -sidebar_position: 6 +title: 概述 --- -# 进阶教程 - 这一部分并不适合新手阅读,主要是给有一定开服经验或读完了本文档的其他内容的人。 可以将本章视为是对之前的补充部分,如果你能完全理解这一部分的内容,那么恭喜你,已经完全摆脱了笨蛋的称号! - -import DocCardList from '@theme/DocCardList'; - - diff --git a/src/content/docs/java/advance/login-choices.md b/src/content/docs/java/advance/login-choices.md index fa732405a..18c5b23e1 100644 --- a/src/content/docs/java/advance/login-choices.md +++ b/src/content/docs/java/advance/login-choices.md @@ -1,10 +1,7 @@ --- title: 登录方式 -sidebar_position: 5 --- -# 登录方式 - 在开启服务器之前,选择合适的登录方式至关重要。这不仅关系到玩家们的 **生命财产安全**,还涉及到服务器的管理和稳定性。因此,请在选择时务必 **慎重** 考虑! :::danger diff --git a/src/content/docs/java/advance/slime-world.md b/src/content/docs/java/advance/slime-world.md index 1201ccc04..4d86a1986 100644 --- a/src/content/docs/java/advance/slime-world.md +++ b/src/content/docs/java/advance/slime-world.md @@ -1,10 +1,7 @@ --- -title: Slime 世界格式 -sidebar_position: 9 +title: Slime 存储格式 --- -# Slime 世界格式 - Slime 世界格式是 Hypixel 开发的一种世界存储格式 优势 diff --git a/src/content/docs/java/intro.md b/src/content/docs/java/intro.md index ee5423dd3..4c1b1e4f7 100644 --- a/src/content/docs/java/intro.md +++ b/src/content/docs/java/intro.md @@ -1,6 +1,5 @@ --- -title: 笨蛋开服教程 -sidebar_position: 1 +title: 概述 --- ![](https://img.fastmirror.net/s/2024/11/02/672558bae4ec0.png) diff --git a/src/content/docs/java/preparation/intro.md b/src/content/docs/java/preparation/intro.md new file mode 100644 index 000000000..688be9590 --- /dev/null +++ b/src/content/docs/java/preparation/intro.md @@ -0,0 +1,7 @@ +--- +title: 概述 +--- + +搭建 Minecraft 服务器看似复杂,但只要做好充分的准备,一切都会变得简单明了。就像盖房子需要先打好地基一样,服务器搭建的成功也取决于前期的准备工作是否完善。 + +本章节将引导你完成搭建服务器所需的各项准备,包括安装必要的工具和环境。所有详细步骤都会在各章节中逐一讲解。 diff --git a/src/content/docs/java/preparation/preparation.md b/src/content/docs/java/preparation/preparation.md deleted file mode 100644 index 332cdf931..000000000 --- a/src/content/docs/java/preparation/preparation.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -title: 准备工作 -slug: /preparation -sidebar_position: 3 -sidebar_label: Java 版准备工作 ---- - -# 准备工作 - -在正式开 Minecraft 服务器之前,请一定确认已经准备好了以下必备软件或网页: - -import DocCardList from '@theme/DocCardList'; - - - -其中: - -Java 是开 Java 版 Minecraft 服务器必要的; - -文档编辑软件能够有效提高编辑插件、核心配置时的效率,降低错误使用语法的可能性; - -网页主要包括了寻找插件、mod、生成 MOTD,生成指令等便捷功能; - -笨蛋脚本主要用于一键式配置文件、安装插件等。 diff --git a/src/content/docs/java/preparation/websites.md b/src/content/docs/java/preparation/websites.md deleted file mode 100644 index 92208e113..000000000 --- a/src/content/docs/java/preparation/websites.md +++ /dev/null @@ -1,451 +0,0 @@ ---- -title: 可能用到的网站 -sidebar_position: 3 -sidebar_label: Java 版可能用到的网站 ---- - -# 可能用到的网站 - -开服不能只是从某一网站或者简单百度、谷歌获取资源,这样获取的资源种类非常贫乏。 - -因此,如果你是失去了 MCBBS 就不知道去哪里搜索 Minecraft 相关资源, - -以下是一些可供参考的推荐网站: - -## GitHub - -
    - -> https://github.com - -全球最大的社交编程及代码托管网站。许多开发者会把自己编写的插件发到 GitHub。 - -虽然不登录账号不影响你浏览仓库和下载 Release 等。 - -但是登录后可以给作者发 Issue 来报告问题,提交新需求/建议,还可以下载 Actions 中的文件。 - -因此,建议注册并登陆账号。 - -GitHub 界面是全英文,可以尝试安装油猴汉化插件:https://github.com/maboloshi/github-chinese - -
    - 注册问题 - -[在 GitHub 上创建帐户](https://docs.github.com/zh/get-started/start-your-journey/creating-an-account-on-github) - -
    - -
    - 连不上怎么办 - -这是由于 GitHub 是开放的外国网站,网站上时不时会有一些不能在此讨论的内容,所以运营商会刻意地屏蔽这个网站,在很多时候都不能正常访问。具体的表现如下:[只要 GitHub 域名指向任意 IP,该 IP 的 443 端口就会超时 3 分钟](https://blog.csdn.net/weixin_43659597/article/details/118882176)。 - -有以下几种解决办法: - -1. 魔法 -2. [改 hosts](https://www.cnblogs.com/eudaimonia/p/16001981.html#1034247326) -3. [Watt Toolkit](https://steampp.net/):下载安装完成后,在左侧侧边栏切换到 **网络加速**,点击 **平台加速 (免费)**,往下翻勾上 GitHub,然后点击 **一键加速**,随后就可以正常访问 GitHub 了 - - -
    - -
    - 下载太慢怎么办 - -使用魔法或者用加速地址: - -- https://gitmirror.com/files.html -- https://moeyy.cn/gh-proxy -- https://ghps.cc - -
    - -## Discord - - - -> https://discord.com - -国外开发者经常使用的聊天软件。你通常可以在 README 或 文档中找到开发者的 Discord 频道的邀请链接。 - -得益于有中国特色的互联网环境,你需要成为哈利波特才能成功访问。 - -## 资源站 - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - - - - - - -> https://www.spigotmc.org - -SpigotMC 是目前 Minecraft 开服圈最大的插件网站,最大的问题是搜索引擎十分狗屎。 - -建议注册账号并安装 **[Spigot Search Engine](https://www.spigotmc.org/resources/spigotsearchengine.54108/)** - -
    - 注册问题 - -![](_assets/spigotmc.png) - -使用魔法就可以看到验证了,而不是傻呵呵的跟人说。 - -_SpigotMC 不开放注册_ _老外的网站真反人类_ - -
    - -
    - - - - - -> https://dev.bukkit.org/bukkit-plugins - -一个相对 SpigotMC 更加古老的插件发布网站,一般用于寻找远古插件。 - -开一些低版本服务器可能用得到。 - - - - - - - -> https://hangar.papermc.io - -PaperMC 的现代化的插件平台,目前正在 Beta 阶段,插件相对较新较少,但是都经过 PaperMC 官方验证,并且可以找到支持 Folia 和 Velocity 的插件。 - -插件搜索引擎比 SpigotMC 强了好几倍。 - - - - - - - -> https://modrinth.com - -现代化的 Minecraft 新兴资源站,插件相对较新较少,但大部分都开源好评 - -插件搜索引擎比 SpigotMC 强了好几倍。 - -因为是新兴资源站,某些资源并未在此发布,但是足够你用了。 - - - - - - - -> https://builtbybit.com/resources/categories/minecraft-plugins.1 -> -> 链接已重定向到 Minecraft 相关资源区 - -一个综合交易平台,其中的 Minecraft 插件大多数都是付费的。 - -有一些圈钱的垃圾插件,请仔细辨别后购买。 - -如果你的钱包空空就别考虑了。 - -此外,此网站和 CurseForge 一样并不只有 Minecraft 相关资源,请注意识别别看错了。 - - - - - - - -> https://polymart.org - -一个 Minecraft 服务器付费插件资源平台。 - - -
    - -## 论坛 - - - - - - -> 插件板块:https://www.minebbs.com/forums/mcjeplugin - -国内较为知名的综合性 Minecraft 论坛。曾以基岩版开服内容为主,MCBBS 关闭后其 Java 版相关内容丰富了许多。 - -同时,本教程在 MineBBS 也有搬运贴:https://www.minebbs.com/threads/nitwikit-geyser.26356/ - - - - - - - -曾经最大的综合性我的世界中文论坛,已经关站 - -这有个纪念版 https://www.mcbbs.co 不过只是看起来像,没有 MCBBS 的资源的 - -你可以在下方网站中找到部分 MCBBS 的帖子 - -> https://archives.mcbbs.co -> -> https://archive.mcbbs.run - - - - - - - -像素论坛还在搞云黑 - -即 像素论坛的 [失信人员名单页面](https://ban.pixelbbs.cn/)。 - -交易前查询下这人有没有被记录过,被记录过就别交易了。如果你被骗了,搜集证据去发个帖,给大家避个雷。 - -能为你避开 90% 诈骗坑的 [防骗小技巧](https://www.pixelbbs.cn/t-1377-1-1.html)。 - -> 像素论坛因 [数据丢失](https://www.pixelbbs.cn/thread-3-1-1.html),大部分页面已失效,以下为 Wayback Machine 存档。 -> -> - [失信人员名单页面](https://web.archive.org/web/20240715222153/https://www.pixelbbs.cn/f-50-1.html) -> - [防骗小技巧](https://web.archive.org/web/20250122075709/https://www.pixelbbs.cn/t-1377-1-1.html) - - - - - -## 工具网站 - - - - - - - -> https://www.mcmod.cn - -国人的 MC mod 收录网站,资源很丰富,并且详细列出 mod 之间的关系(如前置,联动,附属等) - - - - - -常用的统计数据网站,不少开发者会在自己的插件中写统计数据功能 - -例如: - -Paper 核心的使用情况:https://bstats.org/plugin/server-implementation/Paper/580 - -PlaceHolderAPI 插件使用情况:https://bstats.org/plugin/bukkit/PlaceholderAPI/438 - -DecentHolograms 插件统计: - -![](https://bstats.org/signatures/bukkit/DecentHolograms.svg) - - - - - - - -> https://minecraft.tools - -有时候你项要加三两个数据包形式的自定义合成,自定义超平坦地图,烟花,文本生成等,但苦恼不会使用? - -请选择 [Minecraft 工具箱](https://minecraft.tools/),自动生成各种 Minecraft 指令、数据包等。 - - - - - -![](_assets/motd.png) - -MOTD 就是 Minecraft 客户端在尝试连接服务器之前,服务器对客户端发送的一条短消息,这通常包含 1-3 行文字和一张图片。 - -MOTD 是玩家进入服务器之前最先看到的东西,决定了玩家对一个服务器的第一印象,所以,请任选一个 MOTD 生成器生成个性化 MOTD: - -> [MOTD.gg](https://motd.gg) (非常非常推荐)(~~还可以偷别的服务器的 motd~~) -> -> [MOTD creator](https://mctools.org/motd-creator) -> -> [Minecraft MOTD tool](https://minecraft.tools/en/motd.php) -> -> [MineBBS MOTD 查询站](https://motd.minebbs.com/) - - - -
    - - - -
    - - https://misode.github.io/ - - 如果你喜欢编写数据包甚至资源包那么这个网站会很有用,他拥有大量的可视化编辑器,方便进行快速编辑,但是上手需要一定相关知识基础。 - -
    -
    - -## 启动器 - - - - - -![](https://hmcl.huangyuhui.net/assets/img/main_page.png) - -> https://hmcl.huangyuhui.net - -知名老牌开源启动器 - - - - - -![](https://pic1.afdiancdn.com/user/df2dfad2960911e89c5252540025c377/common/0b2e5b9a6596eaee20f00f56da30f502_w1500_h300_s457.jpg) - -> https://afdian.com/a/LTCat - -知名老牌启动器,现已开源大部分代码,由此衍生出社区版(一旁的 CE 版) - - - - - -![](https://pic1.afdiancdn.com/user/df2dfad2960911e89c5252540025c377/common/0b2e5b9a6596eaee20f00f56da30f502_w1500_h300_s457.jpg) - -> https://github.com/PCL-Community/PCL2-CE - -基于 PCL2 开源代码二次开发的社区版本,包括了主线暂未制作的功能和改进 - - - - - -![](https://contents.baka.zone/web-cdn/neo//assets/video/bakaxl-v3-welcome-hero.mp4) - -> https://www.bakaxl.com - -御三家启动器之一 - - - - - -![](https://www.minebbs.com/attachments/1739290352524-png.90678) - -> https://corona.studio/lx - -美观、强大、优雅的 Java 版启动器 - - - diff --git a/src/content/docs/java/process/cross-server/command.md b/src/content/docs/java/process/cross-server/command.mdx similarity index 53% rename from src/content/docs/java/process/cross-server/command.md rename to src/content/docs/java/process/cross-server/command.mdx index b24b4b688..fbd15ae0a 100644 --- a/src/content/docs/java/process/cross-server/command.md +++ b/src/content/docs/java/process/cross-server/command.mdx @@ -1,36 +1,31 @@ --- title: 跨服端命令 -slug: /command -sidebar_position: 4 --- -# 跨服端命令 - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; +import { TabItem, Tabs } from "@astrojs/starlight/components"; - + - +{/* markdownlint-disable line-length */} -| 命令 | 权限 | 描述 | -| ---------------------------- | --------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `/alert` | `bungeecord.command.alert` | 发送一条整个群组的公告,会显示在所有的子服务器内。颜色符是 `&`,使用 `&h` 可以清除所有默认的格式 | +| 命令 | 权限 | 描述 | +| ----------------------------- | --------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `/alert` | `bungeecord.command.alert` | 发送一条整个群组的公告,会显示在所有的子服务器内。颜色符是 `&`,使用 `&h` 可以清除所有默认的格式 | | `/alertraw ` | `bungeecord.command.alert` | 和上一个命令一样,但是仅允许使用 JSON 格式的内容 | -| `/bungee` | N/A | 显示 BungeeCord 的版本信息 | -| `/end` | `bungeecord.command.end` | 关闭 BungeeCord 跨服端,类似于 Bukkit 服务器下的/stop | -| `/find` | `bungeecord.command.find` | 确认指定玩家是否在线和他现在在哪个子服务器内 | -| `/glist` | `bungeecord.command.list` | 显示所有的子服务器和每个服务器当前在线人数 | -| `/greload` | `bungeecord.command.reload` | 重载 BungeeCord 跨服端的配置文件,将重新载入子服务器列表、监听选项和一些配置项目,但是不会重载 BC 端插件和权限 | -| `/ip` | `bungeecord.command.ip` | 查看指定玩家的真实连接 IP | -| `/perms` | `N/A` | 显示你拥有的权限和所在权限组 | -| `/send` | `bungeecord.command.send` | 将指定玩家移动到目标子服务器,使用“current”将会把你所在服务器的所有玩家移动到目标服务器,使用“all”将会把整个群组下的玩家移动到目标服务器。子服务器名就是你在“config.yml”的“servers”下面设置的服务器名 | -| `/server` | `bungeecord.command.server` | 送到指定子服务器,这个权限默认是高于 Bukkit 插件权限的,也就是说玩家可以在未登录之前使用此命令跳转到另外一个服务器,如果另外的服务器没登陆插件,那么通过此方法就可以使用到 OP 账号 | +| `/bungee` | N/A | 显示 BungeeCord 的版本信息 | +| `/end` | `bungeecord.command.end` | 关闭 BungeeCord 跨服端,类似于 Bukkit 服务器下的/stop | +| `/find` | `bungeecord.command.find` | 确认指定玩家是否在线和他现在在哪个子服务器内 | +| `/glist` | `bungeecord.command.list` | 显示所有的子服务器和每个服务器当前在线人数 | +| `/greload` | `bungeecord.command.reload` | 重载 BungeeCord 跨服端的配置文件,将重新载入子服务器列表、监听选项和一些配置项目,但是不会重载 BC 端插件和权限 | +| `/ip` | `bungeecord.command.ip` | 查看指定玩家的真实连接 IP | +| `/perms` | `N/A` | 显示你拥有的权限和所在权限组 | +| `/send` | `bungeecord.command.send` | 将指定玩家移动到目标子服务器,使用“current”将会把你所在服务器的所有玩家移动到目标服务器,使用“all”将会把整个群组下的玩家移动到目标服务器。子服务器名就是你在“config.yml”的“servers”下面设置的服务器名 | +| `/server` | `bungeecord.command.server` | 送到指定子服务器,这个权限默认是高于 Bukkit 插件权限的,也就是说玩家可以在未登录之前使用此命令跳转到另外一个服务器,如果另外的服务器没登陆插件,那么通过此方法就可以使用到 OP 账号 | - + | 命令 | 权限 | 描述 | | ------------------- | -------------------------- | -------------------------------------------------------------------------------- | @@ -46,10 +41,10 @@ import TabItem from '@theme/TabItem'; | `/send` | `velocity.command.send` | 将其他玩家(或跨服端上的所有玩家)发送到指定子服。 | - + -| 命令 | 权限 | 描述 | -| --- | --- | --- | +| 命令 | 权限 | 描述 | +| ----------- | ---------------------------- | ------------------ | | `/transfer` | `minecraft.command.transfer` | 原版自带的跨服指令 | diff --git a/src/content/docs/java/process/cross-server/hide-the-real-ip.md b/src/content/docs/java/process/cross-server/hide-the-real-ip.md index 4638de79d..44ccf1ef9 100644 --- a/src/content/docs/java/process/cross-server/hide-the-real-ip.md +++ b/src/content/docs/java/process/cross-server/hide-the-real-ip.md @@ -1,10 +1,7 @@ --- title: 隐藏真实 IP -sidebar_position: 7 --- -# 隐藏真实 IP - ## 四层转发 ### 购买 CDN diff --git a/src/content/docs/java/process/cross-server/cross-server.md b/src/content/docs/java/process/cross-server/intro.md similarity index 97% rename from src/content/docs/java/process/cross-server/cross-server.md rename to src/content/docs/java/process/cross-server/intro.md index f9433e133..7e1f00087 100644 --- a/src/content/docs/java/process/cross-server/cross-server.md +++ b/src/content/docs/java/process/cross-server/intro.md @@ -1,11 +1,7 @@ --- -title: 跨服端 -slug: /cross-server -sidebar_position: 4 +title: 概述 --- -# 跨服端 - 简单的来说就是将多个服务器连成一个整体 (比如你经常看到的某些生存一区,生存二区),玩家可以自由选择到哪个服务器,而不用退出重连, 不同服务器之间可以通过跨服同步 (比如 HuskSync) 和数据库同步数据,平时常听到的群组服也是一个意思。跨服 **通常** 的实现方法是: diff --git a/src/content/docs/java/process/cross-server/join-server.md b/src/content/docs/java/process/cross-server/join-server.md index 7e60bd6b5..e2a6c8e56 100644 --- a/src/content/docs/java/process/cross-server/join-server.md +++ b/src/content/docs/java/process/cross-server/join-server.md @@ -1,10 +1,7 @@ --- title: 加入服务器 -sidebar_position: 3 --- -# 加入服务器 - 在客户端点击加入服务器,输入你的跨服端的地址,连接即可。 ## 连接到子服 diff --git a/src/content/docs/java/process/cross-server/plugin/backend-only.md b/src/content/docs/java/process/cross-server/plugin/backend-only.md index 806e485ea..0bd36ddc8 100644 --- a/src/content/docs/java/process/cross-server/plugin/backend-only.md +++ b/src/content/docs/java/process/cross-server/plugin/backend-only.md @@ -1,8 +1,5 @@ --- title: 只安装在子服 -sidebar_position: 4 --- -# 只安装在子服 - 暂未收录。 diff --git a/src/content/docs/java/process/cross-server/plugin/plugin.md b/src/content/docs/java/process/cross-server/plugin/intro.md similarity index 75% rename from src/content/docs/java/process/cross-server/plugin/plugin.md rename to src/content/docs/java/process/cross-server/plugin/intro.md index 78e263511..c6ecf08a2 100644 --- a/src/content/docs/java/process/cross-server/plugin/plugin.md +++ b/src/content/docs/java/process/cross-server/plugin/intro.md @@ -1,18 +1,9 @@ --- -title: 插件 -slug: /cross-server/plugin -sidebar_position: 4 -sidebar_label: 跨服插件 +title: 概述 --- -# 插件 - 和子服一样,跨服端也可以安装一些插件,但他们和子服使用的插件往往不能互相兼容,在安装时请查看插件是否支持对应的跨服端。 一般说来,跨服端的插件相对功能性会偏向于网络协议、验证、MOTD 等而非子服多种多样的表现方式, 但是,网络协议类的插件安装在跨服端将会有非常明显的提升,如反假人、FastMOTD 等,这是因为跨服端在网络方面高度优化。 - -import DocCardList from '@theme/DocCardList'; - - diff --git a/src/content/docs/java/process/cross-server/plugin/proxy-backend-mandatory.md b/src/content/docs/java/process/cross-server/plugin/proxy-backend-mandatory.md index 960e48307..7afb0987a 100644 --- a/src/content/docs/java/process/cross-server/plugin/proxy-backend-mandatory.md +++ b/src/content/docs/java/process/cross-server/plugin/proxy-backend-mandatory.md @@ -1,10 +1,7 @@ --- title: 安装在跨服端和子服 -sidebar_position: 3 --- -# 安装在跨服端和子服 - 此类插件必须同时在跨服端和子服安装才能发挥效果,或者是相对于只安装到一侧,两方都安装会有功能增强。 ## SignedVelocity diff --git a/src/content/docs/java/process/cross-server/plugin/proxy-backend-optional.md b/src/content/docs/java/process/cross-server/plugin/proxy-backend-optional.md index 637981ff4..12ff648a9 100644 --- a/src/content/docs/java/process/cross-server/plugin/proxy-backend-optional.md +++ b/src/content/docs/java/process/cross-server/plugin/proxy-backend-optional.md @@ -1,10 +1,7 @@ --- title: 可安装在跨服端或子服 -sidebar_position: 2 --- -# 可安装在跨服端或子服 - 这一分类中的插件有单端版和跨服端版,你可以删除单端版使用跨服端版,在此页会对比此举的优缺点。 在“好处”与“坏处”对比中,如果一方被“\*”标记,表示我们认为此方要远大于另一方。 diff --git a/src/content/docs/java/process/cross-server/plugin/proxy-only.md b/src/content/docs/java/process/cross-server/plugin/proxy-only.md index 7c082af8f..8201c9202 100644 --- a/src/content/docs/java/process/cross-server/plugin/proxy-only.md +++ b/src/content/docs/java/process/cross-server/plugin/proxy-only.md @@ -1,10 +1,7 @@ --- title: 只安装在跨服端 -sidebar_position: 1 --- -# 只安装在跨服端 - 此类插件仅需要安装在跨服端即可使用。 ## Sonar diff --git a/src/content/docs/java/process/cross-server/precautions.md b/src/content/docs/java/process/cross-server/precautions.md index f74f7aa02..440b9403c 100644 --- a/src/content/docs/java/process/cross-server/precautions.md +++ b/src/content/docs/java/process/cross-server/precautions.md @@ -1,10 +1,7 @@ --- title: 注意事项 -sidebar_position: 8 --- -# 注意事项 - :::danger[非常危险] 只要你的子服和跨服端都位于同一内网或同一主机上,就尽可能不要给该子服开公网!某些情况下,即使正确配置了跨服端,玩家也可以直接通过子服的端口连接至子服。 diff --git a/src/content/docs/java/process/cross-server/server-core-choose.md b/src/content/docs/java/process/cross-server/server-core-choose.md index ae417e1d3..9c43310a0 100644 --- a/src/content/docs/java/process/cross-server/server-core-choose.md +++ b/src/content/docs/java/process/cross-server/server-core-choose.md @@ -1,10 +1,7 @@ --- title: 核心选择 -sidebar_position: 1 --- -## 核心选择 - :::info 你可以点击名称一栏中的字体跳转并找到下载 @@ -34,7 +31,7 @@ Waterfall 仍然会合并来自 BungeeCord 的更改。 | 名称 | 介绍 | 推荐与否 | 下载镜像 | | ---------------------------------------------------------- | ---------------------------------------------------------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Waterfall](https://papermc.io/software/waterfall) | Papermc 对 BungeeCord 的分支,但已停止向其添加新功能 | 不推荐 | [McRes](https://mcres.cn/downloads/waterfall.html) [FastMirror](https://www.fastmirror.net/#/download/Waterfall) [原子云](https://res.nullatom.com/Minecraft/Server/Waterfall/) [MCSL](https://sync.mcsl.com.cn/core/Waterfall) | -| [Lightfall](https://github.com/ArclightPowered/lightfall) | Arclight 的 Waterfall 分支,支持 Forge 玩家进入服务器 | - | [McRes](https://dev.mcres.cn/job/Lightfall/lastBuild/) [FastMirror](https://www.fastmirror.net/#/download/lightfall) [MCSL](https://sync.mcsl.com.cn/core/Lightfall) | +| [Lightfall](https://github.com/ArclightPowered/lightfall) | Arclight 的 Waterfall 分支,支持 Forge 玩家进入服务器 | - | [McRes](https://dev.mcres.cn/job/Lightfall/lastBuild/) [FastMirror](https://www.fastmirror.net/#/download/lightfall) [MCSL](https://sync.mcsl.com.cn/core/Lightfall) | | [Velocity](https://papermc.io/software/velocity) | 新生代代理端核心,拥有高安全性和高性能,但是插件不如 BungeeCord 那边多 | 非常推荐 | [McRes(自己点进去找)](https://mcres.cn/) [FastMirror](https://www.fastmirror.net/#/download/Velocity) [原子云](https://res.nullatom.com/Minecraft/Server/Velocity/) [MCSL](https://sync.mcsl.com.cn/core/Velocity) | | [Velocity-CTD](https://github.com/GemstoneGG/Velocity-CTD) | Velocity 的分支,包含各种优化、命令和更多功能,如 Redis 支持、队列系统、管理命令等 | 推荐 | [GitHub Releases](https://github.com/GemstoneGG/Velocity-CTD/releases) | | [BungeeCord](https://github.com/SpigotMC/BungeeCord) | 最古老的代理端核心,甚至有网页版 MC 的核心 | - | [McRes](https://repo.wdsj.io/repository/Bungeecord/BungeeCord.jar) [FastMirror](https://www.fastmirror.net/#/download/BungeeCord) [MCSL](https://sync.mcsl.com.cn/core/BungeeCord) | diff --git a/src/content/docs/java/process/cross-server/setup/bungeecord/config-yml.md b/src/content/docs/java/process/cross-server/setup/bungeecord/config-yml.md index feeab4c05..5feb95034 100644 --- a/src/content/docs/java/process/cross-server/setup/bungeecord/config-yml.md +++ b/src/content/docs/java/process/cross-server/setup/bungeecord/config-yml.md @@ -1,10 +1,7 @@ --- title: config.yml -sidebar_position: 2 --- -# config.yml - ```yaml # Forge mod 支持,如果你的服务器中有 mod 服务器,请打开这个选项 forge_support: false diff --git a/src/content/docs/java/process/cross-server/setup/bungeecord/bungeecord.md b/src/content/docs/java/process/cross-server/setup/bungeecord/intro.md similarity index 81% rename from src/content/docs/java/process/cross-server/setup/bungeecord/bungeecord.md rename to src/content/docs/java/process/cross-server/setup/bungeecord/intro.md index 28a277f4b..0252b2caf 100644 --- a/src/content/docs/java/process/cross-server/setup/bungeecord/bungeecord.md +++ b/src/content/docs/java/process/cross-server/setup/bungeecord/intro.md @@ -1,11 +1,7 @@ --- -title: BungeeCord -slug: /bungeecord -sidebar_position: 1 +title: 概述 --- -# BungeeCord - ![](../_assets/BungeeCord.png) 此篇教程适用于 BungeeCord / Waterfall diff --git a/src/content/docs/java/process/cross-server/setup/bungeecord/lobby.md b/src/content/docs/java/process/cross-server/setup/bungeecord/lobby.md index 73c2fa9c9..a8dce8588 100644 --- a/src/content/docs/java/process/cross-server/setup/bungeecord/lobby.md +++ b/src/content/docs/java/process/cross-server/setup/bungeecord/lobby.md @@ -1,10 +1,7 @@ --- title: 登录/大厅服 -sidebar_position: 3 --- -# 登录/大厅服 - 在你的服务器配置登录服或大厅服。 登录服和大厅服在原理上一样,所以这里只讲解登录服。 diff --git a/src/content/docs/java/process/cross-server/setup/bungeecord/setup.md b/src/content/docs/java/process/cross-server/setup/bungeecord/setup.md index 3e1d104f2..18879ee8e 100644 --- a/src/content/docs/java/process/cross-server/setup/bungeecord/setup.md +++ b/src/content/docs/java/process/cross-server/setup/bungeecord/setup.md @@ -1,10 +1,7 @@ --- title: 搭建 -sidebar_position: 1 --- -# 搭建 - ## 下载 前往 [核心选择](../../server-core-choose.md) 下载 BungeeCord / Waterfall diff --git a/src/content/docs/java/process/cross-server/setup/setup.md b/src/content/docs/java/process/cross-server/setup/setup.md deleted file mode 100644 index 4262fac58..000000000 --- a/src/content/docs/java/process/cross-server/setup/setup.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: 搭建 -slug: /build -sidebar_position: 2 ---- - -# 搭建代理服 - -常见的代理服分为以下两种: - -import DocCardList from '@theme/DocCardList'; - - - -请选择合适你的核心。 diff --git a/src/content/docs/java/process/cross-server/setup/transfer/transfer.md b/src/content/docs/java/process/cross-server/setup/transfer/intro.md similarity index 97% rename from src/content/docs/java/process/cross-server/setup/transfer/transfer.md rename to src/content/docs/java/process/cross-server/setup/transfer/intro.md index e4614844e..f63892dc5 100644 --- a/src/content/docs/java/process/cross-server/setup/transfer/transfer.md +++ b/src/content/docs/java/process/cross-server/setup/transfer/intro.md @@ -1,11 +1,7 @@ --- -title: Transfer -slug: /transfer -sidebar_position: 2 +title: 概述 --- -# Transfer - 一个新的《我的世界》自带的跨服方式。 ## 关于 Transfer diff --git a/src/content/docs/java/process/cross-server/setup/transfer/setup.md b/src/content/docs/java/process/cross-server/setup/transfer/setup.md index ab17707c0..a770e2f44 100644 --- a/src/content/docs/java/process/cross-server/setup/transfer/setup.md +++ b/src/content/docs/java/process/cross-server/setup/transfer/setup.md @@ -1,10 +1,7 @@ --- title: 搭建 -sidebar_position: 1 --- -# Transfer 跨服搭建 - ## 什么是 Transfer? Transfer 是 Minecraft 1.20.5 版本引入的 **原生跨服功能**,与传统代理端不同,它采用去中心化架构,服务器之间直接传送玩家。 diff --git a/src/content/docs/java/process/cross-server/setup/velocity-ctd/features.md b/src/content/docs/java/process/cross-server/setup/velocity-ctd/features.md index baf9bd223..d31aa9813 100644 --- a/src/content/docs/java/process/cross-server/setup/velocity-ctd/features.md +++ b/src/content/docs/java/process/cross-server/setup/velocity-ctd/features.md @@ -1,10 +1,7 @@ --- title: 特色功能 -sidebar_position: 4 --- -# Velocity-CTD 特色功能 - Velocity-CTD 在标准 Velocity 基础上增加了许多实用功能,本页面详细介绍这些特色功能的使用方法。 ## Redis 数据库支持 diff --git a/src/content/docs/java/process/cross-server/setup/velocity-ctd/velocity-ctd.md b/src/content/docs/java/process/cross-server/setup/velocity-ctd/intro.md similarity index 98% rename from src/content/docs/java/process/cross-server/setup/velocity-ctd/velocity-ctd.md rename to src/content/docs/java/process/cross-server/setup/velocity-ctd/intro.md index c1675747c..badbdf8c9 100644 --- a/src/content/docs/java/process/cross-server/setup/velocity-ctd/velocity-ctd.md +++ b/src/content/docs/java/process/cross-server/setup/velocity-ctd/intro.md @@ -1,11 +1,7 @@ --- -title: Velocity-CTD -slug: /velocity-ctd -sidebar_position: 2 +title: 概述 --- -# Velocity-CTD - ![](../_assets/Velocity.png) [点此跳转到 GitHub 仓库](https://github.com/GemstoneGG/Velocity-CTD) diff --git a/src/content/docs/java/process/cross-server/setup/velocity-ctd/lobby.md b/src/content/docs/java/process/cross-server/setup/velocity-ctd/lobby.md index 136f7605e..a99e5e685 100644 --- a/src/content/docs/java/process/cross-server/setup/velocity-ctd/lobby.md +++ b/src/content/docs/java/process/cross-server/setup/velocity-ctd/lobby.md @@ -1,10 +1,7 @@ --- title: 登录/大厅服 -sidebar_position: 5 --- -# 登录/大厅服 - 在你的服务器配置登录服或大厅服。 登录服和大厅服在原理上一样,所以这里只讲解登录服。 diff --git a/src/content/docs/java/process/cross-server/setup/velocity-ctd/setup.md b/src/content/docs/java/process/cross-server/setup/velocity-ctd/setup.md index 38171f2e9..8320b321c 100644 --- a/src/content/docs/java/process/cross-server/setup/velocity-ctd/setup.md +++ b/src/content/docs/java/process/cross-server/setup/velocity-ctd/setup.md @@ -1,12 +1,9 @@ --- title: 搭建 -sidebar_position: 1 --- -# 搭建 - ## 下载 在 [核心选择](../../server-core-choose.md) 找到 Velocity-CTD 然后下载 diff --git a/src/content/docs/java/process/cross-server/setup/velocity-ctd/velocity-toml.md b/src/content/docs/java/process/cross-server/setup/velocity-ctd/velocity-toml.md index d9edda972..5f7d89e47 100644 --- a/src/content/docs/java/process/cross-server/setup/velocity-ctd/velocity-toml.md +++ b/src/content/docs/java/process/cross-server/setup/velocity-ctd/velocity-toml.md @@ -1,10 +1,7 @@ --- title: velocity.toml -sidebar_position: 3 --- -# 配置文件 - 以下配置仅为汉化参考,**请勿直接复制!!** Velocity-CTD 完全兼容标准 Velocity 配置,并在此基础上增加了许多新的配置选项。 diff --git a/src/content/docs/java/process/cross-server/setup/velocity/velocity.md b/src/content/docs/java/process/cross-server/setup/velocity/intro.md similarity index 98% rename from src/content/docs/java/process/cross-server/setup/velocity/velocity.md rename to src/content/docs/java/process/cross-server/setup/velocity/intro.md index 597fb872a..7d661b7db 100644 --- a/src/content/docs/java/process/cross-server/setup/velocity/velocity.md +++ b/src/content/docs/java/process/cross-server/setup/velocity/intro.md @@ -1,11 +1,7 @@ --- -title: Velocity -slug: /velocity -sidebar_position: 2 +title: 概述 --- -# Velocity - ![](../_assets/Velocity.png) [点此跳转到官方英文文档](https://docs.papermc.io/velocity) diff --git a/src/content/docs/java/process/cross-server/setup/velocity/lobby.md b/src/content/docs/java/process/cross-server/setup/velocity/lobby.md index 4e6bc8abd..3e148f4ac 100644 --- a/src/content/docs/java/process/cross-server/setup/velocity/lobby.md +++ b/src/content/docs/java/process/cross-server/setup/velocity/lobby.md @@ -1,10 +1,7 @@ --- title: 登录/大厅服 -sidebar_position: 3 --- -# 登录/大厅服 - 在你的服务器配置登录服或大厅服。 登录服和大厅服在原理上一样,所以这里只讲解登录服。 diff --git a/src/content/docs/java/process/cross-server/setup/velocity/setup.md b/src/content/docs/java/process/cross-server/setup/velocity/setup.md index 0a7608c7d..725d05a5c 100644 --- a/src/content/docs/java/process/cross-server/setup/velocity/setup.md +++ b/src/content/docs/java/process/cross-server/setup/velocity/setup.md @@ -1,12 +1,9 @@ --- title: 搭建 -sidebar_position: 1 --- -# 搭建 - ## 下载 在 [核心选择](../../server-core-choose.md) 找到 Velocity 然后下载 diff --git a/src/content/docs/java/process/cross-server/setup/velocity/velocity-toml.md b/src/content/docs/java/process/cross-server/setup/velocity/velocity-toml.md index 175370563..1dbe88701 100644 --- a/src/content/docs/java/process/cross-server/setup/velocity/velocity-toml.md +++ b/src/content/docs/java/process/cross-server/setup/velocity/velocity-toml.md @@ -1,10 +1,7 @@ --- title: velocity.toml -sidebar_position: 2 --- -# 配置文件 - 以下配置仅为汉化参考,**请勿直接复制!!** ```toml diff --git a/src/content/docs/java/process/intro.md b/src/content/docs/java/process/intro.md new file mode 100644 index 000000000..0b04576d3 --- /dev/null +++ b/src/content/docs/java/process/intro.md @@ -0,0 +1,9 @@ +--- +title: 概述 +--- + +在搭建好服务器后,真正的工作才刚刚开始。这个阶段将帮助你把一个基础的服务器转变成一个稳定、高效、充满趣味的游戏平台。 + +## 这个阶段你将学到什么? + +建设阶段是服务器从"可用"到"好用"的关键步骤。通过本阶段的学习,你将掌握服务器的配置、管理和优化技巧,为玩家提供最佳的游戏体验。 diff --git a/src/content/docs/java/process/map.md b/src/content/docs/java/process/map.md deleted file mode 100644 index b0ab6df74..000000000 --- a/src/content/docs/java/process/map.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -title: 地图建设 -sidebar_position: 8 ---- - -请见 [通用 | 地图建设](/map) diff --git a/src/content/docs/java/process/mobile-player/client/amethyst-ios.md b/src/content/docs/java/process/mobile-player/client/amethyst-ios.md index 2d64fe6c8..92d0d69b6 100644 --- a/src/content/docs/java/process/mobile-player/client/amethyst-ios.md +++ b/src/content/docs/java/process/mobile-player/client/amethyst-ios.md @@ -1,10 +1,7 @@ --- title: 在 iOS 上安装 Amethyst -sidebar_position: 3 --- -# 在 iOS 上安装 Amethyst - ## 方法一:使用 AltStore ### (针对 Windows 用户,Windows 用户尚不支持在 iOS 17 上使用 AltJIT) diff --git a/src/content/docs/java/process/mobile-player/client/android-all.md b/src/content/docs/java/process/mobile-player/client/android-all.md index 046480393..4344078c3 100644 --- a/src/content/docs/java/process/mobile-player/client/android-all.md +++ b/src/content/docs/java/process/mobile-player/client/android-all.md @@ -1,18 +1,17 @@ ---- -title: 在安卓设备上安装 Java 启动器 -sidebar_position: 4 ---- - -这个教程支持所有安卓设备和所有启动器 - -| 启动器名称 | 是否正常更新 | 下载地址 | -| ---------- | ------------ | --------------------------------------------------------------------- | -| FCL | 是 | [GitHub](https://github.com/FCL-Team/FoldCraftLauncher/releases) | -| ZL | 是 | [GitHub](https://github.com/ZalithLauncher/ZalithLauncher/releases) | -| ZL2 | 是 | [GitHub](https://github.com/ZalithLauncher/ZalithLauncher2/releases) | -| Amethyst | 是 | [GitHub](https://github.com/AngelAuraMC/Amethyst-Android/actions) | -| HMCL-PE | 否 | [GitHub](https://github.com/HMCL-dev/HMCL-PE/releases) | -| MCinaBox | 否 | [GitHub](https://github.com/AOF-Dev/MCinaBox/releases) | -| Pojav | 否 | [GitHub](https://github.com/PojavLauncherTeam/PojavLauncher/releases) | - -下载完成直接安装就好了,推荐的渲染器是 [MobileGlues](https://github.com/MobileGL-Dev/MobileGlues-release/releases) +--- +title: 在安卓设备上安装 Java 启动器 +--- + +这个教程支持所有安卓设备和所有启动器 + +| 启动器名称 | 是否正常更新 | 下载地址 | +| ---------- | ------------ | --------------------------------------------------------------------- | +| FCL | 是 | [GitHub](https://github.com/FCL-Team/FoldCraftLauncher/releases) | +| ZL | 是 | [GitHub](https://github.com/ZalithLauncher/ZalithLauncher/releases) | +| ZL2 | 是 | [GitHub](https://github.com/ZalithLauncher/ZalithLauncher2/releases) | +| Amethyst | 是 | [GitHub](https://github.com/AngelAuraMC/Amethyst-Android/actions) | +| HMCL-PE | 否 | [GitHub](https://github.com/HMCL-dev/HMCL-PE/releases) | +| MCinaBox | 否 | [GitHub](https://github.com/AOF-Dev/MCinaBox/releases) | +| Pojav | 否 | [GitHub](https://github.com/PojavLauncherTeam/PojavLauncher/releases) | + +下载完成直接安装就好了,推荐的渲染器是 [MobileGlues](https://github.com/MobileGL-Dev/MobileGlues-release/releases) diff --git a/src/content/docs/java/process/mobile-player/client/client.md b/src/content/docs/java/process/mobile-player/client/intro.md similarity index 81% rename from src/content/docs/java/process/mobile-player/client/client.md rename to src/content/docs/java/process/mobile-player/client/intro.md index cb92d93c0..2f4a44bdb 100644 --- a/src/content/docs/java/process/mobile-player/client/client.md +++ b/src/content/docs/java/process/mobile-player/client/intro.md @@ -1,7 +1,5 @@ --- -title: 手机 Java 版 +title: 概述 --- -# 手机 Java 版 - 由于技术问题,Geyser 无法实现所有的功能和特效,这时,我们就需要使用 PojavLauncher/FCL 等在手机上启动 Java 版来获得完整的特性 diff --git a/src/content/docs/java/process/mobile-player/client/pcl.md b/src/content/docs/java/process/mobile-player/client/pcl.md index 4e6641dee..9ff8274d9 100644 --- a/src/content/docs/java/process/mobile-player/client/pcl.md +++ b/src/content/docs/java/process/mobile-player/client/pcl.md @@ -2,8 +2,6 @@ title: 手机直装模板 --- -# 手机直装模板 - 在手机上装 PojavLauncher/FCL 还是太吃操作了,这时候我们就需要客户端安装包了 [GitHub 地址](https://github.com/MrXiaoM/FoldCraftLauncher) diff --git a/src/content/docs/java/process/mobile-player/client/pojav-android.md b/src/content/docs/java/process/mobile-player/client/pojav-android.md index f83739f3e..6e7bcb53b 100644 --- a/src/content/docs/java/process/mobile-player/client/pojav-android.md +++ b/src/content/docs/java/process/mobile-player/client/pojav-android.md @@ -1,10 +1,7 @@ --- title: 在 Android 上安装 PojavLauncher -sidebar_position: 1 --- -# 在 Android 上安装 PojavLauncher - :::warning PojavLauncher 已于 2025 年 5 月 17 日宣布停更 diff --git a/src/content/docs/java/process/mobile-player/client/pojav-ios.md b/src/content/docs/java/process/mobile-player/client/pojav-ios.md index 0c3673f02..d0a210b21 100644 --- a/src/content/docs/java/process/mobile-player/client/pojav-ios.md +++ b/src/content/docs/java/process/mobile-player/client/pojav-ios.md @@ -1,10 +1,7 @@ --- title: 在 iOS 上安装 PojavLauncher -sidebar_position: 2 --- -# 在 iOS 上安装 PojavLauncher - :::warning PojavLauncher 已于 2025 年 5 月 17 日宣布停更 diff --git a/src/content/docs/java/process/mobile-player/geyser/introduction/_assets/VersionChoose.png b/src/content/docs/java/process/mobile-player/geyser/_assets/VersionChoose.png similarity index 100% rename from src/content/docs/java/process/mobile-player/geyser/introduction/_assets/VersionChoose.png rename to src/content/docs/java/process/mobile-player/geyser/_assets/VersionChoose.png diff --git a/src/content/docs/java/process/mobile-player/geyser/introduction/faq.md b/src/content/docs/java/process/mobile-player/geyser/faq.md similarity index 99% rename from src/content/docs/java/process/mobile-player/geyser/introduction/faq.md rename to src/content/docs/java/process/mobile-player/geyser/faq.md index 70be163b7..9bb37a120 100644 --- a/src/content/docs/java/process/mobile-player/geyser/introduction/faq.md +++ b/src/content/docs/java/process/mobile-player/geyser/faq.md @@ -1,10 +1,7 @@ --- title: FAQ -sidebar_position: 3 --- -# FAQ - ## 红石是按照哪个版本工作的? 你加入的服务器是一个 **Java 版** 服务器 diff --git a/src/content/docs/java/process/mobile-player/geyser/geyser.md b/src/content/docs/java/process/mobile-player/geyser/geyser.md deleted file mode 100644 index 36f261708..000000000 --- a/src/content/docs/java/process/mobile-player/geyser/geyser.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: Geyser -slug: /Geyser -sidebar_position: 3 ---- - -# Geyser - -![](_assets/geyser.png) - -import DocCardList from '@theme/DocCardList'; - - diff --git a/src/content/docs/java/process/mobile-player/geyser/introduction/install.md b/src/content/docs/java/process/mobile-player/geyser/install.md similarity index 99% rename from src/content/docs/java/process/mobile-player/geyser/introduction/install.md rename to src/content/docs/java/process/mobile-player/geyser/install.md index 56e715a19..57765dbd6 100644 --- a/src/content/docs/java/process/mobile-player/geyser/introduction/install.md +++ b/src/content/docs/java/process/mobile-player/geyser/install.md @@ -1,10 +1,7 @@ --- title: 安装 -sidebar_position: 2 --- -# 安装 Geyser - ## 版本 Geyser 有以下版本类型: diff --git a/src/content/docs/java/process/mobile-player/geyser/introduction/overview.md b/src/content/docs/java/process/mobile-player/geyser/intro.md similarity index 93% rename from src/content/docs/java/process/mobile-player/geyser/introduction/overview.md rename to src/content/docs/java/process/mobile-player/geyser/intro.md index 8828df565..d384f7ec1 100644 --- a/src/content/docs/java/process/mobile-player/geyser/introduction/overview.md +++ b/src/content/docs/java/process/mobile-player/geyser/intro.md @@ -1,10 +1,7 @@ --- -title: 概览 -sidebar_position: 1 +title: 概述 --- -# 概览 - :::info `官网`:https://geysermc.org/ diff --git a/src/content/docs/java/process/mobile-player/geyser/introduction/introduction.md b/src/content/docs/java/process/mobile-player/geyser/introduction/introduction.md deleted file mode 100644 index 28fec70d0..000000000 --- a/src/content/docs/java/process/mobile-player/geyser/introduction/introduction.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 入门 -slug: /geyser/introduction -sidebar_position: 1 ---- - -# 入门 - -import DocCardList from '@theme/DocCardList'; - - diff --git a/src/content/docs/java/process/mobile-player/geyser/upgrade/custom-item-model-map.md b/src/content/docs/java/process/mobile-player/geyser/upgrade/custom-item-model-map.md index 9ea91512c..6d01e8667 100644 --- a/src/content/docs/java/process/mobile-player/geyser/upgrade/custom-item-model-map.md +++ b/src/content/docs/java/process/mobile-player/geyser/upgrade/custom-item-model-map.md @@ -1,10 +1,7 @@ --- title: 自定义物品模型映射 -sidebar_position: 5 --- -# 自定义物品模型映射 - Geyser 提供了自定义物品映射功能,可以为 CustomModelData 物品注册基岩版行为,以实现自定义物品 ## Kas-tle 的 java2bedrock diff --git a/src/content/docs/java/process/mobile-player/geyser/upgrade/extended/compatible.md b/src/content/docs/java/process/mobile-player/geyser/upgrade/extended/compatible.md index 7ed248f79..25f43f7c9 100644 --- a/src/content/docs/java/process/mobile-player/geyser/upgrade/extended/compatible.md +++ b/src/content/docs/java/process/mobile-player/geyser/upgrade/extended/compatible.md @@ -1,10 +1,7 @@ --- title: 插件兼容 -sidebar_position: 3 --- -# 插件兼容 - 让你服务器上的插件兼容 Geyser ## floodgate-skript diff --git a/src/content/docs/java/process/mobile-player/geyser/upgrade/extended/fix.mdx b/src/content/docs/java/process/mobile-player/geyser/upgrade/extended/fix.mdx index 037d2cd34..c0e8d9d52 100644 --- a/src/content/docs/java/process/mobile-player/geyser/upgrade/extended/fix.mdx +++ b/src/content/docs/java/process/mobile-player/geyser/upgrade/extended/fix.mdx @@ -1,6 +1,5 @@ --- title: 游戏机制 -sidebar_position: 2 --- import StructureExplorer from "@site/src/components/StructureExplorer"; diff --git a/src/content/docs/java/process/mobile-player/geyser/upgrade/extended/extended.md b/src/content/docs/java/process/mobile-player/geyser/upgrade/extended/intro.md similarity index 93% rename from src/content/docs/java/process/mobile-player/geyser/upgrade/extended/extended.md rename to src/content/docs/java/process/mobile-player/geyser/upgrade/extended/intro.md index e84a72a3f..0278f63ed 100644 --- a/src/content/docs/java/process/mobile-player/geyser/upgrade/extended/extended.md +++ b/src/content/docs/java/process/mobile-player/geyser/upgrade/extended/intro.md @@ -1,11 +1,7 @@ --- -title: Geyser 扩展 -sidebar_position: 1 -slug: /Geyser/Upgrade +title: 概述 --- -# Geyser 扩展 - 这里是进阶教程,你可以通过进阶教程获得更好的基岩版兼容 让基岩版玩家拥有更加接近原生基岩版服务器的体验 diff --git a/src/content/docs/java/process/mobile-player/geyser/upgrade/extended/more.md b/src/content/docs/java/process/mobile-player/geyser/upgrade/extended/more.md index f39ff1c7a..5a9c29278 100644 --- a/src/content/docs/java/process/mobile-player/geyser/upgrade/extended/more.md +++ b/src/content/docs/java/process/mobile-player/geyser/upgrade/extended/more.md @@ -1,10 +1,7 @@ --- title: 更多功能 -sidebar_position: 4 --- -# 更多功能 - 让基岩版玩家体验到更多功能 ## GeyserUpdater diff --git a/src/content/docs/java/process/mobile-player/geyser/upgrade/geyser-skull.md b/src/content/docs/java/process/mobile-player/geyser/upgrade/geyser-skull.md index fd662d52b..eed464599 100644 --- a/src/content/docs/java/process/mobile-player/geyser/upgrade/geyser-skull.md +++ b/src/content/docs/java/process/mobile-player/geyser/upgrade/geyser-skull.md @@ -1,10 +1,7 @@ --- title: 如何修复 Geyser 头颅不显示 -sidebar_position: 3 --- -# 如何修复 Geyser 头颅不显示 - :::note 目前仍然没有自动修复的办法 diff --git a/src/content/docs/java/process/mobile-player/geyser/upgrade/geysermeg4-supports.md b/src/content/docs/java/process/mobile-player/geyser/upgrade/geysermeg4-supports.md index e6d147d88..69868c734 100644 --- a/src/content/docs/java/process/mobile-player/geyser/upgrade/geysermeg4-supports.md +++ b/src/content/docs/java/process/mobile-player/geyser/upgrade/geysermeg4-supports.md @@ -1,12 +1,9 @@ --- title: GeyserMEG4 支持 -sidebar_position: 6 --- -# GeyserMEG4 支持 - ## GeyserModelEngine 一个能让你 Geyser 服务器支持 MEG4 的奇妙插件,通过给基岩版发送个史蒂夫发送 4D 皮肤给基岩版玩家,支持原版 Geyser diff --git a/src/content/docs/java/process/mobile-player/geyser/upgrade/link.md b/src/content/docs/java/process/mobile-player/geyser/upgrade/link.md index 3fc030815..7200d242e 100644 --- a/src/content/docs/java/process/mobile-player/geyser/upgrade/link.md +++ b/src/content/docs/java/process/mobile-player/geyser/upgrade/link.md @@ -1,10 +1,7 @@ --- title: 账户数据互通 -sidebar_position: 4 --- -# 账户数据互通 - ## 全局链接 :::tip diff --git a/src/content/docs/java/process/mobile-player/geyser/upgrade/menu.md b/src/content/docs/java/process/mobile-player/geyser/upgrade/menu.md index e26db1f5b..e9609fa80 100644 --- a/src/content/docs/java/process/mobile-player/geyser/upgrade/menu.md +++ b/src/content/docs/java/process/mobile-player/geyser/upgrade/menu.md @@ -1,10 +1,7 @@ --- title: 菜单插件 -sidebar_position: 4 --- -# 菜单插件 - 目前主流的菜单插件主要是 MagicMenu 和 CrossplatForms,推荐使用 MagicMenu,相较于 CrossplatForms 更轻量,支持所有服务端核心,并且有跟更多功能 ## 安装 diff --git a/src/content/docs/java/process/mobile-player/geyser/upgrade/slimefun.md b/src/content/docs/java/process/mobile-player/geyser/upgrade/slimefun.md index b60ca56f7..7c8183760 100644 --- a/src/content/docs/java/process/mobile-player/geyser/upgrade/slimefun.md +++ b/src/content/docs/java/process/mobile-player/geyser/upgrade/slimefun.md @@ -1,10 +1,7 @@ --- title: 兼容 Slimefun -sidebar_position: 2 --- -# 兼容 Slimefun - :::danger 想要显示自定义物品纹理,你必须在服务端使用 [粘液科技资源包](https://github.com/xMikux/Slimefun-Resourcepack/releases),后才可以正常使用 diff --git a/src/content/docs/java/process/mobile-player/geyser/upgrade/upgrade.md b/src/content/docs/java/process/mobile-player/geyser/upgrade/upgrade.md deleted file mode 100644 index abe4d7789..000000000 --- a/src/content/docs/java/process/mobile-player/geyser/upgrade/upgrade.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: Geyser 进阶 -slug: /geyser/upgrade -sidebar_position: 2 ---- - -# Geyser 进阶 - -import DocCardList from '@theme/DocCardList'; - - diff --git a/src/content/docs/java/process/mobile-player/mobile-player.md b/src/content/docs/java/process/mobile-player/intro.md similarity index 84% rename from src/content/docs/java/process/mobile-player/mobile-player.md rename to src/content/docs/java/process/mobile-player/intro.md index 6c9f635f4..a34a0cc84 100644 --- a/src/content/docs/java/process/mobile-player/mobile-player.md +++ b/src/content/docs/java/process/mobile-player/intro.md @@ -1,15 +1,14 @@ --- -title: 手机玩家支持 -sidebar_position: 4 +title: 概述 --- -# 支持方式 +## 支持方式 -## 手机运行 Java +### 手机运行 Java 目前有两种主流方案:Pojav Launcher 和 Fold Craft Launcher,其中后者对于中国用户更加友好,推荐使用 -## Geyser 转换 +### Geyser 转换 使基岩版客户端进入 Java 版服务器的代理软件。 diff --git a/src/content/docs/java/process/plugin/game/dragoncore.md b/src/content/docs/java/process/plugin/game/dragoncore.md index 29b1983c0..7b674c72c 100644 --- a/src/content/docs/java/process/plugin/game/dragoncore.md +++ b/src/content/docs/java/process/plugin/game/dragoncore.md @@ -1,10 +1,7 @@ --- title: 龙之核心 -sidebar_position: 4 --- -# 龙之核心 - ## ![介绍](_assets/Dragon_Core/1.jpg) 龙之核心是基于 Minecraft 1.12.2 版本,以插件 (服务端) + mod (客户端) 的方式, diff --git a/src/content/docs/java/process/plugin/game/game.md b/src/content/docs/java/process/plugin/game/game.md deleted file mode 100644 index 4f6adcbf1..000000000 --- a/src/content/docs/java/process/plugin/game/game.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 游戏性插件 -slug: /game -sidebar_position: 6 ---- - -# 游戏性插件 - -这些插件往往和服务器玩法息息相关。 - -import DocCardList from '@theme/DocCardList'; - - diff --git a/src/content/docs/java/process/plugin/game/germengine.md b/src/content/docs/java/process/plugin/game/germengine.md index 2e8d30f2a..fefb77471 100644 --- a/src/content/docs/java/process/plugin/game/germengine.md +++ b/src/content/docs/java/process/plugin/game/germengine.md @@ -1,10 +1,7 @@ --- title: 萌芽引擎 -sidebar_position: 5 --- -# 萌芽引擎 - ![](_assets/Germ_Engine/1.png) ![](_assets/Germ_Engine/2.jpg) diff --git a/src/content/docs/java/process/plugin/game/nova.md b/src/content/docs/java/process/plugin/game/nova.md index 19b1c38f1..536d6073c 100644 --- a/src/content/docs/java/process/plugin/game/nova.md +++ b/src/content/docs/java/process/plugin/game/nova.md @@ -1,10 +1,7 @@ --- title: Nova -sidebar_position: 2 --- -# Nova - :::info `Modrinth` https://modrinth.com/plugin/nova-framework diff --git a/src/content/docs/java/process/plugin/game/slimefun/auto-update.md b/src/content/docs/java/process/plugin/game/slimefun/auto-update.md index bd28a507b..0fcc9144b 100644 --- a/src/content/docs/java/process/plugin/game/slimefun/auto-update.md +++ b/src/content/docs/java/process/plugin/game/slimefun/auto-update.md @@ -1,10 +1,7 @@ --- title: 自动更新 -sidebar_position: 2 --- -# 自动更新 - 1. 修改附属的配置 diff --git a/src/content/docs/java/process/plugin/game/slimefun/find-lag.md b/src/content/docs/java/process/plugin/game/slimefun/find-lag.md index ddf74db97..449841102 100644 --- a/src/content/docs/java/process/plugin/game/slimefun/find-lag.md +++ b/src/content/docs/java/process/plugin/game/slimefun/find-lag.md @@ -1,6 +1,7 @@ --- title: 查卡服 -sidebar_position: 4 --- -TODO +施工中 🏗️ + + diff --git a/src/content/docs/java/process/plugin/game/slimefun/slimefun.md b/src/content/docs/java/process/plugin/game/slimefun/intro.md similarity index 90% rename from src/content/docs/java/process/plugin/game/slimefun/slimefun.md rename to src/content/docs/java/process/plugin/game/slimefun/intro.md index ca557a2a5..5669fd1b3 100644 --- a/src/content/docs/java/process/plugin/game/slimefun/slimefun.md +++ b/src/content/docs/java/process/plugin/game/slimefun/intro.md @@ -1,11 +1,7 @@ --- -title: 粘液科技 -slug: /Slimefun -sidebar_position: 1 +title: 概述 --- -# 粘液科技 - :::info `Bukkit (旧)` https://dev.bukkit.org/projects/slimefun diff --git a/src/content/docs/java/process/plugin/game/slimefun/resourcepack-for-slimefun.md b/src/content/docs/java/process/plugin/game/slimefun/resourcepack-for-slimefun.md index ef45e906c..8eca35fad 100644 --- a/src/content/docs/java/process/plugin/game/slimefun/resourcepack-for-slimefun.md +++ b/src/content/docs/java/process/plugin/game/slimefun/resourcepack-for-slimefun.md @@ -1,10 +1,7 @@ --- title: 粘液资源包 -sidebar_position: 3 --- -# 粘液资源包 - 鬼斩的粘液科技材质 (不再更新):https://ybw0014.net/post/guizhancraft-resource-pack 建议使用 (还提供了 IA 支持):https://github.com/xMikux/Slimefun-Resourcepack/blob/main/.github/README.zh-cn.md diff --git a/src/content/docs/java/process/plugin/game/title/deluxetags.md b/src/content/docs/java/process/plugin/game/title/deluxetags.md index 6621f12fa..bb32e04d6 100644 --- a/src/content/docs/java/process/plugin/game/title/deluxetags.md +++ b/src/content/docs/java/process/plugin/game/title/deluxetags.md @@ -1,10 +1,7 @@ --- title: DeluxeTags -sidebar_position: 4 --- -# DeluxeTags - :::info `SpigotMC` https://www.spigotmc.org/resources/.4390 diff --git a/src/content/docs/java/process/plugin/game/title/miniplayertitle.md b/src/content/docs/java/process/plugin/game/title/miniplayertitle.md index 5eb8ad8b2..1f9a932c3 100644 --- a/src/content/docs/java/process/plugin/game/title/miniplayertitle.md +++ b/src/content/docs/java/process/plugin/game/title/miniplayertitle.md @@ -1,10 +1,7 @@ --- title: MiniPlayerTitle -sidebar_position: 1 --- -# MiniPlayerTitle - ![](_assets/MiniPlayerTitle/MiniPlayerTitle-1.png) [![](https://img.shields.io/github/languages/code-size/DeerGiteaMirror/MiniPlayerTitle)](https://github.com/DeerGiteaMirror/MiniPlayerTitle) diff --git a/src/content/docs/java/process/plugin/game/title/mythicprefixes.md b/src/content/docs/java/process/plugin/game/title/mythicprefixes.md index 254f3fbf6..f29f9dda2 100644 --- a/src/content/docs/java/process/plugin/game/title/mythicprefixes.md +++ b/src/content/docs/java/process/plugin/game/title/mythicprefixes.md @@ -1,10 +1,7 @@ --- title: MythicPrefixes -sidebar_position: 5 --- -# MythicPrefixes - :::info `SpigotMC` https://www.spigotmc.org/resources/.100994 diff --git a/src/content/docs/java/process/plugin/game/title/playertitle.md b/src/content/docs/java/process/plugin/game/title/playertitle.md index 94b9b8c09..2edfd9591 100644 --- a/src/content/docs/java/process/plugin/game/title/playertitle.md +++ b/src/content/docs/java/process/plugin/game/title/playertitle.md @@ -1,10 +1,7 @@ --- title: PlayerTitle -sidebar_position: 3 --- -# PlayerTitle - :::info `SpigotMC` https://www.spigotmc.org/resources/.104544 diff --git a/src/content/docs/java/process/plugin/game/title/title.md b/src/content/docs/java/process/plugin/game/title/title.md deleted file mode 100644 index 6838630a3..000000000 --- a/src/content/docs/java/process/plugin/game/title/title.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 称号插件 -slug: /title -sidebar_position: 3 ---- - -# 称号插件 - -import DocCardList from '@theme/DocCardList'; - - diff --git a/src/content/docs/java/process/plugin/game/title/userprefix.md b/src/content/docs/java/process/plugin/game/title/userprefix.md index 3c110a4a6..fdabfef25 100644 --- a/src/content/docs/java/process/plugin/game/title/userprefix.md +++ b/src/content/docs/java/process/plugin/game/title/userprefix.md @@ -1,12 +1,9 @@ --- title: UserPrefix -sidebar_position: 2 --- -# UserPrefix - ![](./_assets/UserPrefix/1.png) [![CodeFactor](https://www.codefactor.io/repository/github/carmjos/userprefix/badge?s=b76fec1f64726b5f19989aace6adb5f85fdab840)](https://www.codefactor.io/repository/github/carmjos/userprefix) @@ -47,9 +44,12 @@ sidebar_position: 2 - 简单的聊天变量修改功能!(不推荐使用) `[自 v2.1.0 版本起]` - 自动排序,且可翻页的 GUI! - 支持 PlaceholderAPI 变量!(凡支持的都可以使用,如 BungeeTabListPlus) + - 支持 [Hex 颜色](https://www.hexcolortool.com/)!(1.16 以上版本) `[自 v1.2.3 版本起]` + - 格式: `&(#颜色代码)` - 示例:LightSlateBlue `&(#8470FF)` 、 DarkSlateBlue `&(#483D8B)` + - 支持渐变色!(1.16 以上版本) `[自 v1.2.3 版本起]` - 格式: `&<#颜色代码1>消息内容&<#颜色代码2>` - 示例: `&<#8470FF>Hello World!&<#483D8B>` diff --git a/src/content/docs/java/process/plugin/plugin.md b/src/content/docs/java/process/plugin/intro.md similarity index 96% rename from src/content/docs/java/process/plugin/plugin.md rename to src/content/docs/java/process/plugin/intro.md index 4a508fd14..362d10ce4 100644 --- a/src/content/docs/java/process/plugin/plugin.md +++ b/src/content/docs/java/process/plugin/intro.md @@ -1,12 +1,7 @@ --- -title: 插件 -slug: /plugin -sidebar_position: 1 -sidebar_label: Java 插件 +title: 概述 --- -# 插件 - 本文档中提到的插件都有较多用户基础和完善的 Wiki,**具体插件请查看插件的 Wiki。** 建议阅读: diff --git a/src/content/docs/java/process/plugin/management-tool/anti-grief/coreprotect.md b/src/content/docs/java/process/plugin/management-tool/anti-grief/coreprotect.md index a43a3a00f..6b9dcb57a 100644 --- a/src/content/docs/java/process/plugin/management-tool/anti-grief/coreprotect.md +++ b/src/content/docs/java/process/plugin/management-tool/anti-grief/coreprotect.md @@ -1,10 +1,7 @@ --- -sidebar_position: 2 -sidebar_label: 记录 - CoreProtect +title: 记录 - CoreProtect --- -# CoreProtect - :::info `Bukkit` https://dev.bukkit.org/projects/coreprotect diff --git a/src/content/docs/java/process/plugin/management-tool/anti-grief/anti-grief.md b/src/content/docs/java/process/plugin/management-tool/anti-grief/intro.md similarity index 85% rename from src/content/docs/java/process/plugin/management-tool/anti-grief/anti-grief.md rename to src/content/docs/java/process/plugin/management-tool/anti-grief/intro.md index 6a6a3e8fa..ad826e4bb 100644 --- a/src/content/docs/java/process/plugin/management-tool/anti-grief/anti-grief.md +++ b/src/content/docs/java/process/plugin/management-tool/anti-grief/intro.md @@ -1,11 +1,7 @@ --- -title: 防熊插件 -slug: /AntiGrief -sidebar_position: 3 +title: 概览 --- -# 概览 - 记录玩家放置,破坏,存储物品等使用 [CoreProtect](coreprotect.md) 或 [PrismRefracted](prismrefracted.md)。 可以依据记录让插件把一定区域回滚到某个时间点。 diff --git a/src/content/docs/java/process/plugin/management-tool/anti-grief/invseeplusplus.md b/src/content/docs/java/process/plugin/management-tool/anti-grief/invseeplusplus.md index fca4f2854..886ce88be 100644 --- a/src/content/docs/java/process/plugin/management-tool/anti-grief/invseeplusplus.md +++ b/src/content/docs/java/process/plugin/management-tool/anti-grief/invseeplusplus.md @@ -1,12 +1,9 @@ --- -sidebar_position: 4 -sidebar_label: 查包 - InvSee++ +title: 查包 - InvSee++ --- -# InvSee++ - :::info `SpigotMC` https://www.spigotmc.org/resources/invsee.82342/ diff --git a/src/content/docs/java/process/plugin/management-tool/anti-grief/prismrefracted.md b/src/content/docs/java/process/plugin/management-tool/anti-grief/prismrefracted.md index 60d933261..c6895be47 100644 --- a/src/content/docs/java/process/plugin/management-tool/anti-grief/prismrefracted.md +++ b/src/content/docs/java/process/plugin/management-tool/anti-grief/prismrefracted.md @@ -1,6 +1,5 @@ --- -sidebar_position: 3 -sidebar_label: 记录 - PrismRefracted +title: 记录 - PrismRefracted --- # PrismRefracted diff --git a/src/content/docs/java/process/plugin/management-tool/basic-plugins/sunlight/_assets/1.png b/src/content/docs/java/process/plugin/management-tool/basic-plugins/_assets/1.png similarity index 100% rename from src/content/docs/java/process/plugin/management-tool/basic-plugins/sunlight/_assets/1.png rename to src/content/docs/java/process/plugin/management-tool/basic-plugins/_assets/1.png diff --git a/src/content/docs/java/process/plugin/management-tool/basic-plugins/sunlight/_assets/2.png b/src/content/docs/java/process/plugin/management-tool/basic-plugins/_assets/2.png similarity index 100% rename from src/content/docs/java/process/plugin/management-tool/basic-plugins/sunlight/_assets/2.png rename to src/content/docs/java/process/plugin/management-tool/basic-plugins/_assets/2.png diff --git a/src/content/docs/java/process/plugin/management-tool/basic-plugins/sunlight/_assets/3.png b/src/content/docs/java/process/plugin/management-tool/basic-plugins/_assets/3.png similarity index 100% rename from src/content/docs/java/process/plugin/management-tool/basic-plugins/sunlight/_assets/3.png rename to src/content/docs/java/process/plugin/management-tool/basic-plugins/_assets/3.png diff --git a/src/content/docs/java/process/plugin/management-tool/basic-plugins/sunlight/_assets/4.png b/src/content/docs/java/process/plugin/management-tool/basic-plugins/_assets/4.png similarity index 100% rename from src/content/docs/java/process/plugin/management-tool/basic-plugins/sunlight/_assets/4.png rename to src/content/docs/java/process/plugin/management-tool/basic-plugins/_assets/4.png diff --git a/src/content/docs/java/process/plugin/management-tool/basic-plugins/sunlight/_assets/5.png b/src/content/docs/java/process/plugin/management-tool/basic-plugins/_assets/5.png similarity index 100% rename from src/content/docs/java/process/plugin/management-tool/basic-plugins/sunlight/_assets/5.png rename to src/content/docs/java/process/plugin/management-tool/basic-plugins/_assets/5.png diff --git a/src/content/docs/java/process/plugin/management-tool/basic-plugins/cmi/eco.md b/src/content/docs/java/process/plugin/management-tool/basic-plugins/cmi/eco.md index 86d552076..fb6e260d3 100644 --- a/src/content/docs/java/process/plugin/management-tool/basic-plugins/cmi/eco.md +++ b/src/content/docs/java/process/plugin/management-tool/basic-plugins/cmi/eco.md @@ -1,10 +1,7 @@ --- title: 经济 -sidebar_position: 3 --- -# 经济 - 要使 CMI 的经济系统正常运行,您需要选择以下两种解决方案之一: 1. 使用重新编译的 Vault 版本([点击此处获取](https://www.zrips.net/cmivault)),该版本直接支持 CMI 经济系统,并与其他插件具有最佳兼容性。 diff --git a/src/content/docs/java/process/plugin/management-tool/basic-plugins/cmi/cmi.md b/src/content/docs/java/process/plugin/management-tool/basic-plugins/cmi/intro.md similarity index 91% rename from src/content/docs/java/process/plugin/management-tool/basic-plugins/cmi/cmi.md rename to src/content/docs/java/process/plugin/management-tool/basic-plugins/cmi/intro.md index e6afb318b..12afb9d33 100644 --- a/src/content/docs/java/process/plugin/management-tool/basic-plugins/cmi/cmi.md +++ b/src/content/docs/java/process/plugin/management-tool/basic-plugins/cmi/intro.md @@ -1,10 +1,7 @@ --- -title: CMI -sidebar_position: 2 +title: 概述 --- -# 概览 - ![](_assets/1.jpg) ![](_assets/2.png) diff --git a/src/content/docs/java/process/plugin/management-tool/basic-plugins/cmi/question.md b/src/content/docs/java/process/plugin/management-tool/basic-plugins/cmi/question.md index 3bd530447..fd2caaf38 100644 --- a/src/content/docs/java/process/plugin/management-tool/basic-plugins/cmi/question.md +++ b/src/content/docs/java/process/plugin/management-tool/basic-plugins/cmi/question.md @@ -1,10 +1,7 @@ --- title: 解决问题 -sidebar_position: 4 --- -# 解决问题 - 遵循下图解决你的 CMI 相关问题: ```mermaid diff --git a/src/content/docs/java/process/plugin/management-tool/basic-plugins/delete.md b/src/content/docs/java/process/plugin/management-tool/basic-plugins/delete.md index 84ba39f18..2e773dba9 100644 --- a/src/content/docs/java/process/plugin/management-tool/basic-plugins/delete.md +++ b/src/content/docs/java/process/plugin/management-tool/basic-plugins/delete.md @@ -1,10 +1,7 @@ --- title: 删掉基础插件 -sidebar_position: 3 --- -# 删掉基础插件 - [CMI](./cmi/cmi.md) 在拼命的加新功能,多而不精,插件变得臃肿不堪小白比较难上手 [EssentialsX](./essentialsx/essentialsx.md) 却在拼命追求稳定性,一点新功能不加的,现在随便个 tpa 插件都有点击聊天框信息同意传送的功能,他却没有,你还不能自己写 JSON 补 diff --git a/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/config-tips.md b/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/config-tips.md index 00754e0f2..76a42b86f 100644 --- a/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/config-tips.md +++ b/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/config-tips.md @@ -1,10 +1,7 @@ --- title: Config 快速指南 -sidebar_position: 2 --- -# Config 快速指南 - 我们为懒人列出了配置文件那些比较重要的选项 (善用 `Ctrl + F`): ## 传送 diff --git a/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/config-yml.md b/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/config-yml.md index ebb2a0bfa..273c6e8bb 100644 --- a/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/config-yml.md +++ b/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/config-yml.md @@ -1,11 +1,11 @@ --- title: config.yml -sidebar_position: 3 --- -```yaml title="plugins\Essentials\config.yml" +```yaml +// plugins\Essentials\config.yml ############################################################ # +------------------------------------------------------+ # # | 注意事项 | # diff --git a/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/faq.md b/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/faq.md index a19ee5493..0914862a4 100644 --- a/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/faq.md +++ b/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/faq.md @@ -1,10 +1,7 @@ --- title: 常见问题 -sidebar_position: 7 --- -# 常见问题 - ## 你没有权限与 xxx 交互。 \ ![](../../permission/_assets/日志-1.png) diff --git a/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/essentialsx.md b/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/intro.md similarity index 98% rename from src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/essentialsx.md rename to src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/intro.md index f29e55639..c8899c7d2 100644 --- a/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/essentialsx.md +++ b/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/intro.md @@ -1,12 +1,9 @@ --- -title: EssentialsX -sidebar_position: 1 +title: 概述 --- -# 概览 - ![](_assets/banner.png) EssentialsX 是一个基于 Spigot 服务端的基础插件,为从大到小的服务器提供核心功能。这些功能包括: diff --git a/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/kit.md b/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/kit.md index 6cd27c2fe..5332ff1e6 100644 --- a/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/kit.md +++ b/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/kit.md @@ -1,10 +1,7 @@ --- title: kit 礼包 -sidebar_position: 5 --- -# kit 礼包 - ## 创建礼包 ```text diff --git a/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/papi-support.md b/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/papi-support.md index 260bc67fa..419b581d1 100644 --- a/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/papi-support.md +++ b/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/papi-support.md @@ -1,6 +1,5 @@ --- title: papi 支持 -sidebar_position: 4 --- :::info diff --git a/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/warp.md b/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/warp.md index 3411dc1b7..8b77cf5f0 100644 --- a/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/warp.md +++ b/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/warp.md @@ -1,10 +1,7 @@ --- title: warp 地标 -sidebar_position: 6 --- -# warp 地标 - 跨世界定点传送 ## 创建地标 diff --git a/src/content/docs/java/process/plugin/management-tool/basic-plugins/basic-plugins.md b/src/content/docs/java/process/plugin/management-tool/basic-plugins/intro.md similarity index 89% rename from src/content/docs/java/process/plugin/management-tool/basic-plugins/basic-plugins.md rename to src/content/docs/java/process/plugin/management-tool/basic-plugins/intro.md index 2ade8d460..a05bafaa9 100644 --- a/src/content/docs/java/process/plugin/management-tool/basic-plugins/basic-plugins.md +++ b/src/content/docs/java/process/plugin/management-tool/basic-plugins/intro.md @@ -1,11 +1,7 @@ --- -title: 基础插件 -slug: /Essentials -sidebar_position: 2 +title: 概述 --- -# 基础插件 - 基础插件,顾名思义,是大部分服务器 (特别是生存服) 必备的插件。 基础插件一般能提供各种常用功能,比如:tpa、home、管理工具和礼包功能等等... diff --git a/src/content/docs/java/process/plugin/management-tool/basic-plugins/sunlight/sunlight.md b/src/content/docs/java/process/plugin/management-tool/basic-plugins/sunlight.md similarity index 97% rename from src/content/docs/java/process/plugin/management-tool/basic-plugins/sunlight/sunlight.md rename to src/content/docs/java/process/plugin/management-tool/basic-plugins/sunlight.md index cc8f1c732..59c87069a 100644 --- a/src/content/docs/java/process/plugin/management-tool/basic-plugins/sunlight/sunlight.md +++ b/src/content/docs/java/process/plugin/management-tool/basic-plugins/sunlight.md @@ -1,10 +1,7 @@ --- -title: SunLight -sidebar_position: 3 +title: Sunlight --- -# SunLight - ![](_assets/1.png) [![Discord](./_assets/2.png)](https://discord.gg/EwNFGsnGaW) diff --git a/src/content/docs/java/process/plugin/management-tool/chat/carbon.md b/src/content/docs/java/process/plugin/management-tool/chat/carbon.md index f1f598b4f..8f7227149 100644 --- a/src/content/docs/java/process/plugin/management-tool/chat/carbon.md +++ b/src/content/docs/java/process/plugin/management-tool/chat/carbon.md @@ -1,10 +1,7 @@ --- title: Carbon -sidebar_position: 3 --- -# Carbon - :::info `Hangar` https://hangar.papermc.io/Vicarious/Carbon diff --git a/src/content/docs/java/process/plugin/management-tool/chat/huskchat.md b/src/content/docs/java/process/plugin/management-tool/chat/huskchat.md index 7964906de..41e1fd616 100644 --- a/src/content/docs/java/process/plugin/management-tool/chat/huskchat.md +++ b/src/content/docs/java/process/plugin/management-tool/chat/huskchat.md @@ -1,10 +1,7 @@ --- title: HuskChat -sidebar_position: 2 --- -# HuskChat - :::danger 根据 SpigotMC 和 GitHub 上的官方消息,此插件已停止开发。 diff --git a/src/content/docs/java/process/plugin/management-tool/chat/chat.md b/src/content/docs/java/process/plugin/management-tool/chat/intro.md similarity index 53% rename from src/content/docs/java/process/plugin/management-tool/chat/chat.md rename to src/content/docs/java/process/plugin/management-tool/chat/intro.md index 4530abc7e..089256321 100644 --- a/src/content/docs/java/process/plugin/management-tool/chat/chat.md +++ b/src/content/docs/java/process/plugin/management-tool/chat/intro.md @@ -1,13 +1,5 @@ --- -title: 聊天插件 -slug: /chat -sidebar_position: 6 +title: 概述 --- -# 概览 - 修改玩家聊天信息的插件,例如增加聊天前缀后缀,聊天称号,物品展示,脏话屏蔽,彩色聊天等功能 - -import DocCardList from '@theme/DocCardList'; - - diff --git a/src/content/docs/java/process/plugin/management-tool/chat/trchat.md b/src/content/docs/java/process/plugin/management-tool/chat/trchat.md index a867e1331..b38c37a57 100644 --- a/src/content/docs/java/process/plugin/management-tool/chat/trchat.md +++ b/src/content/docs/java/process/plugin/management-tool/chat/trchat.md @@ -1,10 +1,7 @@ --- title: TrChat -sidebar_position: 1 --- -# TrChat - ![](./_assets/TrChat/1.png) ## 功能 diff --git a/src/content/docs/java/process/plugin/management-tool/items/crucible.md b/src/content/docs/java/process/plugin/management-tool/items/crucible.md index f4d2e1007..ec6666069 100644 --- a/src/content/docs/java/process/plugin/management-tool/items/crucible.md +++ b/src/content/docs/java/process/plugin/management-tool/items/crucible.md @@ -1,10 +1,7 @@ --- title: Crucible -sidebar_position: 4 --- -# Crucible - :::info `mythiccraft` https://mythiccraft.io/index.php?resources/.2 diff --git a/src/content/docs/java/process/plugin/management-tool/items/ecoItems.md b/src/content/docs/java/process/plugin/management-tool/items/ecoItems.md index 8fe6faaf9..09aa589a3 100644 --- a/src/content/docs/java/process/plugin/management-tool/items/ecoItems.md +++ b/src/content/docs/java/process/plugin/management-tool/items/ecoItems.md @@ -1,10 +1,7 @@ --- title: EcoItems -sidebar_position: 3 --- -# EcoItems - :::info `SpigotMC` https://www.spigotmc.org/resources/.94601 diff --git a/src/content/docs/java/process/plugin/management-tool/items/intro.md b/src/content/docs/java/process/plugin/management-tool/items/intro.md new file mode 100644 index 000000000..7479192f9 --- /dev/null +++ b/src/content/docs/java/process/plugin/management-tool/items/intro.md @@ -0,0 +1,5 @@ +--- +title: 概述 +--- + +可以让你愉快的保存,编辑和管理物品 diff --git a/src/content/docs/java/process/plugin/management-tool/items/items.md b/src/content/docs/java/process/plugin/management-tool/items/items.md deleted file mode 100644 index 27832ce67..000000000 --- a/src/content/docs/java/process/plugin/management-tool/items/items.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 物品库插件 -slug: /items -sidebar_position: 8 ---- - -# 物品库插件 - -可以让你愉快的保存,编辑和管理物品 - -import DocCardList from '@theme/DocCardList'; - - diff --git a/src/content/docs/java/process/plugin/management-tool/items/misc.md b/src/content/docs/java/process/plugin/management-tool/items/misc.md index 13a8c406b..bd120bb6e 100644 --- a/src/content/docs/java/process/plugin/management-tool/items/misc.md +++ b/src/content/docs/java/process/plugin/management-tool/items/misc.md @@ -1,16 +1,13 @@ --- title: 其他 -sidebar_position: 9 --- -# 其他 - 文档中收录的这些插件有物品库/类物品库功能,但插件本身重心并不是物品库。 推荐使用上方页面收录的物品库插件,而不是下方插件提供的物品库功能。 -- [ItemsAdder](../../../maintenance/resourcepack/plugins/framework.md) -- [Oraxen](../../../maintenance/resourcepack/plugins/framework.md) -- [MythicMobs](../../misc/mythicmobs.md) -- [CMI](../basic-plugins/cmi/cmi.md) -- [SunLight](../basic-plugins/sunlight/sunlight.md) +- [ItemsAdder](../../../maintenance/resourcepack/plugins/framework.md) +- [Oraxen](../../../maintenance/resourcepack/plugins/framework.md) +- [MythicMobs](../../misc/mythicmobs.md) +- [CMI](../basic-plugins/cmi/cmi.md) +- [SunLight](../basic-plugins/sunlight/sunlight.md) diff --git a/src/content/docs/java/process/plugin/management-tool/items/mmoitems.md b/src/content/docs/java/process/plugin/management-tool/items/mmoitems.md index 7e8bb9ac2..893cb09a6 100644 --- a/src/content/docs/java/process/plugin/management-tool/items/mmoitems.md +++ b/src/content/docs/java/process/plugin/management-tool/items/mmoitems.md @@ -1,10 +1,7 @@ --- title: MMOItems -sidebar_position: 1 --- -# MMOItems - ![](_assets/mmoitems.png) :::info diff --git a/src/content/docs/java/process/plugin/management-tool/items/neigeitems.md b/src/content/docs/java/process/plugin/management-tool/items/neigeitems.md index b737c4a09..43439de14 100644 --- a/src/content/docs/java/process/plugin/management-tool/items/neigeitems.md +++ b/src/content/docs/java/process/plugin/management-tool/items/neigeitems.md @@ -1,10 +1,7 @@ --- title: NeigeItems -sidebar_position: 6 --- -# NeigeItems - :::info `GitHub` https://github.com/ankhorg/NeigeItems-Kotlin diff --git a/src/content/docs/java/process/plugin/management-tool/items/ratziel.md b/src/content/docs/java/process/plugin/management-tool/items/ratziel.md index 4d0cbff90..85103791a 100644 --- a/src/content/docs/java/process/plugin/management-tool/items/ratziel.md +++ b/src/content/docs/java/process/plugin/management-tool/items/ratziel.md @@ -1,10 +1,7 @@ --- title: Ratziel -sidebar_position: 5 --- -# Ratziel - :::info `GitHub` https://github.com/TheFloodDragon/Ratziel-Beta diff --git a/src/content/docs/java/process/plugin/management-tool/items/sx-item.md b/src/content/docs/java/process/plugin/management-tool/items/sx-item.md index ad2d67ac9..a2ec7e5fe 100644 --- a/src/content/docs/java/process/plugin/management-tool/items/sx-item.md +++ b/src/content/docs/java/process/plugin/management-tool/items/sx-item.md @@ -1,10 +1,7 @@ --- title: SX-Item -sidebar_position: 2 --- -# SX-Item - :::info `SpigotMC` https://www.spigotmc.org/resources/.119751 diff --git a/src/content/docs/java/process/plugin/management-tool/items/zaphkiel.md b/src/content/docs/java/process/plugin/management-tool/items/zaphkiel.md index 63c0e4613..5c655bffe 100644 --- a/src/content/docs/java/process/plugin/management-tool/items/zaphkiel.md +++ b/src/content/docs/java/process/plugin/management-tool/items/zaphkiel.md @@ -1,10 +1,7 @@ --- title: Zaphkiel -sidebar_position: 7 --- -# Zaphkiel - :::info `GitHub` https://github.com/TabooLib/zaphkiel @@ -13,7 +10,7 @@ sidebar_position: 7 坏黑的物品库插件 -# Zaphkiel-Plus +## Zaphkiel-Plus 二次开发的 Zaphkiel diff --git a/src/content/docs/java/process/plugin/management-tool/management-tool.md b/src/content/docs/java/process/plugin/management-tool/management-tool.md deleted file mode 100644 index fdbf90261..000000000 --- a/src/content/docs/java/process/plugin/management-tool/management-tool.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 管理类插件 -slug: /ManageTool -sidebar_position: 3 ---- - -# 管理类插件 - -import DocCardList from '@theme/DocCardList'; - - diff --git a/src/content/docs/java/process/plugin/management-tool/permission/command.md b/src/content/docs/java/process/plugin/management-tool/permission/command.md index 288bd288a..4dba8a3bf 100644 --- a/src/content/docs/java/process/plugin/management-tool/permission/command.md +++ b/src/content/docs/java/process/plugin/management-tool/permission/command.md @@ -1,10 +1,7 @@ --- title: 命令篇 -sidebar_position: 4 --- -# 命令篇 - ## 权限组 ### 创建 diff --git a/src/content/docs/java/process/plugin/management-tool/permission/group.md b/src/content/docs/java/process/plugin/management-tool/permission/group.md index 24ecb06b5..a11ff4863 100644 --- a/src/content/docs/java/process/plugin/management-tool/permission/group.md +++ b/src/content/docs/java/process/plugin/management-tool/permission/group.md @@ -1,10 +1,7 @@ --- title: 权限组 -sidebar_position: 3 --- -# 权限组 - 与其单独为每个玩家设置权限,我们可以将权限捆绑为一组,然后直接将一大堆权限一起给予玩家。 比如我想让狗蛋拥有 `essentials.fly` 的权限,我可以直接新建一个权限组并添加权限,然后将狗蛋设置到此权限组。 diff --git a/src/content/docs/java/process/plugin/management-tool/permission/permission.md b/src/content/docs/java/process/plugin/management-tool/permission/intro.md similarity index 94% rename from src/content/docs/java/process/plugin/management-tool/permission/permission.md rename to src/content/docs/java/process/plugin/management-tool/permission/intro.md index 69bb29d89..9ec96c649 100644 --- a/src/content/docs/java/process/plugin/management-tool/permission/permission.md +++ b/src/content/docs/java/process/plugin/management-tool/permission/intro.md @@ -1,14 +1,12 @@ --- -title: 权限插件 -slug: /permission -sidebar_position: 1 +title: 概述 --- -# LuckPerms +## LuckPerms ![](_assets/1.png) -## ![介绍](_assets/2.png) +![介绍](_assets/2.png) 当前最先进,现代,支持广泛,用户数量最多的权限插件。 @@ -39,7 +37,7 @@ sidebar_position: 1 其他权限组插件导入数据到 Luckperms?[点击这里](https://continue-project.netlify.app/LuckPerms/how-to.migrate-from-other-plugins.html) -## ![链接](_assets/3.png) +![链接](_assets/3.png) :::info diff --git a/src/content/docs/java/process/plugin/management-tool/permission/meta.md b/src/content/docs/java/process/plugin/management-tool/permission/meta.md index ca17c4ce5..2e8b908ea 100644 --- a/src/content/docs/java/process/plugin/management-tool/permission/meta.md +++ b/src/content/docs/java/process/plugin/management-tool/permission/meta.md @@ -1,12 +1,9 @@ --- title: 数据存储 -sidebar_position: 6 --- -# 数据存储 - 这里简单介绍下 LuckPerms 一些可以用在储存数据方面的功能,以及一些简单的案例 ## 权限 diff --git a/src/content/docs/java/process/plugin/management-tool/permission/tips.md b/src/content/docs/java/process/plugin/management-tool/permission/tips.md index 499ae59a2..6f9c764da 100644 --- a/src/content/docs/java/process/plugin/management-tool/permission/tips.md +++ b/src/content/docs/java/process/plugin/management-tool/permission/tips.md @@ -1,10 +1,7 @@ --- title: 小妙招 -sidebar_position: 5 --- -# 小妙招 - ## 网页版可视化编辑器 ```text diff --git a/src/content/docs/java/process/plugin/management-tool/permission/what-is-permission.md b/src/content/docs/java/process/plugin/management-tool/permission/what-is-permission.md index d64b7f697..8f447b7ee 100644 --- a/src/content/docs/java/process/plugin/management-tool/permission/what-is-permission.md +++ b/src/content/docs/java/process/plugin/management-tool/permission/what-is-permission.md @@ -1,10 +1,7 @@ --- title: 什么是权限 -sidebar_position: 2 --- -# 什么是权限 - 举个栗子,你想要执行 Essentials 插件的 tpa 命令,那么你需要 `essentials.tpa` 这个权限。 :::note diff --git a/src/content/docs/java/process/plugin/management-tool/plugin-management/plugin-management.md b/src/content/docs/java/process/plugin/management-tool/plugin-management/intro.md similarity index 62% rename from src/content/docs/java/process/plugin/management-tool/plugin-management/plugin-management.md rename to src/content/docs/java/process/plugin/management-tool/plugin-management/intro.md index 23f869dd0..3f1f3235a 100644 --- a/src/content/docs/java/process/plugin/management-tool/plugin-management/plugin-management.md +++ b/src/content/docs/java/process/plugin/management-tool/plugin-management/intro.md @@ -1,15 +1,7 @@ --- -title: 插件管理 -slug: /PluginMagagement -sidebar_position: 4 +title: 概述 --- -# 插件管理 - 插件管理指可以在服务器已经开启时加载,卸载其他插件的插件。 如果可以的话,不要使用此类插件来加载其他插件,多数插件并不支持热重载,即使热重载了也容易出问题。 - -import DocCardList from '@theme/DocCardList'; - - diff --git a/src/content/docs/java/process/plugin/management-tool/plugin-management/plugin-portal.md b/src/content/docs/java/process/plugin/management-tool/plugin-management/plugin-portal.md index 955ab9ef7..c6b29023d 100644 --- a/src/content/docs/java/process/plugin/management-tool/plugin-management/plugin-portal.md +++ b/src/content/docs/java/process/plugin/management-tool/plugin-management/plugin-portal.md @@ -1,10 +1,7 @@ --- title: Plugin Portal -sidebar_position: 4 --- -# Plugin Portal - :::info `SpigotMC` https://www.spigotmc.org/resources/.108700/ diff --git a/src/content/docs/java/process/plugin/management-tool/plugin-management/plugmanx.md b/src/content/docs/java/process/plugin/management-tool/plugin-management/plugmanx.md index 3ba5e270b..a71fbe8a6 100644 --- a/src/content/docs/java/process/plugin/management-tool/plugin-management/plugmanx.md +++ b/src/content/docs/java/process/plugin/management-tool/plugin-management/plugmanx.md @@ -1,10 +1,7 @@ --- title: PlugMan -sidebar_position: 2 --- -# PlugMan - :::info `Bukkit (旧)` https://dev.bukkit.org/projects/plugman diff --git a/src/content/docs/java/process/plugin/management-tool/plugin-management/serverutils.md b/src/content/docs/java/process/plugin/management-tool/plugin-management/serverutils.md index 379022a33..6cf26c2b8 100644 --- a/src/content/docs/java/process/plugin/management-tool/plugin-management/serverutils.md +++ b/src/content/docs/java/process/plugin/management-tool/plugin-management/serverutils.md @@ -1,10 +1,7 @@ --- title: ServerUtils -sidebar_position: 3 --- -# ServerUtils - :::info `SpigotMC` https://www.spigotmc.org/resources/.79599/ diff --git a/src/content/docs/java/process/plugin/management-tool/plugin-management/yum.md b/src/content/docs/java/process/plugin/management-tool/plugin-management/yum.md index 524833e47..720f26dd5 100644 --- a/src/content/docs/java/process/plugin/management-tool/plugin-management/yum.md +++ b/src/content/docs/java/process/plugin/management-tool/plugin-management/yum.md @@ -1,10 +1,7 @@ --- title: Yum -sidebar_position: 1 --- -# Yum - 连作者自己都骂的垃圾插件,不要使用。 并且此系列插件还被爆后门:https://lezi.8aka.org/article/%E5%9C%9F%E7%9A%87%E5%B8%9D%E5%96%B5 diff --git a/src/content/docs/java/process/plugin/management-tool/task/beautyquests.md b/src/content/docs/java/process/plugin/management-tool/task/beautyquests.md index 6f49975fb..007f31e3f 100644 --- a/src/content/docs/java/process/plugin/management-tool/task/beautyquests.md +++ b/src/content/docs/java/process/plugin/management-tool/task/beautyquests.md @@ -1,10 +1,7 @@ --- title: BeautyQuests -sidebar_position: 6 --- -# BeautyQuests - :::info `SpigotMC` https://www.spigotmc.org/resources/.39255 diff --git a/src/content/docs/java/process/plugin/management-tool/task/betonquest.md b/src/content/docs/java/process/plugin/management-tool/task/betonquest.md index d945682ce..b7637a5eb 100644 --- a/src/content/docs/java/process/plugin/management-tool/task/betonquest.md +++ b/src/content/docs/java/process/plugin/management-tool/task/betonquest.md @@ -1,10 +1,7 @@ --- title: BetonQuest -sidebar_position: 4 --- -# BetonQuest - :::info `SpigotMC` https://www.spigotmc.org/resources/.2117 diff --git a/src/content/docs/java/process/plugin/management-tool/task/chemdah.md b/src/content/docs/java/process/plugin/management-tool/task/chemdah.md index bcff3ad35..aacd521ae 100644 --- a/src/content/docs/java/process/plugin/management-tool/task/chemdah.md +++ b/src/content/docs/java/process/plugin/management-tool/task/chemdah.md @@ -1,10 +1,7 @@ --- title: Chemdah -sidebar_position: 1 --- -# Chemdah - ![](https://img.fastmirror.net/s/2024/10/18/67124f5bb2728.png) ## 链接 diff --git a/src/content/docs/java/process/plugin/management-tool/task/intro.md b/src/content/docs/java/process/plugin/management-tool/task/intro.md new file mode 100644 index 000000000..4b525fe10 --- /dev/null +++ b/src/content/docs/java/process/plugin/management-tool/task/intro.md @@ -0,0 +1,5 @@ +--- +title: 概述 +--- + +任务插件用于创建和管理玩家任务,提升游戏互动性和趣味性。常见功能包括任务发布、任务追踪、奖励发放等,帮助服务器管理员更好地组织玩家活动。 diff --git a/src/content/docs/java/process/plugin/management-tool/task/mangoquest.md b/src/content/docs/java/process/plugin/management-tool/task/mangoquest.md index 2dbc551ec..09b194bb2 100644 --- a/src/content/docs/java/process/plugin/management-tool/task/mangoquest.md +++ b/src/content/docs/java/process/plugin/management-tool/task/mangoquest.md @@ -1,10 +1,7 @@ --- title: MangoQuest -sidebar_position: 8 --- -# MangoQuest - :::info `GitHub` https://github.com/Cutiemango/MangoQuest diff --git a/src/content/docs/java/process/plugin/management-tool/task/playertask.md b/src/content/docs/java/process/plugin/management-tool/task/playertask.md index 65ac257ea..d5f238597 100644 --- a/src/content/docs/java/process/plugin/management-tool/task/playertask.md +++ b/src/content/docs/java/process/plugin/management-tool/task/playertask.md @@ -1,10 +1,7 @@ --- title: PlayerTask -sidebar_position: 9 --- -# PlayerTask - 米饭的任务,嗯草数据库不能用文本编辑器写任务,必须用它那个 GUI,功能又少 作者剽窃国外作者开源的插件,声称是自己的作品并公开售卖 diff --git a/src/content/docs/java/process/plugin/management-tool/task/questcreator.md b/src/content/docs/java/process/plugin/management-tool/task/questcreator.md index 9dc7e7288..7e89533d6 100644 --- a/src/content/docs/java/process/plugin/management-tool/task/questcreator.md +++ b/src/content/docs/java/process/plugin/management-tool/task/questcreator.md @@ -1,10 +1,7 @@ --- title: QuestCreator -sidebar_position: 7 --- -# QuestCreator - :::info `SpigotMC` https://www.spigotmc.org/resources/.38734 diff --git a/src/content/docs/java/process/plugin/management-tool/task/questengine.md b/src/content/docs/java/process/plugin/management-tool/task/questengine.md index eef023147..81877260e 100644 --- a/src/content/docs/java/process/plugin/management-tool/task/questengine.md +++ b/src/content/docs/java/process/plugin/management-tool/task/questengine.md @@ -1,10 +1,7 @@ --- title: QuestEngine -sidebar_position: 3 --- -# QuestEngine - :::info `文档` https://iplugin.hiusers.com/docs/quest diff --git a/src/content/docs/java/process/plugin/management-tool/task/quests.md b/src/content/docs/java/process/plugin/management-tool/task/quests.md index bac5b405e..a0987cd4b 100644 --- a/src/content/docs/java/process/plugin/management-tool/task/quests.md +++ b/src/content/docs/java/process/plugin/management-tool/task/quests.md @@ -1,10 +1,7 @@ --- title: Quests -sidebar_position: 5 --- -# Quests - :::info `Bukkit` https://dev.bukkit.org/projects/quests diff --git a/src/content/docs/java/process/plugin/management-tool/task/task.md b/src/content/docs/java/process/plugin/management-tool/task/task.md deleted file mode 100644 index 12926739d..000000000 --- a/src/content/docs/java/process/plugin/management-tool/task/task.md +++ /dev/null @@ -1,56 +0,0 @@ ---- -title: 任务插件 -slug: /task -sidebar_position: 9 ---- - -# 任务插件 - - - - - - - - - -import DocCardList from '@theme/DocCardList'; - - diff --git a/src/content/docs/java/process/plugin/management-tool/task/typewriter.md b/src/content/docs/java/process/plugin/management-tool/task/typewriter.md index 0335f0225..101084a5f 100644 --- a/src/content/docs/java/process/plugin/management-tool/task/typewriter.md +++ b/src/content/docs/java/process/plugin/management-tool/task/typewriter.md @@ -1,10 +1,7 @@ --- title: TypeWriter -sidebar_position: 2 --- -# TypeWriter - ![](_assets/TypeWriter/TW_Banner_Transparant.png) [![Discord](https://img.shields.io/discord/1054708062520360960?label=discord&logo=discord&logoColor=white)](https://discord.gg/HtbKyuDDBw) diff --git a/src/content/docs/java/process/plugin/misc/holograms/decentholograms.md b/src/content/docs/java/process/plugin/misc/holograms/decentholograms.md index e724905f1..af42b0524 100644 --- a/src/content/docs/java/process/plugin/misc/holograms/decentholograms.md +++ b/src/content/docs/java/process/plugin/misc/holograms/decentholograms.md @@ -1,10 +1,7 @@ --- title: DecentHolograms -sidebar_position: 2 --- -# DecentHolograms - [![Release](https://img.shields.io/github/v/release/DecentSoftware-eu/DecentHolograms)](https://github.com/DecentSoftware-eu/DecentHolograms/releases) [![Downloads](https://img.shields.io/spiget/downloads/96927?label=Downloads)](https://www.spigotmc.org/resources/.96927) [![Code Size](https://img.shields.io/github/languages/code-size/DecentSoftware-eu/DecentHolograms)](https://github.com/DecentSoftware-eu/DecentHolograms) diff --git a/src/content/docs/java/process/plugin/misc/holograms/holographicdisplays.md b/src/content/docs/java/process/plugin/misc/holograms/holographicdisplays.md index 60d5fc585..a61702dd0 100644 --- a/src/content/docs/java/process/plugin/misc/holograms/holographicdisplays.md +++ b/src/content/docs/java/process/plugin/misc/holograms/holographicdisplays.md @@ -1,10 +1,7 @@ --- title: HolographicDisplays -sidebar_position: 3 --- -# HolographicDisplays - :::info `Bukkit` https://dev.bukkit.org/projects/holographic-displays diff --git a/src/content/docs/java/process/plugin/misc/holograms/holograms.md b/src/content/docs/java/process/plugin/misc/holograms/intro.md similarity index 58% rename from src/content/docs/java/process/plugin/misc/holograms/holograms.md rename to src/content/docs/java/process/plugin/misc/holograms/intro.md index 38ef38376..0f593df42 100644 --- a/src/content/docs/java/process/plugin/misc/holograms/holograms.md +++ b/src/content/docs/java/process/plugin/misc/holograms/intro.md @@ -1,10 +1,8 @@ --- -title: 全息图/浮空字 -slug: /Plugins/OtherPlugin/Holograms -sidebar_position: 1 +title: 概述 --- -# 啥是全息图? +## 啥是全息图? 如图,图中的悬浮字,还有包括展示的实体和物品,都算全息图。 @@ -13,7 +11,3 @@ sidebar_position: 1 ![](_assets/holo.png) 全息图用途很广,很多服务器都会使用全息图插件。 - -import DocCardList from '@theme/DocCardList'; - - diff --git a/src/content/docs/java/process/plugin/misc/intro.md b/src/content/docs/java/process/plugin/misc/intro.md new file mode 100644 index 000000000..d96c51691 --- /dev/null +++ b/src/content/docs/java/process/plugin/misc/intro.md @@ -0,0 +1,5 @@ +--- +title: 概述 +--- + +有一些插件不好分类,暂时先放在这里。 diff --git a/src/content/docs/java/process/plugin/misc/login/authme.md b/src/content/docs/java/process/plugin/misc/login/authme.md index 303099550..1d124c86a 100644 --- a/src/content/docs/java/process/plugin/misc/login/authme.md +++ b/src/content/docs/java/process/plugin/misc/login/authme.md @@ -1,10 +1,7 @@ --- title: Authme -sidebar_position: 2 --- -# Authme - :::info `Bukkit` https://dev.bukkit.org/projects/authme-reloaded diff --git a/src/content/docs/java/process/plugin/misc/login/catseedlogin.md b/src/content/docs/java/process/plugin/misc/login/catseedlogin.md index 38aa908a7..3c2f7e76a 100644 --- a/src/content/docs/java/process/plugin/misc/login/catseedlogin.md +++ b/src/content/docs/java/process/plugin/misc/login/catseedlogin.md @@ -1,10 +1,7 @@ --- title: CatSeedLogin -sidebar_position: 3 --- -# CatSeedLogin - :::info `GitHub` https://github.com/CatSeed/CatSeedLogin diff --git a/src/content/docs/java/process/plugin/misc/login/login.md b/src/content/docs/java/process/plugin/misc/login/intro.md similarity index 65% rename from src/content/docs/java/process/plugin/misc/login/login.md rename to src/content/docs/java/process/plugin/misc/login/intro.md index 3f815374e..3efe70dbb 100644 --- a/src/content/docs/java/process/plugin/misc/login/login.md +++ b/src/content/docs/java/process/plugin/misc/login/intro.md @@ -1,17 +1,9 @@ --- title: 登录 -slug: /Plugins/OtherPlugin/Login -sidebar_position: 3 --- -# 登录插件 - 一般只有 **非正版** 服务器才需要登录插件。 如果你想要正版玩家跳过登陆,试试登陆插件与 [FastLogin](https://www.spigotmc.org/resources/.14153) 插件搭配使用。 常见的登录插件有: - -import DocCardList from '@theme/DocCardList'; - - diff --git a/src/content/docs/java/process/plugin/misc/login/librelogin.md b/src/content/docs/java/process/plugin/misc/login/librelogin.md index 58e72e961..a66a1d1f6 100644 --- a/src/content/docs/java/process/plugin/misc/login/librelogin.md +++ b/src/content/docs/java/process/plugin/misc/login/librelogin.md @@ -1,10 +1,7 @@ --- title: LibreLogin -sidebar_position: 5 --- -# LibreLogin - :::info `SpigotMC` https://www.spigotmc.org/resources/.101040 diff --git a/src/content/docs/java/process/plugin/misc/login/limboauth.md b/src/content/docs/java/process/plugin/misc/login/limboauth.md index 02b7e932c..84fa1ec04 100644 --- a/src/content/docs/java/process/plugin/misc/login/limboauth.md +++ b/src/content/docs/java/process/plugin/misc/login/limboauth.md @@ -1,10 +1,7 @@ --- title: LimboAuth -sidebar_position: 4 --- -# LimboAuth - :::info `SpigotMC` https://www.spigotmc.org/resources/.95748 diff --git a/src/content/docs/java/process/plugin/misc/menu/chestcommands.md b/src/content/docs/java/process/plugin/misc/menu/chestcommands.md index 4b32c9e0e..f372bbfc6 100644 --- a/src/content/docs/java/process/plugin/misc/menu/chestcommands.md +++ b/src/content/docs/java/process/plugin/misc/menu/chestcommands.md @@ -1,10 +1,7 @@ --- title: ChestCommands -sidebar_position: 2 --- -# ChestCommands - :::info `Bukkit` https://dev.bukkit.org/projects/chest-commands diff --git a/src/content/docs/java/process/plugin/misc/menu/deluxemenus.md b/src/content/docs/java/process/plugin/misc/menu/deluxemenus.md index 167b13a8d..c67ffd080 100644 --- a/src/content/docs/java/process/plugin/misc/menu/deluxemenus.md +++ b/src/content/docs/java/process/plugin/misc/menu/deluxemenus.md @@ -1,10 +1,7 @@ --- title: DeluxeMenus -sidebar_position: 3 --- -# DeluxeMenus - :::info `SpigotMC` https://www.spigotmc.org/resources/deluxemenus.11734/ diff --git a/src/content/docs/java/process/plugin/misc/menu/menu.md b/src/content/docs/java/process/plugin/misc/menu/intro.md similarity index 79% rename from src/content/docs/java/process/plugin/misc/menu/menu.md rename to src/content/docs/java/process/plugin/misc/menu/intro.md index c2af880a7..26c5c6332 100644 --- a/src/content/docs/java/process/plugin/misc/menu/menu.md +++ b/src/content/docs/java/process/plugin/misc/menu/intro.md @@ -1,11 +1,7 @@ --- -title: 菜单 -slug: /Plugins/OtherPlugin/Menu -sidebar_position: 2 +title: 概述 --- -# 概览 - 以功能从弱到强排序 ChestCommands < DeluxeMenus < TrMenu diff --git a/src/content/docs/java/process/plugin/misc/menu/invero.md b/src/content/docs/java/process/plugin/misc/menu/invero.md index e34d3bef6..60f178ff1 100644 --- a/src/content/docs/java/process/plugin/misc/menu/invero.md +++ b/src/content/docs/java/process/plugin/misc/menu/invero.md @@ -1,9 +1,7 @@ --- -sidebar_position: 5 +title: Invero --- -# Invero - ## ![介绍](https://www.minebbs.com/attachments/1741419658873-webp.92935) ### 生成器 diff --git a/src/content/docs/java/process/plugin/misc/menu/trmenu.md b/src/content/docs/java/process/plugin/misc/menu/trmenu.md index 740cfa7ea..2f2a07a25 100644 --- a/src/content/docs/java/process/plugin/misc/menu/trmenu.md +++ b/src/content/docs/java/process/plugin/misc/menu/trmenu.md @@ -1,10 +1,7 @@ --- title: TrMenu -sidebar_position: 4 --- -# TrMenu - ![](https://gitee.com/postyizhan/images-hosting/releases/download/gif/animation.gif) [![Release](https://img.shields.io/github/v/release/CoderKuo/TrMenu)](https://github.com/CoderKuo/TrMenu/releases) diff --git a/src/content/docs/java/process/plugin/misc/misc.md b/src/content/docs/java/process/plugin/misc/misc.md deleted file mode 100644 index bd715eff0..000000000 --- a/src/content/docs/java/process/plugin/misc/misc.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 其他插件 -slug: /OtherPlugin -sidebar_position: 7 ---- - -# 其他插件 - -有一些插件不好分类,暂时先放在这里。 - -import DocCardList from '@theme/DocCardList'; - - diff --git a/src/content/docs/java/process/plugin/misc/money.md b/src/content/docs/java/process/plugin/misc/money.md index af418dab4..7ac197702 100644 --- a/src/content/docs/java/process/plugin/misc/money.md +++ b/src/content/docs/java/process/plugin/misc/money.md @@ -1,9 +1,5 @@ --- -title: money -sidebar_position: 7 -sidebar_label: 充值插件 +title: 充值插件 --- -# 充值插件 - 本文档不会介绍和收录此类插件 diff --git a/src/content/docs/java/process/plugin/misc/motd/intro.md b/src/content/docs/java/process/plugin/misc/motd/intro.md new file mode 100644 index 000000000..690a1520b --- /dev/null +++ b/src/content/docs/java/process/plugin/misc/motd/intro.md @@ -0,0 +1,5 @@ +--- +title: 概述 +--- + +用于展示原版难以做到的渐变、随机、伪造人数等功能的 MOTD 插件。 diff --git a/src/content/docs/java/process/plugin/misc/motd/minimotd.md b/src/content/docs/java/process/plugin/misc/motd/minimotd.md index cc8c65080..be029e3e0 100644 --- a/src/content/docs/java/process/plugin/misc/motd/minimotd.md +++ b/src/content/docs/java/process/plugin/misc/motd/minimotd.md @@ -1,10 +1,7 @@ --- title: MiniMOTD -sidebar_position: 2 --- -# MiniMOTD - :::info `SpigotMC` https://www.spigotmc.org/resources/.81254/ diff --git a/src/content/docs/java/process/plugin/misc/motd/motd.md b/src/content/docs/java/process/plugin/misc/motd/motd.md deleted file mode 100644 index d936908ac..000000000 --- a/src/content/docs/java/process/plugin/misc/motd/motd.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: MOTD -slug: /Plugins/OtherPlugin/MOTD -sidebar_position: 5 ---- - -# MOTD - -用于展示原版难以做到的渐变、随机、伪造人数等功能的 MOTD 插件。 - -import DocCardList from '@theme/DocCardList'; - - diff --git a/src/content/docs/java/process/plugin/misc/mythicmobs.md b/src/content/docs/java/process/plugin/misc/mythicmobs.md index efd15f2ce..77b682ad2 100644 --- a/src/content/docs/java/process/plugin/misc/mythicmobs.md +++ b/src/content/docs/java/process/plugin/misc/mythicmobs.md @@ -1,11 +1,7 @@ --- -title: MythicMobs -sidebar_position: 9 -sidebar_label: 实体 - MythicMobs +title: 实体 - MythicMobs --- -# MythicMobs - :::info `mythiccraft` https://mythiccraft.io/index.php?resources/.1/ diff --git a/src/content/docs/java/process/plugin/misc/npc/adyeshach.md b/src/content/docs/java/process/plugin/misc/npc/adyeshach.md index c6bb981fc..69b484d16 100644 --- a/src/content/docs/java/process/plugin/misc/npc/adyeshach.md +++ b/src/content/docs/java/process/plugin/misc/npc/adyeshach.md @@ -1,9 +1,7 @@ --- -sidebar_position: 4 +title: Adyeshach --- -# Adyeshach - ![](_assets/Adyeshach/Adyeshach-1.png) [![Forks](https://img.shields.io/github/forks/taboolib/adyeshach)](https://github.com/TabooLib/adyeshach) diff --git a/src/content/docs/java/process/plugin/misc/npc/citizens.md b/src/content/docs/java/process/plugin/misc/npc/citizens.md index 7ec18d24a..bf14e9bc2 100644 --- a/src/content/docs/java/process/plugin/misc/npc/citizens.md +++ b/src/content/docs/java/process/plugin/misc/npc/citizens.md @@ -1,10 +1,7 @@ --- title: Citizens -sidebar_position: 2 --- -# Citizens - ![](_assets/Citizens/Citizens-1.png) [![Forks](https://img.shields.io/github/forks/CitizensDev/Citizens2?style=flat)](https://github.com/CitizensDev/Citizens2) diff --git a/src/content/docs/java/process/plugin/misc/npc/npc.md b/src/content/docs/java/process/plugin/misc/npc/intro.md similarity index 89% rename from src/content/docs/java/process/plugin/misc/npc/npc.md rename to src/content/docs/java/process/plugin/misc/npc/intro.md index d7f36df15..24644ba32 100644 --- a/src/content/docs/java/process/plugin/misc/npc/npc.md +++ b/src/content/docs/java/process/plugin/misc/npc/intro.md @@ -1,11 +1,7 @@ --- title: NPC -slug: /Plugins/OtherPlugin/NPC -sidebar_position: 6 --- -# 概览 - :::danger **混合端不建议使用 NPC 插件** diff --git a/src/content/docs/java/process/plugin/misc/npc/znpcsplus.md b/src/content/docs/java/process/plugin/misc/npc/znpcsplus.md index 8a9f0fec1..00c7834d0 100644 --- a/src/content/docs/java/process/plugin/misc/npc/znpcsplus.md +++ b/src/content/docs/java/process/plugin/misc/npc/znpcsplus.md @@ -1,10 +1,7 @@ --- title: ZNPCsPlus -sidebar_position: 5 --- -# ZNPCsPlus - :::info `SpigotMC` https://www.spigotmc.org/resources/znpcsplus.109380/ diff --git a/src/content/docs/java/process/plugin/misc/quickshop.md b/src/content/docs/java/process/plugin/misc/quickshop.md index 430a7a0be..7c87ef21c 100644 --- a/src/content/docs/java/process/plugin/misc/quickshop.md +++ b/src/content/docs/java/process/plugin/misc/quickshop.md @@ -1,7 +1,5 @@ --- -title: QuickShop -sidebar_position: 10 -sidebar_label: 商店 - QuickShop +title: 商店 - QuickShop --- diff --git a/src/content/docs/java/process/plugin/misc/skinsrestorer.md b/src/content/docs/java/process/plugin/misc/skinsrestorer.md index fa05beb04..b24916d62 100644 --- a/src/content/docs/java/process/plugin/misc/skinsrestorer.md +++ b/src/content/docs/java/process/plugin/misc/skinsrestorer.md @@ -1,11 +1,7 @@ --- title: SkinsRestorer -sidebar_position: 8 -sidebar_label: 皮肤 - SkinsRestorer --- -# SkinsRestorer - :::info `官网` https://skinsrestorer.net diff --git a/src/content/docs/java/process/plugin/misc/tab-scoreboard/tab-scoreboard.md b/src/content/docs/java/process/plugin/misc/tab-scoreboard/intro.md similarity index 73% rename from src/content/docs/java/process/plugin/misc/tab-scoreboard/tab-scoreboard.md rename to src/content/docs/java/process/plugin/misc/tab-scoreboard/intro.md index eb2806b2f..86de536fa 100644 --- a/src/content/docs/java/process/plugin/misc/tab-scoreboard/tab-scoreboard.md +++ b/src/content/docs/java/process/plugin/misc/tab-scoreboard/intro.md @@ -1,11 +1,7 @@ --- -slug: /Plugins/OtherPlugin/Tab&Scoreboard -title: Tab 及计分板 -sidebar_position: 1 +title: 概述 --- -# 概览 - ## 啥是 TAB? 你按下 TAB 键会出现的玩家列表 diff --git a/src/content/docs/java/process/plugin/misc/tab-scoreboard/simplescore.md b/src/content/docs/java/process/plugin/misc/tab-scoreboard/simplescore.md index 9f3763d31..153fdf615 100644 --- a/src/content/docs/java/process/plugin/misc/tab-scoreboard/simplescore.md +++ b/src/content/docs/java/process/plugin/misc/tab-scoreboard/simplescore.md @@ -1,10 +1,7 @@ --- title: SimpleScore -sidebar_position: 4 --- -# SimpleScore - ![](_assets/SimpleScore/SimpleScore.png) [![Latest Release](https://img.shields.io/github/v/release/r4g3baby/SimpleScore)](https://github.com/r4g3baby/SimpleScore/releases/latest) diff --git a/src/content/docs/java/process/plugin/misc/tab-scoreboard/tab.md b/src/content/docs/java/process/plugin/misc/tab-scoreboard/tab.md index d48e17b2f..2c64f03a4 100644 --- a/src/content/docs/java/process/plugin/misc/tab-scoreboard/tab.md +++ b/src/content/docs/java/process/plugin/misc/tab-scoreboard/tab.md @@ -1,10 +1,7 @@ --- title: TAB -sidebar_position: 2 --- -# TAB - [![Releases](https://img.shields.io/github/v/release/NEZNAMY/TAB)](https://github.com/NEZNAMY/TAB/releases) [![Downloads](https://img.shields.io/spiget/downloads/57806?label=Downloads)](https://www.spigotmc.org/resources/.57806) [![Code Size](https://img.shields.io/github/languages/code-size/NEZNAMY/TAB)](https://github.com/NEZNAMY/TAB) diff --git a/src/content/docs/java/process/plugin/misc/tab-scoreboard/titlemanager.md b/src/content/docs/java/process/plugin/misc/tab-scoreboard/titlemanager.md index 28f8069b7..eda56a693 100644 --- a/src/content/docs/java/process/plugin/misc/tab-scoreboard/titlemanager.md +++ b/src/content/docs/java/process/plugin/misc/tab-scoreboard/titlemanager.md @@ -1,10 +1,7 @@ --- title: TitleManager -sidebar_position: 3 --- -# TitleManager - ![](_assets/TitleManager/1.gif) 在 SpigotMC 下载量很高的计分板插件 diff --git a/src/content/docs/java/process/plugin/misc/via/via.md b/src/content/docs/java/process/plugin/misc/via/intro.md similarity index 97% rename from src/content/docs/java/process/plugin/misc/via/via.md rename to src/content/docs/java/process/plugin/misc/via/intro.md index f0175ecda..e6161f895 100644 --- a/src/content/docs/java/process/plugin/misc/via/via.md +++ b/src/content/docs/java/process/plugin/misc/via/intro.md @@ -1,10 +1,8 @@ --- -slug: /Plugins/OtherPlugin/Via -title: 跨版本 -sidebar_position: 4 +title: 概述 --- -# 什么是跨版本 +## 什么是跨版本 跨版本就是可以让不同于服务器版本的客户端版本进入服务器,比如服务器版本为 1.20.1,安装跨版本之后可以让 1.19.4 的客户端进入服务器 diff --git a/src/content/docs/java/process/plugin/misc/via/more-for-via.md b/src/content/docs/java/process/plugin/misc/via/more-for-via.md index dec6a4051..3e47d02d4 100644 --- a/src/content/docs/java/process/plugin/misc/via/more-for-via.md +++ b/src/content/docs/java/process/plugin/misc/via/more-for-via.md @@ -1,9 +1,7 @@ --- -sidebar_position: 5 +title: Via 进阶 --- -# Via 进阶 - 学会更多关于 via 的知识 ## AxSmithing diff --git a/src/content/docs/java/process/plugin/misc/via/viabackwards.md b/src/content/docs/java/process/plugin/misc/via/viabackwards.md index 6282c45c8..71ced31bc 100644 --- a/src/content/docs/java/process/plugin/misc/via/viabackwards.md +++ b/src/content/docs/java/process/plugin/misc/via/viabackwards.md @@ -1,10 +1,7 @@ --- title: ViaBackwards -sidebar_position: 3 --- -# ViaBackwards - :::info `SpigotMC` https://www.spigotmc.org/resources/.27448 diff --git a/src/content/docs/java/process/plugin/misc/via/viarewind.md b/src/content/docs/java/process/plugin/misc/via/viarewind.md index 2b3d1bd4b..f8e3190a6 100644 --- a/src/content/docs/java/process/plugin/misc/via/viarewind.md +++ b/src/content/docs/java/process/plugin/misc/via/viarewind.md @@ -1,9 +1,7 @@ --- -sidebar_position: 4 +title: ViaRewind --- -# ViaRewind - :::info `SpigotMC` https://www.spigotmc.org/resources/.52109 diff --git a/src/content/docs/java/process/plugin/misc/via/viaversion.md b/src/content/docs/java/process/plugin/misc/via/viaversion.md index 768364ef8..c3d6d942a 100644 --- a/src/content/docs/java/process/plugin/misc/via/viaversion.md +++ b/src/content/docs/java/process/plugin/misc/via/viaversion.md @@ -1,10 +1,7 @@ --- title: ViaVersion -sidebar_position: 2 --- -# ViaVersion - :::info `SpigotMC` https://www.spigotmc.org/resources/.19254 diff --git a/src/content/docs/java/process/plugin/more/color-message.md b/src/content/docs/java/process/plugin/more/color-message.md index 5e2a1e632..b62131516 100644 --- a/src/content/docs/java/process/plugin/more/color-message.md +++ b/src/content/docs/java/process/plugin/more/color-message.md @@ -1,10 +1,7 @@ --- title: 颜色代码 -sidebar_position: 7 --- -# 颜色代码 - 改变你服务器中信息的颜色! ## 格式化代码 diff --git a/src/content/docs/java/process/plugin/more/faq.md b/src/content/docs/java/process/plugin/more/faq.md index beecaac32..8dd8b1fa3 100644 --- a/src/content/docs/java/process/plugin/more/faq.md +++ b/src/content/docs/java/process/plugin/more/faq.md @@ -1,10 +1,7 @@ --- title: 常见问题 -sidebar_position: 8 --- -# 常见问题 - 一些常见的插件安装问题 ## 缺失依赖项 diff --git a/src/content/docs/java/process/plugin/more/intro.md b/src/content/docs/java/process/plugin/more/intro.md new file mode 100644 index 000000000..c9c15d0a8 --- /dev/null +++ b/src/content/docs/java/process/plugin/more/intro.md @@ -0,0 +1,5 @@ +--- +title: 概述 +--- + +和插件有关的一些页面。 diff --git a/src/content/docs/java/process/plugin/more/more.md b/src/content/docs/java/process/plugin/more/more.md deleted file mode 100644 index 65e18aefb..000000000 --- a/src/content/docs/java/process/plugin/more/more.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 更多页面 -slug: /more -sidebar_position: 1 ---- - -# 更多页面 - -和插件有关的一些页面。 - -import DocCardList from '@theme/DocCardList'; - - diff --git a/src/content/docs/java/process/plugin/more/plugin-abbreviation.md b/src/content/docs/java/process/plugin/more/plugin-abbreviation.md index dc8da02ca..8b7010a9e 100644 --- a/src/content/docs/java/process/plugin/more/plugin-abbreviation.md +++ b/src/content/docs/java/process/plugin/more/plugin-abbreviation.md @@ -1,10 +1,7 @@ --- title: 插件缩写 -sidebar_position: 4 --- -# 插件缩写 - **_请不要随便使用不知名插件的缩写!_** ## 缩写从何而来? diff --git a/src/content/docs/java/process/plugin/more/plugin-backdoor.md b/src/content/docs/java/process/plugin/more/plugin-backdoor.md index b11226122..78193f83f 100644 --- a/src/content/docs/java/process/plugin/more/plugin-backdoor.md +++ b/src/content/docs/java/process/plugin/more/plugin-backdoor.md @@ -1,10 +1,7 @@ --- title: 插件排毒 -sidebar_position: 5 --- -# 插件排毒 - :::danger 此工具不可能让你避开 100% 的风险 diff --git a/src/content/docs/java/process/plugin/more/plugin-build/github-actions-build.md b/src/content/docs/java/process/plugin/more/plugin-build/github-actions-build.md index e5810d681..02d55b541 100644 --- a/src/content/docs/java/process/plugin/more/plugin-build/github-actions-build.md +++ b/src/content/docs/java/process/plugin/more/plugin-build/github-actions-build.md @@ -1,10 +1,7 @@ --- title: 使用 GitHub Actions -sidebar_position: 6 --- -# 使用 GitHub Actions - ## 什么是 GitHub Actions? GitHub Actions 是 GitHub 提供的自动化工具,可以自动执行构建、测试和部署等任务。使用它可以让你的插件在每次代码更新时自动构建。 diff --git a/src/content/docs/java/process/plugin/more/plugin-build/idea-build.md b/src/content/docs/java/process/plugin/more/plugin-build/idea-build.md index aa3c53826..0af487e7c 100644 --- a/src/content/docs/java/process/plugin/more/plugin-build/idea-build.md +++ b/src/content/docs/java/process/plugin/more/plugin-build/idea-build.md @@ -1,10 +1,7 @@ --- title: 使用 IDEA -sidebar_position: 4 --- -# 使用 IDEA 构建 - ## 第一步:导入项目 1. 打开 IDEA diff --git a/src/content/docs/java/process/plugin/more/plugin-build/first.mdx b/src/content/docs/java/process/plugin/more/plugin-build/intro.mdx similarity index 90% rename from src/content/docs/java/process/plugin/more/plugin-build/first.mdx rename to src/content/docs/java/process/plugin/more/plugin-build/intro.mdx index 790677855..fb5ab16bd 100644 --- a/src/content/docs/java/process/plugin/more/plugin-build/first.mdx +++ b/src/content/docs/java/process/plugin/more/plugin-build/intro.mdx @@ -1,12 +1,9 @@ --- title: 概述 -sidebar_position: 2 --- -import StructureExplorer from "@site/src/components/StructureExplorer"; -import { mavenProjectStructure, gradleProjectStructure } from "@site/src/data/structures"; - -# 概述 +// import StructureExplorer from "@site/src/components/StructureExplorer"; +// import { mavenProjectStructure, gradleProjectStructure } from "@site/src/data/structures"; ## 什么是构建? @@ -72,11 +69,11 @@ import { mavenProjectStructure, gradleProjectStructure } from "@site/src/data/st #### Maven 项目结构 - +{/* */} #### Gradle 项目结构 - +{/* */} ### 重要文件说明 diff --git a/src/content/docs/java/process/plugin/more/plugin-build/mirror-config.md b/src/content/docs/java/process/plugin/more/plugin-build/mirror-config.md index 8c83cfeb4..74005e45c 100644 --- a/src/content/docs/java/process/plugin/more/plugin-build/mirror-config.md +++ b/src/content/docs/java/process/plugin/more/plugin-build/mirror-config.md @@ -1,10 +1,7 @@ --- title: 配置镜像源 -sidebar_position: 3 --- -# 配置镜像源 - 如果遇到依赖下载慢或无法下载的情况,可以通过配置镜像源来解决。 ## Maven 镜像配置 diff --git a/src/content/docs/java/process/plugin/more/plugin-build/plugin-build.md b/src/content/docs/java/process/plugin/more/plugin-build/plugin-build.md deleted file mode 100644 index c628a186d..000000000 --- a/src/content/docs/java/process/plugin/more/plugin-build/plugin-build.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 插件构建 -slug: /plugin-build -sidebar_position: 6 ---- - -# 插件构建 - -和插件构建有关的一些页面。 - -import DocCardList from '@theme/DocCardList'; - - diff --git a/src/content/docs/java/process/plugin/more/plugin-build/terminal-build.md b/src/content/docs/java/process/plugin/more/plugin-build/terminal-build.md index 4591b5842..50c2f9a64 100644 --- a/src/content/docs/java/process/plugin/more/plugin-build/terminal-build.md +++ b/src/content/docs/java/process/plugin/more/plugin-build/terminal-build.md @@ -1,10 +1,7 @@ --- title: 使用终端 -sidebar_position: 5 --- -# 使用终端 - ## 环境准备 ### 1. 安装 JDK diff --git a/src/content/docs/java/process/plugin/more/plugin-config.md b/src/content/docs/java/process/plugin/more/plugin-config.md index 25ec3687d..af1f335ae 100644 --- a/src/content/docs/java/process/plugin/more/plugin-config.md +++ b/src/content/docs/java/process/plugin/more/plugin-config.md @@ -1,9 +1,8 @@ --- title: 汉化插件 -sidebar_position: 2 --- -# 配置插件 +## 配置插件 插件的配置文件一般在 `/plugins/插件名字/` 文件夹中,常见的配置文件一般是 `config.yml` 。 diff --git a/src/content/docs/java/process/plugin/more/plugin-download.md b/src/content/docs/java/process/plugin/more/plugin-download.md index 96fba996f..4df49c47e 100644 --- a/src/content/docs/java/process/plugin/more/plugin-download.md +++ b/src/content/docs/java/process/plugin/more/plugin-download.md @@ -1,10 +1,7 @@ --- title: 插件下载 -sidebar_position: 1 --- -# 插件下载 - ## 选择插件 很好,相信你已经在 [可能用到的网站](../../../preparation/websites.md) 看到了很多链接,面对成千上万的插件我们应该如何进行选择呢? diff --git a/src/content/docs/java/process/plugin/more/plugin-signature-file.md b/src/content/docs/java/process/plugin/more/plugin-signature-file.md index afe218ddb..75dc4e46e 100644 --- a/src/content/docs/java/process/plugin/more/plugin-signature-file.md +++ b/src/content/docs/java/process/plugin/more/plugin-signature-file.md @@ -1,9 +1,8 @@ --- title: 特征文件 -sidebar_position: 3 --- -# plugin.yml +## plugin.yml 用解压缩软件打开插件的 jar 文件就可以看到 `plugin.yml`: @@ -27,83 +26,82 @@ sidebar_position: 3 下面是常见的一些键值: -## `name` +### `name` 插件的名字,也是会在插件列表 (`/pl`) 和日志中输出的信息中显示的插件名。 -## `version` +### `version` 插件版本,显示在 `/version 插件名` 中。 -## `main` +### `main` 插件主类,加载插件时运行的类的名称,类似正常程序中的 main 函数,服主不用管。 -## `description` +### `description` 简短描述插件的作用,会在 `/pl` 命令中鼠标悬浮在插件名称上时显示。 -## `authors` +### `authors` 插件作者,显示在 `/version 插件名` 中。 -## `contributors` +### `contributors` 贡献者,指非作者但为插件贡献了代码的人。 -## `website` +### `website` 插件相关的网站,显示在 `/version 插件名` 中。 -## `api-version` +### `api-version` 插件编译时使用的 API 版本,影响着 BukkitAPI 对插件提供的兼容性。 -## `load` +### `load` 这告诉服务器何时加载插件。它可以是 `STARTUP` 或 `POSTWORLD` 。如果未指定,将默认为 `POSTWORLD`。 -## `prefix` +### `prefix` 在服务器日志中显示的前缀,有别于插件名称。 -## `libraries` +### `libraries` 插件的依赖库表,不过这并不是前置插件的意思,而是插件开发时用到的依赖。 -## `permissions` +### `permissions` 插件权限相关。 -## `default-permission` +### `default-permission` 默认权限。 -## `commands` - +### `commands` 插件提供的命令。 -## Dependencies +### Dependencies [依赖关系](https://docs.papermc.io/paper/dev/plugin-yml#dependencies)。 -### `depend` +#### `depend` 硬依赖,必须安装。 -### `softdepend` +#### `softdepend` 软依赖,即不必须装的依赖。 -### `loadbefore` +#### `loadbefore` 在此列表中的插件加载前加载本插件。 -### `provides` +#### `provides` 告诉服务器本插件会提供哪些库或功能。 -## `folia-supported` +### `folia-supported` 当此项为 `true` 时,Folia 端才会尝试加载此插件。 @@ -121,6 +119,6 @@ Folia 端对 Bukkit API 的修改是破坏性的,你手动添加而不是插 ::: -# 参考 +## 参考 - https://docs.papermc.io/paper/dev/plugin-yml diff --git a/src/content/docs/java/process/plugin/more/tittle-tattle.md b/src/content/docs/java/process/plugin/more/tittle-tattle.md index 06fd11023..4e3b5bd2b 100644 --- a/src/content/docs/java/process/plugin/more/tittle-tattle.md +++ b/src/content/docs/java/process/plugin/more/tittle-tattle.md @@ -1,10 +1,7 @@ --- title: 杂谈 -sidebar_position: 9 --- -# 杂谈 - ## 付费>免费/开源? 并非如此! diff --git a/src/content/docs/java/advance/yaml/extention.md b/src/content/docs/java/process/plugin/more/yaml/extention.md similarity index 98% rename from src/content/docs/java/advance/yaml/extention.md rename to src/content/docs/java/process/plugin/more/yaml/extention.md index a3d9500b5..7a5235bb1 100644 --- a/src/content/docs/java/advance/yaml/extention.md +++ b/src/content/docs/java/process/plugin/more/yaml/extention.md @@ -1,10 +1,7 @@ --- title: 扩展 -sidebar_position: 3 --- -# 扩展 - ## 锚点 :::warning diff --git a/src/content/docs/java/advance/yaml/general.md b/src/content/docs/java/process/plugin/more/yaml/general.md similarity index 99% rename from src/content/docs/java/advance/yaml/general.md rename to src/content/docs/java/process/plugin/more/yaml/general.md index 7841276a5..b3f05bd66 100644 --- a/src/content/docs/java/advance/yaml/general.md +++ b/src/content/docs/java/process/plugin/more/yaml/general.md @@ -1,10 +1,7 @@ --- title: 基础 -sidebar_position: 2 --- -# 基础 - 假如你想更进一步,请继续阅读。 ## 数据类型 diff --git a/src/content/docs/java/advance/yaml/yaml.md b/src/content/docs/java/process/plugin/more/yaml/intro.md similarity index 88% rename from src/content/docs/java/advance/yaml/yaml.md rename to src/content/docs/java/process/plugin/more/yaml/intro.md index 699be2492..2b3ced405 100644 --- a/src/content/docs/java/advance/yaml/yaml.md +++ b/src/content/docs/java/process/plugin/more/yaml/intro.md @@ -1,10 +1,8 @@ --- -title: YAML -slug: /Sundry/YAML -sidebar_position: 2 +title: 概述 --- -# 概览 +你在大大小小的地方可能都见过 `.yml` 或者 `.yaml` 结尾的文件,比如服务器插件的配置文件。学会如何阅读和编写 YAML 文件对你管理服务器会有很大帮助。 ## 什么是 YAML? diff --git a/src/content/docs/java/process/plugin/plugin-dependencies/plugin-dependencies.md b/src/content/docs/java/process/plugin/plugin-dependencies/intro.md similarity index 61% rename from src/content/docs/java/process/plugin/plugin-dependencies/plugin-dependencies.md rename to src/content/docs/java/process/plugin/plugin-dependencies/intro.md index 0dabf082b..696099808 100644 --- a/src/content/docs/java/process/plugin/plugin-dependencies/plugin-dependencies.md +++ b/src/content/docs/java/process/plugin/plugin-dependencies/intro.md @@ -1,13 +1,7 @@ --- -title: 前置插件 -slug: /Front-Plugin -sidebar_position: 2 +title: 概述 --- 这里是通常被其他插件设定为前置的插件并且大众总是将其划为 **前置插件** 一类的插件 理论上,任何插件都可以被作为另一个插件的前置 - -import DocCardList from '@theme/DocCardList'; - - diff --git a/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/change-output.md b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/change-output.md index 75f5e263d..02709d0a9 100644 --- a/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/change-output.md +++ b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/change-output.md @@ -1,10 +1,7 @@ --- title: ChangeOutput -sidebar_position: 9 --- -# ChangeOutput - :::info `eCloud` https://api.extendedclip.com/expansions/changeoutput diff --git a/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/check-item.md b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/check-item.md index c89da5c33..b518aed26 100644 --- a/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/check-item.md +++ b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/check-item.md @@ -1,10 +1,7 @@ --- title: CheckItem -sidebar_position: 4 --- -# CheckItem - :::info 因高版本(1.20.4+)的 CheckItem 对 NBT 的检查存在问题,HelpChat Discord 上的 Blitz 及部分开发者对其进行了针对性修复,可从 [这里](https://cdn.discordapp.com/attachments/573429521554866178/1377020689734701086/Expansion-CheckItem.jar?ex=683abdb4&is=68396c34&hm=833ab3aa7e997a35c1f85df41a18b28467e432d28884408bf6ecd5adb7b7f775&)(外网链接)直接下载。 diff --git a/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/common-usage.md b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/common-usage.md index b6ddaffc5..abd7dcfd6 100644 --- a/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/common-usage.md +++ b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/common-usage.md @@ -1,10 +1,7 @@ --- title: 常用变量 -sidebar_position: 2 --- -# 常用变量 - 这里只列出 **部分** 扩展的 **部分** 变量,这几个变量老是有人问 如果你想了解全部变量,点击 [此处](https://continue-project.netlify.app/PlaceholderAPI/user-guides.placeholder-list.html) diff --git a/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/faq.md b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/faq.md index 5109ff0ef..025a38e8e 100644 --- a/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/faq.md +++ b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/faq.md @@ -1,10 +1,7 @@ --- title: 常见问题 -sidebar_position: 2 --- -# 常见问题 - ## 什么是变量? 这里指的变量是形似 `%player_name%`,即 `%xxx%` 的占位符 diff --git a/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/javascript.md b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/javascript.md index c30463b69..6f89edd38 100644 --- a/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/javascript.md +++ b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/javascript.md @@ -1,10 +1,7 @@ --- title: JavaScript -sidebar_position: 5 --- -# JavaScript - :::info `eCloud` https://api.extendedclip.com/expansions/javascript diff --git a/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/math.md b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/math.md index aa873f3c1..c76ff7313 100644 --- a/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/math.md +++ b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/math.md @@ -1,10 +1,7 @@ --- title: Math -sidebar_position: 3 --- -# Math - :::info `eCloud` https://api.extendedclip.com/expansions/math diff --git a/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/parse-other.md b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/parse-other.md index 39e9f4016..3d7501f0f 100644 --- a/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/parse-other.md +++ b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/parse-other.md @@ -1,10 +1,7 @@ --- title: ParseOther -sidebar_position: 8 --- -# ParseOther - :::info `eCloud` https://api.extendedclip.com/expansions/parseother diff --git a/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/placeholderapi.md b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/placeholderapi.md index 1a07d89bb..b49486e88 100644 --- a/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/placeholderapi.md +++ b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/placeholderapi.md @@ -1,13 +1,9 @@ --- title: PlaceHolderAPI -slug: /PlaceHolderAPI -sidebar_position: 1 --- -# PlaceHolderAPI - ![](_assets/PlaceHolderAPI/1.png)
    diff --git a/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/progress.md b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/progress.md index edd421f01..78d33663c 100644 --- a/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/progress.md +++ b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/progress.md @@ -1,10 +1,7 @@ --- title: Progress -sidebar_position: 7 --- -# Progress - :::info `eCloud` https://api.extendedclip.com/expansions/progress diff --git a/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/string.md b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/string.md index 58a1bd694..a4466ace4 100644 --- a/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/string.md +++ b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/string.md @@ -1,10 +1,7 @@ --- title: String -sidebar_position: 9 --- -# String - :::info `eCloud` https://api.extendedclip.com/expansions/string diff --git a/src/content/docs/java/process/plugin/plugin-dependencies/playerpoints.md b/src/content/docs/java/process/plugin/plugin-dependencies/playerpoints.md index b29c33fbe..19971dbc2 100644 --- a/src/content/docs/java/process/plugin/plugin-dependencies/playerpoints.md +++ b/src/content/docs/java/process/plugin/plugin-dependencies/playerpoints.md @@ -1,10 +1,7 @@ --- title: PlayerPoints -sidebar_position: 4 --- -# PlayerPoints - :::info `Bukkit (旧)` https://dev.bukkit.org/projects/playerpoints diff --git a/src/content/docs/java/process/plugin/plugin-dependencies/protocollib.md b/src/content/docs/java/process/plugin/plugin-dependencies/protocollib.md index 66ae1475b..44b3ba44e 100644 --- a/src/content/docs/java/process/plugin/plugin-dependencies/protocollib.md +++ b/src/content/docs/java/process/plugin/plugin-dependencies/protocollib.md @@ -1,10 +1,7 @@ --- title: ProtocolLib -sidebar_position: 5 --- -# ProtocolLib - :::info `Bukkit (旧)` https://dev.bukkit.org/projects/protocollib diff --git a/src/content/docs/java/process/plugin/plugin-dependencies/vault/vault.md b/src/content/docs/java/process/plugin/plugin-dependencies/vault/intro.md similarity index 95% rename from src/content/docs/java/process/plugin/plugin-dependencies/vault/vault.md rename to src/content/docs/java/process/plugin/plugin-dependencies/vault/intro.md index 6ff7203cb..be428c025 100644 --- a/src/content/docs/java/process/plugin/plugin-dependencies/vault/vault.md +++ b/src/content/docs/java/process/plugin/plugin-dependencies/vault/intro.md @@ -1,11 +1,7 @@ --- -title: Vault -slug: Vault -sidebar_position: 2 +title: 概述 --- -# Vault - :::info `Bukkit` https://dev.bukkit.org/projects/vault diff --git a/src/content/docs/java/process/plugin/plugin-dependencies/vault/serviceio.md b/src/content/docs/java/process/plugin/plugin-dependencies/vault/serviceio.md index 17b8a12a4..d91fe989b 100644 --- a/src/content/docs/java/process/plugin/plugin-dependencies/vault/serviceio.md +++ b/src/content/docs/java/process/plugin/plugin-dependencies/vault/serviceio.md @@ -1,10 +1,7 @@ --- title: ServiceIO -sidebar_position: 2 --- -# ServiceIO - [![](https://img.shields.io/github/v/release/TheNextLvl-net/service-io)](https://github.com/TheNextLvl-net/service-io/releases) [![](https://img.shields.io/github/languages/code-size/TheNextLvl-net/service-io)](https://github.com/TheNextLvl-net/service-io) [![](https://img.shields.io/github/license/TheNextLvl-net/service-io)](https://github.com/TheNextLvl-net/service-io/blob/main/LICENSE) diff --git a/src/content/docs/java/process/plugin/plugin-dependencies/vault/vaultunlocked.md b/src/content/docs/java/process/plugin/plugin-dependencies/vault/vaultunlocked.md index c27f66f98..2c82221ab 100644 --- a/src/content/docs/java/process/plugin/plugin-dependencies/vault/vaultunlocked.md +++ b/src/content/docs/java/process/plugin/plugin-dependencies/vault/vaultunlocked.md @@ -1,10 +1,7 @@ --- title: VaultUnlocked -sidebar_position: 1 --- -# VaultUnlocked - Vault 的分支版本,提供更多功能 ## 安装 diff --git a/src/content/docs/java/process/plugin/plugin-dependencies/xconomy.md b/src/content/docs/java/process/plugin/plugin-dependencies/xconomy.md index 830f45e70..1431ce6d2 100644 --- a/src/content/docs/java/process/plugin/plugin-dependencies/xconomy.md +++ b/src/content/docs/java/process/plugin/plugin-dependencies/xconomy.md @@ -1,10 +1,7 @@ --- title: 经济插件 -sidebar_position: 3 --- -# 经济插件 - 这里指以 [Vault](./vault/vault.md) 为前置的为服务器提供经济的 **一类插件** 如 XConomy diff --git a/src/content/docs/java/process/plugin/protection/askyblock.md b/src/content/docs/java/process/plugin/protection/askyblock.md index f2e56dcf5..90a82a50b 100644 --- a/src/content/docs/java/process/plugin/protection/askyblock.md +++ b/src/content/docs/java/process/plugin/protection/askyblock.md @@ -1,10 +1,7 @@ --- -sidebar_position: 5 -sidebar_label: 空岛 - ASkyBlock +title: 空岛 - ASkyBlock --- -# ASkyBlock - :::info `Bukkit` https://dev.bukkit.org/projects/skyblock diff --git a/src/content/docs/java/process/plugin/protection/bentobox.md b/src/content/docs/java/process/plugin/protection/bentobox.md index 9fc38a37a..fc5ee39f4 100644 --- a/src/content/docs/java/process/plugin/protection/bentobox.md +++ b/src/content/docs/java/process/plugin/protection/bentobox.md @@ -1,10 +1,7 @@ --- -sidebar_position: 6 -sidebar_label: 领域 - BentoBox +title: 领域 - BentoBox --- -# BentoBox - :::info `SpigotMC` https://www.spigotmc.org/resources/.73261 diff --git a/src/content/docs/java/process/plugin/protection/dominion.md b/src/content/docs/java/process/plugin/protection/dominion.md index 125ef3aff..d2d77f7a1 100644 --- a/src/content/docs/java/process/plugin/protection/dominion.md +++ b/src/content/docs/java/process/plugin/protection/dominion.md @@ -1,10 +1,7 @@ --- -sidebar_position: 2 -sidebar_label: 领地 - Dominion +title: 领地 - Dominion --- -# Dominion - :::info `SpigotMC` https://www.spigotmc.org/resources/dominion.119514 diff --git a/src/content/docs/java/process/plugin/protection/griefdefender.md b/src/content/docs/java/process/plugin/protection/griefdefender.md index b564ae7db..57f371c65 100644 --- a/src/content/docs/java/process/plugin/protection/griefdefender.md +++ b/src/content/docs/java/process/plugin/protection/griefdefender.md @@ -1,10 +1,7 @@ --- -sidebar_position: 3 -sidebar_label: 领地 - GriefDefender +title: 领地 - GriefDefender --- -# GriefDefender - :::info `SpigotMC` https://www.spigotmc.org/resources/.68900/ diff --git a/src/content/docs/java/process/plugin/protection/intro.md b/src/content/docs/java/process/plugin/protection/intro.md new file mode 100644 index 000000000..a1d340b63 --- /dev/null +++ b/src/content/docs/java/process/plugin/protection/intro.md @@ -0,0 +1,5 @@ +--- +title: 概述 +--- + +常见的插件类型,通常表现为圈地或者分地 (地皮)。 diff --git a/src/content/docs/java/process/plugin/protection/plotsquared.md b/src/content/docs/java/process/plugin/protection/plotsquared.md index 190ca7c08..dc67a2fe3 100644 --- a/src/content/docs/java/process/plugin/protection/plotsquared.md +++ b/src/content/docs/java/process/plugin/protection/plotsquared.md @@ -1,10 +1,7 @@ --- -sidebar_position: 4 -sidebar_label: 地皮 - PlotSquared +title: 地皮 - PlotSquared --- -# PlotSquared - :::info `Bukkit (旧)` https://dev.bukkit.org/projects/plotsquared diff --git a/src/content/docs/java/process/plugin/protection/protection.md b/src/content/docs/java/process/plugin/protection/protection.md deleted file mode 100644 index 4f244067b..000000000 --- a/src/content/docs/java/process/plugin/protection/protection.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -slug: /Plugins/OtherPlugin/protection -title: 保护 (如地皮领地空岛) -sidebar_position: 4 ---- - -# 保护 - -常见的插件类型,通常表现为圈地或者分地 (地皮)。 - -import DocCardList from '@theme/DocCardList'; - - diff --git a/src/content/docs/java/process/plugin/protection/residence.md b/src/content/docs/java/process/plugin/protection/residence.md index 5a4dfb678..a182cd11c 100644 --- a/src/content/docs/java/process/plugin/protection/residence.md +++ b/src/content/docs/java/process/plugin/protection/residence.md @@ -1,10 +1,7 @@ --- -sidebar_position: 1 -sidebar_label: 领地 - Residence +title: 领地 - Residence --- -# Residence - :::info `Bukkit (旧)` https://dev.bukkit.org/projects/residence diff --git a/src/content/docs/java/process/plugin/protection/towny.md b/src/content/docs/java/process/plugin/protection/towny.md index 69157b0e7..de498d25d 100644 --- a/src/content/docs/java/process/plugin/protection/towny.md +++ b/src/content/docs/java/process/plugin/protection/towny.md @@ -1,10 +1,7 @@ --- -sidebar_position: 7 -sidebar_label: 城镇 - Towny +title: 城镇 - Towny --- -# Towny - :::info `SpigotMC` https://www.spigotmc.org/resources/towny-advanced.72694/ diff --git a/src/content/docs/java/process/plugin/world-management/fastasyncworldedit.md b/src/content/docs/java/process/plugin/world-management/fastasyncworldedit.md index 1bc12f2f8..eb4957a2b 100644 --- a/src/content/docs/java/process/plugin/world-management/fastasyncworldedit.md +++ b/src/content/docs/java/process/plugin/world-management/fastasyncworldedit.md @@ -1,10 +1,7 @@ --- -sidebar_position: 7 -sidebar_label: FAWE - FastAsyncWorldEdit +title: FAWE - FastAsyncWorldEdit --- -# FastAsyncWorldEdit - [![Discord](https://img.shields.io/discord/268444645527126017.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/intellectualsites) diff --git a/src/content/docs/java/process/plugin/world-management/law.md b/src/content/docs/java/process/plugin/world-management/law.md index 6636ccf35..f19ef846d 100644 --- a/src/content/docs/java/process/plugin/world-management/law.md +++ b/src/content/docs/java/process/plugin/world-management/law.md @@ -1,10 +1,7 @@ --- -sidebar_position: 2 -sidebar_label: 保护 - Law +title: 保护 - Law --- -# Law - [![Release](https://img.shields.io/github/v/release/mouse0w0/law)](https://github.com/mouse0w0/law/releases) [![Code Size](https://img.shields.io/github/languages/code-size/mouse0w0/law)](https://github.com/mouse0w0/law) [![License](https://img.shields.io/github/license/mouse0w0/law)](https://github.com/mouse0w0/law/blob/main/LICENSE) diff --git a/src/content/docs/java/process/plugin/world-management/lobby/deluxehub.md b/src/content/docs/java/process/plugin/world-management/lobby/deluxehub.md index 102fa0166..985dd67c3 100644 --- a/src/content/docs/java/process/plugin/world-management/lobby/deluxehub.md +++ b/src/content/docs/java/process/plugin/world-management/lobby/deluxehub.md @@ -1,10 +1,7 @@ --- title: DeluxeHub -sidebar_position: 2 --- -# DeluxeHub - :::info `SpigotMC` https://www.spigotmc.org/resources/.49425 diff --git a/src/content/docs/java/process/plugin/world-management/lobby/deluxehubreloaded.md b/src/content/docs/java/process/plugin/world-management/lobby/deluxehubreloaded.md index 5fc14ed59..61e046a65 100644 --- a/src/content/docs/java/process/plugin/world-management/lobby/deluxehubreloaded.md +++ b/src/content/docs/java/process/plugin/world-management/lobby/deluxehubreloaded.md @@ -1,10 +1,7 @@ --- title: DeluxeHubReloaded -sidebar_position: 3 --- -# DeluxeHubReloaded - :::info `SpigotMC` https://www.spigotmc.org/resources/.118904 diff --git a/src/content/docs/java/process/plugin/world-management/lobby/lobby.md b/src/content/docs/java/process/plugin/world-management/lobby/intro.md similarity index 64% rename from src/content/docs/java/process/plugin/world-management/lobby/lobby.md rename to src/content/docs/java/process/plugin/world-management/lobby/intro.md index a2749b494..8744a7fe4 100644 --- a/src/content/docs/java/process/plugin/world-management/lobby/lobby.md +++ b/src/content/docs/java/process/plugin/world-management/lobby/intro.md @@ -1,10 +1,7 @@ --- -sidebar_position: 8 -sidebar_label: 大厅插件 +title: 概述 --- -# 大厅插件 - 大厅插件,即用作服务器大厅的插件 整合了很多服务器大厅所需要的功能如: @@ -16,7 +13,3 @@ sidebar_label: 大厅插件 - 物品栏菜单 - 虚空传送 - 阻止丢出&拾取物品 - -import DocCardList from '@theme/DocCardList'; - - diff --git a/src/content/docs/java/process/plugin/world-management/lobby/superlobbydeluxe.md b/src/content/docs/java/process/plugin/world-management/lobby/superlobbydeluxe.md index 3ba618e22..ef5e050b2 100644 --- a/src/content/docs/java/process/plugin/world-management/lobby/superlobbydeluxe.md +++ b/src/content/docs/java/process/plugin/world-management/lobby/superlobbydeluxe.md @@ -1,10 +1,7 @@ --- title: SuperLobbyDeluxe -sidebar_position: 1 --- -# SuperLobbyDeluxe - :::info `Bukkit` https://dev.bukkit.org/projects/superlobbydeluxe diff --git a/src/content/docs/java/process/plugin/world-management/multiverse/faq1.md b/src/content/docs/java/process/plugin/world-management/multiverse/faq1.md index 00441110d..8be97469b 100644 --- a/src/content/docs/java/process/plugin/world-management/multiverse/faq1.md +++ b/src/content/docs/java/process/plugin/world-management/multiverse/faq1.md @@ -1,10 +1,7 @@ --- -sidebar_position: 1 -sidebar_label: 常见问题 1 +title: 常见问题 1 --- -# 常见问题 1 - ## 中文世界名乱码 ![](_assets/中文世界名乱码.png) diff --git a/src/content/docs/java/process/plugin/world-management/multiverse/faq2.md b/src/content/docs/java/process/plugin/world-management/multiverse/faq2.md index f8719609c..82116f6ef 100644 --- a/src/content/docs/java/process/plugin/world-management/multiverse/faq2.md +++ b/src/content/docs/java/process/plugin/world-management/multiverse/faq2.md @@ -1,10 +1,7 @@ --- -sidebar_position: 2 -sidebar_label: 常见问题 2 +title: 常见问题 2 --- -# 常见问题 2 - :::tip 此部分来自插件百科 diff --git a/src/content/docs/java/process/plugin/world-management/multiverse/multiverse.md b/src/content/docs/java/process/plugin/world-management/multiverse/intro.md similarity index 98% rename from src/content/docs/java/process/plugin/world-management/multiverse/multiverse.md rename to src/content/docs/java/process/plugin/world-management/multiverse/intro.md index 4a73e6af6..9b467c9ab 100644 --- a/src/content/docs/java/process/plugin/world-management/multiverse/multiverse.md +++ b/src/content/docs/java/process/plugin/world-management/multiverse/intro.md @@ -1,11 +1,7 @@ --- -sidebar_position: 4 -slug: /Multiverse -sidebar_label: 多世界 - Multiverse +title: 概述 --- -# Multiverse - ![](_assets/multiverse2-long.png) [![Modrinth](https://cdn.jsdmirror.cn/npm/@intergrav/devins-badges@3/assets/cozy/available/modrinth_vector.svg)](https://modrinth.com/plugin/multiverse-core) diff --git a/src/content/docs/java/process/plugin/world-management/myworld.md b/src/content/docs/java/process/plugin/world-management/myworld.md index e249f4bba..ff60bba2c 100644 --- a/src/content/docs/java/process/plugin/world-management/myworld.md +++ b/src/content/docs/java/process/plugin/world-management/myworld.md @@ -1,10 +1,7 @@ --- -sidebar_position: 5 -sidebar_label: 多世界 - MyWorld +title: 多世界 - MyWorld --- -# MyWorld - > 另一个多世界插件。 该插件包含所有关于多世界的一切功能: diff --git a/src/content/docs/java/process/plugin/world-management/nobuildplus.md b/src/content/docs/java/process/plugin/world-management/nobuildplus.md index 8003647d6..39b2fb15f 100644 --- a/src/content/docs/java/process/plugin/world-management/nobuildplus.md +++ b/src/content/docs/java/process/plugin/world-management/nobuildplus.md @@ -1,10 +1,7 @@ --- -sidebar_position: 3 -sidebar_label: 保护 - NoBuildPlus +title: 保护 - NoBuildPlus --- -# NoBuildPlus - ## ![概览](_assets/NoBuildPlus/banner_nobuildplus_zh_CN.png) ![](_assets/NoBuildPlus/banner_type_nobuildplus_zh_CN.png) diff --git a/src/content/docs/java/process/plugin/world-management/world-management.md b/src/content/docs/java/process/plugin/world-management/world-management.md deleted file mode 100644 index 0c03f9d15..000000000 --- a/src/content/docs/java/process/plugin/world-management/world-management.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 世界管理 -slug: /Plugins/Worldmanagement -sidebar_position: 5 ---- - -# 世界管理 - -import DocCardList from '@theme/DocCardList'; - - diff --git a/src/content/docs/java/process/plugin/world-management/worldedit.md b/src/content/docs/java/process/plugin/world-management/worldedit.md index 175cf560d..cf6be0634 100644 --- a/src/content/docs/java/process/plugin/world-management/worldedit.md +++ b/src/content/docs/java/process/plugin/world-management/worldedit.md @@ -1,10 +1,7 @@ --- -sidebar_position: 6 -sidebar_label: 创世神 - WorldEdit +title: 创世神 - WorldEdit --- -# WorldEdit - :::info `Bukkit` https://dev.bukkit.org/projects/worldedit diff --git a/src/content/docs/java/process/plugin/world-management/worldgen/intro.md b/src/content/docs/java/process/plugin/world-management/worldgen/intro.md new file mode 100644 index 000000000..c70eeb4ea --- /dev/null +++ b/src/content/docs/java/process/plugin/world-management/worldgen/intro.md @@ -0,0 +1,5 @@ +--- +title: 概述 +--- + +Worldgen 类插件 diff --git a/src/content/docs/java/process/plugin/world-management/worldgen/irisworldgen.md b/src/content/docs/java/process/plugin/world-management/worldgen/irisworldgen.md index 97e0196bf..8c06a34c5 100644 --- a/src/content/docs/java/process/plugin/world-management/worldgen/irisworldgen.md +++ b/src/content/docs/java/process/plugin/world-management/worldgen/irisworldgen.md @@ -1,12 +1,9 @@ --- title: Iris -sidebar_position: 2 --- -# Iris - ![Iris](https://s1.ax1x.com/2022/07/07/jd5y0s.png) ## 效果展示 diff --git a/src/content/docs/java/process/plugin/world-management/worldgen/terra.md b/src/content/docs/java/process/plugin/world-management/worldgen/terra.md index afd675441..2a639990b 100644 --- a/src/content/docs/java/process/plugin/world-management/worldgen/terra.md +++ b/src/content/docs/java/process/plugin/world-management/worldgen/terra.md @@ -1,10 +1,7 @@ --- title: Terra -sidebar_position: 1 --- -# Terra - 与其他生成器(如 RTG 依赖代码层修改)不同,Terra 不预设任何地形或生物群系规则,所有生成逻辑(地形噪声、结构分布、植被生成等)均通过配置文件动态定义 ## 官方预设 diff --git a/src/content/docs/java/process/plugin/world-management/worldgen/terraformgenerator.md b/src/content/docs/java/process/plugin/world-management/worldgen/terraformgenerator.md index 56d56e818..94278d99f 100644 --- a/src/content/docs/java/process/plugin/world-management/worldgen/terraformgenerator.md +++ b/src/content/docs/java/process/plugin/world-management/worldgen/terraformgenerator.md @@ -1,12 +1,9 @@ --- title: TerraformGenerator -sidebar_position: 3 --- -# TerraformGenerator - ![TerraformGenerator 地形展示](https://img.fastmirror.net/s/2024/08/03/66ad8d09b6679.png)
    diff --git a/src/content/docs/java/process/plugin/world-management/worldgen/worldgen.md b/src/content/docs/java/process/plugin/world-management/worldgen/worldgen.md deleted file mode 100644 index 0c642a929..000000000 --- a/src/content/docs/java/process/plugin/world-management/worldgen/worldgen.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 世界生成器 -slug: /worldgen -sidebar_position: 9 ---- - -# 世界生成器插件 - -Worldgen 类插件 - -import DocCardList from '@theme/DocCardList'; - - diff --git a/src/content/docs/java/process/plugin/world-management/worldguard.md b/src/content/docs/java/process/plugin/world-management/worldguard.md index 98385ead7..eba12647a 100644 --- a/src/content/docs/java/process/plugin/world-management/worldguard.md +++ b/src/content/docs/java/process/plugin/world-management/worldguard.md @@ -1,10 +1,7 @@ --- -sidebar_position: 1 -sidebar_label: 保护 - WorldGuard +title: 保护 - WorldGuard --- -# WorldGuard - ![](_assets/worldguard-logo.svg)

    保护你的服务器!

    diff --git a/src/content/docs/java/process/process.md b/src/content/docs/java/process/process.md deleted file mode 100644 index d2f689321..000000000 --- a/src/content/docs/java/process/process.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -title: 建设阶段 -slug: /process -sidebar_position: 4 ---- - -# 建设阶段 - -在这个阶段,你已经了解了基础知识,是时候学习一些进阶知识了。 - -在这一章我们主要围绕以下几个点: - -import DocCardList from '@theme/DocCardList'; - - - -插件 - 推荐一些常见的插件,并且提及相关的注意事项和基础知识; - -手机玩家支持 - 这部分比较复杂,且通常在国内网站上没有真正详尽的介绍; - -跨服 - 介绍反向代理端,指导搭建自己的反向代理服务器。 diff --git a/src/content/docs/java/process/redstone/redstone.md b/src/content/docs/java/process/redstone/intro.md similarity index 91% rename from src/content/docs/java/process/redstone/redstone.md rename to src/content/docs/java/process/redstone/intro.md index 740ad8c9c..4cb5c080d 100644 --- a/src/content/docs/java/process/redstone/redstone.md +++ b/src/content/docs/java/process/redstone/intro.md @@ -1,10 +1,7 @@ --- -sidebar_position: 5 -title: 生电 +title: 概述 --- -# 生电 - 生电是 Minecraft 服务器中重要的一环,同时也是吸引玩家的一个重要手段 这篇文档不是教你如何制作红石机器,而是教你如何在服务端中 **还原原版特性**,以及一些专门用于红石的服务端 diff --git a/src/content/docs/java/process/redstone/mchprs.md b/src/content/docs/java/process/redstone/mchprs.md index 6c798142c..3edbaf770 100644 --- a/src/content/docs/java/process/redstone/mchprs.md +++ b/src/content/docs/java/process/redstone/mchprs.md @@ -1,10 +1,7 @@ --- -sidebar_position: 2 title: MCHPRS --- -# MCHPRS - 一个为红石而构建的 Minecraft 服务器。每个 512x512 的区域运行在单独的线程上,基于 Rust ,拥有非常高的性能 MCHPRS 与传统服务器非常不同。因为这个服务器是为计算红石的使用而量身定制的,所以许多原版的东西在这里不存在 diff --git a/src/content/docs/java/process/redstone/mod.md b/src/content/docs/java/process/redstone/mod.md index ce47235de..ef836576f 100644 --- a/src/content/docs/java/process/redstone/mod.md +++ b/src/content/docs/java/process/redstone/mod.md @@ -1,5 +1,4 @@ --- -sidebar_position: 3 title: Mod --- diff --git a/src/content/docs/java/process/redstone/plugin.md b/src/content/docs/java/process/redstone/plugin.md index 49b4eafec..d7fe5854c 100644 --- a/src/content/docs/java/process/redstone/plugin.md +++ b/src/content/docs/java/process/redstone/plugin.md @@ -1,11 +1,7 @@ --- -sidebar_position: 1 title: 插件端 -sidebar_label: 插件端 --- -# 插件端 - 从原版特性方面来讲,插件端其实并不适合原版生电,Paper 也在他们的文档中说明了这一点 `Unfortunately, it currently is not possible to get a 100% Vanilla experience in Paper. ` diff --git a/src/content/docs/java/start/_assets/2.png b/src/content/docs/java/start/_assets/2.png deleted file mode 100644 index ab14fb470780ae53ec9825cc147842d66ad2844c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5203 zcmd5=X*3&J*ACiJQ>%)qsnk$&mDE()8d^imV?+>RiJ^wjqT*gNE!RBLswqffj5cbf zil{0QQ_QInF_WVB-1qzU{`vlXYwfkqKI^QtpR=C5&$G@s38uzR*_dxK0{{RveLWp> z0DvBT9(OY_ocmER9*Ogz&h(k3E-Nc54-b!wjEtO|oQ8(R)vH&frKM$MWu>H~Bqb$N z(z4-j_~_*P^H-@)o;-1Mbj-=gSy)&Yzz^;3?~jg-HZ?V!ot;ss)aB*n^OW)N@f8&n z?d|PaT3Q1G12Z!-BO@b;iHS5Ct-QQ^c6L@pMMXqJuw&nBpPmU}g+xI+WmVNxEmhU&yWx7z zr_<~YqI|jgI*MZvhl3R!TbSY;<(1*v0;klu_P^i=H@68KkHQiz85I^1;Y`s?gCqF1 zJnDVF5njtvB9i~??8-kp+j&OeZn&~a2w%+~9p9}v#{au``k_w|1@_xP`1Gph?OQ?z zN!L2OhY7EPD1xDTHDGGY1cNP=PNtVmC6VF9)Ix1|G82meLnPI1oxPP>LAKOw;#s`F zAL87q^{}&n%W)$s{YUE<&N1xFWp)IYt}?VD4QSZE*0I6rP4I9+grb?UZ%1a@4yEiC zIXY{Sf6*~2^tq`&OzI8Zm7>(n3{{kdA>oKK>S%>Yam2B@;f_1u^7hu&)~#5AZ0|^Q zVCNz0{AY%qS8=&2^Yy(40o*NO?tFD^O!Kuo6wYLrQ+wYtnJemb`KVw3mcko3BxsBB zm~NWD$6V#%4|Z7T=g|M5cUaMEV`>!ZEtO?zT%E_`v}@q_p}_|rK}=a$|84F+~+e_Q$9#aoes z++c-bs+`IucSCE3mUo@KACI#tIB60Zx6jPzq`}Ays{=vBxF-s-ofYz3^ z_Xc3W@>z>a-Z5L_WA0bHu^o@`bv^d{bsTY%zML!!wNtXSswVhBYI6&jNQ4(hoSZ0U zZM;Q=y^IIW&XwoapK#}m2h-jVv}sDzU`6G}aT9E00ryu(%qv41Ibey;Ow&#z&p?Ml<70+ewItPW z?aKuO6{?N8Q}E{+k3fYKV;ZX4Es1=j#1Khh&VCOsY1jzJ4X3Yjgx{XT2y~zB7JGl4 zrcnfYqOP`%^yqr8#K~g8zsq+%aw_r@oKwNglSAe#VLjokMFI!(DtPx6uG-1Pmw7@5 zd@?;`rkdL8No6Wdl2}{*0Lo88d@u9yP`IWeppV7cIa${ia%a7^(+t0~Zm;?4Kz47Z zM^WP8`i)>L>2h5zL=Ir=;Us*}@ofDcaP!A_(i1>jp{*ZXjeO(;fKT|F;(TqlzkHAT zCHo%wq*hzMzmim-O`I(*zNC?rThUjYS@1pd=j}CokD>*g-e;{i4_6#%-it!sB*p>^ zpGj+Lfzo#H>}MJBVb3u1td^j$tGa%;g`0jo6U?a~kB7EFDW{c$Rvroeu8?Tdv4tH? zm{9O16Xinrh<2e&s9}>)$F_v+6!8gMb6ql&(k6Mf&(k*NO=>w)+Lj=kpLYcH^cWFw zw2Ej?F3!O)vUcD7FMFnCAj$Gb^7&G;t;jUhdTpr)muha%-Mn>qecuXcP_o9Qsvhcl zxm1y&#F2VwO{f=_#$OHWeETQHvz~eRVnTiwZwC(N_&Bo@HGNyPy+e(M`lGyh18`$) zq}qH9rhg6aLLMm@diWOGSoOaAdBc@QFxRC>YtNFZA;o9NE_B9#XUSTY7^Bl9P9NQg zgN?U6s4D^gQz@TSibo*}+Gla!G}NuqtsSlzPU#Pb@%ec2nH!s@Y66sv?0Dam4p>>b z@do!mBr|WXUI+RZd?RSg`c<_pc15fCxE9{-Aed>+57pcjBdZvZx(vjkQ3u zj9JQGf-05Pk!i3}@VL2Gt)eLqjWtdSkZWlRsSlAg8^~x7UA>-p8a0+d)+Q)j)GHGa zr>Fs@%-C}7M2?s;?|p=q+IgI7{pViCi@C4=IYRf_R5wYwsrx{t$QG#==D(8rCvi{j zbj57@IOr+^?%O}q`+LvGTp*Z^lx5pH>CXb|S1VgMHc7@=CVo%5@J^B(_@O2J+Oj!E zik(N}Maz%rz;RP4eHCb7py)B-E%vuxLcgXd2v_p{W@SQSK2~m;Y@wfKtdDa)$LW)} zA3(X8ds9CjjlG=|rtRiG+}y(*>UXgO5?X)nD2K3pf)SDp)qTAhqsa0O{)s!2P0 z7vBH=<(iW-Sz=VDZhzk)kJUf9F%Yh)?(s)4V>>JH=1M`sYSe9NV!7x0j6kt|nQl3& z=4wMLb$v^Kq$-%!2>&ss!8lVDs~6XQHOae3hr`T*B<^lJU;Ks)wXJf(UlX1Zn;qY=NA!j{SbyYu_?M%q0|Jz-M3l#}fH}B-#b=BkjV%ZI0 z2WH0jaX6pT-&bfdX3qWM=J#Z8BXl)Yuz4e@V;G9C{gcP(0+7vo_1WW00ks5__+Rb8 z3-MYk4-UV7SE`N$+Y zes8)a;3>(Je4Pt(+E&Wy_`-SW4Js-Cz}sO2UKygCnd#^dgenEVwDF8q#`l({C*svJ z!u_|-J`rtfX=$4o0-%ccuWPn*y;Uebh{k97#LrHTsM&Kpge+9p=@1hO@q~ou(+DUF zOSjs9S6M7|LSpNc*fMEI2++)8@#?$jgesANu?K@%k!Q$oEJ!{H;kD4g6_h#m4Vq(T&Q&$@4xA0VB; z52l6Z{qaA7I|5mta@~qSL?5cPm636Q-Ws3IeY+dtPwOKJ zn~ia$n8JSGB2L=pS#&{642GPx4H3tMDe*v82T!Xytk z3;2hKMj79t2Uigv7kSVOce_0}|C3Xo>4#3)D!VbS!M(ho`+;e}yhc-&I+Eu_C*k!Q zznzUaJ3$Vn>sKQRF^x?}_3&i-@O#1(B{UP^JYCO0*<8hkp9d!<1`!`xfS#o6FSQQ2 z-=EV^>5`!tVjYMpmJ(oEXLUb8L(__wwB=NI$OJQP%Y+YmE!|0qNxx~^ZiVY>5M=FY zQ4+7}mt9YZSyuZSO1TjW{XZ>7DF1B9aLauRlhFK?&^k$d(R`(7Z8cmlta{>>IfRsQ z?`OG4mzF+uQB0N@hOsYZb2rW@oTb109@Z(YK;lJ_KY72RZ`&(gl)-EXSI<p z0X#b;HJ+{&=chCtaMew5V0_%o-0iO}yeovr>Ch_W^(Wh+zYk?`LW}A)8z)x!=p8o8 zdSD3QlJ4HJQnRY)btU*zrK6Akz|TEMIt@3*Zgq**h1|02$GOId3EjIa4w zh|3YO9;SkobBLDdzARj!ly+SNc|f1XSKr+&q){A#{nqo%t1?@S5(*tpD#v%d4{0&? z$#SGafCa|=JrqKhbga1>pXmmv8q%AZ<%^&_-g9Ud9MlB)S@Nipz7)AS5PRP_NfA;E z4&&jua3JVTu5!KgtKP!Eyzqz5JnJ7J7rN7f!R0uGZc7r7A54TqU-!}MsXHry+tL4f z%aMIYb)b;#?9(6p%7{ zxrtw$KQSm*-Q{?TO&TrgO=KfXdNaqYE#UR3oL|BqeJ<^HV^J=QZLoc?lva={#2vf? z_55QPhYS@a9}~(b{OlWx6SR8;wHwBlZk=mWP5RK-!g;|-?g>pBpzN-y6zAU|EzVU_ zuVf+gSf9&cFXN zA+u^U-fBfSe)L8u(9PTBbtmM`@2u;-K|@j96;RJ3Lq=pd4%vy@5OL)_g0!;s5lDI0 z097;fY+T$vJH99gBVD1Aw1YELB}5B`xw( zrsX)|^#IN`)Cg#5;jIg+*PPgK%Cg<>;x#71;St5mBBZwxqQX}$Iszklim(qf88eb! zb>Uue)Uy_kVp@Q1NodEA;j^nN{GPi7yN3?4-YR}b@Eqi_%}H!MU&R61_Cfh-%5u{i zL}=~CebvFqpgC<_@qd9YSN880GuZf0fnkf1d28o}5 zrKZ~*L3dtihd}nR54<43_zZa4P!f;u@RlUy&s&&4KliT`sGn?Pn1e?}%Y)aNoA(`8 zs$iOVOz8qPQYVI~xZ1U>n`HY`U4zZww;qWsxQl@w;9Ok3V`2wLJ@pEtfo^Gm7@f~( zqvT@fxt#k?xo8@cluzlers+d}!oOoiA6ZWu*-5yua;dMHa5D=U>6f>YlaN1v>k!4& zF;olFt5|Kyo50eOURGsv$rt6e$#6)pNmS`%*6Qx7b`Q?7es|+8SH}4#&~YDK9VwQ$ zqF^{Oc33!QuacA11?$ zua65outLzQ{&Y!jeVOuJS>N;B##@%4*&%knJG@|`QRGMD3&M^S=5DIcdauNJ>k6Qb z6|9T)P{-ENwpv#LpS#b}MU1=ro(8u^pH3HC!C=Bt;hVq?`DJN`uiH4wxh0GfMY9B+ u=xWw(QMI{kQw#sEhvomH>8=F%jIJDEM~7G8dvgAz2hi6w)9vB#i#bUpF`BGF=L?94gFxbbBA9HeY z8X6iD6%_>q1(TDLQ7BYwY^;NW!|v{G@jEZt&ms?3ozA~s{+LM<6Xk2J3$1=1KwWw} zIr1hp%66dpwJ99(Kuwx{g|Uy0jvc52)qn?1ZRS{Fr|})^)kH*V0i9x?}W^IZ+Js@Uq~`tN$Wx0@TIBobS1kL;H=YboI0cpIvV$ zfOBl1PLanB03JHYG=>-it0Wal))<>!x+uuXgs~`*>D`lHFXvuXfg~&24=WFh7hqr= zo@Wt%9b*NdR?3Ls8XyNKYA>&Yu~KMU0Dgz|0uaS$D$B+|r&6UYzaiuk_c#9Po2)Kg z!VV?|`&tQ)!P-v?O=2eBN>>4Xs_+2{v;f?gOzM_d%3-dsh%bvX*rdjqVS^IEL;l6 zA_Vez6^+xPbzYSwmSsF}CNE09CfeWEfdqkch&VBY5)x;Xjb1;allJ*VSK>oQ%mXdJ zasrFEkc5w?08n&rap^|(jEnyI=AEQ=Uc+lQf9#C!jaEaxq&Wn0i>E^XquGzOS;Z$l zZlFPp#VfK%cBU`Ai;}V&%h|r;aTu7X)g?fK0{l)8kbl_@W?>0nkZcxvDEZLylK|P8 zSJE}Qgf_JlXF(nhA+7_d?w#2a_ZK!1RadTwS_zkN!x<1M0spz}>G;+^LR050WSaKQF5#rgNvtoe#}`P0<^Ca{TP4_cKQE1C>O|>V9&ENI zAe&FwgFZF9KKgALr`5Bj3R zo4rL-m$@Eh@5X2yWbv9WVot1vVr7WI-ei);HSZ?=<)^E*V$*NGv4QnkPpcbs3_e+) zmWGR26_@fDp)Y}9Mr7G}mEMYlz1kt)_WAYW9nJJ=w~na~Du}AIw0z3BQgfAIL3cF| z#Cdejgd&-8OVb}~0rcP?VNe|d&u$@ODaEyuf}43FBpBexcdI^*5B)erF+)(NQGX8U zTYkBIrf)5R=$q&ZU@Z!-z~pigzp()0>9Pqwwz20{(Z2@)z#($D3r6aHczhQWn%m10 z3<5Pg^Gh%&h3r2PJL_x@&;qO%Y7hR7Pa*=g?~xKm`D#}Pck8@**wUZk<-X>p*swJ) zA$8@8rzam@NWZS+G9h8g*3eL87-^?G*-56uh~*0>Uzyd63tGXv&^0EzI#%HVVWn@( z-tIm^s@Ff_ccNxJ9A(L~<4Ul(Yc{S549jT2?gwP^E+Iq37T@}A)JftfL-g7_cxDYD9)$Kg9S0Yr~_LV!Uy`R9Tglsu?@D-odwX z#Dt(w)&?ZbA*$5!DR1Q%o$Et|r)-Yg{&C(>Fs~M%;fj%- z)kt#Mlf8wK^_UFiNmd|geqZ$A0LKWErQ$~fERBo$j}`RQFJD3dxnkzK`qH#(P`57z zn<1s^o83^}juMU6UgFBJy|wdD^5$4E8=!52eMT=_mpnr92rH&7GJ++AzE{joD2pF% zc0yL^mjV6c^CysCP`i?S=<|c@VbaCH@8+2^#B*xHJ~TCc#9T7aK@J8SG`wr3tku~R zwpx$3R^RgC0IxrtGa83*Mzz|Y>hBgnKb^S3#x@5ZYq zVEH}1gkCpa@ombdBn^k_jK&1MVjR2+RK+c@#1&aaJzK3GV(xlFSr9sCeS6`^bn8K` z_+dpIu8Z4u9-ujgSc0S9SYG?dVPX*}#`tkMBczp@B1Vgtc8yZll0+Yy0>f7Bscrnk z@Igsq>BrJ5U4`Plk3eSv&E3|R~e&waw3{O7pLDD1|-* zR9U9b{%56~tL8$>uhub>`^y~P$50+r1!~#$q-sB9AiR;eq#Db1 zW$p@PeQqB{c9%DA&*1-YBKjH#37}WFo<+%3)d9YE-;EioLKV9T@qQTeIjL?y0 zQ*^B{xtl*9H_IuRZ$s+QAourXoI{QKZn1R~aUbR#f8f{pGV}6B0QBb8gjwtF#csXH z>vgD=tdaD)p(QOCa8@Y%aX#*_f}MAHo!XvuTe*Kc&%^^O0kt~RM;*mC+yiEDz>^lT zTH;lCu+6fMl^IrGv%skby$L$U7%(6BvO0>Aq`C!@B{ z>>y=cJdpVC{R`1g@KSRZX5c<-1f~8hSd&cK@_4Q@t5lXHsW>j;y*rf|ctagNT{J_I zL7!&*Hv1H0xXatg)cdW%r0J$D(GFaLnjf{wssx#XeZFEf`_t%N|n@_qgd_ofYG}D!x_c?IR@bq~KLDBRXaDUNnOzmt0 zi%HUsH=asem+D?-&pxYkNgEAK%ItpPi@c`OXK24UJrM=r!SVTjtfEY{tpe+LI9|nb zrM6p^j9zLZ&yu>GW?RerBgmtWg+hj|?C{t?Z@J)k0}jIxb`Wvc%wI&5;EH0VNk@Mmr& zjztvn$lhRwIGM9}l+vI z70-I&FsuiQQ@`q`FTijWS2L!{n^c+>FWt~5yvUR-aV@~vD?s3_>0L`n&y_BX!({8) zJu)8)$wqgyLOh>FVzk&dnwB4|8Fy67DLmb^v&hH2%!=i2+Dz1NA|n+X#Lwp<6xY{~ zr;PQN4!l{4{nyk?6)m&kjGx!Q=?v?9;4 zxc!4_JM81}>vjqYC5W3#an44DH-#khe>k6@)i@JOf2L-qJ&)?_7v~2Z!AjG!_hpsC zoxefJSH!=E1{^9#X=<2N9UQRFoTRNqxqLX!q$7P4ep25bmN#`CPL;bMH)7L!jIGJ{ z+cO`pC(lvXgbg`2vYsNCd!LJp2ct{Z5`QkML zW*NSCFcg{#+iuO!3$UObuEQ%)?dEl(l*J~xxj6p*t%Ufu)pIJj5Z|UHFpmaZxj|zE7jp`(q=uLZjp)6kHRM67JX{`Nj2-ev3-$alu>H8%HK|-Fdppb zSI6JEED>nA-zaG@XLrHRoWH2z^B*;zr4WGoWelWdS!E6A)a@J|aR|Ek*q2fB!0Xqj zkw*r>cErv$=&+e2I==UH(|1GowTVPYVN1c(dR9tw<*a?!Qjlz}k7s${_gHvCBaN*s z4?}}<)2=^=;eH5U``76BAD!~wo2k0YS-Xh9*6Zzwxk)%0Dbo_tQ1BauI5iEYqz|;T zNS!=S$iJ#YP`ZAcxmj859~CBUzHm=wezR1GwtZxSKN>V+|7dM&<1lFsCX zCix&I#zRf3;Z_+B+Y!8eOKm!JMi95#&KYtCf20B??bdR^WgUlr)!aMD)^~13h(bOWn)$N86A0n)|EM~f3ckv4R+Q=M&%4$SLyC@| z?AfUnu*KQN0B`ggpItTi4#-8`?{;pcRg2l-9snh_Jds!A0D{U|vPNllzQrW3b@Zh) zo?X#z0b+T!r{1#(2GXhV74%`J>jSK3$4B8it9v6+kK0;W3-IyI(G51x-o|?@{>%BT zS$=hQxOL|nr5d?|5**PMRi!*}_yl90*zznc`&tg|lUg9(edHwzrdjw6{~obXr=fDs z_(~|Y*Fdd@In}Q+J~K>w`nzi{w4s`Xd4xE=-ZkC^TTtIQUKa&TiXSqV`Ah13c>&UE z=z1ToIeSnH?=-X;^~!UozM*Pu#Bi&jFjOdRGs>%;cG-VahBG*cDbyw#ltj9-2Z zw^gU+^lpaNUtvil>~+MO(9}?6WnET32CR{=90&Xbac!`R&Qt8J};> zH}+)kYiVZ@(^?`zABT{)k30fRmz~10Nu9iFeBh1dpU8a7w0ocEXzM0F5wWf0SxU@U zIxT+&S~&f~=L`bBlZUzTf6oE`UfurJviJXXaKe6~&a^SdzuL-Da{dEJrvo#DRz9@D F{1@>q7fb*E diff --git "a/src/content/docs/java/start/_assets/\346\226\207\344\273\266\350\265\204\346\272\220\347\256\241\347\220\206\345\231\250.jpg" "b/src/content/docs/java/start/_assets/\346\226\207\344\273\266\350\265\204\346\272\220\347\256\241\347\220\206\345\231\250.jpg" deleted file mode 100644 index 382f01ce5a2fe7e80074fc9ef7f3ed7b6a0efc18..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21217 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 diff --git a/src/content/docs/java/start/basic/server-dir-structure.mdx b/src/content/docs/java/start/basic/server-dir-structure.mdx deleted file mode 100644 index a23b9ca8d..000000000 --- a/src/content/docs/java/start/basic/server-dir-structure.mdx +++ /dev/null @@ -1,29 +0,0 @@ ---- -title: 服务端结构 -sidebar_position: 3 ---- - -import StructureExplorer from "@site/src/components/StructureExplorer"; -import { serverDirStructureData } from "@site/src/data/structures/serverDirStructureData"; - -# 服务端结构 - -我们先来简单看一眼 插件端 的文件夹结构 (以 Purpur 为例): - - - -对于类似 Catserver 的混合服务器,文件夹结构是类似的,基本就多了 `/mods` 文件夹,少了 Bukkit 的下游服务器特有的配置 (如 `purpur.yml` 等)。 - -:::info - -对于世界文件夹的详细说明,请前往 **[世界文件架构](what-is-world.md)** - -::: - -至此,大部分的以 Bukkit 为基础的服务器核心服务端的结构已经大致呈现在你眼前。 - -:::tip - -如果你的服务端有更多的文件,大概率是插件 (如 Slimefun、FAWE 等插件会释放更多文件夹) 创建的文件夹,一般来说无需担心。 - -::: diff --git a/src/content/docs/java/start/config-server.md b/src/content/docs/java/start/config-server.md index af42fa218..668217feb 100644 --- a/src/content/docs/java/start/config-server.md +++ b/src/content/docs/java/start/config-server.md @@ -1,10 +1,7 @@ --- title: 配置服务端 -sidebar_position: 5 --- -# 配置服务端 - 开启服务器后,你需要进行一些简单配置,比如修改服务器端口,正版验证等 :::note diff --git a/src/content/docs/java/start/connect-to-server.md b/src/content/docs/java/start/connect-to-server.md index be01bc9c1..714ebbc55 100644 --- a/src/content/docs/java/start/connect-to-server.md +++ b/src/content/docs/java/start/connect-to-server.md @@ -1,10 +1,7 @@ --- title: 连接服务器 -sidebar_position: 6 --- -# 连接服务器 - ## 端口 打开你服务器根目录的 `server.properties` @@ -27,9 +24,9 @@ server-port=25565 本机 IP,通常有这样几种形式: -- localhost -- 127.0.0.1 -- 0.0.0.0 +- localhost +- 127.0.0.1 +- 0.0.0.0 如果你没有修改你的服务器端口,那么在你的 Minecraft 客户端中: @@ -43,9 +40,9 @@ server-port=25565 假设你的服务器端口是 12345,你应该将上方所说的 本机 IP 替换为: -- localhost:12345 -- 127.0.0.1:12345 -- 0.0.0.0:12345 +- localhost:12345 +- 127.0.0.1:12345 +- 0.0.0.0:12345 :::warning @@ -69,10 +66,10 @@ server-port=25565 如果很不幸,你的玩家没有正常连接,请先按以下步骤检查 -- 请尝试本地连接,如果不行,那么就是服务器有问题 -- 如果本地连接正常,你可以尝试在防火墙中放行端口 -- 检查你在路由器中是否把这个端口公开到公网 -- 根据 [常见错误](#常见错误) 章节进行排查 +- 请尝试本地连接,如果不行,那么就是服务器有问题 +- 如果本地连接正常,你可以尝试在防火墙中放行端口 +- 检查你在路由器中是否把这个端口公开到公网 +- 根据 [常见错误](#常见错误) 章节进行排查 ### 我没公网 @@ -84,42 +81,34 @@ server-port=25565 ### `Unknown host / 未知的主机 / Can't resolve hostname / 无法解析主机名` -1.检查你有没有打错域名 - -2.如果你刚刚更改 DNS 解析: - -- 等一会儿再试 -- 在 Windows 下,CMD 执行`ipconfig /flushdns` -- 在 Linux 下,终端执行 `sudo systemd-resolve --flush-caches` - - 3.你的域名可能被 DNS 污染,你可以检查实际解析出来的 IP 和设置的是否一致,不一致就是被污染了,临时解决方案是更改 DNS - 服务器,长远来看最好打开 DNSSEC +1. 检查你有没有打错域名 +2. 如果你刚刚更改 DNS 解析: + - 等一会儿再试 + - 在 Windows 下,CMD 执行 `ipconfig /flushdns` + - 在 Linux 下,终端执行 `sudo systemd-resolve --flush-caches` +3. 域名可能被 DNS 污染,检查解析出来的 IP 是否与配置一致;临时方案是更改 DNS 服务器,长期建议开启 DNSSEC ### `数据流终止` -这个报错已经不多见,通常来说是运营商干的,比如早期网通和电信,海外流量过境有时会被 GFW 阻断也可能产生此错误 +这个报错已经不多见,通常来说是运营商导致的,比如早期网通和电信;海外流量过境有时会被 GFW 阻断也可能产生此错误 ### `Connection timed out / 连接超时` -1.检查你有没有打错域名 +1. 检查你有没有打错域名 +2. 检查网络状况(可以试试 ping 服务器,超时就是网的问题) +3. 如果使用 frp,检查 frp 的配置文件是否正确 -2.检查网络状况 (可以试试 ping 服务器,超时就是网的问题) - -3.如果使用 frp ,检查 frp 的配置文件是否正确 - -### `Invalid characters in username/ 用户名包含无效字符` +### `Invalid characters in username / 用户名包含无效字符` 用户使用了非 Minecraft 原版允许的用户名进入服务器,可以安装 CnUsername 来解决 -### `Flying is not enabled on this server/ 此服务器未启用飞行` +### `Flying is not enabled on this server / 此服务器未启用飞行` 打开 server.properties 文件,把 `allow-flight` 设置为 `true` 然后重启服务器 ### `You are sending too many packets!/ 由于超出数据包速率限制而被踢出游戏` -一般是开连点器导致的,你可以将在`paper-global.yml`中`packet-limiter`中的`max-packet-rate`调大 - -如果使用了 ViaVersion ,也需要调大配置文件中的`max-pps`和`tracking-warning-pps`值 +一般是开连点器导致的,你可以将在 `paper-global.yml` 中 `packet-limiter` 的 `max-packet-rate` 调大;如果使用了 ViaVersion,也需要调大配置文件中的 `max-pps` 和 `tracking-warning-pps` 值 ### `忽略状态请求` @@ -131,13 +120,12 @@ server-port=25565 ### `无效会话` -没有使用正版登录进入正版服务器,也可以通过将 `online-mode` 改为` false` 解决 +没有使用正版登录进入正版服务器,也可以通过将 `online-mode` 改为 `false` 解决 ### `身份验证服务器目前处于宕机状态。请稍后再试,抱歉` 确认 Mojang 或微软账户服务器状态(可通过 [Mojang Status](https://status.mojang.com/) 查询) - -如果不是 Mojang 的验证服务器维护了,也可能是你的网络太差,连接不到验证服务器,可以安装 [AlwaysOnline](https://modrinth.com/plugin/alwaysonlineplugin) 插件来解决 +如果不是 Mojang 的验证服务器维护,也可能是你的网络太差,连接不到验证服务器,可以安装 [AlwaysOnline](https://modrinth.com/plugin/alwaysonlineplugin) 插件来解决 ### `Outdated server! / 服务器版本过时` @@ -157,8 +145,8 @@ server-port=25565 1. 服务器或客户端网络不稳 2. 服务器插件冲突(如反作弊插件误判,尝试移除插件排查) -3. 被服务器防火墙强行关闭了 -4. 连接到海外服务器时被 GFW 阻断了 +3. 被服务器防火墙强行关闭 +4. 连接到海外服务器时被 GFW 阻断 ### `Server is full! / 服务器已满` @@ -166,8 +154,8 @@ server-port=25565 ### `java.net.SocketException: Connection reset` -1. 被本地/服务器防火墙强行关闭了 -2. 连接到海外服务器时被 GFW 阻断了 +1. 被本地/服务器防火墙强行关闭 +2. 连接到海外服务器时被 GFW 阻断 ### `You are already connected to this server!` diff --git a/src/content/docs/java/start/install-server.md b/src/content/docs/java/start/install-mod-server.mdx similarity index 90% rename from src/content/docs/java/start/install-server.md rename to src/content/docs/java/start/install-mod-server.mdx index 6434f15d8..d63b461b1 100644 --- a/src/content/docs/java/start/install-server.md +++ b/src/content/docs/java/start/install-mod-server.mdx @@ -1,24 +1,17 @@ --- title: 安装 Mod 服务端 -sidebar_position: 3 --- -# 安装服务端 - :::tip -该教程是为 **纯 mod 服** 所编写的,如果你正在使用插件或混合端,那么就不需要安装服务端这一步,直接前往下一篇教程 [开启服务端](launch-server.md) +该教程是为 **纯 mod 服** 所编写的,如果你正在使用插件或混合端,那么就不需要安装服务端这一步,直接前往下一篇教程 [开启服务端](/java/start/launch-server/) ::: -全篇以 1.20.4 mod 服务端安装为例子,如果看不懂可以使用 [笨蛋脚本](https://script.8aka.org/mod-installer) **(目前支持 -Forge/NeoForge/Fabric)** - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; +import { TabItem, Tabs } from "@astrojs/starlight/components"; - - + + ## Installer(安装器)下载 @@ -84,12 +77,12 @@ java -jar <你下载的安装器的文件名> --installServer 我们建议你现在将文件 `forge-游戏版本号-forge版本号-installer.jar`(安装器文件)和 `minecraft_server.游戏版本号.jar` 移至其他文件夹或放入回收站,以防在后续准备开服时引发混淆。也不要直接永久删除这两个文件,因为一旦后续需要重新安装时就会用到它们。 - + 与 Forge 差不多,官网换 [NeoForge 官网](https://neoforged.net/) - + 首先前往 Fabric 的 [官网](https://fabricmc.net/) 或者 [下载镜像](https://sync.mcsl.com.cn/core/Fabric) @@ -122,14 +115,14 @@ java -jar <你下载的安装器的文件名> --installServer 安装完服务端核心后还需要安装 Fabric API,[在这下载](https://modrinth.com/mod/fabric-api),下载完后放进 `mods` 文件夹即可 - + 与 Fabric 差不多,官网换成这个 [QuiltMC](https://quiltmc.org/en/install/) 安装完后还需要安装 [Quilt Standard Library](https://modrinth.com/mod/qsl),下载完后放进 `mods` 文件夹即可 - + 适用于 Paper 的 mod 框架 (**这不是混合端**),目前在用的主要有 CraftEngine diff --git a/src/content/docs/java/start/intro.md b/src/content/docs/java/start/intro.md new file mode 100644 index 000000000..9981bf381 --- /dev/null +++ b/src/content/docs/java/start/intro.md @@ -0,0 +1,14 @@ +--- +title: 概述 +--- + +开始阶段是搭建 Minecraft 服务器的第一步。通过本阶段的学习,你将了解服务器的基本概念,为后续的配置和管理奠定坚实的基础。 + +## 主要内容 + +- **服务器基础知识** - 理解客户端和服务端的区别 +- **服务端选择** - 了解不同服务端的特点和如何选择 +- **服务器搭建** - 一步步搭建属于你的服务器 +- **连接测试** - 验证服务器是否正常运行,学会如何连接 + +准备好了吗?让我们一起开始这个有趣的旅程~ diff --git a/src/content/docs/java/start/launch-server.md b/src/content/docs/java/start/launch-server.mdx similarity index 79% rename from src/content/docs/java/start/launch-server.md rename to src/content/docs/java/start/launch-server.mdx index bf4b3620d..9d4a4021e 100644 --- a/src/content/docs/java/start/launch-server.md +++ b/src/content/docs/java/start/launch-server.mdx @@ -1,10 +1,7 @@ --- title: 开启服务端 -sidebar_position: 4 --- -# 开启服务端 - 你已经做好了准备工作,开始启动你的服务器了 :::tip @@ -13,47 +10,6 @@ sidebar_position: 4 ::: -## 笨蛋脚本 - -下载此[脚本](https://script.8aka.org/generate-script),回答几个问题就可以为你自动生成启动脚本!! - -
    -直接在终端里敲命令来启动? - -如果你第一次开服,或者你看不懂这个折叠里的内容,那就跳过,直接去看底下的编写启动脚本 - -## 终端路径 - -就像你的文件资源管理器 - -![](_assets/文件资源管理器.jpg) - -(估计有人不知道文件资源管理器是什么,所以放张图) - -有路径一样,你的 cmd 也是有路径的 (红框中为此 cmd 所在的路径) - -[cmd 是什么](https://cn.bing.com/search?q=cmd%E6%98%AF%E4%BB%80%E4%B9%88) - -[怎么打开 cmd](https://cn.bing.com/search?form=MOZLBR&pc=MOZI&q=%E6%80%8E%E4%B9%88%E6%89%93%E5%BC%80cmd) - -## 启动命令 - -现在你把下载好的服务端核心放到一个空文件夹里 - -![](_assets/1.png) - -点击地址栏,输入 cmd 然后回车,就会在这个路径下打开 cmd - -![](_assets/2.png) - -或者用别的办法打开 cmd,然后用 cd 命令切换路径 - -[怎么用 cd 命令切换到另一个目录](https://cn.bing.com/search?q=%E6%80%8E%E4%B9%88%E7%94%A8cd%E5%91%BD%E4%BB%A4%E5%88%87%E6%8D%A2%E5%88%B0%E5%8F%A6%E4%B8%80%E4%B8%AA%E7%9B%AE%E5%BD%95) - -![](_assets/3.png) - -
    - ## 编写启动脚本 ~~最简单的启动命令当然是 java -jar~~ @@ -123,11 +79,10 @@ java -jar leaf-*.jar 当服务器崩溃或关闭时,使用脚本实现自动重启: -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; +import { Tabs, TabItem } from "@astrojs/starlight/components"; - - + + ```batch @echo off @@ -139,7 +94,7 @@ goto start ``` - + ```bash #!/bin/bash @@ -179,10 +134,6 @@ Downloading mojang_x.x.x.jar 请尝试使用科学上网。 -import GlobalContent from '@site/src/components/GlobalContent' - - - ### 我不会在命令行界面 (CMD / 终端 / PowerShell) 使用科学上网 :::tip @@ -217,8 +168,6 @@ export HTTPS_PROXY=http://127.0.0.1:7890 > 大佬们,浏览器能用不是 cmd 能用,不然你猜我为什么写这个。 - - ### 中文乱码 如果你用的是 Windows,你需要在启动脚本 **最前面** 加上 `chcp 65001` diff --git a/src/content/docs/java/start/server-core-choose/folia/folia.md b/src/content/docs/java/start/server-core-choose/folia/intro.md similarity index 79% rename from src/content/docs/java/start/server-core-choose/folia/folia.md rename to src/content/docs/java/start/server-core-choose/folia/intro.md index a58298a80..31b573470 100644 --- a/src/content/docs/java/start/server-core-choose/folia/folia.md +++ b/src/content/docs/java/start/server-core-choose/folia/intro.md @@ -1,11 +1,7 @@ --- -title: Folia -slug: folia -sidebar_position: 4 +title: 概述 --- -# Folia - ![](../_assets/folia.webp) Folia 是 Paper 的一个分支,由 Spottedleaf 开发。 @@ -42,9 +38,9 @@ Folia 完全破坏了 Bukkit 插件的兼容性,每个 Bukkit 插件都必须 Folia 这么好,但并不是每个服务器都可以体验的,你需要确保你的服务器符合以下条件,这样才可以从 Folia 中受益 -- 16 个 **物理** CPU 核心 -- 玩家较为分散 (生存多人游戏、无政府、空岛或一些迷你游戏服务器) -- 你需要的插件支持 Folia +- 16 个 **物理** CPU 核心 +- 玩家较为分散 (生存多人游戏、无政府、空岛或一些迷你游戏服务器) +- 你需要的插件支持 Folia 如果你不符合,去用 Leaf 吧,符合的话继续看下去! @@ -75,13 +71,13 @@ flowchart TD ### 主要分支 -- **[Luminol](luminol.md)** - 性能、稳定性和功能的最佳平衡,包含 Lophine 生电分支 (1.21+) -- **[其他分支](misc.md)** - 包含 Molia、DeerFolia、Kaiiju 等 +- **[Luminol](luminol.md)** - 性能、稳定性和功能的最佳平衡,包含 Lophine 生电分支 (1.21+) +- **[其他分支](misc.md)** - 包含 Molia、DeerFolia、Kaiiju 等 ### 快速下载 如果你已经确定要使用的分支,可以直接从以下镜像下载: -- [Folia](https://mcres.cn/downloads/folia.html) -- [Luminol & Lophine](https://mcres.cn/downloads/luminol.html) -- [更多分支下载](misc.md) +- [Folia](https://mcres.cn/downloads/folia.html) +- [Luminol & Lophine](https://mcres.cn/downloads/luminol.html) +- [更多分支下载](misc.md) diff --git a/src/content/docs/java/start/server-core-choose/folia/luminol.md b/src/content/docs/java/start/server-core-choose/folia/luminol.md index b21ae61a7..3285b25a8 100644 --- a/src/content/docs/java/start/server-core-choose/folia/luminol.md +++ b/src/content/docs/java/start/server-core-choose/folia/luminol.md @@ -1,10 +1,7 @@ --- title: Luminol -sidebar_position: 1 --- -# Luminol - ![](../_assets/Luminol.png) Luminol 是一个非常棒的 Folia 分支! diff --git a/src/content/docs/java/start/server-core-choose/folia/misc.md b/src/content/docs/java/start/server-core-choose/folia/misc.md index 5847a9637..c4967902c 100644 --- a/src/content/docs/java/start/server-core-choose/folia/misc.md +++ b/src/content/docs/java/start/server-core-choose/folia/misc.md @@ -1,10 +1,7 @@ --- title: 其他分支 -sidebar_position: 2 --- -# 其他分支 - 在 Folia 的开发历史上,还有许多其他分支,太多了,这里只列出了一些可能有用的 ## Lumina diff --git a/src/content/docs/java/start/server-core-choose/hybrid.md b/src/content/docs/java/start/server-core-choose/hybrid.md index de8a0268c..b49f75962 100644 --- a/src/content/docs/java/start/server-core-choose/hybrid.md +++ b/src/content/docs/java/start/server-core-choose/hybrid.md @@ -1,10 +1,7 @@ --- title: 混合端 -sidebar_position: 2 --- -# 混合端 - :::info 你可以点击名称栏中的字体跳转并找到下载 @@ -76,6 +73,6 @@ Banner 现在已经不属于 Mohist,同时已经改名为 Taiyitist | 名称 | 介绍 | 推荐与否 | 下载镜像 | | ------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | -------- | -| [Arclight - NeoForge](https://github.com/IzzelAliz/Arclight) | 用 Mixin 实现的 Bukkit API 和 Neoforge 实现的混合端 | - | - | +| [Arclight - NeoForge](https://github.com/IzzelAliz/Arclight) | 用 Mixin 实现的 Bukkit API 和 Neoforge 实现的混合端 | - | - | | [Youer](https://github.com/MohistMC/Youer/) | 结合了 NeoForge 模组支持和 Paper API 兼容性,能无缝支持 Bukkit/Spigot/Paper 生态系统的插件,并且针对模组环境进行了性能和稳定性优化。其技术栈包含 NeoForge、Bukkit、CraftBukkit、Spigot、Paper、Purpur、Arclight Remapping 等组件,部分组件集成已完成,部分仍在进行中 | - | - | -| [Magma - Neo](https://github.com/magmafoundation/Magma-Neo) | 用 Patch 实现的 Neoforge 和 Spigot API 的混合端 | - | - | +| [Magma - Neo](https://github.com/magmafoundation/Magma-Neo) | 用 Patch 实现的 Neoforge 和 Spigot API 的混合端 | - | - | diff --git a/src/content/docs/java/start/server-core-choose/server-core-choose.md b/src/content/docs/java/start/server-core-choose/intro.md similarity index 73% rename from src/content/docs/java/start/server-core-choose/server-core-choose.md rename to src/content/docs/java/start/server-core-choose/intro.md index 34232ccc2..080f3fa09 100644 --- a/src/content/docs/java/start/server-core-choose/server-core-choose.md +++ b/src/content/docs/java/start/server-core-choose/intro.md @@ -1,11 +1,7 @@ --- -title: 核心选择 -slug: /server-core-choose -sidebar_position: 2 +title: 概述 --- -# 核心选择 - :::danger 大部分付费所谓的高性能核心大概率是假的,如果你真的需要购买,你可以向大佬咨询 @@ -18,7 +14,7 @@ sidebar_position: 2 ## 插件端 -点此跳转到 [插件端](plugin.md) +点此跳转到 [插件端](/java/start/server-core-choose/plugin/) :::tip @@ -38,9 +34,23 @@ sidebar_position: 2 ::: +## Mod 端 + +点此跳转到 [Mod 端](/java/start/server-core-choose/mod/) + +:::tip + +只能安装 mod 的服务端 + +::: + +性能较差,某些 mod 就不是想给多人游戏设计的;拓展性强,内存需求较大,游戏性可以做的很丰富,但客户端需要安装相同的 mod。纯 mod 服主流只有 Forge 和 Fabric 两种, + +高版本一般推荐使用 Fabric,因为 Fabric 优化 mod 多效果比较好,但是最重要的还是:如果有什么 mod 只有 Fabric / Forge 版本而你又非玩不可,只能选择相应的核心。 + ## 混合端 -点此跳转到 [混合端](hybrid.md) +点此跳转到 [混合端](/java/start/server-core-choose/hybrid/) :::tip @@ -56,19 +66,23 @@ sidebar_position: 2 混合端常见的有 Catserver;高版本推荐使用 Mohist 或 Arclight,就目前来看,它们的本身稳定性良好,也比纯 Forge 有所优化 (但 mod /插件数量多了之后兼容性问题可能会莫名让人头疼) -## Mod 端 - -点此跳转到 [Mod 端](mod.md) +## Folia :::tip -只能安装 mod 的服务端 +多线程并发处理的服务端 ::: -性能较差,某些 mod 就不是想给多人游戏设计的;拓展性强,内存需求较大,游戏性可以做的很丰富,但客户端需要安装相同的 mod。纯 mod 服主流只有 Forge 和 Fabric 两种, +:::danger -高版本一般推荐使用 Fabric,因为 Fabric 优化 mod 多效果比较好,但是最重要的还是:如果有什么 mod 只有 Fabric / Forge 版本而你又非玩不可,只能选择相应的核心。 +虽然性能提升明显,但兼容性存在问题,许多插件和 mod 可能无法正常运行,建议有一定经验的玩家使用 + +::: + +Folia 是 Paper 团队开发的高性能服务端,通过多线程并发处理游戏逻辑来显著提升性能。它特别适合大型服务器和高玩家数量的场景。 + +然而,由于其多线程架构的差异,部分插件需要特别适配才能正常工作。选择 Folia 前,请确保你使用的插件和 mod 都支持多线程环境。 ## 更换核心 @@ -90,10 +104,4 @@ sidebar_position: 2 Mod 服最开始就必须选好核心,也就是 Forge 还是 Fabric 的问题。 -## 笨蛋脚本 - -帮你选择服务端,并自动下载! - -[下载](https://script.8aka.org/select-server) - ![](_assets/那些服务端有后门吗.png) diff --git a/src/content/docs/java/start/server-core-choose/mod.md b/src/content/docs/java/start/server-core-choose/mod.md index a5b14eba1..cd46a9d64 100644 --- a/src/content/docs/java/start/server-core-choose/mod.md +++ b/src/content/docs/java/start/server-core-choose/mod.md @@ -1,10 +1,7 @@ --- title: Mod 端 -sidebar_position: 3 --- -# Mod 端 - Mod 端的选择一般优先考虑玩法(即主要的玩法 mod),再考虑性能 比方说,我的服务器主要玩法是匠魂,它只支持 Forge,那我就只能选择 Forge diff --git a/src/content/docs/java/start/server-core-choose/multipaper.md b/src/content/docs/java/start/server-core-choose/multipaper.md deleted file mode 100644 index ec4537635..000000000 --- a/src/content/docs/java/start/server-core-choose/multipaper.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: MultiPaper -sidebar_position: 5 ---- - -# MultiPaper - -MultiPaper 与 Folia 的目标是相同的:充分利用硬件,承载更多玩家 - -于是就放在这了 - -## 介绍 - -:::info - -`官网` https://multipaper.io - -`GitHub` https://github.com/MultiPaper/MultiPaper - -::: - -由于其过于复杂,并且有写的更好的 [文章](https://www.ghostchu.com/archives/minecraft-multipaper),就不写了 diff --git a/src/content/docs/java/start/server-core-choose/plugin.md b/src/content/docs/java/start/server-core-choose/plugin.mdx similarity index 92% rename from src/content/docs/java/start/server-core-choose/plugin.md rename to src/content/docs/java/start/server-core-choose/plugin.mdx index 581cdd1fa..1e0cc53d3 100644 --- a/src/content/docs/java/start/server-core-choose/plugin.md +++ b/src/content/docs/java/start/server-core-choose/plugin.mdx @@ -1,10 +1,7 @@ --- title: 插件端 -sidebar_position: 1 --- -### 插件端 - 如果你不知道怎么选,我们为你提供一个简单的方法: ```mermaid @@ -37,11 +34,10 @@ flowchart TD ## 高版本 -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; +import { TabItem, Tabs } from "@astrojs/starlight/components"; - - + + ![](_assets/papermc-wild.svg) @@ -70,7 +66,7 @@ import TabItem from '@theme/TabItem'; - [MCSL](https://sync.mcsl.com.cn/core/Paper) - + ![](_assets/purpur.png) @@ -100,7 +96,7 @@ import TabItem from '@theme/TabItem'; - [MCSL](https://sync.mcsl.com.cn/core/Purpur) - + ![](_assets/leaves.svg) @@ -128,7 +124,7 @@ Leaves 基本完全支持客户端生电 mod,包括但不限于 Carpet、PCA - [Leaves 1.18.2](https://vip.123pan.cn/1821558579/6492009) - + ![](_assets/leaf.png) @@ -167,8 +163,8 @@ Leaves 基本完全支持客户端生电 mod,包括但不限于 Carpet、PCA ::: - - + + **优势**: @@ -186,7 +182,7 @@ Leaves 基本完全支持客户端生电 mod,包括但不限于 Carpet、PCA - [McRes](https://vip.123pan.cn/1821558579/Lingyi/core/pandaspigot-116-mcres.cn.jar) - + **优势**: diff --git a/src/content/docs/java/start/server-core-choose/sponge.md b/src/content/docs/java/start/server-core-choose/sponge.md deleted file mode 100644 index f6bb370ef..000000000 --- a/src/content/docs/java/start/server-core-choose/sponge.md +++ /dev/null @@ -1,35 +0,0 @@ ---- -title: Sponge -sidebar_position: 6 ---- - -# Sponge - -![](_assets/sponge.png) - -Sponge 有 SpongeForge (Forge+Sponge 插件) 和 SpongeVanilla (原版+Sponge 插件) 两种选择。 - -按照本文档的分类,SpongeForge 属于 [混合端](hybrid.md),但是 Sponge 与与他们有 **极大的** 不同。 - -最明显的区别是,Sponge 另起炉灶,是完全独立的插件生态,且从设计之初就考虑到了插件与 mod 的兼容问题, -你不大可能看到插件和 mod 打架的情况,但劣势也在此处,相比 Spigot / Paper,Sponge 插件 **十分稀少**。并且 Sponge 插件开发更加困难。 - -虽然 Sponge 有着较好的性能和完善的官方文档,但目前仍然不推荐新人使用此核心。 - -:::danger - -Sponge 插件与 Bukkit 插件不兼容。 - -::: - -:::info - -`官网` https://spongepowered.org - -`文档 (英文)` https://docs.spongepowered.org/stable/en - -`文档 (中文)` https://docs.spongepowered.org/stable/zh-CN - -::: - -更推荐的新人入门教程:https://archives.mcbbs.co/read.php?tid=786074 diff --git a/src/content/docs/java/start/server-dir-structure.mdx b/src/content/docs/java/start/server-dir-structure.mdx new file mode 100644 index 000000000..c61404016 --- /dev/null +++ b/src/content/docs/java/start/server-dir-structure.mdx @@ -0,0 +1,75 @@ +--- +title: 服务端结构 +sidebar_position: 3 +--- + +import { FileTree } from '@astrojs/starlight/components'; + +# 服务端结构 + +我们先来简单看一眼 插件端 的文件夹结构 (以 Purpur 为例): + + +- assets/ 储存 Minecraft 资源文件,不要乱动 +- cache/ 缓存文件夹 +- config/ Paper 服务器配置文件 +- crash-reports/ 服务器崩溃报告 +- libraries/ 服务器及插件依赖库 +- logs/ 服务端日志 +- plugins/ 插件文件夹 +- versions/ 版本依赖 jar +- world/ 主世界文件夹 + - advancements/ 成就文件夹 + - data/ 世界数据文件夹 + - datapacks/ 数据包 + - bukkit/ + - entities/ 实体数据 + - playerdata/ 玩家数据 + - poi/ 兴趣点数据 + - region/ 区块数据 + - stats/ 统计信息 +- world_nether/ 地狱世界文件夹 + - DIM-1/ + - data/ + - entities/ + - poi/ + - region/ +- world_the_end/ 末地世界文件夹 + - DIM1/ + - data/ + - entities/ + - poi/ + - region/ +- .console_history 控制台历史指令 +- banned-ips.json 被 ban IP 列表 +- banned-players.json 被 ban 玩家列表 +- bukkit.yml Bukkit 配置文件 +- commands.yml 命令映射配置 +- eula.txt EULA 协议文件 +- help.yml 插件帮助信息 +- ops.json OP 玩家列表 +- purpur.jar 服务核心 jar 文件 +- purpur.yml Purpur 服务器配置文件 +- permissions.yml 权限定义文件 +- server.properties 服务端基础配置 +- spigot.yml Spigot 服务器配置文件 +- usercache.json 玩家名称和 UUID 缓存 +- version_history 版本信息记录 +- whitelist.json 白名单列表 + + +对于类似 Catserver 的混合服务器,文件夹结构是类似的,基本就多了 `/mods` 文件夹,少了 Bukkit 的下游服务器特有的配置 (如 `purpur.yml` 等)。 + +:::info + +对于世界文件夹的详细说明,请前往 **[世界文件架构](what-is-world.md)** + +::: + +至此,大部分的以 Bukkit 为基础的服务器核心服务端的结构已经大致呈现在你眼前。 + +:::tip + +如果你的服务端有更多的文件,大概率是插件 (如 Slimefun、FAWE 等插件会释放更多文件夹) 创建的文件夹,一般来说无需担心。 + +::: diff --git a/src/content/docs/java/start/start.md b/src/content/docs/java/start/start.md deleted file mode 100644 index c534fc32a..000000000 --- a/src/content/docs/java/start/start.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 开始阶段 -slug: /start -sidebar_position: 3 -sidebar_label: Java 版开始阶段 ---- - -# 开始阶段 - -在这个阶段,我们主要为你介绍服务器基础知识,如何区别客户端和服务端、如何选择服务端、如何搭建并连接等。 - -import DocCardList from '@theme/DocCardList'; - - diff --git a/tsconfig.json b/tsconfig.json index 997820017..f9cf0d0d5 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -3,7 +3,6 @@ "include": [".astro/types.d.ts", "**/*"], "exclude": ["dist"], "compilerOptions": { - "baseUrl": "./", "resolveJsonModule": true, } } From 3097cff4aefbaebc7f28c0b234d5a4a625b0108e Mon Sep 17 00:00:00 2001 From: MrlingXD <90316914+wling-art@users.noreply.github.com> Date: Tue, 6 Jan 2026 13:13:32 +0800 Subject: [PATCH 03/42] =?UTF-8?q?=F0=9F=94=A7=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E6=9E=84=E5=BB=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- about/intro.md | 4 +- astro.config.ts | 1370 +++++++++-------- bedrock/bds/process/bdsx/bdsx-install.md | 2 +- .../bds/process/endstone/endstone-install.md | 2 +- .../bds/process/endstone/endstone-plugins.md | 2 +- bedrock/bds/process/endstone/endstone.md | 4 +- .../levilamina/legacy-script-engine.md | 2 +- .../process/levilamina/levilamina-install.md | 6 +- .../process/levilamina/levilamina-plugins.mdx | 4 +- bedrock/bds/process/liteloader-bds/install.md | 4 +- .../process/liteloader-bds/liteloader-bds.md | 4 +- .../bds/start/basic/server-dir-structure.mdx | 8 +- bedrock/nukkit/history.md | 26 +- .../start/basic/server-file-structure.mdx | 4 +- bedrock/nukkit/start/pm1e/controversy.md | 2 +- bedrock/pocketmine/description.md | 8 +- bedrock/super-basic/server-core-choose.md | 10 +- general/advance/arthas.md | 4 +- .../player-management/client-distribution.mdx | 4 +- .../management/player-management/feedback.md | 2 +- .../management/player-management/platform.md | 4 +- .../management/player-management/whitelist.md | 8 +- general/advance/viaproxy/index.md | 4 +- general/advance/viaproxy/plugins/auth.md | 4 +- .../advance/viaproxy/plugins/compatibility.md | 24 +- general/advance/viaproxy/plugins/features.md | 10 +- general/advance/viaproxy/plugins/network.md | 2 +- general/advance/website/install.md | 8 +- .../basics/_assets/nogui.jpg | Bin .../\345\217\243\345\255\227\347\254\246.png" | Bin .../docs/general => general}/basics/index.md | 0 .../general => general}/basics/what-is-log.md | 20 +- .../basics/what-is-messy-code.md | 0 .../basics/what-is-permission.md | 0 .../basics/what-is-plugin.md | 2 +- .../basics/what-is-server.md | 2 +- .../basics/what-is-startup-script.md | 4 +- .../writing-specification/blank.md | 16 +- .../documentation-system.md | 6 +- .../writing-specification/numerical-value.md | 12 +- .../writing-specification/paragraph.md | 8 +- .../punctuation-marks.md | 28 +- .../writing-specification/text.md | 50 +- .../maintenance/_assets/angryopenfrp.jpg | Bin .../maintenance.md => maintenance/intro.md} | 10 +- .../maintenance/plugin-troubleshooting.md | 5 +- .../preparation/dumb-script-usage.md | 0 .../preparation/services.md | 0 .../process/advance/domain-registration.md | 0 .../process/advance/linux.md | 0 .../advance => general/process}/bot.md | 0 general/process/whitelist.md | 4 +- .../choose-and-download-and-install-java.md | 8 - java/preparation/dumb-script-usage.md | 8 - java/preparation/services.md | 9 - java/preparation/text-editor.md | 9 - java/process/create-art-assets.md | 6 - java/process/dashboard.md | 6 - java/process/database.md | 8 - .../how-to-defend-against-cyber-attacks.md | 8 - java/process/maintenance/maintenance.md | 12 - .../resourcepack/plugins/plugins.md | 13 - .../basic/relationship-between-servers.md | 2 +- java/start/basic/what-is-lag.md | 8 - package.json | 3 +- pnpm-lock.yaml | 286 ++++ src/content.config.ts | 4 +- .../docs/{general => }/basics/what-is-lag.md | 6 +- .../bedrock/bds/preparation/preparation.md | 17 - .../docs/bedrock/bds/preparation/vcruntime.md | 12 - .../docs/bedrock/bds/preparation/websites.md | 116 -- .../docs/general/advance/bot/general.mdx | 2 +- src/content/docs/general/advance/bot/intro.md | 4 +- .../docs/general/advance/bot/plugin.mdx | 2 +- .../docs/general/advance/domain-and-dns.md | 10 +- ...ect-to-server.md => connect-to-server.mdx} | 21 +- .../general/advance/linux/keep-running.mdx | 2 +- .../docs/general/advance/linux/linux.md | 2 +- .../docs/general/advance/linux/start.mdx | 4 +- .../maintenance/_assets/angryopenfrp.jpg | Bin 0 -> 72549 bytes .../how-to-defend-against-cyber-attacks.md | 11 +- .../choose-and-download-and-install-java.md | 8 +- src/content/docs/general/java/environment.mdx | 4 +- src/content/docs/general/java/sdkman.md | 8 +- src/content/docs/general/more/ask-for-help.md | 6 +- .../preparation/text-editor/hbuilderx.md | 2 +- .../preparation/text-editor/notepad++.md | 2 +- .../docs/general/process/create-art-assets.md | 2 +- .../general/process/database/configure.md | 4 +- .../docs/general/process/database/install.md | 8 +- .../docs/general/process/database/intro.md | 4 +- .../docs/general/process/database/use.md | 6 +- .../deploy/apply-for-public-ip-address.md | 2 +- .../process/deploy/connect-to-the-cloud.md | 10 +- .../docs/general/process/deploy/frp.mdx | 60 +- .../process/deploy/intranet-penetration.md | 8 +- .../docs/general/process/deploy/intro.md | 2 +- .../process/deploy/optional-methods.md | 4 +- .../general/process/deploy/purchase-server.md | 8 +- .../docs/general/process/map/convert.md | 14 +- src/content/docs/general/process/map/intro.md | 20 +- .../docs/general/process/map/purchase.md | 2 +- src/content/docs/general/process/map/steal.md | 4 +- src/content/docs/general/process/map/web.md | 8 +- src/content/docs/general/process/panel.md | 2 +- src/content/docs/general/reading-guide.mdx | 2 +- .../docs/java/advance/login-choices.md | 4 +- .../_assets/anticheat/antixray-mode1-1.png | Bin .../_assets/anticheat/antixray-mode2-1.png | Bin .../_assets/anticheat/antixray-mode3-1.png | Bin .../anticheat/antixray-nerher-mode1.png | Bin .../anticheat/antixray-nerher-mode3.png | Bin .../anticheat/antixray-nether-mode2.png | Bin .../_assets/anticheat/talentsaclogo.png | Bin .../maintenance/anticheat/_assets/img.png | Bin .../maintenance/anticheat/_assets/img_1.png | Bin .../maintenance/anticheat/anti-crash.md | 5 +- .../maintenance/anticheat/anticheatplugins.md | 11 +- .../maintenance/anticheat/antixray.md | 7 +- .../maintenance/anticheat/honeypot.md | 7 +- .../advance/maintenance/anticheat/intro.md | 6 +- .../advance}/maintenance/anticheat/rng.md | 3 - .../docs/java/advance}/maintenance/backup.md | 25 +- .../docs/java/advance/maintenance/intro.md | 5 + .../java/advance/maintenance/lang/intro.md | 4 +- .../lang/javascript/extend/graaljs.md | 37 +- .../lang/javascript/extend/intro.md | 5 +- .../lang/javascript/extend/nashorn.md | 3 - .../maintenance/lang/javascript/intro.md | 14 +- .../lang/kether/_assets/Vulpecula/1.png | Bin .../lang/kether/_assets/Vulpecula/2.png | Bin .../lang/kether/_assets/Vulpecula/3.png | Bin .../lang/kether/_assets/Vulpecula/4.png | Bin .../lang/kether/_assets/Vulpecula/5.png | Bin .../lang/kether/_assets/Vulpecula/6.png | Bin .../lang/kether/_assets/Vulpecula/7.png | Bin .../lang/kether/_assets/Vulpecula/8.png | Bin .../lang/kether/_assets/Vulpecula/9.png | Bin .../maintenance/lang/kether/_assets/if_1.png | Bin .../maintenance/lang/kether/_assets/if_2.png | Bin .../maintenance/lang/kether/_assets/if_3.png | Bin .../lang/kether/_assets/inline.png | Bin .../lang/kether/_assets/math_1.png | Bin .../lang/kether/_assets/result.png | Bin .../lang/kether/_assets/type_1.png | Bin .../maintenance/lang/kether/_assets/var_1.png | Bin .../maintenance/lang/kether/_assets/var_2.png | Bin .../maintenance/lang/kether/_assets/var_3.png | Bin .../maintenance/lang/kether/_assets/var_4.png | Bin .../maintenance/lang/kether/_assets/var_5.png | Bin .../maintenance/lang/kether/_assets/var_6.png | Bin .../maintenance/lang/kether/_assets/var_7.png | Bin .../lang/kether/_assets/vul-check.png | Bin .../lang/kether/_assets/vul-color.png | Bin .../lang/kether/_assets/vul-papi.png | Bin .../lang/kether/_assets/vul-perm.png | Bin .../lang/kether/_assets/vul-permNot_1.png | Bin .../lang/kether/_assets/vul-permNot_2.png | Bin .../lang/kether/_assets/vul-tell.png | Bin .../lang/kether/_assets/vul-tell_color.png | Bin .../lang/kether/_assets/vul-tell_name.png | Bin .../lang/kether/_assets/vul-tell_noColor.png | Bin .../kether/_assets/vul-tell_papiNoInline.png | Bin .../_assets/vul-tell_papiWithInline.png | Bin .../kether/_assets/vul-tell_papiWithJoin.png | Bin .../lang/kether/_assets/vul-tell_tell.png | Bin .../lang/kether/_assets/web-tell.png | Bin .../_assets/\345\206\222\346\261\227.jpg" | Bin .../_assets/\346\213\254\345\217\267.png" | Bin .../\346\255\243\347\273\217\347\254\221.jpg" | Bin .../_assets/\347\227\264\345\221\206.jpg" | Bin .../advance}/maintenance/lang/kether/basic.md | 9 +- .../advance}/maintenance/lang/kether/if.md | 23 +- .../advance/maintenance/lang/kether/intro.md | 10 +- .../advance}/maintenance/lang/kether/math.md | 7 +- .../advance}/maintenance/lang/kether/misc.md | 3 +- .../maintenance/lang/kether/preparation.md | 7 +- .../maintenance/lang/kether/variable.md | 7 +- .../maintenance/lang/kether/vulpecula.md | 5 +- .../lang/skript/_assets/QuerySubclasses.png | Bin .../lang/skript/_assets/SearchEvent.png | Bin .../lang/skript/_assets/SearchMethods.png | Bin .../lang/skript/_assets/SkriptBasic1.png | Bin .../lang/skript/advanced-tutorials.md | 19 +- .../lang/skript/basic-tutorials.md | 15 +- .../advance/maintenance/lang/skript/intro.md | 12 +- .../maintenance/optimize/_assets/ummm.jpg | Bin .../spark_start.png" | Bin .../spark_stop.png" | Bin .../maintenance/optimize/ask-for-help.md | 9 +- .../java/advance}/maintenance/optimize/go.mdx | 30 +- .../advance}/maintenance/optimize/img.png | Bin .../advance/maintenance/optimize/intro.md | 25 +- .../maintenance/optimize/jvm/common.md | 34 +- .../maintenance/optimize/jvm/dragonwell11.md | 8 +- .../maintenance/optimize/jvm/dragonwell8.md | 12 +- .../maintenance/optimize/jvm/graal.md | 12 +- .../advance/maintenance/optimize/jvm/intro.md | 6 +- .../maintenance/optimize/jvm/openj9.md | 22 +- .../advance}/maintenance/optimize/jvm/zing.md | 12 +- .../advance/maintenance/optimize/kernel.mdx | 26 +- .../maintenance/optimize/optimized-plugin.md | 25 +- .../optimize/performance-analysis.md | 11 +- .../optimize/storage-space-optimization.md | 21 +- .../maintenance/resourcepack/_assets/1.png | Bin .../maintenance/resourcepack/_assets/2.png | Bin .../maintenance/resourcepack/_assets/3.png | Bin .../maintenance/resourcepack/_assets/4.png | Bin .../maintenance/resourcepack/_assets/5.png | Bin .../maintenance/resourcepack/_assets/6.png | Bin .../maintenance/resourcepack/_assets/7.png | Bin .../maintenance/resourcepack/_assets/8.png | Bin .../resourcepack/_assets/blockbench.png | Bin .../maintenance/resourcepack/_assets/head.png | Bin .../resourcepack/_assets/title.png | Bin .../resourcepack/_assets/tooltip1.png | Bin .../resourcepack/_assets/tooltip2.png | Bin .../maintenance/resourcepack/addon.md | 5 +- .../maintenance/resourcepack/compress.md | 5 +- .../advance/maintenance/resourcepack/intro.md | 6 +- ...b2c895c2af14fbc7e6989404d0ff7af64020ea.gif | Bin ...2f487d799270ea2e204de73236dda77d18f954.gif | Bin ...a53ea3a4d029784f4ed54d17a335e099b805b4.gif | Bin ...4a015981222b37bfa3b2324113d919a33b090f.png | Bin ...470cba6836ab471f19c8e788c513765de2d02c.png | Bin ...a7f51a86d1a313f1b41f27e021421adc93eec9.png | Bin ...b239e0689c433ef5a2c0e85f710e988bf1ba4e.gif | Bin ...658155424cd985553237821611dfdea040b166.gif | Bin .../plugins/_assets/videoframe_1994.png | Bin .../plugins/_assets/videoframe_931.png | Bin .../resourcepack/plugins/entity.mdx | 23 +- .../resourcepack/plugins/framework.mdx | 36 +- .../maintenance/resourcepack/plugins/hud.mdx | 16 +- .../maintenance/resourcepack/plugins/intro.md | 5 + .../maintenance/resourcepack/plugins/misc.mdx | 24 +- .../resourcepack/plugins/tooltip.md | 5 +- .../resourcepack/plugins/vehicles.mdx | 24 +- .../maintenance/resourcepack/protect.md | 9 +- .../advance}/maintenance/resourcepack/send.md | 3 - .../maintenance/resourcepack/software.md | 3 - src/content/docs/java/advance/slime-world.md | 4 +- .../process/cross-server/hide-the-real-ip.md | 2 +- .../docs/java/process/cross-server/intro.md | 6 +- .../java/process/cross-server/join-server.md | 10 +- .../plugin/proxy-backend-mandatory.md | 22 +- .../plugin/proxy-backend-optional.md | 89 +- .../process/cross-server/plugin/proxy-only.md | 46 +- .../java/process/cross-server/precautions.md | 10 +- .../cross-server/server-core-choose.md | 4 +- .../cross-server/setup/bungeecord/intro.md | 2 +- .../cross-server/setup/bungeecord/lobby.md | 6 +- .../cross-server/setup/bungeecord/setup.md | 8 +- .../cross-server/setup/transfer/intro.md | 2 +- .../cross-server/setup/transfer/setup.md | 6 +- .../setup/velocity-ctd/features.md | 20 +- .../cross-server/setup/velocity-ctd/lobby.md | 6 +- .../cross-server/setup/velocity-ctd/setup.md | 10 +- .../setup/velocity-ctd/velocity-toml.md | 4 +- .../cross-server/setup/velocity/intro.md | 12 +- .../cross-server/setup/velocity/lobby.md | 6 +- .../cross-server/setup/velocity/setup.md | 10 +- .../mobile-player/client/amethyst-ios.md | 2 +- .../mobile-player/client/pojav-android.md | 2 +- .../process/mobile-player/client/pojav-ios.md | 4 +- .../java/process/mobile-player/geyser/faq.md | 4 +- .../process/mobile-player/geyser/install.md | 8 +- .../process/mobile-player/geyser/intro.md | 4 +- .../geyser/upgrade/extended/fix.mdx | 19 +- .../geyser/upgrade/extended/intro.md | 2 +- .../geyser/upgrade/geyser-skull.md | 2 +- .../geyser/upgrade/geysermeg4-supports.md | 2 +- .../mobile-player/geyser/upgrade/link.md | 2 +- .../docs/java/process/mobile-player/intro.md | 2 +- .../java/process/plugin/game/dragoncore.md | 4 +- .../java/process/plugin/game/germengine.md | 4 +- .../docs/java/process/plugin/game/nova.md | 2 +- .../process/plugin/game/slimefun/intro.md | 2 +- .../slimefun/resourcepack-for-slimefun.md | 2 +- .../process/plugin/game/title/deluxetags.md | 2 +- .../plugin/game/title/miniplayertitle.md | 4 +- .../plugin/game/title/mythicprefixes.md | 2 +- .../process/plugin/game/title/playertitle.md | 2 +- .../process/plugin/game/title/userprefix.md | 2 +- src/content/docs/java/process/plugin/intro.md | 12 +- .../management-tool/anti-grief/coreprotect.md | 2 +- .../management-tool/anti-grief/intro.md | 4 +- .../anti-grief/invseeplusplus.md | 4 +- .../anti-grief/prismrefracted.md | 2 +- .../basic-plugins/cmi/intro.md | 2 +- .../management-tool/basic-plugins/delete.md | 6 +- .../basic-plugins/essentialsx/faq.md | 2 +- .../basic-plugins/essentialsx/intro.md | 2 +- .../basic-plugins/essentialsx/kit.md | 12 +- .../basic-plugins/essentialsx/papi-support.md | 6 +- .../basic-plugins/essentialsx/warp.md | 6 +- .../management-tool/basic-plugins/sunlight.md | 2 +- .../plugin/management-tool/chat/carbon.md | 2 +- .../plugin/management-tool/chat/huskchat.md | 2 +- .../plugin/management-tool/chat/trchat.md | 2 +- .../plugin/management-tool/items/crucible.md | 2 +- .../plugin/management-tool/items/ecoItems.md | 2 +- .../plugin/management-tool/items/misc.md | 10 +- .../plugin/management-tool/items/mmoitems.md | 2 +- .../management-tool/items/neigeitems.md | 2 +- .../plugin/management-tool/items/ratziel.md | 2 +- .../plugin/management-tool/items/sx-item.md | 2 +- .../plugin/management-tool/items/zaphkiel.md | 4 +- .../management-tool/permission/command.md | 12 +- .../management-tool/permission/intro.md | 2 +- .../plugin/management-tool/permission/meta.md | 16 +- .../plugin/management-tool/permission/tips.md | 10 +- .../plugin-management/plugin-portal.md | 2 +- .../plugin-management/plugmanx.md | 2 +- .../plugin-management/serverutils.md | 2 +- .../management-tool/task/beautyquests.md | 2 +- .../plugin/management-tool/task/betonquest.md | 2 +- .../plugin/management-tool/task/chemdah.md | 4 +- .../plugin/management-tool/task/mangoquest.md | 2 +- .../management-tool/task/questengine.md | 2 +- .../plugin/management-tool/task/quests.md | 2 +- .../plugin/management-tool/task/typewriter.md | 2 +- .../plugin/misc/holograms/decentholograms.md | 6 +- .../misc/holograms/holographicdisplays.md | 4 +- .../java/process/plugin/misc/login/authme.md | 4 +- .../process/plugin/misc/login/catseedlogin.md | 2 +- .../process/plugin/misc/login/librelogin.md | 2 +- .../process/plugin/misc/login/limboauth.md | 2 +- .../process/plugin/misc/menu/chestcommands.md | 2 +- .../process/plugin/misc/menu/deluxemenus.md | 2 +- .../java/process/plugin/misc/menu/invero.md | 2 +- .../java/process/plugin/misc/menu/trmenu.md | 22 +- .../java/process/plugin/misc/motd/minimotd.md | 2 +- .../java/process/plugin/misc/mythicmobs.md | 2 +- .../java/process/plugin/misc/npc/adyeshach.md | 6 +- .../java/process/plugin/misc/npc/citizens.md | 6 +- .../java/process/plugin/misc/npc/intro.md | 2 +- .../java/process/plugin/misc/npc/znpcsplus.md | 2 +- .../java/process/plugin/misc/quickshop.md | 16 +- .../java/process/plugin/misc/skinsrestorer.md | 2 +- .../plugin/misc/tab-scoreboard/simplescore.md | 2 +- .../process/plugin/misc/tab-scoreboard/tab.md | 8 +- .../misc/tab-scoreboard/titlemanager.md | 2 +- .../java/process/plugin/misc/via/intro.md | 4 +- .../process/plugin/misc/via/more-for-via.md | 12 +- .../process/plugin/misc/via/viabackwards.md | 4 +- .../java/process/plugin/misc/via/viarewind.md | 4 +- .../process/plugin/misc/via/viaversion.md | 4 +- .../java/process/plugin/more/color-message.md | 6 +- .../docs/java/process/plugin/more/faq.md | 8 +- .../process/plugin/more/plugin-backdoor.md | 6 +- .../plugin/more/plugin-build/idea-build.md | 2 +- .../plugin/more/plugin-build/intro.mdx | 59 +- .../more/plugin-build/terminal-build.md | 10 +- .../java/process/plugin/more/plugin-config.md | 10 +- .../process/plugin/more/plugin-download.md | 4 +- .../java/process/plugin/more/tittle-tattle.md | 4 +- .../process/plugin/more/yaml/extention.md | 2 +- .../java/process/plugin/more/yaml/intro.md | 4 +- .../placeholderapi/change-output.md | 6 +- .../placeholderapi/check-item.md | 20 +- .../placeholderapi/common-usage.md | 30 +- .../plugin-dependencies/placeholderapi/faq.md | 9 +- .../{placeholderapi.md => intro.md} | 2 +- .../placeholderapi/intro.mdx | 14 + .../placeholderapi/javascript.md | 2 +- .../placeholderapi/math.md | 8 +- .../placeholderapi/parse-other.md | 6 +- .../placeholderapi/progress.md | 8 +- .../placeholderapi/string.md | 4 +- .../plugin-dependencies/playerpoints.md | 2 +- .../plugin/plugin-dependencies/protocollib.md | 2 +- .../plugin/plugin-dependencies/vault/intro.md | 4 +- .../plugin-dependencies/vault/serviceio.md | 2 +- .../vault/vaultunlocked.md | 2 +- .../plugin/plugin-dependencies/xconomy.md | 6 +- .../process/plugin/protection/askyblock.md | 4 +- .../process/plugin/protection/bentobox.md | 2 +- .../process/plugin/protection/dominion.md | 4 +- .../plugin/protection/griefdefender.md | 2 +- .../process/plugin/protection/plotsquared.md | 4 +- .../process/plugin/protection/residence.md | 4 +- .../java/process/plugin/protection/towny.md | 2 +- .../world-management/fastasyncworldedit.md | 4 +- .../process/plugin/world-management/law.md | 2 +- .../world-management/lobby/deluxehub.md | 4 +- .../lobby/deluxehubreloaded.md | 4 +- .../lobby/superlobbydeluxe.md | 2 +- .../world-management/multiverse/faq1.md | 8 +- .../world-management/multiverse/intro.md | 2 +- .../plugin/world-management/myworld.md | 2 +- .../plugin/world-management/nobuildplus.md | 2 +- .../plugin/world-management/worldedit.md | 4 +- .../world-management/worldgen/irisworldgen.md | 2 +- .../plugin/world-management/worldgen/terra.md | 2 +- .../worldgen/terraformgenerator.md | 2 +- .../plugin/world-management/worldguard.md | 4 +- .../docs/java/process/redstone/plugin.md | 6 +- src/content/docs/java/start/config-server.md | 12 +- .../docs/java/start/connect-to-server.md | 6 +- .../docs/java/start/install-mod-server.mdx | 2 +- src/content/docs/java/start/launch-server.mdx | 10 +- .../start/server-core-choose/folia/intro.md | 6 +- .../start/server-core-choose/folia/misc.md | 8 +- .../java/start/server-core-choose/hybrid.md | 6 +- .../java/start/server-core-choose/intro.md | 8 +- .../docs/java/start/server-core-choose/mod.md | 4 +- .../java/start/server-core-choose/plugin.mdx | 2 +- .../docs/java/start/server-dir-structure.mdx | 4 +- 408 files changed, 2130 insertions(+), 2070 deletions(-) rename {src/content/docs/general => general}/basics/_assets/nogui.jpg (100%) rename "src/content/docs/general/basics/_assets/\345\217\243\345\255\227\347\254\246.png" => "general/basics/_assets/\345\217\243\345\255\227\347\254\246.png" (100%) rename {src/content/docs/general => general}/basics/index.md (100%) rename {src/content/docs/general => general}/basics/what-is-log.md (87%) rename {src/content/docs/general => general}/basics/what-is-messy-code.md (100%) rename {src/content/docs/general => general}/basics/what-is-permission.md (100%) rename {src/content/docs/general => general}/basics/what-is-plugin.md (99%) rename {src/content/docs/general => general}/basics/what-is-server.md (97%) rename {src/content/docs/general => general}/basics/what-is-startup-script.md (99%) rename general/{process => }/maintenance/_assets/angryopenfrp.jpg (100%) rename general/{process/maintenance/maintenance.md => maintenance/intro.md} (82%) rename general/{process => }/maintenance/plugin-troubleshooting.md (92%) rename {src/content/docs/general => general}/preparation/dumb-script-usage.md (100%) rename {src/content/docs/general => general}/preparation/services.md (100%) rename {src/content/docs/general => general}/process/advance/domain-registration.md (100%) rename {src/content/docs/general => general}/process/advance/linux.md (100%) rename {src/content/docs/general/process/advance => general/process}/bot.md (100%) delete mode 100644 java/preparation/choose-and-download-and-install-java.md delete mode 100644 java/preparation/dumb-script-usage.md delete mode 100644 java/preparation/services.md delete mode 100644 java/preparation/text-editor.md delete mode 100644 java/process/create-art-assets.md delete mode 100644 java/process/dashboard.md delete mode 100644 java/process/database.md delete mode 100644 java/process/maintenance/how-to-defend-against-cyber-attacks.md delete mode 100644 java/process/maintenance/maintenance.md delete mode 100644 java/process/maintenance/resourcepack/plugins/plugins.md delete mode 100644 java/start/basic/what-is-lag.md rename src/content/docs/{general => }/basics/what-is-lag.md (98%) delete mode 100644 src/content/docs/bedrock/bds/preparation/preparation.md delete mode 100644 src/content/docs/bedrock/bds/preparation/vcruntime.md delete mode 100644 src/content/docs/bedrock/bds/preparation/websites.md rename src/content/docs/general/advance/linux/{connect-to-server.md => connect-to-server.mdx} (91%) create mode 100644 src/content/docs/general/advance/maintenance/_assets/angryopenfrp.jpg rename {general/process => src/content/docs/general/advance}/maintenance/how-to-defend-against-cyber-attacks.md (99%) rename general/advance/frp.md => src/content/docs/general/process/deploy/frp.mdx (91%) rename {java/process => src/content/docs/java/advance}/maintenance/anticheat/_assets/anticheat/antixray-mode1-1.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/anticheat/_assets/anticheat/antixray-mode2-1.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/anticheat/_assets/anticheat/antixray-mode3-1.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/anticheat/_assets/anticheat/antixray-nerher-mode1.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/anticheat/_assets/anticheat/antixray-nerher-mode3.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/anticheat/_assets/anticheat/antixray-nether-mode2.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/anticheat/_assets/anticheat/talentsaclogo.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/anticheat/_assets/img.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/anticheat/_assets/img_1.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/anticheat/anti-crash.md (98%) rename {java/process => src/content/docs/java/advance}/maintenance/anticheat/anticheatplugins.md (99%) rename {java/process => src/content/docs/java/advance}/maintenance/anticheat/antixray.md (99%) rename {java/process => src/content/docs/java/advance}/maintenance/anticheat/honeypot.md (98%) rename java/process/maintenance/anticheat/anticheat.md => src/content/docs/java/advance/maintenance/anticheat/intro.md (94%) rename {java/process => src/content/docs/java/advance}/maintenance/anticheat/rng.md (98%) rename {java/process => src/content/docs/java/advance}/maintenance/backup.md (91%) create mode 100644 src/content/docs/java/advance/maintenance/intro.md rename java/process/maintenance/lang/lang.md => src/content/docs/java/advance/maintenance/lang/intro.md (98%) rename {java/process => src/content/docs/java/advance}/maintenance/lang/javascript/extend/graaljs.md (95%) rename java/process/maintenance/lang/javascript/extend/extend.md => src/content/docs/java/advance/maintenance/lang/javascript/extend/intro.md (90%) rename {java/process => src/content/docs/java/advance}/maintenance/lang/javascript/extend/nashorn.md (99%) rename java/process/maintenance/lang/javascript/javascript.md => src/content/docs/java/advance/maintenance/lang/javascript/intro.md (92%) rename {java/process => src/content/docs/java/advance}/maintenance/lang/kether/_assets/Vulpecula/1.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/lang/kether/_assets/Vulpecula/2.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/lang/kether/_assets/Vulpecula/3.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/lang/kether/_assets/Vulpecula/4.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/lang/kether/_assets/Vulpecula/5.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/lang/kether/_assets/Vulpecula/6.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/lang/kether/_assets/Vulpecula/7.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/lang/kether/_assets/Vulpecula/8.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/lang/kether/_assets/Vulpecula/9.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/lang/kether/_assets/if_1.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/lang/kether/_assets/if_2.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/lang/kether/_assets/if_3.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/lang/kether/_assets/inline.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/lang/kether/_assets/math_1.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/lang/kether/_assets/result.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/lang/kether/_assets/type_1.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/lang/kether/_assets/var_1.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/lang/kether/_assets/var_2.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/lang/kether/_assets/var_3.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/lang/kether/_assets/var_4.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/lang/kether/_assets/var_5.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/lang/kether/_assets/var_6.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/lang/kether/_assets/var_7.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/lang/kether/_assets/vul-check.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/lang/kether/_assets/vul-color.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/lang/kether/_assets/vul-papi.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/lang/kether/_assets/vul-perm.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/lang/kether/_assets/vul-permNot_1.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/lang/kether/_assets/vul-permNot_2.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/lang/kether/_assets/vul-tell.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/lang/kether/_assets/vul-tell_color.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/lang/kether/_assets/vul-tell_name.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/lang/kether/_assets/vul-tell_noColor.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/lang/kether/_assets/vul-tell_papiNoInline.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/lang/kether/_assets/vul-tell_papiWithInline.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/lang/kether/_assets/vul-tell_papiWithJoin.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/lang/kether/_assets/vul-tell_tell.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/lang/kether/_assets/web-tell.png (100%) rename "java/process/maintenance/lang/kether/_assets/\345\206\222\346\261\227.jpg" => "src/content/docs/java/advance/maintenance/lang/kether/_assets/\345\206\222\346\261\227.jpg" (100%) rename "java/process/maintenance/lang/kether/_assets/\346\213\254\345\217\267.png" => "src/content/docs/java/advance/maintenance/lang/kether/_assets/\346\213\254\345\217\267.png" (100%) rename "java/process/maintenance/lang/kether/_assets/\346\255\243\347\273\217\347\254\221.jpg" => "src/content/docs/java/advance/maintenance/lang/kether/_assets/\346\255\243\347\273\217\347\254\221.jpg" (100%) rename "java/process/maintenance/lang/kether/_assets/\347\227\264\345\221\206.jpg" => "src/content/docs/java/advance/maintenance/lang/kether/_assets/\347\227\264\345\221\206.jpg" (100%) rename {java/process => src/content/docs/java/advance}/maintenance/lang/kether/basic.md (98%) rename {java/process => src/content/docs/java/advance}/maintenance/lang/kether/if.md (95%) rename java/process/maintenance/lang/kether/kether.md => src/content/docs/java/advance/maintenance/lang/kether/intro.md (73%) rename {java/process => src/content/docs/java/advance}/maintenance/lang/kether/math.md (95%) rename {java/process => src/content/docs/java/advance}/maintenance/lang/kether/misc.md (90%) rename {java/process => src/content/docs/java/advance}/maintenance/lang/kether/preparation.md (92%) rename {java/process => src/content/docs/java/advance}/maintenance/lang/kether/variable.md (96%) rename {java/process => src/content/docs/java/advance}/maintenance/lang/kether/vulpecula.md (95%) rename {java/process => src/content/docs/java/advance}/maintenance/lang/skript/_assets/QuerySubclasses.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/lang/skript/_assets/SearchEvent.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/lang/skript/_assets/SearchMethods.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/lang/skript/_assets/SkriptBasic1.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/lang/skript/advanced-tutorials.md (99%) rename {java/process => src/content/docs/java/advance}/maintenance/lang/skript/basic-tutorials.md (99%) rename java/process/maintenance/lang/skript/skript.md => src/content/docs/java/advance/maintenance/lang/skript/intro.md (93%) rename {java/process => src/content/docs/java/advance}/maintenance/optimize/_assets/ummm.jpg (100%) rename "java/process/maintenance/optimize/_assets/\346\200\216\344\271\210\350\256\251\345\244\247\344\275\254\345\270\256\346\210\221/spark_start.png" => "src/content/docs/java/advance/maintenance/optimize/_assets/\346\200\216\344\271\210\350\256\251\345\244\247\344\275\254\345\270\256\346\210\221/spark_start.png" (100%) rename "java/process/maintenance/optimize/_assets/\346\200\216\344\271\210\350\256\251\345\244\247\344\275\254\345\270\256\346\210\221/spark_stop.png" => "src/content/docs/java/advance/maintenance/optimize/_assets/\346\200\216\344\271\210\350\256\251\345\244\247\344\275\254\345\270\256\346\210\221/spark_stop.png" (100%) rename {java/process => src/content/docs/java/advance}/maintenance/optimize/ask-for-help.md (82%) rename {java/process => src/content/docs/java/advance}/maintenance/optimize/go.mdx (98%) rename {java/process => src/content/docs/java/advance}/maintenance/optimize/img.png (100%) rename java/process/maintenance/optimize/optimize.md => src/content/docs/java/advance/maintenance/optimize/intro.md (82%) rename {java/process => src/content/docs/java/advance}/maintenance/optimize/jvm/common.md (92%) rename {java/process => src/content/docs/java/advance}/maintenance/optimize/jvm/dragonwell11.md (96%) rename {java/process => src/content/docs/java/advance}/maintenance/optimize/jvm/dragonwell8.md (96%) rename {java/process => src/content/docs/java/advance}/maintenance/optimize/jvm/graal.md (97%) rename java/process/maintenance/optimize/jvm/jvm.md => src/content/docs/java/advance/maintenance/optimize/jvm/intro.md (98%) rename {java/process => src/content/docs/java/advance}/maintenance/optimize/jvm/openj9.md (94%) rename {java/process => src/content/docs/java/advance}/maintenance/optimize/jvm/zing.md (97%) rename java/process/maintenance/optimize/kernel.md => src/content/docs/java/advance/maintenance/optimize/kernel.mdx (97%) rename {java/process => src/content/docs/java/advance}/maintenance/optimize/optimized-plugin.md (92%) rename {java/process => src/content/docs/java/advance}/maintenance/optimize/performance-analysis.md (97%) rename {java/process => src/content/docs/java/advance}/maintenance/optimize/storage-space-optimization.md (82%) rename {java/process => src/content/docs/java/advance}/maintenance/resourcepack/_assets/1.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/resourcepack/_assets/2.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/resourcepack/_assets/3.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/resourcepack/_assets/4.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/resourcepack/_assets/5.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/resourcepack/_assets/6.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/resourcepack/_assets/7.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/resourcepack/_assets/8.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/resourcepack/_assets/blockbench.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/resourcepack/_assets/head.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/resourcepack/_assets/title.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/resourcepack/_assets/tooltip1.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/resourcepack/_assets/tooltip2.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/resourcepack/addon.md (90%) rename {java/process => src/content/docs/java/advance}/maintenance/resourcepack/compress.md (98%) rename java/process/maintenance/resourcepack/resourcepack.md => src/content/docs/java/advance/maintenance/resourcepack/intro.md (96%) rename {java/process => src/content/docs/java/advance}/maintenance/resourcepack/plugins/_assets/25b2c895c2af14fbc7e6989404d0ff7af64020ea.gif (100%) rename {java/process => src/content/docs/java/advance}/maintenance/resourcepack/plugins/_assets/272f487d799270ea2e204de73236dda77d18f954.gif (100%) rename {java/process => src/content/docs/java/advance}/maintenance/resourcepack/plugins/_assets/30a53ea3a4d029784f4ed54d17a335e099b805b4.gif (100%) rename {java/process => src/content/docs/java/advance}/maintenance/resourcepack/plugins/_assets/4f4a015981222b37bfa3b2324113d919a33b090f.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/resourcepack/plugins/_assets/52470cba6836ab471f19c8e788c513765de2d02c.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/resourcepack/plugins/_assets/d0a7f51a86d1a313f1b41f27e021421adc93eec9.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/resourcepack/plugins/_assets/f6b239e0689c433ef5a2c0e85f710e988bf1ba4e.gif (100%) rename {java/process => src/content/docs/java/advance}/maintenance/resourcepack/plugins/_assets/fd658155424cd985553237821611dfdea040b166.gif (100%) rename {java/process => src/content/docs/java/advance}/maintenance/resourcepack/plugins/_assets/videoframe_1994.png (100%) rename {java/process => src/content/docs/java/advance}/maintenance/resourcepack/plugins/_assets/videoframe_931.png (100%) rename java/process/maintenance/resourcepack/plugins/entity.md => src/content/docs/java/advance/maintenance/resourcepack/plugins/entity.mdx (84%) rename java/process/maintenance/resourcepack/plugins/framework.md => src/content/docs/java/advance/maintenance/resourcepack/plugins/framework.mdx (93%) rename java/process/maintenance/resourcepack/plugins/hud.md => src/content/docs/java/advance/maintenance/resourcepack/plugins/hud.mdx (78%) create mode 100644 src/content/docs/java/advance/maintenance/resourcepack/plugins/intro.md rename java/process/maintenance/resourcepack/plugins/misc.md => src/content/docs/java/advance/maintenance/resourcepack/plugins/misc.mdx (83%) rename {java/process => src/content/docs/java/advance}/maintenance/resourcepack/plugins/tooltip.md (89%) rename java/process/maintenance/resourcepack/plugins/vehicles.md => src/content/docs/java/advance/maintenance/resourcepack/plugins/vehicles.mdx (67%) rename {java/process => src/content/docs/java/advance}/maintenance/resourcepack/protect.md (95%) rename {java/process => src/content/docs/java/advance}/maintenance/resourcepack/send.md (99%) rename {java/process => src/content/docs/java/advance}/maintenance/resourcepack/software.md (93%) rename src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/{placeholderapi.md => intro.md} (99%) create mode 100644 src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/intro.mdx diff --git a/about/intro.md b/about/intro.md index eed7e62c4..3043c546a 100644 --- a/about/intro.md +++ b/about/intro.md @@ -5,7 +5,7 @@ title: 关于我们 # 关于我们 -```text +```txt 👋你好!我是 Cubic-Project 团队的建立者与 NitWikit 的核心贡献者 llf ``` @@ -15,7 +15,7 @@ Cubic 在群友的建议中被选中,成为了新组织的名字 ## 驿站自述 -```text +```txt 👋你好!我是 NitWikit 项目和 8aka-Team 团队的建立者驿站 ``` diff --git a/astro.config.ts b/astro.config.ts index a3d7fac57..b4a71d978 100644 --- a/astro.config.ts +++ b/astro.config.ts @@ -7,8 +7,12 @@ import starlightGiscus from "starlight-giscus"; import starlightImageZoom from "starlight-image-zoom"; import starlightLinksValidator from "starlight-links-validator"; import starlightSidebarTopics from "starlight-sidebar-topics"; +import starlightDocSearch from "@astrojs/starlight-docsearch"; + +const IS_CHINA_SITE = process.env.CHINA === "true"; export default defineConfig({ + site: IS_CHINA_SITE ? "https://nitwikit.8aka.cn" : "https://nitwikit.8aka.org", integrations: [ starlight({ title: "Cubic Wiki", @@ -33,628 +37,764 @@ export default defineConfig({ categoryId: "DIC_kwDOQWQ-Ns4Cx2No", mapping: "og:title" }), - starlightSidebarTopics([ - { - label: "基础", - link: "/general/intro", - icon: "open-book", - items: [ - { - label: "从零开始", - collapsed: false, - items: [{ label: "快速开始", slug: "general/intro" }, "general/reading-guide"] - } - ] - }, - { - label: "Java", - link: "/java/intro", - icon: "open-book", - items: [ - { - label: "快速开始", - collapsed: false, - items: ["java/intro"] - }, - { - label: "准备工作", - items: [ - "java/preparation/intro", - { - label: "安装 Java", - collapsed: true, - items: [ - "general/java/intro", - "general/java/choose-and-download-and-install-java", - "general/java/environment", - "general/java/sdkman", - "general/java/faq" - ] - }, - { - label: "文本编辑器", - collapsed: true, - autogenerate: { directory: "general/preparation/text-editor" } - } - ] - }, - { - label: "开始阶段", - items: [ - "java/start/intro", - { - label: "选择服务器端", - collapsed: true, - items: [ - "java/start/server-core-choose/intro", - "java/start/server-core-choose/plugin", - "java/start/server-core-choose/mod", - "java/start/server-core-choose/hybrid", - { - label: "Folia", - collapsed: true, - autogenerate: { directory: "java/start/server-core-choose/folia" } + starlightSidebarTopics( + [ + { + label: "基础", + link: "/general/intro", + icon: "open-book", + id: "basics", + items: [ + { + label: "从零开始", + collapsed: false, + items: [{ label: "快速开始", slug: "general/intro" }, "general/reading-guide"] + } + ] + }, + { + label: "Java", + link: "/java/intro", + icon: "open-book", + items: [ + { + label: "快速开始", + collapsed: false, + items: ["java/intro"] + }, + { + label: "准备工作", + items: [ + "java/preparation/intro", + { + label: "安装 Java", + collapsed: true, + items: [ + "general/java/intro", + "general/java/choose-and-download-and-install-java", + "general/java/environment", + "general/java/sdkman", + "general/java/faq" + ] + }, + { + label: "文本编辑器", + collapsed: true, + autogenerate: { directory: "general/preparation/text-editor" } + } + ] + }, + { + label: "开始阶段", + items: [ + "java/start/intro", + { + label: "选择服务器端", + collapsed: true, + items: [ + "java/start/server-core-choose/intro", + "java/start/server-core-choose/plugin", + "java/start/server-core-choose/mod", + "java/start/server-core-choose/hybrid", + { + label: "Folia", + collapsed: true, + autogenerate: { directory: "java/start/server-core-choose/folia" } + } + ] + }, + "java/start/install-mod-server", + "java/start/launch-server", + "java/start/server-dir-structure", + "java/start/config-server", + "java/start/connect-to-server", + { + label: "部署到生产环境", + collapsed: true, + autogenerate: { directory: "general/process/deploy" } + } + ] + }, + { + label: "建设与运营", + items: [ + "java/process/intro", + { + label: "插件", + collapsed: true, + items: [ + "java/process/plugin/intro", + { + label: "前言与基础", + collapsed: true, + items: [ + "java/process/plugin/more/intro", + "java/process/plugin/more/plugin-download", + { + label: "YAML", + collapsed: true, + items: [ + "java/process/plugin/more/yaml/intro", + "java/process/plugin/more/yaml/general", + "java/process/plugin/more/yaml/extention" + ] + }, + "java/process/plugin/more/color-message", + "java/process/plugin/more/plugin-abbreviation", + "java/process/plugin/more/plugin-backdoor", + { + label: "插件构建", + collapsed: true, + items: [ + "java/process/plugin/more/plugin-build/intro", + "java/process/plugin/more/plugin-build/idea-build", + "java/process/plugin/more/plugin-build/terminal-build", + "java/process/plugin/more/plugin-build/github-actions-build", + "java/process/plugin/more/plugin-build/mirror-config" + ] + }, + "java/process/plugin/more/plugin-config", + "java/process/plugin/more/faq", + "java/process/plugin/more/plugin-signature-file", + "java/process/plugin/more/tittle-tattle" + ] + }, + { + label: "前置", + collapsed: true, + items: [ + "java/process/plugin/plugin-dependencies/intro", + { + label: "PlaceholderAPI", + collapsed: true, + items: [ + "java/process/plugin/plugin-dependencies/placeholderapi/intro", + "java/process/plugin/plugin-dependencies/placeholderapi/common-usage", + "java/process/plugin/plugin-dependencies/placeholderapi/parse-other", + "java/process/plugin/plugin-dependencies/placeholderapi/math", + "java/process/plugin/plugin-dependencies/placeholderapi/string", + "java/process/plugin/plugin-dependencies/placeholderapi/progress", + "java/process/plugin/plugin-dependencies/placeholderapi/javascript", + "java/process/plugin/plugin-dependencies/placeholderapi/check-item", + "java/process/plugin/plugin-dependencies/placeholderapi/change-output", + "java/process/plugin/plugin-dependencies/placeholderapi/faq" + ] + }, + "java/process/plugin/plugin-dependencies/playerpoints", + "java/process/plugin/plugin-dependencies/protocollib", + { + label: "Vault", + collapsed: true, + items: [ + "java/process/plugin/plugin-dependencies/vault/intro", + "java/process/plugin/plugin-dependencies/vault/serviceio", + "java/process/plugin/plugin-dependencies/vault/vaultunlocked" + ] + }, + "java/process/plugin/plugin-dependencies/xconomy" + ] + }, + { + label: "管理", + collapsed: true, + items: [ + { + label: "防破坏", + collapsed: true, + items: [ + "java/process/plugin/management-tool/anti-grief/intro", + "java/process/plugin/management-tool/anti-grief/coreprotect", + "java/process/plugin/management-tool/anti-grief/invseeplusplus", + "java/process/plugin/management-tool/anti-grief/prismrefracted" + ] + }, + { + label: "基础插件", + collapsed: true, + items: [ + "java/process/plugin/management-tool/basic-plugins/intro", + "java/process/plugin/management-tool/basic-plugins/delete", + { + label: "CMI", + collapsed: true, + items: [ + "java/process/plugin/management-tool/basic-plugins/cmi/intro", + "java/process/plugin/management-tool/basic-plugins/cmi/eco", + "java/process/plugin/management-tool/basic-plugins/cmi/question" + ] + }, + { + label: "EssentialsX", + collapsed: true, + items: [ + "java/process/plugin/management-tool/basic-plugins/essentialsx/intro", + "java/process/plugin/management-tool/basic-plugins/essentialsx/config-yml", + "java/process/plugin/management-tool/basic-plugins/essentialsx/config-tips", + "java/process/plugin/management-tool/basic-plugins/essentialsx/warp", + "java/process/plugin/management-tool/basic-plugins/essentialsx/kit", + "java/process/plugin/management-tool/basic-plugins/essentialsx/papi-support", + "java/process/plugin/management-tool/basic-plugins/essentialsx/faq" + ] + }, + "java/process/plugin/management-tool/basic-plugins/sunlight" + ] + }, + { + label: "聊天", + collapsed: true, + items: [ + "java/process/plugin/management-tool/chat/intro", + "java/process/plugin/management-tool/chat/carbon", + "java/process/plugin/management-tool/chat/huskchat", + "java/process/plugin/management-tool/chat/trchat" + ] + }, + { + label: "物品库", + collapsed: true, + items: [ + "java/process/plugin/management-tool/items/intro", + "java/process/plugin/management-tool/items/crucible", + "java/process/plugin/management-tool/items/ecoitems", + "java/process/plugin/management-tool/items/mmoitems", + "java/process/plugin/management-tool/items/neigeitems", + "java/process/plugin/management-tool/items/ratziel", + "java/process/plugin/management-tool/items/sx-item", + "java/process/plugin/management-tool/items/zaphkiel", + "java/process/plugin/management-tool/items/misc" + ] + }, + { + label: "权限", + collapsed: true, + items: [ + "java/process/plugin/management-tool/permission/intro", + "java/process/plugin/management-tool/permission/what-is-permission", + "java/process/plugin/management-tool/permission/group", + "java/process/plugin/management-tool/permission/command", + "java/process/plugin/management-tool/permission/tips", + "java/process/plugin/management-tool/permission/meta" + ] + }, + { + label: "插件管理", + collapsed: true, + items: [ + "java/process/plugin/management-tool/plugin-management/intro", + "java/process/plugin/management-tool/plugin-management/plugin-portal", + "java/process/plugin/management-tool/plugin-management/plugmanx", + "java/process/plugin/management-tool/plugin-management/serverutils", + "java/process/plugin/management-tool/plugin-management/yum" + ] + }, + { + label: "任务", + collapsed: true, + items: [ + "java/process/plugin/management-tool/task/intro", + "java/process/plugin/management-tool/task/beautyquests", + "java/process/plugin/management-tool/task/betonquest", + "java/process/plugin/management-tool/task/chemdah", + "java/process/plugin/management-tool/task/mangoquest", + "java/process/plugin/management-tool/task/playertask", + "java/process/plugin/management-tool/task/questcreator", + "java/process/plugin/management-tool/task/questengine", + "java/process/plugin/management-tool/task/quests", + "java/process/plugin/management-tool/task/typewriter" + ] + } + ] + }, + { + label: "保护", + collapsed: true, + items: [ + "java/process/plugin/protection/intro", + "java/process/plugin/protection/residence", + "java/process/plugin/protection/dominion", + "java/process/plugin/protection/griefdefender", + "java/process/plugin/protection/plotsquared", + "java/process/plugin/protection/askyblock", + "java/process/plugin/protection/bentobox", + "java/process/plugin/protection/towny" + ] + }, + { + label: "世界管理", + collapsed: true, + items: [ + "java/process/plugin/world-management/worldedit", + "java/process/plugin/world-management/worldguard", + "java/process/plugin/world-management/fastasyncworldedit", + "java/process/plugin/world-management/law", + "java/process/plugin/world-management/myworld", + "java/process/plugin/world-management/nobuildplus", + { + label: "大厅", + collapsed: true, + items: [ + "java/process/plugin/world-management/lobby/intro", + "java/process/plugin/world-management/lobby/deluxehub", + "java/process/plugin/world-management/lobby/deluxehubreloaded", + "java/process/plugin/world-management/lobby/superlobbydeluxe" + ] + }, + { + label: "多世界 - Multiverse", + collapsed: true, + items: [ + "java/process/plugin/world-management/multiverse/intro", + "java/process/plugin/world-management/multiverse/faq1", + "java/process/plugin/world-management/multiverse/faq2" + ] + }, + { + label: "世界生成", + collapsed: true, + items: [ + "java/process/plugin/world-management/worldgen/intro", + "java/process/plugin/world-management/worldgen/terra", + "java/process/plugin/world-management/worldgen/irisworldgen", + "java/process/plugin/world-management/worldgen/terraformgenerator" + ] + } + ] + }, + { + label: "游戏性", + collapsed: true, + items: [ + "java/process/plugin/game/dragoncore", + "java/process/plugin/game/germengine", + "java/process/plugin/game/nova", + { + label: "Slimefun", + collapsed: true, + items: [ + "java/process/plugin/game/slimefun/intro", + "java/process/plugin/game/slimefun/auto-update", + "java/process/plugin/game/slimefun/find-lag", + "java/process/plugin/game/slimefun/resourcepack-for-slimefun" + ] + }, + { + label: "称号", + collapsed: true, + items: [ + "java/process/plugin/game/title/deluxetags", + "java/process/plugin/game/title/miniplayertitle", + "java/process/plugin/game/title/mythicprefixes", + "java/process/plugin/game/title/playertitle", + "java/process/plugin/game/title/userprefix" + ] + } + ] + }, + { + label: "其他", + collapsed: true, + items: [ + "java/process/plugin/misc/intro", + { + label: "全息图", + collapsed: true, + items: [ + "java/process/plugin/misc/holograms/intro", + "java/process/plugin/misc/holograms/decentholograms", + "java/process/plugin/misc/holograms/holographicdisplays" + ] + }, + { + label: "登录", + collapsed: true, + items: [ + "java/process/plugin/misc/login/intro", + "java/process/plugin/misc/login/authme", + "java/process/plugin/misc/login/catseedlogin", + "java/process/plugin/misc/login/librelogin", + "java/process/plugin/misc/login/limboauth" + ] + }, + { + label: "菜单", + collapsed: true, + items: [ + "java/process/plugin/misc/menu/intro", + "java/process/plugin/misc/menu/chestcommands", + "java/process/plugin/misc/menu/deluxemenus", + "java/process/plugin/misc/menu/invero", + "java/process/plugin/misc/menu/trmenu" + ] + }, + "java/process/plugin/misc/money", + { + label: "MOTD", + collapsed: true, + items: [ + "java/process/plugin/misc/motd/intro", + "java/process/plugin/misc/motd/minimotd" + ] + }, + "java/process/plugin/misc/mythicmobs", + { + label: "NPC", + collapsed: true, + items: [ + "java/process/plugin/misc/npc/intro", + "java/process/plugin/misc/npc/adyeshach", + "java/process/plugin/misc/npc/citizens", + "java/process/plugin/misc/npc/znpcsplus" + ] + }, + "java/process/plugin/misc/quickshop", + "java/process/plugin/misc/skinsrestorer", + { + label: "Tab/记分板", + collapsed: true, + items: [ + "java/process/plugin/misc/tab-scoreboard/intro", + "java/process/plugin/misc/tab-scoreboard/simplescore", + "java/process/plugin/misc/tab-scoreboard/tab", + "java/process/plugin/misc/tab-scoreboard/titlemanager" + ] + }, + { + label: "版本兼容", + collapsed: true, + items: [ + "java/process/plugin/misc/via/intro", + "java/process/plugin/misc/via/viaversion", + "java/process/plugin/misc/via/viabackwards", + "java/process/plugin/misc/via/viarewind", + "java/process/plugin/misc/via/more-for-via" + ] + } + ] + } + ] + }, + { + label: "跨服端", + collapsed: true, + items: [ + "java/process/cross-server/intro", + "java/process/cross-server/server-core-choose", + { + label: "搭建", + collapsed: true, + items: [ + { + label: "BungeeCord", + collapsed: true, + items: [ + "java/process/cross-server/setup/bungeecord/intro", + "java/process/cross-server/setup/bungeecord/setup", + "java/process/cross-server/setup/bungeecord/config-yml", + "java/process/cross-server/setup/bungeecord/lobby" + ] + }, + { + label: "Velocity", + collapsed: true, + items: [ + "java/process/cross-server/setup/velocity/intro", + "java/process/cross-server/setup/velocity/setup", + "java/process/cross-server/setup/velocity/velocity-toml", + "java/process/cross-server/setup/velocity/lobby" + ] + }, + { + label: "Velocity CTD", + collapsed: true, + items: [ + "java/process/cross-server/setup/velocity-ctd/intro", + "java/process/cross-server/setup/velocity-ctd/setup", + "java/process/cross-server/setup/velocity-ctd/velocity-toml", + "java/process/cross-server/setup/velocity-ctd/features", + "java/process/cross-server/setup/velocity-ctd/lobby" + ] + }, + { + label: "Transfer", + collapsed: true, + items: [ + "java/process/cross-server/setup/transfer/intro", + "java/process/cross-server/setup/transfer/setup" + ] + } + ] + }, + "java/process/cross-server/join-server", + "java/process/cross-server/command", + { + label: "跨服插件", + collapsed: true, + items: [ + "java/process/cross-server/plugin/intro", + "java/process/cross-server/plugin/backend-only", + "java/process/cross-server/plugin/proxy-only", + "java/process/cross-server/plugin/proxy-backend-optional", + "java/process/cross-server/plugin/proxy-backend-mandatory" + ] + }, + "java/process/cross-server/hide-the-real-ip", + "java/process/cross-server/precautions" + ] + }, + { + label: "手机玩家支持", + collapsed: true, + items: [ + "java/process/mobile-player/intro", + { + label: "Geyser", + collapsed: true, + items: [ + "java/process/mobile-player/geyser/intro", + "java/process/mobile-player/geyser/install", + "java/process/mobile-player/geyser/faq", + { + label: "进阶", + collapsed: true, + items: [ + "java/process/mobile-player/geyser/upgrade/link", + "java/process/mobile-player/geyser/upgrade/menu", + "java/process/mobile-player/geyser/upgrade/slimefun", + "java/process/mobile-player/geyser/upgrade/geyser-skull", + "java/process/mobile-player/geyser/upgrade/custom-item-model-map", + "java/process/mobile-player/geyser/upgrade/geysermeg4-supports", + { + label: "扩展", + collapsed: true, + items: [ + "java/process/mobile-player/geyser/upgrade/extended/intro", + "java/process/mobile-player/geyser/upgrade/extended/compatible", + "java/process/mobile-player/geyser/upgrade/extended/fix", + "java/process/mobile-player/geyser/upgrade/extended/more" + ] + } + ] + } + ] + }, + { + label: "手机 Java 版", + collapsed: true, + items: [ + "java/process/mobile-player/client/intro", + "java/process/mobile-player/client/android-all", + "java/process/mobile-player/client/pojav-android", + "java/process/mobile-player/client/pojav-ios", + "java/process/mobile-player/client/pcl", + "java/process/mobile-player/client/amethyst-ios" + ] + } + ] + }, + { + label: "生电", + collapsed: true, + items: [ + "java/process/redstone/intro", + "java/process/redstone/plugin", + "java/process/redstone/mchprs", + "java/process/redstone/mod" + ] + }, + { label: "地图建设", autogenerate: { directory: "general/process/map" } }, + "general/process/create-art-assets", + "general/process/panel" + ] + }, + { + label: "进阶阶段", + collapsed: false, + items: [ + "java/advance/intro", + { + label: "Linux 开服", + collapsed: true, + autogenerate: { + directory: "general/advance/linux" } - ] - }, - "java/start/install-mod-server", - "java/start/launch-server", - "java/start/server-dir-structure", - "java/start/config-server", - "java/start/connect-to-server", - { - label: "部署到生产环境", - collapsed: true, - autogenerate: { directory: "general/process/deploy" } - } - ] - }, - { - label: "建设与运营", - items: [ - "java/process/intro", - { - label: "插件", - collapsed: true, - items: [ - "java/process/plugin/intro", - { - label: "前言与基础", - collapsed: true, - items: [ - "java/process/plugin/more/intro", - "java/process/plugin/more/plugin-download", - { - label: "YAML", - collapsed: true, - items: [ - "java/process/plugin/more/yaml/intro", - "java/process/plugin/more/yaml/general", - "java/process/plugin/more/yaml/extention" - ] - }, - "java/process/plugin/more/color-message", - "java/process/plugin/more/plugin-abbreviation", - "java/process/plugin/more/plugin-backdoor", - { - label: "插件构建", - collapsed: true, - items: [ - "java/process/plugin/more/plugin-build/intro", - "java/process/plugin/more/plugin-build/idea-build", - "java/process/plugin/more/plugin-build/terminal-build", - "java/process/plugin/more/plugin-build/github-actions-build", - "java/process/plugin/more/plugin-build/mirror-config" - ] - }, - "java/process/plugin/more/plugin-config", - "java/process/plugin/more/faq", - "java/process/plugin/more/plugin-signature-file", - "java/process/plugin/more/tittle-tattle" - ] - }, - { - label: "前置", - collapsed: true, - items: [ - "java/process/plugin/plugin-dependencies/intro", - { - label: "PlaceholderAPI", - collapsed: true, - items: [ - "java/process/plugin/plugin-dependencies/placeholderapi/placeholderapi", - "java/process/plugin/plugin-dependencies/placeholderapi/common-usage", - "java/process/plugin/plugin-dependencies/placeholderapi/parse-other", - "java/process/plugin/plugin-dependencies/placeholderapi/math", - "java/process/plugin/plugin-dependencies/placeholderapi/string", - "java/process/plugin/plugin-dependencies/placeholderapi/progress", - "java/process/plugin/plugin-dependencies/placeholderapi/javascript", - "java/process/plugin/plugin-dependencies/placeholderapi/check-item", - "java/process/plugin/plugin-dependencies/placeholderapi/change-output", - "java/process/plugin/plugin-dependencies/placeholderapi/faq" - ] - }, - "java/process/plugin/plugin-dependencies/playerpoints", - "java/process/plugin/plugin-dependencies/protocollib", - { - label: "Vault", - collapsed: true, - items: [ - "java/process/plugin/plugin-dependencies/vault/intro", - "java/process/plugin/plugin-dependencies/vault/serviceio", - "java/process/plugin/plugin-dependencies/vault/vaultunlocked" - ] - }, - "java/process/plugin/plugin-dependencies/xconomy" - ] - }, - { - label: "管理", - collapsed: true, - items: [ - { - label: "防破坏", - collapsed: true, - items: [ - "java/process/plugin/management-tool/anti-grief/intro", - "java/process/plugin/management-tool/anti-grief/coreprotect", - "java/process/plugin/management-tool/anti-grief/invseeplusplus", - "java/process/plugin/management-tool/anti-grief/prismrefracted" - ] - }, - { - label: "基础插件", - collapsed: true, - items: [ - "java/process/plugin/management-tool/basic-plugins/intro", - "java/process/plugin/management-tool/basic-plugins/delete", - { - label: "CMI", - collapsed: true, - items: [ - "java/process/plugin/management-tool/basic-plugins/cmi/intro", - "java/process/plugin/management-tool/basic-plugins/cmi/eco", - "java/process/plugin/management-tool/basic-plugins/cmi/question" - ] - }, - { - label: "EssentialsX", - collapsed: true, - items: [ - "java/process/plugin/management-tool/basic-plugins/essentialsx/intro", - "java/process/plugin/management-tool/basic-plugins/essentialsx/config-yml", - "java/process/plugin/management-tool/basic-plugins/essentialsx/config-tips", - "java/process/plugin/management-tool/basic-plugins/essentialsx/warp", - "java/process/plugin/management-tool/basic-plugins/essentialsx/kit", - "java/process/plugin/management-tool/basic-plugins/essentialsx/papi-support", - "java/process/plugin/management-tool/basic-plugins/essentialsx/faq" - ] - }, - "java/process/plugin/management-tool/basic-plugins/sunlight" - ] - }, - { - label: "聊天", - collapsed: true, - items: [ - "java/process/plugin/management-tool/chat/intro", - "java/process/plugin/management-tool/chat/carbon", - "java/process/plugin/management-tool/chat/huskchat", - "java/process/plugin/management-tool/chat/trchat" - ] - }, - { - label: "物品库", - collapsed: true, - items: [ - "java/process/plugin/management-tool/items/intro", - "java/process/plugin/management-tool/items/crucible", - "java/process/plugin/management-tool/items/ecoitems", - "java/process/plugin/management-tool/items/mmoitems", - "java/process/plugin/management-tool/items/neigeitems", - "java/process/plugin/management-tool/items/ratziel", - "java/process/plugin/management-tool/items/sx-item", - "java/process/plugin/management-tool/items/zaphkiel", - "java/process/plugin/management-tool/items/misc" - ] - }, - { - label: "权限", - collapsed: true, - items: [ - "java/process/plugin/management-tool/permission/intro", - "java/process/plugin/management-tool/permission/what-is-permission", - "java/process/plugin/management-tool/permission/group", - "java/process/plugin/management-tool/permission/command", - "java/process/plugin/management-tool/permission/tips", - "java/process/plugin/management-tool/permission/meta" - ] - }, - { - label: "插件管理", - collapsed: true, - items: [ - "java/process/plugin/management-tool/plugin-management/intro", - "java/process/plugin/management-tool/plugin-management/plugin-portal", - "java/process/plugin/management-tool/plugin-management/plugmanx", - "java/process/plugin/management-tool/plugin-management/serverutils", - "java/process/plugin/management-tool/plugin-management/yum" - ] - }, - { - label: "任务", - collapsed: true, - items: [ - "java/process/plugin/management-tool/task/intro", - "java/process/plugin/management-tool/task/beautyquests", - "java/process/plugin/management-tool/task/betonquest", - "java/process/plugin/management-tool/task/chemdah", - "java/process/plugin/management-tool/task/mangoquest", - "java/process/plugin/management-tool/task/playertask", - "java/process/plugin/management-tool/task/questcreator", - "java/process/plugin/management-tool/task/questengine", - "java/process/plugin/management-tool/task/quests", - "java/process/plugin/management-tool/task/typewriter" - ] - } - ] - }, - { - label: "保护", - collapsed: true, - items: [ - "java/process/plugin/protection/intro", - "java/process/plugin/protection/residence", - "java/process/plugin/protection/dominion", - "java/process/plugin/protection/griefdefender", - "java/process/plugin/protection/plotsquared", - "java/process/plugin/protection/askyblock", - "java/process/plugin/protection/bentobox", - "java/process/plugin/protection/towny" - ] - }, - { - label: "世界管理", - collapsed: true, - items: [ - "java/process/plugin/world-management/worldedit", - "java/process/plugin/world-management/worldguard", - "java/process/plugin/world-management/fastasyncworldedit", - "java/process/plugin/world-management/law", - "java/process/plugin/world-management/myworld", - "java/process/plugin/world-management/nobuildplus", - { - label: "大厅", - collapsed: true, - items: [ - "java/process/plugin/world-management/lobby/intro", - "java/process/plugin/world-management/lobby/deluxehub", - "java/process/plugin/world-management/lobby/deluxehubreloaded", - "java/process/plugin/world-management/lobby/superlobbydeluxe" - ] - }, - { - label: "多世界 - Multiverse", - collapsed: true, - items: [ - "java/process/plugin/world-management/multiverse/intro", - "java/process/plugin/world-management/multiverse/faq1", - "java/process/plugin/world-management/multiverse/faq2" - ] - }, - { - label: "世界生成", - collapsed: true, - items: [ - "java/process/plugin/world-management/worldgen/intro", - "java/process/plugin/world-management/worldgen/terra", - "java/process/plugin/world-management/worldgen/irisworldgen", - "java/process/plugin/world-management/worldgen/terraformgenerator" - ] - } - ] - }, - { - label: "游戏性", - collapsed: true, - items: [ - "java/process/plugin/game/dragoncore", - "java/process/plugin/game/germengine", - "java/process/plugin/game/nova", - { - label: "Slimefun", - collapsed: true, - items: [ - "java/process/plugin/game/slimefun/intro", - "java/process/plugin/game/slimefun/auto-update", - "java/process/plugin/game/slimefun/find-lag", - "java/process/plugin/game/slimefun/resourcepack-for-slimefun" - ] - }, - { - label: "称号", - collapsed: true, - items: [ - "java/process/plugin/game/title/deluxetags", - "java/process/plugin/game/title/miniplayertitle", - "java/process/plugin/game/title/mythicprefixes", - "java/process/plugin/game/title/playertitle", - "java/process/plugin/game/title/userprefix" - ] - } - ] - }, - { - label: "其他", - collapsed: true, - items: [ - "java/process/plugin/misc/intro", - { - label: "全息图", - collapsed: true, - items: [ - "java/process/plugin/misc/holograms/intro", - "java/process/plugin/misc/holograms/decentholograms", - "java/process/plugin/misc/holograms/holographicdisplays" - ] - }, - { - label: "登录", - collapsed: true, - items: [ - "java/process/plugin/misc/login/intro", - "java/process/plugin/misc/login/authme", - "java/process/plugin/misc/login/catseedlogin", - "java/process/plugin/misc/login/librelogin", - "java/process/plugin/misc/login/limboauth" - ] - }, - { - label: "菜单", - collapsed: true, - items: [ - "java/process/plugin/misc/menu/intro", - "java/process/plugin/misc/menu/chestcommands", - "java/process/plugin/misc/menu/deluxemenus", - "java/process/plugin/misc/menu/invero", - "java/process/plugin/misc/menu/trmenu" - ] - }, - "java/process/plugin/misc/money", - { - label: "MOTD", - collapsed: true, - items: [ - "java/process/plugin/misc/motd/intro", - "java/process/plugin/misc/motd/minimotd" - ] - }, - "java/process/plugin/misc/mythicmobs", - { - label: "NPC", - collapsed: true, - items: [ - "java/process/plugin/misc/npc/intro", - "java/process/plugin/misc/npc/adyeshach", - "java/process/plugin/misc/npc/citizens", - "java/process/plugin/misc/npc/znpcsplus" - ] - }, - "java/process/plugin/misc/quickshop", - "java/process/plugin/misc/skinsrestorer", - { - label: "Tab/记分板", - collapsed: true, - items: [ - "java/process/plugin/misc/tab-scoreboard/intro", - "java/process/plugin/misc/tab-scoreboard/simplescore", - "java/process/plugin/misc/tab-scoreboard/tab", - "java/process/plugin/misc/tab-scoreboard/titlemanager" - ] - }, - { - label: "版本兼容", - collapsed: true, - items: [ - "java/process/plugin/misc/via/intro", - "java/process/plugin/misc/via/viaversion", - "java/process/plugin/misc/via/viabackwards", - "java/process/plugin/misc/via/viarewind", - "java/process/plugin/misc/via/more-for-via" - ] - } - ] + }, + { + label: "数据库相关", + collapsed: true, + autogenerate: { + directory: "general/process/database" } - ] - }, - { - label: "跨服端", - collapsed: true, - items: [ - "java/process/cross-server/intro", - "java/process/cross-server/server-core-choose", - { - label: "搭建", - collapsed: true, - items: [ - { - label: "BungeeCord", - collapsed: true, - items: [ - "java/process/cross-server/setup/bungeecord/intro", - "java/process/cross-server/setup/bungeecord/setup", - "java/process/cross-server/setup/bungeecord/config-yml", - "java/process/cross-server/setup/bungeecord/lobby" - ] - }, - { - label: "Velocity", - collapsed: true, - items: [ - "java/process/cross-server/setup/velocity/intro", - "java/process/cross-server/setup/velocity/setup", - "java/process/cross-server/setup/velocity/velocity-toml", - "java/process/cross-server/setup/velocity/lobby" - ] - }, - { - label: "Velocity CTD", - collapsed: true, - items: [ - "java/process/cross-server/setup/velocity-ctd/intro", - "java/process/cross-server/setup/velocity-ctd/setup", - "java/process/cross-server/setup/velocity-ctd/velocity-toml", - "java/process/cross-server/setup/velocity-ctd/features", - "java/process/cross-server/setup/velocity-ctd/lobby" - ] - }, - { - label: "Transfer", - collapsed: true, - items: [ - "java/process/cross-server/setup/transfer/intro", - "java/process/cross-server/setup/transfer/setup" - ] - } - ] - }, - "java/process/cross-server/join-server", - "java/process/cross-server/command", - { - label: "跨服插件", - collapsed: true, - items: [ - "java/process/cross-server/plugin/intro", - "java/process/cross-server/plugin/backend-only", - "java/process/cross-server/plugin/proxy-only", - "java/process/cross-server/plugin/proxy-backend-optional", - "java/process/cross-server/plugin/proxy-backend-mandatory" - ] - }, - "java/process/cross-server/hide-the-real-ip", - "java/process/cross-server/precautions" - ] - }, - { - label: "手机玩家支持", - collapsed: true, - items: [ - "java/process/mobile-player/intro", - { - label: "Geyser", - collapsed: true, - items: [ - "java/process/mobile-player/geyser/intro", - "java/process/mobile-player/geyser/install", - "java/process/mobile-player/geyser/faq", - { - label: "进阶", - collapsed: true, - items: [ - "java/process/mobile-player/geyser/upgrade/link", - "java/process/mobile-player/geyser/upgrade/menu", - "java/process/mobile-player/geyser/upgrade/slimefun", - "java/process/mobile-player/geyser/upgrade/geyser-skull", - "java/process/mobile-player/geyser/upgrade/custom-item-model-map", - "java/process/mobile-player/geyser/upgrade/geysermeg4-supports", - { - label: "扩展", - collapsed: true, - items: [ - "java/process/mobile-player/geyser/upgrade/extended/intro", - "java/process/mobile-player/geyser/upgrade/extended/compatible", - "java/process/mobile-player/geyser/upgrade/extended/fix", - "java/process/mobile-player/geyser/upgrade/extended/more" - ] - } - ] - } - ] - }, - { - label: "手机 Java 版", - collapsed: true, - items: [ - "java/process/mobile-player/client/intro", - "java/process/mobile-player/client/android-all", - "java/process/mobile-player/client/pojav-android", - "java/process/mobile-player/client/pojav-ios", - "java/process/mobile-player/client/pcl", - "java/process/mobile-player/client/amethyst-ios" - ] + }, + { + label: "维护", + collapsed: true, + items: [ + "java/advance/maintenance/intro", + { + label: "优化", + collapsed: true, + items: [ + "java/advance/maintenance/optimize/intro", + { + label: "JVM", + collapsed: true, + items: [ + "java/advance/maintenance/optimize/jvm/intro", + "java/advance/maintenance/optimize/jvm/common", + "java/advance/maintenance/optimize/jvm/dragonwell8", + "java/advance/maintenance/optimize/jvm/dragonwell11", + "java/advance/maintenance/optimize/jvm/openj9", + "java/advance/maintenance/optimize/jvm/graal", + "java/advance/maintenance/optimize/jvm/zing" + ] + }, + "java/advance/maintenance/optimize/go", + "java/advance/maintenance/optimize/storage-space-optimization", + "java/advance/maintenance/optimize/performance-analysis", + "java/advance/maintenance/optimize/kernel", + "java/advance/maintenance/optimize/optimized-plugin", + "java/advance/maintenance/optimize/ask-for-help" + ] + }, + { + label: "反作弊", + collapsed: true, + items: [ + "java/advance/maintenance/anticheat/intro", + "java/advance/maintenance/anticheat/anticheatplugins", + "java/advance/maintenance/anticheat/antixray", + "java/advance/maintenance/anticheat/rng", + "java/advance/maintenance/anticheat/anti-crash", + "java/advance/maintenance/anticheat/honeypot" + ] + }, + { + label: "资源包", + collapsed: true, + items: [ + "java/advance/maintenance/resourcepack/intro", + "java/advance/maintenance/resourcepack/software", + "java/advance/maintenance/resourcepack/send", + "java/advance/maintenance/resourcepack/compress", + { + label: "插件", + collapsed: true, + items: [ + "java/advance/maintenance/resourcepack/plugins/intro", + "java/advance/maintenance/resourcepack/plugins/hud", + "java/advance/maintenance/resourcepack/plugins/entity", + "java/advance/maintenance/resourcepack/plugins/vehicles", + "java/advance/maintenance/resourcepack/plugins/framework", + "java/advance/maintenance/resourcepack/plugins/tooltip", + "java/advance/maintenance/resourcepack/plugins/misc" + ] + }, + "java/advance/maintenance/resourcepack/protect", + "java/advance/maintenance/resourcepack/addon" + ] + }, + "java/advance/maintenance/backup", + "general/advance/maintenance/how-to-defend-against-cyber-attacks", + { + label: "脚本语言", + collapsed: true, + items: [ + "java/advance/maintenance/lang/intro", + { + label: "Skript", + collapsed: true, + items: [ + "java/advance/maintenance/lang/skript/intro", + "java/advance/maintenance/lang/skript/basic-tutorials", + "java/advance/maintenance/lang/skript/advanced-tutorials" + ] + }, + { + label: "Kether", + collapsed: true, + items: [ + "java/advance/maintenance/lang/kether/intro", + "java/advance/maintenance/lang/kether/preparation", + "java/advance/maintenance/lang/kether/basic", + "java/advance/maintenance/lang/kether/if", + "java/advance/maintenance/lang/kether/variable", + "java/advance/maintenance/lang/kether/math", + "java/advance/maintenance/lang/kether/misc", + "java/advance/maintenance/lang/kether/vulpecula" + ] + }, + { + label: "JavaScript", + collapsed: true, + items: [ + "java/advance/maintenance/lang/javascript/intro", + { + label: "扩展", + collapsed: true, + items: [ + "java/advance/maintenance/lang/javascript/extend/intro", + "java/advance/maintenance/lang/javascript/extend/nashorn", + "java/advance/maintenance/lang/javascript/extend/graaljs" + ] + } + ] + } + ] + } + ] + }, + "general/advance/domain-and-dns", + "java/advance/command-yml", + "java/advance/login-choices", + "java/advance/chinese-username", + "java/advance/slime-world", + { + label: "机器人框架", + collapsed: true, + autogenerate: { + directory: "general/advance/bot" } - ] - }, - { - label: "生电", - collapsed: true, - items: [ - "java/process/redstone/intro", - "java/process/redstone/plugin", - "java/process/redstone/mchprs", - "java/process/redstone/mod" - ] - }, - { label: "地图建设", autogenerate: { directory: "general/process/map" } }, - "general/process/create-art-assets", - "general/process/panel" - ] - }, - { - label: "进阶阶段", - collapsed: false, - items: [ - "java/advance/intro", - { - label: "Linux 开服", - collapsed: true, - autogenerate: { - directory: "general/advance/linux" } - }, - "general/advance/domain-and-dns", - "java/advance/command-yml", - "java/advance/login-choices", - "java/advance/chinese-username", - "java/advance/slime-world", - { - label: "机器人框架", - collapsed: true, - autogenerate: { - directory: "general/advance/bot" - } - } - ] - }, - { - label: "附录", - collapsed: false, - items: ["general/more/ask-for-help"] - } - ] - }, + ] + }, + { + label: "附录", + collapsed: false, + items: ["general/more/ask-for-help"] + } + ] + }, + { + label: "Bedrock", + link: "/bedrock/intro", + icon: "open-book", + items: [ + { + label: "快速开始", + items: ["bedrock/intro"] + }, + { + label: "BDS 核心", + collapsed: true, + items: [] + } + ] + } + ], { - label: "Bedrock", - link: "/bedrock/intro", - icon: "open-book", - items: [ - { - label: "快速开始", items: ["bedrock/intro"] - }, - { - label: "BDS 核心", - collapsed: true, - items: [ - "bedrock/bds/preparation/preparation", - "general/preparation/text-editor", - "bedrock/bds/preparation/preparation" - ] - } - ] + topics: { + basics: ["/basics", "/basics/**/*"] + } } - ]), + ), starlightLinksValidator(), - starlightImageZoom() + starlightImageZoom(), + starlightDocSearch({ + appId: "D1KV1BYF3B", + apiKey: "4bb3573e59f2c49f30f057ce54edab3f", + indexName: "yizhan", + insights: true + }) ], components: { Sidebar: "./src/components/Sidebar.astro" diff --git a/bedrock/bds/process/bdsx/bdsx-install.md b/bedrock/bds/process/bdsx/bdsx-install.md index d4a08e57f..7cf29db9e 100644 --- a/bedrock/bds/process/bdsx/bdsx-install.md +++ b/bedrock/bds/process/bdsx/bdsx-install.md @@ -31,7 +31,7 @@ git clone https://github.com/bdsx/bdsx.git 显示以下内容即代表安装成功 (本人当前安装 Node.js 版本为 10.8.1): -```text +```txt 10.8.1 ``` diff --git a/bedrock/bds/process/endstone/endstone-install.md b/bedrock/bds/process/endstone/endstone-install.md index aa60f0992..5c47a0ff6 100644 --- a/bedrock/bds/process/endstone/endstone-install.md +++ b/bedrock/bds/process/endstone/endstone-install.md @@ -90,7 +90,7 @@ Linux 环境下: 前往 [Python 官网](https://python.org) 下载 Python 环境 -:::info +:::note Linux 请按照 [这个教程](https://blog.csdn.net/hd243608836/article/details/121417965) 或者必应搜索 **Python Linux 安装** 完成安装 python 最新版,_安装完毕请看第二步_ diff --git a/bedrock/bds/process/endstone/endstone-plugins.md b/bedrock/bds/process/endstone/endstone-plugins.md index e472e73d4..0b111313d 100644 --- a/bedrock/bds/process/endstone/endstone-plugins.md +++ b/bedrock/bds/process/endstone/endstone-plugins.md @@ -31,7 +31,7 @@ EndStone 的插件一般文件是以 `.whl` 或者 `.dll` 为后缀的文件, ::: -:::info +:::note 附带:什么是 whl 文件: diff --git a/bedrock/bds/process/endstone/endstone.md b/bedrock/bds/process/endstone/endstone.md index 47588e032..938c181a9 100644 --- a/bedrock/bds/process/endstone/endstone.md +++ b/bedrock/bds/process/endstone/endstone.md @@ -7,13 +7,13 @@ sidebar_position: 3 EndStone 提供类似 Bukkit 插件开发者的友好 API,简化了低层系统 API 和挂钩的处理。可以使用 C++ 或 Python 编写插件。 -EndStone 的很多插件可以在 **MineBBS** 或者 **PyPI** 上查找了,详情请看 [EndStone 安装教程](endstone-plugins.md)。 +EndStone 的很多插件可以在 **MineBBS** 或者 **PyPI** 上查找了,详情请看 [EndStone 安装教程](/bedrock/bds/process/endstone/endstone-plugins)。 以下内容为 EndStone 的安装、配置教程 EndStone 国内非官方交流群:982797241 -:::info +:::note 教程催更请找本教程编写作者:[virgil698](https://github.com/virgil698) diff --git a/bedrock/bds/process/levilamina/legacy-script-engine.md b/bedrock/bds/process/levilamina/legacy-script-engine.md index ed16c4817..e427aa632 100644 --- a/bedrock/bds/process/levilamina/legacy-script-engine.md +++ b/bedrock/bds/process/levilamina/legacy-script-engine.md @@ -58,7 +58,7 @@ lip install gitea.litebds.com/LiteLDev/legacy-script-engine-nodejs lip install gitea.litebds.com/LiteLDev/legacy-script-engine-python ``` -:::warning +:::caution 由于 legacy-script-engine-python 与系统中的 Python 解释器冲突,安装时你需要确保系统中没有 Python 解释器。如果系统中已安装 Python 解释器,你需要将其 **彻底卸载** 。 如果你必须使用系统中的 Python 解释器,你只能放弃所有的 Python 插件。 diff --git a/bedrock/bds/process/levilamina/levilamina-install.md b/bedrock/bds/process/levilamina/levilamina-install.md index d83570db0..ecc9566b4 100644 --- a/bedrock/bds/process/levilamina/levilamina-install.md +++ b/bedrock/bds/process/levilamina/levilamina-install.md @@ -41,7 +41,7 @@ lip install github.com/LiteLDev/LeviLamina lip 会自动下载 BDS 并配置 LeviLamina 加载器 -:::info +:::note 如果因网络问题无法下载 Go 模块或 LeviLamina 及其依赖,可以运行命令 @@ -64,7 +64,7 @@ lip config GitHubMirrorURL https://github.bibk.top ::: -:::info +:::note 如果因网络问题无法下载 BDS 服务端文件可以去其他地方寻找文件下载,并将压缩包放在 `your-folder\.cache\bdsdown`中 @@ -94,7 +94,7 @@ bedrock_server_mod.exe - 前往他们各自的 GitHub 发布页面:[PeEditor Releases](https://github.com/LiteLDev/PeEditor/releases) 和 [PreLoader Releases](https://github.com/LiteLDev/PreLoader/releases)。 - 下载最新的 `PeEditor.exe` ​`PreLoader.dll` 文件 -:::warning +:::caution ​**注意**​:通常,最新版本的 LeviLamina 与最新版本的 PeEditor 和 PreLoader 保持一致。确保它们与你的 BDS 版本兼容。 diff --git a/bedrock/bds/process/levilamina/levilamina-plugins.mdx b/bedrock/bds/process/levilamina/levilamina-plugins.mdx index 3a16bb1e7..ce9ad1e75 100644 --- a/bedrock/bds/process/levilamina/levilamina-plugins.mdx +++ b/bedrock/bds/process/levilamina/levilamina-plugins.mdx @@ -18,7 +18,7 @@ LeviLamina 的插件是以文件夹的格式存在的。通常插件文件夹中 ## 使用 lip 安装插件 -如果你还没有安装 lip,可以参考 [上一章的教程](./levilamina-install.md#准备工作---安装-lip) 。 +如果你还没有安装 lip,可以参考 [上一章的教程](/bedrock/bds/process/levilamina/levilamina-install#准备工作---安装-lip) 。 要使用 lip 安装插件,你必须确保该插件 **支持通过 lip 安装** 。如果插件文档没有写明任何使用 lip 安装的方法或命令,你就不应该使用 lip 安装该插件。 @@ -48,7 +48,7 @@ TODO ### LSE 插件 -要安装 LSE 插件,你的服务器必须安装了 [Legacy Script Engine](./legacy-script-engine.md) 作为前置。 +要安装 LSE 插件,你的服务器必须安装了 [Legacy Script Engine](/bedrock/bds/process/levilamina/legacy-script-engine) 作为前置。 #### QuickJS、Lua、Python 单文件 diff --git a/bedrock/bds/process/liteloader-bds/install.md b/bedrock/bds/process/liteloader-bds/install.md index 5cdfaa15d..b155ab4a1 100644 --- a/bedrock/bds/process/liteloader-bds/install.md +++ b/bedrock/bds/process/liteloader-bds/install.md @@ -14,9 +14,9 @@ LiteLoaderBDS 不会自动下载安装对应版本 BDS,你需要手动寻找 ## 下载 LiteLoaderBDS -:::warning +:::caution -LiteLoaderBDS 仅适配了 BDS 的 1.20.32 及以下版本。对于更高版本的 BDS 需要使用 [LeviLamina](../levilamina/levilamina.md) 加载器。 +LiteLoaderBDS 仅适配了 BDS 的 1.20.32 及以下版本。对于更高版本的 BDS 需要使用 [LeviLamina](/bedrock/bds/process/levilamina) 加载器。 对于 1.20.40 - 1.20.51 版本,你需要使用其他加载器。如果你只需要兼容 1.20.40 - 1.20.51 的客户端进服,你可以选用 BDS 1.20.32、最新版 LiteLoader 和 Glacie 插件的方案。 ::: diff --git a/bedrock/bds/process/liteloader-bds/liteloader-bds.md b/bedrock/bds/process/liteloader-bds/liteloader-bds.md index 4d5bd86c0..55895e980 100644 --- a/bedrock/bds/process/liteloader-bds/liteloader-bds.md +++ b/bedrock/bds/process/liteloader-bds/liteloader-bds.md @@ -5,7 +5,7 @@ sidebar_position: 4 # LiteLoaderBDS -LiteLoaderBDS 是 BDS 核心的一款功能强大的插件加载器,简称 LL,是 [LeviLamina](../levilamina/levilamina.md) 的前身,**现已停更**。 +LiteLoaderBDS 是 BDS 核心的一款功能强大的插件加载器,简称 LL,是 [LeviLamina](/bedrock/bds/process/levilamina) 的前身,**现已停更**。 :::tip[你知道吗] @@ -13,7 +13,7 @@ LiteLoaderBDS 是 BDS 核心的一款功能强大的插件加载器,简称 LL ::: -:::warning +:::caution 由于该加载器已经停止维护,目前只建议给无法使用 LeviLamina 的旧版 BDS 使用。 diff --git a/bedrock/bds/start/basic/server-dir-structure.mdx b/bedrock/bds/start/basic/server-dir-structure.mdx index e794aa591..2fc230e5c 100644 --- a/bedrock/bds/start/basic/server-dir-structure.mdx +++ b/bedrock/bds/start/basic/server-dir-structure.mdx @@ -12,15 +12,15 @@ import { bdsServerStructure } from "@site/src/data/structures"; -{/* :::info +{/* :::note -对于世界文件夹的详细说明,请前往 **[世界文件架构](what-is-world.md)** +对于世界文件夹的详细说明,请前往 **[世界文件架构](/bedrock/bds/start/basic/what-is-world)** ::: */} ## 根目录下的一些文件 -:::warning +:::caution 请不要让你的服务端结构与文档解说结构有任何的 **缺少**,否则可能会出现 **玄学问题** @@ -159,6 +159,6 @@ import { bdsServerStructure } from "@site/src/data/structures"; :::tip -如果你的服务端有更多的文件,大概率是 [**插件加载器** / **插件**](../../process/plugins/plugins-loader-choose.md)(如针对 BDS 的 Levilamina 插件加载器会释放更多文件夹) 创建的文件夹,一般来说无需担心。 +如果你的服务端有更多的文件,大概率是 [**插件加载器** / **插件**](/bedrock/bds/process/plugins/plugins-loader-choose)(如针对 BDS 的 Levilamina 插件加载器会释放更多文件夹) 创建的文件夹,一般来说无需担心。 ::: diff --git a/bedrock/nukkit/history.md b/bedrock/nukkit/history.md index 8ef893939..b128c8b5c 100644 --- a/bedrock/nukkit/history.md +++ b/bedrock/nukkit/history.md @@ -49,13 +49,13 @@ Nukkit 拥有相当丰富的社区分支,例如 PM1E、PowerNukkit 和 PowerNu -| NukkitX | 别名:NKX | -| -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| 相关链接 | [NukkitX 官网](https://cloudburstmc.org/)、[GitHub 仓库](https://github.com/CloudburstMC/Nukkit) | -| 作者 | [CloudburstMC](https://github.com/CloudburstMC) | +| NukkitX | 别名:NKX | +| -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 相关链接 | [NukkitX 官网](https://cloudburstmc.org/)、[GitHub 仓库](https://github.com/CloudburstMC/Nukkit) | +| 作者 | [CloudburstMC](https://github.com/CloudburstMC) | | 介绍 | NukkitX(原为 Nukkit 2.0)是一个基于 Java 开发的高性能、开源的 Minecraft Bedrock Edition 服务端软件,继承了 Nukkit 的代码并不断优化,支持多种平台和丰富的插件扩展,为玩家和开发者提供了更稳定、更灵活的多人游戏体验 | -| 下载 | [构建站](https://ci.opencollab.dev/job/NukkitX/job/Nukkit/job/master/) | -| 支持的 MC 版本 | 1.14.x-最新版 (目前保持更新) | +| 下载 | [构建站](https://ci.opencollab.dev/job/NukkitX/job/Nukkit/job/master/) | +| 支持的 MC 版本 | 1.14.x-最新版 (目前保持更新) | @@ -84,7 +84,7 @@ Nukkit 拥有相当丰富的社区分支,例如 PM1E、PowerNukkit 和 PowerNu ### 受争议的服务端 -:::info +:::note 此类服务端是因为其发生了一些令人抽象的事情,亦或者是某些原因导致名气变差 or 暂缓更新,但不代表他们不会更新 @@ -110,13 +110,13 @@ Nukkit 拥有相当丰富的社区分支,例如 PM1E、PowerNukkit 和 PowerNu -| Nukkit | 别名:NK | -| -------------- | --------------------------------------------------------------------- | -| 相关链接 | [GitHub 仓库](https://github.com/Nukkit/Nukkit) | -| 作者 | [Nukkit Project](https://github.com/Nukkit) | +| Nukkit | 别名:NK | +| -------------- | ---------------------------------------------------------------------- | +| 相关链接 | [GitHub 仓库](https://github.com/Nukkit/Nukkit) | +| 作者 | [Nukkit Project](https://github.com/Nukkit) | | 介绍 | 第一代 Nukkit,现已停止更新并转移到 Nukkit 2.0(项目重命名为 NukkitX) | -| 下载 | 无 | -| 支持的 MC 版本 | 携带版 0.12-1.14.x | +| 下载 | 无 | +| 支持的 MC 版本 | 携带版 0.12-1.14.x | diff --git a/bedrock/nukkit/start/basic/server-file-structure.mdx b/bedrock/nukkit/start/basic/server-file-structure.mdx index 1f2142e3e..c18000492 100644 --- a/bedrock/nukkit/start/basic/server-file-structure.mdx +++ b/bedrock/nukkit/start/basic/server-file-structure.mdx @@ -12,9 +12,9 @@ import { nukitServerStructure } from "@site/src/data/structures"; -{/* :::info +{/* :::note -对于世界文件夹的详细说明,请前往 **[世界文件架构](what-is-world.md)** +对于世界文件夹的详细说明,请前往 **[世界文件架构](/bedrock/nukkit/start/basic/what-is-world)** ::: */} diff --git a/bedrock/nukkit/start/pm1e/controversy.md b/bedrock/nukkit/start/pm1e/controversy.md index 758ced9a6..faeee03f8 100644 --- a/bedrock/nukkit/start/pm1e/controversy.md +++ b/bedrock/nukkit/start/pm1e/controversy.md @@ -3,7 +3,7 @@ title: PM1E 争议问题 sidebar_position: 1 --- -:::warning +:::caution Nukkit PetteriM1 Edition 是一个独立开发的开源项目,由 PetteriM1 及其团队负责维护和更新 diff --git a/bedrock/pocketmine/description.md b/bedrock/pocketmine/description.md index 595cdc1a3..7e7907bce 100644 --- a/bedrock/pocketmine/description.md +++ b/bedrock/pocketmine/description.md @@ -41,14 +41,14 @@ PMMP 是 PocketMine-MP 的分支,由 PMMP 团队负责更新维护,目前已 | 作者 | [pmmp](https://github.com/pmmp/) | | 介绍 | PocketMine-MP 是一款高度可定制的 Minecraft: Bedrock Edition 服务器软件,支持多版本,具备强大的插件 API 和丰富的生态系统,适合需要自定义功能的服务器 | | 下载 | [GitHub Releases](https://github.com/pmmp/PocketMine-MP/releases) | -| 支持的 MC 版本 | 携带版 0.7.2-1.21.50 (目前保持更新) | +| 支持的 MC 版本 | 携带版 0.7.2-1.21.50 (目前保持更新) | ### 不稳定更新的服务端 -:::warning +:::caution 此类服务端一般为个人或者团队非开源更新,不能保证长期更新 @@ -65,7 +65,7 @@ NitWiki 仅提供关于 PocketMine-MP 分支的信息和教程,但不对其项 | -------------- | ------------------------------------------------------------------------------------------- | | 相关链接 | [MineBBS 投稿贴](https://www.minebbs.com/resources/pmmp5-ng-nethergames-1-20-1-21-50.8967/) | | 作者 | [QYE](https://www.minebbs.com/members/qye.35358/) | -| 介绍 | 多版本的 pmmp5 核心-NG (NetherGames) 官方核心 - 支持 1.20-1.21.50 | +| 介绍 | 多版本的 pmmp5 核心-NG (NetherGames) 官方核心 - 支持 1.20-1.21.50 | | 下载 | [MineBBS](https://www.minebbs.com/resources/pmmp5-ng-nethergames-1-20-1-21-50.8967/) | | 支持的 MC 版本 | 1.20-1.21.50 | @@ -76,7 +76,7 @@ NitWiki 仅提供关于 PocketMine-MP 分支的信息和教程,但不对其项 | -------------- | ------------------------------------------------------------------------------------------- | | 相关链接 | [MineBBS 投稿贴](https://www.minebbs.com/resources/qf-qosgames-qfmc-pm4-1-20-1-20-50.7249/) | | 作者 | [QYE](https://www.minebbs.com/members/qye.35358/) | -| 介绍 | QF-QosGames (QFMC) 核心 PM4 多版本 - 现已支持 1.20-1.20.50 基岩版 | +| 介绍 | QF-QosGames (QFMC) 核心 PM4 多版本 - 现已支持 1.20-1.20.50 基岩版 | | 下载 | [MineBBS](https://www.minebbs.com/resources/qf-qosgames-qfmc-pm4-1-20-1-20-50.7249/) | | 支持的 MC 版本 | 1.20-1.20.50 | diff --git a/bedrock/super-basic/server-core-choose.md b/bedrock/super-basic/server-core-choose.md index 3e323d0c3..781e79211 100644 --- a/bedrock/super-basic/server-core-choose.md +++ b/bedrock/super-basic/server-core-choose.md @@ -11,7 +11,7 @@ import TabItem from '@theme/TabItem'; -:::warning +:::caution 至本篇文档开始,**`BDS`** 一致指 **`Bedrock Dedicated Server`**,而不是指 **`Beidou Navigation Satellite System`** (北斗卫星导航系统) @@ -26,7 +26,7 @@ import TabItem from '@theme/TabItem'; - 官方支持:作为 Mojang 官方推出的服务器端软件,BDS 能够获得官方的最新更新和支持,确保与 Minecraft 基岩版的最新版本兼容。 - 文档和社区支持:虽然官方提供了一些基本文档,但不如第三方服务器端软件的社区那样提供丰富的教程和支持。社区插件内容庞大,基本满足腐竹的日常需求 (虽然官方服务端无法加载插件,但可以通过 - [社区开发的加载器](../bds/process/plugins/plugins-loader-choose.md) + [社区开发的加载器](/bedrock/bds/process/plugins/plugins-loader-choose) 解决这一问题)。 - 稳定性:由于是官方产品,BDS 在稳定性方面通常表现良好,能够提供可靠的服务器体验。 @@ -47,7 +47,7 @@ import TabItem from '@theme/TabItem'; -:::warning +:::caution 至本篇文档开始,**`NK`** 一致指 **`Nukkit`**,但考虑到全称不长,因此二者都会出现在本文档中 @@ -85,7 +85,7 @@ import TabItem from '@theme/TabItem'; ::: -:::warning +:::caution 至本篇文档开始,**`PNX`** 一致指 **`PowerNukkitX`** @@ -114,7 +114,7 @@ import TabItem from '@theme/TabItem'; -:::warning +:::caution 至本篇文档开始,**`PMMP`** 一致指 **`PocketMine-MP`** diff --git a/general/advance/arthas.md b/general/advance/arthas.md index 244b52952..1c7fb38a5 100644 --- a/general/advance/arthas.md +++ b/general/advance/arthas.md @@ -10,7 +10,7 @@ sidebar_position: 7 Arthas(中文名:阿尔萨斯) 是一个 Java 诊断工具,在 Minecraft 中可以用来分析报错或追踪调用 -:::warning +:::caution 此部分的内容非常难,需要有较高的知识水平!!! @@ -56,7 +56,7 @@ watch -x 2 net.minecraft.server.network.PlayerConnection * '{params[0],@java.lan - 后面那一大坨是输出过滤,只关注参数长度为 2,并且发包为`net.minecraft.network.protocol.game.ClientboundSystemChatPacket`或 `net.minecraft.network.protocol.game.ClientboundPlayerChatPacket` -:::warning +:::caution 由于混淆映射表的问题,该命令不一定在你的服务端核心上适用 diff --git a/general/advance/management/player-management/client-distribution.mdx b/general/advance/management/player-management/client-distribution.mdx index 9e691c822..442c2eeab 100644 --- a/general/advance/management/player-management/client-distribution.mdx +++ b/general/advance/management/player-management/client-distribution.mdx @@ -14,7 +14,7 @@ sidebar_position: 6 :::tip -如果你不清楚此处提到的 JRE 是什么,请阅读 [选择、下载和安装 Java](../../../preparation//java/choose-and-download-and-install-java.md) +如果你不清楚此处提到的 JRE 是什么,请阅读 [选择、下载和安装 Java](/java/preparation/java/choose-and-download-and-install-java) ::: @@ -72,7 +72,7 @@ import { hmclModpackStructure } from "@site/src/data/structures"; %JAVA_PATH% -jar launcher.jar ``` - :::warning + :::caution **整合包中集成 Java 的合规性风险** 1. 部分 JDK 不允许再分发,请勿在你的整合包中集成这类 JDK 并公开发布(不包括仅上传至 QQ 群或提供官网或网盘下载),典型的禁止再分发的 JDK 就有 Oracle JDK。 diff --git a/general/advance/management/player-management/feedback.md b/general/advance/management/player-management/feedback.md index ebfbb7e50..1e575373a 100644 --- a/general/advance/management/player-management/feedback.md +++ b/general/advance/management/player-management/feedback.md @@ -45,7 +45,7 @@ sidebar_position: 10 这样不仅玩家会抓紧投票,错过第一个截止日期时间的玩家还会心存侥幸,认为你心系玩家社区,并同样积极地参与投票。 -:::warning +:::caution 切勿滥用此方法,否则会导致玩家信任度严重下降。 diff --git a/general/advance/management/player-management/platform.md b/general/advance/management/player-management/platform.md index 96ffe5d8f..e19cfa723 100644 --- a/general/advance/management/player-management/platform.md +++ b/general/advance/management/player-management/platform.md @@ -174,13 +174,13 @@ sidebar_position: 5 ## 微信群 -:::warning +:::caution 由于微信群功能性质较为私密,不建议大型服务器采用 ::: -:::info +:::note 微信群目前无法设置群头像、实现群机器人功能 diff --git a/general/advance/management/player-management/whitelist.md b/general/advance/management/player-management/whitelist.md index 9bde83b19..3435c140a 100644 --- a/general/advance/management/player-management/whitelist.md +++ b/general/advance/management/player-management/whitelist.md @@ -13,7 +13,7 @@ sidebar_position: 4 1. 同一个玩家使用多个帐号进服,同时领取多份限量奖励。 2. 不怀好意的陌生人在管理员和玩家不知情的情况下进入服务器并对其进行破坏,事后无法追究其责任。 -:::warning +:::caution 开启白名单的服务器将面临更大的管理压力,包括但不限于你需要长期在线来随时给新玩家添加白名单,并为离开服务器的玩家解绑白名单。 @@ -27,7 +27,7 @@ sidebar_position: 4 让玩家根据指引与机器人交流来自助绑定白名单, -:::warning +:::caution 非常建议使用拥有绑定白名单功能的机器人实现绑定,否则你可能需要自行开发软件或人工操作来解决 **退群玩家仍可进服**、**同玩家为多个帐号绑定白名单** 等一系列问题。 @@ -57,7 +57,7 @@ sidebar_position: 4 1. **所有负责添加白名单的人都必须拥有使用 `whitelist` 指令的权限。** 你可以通过以下几种方式: - 为服务器机器人配置特定响应机制,机器人响应指定管理员的指定命令来执行 `whitelist` 命令 - 在授予这些管理员游戏内管理员,这样他们就可以在游戏内使用 `whitelist` 指令了。BDS 服务器不支持在游戏内使用该命令,你可以为服务器安装插件或模组等来实现。注意这种方式可能需要管理员们启动游戏并进入服务器才能添加白名单,需要在游戏的启动和服务器连接过程上耗费大量时间。 - - 在支持多用户的 [面板](../../../process/deploy/optional-methods.md#面板) 上为这些管理员授予控制台的操作权限 + - 在支持多用户的 [面板](/general/process/deploy/optional-methods#面板) 上为这些管理员授予控制台的操作权限 - 将服务器的后台交给这些管理员 (**不推荐** ,这会导致部分管理员获得其不需要的权限并产生安全隐患) 2. **为负责相关工作的管理团队培训** 。 @@ -66,7 +66,7 @@ sidebar_position: 4 3. 得知玩家游戏 ID 后,立刻在服务器上进行添加白名单操作。添加完成后,立刻通知玩家。最后才在白名单文档上记录玩家身份和 ID 的对应关系。 4. 监控玩家退群、注销论坛等表明其离开玩家社区的操作,并立即移除玩家对应的白名单,并在玩家白名单文档上进行标记或删除操作。 -:::warning[不要过于相信玩家!] +:::caution[不要过于相信玩家!] **不要因为要求玩家在玩家交流平台上使用游戏 ID 作为昵称就不记录玩家身份与游戏 ID 的对应关系** 。一些玩家会趁管理员不注意将自己的昵称修改为他人的或无效的游戏 ID 来在事故追责中隐藏身份逃脱处罚。 diff --git a/general/advance/viaproxy/index.md b/general/advance/viaproxy/index.md index 13c72650b..eab554164 100644 --- a/general/advance/viaproxy/index.md +++ b/general/advance/viaproxy/index.md @@ -5,7 +5,7 @@ sidebar_position: 10 # ViaProxy -:::info +:::note `GitHub` https://github.com/ViaVersion/ViaProxy @@ -97,7 +97,7 @@ ViaProxy 是独立程序,运行在客户端侧,支持全版本和基岩版 将插件 JAR 文件放入 ViaProxy 的 `plugins` 文件夹,重启 ViaProxy 即可。 -:::warning +:::caution ViaProxy 主要用于版本兼容性测试和特殊需求场景。对于生产环境,建议使用服务器端的 Via 插件套件。 diff --git a/general/advance/viaproxy/plugins/auth.md b/general/advance/viaproxy/plugins/auth.md index 7afa472f8..fa7c7b8c9 100644 --- a/general/advance/viaproxy/plugins/auth.md +++ b/general/advance/viaproxy/plugins/auth.md @@ -9,7 +9,7 @@ sidebar_position: 1 ## ViaProxyAuthHook -:::info +:::note `GitHub` https://github.com/ViaVersionAddons/ViaProxyAuthHook @@ -107,7 +107,7 @@ target-port: 25565 ## ViaProxyOpenAuthMod -:::info +:::note `GitHub` https://github.com/ViaVersionAddons/ViaProxyOpenAuthMod diff --git a/general/advance/viaproxy/plugins/compatibility.md b/general/advance/viaproxy/plugins/compatibility.md index 82620fbc4..9c88bb469 100644 --- a/general/advance/viaproxy/plugins/compatibility.md +++ b/general/advance/viaproxy/plugins/compatibility.md @@ -9,7 +9,7 @@ sidebar_position: 4 ## ViaProxyBeta2Release {#beta2release} -:::info +:::note `GitHub` https://github.com/ViaVersionAddons/ViaProxyBeta2Release @@ -19,7 +19,7 @@ sidebar_position: 4 ViaProxyBeta2Release 实现了 [Beta2Release](https://github.com/DirtPowered/Beta2Release) 代理功能,允许 Beta 1.7.3 客户端连接到现代服务器。 -:::warning[重要提醒] +:::caution[重要提醒] 此插件需要 **Java 21 或更高版本** @@ -51,7 +51,7 @@ world-seed = "-1849830396072973239" # Beta 1.7.3 世界生成种子 ## BungeeViaProxy {#bungeeviaproxy} -:::info +:::note `GitHub` https://github.com/ViaVersionAddons/BungeeViaProxy @@ -83,11 +83,11 @@ BungeeViaProxy 通过确保正确的主机名转发和避免重复服务器错 ### 网络架构 -```text +```txt 客户端 -> BungeeCord -> ViaProxy -> 后端服务器 ``` -:::warning[重要配置要求] +:::caution[重要配置要求] 使用此设置时,ViaProxy 必须放置在 BungeeCord 和后端服务器之间,并且需要以下配置: @@ -125,7 +125,7 @@ BungeeViaProxy 通过确保正确的主机名转发和避免重复服务器错 假设以下服务器设置: -| 服务器 | IP:端口 | Minecraft 版本 | +| 服务器 | IP:端口 | Minecraft 版本 | | ------------ | --------------- | -------------- | | BungeeCord | 127.0.0.1:25565 | N/A | | ViaProxy | 127.0.0.1:25566 | N/A | @@ -208,7 +208,7 @@ settings: ViaProxy 的 `wildcard-domain-handling` 功能允许单个实例处理多个后端服务器的连接,使用特定的地址格式: -```text +```txt address.<后端 IP>.port.<后端端口>.version.<版本>.f2.viaproxy..nip.io: ``` @@ -216,7 +216,7 @@ address.<后端 IP>.port.<后端端口>.version.<版本>.f2.viaproxy..port.<后端端口>.version.<版本>.f2.viaproxy. -```text +```txt # 通过 FTP 客户端或文件管理器设置权限 # 文件权限:644 # 目录权限:755 @@ -151,7 +151,7 @@ sudo chmod -R 777 /var/www/html/namelessmc/uploads 1. **数据库配置** - ```text + ```txt 数据库类型:MySQL 主机地址:localhost (或你的数据库主机) 端口:3306 @@ -165,7 +165,7 @@ sudo chmod -R 777 /var/www/html/namelessmc/uploads 1. **站点配置** - ```text + ```txt 站点名称:你的服务器名称 站点 URL:完整的域名地址 友好 URL:启用 (推荐) @@ -173,7 +173,7 @@ sudo chmod -R 777 /var/www/html/namelessmc/uploads 1. **管理员账户** - ```text + ```txt 用户名:admin (可自定义) 邮箱:admin@yourdomain.com 密码:强密码 diff --git a/src/content/docs/general/basics/_assets/nogui.jpg b/general/basics/_assets/nogui.jpg similarity index 100% rename from src/content/docs/general/basics/_assets/nogui.jpg rename to general/basics/_assets/nogui.jpg diff --git "a/src/content/docs/general/basics/_assets/\345\217\243\345\255\227\347\254\246.png" "b/general/basics/_assets/\345\217\243\345\255\227\347\254\246.png" similarity index 100% rename from "src/content/docs/general/basics/_assets/\345\217\243\345\255\227\347\254\246.png" rename to "general/basics/_assets/\345\217\243\345\255\227\347\254\246.png" diff --git a/src/content/docs/general/basics/index.md b/general/basics/index.md similarity index 100% rename from src/content/docs/general/basics/index.md rename to general/basics/index.md diff --git a/src/content/docs/general/basics/what-is-log.md b/general/basics/what-is-log.md similarity index 87% rename from src/content/docs/general/basics/what-is-log.md rename to general/basics/what-is-log.md index 0e1f91fab..e80e2df9a 100644 --- a/src/content/docs/general/basics/what-is-log.md +++ b/general/basics/what-is-log.md @@ -16,7 +16,7 @@ title: 什么是日志? -```text +```txt [00:01:32] [Server thread/WARN]: [PvPManager] Error loading Vault! No Economy plugin found [00:02:34] [Craft Scheduler Thread - 5300 - InteractiveChat/INFO]: MangGuo_Pi: www [00:47:53] [Server thread/ERROR]: Error occurred (in the plugin loader) while disabling ExcellentShop v4.3.12 (Is it up to date?) @@ -36,7 +36,7 @@ title: 什么是日志? **Craft Scheduler Thread** 一般为插件使用 Bukkit 计划任务时自动开启的线程。 -:::info +:::note 1. 某些时候如果后台被大量刷屏,可以先检查线程信息,或许对定位日志来源有帮助; @@ -46,13 +46,13 @@ title: 什么是日志? ### 日志级别 -| 级别 | 程度 | 具体内容 | -| :---: | :--: | :------------------------------------------- | -| INFO | 信息 | 聊天内容/玩家状态/玩家指令/插件信息/…… | -| WARN | 警告 | 对于一些潜在的风险进行警告,有可能发展为报错 | -| ERROR | 错误 | 服务器出现错误后输出的信息 | +| 级别 | 程度 | 具体内容 | +| :---: | :---: | :------------------------------------------- | +| INFO | 信息 | 聊天内容/玩家状态/玩家指令/插件信息/…… | +| WARN | 警告 | 对于一些潜在的风险进行警告,有可能发展为报错 | +| ERROR | 错误 | 服务器出现错误后输出的信息 | -总的来说,当服务器出现异常时请立刻检查日志中是否出现了 `WARN` 或 `ERROR` 级别的报错,建议先搜索查看是否有人遇到类似情况,再结合翻译结果尝试修复。如果搞不定可以请教其他人,但是切记一定要先读一读 [如何提问](../ask-for-help.md) +总的来说,当服务器出现异常时请立刻检查日志中是否出现了 `WARN` 或 `ERROR` 级别的报错,建议先搜索查看是否有人遇到类似情况,再结合翻译结果尝试修复。如果搞不定可以请教其他人,但是切记一定要先读一读 [如何提问](/general/more/ask-for-help) #### INFO @@ -64,7 +64,7 @@ title: 什么是日志? 例: -```text +```txt [00:47:55] [Server thread/INFO]: Player_A issued server command: /lp user Player_A permission set rtp.use true [00:47:55] [luckperms-command-executor/INFO]: [LP] LOG > (Player_A) [U] (radiation_pi) ``` @@ -75,7 +75,7 @@ title: 什么是日志? 插件版本有不兼容风险、配置文件或数据出现问题,暂时可控,可能导致进一步报错,如: -```text +```txt [00:01:32] [Server thread/WARN]: [PvPManager] Error loading Vault! No Economy plugin found ``` diff --git a/src/content/docs/general/basics/what-is-messy-code.md b/general/basics/what-is-messy-code.md similarity index 100% rename from src/content/docs/general/basics/what-is-messy-code.md rename to general/basics/what-is-messy-code.md diff --git a/src/content/docs/general/basics/what-is-permission.md b/general/basics/what-is-permission.md similarity index 100% rename from src/content/docs/general/basics/what-is-permission.md rename to general/basics/what-is-permission.md diff --git a/src/content/docs/general/basics/what-is-plugin.md b/general/basics/what-is-plugin.md similarity index 99% rename from src/content/docs/general/basics/what-is-plugin.md rename to general/basics/what-is-plugin.md index 25596d608..476cf33d2 100644 --- a/src/content/docs/general/basics/what-is-plugin.md +++ b/general/basics/what-is-plugin.md @@ -30,7 +30,7 @@ title: 什么是插件? > > 如果你一定要逆天而行,查看 [插件管理](/java/PluginMagagement) 页面。 -:::warning +:::caution 如果你正在使用一个没有明确提醒支持哪个子版本的插件,那么要小心: diff --git a/src/content/docs/general/basics/what-is-server.md b/general/basics/what-is-server.md similarity index 97% rename from src/content/docs/general/basics/what-is-server.md rename to general/basics/what-is-server.md index 359e91624..ab93b0548 100644 --- a/src/content/docs/general/basics/what-is-server.md +++ b/general/basics/what-is-server.md @@ -31,7 +31,7 @@ _Minecraft_ 提供了让玩家可以进行 _多人游戏_ 的服务端,称为 由于原版 **Minecraft Server** 拓展性及性能不足,社区衍生出了多种提供 _多人游戏_ 的 **服务端**, 这些提供 _多人游戏_ 服务的 **程序/软件** 常被人称为 **核心**,大致可分为 -**[Mod](/java/start/basic/what-is-mod)** 服务端和 **[插件](what-is-plugin.md)** 服务端。 +**[Mod](/java/start/basic/what-is-mod)** 服务端和 **[插件](/general/basics/what-is-plugin)** 服务端。 常见的 **Mod** 服务端有 **Forge** 和 **Fabric** 等。 diff --git a/src/content/docs/general/basics/what-is-startup-script.md b/general/basics/what-is-startup-script.md similarity index 99% rename from src/content/docs/general/basics/what-is-startup-script.md rename to general/basics/what-is-startup-script.md index e32bd72a5..e2e4eb7c7 100644 --- a/src/content/docs/general/basics/what-is-startup-script.md +++ b/general/basics/what-is-startup-script.md @@ -34,7 +34,7 @@ _对于 Windows 服务器来说,启动脚本是 `.bat` 后缀的文件,对 L java -Xms12G -Xmx12G -jar 核心名.jar nogui ``` -:::warning +:::caution 作为新手,不用在意大多数参数的作用,你需要做的就是开启服务器。 @@ -60,7 +60,7 @@ java -Xms12G -Xmx12G -jar 核心名.jar nogui -:::info +:::note 1. 无论什么时候,分配内存时一定要多预留 15% 左右内存,如服务器还剩余 10 G 内存,不要将 -Xms 设置到大于 9 G 的内存,否则会很危险。 2. 在 G1GC 模式下,尽量保证 Xmx = Xms 因为如果二者不同 JVM 需要更多的内存时候,JVM 需要申请更多内存,这个过程的耗时会导致顿卡。 diff --git a/general/contribution/writing-specification/blank.md b/general/contribution/writing-specification/blank.md index 1f30ae4de..98af6daba 100644 --- a/general/contribution/writing-specification/blank.md +++ b/general/contribution/writing-specification/blank.md @@ -10,14 +10,14 @@ sidebar_position: 6 正确: -```text +```txt 请提交一个 [Issue](链接) 并分配给相关同事。 访问我们网站的最新动态,请 点击这里 进行订阅! ``` 错误: -```text +```txt 请提交一个[Issues](链接)并分配给相关同事。 访问我们网站的最新动态,请点击这里进行订阅! ``` @@ -28,14 +28,14 @@ sidebar_position: 6 正确: -```text +```txt 修复了一个 **内存泄露** 问题,该问题由 someone 在 版本 v0.1.1 中引入。 **测试文本**,这是测试。 ``` 错误: -```text +```txt 修复了一个**内存泄露**问题,该问题由 someone 在版本 v0.1.1 中引入。 **测试文本** ,这是测试。 ``` @@ -44,16 +44,16 @@ sidebar_position: 6 正确: -```text +```txt 怎样解决苦难? 只要活着,我们每一个人,都会面临苦难。 ``` 错误: -```text -怎样解决苦难? -只要活着,我们每一个人,都会面临苦难。 +```txt +怎样解决苦难? +只要活着,我们每一个人,都会面临苦难。 ``` 可以在 VS Code `查看 > 外观 > 显示空格` 处启用空格高亮的功能。 diff --git a/general/contribution/writing-specification/documentation-system.md b/general/contribution/writing-specification/documentation-system.md index eeabd780a..a8a6f099c 100644 --- a/general/contribution/writing-specification/documentation-system.md +++ b/general/contribution/writing-specification/documentation-system.md @@ -36,7 +36,7 @@ sidebar_position: 7 -```text +```txt 错误:名词 解释.md 正确:名词解释.md @@ -44,7 +44,7 @@ sidebar_position: 7 文件名需使用小写字母,不使用大写字母。 -```text +```txt 错误:TroubleShooting.md 正确:troubleshooting.md @@ -54,7 +54,7 @@ sidebar_position: 7 文件名包含多个单词时,单词之间使用半角的连词线 (`-`) 分隔。 -```text +```txt 错误:advanced_usage.md 正确:advanced-usage.md diff --git a/general/contribution/writing-specification/numerical-value.md b/general/contribution/writing-specification/numerical-value.md index da227f5d7..ca3d80f14 100644 --- a/general/contribution/writing-specification/numerical-value.md +++ b/general/contribution/writing-specification/numerical-value.md @@ -9,7 +9,7 @@ sidebar_position: 4 阿拉伯数字一律使用半角形式,不得使用全角形式。 -```text +```txt 错误:这件商品的价格是 1000 元。 正确:这件商品的价格是 1000 元。 @@ -19,7 +19,7 @@ sidebar_position: 4 数值为千位以上,应添加千分号(半角逗号)。 -```text +```txt XXX 公司的实收资本为 ¥1,258,000 人民币。 ``` @@ -29,7 +29,7 @@ XXX 公司的实收资本为 ¥1,258,000 人民币。 货币应为阿拉伯数字,并在数字前写出货币符号,或在数字后写出货币中文名称。 -```text +```txt $1,000 1,000 美元 ``` @@ -42,7 +42,7 @@ $1,000 带有单位或百分号时,两个数字建议都要加上单位或百分号。 -```text +```txt 132 kg~234 kg 67%~89% @@ -52,7 +52,7 @@ $1,000 数字的增加要使用“增加了”、“增加到”。“了”表示增量,“到”表示定量。 -```text +```txt 增加到过去的两倍 (过去为一,现在为二) @@ -62,7 +62,7 @@ $1,000 数字的减少要使用“降低了”、“降低到”。“了”表示增量,“到”表示定量。 -```text +```txt 降低到百分之八十 (定额是一百,现在是八十) diff --git a/general/contribution/writing-specification/paragraph.md b/general/contribution/writing-specification/paragraph.md index 08281decc..c4335b007 100644 --- a/general/contribution/writing-specification/paragraph.md +++ b/general/contribution/writing-specification/paragraph.md @@ -18,19 +18,19 @@ sidebar_position: 3 引用第三方内容时,应注明出处。 -```text +```txt One man’s constant is another man’s variable. — Alan Perlis ``` 如果是全篇转载,请在全文开头显著位置注明作者和出处,并链接至原文。 -```text +```txt 本文转载自 WikiQuote ``` 使用外部图片时,必须在图片下方或文末标明来源。 -```text +```txt 本文部分图片来自 Wikipedia ``` @@ -38,7 +38,7 @@ One man’s constant is another man’s variable. — Alan Perlis 如无特殊情况,在插件的 info 中遵循这样的顺序 -:::info +:::note `官网` https://xxx diff --git a/general/contribution/writing-specification/punctuation-marks.md b/general/contribution/writing-specification/punctuation-marks.md index 22cd07ccb..533750cf0 100644 --- a/general/contribution/writing-specification/punctuation-marks.md +++ b/general/contribution/writing-specification/punctuation-marks.md @@ -21,7 +21,7 @@ sidebar_position: 5 (2) 句子末尾用括号加注时,句号应在括号之外。 -```text +```txt 错误:关于文件的输出,请参照第 1.3 节 (见第 26 页。) 正确:关于文件的输出,请参照第 1.3 节 (见第 26 页)。 @@ -37,7 +37,7 @@ sidebar_position: 5 (1) 句子内部的并列词,应该用全角顿号 (`、`) 分隔,而不用逗号,即使并列词是英语也是如此。 -```text +```txt 错误:我最欣赏的科技公司有 Google,Facebook,腾讯,阿里和百度等。 正确:我最欣赏的科技公司有 Google、Facebook、腾讯、阿里和百度等。 @@ -45,13 +45,13 @@ sidebar_position: 5 (2) 英文句子中,并列词语之间使用半角逗号 (`,`) 分隔。 -```text +```txt 例句:Microsoft Office includes Word, Excel, PowerPoint, Outlook and other components. ``` (3) 中文句子内部的并列词,最后一个尽量使用 (`和`) 来连接,使句子读起来更加连贯,下面两个句子都可以,第二个更优。 -```text +```txt 正确:我最欣赏的科技公司有 Google、Facebook、腾讯、阿里,以及百度等。 正确:我最欣赏的科技公司有 Google、Facebook、腾讯、阿里和百度等。 @@ -65,13 +65,13 @@ sidebar_position: 5 (1) 引用时,应该使用全角双引号 (`“ ”`),注意前后双引号不同。 -```text +```txt 例句:许多人都认为客户服务的核心是“友好”和“专业”。 ``` (2) 引号里面还要用引号时,外面一层用双引号,里面一层用单引号 (`‘ ’`),注意前后单引号不同。 -```text +```txt 例句:鲍勃解释道:“我要放音乐,可萨利说,‘不行!’。” ``` @@ -79,7 +79,7 @@ sidebar_position: 5 (1) 补充说明时,使用全角圆括号 (`()`),括号前后不加空格。 -```text +```txt 例句:请确认所有的连接 (电缆和接插件) 均安装牢固。 ``` @@ -96,13 +96,13 @@ sidebar_position: 5 (1) 全角冒号 (`:`) 常用在需要解释的词语后边,引出解释和说明。 -```text +```txt 例句:请确认以下几项内容:时间、地点、活动名称和来宾数量。 ``` (2) 表示时间时,应使用半角冒号 (`:`)。 -```text +```txt 例句:早上 8:00 ``` @@ -114,7 +114,7 @@ sidebar_position: 5 (3) 省略号不应与“等”这个词一起使用。 -```text +```txt 错误:我们为会餐准备了香蕉、苹果、梨…等各色水果。 正确:我们为会餐准备了各色水果,有香蕉、苹果、梨⋯⋯ @@ -134,7 +134,7 @@ sidebar_position: 5 (2) 破折号应占两个汉字的位置。如果破折号本身只占一个汉字的位置,那么前后应该留出一个半角空格。 -```text +```txt 例句:直觉————尽管它并不总是可靠的————告诉我,这事可能出了些问题。 例句:直觉 —— 尽管它并不总是可靠的 —— 告诉我,这事可能出了些问题。 @@ -149,7 +149,7 @@ sidebar_position: 5 - 两个名词的复合 - 图表编号 -```text +```txt 例句:氧化 - 还原反应 例句:图 1-1 @@ -157,7 +157,7 @@ sidebar_position: 5 (3) 数值范围 (例如日期、时间或数字) 应该使用波浪连接号 (`~`) 或一字号 (`—`),占一个全角字符的位置。 -```text +```txt 例句:2009 年~2011 年 ``` @@ -165,6 +165,6 @@ sidebar_position: 5 (4) 波浪连接号也可以用汉字“至”代替。 -```text +```txt 例句:周围温度:-20 °C 至 -10 °C ``` diff --git a/general/contribution/writing-specification/text.md b/general/contribution/writing-specification/text.md index 0051561c6..dcb85a29d 100644 --- a/general/contribution/writing-specification/text.md +++ b/general/contribution/writing-specification/text.md @@ -9,7 +9,7 @@ sidebar_position: 2 (1) 全角中文字符与半角英文字符之间,应有一个半角空格。 -```text +```txt 错误:本文介绍如何快速启动 Windows 系统。 正确:本文介绍如何快速启动 Windows 系统。 @@ -17,7 +17,7 @@ sidebar_position: 2 (2) 全角中文字符与半角阿拉伯数字之间,有没有半角空格都可,但必须保证风格统一,不能两种风格混杂。 -```text +```txt 正确:2011 年 5 月 15 日,我订购了 5 台笔记本电脑与 10 台平板电脑。 正确:2011 年 5 月 15 日,我订购了 5 台笔记本电脑与 10 台平板电脑。 @@ -25,7 +25,7 @@ sidebar_position: 2 半角的百分号,视同阿拉伯数字。 -```text +```txt 正确:今年我国经济增长率是 6.5%。 正确:今年我国经济增长率是 6.5%。 @@ -33,7 +33,7 @@ sidebar_position: 2 (3) 英文单位若不翻译,单位前的阿拉伯数字与单位符号之间,应留出适当的空隙。 -```text +```txt 例 1:一部容量为 16 GB 的智能手机 例 2:1 h = 60 min = 3,600 s @@ -41,7 +41,7 @@ sidebar_position: 2 (4) 半角英文字符和半角阿拉伯数字,与全角标点符号之间不留空格。 -```text +```txt 错误:他的电脑是 MacBook Air。 正确:他的电脑是 MacBook Air。 @@ -53,7 +53,7 @@ sidebar_position: 2 不包含任何标点符号的单个句子,或者以逗号分隔的句子构件,长度尽量保持在 20 个字以内;20~29 个字的句子,可以接受;30~39 个字的句子,语义必须明确,才能接受;多于 40 个字的句子,任何情况下都不能接受。 -```text +```txt 错误:本产品适用于从由一台服务器进行动作控制的单一节点结构到由多台服务器进行动作控制的并行处理程序结构等多种体系结构。 正确:本产品适用于多种体系结构。无论是由一台服务器 (单一节点结构),还是由多台服务器 (并行处理结构) 进行动作控制,均可以使用本产品。 @@ -63,7 +63,7 @@ sidebar_position: 2 (2) 尽量使用简单句和并列句,避免使用复合句。 -```text +```txt 并列句:他昨天生病了,没有参加会议。 复合句:那个昨天生病的人没有参加会议。 @@ -71,7 +71,7 @@ sidebar_position: 2 (3) 同样一个意思,尽量使用肯定句表达,不使用否定句表达。 -```text +```txt 错误:请确认没有接通装置的电源。 正确:请确认装置的电源已关闭。 @@ -79,7 +79,7 @@ sidebar_position: 2 (4) 避免使用双重否定句。 -```text +```txt 错误:没有删除权限的用户,不能删除此文件。 正确:用户必须拥有删除权限,才能删除此文件。 @@ -89,7 +89,7 @@ sidebar_position: 2 (1) 尽量不使用被动语态,改为使用主动语态。 -```text +```txt 错误:假如此软件尚未被安装, 正确:假如尚未安装这个软件, @@ -97,7 +97,7 @@ sidebar_position: 2 (2) 不使用非正式的语言风格。 -```text +```txt 错误:Lady Gaga 的演唱会真是酷毙了,从没看过这么给力的表演!!! 正确:无法参加本次活动,我深感遗憾。 @@ -105,7 +105,7 @@ sidebar_position: 2 (3) 不使用冷僻、生造或者文言文的词语,而要使用现代汉语的常用表达方式。 -```text +```txt 错误:这是唯二的快速启动的方法。 正确:这是仅有的两种快速启动的方法。 @@ -113,7 +113,7 @@ sidebar_position: 2 (4) 用对“的”、“地”、“得”。 -```text +```txt 她露出了开心的笑容。 (形容词+的+名词) @@ -126,7 +126,7 @@ sidebar_position: 2 (5) 使用代词时 (比如“其”、“该”、“此”、“这”等词),必须明确指代的内容,保证只有一个含义。 -```text +```txt 错误:从管理系统可以监视中继系统和受其直接控制的分配系统。 正确:从管理系统可以监视两个系统:中继系统和受中继系统直接控制的分配系统。 @@ -134,7 +134,7 @@ sidebar_position: 2 (6) 名词前不要使用过多的形容词。 -```text +```txt 错误:此设备的使用必须在接受过本公司举办的正式的设备培训的技师的指导下进行。 正确:此设备必须在技师的指导下使用,且指导技师必须接受过由本公司举办的正式设备培训。 @@ -144,7 +144,7 @@ sidebar_position: 2 (1) 英文原文如果使用了复数形式,翻译成中文时,应该将其还原为单数形式。 -```text +```txt 英文:...information stored in random access memory (RAMs)... 中文:⋯⋯存储在随机存取存储器 (RAM) 里的信息⋯⋯ @@ -152,14 +152,14 @@ sidebar_position: 2 (2) 外文缩写可以使用半角圆点 (`.`) 表示缩写。 -```text +```txt U.S.A. Apple, Inc. ``` (3) 表示中文时,英文省略号 (`...`) 应改为中文省略号 (`⋯⋯`)。 -```text +```txt 英文:5 minutes later... 中文:5 分钟过去了⋯⋯ @@ -167,7 +167,7 @@ Apple, Inc. (4) 英文书名或电影名改用中文表达时,双引号应改为书名号。 -```text +```txt 英文:He published an article entitled "The Future of the Aviation". 中文:他发表了一篇名为《航空业的未来》的文章。 @@ -175,13 +175,13 @@ Apple, Inc. (5) 第一次出现英文词汇时,在括号中给出中文标注。此后再次出现时,直接使用英文缩写即可。 -```text +```txt IOC(International Olympic Committee,国际奥林匹克委员会)。这样定义后,便可以直接使用“IOC”了。 ``` (6) 专有名词中每个词第一个字母均应大写,非专有名词则不需要大写。 -```text +```txt “American Association of Physicists in Medicine”(美国医学物理学家协会) 是专有名词,需要大写。 “online transaction processing”(在线事务处理) 不是专有名词,不应大写。 @@ -195,14 +195,14 @@ IOC(International Olympic Committee,国际奥林匹克委员会)。这样定 正确: -```text +```txt 使用 GitHub 登录 我们的客户有 GitHub、Foursquare、Microsoft Corporation、Google、Facebook,Inc.。 ``` 错误: -```text +```txt 使用 github 登录 使用 GITHUB 登录 使用 GitHub 登录 @@ -221,12 +221,12 @@ IOC(International Olympic Committee,国际奥林匹克委员会)。这样定 正确: -```text +```txt 我们需要一位熟悉 JavaScript、HTML5,至少理解一种框架 (如 Backbone.js、AngularJS、React 等) 的前端开发者。 ``` 错误: -```text +```txt 我们需要一位熟悉 Js、h5,至少理解一种框架 (如 backbone、angular、RJS 等) 的 FED。 ``` diff --git a/general/process/maintenance/_assets/angryopenfrp.jpg b/general/maintenance/_assets/angryopenfrp.jpg similarity index 100% rename from general/process/maintenance/_assets/angryopenfrp.jpg rename to general/maintenance/_assets/angryopenfrp.jpg diff --git a/general/process/maintenance/maintenance.md b/general/maintenance/intro.md similarity index 82% rename from general/process/maintenance/maintenance.md rename to general/maintenance/intro.md index 067ea4644..9191bc216 100644 --- a/general/process/maintenance/maintenance.md +++ b/general/maintenance/intro.md @@ -1,11 +1,7 @@ --- title: 服务器维护 -slug: /maintenance -sidebar_position: 2 --- -# 服务器维护 - 当你搭建好服务器后,需要做一些维护工作来保证服务器良好的运行,除非你压根不考虑玩家数据安全问题。 ## 安装防熊插件 @@ -18,7 +14,7 @@ sidebar_position: 2 ## 检查日志 -[日志](../../start/basic/basic.md)中包含了大量的玩家、插件、服务器行为。 +[日志](/general/basics/what-is-log) 中包含了大量的玩家、插件、服务器行为。 每次维护服务器时请务必查看服务器近期的日志。 @@ -26,8 +22,8 @@ sidebar_position: 2 对于 `WARN` 等级的报错,请尝试通过翻译等手段了解 `WARN` 的内容,自行在网络查询或咨询其他人。 -:::warning +:::caution -注意!咨询其他人时请先查看 [如何向大佬求助](../../start/ask-for-help.md) +注意!咨询其他人时请先查看 [如何向大佬求助](/general/more/ask-for-help) ::: diff --git a/general/process/maintenance/plugin-troubleshooting.md b/general/maintenance/plugin-troubleshooting.md similarity index 92% rename from general/process/maintenance/plugin-troubleshooting.md rename to general/maintenance/plugin-troubleshooting.md index 3cdb5d32a..190206357 100644 --- a/general/process/maintenance/plugin-troubleshooting.md +++ b/general/maintenance/plugin-troubleshooting.md @@ -1,10 +1,7 @@ --- title: 如何排除有问题的插件 -sidebar_position: 7 --- -# 如何排除有问题的插件 - 当我们更新了服务器一些插件后,可能会发现某些插件出了一些问题,应该如何排除呢? ## log 定位 @@ -58,4 +55,4 @@ sidebar_position: 7 ## Arthas -使用 Arthas 对报错进行分析,[文档](../../advance/arthas.md),需要拥有较强的技术力 +使用 Arthas 对报错进行分析,[文档](/general/advance/arthas),需要拥有较强的技术力 diff --git a/src/content/docs/general/preparation/dumb-script-usage.md b/general/preparation/dumb-script-usage.md similarity index 100% rename from src/content/docs/general/preparation/dumb-script-usage.md rename to general/preparation/dumb-script-usage.md diff --git a/src/content/docs/general/preparation/services.md b/general/preparation/services.md similarity index 100% rename from src/content/docs/general/preparation/services.md rename to general/preparation/services.md diff --git a/src/content/docs/general/process/advance/domain-registration.md b/general/process/advance/domain-registration.md similarity index 100% rename from src/content/docs/general/process/advance/domain-registration.md rename to general/process/advance/domain-registration.md diff --git a/src/content/docs/general/process/advance/linux.md b/general/process/advance/linux.md similarity index 100% rename from src/content/docs/general/process/advance/linux.md rename to general/process/advance/linux.md diff --git a/src/content/docs/general/process/advance/bot.md b/general/process/bot.md similarity index 100% rename from src/content/docs/general/process/advance/bot.md rename to general/process/bot.md diff --git a/general/process/whitelist.md b/general/process/whitelist.md index 52fcfac2e..ebb3a7259 100644 --- a/general/process/whitelist.md +++ b/general/process/whitelist.md @@ -7,7 +7,7 @@ sidebar_position: 7 白名单是一种服务器管理工具,只允许在白名单上的玩家进入服务器 -:::warning +:::caution 白名单最好与正版验证或其他第三方验证一起使用,不然很容易被绕过 @@ -88,7 +88,7 @@ allow-list=on ### BistroWhitelist (Java 版) -:::info +:::note `官网` https://wiki.mcxjg.cn/ diff --git a/java/preparation/choose-and-download-and-install-java.md b/java/preparation/choose-and-download-and-install-java.md deleted file mode 100644 index 0f789243d..000000000 --- a/java/preparation/choose-and-download-and-install-java.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: 选择、下载和安装 Java -sidebar_position: 1 ---- - -# 选择、下载和安装 Java - -请见 [通用 | 选择、下载和安装 Java](/preparation/java/choose-and-download-and-install-java) diff --git a/java/preparation/dumb-script-usage.md b/java/preparation/dumb-script-usage.md deleted file mode 100644 index 6984a14d2..000000000 --- a/java/preparation/dumb-script-usage.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: 笨蛋脚本使用 -sidebar_position: 4 ---- - -# 笨蛋脚本使用 - -请见 [通用 | 笨蛋脚本使用](/preparation/dumb-script-usage) diff --git a/java/preparation/services.md b/java/preparation/services.md deleted file mode 100644 index b39d9f028..000000000 --- a/java/preparation/services.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: 笨蛋服务 -slug: /services -sidebar_position: 5 ---- - -# 笨蛋服务 - -请见 [通用 | 笨蛋服务](/services) diff --git a/java/preparation/text-editor.md b/java/preparation/text-editor.md deleted file mode 100644 index 30ca1f6a7..000000000 --- a/java/preparation/text-editor.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: 文本编辑器 -sidebar_position: 2 -sidebar_label: Java 版文本编辑器 ---- - -# 文本编辑器 - -请见 [通用 | 文本编辑器](/preparation/text-editor) diff --git a/java/process/create-art-assets.md b/java/process/create-art-assets.md deleted file mode 100644 index 755b1e3d0..000000000 --- a/java/process/create-art-assets.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -title: 创作美术资源 -sidebar_position: 6 ---- - -请见 [通用 | 创作美术资源](/process/create-art-assets) diff --git a/java/process/dashboard.md b/java/process/dashboard.md deleted file mode 100644 index 69eebf7b3..000000000 --- a/java/process/dashboard.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -title: 搭建面板 -sidebar_position: 7 ---- - -请见 [通用 | 搭建面板](/process/panel) diff --git a/java/process/database.md b/java/process/database.md deleted file mode 100644 index bf95ae7c2..000000000 --- a/java/process/database.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: 数据库相关 -sidebar_position: 5 ---- - -# 数据库相关 - -请见 [通用 | 数据库相关](/database) diff --git a/java/process/maintenance/how-to-defend-against-cyber-attacks.md b/java/process/maintenance/how-to-defend-against-cyber-attacks.md deleted file mode 100644 index a374f160c..000000000 --- a/java/process/maintenance/how-to-defend-against-cyber-attacks.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: 如何抵御网络攻击 -sidebar_position: 6 ---- - -# 如何抵御网络攻击 - -请见 [通用 | 如何抵御网络攻击](/process/maintenance/how-to-defend-against-cyber-attacks) diff --git a/java/process/maintenance/maintenance.md b/java/process/maintenance/maintenance.md deleted file mode 100644 index 6b41c7381..000000000 --- a/java/process/maintenance/maintenance.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -sidebar_position: 2 -slug: /maintenance/Java ---- - -# 维护 - -让你的服务器变得更好 - -import DocCardList from '@theme/DocCardList'; - - diff --git a/java/process/maintenance/resourcepack/plugins/plugins.md b/java/process/maintenance/resourcepack/plugins/plugins.md deleted file mode 100644 index 08c2e5389..000000000 --- a/java/process/maintenance/resourcepack/plugins/plugins.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -sidebar_position: 4 -title: 插件 -slug: /resourcepack/plugins ---- - -# 插件 - -一些和资源包生成有关的插件。 - -import DocCardList from '@theme/DocCardList'; - - diff --git a/java/start/basic/relationship-between-servers.md b/java/start/basic/relationship-between-servers.md index e6c5b2374..0253e608f 100644 --- a/java/start/basic/relationship-between-servers.md +++ b/java/start/basic/relationship-between-servers.md @@ -23,7 +23,7 @@ Bukkit -> Spigot -> Paper 这基本是服务端发展的现状,**Paper 支持 几乎所有的新版本核心都基于 Paper,由于其侧重点不同,不同的核心可能选择不同的方向,如功能性、性能、拓展性等。 -:::info +:::note 如果一个核心 A 是基于另一个核心 B,那么核心 A 基本能兼容为核心 B 写的插件,这样是为什么使用 Paper 服务器时可以去 Bukkit 或 Spigot 资源站找插件的原因。 diff --git a/java/start/basic/what-is-lag.md b/java/start/basic/what-is-lag.md deleted file mode 100644 index c9048b319..000000000 --- a/java/start/basic/what-is-lag.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: 什么是卡顿? -sidebar_position: 2 ---- - -# 什么是卡顿? - -请见 [通用 | 什么是卡顿](/start/basic/what-is-lag) diff --git a/package.json b/package.json index e42326a27..572998e38 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,7 @@ }, "dependencies": { "@astrojs/starlight": "^0.37.1", + "@astrojs/starlight-docsearch": "^0.6.1", "@tailwindcss/vite": "^4.1.18", "astro": "^5.16.6", "astro-mermaid": "^1.2.0", @@ -30,5 +31,5 @@ "engines": { "node": ">=18.0" }, - "packageManager": "pnpm@10.25.0+sha512.5e82639027af37cf832061bcc6d639c219634488e0f2baebe785028a793de7b525ffcd3f7ff574f5e9860654e098fe852ba8ac5dd5cefe1767d23a020a92f501" + "packageManager": "pnpm@10.27.0+sha512.72d699da16b1179c14ba9e64dc71c9a40988cbdc65c264cb0e489db7de917f20dcf4d64d8723625f2969ba52d4b7e2a1170682d9ac2a5dcaeaab732b7e16f04a" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2c218b069..e09c7238e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -11,6 +11,9 @@ importers: '@astrojs/starlight': specifier: ^0.37.1 version: 0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)) + '@astrojs/starlight-docsearch': + specifier: ^0.6.1 + version: 0.6.1(@algolia/client-search@5.46.2)(@astrojs/starlight@0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)))(search-insights@2.17.3) '@tailwindcss/vite': specifier: ^4.1.18 version: 4.1.18(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)) @@ -54,6 +57,82 @@ importers: packages: + '@algolia/abtesting@1.12.2': + resolution: {integrity: sha512-oWknd6wpfNrmRcH0vzed3UPX0i17o4kYLM5OMITyMVM2xLgaRbIafoxL0e8mcrNNb0iORCJA0evnNDKRYth5WQ==} + engines: {node: '>= 14.0.0'} + + '@algolia/autocomplete-core@1.17.9': + resolution: {integrity: sha512-O7BxrpLDPJWWHv/DLA9DRFWs+iY1uOJZkqUwjS5HSZAGcl0hIVCQ97LTLewiZmZ402JYUrun+8NqFP+hCknlbQ==} + + '@algolia/autocomplete-plugin-algolia-insights@1.17.9': + resolution: {integrity: sha512-u1fEHkCbWF92DBeB/KHeMacsjsoI0wFhjZtlCq2ddZbAehshbZST6Hs0Avkc0s+4UyBGbMDnSuXHLuvRWK5iDQ==} + peerDependencies: + search-insights: '>= 1 < 3' + + '@algolia/autocomplete-preset-algolia@1.17.9': + resolution: {integrity: sha512-Na1OuceSJeg8j7ZWn5ssMu/Ax3amtOwk76u4h5J4eK2Nx2KB5qt0Z4cOapCsxot9VcEN11ADV5aUSlQF4RhGjQ==} + peerDependencies: + '@algolia/client-search': '>= 4.9.1 < 6' + algoliasearch: '>= 4.9.1 < 6' + + '@algolia/autocomplete-shared@1.17.9': + resolution: {integrity: sha512-iDf05JDQ7I0b7JEA/9IektxN/80a2MZ1ToohfmNS3rfeuQnIKI3IJlIafD0xu4StbtQTghx9T3Maa97ytkXenQ==} + peerDependencies: + '@algolia/client-search': '>= 4.9.1 < 6' + algoliasearch: '>= 4.9.1 < 6' + + '@algolia/client-abtesting@5.46.2': + resolution: {integrity: sha512-oRSUHbylGIuxrlzdPA8FPJuwrLLRavOhAmFGgdAvMcX47XsyM+IOGa9tc7/K5SPvBqn4nhppOCEz7BrzOPWc4A==} + engines: {node: '>= 14.0.0'} + + '@algolia/client-analytics@5.46.2': + resolution: {integrity: sha512-EPBN2Oruw0maWOF4OgGPfioTvd+gmiNwx0HmD9IgmlS+l75DatcBkKOPNJN+0z3wBQWUO5oq602ATxIfmTQ8bA==} + engines: {node: '>= 14.0.0'} + + '@algolia/client-common@5.46.2': + resolution: {integrity: sha512-Hj8gswSJNKZ0oyd0wWissqyasm+wTz1oIsv5ZmLarzOZAp3vFEda8bpDQ8PUhO+DfkbiLyVnAxsPe4cGzWtqkg==} + engines: {node: '>= 14.0.0'} + + '@algolia/client-insights@5.46.2': + resolution: {integrity: sha512-6dBZko2jt8FmQcHCbmNLB0kCV079Mx/DJcySTL3wirgDBUH7xhY1pOuUTLMiGkqM5D8moVZTvTdRKZUJRkrwBA==} + engines: {node: '>= 14.0.0'} + + '@algolia/client-personalization@5.46.2': + resolution: {integrity: sha512-1waE2Uqh/PHNeDXGn/PM/WrmYOBiUGSVxAWqiJIj73jqPqvfzZgzdakHscIVaDl6Cp+j5dwjsZ5LCgaUr6DtmA==} + engines: {node: '>= 14.0.0'} + + '@algolia/client-query-suggestions@5.46.2': + resolution: {integrity: sha512-EgOzTZkyDcNL6DV0V/24+oBJ+hKo0wNgyrOX/mePBM9bc9huHxIY2352sXmoZ648JXXY2x//V1kropF/Spx83w==} + engines: {node: '>= 14.0.0'} + + '@algolia/client-search@5.46.2': + resolution: {integrity: sha512-ZsOJqu4HOG5BlvIFnMU0YKjQ9ZI6r3C31dg2jk5kMWPSdhJpYL9xa5hEe7aieE+707dXeMI4ej3diy6mXdZpgA==} + engines: {node: '>= 14.0.0'} + + '@algolia/ingestion@1.46.2': + resolution: {integrity: sha512-1Uw2OslTWiOFDtt83y0bGiErJYy5MizadV0nHnOoHFWMoDqWW0kQoMFI65pXqRSkVvit5zjXSLik2xMiyQJDWQ==} + engines: {node: '>= 14.0.0'} + + '@algolia/monitoring@1.46.2': + resolution: {integrity: sha512-xk9f+DPtNcddWN6E7n1hyNNsATBCHIqAvVGG2EAGHJc4AFYL18uM/kMTiOKXE/LKDPyy1JhIerrh9oYb7RBrgw==} + engines: {node: '>= 14.0.0'} + + '@algolia/recommend@5.46.2': + resolution: {integrity: sha512-NApbTPj9LxGzNw4dYnZmj2BoXiAc8NmbbH6qBNzQgXklGklt/xldTvu+FACN6ltFsTzoNU6j2mWNlHQTKGC5+Q==} + engines: {node: '>= 14.0.0'} + + '@algolia/requester-browser-xhr@5.46.2': + resolution: {integrity: sha512-ekotpCwpSp033DIIrsTpYlGUCF6momkgupRV/FA3m62SreTSZUKjgK6VTNyG7TtYfq9YFm/pnh65bATP/ZWJEg==} + engines: {node: '>= 14.0.0'} + + '@algolia/requester-fetch@5.46.2': + resolution: {integrity: sha512-gKE+ZFi/6y7saTr34wS0SqYFDcjHW4Wminv8PDZEi0/mE99+hSrbKgJWxo2ztb5eqGirQTgIh1AMVacGGWM1iw==} + engines: {node: '>= 14.0.0'} + + '@algolia/requester-node-http@5.46.2': + resolution: {integrity: sha512-ciPihkletp7ttweJ8Zt+GukSVLp2ANJHU+9ttiSxsJZThXc4Y2yJ8HGVWesW5jN1zrsZsezN71KrMx/iZsOYpg==} + engines: {node: '>= 14.0.0'} + '@antfu/install-pkg@1.1.0': resolution: {integrity: sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==} @@ -90,6 +169,11 @@ packages: '@astrojs/sitemap@3.6.0': resolution: {integrity: sha512-4aHkvcOZBWJigRmMIAJwRQXBS+ayoP5z40OklTXYXhUDhwusz+DyDl+nSshY6y9DvkVEavwNcFO8FD81iGhXjg==} + '@astrojs/starlight-docsearch@0.6.1': + resolution: {integrity: sha512-ezgE5bGAuSU5/+W7j3AAika/NL15ox3RKDSzq4sGroKlEPGo8PuJyn/3Q1RcoWYhRhkKSOGBFa5tQwuPiXk6Qw==} + peerDependencies: + '@astrojs/starlight': '>=0.32.0' + '@astrojs/starlight@0.37.1': resolution: {integrity: sha512-STNsR5PaDoiW4IgcX17Fp42FfyqwuweWPts/EWEMcFPAeg9Nvpu3UvVCorasYrgfJgaJTeydsOV++0ACA1KYDA==} peerDependencies: @@ -623,6 +707,29 @@ packages: resolution: {integrity: sha512-kzyuwOAQnXJNLS9PSyrk0CWk35nWJW/zl/6KvnTBMFK65gm7U1/Z5BqjxeapjZCIhQcM/DsrEmcbRwDyXyXK4A==} engines: {node: '>=14'} + '@docsearch/css@3.9.0': + resolution: {integrity: sha512-cQbnVbq0rrBwNAKegIac/t6a8nWoUAn8frnkLFW6YARaRmAQr5/Eoe6Ln2fqkUCZ40KpdrKbpSAmgrkviOxuWA==} + + '@docsearch/js@3.9.0': + resolution: {integrity: sha512-4bKHcye6EkLgRE8ze0vcdshmEqxeiJM77M0JXjef7lrYZfSlMunrDOCqyLjiZyo1+c0BhUqA2QpFartIjuHIjw==} + + '@docsearch/react@3.9.0': + resolution: {integrity: sha512-mb5FOZYZIkRQ6s/NWnM98k879vu5pscWqTLubLFBO87igYYT4VzVazh4h5o/zCvTIZgEt3PvsCOMOswOUo9yHQ==} + peerDependencies: + '@types/react': '>= 16.8.0 < 20.0.0' + react: '>= 16.8.0 < 20.0.0' + react-dom: '>= 16.8.0 < 20.0.0' + search-insights: '>= 1 < 3' + peerDependenciesMeta: + '@types/react': + optional: true + react: + optional: true + react-dom: + optional: true + search-insights: + optional: true + '@emnapi/runtime@1.7.1': resolution: {integrity: sha512-PVtJr5CmLwYAU9PZDMITZoR5iAOShYREoR45EyyLrbntV50mdePTgUn4AmOw90Ifcj+x2kRjdzr1HP3RrNiHGA==} @@ -1608,6 +1715,10 @@ packages: ajv@8.17.1: resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} + algoliasearch@5.46.2: + resolution: {integrity: sha512-qqAXW9QvKf2tTyhpDA4qXv1IfBwD2eduSW6tUEBFIfCeE9gn9HQ9I5+MaKoenRuHrzk5sQoNh1/iof8mY7uD6Q==} + engines: {node: '>= 14.0.0'} + ansi-align@3.0.1: resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} @@ -3271,6 +3382,9 @@ packages: resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} engines: {node: ^10 || ^12 || >=14} + preact@10.28.1: + resolution: {integrity: sha512-u1/ixq/lVQI0CakKNvLDEcW5zfCjUQfZdK9qqWuIJtsezuyG6pk9TWj75GMuI/EzRSZB/VAE43sNWWZfiy8psw==} + pretty-bytes@5.6.0: resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} engines: {node: '>=6'} @@ -3593,6 +3707,9 @@ packages: sax@1.4.3: resolution: {integrity: sha512-yqYn1JhPczigF94DMS+shiDMjDowYO6y9+wB/4WgO0Y19jWYk0lQ4tuG5KI7kj4FTp1wxPj5IFfcrz/s1c3jjQ==} + search-insights@2.17.3: + resolution: {integrity: sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ==} + semver@6.3.1: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true @@ -4305,6 +4422,118 @@ packages: snapshots: + '@algolia/abtesting@1.12.2': + dependencies: + '@algolia/client-common': 5.46.2 + '@algolia/requester-browser-xhr': 5.46.2 + '@algolia/requester-fetch': 5.46.2 + '@algolia/requester-node-http': 5.46.2 + + '@algolia/autocomplete-core@1.17.9(@algolia/client-search@5.46.2)(algoliasearch@5.46.2)(search-insights@2.17.3)': + dependencies: + '@algolia/autocomplete-plugin-algolia-insights': 1.17.9(@algolia/client-search@5.46.2)(algoliasearch@5.46.2)(search-insights@2.17.3) + '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@5.46.2)(algoliasearch@5.46.2) + transitivePeerDependencies: + - '@algolia/client-search' + - algoliasearch + - search-insights + + '@algolia/autocomplete-plugin-algolia-insights@1.17.9(@algolia/client-search@5.46.2)(algoliasearch@5.46.2)(search-insights@2.17.3)': + dependencies: + '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@5.46.2)(algoliasearch@5.46.2) + search-insights: 2.17.3 + transitivePeerDependencies: + - '@algolia/client-search' + - algoliasearch + + '@algolia/autocomplete-preset-algolia@1.17.9(@algolia/client-search@5.46.2)(algoliasearch@5.46.2)': + dependencies: + '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@5.46.2)(algoliasearch@5.46.2) + '@algolia/client-search': 5.46.2 + algoliasearch: 5.46.2 + + '@algolia/autocomplete-shared@1.17.9(@algolia/client-search@5.46.2)(algoliasearch@5.46.2)': + dependencies: + '@algolia/client-search': 5.46.2 + algoliasearch: 5.46.2 + + '@algolia/client-abtesting@5.46.2': + dependencies: + '@algolia/client-common': 5.46.2 + '@algolia/requester-browser-xhr': 5.46.2 + '@algolia/requester-fetch': 5.46.2 + '@algolia/requester-node-http': 5.46.2 + + '@algolia/client-analytics@5.46.2': + dependencies: + '@algolia/client-common': 5.46.2 + '@algolia/requester-browser-xhr': 5.46.2 + '@algolia/requester-fetch': 5.46.2 + '@algolia/requester-node-http': 5.46.2 + + '@algolia/client-common@5.46.2': {} + + '@algolia/client-insights@5.46.2': + dependencies: + '@algolia/client-common': 5.46.2 + '@algolia/requester-browser-xhr': 5.46.2 + '@algolia/requester-fetch': 5.46.2 + '@algolia/requester-node-http': 5.46.2 + + '@algolia/client-personalization@5.46.2': + dependencies: + '@algolia/client-common': 5.46.2 + '@algolia/requester-browser-xhr': 5.46.2 + '@algolia/requester-fetch': 5.46.2 + '@algolia/requester-node-http': 5.46.2 + + '@algolia/client-query-suggestions@5.46.2': + dependencies: + '@algolia/client-common': 5.46.2 + '@algolia/requester-browser-xhr': 5.46.2 + '@algolia/requester-fetch': 5.46.2 + '@algolia/requester-node-http': 5.46.2 + + '@algolia/client-search@5.46.2': + dependencies: + '@algolia/client-common': 5.46.2 + '@algolia/requester-browser-xhr': 5.46.2 + '@algolia/requester-fetch': 5.46.2 + '@algolia/requester-node-http': 5.46.2 + + '@algolia/ingestion@1.46.2': + dependencies: + '@algolia/client-common': 5.46.2 + '@algolia/requester-browser-xhr': 5.46.2 + '@algolia/requester-fetch': 5.46.2 + '@algolia/requester-node-http': 5.46.2 + + '@algolia/monitoring@1.46.2': + dependencies: + '@algolia/client-common': 5.46.2 + '@algolia/requester-browser-xhr': 5.46.2 + '@algolia/requester-fetch': 5.46.2 + '@algolia/requester-node-http': 5.46.2 + + '@algolia/recommend@5.46.2': + dependencies: + '@algolia/client-common': 5.46.2 + '@algolia/requester-browser-xhr': 5.46.2 + '@algolia/requester-fetch': 5.46.2 + '@algolia/requester-node-http': 5.46.2 + + '@algolia/requester-browser-xhr@5.46.2': + dependencies: + '@algolia/client-common': 5.46.2 + + '@algolia/requester-fetch@5.46.2': + dependencies: + '@algolia/client-common': 5.46.2 + + '@algolia/requester-node-http@5.46.2': + dependencies: + '@algolia/client-common': 5.46.2 + '@antfu/install-pkg@1.1.0': dependencies: package-manager-detector: 1.6.0 @@ -4385,6 +4614,18 @@ snapshots: stream-replace-string: 2.0.0 zod: 3.25.76 + '@astrojs/starlight-docsearch@0.6.1(@algolia/client-search@5.46.2)(@astrojs/starlight@0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)))(search-insights@2.17.3)': + dependencies: + '@astrojs/starlight': 0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)) + '@docsearch/css': 3.9.0 + '@docsearch/js': 3.9.0(@algolia/client-search@5.46.2)(search-insights@2.17.3) + transitivePeerDependencies: + - '@algolia/client-search' + - '@types/react' + - react + - react-dom + - search-insights + '@astrojs/starlight@0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3))': dependencies: '@astrojs/markdown-remark': 6.3.10 @@ -5113,6 +5354,30 @@ snapshots: '@ctrl/tinycolor@4.2.0': {} + '@docsearch/css@3.9.0': {} + + '@docsearch/js@3.9.0(@algolia/client-search@5.46.2)(search-insights@2.17.3)': + dependencies: + '@docsearch/react': 3.9.0(@algolia/client-search@5.46.2)(search-insights@2.17.3) + preact: 10.28.1 + transitivePeerDependencies: + - '@algolia/client-search' + - '@types/react' + - react + - react-dom + - search-insights + + '@docsearch/react@3.9.0(@algolia/client-search@5.46.2)(search-insights@2.17.3)': + dependencies: + '@algolia/autocomplete-core': 1.17.9(@algolia/client-search@5.46.2)(algoliasearch@5.46.2)(search-insights@2.17.3) + '@algolia/autocomplete-preset-algolia': 1.17.9(@algolia/client-search@5.46.2)(algoliasearch@5.46.2) + '@docsearch/css': 3.9.0 + algoliasearch: 5.46.2 + optionalDependencies: + search-insights: 2.17.3 + transitivePeerDependencies: + - '@algolia/client-search' + '@emnapi/runtime@1.7.1': dependencies: tslib: 2.8.1 @@ -5943,6 +6208,23 @@ snapshots: json-schema-traverse: 1.0.0 require-from-string: 2.0.2 + algoliasearch@5.46.2: + dependencies: + '@algolia/abtesting': 1.12.2 + '@algolia/client-abtesting': 5.46.2 + '@algolia/client-analytics': 5.46.2 + '@algolia/client-common': 5.46.2 + '@algolia/client-insights': 5.46.2 + '@algolia/client-personalization': 5.46.2 + '@algolia/client-query-suggestions': 5.46.2 + '@algolia/client-search': 5.46.2 + '@algolia/ingestion': 1.46.2 + '@algolia/monitoring': 1.46.2 + '@algolia/recommend': 5.46.2 + '@algolia/requester-browser-xhr': 5.46.2 + '@algolia/requester-fetch': 5.46.2 + '@algolia/requester-node-http': 5.46.2 + ansi-align@3.0.1: dependencies: string-width: 4.2.3 @@ -8193,6 +8475,8 @@ snapshots: picocolors: 1.1.1 source-map-js: 1.2.1 + preact@10.28.1: {} + pretty-bytes@5.6.0: {} pretty-bytes@6.1.1: {} @@ -8605,6 +8889,8 @@ snapshots: sax@1.4.3: {} + search-insights@2.17.3: {} + semver@6.3.1: {} semver@7.7.3: {} diff --git a/src/content.config.ts b/src/content.config.ts index ebc6d4f8c..ae501acb9 100644 --- a/src/content.config.ts +++ b/src/content.config.ts @@ -1,13 +1,15 @@ import { docsLoader } from "@astrojs/starlight/loaders"; import { docsSchema } from "@astrojs/starlight/schema"; import { defineCollection, z } from "astro:content"; +import { topicSchema } from "starlight-sidebar-topics/schema"; export const collections = { docs: defineCollection({ loader: docsLoader(), schema: docsSchema({ extend: z.object({ - giscus: z.boolean().optional().default(true) + giscus: z.boolean().optional().default(true), + topicSchema: topicSchema.optional(), }) }) }) diff --git a/src/content/docs/general/basics/what-is-lag.md b/src/content/docs/basics/what-is-lag.md similarity index 98% rename from src/content/docs/general/basics/what-is-lag.md rename to src/content/docs/basics/what-is-lag.md index ec7c6ec9f..2dc343cb9 100644 --- a/src/content/docs/general/basics/what-is-lag.md +++ b/src/content/docs/basics/what-is-lag.md @@ -1,5 +1,7 @@ --- title: 什么是卡顿? +topic: basics +template: splash --- 服务器中玩家可感知到的卡顿是多种多样的,其中主要包括服务器处理速度不足导致的 **MSPT** 偏高, **TPS** 偏低, @@ -30,7 +32,7 @@ Minecraft 服务器卡顿的底层逻辑是什么? ![](https://spark.lucko.me/docs/assets/images/ticks-lagging-0bec1e4f565281af7a643f94222df521.png) -:::warning +:::caution 此处只是最简单的理解,要对卡顿有更深层的理解请查看 TODO:多线程 @@ -40,7 +42,7 @@ Minecraft 服务器卡顿的底层逻辑是什么? TPS (Ticks Per Second)(每秒 Tick 数) 正常应为 20,即服务器每秒钟进行 20 次更新,确保红石、生物 AI 等按照正常工作。 -:::warning +:::caution TPS 只是最基础的量化卡顿程度。并不是 TPS 高,玩家就感受不到卡顿,也不是 TPS 低就一定会感受到非常卡顿。 这是因为,TPS 只是计算一个平均值,如果某一个 Tick 花费了 800 ms,而剩下的 18 Tick 只花费了 200 ms,即使计算出的 TPS 为 19 但玩家会感受到的 800 ms 的滞后。下文提到的 MSPT 能够更加精准量化卡顿程度。 diff --git a/src/content/docs/bedrock/bds/preparation/preparation.md b/src/content/docs/bedrock/bds/preparation/preparation.md deleted file mode 100644 index ea3038d29..000000000 --- a/src/content/docs/bedrock/bds/preparation/preparation.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: 准备工作 ---- - -在正式开 Minecraft 服务器之前,请一定确认已经准备好了以下必备软件或网页: - -import DocCardList from '@theme/DocCardList'; - - - -其中: - -文档编辑软件能够有效提高编辑插件、核心配置时的效率,降低错误使用语法的可能性; - -网页主要包括了寻找插件、mod、生成 MOTD,生成指令等便捷功能; - -笨蛋脚本主要用于一键式配置文件、安装插件等。 diff --git a/src/content/docs/bedrock/bds/preparation/vcruntime.md b/src/content/docs/bedrock/bds/preparation/vcruntime.md deleted file mode 100644 index 930bda4ba..000000000 --- a/src/content/docs/bedrock/bds/preparation/vcruntime.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: Visual C++ 运行库 ---- - -我的世界基岩版由于使用微软开发的 Visual C++ 编写,需要依赖 Visual C++ 运行库 (VC 运行库) 才能正常运行。在玩家的电脑上,由于 Windows 系统会自动为游戏补全这些运行库,所以玩家下载好基岩版之后就可以直接开始游戏。 - -但是在基岩版的服务器软件 BDS 这边情况就有所不同了。BDS 只是一个可执行文件,它并不具备自己补全 VC 运行库的功能,需要手动进行安装,否则就会报错“缺少 vmruntimexxx.dll”。 -你需要为服务器安装至少 [Visual C++ Redistributable for Visual Studio 2015-2022](https://aka.ms/vs/17/release/vc_redist.x64.exe) 这个运行库才行。 - -有时一些辅助软件也会依赖这个运行库,例如 LeviLamina 在缺少运行库时会报错“Error code: 1114 动态裢接库 (DLL) 初始化例程失败。”,安装这个运行库也可以解决问题。 - -你也可以使用 [常用 VC 运行库合集](https://cloud.wujiyan.cc/f/D0DIW/MSVBCRT.AIO.2024.08.16.exe) 来快速安装 diff --git a/src/content/docs/bedrock/bds/preparation/websites.md b/src/content/docs/bedrock/bds/preparation/websites.md deleted file mode 100644 index 226d1f5ad..000000000 --- a/src/content/docs/bedrock/bds/preparation/websites.md +++ /dev/null @@ -1,116 +0,0 @@ ---- -title: 可能用到的网站 ---- - -开服不能只是从某一网站或者简单百度、Bing、谷歌获取资源,这样获取的资源种类非常贫乏。 - -以下是一些可供参考的推荐网站: - -## MineBBS - -国内较为知名的综合性 Minecraft 论坛。主要以基岩版开服内容为主,MCBBS 关闭后其 Java 版相关内容丰富了许多。 - -
    - 点击展开 - - - -插件板块:https://www.minebbs.com/resources/categories/bdserver.38/ - -同时,本教程在 MineBBS 也有搬运贴:https://www.minebbs.com/threads/nitwikit-geyser.26356/ - -
    - -## Bedrinth - -由 LeviLDev 创建的专门收集 LeviLamina 和 EndStone 模组或者插件的资源网站。 - -
    - 点击展开 - - - -插件板块:https://bedrinth.com/ - -
    - -## GitHub - -全球最大的代码托管平台 ***建议注册账号***。 - -
    - 点击展开 - - - -全球最大的社交编程及代码托管网站。 - -许多开发者会把自己编写的插件发到 GitHub。 - -虽然不登录账号不影响你浏览仓库和下载 Release 等。 - -但是登录后可以给作者发 Issues 来报告问题,提交新需求/建议,还可以下载 Actions 中的文件。 - -
    - 注册问题 - -[在 GitHub 上创建帐户](https://docs.github.com/zh/get-started/start-your-journey/creating-an-account-on-github) - -
    - -
    - 连不上怎么办 - -这是由于 GitHub 是开放的外国网站,网站上时不时会有一些不能在此讨论的内容,所以运营商会刻意地屏蔽这个网站,在很多时候都不能正常访问。具体的表现如下:[只要 GitHub 域名指向任意 IP,该 IP 的 443 端口就会超时 3 分钟](https://blog.csdn.net/weixin_43659597/article/details/118882176)。 - -有以下几种解决办法: - -1. 魔法 -2. [改 hosts](https://www.cnblogs.com/eudaimonia/p/16001981.html#1034247326) -3. [Watt Toolkit](https://steampp.net/):下载安装完成后,在左侧侧边栏切换到 **网络加速**,点击 **平台加速 (免费)**,往下翻勾上 GitHub,然后点击 **一键加速**,随后就可以正常访问 GitHub 了 - - -
    - -
    - 下载太慢怎么办 - -使用魔法或者用加速地址: - -https://gitmirror.com/files.html - -https://moeyy.cn/gh-proxy - -https://ghps.cc/ - -
    - -GitHub 汉化插件:https://github.com/maboloshi/github-chinese - -地址:https://github.com - -
    diff --git a/src/content/docs/general/advance/bot/general.mdx b/src/content/docs/general/advance/bot/general.mdx index 6cb35d263..e7cb24118 100644 --- a/src/content/docs/general/advance/bot/general.mdx +++ b/src/content/docs/general/advance/bot/general.mdx @@ -10,7 +10,7 @@ import { TabItem, Tabs } from "@astrojs/starlight/components"; 部分 QQ 机器人程序会依赖 Minecraft 插件来实现部分无法完成的功能。 -关于机器人框架详情请见 [通用 | 机器人框架](framework.md) +关于机器人框架详情请见 [通用 | 机器人框架](/general/advance/bot/framework) {/* autocorrect-disable space-punctuation */} diff --git a/src/content/docs/general/advance/bot/intro.md b/src/content/docs/general/advance/bot/intro.md index 5d8569f9f..33025ee9b 100644 --- a/src/content/docs/general/advance/bot/intro.md +++ b/src/content/docs/general/advance/bot/intro.md @@ -8,11 +8,11 @@ sidebar: 机器人通常分为两个部分,这两个部分分别负责控制 QQ 和对社交帐号执行程序。 -其中与 QQ 通信的部分叫 [框架](framework.md)。机器人程序必须要通过网络或插件等方式与机器人框架连接,然后才能开始控制 QQ 实现对应功能。 +其中与 QQ 通信的部分叫 [框架](/general/advance/bot/framework)。机器人程序必须要通过网络或插件等方式与机器人框架连接,然后才能开始控制 QQ 实现对应功能。 当然,部分框架上可以加载扩展,通过这些扩展,你可以实现部分与 MC 本体无关的交互。 -对社交账号执行程序的部分可以被叫做机器人程序。但因为本教程针对 MC 服务器,因此以把以服务器插件或类似形式加载的机器人程序称为 [后端插件](plugin.md),把以独立程序运行的称为 [通用机器人](general.md)。 +对社交账号执行程序的部分可以被叫做机器人程序。但因为本教程针对 MC 服务器,因此以把以服务器插件或类似形式加载的机器人程序称为 [后端插件](/general/advance/bot/plugin),把以独立程序运行的称为 [通用机器人](/general/advance/bot/general)。 连接的方式目前主流的有 HTTP 协议和 WebSocket (ws) 协议。每个协议又分为正向和反向,其中正向要求机器人框架本身作为服务器将端口开放给机器人软件进行连接,而反向则要求机器人软件开放端口给框架连接。 diff --git a/src/content/docs/general/advance/bot/plugin.mdx b/src/content/docs/general/advance/bot/plugin.mdx index 9d0c2ac8e..6bbe9d7b4 100644 --- a/src/content/docs/general/advance/bot/plugin.mdx +++ b/src/content/docs/general/advance/bot/plugin.mdx @@ -14,7 +14,7 @@ import { TabItem, Tabs } from "@astrojs/starlight/components"; 部分插件模组或者外部独立程序会内置 QQ 机器人框架 -关于机器人框架详情请见 [通用 | 机器人框架](framework.md) +关于机器人框架详情请见 [通用 | 机器人框架](/general/advance/bot/framework) {/* autocorrect-disable space-punctuation */} diff --git a/src/content/docs/general/advance/domain-and-dns.md b/src/content/docs/general/advance/domain-and-dns.md index f7d1ac5d1..e848a7cfc 100644 --- a/src/content/docs/general/advance/domain-and-dns.md +++ b/src/content/docs/general/advance/domain-and-dns.md @@ -52,7 +52,7 @@ title: 域名申请与解析 ![](_assets/申请域名/2.png) -:::warning +:::caution 此处域名价格为你输入域名的人气决定,名称越热门越贵,没有优惠最便宜首年也这个价。 @@ -86,7 +86,7 @@ title: 域名申请与解析 ::: -:::warning +:::caution **购买域名后,一定要记得续费!!!** 你可以定一个提醒,在域名 **快过期** 的时候续费, @@ -106,7 +106,7 @@ A 记录是 DNS 中用于将域名映射到 IPv4 地址的记录 (也就是我 SRV 记录,使用二级域名记录了端口的信息,使用 SRV 可以隐藏域名端口。 -:::warning +:::caution 文档中,假设你购买了域名 `xxx.top`,服务器在外网的端口为 `22222` ,请勿直接照抄配置。 @@ -187,7 +187,7 @@ SRV 记录,使用二级域名记录了端口的信息,使用 SRV 可以隐 等待解析生效。如果记录名为 playv6,此时支持 IPv6 的玩家就可通过 `playv6.xxx.top:22222` 进入服务器了。 -:::warning +:::caution 因为大环境原因,很多玩家目前都无法通过 IPv6 连接到服务器,所以除非你有非常明确的目的,否则完全没有必要为服务器的 IPv6 地址配置 AAAA 记录。 @@ -207,7 +207,7 @@ SRV 记录,使用二级域名记录了端口的信息,使用 SRV 可以隐 2. 把主机记录名改为和 A 记录一样的,比如服务器的连接地址是 `xxx.top:22222`,那么 AAAA 记录的记录名也写 `@`,和 A 记录保持一致,然后保存。 3. 你的玩家就可以在支持 IPv6 的网络环境下通过 IPv6 连接到服务器了。不支持 IPv6 的玩家不受影响,他们可以继续正常地通过 IPv4 连接到服务器。 -:::warning +:::caution A 记录和 AAAA 记录都与 CNAME 记录冲突,如果你的服务器 IPv4 连接地址对应的域名是 CNAME 记录,你需要把那个记录改为 A 记录并指向服务器的 IPv4 地址,然后才能继续添加 AAAA 记录。 diff --git a/src/content/docs/general/advance/linux/connect-to-server.md b/src/content/docs/general/advance/linux/connect-to-server.mdx similarity index 91% rename from src/content/docs/general/advance/linux/connect-to-server.md rename to src/content/docs/general/advance/linux/connect-to-server.mdx index 26fac3f0a..c6e084c14 100644 --- a/src/content/docs/general/advance/linux/connect-to-server.md +++ b/src/content/docs/general/advance/linux/connect-to-server.mdx @@ -15,7 +15,7 @@ Linux 系统上有一个工具被业界广泛使用,它就是 **SSH**。它虽 成功开启 SSH 服务后,如果要从公网连接,你还需要把 SSH 服务的端口 `22` 开放到公网。开放的方法与开放 Windows 的远程桌面端口的方式完全相同,但是协议只需要 TCP 即可。 -:::warning +:::caution 为了安全请不要在服务器上允许 root 用户登录 SSH!如果 SSH 被暴力破解的话会产生非常严重的后果! @@ -27,9 +27,9 @@ Linux 系统上有一个工具被业界广泛使用,它就是 **SSH**。它虽 :::danger -配置直接在公网使用 22 端口连接服务器 SSH **会导致严重的安全性问题**,详见 [如何抵御网络攻击](../../process/maintenance/how-to-defend-against-cyber-attacks.md)。 +配置直接在公网使用 22 端口连接服务器 SSH **会导致严重的安全性问题**,详见 [如何抵御网络攻击](/general/advance/maintenance/how-to-defend-against-cyber-attacks)。 -另外除非有明确需求,不要随意配置 UDP 协议端口映射,包括上文中提到的 **不需要 UDP 协议** 的 SSH,否则可能导致你的服务器被 DDoS!详见 [如何抵御网络攻击](../../process/maintenance/how-to-defend-against-cyber-attacks.md)。 +另外除非有明确需求,不要随意配置 UDP 协议端口映射,包括上文中提到的 **不需要 UDP 协议** 的 SSH,否则可能导致你的服务器被 DDoS!详见 [如何抵御网络攻击](/general/advance/maintenance/how-to-defend-against-cyber-attacks)。 ::: @@ -63,11 +63,10 @@ ssh @
    [-p port] 其他操作系统也可以使用工具连接至服务器,在这里举出几个工具: -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; +import { TabItem, Tabs } from "@astrojs/starlight/components"; - + ![](_assets/Linux开服/连接服务器/1.png) @@ -90,7 +89,7 @@ hostname 为服务器的域名或者 IP ::: - + ![WindTerm](_assets/Linux开服/连接服务器/WindTerm.png) @@ -99,21 +98,21 @@ hostname 为服务器的域名或者 IP https://github.com/kingToolbox/WindTerm - + ![FinalShell 终端](_assets/Linux开服/连接服务器/2.png) FinalShell 是一体化的的服务器,网络管理软件,不仅是 SSH 客户端,还是功能强大的开发,运维工具,充分满足开发,运维需求。 - + ![Xshell 终端](https://www.xshell.com/wp-content/uploads/2020/10/p-xshell7-top-zh.png) 他称自己是 业界最强大的 SSH 客户机 - + 你需要安装 Termux 这个软件。你可以去 Google Play 下载,也可以去 [它的开源地址](https://github.com/termux/termux-app) 下载。 @@ -123,7 +122,7 @@ FinalShell 是一体化的的服务器,网络管理软件,不仅是 SSH 客 - + macOS 内置 ssh 命令,我们可以用终端来执行它。要打开 macOS 上的终端,可以使用以下方式: diff --git a/src/content/docs/general/advance/linux/keep-running.mdx b/src/content/docs/general/advance/linux/keep-running.mdx index 546454043..3d35333cf 100644 --- a/src/content/docs/general/advance/linux/keep-running.mdx +++ b/src/content/docs/general/advance/linux/keep-running.mdx @@ -32,7 +32,7 @@ screen -D xxx # 踢出正在使用 xxx 窗口的用户 screen -S xxx -X quit # 删除 xxx 窗口 (在 screen 中输入 exit 也可以删除) ``` -:::info +:::note 重新连接到 screen 时可以使用 `screen -Dr xxx` 指令,意为踢出正在使用 xxx 窗口的用户并回到 xxx 窗口 diff --git a/src/content/docs/general/advance/linux/linux.md b/src/content/docs/general/advance/linux/linux.md index 7889611ce..fb2876c50 100644 --- a/src/content/docs/general/advance/linux/linux.md +++ b/src/content/docs/general/advance/linux/linux.md @@ -13,7 +13,7 @@ sidebar: 5. Linux 安全性更高,开源系统,有社区的支持; 6. Linux 支持文件占用直接删除 (也就是说可以自动更新插件,不像 Windows 那样提示文件被占用) -:::info +:::note 可能会有小伙伴说:"Linux 太难操作了,根本不会用。" 其实大多数开 Linux 服务器的服主也不是纯纯使用 Linux 编辑插件配置,那么好,我们为小白推荐三个面板辅助我们开服。 diff --git a/src/content/docs/general/advance/linux/start.mdx b/src/content/docs/general/advance/linux/start.mdx index 746f18e38..c734961cc 100644 --- a/src/content/docs/general/advance/linux/start.mdx +++ b/src/content/docs/general/advance/linux/start.mdx @@ -12,7 +12,7 @@ import { TabItem, Tabs } from "@astrojs/starlight/components"; 如果你看到类似以下的输出,那么服务器中已经安装了 Java -```text +```txt openjdk version "21.0.2" 2024-01-16 LTS OpenJDK Runtime Environment Zulu21.32+17-CA (build 21.0.2+13-LTS) OpenJDK 64-Bit Server VM Zulu21.32+17-CA (build 21.0.2+13-LTS, mixed mode, sharing) @@ -121,7 +121,7 @@ java17 -jar example.jar ## 开服 -:::warning +:::caution TODO - 完善和排版 diff --git a/src/content/docs/general/advance/maintenance/_assets/angryopenfrp.jpg b/src/content/docs/general/advance/maintenance/_assets/angryopenfrp.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f4095dd984aab65d9108159c8a766e452fbce995 GIT binary patch literal 72549 zcmbrkbyytF(kQ$*L4yZRAh>&QcXwxTcMY;YNCE+Z1((I$eUZQt2q8G^;-26hSX?jp zopauM-{-#1{p0&;cDkyos;hfzx@)Fu=5g+E4e(q=L0JKSgaiN}Jsp6@MZgCD`V(NF zV_;%pU|~NU_;@%tc=)8x37!s8Iude{rym{7YZ|JjQ;?OBkyTKFpO;@kO-@b?XaWog zDMR}IYv8dLK!AyYhpdT$^a_AXfP_MT^!Ob>^)x_a6r{gn{STm`p`c?RA!9x+05Jc> zzt{PX?0;kQcNK@(D-BHOW)0Q{6Gu}2NKl0u`^Lxp{lJT-k*frg*WJtV(*aulh>$eL zE)LtoHu%%KbkmIQzctJ-t<4Lq{Y$2*n&*bx9hU!34FEXV`8V-@AQYO?Y|>k^Z+>6Y zUW5fpbQ<$9__f%cyN)2}tifcY<7YEm{K45G;N16nj{xSUhShfim(9D25)^KwVAec` z<2y=?WRD`Zj#{@elLf!v;Tn98+HaFVj{r=|ty}(uhwOZ3uxV>J0D$Wet9_0Kl<>n% zn-4486UA`bT7o)6AsniPm)kEM0ky6|Su~g9u0px*N6$dV2?wH=tjoJ#{Hmw6m~AgL z-q8#}#b=kWrXr~VEgc&AV)0CaC~vBUHrPy{c~we4FT#1(9smGieBg&>5$cB!UGaVj zcP?mMLg=T}z~37o4&PoAgc|z6wU342<$9|OT6U1Y-U!DL(| zt7qBS=JbvQ9vyCv0O_^cgqf=XFfm`6}*2vTQ)fF}=@&hWkMWtjxXAqB1mHm0XYT9U3P z#aP7NYut#YZ9I=w>L`O?!V~PO!M;II*JzW{6y+bW%O095{1A+UIsitu_|uFxe!d%?D@ z>6+rZxE0&(Jm0~OXBYs|Y(iZ7FC13C>B85jT5UgqR{}3;Ru7(9pmA|c2YmA6@WVb7 zE$FRU@Ra>#=y!rb+$NM&WmD07HS5Z^p>3uz+IIX1uzb@0{|LyCybvLa4g{@6vq zQq?giU5>xDF8-p_&@ajRm4^H zrsv`8Q;-7%GyJHgZW)cwMVDy8{P^ZpdAcBQL66Ub&ZTzs(QSWQT5hHC3pM!1^~D1F zpy1N&>ZXRgGXJ(52cMdGYn$ttx@&{IZ(%?O!o390;=j5=$65Oq@&71M@p%03epM|o zOda`U-Pjm)wZ3z!c7qx_zf^I^IoNcGzVcw$bcb#vRLQePU!c&x4fGZNj3Z_SN!L3-^*2+;kv z;aqX^VXiT;_CGz}*!aJ`;JbbeK&tY(Pc{Yz$TrT6Y*E^&ZCuU!eLc*s+`I8uW~fQv zo!e(W^i(Tbyq>j*%GZPk)V}{wbE00o6Eub|gxdx{iZV)#I_AG=Pi=6oEPg?dc8$1I zwIhTjA5x0Nb{Hk^U8r2O7n#pF{}l8pRxW88v@)#^2guj-@wSfRn6e+!sTYsy+H8K^ zYft4{Q)$-k2Q$Wd^sO^!%%97CaoVUPpSmzAp4A)%pCabkjsc|`kQ_w5)gYhLVzb-O zmlIQ)N&dNv(1qr8tR_g{QTRQUQjn4=gD=Fsv0^ZiMlEwgrlvhfk)A7KCFIT? zWUe(QmyEIJ>gvzUCDmWBx-SZ@LXQegLp3A(HK%`Pw-f%asZp}odJ~|xRLOQ0e6M

    71oB^@ZOC)qrLNYjlyPSefLu}I=1 z79rsXQpgU_CGZOft_HpiT~989~ddhIGc8h#uSI=foEF(pmVIDdKonL zvlxv1`-`=B)*^{LR!x=b%zmhYC0IYL!yENyFe#>lq4B-a^;Q1~m-tz}-f30d*Hmpc zFVnv2in8Sn!G_AU#k0kr`E#=AHx2sk&%Knh%`1Xzch(&wRoTlWrlLPxONLr zFO=DSqhZiozLd!Y0B9wp#DV}~L4TtefUSMSWGvNZ+*`bO&c;9mob@|54|mh8#x1@n zETCS;2_AaDy>9@sQt~#0u&NKq;WF>OV#kPjo6s0qr5(H=_ ztKA^i&h5C%(+b0*7rV1=oI?yB_0#(~R!7HW{^cHwr~CX<@BgE(-kz}l4KnF|Rkfd1 z2~vhxN$16QjM}BXGt3s(2W?zku^sd3-fIkht{4}c?JbkgV-veN-9j@In76h}&ojBn zt6ZKibr_`?u-&*-=bB#qo+}KUHv4^amScbHy!A$e{YXC;rOo6-ILPmSx)05-SY@w* z%>;|15YE|Gcm!f6Xs|5FYAm?QL!oiyEme$PnBXY3E_mY;S=e(}@_|%UHtq4jVEWKrUgn?Txwqd)?St6s10< zpzk&O2&kk?V_hB(+ai7;vF~54PVaXWTsiJv^{;2-KtY*` zqlBtq>?O@%XoWSzsh(^KE^}3H^8Fp4|D}bxH}ZSiuJJ!gfVWQz@E*=qy>2Evwk=e7#cOcus-2Ym!7+LV+k0u zadi=1GWDtUAUyy)XTWA>Z!cihy8fCANuE8uH~ez>tE?)Xd%%2!CWcz9~fJev*!&CM*K4N2)P71Ey?t&vg_6B zv9RiHZBw3kuV>FvGwF?ISC1XlW$jNNUfpNhlnwS?u7CDzJ01tsNn*6B^2C1ycl_C{ zxgD1v;`Qqf`kF3&W$Kwdiw&;}1MeSho+l|QTlavCEsXcU%D&!`s!G znm8WNzSgKjHal_t2}e9UbZTqmB?f;n`&P|)n)-aHBB)}L2aB$ z0jTrwt1GJ=i~RVMkIc*vG0d))|6e8mDlaRPl^XjQQutck{T+0Kc&D=an*{gxRS2W)2z!(4o1EomqyT^zl~juG|7`*Ayqp~k0KnPfc=zOK)JBu6G`**_ zgZ42-1ppv#b!JR_(oJI#cq&oL^PfuWrxQSA{FnT1fH8H0AGh(u!mO(pSVVlyf3m`I zz8o6x*8mE9_w7~q6F~=kTC9|R7wUgcR3IV$ldAYYjmAu5+U533zztqhn64~vSAy%nyU#QrK37b$aBufl&B;r^u%xReV)4(} z<)5G{tH=Nw-Ic(=a3nRK0Tvb(oJ9FF6^WvTJPgyl2b-g|?%-RqF^AxRzU>>+Y>s$!uDJVOrgV5Gd`@gW{PxV;%$+vOe5W@ngp!x!lf`H}ws# z(o$XAcT4sFFlH}>@5z6zEcSgo%c%?B7-oh^d7G=<=CA zH#}YG{~n%W$tW5N>{0;8oB}uv&3$6Lng3HC*b#FI+C~eJ!bWD!>q%ZD*vx6{DaFJp zvBU(@EX+tBi|rzfZAkSXl=c>Z;h08g`4v(>U|LcYN-XTf%&3`WB)mUt>)RaS8cFTq zidpp_B(Ln`Kc=8I=-58>M%ZiY`0q}i@qV)Xr1bOWVHgmzSmVBQ(1Tcm`{tH`6;UY2avT;8^bY+3mN5j zf7lVRa3Id2mB>*WhZt01Nl8hV0UuQW1X8bu>^`P)3Wo!b*!7H`ocVu%JkpcP$)2Oh zgaeROiS>w|!tg&Vbn@Qyze~Dp46MhO4PmhrKPX%GgU-CcjTmY*n83pvE3^WWhBqS76BxE#n03i`E z1_24_^Ovu*=(%~Mq_uU)cy;s*Ui0w_SXz0~F$(I1GbsE!y@`Yacm(_kjV-4u>!=t7 zjsHBp3(G?!9QuHSO$GFP;0!H=shJsh*bA2IY?yh!j{uMeFA`S>LOOUj>awp>K5gSvSqvuA+CU4#pSN73JcCW&!mnJD&X5Qm^V` z^iXS`|Hw=&jiJt!sMs=m7bAX8?GP(*ovVI z>`T-4$C`Pc$IovbUWkV|Cj5B_bJkg1G|Cfy_XsG{d`X|Mj#91p2*6pGG|J5Tg>e|D zrOpCMb>qDF+MC-Z*f?n$a0*mYuibntycKEXU8I!_*yw#v_BBJ|b+D3bc2L{-BXZeh!QKszyDpI>gSc~L>ChddB3b1;s zLL&QsMOCBK^_9beQHeSp$( zZP6p(y-)^@F>zB&2&x7u|7jC=LGd$u zkq}*%nWwz^x%i8ziJVXDdj~;*i4ZaBV>62w>)h$~k+0?<<(yC*&(*@8eFK9H-XiZa zx@=6599ZBHcr|@Z7D+EAWIE!#bK8%(_J>M+ug_V}YhgsMBCg4XJ3@P8))s!JT%PMO z&?}Yst(Z?ime5&trcv@-zHMX*R7UD7S-CR2CX?ONkHmXx`K4<-q|6T^f6n|+Y7_Sh z{mcn1_o@e^4gXDe?$!)0VUdibF;3iT*<>t<8>Y$cQ@-N5WrSzycnl`avK|@Am!=;thR@2>P)-fjv5HkFhg%10U85m^A;%+>K%Ul+>WY^eTUw6TXYeSs*0Yu zfzdG(iYZ(2HgTho2J*cxWM;%LX&Te7x(`^Rm|a5{Y_I^0^#XnMabB6m5>GX2a+<0c+h{-e;UKm+`Nbc1k> zO|0tq$&{Z0XPD##{gaV5yUvbQO%^iSS1+lKLuz=8<5*YX zH=OZx-{51)QH$O`SRFu4hwh!X2J{sIKk)3FWBQ4>>j*43J}s)TyGLy%x*`Y%?h6z>#E1{Es85%kdxBmv^)Bzy z%@*xtT0Zi&n^8p=l@~}8n0?(Ox7=ram6U6PRM~_!ih9M4WA#!_A>6rzMS7;CSk7>8 zTxB4Q!Ad!9#3zbj$kn$l=yYk5V~ro*35=t% zhMMNu!hAN$Wgg-;!!{hRAUxycCg6}%1+DOxB&e@u-Uol#&hs{N;g^5&;d%UfYPyu^ z?Nfn+t~|r#j8C5uB&p&|oBWKld>fl48#eVFS$x1hLewXAVIjs^m2Ke^@(Kfd&ZF*E=X}q(aBSfYC(J|yeVTKs*cV6+2fK@lgPnp?rQbW8jPF{oQ z%ujiT3F7*F4 zO`{j&Y?ld#x7XhBDcLLMH7)|pa^JrXtVoWDWy6mN1QY0{A*+Wx66(7TUK#$ZajZcZ&dOATf!pODHNfO0 zfz#Xj@voq-39rAE?1>UKc(>(azDijy8Cw|EargP`TeI&N9V<6b3*Dv(PI~a#98@u! zc9B!8lx(#Zi!}&qwE5Zc^pey%4{Vw6$?t=w^6JK=ZFtJ>gRS)S6P1Yr;BBH^|v zs=Zjo_A=k%9|w;sp6pAa2T zWZK)!l(RA76))kpUcx_&pDUHgk)G`7yHa&3N(~W$)J>ywS#K0QQ+95?j`UlJ`+lZw zh2xbL#W+I{@7nI68b-1F!Kc|KC)9xCL5>mEpNS1h+N{)Sd)oTq)9^25=48JUJ1O_q zP4Oj-$ZN5>D3le6vfF{50B3sCNYRZgSTCEgjKgsw6zh6vNznym7vrJ)ahyF7@}c($4HrJ|rjc z^c&pLvrILt+8*jX%C+sXrx$ygDlbt(xs#lD4{!;VT>7!~w0dZg1Cjj8o6Y zr6~>7_ZiAcCQ;?rAP^eZr2aj#ciz+&PNTyXE$_TV28PhdxujLpxStt30$_&Y#VZ31CHrTffrAk>9hYAq z0w6TLCFY^KrB30~YgB>O1rG~OERc|(aFX|qRzYXUn`wa_THj7Qp6ez7`SK)-keU?z zSanj^l+K-ee^Ivl`=R~K4NK?c{?O5T!B9f+)3c8zi#1cIz8FfFT*3LZ#ha&N3^@vS z8>E41EAPr?Izo{T+4s(H_c16H@)KV2gOd9Cc7>NtJ7NXnZTQkUgD2aS!hNdN!v+}-fHAT3coJdQ7ZNUI~3$zT4!FZ=#E zZ_kBleyKC9#!aV17C#6(J9A}cyPPrc4D_)cSL zQJP=+ic$-D|74T?$s-dz#moMq{4EIEJK90^VdPh{9K#y6ald69NzD?zMY4L}lI1(| zr83JVp@Zw^+g8m7&Jr#*o~liWL=Wb>nHoet_fu(CrmfVQfDY0=jgb$GcS_pg>Hg_=&M@n50O5a8rM(k(|ja5 z$Dkq(pjw#3y603ml%?o!+tH|luh_@|omBF>+TLb<%XT7t@D+<$SU*R-P|vXtV&bC9 zoGmdfqE-Hb=R;%c&q1qr{q*wO=~#G-mMKRRU2EX$sP%LPBnznNX(H#sfvP)rV^4}n z3+^hOOOqC0dka99l3|Ln--8jTPs+ z4$Y4wnf$9lVocKOaI+C-ImuaOwCWA-We?Pk7sPx=T04cI-4MQ6D)53<8Ab)-|= z2x7nC@k;5Jdd9Yw1m}9Ap8Bm6i<idn$htc;ApVtk!V4tyb-AOGlVnOUfD3dHfH4GjLA>TG*ID#n0DhUG3d^ zFR-bQUAJm6SlP8DRhq1?>folc%7zxJZiBnRR_;LFOZ(oFyplKSR0H%L^7U6ZIffF} z)dIn52)cn_^KyITZP{Rmc8y$NiuC>90n-)pXpLs#!Yo>Gbu51>bY z!=HO-*b}vW@l?4)9Md+s(Qa?ANCr&bhC#-md3_i6>rcO@TkY4doY22T;C(J=eH?ml zJFs{g=CFD(o<#fhK3Q_$AK88y3rd7 zaO7zAr+rk+YLQmFPiHp`$_8Pr}FTjlwqY&ThvJ@BV;Z-H99-%W&b%8Hnhs*p!EpQ1bfy|jBIyR_C~M> zw3g0w1U2t@zY{SL!ndj@vZ#?mgM@7Emeh#!%LJQBy-^3#yB@HET)HXG?=7yHQ%Anv zPUGexvWFmJ{mHRDUne!w$EWozr8P9}YXtbWc4y|66SORn%s^7~MpK(22CKGf`)c*z z&7f&w;YWZ;?gK~&w2T)N=@y#-c?9^3u2fkE{aN`WL=bveG%aD&DARGV*&%*uGOwzz z_JyOR%NHlu`AB`VszN-N{=e||@K)!F3m^(*O)D!reVjw!wA^dPSbK-(EK_xG_@l0zVCd|}1)_`t!j`Qt76ftlN~ujA~h+qn%5 zSfP|;LACTU8ZN%-(~CC0`$4rP;rvZcfkO!{Q|P@4ZvWv7b0YD?-jYyroo|x*cgG8n zg%Q=@=USl`!v%^wO&KlJMo!NNy4bDMw(3(!am=nJ-2$$CPUquz>vI~+SvO#9i&i3Z zlP2(=mo%cX`@$AXv~R|#RhBwnYZ3!>0c_3Xhr2>d=O?`?odhSZRBvw&m9|4e1 zj||yqDDLyRZx`eWJ%i|F>%6tC;*Mm~bm-fatA-2^yKHosy0p9pm9U5D*uZaUhCV@d zlF?K_pkzIm3(|Qwt{H75?p8fIfAX7-DHGWb{rUw#IQ)pN^4ojy2}sUF1m`bIQst(~ zqnARVh0b(?qtdIpq_l+~5&Zr(6uTn4-|q@vtS-{{9eN{WCUnaV zsJb+A6LtnnhUa5P%x4XbdDQ=LZ1M3k&8?{4-L@M1hAC9RHdGI*G3$Pn7gPHnV+CWT zu4NMBSeUrc>f!TZhKo$_z9NcMD{13!YWl|EB&YC!PeEl7Wo!VQqBQXO@_crh$w7Ln zQ^_WGe6dwjb4%WRA<^)*Q#Sv?{m5I`!$~%zuMy0|Q{yMW$roT6z<_=F+L>oTDoc2G ztPpFxiNq6gQoa8<8~_AX#-@9ezDz8L9A)efVOMKG-kNbs2_mWl@l})(AooyhIEE}+ zSw%Dp2gbSXaFLYv4k~yk{C)+2cUL{M1$@8KNV1=?1iz0gJrVC-b+%2`q;$5^9T;rB z9`TjxStD}o>$=;SUYU}*y@7fe0CxlVqHi;5w?J}k-Yvrde#f3$x40Kd0^k^5{TrJ* z^Ib{MuNQk%RvZdie}W2!rH~i0_}v)_Tk4$VUUP*aU8H{}%1ULo_WWgh=p%__|M6E# z))IF09`>)*-6e4dh}sRim1B$qB2ZD5S;3MDEK|o2G7_52ZhHj4MVqPSO8fiq?>S(e z1joJ(!v0tHQGLHk6{T~#m^32NRc5;#7wo_$nV>=ox;n&MV&`K@(6cZ^JY|a=OnlQ zuy63rjx;v2S~PB6K%5&H1ia0A@!;4~fTjxH?bKF^-t#LOIYN;YE!KVn44LP9c*+M@ z^H0ols6E6UNbb{Lhn0@iM3+|9O&x9Ji=C0Gg&pzqV5_=y;X1faWZr1RZ4&&5zW-cT zmNrNVCZ6FCgTn1tG7ha`TM8vhE66w~h%bQh?j*_`I2{P~#yYgA{A%Vr1&W$?XZsvT za_uB;kkHH;7Cj{iZR%Q-LRg-QVgX67N7>h1-HsFj6oo5uFK59EjcJln4|vdWtMQV1 zf(8^W?Q}SGI#8bm#IH&Ew5PN$Pd@mIR{PS|e4%}*46Yx|>&79NXM-O(gANM{3JT}w zsMYAAh8LK<42Pn?94Icwc3psEYe6EScw@g410J%w11H1X)LFwy@xa?0>Oec!Zc0Vc zgajea=2}C5e1>4`jiHD97)H_T1xpj`TMva)l*zzFV9*H6y7g@IA$x!McUNdyy8Wt# zzlU;3hrrg?0rnZ*bonj{!7`6ANLL(7g_q7Q1Bw!W-2i5rDn8&Hkq*(1>ME4?NUdQR zp#C}j2EFh|747~y4{{V1b(rw$UL9I-9%kyX;Q-AyfW!pc$HsvBc?>#!-^9+P^Dgjz zH_*7m?Civg?Vv+ptA}SXO zE!cm#@Ct{HmFt|#U}v8giskn1oQtFGLy^RR5UuuinkaeQm2{QR3ZsMHD=%LX1TDGz zZYiuH7NEH)9{J7MJ8P0qwd{jqL|2+$Z4N9Kt=QdRW|tqz;WQ=uhCwt>3#wt} zcyHp@MVj`UxpzK{S?VU^eqPO?@76Z!)$vFQV}bD;yr+c!8&qKGxb6teu~nBW6V$5jE>cXE+8S#kzb;8xX_gj1z;>wa zvHn|fm#u@w@m6o3Vwhy;eF5cM8kX2K=k~kP0{J6NGMnaXdv?7C^``bWaM@&-eWILi zV;JQO_e@Z8mO04Z?B~zs%(R~PHt!DKeLoXDmWfOG=e9k|S4Qx866}Iwj%7Qmr>_+o z?X6s9u9YDb*kW_ief;_0d@$$_kepr6pV~yN@1>wjj{z6U>@1ZyUlRnIA~8c9oU*F& zQT!?>y5O^2;PEe2z9|O>+m8zzwa$TtRHSY=*p!D6lht>T+xBU?j{r0vpI4_sPjbvA z`tM(SW+PiL?GAa|yC@TryI}9~-`m@7;9P^PjETivt~Al1Z^>J>Ds{(^)TwYKbO_oi2zRt4J3eT7Hm2g>26Phm+-7j&)KX>&d4?j=FnWXno>F)BSr;5ySrp9UWr0ZQk`rri;Gbmo#6p5?x z&fT4&6C&s~`{ByZ^7`AB-*&;*B(_gHXB8j5*#8PGkubeKve)91AMP&;@0;i!xX673 zKp(U(685_%9|7kQpI5Z)S&7nAYifgkP1^g`sfsFZ#CV}tBCpy|8F6Nso;6$j5bPI9 zO;RdYKkqQ)*5igNo$o*GRK`4-$BgR4-trp+yj9`yl$VD!iK;xSOGaKS4FUd-%Kpcqv>bD-&_d6*^`x3qJdvoSI>6x^aQ_XyBIR(|`zG_{G^^Y$}RjV@qWpcz@M-BA0ZCB;37joXB< zifQ4@G$u6(O^ZXuPV)xK)CloORq2i{(zBA%dT$Y?sBtGDg-rLu-R=`O##VaqK}%hT z+M=%9=AW#3yK@(WZ>XWd!}lG7Z-JYA2_^Ly^LJGuO{WLLK91x^+-uXZO0BkQTA>=g8=V#%b~ zUVas)N&VAWX%)Ockxy2iKr7KqFM_9cqi@Nb?@)9?aWlRf83zJ7pl+aM8r~ER}_~KYIAtv8odBv($~0ZU19Kz;vI$?0PG$sQ2*RDF55# zE>;>NJTEsYjgc3SG=dmM@8os)7wweevC1_w1+RbFcGh=I zdLGY)v3=fe_PFvDX71&ZWWT%1pHEHr3lqw<2bF#IwV$&+X3iU#fUw^;M{MF&l zs*)j3wW~SfrE^P(61Ubk`AQsh zHR2qwmBFd?D`8zmV6U&L>{ZR(jLjOojBFUfg5np%yT`s4s=vtsEm8{1F$T7>#fkS2 zt(+FFzy{8PE!s^$ey7{+oB5bg+^rw}B8pqjib-sL((id18#*oQoFjP^`we0%W`2Vi z!%IxU9R$U8D?df0HPo`v{?TEOYJ}MDYqzE8265F%bM9FZ4D&=>#IpTnl^SoTgqFFd zhjDUlF`$97Tag?hlDMiDeu!8^YYM50B6OX1-p^2PtH7ta*FfycIw*w5p1CEf0n%Z% z9j9S*l1Y>Vgy4O%&o@=!pHjxC#q}|To23pl=ty6O)S7$jFueZlkof)lLnSluM$XXe z8HGjgN*M)l@hXa{au7poPRDDF=oz_Ml4-Qw*1omRM?S9vOIEE_E@odP)LS)Fs5a3S zX}u4Lw(1moN-}-mAV!v2Gwj zHQg8@VVvQP17WviIe1?TkI^Ja3iKW^-=C&J)rMW~rw+be??0E$SIlB)ZtC3wQo-Mz zzOAnNbys!PiXCQ&a8kof^(I}+c6*N7F60^ zQ8kwzkuIP=`E}N@x+zm(6LO%N%4~4MkACBdPG|G#?lzN4W^Kb6owH8W zRN7Vrrz$tq?$01{**9{?AQj8FY!ypM|e?AgRyPrPhKLxSJ5T|A;_0>}m3M1_!3 zB7+$MHrj>y<_UZ*P{pXUy-w8I2R#C<5eCc{J@agP&W|ROt@F^~P#$*Hx|n5CApcDZh@CXs&nB8?JT#%}D$noR+1 zfPRwqNR+aMHH z%c+D?iCp$}c4=NNQXyX4 zbVkc+JBlN_>6)w6r@7&sJDEt21nl%Lt5S=OYa;eYMKl4-XgZ z?Wj6fTFhB?O<+zW=d=t>*}L60yc|BlfxFZtXn8kryOj5wbL}RMy87cm2^R|j&n88; zKEvmJa=ASJ0Li`)rzjiA`%vP59zsF1`I)a)a!z|QTbiwXdK@+CAVd^etT9& zpBIx;1R?lk5${==16nonDxW(IK$T~HDsLO_Anw}^m(p36d;=u|AZ7xAeF*`Ai0rmL z=%+Ybx87I><0}W%^^Tiq`PPNmG4|bE3zLALPhCp0zTLV&ckEK4j*@-K&aj*_jnw-$ zwdCLFF1u>NC}ER$X=TkWH7^oe`V7@fox3rDe!U3}S`FtK_EXzaV;=a<6ZSUAsicdC zrt)6gvBhG%6=j)5db2&wHCrXoTmuj#9|I6O0BU1A0$5T`Q;^uxIB%+}oaysk3KEQu zx>q>ikA$)1d!6RN^2OAp84LHZB&HTe`G$JWlu2LZK2u?M#+H=yc4f2K*Zs1AHReO_ zwDVy3o>E12!+@`c!13*TNxW&|+>cqlkH~s7wTvk*_ny)GC{vDiliJqF*M7(L?O=kt zD@Th2zG*yPE?toMDQ$yT zpOq|g*_2f>#VlA}8nGgutT#5Lu?@``Z%3ONUvsjIx{2ObZhEVW@HA?}!HwaRu~_cN zrZl3wm!y zM*lkdR*k%{9v+(TX%73(p!N39EZeoBK#I-C5?(3;!k$WQ3%+qN$|tR_)E!25nw9d& zO`AikNUtayMWREIudr3N&DT3!##4kj>@+NU^io&W2?xh@(#+FieJh?zPLaaRUzR(K zrn1Az*0_pIkvG6-veODgprBI6ij34Z9ew|MPKsni$KXANV#FYGM>aFnR9p1x7{at{ zDn09nu3c28aCXX!t^5y*j!g0+ec{hH!=n~2RaHWV>j`pRwX>L}^kV+h`O-`~WWvrG z+sHR~Jp2aTDP=2vxQ2e*`Gm0)H%zUru>Tlzxk%8*Jk#>2_eN|`e79L+kT z`T55F#5a;*mE{`O@9_erlX{Hz#=~YsC4v)OdzN<{HAgVqTN?P-c!@h=xbn?@pyo|7 zTc7XUA4`dg-zYV{2-lJqRnkeo$}MYq5174N5p+z<k6cwnFh@YWitZ3?oC8UgNoJ z7FmVdqv^%^<+MnC?7;b%I){Qp9-(69+T3`enzK$~`K#eRAtdzpt0={J03QU{Wl`3(8q}ANq=fLhK<5tS0Ur_TW0S z;`CcF6o92Zv#JcG5#zVmS@BYQp~S^5a5 zsmdOWBJbWC$G9q+TaGRKB(GxZYz-JMQ?;Ym!ptK^pcvtW@BgU#h1hxoq+JloIKjSB zEgtj-zJ~_U=`HePZ0ei;ddY;MfWG2v?Yg7O-&iZ?m052b+QCrt(fTC8hq}ER<%Wrd z?gRcACF@Mq@6LAprW|J0z6B3 zH=Q@3J756qQl%-{b^O47RiRF^R8ygTuY4tsk1tGVn<8^sWo7U9JzA({s4eC?fngDL zmsN|tYSVx0(FcGuKlJ^2;=l2y%cS;ah;=HJKVFM1wBFGxMbqR2vta&? z)Z>bR3wkpX`LvBqAMxe&yzcFG^%=W4!WGfG*Kth$0A@sPi|2<^V@g2yBZ<@r!G;T|z(ti1@SK;X-*R#A* zu@(O0%D`kq0|B(qJce*+#QcU}tn+wnX04ob1$9^ER8VZfXEN8!=hs4)sF**j9Qq5> zCW4FBwMb|`V$0INriKeMUc%1b8n~B%qn)BnW&dD8Uj%MTh0=8>7!$!l+rgAW}lh->r3u@;T zQ{1(qoQ6}16;mHpD8>>7bL6q>Vn0l0`w1)-oC=b#>kNA_?A%<~J~pUM<4j*imsPXe zq}FrS9Q7nFP|vo-!N+C9R;)1Tp!hX(V)?qSvqE$9mJ%=JUa*`@r(TdJPO(FQ>|a9m z)NHJmlFormQ@N9Z;40X?ttXt(rMWLurE2cz(iIKDA3+)`7JEA9eHRx$vR~6GOEA%z zeC!Vn!aHnEn}k2yY{3`0eF>P?&4|5y>GcP5I`DtBjcWt7=M4h(tof~*s)m>j zRc=}FXI5}#unX(*&MFpG39t6K9aK#!weR*JwGgAyjn7J*XVYmqvI2VPPRpP4EfFuw z1EIk(ZL{;ek%PA84AIy8+BBE?o@EeC+1E&O9d9fD08wUmcUJ)w5liX6jO^zvX8q

    UUKnZAvg-MWd<5m;}Y0^!~}|dDsvPU39}rZRK8zm@b5( zdGI8+zR5iTyQ+=Fl_`G26N(YzCk2mv=aoT1w9$RA`p511{ZZ+^U(8lLHRuo}zf$3a zKYZ@hN`9rwn60MF)(ftXVN1!qb*D{%doDQGN(g;i#pTa^s)`cpFkA%PJuovUZDnZ7 z0bb{V*IzOaW&0oc7aCnPh|47O3LRFh**lZ^b#?RJg+4iE(#GCc3}wht+Uf0Pw|N-C z>{&+@a;C6v>Vj_N0Tvy(Ccw8@il}U3(@K?z{r#XFjE5)z6o&kPrfj~|Ao<-m zh!WUQor=p&hw;zSx{9Z5B#2AeteEZ|g1frvPn-C`zJ;!Z%n|ddw0pkI^-n9*@;+n? zNzB-_gA(&Bom>cA zHsv2;l*H7fIT}iT#A`MrwUqt>V@)ohg$ysuWlX-Fx{Y%=L{j$%Tk9{i@o779B{CG! z-qtX=Oy9RSlwSg0E*3y8QosiUM)=*2_8c?iDGoc>pzwsfr>ieCypU zU(X_!>Rm5yrp;{b1psP1W{_`6+v_ez^ok%d1}QfQXiD|-BgLU+S)@Jx0D$TJugLsP zxJrI$!<`jcm`OSmcZ`IC<w#<}Q6@4kjrVZmxFq$>Kj zi4ONT0l$lcu$xf1xfNr5GYfwvs-&=T#B zgJz`h^tCDP8#BreNVCvOdrY((Ri>cTB52ar{As^W?fg1P=yWon3thzW14SjcQoktF zF@Jg0Q*}~-f!^Y8p2T!w6B(c-73T0&y*-SjDHhI5mvn^{ZRPMWE~KqQ1Obbk$^mXj z5sPYaxN-jgc$G~?FmQ-c77>pxhnQ9l!B&D5ZhI+p9a4fciTrdm7WP?#+Kyr5Ja{`w zL9X5&Tc?Iftv*w@Xt_gsptq|0jts=q!))^YVy;*hC2bZ{p3F?tD1&(?hD}2>yD};F zQ_4p;>=kJ|*`9kbmW;)rniuqj2m$fIFTh31-~m&rzGC1H>0B?h>v1q@n=dhyDw(ra zuql|OD3{tvHeU%4J7=k4$=AouM(o%lm?{`qdCggsDtjM0JUQyoKw8sJAH~kmB`)1h ze<1~->pKGeot&Kaj1#gGUf{vaqaS^*b(g~SvwVDz+?1-zh zvgIT+qHP4VAZC*oIR5|!iP>UU2g1cNVodp|5Etd}CO`0{_hX#OkK-59`@80zlEo<5qRoW;{+JrN6M;)#8%OdvXgwqL=k_$n6Rpd7-u0(^jcKcU=IG61c#US! zrP5;L&eW@oX#xdm`J>aPm7=Ow`(AI?nR-?o=bQ;o+t5{hpw3{o%<7Ko=UI%{Rs-9u zEFnT7-=Q9!uVaDnC3?bL%^47i45FHvJ+W0Pp2lR&L)-$533rn^_Wo_Y1PzwZ-93c0 zuk2)LhgKnL>Zi>gGV9?ocOmQN162#r#NshsQ9SN>I(iQt6Dvla{{YnLc-jqwGE#L~ zP$}gPES2bL~eq{I4r{g*7YZaYTa07U)b2G7Isu@^D**CpmD>CCpj8ikK z_Gs?U9>2!E^kVfmXl}(hl2kAIUq%1jMk+jpVt2X5AN|l$aI^!i7-jqLB z*m77c=}Bd6UDig`mr)b=uBMB?%QzoNS;c>&{{a1HIhhNg*5JB@8(8Hvb2~*0EgQ54D@OW~uc?heAX25D(d#~VEjfp5hWB8q zIjoofa!g&|%BHXc#9lkCN`p$&KPmS^rijeGgMSLEHQH(g$7@`R*-c)LX%OVIOyur0 zdX3jL7EZYU99y-x8PXBMn-Gt56WsL_tkr|{6w;wdb-_2u>j2Q5DQ^X?Z)mBi?b!>J zp!OSO+kqPg(yq}-`gSh7hWlNaka>YBbs!wKZLhL=2j!zu{{Xb@NV;BzvppQ=PG)jS z@oRSE9e+n9Vu8=hblW=`NNAw2W|Z+>%WSKrYnU_RdR-gj)>A1|sbh4nsL7XiBp#}L zMm>`)?jYXh?>(S;;^^M(_bpzOl(Q{LnXSv)GO)@hn;G7tNKAU(%%vRfSXraiih?VV z-O=Zm0f9jP{{T?7MvNAj>XJ*=X-;cR!l4D@sNMPRt@5c6fcc-q%y8AL6UI8^mvu21 z;Q%pulWHUh60mo4`h7JjfdPp0!1^z7Q87%XuV8F+Un#m1m3!j7*=Og31T8P`W%sDd zl~+yN+s4m*rj#BjmD0zAaZujkmYUjn#~vus|cZP`}rW8c%G*&R)6)F%=7RY!ME_UiJwRPBZ zx6aaWRos!Is_9RA=5x)UP_o19Ex4=Wy0xfRB=l3Fmel6n71GJ7PwG)Tw*6QLBb`L- z;@e%h3G5csa zsfwu$xy|CKjj&wIkOh;WxQne^47OX{C-hal#CLrl$lEh?_zAa5mCNVpU{&ir>2O7d z27Q+>nU=bIP38@%=o$7&kCUfT=&16LRKE|R-ga13$?<4~+CvgCc$M7#U(F_Zx z(yv1x{IH2^U0uZ^H2O9%YUf=iG~BwC1;yDqY-2f7pb{m~wx7jKzPl6T-)*a{MNlwb zdnLy5L>lN_yC!pHes6Y;-)>_jC8u`*nr#n8PLrPVMoFTC6*o&cN4)B<_t4nrgyZWU ze8ar$=^0h1X4#`D==9Xor@r=-3tjC%IQeetV+LNVL+l+Zw<8msB`>2;X=^lH9*vsd zD!0gWhl<{zjKh|GQ@=|6=EXUsSc)*=>B?X^o1Zd|rs8dv-0-V>2l* zT@)aeQ*rThyDih6Qu&3_KvVSxRs%`=$xB|Brr*vvL?=$HHPUT9TnS%fRko(PlcpJ_ zuAEaBV_9nY&AWPB9VcecHAYRHB;$b7({)BCNwdoyboy+UO!=ym!I}5Oz8PqS=r2vp z`ZnQ=5J2&bt1ah@+RU{92V+^qg2uF6GHWS-m0PRyGyOAPH)<=_WKCSzDYS9K7uI$| zN>fAu{1;2_zVp{TV({cnbNV!zTI6#y>FM@Yw!g~Nl*P(xy`v6Qwp6ve?Ah2+;1bS= zIm&5j*~{D3tibi$)zvlVc7iMZeNBZz4O_8m^`5(|p?4%!&g-RYa9UhN=Es$33l;bp>#yDqjr*i~-rIgwYEE&FL`CrL9S_qUz=lU5X?=qV; zK@Cro*UrsL*->qL++`L3RXMgfhn?bA!wG{7?Qna~at=$ay9|wH7v?tRs#WJQ&rAI@#ktkIthKzq9^xv(shc=L zzDD#e-7lV%?loI3mQ&_gP@0SC8*~mZ1%|$t3rF32wLhk*@=j#8c?xQoS9onh!Xuna z0AD*Vb1x;;lubY$u`yVz%+HVFot>1OT^#Y7 zN`D&z17S@QollEO&ko7O3!gJN+2!#~h6fkA;H5vPwW2@vfEXtgE+f+8iT?o68;O<7 zrq&m$)_|d!0X6|bt8ht!6Ww>LoRT+4WxDM%bt)5 zqZJ2Pw8#Gd#EdW{z*Cmqk=wV)8IYh=(7i{oeFeyDs!;bH{{Ti^2GX`Jb#B)AQ*{+D zklBp4XPGrLoDNdEeQFtt9KRLf-n&C!W`vY-<&KpqK)uy8>p456*vF%}=voU+ev;Zu zrxXnUM8Niq7T-FZ`;jo!5qp`{?vK;*u`eQ8AO?1U$+KiGe|=7bi4e6Rf}AH ziUaBu9YCj5HLT8eS{4FQoMHA&+U75%E1VBN^!JrQAhnNlvCyU+7r@-qG<&HKJ=yi= zhLr1Ffn20j0tfw}=-w+|!PYO%ZW~^V*y>ShTg|PFJm0smg8OopRPm2k4>_Z77p#C= zR;9>#o*~rcv2lQ+bSxjUKo26UC!;X-`k=`>;Sp^v_1j3FPLYJ2ywmB0l;Vo~ORz}# zgOPTV4GN@DZlW4KkXFll#LDU};*2=XQ!4{Y>Mn8!P0W-_QQqYbFwBeXH*>gL1wF)p znM~ahODMV634~R*i7kmuB&7x?u4auaBIbwMj=&|+WkF}YOMbp)>X?&))nPuH`Ugp( z0RU`nFpyDU^d)ulcQjKMscZ+`q;xuWY@wc8PPFKH{G2K=7imkio!5tA_Yw+T`M(lHO0-q)6(3PG@Cs)QfX&1q$*Ft&SHx=3K>E#&hIZvuePn0+_7NTGo#8H%Fq^ypCCiMY1}h#VLA5EO;~#SOEsKPH2px;KzfHplr&p+MG7UF zjhhTJu#Yk(x_~+Geo(jan%iv6-z4fYi;fHaVVqPGPEX97;8z0NeN zO~>8OwKa;}Aklk3*?3nwMs{?Td3btc56XBfQf(-t&Y$E_q7_Bia*K(!? zohYH2=b2${injQvyM|Y7^8Uhe0f1_0Y`O%h9y;#NWbzUbV@~rM@xQLXAgy?L_kQ*3ZolDbc_9UFS-mf_3&aBz5|YU5_7zU z(^U0|tDSDRg{;UcaZ@9un0sYyElj!buJB&vF%6pCXJK@q< zD8(0}TcO*cN|ihhF#636C!|8nOsYSzf06Msphj*wWz8Cp5~?3Gd&kl}CYh_S9L}-m zKqhG!D<7WQ6W4}$w<-wg0$K>5TJuG^R_S$qeq;*2?K=MeiLK#DmfP&4Xf(|ba5rbL zOkUK@-~!j{!mO=1-&_gb?$tk6Zd?hPLscLh z4(jUb7_>zGM{}~Mkg4y?(8-;KRTYjQ4*vk%n;nX=>0h_1c`eI;adkj{0Ek11d(9&Ul7Ro4l7YY@0eU&8nz}+>LIW3uhe8nA|5Kp(7v|Aaw zum|Y@%F`GtV`g+SZ4Atb)=H$xV@`@;nJ>YWj%{_1r-DcDx|eJRp__sf*(p$0RMyVo zd6m#u2gA)NPs^$Vu9i^q)mvu~H9lA;Cn%=Z<{Du34Ko09iGQfVAYoDV^riQd)>b*x+n?{h7QkS!m>L@TJOOEvm@!IE)1>>>I#u?Wrm_>&3 zmzOb=FXZ8t@mrS9@ditaKM(OK(UBx}9d8q11SpH2YuXmqU>eFMn+FvhJZjy8rv1Fw z0uJg?xk1^8*D6c)LpIod7`{F8|+Bo|JSWG-R~*QQfa z>vGH&p+@&)B2Ra251b?679;-vLtFmi&g z&5k47-^`@nK`8?4OCt7vZME{~$riKgLE+@3Dz-NRb=PG^7cIcR%i|k)D>FbH;E0v% zc`KSl8|Y2Uz(ei(rKLQNK0tl{0FUm|-Frz4(NwQEy43wu&BY=u(B{@EO5U}#Z4+M@ z-@sL?uHMoMl})TSLUS#op@w3v5qqXJ2U}XTiM6I80AQRWFiS!VtkRdH7SybapfL?f z8kVy?H#)8CyIUv($nN1jSqfUIvQoUT8dY){C`MQU!MToV2vjI#iUv$LxEs&C)S5OM z`78(Dvi|iXwd#4Pt^WY~gDyNvdkM?PlGRC*7h5DN(WB}pASI`rpeZs=uE^=Xg=%}W z)JnrMYOCq92N0?v478ysc(n}5z_@5rj+c!TC~>Ao0}Oul-~LUf=4ysTYH6p3T5nwT--+zCPUvV&^%&w*apYd6Mfn5arSbLXgcLV%ODlG9ws~C!E_aA? zUGO`SR$ASq+$NB0rDWgGYU1QmITq=frB30YTlCXVuO4!zI>)wf@H3RB?;Ha-ND^1o zOC+t4vQj^|AI3r7i}FTUxN$94qAs$~ka_HyCUqodxGm0RK&fB*O!(3XHbw5jfh~i_ zVa=F3fFn#(l|o}Smu1QFd92zxt7AL!eJ(pG@4e#Z0h{B*;qF83X&zqWaU60_dNX*Z zD!8j?9*eOv#^7EFSzOU^VhRe0j>*`XpbF_->e~L}xaqf<_~@sy20`)wVO4{Me?=ez zDRea-PA4Jw9qam&PGmfx)@6q4(`vzA;j%Q8% zAvLxgYszyts)hs`=}>>A5u)paFS}0^`hAT``)4bL4LP8e)cKD(;NvED7)SZt9vwuQ)XG@gHaWk!B>cwBh z`7JEh&N}C(DeN=yg}tRhTb@ez&t_Prnmx<`##p-=P7-NK2z83qBCjGBVLQpMOAnNh zo(w%##>Dc<$}pJQWL3`N@-tnla4&hAa|i}(R2X4aX~$BE5h>l#Dx$*z+6Hhozu3I! zzX%+N&}<-gl*c`+Xbr~K={&el0QH~J?gz@1zVEj{-lgoUhY2uKBeH=G^s_x<&D za~UGk3F6i}Aq-R9Jt(BVzsnrCMMJs%^sznSjK5_l5Ki0y}@J9l(?2)O)eG# ze^83zi?o`?yinh&{ zeHrmR{3F2qjYW?RxUwtRhA-$Ftg3?Y()^FxDd9q_G}i2F1XV9{>QTD72p$%OAB5=il>LS$#bge-MK{KhG?j zNeq(3F69AqbsDBVYeDC*9lDcIXJo1g0v1;!!OiDxwhZOtAlnBzNrEOm(J}pt=h+Ug_TD0nwH35u~-#P8a2It`fc&-o(LJ z4Jd5vinG?{t5%i@*r2Gnl>k7hdgck5V1>GLhEWH~tDhHJ@Lh4t%2%v&Qf*i182P~P z`S2pQRDu-L#4@XAChXW{oyho+lpEc&qtiE|W%yb@WwelF#{e1$OZ>hu(S=n`0rm^o z=)Nyu)d0ZfjpX99N$0aXCmYQ-UrDk8Zx4Z*X2i*c#jjkPxNr>7O2He#$!w-6SGTO3 zhdg6Y@TI_0^0{pa;=NoTgfIwI7{?W(*+@S%mPLC@e9j}GSVdB5IOH*`3W|w9>rQ7D zh+R2KE<5vhtdiDcIBI`N;xH;!;W?>ZPc|#|i|KhB)=_Csd~7jBuya~J%C#;t#tsz& zY7JSe#ujLD&zEpmtJ9dl6rbUtMIaa%!CFBAywW+GLN2n$QVa#LGL*gKLA|Ej&NMEl zXdBX~VP&M_4FpqDfAW2Qt&iCe{C}5fw<;obJ!{v(_s)9T6d#?N-?%hqK_b~@Xq{fF z<|N&G+S6C9e>WHowTxg94&_H~s=`jkX#W6Fbe7aIx6Gu|3%AyOnm1_yO@CjK=s0=- zIliZ06;V3~q{9TW4)Bq+@3zaF@6E=4h{H97rS6Xo{l_ zhBHBMJ?{H+23rC>g*y!w5nSLF~1`j?wq<>kP!8ar9aFiX<*@||w=^vb1aSsaxYmVB^qb|PM_k#}T^_ryIfL({ z3WodVmYf3EuQ6^{e_KS!(Y(o}73jJd2dt*{FM!+4=Pbi?nlb#X%CtaQpfyK){MRcF z-JFhvqbv=A;V!?xHSB;r7X{-Tk~yc%9!G@%4c20rZYj{?RIW15n#nSDwN}nkO7aAl zyBn}fcS_JQIzY&mcsICPqio~!W~Ayb4q|MHl?oa@6wjJ+s=HB@V3%QoO3G)|X0B8b zylCd$`C4`GCWT$8^Yio$AJYk_+Hg#XKg;x)qKG!l$rP!!dZMOaUuC#D8uz%BpmjA582w*K zTG|ff%jD{GQ8^NOg<%V2$fc-{L#1(ETvv9%0bGY8OIck9bW5bGO0*t{EZgW`V#YQ4 zuu#p!An}B5rCKm}g;*e~)GK4az5~9Dt(&o|(&p+t1+Q4O*HxBzc3Vc})%leb5g%eA2OBqTe zv}NWYrmz$Z7YY}~%K7^XrX+H?T@;(>G|L)FosNeK7e_@fTO}JGaCx@RkI4ds01(Yv z8uZjcv{RZ;=%iTq(7b=>7L--g%(2He64;2XC7MfQ@|>nJ;4q*Bnk$K(iG5(Zmhr5d z#-Yh%KCdMdsMQ#yKc#1%$!L}>!djBt=3xXd+Ftu-pcDmR3dgm7`77@pef<0X0PpAD z&%d94=OzCDbM5{f$iL7Zp2)w@AD+m+&>x=2ztA6_7(eL?&tzZd56_Gr^o8ff5Bfs$ z*%$f)@H1N1?f03EruQBrmZhe%`@Eg+8;eD6F(1wk{^Wkn!ii=ldM_;J6(OVf{(68jF0QnTU;kxNo{U64%!jC@R;pZv;0H3A&&MpZT15`UZdIetvVN;l08|hF0s#a71Ox&G1qBNU2L%8D0s{a95fTLxAu$vpK~XYc5F=7?a*`E7 zVv({SBr{NR1~5QVV03|k!qL+-aDbDdqr=kT79~SPRb{hvgQ2wL|Jncu0RaFFKLGy# znRWQwjOuHhrg@z<#&NAT!5|pgfG4I&r0(s*FBN}zik#pXczx7K{+E(9QBgjw=ECU5 zpOc8nnv5x#2MxR|fxcX-y0&?tFB70(o!1Tl4}+a)P_Zq-??3=|B$%n45j2UF+`NJ? z5oFej0nD03jWT--wFTIu6Qqn6-wIFlsIR!!ukzX0x86;7{$6r^9WzMk%lCs)E*>{f z>ciNBTM@}uv4(MpZ~%#IHy@s+dAE)eV{}H57XJ{KxM z%T?W=iU^a4!b}dR!*t9lGSw+2B7nQcED$j)lOvU`E7Ijx^l-Pi(kFEyBhin}TC(Ez zB3n|HVVz;MLq>KVbtxwkBDGt4eZ_7ng?%grJU_t5)TS**l&In!Q&Y&8$ z!I#QHjMUlXfR5$0{29jVgksrh}ax0c0q99lw!oGa?l$NTrGP0>84By;Y@EVL=OXgJm@yxfO9H zkvv0~8NQ3Td2wM$1+oWHD(YbrK|yS>{{Rlrs^aKEw^D%aNow)Z0V@DfJhAeef+<7A zX=+)b{tZU8BNCDu<%0v;P-#<~9A7-xDO`m5had&$o_gP{voZl~LF6Gv>JXI9%Fwma zfzbOsBdACc=?KFgMM{AIw^JY+&g?2wqt3c10z=NYqmv9g_DzeexGIJ;x}= zYK){{WzZ^>|dok*-=Cr$Du5F>US; zCRCAxKnbbc5(6ws5&*|vMyqrwDxxV?l$;lOdEm9OhA9>kp+kZW7!UxUh>#haKH<8P z^j=Pp>k(lbJpd%(#VjSBV2m879<9ASyvVlmvoiiQC5?TI4;%5-wUWF{!zCM*)qS1c z&@6456RJZJpaL^XgCrs_3$0r2dCxy6JozN2RiIdGNi4H4>Qs^LqJ_i32$9PIse`}x zY;d`#3tR|8j#B8vio3rKpKxJT))NT5fhkxd-A{D!WCq4t3;>~M{#$uW$@!`!RB50j z5>zNENUM25HOO)rW0v^M8A>Cb?##M_QlWM{*%PCDl#29`C3a!?%T=r>5(I(Vk7rgG zP-$%nwdt7kG@zCi(K{*Z zp#T6MQfOVm&cP0bNY|kPp@_IBk`P3nG$4aqjCZ-)AD?=bAt@#)dqtdpT$09x%A!OU zFCt?~y0%4oJ-aiJ)Tp6r^}N*wY=N(JYI%<%mY{0ikXPUz@ap0SoQTxE9Llc7tf4O? z-iBQ;D#9b;V#k>1b*YneSpW@#+c+kp>WX82j+FXGcPgvusGl|hps{=|jtNyxtya@B z-N<1L8=+%`XRE|WigibYT^IsXik8{q=#1^|z!V0Iz)T!C0Y50OfdeGCCQrR7t%$ow z^3iIPniNGIc(fQHs@pvDae^ECHGvGQG6+4v6eG|_jIOxGF-eVL9RS5VWf?sR5rQbA zA%qi+T8iplsccoj4Kpagax;QzcMmZN0d`Z6Sc-h_5KtAfKwts%V;sVRY=u-Q z2!#O#r+wvRTo-S0YE=Q{3N~OWX4+O&0J{%U{vLfn$o@#^bs*#E10-jzDNY+!2M5^W z`5DH@!G?Z;+>?MP{Rg!Vl4|6d(xsd- z=(|)KBFD=m+374=d$}3_f=L{CW9$GcQ9!E^m9*qS^>+)-C5!5!1p(VRU`0<((J-QA){!b9zV~nZl8p*qn)PA|JUB3b~xWG9xs~+mBXqg;uU_ zVz!OsW<4Tfu>g}vI@!dLMA;6bx19wowwE?*u@Vxv$`k07X(huWoUxpYjVGK@eVxiswgx97tA z+^>9wG$tvd6X-fJt(j)k2m4=QF zx!l#GDqD+au#k_LR;81CN{u_SYk+dv;0jnlm8F=f#sdO0*pdma60rn%izrY**b0gj zXw}XhGC=DuvedS)&2u&hB>?E6j0}s(a$A;#f-nFYFi2R=PIuM42wEad>=+V6j&aT< zy6Hwe*4=8sVg}-9v&~gP4g>2}r1*QLw=P(N+#=M@sDr?;%Q>lDE_~FSu$IbMbqqq| zVAVCKV-(IxAaEX$;ffhx&fys9D%#cN(cRP#l{M!&K+f($1u92E4z(5JT-H^XY6Eo) zURec4ay%8KvlH^%>(^R}{@M``K2ox&YKBP-sC#nyYH(W-p%n~JJWeB31WGFP5gr7vEMkyZJ z?7(zfp4p=@@sOty0J{T%xl%Dh`dA-|b9tlhV_dNvnk?%%kf`#IMO)9zj5>8^bi!#@ zI^EkB9~og^qa`w2kas{;s@3lq(LQfe&n&<=JpmOAA;gh1(>=g=ivp=87a$zq;-!>1 znXb8WocB5`fpbv8L_FzONI~hl6eBxTwaTOfyQmv8{ew|ku>=-jlhBY_t*y~zOO|n< zYPo@)HC}F7GCm9T6g+Fz z;}{>((m;k}oz^KqPRTAx(!l8yQJtW|78=)vd?X(RxO!NTTI6M2=0XTpB9dN6K>3WZ zG+&!_ud235K}&GMSZze%vC|~vVA9`3(raM`xpk}C=mB3v398oUc``~FJnvK4k;-Xv z80MuxdkjiXauQm85b&;CI3;zYeKJ#h5<+uNc#uxA*@%MV`G!P~)C!hxA&7M3MgIVv zpNLtw_5oFa2lG^x_lT&7U4duD*Z|Zvwp`NwO)(c;sq$6PgDLxn{_@H}Do7(f#84*! zR-iDlL4-BKo!c^v+ED(4n(WiUxOPvl#9)=Akju2n8_(_qO6=qZPVHZfYGn%Bupj~S zMLC)`i@17656YHZl+&?x(L(IUyBv2vMbze9VpUvZlY(1nb;qAZU)&T`i42TJppj6n z4ZnEapkPtsI2Kp@0IkD~>`` z7U>rF#&l3KSJNYy-7o=GElx1ZhygXk8H|!PHc)E7Fp0|m%%}BV0AvcdoK7KQgh%&K zv=k`OnFsDdDP75%<1DXG^1`uQ&Jw;(wR3FH`fiHd$ZCun7Qtdk$tI*2l3;*451Ul2 znG9$XWA1TQ(icJKeoa$AVKb=u#ZocQ)LGMdiXxbVVgCReBxkX=3%_>(KRH1f(Nh#&4 zMItl}(U^<|dV7I6nU0Ph zpovf%V>*xWOd}CYlVz558Zr#7%4@>B&c>IHJCja|!6jj>!6UBK1?hzr7|ei@ zTd>$v*Mcb$RONOn>9b@Vs{=?%M#U=HT>*Gw^V576XsCuIU;w5LdGXG%fS-F)-Z79H zl}=NAioCc@`EElX^%+`L2vXmgvt=5BW#UDCZlP-4>DDEX^k7-KE?86y!6J6+E(dXz z6stC~5_c5CsY}Sh{{WynRIJ;i_X0rJQ}zj|Ep~Zxg$FN77UK7BAwJmJphe}%PF1NH z;WMScM?+9-#^PDjuv(qeGCo;AU{AW#NC1T{HHEvMI)|xZcP0#z{6?JRAqYr8`Gq1E z*FrzrqV5a7(PSmfvbzp)f!24Ct zE#76yl})RMMynD`-04hX%gtr;ZM8fCcX0|LgkW$FKtVK!Vq0EzAU((=Z;k0Lq);uw zGJp?nGYV^$f(Cy!7^otr+IG3PnBrF_0wkeyEksFdszZVMOGz3}B+xkzQe22tW0bp) zfEr6SG0803yE?BzK~Y8CDed5~M=;@v<(v^qh8IS_O%_|za?EI4EYL7zj7t}wZD_!t z3u}c~nZo3{uU6KBDRg_)5io9>Xu~B%Kp`+d4@WGEkhN@(5+YsBWJMn9P$F^zt{wgK z1kcq(J(v#dU#}`#qC}s2GS;JVI}_{l#74^>4UK>d15?ag;>b)J_K9*TXHyHy zY>{%pF;@f)s%OACXAv2=L7-@ zukz9&OR|lZ(ocOEWVujA{0%^P=;cF6O3y&Lk4D5T~k&iY#43?#xwCZAzvntlbiJ zmO#fOJ695OFC^NB$v&*jPdpI^)Fw!LlU^@oW(S_THb#WdvMIH`6-oDDUN!J@j#eG3 zclzzI$*tx$Lg=^!2ey?fXrWr@KkjA~xLADGdD;A+P_P@@At7Ck^~nDKkZtgE9(?OT z7dHO@;;HW+VJPay@;y2b(I5ev<=%**>y|gge$_`a%+s^Ix$QkHM4k1s8@<^#c(Pp^96Yf)%wGaiCD~zD| zgypqMb-yZAW^l0NYn58!^E^^r-9$i%6pSWRnug3QvZ9SHLX2rj<{9@A^B(Eli0TDH zb0bKXR_#3{D;WRgJAwC$lt7lU~hYzoC zq%w-M;w<g2V3l4}1yqrrsur`PhF?vq7a*L><`3)b5FG53)5}i1$|S4H=8H zB|5s2gr<#4Z0gGJ2!{H-c=PTBi)Nt)aA?Ttxs_8IpyjKI@dR8-$Un8 z*)&)=f!CUW=?E&rhr^IXcySsbTor1X*hLW2;A*`>k18$-Qstz6+dCYep(j@+LO`#S z#-fFljOH`1 z!^N#n2|;yoNvI+UZmo$GYXih2cIf-}VhtmgM0-?vNt$6f7{j$C=ZX``1cbdaqskK5 z5#LX8wJgaroVUisD&bT}jRLsBijozDQDfyQs?u7dOB7uk6{%+vMJN~m3<9-0CKQ!Z z1t=-er6)x{hOJ^T#}rV6P`E2lvzcQ<@zDWydu3M7rUsXvZNPLo82Dge1gtiHOEj8b=OMAXK0LA3+BP8O2HfcY73UfIW*- z0tg&B5nVZP7y<<9TDhqCe1V0ejTO3N5~8CyjIx4M`-(v8FS7$v$Q|Dr{{WIuGl?I5 z+6|9F)$18CM$*96pMG7tjZb_zR@S&8h+I>fIV;Pu`6>S{8f z+)l58$Jrdz)`>H`>mdP~&}mlCp@v8m^=E&Sl_~)2BfqS6{G`4NlpoSR|7COIOONzX8(kXg`UhTG~p=cMLkJwAys$2QuQinj0#GveIClEom zMwZ|Vl?_t41}2qU&GJ$zIRIEBmwk|6mKxNyZ8P&^>l=V@hOTc6S0n5od}Ix&Y|N`Z z{X?xfhSldP!|w&DEn02uSg<8Xp=$F)?=H%8r?xi<=kEya)ggSU_8Pfg>Mdxzx?98_ zmoJy5*cFDwkl&Jg)q04q`LqhafEbz(a;@$nY@}xgp24nuJ9%phWnI%sIyrQ=C8(oQ8vk4>((d+NtlgKsB8tfmQBE#Z58hMHm+Dte7E)3c!O(;q#T=MN!z{R=PS%9-nw%M073D zl%{bDXuV#V(%BPmJ(trQCQIs(0d(Mee@RnZ*E!z_|iO$?Jy;}w=f zBn+s|zG6pXQcRGj=DO&`M#mz#I%G2xNEwbv?#xLvut3(v-O5WbC@>8?vS@+zf>+c6 zu039%Sys}~$qhS|I~{h42KHLV$!u1*$NpOF;=i>D=|B1Gz?q6%MKjk(95| zH$VPYpP|p{-v`JM!RQMb7BNQ945k@HPc(VDGZ$9~b_dP?6&0LO6r9P` zqdDxAEGE&&B~UB5c6AI%3sbCP&y@AqTIIUCFX9rnpj?2CRN@Xrq~|t)mFjgWWd?SOyzrXLA1ljFL*!%!wEvc*0Q~YQeiZjI8))qkX6l-=i;SrG zg{ON*NvEBqoJ2SXf^I?_Pp9nTe14fo4ILEdY(g}!-JiN!wQrIz+yZ$~}Bg{lax z{sb2wFXNWZV6^u3?B*m`CsH|t2$EY^5sQ1Z5TE@ta)T$y{{VokM|7|}SI=(`Erg;L z%iAGQS}99dIJ7VDCtXC=&(*5x)#jHdi6_FWrCqr(Ha4rPw}49}(P_ci+a&^#fEVr6 zm6J@ayh`W|-5JIZI0C#dJj>C3@P6spQK`yB1Puwx#;#MIksFoh&0abP((8sItWdkK zO(zdK?i*@%x5E66{{Ujht#}xxy5x%-fpDde=5Od$(9=z(Fjl@ni5 zSTU*ZB8lWhMqrJci$@rZ;28+$O78ybLsZwX!0Q@9z^msc>rv@0p|*z3_6BJf zl~swnk|17bY@aP9v*fP^y>B>9tdk>!rh$Begk8kU-#O)Sl!omgEj^SjWe!tGo_UCU zD%Q{wB=XtZLM2Y>JR5KMscwQwhlbtRl@h}#1;mpnAnQiMh)g9CO<>HhqLh&6(ibDT z)OQo}XYo8kTWI?u1c6-*TT7^lD`_GU?d2}>&k=|2Q{}IMD`_nE3;S<9yeS@jL5Qcg z1v+rSwWI$43(&P`kltLIrPa1XSe(wsm`J3wff*sN;;J{xbt!J?Ni4|ny2`9bb{Ham zI3xOut|KynP#<;+f@s@EY?8}#@HmDLLa0FufK&q2E#IE^0Eiu1FXW5SYG_${SxX=O zJJzF`5s8{_bYegVp7_aXl#YF*xk#9ffzgyPN5H}8LsY5J-dJ3P{{T&v^urD!k{{uQ z(h9p4;S7;9-6K*PDjGT$l3d<00~<)p=3P}sWh`h(dX83S4q%lPPV=&bct}ob762BqXRCOXW1Pyf9Nd3woW;s5jwOSb2A%@t% z9L4aN3p|+$MnDzgjmIFv=L}z)sFQ4IzwFhm$({((+@zVqDu;d85CeKBsECnZM-Zzz z_G0S1#j9iq4Y}HA3V^@~9q{hsZjV>iQ9*GNK=bHOFv>W1zTc|VjhxWL1P=pj%Bs5( z@??2xDQ+f9gqOoMZku@!q>$W$S62`{%;x8uijEqVrI%!!t>dxr6O7N`; zLulCyO9sogDJlLuTPG0ax7*Cfno)t`hga0Goe^XK8{bM!@x&@e2!42_4Teuo)ZBVg*^FhxS4 zrCo+mPH1A000*hB^T?>mA`&F3>Rk3v zLGMyNiL(K-chqOO`XiG^3PIJol|IB~m%F(Nqdw%)DQ0FkRRg&s(T|yibskLPZoZi~ z&(K$4yQ+CX3!l3r3YQ$Xq?r-lCj(Vt38rw0i*kj_9+&_cWiGLn8QdyYb z06LOMsI@XUxPAc>%sVNF4rpyRnW)9`5AD zK9-P|ZNj6~-RoQ;B%H<3(Lf=vw46^fLV$~qc@cS&Cs!1V<|kH2`KDCrm^U`E23mqw zj9WFzZe$?DMwb`!Qr}96EO*5qL=3oIS($%^zeYQ)zY)G^k)N8QZG+rvOL1|@0{T)3 z)Yxjog<`|kCjGWMl;XsoiYAKRAb>lbKRt&9y5sgxs*K^I{H@rnv3t%2x z%8Gw5HFLtPr2%Z#cD9evQSNS&QSwnzafo2>_R$^~cSj29?*x-l8_N)h#P25)PDDTEaf+yJ-1o141gY3U0uhK~{ zpPuX`lrNtK^x7ZXUEP)BtPO^1lGG85fNIBLQ>LN0Bl zWaZq%n3*HDiIAPYsP1`1%yYaX7=Z&;h^tkctt?UOSQ#5Wb}f>`WSU9tr3gr6{&m&U z82B^P3Kpqt%A72SV@EEaf+;3RS#6<;At{Z6sB#lH1XFA!mz(EwW1d)SW;FRntw`-5 zi6suAS6noim0g(ByK{r)Ln(iV$X_MPdX}x!#uUXViAPNo%#L-Y9&5Rn%Q5umTi_oh zz@#5gg|t}7?m>@MB+zW74W{H||g(fFvlo+%n$)j#i@h(&%{$m)v4ypJJfT8cd(h2XWg5hvJ2xQ0gyP?uzc z2yM|F)S+SFk}jYVLHUq3Jh_Hm<N`cBEt`))k3keH=K> zP_XOlMO`s6ht~rvU(rEst=)+~^Zx*@LdfPcC+5Lh6ni9GWV;{xik*tV6|tJ@)TwET zLzGccr2ha=VQA)7h^KXsC<@!;I}j>ZOrkq`dG2}!DtgBqTusVA_Ot1^a;iCn0@Mgx zvAlG4A2blPB4is`<-32$$wN?}-ce(8NR_(s$_T0C(ITD+ZFgX$$U`y#@TsUYEFSVy zBXO0;5E`BZeRkLls!-$rcId2Dp%VRU_k4iw3M;Z8(X#$=Nn& zHo*&|hz_h!gH1G17fZ=Y`Q;GgE5M&ZDLklvE^+9)5Hm{y+(O*wSqww5l%p|1#1T+W z%0mpzIGO!cETS_ue7FLq3?`JzzlLIbf?N)Oj_sT&uc`?wFAj_xftAbcNT@@Xw(3}) zd1?@+!W)E1TVg3AFV^bS*W??KETmQ4%G<q8*xbpL_aRW!zJk`_&|sC%H$cDCMMxE3p&m!P$t++o1;Zk(J^Q%l z6bM(BGwe)}%D+67H1ppTn(RX*s<<&>qAHOGKPAu_{Sk=X&dDWaQ857N98#*K4l52| zxUuBK37DUZz?D2qAcgpy!7{Nuk|vPtK}bfH>f+@AJEW!`H! zzmC64--L+@a-{_>a1`o^p`kUg&CD@FY#4%ATRBiwlBKYPWq(Upq#qmq0I;som7%t0X${^J=G2x~5n4UkM+8%cAcnSRqRS$n8wJ{~Z7pC& zmg;+;OmZx&;azZn0usqzrtIF{;?mr>)&zy6Xo8tY)dm`_?jW3zcWukJDJXdf+ECtV zxU#au>?58SzoxVn1i{4!!aw&_ES%JY9)j8l=8ZV zlskrq$U#*~iX{;+fii%-L3Zyn@z@v;Ac@xkQi`pXBDkLxFl>ebjM2lQI1)nSE0n9A z9#@@rBnpu=VR&ucRJJq1MvMTnDCoY;ElTRs zM>OP{LR>gWd_xHWfGY7hJYq{S_bU+J<3}M(k}9zU6cV*9n_^oTZ;Gp-P^cEwu(dVk zDseOM7!g#LZ&Ha?jzgCVgN7;SNnWejfIrr<5YjS$3y?Jg```?J&`_xwK+2N!`wYyW zAD(HgZDt`LbbVZdwj;HaedI|^F^8Xc7&JsLQ3^G^uJ2lfd)tU2c$6o0Dqs??%*&{# zZD+bOL^;t+V*x~7S3v&&7D%or(5x^E7b-G^%Z;uwqgqG$fOy3AvY_Ol!a$uGhYh)Q zSa`hLNq1L|1;oHtg@EKXj;wNZs4qkl-jqh!_Fi7$xx3|otXkJ%J@Yb$~F8G3l1_j;oXtGom*3)xR(&dfW3K;J@BP?jurcxHPOS3lPqZuq= zD1+n})JrP(dwXZL3cuqXTf`8#`87IhfvjFWKu+t;7QtWgP@kUfGD;O9Q@*%+ds5xC z!aYl78;8BD4vzfTvz-=6PC+!NHZT3paUcBk`Y*=Ib1kEgL2pFoDL@5Fc#uyETgWGm zn#a4erw1PENjq-^v)jb#GrAJ$jmb}Kn6uP2>_ihKyiShfXeNv-OpFK2tJJf&=lIST z&J$hxteH|9-RR6wrT%4dgrpAmPYkRzETcP83y4c1Bp4jh1hTC01a`p2h$tXdd0}WB z*mNvWf|beoJX^RC-pQF`jwf~uIU=s36Tp@QmTh?V&lq_~|)lw0l6L-y~Z zYPeJ3WNAgbgo!&DUR*J+pA-K8{Wqu8AQpG?BFz1jBUoH1W~qZs%6t2y!1Yud%sQnW zBQ!{YE-5H<2+XVsOcnm*uL8{Ai^yaSNE(K^ltj%!!q!P;d9RR2w)UwBJs0^60?ExoY}#^e-9T#&WkKl&a1x!?R&_1W0lOKFllqnj)~h+~3B6WW`!D#ep{gc1h; z>(m-mGrW;ovyEh8Rv|N7HFrd^;xb|G}T0|tx1sAE{u z?ookFAS^D_$cR4JOdZe5BAj{eW&vkLcgvJTi}Hk2`&+lSK)tFp%f}-P2_WkL@yCh%kniWAsR^6pD16k5p+&it79P#ZPrtz8+C?I9Zx0}xgyoT?F# zkkt#5W+1tm*_9uuN93~PCuON1WJ#yu_pV0E>j@66P*^3p#LU=dN60Rp3kr%z%iQyv zO6wWUhA@~vB3h+Lf+YMu#2uGA5Cg^*oX6orFq=eACLDH@rCB4Yh%*wxyuA=at-ior z!G?Q^`9&4dGOxTZ0(Eb2^c9*eBgy5tcK3-v)O?kxAhx%T<>xUtj@ac&p@LAP_Ifv| zcFr4}mx!w(gh;KGMo>}Z86r#XB)q5HLzc8>qi7*(C}(7e$YwZsf`=+|*a1m|R0>wq zMe7cfIFnvuUwF!CQ{5suv;~=y!^W)8zRCeTMo2Yj3&+E)m55c@a9&r(#Ms9`brs;b z5JMF0DwDBtS=uzKy%OTlQSLI40z8uDEEWgVYTnpeTQY_&$Qvcy8wey&09K)D$ZolW z+;d9?57@51vGCQb&h2zpl`|(P(IX%R2dm|n5IvTxpa}x%(IVw^bS;N08{geUJT`{z z<-cBK60EKf0Lk-;w@Y?IZE7Oj)n#8QmvEThCm`)t%P)(#x|N)sZ+##@u?F^PnimmW zI40#?$tRkl3n#wWTJYR}JOrBSw%_CGDIymWMgama+den?CJ70NT)@H@ixv9aB{@5t zumPq7TynUS&L#I}M~4pM?c_BgvOtnsJmmrILoBgjo|6I@x`$=J&iVBR`Dmq`*x^-2 zQb|34r_Qm(aT~e7_ESjOxCbR$8Nv2AH0oIpunfU*k_WCcNV`0a!Bs%@B-HE`9!FGG zE!99Lxisz(Hefbm*+;oQM1+Jwz%!6Ca6ND-6tlY!s;Z+Tl6wJ835|9cU^|ufr_P+| zQa!Qlv8N$X7Uni)W7q%(uH!aZiq1Qc8&LlYy$S$){k85?sbyu{gj1sgSrr!*Z%XBoASq zrJGfGq*&CSY_S#ocNI#3;V*F-hflP%AyASBT^zZ>;kz83f`K4|brwMs*()4V$0LwF zN^6_T<_86L+f8%tw@gw^5ilU;Kz<4l9ER_#xn4AQK7W4<;by^Yj#>KPpl z%F23z2<|DIB9~yGvm6B(^)wT5n+>%m0kQ2$0~E;EDI^1rV~UBHWMIIAE8I7+6u=c= zatJ+gK8XntsbC8bGIbuf6bT00OomWE$?|7303{`z5r97?G=vA_%Cc+s>SaI$l!-UH zxk;WmW=Po~(qsbz%~t;a+{{-B_ZCv$9$-5L*$Cy6>gKO_z3fq4w8klLrJaEyCp!6R zBcWw{yH2UQ#@8NT14p1(UX+80T#bb$MN_cMtpbdePvB+ z5x9~&OFLezBjmWADE1#U1k_dn*$vX$#T!h$8YDcWk&;p82A$Ra04+%$4}jeTFh=La7G>^7 zRHcW5A>9i3#q$!iZ1}aZ&8XaRk^4xD^p>!`ySikg1+kPW)FHG6WSq*0t-=Hki^=e* z?imeBJWB%E+aA3gxO;V0JCXr?Wx^Q9ubARInnpoNi0w8BKyW z*2V7CZ^NOto+qA3kuJ-Pz*i(GN{aH-c#|oIn!MyH!2-SyqY7>-JGu@xECDlb?GW;O zn*pgTp;A%9u2n!dWh5H5u;)ZQH{h}jUJS7FnUdL?l zBMD?jj!>x>AqcC6a^>HIm-z%?K2p4^Dq5QnG7vk=@y&(}UyjTEJ${GsCBq?=2x$*Z z5>?yOVZ}worY7MpM7LY$L(1szX{lGC1W!5#P*D&S4~Q?JsiH%Ou3(gb597SJdbi>- zL}0uYsN&}6fGXN4k%L^$_VP@s2PFfuCQxOVRksHZ z1lHGFk#5c<*~sRn*%a5-Zf??fqk?fX=^hMd+5)TPDr)D47nkutAXGoO{{X<b0Wh@#lN@c>5~Y9IH7te9=p!<&dg!J^VXYfDtx{4{vLq@( z>(d#@CafLaA)M^ag&4UxB%O(=V2TzUH476n596z-k|R0fhm9jFKur-;d`GDj)RpSR ziRw!h$zpv;>S$a;JTQh*u(T{3EPDb%k|>~4d?waX6yySm1V{2y#F3e0&>c{d&_<{R zb4hdJIX_ja%g!_Tj+=C9nNdne%7`OIW)YQ%Q*`rn51NcQiq%Sp5#$=PqJfY|q_U3D z9F#1p8Dg!~aj@FFVY)K&L^3m&xjo=nV_y^E6Oi5`YRoikk+o&Lsk6Pjpl$v=tVoYhE3(G}OL_{OUC4&Ny=CLZo$z&jTLcAFFHM^DWt^gWd!(~+>Ol# z1ybRWQ|@$uV^<$12CZF;2^@BckpiVKphHWX%P2tYlj2!5nW^x$xGiu_Q5NG&+Sq)jOBChTcOGOn!RxT>9u#wMIdSVjR9v zUZIet3b6MTEt=aiiOfWx+XaLn70;fMSfpD}A`xu~45Xbm?lbXJ%8{T8sE#P|LU%bN zl1Ztec-*PgfMJ7!LEM7+kBsEuV^vijB>;bcIl!7%5ijq2P?cgYZJUof5TQVeVo4^U zU8Tip2gFAke!O-wR`!M%vT|5=5}b(yy`Q zh1`!~1x*=s31M`_lwcA7j-!;u;z*trR{#GQ==?l~Tw5 z0N_;n@|OqA%NcI8RTv@Zko#+bdJ=RrLwT@A!f<*Txa$r$ec#sf+sWjscM;0>DE8X9 z0O5qe2&l9>yzzu^T?5iRO-J8$VbWk$ky$XX*9I`0Yj#3aA&p>+vQ!*@W_BTk3Wg%0}@rC+k z3}R{JSa%9_C3nU}PbVrVBW=;2?CiM$m61zep02@1Z*ppNc8zdO!aQwJM6$9FbEA?0 z`HYH>8@U99$;M7SD;e88G4Ec96zMCm_C!Kishpr|#cMpU9e|u6qZ>(vwVha^kfpUL zopQpiPt+K}kjdpQ

    UX3Y%V3Z89si-pWWdYZ6I0Y=DUQ!6vy|@}MSJwfE&FUZ4nM z6I;sx0rRg(m1^Ee5?0l`trHbtjAY=7Om8L$#!jQ4$?j{CB?v(oTIa%5 zqYaWWs>i75g2I(m%rL_wtg6QV;w59$)};M?ox}_K=0z10&lB_`4u=dn)Dk*M+B+3w zZ3xr?Pg+rycHy^*2k(#j!G+8#9IXo%11dLCq*b;501vk0%R9))B4oR0%)v5EewT^n zDdF&m6i~S>;++z%6%yUeuL(e1!2<w1JxsnWWfOJ+R`9fYt)|Pt9RYPT}?VN zFQZZ6vfD32&oQM*G>cHX1yn4?wv&jjiHJ(J(a8^xm2uVELMj_#$kNzv`HS$ys9f_5 zb_`qX90acie-mA{toJTomh*hDH?sX#`jr0w-5r=f(@A&(D#IsNmq&3;8;p1ff8&~p*SrrGGFjk= zbwM!;gzh)1REh2)al;+lOWAr930B1;NG?%e4kgR9&IE2rCYr)hF73jJ$sqStg#y#3 z3K3eKQCW(tXJQE4>-#Jy%p|{@T|6$PMZ&Q~k^t&Jz(Bw)L#d7#CsPx=E1_g7cNzMl z&}z-4O$idrF1$^~Vp9CIXWz-37W;KAz09skT6c+~01v7Cy1AVkBBig@K@5UY*)ayy zNW$g1wLPTrO$FRABdepLFZ5BT?*yr=l_eN345tKi^#+aQs=0*7u2H5?!FgDGkzBhT zM~(4W+n9IL#Z+7}&_*Y=@hYZEl7xh)Z}?{-<}MWcJ&BTUKS`-95X|?SW_U?vU=tsDVjcsPGFieq_ldHxoh6ztHH$(kuvsfUebQEsPTz zsHPp8eyU*-R(J6)${p~}V z?>yWk=SOmKOT4iwE0#D@mP$?>#pYfeHKKJ)zE~n9TiRNQL<5F|LeQ&(UU*ihMa(5$ zdwX#UB6ZwbJWA!^d+I9P#6lUZA-Il2Fr%I0f;4yP-IUT@%vmkC zb=`!|63RA2nHYc7QMp)A#6GDgXMrR}W zaxMrA$&u_zkZ@`xMMWqu6%JK#_Gu?Gs1YtBlz_V+{X>CQNU1t}O6s7f1x`jVYbf7P z3=9lsWh&8XK~ql=iH*$i-1!N~QO;(-HIl|To#lwT62;0nDqNHC<25Nf)C|HIOLu7^ z2S;z40%~YXPFdKx)dZ8Bhb>y@`)vyNuPH>g^NhcNz`NLx8IWaBOJl2RQm4oO(g7e&IV;> zAPSdWV?%X38|pAK%5|*@a{PVPflqK3nNuKHL?|L>3)?K1ITY?5Q7zQ+b8r9xUEJ=z z%GnhjIZ@~UjHuKY{>cNe7$U8A$A@+ssw~H1Xp6H2_Ay3MrMD7*$`FQfa`+jz@|A0MOBuBBcPy3>Ony z#OK|TCRHYtn5x}eOLPXyslb_SNNhdYLW0p*v2$Ly-9Al$*sO_b6l#uzIQ zeMqUJMRSwdJnPftn!5niol~;x>`tPY7Cqs1hD{Xg6g*{E50EsD?$NZ;GRV>$ zo1KI!eDWV|Ug2{4y$($Z#ZthW?q+-rXF)ZYgNj=G@>d~9aj!S%u zLG;)A!i=#!00M*p;M+=)L<~j3h7RZzshTi$xG{8i z`X~gNj?#ByK{}-pcN;$K_W-VJnGwK#0%G7AB@% zL{D!r&X|P`SjmLQ8sLyVkHKgE00NO1vpU(RRUO!#OFr;y*W~uqJwWP@syebz6kn|z_m;u$Q4j*d;&FFs)6x|g@$tZpRom(SX zK^wc;T)`)WirAF~BLc3$w>U;zy-&ozc_K(I+`zELUCOjljU#VG6*!$52wu@8nGwzd z#SOYPzw6bn4NSB`-C?!nLbyS^PFdcpu9O>ID{~dNhC!BAjiQI^eb%hhErVX%IzGFdsQU6!BS!C%3v|0xUAT&cbjLpc;((wK%Y}w=+qZZX3mkq|`afgi--&v~naa z7gL5Q(^e&Vj?4l6xKp0p*+rDOaRcd)dG&5%3V%giUX!v1B)kk1Qdq}wE=`=)BM!xX`0UwQg|O>)a*$6s z9o8gf8h!6w1Ees?G^ktAk|kyWp}Cb6(!%V48hW`1aMgJO$S2Heu)>uqyQvu4s3NAe zM~%bUiGR`z-Bi*P3(c^)5fWSutWXL>FZ}Y}=FSiosV^(ULehUh{{X%J0AuhCzwA=F zs!e4(-z%1FFg1-&as?tGidpTiU_S5K-dekr6U#L6G2I#bijbD4hFKiS_fd34L6tLG zr`oGIQ6?TgX93wka;7!HuJoQg$b#V)SnXsAg|}{j!O3cf!tT*rTgri6Wk*xXnSx_c-2jkJ>m`5I_(Hz#-X{H6_Ud2ff{Q}NNUTA53D;lc2i(Gfv4(}Dkyr>c82;k{6X@zc% z3)$_+ z7Eh38FrQ7m9;cPQzkr95e)6*<^+Y* zF<;xLZs3CjE@vRh$_`<8t=#l#f+$=!=qvJDe|6s}R~E5K;Xw)us3+(%+`%-r3?ur; zRY=g2`&4Yq%#ryaR{d0GJ8E98CxJ5J6#kX4Q&y2!JsYRDYjhEAj~>B`lHmf4d+kIa zg_c`Q{{U<_GgHKlE$1r>MqFeGnaD`1sauOFgs`v5UhJQY;Y|zC3^QF#8blM4vl7J} z=)lgt9#^@U8ZO|Xpk||k$VeV7!^|L3hJ94^VMB;VYbwtNiX)jBmnxR7OHw2RDsbzY zwr7?hFKDE$R1)7ihDab*>fi<0*!+|=1w7lkYqy#uZ$t&6K<(}nnu1dkNR4i(zM;Qf zRcfBaE+Y}V2*luRg=xtuN$5xwa7cAyZq4kND=}5c`&6U>&S;po-N|?U@(`Y62qcwp z_Ef9n{IF_kndVEo+1>l(4a6=!Hg#+G*yge?F7We|dC_^r(8J8+AJeHv28!TD7^)RVd-p(Rh$P^5>A z@fv}niVEgScY)G-cOAqiyv@+JWd!_*sM=!ko)STbGGJhMO5Cam?Hbgxb#FT~aU!6r zh%Oz>7PC4u*Cm*M>ZMd<)t3&H6**4Oqq3q$p~jy!AeI84wu&O&JZ(L}W+P-$sskE}gvATol{2^~SdkPlA;*y(s|}m+x@!PN?G~MQv9qumeXC=eH@iN0~s)PmJlI7VhAA3hcEOmU( z8>*{%qA6zmYP1vhtCX;rm5axKMlSY)XFn(1jNZ=57ku0$;2qeQg zuXa7wri(2znG4M#U?>~hPQ@tM*u{UV&1TVKkjU_d8#Gsz<#dwr>geVV5q{Duo z84PIJ+N^IB_tP`6=456jW?(97RE}k1gAj@#u|GoI-Y}Nog|ZcuQ9;9IPu2SrBAia| zZzNHp`Z#wAua>JKrCxiRn3j1V7*tsH8YjDfQp|A`=zFN5l;pIb?hD6FZva@Q;1gYd z;J*5DFtpHwiaR!*!4uv2Eb%J)fYj=UttS$lUOENub;;Lob_5r;*jv`CU^tRjdYL7;hF<}LPLWT=Cs#JBu9AfaPiF0(WU zSncf8+*nk)S(8iH_&ho#{WJ zTPyn(g&W<>v!R#nDk{}gr(|TlM=#MMRfc6MT_p*7VGk$*Re4J9y49Bl zp8n!kOjwoGMv1Ujjk+~nO%ipD)F#8%pJItd>h*R@$;l}d)JuUF=$H&Z)`g6%Z49z; zE1@_ny32{9{tc*+I-WvXDgt#Qk#h^np!Co+Jdr^6FJ~>2fh&YAq16DZ31URCC7lmD z7#A#|wr316u0mAS*JfB|;%{KPu7GA+dTFH&kn!30i6BD#$N9n_*7S>2yH?+V_he|w0i6oHE zGQrAtkq)Kfo+V^be$b`i7j9>JzZVFV83M7yw+cw3B)uLNmEK-}K#d$jl}R=Yq~R7= z6ZHg`L?oZ0+REbcX;89c#+XR9A2$rt_cnp&pNJV_ZQKG1c!$Vpp5kaBDRlC3O{^?k zksdV+Hc|fjScv{;SvJ!X^iQ`=1gQ;-nl;9m-bN*eSeMaqc4~Bakq;Bx5fNVC-Ieatyk2Of zwTANHm5SRL29E*>LXt*T1PV4+oo*++c!PqRrp5BmX;G%Tl|b0Wm;r37)GGL;n&@$@klJ; z0g7P~7MRKxvF0DN50<2|xpYgY;xQ}4@r4}n@N=}t3OXPRie!0`VIR#&q@ELU&&1V% z`+e`F4f!eym$i6=5n;)2onmXi=j1}v!u6dZw&YLsGV&Nk?{HNxPnMF()=4FKucH#J z$--?Nk1sej_IFs&xq#mf#>$ z)N4bF$8*n~Q*)GxBv9T(k8()$(yZ2D%9!|Au`jAnbaf%6ek9vgGuK}-g&3hbyYmb!9)kBP}Mr= z<+hQfjXuIkB~Rg`lV~L+m3lbCvVnlw)v8Xqc+_sq$8l6w>V-vRg#4 zszvVD11{A(k-Dt5(oWt;l?f$ej;?L(FzAh{Y!Ymxs3Ux+r-9mzXPc*GR!_55 zvpcfIYVbFjCQgN=lkHUZYjZ3nXSPD|fT*O1$ttamglF0GkfQx<$dkEmdej0H7sBu=~W%gI!jh$ATQm8pcN*72wF zZ6z3QX6Cj5X(}!j_Mto@vI50EG-o@HC%V_4p5iFe@N(ls(+YmoJn1%Lvk<$O2zbPy z2v*Ahu>op($gW;v#9w!KU0nzKm;j?t1wv-$h}gc{ri+FsrK%fih@vSoNb+-C2rQ)( zFGTk>a|EEXePaoxQ5hjl098SND5b}eSycnH>l$H_7!?t4l??L8?+HL%A0beNv}LAJ zVUh=lyzS7ts=)$zC=TYKecJVbX~_u46Huco{=Hqmklb8K1X9AI*4(0!zN1r3#Ui>L zPTD26B#K*Gi*+ze%`>ddht(HOiGzY_&RN<7SxhmMmO|XNAsfqrC`mK-W{Fy9S^bo- zU8xI73R_7Tnr7~2CRYp^lFC>XLo2hZPVtiALJxo;rHsEz7$~S+1uOGdhG!1@ur&3u{;+x_Qh_64;WsLj<}O?DZtv z&|;Nb6R1$f;B^I*?U?>_Hv>0LYnQWa%d>qjwwX`qFXKfW;;B_h=(lV2H6y zp?P>14@-3pk;H)$tO!m5{{WE^E~TPvT|xUN(AB6#g`kn5V3G9*N|0)Mku&cvJ+dR^ zcbrK`p+PKI^!F#Z{{W#ZXkE@Tg;A4NU#=`}h5%fGpv9M{-<0v(^KCG|WP`M9z>0w) zE=~LPm;V6RsnnD(yah6&E&-L$*NbQ%k!@#{CBtYLSrDn%)FnY*32>-#z#pv8ts*lj z&uu-bxgLS$Kq-+}sIa+mn-0XHFvy~cN?e&>PxWLmo$3hUXD0qn{x03VqL^Fl6i&GM z_GH2{>yir43y}O*vojUt5F$Q*b)hb*={>WdPTMncD-PwEqAG~4Rd)gRLf*xGhW$mB z6k-7DfitGm@HD+RnwZ9=Ktkm@IR>s{o@V;cRU?55J2OSNI5=9A#El?$3L{S827a?* zGHS>mmM*D-CI}fL*wkoCBvY&7+if#bMJ%9;`8q5`NBEE1r02kGL+Jte+BI>zEaUR*h?X^L31PJA_WO>jq0YI*CNF}?x z7RfItl#q2&!I6it291r?(o1W4ZUgvIxlEXl4DDQ)oe;gyX$+;XsHWI4Ct8T8BQqCL zS7I1V6hwUoMK2RV7tX7wQ|PiJzt z1FK-PVy-#4V`Fx#x(`G#W$7@B6tPKc?<)|hn3X~5NEK@EC;YX+m8bX>2PT{rlq9i6 zQ7~|GDXjGhTzN=QwpeTi+E((L*J-t(bj+n0zGW2BY!)tbQU+kVV7G-p|mNr z!<=NOjdDp9E_o{M86*eMAF*-jl`OL+@J%f9DTESp4<%ZnwON<>w6VLASQW&|fP6g( zG`7z?EM|nEjCL}VW++;rxa7w0%F~J8)ld{hW(UiF4oyw4no};`9FyecfI0^CY~f84 z7P3O{=)uSt8GWf$7(VvhOOx*{LJ;^vaEU8yN25|gU#;DvugD%mvb9{q?!ekk%^5&F z5gTfq6h~@fb!U;6eNmlM759IJodHKT(l2liO<-U}6&tECbq$W75*H)+ehzQoH53PT z95W&;!T{G6)SOmh%`(elD|r*EtX!H@wE|c;rO^ej`32HSvxeYJb9s7E3e2E?N=%Z~ zz02HMT(m_a-TNc@q)N_8y8sO>%8PDWaVe4G@-b|J$xzrVu9wF7^3LTk$+{#z<*QpH zwz{xsp@vony#p=7$BhqFHE9SE_&erJ8`;{~#UwVsOAiyda9hquF0xcD0Ve5uOwOH4 zndWgRjXjIdx#@Ef>t@bx`Ma-D6*L_m;i10siJYr8;!>!>_C4KSu7Cn6GGBS7R5u84 z3lvvoa0ww<%lNsseKw@Mn+_@C2YUNv?6=>pF8^^S=#)XeXXO3M9 zdV)N{rbuUdww+s(3MTAbj8Wrb_KQ@Orq!R3ZYN}Zton#@BBR42LeWLynU|ie=N8GR z1w|8XEG!-4jzhWxA|#Bk^B(1D8?H2u&YZ%dn|1E0#N`31ESZoY2UajsStWx`o&$W~WfYAgSx_4{Er%NFI2t zMaAO{8U0bU0If}OQP%H+MQ)uTcli7?RetdVStZ`#o+yd~6fg-lsi5Us!;=Y?D3@~4 zJWcVr>guga6sGe7ik%(f9Tb|i;|j4X^ISRdTq-Lv+_N&hU)_ebTg?KzP#{%hSv~Mr zRks9+>i!r;WSw;wid8y+@ci1KFf7m7+rrP)6>v)kzi+s1q*7nRrRIQNAOa-YSYv3D zboT(gMQZ|=wc%XwjKTf{Ngl1Oq)2U)n`?-R^jScJ&!YR6kOrm!xRbQ+JjxLO!z_x2 zFN`T%r93WdC7Nq_s@uC2k7}I+B4^=tw#h4yOGZ{( zP(U?v9GpCb&KZi~rwiC2&_)`qcmxXawzI_~khHD@p-B}zg~YqZ!KJWx*%W*aDIuy^ zSHW8&fpBIZ@5u1XO7HBZjpeAC57JZ0>K;Jutr?Jlp(-R*h>LW}g8i1Qu9@bZI|BlQ z5W3(>QB|_UR}$i80LUOH#wfH$0!UndOz3VDH70dP&?2wg2lz5B5fEys zK0tq6qUS3U%ty~i{LM*cYdC1EE-yCcmiBnG7+=<_dzD6zLvd@%M}$ke#6-_bL7H^w z6R3!@a@yyRIxzQYkv0*`6gUUA!3z(f8G6e}M{>~^{N!bP;-Z>iZ5&LqJcx_7 zL}Apu9zeHyBujGT(8_vTP3W|jlS2~WUF8uuQV}9)8JR%y)QzBmE2yQqPiAFCA^vEU zEUvQ5wsT);s`e=X3=KGbYyOJ6veOHdJI>6tV%S7HHtKNLMSncexJ9P1ntYxeb7H}x zWB?9(Ho)yt!XU;(H* z$9r(L^G)uEjzLeo#UvrcvqsL~G4IPmmmf7aG#jK}pl{*Z{dRhq37wCDp7iE6KmbS? zNFHjI{Vkb4MBT)?nfW>AJCv(g))k&>mIStoFH{jV8#bSKE*fCiV3;AJPoi6dMTS{c zCYTd~u@)mQPA2reVoYB#Z9pWqPW;t|7>W6!$j^b;CRUUk?(Od0Sk=7{6A}kL`jc8n zF9o2A*L5ad zS#y=U5EQ9&7Jy4=BzM6sr!&*=roS674T0GR6>)B7gxb5^5*GxiK^m|=Z$NAGQMznF zHj5@e0h72x+&MK3#Bms=futa?N6T^x<0|x*@!Q{H9XSb0L=E)X!^zv4Z55^kzXx5ZV`I53mIhyoH~063nL%_ zP21|!ZLg=0%Lt!!wq@xOr0Z69rWbN%wm_OA1`4Zj_NmA>DEw3*QKsFsI{x>dxgseH zss4s4x&HtMXxJ`$WQu{~wJ$U#<(rQS=mmncnhY2sm=X zS98q$#YK4eo;Z;X(gG9>enivVClL>68#_gE&z6l912ZbqaSO|cqlKonoQWo4oe-l8 zgW0Qhdw~2=`X|_jm2ycdP}oS3!!^9OEM8Yv1kG{^3;=qw)xFw0*OqX^`9c_Jh!j8W zU21t|XrM`_T!aE7%qYQ0V3h|7x`>I5)T+}n$D*TLbU%93aH2eoZ5tP0Fj$hcJdXDe zO=xZ+a=>;#=oYyy5iP&D$%f8TvdkIMpy3t}!t+HNB9)nhp;}aR1SNCqn%vvkq=gDx zt2-H?wSiD+SCg5q4YV>`PSGTR${C!3=2q;O0Yy!0BD9$tu!`L~M(-EHH>)>hq6%8) zi8zbjn&IwJN^AHG_Vf6@A_%vaE(b|^Fdo1)OpKO+BD7iJZ85w2iS}aEYr_^G;qEM% zK6i? z0yZ=NgM*~R4R)pUrO*X10b`v5Tkm$ zlFJh|!`Tkhf!29=hYg4*5v~_mnglFMdo?k>Hy3eRN@ktsl~|(379VT}V|SaKuzLuq({g>vE1_K%PP@u4qp3t_8)a?B3}LS^_9t7P(}*;xa&s z$$TM2i!xi7Zy1PqE5#XZaq z35w!-*vYrlg6fYk>PKg*hn=FgNvB+@0TN~;UK*5QM+Yv6-jdh(akzb086HbEQE~^tV$E^dc3@H?7TYW?|7aBOryi) zQ&$PQ%ZE`Cv28&bkO)vV48Z>Y&*Cu+8{Ec>zaj~#!x&|Ih}9(5q0p0qP4LGR!aFuS zf|`$AkT5K}b|iXd=q?l%AOg&A2VYWp3ILNoF?nDEf_Ba*`U|M4NdhL!7iT?`XSp=U zT~i}stAJP!VVY7w2I??HdPfxK@B5V3w~C6Ns>vG%R{MykkxRs`3#e|zlyw=P0n%B~ z8}~7$aDpLm9_5L~v}7@JB$ZKjQbAmj21Y4YB_W+8U_HoFPylAjfuKD>Z)zkcd7Wci z`(>!8AT`ugE`lfAX#CELsqA*o@)JPu8B{v&@a1!nnkZkKuB9~{+hNj!74k4(2=wVq zpN+AM0N!KSdKwC+r0IjPAPuS9B5Xj}k7XX@{TlD4M*8O)W7{;%s=U%HYEQOUiok3& z)I*^g14LvI)DV7z#_`K=h~p#KjYK}SNTx?r^~)7CmCLgQUZ(@8pfX9PP{`;*D=F#- zBeD6;O3L!j$4FAN(xw{Go!Fk@>5qk2!;=wpxA(W zXB2~HcVMcZdXj0?omXz9R~aCC42qo#L#uTSf|qP(RnK!wh0+4xNa{U8lafD|;U@kAR{SbPf9RB5K7giD25g1*YPp6> zmSYpLMG|T>)Hp8Le)(Fpv*JcaPl&aoh?tF!Rad4kBvUn&#hfBpgT)FBb?CFcmIkR(#MpPi|Cvx9q>d}Ko-UBJk(TDW^8CM&>@I=qTn zJvqsiAonX?4&8`6Ko-b%>g3$vlAv@K(l&G;xKnNjKc0YL1SnL;a2L`UA4Si)wg{;w zbVq6QO~GQyOngZZY6fs_QUt$uF6FR--f7NMnztxY?j8qz*DPl0<;%OD&tIc$xz7Y~ zMHvR<WOUevw9w7N`ydO%6=3RDVI=!2Uc&Hf1t;QkT>0_ zt6nB#4q&rLlqKJAnh8USxZ)PZ>|F>Wn87Tnftol{HU@9o>!`2NcSAG8vYaH0tMLP0 zqpeF8f>#JtL5WPcf#kxvqpGRr7m%xdVWMDN6Itr8aS zaS;&v zm|-^nD<74l@-N62q`YLfOH&L5!lzZ4RvSkN_X5=cCRmq-PZZiOy~|s!{{Z)YHlxF? zp4A>)N+(?g>}{W*0lgZpvCntEyd@!k6Dpsr>#LnWqcO>g!SXslig)JyZ4ME5LA~&u zgT<1b5}M8uWtvPoK6Rx-;kL~w{AM_otq_%=--rjDn%~BNTAxyWI`En^&T;m{& z8Zh!oWc&ncjMNGYEgX*vrbeU(jH_Ud;-Iyb-YA5PDV1j`T+6zTvF_C(C@D3}(*+6D zbmlW@k9DM9bAVd2~1671C6b3oX zxhVSdV+MzyPz77NGIMVyok?UUa`m`L#o1%9I;;BIsPA(-AN(jLcKG}8s zla;Gf#47qK200wfV^tgAKeqL%@L+T*MK#z^IU7DT)MU9ht;xo1c?pR7K1X$RY_5lc6ii zMJL#7Ok)=BYRVUg#!xYoG-4oJ)v<+{3)~&v77hxjn8u6p z(x*bE?aI8Uq>>df3aYQ7fr^$ijh=BB!XYFoh>-_#QqL^h)zG@M(ivMDt1okbkye*e zT&uZVq>^yqi{U{1bJz;Glt@d+*o}Zy1}$-;4F{Ncs>P&n%?erFl%laKsPck-he^_L zdu-Pz;%5>K6iAwBt`@T>nN%{w%HV1d9iKv&7&#`A(I8iy5^|b$am`lqRmm>QxV~SQ*bxjZ+x`CD?&=>%A09CxkR4I>$#?kf2K94|5THpu^zdWg6!J;Ypf|(jA zra>1rWO7)CW<%=4jcFG|o<&WOeUKumtvNg0E|bpd_6(ORD{D?9-WL|&H#LhmERicz zs1(JjENC;6s6_;pJxO9|U=XoRS$B*km}2O{g9eW1F=^r}+eedZDEl7`Luqkr8)eH2 ztZwb|Bvb|#g6v@RV>5{3JZLq_DyI4mPXZGcE&$9_lc#N zIL53tXbBJ8b_92(bwF5!1(@Ig^CqnVnag=ZVV7V@Jv&v%a|Quz!VQT8bif9!*%nc$ zz%HSH$>@3HHucTxk%W{(Qxd6YS^;Q$!BvSAyJc;L@PxLZ!ML?G2jgRaw4rt+JKX*{$ix- zPb$O=G6@tr0##V1LYAP&rLa#|V57Ip&>>5eC0AqJhzA4adJ2sLx-L$EyKF~6pFnEX zK$9$R$twnB3;N+k- z$uwhE0W5A9#92 z5yU08GlWwp-x04@G82}m_?@s4+Hlw5jI5cF8(Wb3;H?XIgJmte`GE9%MN9q7T0Zl> z9t@bl8L3xMfgEB?dIgGjwRR~2*b#81(iUgWed6y^< z07*)Q-wMfQTo2u4bgM$)&U_gtM*gmr4g7TH9K&}0ig`utj3J1myWsH|d94gFx(Guou)C>m$Z7%>XwlW0GJPBl z-_{n-8^XIcm7*b&u5xfiWE~|%k#aq7)&6Z5p=y@uWE-+a7$HJ4by|-{RW}oIgQvoI zTWOI{N1_~(u>;?hp9&M|Km^p$a_1={#m!#WlR~>-QXGSAJhs3#3hk^cqiWk>%)GdE zQ>jy{GnQO~f(0stRRaJ4*iec{!z7Ox3nn%hLObhF#A1yicZEc4jG+;g%AH3;N>#(e z?-aW!BpzZA`STi*LhfaEmCFzmlI}}&0~Pv)?cV68zMSIPQf-eFaW&G7fm4AqxUZiS zy#D}+O1ko=xte&G1ChErvbp)SbPY5Tybj=YR%nWr1K81LVJf=`x09nkG#&PC#OF0I zkVvm1xjfQKZ0t)Cb5kNDo)nvML}Zog30xX$m7R;rB#zRd3>lrtWAKWCAhAI)X<`9; z9UPS{PY8*gX&!dvjGZ$nW359kHDXC!BQLmovMT`iBBdv9JFx1-$Uww|1e}n+^bL&* zW_fur561XyMPbdZIHpy#KzguGe{z*1kwXev-5azLzd~gwi>j>`D+*6Muui(6a%EMH zP?-Z|2Bm>?-e?3%GyDkVM~&&g%ENbH{{WRm!896FjdZwKo$>-N^hHT(wS}D?B)Ua# zh#S1I00UH3&`O>bXTDWwn2jb8qLeF8vx$VTT|iev59tf~5!I?&XOutai`5$=CzK~r zMjNYBTTgXxj}z@2Fd@kZ{H8g41*dytcNY#A8Qe#eLmy$a8Qu#^p`qSLL+%&{EtV)k z4QcIUZ~#|FX#1*&8fT>2u9wnyfvQ$;u4%P>O+VK3#myC=j62%WFtHm5v$CfAJ)1kR0qp~Hl$Jv z@^Mm%Sb8e7A&p(RSewDzLW%;H^TG_0#&)G@a!W0~_}wzjmnZG|)*bk=v+>Ky)#@ZV{?0hc0Hm|#> zSYcHqhec3W)$Po}7^1ae^8;?NjnU#~MI~z7JXa)Lz0J(AI8fY`Zf+AQ4?-TM;G9Y( zM2YgF2(U&$$qlHdxv_Jk60!x3bY?9eQj37K`eOCunn{aW6md2PgvfRLf~@Q>G>%(& zqdUs+=?q-N1dl1GS(U)yQC=4X1BXe)qXUK|aMZWHG8ZNVE6~e^!i0^(^w$JbZzZ~+ zmg7a{NST;ih=Blsx5rbL56zifks?w{mQ@@56Wm_NQqF6s4kmRfft19sllG{^Eb+?( zmlrXszgLLImR-Xft1{HDIhp6>x4b!`i)%+RX?zPgx_5b`@G+_Zww!y^9xbJxmq3l=&M+ar6iCu)8y zFIsU7W_5xm!pGm4vjr4lXv>(Mb&Aapn9?VN5MOrl3bwWa_2#yU2e^GeJhhzz{(UIl z%;M2vbP*((b?XX98~sXU1gm2!pH83UtWdj`J%CZ1(X;M@U#<}IiUPJlL;Qr4+(isC z$Rc18QbO|pShAA(4y8s7URXSf;+^49H$V(bEtel430nOe^9fAPD3(waL2#-Wzz>j} z+3FUy=Fcly&Jaq>TuY=xf}v{JE^eg;dzs;y4RIc^Ji45g_Z?QE;E`RbMFYf+7|2%v zrEsij-Y1${LljGH+Ja1Jh1`27ENat3b1Eup5QNQ3(K9QRX24MS9|v~8 zqj}-(rMtjrK#0sR$sitl0g%)U(m>)TcrQvhQs}8L?5mIq8oq%U5qMSA)?BW{0~D0p z*3##M-Unqy`*KRFLgGI^4Tdli2)(4bk)ruB47EgEpPtrl3M{V1Hq2*of34++q8WOk zlhb3+*J!4hf=tR0Qxl#;yY&R0ING`CI6-L~VVM^Ut)L5r_bO_8E=WZt7>kw+A3+fd zr9hUduyY;=m_l;lnRe>+2qrNd$+~uO-2{y!Xjv3wV3JK4NPRNV@-RTRT;rhlv-YZc z6touh(zJ?HGqVy(M~v@8Xv2}L?w?`h+^@-qKuu3^8aQYRv&YDdNrm#EPj$%+PEfL3 z*$L%RfF@&ol&HX?#D(9(?KeA0p6*Hgwcf3+zo+GvQLGXSx`XhNaBIey=at}YR-zV# zQ6g6dpgyf$F6MT5BzO@TSz1J7T_x%^s9=Ew+q|y(#G}k2PF@a2Mh{Q%TuxfnL{CKl z7F8qU0@U|uG$5$Djd^jZ4aBIl@G99f2pmMWFHF}xUjkLDu+PgGMJIb!Psnk^%bvDh$0sZ4nu_L z_bD}XYil8n8PZivUO}MH_0SPlQuA&lFd>tZ1_|>K>TtBK2#Ju$9s4TiGr9H@ZrR|l zWfFu8aFGbpVBX>TpjB?SPiADJ>V2n+9aXS84U4>oSi+QljHjQ?|^dlJD)NqJZi6n&1aZ+51 zhj^!!Cg$?_TLT*@9$JoWY7={KWLMOtLzmbL8YG{to=Mw3CY6}~0MI0|f`0bKEAWc^ zBEJZ)!YlBK{35>yufi+vidJAV@?t0i83!F1z(2}x>ciXxC;I1f{vq^C!0jFV$>c^{ zD@;_#7Yo^HKdO{9{od%`wvOPVRmwXuBphMaqIwZI-|tG3iU@#pyP8S4S3*1@O)+%+ zwKPwVCHf#kpacb5_<~`m!ibaE@g#*MlU$Gr+{RqdG6h%SVZksykCc|{vbWL9f8#av zf5tw85OSo*-A>G#24K434rxj|oMjuDay+W?;19b7fPP{xnmvLOk+2vU`aJ&tz~9$9 zr|}P>?nHSfowCkR!vMucMFXO!7!)Gq^J10ZlTPJ#jHx26q6(k;&h8WrdNzeg(0$8K z#1`UyW!&;ADqQo_N4mDglIBZ?kHuVB7@9>X%ZgZoF+o=FgtxYPnI1UFICe9#v%4_$ zD^T7~cNEcO#BVH&_blGqzDrx}@lSATW;`;lIM;BV`%z<=Lgfd2r#zX|^UeSQ=E`ur#T z_4p6_>+qlV*Wf?zufTubSv`LKwBxw+Ammr}Kl-ctAN^JRkN&Fu$NvCTe`Egus*oL2 zCcQ||kk;v0SqSjYx6yPv z>YWX1kGW)@)y2&llqxjNyCC+Risw`KmBJ=;R|u7RE{W9_28k<})0NC;bY9VwaEZbd z7)(mJuu8qE_V+-8!r>EyD$_eT7qn#(0tRGu^XhN3pj!?Fn`Kf0M6>TG&EJPQs15)) zuShnT36ppcoz-tjY!^3mQWj zVQGuccuWFyPHT>`oXr4nlBnwGpSPayF8Tx-3rIba8xI~B`=Z?60H(38i?9>fO^x0) zOmMgx^RlTWq5@{)RV3_*f&}AqJr4S+MBOL|1iMbj;-qh)aCidaDX)S_*zBI>+o|0O ztTV2$3A6cGx~IQkTNDy5B_au zvNsta(Fxi^T>k)^tQc`36Fck?bN)EhQzWnxzfEi85ZwX~C7QQH!elt9@s1uH@svFh z6rH0z(Qpp=!k+-|C{JxWsqCK0a?(cQR3gD0^jhj%M$33bwI2P(n9}!%Uf{g~1$PocDlUQVSR&B1y)I-daDa3r2C~GHl z+F%e-V8UZ9_f=Oo9n&1*2)ze7@5DbudACO}YKeY4T5N-zX3^O;ql=>8u7CZ+=ek?2 z70%`Qqg~ZEI`3So>hETW?|Cpjs9#aOs34|X9}aw~uC_Eyd(Y6I=g9FC;_~AfLNBTs zGG#ID6C|K&{9B_{(nNg`dz~8FggKgvrWY~Sx)m(7$o;atkOzg z0!b)a-$VoMFn)>SON(bzzz9APK5EfD+KkT0`!tr4sjwS^WrYe=0iIz~zMsl`xCY`i zQw$*E{VIEmbUB2Xm0{XfFK^{?boFaHu2zw96o{V`%54{eH~mqkpaATRDg4M&aEWxT zSBunufC4m$c`~_1$em|&DLXHe=3gCru4{}N3KdKr z;R@0~MyrOxQ>u};h0JkjEy5LDrpuh;5Y!BSeTKY9@j_u1ku###W4PUBZTqd=sL@*> zCXo*CCO^b~#E<6iN^$=H7NR~%pZZWngJM(0+9+j*8p36_fhAbOs;Nu>1fbT6ZYhMO z-hClAVeBqt$LyO-kUg(xNJ7rH=VD63T|u>zE>&1{l-*0 zh(eRe@o21gCL2FA>Q2yZg*t$kOl?-5N8K7PcmDuYkNAGd#}O7rs8V$7t*KAaCR0Q- ze)$aXJ^DNK4bQX=iR+#N-+={%+ksg_ju7L8g^$|YtneP$-3`wiEG+aMj@)q{wY|9D z@yAAZ46JnxxM5?4R(KC2@W}E{k~(LI_fSJ~z%Jc5LylHfdN79(h23NHCOnP2>@0NS zhWtVuSwpBH!yfUEb9Y1Z4t$Zr9&S2uz;$PaXRItj$6h+I9T{Et4ZYSgz#y=(ryk2I z1EhTTVPPIQ@&{jjBW}D7g0tj~zTWE_{^$*TfOQTyPF7ZUo&^omYIqMMdAa=oo`d^ao;d5m$F*mG@-g}YJy_yB#6NxLY*YmS zR`vUCR!>C_Nmsh$)34c9_4|wZe@R@kGMd;`y?)|lQp_*zKjOc*{{V`6?=$Xy|HJ@5 z5dZ=K0|EmD1P2BM1Oos7009C600a>dArmn{1r#76Q4k|CVK6g5P*QP`Btl?tfx#6t zVxh4mLvrCn(eVG;00;pC0RcY&{tJ<`u4x^$0DAq&KT7;KuAT$-`By7S3o!7XxG)Ft zba2Zrz=YAXxC$7?aCuYP&X~#_#%Vh`@z5}fV@4SSnhN>7D~9E?fxUMto);5`cZ1NsUn*{{XEBq$dG-(xWqA4e6280!GJ|)7WD}jv+#M zVxBqpv9es}a5VZ=%#xLSU2-1=kMB@pgg~)BvyqLcHyM?uP8sR7Pr~52 zNp{oqf8MNqzn&@etWsr@^Tk>Bz>G3m(;9aDY7AmgCJSeo+OmS>G6LZ3w>rIK;2p^M z;L(+kCl)a;qjJDCZ41io!$@63CPLZXX8Vo%TE)ltUovtdU*M02AX382-Dh7DfCyc{VR zAbL^V;}IQL7;ouTvRQG6c-vl1`P!pvcbJG2pvL(%a|Tc%{9|+dYT5~!d?3jOdX~!J z6nnf4Sv%7vQ{G$*f5ljv;LKq_P?NoBx;I*`5H8hq46AGAVex1BeK=$5THND)M>WTn zOD?^SI$5Pw)EMTPM||pRn}RT9Y<_jE zutu(Y>1Ul6O31)|bkj=Q+?p~u=Ev+9HN9`_(%8;Dm^jW2VAl1D!K@yFw+94P4snXX z-)>cd>EP1dm8A2E&qNoo;?b!Xq=$2yiFb915?v>sILw6$xApzO})&Rb+Uu zzmJ)uOGRbjki$>NC!X`zj;-lL~QdFa-c96*7(|? zg4;+v+f!qqtHnf^gk2-k!`Z?e!%d`}v5eEf3f->`W3ST{G-|rjCntV&7;y}{8s9WH zngZ>eK3bSCn28Sg+|*FTp<9WZFW@vHki_b*k+1Tj5A8=wojA^FQx^~GJo)%)Fsz&Y z9(4@&OU6jwaNBKCGjWF)62&~&ttd3CYWuLxX?&rxlYn-{!l9nd2z=2oX4$Gy610yH z(zw`ubsXyoyA%!O8&oq&*3!TFvyYWQ=D3eQ#zDnii=JIaQfi9F+inTD!S*;TZz9PDb4-Rm!vXb@+ZQU)rO*W#IV-r7hu=oeG5+ zt!S>AA0Rh6xteEf0|O&=&TuLv(;n^sBb{E1%3G(ehTiPJA4-govGlI}Gbj({$0OFe z)9}LMkbi>9O_={*$w!iNotaeJbWCS4rS?!2*m>a84~3 z82IzOM7De)TFr?cp7g0~%tN7w7TEKtE$#cl>3x2q6)l`1+gO4B09uV9;eU|Tu->iV zi{AUC*|x~dNen{eeaItDbd9rDQN_VHv(dN3UDm)ZhM&%URc~!*s>W7qjacgZj z_k2_%uGMiZywH-C!ZHn5K$ANLkS+yJX>Ab3<^5}gZ^8PQstBM&QzGlt`?Qw!4>JI) zxL#c9duUFDSk-qM(T>Lqtrl_n+^RbW84-G z!ff?|oVn@VqJj<@6Kn~`>rq?VcZocM&_*k?Vz!K`#~D`YGoNG@u(iH>n(hbh^Qe1| z8IkQybL+~r_H#}aJ61h0o^>)_@6UL^cPI$3<%F(8UD z;4^6-`BXQTCfV4q1bjPsRC7F!`$Fmj^5sTrelM2a1oC{;@ezMt;mz^TOK4?`N%BN$$x@rHB?h z#&c3i(cBp|i3pG4$2y++d#H+(UAl^}P|}f{ZM8|~bCZGV>0B?_bKYae;?w^Cx{Fe% z9}vm&fAvw#bgsllxg7pgaVyB6X>MbD(P=<9P08h+mBhCZ450@DRa?l*C`6bjDlkar zS5GW$7~`uS!-_KHG_vWF8P!k`!%?p%9eP!}o-Bikk&(}8y0|H!rF5M$>56;%MnVOW z4E3my3PwwG{28l$95Tr(b1i@2DN&+uzoO z;MB#Gowgp7x8O*=@5lx;()NO^nGlR;l}UdSl=lH~=}+1)I%qcI0C{)iNqC}0W{)8B zsJlcXA94sMH7)E-oe=3HW8%$s)ZuC2dG_;DxppM=s4r3|!Wcszop<%)2jGlj1!?c# zBMEF1Cwx>lMj08@d5~izD|yIK_AO;^d5{;rUdz z;{jn!3)B;w*Z6`6{IL-xK0MLw9dRUXnFAU5*Z6=AN{xi=9M+ zUFI=u!x8zDAFK0yPx+E;*a-(V%7L{PpU$SY_Xb4@+Tnk6JKBRHv&MunN9O<(g} z;^htw+YN>)8@XB8!r=Zol4;s_)2Ma?amj zf_@V0*d&kArMrzZGD)oGIHTHpOeuvGM=zBn_Y>W`ff0Y+qrJ8%hISfyde<5Wq%7wd z8`Pt-G^QtQzEp1Ea>)MxSBxz!^adYEIR8hbrhjpFgq> zVek*&ezogDg>>+B@Ou9MEINI^)9Cv6dj9|{I{g=44_fQ(KHi^3J)J0hFHfQL`?&J) zbovgS&c4pR(e3L)?L9w$N3?rKjC%)+eds&~?k`{AvGxw00Ym78b?}NF&b}VMc6Ii3 zuCzQ|et>;1r;D$%uZyRIcslrx-d#VOUY-NuJg9qm(4p<=GYj^Jx8#A zEV|I4?LN`s6ew3p^!qsb_8{ky00?rwFxZ&3U{aZAp$ z4LPDJ4~On4{wfYJie}A0@cqQ`Ydq__{{X7Hzxt^YNXOj&0RO}QDiHwy0s;a80s#UC z0RaF2000315g{=_Q4nEqfgnJUFi>EjvBA-B;s4qI2mt~C0Y4D_i_J9vnrCvgY+lt<=A`1UiU7 zvVwdtgrP16p+L4L`xDv=scqKu1 zMWe-kd9FG@^u$jmTusIdw8IuZzyAPblqVwf>It@SjMu1@dO>lGik&)%z3EIYGM&K~ zr<--u8tS`xj+EOSkrxQ46;|}YO@=n;C1Gs8B3yK#bz`-Vw2JA4P=$;NjJE7m$Ad+- zDb57sxy&j2Q2>Rl$}TNt_nAcuQB}o+L!7|MY7Wt&{G%#7V40u(1H`n~_i5r(G$};s zgf)$B8fPkBRLw_O6)j3_x+SLdU|bdVe3sG;Kw&o=X-MmE5~8}$ z5I$zCV)GrbOD-j%svVV}kSfC(nCfSo2)6F-4BCYvKIJH(PAWXA+bOukwgW_!=CALK zQOk7;bF^DAdG!Zd3cmfz4wy-U@n4T$h5k967vmDo&)}T_cNK{0PnXH~-;bZfs354? z%M`Mz_8Ma?MhL3as4gm(rhAT~W(9k;HCm1%Ve@{@Chjad<%3}KTQQ(_r_l$0$(TA- zD{4@nV8&r%F}V0!n_?G6YCJ1;c{kM;3|drm25Q3n;2;qJfk}5#u6b+e2O_o7t+F+J z!x*hY?5eL4?9JQirJYljNZwV2coEB-#ZeWGH*qLGXp0Taei`5zx zJmR;dj_qUFXHvT_Np#cHV{!$#BP&-k&i%k_RMT#uikKKLFWg{UcIVY-8dN}{0Iny5 z;?M!vK@h%~enXfXz%icOKtKw!a`LOL<*fE|ghU(yqQk9^wJC(AQ1t!*uwtU!Je3+y zLXq~0#9J6{L(pA8v#K`sOpCR~u*Pa=mE6SueG^y$H9;+BN@(`aRsk&>8q}~B1d(Rd zQXZ}zT{d?grsx9P)I9a6Qqo?oXzZ)4PrTEZ8sn)%D^xdeD~vT5lWIy%b$GQ=2MK1zT`{!Y za?f%fp+eP)5{g#`RIE4Ds_yEgQsrIu^%TzKV}I%;H+DA~LUV|i`u$YH50W!|Eh9L( zM&j3i6D7)}8LzlrmW+|nR9+!Ob9=qr5fhPE^$HC%edAHC-E=_UHU+^&&>x|6YVr@3 zX!Z}0%nF2s4&ysYj40Ao=$NJVevIdW@@JWZYir)&NtN5~>MrrBgt--Kn1!;^TTJOd zbM6q-F_$@_71V9qx4W^#U2pPtcqCOt>Nb{1dcsWE(G}XCp4E;e`2` zF)Cg@{3q;5a`Mggcp;zsmym}2c)F;Y3AA?8>Khg?{fekoVXu25R^q%H`$^Bx!mV-K z(kp+7vUBksAX-i_G7q6)$;{GumsXWgDHCF&;2Zo5E9!IW#b|=rb`MRFEf2Wy4t>Ff zs&xh!KGr+>36T_Gi<~4UB)NGY)WE6lm|@PQ%8p;LjhD7_n74mE2EPtp12%cQUyxX4 zJ}Ok`@n411Z^d&jpW0NVPOv0QQWM`hEiQrsaS)rWUWpZ;iwx!PtS_XtxC!2 zrFa_rNO5t>g9PGN`UvHWt&!csA#}@;F8GYP`0fn7M^zlwDNxbyLoR;j40)V=2vvDB zVS+AUSYZAU{DliHW?a!_R5|{`D^s!>{g0{3rW-mNlu_*o)Z{0>MC5R4R^U~;6o7ui z!uEA4pQvUzC;Ykp00{B(IS!$c8*Uj@Ph>g#On%CPL@|kqJ;ABQAmI4%tDO3SgR7UL zq+`V7W<=6XTc7se&>aa6^hAzx7F|wHhGF|uHR8x)|dz~i{%)HK_f^#9>)xss>boNTj?F`)FaR>Hell2`=6Y$<;;=SCvoZpm}ckP$` zQhr>1p#J~~%nMj@iBpL94aW-&8QM55I43dN`eSHvO_|@b5tnT49DIK8+a1FKaLy+r zyuYij!{6&iFF?f0^HQ_xQ?K#jp`+rdNs;=>%j~Ie+t-6{vn08oMqK#*feU;)JU_^; z5dQ$e&T72Fpq_#dq1Wp|#53>}_?oM0n)xN)LqEm((s%V=hxc-?n*Ip&&#C?|HEuc{o`8xMPHBq!~iJ~0RRF50s;X81pxs80RR910RRypF+oufVR0ZpfiO^DvB7YW zq0#@^00;pC0RcY{{uhpJ9h(^|5b>rzezDeRvpDdr{u#DACojLu8ztguaSmW^UPcZ4 zAFvvS^5zkfb;Li`uFLTh80LB(_q)@?m3hO7=ukSYBiWY|#@8a?YiAxdZaR z7_~n#-$Es$R)sC2xP$o$65!p!A13ET7lVmtrh<5(*a-CMV$X$C5M{LdoI#9oX48ef z8vT3L;1y&+yY1gOb@8? ze8-^*z%N?O8T+HU>4w-;{HRKuG(#NjJ((Ix{(+tvA~G6QV091{qgE*a=$s_B&SF%BXE#+;I#ptu?EWx8S%569JswWkvaPvxng zlKQA(8N$oCa;6H3Fi<7}iy;L7vsG0FBXHCR*vyjUpyZ1n&RtT-cF+!JEG`P&9XDgC z%bAEx2Y7~Qg_one%cyV?wpSGsPZxju1R!*vD}j`x6$847HYf{xuIUrpJ4}3e8%ZeKUrow|>;h{7tHoRPE4ons+5#+%lUo9zY zL9;qyRSiMS$3lcfTY%n~?iL_W5_^QOl)VKES)XuVRE^OdroEs^C4`VGG3Re@)p8 zF5znlwrC}8Rf>St8}Wu@q18d)wkiUDi}UQ=62_p-Q1FlN@ZA>Ls^)!NKm=!Lf07MVx4Zm9w4 zYyrTzNHH>ogn&xtmbhc3M%wvw{TRq0qI}vc*6ENP0}9u|ce>QR-B+0xK^NS-i3FNz zU2HL_%rJW?4c-moFx_26q~S{6nLtaB|PKA=m~;Q-FY9LK{ad zpQT7tyWbMpx=tA0rAZtbV_DpS2GwQSshzdf1 zyKm@vvW3q9DP0;4nw97zx`i(jZC_)yTPP7^=S>C1*=ep)`add_^BUcZgBCR{F;rfd{l+X_@4p9w6bjr zjczY2z}k_)R=ZKQI1EJE4hUMHP}_FEv227BR4LnU40?bAe!{M%e7CTc@j+jFw!}=4J1|MXse3cG74kNXWKjgKG zoD%Ln;ObpNX~z)XJz^SIWBXv?hEVY~iSLb&%1%(s zybR>RI8)-Hqx4=XaLUB^m`dNd$mfZMSQ#HxD-{j?MtAb3j$eR>f;%2(BR~5(K%td} zcK1-iv-*xqO1p*+#IL|72|A8d_^8wLX!F;D>DQ5(`h9sD@znJ=e@}uck5R)pnpojx zl;U1u<`L60$5Z{(b>K%>^Db!}$7H>r%1gugb%V(_b89Mf1L&-ibnu>foOyFEm_rjp zU4EX+nrp{1hsMTUK8xR;qvMmv`1R*-evW>ZQs#-a9D8v#CUZ3SR3?Nx8)p&c(dEn; zxagUv>Q+y1hCeeiJrHLR)ao1h+@3mm)Hs-7k362Bapu004Z|KdoOmEZ&3$#R17P`9 zeta93h^SwO?<-S?6hm{7iJ!v5`a)=mHt|H|KY%)yF9SH7!Wqos8H?aT00}=;Vf&=qGUBft&V>Ir;G5l^ml0AlxCj$B+L2YIO0X^0*jo zEmw?-moFC_9xp$rLs(-Gol4vxh)Tm8zF#2JHuyP$iQL&4)b0GAVb}8>Vaz8NI*uaM zeLYK}din?Jyt9UN^wrS_vw|Ky_2ZUtQ(-%rtBI81;OOzA9{nB_q;&@j;tXbxZYw62 z%)CcY!hIL798Mvr&H3f?UTesrRw_O#FN(x90~O%v8@Lh4;=f3Tj;9fPb5MTch8#yk zbV|t!aqO2LsG`hJQLG;^x=W9wOlO69ex!A%ax{ zp9U+|nOLZEI+cUeA^Zb^Y@N;se#KGne InitialHandler has pinged ``` -:::info +:::note 可以通过调整设置 `log_pings` (BungeeCord) 或 `show-ping-requests` (Velocity) 来启用或禁用反向代理在控制台输出 Ping 日志。 @@ -187,7 +184,7 @@ connection_throttle_limit: 3 -:::warning +:::caution 该列表目前仅列出了免费的反假人插件,实际情况可能需要使用者自行决定。 diff --git a/src/content/docs/general/java/choose-and-download-and-install-java.md b/src/content/docs/general/java/choose-and-download-and-install-java.md index 8fae1d186..96e1fb620 100644 --- a/src/content/docs/general/java/choose-and-download-and-install-java.md +++ b/src/content/docs/general/java/choose-and-download-and-install-java.md @@ -4,7 +4,7 @@ title: 选择、下载和安装 Java ## 选择版本 -:::warning +:::caution 部分服务端有在项目的 README 中标注最低版本和推荐版本,例如 [Beast](https://github.com/HomoMC/Beast),最低版本为 Java 8,推荐版本为 Java 21 mod 服务端 @@ -50,9 +50,9 @@ title: 选择、下载和安装 Java ## 直接下载 -:::warning +:::caution -此处下载链接可能不是最新版,如需下载最新版请跳转至 [手动下载](#%E6%89%8B%E5%8A%A8%E4%B8%8B%E8%BD%BD) +此处下载链接可能不是最新版,如需下载最新版请跳转至 [手动下载](#手动下载) ::: @@ -108,7 +108,7 @@ https://www.java.com/zh-CN/download/ -如果你想进行 JVM 优化,请看 [JVM 优化](/java/optimize/jvm) +如果你想进行 JVM 优化,请看 [JVM 优化](/java/advance/maintenance/optimize/jvm/intro/) ## 验证 Java 安装 diff --git a/src/content/docs/general/java/environment.mdx b/src/content/docs/general/java/environment.mdx index 78e699ee7..953ec4a92 100644 --- a/src/content/docs/general/java/environment.mdx +++ b/src/content/docs/general/java/environment.mdx @@ -75,7 +75,7 @@ TODO 接着 **重新打开** 一个终端。 -:::warning +:::caution 注意,这里一定要重新打开一个终端来刷新环境变量。 @@ -99,7 +99,7 @@ TODO 接着 **重新打开** 一个终端。 -:::warning +:::caution 注意,这里一定要重新打开一个终端来刷新环境变量。 diff --git a/src/content/docs/general/java/sdkman.md b/src/content/docs/general/java/sdkman.md index 95f01fa7b..60d8fb626 100644 --- a/src/content/docs/general/java/sdkman.md +++ b/src/content/docs/general/java/sdkman.md @@ -44,9 +44,9 @@ SDKMAN! 原生不支持 Windows,但可以通过以下方式使用: 1. **WSL (推荐)**: 在 Windows Subsystem for Linux 中安装 2. **Git Bash**: 在 Git Bash 中安装 (可能不稳定) -:::warning +:::caution -Windows 用户推荐使用 WSL 或直接使用 [AJI 工具](./choose-and-download-and-install-java.md#使用-aji-静默安装-java) 进行 +Windows 用户推荐使用 WSL 或直接使用 [AJI 工具](/general/java/choose-and-download-and-install-java#使用-aji-静默安装-java) 进行 Java 管理。 ::: @@ -69,7 +69,7 @@ sdk list java 会显示所有可用的 Java 版本和发行版: -```text +```txt ================================================================================ Available Java Versions for Linux 64bit ================================================================================ @@ -207,7 +207,7 @@ java -Xmx4G -Xms4G -jar server.jar nogui ## 注意事项 -:::warning +:::caution 1. 使用 `sdk use` 命令只在当前终端会话中生效 2. 如果需要在启动脚本中使用,必须先初始化 SDKMAN! 环境 diff --git a/src/content/docs/general/more/ask-for-help.md b/src/content/docs/general/more/ask-for-help.md index 9e79ffb90..f201efcd7 100644 --- a/src/content/docs/general/more/ask-for-help.md +++ b/src/content/docs/general/more/ask-for-help.md @@ -7,7 +7,7 @@ sidebar_position: 7 首先明确,你是求助者不是少爷,第二,大多数人还是愿意互帮互助的。 -:::warning +:::caution 在问问题之前一定确保你已经看完这一章,因为有时候你的傲慢、无休止的问题会激怒同行们,导致他们入侵你的服务器,查你户口,给你服务器召唤 200 个假人,或者全服主交流群通报等。 @@ -47,7 +47,7 @@ sidebar_position: 7 - 错误的将 **客户端** 收到的报错当做 **服务端** 报错。 - **直接将成百上千行的 log 发到交流群** -:::warning +:::caution ![](_assets/不要截图这个啊.png) @@ -216,7 +216,7 @@ Wiki 就是让你解决常见问题的,不看这玩意儿就在那瞎问只会 -:::warning +:::caution 不遵守以上规则,可能会导致你被写入 **乐子文档** diff --git a/src/content/docs/general/preparation/text-editor/hbuilderx.md b/src/content/docs/general/preparation/text-editor/hbuilderx.md index 1e5f82d8e..328fdfa67 100644 --- a/src/content/docs/general/preparation/text-editor/hbuilderx.md +++ b/src/content/docs/general/preparation/text-editor/hbuilderx.md @@ -8,7 +8,7 @@ title: HbuilderX 一个国产的文本编辑器。 -:::warning +:::caution 该软件存在一些问题,例如编译需要登录、命令行中夹带广告等([来源](https://www.zhihu.com/question/47889106/answer/3189683653))。 diff --git a/src/content/docs/general/preparation/text-editor/notepad++.md b/src/content/docs/general/preparation/text-editor/notepad++.md index 2f16c8419..4f0b6a341 100644 --- a/src/content/docs/general/preparation/text-editor/notepad++.md +++ b/src/content/docs/general/preparation/text-editor/notepad++.md @@ -6,7 +6,7 @@ title: Notepad++ 可用,相关功能也较为完善。 -:::warning +:::caution 作者政治立场可能引起众怒,但请理性看待: diff --git a/src/content/docs/general/process/create-art-assets.md b/src/content/docs/general/process/create-art-assets.md index 4ba897ef9..1107aaad5 100644 --- a/src/content/docs/general/process/create-art-assets.md +++ b/src/content/docs/general/process/create-art-assets.md @@ -4,7 +4,7 @@ title: 创作美术资源 > 大多数市面上的美术风格层次不齐,如果你想让自己服务器元素与原版更贴合,请耐心的看完本页 -:::info +:::note 翻译自 Blockbench Wiki 上的 Minecraft 风格指南 diff --git a/src/content/docs/general/process/database/configure.md b/src/content/docs/general/process/database/configure.md index 1c115346f..5683ec9c0 100644 --- a/src/content/docs/general/process/database/configure.md +++ b/src/content/docs/general/process/database/configure.md @@ -228,7 +228,7 @@ innodb_lock_wait_timeout = 120 -:::warning +:::caution 绝对不要直接把示例配置文件直接复制粘贴进你的配置文件当中 @@ -240,7 +240,7 @@ innodb_lock_wait_timeout = 120 此外,还有一些十分重要的配置项,建议修改,没有的配置项可以自行在配置文件中添加 -:::info +:::note diff --git a/src/content/docs/general/process/database/install.md b/src/content/docs/general/process/database/install.md index 8af1269c1..4d5c011cb 100644 --- a/src/content/docs/general/process/database/install.md +++ b/src/content/docs/general/process/database/install.md @@ -93,7 +93,7 @@ ALTER user 'root'@'localhost' IDENTIFIED BY 'NewPassword'; #### 创建表 -:::warning +:::caution 以下的操作为 SQL 语句,在结尾处的 `;` 不能省略否则会报错。 @@ -163,7 +163,7 @@ apt install redis -y ### 小皮数据库 -:::info +:::note 小皮数据库仅支持 Windows 系统 @@ -226,7 +226,7 @@ MySQL5 版本太低了,很多插件需要更高版本的,装 MySQL8 就够 ### 宝塔面板 -:::info +:::note 宝塔面板支持 Windows 和 Linux 系统 @@ -276,7 +276,7 @@ MySQL5 版本太低了,很多插件需要更高版本的,装 MySQL8 就够 ### 1Panel 面板 -:::warning +:::caution 1Panel 面板目前仅支持 Linux 系统,不支持 Windows 系统 diff --git a/src/content/docs/general/process/database/intro.md b/src/content/docs/general/process/database/intro.md index 315a18193..8f2fa1ed1 100644 --- a/src/content/docs/general/process/database/intro.md +++ b/src/content/docs/general/process/database/intro.md @@ -10,7 +10,7 @@ sidebar: ::: -:::info +:::note 数据库好处都有啥?谁说对了就给他! @@ -30,7 +30,7 @@ sidebar: MariaDB 是著名的 MySQL 分叉,只是服务器腐竹的话,你只需要知道这两个东西差不多就好了 -:::info +:::note 当 MariaDB Server 的前身 MySQL 于 2009 年被 Oracle 收购时,MySQL 创始人 Michael“Monty”Widenius 出于对 Oracle 管理权的担忧而分叉了该项目,并将新项目命名为 MariaDB。 diff --git a/src/content/docs/general/process/database/use.md b/src/content/docs/general/process/database/use.md index 59d9c87a5..562207879 100644 --- a/src/content/docs/general/process/database/use.md +++ b/src/content/docs/general/process/database/use.md @@ -18,7 +18,7 @@ sidebar: ### Navicat -:::info +:::note 官网 https://navicat.com.cn/products @@ -106,7 +106,7 @@ sidebar: ### HeidiSQL -:::info +:::note 官网 https://www.heidisql.com/ @@ -162,7 +162,7 @@ TODO PS: 这年头谁还用指令管理数据库啊 -:::info +:::note 语句示例: diff --git a/src/content/docs/general/process/deploy/apply-for-public-ip-address.md b/src/content/docs/general/process/deploy/apply-for-public-ip-address.md index 5d24c54e0..6d8198ec3 100644 --- a/src/content/docs/general/process/deploy/apply-for-public-ip-address.md +++ b/src/content/docs/general/process/deploy/apply-for-public-ip-address.md @@ -123,7 +123,7 @@ NAT 的网关就给局域网中的所有电脑都分配局域网 IP,然后让 不同品牌路由器的重置方法不一样,这里不做展开,可以翻出路由器的说明书,或者上网搜索“「路由器品牌」怎么重置”(有些路由器重置非常麻烦,我之前就遇到过一个路由器,我折腾了十分钟才给重置好)。重置完成后,再根据当初安装这个路由器时的设置方法进行设置。 -:::info +:::note 部分地区的部分运营商可能不允许用户自行登录光猫。如果你遇到了类似的情况,建议直接跳转到 [主动向运营商申请公网 IPv4](#主动向运营商申请公网-ipv4) diff --git a/src/content/docs/general/process/deploy/connect-to-the-cloud.md b/src/content/docs/general/process/deploy/connect-to-the-cloud.md index 17dc032b5..fe1808928 100644 --- a/src/content/docs/general/process/deploy/connect-to-the-cloud.md +++ b/src/content/docs/general/process/deploy/connect-to-the-cloud.md @@ -47,7 +47,7 @@ sidebar: -[Linux SSH](../../advance/linux/connect-to-server.md) +[Linux SSH](/general/advance/linux/connect-to-server) #### 放行端口 @@ -57,7 +57,7 @@ sidebar: :::danger -配置直接在公网使用 3389 端口连接服务器远程桌面 **会导致严重的安全性问题**,详见 [如何抵御网络攻击](../maintenance/how-to-defend-against-cyber-attacks.md)。 +配置直接在公网使用 3389 端口连接服务器远程桌面 **会导致严重的安全性问题**,详见 [如何抵御网络攻击](/general/advance/maintenance/how-to-defend-against-cyber-attacks)。 ::: @@ -85,13 +85,13 @@ sidebar:

    我没有/不知道啥是公网 IP -[申请公网 ip](apply-for-public-ip-address.md) +[申请公网 ip](/general/process/deploy/apply-for-public-ip-address) 如果申请不到,那么为了在没有公网 IP 的情况下连接到你的内外机器,你需要 **内网穿透 (frp)** -[内网穿透](intranet-penetration.md) +[内网穿透](/general/process/deploy/intranet-penetration) -[搭建内网穿透 (frp)](../../advance/frp.md) +[搭建内网穿透 (frp)](/general/process/deploy/frp)
    diff --git a/general/advance/frp.md b/src/content/docs/general/process/deploy/frp.mdx similarity index 91% rename from general/advance/frp.md rename to src/content/docs/general/process/deploy/frp.mdx index aca9956a3..cb524994e 100644 --- a/general/advance/frp.md +++ b/src/content/docs/general/process/deploy/frp.mdx @@ -1,11 +1,8 @@ --- title: 搭建内网穿透 (frp) -sidebar_position: 6 --- - - -# 搭建内网穿透 (frp) +{/* TODO: @format */} ## 使用现成的内网穿透提供商 @@ -31,8 +28,7 @@ sidebar_position: 6 如果你的朋友愿意把他的服务器作为节点提供给你,你还需要注意配置方法包括了需要在他的服务器上进行的操作,你可能需要他交给你服务器的控制权,或者请求他的帮助。 -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; +import { TabItem, Tabs } from "@astrojs/starlight/components"; ### 安装 frp @@ -40,28 +36,28 @@ import TabItem from '@theme/TabItem'; 服务端推荐使用 Linux 系统。这里假定你有一台符合条件的 Linux 服务器,并且你已经可以连上你服务器的 **SSH**。 - +{/* markdownlint-disable ol-prefix */} 1. 首先确保服务器所有软件包是最新的: 不同的 Linux 发行版更新方法大同小异 - + ```bash apt-get update && apt-get upgrade -y ``` - + ```bash yum -y update ``` - + ```bash pacman -Syu @@ -70,10 +66,10 @@ pacman -Syu -2. 将 `frp` 软件安装到系统中: +1. 将 `frp` 软件安装到系统中: - + 手动下载 frp 软件包: ```bash @@ -97,7 +93,7 @@ cp frps.toml /etc/frp/ ``` - + 在 Arch Linux 下可以直接用 aur 助手通过包管理器安装 frp: @@ -110,14 +106,14 @@ paru -Sy frps # 服务器端 - +{/* markdownlint-enable ol-prefix */} #### 客户端(本地服务器) 客户端可以是 Linux 或 Windows 系统。 - + ##### 手动安装 @@ -153,7 +149,7 @@ paru -Sy frpc # 客户端 ``` - + ##### 下载 frp @@ -193,7 +189,7 @@ auth.token = "example" # 身份验证令牌,frpc 要与 frps 一致 #### 配置客户端(本地服务器) - + 编辑客户端配置文件: @@ -230,7 +226,7 @@ remotePort = 19132 ``` - + 在 frp 解压目录下,编辑 `frpc.toml` 文件(使用记事本或其他文本编辑器): @@ -274,26 +270,26 @@ remotePort = 19132 2. systemd 省心,有点复杂 - + 确保你的系统上有 `screen` 包,没有的话安装它们: - + ```bash apt-get install screen ``` - + ```bash yum install screen ``` - + ```bash pacman -Sy screen @@ -310,11 +306,11 @@ screen -dR frps frps ``` - + 在 Linux 系统下,使用 systemd 可以方便地控制 frps 服务端的启动、停止、配置后台运行以及开机自启动。 - +{/* markdownlint-disable ol-prefix */} 1. 创建 systemd 单元文件: @@ -356,7 +352,7 @@ sudo systemctl status frps sudo systemctl enable frps ``` - +{/* markdownlint-enable ol-prefix */} @@ -364,28 +360,28 @@ sudo systemctl enable frps #### 启动客户端(本地服务器) - + ##### 使用 screen 确保你的系统上有 `screen` 包: - + ```bash apt-get install screen ``` - + ```bash yum install screen ``` - + ```bash pacman -Sy screen @@ -403,7 +399,7 @@ screen -dR frpc frpc ##### 使用 systemd - +{/* markdownlint-disable ol-prefix */} 1. 创建 systemd 单元文件: @@ -445,10 +441,10 @@ sudo systemctl status frpc sudo systemctl enable frpc ``` - +{/* markdownlint-enable ol-prefix */} - + ##### 方法一:命令行直接运行 diff --git a/src/content/docs/general/process/deploy/intranet-penetration.md b/src/content/docs/general/process/deploy/intranet-penetration.md index df8567711..9c522e5c3 100644 --- a/src/content/docs/general/process/deploy/intranet-penetration.md +++ b/src/content/docs/general/process/deploy/intranet-penetration.md @@ -14,7 +14,7 @@ sidebar: Cloudflare 有内网穿透 Tunnel (无需注册!),Minekube 也有内网穿透 Connect (同样无需注册),还有 Geyser 官方推荐的 playit.gg -自建 frp 参见 [此页面](../../advance/frp.md#配置-proxy-protocol) +自建 frp 参见 [此页面](/general/process/deploy/frp#配置 PROXY protocol) ## Cloudflare Tunnel @@ -53,7 +53,7 @@ cloudflared tunnel --url tcp://localhost:服务器端口 -```text +```txt INF Thank you for trying Cloudflare Tunnel. Doing so, without a Cloudflare account, is a quick way to experiment and try it out. However, be aware that these account-less Tunnels have no uptime guarantee. If you intend to use Tunnels in production you should use a pre-created named tunnel by following: https://developers.cloudflare.com/cloudflare-one/connections/connect-apps INF Requesting new quick Tunnel on trycloudflare.com... INF +--------------------------------------------------------------------------------------------+ @@ -158,13 +158,13 @@ Premium 版本一个月 3 刀 (约合人民币 27 元),一年 30 刀 正是因为 frp 在转发玩家请求时重写了请求头部,导致了以上情况的发生。frp 虽然不能不重写这个请求头部,但是他可以通过一种方式还原请求头部,让服务器正常显示出连接 IP。 PROXY protocol 是由 HAProxy 开发者 Willy 提出的一种反向代理协议,可以参考 [HAProxy 文档](http://www.haproxy.org/download/1.8/doc/proxy-protocol.txt) 获取更多信息。frp 内置的 PROXY protocol 要求被其穿透的服务器也支持 PROXY protocol,否则会造成对应的服务无法使用,所以并不是随便拿一个服务就能用 PROXY protocol。 -frp 启用 PROXY protocol 的方式参考 [自建 frp](../../advance/frp.md#配置-proxy-protocol)。 +frp 启用 PROXY protocol 的方式参考 [自建 frp](/general/process/deploy/frp#配置 PROXY protocol)。 对于 MC 服务器来说,支持 PROXY protocol 的软件有: - BungeeCord 系 - Paper 分支 (1.18.2)(仅支持 v2) -- [Geyser](/java/process/mobile-player/geyser/introduction/faq#frp-搭建内网穿透想显示真实-ip-怎么办) +- [Geyser](/java/process/mobile-player/geyser/faq/#frp-搭建内网穿透想显示真实-ip-怎么办) - Spigot 端插件 [HAProxyDetector](https://github.com/andylizi/haproxy-detector) 等。BDS 服务器目前不支持此协议。 diff --git a/src/content/docs/general/process/deploy/intro.md b/src/content/docs/general/process/deploy/intro.md index 174297e85..1b8ac766f 100644 --- a/src/content/docs/general/process/deploy/intro.md +++ b/src/content/docs/general/process/deploy/intro.md @@ -20,6 +20,6 @@ sidebar: ## 有何建议? -个人建议使用 VPS [可选方式#VPS](optional-methods.md#vps) 了解到相关内容 +个人建议使用 VPS [可选方式#VPS](/general/process/deploy/optional-methods#vps) 了解到相关内容 如果是新手刚起步,那就不要买东西瞎费钱了,自己电脑上做就可,做成之后可以考虑 VPS 了 diff --git a/src/content/docs/general/process/deploy/optional-methods.md b/src/content/docs/general/process/deploy/optional-methods.md index a04f5f522..45449cbaa 100644 --- a/src/content/docs/general/process/deploy/optional-methods.md +++ b/src/content/docs/general/process/deploy/optional-methods.md @@ -4,7 +4,7 @@ sidebar: order: 3 --- -:::warning +:::caution 这里所说的 **人话** 只是用于辅助理解,与实际情况可能存在偏差 @@ -40,7 +40,7 @@ MCSManager: 人话就是云电脑 (**云服务器**) -:::info +:::note 大厂 (指腾讯云,阿里云等) 那些服务器不是不能买,但是贵,而且大厂不是专搞 MC 服务器的 diff --git a/src/content/docs/general/process/deploy/purchase-server.md b/src/content/docs/general/process/deploy/purchase-server.md index 1763ed6cd..56217173c 100644 --- a/src/content/docs/general/process/deploy/purchase-server.md +++ b/src/content/docs/general/process/deploy/purchase-server.md @@ -26,7 +26,7 @@ sidebar: -由于 Minecraft 的 [Tick-loop](../../start/basic/what-is-lag.md) 逻辑是单线程的。更多核心只能用于生成区块、插件任务等非主线程任务,不建议超过 8 核心的服务器继续增加核心提升流畅度。 +由于 Minecraft 的 [Tick-loop](/basics/what-is-lag) 逻辑是单线程的。更多核心只能用于生成区块、插件任务等非主线程任务,不建议超过 8 核心的服务器继续增加核心提升流畅度。 @@ -52,7 +52,7 @@ CPU 总占用不算高时,Minecraft 的服务器性能与 CPU 单核性能几 ### 内存 -:::info +:::note 内存几乎不用考虑 DDR4 / DDR5,高频/低频内存的区别,最重要的是内存大小。 @@ -66,7 +66,7 @@ CPU 总占用不算高时,Minecraft 的服务器性能与 CPU 单核性能几 大厅服分配 1 G - 2 G 内存,普通生存服务器或空岛服务器建议分配 8 G - 12 G,单端人数较多建议使用 12 G - 24 G 内存。 -:::warning +:::caution 并不是人越多需要的内存越多,不建议分配过多内存,否则导致 GC (内存垃圾回收) 时间过长导致卡顿。 @@ -106,7 +106,7 @@ Linux 系统常见的有 Ubuntu、CentOS 和 Debian。我们日常很少接触 L 由于 MC 服务器所有渲染图像的工作都由玩家的设备自行完成,所以服务器不需要任何显卡的性能,你的显卡只需要保证能够进行视频输出即可,也就是“亮机卡”。如果你手里已经有现成的低性能的显卡,你可以直接购买不带核显的 CPU,比如带 F 的英特尔 CPU。 如果没有低性能的 CPU,比如你手里有一张闲置的 2070 ~~(谁会手里有了 2070 还闲置啊)~~,那么除非你有特殊的需求,比如除了开服还用服务器跑 AI,就不建议把这张显卡放到服务器上使用,这种显卡待机情况下功耗更高,导致你家电表转得更快。 -:::warning +:::caution 做高版本生存服务器,买实体机千万不要考虑 E5 这种洋垃圾,否则你会吃大亏,切记!!! diff --git a/src/content/docs/general/process/map/convert.md b/src/content/docs/general/process/map/convert.md index 3c6904bb3..b22a5cc98 100644 --- a/src/content/docs/general/process/map/convert.md +++ b/src/content/docs/general/process/map/convert.md @@ -8,7 +8,7 @@ sidebar: -```text +```txt [Configurations] Loading a newer configuration than is supported (31 > 30)! You may have to backup & delete the world config file to start the server. ``` @@ -42,7 +42,7 @@ java -Xms2G -Xmx2G -jar server.jar --nogui --forceUpgrade ## Chunker -:::info +:::note `官网` https://www.chunker.app @@ -58,7 +58,7 @@ Chunker 是一个多功能的转换工具,支持基岩版和 Java 之间的转 ## Amulet -:::info +:::note `官网` https://www.amuletmc.com @@ -82,7 +82,7 @@ Amulet 可用于高版本地图转低版本,但在地图转换后可能出现 ## MCA Selector -:::info +:::note `GitHub` https://github.com/Querz/mcaselector @@ -104,7 +104,7 @@ Amulet 可用于高版本地图转低版本,但在地图转换后可能出现 ## 将地图转移到基岩版 -:::warning +:::caution 此处属于危险操作,请备份服务端存档,此处教学如有错误请在提出问题 @@ -126,7 +126,7 @@ Amulet 可用于高版本地图转低版本,但在地图转换后可能出现 [WorldEdit-Addon 结构的使用](https://worldedit-be-docs.readthedocs.io/en/stable/usage/structures/) -:::info +:::note 若你有电脑,则不需要上述繁琐的步骤,可以直接使用 [Amulet](https://www.amuletmc.com/) 进行建筑存档存档转换,选区粘贴到服务端存档 @@ -148,7 +148,7 @@ Amulet 可用于高版本地图转低版本,但在地图转换后可能出现 于 NKX 服务端内使用 [FastAsyncWorldEdit-Nukkit](https://cloudburstmc.org/resources/fastasyncworldedit.30/) 导入 `.schematic` 文件粘贴到指定位置 -:::warning +:::caution NukkitX 不支持超过 1.12.2 的方块,建造地图时需注意 diff --git a/src/content/docs/general/process/map/intro.md b/src/content/docs/general/process/map/intro.md index 8c45467dc..6235d1544 100644 --- a/src/content/docs/general/process/map/intro.md +++ b/src/content/docs/general/process/map/intro.md @@ -4,7 +4,7 @@ sidebar: order: 1 --- -:::warning +:::caution 此处教程需要你阅读完`创作美术资源`的教程 @@ -136,7 +136,7 @@ sidebar: 在原版 Minecraft 中,光线的计算有时候不符合常识,因此我们可以使用光源方块来自己设计光源效果 -:::warning +:::caution 基岩版没有光源方块,光线计算由客户端而非服务端处理 @@ -148,7 +148,7 @@ sidebar: ![](_assets/僵尸末日-2.png) -:::warning +:::caution 头颅可能因为客户端网络问题或资源包问题导致无法正常显示 @@ -158,7 +158,7 @@ sidebar: ## 工具选取 -:::info +:::note 工具不过多赘述,请自行点击查看 @@ -202,7 +202,7 @@ sidebar: - [WorldEdit](https://modrinth.com/plugin/worldedit) -:::warning +:::caution 中大型单人项目不推荐在客户端使用 [WorldEdit](https://modrinth.com/plugin/worldedit) 模组在本地建筑 @@ -210,7 +210,7 @@ sidebar: ::: -:::info +:::note 若你是用于非盈利项目,Axiom 是可以在单人协作上免费使用,并且可以在 [Discord 频道](https://discord.gg/axiomtool) 上申请 30 天白名单用于多人协作 @@ -236,13 +236,13 @@ sidebar: - [WorldEdit-PMMP](https://github.com/ryuzaki01/pocketmine-WorldEditor) -:::warning +:::caution 由于基岩版生态的问题,为了保证效率和质量,你应该在 Java 版完成建筑再将其转移到基岩版,而不是使用有限的工具折磨自己 若你无法使用 Minecraft JE,尝试使用 **[Geyser](https://geysermc.org/)** 来进入为自己搭建的 Java 版工程服 -[点击转跳到 `将地图转移到基岩版`](./convert.md#将地图转移到基岩版) +[点击转跳到 `将地图转移到基岩版`](/general/process/map/convert#将地图转移到基岩版) ::: @@ -264,7 +264,7 @@ sidebar: - [WorldMachine](https://www.world-machine.com/) -:::info +:::note 这两款软件均为专业的工作软件,可用于地形、环境建设 @@ -296,7 +296,7 @@ sidebar: 使用浮空植物?请关闭随机刻放置方块更新 -:::info +:::note 以上问题可使用 **[WorldGuard](https://modrinth.com/plugin/worldguard/)** 插件的 `/stoplag` 指令停止物理事件 diff --git a/src/content/docs/general/process/map/purchase.md b/src/content/docs/general/process/map/purchase.md index be33513de..9f288e3e4 100644 --- a/src/content/docs/general/process/map/purchase.md +++ b/src/content/docs/general/process/map/purchase.md @@ -38,7 +38,7 @@ sidebar: ~~你不觉得这里需要广告?~~ -:::warning +:::caution 若您是雕塑定制、内饰、房屋改造等需求则不能按照上述价格计算,价格不低且难以给出准确取值范围,需要直接找建筑师询价 diff --git a/src/content/docs/general/process/map/steal.md b/src/content/docs/general/process/map/steal.md index 10571397a..698f4c7c8 100644 --- a/src/content/docs/general/process/map/steal.md +++ b/src/content/docs/general/process/map/steal.md @@ -4,7 +4,7 @@ sidebar: order: 5 --- -:::warning +:::caution 不要使用这种方法获得地图,这会让你在开服圈子丧失信用 @@ -14,7 +14,7 @@ NitWikit 不会教授偷取地图的方法 ## 防御 -:::warning +:::caution 目前没有 **纯服务端** 的解决方案,无论是 ClientDetectorPlus 还是其他的都无法检测到 WorldTools diff --git a/src/content/docs/general/process/map/web.md b/src/content/docs/general/process/map/web.md index 50f266959..f112b5e40 100644 --- a/src/content/docs/general/process/map/web.md +++ b/src/content/docs/general/process/map/web.md @@ -8,7 +8,7 @@ sidebar: ## BlueMap -:::info +:::note `官网` https://bluemap.bluecolored.de/ @@ -26,7 +26,7 @@ sidebar: ## Dynmap -:::info +:::note `GitHub` https://github.com/webbukkit/dynmap @@ -42,7 +42,7 @@ sidebar: ## squaremap -:::info +:::note `GitHub` https://github.com/jpenilla/squaremap @@ -58,7 +58,7 @@ squaremap 是一款优化了资源的加载和显示的卫星地图 Mod,采用 ## Overviewer -:::info +:::note `GitHub` https://github.com/overviewer/Minecraft-Overviewer diff --git a/src/content/docs/general/process/panel.md b/src/content/docs/general/process/panel.md index a3de0b211..2bb09d556 100644 --- a/src/content/docs/general/process/panel.md +++ b/src/content/docs/general/process/panel.md @@ -2,7 +2,7 @@ title: 搭建面板 --- -:::warning +:::caution 本篇不是让你去购买面板服,而是在已有服务器上搭建! diff --git a/src/content/docs/general/reading-guide.mdx b/src/content/docs/general/reading-guide.mdx index 3a4cbe73f..d34e8b424 100644 --- a/src/content/docs/general/reading-guide.mdx +++ b/src/content/docs/general/reading-guide.mdx @@ -38,6 +38,6 @@ import { LinkCard } from "@astrojs/starlight/components"; ## 跳转 -例如在 **"Java"** 的 [选择、下载和安装 Java](/java/preparation/choose-and-download-and-install-java) 只贴了一行链接跳转到了通用 +例如在 **"Java"** 的 [选择、下载和安装 Java](/general/java/choose-and-download-and-install-java) 只贴了一行链接跳转到了通用 这是因为此部分内容 **“Java”** 与 **“Bedrock”** 相同。阅读完成那节回来即可 diff --git a/src/content/docs/java/advance/login-choices.md b/src/content/docs/java/advance/login-choices.md index 18c5b23e1..238f97757 100644 --- a/src/content/docs/java/advance/login-choices.md +++ b/src/content/docs/java/advance/login-choices.md @@ -38,7 +38,7 @@ title: 登录方式 [Authlib-Injector](https://github.com/yushijinhun/authlib-injector) 是一个允许 Minecraft 使用自定义 Yggdrasil 验证服务器的工具。它可以提供与正版登录几乎相同的游戏体验,但使用的是非官方的身份验证服务器。 -::::info +::::note Authlib-Injector 仅作为工具,它本身不提供认证服务。你需要找到一个合适的、完全实现了 [Yggdrasil 服务端技术规范](https://github.com/yushijinhun/authlib-injector/wiki/Yggdrasil-%E6%9C%8D%E5%8A%A1%E7%AB%AF%E6%8A%80%E6%9C%AF%E8%A7%84%E8%8C%83) @@ -47,7 +47,7 @@ Authlib-Injector 仅作为工具,它本身不提供认证服务。你需要找 - [LittleSkin](https://littleskin.cn/) - [红石皮肤站](https://mcskin.com.cn/) -:::warning +:::caution **不能确保以上列出的所有服务提供商绝对安全可靠,请注意甄别** diff --git a/java/process/maintenance/anticheat/_assets/anticheat/antixray-mode1-1.png b/src/content/docs/java/advance/maintenance/anticheat/_assets/anticheat/antixray-mode1-1.png similarity index 100% rename from java/process/maintenance/anticheat/_assets/anticheat/antixray-mode1-1.png rename to src/content/docs/java/advance/maintenance/anticheat/_assets/anticheat/antixray-mode1-1.png diff --git a/java/process/maintenance/anticheat/_assets/anticheat/antixray-mode2-1.png b/src/content/docs/java/advance/maintenance/anticheat/_assets/anticheat/antixray-mode2-1.png similarity index 100% rename from java/process/maintenance/anticheat/_assets/anticheat/antixray-mode2-1.png rename to src/content/docs/java/advance/maintenance/anticheat/_assets/anticheat/antixray-mode2-1.png diff --git a/java/process/maintenance/anticheat/_assets/anticheat/antixray-mode3-1.png b/src/content/docs/java/advance/maintenance/anticheat/_assets/anticheat/antixray-mode3-1.png similarity index 100% rename from java/process/maintenance/anticheat/_assets/anticheat/antixray-mode3-1.png rename to src/content/docs/java/advance/maintenance/anticheat/_assets/anticheat/antixray-mode3-1.png diff --git a/java/process/maintenance/anticheat/_assets/anticheat/antixray-nerher-mode1.png b/src/content/docs/java/advance/maintenance/anticheat/_assets/anticheat/antixray-nerher-mode1.png similarity index 100% rename from java/process/maintenance/anticheat/_assets/anticheat/antixray-nerher-mode1.png rename to src/content/docs/java/advance/maintenance/anticheat/_assets/anticheat/antixray-nerher-mode1.png diff --git a/java/process/maintenance/anticheat/_assets/anticheat/antixray-nerher-mode3.png b/src/content/docs/java/advance/maintenance/anticheat/_assets/anticheat/antixray-nerher-mode3.png similarity index 100% rename from java/process/maintenance/anticheat/_assets/anticheat/antixray-nerher-mode3.png rename to src/content/docs/java/advance/maintenance/anticheat/_assets/anticheat/antixray-nerher-mode3.png diff --git a/java/process/maintenance/anticheat/_assets/anticheat/antixray-nether-mode2.png b/src/content/docs/java/advance/maintenance/anticheat/_assets/anticheat/antixray-nether-mode2.png similarity index 100% rename from java/process/maintenance/anticheat/_assets/anticheat/antixray-nether-mode2.png rename to src/content/docs/java/advance/maintenance/anticheat/_assets/anticheat/antixray-nether-mode2.png diff --git a/java/process/maintenance/anticheat/_assets/anticheat/talentsaclogo.png b/src/content/docs/java/advance/maintenance/anticheat/_assets/anticheat/talentsaclogo.png similarity index 100% rename from java/process/maintenance/anticheat/_assets/anticheat/talentsaclogo.png rename to src/content/docs/java/advance/maintenance/anticheat/_assets/anticheat/talentsaclogo.png diff --git a/java/process/maintenance/anticheat/_assets/img.png b/src/content/docs/java/advance/maintenance/anticheat/_assets/img.png similarity index 100% rename from java/process/maintenance/anticheat/_assets/img.png rename to src/content/docs/java/advance/maintenance/anticheat/_assets/img.png diff --git a/java/process/maintenance/anticheat/_assets/img_1.png b/src/content/docs/java/advance/maintenance/anticheat/_assets/img_1.png similarity index 100% rename from java/process/maintenance/anticheat/_assets/img_1.png rename to src/content/docs/java/advance/maintenance/anticheat/_assets/img_1.png diff --git a/java/process/maintenance/anticheat/anti-crash.md b/src/content/docs/java/advance/maintenance/anticheat/anti-crash.md similarity index 98% rename from java/process/maintenance/anticheat/anti-crash.md rename to src/content/docs/java/advance/maintenance/anticheat/anti-crash.md index f5920be73..07c97e98a 100644 --- a/java/process/maintenance/anticheat/anti-crash.md +++ b/src/content/docs/java/advance/maintenance/anticheat/anti-crash.md @@ -1,10 +1,7 @@ --- title: 预防崩服 -sidebar_position: 5 --- -# 预防崩服 - 会有部分不怀好意的人去测试服务器的崩溃漏洞。 别担心,长期保持维护的插件一般不会有崩溃的漏洞,但是我们也要有预防的准备。 @@ -114,7 +111,7 @@ Netty 处理超时 (NettyCrashers),虽然不会崩服,但会严重影响玩 Panilla 主要是用于防止服务器上滥用 NBT 和数据包的插件,禁用了一些生存模式下无法获得的东西,修复了一些漏洞,该插件不仅可以预防服务器崩溃,还可预防非法 NBT 导致客户端崩溃 -:::warning +:::caution 有服主反映说 Panilla 会影响潜影盒中的物品 (物品消失),所以在安装到生产服务器前请 **测试** diff --git a/java/process/maintenance/anticheat/anticheatplugins.md b/src/content/docs/java/advance/maintenance/anticheat/anticheatplugins.md similarity index 99% rename from java/process/maintenance/anticheat/anticheatplugins.md rename to src/content/docs/java/advance/maintenance/anticheat/anticheatplugins.md index 4e62a8f1a..14d6fb112 100644 --- a/java/process/maintenance/anticheat/anticheatplugins.md +++ b/src/content/docs/java/advance/maintenance/anticheat/anticheatplugins.md @@ -1,10 +1,7 @@ --- title: 反作弊插件 -sidebar_position: 1 --- -# 反作弊 - :::tip[写在最前] 混合端 **不要** 用下面所列的反作弊插件,建议使用 [次元反作弊](https://www.mcmod.cn/class/6578.html),[SkAc 反作弊](https://www.mcmod.cn/class/18057.html) 或 [猫反作弊](https://www.wxmwl.com/?p=95) @@ -23,7 +20,7 @@ SkAc 反作弊的交流群:672827899 虽然这些插件均存在绕过,但是仍然能检测或削弱 **大部分** 的作弊玩家,希望能帮到你。 -:::warning[警告] +:::caution[警告] 不要使用任何已经停止更新的反作弊插件,因为他们并不能支持最新版本且缺少对其他插件的兼容性,除非你有能力自己解决这些问题,不然就尽量不去使用已经停止更新的反作弊。而大多数反作弊插件对混合端和 Geyser 的支持有限甚至没有,可能需要其他方式解决。 @@ -226,7 +223,7 @@ TotemGuard 是一个专门检测 AutoTotem 作弊的轻量级反作弊插件 ISeeYou 是一个免费的录制插件,可以录制玩家的一举一动 -:::warning +:::caution 仅支持 Leaf 和 Leaves @@ -254,7 +251,7 @@ syn-sniff 是一个被动 TCP/IP 协议栈指纹识别插件,通过分析网 - `/fingerprint ` - 查看原始 TCP/IP 指纹信息 - `/predictos ` - 显示预测的操作系统 -:::warning[注意] +:::caution[注意] 此插件需要管理员权限和特定的网络库支持,安装前请确保满足系统要求。 @@ -306,7 +303,7 @@ GitHub: https://github.com/Cubic-Project/Talents-AntiCheat-Config 太多又会严重影响服务器性能,并产生大量误判,一般装两个足够了。 -:::warning +:::caution 杂交可能会出现大量误判回弹 diff --git a/java/process/maintenance/anticheat/antixray.md b/src/content/docs/java/advance/maintenance/anticheat/antixray.md similarity index 99% rename from java/process/maintenance/anticheat/antixray.md rename to src/content/docs/java/advance/maintenance/anticheat/antixray.md index 50bf34991..863a9c39b 100644 --- a/java/process/maintenance/anticheat/antixray.md +++ b/src/content/docs/java/advance/maintenance/anticheat/antixray.md @@ -1,12 +1,9 @@ --- title: 其他作弊类型 -sidebar_position: 2 --- -# 其他作弊类型 - 为什么常规的反作弊插件不会包括部分作弊类型? - 矿物透视与种子破解其实是很难从服务器所收到的玩家行为包分析得到的。 @@ -377,7 +374,7 @@ anticheat: 如果你需要隐藏岩浆中的方块,请打开 `lava-obscures`,但会影响性能 -:::info +:::note 将配置文件复制到对应 `.yml` 文件中时,如果已经存在,请相应的进行覆盖而不是简单复制到最后。 @@ -387,7 +384,7 @@ anticheat: ### Anti-xray 插件 -:::warning +:::caution 在使用 Paper 及其 Fork 时。请停止使用 [Orebfuscator](https://modrinth.com/plugin/orebfuscator) 等假矿插件。换用 Paper 自带的 Anti-Xray。 diff --git a/java/process/maintenance/anticheat/honeypot.md b/src/content/docs/java/advance/maintenance/anticheat/honeypot.md similarity index 98% rename from java/process/maintenance/anticheat/honeypot.md rename to src/content/docs/java/advance/maintenance/anticheat/honeypot.md index fc3a8bc40..3eebd6b08 100644 --- a/java/process/maintenance/anticheat/honeypot.md +++ b/src/content/docs/java/advance/maintenance/anticheat/honeypot.md @@ -1,17 +1,12 @@ --- title: Honeypot -sidebar_position: 5 --- -# Honeypot - -## 概述 - Honeypot 是一款采用"蜜罐陷阱"机制的反作弊插件,通过诱导恶意玩家触发陷阱来检测和处理破坏行为。 通常被用来检测 X-ray 玩家 -### 工作原理 +## 工作原理 将任意方块设置为蜜罐,当玩家破坏或交互时触发预设动作(通知、封禁、执行命令等)。 diff --git a/java/process/maintenance/anticheat/anticheat.md b/src/content/docs/java/advance/maintenance/anticheat/intro.md similarity index 94% rename from java/process/maintenance/anticheat/anticheat.md rename to src/content/docs/java/advance/maintenance/anticheat/intro.md index 2e3feefcd..3e465c9eb 100644 --- a/java/process/maintenance/anticheat/anticheat.md +++ b/src/content/docs/java/advance/maintenance/anticheat/intro.md @@ -1,11 +1,7 @@ --- -sidebar_position: 2 -title: 反作弊 -slug: /anticheat +title: 概述 --- -# 概览 - 在各种各样的 Minecraft 服务器中都存在各种各样的 **Hacker Client User** (作弊端用户) 作弊者通过作弊软件获取其他合法玩家无法取得的优势,从而影响游戏平衡性。 diff --git a/java/process/maintenance/anticheat/rng.md b/src/content/docs/java/advance/maintenance/anticheat/rng.md similarity index 98% rename from java/process/maintenance/anticheat/rng.md rename to src/content/docs/java/advance/maintenance/anticheat/rng.md index 51569d386..314183951 100644 --- a/java/process/maintenance/anticheat/rng.md +++ b/src/content/docs/java/advance/maintenance/anticheat/rng.md @@ -1,10 +1,7 @@ --- title: RNG -sidebar_position: 3 --- -# RNG 漏洞 - RNG 是 **随机数生成器** 的简写。 本质上只是个计算器,用来计算 Minecraft 中的随机事件。 diff --git a/java/process/maintenance/backup.md b/src/content/docs/java/advance/maintenance/backup.md similarity index 91% rename from java/process/maintenance/backup.md rename to src/content/docs/java/advance/maintenance/backup.md index a53525b64..f483c2d97 100644 --- a/java/process/maintenance/backup.md +++ b/src/content/docs/java/advance/maintenance/backup.md @@ -1,13 +1,10 @@ --- title: 备份 -sidebar_position: 5 --- -## 备份 - 你也不想你和你的玩家辛苦开发的世界由于一次断电,一次崩溃而毁于一旦吧?这些情况很少发生但无法避免,经常做备份是有必要的! -### 备份插件 +## 备份插件 推荐两个备份插件 (高效的备份,无需停服即可备份): @@ -17,7 +14,7 @@ sidebar_position: 5 [Server Backup](https://www.spigotmc.org/resources/server-backup-ingame-dropbox-ftp-backup-1-8-1-20-multithreaded.79320/) 可支持动态备份 (即只备份最近变更过的文件),占用空间更小 -:::warning +:::caution 虽然使用插件备份既方便又快速,但是插件备份得到的文件有可能是损坏的。 @@ -27,7 +24,7 @@ sidebar_position: 5 InventoryRollbackPlus 插件可以备份玩家的背包。 -:::info +:::note `SpigotMC` :https://www.spigotmc.org/resources/.85811 @@ -35,9 +32,9 @@ InventoryRollbackPlus 插件可以备份玩家的背包。 ::: -### 自动备份软件 +## 自动备份软件 -#### [MCServerBackup](https://github.com/OblivionOcean/MCServerBackup) +### [MCServerBackup](https://github.com/OblivionOcean/MCServerBackup) MCServerBackup 是由 [玄云海 OblivionOcean](https://github.com/OblivionOcean) 自主研发的一款 Minecraft Java 服务器自动备份软件,主要用于区块备份 (但也可以用于服务器整体备份)。 @@ -55,7 +52,7 @@ python main.py [相对/绝对目录] [时长] [类型] [rsnapshot](https://rsnapshot.org/) -### 手动备份 +## 手动备份 Windows 系统在服务器根目录右键点击压缩即可 (如果时间比较急推荐 zip,如果空间比较紧推荐 7-Zip)。 @@ -63,15 +60,15 @@ Linux 使用指令 `tar -czvf backup_date.tar.gz /[path]/` (如果使用 7-Zip 面板 - 大多数面板都可以像 Windows 一键压缩。 -### 手动精简备份 (不推荐) +## 手动精简备份 (不推荐) 假如你的存储空间告急,**在你安装好防护软件 (如火绒),确保服务器本体不会被一锅端后**,你可以试试只备份以下内容: -#### 备份世界 +### 备份世界 这一点相比不用多说,肯定是很十分重要的,记得备份根目录下你创建过的和服务器生成的世界。 -#### 备份插件数据文件 +### 备份插件数据文件 插件数据文件、数据库文件等 (常见名称有 data.yml,database.db,data 文件夹等)。 @@ -83,11 +80,11 @@ Linux 使用指令 `tar -czvf backup_date.tar.gz /[path]/` (如果使用 7-Zip ::: -#### (可选) 日志文件 +### (可选) 日志文件 服务器根目录下的 logs 文件夹。 -### 删除世界 +## 删除世界 要想删除世界,只需简单的将 `world` 文件夹删除即可,或删除对应维度文件夹。 diff --git a/src/content/docs/java/advance/maintenance/intro.md b/src/content/docs/java/advance/maintenance/intro.md new file mode 100644 index 000000000..2b722d8a6 --- /dev/null +++ b/src/content/docs/java/advance/maintenance/intro.md @@ -0,0 +1,5 @@ +--- +title: 概述 +--- + +让你的服务器变得更好 diff --git a/java/process/maintenance/lang/lang.md b/src/content/docs/java/advance/maintenance/lang/intro.md similarity index 98% rename from java/process/maintenance/lang/lang.md rename to src/content/docs/java/advance/maintenance/lang/intro.md index b939f6e14..05f5f9b18 100644 --- a/java/process/maintenance/lang/lang.md +++ b/src/content/docs/java/advance/maintenance/lang/intro.md @@ -1,4 +1,6 @@ -# 脚本语言 +--- +title: 概述 +--- 在 Minecraft 中,一些服主在实现一些功能的时候 (通常是一些简单的功能),不会使用 Java、Kotlin、Scala 等编程语言实现,而是通过一些脚本插件实现 diff --git a/java/process/maintenance/lang/javascript/extend/graaljs.md b/src/content/docs/java/advance/maintenance/lang/javascript/extend/graaljs.md similarity index 95% rename from java/process/maintenance/lang/javascript/extend/graaljs.md rename to src/content/docs/java/advance/maintenance/lang/javascript/extend/graaljs.md index 56115184e..050d3b431 100644 --- a/java/process/maintenance/lang/javascript/extend/graaljs.md +++ b/src/content/docs/java/advance/maintenance/lang/javascript/extend/graaljs.md @@ -1,13 +1,8 @@ --- title: GraalJS 扩展 -sidebar_position: 2 --- -# GraalJS 扩展 - -## GraalJS - -### Nashorn 兼容 +## Nashorn 兼容 `nashorn-compat` 选项下可用的功能包括: @@ -19,9 +14,9 @@ sidebar_position: 2 - `load("nashorn:parser.js")`, `load("nashorn:mozilla_compat.js")` - `exit`, `quit` -[Nashorn 语法扩展](nashorn.md#nashorn-语法扩展) 可以通过 `js.syntax-extensions` 实验性选项启用。如果启用 Nashorn 兼容模式(`js.nashorn-compat`),这些扩展也会默认启用。 +[Nashorn 语法扩展](/java/advance/maintenance/lang/javascript/extend/nashorn#nashorn-语法扩展) 可以通过 `js.syntax-extensions` 实验性选项启用。如果启用 Nashorn 兼容模式(`js.nashorn-compat`),这些扩展也会默认启用。 -### 类访问 +## 类访问 要访问 Java 类,GraalJS 支持 `Java.type(typeName)` 函数: @@ -47,7 +42,7 @@ GraalJS 提供了 `Packages`、`java` 等全局属性以便兼容性。 可以使用 `js.java-package-globals` 标志来禁用 Java 包的全局字段(设置为 `false` 以避免创建这些字段;默认值为 `true`)。 -### 构造 Java 对象 +## 构造 Java 对象 可以使用 JavaScript 的 `new` 关键字构造 Java 对象: @@ -56,7 +51,7 @@ var FileClass = Java.type("java.io.File"); var file = new FileClass("myFile.md"); ``` -### 字段和方法访问 +## 字段和方法访问 可以像访问 JavaScript 属性一样访问 Java 类的静态字段或 Java 对象的字段: @@ -71,7 +66,7 @@ var file = new (Java.type("java.io.File"))("test.md"); var fileName = file.getName(); ``` -### 方法参数的转换 +## 方法参数的转换 JavaScript 定义了操作 `double` 数字类型。 出于性能考虑,GraalJS 可能会在内部使用额外的 Java 数据类型(例如 `int` 类型)。 @@ -101,7 +96,7 @@ javaObject.intArg(1.1); // 丢失转换,TypeError! 注意,参数值必须符合参数类型。 你可以使用自定义 [目标类型映射](https://www.graalvm.org/truffle/javadoc/org/graalvm/polyglot/HostAccess.Builder.html#targetTypeMapping-java.lang.Class-java.lang.Class-java.util.function.Predicate-java.util.function.Function-) 来覆盖此行为。 -### 方法选择 +## 方法选择 Java 允许按参数类型重载方法。 当从 JavaScript 调用 Java 时,选择最狭窄的可用类型,该类型能将实际参数无损地转换为该类型: @@ -164,16 +159,16 @@ javaObject["consumeArray(java.lang.Object[])"](array); 注意,目前没有办法显式选择构造函数重载。 GraalJS 的未来版本可能会取消此限制。 -### 包访问 +## 包访问 GraalJS 提供了一个 `Packages` 全局属性: -```text +```txt > Packages.java.io.File JavaClass[java.io.File] ``` -### 数组访问 +## 数组访问 GraalJS 支持从 JavaScript 代码创建 Java 数组。 支持 Rhino 和 Nashorn 建议的两种模式: @@ -197,7 +192,7 @@ var iarr = new IntArray(5); iarr[0] = iarr[iarr.length] * 2; ``` -### Map 访问 +## Map 访问 在 GraalJS 中,你可以创建和访问 Java Map,例如 `java.util.HashMap`: @@ -217,7 +212,7 @@ for (var key in map) { } ``` -### List 访问 +## List 访问 在 GraalJS 中,你可以创建和访问 Java List,例如 `java.util.ArrayList`: @@ -234,7 +229,7 @@ for (var idx in list) { } ``` -### 字符串访问 +## 字符串访问 GraalJS 可以与 Java 字符串互操作。 字符串的长度可以通过 `length` 属性查询(请注意,`length` 是一个值属性,不能像函数一样调用): @@ -246,7 +241,7 @@ javaString.length === 4; 请注意,GraalJS 在内部使用 Java 字符串来表示 JavaScript 字符串,因此上述代码与 JavaScript 字符串字面量 `"Java"` 实际上是不可区分的。 -### 迭代属性 +## 迭代属性 Java 类和 Java 对象的属性(字段和方法)可以通过 JavaScript 的 `for..in` 循环进行迭代: @@ -294,7 +289,7 @@ Java 对象可以作为 *thenable* 对象暴露给 JavaScript 代码,允许 Ja 此外,JavaScript 的 `Promise` 对象是常规的 JavaScript 对象,可以通过本文件中描述的机制从 Java 访问。 这使得 Java 代码能够在 JavaScript Promise 被解析或拒绝时从 JavaScript 回调。 -### 使用 `await` 与 Java 对象 +## 使用 `await` 与 Java 对象 JavaScript 应用程序可以使用 `await` 表达式与 Java 对象交互。 当 Java 和 JavaScript 必须与异步事件交互时,这非常有用。 @@ -312,7 +307,7 @@ void then(Value onResolve, Value onReject); GraalJS 支持使用 `Java.extend` 函数扩展 Java 类和接口。 -### Java.extend +## Java.extend `Java.extend(types...)` 返回一个生成的适配器 Java 类对象,该对象扩展了指定的 Java 类和/或接口。 例如: diff --git a/java/process/maintenance/lang/javascript/extend/extend.md b/src/content/docs/java/advance/maintenance/lang/javascript/extend/intro.md similarity index 90% rename from java/process/maintenance/lang/javascript/extend/extend.md rename to src/content/docs/java/advance/maintenance/lang/javascript/extend/intro.md index c9560e825..c88d455c6 100644 --- a/java/process/maintenance/lang/javascript/extend/extend.md +++ b/src/content/docs/java/advance/maintenance/lang/javascript/extend/intro.md @@ -1,10 +1,7 @@ --- -title: 扩展特性 -sidebar_position: 2 +title: 概述 --- -# 扩展特性 - 这些并非是 JavaScript 标准所规定的,而是 JS 引擎所特有的 这些方法提供了 JavaScript 调用 Java 的能力,扩展了 JS 的功能 diff --git a/java/process/maintenance/lang/javascript/extend/nashorn.md b/src/content/docs/java/advance/maintenance/lang/javascript/extend/nashorn.md similarity index 99% rename from java/process/maintenance/lang/javascript/extend/nashorn.md rename to src/content/docs/java/advance/maintenance/lang/javascript/extend/nashorn.md index 6cbeb7b9c..76e634f3b 100644 --- a/java/process/maintenance/lang/javascript/extend/nashorn.md +++ b/src/content/docs/java/advance/maintenance/lang/javascript/extend/nashorn.md @@ -1,10 +1,7 @@ --- title: Nashorn 扩展 -sidebar_position: 1 --- -# Nashorn 扩展 - ## 访问 Java 类 要从 JavaScript 访问原始类型和引用类型的 Java 类型,可以调用 `Java.type()` 函数,返回与传入的类名称对应的类型对象。例如,以下示例演示了如何获取各种类型对象: diff --git a/java/process/maintenance/lang/javascript/javascript.md b/src/content/docs/java/advance/maintenance/lang/javascript/intro.md similarity index 92% rename from java/process/maintenance/lang/javascript/javascript.md rename to src/content/docs/java/advance/maintenance/lang/javascript/intro.md index 1d89834f8..de85e027f 100644 --- a/java/process/maintenance/lang/javascript/javascript.md +++ b/src/content/docs/java/advance/maintenance/lang/javascript/intro.md @@ -1,11 +1,7 @@ --- -title: JavaScript -slug: /lang/javascript -sidebar_position: 3 +title: 概述 --- -# JavaScript - JavaScript 在 Minecraft 中有着相当广泛的应用,很多插件和 mod 都在内部提供了 JavaScript 常见的实现: @@ -28,7 +24,7 @@ JavaScript 运行在 JVM 上是需要执行引擎的,不同的 JS 引擎支持 Rhino 和 Javet 在 Minecraft 中目前应用很少,因此后续部分仅介绍 Nashorn 和 GraalJS -:::warning +:::caution 你无法改变插件/mod 使用的 JS 引擎 (除非你有能力改源代码),当然你可以督促作者更改 JS 引擎 @@ -42,9 +38,9 @@ Nashorn 支持版本: - [ECMAScript 5.x (ES 5)](https://www.w3school.com.cn/js/js_es5.asp) - [ECMAScript 2015 (ES 6)](https://www.w3school.com.cn/js/js_es6.asp) (不完全支持) -- [JavaScript 扩展语法](extend/nashorn.md#nashorn-语法扩展) +- [JavaScript 扩展语法](/java/advance/maintenance/lang/javascript/extend/nashorn#nashorn-语法扩展) -:::warning +:::caution Nashorn 不支持 2015 年后的 ES 特性,在使用的时候请确保 Nashorn 支持 @@ -65,7 +61,7 @@ GraalJS 支持版本: - [ECMAScript 2024](https://www.w3school.com.cn/js/js_2024.asp) - 所有最新稳定特性 (ES 2025) - 在[提案中的特性](https://github.com/tc39/proposals) -- [JavaScript 扩展语法](extend/graaljs.md#nashorn-兼容) +- [JavaScript 扩展语法](/java/advance/maintenance/lang/javascript/extend/graaljs#nashorn-兼容) ### Java 支持 diff --git a/java/process/maintenance/lang/kether/_assets/Vulpecula/1.png b/src/content/docs/java/advance/maintenance/lang/kether/_assets/Vulpecula/1.png similarity index 100% rename from java/process/maintenance/lang/kether/_assets/Vulpecula/1.png rename to src/content/docs/java/advance/maintenance/lang/kether/_assets/Vulpecula/1.png diff --git a/java/process/maintenance/lang/kether/_assets/Vulpecula/2.png b/src/content/docs/java/advance/maintenance/lang/kether/_assets/Vulpecula/2.png similarity index 100% rename from java/process/maintenance/lang/kether/_assets/Vulpecula/2.png rename to src/content/docs/java/advance/maintenance/lang/kether/_assets/Vulpecula/2.png diff --git a/java/process/maintenance/lang/kether/_assets/Vulpecula/3.png b/src/content/docs/java/advance/maintenance/lang/kether/_assets/Vulpecula/3.png similarity index 100% rename from java/process/maintenance/lang/kether/_assets/Vulpecula/3.png rename to src/content/docs/java/advance/maintenance/lang/kether/_assets/Vulpecula/3.png diff --git a/java/process/maintenance/lang/kether/_assets/Vulpecula/4.png b/src/content/docs/java/advance/maintenance/lang/kether/_assets/Vulpecula/4.png similarity index 100% rename from java/process/maintenance/lang/kether/_assets/Vulpecula/4.png rename to src/content/docs/java/advance/maintenance/lang/kether/_assets/Vulpecula/4.png diff --git a/java/process/maintenance/lang/kether/_assets/Vulpecula/5.png b/src/content/docs/java/advance/maintenance/lang/kether/_assets/Vulpecula/5.png similarity index 100% rename from java/process/maintenance/lang/kether/_assets/Vulpecula/5.png rename to src/content/docs/java/advance/maintenance/lang/kether/_assets/Vulpecula/5.png diff --git a/java/process/maintenance/lang/kether/_assets/Vulpecula/6.png b/src/content/docs/java/advance/maintenance/lang/kether/_assets/Vulpecula/6.png similarity index 100% rename from java/process/maintenance/lang/kether/_assets/Vulpecula/6.png rename to src/content/docs/java/advance/maintenance/lang/kether/_assets/Vulpecula/6.png diff --git a/java/process/maintenance/lang/kether/_assets/Vulpecula/7.png b/src/content/docs/java/advance/maintenance/lang/kether/_assets/Vulpecula/7.png similarity index 100% rename from java/process/maintenance/lang/kether/_assets/Vulpecula/7.png rename to src/content/docs/java/advance/maintenance/lang/kether/_assets/Vulpecula/7.png diff --git a/java/process/maintenance/lang/kether/_assets/Vulpecula/8.png b/src/content/docs/java/advance/maintenance/lang/kether/_assets/Vulpecula/8.png similarity index 100% rename from java/process/maintenance/lang/kether/_assets/Vulpecula/8.png rename to src/content/docs/java/advance/maintenance/lang/kether/_assets/Vulpecula/8.png diff --git a/java/process/maintenance/lang/kether/_assets/Vulpecula/9.png b/src/content/docs/java/advance/maintenance/lang/kether/_assets/Vulpecula/9.png similarity index 100% rename from java/process/maintenance/lang/kether/_assets/Vulpecula/9.png rename to src/content/docs/java/advance/maintenance/lang/kether/_assets/Vulpecula/9.png diff --git a/java/process/maintenance/lang/kether/_assets/if_1.png b/src/content/docs/java/advance/maintenance/lang/kether/_assets/if_1.png similarity index 100% rename from java/process/maintenance/lang/kether/_assets/if_1.png rename to src/content/docs/java/advance/maintenance/lang/kether/_assets/if_1.png diff --git a/java/process/maintenance/lang/kether/_assets/if_2.png b/src/content/docs/java/advance/maintenance/lang/kether/_assets/if_2.png similarity index 100% rename from java/process/maintenance/lang/kether/_assets/if_2.png rename to src/content/docs/java/advance/maintenance/lang/kether/_assets/if_2.png diff --git a/java/process/maintenance/lang/kether/_assets/if_3.png b/src/content/docs/java/advance/maintenance/lang/kether/_assets/if_3.png similarity index 100% rename from java/process/maintenance/lang/kether/_assets/if_3.png rename to src/content/docs/java/advance/maintenance/lang/kether/_assets/if_3.png diff --git a/java/process/maintenance/lang/kether/_assets/inline.png b/src/content/docs/java/advance/maintenance/lang/kether/_assets/inline.png similarity index 100% rename from java/process/maintenance/lang/kether/_assets/inline.png rename to src/content/docs/java/advance/maintenance/lang/kether/_assets/inline.png diff --git a/java/process/maintenance/lang/kether/_assets/math_1.png b/src/content/docs/java/advance/maintenance/lang/kether/_assets/math_1.png similarity index 100% rename from java/process/maintenance/lang/kether/_assets/math_1.png rename to src/content/docs/java/advance/maintenance/lang/kether/_assets/math_1.png diff --git a/java/process/maintenance/lang/kether/_assets/result.png b/src/content/docs/java/advance/maintenance/lang/kether/_assets/result.png similarity index 100% rename from java/process/maintenance/lang/kether/_assets/result.png rename to src/content/docs/java/advance/maintenance/lang/kether/_assets/result.png diff --git a/java/process/maintenance/lang/kether/_assets/type_1.png b/src/content/docs/java/advance/maintenance/lang/kether/_assets/type_1.png similarity index 100% rename from java/process/maintenance/lang/kether/_assets/type_1.png rename to src/content/docs/java/advance/maintenance/lang/kether/_assets/type_1.png diff --git a/java/process/maintenance/lang/kether/_assets/var_1.png b/src/content/docs/java/advance/maintenance/lang/kether/_assets/var_1.png similarity index 100% rename from java/process/maintenance/lang/kether/_assets/var_1.png rename to src/content/docs/java/advance/maintenance/lang/kether/_assets/var_1.png diff --git a/java/process/maintenance/lang/kether/_assets/var_2.png b/src/content/docs/java/advance/maintenance/lang/kether/_assets/var_2.png similarity index 100% rename from java/process/maintenance/lang/kether/_assets/var_2.png rename to src/content/docs/java/advance/maintenance/lang/kether/_assets/var_2.png diff --git a/java/process/maintenance/lang/kether/_assets/var_3.png b/src/content/docs/java/advance/maintenance/lang/kether/_assets/var_3.png similarity index 100% rename from java/process/maintenance/lang/kether/_assets/var_3.png rename to src/content/docs/java/advance/maintenance/lang/kether/_assets/var_3.png diff --git a/java/process/maintenance/lang/kether/_assets/var_4.png b/src/content/docs/java/advance/maintenance/lang/kether/_assets/var_4.png similarity index 100% rename from java/process/maintenance/lang/kether/_assets/var_4.png rename to src/content/docs/java/advance/maintenance/lang/kether/_assets/var_4.png diff --git a/java/process/maintenance/lang/kether/_assets/var_5.png b/src/content/docs/java/advance/maintenance/lang/kether/_assets/var_5.png similarity index 100% rename from java/process/maintenance/lang/kether/_assets/var_5.png rename to src/content/docs/java/advance/maintenance/lang/kether/_assets/var_5.png diff --git a/java/process/maintenance/lang/kether/_assets/var_6.png b/src/content/docs/java/advance/maintenance/lang/kether/_assets/var_6.png similarity index 100% rename from java/process/maintenance/lang/kether/_assets/var_6.png rename to src/content/docs/java/advance/maintenance/lang/kether/_assets/var_6.png diff --git a/java/process/maintenance/lang/kether/_assets/var_7.png b/src/content/docs/java/advance/maintenance/lang/kether/_assets/var_7.png similarity index 100% rename from java/process/maintenance/lang/kether/_assets/var_7.png rename to src/content/docs/java/advance/maintenance/lang/kether/_assets/var_7.png diff --git a/java/process/maintenance/lang/kether/_assets/vul-check.png b/src/content/docs/java/advance/maintenance/lang/kether/_assets/vul-check.png similarity index 100% rename from java/process/maintenance/lang/kether/_assets/vul-check.png rename to src/content/docs/java/advance/maintenance/lang/kether/_assets/vul-check.png diff --git a/java/process/maintenance/lang/kether/_assets/vul-color.png b/src/content/docs/java/advance/maintenance/lang/kether/_assets/vul-color.png similarity index 100% rename from java/process/maintenance/lang/kether/_assets/vul-color.png rename to src/content/docs/java/advance/maintenance/lang/kether/_assets/vul-color.png diff --git a/java/process/maintenance/lang/kether/_assets/vul-papi.png b/src/content/docs/java/advance/maintenance/lang/kether/_assets/vul-papi.png similarity index 100% rename from java/process/maintenance/lang/kether/_assets/vul-papi.png rename to src/content/docs/java/advance/maintenance/lang/kether/_assets/vul-papi.png diff --git a/java/process/maintenance/lang/kether/_assets/vul-perm.png b/src/content/docs/java/advance/maintenance/lang/kether/_assets/vul-perm.png similarity index 100% rename from java/process/maintenance/lang/kether/_assets/vul-perm.png rename to src/content/docs/java/advance/maintenance/lang/kether/_assets/vul-perm.png diff --git a/java/process/maintenance/lang/kether/_assets/vul-permNot_1.png b/src/content/docs/java/advance/maintenance/lang/kether/_assets/vul-permNot_1.png similarity index 100% rename from java/process/maintenance/lang/kether/_assets/vul-permNot_1.png rename to src/content/docs/java/advance/maintenance/lang/kether/_assets/vul-permNot_1.png diff --git a/java/process/maintenance/lang/kether/_assets/vul-permNot_2.png b/src/content/docs/java/advance/maintenance/lang/kether/_assets/vul-permNot_2.png similarity index 100% rename from java/process/maintenance/lang/kether/_assets/vul-permNot_2.png rename to src/content/docs/java/advance/maintenance/lang/kether/_assets/vul-permNot_2.png diff --git a/java/process/maintenance/lang/kether/_assets/vul-tell.png b/src/content/docs/java/advance/maintenance/lang/kether/_assets/vul-tell.png similarity index 100% rename from java/process/maintenance/lang/kether/_assets/vul-tell.png rename to src/content/docs/java/advance/maintenance/lang/kether/_assets/vul-tell.png diff --git a/java/process/maintenance/lang/kether/_assets/vul-tell_color.png b/src/content/docs/java/advance/maintenance/lang/kether/_assets/vul-tell_color.png similarity index 100% rename from java/process/maintenance/lang/kether/_assets/vul-tell_color.png rename to src/content/docs/java/advance/maintenance/lang/kether/_assets/vul-tell_color.png diff --git a/java/process/maintenance/lang/kether/_assets/vul-tell_name.png b/src/content/docs/java/advance/maintenance/lang/kether/_assets/vul-tell_name.png similarity index 100% rename from java/process/maintenance/lang/kether/_assets/vul-tell_name.png rename to src/content/docs/java/advance/maintenance/lang/kether/_assets/vul-tell_name.png diff --git a/java/process/maintenance/lang/kether/_assets/vul-tell_noColor.png b/src/content/docs/java/advance/maintenance/lang/kether/_assets/vul-tell_noColor.png similarity index 100% rename from java/process/maintenance/lang/kether/_assets/vul-tell_noColor.png rename to src/content/docs/java/advance/maintenance/lang/kether/_assets/vul-tell_noColor.png diff --git a/java/process/maintenance/lang/kether/_assets/vul-tell_papiNoInline.png b/src/content/docs/java/advance/maintenance/lang/kether/_assets/vul-tell_papiNoInline.png similarity index 100% rename from java/process/maintenance/lang/kether/_assets/vul-tell_papiNoInline.png rename to src/content/docs/java/advance/maintenance/lang/kether/_assets/vul-tell_papiNoInline.png diff --git a/java/process/maintenance/lang/kether/_assets/vul-tell_papiWithInline.png b/src/content/docs/java/advance/maintenance/lang/kether/_assets/vul-tell_papiWithInline.png similarity index 100% rename from java/process/maintenance/lang/kether/_assets/vul-tell_papiWithInline.png rename to src/content/docs/java/advance/maintenance/lang/kether/_assets/vul-tell_papiWithInline.png diff --git a/java/process/maintenance/lang/kether/_assets/vul-tell_papiWithJoin.png b/src/content/docs/java/advance/maintenance/lang/kether/_assets/vul-tell_papiWithJoin.png similarity index 100% rename from java/process/maintenance/lang/kether/_assets/vul-tell_papiWithJoin.png rename to src/content/docs/java/advance/maintenance/lang/kether/_assets/vul-tell_papiWithJoin.png diff --git a/java/process/maintenance/lang/kether/_assets/vul-tell_tell.png b/src/content/docs/java/advance/maintenance/lang/kether/_assets/vul-tell_tell.png similarity index 100% rename from java/process/maintenance/lang/kether/_assets/vul-tell_tell.png rename to src/content/docs/java/advance/maintenance/lang/kether/_assets/vul-tell_tell.png diff --git a/java/process/maintenance/lang/kether/_assets/web-tell.png b/src/content/docs/java/advance/maintenance/lang/kether/_assets/web-tell.png similarity index 100% rename from java/process/maintenance/lang/kether/_assets/web-tell.png rename to src/content/docs/java/advance/maintenance/lang/kether/_assets/web-tell.png diff --git "a/java/process/maintenance/lang/kether/_assets/\345\206\222\346\261\227.jpg" "b/src/content/docs/java/advance/maintenance/lang/kether/_assets/\345\206\222\346\261\227.jpg" similarity index 100% rename from "java/process/maintenance/lang/kether/_assets/\345\206\222\346\261\227.jpg" rename to "src/content/docs/java/advance/maintenance/lang/kether/_assets/\345\206\222\346\261\227.jpg" diff --git "a/java/process/maintenance/lang/kether/_assets/\346\213\254\345\217\267.png" "b/src/content/docs/java/advance/maintenance/lang/kether/_assets/\346\213\254\345\217\267.png" similarity index 100% rename from "java/process/maintenance/lang/kether/_assets/\346\213\254\345\217\267.png" rename to "src/content/docs/java/advance/maintenance/lang/kether/_assets/\346\213\254\345\217\267.png" diff --git "a/java/process/maintenance/lang/kether/_assets/\346\255\243\347\273\217\347\254\221.jpg" "b/src/content/docs/java/advance/maintenance/lang/kether/_assets/\346\255\243\347\273\217\347\254\221.jpg" similarity index 100% rename from "java/process/maintenance/lang/kether/_assets/\346\255\243\347\273\217\347\254\221.jpg" rename to "src/content/docs/java/advance/maintenance/lang/kether/_assets/\346\255\243\347\273\217\347\254\221.jpg" diff --git "a/java/process/maintenance/lang/kether/_assets/\347\227\264\345\221\206.jpg" "b/src/content/docs/java/advance/maintenance/lang/kether/_assets/\347\227\264\345\221\206.jpg" similarity index 100% rename from "java/process/maintenance/lang/kether/_assets/\347\227\264\345\221\206.jpg" rename to "src/content/docs/java/advance/maintenance/lang/kether/_assets/\347\227\264\345\221\206.jpg" diff --git a/java/process/maintenance/lang/kether/basic.md b/src/content/docs/java/advance/maintenance/lang/kether/basic.md similarity index 98% rename from java/process/maintenance/lang/kether/basic.md rename to src/content/docs/java/advance/maintenance/lang/kether/basic.md index da67a2652..3d7900361 100644 --- a/java/process/maintenance/lang/kether/basic.md +++ b/src/content/docs/java/advance/maintenance/lang/kether/basic.md @@ -1,10 +1,7 @@ --- title: 基础 -sidebar_position: 2 --- -# 基础 - > 动作,又称语句,每个动作都功能明确,如:Tell (输出文本) 在这一节中,我将告诉你在 kether 中的一些基本概念 @@ -136,7 +133,7 @@ inline "阿巴阿巴{{你要用的kether}}qwq" 比如上面的案例中,可以这样做 -```text +```txt /vul eval tell inline "我叫{{papi %player_name%}},我今年{{papi %player_level%}}级了" ``` @@ -156,7 +153,7 @@ join [ 动作1 动作2 动作3 更多 ] 在上面的案例中,可以这样做 -```text +```txt /vul eval tell join [ "我叫" papi %player_name% ",我今年" papi %player_level% "级了" ] ``` @@ -186,7 +183,7 @@ player [(display|list) ] name ### 使用案例 -```text +```txt /vul eval tell inline "我叫{{player name}}!我叫{{sender}}!!我真的叫{{papi %player_name%}}!!!" ``` diff --git a/java/process/maintenance/lang/kether/if.md b/src/content/docs/java/advance/maintenance/lang/kether/if.md similarity index 95% rename from java/process/maintenance/lang/kether/if.md rename to src/content/docs/java/advance/maintenance/lang/kether/if.md index b760839f5..be177c7ff 100644 --- a/java/process/maintenance/lang/kether/if.md +++ b/src/content/docs/java/advance/maintenance/lang/kether/if.md @@ -1,12 +1,9 @@ --- title: 逻辑判断 -sidebar_position: 3 --- -# 逻辑判断 - ## 布尔值 (boolean) 它只有两个取值,即 **真 (true)** 和 **假 (false)** @@ -23,7 +20,7 @@ sidebar_position: 3 我是 OP,所以我拥有此权限,返回了 true -同 [PlaceholderAPI](./basic#变量-placeholderapi) 一样,**Permission** 也有一个简写 **perm** +同 [PlaceholderAPI](/java/advance/maintenance/lang/kether/basic#变量-placeholderapi) 一样,**Permission** 也有一个简写 **perm** ## 判断为否 (Not) @@ -79,7 +76,7 @@ check 动作1 {symbol} 动作2 ### 单分支 -```text +```txt /vul eval if 条件 then 执行的动作 ``` @@ -91,7 +88,7 @@ check 动作1 {symbol} 动作2 上面只是执行单个动作,那么,如何让他判断 **true** 后执行多行动作? -```text +```txt if 条件 then { 语句 1 语句 2 @@ -101,7 +98,7 @@ if 条件 then { ### 双分支 -```text +```txt /vul eval if 条件 then true 执行的动作 else false 执行的动作 ``` @@ -110,7 +107,7 @@ if 条件 then { 执行多行动作 -```text +```txt if 条件 then { 语句 1 语句 2 @@ -124,13 +121,13 @@ if 条件 then { if 动作的连续使用 -```text +```txt /vul evel if 条件 1 then 动作 1 else if 条件 2 then 动作 2 else if 条件 3 then 动作 3 ``` 多行语句 -```text +```txt if 条件 1 then { 动作 1 动作 2 @@ -212,7 +209,7 @@ all [ 动作1 动作2 动作3 更多 ] 例如: -```text +```txt /vul eval if all [ perm vulpecula.command not perm luckperms.editor ] then tell 通过 else 不通过 ``` @@ -231,7 +228,7 @@ any [ 动作1 动作2 动作3 更多 ] 例如: -```text +```txt /vul eval if any [ perm vulpecula.command not perm luckperms.editor ] then tell 通过 else 不通过 ``` @@ -267,7 +264,7 @@ any [ 可是我想判断的是 `null` 这四个字母!这咋办? -还记得之前学的 [literal](./basic.md#actiontoken和-literal) 吗? +还记得之前学的 [literal](/java/advance/maintenance/lang/kether/basic#actiontoken和-literal) 吗? ```yaml check 你要判断的东西 == literal null diff --git a/java/process/maintenance/lang/kether/kether.md b/src/content/docs/java/advance/maintenance/lang/kether/intro.md similarity index 73% rename from java/process/maintenance/lang/kether/kether.md rename to src/content/docs/java/advance/maintenance/lang/kether/intro.md index 80221647b..fbb81e51b 100644 --- a/java/process/maintenance/lang/kether/kether.md +++ b/src/content/docs/java/advance/maintenance/lang/kether/intro.md @@ -1,11 +1,7 @@ --- -title: Kether -slug: /lang/kether -sidebar_position: 2 +title: 概述 --- -# 概览 - Kether 并不是一个插件,而是使用 Taboolib 框架开发的插件 (如 TrMenu,TrChat,Adyeshach) 所使用的脚本语言。 推荐教程:https://www.yuque.com/sacredcraft/kether @@ -13,7 +9,3 @@ Kether 并不是一个插件,而是使用 Taboolib 框架开发的插件 (如 Kether 语句表:https://kether.tabooproject.org/list.html VS Code 插件-Kether 动作补全:https://github.com/LiteCat0905/Kether-snippet - -import DocCardList from '@theme/DocCardList'; - - diff --git a/java/process/maintenance/lang/kether/math.md b/src/content/docs/java/advance/maintenance/lang/kether/math.md similarity index 95% rename from java/process/maintenance/lang/kether/math.md rename to src/content/docs/java/advance/maintenance/lang/kether/math.md index d7a44a555..2b6043b34 100644 --- a/java/process/maintenance/lang/kether/math.md +++ b/src/content/docs/java/advance/maintenance/lang/kether/math.md @@ -1,10 +1,7 @@ --- title: 数学运算 -sidebar_position: 5 --- -# 数学运算 - ## Math 详细请查看:https://www.yuque.com/sacredcraft/kether/action-math @@ -32,14 +29,14 @@ math / [ 6 2 ] 除了上面几种用法,Math 还有一种比较舒服的写法: -```text +```txt ​/* 计算 1 + 3 x 6 ÷ 3 - 2 */ math 1 + 3 * 5 / 6 - 2 ``` 当然也可以用上一节学到的变量来运算 -```text +```txt /vul eval set a to 1 set b to 2 math &a - &b ``` diff --git a/java/process/maintenance/lang/kether/misc.md b/src/content/docs/java/advance/maintenance/lang/kether/misc.md similarity index 90% rename from java/process/maintenance/lang/kether/misc.md rename to src/content/docs/java/advance/maintenance/lang/kether/misc.md index 2e9a26e34..60fd1ea11 100644 --- a/java/process/maintenance/lang/kether/misc.md +++ b/src/content/docs/java/advance/maintenance/lang/kether/misc.md @@ -1,6 +1,5 @@ --- title: 杂项 -sidebar_position: 6 --- ## 命名空间 @@ -43,6 +42,6 @@ join 是拼接多个语句,不会像 inline 那样创造新的环境,所以 TabooLib Components 行内复合文本 -像 [MiniMessage](../../../plugin/more/color-message.md#minimessage) 一样的东西? +像 [MiniMessage](/java/process/plugin/more/color-message#minimessage) 一样的东西? Invero 最新版已经不支持 MiniMessage 而是使用行内复合文本了 diff --git a/java/process/maintenance/lang/kether/preparation.md b/src/content/docs/java/advance/maintenance/lang/kether/preparation.md similarity index 92% rename from java/process/maintenance/lang/kether/preparation.md rename to src/content/docs/java/advance/maintenance/lang/kether/preparation.md index a6f704ac8..0cf8de8fe 100644 --- a/java/process/maintenance/lang/kether/preparation.md +++ b/src/content/docs/java/advance/maintenance/lang/kether/preparation.md @@ -1,17 +1,14 @@ --- title: 准备 -sidebar_position: 1 --- -# 安装教学插件 - 在本篇教程中,我将使用 [Vulpecula](https://www.yuque.com/lanscarlos/vulpecula-wiki-v2) 你可以点击 [此处](https://github.com/Lanscarlos/Vulpecula) 跳转到 GitHub,从 Actions 中下载 或者加入他的 QQ 交流群 759705478 从群文件下载 -:::info +:::note 我们不学习此插件的更多使用方式 @@ -21,7 +18,7 @@ sidebar_position: 1 ::: -:::info +:::note **别的插件执行 Kether?** diff --git a/java/process/maintenance/lang/kether/variable.md b/src/content/docs/java/advance/maintenance/lang/kether/variable.md similarity index 96% rename from java/process/maintenance/lang/kether/variable.md rename to src/content/docs/java/advance/maintenance/lang/kether/variable.md index ce414de87..96ef33a74 100644 --- a/java/process/maintenance/lang/kether/variable.md +++ b/src/content/docs/java/advance/maintenance/lang/kether/variable.md @@ -1,12 +1,9 @@ --- title: 数据相关 -sidebar_position: 4 --- -# 数据相关 - ## 数据类型
    @@ -80,7 +77,7 @@ get {token} | &{token} 正确做法: -```text +```txt /vul eval set yizhan to 114514 tell get yizhan ``` @@ -92,7 +89,7 @@ get {token} | &{token} ![](_assets/var_4.png) -看到这里,你就应该知道,为什么前面讲 [彩色 (Color Text)](./basic.md#彩色-color-text) 动作的时候会说 +看到这里,你就应该知道,为什么前面讲 [彩色 (Color Text)](/java/advance/maintenance/lang/kether/basic#彩色-color-text) 动作的时候会说 > 这里要用 `" "` 把要打印的信息包裹起来 > 否则他会把这个当成变量,具体的会在后面讲到 diff --git a/java/process/maintenance/lang/kether/vulpecula.md b/src/content/docs/java/advance/maintenance/lang/kether/vulpecula.md similarity index 95% rename from java/process/maintenance/lang/kether/vulpecula.md rename to src/content/docs/java/advance/maintenance/lang/kether/vulpecula.md index 39dc35e7c..69951f7e4 100644 --- a/java/process/maintenance/lang/kether/vulpecula.md +++ b/src/content/docs/java/advance/maintenance/lang/kether/vulpecula.md @@ -1,10 +1,7 @@ --- title: Vulpecula -sidebar_position: 11 --- -# Vulpecula - ## ![介绍](_assets/Vulpecula/1.png) ![](_assets/Vulpecula/2.png) @@ -27,7 +24,7 @@ sidebar_position: 11 [![](_assets/Vulpecula/9.png)](https://afdian.net/a/lanscarlos) -:::info +:::note `MineBBS` https://www.minebbs.com/resources/.9584 diff --git a/java/process/maintenance/lang/skript/_assets/QuerySubclasses.png b/src/content/docs/java/advance/maintenance/lang/skript/_assets/QuerySubclasses.png similarity index 100% rename from java/process/maintenance/lang/skript/_assets/QuerySubclasses.png rename to src/content/docs/java/advance/maintenance/lang/skript/_assets/QuerySubclasses.png diff --git a/java/process/maintenance/lang/skript/_assets/SearchEvent.png b/src/content/docs/java/advance/maintenance/lang/skript/_assets/SearchEvent.png similarity index 100% rename from java/process/maintenance/lang/skript/_assets/SearchEvent.png rename to src/content/docs/java/advance/maintenance/lang/skript/_assets/SearchEvent.png diff --git a/java/process/maintenance/lang/skript/_assets/SearchMethods.png b/src/content/docs/java/advance/maintenance/lang/skript/_assets/SearchMethods.png similarity index 100% rename from java/process/maintenance/lang/skript/_assets/SearchMethods.png rename to src/content/docs/java/advance/maintenance/lang/skript/_assets/SearchMethods.png diff --git a/java/process/maintenance/lang/skript/_assets/SkriptBasic1.png b/src/content/docs/java/advance/maintenance/lang/skript/_assets/SkriptBasic1.png similarity index 100% rename from java/process/maintenance/lang/skript/_assets/SkriptBasic1.png rename to src/content/docs/java/advance/maintenance/lang/skript/_assets/SkriptBasic1.png diff --git a/java/process/maintenance/lang/skript/advanced-tutorials.md b/src/content/docs/java/advance/maintenance/lang/skript/advanced-tutorials.md similarity index 99% rename from java/process/maintenance/lang/skript/advanced-tutorials.md rename to src/content/docs/java/advance/maintenance/lang/skript/advanced-tutorials.md index a6d44c173..9e78621f6 100644 --- a/java/process/maintenance/lang/skript/advanced-tutorials.md +++ b/src/content/docs/java/advance/maintenance/lang/skript/advanced-tutorials.md @@ -1,12 +1,9 @@ --- title: 高级教程 -sidebar_position: 3 --- -# 高级教程 - ## skript-reflect **skript-reflect** 是 **Skript** 的一个拓展插件,允许你运用 Java 的反射机制来进行更高级的操作,它旨在将 **Java** 的功能与 **Skript** 易于使用的开发环境相结合。 @@ -151,7 +148,7 @@ on BotJoinEvent: 在大多数情况下,无需运行脚本即可知道所需类的确切限定名称。如果是这种情况,你应该使用 **skript-reflect** 的 `import` 块: -:::info +:::note 为避免冲突,`import` 块创建的表达式仅对导入它们的脚本可用。你必须在使用它们的每个脚本中导入 Java 类。 @@ -176,7 +173,7 @@ command /example: message JavaString.format("Hello %%s", sender) ``` -:::info +:::note 别名必须是有效的 Java 标识符! @@ -347,7 +344,7 @@ on EnderDragonChangePhaseEvent: # your code ``` -:::warning +:::caution 一些插件使用自己的事件处理系统,或者不通过 **Bukkit** 的事件执行器传递他们的事件 (**Skript** 的一些内部事件就是这种情况)。 @@ -388,7 +385,7 @@ on EnderDragonChangePhaseEvent: event.setNewPhase(EnderDragonPhase.CHARGE_PLAYER) ``` -:::info +:::note 该 event 表达式也可用于正常的 Skript 事件。 @@ -444,7 +441,7 @@ on all BlockBreakEvent: 创建包含指定对象的数组。指定类型可确定生成数组的组件类型。 -:::info +:::note 此语法中的括号是文字,不表示可选组。 @@ -472,7 +469,7 @@ new %javatype%[%integer%] 创建给定类型和大小的数组。类型可能是原始类型,不需要导入。 -:::info +:::note 此语法中的括号是文字,不表示可选组。 @@ -488,7 +485,7 @@ new %javatype%[%integer%] 可以读取和写入此值。 -:::info +:::note 此语法中的括号是文字,不表示可选组。 @@ -521,7 +518,7 @@ null 返回表达式的基础对象。 -:::info +:::note 与 [Expression](https://tpgamesnl.gitbook.io/skript-reflect/advanced/custom-syntax#expression) 一起使用时,可以将其设置为一个值,这将更改该参数的输入值。这可用于将数据存储在调用触发器的变量中。 diff --git a/java/process/maintenance/lang/skript/basic-tutorials.md b/src/content/docs/java/advance/maintenance/lang/skript/basic-tutorials.md similarity index 99% rename from java/process/maintenance/lang/skript/basic-tutorials.md rename to src/content/docs/java/advance/maintenance/lang/skript/basic-tutorials.md index 185ddbe74..01c26e4b1 100644 --- a/java/process/maintenance/lang/skript/basic-tutorials.md +++ b/src/content/docs/java/advance/maintenance/lang/skript/basic-tutorials.md @@ -1,10 +1,7 @@ --- title: 基础教程 -sidebar_position: 2 --- -# 基础教程 - ## 了解 "八大类" 所有的脚本都是由以下八中类型的语法构成: @@ -218,7 +215,7 @@ on join: 举一个例子,点击事件的语法是这样的: -```text +```txt [on] [(right|left)(| |-)][mouse(| |-)]click[ing] (with|using|holding) %itemtype% on %entitydata/itemtype% ``` @@ -298,7 +295,7 @@ on command "/op": | 最高 | Highest | | 监控 | Monitor | -:::warning[吐槽] +:::caution[吐槽] Bukkit 的事件就是这样的,所以 Skript 也继承了这个抽象名字,发生顺序为 `Lowest -> Low -> Normal -> High -> Highest -> Monitor` @@ -505,7 +502,7 @@ if arg-1 is world "world": teleport player to location(player's x-coord, player's y-coord, player's z-coord, world "world") ``` -:::warning[为什么这是不好的] +:::caution[为什么这是不好的] 1. 在这里,每行代码都过长了,非常不利于阅读。 2. 此想要调整不同世界的比例时,需要一个个调整参数,这不利于代码的维护。 @@ -581,7 +578,7 @@ command /world : ### 最初的脚本编写思路 (by TUCAOEVER) -:::warning +:::caution 后文为 TUCAOEVER 在 MCBBS 的教程未参考部分,没有进行任何格式化,TODO @@ -657,7 +654,7 @@ on command "/op": 我们把两个条件判断句替换为条件 1 和条件 2,那么这段代码就可以理解为: -```text +```txt 指令监听 "/op": 事件 - 发送者类别 是 玩家 条件 1: @@ -684,7 +681,7 @@ on command "/op": -```text +```txt send title %text% [with subtitle %text%] [to %players%] [for %time span%] [with fade[(-| )]in %time span%] [(and|with) fade[(-| )]out %time span%] send subtitle %text% [to %players%] [for %time span%] [with fade[(-| )]in %time span%] [(and|with) fade[(-| )]out %time span%] ``` diff --git a/java/process/maintenance/lang/skript/skript.md b/src/content/docs/java/advance/maintenance/lang/skript/intro.md similarity index 93% rename from java/process/maintenance/lang/skript/skript.md rename to src/content/docs/java/advance/maintenance/lang/skript/intro.md index 25915a508..c117ba674 100644 --- a/java/process/maintenance/lang/skript/skript.md +++ b/src/content/docs/java/advance/maintenance/lang/skript/intro.md @@ -1,12 +1,8 @@ --- -title: Skript -slug: /lang/skript -sidebar_position: 1 +title: 概述 --- -# Skript - -:::warning +:::caution 本文档大量参考了其他作者的教程,目前属于 **不可读** 状态 @@ -82,8 +78,8 @@ on join: ## 基础教程 -见[“基础教程”](basic-tutorials.md)。 +见["基础教程"](/java/advance/maintenance/lang/skript/basic-tutorials)。 ## 进阶教程 -见[“高级教程”](advanced-tutorials.md)。 +见["高级教程"](/java/advance/maintenance/lang/skript/advanced-tutorials)。 diff --git a/java/process/maintenance/optimize/_assets/ummm.jpg b/src/content/docs/java/advance/maintenance/optimize/_assets/ummm.jpg similarity index 100% rename from java/process/maintenance/optimize/_assets/ummm.jpg rename to src/content/docs/java/advance/maintenance/optimize/_assets/ummm.jpg diff --git "a/java/process/maintenance/optimize/_assets/\346\200\216\344\271\210\350\256\251\345\244\247\344\275\254\345\270\256\346\210\221/spark_start.png" "b/src/content/docs/java/advance/maintenance/optimize/_assets/\346\200\216\344\271\210\350\256\251\345\244\247\344\275\254\345\270\256\346\210\221/spark_start.png" similarity index 100% rename from "java/process/maintenance/optimize/_assets/\346\200\216\344\271\210\350\256\251\345\244\247\344\275\254\345\270\256\346\210\221/spark_start.png" rename to "src/content/docs/java/advance/maintenance/optimize/_assets/\346\200\216\344\271\210\350\256\251\345\244\247\344\275\254\345\270\256\346\210\221/spark_start.png" diff --git "a/java/process/maintenance/optimize/_assets/\346\200\216\344\271\210\350\256\251\345\244\247\344\275\254\345\270\256\346\210\221/spark_stop.png" "b/src/content/docs/java/advance/maintenance/optimize/_assets/\346\200\216\344\271\210\350\256\251\345\244\247\344\275\254\345\270\256\346\210\221/spark_stop.png" similarity index 100% rename from "java/process/maintenance/optimize/_assets/\346\200\216\344\271\210\350\256\251\345\244\247\344\275\254\345\270\256\346\210\221/spark_stop.png" rename to "src/content/docs/java/advance/maintenance/optimize/_assets/\346\200\216\344\271\210\350\256\251\345\244\247\344\275\254\345\270\256\346\210\221/spark_stop.png" diff --git a/java/process/maintenance/optimize/ask-for-help.md b/src/content/docs/java/advance/maintenance/optimize/ask-for-help.md similarity index 82% rename from java/process/maintenance/optimize/ask-for-help.md rename to src/content/docs/java/advance/maintenance/optimize/ask-for-help.md index f8623fb8d..08894732b 100644 --- a/java/process/maintenance/optimize/ask-for-help.md +++ b/src/content/docs/java/advance/maintenance/optimize/ask-for-help.md @@ -1,19 +1,16 @@ --- title: 怎么让大佬帮我性能分析 -sidebar_position: 7 --- -# 怎么让大佬帮我性能分析 - 1. 检查你的服务器有没有安装 Spark 插件,尝试 `/spark` 命令或者 `/pl` 看看有没有 Spark -如果没有,手动安装一下 [Spark](performance-analysis.md) +如果没有,手动安装一下 [Spark](/java/advance/maintenance/optimize/performance-analysis) 2. 开启 Spark 记录 -```text +```txt /spark profiler start ``` @@ -23,7 +20,7 @@ sidebar_position: 7 3. 结束 Spark 记录 -```text +```txt /spark profiler stop ``` diff --git a/java/process/maintenance/optimize/go.mdx b/src/content/docs/java/advance/maintenance/optimize/go.mdx similarity index 98% rename from java/process/maintenance/optimize/go.mdx rename to src/content/docs/java/advance/maintenance/optimize/go.mdx index 8d4088d41..839fd1648 100644 --- a/java/process/maintenance/optimize/go.mdx +++ b/src/content/docs/java/advance/maintenance/optimize/go.mdx @@ -1,14 +1,10 @@ --- title: 调服务端配置 -sidebar_position: 4 --- -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; +import { TabItem, Tabs } from "@astrojs/starlight/components"; - - -## 调服务端配置 +{/* markdownlint-disable no-duplicate-heading */} 没有适用于所有服务器的设置。你应该理解每个配置选项,并根据服务器的最佳参数与服务器硬件、玩家数量和服务器性质等调整参数。 @@ -42,7 +38,7 @@ Leaf 和 Gale 的优化配置项请前往:[Leaf 官方文档](https://www.leaf ### 降低服务器视野距离 -:::warning +:::caution 请注意视野距离和玩家体验相关性也较大,除非特殊情况否则不建议大幅压缩视野换取带宽占用。 @@ -221,7 +217,7 @@ simulate-distance: 8 #### chunk-loading-basic -服务器生成区块非常消耗资源,希望你服务器进行了预生成,如果没有进行的话请阅读 [预生成](/docs-java/process/maintenance/optimize/optimize.md#第二步---预生成) +服务器生成区块非常消耗资源,希望你服务器进行了预生成,如果没有进行的话请阅读 [预生成](/java/advance/maintenance/optimize/intro#第二步---预生成) 在 `/config/paper-global.yml` 中有关于区块生成的一些参数 @@ -335,12 +331,13 @@ max-auto-save-chunks-per-tick: 24 推荐值: - + ```yaml chunks: entity-per-chunk-save-limit: area_effect_cloud: 8 arrow: 16 + breeze_wind_charge: 16 dragon_fireball: 3 egg: 8 ender_pearl: 16 @@ -350,22 +347,23 @@ max-auto-save-chunks-per-tick: 24 fireball: 8 firework_rocket: 8 llama_spit: 3 - potion: 8 + splash_potion: 8 + lingering_potion: 8 shulker_bullet: 8 small_fireball: 8 snowball: 8 spectral_arrow: 16 trident: 16 + wind_charge: 16 wither_skull: 4 ``` - + ```yaml chunks: entity-per-chunk-save-limit: area_effect_cloud: 8 arrow: 16 - breeze_wind_charge: 16 dragon_fireball: 3 egg: 8 ender_pearl: 16 @@ -381,11 +379,10 @@ max-auto-save-chunks-per-tick: 24 snowball: 8 spectral_arrow: 16 trident: 16 - wind_charge: 16 wither_skull: 4 ``` - + ```yaml chunks: entity-per-chunk-save-limit: @@ -401,8 +398,7 @@ max-auto-save-chunks-per-tick: 24 fireball: 8 firework_rocket: 8 llama_spit: 3 - splash_potion: 8 - lingering_potion: 8 + potion: 8 shulker_bullet: 8 small_fireball: 8 snowball: 8 @@ -1140,7 +1136,7 @@ settings: --- -:::warning +:::caution 前方二次元内容,在公共场合请谨慎观看 diff --git a/java/process/maintenance/optimize/img.png b/src/content/docs/java/advance/maintenance/optimize/img.png similarity index 100% rename from java/process/maintenance/optimize/img.png rename to src/content/docs/java/advance/maintenance/optimize/img.png diff --git a/java/process/maintenance/optimize/optimize.md b/src/content/docs/java/advance/maintenance/optimize/intro.md similarity index 82% rename from java/process/maintenance/optimize/optimize.md rename to src/content/docs/java/advance/maintenance/optimize/intro.md index d8990b260..da4c4f2bd 100644 --- a/java/process/maintenance/optimize/optimize.md +++ b/src/content/docs/java/advance/maintenance/optimize/intro.md @@ -1,17 +1,14 @@ --- -slug: /optimize -sidebar_position: 1 +title: 概述 --- -# 优化 - 优化是做减法,清理服务器的卡顿因素,由于 Minecraft 本身的性能低下、部分插件作者并没有优化代码的意识、服务器实体过多等。 每个服务器可能有自己的卡顿原因,在这部分先做最基础的通用优化,如果你使用后作用不大请参考性能分析板块。 > "过早的优化是万恶之源",过早优化会让服务端不稳定,甚至 10x slower -在此之前,请一定查看 [优化误区](optimized-plugin.md),停止此类无效"优化",然后根据下面的步骤进行操作。 +在此之前,请一定查看 [优化误区](/java/advance/maintenance/optimize/optimized-plugin),停止此类无效”优化”,然后根据下面的步骤进行操作。 ## 第一步 - Java 优化 @@ -19,7 +16,7 @@ sidebar_position: 1 仅仅需要你下载一个小小的 Java 安装程序,或者更改 JVM 参数 (大白话来说就是开服参数)。 -参见 [JVM 优化](./jvm/jvm.md) +参见 [JVM 优化](/java/advance/maintenance/optimize/jvm/intro) ## 第二步 - 预生成 @@ -38,19 +35,19 @@ sidebar_position: 1 在插件和配置层面能进行的优化其实不多 (受限于 API 还有服务端核心),所以最好的方法是更换服务器核心。 -:::warning +:::caution 任何时候都不要再使用 CraftBukkit 和 Spigot 了。追求稳定/性能上 Purpur,追求原版特性上 Leaves,性能上 Leaf ::: -完整版请查看 [核心选择](../../../start/server-core-choose/server-core-choose.md) +完整版请查看 [核心选择](/java/start/server-core-choose/intro) ## 第四步 - 调整服务端配置 目前,Bilibili 上面的配置都是很老的,不推荐使用 -文档里的 [调服务端配置](go.mdx) 比较新,非常推荐 +文档里的 [调服务端配置](/java/advance/maintenance/optimize/go) 比较新,非常推荐 ## 第五步 - 更换硬件 @@ -61,7 +58,7 @@ sidebar_position: 1 对于群组服务器来说,一般核心数量都会占用上,但是内存可能会有些捉急,对于每一个普通的生存服来说内存的推荐值为 8G - 20G 更多更少都是不推荐的。 -:::warning +:::caution 如果发现 CPU 占用和内存占用都不是很高但是服务器卡卡的,请考虑是不是服务器带宽受限导致玩家 ping 值突然升高的问题。请分清楚 TPS 低导致的卡顿,MSPT 高导致的卡顿,带宽占满导致的卡顿。 @@ -71,9 +68,9 @@ sidebar_position: 1 无论在性能还是稳定性,Linux 都比 Windows 更适合用于开服,对于 Linux 根据自己的使用经验选择即可,如果没有使用经验可以先使用 Ubuntu 等主流系统。 -切换到 Linux 后,你还可以进行 [内核优化](kernel.md) +切换到 Linux 后,你还可以进行 [内核优化](/java/advance/maintenance/optimize/kernel) -如果想要了解更多请前往进阶 [Linux 开服教程](/Sundry/Advance/Linux) +如果想要了解更多请前往进阶 [Linux 开服教程](/general/advance/linux/linux) ## 第七步 - 性能分析 @@ -83,6 +80,6 @@ sidebar_position: 1 如此,那么应该如何知道服务器为何卡顿呢? -如果你是个完完全全的新手,或者懒得分析,想请教别人分析应该怎么办呢?请转跳到 [怎么让大佬帮我](ask-for-help.md) +如果你是个完完全全的新手,或者懒得分析,想请教别人分析应该怎么办呢?请转跳到 [怎么让大佬帮我](/java/advance/maintenance/optimize/ask-for-help) -如果你不想求助别人,亦或者你想有一些进步,请参考 [性能分析](performance-analysis.md) +如果你不想求助别人,亦或者你想有一些进步,请参考 [性能分析](/java/advance/maintenance/optimize/performance-analysis) diff --git a/java/process/maintenance/optimize/jvm/common.md b/src/content/docs/java/advance/maintenance/optimize/jvm/common.md similarity index 92% rename from java/process/maintenance/optimize/jvm/common.md rename to src/content/docs/java/advance/maintenance/optimize/jvm/common.md index c481c9229..dc1389b39 100644 --- a/java/process/maintenance/optimize/jvm/common.md +++ b/src/content/docs/java/advance/maintenance/optimize/jvm/common.md @@ -1,11 +1,7 @@ --- -sidebar_position: 2 title: 通用优化参数 -slug: /optimize/jvm/common --- -# 通用参数 - ## 大页支持 注意在 Windows 上使用大页,必须要以管理员启动 @@ -18,7 +14,7 @@ java -Xlog:gc+init -XX:+UseLargePages -Xmx1g -version 如果出现了以下字样,那么说明不完全兼容: -```text +```txt UseLargePages disabled, no large pages configured and available on the system. ``` @@ -30,17 +26,17 @@ java -Xlog:gc+init -XX:+UseTransparentHugePages -Xmx1g -version 如果看到 `Large Page Support: Enabled (Transparent)` ,表示你的系统支持透明大页 -但是如果你依然不支持或者想要追求极致性能,可以查看 [内核优化](../kernel.md) +但是如果你依然不支持或者想要追求极致性能,可以查看 [内核优化](/java/advance/maintenance/optimize/kernel) 如果支持 LargePages,加上此参数 -```text +```txt -XX:+UseLargePages -XX:LargePageSizeInBytes=2m ``` 如果支持 TransparentHugePages,加上此参数 -```text +```txt -XX:+UseTransparentHugePages ``` @@ -54,7 +50,7 @@ java -Xlog:gc+init -XX:+UseTransparentHugePages -Xmx1g -version 如果你使用的是 Pufferfish 的分支 (Purpur,Leaf,Leaves,Gale),你可以添加此参数 -```text +```txt --add-modules=jdk.incubator.vector ``` @@ -64,13 +60,13 @@ java -Xlog:gc+init -XX:+UseTransparentHugePages -Xmx1g -version 如果你使用的是 Leaf,你可以添加参数使用国内下载源: -```text +```txt -DLeaf.library-download-repo=https://maven.aliyun.com/repository/public ``` 如果你使用的是 Paper 1.21.6 (及其分支) 之后的版本,可以使用以下系统属性配置 Maven 中心仓库镜像: -```text +```txt -Dorg.bukkit.plugin.java.LibraryLoader.centralURL=https://maven.aliyun.com/repository/central ``` @@ -87,7 +83,7 @@ $env:PAPER_DEFAULT_CENTRAL_REPOSITORY="https://maven.aliyun.com/repository/centr set PAPER_DEFAULT_CENTRAL_REPOSITORY=https://maven.aliyun.com/repository/central ``` -如果不是上述核心,你可以使用 [Spigot Library Booster](../../../plugin/more/tittle-tattle.md#spigot-library-booster) +如果不是上述核心,你可以使用 [Spigot Library Booster](/java/process/plugin/more/tittle-tattle#spigot-library-booster) ### 其他国内镜像源 @@ -106,7 +102,7 @@ set PAPER_DEFAULT_CENTRAL_REPOSITORY=https://maven.aliyun.com/repository/central 防止乱码 -```text +```txt -Dfile.encoding=UTF-8 ``` @@ -120,7 +116,7 @@ chcp 65001 # for Windows (仅适合 Leaf 或者 Gale) -```text +```txt -Dgale.log.warning.root=false -Dgale.log.warning.offline.mode=false ``` @@ -129,7 +125,7 @@ chcp 65001 # for Windows (仅适合 Linux 和 macOS 系统,在 Windows 上无效) (原版 Minecraft 仅在个人信息公钥签名中使用到 SecureRandom) -```text +```txt -Djava.security.egd=file:/dev/urandom ``` @@ -137,7 +133,7 @@ chcp 65001 # for Windows (仅适合 Java17 及以上) -```text +```txt -Xlog:async ``` @@ -149,17 +145,17 @@ chcp 65001 # for Windows (仅适合 Paper 和 Paper Fork) -```text +```txt -Dpaper.playerconnection.keepalive=60 ``` -如果你的网络不好,可以适当延长 keepalive 时间,打开[alternate-keepalive](../go.mdx#心跳连接) +如果你的网络不好,可以适当延长 keepalive 时间,打开[alternate-keepalive](/java/advance/maintenance/optimize/go#心跳连接) ## 禁用文件夹遍历和符号链接验证 (仅适合 Paper 和 Paper Fork) -```text +```txt -Dpaper.disableWorldSymlinkValidation=true ``` diff --git a/java/process/maintenance/optimize/jvm/dragonwell11.md b/src/content/docs/java/advance/maintenance/optimize/jvm/dragonwell11.md similarity index 96% rename from java/process/maintenance/optimize/jvm/dragonwell11.md rename to src/content/docs/java/advance/maintenance/optimize/jvm/dragonwell11.md index f13e40e0c..c376417d8 100644 --- a/java/process/maintenance/optimize/jvm/dragonwell11.md +++ b/src/content/docs/java/advance/maintenance/optimize/jvm/dragonwell11.md @@ -1,18 +1,14 @@ --- -sidebar_position: 4 title: Dragonwell 11 -slug: /optimize/jvm/dragonwell --- -# Dragonwell 11 - 这些参数只适合 Dragonwell 11 ## 基础 -```text +```txt -XX:+UnlockExperimentalVMOptions -XX:+UnlockDiagnosticVMOptions -XX:+AlwaysActAsServerClassMachine -XX:+AlwaysPreTouch -XX:+ExplicitGCInvokesConcurrent -XX:NmethodSweepActivity=1 -XX:ReservedCodeCacheSize=400M -XX:NonNMethodCodeHeapSize=12M -XX:ProfiledCodeHeapSize=194M -XX:NonProfiledCodeHeapSize=194M -XX:-DontCompileHugeMethods -XX:MaxNodeLimit=240000 -XX:NodeLimitFudgeFactor=8000 -XX:+UseVectorCmov -XX:+PerfDisableSharedMem -XX:+UseFastUnorderedTimeStamps -XX:+UseCriticalJavaThreadPriority -XX:ThreadPriorityPolicy=1 -XX:AllocatePrefetchStyle=3 -XX:+UseVtableBasedCHA -Dcom.alibaba.enableFastSerialization=true -XX:+UseBigDecimalOpt -XX:+ReduceNMethodSize ``` @@ -32,7 +28,7 @@ Dragonwell 11 的 ZGC 不同于 OpenJDK11 的 ZGC,Dragonwell 通过移植 Open -```text +```txt -XX:+UseG1GC -XX:MaxGCPauseMillis=130 -XX:+UnlockExperimentalVMOptions -XX:+ExplicitGCInvokesConcurrent -XX:+AlwaysPreTouch -XX:G1NewSizePercent=28 -XX:G1HeapRegionSize=16M -XX:G1ReservePercent=20 -XX:G1MixedGCCountTarget=3 -XX:InitiatingHeapOccupancyPercent=10 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=0 -XX:SurvivorRatio=32 -XX:MaxTenuringThreshold=1 -XX:G1SATBBufferEnqueueingThresholdPercent=30 -XX:G1ConcMarkStepDurationMillis=5 -XX:G1ConcRefinementServiceIntervalMillis=150 -XX:G1ConcRSHotCardLimit=16 -XX:+G1BarrierSimple ``` diff --git a/java/process/maintenance/optimize/jvm/dragonwell8.md b/src/content/docs/java/advance/maintenance/optimize/jvm/dragonwell8.md similarity index 96% rename from java/process/maintenance/optimize/jvm/dragonwell8.md rename to src/content/docs/java/advance/maintenance/optimize/jvm/dragonwell8.md index 44426980c..ee7b0f992 100644 --- a/java/process/maintenance/optimize/jvm/dragonwell8.md +++ b/src/content/docs/java/advance/maintenance/optimize/jvm/dragonwell8.md @@ -1,18 +1,14 @@ --- -sidebar_position: 3 title: Dragonwell 8 -slug: /optimize/jvm/dragonwell8 --- -# Dragonwell 8 - 这些参数只适合 Dragonwell 8 ## 基础 -```text +```txt -XX:+UnlockExperimentalVMOptions -XX:+UnlockDiagnosticVMOptions -XX:+AlwaysActAsServerClassMachine -XX:+ParallelRefProcEnabled -XX:+ExplicitGCInvokesConcurrent -XX:+AlwaysPreTouch -XX:+PerfDisableSharedMem -XX:+AggressiveOpts -XX:+UseFastAccessorMethods -XX:MaxInlineLevel=15 -XX:MaxVectorSize=32 -XX:+UseCompressedOops -XX:ThreadPriorityPolicy=1 -XX:+UseDynamicNumberOfGCThreads -XX:NmethodSweepActivity=1 -XX:ReservedCodeCacheSize=350M -XX:-DontCompileHugeMethods -XX:MaxNodeLimit=240000 -XX:NodeLimitFudgeFactor=8000 -XX:+UseFPUForSpilling -XX:+UseBigDecimalOpt ``` @@ -22,7 +18,7 @@ slug: /optimize/jvm/dragonwell8 x86 Java 8 用户可以添加以下附加参数: -```text +```txt -XX:+UseXMMForArrayCopy ``` @@ -30,7 +26,7 @@ x86 Java 8 用户可以添加以下附加参数: -```text +```txt -XX:+UseG1GC -XX:MaxGCPauseMillis=130 -XX:+UnlockExperimentalVMOptions -XX:+ExplicitGCInvokesConcurrent -XX:+AlwaysPreTouch -XX:G1NewSizePercent=28 -XX:G1HeapRegionSize=16M -XX:G1ReservePercent=20 -XX:G1MixedGCCountTarget=3 -XX:InitiatingHeapOccupancyPercent=10 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=0 -XX:SurvivorRatio=32 -XX:MaxTenuringThreshold=1 -XX:G1SATBBufferEnqueueingThresholdPercent=30 ``` @@ -78,6 +74,6 @@ Wisp 在 JVM 上提供了一种用户态的线程实现。开启 Wisp2 后,Jav G1ElasticHeap 是一种 GC 功能,用于将 Java 堆的内存返回给操作系统,以减少 Java 进程的内存占用。要启用此功能,你需要通过以下选项使用 G1 GC: -```text +```txt -XX:+G1ElasticHeap -XX:+ElasticHeapPeriodicUncommit ``` diff --git a/java/process/maintenance/optimize/jvm/graal.md b/src/content/docs/java/advance/maintenance/optimize/jvm/graal.md similarity index 97% rename from java/process/maintenance/optimize/jvm/graal.md rename to src/content/docs/java/advance/maintenance/optimize/jvm/graal.md index 31d564859..2560f7908 100644 --- a/java/process/maintenance/optimize/jvm/graal.md +++ b/src/content/docs/java/advance/maintenance/optimize/jvm/graal.md @@ -1,11 +1,7 @@ --- -sidebar_position: 5 title: GraalVM EE -slug: /optimize/jvm/graalvm --- -# GraalVM - :::tip 这些参数只适合 GraalVM EE @@ -14,7 +10,7 @@ slug: /optimize/jvm/graalvm ## 参数 -:::warning +:::caution GraalVM 24 以上应该移除 `-Dgraal.OptWriteMotion=true` 参数,同时将 `-Dgraal.` 改为 `-Djdk.graal.` @@ -24,19 +20,19 @@ GraalVM 24 以上应该移除 `-Dgraal.OptWriteMotion=true` 参数,同时将 ` -```text +```txt -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+UnlockDiagnosticVMOptions -XX:+ExplicitGCInvokesConcurrent -XX:+AlwaysPreTouch -XX:G1NewSizePercent=28 -XX:G1MaxNewSizePercent=50 -XX:G1HeapRegionSize=16M -XX:G1ReservePercent=15 -XX:G1MixedGCCountTarget=3 -XX:InitiatingHeapOccupancyPercent=20 -XX:G1MixedGCLiveThresholdPercent=90 -XX:SurvivorRatio=32 -XX:MaxTenuringThreshold=1 -XX:+PerfDisableSharedMem -XX:G1SATBBufferEnqueueingThresholdPercent=30 -XX:G1ConcMarkStepDurationMillis=5 -XX:G1RSetUpdatingPauseTimePercent=0 -XX:+UseNUMA -XX:-DontCompileHugeMethods -XX:MaxNodeLimit=240000 -XX:NodeLimitFudgeFactor=8000 -XX:ReservedCodeCacheSize=400M -XX:NonNMethodCodeHeapSize=12M -XX:ProfiledCodeHeapSize=194M -XX:NonProfiledCodeHeapSize=194M -XX:NmethodSweepActivity=1 -XX:+UseCriticalJavaThreadPriority -XX:AllocatePrefetchStyle=3 -XX:+AlwaysActAsServerClassMachine -XX:+EagerJVMCI -XX:+UseStringDeduplication -XX:+UseFastStosb -XX:+UseNewLongLShift -XX:+UseVectorCmov -XX:+UseXmmI2D -XX:+UseXmmI2F -XX:+AlignVector -XX:+OptimizeFill -XX:+EnableVectorSupport -XX:+UseCharacterCompareIntrinsics -XX:+UseVectorStubs -XX:UseAVX=2 -XX:UseSSE=4 -Dgraal.UsePriorityInlining=true -Dgraal.Vectorization=true -Dgraal.OptDuplication=true -Dgraal.DetectInvertedLoopsAsCounted=true -Dgraal.LoopInversion=true -Dgraal.VectorizeHashes=true -Dgraal.EnterprisePartialUnroll=true -Dgraal.VectorizeSIMD=true -Dgraal.StripMineNonCountedLoops=true -Dgraal.SpeculativeGuardMovement=true -Dgraal.TuneInlinerExploration=1 -Dgraal.LoopRotation=true -Dgraal.OptWriteMotion=true -Dgraal.WriteableCodeCache=true -Dgraal.CompilerConfiguration=enterprise ``` ### ZGC 参数 -:::warning +:::caution 该参数最好用于 GraalVM 24 以上,GraalVM 24 添加了对 ZGC 的 JVMCI 支持 ::: -```text +```txt -XX:+UseZGC -XX:-ZProactive -XX:+UnlockExperimentalVMOptions -XX:+UnlockDiagnosticVMOptions -XX:+ExplicitGCInvokesConcurrent -XX:+AlwaysPreTouch -XX:+PerfDisableSharedMem -XX:+UseNUMA -XX:-DontCompileHugeMethods -XX:MaxNodeLimit=240000 -XX:NodeLimitFudgeFactor=8000 -XX:ReservedCodeCacheSize=400M -XX:NonNMethodCodeHeapSize=12M -XX:ProfiledCodeHeapSize=194M -XX:NonProfiledCodeHeapSize=194M -XX:NmethodSweepActivity=1 -XX:+UseCriticalJavaThreadPriority -XX:AllocatePrefetchStyle=3 -XX:+AlwaysActAsServerClassMachine -XX:+EagerJVMCI -XX:+UseStringDeduplication -XX:+UseFastStosb -XX:+UseNewLongLShift -XX:+UseVectorCmov -XX:+UseXmmI2D -XX:+UseXmmI2F -XX:+AlignVector -XX:+OptimizeFill -XX:+EnableVectorSupport -XX:+UseCharacterCompareIntrinsics -XX:+UseVectorStubs -XX:UseAVX=2 -XX:UseSSE=4 -Dgraal.UsePriorityInlining=true -Dgraal.Vectorization=true -Dgraal.DetectInvertedLoopsAsCounted=true -Dgraal.LoopInversion=true -Dgraal.VectorizeHashes=true -Dgraal.EnterprisePartialUnroll=true -Dgraal.VectorizeSIMD=true -Dgraal.TuneInlinerExploration=1 -Dgraal.LoopRotation=true -Dgraal.OptWriteMotion=true -Dgraal.CompilerConfiguration=enterprise ``` diff --git a/java/process/maintenance/optimize/jvm/jvm.md b/src/content/docs/java/advance/maintenance/optimize/jvm/intro.md similarity index 98% rename from java/process/maintenance/optimize/jvm/jvm.md rename to src/content/docs/java/advance/maintenance/optimize/jvm/intro.md index 2f80154f1..81dfe3279 100644 --- a/java/process/maintenance/optimize/jvm/jvm.md +++ b/src/content/docs/java/advance/maintenance/optimize/jvm/intro.md @@ -1,11 +1,7 @@ --- -sidebar_position: 1 -title: JVM 优化 -slug: /optimize/jvm +title: 概述 --- -# JVM 优化 - 这篇文章可以说是整个笨蛋文档中编写历时最久的 (),为了确保正确性,我们在 Windows 和 Linux 上进行了大量性能测试,结果可以说是十分出人意料 这场测试的细节和日志,报告,Spark,GCLog 等可以在 [Test - Java](https://github.com/lilingfengdev/Test-Java) 找到 diff --git a/java/process/maintenance/optimize/jvm/openj9.md b/src/content/docs/java/advance/maintenance/optimize/jvm/openj9.md similarity index 94% rename from java/process/maintenance/optimize/jvm/openj9.md rename to src/content/docs/java/advance/maintenance/optimize/jvm/openj9.md index 576a742ee..fd822ee9c 100644 --- a/java/process/maintenance/optimize/jvm/openj9.md +++ b/src/content/docs/java/advance/maintenance/optimize/jvm/openj9.md @@ -1,14 +1,10 @@ --- -sidebar_position: 7 title: OpenJ9 -slug: /optimize/jvm/openj9 --- -# OpenJ9 - OpenJ9 是完全重新设计的 JVM,拥有独立的垃圾回收系统,与 HotSpot JVM 的 G1GC、ZGC 等完全不同。 -:::warning +:::caution 这些参数的主要目的是降低内存占用,而非优化性能 @@ -39,11 +35,11 @@ spark: 添加参数: -```text +```txt -Dpaper.preferSparkPlugin=true ``` -:::warning +:::caution 禁用 Spark 后无法使用性能分析功能。 @@ -53,7 +49,7 @@ spark: -```text +```txt -XX:+IdleTuningGcOnIdle -XX:+UseAggressiveHeapShrink -XX:-OmitStackTraceInFastThrow -XX:+UseFastAccessorMethods -XX:+OptimizeStringConcat -Xshareclasses:allowClasspaths -Xshareclasses:cacheDir=./cache -Xaot -XX:+UseCompressedOops -XX:ObjectAlignmentInBytes=256 -Xshareclasses -XX:SharedCacheHardLimit=800M -Xtune:virtualized -XX:+TieredCompilation -XX:InitialTenuringThreshold=5 -Dlog4j2.formatMsgNoLookups=true -XX:-DisableExplicitGC ``` @@ -67,7 +63,7 @@ OpenJ9 使用 `-Xgcpolicy` 参数来指定垃圾回收策略,而不是 HotSpot 适合大多数 Minecraft 服务器场景,特别是有大量短生命周期对象的事务性应用。 -```text +```txt -Xgcpolicy:gencon ``` @@ -84,7 +80,7 @@ OpenJ9 使用 `-Xgcpolicy` 参数来指定垃圾回收策略,而不是 HotSpot 适合大堆内存(仅 64 位),能够平衡暂停时间并减少碎片化。 -```text +```txt -Xgcpolicy:balanced ``` @@ -92,7 +88,7 @@ OpenJ9 使用 `-Xgcpolicy` 参数来指定垃圾回收策略,而不是 HotSpot 优化平均暂停时间,适合对延迟敏感的应用。 -```text +```txt -Xgcpolicy:optavgpause ``` @@ -100,7 +96,7 @@ OpenJ9 使用 `-Xgcpolicy` 参数来指定垃圾回收策略,而不是 HotSpot 优化吞吐量,适合能容忍较长 GC 暂停的应用。 -```text +```txt -Xgcpolicy:optthruput ``` @@ -108,7 +104,7 @@ OpenJ9 使用 `-Xgcpolicy` 参数来指定垃圾回收策略,而不是 HotSpot 提供确定性的短暂停时间(仅 Linux x86-64 和 AIX)。 -```text +```txt -Xgcpolicy:metronome ``` diff --git a/java/process/maintenance/optimize/jvm/zing.md b/src/content/docs/java/advance/maintenance/optimize/jvm/zing.md similarity index 97% rename from java/process/maintenance/optimize/jvm/zing.md rename to src/content/docs/java/advance/maintenance/optimize/jvm/zing.md index 268c8be73..fb5befd5f 100644 --- a/java/process/maintenance/optimize/jvm/zing.md +++ b/src/content/docs/java/advance/maintenance/optimize/jvm/zing.md @@ -1,14 +1,10 @@ --- -sidebar_position: 6 title: Azul Zing -slug: /optimize/jvm/zing --- -# Azul Zing - 通用内容的参数可以使用 (比如大页),但不要自行指定 GC,或其他优化参数 -:::warning +:::caution Azul Zing 的专业性较强,新手请不要使用 @@ -36,7 +32,7 @@ Azul Zing 的专业性较强,新手请不要使用 ### 编译存储(已弃用) -:::warning +:::caution 以下 Falcon 参数已在 Zing 25.02 版本中被标记为弃用,并可能在未来版本中移除,不建议继续使用: @@ -72,13 +68,13 @@ C4 是 Zing 中唯一的垃圾收集器,取代了 OpenJDK 中可用的其他 使用 `-XX:+UseZST` 开启 -:::info +:::note **关于 ZST 的使用**:根据 Azul 官方说明,如果你的 Linux 内核版本足够新,你可以 **不使用 ZST**,直接安装 Zing 即可。ZST 组件是可选的,主要用于较旧的内核版本。 ::: -:::warning +:::caution 请不要在使用 ZST 的同时使用透明大页面,请禁用透明大页面 diff --git a/java/process/maintenance/optimize/kernel.md b/src/content/docs/java/advance/maintenance/optimize/kernel.mdx similarity index 97% rename from java/process/maintenance/optimize/kernel.md rename to src/content/docs/java/advance/maintenance/optimize/kernel.mdx index 4eded72d8..12a6004bd 100644 --- a/java/process/maintenance/optimize/kernel.md +++ b/src/content/docs/java/advance/maintenance/optimize/kernel.mdx @@ -1,12 +1,8 @@ --- title: 内核优化 -sidebar_position: 6 --- -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -# 内核优化 +import { TabItem, Tabs } from "@astrojs/starlight/components"; 内核优化主要针对 Linux 操作系统而非 Windows,以下命令需要以 root 权限运行 @@ -16,22 +12,22 @@ tuned 调优服务可以通过设置调优配置文件来调整操作系统, 执行以下命令来安装 tuned: - - + + ```bash sudo apt install tuned ``` - + ```bash sudo yum install tuned ``` - + ```bash sudo pacman -S tuned @@ -56,19 +52,19 @@ tuned-adm profile throughput-performance 打开文件 `/etc/sysctl.conf`,在末尾添加以下内容 -```text +```txt vm.nr_hugepages = <需要的页数> ``` 可以通过一个公式知道需要的页数: -```text +```txt (分配的内存数 (单位:MB)) / 2 + 300 ``` 比如我分配了 12GB 的内存 (也就是 12288 MB),那么设置的值为 `12288 / 2+ 300 = 6444`,最后的设置应该长这样 -```text +```txt vm.nr_hugepages = 6444 ``` @@ -136,13 +132,13 @@ XanMod Linux 内核融合了许多优化补丁,包括许多来自 Cloudflare 输出结果 - ```text + ```txt CPU supports x86-64-v4 ``` 这里可以看到我的 CPU 是支持 v4 版本的,安装时可以按照此结果进行选择。 - :::warning + :::caution 一定要选择符合的版本进行安装,否则将导致无法正常启动! @@ -193,7 +189,7 @@ XanMod Linux 内核融合了许多优化补丁,包括许多来自 Cloudflare ::: -```text +```txt cat <<'TEXT' > /etc/sysctl.conf # ------ 网络调优:基本 ------ # TTL 配置,Linux 默认 64 diff --git a/java/process/maintenance/optimize/optimized-plugin.md b/src/content/docs/java/advance/maintenance/optimize/optimized-plugin.md similarity index 92% rename from java/process/maintenance/optimize/optimized-plugin.md rename to src/content/docs/java/advance/maintenance/optimize/optimized-plugin.md index be0363dc6..3fcd3a282 100644 --- a/java/process/maintenance/optimize/optimized-plugin.md +++ b/src/content/docs/java/advance/maintenance/optimize/optimized-plugin.md @@ -1,10 +1,7 @@ --- title: 优化误区 -sidebar_position: 6 --- -# 优化误区 - ## 混合端 由于混合端本身的问题,混合端能进行的优化很少,并且混合端 **不可以装大部分优化 mod**,但是你仍然可以进行除安装优化 mod 以外的其他优化操作 @@ -13,7 +10,7 @@ sidebar_position: 6 ## 优化插件 -:::warning[特别说明] +:::caution[特别说明] 我们在这里列出的不建议使用的插件是一个类型的插件,而不是仅仅只是不推荐某个插件。对于推荐的"优化插件" ,其实大多数也是通过限制红石/漏斗/实体数量和 AI 等完成的, @@ -26,7 +23,7 @@ sidebar_position: 6 ## 不建议使用的"优化"插件 -:::info +:::note 有很多优化是核心自带的,使用插件只是利用核心的 API,效率上是比不上核心的。如 AI,村民,爆炸,区块卸载等... @@ -38,7 +35,7 @@ sidebar_position: 6 由于大量生成区块非常消耗性能,限制玩家生成的区块数,能够起到一定的效果。 -但我们一般可以通过 [参数配置](go.mdx#prevent-moving-into-unloaded-chunks) 降低区块生成速率,不太需要强行拉回玩家或减速玩家等方式干扰跑图。 +但我们一般可以通过 [参数配置](/java/advance/maintenance/optimize/go#prevent-moving-into-unloaded-chunks) 降低区块生成速率,不太需要强行拉回玩家或减速玩家等方式干扰跑图。 因此,停止使用类似插件,如: @@ -76,8 +73,8 @@ AI.* 地面上的物品很少会导致性能问题,而且物品往往会自行消失,如果你的服务器掉落物特别多,请调整以下两个参数: -[点这里查看正确方法 #alt-item-despawn-rate](go.mdx#alt-item-despawn-rate), -[点这里查看正确方法 #merge-radius](go.mdx#merge-radius) +[点这里查看正确方法 #alt-item-despawn-rate](/java/advance/maintenance/optimize/go#alt-item-despawn-rate), +[点这里查看正确方法 #merge-radius](/java/advance/maintenance/optimize/go#merge-radius) 因此,停止使用类似插件,如: @@ -87,7 +84,7 @@ AI.* 使用插件删除生物是笨蛋中的笨蛋才会做的事,生物如果达到服务器设定的上限则会停止生成。而被清除后,服务器必须重新生成生物,这个过程也是非常费性能的。 -如果你不需要那么多怪物,直接调整参数即可 [点这里查看正确方法](go.mdx#spawn-limits) +如果你不需要那么多怪物,直接调整参数即可 [点这里查看正确方法](/java/advance/maintenance/optimize/go#spawn-limits) 因此,停止使用类似插件,如: @@ -121,19 +118,19 @@ https://github.com/quiquelhappy/StackMob-5 Paper 酱为你在 `/config/paper-world-default.yml` 中准备了爆炸优化。 -[点这里查看正确方法](go.mdx#optimize-explosions) +[点这里查看正确方法](/java/advance/maintenance/optimize/go#optimize-explosions) ### 区块卸载插件 服务器会自己卸载插件,与其使用插件一遍遍检查区块是否需要卸载不如让服务器自行卸载, -如果你需要更快卸载请 [点这里查看正确方法](go.mdx#delay-chunk-unloads-by) +如果你需要更快卸载请 [点这里查看正确方法](/java/advance/maintenance/optimize/go#delay-chunk-unloads-by) ## 其他应该避免使用的插件 ### 多合一插件 -:::warning +:::caution 大佬们,多合一插件大多数都是把几个开源的功能拼接到一起就说多合一说不定还付费了。这并不划算,且本身很容易臃肿。 @@ -149,7 +146,7 @@ Paper 酱为你在 `/config/paper-world-default.yml` 中准备了爆炸优化。 1. ChunkAnalyser - 简单的搜索世界的红石,漏斗,实体之类,有很多平替插件如 [Insights](https://modrinth.com/plugin/insights)/ [Entitydetection](https://www.spigotmc.org/resources/entitydetection-tile-entity-support.20588/); -2. LagMonitor,LagMap,Benchmark - 很鸡肋的性能检测 (不如 [Spark](performance-analysis.md#spark)); +2. LagMonitor,LagMap,Benchmark - 很鸡肋的性能检测 (不如 [Spark](/java/advance/maintenance/optimize/performance-analysis#spark)); 3. RedstoneCuller - 直接破坏红石机器,平替插件 [AntiRedstoneClock](https://hangar.papermc.io/OneLiteFeather/AntiRedstoneClock-Remastered); @@ -201,7 +198,7 @@ Paper 酱为你在 `/config/paper-world-default.yml` 中准备了爆炸优化。 ## 有用的 ~~优化~~ 限制插件 -:::warning[红石限制?] +:::caution[红石限制?] 目前,市面上的红石限制插件限制红石的方式都是通过破坏或停用实现的 diff --git a/java/process/maintenance/optimize/performance-analysis.md b/src/content/docs/java/advance/maintenance/optimize/performance-analysis.md similarity index 97% rename from java/process/maintenance/optimize/performance-analysis.md rename to src/content/docs/java/advance/maintenance/optimize/performance-analysis.md index a7332fc1c..9fb6cf8de 100644 --- a/java/process/maintenance/optimize/performance-analysis.md +++ b/src/content/docs/java/advance/maintenance/optimize/performance-analysis.md @@ -1,17 +1,14 @@ --- title: 性能分析 -sidebar_position: 5 --- -# 性能分析 - 性能分析是一切"优化"的依据。如果你不知道服务器导致卡顿的元凶,那么将毫无意义。 ## Spark Spark 是一个 Minecraft 的性能分析器,支持广泛 (如 Bukkit,BungeeCord,Velocity,Forge,Fabric 等)。 -:::info +:::note `官网` :https://spark.lucko.me @@ -35,7 +32,7 @@ Spark 是一个 Minecraft 的性能分析器,支持广泛 (如 Bukkit,Bungee 对于 Purpur Fork 服务器或 Paper 1.21 #100 之后的构建,默认自带 Spark,无需单独下载。 -:::warning +:::caution 在 BungeeCord、Velocity 和 Forge/Fabric 中,请分别使用 `/sparkb` 、 `/sparkv` 和 `/sparkc` 来代替 `/spark` @@ -79,7 +76,7 @@ Timings 是一个 Spigot 自带的性能分析器,由于其监听每一个事 在很多服务器核心 (如 Purpur 等) 本身也是被移除的,**不推荐**。 -:::warning +:::caution 在可预见的未来 Timings 将会被移除,作为新手可以直接跳过。如果你使用 Paper 服务器,请禁用 Timings!虽然它是一个很好的诊断工具, @@ -91,7 +88,7 @@ Timings 是一个 Spigot 自带的性能分析器,由于其监听每一个事 ## 其他软件分析 -:::warning +:::caution 这部分需要一些基础知识,一般 Spark 分析不出来才会尝试其他软件。*一般服主不必要学习这部分内容*。 diff --git a/java/process/maintenance/optimize/storage-space-optimization.md b/src/content/docs/java/advance/maintenance/optimize/storage-space-optimization.md similarity index 82% rename from java/process/maintenance/optimize/storage-space-optimization.md rename to src/content/docs/java/advance/maintenance/optimize/storage-space-optimization.md index dadb1c71c..7224af8ba 100644 --- a/java/process/maintenance/optimize/storage-space-optimization.md +++ b/src/content/docs/java/advance/maintenance/optimize/storage-space-optimization.md @@ -1,10 +1,7 @@ --- title: 储存空间优化 -sidebar_position: 4 --- -# 储存空间优化 - ## 插件数据优化 对于 `/plugins` 文件夹储存是否需要进行优化这个问题,有个很简单的判断方法就是查看总占用, @@ -15,7 +12,7 @@ sidebar_position: 4 ### 使用数据库 -合理使用数据库可以降低服务器硬盘占用。详见 [通用 | 数据库相关](/database) +合理使用数据库可以降低服务器硬盘占用。详见 [通用 | 数据库相关](/general/process/database/intro) ## 备份空间优化 @@ -85,12 +82,12 @@ Leaf/Luminol 等核心最新版已应用修复补丁,虽然性能会受到影 感谢 HaHaWTH 提供的测试结果,测试内容为使用 Chunky 加载半径 1000 格的方块并保存,测试核心为 Leaf,实际结果可能与测试结果有出入。 | 世界 | Anvil (原版格式) | Linear (压缩比为 1) | Linear (压缩比为 6,默认压缩比) | Linear (压缩比为 22)(最大压缩比) | -| -------- | --------------- | ------------------ | ------------------------------ | ------------------------------- | -| 主世界 | 192MB | 142MB | 117MB | 92MB | -| 地狱 | 118MB | 70MB | 60MB | 46MB | -| 末地 | 87MB | 1.72MB | 1.2MB | 914KB | -| 保存用时 | 3m18s | 3m50s | 4m44s | 23m21s | -| 内存占用 | 3GB 左右 | 3.1GB | 3.3GB | 3.4 ~ 18GB(极不稳定) | +| -------- | ---------------- | ------------------- | ------------------------------- | -------------------------------- | +| 主世界 | 192MB | 142MB | 117MB | 92MB | +| 地狱 | 118MB | 70MB | 60MB | 46MB | +| 末地 | 87MB | 1.72MB | 1.2MB | 914KB | +| 保存用时 | 3m18s | 3m50s | 4m44s | 23m21s | +| 内存占用 | 3GB 左右 | 3.1GB | 3.3GB | 3.4 ~ 18GB(极不稳定) | :::note @@ -100,7 +97,7 @@ Leaf/Luminol 等核心最新版已应用修复补丁,虽然性能会受到影 #### Slime -请查看 [Slime 区域格式](../../../advance/slime-world.md) +请查看 [Slime 区域格式](/java/advance/slime-world) ## 其他 @@ -112,7 +109,7 @@ Leaf/Luminol 等核心最新版已应用修复补丁,虽然性能会受到影 4。检查是否有多余的 Java (一般来说开服一个版本的 Java 即可)。 -:::warning +:::caution 除非你知道你在删什么否则请先请教大佬能不能删除或者先备份,不要删了才发现服务器出问题。 diff --git a/java/process/maintenance/resourcepack/_assets/1.png b/src/content/docs/java/advance/maintenance/resourcepack/_assets/1.png similarity index 100% rename from java/process/maintenance/resourcepack/_assets/1.png rename to src/content/docs/java/advance/maintenance/resourcepack/_assets/1.png diff --git a/java/process/maintenance/resourcepack/_assets/2.png b/src/content/docs/java/advance/maintenance/resourcepack/_assets/2.png similarity index 100% rename from java/process/maintenance/resourcepack/_assets/2.png rename to src/content/docs/java/advance/maintenance/resourcepack/_assets/2.png diff --git a/java/process/maintenance/resourcepack/_assets/3.png b/src/content/docs/java/advance/maintenance/resourcepack/_assets/3.png similarity index 100% rename from java/process/maintenance/resourcepack/_assets/3.png rename to src/content/docs/java/advance/maintenance/resourcepack/_assets/3.png diff --git a/java/process/maintenance/resourcepack/_assets/4.png b/src/content/docs/java/advance/maintenance/resourcepack/_assets/4.png similarity index 100% rename from java/process/maintenance/resourcepack/_assets/4.png rename to src/content/docs/java/advance/maintenance/resourcepack/_assets/4.png diff --git a/java/process/maintenance/resourcepack/_assets/5.png b/src/content/docs/java/advance/maintenance/resourcepack/_assets/5.png similarity index 100% rename from java/process/maintenance/resourcepack/_assets/5.png rename to src/content/docs/java/advance/maintenance/resourcepack/_assets/5.png diff --git a/java/process/maintenance/resourcepack/_assets/6.png b/src/content/docs/java/advance/maintenance/resourcepack/_assets/6.png similarity index 100% rename from java/process/maintenance/resourcepack/_assets/6.png rename to src/content/docs/java/advance/maintenance/resourcepack/_assets/6.png diff --git a/java/process/maintenance/resourcepack/_assets/7.png b/src/content/docs/java/advance/maintenance/resourcepack/_assets/7.png similarity index 100% rename from java/process/maintenance/resourcepack/_assets/7.png rename to src/content/docs/java/advance/maintenance/resourcepack/_assets/7.png diff --git a/java/process/maintenance/resourcepack/_assets/8.png b/src/content/docs/java/advance/maintenance/resourcepack/_assets/8.png similarity index 100% rename from java/process/maintenance/resourcepack/_assets/8.png rename to src/content/docs/java/advance/maintenance/resourcepack/_assets/8.png diff --git a/java/process/maintenance/resourcepack/_assets/blockbench.png b/src/content/docs/java/advance/maintenance/resourcepack/_assets/blockbench.png similarity index 100% rename from java/process/maintenance/resourcepack/_assets/blockbench.png rename to src/content/docs/java/advance/maintenance/resourcepack/_assets/blockbench.png diff --git a/java/process/maintenance/resourcepack/_assets/head.png b/src/content/docs/java/advance/maintenance/resourcepack/_assets/head.png similarity index 100% rename from java/process/maintenance/resourcepack/_assets/head.png rename to src/content/docs/java/advance/maintenance/resourcepack/_assets/head.png diff --git a/java/process/maintenance/resourcepack/_assets/title.png b/src/content/docs/java/advance/maintenance/resourcepack/_assets/title.png similarity index 100% rename from java/process/maintenance/resourcepack/_assets/title.png rename to src/content/docs/java/advance/maintenance/resourcepack/_assets/title.png diff --git a/java/process/maintenance/resourcepack/_assets/tooltip1.png b/src/content/docs/java/advance/maintenance/resourcepack/_assets/tooltip1.png similarity index 100% rename from java/process/maintenance/resourcepack/_assets/tooltip1.png rename to src/content/docs/java/advance/maintenance/resourcepack/_assets/tooltip1.png diff --git a/java/process/maintenance/resourcepack/_assets/tooltip2.png b/src/content/docs/java/advance/maintenance/resourcepack/_assets/tooltip2.png similarity index 100% rename from java/process/maintenance/resourcepack/_assets/tooltip2.png rename to src/content/docs/java/advance/maintenance/resourcepack/_assets/tooltip2.png diff --git a/java/process/maintenance/resourcepack/addon.md b/src/content/docs/java/advance/maintenance/resourcepack/addon.md similarity index 90% rename from java/process/maintenance/resourcepack/addon.md rename to src/content/docs/java/advance/maintenance/resourcepack/addon.md index 46ed26c5d..d5b98274a 100644 --- a/java/process/maintenance/resourcepack/addon.md +++ b/src/content/docs/java/advance/maintenance/resourcepack/addon.md @@ -1,13 +1,10 @@ --- -sidebar_position: 5 title: 案例 --- -# 案例 - 一些比较有价值的案例。 -:::warning +:::caution 该页面正在编辑。 diff --git a/java/process/maintenance/resourcepack/compress.md b/src/content/docs/java/advance/maintenance/resourcepack/compress.md similarity index 98% rename from java/process/maintenance/resourcepack/compress.md rename to src/content/docs/java/advance/maintenance/resourcepack/compress.md index cd815d486..64d13cb1f 100644 --- a/java/process/maintenance/resourcepack/compress.md +++ b/src/content/docs/java/advance/maintenance/resourcepack/compress.md @@ -1,10 +1,7 @@ --- title: 压缩 & 混淆 -sidebar_position: 3 --- -# 压缩 & 混淆 - 为了让玩家更快的下载资源包 (并节省你的流量),你需要对资源包进行压缩 或者为了防止他人轻易的偷走你的资源包,你也需要对资源包进行混淆 @@ -59,7 +56,7 @@ zip_spec_conformance_level = 'pedantic' `disregard` 为加料模式,包括提取保护和改进的内部 ZIP 文件结构压缩,会获得更好的性能,非常推荐 -:::warning +:::caution 并不是所有的托管和查看程序都能识别 `disregard` 模式的 zip 文件 diff --git a/java/process/maintenance/resourcepack/resourcepack.md b/src/content/docs/java/advance/maintenance/resourcepack/intro.md similarity index 96% rename from java/process/maintenance/resourcepack/resourcepack.md rename to src/content/docs/java/advance/maintenance/resourcepack/intro.md index e1f408950..9aef6c67b 100644 --- a/java/process/maintenance/resourcepack/resourcepack.md +++ b/src/content/docs/java/advance/maintenance/resourcepack/intro.md @@ -1,11 +1,7 @@ --- -sidebar_position: 3 -title: 资源包 -slug: /resourcepack +title: 概述 --- -# 资源包 - :::tip 这一部分的教程不是教你如何 **制作** 资源包,而是教你如何 **托管/压缩/混淆** 资源包!! diff --git a/java/process/maintenance/resourcepack/plugins/_assets/25b2c895c2af14fbc7e6989404d0ff7af64020ea.gif b/src/content/docs/java/advance/maintenance/resourcepack/plugins/_assets/25b2c895c2af14fbc7e6989404d0ff7af64020ea.gif similarity index 100% rename from java/process/maintenance/resourcepack/plugins/_assets/25b2c895c2af14fbc7e6989404d0ff7af64020ea.gif rename to src/content/docs/java/advance/maintenance/resourcepack/plugins/_assets/25b2c895c2af14fbc7e6989404d0ff7af64020ea.gif diff --git a/java/process/maintenance/resourcepack/plugins/_assets/272f487d799270ea2e204de73236dda77d18f954.gif b/src/content/docs/java/advance/maintenance/resourcepack/plugins/_assets/272f487d799270ea2e204de73236dda77d18f954.gif similarity index 100% rename from java/process/maintenance/resourcepack/plugins/_assets/272f487d799270ea2e204de73236dda77d18f954.gif rename to src/content/docs/java/advance/maintenance/resourcepack/plugins/_assets/272f487d799270ea2e204de73236dda77d18f954.gif diff --git a/java/process/maintenance/resourcepack/plugins/_assets/30a53ea3a4d029784f4ed54d17a335e099b805b4.gif b/src/content/docs/java/advance/maintenance/resourcepack/plugins/_assets/30a53ea3a4d029784f4ed54d17a335e099b805b4.gif similarity index 100% rename from java/process/maintenance/resourcepack/plugins/_assets/30a53ea3a4d029784f4ed54d17a335e099b805b4.gif rename to src/content/docs/java/advance/maintenance/resourcepack/plugins/_assets/30a53ea3a4d029784f4ed54d17a335e099b805b4.gif diff --git a/java/process/maintenance/resourcepack/plugins/_assets/4f4a015981222b37bfa3b2324113d919a33b090f.png b/src/content/docs/java/advance/maintenance/resourcepack/plugins/_assets/4f4a015981222b37bfa3b2324113d919a33b090f.png similarity index 100% rename from java/process/maintenance/resourcepack/plugins/_assets/4f4a015981222b37bfa3b2324113d919a33b090f.png rename to src/content/docs/java/advance/maintenance/resourcepack/plugins/_assets/4f4a015981222b37bfa3b2324113d919a33b090f.png diff --git a/java/process/maintenance/resourcepack/plugins/_assets/52470cba6836ab471f19c8e788c513765de2d02c.png b/src/content/docs/java/advance/maintenance/resourcepack/plugins/_assets/52470cba6836ab471f19c8e788c513765de2d02c.png similarity index 100% rename from java/process/maintenance/resourcepack/plugins/_assets/52470cba6836ab471f19c8e788c513765de2d02c.png rename to src/content/docs/java/advance/maintenance/resourcepack/plugins/_assets/52470cba6836ab471f19c8e788c513765de2d02c.png diff --git a/java/process/maintenance/resourcepack/plugins/_assets/d0a7f51a86d1a313f1b41f27e021421adc93eec9.png b/src/content/docs/java/advance/maintenance/resourcepack/plugins/_assets/d0a7f51a86d1a313f1b41f27e021421adc93eec9.png similarity index 100% rename from java/process/maintenance/resourcepack/plugins/_assets/d0a7f51a86d1a313f1b41f27e021421adc93eec9.png rename to src/content/docs/java/advance/maintenance/resourcepack/plugins/_assets/d0a7f51a86d1a313f1b41f27e021421adc93eec9.png diff --git a/java/process/maintenance/resourcepack/plugins/_assets/f6b239e0689c433ef5a2c0e85f710e988bf1ba4e.gif b/src/content/docs/java/advance/maintenance/resourcepack/plugins/_assets/f6b239e0689c433ef5a2c0e85f710e988bf1ba4e.gif similarity index 100% rename from java/process/maintenance/resourcepack/plugins/_assets/f6b239e0689c433ef5a2c0e85f710e988bf1ba4e.gif rename to src/content/docs/java/advance/maintenance/resourcepack/plugins/_assets/f6b239e0689c433ef5a2c0e85f710e988bf1ba4e.gif diff --git a/java/process/maintenance/resourcepack/plugins/_assets/fd658155424cd985553237821611dfdea040b166.gif b/src/content/docs/java/advance/maintenance/resourcepack/plugins/_assets/fd658155424cd985553237821611dfdea040b166.gif similarity index 100% rename from java/process/maintenance/resourcepack/plugins/_assets/fd658155424cd985553237821611dfdea040b166.gif rename to src/content/docs/java/advance/maintenance/resourcepack/plugins/_assets/fd658155424cd985553237821611dfdea040b166.gif diff --git a/java/process/maintenance/resourcepack/plugins/_assets/videoframe_1994.png b/src/content/docs/java/advance/maintenance/resourcepack/plugins/_assets/videoframe_1994.png similarity index 100% rename from java/process/maintenance/resourcepack/plugins/_assets/videoframe_1994.png rename to src/content/docs/java/advance/maintenance/resourcepack/plugins/_assets/videoframe_1994.png diff --git a/java/process/maintenance/resourcepack/plugins/_assets/videoframe_931.png b/src/content/docs/java/advance/maintenance/resourcepack/plugins/_assets/videoframe_931.png similarity index 100% rename from java/process/maintenance/resourcepack/plugins/_assets/videoframe_931.png rename to src/content/docs/java/advance/maintenance/resourcepack/plugins/_assets/videoframe_931.png diff --git a/java/process/maintenance/resourcepack/plugins/entity.md b/src/content/docs/java/advance/maintenance/resourcepack/plugins/entity.mdx similarity index 84% rename from java/process/maintenance/resourcepack/plugins/entity.md rename to src/content/docs/java/advance/maintenance/resourcepack/plugins/entity.mdx index 87804428d..e24e3b1ac 100644 --- a/java/process/maintenance/resourcepack/plugins/entity.md +++ b/src/content/docs/java/advance/maintenance/resourcepack/plugins/entity.mdx @@ -3,13 +3,10 @@ sidebar_position: 5 title: 生物实体 --- -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; +import { TabItem, Tabs } from "@astrojs/starlight/components"; -# 生物实体 - - - + + 此插件可以帮助你打包资源包生物模型 @@ -18,7 +15,7 @@ import TabItem from '@theme/TabItem'; - v3 支持 1.16 - 1.20 - v4 支持 1.19 - 1.21 -:::info +:::note `插件百科` https://mineplugin.org/ModelEngine @@ -26,7 +23,7 @@ import TabItem from '@theme/TabItem'; ## v3 -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/.79477/ @@ -40,7 +37,7 @@ import TabItem from '@theme/TabItem'; ## v4 -:::info +:::note `MythicCraft` https://mythiccraft.io/index.php?resources/.1213/ @@ -53,9 +50,9 @@ import TabItem from '@theme/TabItem'; [ModelEngineDecoration](https://www.spigotmc.org/resources/106916/) 是 ModelEngine v4 的一个扩展,可以把生物实体变成装饰 - + -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/121561 @@ -73,9 +70,9 @@ import TabItem from '@theme/TabItem'; - + -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/.111660 diff --git a/java/process/maintenance/resourcepack/plugins/framework.md b/src/content/docs/java/advance/maintenance/resourcepack/plugins/framework.mdx similarity index 93% rename from java/process/maintenance/resourcepack/plugins/framework.md rename to src/content/docs/java/advance/maintenance/resourcepack/plugins/framework.mdx index 505d59c2a..3429a1ac4 100644 --- a/java/process/maintenance/resourcepack/plugins/framework.md +++ b/src/content/docs/java/advance/maintenance/resourcepack/plugins/framework.mdx @@ -1,17 +1,13 @@ --- -sidebar_position: 2 title: 资源包框架 --- -# 资源包框架 +import { TabItem, Tabs } from "@astrojs/starlight/components"; -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; + + - - - -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/73355 @@ -29,7 +25,7 @@ import TabItem from '@theme/TabItem'; 这是一个付费闭源插件,GitHub 上并没有上传插件本体。 -```text +```txt 【IA 入门指南。新手必看·简洁版】 - 第一步:IA 是基于原版的材质包框架所开发的插件,所以遵守 Mojang 制定的材质包规范,如果你会材质包开发甚至不需要用到 IA。如果你在使用 IA 时连 CMD,命名空间,着色器,JSON 这些最基本的内容都不知道请恶补以下内容: @@ -51,9 +47,9 @@ https://itemsadder.devs.beer 连基础都没学不要他妈的问问问 - + -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/72448 @@ -73,9 +69,9 @@ https://itemsadder.devs.beer - + -:::info +:::note `Modrinth (社区版)` https://modrinth.com/plugin/craftengine @@ -91,7 +87,7 @@ https://itemsadder.devs.beer ::: -:::warning +:::caution 本项目处于开发状态,如遇到错误请到 [GitHub](https://github.com/Xiao-MoMi/craft-engine/issues) 提交问题 @@ -132,11 +128,11 @@ CraftEngine 使用一个服务端的真实体存储家具的数据,然后将 ### 资源包保护 -:::info[说明] +:::note[说明] -CraftEngine 提供了比 [PackSquash](../compress.md) 更强大的内置资源包保护。 +CraftEngine 提供了比 [PackSquash](/java/advance/maintenance/resourcepack/compress) 更强大的内置资源包保护。 -因为 CraftEngine 侧重于保护性所以使用保护功能时会导致资源包大小增加,如果侧重于压缩率更推荐使用 [PackSquash](../compress.md)。 +因为 CraftEngine 侧重于保护性所以使用保护功能时会导致资源包大小增加,如果侧重于压缩率更推荐使用 [PackSquash](/java/advance/maintenance/resourcepack/compress)。 ::: @@ -146,7 +142,7 @@ CraftEngine 提供了比 [PackSquash](../compress.md) 更强大的内置资源 ::: -:::warning +:::caution 如果发现有可以破解资源包的工具可以前往本插件的 [Discord](https://discord.gg/WVKdaUPR3S) 打开工单反馈! @@ -189,7 +185,7 @@ protection: -:::info +:::note `Polymart` https://polymart.org/resource/nexo.6901 @@ -200,7 +196,7 @@ Oraxen 翻版,目前不推荐使用,英文文档都被删除了 -:::info +:::note `MythicCraft` https://mythiccraft.io/index.php?resources/2 diff --git a/java/process/maintenance/resourcepack/plugins/hud.md b/src/content/docs/java/advance/maintenance/resourcepack/plugins/hud.mdx similarity index 78% rename from java/process/maintenance/resourcepack/plugins/hud.md rename to src/content/docs/java/advance/maintenance/resourcepack/plugins/hud.mdx index 6eeda5f02..436cf3c8a 100644 --- a/java/process/maintenance/resourcepack/plugins/hud.md +++ b/src/content/docs/java/advance/maintenance/resourcepack/plugins/hud.mdx @@ -1,17 +1,13 @@ --- -sidebar_position: 3 title: HUD --- -# HUD +import { TabItem, Tabs } from "@astrojs/starlight/components"; -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; + + - - - -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/115559/ @@ -28,9 +24,9 @@ import TabItem from '@theme/TabItem'; ![](_assets/25b2c895c2af14fbc7e6989404d0ff7af64020ea.gif) - + -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/96299/ diff --git a/src/content/docs/java/advance/maintenance/resourcepack/plugins/intro.md b/src/content/docs/java/advance/maintenance/resourcepack/plugins/intro.md new file mode 100644 index 000000000..34f2e2173 --- /dev/null +++ b/src/content/docs/java/advance/maintenance/resourcepack/plugins/intro.md @@ -0,0 +1,5 @@ +--- +title: 概述 +--- + +一些和资源包生成有关的插件。 diff --git a/java/process/maintenance/resourcepack/plugins/misc.md b/src/content/docs/java/advance/maintenance/resourcepack/plugins/misc.mdx similarity index 83% rename from java/process/maintenance/resourcepack/plugins/misc.md rename to src/content/docs/java/advance/maintenance/resourcepack/plugins/misc.mdx index 6fc2d2838..3a83c5cc6 100644 --- a/java/process/maintenance/resourcepack/plugins/misc.md +++ b/src/content/docs/java/advance/maintenance/resourcepack/plugins/misc.mdx @@ -1,19 +1,15 @@ --- -sidebar_position: 6 title: 其他 --- -# 其他 - ## 生命指示 -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; +import { TabItem, Tabs } from "@astrojs/starlight/components"; - - + + -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/119966/ @@ -26,9 +22,9 @@ import TabItem from '@theme/TabItem'; ![](_assets/d0a7f51a86d1a313f1b41f27e021421adc93eec9.png) - + -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/116619/ @@ -45,9 +41,9 @@ import TabItem from '@theme/TabItem'; ![](_assets/30a53ea3a4d029784f4ed54d17a335e099b805b4.gif) - + -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/114680/ @@ -62,7 +58,7 @@ import TabItem from '@theme/TabItem'; ## 小地图 -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/114756/ @@ -80,7 +76,7 @@ import TabItem from '@theme/TabItem'; ## 生存增强 -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/93795/ diff --git a/java/process/maintenance/resourcepack/plugins/tooltip.md b/src/content/docs/java/advance/maintenance/resourcepack/plugins/tooltip.md similarity index 89% rename from java/process/maintenance/resourcepack/plugins/tooltip.md rename to src/content/docs/java/advance/maintenance/resourcepack/plugins/tooltip.md index 2e4da7f9b..119efaead 100644 --- a/java/process/maintenance/resourcepack/plugins/tooltip.md +++ b/src/content/docs/java/advance/maintenance/resourcepack/plugins/tooltip.md @@ -1,11 +1,8 @@ --- -sidebar_position: 4 title: Tooltip --- -# Tooltips - -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/.109912/ diff --git a/java/process/maintenance/resourcepack/plugins/vehicles.md b/src/content/docs/java/advance/maintenance/resourcepack/plugins/vehicles.mdx similarity index 67% rename from java/process/maintenance/resourcepack/plugins/vehicles.md rename to src/content/docs/java/advance/maintenance/resourcepack/plugins/vehicles.mdx index d20cf15c9..e2919a935 100644 --- a/java/process/maintenance/resourcepack/plugins/vehicles.md +++ b/src/content/docs/java/advance/maintenance/resourcepack/plugins/vehicles.mdx @@ -1,17 +1,13 @@ --- -sidebar_position: 5 title: 载具 --- -# 载具 +import { TabItem, Tabs } from "@astrojs/starlight/components"; -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; + + - - - -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/70523/ @@ -22,9 +18,9 @@ import TabItem from '@theme/TabItem'; 支持版本为 1.17 - 1.21 - + -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/12446/ @@ -35,9 +31,9 @@ import TabItem from '@theme/TabItem'; 支持版本为 1.15 - 1.21 - + -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/80910/ @@ -50,9 +46,9 @@ import TabItem from '@theme/TabItem'; 同样有一个 Geyser 资源包:[MTVehicles-Bedrock-Pack](https://github.com/Tydium/MTVehicles-Bedrock-Pack),仅支持部分载具 - + -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/115364/ diff --git a/java/process/maintenance/resourcepack/protect.md b/src/content/docs/java/advance/maintenance/resourcepack/protect.md similarity index 95% rename from java/process/maintenance/resourcepack/protect.md rename to src/content/docs/java/advance/maintenance/resourcepack/protect.md index be506bb8b..1149ed776 100644 --- a/java/process/maintenance/resourcepack/protect.md +++ b/src/content/docs/java/advance/maintenance/resourcepack/protect.md @@ -1,10 +1,7 @@ --- title: 保护 -sidebar_position: 4 --- -# 保护 - 你也不希望自己辛苦制作的贴图被别人轻松盗走吧,这时候,资源包保护就派上用场了 资源包保护主要分为两种: @@ -29,7 +26,7 @@ sidebar_position: 4 无客户端 mod 保护方案由于技术限制,保护方式集中于 ZIP 格式保护 (如破坏格式),和混淆打乱 (Oraxen 命名空间打乱等) -> 教程:[压缩 & 混淆](compress.md) +> 教程:[压缩 & 混淆](/java/advance/maintenance/resourcepack/compress) ## 有客户端 mod @@ -53,7 +50,7 @@ sidebar_position: 4 ### ResourceHack -:::info +:::note `MineBBS` https://www.minebbs.com/resources/mod.9024/ @@ -79,7 +76,7 @@ sidebar_position: 4 ### KcSecurePack -:::info +:::note `MineBBS` https://www.minebbs.com/resources/kcsecurepack-1-12-2.8699/ diff --git a/java/process/maintenance/resourcepack/send.md b/src/content/docs/java/advance/maintenance/resourcepack/send.md similarity index 99% rename from java/process/maintenance/resourcepack/send.md rename to src/content/docs/java/advance/maintenance/resourcepack/send.md index 8258ea20f..537614a65 100644 --- a/java/process/maintenance/resourcepack/send.md +++ b/src/content/docs/java/advance/maintenance/resourcepack/send.md @@ -1,10 +1,7 @@ --- title: 托管 -sidebar_position: 2 --- -# 托管 - 由于 MC 资源包是通过 URL 传递的,因此,你需要一个服务器去托管资源包 ## 托管插件 diff --git a/java/process/maintenance/resourcepack/software.md b/src/content/docs/java/advance/maintenance/resourcepack/software.md similarity index 93% rename from java/process/maintenance/resourcepack/software.md rename to src/content/docs/java/advance/maintenance/resourcepack/software.md index b3f7b197d..9c7a0ac52 100644 --- a/java/process/maintenance/resourcepack/software.md +++ b/src/content/docs/java/advance/maintenance/resourcepack/software.md @@ -1,10 +1,7 @@ --- title: 软件 -sidebar_position: 1 --- -# 软件 - 收录一些资源包相关的软件。 ## Blockbench diff --git a/src/content/docs/java/advance/slime-world.md b/src/content/docs/java/advance/slime-world.md index 4d86a1986..82e254dd0 100644 --- a/src/content/docs/java/advance/slime-world.md +++ b/src/content/docs/java/advance/slime-world.md @@ -39,7 +39,7 @@ import TabItem from '@theme/TabItem'; 添加启动参数 -```text +```txt -javaagent:swoftyworldmanager-classmodifier-.jar ``` @@ -151,7 +151,7 @@ mongodb: ## 异步世界生成 -:::warning +:::caution 该功能仅限 1.8 版本 diff --git a/src/content/docs/java/process/cross-server/hide-the-real-ip.md b/src/content/docs/java/process/cross-server/hide-the-real-ip.md index 44ccf1ef9..297e36f67 100644 --- a/src/content/docs/java/process/cross-server/hide-the-real-ip.md +++ b/src/content/docs/java/process/cross-server/hide-the-real-ip.md @@ -23,4 +23,4 @@ title: 隐藏真实 IP ### 解析到自己域名 -- 可参考本文档中的 [申请域名](/advance/domain-and-dns) +- 可参考本文档中的 [申请域名](/general/advance/domain-and-dns) diff --git a/src/content/docs/java/process/cross-server/intro.md b/src/content/docs/java/process/cross-server/intro.md index 7e1f00087..9478085fc 100644 --- a/src/content/docs/java/process/cross-server/intro.md +++ b/src/content/docs/java/process/cross-server/intro.md @@ -16,7 +16,7 @@ title: 概述 ![](_assets/灵魂画师教开群组服.png) -:::info +:::note BungeeCord / Velocity 端 (或他们的 Fork) 在这里我们称为 `跨服端` (或者称为 上游服务器 / 反向代理端) @@ -42,12 +42,12 @@ BungeeCord / Velocity 端 (或他们的 Fork) 在这里我们称为 `跨服端` **推荐使用 Velocity**,除非你的版本不适合 Velocity 的现代转发。 -对于各个 MC 服务器 **部署在不同的服务器** 上,跨服代理和子服之间出现了没法进行稳定连接的情况时,也可以尝试原版 1.20.5 服务器新增的 [Transfer](./setup/transfer/transfer.md) 指令。 +对于各个 MC 服务器 **部署在不同的服务器** 上,跨服代理和子服之间出现了没法进行稳定连接的情况时,也可以尝试原版 1.20.5 服务器新增的 [Transfer](/java/process/cross-server/setup/transfer/setup) 指令。 ### 安装数据库 你都跨服了,估计会有多端数据同步的需求吧? -看 [通用 | 数据库相关](/database) +看 [通用 | 数据库相关](/general/process/database/intro) 一般需要安装两个数据库,MySQL 和 Redis,MySQL 用于存储重要信息,比如账号密码,经济,权限 Redis 用于快速跨服同步 diff --git a/src/content/docs/java/process/cross-server/join-server.md b/src/content/docs/java/process/cross-server/join-server.md index e2a6c8e56..ad4730bf8 100644 --- a/src/content/docs/java/process/cross-server/join-server.md +++ b/src/content/docs/java/process/cross-server/join-server.md @@ -8,13 +8,13 @@ title: 加入服务器 ### `/server` 命令 -```text +```txt /server [配置中设置的子服名字] ``` -不过不建议用 `/server` 详见 [此处](/docs-java/process/cross-server/precautions.md#不要给玩家-server-权限) +不过不建议用 `/server` 详见 [此处](/java/process/cross-server/precautions#不要给玩家-server-权限) -:::warning +:::caution 此命令只能由玩家自己在聊天框里敲命令执行,插件不能让玩家执行此命令! @@ -28,7 +28,7 @@ title: 加入服务器 https://wiki.citizensnpcs.co/NPC_Commands#Bungee -```text +```txt /npc command add -p server MyServerName ``` @@ -48,7 +48,7 @@ import invero connect 子服名 https://github.com/gonalez/znpcs/wiki/Commands#server -```text +```txt /znpcs action [id] add SERVER [server] ``` diff --git a/src/content/docs/java/process/cross-server/plugin/proxy-backend-mandatory.md b/src/content/docs/java/process/cross-server/plugin/proxy-backend-mandatory.md index 7afb0987a..98487dfb1 100644 --- a/src/content/docs/java/process/cross-server/plugin/proxy-backend-mandatory.md +++ b/src/content/docs/java/process/cross-server/plugin/proxy-backend-mandatory.md @@ -6,7 +6,7 @@ title: 安装在跨服端和子服 ## SignedVelocity -:::info +:::note `Hangar` https://hangar.papermc.io/4drian3d/SignedVelocity @@ -19,12 +19,9 @@ title: 安装在跨服端和子服 核心支持: - -BungeeCord - - -Velocity - + +![BungeeCord](https://img.shields.io/badge/BungeeCord-orange?&style=for-the-badge) +![Velocity](https://img.shields.io/badge/Velocity-blue?&style=for-the-badge) > 从 Minecraft 1.19.1 开始,Mojang 实现了一个 [新的聊天系统](https://zh.minecraft.wiki/w/Java%E7%89%881.19.1#%E5%B8%B8%E8%A7%84),该系统使用每个玩家拥有的签名密钥。Velocity 尚不完全支持取消或修改这种类型的消息和命令,因此你可以安装 SignedVelocity 插件,这将允许将消息或命令传输到你的服务器,在服务器上收到消息或命令后,将应用在 Velocity 中计算的结果。 —— Velocity 官方文档 @@ -32,7 +29,7 @@ title: 安装在跨服端和子服 ## PAPIProxyBridge -:::info +:::note `Spigotmc` https://www.spigotmc.org/resources/papiproxybridge.108415/ @@ -45,12 +42,9 @@ title: 安装在跨服端和子服 ::: 核心支持: - -BungeeCord - - -Velocity - + +![BungeeCord](https://img.shields.io/badge/BungeeCord-orange?&style=for-the-badge) +![Velocity](https://img.shields.io/badge/Velocity-blue?&style=for-the-badge) PAPIProxyBridge 是安装在后端和代理服务器上的库桥插件,它允许代理端插件使用 PlaceholderAPI 占位符设置文本格式 diff --git a/src/content/docs/java/process/cross-server/plugin/proxy-backend-optional.md b/src/content/docs/java/process/cross-server/plugin/proxy-backend-optional.md index 12ff648a9..d4932cd11 100644 --- a/src/content/docs/java/process/cross-server/plugin/proxy-backend-optional.md +++ b/src/content/docs/java/process/cross-server/plugin/proxy-backend-optional.md @@ -8,7 +8,7 @@ title: 可安装在跨服端或子服 ## MiniMOTD -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/.81254 @@ -23,12 +23,9 @@ title: 可安装在跨服端或子服 ::: 核心支持: - -BungeeCord - - -Velocity - + +![BungeeCord](https://img.shields.io/badge/BungeeCord-orange?&style=for-the-badge) +![Velocity](https://img.shields.io/badge/Velocity-blue?&style=for-the-badge) import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; @@ -49,19 +46,17 @@ import TabItem from '@theme/TabItem'; ## ViaVersion -:::info +:::note -见 [插件 | ViaVersion](../../plugin/misc/via/via.md) +见 [插件 | ViaVersion](/java/process/plugin/misc/via/intro) ::: 核心支持: - -BungeeCord - - -Velocity - + +![BungeeCord](https://img.shields.io/badge/BungeeCord-orange?&style=for-the-badge) + +![Velocity](https://img.shields.io/badge/Velocity-blue?&style=for-the-badge) @@ -84,19 +79,17 @@ import TabItem from '@theme/TabItem'; ## Geyser -:::info +:::note -见 [插件 | Geyser](../../mobile-player/geyser/introduction/overview.md) +见 [插件 | Geyser](/java/process/mobile-player/geyser/intro) ::: 核心支持: - -BungeeCord - - -Velocity - + +![BungeeCord](https://img.shields.io/badge/BungeeCord-orange?&style=for-the-badge) + +![Velocity](https://img.shields.io/badge/Velocity-blue?&style=for-the-badge) @@ -117,19 +110,16 @@ import TabItem from '@theme/TabItem'; ## ServerUtils -:::info +:::note -见 [插件 | ServerUtils](../../plugin/management-tool/plugin-management/serverutils.md) +见 [插件 | ServerUtils](/java/process/plugin/management-tool/plugin-management/serverutils) ::: 核心支持: - -BungeeCord - - -Velocity - + +![BungeeCord](https://img.shields.io/badge/BungeeCord-orange?&style=for-the-badge) +![Velocity](https://img.shields.io/badge/Velocity-blue?&style=for-the-badge) @@ -149,7 +139,7 @@ import TabItem from '@theme/TabItem'; ## PlayerBalancer -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/.55011 @@ -158,12 +148,9 @@ import TabItem from '@theme/TabItem'; ::: 核心支持: - -BungeeCord - - -Velocity - + +![BungeeCord](https://img.shields.io/badge/BungeeCord-orange?&style=for-the-badge) +![Velocity](https://img.shields.io/badge/Velocity-blue?&style=for-the-badge) 可以用来设置多个子大厅,设置主大厅,并按照你配置的方式发送玩家到子服。 @@ -183,19 +170,16 @@ TODO ## TAB -:::info +:::note -见 [插件 | TAB](../../plugin/misc/tab-scoreboard/tab.md) +见 [插件 | TAB](/java/process/plugin/misc/tab-scoreboard/intro) ::: 核心支持: - -BungeeCord - - -Velocity - + +![BungeeCord](https://img.shields.io/badge/BungeeCord-orange?&style=for-the-badge) +![Velocity](https://img.shields.io/badge/Velocity-blue?&style=for-the-badge) 一款好用的 tab 栏插件,此外,还可以制作计分板,Bossbar @@ -225,19 +209,16 @@ TODO ## SkinsRestorer -:::info +:::note -[插件 | 皮肤 - SkinsRestorer](../../plugin/misc/skinsrestorer.md) +[插件 | 皮肤 - SkinsRestorer](/java/process/plugin/misc/skinsrestorer) ::: 核心支持: - -BungeeCord - - -Velocity - + +![BungeeCord](https://img.shields.io/badge/BungeeCord-orange?&style=for-the-badge) +![Velocity](https://img.shields.io/badge/Velocity-blue?&style=for-the-badge) SkinRestorer 拥有完善的 Proxy Mode 以支持在代理服与字符同时部署,其本身作为老牌皮肤插件并无其他明显缺点。 diff --git a/src/content/docs/java/process/cross-server/plugin/proxy-only.md b/src/content/docs/java/process/cross-server/plugin/proxy-only.md index 8201c9202..c0430df27 100644 --- a/src/content/docs/java/process/cross-server/plugin/proxy-only.md +++ b/src/content/docs/java/process/cross-server/plugin/proxy-only.md @@ -6,7 +6,7 @@ title: 只安装在跨服端 ## Sonar -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/.115239 @@ -19,12 +19,9 @@ title: 只安装在跨服端 ::: 核心支持: - -BungeeCord - - -Velocity - + +![BungeeCord](https://img.shields.io/badge/BungeeCord-orange?&style=for-the-badge) +![Velocity](https://img.shields.io/badge/Velocity-blue?&style=for-the-badge) 一款轻量级的反假人插件,能够有效的防止大部分假人进入你的服务器。 @@ -34,7 +31,7 @@ title: 只安装在跨服端 ## AuthMeBungee -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/.50219 @@ -43,9 +40,8 @@ title: 只安装在跨服端 ::: 核心支持: - -BungeeCord - + +![BungeeCord](https://img.shields.io/badge/BungeeCord-orange?&style=for-the-badge) 这是 BungeeCord 版本的 AuthMe。如果你的登录服使用 AuthMe 登录,请务必在 BungeeCord 上安装此插件,以增加登录系统的安全性和完整性,这可以为你避免一些不必要的麻烦 @@ -53,7 +49,7 @@ title: 只安装在跨服端 ## AuthMeVelocity -:::info +:::note `Modrinth` https://modrinth.com/plugin/authmevelocity @@ -62,9 +58,9 @@ title: 只安装在跨服端 ::: 核心支持: - -Velocity - + +![Velocity](https://img.shields.io/badge/Velocity-blue?&style=for-the-badge) + 这是 Velocity 版本的 AuthMe。如果你的登录服使用 AuthMe 登录,请务必在 Velocity 上安装此插件,以增加登录系统的安全性和完整性,这可以为你避免一些不必要的麻烦 @@ -87,7 +83,7 @@ auth-servers=[ 至于 Folia/Paper/Purpur 端则不需要修改任何配置,保证插件正常工作即可。 -:::info +:::note 推荐使用来自 HaHaWTH 佬的 [AuthMeReReloaded](https://github.com/HaHaWTH/AuthMeReReloaded) 引入了完整的 Velocity 支持。 @@ -111,7 +107,7 @@ Hooks: 若 AuthMe 未被加载则会导致 AuthMeVelocity 要求玩家登录但玩家却无法登录,导致所有人无法正常在服务器中游玩。 - 如果在 AuthMeVelocity 被加载时出现形如以下报错: -```text +```txt java.lang.RuntimeException: Failed to download library ``` @@ -119,7 +115,7 @@ java.lang.RuntimeException: Failed to download library ## VLobby -:::info +:::note `Hangar` https://hangar.papermc.io/4drian3d/VLobby @@ -128,23 +124,21 @@ java.lang.RuntimeException: Failed to download library ::: 核心支持: - -Velocity - + +![Velocity](https://img.shields.io/badge/Velocity-blue?&style=for-the-badge) 一个简单的 `/lobby` `/hub` 插件 ## LimboAuth -:::info +:::note -见 [插件 | LimboAuth](../../plugin/misc/login/limboauth.md) +见 [插件 | LimboAuth](/java/process/plugin/misc/login/intro) ::: 核心支持: - -Velocity - + +![Velocity](https://img.shields.io/badge/Velocity-blue?&style=for-the-badge) 一个不错的登录插件。 diff --git a/src/content/docs/java/process/cross-server/precautions.md b/src/content/docs/java/process/cross-server/precautions.md index 440b9403c..f714d5d5f 100644 --- a/src/content/docs/java/process/cross-server/precautions.md +++ b/src/content/docs/java/process/cross-server/precautions.md @@ -15,9 +15,9 @@ title: 注意事项 - 如果你的服务器能直接获取公网(典型的比如带独立 IP 的云服务器): 在系统防火墙中禁止该子服服务端可执行文件或该子服对应端口的入站。 - 如果子服与跨服端位于不同的局域网只能通过公网互相通信: - - 在跨服端和子服所处的两台服务器之间建立 VPN + - 在跨服端和子服所处的两台服务器之间建立 VPN (此处指虚拟专用网络,是通常用于登录学校内网或企业内网的那种网络,不是科学上网!),让子服和跨服端通过 VPN 通信 - - 选用有成熟的防止玩家绕过跨服端连接子服的方案,如 Velocity + Paper 或 BungeeCord + Spigot/Paper 等 + - 选用有成熟的防止玩家绕过跨服端连接子服的方案,如 Velocity + Paper 或 BungeeCord + Spigot/Paper 等 - 因某些原因有独立 IP 又无法开启防火墙: 选用有成熟的防止玩家绕过跨服端连接子服的方案,如 Velocity + Paper 或 BungeeCord + Spigot/Paper 等 @@ -43,17 +43,17 @@ title: 注意事项 ### 关闭权限 -在跨服端安装 [LuckPerms](../plugin/management-tool/permission/permission.md) 的跨服端对应版本然后执行命令: +在跨服端安装 [LuckPerms](/java/process/plugin/management-tool/permission/intro) 的跨服端对应版本然后执行命令: - BungeeCord -```text +```txt /lpb group default permission set bungeecord.command.server false ``` - Velocity -```text +```txt /lpv group default permission set velocity.command.server false ``` diff --git a/src/content/docs/java/process/cross-server/server-core-choose.md b/src/content/docs/java/process/cross-server/server-core-choose.md index 9c43310a0..f02ccba84 100644 --- a/src/content/docs/java/process/cross-server/server-core-choose.md +++ b/src/content/docs/java/process/cross-server/server-core-choose.md @@ -2,7 +2,7 @@ title: 核心选择 --- -:::info +:::note 你可以点击名称一栏中的字体跳转并找到下载 @@ -14,7 +14,7 @@ title: 核心选择 [关于 Waterfall 停止维护的公告](https://forums.papermc.io/threads/announcing-the-end-of-life-of-waterfall.1088/)。 -:::info +:::note 停止维护是指不再为其添加新功能或错误修补, diff --git a/src/content/docs/java/process/cross-server/setup/bungeecord/intro.md b/src/content/docs/java/process/cross-server/setup/bungeecord/intro.md index 0252b2caf..3da6eb3f2 100644 --- a/src/content/docs/java/process/cross-server/setup/bungeecord/intro.md +++ b/src/content/docs/java/process/cross-server/setup/bungeecord/intro.md @@ -10,4 +10,4 @@ title: 概述 如果开高版本尽量选择 Waterfall 或 Velocity -[关于 Waterfall 停止维护](../../server-core-choose.md#关于-waterfall) +[关于 Waterfall 停止维护](/java/start/server-core-choose/intro) diff --git a/src/content/docs/java/process/cross-server/setup/bungeecord/lobby.md b/src/content/docs/java/process/cross-server/setup/bungeecord/lobby.md index a8dce8588..e37ed4277 100644 --- a/src/content/docs/java/process/cross-server/setup/bungeecord/lobby.md +++ b/src/content/docs/java/process/cross-server/setup/bungeecord/lobby.md @@ -24,13 +24,13 @@ flowchart TD 玩家 -->|登录服炸了| 游戏服 ``` -- **在你的登录服安装 [登录插件](../../../plugin/misc/login/login.md)** +- **在你的登录服安装 [登录插件](/java/process/plugin/misc/login/intro)** 提供登录验证。 如果你使用 AuthMe,建议在 BungeeCord / Waterfall 安装 [AuthMeBungee](https://www.spigotmc.org/resources/.50219)。 -- **在你的登录服安装 [大厅插件](../../../plugin/world-management/lobby/lobby.md)** +- **在你的登录服安装 [大厅插件](/java/process/plugin/world-management/lobby/intro)** 提供各种大厅常用的功能如: @@ -46,4 +46,4 @@ flowchart TD - **在你的登录服安装提供跨服传送的插件** -使用这些插件将你的玩家从登录服传送到其他子服,可参考 [加入服务器](../../join-server.md)。 +使用这些插件将你的玩家从登录服传送到其他子服,可参考 [加入服务器](/java/process/cross-server/join-server)。 diff --git a/src/content/docs/java/process/cross-server/setup/bungeecord/setup.md b/src/content/docs/java/process/cross-server/setup/bungeecord/setup.md index 18879ee8e..fe1b87385 100644 --- a/src/content/docs/java/process/cross-server/setup/bungeecord/setup.md +++ b/src/content/docs/java/process/cross-server/setup/bungeecord/setup.md @@ -4,7 +4,7 @@ title: 搭建 ## 下载 -前往 [核心选择](../../server-core-choose.md) 下载 BungeeCord / Waterfall +前往 [核心选择](/java/start/server-core-choose/intro) 下载 BungeeCord / Waterfall BungeeCord 不再支持过旧版本 Minecraft @@ -12,7 +12,7 @@ BungeeCord 不再支持过旧版本 Minecraft | 版本 | 构建 | | ------ | ------------------------------------------------------------------------------------------------------ | -| 1.7.10 | [#1119](https://ci.md-5.net/job/BungeeCord/1119) 或 [Travertine](../../server-core-choose.md#核心选择) | +| 1.7.10 | [#1119](https://ci.md-5.net/job/BungeeCord/1119) 或 [Travertine](/java/start/server-core-choose/intro) | | 1.6.4 | [#701](https://ci.md-5.net/job/BungeeCord/701) | | 1.6.2 | [#666](https://ci.md-5.net/job/BungeeCord/666) | | 1.5.2 | [#548](https://ci.md-5.net/job/BungeeCord/548) | @@ -37,7 +37,7 @@ java -Xms1024M -Xmx1024M -jar 核心名字.jar 配置 BungeeCord 端根目录中的 `config.yml` -[详细配置文件讲解](config-yml.md) +[详细配置文件讲解](/java/process/cross-server/setup/bungeecord/config-yml) ```yaml servers: @@ -87,4 +87,4 @@ bungeecord: false ## 加入 -见 [加入服务器](/docs-java/process/cross-server/join-server.md) +见 [加入服务器](/java/process/cross-server/join-server) diff --git a/src/content/docs/java/process/cross-server/setup/transfer/intro.md b/src/content/docs/java/process/cross-server/setup/transfer/intro.md index f63892dc5..d041c036a 100644 --- a/src/content/docs/java/process/cross-server/setup/transfer/intro.md +++ b/src/content/docs/java/process/cross-server/setup/transfer/intro.md @@ -8,7 +8,7 @@ title: 概述 Transfer 是一个新的,**不同于 BungeeCord 与 Velocity 的** 跨服方法,在《我的世界》1.20.5 版本被添加。 -其去除了中心地位的跨服代理服务器,提供了简单有效的简易跨服方式。[点此](setup.md) 查看搭建方法。 +其去除了中心地位的跨服代理服务器,提供了简单有效的简易跨服方式。[点此](/java/process/cross-server/setup/transfer/setup) 查看搭建方法。 指令格式如下(其中普通括号表示非必须填写): diff --git a/src/content/docs/java/process/cross-server/setup/transfer/setup.md b/src/content/docs/java/process/cross-server/setup/transfer/setup.md index a770e2f44..ec1ecfef6 100644 --- a/src/content/docs/java/process/cross-server/setup/transfer/setup.md +++ b/src/content/docs/java/process/cross-server/setup/transfer/setup.md @@ -41,7 +41,7 @@ online-mode=false ### 网络配置要求 -:::warning[重要:网络访问要求] +:::caution[重要:网络访问要求] Transfer 要求 **所有服务器都能被客户端直接访问**: @@ -125,11 +125,11 @@ accepts-transfers = true **混合架构示例:** -```text +```txt 独立服务器 --Transfer--> Velocity ---> 子服务器群组 ``` -:::warning[兼容性问题] +:::caution[兼容性问题] OnlyTransfer 插件与 Velocity 的 Transfer 支持存在部分兼容性问题,建议在测试环境中验证。 diff --git a/src/content/docs/java/process/cross-server/setup/velocity-ctd/features.md b/src/content/docs/java/process/cross-server/setup/velocity-ctd/features.md index d31aa9813..b15883207 100644 --- a/src/content/docs/java/process/cross-server/setup/velocity-ctd/features.md +++ b/src/content/docs/java/process/cross-server/setup/velocity-ctd/features.md @@ -10,7 +10,7 @@ Velocity-CTD 在标准 Velocity 基础上增加了许多实用功能,本页面 Velocity-CTD 内置了完整的 Redis 支持,可以替代 RedisBungee 等插件,提供更稳定的 Redis 体验。 -:::info[什么时候需要 Redis?] +:::note[什么时候需要 Redis?] - **单代理服务器**:不需要 Redis - **多代理服务器**:必须启用 Redis 来同步数据 @@ -339,7 +339,7 @@ server-full = "服务器已满,正在排队中..." #### 问题:Redis 连接失败 -```text +```txt 解决方案: 1. 检查 Redis 服务是否运行 2. 验证连接信息(host、port、password) @@ -349,7 +349,7 @@ server-full = "服务器已满,正在排队中..." #### 问题:多代理数据不同步 -```text +```txt 解决方案: 1. 确保所有代理使用相同的 Redis 配置 2. 检查 key-prefix 是否一致 @@ -360,7 +360,7 @@ server-full = "服务器已满,正在排队中..." #### 问题:玩家卡在队列中 -```text +```txt 解决方案: 1. 检查目标服务器是否正常运行 2. 使用 /queueadmin remove <玩家> 手动移除 @@ -370,7 +370,7 @@ server-full = "服务器已满,正在排队中..." #### 问题:队列优先级不生效 -```text +```txt 解决方案: 1. 确认 priority-enabled = true 2. 检查玩家权限:velocity.queue.priority.<服务器>.<优先级> @@ -381,7 +381,7 @@ server-full = "服务器已满,正在排队中..." #### 问题:命令不响应 -```text +```txt 解决方案: 1. 检查命令是否启用:[commands] 部分 2. 验证玩家权限:velocity.command.<命令名> @@ -390,7 +390,7 @@ server-full = "服务器已满,正在排队中..." #### 问题:/hub 命令不工作 -```text +```txt 解决方案: 1. 检查 try 配置是否正确 2. 确认回退服务器正在运行 @@ -401,7 +401,7 @@ server-full = "服务器已满,正在排队中..." #### 问题:代理服务器延迟高 -```text +```txt 解决方案: 1. 启用性能优化选项 2. 调整压缩设置 @@ -411,7 +411,7 @@ server-full = "服务器已满,正在排队中..." #### 问题:内存使用过高 -```text +```txt 解决方案: 1. 调整 JVM 参数 2. 减少 Redis 连接池大小 @@ -439,7 +439,7 @@ server-full = "服务器已满,正在排队中..." **常见错误信息**: -```text +```txt "Connection refused" - 子服务器未启动或端口错误 "Forwarding error" - 转发配置不匹配 "Redis connection failed" - Redis 连接问题 diff --git a/src/content/docs/java/process/cross-server/setup/velocity-ctd/lobby.md b/src/content/docs/java/process/cross-server/setup/velocity-ctd/lobby.md index a99e5e685..0918942e4 100644 --- a/src/content/docs/java/process/cross-server/setup/velocity-ctd/lobby.md +++ b/src/content/docs/java/process/cross-server/setup/velocity-ctd/lobby.md @@ -31,7 +31,7 @@ flowchart TD ### 登录插件 -**在你的登录服安装 [登录插件](../../../plugin/misc/login/login.md)** +**在你的登录服安装 [登录插件](/java/process/plugin/misc/login/intro)** 提供登录验证。 @@ -39,7 +39,7 @@ flowchart TD ### 大厅插件 -**在你的登录服安装 [大厅插件](../../../plugin/world-management/lobby/lobby.md)** +**在你的登录服安装 [大厅插件](/java/process/plugin/world-management/lobby/intro)** 提供各种大厅常用的功能如: @@ -59,7 +59,7 @@ flowchart TD 在你的登录服安装提供跨服传送的插件 -使用这些插件将你的玩家从登录服传送到其他子服,可参考 [加入服务器](../../join-server.md)。 +使用这些插件将你的玩家从登录服传送到其他子服,可参考 [加入服务器](/java/process/cross-server/join-server)。 ## Velocity-CTD 特有功能 diff --git a/src/content/docs/java/process/cross-server/setup/velocity-ctd/setup.md b/src/content/docs/java/process/cross-server/setup/velocity-ctd/setup.md index 8320b321c..179e72de5 100644 --- a/src/content/docs/java/process/cross-server/setup/velocity-ctd/setup.md +++ b/src/content/docs/java/process/cross-server/setup/velocity-ctd/setup.md @@ -6,7 +6,7 @@ title: 搭建 ## 下载 -在 [核心选择](../../server-core-choose.md) 找到 Velocity-CTD 然后下载 +在 [核心选择](/java/start/server-core-choose/intro) 找到 Velocity-CTD 然后下载 或者直接从 [GitHub Releases](https://github.com/GemstoneGG/Velocity-CTD/releases) 下载最新版本 @@ -42,7 +42,7 @@ java -Xms1024M -Xmx1024M -jar velocity-ctd.jar ::: -[详细配置文件讲解](velocity-toml.md) +[详细配置文件讲解](/java/process/cross-server/setup/velocity-ctd/velocity-toml) ```toml # Velocity 端的端口号,数字 1000~65536 随意 @@ -147,7 +147,7 @@ import TabItem from '@theme/TabItem'; **`modern` 转发** 是 Velocity 的原生格式,以高效的二进制格式转发所有玩家信息,并采用 MAC 代码增加安全性,使非法服务器难以绕过你的 Velocity 代理。但它 **仅支持 Minecraft 1.13 或更高版本**。 -:::warning +:::caution - `modern` 转发与 **Minecraft 1.13 以下版本** 和 **[ProtocolSupport](https://www.spigotmc.org/resources/.7201) 插件** 不兼容。如果使用这些,你需要使用传统的 BungeeCord 兼容转发。 @@ -186,7 +186,7 @@ import TabItem from '@theme/TabItem'; -:::warning +:::caution - 传统转发 **本质上是不安全的**。如果必须使用,应了解如何正确保护你的服务器。 @@ -242,6 +242,6 @@ server-specific-forwarding = { ## 加入 -见 [加入服务器](/docs-java/process/cross-server/join-server.md) +见 [加入服务器](/java/process/cross-server/join-server) diff --git a/src/content/docs/java/process/cross-server/setup/velocity-ctd/velocity-toml.md b/src/content/docs/java/process/cross-server/setup/velocity-ctd/velocity-toml.md index 5f7d89e47..57e2d068f 100644 --- a/src/content/docs/java/process/cross-server/setup/velocity-ctd/velocity-toml.md +++ b/src/content/docs/java/process/cross-server/setup/velocity-ctd/velocity-toml.md @@ -191,7 +191,7 @@ pubsub-enabled = true pubsub-prefix = "velocity-ctd:pubsub:" ``` -:::warning[Redis 使用注意事项] +:::caution[Redis 使用注意事项] 1. **单代理服务器不需要 Redis**:如果你只有一个 Velocity-CTD 代理,无需启用 Redis 2. **多代理环境必须启用**:如果你有多个代理服务器,必须启用 Redis 来同步数据 @@ -328,7 +328,7 @@ default-forwarding-mode = "modern" log-forwarding-changes = true ``` -:::warning[多转发系统注意事项] +:::caution[多转发系统注意事项] 1. **实验性功能**:多转发系统是实验性功能,可能存在兼容性问题 2. **配置复杂性**:需要为每个服务器正确配置对应的转发模式 diff --git a/src/content/docs/java/process/cross-server/setup/velocity/intro.md b/src/content/docs/java/process/cross-server/setup/velocity/intro.md index 7d661b7db..e950091c8 100644 --- a/src/content/docs/java/process/cross-server/setup/velocity/intro.md +++ b/src/content/docs/java/process/cross-server/setup/velocity/intro.md @@ -50,19 +50,19 @@ A: _这里是一些可能的原因_ 此外,这是一些常见的代理端报错: -```text +```txt Can't connect to server lobby: If you wish to use IP forwarding, please enable it in your Bungeecord config as well! ``` -```text +```txt Can't connect to server lobby: Your server did not send a forwarding request to the proxy. Is it set up correctly? ``` -这些报错是你不正确配置代理端引起的 [点此前往了解 Velocity 配置](velocity-toml.md) +这些报错是你不正确配置代理端引起的 [点此前往了解 Velocity 配置](/java/process/cross-server/setup/velocity/velocity-toml) 此外,如果你同时启用了 BungeeCord 模式,也会报出以上错误,如果你使用 Velocity,那么请务必关闭 BungeeCord 模式 -```text +```txt Can't connect to server lobby: This server requires you to connect with Velocity. ``` @@ -72,7 +72,7 @@ Can't connect to server lobby: This server requires you to connect with Velocity A: 如果你的服务器会出现这种情况: -```text +```txt [server connection] player1 -> hub has connected [connected player] player1 (/localhost: 58943): kicked from server hub: Invalid payload REGISTER! ``` @@ -100,7 +100,7 @@ A: 一句话,mod 太多太大导致连接时间延长了。 A: 不行,至少现在不行,你只能在 `velocity.toml` 中设置一个单一的转发模式 -关于各个不同的转发模式,可以看到这里 [搭建](setup.md#子服配置) +关于各个不同的转发模式,可以看到这里 [搭建](/java/process/cross-server/setup/velocity/setup#子服配置) 有大佬提出了关于这个问题的 [PR](https://github.com/PaperMC/Velocity/pull/1357) diff --git a/src/content/docs/java/process/cross-server/setup/velocity/lobby.md b/src/content/docs/java/process/cross-server/setup/velocity/lobby.md index 3e148f4ac..ced6cdcdc 100644 --- a/src/content/docs/java/process/cross-server/setup/velocity/lobby.md +++ b/src/content/docs/java/process/cross-server/setup/velocity/lobby.md @@ -25,13 +25,13 @@ flowchart TD 玩家 -->|登录服炸了| 游戏服 ``` -- **在你的登录服安装 [登录插件](../../../plugin/misc/login/login.md)** +- **在你的登录服安装 [登录插件](/java/process/plugin/misc/login/intro)** 提供登录验证。 如果你使用 AuthMe,建议在 Velocity 安装 [AuthMeVelocity](https://modrinth.com/plugin/authmevelocity)。 -- **在你的登录服安装 [大厅插件](../../../plugin/world-management/lobby/lobby.md)** +- **在你的登录服安装 [大厅插件](/java/process/plugin/world-management/lobby/intro)** 提供各种大厅常用的功能如: @@ -47,4 +47,4 @@ flowchart TD - **在你的登录服安装提供跨服传送的插件** -使用这些插件将你的玩家从登录服传送到其他子服,可参考 [加入服务器](../../join-server.md)。 +使用这些插件将你的玩家从登录服传送到其他子服,可参考 [加入服务器](/java/process/cross-server/join-server)。 diff --git a/src/content/docs/java/process/cross-server/setup/velocity/setup.md b/src/content/docs/java/process/cross-server/setup/velocity/setup.md index 725d05a5c..f7ed9f613 100644 --- a/src/content/docs/java/process/cross-server/setup/velocity/setup.md +++ b/src/content/docs/java/process/cross-server/setup/velocity/setup.md @@ -6,7 +6,7 @@ title: 搭建 ## 下载 -在 [核心选择](../../server-core-choose.md) 找到 Velocity 然后下载 +在 [核心选择](/java/start/server-core-choose/intro) 找到 Velocity 然后下载 ## 启动 @@ -40,7 +40,7 @@ java -Xms1024M -Xmx1024M -jar 核心名字.jar ::: -[详细配置文件讲解](velocity-toml.md) +[详细配置文件讲解](/java/process/cross-server/setup/velocity/velocity-toml) ```toml # Velocity 端的端口号,数字 1000~65536 随意 @@ -95,7 +95,7 @@ import TabItem from '@theme/TabItem'; **`modern` 转发** 是 Velocity 的原生格式,以高效的二进制格式转发所有玩家信息,并采用 MAC 代码增加安全性,使非法服务器难以绕过你的 Velocity 代理。但它 **仅支持 Minecraft 1.13 或更高版本**。 -:::warning +:::caution - `modern` 转发与 **Minecraft 1.13 以下版本** 和 **[ProtocolSupport](https://www.spigotmc.org/resources/.7201) 插件** 不兼容。如果使用这些,你需要使用传统的 BungeeCord 兼容转发。 @@ -134,7 +134,7 @@ import TabItem from '@theme/TabItem'; -:::warning +:::caution - 传统转发 **本质上是不安全的**。如果必须使用,应了解如何正确保护你的服务器。 @@ -176,6 +176,6 @@ import TabItem from '@theme/TabItem'; ## 加入 -见 [加入服务器](/docs-java/process/cross-server/join-server.md) +见 [加入服务器](/java/process/cross-server/join-server) diff --git a/src/content/docs/java/process/mobile-player/client/amethyst-ios.md b/src/content/docs/java/process/mobile-player/client/amethyst-ios.md index 92d0d69b6..35f9aafba 100644 --- a/src/content/docs/java/process/mobile-player/client/amethyst-ios.md +++ b/src/content/docs/java/process/mobile-player/client/amethyst-ios.md @@ -200,7 +200,7 @@ A12-A17/M1-M2 处理器的 iPhone,iPad 等在 iOS/iPadOS 14.0 beta 2 ~ 17.0 ## 方法四:越狱 -:::warning +:::caution 本文档不对你的设备安全负责 diff --git a/src/content/docs/java/process/mobile-player/client/pojav-android.md b/src/content/docs/java/process/mobile-player/client/pojav-android.md index 6e7bcb53b..986e662b2 100644 --- a/src/content/docs/java/process/mobile-player/client/pojav-android.md +++ b/src/content/docs/java/process/mobile-player/client/pojav-android.md @@ -2,7 +2,7 @@ title: 在 Android 上安装 PojavLauncher --- -:::warning +:::caution PojavLauncher 已于 2025 年 5 月 17 日宣布停更 diff --git a/src/content/docs/java/process/mobile-player/client/pojav-ios.md b/src/content/docs/java/process/mobile-player/client/pojav-ios.md index d0a210b21..84c64b324 100644 --- a/src/content/docs/java/process/mobile-player/client/pojav-ios.md +++ b/src/content/docs/java/process/mobile-player/client/pojav-ios.md @@ -2,7 +2,7 @@ title: 在 iOS 上安装 PojavLauncher --- -:::warning +:::caution PojavLauncher 已于 2025 年 5 月 17 日宣布停更 @@ -55,7 +55,7 @@ PojavLauncher 已于 2025 年 5 月 17 日宣布停更 ## 方法二:使用 TrollStore -:::warning +:::caution 由于苹果公司修复了 iOS 系统中的相关漏洞,巨魔商店不再支持 iOS16.7 和 iOS17.1 及以上系统。 diff --git a/src/content/docs/java/process/mobile-player/geyser/faq.md b/src/content/docs/java/process/mobile-player/geyser/faq.md index 9bb37a120..381da1e89 100644 --- a/src/content/docs/java/process/mobile-player/geyser/faq.md +++ b/src/content/docs/java/process/mobile-player/geyser/faq.md @@ -22,7 +22,7 @@ Java 版和基岩版的 UUID 不一致,请查阅进阶教程 ## frp 搭建内网穿透想显示真实 IP 怎么办 -在 frp 中[开启 PROXY protocol](/advance/frp#配置-proxy-protocol) +在 frp 中[开启 PROXY protocol](/general/process/deploy/frp#配置-proxy-protocol) 后,在配置文件里将 enable-proxy-protocol 设置为 true。后续如果不再使用内网穿透,**一定记得把这个配置改回 false** ## 皮肤不显示怎么办 @@ -82,7 +82,7 @@ Java 版和基岩版的 UUID 不一致,请查阅进阶教程 如果你的服务器使用的是 Java 18 以下并且 CPU 支持 AVX512 (通常来说是 Intel 10 代以上和 AMD),你可以尝试添加启动参数 -```text +```txt -XX:+UnlockDiagnosticVMOptions -XX:-UseAESCTRIntrinsics ``` diff --git a/src/content/docs/java/process/mobile-player/geyser/install.md b/src/content/docs/java/process/mobile-player/geyser/install.md index 57765dbd6..8494887e1 100644 --- a/src/content/docs/java/process/mobile-player/geyser/install.md +++ b/src/content/docs/java/process/mobile-player/geyser/install.md @@ -47,7 +47,7 @@ Standalone 版本 可以作为一个独立的代理端启动 ### 独立版 -独立版作为一个单独的服务端,你可以参考 [此处](/docs-java/start/launch-server.md) 的开启方法 +独立版作为一个单独的服务端,你可以参考 [此处](/java/start/launch-server) 的开启方法 ## 配置 @@ -161,7 +161,7 @@ Floodgate 是一个允许 **Minecraft 基岩版** 帐号加入 **Minecraft Java ### 基础配置 -:::warning +:::caution 由于 Floodgate 在设计时并未考虑离线服务器 @@ -169,7 +169,7 @@ Floodgate 是一个允许 **Minecraft 基岩版** 帐号加入 **Minecraft Java ::: -:::warning +:::caution 若你在使用独立版 Geyser 或群组服,请翻到下方跟随对应教程完成安装 @@ -226,7 +226,7 @@ auth-type: floodgate 首先,在群组端安装 Floodgate,并按照基础配置完成安装 -:::warning +:::caution 不要将子服中的 Floodgate 配置直接复制到群组服,会缺少某个重要项 diff --git a/src/content/docs/java/process/mobile-player/geyser/intro.md b/src/content/docs/java/process/mobile-player/geyser/intro.md index d384f7ec1..aad9cd53f 100644 --- a/src/content/docs/java/process/mobile-player/geyser/intro.md +++ b/src/content/docs/java/process/mobile-player/geyser/intro.md @@ -2,7 +2,7 @@ title: 概述 --- -:::info +:::note `官网`:https://geysermc.org/ @@ -26,7 +26,7 @@ Geyser 并不适合 mod 服务器,不要尝试 ::: -:::warning +:::caution 基岩版使用 UDP 协议来传输数据,在使用前请确保你的服务商可以使用 UDP diff --git a/src/content/docs/java/process/mobile-player/geyser/upgrade/extended/fix.mdx b/src/content/docs/java/process/mobile-player/geyser/upgrade/extended/fix.mdx index c0e8d9d52..cfdd096ad 100644 --- a/src/content/docs/java/process/mobile-player/geyser/upgrade/extended/fix.mdx +++ b/src/content/docs/java/process/mobile-player/geyser/upgrade/extended/fix.mdx @@ -2,8 +2,7 @@ title: 游戏机制 --- -import StructureExplorer from "@site/src/components/StructureExplorer"; -import { geyserExtensionStructure } from "@site/src/data/structures"; +import { FileTree } from '@astrojs/starlight/components'; # 游戏机制 @@ -18,7 +17,7 @@ import { geyserExtensionStructure } from "@site/src/data/structures"; - 卡在竹子和滴水石锥中无法移动 - 骑乘实体时无法正确控制方向,在需要使用钓竿的实体上影响尤为明显 -:::warning +:::caution 支持版本:1.14-1.21.1 @@ -33,7 +32,7 @@ import { geyserExtensionStructure } from "@site/src/data/structures"; 你可以在 [此处](https://github.com/Camotoy/GeyserSkinManager/releases) 下载 -:::warning +:::caution GeyserSkinManager 有不同版本 你若正在使用群组端,请在群组端安装对应版本而不是其子服 @@ -44,7 +43,7 @@ GeyserSkinManager 有不同版本 你可以在 [此处](https://github.com/Camotoy/BedrockSkinUtility) 下载模组 -:::warning +:::caution BedrockSkinUtility 仅支持 Fabric 1.20.2 以下的版本 @@ -161,7 +160,13 @@ Broadcaster 通过模拟 Xbox Live 客户端,将你的 Geyser/基岩版服务 2. **安装扩展** - + + - 服务器根目录/ + - plugins/ + - Geyser-Spigot/ + - extensions/ Geyser 扩展文件夹 + - MCXboxBroadcastExtension.jar Xbox 直播扩展 + 3. **重启服务器** @@ -171,7 +176,7 @@ Broadcaster 通过模拟 Xbox Live 客户端,将你的 Geyser/基岩版服务 - 服务器启动后,控制台会显示认证码: - ```text + ```txt To sign in, use a web browser to open the page https://www.microsoft.com/link and enter the code XXXXXXXX to authenticate. ``` diff --git a/src/content/docs/java/process/mobile-player/geyser/upgrade/extended/intro.md b/src/content/docs/java/process/mobile-player/geyser/upgrade/extended/intro.md index 0278f63ed..cee941499 100644 --- a/src/content/docs/java/process/mobile-player/geyser/upgrade/extended/intro.md +++ b/src/content/docs/java/process/mobile-player/geyser/upgrade/extended/intro.md @@ -10,7 +10,7 @@ title: 概述 你可以像 Java 版玩家一样给基岩版玩家发送服务器资源包 但与 Java 版玩家不同的是,基岩版玩家可以接受并加载多个资源包 -:::warning +:::caution 基岩版资源包与 Java 版格式完全不同,需要手动进行转换 基岩版的资源包扩展名均为 `.mcpack` (其实 `.zip` 也行) diff --git a/src/content/docs/java/process/mobile-player/geyser/upgrade/geyser-skull.md b/src/content/docs/java/process/mobile-player/geyser/upgrade/geyser-skull.md index eed464599..6bc199787 100644 --- a/src/content/docs/java/process/mobile-player/geyser/upgrade/geyser-skull.md +++ b/src/content/docs/java/process/mobile-player/geyser/upgrade/geyser-skull.md @@ -74,7 +74,7 @@ base64 编码的 JSON。 -```text +```txt [05:58:07 INFO]: .KastleFirefox issued server command: /paper dumpitem [05:58:07 INFO]: minecraft:player_head{display: {Name: '{"text":"Test"}'}, SkullOwner: {Properties: {textures: [{Value: "ewogICJ0aW1lc3RhbXAiIDogMTY1NzMyMjIzOTgzMywKICAicHJvZmlsZUlkIiA6ICJjZGRiZTUyMGQwNDM0YThiYTFjYzlmYzkyZmRlMmJjZiIsCiAgInByb2ZpbGVOYW1lIiA6ICJkYXZjaG9vIiwKICAidGV4dHVyZXMiIDogewogICAgIlNLSU4iIDogewogICAgICAidXJsIiA6ICJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlL2E5MDc5MGM1N2UxODFlZDEzYWRlZDE0YzQ3ZWUyZjdjOGRlMzUzM2UwMTdiYTk1N2FmN2JkZjlkZjFiZGU5NGYiLAogICAgICAibWV0YWRhdGEiIDogewogICAgICAgICJtb2RlbCIgOiAic2xpbSIKICAgICAgfQogICAgfQogIH0KfQ"}]}, Id: [I; -229048314, -553040501, -1407961158, 465313087]}} ``` diff --git a/src/content/docs/java/process/mobile-player/geyser/upgrade/geysermeg4-supports.md b/src/content/docs/java/process/mobile-player/geyser/upgrade/geysermeg4-supports.md index 69868c734..07cf56245 100644 --- a/src/content/docs/java/process/mobile-player/geyser/upgrade/geysermeg4-supports.md +++ b/src/content/docs/java/process/mobile-player/geyser/upgrade/geysermeg4-supports.md @@ -34,7 +34,7 @@ title: GeyserMEG4 支持 ## GeyserModelEngine (自定义实体分支) -:::warning +:::caution 这个是真自定义实体!不支持原版 Geyser,你需要搭配 [Geyser 自定义实体分支](https://github.com/zimzaza4/Geyser) 和资源包一起使用才能正常工作 diff --git a/src/content/docs/java/process/mobile-player/geyser/upgrade/link.md b/src/content/docs/java/process/mobile-player/geyser/upgrade/link.md index 7200d242e..a5920bdac 100644 --- a/src/content/docs/java/process/mobile-player/geyser/upgrade/link.md +++ b/src/content/docs/java/process/mobile-player/geyser/upgrade/link.md @@ -12,7 +12,7 @@ title: 账户数据互通 GlobalLink 是 Geyser 提供的链接服务器,用于链接基岩版和 Java 版的账户。链接完后将会在 **所有** 启用全局链接的服务器上生效 -:::warning +:::caution 链接后保留的是 Java 玩家的数据,除非你重新取消链接,否则对应基岩版玩家的数据将无法访问 diff --git a/src/content/docs/java/process/mobile-player/intro.md b/src/content/docs/java/process/mobile-player/intro.md index a34a0cc84..781f0ede9 100644 --- a/src/content/docs/java/process/mobile-player/intro.md +++ b/src/content/docs/java/process/mobile-player/intro.md @@ -12,7 +12,7 @@ title: 概述 使基岩版客户端进入 Java 版服务器的代理软件。 -[点此阅读](./geyser/geyser.md) 关于 Geyser 的文档。 +[点此阅读](/java/process/mobile-player/geyser/intro) 关于 Geyser 的文档。 ## 基岩版客户端下载 diff --git a/src/content/docs/java/process/plugin/game/dragoncore.md b/src/content/docs/java/process/plugin/game/dragoncore.md index 7b674c72c..ae2ad05f5 100644 --- a/src/content/docs/java/process/plugin/game/dragoncore.md +++ b/src/content/docs/java/process/plugin/game/dragoncore.md @@ -7,11 +7,11 @@ title: 龙之核心 龙之核心是基于 Minecraft 1.12.2 版本,以插件 (服务端) + mod (客户端) 的方式, 实现了丰富的在服务端制作各种客户端功能的方法。 -与 [萌芽引擎](germengine.md) 为同类型插件 +与 [萌芽引擎](/java/process/plugin/game/germengine) 为同类型插件 ## 链接 -:::info +:::note `文档` https://arisa.gitbook.io/internal-wiki diff --git a/src/content/docs/java/process/plugin/game/germengine.md b/src/content/docs/java/process/plugin/game/germengine.md index fefb77471..92b1bebef 100644 --- a/src/content/docs/java/process/plugin/game/germengine.md +++ b/src/content/docs/java/process/plugin/game/germengine.md @@ -19,11 +19,11 @@ title: 萌芽引擎 萌芽引擎经历了 4 年时间的成长 50 多个版本迭代,目前同时在线客户端超过 5 万, 并且在 300 多台服务器上同时运行。这使得它成为了当今国内 Minecraft 内容制作的潮流。 -与 [龙之核心](dragoncore.md) 为同类型插件 +与 [龙之核心](/java/process/plugin/game/dragoncore) 为同类型插件 ## 链接 -:::info +:::note `MineBBS` https://www.minebbs.com/resources/.7328 diff --git a/src/content/docs/java/process/plugin/game/nova.md b/src/content/docs/java/process/plugin/game/nova.md index 536d6073c..7e058cbce 100644 --- a/src/content/docs/java/process/plugin/game/nova.md +++ b/src/content/docs/java/process/plugin/game/nova.md @@ -2,7 +2,7 @@ title: Nova --- -:::info +:::note `Modrinth` https://modrinth.com/plugin/nova-framework diff --git a/src/content/docs/java/process/plugin/game/slimefun/intro.md b/src/content/docs/java/process/plugin/game/slimefun/intro.md index 5669fd1b3..7fd578efa 100644 --- a/src/content/docs/java/process/plugin/game/slimefun/intro.md +++ b/src/content/docs/java/process/plugin/game/slimefun/intro.md @@ -2,7 +2,7 @@ title: 概述 --- -:::info +:::note `Bukkit (旧)` https://dev.bukkit.org/projects/slimefun diff --git a/src/content/docs/java/process/plugin/game/slimefun/resourcepack-for-slimefun.md b/src/content/docs/java/process/plugin/game/slimefun/resourcepack-for-slimefun.md index 8eca35fad..762206b11 100644 --- a/src/content/docs/java/process/plugin/game/slimefun/resourcepack-for-slimefun.md +++ b/src/content/docs/java/process/plugin/game/slimefun/resourcepack-for-slimefun.md @@ -6,4 +6,4 @@ title: 粘液资源包 建议使用 (还提供了 IA 支持):https://github.com/xMikux/Slimefun-Resourcepack/blob/main/.github/README.zh-cn.md -Geyser 可以看 [此处](../../../mobile-player/geyser/upgrade/slimefun.md) +Geyser 可以看 [此处](/java/process/mobile-player/geyser/upgrade/slimefun) diff --git a/src/content/docs/java/process/plugin/game/title/deluxetags.md b/src/content/docs/java/process/plugin/game/title/deluxetags.md index bb32e04d6..4e698da70 100644 --- a/src/content/docs/java/process/plugin/game/title/deluxetags.md +++ b/src/content/docs/java/process/plugin/game/title/deluxetags.md @@ -2,7 +2,7 @@ title: DeluxeTags --- -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/.4390 diff --git a/src/content/docs/java/process/plugin/game/title/miniplayertitle.md b/src/content/docs/java/process/plugin/game/title/miniplayertitle.md index 1f9a932c3..7778c9fc9 100644 --- a/src/content/docs/java/process/plugin/game/title/miniplayertitle.md +++ b/src/content/docs/java/process/plugin/game/title/miniplayertitle.md @@ -7,7 +7,7 @@ title: MiniPlayerTitle [![](https://img.shields.io/github/languages/code-size/DeerGiteaMirror/MiniPlayerTitle)](https://github.com/DeerGiteaMirror/MiniPlayerTitle) [![](https://img.shields.io/github/license/DeerGiteaMirror/MiniPlayerTitle)](https://github.com/DeerGiteaMirror/MiniPlayerTitle/blob/main/LICENSE) -```text +```txt 一个简化版的称号插件 ``` @@ -44,7 +44,7 @@ QQ 群:309428300 ## 链接 -:::info +:::note `Hangar` https://hangar.papermc.io/zhangyuheng/MiniPlayerTitle diff --git a/src/content/docs/java/process/plugin/game/title/mythicprefixes.md b/src/content/docs/java/process/plugin/game/title/mythicprefixes.md index f29f9dda2..b65fb798b 100644 --- a/src/content/docs/java/process/plugin/game/title/mythicprefixes.md +++ b/src/content/docs/java/process/plugin/game/title/mythicprefixes.md @@ -2,7 +2,7 @@ title: MythicPrefixes --- -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/.100994 diff --git a/src/content/docs/java/process/plugin/game/title/playertitle.md b/src/content/docs/java/process/plugin/game/title/playertitle.md index 2edfd9591..5f1c2fa33 100644 --- a/src/content/docs/java/process/plugin/game/title/playertitle.md +++ b/src/content/docs/java/process/plugin/game/title/playertitle.md @@ -2,7 +2,7 @@ title: PlayerTitle --- -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/.104544 diff --git a/src/content/docs/java/process/plugin/game/title/userprefix.md b/src/content/docs/java/process/plugin/game/title/userprefix.md index fdabfef25..4517ecdac 100644 --- a/src/content/docs/java/process/plugin/game/title/userprefix.md +++ b/src/content/docs/java/process/plugin/game/title/userprefix.md @@ -70,7 +70,7 @@ title: UserPrefix ## 链接 -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/.96277 diff --git a/src/content/docs/java/process/plugin/intro.md b/src/content/docs/java/process/plugin/intro.md index 362d10ce4..e89dbd7e7 100644 --- a/src/content/docs/java/process/plugin/intro.md +++ b/src/content/docs/java/process/plugin/intro.md @@ -6,10 +6,10 @@ title: 概述 建议阅读: -- [YAML 语法](../../advance/yaml/yaml.md) - 了解大部分插件配置文件的语法。 -- [特征文件](./more/plugin-signature-file.md) - 了解插件的一些信息。 -- [颜色代码](./more/color-message.md) - 改变服务器中文本的颜色 -- [什么是乱码](/start/basic/what-is-messy-code) - 了解文本文件中的字符有时为什么会变得奇奇怪怪。 +- [YAML 语法](/java/process/plugin/more/yaml/intro) - 了解大部分插件配置文件的语法。 +- [特征文件](/java/process/plugin/more/plugin-signature-file) - 了解插件的一些信息。 +- [颜色代码](/java/process/plugin/more/color-message) - 改变服务器中文本的颜色 +- [什么是乱码](/java/start/install-mod-server) - 了解文本文件中的字符有时为什么会变得奇奇怪怪。 ## 基本操作 @@ -67,7 +67,7 @@ title: 概述 - TrChat 聊天插件 - MiniMotd MOTD 插件 -Via 自动安装已经移动到 [此处](./misc/via/via.md#笨蛋脚本) +Via 自动安装已经移动到 [此处](/java/process/plugin/misc/via/intro#笨蛋脚本)
    @@ -84,4 +84,4 @@ Via 自动安装已经移动到 [此处](./misc/via/via.md#笨蛋脚本) ## 我有疑问 -如果你想问问题,查看 [如何向大佬求助](/start/ask-for-help) +如果你想问问题,查看 [如何向大佬求助](/java/advance/maintenance/optimize/ask-for-help) diff --git a/src/content/docs/java/process/plugin/management-tool/anti-grief/coreprotect.md b/src/content/docs/java/process/plugin/management-tool/anti-grief/coreprotect.md index 6b9dcb57a..8a2051439 100644 --- a/src/content/docs/java/process/plugin/management-tool/anti-grief/coreprotect.md +++ b/src/content/docs/java/process/plugin/management-tool/anti-grief/coreprotect.md @@ -2,7 +2,7 @@ title: 记录 - CoreProtect --- -:::info +:::note `Bukkit` https://dev.bukkit.org/projects/coreprotect diff --git a/src/content/docs/java/process/plugin/management-tool/anti-grief/intro.md b/src/content/docs/java/process/plugin/management-tool/anti-grief/intro.md index ad826e4bb..4741f3c65 100644 --- a/src/content/docs/java/process/plugin/management-tool/anti-grief/intro.md +++ b/src/content/docs/java/process/plugin/management-tool/anti-grief/intro.md @@ -2,13 +2,13 @@ title: 概览 --- -记录玩家放置,破坏,存储物品等使用 [CoreProtect](coreprotect.md) 或 [PrismRefracted](prismrefracted.md)。 +记录玩家放置,破坏,存储物品等使用 [CoreProtect](/java/process/plugin/management-tool/anti-grief/coreprotect) 或 [PrismRefracted](/java/process/plugin/management-tool/anti-grief/prismrefracted)。 可以依据记录让插件把一定区域回滚到某个时间点。 ~~就像 TT2 协议一样~~ 就像范围回溯时间的魔法。 -查玩家背包用 [InvSee++](invseeplusplus.md)。 +查玩家背包用 [InvSee++](/java/process/plugin/management-tool/anti-grief/invseeplusplus)。 import DocCardList from '@theme/DocCardList'; diff --git a/src/content/docs/java/process/plugin/management-tool/anti-grief/invseeplusplus.md b/src/content/docs/java/process/plugin/management-tool/anti-grief/invseeplusplus.md index 886ce88be..a53503ccd 100644 --- a/src/content/docs/java/process/plugin/management-tool/anti-grief/invseeplusplus.md +++ b/src/content/docs/java/process/plugin/management-tool/anti-grief/invseeplusplus.md @@ -4,7 +4,7 @@ title: 查包 - InvSee++ -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/invsee.82342/ @@ -16,7 +16,7 @@ title: 查包 - InvSee++ InvSee++ 可以查看和编辑其他玩家的物品栏和末影箱。 -[Essentials](../basic-plugins/essentialsx/essentialsx.md) 也有这个功能,但 InvSee++ 可以: +[Essentials](/java/process/plugin/management-tool/basic-plugins/essentialsx/intro) 也有这个功能,但 InvSee++ 可以: - 拿走或替换玩家的装备 - 查询离线玩家的背包 diff --git a/src/content/docs/java/process/plugin/management-tool/anti-grief/prismrefracted.md b/src/content/docs/java/process/plugin/management-tool/anti-grief/prismrefracted.md index c6895be47..a1c8716f9 100644 --- a/src/content/docs/java/process/plugin/management-tool/anti-grief/prismrefracted.md +++ b/src/content/docs/java/process/plugin/management-tool/anti-grief/prismrefracted.md @@ -4,7 +4,7 @@ title: 记录 - PrismRefracted # PrismRefracted -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/prism.99397 diff --git a/src/content/docs/java/process/plugin/management-tool/basic-plugins/cmi/intro.md b/src/content/docs/java/process/plugin/management-tool/basic-plugins/cmi/intro.md index 12afb9d33..f57943015 100644 --- a/src/content/docs/java/process/plugin/management-tool/basic-plugins/cmi/intro.md +++ b/src/content/docs/java/process/plugin/management-tool/basic-plugins/cmi/intro.md @@ -10,7 +10,7 @@ title: 概述 ## 链接 -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/.3742 diff --git a/src/content/docs/java/process/plugin/management-tool/basic-plugins/delete.md b/src/content/docs/java/process/plugin/management-tool/basic-plugins/delete.md index 2e773dba9..8068964ec 100644 --- a/src/content/docs/java/process/plugin/management-tool/basic-plugins/delete.md +++ b/src/content/docs/java/process/plugin/management-tool/basic-plugins/delete.md @@ -2,13 +2,13 @@ title: 删掉基础插件 --- -[CMI](./cmi/cmi.md) 在拼命的加新功能,多而不精,插件变得臃肿不堪小白比较难上手 +[CMI](/java/process/plugin/management-tool/basic-plugins/cmi/intro) 在拼喑的加新功能,多而不精,插件变得臀肆不堪小白比较难上手 -[EssentialsX](./essentialsx/essentialsx.md) 却在拼命追求稳定性,一点新功能不加的,现在随便个 tpa 插件都有点击聊天框信息同意传送的功能,他却没有,你还不能自己写 JSON 补 +[EssentialsX](/java/process/plugin/management-tool/basic-plugins/essentialsx/intro) 却在拼喑追求稳定性,一点新功能不加的,现在随便个 tpa 插件都有点击聊天框信息同意传送的功能,他却没有,你还不能自己写 JSON 补 也许,是时候删除这俩玩意了 -实际上,经济功能装个 [XConomy](../../plugin-dependencies/xconomy.md) 足够了 +实际上,经济功能装个 [XConomy](/java/process/plugin/plugin-dependencies/xconomy) 足够了 而对于 tpa,warp,home,back 等传送功能,或许你可以试试 [HuskHomes](https://www.spigotmc.org/resources/.83767/) diff --git a/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/faq.md b/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/faq.md index 0914862a4..3677f1ef4 100644 --- a/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/faq.md +++ b/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/faq.md @@ -8,4 +8,4 @@ title: 常见问题 🏆 来的我不是叫你不要装 ess 全家桶? -删了你的 EssentialsXAntiBuild 或者看 [这里](../../permission/tips.md) +删了你的 EssentialsXAntiBuild 或者看 [这里](/java/process/plugin/management-tool/permission/tips) diff --git a/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/intro.md b/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/intro.md index c8899c7d2..e57ae3d19 100644 --- a/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/intro.md +++ b/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/intro.md @@ -19,7 +19,7 @@ EssentialsX 是一个基于 Spigot 服务端的基础插件,为从大到小的 ## 链接 -:::info +:::note `官网` https://essentialsx.net diff --git a/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/kit.md b/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/kit.md index 5332ff1e6..d228a9af5 100644 --- a/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/kit.md +++ b/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/kit.md @@ -4,7 +4,7 @@ title: kit 礼包 ## 创建礼包 -```text +```txt /kitcreate 冷却 ``` @@ -18,7 +18,7 @@ title: kit 礼包 ## 获得礼包 -```text +```txt /kit ``` @@ -36,7 +36,7 @@ title: kit 礼包 ## 删除礼包 -```text +```txt /deletekit ``` @@ -44,7 +44,7 @@ title: kit 礼包 ### 保存 nbt -[点击此处](config-tips.md#礼包工具包) +[点击此处](/java/process/plugin/management-tool/basic-plugins/essentialsx/config-tips#礼包工具包) ### kit 执行命令 @@ -63,9 +63,9 @@ iloveyizhan: ### 变量 -[点击此处](papi-support.md) +[点击此处](/java/process/plugin/management-tool/basic-plugins/essentialsx/papi-support) -```text +```txt %essentials_has_kit_% - 是否有 XX 工具包 %essentials_kit_is_available_% - 是否可以获得 XX 工具包 %essentials_kit_time_until_available_% - 礼包冷却时间 diff --git a/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/papi-support.md b/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/papi-support.md index 419b581d1..c1c776412 100644 --- a/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/papi-support.md +++ b/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/papi-support.md @@ -2,7 +2,7 @@ title: papi 支持 --- -:::info +:::note `官方文档` https://wiki.placeholderapi.com/users/placeholder-list/#essentials @@ -12,14 +12,14 @@ title: papi 支持 ## 安装此扩展 -```text +```txt /papi ecloud download Essentials /papi reload ``` ## 变量 -```text +```txt %essentials_afk% %essentials_afk_reason% %essentials_fly% diff --git a/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/warp.md b/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/warp.md index 8b77cf5f0..aa929d40c 100644 --- a/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/warp.md +++ b/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/warp.md @@ -6,7 +6,7 @@ title: warp 地标 ## 创建地标 -```text +```txt /setwarp <地标名> ``` @@ -14,7 +14,7 @@ title: warp 地标 ## 传送地标 -```text +```txt /warp <地标名> ``` @@ -26,7 +26,7 @@ title: warp 地标 ## 删除地标 -```text +```txt /delwarp <地标名> ``` diff --git a/src/content/docs/java/process/plugin/management-tool/basic-plugins/sunlight.md b/src/content/docs/java/process/plugin/management-tool/basic-plugins/sunlight.md index 59c87069a..27ccbc876 100644 --- a/src/content/docs/java/process/plugin/management-tool/basic-plugins/sunlight.md +++ b/src/content/docs/java/process/plugin/management-tool/basic-plugins/sunlight.md @@ -27,7 +27,7 @@ title: Sunlight ## 链接 -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/.67733 diff --git a/src/content/docs/java/process/plugin/management-tool/chat/carbon.md b/src/content/docs/java/process/plugin/management-tool/chat/carbon.md index 8f7227149..718398754 100644 --- a/src/content/docs/java/process/plugin/management-tool/chat/carbon.md +++ b/src/content/docs/java/process/plugin/management-tool/chat/carbon.md @@ -2,7 +2,7 @@ title: Carbon --- -:::info +:::note `Hangar` https://hangar.papermc.io/Vicarious/Carbon diff --git a/src/content/docs/java/process/plugin/management-tool/chat/huskchat.md b/src/content/docs/java/process/plugin/management-tool/chat/huskchat.md index 41e1fd616..2c192701f 100644 --- a/src/content/docs/java/process/plugin/management-tool/chat/huskchat.md +++ b/src/content/docs/java/process/plugin/management-tool/chat/huskchat.md @@ -8,7 +8,7 @@ title: HuskChat ::: -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/.94496 diff --git a/src/content/docs/java/process/plugin/management-tool/chat/trchat.md b/src/content/docs/java/process/plugin/management-tool/chat/trchat.md index b38c37a57..fbccb612b 100644 --- a/src/content/docs/java/process/plugin/management-tool/chat/trchat.md +++ b/src/content/docs/java/process/plugin/management-tool/chat/trchat.md @@ -43,7 +43,7 @@ title: TrChat ## 链接 -:::info +:::note `GitHub` https://github.com/TrPlugins/TrChat diff --git a/src/content/docs/java/process/plugin/management-tool/items/crucible.md b/src/content/docs/java/process/plugin/management-tool/items/crucible.md index ec6666069..8c6957cc7 100644 --- a/src/content/docs/java/process/plugin/management-tool/items/crucible.md +++ b/src/content/docs/java/process/plugin/management-tool/items/crucible.md @@ -2,7 +2,7 @@ title: Crucible --- -:::info +:::note `mythiccraft` https://mythiccraft.io/index.php?resources/.2 diff --git a/src/content/docs/java/process/plugin/management-tool/items/ecoItems.md b/src/content/docs/java/process/plugin/management-tool/items/ecoItems.md index 09aa589a3..57ab3c701 100644 --- a/src/content/docs/java/process/plugin/management-tool/items/ecoItems.md +++ b/src/content/docs/java/process/plugin/management-tool/items/ecoItems.md @@ -2,7 +2,7 @@ title: EcoItems --- -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/.94601 diff --git a/src/content/docs/java/process/plugin/management-tool/items/misc.md b/src/content/docs/java/process/plugin/management-tool/items/misc.md index bd120bb6e..c4446d335 100644 --- a/src/content/docs/java/process/plugin/management-tool/items/misc.md +++ b/src/content/docs/java/process/plugin/management-tool/items/misc.md @@ -6,8 +6,8 @@ title: 其他 推荐使用上方页面收录的物品库插件,而不是下方插件提供的物品库功能。 -- [ItemsAdder](../../../maintenance/resourcepack/plugins/framework.md) -- [Oraxen](../../../maintenance/resourcepack/plugins/framework.md) -- [MythicMobs](../../misc/mythicmobs.md) -- [CMI](../basic-plugins/cmi/cmi.md) -- [SunLight](../basic-plugins/sunlight/sunlight.md) +- [ItemsAdder](/java/advance/maintenance/resourcepack/plugins/framework) +- [Oraxen](/java/advance/maintenance/resourcepack/plugins/framework) +- [MythicMobs](/java/process/plugin/misc/mythicmobs) +- [CMI](/java/process/plugin/management-tool/basic-plugins/cmi/intro) +- [SunLight](/java/process/plugin/management-tool/basic-plugins/sunlight) diff --git a/src/content/docs/java/process/plugin/management-tool/items/mmoitems.md b/src/content/docs/java/process/plugin/management-tool/items/mmoitems.md index 893cb09a6..c5f314be5 100644 --- a/src/content/docs/java/process/plugin/management-tool/items/mmoitems.md +++ b/src/content/docs/java/process/plugin/management-tool/items/mmoitems.md @@ -4,7 +4,7 @@ title: MMOItems ![](_assets/mmoitems.png) -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/.39267 diff --git a/src/content/docs/java/process/plugin/management-tool/items/neigeitems.md b/src/content/docs/java/process/plugin/management-tool/items/neigeitems.md index 43439de14..c426194cf 100644 --- a/src/content/docs/java/process/plugin/management-tool/items/neigeitems.md +++ b/src/content/docs/java/process/plugin/management-tool/items/neigeitems.md @@ -2,7 +2,7 @@ title: NeigeItems --- -:::info +:::note `GitHub` https://github.com/ankhorg/NeigeItems-Kotlin diff --git a/src/content/docs/java/process/plugin/management-tool/items/ratziel.md b/src/content/docs/java/process/plugin/management-tool/items/ratziel.md index 85103791a..014cd9921 100644 --- a/src/content/docs/java/process/plugin/management-tool/items/ratziel.md +++ b/src/content/docs/java/process/plugin/management-tool/items/ratziel.md @@ -2,7 +2,7 @@ title: Ratziel --- -:::info +:::note `GitHub` https://github.com/TheFloodDragon/Ratziel-Beta diff --git a/src/content/docs/java/process/plugin/management-tool/items/sx-item.md b/src/content/docs/java/process/plugin/management-tool/items/sx-item.md index a2ec7e5fe..652e62518 100644 --- a/src/content/docs/java/process/plugin/management-tool/items/sx-item.md +++ b/src/content/docs/java/process/plugin/management-tool/items/sx-item.md @@ -2,7 +2,7 @@ title: SX-Item --- -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/.119751 diff --git a/src/content/docs/java/process/plugin/management-tool/items/zaphkiel.md b/src/content/docs/java/process/plugin/management-tool/items/zaphkiel.md index 5c655bffe..0c19f8bdf 100644 --- a/src/content/docs/java/process/plugin/management-tool/items/zaphkiel.md +++ b/src/content/docs/java/process/plugin/management-tool/items/zaphkiel.md @@ -2,7 +2,7 @@ title: Zaphkiel --- -:::info +:::note `GitHub` https://github.com/TabooLib/zaphkiel @@ -16,7 +16,7 @@ title: Zaphkiel 它在保留原项目核心功能的基础上,增加了一些新功能并修复了若干问题 -:::info +:::note `Modrinth` https://modrinth.com/plugin/zaphkiel-plus diff --git a/src/content/docs/java/process/plugin/management-tool/permission/command.md b/src/content/docs/java/process/plugin/management-tool/permission/command.md index 4dba8a3bf..824b2c019 100644 --- a/src/content/docs/java/process/plugin/management-tool/permission/command.md +++ b/src/content/docs/java/process/plugin/management-tool/permission/command.md @@ -6,13 +6,13 @@ title: 命令篇 ### 创建 -```text +```txt lp creategroup 权限组名 ``` ### 删除 -```text +```txt lp deletegroup 权限组名 ``` @@ -20,24 +20,24 @@ lp deletegroup 权限组名 ### 设置某个玩家/权限组的某权限为 true/false -```text +```txt lp user/group 玩家/权限组名 permission set 权限节点 true/false ``` ### 移除某个玩家/权限组的某权限的设置 -```text +```txt lp user/group 玩家/权限组名 permission unset 权限节点 ``` ### 检查某个玩家/权限组的权限状态 -```text +```txt lp user/group 玩家/权限组名 permission check 权限节点 ``` ### 列出某个玩家/权限组的权限 -```text +```txt lp user/group 玩家/权限组名 permission info ``` diff --git a/src/content/docs/java/process/plugin/management-tool/permission/intro.md b/src/content/docs/java/process/plugin/management-tool/permission/intro.md index 9ec96c649..a81168381 100644 --- a/src/content/docs/java/process/plugin/management-tool/permission/intro.md +++ b/src/content/docs/java/process/plugin/management-tool/permission/intro.md @@ -39,7 +39,7 @@ title: 概述 ![链接](_assets/3.png) -:::info +:::note `官网` https://luckperms.net diff --git a/src/content/docs/java/process/plugin/management-tool/permission/meta.md b/src/content/docs/java/process/plugin/management-tool/permission/meta.md index 2e8b908ea..a382785f2 100644 --- a/src/content/docs/java/process/plugin/management-tool/permission/meta.md +++ b/src/content/docs/java/process/plugin/management-tool/permission/meta.md @@ -100,7 +100,7 @@ title: 数据存储 - "refresh" ``` -:::warning +:::caution 安装 LuckPerms 变量扩展才能正确显示变量 @@ -164,7 +164,7 @@ command inline "lp user {{sender}} permission settemp nitwikit.demo true {{math - `%math_0_60-{server_time_mm}%` // 分 - `%math_0_60-{server_time_ss}%` // 秒 -不过我不太喜欢这种做法,另一种: [案例 | 变量 | 每日刷新](../../../maintenance/lang/kether/variable.md#每日刷新) +不过我不太喜欢这种做法,另一种: [案例 | 变量 | 每日刷新](/java/advance/maintenance/lang/kether/variable#每日刷新) @@ -184,7 +184,7 @@ command inline "lp user {{sender}} permission settemp nitwikit.demo true {{math ![](_assets/memory_9.png) -```text +```txt %luckperms_meta_键名% ``` @@ -192,7 +192,7 @@ command inline "lp user {{sender}} permission settemp nitwikit.demo true {{math 此方法 OP 不受影响,但适用性没权限广,因为一些插件只支持判断权限 -:::warning +:::caution 安装 LuckPerms 变量扩展才能正确显示变量 @@ -206,7 +206,7 @@ command inline "lp user {{sender}} permission settemp nitwikit.demo true {{math 好在 [Vulpecula](https://github.com/Lanscarlos/Vulpecula) 的 [memory](https://www.yuque.com/lanscarlos/vulpecula-wiki-v2/og93eqlegc0geyfi) 动作可以用来设置 meta -```text +```txt memory 键名 to 值 using lp ``` @@ -214,7 +214,7 @@ memory 键名 to 值 using lp ![](_assets/memory_11.png) -```text +```txt memory 键名 using lp ``` @@ -230,11 +230,11 @@ memory 键名 using lp ### 称号系统 -见 [案例 | Invero|称号系统](../../../plugin/misc/menu/invero.md) +见 [案例 | Invero|称号系统](/java/process/plugin/misc/menu/invero) ## 限时 meta -```text +```txt /lp user postyizhan meta settemp 键 值 时间 ``` diff --git a/src/content/docs/java/process/plugin/management-tool/permission/tips.md b/src/content/docs/java/process/plugin/management-tool/permission/tips.md index 6f9c764da..46d3adb76 100644 --- a/src/content/docs/java/process/plugin/management-tool/permission/tips.md +++ b/src/content/docs/java/process/plugin/management-tool/permission/tips.md @@ -4,7 +4,7 @@ title: 小妙招 ## 网页版可视化编辑器 -```text +```txt lp editor ``` @@ -14,7 +14,7 @@ lp editor 可以实时打印权限检查情况,方便排查问题。 -```text +```txt lp verbose [filter] ``` @@ -28,7 +28,7 @@ lp verbose [filter] 打开 Luckperms 的详细日志: -```text +```txt /lp verbose on ``` @@ -49,7 +49,7 @@ lp verbose [filter] ### 过滤器 -```text +```txt lp verbose on !Luck & !anticheat ``` @@ -69,7 +69,7 @@ lp verbose on !Luck & !anticheat `/lp verbose command` 让玩家执行命令,并打印此命令的权限检查。 -```text +```txt /lp verbose command ``` diff --git a/src/content/docs/java/process/plugin/management-tool/plugin-management/plugin-portal.md b/src/content/docs/java/process/plugin/management-tool/plugin-management/plugin-portal.md index c6b29023d..0a0acbeff 100644 --- a/src/content/docs/java/process/plugin/management-tool/plugin-management/plugin-portal.md +++ b/src/content/docs/java/process/plugin/management-tool/plugin-management/plugin-portal.md @@ -2,7 +2,7 @@ title: Plugin Portal --- -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/.108700/ diff --git a/src/content/docs/java/process/plugin/management-tool/plugin-management/plugmanx.md b/src/content/docs/java/process/plugin/management-tool/plugin-management/plugmanx.md index a71fbe8a6..01cac1ced 100644 --- a/src/content/docs/java/process/plugin/management-tool/plugin-management/plugmanx.md +++ b/src/content/docs/java/process/plugin/management-tool/plugin-management/plugmanx.md @@ -2,7 +2,7 @@ title: PlugMan --- -:::info +:::note `Bukkit (旧)` https://dev.bukkit.org/projects/plugman diff --git a/src/content/docs/java/process/plugin/management-tool/plugin-management/serverutils.md b/src/content/docs/java/process/plugin/management-tool/plugin-management/serverutils.md index 6cf26c2b8..e610f4b30 100644 --- a/src/content/docs/java/process/plugin/management-tool/plugin-management/serverutils.md +++ b/src/content/docs/java/process/plugin/management-tool/plugin-management/serverutils.md @@ -2,7 +2,7 @@ title: ServerUtils --- -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/.79599/ diff --git a/src/content/docs/java/process/plugin/management-tool/task/beautyquests.md b/src/content/docs/java/process/plugin/management-tool/task/beautyquests.md index 007f31e3f..c0c5d9e08 100644 --- a/src/content/docs/java/process/plugin/management-tool/task/beautyquests.md +++ b/src/content/docs/java/process/plugin/management-tool/task/beautyquests.md @@ -2,7 +2,7 @@ title: BeautyQuests --- -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/.39255 diff --git a/src/content/docs/java/process/plugin/management-tool/task/betonquest.md b/src/content/docs/java/process/plugin/management-tool/task/betonquest.md index b7637a5eb..f46d3fc94 100644 --- a/src/content/docs/java/process/plugin/management-tool/task/betonquest.md +++ b/src/content/docs/java/process/plugin/management-tool/task/betonquest.md @@ -2,7 +2,7 @@ title: BetonQuest --- -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/.2117 diff --git a/src/content/docs/java/process/plugin/management-tool/task/chemdah.md b/src/content/docs/java/process/plugin/management-tool/task/chemdah.md index aacd521ae..9cefadf53 100644 --- a/src/content/docs/java/process/plugin/management-tool/task/chemdah.md +++ b/src/content/docs/java/process/plugin/management-tool/task/chemdah.md @@ -6,7 +6,7 @@ title: Chemdah ## 链接 -:::info +:::note `GitHub` https://github.com/inrhor/Chemdah @@ -22,7 +22,7 @@ title: Chemdah 官方文档并不完善,使用此插件你可能需要付费购买第三方文档(WTF??) -如果你对这一切感到不满,可以试试竞品 [TypeWriter](typewriter.md) +如果你对这一切感到不满,可以试试竞品 [TypeWriter](/java/process/plugin/management-tool/task/typewriter) ## Bstats diff --git a/src/content/docs/java/process/plugin/management-tool/task/mangoquest.md b/src/content/docs/java/process/plugin/management-tool/task/mangoquest.md index 09b194bb2..2e72c472f 100644 --- a/src/content/docs/java/process/plugin/management-tool/task/mangoquest.md +++ b/src/content/docs/java/process/plugin/management-tool/task/mangoquest.md @@ -2,7 +2,7 @@ title: MangoQuest --- -:::info +:::note `GitHub` https://github.com/Cutiemango/MangoQuest diff --git a/src/content/docs/java/process/plugin/management-tool/task/questengine.md b/src/content/docs/java/process/plugin/management-tool/task/questengine.md index 81877260e..0d9f7fe16 100644 --- a/src/content/docs/java/process/plugin/management-tool/task/questengine.md +++ b/src/content/docs/java/process/plugin/management-tool/task/questengine.md @@ -2,7 +2,7 @@ title: QuestEngine --- -:::info +:::note `文档` https://iplugin.hiusers.com/docs/quest diff --git a/src/content/docs/java/process/plugin/management-tool/task/quests.md b/src/content/docs/java/process/plugin/management-tool/task/quests.md index a0987cd4b..8fc7cc140 100644 --- a/src/content/docs/java/process/plugin/management-tool/task/quests.md +++ b/src/content/docs/java/process/plugin/management-tool/task/quests.md @@ -2,7 +2,7 @@ title: Quests --- -:::info +:::note `Bukkit` https://dev.bukkit.org/projects/quests diff --git a/src/content/docs/java/process/plugin/management-tool/task/typewriter.md b/src/content/docs/java/process/plugin/management-tool/task/typewriter.md index 101084a5f..25326b88a 100644 --- a/src/content/docs/java/process/plugin/management-tool/task/typewriter.md +++ b/src/content/docs/java/process/plugin/management-tool/task/typewriter.md @@ -22,7 +22,7 @@ TypeWriter 是一款适用于 Paper 服务端的插件,它能通过简洁而 ## 链接 -:::info +:::note `GitHub` https://github.com/gabber235/TypeWriter diff --git a/src/content/docs/java/process/plugin/misc/holograms/decentholograms.md b/src/content/docs/java/process/plugin/misc/holograms/decentholograms.md index af42b0524..b8b39b8ce 100644 --- a/src/content/docs/java/process/plugin/misc/holograms/decentholograms.md +++ b/src/content/docs/java/process/plugin/misc/holograms/decentholograms.md @@ -7,7 +7,7 @@ title: DecentHolograms [![Code Size](https://img.shields.io/github/languages/code-size/DecentSoftware-eu/DecentHolograms)](https://github.com/DecentSoftware-eu/DecentHolograms) [![License](https://img.shields.io/github/license/DecentSoftware-eu/DecentHolograms)](https://github.com/DecentSoftware-eu/DecentHolograms/blob/main/LICENSE) -```text +```txt 一个轻量级但功能强大的全息图插件,具有许多功能和配置项。 ``` @@ -62,7 +62,7 @@ title: DecentHolograms ## 链接 -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/.96927 @@ -97,7 +97,7 @@ title: DecentHolograms 如何在您的项目中引入 DecentHolograms API -```text +```txt 用 DecentHolograms 当前版本替换 VERSION (Latest release) ``` diff --git a/src/content/docs/java/process/plugin/misc/holograms/holographicdisplays.md b/src/content/docs/java/process/plugin/misc/holograms/holographicdisplays.md index a61702dd0..1d42b5058 100644 --- a/src/content/docs/java/process/plugin/misc/holograms/holographicdisplays.md +++ b/src/content/docs/java/process/plugin/misc/holograms/holographicdisplays.md @@ -2,7 +2,7 @@ title: HolographicDisplays --- -:::info +:::note `Bukkit` https://dev.bukkit.org/projects/holographic-displays @@ -12,7 +12,7 @@ title: HolographicDisplays ::: -老牌全息图插件,不过咱建议用 [DecentHolograms](decentholograms.md) +老牌全息图插件,不过咱建议用 [DecentHolograms](/java/process/plugin/misc/holograms/decentholograms) ## 停更 diff --git a/src/content/docs/java/process/plugin/misc/login/authme.md b/src/content/docs/java/process/plugin/misc/login/authme.md index 1d124c86a..ca58d9ee9 100644 --- a/src/content/docs/java/process/plugin/misc/login/authme.md +++ b/src/content/docs/java/process/plugin/misc/login/authme.md @@ -2,7 +2,7 @@ title: Authme --- -:::info +:::note `Bukkit` https://dev.bukkit.org/projects/authme-reloaded @@ -32,7 +32,7 @@ title: Authme [AuthMeBungee](https://www.spigotmc.org/resources/.50219/) -[AuthMeVelocity](../../../../process/cross-server/plugin/proxy-only.md#authmevelocity) +[AuthMeVelocity](/java/process/cross-server/plugin/proxy-only#authmevelocity) ## 扩展 diff --git a/src/content/docs/java/process/plugin/misc/login/catseedlogin.md b/src/content/docs/java/process/plugin/misc/login/catseedlogin.md index 3c2f7e76a..3657337bd 100644 --- a/src/content/docs/java/process/plugin/misc/login/catseedlogin.md +++ b/src/content/docs/java/process/plugin/misc/login/catseedlogin.md @@ -2,7 +2,7 @@ title: CatSeedLogin --- -:::info +:::note `GitHub` https://github.com/CatSeed/CatSeedLogin diff --git a/src/content/docs/java/process/plugin/misc/login/librelogin.md b/src/content/docs/java/process/plugin/misc/login/librelogin.md index a66a1d1f6..ca532399c 100644 --- a/src/content/docs/java/process/plugin/misc/login/librelogin.md +++ b/src/content/docs/java/process/plugin/misc/login/librelogin.md @@ -2,7 +2,7 @@ title: LibreLogin --- -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/.101040 diff --git a/src/content/docs/java/process/plugin/misc/login/limboauth.md b/src/content/docs/java/process/plugin/misc/login/limboauth.md index 84fa1ec04..d837173a9 100644 --- a/src/content/docs/java/process/plugin/misc/login/limboauth.md +++ b/src/content/docs/java/process/plugin/misc/login/limboauth.md @@ -2,7 +2,7 @@ title: LimboAuth --- -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/.95748 diff --git a/src/content/docs/java/process/plugin/misc/menu/chestcommands.md b/src/content/docs/java/process/plugin/misc/menu/chestcommands.md index f372bbfc6..2fcb0de5f 100644 --- a/src/content/docs/java/process/plugin/misc/menu/chestcommands.md +++ b/src/content/docs/java/process/plugin/misc/menu/chestcommands.md @@ -2,7 +2,7 @@ title: ChestCommands --- -:::info +:::note `Bukkit` https://dev.bukkit.org/projects/chest-commands diff --git a/src/content/docs/java/process/plugin/misc/menu/deluxemenus.md b/src/content/docs/java/process/plugin/misc/menu/deluxemenus.md index c67ffd080..66f7a9e57 100644 --- a/src/content/docs/java/process/plugin/misc/menu/deluxemenus.md +++ b/src/content/docs/java/process/plugin/misc/menu/deluxemenus.md @@ -2,7 +2,7 @@ title: DeluxeMenus --- -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/deluxemenus.11734/ diff --git a/src/content/docs/java/process/plugin/misc/menu/invero.md b/src/content/docs/java/process/plugin/misc/menu/invero.md index 60f178ff1..66fef54a6 100644 --- a/src/content/docs/java/process/plugin/misc/menu/invero.md +++ b/src/content/docs/java/process/plugin/misc/menu/invero.md @@ -24,7 +24,7 @@ title: Invero ## 链接 -:::info +:::note `GitHub` https://github.com/Cubic-Project/Invero diff --git a/src/content/docs/java/process/plugin/misc/menu/trmenu.md b/src/content/docs/java/process/plugin/misc/menu/trmenu.md index 2f2a07a25..ce6664a34 100644 --- a/src/content/docs/java/process/plugin/misc/menu/trmenu.md +++ b/src/content/docs/java/process/plugin/misc/menu/trmenu.md @@ -9,7 +9,7 @@ title: TrMenu [![Code Size](https://img.shields.io/github/languages/code-size/CoderKuo/TrMenu)](https://github.com/CoderKuo/TrMenu) [![License](https://img.shields.io/badge/license-TrMenu-lightgreen.svg)](https://github.com/CoderKuo/TrMenu/blob/stable/v3/LICENSE.md) -```text +```txt 一个功能强大的菜单插件,国人插件。目前由社区维护。 ``` @@ -38,7 +38,7 @@ Notice:维护这个分支完全是个人兴趣。 早已停更,不推荐使用 -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/.83120/ @@ -48,7 +48,7 @@ Notice:维护这个分支完全是个人兴趣。 ### TrMenu v3 -:::info +:::note `MineBBS` https://www.minebbs.com/resources/trmenu-bug.9080/ @@ -92,7 +92,7 @@ TrMenu 入门学习文档 ## VS Code 插件 -与 TrMenu 或 [Kether](../../../maintenance/lang/kether/basic.md) 有关的 VS Code 插件 +与 TrMenu 或 [Kether](/java/advance/maintenance/lang/kether/basic) 有关的 VS Code 插件 - [TrMenu-Helper](https://marketplace.visualstudio.com/items?itemName=hhhhhy.trmenu-helper) @@ -108,7 +108,7 @@ Kether 语法提示 ## 案例 -:::warning +:::caution 请使用 最新的 **TrMenu 社区版** 不保证 **旧** 版本可用性 @@ -216,9 +216,9 @@ Sneaking-Offhand: :::tip -你需要安装 [CheckItem](../../plugin-dependencies/placeholderapi/check-item.md) +你需要安装 [CheckItem](/java/process/plugin/plugin-dependencies/placeholderapi/check-item) -并 [开启 give 和 remove](../../plugin-dependencies/placeholderapi/check-item.md#启用-give-和-remove) 和 [更改-boolean](../../plugin-dependencies/placeholderapi/faq.md#更改-boolean) +并 [开启 give 和 remove](/java/process/plugin/plugin-dependencies/placeholderapi/check-item#启用-give-和-remove) 和 [更改-boolean](/java/process/plugin/plugin-dependencies/placeholderapi/faq#更改-boolean) ::: @@ -227,8 +227,8 @@ Sneaking-Offhand: **知识点:** - TrMenu 文档熟读并背诵 -- [kether](../../../maintenance/lang/kether/basic.md) -- [CheckItem](../../plugin-dependencies/placeholderapi/check-item.md) +- [kether](/java/advance/maintenance/lang/kether/basic) +- [CheckItem](/java/process/plugin/plugin-dependencies/placeholderapi/check-item) ```yaml "写法1": @@ -283,8 +283,8 @@ Sneaking-Offhand: **知识点:** - TrMenu 文档熟读并背诵 -- [kether](../../../maintenance/lang/kether/basic.md) -- [CheckItem](../../plugin-dependencies/placeholderapi/check-item.md) +- [kether](/java/advance/maintenance/lang/kether/basic) +- [CheckItem](/java/process/plugin/plugin-dependencies/placeholderapi/check-item) - [妙妙写法](#妙妙写法) - [\{condition=\}条件](https://hhhhhy.gitbook.io/trmenu-v3/menu/action/option#tiao-jian) diff --git a/src/content/docs/java/process/plugin/misc/motd/minimotd.md b/src/content/docs/java/process/plugin/misc/motd/minimotd.md index be029e3e0..db68f8b3a 100644 --- a/src/content/docs/java/process/plugin/misc/motd/minimotd.md +++ b/src/content/docs/java/process/plugin/misc/motd/minimotd.md @@ -2,7 +2,7 @@ title: MiniMOTD --- -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/.81254/ diff --git a/src/content/docs/java/process/plugin/misc/mythicmobs.md b/src/content/docs/java/process/plugin/misc/mythicmobs.md index 77b682ad2..d36bb54cd 100644 --- a/src/content/docs/java/process/plugin/misc/mythicmobs.md +++ b/src/content/docs/java/process/plugin/misc/mythicmobs.md @@ -2,7 +2,7 @@ title: 实体 - MythicMobs --- -:::info +:::note `mythiccraft` https://mythiccraft.io/index.php?resources/.1/ diff --git a/src/content/docs/java/process/plugin/misc/npc/adyeshach.md b/src/content/docs/java/process/plugin/misc/npc/adyeshach.md index 69b484d16..a69ddb0ca 100644 --- a/src/content/docs/java/process/plugin/misc/npc/adyeshach.md +++ b/src/content/docs/java/process/plugin/misc/npc/adyeshach.md @@ -8,7 +8,7 @@ title: Adyeshach [![Stars](https://img.shields.io/github/stars/taboolib/adyeshach)](https://github.com/TabooLib/adyeshach) [![License](https://img.shields.io/github/license/taboolib/adyeshach)](https://github.com/TabooLib/adyeshach/blob/2.0/LICENSE) -```text +```txt Adyeshach 是一款基于 TabooLib 进行开发的纯发包 NPC 插件,旨在大幅提升性能并提供更高级的功能和 API。 ``` @@ -24,7 +24,7 @@ Adyeshach 是一款基于 TabooLib 进行开发的纯发包 NPC 插件,旨在 ## 链接 -:::info +:::note `GitHub` https://github.com/TabooLib/Adyeshach @@ -40,7 +40,7 @@ Adyeshach 是一款基于 TabooLib 进行开发的纯发包 NPC 插件,旨在 ## 1.21 -:::info +:::note `GitHub` https://github.com/iiabc/adyeshach diff --git a/src/content/docs/java/process/plugin/misc/npc/citizens.md b/src/content/docs/java/process/plugin/misc/npc/citizens.md index bf14e9bc2..83837f38e 100644 --- a/src/content/docs/java/process/plugin/misc/npc/citizens.md +++ b/src/content/docs/java/process/plugin/misc/npc/citizens.md @@ -8,13 +8,13 @@ title: Citizens [![Stars](https://img.shields.io/github/stars/CitizensDev/Citizens2?style=flat)](https://github.com/CitizensDev/Citizens2) [![License](https://img.shields.io/github/license/CitizensDev/Citizens2)](https://github.com/CitizensDev/Citizens2/blob/master/LICENSE) -```text +```txt 老牌 NPC 插件。 ``` ## 汉化 -:::info +:::note `MineBBS` https://www.minebbs.com/resources/.9107 @@ -42,7 +42,7 @@ title: Citizens ## 链接 -:::info +:::note `官网` https://wiki.citizensnpcs.co/Citizens_Wiki diff --git a/src/content/docs/java/process/plugin/misc/npc/intro.md b/src/content/docs/java/process/plugin/misc/npc/intro.md index 24644ba32..480333da4 100644 --- a/src/content/docs/java/process/plugin/misc/npc/intro.md +++ b/src/content/docs/java/process/plugin/misc/npc/intro.md @@ -16,7 +16,7 @@ title: NPC 自定义 NPC 执行命令需要开启命令方块 -[如何启用命令方块?](/docs-java/start/config-server.md#启用命令方块) +[如何启用命令方块?](/java/start/config-server#启用命令方块) import DocCardList from '@theme/DocCardList'; diff --git a/src/content/docs/java/process/plugin/misc/npc/znpcsplus.md b/src/content/docs/java/process/plugin/misc/npc/znpcsplus.md index 00c7834d0..ebb8802d8 100644 --- a/src/content/docs/java/process/plugin/misc/npc/znpcsplus.md +++ b/src/content/docs/java/process/plugin/misc/npc/znpcsplus.md @@ -2,7 +2,7 @@ title: ZNPCsPlus --- -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/znpcsplus.109380/ diff --git a/src/content/docs/java/process/plugin/misc/quickshop.md b/src/content/docs/java/process/plugin/misc/quickshop.md index 7c87ef21c..b22db352f 100644 --- a/src/content/docs/java/process/plugin/misc/quickshop.md +++ b/src/content/docs/java/process/plugin/misc/quickshop.md @@ -10,19 +10,19 @@ title: 商店 - QuickShop ~~用此插件做系统商店的通常是些新手服主或半吊子人~~ -[QuickShop](quickshop.md#quickshop) 原本由 [KaiKikuchi](https://github.com/KaiKikuchi) 维护 +[QuickShop](/java/process/plugin/misc/quickshop#quickshop) 原本由 [KaiKikuchi](https://github.com/KaiKikuchi) 维护 -弃坑之后 [Ghost-chu](https://github.com/Ghost-chu) fork 接手并做了 [QuickShop-Reremake](quickshop.md#quickshop-reremake-ghost-chupotatocraft-studio) +弃坑之后 [Ghost-chu](https://github.com/Ghost-chu) fork 接手并做了 [QuickShop-Reremake](/java/process/plugin/misc/quickshop#quickshop-reremake-ghost-chupotatocraft-studio) ~~Ghost-chu 大佬放弃维护后曾在某群抱怨这么多人用这个插件,连个 star 都不愿意点~~ -[PotatoCraft-Studio](https://github.com/PotatoCraft-Studio) 团队 fork 了 [Ghost-chu](https://github.com/Ghost-chu) 大佬的仓库,维护 [PotatoCraft-Studio](https://github.com/PotatoCraft-Studio) 版本的 [QuickShop-Reremake](quickshop.md#quickshop-reremake-ghost-chupotatocraft-studio) +[PotatoCraft-Studio](https://github.com/PotatoCraft-Studio) 团队 fork 了 [Ghost-chu](https://github.com/Ghost-chu) 大佬的仓库,维护 [PotatoCraft-Studio](https://github.com/PotatoCraft-Studio) 版本的 [QuickShop-Reremake](/java/process/plugin/misc/quickshop#quickshop-reremake-ghost-chupotatocraft-studio) 但是看起来很久没更新了,大概也弃坑了 -[PotatoCraft-Studio](https://github.com/PotatoCraft-Studio) 团队的 [QuickShop-Reremake](quickshop.md#quickshop-reremake-ghost-chupotatocraft-studio) 的后续版本 [QuickShop-Hikari](quickshop.md#quickshop-hikari) 目前由 [creatorfromhell](https://github.com/creatorfromhell) 维护 +[PotatoCraft-Studio](https://github.com/PotatoCraft-Studio) 团队的 [QuickShop-Reremake](/java/process/plugin/misc/quickshop#quickshop-reremake-ghost-chupotatocraft-studio) 的后续版本 [QuickShop-Hikari](/java/process/plugin/misc/quickshop#quickshop-hikari) 目前由 [creatorfromhell](https://github.com/creatorfromhell) 维护 -:::info +:::note `插件百科` https://mineplugin.org/QuickShop @@ -32,7 +32,7 @@ title: 商店 - QuickShop ## QuickShop -:::info +:::note `Bukkit` https://dev.bukkit.org/projects/quickshop-notlikeme @@ -46,7 +46,7 @@ title: 商店 - QuickShop ## QuickShop-Reremake (Ghost-chu/PotatoCraft-Studio) -:::info +:::note `Bukkit` https://dev.bukkit.org/projects/quickshop-reremake @@ -61,7 +61,7 @@ title: 商店 - QuickShop ## QuickShop-Hikari -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/.100125 diff --git a/src/content/docs/java/process/plugin/misc/skinsrestorer.md b/src/content/docs/java/process/plugin/misc/skinsrestorer.md index b24916d62..153c047de 100644 --- a/src/content/docs/java/process/plugin/misc/skinsrestorer.md +++ b/src/content/docs/java/process/plugin/misc/skinsrestorer.md @@ -2,7 +2,7 @@ title: SkinsRestorer --- -:::info +:::note `官网` https://skinsrestorer.net diff --git a/src/content/docs/java/process/plugin/misc/tab-scoreboard/simplescore.md b/src/content/docs/java/process/plugin/misc/tab-scoreboard/simplescore.md index 153fdf615..9f9840e30 100644 --- a/src/content/docs/java/process/plugin/misc/tab-scoreboard/simplescore.md +++ b/src/content/docs/java/process/plugin/misc/tab-scoreboard/simplescore.md @@ -13,7 +13,7 @@ title: SimpleScore ## 链接 -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/.23243 diff --git a/src/content/docs/java/process/plugin/misc/tab-scoreboard/tab.md b/src/content/docs/java/process/plugin/misc/tab-scoreboard/tab.md index 2c64f03a4..062ba789e 100644 --- a/src/content/docs/java/process/plugin/misc/tab-scoreboard/tab.md +++ b/src/content/docs/java/process/plugin/misc/tab-scoreboard/tab.md @@ -7,7 +7,7 @@ title: TAB [![Code Size](https://img.shields.io/github/languages/code-size/NEZNAMY/TAB)](https://github.com/NEZNAMY/TAB) [![License](https://img.shields.io/github/license/NEZNAMY/TAB)](https://github.com/NEZNAMY/TAB/blob/main/LICENSE) -```text +```txt TAB 是一个用于在不同位置显示信息的多功能插件,旨在在功能、兼容性和性能方面超越所有类似的插件。 ``` @@ -102,9 +102,9 @@ TAB 是一个用于在不同位置显示信息的多功能插件,旨在在功 | 跟进版本 | ✔ | | Bug 修复 | ✔ | | 文档 | ✔ | -| 新功能请求 | ❌ | +| 新功能请求 | ❌ | | Customer support | ✔ | -| 免费用户支持 | ❌\* | +| 免费用户支持 | ❌\* | | 优化 | ✔ | 1. 添加新的示例、指南和其他人们询问的有用信息。 @@ -121,7 +121,7 @@ https://github.com/NEZNAMY/TAB/wiki/Developer-API ## 链接 -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/.57806 diff --git a/src/content/docs/java/process/plugin/misc/tab-scoreboard/titlemanager.md b/src/content/docs/java/process/plugin/misc/tab-scoreboard/titlemanager.md index eda56a693..63f7d6585 100644 --- a/src/content/docs/java/process/plugin/misc/tab-scoreboard/titlemanager.md +++ b/src/content/docs/java/process/plugin/misc/tab-scoreboard/titlemanager.md @@ -12,7 +12,7 @@ title: TitleManager ## 链接 -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/.1049 diff --git a/src/content/docs/java/process/plugin/misc/via/intro.md b/src/content/docs/java/process/plugin/misc/via/intro.md index e6161f895..76f237fc3 100644 --- a/src/content/docs/java/process/plugin/misc/via/intro.md +++ b/src/content/docs/java/process/plugin/misc/via/intro.md @@ -71,13 +71,13 @@ ViaProxy 是独立的代理程序,支持任意客户端版本连接任意服 - 愚人节快照 (3D Shareware,20w14infinite,25w14craftmine) - 战斗测试快照 (Combat Test 8c) - 基岩版 1.21.93 ([某些功能缺失](https://github.com/RaphiMC/ViaBedrock#features)) -- 快照版本 15w31a 和 15w31b (需要 [ViaSnapshot](/advance/viaproxy/plugins/compatibility#viasnapshot)) +- 快照版本 15w31a 和 15w31b (需要 [ViaSnapshot](/java/process/plugin/misc/via/intro)) ### 支持的客户端版本 - Release (1.7.2 - 1.21.8) - Beta 1.7.3 (需要 [ViaProxyBeta2Release](https://github.com/ViaVersionAddons/ViaProxyBeta2Release)) -- 基岩版 (需要 [Geyser](../../../mobile-player/geyser/geyser.md) 插件) +- 基岩版 (需要 [Geyser](/java/process/mobile-player/geyser/intro) 插件) ViaProxy 可以让现代客户端进入十年前的 Classic 服务器,也可以实现 Java 版与基岩版之间的互通! diff --git a/src/content/docs/java/process/plugin/misc/via/more-for-via.md b/src/content/docs/java/process/plugin/misc/via/more-for-via.md index 3e47d02d4..33ddefa44 100644 --- a/src/content/docs/java/process/plugin/misc/via/more-for-via.md +++ b/src/content/docs/java/process/plugin/misc/via/more-for-via.md @@ -6,7 +6,7 @@ title: Via 进阶 ## AxSmithing -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/.112793 @@ -23,7 +23,7 @@ title: Via 进阶 ## ViaChatFixer -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/.61955 @@ -37,7 +37,7 @@ title: Via 进阶 ## ViaBackwards-Plus -:::info +:::note `Modrinth` https://modrinth.com/resourcepack/vb+ @@ -90,7 +90,7 @@ title: Via 进阶 ## ViaVersion Texture Fix (VVTF) -:::info +:::note `Modrinth` https://modrinth.com/resourcepack/viaversiontexturefix @@ -106,7 +106,7 @@ title: Via 进阶 ## ViaAprilFools -:::info +:::note `Hangar` https://hangar.papermc.io/ViaVersion/ViaAprilFools @@ -122,7 +122,7 @@ title: Via 进阶 ## AutoViaUpdater -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/.109331 diff --git a/src/content/docs/java/process/plugin/misc/via/viabackwards.md b/src/content/docs/java/process/plugin/misc/via/viabackwards.md index 71ced31bc..3a67241b8 100644 --- a/src/content/docs/java/process/plugin/misc/via/viabackwards.md +++ b/src/content/docs/java/process/plugin/misc/via/viabackwards.md @@ -2,7 +2,7 @@ title: ViaBackwards --- -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/.27448 @@ -14,7 +14,7 @@ title: ViaBackwards ::: -Via 三件套中的向下兼容,需要安装 [ViaVersion](viaversion.md) 作为前置 +Via 三件套中的向下兼容,需要安装 [ViaVersion](/java/process/plugin/misc/via/intro) 作为前置 [ViaBackwards 构建站](https://ci.viaversion.com/view/ViaBackwards/job/ViaBackwards/) diff --git a/src/content/docs/java/process/plugin/misc/via/viarewind.md b/src/content/docs/java/process/plugin/misc/via/viarewind.md index f8e3190a6..e94563dd2 100644 --- a/src/content/docs/java/process/plugin/misc/via/viarewind.md +++ b/src/content/docs/java/process/plugin/misc/via/viarewind.md @@ -2,7 +2,7 @@ title: ViaRewind --- -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/.52109 @@ -21,7 +21,7 @@ ViaRewind 可以让超低版本 (1.7-1.8) 客户端进入高版本服务器 ## FAQ -:::warning +:::caution ViaRewind 的兼容性非常差,毕竟跨版本这么大必然有问题 diff --git a/src/content/docs/java/process/plugin/misc/via/viaversion.md b/src/content/docs/java/process/plugin/misc/via/viaversion.md index c3d6d942a..1105a91e2 100644 --- a/src/content/docs/java/process/plugin/misc/via/viaversion.md +++ b/src/content/docs/java/process/plugin/misc/via/viaversion.md @@ -2,7 +2,7 @@ title: ViaVersion --- -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/.19254 @@ -18,7 +18,7 @@ title: ViaVersion ::: -ViaVersion 是 Via 三件套的核心,提供了向上兼容,如果你想要向下兼容,可以再安装 [ViaBackwards](viabackwards.md) 和 [ViaRewind](viarewind.md) +ViaVersion 是 Via 三件套的核心,提供了向上兼容,如果你想要向下兼容,可以再安装 [ViaBackwards](/java/process/plugin/misc/via/viabackwards) 和 [ViaRewind](/java/process/plugin/misc/via/viarewind) [ViaVersion 构建站](https://ci.viaversion.com/job/ViaVersion) diff --git a/src/content/docs/java/process/plugin/more/color-message.md b/src/content/docs/java/process/plugin/more/color-message.md index b62131516..7aa6d64e3 100644 --- a/src/content/docs/java/process/plugin/more/color-message.md +++ b/src/content/docs/java/process/plugin/more/color-message.md @@ -91,7 +91,7 @@ _除非他们自身引入了 Adventure 库 (如 PlaceholderAPI)。_ ### 如何使用 -:::warning +:::caution 本篇不讲述诸如 TAB 等插件或模组自行实现的类似 MiniMessage 效果的使用。 @@ -139,7 +139,7 @@ TabooLib Components,当你使用 TabooLib 框架的插件时,可以使用此 > [https://plugins.ptms.ink/category/行内复合文本](https://plugins.ptms.ink/category/%E8%A1%8C%E5%86%85%E5%A4%8D%E5%90%88%E6%96%87%E6%9C%AC) \ > https://taboo.8aka.org/components/ -```text +```txt [||||||||||||||||||||](gradient=#f6d365,#fda085) ``` @@ -153,7 +153,7 @@ MineDown 为 Minecraft 引入了 Markdown 风格的文本格式化语法,让 ### 语法示例 -```text +```txt [||||||||||||||||||||](color=#f6d365-#fda085) ``` diff --git a/src/content/docs/java/process/plugin/more/faq.md b/src/content/docs/java/process/plugin/more/faq.md index 8dd8b1fa3..1b9167732 100644 --- a/src/content/docs/java/process/plugin/more/faq.md +++ b/src/content/docs/java/process/plugin/more/faq.md @@ -10,7 +10,7 @@ title: 常见问题 -```text +```txt [00:00:00] [Server thread/WARN] Could not load 'plugins/MyAwesomePlugin-1.0.0.jar' in folder 'plugins' [00:00:00] [Server thread/WARN] org.bukkit.plugin.UnknownDependencyException: Unknown/missing dependency plugins: [Vault]. Please download and install these plugins to run 'MyAwesomePlugin'. ``` @@ -27,7 +27,7 @@ title: 常见问题 -```text +```txt [00:00:00] [Server thread/WARN] Could not load 'plugins/MyAwesomePlugin-1.0.0.jar' in folder 'plugins' [00:00:00] [Server thread/WARN] org.bukkit.plugin.InvalidDescriptionException: Invalid plugin.yml ``` @@ -45,7 +45,7 @@ title: 常见问题 -```text +```txt org.bukkit.plugin.InvalidPluginException: java.lang.UnsupportedClassVersionError: me/profelements/dynatech/DynaTech has been compiled by a more recent version of the Java Runtime (class file version 65.0), this version of the Java Runtime only recognizes class file versions up to 61.0 ``` @@ -81,7 +81,7 @@ org.bukkit.plugin.InvalidPluginException: java.lang.UnsupportedClassVersionError -```text +```txt [00:00:00] [Server thread/WARN] Ambiguous plugin name `Essentials' for files `plugins/EssentialsX-2.19.4.jar' and `plugins/Essentialsx-2.20.0-dev.jar' in `plugins' ``` diff --git a/src/content/docs/java/process/plugin/more/plugin-backdoor.md b/src/content/docs/java/process/plugin/more/plugin-backdoor.md index 78193f83f..2cf4deb75 100644 --- a/src/content/docs/java/process/plugin/more/plugin-backdoor.md +++ b/src/content/docs/java/process/plugin/more/plugin-backdoor.md @@ -26,7 +26,7 @@ McGuard 可以在不启动服务器的情况下对服务端中的全部插件进 当 MCG 控制台模式完成启动后,你将见到以下字样: -```text +```txt [McGuard] 感谢您使用 McGuard! MCGuard v-b0/r0 Author: huzpsb 请选择模式 (0-标准模式 1-专家模式 2-开发者模式): @@ -36,7 +36,7 @@ MCGuard v-b0/r0 Author: huzpsb ### 结果 -```text +```txt [提示] 正在扫描 MCG.jar ................ [提示] 正在扫描 Vault.jar ................ [提示] 正在扫描 [C]安全测试_CoRE.jar ................ @@ -52,7 +52,7 @@ MCGuard v-b0/r0 Author: huzpsb 对于存在异常的插件,MCG 会输出“结果展示”块。并给出异常的具体描述。 -:::warning +:::caution \*注意,MCG 不会对插件进行修改,也不会对插件进行删除。你需要手动删除异常插件 diff --git a/src/content/docs/java/process/plugin/more/plugin-build/idea-build.md b/src/content/docs/java/process/plugin/more/plugin-build/idea-build.md index 0af487e7c..c4739405d 100644 --- a/src/content/docs/java/process/plugin/more/plugin-build/idea-build.md +++ b/src/content/docs/java/process/plugin/more/plugin-build/idea-build.md @@ -32,7 +32,7 @@ title: 使用 IDEA ![build2](./_assets/image-3.png) 3. 在 `build/libs` 目录找到生成的 jar 文件 -> 如果遇到依赖下载慢的问题,可以参考 [配置镜像源](./mirror-config.md) 文档。 +> 如果遇到依赖下载慢的问题,可以参考 [配置镜像源](/java/process/plugin/more/plugin-build/mirror-config) 文档。 ## 常见问题 diff --git a/src/content/docs/java/process/plugin/more/plugin-build/intro.mdx b/src/content/docs/java/process/plugin/more/plugin-build/intro.mdx index fb5ab16bd..ccc7370b3 100644 --- a/src/content/docs/java/process/plugin/more/plugin-build/intro.mdx +++ b/src/content/docs/java/process/plugin/more/plugin-build/intro.mdx @@ -2,8 +2,7 @@ title: 概述 --- -// import StructureExplorer from "@site/src/components/StructureExplorer"; -// import { mavenProjectStructure, gradleProjectStructure } from "@site/src/data/structures"; +import { FileTree } from '@astrojs/starlight/components'; ## 什么是构建? @@ -69,11 +68,63 @@ title: 概述 #### Maven 项目结构 -{/* */} + +- 项目根目录/ + - src/ 源代码目录 + - main/ 主要代码目录 + - java/ Java 源代码 + - com/ + - example/ + - plugin/ 插件包 + - Main.java 插件主类 + - commands/ 命令类 + - listeners/ 监听器类 + - utils/ 工具类 + - resources/ 资源文件目录 + - plugin.yml 插件配置文件 + - config.yml 插件默认配置 + - messages/ 语言文件 + - test/ 测试代码目录 + - java/ 测试源代码 + - resources/ 测试资源 + - target/ 构建输出目录 + - pom.xml Maven 项目配置文件 + - README.md 项目说明文件 + #### Gradle 项目结构 -{/* */} + +- 项目根目录/ + - src/ 源代码目录 + - main/ 主要代码目录 + - java/ Java 源代码 + - com/ + - example/ + - plugin/ 插件包 + - Main.java 插件主类 + - commands/ 命令类 + - listeners/ 监听器类 + - utils/ 工具类 + - kotlin/ Kotlin 源代码(如果使用) + - resources/ 资源文件目录 + - plugin.yml 插件配置文件 + - config.yml 插件默认配置 + - messages/ 语言文件 + - test/ 测试代码目录 + - java/ 测试源代码 + - kotlin/ Kotlin 测试代码 + - resources/ 测试资源 + - build/ 构建输出目录 + - libs/ 构建产物(jar 文件) + - gradle/ Gradle 包装器目录 + - wrapper/ + - build.gradle Gradle 构建脚本 + - settings.gradle Gradle 设置文件 + - gradlew Gradle 包装器脚本 (Unix) + - gradlew.bat Gradle 包装器脚本 (Windows) + - README.md 项目说明文件 + ### 重要文件说明 diff --git a/src/content/docs/java/process/plugin/more/plugin-build/terminal-build.md b/src/content/docs/java/process/plugin/more/plugin-build/terminal-build.md index 50c2f9a64..ec8552b81 100644 --- a/src/content/docs/java/process/plugin/more/plugin-build/terminal-build.md +++ b/src/content/docs/java/process/plugin/more/plugin-build/terminal-build.md @@ -7,15 +7,15 @@ title: 使用终端 ### 1. 安装 JDK 1. **Windows**: - - 从 [JDK 选择](/preparation/java/choose-and-download-and-install-java) 选择并下载 JDK + - 从 [JDK 选择](/general/java/choose-and-download-and-install-java) 选择并下载 JDK - 按照提示完成安装 - - 配置 [环境变量](/preparation/java/environment) + - 配置 [环境变量](/general/java/environment) - 验证安装: 1. 按 `Win + R`,输入 `cmd` 打开终端 2. 输入 `java -version` 3. 如果看到类似下面的输出,说明安装成功: - ```text + ```txt java version "1.8.0_301" Java(TM) SE Runtime Environment (build 1.8.0_301-b09) Java HotSpot(TM) 64-Bit Server VM (build 25.301-b09, mixed mode) @@ -42,7 +42,7 @@ title: 使用终端 1. 访问 [Maven 官网](https://maven.apache.org/download.cgi) 下载最新版本 2. 下载 `apache-maven-x.x.x-bin.zip`(x.x.x 是版本号) 3. 解压到合适位置(建议:`C:\Program Files\Apache\maven`) - 4. 配置 [环境变量](/preparation/java/environment): + 4. 配置 [环境变量](/general/java/environment): - 新建系统变量 `MAVEN_HOME`,值为 Maven 解压目录 - 在 `Path` 变量末尾添加 `;%MAVEN_HOME%\bin` 5. 验证安装: @@ -195,7 +195,7 @@ ls -l build/libs 如果看到类似 `Could not resolve dependency` 的错误: 1. **配置镜像源**: - 参考 [配置镜像源](./mirror-config.md) 文档进行配置。 + 参考 [配置镜像源](/java/process/plugin/more/plugin-build/mirror-config) 文档进行配置。 2. **手动下载依赖**: diff --git a/src/content/docs/java/process/plugin/more/plugin-config.md b/src/content/docs/java/process/plugin/more/plugin-config.md index af1f335ae..77bf8834a 100644 --- a/src/content/docs/java/process/plugin/more/plugin-config.md +++ b/src/content/docs/java/process/plugin/more/plugin-config.md @@ -6,9 +6,9 @@ title: 汉化插件 插件的配置文件一般在 `/plugins/插件名字/` 文件夹中,常见的配置文件一般是 `config.yml` 。 -> 插件一般会使用 **YAML** 作为配置文件格式,建议先学习 [YAML](../../../advance/yaml/yaml.md) 语法。 +> 插件一般会使用 **YAML** 作为配置文件格式,建议先学习 [YAML](/java/process/plugin/more/yaml/intro) 语法。 -我们在开始前所做的准备工作中,推荐你安装任意一款推荐的文档编辑软件:请查看 [文本编辑器](/preparation/text-editor) +我们在开始前所做的准备工作中,推荐你安装任意一款推荐的文档编辑软件:请查看 [文本编辑器](/general/preparation/text-editor/intro) 如果你是 Windows,现在让我们双击 .yml 文件就可以开始修改配置文件了! @@ -89,7 +89,7 @@ import TabItem from '@theme/TabItem'; 然后把语言项改成 zh_CN、Chinese 等,具体应该写什么这地方。插件配置的注释可能提到 -也可以找找 [插件文件夹](plugin-config.md?plugin-language=folder) 和 [拆开 jar 文件](plugin-config.md?plugin-language=jar) +也可以找找 [插件文件夹](/java/process/plugin/more/plugin-config?plugin-language=folder) 和 [拆开 jar 文件](/java/process/plugin/more/plugin-config?plugin-language=jar)
    @@ -105,7 +105,7 @@ import TabItem from '@theme/TabItem'; -```text +```txt 请将我给出的以 YAML 格式存储的 Minecraft 插件的配置文件汉化,且不改变本身的可执行性,其中被两个 % 包裹的为变量请不要翻译,请翻译时不要带翻译腔,而是要翻译得自然、流畅和地道,使用优美和高雅的表达方式并代入 Minecraft 游戏内进行翻译,翻译后请以 Markdown 代码块的格式发送 ``` @@ -123,7 +123,7 @@ import TabItem from '@theme/TabItem'; 他 **可能** 把你要改的语言直接写死在代码里了,你要自己去改代码... -比如驿站内核汉化的 [DecentHolograms](../misc/holograms/decentholograms.md) +比如驿站内核汉化的 [DecentHolograms](/java/process/plugin/misc/holograms/decentholograms)
    diff --git a/src/content/docs/java/process/plugin/more/plugin-download.md b/src/content/docs/java/process/plugin/more/plugin-download.md index 4df49c47e..07b7a16f3 100644 --- a/src/content/docs/java/process/plugin/more/plugin-download.md +++ b/src/content/docs/java/process/plugin/more/plugin-download.md @@ -4,7 +4,7 @@ title: 插件下载 ## 选择插件 -很好,相信你已经在 [可能用到的网站](../../../preparation/websites.md) 看到了很多链接,面对成千上万的插件我们应该如何进行选择呢? +很好,相信你已经在 [可能用到的网站](/java/process/plugin/misc/via/intro) 看到了很多链接,面对成千上万的插件我们应该如何进行选择呢? 我们在此以 spigotmc.org 为例 (假设你已经注册成功),讲解如何选择插件。 @@ -36,7 +36,7 @@ title: 插件下载 如果符合以下的标准,可以尝试下载几个并收藏这些插件 (建议同类型插件选择大概 3 ~ 5 个,最后选出一个综合最好的)。 -:::info +:::note 对于大多数插件,选择人数较多 (同类型插件前 50%),更新维护更频繁,用户评价多且平均分高,插件特性满足需要 (注意不是越多越好)。 diff --git a/src/content/docs/java/process/plugin/more/tittle-tattle.md b/src/content/docs/java/process/plugin/more/tittle-tattle.md index 4e3b5bd2b..db9ae54cf 100644 --- a/src/content/docs/java/process/plugin/more/tittle-tattle.md +++ b/src/content/docs/java/process/plugin/more/tittle-tattle.md @@ -42,13 +42,13 @@ Paper 服务器有一个鲜为人知的功能,那就是 update 文件夹。以 Spigot 在 1.17 之后新增了一个名 为 LibraryLoader 的玩意,可以让插件在运行时下载所需依赖,无需将其包括在插件本体中,这显然是一个好消息,但是对于国内用户来说就显得不那么友好,Spigot 默认没有提供对下载源的自定义功能,导致只能从 maven 中心源缓慢地下载依赖文件甚至超时,本工具就是针对这种情况进行解决。 -:::info +:::note `MineBBS` https://www.minebbs.com/resources/.7469 ::: -如果你使用 Leaf 核心或 Paper 1.21.6 (及其分支) 之后的版本,可以直接 [这样做](/docs-java/process/maintenance/optimize/jvm/common.md#下载源加速),不需要使用此工具。 +如果你使用 Leaf 核心或 Paper 1.21.6 (及其分支) 之后的版本,可以直接 [这样做](/java/advance/maintenance/optimize/jvm/common#下载源加速),不需要使用此工具。 ## 圈内破事 diff --git a/src/content/docs/java/process/plugin/more/yaml/extention.md b/src/content/docs/java/process/plugin/more/yaml/extention.md index 7a5235bb1..777693e91 100644 --- a/src/content/docs/java/process/plugin/more/yaml/extention.md +++ b/src/content/docs/java/process/plugin/more/yaml/extention.md @@ -4,7 +4,7 @@ title: 扩展 ## 锚点 -:::warning +:::caution 锚点一定要先声明再使用。 diff --git a/src/content/docs/java/process/plugin/more/yaml/intro.md b/src/content/docs/java/process/plugin/more/yaml/intro.md index 2b3ced405..b9efeee57 100644 --- a/src/content/docs/java/process/plugin/more/yaml/intro.md +++ b/src/content/docs/java/process/plugin/more/yaml/intro.md @@ -24,7 +24,7 @@ Minecraft 服务器用到的 YAML 语法都是非常非常基础的,只要了 - 冒号后面有空格 - 字符串要加单引号或双引号 -:::info +:::note 在不涉及转义字符 (形如 \n, \r) 时,单双引号等价。 @@ -32,7 +32,7 @@ Minecraft 服务器用到的 YAML 语法都是非常非常基础的,只要了 ::: -:::info +:::note 有可能你的文本编辑器用的缩进不是 **空格**,这会导致插件报错。 diff --git a/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/change-output.md b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/change-output.md index 02709d0a9..2c58e785b 100644 --- a/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/change-output.md +++ b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/change-output.md @@ -2,7 +2,7 @@ title: ChangeOutput --- -:::info +:::note `eCloud` https://api.extendedclip.com/expansions/changeoutput @@ -16,7 +16,7 @@ title: ChangeOutput ## 安装此扩展 -```text +```txt /papi ecloud download ChangeOutput /papi reload ``` @@ -25,7 +25,7 @@ title: ChangeOutput 允许你修改其他变量返回的内容。 -```text +```txt %changeoutput_<选项>_input:<输入内容>_matcher:<匹配内容>_ifmatch:<匹配输出的内容>_else:<不匹配输出的内容>% ``` diff --git a/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/check-item.md b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/check-item.md index b518aed26..ab11ca167 100644 --- a/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/check-item.md +++ b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/check-item.md @@ -2,7 +2,7 @@ title: CheckItem --- -:::info +:::note 因高版本(1.20.4+)的 CheckItem 对 NBT 的检查存在问题,HelpChat Discord 上的 Blitz 及部分开发者对其进行了针对性修复,可从 [这里](https://cdn.discordapp.com/attachments/573429521554866178/1377020689734701086/Expansion-CheckItem.jar?ex=683abdb4&is=68396c34&hm=833ab3aa7e997a35c1f85df41a18b28467e432d28884408bf6ecd5adb7b7f775&)(外网链接)直接下载。 @@ -10,7 +10,7 @@ title: CheckItem ::: -:::info +:::note `eCloud` https://api.extendedclip.com/expansions/checkitem @@ -24,7 +24,7 @@ title: CheckItem ## 安装此扩展 -```text +```txt /papi ecloud download CheckItem /papi reload ``` @@ -33,7 +33,7 @@ title: CheckItem ![](_assets/CheckItem/remove-item.png) -```text +```txt /papi parse me %checkitem_remove_diamond% ``` @@ -47,7 +47,7 @@ title: CheckItem 这里返回了 yes -[如何返回 true/false?](/docs-java/process/plugin/plugin-dependencies/placeholderapi/faq.md#更改-boolean) +[如何返回 true/false?](/java/process/plugin/plugin-dependencies/placeholderapi/faq#更改-boolean) 例如: @@ -111,7 +111,7 @@ title: CheckItem 用来获取玩家指定背包位置的物品信息 -```text +```txt %checkitem_getinfo:<槽位>_<修饰符 1>,<修饰符 2>,<...>% ``` @@ -133,19 +133,19 @@ title: CheckItem 例如: -```text title="检查玩家背包中钻石数量" +```txt title="检查玩家背包中钻石数量" %checkitem_amount_mat:diamond% ``` ![](_assets/CheckItem/连续使用-1.png) -```text title="收取背包中所有钻石" +```txt title="收取背包中所有钻石" %checkitem_remove_mat:diamond% ``` ![](_assets/CheckItem/连续使用-2.png) -```text title="收取背包中所有钻石,但是变量返回值是收取的数量" +```txt title="收取背包中所有钻石,但是变量返回值是收取的数量" %checkitem_amount_remove_mat:diamond% ``` @@ -155,7 +155,7 @@ title: CheckItem 收取指定 IA 物品的指定数量 -```text +```txt %checkitem_remove_nbtstrings:itemsadder..id..data=ia 物品 ID,amt:数量% ``` diff --git a/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/common-usage.md b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/common-usage.md index abd7dcfd6..7eb9a207d 100644 --- a/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/common-usage.md +++ b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/common-usage.md @@ -10,11 +10,11 @@ title: 常用变量 > https://continue-project.netlify.app/PlaceholderAPI/user-guides.placeholder-list.html#player -```text +```txt /papi ecloud download Player ``` -```text +```txt %player_name% - 玩家名称 %player_exp% - 玩家的 exp %player_ping% - 玩家的延迟 @@ -26,11 +26,11 @@ title: 常用变量 > https://continue-project.netlify.app/PlaceholderAPI/user-guides.placeholder-list.html#server -```text +```txt /papi ecloud download Server ``` -```text +```txt %server_online% - 服务器在线人数 %server_max_players% - 服务器最大在线人数 %server_tps% - 服务器 TPS @@ -45,11 +45,11 @@ title: 常用变量 > https://continue-project.netlify.app/PlaceholderAPI/user-guides.placeholder-list.html#vault -```text +```txt /papi ecloud download Vault ``` -```text +```txt %vault_eco_balance% - 玩家的钱数 ``` @@ -69,31 +69,31 @@ Multiverse-Core v5 已经内置 papi 支持,不再需要额外下载扩展 ::: -```text +```txt %multiverse-core_alias% - v5 显示世界别名 ``` -```text +```txt /papi ecloud download multiverse ``` -```text +```txt %multiverse_world_alias% - v4 显示世界别名 ``` -[案例 | 中文世界名](../../world-management/multiverse/faq1.md#世界别名) +[案例 | 中文世界名](/java/process/plugin/world-management/multiverse/faq1#世界别名) ## PlayerPoints > https://continue-project.netlify.app/PlaceholderAPI/user-guides.placeholder-list.html#playerpoints -```text +```txt %playerpoints_points% - 点券数 ``` @@ -105,11 +105,11 @@ PlayerPoints 在 3.0.0 以及更高版本会自动挂钩 papi,不再需要自 > https://continue-project.netlify.app/PlaceholderAPI/user-guides.placeholder-list.html#statistic -```text +```txt /papi ecloud download Statistic ``` -```text +```txt %statistic_time_played:days% - 在线时间(天) %statistic_time_played:hours% - 在线时间(时) %statistic_time_played:minutes% - 在线时间(分) @@ -122,11 +122,11 @@ PlayerPoints 在 3.0.0 以及更高版本会自动挂钩 papi,不再需要自 > https://continue-project.netlify.app/PlaceholderAPI/user-guides.placeholder-list.html#luckperms -```text +```txt /papi ecloud download LuckPerms ``` -```text +```txt %luckperms_prefix% - 返回玩家的前缀 %luckperms_meta<键名>% - 返回给定元数据键的单个对应值 %luckperms_groups% - 返回玩家直接继承的权限组列表 diff --git a/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/faq.md b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/faq.md index 025a38e8e..0c97a1b80 100644 --- a/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/faq.md +++ b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/faq.md @@ -26,9 +26,10 @@ title: 常见问题 在上方图片中,可以看到箭头所指一行是 `%vault_eco_balance%` -你需要安装 [Vault](./../vault/vault.md) 插件和 [经济插件](../xconomy.md) +你需要安装 [Vault](/java/process/plugin/plugin-dependencies/vault/intro) 插件和 [经济插件](/java/process/plugin/plugin-dependencies/xconomy) -接着,确保你安装了 [PlaceHolderAPI](placeholderapi.md) 插件,执行下方命令 +接着,确保你安装了 [PlaceHolderAPI](/java/process/plugin/plugin-dependencies/placeholderapi +/intro) 插件,执行下方命令 ```bash /papi ecloud download Vault @@ -73,7 +74,7 @@ boolean: ## 在哪寻找我要的变量? -:::info +:::note `Wiki` :https://wiki.placeholderapi.com/ @@ -85,7 +86,7 @@ boolean: ## 怎么下载变量扩展? -```text +```txt /papi ecloud download 扩展名 ``` diff --git a/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/placeholderapi.md b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/intro.md similarity index 99% rename from src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/placeholderapi.md rename to src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/intro.md index b49486e88..182b17c89 100644 --- a/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/placeholderapi.md +++ b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/intro.md @@ -207,7 +207,7 @@ eCloud 命令 ## 链接 -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/.6245 diff --git a/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/intro.mdx b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/intro.mdx new file mode 100644 index 000000000..7b3a029c7 --- /dev/null +++ b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/intro.mdx @@ -0,0 +1,14 @@ +--- +title: PlaceHolderAPI +--- + +import { CardGrid, LinkCard } from '@astrojs/starlight/components'; + +PlaceholderAPI 是适用于 Spigot 及其衍生服务端的插件,它允许服务器管理者以固定的格式替换占位符 (俗称变量) 为各种插件的信息。 + + + + + + + diff --git a/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/javascript.md b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/javascript.md index 6f89edd38..2aee01171 100644 --- a/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/javascript.md +++ b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/javascript.md @@ -2,7 +2,7 @@ title: JavaScript --- -:::info +:::note `eCloud` https://api.extendedclip.com/expansions/javascript diff --git a/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/math.md b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/math.md index c76ff7313..dd0641250 100644 --- a/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/math.md +++ b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/math.md @@ -2,7 +2,7 @@ title: Math --- -:::info +:::note `eCloud` https://api.extendedclip.com/expansions/math @@ -16,7 +16,7 @@ title: Math ## 安装此扩展 -```text +```txt /papi ecloud download Math /papi reload ``` @@ -25,7 +25,7 @@ title: Math ### 基础 -```text +```txt %math_你的算式% ``` @@ -47,7 +47,7 @@ math: 或者: -```text +```txt %math_小数位数_你的算式% ``` diff --git a/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/parse-other.md b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/parse-other.md index 3d7501f0f..4715c427f 100644 --- a/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/parse-other.md +++ b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/parse-other.md @@ -2,7 +2,7 @@ title: ParseOther --- -:::info +:::note `eCloud` https://api.extendedclip.com/expansions/parseother @@ -22,14 +22,14 @@ title: ParseOther ## 安装此扩展 -```text +```txt /papi ecloud download ParseOther /papi reload ``` ## 使用 -```text +```txt %parseother_{玩家名称}_{不带百分号的变量}% %parseother_unsafe_{玩家名称变量}_{不带百分号的变量}% %parseother_{uuid}_{不带百分号的变量}% diff --git a/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/progress.md b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/progress.md index 78d33663c..085d542dd 100644 --- a/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/progress.md +++ b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/progress.md @@ -2,7 +2,7 @@ title: Progress --- -:::info +:::note `eCloud` https://api.extendedclip.com/expansions/progress @@ -16,14 +16,14 @@ title: Progress ## 安装此扩展 -```text +```txt /papi ecloud download Progress /papi reload ``` ## 使用 -```text +```txt %progress_bar_{变量}% %progress_bar_{变量}_c:<满格符号>% %progress_bar_{变量}_p:<半满符号>% @@ -35,7 +35,7 @@ title: Progress 例如: -```text +```txt name: '内存使用 / 总内存' lore: - '%progress_bar_{server_ram_used}_m:{server_ram_max}%' diff --git a/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/string.md b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/string.md index a4466ace4..8b7336f41 100644 --- a/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/string.md +++ b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/string.md @@ -2,7 +2,7 @@ title: String --- -:::info +:::note `eCloud` https://api.extendedclip.com/expansions/string @@ -18,7 +18,7 @@ title: String ## 安装此扩展 -```text +```txt /papi ecloud download String /papi reload ``` diff --git a/src/content/docs/java/process/plugin/plugin-dependencies/playerpoints.md b/src/content/docs/java/process/plugin/plugin-dependencies/playerpoints.md index 19971dbc2..10376ff4d 100644 --- a/src/content/docs/java/process/plugin/plugin-dependencies/playerpoints.md +++ b/src/content/docs/java/process/plugin/plugin-dependencies/playerpoints.md @@ -2,7 +2,7 @@ title: PlayerPoints --- -:::info +:::note `Bukkit (旧)` https://dev.bukkit.org/projects/playerpoints diff --git a/src/content/docs/java/process/plugin/plugin-dependencies/protocollib.md b/src/content/docs/java/process/plugin/plugin-dependencies/protocollib.md index 44b3ba44e..242faf922 100644 --- a/src/content/docs/java/process/plugin/plugin-dependencies/protocollib.md +++ b/src/content/docs/java/process/plugin/plugin-dependencies/protocollib.md @@ -2,7 +2,7 @@ title: ProtocolLib --- -:::info +:::note `Bukkit (旧)` https://dev.bukkit.org/projects/protocollib diff --git a/src/content/docs/java/process/plugin/plugin-dependencies/vault/intro.md b/src/content/docs/java/process/plugin/plugin-dependencies/vault/intro.md index be428c025..5e7f067af 100644 --- a/src/content/docs/java/process/plugin/plugin-dependencies/vault/intro.md +++ b/src/content/docs/java/process/plugin/plugin-dependencies/vault/intro.md @@ -2,7 +2,7 @@ title: 概述 --- -:::info +:::note `Bukkit` https://dev.bukkit.org/projects/vault @@ -30,7 +30,7 @@ title: 概述 人话:Vault 只是提供经济的插件的前置,本身并不提供经济功能,就是给众多经济系统提供了一个统一接口 -想要经济可以看看 [XConomy](../xconomy.md) 页面 +想要经济可以看看 [XConomy](/java/process/plugin/plugin-dependencies/xconomy) 页面 ## Vault 支持旧版和新版本 MC 吗 diff --git a/src/content/docs/java/process/plugin/plugin-dependencies/vault/serviceio.md b/src/content/docs/java/process/plugin/plugin-dependencies/vault/serviceio.md index d91fe989b..6f4d465c8 100644 --- a/src/content/docs/java/process/plugin/plugin-dependencies/vault/serviceio.md +++ b/src/content/docs/java/process/plugin/plugin-dependencies/vault/serviceio.md @@ -53,7 +53,7 @@ ServiceIO 的一个关键特性是与现有 Vault 接口的无缝集成,允许 ## 链接 -:::info +:::note `Hangar` https://hangar.papermc.io/TheNextLvl/ServiceIO diff --git a/src/content/docs/java/process/plugin/plugin-dependencies/vault/vaultunlocked.md b/src/content/docs/java/process/plugin/plugin-dependencies/vault/vaultunlocked.md index 2c82221ab..0558f77d1 100644 --- a/src/content/docs/java/process/plugin/plugin-dependencies/vault/vaultunlocked.md +++ b/src/content/docs/java/process/plugin/plugin-dependencies/vault/vaultunlocked.md @@ -27,7 +27,7 @@ Vault 的分支版本,提供更多功能 ## 链接 -:::info +:::note `Bukkit` https://dev.bukkit.org/projects/vault diff --git a/src/content/docs/java/process/plugin/plugin-dependencies/xconomy.md b/src/content/docs/java/process/plugin/plugin-dependencies/xconomy.md index 1431ce6d2..ffe4f5d14 100644 --- a/src/content/docs/java/process/plugin/plugin-dependencies/xconomy.md +++ b/src/content/docs/java/process/plugin/plugin-dependencies/xconomy.md @@ -2,13 +2,13 @@ title: 经济插件 --- -这里指以 [Vault](./vault/vault.md) 为前置的为服务器提供经济的 **一类插件** +这里指以 [Vault](/java/process/plugin/plugin-dependencies/vault/intro) 为前置的为服务器提供经济的 **一类插件** 如 XConomy ## XConomy -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/.75669/ @@ -20,7 +20,7 @@ title: 经济插件 国人插件 -如果你已经安装了 [基础插件](../management-tool/basic-plugins/basic-plugins.md) 并且 **没有跨服的需求**,可以不安装这个插件 +如果你已经安装了 [[基础插件](/java/process/plugin/management-tool/basic-plugins/intro) 并且 **没有跨服的需求**,可以不安装这个插件 因为基础插件已经提供了经济 diff --git a/src/content/docs/java/process/plugin/protection/askyblock.md b/src/content/docs/java/process/plugin/protection/askyblock.md index 90a82a50b..71593a54b 100644 --- a/src/content/docs/java/process/plugin/protection/askyblock.md +++ b/src/content/docs/java/process/plugin/protection/askyblock.md @@ -2,7 +2,7 @@ title: 空岛 - ASkyBlock --- -:::info +:::note `Bukkit` https://dev.bukkit.org/projects/skyblock @@ -16,4 +16,4 @@ title: 空岛 - ASkyBlock 支持到 1.12 -需要 1.13+ 使用 [BSkyBlock](bentobox.md#bskyblock) +需要 1.13+ 使用 [BSkyBlock](/java/process/plugin/protection/bentobox#bskyblock) diff --git a/src/content/docs/java/process/plugin/protection/bentobox.md b/src/content/docs/java/process/plugin/protection/bentobox.md index fc5ee39f4..357f59fb8 100644 --- a/src/content/docs/java/process/plugin/protection/bentobox.md +++ b/src/content/docs/java/process/plugin/protection/bentobox.md @@ -2,7 +2,7 @@ title: 领域 - BentoBox --- -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/.73261 diff --git a/src/content/docs/java/process/plugin/protection/dominion.md b/src/content/docs/java/process/plugin/protection/dominion.md index d2d77f7a1..4695fe998 100644 --- a/src/content/docs/java/process/plugin/protection/dominion.md +++ b/src/content/docs/java/process/plugin/protection/dominion.md @@ -2,7 +2,7 @@ title: 领地 - Dominion --- -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/dominion.119514 @@ -29,7 +29,7 @@ title: 领地 - Dominion 1. 版本更新快(几乎是遇到一个 bug 修一个然后发一个版本),服务态度好(前提你是正常用户不是捣乱的),作者温柔又善良(嘻嘻) 2. 完全开源、免费,专为高版本开发。 -3. 支持导入 [Residence](./residence.md) 插件的绝大多数数据。 +3. 支持导入 [Residence](/java/process/plugin/protection/residence) 插件的绝大多数数据。 ## 缺点 diff --git a/src/content/docs/java/process/plugin/protection/griefdefender.md b/src/content/docs/java/process/plugin/protection/griefdefender.md index 57f371c65..bcec76c5a 100644 --- a/src/content/docs/java/process/plugin/protection/griefdefender.md +++ b/src/content/docs/java/process/plugin/protection/griefdefender.md @@ -2,7 +2,7 @@ title: 领地 - GriefDefender --- -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/.68900/ diff --git a/src/content/docs/java/process/plugin/protection/plotsquared.md b/src/content/docs/java/process/plugin/protection/plotsquared.md index dc67a2fe3..026110ca6 100644 --- a/src/content/docs/java/process/plugin/protection/plotsquared.md +++ b/src/content/docs/java/process/plugin/protection/plotsquared.md @@ -2,7 +2,7 @@ title: 地皮 - PlotSquared --- -:::info +:::note `Bukkit (旧)` https://dev.bukkit.org/projects/plotsquared @@ -26,4 +26,4 @@ title: 地皮 - PlotSquared ## 前置 -[WorldEdit](../world-management/worldedit.md) 或 [FastAsyncWorldEdit](../world-management/fastasyncworldedit.md) +[WorldEdit](/java/process/plugin/world-management/worldedit) 或 [FastAsyncWorldEdit](/java/process/plugin/world-management/fastasyncworldedit) diff --git a/src/content/docs/java/process/plugin/protection/residence.md b/src/content/docs/java/process/plugin/protection/residence.md index a182cd11c..b3657186e 100644 --- a/src/content/docs/java/process/plugin/protection/residence.md +++ b/src/content/docs/java/process/plugin/protection/residence.md @@ -2,7 +2,7 @@ title: 领地 - Residence --- -:::info +:::note `Bukkit (旧)` https://dev.bukkit.org/projects/residence @@ -20,7 +20,7 @@ title: 领地 - Residence 最初由 bekvon 维护,后由 Zrips 团队接手维护,并将其变更为 开源付费 模式的插件 -:::warning +:::caution 为避免漏洞利用,建议不要使用 5.1.4.2 以下版本的 Residence diff --git a/src/content/docs/java/process/plugin/protection/towny.md b/src/content/docs/java/process/plugin/protection/towny.md index de498d25d..9e725a94a 100644 --- a/src/content/docs/java/process/plugin/protection/towny.md +++ b/src/content/docs/java/process/plugin/protection/towny.md @@ -2,7 +2,7 @@ title: 城镇 - Towny --- -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/towny-advanced.72694/ diff --git a/src/content/docs/java/process/plugin/world-management/fastasyncworldedit.md b/src/content/docs/java/process/plugin/world-management/fastasyncworldedit.md index eb4957a2b..28aee50e8 100644 --- a/src/content/docs/java/process/plugin/world-management/fastasyncworldedit.md +++ b/src/content/docs/java/process/plugin/world-management/fastasyncworldedit.md @@ -8,13 +8,13 @@ title: FAWE - FastAsyncWorldEdit [![bStats Servers](https://img.shields.io/bstats/servers/1403)](https://bstats.org/plugin/bukkit/FastAsyncWorldEdit/1403) [![Crowdin](https://badges.crowdin.net/e/4a5819fae3fd88234a8ea13bfbb072bb/localized.svg)](https://intellectualsites.crowdin.com/fastasyncworldedit) -> 异步创世神,可以直接无脑把 [WorldEdit](worldedit.md) 替换掉 +> 异步创世神,可以直接无脑把 [WorldEdit](/java/process/plugin/world-management/worldedit) 替换掉 FastAsyncWorldEdit 是 WorldEdit 的异步优化版本 ## 链接 -:::info +:::note `Bukkit` https://dev.bukkit.org/projects/fawe diff --git a/src/content/docs/java/process/plugin/world-management/law.md b/src/content/docs/java/process/plugin/world-management/law.md index f19ef846d..782a3d227 100644 --- a/src/content/docs/java/process/plugin/world-management/law.md +++ b/src/content/docs/java/process/plugin/world-management/law.md @@ -52,7 +52,7 @@ title: 保护 - Law ## 链接 -:::info +:::note `MineBBS` https://www.minebbs.com/resources/.9067 diff --git a/src/content/docs/java/process/plugin/world-management/lobby/deluxehub.md b/src/content/docs/java/process/plugin/world-management/lobby/deluxehub.md index 985dd67c3..1ccd61dd1 100644 --- a/src/content/docs/java/process/plugin/world-management/lobby/deluxehub.md +++ b/src/content/docs/java/process/plugin/world-management/lobby/deluxehub.md @@ -2,7 +2,7 @@ title: DeluxeHub --- -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/.49425 @@ -16,4 +16,4 @@ title: DeluxeHub 避孕套大厅,在我编辑此页时,此插件的最后一次代码提交为 Jun 20, 2023 -个人认为插件作者已经放弃维护此插件,建议使用第三方更新的 [DeluxeHubReloaded](deluxehubreloaded.md) +个人认为插件作者已经放弃维护此插件,建议使用第三方更新的 [DeluxeHubReloaded](/java/process/plugin/world-management/lobby/deluxehubreloaded) diff --git a/src/content/docs/java/process/plugin/world-management/lobby/deluxehubreloaded.md b/src/content/docs/java/process/plugin/world-management/lobby/deluxehubreloaded.md index 61e046a65..aebbdc0b2 100644 --- a/src/content/docs/java/process/plugin/world-management/lobby/deluxehubreloaded.md +++ b/src/content/docs/java/process/plugin/world-management/lobby/deluxehubreloaded.md @@ -2,7 +2,7 @@ title: DeluxeHubReloaded --- -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/.118904 @@ -12,4 +12,4 @@ title: DeluxeHubReloaded ::: -[DeluxeHub](deluxehub.md) 的第三方维护版本 +[DeluxeHub](/java/process/plugin/world-management/lobby/deluxehub) 的第三方维护版本 diff --git a/src/content/docs/java/process/plugin/world-management/lobby/superlobbydeluxe.md b/src/content/docs/java/process/plugin/world-management/lobby/superlobbydeluxe.md index ef5e050b2..5d64c4e93 100644 --- a/src/content/docs/java/process/plugin/world-management/lobby/superlobbydeluxe.md +++ b/src/content/docs/java/process/plugin/world-management/lobby/superlobbydeluxe.md @@ -2,7 +2,7 @@ title: SuperLobbyDeluxe --- -:::info +:::note `Bukkit` https://dev.bukkit.org/projects/superlobbydeluxe diff --git a/src/content/docs/java/process/plugin/world-management/multiverse/faq1.md b/src/content/docs/java/process/plugin/world-management/multiverse/faq1.md index 8be97469b..13d56eb1f 100644 --- a/src/content/docs/java/process/plugin/world-management/multiverse/faq1.md +++ b/src/content/docs/java/process/plugin/world-management/multiverse/faq1.md @@ -19,12 +19,12 @@ title: 常见问题 1 所需插件: - Multiverse-Core -- [PlaceHolderAPI](../../plugin-dependencies/placeholderapi/placeholderapi.md) -- [聊天插件](../../management-tool/chat/chat.md) -- [TAB 和计分板插件](../../misc/tab-scoreboard/tab-scoreboard.md) +- [PlaceHolderAPI](/java/process/plugin/plugin-dependencies/placeholderapi/intro) +- [聖天插件](/java/process/plugin/management-tool/chat/intro) +- [TAB 和计分板插件](/java/process/plugin/misc/tab-scoreboard/intro) - 其他你想展示中文世界名的插件 -- v4:安装 [papi 的 Multiverse 扩展](../../plugin-dependencies/placeholderapi/common-usage.md#multiverse) +- v4:安装 [papi 的 Multiverse 扩展](/java/process/plugin/plugin-dependencies/placeholderapi/common-usage#multiverse) - v5:无需安装,插件自动挂钩 papi ## 设置别名 diff --git a/src/content/docs/java/process/plugin/world-management/multiverse/intro.md b/src/content/docs/java/process/plugin/world-management/multiverse/intro.md index 9b467c9ab..deba05675 100644 --- a/src/content/docs/java/process/plugin/world-management/multiverse/intro.md +++ b/src/content/docs/java/process/plugin/world-management/multiverse/intro.md @@ -24,7 +24,7 @@ title: 概述 ## 链接 -:::info +:::note `官网` https://mvplugins.org diff --git a/src/content/docs/java/process/plugin/world-management/myworld.md b/src/content/docs/java/process/plugin/world-management/myworld.md index ff60bba2c..7e561750b 100644 --- a/src/content/docs/java/process/plugin/world-management/myworld.md +++ b/src/content/docs/java/process/plugin/world-management/myworld.md @@ -26,7 +26,7 @@ title: 多世界 - MyWorld ## 链接 -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/.39594 diff --git a/src/content/docs/java/process/plugin/world-management/nobuildplus.md b/src/content/docs/java/process/plugin/world-management/nobuildplus.md index 39b2fb15f..fac37b401 100644 --- a/src/content/docs/java/process/plugin/world-management/nobuildplus.md +++ b/src/content/docs/java/process/plugin/world-management/nobuildplus.md @@ -12,7 +12,7 @@ title: 保护 - NoBuildPlus ## 链接 -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/nobuildplus.101815 diff --git a/src/content/docs/java/process/plugin/world-management/worldedit.md b/src/content/docs/java/process/plugin/world-management/worldedit.md index cf6be0634..81bed2c90 100644 --- a/src/content/docs/java/process/plugin/world-management/worldedit.md +++ b/src/content/docs/java/process/plugin/world-management/worldedit.md @@ -2,7 +2,7 @@ title: 创世神 - WorldEdit --- -:::info +:::note `Bukkit` https://dev.bukkit.org/projects/worldedit @@ -24,4 +24,4 @@ title: 创世神 - WorldEdit 这个你肯定多少听说过,没听过创世神总听过小木斧 -建议使用优化版本 [FastAsyncWorldEdit](./fastasyncworldedit.md) +建议使用优化版本 [FastAsyncWorldEdit](/java/process/plugin/world-management/fastasyncworldedit) diff --git a/src/content/docs/java/process/plugin/world-management/worldgen/irisworldgen.md b/src/content/docs/java/process/plugin/world-management/worldgen/irisworldgen.md index 8c06a34c5..9c8adf60c 100644 --- a/src/content/docs/java/process/plugin/world-management/worldgen/irisworldgen.md +++ b/src/content/docs/java/process/plugin/world-management/worldgen/irisworldgen.md @@ -156,7 +156,7 @@ Iris 支持自定义维度包开发,你可以创建自己的: ## 链接 -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/.84586 diff --git a/src/content/docs/java/process/plugin/world-management/worldgen/terra.md b/src/content/docs/java/process/plugin/world-management/worldgen/terra.md index 2a639990b..0fb9e3e03 100644 --- a/src/content/docs/java/process/plugin/world-management/worldgen/terra.md +++ b/src/content/docs/java/process/plugin/world-management/worldgen/terra.md @@ -34,7 +34,7 @@ title: Terra ## 链接 -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/.85151 diff --git a/src/content/docs/java/process/plugin/world-management/worldgen/terraformgenerator.md b/src/content/docs/java/process/plugin/world-management/worldgen/terraformgenerator.md index 94278d99f..36adc6d12 100644 --- a/src/content/docs/java/process/plugin/world-management/worldgen/terraformgenerator.md +++ b/src/content/docs/java/process/plugin/world-management/worldgen/terraformgenerator.md @@ -98,7 +98,7 @@ permissions: ## 链接 -:::info +:::note `SpigotMC` https://www.spigotmc.org/resources/terraform-generator.75132 diff --git a/src/content/docs/java/process/plugin/world-management/worldguard.md b/src/content/docs/java/process/plugin/world-management/worldguard.md index eba12647a..e5d0004ee 100644 --- a/src/content/docs/java/process/plugin/world-management/worldguard.md +++ b/src/content/docs/java/process/plugin/world-management/worldguard.md @@ -25,7 +25,7 @@ WorldGuard 可以保护你的区域或世界,使他们免受破坏,或者调 ## 链接 -:::info +:::note `Bukkit` https://dev.bukkit.org/projects/worldguard @@ -49,7 +49,7 @@ WorldGuard 可以保护你的区域或世界,使他们免受破坏,或者调 ## 前置 -[WorldEdit](./worldedit.md) 或 [FastAsyncWorldEdit](./fastasyncworldedit.md) +[WorldEdit](/java/process/plugin/world-management/worldedit) 或 [FastAsyncWorldEdit](/java/process/plugin/world-management/fastasyncworldedit) ## Bstats diff --git a/src/content/docs/java/process/redstone/plugin.md b/src/content/docs/java/process/redstone/plugin.md index d7fe5854c..505bb89ee 100644 --- a/src/content/docs/java/process/redstone/plugin.md +++ b/src/content/docs/java/process/redstone/plugin.md @@ -82,7 +82,7 @@ unsupported-settings: update-equipment-on-player-actions: false # 是否在玩家执行某些动作时更新装备;为 false 时可利用属性切换漏洞 ``` -:::warning[book 配置] +:::caution[book 配置] 该选项可能会在你的服务器上启用禁人书,开启时请认真考虑 @@ -135,7 +135,7 @@ settings: ### 红石优化 -请查看 [红石优化](../maintenance/optimize/go.mdx#redstone-implementation) +请查看 [红石优化](/java/advance/maintenance/optimize/go#redstone-implementation) 同时 Mojang 在 24w33a 更新了红石的链接机制 (虽然是实验性内容),从代码来看,Mojang 的优化方式与 Alternate Current 非常像 @@ -186,7 +186,7 @@ settings: vanilla-hopper: true # 修复原版漏斗的已知问题 ``` -:::warning[漏斗问题] +:::caution[漏斗问题] `vanilla-hopper` 选项开启后会严重降低漏斗性能,非必要最好别开 diff --git a/src/content/docs/java/start/config-server.md b/src/content/docs/java/start/config-server.md index 668217feb..351a9d39c 100644 --- a/src/content/docs/java/start/config-server.md +++ b/src/content/docs/java/start/config-server.md @@ -41,11 +41,11 @@ online-mode=true **不要在服务器投入运营后去改正版验证状态!** 这会造成 UUID 混乱,玩家数据丢失,当然你可以转换 UUID 来解决这个问题 [查看解决方法](https://klpbbs.com/thread-131458-1-1.html) -如果需要更多的验证方式 (如 **皮肤站**/**统一认证** 等),请在服务器 **公测前** 确定,具体请参考 [更多验证方式](../advance/login-choices.md) +如果需要更多的验证方式 (如 **皮肤站**/**统一认证** 等),请在服务器 **公测前** 确定,具体请参考 [更多验证方式](/java/advance/login-choices) ::: -注意,在离线模式下,玩家大概率没皮肤,你需要 [SkinsRestorer](../process/plugin/misc/skinsrestorer.md),根据需求选择 SkinsRestorer 的版本。 +注意,在离线模式下,玩家大概率没皮肤,你需要 [SkinsRestorer](/java/process/plugin/misc/skinsrestorer),根据需求选择 SkinsRestorer 的版本。 ### 最大玩家数 @@ -116,13 +116,13 @@ spawn-protection=16 设置为 0 可以禁用 -:::warning +:::caution 强烈 **建议禁用** 这一配置,无论你是否需要出生点保护。 这一配置的保护 **并不能** 防御苦力怕、TNT 等造成的破坏。 -如有保护出生点的需求,可以考虑使用插件 [WorldGuard](../process/plugin/world-management/worldguard.md) +如有保护出生点的需求,可以考虑使用插件 [WorldGuard](/java/process/plugin/world-management/worldguard) ::: @@ -183,7 +183,7 @@ pvp=true allow-flight=true ``` -:::warning +:::caution 该选项极易误判,因此最好将此值设为 `true`,无论你是否需要飞行,如果你需要反飞行,请查看反作弊一章 @@ -191,7 +191,7 @@ allow-flight=true ### 服务器端口 -请前往 [连接服务器](connect-to-server.md) 章节查看 +请前往 [连接服务器](/java/start/connect-to-server) 章节查看 ## 游戏规则 diff --git a/src/content/docs/java/start/connect-to-server.md b/src/content/docs/java/start/connect-to-server.md index 714ebbc55..c22f5f340 100644 --- a/src/content/docs/java/start/connect-to-server.md +++ b/src/content/docs/java/start/connect-to-server.md @@ -16,7 +16,7 @@ server-port=25565 ## 本地连接 -:::warning +:::caution 此方法仅适用于服务端和客户端在同一机器上的情况 @@ -44,7 +44,7 @@ server-port=25565 - 127.0.0.1:12345 - 0.0.0.0:12345 -:::warning +:::caution 这里要使用英文的 `:` **不能使用中文** 的 `:` ! @@ -73,7 +73,7 @@ server-port=25565 ### 我没公网 -查看 [内网穿透](/process/deploy/intranet-penetration) 部分,按照上面的教程把你的端口映射出去 +查看 [内网穿透](/general/process/deploy/intranet-penetration) 部分,按照上面的教程把你的端口映射出去 ## 常见错误 diff --git a/src/content/docs/java/start/install-mod-server.mdx b/src/content/docs/java/start/install-mod-server.mdx index d63b461b1..6fc7127eb 100644 --- a/src/content/docs/java/start/install-mod-server.mdx +++ b/src/content/docs/java/start/install-mod-server.mdx @@ -66,7 +66,7 @@ import { TabItem, Tabs } from "@astrojs/starlight/components"; ## 执行安装 -接着打开 cmd,不会请查看 [开启 cmd](launch-server.md#笨蛋脚本),输入以下命令 +接着打开 cmd,不会请查看 [开启 cmd](/java/start/config-server#笨蛋脚本),输入以下命令 ```bash java -jar <你下载的安装器的文件名> --installServer diff --git a/src/content/docs/java/start/launch-server.mdx b/src/content/docs/java/start/launch-server.mdx index 9d4a4021e..7ec37fcd5 100644 --- a/src/content/docs/java/start/launch-server.mdx +++ b/src/content/docs/java/start/launch-server.mdx @@ -34,7 +34,7 @@ java -Xms2G -Xmx2G -jar 核心名.jar --nogui 一旦下载完成,他会提示: -```text +```txt You need to agree to the EULA in order to run the server. Go to eula.txt for more info. ``` @@ -44,7 +44,7 @@ eula 就像是用户协议一样的东西,你想知道讲了啥,点 [这里] 改好之后重新开启服务器,当出现以下字样说明服务器已经成功开启。 -```text +```txt Done (6.554s)! For help, type "help" ``` @@ -128,7 +128,7 @@ pause 如果你的服务器卡在: -```text +```txt Downloading mojang_x.x.x.jar ``` @@ -209,13 +209,13 @@ java -Xms2G -Xmx2G -jar server.jar --nogui 内存大小设置长这样 -```text +```txt -Xms1024M -Xmx2048M ``` 不是这样! -```text +```txt -Xms 1024M -Xmx 2048M ``` diff --git a/src/content/docs/java/start/server-core-choose/folia/intro.md b/src/content/docs/java/start/server-core-choose/folia/intro.md index 31b573470..cffe3051b 100644 --- a/src/content/docs/java/start/server-core-choose/folia/intro.md +++ b/src/content/docs/java/start/server-core-choose/folia/intro.md @@ -71,8 +71,8 @@ flowchart TD ### 主要分支 -- **[Luminol](luminol.md)** - 性能、稳定性和功能的最佳平衡,包含 Lophine 生电分支 (1.21+) -- **[其他分支](misc.md)** - 包含 Molia、DeerFolia、Kaiiju 等 +- **[Luminol](/java/start/server-core-choose/folia/luminol)** - 性能、稳定性和功能的最佳平衡,包含 Lophine 生电分支 (1.21+) +- **[其他分支](/java/start/server-core-choose/folia/misc)** - 包含 Molia、DeerFolia、Kaiiju 等 ### 快速下载 @@ -80,4 +80,4 @@ flowchart TD - [Folia](https://mcres.cn/downloads/folia.html) - [Luminol & Lophine](https://mcres.cn/downloads/luminol.html) -- [更多分支下载](misc.md) +- [更多分支下载](/java/start/server-core-choose/folia/misc) diff --git a/src/content/docs/java/start/server-core-choose/folia/misc.md b/src/content/docs/java/start/server-core-choose/folia/misc.md index c4967902c..a21e286be 100644 --- a/src/content/docs/java/start/server-core-choose/folia/misc.md +++ b/src/content/docs/java/start/server-core-choose/folia/misc.md @@ -10,7 +10,7 @@ Lumina 是 LeavesMC 开发的一个 Folia 分支,旨在遵循原版生电特 :::tip -目前 Lumina 处于早期开发阶段,暂时不完善,如果你需要生电特性,推荐使用 [Lophine](luminol.md#lophine) +目前 Lumina 处于早期开发阶段,暂时不完善,如果你需要生电特性,推荐使用 [Lophine](/java/start/server-core-choose/folia/luminol#lophine) ::: @@ -22,7 +22,7 @@ Lumina 目前在官网上不提供下载,你可以选择自己去编译,或 ## DeerFolia -:::info +:::note `GitHub` https://github.com/DeerGiteaMirror/DeerFolia @@ -41,7 +41,7 @@ Lumina 目前在官网上不提供下载,你可以选择自己去编译,或 ## DirtyFolia -:::info +:::note `GitHub` https://github.com/pluralitycn/DirtyFolia @@ -56,7 +56,7 @@ Lumina 目前在官网上不提供下载,你可以选择自己去编译,或 ## Kaiiju -:::info +:::note `GitHub` https://github.com/KaiijuMC/Kaiiju diff --git a/src/content/docs/java/start/server-core-choose/hybrid.md b/src/content/docs/java/start/server-core-choose/hybrid.md index b49f75962..6ed57172b 100644 --- a/src/content/docs/java/start/server-core-choose/hybrid.md +++ b/src/content/docs/java/start/server-core-choose/hybrid.md @@ -2,7 +2,7 @@ title: 混合端 --- -:::info +:::note 你可以点击名称栏中的字体跳转并找到下载 @@ -29,7 +29,7 @@ Mod 作者们绝大多数都不会受理与混合端相关的问题,风险自 | [Mohist](https://mohistmc.com/software/mohist) | 兼容 Paper 的一些插件支持,兼容 mod 和插件;缺点:比较多插件不支持,部分 mod 不支持;mod 和插件在一起运行难免出现一些七七八八的 bug。 | 推荐高版本 | [McRes](https://mcres.cn/downloads/mohist.html) [FastMirror](https://www.fastmirror.net/#/download/Mohist) [原子云](https://res.nullatom.com/Minecraft/Server/Mohist/) [MCSL](https://sync.mcsl.com.cn/core/Mohist) | 1.12.2/1.16.5/1.18+ | | [Arclight-Forge](https://github.com/IzzelAliz/Arclight) | - | 推荐高版本 | [FastMirror](https://www.fastmirror.net/#/download/Arclight) [McRes](https://mcres.cn/downloads/arclight.html) [MCSL](https://sync.mcsl.com.cn/core/Arclight) | 1.16.5+ | | [Magma](https://magmafoundation.org/) | - | - | [McRes](https://mcres.cn/downloads/magma.html) | 没用过,不知道 | -| [Sponge](sponge.md) | 可加入 Sponge 插件,支持 mod,内置小部分优化,非 Sponge 服务端可安装 mod 获得同等效果。缺点:即使你用了很多办法也很难让 Bukkit 插件稳定运行;Sponge 插件特别少;启动速度特别慢。操作特别难,与前面的完全不相同。 | 不推荐新手使用 | [McRes](https://mcres.cn/downloads/spongeforge.html) [FastMirror](https://www.fastmirror.net/#/download/SpongeForge) [MCSL](https://sync.mcsl.com.cn/core/SpongeForge) | 1.7.10 - 最新 | +| [Sponge](/java/start/server-core-choose/hybrid) | 可加入 Sponge 插件,支持 mod,内置小部分优化,非 Sponge 服务端可安装 mod 获得同等效果。缺点:即使你用了很多办法也很难让 Bukkit 插件稳定运行;Sponge 插件特别少;启动速度特别慢。操作特别难,与前面的完全不相同。 | 不推荐新手使用 | [McRes](https://mcres.cn/downloads/spongeforge.html) [FastMirror](https://www.fastmirror.net/#/download/SpongeForge) [MCSL](https://sync.mcsl.com.cn/core/SpongeForge) | 1.7.10 - 最新 | :::tip[Mohist 与 Arclight] @@ -63,7 +63,7 @@ EssentialsX/CMI/HuskHomes -> HuskHomes(Fabric 版) -:::info +:::note Banner 现在已经不属于 Mohist,同时已经改名为 Taiyitist diff --git a/src/content/docs/java/start/server-core-choose/intro.md b/src/content/docs/java/start/server-core-choose/intro.md index 080f3fa09..a9e980057 100644 --- a/src/content/docs/java/start/server-core-choose/intro.md +++ b/src/content/docs/java/start/server-core-choose/intro.md @@ -26,7 +26,7 @@ title: 概述 个人推荐插件服使用 Purpur,是截止到 2024 年的稳定性和优化最好的选择 -:::info +:::note 此类核心的存档结构有些不同 @@ -86,7 +86,7 @@ Folia 是 Paper 团队开发的高性能服务端,通过多线程并发处理 ## 更换核心 -- **[插件端](plugin.md)** +- **[插件端](/java/start/server-core-choose/plugin)** 这类操作几乎无感 @@ -94,11 +94,11 @@ Folia 是 Paper 团队开发的高性能服务端,通过多线程并发处理 > > 如使用 Spigot 替换 Paper 或 Purpur 等 -- **[混合端](hybrid.md)** +- **[混合端](/java/start/server-core-choose/hybrid)** 这有待商榷,因为各个端兼容性差异较大 -- **[Mod 端](mod.md)** +- **[Mod 端](/java/start/server-core-choose/mod)** 这几乎不可能,你基本没有可选择的核心 diff --git a/src/content/docs/java/start/server-core-choose/mod.md b/src/content/docs/java/start/server-core-choose/mod.md index cd46a9d64..4ebdd7b89 100644 --- a/src/content/docs/java/start/server-core-choose/mod.md +++ b/src/content/docs/java/start/server-core-choose/mod.md @@ -26,7 +26,7 @@ Mod 端的选择一般优先考虑玩法(即主要的玩法 mod),再考虑 Sinytra Connector(中文名:信雅互联) 可以在 Forge 上运行 Fabric 模组 -:::warning +:::caution 除非非常有必要,最好不要使用信雅互联,这会大大增加服务器崩溃概率 @@ -61,7 +61,7 @@ Kilt 可以在 Fabric 上运行 Forge 模组 [下载地址](https://www.mcmod.cn/class/3391.html),还需要安装 [Legacy Fabric API](https://www.mcmod.cn/class/3398.html) -:::warning +:::caution Legacy Fabric 的模组生态相较于 Forge 并不完善,不建议使用。 diff --git a/src/content/docs/java/start/server-core-choose/plugin.mdx b/src/content/docs/java/start/server-core-choose/plugin.mdx index 1e0cc53d3..f74e76a3f 100644 --- a/src/content/docs/java/start/server-core-choose/plugin.mdx +++ b/src/content/docs/java/start/server-core-choose/plugin.mdx @@ -159,7 +159,7 @@ Leaves 基本完全支持客户端生电 mod,包括但不限于 Carpet、PCA 目前仅有 1.8.8 版本的核心,而没有 1.8.9 -1.8.8 与 1.8.9 区别小到安装 [ViaVersion](../../process/plugin/misc/via/via.md) 之后感觉不到区别 +1.8.8 与 1.8.9 区别小到安装 [ViaVersion](/java/process/plugin/misc/via/intro) 之后感觉不到区别 ::: diff --git a/src/content/docs/java/start/server-dir-structure.mdx b/src/content/docs/java/start/server-dir-structure.mdx index c61404016..4469078ce 100644 --- a/src/content/docs/java/start/server-dir-structure.mdx +++ b/src/content/docs/java/start/server-dir-structure.mdx @@ -60,9 +60,9 @@ import { FileTree } from '@astrojs/starlight/components'; 对于类似 Catserver 的混合服务器,文件夹结构是类似的,基本就多了 `/mods` 文件夹,少了 Bukkit 的下游服务器特有的配置 (如 `purpur.yml` 等)。 -:::info +:::note -对于世界文件夹的详细说明,请前往 **[世界文件架构](what-is-world.md)** +对于世界文件夹的详细说明,请前往 **[世界文件架构](/java/start/server-core-choose/intro)** ::: From 6b1d8af730d76393587fcb567beec97aa37a970b Mon Sep 17 00:00:00 2001 From: MrlingXD <90316914+wling-art@users.noreply.github.com> Date: Tue, 6 Jan 2026 13:49:59 +0800 Subject: [PATCH 04/42] =?UTF-8?q?=F0=9F=93=9D=20=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- astro.config.ts | 1 + java/start/ask-for-help.md | 8 -------- java/start/deploy.md | 8 -------- .../basic => src/content/docs/basics}/what-is-world.md | 5 ++--- .../server-core-choose}/relationship-between-servers.md | 3 --- src/content/docs/java/start/server-dir-structure.mdx | 2 +- 6 files changed, 4 insertions(+), 23 deletions(-) delete mode 100644 java/start/ask-for-help.md delete mode 100644 java/start/deploy.md rename {java/start/basic => src/content/docs/basics}/what-is-world.md (98%) rename {java/start/basic => src/content/docs/java/start/server-core-choose}/relationship-between-servers.md (98%) diff --git a/astro.config.ts b/astro.config.ts index b4a71d978..a1c1bc68f 100644 --- a/astro.config.ts +++ b/astro.config.ts @@ -93,6 +93,7 @@ export default defineConfig({ collapsed: true, items: [ "java/start/server-core-choose/intro", + "java/start/server-core-choose/relationship-between-servers", "java/start/server-core-choose/plugin", "java/start/server-core-choose/mod", "java/start/server-core-choose/hybrid", diff --git a/java/start/ask-for-help.md b/java/start/ask-for-help.md deleted file mode 100644 index 3f720ed99..000000000 --- a/java/start/ask-for-help.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: 如何向大佬求助 -sidebar_position: 8 ---- - -# 如何向大佬求助 - -请见 [通用 | 如何向大佬求助](/start/ask-for-help) diff --git a/java/start/deploy.md b/java/start/deploy.md deleted file mode 100644 index 3cef3d33b..000000000 --- a/java/start/deploy.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: 部署到生产环境 -sidebar_position: 7 ---- - -# 概览 - -请见 [通用 | 部署到生产环境](/deploy) diff --git a/java/start/basic/what-is-world.md b/src/content/docs/basics/what-is-world.md similarity index 98% rename from java/start/basic/what-is-world.md rename to src/content/docs/basics/what-is-world.md index 4095ae338..88ced073d 100644 --- a/java/start/basic/what-is-world.md +++ b/src/content/docs/basics/what-is-world.md @@ -1,10 +1,9 @@ --- title: 什么是世界? -sidebar_position: 7 +topic: basics +template: splash --- -# 什么是世界? - Minecraft 的几乎一切行为都是建立在 "世界" 上,而世界中的方块、实体等文件都存储在了根目录的对应文件夹下。 Minecraft 原版目前有三个世界,分别是主世界 **world** (world),地狱 **DIM-1** (world_nether),末地 **DIM1** (world_the_end)。 diff --git a/java/start/basic/relationship-between-servers.md b/src/content/docs/java/start/server-core-choose/relationship-between-servers.md similarity index 98% rename from java/start/basic/relationship-between-servers.md rename to src/content/docs/java/start/server-core-choose/relationship-between-servers.md index 0253e608f..30aa2874d 100644 --- a/java/start/basic/relationship-between-servers.md +++ b/src/content/docs/java/start/server-core-choose/relationship-between-servers.md @@ -1,10 +1,7 @@ --- title: 服务端之间的关系 -sidebar_position: 2 --- -# 服务端之间的关系 - 由于在本文档中大量出现了服务端之间的对比、选择、配置等,因此必须梳理一下各服务端之间的区别。 > 此处以 GitHub 为例,与 GitHub 同类的网站还有很多,如 GitLab,Gitee diff --git a/src/content/docs/java/start/server-dir-structure.mdx b/src/content/docs/java/start/server-dir-structure.mdx index 4469078ce..a6a79a5d3 100644 --- a/src/content/docs/java/start/server-dir-structure.mdx +++ b/src/content/docs/java/start/server-dir-structure.mdx @@ -62,7 +62,7 @@ import { FileTree } from '@astrojs/starlight/components'; :::note -对于世界文件夹的详细说明,请前往 **[世界文件架构](/java/start/server-core-choose/intro)** +对于世界文件夹的详细说明,请前往 **[世界文件架构](/basics/what-is-world)** ::: From 726235a19e27467c506b03175b39a24b95bddd10 Mon Sep 17 00:00:00 2001 From: MrlingXD <90316914+wling-art@users.noreply.github.com> Date: Tue, 6 Jan 2026 14:10:34 +0800 Subject: [PATCH 05/42] =?UTF-8?q?=E2=9C=A8=20=E6=B7=BB=E5=8A=A0=20starligh?= =?UTF-8?q?t-scroll-to-top?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- astro.config.ts | 4 +++- package.json | 1 + pnpm-lock.yaml | 13 +++++++++++++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/astro.config.ts b/astro.config.ts index a1c1bc68f..ba07eb8e1 100644 --- a/astro.config.ts +++ b/astro.config.ts @@ -8,6 +8,7 @@ import starlightImageZoom from "starlight-image-zoom"; import starlightLinksValidator from "starlight-links-validator"; import starlightSidebarTopics from "starlight-sidebar-topics"; import starlightDocSearch from "@astrojs/starlight-docsearch"; +import starlightScrollToTop from "starlight-scroll-to-top"; const IS_CHINA_SITE = process.env.CHINA === "true"; @@ -795,7 +796,8 @@ export default defineConfig({ apiKey: "4bb3573e59f2c49f30f057ce54edab3f", indexName: "yizhan", insights: true - }) + }), + starlightScrollToTop() ], components: { Sidebar: "./src/components/Sidebar.astro" diff --git a/package.json b/package.json index 572998e38..ac9518d78 100644 --- a/package.json +++ b/package.json @@ -25,6 +25,7 @@ "devDependencies": { "@vite-pwa/astro": "^1.2.0", "starlight-links-validator": "^0.19.2", + "starlight-scroll-to-top": "^0.4.0", "tailwindcss": "^4.1.18", "typescript": "^5.9.3" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e09c7238e..863b8dfc4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -48,6 +48,9 @@ importers: starlight-links-validator: specifier: ^0.19.2 version: 0.19.2(@astrojs/starlight@0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)))(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)) + starlight-scroll-to-top: + specifier: ^0.4.0 + version: 0.4.0(@astrojs/starlight@0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3))) tailwindcss: specifier: ^4.1.18 version: 4.1.18 @@ -3830,6 +3833,12 @@ packages: '@astrojs/starlight': '>=0.32.0' astro: '>=5.1.5' + starlight-scroll-to-top@0.4.0: + resolution: {integrity: sha512-lxsW5Sv+oKCI8CYZQ6Ue957cExiHMozK73LmmbsvpBKWryW+AKU4OXmX/1bTQNx+mVLZcpm2qTwKa1KX5VdEaQ==} + engines: {node: ^18.17.1 || ^20.3.0 || >=21.0.0} + peerDependencies: + '@astrojs/starlight': '>=0.35' + starlight-sidebar-topics-dropdown@0.5.2: resolution: {integrity: sha512-QeqSO5jjk/ZHDfXnUqJF1GpY1ny9dc9LqETuw9V124B93EYtpvCYa+zccxHMHojQvAuG7TguQs212P4XvJX0Wg==} engines: {node: ^18.17.1 || ^20.3.0 || >=21.0.0} @@ -9063,6 +9072,10 @@ snapshots: transitivePeerDependencies: - supports-color + starlight-scroll-to-top@0.4.0(@astrojs/starlight@0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3))): + dependencies: + '@astrojs/starlight': 0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)) + starlight-sidebar-topics-dropdown@0.5.2(@astrojs/starlight@0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)))(starlight-sidebar-topics@0.6.2(@astrojs/starlight@0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)))): dependencies: '@astrojs/starlight': 0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)) From e78cba98158170bfc6bec93a8716b15ae35ba5de Mon Sep 17 00:00:00 2001 From: MrlingXD <90316914+wling-art@users.noreply.github.com> Date: Tue, 6 Jan 2026 14:26:38 +0800 Subject: [PATCH 06/42] =?UTF-8?q?=F0=9F=92=84=20=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=86=85=E5=AE=B9=E5=AE=BD=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- astro.config.ts | 1 + src/styles/global.css | 8 +++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/astro.config.ts b/astro.config.ts index ba07eb8e1..4b17b1018 100644 --- a/astro.config.ts +++ b/astro.config.ts @@ -30,6 +30,7 @@ export default defineConfig({ editLink: { baseUrl: "https://github.com/Cubic-Project/NitWikit/edit/main/" }, + customCss: ["./src/styles/global.css"], plugins: [ starlightGiscus({ repo: "Cubic-Project/NitWikit", diff --git a/src/styles/global.css b/src/styles/global.css index a461c505f..af11c0c5b 100644 --- a/src/styles/global.css +++ b/src/styles/global.css @@ -1 +1,7 @@ -@import "tailwindcss"; \ No newline at end of file +@import "tailwindcss"; + +@media (min-width: 96rem) { + :root { + --sl-content-width: 64rem; + } +} \ No newline at end of file From 9804d60429b6d8ed834d235556f0655bcae6b1b6 Mon Sep 17 00:00:00 2001 From: MrlingXD <90316914+wling-art@users.noreply.github.com> Date: Tue, 6 Jan 2026 19:57:03 +0800 Subject: [PATCH 07/42] =?UTF-8?q?=E2=9C=A8=20=E6=9B=B4=E6=96=B0=E6=97=B6?= =?UTF-8?q?=E9=97=B4/=E8=B4=A1=E7=8C=AE=E8=80=85=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- astro.config.ts | 4 +- package.json | 1 + pnpm-lock.yaml | 196 +++++++++++++++++++++++++++++++ src/components/LastUpdated.astro | 59 ++++++++++ src/components/LinkCard.astro | 99 ++++++++++++++++ src/content/docs/index.mdx | 25 +++- src/utils/git.ts | 51 ++++++++ 7 files changed, 428 insertions(+), 7 deletions(-) create mode 100644 src/components/LastUpdated.astro create mode 100644 src/components/LinkCard.astro create mode 100644 src/utils/git.ts diff --git a/astro.config.ts b/astro.config.ts index 4b17b1018..fa863fc9a 100644 --- a/astro.config.ts +++ b/astro.config.ts @@ -27,6 +27,7 @@ export default defineConfig({ favicon: "/favicon.ico", social: [{ icon: "github", label: "GitHub", href: "https://github.com/withastro/starlight" }], logo: { src: "./src/assets/logo.svg" }, + lastUpdated: true, editLink: { baseUrl: "https://github.com/Cubic-Project/NitWikit/edit/main/" }, @@ -801,7 +802,8 @@ export default defineConfig({ starlightScrollToTop() ], components: { - Sidebar: "./src/components/Sidebar.astro" + Sidebar: "./src/components/Sidebar.astro", + LastUpdated: "./src/components/LastUpdated.astro" } }), AstroPWA({ diff --git a/package.json b/package.json index ac9518d78..c1330be22 100644 --- a/package.json +++ b/package.json @@ -24,6 +24,7 @@ }, "devDependencies": { "@vite-pwa/astro": "^1.2.0", + "starlight-contributor-list": "^0.3.1", "starlight-links-validator": "^0.19.2", "starlight-scroll-to-top": "^0.4.0", "tailwindcss": "^4.1.18", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 863b8dfc4..c32ea351d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -45,6 +45,9 @@ importers: '@vite-pwa/astro': specifier: ^1.2.0 version: 1.2.0(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3))(vite-plugin-pwa@1.2.0(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1))(workbox-build@7.4.0)(workbox-window@7.4.0)) + starlight-contributor-list: + specifier: ^0.3.1 + version: 0.3.1(@astrojs/starlight@0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3))) starlight-links-validator: specifier: ^0.19.2 version: 0.19.2(@astrojs/starlight@0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)))(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)) @@ -60,6 +63,10 @@ importers: packages: + '@11ty/eleventy-fetch@4.0.1': + resolution: {integrity: sha512-yIiLM5ziBmg86i4TlXpBdcIygJHvh/GgPJyAiFOckO9H4y9cQDM8eIcJCUQ4Mum0NEVui/OjhEut2R08xw0vlQ==} + engines: {node: '>=14'} + '@algolia/abtesting@1.12.2': resolution: {integrity: sha512-oWknd6wpfNrmRcH0vzed3UPX0i17o4kYLM5OMITyMVM2xLgaRbIafoxL0e8mcrNNb0iORCJA0evnNDKRYth5WQ==} engines: {node: '>= 14.0.0'} @@ -1857,6 +1864,9 @@ packages: resolution: {integrity: sha512-F3PH5k5juxom4xktynS7MoFY+NUWH5LC4CnH11YB8NPew+HLpmBLCybSAEyb2F+4pRXhuhWqFesoQd6DAyc2hw==} engines: {node: '>=18'} + brace-expansion@1.1.12: + resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} + brace-expansion@2.0.2: resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} @@ -1982,6 +1992,9 @@ packages: resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==} engines: {node: '>=4.0.0'} + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + confbox@0.1.8: resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} @@ -2420,6 +2433,9 @@ packages: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} + eventemitter3@4.0.7: + resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} + eventemitter3@5.0.1: resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} @@ -2454,6 +2470,13 @@ packages: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} + flat-cache@3.2.0: + resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} + engines: {node: ^10.12.0 || >=12.0.0} + + flatted@3.3.3: + resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} + flattie@1.1.1: resolution: {integrity: sha512-9UbaD6XdAL97+k/n+N7JwX46K/M6Zc6KcFYskrYL8wbBV/Uyk0CTAMY0VT+qiK5PM7AIc9aTWYtq65U7T+aCNQ==} engines: {node: '>=8'} @@ -2476,6 +2499,9 @@ packages: resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} engines: {node: '>=10'} + fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + fsevents@2.3.3: resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} @@ -2526,6 +2552,10 @@ packages: engines: {node: 20 || >=22} hasBin: true + glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported + globalthis@1.0.4: resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} engines: {node: '>= 0.4'} @@ -2662,6 +2692,13 @@ packages: import-meta-resolve@4.2.0: resolution: {integrity: sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==} + inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + inline-style-parser@0.2.7: resolution: {integrity: sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==} @@ -2863,6 +2900,9 @@ packages: engines: {node: '>=6'} hasBin: true + json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + json-schema-traverse@1.0.0: resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} @@ -2885,6 +2925,9 @@ packages: resolution: {integrity: sha512-aeQoDkuRWSqQN6nSvVCEFvfXdqo1OQiCmmW1kc9xSdjutPv7BGO7pqY9sQRJpMOGrEdfDgF2TfRXe5eUAD2Waw==} hasBin: true + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + khroma@2.1.0: resolution: {integrity: sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==} @@ -3216,6 +3259,9 @@ packages: resolution: {integrity: sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==} engines: {node: 20 || >=22} + minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + minimatch@5.1.6: resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} engines: {node: '>=10'} @@ -3252,6 +3298,15 @@ packages: node-fetch-native@1.6.7: resolution: {integrity: sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==} + node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + node-mock-http@1.0.4: resolution: {integrity: sha512-8DY+kFsDkNXy1sJglUfuODx1/opAGJGyrTuFqEoN90oRc2Vk0ZbD4K2qmKXBBEhZQzdKHIVfEJpDU8Ak2NJEvQ==} @@ -3283,6 +3338,9 @@ packages: ohash@2.0.11: resolution: {integrity: sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==} + once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + oniguruma-parser@0.12.1: resolution: {integrity: sha512-8Unqkvk1RYc6yq2WBYRj4hdnsAxVze8i7iPfQr8e4uSP3tRv0rpZcbGUDvxfQQcdwHt/e9PrMvGCsa8OqG9X3w==} @@ -3293,14 +3351,26 @@ packages: resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==} engines: {node: '>= 0.4'} + p-finally@1.0.0: + resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} + engines: {node: '>=4'} + p-limit@6.2.0: resolution: {integrity: sha512-kuUqqHNUqoIWp/c467RI4X6mmyuojY5jGutNU0wVTmEOOfcuwLqyMVoAi9MKi2Ak+5i9+nhmrK4ufZE8069kHA==} engines: {node: '>=18'} + p-queue@6.6.2: + resolution: {integrity: sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==} + engines: {node: '>=8'} + p-queue@8.1.1: resolution: {integrity: sha512-aNZ+VfjobsWryoiPnEApGGmf5WmNsCo9xu8dfaYamG5qaLP7ClhLN6NgsFe6SwJ2UbLEBK5dv9x8Mn5+RVhMWQ==} engines: {node: '>=18'} + p-timeout@3.2.0: + resolution: {integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==} + engines: {node: '>=8'} + p-timeout@6.1.4: resolution: {integrity: sha512-MyIV3ZA/PmyBN/ud8vV9XzwTrNtR4jFrObymZYnZqMmW0zA8Z17vnT0rBgFE/TlohB+YCHqXMgZzb3Csp49vqg==} engines: {node: '>=14.16'} @@ -3330,6 +3400,10 @@ packages: path-data-parser@0.1.0: resolution: {integrity: sha512-NOnmBpt5Y2RWbuv0LMzsayp3lVylAHLPUTut412ZA3l+C4uw4ZVkQbjShYCQ8TCpUMdPapr4YjUqLYD6v68j+w==} + path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} @@ -3537,6 +3611,11 @@ packages: retext@9.0.0: resolution: {integrity: sha512-sbMDcpHCNjvlheSgMfEcVrZko3cDzdbe1x/e7G66dFp0Ff7Mldvi2uv6JkJQzdRcvLYE8CA8Oe8siQx8ZOgTcA==} + rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported + hasBin: true + robust-predicates@3.0.2: resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==} @@ -3814,6 +3893,12 @@ packages: space-separated-tokens@2.0.2: resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} + starlight-contributor-list@0.3.1: + resolution: {integrity: sha512-8F3BcnqeCgvI/OcagJCBsp71/XU9/zDiuSmsgAkWrRTxql0H2bG9Z9VXvmwzB/569QVlAsOwK7StAxDxqG6Myw==} + engines: {node: ^18.17.1 || ^20.3.0 || >=21.0.0} + peerDependencies: + '@astrojs/starlight': '>=0.30' + starlight-giscus@0.8.1: resolution: {integrity: sha512-etgWym6KpHeNSkbggEhpGEPNaLIwypWdvE7BxNFHGUkjiq6EYSJhr5zoMGZ9QfnMdkcj8PqKrJTM88YdCSEiDQ==} engines: {node: ^18.20.8 || ^20.3.0 || >=22.0.0} @@ -3983,6 +4068,9 @@ packages: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} + tr46@0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + tr46@1.0.1: resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} @@ -4294,9 +4382,15 @@ packages: web-namespaces@2.0.1: resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} + webidl-conversions@3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + webidl-conversions@4.0.2: resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} + whatwg-url@5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + whatwg-url@7.1.0: resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} @@ -4390,6 +4484,9 @@ packages: resolution: {integrity: sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==} engines: {node: '>=18'} + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + xxhash-wasm@1.1.0: resolution: {integrity: sha512-147y/6YNh+tlp6nd/2pWq38i9h6mz/EuQ6njIrmW8D1BS5nCqs0P6DG+m6zTGnNz5I+uhZ0SHxBs9BsPrwcKDA==} @@ -4431,6 +4528,16 @@ packages: snapshots: + '@11ty/eleventy-fetch@4.0.1': + dependencies: + debug: 4.4.3 + flat-cache: 3.2.0 + node-fetch: 2.7.0 + p-queue: 6.6.2 + transitivePeerDependencies: + - encoding + - supports-color + '@algolia/abtesting@1.12.2': dependencies: '@algolia/client-common': 5.46.2 @@ -6465,6 +6572,11 @@ snapshots: widest-line: 5.0.0 wrap-ansi: 9.0.2 + brace-expansion@1.1.12: + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + brace-expansion@2.0.2: dependencies: balanced-match: 1.0.2 @@ -6575,6 +6687,8 @@ snapshots: common-tags@1.8.2: {} + concat-map@0.0.1: {} + confbox@0.1.8: {} convert-source-map@2.0.0: {} @@ -7115,6 +7229,8 @@ snapshots: esutils@2.0.3: {} + eventemitter3@4.0.7: {} + eventemitter3@5.0.1: {} expressive-code@0.41.4: @@ -7145,6 +7261,14 @@ snapshots: to-regex-range: 5.0.1 optional: true + flat-cache@3.2.0: + dependencies: + flatted: 3.3.3 + keyv: 4.5.4 + rimraf: 3.0.2 + + flatted@3.3.3: {} + flattie@1.1.1: {} fontace@0.3.1: @@ -7180,6 +7304,8 @@ snapshots: jsonfile: 6.2.0 universalify: 2.0.1 + fs.realpath@1.0.0: {} + fsevents@2.3.3: optional: true @@ -7239,6 +7365,15 @@ snapshots: package-json-from-dist: 1.0.1 path-scurry: 2.0.1 + glob@7.2.3: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + globalthis@1.0.4: dependencies: define-properties: 1.2.1 @@ -7499,6 +7634,13 @@ snapshots: import-meta-resolve@4.2.0: {} + inflight@1.0.6: + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + + inherits@2.0.4: {} + inline-style-parser@0.2.7: {} internal-slot@1.1.0: @@ -7683,6 +7825,8 @@ snapshots: jsesc@3.1.0: {} + json-buffer@3.0.1: {} + json-schema-traverse@1.0.0: {} json-schema@0.4.0: {} @@ -7701,6 +7845,10 @@ snapshots: dependencies: commander: 8.3.0 + keyv@4.5.4: + dependencies: + json-buffer: 3.0.1 + khroma@2.1.0: {} kleur@3.0.3: {} @@ -8308,6 +8456,10 @@ snapshots: dependencies: '@isaacs/brace-expansion': 5.0.0 + minimatch@3.1.2: + dependencies: + brace-expansion: 1.1.12 + minimatch@5.1.6: dependencies: brace-expansion: 2.0.2 @@ -8338,6 +8490,10 @@ snapshots: node-fetch-native@1.6.7: {} + node-fetch@2.7.0: + dependencies: + whatwg-url: 5.0.0 + node-mock-http@1.0.4: {} node-releases@2.0.27: {} @@ -8369,6 +8525,10 @@ snapshots: ohash@2.0.11: {} + once@1.4.0: + dependencies: + wrappy: 1.0.2 + oniguruma-parser@0.12.1: {} oniguruma-to-es@4.3.4: @@ -8383,15 +8543,26 @@ snapshots: object-keys: 1.1.1 safe-push-apply: 1.0.0 + p-finally@1.0.0: {} + p-limit@6.2.0: dependencies: yocto-queue: 1.2.2 + p-queue@6.6.2: + dependencies: + eventemitter3: 4.0.7 + p-timeout: 3.2.0 + p-queue@8.1.1: dependencies: eventemitter3: 5.0.1 p-timeout: 6.1.4 + p-timeout@3.2.0: + dependencies: + p-finally: 1.0.0 + p-timeout@6.1.4: {} package-json-from-dist@1.0.1: {} @@ -8434,6 +8605,8 @@ snapshots: path-data-parser@0.1.0: {} + path-is-absolute@1.0.1: {} + path-key@3.1.1: {} path-parse@1.0.7: {} @@ -8723,6 +8896,10 @@ snapshots: retext-stringify: 4.0.0 unified: 11.0.5 + rimraf@3.0.2: + dependencies: + glob: 7.2.3 + robust-predicates@3.0.2: {} rollup@2.79.2: @@ -9040,6 +9217,14 @@ snapshots: space-separated-tokens@2.0.2: {} + starlight-contributor-list@0.3.1(@astrojs/starlight@0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3))): + dependencies: + '@11ty/eleventy-fetch': 4.0.1 + '@astrojs/starlight': 0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)) + transitivePeerDependencies: + - encoding + - supports-color + starlight-giscus@0.8.1(@astrojs/starlight@0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3))): dependencies: '@astrojs/starlight': 0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)) @@ -9252,6 +9437,8 @@ snapshots: is-number: 7.0.0 optional: true + tr46@0.0.3: {} + tr46@1.0.1: dependencies: punycode: 2.3.1 @@ -9503,8 +9690,15 @@ snapshots: web-namespaces@2.0.1: {} + webidl-conversions@3.0.1: {} + webidl-conversions@4.0.2: {} + whatwg-url@5.0.0: + dependencies: + tr46: 0.0.3 + webidl-conversions: 3.0.1 + whatwg-url@7.1.0: dependencies: lodash.sortby: 4.7.0 @@ -9693,6 +9887,8 @@ snapshots: string-width: 7.2.0 strip-ansi: 7.1.2 + wrappy@1.0.2: {} + xxhash-wasm@1.1.0: {} yallist@3.1.1: {} diff --git a/src/components/LastUpdated.astro b/src/components/LastUpdated.astro new file mode 100644 index 000000000..f8febc1c4 --- /dev/null +++ b/src/components/LastUpdated.astro @@ -0,0 +1,59 @@ +--- +/* + * Copyright (c) PaperMC + * + * This file includes code derived from the PaperMC project, + * licensed under the BSD 2-Clause License. + * + * Modified by wling + */ + +import { Image } from "astro:assets"; +import { REPO, getCommitInfo } from "../utils/git"; + +const { lang, lastUpdated } = Astro.locals.starlightRoute; +const filePath = Astro.locals.starlightRoute.entry.filePath; + +const info = await getCommitInfo(filePath); +--- + +{ + lastUpdated && ( +

    + + 更新时间: + + + {info && ( + + 由{" "} + + {info.committer.avatar && ( + {info.committer.name} + )} + {info.committer.name} + {" "} + 在 {info.hash.substring(0, 7)} 提交 + + )} +

    + ) +} + + diff --git a/src/components/LinkCard.astro b/src/components/LinkCard.astro new file mode 100644 index 000000000..8b287343e --- /dev/null +++ b/src/components/LinkCard.astro @@ -0,0 +1,99 @@ +--- +/* + * Copyright (c) PaperMC + * + * This file includes code derived from the PaperMC project, + * licensed under the BSD 2-Clause License. + */ + +import { Icon } from "@astrojs/starlight/components"; +import type { ComponentProps } from "astro/types"; + +interface Props { + icon?: ComponentProps["name"]; + title: string; + href: string; + destructive?: boolean; +} + +const { icon, title, href, destructive } = Astro.props; +--- + + +
    +
    + {icon && } + + {destructive && } +
    +
    +
    +
    + + \ No newline at end of file diff --git a/src/content/docs/index.mdx b/src/content/docs/index.mdx index bfca05970..20a9c8fa8 100644 --- a/src/content/docs/index.mdx +++ b/src/content/docs/index.mdx @@ -13,17 +13,30 @@ hero: --- import { Card, CardGrid } from "@astrojs/starlight/components"; +import { ContributorList } from "starlight-contributor-list"; +import LinkCard from "/src/components/LinkCard.astro"; ## 下一步 - + 了解教程定位、阅读指引与基础要求 - - + + 高版本 Java 版服务器开服指南 - - + + 基岩版服务器开服指南 - + + + +## 贡献者们 + +笨蛋们的力量让 Cubic Wiki 得以成长和完善,感谢每一位为项目做出贡献的朋友! + +这个项目从最初的简单想法,发展成为了一个包含详细教程、最佳实践和社区智慧的综合性 Minecraft 服务器开服指南。我们相信,通过集思广益和开放合作,能够帮助更多的开服爱好者少走弯路,更高效地搭建和运营自己的服务器。 + +无论你是通过提交代码、修复错误、改进文档、设计图表,还是提出宝贵的建议和反馈,你都是推动 Cubic Wiki 前进的重要力量。每一个 Pull Request、Issue 和讨论都体现了社区的热情和专业精神。 + + \ No newline at end of file diff --git a/src/utils/git.ts b/src/utils/git.ts new file mode 100644 index 000000000..ac7741ea9 --- /dev/null +++ b/src/utils/git.ts @@ -0,0 +1,51 @@ +/* + * Copyright (c) PaperMC + * + * This file includes code derived from the PaperMC project, + * licensed under the BSD 2-Clause License. + */ + +import { execSync } from "child_process"; + +export interface CommitterInfo { + name: string; + href: string; + avatar?: string; +} + +export interface CommitInfo { + hash: string; + committer: CommitterInfo; +} + +export const REPO = "Cubic-Project/NitWikit"; +const cache = new Map(); + +export const getCommitInfo = async (filePath: string): Promise => { + let hash: string, email: string, name: string; + try { + [hash, email, name] = execSync(`git log -1 --format="%H,%ae,%an" -- "${filePath}"`) + .toString() + .trim() + .split(",", 3); + } catch (e) { + return null; + } + + const cached = cache.get(email); + if (cached) { + return { hash, committer: cached }; + } + + const info: CommitterInfo = { name, href: `mailto:${email}` }; + + const res = await fetch(`https://api.github.com/repos/${REPO}/commits/${hash}`); + if (res.ok) { + const commit = await res.json(); + info.href = commit.author.html_url; + info.avatar = commit.author.avatar_url; + } + + cache.set(email, info); + return { hash, committer: info }; +}; From e5edf7b7a90fcf808ad4eed007c623b6b1a1b023 Mon Sep 17 00:00:00 2001 From: MrlingXD <90316914+wling-art@users.noreply.github.com> Date: Tue, 6 Jan 2026 19:57:45 +0800 Subject: [PATCH 08/42] =?UTF-8?q?=F0=9F=93=9D=20=E6=B7=BB=E5=8A=A0=20Bedro?= =?UTF-8?q?ck=20=E7=89=88=E6=9C=8D=E5=8A=A1=E5=99=A8=E7=9A=84=E5=BF=AB?= =?UTF-8?q?=E9=80=9F=E5=BC=80=E5=A7=8B=E9=93=BE=E6=8E=A5=E5=8D=A1=E7=89=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/content/docs/general/reading-guide.mdx | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/content/docs/general/reading-guide.mdx b/src/content/docs/general/reading-guide.mdx index d34e8b424..1125cbbfa 100644 --- a/src/content/docs/general/reading-guide.mdx +++ b/src/content/docs/general/reading-guide.mdx @@ -36,6 +36,12 @@ import { LinkCard } from "@astrojs/starlight/components"; 然后按照那里的目录顺序从上到下阅读 + + ## 跳转 例如在 **"Java"** 的 [选择、下载和安装 Java](/general/java/choose-and-download-and-install-java) 只贴了一行链接跳转到了通用 From ecf3030807d10911b1141b3cd20f02bdc60cb1ef Mon Sep 17 00:00:00 2001 From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com> Date: Tue, 6 Jan 2026 02:06:57 -0500 Subject: [PATCH 09/42] =?UTF-8?q?=E8=BF=81=E7=A7=BB=E5=9F=BA=E5=B2=A9?= =?UTF-8?q?=E7=89=88=E6=9D=BF=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .prettierignore | 2 + .prettierrc | 10 +- astro.config.ts | 219 +++++++++++++++++- bedrock/bds/bds.md | 11 - bedrock/misc/allay/allay.md | 11 - bedrock/misc/misc.md | 11 - bedrock/misc/preparation/preparation.md | 21 -- bedrock/misc/preparation/text-editor.md | 9 - bedrock/nukkit/nukkit.md | 11 - .../choose-and-download-and-install-java.md | 8 - bedrock/nukkit/preparation/text-editor.md | 9 - bedrock/nukkit/start/nukkitmot/nukkitmot.md | 11 - bedrock/nukkit/start/nukkitx/nukkitx.md | 11 - bedrock/nukkit/start/pm1e/pm1e.md | 11 - bedrock/nukkit/start/pnx/pnx.md | 11 - bedrock/pocketmine/pocketmine.md | 11 - bedrock/pocketmine/preparation/text-editor.md | 9 - bedrock/waterdogepe/waterdogepe.md | 11 - .../player-management/client-distribution.mdx | 14 +- general/advance/viaproxy/configuration.mdx | 20 +- java/start/basic/what-is-datapack.mdx | 163 ++++++++++++- .../docs/bedrock/bds/preparation/intro.md | 6 +- .../docs/bedrock/bds/preparation/vcruntime.md | 12 + .../docs/bedrock/bds/preparation/websites.md | 116 ++++++++++ .../docs/bedrock/bds/process/bdsx/install.md | 3 - .../docs/bedrock/bds/process/bdsx/intro.md | 5 +- .../bds/process/endstone/_assets/1-1.png | Bin .../bds/process/endstone/_assets/1-2.png | Bin .../bds/process/endstone/_assets/1-3.png | Bin .../bds/process/endstone/_assets/1-4.png | Bin .../bds/process/endstone/_assets/1-5.png | Bin .../bds/process/endstone/_assets/1-6.png | Bin .../bds/process/endstone/_assets/1-7.png | Bin .../bds/process/endstone/_assets/1-8.png | Bin .../bds/process/endstone/_assets/1-9.png | Bin .../bds/process/endstone/_assets/1.png | Bin .../bds/process/endstone/_assets/10.png | Bin .../bds/process/endstone/_assets/2-1.png | Bin .../bds/process/endstone/_assets/2-10.png | Bin .../bds/process/endstone/_assets/2-11.png | Bin .../bds/process/endstone/_assets/2-2.png | Bin .../bds/process/endstone/_assets/2-3.png | Bin .../bds/process/endstone/_assets/2-4.png | Bin .../bds/process/endstone/_assets/2-5.png | Bin .../bds/process/endstone/_assets/2-6.png | Bin .../bds/process/endstone/_assets/2-7.png | Bin .../bds/process/endstone/_assets/2-8.png | Bin .../bds/process/endstone/_assets/2-9.png | Bin .../bds/process/endstone/_assets/2.png | Bin .../bds/process/endstone/_assets/3.png | Bin .../bds/process/endstone/_assets/4.png | Bin .../bds/process/endstone/_assets/5.png | Bin .../bds/process/endstone/_assets/6.png | Bin .../bds/process/endstone/_assets/7.png | Bin .../bds/process/endstone/_assets/8.png | Bin .../bds/process/endstone/_assets/9.png | Bin .../bedrock/bds/process/endstone/install.md | 3 - .../bedrock/bds/process/endstone/intro.md | 7 +- .../bedrock/bds/process/endstone/plugins.md | 1 - .../content/docs/bedrock/bds/process/intro.md | 5 +- .../bedrock/bds/process/levilamina/install.md | 3 - .../bedrock/bds/process/levilamina/intro.md | 5 +- .../levilamina/legacy-script-engine.md | 3 - .../bds/process/levilamina/plugins.mdx | 17 +- .../bds/process/liteloader-bds/install.md | 5 +- .../bds/process/liteloader-bds/intro.md | 7 +- .../bds/process/liteloader-bds/plugins.md | 3 - .../plugins/_assets/levilamina-is-coming.png | Bin .../_assets/levilamina-will-archived.png | Bin .../process/plugins/how-to-load-plugins.md | 1 - .../docs/bedrock/bds/process/plugins/intro.md | 5 +- .../process/plugins/plugins-loader-choose.md | 3 +- .../docs/bedrock/bds/start/basic/intro.md | 5 +- .../bds/start/basic/server-dir-structure.mdx | 35 ++- .../content/docs/bedrock/bds/start/intro.md | 6 +- .../docs/bedrock}/misc/_assets/dragonfly.png | Bin .../content/docs/bedrock/misc/allay.md | 5 +- .../content/docs/bedrock}/misc/dragonfly.md | 3 +- .../content/docs/bedrock}/misc/mcpeserver.md | 3 +- .../docs/bedrock/misc/preparation/intro.md | 6 +- .../bedrock}/misc/preparation/websites.md | 4 - .../content/docs/bedrock/nukkit/intro.md | 3 +- .../docs/bedrock/nukkit/preparation/intro.md | 6 +- .../bedrock}/nukkit/preparation/websites.md | 4 - .../docs/bedrock/nukkit/start/basic/intro.md | 6 +- .../start/basic/server-file-structure.mdx | 30 ++- .../docs/bedrock/nukkit/start/intro.md | 6 +- .../docs/bedrock/nukkit/start/nukkitmot.md | 3 +- .../docs/bedrock/nukkit/start/nukkitx.md | 3 +- .../nukkit/start/pm1e/_assets/controversy.png | Bin .../bedrock}/nukkit/start/pm1e/controversy.md | 1 - .../docs/bedrock/nukkit/start/pm1e/intro.md | 3 +- .../content/docs/bedrock/nukkit/start/pnx.md | 3 +- .../content/docs/bedrock/pocketmine/intro.md | 3 +- .../choose-and-download-and-install-php.md | 3 - .../bedrock/pocketmine/preparation/intro.md | 17 ++ .../pocketmine/preparation/websites.md | 4 - .../_assets/bedrock-core-running.png | Bin .../_assets/nukkit-core-running.png | Bin .../_assets/pocketminemp-core-running.png | Bin .../_assets/powernukkitx-core-rip.png | Bin .../_assets/powernukkitx-core-running.png | Bin .../content/docs/bedrock/super-basic/intro.md | 6 +- .../super-basic/protocol-version-number.md | 3 - .../super-basic/server-core-choose.md | 5 +- .../docs/bedrock}/super-basic/server-type.md | 3 - .../docs/bedrock}/super-basic/version.md | 1 - .../docs/bedrock/waterdogepe}/preparation.md | 4 - .../docs/general/advance/bot/plugin.mdx | 4 +- .../geyser/upgrade/extended/fix.mdx | 2 + .../plugin/more/plugin-build/intro.mdx | 4 + .../docs/java/start/server-dir-structure.mdx | 2 + 112 files changed, 663 insertions(+), 337 deletions(-) create mode 100644 .prettierignore delete mode 100644 bedrock/bds/bds.md delete mode 100644 bedrock/misc/allay/allay.md delete mode 100644 bedrock/misc/misc.md delete mode 100644 bedrock/misc/preparation/preparation.md delete mode 100644 bedrock/misc/preparation/text-editor.md delete mode 100644 bedrock/nukkit/nukkit.md delete mode 100644 bedrock/nukkit/preparation/choose-and-download-and-install-java.md delete mode 100644 bedrock/nukkit/preparation/text-editor.md delete mode 100644 bedrock/nukkit/start/nukkitmot/nukkitmot.md delete mode 100644 bedrock/nukkit/start/nukkitx/nukkitx.md delete mode 100644 bedrock/nukkit/start/pm1e/pm1e.md delete mode 100644 bedrock/nukkit/start/pnx/pnx.md delete mode 100644 bedrock/pocketmine/pocketmine.md delete mode 100644 bedrock/pocketmine/preparation/text-editor.md delete mode 100644 bedrock/waterdogepe/waterdogepe.md rename bedrock/nukkit/preparation/preparation.md => src/content/docs/bedrock/bds/preparation/intro.md (83%) create mode 100644 src/content/docs/bedrock/bds/preparation/vcruntime.md create mode 100644 src/content/docs/bedrock/bds/preparation/websites.md rename bedrock/bds/process/bdsx/bdsx-install.md => src/content/docs/bedrock/bds/process/bdsx/install.md (97%) rename bedrock/bds/process/bdsx/bdsx.md => src/content/docs/bedrock/bds/process/bdsx/intro.md (90%) rename {bedrock => src/content/docs/bedrock}/bds/process/endstone/_assets/1-1.png (100%) rename {bedrock => src/content/docs/bedrock}/bds/process/endstone/_assets/1-2.png (100%) rename {bedrock => src/content/docs/bedrock}/bds/process/endstone/_assets/1-3.png (100%) rename {bedrock => src/content/docs/bedrock}/bds/process/endstone/_assets/1-4.png (100%) rename {bedrock => src/content/docs/bedrock}/bds/process/endstone/_assets/1-5.png (100%) rename {bedrock => src/content/docs/bedrock}/bds/process/endstone/_assets/1-6.png (100%) rename {bedrock => src/content/docs/bedrock}/bds/process/endstone/_assets/1-7.png (100%) rename {bedrock => src/content/docs/bedrock}/bds/process/endstone/_assets/1-8.png (100%) rename {bedrock => src/content/docs/bedrock}/bds/process/endstone/_assets/1-9.png (100%) rename {bedrock => src/content/docs/bedrock}/bds/process/endstone/_assets/1.png (100%) rename {bedrock => src/content/docs/bedrock}/bds/process/endstone/_assets/10.png (100%) rename {bedrock => src/content/docs/bedrock}/bds/process/endstone/_assets/2-1.png (100%) rename {bedrock => src/content/docs/bedrock}/bds/process/endstone/_assets/2-10.png (100%) rename {bedrock => src/content/docs/bedrock}/bds/process/endstone/_assets/2-11.png (100%) rename {bedrock => src/content/docs/bedrock}/bds/process/endstone/_assets/2-2.png (100%) rename {bedrock => src/content/docs/bedrock}/bds/process/endstone/_assets/2-3.png (100%) rename {bedrock => src/content/docs/bedrock}/bds/process/endstone/_assets/2-4.png (100%) rename {bedrock => src/content/docs/bedrock}/bds/process/endstone/_assets/2-5.png (100%) rename {bedrock => src/content/docs/bedrock}/bds/process/endstone/_assets/2-6.png (100%) rename {bedrock => src/content/docs/bedrock}/bds/process/endstone/_assets/2-7.png (100%) rename {bedrock => src/content/docs/bedrock}/bds/process/endstone/_assets/2-8.png (100%) rename {bedrock => src/content/docs/bedrock}/bds/process/endstone/_assets/2-9.png (100%) rename {bedrock => src/content/docs/bedrock}/bds/process/endstone/_assets/2.png (100%) rename {bedrock => src/content/docs/bedrock}/bds/process/endstone/_assets/3.png (100%) rename {bedrock => src/content/docs/bedrock}/bds/process/endstone/_assets/4.png (100%) rename {bedrock => src/content/docs/bedrock}/bds/process/endstone/_assets/5.png (100%) rename {bedrock => src/content/docs/bedrock}/bds/process/endstone/_assets/6.png (100%) rename {bedrock => src/content/docs/bedrock}/bds/process/endstone/_assets/7.png (100%) rename {bedrock => src/content/docs/bedrock}/bds/process/endstone/_assets/8.png (100%) rename {bedrock => src/content/docs/bedrock}/bds/process/endstone/_assets/9.png (100%) rename bedrock/bds/process/endstone/endstone-install.md => src/content/docs/bedrock/bds/process/endstone/install.md (99%) rename bedrock/bds/process/endstone/endstone.md => src/content/docs/bedrock/bds/process/endstone/intro.md (76%) rename bedrock/bds/process/endstone/endstone-plugins.md => src/content/docs/bedrock/bds/process/endstone/plugins.md (99%) rename bedrock/bds/process/process.md => src/content/docs/bedrock/bds/process/intro.md (84%) rename bedrock/bds/process/levilamina/levilamina-install.md => src/content/docs/bedrock/bds/process/levilamina/install.md (98%) rename bedrock/bds/process/levilamina/levilamina.md => src/content/docs/bedrock/bds/process/levilamina/intro.md (80%) rename {bedrock => src/content/docs/bedrock}/bds/process/levilamina/legacy-script-engine.md (98%) rename bedrock/bds/process/levilamina/levilamina-plugins.mdx => src/content/docs/bedrock/bds/process/levilamina/plugins.mdx (83%) rename {bedrock => src/content/docs/bedrock}/bds/process/liteloader-bds/install.md (95%) rename bedrock/bds/process/liteloader-bds/liteloader-bds.md => src/content/docs/bedrock/bds/process/liteloader-bds/intro.md (87%) rename {bedrock => src/content/docs/bedrock}/bds/process/liteloader-bds/plugins.md (96%) rename {bedrock => src/content/docs/bedrock}/bds/process/plugins/_assets/levilamina-is-coming.png (100%) rename {bedrock => src/content/docs/bedrock}/bds/process/plugins/_assets/levilamina-will-archived.png (100%) rename {bedrock => src/content/docs/bedrock}/bds/process/plugins/how-to-load-plugins.md (67%) rename bedrock/bds/process/plugins/plugins.md => src/content/docs/bedrock/bds/process/plugins/intro.md (83%) rename {bedrock => src/content/docs/bedrock}/bds/process/plugins/plugins-loader-choose.md (98%) rename bedrock/super-basic/super-basic.md => src/content/docs/bedrock/bds/start/basic/intro.md (85%) rename {bedrock => src/content/docs/bedrock}/bds/start/basic/server-dir-structure.mdx (83%) rename bedrock/bds/start/start.md => src/content/docs/bedrock/bds/start/intro.md (72%) rename {bedrock => src/content/docs/bedrock}/misc/_assets/dragonfly.png (100%) rename bedrock/misc/allay/description.md => src/content/docs/bedrock/misc/allay.md (98%) rename {bedrock => src/content/docs/bedrock}/misc/dragonfly.md (91%) rename {bedrock => src/content/docs/bedrock}/misc/mcpeserver.md (96%) rename bedrock/waterdogepe/preparation.md => src/content/docs/bedrock/misc/preparation/intro.md (83%) rename {bedrock => src/content/docs/bedrock}/misc/preparation/websites.md (96%) rename bedrock/nukkit/history.md => src/content/docs/bedrock/nukkit/intro.md (99%) rename bedrock/pocketmine/preparation/preparation.md => src/content/docs/bedrock/nukkit/preparation/intro.md (83%) rename {bedrock => src/content/docs/bedrock}/nukkit/preparation/websites.md (97%) rename bedrock/bds/start/basic/basic.md => src/content/docs/bedrock/nukkit/start/basic/intro.md (81%) rename {bedrock => src/content/docs/bedrock}/nukkit/start/basic/server-file-structure.mdx (78%) rename bedrock/nukkit/start/start.md => src/content/docs/bedrock/nukkit/start/intro.md (71%) rename bedrock/nukkit/start/nukkitmot/description.md => src/content/docs/bedrock/nukkit/start/nukkitmot.md (94%) rename bedrock/nukkit/start/nukkitx/description.md => src/content/docs/bedrock/nukkit/start/nukkitx.md (95%) rename {bedrock => src/content/docs/bedrock}/nukkit/start/pm1e/_assets/controversy.png (100%) rename {bedrock => src/content/docs/bedrock}/nukkit/start/pm1e/controversy.md (98%) rename bedrock/nukkit/start/pm1e/description.md => src/content/docs/bedrock/nukkit/start/pm1e/intro.md (96%) rename bedrock/nukkit/start/pnx/description.md => src/content/docs/bedrock/nukkit/start/pnx.md (97%) rename bedrock/pocketmine/description.md => src/content/docs/bedrock/pocketmine/intro.md (99%) rename {bedrock => src/content/docs/bedrock}/pocketmine/preparation/choose-and-download-and-install-php.md (94%) create mode 100644 src/content/docs/bedrock/pocketmine/preparation/intro.md rename {bedrock => src/content/docs/bedrock}/pocketmine/preparation/websites.md (97%) rename {bedrock => src/content/docs/bedrock}/super-basic/_assets/bedrock-core-running.png (100%) rename {bedrock => src/content/docs/bedrock}/super-basic/_assets/nukkit-core-running.png (100%) rename {bedrock => src/content/docs/bedrock}/super-basic/_assets/pocketminemp-core-running.png (100%) rename {bedrock => src/content/docs/bedrock}/super-basic/_assets/powernukkitx-core-rip.png (100%) rename {bedrock => src/content/docs/bedrock}/super-basic/_assets/powernukkitx-core-running.png (100%) rename bedrock/nukkit/start/basic/basic.md => src/content/docs/bedrock/super-basic/intro.md (81%) rename {bedrock => src/content/docs/bedrock}/super-basic/protocol-version-number.md (97%) rename {bedrock => src/content/docs/bedrock}/super-basic/server-core-choose.md (97%) rename {bedrock => src/content/docs/bedrock}/super-basic/server-type.md (98%) rename {bedrock => src/content/docs/bedrock}/super-basic/version.md (99%) rename {bedrock/misc/allay => src/content/docs/bedrock/waterdogepe}/preparation.md (87%) diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 000000000..fb4958219 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,2 @@ +# pnpm dust +pnpm-lock.yaml \ No newline at end of file diff --git a/.prettierrc b/.prettierrc index 95f461194..36ead63ce 100644 --- a/.prettierrc +++ b/.prettierrc @@ -16,5 +16,13 @@ "vueIndentScriptAndStyle": false, "endOfLine": "lf", "embeddedLanguageFormatting": "auto", - "singleAttributePerLine": false + "singleAttributePerLine": false, + "overrides": [ + { + "files": ["*.yml"], + "options": { + "tabWidth": 2 + } + } + ] } diff --git a/astro.config.ts b/astro.config.ts index fa863fc9a..a0568872f 100644 --- a/astro.config.ts +++ b/astro.config.ts @@ -51,7 +51,26 @@ export default defineConfig({ { label: "从零开始", collapsed: false, - items: [{ label: "快速开始", slug: "general/intro" }, "general/reading-guide"] + items: [ + { label: "快速开始", slug: "general/intro" }, + "general/reading-guide", + { + label: "安装 Java", + collapsed: true, + items: [ + "general/java/intro", + "general/java/choose-and-download-and-install-java", + "general/java/environment", + "general/java/sdkman", + "general/java/faq" + ] + }, + { + label: "文本编辑器", + collapsed: true, + autogenerate: { directory: "general/preparation/text-editor" } + } + ] } ] }, @@ -777,10 +796,206 @@ export default defineConfig({ label: "快速开始", items: ["bedrock/intro"] }, + { + label: "超级基础知识", + items: [ + "bedrock/super-basic/intro", + "bedrock/super-basic/server-core-choose", + "bedrock/super-basic/server-type", + "bedrock/super-basic/protocol-version-number", + "bedrock/super-basic/version" + ] + }, { label: "BDS 核心", collapsed: true, - items: [] + items: [ + { + label: "准备工作", + collapsed: true, + items: [ + "bedrock/bds/preparation/intro", + { + label: "文本编辑器", + collapsed: true, + autogenerate: { directory: "general/preparation/text-editor" } + }, + "bedrock/bds/preparation/vcruntime", + "bedrock/bds/preparation/websites" + ] + }, + { + label: "开始阶段", + collapsed: true, + items: [ + "bedrock/bds/start/intro", + { + label: "基础知识", + items: [ + "bedrock/bds/start/basic/intro", + "bedrock/bds/start/basic/server-dir-structure" + ] + } + ] + }, + { + label: "建设阶段", + collapsed: true, + items: [ + "bedrock/bds/process/intro", + { + label: "插件", + collapsed: true, + items: [ + "bedrock/bds/process/plugins/intro", + "bedrock/bds/process/plugins/how-to-load-plugins", + "bedrock/bds/process/plugins/plugins-loader-choose" + ] + }, + { + label: "BDSX", + collapsed: true, + items: [ + "bedrock/bds/process/bdsx/intro", + "bedrock/bds/process/bdsx/install" + ] + }, + { + label: "EndStone", + collapsed: true, + items: [ + "bedrock/bds/process/endstone/intro", + "bedrock/bds/process/endstone/install", + "bedrock/bds/process/endstone/plugins" + ] + }, + { + label: "LeviLamina", + collapsed: true, + items: [ + "bedrock/bds/process/levilamina/intro", + "bedrock/bds/process/levilamina/install", + "bedrock/bds/process/levilamina/plugins", + "bedrock/bds/process/levilamina/legacy-script-engine" + ] + }, + { + label: "LiteLoaderBDS", + collapsed: true, + items: [ + "bedrock/bds/process/liteloader-bds/intro", + "bedrock/bds/process/liteloader-bds/install", + "bedrock/bds/process/liteloader-bds/plugins" + ] + } + ] + } + ] + }, + { + label: "Nukkit 核心", + collapsed: true, + items: [ + "bedrock/nukkit/intro", + { + label: "准备工作", + collapsed: true, + items: [ + "bedrock/nukkit/preparation/intro", + { + label: "安装 Java", + collapsed: true, + items: [ + "general/java/intro", + "general/java/choose-and-download-and-install-java", + "general/java/environment", + "general/java/sdkman", + "general/java/faq" + ] + }, + "bedrock/nukkit/preparation/websites", + { + label: "文本编辑器", + collapsed: true, + autogenerate: { directory: "general/preparation/text-editor" } + } + ] + }, + { + label: "开始阶段", + collapsed: true, + items: [ + "bedrock/nukkit/start/intro", + { + label: "基础知识", + collapsed: true, + items: [ + "bedrock/nukkit/start/basic/intro", + "bedrock/nukkit/start/basic/server-file-structure" + ] + }, + "bedrock/nukkit/start/nukkitmot", + "bedrock/nukkit/start/nukkitx", + { + label: "PM1E 核心", + collapsed: true, + items: [ + "bedrock/nukkit/start/pm1e/intro", + "bedrock/nukkit/start/pm1e/controversy" + ] + }, + "bedrock/nukkit/start/pnx" + ] + } + ] + }, + { + label: "PocketMine 核心", + collapsed: true, + items: [ + "bedrock/pocketmine/intro", + { + label: "准备工作", + collapsed: true, + items: [ + "bedrock/pocketmine/preparation/intro", + "bedrock/pocketmine/preparation/choose-and-download-and-install-php", + "bedrock/pocketmine/preparation/websites", + { + label: "文本编辑器", + collapsed: true, + autogenerate: { directory: "general/preparation/text-editor" } + } + ] + } + ] + }, + { + label: "其他基岩版服务器核心", + collapsed: true, + items: [ + { + label: "准备工作", + collapsed: true, + items: [ + "bedrock/misc/preparation/intro", + "bedrock/misc/preparation/websites", + { + label: "文本编辑器", + collapsed: true, + autogenerate: { directory: "general/preparation/text-editor" } + } + ] + }, + "bedrock/misc/allay", + "bedrock/misc/dragonfly", + "bedrock/misc/mcpeserver" + ] + }, + { + label: "WaterdogePE 跨服", + collapsed: true, + items: ["bedrock/waterdogepe/preparation"] } ] } diff --git a/bedrock/bds/bds.md b/bedrock/bds/bds.md deleted file mode 100644 index 7536f7881..000000000 --- a/bedrock/bds/bds.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: BDS 核心 -slug: /bds-core -sidebar_position: 3 ---- - -# BDS 核心 - -import DocCardList from '@theme/DocCardList'; - - diff --git a/bedrock/misc/allay/allay.md b/bedrock/misc/allay/allay.md deleted file mode 100644 index 42551f758..000000000 --- a/bedrock/misc/allay/allay.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: Allay 核心 -slug: /allay-core -sidebar_position: 5 ---- - -# Allay 核心 - -import DocCardList from '@theme/DocCardList'; - - diff --git a/bedrock/misc/misc.md b/bedrock/misc/misc.md deleted file mode 100644 index 941d2f1d8..000000000 --- a/bedrock/misc/misc.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 其他基岩版服务器核心 -slug: /qitabe-core -sidebar_position: 5 ---- - -# 其他基岩版服务器核心 - -import DocCardList from '@theme/DocCardList'; - - diff --git a/bedrock/misc/preparation/preparation.md b/bedrock/misc/preparation/preparation.md deleted file mode 100644 index 794fc4835..000000000 --- a/bedrock/misc/preparation/preparation.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -title: 准备工作 -sidebar_position: 1 -sidebar_label: 其他基岩版服务器准备工作 ---- - -# 准备工作 - -在正式开 Minecraft 服务器之前,请一定确认已经准备好了以下必备软件或网页: - -import DocCardList from '@theme/DocCardList'; - - - -其中: - -文档编辑软件能够有效提高编辑插件、核心配置时的效率,降低错误使用语法的可能性; - -网页主要包括了寻找插件、mod、生成 MOTD,生成指令等便捷功能; - -笨蛋脚本主要用于一键式配置文件、安装插件等。 diff --git a/bedrock/misc/preparation/text-editor.md b/bedrock/misc/preparation/text-editor.md deleted file mode 100644 index 1d22be1bd..000000000 --- a/bedrock/misc/preparation/text-editor.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: 文本编辑器 -sidebar_position: 2 -sidebar_label: 其他基岩版服务器文本编辑器 ---- - -# 文本编辑器 - -请见 [通用 | 文本编辑器](/preparation/text-editor) diff --git a/bedrock/nukkit/nukkit.md b/bedrock/nukkit/nukkit.md deleted file mode 100644 index 575d8c154..000000000 --- a/bedrock/nukkit/nukkit.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: Nukkit 核心 -slug: /nukkit-core -sidebar_position: 4 ---- - -# Nukkit 核心 - -import DocCardList from '@theme/DocCardList'; - - diff --git a/bedrock/nukkit/preparation/choose-and-download-and-install-java.md b/bedrock/nukkit/preparation/choose-and-download-and-install-java.md deleted file mode 100644 index 0f789243d..000000000 --- a/bedrock/nukkit/preparation/choose-and-download-and-install-java.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: 选择、下载和安装 Java -sidebar_position: 1 ---- - -# 选择、下载和安装 Java - -请见 [通用 | 选择、下载和安装 Java](/preparation/java/choose-and-download-and-install-java) diff --git a/bedrock/nukkit/preparation/text-editor.md b/bedrock/nukkit/preparation/text-editor.md deleted file mode 100644 index 26e6418fe..000000000 --- a/bedrock/nukkit/preparation/text-editor.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: 文本编辑器 -sidebar_position: 2 -sidebar_label: Nukkit 文本编辑器 ---- - -# 文本编辑器 - -请见 [通用 | 文本编辑器](/preparation/text-editor) diff --git a/bedrock/nukkit/start/nukkitmot/nukkitmot.md b/bedrock/nukkit/start/nukkitmot/nukkitmot.md deleted file mode 100644 index 56b484150..000000000 --- a/bedrock/nukkit/start/nukkitmot/nukkitmot.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: Nukkit-MOT 核心 -slug: /nukkitmot-core -sidebar_position: 5 ---- - -# Nukkit-MOT 核心 - -import DocCardList from '@theme/DocCardList'; - - diff --git a/bedrock/nukkit/start/nukkitx/nukkitx.md b/bedrock/nukkit/start/nukkitx/nukkitx.md deleted file mode 100644 index e19003c02..000000000 --- a/bedrock/nukkit/start/nukkitx/nukkitx.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: NukkitX 核心 -slug: /nukkitx-core -sidebar_position: 5 ---- - -# NukkitX 核心 - -import DocCardList from '@theme/DocCardList'; - - diff --git a/bedrock/nukkit/start/pm1e/pm1e.md b/bedrock/nukkit/start/pm1e/pm1e.md deleted file mode 100644 index f5b492495..000000000 --- a/bedrock/nukkit/start/pm1e/pm1e.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: PM1E 核心 -slug: /pm1e-core -sidebar_position: 5 ---- - -# NukkitPetteriM1Edition 核心 - -import DocCardList from '@theme/DocCardList'; - - diff --git a/bedrock/nukkit/start/pnx/pnx.md b/bedrock/nukkit/start/pnx/pnx.md deleted file mode 100644 index d579099ef..000000000 --- a/bedrock/nukkit/start/pnx/pnx.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: PowerNukkitX 核心 -slug: /pnx-core -sidebar_position: 5 ---- - -# PowerNukkitX 核心 - -import DocCardList from '@theme/DocCardList'; - - diff --git a/bedrock/pocketmine/pocketmine.md b/bedrock/pocketmine/pocketmine.md deleted file mode 100644 index 2e5ce9582..000000000 --- a/bedrock/pocketmine/pocketmine.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: PocketMine 核心 -slug: /pocketmine-core -sidebar_position: 4 ---- - -# PocketMine 核心 - -import DocCardList from '@theme/DocCardList'; - - diff --git a/bedrock/pocketmine/preparation/text-editor.md b/bedrock/pocketmine/preparation/text-editor.md deleted file mode 100644 index 4a141cdfe..000000000 --- a/bedrock/pocketmine/preparation/text-editor.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: 文本编辑器 -sidebar_position: 2 -sidebar_label: PocketMine 文本编辑器 ---- - -# 文本编辑器 - -请见 [通用 | 文本编辑器](/preparation/text-editor) diff --git a/bedrock/waterdogepe/waterdogepe.md b/bedrock/waterdogepe/waterdogepe.md deleted file mode 100644 index c328c511e..000000000 --- a/bedrock/waterdogepe/waterdogepe.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: WaterdogePE 跨服 -slug: /waterdogepe-core -sidebar_position: 6 ---- - -# WaterdogePE 跨服核心 - -import DocCardList from '@theme/DocCardList'; - - diff --git a/general/advance/management/player-management/client-distribution.mdx b/general/advance/management/player-management/client-distribution.mdx index 442c2eeab..6c490cfaf 100644 --- a/general/advance/management/player-management/client-distribution.mdx +++ b/general/advance/management/player-management/client-distribution.mdx @@ -4,6 +4,8 @@ slug: /Sundry/Advance/management/player-management/client-distribution sidebar_position: 6 --- +import { FileTree } from '@astrojs/starlight/components'; + # 分发客户端 当你的服务器要求玩家使用特定版本客户端或安装特定模组时,你需要主动为玩家提供客户端的获取方式,方便新玩家们更方便地玩上你的服务器。 @@ -40,10 +42,16 @@ sidebar_position: 6 2. **解压至整合包目录,以 HMCL 为例,结构如下:** -import StructureExplorer from "@site/src/components/StructureExplorer"; -import { hmclModpackStructure } from "@site/src/data/structures"; + + + - MyModpack + - java + - bin + - HMCL.exe + - hmcl.json + - .minecraft - + 3. **调整启动器设置:** 以 HMCL 为例,前往 **版本管理** ,确保启用了 **启用版本特定游戏设置(不影响其他游戏版本)** ,**游戏 Java** 选择 **指定 Java 版本** ,在此选项同一行的右侧输入框中填写以下内容: diff --git a/general/advance/viaproxy/configuration.mdx b/general/advance/viaproxy/configuration.mdx index e78408a05..cac115d2b 100644 --- a/general/advance/viaproxy/configuration.mdx +++ b/general/advance/viaproxy/configuration.mdx @@ -3,8 +3,7 @@ title: 配置详解 sidebar_position: 3 --- -import StructureExplorer from "@site/src/components/StructureExplorer"; -import { viaproxyStructure } from "@site/src/data/structures"; +import { FileTree } from '@astrojs/starlight/components'; # 配置详解 @@ -14,7 +13,22 @@ import { viaproxyStructure } from "@site/src/data/structures"; ViaProxy 使用 YAML 格式的配置文件,主要包含以下几个部分: - + + +- viaproxy + - viaproxy.yml 主配置文件 + - ViaLoader 协议转换配置 + - viaversion.yml + - viabackwards.yml + - viarewind.yml + - vialegacy.yml + - viabedrock.yml + - viaaprilfools.yml + - plugins 插件目录 + - logs 日志目录 + - saves.json 服务器保存数据 + + ## 主配置文件 (viaproxy.yml) diff --git a/java/start/basic/what-is-datapack.mdx b/java/start/basic/what-is-datapack.mdx index 8918aab09..de11ba8b1 100644 --- a/java/start/basic/what-is-datapack.mdx +++ b/java/start/basic/what-is-datapack.mdx @@ -3,8 +3,7 @@ title: 什么是数据包? sidebar_position: 6 --- -import StructureExplorer from "@site/src/components/StructureExplorer"; -import { datapackStructure } from "@site/src/data/structures"; +import { FileTree } from '@astrojs/starlight/components'; # 什么是数据包? @@ -46,7 +45,165 @@ import { datapackStructure } from "@site/src/data/structures"; # 数据包结构 - + + +- 数据包名 + - pack.mcmeta 数据包元数据,用于识别数据包 + - pack.png 数据包图标(可选) + - data + - advancements + - 特定进度名.json + - display 进度显示信息 + - title 进度标题 + - description 进度描述 + - icon 进度图标 + - criteria 进度达成条件 + - 特定条件名.json + - trigger 触发条件类型 + - conditions 具体条件参数 + - loot_tables + - 特定物品或实体的战利品表.json + - pools 战利品池 + - 特定战利品池.json + - rolls 生成次数 + - entries 战利品条目 + - 特定条目.json + - type 条目类型(item / loot_table 等) + - name 物品或战利品表名称 + - functions 战利品修饰函数(可选) + - 特定函数.json + - function 函数类型 + - arguments 函数参数 + - recipes + - 特定合成配方.json + - type 合成配方类型 + - group 合成组(可选) + - ingredients 合成材料 + - 特定材料.json + - item 物品 ID + - count 数量(可选) + - result 合成结果 + - item 输出物品 + - count 输出数量(可选) + - tags + - blocks + - 特定方块标签.json + - replace 是否替换已有标签 + - values 方块列表 + - fluids + - 特定流体标签.json + - replace + - values + - items + - 特定物品标签.json + - replace + - values + - entity_types + - 特定实体类型标签.json + - replace + - values + - functions + - 特定函数标签.json + - replace + - values + - predicates + - 特定谓词标签.json + - replace + - values + - damage_types + - 特定伤害类型标签.json + - replace + - values + - enchantments + - 特定附魔标签.json + - replace + - values + - game_events + - 特定游戏事件标签.json + - replace + - values + - 其他标签类型 + - 特定标签.json + - replace + - values + - functions + - 特定函数文件.mcfunction mcfunction 命令文件 + - predicates + - 特定谓词.json + - condition 判断条件 + - 特定条件类型.json + - 参数 + - result 判断结果 + - dimension_types + - 特定维度类型.json + - effects 维度效果 + - 特定效果.json + - 特定效果类型 + - 值 + - parameters 维度参数 + - 特定参数.json + - 名称 + - 值 + - worldgen + - biome + - 特定生物群系.json + - features 群系特征 + - 特定特征.json + - 特征类型 + - 参数 + - properties 群系属性 + - 特定属性.json + - 名称 + - 值 + - configured_carver + - 特定雕刻器.json + - type + - biomes + - parameters + - 特定参数.json + - 名称 + - 值 + - configured_feature + - 特定配置特征.json + - type + - placement + - 特定放置规则.json + - 规则类型 + - 参数 + - parameters + - 特定参数.json + - 名称 + - 值 + - configured_structure_feature + - 特定配置结构特征.json + - type + - placement + - 特定放置规则.json + - 规则类型 + - 参数 + - parameters + - 特定参数.json + - 名称 + - 值 + - noise + - 特定噪声设置.json + - noise_type + - parameters + - 特定参数.json + - 名称 + - 值 + - processor_list + - 特定处理器列表.json + - processors + - 特定处理器.json + - type + - parameters + - 特定参数.json + - 名称 + - 值 + - 其他子目录 取决于数据包功能需求 + + # 数据包的编写 diff --git a/bedrock/nukkit/preparation/preparation.md b/src/content/docs/bedrock/bds/preparation/intro.md similarity index 83% rename from bedrock/nukkit/preparation/preparation.md rename to src/content/docs/bedrock/bds/preparation/intro.md index 66e653ddc..6309d7236 100644 --- a/bedrock/nukkit/preparation/preparation.md +++ b/src/content/docs/bedrock/bds/preparation/intro.md @@ -1,11 +1,7 @@ --- -title: 准备工作 -sidebar_position: 1 -sidebar_label: Nukkit 准备工作 +title: 概述 --- -# 准备工作 - 在正式开 Minecraft 服务器之前,请一定确认已经准备好了以下必备软件或网页: import DocCardList from '@theme/DocCardList'; diff --git a/src/content/docs/bedrock/bds/preparation/vcruntime.md b/src/content/docs/bedrock/bds/preparation/vcruntime.md new file mode 100644 index 000000000..930bda4ba --- /dev/null +++ b/src/content/docs/bedrock/bds/preparation/vcruntime.md @@ -0,0 +1,12 @@ +--- +title: Visual C++ 运行库 +--- + +我的世界基岩版由于使用微软开发的 Visual C++ 编写,需要依赖 Visual C++ 运行库 (VC 运行库) 才能正常运行。在玩家的电脑上,由于 Windows 系统会自动为游戏补全这些运行库,所以玩家下载好基岩版之后就可以直接开始游戏。 + +但是在基岩版的服务器软件 BDS 这边情况就有所不同了。BDS 只是一个可执行文件,它并不具备自己补全 VC 运行库的功能,需要手动进行安装,否则就会报错“缺少 vmruntimexxx.dll”。 +你需要为服务器安装至少 [Visual C++ Redistributable for Visual Studio 2015-2022](https://aka.ms/vs/17/release/vc_redist.x64.exe) 这个运行库才行。 + +有时一些辅助软件也会依赖这个运行库,例如 LeviLamina 在缺少运行库时会报错“Error code: 1114 动态裢接库 (DLL) 初始化例程失败。”,安装这个运行库也可以解决问题。 + +你也可以使用 [常用 VC 运行库合集](https://cloud.wujiyan.cc/f/D0DIW/MSVBCRT.AIO.2024.08.16.exe) 来快速安装 diff --git a/src/content/docs/bedrock/bds/preparation/websites.md b/src/content/docs/bedrock/bds/preparation/websites.md new file mode 100644 index 000000000..226d1f5ad --- /dev/null +++ b/src/content/docs/bedrock/bds/preparation/websites.md @@ -0,0 +1,116 @@ +--- +title: 可能用到的网站 +--- + +开服不能只是从某一网站或者简单百度、Bing、谷歌获取资源,这样获取的资源种类非常贫乏。 + +以下是一些可供参考的推荐网站: + +## MineBBS + +国内较为知名的综合性 Minecraft 论坛。主要以基岩版开服内容为主,MCBBS 关闭后其 Java 版相关内容丰富了许多。 + +
    + 点击展开 + + + +插件板块:https://www.minebbs.com/resources/categories/bdserver.38/ + +同时,本教程在 MineBBS 也有搬运贴:https://www.minebbs.com/threads/nitwikit-geyser.26356/ + +
    + +## Bedrinth + +由 LeviLDev 创建的专门收集 LeviLamina 和 EndStone 模组或者插件的资源网站。 + +
    + 点击展开 + + + +插件板块:https://bedrinth.com/ + +
    + +## GitHub + +全球最大的代码托管平台 ***建议注册账号***。 + +
    + 点击展开 + + + +全球最大的社交编程及代码托管网站。 + +许多开发者会把自己编写的插件发到 GitHub。 + +虽然不登录账号不影响你浏览仓库和下载 Release 等。 + +但是登录后可以给作者发 Issues 来报告问题,提交新需求/建议,还可以下载 Actions 中的文件。 + +
    + 注册问题 + +[在 GitHub 上创建帐户](https://docs.github.com/zh/get-started/start-your-journey/creating-an-account-on-github) + +
    + +
    + 连不上怎么办 + +这是由于 GitHub 是开放的外国网站,网站上时不时会有一些不能在此讨论的内容,所以运营商会刻意地屏蔽这个网站,在很多时候都不能正常访问。具体的表现如下:[只要 GitHub 域名指向任意 IP,该 IP 的 443 端口就会超时 3 分钟](https://blog.csdn.net/weixin_43659597/article/details/118882176)。 + +有以下几种解决办法: + +1. 魔法 +2. [改 hosts](https://www.cnblogs.com/eudaimonia/p/16001981.html#1034247326) +3. [Watt Toolkit](https://steampp.net/):下载安装完成后,在左侧侧边栏切换到 **网络加速**,点击 **平台加速 (免费)**,往下翻勾上 GitHub,然后点击 **一键加速**,随后就可以正常访问 GitHub 了 + + +
    + +
    + 下载太慢怎么办 + +使用魔法或者用加速地址: + +https://gitmirror.com/files.html + +https://moeyy.cn/gh-proxy + +https://ghps.cc/ + +
    + +GitHub 汉化插件:https://github.com/maboloshi/github-chinese + +地址:https://github.com + +
    diff --git a/bedrock/bds/process/bdsx/bdsx-install.md b/src/content/docs/bedrock/bds/process/bdsx/install.md similarity index 97% rename from bedrock/bds/process/bdsx/bdsx-install.md rename to src/content/docs/bedrock/bds/process/bdsx/install.md index 7cf29db9e..f09cce5f7 100644 --- a/bedrock/bds/process/bdsx/bdsx-install.md +++ b/src/content/docs/bedrock/bds/process/bdsx/install.md @@ -1,10 +1,7 @@ --- title: BDSX 安装教程 -sidebar_position: 1 --- -# BDSX 安装教程 - ## 前提要求 你需要在电脑上准备: diff --git a/bedrock/bds/process/bdsx/bdsx.md b/src/content/docs/bedrock/bds/process/bdsx/intro.md similarity index 90% rename from bedrock/bds/process/bdsx/bdsx.md rename to src/content/docs/bedrock/bds/process/bdsx/intro.md index b9daf5094..a84858ed8 100644 --- a/bedrock/bds/process/bdsx/bdsx.md +++ b/src/content/docs/bedrock/bds/process/bdsx/intro.md @@ -1,10 +1,7 @@ --- -title: BDSX -sidebar_position: 3 +title: 概述 --- -# BDSX - BDSX 是一个支持 Node.js 的 Minecraft 基岩版专用服务器(BDS)修改版本。基于官方 BDS 实现,包含了原版 Minecraft 的所有特性,并支持 Hook 函数与网络数据包以添加或修改服务器的功能与表现。 以下内容为 BDSX 的配置教程 diff --git a/bedrock/bds/process/endstone/_assets/1-1.png b/src/content/docs/bedrock/bds/process/endstone/_assets/1-1.png similarity index 100% rename from bedrock/bds/process/endstone/_assets/1-1.png rename to src/content/docs/bedrock/bds/process/endstone/_assets/1-1.png diff --git a/bedrock/bds/process/endstone/_assets/1-2.png b/src/content/docs/bedrock/bds/process/endstone/_assets/1-2.png similarity index 100% rename from bedrock/bds/process/endstone/_assets/1-2.png rename to src/content/docs/bedrock/bds/process/endstone/_assets/1-2.png diff --git a/bedrock/bds/process/endstone/_assets/1-3.png b/src/content/docs/bedrock/bds/process/endstone/_assets/1-3.png similarity index 100% rename from bedrock/bds/process/endstone/_assets/1-3.png rename to src/content/docs/bedrock/bds/process/endstone/_assets/1-3.png diff --git a/bedrock/bds/process/endstone/_assets/1-4.png b/src/content/docs/bedrock/bds/process/endstone/_assets/1-4.png similarity index 100% rename from bedrock/bds/process/endstone/_assets/1-4.png rename to src/content/docs/bedrock/bds/process/endstone/_assets/1-4.png diff --git a/bedrock/bds/process/endstone/_assets/1-5.png b/src/content/docs/bedrock/bds/process/endstone/_assets/1-5.png similarity index 100% rename from bedrock/bds/process/endstone/_assets/1-5.png rename to src/content/docs/bedrock/bds/process/endstone/_assets/1-5.png diff --git a/bedrock/bds/process/endstone/_assets/1-6.png b/src/content/docs/bedrock/bds/process/endstone/_assets/1-6.png similarity index 100% rename from bedrock/bds/process/endstone/_assets/1-6.png rename to src/content/docs/bedrock/bds/process/endstone/_assets/1-6.png diff --git a/bedrock/bds/process/endstone/_assets/1-7.png b/src/content/docs/bedrock/bds/process/endstone/_assets/1-7.png similarity index 100% rename from bedrock/bds/process/endstone/_assets/1-7.png rename to src/content/docs/bedrock/bds/process/endstone/_assets/1-7.png diff --git a/bedrock/bds/process/endstone/_assets/1-8.png b/src/content/docs/bedrock/bds/process/endstone/_assets/1-8.png similarity index 100% rename from bedrock/bds/process/endstone/_assets/1-8.png rename to src/content/docs/bedrock/bds/process/endstone/_assets/1-8.png diff --git a/bedrock/bds/process/endstone/_assets/1-9.png b/src/content/docs/bedrock/bds/process/endstone/_assets/1-9.png similarity index 100% rename from bedrock/bds/process/endstone/_assets/1-9.png rename to src/content/docs/bedrock/bds/process/endstone/_assets/1-9.png diff --git a/bedrock/bds/process/endstone/_assets/1.png b/src/content/docs/bedrock/bds/process/endstone/_assets/1.png similarity index 100% rename from bedrock/bds/process/endstone/_assets/1.png rename to src/content/docs/bedrock/bds/process/endstone/_assets/1.png diff --git a/bedrock/bds/process/endstone/_assets/10.png b/src/content/docs/bedrock/bds/process/endstone/_assets/10.png similarity index 100% rename from bedrock/bds/process/endstone/_assets/10.png rename to src/content/docs/bedrock/bds/process/endstone/_assets/10.png diff --git a/bedrock/bds/process/endstone/_assets/2-1.png b/src/content/docs/bedrock/bds/process/endstone/_assets/2-1.png similarity index 100% rename from bedrock/bds/process/endstone/_assets/2-1.png rename to src/content/docs/bedrock/bds/process/endstone/_assets/2-1.png diff --git a/bedrock/bds/process/endstone/_assets/2-10.png b/src/content/docs/bedrock/bds/process/endstone/_assets/2-10.png similarity index 100% rename from bedrock/bds/process/endstone/_assets/2-10.png rename to src/content/docs/bedrock/bds/process/endstone/_assets/2-10.png diff --git a/bedrock/bds/process/endstone/_assets/2-11.png b/src/content/docs/bedrock/bds/process/endstone/_assets/2-11.png similarity index 100% rename from bedrock/bds/process/endstone/_assets/2-11.png rename to src/content/docs/bedrock/bds/process/endstone/_assets/2-11.png diff --git a/bedrock/bds/process/endstone/_assets/2-2.png b/src/content/docs/bedrock/bds/process/endstone/_assets/2-2.png similarity index 100% rename from bedrock/bds/process/endstone/_assets/2-2.png rename to src/content/docs/bedrock/bds/process/endstone/_assets/2-2.png diff --git a/bedrock/bds/process/endstone/_assets/2-3.png b/src/content/docs/bedrock/bds/process/endstone/_assets/2-3.png similarity index 100% rename from bedrock/bds/process/endstone/_assets/2-3.png rename to src/content/docs/bedrock/bds/process/endstone/_assets/2-3.png diff --git a/bedrock/bds/process/endstone/_assets/2-4.png b/src/content/docs/bedrock/bds/process/endstone/_assets/2-4.png similarity index 100% rename from bedrock/bds/process/endstone/_assets/2-4.png rename to src/content/docs/bedrock/bds/process/endstone/_assets/2-4.png diff --git a/bedrock/bds/process/endstone/_assets/2-5.png b/src/content/docs/bedrock/bds/process/endstone/_assets/2-5.png similarity index 100% rename from bedrock/bds/process/endstone/_assets/2-5.png rename to src/content/docs/bedrock/bds/process/endstone/_assets/2-5.png diff --git a/bedrock/bds/process/endstone/_assets/2-6.png b/src/content/docs/bedrock/bds/process/endstone/_assets/2-6.png similarity index 100% rename from bedrock/bds/process/endstone/_assets/2-6.png rename to src/content/docs/bedrock/bds/process/endstone/_assets/2-6.png diff --git a/bedrock/bds/process/endstone/_assets/2-7.png b/src/content/docs/bedrock/bds/process/endstone/_assets/2-7.png similarity index 100% rename from bedrock/bds/process/endstone/_assets/2-7.png rename to src/content/docs/bedrock/bds/process/endstone/_assets/2-7.png diff --git a/bedrock/bds/process/endstone/_assets/2-8.png b/src/content/docs/bedrock/bds/process/endstone/_assets/2-8.png similarity index 100% rename from bedrock/bds/process/endstone/_assets/2-8.png rename to src/content/docs/bedrock/bds/process/endstone/_assets/2-8.png diff --git a/bedrock/bds/process/endstone/_assets/2-9.png b/src/content/docs/bedrock/bds/process/endstone/_assets/2-9.png similarity index 100% rename from bedrock/bds/process/endstone/_assets/2-9.png rename to src/content/docs/bedrock/bds/process/endstone/_assets/2-9.png diff --git a/bedrock/bds/process/endstone/_assets/2.png b/src/content/docs/bedrock/bds/process/endstone/_assets/2.png similarity index 100% rename from bedrock/bds/process/endstone/_assets/2.png rename to src/content/docs/bedrock/bds/process/endstone/_assets/2.png diff --git a/bedrock/bds/process/endstone/_assets/3.png b/src/content/docs/bedrock/bds/process/endstone/_assets/3.png similarity index 100% rename from bedrock/bds/process/endstone/_assets/3.png rename to src/content/docs/bedrock/bds/process/endstone/_assets/3.png diff --git a/bedrock/bds/process/endstone/_assets/4.png b/src/content/docs/bedrock/bds/process/endstone/_assets/4.png similarity index 100% rename from bedrock/bds/process/endstone/_assets/4.png rename to src/content/docs/bedrock/bds/process/endstone/_assets/4.png diff --git a/bedrock/bds/process/endstone/_assets/5.png b/src/content/docs/bedrock/bds/process/endstone/_assets/5.png similarity index 100% rename from bedrock/bds/process/endstone/_assets/5.png rename to src/content/docs/bedrock/bds/process/endstone/_assets/5.png diff --git a/bedrock/bds/process/endstone/_assets/6.png b/src/content/docs/bedrock/bds/process/endstone/_assets/6.png similarity index 100% rename from bedrock/bds/process/endstone/_assets/6.png rename to src/content/docs/bedrock/bds/process/endstone/_assets/6.png diff --git a/bedrock/bds/process/endstone/_assets/7.png b/src/content/docs/bedrock/bds/process/endstone/_assets/7.png similarity index 100% rename from bedrock/bds/process/endstone/_assets/7.png rename to src/content/docs/bedrock/bds/process/endstone/_assets/7.png diff --git a/bedrock/bds/process/endstone/_assets/8.png b/src/content/docs/bedrock/bds/process/endstone/_assets/8.png similarity index 100% rename from bedrock/bds/process/endstone/_assets/8.png rename to src/content/docs/bedrock/bds/process/endstone/_assets/8.png diff --git a/bedrock/bds/process/endstone/_assets/9.png b/src/content/docs/bedrock/bds/process/endstone/_assets/9.png similarity index 100% rename from bedrock/bds/process/endstone/_assets/9.png rename to src/content/docs/bedrock/bds/process/endstone/_assets/9.png diff --git a/bedrock/bds/process/endstone/endstone-install.md b/src/content/docs/bedrock/bds/process/endstone/install.md similarity index 99% rename from bedrock/bds/process/endstone/endstone-install.md rename to src/content/docs/bedrock/bds/process/endstone/install.md index 5c47a0ff6..a6cea73f0 100644 --- a/bedrock/bds/process/endstone/endstone-install.md +++ b/src/content/docs/bedrock/bds/process/endstone/install.md @@ -1,10 +1,7 @@ --- title: EndStone 安装教程 -sidebar_position: 1 --- -# EndStone 安装教程 - ## 前提要求 你需要在电脑上准备: diff --git a/bedrock/bds/process/endstone/endstone.md b/src/content/docs/bedrock/bds/process/endstone/intro.md similarity index 76% rename from bedrock/bds/process/endstone/endstone.md rename to src/content/docs/bedrock/bds/process/endstone/intro.md index 938c181a9..f713b8995 100644 --- a/bedrock/bds/process/endstone/endstone.md +++ b/src/content/docs/bedrock/bds/process/endstone/intro.md @@ -1,13 +1,10 @@ --- -title: EndStone -sidebar_position: 3 +title: 概述 --- -# EndStone - EndStone 提供类似 Bukkit 插件开发者的友好 API,简化了低层系统 API 和挂钩的处理。可以使用 C++ 或 Python 编写插件。 -EndStone 的很多插件可以在 **MineBBS** 或者 **PyPI** 上查找了,详情请看 [EndStone 安装教程](/bedrock/bds/process/endstone/endstone-plugins)。 +EndStone 的很多插件可以在 **MineBBS** 或者 **PyPI** 上查找了,详情请看 [EndStone 插件安装教程](/bedrock/bds/process/endstone/plugins)。 以下内容为 EndStone 的安装、配置教程 diff --git a/bedrock/bds/process/endstone/endstone-plugins.md b/src/content/docs/bedrock/bds/process/endstone/plugins.md similarity index 99% rename from bedrock/bds/process/endstone/endstone-plugins.md rename to src/content/docs/bedrock/bds/process/endstone/plugins.md index 0b111313d..9edc6a0ee 100644 --- a/bedrock/bds/process/endstone/endstone-plugins.md +++ b/src/content/docs/bedrock/bds/process/endstone/plugins.md @@ -1,6 +1,5 @@ --- title: EndStone 插件安装教程 -sidebar_position: 1 --- ## 第一步、EndStone 插件来源 diff --git a/bedrock/bds/process/process.md b/src/content/docs/bedrock/bds/process/intro.md similarity index 84% rename from bedrock/bds/process/process.md rename to src/content/docs/bedrock/bds/process/intro.md index 70db92950..c9eb53f1a 100644 --- a/bedrock/bds/process/process.md +++ b/src/content/docs/bedrock/bds/process/intro.md @@ -1,10 +1,7 @@ --- -title: 建设阶段 -sidebar_position: 3 +title: 概述 --- -# 建设阶段 - 在这个阶段,你已经了解了基础知识,是时候学习一些进阶知识了。 在这一章我们主要围绕以下几个点: diff --git a/bedrock/bds/process/levilamina/levilamina-install.md b/src/content/docs/bedrock/bds/process/levilamina/install.md similarity index 98% rename from bedrock/bds/process/levilamina/levilamina-install.md rename to src/content/docs/bedrock/bds/process/levilamina/install.md index ecc9566b4..daa30bb2f 100644 --- a/bedrock/bds/process/levilamina/levilamina-install.md +++ b/src/content/docs/bedrock/bds/process/levilamina/install.md @@ -1,10 +1,7 @@ --- title: LeviLamina 安装教程 -sidebar_position: 1 --- -# LeviLamina 安装教程 - ## 方法零:使用笨蛋脚本 首先下载 [安装脚本](https://script.8aka.org/liteloaderbds-install),下载完后右键 **以管理员启动** 即可 diff --git a/bedrock/bds/process/levilamina/levilamina.md b/src/content/docs/bedrock/bds/process/levilamina/intro.md similarity index 80% rename from bedrock/bds/process/levilamina/levilamina.md rename to src/content/docs/bedrock/bds/process/levilamina/intro.md index ce76faec0..8c5caee93 100644 --- a/bedrock/bds/process/levilamina/levilamina.md +++ b/src/content/docs/bedrock/bds/process/levilamina/intro.md @@ -1,10 +1,7 @@ --- -title: LeviLamina -sidebar_position: 3 +title: 概述 --- -# LeviLamina - LeviLamina 是 BDS 核心的一款功能强大的插件加载器,曾被称为 LiteLoaderBDS。 以下内容为 LeviLamina 的配置教程 diff --git a/bedrock/bds/process/levilamina/legacy-script-engine.md b/src/content/docs/bedrock/bds/process/levilamina/legacy-script-engine.md similarity index 98% rename from bedrock/bds/process/levilamina/legacy-script-engine.md rename to src/content/docs/bedrock/bds/process/levilamina/legacy-script-engine.md index e427aa632..c47a6c65d 100644 --- a/bedrock/bds/process/levilamina/legacy-script-engine.md +++ b/src/content/docs/bedrock/bds/process/levilamina/legacy-script-engine.md @@ -1,10 +1,7 @@ --- title: Legacy Script Engine (LSE) -sidebar_position: 2 --- -# Legacy Script Engine (LSE) - ## 什么是 Legacy Script Engine Legacy Script Engine 简称 LSE,是 LeviLamina 上的一系列插件,被用作 LiteLoader Scipt Engine (LLSE) 到 LeviScript (LS) 的过渡。 diff --git a/bedrock/bds/process/levilamina/levilamina-plugins.mdx b/src/content/docs/bedrock/bds/process/levilamina/plugins.mdx similarity index 83% rename from bedrock/bds/process/levilamina/levilamina-plugins.mdx rename to src/content/docs/bedrock/bds/process/levilamina/plugins.mdx index ce9ad1e75..1989d6ab0 100644 --- a/bedrock/bds/process/levilamina/levilamina-plugins.mdx +++ b/src/content/docs/bedrock/bds/process/levilamina/plugins.mdx @@ -1,24 +1,27 @@ --- title: 插件安装教程 -sidebar_position: 1 --- -import StructureExplorer from "@site/src/components/StructureExplorer"; -import { levilamnaPluginStructure } from "@site/src/data/structures"; - -# 插件安装教程 +import { FileTree } from '@astrojs/starlight/components'; ## 插件的结构 LeviLamina 的插件是以文件夹的格式存在的。通常插件文件夹中包含以下内容: - + + +- 插件文件夹 + - manifest.json 插件元数据文件,必须存在且格式正确,LeviLamina 才能识别 + - 插件配置文件和数据库/ 插件生成的配置文件和数据库(常见为 config.json,或 .db / .json 文件、文件夹) + - 插件代码或二进制文件/ 插件源代码,通常为 .js / .lua / .dll 文件,请勿删除、修改或重命名,否则可能导致插件无法运行 + + 通常情况下,你不需要手动修改 `manifest.json` 这个文件,因为插件作者会将它事先配置好。如果有特殊插件需要手动配置这个文件,该插件文档应该会给出相应教程。 ## 使用 lip 安装插件 -如果你还没有安装 lip,可以参考 [上一章的教程](/bedrock/bds/process/levilamina/levilamina-install#准备工作---安装-lip) 。 +如果你还没有安装 lip,可以参考 [上一章的教程](/bedrock/bds/process/levilamina/install#准备工作---安装-lip) 。 要使用 lip 安装插件,你必须确保该插件 **支持通过 lip 安装** 。如果插件文档没有写明任何使用 lip 安装的方法或命令,你就不应该使用 lip 安装该插件。 diff --git a/bedrock/bds/process/liteloader-bds/install.md b/src/content/docs/bedrock/bds/process/liteloader-bds/install.md similarity index 95% rename from bedrock/bds/process/liteloader-bds/install.md rename to src/content/docs/bedrock/bds/process/liteloader-bds/install.md index b155ab4a1..f86fe40ae 100644 --- a/bedrock/bds/process/liteloader-bds/install.md +++ b/src/content/docs/bedrock/bds/process/liteloader-bds/install.md @@ -1,10 +1,7 @@ --- title: LiteLoaderBDS 安装教程 -sidebar_position: 1 --- -# LiteLoaderBDS 安装教程 - ## 下载安装 BDS LiteLoaderBDS 不会自动下载安装对应版本 BDS,你需要手动寻找和下载相应版本的旧版 BDS。 @@ -16,7 +13,7 @@ LiteLoaderBDS 不会自动下载安装对应版本 BDS,你需要手动寻找 :::caution -LiteLoaderBDS 仅适配了 BDS 的 1.20.32 及以下版本。对于更高版本的 BDS 需要使用 [LeviLamina](/bedrock/bds/process/levilamina) 加载器。 +LiteLoaderBDS 仅适配了 BDS 的 1.20.32 及以下版本。对于更高版本的 BDS 需要使用 [LeviLamina](/bedrock/bds/process/levilamina/intro) 加载器。 对于 1.20.40 - 1.20.51 版本,你需要使用其他加载器。如果你只需要兼容 1.20.40 - 1.20.51 的客户端进服,你可以选用 BDS 1.20.32、最新版 LiteLoader 和 Glacie 插件的方案。 ::: diff --git a/bedrock/bds/process/liteloader-bds/liteloader-bds.md b/src/content/docs/bedrock/bds/process/liteloader-bds/intro.md similarity index 87% rename from bedrock/bds/process/liteloader-bds/liteloader-bds.md rename to src/content/docs/bedrock/bds/process/liteloader-bds/intro.md index 55895e980..75df29872 100644 --- a/bedrock/bds/process/liteloader-bds/liteloader-bds.md +++ b/src/content/docs/bedrock/bds/process/liteloader-bds/intro.md @@ -1,11 +1,8 @@ --- -title: LiteLoaderBDS -sidebar_position: 4 +title: 概述 --- -# LiteLoaderBDS - -LiteLoaderBDS 是 BDS 核心的一款功能强大的插件加载器,简称 LL,是 [LeviLamina](/bedrock/bds/process/levilamina) 的前身,**现已停更**。 +LiteLoaderBDS 是 BDS 核心的一款功能强大的插件加载器,简称 LL,是 [LeviLamina](/bedrock/bds/process/levilamina/intro) 的前身,**现已停更**。 :::tip[你知道吗] diff --git a/bedrock/bds/process/liteloader-bds/plugins.md b/src/content/docs/bedrock/bds/process/liteloader-bds/plugins.md similarity index 96% rename from bedrock/bds/process/liteloader-bds/plugins.md rename to src/content/docs/bedrock/bds/process/liteloader-bds/plugins.md index 6162d876f..34142be36 100644 --- a/bedrock/bds/process/liteloader-bds/plugins.md +++ b/src/content/docs/bedrock/bds/process/liteloader-bds/plugins.md @@ -1,10 +1,7 @@ --- title: 插件安装教程 -sidebar_position: 2 --- -# 插件安装教程 - ## 插件的分类 LiteLoaderBDS 的插件共有以下几类: diff --git a/bedrock/bds/process/plugins/_assets/levilamina-is-coming.png b/src/content/docs/bedrock/bds/process/plugins/_assets/levilamina-is-coming.png similarity index 100% rename from bedrock/bds/process/plugins/_assets/levilamina-is-coming.png rename to src/content/docs/bedrock/bds/process/plugins/_assets/levilamina-is-coming.png diff --git a/bedrock/bds/process/plugins/_assets/levilamina-will-archived.png b/src/content/docs/bedrock/bds/process/plugins/_assets/levilamina-will-archived.png similarity index 100% rename from bedrock/bds/process/plugins/_assets/levilamina-will-archived.png rename to src/content/docs/bedrock/bds/process/plugins/_assets/levilamina-will-archived.png diff --git a/bedrock/bds/process/plugins/how-to-load-plugins.md b/src/content/docs/bedrock/bds/process/plugins/how-to-load-plugins.md similarity index 67% rename from bedrock/bds/process/plugins/how-to-load-plugins.md rename to src/content/docs/bedrock/bds/process/plugins/how-to-load-plugins.md index 9cc72acb3..79f85b823 100644 --- a/bedrock/bds/process/plugins/how-to-load-plugins.md +++ b/src/content/docs/bedrock/bds/process/plugins/how-to-load-plugins.md @@ -1,6 +1,5 @@ --- title: 如何加载插件 -sidebar_position: 1 --- # TODO diff --git a/bedrock/bds/process/plugins/plugins.md b/src/content/docs/bedrock/bds/process/plugins/intro.md similarity index 83% rename from bedrock/bds/process/plugins/plugins.md rename to src/content/docs/bedrock/bds/process/plugins/intro.md index 8aa443643..d603de624 100644 --- a/bedrock/bds/process/plugins/plugins.md +++ b/src/content/docs/bedrock/bds/process/plugins/intro.md @@ -1,10 +1,7 @@ --- -title: 插件 -sidebar_position: 1 +title: 概述 --- -# 插件 - **本文档中提到的插件都有较多用户基础和完善的 Wiki,具体插件请查看插件的 Wiki。** 建议阅读: diff --git a/bedrock/bds/process/plugins/plugins-loader-choose.md b/src/content/docs/bedrock/bds/process/plugins/plugins-loader-choose.md similarity index 98% rename from bedrock/bds/process/plugins/plugins-loader-choose.md rename to src/content/docs/bedrock/bds/process/plugins/plugins-loader-choose.md index 92735cd1c..9880ec220 100644 --- a/bedrock/bds/process/plugins/plugins-loader-choose.md +++ b/src/content/docs/bedrock/bds/process/plugins/plugins-loader-choose.md @@ -1,6 +1,5 @@ --- title: 插件加载器选择 -sidebar_position: 2 --- # BDS 社区开发者编写的插件加载器 @@ -146,7 +145,7 @@ import TabItem from '@theme/TabItem'; 总之,在这场 PDB 事件风波不久后,很多基岩版腐竹都转移到 Java 版服务端,以求后路。 -不过,[EndStone](./plugins-loader-choose.md?plugins-loader=endstone#主流加载器) 的出现貌似给基岩版服务端带来了希望。 +不过,[EndStone](#主流加载器) 的出现貌似给基岩版服务端带来了希望。 ### LiteLoader 宣布停更 (2023 年 10 月份) diff --git a/bedrock/super-basic/super-basic.md b/src/content/docs/bedrock/bds/start/basic/intro.md similarity index 85% rename from bedrock/super-basic/super-basic.md rename to src/content/docs/bedrock/bds/start/basic/intro.md index 1c65ad3c7..bfe04df9a 100644 --- a/bedrock/super-basic/super-basic.md +++ b/src/content/docs/bedrock/bds/start/basic/intro.md @@ -1,10 +1,7 @@ --- -title: 超级基础知识 -sidebar_position: 2 +title: 概述 --- -# 超级基础知识 - 考虑到笨蛋教程主要面向新手,我们无法了解你了解什么不了解什么。 本文档暂时就开服最重要的基础概念进行介绍,如果有你自认为非常了解或者不重要的部分, diff --git a/bedrock/bds/start/basic/server-dir-structure.mdx b/src/content/docs/bedrock/bds/start/basic/server-dir-structure.mdx similarity index 83% rename from bedrock/bds/start/basic/server-dir-structure.mdx rename to src/content/docs/bedrock/bds/start/basic/server-dir-structure.mdx index 2fc230e5c..6c7ddceba 100644 --- a/bedrock/bds/start/basic/server-dir-structure.mdx +++ b/src/content/docs/bedrock/bds/start/basic/server-dir-structure.mdx @@ -1,16 +1,39 @@ --- title: 服务端结构 -sidebar_position: 1 --- -import StructureExplorer from "@site/src/components/StructureExplorer"; -import { bdsServerStructure } from "@site/src/data/structures"; - -# 服务端结构 +import { FileTree } from '@astrojs/starlight/components'; 我们先来简单看一眼 BDS **开服后** 的文件夹结构: - + + + +- 服务端文件夹 + - behavior_packs 安装新行为包的文件夹 + - config 基本无实际用途 + - definitions 与群系等世界生成内容相关 + - development_behavior_packs 开发者用行为包目录 + - development_resource_packs 开发者用资源包目录 + - development_skin_packs 开发者用皮肤包目录 + - resource_packs 安装新资源包的文件夹 + - world-templates 世界模板 + - worlds 世界存档目录 + - Bedrock level 世界存档 + - db 存档数据文件夹 + - level_dat 存档设定 + - level.dat_old 存档设定(旧) + - level_name.txt 存档名称 + - allowlist.json 白名单文件 + - bedrock_server.exe 服务端启动程序 + - bedrock_server.pdb 程序数据库文件(调试用) + - bedrock_server_how_to.html 官方使用指南(参考即可) + - permissions.json 管理员(OP)及玩家权限数据 + - release-notes.txt 服务端版本发行说明 + - server.properties 服务端配置文件 + - valid_known_packs.json 已知并允许加载的附加包列表 + + {/* :::note diff --git a/bedrock/bds/start/start.md b/src/content/docs/bedrock/bds/start/intro.md similarity index 72% rename from bedrock/bds/start/start.md rename to src/content/docs/bedrock/bds/start/intro.md index 30f8f7d6b..9021a0bdc 100644 --- a/bedrock/bds/start/start.md +++ b/src/content/docs/bedrock/bds/start/intro.md @@ -1,11 +1,7 @@ --- -title: 开始阶段 -sidebar_position: 2 -sidebar_label: BDS 开始阶段 +title: 概述 --- -# 开始阶段 - 在这个阶段,我们主要为你介绍服务器基础知识,如何区别客户端和服务端、如何选择服务端、如何搭建并连接等。 import DocCardList from '@theme/DocCardList'; diff --git a/bedrock/misc/_assets/dragonfly.png b/src/content/docs/bedrock/misc/_assets/dragonfly.png similarity index 100% rename from bedrock/misc/_assets/dragonfly.png rename to src/content/docs/bedrock/misc/_assets/dragonfly.png diff --git a/bedrock/misc/allay/description.md b/src/content/docs/bedrock/misc/allay.md similarity index 98% rename from bedrock/misc/allay/description.md rename to src/content/docs/bedrock/misc/allay.md index 4ecfc2fdd..6bbce170a 100644 --- a/bedrock/misc/allay/description.md +++ b/src/content/docs/bedrock/misc/allay.md @@ -1,6 +1,5 @@ --- -title: Allay 核心介绍 -sidebar_position: 1 +title: Allay 核心 --- ![AllayMClogo](https://www.minebbs.com/data/attachments/75/75565-950caff3b64670c4eee997d282381218.jpg) @@ -13,7 +12,7 @@ sidebar_position: 1
    -## 介绍 +## 什么是 Allay Allay 是使用 Java 编写的 Minecraft: Bedrock Edition 第三方服务端软件,目标通过精心设计的架构来在保持高性能的同时保持高扩展性。 diff --git a/bedrock/misc/dragonfly.md b/src/content/docs/bedrock/misc/dragonfly.md similarity index 91% rename from bedrock/misc/dragonfly.md rename to src/content/docs/bedrock/misc/dragonfly.md index 0fa050fc7..f82db203b 100644 --- a/bedrock/misc/dragonfly.md +++ b/src/content/docs/bedrock/misc/dragonfly.md @@ -1,6 +1,5 @@ --- -title: Dragonfly 核心介绍 -sidebar_position: 1 +title: Dragonfly 核心 --- ![DragonflyLogo](./_assets/dragonfly.png) diff --git a/bedrock/misc/mcpeserver.md b/src/content/docs/bedrock/misc/mcpeserver.md similarity index 96% rename from bedrock/misc/mcpeserver.md rename to src/content/docs/bedrock/misc/mcpeserver.md index 290699ba5..d96ae0124 100644 --- a/bedrock/misc/mcpeserver.md +++ b/src/content/docs/bedrock/misc/mcpeserver.md @@ -1,6 +1,5 @@ --- -title: MCPEServer 核心介绍 -sidebar_position: 1 +title: MCPEServer 核心 --- ## 什么是 MCPEServer diff --git a/bedrock/waterdogepe/preparation.md b/src/content/docs/bedrock/misc/preparation/intro.md similarity index 83% rename from bedrock/waterdogepe/preparation.md rename to src/content/docs/bedrock/misc/preparation/intro.md index 99287998f..6309d7236 100644 --- a/bedrock/waterdogepe/preparation.md +++ b/src/content/docs/bedrock/misc/preparation/intro.md @@ -1,11 +1,7 @@ --- -title: 准备工作 -sidebar_position: 1 -sidebar_label: WaterdogPE 准备工作 +title: 概述 --- -# 准备工作 - 在正式开 Minecraft 服务器之前,请一定确认已经准备好了以下必备软件或网页: import DocCardList from '@theme/DocCardList'; diff --git a/bedrock/misc/preparation/websites.md b/src/content/docs/bedrock/misc/preparation/websites.md similarity index 96% rename from bedrock/misc/preparation/websites.md rename to src/content/docs/bedrock/misc/preparation/websites.md index f1509e06d..2a318bd7b 100644 --- a/bedrock/misc/preparation/websites.md +++ b/src/content/docs/bedrock/misc/preparation/websites.md @@ -1,11 +1,7 @@ --- title: 可能用到的网站 -sidebar_position: 1 -sidebar_label: 其他基岩版服务器可能用到的网站 --- -# 可能用到的网站 - 开服不能只是从某一网站或者简单百度、Bing、谷歌获取资源,这样获取的资源种类非常贫乏。 以下是一些可供参考的推荐网站: diff --git a/bedrock/nukkit/history.md b/src/content/docs/bedrock/nukkit/intro.md similarity index 99% rename from bedrock/nukkit/history.md rename to src/content/docs/bedrock/nukkit/intro.md index b128c8b5c..46225db0b 100644 --- a/bedrock/nukkit/history.md +++ b/src/content/docs/bedrock/nukkit/intro.md @@ -1,6 +1,5 @@ --- -title: Nukkit 核心介绍 -sidebar_position: 1 +title: 概述 --- import Tabs from '@theme/Tabs'; diff --git a/bedrock/pocketmine/preparation/preparation.md b/src/content/docs/bedrock/nukkit/preparation/intro.md similarity index 83% rename from bedrock/pocketmine/preparation/preparation.md rename to src/content/docs/bedrock/nukkit/preparation/intro.md index 94b97b5d2..6309d7236 100644 --- a/bedrock/pocketmine/preparation/preparation.md +++ b/src/content/docs/bedrock/nukkit/preparation/intro.md @@ -1,11 +1,7 @@ --- -title: 准备工作 -sidebar_position: 1 -sidebar_label: PocketMine 准备工作 +title: 概述 --- -# 准备工作 - 在正式开 Minecraft 服务器之前,请一定确认已经准备好了以下必备软件或网页: import DocCardList from '@theme/DocCardList'; diff --git a/bedrock/nukkit/preparation/websites.md b/src/content/docs/bedrock/nukkit/preparation/websites.md similarity index 97% rename from bedrock/nukkit/preparation/websites.md rename to src/content/docs/bedrock/nukkit/preparation/websites.md index da04c8d41..5ba647dd9 100644 --- a/bedrock/nukkit/preparation/websites.md +++ b/src/content/docs/bedrock/nukkit/preparation/websites.md @@ -1,11 +1,7 @@ --- title: 可能用到的网站 -sidebar_position: 1 -sidebar_label: Nukkit 可能用到的网站 --- -# 可能用到的网站 - 开服不能只是从某一网站或者简单百度、Bing、谷歌获取资源,这样获取的资源种类非常贫乏。 以下是一些可供参考的推荐网站: diff --git a/bedrock/bds/start/basic/basic.md b/src/content/docs/bedrock/nukkit/start/basic/intro.md similarity index 81% rename from bedrock/bds/start/basic/basic.md rename to src/content/docs/bedrock/nukkit/start/basic/intro.md index 393236c9f..bfe04df9a 100644 --- a/bedrock/bds/start/basic/basic.md +++ b/src/content/docs/bedrock/nukkit/start/basic/intro.md @@ -1,11 +1,7 @@ --- -title: 基础知识 -sidebar_position: 1 -sidebar_label: BDS 基础知识 +title: 概述 --- -# 基础知识 - 考虑到笨蛋教程主要面向新手,我们无法了解你了解什么不了解什么。 本文档暂时就开服最重要的基础概念进行介绍,如果有你自认为非常了解或者不重要的部分, diff --git a/bedrock/nukkit/start/basic/server-file-structure.mdx b/src/content/docs/bedrock/nukkit/start/basic/server-file-structure.mdx similarity index 78% rename from bedrock/nukkit/start/basic/server-file-structure.mdx rename to src/content/docs/bedrock/nukkit/start/basic/server-file-structure.mdx index c18000492..457861480 100644 --- a/bedrock/nukkit/start/basic/server-file-structure.mdx +++ b/src/content/docs/bedrock/nukkit/start/basic/server-file-structure.mdx @@ -1,16 +1,34 @@ --- title: 服务端结构 -sidebar_position: 1 --- -import StructureExplorer from "@site/src/components/StructureExplorer"; -import { nukitServerStructure } from "@site/src/data/structures"; - -# 服务端结构 +import { FileTree } from '@astrojs/starlight/components'; 我们先来简单看一眼 Nukkit **开服后** 的文件夹结构(大致结构是这样,部分分支会因为加了不同的功能结构会不一样): - + + +- 服务端文件夹 + - nukkit-1.0-SNAPSHOT.jar 服务器核心 + - start.bat Windows 启动脚本 + - start.sh Linux 启动脚本 + - start.command macOS 启动脚本 + - server.properties 服务端配置文件 + - permissions.yml 玩家权限配置 + - banned-players.txt 被封禁的玩家列表 + - banned-ips.txt 被封禁的 IP 地址 + - ops.txt 管理员(OP)列表 + - worlds 世界存档目录 + - world 世界存档 + - level.dat 世界设定 + - region 区块数据 + - entities 实体数据 + - plugins 插件存放目录 + - logs 服务器日志 + - whitelist.txt 白名单玩家列表 + - rcon_password.txt RCON(远程控制)密码 + + {/* :::note diff --git a/bedrock/nukkit/start/start.md b/src/content/docs/bedrock/nukkit/start/intro.md similarity index 71% rename from bedrock/nukkit/start/start.md rename to src/content/docs/bedrock/nukkit/start/intro.md index 910e85727..9021a0bdc 100644 --- a/bedrock/nukkit/start/start.md +++ b/src/content/docs/bedrock/nukkit/start/intro.md @@ -1,11 +1,7 @@ --- -title: 开始阶段 -sidebar_position: 2 -sidebar_label: Nukkit 开始阶段 +title: 概述 --- -# 开始阶段 - 在这个阶段,我们主要为你介绍服务器基础知识,如何区别客户端和服务端、如何选择服务端、如何搭建并连接等。 import DocCardList from '@theme/DocCardList'; diff --git a/bedrock/nukkit/start/nukkitmot/description.md b/src/content/docs/bedrock/nukkit/start/nukkitmot.md similarity index 94% rename from bedrock/nukkit/start/nukkitmot/description.md rename to src/content/docs/bedrock/nukkit/start/nukkitmot.md index 5738c2cf1..36ad947de 100644 --- a/bedrock/nukkit/start/nukkitmot/description.md +++ b/src/content/docs/bedrock/nukkit/start/nukkitmot.md @@ -1,6 +1,5 @@ --- -title: Nukkit-MOT 核心介绍 -sidebar_position: 1 +title: Nukkit-MOT 核心 --- ![Nukkit-MOTLogo](https://www.minebbs.com/attachments/banner-jpg.53465/) diff --git a/bedrock/nukkit/start/nukkitx/description.md b/src/content/docs/bedrock/nukkit/start/nukkitx.md similarity index 95% rename from bedrock/nukkit/start/nukkitx/description.md rename to src/content/docs/bedrock/nukkit/start/nukkitx.md index 8066fc1a1..e9e3e6db3 100644 --- a/bedrock/nukkit/start/nukkitx/description.md +++ b/src/content/docs/bedrock/nukkit/start/nukkitx.md @@ -1,6 +1,5 @@ --- -title: NukkitX 核心介绍 -sidebar_position: 1 +title: NukkitX 核心 --- ![NukkitXLogo](https://www.minebbs.com/attachments/banner-png.21695/) diff --git a/bedrock/nukkit/start/pm1e/_assets/controversy.png b/src/content/docs/bedrock/nukkit/start/pm1e/_assets/controversy.png similarity index 100% rename from bedrock/nukkit/start/pm1e/_assets/controversy.png rename to src/content/docs/bedrock/nukkit/start/pm1e/_assets/controversy.png diff --git a/bedrock/nukkit/start/pm1e/controversy.md b/src/content/docs/bedrock/nukkit/start/pm1e/controversy.md similarity index 98% rename from bedrock/nukkit/start/pm1e/controversy.md rename to src/content/docs/bedrock/nukkit/start/pm1e/controversy.md index faeee03f8..4c905885c 100644 --- a/bedrock/nukkit/start/pm1e/controversy.md +++ b/src/content/docs/bedrock/nukkit/start/pm1e/controversy.md @@ -1,6 +1,5 @@ --- title: PM1E 争议问题 -sidebar_position: 1 --- :::caution diff --git a/bedrock/nukkit/start/pm1e/description.md b/src/content/docs/bedrock/nukkit/start/pm1e/intro.md similarity index 96% rename from bedrock/nukkit/start/pm1e/description.md rename to src/content/docs/bedrock/nukkit/start/pm1e/intro.md index af2bf71df..6a22bc94c 100644 --- a/bedrock/nukkit/start/pm1e/description.md +++ b/src/content/docs/bedrock/nukkit/start/pm1e/intro.md @@ -1,6 +1,5 @@ --- -title: PM1E 核心介绍 -sidebar_position: 1 +title: 概述 --- ## 什么是 NukkitPetteriM1Edition diff --git a/bedrock/nukkit/start/pnx/description.md b/src/content/docs/bedrock/nukkit/start/pnx.md similarity index 97% rename from bedrock/nukkit/start/pnx/description.md rename to src/content/docs/bedrock/nukkit/start/pnx.md index fccd6020e..2a74fda1f 100644 --- a/bedrock/nukkit/start/pnx/description.md +++ b/src/content/docs/bedrock/nukkit/start/pnx.md @@ -1,6 +1,5 @@ --- -title: PowerNukkitX 核心介绍 -sidebar_position: 1 +title: PowerNukkitX 核心 --- ![PowerNukkitXLogo](https://www.minebbs.com/attachments/pnx_banner-png.25436/) diff --git a/bedrock/pocketmine/description.md b/src/content/docs/bedrock/pocketmine/intro.md similarity index 99% rename from bedrock/pocketmine/description.md rename to src/content/docs/bedrock/pocketmine/intro.md index 7e7907bce..354691825 100644 --- a/bedrock/pocketmine/description.md +++ b/src/content/docs/bedrock/pocketmine/intro.md @@ -1,6 +1,5 @@ --- -title: PocketMine 核心介绍 -sidebar_position: 1 +title: 概述 --- import Tabs from '@theme/Tabs'; diff --git a/bedrock/pocketmine/preparation/choose-and-download-and-install-php.md b/src/content/docs/bedrock/pocketmine/preparation/choose-and-download-and-install-php.md similarity index 94% rename from bedrock/pocketmine/preparation/choose-and-download-and-install-php.md rename to src/content/docs/bedrock/pocketmine/preparation/choose-and-download-and-install-php.md index fdd59ff06..331eef686 100644 --- a/bedrock/pocketmine/preparation/choose-and-download-and-install-php.md +++ b/src/content/docs/bedrock/pocketmine/preparation/choose-and-download-and-install-php.md @@ -1,10 +1,7 @@ --- title: 选择、下载和安装 PHP -sidebar_position: 1 --- -# 选择、下载和安装 PHP - :::tip PHP 安装等待有缘人进行补充修改...... diff --git a/src/content/docs/bedrock/pocketmine/preparation/intro.md b/src/content/docs/bedrock/pocketmine/preparation/intro.md new file mode 100644 index 000000000..6309d7236 --- /dev/null +++ b/src/content/docs/bedrock/pocketmine/preparation/intro.md @@ -0,0 +1,17 @@ +--- +title: 概述 +--- + +在正式开 Minecraft 服务器之前,请一定确认已经准备好了以下必备软件或网页: + +import DocCardList from '@theme/DocCardList'; + + + +其中: + +文档编辑软件能够有效提高编辑插件、核心配置时的效率,降低错误使用语法的可能性; + +网页主要包括了寻找插件、mod、生成 MOTD,生成指令等便捷功能; + +笨蛋脚本主要用于一键式配置文件、安装插件等。 diff --git a/bedrock/pocketmine/preparation/websites.md b/src/content/docs/bedrock/pocketmine/preparation/websites.md similarity index 97% rename from bedrock/pocketmine/preparation/websites.md rename to src/content/docs/bedrock/pocketmine/preparation/websites.md index 89bf217b7..aa597b667 100644 --- a/bedrock/pocketmine/preparation/websites.md +++ b/src/content/docs/bedrock/pocketmine/preparation/websites.md @@ -1,11 +1,7 @@ --- title: 可能用到的网站 -sidebar_position: 1 -sidebar_label: PocketMine 可能用到的网站 --- -# 可能用到的网站 - 开服不能只是从某一网站或者简单百度、Bing、谷歌获取资源,这样获取的资源种类非常贫乏。 以下是一些可供参考的推荐网站: diff --git a/bedrock/super-basic/_assets/bedrock-core-running.png b/src/content/docs/bedrock/super-basic/_assets/bedrock-core-running.png similarity index 100% rename from bedrock/super-basic/_assets/bedrock-core-running.png rename to src/content/docs/bedrock/super-basic/_assets/bedrock-core-running.png diff --git a/bedrock/super-basic/_assets/nukkit-core-running.png b/src/content/docs/bedrock/super-basic/_assets/nukkit-core-running.png similarity index 100% rename from bedrock/super-basic/_assets/nukkit-core-running.png rename to src/content/docs/bedrock/super-basic/_assets/nukkit-core-running.png diff --git a/bedrock/super-basic/_assets/pocketminemp-core-running.png b/src/content/docs/bedrock/super-basic/_assets/pocketminemp-core-running.png similarity index 100% rename from bedrock/super-basic/_assets/pocketminemp-core-running.png rename to src/content/docs/bedrock/super-basic/_assets/pocketminemp-core-running.png diff --git a/bedrock/super-basic/_assets/powernukkitx-core-rip.png b/src/content/docs/bedrock/super-basic/_assets/powernukkitx-core-rip.png similarity index 100% rename from bedrock/super-basic/_assets/powernukkitx-core-rip.png rename to src/content/docs/bedrock/super-basic/_assets/powernukkitx-core-rip.png diff --git a/bedrock/super-basic/_assets/powernukkitx-core-running.png b/src/content/docs/bedrock/super-basic/_assets/powernukkitx-core-running.png similarity index 100% rename from bedrock/super-basic/_assets/powernukkitx-core-running.png rename to src/content/docs/bedrock/super-basic/_assets/powernukkitx-core-running.png diff --git a/bedrock/nukkit/start/basic/basic.md b/src/content/docs/bedrock/super-basic/intro.md similarity index 81% rename from bedrock/nukkit/start/basic/basic.md rename to src/content/docs/bedrock/super-basic/intro.md index 5d8315003..bfe04df9a 100644 --- a/bedrock/nukkit/start/basic/basic.md +++ b/src/content/docs/bedrock/super-basic/intro.md @@ -1,11 +1,7 @@ --- -title: 基础知识 -sidebar_position: 1 -sidebar_label: Nukkit 基础知识 +title: 概述 --- -# 基础知识 - 考虑到笨蛋教程主要面向新手,我们无法了解你了解什么不了解什么。 本文档暂时就开服最重要的基础概念进行介绍,如果有你自认为非常了解或者不重要的部分, diff --git a/bedrock/super-basic/protocol-version-number.md b/src/content/docs/bedrock/super-basic/protocol-version-number.md similarity index 97% rename from bedrock/super-basic/protocol-version-number.md rename to src/content/docs/bedrock/super-basic/protocol-version-number.md index 1102426eb..ffd2b1f12 100644 --- a/bedrock/super-basic/protocol-version-number.md +++ b/src/content/docs/bedrock/super-basic/protocol-version-number.md @@ -1,10 +1,7 @@ --- title: 协议版本 -sidebar_position: 3 --- -# 协议版本 - Minecraft Wiki 中有对该概念的 [详细介绍](https://zh.minecraft.wiki/w/%E5%8D%8F%E8%AE%AE%E7%89%88%E6%9C%AC) 。本文将讲解开服过程中需要注意的重点内容。 简单来说,协议版本就像客户端与服务器之间的语言版本。把旧版协议比作老奶奶,比如“古代人”1.20.50 讲的是“古汉语”协议 630,而你 1.20.60 讲的是“现代汉语”协议 649。 diff --git a/bedrock/super-basic/server-core-choose.md b/src/content/docs/bedrock/super-basic/server-core-choose.md similarity index 97% rename from bedrock/super-basic/server-core-choose.md rename to src/content/docs/bedrock/super-basic/server-core-choose.md index 781e79211..aa91b4257 100644 --- a/bedrock/super-basic/server-core-choose.md +++ b/src/content/docs/bedrock/super-basic/server-core-choose.md @@ -1,10 +1,7 @@ --- title: 服务器核心选择 -sidebar_position: 1 --- -# 服务器核心选择 - import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; @@ -38,7 +35,7 @@ import TabItem from '@theme/TabItem'; - 定制性有限:与一些第三方服务器端软件相比,BDS 的定制性和扩展性可能 **较为有限**,**不支持插件系统**,限制了服务器的个性化。 - 性能优化:虽然 BDS 性能稳定,但可能在某些方面 (如多核优化) 不如专门的第三方服务器端软件。它的生物运算运行在一个线程上。意味着你的服务器的流畅度主要取决于 **CPU 的单核性能**。 - 这使得地图越大,服务器就越 [卡顿](/start/basic/what-is-lag),不如 Java 版服务端流畅,因为 Java 版服务端 **支持多核运行**。 + 这使得地图越大,服务器就越 [卡顿](/basics/what-is-lag),不如 Java 版服务端流畅,因为 Java 版服务端 **支持多核运行**。 - 高级功能缺失:BDS 可能不支持一些高级功能,如自定义世界生成、高级权限管理等,这些通常需要第三方软件才能实现。 - 内存泄漏:内存占用会 _缓慢_ 增加,有时严重的还会导致 **内存泄漏**。如果强行进行 **内存清理** 的话,会导致玩家在进入 **装有 材质包 / Addon 的服务器** 时 **该玩家客户端无法下载对应内容**,致使下载进度条卡条,只能让腐竹重启服务器解决。 diff --git a/bedrock/super-basic/server-type.md b/src/content/docs/bedrock/super-basic/server-type.md similarity index 98% rename from bedrock/super-basic/server-type.md rename to src/content/docs/bedrock/super-basic/server-type.md index e7e773a84..7327dbcf4 100644 --- a/bedrock/super-basic/server-type.md +++ b/src/content/docs/bedrock/super-basic/server-type.md @@ -1,12 +1,9 @@ --- title: 服务器类型 -sidebar_position: 2 --- -# 服务器类型 - > 目前有五类主流的选择:纯净服 (又名原版服),Addon 服 (仅 BDS),插件服,小游戏服 (插件服的一种),Addon 和 插件混合服 (仅 BDS)。 在 Minecraft 基岩版 的服务器世界中,有多种不同的服务器类型供腐竹选择。每种类型都有其独特的特点和玩法。以下是五种主流的服务器类型,帮助你根据自己服务器的需求做出选择。 diff --git a/bedrock/super-basic/version.md b/src/content/docs/bedrock/super-basic/version.md similarity index 99% rename from bedrock/super-basic/version.md rename to src/content/docs/bedrock/super-basic/version.md index a1932b1f7..128f21fd5 100644 --- a/bedrock/super-basic/version.md +++ b/src/content/docs/bedrock/super-basic/version.md @@ -1,6 +1,5 @@ --- title: 服务器版本选择 -sidebar_position: 4 --- # 选择合适的版本 diff --git a/bedrock/misc/allay/preparation.md b/src/content/docs/bedrock/waterdogepe/preparation.md similarity index 87% rename from bedrock/misc/allay/preparation.md rename to src/content/docs/bedrock/waterdogepe/preparation.md index 272ad8c5b..ea3038d29 100644 --- a/bedrock/misc/allay/preparation.md +++ b/src/content/docs/bedrock/waterdogepe/preparation.md @@ -1,11 +1,7 @@ --- title: 准备工作 -sidebar_position: 1 -sidebar_label: Allay 准备工作 --- -# 准备工作 - 在正式开 Minecraft 服务器之前,请一定确认已经准备好了以下必备软件或网页: import DocCardList from '@theme/DocCardList'; diff --git a/src/content/docs/general/advance/bot/plugin.mdx b/src/content/docs/general/advance/bot/plugin.mdx index 6bbe9d7b4..344c3e0f9 100644 --- a/src/content/docs/general/advance/bot/plugin.mdx +++ b/src/content/docs/general/advance/bot/plugin.mdx @@ -90,11 +90,11 @@ import { TabItem, Tabs } from "@astrojs/starlight/components"; | NeoBot | ![](https://img.shields.io/badge/状态-积极维护-green?style=for-the-badge) | | ---------------- | ---------------------------------------------------------------------------------------------------------------------- | -| 相关链接 | [Github 仓库](https://github.com/NeoVoxelDev/NeoBot) \| [文档站](https://neobot-docs.netlify.app/) | +| 相关链接 | [GitHub 仓库](https://github.com/NeoVoxelDev/NeoBot) \| [文档站](https://neobot-docs.netlify.app/) | | 作者 | [NeoVoxelDev](https://github.com/NeoVoxelDev) | | 支持 **Java 版** | Bukkit 及其分支 \| Folia \| Velocity | | 介绍 | 一个轻量级、模块化且支持脚本化的 QQ 机器人插件,作为 AQQBot 的继任者,提供全功能脚本化能力,赋予用户高度自定义的灵活性 | -| 下载 | [Github](https://github.com/NeoVoxelDev/NeoBot/releases) | +| 下载 | [GitHub](https://github.com/NeoVoxelDev/NeoBot/releases) | diff --git a/src/content/docs/java/process/mobile-player/geyser/upgrade/extended/fix.mdx b/src/content/docs/java/process/mobile-player/geyser/upgrade/extended/fix.mdx index cfdd096ad..0a80802d7 100644 --- a/src/content/docs/java/process/mobile-player/geyser/upgrade/extended/fix.mdx +++ b/src/content/docs/java/process/mobile-player/geyser/upgrade/extended/fix.mdx @@ -161,11 +161,13 @@ Broadcaster 通过模拟 Xbox Live 客户端,将你的 Geyser/基岩版服务 2. **安装扩展** + - 服务器根目录/ - plugins/ - Geyser-Spigot/ - extensions/ Geyser 扩展文件夹 - MCXboxBroadcastExtension.jar Xbox 直播扩展 + 3. **重启服务器** diff --git a/src/content/docs/java/process/plugin/more/plugin-build/intro.mdx b/src/content/docs/java/process/plugin/more/plugin-build/intro.mdx index ccc7370b3..9afc51af7 100644 --- a/src/content/docs/java/process/plugin/more/plugin-build/intro.mdx +++ b/src/content/docs/java/process/plugin/more/plugin-build/intro.mdx @@ -69,6 +69,7 @@ import { FileTree } from '@astrojs/starlight/components'; #### Maven 项目结构 + - 项目根目录/ - src/ 源代码目录 - main/ 主要代码目录 @@ -90,11 +91,13 @@ import { FileTree } from '@astrojs/starlight/components'; - target/ 构建输出目录 - pom.xml Maven 项目配置文件 - README.md 项目说明文件 + #### Gradle 项目结构 + - 项目根目录/ - src/ 源代码目录 - main/ 主要代码目录 @@ -124,6 +127,7 @@ import { FileTree } from '@astrojs/starlight/components'; - gradlew Gradle 包装器脚本 (Unix) - gradlew.bat Gradle 包装器脚本 (Windows) - README.md 项目说明文件 + ### 重要文件说明 diff --git a/src/content/docs/java/start/server-dir-structure.mdx b/src/content/docs/java/start/server-dir-structure.mdx index a6a79a5d3..cf4b0bcd7 100644 --- a/src/content/docs/java/start/server-dir-structure.mdx +++ b/src/content/docs/java/start/server-dir-structure.mdx @@ -10,6 +10,7 @@ import { FileTree } from '@astrojs/starlight/components'; 我们先来简单看一眼 插件端 的文件夹结构 (以 Purpur 为例): + - assets/ 储存 Minecraft 资源文件,不要乱动 - cache/ 缓存文件夹 - config/ Paper 服务器配置文件 @@ -56,6 +57,7 @@ import { FileTree } from '@astrojs/starlight/components'; - usercache.json 玩家名称和 UUID 缓存 - version_history 版本信息记录 - whitelist.json 白名单列表 + 对于类似 Catserver 的混合服务器,文件夹结构是类似的,基本就多了 `/mods` 文件夹,少了 Bukkit 的下游服务器特有的配置 (如 `purpur.yml` 等)。 From 7bac201450a17508825b7178cd21cf2ac53a1530 Mon Sep 17 00:00:00 2001 From: MrlingXD <90316914+wling-art@users.noreply.github.com> Date: Thu, 8 Jan 2026 16:56:44 +0800 Subject: [PATCH 10/42] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20=E8=BF=81=E7=A7=BB?= =?UTF-8?q?=20Tabs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 2 ++ .../website/{install.md => install.mdx} | 21 +++++++++---------- .../website/{prepare.md => prepare.mdx} | 3 +-- .../{server-config.md => server-config.mdx} | 3 +-- .../process/{whitelist.md => whitelist.mdx} | 3 +-- ...er-choose.md => plugins-loader-choose.mdx} | 18 +++++++--------- .../bedrock/nukkit/{intro.md => intro.mdx} | 7 +++---- .../pocketmine/{intro.md => intro.mdx} | 7 +++---- ...-core-choose.md => server-core-choose.mdx} | 3 +-- ...> how-to-defend-against-cyber-attacks.mdx} | 9 ++++---- ...ticheatplugins.md => anticheatplugins.mdx} | 3 +-- .../optimize/jvm/{intro.md => intro.mdx} | 3 +-- .../resourcepack/{send.md => send.mdx} | 3 +-- .../{slime-world.md => slime-world.mdx} | 3 +-- ...optional.md => proxy-backend-optional.mdx} | 3 +-- .../velocity-ctd/{setup.md => setup.mdx} | 7 +++---- .../setup/velocity/{setup.md => setup.mdx} | 7 +++---- .../{plugin-config.md => plugin-config.mdx} | 20 ++++++++---------- ...plugin-download.md => plugin-download.mdx} | 12 +++++------ .../{common-usage.md => common-usage.mdx} | 3 +-- tsconfig.json | 5 ++++- 21 files changed, 64 insertions(+), 81 deletions(-) rename general/advance/website/{install.md => install.mdx} (89%) rename general/advance/website/{prepare.md => prepare.mdx} (98%) rename general/advance/website/{server-config.md => server-config.mdx} (99%) rename general/process/{whitelist.md => whitelist.mdx} (97%) rename src/content/docs/bedrock/bds/process/plugins/{plugins-loader-choose.md => plugins-loader-choose.mdx} (97%) rename src/content/docs/bedrock/nukkit/{intro.md => intro.mdx} (99%) rename src/content/docs/bedrock/pocketmine/{intro.md => intro.mdx} (98%) rename src/content/docs/bedrock/super-basic/{server-core-choose.md => server-core-choose.mdx} (99%) rename src/content/docs/general/advance/maintenance/{how-to-defend-against-cyber-attacks.md => how-to-defend-against-cyber-attacks.mdx} (99%) rename src/content/docs/java/advance/maintenance/anticheat/{anticheatplugins.md => anticheatplugins.mdx} (99%) rename src/content/docs/java/advance/maintenance/optimize/jvm/{intro.md => intro.mdx} (98%) rename src/content/docs/java/advance/maintenance/resourcepack/{send.md => send.mdx} (99%) rename src/content/docs/java/advance/{slime-world.md => slime-world.mdx} (98%) rename src/content/docs/java/process/cross-server/plugin/{proxy-backend-optional.md => proxy-backend-optional.mdx} (98%) rename src/content/docs/java/process/cross-server/setup/velocity-ctd/{setup.md => setup.mdx} (98%) rename src/content/docs/java/process/cross-server/setup/velocity/{setup.md => setup.mdx} (97%) rename src/content/docs/java/process/plugin/more/{plugin-config.md => plugin-config.mdx} (90%) rename src/content/docs/java/process/plugin/more/{plugin-download.md => plugin-download.mdx} (93%) rename src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/{common-usage.md => common-usage.mdx} (98%) diff --git a/.gitignore b/.gitignore index 6240da8b1..5e97c0747 100644 --- a/.gitignore +++ b/.gitignore @@ -19,3 +19,5 @@ pnpm-debug.log* # macOS-specific files .DS_Store + +.cache/ \ No newline at end of file diff --git a/general/advance/website/install.md b/general/advance/website/install.mdx similarity index 89% rename from general/advance/website/install.md rename to general/advance/website/install.mdx index a9aa0aa22..a06acef8c 100644 --- a/general/advance/website/install.md +++ b/general/advance/website/install.mdx @@ -3,8 +3,7 @@ title: 安装 sidebar_position: 3 --- -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; +import { TabItem, Tabs } from "@astrojs/starlight/components"; # 安装 @@ -12,8 +11,8 @@ import TabItem from '@theme/TabItem'; ## 下载 - - + + ```bash curl -L "https://github.com/NamelessMC/Nameless/releases/latest/download/nameless-deps-dist.tar.xz" | tar --xz --extract --directory=/var/www/html --file - @@ -24,7 +23,7 @@ wget -O - "https://github.com/NamelessMC/Nameless/releases/latest/download/namel 如果你是 Windows,直接下载解压到网站目录即可 (Apache 通常是 `htdocs`) - + 不推荐这么干,容易爆炸 @@ -34,7 +33,7 @@ git clone --branch v2 https://github.com/NamelessMC/Nameless.git /var/www/html/n ``` - + ```bash # 通过 Composer 安装 @@ -42,7 +41,7 @@ composer create-project namelessmc/nameless /var/www/html/namelessmc ``` - + 1. **安装 Docker Compose** (Debian/Ubuntu): @@ -87,8 +86,8 @@ composer create-project namelessmc/nameless /var/www/html/namelessmc ### 2. 设置文件权限 - - + + ```bash # 设置所有者 @@ -106,7 +105,7 @@ sudo chmod -R 777 /var/www/html/namelessmc/uploads ``` - + ```bash # 设置所有者 @@ -125,7 +124,7 @@ sudo chmod -R 777 /var/www/html/namelessmc/uploads ``` - + ```txt # 通过 FTP 客户端或文件管理器设置权限 diff --git a/general/advance/website/prepare.md b/general/advance/website/prepare.mdx similarity index 98% rename from general/advance/website/prepare.md rename to general/advance/website/prepare.mdx index f9b49b351..32b229f23 100644 --- a/general/advance/website/prepare.md +++ b/general/advance/website/prepare.mdx @@ -3,8 +3,7 @@ title: 准备 sidebar_position: 1 --- -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; +import { TabItem, Tabs } from "@astrojs/starlight/components"; # 准备 diff --git a/general/advance/website/server-config.md b/general/advance/website/server-config.mdx similarity index 99% rename from general/advance/website/server-config.md rename to general/advance/website/server-config.mdx index 2d5b6c287..893ca7ca3 100644 --- a/general/advance/website/server-config.md +++ b/general/advance/website/server-config.mdx @@ -3,8 +3,7 @@ title: 服务器配置 sidebar_position: 2 --- -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; +import { TabItem, Tabs } from "@astrojs/starlight/components"; # 服务器配置 diff --git a/general/process/whitelist.md b/general/process/whitelist.mdx similarity index 97% rename from general/process/whitelist.md rename to general/process/whitelist.mdx index ebb3a7259..8e56ba413 100644 --- a/general/process/whitelist.md +++ b/general/process/whitelist.mdx @@ -17,8 +17,7 @@ sidebar_position: 7 你需要先在服务端配置文件中打开白名单功能才能使用 -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; +import { TabItem, Tabs } from "@astrojs/starlight/components"; diff --git a/src/content/docs/bedrock/bds/process/plugins/plugins-loader-choose.md b/src/content/docs/bedrock/bds/process/plugins/plugins-loader-choose.mdx similarity index 97% rename from src/content/docs/bedrock/bds/process/plugins/plugins-loader-choose.md rename to src/content/docs/bedrock/bds/process/plugins/plugins-loader-choose.mdx index 9880ec220..4c1d8e8ce 100644 --- a/src/content/docs/bedrock/bds/process/plugins/plugins-loader-choose.md +++ b/src/content/docs/bedrock/bds/process/plugins/plugins-loader-choose.mdx @@ -4,14 +4,13 @@ title: 插件加载器选择 # BDS 社区开发者编写的插件加载器 -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; +import { TabItem, Tabs } from "@astrojs/starlight/components"; ## 主流加载器 - +{/* */} - +{/* */} @@ -56,11 +55,11 @@ import TabItem from '@theme/TabItem'; - +{/* */} ## 官方提供的脚本加载器 - +{/* */} @@ -78,12 +77,11 @@ import TabItem from '@theme/TabItem'; - +{/* */} ## 寿终正寝の加载器 - - +{/* */} @@ -113,7 +111,7 @@ import TabItem from '@theme/TabItem'; - +{/* */} ## 相关历史 diff --git a/src/content/docs/bedrock/nukkit/intro.md b/src/content/docs/bedrock/nukkit/intro.mdx similarity index 99% rename from src/content/docs/bedrock/nukkit/intro.md rename to src/content/docs/bedrock/nukkit/intro.mdx index 46225db0b..3aed15d35 100644 --- a/src/content/docs/bedrock/nukkit/intro.md +++ b/src/content/docs/bedrock/nukkit/intro.mdx @@ -2,8 +2,7 @@ title: 概述 --- -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; +import { TabItem, Tabs } from "@astrojs/starlight/components"; :::tip @@ -43,7 +42,7 @@ Nukkit 拥有相当丰富的社区分支,例如 PM1E、PowerNukkit 和 PowerNu ### 主流服务端 - +{/* */} @@ -142,4 +141,4 @@ Nukkit 拥有相当丰富的社区分支,例如 PM1E、PowerNukkit 和 PowerNu - +{/* */} diff --git a/src/content/docs/bedrock/pocketmine/intro.md b/src/content/docs/bedrock/pocketmine/intro.mdx similarity index 98% rename from src/content/docs/bedrock/pocketmine/intro.md rename to src/content/docs/bedrock/pocketmine/intro.mdx index 354691825..fd15db9e5 100644 --- a/src/content/docs/bedrock/pocketmine/intro.md +++ b/src/content/docs/bedrock/pocketmine/intro.mdx @@ -2,8 +2,7 @@ title: 概述 --- -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; +import { TabItem, Tabs } from "@astrojs/starlight/components"; :::tip @@ -29,7 +28,7 @@ PMMP 是 PocketMine-MP 的分支,由 PMMP 团队负责更新维护,目前已 ### 主流服务端 - +{/* */} @@ -142,4 +141,4 @@ NitWiki 仅提供关于 PocketMine-MP 分支的信息和教程,但不对其项 - +{/* */} diff --git a/src/content/docs/bedrock/super-basic/server-core-choose.md b/src/content/docs/bedrock/super-basic/server-core-choose.mdx similarity index 99% rename from src/content/docs/bedrock/super-basic/server-core-choose.md rename to src/content/docs/bedrock/super-basic/server-core-choose.mdx index aa91b4257..f692084f4 100644 --- a/src/content/docs/bedrock/super-basic/server-core-choose.md +++ b/src/content/docs/bedrock/super-basic/server-core-choose.mdx @@ -2,8 +2,7 @@ title: 服务器核心选择 --- -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; +import { TabItem, Tabs } from "@astrojs/starlight/components"; diff --git a/src/content/docs/general/advance/maintenance/how-to-defend-against-cyber-attacks.md b/src/content/docs/general/advance/maintenance/how-to-defend-against-cyber-attacks.mdx similarity index 99% rename from src/content/docs/general/advance/maintenance/how-to-defend-against-cyber-attacks.md rename to src/content/docs/general/advance/maintenance/how-to-defend-against-cyber-attacks.mdx index d73c6d3be..ea72f9bd7 100644 --- a/src/content/docs/general/advance/maintenance/how-to-defend-against-cyber-attacks.md +++ b/src/content/docs/general/advance/maintenance/how-to-defend-against-cyber-attacks.mdx @@ -172,7 +172,7 @@ connection_throttle_limit: 3 以下是推荐的反机器人插件列表 - +{/* */} | 名称 | 介绍 | 支持平台 | 缺点 | | ------------------------------------------------------------ | ------------------------------------------------------------ | -------------------------------------------------------- | -------------------------------------------------------- | @@ -182,7 +182,7 @@ connection_throttle_limit: 3 | [EpicGuard](https://github.com/4drian3d/EpicGuard) | 基于事件的反机器人和反 VPN 插件 | Waterfall (停止维护),Paper,Velocity | 容易绕过 (但没那么烦人),且只支持特定的 Paper 服务端。 | | [AntiAttackRL](https://github.com/AntiAttackMC/AATRL_Public) | 支持多平台的 AntiBot 插件 | Bukkit,BungeeCord,Folia,Sponge,Velocity 与它们的分支 | 受攻击时新玩家无法直接进入,需要管理员操作; 防御方案过时 | - +{/* */} :::caution @@ -267,8 +267,7 @@ NullCordX 是一个较好的选择。 那些在 CF 上 A (或 AAAA,CNAME) 过去到源站 (可能配上 SRV) 就是 **自欺欺人,完全没用**,CF 压根不会代理这些端口和协议的流量,开小黄云也一样 -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; +import { TabItem, Tabs } from "@astrojs/starlight/components"; @@ -481,7 +480,7 @@ Cloudflare Spectrum 目前是没中国节点的 因为在开服圈子的任何一处这种方法都是一种十分自私、对同行极不负责任的行为。 你的行为可能会导致相应的内网穿透运营商突然出现大量额外支出,并影响大量使用同一节点的人正常使用服务 (如果节点被打死了,那么攻击者就是在攻击你的过程中误伤了大量其他无辜用户)。不要因为你图省事的想法牵连无辜的陌生人。 - +{/* ![](_assets/angryopenfrp.jpg) */} ::: diff --git a/src/content/docs/java/advance/maintenance/anticheat/anticheatplugins.md b/src/content/docs/java/advance/maintenance/anticheat/anticheatplugins.mdx similarity index 99% rename from src/content/docs/java/advance/maintenance/anticheat/anticheatplugins.md rename to src/content/docs/java/advance/maintenance/anticheat/anticheatplugins.mdx index 14d6fb112..40224bac9 100644 --- a/src/content/docs/java/advance/maintenance/anticheat/anticheatplugins.md +++ b/src/content/docs/java/advance/maintenance/anticheat/anticheatplugins.mdx @@ -30,8 +30,7 @@ SkAc 反作弊的交流群:672827899 ### 主流反作弊插件 -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; +import { TabItem, Tabs } from "@astrojs/starlight/components"; diff --git a/src/content/docs/java/advance/maintenance/optimize/jvm/intro.md b/src/content/docs/java/advance/maintenance/optimize/jvm/intro.mdx similarity index 98% rename from src/content/docs/java/advance/maintenance/optimize/jvm/intro.md rename to src/content/docs/java/advance/maintenance/optimize/jvm/intro.mdx index 81dfe3279..b78cffaf0 100644 --- a/src/content/docs/java/advance/maintenance/optimize/jvm/intro.md +++ b/src/content/docs/java/advance/maintenance/optimize/jvm/intro.mdx @@ -53,8 +53,7 @@ GraalVM 在 22.3.0 修复了所有已知的 Minecraft 错误 ### 下载 -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; +import { TabItem, Tabs } from "@astrojs/starlight/components"; diff --git a/src/content/docs/java/advance/maintenance/resourcepack/send.md b/src/content/docs/java/advance/maintenance/resourcepack/send.mdx similarity index 99% rename from src/content/docs/java/advance/maintenance/resourcepack/send.md rename to src/content/docs/java/advance/maintenance/resourcepack/send.mdx index 537614a65..577b6f034 100644 --- a/src/content/docs/java/advance/maintenance/resourcepack/send.md +++ b/src/content/docs/java/advance/maintenance/resourcepack/send.mdx @@ -43,8 +43,7 @@ https://ce.gtemc.cn/zh-Hans/getting_start/set_up_host 以下均为 IA 文档中所说的 第三方平台托管 (external-host) -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; +import { TabItem, Tabs } from "@astrojs/starlight/components"; diff --git a/src/content/docs/java/advance/slime-world.md b/src/content/docs/java/advance/slime-world.mdx similarity index 98% rename from src/content/docs/java/advance/slime-world.md rename to src/content/docs/java/advance/slime-world.mdx index 82e254dd0..30e211458 100644 --- a/src/content/docs/java/advance/slime-world.md +++ b/src/content/docs/java/advance/slime-world.mdx @@ -17,8 +17,7 @@ Slime 世界格式是 Hypixel 开发的一种世界存储格式 ## 下载 -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; +import { TabItem, Tabs } from "@astrojs/starlight/components"; diff --git a/src/content/docs/java/process/cross-server/plugin/proxy-backend-optional.md b/src/content/docs/java/process/cross-server/plugin/proxy-backend-optional.mdx similarity index 98% rename from src/content/docs/java/process/cross-server/plugin/proxy-backend-optional.md rename to src/content/docs/java/process/cross-server/plugin/proxy-backend-optional.mdx index d4932cd11..2059d583f 100644 --- a/src/content/docs/java/process/cross-server/plugin/proxy-backend-optional.md +++ b/src/content/docs/java/process/cross-server/plugin/proxy-backend-optional.mdx @@ -27,8 +27,7 @@ title: 可安装在跨服端或子服 ![BungeeCord](https://img.shields.io/badge/BungeeCord-orange?&style=for-the-badge) ![Velocity](https://img.shields.io/badge/Velocity-blue?&style=for-the-badge) -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; +import { TabItem, Tabs } from "@astrojs/starlight/components"; diff --git a/src/content/docs/java/process/cross-server/setup/velocity-ctd/setup.md b/src/content/docs/java/process/cross-server/setup/velocity-ctd/setup.mdx similarity index 98% rename from src/content/docs/java/process/cross-server/setup/velocity-ctd/setup.md rename to src/content/docs/java/process/cross-server/setup/velocity-ctd/setup.mdx index 179e72de5..81a67cd65 100644 --- a/src/content/docs/java/process/cross-server/setup/velocity-ctd/setup.md +++ b/src/content/docs/java/process/cross-server/setup/velocity-ctd/setup.mdx @@ -2,7 +2,7 @@ title: 搭建 --- - +{/* */} ## 下载 @@ -139,8 +139,7 @@ Velocity-CTD 支持将玩家信息 (如 IP 地址、UUID 和皮肤) 转发到你 你只能选择这些转发格式中的一种。目前不可能"混合匹配"转发模式或同时使用所有转发格式。一般来说,如果你只支持使用 Minecraft 1.13 及更新版本的客户端,请使用 Velocity Modern 转发; 否则,你必须使用 BungeeCord 转发。 -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; +import { TabItem, Tabs } from "@astrojs/starlight/components"; @@ -244,4 +243,4 @@ server-specific-forwarding = { 见 [加入服务器](/java/process/cross-server/join-server) - +{/* */} diff --git a/src/content/docs/java/process/cross-server/setup/velocity/setup.md b/src/content/docs/java/process/cross-server/setup/velocity/setup.mdx similarity index 97% rename from src/content/docs/java/process/cross-server/setup/velocity/setup.md rename to src/content/docs/java/process/cross-server/setup/velocity/setup.mdx index f7ed9f613..b1c4aa26f 100644 --- a/src/content/docs/java/process/cross-server/setup/velocity/setup.md +++ b/src/content/docs/java/process/cross-server/setup/velocity/setup.mdx @@ -2,7 +2,7 @@ title: 搭建 --- - +{/* */} ## 下载 @@ -87,8 +87,7 @@ Velocity 支持将玩家信息 (如 IP 地址、UUID 和皮肤) 转发到你的 你只能选择这些转发格式中的一种。目前不可能“混合匹配”转发模式或同时使用所有转发格式。一般来说,如果你只支持使用 Minecraft 1.13 及更新版本的客户端,请使用 Velocity Modern 转发; 否则,你必须使用 BungeeCord 转发。 -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; +import { TabItem, Tabs } from "@astrojs/starlight/components"; @@ -178,4 +177,4 @@ import TabItem from '@theme/TabItem'; 见 [加入服务器](/java/process/cross-server/join-server) - +{/* */} diff --git a/src/content/docs/java/process/plugin/more/plugin-config.md b/src/content/docs/java/process/plugin/more/plugin-config.mdx similarity index 90% rename from src/content/docs/java/process/plugin/more/plugin-config.md rename to src/content/docs/java/process/plugin/more/plugin-config.mdx index 77bf8834a..97f7d2602 100644 --- a/src/content/docs/java/process/plugin/more/plugin-config.md +++ b/src/content/docs/java/process/plugin/more/plugin-config.mdx @@ -16,8 +16,7 @@ title: 汉化插件 ## 查看插件支持的语言 -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; +import { TabItem, Tabs } from "@astrojs/starlight/components"; @@ -40,18 +39,18 @@ import TabItem from '@theme/TabItem'; 插件文件夹中有类似 Language、lang、locale 之类的文件夹 (或其他东西?): - +{/* */} ![](_assets/查看语言-1.png) 请寻找 zhcn、zh-cn、zh-CN、chinese 等字眼: - - +{/* */} +{/* */} ![](_assets/查看语言-2.png) - +{/* */} 然后一般要去插件配置文件 (多数为 config.yml) 把语言改成这里的文件名 (此处为 zh_cn)。 @@ -63,12 +62,11 @@ import TabItem from '@theme/TabItem'; 如果我们在插件文件夹找不到语言文件夹,可以直接用解压缩软件打开 jar 包: - +{/* */} ![](_assets/查看语言-拆开jar.png) - - +{/* */} 碰到这之外的情况就需要你自己摸索了 @@ -103,13 +101,13 @@ import TabItem from '@theme/TabItem'; 口令参考: - +{/* */} ```txt 请将我给出的以 YAML 格式存储的 Minecraft 插件的配置文件汉化,且不改变本身的可执行性,其中被两个 % 包裹的为变量请不要翻译,请翻译时不要带翻译腔,而是要翻译得自然、流畅和地道,使用优美和高雅的表达方式并代入 Minecraft 游戏内进行翻译,翻译后请以 Markdown 代码块的格式发送 ``` - +{/* */} 备注:本教程并非推荐服主通过 GPT 等 AI 进行机翻,我们不对服主利用 AI 产生文本的行为及其内容负责。 diff --git a/src/content/docs/java/process/plugin/more/plugin-download.md b/src/content/docs/java/process/plugin/more/plugin-download.mdx similarity index 93% rename from src/content/docs/java/process/plugin/more/plugin-download.md rename to src/content/docs/java/process/plugin/more/plugin-download.mdx index 07b7a16f3..aa8f939b3 100644 --- a/src/content/docs/java/process/plugin/more/plugin-download.md +++ b/src/content/docs/java/process/plugin/more/plugin-download.mdx @@ -8,7 +8,7 @@ title: 插件下载 我们在此以 spigotmc.org 为例 (假设你已经注册成功),讲解如何选择插件。 - +{/* */} 1. (_可选,推荐_) 安装一个 SpigotMC 专用的 [搜索引擎](https://fof1092.de/Plugins/SSE/Redirect/),作为浏览器插件安装即可。 @@ -24,12 +24,11 @@ title: 插件下载
    安装搜索引擎后应该长啥样? - +{/* */} ![](_assets/Spigot搜索.png) - - +{/* */}
    1. 查看这些插件的下载次数、最后更新时间、评价分数、插件特性、语言支持、是否开源、是否付费等。 @@ -52,7 +51,7 @@ title: 插件下载 ![](_assets/同类插件评分选择.png) - +{/* */} **_不要装多个同类型插件,不要把 CMI 和 EssentialX 装在一起,也不要一个服务器装 3 ~ 4 个菜单插件!!!_** @@ -70,8 +69,7 @@ TODO **建议** 你用 **最新版本** 的插件,但如果你因为一些原因必须要用旧版的话... -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; +import { TabItem, Tabs } from "@astrojs/starlight/components"; diff --git a/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/common-usage.md b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/common-usage.mdx similarity index 98% rename from src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/common-usage.md rename to src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/common-usage.mdx index 7eb9a207d..ed29ed0ec 100644 --- a/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/common-usage.md +++ b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/common-usage.mdx @@ -57,8 +57,7 @@ title: 常用变量 > https://continue-project.netlify.app/PlaceholderAPI/user-guides.placeholder-list.html#multiverse-core -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; +import { TabItem, Tabs } from "@astrojs/starlight/components"; diff --git a/tsconfig.json b/tsconfig.json index f9cf0d0d5..08afa2e53 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -3,6 +3,9 @@ "include": [".astro/types.d.ts", "**/*"], "exclude": ["dist"], "compilerOptions": { - "resolveJsonModule": true, + "resolveJsonModule": true + }, + "mdx": { + "checkMdx": true } } From b650fd0bad22088af9cefd233b4c84a9335e4d66 Mon Sep 17 00:00:00 2001 From: MrlingXD <90316914+wling-art@users.noreply.github.com> Date: Thu, 8 Jan 2026 16:58:47 +0800 Subject: [PATCH 11/42] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20=E8=BF=81=E7=A7=BB?= =?UTF-8?q?=20DocCardList?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- general/advance/viaproxy/plugins/index.md | 4 ---- general/contribution/contribution.md | 4 ---- .../writing-specification/writing-specification.md | 4 ---- general/process/process.md | 4 ---- general/start/start.md | 4 ---- java/start/basic/basic.md | 4 ---- src/content/docs/bedrock/bds/preparation/intro.md | 4 ---- src/content/docs/bedrock/bds/process/bdsx/intro.md | 4 ---- src/content/docs/bedrock/bds/process/endstone/intro.md | 4 ---- src/content/docs/bedrock/bds/process/intro.md | 4 ---- src/content/docs/bedrock/bds/process/levilamina/intro.md | 4 ---- src/content/docs/bedrock/bds/process/liteloader-bds/intro.md | 4 ---- src/content/docs/bedrock/bds/process/plugins/intro.md | 4 ---- src/content/docs/bedrock/bds/start/basic/intro.md | 4 ---- src/content/docs/bedrock/bds/start/intro.md | 4 ---- src/content/docs/bedrock/misc/preparation/intro.md | 4 ---- src/content/docs/bedrock/nukkit/preparation/intro.md | 4 ---- src/content/docs/bedrock/nukkit/start/basic/intro.md | 4 ---- src/content/docs/bedrock/nukkit/start/intro.md | 4 ---- src/content/docs/bedrock/pocketmine/preparation/intro.md | 4 ---- src/content/docs/bedrock/super-basic/intro.md | 4 ---- src/content/docs/bedrock/waterdogepe/preparation.md | 4 ---- src/content/docs/java/advance/maintenance/lang/intro.md | 4 ---- .../docs/java/advance/maintenance/resourcepack/intro.md | 4 ---- .../java/process/plugin/management-tool/anti-grief/intro.md | 4 ---- .../process/plugin/management-tool/basic-plugins/intro.md | 4 ---- src/content/docs/java/process/plugin/misc/menu/intro.md | 4 ---- src/content/docs/java/process/plugin/misc/npc/intro.md | 4 ---- .../docs/java/process/plugin/misc/tab-scoreboard/intro.md | 4 ---- 29 files changed, 116 deletions(-) diff --git a/general/advance/viaproxy/plugins/index.md b/general/advance/viaproxy/plugins/index.md index bb634f031..76e8389ac 100644 --- a/general/advance/viaproxy/plugins/index.md +++ b/general/advance/viaproxy/plugins/index.md @@ -6,7 +6,3 @@ sidebar_position: 4 # ViaProxy 插件系统 ViaProxy 提供了强大的插件系统,允许开发者和用户扩展其功能。本文档将详细介绍插件系统的使用和管理。 - -import DocCardList from '@theme/DocCardList'; - - diff --git a/general/contribution/contribution.md b/general/contribution/contribution.md index a2572d7e9..12debcc61 100644 --- a/general/contribution/contribution.md +++ b/general/contribution/contribution.md @@ -8,8 +8,4 @@ slug: /contribution 如果你想为文档贡献自己的内容,请首先查看以了解格式要求及待完善的内容: -import DocCardList from '@theme/DocCardList'; - - - 如果有一些文档完全没有涉及到的内容,请进入 [GitHub Issues](https://github.com/Cubic-Project/NitWikit/issues) 提出 Issue。或者直接加入 [企鹅群🐧1074062482](https://qm.qq.com/q/UyurWW3zyI)。 diff --git a/general/contribution/writing-specification/writing-specification.md b/general/contribution/writing-specification/writing-specification.md index f531ea094..66ff1c766 100644 --- a/general/contribution/writing-specification/writing-specification.md +++ b/general/contribution/writing-specification/writing-specification.md @@ -12,7 +12,3 @@ slug: /contribution/writing 若格式不规范但不会或不想排版时请在 PR 时提出 **文档需排版**) ::: - -import DocCardList from '@theme/DocCardList'; - - diff --git a/general/process/process.md b/general/process/process.md index eeff2687a..1a3b68bbb 100644 --- a/general/process/process.md +++ b/general/process/process.md @@ -10,10 +10,6 @@ sidebar_position: 5 在这一章我们主要围绕以下几个点: -import DocCardList from '@theme/DocCardList'; - - - 插件 - 推荐一些常见的插件,并且提及相关的注意事项和基础知识; 手机玩家支持 - 这部分比较复杂,且通常在国内网站上没有真正详尽的介绍; diff --git a/general/start/start.md b/general/start/start.md index c18cf5820..70dd87a97 100644 --- a/general/start/start.md +++ b/general/start/start.md @@ -7,7 +7,3 @@ sidebar_position: 4 # 开始阶段 在这个阶段,我们主要为你介绍服务器基础知识,如何区别客户端和服务端、如何选择服务端、如何搭建并连接等。 - -import DocCardList from '@theme/DocCardList'; - - diff --git a/java/start/basic/basic.md b/java/start/basic/basic.md index d33aa60c7..687d327d7 100644 --- a/java/start/basic/basic.md +++ b/java/start/basic/basic.md @@ -12,7 +12,3 @@ sidebar_label: Java 版基础知识 本文档暂时就开服最重要的基础概念进行介绍,如果有你自认为非常了解或者不重要的部分, 跳过他吧,因为我们在后面再次提到这些概念的时候会重新跳转到对应链接。 - -import DocCardList from '@theme/DocCardList'; - - diff --git a/src/content/docs/bedrock/bds/preparation/intro.md b/src/content/docs/bedrock/bds/preparation/intro.md index 6309d7236..cce33f955 100644 --- a/src/content/docs/bedrock/bds/preparation/intro.md +++ b/src/content/docs/bedrock/bds/preparation/intro.md @@ -4,10 +4,6 @@ title: 概述 在正式开 Minecraft 服务器之前,请一定确认已经准备好了以下必备软件或网页: -import DocCardList from '@theme/DocCardList'; - - - 其中: 文档编辑软件能够有效提高编辑插件、核心配置时的效率,降低错误使用语法的可能性; diff --git a/src/content/docs/bedrock/bds/process/bdsx/intro.md b/src/content/docs/bedrock/bds/process/bdsx/intro.md index a84858ed8..1cd16c28e 100644 --- a/src/content/docs/bedrock/bds/process/bdsx/intro.md +++ b/src/content/docs/bedrock/bds/process/bdsx/intro.md @@ -5,7 +5,3 @@ title: 概述 BDSX 是一个支持 Node.js 的 Minecraft 基岩版专用服务器(BDS)修改版本。基于官方 BDS 实现,包含了原版 Minecraft 的所有特性,并支持 Hook 函数与网络数据包以添加或修改服务器的功能与表现。 以下内容为 BDSX 的配置教程 - -import DocCardList from '@theme/DocCardList'; - - diff --git a/src/content/docs/bedrock/bds/process/endstone/intro.md b/src/content/docs/bedrock/bds/process/endstone/intro.md index f713b8995..58fe62d8d 100644 --- a/src/content/docs/bedrock/bds/process/endstone/intro.md +++ b/src/content/docs/bedrock/bds/process/endstone/intro.md @@ -15,7 +15,3 @@ EndStone 国内非官方交流群:982797241 教程催更请找本教程编写作者:[virgil698](https://github.com/virgil698) ::: - -import DocCardList from '@theme/DocCardList'; - - diff --git a/src/content/docs/bedrock/bds/process/intro.md b/src/content/docs/bedrock/bds/process/intro.md index c9eb53f1a..43ccfc4d4 100644 --- a/src/content/docs/bedrock/bds/process/intro.md +++ b/src/content/docs/bedrock/bds/process/intro.md @@ -6,8 +6,4 @@ title: 概述 在这一章我们主要围绕以下几个点: -import DocCardList from '@theme/DocCardList'; - - - 插件 - 推荐一些常见的插件,并且提及相关的注意事项和基础知识。 diff --git a/src/content/docs/bedrock/bds/process/levilamina/intro.md b/src/content/docs/bedrock/bds/process/levilamina/intro.md index 8c5caee93..c9196dc37 100644 --- a/src/content/docs/bedrock/bds/process/levilamina/intro.md +++ b/src/content/docs/bedrock/bds/process/levilamina/intro.md @@ -5,7 +5,3 @@ title: 概述 LeviLamina 是 BDS 核心的一款功能强大的插件加载器,曾被称为 LiteLoaderBDS。 以下内容为 LeviLamina 的配置教程 - -import DocCardList from '@theme/DocCardList'; - - diff --git a/src/content/docs/bedrock/bds/process/liteloader-bds/intro.md b/src/content/docs/bedrock/bds/process/liteloader-bds/intro.md index 75df29872..0ae1d1469 100644 --- a/src/content/docs/bedrock/bds/process/liteloader-bds/intro.md +++ b/src/content/docs/bedrock/bds/process/liteloader-bds/intro.md @@ -17,7 +17,3 @@ LiteLoaderBDS 是 BDS 核心的一款功能强大的插件加载器,简称 LL ::: 以下内容为 LiteLoaderBDS 的配置教程 - -import DocCardList from '@theme/DocCardList'; - - diff --git a/src/content/docs/bedrock/bds/process/plugins/intro.md b/src/content/docs/bedrock/bds/process/plugins/intro.md index d603de624..d9df244cb 100644 --- a/src/content/docs/bedrock/bds/process/plugins/intro.md +++ b/src/content/docs/bedrock/bds/process/plugins/intro.md @@ -7,7 +7,3 @@ title: 概述 建议阅读: - TODO... - -import DocCardList from '@theme/DocCardList'; - - diff --git a/src/content/docs/bedrock/bds/start/basic/intro.md b/src/content/docs/bedrock/bds/start/basic/intro.md index bfe04df9a..956ca26d7 100644 --- a/src/content/docs/bedrock/bds/start/basic/intro.md +++ b/src/content/docs/bedrock/bds/start/basic/intro.md @@ -7,7 +7,3 @@ title: 概述 本文档暂时就开服最重要的基础概念进行介绍,如果有你自认为非常了解或者不重要的部分, **跳过他吧**,因为我们在后面再次提到这些概念的时候会重新跳转到对应链接。 - -import DocCardList from '@theme/DocCardList'; - - diff --git a/src/content/docs/bedrock/bds/start/intro.md b/src/content/docs/bedrock/bds/start/intro.md index 9021a0bdc..eeada0418 100644 --- a/src/content/docs/bedrock/bds/start/intro.md +++ b/src/content/docs/bedrock/bds/start/intro.md @@ -3,7 +3,3 @@ title: 概述 --- 在这个阶段,我们主要为你介绍服务器基础知识,如何区别客户端和服务端、如何选择服务端、如何搭建并连接等。 - -import DocCardList from '@theme/DocCardList'; - - diff --git a/src/content/docs/bedrock/misc/preparation/intro.md b/src/content/docs/bedrock/misc/preparation/intro.md index 6309d7236..cce33f955 100644 --- a/src/content/docs/bedrock/misc/preparation/intro.md +++ b/src/content/docs/bedrock/misc/preparation/intro.md @@ -4,10 +4,6 @@ title: 概述 在正式开 Minecraft 服务器之前,请一定确认已经准备好了以下必备软件或网页: -import DocCardList from '@theme/DocCardList'; - - - 其中: 文档编辑软件能够有效提高编辑插件、核心配置时的效率,降低错误使用语法的可能性; diff --git a/src/content/docs/bedrock/nukkit/preparation/intro.md b/src/content/docs/bedrock/nukkit/preparation/intro.md index 6309d7236..cce33f955 100644 --- a/src/content/docs/bedrock/nukkit/preparation/intro.md +++ b/src/content/docs/bedrock/nukkit/preparation/intro.md @@ -4,10 +4,6 @@ title: 概述 在正式开 Minecraft 服务器之前,请一定确认已经准备好了以下必备软件或网页: -import DocCardList from '@theme/DocCardList'; - - - 其中: 文档编辑软件能够有效提高编辑插件、核心配置时的效率,降低错误使用语法的可能性; diff --git a/src/content/docs/bedrock/nukkit/start/basic/intro.md b/src/content/docs/bedrock/nukkit/start/basic/intro.md index bfe04df9a..956ca26d7 100644 --- a/src/content/docs/bedrock/nukkit/start/basic/intro.md +++ b/src/content/docs/bedrock/nukkit/start/basic/intro.md @@ -7,7 +7,3 @@ title: 概述 本文档暂时就开服最重要的基础概念进行介绍,如果有你自认为非常了解或者不重要的部分, **跳过他吧**,因为我们在后面再次提到这些概念的时候会重新跳转到对应链接。 - -import DocCardList from '@theme/DocCardList'; - - diff --git a/src/content/docs/bedrock/nukkit/start/intro.md b/src/content/docs/bedrock/nukkit/start/intro.md index 9021a0bdc..eeada0418 100644 --- a/src/content/docs/bedrock/nukkit/start/intro.md +++ b/src/content/docs/bedrock/nukkit/start/intro.md @@ -3,7 +3,3 @@ title: 概述 --- 在这个阶段,我们主要为你介绍服务器基础知识,如何区别客户端和服务端、如何选择服务端、如何搭建并连接等。 - -import DocCardList from '@theme/DocCardList'; - - diff --git a/src/content/docs/bedrock/pocketmine/preparation/intro.md b/src/content/docs/bedrock/pocketmine/preparation/intro.md index 6309d7236..cce33f955 100644 --- a/src/content/docs/bedrock/pocketmine/preparation/intro.md +++ b/src/content/docs/bedrock/pocketmine/preparation/intro.md @@ -4,10 +4,6 @@ title: 概述 在正式开 Minecraft 服务器之前,请一定确认已经准备好了以下必备软件或网页: -import DocCardList from '@theme/DocCardList'; - - - 其中: 文档编辑软件能够有效提高编辑插件、核心配置时的效率,降低错误使用语法的可能性; diff --git a/src/content/docs/bedrock/super-basic/intro.md b/src/content/docs/bedrock/super-basic/intro.md index bfe04df9a..956ca26d7 100644 --- a/src/content/docs/bedrock/super-basic/intro.md +++ b/src/content/docs/bedrock/super-basic/intro.md @@ -7,7 +7,3 @@ title: 概述 本文档暂时就开服最重要的基础概念进行介绍,如果有你自认为非常了解或者不重要的部分, **跳过他吧**,因为我们在后面再次提到这些概念的时候会重新跳转到对应链接。 - -import DocCardList from '@theme/DocCardList'; - - diff --git a/src/content/docs/bedrock/waterdogepe/preparation.md b/src/content/docs/bedrock/waterdogepe/preparation.md index ea3038d29..61d523379 100644 --- a/src/content/docs/bedrock/waterdogepe/preparation.md +++ b/src/content/docs/bedrock/waterdogepe/preparation.md @@ -4,10 +4,6 @@ title: 准备工作 在正式开 Minecraft 服务器之前,请一定确认已经准备好了以下必备软件或网页: -import DocCardList from '@theme/DocCardList'; - - - 其中: 文档编辑软件能够有效提高编辑插件、核心配置时的效率,降低错误使用语法的可能性; diff --git a/src/content/docs/java/advance/maintenance/lang/intro.md b/src/content/docs/java/advance/maintenance/lang/intro.md index 05f5f9b18..101939753 100644 --- a/src/content/docs/java/advance/maintenance/lang/intro.md +++ b/src/content/docs/java/advance/maintenance/lang/intro.md @@ -42,7 +42,3 @@ title: 概述 - ... 在这部分文档中不会介绍特定语言,学习请查看官方 Wiki - -import DocCardList from '@theme/DocCardList'; - - diff --git a/src/content/docs/java/advance/maintenance/resourcepack/intro.md b/src/content/docs/java/advance/maintenance/resourcepack/intro.md index 9aef6c67b..1bd0fa377 100644 --- a/src/content/docs/java/advance/maintenance/resourcepack/intro.md +++ b/src/content/docs/java/advance/maintenance/resourcepack/intro.md @@ -72,7 +72,3 @@ Java 版的资源包分发与基岩版不同,它是云分发的,提供给客 > 直接从服务器下载数据 不需要登陆账号,不需要点击链接打开网页才下载 - -import DocCardList from '@theme/DocCardList'; - - diff --git a/src/content/docs/java/process/plugin/management-tool/anti-grief/intro.md b/src/content/docs/java/process/plugin/management-tool/anti-grief/intro.md index 4741f3c65..9421cc3ae 100644 --- a/src/content/docs/java/process/plugin/management-tool/anti-grief/intro.md +++ b/src/content/docs/java/process/plugin/management-tool/anti-grief/intro.md @@ -9,7 +9,3 @@ title: 概览 ~~就像 TT2 协议一样~~ 就像范围回溯时间的魔法。 查玩家背包用 [InvSee++](/java/process/plugin/management-tool/anti-grief/invseeplusplus)。 - -import DocCardList from '@theme/DocCardList'; - - diff --git a/src/content/docs/java/process/plugin/management-tool/basic-plugins/intro.md b/src/content/docs/java/process/plugin/management-tool/basic-plugins/intro.md index a05bafaa9..ab585d1fc 100644 --- a/src/content/docs/java/process/plugin/management-tool/basic-plugins/intro.md +++ b/src/content/docs/java/process/plugin/management-tool/basic-plugins/intro.md @@ -12,7 +12,3 @@ title: 概述 现有的两个较常用的基础插件,分别是 [EssentialsX](https://essentialsx.net/downloads.html) 和 [CMI](https://www.spigotmc.org/resources/cmi-298-commands-insane-kits-portals-essentials-economy-mysql-sqlite-much-more.3742/) 。 - -import DocCardList from '@theme/DocCardList'; - - diff --git a/src/content/docs/java/process/plugin/misc/menu/intro.md b/src/content/docs/java/process/plugin/misc/menu/intro.md index 26c5c6332..7209e01de 100644 --- a/src/content/docs/java/process/plugin/misc/menu/intro.md +++ b/src/content/docs/java/process/plugin/misc/menu/intro.md @@ -11,7 +11,3 @@ ChestCommands < DeluxeMenus < TrMenu 自己照着文档,用文本编辑器写就行了 在一些群里问有没有可视化编辑器是要被笑话的 - -import DocCardList from '@theme/DocCardList'; - - diff --git a/src/content/docs/java/process/plugin/misc/npc/intro.md b/src/content/docs/java/process/plugin/misc/npc/intro.md index 480333da4..173f6e7e8 100644 --- a/src/content/docs/java/process/plugin/misc/npc/intro.md +++ b/src/content/docs/java/process/plugin/misc/npc/intro.md @@ -17,7 +17,3 @@ title: NPC 自定义 NPC 执行命令需要开启命令方块 [如何启用命令方块?](/java/start/config-server#启用命令方块) - -import DocCardList from '@theme/DocCardList'; - - diff --git a/src/content/docs/java/process/plugin/misc/tab-scoreboard/intro.md b/src/content/docs/java/process/plugin/misc/tab-scoreboard/intro.md index 86de536fa..4316a7fb8 100644 --- a/src/content/docs/java/process/plugin/misc/tab-scoreboard/intro.md +++ b/src/content/docs/java/process/plugin/misc/tab-scoreboard/intro.md @@ -13,7 +13,3 @@ title: 概述 计分板,积分板,都是指一个东西 ![](_assets/啥是计分板.png) - -import DocCardList from '@theme/DocCardList'; - - From 2a1e8a6fa41cedc6c64cca64046b00785742dbe6 Mon Sep 17 00:00:00 2001 From: MrlingXD <90316914+wling-art@users.noreply.github.com> Date: Thu, 8 Jan 2026 17:01:05 +0800 Subject: [PATCH 12/42] =?UTF-8?q?=F0=9F=93=9D=20=E4=BF=AE=E5=A4=8D=20java?= =?UTF-8?q?=20=E5=AE=89=E8=A3=85=E6=A0=87=E9=A2=98=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/choose-and-download-and-install-java.md | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/src/content/docs/general/java/choose-and-download-and-install-java.md b/src/content/docs/general/java/choose-and-download-and-install-java.md index 96e1fb620..c37b3fdc6 100644 --- a/src/content/docs/general/java/choose-and-download-and-install-java.md +++ b/src/content/docs/general/java/choose-and-download-and-install-java.md @@ -2,15 +2,13 @@ title: 选择、下载和安装 Java --- -## 选择版本 - :::caution 部分服务端有在项目的 README 中标注最低版本和推荐版本,例如 [Beast](https://github.com/HomoMC/Beast),最低版本为 Java 8,推荐版本为 Java 21 mod 服务端 ::: -### 常见插件端 (Paper 等) +## 常见插件端 (Paper 等) | Minecraft 版本 | 最低版本 | 推荐版本 | | -------------- | -------- | -------- | @@ -21,9 +19,9 @@ title: 选择、下载和安装 Java | 1.18 - 1.20.4 | Java 17 | Java 21 | | 1.20.5 - 1.21 | Java 21 | Java 21 | -### 混合服务端 (CatServer 等) +## 混合服务端 (CatServer 等) -#### CatServer +### CatServer | Minecraft 版本 | 最低版本 | 推荐版本 | | -------------- | -------- | -------- | @@ -31,7 +29,7 @@ title: 选择、下载和安装 Java | 1.16.5 | Java 8 | Java 11 | | 1.18.2 | Java 17 | Java 17 | -#### Mohist +### Mohist | Minecraft 版本 | 最低版本 | 推荐版本 | | --------------- | -------- | -------- | @@ -39,7 +37,7 @@ title: 选择、下载和安装 Java | 1.16.5 | Java 11 | Java 11 | | 1.18.2 - 1.20.2 | Java 17 | Java 17 | -#### SpongeForge +### SpongeForge | Minecraft 版本 | 最低版本 | 推荐版本 | | ---------------------- | -------- | -------- | @@ -80,11 +78,11 @@ title: 选择、下载和安装 Java ## 手动下载 -### 下载镜像 +## 下载镜像 [InJDK](https://d10.injdk.cn/openjdk/) 各种 JDK 的下载镜像 -### Oracle 版 +## Oracle 版 官方版本 From bfecf5c734f326d938e95a1cde8ace592ccc2d74 Mon Sep 17 00:00:00 2001 From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com> Date: Mon, 19 Jan 2026 02:41:02 -0500 Subject: [PATCH 13/42] =?UTF-8?q?=E6=B8=85=E7=90=86=E6=97=A0=E7=94=A8?= =?UTF-8?q?=E7=AB=A0=E8=8A=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- java/start/basic/basic.md | 14 -------------- java/start/basic/what-is-log.md | 8 -------- java/start/basic/what-is-permission.md | 8 -------- java/start/basic/what-is-plugin.md | 8 -------- java/start/basic/what-is-server.md | 8 -------- java/start/basic/what-is-startup-script.md | 8 -------- 6 files changed, 54 deletions(-) delete mode 100644 java/start/basic/basic.md delete mode 100644 java/start/basic/what-is-log.md delete mode 100644 java/start/basic/what-is-permission.md delete mode 100644 java/start/basic/what-is-plugin.md delete mode 100644 java/start/basic/what-is-server.md delete mode 100644 java/start/basic/what-is-startup-script.md diff --git a/java/start/basic/basic.md b/java/start/basic/basic.md deleted file mode 100644 index 687d327d7..000000000 --- a/java/start/basic/basic.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: 基础知识 -slug: /basic -sidebar_position: 1 -sidebar_label: Java 版基础知识 ---- - -# 基础知识 - -考虑到笨蛋教程主要面向新手,我们无法了解你了解什么不了解什么。 - -本文档暂时就开服最重要的基础概念进行介绍,如果有你自认为非常了解或者不重要的部分, - -跳过他吧,因为我们在后面再次提到这些概念的时候会重新跳转到对应链接。 diff --git a/java/start/basic/what-is-log.md b/java/start/basic/what-is-log.md deleted file mode 100644 index 9dd7a0f62..000000000 --- a/java/start/basic/what-is-log.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: 什么是日志? -sidebar_position: 6 ---- - -# 什么是日志? - -请见 [通用 | 什么是日志](/start/basic/what-is-log) diff --git a/java/start/basic/what-is-permission.md b/java/start/basic/what-is-permission.md deleted file mode 100644 index f953e10b7..000000000 --- a/java/start/basic/what-is-permission.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: 什么是权限? -sidebar_position: 6 ---- - -# 什么是权限? - -[通用 | 什么是权限](/start/basic/what-is-permission) diff --git a/java/start/basic/what-is-plugin.md b/java/start/basic/what-is-plugin.md deleted file mode 100644 index 30e680550..000000000 --- a/java/start/basic/what-is-plugin.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: 什么是插件? -sidebar_position: 4 ---- - -# 什么是插件? - -请见 [通用 | 什么是插件](/start/basic/what-is-plugin) diff --git a/java/start/basic/what-is-server.md b/java/start/basic/what-is-server.md deleted file mode 100644 index f630e01f7..000000000 --- a/java/start/basic/what-is-server.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: 什么是服务端? -sidebar_position: 1 ---- - -# 什么是服务端? - -请见 [通用 | 什么是服务端?](/start/basic/what-is-server) diff --git a/java/start/basic/what-is-startup-script.md b/java/start/basic/what-is-startup-script.md deleted file mode 100644 index 654239b7b..000000000 --- a/java/start/basic/what-is-startup-script.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: 什么是启动脚本? -sidebar_position: 4 ---- - -# 什么是启动脚本? - -请见 [通用 | 什么是启动脚本?](/start/basic/what-is-startup-script) From 3bffd57165f14166ee9b155cb70ec108caa124c6 Mon Sep 17 00:00:00 2001 From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com> Date: Mon, 19 Jan 2026 02:41:46 -0500 Subject: [PATCH 14/42] =?UTF-8?q?=E5=AE=8C=E6=88=90=20=E4=BB=80=E4=B9=88?= =?UTF-8?q?=E6=98=AF=E5=8D=A1=E9=A1=BF=EF=BC=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../docs/bedrock/super-basic/server-core-choose.mdx | 2 +- .../how-to-defend-against-cyber-attacks.mdx | 4 ++-- src/content/docs/{ => general}/basics/what-is-lag.md | 0 src/content/docs/general/process/database/intro.md | 2 +- .../docs/general/process/deploy/purchase-server.md | 4 ++-- .../java/advance/maintenance/optimize/ask-for-help.md | 2 +- .../docs/java/advance/maintenance/optimize/go.mdx | 10 +++++----- .../docs/java/advance/maintenance/optimize/intro.md | 6 +++--- .../maintenance/optimize/performance-analysis.md | 2 +- src/content/docs/java/advance/slime-world.mdx | 2 +- src/content/docs/java/process/plugin/misc/via/intro.md | 2 +- 11 files changed, 18 insertions(+), 18 deletions(-) rename src/content/docs/{ => general}/basics/what-is-lag.md (100%) diff --git a/src/content/docs/bedrock/super-basic/server-core-choose.mdx b/src/content/docs/bedrock/super-basic/server-core-choose.mdx index f692084f4..f68a74da1 100644 --- a/src/content/docs/bedrock/super-basic/server-core-choose.mdx +++ b/src/content/docs/bedrock/super-basic/server-core-choose.mdx @@ -34,7 +34,7 @@ import { TabItem, Tabs } from "@astrojs/starlight/components"; - 定制性有限:与一些第三方服务器端软件相比,BDS 的定制性和扩展性可能 **较为有限**,**不支持插件系统**,限制了服务器的个性化。 - 性能优化:虽然 BDS 性能稳定,但可能在某些方面 (如多核优化) 不如专门的第三方服务器端软件。它的生物运算运行在一个线程上。意味着你的服务器的流畅度主要取决于 **CPU 的单核性能**。 - 这使得地图越大,服务器就越 [卡顿](/basics/what-is-lag),不如 Java 版服务端流畅,因为 Java 版服务端 **支持多核运行**。 + 这使得地图越大,服务器就越 [卡顿](/general/basics/what-is-lag),不如 Java 版服务端流畅,因为 Java 版服务端 **支持多核运行**。 - 高级功能缺失:BDS 可能不支持一些高级功能,如自定义世界生成、高级权限管理等,这些通常需要第三方软件才能实现。 - 内存泄漏:内存占用会 _缓慢_ 增加,有时严重的还会导致 **内存泄漏**。如果强行进行 **内存清理** 的话,会导致玩家在进入 **装有 材质包 / Addon 的服务器** 时 **该玩家客户端无法下载对应内容**,致使下载进度条卡条,只能让腐竹重启服务器解决。 diff --git a/src/content/docs/general/advance/maintenance/how-to-defend-against-cyber-attacks.mdx b/src/content/docs/general/advance/maintenance/how-to-defend-against-cyber-attacks.mdx index ea72f9bd7..1372fc89b 100644 --- a/src/content/docs/general/advance/maintenance/how-to-defend-against-cyber-attacks.mdx +++ b/src/content/docs/general/advance/maintenance/how-to-defend-against-cyber-attacks.mdx @@ -64,7 +64,7 @@ Minecraft 后端服务器一般是不会对 Ping 进行过滤和记录的,这 #### Minecraft 漏洞攻击 -通过利用 Minecraft 游戏本身的漏洞,向服务器发送 (可能是大量的) 不合法的数据包,造成服务器卡顿甚至 **崩溃**,例如攻击者可以向 BDS 服务器发送大量空数据包使其不断打印日志而不再正常处理游戏内容。 +通过利用 Minecraft 游戏本身的漏洞,向服务器发送 (可能是大量的) 不合法的数据包,造成服务器 [卡顿](/general/basics/what-is-lag) 甚至 **崩溃**,例如攻击者可以向 BDS 服务器发送大量空数据包使其不断打印日志而不再正常处理游戏内容。 #### 远程桌面 / SSH 爆破 @@ -155,7 +155,7 @@ Linux 可以通过 `service iptables status` 命令查看 Linux 系统的防火 不要试图单独使用任何后端服务器 (如 Spigot / Paper / Purpur 等) 抵御大规模应用层攻击。 -后端服务器处理连接的速度较慢,这将会导致消耗比代理更多的计算机资源,一旦攻击规模过大,这会导致后端服务器卡顿甚至崩溃。 +后端服务器处理连接的速度较慢,这将会导致消耗比代理更多的计算机资源,一旦攻击规模过大,这会导致后端服务器 [卡顿](/general/basics/what-is-lag) 甚至崩溃。 但对于 Velocity / BungeeCord 等代理服务器,它们被设计为允许接受大量连接,且反向代理自带单个 IP 多次重新连接的配置: diff --git a/src/content/docs/basics/what-is-lag.md b/src/content/docs/general/basics/what-is-lag.md similarity index 100% rename from src/content/docs/basics/what-is-lag.md rename to src/content/docs/general/basics/what-is-lag.md diff --git a/src/content/docs/general/process/database/intro.md b/src/content/docs/general/process/database/intro.md index 8f2fa1ed1..beebb5d33 100644 --- a/src/content/docs/general/process/database/intro.md +++ b/src/content/docs/general/process/database/intro.md @@ -22,7 +22,7 @@ sidebar: 4. Redis/MySQL 等数据库配合可轻松完成玩家数据同步等; -5. 在数据量较大时候相较 SQLite 有更好的性能,查询时需要的时间短,特别是某些经济插件付款时避免卡顿。 +5. 在数据量较大时候相较 SQLite 有更好的性能,查询时需要的时间短,特别是某些经济插件付款时避免 [卡顿](/general/basics/what-is-lag)。 ::: diff --git a/src/content/docs/general/process/deploy/purchase-server.md b/src/content/docs/general/process/deploy/purchase-server.md index 56217173c..8dfe05864 100644 --- a/src/content/docs/general/process/deploy/purchase-server.md +++ b/src/content/docs/general/process/deploy/purchase-server.md @@ -26,7 +26,7 @@ sidebar: -由于 Minecraft 的 [Tick-loop](/basics/what-is-lag) 逻辑是单线程的。更多核心只能用于生成区块、插件任务等非主线程任务,不建议超过 8 核心的服务器继续增加核心提升流畅度。 +由于 Minecraft 的 [Tick-loop](/general/basics/what-is-lag) 逻辑是单线程的。更多核心只能用于生成区块、插件任务等非主线程任务,不建议超过 8 核心的服务器继续增加核心提升流畅度。 @@ -68,7 +68,7 @@ CPU 总占用不算高时,Minecraft 的服务器性能与 CPU 单核性能几 :::caution -并不是人越多需要的内存越多,不建议分配过多内存,否则导致 GC (内存垃圾回收) 时间过长导致卡顿。 +并不是人越多需要的内存越多,不建议分配过多内存,否则导致 GC (内存垃圾回收) 时间过长导致 [卡顿](/general/basics/what-is-lag)。 ::: diff --git a/src/content/docs/java/advance/maintenance/optimize/ask-for-help.md b/src/content/docs/java/advance/maintenance/optimize/ask-for-help.md index 08894732b..e2bead70f 100644 --- a/src/content/docs/java/advance/maintenance/optimize/ask-for-help.md +++ b/src/content/docs/java/advance/maintenance/optimize/ask-for-help.md @@ -16,7 +16,7 @@ title: 怎么让大佬帮我性能分析 ![](_assets/怎么让大佬帮我/spark_start.png) -在你服务器卡顿的时候开启,**一段时间后** 结束它 +在你服务器 [卡顿](/general/basics/what-is-lag) 的时候开启,**一段时间后** 结束它 3. 结束 Spark 记录 diff --git a/src/content/docs/java/advance/maintenance/optimize/go.mdx b/src/content/docs/java/advance/maintenance/optimize/go.mdx index 839fd1648..a404abf11 100644 --- a/src/content/docs/java/advance/maintenance/optimize/go.mdx +++ b/src/content/docs/java/advance/maintenance/optimize/go.mdx @@ -250,7 +250,7 @@ chunk-loading-basic: ::: -防止玩家进入未加载的区块,以避免同步加载区块造成的主线程卡顿。view-distance 视距越小,玩家进入未加载区块的可能性就越大。 +防止玩家进入未加载的区块,以避免同步加载区块造成的主线程 [卡顿](/general/basics/what-is-lag)。view-distance 视距越小,玩家进入未加载区块的可能性就越大。 #### max-loads-per-projectile @@ -462,7 +462,7 @@ max-auto-save-chunks-per-tick: 24 ## 实体 -默认情况下,实体的占用一般占服务器的 40% 左右,如果不控制实体,即使是市面上最好的 CPU,服务器也会卡顿。 +默认情况下,实体的占用一般占服务器的 40% 左右,如果不控制实体,即使是市面上最好的 CPU,服务器也会 [卡顿](/general/basics/what-is-lag)。 ### 控制实体数量 @@ -793,7 +793,7 @@ tick-inactive-villagers: true ##### zombie.aggressive-towards-villager-when-lagging -在 `purpur.yml` 中控制僵尸是否在服务器卡顿时对村民的仇恨。 +在 `purpur.yml` 中控制僵尸是否在服务器 [卡顿](/general/basics/what-is-lag) 时对村民的仇恨。 由于村民被僵尸跟踪时会触发非常复杂的寻路、铁傀儡召唤等行为。 @@ -815,7 +815,7 @@ tick-inactive-villagers: true ::: -> 仅当村民造成服务器卡顿时才应启用此项!否则,村民寻路会出现问题。 +> 仅当村民造成服务器 [卡顿](/general/basics/what-is-lag) 时才应启用此项!否则,村民寻路会出现问题。 村民被卸载了 AI 后只会按时补货。启用此项会禁用村民自动寻路。 @@ -1104,7 +1104,7 @@ ticks-per: 服务端自带一些非常简陋的反作弊,检测玩家是否飞行、超速等,但效果非常差。 -特别是服务器出现卡顿的时候,这将在后台进行大量刷屏。如果安装了至少一个反作弊。 +特别是服务器出现 [卡顿](/general/basics/what-is-lag) 的时候,这将在后台进行大量刷屏。如果安装了至少一个反作弊。 那么就可以关闭这些刷屏的无效信息。如果没有安装任何反作弊,还是保留基础反作弊吧。 diff --git a/src/content/docs/java/advance/maintenance/optimize/intro.md b/src/content/docs/java/advance/maintenance/optimize/intro.md index da4c4f2bd..cb175a499 100644 --- a/src/content/docs/java/advance/maintenance/optimize/intro.md +++ b/src/content/docs/java/advance/maintenance/optimize/intro.md @@ -2,7 +2,7 @@ title: 概述 --- -优化是做减法,清理服务器的卡顿因素,由于 Minecraft 本身的性能低下、部分插件作者并没有优化代码的意识、服务器实体过多等。 +优化是做减法,清理服务器的 [卡顿](/general/basics/what-is-lag) 因素,由于 Minecraft 本身的性能低下、部分插件作者并没有优化代码的意识、服务器实体过多等。 每个服务器可能有自己的卡顿原因,在这部分先做最基础的通用优化,如果你使用后作用不大请参考性能分析板块。 @@ -52,7 +52,7 @@ title: 概述 ## 第五步 - 更换硬件 **不要无脑换硬件!** 首先要知道自己的硬件瓶颈在哪里。如果 CPU 负荷过高,建议先排除 CPU 异常占用,再看 CPU 总体占用情况。 -一般来说服务器卡顿换 CPU 是最有效的,单核性能和 MC 服务器 TPS 几乎呈线性相关,但是换 CPU 几乎就相当于要换一台机器,迁移对于新手来说并不是易事。 +一般来说服务器 [卡顿](/general/basics/what-is-lag) 换 CPU 是最有效的,单核性能和 MC 服务器 TPS 几乎呈线性相关,但是换 CPU 几乎就相当于要换一台机器,迁移对于新手来说并不是易事。 对于单端服务器来说,超过 8 核心的部分基本很难通过提升 CPU 核心数量提升 TPS。不要动不动就买 E5 然后卡了就加 4 核 8G 内存,更多也没用的。 @@ -78,7 +78,7 @@ title: 概述 通用优化已经差不多做好了,而每个服都有自己导致滞后的因素,可能是实体太多,可能是玩家机器多,也可能是某些插件写的太屎... -如此,那么应该如何知道服务器为何卡顿呢? +如此,那么应该如何知道服务器为何 [卡顿](/general/basics/what-is-lag) 呢? 如果你是个完完全全的新手,或者懒得分析,想请教别人分析应该怎么办呢?请转跳到 [怎么让大佬帮我](/java/advance/maintenance/optimize/ask-for-help) diff --git a/src/content/docs/java/advance/maintenance/optimize/performance-analysis.md b/src/content/docs/java/advance/maintenance/optimize/performance-analysis.md index 9fb6cf8de..81eebd456 100644 --- a/src/content/docs/java/advance/maintenance/optimize/performance-analysis.md +++ b/src/content/docs/java/advance/maintenance/optimize/performance-analysis.md @@ -2,7 +2,7 @@ title: 性能分析 --- -性能分析是一切"优化"的依据。如果你不知道服务器导致卡顿的元凶,那么将毫无意义。 +性能分析是一切"优化"的依据。如果你不知道服务器导致 [卡顿](/general/basics/what-is-lag) 的元凶,那么将毫无意义。 ## Spark diff --git a/src/content/docs/java/advance/slime-world.mdx b/src/content/docs/java/advance/slime-world.mdx index 30e211458..43f5596e1 100644 --- a/src/content/docs/java/advance/slime-world.mdx +++ b/src/content/docs/java/advance/slime-world.mdx @@ -9,7 +9,7 @@ Slime 世界格式是 Hypixel 开发的一种世界存储格式 - 使用 zstd 替换 zlib,大大优化体积和加载速度 - 支持数据库作为加载后端,多服小游戏非常有用 - 支持 readonly,玩完就没 -- 预加载到内存当中,玩家不会因为加载卡顿 +- 预加载到内存当中,玩家不会因为加载而 [卡顿](/general/basics/what-is-lag) 适合的服务器: diff --git a/src/content/docs/java/process/plugin/misc/via/intro.md b/src/content/docs/java/process/plugin/misc/via/intro.md index 76f237fc3..c5b023e88 100644 --- a/src/content/docs/java/process/plugin/misc/via/intro.md +++ b/src/content/docs/java/process/plugin/misc/via/intro.md @@ -133,4 +133,4 @@ Via 的目的是允许兼容,但不打算添加新的项目、方块和功能 如果使用 Paper Fork,请直接将其调整为 `-1`,并调整 Paper 的 pps 限制。 -(尝试增加到玩家没有问题,不要全部禁用,这会导致服务器被玩家恶意使用数据包卡顿) +(尝试增加到玩家没有问题,不要全部禁用,这会导致服务器被玩家恶意使用数据包 [卡服](/general/basics/what-is-lag)) From d4a07bb224805571ab32bdc4bfac6a9fd0330f64 Mon Sep 17 00:00:00 2001 From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com> Date: Mon, 19 Jan 2026 03:12:45 -0500 Subject: [PATCH 15/42] =?UTF-8?q?=E5=AE=8C=E6=88=90=20=E6=9C=8D=E5=8A=A1?= =?UTF-8?q?=E7=AB=AF=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nukkit/start/basic/server-file-structure.mdx | 12 ++++++------ .../docs/general/basics}/what-is-datapack.mdx | 5 ++--- .../content/docs/general}/basics/what-is-log.md | 2 ++ .../content/docs/general/basics}/what-is-mod.md | 5 ++--- .../content/docs/general}/basics/what-is-plugin.md | 2 ++ .../docs/{ => general}/basics/what-is-world.md | 0 src/content/docs/java/advance/maintenance/backup.md | 2 +- src/content/docs/java/start/config-server.md | 2 +- src/content/docs/java/start/server-dir-structure.mdx | 11 ++++++----- 9 files changed, 22 insertions(+), 19 deletions(-) rename {java/start/basic => src/content/docs/general/basics}/what-is-datapack.mdx (99%) rename {general => src/content/docs/general}/basics/what-is-log.md (99%) rename {java/start/basic => src/content/docs/general/basics}/what-is-mod.md (98%) rename {general => src/content/docs/general}/basics/what-is-plugin.md (99%) rename src/content/docs/{ => general}/basics/what-is-world.md (100%) diff --git a/src/content/docs/bedrock/nukkit/start/basic/server-file-structure.mdx b/src/content/docs/bedrock/nukkit/start/basic/server-file-structure.mdx index 457861480..e9850d389 100644 --- a/src/content/docs/bedrock/nukkit/start/basic/server-file-structure.mdx +++ b/src/content/docs/bedrock/nukkit/start/basic/server-file-structure.mdx @@ -18,13 +18,13 @@ import { FileTree } from '@astrojs/starlight/components'; - banned-players.txt 被封禁的玩家列表 - banned-ips.txt 被封禁的 IP 地址 - ops.txt 管理员(OP)列表 - - worlds 世界存档目录 - - world 世界存档 + - worlds/ 世界存档目录 + - world/ 世界存档 - level.dat 世界设定 - - region 区块数据 - - entities 实体数据 - - plugins 插件存放目录 - - logs 服务器日志 + - region/ 区块数据 + - entities/ 实体数据 + - plugins/ 插件存放目录 + - **[logs](/general/basics/what-is-log)** 服务器日志 - whitelist.txt 白名单玩家列表 - rcon_password.txt RCON(远程控制)密码 diff --git a/java/start/basic/what-is-datapack.mdx b/src/content/docs/general/basics/what-is-datapack.mdx similarity index 99% rename from java/start/basic/what-is-datapack.mdx rename to src/content/docs/general/basics/what-is-datapack.mdx index de11ba8b1..4df124c6b 100644 --- a/java/start/basic/what-is-datapack.mdx +++ b/src/content/docs/general/basics/what-is-datapack.mdx @@ -1,12 +1,11 @@ --- title: 什么是数据包? -sidebar_position: 6 +topic: basics +template: splash --- import { FileTree } from '@astrojs/starlight/components'; -# 什么是数据包? - 数据包是从 Minecraft 逻辑结构层面修改我的世界,他可以添加或覆盖游戏中几乎一切的元素。一定程度下可以代替 mod,但它并不会改变原版的内容。 其功能可用于覆盖或添加新的函数、进度、战利品表、物品修饰器、配方、结构、标签、维度、世界生成等 diff --git a/general/basics/what-is-log.md b/src/content/docs/general/basics/what-is-log.md similarity index 99% rename from general/basics/what-is-log.md rename to src/content/docs/general/basics/what-is-log.md index e80e2df9a..3e778535c 100644 --- a/general/basics/what-is-log.md +++ b/src/content/docs/general/basics/what-is-log.md @@ -1,5 +1,7 @@ --- title: 什么是日志? +topic: basics +template: splash --- **日志** 记录了服务器的运行信息,运行时产生的错误和警告,同时也是大佬们用来分析为什么功能不正常或不能用的必要途径。 diff --git a/java/start/basic/what-is-mod.md b/src/content/docs/general/basics/what-is-mod.md similarity index 98% rename from java/start/basic/what-is-mod.md rename to src/content/docs/general/basics/what-is-mod.md index 29ddd85fe..e234f4186 100644 --- a/java/start/basic/what-is-mod.md +++ b/src/content/docs/general/basics/what-is-mod.md @@ -1,10 +1,9 @@ --- title: 什么是模组? -sidebar_position: 5 +topic: basics +template: splash --- -# 什么是模组? - 模组 (Mod) 是遵循 Forge、Fabric 或 LiteLoader 等 API 规范编写的 Java 程序。 ## 工作形式 diff --git a/general/basics/what-is-plugin.md b/src/content/docs/general/basics/what-is-plugin.md similarity index 99% rename from general/basics/what-is-plugin.md rename to src/content/docs/general/basics/what-is-plugin.md index 476cf33d2..f860e9248 100644 --- a/general/basics/what-is-plugin.md +++ b/src/content/docs/general/basics/what-is-plugin.md @@ -1,5 +1,7 @@ --- title: 什么是插件? +topic: basics +template: splash --- 如果你玩过整合包你一定对 `Mod` (即模组) 这个概念相当了解,但如果你是第一次开服,你可能不知道什么是 `Plugin` (插件),本文章会详细为你介绍。 diff --git a/src/content/docs/basics/what-is-world.md b/src/content/docs/general/basics/what-is-world.md similarity index 100% rename from src/content/docs/basics/what-is-world.md rename to src/content/docs/general/basics/what-is-world.md diff --git a/src/content/docs/java/advance/maintenance/backup.md b/src/content/docs/java/advance/maintenance/backup.md index f483c2d97..37d3fd09b 100644 --- a/src/content/docs/java/advance/maintenance/backup.md +++ b/src/content/docs/java/advance/maintenance/backup.md @@ -82,7 +82,7 @@ Linux 使用指令 `tar -czvf backup_date.tar.gz /[path]/` (如果使用 7-Zip ### (可选) 日志文件 -服务器根目录下的 logs 文件夹。 +服务器根目录下的 [logs](/general/basics/what-is-log) 文件夹。 ## 删除世界 diff --git a/src/content/docs/java/start/config-server.md b/src/content/docs/java/start/config-server.md index 351a9d39c..03fe15ee2 100644 --- a/src/content/docs/java/start/config-server.md +++ b/src/content/docs/java/start/config-server.md @@ -227,7 +227,7 @@ allow-flight=true ### 记录管理员使用过的命令 -是否在服务器日志中记录管理员使用过的命令。 +是否在服务器 [日志](/general/basics/what-is-log) 中记录管理员使用过的命令。 开启:`/gamerule logAdminCommands true` diff --git a/src/content/docs/java/start/server-dir-structure.mdx b/src/content/docs/java/start/server-dir-structure.mdx index cf4b0bcd7..a908ca1df 100644 --- a/src/content/docs/java/start/server-dir-structure.mdx +++ b/src/content/docs/java/start/server-dir-structure.mdx @@ -8,6 +8,7 @@ import { FileTree } from '@astrojs/starlight/components'; # 服务端结构 我们先来简单看一眼 插件端 的文件夹结构 (以 Purpur 为例): +(可以点击高亮的文件夹查看对应介绍) @@ -16,13 +17,13 @@ import { FileTree } from '@astrojs/starlight/components'; - config/ Paper 服务器配置文件 - crash-reports/ 服务器崩溃报告 - libraries/ 服务器及插件依赖库 -- logs/ 服务端日志 -- plugins/ 插件文件夹 +- **[logs/](/general/basics/what-is-log)** 服务端日志 +- **[plugins/](/general/basics/what-is-plugin)** 插件文件夹 - versions/ 版本依赖 jar - world/ 主世界文件夹 - advancements/ 成就文件夹 - data/ 世界数据文件夹 - - datapacks/ 数据包 + - **[datapacks/](/general/basics/what-is-datapack)** 数据包 - bukkit/ - entities/ 实体数据 - playerdata/ 玩家数据 @@ -60,11 +61,11 @@ import { FileTree } from '@astrojs/starlight/components'; -对于类似 Catserver 的混合服务器,文件夹结构是类似的,基本就多了 `/mods` 文件夹,少了 Bukkit 的下游服务器特有的配置 (如 `purpur.yml` 等)。 +对于类似 Catserver 的混合服务器,文件夹结构是类似的,基本就多了 [`/mods`](/general/basics/what-is-mod) 文件夹,少了 Bukkit 的下游服务器特有的配置 (如 `purpur.yml` 等)。 :::note -对于世界文件夹的详细说明,请前往 **[世界文件架构](/basics/what-is-world)** +对于世界文件夹的详细说明,请前往 **[世界文件架构](/general/basics/what-is-world)** ::: From a95863d84b002ab6ce688cf5e2b11ece4a24f5ee Mon Sep 17 00:00:00 2001 From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com> Date: Mon, 19 Jan 2026 03:22:56 -0500 Subject: [PATCH 16/42] =?UTF-8?q?=E5=AE=8C=E6=88=90=20=E4=BB=80=E4=B9=88?= =?UTF-8?q?=E6=98=AF=E4=B9=B1=E7=A0=81=EF=BC=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../\345\217\243\345\255\227\347\254\246.png" | Bin .../docs/general}/basics/what-is-messy-code.md | 2 ++ .../java/advance/maintenance/optimize/jvm/common.md | 2 +- src/content/docs/java/process/plugin/intro.md | 2 +- .../plugin/world-management/multiverse/faq1.md | 2 +- src/content/docs/java/start/launch-server.mdx | 2 +- 6 files changed, 6 insertions(+), 4 deletions(-) rename "general/basics/_assets/\345\217\243\345\255\227\347\254\246.png" => "src/content/docs/general/basics/_assets/\345\217\243\345\255\227\347\254\246.png" (100%) rename {general => src/content/docs/general}/basics/what-is-messy-code.md (99%) diff --git "a/general/basics/_assets/\345\217\243\345\255\227\347\254\246.png" "b/src/content/docs/general/basics/_assets/\345\217\243\345\255\227\347\254\246.png" similarity index 100% rename from "general/basics/_assets/\345\217\243\345\255\227\347\254\246.png" rename to "src/content/docs/general/basics/_assets/\345\217\243\345\255\227\347\254\246.png" diff --git a/general/basics/what-is-messy-code.md b/src/content/docs/general/basics/what-is-messy-code.md similarity index 99% rename from general/basics/what-is-messy-code.md rename to src/content/docs/general/basics/what-is-messy-code.md index d9d0f0ace..03d58ac0f 100644 --- a/general/basics/what-is-messy-code.md +++ b/src/content/docs/general/basics/what-is-messy-code.md @@ -1,5 +1,7 @@ --- title: 什么是乱码? +topic: basics +template: splash --- 有时候,你会发现你的文本文件中的中文都莫名其妙变成了一些奇奇怪怪的符号,看起来乱糟糟的,毫无逻辑可言。 diff --git a/src/content/docs/java/advance/maintenance/optimize/jvm/common.md b/src/content/docs/java/advance/maintenance/optimize/jvm/common.md index dc1389b39..bfe75fd34 100644 --- a/src/content/docs/java/advance/maintenance/optimize/jvm/common.md +++ b/src/content/docs/java/advance/maintenance/optimize/jvm/common.md @@ -100,7 +100,7 @@ set PAPER_DEFAULT_CENTRAL_REPOSITORY=https://maven.aliyun.com/repository/central ## 中文编码 -防止乱码 +防止 [乱码](/general/basics/what-is-messy-code) ```txt -Dfile.encoding=UTF-8 diff --git a/src/content/docs/java/process/plugin/intro.md b/src/content/docs/java/process/plugin/intro.md index e89dbd7e7..2165a5068 100644 --- a/src/content/docs/java/process/plugin/intro.md +++ b/src/content/docs/java/process/plugin/intro.md @@ -9,7 +9,7 @@ title: 概述 - [YAML 语法](/java/process/plugin/more/yaml/intro) - 了解大部分插件配置文件的语法。 - [特征文件](/java/process/plugin/more/plugin-signature-file) - 了解插件的一些信息。 - [颜色代码](/java/process/plugin/more/color-message) - 改变服务器中文本的颜色 -- [什么是乱码](/java/start/install-mod-server) - 了解文本文件中的字符有时为什么会变得奇奇怪怪。 +- [什么是乱码](/general/basics/what-is-messy-code) - 了解文本文件中的字符有时为什么会变得奇奇怪怪。 ## 基本操作 diff --git a/src/content/docs/java/process/plugin/world-management/multiverse/faq1.md b/src/content/docs/java/process/plugin/world-management/multiverse/faq1.md index 13d56eb1f..d23ed407e 100644 --- a/src/content/docs/java/process/plugin/world-management/multiverse/faq1.md +++ b/src/content/docs/java/process/plugin/world-management/multiverse/faq1.md @@ -6,7 +6,7 @@ title: 常见问题 1 ![](_assets/中文世界名乱码.png) -不要用中文作为世界的名字,用英文。 +不要用中文作为世界的名字,容易 [乱码](/general/basics/what-is-messy-code),请使用英文。 你想让插件显示世界名时用中文的话,可以使用 [世界别名](#世界别名)。 diff --git a/src/content/docs/java/start/launch-server.mdx b/src/content/docs/java/start/launch-server.mdx index 7ec37fcd5..150e51000 100644 --- a/src/content/docs/java/start/launch-server.mdx +++ b/src/content/docs/java/start/launch-server.mdx @@ -170,7 +170,7 @@ export HTTPS_PROXY=http://127.0.0.1:7890 ### 中文乱码 -如果你用的是 Windows,你需要在启动脚本 **最前面** 加上 `chcp 65001` +如果你用的是 Windows,你需要在启动脚本 **最前面** 加上 `chcp 65001`,否则容易 [乱码](/general/basics/what-is-messy-code) 如上面的方法无效,检查你的系统区域设置是否为中国和中文语言包是否下载。 From 550ccea9d04a535bc804485412e2a3f488d99d65 Mon Sep 17 00:00:00 2001 From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com> Date: Mon, 19 Jan 2026 03:25:14 -0500 Subject: [PATCH 17/42] =?UTF-8?q?=E5=AE=8C=E6=88=90=20=E4=BB=80=E4=B9=88?= =?UTF-8?q?=E6=98=AF=E5=91=BD=E5=90=8D=E7=A9=BA=E9=97=B4=EF=BC=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../docs/general/basics}/_assets/command-1.png | Bin .../docs/general/basics}/_assets/command-2.png | Bin .../docs/general/basics}/_assets/command-3.png | Bin .../docs/general/basics}/_assets/command-4.png | Bin ...246\231\345\246\231\346\257\224\345\226\273.png" | Bin .../docs/general/basics}/what-is-namespace.md | 3 ++- .../maintenance/resourcepack/plugins/framework.mdx | 2 +- .../advance/maintenance/resourcepack/protect.md | 2 +- 8 files changed, 4 insertions(+), 3 deletions(-) rename {java/start/basic => src/content/docs/general/basics}/_assets/command-1.png (100%) rename {java/start/basic => src/content/docs/general/basics}/_assets/command-2.png (100%) rename {java/start/basic => src/content/docs/general/basics}/_assets/command-3.png (100%) rename {java/start/basic => src/content/docs/general/basics}/_assets/command-4.png (100%) rename "java/start/basic/_assets/\345\246\231\345\246\231\346\257\224\345\226\273.png" => "src/content/docs/general/basics/_assets/\345\246\231\345\246\231\346\257\224\345\226\273.png" (100%) rename {java/start/basic => src/content/docs/general/basics}/what-is-namespace.md (98%) diff --git a/java/start/basic/_assets/command-1.png b/src/content/docs/general/basics/_assets/command-1.png similarity index 100% rename from java/start/basic/_assets/command-1.png rename to src/content/docs/general/basics/_assets/command-1.png diff --git a/java/start/basic/_assets/command-2.png b/src/content/docs/general/basics/_assets/command-2.png similarity index 100% rename from java/start/basic/_assets/command-2.png rename to src/content/docs/general/basics/_assets/command-2.png diff --git a/java/start/basic/_assets/command-3.png b/src/content/docs/general/basics/_assets/command-3.png similarity index 100% rename from java/start/basic/_assets/command-3.png rename to src/content/docs/general/basics/_assets/command-3.png diff --git a/java/start/basic/_assets/command-4.png b/src/content/docs/general/basics/_assets/command-4.png similarity index 100% rename from java/start/basic/_assets/command-4.png rename to src/content/docs/general/basics/_assets/command-4.png diff --git "a/java/start/basic/_assets/\345\246\231\345\246\231\346\257\224\345\226\273.png" "b/src/content/docs/general/basics/_assets/\345\246\231\345\246\231\346\257\224\345\226\273.png" similarity index 100% rename from "java/start/basic/_assets/\345\246\231\345\246\231\346\257\224\345\226\273.png" rename to "src/content/docs/general/basics/_assets/\345\246\231\345\246\231\346\257\224\345\226\273.png" diff --git a/java/start/basic/what-is-namespace.md b/src/content/docs/general/basics/what-is-namespace.md similarity index 98% rename from java/start/basic/what-is-namespace.md rename to src/content/docs/general/basics/what-is-namespace.md index db7271926..ae400aec6 100644 --- a/java/start/basic/what-is-namespace.md +++ b/src/content/docs/general/basics/what-is-namespace.md @@ -1,6 +1,7 @@ --- title: 什么是命名空间? -sidebar_position: 8 +topic: basics +template: splash --- ## 概念 diff --git a/src/content/docs/java/advance/maintenance/resourcepack/plugins/framework.mdx b/src/content/docs/java/advance/maintenance/resourcepack/plugins/framework.mdx index 3429a1ac4..ef1afa701 100644 --- a/src/content/docs/java/advance/maintenance/resourcepack/plugins/framework.mdx +++ b/src/content/docs/java/advance/maintenance/resourcepack/plugins/framework.mdx @@ -28,7 +28,7 @@ import { TabItem, Tabs } from "@astrojs/starlight/components"; ```txt 【IA 入门指南。新手必看·简洁版】 - -第一步:IA 是基于原版的材质包框架所开发的插件,所以遵守 Mojang 制定的材质包规范,如果你会材质包开发甚至不需要用到 IA。如果你在使用 IA 时连 CMD,命名空间,着色器,JSON 这些最基本的内容都不知道请恶补以下内容: +第一步:IA 是基于原版的材质包框架所开发的插件,所以遵守 Mojang 制定的材质包规范,如果你会材质包开发甚至不需要用到 IA。如果你在使用 IA 时连 CMD,[命名空间](/general/basics/what-is-namespace),着色器,JSON 这些最基本的内容都不知道请恶补以下内容: https://zhangshenxing.github.io/VanillaModTutorial - 第二步: diff --git a/src/content/docs/java/advance/maintenance/resourcepack/protect.md b/src/content/docs/java/advance/maintenance/resourcepack/protect.md index 1149ed776..eff99e5ef 100644 --- a/src/content/docs/java/advance/maintenance/resourcepack/protect.md +++ b/src/content/docs/java/advance/maintenance/resourcepack/protect.md @@ -24,7 +24,7 @@ title: 保护 尽管 CraftEngine 等插件让还原原本的资源包基本不可能,但对方完全可以提取出所有的图片/音频/JSON 等资源 -无客户端 mod 保护方案由于技术限制,保护方式集中于 ZIP 格式保护 (如破坏格式),和混淆打乱 (Oraxen 命名空间打乱等) +无客户端 mod 保护方案由于技术限制,保护方式集中于 ZIP 格式保护 (如破坏格式),和混淆打乱 (Oraxen [命名空间](/general/basics/what-is-namespace) 打乱等) > 教程:[压缩 & 混淆](/java/advance/maintenance/resourcepack/compress) From 75a132c4993d2882277f5b12667bf07efe27c611 Mon Sep 17 00:00:00 2001 From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com> Date: Mon, 19 Jan 2026 03:46:52 -0500 Subject: [PATCH 18/42] =?UTF-8?q?=E5=AE=8C=E6=88=90=20=E4=BB=80=E4=B9=88?= =?UTF-8?q?=E6=98=AF=E5=90=AF=E5=8A=A8=E8=84=9A=E6=9C=AC=EF=BC=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- general/preparation/java/path.md | 2 +- java/start/basic/_assets/nogui.jpg | Bin 49112 -> 0 bytes src/content/docs/bedrock/misc/allay.md | 2 +- .../docs/general}/basics/_assets/nogui.jpg | Bin .../general}/basics/what-is-startup-script.md | 2 ++ .../cross-server/setup/velocity/intro.md | 2 +- .../docs/java/start/install-mod-server.mdx | 2 +- src/content/docs/java/start/launch-server.mdx | 2 +- 8 files changed, 7 insertions(+), 5 deletions(-) delete mode 100644 java/start/basic/_assets/nogui.jpg rename {general => src/content/docs/general}/basics/_assets/nogui.jpg (100%) rename {general => src/content/docs/general}/basics/what-is-startup-script.md (99%) diff --git a/general/preparation/java/path.md b/general/preparation/java/path.md index be4a04514..6a02d2d79 100644 --- a/general/preparation/java/path.md +++ b/general/preparation/java/path.md @@ -40,7 +40,7 @@ title: 路径相关 ![](_assets/path-1.png) -如图所示,将“**zulu-21**”放进服务端文件夹,接着在启动脚本写入: +如图所示,将“**zulu-21**”放进服务端文件夹,接着在 [启动脚本](/general/basics/what-is-startup-script) 写入: ```bash .\zulu-21\bin\java.exe -jar server.jar diff --git a/java/start/basic/_assets/nogui.jpg b/java/start/basic/_assets/nogui.jpg deleted file mode 100644 index 50724249bf4dd9df7bb1e58dba8465f5563731c7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 49112 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 diff --git a/src/content/docs/bedrock/misc/allay.md b/src/content/docs/bedrock/misc/allay.md index 6bbce170a..783294e4f 100644 --- a/src/content/docs/bedrock/misc/allay.md +++ b/src/content/docs/bedrock/misc/allay.md @@ -52,7 +52,7 @@ Allay 基于 Java21,故在运行 & 构建 Allay 前你需要安装 Java21。 前往 [GitHub Releases](https://github.com/AllayMC/Allay/releases) 下载 -使用以下启动脚本启动服务端(jar 文件名为示例,请改为你设置的 jar 核心名) +使用以下 [启动脚本](/general/basics/what-is-startup-script) 启动服务端(jar 文件名为示例,请改为你设置的 jar 核心名) ```bash java -jar allay.jar diff --git a/general/basics/_assets/nogui.jpg b/src/content/docs/general/basics/_assets/nogui.jpg similarity index 100% rename from general/basics/_assets/nogui.jpg rename to src/content/docs/general/basics/_assets/nogui.jpg diff --git a/general/basics/what-is-startup-script.md b/src/content/docs/general/basics/what-is-startup-script.md similarity index 99% rename from general/basics/what-is-startup-script.md rename to src/content/docs/general/basics/what-is-startup-script.md index e2e4eb7c7..19df136ce 100644 --- a/general/basics/what-is-startup-script.md +++ b/src/content/docs/general/basics/what-is-startup-script.md @@ -1,5 +1,7 @@ --- title: 什么是启动脚本? +topic: basics +template: splash --- 启动脚本主要部分就是设置 Java 参数设置。 diff --git a/src/content/docs/java/process/cross-server/setup/velocity/intro.md b/src/content/docs/java/process/cross-server/setup/velocity/intro.md index e950091c8..b22736e1f 100644 --- a/src/content/docs/java/process/cross-server/setup/velocity/intro.md +++ b/src/content/docs/java/process/cross-server/setup/velocity/intro.md @@ -79,7 +79,7 @@ A: 如果你的服务器会出现这种情况: 这种情况一般发生在插件服群组中。当有些人使用 mod 客户端进入服务器时,有可能出现这种问题。 -如果你使用 Paper (或者其他 Fork 版本) 1.12.2 或者以上的服务端,你可以在启动脚本中添加 flag `-Dpaper.disableChannelLimit=true` 来解决这个问题 +如果你使用 Paper (或者其他 Fork 版本) 1.12.2 或者以上的服务端,你可以在 [启动脚本](/general/basics/what-is-startup-script) 中添加 flag `-Dpaper.disableChannelLimit=true` 来解决这个问题 ~~虽然没什么人遇到这个问题就是了~~ diff --git a/src/content/docs/java/start/install-mod-server.mdx b/src/content/docs/java/start/install-mod-server.mdx index 6fc7127eb..424361762 100644 --- a/src/content/docs/java/start/install-mod-server.mdx +++ b/src/content/docs/java/start/install-mod-server.mdx @@ -98,7 +98,7 @@ java -jar <你下载的安装器的文件名> --installServer 结束后一定一定要点击 **下载服务端** 以便下载原版服务端 (模组服务端都需要这玩意), -如果你懒得配置启动脚本也可以点击 **生成** 按钮让它给你生成一个临时的。 +如果你懒得配置 [启动脚本](/general/basics/what-is-startup-script) 也可以点击 **生成** 按钮让它给你生成一个临时的。 ## 方法 2 diff --git a/src/content/docs/java/start/launch-server.mdx b/src/content/docs/java/start/launch-server.mdx index 150e51000..66c5417e7 100644 --- a/src/content/docs/java/start/launch-server.mdx +++ b/src/content/docs/java/start/launch-server.mdx @@ -2,7 +2,7 @@ title: 开启服务端 --- -你已经做好了准备工作,开始启动你的服务器了 +你已经做好了准备工作,开始启动你的服务器了,你需要编写一个 [启动脚本](/general/basics/what-is-startup-script) 来启动它。 :::tip From c9fcda466ec995e560b8df977ccc50448cb93062 Mon Sep 17 00:00:00 2001 From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com> Date: Mon, 19 Jan 2026 03:59:42 -0500 Subject: [PATCH 19/42] =?UTF-8?q?=E5=AE=8C=E6=88=90=20=E4=BB=80=E4=B9=88?= =?UTF-8?q?=E6=98=AF=20NBT=EF=BC=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../basic => src/content/docs/general/basics}/what-is-nbt.md | 3 ++- .../docs/java/advance/maintenance/anticheat/anti-crash.md | 2 +- .../advance/maintenance/resourcepack/plugins/framework.mdx | 2 +- .../java/process/mobile-player/geyser/upgrade/geyser-skull.md | 3 +-- .../management-tool/basic-plugins/essentialsx/config-tips.md | 2 +- .../plugin/management-tool/basic-plugins/essentialsx/kit.md | 2 +- .../plugin/plugin-dependencies/placeholderapi/check-item.md | 2 +- 7 files changed, 8 insertions(+), 8 deletions(-) rename {java/start/basic => src/content/docs/general/basics}/what-is-nbt.md (96%) diff --git a/java/start/basic/what-is-nbt.md b/src/content/docs/general/basics/what-is-nbt.md similarity index 96% rename from java/start/basic/what-is-nbt.md rename to src/content/docs/general/basics/what-is-nbt.md index 66d0ee828..51e191161 100644 --- a/java/start/basic/what-is-nbt.md +++ b/src/content/docs/general/basics/what-is-nbt.md @@ -1,6 +1,7 @@ --- title: 什么是 NBT? -sidebar_position: 9 +topic: basics +template: splash --- ## 概念 diff --git a/src/content/docs/java/advance/maintenance/anticheat/anti-crash.md b/src/content/docs/java/advance/maintenance/anticheat/anti-crash.md index 07c97e98a..baca197d5 100644 --- a/src/content/docs/java/advance/maintenance/anticheat/anti-crash.md +++ b/src/content/docs/java/advance/maintenance/anticheat/anti-crash.md @@ -109,7 +109,7 @@ Netty 处理超时 (NettyCrashers),虽然不会崩服,但会严重影响玩 [购买地址](https://www.spigotmc.org/resources/panilla-prevent-hacked-items.65694/) (被标为 inactive 是因为换维护者了,还没通知 Spigot), [GitHub](https://github.com/ds58/Panilla) -Panilla 主要是用于防止服务器上滥用 NBT 和数据包的插件,禁用了一些生存模式下无法获得的东西,修复了一些漏洞,该插件不仅可以预防服务器崩溃,还可预防非法 NBT 导致客户端崩溃 +Panilla 主要是用于防止服务器上滥用 NBT 和数据包的插件,禁用了一些生存模式下无法获得的东西,修复了一些漏洞,该插件不仅可以预防服务器崩溃,还可预防非法 [NBT](/general/basics/what-is-nbt) 导致客户端崩溃 :::caution diff --git a/src/content/docs/java/advance/maintenance/resourcepack/plugins/framework.mdx b/src/content/docs/java/advance/maintenance/resourcepack/plugins/framework.mdx index ef1afa701..e6fae21d6 100644 --- a/src/content/docs/java/advance/maintenance/resourcepack/plugins/framework.mdx +++ b/src/content/docs/java/advance/maintenance/resourcepack/plugins/framework.mdx @@ -112,7 +112,7 @@ CraftEngine 使用运行时字节码生成技术,在服务器原生级别注 ### 配方 -CraftEngine 直接接管了原版的合成系统,相比于传统的合成插件有更强的稳定性,不会出现物品改个名字等修改了 NBT 的操作就导致配方失效的问题。 +CraftEngine 直接接管了原版的合成系统,相比于传统的合成插件有更强的稳定性,不会出现物品改个名字等修改了 [NBT](/general/basics/what-is-nbt) 的操作就导致配方失效的问题。 ~~这样又节省了一个插件嘻嘻~~ diff --git a/src/content/docs/java/process/mobile-player/geyser/upgrade/geyser-skull.md b/src/content/docs/java/process/mobile-player/geyser/upgrade/geyser-skull.md index 6bc199787..75d5e95f2 100644 --- a/src/content/docs/java/process/mobile-player/geyser/upgrade/geyser-skull.md +++ b/src/content/docs/java/process/mobile-player/geyser/upgrade/geyser-skull.md @@ -66,8 +66,7 @@ skin-hashes: ### 玩家资料 -头可以通过自定义玩家头部的 NBT 中的纹理字符串在此部分注册。除非手动更改该值,否则这些值不会在间歇泉启动时更新。因此,如果玩家的用户名或皮肤发生变化,它们不会改变。数据只是 -base64 编码的 JSON。 +头可以通过自定义玩家头部的 [NBT](/general/basics/what-is-nbt) 中的纹理字符串在此部分注册。除非手动更改该值,否则这些值不会在间歇泉启动时更新。因此,如果玩家的用户名或皮肤发生变化,它们不会改变。数据只是 base64 编码的 JSON。 如果在 Paper 服务器上,则可以通过将项目握在手中并运行命令来获取头骨的此数据。这会将项目的 NBT 数据输出到聊天和控制台。 纹理字符串位于 `SkullOwner` 标签下、`Properties` 标签下、`textures` 标签下。例如:`/paper dumpitem` diff --git a/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/config-tips.md b/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/config-tips.md index 76a42b86f..3731602a0 100644 --- a/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/config-tips.md +++ b/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/config-tips.md @@ -38,7 +38,7 @@ use-nbt-serialization-in-createkit: false 默认为 false。 -应该是说,开启后 kit 可以存 nbt 的东西了。 +应该是说,开启后 kit 可以存带有 [NBT 数据](/general/basics/what-is-nbt) 的物品了。 ## AFK - 使用命令 /afk 暂时离开 diff --git a/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/kit.md b/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/kit.md index d228a9af5..01fec1b38 100644 --- a/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/kit.md +++ b/src/content/docs/java/process/plugin/management-tool/basic-plugins/essentialsx/kit.md @@ -42,7 +42,7 @@ title: kit 礼包 ## 更多信息 -### 保存 nbt +### 保存 NBT [点击此处](/java/process/plugin/management-tool/basic-plugins/essentialsx/config-tips#礼包工具包) diff --git a/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/check-item.md b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/check-item.md index ab11ca167..92b24ce5c 100644 --- a/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/check-item.md +++ b/src/content/docs/java/process/plugin/plugin-dependencies/placeholderapi/check-item.md @@ -4,7 +4,7 @@ title: CheckItem :::note -因高版本(1.20.4+)的 CheckItem 对 NBT 的检查存在问题,HelpChat Discord 上的 Blitz 及部分开发者对其进行了针对性修复,可从 [这里](https://cdn.discordapp.com/attachments/573429521554866178/1377020689734701086/Expansion-CheckItem.jar?ex=683abdb4&is=68396c34&hm=833ab3aa7e997a35c1f85df41a18b28467e432d28884408bf6ecd5adb7b7f775&)(外网链接)直接下载。 +因高版本(1.20.4+)的 CheckItem 对 [NBT](/general/basics/what-is-nbt) 的检查存在问题,HelpChat Discord 上的 Blitz 及部分开发者对其进行了针对性修复,可从 [这里](https://cdn.discordapp.com/attachments/573429521554866178/1377020689734701086/Expansion-CheckItem.jar?ex=683abdb4&is=68396c34&hm=833ab3aa7e997a35c1f85df41a18b28467e432d28884408bf6ecd5adb7b7f775&)(外网链接)直接下载。 原文[见此](https://discord.com/channels/164280494874165248/573429521554866178/1377020690330423326)。 From 208c5785e5617372781b929095384d89098d1599 Mon Sep 17 00:00:00 2001 From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com> Date: Mon, 19 Jan 2026 04:08:38 -0500 Subject: [PATCH 20/42] =?UTF-8?q?=E5=AE=8C=E6=88=90=20=E4=BB=80=E4=B9=88?= =?UTF-8?q?=E6=98=AF=E6=9D=83=E9=99=90=EF=BC=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../content/docs/general}/basics/what-is-permission.md | 2 ++ src/content/docs/java/process/cross-server/intro.md | 2 +- .../java/process/plugin/management-tool/permission/group.md | 2 +- .../java/process/plugin/management-tool/permission/intro.md | 2 +- src/content/docs/java/start/server-dir-structure.mdx | 2 +- 5 files changed, 6 insertions(+), 4 deletions(-) rename {general => src/content/docs/general}/basics/what-is-permission.md (98%) diff --git a/general/basics/what-is-permission.md b/src/content/docs/general/basics/what-is-permission.md similarity index 98% rename from general/basics/what-is-permission.md rename to src/content/docs/general/basics/what-is-permission.md index dcf402218..083354774 100644 --- a/general/basics/what-is-permission.md +++ b/src/content/docs/general/basics/what-is-permission.md @@ -1,5 +1,7 @@ --- title: 什么是权限? +topic: basics +template: splash --- 权限 - 在插件服务端中,确认玩家做某行为的能力是否被允许。 diff --git a/src/content/docs/java/process/cross-server/intro.md b/src/content/docs/java/process/cross-server/intro.md index 9478085fc..4b6b73d7a 100644 --- a/src/content/docs/java/process/cross-server/intro.md +++ b/src/content/docs/java/process/cross-server/intro.md @@ -50,4 +50,4 @@ BungeeCord / Velocity 端 (或他们的 Fork) 在这里我们称为 `跨服端` 看 [通用 | 数据库相关](/general/process/database/intro) -一般需要安装两个数据库,MySQL 和 Redis,MySQL 用于存储重要信息,比如账号密码,经济,权限 Redis 用于快速跨服同步 +一般需要安装两个数据库,MySQL 和 Redis,MySQL 用于存储重要信息,比如账号密码,经济,[权限](/general/basics/what-is-permission),Redis 用于快速跨服同步 diff --git a/src/content/docs/java/process/plugin/management-tool/permission/group.md b/src/content/docs/java/process/plugin/management-tool/permission/group.md index a11ff4863..910fc3dcc 100644 --- a/src/content/docs/java/process/plugin/management-tool/permission/group.md +++ b/src/content/docs/java/process/plugin/management-tool/permission/group.md @@ -2,7 +2,7 @@ title: 权限组 --- -与其单独为每个玩家设置权限,我们可以将权限捆绑为一组,然后直接将一大堆权限一起给予玩家。 +与其单独为每个玩家设置 [权限](/general/basics/what-is-permission),我们可以将权限捆绑为一组,然后直接将一大堆权限一起给予玩家。 比如我想让狗蛋拥有 `essentials.fly` 的权限,我可以直接新建一个权限组并添加权限,然后将狗蛋设置到此权限组。 diff --git a/src/content/docs/java/process/plugin/management-tool/permission/intro.md b/src/content/docs/java/process/plugin/management-tool/permission/intro.md index a81168381..4f392c408 100644 --- a/src/content/docs/java/process/plugin/management-tool/permission/intro.md +++ b/src/content/docs/java/process/plugin/management-tool/permission/intro.md @@ -8,7 +8,7 @@ title: 概述 ![介绍](_assets/2.png) -当前最先进,现代,支持广泛,用户数量最多的权限插件。 +当前最先进,现代,支持广泛,用户数量最多的 [权限](/general/basics/what-is-permission) 插件。 - **响应迅速** - 在开发之初便已经将性能和可扩展性放在首位。 - **深受信赖** - 被数以千计的服务器管理者使用,再大型的服务器也有我们的身影。 diff --git a/src/content/docs/java/start/server-dir-structure.mdx b/src/content/docs/java/start/server-dir-structure.mdx index a908ca1df..095c56a41 100644 --- a/src/content/docs/java/start/server-dir-structure.mdx +++ b/src/content/docs/java/start/server-dir-structure.mdx @@ -52,7 +52,7 @@ import { FileTree } from '@astrojs/starlight/components'; - ops.json OP 玩家列表 - purpur.jar 服务核心 jar 文件 - purpur.yml Purpur 服务器配置文件 -- permissions.yml 权限定义文件 +- **[permissions.yml](/general/basics/what-is-permission)** 权限定义文件 - server.properties 服务端基础配置 - spigot.yml Spigot 服务器配置文件 - usercache.json 玩家名称和 UUID 缓存 From 7aae7d8668f0f201e6f57586c13d80fdab8142c7 Mon Sep 17 00:00:00 2001 From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com> Date: Sat, 31 Jan 2026 04:45:03 -0500 Subject: [PATCH 21/42] =?UTF-8?q?=E5=AE=8C=E6=88=90=20java=20basics=20?= =?UTF-8?q?=E9=83=A8=E5=88=86=20&=20=E4=BF=AE=E5=A4=8D=E6=9E=84=E5=BB=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- astro.config.ts | 9 +++++++++ src/content/docs/general/basics/what-is-permission.md | 2 +- src/content/docs/general/basics/what-is-plugin.md | 2 +- .../docs/general/basics/what-is-startup-script.md | 2 +- .../content/docs/java/start/basic/intro.md | 0 .../docs/java}/start/basic/server-management-command.md | 5 +---- .../content/docs/java/start/basic}/what-is-server.md | 2 +- 7 files changed, 14 insertions(+), 8 deletions(-) rename general/basics/index.md => src/content/docs/java/start/basic/intro.md (100%) rename {java => src/content/docs/java}/start/basic/server-management-command.md (93%) rename {general/basics => src/content/docs/java/start/basic}/what-is-server.md (94%) diff --git a/astro.config.ts b/astro.config.ts index a0568872f..cc4ce9ddd 100644 --- a/astro.config.ts +++ b/astro.config.ts @@ -110,6 +110,15 @@ export default defineConfig({ label: "开始阶段", items: [ "java/start/intro", + { + label: "基础知识", + collapsed: true, + items: [ + "java/start/basic/intro", + "java/start/basic/what-is-server", + "java/start/basic/server-management-command" + ] + }, { label: "选择服务器端", collapsed: true, diff --git a/src/content/docs/general/basics/what-is-permission.md b/src/content/docs/general/basics/what-is-permission.md index 083354774..749142ade 100644 --- a/src/content/docs/general/basics/what-is-permission.md +++ b/src/content/docs/general/basics/what-is-permission.md @@ -24,7 +24,7 @@ template: splash ## 权限的设置 -我们有且只推荐 LuckPerms 作为权限插件,具体的使用方法请参考 [LuckPerms 使用方法](/java/permission) +我们有且只推荐 LuckPerms 作为权限插件,具体的使用方法请参考 [LuckPerms 使用方法](/java/process/plugin/management-tool/permission/intro) 以下举例了一些常见的权限组分类: diff --git a/src/content/docs/general/basics/what-is-plugin.md b/src/content/docs/general/basics/what-is-plugin.md index f860e9248..fa743e149 100644 --- a/src/content/docs/general/basics/what-is-plugin.md +++ b/src/content/docs/general/basics/what-is-plugin.md @@ -30,7 +30,7 @@ template: splash > > 服务器运行时不要轻易这么做,绝大多数插件本身不支持热加载,这么做会导致不可预料的后果。 > -> 如果你一定要逆天而行,查看 [插件管理](/java/PluginMagagement) 页面。 +> 如果你一定要逆天而行,查看 [插件管理](/java/process/plugin/management-tool/plugin-management/intro) 页面。 :::caution diff --git a/src/content/docs/general/basics/what-is-startup-script.md b/src/content/docs/general/basics/what-is-startup-script.md index 19df136ce..1e5af5855 100644 --- a/src/content/docs/general/basics/what-is-startup-script.md +++ b/src/content/docs/general/basics/what-is-startup-script.md @@ -66,7 +66,7 @@ java -Xms12G -Xmx12G -jar 核心名.jar nogui 1. 无论什么时候,分配内存时一定要多预留 15% 左右内存,如服务器还剩余 10 G 内存,不要将 -Xms 设置到大于 9 G 的内存,否则会很危险。 2. 在 G1GC 模式下,尽量保证 Xmx = Xms 因为如果二者不同 JVM 需要更多的内存时候,JVM 需要申请更多内存,这个过程的耗时会导致顿卡。 -3. 更多的参数讲解,请前往 [JVM 参数优化](/java/optimize/jvm) +3. 更多的参数讲解,请前往 [JVM 参数优化](/java/advance/maintenance/optimize/jvm/intro) ::: diff --git a/general/basics/index.md b/src/content/docs/java/start/basic/intro.md similarity index 100% rename from general/basics/index.md rename to src/content/docs/java/start/basic/intro.md diff --git a/java/start/basic/server-management-command.md b/src/content/docs/java/start/basic/server-management-command.md similarity index 93% rename from java/start/basic/server-management-command.md rename to src/content/docs/java/start/basic/server-management-command.md index 311b4dd4f..f398c1c3d 100644 --- a/java/start/basic/server-management-command.md +++ b/src/content/docs/java/start/basic/server-management-command.md @@ -1,10 +1,7 @@ --- title: 常用服务器管理指令 -sidebar_position: 10 --- -# 常用服务器管理指令 - 欢迎开服,有一些常用服务器管理指令你必须了解,这是你开服的第一步!! ## /stop @@ -27,7 +24,7 @@ sidebar_position: 10 restart-script: "" ``` -在引号内设置启动脚本路径,否则这个指令不会帮你自动重启服务器,你仍然需要自行启动服务端 +在引号内设置 [启动脚本](/general/basics/what-is-startup-script) 路径,否则这个指令不会帮你自动重启服务器,你仍然需要自行启动服务端 ::: diff --git a/general/basics/what-is-server.md b/src/content/docs/java/start/basic/what-is-server.md similarity index 94% rename from general/basics/what-is-server.md rename to src/content/docs/java/start/basic/what-is-server.md index ab93b0548..ea4ce9e32 100644 --- a/general/basics/what-is-server.md +++ b/src/content/docs/java/start/basic/what-is-server.md @@ -31,7 +31,7 @@ _Minecraft_ 提供了让玩家可以进行 _多人游戏_ 的服务端,称为 由于原版 **Minecraft Server** 拓展性及性能不足,社区衍生出了多种提供 _多人游戏_ 的 **服务端**, 这些提供 _多人游戏_ 服务的 **程序/软件** 常被人称为 **核心**,大致可分为 -**[Mod](/java/start/basic/what-is-mod)** 服务端和 **[插件](/general/basics/what-is-plugin)** 服务端。 +**[Mod](/general/basics/what-is-mod)** 服务端和 **[插件](/general/basics/what-is-plugin)** 服务端。 常见的 **Mod** 服务端有 **Forge** 和 **Fabric** 等。 From 4a60ef1c2d65b2b57a8aa3087f078601b0a970ff Mon Sep 17 00:00:00 2001 From: MrlingXD <90316914+wling-art@users.noreply.github.com> Date: Sun, 1 Feb 2026 04:58:16 +0800 Subject: [PATCH 22/42] =?UTF-8?q?=E5=AE=8C=E6=88=90=20general=E3=80=81abou?= =?UTF-8?q?t?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CONTRIBUTING.md | 16 +- about/arch.md | 12 - about/contributors.md | 68 - about/sponsor.md | 26 - about/timeline.mdx | 53 - astro.config.ts | 211 ++-- ...1\344\270\234\350\245\277\344\272\206.png" | Bin 5856 -> 0 bytes .../1.png" | Bin 17291 -> 0 bytes .../2.png" | Bin 16011 -> 0 bytes .../3.png" | Bin 37963 -> 0 bytes general/advance/advance.md | 6 - general/advance/docker.md | 8 - .../money-management/money-management.md | 7 - .../sustainable-development.md | 93 -- .../player-management/player-management.md | 7 - general/advance/viaproxy/_assets/img.png | Bin 9037 -> 0 bytes general/advance/viaproxy/_assets/img_1.png | Bin 18090 -> 0 bytes general/advance/viaproxy/configuration.mdx | 206 --- general/advance/viaproxy/index.md | 104 -- general/advance/viaproxy/installation.md | 98 -- general/advance/viaproxy/plugins/auth.md | 159 --- .../advance/viaproxy/plugins/compatibility.md | 308 ----- general/advance/viaproxy/plugins/features.md | 136 -- general/advance/viaproxy/plugins/index.md | 8 - general/advance/viaproxy/plugins/network.md | 31 - general/advance/website/_assets/img-.png | Bin 31780 -> 0 bytes general/advance/website/_assets/img-2.png | Bin 54049 -> 0 bytes general/advance/website/_assets/img-3.png | Bin 31268 -> 0 bytes general/advance/website/_assets/img.png | Bin 22600 -> 0 bytes general/advance/website/_assets/img_1.png | Bin 51461 -> 0 bytes general/advance/website/_assets/img_10.png | Bin 52129 -> 0 bytes general/advance/website/_assets/img_2.png | Bin 81818 -> 0 bytes general/advance/website/_assets/img_3.png | Bin 38204 -> 0 bytes general/advance/website/_assets/img_4.png | Bin 40154 -> 0 bytes general/advance/website/_assets/img_5.png | Bin 36574 -> 0 bytes general/advance/website/_assets/img_6.png | Bin 4125 -> 0 bytes general/advance/website/_assets/img_7.png | Bin 51552 -> 0 bytes general/advance/website/_assets/img_8.png | Bin 7440 -> 0 bytes general/advance/website/_assets/img_9.png | Bin 44382 -> 0 bytes .../_assets/img\342\200\224\342\200\2241.png" | Bin 28835 -> 0 bytes ...210\252\345\233\276 2025-06-08 135158.png" | Bin 39560 -> 0 bytes general/advance/website/faq.md | 16 - general/advance/website/install.mdx | 190 --- general/advance/website/plugins.md | 155 --- general/advance/website/prepare.mdx | 211 ---- general/advance/website/server-config.mdx | 304 ----- general/advance/website/server-plugins.md | 22 - general/advance/website/website.md | 19 - general/contribution/contribution.md | 11 - general/contribution/image.md | 22 - general/contribution/todos.md | 171 --- .../writing-specification/blank.md | 68 - .../writing-specification/code-examples.md | 170 --- .../documentation-system.md | 61 - .../writing-specification/numerical-value.md | 73 -- .../writing-specification/paragraph.md | 69 -- .../punctuation-marks.md | 170 --- .../writing-specification/reference.md | 10 - .../writing-specification/text.md | 232 ---- .../writing-specification/title.md | 89 -- .../writing-specification.md | 14 - general/loss-thing.md | 10 - general/maintenance/_assets/angryopenfrp.jpg | Bin 72549 -> 0 bytes general/maintenance/intro.md | 29 - general/preparation/dumb-script-usage.md | 80 -- general/preparation/java/path.md | 55 - general/preparation/services.md | 29 - ...3\347\264\240\350\241\250\347\216\260.jpg" | Bin 12474 -> 0 bytes ...2\347\232\204\346\257\224\344\276\213.jpg" | Bin 14409 -> 0 bytes ...6\350\212\202\345\210\206\345\270\203.jpg" | Bin 24942 -> 0 bytes ...6\344\275\223\347\272\271\347\220\206.jpg" | Bin 10448 -> 0 bytes ...3\350\212\202\351\235\242\346\235\277.jpg" | Bin 10600 -> 0 bytes ...4\351\223\201\345\202\200\345\204\241.jpg" | Bin 7504 -> 0 bytes ...1\345\235\227\347\272\271\347\220\206.jpg" | Bin 25256 -> 0 bytes ...7\347\212\266\350\241\250\347\216\260.jpg" | Bin 13069 -> 0 bytes ...7\347\232\204\351\270\241\350\233\213.jpg" | Bin 3463 -> 0 bytes "general/process/_assets/\346\241\266.jpg" | Bin 4280 -> 0 bytes ...2\347\232\204\350\234\234\350\204\276.jpg" | Bin 7630 -> 0 bytes .../_assets/\346\265\267\345\270\246.jpg" | Bin 5012 -> 0 bytes ...7\346\264\213\344\271\213\345\277\203.jpg" | Bin 5208 -> 0 bytes ...0\345\203\217\347\264\240\347\202\271.jpg" | Bin 1763 -> 0 bytes ...1\345\223\201\347\272\271\347\220\206.jpg" | Bin 7948 -> 0 bytes ...7\351\275\277\350\241\250\347\216\260.jpg" | Bin 10973 -> 0 bytes .../\347\234\237\344\272\272vsSteve.jpg" | Bin 3381 -> 0 bytes ...345\275\242UV\350\264\264\345\233\276.jpg" | Bin 6391 -> 0 bytes .../_assets/\350\207\252\345\212\250UV.jpg" | Bin 13773 -> 0 bytes .../_assets/\350\213\271\346\236\234.jpg" | Bin 4962 -> 0 bytes ...6\345\210\253\347\272\271\347\220\206.jpg" | Bin 14892 -> 0 bytes .../\351\222\273\347\237\263\345\211\221.jpg" | Bin 5863 -> 0 bytes .../process/advance/domain-registration.md | 8 - general/process/advance/linux.md | 8 - general/process/bot.md | 6 - general/process/process.md | 17 - general/process/whitelist.mdx | 102 -- general/start/start.md | 9 - package.json | 5 +- pnpm-lock.yaml | 1104 +++++++++++++++-- src/components/SponsorCard.vue | 52 + src/components/Timeline.vue | 45 + .../content/docs/about}/_assets/me.png | Bin {about => src/content/docs/about}/ad.md | 3 - {about => src/content/docs/about}/intro.md | 11 +- src/content/docs/about/sponsor.mdx | 24 + src/content/docs/about/timeline.mdx | 50 + .../process/plugins/plugins-loader-choose.mdx | 19 +- .../docs/general/advance/bot/plugin.mdx | 8 +- .../docs/general/advance/management/intro.md | 4 +- .../money-management/investment-psychology.md | 4 - .../money-management/money-management.md | 5 + .../sustainable-development.md | 89 ++ .../player-management/announcement.md | 4 - .../management/player-management/auditing.md | 18 +- .../management/player-management/chunkbase.md | 4 - .../player-management/client-distribution.mdx | 4 - .../management/player-management/feedback.md | 4 - .../management/player-management/platform.md | 4 - .../player-management/player-management.md | 5 + .../management/player-management/rules.md | 4 - .../management/player-management/whitelist.md | 14 +- .../management/player-management/wiki.md | 2 - src/content/docs/general/more/ask-for-help.md | 4 +- .../content/docs/java}/advance/arthas.md | 6 - .../plugin/more}/plugin-troubleshooting.md | 2 +- src/styles/global.css | 8 +- tsconfig.json | 26 +- 125 files changed, 1463 insertions(+), 4056 deletions(-) delete mode 100644 about/arch.md delete mode 100644 about/contributors.md delete mode 100644 about/sponsor.md delete mode 100644 about/timeline.mdx delete mode 100644 "general/_assets/\345\260\221\344\270\234\350\245\277\344\272\206.png" delete mode 100644 "general/advance/_assets/\347\224\263\350\257\267\345\237\237\345\220\215/1.png" delete mode 100644 "general/advance/_assets/\347\224\263\350\257\267\345\237\237\345\220\215/2.png" delete mode 100644 "general/advance/_assets/\347\224\263\350\257\267\345\237\237\345\220\215/3.png" delete mode 100644 general/advance/advance.md delete mode 100644 general/advance/docker.md delete mode 100644 general/advance/management/money-management/money-management.md delete mode 100644 general/advance/management/money-management/sustainable-development.md delete mode 100644 general/advance/management/player-management/player-management.md delete mode 100644 general/advance/viaproxy/_assets/img.png delete mode 100644 general/advance/viaproxy/_assets/img_1.png delete mode 100644 general/advance/viaproxy/configuration.mdx delete mode 100644 general/advance/viaproxy/index.md delete mode 100644 general/advance/viaproxy/installation.md delete mode 100644 general/advance/viaproxy/plugins/auth.md delete mode 100644 general/advance/viaproxy/plugins/compatibility.md delete mode 100644 general/advance/viaproxy/plugins/features.md delete mode 100644 general/advance/viaproxy/plugins/index.md delete mode 100644 general/advance/viaproxy/plugins/network.md delete mode 100644 general/advance/website/_assets/img-.png delete mode 100644 general/advance/website/_assets/img-2.png delete mode 100644 general/advance/website/_assets/img-3.png delete mode 100644 general/advance/website/_assets/img.png delete mode 100644 general/advance/website/_assets/img_1.png delete mode 100644 general/advance/website/_assets/img_10.png delete mode 100644 general/advance/website/_assets/img_2.png delete mode 100644 general/advance/website/_assets/img_3.png delete mode 100644 general/advance/website/_assets/img_4.png delete mode 100644 general/advance/website/_assets/img_5.png delete mode 100644 general/advance/website/_assets/img_6.png delete mode 100644 general/advance/website/_assets/img_7.png delete mode 100644 general/advance/website/_assets/img_8.png delete mode 100644 general/advance/website/_assets/img_9.png delete mode 100644 "general/advance/website/_assets/img\342\200\224\342\200\2241.png" delete mode 100644 "general/advance/website/_assets/\345\261\217\345\271\225\346\210\252\345\233\276 2025-06-08 135158.png" delete mode 100644 general/advance/website/faq.md delete mode 100644 general/advance/website/install.mdx delete mode 100644 general/advance/website/plugins.md delete mode 100644 general/advance/website/prepare.mdx delete mode 100644 general/advance/website/server-config.mdx delete mode 100644 general/advance/website/server-plugins.md delete mode 100644 general/advance/website/website.md delete mode 100644 general/contribution/contribution.md delete mode 100644 general/contribution/image.md delete mode 100644 general/contribution/todos.md delete mode 100644 general/contribution/writing-specification/blank.md delete mode 100644 general/contribution/writing-specification/code-examples.md delete mode 100644 general/contribution/writing-specification/documentation-system.md delete mode 100644 general/contribution/writing-specification/numerical-value.md delete mode 100644 general/contribution/writing-specification/paragraph.md delete mode 100644 general/contribution/writing-specification/punctuation-marks.md delete mode 100644 general/contribution/writing-specification/reference.md delete mode 100644 general/contribution/writing-specification/text.md delete mode 100644 general/contribution/writing-specification/title.md delete mode 100644 general/contribution/writing-specification/writing-specification.md delete mode 100644 general/loss-thing.md delete mode 100644 general/maintenance/_assets/angryopenfrp.jpg delete mode 100644 general/maintenance/intro.md delete mode 100644 general/preparation/dumb-script-usage.md delete mode 100644 general/preparation/java/path.md delete mode 100644 general/preparation/services.md delete mode 100644 "general/process/_assets/\344\273\245\350\226\204\351\235\242\350\241\250\347\216\260vs\344\273\245\344\275\223\347\264\240\350\241\250\347\216\260.jpg" delete mode 100644 "general/process/_assets/\344\277\235\346\214\201\344\270\200\350\207\264\347\232\204\346\257\224\344\276\213vs\346\213\211\344\274\270\345\217\230\345\275\242\347\232\204\346\257\224\344\276\213.jpg" delete mode 100644 "general/process/_assets/\345\235\207\350\241\241\347\232\204\347\273\206\350\212\202\345\210\206\345\270\203vs\345\244\261\350\241\241\347\232\204\347\273\206\350\212\202\345\210\206\345\270\203.jpg" delete mode 100644 "general/process/_assets/\345\256\236\344\275\223\347\272\271\347\220\206.jpg" delete mode 100644 "general/process/_assets/\345\270\270\350\247\201\347\232\204HSV\350\260\203\350\212\202\351\235\242\346\235\277.jpg" delete mode 100644 "general/process/_assets/\346\225\231\350\202\262\347\211\210\347\232\204Agentvs\345\216\237\347\211\210\347\232\204\351\223\201\345\202\200\345\204\241.jpg" delete mode 100644 "general/process/_assets/\346\226\271\345\235\227\347\272\271\347\220\206.jpg" delete mode 100644 "general/process/_assets/\346\227\213\350\275\254\345\205\203\347\264\240vs\347\224\250\351\230\266\346\242\257\347\212\266\350\241\250\347\216\260.jpg" delete mode 100644 "general/process/_assets/\346\234\211\346\212\227\351\224\257\351\275\277\345\244\204\347\220\206vs\346\227\240\346\212\227\351\224\257\351\275\277\347\232\204\351\270\241\350\233\213.jpg" delete mode 100644 "general/process/_assets/\346\241\266.jpg" delete mode 100644 "general/process/_assets/\346\262\211\351\227\267\347\232\204\350\234\234\350\204\276vs\351\262\234\350\211\263\350\257\261\344\272\272\347\232\204\350\234\234\350\204\276.jpg" delete mode 100644 "general/process/_assets/\346\265\267\345\270\246.jpg" delete mode 100644 "general/process/_assets/\346\265\267\346\264\213\344\271\213\345\277\203.jpg" delete mode 100644 "general/process/_assets/\346\267\267\345\220\210\345\203\217\347\264\240\347\202\271.jpg" delete mode 100644 "general/process/_assets/\347\211\251\345\223\201\347\272\271\347\220\206.jpg" delete mode 100644 "general/process/_assets/\347\233\264\347\272\277\344\270\216\346\233\262\347\272\277\344\270\255\347\232\204\351\224\257\351\275\277\350\241\250\347\216\260.jpg" delete mode 100644 "general/process/_assets/\347\234\237\344\272\272vsSteve.jpg" delete mode 100644 "general/process/_assets/\347\256\261\345\275\242UV\350\264\264\345\233\276.jpg" delete mode 100644 "general/process/_assets/\350\207\252\345\212\250UV.jpg" delete mode 100644 "general/process/_assets/\350\213\271\346\236\234.jpg" delete mode 100644 "general/process/_assets/\350\257\206\345\210\253\347\272\271\347\220\206.jpg" delete mode 100644 "general/process/_assets/\351\222\273\347\237\263\345\211\221.jpg" delete mode 100644 general/process/advance/domain-registration.md delete mode 100644 general/process/advance/linux.md delete mode 100644 general/process/bot.md delete mode 100644 general/process/process.md delete mode 100644 general/process/whitelist.mdx delete mode 100644 general/start/start.md create mode 100644 src/components/SponsorCard.vue create mode 100644 src/components/Timeline.vue rename {about => src/content/docs/about}/_assets/me.png (100%) rename {about => src/content/docs/about}/ad.md (58%) rename {about => src/content/docs/about}/intro.md (91%) create mode 100644 src/content/docs/about/sponsor.mdx create mode 100644 src/content/docs/about/timeline.mdx rename general/advance/management/management.md => src/content/docs/general/advance/management/intro.md (99%) rename {general => src/content/docs/general}/advance/management/money-management/investment-psychology.md (96%) create mode 100644 src/content/docs/general/advance/management/money-management/money-management.md create mode 100644 src/content/docs/general/advance/management/money-management/sustainable-development.md rename {general => src/content/docs/general}/advance/management/player-management/announcement.md (98%) rename {general => src/content/docs/general}/advance/management/player-management/auditing.md (62%) rename {general => src/content/docs/general}/advance/management/player-management/chunkbase.md (97%) rename {general => src/content/docs/general}/advance/management/player-management/client-distribution.mdx (99%) rename {general => src/content/docs/general}/advance/management/player-management/feedback.md (96%) rename {general => src/content/docs/general}/advance/management/player-management/platform.md (99%) create mode 100644 src/content/docs/general/advance/management/player-management/player-management.md rename {general => src/content/docs/general}/advance/management/player-management/rules.md (98%) rename {general => src/content/docs/general}/advance/management/player-management/whitelist.md (94%) rename {general => src/content/docs/general}/advance/management/player-management/wiki.md (94%) rename {general => src/content/docs/java}/advance/arthas.md (96%) rename {general/maintenance => src/content/docs/java/process/plugin/more}/plugin-troubleshooting.md (98%) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 51f19f00c..235c4aae9 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -6,11 +6,13 @@ ## 目录 -- [这篇文档有问题](#这篇文档有问题) -- [我想要为文档做出贡献](#我想要为文档做出贡献) - - [格式要求](#格式要求) - - [尽量使用个人分叉而不是组织分叉](#尽量使用个人分叉而不是组织分叉) -- [致谢](#致谢) +- [为笨蛋文档做出贡献](#为笨蛋文档做出贡献) + - [目录](#目录) + - [这篇文档有问题](#这篇文档有问题) + - [我想要为文档做出贡献](#我想要为文档做出贡献) + - [格式要求](#格式要求) + - [尽量使用个人分叉而不是组织分叉](#尽量使用个人分叉而不是组织分叉) + - [致谢](#致谢) ## 这篇文档有问题 @@ -26,7 +28,7 @@ 我们不接受任何无意义或偏离主题的意见,所以你应当说明此更改的合理性,并且你应当在提交更改前查看是否有类似更改 -你也可以提供针对 [待办事项](https://nitwikit.8aka.org/contribution/todos) 中未完成事项的更改来提高通过的几率 +你也可以提供针对 [待办事项](https://github.com/orgs/Cubic-Project/projects/6) 中未完成事项的更改来提高通过的几率 记住!你的任何更改不止会影响到你,还有其他需要通过这篇文档来搭建服务器的人 @@ -34,7 +36,7 @@ ### 格式要求 -对于文档,我们有格式要求,详见 [格式要求](https://nitwikit.8aka.org/contribution/writing) 和 [图片处理](https://nitwikit.8aka.org/contribution/image) +对于文档,我们有格式要求,详见 [中文文案排版指北](https://github.com/sparanoid/chinese-copywriting-guidelines/blob/master/README.zh-Hans.md),还有使用 MarkdownLint 和 Prettier 对文档进行格式化。 若格式不规范但不会或不想排版时请在 PR 时提出 **文档需排版**,否则我们极大概率会关闭此类 PR diff --git a/about/arch.md b/about/arch.md deleted file mode 100644 index bea904865..000000000 --- a/about/arch.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -sidebar_position: 5 -title: 文档框架 ---- - -# 文档框架 - -Cubic-Project 所有文档采用静态页面,主要为 Docusaurus, VitePress, MkDocs - -其中 `8aka.org` 所有的文档托管在 Cloudflare Page/Worker, `8aka.cn` 托管在 EdgeOne Page,并且进行了备案 - -`pvp.kim` 是 Cubic-Project 提供的免费的域名,你可以在 `domain.8aka.org` 上面注册 diff --git a/about/contributors.md b/about/contributors.md deleted file mode 100644 index f56b3039a..000000000 --- a/about/contributors.md +++ /dev/null @@ -1,68 +0,0 @@ ---- -sidebar_position: 3 -title: 贡献者名单 ---- - -import ContributorCard from '@site/src/components/ContributorCard'; - -# 贡献者名单 - -:::tip[项目贡献者] - -以下列表展示了所有为本项目做出贡献的开发者。我们对每一位贡献者表示衷心的感谢! - -::: - -## 贡献统计 - -本项目的所有贡献者数据都来自于 [GitHub 贡献者页面](https://github.com/Cubic-Project/NitWikit/graphs/contributors)。数据包含了每位贡献者的提交次数、代码添加和删除行数等信息。 - -下面是贡献者的详细列表,贡献量仅代表贡献行数,不代表贡献质量,其排名仅供参考: - - - -## 如何参与贡献 - -我们欢迎并鼓励更多的人参与到文档的改进中来!如果你希望为本项目贡献内容,请查阅 [贡献指南](https://github.com/Cubic-Project/NitWikit/blob/main/CONTRIBUTING.md)。 - -参与贡献的方式包括但不限于: - -1. **提交内容更新**:改进现有文档、修复错误或添加新内容 -2. **提出建议**:对文档结构、内容组织或新功能提出建议 -3. **改进代码**:优化网站代码,提高用户体验 - -### 贡献流程 - -1. Fork 本仓库到你的 GitHub 账户 -2. 克隆你 Fork 的仓库到本地 - - ```bash - git clone https://github.com/你的用户名/NitWikit.git - ``` - - 如果你对历史记录没有需求,建议这么克隆 - - ```bash - git clone https://github.com/你的用户名/NitWikit.git --depth 1 - ``` - -3. 创建新的分支 - - ```bash - git checkout -b feature/your-feature-name - ``` - -4. 进行修改并提交 - - ```bash - git add . - git commit -m "描述你的修改" - ``` - -5. 推送到你的仓库 - - ```bash - git push origin feature/your-feature-name - ``` - -6. 创建 Pull Request diff --git a/about/sponsor.md b/about/sponsor.md deleted file mode 100644 index 595213d84..000000000 --- a/about/sponsor.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -sidebar_position: 2 -title: 赞助列表 ---- - -import SponsorCard from '@site/src/components/SponsorCard'; - -# 赞助列表 - -感谢所有赞助者对本项目的支持!您的帮助让我们能够持续维护和改进文档内容。 - -## 赞助者 - - diff --git a/about/timeline.mdx b/about/timeline.mdx deleted file mode 100644 index 95fca8160..000000000 --- a/about/timeline.mdx +++ /dev/null @@ -1,53 +0,0 @@ ---- -sidebar_position: 4 -title: 时间线 ---- - -import { Timeline } from "antd"; - -欢迎来到 Cubic-Project 的发展时间线! - - diff --git a/astro.config.ts b/astro.config.ts index cc4ce9ddd..9c2f10a8c 100644 --- a/astro.config.ts +++ b/astro.config.ts @@ -9,12 +9,14 @@ import starlightLinksValidator from "starlight-links-validator"; import starlightSidebarTopics from "starlight-sidebar-topics"; import starlightDocSearch from "@astrojs/starlight-docsearch"; import starlightScrollToTop from "starlight-scroll-to-top"; +import vue from "@astrojs/vue"; const IS_CHINA_SITE = process.env.CHINA === "true"; export default defineConfig({ site: IS_CHINA_SITE ? "https://nitwikit.8aka.cn" : "https://nitwikit.8aka.org", integrations: [ + vue(), starlight({ title: "Cubic Wiki", description: "一群笨蛋编写的 Minecraft 开服教程", @@ -51,9 +53,12 @@ export default defineConfig({ { label: "从零开始", collapsed: false, + items: [{ label: "快速开始", slug: "general/intro" }, "general/reading-guide"] + }, + { + label: "通用知识库", + collapsed: true, items: [ - { label: "快速开始", slug: "general/intro" }, - "general/reading-guide", { label: "安装 Java", collapsed: true, @@ -69,6 +74,24 @@ export default defineConfig({ label: "文本编辑器", collapsed: true, autogenerate: { directory: "general/preparation/text-editor" } + }, + { + label: "经营管理", + collapsed: true, + items: [ + { + label: "玩家管理", + autogenerate: { + directory: "general/advance/management/player-management" + } + }, + { + label: "资金管理", + autogenerate: { + directory: "general/advance/management/money-management" + } + } + ] } ] } @@ -186,6 +209,7 @@ export default defineConfig({ ] }, "java/process/plugin/more/plugin-config", + "java/process/plugin/more/plugin-troubleshooting", "java/process/plugin/more/faq", "java/process/plugin/more/plugin-signature-file", "java/process/plugin/more/tittle-tattle" @@ -639,7 +663,7 @@ export default defineConfig({ ] }, { - label: "进阶阶段", + label: "进阶知识", collapsed: false, items: [ "java/advance/intro", @@ -657,118 +681,111 @@ export default defineConfig({ directory: "general/process/database" } }, + "java/advance/maintenance/backup", { - label: "维护", + label: "优化", collapsed: true, items: [ - "java/advance/maintenance/intro", + "java/advance/maintenance/optimize/intro", { - label: "优化", + label: "JVM", collapsed: true, items: [ - "java/advance/maintenance/optimize/intro", - { - label: "JVM", - collapsed: true, - items: [ - "java/advance/maintenance/optimize/jvm/intro", - "java/advance/maintenance/optimize/jvm/common", - "java/advance/maintenance/optimize/jvm/dragonwell8", - "java/advance/maintenance/optimize/jvm/dragonwell11", - "java/advance/maintenance/optimize/jvm/openj9", - "java/advance/maintenance/optimize/jvm/graal", - "java/advance/maintenance/optimize/jvm/zing" - ] - }, - "java/advance/maintenance/optimize/go", - "java/advance/maintenance/optimize/storage-space-optimization", - "java/advance/maintenance/optimize/performance-analysis", - "java/advance/maintenance/optimize/kernel", - "java/advance/maintenance/optimize/optimized-plugin", - "java/advance/maintenance/optimize/ask-for-help" + "java/advance/maintenance/optimize/jvm/intro", + "java/advance/maintenance/optimize/jvm/common", + "java/advance/maintenance/optimize/jvm/dragonwell8", + "java/advance/maintenance/optimize/jvm/dragonwell11", + "java/advance/maintenance/optimize/jvm/openj9", + "java/advance/maintenance/optimize/jvm/graal", + "java/advance/maintenance/optimize/jvm/zing" + ] + }, + "java/advance/maintenance/optimize/go", + "java/advance/maintenance/optimize/storage-space-optimization", + "java/advance/maintenance/optimize/performance-analysis", + "java/advance/maintenance/optimize/kernel", + "java/advance/maintenance/optimize/optimized-plugin", + "java/advance/maintenance/optimize/ask-for-help" + ] + }, + { + label: "反作弊", + collapsed: true, + items: [ + "java/advance/maintenance/anticheat/intro", + "java/advance/maintenance/anticheat/anticheatplugins", + "java/advance/maintenance/anticheat/antixray", + "java/advance/maintenance/anticheat/rng", + "java/advance/maintenance/anticheat/anti-crash", + "java/advance/maintenance/anticheat/honeypot" + ] + }, + { + label: "资源包", + collapsed: true, + items: [ + "java/advance/maintenance/resourcepack/intro", + "java/advance/maintenance/resourcepack/software", + "java/advance/maintenance/resourcepack/send", + "java/advance/maintenance/resourcepack/compress", + { + label: "插件", + collapsed: true, + items: [ + "java/advance/maintenance/resourcepack/plugins/intro", + "java/advance/maintenance/resourcepack/plugins/hud", + "java/advance/maintenance/resourcepack/plugins/entity", + "java/advance/maintenance/resourcepack/plugins/vehicles", + "java/advance/maintenance/resourcepack/plugins/framework", + "java/advance/maintenance/resourcepack/plugins/tooltip", + "java/advance/maintenance/resourcepack/plugins/misc" ] }, + "java/advance/maintenance/resourcepack/protect", + "java/advance/maintenance/resourcepack/addon" + ] + }, + "general/advance/maintenance/how-to-defend-against-cyber-attacks", + { + label: "脚本语言", + collapsed: true, + items: [ + "java/advance/maintenance/lang/intro", { - label: "反作弊", + label: "Skript", collapsed: true, items: [ - "java/advance/maintenance/anticheat/intro", - "java/advance/maintenance/anticheat/anticheatplugins", - "java/advance/maintenance/anticheat/antixray", - "java/advance/maintenance/anticheat/rng", - "java/advance/maintenance/anticheat/anti-crash", - "java/advance/maintenance/anticheat/honeypot" + "java/advance/maintenance/lang/skript/intro", + "java/advance/maintenance/lang/skript/basic-tutorials", + "java/advance/maintenance/lang/skript/advanced-tutorials" ] }, { - label: "资源包", + label: "Kether", collapsed: true, items: [ - "java/advance/maintenance/resourcepack/intro", - "java/advance/maintenance/resourcepack/software", - "java/advance/maintenance/resourcepack/send", - "java/advance/maintenance/resourcepack/compress", - { - label: "插件", - collapsed: true, - items: [ - "java/advance/maintenance/resourcepack/plugins/intro", - "java/advance/maintenance/resourcepack/plugins/hud", - "java/advance/maintenance/resourcepack/plugins/entity", - "java/advance/maintenance/resourcepack/plugins/vehicles", - "java/advance/maintenance/resourcepack/plugins/framework", - "java/advance/maintenance/resourcepack/plugins/tooltip", - "java/advance/maintenance/resourcepack/plugins/misc" - ] - }, - "java/advance/maintenance/resourcepack/protect", - "java/advance/maintenance/resourcepack/addon" + "java/advance/maintenance/lang/kether/intro", + "java/advance/maintenance/lang/kether/preparation", + "java/advance/maintenance/lang/kether/basic", + "java/advance/maintenance/lang/kether/if", + "java/advance/maintenance/lang/kether/variable", + "java/advance/maintenance/lang/kether/math", + "java/advance/maintenance/lang/kether/misc", + "java/advance/maintenance/lang/kether/vulpecula" ] }, - "java/advance/maintenance/backup", - "general/advance/maintenance/how-to-defend-against-cyber-attacks", { - label: "脚本语言", + label: "JavaScript", collapsed: true, items: [ - "java/advance/maintenance/lang/intro", + "java/advance/maintenance/lang/javascript/intro", { - label: "Skript", + label: "扩展", collapsed: true, items: [ - "java/advance/maintenance/lang/skript/intro", - "java/advance/maintenance/lang/skript/basic-tutorials", - "java/advance/maintenance/lang/skript/advanced-tutorials" - ] - }, - { - label: "Kether", - collapsed: true, - items: [ - "java/advance/maintenance/lang/kether/intro", - "java/advance/maintenance/lang/kether/preparation", - "java/advance/maintenance/lang/kether/basic", - "java/advance/maintenance/lang/kether/if", - "java/advance/maintenance/lang/kether/variable", - "java/advance/maintenance/lang/kether/math", - "java/advance/maintenance/lang/kether/misc", - "java/advance/maintenance/lang/kether/vulpecula" - ] - }, - { - label: "JavaScript", - collapsed: true, - items: [ - "java/advance/maintenance/lang/javascript/intro", - { - label: "扩展", - collapsed: true, - items: [ - "java/advance/maintenance/lang/javascript/extend/intro", - "java/advance/maintenance/lang/javascript/extend/nashorn", - "java/advance/maintenance/lang/javascript/extend/graaljs" - ] - } + "java/advance/maintenance/lang/javascript/extend/intro", + "java/advance/maintenance/lang/javascript/extend/nashorn", + "java/advance/maintenance/lang/javascript/extend/graaljs" ] } ] @@ -778,6 +795,7 @@ export default defineConfig({ "general/advance/domain-and-dns", "java/advance/command-yml", "java/advance/login-choices", + "java/advance/arthas", "java/advance/chinese-username", "java/advance/slime-world", { @@ -1007,6 +1025,12 @@ export default defineConfig({ items: ["bedrock/waterdogepe/preparation"] } ] + }, + { + label: "关于", + link: "/about/intro", + icon: "open-book", + items: ["about/intro", "about/sponsor", "about/timeline", "about/ad"] } ], { @@ -1060,6 +1084,9 @@ export default defineConfig({ ], vite: { - plugins: [tailwindcss()] + plugins: [tailwindcss()], + ssr: { + noExternal: ["naive-ui", "vueuc", "date-fns"] + } } }); diff --git "a/general/_assets/\345\260\221\344\270\234\350\245\277\344\272\206.png" "b/general/_assets/\345\260\221\344\270\234\350\245\277\344\272\206.png" deleted file mode 100644 index 470d2a49f2c3a8c7a16f49990dd777403bbb9c94..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5856 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 a3{W&DyorlT+?Ts+T%lJx7h9HF=Klbr0NbVj diff --git "a/general/advance/_assets/\347\224\263\350\257\267\345\237\237\345\220\215/1.png" "b/general/advance/_assets/\347\224\263\350\257\267\345\237\237\345\220\215/1.png" deleted file mode 100644 index 58826b4d3fdcce016970fb82c713289ba049b417..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17291 zcmXuIW3Vth&o#Pj+qP}nwr$(CZQHhOdtckO?Q=ixnJ=AYB`cYxzdB6|002N>=HlsK z=w@jK@Spq-Z7t0hZ7mJWWCa<8{-dsJOw2|O$=R- z0HB~SEDu_zK|olr5SUIw0A*N!)_>(ew?}hWBFXZjrIMg_eko17OU$@UMOeY|AE=Vh zN5?lFBV|4O+$C$T9vvH$IoJuCl#07*6w5>)s2T>)P{91KsNn9b(HJ^7xwo+D2FjhQ zqA$w~o{foYI^{5jFK7xD1@{24Vmh+-KPQ49T7w@eEu?vJ&P#jg9%I9*ZN(LfI!ipP zcd_Ta6D`4dd0yIs(pr$jIqs;#|9SxV7i^P6SPX+{5k@+S%-e908|pmIE3tln>;Pu< zZ&>aOnbH_7y14z;>2i>E8{R|H51`;{en%WjYjSR!SHlWoLCuzZB${*X+87qL7N$Vg6XhkS-do>^Ch+5tPlmr< zE}~pG!+#@>@UXd`4&WXE+Od$Drz|`AT-ndc2B@k{?AtWgja430T|OizarWgtl;n>8 ziL&|zWdgb3GJ>{F*VsPgf3L{QiZqg+55tTwOF;)_3j31T;Sc1%kA&6_<8g|Bs%@i9 z&TU}mXPScVMmFFoVF>Ajfirw(cnGF&b4l7523p@RU%9prCdM6vc}UA*E&=O*yn;U>xoHrhEMWv#a=|1%_aN+|sBY)(?^{oWy8LV1c^ z{{TPhlUe%_4|i6}D^v4~K;=-I_Kj&g@W(L9b#CAPa*HBtN!F3~fF|=Ej!}HbJK3+i2XNs42`f#{TlU z)Of(Zc|jo`ec?cfNxoCZE&2WvZcpMHlP80bi6sK_2#T5b^m9VuigMy;I@nw~){w^7|kadQQO|JPMFL=n0Tf}-$} zaz3T6se}DUOVyWW1;ZmDix56tM--RlFTCusTsLsuu~|(QG?u%R^1GzVAk0+4tgVtq z{V{JfJXJnScv&9HsTL{<-Me#tO(upuij)S7xSe72nok72rv zBvTX4GYqCHX@Z?;?4JOA2qRAAHIboDij*cONqA$Ee%wv_}$z`C}RRX<${b59@JHi-Bi`~JVW&D z`A2w6m-i$H%pHJKoosfAv{bcqo)8@4Yo{~XVnTE9ESQ~ zYK~g^b!70B=aw%Nx5~7U0uWq;^GB@)q4aZSJq9I%BRza@t$Hh_1#TPeI}poeo}dHc zmUR88=j>N05X%_%EYc+Z8v#tX=)=D|^D#ivV($7jBr8_MC-$x_!+|4vl6tidwWeQ^ z${MgSMVi}Ux}L|tWJGkH03}(RFco&=#QEmE6?xVaFeX(ASl^!asqu~GQ*+h?!8q2v zqwx}#CF7LD+ohzPg>JR-78G`$t#9wIMZxsKQnslmA?I zqQR!VmY-uHZ`8+?2B+y~+b>{uyy7iW-B#(0C9rdGdTCrLtrs5H_a(o{_tI1$zYHAR z$QB2y^1~&K7|(OiJ-r3zMiIE?BkaPA#FCNRgJLvRHPu{LxRr@*&-t%-2{2p0mW|#! zBhieYxOK`xra*w`s0#|&gH8>-qO;H8Gb#pjWRlW>Q&VRougI}?nA@&{v)uK=LlZCD!hG=Kz=pz}=F}qT3 zRsLA{eShTo<=`dnr;3Ib%_n<;7Udif8PWfV1tzN7o=}QmaXVzsptRv+Tbg4O=nzVp z@82|N({|ya5w}a0sjz{T0TJb~!kRIKHOWh4JJ!ZUGhl5iWpAtL)X)@2xU<$Rl!&!N_OBESKP&Bnx@cUzpfhd zvX#Td~8-=aV9GqtZ~%D*e%FxITbH z;^Dq59;4QSi~D5MTZtZ2@yl*DJY2FfuR<#)yc|pF*40OLJKeU^yMnLrp1k`3zfcW- z8r0Crz3S^Ix9scY(9l1&mXV_&P!I{|_FC)bVWvTRQbIQ2l;!+RAMvZ#>kUb=P7|83 zcnC~cIc+;4IigaeIZj2yYv|9W$vD#Twuw$jIo|52GwmyK=TRHlQm#vWrPfdo1`Rh) z0_}88BhrWAb-8G=l_P#OC~*0vuuEIE4#O-IBJcf$UH;5vW^-^>LwaL~0Se69%bD_F zxJUg(`}1O;!bU!VVUKv?=AKpK_8mE$5#vE!9!h?#Gx-@+jdPp*WFJ>vt!J&c7Pd+w z(g^OWloAo$FV6Z;E3%(65tM{x*#LTm?mFIHlAxv-7O=JBXzVeXl;N-0Mf&N|8|ZOw zlSiCJ*VdoRWMC?XE%KS4-4LU0?@WRQ+(gkzOq0C~zCjR2$PE44st}V4PLobx^ylxp*l+VFz%DetZE|Ysx zC`MFVP-rZayM#Oiob&a<02{N05c?{#oDZ&rbaOP6EfHdP9jIIN?|ZR?gV3(`?}IYQ zW5zBfHYwdI;{SvSy1n|wFi@^XIZ}4v9pyYI+c^#{^L!@#DAWN&oIG=X|vC>G| zx#|@>C#{DkPXSZ#M9zrMZ7nRAJj&q=QVgkPz3V?X`;3*%G2{0sh4Gzq;|6l8xF~?4 zUeMQ(cKTdTQNb!XJ{-nx-L~__l?;s*GNQQTxqtZB_{?m0S_oiq{bis46nH;ts4noV zO3Y&gOOk`**MW122A5;Qle}SxpVub~z>oeq)|~AY$#VpDdSiZsdkAVUh)t!2n8oFi z*oRVI`U;ibWUHy5Ga^!g9}_sWDl+I>e*cb^QVP9UiOQ`y=j8;CcKZe^iT+$k2@9+t z(raG+NPPiH(N2O19EAh&LFRl-lJCd6nT3m8Rvh@+5}wKh+=4rr@{ySSPR;z&Bmti* zx>Ne!aCsG;zthF%hse@N+v$HkxFyoJEwy*2GaO(^V~tf%^3;A5^!Ao`yZ+5uV2LJW z(ln&YtHi`JL6+*VdfYX@Q)jS!QZV%d2ED5Npq^7@uaYy`4$UBFjSt61_%jy0$r#x8 zFYSTFPLBvl7xWBZheaYejbe~gdMLwK;>z?PBJ)PRV6ZhrHlC2GnC0xVOZM+?pY}S@ zdzM+6Wf$r)CK&EsYLs=e_CKT|DjE#=WG|f`vORsZ)-S}pA_bv)PZq?&@GkdTcz^={ zfXd}5GSWqHxldSCcI-ab*2iYlN#c7o^irquuAV zCTH5Fbru_|m2b<^!Bylh6#w@0#qsiKL@!!0QVCO`Vp*CZI>-H*vD+}Kq-1~KW1+J3 zz7N7VPuVIzJMo^j5#b6z2T}JYULi|Hs0Yyd1=_ZTBx6+sA^I?=g~B+LHniT;h96CY z=ryEKA-i6M3}YbD3H6Eh9ZW|vKZ~Wsjqsr# zlGj&04E0aiBr}=V-o3JDOo>T*cP&Te4!tfpfisOh+@9uGA^etYB&V8MsD9l>@ zk?^xpv&hji%SMt)wZS0r)?khCklhrJT6+}S?#yWOmD=tuI<9n{I9?-*(*-*htWK;s z;c{;A^%>e~)EhaXSnP8~<v@=x5*OFr$mWDG9yugI@{NOS1bGSqPoY{M*@F!P zI9b(WgsB~sE&w~h@W8(yx5+bHr)N9Ce_SHZvzaUP9;b4+r&_x&JkSk07EcsJ_=j5f zd|PgNfA%f7S&^_7+g{Q;OXKh(_SS<@$uy%iQyLgIq~YW$RFl_*OvyzCsyH0VD3Z3B z195Q{ynyRTp(0~IHk5$-%9jH~Nddiy7{8jryAA4bH&QxDML$fTOncG2>%mq;9+j2N zw-aV>J8~_~rViqu*7H+_)L2hE=0Tf_c)QzJmkAR{@?gY^L%aW|&d~MEK@r*KC`rdl zrGaA}X_U!{NQhstvH`ZA#NGhdnLO$3f*-9tfmo_SpRS~vJ!XzbXTXmbRl+gHShBMI)Av9qk83`%*hn^cvH z2mA)S5?P`8#O-r&yb#prfJLGJn!}L%__nr^CEvIx8*4sL=()Cgd0t_~ zU7lc^3lATQ|UZ0nZ;Wf-Im9IO8f4O4su%ex}zVw1Ex zqtxRex!V*K&qF`!ifn$?yZid#uuPX|3GOe04|S@=&WazFU003vgemq|yHH8p3~N+= zS_dmBN`QQbXBmD^6csjbkm{p_WA@ch>#P+qYPy7KL(m=R3i~L*F&0PsFkQEGeISdp zKcKKpn@(2WC`!|uMBA;QHH#C8?60@~;S*oa%13NoQzAd?nwEQ!D{cIy%5LCM5)RHU zm#xznGg6_I5sdPE?uR!)R;eTI!Hi&63uwpZ;7l@D+MOJ%UB(Vy<^nnxFxX?Zzz9!~ z;>UjV@3)D3^t_K8h^RXb!GAo-zHSv(UmylwF-FooQLSDT@f0AX4{=A+VD;&a3U#1G zuns@EHuouPguj$dwJFmV^LRZlxXWAhQUWD_?WJ@I+}Zd}JC7(#Ph+f!6w3OSn78u* z;oDCL@e`Gd0zF!*z*!=t95qLSEhFHKe+V~3E&@Kiiw#+Ex7N&_UxmKl$OOBl%?4m; z$k-2YQz)T1PTEDSgnWW654&{TuY@rK?7f*K;36jBfr#&dbE?;8$3%3lPt0J)hb$mY zT75j_^8MHS-C4Ysj}Z)4c>xX$KHrj1!B|5k71b=A&`0WUs$0lPj`x((uniGwR|;}R zFObkJuTYaI^9u^`$T{W;D(Cmq)|rr^RL^At-3(KjE3JSDw-=J2J8s>c0Mo(u$jAuVrJoVpT zn?lRi2?$|Wg6h2?7NPW3-Cn4G8T+}i3J}ag)%xkhQ^8udv&4!-dAngB6Rw9&biuZf z`t8tZ1EgWcGTrG7Eyq@XWvubvalymkCpZHJnZDyvP5(Wx=HM@0Th_gr_yAW?xjf}ps^99h6M^zpfBBq!G!xn@X z7t1*A`{U`_0!@xL?bs7IR6 zdb5`BkV%8bpOXNSU>ueKzz*-d5^AGeuw$Y0CA|9ZA@5G0K;G-SNr_V%8`9p$yc7xp zM9&T6#1|olEwjMwqW5rr8UTOamR0Z@H=@PdjCYaAVs@>Gj=@x9Y;&^+*7i)*>rOOR z3N{e9BQtP=h@j2Uvi>BYwE@q!v&5uJ%25&*0cJ=e?8L^Xo^A^%{KL4Gq9@i<2G7PZBiBMaC0p4=~U zyB_3H5S_38fzlg|NQ2fhawb6HnCm$+6X<%U+ez(wMiMIb!@9~!8-Up?GLfb*91X-0 zT$8>=P{n(aj$>T*Ho;wf^AvT(0_6T(F4!k$Z3RVmbhjSkN|kP^-%u;8a6bSQet<`{ zpw^975F*q~#RVm$oT0h5o&5?SZ385)Clr#rP%PvSF3=cf3D0n1WTt_cpDt3?e?G?h zCd!-BBD&eg`({fLN^+I1DJ8wZRwM<2n$csv`|~^C-CS{E{F@ykeW}mX^Fr=|M~xWV zOZ{P~FVZ3Gn^M=Bp+;OQMg7E{3+0jeuZH0Uzxxl=ctX3zdHY|F5pN0ONCB`mLQD%Q z##J@kod*(?7mncAndF$??hz{$L!xlX!Ra16pLTyfpQf?cX3Ndf%|@_3w6gGK`d5Um zABqgg)V{I>l;EO90dsj{U;(95qB8Ym_Oco1hfZ-~5+PO@g$z|%EgiRDMyPD>vK5iG zIdh)$(6NK*<2j|WJkyE34qW`J^^-t~QA59JTd&#Dn`erKf&T^X&5XfILnH7!*SEdU zS(|*qMHcVO*p}jB8iC?KYG1a+Yy<=4Xk4aObz#?+)xids$$qrGDg01*2}mg zwI&Lp(X2^L?L*XqRDk=FhHs{=X!yTv-u>%y6e@(FgF?+9gb&Ml^Y6hqO$`;uoaCuPj_aQ<#0kEd+5#y!R%Go ze2+fD20VWq0n?-TU>&DnEo9~9t0U@RJE@AB@zV~S?u^fwcs+UWu<8)B&2uVjDqnF5 z_DEmKVZc{#a2K@6K$tbd07!Fztt&zyD9d9G{c=y2g8Bl~0Sp1uM30D#7t~79y;&ig zf7h6jOT2mnhJcwk3GE^j$I5O$mx;cm9gBI&Kc!u1DT_F_JI6nSYTIYdmAZt)4*x1l z$C9B#a!rrW!+f$de%l>skn?M5Y0^8HO?k1;`_#b>dr1u{1L#rN<}alBpeam0@RTaB z=x46tFDvmH1ba+20W(i**yC687?|7RXw~;^ijq*EE;<#g`L)rOoy4kqSV<);`C(Aa zUs&~0#Wpr7_tVI}DHptP@S?{ZIaS;bUfJ6WLQ;vIZQssFReb~!v*=}>A5C6|&pxyR z^Q<1R*l)gpg^_h$bD@EV8#~EJ0}ey6kFkyzcF8jL3>TlxG1>LiGzdLqt}M!(-~M{Z zL%>lzB>R6M_u_G zpiyHfqX7vHmn8F>6?;PN2HdU*$}Asfp6xM8L%cR`s@-DFC1PBgr1Pi75c^oqh#ayX#ny>_ z5=GF_y;siPp~ZR8G#qu^45Lr3a~&A%8&Tlzb_qdoPnq2{S^#tO#&DACd)EeCB8?*i z-WTdI6N?l~73&}5qw5(VZm$v_;QIl_n5eq{_`@gUVU_#Y)i)n)_|-WsRf$`Py%UNI z2TvzsO+dU8^lnI_<)_vnR6V^5_?_Z|dAwBvCINq7_59k}`bOedqSC|g72I2&Q);OG zQsA6%f_wung@s3mb*;*=T~)ITelW&8Kpb8m1UeLVinioB6HF9hTD3VW-8IE1k18{o z)uQnr=IMK>p61Mu3vL;3WrP|^4x)?wbmpaq_Q}Vu#qVP6H50`t(%h+F03yz(KispX zV%yft6Hbbr$-)d;YOieJA=1!SAbSTqtL;Zrwn&BA6bb`Zvwl%z%#XI`ncXusxTD+1 z?X(W^XSB+L^k3k0@(xSNSgxz4?w8r_q1*U07hUV(d_csVDR#4du=;KL`=+q_C#(t$ z>a0j@&`@Hn0iZ@dUkMt?mSvzu)QCYXZX~YvTmruFlL3F{Z!FLI|7~}=Asgp5{U$j9 z0xmHL;YY+*AP`4_u#p$5L2{yq+o{xaDbjlU`C~;q!~6ge^&6q8J@2`<$a(hh)}TCN zE7)nA--M@#+Kgb!)^o~XQ=%`$+RnP^-z7^&$=3$^=rUiXtv035FNd#wr|#YxfJ+=R z!lU^&94)x{QO$poWJFw1upGhEx06N9&@nuyrC`jz4Uf4zejdXx@t>sLJ-9Vc&bS4p z1`M$Zi_~G6Z>PgVYP@k=SUCxdoD~ z4AhZpgcpscE>8rhIO=+A8mWq=P5%`kIUvUN^b3a`dMkf&2 zzQYmloP#bj|6YhyqZgr@VG5@L7|^WfV+_gbV8vYzS8cWwCMLq8jLlXk;3rO(`=t&p z-r)y&ELYgpP|KwR_d~Db6I`?L?p%A*mL(Jo7&DuraV@y44DP`Y%U_I^;M#75i~6y) zULKC-k&YJrBh~ttzc_|3eyKmN2G%bNwD_M6Xg&zT+J3e9$b2bCLm_FG@0~o6DAwFJo zM1$wp3jUSPpRH4U`lOX;4aF+~dX(qFb%RAPys5owqFZOb3Sh+rXKG{#k%Se^vv0Y7g&>Uwyq z4L^|-UTp?_(rk{9k53qQP#%)hRpFN%n5}*#Sq1Kv9&}#|4k7FjKvhJZnZysso$otX z%j~!Ikj%b3X*+rPYBpZ;2oH7(n2l@C9$U>WL+}nxU?f4BFA-i8j-%TQZEGD2-%}@6 zmY{2ypuwSojWr;Biw3Poswa0?gmmAs_cgt|-bR?&<_T;Iv0rAc@C;UoFQQpb#d0L0 z<8Ml(jK!JX$ohok7_e1=?XolxwN`{8L>Lo(yNnbsqEVA%H#m{xoa%Oi zORLV~brHF?6TMH&L3Z}+7@OSCJ(pGmm_}{wFRe*; z)<)LAC)8*uJ4=8&Uda%k$*LygDczm~Ao6~Im7LERuCNB%nd9h&(c3tv|9S38i=!JF zqNg>Nek^6lf|&-FqA~A#*6PGmMZuwmgC;ZtNU-zxsb@9GEy+*$3H&RCy^Iy{03N3($i#`lA5ZJ zB!c`G?Q>%o6XJdMVgoo8Gvq4o<@na`I6*hXvBp>0YSej@0*$eJxYW9x$xT=-szt08$@MDsjkjyY$)(4)(*BfvU*!{#kAq+Jd5pxIyeniaq%@C%O!` z+A1JN+qLo4W;@FIoPbBwUHu3^J5XNav*?fwi_dyA=VxU1AFA#Y_5F=z_S$DS3AMYf ziDaEwGSs2r%HcWme(a>Sl_>*jv5w-JjE%ylgOy)DspZSr!pw(++Iua)x*v1(JQreD zB$Lqmg%%{*HrRh4vEus?*8h6p?pcZVP<_CQzrcOs8STJIS1yu1BC$<@bV)I~(x|9_khNU`D7x{uzGUP=kuv

    H0IG^lz&>^oGWu${-sRja`DAn`Cs+>YH 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 v=8d2Bf-sFtRz8q8F%Xe7&9jTKErCawBH06ilD diff --git "a/general/advance/_assets/\347\224\263\350\257\267\345\237\237\345\220\215/3.png" "b/general/advance/_assets/\347\224\263\350\257\267\345\237\237\345\220\215/3.png" deleted file mode 100644 index f0e779f3d6dd5e51a20968eb0c4da2b102cc18cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37963 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 Lc-w7@l=~8z 总想一步到位做出“顶级服务器”,堆砌大量复杂功能、定制内容,远超个人或小团队的维护能力。 - -- **明智做法:** - - 起点简单:从纯净原版或少数几个核心、成熟的轻量插件/模组开始。确保核心玩法稳定、流畅。 - - 渐进式发展:根据实际活跃玩家数量、团队精力、稳定运营时长、资金结余来规划下一步更新。每次只增加 1-2 个能消化的新内容。 - - 质量 > 噱头:玩家更珍视一个稳定、流畅、bug 少的服务器体验。一个完成度高、运行平稳的“小”服,远胜于一个充满半成品和崩溃的“大”服。 -- **关键问题:** - - 这个新功能、模组、活动,我一个人/小团队能长期维护好吗?它真的能提升核心体验吗?还是仅仅看起来很帅? - ---- - -### 2. 降低依赖性,提高自治力 - -> 过度依赖某个技术大佬、付费外包或朋友临时帮忙,一旦对方没空或离开,服务器立即陷入瘫痪或无法更新。 - -- **明智做法:** - - 自学基础:强制自己学习核心技能,基础服务端操作、核心插件配置、日志查看、玩家数据管理等。网上教程资源极其丰富。 - - 文档是生命线:建立清晰、更新的文档。即使你暂时离开,其他人也能接手。 - - 标准化与模块化:尽量使用标准化的配置方式。插件/模组选择成熟、维护良好的,避免过多深度魔改。 -- **关键问题:** - - 如果明天唯一懂技术的人消失了,服务器能维持基本运转多久?核心信息是否记录在案? - ---- - -### 3. 靠持续运营,而非短期爆发 - -> 开服初期热情高涨,爆肝几天几夜配置、宣传;热度稍降或遇到问题后迅速倦怠,更新停滞,服务器逐渐凉凉。 - -- **明智做法:** - - 建立节奏感:设定可持续的维护与更新周期。例如每周固定某晚进行小维护、每 2-4 周推出一个小型更新/活动。 - - 留有余力:永远不要把自己/团队逼到极限。预留时间和精力处理突发问题。 - - 关注长期指标:关注玩家留存率、平均在线时长、社区活跃度(如群聊/论坛),而非仅看开服初期的峰值人数。 -- **关键问题:** - - 我当前设定的维护和更新计划,在 3 个月、6 个月后,我还能轻松坚持吗? - -## 运营建议 - -- **版本选择** - - 优先选择稳定版本,避免过于前沿的测试或实验性构建。 - -- **管理团队** - - 小而精 > 大而散,2-3 个可靠、互补、有共同目标的核心管理员比 10 个挂名 OP 强百倍。 - -- **内容更新** - - 控制节奏,保证质量。例如:每 2-4 周一个主题活动/小游戏/新区域;每 1-2 月一个中型玩法更新。更新后务必预留观察期处理 bug。 - -- **玩家反馈** - - 定期收集建议,用数据判断优先级,而非“谁声音大听谁的”。 - -- **功能设计** - - 能用 > 炫酷,每个新增功能、插件、模组都要问:它解决什么核心问题?维护成本多高?是否与其他系统冲突?警惕功能蔓延带来的维护灾难。 - -- **资金管理** - - 明确主要开销(服务器租金、域名、必要插件/资源)。设定可持续的众筹/赞助模式。记录收支,避免无计划投入。 - -- **风险预案** - - 自动化每日备份,并定期测试恢复。关键配置文件单独备份。制定应对常见危机(炸服、严重 bug、玩家冲突)的流程。 - -## 避坑提示 - -- **警惕“氪金玩家”绑架** - - 不要因为个别玩家投入多就无底线满足其定制需求或破坏服务器平衡。 - -- **避免“用爱发电”耗尽热情** - - 开服是长跑,合理分配精力,该休息时休息,寻找同好分担。 - -- **抵制“盲目跟风”** - - 不要看到某个玩法/模组在其他服火就硬塞进自己的服,需评估是否契合自身定位和承载能力。 - -- **避免“完美主义”** - - 追求“完美”往往导致拖延和无法上线。先推出“够用”的版本,再迭代优化。 - -## 总结 - -可持续性发展不是让你把服务器“做小”,而是让你把它“做稳”。从能力出发、科学规划、留有余力,才能在一次次挑战与成长中积累出真正属于你的服务器与社区核心。 - -哪怕你只有一个人,只要能稳步走下去,依然能成为别人坚持不下去时的“那个例外”。 diff --git a/general/advance/management/player-management/player-management.md b/general/advance/management/player-management/player-management.md deleted file mode 100644 index 5d2a49ed6..000000000 --- a/general/advance/management/player-management/player-management.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: 玩家管理 -slug: /Sundry/Advance/management/player-management -sidebar_position: 1 ---- - -# 玩家管理 diff --git a/general/advance/viaproxy/_assets/img.png b/general/advance/viaproxy/_assets/img.png deleted file mode 100644 index 41718f7b5593ebd85fcb5dc1e2c57785448cbe43..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9037 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 JMGBVB{udr9GfMyf diff --git a/general/advance/viaproxy/_assets/img_1.png b/general/advance/viaproxy/_assets/img_1.png deleted file mode 100644 index 34881e15e5dde60f98e0f39d37bc9a63397c491f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18090 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�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

    $_g*-NN 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 TL9hRi;LP@-n~$2)|7h00jRuLz diff --git a/general/advance/website/_assets/img.png b/general/advance/website/_assets/img.png deleted file mode 100644 index 6f86f2063e51afeeab92217f6aeb9ecf583b1061..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22600 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 bZOSyOu6mNt6d-mrM@-M7i;-+k2+IEee}0*% diff --git a/general/advance/website/_assets/img_1.png b/general/advance/website/_assets/img_1.png deleted file mode 100644 index f9ed939fecd4278e16ef30c7613a4aff4c926f24..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 51461 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

    71oB^@ZOC)qrLNYjlyPSefLu}I=1 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 也许,使用你制作的服务端的用户才思敏捷,不能独立解决“怎么说找不到 java”等宇宙终极问题。 - -相对路径是从当前路径开始的路径。 - -![](_assets/path-1.png) - -如图所示,将“**zulu-21**”放进服务端文件夹,接着在 [启动脚本](/general/basics/what-is-startup-script) 写入: - -```bash -.\zulu-21\bin\java.exe -jar server.jar -``` - -就会使用这个目录下的 zulu-21。这样就将 Java“打包”进服务端了。 - -其中,"`.\`" 表示当前路径,在通道情况下可以省略,只有在特殊的情况下不能省略。 - -另外,可以用 "`..\`" 表示当前所处的文件夹上一级文件夹的绝对路径。 - -但是我很少见到在 Minecraft 服务器的启动脚本中使用它,有需要可以自行研究。 diff --git a/general/preparation/services.md b/general/preparation/services.md deleted file mode 100644 index b164cc334..000000000 --- a/general/preparation/services.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -title: 笨蛋服务 ---- - -这些服务由赛博菩萨 Cloudflare 和 lilingfeng 搭建,完全免费提供! - -目前包括 - -- [笨蛋镜像](https://mirror.yizhan.wiki) - 加速网站的访问 (为没有 VPN 的人准备) -- [笨蛋图床](https://image.8aka.org) - 简洁,免费的图床 -- [日志上传](https://log.8aka.org) - 上传日志 - -## 规则 - -**不要滥用,不要上传违法文件!!!!!** - -图床最大上传 20 MB 的图片或视频 - -## 免费域名 - -我们提供免费的 `pvp.kim` 二级域名,目前不限量注册,支持 CNAME,A,AAAA,SRV - -> 获得:https://domain.8aka.org - -## 下载镜像 - -对于文档中一些下载慢的资源可以申请提供下载镜像,如果已有镜像,在经过安全性评估后会在文档中提供,如果没有,会提供笨蛋文档维护的镜像 - -官方下载镜像域名 `dl.8aka.org` diff --git "a/general/process/_assets/\344\273\245\350\226\204\351\235\242\350\241\250\347\216\260vs\344\273\245\344\275\223\347\264\240\350\241\250\347\216\260.jpg" "b/general/process/_assets/\344\273\245\350\226\204\351\235\242\350\241\250\347\216\260vs\344\273\245\344\275\223\347\264\240\350\241\250\347\216\260.jpg" deleted file mode 100644 index bdf9bcd7d76a7069cf595ca1fbeebd2baadd6945..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12474 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 diff --git "a/general/process/_assets/\344\277\235\346\214\201\344\270\200\350\207\264\347\232\204\346\257\224\344\276\213vs\346\213\211\344\274\270\345\217\230\345\275\242\347\232\204\346\257\224\344\276\213.jpg" "b/general/process/_assets/\344\277\235\346\214\201\344\270\200\350\207\264\347\232\204\346\257\224\344\276\213vs\346\213\211\344\274\270\345\217\230\345\275\242\347\232\204\346\257\224\344\276\213.jpg" deleted file mode 100644 index c846352b67d9fbc551d24a2774bf0dcd7f07e223..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14409 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 Ciqf3` diff --git "a/general/process/_assets/\345\235\207\350\241\241\347\232\204\347\273\206\350\212\202\345\210\206\345\270\203vs\345\244\261\350\241\241\347\232\204\347\273\206\350\212\202\345\210\206\345\270\203.jpg" "b/general/process/_assets/\345\235\207\350\241\241\347\232\204\347\273\206\350\212\202\345\210\206\345\270\203vs\345\244\261\350\241\241\347\232\204\347\273\206\350\212\202\345\210\206\345\270\203.jpg" deleted file mode 100644 index 349fe8845cd8a28d7c16be294b4c49fd9a6470af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24942 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 z%0A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 bEqy~>L$)M{kdK;}qAmO*0%{eVTl%R;8t_^^ diff --git "a/general/process/_assets/\345\256\236\344\275\223\347\272\271\347\220\206.jpg" "b/general/process/_assets/\345\256\236\344\275\223\347\272\271\347\220\206.jpg" deleted file mode 100644 index beee65bca745294af50949dba0a9feffea00545c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10448 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 diff --git "a/general/process/_assets/\345\270\270\350\247\201\347\232\204HSV\350\260\203\350\212\202\351\235\242\346\235\277.jpg" "b/general/process/_assets/\345\270\270\350\247\201\347\232\204HSV\350\260\203\350\212\202\351\235\242\346\235\277.jpg" deleted file mode 100644 index 7076ace9769b5d05e271ac65a394fd5b878dda5a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10600 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 diff --git "a/general/process/_assets/\346\225\231\350\202\262\347\211\210\347\232\204Agentvs\345\216\237\347\211\210\347\232\204\351\223\201\345\202\200\345\204\241.jpg" "b/general/process/_assets/\346\225\231\350\202\262\347\211\210\347\232\204Agentvs\345\216\237\347\211\210\347\232\204\351\223\201\345\202\200\345\204\241.jpg" deleted file mode 100644 index 93708e1590a79ac1820ba51f9ae5106a24d14266..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7504 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 F{{zg@4od(4 diff --git "a/general/process/_assets/\346\226\271\345\235\227\347\272\271\347\220\206.jpg" "b/general/process/_assets/\346\226\271\345\235\227\347\272\271\347\220\206.jpg" deleted file mode 100644 index d338b997e1abddfc6100487378fe281717db792c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25256 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 diff --git "a/general/process/_assets/\346\227\213\350\275\254\345\205\203\347\264\240vs\347\224\250\351\230\266\346\242\257\347\212\266\350\241\250\347\216\260.jpg" "b/general/process/_assets/\346\227\213\350\275\254\345\205\203\347\264\240vs\347\224\250\351\230\266\346\242\257\347\212\266\350\241\250\347\216\260.jpg" deleted file mode 100644 index e744e50435e8c2907c210a500a856f6cb36f5bdf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13069 zcmXweQ*=B zoNfMB0RGE(7S?t~|5YLY0D%A2e;EJ}832Is;~%H6u(18#(EoL?{uL%b|C#@J3|tu) zh3%~E{x{3g!rsyTpDt}-Z)EomQ7oM7P5v|fvp)aZH2(;Ky@k8Qe+n=J1jIjpF>qxR z4giGtPeL}bvv#yKvUdM>GAsa?|33-c!rsQ$xqzX6EW*8hXAY~l~XdNYCJ8vvJ`l9m1gxJ+!by?Mi^@0_tF**M_mTIV+M5vx* zqzlS=ziSyPxIIl4WyxuqSW3r7)=mX61I3sq7omnW7V|fvf(GxN#|_=zn>20+tvBbG zv8$ylX#1#bgG?4>-r5ZtuN|!J*}tZfs!ST9`J<%wn=>3ZW@p+=|*fOzLK<@qT= z%o`Iiupo?NBCdz8@>xOakTXCM^V#9<05*rk$qCT_(3}Mi%!t2-_zcj0%U?&DaULdd z1#rClUl%8h-wYqf!W?%yc-c4uV)69?}$bAHZUDy|oTBy;{&k zVw1k-hzeL7ti9Jirs-H`dn&(9Ai5R9glA!DrLIQwAroE&265vGH z?ucO1QupNG$gRVQ3!hhuR*bYpoe%ff4)*_<%x^5Xbel2Z zVREn&$7AFX+Bmtf`HTnl)qs48l~wKo#4dz=A(N~h++a=Jx{l8hIQ@gk85f6`=yygP zd-q({jLW9)(Xuof)TABAz=wAjJxlvz;xSi22i|Y(P@E7|5)pFxfUx%DjKm@}10O@>^S=fsZjz>Ta|bx_vUL){cCR zjFg&Yo+-&q$k66FkTjs^^5ZK8>bt|qS@Bu}QIt50An+%$-kv&fD%6uW(j2gs1&6Qj zZ8RbQeVK-9H@k^=3B#q`aPooq(fW(3kROXBOK-o(9ZpJR)-e1soA%G7%GB z!joM668*j}Px44vr~_TD58pJrXU+Xw@}vE&-@f+RIdDjHZ_xS|P|qzSHnRr`u%0#% zJ(LOZ&Um@~>%7IpM4<4?uLx}8jN9M)UC#lQYuO*RqKWeGPwJw-fWiw*J}vnPQ}-G` zY|&|5F4wswNn3#umW{$_%K#fX_mNkODK%(iRneRCXTxQPmVq*8ys#F5c3ugmVD5kb z>Oq_`i$3{l#_uPiE298N$BQsol;bE08yKW?iV40H3ha`5b~x*314E6p{UtgY1^5B6 z>ER2roa8nx7;mw?2#X#8TcCoj48qVz5H2j^3Ys}ENsEU8R9YL5ClRn0YrAoK{HsOg z@qOgC?+420L5X>1zK7@zTvOJS?HE31BBhb`q^Yi3zUP0h`l1%55~q!{Urn3J#9z1R0JFv9NkQ1tW^kTsFPig#E~^too+sni7Ak zH_d~&CIAFhbt}5h#VxLgIUYOAQS-pw7pnRoeV?-V(>*T&1?h~J?z|CSDHL7*5{sX+ zc+G$b%5j?rrs8JtD5WI4Nsfb=lr^Cz#wdIkaxj3_f`G$Ue1UWr&o(jWayX`|=B|7e zN@E?^=rD`?dB-AF@7?LSq&5l>?9Tyye&tvu~9{w{}%Nf zgr;=K0tnaYSo@O6f7TlHkI);wl$qt1+CfBsRI8Wxq<(w<$j*!B#to`T z)U|mxyuELVHJS?`JUn7me*m3_k)P9q3M{}Z{#X!KXHaTyGqSj^rW`>rJa0td= zxwhE~qL?W5P~2IZ@zW(9ku9YN%4^sJX z1ccK=qS&fUSBbQt70~QWP(yk@K-^pV^@T%52WF4p(Z2@%RZ*CGIVZ%F2*Y>UaEs4+ zjW0Feu&$6m1-vRhK;u<^W{TqdZj2E-QqGupfiCThkP*OPL2@q-()Q7OO zZ9SF1YHN-SiKD9*_m{)?^?BXHyo~P~-`Q4b=*li=$f^IeRBWpCrj2GoG>FsUA`_>0 z&czMJ_7}8i$A6Q{$S|orfX!J@P|c5KndjHN4pH%73BFHfhIe*?PlTsv(`OXtS|O)2 z=YAoJ;X7kUow<~9X&t7`yct><{>Ob>?GE3?aaO?PW}>n`ms_H=x?dr$c5E1-powt` z`tC&2FT%M0YtG0cqKw*TJkR~5cBS)g8k#%9i7%>+%j^=X^UGI@v;I+wH{v`!g9v>b zew_GF@r=O2{^;?tIO2UH(qdKJih~cVS@Jg)xeZ4p&}cF2j^w)bo&Mw^hDVG*pCUA~ zXZFh$-bQg|&@v{j)*v6l;aqPN0UF2F6^Q4;DK}`kG8Qgakk4Mc^kY8Ty-tg~R4XfY zJQE5c10#*j0At<5^_Qjm5Z26qL+TI2UO*RmLI;!K+Xfw}8nf}8^;(Lk15q?vJu8Xc zz?U4;RzFF!rQNCb!T@$ANF?EA1_7!W4;cKEkeC{Vk6R+82hQZc4+)w+ec*dHvpqe$ z_!)?r0*Vlq>7mA#>#}Sq_i^OV(`mCee1Sw(Y+8oFU{~e=5G5NC1;jF+z>7N0vk0xz zPbHRC6QLoSK3mPX)su{hD!`O9P#SK7@%+GP(*#*l98NYoRg6invr8orW$@NX(CJ)h z^KRjpY7UfxI4L@rD|OT>3dIPn>)lChue?Xz98a0thq<+RPO}%{ezHgr-b=)*&h7LTY%7~9w`y+ng}ul^X~G^V_ON)P3sM_n4qo>DV;aioc5`k!vVH`_u6CCWo$j`5w$r zG!(TU@cMomy5^8$DPsCi)rwewx@tz;Lfq>QKhmxcU$`xb@rCDnY_Y??wa4Y_Guj11dQtVo+>g=l3YiV;vS8mW#(xZ*hXh z&(2}t8~X+LubOJ5=Ux4elj9h^_|Qw$KTE~>gDesqHs0z6K!me_D({mN<6ko7cLCE% z@qbg^t!rJGso8^e5(&-2i+;$hGw%oSz$sI(pneTB4!U+|2rh(w$#NFx;l+5Ban}*W zYf)JJp=ZOE)MQ2L4C;=LgyXrod;n!>J^vP+1+?Z4YvyEN$kX0nM-QKlp z23tD`tQKz;f5F_e;E*Qt#!~^z17o`6uYt-~VLW1f67UVl3>BLzKq!F^BaJ_l20~pe z1_=5|6EBV&oSvAJyyPjDOYySBaPzG8k+FLgExgd0-8Y}SyQ_lrON zPJORQH3sY~{Qi3*v}M#s*YTw}L~ErNBuB9@9?9tBu-?si)00_{U*~yWE2M${C?RAR zsV30(8fO!Wp^X#{R|g-})f%o4dzyrx7-pTybzSeTUVtOhKt@iL`HP1SC#m(Tp>VgY zkANB4O*X^iGxhb#B0ypPAm?3rd$M>`=DSxo_{} zMOTqM;Z_`|Fc7T@qS8hj2RFNLZru|o6X@1HG#Fb!7lCdy<$a^pJU>qjuxz~lvdStn zAdKex9V=emm8Oi6lF-bgm_9j!zh~9O`&q1F5iVYS16!ATtLtqmR%!w;VS5{T)M> zTer(1$ti>$E+z{A`y$fJ0ZM)`VCe7ur|pnr^ERy#jhx1HFuj1RUD*{Y-{)COR8DZ1 zDr+B4ARaC%oDbV?A;1=xoP&z}*}ix_EU-+=Y4`^9{}s6^rpiiicG#m={7rCKn1T_5`cdXf;i{GxmWuf<_HCGJ9Y>y(5XMtfgWuDH_{NC6YJI%DIP3Yb zfF*FPhKyU7b#Y~?A{H_|R#I4S<3^08ddts!4 zawy|O^Kzz2hG;+}SxrUcY@;wZ{ldU!1IeT?ht$OjL3D)27)4wjFBfrNTNYSIOW5is zOwRnUxedTeMuA#QF%}Z!k%vDoX1kbAM&9+@)n#&=&@M9UW!I4b(297_c{0a@!y3pE z;wjQ_8U@?T*gA=j15d@f)w;(-2!}LhSZ5oOl+!E|oyaq_P{JYDYdkm_p&@O45=6k6 z2J%ozhDqetxPp3#f2Qu1fQv&qeUJtj)*X?s6Zg_lQX+=&%pdU4f_HkJMJSP~7QD+~ zGk1vzV=6@yv6HSSYi+G@V%Xhbld0;EzeX;NDy3Hu{qD8D-9+>RsSi~THBEhEljHl& zm(SnUj6>6;A09l9IrJ3ANird{!vw|HnhC>04?KwuE zWOO%q2I`U;a@WLAtIQ-&T;~rU9vHVjd=juRJB1VktS)`SQ^Fzspk`A7*i&~dR#*tC zYtbK#v6!DOY}QS`S6&{c)qHl_3$Fn((*ol#ap3I9AYpuC8Eyj4ydnYS=!?JN)@WTe z{Mc3x6VvvRkOi>TMsVsKkUbS;MX1Ip$H|cz7qg>0Kk%Kn!E)A6_>Rqlm>7G+LZHf_ zvBreV$~iLj^$)lVwJ}Bwj9k!7{_-Go%DEGa%wC-GW|9UEAGI%IM})P>sJi=nf8P-| z1bkNXum$%|y$FZiu7H7rw0a|Z6nvS<-XIAGbh6nBj54-syVQsjhu9Y?50|9tW+9Ve zTRkxi&Nc|Yh?sk%1-*Edjp1|oBEr4Ws?a2vz>sxpDll^%z;%l-x6=EB_4}>}9eT70 znsui~zlO3QIQ1f;tfK*NIXHwW-{hl96Id#G^%WXD@-wipe&DN=Cwjr3PPXGve$ zb~ELk$hhzGC3E!&$KmAYyKAYfhm>Yl9}}<&^D>L&jst}H<;nfVU*mJ8oags(Q(7=z zhju}({mHKM8egu}{4=JTOCu91%BiD>HFq!0PzpLYk^<_z+!At%CIPbYRLg%bi{ zxs1Bbk(&_z7~LVg^zo3F>rwj46&A3@aCdytA-jep--a?m zOP=S?1?$z`izT0SnG>(o`;RrDRy7M3e^o{EtgrHTLl7)=Soz-v&=!Pj+8T_j8j(%i zoSJ3E%O!Nb16i0qvc$yfAb%I{5I^1#yi@QSh}{_5G5ZX~?u!+;W+iCCo7{Eh9*Xbf zo@(Gv%An!l$idOdOzB3i8Z3Uu4n539cmaEK+A|R~`0dBBjCI2izSgfpVckjW7z={oyR*UlFR1gZ(n@ zX%NZ8!dB8nNykx1I*bVugx09-3me`B$tHPCPe+Ie&72@Wyb{)U5(y{2sqVmrnrL5l zXeEH)zu$&GOt5~AQBRP%S4pfDu;$)@tcuIWNb7*qh0WbnrYkKrl?)B;wncV}gG3I@ zC$Tp`#jts_1pjW8TOkv^^9^Ss_5}>77`8D*XXha#Q{0du?9eOnFPLjiP`m1Lwuez- zpMMEvdqKBjKMy%j!!gU2;7zLiGTFn6{)P?YaW6Ord<0$i^@xo4NXB|%P+d#1V`!RV zSMeCZ=NA}y(c?=OM(rC^pwbCTL^Lw%Zk?E;e*2`FfPP}IK@aw6e5x33WYqn&1^!v} zWtJS1UO$QaB1r?FUr^n2SD3G&>$iYYA8~CJzi8fyBKY3h&Q(*~)?hHff3Q)8<<*(X zUDCgVuWGK7PFDtEpMN)@SyDT5+&#x&PYigcaSYIxIe~Reo?a#p%py&{{RUHKJHlob z*g@`dvUo}$T({yBi|6qmgIm+Qni}z{weL|P>*e#-qoTE;+D|@xbcZ1QkZ9TwRblLR ziGhf!gxjabd&;>jN!fU$sM0nlDH{oA^cZM9(Ayj`dN2X-3%sgIUdx=3tM=$Gr5)iv ztKEzivA+leajC-^8m4cl;ST=EqsGeB>eIg@HD|u_xk4Z!-@)GhrgveBz{6+ncOWlSUVfM5l0U5!BFyB@iW(Tt72Kcz- zyBWEMC~Top=V4arEy7HH+$T3wxnIPD^i6Ll`KlnZF+sVx>Pn1PRN6OH9x7Shfi9^g zvXuenMxISaNV<^-o1If*R5Lrujwn6(^d3U4i6aGvB?7#=kJ|~ZQtz!RqO?>lvszXx zI(n3(rI4OGxKtp#+h1yC{T!FzdRuSbompm5FTE zwYY+m_QstjS}cg9ob99?R#s$?siOBS{hI(>T8nE@GTfM$0L}ogb!CnHPBniEaw3Se zA<*~NfthHB>Rk_2Hof5j07MCTX3ta%<`vd^mg}8XRLrg)>q*$iL(Il}{{0p*kZ4AH zb5bc@E!4DmoJtU?_XQ5{W%{WskZSL+0W}Tk!KuT2%<|tx z9sPw*;rgzLdXKml?sL(XM~|H7wbjz)T`KI7;$;6Tf3s=|dEoX;c|sR8Ld|Z&rjh{Y zQW{OPYtzjo{^Iw>!8N(S={4LZ)pt)*!5PEkdi@23%B?AI4$93dH}NH@I{d|t57;R{ zTN`xAHtog!MQmK<0EU52#>?s~fDVIOI7po-fpL2?y-QR&Zc8hFl*--5rCI@|nV6ZE z6@-&g_kEL~X1MT1DhN&)T_5XsHIogVFuMyi22FeK5jf^a-hjEwFdI z-{4NgfGK|{axtEe{0u_Z{uNs3K0}AFZH2ln8`Gxa_fdWQW~$PurW~rr$o!LdQ^4?{ zMm&FwCYl$KFa$$ga{f zqn#n?<|?E{R%D;ljSxc(8BSX`%Lx1jFt(J4@+g0aTK=Uo)&Ei zUFk7b|7l&Rqg%|Wxqy*F`ZrG~6m=_S4q`$Ozv1C2;y8{lcDLMa06m`Z;+#9U{8zsG z2DjJW40Pgi{!L)QwfB|#n*_WO&yj{|16rKqrG7%QHlbbaQZ7r=KV3}xxB^JNujY4D z5uHzc0#Uo|-pB98agzxUYM9;1tb9;G=Z9SC+;vCGV0s%Zj=Ro$JCo$8ZIw9{y6Bl5 z@mexXxb_wH-INsKv~dz2_stB6L4U8^@%v*^xbt|MTHGX$m^X$U4unX&QKR5@0!kfO zTDG-O!ohB+FhNO{K|zR6@JNYM>b&p&wtPGzA#u!C9?PYq*jWi+BNAl$qMz zZ^TZudvS6z-)`hj1X(K65<>mby1K^$3CNKA z%t6Fd8kOfrF_aU;J}lQq>);{KCyfaiwEV`VVzt+e8$tG}YI`uTzDjNc0QXel<5Ymc}bHRcf`o0T~*%nFwMG zl2wi;rple85;m-k>2VpTKad%oWX#2xAsjJOkG6stwhmBNbwY&f2MryCw2kV5pQeaNbu~a-NNgha~t)aM2xf>%sy9f~3fGcfwm6;lZ2gUn0DrYsw zE>0e<)@%j8=wxVN1U+!|;SHx%op(u5^6&1^!davZ-Y7>ZP$(l!y05ro%f1xGMB}!R zNoO~PZRw#SXf_A*Xw{nD!JV)Z+s)o@Db=&kl4e6x+t02@Mv`QWCGuJTIms96>QNU> ztBb{`k$$UNczIT3Ed4&-A>)5HS&TAPF78Ro%3dCrzBb@A-%2o7|b z9m*~#6WDas=$7nv)~?lhLr&;}3Ki?yTh?*9Z(hMdc9EoX=X7GC>n_qU#d68=_Rf@A z{ANBO>fr>RN91o#EgFF;$DP~MZ^~b9njcxwt{-Jod5#@rjmQJz>yY=@^tYpSlK6Yo zL?hq+rUx~%yBi%%x94r6jgXkE%r&5yO!V{$ zm*~Kxi+4of`LHAKMF(J^VOG)c8ojC&=eA~gnGw7ux)xC@l#WyqFjzUPf_z0o|Be8BVkSL2U7?u6BdCX8x ziybRoSirvI9;*TUyv+~8o@ZPMGuq4Ef$PMggd-AmV2%xv6r3%%;4|IVq~Qkb>&*_^ zp?8+TNf$0iRxM>H*wY>l7VEts03-n3t+i(E^LWV!$(UI8u)cOMB6vgiXc z7{Y5e(qnZ*-y+^=Id^*6(&uW*t?FbQP_3T{!64rB)0VH-NPz_!(64Mn6;!qEWOv}_ zj5&uS*`(~RLmFQm+Q8rf?UjgbB=UhEYZc@Qj>?et z9fouxp&4}>jPyM%;5z{?zt8b|Ns0wU8uaiQ(uZG%roG)EQlmF#w-IfHLyNr zEtypk=UThXl2Ty37C|!0T5cIO8|vXI3!g7rCta7hS|fN8B=wwuGRB{YSdM9fs+Q4XF)kM>B8Wh zvSiC5yd98qHRUyOe+?f5eCr9*HDoBif{7KhmmpDxWZ2)843a#?rVc)8s6j;n1Rwer zxFHQD%1`Kdg7X>8c~dl)o|7}Jq46Pl*nEs4wt&6n1bt+Go|jCLq#;lTL#T#2Gx1fv ztfM*`a<&a{L3GjY52xFDnqtf5$I}>$ZyoxoAvJ`>&JM~Dip3f!^-J86$q8q=d(x2D zw5yMK*)s2Jjos{aM<_$~SI!9r0$fupAGirxVhRA>`$6{(93DDQfBvFRfdpmy)xMCb zh0Wm^h}nmpn-8uBNn;{-dWd6VQ_1*~8U6bsAdM~~;PCG|r9V+#Fh_!eeOS(nXD)2O+Z=m>(lCJo7peK4f}d;Fk5P{cyWcBW_W;RH!gpUHOaEGVoU8r@3Fzs z9#+^-M(`Kc37by$>0UH;AEU@{2ZyrG5c)|n0^viL+&^<8BB zNgYv|(-SV;FstID89k8|IiCZ-vTP^=9)90eXkkG@`+2Iqw zrLKR;s+&<_DT}4rbc_o3(pKzPxh_^@H;jFS@+iwzER@*RR#Lc|tg=b7x;fsHnCo~; ztz6;|#NO^qVY!JqXf{Mxq_{}J*DctG< zGa?hKsz8T>`dyNO0VP@?1oCDi?;AA_F5h!RU}$UElzU`$;K)pIx^KUBVYI(K^4ZL^ zy>S;0WGOr!MxcvRV;omh>P0S%7YEGXEK^8(d%KtzmhfF}O(d?;MKHU753t|1!2 ziGu#|nadPyS`hbiN0}13`1`7Q`O!_&et${_=OC3{+0_{D>!D;RH5+`MeMJZ8DOc;YG+j2B|YE<~a5pj^H z>HG&q%?e!0M7U4MIdaw%Ju*{9SR4me-+72=iw-7hOBHhODry@{Q-C;N39oY!b7tSW zbxYlgQIDq52lsms&f!Y>w%*8u|Eg2Rto*HF}4=a#X(k^!j=}s`xX0 zvA8?U25YG-NkR`=9-?Nek*6H*0$C7=P1oejqX9#dNBj`T5Ab35l=RIA$$P@uO6qUVBa)ZnQ@K9FbyoqtELQqE%j1)T(t0x+b<&<{sRfM>ld zaJAInNby~ycO)@V_WMK#;(3a_h4pac>NWY0ET#nXX`t%utd=7ycR+&t3eq?mw6i7o zYM|d&Qr`m^^k(&F(M&W5a%J6qS6vmQj6ys1XKJkiO7IsmPbbMpHElvul?X~90v#A7 z*Ti#SS9xK6WW5S|VMv1S4}3fBIq4e4=fUK#Q$tWzh%jU#e;p`~DV&n`x)xm-a8SH! z)+P3zO2tG;`KJcfHrwPRGv!uFLc!AF~!Y2V?q!WP+*zCr$ z78P0)EB49LA>+mB4KX)sPjm~m*tv~stp@qVgfc6zoj~oC`e0 zL}8`Q{A}bp50#&X~ z?{)duJlKd_yvG(~q4b>*vg|S#JElY2s9Kyo&Y$X(Dz2!JHB~DF$m;H8lp;>g!F2u8 z0w8F`NzBVgGuG(Xc7ElD&O52qFZ~Cw1OBSDuIUhN4L>gm{Vt+Ch&Ke5EpPnKh`AS=|~{Bg^8QE)+^;w@8+Y?;)__~-hH zoRwbgZU>F-%ASR8{?E=r*AfO~m`9{`Po6a=>G-(y*cDRX4{uCzq`SE*$$=?ULOb$F+-5 zkLaoMp*oJ^u+s8z!SQI{RgsNJi}-E?hrlV&uosOAK9`i62W=<2Uk{9bcP=n;wmpnD zpl61jZ~{dl63-4h7sgh0zkem{Nww@t3I{#o_&wEFax?}HWynbUZq8DTTwl4wCc%q| zr60dc;q6X-8Wd#N1yAN~r5=^+{2GKp zQv+2(5WzksCG@F$Q<6f^HsG|GTwoG1*d#!#u>4Qa#k}IG0MowarAm$AY7+G>IbGVe zQ`D+0&EH9Sdd9y_0(uRwwrYyMdzfo&;pIDGASUr_eGe3-HNVpWD<#^vyK<`e+c@1< zomgnElkcT$4%*vyH-?45_?nXUbCb+oW4Nhmet;)={y_9NO{&5XGg_#=ZlP#}3qJD6 z2Drkz0B!(w4zCIXoeX7h+RBu`#=}uA2?GNhbFBSqvwBVSsjH_=Pug;~#mj12sxr?T zPD38(qR`AHHiPp9UeFqEO3f$zS3&J>#R8%FmRyGjZm)r)XajIIZBNp4Q)`fJ)(NgB z%DnQc)VZf?5z{igigAmY*N~F{3V{-8zIXYu^U8Cgpj6_MrioJ zmE%U)IA3V=Z^iN_yS`%cl;%qnQQOSR!lTj*{cGD$S;pI7ZtavmiyQI%>f8FSVUM+& zz6|udmoU0Co=s*{c#eDJ8fB1Od!HB&bg<@lz+VYKr?xDagg`I=2scvVy>Kmo#oD0x z@=F5hOUgK+L`YH4ZAV-_T4|yrG$^7k*y4F|5o#eVk-*9(&8~nAU_*9vdY5Rpb0*oBN1-s_G)4faalc4PlnyCZ za4OI$f|%r*EqKJjNgtd88#4|dsve2ZR709xc)8$sqZLwL;kE&HOYy-K1?JKzrtS`s zU0j6_{&&nGHDfNb8gybne-7AMaz9^P3x4VO%Fa{z}W+ zhddR+&1=ba=h}U(jra33W#M5yBkLV+RDgsBqJp~9JPva5 zvY>FS3rZMeI@#HPNU_Q$!@vt1?6aWUVgTS^@8SMVd|TGEZdGDe6U!Ymy0a)lhY|vLFpTico0-1S#ylPEki$5(T@+dE!yc)UaB{pjICLN$7@BT K!=29@W&eM-{Qt!O diff --git "a/general/process/_assets/\346\234\211\346\212\227\351\224\257\351\275\277\345\244\204\347\220\206vs\346\227\240\346\212\227\351\224\257\351\275\277\347\232\204\351\270\241\350\233\213.jpg" "b/general/process/_assets/\346\234\211\346\212\227\351\224\257\351\275\277\345\244\204\347\220\206vs\346\227\240\346\212\227\351\224\257\351\275\277\347\232\204\351\270\241\350\233\213.jpg" deleted file mode 100644 index 5f82d3fd069f8f648226d595b0c68d6d0a8c1763..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3463 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 bkf5p0TH3+84gK@pkYPFxILje9sLu00!lGD- diff --git "a/general/process/_assets/\346\241\266.jpg" "b/general/process/_assets/\346\241\266.jpg" deleted file mode 100644 index 74990e27f7c8490f6160234aa0ba334a690f097d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4280 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 MTFB5#SKie1eqn>n}bh|PZt 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 diff --git "a/general/process/_assets/\346\265\267\345\270\246.jpg" "b/general/process/_assets/\346\265\267\345\270\246.jpg" deleted file mode 100644 index 6576b01950ebe764b6afc08af68244e6ce3ca3a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5012 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 diff --git "a/general/process/_assets/\346\265\267\346\264\213\344\271\213\345\277\203.jpg" "b/general/process/_assets/\346\265\267\346\264\213\344\271\213\345\277\203.jpg" deleted file mode 100644 index e1770be21ff3c04cdb2944b42134e906caf09060..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5208 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 j7{lIh=&I$R<(9HWrk)bZMo+zvyTz)jN+3> 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 diff --git "a/general/process/_assets/\347\233\264\347\272\277\344\270\216\346\233\262\347\272\277\344\270\255\347\232\204\351\224\257\351\275\277\350\241\250\347\216\260.jpg" "b/general/process/_assets/\347\233\264\347\272\277\344\270\216\346\233\262\347\272\277\344\270\255\347\232\204\351\224\257\351\275\277\350\241\250\347\216\260.jpg" deleted file mode 100644 index 4e0d1bc40fdd66b792b9716764e3370046950da3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10973 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 diff --git "a/general/process/_assets/\347\256\261\345\275\242UV\350\264\264\345\233\276.jpg" "b/general/process/_assets/\347\256\261\345\275\242UV\350\264\264\345\233\276.jpg" deleted file mode 100644 index 80357a70ae8beca33a6187aaa99c5eb4b6ccc56f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6391 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

    14U!ib OINO|!uzA0d;Qs*+uA{dA diff --git "a/general/process/_assets/\351\222\273\347\237\263\345\211\221.jpg" "b/general/process/_assets/\351\222\273\347\237\263\345\211\221.jpg" deleted file mode 100644 index d98902c71c050c3f9e1b334a8ba01aa43b78249f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5863 zcmXw7WmFtY&s`jfQ{3I%p}1Rt;_fUgy0{j%MT z*0BG?ZyIw?PA+L@2j~B0*@3{W;5S|w1h#a3LtKy>*!rLFP5R}{HNRafFvuJ9kAXu* zMt%b{b5AbmU;x@b>b<42gR7IJgZEo!bO2(|8$|#DJDUHiz1iDh@G!8U@NZjvbF?yd z#{s;1M@aSS&H)Q+&Q^kZkVS?UKpBFp-mLPHDwsv{#nTjy2{uM(j?IyoEDlZ_ZBBu_ z^Xd-gBc^qNG5>nC?ssN^_@Kp%3^SI8z5%`zw^EmNVrqVYOd2MORjDM{sOB$sbND{z zp1vOvJK~(W@%XF1K>L#uyQxZK7|U=H!rh4^*Phl|XNG@nB_G~VU;oLwZl8=cusM|_ zMHvXq=QJ^D2#8>%?uI~uxcm8r!Z5ER^prLB}97xo88F#u*v!~W42UH^<>0^d!+kFnsC`b zR$1H3PqK^Fy9&&{lEP;s(U+O997j1Yz-GSa-8%%EgNyKkGSKYfzU6v!TyO*TM%-Fr zrEEHj_I};?Rt~2rz9fY{6SO@1oA0q?$YJcgid#!Vzy?hHJFd^G`gB%yMv?TIusDX4 z-%^K_YWkD`4|Qq&(vcEkE+kjxNEp-0xv{SRE0`g0WJn5^j3n19Cz}G2^ z0oSdu;pJCI;KvkDZEQ;0ub;SoDtT1TkW>Z!q^uYWtXAdc4t-L|(V^R0K4&5?9#e207#qD{>%&Qm61b$IQ&8z~Zn)XM2vdBDPYB?|ub=W*B z_UX)@*0-)bp$RoYaV}d|S${>-j=EgPml=W|MkY~pHpJhO6U44y(ltP|r}O6nG=mqk z^$o#-clm(z4<(Fh9DAop#-4WL;RC4B=aD28G-{yoERo^a)qaCS9)F70cYBH`@A4jA zQJ5Z%2g~P_!@$lZ)`#`O>&$c2Ow?1|K@A0m^7wpGGjTkz&o|xOwol6pJ@})hpv-o% zuFVoTmc$iR*$;~VJy<#~1i!w4+Fnvbb%Q9Sn_{o>>my(2JdoAFe`8aA-f+cWO0x-b zg1zj*()2lqhbGs|U*r#Yqoog?j@1jn8p9^Phe#65JLSy}lL4Ex_JYSTLfGj^I%JRg zqw;c`8FWuy!?nNIT$8J+n%1n$%&tHc?uVL>r!{ryKU`w54h}7-(@48!Z|5bMOgU2o z<^YC(GJKzmVCAIIHT-%fc6s=uqNH9r%Rbxo;}0iQSdy4AUeNGtj=-c`g-<(Qi4hYy+l#w? zYvMrX7c6y#Fn@-|_9HmDuhuk*bbYHh?xz`Rix)3KBU`t$R`_gmwwmmyBlorymP1_~ zP~rmr=<|<};g8`e$1SqMe{Ug`006Rvf26E;zd)7TRD#UZD?%`Rk`2!%rp-`|vXO_msNuK)~EJJ0C*fXWG_{+0w7B2qT{(qXmo*~PC*s`5&h#x#LjNNTCNsf3R~#5?y1!oUvXaIpR{5*vl)lJB7R5}ZlWYH6);(c=G0j;@BXvzkfeS;9rxkf}gk+yqJBgO!jFD^%e`TYKa>miMue_`Fg1>pzXz_FN(uaS9hIj+Jdhhs@2 zjA|IieA#)uKVAt%3rYCe*mQe-k2je?2uSPzKv^Yn{CRxQ$Q`jZr&XpW!&>& zl9=GN%7x!%Vn7j5%-!JXFV+PGL2$JgC8Cw4Fg3zSl@QK~?~J_%5E&pC5~z{!bNHu$ z4c%_10R~|~58>_(o4MJ>vW7lH638_sb$*pva+qD^zVUMqQSrGW(`X*5yhyL9U-ofx z#{&(E^Er>liDO3bPzA5^2g-cC8jMd!9TGMNn0^YAwpOB{e43I3RV|Ndc&zRl>pb5I zNr20H48i#rx}G)?cCw4xUX*!4q{rBWsi(gf?H8o%x#}!(7iq-=5ny~~7DADg40Iki zyxYkz_#kGMm6TfHF#!?U+)Y7flnBk5G=@^E*`$zw?$tagSRZdJoR6ebFbUT zS?@%IUPp*NLU?cmJ!|*t61{#Fp{9-(bDREbzc~?zi_a%(1W^u?v+JN38N&-?y|hLw zdgSs{daVCB6x&cd>RzM#I-hwJFhx3=Z?aMV3>z}C34YK??K4N6%g+34M0#ukTfYfFIb2;99~$^6=kF%|6Em5@<wk`N!Sy*KetXgmbi^9;($m!5>R2D9(pG%~2vZ$}Au$*I?ie0=gkRQirHrU3@64oa}ur>0nH)~mv| zZjlOV;HXfo}IYPWtpU}gMc;}>|3d994X>@yeR^)JF5NUbngntjo=})JX{23%$ zkmQb_6-Fji5bj5_K<`IwY7wZf=0*c+gaWWVEHUV#;sV_wEFlKW3aM1>TFX z@pbpiljt#-JxR59QEm~6tqEbSYTZfs*N2P3f4+&+c)|bz7W&s- z3|%)cx($_Vo~O=_91c!AX>ipJjL*qktCMyrwG95O=G<}ktcn-@;jpkzis(zbjLiOm zRnIcOD||%wjsK>EvAn~{(L185#`e!jtDjVzLY@w*Rdz9{c-TVBHL4}A*E?_i-h2g{t(U(PKPmUOIgBy3>5RXQmg*tJJgH0PyH|!r zbs~FSrCJZ@A_H?zuz0g_^l5f)f10#u@eK_=?tCIk(#LO5fQ}5eDw3JDU@C}ESM&u7 z%s8(E(0|D7kQO{u=Cwd2m~3H0wv#m4Cn?%afKv%PCoPyfhKeKwXNX?OG+IlJU7Rkk zx+PaGoZE2Bp?923aB3i~Myvr5kt$|BUN+~-A_1333(zQ}l0;X~LSKYa0e((W=;-m{ zigS=B%XH+nM1}N>L#~q(wIO0%Ra%08BG~?BKTL6+T%G5M=?%YoWKQRe4fANX1`d=Z zqJiJC(BG@0X2i@aXH}Z?v(+1feLYzOsMD&VE{%gb4UN!iWtM~Ku5o!zN^R>Q(Tu^Fzl8yEYe66w6l(%Fa0R74|b>F8MPoc&kP z&$mP`Mkz{ZniE#hr`vK>jUdRfBF`ldvmNkbP*o)^nP^t;so~OT+y-Ak01CL@qU)a1)@&w znQ}XYu9dt>k5Lz0(&~hs-bRJwas~(@3b+(j2U%HZnxjbHfdo=C+OP12c;*hU#8|iG zi!H=+~_E-1nz=(0@j15)<@ z$)u04lvu%x2x9Xuhs5RzD_mM!-~=O2&&e~TqDo%$prMb;RgEPkqa6hevmt`9hkH-2 z)tVr6y`zO-=!Jv|^}Hf&()@N;#a!OpU-d3&hl0iXW6thUSYzTwg5-{pKxb${l6`=d zKAvw?Nlg~idQ*Hd!?uu*!fr`0a$9+S(7O_dsT;rld}U=+@Yt3g)E~^RNif|>x)r{r z07|*7Q5d}=h(?%jhe~k{}U)_KkQd>`BYohNkXSl`6XUItpfwTqX`LZEPs@KwdpSXkaB)+ zVx`LpjP`gKW>fGEE~LKknWo{@8M%4K9szz$i_}SAOnP~fD$)4$=7tJQP%%b+FY}nw z3ww;z{*MdfyEQs$ovRC?W_;jcL1=ZkXwBP(_e6%5W0All`AHc8J6|~)iHc^1&w>F2WvZ?aiD&C1&;H4w% zM$v74r3mXqU>G?!$Oq1*z5Na};OU6zle=qX?U2UJm5)a&M(74kBMe!%NfSP{!WIWQ z*vwc)HaF6y=#&bZ5hWn%7^T-&98>&&E9AW6S#S5EZ18++(hy15>1VbCFLbq(*7PWZ z8D%@Sdk_IPHq$+o>u6Egz3ufYQL$S8&L>!4j-gfb;|Ul` zVB?f|tnW9=)IIopdsUM{$9euF%5j;ce&tg1$7Vjc zlC|r<)1xaZW-YUQu^{C3u66c!AT0FlYzQcQS{sTWzKBh284Ikpr-Phb5%s7r4Y>(_ z4u>Tzh*}siDe$iT^#gArfg7~{v zN8|t<#^jogS_<=S7EE@aVzUqj3zYsAb89EQzV!LOuzX z_IinYu0>^0S^0+8mF<3?oP-;k_(isdlVdD(vMvi={@-06jwB@euZd*#?z=EUi|Bv` zzd3AQV}6fvmXN4i%YOSQ-pU4CmlmqODe}7L0CcHf<7WUT4 z_L^V_OnlL<<(t{U1p~7XBVo`H*>0JJfLTq!ufamQoI&+ ix8rK~^Pke=EW9U}dorQ9in&rUn4gdXwe6{B?fwtcuK}O{ diff --git a/general/process/advance/domain-registration.md b/general/process/advance/domain-registration.md deleted file mode 100644 index 4d09876c0..000000000 --- a/general/process/advance/domain-registration.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: 申请域名 -sidebar_position: 3 ---- - -# 申请域名 - -请见 [通用 | 申请域名](/advance/domain-and-dns) diff --git a/general/process/advance/linux.md b/general/process/advance/linux.md deleted file mode 100644 index 7dc0a41d0..000000000 --- a/general/process/advance/linux.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: Linux 开服 -sidebar_position: 1 ---- - -# Linux 开服 - -请见 [通用 | Linux 开服](/Sundry/Advance/Linux) diff --git a/general/process/bot.md b/general/process/bot.md deleted file mode 100644 index 964f9c201..000000000 --- a/general/process/bot.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -title: 机器人搭建 -sidebar_position: 10 ---- - -请见 [通用 | 群机器人](/advance/bot) diff --git a/general/process/process.md b/general/process/process.md deleted file mode 100644 index 1a3b68bbb..000000000 --- a/general/process/process.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: 建设阶段 -slug: /process -sidebar_position: 5 ---- - -# 建设阶段 - -在这个阶段,你已经了解了基础知识,是时候学习一些进阶知识了。 - -在这一章我们主要围绕以下几个点: - -插件 - 推荐一些常见的插件,并且提及相关的注意事项和基础知识; - -手机玩家支持 - 这部分比较复杂,且通常在国内网站上没有真正详尽的介绍; - -跨服 - 介绍反向代理端,指导搭建自己的反向代理服务器。 diff --git a/general/process/whitelist.mdx b/general/process/whitelist.mdx deleted file mode 100644 index 8e56ba413..000000000 --- a/general/process/whitelist.mdx +++ /dev/null @@ -1,102 +0,0 @@ ---- -title: 白名单 -sidebar_position: 7 ---- - -# 白名单 - -白名单是一种服务器管理工具,只允许在白名单上的玩家进入服务器 - -:::caution - -白名单最好与正版验证或其他第三方验证一起使用,不然很容易被绕过 - -::: - -## 开启 - -你需要先在服务端配置文件中打开白名单功能才能使用 - -import { TabItem, Tabs } from "@astrojs/starlight/components"; - - - - -包括所有 Java 版服务端 - -在 `server.properties` 中打开 `white-list` - -```properties -white-list=true -``` - - - - -包括 LeviLamina 和 EndStone 服务器 - -在 `server.properties` 中打开 `allow-list` - -```properties -allow-list=true -``` - - - - -包括 NukkitX,PowerNukkitX,NukkitX-MOT,PM1E - -在 `server.properties` 中打开 `allow-list` - -```properties -allow-list=on -``` - - - - -## 添加/删除玩家 - - - - -- `/whitelist add` 将玩家名添加到白名单。该玩家不需要在线。 -- `/whitelist list` — 列出白名单中的玩家名。 -- `/whitelist off` — 在此服务器上禁用白名单验证。 -- `/whitelist on` — 在此服务器上启用白名单验证。 -- `/whitelist reload` — - 从硬盘中重新读取 `white-list.txt`(1.7.5 及以前)或 `whitelist.json`(1.7.6 及以后)中的白名单列表(当 `white-list.txt` 或 w - `whitelist.json` 在 Minecraft 外被修改时使用)。 -- `/whitelist remove` — 将玩家名从白名单中移除。该玩家不需要在线。 - - - - -- `/allowlist add` 将玩家名添加到白名单。该玩家不需要在线。 -- `/allowlist list` — 列出白名单中的玩家名。 -- `/allowlist off` — 在此服务器上禁用白名单验证。 -- `/allowlist on` — 在此服务器上启用白名单验证。 -- `/allowlist reload` — - 从硬盘中 `allowlist.json` 中的白名单列表(当 `allowlist.json` 在 Minecraft 外被修改时使用)。 -- `/allowlist remove` — 将玩家名从白名单中移除。该玩家不需要在线。 - - - - -## 扩展插件 - -### BistroWhitelist (Java 版) - -:::note - -`官网` https://wiki.mcxjg.cn/ - -`Gitee` https://gitee.com/myKasa/BistroWhitelist - -`文档 (中文)` https://wiki.mcxjg.cn/wiki/BistroWhitelist/%E7%AE%80%E4%BB%8B/ - -`MineBBS` https://www.minebbs.com/resources/bistrowhitelist-bistrobot-qq.9058/ - -::: - -带有许多功能的白名单插件,支持 Q 群白名单,Geyser,跨服白名单等 diff --git a/general/start/start.md b/general/start/start.md deleted file mode 100644 index 70dd87a97..000000000 --- a/general/start/start.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: 开始阶段 -slug: /start -sidebar_position: 4 ---- - -# 开始阶段 - -在这个阶段,我们主要为你介绍服务器基础知识,如何区别客户端和服务端、如何选择服务端、如何搭建并连接等。 diff --git a/package.json b/package.json index c1330be22..f8254bb99 100644 --- a/package.json +++ b/package.json @@ -12,15 +12,18 @@ "dependencies": { "@astrojs/starlight": "^0.37.1", "@astrojs/starlight-docsearch": "^0.6.1", + "@astrojs/vue": "^5.1.4", "@tailwindcss/vite": "^4.1.18", "astro": "^5.16.6", "astro-mermaid": "^1.2.0", "mermaid": "^11.12.2", + "naive-ui": "^2.43.2", "sharp": "^0.34.2", "starlight-giscus": "^0.8.1", "starlight-image-zoom": "^0.13.2", "starlight-sidebar-topics": "^0.6.2", - "starlight-sidebar-topics-dropdown": "^0.5.2" + "starlight-sidebar-topics-dropdown": "^0.5.2", + "vue": "^3.5.27" }, "devDependencies": { "@vite-pwa/astro": "^1.2.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c32ea351d..67d1d4599 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -14,6 +14,9 @@ importers: '@astrojs/starlight-docsearch': specifier: ^0.6.1 version: 0.6.1(@algolia/client-search@5.46.2)(@astrojs/starlight@0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)))(search-insights@2.17.3) + '@astrojs/vue': + specifier: ^5.1.4 + version: 5.1.4(@types/node@25.0.2)(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3))(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(vue@3.5.27(typescript@5.9.3)) '@tailwindcss/vite': specifier: ^4.1.18 version: 4.1.18(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)) @@ -26,6 +29,9 @@ importers: mermaid: specifier: ^11.12.2 version: 11.12.2 + naive-ui: + specifier: ^2.43.2 + version: 2.43.2(vue@3.5.27(typescript@5.9.3)) sharp: specifier: ^0.34.2 version: 0.34.5 @@ -41,6 +47,9 @@ importers: starlight-sidebar-topics-dropdown: specifier: ^0.5.2 version: 0.5.2(@astrojs/starlight@0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)))(starlight-sidebar-topics@0.6.2(@astrojs/starlight@0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)))) + vue: + specifier: ^3.5.27 + version: 3.5.27(typescript@5.9.3) devDependencies: '@vite-pwa/astro': specifier: ^1.2.0 @@ -146,6 +155,9 @@ packages: '@antfu/install-pkg@1.1.0': resolution: {integrity: sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==} + '@antfu/utils@0.7.10': + resolution: {integrity: sha512-+562v9k4aI80m1+VuMHehNJWLOFjBnXn3tdOitzD0il5b7smkSBal4+a3oKiQTbrwMmN/TBUMDvbdoWDehgOww==} + '@anthropic-ai/claude-code@1.0.128': resolution: {integrity: sha512-uUg5cFMJfeQetQzFw76Vpbro6DAXst2Lpu8aoZWRFSoQVYu5ZSAnbBoxaWmW/IgnHSqIIvtMwzCoqmcA9j9rNQ==} engines: {node: '>=18.0.0'} @@ -193,10 +205,21 @@ packages: resolution: {integrity: sha512-UFBgfeldP06qu6khs/yY+q1cDAaArM2/7AEIqQ9Cuvf7B1hNLq0xDrZkct+QoIGyjq56y8IaE2I3CTvG99mlhQ==} engines: {node: 18.20.8 || ^20.3.0 || >=22.0.0} + '@astrojs/vue@5.1.4': + resolution: {integrity: sha512-srE+3tgSnGG4FVr7Bs9JAgLcUAg1mtGrbBFdwlj++Y05Awwlc967WCcmOK6rnxQ6q5PcK5+WL2x2tKoWh5SN7A==} + engines: {node: 18.20.8 || ^20.3.0 || >=22.0.0} + peerDependencies: + astro: ^5.0.0 + vue: ^3.2.30 + '@babel/code-frame@7.27.1': resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} engines: {node: '>=6.9.0'} + '@babel/code-frame@7.29.0': + resolution: {integrity: sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==} + engines: {node: '>=6.9.0'} + '@babel/compat-data@7.28.5': resolution: {integrity: sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==} engines: {node: '>=6.9.0'} @@ -209,6 +232,10 @@ packages: resolution: {integrity: sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==} engines: {node: '>=6.9.0'} + '@babel/generator@7.29.0': + resolution: {integrity: sha512-vSH118/wwM/pLR38g/Sgk05sNtro6TlTJKuiMXDaZqPUfjTFcudpCOt00IhOfj+1BFAX+UFAlzCU+6WXr3GLFQ==} + engines: {node: '>=6.9.0'} + '@babel/helper-annotate-as-pure@7.27.3': resolution: {integrity: sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==} engines: {node: '>=6.9.0'} @@ -217,8 +244,8 @@ packages: resolution: {integrity: sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==} engines: {node: '>=6.9.0'} - '@babel/helper-create-class-features-plugin@7.28.5': - resolution: {integrity: sha512-q3WC4JfdODypvxArsJQROfupPBq9+lMwjKq7C33GhbFYJsufD0yd/ziwD+hJucLeWsnFPWZjsU2DNFqBPE7jwQ==} + '@babel/helper-create-class-features-plugin@7.28.6': + resolution: {integrity: sha512-dTOdvsjnG3xNT9Y0AUg1wAl38y+4Rl4sf9caSQZOXdNqVn+H+HbbJ4IyyHaIqNR6SW9oJpA/RuRjsjCw2IdIow==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -260,14 +287,18 @@ packages: resolution: {integrity: sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==} engines: {node: '>=6.9.0'} + '@babel/helper-plugin-utils@7.28.6': + resolution: {integrity: sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==} + engines: {node: '>=6.9.0'} + '@babel/helper-remap-async-to-generator@7.27.1': resolution: {integrity: sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-replace-supers@7.27.1': - resolution: {integrity: sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==} + '@babel/helper-replace-supers@7.28.6': + resolution: {integrity: sha512-mq8e+laIk94/yFec3DxSjCRD2Z0TAjhVbEJY3UQrlwVo15Lmt7C2wAUbK4bjnTs4APkwsYLTahXRraQXhb1WCg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -301,6 +332,11 @@ packages: engines: {node: '>=6.0.0'} hasBin: true + '@babel/parser@7.29.0': + resolution: {integrity: sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==} + engines: {node: '>=6.0.0'} + hasBin: true + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.28.5': resolution: {integrity: sha512-87GDMS3tsmMSi/3bWOte1UblL+YUTFMV8SZPZ2eSEL17s74Cw/l63rR6NmGVKMYW2GYi85nE+/d6Hw5N0bEk2Q==} engines: {node: '>=6.9.0'} @@ -331,12 +367,24 @@ packages: peerDependencies: '@babel/core': ^7.0.0 + '@babel/plugin-proposal-decorators@7.29.0': + resolution: {integrity: sha512-CVBVv3VY/XRMxRYq5dwr2DS7/MvqPm23cOCjbwNnVrfOqcWlnefua1uUs0sjdKOGjvPUG633o07uWzJq4oI6dA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2': resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-decorators@7.28.6': + resolution: {integrity: sha512-71EYI0ONURHJBL4rSFXnITXqXrrY8q4P0q006DPfN+Rk+ASM+++IBXem/ruokgBZR8YNEWZ8R6B+rCb8VcUTqA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-import-assertions@7.27.1': resolution: {integrity: sha512-UT/Jrhw57xg4ILHLFnzFpPDlMbcdEicaAtjPQpbj9wa8T4r5KVWCimHcL/460g8Ht0DMxDyjsLgiWSkVjnwPFg==} engines: {node: '>=6.9.0'} @@ -349,6 +397,23 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-import-meta@7.10.4': + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-jsx@7.28.6': + resolution: {integrity: sha512-wgEmr06G6sIpqr8YDwA2dSRTE3bJ+V0IfpzfSY3Lfgd7YWOaAdlykvJi13ZKBt8cZHfgH1IXN+CL656W3uUa4w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-typescript@7.28.6': + resolution: {integrity: sha512-+nDNmQye7nlnuuHDboPbGm00Vqg3oO8niRRL27/4LYHUsHYh0zJ1xWOz0uRwNFmM1Avzk8wZbc6rdiYhomzv/A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-unicode-sets-regex@7.18.6': resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} engines: {node: '>=6.9.0'} @@ -637,6 +702,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-typescript@7.28.6': + resolution: {integrity: sha512-0YWL2RFxOqEm9Efk5PvreamxPME8OyY0wM5wh5lHjF+VtVhdneCWGzZeSqzOfiobVqQaNCd2z0tQvnI9DaPWPw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-unicode-escapes@7.27.1': resolution: {integrity: sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==} engines: {node: '>=6.9.0'} @@ -680,14 +751,26 @@ packages: resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==} engines: {node: '>=6.9.0'} + '@babel/template@7.28.6': + resolution: {integrity: sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==} + engines: {node: '>=6.9.0'} + '@babel/traverse@7.28.5': resolution: {integrity: sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==} engines: {node: '>=6.9.0'} + '@babel/traverse@7.29.0': + resolution: {integrity: sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==} + engines: {node: '>=6.9.0'} + '@babel/types@7.28.5': resolution: {integrity: sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==} engines: {node: '>=6.9.0'} + '@babel/types@7.29.0': + resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==} + engines: {node: '>=6.9.0'} + '@braintree/sanitize-url@7.1.1': resolution: {integrity: sha512-i1L7noDNxtFyL5DmZafWy1wRVhGehQmzZaz1HiN5e7iylJMSZR7ekOV7NsIqa5qBldlLrsKv4HbgFUVlQrz8Mw==} @@ -713,6 +796,16 @@ packages: '@chevrotain/utils@11.0.3': resolution: {integrity: sha512-YslZMgtJUyuMbZ+aKvfF3x1f5liK4mWNxghFRv7jqRR9C3R3fAOGTTKvxXDa2Y1s9zSbcpuO0cAxDYsc9SrXoQ==} + '@css-render/plugin-bem@0.15.14': + resolution: {integrity: sha512-QK513CJ7yEQxm/P3EwsI+d+ha8kSOcjGvD6SevM41neEMxdULE+18iuQK6tEChAWMOQNQPLG/Rw3Khb69r5neg==} + peerDependencies: + css-render: ~0.15.14 + + '@css-render/vue3-ssr@0.15.14': + resolution: {integrity: sha512-//8027GSbxE9n3QlD73xFY6z4ZbHbvrOVB7AO6hsmrEzGbg+h2A09HboUyDgu+xsmj7JnvJD39Irt+2D0+iV8g==} + peerDependencies: + vue: ^3.0.11 + '@ctrl/tinycolor@4.2.0': resolution: {integrity: sha512-kzyuwOAQnXJNLS9PSyrk0CWk35nWJW/zl/6KvnTBMFK65gm7U1/Z5BqjxeapjZCIhQcM/DsrEmcbRwDyXyXK4A==} engines: {node: '>=14'} @@ -743,6 +836,9 @@ packages: '@emnapi/runtime@1.7.1': resolution: {integrity: sha512-PVtJr5CmLwYAU9PZDMITZoR5iAOShYREoR45EyyLrbntV50mdePTgUn4AmOw90Ifcj+x2kRjdzr1HP3RrNiHGA==} + '@emotion/hash@0.8.0': + resolution: {integrity: sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==} + '@esbuild/aix-ppc64@0.25.12': resolution: {integrity: sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==} engines: {node: '>=18'} @@ -1146,6 +1242,9 @@ packages: '@jridgewell/trace-mapping@0.3.31': resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} + '@juggle/resize-observer@3.4.0': + resolution: {integrity: sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==} + '@mdx-js/mdx@3.1.1': resolution: {integrity: sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ==} @@ -1270,6 +1369,12 @@ packages: resolution: {integrity: sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==} engines: {node: '>= 10.0.0'} + '@polka/url@1.0.0-next.29': + resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==} + + '@rolldown/pluginutils@1.0.0-rc.2': + resolution: {integrity: sha512-izyXV/v+cHiRfozX62W9htOAvwMo4/bXKDrQ+vom1L1qRuexPock/7VZDAhnpHCLNejd3NJ6hiab+tO0D44Rgw==} + '@rollup/plugin-babel@5.3.1': resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==} engines: {node: '>= 10.0.0'} @@ -1429,6 +1534,9 @@ packages: cpu: [x64] os: [win32] + '@sec-ant/readable-stream@0.4.1': + resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==} + '@shikijs/core@3.20.0': resolution: {integrity: sha512-f2ED7HYV4JEk827mtMDwe/yQ25pRiXZmtHjWF8uzZKuKiEsJR7Ce1nuQ+HhV9FzDcbIo4ObBCD9GPTzNuy9S1g==} @@ -1450,6 +1558,10 @@ packages: '@shikijs/vscode-textmate@10.0.2': resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==} + '@sindresorhus/merge-streams@4.0.0': + resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==} + engines: {node: '>=18'} + '@surma/rollup-plugin-off-main-thread@2.2.3': resolution: {integrity: sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==} @@ -1663,6 +1775,15 @@ packages: '@types/js-yaml@4.0.9': resolution: {integrity: sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==} + '@types/katex@0.16.8': + resolution: {integrity: sha512-trgaNyfU+Xh2Tc+ABIb44a5AYUpicB3uwirOioeOkNPPbmgRNtcWyDeeFRzjPZENO9Vq8gvVqfhaaXWLlevVwg==} + + '@types/lodash-es@4.17.12': + resolution: {integrity: sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==} + + '@types/lodash@4.17.23': + resolution: {integrity: sha512-RDvF6wTulMPjrNdCoYRC8gNR880JNGT8uB+REUpC2Ns4pRqQJhGz90wh7rgdXDPpCczF3VGktDuFGVnz8zP7HA==} + '@types/mdast@4.0.4': resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} @@ -1712,6 +1833,76 @@ packages: '@vite-pwa/assets-generator': optional: true + '@vitejs/plugin-vue-jsx@4.2.0': + resolution: {integrity: sha512-DSTrmrdLp+0LDNF77fqrKfx7X0ErRbOcUAgJL/HbSesqQwoUvUQ4uYQqaex+rovqgGcoPqVk+AwUh3v9CuiYIw==} + engines: {node: ^18.0.0 || >=20.0.0} + peerDependencies: + vite: ^5.0.0 || ^6.0.0 + vue: ^3.0.0 + + '@vitejs/plugin-vue@5.2.4': + resolution: {integrity: sha512-7Yx/SXSOcQq5HiiV3orevHUFn+pmMB4cgbEkDYgnkUWb0WfeQ/wa2yFv6D5ICiCQOVpjA7vYDXrC7AGO8yjDHA==} + engines: {node: ^18.0.0 || >=20.0.0} + peerDependencies: + vite: ^5.0.0 || ^6.0.0 + vue: ^3.2.25 + + '@vue/babel-helper-vue-transform-on@1.5.0': + resolution: {integrity: sha512-0dAYkerNhhHutHZ34JtTl2czVQHUNWv6xEbkdF5W+Yrv5pCWsqjeORdOgbtW2I9gWlt+wBmVn+ttqN9ZxR5tzA==} + + '@vue/babel-plugin-jsx@1.5.0': + resolution: {integrity: sha512-mneBhw1oOqCd2247O0Yw/mRwC9jIGACAJUlawkmMBiNmL4dGA2eMzuNZVNqOUfYTa6vqmND4CtOPzmEEEqLKFw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + peerDependenciesMeta: + '@babel/core': + optional: true + + '@vue/babel-plugin-resolve-type@1.5.0': + resolution: {integrity: sha512-Wm/60o+53JwJODm4Knz47dxJnLDJ9FnKnGZJbUUf8nQRAtt6P+undLUAVU3Ha33LxOJe6IPoifRQ6F/0RrU31w==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@vue/compiler-core@3.5.27': + resolution: {integrity: sha512-gnSBQjZA+//qDZen+6a2EdHqJ68Z7uybrMf3SPjEGgG4dicklwDVmMC1AeIHxtLVPT7sn6sH1KOO+tS6gwOUeQ==} + + '@vue/compiler-dom@3.5.27': + resolution: {integrity: sha512-oAFea8dZgCtVVVTEC7fv3T5CbZW9BxpFzGGxC79xakTr6ooeEqmRuvQydIiDAkglZEAd09LgVf1RoDnL54fu5w==} + + '@vue/compiler-sfc@3.5.27': + resolution: {integrity: sha512-sHZu9QyDPeDmN/MRoshhggVOWE5WlGFStKFwu8G52swATgSny27hJRWteKDSUUzUH+wp+bmeNbhJnEAel/auUQ==} + + '@vue/compiler-ssr@3.5.27': + resolution: {integrity: sha512-Sj7h+JHt512fV1cTxKlYhg7qxBvack+BGncSpH+8vnN+KN95iPIcqB5rsbblX40XorP+ilO7VIKlkuu3Xq2vjw==} + + '@vue/devtools-core@7.7.9': + resolution: {integrity: sha512-48jrBSwG4GVQRvVeeXn9p9+dlx+ISgasM7SxZZKczseohB0cBz+ITKr4YbLWjmJdy45UHL7UMPlR4Y0CWTRcSQ==} + peerDependencies: + vue: ^3.0.0 + + '@vue/devtools-kit@7.7.9': + resolution: {integrity: sha512-PyQ6odHSgiDVd4hnTP+aDk2X4gl2HmLDfiyEnn3/oV+ckFDuswRs4IbBT7vacMuGdwY/XemxBoh302ctbsptuA==} + + '@vue/devtools-shared@7.7.9': + resolution: {integrity: sha512-iWAb0v2WYf0QWmxCGy0seZNDPdO3Sp5+u78ORnyeonS6MT4PC7VPrryX2BpMJrwlDeaZ6BD4vP4XKjK0SZqaeA==} + + '@vue/reactivity@3.5.27': + resolution: {integrity: sha512-vvorxn2KXfJ0nBEnj4GYshSgsyMNFnIQah/wczXlsNXt+ijhugmW+PpJ2cNPe4V6jpnBcs0MhCODKllWG+nvoQ==} + + '@vue/runtime-core@3.5.27': + resolution: {integrity: sha512-fxVuX/fzgzeMPn/CLQecWeDIFNt3gQVhxM0rW02Tvp/YmZfXQgcTXlakq7IMutuZ/+Ogbn+K0oct9J3JZfyk3A==} + + '@vue/runtime-dom@3.5.27': + resolution: {integrity: sha512-/QnLslQgYqSJ5aUmb5F0z0caZPGHRB8LEAQ1s81vHFM5CBfnun63rxhvE/scVb/j3TbBuoZwkJyiLCkBluMpeg==} + + '@vue/server-renderer@3.5.27': + resolution: {integrity: sha512-qOz/5thjeP1vAFc4+BY3Nr6wxyLhpeQgAE/8dDtKo6a6xdk+L4W46HDZgNmLOBUDEkFXV3G7pRiUqxjX0/2zWA==} + peerDependencies: + vue: 3.5.27 + + '@vue/shared@3.5.27': + resolution: {integrity: sha512-dXr/3CgqXsJkZ0n9F3I4elY8wM9jMJpP3pvRG52r6m0tu/MsAFIe6JpXVGeNMd/D9F4hQynWT8Rfuj0bdm9kFQ==} + acorn-jsx@5.3.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: @@ -1805,6 +1996,9 @@ packages: resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==} engines: {node: '>= 0.4'} + async-validator@4.2.5: + resolution: {integrity: sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==} + async@3.2.6: resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==} @@ -1857,6 +2051,9 @@ packages: bcp-47@2.1.0: resolution: {integrity: sha512-9IIS3UPrvIa1Ej+lVDdDwO7zLehjqsaByECw0bu2RRGP73jALm6FYbzI5gWbgHLvNdkvfXB5YrSbocZdOS0c0w==} + birpc@2.9.0: + resolution: {integrity: sha512-KrayHS5pBi69Xi9JmvoqrIgYGDkD6mcSe/i6YKi3w5kekCLzrX4+nawcXqrj2tIp50Kw/mT/s3p+GVK0A0sKxw==} + boolbase@1.0.0: resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} @@ -1888,6 +2085,10 @@ packages: buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + bundle-name@4.1.0: + resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} + engines: {node: '>=18'} + call-bind-apply-helpers@1.0.2: resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} engines: {node: '>= 0.4'} @@ -2008,6 +2209,10 @@ packages: resolution: {integrity: sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==} engines: {node: '>=18'} + copy-anything@4.0.5: + resolution: {integrity: sha512-7Vv6asjS4gMOuILabD3l739tsaxFQmC+a7pLZm02zyvs8p977bL3zEgq3yDk5rn9B0PbYgIv++jmHcuUab4RhA==} + engines: {node: '>=18'} + core-js-compat@3.47.0: resolution: {integrity: sha512-IGfuznZ/n7Kp9+nypamBhvwdwLsW6KC8IOaURw2doAK5e98AG3acVLdh0woOnEqCfUtS+Vu882JE4k/DAm3ItQ==} @@ -2028,6 +2233,9 @@ packages: resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==} engines: {node: '>=8'} + css-render@0.15.14: + resolution: {integrity: sha512-9nF4PdUle+5ta4W5SyZdLCCmFd37uVimSjg1evcTqKJCyvCEEj12WKzOSBNak6r4im4J4iYXKH1OWpUV5LBYFg==} + css-select@5.2.2: resolution: {integrity: sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==} @@ -2055,6 +2263,12 @@ packages: resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==} engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + csstype@3.0.11: + resolution: {integrity: sha512-sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw==} + + csstype@3.2.3: + resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} + cytoscape-cose-bilkent@4.1.0: resolution: {integrity: sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==} peerDependencies: @@ -2223,6 +2437,14 @@ packages: resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==} engines: {node: '>= 0.4'} + date-fns-tz@3.2.0: + resolution: {integrity: sha512-sg8HqoTEulcbbbVXeg84u5UnlsQa8GS5QXMqjjYIhS4abEVVKIUwe0/l/UhrZdKaL/W5eWZNlbTeEIiOXTcsBQ==} + peerDependencies: + date-fns: ^3.0.0 || ^4.0.0 + + date-fns@4.1.0: + resolution: {integrity: sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==} + dayjs@1.11.19: resolution: {integrity: sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw==} @@ -2242,10 +2464,22 @@ packages: resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} engines: {node: '>=0.10.0'} + default-browser-id@5.0.1: + resolution: {integrity: sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==} + engines: {node: '>=18'} + + default-browser@5.4.0: + resolution: {integrity: sha512-XDuvSq38Hr1MdN47EDvYtx3U0MTqpCEn+F6ft8z2vYDzMrvQhVp0ui9oQdqW3MvK3vqUETglt1tVGgjLuJ5izg==} + engines: {node: '>=18'} + define-data-property@1.1.4: resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} engines: {node: '>= 0.4'} + define-lazy-prop@3.0.0: + resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} + engines: {node: '>=12'} + define-properties@1.2.1: resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} engines: {node: '>= 0.4'} @@ -2352,10 +2586,17 @@ packages: resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==} engines: {node: '>=0.12'} + entities@7.0.1: + resolution: {integrity: sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==} + engines: {node: '>=0.12'} + environment@1.1.0: resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==} engines: {node: '>=18'} + error-stack-parser-es@0.1.5: + resolution: {integrity: sha512-xHku1X40RO+fO8yJ8Wh2f2rZWVjqyhb1zgq1yZ8aZRQkv6OOKhKWRUaht3eSCUbAOBaKIgM+ykwFLE+QUxgGeg==} + es-abstract@1.24.1: resolution: {integrity: sha512-zHXBLhP+QehSSbsS9Pt23Gg964240DPd6QCf8WpkqEXxQ7fhdZzYsocOr5u7apWonsS5EjZDmTF+/slGMyasvw==} engines: {node: '>= 0.4'} @@ -2439,6 +2680,13 @@ packages: eventemitter3@5.0.1: resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} + evtd@0.2.4: + resolution: {integrity: sha512-qaeGN5bx63s/AXgQo8gj6fBkxge+OoLddLniox5qtLAEY5HSnuSlISXVPxnSae1dWblvTh4/HoMIB+mbMsvZzw==} + + execa@9.6.1: + resolution: {integrity: sha512-9Be3ZoN4LmYR90tUoVu2te2BsbzHfhJyfEiAVfz7N5/zv+jduIfLrV2xdQXOHbaD6KgpGdO9PRPM1Y4Q9QkPkA==} + engines: {node: ^18.19.0 || >=20.5.0} + expressive-code@0.41.4: resolution: {integrity: sha512-A9aFLhgqLkL6VSfqYkPqkJVMtA90/bhCLmUO7L3/a1xWISNMcHoCS6d6i8ePwi8HvHr3xRLswHTNt6NheTjdXA==} @@ -2463,6 +2711,10 @@ packages: picomatch: optional: true + figures@6.1.0: + resolution: {integrity: sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==} + engines: {node: '>=18'} + filelist@1.0.4: resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} @@ -2495,6 +2747,10 @@ packages: resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} engines: {node: '>=14'} + fs-extra@11.3.3: + resolution: {integrity: sha512-VWSRii4t0AFm6ixFFmLLx1t7wS1gh+ckoa84aOeapGum0h+EZd1EhEumSB+ZdDLnEPuucsVB9oB7cxJHap6Afg==} + engines: {node: '>=14.14'} + fs-extra@9.1.0: resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} engines: {node: '>=10'} @@ -2540,6 +2796,10 @@ packages: resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} engines: {node: '>= 0.4'} + get-stream@9.0.1: + resolution: {integrity: sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==} + engines: {node: '>=18'} + get-symbol-description@1.1.0: resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} engines: {node: '>= 0.4'} @@ -2664,6 +2924,13 @@ packages: hastscript@9.0.1: resolution: {integrity: sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==} + highlight.js@11.11.1: + resolution: {integrity: sha512-Xwwo44whKBVCYoliBQwaPvtd/2tYFkRQtXDWj1nackaV2JPXx3L0+Jvd8/qCJ2p+ML0/XVkJ2q+Mr+UVdpJK5w==} + engines: {node: '>=12.0.0'} + + hookable@5.5.3: + resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} + html-escaper@3.0.3: resolution: {integrity: sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==} @@ -2676,6 +2943,10 @@ packages: http-cache-semantics@4.2.0: resolution: {integrity: sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==} + human-signals@8.0.1: + resolution: {integrity: sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ==} + engines: {node: '>=18.18.0'} + i18next@23.16.8: resolution: {integrity: sha512-06r/TitrM88Mg5FdUXAKL96dJMzgqLE5dv3ryBAra4KCwD9mJ4ndOTS95ZuymIGoE+2hzfdaMak2X11/es7ZWg==} @@ -2841,6 +3112,10 @@ packages: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} + is-stream@4.0.1: + resolution: {integrity: sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==} + engines: {node: '>=18'} + is-string@1.1.1: resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==} engines: {node: '>= 0.4'} @@ -2853,6 +3128,10 @@ packages: resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} engines: {node: '>= 0.4'} + is-unicode-supported@2.1.0: + resolution: {integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==} + engines: {node: '>=18'} + is-weakmap@2.0.2: resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} engines: {node: '>= 0.4'} @@ -2865,6 +3144,10 @@ packages: resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==} engines: {node: '>= 0.4'} + is-what@5.5.0: + resolution: {integrity: sha512-oG7cgbmg5kLYae2N5IVd3jm2s+vldjxJzK1pcu9LfpGuQ93MQSzo0okvRna+7y5ifrD+20FE8FvjusyGaz14fw==} + engines: {node: '>=18'} + is-wsl@3.1.0: resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} engines: {node: '>=16'} @@ -2943,6 +3226,9 @@ packages: resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==} engines: {node: '>= 8'} + kolorist@1.8.0: + resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} + langium@3.3.1: resolution: {integrity: sha512-QJv/h939gDpvT+9SiLVlY7tZC3xB2qK57v0J04Sh9wpMb6MP1q8gB21L3WIo8T5P1MSMg3Ep14L7KkDCFG3y4w==} engines: {node: '>=16.0.0'} @@ -3270,6 +3556,9 @@ packages: resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} engines: {node: '>=16 || 14 >=14.17'} + mitt@3.0.1: + resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} + mlly@1.8.0: resolution: {integrity: sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==} @@ -3280,11 +3569,21 @@ packages: ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + naive-ui@2.43.2: + resolution: {integrity: sha512-YlLMnGrwGTOc+zMj90sG3ubaH5/7czsgLgGcjTLA981IUaz8r6t4WIujNt8r9PNr+dqv6XNEr0vxkARgPPjfBQ==} + peerDependencies: + vue: ^3.0.0 + nanoid@3.3.11: resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true + nanoid@5.1.6: + resolution: {integrity: sha512-c7+7RQ+dMB5dPwwCp4ee1/iV/q2P6aK1mTZcfr1BTuVlyW9hJYiMPybJCcnBlQtuSmTIWNeazm/zqNoZSSElBg==} + engines: {node: ^18 || >=20} + hasBin: true + neotraverse@0.6.18: resolution: {integrity: sha512-Z4SmBUweYa09+o6pG+eASabEpP6QkQ70yHj351pQoEXIs8uHbaU2DWVmzBANKgflPa47A50PtB2+NgRpQvr7vA==} engines: {node: '>= 10'} @@ -3317,6 +3616,10 @@ packages: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} + npm-run-path@6.0.0: + resolution: {integrity: sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==} + engines: {node: '>=18'} + nth-check@2.1.1: resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} @@ -3347,6 +3650,10 @@ packages: oniguruma-to-es@4.3.4: resolution: {integrity: sha512-3VhUGN3w2eYxnTzHn+ikMI+fp/96KoRSVK9/kMTcFqj1NRDh2IhQCKvYxDnWePKRXY/AqH+Fuiyb7VHSzBjHfA==} + open@10.2.0: + resolution: {integrity: sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==} + engines: {node: '>=18'} + own-keys@1.0.1: resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==} engines: {node: '>= 0.4'} @@ -3394,6 +3701,10 @@ packages: parse-latin@7.0.0: resolution: {integrity: sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ==} + parse-ms@4.0.0: + resolution: {integrity: sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==} + engines: {node: '>=18'} + parse5@7.3.0: resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==} @@ -3408,6 +3719,10 @@ packages: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} + path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} @@ -3418,6 +3733,9 @@ packages: pathe@2.0.3: resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} + perfect-debounce@1.0.0: + resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} + piccolore@0.1.3: resolution: {integrity: sha512-o8bTeDWjE086iwKrROaDf31K0qC/BENdm15/uH9usSC/uZjJOKb2YGiVHfLY4GhwsERiPI1jmwI2XrA7ACOxVw==} @@ -3470,6 +3788,10 @@ packages: resolution: {integrity: sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==} engines: {node: ^14.13.1 || >=16.0.0} + pretty-ms@9.3.0: + resolution: {integrity: sha512-gjVS5hOP+M3wMm5nmNOucbIrqudzs9v/57bWRHQWLYklXqoXKrVfYW2W9+glfGsqtPgpiz5WwyEEB+ksXIx3gQ==} + engines: {node: '>=18'} + prismjs@1.30.0: resolution: {integrity: sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==} engines: {node: '>=6'} @@ -3611,6 +3933,9 @@ packages: retext@9.0.0: resolution: {integrity: sha512-sbMDcpHCNjvlheSgMfEcVrZko3cDzdbe1x/e7G66dFp0Ff7Mldvi2uv6JkJQzdRcvLYE8CA8Oe8siQx8ZOgTcA==} + rfdc@1.4.1: + resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} + rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} deprecated: Rimraf versions prior to v4 are no longer supported @@ -3632,6 +3957,10 @@ packages: roughjs@4.6.6: resolution: {integrity: sha512-ZUz/69+SYpFN/g/lUlo2FXcIjRkSu3nDarreVdGGndHEBJ6cXPdKguS8JGxwj5HA5xIbVKSmLgr5b3AWxtRfvQ==} + run-applescript@7.1.0: + resolution: {integrity: sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==} + engines: {node: '>=18'} + rw@1.3.3: resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==} @@ -3792,6 +4121,9 @@ packages: search-insights@2.17.3: resolution: {integrity: sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ==} + seemly@0.3.10: + resolution: {integrity: sha512-2+SMxtG1PcsL0uyhkumlOU6Qo9TAQ/WyH7tthnPIOQB05/12jz9naq6GZ6iZ6ApVsO3rr2gsnTf3++OV63kE1Q==} + semver@6.3.1: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true @@ -3851,6 +4183,10 @@ packages: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} + sirv@3.0.2: + resolution: {integrity: sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g==} + engines: {node: '>=18'} + sisteransi@1.0.5: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} @@ -3893,6 +4229,10 @@ packages: space-separated-tokens@2.0.2: resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} + speakingurl@14.0.1: + resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==} + engines: {node: '>=0.10.0'} + starlight-contributor-list@0.3.1: resolution: {integrity: sha512-8F3BcnqeCgvI/OcagJCBsp71/XU9/zDiuSmsgAkWrRTxql0H2bG9Z9VXvmwzB/569QVlAsOwK7StAxDxqG6Myw==} engines: {node: ^18.17.1 || ^20.3.0 || >=21.0.0} @@ -3991,6 +4331,10 @@ packages: resolution: {integrity: sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==} engines: {node: '>=10'} + strip-final-newline@4.0.0: + resolution: {integrity: sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==} + engines: {node: '>=18'} + style-to-js@1.1.21: resolution: {integrity: sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ==} @@ -4000,6 +4344,10 @@ packages: stylis@4.3.6: resolution: {integrity: sha512-yQ3rwFWRfwNUY7H5vpU0wfdkNSnvnJinhF9830Swlaxl03zsOjCfmX0ugac+3LtK0lYSgwL/KXc8oYL3mG4YFQ==} + superjson@2.2.6: + resolution: {integrity: sha512-H+ue8Zo4vJmV2nRjpx86P35lzwDT3nItnIsocgumgr0hHMQ+ZGq5vrERg9kJBo5AWGmxZDhzDo+WVIJqkB0cGA==} + engines: {node: '>=16'} + supports-color@10.2.2: resolution: {integrity: sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g==} engines: {node: '>=18'} @@ -4068,12 +4416,19 @@ packages: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} + totalist@3.0.1: + resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} + engines: {node: '>=6'} + tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} tr46@1.0.1: resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} + treemate@0.3.11: + resolution: {integrity: sha512-M8RGFoKtZ8dF+iwJfAJTOH/SM4KluKOKRJpjCMhI8bG3qB74zrFoArKZ62ll0Fr3mqkMJiQOmWYkdYgDeITYQg==} + trim-lines@3.0.1: resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} @@ -4164,6 +4519,10 @@ packages: unicode-trie@2.0.0: resolution: {integrity: sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==} + unicorn-magic@0.3.0: + resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==} + engines: {node: '>=18'} + unified@11.0.5: resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} @@ -4290,6 +4649,11 @@ packages: varint@6.0.0: resolution: {integrity: sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==} + vdirs@0.1.8: + resolution: {integrity: sha512-H9V1zGRLQZg9b+GdMk8MXDN2Lva0zx72MPahDKc30v+DtwKjfyOSXWRIX4t2mhDubM1H09gPhWeth/BJWPHGUw==} + peerDependencies: + vue: ^3.0.11 + vfile-location@5.0.3: resolution: {integrity: sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==} @@ -4299,6 +4663,21 @@ packages: vfile@6.0.3: resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} + vite-hot-client@2.1.0: + resolution: {integrity: sha512-7SpgZmU7R+dDnSmvXE1mfDtnHLHQSisdySVR7lO8ceAXvM0otZeuQQ6C8LrS5d/aYyP/QZ0hI0L+dIPrm4YlFQ==} + peerDependencies: + vite: ^2.6.0 || ^3.0.0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0 || ^7.0.0-0 + + vite-plugin-inspect@0.8.9: + resolution: {integrity: sha512-22/8qn+LYonzibb1VeFZmISdVao5kC22jmEKm24vfFE8siEn47EpVcCLYMv6iKOYMJfjSvSJfueOwcFCkUnV3A==} + engines: {node: '>=14'} + peerDependencies: + '@nuxt/kit': '*' + vite: ^3.1.0 || ^4.0.0 || ^5.0.0-0 || ^6.0.1 + peerDependenciesMeta: + '@nuxt/kit': + optional: true + vite-plugin-pwa@1.2.0: resolution: {integrity: sha512-a2xld+SJshT9Lgcv8Ji4+srFJL4k/1bVbd1x06JIkvecpQkwkvCncD1+gSzcdm3s+owWLpMJerG3aN5jupJEVw==} engines: {node: '>=16.0.0'} @@ -4311,6 +4690,17 @@ packages: '@vite-pwa/assets-generator': optional: true + vite-plugin-vue-devtools@7.7.9: + resolution: {integrity: sha512-08DvePf663SxqLFJeMVNW537zzVyakp9KIrI2K7lwgaTqA5R/ydN/N2K8dgZO34tg/Qmw0ch84fOKoBtCEdcGg==} + engines: {node: '>=v14.21.3'} + peerDependencies: + vite: ^3.1.0 || ^4.0.0-0 || ^5.0.0-0 || ^6.0.0-0 || ^7.0.0-0 + + vite-plugin-vue-inspector@5.3.2: + resolution: {integrity: sha512-YvEKooQcSiBTAs0DoYLfefNja9bLgkFM7NI2b07bE2SruuvX0MEa9cMaxjKVMkeCp5Nz9FRIdcN1rOdFVBeL6Q==} + peerDependencies: + vite: ^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0 || ^6.0.0-0 || ^7.0.0-0 + vite@6.4.1: resolution: {integrity: sha512-+Oxm7q9hDoLMyJOYfUYBuHQo+dkAloi33apOPP56pzj+vsdJDzr+j1NISE5pyaAuKL4A3UD34qd0lx5+kfKp2g==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} @@ -4359,6 +4749,11 @@ packages: vite: optional: true + vooks@0.2.12: + resolution: {integrity: sha512-iox0I3RZzxtKlcgYaStQYKEzWWGAduMmq+jS7OrNdQo1FgGfPMubGL3uGHOU9n97NIvfFDBGnpSvkWyb/NSn/Q==} + peerDependencies: + vue: ^3.0.0 + vscode-jsonrpc@8.2.0: resolution: {integrity: sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==} engines: {node: '>=14.0.0'} @@ -4379,6 +4774,19 @@ packages: vscode-uri@3.0.8: resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==} + vue@3.5.27: + resolution: {integrity: sha512-aJ/UtoEyFySPBGarREmN4z6qNKpbEguYHMmXSiOGk69czc+zhs0NF6tEFrY8TZKAl8N/LYAkd4JHVd5E/AsSmw==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + vueuc@0.4.65: + resolution: {integrity: sha512-lXuMl+8gsBmruudfxnMF9HW4be8rFziylXFu1VHVNbLVhRTXXV4njvpRuJapD/8q+oFEMSfQMH16E/85VoWRyQ==} + peerDependencies: + vue: ^3.0.11 + web-namespaces@2.0.1: resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} @@ -4487,6 +4895,10 @@ packages: wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + wsl-utils@0.1.0: + resolution: {integrity: sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==} + engines: {node: '>=18'} + xxhash-wasm@1.1.0: resolution: {integrity: sha512-147y/6YNh+tlp6nd/2pWq38i9h6mz/EuQ6njIrmW8D1BS5nCqs0P6DG+m6zTGnNz5I+uhZ0SHxBs9BsPrwcKDA==} @@ -4655,6 +5067,8 @@ snapshots: package-manager-detector: 1.6.0 tinyexec: 1.0.2 + '@antfu/utils@0.7.10': {} + '@anthropic-ai/claude-code@1.0.128': optionalDependencies: '@img/sharp-darwin-arm64': 0.33.5 @@ -4788,12 +5202,43 @@ snapshots: transitivePeerDependencies: - supports-color + '@astrojs/vue@5.1.4(@types/node@25.0.2)(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3))(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(vue@3.5.27(typescript@5.9.3))': + dependencies: + '@vitejs/plugin-vue': 5.2.4(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1))(vue@3.5.27(typescript@5.9.3)) + '@vitejs/plugin-vue-jsx': 4.2.0(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1))(vue@3.5.27(typescript@5.9.3)) + '@vue/compiler-sfc': 3.5.27 + astro: 5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3) + vite: 6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1) + vite-plugin-vue-devtools: 7.7.9(rollup@2.79.2)(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1))(vue@3.5.27(typescript@5.9.3)) + vue: 3.5.27(typescript@5.9.3) + transitivePeerDependencies: + - '@nuxt/kit' + - '@types/node' + - jiti + - less + - lightningcss + - rollup + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + - tsx + - yaml + '@babel/code-frame@7.27.1': dependencies: '@babel/helper-validator-identifier': 7.28.5 js-tokens: 4.0.0 picocolors: 1.1.1 + '@babel/code-frame@7.29.0': + dependencies: + '@babel/helper-validator-identifier': 7.28.5 + js-tokens: 4.0.0 + picocolors: 1.1.1 + '@babel/compat-data@7.28.5': {} '@babel/core@7.28.5': @@ -4824,6 +5269,14 @@ snapshots: '@jridgewell/trace-mapping': 0.3.31 jsesc: 3.1.0 + '@babel/generator@7.29.0': + dependencies: + '@babel/parser': 7.29.0 + '@babel/types': 7.29.0 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + jsesc: 3.1.0 + '@babel/helper-annotate-as-pure@7.27.3': dependencies: '@babel/types': 7.28.5 @@ -4836,15 +5289,15 @@ snapshots: lru-cache: 5.1.1 semver: 6.3.1 - '@babel/helper-create-class-features-plugin@7.28.5(@babel/core@7.28.5)': + '@babel/helper-create-class-features-plugin@7.28.6(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-member-expression-to-functions': 7.28.5 '@babel/helper-optimise-call-expression': 7.27.1 - '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.5) + '@babel/helper-replace-supers': 7.28.6(@babel/core@7.28.5) '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/traverse': 7.28.5 + '@babel/traverse': 7.29.0 semver: 6.3.1 transitivePeerDependencies: - supports-color @@ -4860,7 +5313,7 @@ snapshots: dependencies: '@babel/core': 7.28.5 '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 debug: 4.4.3 lodash.debounce: 4.0.8 resolve: 1.22.11 @@ -4871,7 +5324,7 @@ snapshots: '@babel/helper-member-expression-to-functions@7.28.5': dependencies: - '@babel/traverse': 7.28.5 + '@babel/traverse': 7.29.0 '@babel/types': 7.28.5 transitivePeerDependencies: - supports-color @@ -4898,21 +5351,23 @@ snapshots: '@babel/helper-plugin-utils@7.27.1': {} + '@babel/helper-plugin-utils@7.28.6': {} + '@babel/helper-remap-async-to-generator@7.27.1(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-wrap-function': 7.28.3 - '@babel/traverse': 7.28.5 + '@babel/traverse': 7.29.0 transitivePeerDependencies: - supports-color - '@babel/helper-replace-supers@7.27.1(@babel/core@7.28.5)': + '@babel/helper-replace-supers@7.28.6(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 '@babel/helper-member-expression-to-functions': 7.28.5 '@babel/helper-optimise-call-expression': 7.27.1 - '@babel/traverse': 7.28.5 + '@babel/traverse': 7.29.0 transitivePeerDependencies: - supports-color @@ -4931,9 +5386,9 @@ snapshots: '@babel/helper-wrap-function@7.28.3': dependencies: - '@babel/template': 7.27.2 - '@babel/traverse': 7.28.5 - '@babel/types': 7.28.5 + '@babel/template': 7.28.6 + '@babel/traverse': 7.29.0 + '@babel/types': 7.29.0 transitivePeerDependencies: - supports-color @@ -4946,28 +5401,32 @@ snapshots: dependencies: '@babel/types': 7.28.5 + '@babel/parser@7.29.0': + dependencies: + '@babel/types': 7.29.0 + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.28.5(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/traverse': 7.28.5 + '@babel/helper-plugin-utils': 7.28.6 + '@babel/traverse': 7.29.0 transitivePeerDependencies: - supports-color '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 '@babel/plugin-transform-optional-chaining': 7.28.5(@babel/core@7.28.5) transitivePeerDependencies: @@ -4976,8 +5435,17 @@ snapshots: '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.28.3(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/traverse': 7.28.5 + '@babel/helper-plugin-utils': 7.28.6 + '@babel/traverse': 7.29.0 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.28.6 + '@babel/plugin-syntax-decorators': 7.28.6(@babel/core@7.28.5) transitivePeerDependencies: - supports-color @@ -4985,33 +5453,53 @@ snapshots: dependencies: '@babel/core': 7.28.5 + '@babel/plugin-syntax-decorators@7.28.6(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.28.6 + '@babel/plugin-syntax-import-assertions@7.27.1(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-syntax-import-attributes@7.27.1(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.28.6 + '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-arrow-functions@7.27.1(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-async-generator-functions@7.28.0(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.28.5) - '@babel/traverse': 7.28.5 + '@babel/traverse': 7.29.0 transitivePeerDependencies: - supports-color @@ -5019,7 +5507,7 @@ snapshots: dependencies: '@babel/core': 7.28.5 '@babel/helper-module-imports': 7.27.1 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.28.5) transitivePeerDependencies: - supports-color @@ -5027,26 +5515,26 @@ snapshots: '@babel/plugin-transform-block-scoped-functions@7.27.1(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-block-scoping@7.28.5(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-class-properties@7.27.1(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 - '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.28.6 transitivePeerDependencies: - supports-color '@babel/plugin-transform-class-static-block@7.28.3(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 - '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.28.6 transitivePeerDependencies: - supports-color @@ -5056,23 +5544,23 @@ snapshots: '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-compilation-targets': 7.27.2 '@babel/helper-globals': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.5) - '@babel/traverse': 7.28.5 + '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-replace-supers': 7.28.6(@babel/core@7.28.5) + '@babel/traverse': 7.29.0 transitivePeerDependencies: - supports-color '@babel/plugin-transform-computed-properties@7.27.1(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/template': 7.27.2 + '@babel/helper-plugin-utils': 7.28.6 + '@babel/template': 7.28.6 '@babel/plugin-transform-destructuring@7.28.5(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/traverse': 7.28.5 + '@babel/helper-plugin-utils': 7.28.6 + '@babel/traverse': 7.29.0 transitivePeerDependencies: - supports-color @@ -5080,28 +5568,28 @@ snapshots: dependencies: '@babel/core': 7.28.5 '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-duplicate-keys@7.27.1(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.27.1(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-dynamic-import@7.27.1(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-explicit-resource-management@7.28.0(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.28.5) transitivePeerDependencies: - supports-color @@ -5109,17 +5597,17 @@ snapshots: '@babel/plugin-transform-exponentiation-operator@7.28.5(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-export-namespace-from@7.27.1(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-for-of@7.27.1(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 transitivePeerDependencies: - supports-color @@ -5128,36 +5616,36 @@ snapshots: dependencies: '@babel/core': 7.28.5 '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/traverse': 7.28.5 + '@babel/helper-plugin-utils': 7.28.6 + '@babel/traverse': 7.29.0 transitivePeerDependencies: - supports-color '@babel/plugin-transform-json-strings@7.27.1(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-literals@7.27.1(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-logical-assignment-operators@7.28.5(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-member-expression-literals@7.27.1(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-modules-amd@7.27.1(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 transitivePeerDependencies: - supports-color @@ -5165,7 +5653,7 @@ snapshots: dependencies: '@babel/core': 7.28.5 '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 transitivePeerDependencies: - supports-color @@ -5173,9 +5661,9 @@ snapshots: dependencies: '@babel/core': 7.28.5 '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/helper-validator-identifier': 7.28.5 - '@babel/traverse': 7.28.5 + '@babel/traverse': 7.29.0 transitivePeerDependencies: - supports-color @@ -5183,7 +5671,7 @@ snapshots: dependencies: '@babel/core': 7.28.5 '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 transitivePeerDependencies: - supports-color @@ -5191,51 +5679,51 @@ snapshots: dependencies: '@babel/core': 7.28.5 '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-new-target@7.27.1(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-nullish-coalescing-operator@7.27.1(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-numeric-separator@7.27.1(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-object-rest-spread@7.28.4(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.28.5) '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.5) - '@babel/traverse': 7.28.5 + '@babel/traverse': 7.29.0 transitivePeerDependencies: - supports-color '@babel/plugin-transform-object-super@7.27.1(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-replace-supers': 7.28.6(@babel/core@7.28.5) transitivePeerDependencies: - supports-color '@babel/plugin-transform-optional-catch-binding@7.27.1(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-optional-chaining@7.28.5(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 transitivePeerDependencies: - supports-color @@ -5243,13 +5731,13 @@ snapshots: '@babel/plugin-transform-parameters@7.27.7(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-private-methods@7.27.1(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 - '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.28.6 transitivePeerDependencies: - supports-color @@ -5257,41 +5745,41 @@ snapshots: dependencies: '@babel/core': 7.28.5 '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.28.6 transitivePeerDependencies: - supports-color '@babel/plugin-transform-property-literals@7.27.1(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-regenerator@7.28.4(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-regexp-modifiers@7.27.1(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-reserved-words@7.27.1(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-shorthand-properties@7.27.1(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-spread@7.27.1(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 transitivePeerDependencies: - supports-color @@ -5299,47 +5787,58 @@ snapshots: '@babel/plugin-transform-sticky-regex@7.27.1(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-template-literals@7.27.1(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-typeof-symbol@7.27.1(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-typescript@7.28.6(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + '@babel/plugin-syntax-typescript': 7.28.6(@babel/core@7.28.5) + transitivePeerDependencies: + - supports-color '@babel/plugin-transform-unicode-escapes@7.27.1(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-unicode-property-regex@7.27.1(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-unicode-regex@7.27.1(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-unicode-sets-regex@7.27.1(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/preset-env@7.28.5(@babel/core@7.28.5)': dependencies: '@babel/compat-data': 7.28.5 '@babel/core': 7.28.5 '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/helper-validator-option': 7.27.1 '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.28.5(@babel/core@7.28.5) '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.27.1(@babel/core@7.28.5) @@ -5413,8 +5912,8 @@ snapshots: '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.28.5)': dependencies: '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/types': 7.28.5 + '@babel/helper-plugin-utils': 7.28.6 + '@babel/types': 7.29.0 esutils: 2.0.3 '@babel/runtime@7.28.4': {} @@ -5425,6 +5924,12 @@ snapshots: '@babel/parser': 7.28.5 '@babel/types': 7.28.5 + '@babel/template@7.28.6': + dependencies: + '@babel/code-frame': 7.29.0 + '@babel/parser': 7.29.0 + '@babel/types': 7.29.0 + '@babel/traverse@7.28.5': dependencies: '@babel/code-frame': 7.27.1 @@ -5437,11 +5942,28 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/traverse@7.29.0': + dependencies: + '@babel/code-frame': 7.29.0 + '@babel/generator': 7.29.0 + '@babel/helper-globals': 7.28.0 + '@babel/parser': 7.29.0 + '@babel/template': 7.28.6 + '@babel/types': 7.29.0 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + '@babel/types@7.28.5': dependencies: '@babel/helper-string-parser': 7.27.1 '@babel/helper-validator-identifier': 7.28.5 + '@babel/types@7.29.0': + dependencies: + '@babel/helper-string-parser': 7.27.1 + '@babel/helper-validator-identifier': 7.28.5 + '@braintree/sanitize-url@7.1.1': {} '@bufbuild/protobuf@2.10.2': @@ -5468,6 +5990,14 @@ snapshots: '@chevrotain/utils@11.0.3': {} + '@css-render/plugin-bem@0.15.14(css-render@0.15.14)': + dependencies: + css-render: 0.15.14 + + '@css-render/vue3-ssr@0.15.14(vue@3.5.27(typescript@5.9.3))': + dependencies: + vue: 3.5.27(typescript@5.9.3) + '@ctrl/tinycolor@4.2.0': {} '@docsearch/css@3.9.0': {} @@ -5499,6 +6029,8 @@ snapshots: tslib: 2.8.1 optional: true + '@emotion/hash@0.8.0': {} + '@esbuild/aix-ppc64@0.25.12': optional: true @@ -5788,6 +6320,8 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.5 + '@juggle/resize-observer@3.4.0': {} + '@mdx-js/mdx@3.1.1': dependencies: '@types/estree': 1.0.8 @@ -5905,6 +6439,10 @@ snapshots: '@parcel/watcher-win32-x64': 2.5.1 optional: true + '@polka/url@1.0.0-next.29': {} + + '@rolldown/pluginutils@1.0.0-rc.2': {} + '@rollup/plugin-babel@5.3.1(@babel/core@7.28.5)(rollup@2.79.2)': dependencies: '@babel/core': 7.28.5 @@ -6019,6 +6557,8 @@ snapshots: '@rollup/rollup-win32-x64-msvc@4.53.5': optional: true + '@sec-ant/readable-stream@0.4.1': {} + '@shikijs/core@3.20.0': dependencies: '@shikijs/types': 3.20.0 @@ -6052,6 +6592,8 @@ snapshots: '@shikijs/vscode-textmate@10.0.2': {} + '@sindresorhus/merge-streams@4.0.0': {} + '@surma/rollup-plugin-off-main-thread@2.2.3': dependencies: ejs: 3.1.10 @@ -6272,6 +6814,14 @@ snapshots: '@types/js-yaml@4.0.9': {} + '@types/katex@0.16.8': {} + + '@types/lodash-es@4.17.12': + dependencies: + '@types/lodash': 4.17.23 + + '@types/lodash@4.17.23': {} + '@types/mdast@4.0.4': dependencies: '@types/unist': 3.0.3 @@ -6311,6 +6861,131 @@ snapshots: astro: 5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3) vite-plugin-pwa: 1.2.0(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1))(workbox-build@7.4.0)(workbox-window@7.4.0) + '@vitejs/plugin-vue-jsx@4.2.0(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1))(vue@3.5.27(typescript@5.9.3))': + dependencies: + '@babel/core': 7.28.5 + '@babel/plugin-transform-typescript': 7.28.6(@babel/core@7.28.5) + '@rolldown/pluginutils': 1.0.0-rc.2 + '@vue/babel-plugin-jsx': 1.5.0(@babel/core@7.28.5) + vite: 6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1) + vue: 3.5.27(typescript@5.9.3) + transitivePeerDependencies: + - supports-color + + '@vitejs/plugin-vue@5.2.4(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1))(vue@3.5.27(typescript@5.9.3))': + dependencies: + vite: 6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1) + vue: 3.5.27(typescript@5.9.3) + + '@vue/babel-helper-vue-transform-on@1.5.0': {} + + '@vue/babel-plugin-jsx@1.5.0(@babel/core@7.28.5)': + dependencies: + '@babel/helper-module-imports': 7.27.1 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-syntax-jsx': 7.28.6(@babel/core@7.28.5) + '@babel/template': 7.27.2 + '@babel/traverse': 7.28.5 + '@babel/types': 7.28.5 + '@vue/babel-helper-vue-transform-on': 1.5.0 + '@vue/babel-plugin-resolve-type': 1.5.0(@babel/core@7.28.5) + '@vue/shared': 3.5.27 + optionalDependencies: + '@babel/core': 7.28.5 + transitivePeerDependencies: + - supports-color + + '@vue/babel-plugin-resolve-type@1.5.0(@babel/core@7.28.5)': + dependencies: + '@babel/code-frame': 7.27.1 + '@babel/core': 7.28.5 + '@babel/helper-module-imports': 7.27.1 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/parser': 7.28.5 + '@vue/compiler-sfc': 3.5.27 + transitivePeerDependencies: + - supports-color + + '@vue/compiler-core@3.5.27': + dependencies: + '@babel/parser': 7.28.5 + '@vue/shared': 3.5.27 + entities: 7.0.1 + estree-walker: 2.0.2 + source-map-js: 1.2.1 + + '@vue/compiler-dom@3.5.27': + dependencies: + '@vue/compiler-core': 3.5.27 + '@vue/shared': 3.5.27 + + '@vue/compiler-sfc@3.5.27': + dependencies: + '@babel/parser': 7.28.5 + '@vue/compiler-core': 3.5.27 + '@vue/compiler-dom': 3.5.27 + '@vue/compiler-ssr': 3.5.27 + '@vue/shared': 3.5.27 + estree-walker: 2.0.2 + magic-string: 0.30.21 + postcss: 8.5.6 + source-map-js: 1.2.1 + + '@vue/compiler-ssr@3.5.27': + dependencies: + '@vue/compiler-dom': 3.5.27 + '@vue/shared': 3.5.27 + + '@vue/devtools-core@7.7.9(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1))(vue@3.5.27(typescript@5.9.3))': + dependencies: + '@vue/devtools-kit': 7.7.9 + '@vue/devtools-shared': 7.7.9 + mitt: 3.0.1 + nanoid: 5.1.6 + pathe: 2.0.3 + vite-hot-client: 2.1.0(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)) + vue: 3.5.27(typescript@5.9.3) + transitivePeerDependencies: + - vite + + '@vue/devtools-kit@7.7.9': + dependencies: + '@vue/devtools-shared': 7.7.9 + birpc: 2.9.0 + hookable: 5.5.3 + mitt: 3.0.1 + perfect-debounce: 1.0.0 + speakingurl: 14.0.1 + superjson: 2.2.6 + + '@vue/devtools-shared@7.7.9': + dependencies: + rfdc: 1.4.1 + + '@vue/reactivity@3.5.27': + dependencies: + '@vue/shared': 3.5.27 + + '@vue/runtime-core@3.5.27': + dependencies: + '@vue/reactivity': 3.5.27 + '@vue/shared': 3.5.27 + + '@vue/runtime-dom@3.5.27': + dependencies: + '@vue/reactivity': 3.5.27 + '@vue/runtime-core': 3.5.27 + '@vue/shared': 3.5.27 + csstype: 3.2.3 + + '@vue/server-renderer@3.5.27(vue@3.5.27(typescript@5.9.3))': + dependencies: + '@vue/compiler-ssr': 3.5.27 + '@vue/shared': 3.5.27 + vue: 3.5.27(typescript@5.9.3) + + '@vue/shared@3.5.27': {} + acorn-jsx@5.3.2(acorn@8.15.0): dependencies: acorn: 8.15.0 @@ -6507,6 +7182,8 @@ snapshots: async-function@1.0.0: {} + async-validator@4.2.5: {} + async@3.2.6: {} at-least-node@1.0.0: {} @@ -6559,6 +7236,8 @@ snapshots: is-alphanumerical: 2.0.1 is-decimal: 2.0.1 + birpc@2.9.0: {} + boolbase@1.0.0: {} boxen@8.0.1: @@ -6603,6 +7282,10 @@ snapshots: buffer-from@1.1.2: {} + bundle-name@4.1.0: + dependencies: + run-applescript: 7.1.0 + call-bind-apply-helpers@1.0.2: dependencies: es-errors: 1.3.0 @@ -6697,6 +7380,10 @@ snapshots: cookie@1.1.1: {} + copy-anything@4.0.5: + dependencies: + is-what: 5.5.0 + core-js-compat@3.47.0: dependencies: browserslist: 4.28.1 @@ -6721,6 +7408,11 @@ snapshots: crypto-random-string@2.0.0: {} + css-render@0.15.14: + dependencies: + '@emotion/hash': 0.8.0 + csstype: 3.0.11 + css-select@5.2.2: dependencies: boolbase: 1.0.0 @@ -6749,6 +7441,10 @@ snapshots: dependencies: css-tree: 2.2.1 + csstype@3.0.11: {} + + csstype@3.2.3: {} + cytoscape-cose-bilkent@4.1.0(cytoscape@3.33.1): dependencies: cose-base: 1.0.3 @@ -6951,6 +7647,12 @@ snapshots: es-errors: 1.3.0 is-data-view: 1.0.2 + date-fns-tz@3.2.0(date-fns@4.1.0): + dependencies: + date-fns: 4.1.0 + + date-fns@4.1.0: {} + dayjs@1.11.19: {} debug@4.4.3: @@ -6963,12 +7665,21 @@ snapshots: deepmerge@4.3.1: {} + default-browser-id@5.0.1: {} + + default-browser@5.4.0: + dependencies: + bundle-name: 4.1.0 + default-browser-id: 5.0.1 + define-data-property@1.1.4: dependencies: es-define-property: 1.0.1 es-errors: 1.3.0 gopd: 1.2.0 + define-lazy-prop@3.0.0: {} + define-properties@1.2.1: dependencies: define-data-property: 1.1.4 @@ -7061,8 +7772,12 @@ snapshots: entities@6.0.1: {} + entities@7.0.1: {} + environment@1.1.0: {} + error-stack-parser-es@0.1.5: {} + es-abstract@1.24.1: dependencies: array-buffer-byte-length: 1.0.2 @@ -7233,6 +7948,23 @@ snapshots: eventemitter3@5.0.1: {} + evtd@0.2.4: {} + + execa@9.6.1: + dependencies: + '@sindresorhus/merge-streams': 4.0.0 + cross-spawn: 7.0.6 + figures: 6.1.0 + get-stream: 9.0.1 + human-signals: 8.0.1 + is-plain-obj: 4.1.0 + is-stream: 4.0.1 + npm-run-path: 6.0.0 + pretty-ms: 9.3.0 + signal-exit: 4.1.0 + strip-final-newline: 4.0.0 + yoctocolors: 2.1.2 + expressive-code@0.41.4: dependencies: '@expressive-code/core': 0.41.4 @@ -7252,6 +7984,10 @@ snapshots: optionalDependencies: picomatch: 4.0.3 + figures@6.1.0: + dependencies: + is-unicode-supported: 2.1.0 + filelist@1.0.4: dependencies: minimatch: 5.1.6 @@ -7297,6 +8033,12 @@ snapshots: cross-spawn: 7.0.6 signal-exit: 4.1.0 + fs-extra@11.3.3: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.2.0 + universalify: 2.0.1 + fs-extra@9.1.0: dependencies: at-least-node: 1.0.0 @@ -7348,6 +8090,11 @@ snapshots: dunder-proto: 1.0.1 es-object-atoms: 1.1.1 + get-stream@9.0.1: + dependencies: + '@sec-ant/readable-stream': 0.4.1 + is-stream: 4.0.1 + get-symbol-description@1.1.0: dependencies: call-bound: 1.0.4 @@ -7611,6 +8358,10 @@ snapshots: property-information: 7.1.0 space-separated-tokens: 2.0.2 + highlight.js@11.11.1: {} + + hookable@5.5.3: {} + html-escaper@3.0.3: {} html-void-elements@3.0.0: {} @@ -7619,6 +8370,8 @@ snapshots: http-cache-semantics@4.2.0: {} + human-signals@8.0.1: {} + i18next@23.16.8: dependencies: '@babel/runtime': 7.28.4 @@ -7771,6 +8524,8 @@ snapshots: is-stream@2.0.1: {} + is-stream@4.0.1: {} + is-string@1.1.1: dependencies: call-bound: 1.0.4 @@ -7786,6 +8541,8 @@ snapshots: dependencies: which-typed-array: 1.1.19 + is-unicode-supported@2.1.0: {} + is-weakmap@2.0.2: {} is-weakref@1.1.1: @@ -7797,6 +8554,8 @@ snapshots: call-bound: 1.0.4 get-intrinsic: 1.3.0 + is-what@5.5.0: {} + is-wsl@3.1.0: dependencies: is-inside-container: 1.0.0 @@ -7857,6 +8616,8 @@ snapshots: klona@2.0.6: {} + kolorist@1.8.0: {} + langium@3.3.1: dependencies: chevrotain: 11.0.3 @@ -8466,6 +9227,8 @@ snapshots: minipass@7.1.2: {} + mitt@3.0.1: {} + mlly@1.8.0: dependencies: acorn: 8.15.0 @@ -8477,8 +9240,33 @@ snapshots: ms@2.1.3: {} + naive-ui@2.43.2(vue@3.5.27(typescript@5.9.3)): + dependencies: + '@css-render/plugin-bem': 0.15.14(css-render@0.15.14) + '@css-render/vue3-ssr': 0.15.14(vue@3.5.27(typescript@5.9.3)) + '@types/katex': 0.16.8 + '@types/lodash': 4.17.23 + '@types/lodash-es': 4.17.12 + async-validator: 4.2.5 + css-render: 0.15.14 + csstype: 3.2.3 + date-fns: 4.1.0 + date-fns-tz: 3.2.0(date-fns@4.1.0) + evtd: 0.2.4 + highlight.js: 11.11.1 + lodash: 4.17.21 + lodash-es: 4.17.22 + seemly: 0.3.10 + treemate: 0.3.11 + vdirs: 0.1.8(vue@3.5.27(typescript@5.9.3)) + vooks: 0.2.12(vue@3.5.27(typescript@5.9.3)) + vue: 3.5.27(typescript@5.9.3) + vueuc: 0.4.65(vue@3.5.27(typescript@5.9.3)) + nanoid@3.3.11: {} + nanoid@5.1.6: {} + neotraverse@0.6.18: {} nlcst-to-string@4.0.0: @@ -8500,6 +9288,11 @@ snapshots: normalize-path@3.0.0: {} + npm-run-path@6.0.0: + dependencies: + path-key: 4.0.0 + unicorn-magic: 0.3.0 + nth-check@2.1.1: dependencies: boolbase: 1.0.0 @@ -8537,6 +9330,13 @@ snapshots: regex: 6.1.0 regex-recursion: 6.0.2 + open@10.2.0: + dependencies: + default-browser: 5.4.0 + define-lazy-prop: 3.0.0 + is-inside-container: 1.0.0 + wsl-utils: 0.1.0 + own-keys@1.0.1: dependencies: get-intrinsic: 1.3.0 @@ -8599,6 +9399,8 @@ snapshots: unist-util-visit-children: 3.0.0 vfile: 6.0.3 + parse-ms@4.0.0: {} + parse5@7.3.0: dependencies: entities: 6.0.1 @@ -8609,6 +9411,8 @@ snapshots: path-key@3.1.1: {} + path-key@4.0.0: {} + path-parse@1.0.7: {} path-scurry@2.0.1: @@ -8618,6 +9422,8 @@ snapshots: pathe@2.0.3: {} + perfect-debounce@1.0.0: {} + piccolore@0.1.3: {} picocolors@1.1.1: {} @@ -8663,6 +9469,10 @@ snapshots: pretty-bytes@6.1.1: {} + pretty-ms@9.3.0: + dependencies: + parse-ms: 4.0.0 + prismjs@1.30.0: {} prompts@2.4.2: @@ -8896,6 +9706,8 @@ snapshots: retext-stringify: 4.0.0 unified: 11.0.5 + rfdc@1.4.1: {} + rimraf@3.0.2: dependencies: glob: 7.2.3 @@ -8941,6 +9753,8 @@ snapshots: points-on-curve: 0.2.0 points-on-path: 0.2.1 + run-applescript@7.1.0: {} + rw@1.3.3: {} rxjs@7.8.2: @@ -9077,6 +9891,8 @@ snapshots: search-insights@2.17.3: {} + seemly@0.3.10: {} + semver@6.3.1: {} semver@7.7.3: {} @@ -9185,6 +10001,12 @@ snapshots: signal-exit@4.1.0: {} + sirv@3.0.2: + dependencies: + '@polka/url': 1.0.0-next.29 + mrmime: 2.0.1 + totalist: 3.0.1 + sisteransi@1.0.5: {} sitemap@8.0.2: @@ -9217,6 +10039,8 @@ snapshots: space-separated-tokens@2.0.2: {} + speakingurl@14.0.1: {} + starlight-contributor-list@0.3.1(@astrojs/starlight@0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3))): dependencies: '@11ty/eleventy-fetch': 4.0.1 @@ -9356,6 +10180,8 @@ snapshots: strip-comments@2.0.1: {} + strip-final-newline@4.0.0: {} + style-to-js@1.1.21: dependencies: style-to-object: 1.0.14 @@ -9366,6 +10192,10 @@ snapshots: stylis@4.3.6: {} + superjson@2.2.6: + dependencies: + copy-anything: 4.0.5 + supports-color@10.2.2: {} supports-color@8.1.1: @@ -9437,12 +10267,16 @@ snapshots: is-number: 7.0.0 optional: true + totalist@3.0.1: {} + tr46@0.0.3: {} tr46@1.0.1: dependencies: punycode: 2.3.1 + treemate@0.3.11: {} + trim-lines@3.0.1: {} trough@2.2.0: {} @@ -9530,6 +10364,8 @@ snapshots: pako: 0.2.9 tiny-inflate: 1.0.3 + unicorn-magic@0.3.0: {} + unified@11.0.5: dependencies: '@types/unist': 3.0.3 @@ -9624,6 +10460,11 @@ snapshots: varint@6.0.0: optional: true + vdirs@0.1.8(vue@3.5.27(typescript@5.9.3)): + dependencies: + evtd: 0.2.4 + vue: 3.5.27(typescript@5.9.3) + vfile-location@5.0.3: dependencies: '@types/unist': 3.0.3 @@ -9639,6 +10480,26 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.3 + vite-hot-client@2.1.0(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)): + dependencies: + vite: 6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1) + + vite-plugin-inspect@0.8.9(rollup@2.79.2)(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)): + dependencies: + '@antfu/utils': 0.7.10 + '@rollup/pluginutils': 5.3.0(rollup@2.79.2) + debug: 4.4.3 + error-stack-parser-es: 0.1.5 + fs-extra: 11.3.3 + open: 10.2.0 + perfect-debounce: 1.0.0 + picocolors: 1.1.1 + sirv: 3.0.2 + vite: 6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1) + transitivePeerDependencies: + - rollup + - supports-color + vite-plugin-pwa@1.2.0(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1))(workbox-build@7.4.0)(workbox-window@7.4.0): dependencies: debug: 4.4.3 @@ -9650,6 +10511,37 @@ snapshots: transitivePeerDependencies: - supports-color + vite-plugin-vue-devtools@7.7.9(rollup@2.79.2)(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1))(vue@3.5.27(typescript@5.9.3)): + dependencies: + '@vue/devtools-core': 7.7.9(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1))(vue@3.5.27(typescript@5.9.3)) + '@vue/devtools-kit': 7.7.9 + '@vue/devtools-shared': 7.7.9 + execa: 9.6.1 + sirv: 3.0.2 + vite: 6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1) + vite-plugin-inspect: 0.8.9(rollup@2.79.2)(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)) + vite-plugin-vue-inspector: 5.3.2(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)) + transitivePeerDependencies: + - '@nuxt/kit' + - rollup + - supports-color + - vue + + vite-plugin-vue-inspector@5.3.2(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)): + dependencies: + '@babel/core': 7.28.5 + '@babel/plugin-proposal-decorators': 7.29.0(@babel/core@7.28.5) + '@babel/plugin-syntax-import-attributes': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.28.5) + '@babel/plugin-transform-typescript': 7.28.6(@babel/core@7.28.5) + '@vue/babel-plugin-jsx': 1.5.0(@babel/core@7.28.5) + '@vue/compiler-dom': 3.5.27 + kolorist: 1.8.0 + magic-string: 0.30.21 + vite: 6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1) + transitivePeerDependencies: + - supports-color + vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1): dependencies: esbuild: 0.25.12 @@ -9671,6 +10563,11 @@ snapshots: optionalDependencies: vite: 6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1) + vooks@0.2.12(vue@3.5.27(typescript@5.9.3)): + dependencies: + evtd: 0.2.4 + vue: 3.5.27(typescript@5.9.3) + vscode-jsonrpc@8.2.0: {} vscode-languageserver-protocol@3.17.5: @@ -9688,6 +10585,27 @@ snapshots: vscode-uri@3.0.8: {} + vue@3.5.27(typescript@5.9.3): + dependencies: + '@vue/compiler-dom': 3.5.27 + '@vue/compiler-sfc': 3.5.27 + '@vue/runtime-dom': 3.5.27 + '@vue/server-renderer': 3.5.27(vue@3.5.27(typescript@5.9.3)) + '@vue/shared': 3.5.27 + optionalDependencies: + typescript: 5.9.3 + + vueuc@0.4.65(vue@3.5.27(typescript@5.9.3)): + dependencies: + '@css-render/vue3-ssr': 0.15.14(vue@3.5.27(typescript@5.9.3)) + '@juggle/resize-observer': 3.4.0 + css-render: 0.15.14 + evtd: 0.2.4 + seemly: 0.3.10 + vdirs: 0.1.8(vue@3.5.27(typescript@5.9.3)) + vooks: 0.2.12(vue@3.5.27(typescript@5.9.3)) + vue: 3.5.27(typescript@5.9.3) + web-namespaces@2.0.1: {} webidl-conversions@3.0.1: {} @@ -9889,6 +10807,10 @@ snapshots: wrappy@1.0.2: {} + wsl-utils@0.1.0: + dependencies: + is-wsl: 3.1.0 + xxhash-wasm@1.1.0: {} yallist@3.1.1: {} diff --git a/src/components/SponsorCard.vue b/src/components/SponsorCard.vue new file mode 100644 index 000000000..06cb87a25 --- /dev/null +++ b/src/components/SponsorCard.vue @@ -0,0 +1,52 @@ + + + diff --git a/src/components/Timeline.vue b/src/components/Timeline.vue new file mode 100644 index 000000000..e52299a70 --- /dev/null +++ b/src/components/Timeline.vue @@ -0,0 +1,45 @@ + + + diff --git a/about/_assets/me.png b/src/content/docs/about/_assets/me.png similarity index 100% rename from about/_assets/me.png rename to src/content/docs/about/_assets/me.png diff --git a/about/ad.md b/src/content/docs/about/ad.md similarity index 58% rename from about/ad.md rename to src/content/docs/about/ad.md index c6b5d54ac..3128dcd9b 100644 --- a/about/ad.md +++ b/src/content/docs/about/ad.md @@ -1,8 +1,5 @@ --- -sidebar_position: 3 title: 广告 --- -# 广告 - 广告暂不开启 diff --git a/about/intro.md b/src/content/docs/about/intro.md similarity index 91% rename from about/intro.md rename to src/content/docs/about/intro.md index 3043c546a..cf5cc2170 100644 --- a/about/intro.md +++ b/src/content/docs/about/intro.md @@ -1,13 +1,8 @@ --- -sidebar_position: 1 title: 关于我们 --- -# 关于我们 - -```txt -👋你好!我是 Cubic-Project 团队的建立者与 NitWikit 的核心贡献者 llf -``` +> 👋 你好!我是 Cubic-Project 团队的建立者与 NitWikit 的核心贡献者 llf emm Cubic-Project 的建立也确实过于 drama,由于此时,8aka-Team 组织被删除,因此我们需要新建立一个组织 @@ -15,9 +10,7 @@ Cubic 在群友的建议中被选中,成为了新组织的名字 ## 驿站自述 -```txt -👋你好!我是 NitWikit 项目和 8aka-Team 团队的建立者驿站 -``` +> 👋 你好!我是 NitWikit 项目和 8aka-Team 团队的建立者驿站 ![](_assets/me.png) diff --git a/src/content/docs/about/sponsor.mdx b/src/content/docs/about/sponsor.mdx new file mode 100644 index 000000000..ebc2e1b7c --- /dev/null +++ b/src/content/docs/about/sponsor.mdx @@ -0,0 +1,24 @@ +--- +title: 赞助列表 +--- + +感谢所有赞助者对本项目的支持!您的帮助让我们能够持续维护和改进文档内容。 + +## 赞助者 + +import SponsorCard from "/src/components/SponsorCard.vue"; + + diff --git a/src/content/docs/about/timeline.mdx b/src/content/docs/about/timeline.mdx new file mode 100644 index 000000000..6961c74c4 --- /dev/null +++ b/src/content/docs/about/timeline.mdx @@ -0,0 +1,50 @@ +--- +title: 时间线 +--- + +import TimeLine from "/src/components/Timeline.vue"; + +欢迎来到 Cubic-Project 的发展时间线! + + diff --git a/src/content/docs/bedrock/bds/process/plugins/plugins-loader-choose.mdx b/src/content/docs/bedrock/bds/process/plugins/plugins-loader-choose.mdx index 4c1d8e8ce..01ee08fe6 100644 --- a/src/content/docs/bedrock/bds/process/plugins/plugins-loader-choose.mdx +++ b/src/content/docs/bedrock/bds/process/plugins/plugins-loader-choose.mdx @@ -2,8 +2,6 @@ title: 插件加载器选择 --- -# BDS 社区开发者编写的插件加载器 - import { TabItem, Tabs } from "@astrojs/starlight/components"; ## 主流加载器 @@ -12,8 +10,8 @@ import { TabItem, Tabs } from "@astrojs/starlight/components"; {/* */} - - + + | 插件加载器 | 别名:LLL,LLv3 | | -------------- | ---------------------------------------------------------------------------------------- | @@ -26,7 +24,7 @@ import { TabItem, Tabs } from "@astrojs/starlight/components"; | 支持的 MC 版本 | 1.20.61-1.21.3 (目前保持更新) | - + | 插件加载器 | | | -------------- | ----------------------------------------------------------------------------------------------------------------- | @@ -39,7 +37,7 @@ import { TabItem, Tabs } from "@astrojs/starlight/components"; | 支持的 MC 版本 | 1.20.71 - 1.21.2 (目前保持更新) | - + | 插件加载器 | 别名:BDSX | | -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | @@ -61,8 +59,8 @@ import { TabItem, Tabs } from "@astrojs/starlight/components"; {/* */} - - + + | 插件加载器 | 别名:SAPI | | -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | @@ -82,8 +80,9 @@ import { TabItem, Tabs } from "@astrojs/starlight/components"; ## 寿终正寝の加载器 {/* */} + - + | 插件加载器 | 别名:LL,LLv2 ([详情点我](#litexloader-合并至-liteloader-2022-年-2-月-12-日)) | | -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | @@ -96,7 +95,7 @@ import { TabItem, Tabs } from "@astrojs/starlight/components"; | 支持的 MC 版本 | 1.16.210 - 1.20.31.01 (已存档)[^Archived] | - + | 插件加载器 | 别名:LXL | | -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | diff --git a/src/content/docs/general/advance/bot/plugin.mdx b/src/content/docs/general/advance/bot/plugin.mdx index 344c3e0f9..49611b515 100644 --- a/src/content/docs/general/advance/bot/plugin.mdx +++ b/src/content/docs/general/advance/bot/plugin.mdx @@ -6,8 +6,6 @@ sidebar: import { TabItem, Tabs } from "@astrojs/starlight/components"; -# 接入式机器人 - 指一个运行的 QQ 机器人的插件或者模组,这些插件或者模组负责进行 QQ 消息的处理,并且有一定的拓展性 有的 QQ 机器人插件需要外部独立程序的辅助进行处理,但 QQ 连接仍然需要依赖 QQ 机器人框架 @@ -42,7 +40,7 @@ import { TabItem, Tabs } from "@astrojs/starlight/components"; | 下载 | [GitHub](https://github.com/sparkbridge/sparkbridge2/releases) | - + | McBot | ![](https://img.shields.io/badge/状态-积极维护-green?style=for-the-badge) | | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | @@ -53,7 +51,7 @@ import { TabItem, Tabs } from "@astrojs/starlight/components"; | 下载 | [Modrinth](https://modrinth.com/mod/mcbot) \| [Mcmod](https://www.mcmod.cn/download/4903.html) \| [CruseForge](https://www.curseforge.com/minecraft/mc-mods/mcbot) | - + | McBot | ![](https://img.shields.io/badge/状态-积极维护-green?style=for-the-badge) | | ---------------- | ---------------------------------------------------------------------------------------------------------------------------- | @@ -86,7 +84,7 @@ import { TabItem, Tabs } from "@astrojs/starlight/components"; | 下载 | [官网下载](https://bbs.mcxin.cn/archives/216) | - + | NeoBot | ![](https://img.shields.io/badge/状态-积极维护-green?style=for-the-badge) | | ---------------- | ---------------------------------------------------------------------------------------------------------------------- | diff --git a/general/advance/management/management.md b/src/content/docs/general/advance/management/intro.md similarity index 99% rename from general/advance/management/management.md rename to src/content/docs/general/advance/management/intro.md index 8b4246cd0..3a9190d7a 100644 --- a/general/advance/management/management.md +++ b/src/content/docs/general/advance/management/intro.md @@ -1,10 +1,8 @@ --- title: 经营管理 -slug: /Sundry/Advance/management -sidebar_position: 6 --- -# 前言 +## 前言 学习了开服的理论知识之后,各位服主还需要意识到一件事:开服不仅是一个技术活,它还需要自己的悉心管理和照料。MC 服务器就像一个网游,你不仅是游戏的后台管理员,还是游戏的美术、策划师、运营、项目经理等,或者你也可以选择招募团队,将不同的职位分配给不同的人。 diff --git a/general/advance/management/money-management/investment-psychology.md b/src/content/docs/general/advance/management/money-management/investment-psychology.md similarity index 96% rename from general/advance/management/money-management/investment-psychology.md rename to src/content/docs/general/advance/management/money-management/investment-psychology.md index 491cd7d76..368c12fce 100644 --- a/general/advance/management/money-management/investment-psychology.md +++ b/src/content/docs/general/advance/management/money-management/investment-psychology.md @@ -1,11 +1,7 @@ --- title: 投资心理学 -slug: /Sundry/Advance/management/money-management/investment_psychology -sidebar_position: 2 --- -# 投资心理学 - > “我已经花了 XX 元了,不能就这么停下。”
    > “别的服务器都投几千了,我是不是也要冲一波?”
    > “我再买几个插件,玩家肯定就会多了。”
    diff --git a/src/content/docs/general/advance/management/money-management/money-management.md b/src/content/docs/general/advance/management/money-management/money-management.md new file mode 100644 index 000000000..25e8c9063 --- /dev/null +++ b/src/content/docs/general/advance/management/money-management/money-management.md @@ -0,0 +1,5 @@ +--- +title: 资金管理 +--- + +> 施工中 diff --git a/src/content/docs/general/advance/management/money-management/sustainable-development.md b/src/content/docs/general/advance/management/money-management/sustainable-development.md new file mode 100644 index 000000000..44c822336 --- /dev/null +++ b/src/content/docs/general/advance/management/money-management/sustainable-development.md @@ -0,0 +1,89 @@ +--- +title: 可持续性发展 +--- + +很多新手服务器之所以短命,不是因为技术差或没有人气,而是因为无法在资金、精力、社区建设等方面维持长期的健康运转。 + +可持续发展的目标是:服务器能以稳定、合理的节奏运作下去,无需不断砸钱或依赖短期爆发。 + +## 核心原则 + +### 1. 按能力规划,而非按理想设计 + +> 总想一步到位做出“顶级服务器”,堆砌大量复杂功能、定制内容,远超个人或小团队的维护能力。 + +- **明智做法:** + - 起点简单:从纯净原版或少数几个核心、成熟的轻量插件/模组开始。确保核心玩法稳定、流畅。 + - 渐进式发展:根据实际活跃玩家数量、团队精力、稳定运营时长、资金结余来规划下一步更新。每次只增加 1-2 个能消化的新内容。 + - 质量 > 噱头:玩家更珍视一个稳定、流畅、bug 少的服务器体验。一个完成度高、运行平稳的“小”服,远胜于一个充满半成品和崩溃的“大”服。 +- **关键问题:** + - 这个新功能、模组、活动,我一个人/小团队能长期维护好吗?它真的能提升核心体验吗?还是仅仅看起来很帅? + +--- + +### 2. 降低依赖性,提高自治力 + +> 过度依赖某个技术大佬、付费外包或朋友临时帮忙,一旦对方没空或离开,服务器立即陷入瘫痪或无法更新。 + +- **明智做法:** + - 自学基础:强制自己学习核心技能,基础服务端操作、核心插件配置、日志查看、玩家数据管理等。网上教程资源极其丰富。 + - 文档是生命线:建立清晰、更新的文档。即使你暂时离开,其他人也能接手。 + - 标准化与模块化:尽量使用标准化的配置方式。插件/模组选择成熟、维护良好的,避免过多深度魔改。 +- **关键问题:** + - 如果明天唯一懂技术的人消失了,服务器能维持基本运转多久?核心信息是否记录在案? + +--- + +### 3. 靠持续运营,而非短期爆发 + +> 开服初期热情高涨,爆肝几天几夜配置、宣传;热度稍降或遇到问题后迅速倦怠,更新停滞,服务器逐渐凉凉。 + +- **明智做法:** + - 建立节奏感:设定可持续的维护与更新周期。例如每周固定某晚进行小维护、每 2-4 周推出一个小型更新/活动。 + - 留有余力:永远不要把自己/团队逼到极限。预留时间和精力处理突发问题。 + - 关注长期指标:关注玩家留存率、平均在线时长、社区活跃度(如群聊/论坛),而非仅看开服初期的峰值人数。 +- **关键问题:** + - 我当前设定的维护和更新计划,在 3 个月、6 个月后,我还能轻松坚持吗? + +## 运营建议 + +- **版本选择** + - 优先选择稳定版本,避免过于前沿的测试或实验性构建。 + +- **管理团队** + - 小而精 > 大而散,2-3 个可靠、互补、有共同目标的核心管理员比 10 个挂名 OP 强百倍。 + +- **内容更新** + - 控制节奏,保证质量。例如:每 2-4 周一个主题活动/小游戏/新区域;每 1-2 月一个中型玩法更新。更新后务必预留观察期处理 bug。 + +- **玩家反馈** + - 定期收集建议,用数据判断优先级,而非“谁声音大听谁的”。 + +- **功能设计** + - 能用 > 炫酷,每个新增功能、插件、模组都要问:它解决什么核心问题?维护成本多高?是否与其他系统冲突?警惕功能蔓延带来的维护灾难。 + +- **资金管理** + - 明确主要开销(服务器租金、域名、必要插件/资源)。设定可持续的众筹/赞助模式。记录收支,避免无计划投入。 + +- **风险预案** + - 自动化每日备份,并定期测试恢复。关键配置文件单独备份。制定应对常见危机(炸服、严重 bug、玩家冲突)的流程。 + +## 避坑提示 + +- **警惕“氪金玩家”绑架** + - 不要因为个别玩家投入多就无底线满足其定制需求或破坏服务器平衡。 + +- **避免“用爱发电”耗尽热情** + - 开服是长跑,合理分配精力,该休息时休息,寻找同好分担。 + +- **抵制“盲目跟风”** + - 不要看到某个玩法/模组在其他服火就硬塞进自己的服,需评估是否契合自身定位和承载能力。 + +- **避免“完美主义”** + - 追求“完美”往往导致拖延和无法上线。先推出“够用”的版本,再迭代优化。 + +## 总结 + +可持续性发展不是让你把服务器“做小”,而是让你把它“做稳”。从能力出发、科学规划、留有余力,才能在一次次挑战与成长中积累出真正属于你的服务器与社区核心。 + +哪怕你只有一个人,只要能稳步走下去,依然能成为别人坚持不下去时的“那个例外”。 diff --git a/general/advance/management/player-management/announcement.md b/src/content/docs/general/advance/management/player-management/announcement.md similarity index 98% rename from general/advance/management/player-management/announcement.md rename to src/content/docs/general/advance/management/player-management/announcement.md index dd5225f62..515b1f3bf 100644 --- a/general/advance/management/player-management/announcement.md +++ b/src/content/docs/general/advance/management/player-management/announcement.md @@ -1,11 +1,7 @@ --- title: 服务器公告 -slug: /Sundry/Advance/management/player-management/announcement -sidebar_position: 7 --- -# 服务器公告 - ## 在学习正确发布服务器公告前,请停止这些行为 1. **在服务器内发布无意义公告。** diff --git a/general/advance/management/player-management/auditing.md b/src/content/docs/general/advance/management/player-management/auditing.md similarity index 62% rename from general/advance/management/player-management/auditing.md rename to src/content/docs/general/advance/management/player-management/auditing.md index 34482068f..310199f67 100644 --- a/general/advance/management/player-management/auditing.md +++ b/src/content/docs/general/advance/management/player-management/auditing.md @@ -1,24 +1,20 @@ --- title: 进服审核 -slug: /Sundry/Advance/management/player-management/audit -sidebar_position: 8 --- -# 进服审核 - 对于一个服务器来说,维持良好的玩家社区是非常有必要的。社区的秩序不仅要由管理员监督,也要玩家共同来维护。然而玩家之间素质参差不齐,有些玩家就可以做到和其他人在服务器中合作,但是有些玩家就以破坏为乐,素质极差。为了筛选这些玩家,我们必须要知道以下种类的玩家会不利于玩家社区的发展: 1. **喜欢骂人,甚至以骂人为乐的玩家** - 虽然有些玩家说话不文明,说话时嘴边总带点脏字,但是如果他不存在不尊重他人的情况,大多数玩家还是可以接受的。多数玩家无法接受的喜欢骂人的玩家通常会自私地维护他自己的观点,与别人观点发生分歧时首先辱骂他人而不是关注谁对谁错。有些玩家还喜欢无缘无故地给侮辱他人,比如给服务器内其他玩家起不恰当的外号、觉得某个玩家的建筑皮肤等不好看就对那个玩家进行羞辱等。 + 虽然有些玩家说话不文明,说话时嘴边总带点脏字,但是如果他不存在不尊重他人的情况,大多数玩家还是可以接受的。多数玩家无法接受的喜欢骂人的玩家通常会自私地维护他自己的观点,与别人观点发生分歧时首先辱骂他人而不是关注谁对谁错。有些玩家还喜欢无缘无故地给侮辱他人,比如给服务器内其他玩家起不恰当的外号、觉得某个玩家的建筑皮肤等不好看就对那个玩家进行羞辱等。 2. **熊孩子,喜欢搞破坏的玩家** - 熊孩子通常是以在服务器中搞破坏为乐的人。他们喜欢拆家、偷盗、恶作剧等,这些行为严重影响了其他玩家的正常游戏。 + 熊孩子通常是以在服务器中搞破坏为乐的人。他们喜欢拆家、偷盗、恶作剧等,这些行为严重影响了其他玩家的正常游戏。 3. **不明事理,不会为他人着想的人** - 在日常生活中,为他人着想、换位思考是我们与他人互相尊重的非常重要的人格品质。在服务器中,有些玩家不知道如何尊重他人,在明知道自己错了却又强行辩解,“像个傻子一样”,让所有人都很尴尬。有时他们也会把随意拿走别人的东西、占有别人的家、借东西不还等行为看作理所应当,在其他人指出他错误时拒不道歉。这样的人非常讨厌,在服务器中也是一样。这些玩家还可能不尊重别人的劳动成果,别人一旦答应他使用某设施,或者同意给他游戏物资帮助他,他不但不说一声谢谢,还从此从别人那里索取,这就是典型的“伸手党”。 + 在日常生活中,为他人着想、换位思考是我们与他人互相尊重的非常重要的人格品质。在服务器中,有些玩家不知道如何尊重他人,在明知道自己错了却又强行辩解,“像个傻子一样”,让所有人都很尴尬。有时他们也会把随意拿走别人的东西、占有别人的家、借东西不还等行为看作理所应当,在其他人指出他错误时拒不道歉。这样的人非常讨厌,在服务器中也是一样。这些玩家还可能不尊重别人的劳动成果,别人一旦答应他使用某设施,或者同意给他游戏物资帮助他,他不但不说一声谢谢,还从此从别人那里索取,这就是典型的“伸手党”。 ## 审核方式的分类 @@ -39,12 +35,12 @@ sidebar_position: 8 给玩家出的问题可以与你对玩家的要求相关。例如: - **如果你希望玩家素质更高**,就可以出服务器内行为相关的题目,比如: - - 当听说自己的好友偷了其他玩家的物品被抓时,你应该怎么做 - - 你正在使用的刷铁机的主人突然因为某些原因而禁止你使用他的刷铁机,你应该怎么做 + - 当听说自己的好友偷了其他玩家的物品被抓时,你应该怎么做 + - 你正在使用的刷铁机的主人突然因为某些原因而禁止你使用他的刷铁机,你应该怎么做 - **如果你希望玩家的游戏水平更高**,你也可以出游戏知识相关的题目,比如: - - 以下哪个红石电路可以实现 RS 锁存器的功能 - - 当一个不属于任何村庄的村民在距离附近的村庄至少多远处认领床时,才会创建新的村庄而不是加入那个附近的村庄 + - 以下哪个红石电路可以实现 RS 锁存器的功能 + - 当一个不属于任何村庄的村民在距离附近的村庄至少多远处认领床时,才会创建新的村庄而不是加入那个附近的村庄 题目尽量不要过难,例如: diff --git a/general/advance/management/player-management/chunkbase.md b/src/content/docs/general/advance/management/player-management/chunkbase.md similarity index 97% rename from general/advance/management/player-management/chunkbase.md rename to src/content/docs/general/advance/management/player-management/chunkbase.md index 52e3975f7..ee1e32775 100644 --- a/general/advance/management/player-management/chunkbase.md +++ b/src/content/docs/general/advance/management/player-management/chunkbase.md @@ -1,11 +1,7 @@ --- title: Chunkbase -slug: /Sundry/Advance/management/player-management/chunkbase -sidebar_position: 2 --- -# Chunkbase - Chunkbase 是 MC 玩家经常用的快速探索世界的网站,它提供一个工具,可以在已知世界种子的情况下快速定位到自己想要找的各种自然生成的建筑或者特殊区域,比如要塞、海底神殿、村庄、古城、下界要塞、猪灵堡垒、末地城等。 **Chunkbase** 的网站是 [www.chunkbase.com](https://www.chunkbase.com/)。 diff --git a/general/advance/management/player-management/client-distribution.mdx b/src/content/docs/general/advance/management/player-management/client-distribution.mdx similarity index 99% rename from general/advance/management/player-management/client-distribution.mdx rename to src/content/docs/general/advance/management/player-management/client-distribution.mdx index 6c490cfaf..69f6d9e73 100644 --- a/general/advance/management/player-management/client-distribution.mdx +++ b/src/content/docs/general/advance/management/player-management/client-distribution.mdx @@ -1,13 +1,9 @@ --- title: 分发客户端 -slug: /Sundry/Advance/management/player-management/client-distribution -sidebar_position: 6 --- import { FileTree } from '@astrojs/starlight/components'; -# 分发客户端 - 当你的服务器要求玩家使用特定版本客户端或安装特定模组时,你需要主动为玩家提供客户端的获取方式,方便新玩家们更方便地玩上你的服务器。 ## Java 版 diff --git a/general/advance/management/player-management/feedback.md b/src/content/docs/general/advance/management/player-management/feedback.md similarity index 96% rename from general/advance/management/player-management/feedback.md rename to src/content/docs/general/advance/management/player-management/feedback.md index 1e575373a..7c0c8389e 100644 --- a/general/advance/management/player-management/feedback.md +++ b/src/content/docs/general/advance/management/player-management/feedback.md @@ -1,11 +1,7 @@ --- title: 玩家反馈 -slug: /Sundry/Advance/management/player-management/feedback -sidebar_position: 10 --- -# 玩家反馈 - ## 投票 :::tip diff --git a/general/advance/management/player-management/platform.md b/src/content/docs/general/advance/management/player-management/platform.md similarity index 99% rename from general/advance/management/player-management/platform.md rename to src/content/docs/general/advance/management/player-management/platform.md index e19cfa723..cdca5e4d5 100644 --- a/general/advance/management/player-management/platform.md +++ b/src/content/docs/general/advance/management/player-management/platform.md @@ -1,11 +1,7 @@ --- title: 玩家交流平台 -slug: /Sundry/Advance/management/player-management/platform -sidebar_position: 5 --- -# 玩家交流平台 - 为了和玩家保持联系,也是让玩家之间能够互相联系,光有服务器中的聊天是远远不够的。服务器中的聊天功能少,无法保存聊天记录,在玩家下线之后也不再能及时联系到那个玩家。服务器需要在即时通信软件上建立交流平台,来扩充服务器社交的属性。与服务器内聊天相比,即时通信软件有以下优势: 1. 玩家身份唯一,不容易伪造身份。 diff --git a/src/content/docs/general/advance/management/player-management/player-management.md b/src/content/docs/general/advance/management/player-management/player-management.md new file mode 100644 index 000000000..6d4676856 --- /dev/null +++ b/src/content/docs/general/advance/management/player-management/player-management.md @@ -0,0 +1,5 @@ +--- +title: 玩家管理 +--- + +> 施工中 diff --git a/general/advance/management/player-management/rules.md b/src/content/docs/general/advance/management/player-management/rules.md similarity index 98% rename from general/advance/management/player-management/rules.md rename to src/content/docs/general/advance/management/player-management/rules.md index 907233207..300da729a 100644 --- a/general/advance/management/player-management/rules.md +++ b/src/content/docs/general/advance/management/player-management/rules.md @@ -1,11 +1,7 @@ --- title: 服务器规则 -slug: /Sundry/Advance/management/player-management/rules -sidebar_position: 3 --- -# 服务器规则 - 服务器中已经有了一定的 MC 自带的游戏规则,比如生存不能开飞行,不能挖基岩等。但是这些远远不够,游戏规则中存在大量的漏洞,而且也没有对玩家的道德层面行为进行约束。为了规范玩家的行为,你必须为服务器额外制定游戏规则,这些游戏规则就是服务器规则。一旦玩家违反了你设定的规则,你就要按规定对玩家进行处罚,来让这名玩家和其他玩家更加严格地遵守规则。 ## 最基本的规则 diff --git a/general/advance/management/player-management/whitelist.md b/src/content/docs/general/advance/management/player-management/whitelist.md similarity index 94% rename from general/advance/management/player-management/whitelist.md rename to src/content/docs/general/advance/management/player-management/whitelist.md index 3435c140a..c91f77492 100644 --- a/general/advance/management/player-management/whitelist.md +++ b/src/content/docs/general/advance/management/player-management/whitelist.md @@ -1,13 +1,7 @@ --- title: 白名单制度 -slug: /Sundry/Advance/management/player-management/whitelist -sidebar_position: 4 --- - - -# 白名单制度 - 为了保证服务器中所有的玩家都可信,你可能需要为服务器配置白名单。没有白名单的服务器将面临以下风险: 1. 同一个玩家使用多个帐号进服,同时领取多份限量奖励。 @@ -33,11 +27,11 @@ sidebar_position: 4 ::: -### 准备内容 +### 机器人准备内容 - 一个可以保证长期工作的群机器人 -### 操作方法 +### 机器人操作方法 以下机器人均已内置了玩家自助绑定白名单功能: @@ -47,12 +41,12 @@ sidebar_position: 4 除了使用机器人,你也可以手动完成添加白名单工作。由于人工操作繁琐,只建议在不便于搭建玩家自助绑定白名单功能时使用。 -### 准备内容 +### 管理员准备内容 - 保证长期在线随时响应玩家的管理员团队:你可以让服务器的客服团队来完成此工作。 - 一个用于记录玩家身份和 ID 对应关系的文档。 -### 操作方法 +### 管理员操作方法 1. **所有负责添加白名单的人都必须拥有使用 `whitelist` 指令的权限。** 你可以通过以下几种方式: - 为服务器机器人配置特定响应机制,机器人响应指定管理员的指定命令来执行 `whitelist` 命令 diff --git a/general/advance/management/player-management/wiki.md b/src/content/docs/general/advance/management/player-management/wiki.md similarity index 94% rename from general/advance/management/player-management/wiki.md rename to src/content/docs/general/advance/management/player-management/wiki.md index 5da429020..7848e5ae4 100644 --- a/general/advance/management/player-management/wiki.md +++ b/src/content/docs/general/advance/management/player-management/wiki.md @@ -1,7 +1,5 @@ --- title: Minecraft Wiki -slug: /Sundry/Advance/management/player-management/wiki -sidebar_position: 1 --- # Minecraft Wiki diff --git a/src/content/docs/general/more/ask-for-help.md b/src/content/docs/general/more/ask-for-help.md index f201efcd7..f867d37e9 100644 --- a/src/content/docs/general/more/ask-for-help.md +++ b/src/content/docs/general/more/ask-for-help.md @@ -3,8 +3,6 @@ title: 如何向大佬求助 sidebar_position: 7 --- -## 如何向大佬求助 - 首先明确,你是求助者不是少爷,第二,大多数人还是愿意互帮互助的。 :::caution @@ -19,7 +17,7 @@ sidebar_position: 7 ::: -### 错误问问题的方式 +## 错误问问题的方式 一般来说,入门任何的领域会遇到问题,都需要问问题,但大家基本都不欢迎以下的问题: diff --git a/general/advance/arthas.md b/src/content/docs/java/advance/arthas.md similarity index 96% rename from general/advance/arthas.md rename to src/content/docs/java/advance/arthas.md index 1c7fb38a5..1ad8b5c92 100644 --- a/general/advance/arthas.md +++ b/src/content/docs/java/advance/arthas.md @@ -1,13 +1,7 @@ --- title: Arthas -slug: /arthas -sidebar_position: 7 --- - - -# Arthas - Arthas(中文名:阿尔萨斯) 是一个 Java 诊断工具,在 Minecraft 中可以用来分析报错或追踪调用 :::caution diff --git a/general/maintenance/plugin-troubleshooting.md b/src/content/docs/java/process/plugin/more/plugin-troubleshooting.md similarity index 98% rename from general/maintenance/plugin-troubleshooting.md rename to src/content/docs/java/process/plugin/more/plugin-troubleshooting.md index 190206357..4e8f64d01 100644 --- a/general/maintenance/plugin-troubleshooting.md +++ b/src/content/docs/java/process/plugin/more/plugin-troubleshooting.md @@ -1,5 +1,5 @@ --- -title: 如何排除有问题的插件 +title: 排除问题插件 --- 当我们更新了服务器一些插件后,可能会发现某些插件出了一些问题,应该如何排除呢? diff --git a/src/styles/global.css b/src/styles/global.css index af11c0c5b..f48c1c9d1 100644 --- a/src/styles/global.css +++ b/src/styles/global.css @@ -1,7 +1,7 @@ @import "tailwindcss"; @media (min-width: 96rem) { - :root { - --sl-content-width: 64rem; - } -} \ No newline at end of file + :root { + --sl-content-width: 64rem; + } +} diff --git a/tsconfig.json b/tsconfig.json index 08afa2e53..0a2ec0444 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,11 +1,17 @@ { - "extends": "astro/tsconfigs/strict", - "include": [".astro/types.d.ts", "**/*"], - "exclude": ["dist"], - "compilerOptions": { - "resolveJsonModule": true - }, - "mdx": { - "checkMdx": true - } -} + "extends": "astro/tsconfigs/strict", + "include": [ + ".astro/types.d.ts", + "**/*" + ], + "exclude": [ + "dist" + ], + "compilerOptions": { + "resolveJsonModule": true, + "jsx": "preserve" + }, + "mdx": { + "checkMdx": true + } +} \ No newline at end of file From 19c13eb776ba690db5b3b525af19da1fed86ad3d Mon Sep 17 00:00:00 2001 From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com> Date: Sat, 31 Jan 2026 17:16:51 -0500 Subject: [PATCH 23/42] =?UTF-8?q?=E5=90=88=E5=B9=B6=20Java=20=E8=BF=9B?= =?UTF-8?q?=E9=98=B6=E7=9F=A5=E8=AF=86=E7=9A=84=E7=BB=B4=E6=8A=A4=E7=AB=A0?= =?UTF-8?q?=E8=8A=82=E5=88=B0=E8=BF=9B=E9=98=B6=E7=9F=A5=E8=AF=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 维护章节语义不明确,包含了和服务器维护无关的东西,如资源包,反作弊,脚本语言等,直接放到进阶知识里比较好 --- astro.config.ts | 100 +++++++++--------- .../general/basics/what-is-startup-script.md | 2 +- .../choose-and-download-and-install-java.md | 2 +- .../_assets/anticheat/antixray-mode1-1.png | Bin .../_assets/anticheat/antixray-mode2-1.png | Bin .../_assets/anticheat/antixray-mode3-1.png | Bin .../anticheat/antixray-nerher-mode1.png | Bin .../anticheat/antixray-nerher-mode3.png | Bin .../anticheat/antixray-nether-mode2.png | Bin .../_assets/anticheat/talentsaclogo.png | Bin .../anticheat/_assets/img.png | Bin .../anticheat/_assets/img_1.png | Bin .../{maintenance => }/anticheat/anti-crash.md | 0 .../anticheat/anticheatplugins.mdx | 0 .../{maintenance => }/anticheat/antixray.md | 0 .../{maintenance => }/anticheat/honeypot.md | 0 .../{maintenance => }/anticheat/intro.md | 0 .../{maintenance => }/anticheat/rng.md | 0 .../java/advance/{maintenance => }/backup.md | 0 .../advance/{maintenance => }/lang/intro.md | 0 .../lang/javascript/extend/graaljs.md | 2 +- .../lang/javascript/extend/intro.md | 0 .../lang/javascript/extend/nashorn.md | 0 .../lang/javascript/intro.md | 4 +- .../lang/kether/_assets/Vulpecula/1.png | Bin .../lang/kether/_assets/Vulpecula/2.png | Bin .../lang/kether/_assets/Vulpecula/3.png | Bin .../lang/kether/_assets/Vulpecula/4.png | Bin .../lang/kether/_assets/Vulpecula/5.png | Bin .../lang/kether/_assets/Vulpecula/6.png | Bin .../lang/kether/_assets/Vulpecula/7.png | Bin .../lang/kether/_assets/Vulpecula/8.png | Bin .../lang/kether/_assets/Vulpecula/9.png | Bin .../lang/kether/_assets/if_1.png | Bin .../lang/kether/_assets/if_2.png | Bin .../lang/kether/_assets/if_3.png | Bin .../lang/kether/_assets/inline.png | Bin .../lang/kether/_assets/math_1.png | Bin .../lang/kether/_assets/result.png | Bin .../lang/kether/_assets/type_1.png | Bin .../lang/kether/_assets/var_1.png | Bin .../lang/kether/_assets/var_2.png | Bin .../lang/kether/_assets/var_3.png | Bin .../lang/kether/_assets/var_4.png | Bin .../lang/kether/_assets/var_5.png | Bin .../lang/kether/_assets/var_6.png | Bin .../lang/kether/_assets/var_7.png | Bin .../lang/kether/_assets/vul-check.png | Bin .../lang/kether/_assets/vul-color.png | Bin .../lang/kether/_assets/vul-papi.png | Bin .../lang/kether/_assets/vul-perm.png | Bin .../lang/kether/_assets/vul-permNot_1.png | Bin .../lang/kether/_assets/vul-permNot_2.png | Bin .../lang/kether/_assets/vul-tell.png | Bin .../lang/kether/_assets/vul-tell_color.png | Bin .../lang/kether/_assets/vul-tell_name.png | Bin .../lang/kether/_assets/vul-tell_noColor.png | Bin .../kether/_assets/vul-tell_papiNoInline.png | Bin .../_assets/vul-tell_papiWithInline.png | Bin .../kether/_assets/vul-tell_papiWithJoin.png | Bin .../lang/kether/_assets/vul-tell_tell.png | Bin .../lang/kether/_assets/web-tell.png | Bin .../_assets/\345\206\222\346\261\227.jpg" | Bin .../_assets/\346\213\254\345\217\267.png" | Bin .../\346\255\243\347\273\217\347\254\221.jpg" | Bin .../_assets/\347\227\264\345\221\206.jpg" | Bin .../{maintenance => }/lang/kether/basic.md | 0 .../{maintenance => }/lang/kether/if.md | 4 +- .../{maintenance => }/lang/kether/intro.md | 0 .../{maintenance => }/lang/kether/math.md | 0 .../{maintenance => }/lang/kether/misc.md | 0 .../lang/kether/preparation.md | 0 .../{maintenance => }/lang/kether/variable.md | 2 +- .../lang/kether/vulpecula.md | 0 .../lang/skript/_assets/QuerySubclasses.png | Bin .../lang/skript/_assets/SearchEvent.png | Bin .../lang/skript/_assets/SearchMethods.png | Bin .../lang/skript/_assets/SkriptBasic1.png | Bin .../lang/skript/advanced-tutorials.md | 0 .../lang/skript/basic-tutorials.md | 0 .../{maintenance => }/lang/skript/intro.md | 4 +- .../docs/java/advance/maintenance/intro.md | 5 - .../optimize/_assets/ummm.jpg | Bin .../spark_start.png" | Bin .../spark_stop.png" | Bin .../optimize/ask-for-help.md | 2 +- .../advance/{maintenance => }/optimize/go.mdx | 2 +- .../{maintenance => }/optimize/img.png | Bin .../{maintenance => }/optimize/intro.md | 12 +-- .../{maintenance => }/optimize/jvm/common.md | 4 +- .../optimize/jvm/dragonwell11.md | 0 .../optimize/jvm/dragonwell8.md | 0 .../{maintenance => }/optimize/jvm/graal.md | 0 .../{maintenance => }/optimize/jvm/intro.mdx | 0 .../{maintenance => }/optimize/jvm/openj9.md | 0 .../{maintenance => }/optimize/jvm/zing.md | 0 .../{maintenance => }/optimize/kernel.mdx | 0 .../optimize/optimized-plugin.md | 14 +-- .../optimize/performance-analysis.md | 0 .../optimize/storage-space-optimization.md | 0 .../resourcepack/_assets/1.png | Bin .../resourcepack/_assets/2.png | Bin .../resourcepack/_assets/3.png | Bin .../resourcepack/_assets/4.png | Bin .../resourcepack/_assets/5.png | Bin .../resourcepack/_assets/6.png | Bin .../resourcepack/_assets/7.png | Bin .../resourcepack/_assets/8.png | Bin .../resourcepack/_assets/blockbench.png | Bin .../resourcepack/_assets/head.png | Bin .../resourcepack/_assets/title.png | Bin .../resourcepack/_assets/tooltip1.png | Bin .../resourcepack/_assets/tooltip2.png | Bin .../{maintenance => }/resourcepack/addon.md | 0 .../resourcepack/compress.md | 0 .../{maintenance => }/resourcepack/intro.md | 0 ...b2c895c2af14fbc7e6989404d0ff7af64020ea.gif | Bin ...2f487d799270ea2e204de73236dda77d18f954.gif | Bin ...a53ea3a4d029784f4ed54d17a335e099b805b4.gif | Bin ...4a015981222b37bfa3b2324113d919a33b090f.png | Bin ...470cba6836ab471f19c8e788c513765de2d02c.png | Bin ...a7f51a86d1a313f1b41f27e021421adc93eec9.png | Bin ...b239e0689c433ef5a2c0e85f710e988bf1ba4e.gif | Bin ...658155424cd985553237821611dfdea040b166.gif | Bin .../plugins/_assets/videoframe_1994.png | Bin .../plugins/_assets/videoframe_931.png | Bin .../resourcepack/plugins/entity.mdx | 0 .../resourcepack/plugins/framework.mdx | 4 +- .../resourcepack/plugins/hud.mdx | 0 .../resourcepack/plugins/intro.md | 0 .../resourcepack/plugins/misc.mdx | 0 .../resourcepack/plugins/tooltip.md | 0 .../resourcepack/plugins/vehicles.mdx | 0 .../{maintenance => }/resourcepack/protect.md | 2 +- .../{maintenance => }/resourcepack/send.mdx | 0 .../resourcepack/software.md | 0 src/content/docs/java/process/plugin/intro.md | 2 +- .../plugin/management-tool/items/misc.md | 4 +- .../plugin/management-tool/permission/meta.md | 2 +- .../java/process/plugin/misc/menu/trmenu.md | 6 +- .../java/process/plugin/more/tittle-tattle.md | 2 +- .../docs/java/process/redstone/plugin.md | 2 +- 142 files changed, 89 insertions(+), 94 deletions(-) rename src/content/docs/java/advance/{maintenance => }/anticheat/_assets/anticheat/antixray-mode1-1.png (100%) rename src/content/docs/java/advance/{maintenance => }/anticheat/_assets/anticheat/antixray-mode2-1.png (100%) rename src/content/docs/java/advance/{maintenance => }/anticheat/_assets/anticheat/antixray-mode3-1.png (100%) rename src/content/docs/java/advance/{maintenance => }/anticheat/_assets/anticheat/antixray-nerher-mode1.png (100%) rename src/content/docs/java/advance/{maintenance => }/anticheat/_assets/anticheat/antixray-nerher-mode3.png (100%) rename src/content/docs/java/advance/{maintenance => }/anticheat/_assets/anticheat/antixray-nether-mode2.png (100%) rename src/content/docs/java/advance/{maintenance => }/anticheat/_assets/anticheat/talentsaclogo.png (100%) rename src/content/docs/java/advance/{maintenance => }/anticheat/_assets/img.png (100%) rename src/content/docs/java/advance/{maintenance => }/anticheat/_assets/img_1.png (100%) rename src/content/docs/java/advance/{maintenance => }/anticheat/anti-crash.md (100%) rename src/content/docs/java/advance/{maintenance => }/anticheat/anticheatplugins.mdx (100%) rename src/content/docs/java/advance/{maintenance => }/anticheat/antixray.md (100%) rename src/content/docs/java/advance/{maintenance => }/anticheat/honeypot.md (100%) rename src/content/docs/java/advance/{maintenance => }/anticheat/intro.md (100%) rename src/content/docs/java/advance/{maintenance => }/anticheat/rng.md (100%) rename src/content/docs/java/advance/{maintenance => }/backup.md (100%) rename src/content/docs/java/advance/{maintenance => }/lang/intro.md (100%) rename src/content/docs/java/advance/{maintenance => }/lang/javascript/extend/graaljs.md (97%) rename src/content/docs/java/advance/{maintenance => }/lang/javascript/extend/intro.md (100%) rename src/content/docs/java/advance/{maintenance => }/lang/javascript/extend/nashorn.md (100%) rename src/content/docs/java/advance/{maintenance => }/lang/javascript/intro.md (93%) rename src/content/docs/java/advance/{maintenance => }/lang/kether/_assets/Vulpecula/1.png (100%) rename src/content/docs/java/advance/{maintenance => }/lang/kether/_assets/Vulpecula/2.png (100%) rename src/content/docs/java/advance/{maintenance => }/lang/kether/_assets/Vulpecula/3.png (100%) rename src/content/docs/java/advance/{maintenance => }/lang/kether/_assets/Vulpecula/4.png (100%) rename src/content/docs/java/advance/{maintenance => }/lang/kether/_assets/Vulpecula/5.png (100%) rename src/content/docs/java/advance/{maintenance => }/lang/kether/_assets/Vulpecula/6.png (100%) rename src/content/docs/java/advance/{maintenance => }/lang/kether/_assets/Vulpecula/7.png (100%) rename src/content/docs/java/advance/{maintenance => }/lang/kether/_assets/Vulpecula/8.png (100%) rename src/content/docs/java/advance/{maintenance => }/lang/kether/_assets/Vulpecula/9.png (100%) rename src/content/docs/java/advance/{maintenance => }/lang/kether/_assets/if_1.png (100%) rename src/content/docs/java/advance/{maintenance => }/lang/kether/_assets/if_2.png (100%) rename src/content/docs/java/advance/{maintenance => }/lang/kether/_assets/if_3.png (100%) rename src/content/docs/java/advance/{maintenance => }/lang/kether/_assets/inline.png (100%) rename src/content/docs/java/advance/{maintenance => }/lang/kether/_assets/math_1.png (100%) rename src/content/docs/java/advance/{maintenance => }/lang/kether/_assets/result.png (100%) rename src/content/docs/java/advance/{maintenance => }/lang/kether/_assets/type_1.png (100%) rename src/content/docs/java/advance/{maintenance => }/lang/kether/_assets/var_1.png (100%) rename src/content/docs/java/advance/{maintenance => }/lang/kether/_assets/var_2.png (100%) rename src/content/docs/java/advance/{maintenance => }/lang/kether/_assets/var_3.png (100%) rename src/content/docs/java/advance/{maintenance => }/lang/kether/_assets/var_4.png (100%) rename src/content/docs/java/advance/{maintenance => }/lang/kether/_assets/var_5.png (100%) rename src/content/docs/java/advance/{maintenance => }/lang/kether/_assets/var_6.png (100%) rename src/content/docs/java/advance/{maintenance => }/lang/kether/_assets/var_7.png (100%) rename src/content/docs/java/advance/{maintenance => }/lang/kether/_assets/vul-check.png (100%) rename src/content/docs/java/advance/{maintenance => }/lang/kether/_assets/vul-color.png (100%) rename src/content/docs/java/advance/{maintenance => }/lang/kether/_assets/vul-papi.png (100%) rename src/content/docs/java/advance/{maintenance => }/lang/kether/_assets/vul-perm.png (100%) rename src/content/docs/java/advance/{maintenance => }/lang/kether/_assets/vul-permNot_1.png (100%) rename src/content/docs/java/advance/{maintenance => }/lang/kether/_assets/vul-permNot_2.png (100%) rename src/content/docs/java/advance/{maintenance => }/lang/kether/_assets/vul-tell.png (100%) rename src/content/docs/java/advance/{maintenance => }/lang/kether/_assets/vul-tell_color.png (100%) rename src/content/docs/java/advance/{maintenance => }/lang/kether/_assets/vul-tell_name.png (100%) rename src/content/docs/java/advance/{maintenance => }/lang/kether/_assets/vul-tell_noColor.png (100%) rename src/content/docs/java/advance/{maintenance => }/lang/kether/_assets/vul-tell_papiNoInline.png (100%) rename src/content/docs/java/advance/{maintenance => }/lang/kether/_assets/vul-tell_papiWithInline.png (100%) rename src/content/docs/java/advance/{maintenance => }/lang/kether/_assets/vul-tell_papiWithJoin.png (100%) rename src/content/docs/java/advance/{maintenance => }/lang/kether/_assets/vul-tell_tell.png (100%) rename src/content/docs/java/advance/{maintenance => }/lang/kether/_assets/web-tell.png (100%) rename "src/content/docs/java/advance/maintenance/lang/kether/_assets/\345\206\222\346\261\227.jpg" => "src/content/docs/java/advance/lang/kether/_assets/\345\206\222\346\261\227.jpg" (100%) rename "src/content/docs/java/advance/maintenance/lang/kether/_assets/\346\213\254\345\217\267.png" => "src/content/docs/java/advance/lang/kether/_assets/\346\213\254\345\217\267.png" (100%) rename "src/content/docs/java/advance/maintenance/lang/kether/_assets/\346\255\243\347\273\217\347\254\221.jpg" => "src/content/docs/java/advance/lang/kether/_assets/\346\255\243\347\273\217\347\254\221.jpg" (100%) rename "src/content/docs/java/advance/maintenance/lang/kether/_assets/\347\227\264\345\221\206.jpg" => "src/content/docs/java/advance/lang/kether/_assets/\347\227\264\345\221\206.jpg" (100%) rename src/content/docs/java/advance/{maintenance => }/lang/kether/basic.md (100%) rename src/content/docs/java/advance/{maintenance => }/lang/kether/if.md (95%) rename src/content/docs/java/advance/{maintenance => }/lang/kether/intro.md (100%) rename src/content/docs/java/advance/{maintenance => }/lang/kether/math.md (100%) rename src/content/docs/java/advance/{maintenance => }/lang/kether/misc.md (100%) rename src/content/docs/java/advance/{maintenance => }/lang/kether/preparation.md (100%) rename src/content/docs/java/advance/{maintenance => }/lang/kether/variable.md (96%) rename src/content/docs/java/advance/{maintenance => }/lang/kether/vulpecula.md (100%) rename src/content/docs/java/advance/{maintenance => }/lang/skript/_assets/QuerySubclasses.png (100%) rename src/content/docs/java/advance/{maintenance => }/lang/skript/_assets/SearchEvent.png (100%) rename src/content/docs/java/advance/{maintenance => }/lang/skript/_assets/SearchMethods.png (100%) rename src/content/docs/java/advance/{maintenance => }/lang/skript/_assets/SkriptBasic1.png (100%) rename src/content/docs/java/advance/{maintenance => }/lang/skript/advanced-tutorials.md (100%) rename src/content/docs/java/advance/{maintenance => }/lang/skript/basic-tutorials.md (100%) rename src/content/docs/java/advance/{maintenance => }/lang/skript/intro.md (94%) delete mode 100644 src/content/docs/java/advance/maintenance/intro.md rename src/content/docs/java/advance/{maintenance => }/optimize/_assets/ummm.jpg (100%) rename "src/content/docs/java/advance/maintenance/optimize/_assets/\346\200\216\344\271\210\350\256\251\345\244\247\344\275\254\345\270\256\346\210\221/spark_start.png" => "src/content/docs/java/advance/optimize/_assets/\346\200\216\344\271\210\350\256\251\345\244\247\344\275\254\345\270\256\346\210\221/spark_start.png" (100%) rename "src/content/docs/java/advance/maintenance/optimize/_assets/\346\200\216\344\271\210\350\256\251\345\244\247\344\275\254\345\270\256\346\210\221/spark_stop.png" => "src/content/docs/java/advance/optimize/_assets/\346\200\216\344\271\210\350\256\251\345\244\247\344\275\254\345\270\256\346\210\221/spark_stop.png" (100%) rename src/content/docs/java/advance/{maintenance => }/optimize/ask-for-help.md (87%) rename src/content/docs/java/advance/{maintenance => }/optimize/go.mdx (99%) rename src/content/docs/java/advance/{maintenance => }/optimize/img.png (100%) rename src/content/docs/java/advance/{maintenance => }/optimize/intro.md (88%) rename src/content/docs/java/advance/{maintenance => }/optimize/jvm/common.md (96%) rename src/content/docs/java/advance/{maintenance => }/optimize/jvm/dragonwell11.md (100%) rename src/content/docs/java/advance/{maintenance => }/optimize/jvm/dragonwell8.md (100%) rename src/content/docs/java/advance/{maintenance => }/optimize/jvm/graal.md (100%) rename src/content/docs/java/advance/{maintenance => }/optimize/jvm/intro.mdx (100%) rename src/content/docs/java/advance/{maintenance => }/optimize/jvm/openj9.md (100%) rename src/content/docs/java/advance/{maintenance => }/optimize/jvm/zing.md (100%) rename src/content/docs/java/advance/{maintenance => }/optimize/kernel.mdx (100%) rename src/content/docs/java/advance/{maintenance => }/optimize/optimized-plugin.md (94%) rename src/content/docs/java/advance/{maintenance => }/optimize/performance-analysis.md (100%) rename src/content/docs/java/advance/{maintenance => }/optimize/storage-space-optimization.md (100%) rename src/content/docs/java/advance/{maintenance => }/resourcepack/_assets/1.png (100%) rename src/content/docs/java/advance/{maintenance => }/resourcepack/_assets/2.png (100%) rename src/content/docs/java/advance/{maintenance => }/resourcepack/_assets/3.png (100%) rename src/content/docs/java/advance/{maintenance => }/resourcepack/_assets/4.png (100%) rename src/content/docs/java/advance/{maintenance => }/resourcepack/_assets/5.png (100%) rename src/content/docs/java/advance/{maintenance => }/resourcepack/_assets/6.png (100%) rename src/content/docs/java/advance/{maintenance => }/resourcepack/_assets/7.png (100%) rename src/content/docs/java/advance/{maintenance => }/resourcepack/_assets/8.png (100%) rename src/content/docs/java/advance/{maintenance => }/resourcepack/_assets/blockbench.png (100%) rename src/content/docs/java/advance/{maintenance => }/resourcepack/_assets/head.png (100%) rename src/content/docs/java/advance/{maintenance => }/resourcepack/_assets/title.png (100%) rename src/content/docs/java/advance/{maintenance => }/resourcepack/_assets/tooltip1.png (100%) rename src/content/docs/java/advance/{maintenance => }/resourcepack/_assets/tooltip2.png (100%) rename src/content/docs/java/advance/{maintenance => }/resourcepack/addon.md (100%) rename src/content/docs/java/advance/{maintenance => }/resourcepack/compress.md (100%) rename src/content/docs/java/advance/{maintenance => }/resourcepack/intro.md (100%) rename src/content/docs/java/advance/{maintenance => }/resourcepack/plugins/_assets/25b2c895c2af14fbc7e6989404d0ff7af64020ea.gif (100%) rename src/content/docs/java/advance/{maintenance => }/resourcepack/plugins/_assets/272f487d799270ea2e204de73236dda77d18f954.gif (100%) rename src/content/docs/java/advance/{maintenance => }/resourcepack/plugins/_assets/30a53ea3a4d029784f4ed54d17a335e099b805b4.gif (100%) rename src/content/docs/java/advance/{maintenance => }/resourcepack/plugins/_assets/4f4a015981222b37bfa3b2324113d919a33b090f.png (100%) rename src/content/docs/java/advance/{maintenance => }/resourcepack/plugins/_assets/52470cba6836ab471f19c8e788c513765de2d02c.png (100%) rename src/content/docs/java/advance/{maintenance => }/resourcepack/plugins/_assets/d0a7f51a86d1a313f1b41f27e021421adc93eec9.png (100%) rename src/content/docs/java/advance/{maintenance => }/resourcepack/plugins/_assets/f6b239e0689c433ef5a2c0e85f710e988bf1ba4e.gif (100%) rename src/content/docs/java/advance/{maintenance => }/resourcepack/plugins/_assets/fd658155424cd985553237821611dfdea040b166.gif (100%) rename src/content/docs/java/advance/{maintenance => }/resourcepack/plugins/_assets/videoframe_1994.png (100%) rename src/content/docs/java/advance/{maintenance => }/resourcepack/plugins/_assets/videoframe_931.png (100%) rename src/content/docs/java/advance/{maintenance => }/resourcepack/plugins/entity.mdx (100%) rename src/content/docs/java/advance/{maintenance => }/resourcepack/plugins/framework.mdx (97%) rename src/content/docs/java/advance/{maintenance => }/resourcepack/plugins/hud.mdx (100%) rename src/content/docs/java/advance/{maintenance => }/resourcepack/plugins/intro.md (100%) rename src/content/docs/java/advance/{maintenance => }/resourcepack/plugins/misc.mdx (100%) rename src/content/docs/java/advance/{maintenance => }/resourcepack/plugins/tooltip.md (100%) rename src/content/docs/java/advance/{maintenance => }/resourcepack/plugins/vehicles.mdx (100%) rename src/content/docs/java/advance/{maintenance => }/resourcepack/protect.md (96%) rename src/content/docs/java/advance/{maintenance => }/resourcepack/send.mdx (100%) rename src/content/docs/java/advance/{maintenance => }/resourcepack/software.md (100%) diff --git a/astro.config.ts b/astro.config.ts index 9c2f10a8c..121afbb61 100644 --- a/astro.config.ts +++ b/astro.config.ts @@ -681,68 +681,68 @@ export default defineConfig({ directory: "general/process/database" } }, - "java/advance/maintenance/backup", + "java/advance/backup", { label: "优化", collapsed: true, items: [ - "java/advance/maintenance/optimize/intro", + "java/advance/optimize/intro", { label: "JVM", collapsed: true, items: [ - "java/advance/maintenance/optimize/jvm/intro", - "java/advance/maintenance/optimize/jvm/common", - "java/advance/maintenance/optimize/jvm/dragonwell8", - "java/advance/maintenance/optimize/jvm/dragonwell11", - "java/advance/maintenance/optimize/jvm/openj9", - "java/advance/maintenance/optimize/jvm/graal", - "java/advance/maintenance/optimize/jvm/zing" + "java/advance/optimize/jvm/intro", + "java/advance/optimize/jvm/common", + "java/advance/optimize/jvm/dragonwell8", + "java/advance/optimize/jvm/dragonwell11", + "java/advance/optimize/jvm/openj9", + "java/advance/optimize/jvm/graal", + "java/advance/optimize/jvm/zing" ] }, - "java/advance/maintenance/optimize/go", - "java/advance/maintenance/optimize/storage-space-optimization", - "java/advance/maintenance/optimize/performance-analysis", - "java/advance/maintenance/optimize/kernel", - "java/advance/maintenance/optimize/optimized-plugin", - "java/advance/maintenance/optimize/ask-for-help" + "java/advance/optimize/go", + "java/advance/optimize/storage-space-optimization", + "java/advance/optimize/performance-analysis", + "java/advance/optimize/kernel", + "java/advance/optimize/optimized-plugin", + "java/advance/optimize/ask-for-help" ] }, { label: "反作弊", collapsed: true, items: [ - "java/advance/maintenance/anticheat/intro", - "java/advance/maintenance/anticheat/anticheatplugins", - "java/advance/maintenance/anticheat/antixray", - "java/advance/maintenance/anticheat/rng", - "java/advance/maintenance/anticheat/anti-crash", - "java/advance/maintenance/anticheat/honeypot" + "java/advance/anticheat/intro", + "java/advance/anticheat/anticheatplugins", + "java/advance/anticheat/antixray", + "java/advance/anticheat/rng", + "java/advance/anticheat/anti-crash", + "java/advance/anticheat/honeypot" ] }, { label: "资源包", collapsed: true, items: [ - "java/advance/maintenance/resourcepack/intro", - "java/advance/maintenance/resourcepack/software", - "java/advance/maintenance/resourcepack/send", - "java/advance/maintenance/resourcepack/compress", + "java/advance/resourcepack/intro", + "java/advance/resourcepack/software", + "java/advance/resourcepack/send", + "java/advance/resourcepack/compress", { label: "插件", collapsed: true, items: [ - "java/advance/maintenance/resourcepack/plugins/intro", - "java/advance/maintenance/resourcepack/plugins/hud", - "java/advance/maintenance/resourcepack/plugins/entity", - "java/advance/maintenance/resourcepack/plugins/vehicles", - "java/advance/maintenance/resourcepack/plugins/framework", - "java/advance/maintenance/resourcepack/plugins/tooltip", - "java/advance/maintenance/resourcepack/plugins/misc" + "java/advance/resourcepack/plugins/intro", + "java/advance/resourcepack/plugins/hud", + "java/advance/resourcepack/plugins/entity", + "java/advance/resourcepack/plugins/vehicles", + "java/advance/resourcepack/plugins/framework", + "java/advance/resourcepack/plugins/tooltip", + "java/advance/resourcepack/plugins/misc" ] }, - "java/advance/maintenance/resourcepack/protect", - "java/advance/maintenance/resourcepack/addon" + "java/advance/resourcepack/protect", + "java/advance/resourcepack/addon" ] }, "general/advance/maintenance/how-to-defend-against-cyber-attacks", @@ -750,42 +750,42 @@ export default defineConfig({ label: "脚本语言", collapsed: true, items: [ - "java/advance/maintenance/lang/intro", + "java/advance/lang/intro", { label: "Skript", collapsed: true, items: [ - "java/advance/maintenance/lang/skript/intro", - "java/advance/maintenance/lang/skript/basic-tutorials", - "java/advance/maintenance/lang/skript/advanced-tutorials" + "java/advance/lang/skript/intro", + "java/advance/lang/skript/basic-tutorials", + "java/advance/lang/skript/advanced-tutorials" ] }, { label: "Kether", collapsed: true, items: [ - "java/advance/maintenance/lang/kether/intro", - "java/advance/maintenance/lang/kether/preparation", - "java/advance/maintenance/lang/kether/basic", - "java/advance/maintenance/lang/kether/if", - "java/advance/maintenance/lang/kether/variable", - "java/advance/maintenance/lang/kether/math", - "java/advance/maintenance/lang/kether/misc", - "java/advance/maintenance/lang/kether/vulpecula" + "java/advance/lang/kether/intro", + "java/advance/lang/kether/preparation", + "java/advance/lang/kether/basic", + "java/advance/lang/kether/if", + "java/advance/lang/kether/variable", + "java/advance/lang/kether/math", + "java/advance/lang/kether/misc", + "java/advance/lang/kether/vulpecula" ] }, { label: "JavaScript", collapsed: true, items: [ - "java/advance/maintenance/lang/javascript/intro", + "java/advance/lang/javascript/intro", { label: "扩展", collapsed: true, items: [ - "java/advance/maintenance/lang/javascript/extend/intro", - "java/advance/maintenance/lang/javascript/extend/nashorn", - "java/advance/maintenance/lang/javascript/extend/graaljs" + "java/advance/lang/javascript/extend/intro", + "java/advance/lang/javascript/extend/nashorn", + "java/advance/lang/javascript/extend/graaljs" ] } ] diff --git a/src/content/docs/general/basics/what-is-startup-script.md b/src/content/docs/general/basics/what-is-startup-script.md index 1e5af5855..b332b37d9 100644 --- a/src/content/docs/general/basics/what-is-startup-script.md +++ b/src/content/docs/general/basics/what-is-startup-script.md @@ -66,7 +66,7 @@ java -Xms12G -Xmx12G -jar 核心名.jar nogui 1. 无论什么时候,分配内存时一定要多预留 15% 左右内存,如服务器还剩余 10 G 内存,不要将 -Xms 设置到大于 9 G 的内存,否则会很危险。 2. 在 G1GC 模式下,尽量保证 Xmx = Xms 因为如果二者不同 JVM 需要更多的内存时候,JVM 需要申请更多内存,这个过程的耗时会导致顿卡。 -3. 更多的参数讲解,请前往 [JVM 参数优化](/java/advance/maintenance/optimize/jvm/intro) +3. 更多的参数讲解,请前往 [JVM 参数优化](/java/advance/optimize/jvm/intro) ::: diff --git a/src/content/docs/general/java/choose-and-download-and-install-java.md b/src/content/docs/general/java/choose-and-download-and-install-java.md index c37b3fdc6..e96fc5ede 100644 --- a/src/content/docs/general/java/choose-and-download-and-install-java.md +++ b/src/content/docs/general/java/choose-and-download-and-install-java.md @@ -106,7 +106,7 @@ https://www.java.com/zh-CN/download/ -如果你想进行 JVM 优化,请看 [JVM 优化](/java/advance/maintenance/optimize/jvm/intro/) +如果你想进行 JVM 优化,请看 [JVM 优化](/java/advance/optimize/jvm/intro/) ## 验证 Java 安装 diff --git a/src/content/docs/java/advance/maintenance/anticheat/_assets/anticheat/antixray-mode1-1.png b/src/content/docs/java/advance/anticheat/_assets/anticheat/antixray-mode1-1.png similarity index 100% rename from src/content/docs/java/advance/maintenance/anticheat/_assets/anticheat/antixray-mode1-1.png rename to src/content/docs/java/advance/anticheat/_assets/anticheat/antixray-mode1-1.png diff --git a/src/content/docs/java/advance/maintenance/anticheat/_assets/anticheat/antixray-mode2-1.png b/src/content/docs/java/advance/anticheat/_assets/anticheat/antixray-mode2-1.png similarity index 100% rename from src/content/docs/java/advance/maintenance/anticheat/_assets/anticheat/antixray-mode2-1.png rename to src/content/docs/java/advance/anticheat/_assets/anticheat/antixray-mode2-1.png diff --git a/src/content/docs/java/advance/maintenance/anticheat/_assets/anticheat/antixray-mode3-1.png b/src/content/docs/java/advance/anticheat/_assets/anticheat/antixray-mode3-1.png similarity index 100% rename from src/content/docs/java/advance/maintenance/anticheat/_assets/anticheat/antixray-mode3-1.png rename to src/content/docs/java/advance/anticheat/_assets/anticheat/antixray-mode3-1.png diff --git a/src/content/docs/java/advance/maintenance/anticheat/_assets/anticheat/antixray-nerher-mode1.png b/src/content/docs/java/advance/anticheat/_assets/anticheat/antixray-nerher-mode1.png similarity index 100% rename from src/content/docs/java/advance/maintenance/anticheat/_assets/anticheat/antixray-nerher-mode1.png rename to src/content/docs/java/advance/anticheat/_assets/anticheat/antixray-nerher-mode1.png diff --git a/src/content/docs/java/advance/maintenance/anticheat/_assets/anticheat/antixray-nerher-mode3.png b/src/content/docs/java/advance/anticheat/_assets/anticheat/antixray-nerher-mode3.png similarity index 100% rename from src/content/docs/java/advance/maintenance/anticheat/_assets/anticheat/antixray-nerher-mode3.png rename to src/content/docs/java/advance/anticheat/_assets/anticheat/antixray-nerher-mode3.png diff --git a/src/content/docs/java/advance/maintenance/anticheat/_assets/anticheat/antixray-nether-mode2.png b/src/content/docs/java/advance/anticheat/_assets/anticheat/antixray-nether-mode2.png similarity index 100% rename from src/content/docs/java/advance/maintenance/anticheat/_assets/anticheat/antixray-nether-mode2.png rename to src/content/docs/java/advance/anticheat/_assets/anticheat/antixray-nether-mode2.png diff --git a/src/content/docs/java/advance/maintenance/anticheat/_assets/anticheat/talentsaclogo.png b/src/content/docs/java/advance/anticheat/_assets/anticheat/talentsaclogo.png similarity index 100% rename from src/content/docs/java/advance/maintenance/anticheat/_assets/anticheat/talentsaclogo.png rename to src/content/docs/java/advance/anticheat/_assets/anticheat/talentsaclogo.png diff --git a/src/content/docs/java/advance/maintenance/anticheat/_assets/img.png b/src/content/docs/java/advance/anticheat/_assets/img.png similarity index 100% rename from src/content/docs/java/advance/maintenance/anticheat/_assets/img.png rename to src/content/docs/java/advance/anticheat/_assets/img.png diff --git a/src/content/docs/java/advance/maintenance/anticheat/_assets/img_1.png b/src/content/docs/java/advance/anticheat/_assets/img_1.png similarity index 100% rename from src/content/docs/java/advance/maintenance/anticheat/_assets/img_1.png rename to src/content/docs/java/advance/anticheat/_assets/img_1.png diff --git a/src/content/docs/java/advance/maintenance/anticheat/anti-crash.md b/src/content/docs/java/advance/anticheat/anti-crash.md similarity index 100% rename from src/content/docs/java/advance/maintenance/anticheat/anti-crash.md rename to src/content/docs/java/advance/anticheat/anti-crash.md diff --git a/src/content/docs/java/advance/maintenance/anticheat/anticheatplugins.mdx b/src/content/docs/java/advance/anticheat/anticheatplugins.mdx similarity index 100% rename from src/content/docs/java/advance/maintenance/anticheat/anticheatplugins.mdx rename to src/content/docs/java/advance/anticheat/anticheatplugins.mdx diff --git a/src/content/docs/java/advance/maintenance/anticheat/antixray.md b/src/content/docs/java/advance/anticheat/antixray.md similarity index 100% rename from src/content/docs/java/advance/maintenance/anticheat/antixray.md rename to src/content/docs/java/advance/anticheat/antixray.md diff --git a/src/content/docs/java/advance/maintenance/anticheat/honeypot.md b/src/content/docs/java/advance/anticheat/honeypot.md similarity index 100% rename from src/content/docs/java/advance/maintenance/anticheat/honeypot.md rename to src/content/docs/java/advance/anticheat/honeypot.md diff --git a/src/content/docs/java/advance/maintenance/anticheat/intro.md b/src/content/docs/java/advance/anticheat/intro.md similarity index 100% rename from src/content/docs/java/advance/maintenance/anticheat/intro.md rename to src/content/docs/java/advance/anticheat/intro.md diff --git a/src/content/docs/java/advance/maintenance/anticheat/rng.md b/src/content/docs/java/advance/anticheat/rng.md similarity index 100% rename from src/content/docs/java/advance/maintenance/anticheat/rng.md rename to src/content/docs/java/advance/anticheat/rng.md diff --git a/src/content/docs/java/advance/maintenance/backup.md b/src/content/docs/java/advance/backup.md similarity index 100% rename from src/content/docs/java/advance/maintenance/backup.md rename to src/content/docs/java/advance/backup.md diff --git a/src/content/docs/java/advance/maintenance/lang/intro.md b/src/content/docs/java/advance/lang/intro.md similarity index 100% rename from src/content/docs/java/advance/maintenance/lang/intro.md rename to src/content/docs/java/advance/lang/intro.md diff --git a/src/content/docs/java/advance/maintenance/lang/javascript/extend/graaljs.md b/src/content/docs/java/advance/lang/javascript/extend/graaljs.md similarity index 97% rename from src/content/docs/java/advance/maintenance/lang/javascript/extend/graaljs.md rename to src/content/docs/java/advance/lang/javascript/extend/graaljs.md index 050d3b431..33e3d199f 100644 --- a/src/content/docs/java/advance/maintenance/lang/javascript/extend/graaljs.md +++ b/src/content/docs/java/advance/lang/javascript/extend/graaljs.md @@ -14,7 +14,7 @@ title: GraalJS 扩展 - `load("nashorn:parser.js")`, `load("nashorn:mozilla_compat.js")` - `exit`, `quit` -[Nashorn 语法扩展](/java/advance/maintenance/lang/javascript/extend/nashorn#nashorn-语法扩展) 可以通过 `js.syntax-extensions` 实验性选项启用。如果启用 Nashorn 兼容模式(`js.nashorn-compat`),这些扩展也会默认启用。 +[Nashorn 语法扩展](/java/advance/lang/javascript/extend/nashorn#nashorn-语法扩展) 可以通过 `js.syntax-extensions` 实验性选项启用。如果启用 Nashorn 兼容模式(`js.nashorn-compat`),这些扩展也会默认启用。 ## 类访问 diff --git a/src/content/docs/java/advance/maintenance/lang/javascript/extend/intro.md b/src/content/docs/java/advance/lang/javascript/extend/intro.md similarity index 100% rename from src/content/docs/java/advance/maintenance/lang/javascript/extend/intro.md rename to src/content/docs/java/advance/lang/javascript/extend/intro.md diff --git a/src/content/docs/java/advance/maintenance/lang/javascript/extend/nashorn.md b/src/content/docs/java/advance/lang/javascript/extend/nashorn.md similarity index 100% rename from src/content/docs/java/advance/maintenance/lang/javascript/extend/nashorn.md rename to src/content/docs/java/advance/lang/javascript/extend/nashorn.md diff --git a/src/content/docs/java/advance/maintenance/lang/javascript/intro.md b/src/content/docs/java/advance/lang/javascript/intro.md similarity index 93% rename from src/content/docs/java/advance/maintenance/lang/javascript/intro.md rename to src/content/docs/java/advance/lang/javascript/intro.md index de85e027f..4e16bc121 100644 --- a/src/content/docs/java/advance/maintenance/lang/javascript/intro.md +++ b/src/content/docs/java/advance/lang/javascript/intro.md @@ -38,7 +38,7 @@ Nashorn 支持版本: - [ECMAScript 5.x (ES 5)](https://www.w3school.com.cn/js/js_es5.asp) - [ECMAScript 2015 (ES 6)](https://www.w3school.com.cn/js/js_es6.asp) (不完全支持) -- [JavaScript 扩展语法](/java/advance/maintenance/lang/javascript/extend/nashorn#nashorn-语法扩展) +- [JavaScript 扩展语法](/java/advance/lang/javascript/extend/nashorn#nashorn-语法扩展) :::caution @@ -61,7 +61,7 @@ GraalJS 支持版本: - [ECMAScript 2024](https://www.w3school.com.cn/js/js_2024.asp) - 所有最新稳定特性 (ES 2025) - 在[提案中的特性](https://github.com/tc39/proposals) -- [JavaScript 扩展语法](/java/advance/maintenance/lang/javascript/extend/graaljs#nashorn-兼容) +- [JavaScript 扩展语法](/java/advance/lang/javascript/extend/graaljs#nashorn-兼容) ### Java 支持 diff --git a/src/content/docs/java/advance/maintenance/lang/kether/_assets/Vulpecula/1.png b/src/content/docs/java/advance/lang/kether/_assets/Vulpecula/1.png similarity index 100% rename from src/content/docs/java/advance/maintenance/lang/kether/_assets/Vulpecula/1.png rename to src/content/docs/java/advance/lang/kether/_assets/Vulpecula/1.png diff --git a/src/content/docs/java/advance/maintenance/lang/kether/_assets/Vulpecula/2.png b/src/content/docs/java/advance/lang/kether/_assets/Vulpecula/2.png similarity index 100% rename from src/content/docs/java/advance/maintenance/lang/kether/_assets/Vulpecula/2.png rename to src/content/docs/java/advance/lang/kether/_assets/Vulpecula/2.png diff --git a/src/content/docs/java/advance/maintenance/lang/kether/_assets/Vulpecula/3.png b/src/content/docs/java/advance/lang/kether/_assets/Vulpecula/3.png similarity index 100% rename from src/content/docs/java/advance/maintenance/lang/kether/_assets/Vulpecula/3.png rename to src/content/docs/java/advance/lang/kether/_assets/Vulpecula/3.png diff --git a/src/content/docs/java/advance/maintenance/lang/kether/_assets/Vulpecula/4.png b/src/content/docs/java/advance/lang/kether/_assets/Vulpecula/4.png similarity index 100% rename from src/content/docs/java/advance/maintenance/lang/kether/_assets/Vulpecula/4.png rename to src/content/docs/java/advance/lang/kether/_assets/Vulpecula/4.png diff --git a/src/content/docs/java/advance/maintenance/lang/kether/_assets/Vulpecula/5.png b/src/content/docs/java/advance/lang/kether/_assets/Vulpecula/5.png similarity index 100% rename from src/content/docs/java/advance/maintenance/lang/kether/_assets/Vulpecula/5.png rename to src/content/docs/java/advance/lang/kether/_assets/Vulpecula/5.png diff --git a/src/content/docs/java/advance/maintenance/lang/kether/_assets/Vulpecula/6.png b/src/content/docs/java/advance/lang/kether/_assets/Vulpecula/6.png similarity index 100% rename from src/content/docs/java/advance/maintenance/lang/kether/_assets/Vulpecula/6.png rename to src/content/docs/java/advance/lang/kether/_assets/Vulpecula/6.png diff --git a/src/content/docs/java/advance/maintenance/lang/kether/_assets/Vulpecula/7.png b/src/content/docs/java/advance/lang/kether/_assets/Vulpecula/7.png similarity index 100% rename from src/content/docs/java/advance/maintenance/lang/kether/_assets/Vulpecula/7.png rename to src/content/docs/java/advance/lang/kether/_assets/Vulpecula/7.png diff --git a/src/content/docs/java/advance/maintenance/lang/kether/_assets/Vulpecula/8.png b/src/content/docs/java/advance/lang/kether/_assets/Vulpecula/8.png similarity index 100% rename from src/content/docs/java/advance/maintenance/lang/kether/_assets/Vulpecula/8.png rename to src/content/docs/java/advance/lang/kether/_assets/Vulpecula/8.png diff --git a/src/content/docs/java/advance/maintenance/lang/kether/_assets/Vulpecula/9.png b/src/content/docs/java/advance/lang/kether/_assets/Vulpecula/9.png similarity index 100% rename from src/content/docs/java/advance/maintenance/lang/kether/_assets/Vulpecula/9.png rename to src/content/docs/java/advance/lang/kether/_assets/Vulpecula/9.png diff --git a/src/content/docs/java/advance/maintenance/lang/kether/_assets/if_1.png b/src/content/docs/java/advance/lang/kether/_assets/if_1.png similarity index 100% rename from src/content/docs/java/advance/maintenance/lang/kether/_assets/if_1.png rename to src/content/docs/java/advance/lang/kether/_assets/if_1.png diff --git a/src/content/docs/java/advance/maintenance/lang/kether/_assets/if_2.png b/src/content/docs/java/advance/lang/kether/_assets/if_2.png similarity index 100% rename from src/content/docs/java/advance/maintenance/lang/kether/_assets/if_2.png rename to src/content/docs/java/advance/lang/kether/_assets/if_2.png diff --git a/src/content/docs/java/advance/maintenance/lang/kether/_assets/if_3.png b/src/content/docs/java/advance/lang/kether/_assets/if_3.png similarity index 100% rename from src/content/docs/java/advance/maintenance/lang/kether/_assets/if_3.png rename to src/content/docs/java/advance/lang/kether/_assets/if_3.png diff --git a/src/content/docs/java/advance/maintenance/lang/kether/_assets/inline.png b/src/content/docs/java/advance/lang/kether/_assets/inline.png similarity index 100% rename from src/content/docs/java/advance/maintenance/lang/kether/_assets/inline.png rename to src/content/docs/java/advance/lang/kether/_assets/inline.png diff --git a/src/content/docs/java/advance/maintenance/lang/kether/_assets/math_1.png b/src/content/docs/java/advance/lang/kether/_assets/math_1.png similarity index 100% rename from src/content/docs/java/advance/maintenance/lang/kether/_assets/math_1.png rename to src/content/docs/java/advance/lang/kether/_assets/math_1.png diff --git a/src/content/docs/java/advance/maintenance/lang/kether/_assets/result.png b/src/content/docs/java/advance/lang/kether/_assets/result.png similarity index 100% rename from src/content/docs/java/advance/maintenance/lang/kether/_assets/result.png rename to src/content/docs/java/advance/lang/kether/_assets/result.png diff --git a/src/content/docs/java/advance/maintenance/lang/kether/_assets/type_1.png b/src/content/docs/java/advance/lang/kether/_assets/type_1.png similarity index 100% rename from src/content/docs/java/advance/maintenance/lang/kether/_assets/type_1.png rename to src/content/docs/java/advance/lang/kether/_assets/type_1.png diff --git a/src/content/docs/java/advance/maintenance/lang/kether/_assets/var_1.png b/src/content/docs/java/advance/lang/kether/_assets/var_1.png similarity index 100% rename from src/content/docs/java/advance/maintenance/lang/kether/_assets/var_1.png rename to src/content/docs/java/advance/lang/kether/_assets/var_1.png diff --git a/src/content/docs/java/advance/maintenance/lang/kether/_assets/var_2.png b/src/content/docs/java/advance/lang/kether/_assets/var_2.png similarity index 100% rename from src/content/docs/java/advance/maintenance/lang/kether/_assets/var_2.png rename to src/content/docs/java/advance/lang/kether/_assets/var_2.png diff --git a/src/content/docs/java/advance/maintenance/lang/kether/_assets/var_3.png b/src/content/docs/java/advance/lang/kether/_assets/var_3.png similarity index 100% rename from src/content/docs/java/advance/maintenance/lang/kether/_assets/var_3.png rename to src/content/docs/java/advance/lang/kether/_assets/var_3.png diff --git a/src/content/docs/java/advance/maintenance/lang/kether/_assets/var_4.png b/src/content/docs/java/advance/lang/kether/_assets/var_4.png similarity index 100% rename from src/content/docs/java/advance/maintenance/lang/kether/_assets/var_4.png rename to src/content/docs/java/advance/lang/kether/_assets/var_4.png diff --git a/src/content/docs/java/advance/maintenance/lang/kether/_assets/var_5.png b/src/content/docs/java/advance/lang/kether/_assets/var_5.png similarity index 100% rename from src/content/docs/java/advance/maintenance/lang/kether/_assets/var_5.png rename to src/content/docs/java/advance/lang/kether/_assets/var_5.png diff --git a/src/content/docs/java/advance/maintenance/lang/kether/_assets/var_6.png b/src/content/docs/java/advance/lang/kether/_assets/var_6.png similarity index 100% rename from src/content/docs/java/advance/maintenance/lang/kether/_assets/var_6.png rename to src/content/docs/java/advance/lang/kether/_assets/var_6.png diff --git a/src/content/docs/java/advance/maintenance/lang/kether/_assets/var_7.png b/src/content/docs/java/advance/lang/kether/_assets/var_7.png similarity index 100% rename from src/content/docs/java/advance/maintenance/lang/kether/_assets/var_7.png rename to src/content/docs/java/advance/lang/kether/_assets/var_7.png diff --git a/src/content/docs/java/advance/maintenance/lang/kether/_assets/vul-check.png b/src/content/docs/java/advance/lang/kether/_assets/vul-check.png similarity index 100% rename from src/content/docs/java/advance/maintenance/lang/kether/_assets/vul-check.png rename to src/content/docs/java/advance/lang/kether/_assets/vul-check.png diff --git a/src/content/docs/java/advance/maintenance/lang/kether/_assets/vul-color.png b/src/content/docs/java/advance/lang/kether/_assets/vul-color.png similarity index 100% rename from src/content/docs/java/advance/maintenance/lang/kether/_assets/vul-color.png rename to src/content/docs/java/advance/lang/kether/_assets/vul-color.png diff --git a/src/content/docs/java/advance/maintenance/lang/kether/_assets/vul-papi.png b/src/content/docs/java/advance/lang/kether/_assets/vul-papi.png similarity index 100% rename from src/content/docs/java/advance/maintenance/lang/kether/_assets/vul-papi.png rename to src/content/docs/java/advance/lang/kether/_assets/vul-papi.png diff --git a/src/content/docs/java/advance/maintenance/lang/kether/_assets/vul-perm.png b/src/content/docs/java/advance/lang/kether/_assets/vul-perm.png similarity index 100% rename from src/content/docs/java/advance/maintenance/lang/kether/_assets/vul-perm.png rename to src/content/docs/java/advance/lang/kether/_assets/vul-perm.png diff --git a/src/content/docs/java/advance/maintenance/lang/kether/_assets/vul-permNot_1.png b/src/content/docs/java/advance/lang/kether/_assets/vul-permNot_1.png similarity index 100% rename from src/content/docs/java/advance/maintenance/lang/kether/_assets/vul-permNot_1.png rename to src/content/docs/java/advance/lang/kether/_assets/vul-permNot_1.png diff --git a/src/content/docs/java/advance/maintenance/lang/kether/_assets/vul-permNot_2.png b/src/content/docs/java/advance/lang/kether/_assets/vul-permNot_2.png similarity index 100% rename from src/content/docs/java/advance/maintenance/lang/kether/_assets/vul-permNot_2.png rename to src/content/docs/java/advance/lang/kether/_assets/vul-permNot_2.png diff --git a/src/content/docs/java/advance/maintenance/lang/kether/_assets/vul-tell.png b/src/content/docs/java/advance/lang/kether/_assets/vul-tell.png similarity index 100% rename from src/content/docs/java/advance/maintenance/lang/kether/_assets/vul-tell.png rename to src/content/docs/java/advance/lang/kether/_assets/vul-tell.png diff --git a/src/content/docs/java/advance/maintenance/lang/kether/_assets/vul-tell_color.png b/src/content/docs/java/advance/lang/kether/_assets/vul-tell_color.png similarity index 100% rename from src/content/docs/java/advance/maintenance/lang/kether/_assets/vul-tell_color.png rename to src/content/docs/java/advance/lang/kether/_assets/vul-tell_color.png diff --git a/src/content/docs/java/advance/maintenance/lang/kether/_assets/vul-tell_name.png b/src/content/docs/java/advance/lang/kether/_assets/vul-tell_name.png similarity index 100% rename from src/content/docs/java/advance/maintenance/lang/kether/_assets/vul-tell_name.png rename to src/content/docs/java/advance/lang/kether/_assets/vul-tell_name.png diff --git a/src/content/docs/java/advance/maintenance/lang/kether/_assets/vul-tell_noColor.png b/src/content/docs/java/advance/lang/kether/_assets/vul-tell_noColor.png similarity index 100% rename from src/content/docs/java/advance/maintenance/lang/kether/_assets/vul-tell_noColor.png rename to src/content/docs/java/advance/lang/kether/_assets/vul-tell_noColor.png diff --git a/src/content/docs/java/advance/maintenance/lang/kether/_assets/vul-tell_papiNoInline.png b/src/content/docs/java/advance/lang/kether/_assets/vul-tell_papiNoInline.png similarity index 100% rename from src/content/docs/java/advance/maintenance/lang/kether/_assets/vul-tell_papiNoInline.png rename to src/content/docs/java/advance/lang/kether/_assets/vul-tell_papiNoInline.png diff --git a/src/content/docs/java/advance/maintenance/lang/kether/_assets/vul-tell_papiWithInline.png b/src/content/docs/java/advance/lang/kether/_assets/vul-tell_papiWithInline.png similarity index 100% rename from src/content/docs/java/advance/maintenance/lang/kether/_assets/vul-tell_papiWithInline.png rename to src/content/docs/java/advance/lang/kether/_assets/vul-tell_papiWithInline.png diff --git a/src/content/docs/java/advance/maintenance/lang/kether/_assets/vul-tell_papiWithJoin.png b/src/content/docs/java/advance/lang/kether/_assets/vul-tell_papiWithJoin.png similarity index 100% rename from src/content/docs/java/advance/maintenance/lang/kether/_assets/vul-tell_papiWithJoin.png rename to src/content/docs/java/advance/lang/kether/_assets/vul-tell_papiWithJoin.png diff --git a/src/content/docs/java/advance/maintenance/lang/kether/_assets/vul-tell_tell.png b/src/content/docs/java/advance/lang/kether/_assets/vul-tell_tell.png similarity index 100% rename from src/content/docs/java/advance/maintenance/lang/kether/_assets/vul-tell_tell.png rename to src/content/docs/java/advance/lang/kether/_assets/vul-tell_tell.png diff --git a/src/content/docs/java/advance/maintenance/lang/kether/_assets/web-tell.png b/src/content/docs/java/advance/lang/kether/_assets/web-tell.png similarity index 100% rename from src/content/docs/java/advance/maintenance/lang/kether/_assets/web-tell.png rename to src/content/docs/java/advance/lang/kether/_assets/web-tell.png diff --git "a/src/content/docs/java/advance/maintenance/lang/kether/_assets/\345\206\222\346\261\227.jpg" "b/src/content/docs/java/advance/lang/kether/_assets/\345\206\222\346\261\227.jpg" similarity index 100% rename from "src/content/docs/java/advance/maintenance/lang/kether/_assets/\345\206\222\346\261\227.jpg" rename to "src/content/docs/java/advance/lang/kether/_assets/\345\206\222\346\261\227.jpg" diff --git "a/src/content/docs/java/advance/maintenance/lang/kether/_assets/\346\213\254\345\217\267.png" "b/src/content/docs/java/advance/lang/kether/_assets/\346\213\254\345\217\267.png" similarity index 100% rename from "src/content/docs/java/advance/maintenance/lang/kether/_assets/\346\213\254\345\217\267.png" rename to "src/content/docs/java/advance/lang/kether/_assets/\346\213\254\345\217\267.png" diff --git "a/src/content/docs/java/advance/maintenance/lang/kether/_assets/\346\255\243\347\273\217\347\254\221.jpg" "b/src/content/docs/java/advance/lang/kether/_assets/\346\255\243\347\273\217\347\254\221.jpg" similarity index 100% rename from "src/content/docs/java/advance/maintenance/lang/kether/_assets/\346\255\243\347\273\217\347\254\221.jpg" rename to "src/content/docs/java/advance/lang/kether/_assets/\346\255\243\347\273\217\347\254\221.jpg" diff --git "a/src/content/docs/java/advance/maintenance/lang/kether/_assets/\347\227\264\345\221\206.jpg" "b/src/content/docs/java/advance/lang/kether/_assets/\347\227\264\345\221\206.jpg" similarity index 100% rename from "src/content/docs/java/advance/maintenance/lang/kether/_assets/\347\227\264\345\221\206.jpg" rename to "src/content/docs/java/advance/lang/kether/_assets/\347\227\264\345\221\206.jpg" diff --git a/src/content/docs/java/advance/maintenance/lang/kether/basic.md b/src/content/docs/java/advance/lang/kether/basic.md similarity index 100% rename from src/content/docs/java/advance/maintenance/lang/kether/basic.md rename to src/content/docs/java/advance/lang/kether/basic.md diff --git a/src/content/docs/java/advance/maintenance/lang/kether/if.md b/src/content/docs/java/advance/lang/kether/if.md similarity index 95% rename from src/content/docs/java/advance/maintenance/lang/kether/if.md rename to src/content/docs/java/advance/lang/kether/if.md index be177c7ff..b46a5ca16 100644 --- a/src/content/docs/java/advance/maintenance/lang/kether/if.md +++ b/src/content/docs/java/advance/lang/kether/if.md @@ -20,7 +20,7 @@ title: 逻辑判断 我是 OP,所以我拥有此权限,返回了 true -同 [PlaceholderAPI](/java/advance/maintenance/lang/kether/basic#变量-placeholderapi) 一样,**Permission** 也有一个简写 **perm** +同 [PlaceholderAPI](/java/advance/lang/kether/basic#变量-placeholderapi) 一样,**Permission** 也有一个简写 **perm** ## 判断为否 (Not) @@ -264,7 +264,7 @@ any [ 可是我想判断的是 `null` 这四个字母!这咋办? -还记得之前学的 [literal](/java/advance/maintenance/lang/kether/basic#actiontoken和-literal) 吗? +还记得之前学的 [literal](/java/advance/lang/kether/basic#actiontoken和-literal) 吗? ```yaml check 你要判断的东西 == literal null diff --git a/src/content/docs/java/advance/maintenance/lang/kether/intro.md b/src/content/docs/java/advance/lang/kether/intro.md similarity index 100% rename from src/content/docs/java/advance/maintenance/lang/kether/intro.md rename to src/content/docs/java/advance/lang/kether/intro.md diff --git a/src/content/docs/java/advance/maintenance/lang/kether/math.md b/src/content/docs/java/advance/lang/kether/math.md similarity index 100% rename from src/content/docs/java/advance/maintenance/lang/kether/math.md rename to src/content/docs/java/advance/lang/kether/math.md diff --git a/src/content/docs/java/advance/maintenance/lang/kether/misc.md b/src/content/docs/java/advance/lang/kether/misc.md similarity index 100% rename from src/content/docs/java/advance/maintenance/lang/kether/misc.md rename to src/content/docs/java/advance/lang/kether/misc.md diff --git a/src/content/docs/java/advance/maintenance/lang/kether/preparation.md b/src/content/docs/java/advance/lang/kether/preparation.md similarity index 100% rename from src/content/docs/java/advance/maintenance/lang/kether/preparation.md rename to src/content/docs/java/advance/lang/kether/preparation.md diff --git a/src/content/docs/java/advance/maintenance/lang/kether/variable.md b/src/content/docs/java/advance/lang/kether/variable.md similarity index 96% rename from src/content/docs/java/advance/maintenance/lang/kether/variable.md rename to src/content/docs/java/advance/lang/kether/variable.md index 96ef33a74..fe8592c69 100644 --- a/src/content/docs/java/advance/maintenance/lang/kether/variable.md +++ b/src/content/docs/java/advance/lang/kether/variable.md @@ -89,7 +89,7 @@ get {token} | &{token} ![](_assets/var_4.png) -看到这里,你就应该知道,为什么前面讲 [彩色 (Color Text)](/java/advance/maintenance/lang/kether/basic#彩色-color-text) 动作的时候会说 +看到这里,你就应该知道,为什么前面讲 [彩色 (Color Text)](/java/advance/lang/kether/basic#彩色-color-text) 动作的时候会说 > 这里要用 `" "` 把要打印的信息包裹起来 > 否则他会把这个当成变量,具体的会在后面讲到 diff --git a/src/content/docs/java/advance/maintenance/lang/kether/vulpecula.md b/src/content/docs/java/advance/lang/kether/vulpecula.md similarity index 100% rename from src/content/docs/java/advance/maintenance/lang/kether/vulpecula.md rename to src/content/docs/java/advance/lang/kether/vulpecula.md diff --git a/src/content/docs/java/advance/maintenance/lang/skript/_assets/QuerySubclasses.png b/src/content/docs/java/advance/lang/skript/_assets/QuerySubclasses.png similarity index 100% rename from src/content/docs/java/advance/maintenance/lang/skript/_assets/QuerySubclasses.png rename to src/content/docs/java/advance/lang/skript/_assets/QuerySubclasses.png diff --git a/src/content/docs/java/advance/maintenance/lang/skript/_assets/SearchEvent.png b/src/content/docs/java/advance/lang/skript/_assets/SearchEvent.png similarity index 100% rename from src/content/docs/java/advance/maintenance/lang/skript/_assets/SearchEvent.png rename to src/content/docs/java/advance/lang/skript/_assets/SearchEvent.png diff --git a/src/content/docs/java/advance/maintenance/lang/skript/_assets/SearchMethods.png b/src/content/docs/java/advance/lang/skript/_assets/SearchMethods.png similarity index 100% rename from src/content/docs/java/advance/maintenance/lang/skript/_assets/SearchMethods.png rename to src/content/docs/java/advance/lang/skript/_assets/SearchMethods.png diff --git a/src/content/docs/java/advance/maintenance/lang/skript/_assets/SkriptBasic1.png b/src/content/docs/java/advance/lang/skript/_assets/SkriptBasic1.png similarity index 100% rename from src/content/docs/java/advance/maintenance/lang/skript/_assets/SkriptBasic1.png rename to src/content/docs/java/advance/lang/skript/_assets/SkriptBasic1.png diff --git a/src/content/docs/java/advance/maintenance/lang/skript/advanced-tutorials.md b/src/content/docs/java/advance/lang/skript/advanced-tutorials.md similarity index 100% rename from src/content/docs/java/advance/maintenance/lang/skript/advanced-tutorials.md rename to src/content/docs/java/advance/lang/skript/advanced-tutorials.md diff --git a/src/content/docs/java/advance/maintenance/lang/skript/basic-tutorials.md b/src/content/docs/java/advance/lang/skript/basic-tutorials.md similarity index 100% rename from src/content/docs/java/advance/maintenance/lang/skript/basic-tutorials.md rename to src/content/docs/java/advance/lang/skript/basic-tutorials.md diff --git a/src/content/docs/java/advance/maintenance/lang/skript/intro.md b/src/content/docs/java/advance/lang/skript/intro.md similarity index 94% rename from src/content/docs/java/advance/maintenance/lang/skript/intro.md rename to src/content/docs/java/advance/lang/skript/intro.md index c117ba674..9b0e65385 100644 --- a/src/content/docs/java/advance/maintenance/lang/skript/intro.md +++ b/src/content/docs/java/advance/lang/skript/intro.md @@ -78,8 +78,8 @@ on join: ## 基础教程 -见["基础教程"](/java/advance/maintenance/lang/skript/basic-tutorials)。 +见["基础教程"](/java/advance/lang/skript/basic-tutorials)。 ## 进阶教程 -见["高级教程"](/java/advance/maintenance/lang/skript/advanced-tutorials)。 +见["高级教程"](/java/advance/lang/skript/advanced-tutorials)。 diff --git a/src/content/docs/java/advance/maintenance/intro.md b/src/content/docs/java/advance/maintenance/intro.md deleted file mode 100644 index 2b722d8a6..000000000 --- a/src/content/docs/java/advance/maintenance/intro.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: 概述 ---- - -让你的服务器变得更好 diff --git a/src/content/docs/java/advance/maintenance/optimize/_assets/ummm.jpg b/src/content/docs/java/advance/optimize/_assets/ummm.jpg similarity index 100% rename from src/content/docs/java/advance/maintenance/optimize/_assets/ummm.jpg rename to src/content/docs/java/advance/optimize/_assets/ummm.jpg diff --git "a/src/content/docs/java/advance/maintenance/optimize/_assets/\346\200\216\344\271\210\350\256\251\345\244\247\344\275\254\345\270\256\346\210\221/spark_start.png" "b/src/content/docs/java/advance/optimize/_assets/\346\200\216\344\271\210\350\256\251\345\244\247\344\275\254\345\270\256\346\210\221/spark_start.png" similarity index 100% rename from "src/content/docs/java/advance/maintenance/optimize/_assets/\346\200\216\344\271\210\350\256\251\345\244\247\344\275\254\345\270\256\346\210\221/spark_start.png" rename to "src/content/docs/java/advance/optimize/_assets/\346\200\216\344\271\210\350\256\251\345\244\247\344\275\254\345\270\256\346\210\221/spark_start.png" diff --git "a/src/content/docs/java/advance/maintenance/optimize/_assets/\346\200\216\344\271\210\350\256\251\345\244\247\344\275\254\345\270\256\346\210\221/spark_stop.png" "b/src/content/docs/java/advance/optimize/_assets/\346\200\216\344\271\210\350\256\251\345\244\247\344\275\254\345\270\256\346\210\221/spark_stop.png" similarity index 100% rename from "src/content/docs/java/advance/maintenance/optimize/_assets/\346\200\216\344\271\210\350\256\251\345\244\247\344\275\254\345\270\256\346\210\221/spark_stop.png" rename to "src/content/docs/java/advance/optimize/_assets/\346\200\216\344\271\210\350\256\251\345\244\247\344\275\254\345\270\256\346\210\221/spark_stop.png" diff --git a/src/content/docs/java/advance/maintenance/optimize/ask-for-help.md b/src/content/docs/java/advance/optimize/ask-for-help.md similarity index 87% rename from src/content/docs/java/advance/maintenance/optimize/ask-for-help.md rename to src/content/docs/java/advance/optimize/ask-for-help.md index e2bead70f..64344804f 100644 --- a/src/content/docs/java/advance/maintenance/optimize/ask-for-help.md +++ b/src/content/docs/java/advance/optimize/ask-for-help.md @@ -6,7 +6,7 @@ title: 怎么让大佬帮我性能分析 1. 检查你的服务器有没有安装 Spark 插件,尝试 `/spark` 命令或者 `/pl` 看看有没有 Spark -如果没有,手动安装一下 [Spark](/java/advance/maintenance/optimize/performance-analysis) +如果没有,手动安装一下 [Spark](/java/advance/optimize/performance-analysis) 2. 开启 Spark 记录 diff --git a/src/content/docs/java/advance/maintenance/optimize/go.mdx b/src/content/docs/java/advance/optimize/go.mdx similarity index 99% rename from src/content/docs/java/advance/maintenance/optimize/go.mdx rename to src/content/docs/java/advance/optimize/go.mdx index a404abf11..55e374d24 100644 --- a/src/content/docs/java/advance/maintenance/optimize/go.mdx +++ b/src/content/docs/java/advance/optimize/go.mdx @@ -217,7 +217,7 @@ simulate-distance: 8 #### chunk-loading-basic -服务器生成区块非常消耗资源,希望你服务器进行了预生成,如果没有进行的话请阅读 [预生成](/java/advance/maintenance/optimize/intro#第二步---预生成) +服务器生成区块非常消耗资源,希望你服务器进行了预生成,如果没有进行的话请阅读 [预生成](/java/advance/optimize/intro#第二步---预生成) 在 `/config/paper-global.yml` 中有关于区块生成的一些参数 diff --git a/src/content/docs/java/advance/maintenance/optimize/img.png b/src/content/docs/java/advance/optimize/img.png similarity index 100% rename from src/content/docs/java/advance/maintenance/optimize/img.png rename to src/content/docs/java/advance/optimize/img.png diff --git a/src/content/docs/java/advance/maintenance/optimize/intro.md b/src/content/docs/java/advance/optimize/intro.md similarity index 88% rename from src/content/docs/java/advance/maintenance/optimize/intro.md rename to src/content/docs/java/advance/optimize/intro.md index cb175a499..f2e786f62 100644 --- a/src/content/docs/java/advance/maintenance/optimize/intro.md +++ b/src/content/docs/java/advance/optimize/intro.md @@ -8,7 +8,7 @@ title: 概述 > "过早的优化是万恶之源",过早优化会让服务端不稳定,甚至 10x slower -在此之前,请一定查看 [优化误区](/java/advance/maintenance/optimize/optimized-plugin),停止此类无效”优化”,然后根据下面的步骤进行操作。 +在此之前,请一定查看 [优化误区](/java/advance/optimize/optimized-plugin),停止此类无效”优化”,然后根据下面的步骤进行操作。 ## 第一步 - Java 优化 @@ -16,7 +16,7 @@ title: 概述 仅仅需要你下载一个小小的 Java 安装程序,或者更改 JVM 参数 (大白话来说就是开服参数)。 -参见 [JVM 优化](/java/advance/maintenance/optimize/jvm/intro) +参见 [JVM 优化](/java/advance/optimize/jvm/intro) ## 第二步 - 预生成 @@ -47,7 +47,7 @@ title: 概述 目前,Bilibili 上面的配置都是很老的,不推荐使用 -文档里的 [调服务端配置](/java/advance/maintenance/optimize/go) 比较新,非常推荐 +文档里的 [调服务端配置](/java/advance/optimize/go) 比较新,非常推荐 ## 第五步 - 更换硬件 @@ -68,7 +68,7 @@ title: 概述 无论在性能还是稳定性,Linux 都比 Windows 更适合用于开服,对于 Linux 根据自己的使用经验选择即可,如果没有使用经验可以先使用 Ubuntu 等主流系统。 -切换到 Linux 后,你还可以进行 [内核优化](/java/advance/maintenance/optimize/kernel) +切换到 Linux 后,你还可以进行 [内核优化](/java/advance/optimize/kernel) 如果想要了解更多请前往进阶 [Linux 开服教程](/general/advance/linux/linux) @@ -80,6 +80,6 @@ title: 概述 如此,那么应该如何知道服务器为何 [卡顿](/general/basics/what-is-lag) 呢? -如果你是个完完全全的新手,或者懒得分析,想请教别人分析应该怎么办呢?请转跳到 [怎么让大佬帮我](/java/advance/maintenance/optimize/ask-for-help) +如果你是个完完全全的新手,或者懒得分析,想请教别人分析应该怎么办呢?请转跳到 [怎么让大佬帮我](/java/advance/optimize/ask-for-help) -如果你不想求助别人,亦或者你想有一些进步,请参考 [性能分析](/java/advance/maintenance/optimize/performance-analysis) +如果你不想求助别人,亦或者你想有一些进步,请参考 [性能分析](/java/advance/optimize/performance-analysis) diff --git a/src/content/docs/java/advance/maintenance/optimize/jvm/common.md b/src/content/docs/java/advance/optimize/jvm/common.md similarity index 96% rename from src/content/docs/java/advance/maintenance/optimize/jvm/common.md rename to src/content/docs/java/advance/optimize/jvm/common.md index bfe75fd34..6e835d90d 100644 --- a/src/content/docs/java/advance/maintenance/optimize/jvm/common.md +++ b/src/content/docs/java/advance/optimize/jvm/common.md @@ -26,7 +26,7 @@ java -Xlog:gc+init -XX:+UseTransparentHugePages -Xmx1g -version 如果看到 `Large Page Support: Enabled (Transparent)` ,表示你的系统支持透明大页 -但是如果你依然不支持或者想要追求极致性能,可以查看 [内核优化](/java/advance/maintenance/optimize/kernel) +但是如果你依然不支持或者想要追求极致性能,可以查看 [内核优化](/java/advance/optimize/kernel) 如果支持 LargePages,加上此参数 @@ -149,7 +149,7 @@ chcp 65001 # for Windows -Dpaper.playerconnection.keepalive=60 ``` -如果你的网络不好,可以适当延长 keepalive 时间,打开[alternate-keepalive](/java/advance/maintenance/optimize/go#心跳连接) +如果你的网络不好,可以适当延长 keepalive 时间,打开[alternate-keepalive](/java/advance/optimize/go#心跳连接) ## 禁用文件夹遍历和符号链接验证 diff --git a/src/content/docs/java/advance/maintenance/optimize/jvm/dragonwell11.md b/src/content/docs/java/advance/optimize/jvm/dragonwell11.md similarity index 100% rename from src/content/docs/java/advance/maintenance/optimize/jvm/dragonwell11.md rename to src/content/docs/java/advance/optimize/jvm/dragonwell11.md diff --git a/src/content/docs/java/advance/maintenance/optimize/jvm/dragonwell8.md b/src/content/docs/java/advance/optimize/jvm/dragonwell8.md similarity index 100% rename from src/content/docs/java/advance/maintenance/optimize/jvm/dragonwell8.md rename to src/content/docs/java/advance/optimize/jvm/dragonwell8.md diff --git a/src/content/docs/java/advance/maintenance/optimize/jvm/graal.md b/src/content/docs/java/advance/optimize/jvm/graal.md similarity index 100% rename from src/content/docs/java/advance/maintenance/optimize/jvm/graal.md rename to src/content/docs/java/advance/optimize/jvm/graal.md diff --git a/src/content/docs/java/advance/maintenance/optimize/jvm/intro.mdx b/src/content/docs/java/advance/optimize/jvm/intro.mdx similarity index 100% rename from src/content/docs/java/advance/maintenance/optimize/jvm/intro.mdx rename to src/content/docs/java/advance/optimize/jvm/intro.mdx diff --git a/src/content/docs/java/advance/maintenance/optimize/jvm/openj9.md b/src/content/docs/java/advance/optimize/jvm/openj9.md similarity index 100% rename from src/content/docs/java/advance/maintenance/optimize/jvm/openj9.md rename to src/content/docs/java/advance/optimize/jvm/openj9.md diff --git a/src/content/docs/java/advance/maintenance/optimize/jvm/zing.md b/src/content/docs/java/advance/optimize/jvm/zing.md similarity index 100% rename from src/content/docs/java/advance/maintenance/optimize/jvm/zing.md rename to src/content/docs/java/advance/optimize/jvm/zing.md diff --git a/src/content/docs/java/advance/maintenance/optimize/kernel.mdx b/src/content/docs/java/advance/optimize/kernel.mdx similarity index 100% rename from src/content/docs/java/advance/maintenance/optimize/kernel.mdx rename to src/content/docs/java/advance/optimize/kernel.mdx diff --git a/src/content/docs/java/advance/maintenance/optimize/optimized-plugin.md b/src/content/docs/java/advance/optimize/optimized-plugin.md similarity index 94% rename from src/content/docs/java/advance/maintenance/optimize/optimized-plugin.md rename to src/content/docs/java/advance/optimize/optimized-plugin.md index 3fcd3a282..92ed7fc09 100644 --- a/src/content/docs/java/advance/maintenance/optimize/optimized-plugin.md +++ b/src/content/docs/java/advance/optimize/optimized-plugin.md @@ -35,7 +35,7 @@ title: 优化误区 由于大量生成区块非常消耗性能,限制玩家生成的区块数,能够起到一定的效果。 -但我们一般可以通过 [参数配置](/java/advance/maintenance/optimize/go#prevent-moving-into-unloaded-chunks) 降低区块生成速率,不太需要强行拉回玩家或减速玩家等方式干扰跑图。 +但我们一般可以通过 [参数配置](/java/advance/optimize/go#prevent-moving-into-unloaded-chunks) 降低区块生成速率,不太需要强行拉回玩家或减速玩家等方式干扰跑图。 因此,停止使用类似插件,如: @@ -73,8 +73,8 @@ AI.* 地面上的物品很少会导致性能问题,而且物品往往会自行消失,如果你的服务器掉落物特别多,请调整以下两个参数: -[点这里查看正确方法 #alt-item-despawn-rate](/java/advance/maintenance/optimize/go#alt-item-despawn-rate), -[点这里查看正确方法 #merge-radius](/java/advance/maintenance/optimize/go#merge-radius) +[点这里查看正确方法 #alt-item-despawn-rate](/java/advance/optimize/go#alt-item-despawn-rate), +[点这里查看正确方法 #merge-radius](/java/advance/optimize/go#merge-radius) 因此,停止使用类似插件,如: @@ -84,7 +84,7 @@ AI.* 使用插件删除生物是笨蛋中的笨蛋才会做的事,生物如果达到服务器设定的上限则会停止生成。而被清除后,服务器必须重新生成生物,这个过程也是非常费性能的。 -如果你不需要那么多怪物,直接调整参数即可 [点这里查看正确方法](/java/advance/maintenance/optimize/go#spawn-limits) +如果你不需要那么多怪物,直接调整参数即可 [点这里查看正确方法](/java/advance/optimize/go#spawn-limits) 因此,停止使用类似插件,如: @@ -118,13 +118,13 @@ https://github.com/quiquelhappy/StackMob-5 Paper 酱为你在 `/config/paper-world-default.yml` 中准备了爆炸优化。 -[点这里查看正确方法](/java/advance/maintenance/optimize/go#optimize-explosions) +[点这里查看正确方法](/java/advance/optimize/go#optimize-explosions) ### 区块卸载插件 服务器会自己卸载插件,与其使用插件一遍遍检查区块是否需要卸载不如让服务器自行卸载, -如果你需要更快卸载请 [点这里查看正确方法](/java/advance/maintenance/optimize/go#delay-chunk-unloads-by) +如果你需要更快卸载请 [点这里查看正确方法](/java/advance/optimize/go#delay-chunk-unloads-by) ## 其他应该避免使用的插件 @@ -146,7 +146,7 @@ Paper 酱为你在 `/config/paper-world-default.yml` 中准备了爆炸优化。 1. ChunkAnalyser - 简单的搜索世界的红石,漏斗,实体之类,有很多平替插件如 [Insights](https://modrinth.com/plugin/insights)/ [Entitydetection](https://www.spigotmc.org/resources/entitydetection-tile-entity-support.20588/); -2. LagMonitor,LagMap,Benchmark - 很鸡肋的性能检测 (不如 [Spark](/java/advance/maintenance/optimize/performance-analysis#spark)); +2. LagMonitor,LagMap,Benchmark - 很鸡肋的性能检测 (不如 [Spark](/java/advance/optimize/performance-analysis#spark)); 3. RedstoneCuller - 直接破坏红石机器,平替插件 [AntiRedstoneClock](https://hangar.papermc.io/OneLiteFeather/AntiRedstoneClock-Remastered); diff --git a/src/content/docs/java/advance/maintenance/optimize/performance-analysis.md b/src/content/docs/java/advance/optimize/performance-analysis.md similarity index 100% rename from src/content/docs/java/advance/maintenance/optimize/performance-analysis.md rename to src/content/docs/java/advance/optimize/performance-analysis.md diff --git a/src/content/docs/java/advance/maintenance/optimize/storage-space-optimization.md b/src/content/docs/java/advance/optimize/storage-space-optimization.md similarity index 100% rename from src/content/docs/java/advance/maintenance/optimize/storage-space-optimization.md rename to src/content/docs/java/advance/optimize/storage-space-optimization.md diff --git a/src/content/docs/java/advance/maintenance/resourcepack/_assets/1.png b/src/content/docs/java/advance/resourcepack/_assets/1.png similarity index 100% rename from src/content/docs/java/advance/maintenance/resourcepack/_assets/1.png rename to src/content/docs/java/advance/resourcepack/_assets/1.png diff --git a/src/content/docs/java/advance/maintenance/resourcepack/_assets/2.png b/src/content/docs/java/advance/resourcepack/_assets/2.png similarity index 100% rename from src/content/docs/java/advance/maintenance/resourcepack/_assets/2.png rename to src/content/docs/java/advance/resourcepack/_assets/2.png diff --git a/src/content/docs/java/advance/maintenance/resourcepack/_assets/3.png b/src/content/docs/java/advance/resourcepack/_assets/3.png similarity index 100% rename from src/content/docs/java/advance/maintenance/resourcepack/_assets/3.png rename to src/content/docs/java/advance/resourcepack/_assets/3.png diff --git a/src/content/docs/java/advance/maintenance/resourcepack/_assets/4.png b/src/content/docs/java/advance/resourcepack/_assets/4.png similarity index 100% rename from src/content/docs/java/advance/maintenance/resourcepack/_assets/4.png rename to src/content/docs/java/advance/resourcepack/_assets/4.png diff --git a/src/content/docs/java/advance/maintenance/resourcepack/_assets/5.png b/src/content/docs/java/advance/resourcepack/_assets/5.png similarity index 100% rename from src/content/docs/java/advance/maintenance/resourcepack/_assets/5.png rename to src/content/docs/java/advance/resourcepack/_assets/5.png diff --git a/src/content/docs/java/advance/maintenance/resourcepack/_assets/6.png b/src/content/docs/java/advance/resourcepack/_assets/6.png similarity index 100% rename from src/content/docs/java/advance/maintenance/resourcepack/_assets/6.png rename to src/content/docs/java/advance/resourcepack/_assets/6.png diff --git a/src/content/docs/java/advance/maintenance/resourcepack/_assets/7.png b/src/content/docs/java/advance/resourcepack/_assets/7.png similarity index 100% rename from src/content/docs/java/advance/maintenance/resourcepack/_assets/7.png rename to src/content/docs/java/advance/resourcepack/_assets/7.png diff --git a/src/content/docs/java/advance/maintenance/resourcepack/_assets/8.png b/src/content/docs/java/advance/resourcepack/_assets/8.png similarity index 100% rename from src/content/docs/java/advance/maintenance/resourcepack/_assets/8.png rename to src/content/docs/java/advance/resourcepack/_assets/8.png diff --git a/src/content/docs/java/advance/maintenance/resourcepack/_assets/blockbench.png b/src/content/docs/java/advance/resourcepack/_assets/blockbench.png similarity index 100% rename from src/content/docs/java/advance/maintenance/resourcepack/_assets/blockbench.png rename to src/content/docs/java/advance/resourcepack/_assets/blockbench.png diff --git a/src/content/docs/java/advance/maintenance/resourcepack/_assets/head.png b/src/content/docs/java/advance/resourcepack/_assets/head.png similarity index 100% rename from src/content/docs/java/advance/maintenance/resourcepack/_assets/head.png rename to src/content/docs/java/advance/resourcepack/_assets/head.png diff --git a/src/content/docs/java/advance/maintenance/resourcepack/_assets/title.png b/src/content/docs/java/advance/resourcepack/_assets/title.png similarity index 100% rename from src/content/docs/java/advance/maintenance/resourcepack/_assets/title.png rename to src/content/docs/java/advance/resourcepack/_assets/title.png diff --git a/src/content/docs/java/advance/maintenance/resourcepack/_assets/tooltip1.png b/src/content/docs/java/advance/resourcepack/_assets/tooltip1.png similarity index 100% rename from src/content/docs/java/advance/maintenance/resourcepack/_assets/tooltip1.png rename to src/content/docs/java/advance/resourcepack/_assets/tooltip1.png diff --git a/src/content/docs/java/advance/maintenance/resourcepack/_assets/tooltip2.png b/src/content/docs/java/advance/resourcepack/_assets/tooltip2.png similarity index 100% rename from src/content/docs/java/advance/maintenance/resourcepack/_assets/tooltip2.png rename to src/content/docs/java/advance/resourcepack/_assets/tooltip2.png diff --git a/src/content/docs/java/advance/maintenance/resourcepack/addon.md b/src/content/docs/java/advance/resourcepack/addon.md similarity index 100% rename from src/content/docs/java/advance/maintenance/resourcepack/addon.md rename to src/content/docs/java/advance/resourcepack/addon.md diff --git a/src/content/docs/java/advance/maintenance/resourcepack/compress.md b/src/content/docs/java/advance/resourcepack/compress.md similarity index 100% rename from src/content/docs/java/advance/maintenance/resourcepack/compress.md rename to src/content/docs/java/advance/resourcepack/compress.md diff --git a/src/content/docs/java/advance/maintenance/resourcepack/intro.md b/src/content/docs/java/advance/resourcepack/intro.md similarity index 100% rename from src/content/docs/java/advance/maintenance/resourcepack/intro.md rename to src/content/docs/java/advance/resourcepack/intro.md diff --git a/src/content/docs/java/advance/maintenance/resourcepack/plugins/_assets/25b2c895c2af14fbc7e6989404d0ff7af64020ea.gif b/src/content/docs/java/advance/resourcepack/plugins/_assets/25b2c895c2af14fbc7e6989404d0ff7af64020ea.gif similarity index 100% rename from src/content/docs/java/advance/maintenance/resourcepack/plugins/_assets/25b2c895c2af14fbc7e6989404d0ff7af64020ea.gif rename to src/content/docs/java/advance/resourcepack/plugins/_assets/25b2c895c2af14fbc7e6989404d0ff7af64020ea.gif diff --git a/src/content/docs/java/advance/maintenance/resourcepack/plugins/_assets/272f487d799270ea2e204de73236dda77d18f954.gif b/src/content/docs/java/advance/resourcepack/plugins/_assets/272f487d799270ea2e204de73236dda77d18f954.gif similarity index 100% rename from src/content/docs/java/advance/maintenance/resourcepack/plugins/_assets/272f487d799270ea2e204de73236dda77d18f954.gif rename to src/content/docs/java/advance/resourcepack/plugins/_assets/272f487d799270ea2e204de73236dda77d18f954.gif diff --git a/src/content/docs/java/advance/maintenance/resourcepack/plugins/_assets/30a53ea3a4d029784f4ed54d17a335e099b805b4.gif b/src/content/docs/java/advance/resourcepack/plugins/_assets/30a53ea3a4d029784f4ed54d17a335e099b805b4.gif similarity index 100% rename from src/content/docs/java/advance/maintenance/resourcepack/plugins/_assets/30a53ea3a4d029784f4ed54d17a335e099b805b4.gif rename to src/content/docs/java/advance/resourcepack/plugins/_assets/30a53ea3a4d029784f4ed54d17a335e099b805b4.gif diff --git a/src/content/docs/java/advance/maintenance/resourcepack/plugins/_assets/4f4a015981222b37bfa3b2324113d919a33b090f.png b/src/content/docs/java/advance/resourcepack/plugins/_assets/4f4a015981222b37bfa3b2324113d919a33b090f.png similarity index 100% rename from src/content/docs/java/advance/maintenance/resourcepack/plugins/_assets/4f4a015981222b37bfa3b2324113d919a33b090f.png rename to src/content/docs/java/advance/resourcepack/plugins/_assets/4f4a015981222b37bfa3b2324113d919a33b090f.png diff --git a/src/content/docs/java/advance/maintenance/resourcepack/plugins/_assets/52470cba6836ab471f19c8e788c513765de2d02c.png b/src/content/docs/java/advance/resourcepack/plugins/_assets/52470cba6836ab471f19c8e788c513765de2d02c.png similarity index 100% rename from src/content/docs/java/advance/maintenance/resourcepack/plugins/_assets/52470cba6836ab471f19c8e788c513765de2d02c.png rename to src/content/docs/java/advance/resourcepack/plugins/_assets/52470cba6836ab471f19c8e788c513765de2d02c.png diff --git a/src/content/docs/java/advance/maintenance/resourcepack/plugins/_assets/d0a7f51a86d1a313f1b41f27e021421adc93eec9.png b/src/content/docs/java/advance/resourcepack/plugins/_assets/d0a7f51a86d1a313f1b41f27e021421adc93eec9.png similarity index 100% rename from src/content/docs/java/advance/maintenance/resourcepack/plugins/_assets/d0a7f51a86d1a313f1b41f27e021421adc93eec9.png rename to src/content/docs/java/advance/resourcepack/plugins/_assets/d0a7f51a86d1a313f1b41f27e021421adc93eec9.png diff --git a/src/content/docs/java/advance/maintenance/resourcepack/plugins/_assets/f6b239e0689c433ef5a2c0e85f710e988bf1ba4e.gif b/src/content/docs/java/advance/resourcepack/plugins/_assets/f6b239e0689c433ef5a2c0e85f710e988bf1ba4e.gif similarity index 100% rename from src/content/docs/java/advance/maintenance/resourcepack/plugins/_assets/f6b239e0689c433ef5a2c0e85f710e988bf1ba4e.gif rename to src/content/docs/java/advance/resourcepack/plugins/_assets/f6b239e0689c433ef5a2c0e85f710e988bf1ba4e.gif diff --git a/src/content/docs/java/advance/maintenance/resourcepack/plugins/_assets/fd658155424cd985553237821611dfdea040b166.gif b/src/content/docs/java/advance/resourcepack/plugins/_assets/fd658155424cd985553237821611dfdea040b166.gif similarity index 100% rename from src/content/docs/java/advance/maintenance/resourcepack/plugins/_assets/fd658155424cd985553237821611dfdea040b166.gif rename to src/content/docs/java/advance/resourcepack/plugins/_assets/fd658155424cd985553237821611dfdea040b166.gif diff --git a/src/content/docs/java/advance/maintenance/resourcepack/plugins/_assets/videoframe_1994.png b/src/content/docs/java/advance/resourcepack/plugins/_assets/videoframe_1994.png similarity index 100% rename from src/content/docs/java/advance/maintenance/resourcepack/plugins/_assets/videoframe_1994.png rename to src/content/docs/java/advance/resourcepack/plugins/_assets/videoframe_1994.png diff --git a/src/content/docs/java/advance/maintenance/resourcepack/plugins/_assets/videoframe_931.png b/src/content/docs/java/advance/resourcepack/plugins/_assets/videoframe_931.png similarity index 100% rename from src/content/docs/java/advance/maintenance/resourcepack/plugins/_assets/videoframe_931.png rename to src/content/docs/java/advance/resourcepack/plugins/_assets/videoframe_931.png diff --git a/src/content/docs/java/advance/maintenance/resourcepack/plugins/entity.mdx b/src/content/docs/java/advance/resourcepack/plugins/entity.mdx similarity index 100% rename from src/content/docs/java/advance/maintenance/resourcepack/plugins/entity.mdx rename to src/content/docs/java/advance/resourcepack/plugins/entity.mdx diff --git a/src/content/docs/java/advance/maintenance/resourcepack/plugins/framework.mdx b/src/content/docs/java/advance/resourcepack/plugins/framework.mdx similarity index 97% rename from src/content/docs/java/advance/maintenance/resourcepack/plugins/framework.mdx rename to src/content/docs/java/advance/resourcepack/plugins/framework.mdx index e6fae21d6..4285701f4 100644 --- a/src/content/docs/java/advance/maintenance/resourcepack/plugins/framework.mdx +++ b/src/content/docs/java/advance/resourcepack/plugins/framework.mdx @@ -130,9 +130,9 @@ CraftEngine 使用一个服务端的真实体存储家具的数据,然后将 :::note[说明] -CraftEngine 提供了比 [PackSquash](/java/advance/maintenance/resourcepack/compress) 更强大的内置资源包保护。 +CraftEngine 提供了比 [PackSquash](/java/advance/resourcepack/compress) 更强大的内置资源包保护。 -因为 CraftEngine 侧重于保护性所以使用保护功能时会导致资源包大小增加,如果侧重于压缩率更推荐使用 [PackSquash](/java/advance/maintenance/resourcepack/compress)。 +因为 CraftEngine 侧重于保护性所以使用保护功能时会导致资源包大小增加,如果侧重于压缩率更推荐使用 [PackSquash](/java/advance/resourcepack/compress)。 ::: diff --git a/src/content/docs/java/advance/maintenance/resourcepack/plugins/hud.mdx b/src/content/docs/java/advance/resourcepack/plugins/hud.mdx similarity index 100% rename from src/content/docs/java/advance/maintenance/resourcepack/plugins/hud.mdx rename to src/content/docs/java/advance/resourcepack/plugins/hud.mdx diff --git a/src/content/docs/java/advance/maintenance/resourcepack/plugins/intro.md b/src/content/docs/java/advance/resourcepack/plugins/intro.md similarity index 100% rename from src/content/docs/java/advance/maintenance/resourcepack/plugins/intro.md rename to src/content/docs/java/advance/resourcepack/plugins/intro.md diff --git a/src/content/docs/java/advance/maintenance/resourcepack/plugins/misc.mdx b/src/content/docs/java/advance/resourcepack/plugins/misc.mdx similarity index 100% rename from src/content/docs/java/advance/maintenance/resourcepack/plugins/misc.mdx rename to src/content/docs/java/advance/resourcepack/plugins/misc.mdx diff --git a/src/content/docs/java/advance/maintenance/resourcepack/plugins/tooltip.md b/src/content/docs/java/advance/resourcepack/plugins/tooltip.md similarity index 100% rename from src/content/docs/java/advance/maintenance/resourcepack/plugins/tooltip.md rename to src/content/docs/java/advance/resourcepack/plugins/tooltip.md diff --git a/src/content/docs/java/advance/maintenance/resourcepack/plugins/vehicles.mdx b/src/content/docs/java/advance/resourcepack/plugins/vehicles.mdx similarity index 100% rename from src/content/docs/java/advance/maintenance/resourcepack/plugins/vehicles.mdx rename to src/content/docs/java/advance/resourcepack/plugins/vehicles.mdx diff --git a/src/content/docs/java/advance/maintenance/resourcepack/protect.md b/src/content/docs/java/advance/resourcepack/protect.md similarity index 96% rename from src/content/docs/java/advance/maintenance/resourcepack/protect.md rename to src/content/docs/java/advance/resourcepack/protect.md index eff99e5ef..0fa17c057 100644 --- a/src/content/docs/java/advance/maintenance/resourcepack/protect.md +++ b/src/content/docs/java/advance/resourcepack/protect.md @@ -26,7 +26,7 @@ title: 保护 无客户端 mod 保护方案由于技术限制,保护方式集中于 ZIP 格式保护 (如破坏格式),和混淆打乱 (Oraxen [命名空间](/general/basics/what-is-namespace) 打乱等) -> 教程:[压缩 & 混淆](/java/advance/maintenance/resourcepack/compress) +> 教程:[压缩 & 混淆](/java/advance/resourcepack/compress) ## 有客户端 mod diff --git a/src/content/docs/java/advance/maintenance/resourcepack/send.mdx b/src/content/docs/java/advance/resourcepack/send.mdx similarity index 100% rename from src/content/docs/java/advance/maintenance/resourcepack/send.mdx rename to src/content/docs/java/advance/resourcepack/send.mdx diff --git a/src/content/docs/java/advance/maintenance/resourcepack/software.md b/src/content/docs/java/advance/resourcepack/software.md similarity index 100% rename from src/content/docs/java/advance/maintenance/resourcepack/software.md rename to src/content/docs/java/advance/resourcepack/software.md diff --git a/src/content/docs/java/process/plugin/intro.md b/src/content/docs/java/process/plugin/intro.md index 2165a5068..4670103e3 100644 --- a/src/content/docs/java/process/plugin/intro.md +++ b/src/content/docs/java/process/plugin/intro.md @@ -84,4 +84,4 @@ Via 自动安装已经移动到 [此处](/java/process/plugin/misc/via/intro#笨 ## 我有疑问 -如果你想问问题,查看 [如何向大佬求助](/java/advance/maintenance/optimize/ask-for-help) +如果你想问问题,查看 [如何向大佬求助](/java/advance/optimize/ask-for-help) diff --git a/src/content/docs/java/process/plugin/management-tool/items/misc.md b/src/content/docs/java/process/plugin/management-tool/items/misc.md index c4446d335..0e3c05063 100644 --- a/src/content/docs/java/process/plugin/management-tool/items/misc.md +++ b/src/content/docs/java/process/plugin/management-tool/items/misc.md @@ -6,8 +6,8 @@ title: 其他 推荐使用上方页面收录的物品库插件,而不是下方插件提供的物品库功能。 -- [ItemsAdder](/java/advance/maintenance/resourcepack/plugins/framework) -- [Oraxen](/java/advance/maintenance/resourcepack/plugins/framework) +- [ItemsAdder](/java/advance/resourcepack/plugins/framework) +- [Oraxen](/java/advance/resourcepack/plugins/framework) - [MythicMobs](/java/process/plugin/misc/mythicmobs) - [CMI](/java/process/plugin/management-tool/basic-plugins/cmi/intro) - [SunLight](/java/process/plugin/management-tool/basic-plugins/sunlight) diff --git a/src/content/docs/java/process/plugin/management-tool/permission/meta.md b/src/content/docs/java/process/plugin/management-tool/permission/meta.md index a382785f2..7d0363165 100644 --- a/src/content/docs/java/process/plugin/management-tool/permission/meta.md +++ b/src/content/docs/java/process/plugin/management-tool/permission/meta.md @@ -164,7 +164,7 @@ command inline "lp user {{sender}} permission settemp nitwikit.demo true {{math - `%math_0_60-{server_time_mm}%` // 分 - `%math_0_60-{server_time_ss}%` // 秒 -不过我不太喜欢这种做法,另一种: [案例 | 变量 | 每日刷新](/java/advance/maintenance/lang/kether/variable#每日刷新) +不过我不太喜欢这种做法,另一种: [案例 | 变量 | 每日刷新](/java/advance/lang/kether/variable#每日刷新) diff --git a/src/content/docs/java/process/plugin/misc/menu/trmenu.md b/src/content/docs/java/process/plugin/misc/menu/trmenu.md index ce6664a34..e141e5bc4 100644 --- a/src/content/docs/java/process/plugin/misc/menu/trmenu.md +++ b/src/content/docs/java/process/plugin/misc/menu/trmenu.md @@ -92,7 +92,7 @@ TrMenu 入门学习文档 ## VS Code 插件 -与 TrMenu 或 [Kether](/java/advance/maintenance/lang/kether/basic) 有关的 VS Code 插件 +与 TrMenu 或 [Kether](/java/advance/lang/kether/basic) 有关的 VS Code 插件 - [TrMenu-Helper](https://marketplace.visualstudio.com/items?itemName=hhhhhy.trmenu-helper) @@ -227,7 +227,7 @@ Sneaking-Offhand: **知识点:** - TrMenu 文档熟读并背诵 -- [kether](/java/advance/maintenance/lang/kether/basic) +- [kether](/java/advance/lang/kether/basic) - [CheckItem](/java/process/plugin/plugin-dependencies/placeholderapi/check-item) ```yaml @@ -283,7 +283,7 @@ Sneaking-Offhand: **知识点:** - TrMenu 文档熟读并背诵 -- [kether](/java/advance/maintenance/lang/kether/basic) +- [kether](/java/advance/lang/kether/basic) - [CheckItem](/java/process/plugin/plugin-dependencies/placeholderapi/check-item) - [妙妙写法](#妙妙写法) - [\{condition=\}条件](https://hhhhhy.gitbook.io/trmenu-v3/menu/action/option#tiao-jian) diff --git a/src/content/docs/java/process/plugin/more/tittle-tattle.md b/src/content/docs/java/process/plugin/more/tittle-tattle.md index db9ae54cf..ea055682a 100644 --- a/src/content/docs/java/process/plugin/more/tittle-tattle.md +++ b/src/content/docs/java/process/plugin/more/tittle-tattle.md @@ -48,7 +48,7 @@ Spigot 在 1.17 之后新增了一个名 为 LibraryLoader 的玩意,可以让 ::: -如果你使用 Leaf 核心或 Paper 1.21.6 (及其分支) 之后的版本,可以直接 [这样做](/java/advance/maintenance/optimize/jvm/common#下载源加速),不需要使用此工具。 +如果你使用 Leaf 核心或 Paper 1.21.6 (及其分支) 之后的版本,可以直接 [这样做](/java/advance/optimize/jvm/common#下载源加速),不需要使用此工具。 ## 圈内破事 diff --git a/src/content/docs/java/process/redstone/plugin.md b/src/content/docs/java/process/redstone/plugin.md index 505bb89ee..40bbf7433 100644 --- a/src/content/docs/java/process/redstone/plugin.md +++ b/src/content/docs/java/process/redstone/plugin.md @@ -135,7 +135,7 @@ settings: ### 红石优化 -请查看 [红石优化](/java/advance/maintenance/optimize/go#redstone-implementation) +请查看 [红石优化](/java/advance/optimize/go#redstone-implementation) 同时 Mojang 在 24w33a 更新了红石的链接机制 (虽然是实验性内容),从代码来看,Mojang 的优化方式与 Alternate Current 非常像 From 9d80a973841e9471c772aad199f83c69a87131f6 Mon Sep 17 00:00:00 2001 From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com> Date: Sat, 31 Jan 2026 17:22:16 -0500 Subject: [PATCH 24/42] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=9E=84=E5=BB=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- astro.config.ts | 1 + .../management/player-management/client-distribution.mdx | 2 +- src/content/docs/java/process/plugin/intro.md | 2 +- .../docs/java/process/plugin/more/plugin-troubleshooting.md | 4 ++-- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/astro.config.ts b/astro.config.ts index 121afbb61..a8f7fe3ef 100644 --- a/astro.config.ts +++ b/astro.config.ts @@ -79,6 +79,7 @@ export default defineConfig({ label: "经营管理", collapsed: true, items: [ + "general/advance/management/intro", { label: "玩家管理", autogenerate: { diff --git a/src/content/docs/general/advance/management/player-management/client-distribution.mdx b/src/content/docs/general/advance/management/player-management/client-distribution.mdx index 69f6d9e73..41bfeaf2c 100644 --- a/src/content/docs/general/advance/management/player-management/client-distribution.mdx +++ b/src/content/docs/general/advance/management/player-management/client-distribution.mdx @@ -12,7 +12,7 @@ import { FileTree } from '@astrojs/starlight/components'; :::tip -如果你不清楚此处提到的 JRE 是什么,请阅读 [选择、下载和安装 Java](/java/preparation/java/choose-and-download-and-install-java) +如果你不清楚此处提到的 JRE 是什么,请阅读 [选择、下载和安装 Java](/general/java/choose-and-download-and-install-java) ::: diff --git a/src/content/docs/java/process/plugin/intro.md b/src/content/docs/java/process/plugin/intro.md index 4670103e3..d03907101 100644 --- a/src/content/docs/java/process/plugin/intro.md +++ b/src/content/docs/java/process/plugin/intro.md @@ -84,4 +84,4 @@ Via 自动安装已经移动到 [此处](/java/process/plugin/misc/via/intro#笨 ## 我有疑问 -如果你想问问题,查看 [如何向大佬求助](/java/advance/optimize/ask-for-help) +如果你想问问题,查看 [如何向大佬求助](/general/more/ask-for-help) diff --git a/src/content/docs/java/process/plugin/more/plugin-troubleshooting.md b/src/content/docs/java/process/plugin/more/plugin-troubleshooting.md index 4e8f64d01..2162ef6ff 100644 --- a/src/content/docs/java/process/plugin/more/plugin-troubleshooting.md +++ b/src/content/docs/java/process/plugin/more/plugin-troubleshooting.md @@ -10,7 +10,7 @@ title: 排除问题插件 将报错先翻译一遍,确定其中是否提示了错误的类型 (如缺少前置,缺少类,插件需要更新等)。 -然后你可以尝试按照 [如何向大佬求助](/java/start/ask-for-help) 中提到的方法,增加问题解决的可能性。 +然后你可以尝试按照 [如何向大佬求助](/general/more/ask-for-help) 中提到的方法,增加问题解决的可能性。 ## 二分法 @@ -55,4 +55,4 @@ title: 排除问题插件 ## Arthas -使用 Arthas 对报错进行分析,[文档](/general/advance/arthas),需要拥有较强的技术力 +使用 Arthas 对报错进行分析,[文档](/java/advance/arthas),需要拥有较强的技术力 From d79253046d691a41f755e4a14c81b94fadc8c3e2 Mon Sep 17 00:00:00 2001 From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com> Date: Sat, 31 Jan 2026 17:36:13 -0500 Subject: [PATCH 25/42] =?UTF-8?q?=E6=9B=B4=E6=94=B9=20`=E6=80=8E=E4=B9=88?= =?UTF-8?q?=E8=AE=A9=E5=A4=A7=E4=BD=AC=E5=B8=AE=E6=88=91=E6=80=A7=E8=83=BD?= =?UTF-8?q?=E5=88=86=E6=9E=90`=20=E6=96=87=E6=A1=A3=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- astro.config.ts | 2 +- .../optimize/{ask-for-help.md => ask-for-profiling-help.md} | 0 src/content/docs/java/advance/optimize/intro.md | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) rename src/content/docs/java/advance/optimize/{ask-for-help.md => ask-for-profiling-help.md} (100%) diff --git a/astro.config.ts b/astro.config.ts index a8f7fe3ef..b5e339976 100644 --- a/astro.config.ts +++ b/astro.config.ts @@ -706,7 +706,7 @@ export default defineConfig({ "java/advance/optimize/performance-analysis", "java/advance/optimize/kernel", "java/advance/optimize/optimized-plugin", - "java/advance/optimize/ask-for-help" + "java/advance/optimize/ask-for-profiling-help" ] }, { diff --git a/src/content/docs/java/advance/optimize/ask-for-help.md b/src/content/docs/java/advance/optimize/ask-for-profiling-help.md similarity index 100% rename from src/content/docs/java/advance/optimize/ask-for-help.md rename to src/content/docs/java/advance/optimize/ask-for-profiling-help.md diff --git a/src/content/docs/java/advance/optimize/intro.md b/src/content/docs/java/advance/optimize/intro.md index f2e786f62..f4803b200 100644 --- a/src/content/docs/java/advance/optimize/intro.md +++ b/src/content/docs/java/advance/optimize/intro.md @@ -80,6 +80,6 @@ title: 概述 如此,那么应该如何知道服务器为何 [卡顿](/general/basics/what-is-lag) 呢? -如果你是个完完全全的新手,或者懒得分析,想请教别人分析应该怎么办呢?请转跳到 [怎么让大佬帮我](/java/advance/optimize/ask-for-help) +如果你是个完完全全的新手,或者懒得分析,想请教别人分析应该怎么办呢?请转跳到 [怎么让大佬帮我性能分析](/java/advance/optimize/ask-for-profiling-help) 如果你不想求助别人,亦或者你想有一些进步,请参考 [性能分析](/java/advance/optimize/performance-analysis) From 14dcb7e02f6fd6918893751be4ff1674e39946bc Mon Sep 17 00:00:00 2001 From: MrlingXD <90316914+wling-art@users.noreply.github.com> Date: Sun, 1 Feb 2026 12:39:19 +0800 Subject: [PATCH 26/42] =?UTF-8?q?=F0=9F=94=A5=20=E7=A7=BB=E9=99=A4=20Dropd?= =?UTF-8?q?own?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 1 - pnpm-lock.yaml | 14 ++------------ src/components/Sidebar.astro | 7 ------- 3 files changed, 2 insertions(+), 20 deletions(-) delete mode 100644 src/components/Sidebar.astro diff --git a/package.json b/package.json index f8254bb99..088c73948 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,6 @@ "starlight-giscus": "^0.8.1", "starlight-image-zoom": "^0.13.2", "starlight-sidebar-topics": "^0.6.2", - "starlight-sidebar-topics-dropdown": "^0.5.2", "vue": "^3.5.27" }, "devDependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 67d1d4599..d8f4d89a0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -43,10 +43,7 @@ importers: version: 0.13.2(@astrojs/starlight@0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3))) starlight-sidebar-topics: specifier: ^0.6.2 - version: 0.6.2(@astrojs/starlight@0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3))) - starlight-sidebar-topics-dropdown: - specifier: ^0.5.2 - version: 0.5.2(@astrojs/starlight@0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)))(starlight-sidebar-topics@0.6.2(@astrojs/starlight@0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)))) + version: 0.6.2(@astrojs/starlight@0.37.5(astro@5.17.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0)(typescript@5.9.3))) vue: specifier: ^3.5.27 version: 3.5.27(typescript@5.9.3) @@ -4264,13 +4261,6 @@ packages: peerDependencies: '@astrojs/starlight': '>=0.35' - starlight-sidebar-topics-dropdown@0.5.2: - resolution: {integrity: sha512-QeqSO5jjk/ZHDfXnUqJF1GpY1ny9dc9LqETuw9V124B93EYtpvCYa+zccxHMHojQvAuG7TguQs212P4XvJX0Wg==} - engines: {node: ^18.17.1 || ^20.3.0 || >=21.0.0} - peerDependencies: - '@astrojs/starlight': '>=0.32' - starlight-sidebar-topics: '>=0.6' - starlight-sidebar-topics@0.6.2: resolution: {integrity: sha512-SNCTUZS/hcVor0ZcaXbaSVU37+V+qtvzNirkvnOg3Mqu/awuGpthkH5+uKpiZqWxLffp6TrOlsv5E5QsxrndNg==} engines: {node: '>=18'} @@ -10085,7 +10075,7 @@ snapshots: dependencies: '@astrojs/starlight': 0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)) - starlight-sidebar-topics-dropdown@0.5.2(@astrojs/starlight@0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)))(starlight-sidebar-topics@0.6.2(@astrojs/starlight@0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)))): + starlight-sidebar-topics@0.6.2(@astrojs/starlight@0.37.5(astro@5.17.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0)(typescript@5.9.3))): dependencies: '@astrojs/starlight': 0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)) starlight-sidebar-topics: 0.6.2(@astrojs/starlight@0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3))) diff --git a/src/components/Sidebar.astro b/src/components/Sidebar.astro deleted file mode 100644 index 80946a5e5..000000000 --- a/src/components/Sidebar.astro +++ /dev/null @@ -1,7 +0,0 @@ ---- -import Default from "@astrojs/starlight/components/Sidebar.astro"; -import TopicsDropdown from "starlight-sidebar-topics-dropdown/TopicsDropdown.astro"; ---- - - - From b5537c523eb6692ef53394d2e35a948cc490e8e0 Mon Sep 17 00:00:00 2001 From: MrlingXD <90316914+wling-art@users.noreply.github.com> Date: Sun, 1 Feb 2026 12:39:58 +0800 Subject: [PATCH 27/42] =?UTF-8?q?=E2=AC=86=EF=B8=8F=20=E5=8D=87=E7=BA=A7?= =?UTF-8?q?=E4=BE=9D=E8=B5=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 10 +- pnpm-lock.yaml | 2419 +++++++++++++++++++++--------------------------- 2 files changed, 1076 insertions(+), 1353 deletions(-) diff --git a/package.json b/package.json index 088c73948..6752696b3 100644 --- a/package.json +++ b/package.json @@ -10,15 +10,15 @@ "astro": "astro" }, "dependencies": { - "@astrojs/starlight": "^0.37.1", + "@astrojs/starlight": "^0.37.5", "@astrojs/starlight-docsearch": "^0.6.1", "@astrojs/vue": "^5.1.4", "@tailwindcss/vite": "^4.1.18", - "astro": "^5.16.6", - "astro-mermaid": "^1.2.0", + "astro": "^5.17.1", + "astro-mermaid": "^1.3.1", "mermaid": "^11.12.2", "naive-ui": "^2.43.2", - "sharp": "^0.34.2", + "sharp": "^0.34.5", "starlight-giscus": "^0.8.1", "starlight-image-zoom": "^0.13.2", "starlight-sidebar-topics": "^0.6.2", @@ -26,7 +26,7 @@ }, "devDependencies": { "@vite-pwa/astro": "^1.2.0", - "starlight-contributor-list": "^0.3.1", + "starlight-contributor-list": "^0.3.2", "starlight-links-validator": "^0.19.2", "starlight-scroll-to-top": "^0.4.0", "tailwindcss": "^4.1.18", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d8f4d89a0..8b84fb40d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,23 +9,23 @@ importers: .: dependencies: '@astrojs/starlight': - specifier: ^0.37.1 - version: 0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)) + specifier: ^0.37.5 + version: 0.37.5(astro@5.17.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0)(typescript@5.9.3)) '@astrojs/starlight-docsearch': specifier: ^0.6.1 - version: 0.6.1(@algolia/client-search@5.46.2)(@astrojs/starlight@0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)))(search-insights@2.17.3) + version: 0.6.1(@algolia/client-search@5.47.0)(@astrojs/starlight@0.37.5(astro@5.17.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0)(typescript@5.9.3)))(search-insights@2.17.3) '@astrojs/vue': specifier: ^5.1.4 - version: 5.1.4(@types/node@25.0.2)(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3))(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(vue@3.5.27(typescript@5.9.3)) + version: 5.1.4(@types/node@25.0.2)(astro@5.17.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0)(typescript@5.9.3))(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0)(vue@3.5.27(typescript@5.9.3)) '@tailwindcss/vite': specifier: ^4.1.18 - version: 4.1.18(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)) + version: 4.1.18(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0)) astro: - specifier: ^5.16.6 - version: 5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3) + specifier: ^5.17.1 + version: 5.17.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0)(typescript@5.9.3) astro-mermaid: - specifier: ^1.2.0 - version: 1.2.0(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3))(mermaid@11.12.2) + specifier: ^1.3.1 + version: 1.3.1(astro@5.17.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0)(typescript@5.9.3))(mermaid@11.12.2) mermaid: specifier: ^11.12.2 version: 11.12.2 @@ -33,14 +33,14 @@ importers: specifier: ^2.43.2 version: 2.43.2(vue@3.5.27(typescript@5.9.3)) sharp: - specifier: ^0.34.2 + specifier: ^0.34.5 version: 0.34.5 starlight-giscus: specifier: ^0.8.1 - version: 0.8.1(@astrojs/starlight@0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3))) + version: 0.8.1(@astrojs/starlight@0.37.5(astro@5.17.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0)(typescript@5.9.3))) starlight-image-zoom: specifier: ^0.13.2 - version: 0.13.2(@astrojs/starlight@0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3))) + version: 0.13.2(@astrojs/starlight@0.37.5(astro@5.17.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0)(typescript@5.9.3))) starlight-sidebar-topics: specifier: ^0.6.2 version: 0.6.2(@astrojs/starlight@0.37.5(astro@5.17.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0)(typescript@5.9.3))) @@ -50,16 +50,16 @@ importers: devDependencies: '@vite-pwa/astro': specifier: ^1.2.0 - version: 1.2.0(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3))(vite-plugin-pwa@1.2.0(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1))(workbox-build@7.4.0)(workbox-window@7.4.0)) + version: 1.2.0(astro@5.17.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0)(typescript@5.9.3))(vite-plugin-pwa@1.2.0(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0))(workbox-build@7.4.0)(workbox-window@7.4.0)) starlight-contributor-list: - specifier: ^0.3.1 - version: 0.3.1(@astrojs/starlight@0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3))) + specifier: ^0.3.2 + version: 0.3.2(@astrojs/starlight@0.37.5(astro@5.17.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0)(typescript@5.9.3))) starlight-links-validator: specifier: ^0.19.2 - version: 0.19.2(@astrojs/starlight@0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)))(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)) + version: 0.19.2(@astrojs/starlight@0.37.5(astro@5.17.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0)(typescript@5.9.3)))(astro@5.17.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0)(typescript@5.9.3)) starlight-scroll-to-top: specifier: ^0.4.0 - version: 0.4.0(@astrojs/starlight@0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3))) + version: 0.4.0(@astrojs/starlight@0.37.5(astro@5.17.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0)(typescript@5.9.3))) tailwindcss: specifier: ^4.1.18 version: 4.1.18 @@ -73,8 +73,8 @@ packages: resolution: {integrity: sha512-yIiLM5ziBmg86i4TlXpBdcIygJHvh/GgPJyAiFOckO9H4y9cQDM8eIcJCUQ4Mum0NEVui/OjhEut2R08xw0vlQ==} engines: {node: '>=14'} - '@algolia/abtesting@1.12.2': - resolution: {integrity: sha512-oWknd6wpfNrmRcH0vzed3UPX0i17o4kYLM5OMITyMVM2xLgaRbIafoxL0e8mcrNNb0iORCJA0evnNDKRYth5WQ==} + '@algolia/abtesting@1.13.0': + resolution: {integrity: sha512-Zrqam12iorp3FjiKMXSTpedGYznZ3hTEOAr2oCxI8tbF8bS1kQHClyDYNq/eV0ewMNLyFkgZVWjaS+8spsOYiQ==} engines: {node: '>= 14.0.0'} '@algolia/autocomplete-core@1.17.9': @@ -97,56 +97,56 @@ packages: '@algolia/client-search': '>= 4.9.1 < 6' algoliasearch: '>= 4.9.1 < 6' - '@algolia/client-abtesting@5.46.2': - resolution: {integrity: sha512-oRSUHbylGIuxrlzdPA8FPJuwrLLRavOhAmFGgdAvMcX47XsyM+IOGa9tc7/K5SPvBqn4nhppOCEz7BrzOPWc4A==} + '@algolia/client-abtesting@5.47.0': + resolution: {integrity: sha512-aOpsdlgS9xTEvz47+nXmw8m0NtUiQbvGWNuSEb7fA46iPL5FxOmOUZkh8PREBJpZ0/H8fclSc7BMJCVr+Dn72w==} engines: {node: '>= 14.0.0'} - '@algolia/client-analytics@5.46.2': - resolution: {integrity: sha512-EPBN2Oruw0maWOF4OgGPfioTvd+gmiNwx0HmD9IgmlS+l75DatcBkKOPNJN+0z3wBQWUO5oq602ATxIfmTQ8bA==} + '@algolia/client-analytics@5.47.0': + resolution: {integrity: sha512-EcF4w7IvIk1sowrO7Pdy4Ako7x/S8+nuCgdk6En+u5jsaNQM4rTT09zjBPA+WQphXkA2mLrsMwge96rf6i7Mow==} engines: {node: '>= 14.0.0'} - '@algolia/client-common@5.46.2': - resolution: {integrity: sha512-Hj8gswSJNKZ0oyd0wWissqyasm+wTz1oIsv5ZmLarzOZAp3vFEda8bpDQ8PUhO+DfkbiLyVnAxsPe4cGzWtqkg==} + '@algolia/client-common@5.47.0': + resolution: {integrity: sha512-Wzg5Me2FqgRDj0lFuPWFK05UOWccSMsIBL2YqmTmaOzxVlLZ+oUqvKbsUSOE5ud8Fo1JU7JyiLmEXBtgDKzTwg==} engines: {node: '>= 14.0.0'} - '@algolia/client-insights@5.46.2': - resolution: {integrity: sha512-6dBZko2jt8FmQcHCbmNLB0kCV079Mx/DJcySTL3wirgDBUH7xhY1pOuUTLMiGkqM5D8moVZTvTdRKZUJRkrwBA==} + '@algolia/client-insights@5.47.0': + resolution: {integrity: sha512-Ci+cn/FDIsDxSKMRBEiyKrqybblbk8xugo6ujDN1GSTv9RIZxwxqZYuHfdLnLEwLlX7GB8pqVyqrUSlRnR+sJA==} engines: {node: '>= 14.0.0'} - '@algolia/client-personalization@5.46.2': - resolution: {integrity: sha512-1waE2Uqh/PHNeDXGn/PM/WrmYOBiUGSVxAWqiJIj73jqPqvfzZgzdakHscIVaDl6Cp+j5dwjsZ5LCgaUr6DtmA==} + '@algolia/client-personalization@5.47.0': + resolution: {integrity: sha512-gsLnHPZmWcX0T3IigkDL2imCNtsQ7dR5xfnwiFsb+uTHCuYQt+IwSNjsd8tok6HLGLzZrliSaXtB5mfGBtYZvQ==} engines: {node: '>= 14.0.0'} - '@algolia/client-query-suggestions@5.46.2': - resolution: {integrity: sha512-EgOzTZkyDcNL6DV0V/24+oBJ+hKo0wNgyrOX/mePBM9bc9huHxIY2352sXmoZ648JXXY2x//V1kropF/Spx83w==} + '@algolia/client-query-suggestions@5.47.0': + resolution: {integrity: sha512-PDOw0s8WSlR2fWFjPQldEpmm/gAoUgLigvC3k/jCSi/DzigdGX6RdC0Gh1RR1P8Cbk5KOWYDuL3TNzdYwkfDyA==} engines: {node: '>= 14.0.0'} - '@algolia/client-search@5.46.2': - resolution: {integrity: sha512-ZsOJqu4HOG5BlvIFnMU0YKjQ9ZI6r3C31dg2jk5kMWPSdhJpYL9xa5hEe7aieE+707dXeMI4ej3diy6mXdZpgA==} + '@algolia/client-search@5.47.0': + resolution: {integrity: sha512-b5hlU69CuhnS2Rqgsz7uSW0t4VqrLMLTPbUpEl0QVz56rsSwr1Sugyogrjb493sWDA+XU1FU5m9eB8uH7MoI0g==} engines: {node: '>= 14.0.0'} - '@algolia/ingestion@1.46.2': - resolution: {integrity: sha512-1Uw2OslTWiOFDtt83y0bGiErJYy5MizadV0nHnOoHFWMoDqWW0kQoMFI65pXqRSkVvit5zjXSLik2xMiyQJDWQ==} + '@algolia/ingestion@1.47.0': + resolution: {integrity: sha512-WvwwXp5+LqIGISK3zHRApLT1xkuEk320/EGeD7uYy+K8WwDd5OjXnhjuXRhYr1685KnkvWkq1rQ/ihCJjOfHpQ==} engines: {node: '>= 14.0.0'} - '@algolia/monitoring@1.46.2': - resolution: {integrity: sha512-xk9f+DPtNcddWN6E7n1hyNNsATBCHIqAvVGG2EAGHJc4AFYL18uM/kMTiOKXE/LKDPyy1JhIerrh9oYb7RBrgw==} + '@algolia/monitoring@1.47.0': + resolution: {integrity: sha512-j2EUFKAlzM0TE4GRfkDE3IDfkVeJdcbBANWzK16Tb3RHz87WuDfQ9oeEW6XiRE1/bEkq2xf4MvZesvSeQrZRDA==} engines: {node: '>= 14.0.0'} - '@algolia/recommend@5.46.2': - resolution: {integrity: sha512-NApbTPj9LxGzNw4dYnZmj2BoXiAc8NmbbH6qBNzQgXklGklt/xldTvu+FACN6ltFsTzoNU6j2mWNlHQTKGC5+Q==} + '@algolia/recommend@5.47.0': + resolution: {integrity: sha512-+kTSE4aQ1ARj2feXyN+DMq0CIDHJwZw1kpxIunedkmpWUg8k3TzFwWsMCzJVkF2nu1UcFbl7xsIURz3Q3XwOXA==} engines: {node: '>= 14.0.0'} - '@algolia/requester-browser-xhr@5.46.2': - resolution: {integrity: sha512-ekotpCwpSp033DIIrsTpYlGUCF6momkgupRV/FA3m62SreTSZUKjgK6VTNyG7TtYfq9YFm/pnh65bATP/ZWJEg==} + '@algolia/requester-browser-xhr@5.47.0': + resolution: {integrity: sha512-Ja+zPoeSA2SDowPwCNRbm5Q2mzDvVV8oqxCQ4m6SNmbKmPlCfe30zPfrt9ho3kBHnsg37pGucwOedRIOIklCHw==} engines: {node: '>= 14.0.0'} - '@algolia/requester-fetch@5.46.2': - resolution: {integrity: sha512-gKE+ZFi/6y7saTr34wS0SqYFDcjHW4Wminv8PDZEi0/mE99+hSrbKgJWxo2ztb5eqGirQTgIh1AMVacGGWM1iw==} + '@algolia/requester-fetch@5.47.0': + resolution: {integrity: sha512-N6nOvLbaR4Ge+oVm7T4W/ea1PqcSbsHR4O58FJ31XtZjFPtOyxmnhgCmGCzP9hsJI6+x0yxJjkW5BMK/XI8OvA==} engines: {node: '>= 14.0.0'} - '@algolia/requester-node-http@5.46.2': - resolution: {integrity: sha512-ciPihkletp7ttweJ8Zt+GukSVLp2ANJHU+9ttiSxsJZThXc4Y2yJ8HGVWesW5jN1zrsZsezN71KrMx/iZsOYpg==} + '@algolia/requester-node-http@5.47.0': + resolution: {integrity: sha512-z1oyLq5/UVkohVXNDEY70mJbT/sv/t6HYtCvCwNrOri6pxBJDomP9R83KOlwcat+xqBQEdJHjbrPh36f1avmZA==} engines: {node: '>= 14.0.0'} '@antfu/install-pkg@1.1.0': @@ -155,11 +155,6 @@ packages: '@antfu/utils@0.7.10': resolution: {integrity: sha512-+562v9k4aI80m1+VuMHehNJWLOFjBnXn3tdOitzD0il5b7smkSBal4+a3oKiQTbrwMmN/TBUMDvbdoWDehgOww==} - '@anthropic-ai/claude-code@1.0.128': - resolution: {integrity: sha512-uUg5cFMJfeQetQzFw76Vpbro6DAXst2Lpu8aoZWRFSoQVYu5ZSAnbBoxaWmW/IgnHSqIIvtMwzCoqmcA9j9rNQ==} - engines: {node: '>=18.0.0'} - hasBin: true - '@apideck/better-ajv-errors@0.3.6': resolution: {integrity: sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==} engines: {node: '>=10'} @@ -185,16 +180,16 @@ packages: resolution: {integrity: sha512-q8VwfU/fDZNoDOf+r7jUnMC2//H2l0TuQ6FkGJL8vD8nw/q5KiL3DS1KKBI3QhI9UQhpJ5dc7AtqfbXWuOgLCQ==} engines: {node: 18.20.8 || ^20.3.0 || >=22.0.0} - '@astrojs/sitemap@3.6.0': - resolution: {integrity: sha512-4aHkvcOZBWJigRmMIAJwRQXBS+ayoP5z40OklTXYXhUDhwusz+DyDl+nSshY6y9DvkVEavwNcFO8FD81iGhXjg==} + '@astrojs/sitemap@3.7.0': + resolution: {integrity: sha512-+qxjUrz6Jcgh+D5VE1gKUJTA3pSthuPHe6Ao5JCxok794Lewx8hBFaWHtOnN0ntb2lfOf7gvOi9TefUswQ/ZVA==} '@astrojs/starlight-docsearch@0.6.1': resolution: {integrity: sha512-ezgE5bGAuSU5/+W7j3AAika/NL15ox3RKDSzq4sGroKlEPGo8PuJyn/3Q1RcoWYhRhkKSOGBFa5tQwuPiXk6Qw==} peerDependencies: '@astrojs/starlight': '>=0.32.0' - '@astrojs/starlight@0.37.1': - resolution: {integrity: sha512-STNsR5PaDoiW4IgcX17Fp42FfyqwuweWPts/EWEMcFPAeg9Nvpu3UvVCorasYrgfJgaJTeydsOV++0ACA1KYDA==} + '@astrojs/starlight@0.37.5': + resolution: {integrity: sha512-+pC2pgy0iR9Ucl1P4CE0jyfsoNKcUSB2RIoBwm4UnyyhtlaEjoSU7MZwa5IJkzS9sBgIbLbLgYVbkC4tHN8rkQ==} peerDependencies: astro: ^5.5.0 @@ -209,24 +204,16 @@ packages: astro: ^5.0.0 vue: ^3.2.30 - '@babel/code-frame@7.27.1': - resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} - engines: {node: '>=6.9.0'} - '@babel/code-frame@7.29.0': resolution: {integrity: sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==} engines: {node: '>=6.9.0'} - '@babel/compat-data@7.28.5': - resolution: {integrity: sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==} - engines: {node: '>=6.9.0'} - - '@babel/core@7.28.5': - resolution: {integrity: sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==} + '@babel/compat-data@7.29.0': + resolution: {integrity: sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==} engines: {node: '>=6.9.0'} - '@babel/generator@7.28.5': - resolution: {integrity: sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==} + '@babel/core@7.29.0': + resolution: {integrity: sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==} engines: {node: '>=6.9.0'} '@babel/generator@7.29.0': @@ -237,8 +224,8 @@ packages: resolution: {integrity: sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==} engines: {node: '>=6.9.0'} - '@babel/helper-compilation-targets@7.27.2': - resolution: {integrity: sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==} + '@babel/helper-compilation-targets@7.28.6': + resolution: {integrity: sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==} engines: {node: '>=6.9.0'} '@babel/helper-create-class-features-plugin@7.28.6': @@ -253,8 +240,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-define-polyfill-provider@0.6.5': - resolution: {integrity: sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg==} + '@babel/helper-define-polyfill-provider@0.6.6': + resolution: {integrity: sha512-mOAsxeeKkUKayvZR3HeTYD/fICpCPLJrU5ZjelT/PA6WHtNDBOE436YiaEUvHN454bRM3CebhDsIpieCc4texA==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 @@ -266,12 +253,12 @@ packages: resolution: {integrity: sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg==} engines: {node: '>=6.9.0'} - '@babel/helper-module-imports@7.27.1': - resolution: {integrity: sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==} + '@babel/helper-module-imports@7.28.6': + resolution: {integrity: sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==} engines: {node: '>=6.9.0'} - '@babel/helper-module-transforms@7.28.3': - resolution: {integrity: sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==} + '@babel/helper-module-transforms@7.28.6': + resolution: {integrity: sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -280,10 +267,6 @@ packages: resolution: {integrity: sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==} engines: {node: '>=6.9.0'} - '@babel/helper-plugin-utils@7.27.1': - resolution: {integrity: sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==} - engines: {node: '>=6.9.0'} - '@babel/helper-plugin-utils@7.28.6': resolution: {integrity: sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==} engines: {node: '>=6.9.0'} @@ -316,19 +299,14 @@ packages: resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==} engines: {node: '>=6.9.0'} - '@babel/helper-wrap-function@7.28.3': - resolution: {integrity: sha512-zdf983tNfLZFletc0RRXYrHrucBEg95NIFMkn6K9dbeMYnsgHaSBGcQqdsCSStG2PYwRre0Qc2NNSCXbG+xc6g==} + '@babel/helper-wrap-function@7.28.6': + resolution: {integrity: sha512-z+PwLziMNBeSQJonizz2AGnndLsP2DeGHIxDAn+wdHOGuo4Fo1x1HBPPXeE9TAOPHNNWQKCSlA2VZyYyyibDnQ==} engines: {node: '>=6.9.0'} - '@babel/helpers@7.28.4': - resolution: {integrity: sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==} + '@babel/helpers@7.28.6': + resolution: {integrity: sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==} engines: {node: '>=6.9.0'} - '@babel/parser@7.28.5': - resolution: {integrity: sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==} - engines: {node: '>=6.0.0'} - hasBin: true - '@babel/parser@7.29.0': resolution: {integrity: sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==} engines: {node: '>=6.0.0'} @@ -358,8 +336,8 @@ packages: peerDependencies: '@babel/core': ^7.13.0 - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.28.3': - resolution: {integrity: sha512-b6YTX108evsvE4YgWyQ921ZAFFQm3Bn+CA3+ZXlNVnPhx+UfsVURoPjfGAPCjBgrqo30yX/C2nZGX96DxvR9Iw==} + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.28.6': + resolution: {integrity: sha512-a0aBScVTlNaiUe35UtfxAN7A/tehvvG4/ByO6+46VPKTRSlfnAFsgKy0FUh+qAkQrDTmhDkT+IBOKlOoMUxQ0g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -382,14 +360,14 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-import-assertions@7.27.1': - resolution: {integrity: sha512-UT/Jrhw57xg4ILHLFnzFpPDlMbcdEicaAtjPQpbj9wa8T4r5KVWCimHcL/460g8Ht0DMxDyjsLgiWSkVjnwPFg==} + '@babel/plugin-syntax-import-assertions@7.28.6': + resolution: {integrity: sha512-pSJUpFHdx9z5nqTSirOCMtYVP2wFgoWhP0p3g8ONK/4IHhLIBd0B9NYqAvIUAhq+OkhO4VM1tENCt0cjlsNShw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-import-attributes@7.27.1': - resolution: {integrity: sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==} + '@babel/plugin-syntax-import-attributes@7.28.6': + resolution: {integrity: sha512-jiLC0ma9XkQT3TKJ9uYvlakm66Pamywo+qwL+oL8HJOvc6TWdZXVfhqJr8CCzbSGUAbDOzlGHJC1U+vRfLQDvw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -423,14 +401,14 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-async-generator-functions@7.28.0': - resolution: {integrity: sha512-BEOdvX4+M765icNPZeidyADIvQ1m1gmunXufXxvRESy/jNNyfovIqUyE7MVgGBjWktCoJlzvFA1To2O4ymIO3Q==} + '@babel/plugin-transform-async-generator-functions@7.29.0': + resolution: {integrity: sha512-va0VdWro4zlBr2JsXC+ofCPB2iG12wPtVGTWFx2WLDOM3nYQZZIGP82qku2eW/JR83sD+k2k+CsNtyEbUqhU6w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-async-to-generator@7.27.1': - resolution: {integrity: sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA==} + '@babel/plugin-transform-async-to-generator@7.28.6': + resolution: {integrity: sha512-ilTRcmbuXjsMmcZ3HASTe4caH5Tpo93PkTxF9oG2VZsSWsahydmcEHhix9Ik122RcTnZnUzPbmux4wh1swfv7g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -441,32 +419,32 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-block-scoping@7.28.5': - resolution: {integrity: sha512-45DmULpySVvmq9Pj3X9B+62Xe+DJGov27QravQJU1LLcapR6/10i+gYVAucGGJpHBp5mYxIMK4nDAT/QDLr47g==} + '@babel/plugin-transform-block-scoping@7.28.6': + resolution: {integrity: sha512-tt/7wOtBmwHPNMPu7ax4pdPz6shjFrmHDghvNC+FG9Qvj7D6mJcoRQIF5dy4njmxR941l6rgtvfSB2zX3VlUIw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-class-properties@7.27.1': - resolution: {integrity: sha512-D0VcalChDMtuRvJIu3U/fwWjf8ZMykz5iZsg77Nuj821vCKI3zCyRLwRdWbsuJ/uRwZhZ002QtCqIkwC/ZkvbA==} + '@babel/plugin-transform-class-properties@7.28.6': + resolution: {integrity: sha512-dY2wS3I2G7D697VHndN91TJr8/AAfXQNt5ynCTI/MpxMsSzHp+52uNivYT5wCPax3whc47DR8Ba7cmlQMg24bw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-class-static-block@7.28.3': - resolution: {integrity: sha512-LtPXlBbRoc4Njl/oh1CeD/3jC+atytbnf/UqLoqTDcEYGUPj022+rvfkbDYieUrSj3CaV4yHDByPE+T2HwfsJg==} + '@babel/plugin-transform-class-static-block@7.28.6': + resolution: {integrity: sha512-rfQ++ghVwTWTqQ7w8qyDxL1XGihjBss4CmTgGRCTAC9RIbhVpyp4fOeZtta0Lbf+dTNIVJer6ych2ibHwkZqsQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.12.0 - '@babel/plugin-transform-classes@7.28.4': - resolution: {integrity: sha512-cFOlhIYPBv/iBoc+KS3M6et2XPtbT2HiCRfBXWtfpc9OAyostldxIf9YAYB6ypURBBbx+Qv6nyrLzASfJe+hBA==} + '@babel/plugin-transform-classes@7.28.6': + resolution: {integrity: sha512-EF5KONAqC5zAqT783iMGuM2ZtmEBy+mJMOKl2BCvPZ2lVrwvXnB6o+OBWCS+CoeCCpVRF2sA2RBKUxvT8tQT5Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-computed-properties@7.27.1': - resolution: {integrity: sha512-lj9PGWvMTVksbWiDT2tW68zGS/cyo4AkZ/QTp0sQT0mjPopCmrSkzxeXkznjqBxzDI6TclZhOJbBmbBLjuOZUw==} + '@babel/plugin-transform-computed-properties@7.28.6': + resolution: {integrity: sha512-bcc3k0ijhHbc2lEfpFHgx7eYw9KNXqOerKWfzbxEHUGKnS3sz9C4CNL9OiFN1297bDNfUiSO7DaLzbvHQQQ1BQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -477,8 +455,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-dotall-regex@7.27.1': - resolution: {integrity: sha512-gEbkDVGRvjj7+T1ivxrfgygpT7GUd4vmODtYpbs0gZATdkX8/iSnOtZSxiZnsgm1YjTgjI6VKBGSJJevkrclzw==} + '@babel/plugin-transform-dotall-regex@7.28.6': + resolution: {integrity: sha512-SljjowuNKB7q5Oayv4FoPzeB74g3QgLt8IVJw9ADvWy3QnUb/01aw8I4AVv8wYnPvQz2GDDZ/g3GhcNyDBI4Bg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -489,8 +467,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.27.1': - resolution: {integrity: sha512-hkGcueTEzuhB30B3eJCbCYeCaaEQOmQR0AdvzpD4LoN0GXMWzzGSuRrxR2xTnCrvNbVwK9N6/jQ92GSLfiZWoQ==} + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.29.0': + resolution: {integrity: sha512-zBPcW2lFGxdiD8PUnPwJjag2J9otbcLQzvbiOzDxpYXyCuYX9agOwMPGn1prVH0a4qzhCKu24rlH4c1f7yA8rw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -501,14 +479,14 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-explicit-resource-management@7.28.0': - resolution: {integrity: sha512-K8nhUcn3f6iB+P3gwCv/no7OdzOZQcKchW6N389V6PD8NUWKZHzndOd9sPDVbMoBsbmjMqlB4L9fm+fEFNVlwQ==} + '@babel/plugin-transform-explicit-resource-management@7.28.6': + resolution: {integrity: sha512-Iao5Konzx2b6g7EPqTy40UZbcdXE126tTxVFr/nAIj+WItNxjKSYTEw3RC+A2/ZetmdJsgueL1KhaMCQHkLPIg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-exponentiation-operator@7.28.5': - resolution: {integrity: sha512-D4WIMaFtwa2NizOp+dnoFjRez/ClKiC2BqqImwKd1X28nqBtZEyCYJ2ozQrrzlxAFrcrjxo39S6khe9RNDlGzw==} + '@babel/plugin-transform-exponentiation-operator@7.28.6': + resolution: {integrity: sha512-WitabqiGjV/vJ0aPOLSFfNY1u9U3R7W36B03r5I2KoNix+a3sOhJ3pKFB3R5It9/UiK78NiO0KE9P21cMhlPkw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -531,8 +509,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-json-strings@7.27.1': - resolution: {integrity: sha512-6WVLVJiTjqcQauBhn1LkICsR2H+zm62I3h9faTDKt1qP4jn2o72tSvqMwtGFKGTpojce0gJs+76eZ2uCHRZh0Q==} + '@babel/plugin-transform-json-strings@7.28.6': + resolution: {integrity: sha512-Nr+hEN+0geQkzhbdgQVPoqr47lZbm+5fCUmO70722xJZd0Mvb59+33QLImGj6F+DkK3xgDi1YVysP8whD6FQAw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -543,8 +521,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-logical-assignment-operators@7.28.5': - resolution: {integrity: sha512-axUuqnUTBuXyHGcJEVVh9pORaN6wC5bYfE7FGzPiaWa3syib9m7g+/IT/4VgCOe2Upef43PHzeAvcrVek6QuuA==} + '@babel/plugin-transform-logical-assignment-operators@7.28.6': + resolution: {integrity: sha512-+anKKair6gpi8VsM/95kmomGNMD0eLz1NQ8+Pfw5sAwWH9fGYXT50E55ZpV0pHUHWf6IUTWPM+f/7AAff+wr9A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -561,14 +539,14 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-modules-commonjs@7.27.1': - resolution: {integrity: sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==} + '@babel/plugin-transform-modules-commonjs@7.28.6': + resolution: {integrity: sha512-jppVbf8IV9iWWwWTQIxJMAJCWBuuKx71475wHwYytrRGQ2CWiDvYlADQno3tcYpS/T2UUWFQp3nVtYfK/YBQrA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-modules-systemjs@7.28.5': - resolution: {integrity: sha512-vn5Jma98LCOeBy/KpeQhXcV2WZgaRUtjwQmjoBuLNlOmkg0fB5pdvYVeWRYI69wWKwK2cD1QbMiUQnoujWvrew==} + '@babel/plugin-transform-modules-systemjs@7.29.0': + resolution: {integrity: sha512-PrujnVFbOdUpw4UHiVwKvKRLMMic8+eC0CuNlxjsyZUiBjhFdPsewdXCkveh2KqBA9/waD0W1b4hXSOBQJezpQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -579,8 +557,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-named-capturing-groups-regex@7.27.1': - resolution: {integrity: sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng==} + '@babel/plugin-transform-named-capturing-groups-regex@7.29.0': + resolution: {integrity: sha512-1CZQA5KNAD6ZYQLPw7oi5ewtDNxH/2vuCh+6SmvgDfhumForvs8a1o9n0UrEoBD8HU4djO2yWngTQlXl1NDVEQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -591,20 +569,20 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-nullish-coalescing-operator@7.27.1': - resolution: {integrity: sha512-aGZh6xMo6q9vq1JGcw58lZ1Z0+i0xB2x0XaauNIUXd6O1xXc3RwoWEBlsTQrY4KQ9Jf0s5rgD6SiNkaUdJegTA==} + '@babel/plugin-transform-nullish-coalescing-operator@7.28.6': + resolution: {integrity: sha512-3wKbRgmzYbw24mDJXT7N+ADXw8BC/imU9yo9c9X9NKaLF1fW+e5H1U5QjMUBe4Qo4Ox/o++IyUkl1sVCLgevKg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-numeric-separator@7.27.1': - resolution: {integrity: sha512-fdPKAcujuvEChxDBJ5c+0BTaS6revLV7CJL08e4m3de8qJfNIuCc2nc7XJYOjBoTMJeqSmwXJ0ypE14RCjLwaw==} + '@babel/plugin-transform-numeric-separator@7.28.6': + resolution: {integrity: sha512-SJR8hPynj8outz+SlStQSwvziMN4+Bq99it4tMIf5/Caq+3iOc0JtKyse8puvyXkk3eFRIA5ID/XfunGgO5i6w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-object-rest-spread@7.28.4': - resolution: {integrity: sha512-373KA2HQzKhQCYiRVIRr+3MjpCObqzDlyrM6u4I201wL8Mp2wHf7uB8GhDwis03k2ti8Zr65Zyyqs1xOxUF/Ew==} + '@babel/plugin-transform-object-rest-spread@7.28.6': + resolution: {integrity: sha512-5rh+JR4JBC4pGkXLAcYdLHZjXudVxWMXbB6u6+E9lRL5TrGVbHt1TjxGbZ8CkmYw9zjkB7jutzOROArsqtncEA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -615,14 +593,14 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-optional-catch-binding@7.27.1': - resolution: {integrity: sha512-txEAEKzYrHEX4xSZN4kJ+OfKXFVSWKB2ZxM9dpcE3wT7smwkNmXo5ORRlVzMVdJbD+Q8ILTgSD7959uj+3Dm3Q==} + '@babel/plugin-transform-optional-catch-binding@7.28.6': + resolution: {integrity: sha512-R8ja/Pyrv0OGAvAXQhSTmWyPJPml+0TMqXlO5w+AsMEiwb2fg3WkOvob7UxFSL3OIttFSGSRFKQsOhJ/X6HQdQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-optional-chaining@7.28.5': - resolution: {integrity: sha512-N6fut9IZlPnjPwgiQkXNhb+cT8wQKFlJNqcZkWlcTqkcqx6/kU4ynGmLFoa4LViBSirn05YAwk+sQBbPfxtYzQ==} + '@babel/plugin-transform-optional-chaining@7.28.6': + resolution: {integrity: sha512-A4zobikRGJTsX9uqVFdafzGkqD30t26ck2LmOzAuLL8b2x6k3TIqRiT2xVvA9fNmFeTX484VpsdgmKNA0bS23w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -633,14 +611,14 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-private-methods@7.27.1': - resolution: {integrity: sha512-10FVt+X55AjRAYI9BrdISN9/AQWHqldOeZDUoLyif1Kn05a56xVBXb8ZouL8pZ9jem8QpXaOt8TS7RHUIS+GPA==} + '@babel/plugin-transform-private-methods@7.28.6': + resolution: {integrity: sha512-piiuapX9CRv7+0st8lmuUlRSmX6mBcVeNQ1b4AYzJxfCMuBfB0vBXDiGSmm03pKJw1v6cZ8KSeM+oUnM6yAExg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-private-property-in-object@7.27.1': - resolution: {integrity: sha512-5J+IhqTi1XPa0DXF83jYOaARrX+41gOewWbkPyjMNRDqgOCqdffGh8L3f/Ek5utaEBZExjSAzcyjmV9SSAWObQ==} + '@babel/plugin-transform-private-property-in-object@7.28.6': + resolution: {integrity: sha512-b97jvNSOb5+ehyQmBpmhOCiUC5oVK4PMnpRvO7+ymFBoqYjeDHIU9jnrNUuwHOiL9RpGDoKBpSViarV+BU+eVA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -651,14 +629,14 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-regenerator@7.28.4': - resolution: {integrity: sha512-+ZEdQlBoRg9m2NnzvEeLgtvBMO4tkFBw5SQIUgLICgTrumLoU7lr+Oghi6km2PFj+dbUt2u1oby2w3BDO9YQnA==} + '@babel/plugin-transform-regenerator@7.29.0': + resolution: {integrity: sha512-FijqlqMA7DmRdg/aINBSs04y8XNTYw/lr1gJ2WsmBnnaNw1iS43EPkJW+zK7z65auG3AWRFXWj+NcTQwYptUog==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-regexp-modifiers@7.27.1': - resolution: {integrity: sha512-TtEciroaiODtXvLZv4rmfMhkCv8jx3wgKpL68PuiPh2M4fvz5jhsA7697N1gMvkvr/JTF13DrFYyEbY9U7cVPA==} + '@babel/plugin-transform-regexp-modifiers@7.28.6': + resolution: {integrity: sha512-QGWAepm9qxpaIs7UM9FvUSnCGlb8Ua1RhyM4/veAxLwt3gMat/LSGrZixyuj4I6+Kn9iwvqCyPTtbdxanYoWYg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -675,8 +653,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-spread@7.27.1': - resolution: {integrity: sha512-kpb3HUqaILBJcRFVhFUs6Trdd4mkrzcGXss+6/mxUd273PfbWqSDHRzMT2234gIg2QYfAjvXLSquP1xECSg09Q==} + '@babel/plugin-transform-spread@7.28.6': + resolution: {integrity: sha512-9U4QObUC0FtJl05AsUcodau/RWDytrU6uKgkxu09mLR9HLDAtUMoPuuskm5huQsoktmsYpI+bGmq+iapDcriKA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -711,8 +689,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-unicode-property-regex@7.27.1': - resolution: {integrity: sha512-uW20S39PnaTImxp39O5qFlHLS9LJEmANjMG7SxIhap8rCHqu0Ik+tLEPX5DKmHn6CsWQ7j3lix2tFOa5YtL12Q==} + '@babel/plugin-transform-unicode-property-regex@7.28.6': + resolution: {integrity: sha512-4Wlbdl/sIZjzi/8St0evF0gEZrgOswVO6aOzqxh1kDZOl9WmLrHq2HtGhnOJZmHZYKP8WZ1MDLCt5DAWwRo57A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -723,14 +701,14 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-unicode-sets-regex@7.27.1': - resolution: {integrity: sha512-EtkOujbc4cgvb0mlpQefi4NTPBzhSIevblFevACNLUspmrALgmEBdL/XfnyyITfd8fKBZrZys92zOWcik7j9Tw==} + '@babel/plugin-transform-unicode-sets-regex@7.28.6': + resolution: {integrity: sha512-/wHc/paTUmsDYN7SZkpWxogTOBNnlx7nBQYfy6JJlCT7G3mVhltk3e++N7zV0XfgGsrqBxd4rJQt9H16I21Y1Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/preset-env@7.28.5': - resolution: {integrity: sha512-S36mOoi1Sb6Fz98fBfE+UZSpYw5mJm0NUHtIKrOuNcqeFauy1J6dIvXm2KRVKobOSaGq4t/hBXdN4HGU3wL9Wg==} + '@babel/preset-env@7.29.0': + resolution: {integrity: sha512-fNEdfc0yi16lt6IZo2Qxk3knHVdfMYX33czNb4v8yWhemoBhibCpQK/uYHtSKIiO+p/zd3+8fYVXhQdOVV608w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -740,42 +718,30 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 - '@babel/runtime@7.28.4': - resolution: {integrity: sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==} - engines: {node: '>=6.9.0'} - - '@babel/template@7.27.2': - resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==} + '@babel/runtime@7.28.6': + resolution: {integrity: sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==} engines: {node: '>=6.9.0'} '@babel/template@7.28.6': resolution: {integrity: sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==} engines: {node: '>=6.9.0'} - '@babel/traverse@7.28.5': - resolution: {integrity: sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==} - engines: {node: '>=6.9.0'} - '@babel/traverse@7.29.0': resolution: {integrity: sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==} engines: {node: '>=6.9.0'} - '@babel/types@7.28.5': - resolution: {integrity: sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==} - engines: {node: '>=6.9.0'} - '@babel/types@7.29.0': resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==} engines: {node: '>=6.9.0'} - '@braintree/sanitize-url@7.1.1': - resolution: {integrity: sha512-i1L7noDNxtFyL5DmZafWy1wRVhGehQmzZaz1HiN5e7iylJMSZR7ekOV7NsIqa5qBldlLrsKv4HbgFUVlQrz8Mw==} + '@braintree/sanitize-url@7.1.2': + resolution: {integrity: sha512-jigsZK+sMF/cuiB7sERuo9V7N9jx+dhmHHnQyDSVdpZwVutaBu7WvNYqMDLSgFgfB30n452TP3vjDAvFC973mA==} - '@bufbuild/protobuf@2.10.2': - resolution: {integrity: sha512-uFsRXwIGyu+r6AMdz+XijIIZJYpoWeYzILt5yZ2d3mCjQrWUTVpVD9WL/jZAbvp+Ed04rOhrsk7FiTcEDseB5A==} + '@bufbuild/protobuf@2.11.0': + resolution: {integrity: sha512-sBXGT13cpmPR5BMgHE6UEEfEaShh5Ror6rfN3yEK5si7QVrtZg8LEPQb0VVhiLRUslD2yLnXtnRzG035J/mZXQ==} - '@capsizecss/unpack@3.0.1': - resolution: {integrity: sha512-8XqW8xGn++Eqqbz3e9wKuK7mxryeRjs4LOHLxbh2lwKeSbuNR4NFifDZT4KzvjU6HMOPbiNTsWpniK5EJfTWkg==} + '@capsizecss/unpack@4.0.0': + resolution: {integrity: sha512-VERIM64vtTP1C4mxQ5thVT9fK0apjPFobqybMtA1UdUujWka24ERHbRHFGmpbbhp73MhV+KSsHQH9C6uOTdEQA==} engines: {node: '>=18'} '@chevrotain/cst-dts-gen@11.0.3': @@ -830,8 +796,8 @@ packages: search-insights: optional: true - '@emnapi/runtime@1.7.1': - resolution: {integrity: sha512-PVtJr5CmLwYAU9PZDMITZoR5iAOShYREoR45EyyLrbntV50mdePTgUn4AmOw90Ifcj+x2kRjdzr1HP3RrNiHGA==} + '@emnapi/runtime@1.8.1': + resolution: {integrity: sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg==} '@emotion/hash@0.8.0': resolution: {integrity: sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==} @@ -992,17 +958,17 @@ packages: cpu: [x64] os: [win32] - '@expressive-code/core@0.41.4': - resolution: {integrity: sha512-4eDiyq3hI3vJ0KnwIqonh9evy9p8aNixsf5wwnvDWcoPfYU3LGB6Nkb6WDdYS4z52tODCvN5gMRy1DtRopcxXg==} + '@expressive-code/core@0.41.6': + resolution: {integrity: sha512-FvJQP+hG0jWi/FLBSmvHInDqWR7jNANp9PUDjdMqSshHb0y7sxx3vHuoOr6SgXjWw+MGLqorZyPQ0aAlHEok6g==} - '@expressive-code/plugin-frames@0.41.4': - resolution: {integrity: sha512-W9jZW8LsPS8fW5T5CQyXUyyCrMxb7qfl6oxlLZB1rW74qM572Id4CWEXOM/7fFDcd1pW2fUxMoGzJMh0T2Awhg==} + '@expressive-code/plugin-frames@0.41.6': + resolution: {integrity: sha512-d+hkSYXIQot6fmYnOmWAM+7TNWRv/dhfjMsNq+mIZz8Tb4mPHOcgcfZeEM5dV9TDL0ioQNvtcqQNuzA1sRPjxg==} - '@expressive-code/plugin-shiki@0.41.4': - resolution: {integrity: sha512-zOc0tfWISODHnnpfRJyssTvSWVVe+gj08GcFYiR2a6M8fKF1w5CJkpgf7tTvnoUTuVmL1DHRmiQFUnpGjtRGog==} + '@expressive-code/plugin-shiki@0.41.6': + resolution: {integrity: sha512-Y6zmKBmsIUtWTzdefqlzm/h9Zz0Rc4gNdt2GTIH7fhHH2I9+lDYCa27BDwuBhjqcos6uK81Aca9dLUC4wzN+ng==} - '@expressive-code/plugin-text-markers@0.41.4': - resolution: {integrity: sha512-lGqbjtIuiY+UZ+z61kKIJAZtF7H5xoT8lkxANmeoVaat+H47O5A+rr5WLmD45ezprO/NTogxHsaMfqRCuQ4vlw==} + '@expressive-code/plugin-text-markers@0.41.6': + resolution: {integrity: sha512-PBFa1wGyYzRExMDzBmAWC6/kdfG1oLn4pLpBeTfIRrALPjcGA/59HP3e7q9J0Smk4pC7U+lWkA2LHR8FYV8U7Q==} '@iconify/types@2.0.0': resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} @@ -1014,65 +980,33 @@ packages: resolution: {integrity: sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw==} engines: {node: '>=18'} - '@img/sharp-darwin-arm64@0.33.5': - resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [arm64] - os: [darwin] - '@img/sharp-darwin-arm64@0.34.5': resolution: {integrity: sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [arm64] os: [darwin] - '@img/sharp-darwin-x64@0.33.5': - resolution: {integrity: sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [x64] - os: [darwin] - '@img/sharp-darwin-x64@0.34.5': resolution: {integrity: sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [x64] os: [darwin] - '@img/sharp-libvips-darwin-arm64@1.0.4': - resolution: {integrity: sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==} - cpu: [arm64] - os: [darwin] - '@img/sharp-libvips-darwin-arm64@1.2.4': resolution: {integrity: sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==} cpu: [arm64] os: [darwin] - '@img/sharp-libvips-darwin-x64@1.0.4': - resolution: {integrity: sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==} - cpu: [x64] - os: [darwin] - '@img/sharp-libvips-darwin-x64@1.2.4': resolution: {integrity: sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==} cpu: [x64] os: [darwin] - '@img/sharp-libvips-linux-arm64@1.0.4': - resolution: {integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==} - cpu: [arm64] - os: [linux] - '@img/sharp-libvips-linux-arm64@1.2.4': resolution: {integrity: sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==} cpu: [arm64] os: [linux] - '@img/sharp-libvips-linux-arm@1.0.5': - resolution: {integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==} - cpu: [arm] - os: [linux] - '@img/sharp-libvips-linux-arm@1.2.4': resolution: {integrity: sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==} cpu: [arm] @@ -1093,11 +1027,6 @@ packages: cpu: [s390x] os: [linux] - '@img/sharp-libvips-linux-x64@1.0.4': - resolution: {integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==} - cpu: [x64] - os: [linux] - '@img/sharp-libvips-linux-x64@1.2.4': resolution: {integrity: sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==} cpu: [x64] @@ -1113,24 +1042,12 @@ packages: cpu: [x64] os: [linux] - '@img/sharp-linux-arm64@0.33.5': - resolution: {integrity: sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [arm64] - os: [linux] - '@img/sharp-linux-arm64@0.34.5': resolution: {integrity: sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [arm64] os: [linux] - '@img/sharp-linux-arm@0.33.5': - resolution: {integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [arm] - os: [linux] - '@img/sharp-linux-arm@0.34.5': resolution: {integrity: sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} @@ -1155,12 +1072,6 @@ packages: cpu: [s390x] os: [linux] - '@img/sharp-linux-x64@0.33.5': - resolution: {integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [x64] - os: [linux] - '@img/sharp-linux-x64@0.34.5': resolution: {integrity: sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} @@ -1196,12 +1107,6 @@ packages: cpu: [ia32] os: [win32] - '@img/sharp-win32-x64@0.33.5': - resolution: {integrity: sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [x64] - os: [win32] - '@img/sharp-win32-x64@0.34.5': resolution: {integrity: sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} @@ -1284,86 +1189,86 @@ packages: cpu: [x64] os: [win32] - '@parcel/watcher-android-arm64@2.5.1': - resolution: {integrity: sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==} + '@parcel/watcher-android-arm64@2.5.6': + resolution: {integrity: sha512-YQxSS34tPF/6ZG7r/Ih9xy+kP/WwediEUsqmtf0cuCV5TPPKw/PQHRhueUo6JdeFJaqV3pyjm0GdYjZotbRt/A==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [android] - '@parcel/watcher-darwin-arm64@2.5.1': - resolution: {integrity: sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==} + '@parcel/watcher-darwin-arm64@2.5.6': + resolution: {integrity: sha512-Z2ZdrnwyXvvvdtRHLmM4knydIdU9adO3D4n/0cVipF3rRiwP+3/sfzpAwA/qKFL6i1ModaabkU7IbpeMBgiVEA==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [darwin] - '@parcel/watcher-darwin-x64@2.5.1': - resolution: {integrity: sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==} + '@parcel/watcher-darwin-x64@2.5.6': + resolution: {integrity: sha512-HgvOf3W9dhithcwOWX9uDZyn1lW9R+7tPZ4sug+NGrGIo4Rk1hAXLEbcH1TQSqxts0NYXXlOWqVpvS1SFS4fRg==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [darwin] - '@parcel/watcher-freebsd-x64@2.5.1': - resolution: {integrity: sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==} + '@parcel/watcher-freebsd-x64@2.5.6': + resolution: {integrity: sha512-vJVi8yd/qzJxEKHkeemh7w3YAn6RJCtYlE4HPMoVnCpIXEzSrxErBW5SJBgKLbXU3WdIpkjBTeUNtyBVn8TRng==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [freebsd] - '@parcel/watcher-linux-arm-glibc@2.5.1': - resolution: {integrity: sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==} + '@parcel/watcher-linux-arm-glibc@2.5.6': + resolution: {integrity: sha512-9JiYfB6h6BgV50CCfasfLf/uvOcJskMSwcdH1PHH9rvS1IrNy8zad6IUVPVUfmXr+u+Km9IxcfMLzgdOudz9EQ==} engines: {node: '>= 10.0.0'} cpu: [arm] os: [linux] - '@parcel/watcher-linux-arm-musl@2.5.1': - resolution: {integrity: sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==} + '@parcel/watcher-linux-arm-musl@2.5.6': + resolution: {integrity: sha512-Ve3gUCG57nuUUSyjBq/MAM0CzArtuIOxsBdQ+ftz6ho8n7s1i9E1Nmk/xmP323r2YL0SONs1EuwqBp2u1k5fxg==} engines: {node: '>= 10.0.0'} cpu: [arm] os: [linux] - '@parcel/watcher-linux-arm64-glibc@2.5.1': - resolution: {integrity: sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==} + '@parcel/watcher-linux-arm64-glibc@2.5.6': + resolution: {integrity: sha512-f2g/DT3NhGPdBmMWYoxixqYr3v/UXcmLOYy16Bx0TM20Tchduwr4EaCbmxh1321TABqPGDpS8D/ggOTaljijOA==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [linux] - '@parcel/watcher-linux-arm64-musl@2.5.1': - resolution: {integrity: sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==} + '@parcel/watcher-linux-arm64-musl@2.5.6': + resolution: {integrity: sha512-qb6naMDGlbCwdhLj6hgoVKJl2odL34z2sqkC7Z6kzir8b5W65WYDpLB6R06KabvZdgoHI/zxke4b3zR0wAbDTA==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [linux] - '@parcel/watcher-linux-x64-glibc@2.5.1': - resolution: {integrity: sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==} + '@parcel/watcher-linux-x64-glibc@2.5.6': + resolution: {integrity: sha512-kbT5wvNQlx7NaGjzPFu8nVIW1rWqV780O7ZtkjuWaPUgpv2NMFpjYERVi0UYj1msZNyCzGlaCWEtzc+exjMGbQ==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [linux] - '@parcel/watcher-linux-x64-musl@2.5.1': - resolution: {integrity: sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==} + '@parcel/watcher-linux-x64-musl@2.5.6': + resolution: {integrity: sha512-1JRFeC+h7RdXwldHzTsmdtYR/Ku8SylLgTU/reMuqdVD7CtLwf0VR1FqeprZ0eHQkO0vqsbvFLXUmYm/uNKJBg==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [linux] - '@parcel/watcher-win32-arm64@2.5.1': - resolution: {integrity: sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==} + '@parcel/watcher-win32-arm64@2.5.6': + resolution: {integrity: sha512-3ukyebjc6eGlw9yRt678DxVF7rjXatWiHvTXqphZLvo7aC5NdEgFufVwjFfY51ijYEWpXbqF5jtrK275z52D4Q==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [win32] - '@parcel/watcher-win32-ia32@2.5.1': - resolution: {integrity: sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==} + '@parcel/watcher-win32-ia32@2.5.6': + resolution: {integrity: sha512-k35yLp1ZMwwee3Ez/pxBi5cf4AoBKYXj00CZ80jUz5h8prpiaQsiRPKQMxoLstNuqe2vR4RNPEAEcjEFzhEz/g==} engines: {node: '>= 10.0.0'} cpu: [ia32] os: [win32] - '@parcel/watcher-win32-x64@2.5.1': - resolution: {integrity: sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==} + '@parcel/watcher-win32-x64@2.5.6': + resolution: {integrity: sha512-hbQlYcCq5dlAX9Qx+kFb0FHue6vbjlf0FrNzSKdYK2APUf7tGfGxQCk2ihEREmbR6ZMc0MVAD5RIX/41gpUzTw==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [win32] - '@parcel/watcher@2.5.1': - resolution: {integrity: sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==} + '@parcel/watcher@2.5.6': + resolution: {integrity: sha512-tmmZ3lQxAe/k/+rNnXQRawJ4NjxO2hqiOLTHvWchtGZULp4RyFeh6aU4XdOYBFe2KE1oShQTv4AblOs2iOrNnQ==} engines: {node: '>= 10.0.0'} '@polka/url@1.0.0-next.29': @@ -1421,136 +1326,151 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.53.5': - resolution: {integrity: sha512-iDGS/h7D8t7tvZ1t6+WPK04KD0MwzLZrG0se1hzBjSi5fyxlsiggoJHwh18PCFNn7tG43OWb6pdZ6Y+rMlmyNQ==} + '@rollup/rollup-android-arm-eabi@4.57.1': + resolution: {integrity: sha512-A6ehUVSiSaaliTxai040ZpZ2zTevHYbvu/lDoeAteHI8QnaosIzm4qwtezfRg1jOYaUmnzLX1AOD6Z+UJjtifg==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.53.5': - resolution: {integrity: sha512-wrSAViWvZHBMMlWk6EJhvg8/rjxzyEhEdgfMMjREHEq11EtJ6IP6yfcCH57YAEca2Oe3FNCE9DSTgU70EIGmVw==} + '@rollup/rollup-android-arm64@4.57.1': + resolution: {integrity: sha512-dQaAddCY9YgkFHZcFNS/606Exo8vcLHwArFZ7vxXq4rigo2bb494/xKMMwRRQW6ug7Js6yXmBZhSBRuBvCCQ3w==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.53.5': - resolution: {integrity: sha512-S87zZPBmRO6u1YXQLwpveZm4JfPpAa6oHBX7/ghSiGH3rz/KDgAu1rKdGutV+WUI6tKDMbaBJomhnT30Y2t4VQ==} + '@rollup/rollup-darwin-arm64@4.57.1': + resolution: {integrity: sha512-crNPrwJOrRxagUYeMn/DZwqN88SDmwaJ8Cvi/TN1HnWBU7GwknckyosC2gd0IqYRsHDEnXf328o9/HC6OkPgOg==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.53.5': - resolution: {integrity: sha512-YTbnsAaHo6VrAczISxgpTva8EkfQus0VPEVJCEaboHtZRIb6h6j0BNxRBOwnDciFTZLDPW5r+ZBmhL/+YpTZgA==} + '@rollup/rollup-darwin-x64@4.57.1': + resolution: {integrity: sha512-Ji8g8ChVbKrhFtig5QBV7iMaJrGtpHelkB3lsaKzadFBe58gmjfGXAOfI5FV0lYMH8wiqsxKQ1C9B0YTRXVy4w==} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.53.5': - resolution: {integrity: sha512-1T8eY2J8rKJWzaznV7zedfdhD1BqVs1iqILhmHDq/bqCUZsrMt+j8VCTHhP0vdfbHK3e1IQ7VYx3jlKqwlf+vw==} + '@rollup/rollup-freebsd-arm64@4.57.1': + resolution: {integrity: sha512-R+/WwhsjmwodAcz65guCGFRkMb4gKWTcIeLy60JJQbXrJ97BOXHxnkPFrP+YwFlaS0m+uWJTstrUA9o+UchFug==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.53.5': - resolution: {integrity: sha512-sHTiuXyBJApxRn+VFMaw1U+Qsz4kcNlxQ742snICYPrY+DDL8/ZbaC4DVIB7vgZmp3jiDaKA0WpBdP0aqPJoBQ==} + '@rollup/rollup-freebsd-x64@4.57.1': + resolution: {integrity: sha512-IEQTCHeiTOnAUC3IDQdzRAGj3jOAYNr9kBguI7MQAAZK3caezRrg0GxAb6Hchg4lxdZEI5Oq3iov/w/hnFWY9Q==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.53.5': - resolution: {integrity: sha512-dV3T9MyAf0w8zPVLVBptVlzaXxka6xg1f16VAQmjg+4KMSTWDvhimI/Y6mp8oHwNrmnmVl9XxJ/w/mO4uIQONA==} + '@rollup/rollup-linux-arm-gnueabihf@4.57.1': + resolution: {integrity: sha512-F8sWbhZ7tyuEfsmOxwc2giKDQzN3+kuBLPwwZGyVkLlKGdV1nvnNwYD0fKQ8+XS6hp9nY7B+ZeK01EBUE7aHaw==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.53.5': - resolution: {integrity: sha512-wIGYC1x/hyjP+KAu9+ewDI+fi5XSNiUi9Bvg6KGAh2TsNMA3tSEs+Sh6jJ/r4BV/bx/CyWu2ue9kDnIdRyafcQ==} + '@rollup/rollup-linux-arm-musleabihf@4.57.1': + resolution: {integrity: sha512-rGfNUfn0GIeXtBP1wL5MnzSj98+PZe/AXaGBCRmT0ts80lU5CATYGxXukeTX39XBKsxzFpEeK+Mrp9faXOlmrw==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.53.5': - resolution: {integrity: sha512-Y+qVA0D9d0y2FRNiG9oM3Hut/DgODZbU9I8pLLPwAsU0tUKZ49cyV1tzmB/qRbSzGvY8lpgGkJuMyuhH7Ma+Vg==} + '@rollup/rollup-linux-arm64-gnu@4.57.1': + resolution: {integrity: sha512-MMtej3YHWeg/0klK2Qodf3yrNzz6CGjo2UntLvk2RSPlhzgLvYEB3frRvbEF2wRKh1Z2fDIg9KRPe1fawv7C+g==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.53.5': - resolution: {integrity: sha512-juaC4bEgJsyFVfqhtGLz8mbopaWD+WeSOYr5E16y+1of6KQjc0BpwZLuxkClqY1i8sco+MdyoXPNiCkQou09+g==} + '@rollup/rollup-linux-arm64-musl@4.57.1': + resolution: {integrity: sha512-1a/qhaaOXhqXGpMFMET9VqwZakkljWHLmZOX48R0I/YLbhdxr1m4gtG1Hq7++VhVUmf+L3sTAf9op4JlhQ5u1Q==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-loong64-gnu@4.53.5': - resolution: {integrity: sha512-rIEC0hZ17A42iXtHX+EPJVL/CakHo+tT7W0pbzdAGuWOt2jxDFh7A/lRhsNHBcqL4T36+UiAgwO8pbmn3dE8wA==} + '@rollup/rollup-linux-loong64-gnu@4.57.1': + resolution: {integrity: sha512-QWO6RQTZ/cqYtJMtxhkRkidoNGXc7ERPbZN7dVW5SdURuLeVU7lwKMpo18XdcmpWYd0qsP1bwKPf7DNSUinhvA==} + cpu: [loong64] + os: [linux] + + '@rollup/rollup-linux-loong64-musl@4.57.1': + resolution: {integrity: sha512-xpObYIf+8gprgWaPP32xiN5RVTi/s5FCR+XMXSKmhfoJjrpRAjCuuqQXyxUa/eJTdAE6eJ+KDKaoEqjZQxh3Gw==} cpu: [loong64] os: [linux] - '@rollup/rollup-linux-ppc64-gnu@4.53.5': - resolution: {integrity: sha512-T7l409NhUE552RcAOcmJHj3xyZ2h7vMWzcwQI0hvn5tqHh3oSoclf9WgTl+0QqffWFG8MEVZZP1/OBglKZx52Q==} + '@rollup/rollup-linux-ppc64-gnu@4.57.1': + resolution: {integrity: sha512-4BrCgrpZo4hvzMDKRqEaW1zeecScDCR+2nZ86ATLhAoJ5FQ+lbHVD3ttKe74/c7tNT9c6F2viwB3ufwp01Oh2w==} + cpu: [ppc64] + os: [linux] + + '@rollup/rollup-linux-ppc64-musl@4.57.1': + resolution: {integrity: sha512-NOlUuzesGauESAyEYFSe3QTUguL+lvrN1HtwEEsU2rOwdUDeTMJdO5dUYl/2hKf9jWydJrO9OL/XSSf65R5+Xw==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.53.5': - resolution: {integrity: sha512-7OK5/GhxbnrMcxIFoYfhV/TkknarkYC1hqUw1wU2xUN3TVRLNT5FmBv4KkheSG2xZ6IEbRAhTooTV2+R5Tk0lQ==} + '@rollup/rollup-linux-riscv64-gnu@4.57.1': + resolution: {integrity: sha512-ptA88htVp0AwUUqhVghwDIKlvJMD/fmL/wrQj99PRHFRAG6Z5nbWoWG4o81Nt9FT+IuqUQi+L31ZKAFeJ5Is+A==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-riscv64-musl@4.53.5': - resolution: {integrity: sha512-GwuDBE/PsXaTa76lO5eLJTyr2k8QkPipAyOrs4V/KJufHCZBJ495VCGJol35grx9xryk4V+2zd3Ri+3v7NPh+w==} + '@rollup/rollup-linux-riscv64-musl@4.57.1': + resolution: {integrity: sha512-S51t7aMMTNdmAMPpBg7OOsTdn4tySRQvklmL3RpDRyknk87+Sp3xaumlatU+ppQ+5raY7sSTcC2beGgvhENfuw==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.53.5': - resolution: {integrity: sha512-IAE1Ziyr1qNfnmiQLHBURAD+eh/zH1pIeJjeShleII7Vj8kyEm2PF77o+lf3WTHDpNJcu4IXJxNO0Zluro8bOw==} + '@rollup/rollup-linux-s390x-gnu@4.57.1': + resolution: {integrity: sha512-Bl00OFnVFkL82FHbEqy3k5CUCKH6OEJL54KCyx2oqsmZnFTR8IoNqBF+mjQVcRCT5sB6yOvK8A37LNm/kPJiZg==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.53.5': - resolution: {integrity: sha512-Pg6E+oP7GvZ4XwgRJBuSXZjcqpIW3yCBhK4BcsANvb47qMvAbCjR6E+1a/U2WXz1JJxp9/4Dno3/iSJLcm5auw==} + '@rollup/rollup-linux-x64-gnu@4.57.1': + resolution: {integrity: sha512-ABca4ceT4N+Tv/GtotnWAeXZUZuM/9AQyCyKYyKnpk4yoA7QIAuBt6Hkgpw8kActYlew2mvckXkvx0FfoInnLg==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.53.5': - resolution: {integrity: sha512-txGtluxDKTxaMDzUduGP0wdfng24y1rygUMnmlUJ88fzCCULCLn7oE5kb2+tRB+MWq1QDZT6ObT5RrR8HFRKqg==} + '@rollup/rollup-linux-x64-musl@4.57.1': + resolution: {integrity: sha512-HFps0JeGtuOR2convgRRkHCekD7j+gdAuXM+/i6kGzQtFhlCtQkpwtNzkNj6QhCDp7DRJ7+qC/1Vg2jt5iSOFw==} cpu: [x64] os: [linux] - '@rollup/rollup-openharmony-arm64@4.53.5': - resolution: {integrity: sha512-3DFiLPnTxiOQV993fMc+KO8zXHTcIjgaInrqlG8zDp1TlhYl6WgrOHuJkJQ6M8zHEcntSJsUp1XFZSY8C1DYbg==} + '@rollup/rollup-openbsd-x64@4.57.1': + resolution: {integrity: sha512-H+hXEv9gdVQuDTgnqD+SQffoWoc0Of59AStSzTEj/feWTBAnSfSD3+Dql1ZruJQxmykT/JVY0dE8Ka7z0DH1hw==} + cpu: [x64] + os: [openbsd] + + '@rollup/rollup-openharmony-arm64@4.57.1': + resolution: {integrity: sha512-4wYoDpNg6o/oPximyc/NG+mYUejZrCU2q+2w6YZqrAs2UcNUChIZXjtafAiiZSUc7On8v5NyNj34Kzj/Ltk6dQ==} cpu: [arm64] os: [openharmony] - '@rollup/rollup-win32-arm64-msvc@4.53.5': - resolution: {integrity: sha512-nggc/wPpNTgjGg75hu+Q/3i32R00Lq1B6N1DO7MCU340MRKL3WZJMjA9U4K4gzy3dkZPXm9E1Nc81FItBVGRlA==} + '@rollup/rollup-win32-arm64-msvc@4.57.1': + resolution: {integrity: sha512-O54mtsV/6LW3P8qdTcamQmuC990HDfR71lo44oZMZlXU4tzLrbvTii87Ni9opq60ds0YzuAlEr/GNwuNluZyMQ==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.53.5': - resolution: {integrity: sha512-U/54pTbdQpPLBdEzCT6NBCFAfSZMvmjr0twhnD9f4EIvlm9wy3jjQ38yQj1AGznrNO65EWQMgm/QUjuIVrYF9w==} + '@rollup/rollup-win32-ia32-msvc@4.57.1': + resolution: {integrity: sha512-P3dLS+IerxCT/7D2q2FYcRdWRl22dNbrbBEtxdWhXrfIMPP9lQhb5h4Du04mdl5Woq05jVCDPCMF7Ub0NAjIew==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-gnu@4.53.5': - resolution: {integrity: sha512-2NqKgZSuLH9SXBBV2dWNRCZmocgSOx8OJSdpRaEcRlIfX8YrKxUT6z0F1NpvDVhOsl190UFTRh2F2WDWWCYp3A==} + '@rollup/rollup-win32-x64-gnu@4.57.1': + resolution: {integrity: sha512-VMBH2eOOaKGtIJYleXsi2B8CPVADrh+TyNxJ4mWPnKfLB/DBUmzW+5m1xUrcwWoMfSLagIRpjUFeW5CO5hyciQ==} cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.53.5': - resolution: {integrity: sha512-JRpZUhCfhZ4keB5v0fe02gQJy05GqboPOaxvjugW04RLSYYoB/9t2lx2u/tMs/Na/1NXfY8QYjgRljRpN+MjTQ==} + '@rollup/rollup-win32-x64-msvc@4.57.1': + resolution: {integrity: sha512-mxRFDdHIWRxg3UfIIAwCm6NzvxG0jDX/wBN6KsQFTvKFqqg9vTrWUE68qEjHt19A5wwx5X5aUi2zuZT7YR0jrA==} cpu: [x64] os: [win32] '@sec-ant/readable-stream@0.4.1': resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==} - '@shikijs/core@3.20.0': - resolution: {integrity: sha512-f2ED7HYV4JEk827mtMDwe/yQ25pRiXZmtHjWF8uzZKuKiEsJR7Ce1nuQ+HhV9FzDcbIo4ObBCD9GPTzNuy9S1g==} + '@shikijs/core@3.22.0': + resolution: {integrity: sha512-iAlTtSDDbJiRpvgL5ugKEATDtHdUVkqgHDm/gbD2ZS9c88mx7G1zSYjjOxp5Qa0eaW0MAQosFRmJSk354PRoQA==} - '@shikijs/engine-javascript@3.20.0': - resolution: {integrity: sha512-OFx8fHAZuk7I42Z9YAdZ95To6jDePQ9Rnfbw9uSRTSbBhYBp1kEOKv/3jOimcj3VRUKusDYM6DswLauwfhboLg==} + '@shikijs/engine-javascript@3.22.0': + resolution: {integrity: sha512-jdKhfgW9CRtj3Tor0L7+yPwdG3CgP7W+ZEqSsojrMzCjD1e0IxIbwUMDDpYlVBlC08TACg4puwFGkZfLS+56Tw==} - '@shikijs/engine-oniguruma@3.20.0': - resolution: {integrity: sha512-Yx3gy7xLzM0ZOjqoxciHjA7dAt5tyzJE3L4uQoM83agahy+PlW244XJSrmJRSBvGYELDhYXPacD4R/cauV5bzQ==} + '@shikijs/engine-oniguruma@3.22.0': + resolution: {integrity: sha512-DyXsOG0vGtNtl7ygvabHd7Mt5EY8gCNqR9Y7Lpbbd/PbJvgWrqaKzH1JW6H6qFkuUa8aCxoiYVv8/YfFljiQxA==} - '@shikijs/langs@3.20.0': - resolution: {integrity: sha512-le+bssCxcSHrygCWuOrYJHvjus6zhQ2K7q/0mgjiffRbkhM4o1EWu2m+29l0yEsHDbWaWPNnDUTRVVBvBBeKaA==} + '@shikijs/langs@3.22.0': + resolution: {integrity: sha512-x/42TfhWmp6H00T6uwVrdTJGKgNdFbrEdhaDwSR5fd5zhQ1Q46bHq9EO61SCEWJR0HY7z2HNDMaBZp8JRmKiIA==} - '@shikijs/themes@3.20.0': - resolution: {integrity: sha512-U1NSU7Sl26Q7ErRvJUouArxfM2euWqq1xaSrbqMu2iqa+tSp0D1Yah8216sDYbdDHw4C8b75UpE65eWorm2erQ==} + '@shikijs/themes@3.22.0': + resolution: {integrity: sha512-o+tlOKqsr6FE4+mYJG08tfCFDS+3CG20HbldXeVoyP+cYSUxDhrFf3GPjE60U55iOkkjbpY2uC3It/eeja35/g==} - '@shikijs/types@3.20.0': - resolution: {integrity: sha512-lhYAATn10nkZcBQ0BlzSbJA3wcmL5MXUUF8d2Zzon6saZDlToKaiRX60n2+ZaHJCmXEcZRWNzn+k9vplr8Jhsw==} + '@shikijs/types@3.22.0': + resolution: {integrity: sha512-491iAekgKDBFE67z70Ok5a8KBMsQ2IJwOWw3us/7ffQkIBCyOQfm/aNwVMBUriP02QshIfgHCBSIYAl3u2eWjg==} '@shikijs/vscode-textmate@10.0.2': resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==} @@ -1562,9 +1482,6 @@ packages: '@surma/rollup-plugin-off-main-thread@2.2.3': resolution: {integrity: sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==} - '@swc/helpers@0.5.17': - resolution: {integrity: sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==} - '@tailwindcss/node@4.1.18': resolution: {integrity: sha512-DoR7U1P7iYhw16qJ49fgXUlry1t4CpXeErJHnQ44JgTSKMaZUdf17cfn5mHchfJ4KRBZRFA/Coo+MUF5+gOaCQ==} @@ -1727,8 +1644,8 @@ packages: '@types/d3-selection@3.0.11': resolution: {integrity: sha512-bhAXu23DJWsrI45xafYpkQ4NtcKMwWnAC/vKrd2l+nxMFuvOT3XMYTIj2opv8vq8AO5Yh7Qac/nSeP/3zjTK0w==} - '@types/d3-shape@3.1.7': - resolution: {integrity: sha512-VLvUQ33C+3J+8p+Daf+nYSOsjB4GXp19/S/aGo60m9h1v6XaxjiT82lKVWJCfzhtuZ3yD7i/TPeC/fuKLLOSmg==} + '@types/d3-shape@3.1.8': + resolution: {integrity: sha512-lae0iWfcDeR7qt7rA88BNiqdvPS5pFVPpo5OfjElwNaT2yyekbM0C9vK+yqBqEmHr6lDkRnYNoTBYlAgJa7a4w==} '@types/d3-time-format@4.0.3': resolution: {integrity: sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==} @@ -1760,9 +1677,6 @@ packages: '@types/estree@1.0.8': resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} - '@types/fontkit@2.0.8': - resolution: {integrity: sha512-wN+8bYxIpJf+5oZdrdtaX04qUuWHcKxcDEgRS9Qm9ZClSHjzEn13SxUC+5eRM+4yXIeTYk8mTzLAWGF64847ew==} - '@types/geojson@7946.0.16': resolution: {integrity: sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==} @@ -1913,8 +1827,8 @@ packages: ajv@8.17.1: resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} - algoliasearch@5.46.2: - resolution: {integrity: sha512-qqAXW9QvKf2tTyhpDA4qXv1IfBwD2eduSW6tUEBFIfCeE9gn9HQ9I5+MaKoenRuHrzk5sQoNh1/iof8mY7uD6Q==} + algoliasearch@5.47.0: + resolution: {integrity: sha512-AGtz2U7zOV4DlsuYV84tLp2tBbA7RPtLA44jbVH4TTpDcc1dIWmULjHSsunlhscbzDydnjuFlNhflR3nV4VJaQ==} engines: {node: '>= 14.0.0'} ansi-align@3.0.1: @@ -1969,13 +1883,13 @@ packages: resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==} hasBin: true - astro-expressive-code@0.41.4: - resolution: {integrity: sha512-LK6EcK/hIHfOSo9zqapzu4CbTC0YBtMOVdvWjInpB2SgYtxiF22aZDqdpejN8J28mWPqPLQwSqdl2lWuirNXmw==} + astro-expressive-code@0.41.6: + resolution: {integrity: sha512-l47tb1uhmVIebHUkw+HEPtU/av0G4O8Q34g2cbkPvC7/e9ZhANcjUUciKt9Hp6gSVDdIuXBBLwJQn2LkeGMOAw==} peerDependencies: - astro: ^4.0.0-beta || ^5.0.0-beta || ^3.3.0 + astro: ^4.0.0-beta || ^5.0.0-beta || ^3.3.0 || ^6.0.0-beta - astro-mermaid@1.2.0: - resolution: {integrity: sha512-zELK0l0QUJaHBul9uijTr7SP+MN4LherN4sAC4xE7nx8I/TQoEtB36pnyEDMROZY3T3s4Eojw5CC/ezEBKi9RQ==} + astro-mermaid@1.3.1: + resolution: {integrity: sha512-1+FjwayMSZLtFd+ofdu1+v8a902nN5wmPmjY2qb8tLiO96YlL65LbskiuUcyH6q9h0CdZCrkc5FimlaHZsMJsg==} peerDependencies: '@mermaid-js/layout-elk': ^0.2.0 astro: ^4.0.0 || ^5.0.0 @@ -1984,8 +1898,8 @@ packages: '@mermaid-js/layout-elk': optional: true - astro@5.16.6: - resolution: {integrity: sha512-6mF/YrvwwRxLTu+aMEa5pwzKUNl5ZetWbTyZCs9Um0F12HUmxUiF5UHiZPy4rifzU3gtpM3xP2DfdmkNX9eZRg==} + astro@5.17.1: + resolution: {integrity: sha512-oD3tlxTaVWGq/Wfbqk6gxzVRz98xa/rYlpe+gU2jXJMSD01k6sEDL01ZlT8mVSYB/rMgnvIOfiQQ3BbLdN237A==} engines: {node: 18.20.8 || ^20.3.0 || >=22.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0'} hasBin: true @@ -2011,18 +1925,18 @@ packages: resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} engines: {node: '>= 0.4'} - babel-plugin-polyfill-corejs2@0.4.14: - resolution: {integrity: sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg==} + babel-plugin-polyfill-corejs2@0.4.15: + resolution: {integrity: sha512-hR3GwrRwHUfYwGfrisXPIDP3JcYfBrW7wKE7+Au6wDYl7fm/ka1NEII6kORzxNU556JjfidZeBsO10kYvtV1aw==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - babel-plugin-polyfill-corejs3@0.13.0: - resolution: {integrity: sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==} + babel-plugin-polyfill-corejs3@0.14.0: + resolution: {integrity: sha512-AvDcMxJ34W4Wgy4KBIIePQTAOP1Ie2WFwkQp3dB7FQ/f0lI5+nM96zUnYEOE1P9sEg0es5VCP0HxiWu5fUHZAQ==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - babel-plugin-polyfill-regenerator@0.6.5: - resolution: {integrity: sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg==} + babel-plugin-polyfill-regenerator@0.6.6: + resolution: {integrity: sha512-hYm+XLYRMvupxiQzrvXUj7YyvFFVfv5gI0R71AJzudg1g2AI2vyCPPIFEBjk162/wFzti3inBHo7isWFuEVS/A==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 @@ -2035,11 +1949,8 @@ packages: base-64@1.0.0: resolution: {integrity: sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg==} - base64-js@1.5.1: - resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - - baseline-browser-mapping@2.9.7: - resolution: {integrity: sha512-k9xFKplee6KIio3IDbwj+uaCLpqzOwakOgmqzPezM0sFJlFKcg30vk2wOiAJtkTSfx0SSQDSe8q+mWA/fSH5Zg==} + baseline-browser-mapping@2.9.19: + resolution: {integrity: sha512-ipDqC8FrAl/76p2SSWKSI+H9tFwm7vYqXQrItCuiVPt26Km0jS+NzSsBWAaBusvSbQcfJG+JitdMm+wZAgTYqg==} hasBin: true bcp-47-match@2.0.3: @@ -2064,13 +1975,6 @@ packages: brace-expansion@2.0.2: resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} - braces@3.0.3: - resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} - engines: {node: '>=8'} - - brotli@1.3.3: - resolution: {integrity: sha512-oTKjJdShmDuGW94SyyaoQvAjf30dZaHnjJ8uAF+u2/vGJkJbJPJAT1gDiOJP5v1Zb6f9KEyW/1HpuaWIXtGHPg==} - browserslist@4.28.1: resolution: {integrity: sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} @@ -2102,8 +2006,8 @@ packages: resolution: {integrity: sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==} engines: {node: '>=16'} - caniuse-lite@1.0.30001760: - resolution: {integrity: sha512-7AAMPcueWELt1p3mi13HR/LHH0TJLT11cnwDJEs3xA4+CK/PLKeO9Kl1oru24htkyUKtkGCvAx4ohB0Ttry8Dw==} + caniuse-lite@1.0.30001766: + resolution: {integrity: sha512-4C0lfJ0/YPjJQHagaE9x2Elb69CIqEPZeG0anQt9SIvIoOH4a4uaRl73IavyO+0qZh6MDLH//DrXThEYKHkmYA==} ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} @@ -2136,18 +2040,18 @@ packages: resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} engines: {node: '>= 14.16.0'} - ci-info@4.3.1: - resolution: {integrity: sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA==} + chokidar@5.0.0: + resolution: {integrity: sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==} + engines: {node: '>= 20.19.0'} + + ci-info@4.4.0: + resolution: {integrity: sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg==} engines: {node: '>=8'} cli-boxes@3.0.0: resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} engines: {node: '>=10'} - clone@2.1.2: - resolution: {integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==} - engines: {node: '>=0.8'} - clsx@2.1.1: resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} engines: {node: '>=6'} @@ -2210,8 +2114,8 @@ packages: resolution: {integrity: sha512-7Vv6asjS4gMOuILabD3l739tsaxFQmC+a7pLZm02zyvs8p977bL3zEgq3yDk5rn9B0PbYgIv++jmHcuUab4RhA==} engines: {node: '>=18'} - core-js-compat@3.47.0: - resolution: {integrity: sha512-IGfuznZ/n7Kp9+nypamBhvwdwLsW6KC8IOaURw2doAK5e98AG3acVLdh0woOnEqCfUtS+Vu882JE4k/DAm3ItQ==} + core-js-compat@3.48.0: + resolution: {integrity: sha512-OM4cAF3D6VtH/WkLtWvyNC56EZVXsZdU3iqaMG2B4WvYrlqU831pc4UtG5yp0sE9z8Y02wVN7PjW5Zf9Gt0f1Q==} cose-base@1.0.3: resolution: {integrity: sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==} @@ -2336,8 +2240,8 @@ packages: resolution: {integrity: sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==} engines: {node: '>=12'} - d3-format@3.1.0: - resolution: {integrity: sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==} + d3-format@3.1.2: + resolution: {integrity: sha512-AJDdYOdnyRDV5b6ArilzCPPwc1ejkHcoyFarqlPqT7zRYjhavcT3uSrqcMvsgh2CgoPbK3RCwyHaVyxYcP2Arg==} engines: {node: '>=12'} d3-geo@3.1.1: @@ -2454,8 +2358,8 @@ packages: supports-color: optional: true - decode-named-character-reference@1.2.0: - resolution: {integrity: sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q==} + decode-named-character-reference@1.3.0: + resolution: {integrity: sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q==} deepmerge@4.3.1: resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} @@ -2494,11 +2398,6 @@ packages: destr@2.0.5: resolution: {integrity: sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==} - detect-libc@1.0.3: - resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==} - engines: {node: '>=0.10'} - hasBin: true - detect-libc@2.1.2: resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} engines: {node: '>=8'} @@ -2507,17 +2406,14 @@ packages: resolution: {integrity: sha512-KxektNH63SrbfUyDiwXqRb1rLwKt33AmMv+5Nhsw1kqZ13SJBRTgZHtGbE+hH3a1mVW1cz+4pqSWVPAtLVXTzQ==} engines: {node: '>=18'} - devalue@5.6.1: - resolution: {integrity: sha512-jDwizj+IlEZBunHcOuuFVBnIMPAEHvTsJj0BcIp94xYguLRVBcXO853px/MyIJvbVzWdsGvrRweIUWJw8hBP7A==} + devalue@5.6.2: + resolution: {integrity: sha512-nPRkjWzzDQlsejL1WVifk5rvcFi/y1onBRxjaFMjZeR9mFpqu2gmAZ9xUB9/IEanEP/vBtGeGganC/GO1fmufg==} devlop@1.1.0: resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} - dfa@1.2.0: - resolution: {integrity: sha512-ED3jP8saaweFTjeGX8HQPjeC1YYyZs98jGNZx6IiBvxW7JG5v492kamAQB3m2wop07CvU/RQmzcKr6bgcC5D/Q==} - - diff@5.2.0: - resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} + diff@8.0.3: + resolution: {integrity: sha512-qejHi7bcSD4hQAZE0tNAawRK1ZtafHDmMTMkrrIGgSLl7hTnQHmKCeB45xAcbfTqK2zowkM3j3bHt/4b/ARbYQ==} engines: {node: '>=0.3.1'} direction@2.0.1: @@ -2559,8 +2455,8 @@ packages: engines: {node: '>=0.10.0'} hasBin: true - electron-to-chromium@1.5.267: - resolution: {integrity: sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==} + electron-to-chromium@1.5.283: + resolution: {integrity: sha512-3vifjt1HgrGW/h76UEeny+adYApveS9dH2h3p57JYzBSXJIKUJAvtmIytDKjcSCt9xHfrNCFJ7gts6vkhuq++w==} emoji-regex@10.6.0: resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==} @@ -2674,8 +2570,8 @@ packages: eventemitter3@4.0.7: resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} - eventemitter3@5.0.1: - resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} + eventemitter3@5.0.4: + resolution: {integrity: sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==} evtd@0.2.4: resolution: {integrity: sha512-qaeGN5bx63s/AXgQo8gj6fBkxge+OoLddLniox5qtLAEY5HSnuSlISXVPxnSae1dWblvTh4/HoMIB+mbMsvZzw==} @@ -2684,8 +2580,8 @@ packages: resolution: {integrity: sha512-9Be3ZoN4LmYR90tUoVu2te2BsbzHfhJyfEiAVfz7N5/zv+jduIfLrV2xdQXOHbaD6KgpGdO9PRPM1Y4Q9QkPkA==} engines: {node: ^18.19.0 || >=20.5.0} - expressive-code@0.41.4: - resolution: {integrity: sha512-A9aFLhgqLkL6VSfqYkPqkJVMtA90/bhCLmUO7L3/a1xWISNMcHoCS6d6i8ePwi8HvHr3xRLswHTNt6NheTjdXA==} + expressive-code@0.41.6: + resolution: {integrity: sha512-W/5+IQbrpCIM5KGLjO35wlp1NCwDOOVQb+PAvzEoGkW1xjGM807ZGfBKptNWH6UECvt6qgmLyWolCMYKh7eQmA==} extend@3.0.2: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} @@ -2715,10 +2611,6 @@ packages: filelist@1.0.4: resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} - fill-range@7.1.1: - resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} - engines: {node: '>=8'} - flat-cache@3.2.0: resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} engines: {node: ^10.12.0 || >=12.0.0} @@ -2730,11 +2622,12 @@ packages: resolution: {integrity: sha512-9UbaD6XdAL97+k/n+N7JwX46K/M6Zc6KcFYskrYL8wbBV/Uyk0CTAMY0VT+qiK5PM7AIc9aTWYtq65U7T+aCNQ==} engines: {node: '>=8'} - fontace@0.3.1: - resolution: {integrity: sha512-9f5g4feWT1jWT8+SbL85aLIRLIXUaDygaM2xPXRmzPYxrOMNok79Lr3FGJoKVNKibE0WCunNiEVG2mwuE+2qEg==} + fontace@0.4.0: + resolution: {integrity: sha512-moThBCItUe2bjZip5PF/iZClpKHGLwMvR79Kp8XpGRBrvoRSnySN4VcILdv3/MJzbhvUA5WeiUXF5o538m5fvg==} - fontkit@2.0.4: - resolution: {integrity: sha512-syetQadaUEDNdxdugga9CpEYVaQIxOwk7GlwZWWZ19//qW4zE5bknOKeMBDYAASwnpaSHKJITRLMF9m1fp3s6g==} + fontkitten@1.0.2: + resolution: {integrity: sha512-piJxbLnkD9Xcyi7dWJRnqszEURixe7CrF/efBfbffe2DPyabmuIuqraruY8cXTs19QoM8VJzx47BDRVNXETM7Q==} + engines: {node: '>=20'} for-each@0.3.5: resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} @@ -2824,8 +2717,8 @@ packages: graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - h3@1.15.4: - resolution: {integrity: sha512-z5cFQWDffyOe4vQ9xIqNfCZdV4p//vy6fBnr8Q1AWnVZ0teurKMG66rLj++TKwKPUP3u7iMUvrvKaEUiQw2QWQ==} + h3@1.15.5: + resolution: {integrity: sha512-xEyq3rSl+dhGX2Lm0+eFQIAzlDN6Fs0EcC4f7BNUmzaRX/PTzeuM+Tr2lHB8FoXggsQIeXLj8EDVgs5ywxyxmg==} hachure-fill@0.5.2: resolution: {integrity: sha512-3GKBOn+m2LX9iq+JC1064cSFprJY4jL1jCXTcpnfER5HYE2l/4EfWSGzkPa/ZDBmYI0ZOEj5VHV/eKnPGkHuOg==} @@ -3077,10 +2970,6 @@ packages: resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==} engines: {node: '>= 0.4'} - is-number@7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} - is-obj@1.0.1: resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==} engines: {node: '>=0.10.0'} @@ -3201,8 +3090,8 @@ packages: resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} engines: {node: '>=0.10.0'} - katex@0.16.27: - resolution: {integrity: sha512-aeQoDkuRWSqQN6nSvVCEFvfXdqo1OQiCmmW1kc9xSdjutPv7BGO7pqY9sQRJpMOGrEdfDgF2TfRXe5eUAD2Waw==} + katex@0.16.28: + resolution: {integrity: sha512-YHzO7721WbmAL6Ov1uzN/l5mY5WWWhJBSW+jq4tkfZfsxmo1hu6frS0EOswvjBUnWE6NtjEs48SFn5CQESRLZg==} hasBin: true keyv@4.5.4: @@ -3313,8 +3202,8 @@ packages: lodash-es@4.17.21: resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} - lodash-es@4.17.22: - resolution: {integrity: sha512-XEawp1t0gxSi9x01glktRZ5HDy0HXqrM0x5pXQM98EaI0NxO6jVM7omDOxsuEo5UIASAnm2bRp1Jt/e0a2XU8Q==} + lodash-es@4.17.23: + resolution: {integrity: sha512-kVI48u3PZr38HdYz98UmfPnXl2DXrpdctLrFLCd3kOx1xUkOmpFPx7gCWWM5MPkL/fD8zb+Ph0QzjGFs4+hHWg==} lodash.debounce@4.0.8: resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} @@ -3322,17 +3211,14 @@ packages: lodash.sortby@4.7.0: resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} - lodash@4.17.21: - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + lodash@4.17.23: + resolution: {integrity: sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==} longest-streak@3.1.0: resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} - lru-cache@10.4.3: - resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} - - lru-cache@11.2.4: - resolution: {integrity: sha512-B5Y16Jr9LB9dHVkh6ZevG+vAbOsNOYCX+sXvFWFu7B3Iz5mijW3zdbMyhsh8ANd2mSWBYdJgnqi+mL7/LrOPYg==} + lru-cache@11.2.5: + resolution: {integrity: sha512-vFrFJkWtJvJnD5hg+hJvVE8Lh/TcMzKnTgCWmtBipwI5yLX/iX+5UB2tfuyODF5E7k9xEzMdYgGqaSb1c0c5Yw==} engines: {node: 20 || >=22} lru-cache@5.1.1: @@ -3534,10 +3420,6 @@ packages: micromark@4.0.2: resolution: {integrity: sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==} - micromatch@4.0.8: - resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} - engines: {node: '>=8.6'} - minimatch@10.1.1: resolution: {integrity: sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==} engines: {node: 20 || >=22} @@ -3689,9 +3571,6 @@ packages: resolution: {integrity: sha512-z2kY1mQlL4J8q5EIsQkLzQjilovKzfNVhX8De6oyE6uHpfFtyBaqUpcl/XzJC/4fjD8vBDyh1zolimIcVrCn9g==} hasBin: true - pako@0.2.9: - resolution: {integrity: sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==} - parse-entities@4.0.2: resolution: {integrity: sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==} @@ -3774,8 +3653,8 @@ packages: resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} engines: {node: ^10 || ^12 || >=14} - preact@10.28.1: - resolution: {integrity: sha512-u1/ixq/lVQI0CakKNvLDEcW5zfCjUQfZdK9qqWuIJtsezuyG6pk9TWj75GMuI/EzRSZB/VAE43sNWWZfiy8psw==} + preact@10.28.3: + resolution: {integrity: sha512-tCmoRkPQLpBeWzpmbhryairGnhW9tKV6c6gr/w+RhoRoKEJwsjzipwp//1oCpGPOchvSLaAPlpcJi9MwMmoPyA==} pretty-bytes@5.6.0: resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} @@ -3814,6 +3693,10 @@ packages: resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} engines: {node: '>= 14.18.0'} + readdirp@5.0.0: + resolution: {integrity: sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==} + engines: {node: '>= 20.19.0'} + recma-build-jsx@1.0.0: resolution: {integrity: sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==} @@ -3863,8 +3746,8 @@ packages: resolution: {integrity: sha512-NZQZdC5wOE/H3UT28fVGL+ikOZcEzfMGk/c3iN9UGxzWHMa1op7274oyiUVrAG4B2EuFhus8SvkaYnhvW92p9Q==} hasBin: true - rehype-expressive-code@0.41.4: - resolution: {integrity: sha512-qEUKfh/Aw9VZSUCXnJef41o7lpfnhXmQdXTkP2ZWGibSk4SoJVJ4ra1xN1t+hL1rp0d0GPKZ1CpM3q6bjV0xbg==} + rehype-expressive-code@0.41.6: + resolution: {integrity: sha512-aBMX8kxPtjmDSFUdZlAWJkMvsQ4ZMASfee90JWIAV8tweltXLzkWC3q++43ToTelI8ac5iC0B3/S/Cl4Ql1y2g==} rehype-format@5.0.1: resolution: {integrity: sha512-zvmVru9uB0josBVpr946OR8ui7nJEdzZobwLOOqHb/OOD88W0Vk2SqLwoVOj0fM6IPCCO6TaV9CvQvJMWwukFQ==} @@ -3915,9 +3798,6 @@ packages: engines: {node: '>= 0.4'} hasBin: true - restructure@3.0.2: - resolution: {integrity: sha512-gSfoiOEA0VPE6Tukkrr7I0RBdE0s7H1eFCDBk05l1KIQT1UIKNc5JZy6jdyW6eYH3aR3g5b3PuL77rq0hvwtAw==} - retext-latin@4.0.0: resolution: {integrity: sha512-hv9woG7Fy0M9IlRQloq/N6atV82NxLGveq+3H2WOi79dtIYWN8OaxogDm77f8YnVXJL2VD3bbqowu5E3EMhBYA==} @@ -3946,8 +3826,8 @@ packages: engines: {node: '>=10.0.0'} hasBin: true - rollup@4.53.5: - resolution: {integrity: sha512-iTNAbFSlRpcHeeWu73ywU/8KuU/LZmNCSxp6fjQkJBD3ivUb8tpDrXhIxEzA05HlYMEwmtaUnb3RP+YNv162OQ==} + rollup@4.57.1: + resolution: {integrity: sha512-oQL6lgK3e2QZeQ7gcgIkS2YZPg5slw37hYufJ3edKlfQSGGm8ICoxswK15ntSzF/a8+h7ekRy7k7oWc3BQ7y8A==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -4112,8 +3992,9 @@ packages: engines: {node: '>=14.0.0'} hasBin: true - sax@1.4.3: - resolution: {integrity: sha512-yqYn1JhPczigF94DMS+shiDMjDowYO6y9+wB/4WgO0Y19jWYk0lQ4tuG5KI7kj4FTp1wxPj5IFfcrz/s1c3jjQ==} + sax@1.4.4: + resolution: {integrity: sha512-1n3r/tGXO6b6VXMdFT54SHzT9ytu9yr7TaELowdYpMqY/Ao7EnlQGmAQ1+RatX7Tkkdm6hONI2owqNx2aZj5Sw==} + engines: {node: '>=11.0.0'} search-insights@2.17.3: resolution: {integrity: sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ==} @@ -4157,8 +4038,8 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} - shiki@3.20.0: - resolution: {integrity: sha512-kgCOlsnyWb+p0WU+01RjkCH+eBVsjL1jOwUYWv0YDWkM2/A46+LDKVs5yZCUXjJG6bj4ndFoAg5iLIIue6dulg==} + shiki@3.22.0: + resolution: {integrity: sha512-LBnhsoYEe0Eou4e1VgJACes+O6S6QC0w71fCSp5Oya79inkwkm15gQ1UF6VtQ8j/taMDh79hAB49WUk8ALQW3g==} side-channel-list@1.0.0: resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} @@ -4195,8 +4076,8 @@ packages: smob@1.5.0: resolution: {integrity: sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig==} - smol-toml@1.5.2: - resolution: {integrity: sha512-QlaZEqcAH3/RtNyet1IPIYPsEWAaYyXXv1Krsi+1L/QHppjX4Ifm8MQsBISz9vE8cHicIq3clogsheili5vhaQ==} + smol-toml@1.6.0: + resolution: {integrity: sha512-4zemZi0HvTnYwLfrpk/CF9LOd9Lt87kAt50GnqhMpyF9U3poDAP2+iukq2bZsO/ufegbYehBkqINbsWxj4l4cw==} engines: {node: '>= 18'} source-map-js@1.2.1: @@ -4230,8 +4111,8 @@ packages: resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==} engines: {node: '>=0.10.0'} - starlight-contributor-list@0.3.1: - resolution: {integrity: sha512-8F3BcnqeCgvI/OcagJCBsp71/XU9/zDiuSmsgAkWrRTxql0H2bG9Z9VXvmwzB/569QVlAsOwK7StAxDxqG6Myw==} + starlight-contributor-list@0.3.2: + resolution: {integrity: sha512-8O01uabPxfrFHarmlAJrcM4Wy4Uy4z/Y7vpaO0Da0ihTizPVYhnU8wNtSg0H5CeyPMGjNNOnPFcLiz1c0Obn4A==} engines: {node: ^18.17.1 || ^20.3.0 || >=21.0.0} peerDependencies: '@astrojs/starlight': '>=0.30' @@ -4346,8 +4227,8 @@ packages: resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} engines: {node: '>=10'} - supports-hyperlinks@4.3.0: - resolution: {integrity: sha512-i6sWEzuwadSlcr2mOnb0ktlIl+K5FVxsPXmoPfknDd2gyw4ZBIAZ5coc0NQzYqDdEYXMHy8NaY9rWwa1Q1myiQ==} + supports-hyperlinks@4.4.0: + resolution: {integrity: sha512-UKbpT93hN5Nr9go5UY7bopIB9YQlMz9nm/ct4IXt/irb5YRkn9WaqrOBJGZ5Pwvsd5FQzSVeYlGdXoCAPQZrPg==} engines: {node: '>=20'} supports-preserve-symlinks-flag@1.0.0: @@ -4363,8 +4244,8 @@ packages: resolution: {integrity: sha512-8lD+t2KrrScJ/7KXCSyfhT3/hRq78rC0wBFqNJXv3mZyn6hW2ypM05JmlSvtqRbeq6jqA94oHbxAr2vYsJ8vDA==} engines: {node: '>=16.0.0'} - sync-message-port@1.1.3: - resolution: {integrity: sha512-GTt8rSKje5FilG+wEdfCkOcLL7LWqpMlr2c3LRuKt/YXxcJ52aGSbGBAdI4L3aaqfrBt6y711El53ItyH1NWzg==} + sync-message-port@1.2.0: + resolution: {integrity: sha512-gAQ9qrUN/UCypHtGFbbe7Rc/f9bzO88IwrG8TDo/aMKAApKyD6E3W4Cm0EfhfBb6Z6SKt59tTCTfD+n1xmAvMg==} engines: {node: '>=16.0.0'} tailwindcss@4.1.18: @@ -4386,8 +4267,8 @@ packages: resolution: {integrity: sha512-qFAy10MTMwjzjU8U16YS4YoZD+NQLHzLssFMNqgravjbvIPNiqkGFR4yjhJfmY9R5OFU7+yHxc6y+uGHkKwLRA==} engines: {node: '>=20'} - terser@5.44.1: - resolution: {integrity: sha512-t/R3R/n0MSwnnazuPpPNVO60LX0SKL45pyl9YlvxIdkH0Of7D5qM2EVe+yASRIlY5pZ73nclYJfNANGWPwFDZw==} + terser@5.46.0: + resolution: {integrity: sha512-jTwoImyr/QbOWFFso3YoU3ik0jBBDJ6JTOQiy/J2YxVJdZCc+5u7skhNwiOR3FQIygFqVUPHl7qbbxtjW2K3Qg==} engines: {node: '>=10'} hasBin: true @@ -4402,10 +4283,6 @@ packages: resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} engines: {node: '>=12.0.0'} - to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} - totalist@3.0.1: resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} engines: {node: '>=6'} @@ -4471,8 +4348,8 @@ packages: engines: {node: '>=14.17'} hasBin: true - ufo@1.6.1: - resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==} + ufo@1.6.3: + resolution: {integrity: sha512-yDJTmhydvl5lJzBmy/hyOAA0d+aqCBuwl818haVdYCRrWV84o7YyeVm4QlVHStqNrrJSTb6jKuFAVqAFsr+K3Q==} ultrahtml@1.6.0: resolution: {integrity: sha512-R9fBn90VTJrqqLDwyMph+HGne8eqY1iPfYhPzZrvKpIfwkWZbcYlfpsb8B9dTvBfpy1/hqAD7Wi8EKfP9e8zdw==} @@ -4499,16 +4376,10 @@ packages: resolution: {integrity: sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg==} engines: {node: '>=4'} - unicode-properties@1.4.1: - resolution: {integrity: sha512-CLjCCLQ6UuMxWnbIylkisbRj31qxHPAurvena/0iwSVbQ2G1VY5/HjV0IRabOEbDHlzZlRdCrD4NhB0JtU40Pg==} - unicode-property-aliases-ecmascript@2.2.0: resolution: {integrity: sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ==} engines: {node: '>=4'} - unicode-trie@2.0.0: - resolution: {integrity: sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==} - unicorn-magic@0.3.0: resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==} engines: {node: '>=18'} @@ -4516,8 +4387,8 @@ packages: unified@11.0.5: resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} - unifont@0.6.0: - resolution: {integrity: sha512-5Fx50fFQMQL5aeHyWnZX9122sSLckcDvcfFiBf3QYeHa7a1MKJooUy52b67moi2MJYkrfo/TWY+CoLdr/w0tTA==} + unifont@0.7.3: + resolution: {integrity: sha512-b0GtQzKCyuSHGsfj5vyN8st7muZ6VCI4XD4vFlr7Uy1rlWVYxC3npnfk8MyreHxJYrz1ooLDqDzFe9XqQTlAhA==} unique-string@2.0.0: resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==} @@ -4550,15 +4421,15 @@ packages: unist-util-visit-parents@6.0.2: resolution: {integrity: sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==} - unist-util-visit@5.0.0: - resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} + unist-util-visit@5.1.0: + resolution: {integrity: sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==} universalify@2.0.1: resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} - unstorage@1.17.3: - resolution: {integrity: sha512-i+JYyy0DoKmQ3FximTHbGadmIYb8JEpq7lxUjnjeB702bCPum0vzo6oy5Mfu0lpqISw7hCyMW2yj4nWC8bqJ3Q==} + unstorage@1.17.4: + resolution: {integrity: sha512-fHK0yNg38tBiJKp/Vgsq4j0JEsCmgqH58HAn707S7zGkArbZsVr/CwINoi+nh3h98BRCwKvx1K3Xg9u3VV83sw==} peerDependencies: '@azure/app-configuration': ^1.8.0 '@azure/cosmos': ^4.2.0 @@ -4566,14 +4437,14 @@ packages: '@azure/identity': ^4.6.0 '@azure/keyvault-secrets': ^4.9.0 '@azure/storage-blob': ^12.26.0 - '@capacitor/preferences': ^6.0.3 || ^7.0.0 + '@capacitor/preferences': ^6 || ^7 || ^8 '@deno/kv': '>=0.9.0' '@netlify/blobs': ^6.5.0 || ^7.0.0 || ^8.1.0 || ^9.0.0 || ^10.0.0 '@planetscale/database': ^1.19.0 '@upstash/redis': ^1.34.3 '@vercel/blob': '>=0.27.1' '@vercel/functions': ^2.2.12 || ^3.0.0 - '@vercel/kv': ^1.0.1 + '@vercel/kv': ^1 || ^2 || ^3 aws4fetch: ^1.0.20 db0: '>=0.2.1' idb-keyval: ^6.2.1 @@ -4623,8 +4494,8 @@ packages: resolution: {integrity: sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==} engines: {node: '>=4'} - update-browserslist-db@1.2.2: - resolution: {integrity: sha512-E85pfNzMQ9jpKkA7+TJAi4TJN+tBCuWh5rUcS/sv6cFi+1q9LYDwDI5dpUL0u/73EElyQ8d3TEaeW4sPedBqYA==} + update-browserslist-db@1.2.3: + resolution: {integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' @@ -4808,8 +4679,8 @@ packages: resolution: {integrity: sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==} engines: {node: '>=4'} - which-typed-array@1.1.19: - resolution: {integrity: sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==} + which-typed-array@1.1.20: + resolution: {integrity: sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==} engines: {node: '>= 0.4'} which@2.0.2: @@ -4911,8 +4782,8 @@ packages: resolution: {integrity: sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==} engines: {node: '>=18'} - zod-to-json-schema@3.25.0: - resolution: {integrity: sha512-HvWtU2UG41LALjajJrML6uQejQhNJx+JBO9IflpSja4R03iNWfKXrj6W2h7ljuLyc1nKS+9yDyL/9tD1U/yBnQ==} + zod-to-json-schema@3.25.1: + resolution: {integrity: sha512-pM/SU9d3YAggzi6MtR4h7ruuQlqKtad8e9S0fmxcMi+ueAK5Korys/aWcV9LIIHTVbj01NdzxcnXSN+O74ZIVA==} peerDependencies: zod: ^3.25 || ^4 @@ -4940,117 +4811,117 @@ snapshots: - encoding - supports-color - '@algolia/abtesting@1.12.2': + '@algolia/abtesting@1.13.0': dependencies: - '@algolia/client-common': 5.46.2 - '@algolia/requester-browser-xhr': 5.46.2 - '@algolia/requester-fetch': 5.46.2 - '@algolia/requester-node-http': 5.46.2 + '@algolia/client-common': 5.47.0 + '@algolia/requester-browser-xhr': 5.47.0 + '@algolia/requester-fetch': 5.47.0 + '@algolia/requester-node-http': 5.47.0 - '@algolia/autocomplete-core@1.17.9(@algolia/client-search@5.46.2)(algoliasearch@5.46.2)(search-insights@2.17.3)': + '@algolia/autocomplete-core@1.17.9(@algolia/client-search@5.47.0)(algoliasearch@5.47.0)(search-insights@2.17.3)': dependencies: - '@algolia/autocomplete-plugin-algolia-insights': 1.17.9(@algolia/client-search@5.46.2)(algoliasearch@5.46.2)(search-insights@2.17.3) - '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@5.46.2)(algoliasearch@5.46.2) + '@algolia/autocomplete-plugin-algolia-insights': 1.17.9(@algolia/client-search@5.47.0)(algoliasearch@5.47.0)(search-insights@2.17.3) + '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@5.47.0)(algoliasearch@5.47.0) transitivePeerDependencies: - '@algolia/client-search' - algoliasearch - search-insights - '@algolia/autocomplete-plugin-algolia-insights@1.17.9(@algolia/client-search@5.46.2)(algoliasearch@5.46.2)(search-insights@2.17.3)': + '@algolia/autocomplete-plugin-algolia-insights@1.17.9(@algolia/client-search@5.47.0)(algoliasearch@5.47.0)(search-insights@2.17.3)': dependencies: - '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@5.46.2)(algoliasearch@5.46.2) + '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@5.47.0)(algoliasearch@5.47.0) search-insights: 2.17.3 transitivePeerDependencies: - '@algolia/client-search' - algoliasearch - '@algolia/autocomplete-preset-algolia@1.17.9(@algolia/client-search@5.46.2)(algoliasearch@5.46.2)': + '@algolia/autocomplete-preset-algolia@1.17.9(@algolia/client-search@5.47.0)(algoliasearch@5.47.0)': dependencies: - '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@5.46.2)(algoliasearch@5.46.2) - '@algolia/client-search': 5.46.2 - algoliasearch: 5.46.2 + '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@5.47.0)(algoliasearch@5.47.0) + '@algolia/client-search': 5.47.0 + algoliasearch: 5.47.0 - '@algolia/autocomplete-shared@1.17.9(@algolia/client-search@5.46.2)(algoliasearch@5.46.2)': + '@algolia/autocomplete-shared@1.17.9(@algolia/client-search@5.47.0)(algoliasearch@5.47.0)': dependencies: - '@algolia/client-search': 5.46.2 - algoliasearch: 5.46.2 + '@algolia/client-search': 5.47.0 + algoliasearch: 5.47.0 - '@algolia/client-abtesting@5.46.2': + '@algolia/client-abtesting@5.47.0': dependencies: - '@algolia/client-common': 5.46.2 - '@algolia/requester-browser-xhr': 5.46.2 - '@algolia/requester-fetch': 5.46.2 - '@algolia/requester-node-http': 5.46.2 + '@algolia/client-common': 5.47.0 + '@algolia/requester-browser-xhr': 5.47.0 + '@algolia/requester-fetch': 5.47.0 + '@algolia/requester-node-http': 5.47.0 - '@algolia/client-analytics@5.46.2': + '@algolia/client-analytics@5.47.0': dependencies: - '@algolia/client-common': 5.46.2 - '@algolia/requester-browser-xhr': 5.46.2 - '@algolia/requester-fetch': 5.46.2 - '@algolia/requester-node-http': 5.46.2 + '@algolia/client-common': 5.47.0 + '@algolia/requester-browser-xhr': 5.47.0 + '@algolia/requester-fetch': 5.47.0 + '@algolia/requester-node-http': 5.47.0 - '@algolia/client-common@5.46.2': {} + '@algolia/client-common@5.47.0': {} - '@algolia/client-insights@5.46.2': + '@algolia/client-insights@5.47.0': dependencies: - '@algolia/client-common': 5.46.2 - '@algolia/requester-browser-xhr': 5.46.2 - '@algolia/requester-fetch': 5.46.2 - '@algolia/requester-node-http': 5.46.2 + '@algolia/client-common': 5.47.0 + '@algolia/requester-browser-xhr': 5.47.0 + '@algolia/requester-fetch': 5.47.0 + '@algolia/requester-node-http': 5.47.0 - '@algolia/client-personalization@5.46.2': + '@algolia/client-personalization@5.47.0': dependencies: - '@algolia/client-common': 5.46.2 - '@algolia/requester-browser-xhr': 5.46.2 - '@algolia/requester-fetch': 5.46.2 - '@algolia/requester-node-http': 5.46.2 + '@algolia/client-common': 5.47.0 + '@algolia/requester-browser-xhr': 5.47.0 + '@algolia/requester-fetch': 5.47.0 + '@algolia/requester-node-http': 5.47.0 - '@algolia/client-query-suggestions@5.46.2': + '@algolia/client-query-suggestions@5.47.0': dependencies: - '@algolia/client-common': 5.46.2 - '@algolia/requester-browser-xhr': 5.46.2 - '@algolia/requester-fetch': 5.46.2 - '@algolia/requester-node-http': 5.46.2 + '@algolia/client-common': 5.47.0 + '@algolia/requester-browser-xhr': 5.47.0 + '@algolia/requester-fetch': 5.47.0 + '@algolia/requester-node-http': 5.47.0 - '@algolia/client-search@5.46.2': + '@algolia/client-search@5.47.0': dependencies: - '@algolia/client-common': 5.46.2 - '@algolia/requester-browser-xhr': 5.46.2 - '@algolia/requester-fetch': 5.46.2 - '@algolia/requester-node-http': 5.46.2 + '@algolia/client-common': 5.47.0 + '@algolia/requester-browser-xhr': 5.47.0 + '@algolia/requester-fetch': 5.47.0 + '@algolia/requester-node-http': 5.47.0 - '@algolia/ingestion@1.46.2': + '@algolia/ingestion@1.47.0': dependencies: - '@algolia/client-common': 5.46.2 - '@algolia/requester-browser-xhr': 5.46.2 - '@algolia/requester-fetch': 5.46.2 - '@algolia/requester-node-http': 5.46.2 + '@algolia/client-common': 5.47.0 + '@algolia/requester-browser-xhr': 5.47.0 + '@algolia/requester-fetch': 5.47.0 + '@algolia/requester-node-http': 5.47.0 - '@algolia/monitoring@1.46.2': + '@algolia/monitoring@1.47.0': dependencies: - '@algolia/client-common': 5.46.2 - '@algolia/requester-browser-xhr': 5.46.2 - '@algolia/requester-fetch': 5.46.2 - '@algolia/requester-node-http': 5.46.2 + '@algolia/client-common': 5.47.0 + '@algolia/requester-browser-xhr': 5.47.0 + '@algolia/requester-fetch': 5.47.0 + '@algolia/requester-node-http': 5.47.0 - '@algolia/recommend@5.46.2': + '@algolia/recommend@5.47.0': dependencies: - '@algolia/client-common': 5.46.2 - '@algolia/requester-browser-xhr': 5.46.2 - '@algolia/requester-fetch': 5.46.2 - '@algolia/requester-node-http': 5.46.2 + '@algolia/client-common': 5.47.0 + '@algolia/requester-browser-xhr': 5.47.0 + '@algolia/requester-fetch': 5.47.0 + '@algolia/requester-node-http': 5.47.0 - '@algolia/requester-browser-xhr@5.46.2': + '@algolia/requester-browser-xhr@5.47.0': dependencies: - '@algolia/client-common': 5.46.2 + '@algolia/client-common': 5.47.0 - '@algolia/requester-fetch@5.46.2': + '@algolia/requester-fetch@5.47.0': dependencies: - '@algolia/client-common': 5.46.2 + '@algolia/client-common': 5.47.0 - '@algolia/requester-node-http@5.46.2': + '@algolia/requester-node-http@5.47.0': dependencies: - '@algolia/client-common': 5.46.2 + '@algolia/client-common': 5.47.0 '@antfu/install-pkg@1.1.0': dependencies: @@ -5059,15 +4930,6 @@ snapshots: '@antfu/utils@0.7.10': {} - '@anthropic-ai/claude-code@1.0.128': - optionalDependencies: - '@img/sharp-darwin-arm64': 0.33.5 - '@img/sharp-darwin-x64': 0.33.5 - '@img/sharp-linux-arm': 0.33.5 - '@img/sharp-linux-arm64': 0.33.5 - '@img/sharp-linux-x64': 0.33.5 - '@img/sharp-win32-x64': 0.33.5 - '@apideck/better-ajv-errors@0.3.6(ajv@8.17.1)': dependencies: ajv: 8.17.1 @@ -5095,22 +4957,22 @@ snapshots: remark-parse: 11.0.0 remark-rehype: 11.1.2 remark-smartypants: 3.0.2 - shiki: 3.20.0 - smol-toml: 1.5.2 + shiki: 3.22.0 + smol-toml: 1.6.0 unified: 11.0.5 unist-util-remove-position: 5.0.0 - unist-util-visit: 5.0.0 + unist-util-visit: 5.1.0 unist-util-visit-parents: 6.0.2 vfile: 6.0.3 transitivePeerDependencies: - supports-color - '@astrojs/mdx@4.3.13(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3))': + '@astrojs/mdx@4.3.13(astro@5.17.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0)(typescript@5.9.3))': dependencies: '@astrojs/markdown-remark': 6.3.10 '@mdx-js/mdx': 3.1.1 acorn: 8.15.0 - astro: 5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3) + astro: 5.17.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0)(typescript@5.9.3) es-module-lexer: 1.7.0 estree-util-visit: 2.0.0 hast-util-to-html: 9.0.5 @@ -5119,7 +4981,7 @@ snapshots: remark-gfm: 4.0.1 remark-smartypants: 3.0.2 source-map: 0.7.6 - unist-util-visit: 5.0.0 + unist-util-visit: 5.1.0 vfile: 6.0.3 transitivePeerDependencies: - supports-color @@ -5128,17 +4990,17 @@ snapshots: dependencies: prismjs: 1.30.0 - '@astrojs/sitemap@3.6.0': + '@astrojs/sitemap@3.7.0': dependencies: sitemap: 8.0.2 stream-replace-string: 2.0.0 zod: 3.25.76 - '@astrojs/starlight-docsearch@0.6.1(@algolia/client-search@5.46.2)(@astrojs/starlight@0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)))(search-insights@2.17.3)': + '@astrojs/starlight-docsearch@0.6.1(@algolia/client-search@5.47.0)(@astrojs/starlight@0.37.5(astro@5.17.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0)(typescript@5.9.3)))(search-insights@2.17.3)': dependencies: - '@astrojs/starlight': 0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)) + '@astrojs/starlight': 0.37.5(astro@5.17.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0)(typescript@5.9.3)) '@docsearch/css': 3.9.0 - '@docsearch/js': 3.9.0(@algolia/client-search@5.46.2)(search-insights@2.17.3) + '@docsearch/js': 3.9.0(@algolia/client-search@5.47.0)(search-insights@2.17.3) transitivePeerDependencies: - '@algolia/client-search' - '@types/react' @@ -5146,17 +5008,17 @@ snapshots: - react-dom - search-insights - '@astrojs/starlight@0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3))': + '@astrojs/starlight@0.37.5(astro@5.17.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0)(typescript@5.9.3))': dependencies: '@astrojs/markdown-remark': 6.3.10 - '@astrojs/mdx': 4.3.13(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)) - '@astrojs/sitemap': 3.6.0 + '@astrojs/mdx': 4.3.13(astro@5.17.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0)(typescript@5.9.3)) + '@astrojs/sitemap': 3.7.0 '@pagefind/default-ui': 1.4.0 '@types/hast': 3.0.4 '@types/js-yaml': 4.0.9 '@types/mdast': 4.0.4 - astro: 5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3) - astro-expressive-code: 0.41.4(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)) + astro: 5.17.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0)(typescript@5.9.3) + astro-expressive-code: 0.41.6(astro@5.17.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0)(typescript@5.9.3)) bcp-47: 2.1.0 hast-util-from-html: 2.0.3 hast-util-select: 6.0.4 @@ -5175,14 +5037,14 @@ snapshots: remark-directive: 3.0.1 ultrahtml: 1.6.0 unified: 11.0.5 - unist-util-visit: 5.0.0 + unist-util-visit: 5.1.0 vfile: 6.0.3 transitivePeerDependencies: - supports-color '@astrojs/telemetry@3.3.0': dependencies: - ci-info: 4.3.1 + ci-info: 4.4.0 debug: 4.4.3 dlv: 1.1.3 dset: 3.1.4 @@ -5192,14 +5054,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@astrojs/vue@5.1.4(@types/node@25.0.2)(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3))(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(vue@3.5.27(typescript@5.9.3))': + '@astrojs/vue@5.1.4(@types/node@25.0.2)(astro@5.17.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0)(typescript@5.9.3))(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0)(vue@3.5.27(typescript@5.9.3))': dependencies: - '@vitejs/plugin-vue': 5.2.4(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1))(vue@3.5.27(typescript@5.9.3)) - '@vitejs/plugin-vue-jsx': 4.2.0(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1))(vue@3.5.27(typescript@5.9.3)) + '@vitejs/plugin-vue': 5.2.4(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0))(vue@3.5.27(typescript@5.9.3)) + '@vitejs/plugin-vue-jsx': 4.2.0(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0))(vue@3.5.27(typescript@5.9.3)) '@vue/compiler-sfc': 3.5.27 - astro: 5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3) - vite: 6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1) - vite-plugin-vue-devtools: 7.7.9(rollup@2.79.2)(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1))(vue@3.5.27(typescript@5.9.3)) + astro: 5.17.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0)(typescript@5.9.3) + vite: 6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0) + vite-plugin-vue-devtools: 7.7.9(rollup@2.79.2)(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0))(vue@3.5.27(typescript@5.9.3)) vue: 3.5.27(typescript@5.9.3) transitivePeerDependencies: - '@nuxt/kit' @@ -5217,31 +5079,25 @@ snapshots: - tsx - yaml - '@babel/code-frame@7.27.1': - dependencies: - '@babel/helper-validator-identifier': 7.28.5 - js-tokens: 4.0.0 - picocolors: 1.1.1 - '@babel/code-frame@7.29.0': dependencies: '@babel/helper-validator-identifier': 7.28.5 js-tokens: 4.0.0 picocolors: 1.1.1 - '@babel/compat-data@7.28.5': {} + '@babel/compat-data@7.29.0': {} - '@babel/core@7.28.5': + '@babel/core@7.29.0': dependencies: - '@babel/code-frame': 7.27.1 - '@babel/generator': 7.28.5 - '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5) - '@babel/helpers': 7.28.4 - '@babel/parser': 7.28.5 - '@babel/template': 7.27.2 - '@babel/traverse': 7.28.5 - '@babel/types': 7.28.5 + '@babel/code-frame': 7.29.0 + '@babel/generator': 7.29.0 + '@babel/helper-compilation-targets': 7.28.6 + '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0) + '@babel/helpers': 7.28.6 + '@babel/parser': 7.29.0 + '@babel/template': 7.28.6 + '@babel/traverse': 7.29.0 + '@babel/types': 7.29.0 '@jridgewell/remapping': 2.3.5 convert-source-map: 2.0.0 debug: 4.4.3 @@ -5251,14 +5107,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/generator@7.28.5': - dependencies: - '@babel/parser': 7.28.5 - '@babel/types': 7.28.5 - '@jridgewell/gen-mapping': 0.3.13 - '@jridgewell/trace-mapping': 0.3.31 - jsesc: 3.1.0 - '@babel/generator@7.29.0': dependencies: '@babel/parser': 7.29.0 @@ -5269,40 +5117,40 @@ snapshots: '@babel/helper-annotate-as-pure@7.27.3': dependencies: - '@babel/types': 7.28.5 + '@babel/types': 7.29.0 - '@babel/helper-compilation-targets@7.27.2': + '@babel/helper-compilation-targets@7.28.6': dependencies: - '@babel/compat-data': 7.28.5 + '@babel/compat-data': 7.29.0 '@babel/helper-validator-option': 7.27.1 browserslist: 4.28.1 lru-cache: 5.1.1 semver: 6.3.1 - '@babel/helper-create-class-features-plugin@7.28.6(@babel/core@7.28.5)': + '@babel/helper-create-class-features-plugin@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 + '@babel/core': 7.29.0 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-member-expression-to-functions': 7.28.5 '@babel/helper-optimise-call-expression': 7.27.1 - '@babel/helper-replace-supers': 7.28.6(@babel/core@7.28.5) + '@babel/helper-replace-supers': 7.28.6(@babel/core@7.29.0) '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 '@babel/traverse': 7.29.0 semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/helper-create-regexp-features-plugin@7.28.5(@babel/core@7.28.5)': + '@babel/helper-create-regexp-features-plugin@7.28.5(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 + '@babel/core': 7.29.0 '@babel/helper-annotate-as-pure': 7.27.3 regexpu-core: 6.4.0 semver: 6.3.1 - '@babel/helper-define-polyfill-provider@0.6.5(@babel/core@7.28.5)': + '@babel/helper-define-polyfill-provider@0.6.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-compilation-targets': 7.27.2 + '@babel/core': 7.29.0 + '@babel/helper-compilation-targets': 7.28.6 '@babel/helper-plugin-utils': 7.28.6 debug: 4.4.3 lodash.debounce: 4.0.8 @@ -5315,46 +5163,44 @@ snapshots: '@babel/helper-member-expression-to-functions@7.28.5': dependencies: '@babel/traverse': 7.29.0 - '@babel/types': 7.28.5 + '@babel/types': 7.29.0 transitivePeerDependencies: - supports-color - '@babel/helper-module-imports@7.27.1': + '@babel/helper-module-imports@7.28.6': dependencies: - '@babel/traverse': 7.28.5 - '@babel/types': 7.28.5 + '@babel/traverse': 7.29.0 + '@babel/types': 7.29.0 transitivePeerDependencies: - supports-color - '@babel/helper-module-transforms@7.28.3(@babel/core@7.28.5)': + '@babel/helper-module-transforms@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-module-imports': 7.27.1 + '@babel/core': 7.29.0 + '@babel/helper-module-imports': 7.28.6 '@babel/helper-validator-identifier': 7.28.5 - '@babel/traverse': 7.28.5 + '@babel/traverse': 7.29.0 transitivePeerDependencies: - supports-color '@babel/helper-optimise-call-expression@7.27.1': dependencies: - '@babel/types': 7.28.5 - - '@babel/helper-plugin-utils@7.27.1': {} + '@babel/types': 7.29.0 '@babel/helper-plugin-utils@7.28.6': {} - '@babel/helper-remap-async-to-generator@7.27.1(@babel/core@7.28.5)': + '@babel/helper-remap-async-to-generator@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 + '@babel/core': 7.29.0 '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-wrap-function': 7.28.3 + '@babel/helper-wrap-function': 7.28.6 '@babel/traverse': 7.29.0 transitivePeerDependencies: - supports-color - '@babel/helper-replace-supers@7.28.6(@babel/core@7.28.5)': + '@babel/helper-replace-supers@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 + '@babel/core': 7.29.0 '@babel/helper-member-expression-to-functions': 7.28.5 '@babel/helper-optimise-call-expression': 7.27.1 '@babel/traverse': 7.29.0 @@ -5363,8 +5209,8 @@ snapshots: '@babel/helper-skip-transparent-expression-wrappers@7.27.1': dependencies: - '@babel/traverse': 7.28.5 - '@babel/types': 7.28.5 + '@babel/traverse': 7.29.0 + '@babel/types': 7.29.0 transitivePeerDependencies: - supports-color @@ -5374,7 +5220,7 @@ snapshots: '@babel/helper-validator-option@7.27.1': {} - '@babel/helper-wrap-function@7.28.3': + '@babel/helper-wrap-function@7.28.6': dependencies: '@babel/template': 7.28.6 '@babel/traverse': 7.29.0 @@ -5382,537 +5228,527 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/helpers@7.28.4': + '@babel/helpers@7.28.6': dependencies: - '@babel/template': 7.27.2 - '@babel/types': 7.28.5 - - '@babel/parser@7.28.5': - dependencies: - '@babel/types': 7.28.5 + '@babel/template': 7.28.6 + '@babel/types': 7.29.0 '@babel/parser@7.29.0': dependencies: '@babel/types': 7.29.0 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.28.5(@babel/core@7.28.5)': + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.28.5(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 '@babel/traverse': 7.29.0 transitivePeerDependencies: - supports-color - '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/plugin-transform-optional-chaining': 7.28.5(@babel/core@7.28.5) + '@babel/plugin-transform-optional-chaining': 7.28.6(@babel/core@7.29.0) transitivePeerDependencies: - supports-color - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.28.3(@babel/core@7.28.5)': + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 '@babel/traverse': 7.29.0 transitivePeerDependencies: - supports-color - '@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.28.5)': + '@babel/plugin-proposal-decorators@7.29.0(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.28.5) + '@babel/core': 7.29.0 + '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.29.0) '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-syntax-decorators': 7.28.6(@babel/core@7.28.5) + '@babel/plugin-syntax-decorators': 7.28.6(@babel/core@7.29.0) transitivePeerDependencies: - supports-color - '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.28.5)': + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 + '@babel/core': 7.29.0 - '@babel/plugin-syntax-decorators@7.28.6(@babel/core@7.28.5)': + '@babel/plugin-syntax-decorators@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-syntax-import-assertions@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-syntax-import-assertions@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-syntax-import-attributes@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-syntax-import-attributes@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.28.5)': + '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.28.5)': + '@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.28.5)': + '@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.28.5)': + '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) + '@babel/core': 7.29.0 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0) '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-arrow-functions@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-transform-arrow-functions@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-async-generator-functions@7.28.0(@babel/core@7.28.5)': + '@babel/plugin-transform-async-generator-functions@7.29.0(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.28.5) + '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.29.0) '@babel/traverse': 7.29.0 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-async-to-generator@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-transform-async-to-generator@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-module-imports': 7.27.1 + '@babel/core': 7.29.0 + '@babel/helper-module-imports': 7.28.6 '@babel/helper-plugin-utils': 7.28.6 - '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.28.5) + '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.29.0) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-block-scoped-functions@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-transform-block-scoped-functions@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-block-scoping@7.28.5(@babel/core@7.28.5)': + '@babel/plugin-transform-block-scoping@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-class-properties@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-transform-class-properties@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.28.5) + '@babel/core': 7.29.0 + '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.29.0) '@babel/helper-plugin-utils': 7.28.6 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-class-static-block@7.28.3(@babel/core@7.28.5)': + '@babel/plugin-transform-class-static-block@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.28.5) + '@babel/core': 7.29.0 + '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.29.0) '@babel/helper-plugin-utils': 7.28.6 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-classes@7.28.4(@babel/core@7.28.5)': + '@babel/plugin-transform-classes@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 + '@babel/core': 7.29.0 '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-compilation-targets': 7.28.6 '@babel/helper-globals': 7.28.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/helper-replace-supers': 7.28.6(@babel/core@7.28.5) + '@babel/helper-replace-supers': 7.28.6(@babel/core@7.29.0) '@babel/traverse': 7.29.0 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-computed-properties@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-transform-computed-properties@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 '@babel/template': 7.28.6 - '@babel/plugin-transform-destructuring@7.28.5(@babel/core@7.28.5)': + '@babel/plugin-transform-destructuring@7.28.5(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 '@babel/traverse': 7.29.0 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-dotall-regex@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-transform-dotall-regex@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) + '@babel/core': 7.29.0 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0) '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-duplicate-keys@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-transform-duplicate-keys@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.29.0(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) + '@babel/core': 7.29.0 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0) '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-dynamic-import@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-transform-dynamic-import@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-explicit-resource-management@7.28.0(@babel/core@7.28.5)': + '@babel/plugin-transform-explicit-resource-management@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.28.5) + '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.29.0) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-exponentiation-operator@7.28.5(@babel/core@7.28.5)': + '@babel/plugin-transform-exponentiation-operator@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-export-namespace-from@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-transform-export-namespace-from@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-for-of@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-transform-for-of@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-function-name@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-transform-function-name@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-compilation-targets': 7.27.2 + '@babel/core': 7.29.0 + '@babel/helper-compilation-targets': 7.28.6 '@babel/helper-plugin-utils': 7.28.6 '@babel/traverse': 7.29.0 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-json-strings@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-transform-json-strings@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-literals@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-transform-literals@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-logical-assignment-operators@7.28.5(@babel/core@7.28.5)': + '@babel/plugin-transform-logical-assignment-operators@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-member-expression-literals@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-transform-member-expression-literals@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-modules-amd@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-transform-modules-amd@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5) + '@babel/core': 7.29.0 + '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0) '@babel/helper-plugin-utils': 7.28.6 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-modules-commonjs@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-transform-modules-commonjs@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5) + '@babel/core': 7.29.0 + '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0) '@babel/helper-plugin-utils': 7.28.6 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-modules-systemjs@7.28.5(@babel/core@7.28.5)': + '@babel/plugin-transform-modules-systemjs@7.29.0(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5) + '@babel/core': 7.29.0 + '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0) '@babel/helper-plugin-utils': 7.28.6 '@babel/helper-validator-identifier': 7.28.5 '@babel/traverse': 7.29.0 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-modules-umd@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-transform-modules-umd@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5) + '@babel/core': 7.29.0 + '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0) '@babel/helper-plugin-utils': 7.28.6 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-named-capturing-groups-regex@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-transform-named-capturing-groups-regex@7.29.0(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) + '@babel/core': 7.29.0 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0) '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-new-target@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-transform-new-target@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-nullish-coalescing-operator@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-transform-nullish-coalescing-operator@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-numeric-separator@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-transform-numeric-separator@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-object-rest-spread@7.28.4(@babel/core@7.28.5)': + '@babel/plugin-transform-object-rest-spread@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-compilation-targets': 7.27.2 + '@babel/core': 7.29.0 + '@babel/helper-compilation-targets': 7.28.6 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.28.5) - '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.5) + '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.29.0) + '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.29.0) '@babel/traverse': 7.29.0 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-object-super@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-transform-object-super@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/helper-replace-supers': 7.28.6(@babel/core@7.28.5) + '@babel/helper-replace-supers': 7.28.6(@babel/core@7.29.0) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-optional-catch-binding@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-transform-optional-catch-binding@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-optional-chaining@7.28.5(@babel/core@7.28.5)': + '@babel/plugin-transform-optional-chaining@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-parameters@7.27.7(@babel/core@7.28.5)': + '@babel/plugin-transform-parameters@7.27.7(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-private-methods@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-transform-private-methods@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.28.5) + '@babel/core': 7.29.0 + '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.29.0) '@babel/helper-plugin-utils': 7.28.6 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-private-property-in-object@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-transform-private-property-in-object@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 + '@babel/core': 7.29.0 '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.28.5) + '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.29.0) '@babel/helper-plugin-utils': 7.28.6 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-property-literals@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-transform-property-literals@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-regenerator@7.28.4(@babel/core@7.28.5)': + '@babel/plugin-transform-regenerator@7.29.0(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-regexp-modifiers@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-transform-regexp-modifiers@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) + '@babel/core': 7.29.0 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0) '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-reserved-words@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-transform-reserved-words@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-shorthand-properties@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-transform-shorthand-properties@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-spread@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-transform-spread@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-sticky-regex@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-transform-sticky-regex@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-template-literals@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-transform-template-literals@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-typeof-symbol@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-transform-typeof-symbol@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-typescript@7.28.6(@babel/core@7.28.5)': + '@babel/plugin-transform-typescript@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 + '@babel/core': 7.29.0 '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.28.5) + '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.29.0) '@babel/helper-plugin-utils': 7.28.6 '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/plugin-syntax-typescript': 7.28.6(@babel/core@7.28.5) + '@babel/plugin-syntax-typescript': 7.28.6(@babel/core@7.29.0) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-unicode-escapes@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-transform-unicode-escapes@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-unicode-property-regex@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-transform-unicode-property-regex@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) + '@babel/core': 7.29.0 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0) '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-unicode-regex@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-transform-unicode-regex@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) + '@babel/core': 7.29.0 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0) '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-unicode-sets-regex@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-transform-unicode-sets-regex@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) + '@babel/core': 7.29.0 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0) '@babel/helper-plugin-utils': 7.28.6 - '@babel/preset-env@7.28.5(@babel/core@7.28.5)': + '@babel/preset-env@7.29.0(@babel/core@7.29.0)': dependencies: - '@babel/compat-data': 7.28.5 - '@babel/core': 7.28.5 - '@babel/helper-compilation-targets': 7.27.2 + '@babel/compat-data': 7.29.0 + '@babel/core': 7.29.0 + '@babel/helper-compilation-targets': 7.28.6 '@babel/helper-plugin-utils': 7.28.6 '@babel/helper-validator-option': 7.27.1 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.28.5(@babel/core@7.28.5) - '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.28.3(@babel/core@7.28.5) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.28.5) - '@babel/plugin-syntax-import-assertions': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-syntax-import-attributes': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.28.5) - '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-async-generator-functions': 7.28.0(@babel/core@7.28.5) - '@babel/plugin-transform-async-to-generator': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-block-scoped-functions': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-block-scoping': 7.28.5(@babel/core@7.28.5) - '@babel/plugin-transform-class-properties': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-class-static-block': 7.28.3(@babel/core@7.28.5) - '@babel/plugin-transform-classes': 7.28.4(@babel/core@7.28.5) - '@babel/plugin-transform-computed-properties': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.28.5) - '@babel/plugin-transform-dotall-regex': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-duplicate-keys': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-dynamic-import': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-explicit-resource-management': 7.28.0(@babel/core@7.28.5) - '@babel/plugin-transform-exponentiation-operator': 7.28.5(@babel/core@7.28.5) - '@babel/plugin-transform-export-namespace-from': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-function-name': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-json-strings': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-literals': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-logical-assignment-operators': 7.28.5(@babel/core@7.28.5) - '@babel/plugin-transform-member-expression-literals': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-modules-amd': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-modules-systemjs': 7.28.5(@babel/core@7.28.5) - '@babel/plugin-transform-modules-umd': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-named-capturing-groups-regex': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-new-target': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-nullish-coalescing-operator': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-numeric-separator': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-object-rest-spread': 7.28.4(@babel/core@7.28.5) - '@babel/plugin-transform-object-super': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-optional-catch-binding': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-optional-chaining': 7.28.5(@babel/core@7.28.5) - '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.5) - '@babel/plugin-transform-private-methods': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-private-property-in-object': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-property-literals': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-regenerator': 7.28.4(@babel/core@7.28.5) - '@babel/plugin-transform-regexp-modifiers': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-reserved-words': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-spread': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-sticky-regex': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-typeof-symbol': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-unicode-escapes': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-unicode-property-regex': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-unicode-regex': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-unicode-sets-regex': 7.27.1(@babel/core@7.28.5) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.28.5) - babel-plugin-polyfill-corejs2: 0.4.14(@babel/core@7.28.5) - babel-plugin-polyfill-corejs3: 0.13.0(@babel/core@7.28.5) - babel-plugin-polyfill-regenerator: 0.6.5(@babel/core@7.28.5) - core-js-compat: 3.47.0 + '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.28.5(@babel/core@7.29.0) + '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.29.0) + '@babel/plugin-syntax-import-assertions': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-syntax-import-attributes': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.29.0) + '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-async-generator-functions': 7.29.0(@babel/core@7.29.0) + '@babel/plugin-transform-async-to-generator': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-block-scoped-functions': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-block-scoping': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-class-properties': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-class-static-block': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-classes': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-computed-properties': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.29.0) + '@babel/plugin-transform-dotall-regex': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-duplicate-keys': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.29.0(@babel/core@7.29.0) + '@babel/plugin-transform-dynamic-import': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-explicit-resource-management': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-exponentiation-operator': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-export-namespace-from': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-function-name': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-json-strings': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-literals': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-logical-assignment-operators': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-member-expression-literals': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-modules-amd': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-modules-commonjs': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-modules-systemjs': 7.29.0(@babel/core@7.29.0) + '@babel/plugin-transform-modules-umd': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-named-capturing-groups-regex': 7.29.0(@babel/core@7.29.0) + '@babel/plugin-transform-new-target': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-nullish-coalescing-operator': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-numeric-separator': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-object-rest-spread': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-object-super': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-optional-catch-binding': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-optional-chaining': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.29.0) + '@babel/plugin-transform-private-methods': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-private-property-in-object': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-property-literals': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-regenerator': 7.29.0(@babel/core@7.29.0) + '@babel/plugin-transform-regexp-modifiers': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-reserved-words': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-spread': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-sticky-regex': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-typeof-symbol': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-unicode-escapes': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-unicode-property-regex': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-unicode-regex': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-unicode-sets-regex': 7.28.6(@babel/core@7.29.0) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.29.0) + babel-plugin-polyfill-corejs2: 0.4.15(@babel/core@7.29.0) + babel-plugin-polyfill-corejs3: 0.14.0(@babel/core@7.29.0) + babel-plugin-polyfill-regenerator: 0.6.6(@babel/core@7.29.0) + core-js-compat: 3.48.0 semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.28.5)': + '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 '@babel/types': 7.29.0 esutils: 2.0.3 - '@babel/runtime@7.28.4': {} - - '@babel/template@7.27.2': - dependencies: - '@babel/code-frame': 7.27.1 - '@babel/parser': 7.28.5 - '@babel/types': 7.28.5 + '@babel/runtime@7.28.6': {} '@babel/template@7.28.6': dependencies: @@ -5920,18 +5756,6 @@ snapshots: '@babel/parser': 7.29.0 '@babel/types': 7.29.0 - '@babel/traverse@7.28.5': - dependencies: - '@babel/code-frame': 7.27.1 - '@babel/generator': 7.28.5 - '@babel/helper-globals': 7.28.0 - '@babel/parser': 7.28.5 - '@babel/template': 7.27.2 - '@babel/types': 7.28.5 - debug: 4.4.3 - transitivePeerDependencies: - - supports-color - '@babel/traverse@7.29.0': dependencies: '@babel/code-frame': 7.29.0 @@ -5944,24 +5768,19 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/types@7.28.5': - dependencies: - '@babel/helper-string-parser': 7.27.1 - '@babel/helper-validator-identifier': 7.28.5 - '@babel/types@7.29.0': dependencies: '@babel/helper-string-parser': 7.27.1 '@babel/helper-validator-identifier': 7.28.5 - '@braintree/sanitize-url@7.1.1': {} + '@braintree/sanitize-url@7.1.2': {} - '@bufbuild/protobuf@2.10.2': + '@bufbuild/protobuf@2.11.0': optional: true - '@capsizecss/unpack@3.0.1': + '@capsizecss/unpack@4.0.0': dependencies: - fontkit: 2.0.4 + fontkitten: 1.0.2 '@chevrotain/cst-dts-gen@11.0.3': dependencies: @@ -5992,10 +5811,10 @@ snapshots: '@docsearch/css@3.9.0': {} - '@docsearch/js@3.9.0(@algolia/client-search@5.46.2)(search-insights@2.17.3)': + '@docsearch/js@3.9.0(@algolia/client-search@5.47.0)(search-insights@2.17.3)': dependencies: - '@docsearch/react': 3.9.0(@algolia/client-search@5.46.2)(search-insights@2.17.3) - preact: 10.28.1 + '@docsearch/react': 3.9.0(@algolia/client-search@5.47.0)(search-insights@2.17.3) + preact: 10.28.3 transitivePeerDependencies: - '@algolia/client-search' - '@types/react' @@ -6003,18 +5822,18 @@ snapshots: - react-dom - search-insights - '@docsearch/react@3.9.0(@algolia/client-search@5.46.2)(search-insights@2.17.3)': + '@docsearch/react@3.9.0(@algolia/client-search@5.47.0)(search-insights@2.17.3)': dependencies: - '@algolia/autocomplete-core': 1.17.9(@algolia/client-search@5.46.2)(algoliasearch@5.46.2)(search-insights@2.17.3) - '@algolia/autocomplete-preset-algolia': 1.17.9(@algolia/client-search@5.46.2)(algoliasearch@5.46.2) + '@algolia/autocomplete-core': 1.17.9(@algolia/client-search@5.47.0)(algoliasearch@5.47.0)(search-insights@2.17.3) + '@algolia/autocomplete-preset-algolia': 1.17.9(@algolia/client-search@5.47.0)(algoliasearch@5.47.0) '@docsearch/css': 3.9.0 - algoliasearch: 5.46.2 + algoliasearch: 5.47.0 optionalDependencies: search-insights: 2.17.3 transitivePeerDependencies: - '@algolia/client-search' - '@emnapi/runtime@1.7.1': + '@emnapi/runtime@1.8.1': dependencies: tslib: 2.8.1 optional: true @@ -6099,7 +5918,7 @@ snapshots: '@esbuild/win32-x64@0.25.12': optional: true - '@expressive-code/core@0.41.4': + '@expressive-code/core@0.41.6': dependencies: '@ctrl/tinycolor': 4.2.0 hast-util-select: 6.0.4 @@ -6108,21 +5927,21 @@ snapshots: hastscript: 9.0.1 postcss: 8.5.6 postcss-nested: 6.2.0(postcss@8.5.6) - unist-util-visit: 5.0.0 + unist-util-visit: 5.1.0 unist-util-visit-parents: 6.0.2 - '@expressive-code/plugin-frames@0.41.4': + '@expressive-code/plugin-frames@0.41.6': dependencies: - '@expressive-code/core': 0.41.4 + '@expressive-code/core': 0.41.6 - '@expressive-code/plugin-shiki@0.41.4': + '@expressive-code/plugin-shiki@0.41.6': dependencies: - '@expressive-code/core': 0.41.4 - shiki: 3.20.0 + '@expressive-code/core': 0.41.6 + shiki: 3.22.0 - '@expressive-code/plugin-text-markers@0.41.4': + '@expressive-code/plugin-text-markers@0.41.6': dependencies: - '@expressive-code/core': 0.41.4 + '@expressive-code/core': 0.41.6 '@iconify/types@2.0.0': {} @@ -6134,47 +5953,25 @@ snapshots: '@img/colour@1.0.0': {} - '@img/sharp-darwin-arm64@0.33.5': - optionalDependencies: - '@img/sharp-libvips-darwin-arm64': 1.0.4 - optional: true - '@img/sharp-darwin-arm64@0.34.5': optionalDependencies: '@img/sharp-libvips-darwin-arm64': 1.2.4 optional: true - '@img/sharp-darwin-x64@0.33.5': - optionalDependencies: - '@img/sharp-libvips-darwin-x64': 1.0.4 - optional: true - '@img/sharp-darwin-x64@0.34.5': optionalDependencies: '@img/sharp-libvips-darwin-x64': 1.2.4 optional: true - '@img/sharp-libvips-darwin-arm64@1.0.4': - optional: true - '@img/sharp-libvips-darwin-arm64@1.2.4': optional: true - '@img/sharp-libvips-darwin-x64@1.0.4': - optional: true - '@img/sharp-libvips-darwin-x64@1.2.4': optional: true - '@img/sharp-libvips-linux-arm64@1.0.4': - optional: true - '@img/sharp-libvips-linux-arm64@1.2.4': optional: true - '@img/sharp-libvips-linux-arm@1.0.5': - optional: true - '@img/sharp-libvips-linux-arm@1.2.4': optional: true @@ -6187,9 +5984,6 @@ snapshots: '@img/sharp-libvips-linux-s390x@1.2.4': optional: true - '@img/sharp-libvips-linux-x64@1.0.4': - optional: true - '@img/sharp-libvips-linux-x64@1.2.4': optional: true @@ -6199,21 +5993,11 @@ snapshots: '@img/sharp-libvips-linuxmusl-x64@1.2.4': optional: true - '@img/sharp-linux-arm64@0.33.5': - optionalDependencies: - '@img/sharp-libvips-linux-arm64': 1.0.4 - optional: true - '@img/sharp-linux-arm64@0.34.5': optionalDependencies: '@img/sharp-libvips-linux-arm64': 1.2.4 optional: true - '@img/sharp-linux-arm@0.33.5': - optionalDependencies: - '@img/sharp-libvips-linux-arm': 1.0.5 - optional: true - '@img/sharp-linux-arm@0.34.5': optionalDependencies: '@img/sharp-libvips-linux-arm': 1.2.4 @@ -6234,11 +6018,6 @@ snapshots: '@img/sharp-libvips-linux-s390x': 1.2.4 optional: true - '@img/sharp-linux-x64@0.33.5': - optionalDependencies: - '@img/sharp-libvips-linux-x64': 1.0.4 - optional: true - '@img/sharp-linux-x64@0.34.5': optionalDependencies: '@img/sharp-libvips-linux-x64': 1.2.4 @@ -6256,7 +6035,7 @@ snapshots: '@img/sharp-wasm32@0.34.5': dependencies: - '@emnapi/runtime': 1.7.1 + '@emnapi/runtime': 1.8.1 optional: true '@img/sharp-win32-arm64@0.34.5': @@ -6265,9 +6044,6 @@ snapshots: '@img/sharp-win32-ia32@0.34.5': optional: true - '@img/sharp-win32-x64@0.33.5': - optional: true - '@img/sharp-win32-x64@0.34.5': optional: true @@ -6337,7 +6113,7 @@ snapshots: unified: 11.0.5 unist-util-position-from-estree: 2.0.0 unist-util-stringify-position: 4.0.0 - unist-util-visit: 5.0.0 + unist-util-visit: 5.1.0 vfile: 6.0.3 transitivePeerDependencies: - supports-color @@ -6368,75 +6144,75 @@ snapshots: '@pagefind/windows-x64@1.4.0': optional: true - '@parcel/watcher-android-arm64@2.5.1': + '@parcel/watcher-android-arm64@2.5.6': optional: true - '@parcel/watcher-darwin-arm64@2.5.1': + '@parcel/watcher-darwin-arm64@2.5.6': optional: true - '@parcel/watcher-darwin-x64@2.5.1': + '@parcel/watcher-darwin-x64@2.5.6': optional: true - '@parcel/watcher-freebsd-x64@2.5.1': + '@parcel/watcher-freebsd-x64@2.5.6': optional: true - '@parcel/watcher-linux-arm-glibc@2.5.1': + '@parcel/watcher-linux-arm-glibc@2.5.6': optional: true - '@parcel/watcher-linux-arm-musl@2.5.1': + '@parcel/watcher-linux-arm-musl@2.5.6': optional: true - '@parcel/watcher-linux-arm64-glibc@2.5.1': + '@parcel/watcher-linux-arm64-glibc@2.5.6': optional: true - '@parcel/watcher-linux-arm64-musl@2.5.1': + '@parcel/watcher-linux-arm64-musl@2.5.6': optional: true - '@parcel/watcher-linux-x64-glibc@2.5.1': + '@parcel/watcher-linux-x64-glibc@2.5.6': optional: true - '@parcel/watcher-linux-x64-musl@2.5.1': + '@parcel/watcher-linux-x64-musl@2.5.6': optional: true - '@parcel/watcher-win32-arm64@2.5.1': + '@parcel/watcher-win32-arm64@2.5.6': optional: true - '@parcel/watcher-win32-ia32@2.5.1': + '@parcel/watcher-win32-ia32@2.5.6': optional: true - '@parcel/watcher-win32-x64@2.5.1': + '@parcel/watcher-win32-x64@2.5.6': optional: true - '@parcel/watcher@2.5.1': + '@parcel/watcher@2.5.6': dependencies: - detect-libc: 1.0.3 + detect-libc: 2.1.2 is-glob: 4.0.3 - micromatch: 4.0.8 node-addon-api: 7.1.1 + picomatch: 4.0.3 optionalDependencies: - '@parcel/watcher-android-arm64': 2.5.1 - '@parcel/watcher-darwin-arm64': 2.5.1 - '@parcel/watcher-darwin-x64': 2.5.1 - '@parcel/watcher-freebsd-x64': 2.5.1 - '@parcel/watcher-linux-arm-glibc': 2.5.1 - '@parcel/watcher-linux-arm-musl': 2.5.1 - '@parcel/watcher-linux-arm64-glibc': 2.5.1 - '@parcel/watcher-linux-arm64-musl': 2.5.1 - '@parcel/watcher-linux-x64-glibc': 2.5.1 - '@parcel/watcher-linux-x64-musl': 2.5.1 - '@parcel/watcher-win32-arm64': 2.5.1 - '@parcel/watcher-win32-ia32': 2.5.1 - '@parcel/watcher-win32-x64': 2.5.1 + '@parcel/watcher-android-arm64': 2.5.6 + '@parcel/watcher-darwin-arm64': 2.5.6 + '@parcel/watcher-darwin-x64': 2.5.6 + '@parcel/watcher-freebsd-x64': 2.5.6 + '@parcel/watcher-linux-arm-glibc': 2.5.6 + '@parcel/watcher-linux-arm-musl': 2.5.6 + '@parcel/watcher-linux-arm64-glibc': 2.5.6 + '@parcel/watcher-linux-arm64-musl': 2.5.6 + '@parcel/watcher-linux-x64-glibc': 2.5.6 + '@parcel/watcher-linux-x64-musl': 2.5.6 + '@parcel/watcher-win32-arm64': 2.5.6 + '@parcel/watcher-win32-ia32': 2.5.6 + '@parcel/watcher-win32-x64': 2.5.6 optional: true '@polka/url@1.0.0-next.29': {} '@rolldown/pluginutils@1.0.0-rc.2': {} - '@rollup/plugin-babel@5.3.1(@babel/core@7.28.5)(rollup@2.79.2)': + '@rollup/plugin-babel@5.3.1(@babel/core@7.29.0)(rollup@2.79.2)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-module-imports': 7.27.1 + '@babel/core': 7.29.0 + '@babel/helper-module-imports': 7.28.6 '@rollup/pluginutils': 3.1.0(rollup@2.79.2) rollup: 2.79.2 transitivePeerDependencies: @@ -6462,7 +6238,7 @@ snapshots: dependencies: serialize-javascript: 6.0.2 smob: 1.5.0 - terser: 5.44.1 + terser: 5.46.0 optionalDependencies: rollup: 2.79.2 @@ -6481,101 +6257,110 @@ snapshots: optionalDependencies: rollup: 2.79.2 - '@rollup/rollup-android-arm-eabi@4.53.5': + '@rollup/rollup-android-arm-eabi@4.57.1': + optional: true + + '@rollup/rollup-android-arm64@4.57.1': + optional: true + + '@rollup/rollup-darwin-arm64@4.57.1': + optional: true + + '@rollup/rollup-darwin-x64@4.57.1': optional: true - '@rollup/rollup-android-arm64@4.53.5': + '@rollup/rollup-freebsd-arm64@4.57.1': optional: true - '@rollup/rollup-darwin-arm64@4.53.5': + '@rollup/rollup-freebsd-x64@4.57.1': optional: true - '@rollup/rollup-darwin-x64@4.53.5': + '@rollup/rollup-linux-arm-gnueabihf@4.57.1': optional: true - '@rollup/rollup-freebsd-arm64@4.53.5': + '@rollup/rollup-linux-arm-musleabihf@4.57.1': optional: true - '@rollup/rollup-freebsd-x64@4.53.5': + '@rollup/rollup-linux-arm64-gnu@4.57.1': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.53.5': + '@rollup/rollup-linux-arm64-musl@4.57.1': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.53.5': + '@rollup/rollup-linux-loong64-gnu@4.57.1': optional: true - '@rollup/rollup-linux-arm64-gnu@4.53.5': + '@rollup/rollup-linux-loong64-musl@4.57.1': optional: true - '@rollup/rollup-linux-arm64-musl@4.53.5': + '@rollup/rollup-linux-ppc64-gnu@4.57.1': optional: true - '@rollup/rollup-linux-loong64-gnu@4.53.5': + '@rollup/rollup-linux-ppc64-musl@4.57.1': optional: true - '@rollup/rollup-linux-ppc64-gnu@4.53.5': + '@rollup/rollup-linux-riscv64-gnu@4.57.1': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.53.5': + '@rollup/rollup-linux-riscv64-musl@4.57.1': optional: true - '@rollup/rollup-linux-riscv64-musl@4.53.5': + '@rollup/rollup-linux-s390x-gnu@4.57.1': optional: true - '@rollup/rollup-linux-s390x-gnu@4.53.5': + '@rollup/rollup-linux-x64-gnu@4.57.1': optional: true - '@rollup/rollup-linux-x64-gnu@4.53.5': + '@rollup/rollup-linux-x64-musl@4.57.1': optional: true - '@rollup/rollup-linux-x64-musl@4.53.5': + '@rollup/rollup-openbsd-x64@4.57.1': optional: true - '@rollup/rollup-openharmony-arm64@4.53.5': + '@rollup/rollup-openharmony-arm64@4.57.1': optional: true - '@rollup/rollup-win32-arm64-msvc@4.53.5': + '@rollup/rollup-win32-arm64-msvc@4.57.1': optional: true - '@rollup/rollup-win32-ia32-msvc@4.53.5': + '@rollup/rollup-win32-ia32-msvc@4.57.1': optional: true - '@rollup/rollup-win32-x64-gnu@4.53.5': + '@rollup/rollup-win32-x64-gnu@4.57.1': optional: true - '@rollup/rollup-win32-x64-msvc@4.53.5': + '@rollup/rollup-win32-x64-msvc@4.57.1': optional: true '@sec-ant/readable-stream@0.4.1': {} - '@shikijs/core@3.20.0': + '@shikijs/core@3.22.0': dependencies: - '@shikijs/types': 3.20.0 + '@shikijs/types': 3.22.0 '@shikijs/vscode-textmate': 10.0.2 '@types/hast': 3.0.4 hast-util-to-html: 9.0.5 - '@shikijs/engine-javascript@3.20.0': + '@shikijs/engine-javascript@3.22.0': dependencies: - '@shikijs/types': 3.20.0 + '@shikijs/types': 3.22.0 '@shikijs/vscode-textmate': 10.0.2 oniguruma-to-es: 4.3.4 - '@shikijs/engine-oniguruma@3.20.0': + '@shikijs/engine-oniguruma@3.22.0': dependencies: - '@shikijs/types': 3.20.0 + '@shikijs/types': 3.22.0 '@shikijs/vscode-textmate': 10.0.2 - '@shikijs/langs@3.20.0': + '@shikijs/langs@3.22.0': dependencies: - '@shikijs/types': 3.20.0 + '@shikijs/types': 3.22.0 - '@shikijs/themes@3.20.0': + '@shikijs/themes@3.22.0': dependencies: - '@shikijs/types': 3.20.0 + '@shikijs/types': 3.22.0 - '@shikijs/types@3.20.0': + '@shikijs/types@3.22.0': dependencies: '@shikijs/vscode-textmate': 10.0.2 '@types/hast': 3.0.4 @@ -6591,10 +6376,6 @@ snapshots: magic-string: 0.25.9 string.prototype.matchall: 4.0.12 - '@swc/helpers@0.5.17': - dependencies: - tslib: 2.8.1 - '@tailwindcss/node@4.1.18': dependencies: '@jridgewell/remapping': 2.3.5 @@ -6656,12 +6437,12 @@ snapshots: '@tailwindcss/oxide-win32-arm64-msvc': 4.1.18 '@tailwindcss/oxide-win32-x64-msvc': 4.1.18 - '@tailwindcss/vite@4.1.18(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1))': + '@tailwindcss/vite@4.1.18(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0))': dependencies: '@tailwindcss/node': 4.1.18 '@tailwindcss/oxide': 4.1.18 tailwindcss: 4.1.18 - vite: 6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1) + vite: 6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0) '@types/d3-array@3.2.2': {} @@ -6728,7 +6509,7 @@ snapshots: '@types/d3-selection@3.0.11': {} - '@types/d3-shape@3.1.7': + '@types/d3-shape@3.1.8': dependencies: '@types/d3-path': 3.1.1 @@ -6773,7 +6554,7 @@ snapshots: '@types/d3-scale': 4.0.9 '@types/d3-scale-chromatic': 3.1.0 '@types/d3-selection': 3.0.11 - '@types/d3-shape': 3.1.7 + '@types/d3-shape': 3.1.8 '@types/d3-time': 3.0.4 '@types/d3-time-format': 4.0.3 '@types/d3-timer': 3.0.2 @@ -6792,10 +6573,6 @@ snapshots: '@types/estree@1.0.8': {} - '@types/fontkit@2.0.8': - dependencies: - '@types/node': 25.0.2 - '@types/geojson@7946.0.16': {} '@types/hast@3.0.4': @@ -6829,6 +6606,7 @@ snapshots: '@types/node@25.0.2': dependencies: undici-types: 7.16.0 + optional: true '@types/picomatch@3.0.2': {} @@ -6836,7 +6614,7 @@ snapshots: '@types/sax@1.2.7': dependencies: - '@types/node': 25.0.2 + '@types/node': 17.0.45 '@types/trusted-types@2.0.7': {} @@ -6846,59 +6624,59 @@ snapshots: '@ungap/structured-clone@1.3.0': {} - '@vite-pwa/astro@1.2.0(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3))(vite-plugin-pwa@1.2.0(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1))(workbox-build@7.4.0)(workbox-window@7.4.0))': + '@vite-pwa/astro@1.2.0(astro@5.17.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0)(typescript@5.9.3))(vite-plugin-pwa@1.2.0(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0))(workbox-build@7.4.0)(workbox-window@7.4.0))': dependencies: - astro: 5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3) - vite-plugin-pwa: 1.2.0(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1))(workbox-build@7.4.0)(workbox-window@7.4.0) + astro: 5.17.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0)(typescript@5.9.3) + vite-plugin-pwa: 1.2.0(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0))(workbox-build@7.4.0)(workbox-window@7.4.0) - '@vitejs/plugin-vue-jsx@4.2.0(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1))(vue@3.5.27(typescript@5.9.3))': + '@vitejs/plugin-vue-jsx@4.2.0(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0))(vue@3.5.27(typescript@5.9.3))': dependencies: - '@babel/core': 7.28.5 - '@babel/plugin-transform-typescript': 7.28.6(@babel/core@7.28.5) + '@babel/core': 7.29.0 + '@babel/plugin-transform-typescript': 7.28.6(@babel/core@7.29.0) '@rolldown/pluginutils': 1.0.0-rc.2 - '@vue/babel-plugin-jsx': 1.5.0(@babel/core@7.28.5) - vite: 6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1) + '@vue/babel-plugin-jsx': 1.5.0(@babel/core@7.29.0) + vite: 6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0) vue: 3.5.27(typescript@5.9.3) transitivePeerDependencies: - supports-color - '@vitejs/plugin-vue@5.2.4(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1))(vue@3.5.27(typescript@5.9.3))': + '@vitejs/plugin-vue@5.2.4(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0))(vue@3.5.27(typescript@5.9.3))': dependencies: - vite: 6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1) + vite: 6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0) vue: 3.5.27(typescript@5.9.3) '@vue/babel-helper-vue-transform-on@1.5.0': {} - '@vue/babel-plugin-jsx@1.5.0(@babel/core@7.28.5)': + '@vue/babel-plugin-jsx@1.5.0(@babel/core@7.29.0)': dependencies: - '@babel/helper-module-imports': 7.27.1 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-jsx': 7.28.6(@babel/core@7.28.5) - '@babel/template': 7.27.2 - '@babel/traverse': 7.28.5 - '@babel/types': 7.28.5 + '@babel/helper-module-imports': 7.28.6 + '@babel/helper-plugin-utils': 7.28.6 + '@babel/plugin-syntax-jsx': 7.28.6(@babel/core@7.29.0) + '@babel/template': 7.28.6 + '@babel/traverse': 7.29.0 + '@babel/types': 7.29.0 '@vue/babel-helper-vue-transform-on': 1.5.0 - '@vue/babel-plugin-resolve-type': 1.5.0(@babel/core@7.28.5) + '@vue/babel-plugin-resolve-type': 1.5.0(@babel/core@7.29.0) '@vue/shared': 3.5.27 optionalDependencies: - '@babel/core': 7.28.5 + '@babel/core': 7.29.0 transitivePeerDependencies: - supports-color - '@vue/babel-plugin-resolve-type@1.5.0(@babel/core@7.28.5)': + '@vue/babel-plugin-resolve-type@1.5.0(@babel/core@7.29.0)': dependencies: - '@babel/code-frame': 7.27.1 - '@babel/core': 7.28.5 - '@babel/helper-module-imports': 7.27.1 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/parser': 7.28.5 + '@babel/code-frame': 7.29.0 + '@babel/core': 7.29.0 + '@babel/helper-module-imports': 7.28.6 + '@babel/helper-plugin-utils': 7.28.6 + '@babel/parser': 7.29.0 '@vue/compiler-sfc': 3.5.27 transitivePeerDependencies: - supports-color '@vue/compiler-core@3.5.27': dependencies: - '@babel/parser': 7.28.5 + '@babel/parser': 7.29.0 '@vue/shared': 3.5.27 entities: 7.0.1 estree-walker: 2.0.2 @@ -6911,7 +6689,7 @@ snapshots: '@vue/compiler-sfc@3.5.27': dependencies: - '@babel/parser': 7.28.5 + '@babel/parser': 7.29.0 '@vue/compiler-core': 3.5.27 '@vue/compiler-dom': 3.5.27 '@vue/compiler-ssr': 3.5.27 @@ -6926,14 +6704,14 @@ snapshots: '@vue/compiler-dom': 3.5.27 '@vue/shared': 3.5.27 - '@vue/devtools-core@7.7.9(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1))(vue@3.5.27(typescript@5.9.3))': + '@vue/devtools-core@7.7.9(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0))(vue@3.5.27(typescript@5.9.3))': dependencies: '@vue/devtools-kit': 7.7.9 '@vue/devtools-shared': 7.7.9 mitt: 3.0.1 nanoid: 5.1.6 pathe: 2.0.3 - vite-hot-client: 2.1.0(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)) + vite-hot-client: 2.1.0(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0)) vue: 3.5.27(typescript@5.9.3) transitivePeerDependencies: - vite @@ -6989,22 +6767,22 @@ snapshots: json-schema-traverse: 1.0.0 require-from-string: 2.0.2 - algoliasearch@5.46.2: - dependencies: - '@algolia/abtesting': 1.12.2 - '@algolia/client-abtesting': 5.46.2 - '@algolia/client-analytics': 5.46.2 - '@algolia/client-common': 5.46.2 - '@algolia/client-insights': 5.46.2 - '@algolia/client-personalization': 5.46.2 - '@algolia/client-query-suggestions': 5.46.2 - '@algolia/client-search': 5.46.2 - '@algolia/ingestion': 1.46.2 - '@algolia/monitoring': 1.46.2 - '@algolia/recommend': 5.46.2 - '@algolia/requester-browser-xhr': 5.46.2 - '@algolia/requester-fetch': 5.46.2 - '@algolia/requester-node-http': 5.46.2 + algoliasearch@5.47.0: + dependencies: + '@algolia/abtesting': 1.13.0 + '@algolia/client-abtesting': 5.47.0 + '@algolia/client-analytics': 5.47.0 + '@algolia/client-common': 5.47.0 + '@algolia/client-insights': 5.47.0 + '@algolia/client-personalization': 5.47.0 + '@algolia/client-query-suggestions': 5.47.0 + '@algolia/client-search': 5.47.0 + '@algolia/ingestion': 1.47.0 + '@algolia/monitoring': 1.47.0 + '@algolia/recommend': 5.47.0 + '@algolia/requester-browser-xhr': 5.47.0 + '@algolia/requester-fetch': 5.47.0 + '@algolia/requester-node-http': 5.47.0 ansi-align@3.0.1: dependencies: @@ -7054,49 +6832,48 @@ snapshots: astring@1.9.0: {} - astro-expressive-code@0.41.4(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)): + astro-expressive-code@0.41.6(astro@5.17.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0)(typescript@5.9.3)): dependencies: - astro: 5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3) - rehype-expressive-code: 0.41.4 + astro: 5.17.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0)(typescript@5.9.3) + rehype-expressive-code: 0.41.6 - astro-mermaid@1.2.0(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3))(mermaid@11.12.2): + astro-mermaid@1.3.1(astro@5.17.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0)(typescript@5.9.3))(mermaid@11.12.2): dependencies: - '@anthropic-ai/claude-code': 1.0.128 - astro: 5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3) + astro: 5.17.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0)(typescript@5.9.3) import-meta-resolve: 4.2.0 mdast-util-to-string: 4.0.0 mermaid: 11.12.2 - unist-util-visit: 5.0.0 + unist-util-visit: 5.1.0 - astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3): + astro@5.17.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0)(typescript@5.9.3): dependencies: '@astrojs/compiler': 2.13.0 '@astrojs/internal-helpers': 0.7.5 '@astrojs/markdown-remark': 6.3.10 '@astrojs/telemetry': 3.3.0 - '@capsizecss/unpack': 3.0.1 + '@capsizecss/unpack': 4.0.0 '@oslojs/encoding': 1.1.0 '@rollup/pluginutils': 5.3.0(rollup@2.79.2) acorn: 8.15.0 aria-query: 5.3.2 axobject-query: 4.1.0 boxen: 8.0.1 - ci-info: 4.3.1 + ci-info: 4.4.0 clsx: 2.1.1 common-ancestor-path: 1.0.1 cookie: 1.1.1 cssesc: 3.0.0 debug: 4.4.3 deterministic-object-hash: 2.0.2 - devalue: 5.6.1 - diff: 5.2.0 + devalue: 5.6.2 + diff: 8.0.3 dlv: 1.1.3 dset: 3.1.4 es-module-lexer: 1.7.0 esbuild: 0.25.12 estree-walker: 3.0.3 flattie: 1.1.1 - fontace: 0.3.1 + fontace: 0.4.0 github-slugger: 2.0.0 html-escaper: 3.0.3 http-cache-semantics: 4.2.0 @@ -7114,24 +6891,24 @@ snapshots: prompts: 2.4.2 rehype: 13.0.2 semver: 7.7.3 - shiki: 3.20.0 - smol-toml: 1.5.2 + shiki: 3.22.0 + smol-toml: 1.6.0 svgo: 4.0.0 tinyexec: 1.0.2 tinyglobby: 0.2.15 tsconfck: 3.1.6(typescript@5.9.3) ultrahtml: 1.6.0 - unifont: 0.6.0 - unist-util-visit: 5.0.0 - unstorage: 1.17.3 + unifont: 0.7.3 + unist-util-visit: 5.1.0 + unstorage: 1.17.4 vfile: 6.0.3 - vite: 6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1) - vitefu: 1.1.1(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)) + vite: 6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0) + vitefu: 1.1.1(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0)) xxhash-wasm: 1.1.0 yargs-parser: 21.1.1 yocto-spinner: 0.2.3 zod: 3.25.76 - zod-to-json-schema: 3.25.0(zod@3.25.76) + zod-to-json-schema: 3.25.1(zod@3.25.76) zod-to-ts: 1.2.0(typescript@5.9.3)(zod@3.25.76) optionalDependencies: sharp: 0.34.5 @@ -7184,27 +6961,27 @@ snapshots: axobject-query@4.1.0: {} - babel-plugin-polyfill-corejs2@0.4.14(@babel/core@7.28.5): + babel-plugin-polyfill-corejs2@0.4.15(@babel/core@7.29.0): dependencies: - '@babel/compat-data': 7.28.5 - '@babel/core': 7.28.5 - '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.5) + '@babel/compat-data': 7.29.0 + '@babel/core': 7.29.0 + '@babel/helper-define-polyfill-provider': 0.6.6(@babel/core@7.29.0) semver: 6.3.1 transitivePeerDependencies: - supports-color - babel-plugin-polyfill-corejs3@0.13.0(@babel/core@7.28.5): + babel-plugin-polyfill-corejs3@0.14.0(@babel/core@7.29.0): dependencies: - '@babel/core': 7.28.5 - '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.5) - core-js-compat: 3.47.0 + '@babel/core': 7.29.0 + '@babel/helper-define-polyfill-provider': 0.6.6(@babel/core@7.29.0) + core-js-compat: 3.48.0 transitivePeerDependencies: - supports-color - babel-plugin-polyfill-regenerator@0.6.5(@babel/core@7.28.5): + babel-plugin-polyfill-regenerator@0.6.6(@babel/core@7.29.0): dependencies: - '@babel/core': 7.28.5 - '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.5) + '@babel/core': 7.29.0 + '@babel/helper-define-polyfill-provider': 0.6.6(@babel/core@7.29.0) transitivePeerDependencies: - supports-color @@ -7214,9 +6991,7 @@ snapshots: base-64@1.0.0: {} - base64-js@1.5.1: {} - - baseline-browser-mapping@2.9.7: {} + baseline-browser-mapping@2.9.19: {} bcp-47-match@2.0.3: {} @@ -7250,22 +7025,13 @@ snapshots: dependencies: balanced-match: 1.0.2 - braces@3.0.3: - dependencies: - fill-range: 7.1.1 - optional: true - - brotli@1.3.3: - dependencies: - base64-js: 1.5.1 - browserslist@4.28.1: dependencies: - baseline-browser-mapping: 2.9.7 - caniuse-lite: 1.0.30001760 - electron-to-chromium: 1.5.267 + baseline-browser-mapping: 2.9.19 + caniuse-lite: 1.0.30001766 + electron-to-chromium: 1.5.283 node-releases: 2.0.27 - update-browserslist-db: 1.2.2(browserslist@4.28.1) + update-browserslist-db: 1.2.3(browserslist@4.28.1) buffer-builder@0.2.0: optional: true @@ -7295,7 +7061,7 @@ snapshots: camelcase@8.0.0: {} - caniuse-lite@1.0.30001760: {} + caniuse-lite@1.0.30001766: {} ccount@2.0.1: {} @@ -7312,7 +7078,7 @@ snapshots: chevrotain-allstar@0.3.1(chevrotain@11.0.3): dependencies: chevrotain: 11.0.3 - lodash-es: 4.17.22 + lodash-es: 4.17.23 chevrotain@11.0.3: dependencies: @@ -7326,12 +7092,15 @@ snapshots: chokidar@4.0.3: dependencies: readdirp: 4.1.2 + optional: true - ci-info@4.3.1: {} + chokidar@5.0.0: + dependencies: + readdirp: 5.0.0 - cli-boxes@3.0.0: {} + ci-info@4.4.0: {} - clone@2.1.2: {} + cli-boxes@3.0.0: {} clsx@2.1.1: {} @@ -7374,7 +7143,7 @@ snapshots: dependencies: is-what: 5.5.0 - core-js-compat@3.47.0: + core-js-compat@3.48.0: dependencies: browserslist: 4.28.1 @@ -7504,7 +7273,7 @@ snapshots: d3-quadtree: 3.0.1 d3-timer: 3.0.1 - d3-format@3.1.0: {} + d3-format@3.1.2: {} d3-geo@3.1.1: dependencies: @@ -7539,7 +7308,7 @@ snapshots: d3-scale@4.0.2: dependencies: d3-array: 3.2.4 - d3-format: 3.1.0 + d3-format: 3.1.2 d3-interpolate: 3.0.1 d3-time: 3.1.0 d3-time-format: 4.1.0 @@ -7596,7 +7365,7 @@ snapshots: d3-ease: 3.0.1 d3-fetch: 3.0.1 d3-force: 3.0.0 - d3-format: 3.1.0 + d3-format: 3.1.2 d3-geo: 3.1.1 d3-hierarchy: 3.1.2 d3-interpolate: 3.0.1 @@ -7617,7 +7386,7 @@ snapshots: dagre-d3-es@7.0.13: dependencies: d3: 7.9.0 - lodash-es: 4.17.22 + lodash-es: 4.17.23 data-view-buffer@1.0.2: dependencies: @@ -7649,7 +7418,7 @@ snapshots: dependencies: ms: 2.1.3 - decode-named-character-reference@1.2.0: + decode-named-character-reference@1.3.0: dependencies: character-entities: 2.0.2 @@ -7686,24 +7455,19 @@ snapshots: destr@2.0.5: {} - detect-libc@1.0.3: - optional: true - detect-libc@2.1.2: {} deterministic-object-hash@2.0.2: dependencies: base-64: 1.0.0 - devalue@5.6.1: {} + devalue@5.6.2: {} devlop@1.1.0: dependencies: dequal: 2.0.3 - dfa@1.2.0: {} - - diff@5.2.0: {} + diff@8.0.3: {} direction@2.0.1: {} @@ -7745,7 +7509,7 @@ snapshots: dependencies: jake: 10.9.4 - electron-to-chromium@1.5.267: {} + electron-to-chromium@1.5.283: {} emoji-regex@10.6.0: {} @@ -7823,7 +7587,7 @@ snapshots: typed-array-byte-offset: 1.0.4 typed-array-length: 1.0.7 unbox-primitive: 1.1.0 - which-typed-array: 1.1.19 + which-typed-array: 1.1.20 es-define-property@1.0.1: {} @@ -7936,7 +7700,7 @@ snapshots: eventemitter3@4.0.7: {} - eventemitter3@5.0.1: {} + eventemitter3@5.0.4: {} evtd@0.2.4: {} @@ -7955,12 +7719,12 @@ snapshots: strip-final-newline: 4.0.0 yoctocolors: 2.1.2 - expressive-code@0.41.4: + expressive-code@0.41.6: dependencies: - '@expressive-code/core': 0.41.4 - '@expressive-code/plugin-frames': 0.41.4 - '@expressive-code/plugin-shiki': 0.41.4 - '@expressive-code/plugin-text-markers': 0.41.4 + '@expressive-code/core': 0.41.6 + '@expressive-code/plugin-frames': 0.41.6 + '@expressive-code/plugin-shiki': 0.41.6 + '@expressive-code/plugin-text-markers': 0.41.6 extend@3.0.2: {} @@ -7982,11 +7746,6 @@ snapshots: dependencies: minimatch: 5.1.6 - fill-range@7.1.1: - dependencies: - to-regex-range: 5.0.1 - optional: true - flat-cache@3.2.0: dependencies: flatted: 3.3.3 @@ -7997,22 +7756,13 @@ snapshots: flattie@1.1.1: {} - fontace@0.3.1: + fontace@0.4.0: dependencies: - '@types/fontkit': 2.0.8 - fontkit: 2.0.4 + fontkitten: 1.0.2 - fontkit@2.0.4: + fontkitten@1.0.2: dependencies: - '@swc/helpers': 0.5.17 - brotli: 1.3.3 - clone: 2.1.2 - dfa: 1.2.0 - fast-deep-equal: 3.1.3 - restructure: 3.0.2 tiny-inflate: 1.0.3 - unicode-properties: 1.4.1 - unicode-trie: 2.0.0 for-each@0.3.5: dependencies: @@ -8120,7 +7870,7 @@ snapshots: graceful-fs@4.2.11: {} - h3@1.15.4: + h3@1.15.5: dependencies: cookie-es: 1.2.2 crossws: 0.3.5 @@ -8129,7 +7879,7 @@ snapshots: iron-webcrypto: 1.2.1 node-mock-http: 1.0.4 radix3: 1.1.2 - ufo: 1.6.1 + ufo: 1.6.3 uncrypto: 0.1.3 hachure-fill@0.5.2: {} @@ -8237,7 +7987,7 @@ snapshots: mdast-util-to-hast: 13.2.1 parse5: 7.3.0 unist-util-position: 5.0.0 - unist-util-visit: 5.0.0 + unist-util-visit: 5.1.0 vfile: 6.0.3 web-namespaces: 2.0.1 zwitch: 2.0.4 @@ -8257,7 +8007,7 @@ snapshots: nth-check: 2.1.1 property-information: 7.1.0 space-separated-tokens: 2.0.2 - unist-util-visit: 5.0.0 + unist-util-visit: 5.1.0 zwitch: 2.0.4 hast-util-to-estree@3.1.3: @@ -8364,7 +8114,7 @@ snapshots: i18next@23.16.8: dependencies: - '@babel/runtime': 7.28.4 + '@babel/runtime': 7.28.6 iconv-lite@0.6.3: dependencies: @@ -8490,9 +8240,6 @@ snapshots: call-bound: 1.0.4 has-tostringtag: 1.0.2 - is-number@7.0.0: - optional: true - is-obj@1.0.1: {} is-plain-obj@4.1.0: {} @@ -8529,7 +8276,7 @@ snapshots: is-typed-array@1.1.15: dependencies: - which-typed-array: 1.1.19 + which-typed-array: 1.1.20 is-unicode-supported@2.1.0: {} @@ -8590,7 +8337,7 @@ snapshots: jsonpointer@5.0.1: {} - katex@0.16.27: + katex@0.16.28: dependencies: commander: 8.3.0 @@ -8673,19 +8420,17 @@ snapshots: lodash-es@4.17.21: {} - lodash-es@4.17.22: {} + lodash-es@4.17.23: {} lodash.debounce@4.0.8: {} lodash.sortby@4.7.0: {} - lodash@4.17.21: {} + lodash@4.17.23: {} longest-streak@3.1.0: {} - lru-cache@10.4.3: {} - - lru-cache@11.2.4: {} + lru-cache@11.2.5: {} lru-cache@5.1.1: dependencies: @@ -8701,8 +8446,8 @@ snapshots: magicast@0.5.1: dependencies: - '@babel/parser': 7.28.5 - '@babel/types': 7.28.5 + '@babel/parser': 7.29.0 + '@babel/types': 7.29.0 source-map-js: 1.2.1 markdown-extensions@2.0.0: {} @@ -8717,7 +8462,7 @@ snapshots: dependencies: '@types/mdast': 4.0.4 '@types/unist': 3.0.3 - unist-util-visit: 5.0.0 + unist-util-visit: 5.1.0 mdast-util-directive@3.1.0: dependencies: @@ -8744,7 +8489,7 @@ snapshots: dependencies: '@types/mdast': 4.0.4 '@types/unist': 3.0.3 - decode-named-character-reference: 1.2.0 + decode-named-character-reference: 1.3.0 devlop: 1.1.0 mdast-util-to-string: 4.0.0 micromark: 4.0.2 @@ -8877,7 +8622,7 @@ snapshots: micromark-util-sanitize-uri: 2.0.1 trim-lines: 3.0.1 unist-util-position: 5.0.0 - unist-util-visit: 5.0.0 + unist-util-visit: 5.1.0 vfile: 6.0.3 mdast-util-to-markdown@2.1.2: @@ -8889,7 +8634,7 @@ snapshots: mdast-util-to-string: 4.0.0 micromark-util-classify-character: 2.0.1 micromark-util-decode-string: 2.0.1 - unist-util-visit: 5.0.0 + unist-util-visit: 5.1.0 zwitch: 2.0.4 mdast-util-to-string@4.0.0: @@ -8902,7 +8647,7 @@ snapshots: mermaid@11.12.2: dependencies: - '@braintree/sanitize-url': 7.1.1 + '@braintree/sanitize-url': 7.1.2 '@iconify/utils': 3.1.0 '@mermaid-js/parser': 0.6.3 '@types/d3': 7.4.3 @@ -8914,9 +8659,9 @@ snapshots: dagre-d3-es: 7.0.13 dayjs: 1.11.19 dompurify: 3.3.1 - katex: 0.16.27 + katex: 0.16.28 khroma: 2.1.0 - lodash-es: 4.17.22 + lodash-es: 4.17.23 marked: 16.4.2 roughjs: 4.6.6 stylis: 4.3.6 @@ -8925,7 +8670,7 @@ snapshots: micromark-core-commonmark@2.0.3: dependencies: - decode-named-character-reference: 1.2.0 + decode-named-character-reference: 1.3.0 devlop: 1.1.0 micromark-factory-destination: 2.0.1 micromark-factory-label: 2.0.1 @@ -9131,7 +8876,7 @@ snapshots: micromark-util-decode-string@2.0.1: dependencies: - decode-named-character-reference: 1.2.0 + decode-named-character-reference: 1.3.0 micromark-util-character: 2.1.1 micromark-util-decode-numeric-character-reference: 2.0.2 micromark-util-symbol: 2.0.1 @@ -9179,7 +8924,7 @@ snapshots: dependencies: '@types/debug': 4.1.12 debug: 4.4.3 - decode-named-character-reference: 1.2.0 + decode-named-character-reference: 1.3.0 devlop: 1.1.0 micromark-core-commonmark: 2.0.3 micromark-factory-space: 2.0.1 @@ -9197,12 +8942,6 @@ snapshots: transitivePeerDependencies: - supports-color - micromatch@4.0.8: - dependencies: - braces: 3.0.3 - picomatch: 2.3.1 - optional: true - minimatch@10.1.1: dependencies: '@isaacs/brace-expansion': 5.0.0 @@ -9224,7 +8963,7 @@ snapshots: acorn: 8.15.0 pathe: 2.0.3 pkg-types: 1.3.1 - ufo: 1.6.1 + ufo: 1.6.3 mrmime@2.0.1: {} @@ -9244,8 +8983,8 @@ snapshots: date-fns-tz: 3.2.0(date-fns@4.1.0) evtd: 0.2.4 highlight.js: 11.11.1 - lodash: 4.17.21 - lodash-es: 4.17.22 + lodash: 4.17.23 + lodash-es: 4.17.23 seemly: 0.3.10 treemate: 0.3.11 vdirs: 0.1.8(vue@3.5.27(typescript@5.9.3)) @@ -9304,7 +9043,7 @@ snapshots: dependencies: destr: 2.0.5 node-fetch-native: 1.6.7 - ufo: 1.6.1 + ufo: 1.6.3 ohash@2.0.11: {} @@ -9346,7 +9085,7 @@ snapshots: p-queue@8.1.1: dependencies: - eventemitter3: 5.0.1 + eventemitter3: 5.0.4 p-timeout: 6.1.4 p-timeout@3.2.0: @@ -9368,14 +9107,12 @@ snapshots: '@pagefind/linux-x64': 1.4.0 '@pagefind/windows-x64': 1.4.0 - pako@0.2.9: {} - parse-entities@4.0.2: dependencies: '@types/unist': 2.0.11 character-entities-legacy: 3.0.0 character-reference-invalid: 2.0.1 - decode-named-character-reference: 1.2.0 + decode-named-character-reference: 1.3.0 is-alphanumerical: 2.0.1 is-decimal: 2.0.1 is-hexadecimal: 2.0.1 @@ -9407,7 +9144,7 @@ snapshots: path-scurry@2.0.1: dependencies: - lru-cache: 11.2.4 + lru-cache: 11.2.5 minipass: 7.1.2 pathe@2.0.3: {} @@ -9453,7 +9190,7 @@ snapshots: picocolors: 1.1.1 source-map-js: 1.2.1 - preact@10.28.1: {} + preact@10.28.3: {} pretty-bytes@5.6.0: {} @@ -9480,7 +9217,10 @@ snapshots: dependencies: safe-buffer: 5.2.1 - readdirp@4.1.2: {} + readdirp@4.1.2: + optional: true + + readdirp@5.0.0: {} recma-build-jsx@1.0.0: dependencies: @@ -9562,9 +9302,9 @@ snapshots: dependencies: jsesc: 3.1.0 - rehype-expressive-code@0.41.4: + rehype-expressive-code@0.41.6: dependencies: - expressive-code: 0.41.4 + expressive-code: 0.41.6 rehype-format@5.0.1: dependencies: @@ -9653,7 +9393,7 @@ snapshots: retext: 9.0.0 retext-smartypants: 6.2.0 unified: 11.0.5 - unist-util-visit: 5.0.0 + unist-util-visit: 5.1.0 remark-stringify@11.0.0: dependencies: @@ -9669,8 +9409,6 @@ snapshots: path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - restructure@3.0.2: {} - retext-latin@4.0.0: dependencies: '@types/nlcst': 2.0.3 @@ -9681,7 +9419,7 @@ snapshots: dependencies: '@types/nlcst': 2.0.3 nlcst-to-string: 4.0.0 - unist-util-visit: 5.0.0 + unist-util-visit: 5.1.0 retext-stringify@4.0.0: dependencies: @@ -9708,32 +9446,35 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - rollup@4.53.5: + rollup@4.57.1: dependencies: '@types/estree': 1.0.8 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.53.5 - '@rollup/rollup-android-arm64': 4.53.5 - '@rollup/rollup-darwin-arm64': 4.53.5 - '@rollup/rollup-darwin-x64': 4.53.5 - '@rollup/rollup-freebsd-arm64': 4.53.5 - '@rollup/rollup-freebsd-x64': 4.53.5 - '@rollup/rollup-linux-arm-gnueabihf': 4.53.5 - '@rollup/rollup-linux-arm-musleabihf': 4.53.5 - '@rollup/rollup-linux-arm64-gnu': 4.53.5 - '@rollup/rollup-linux-arm64-musl': 4.53.5 - '@rollup/rollup-linux-loong64-gnu': 4.53.5 - '@rollup/rollup-linux-ppc64-gnu': 4.53.5 - '@rollup/rollup-linux-riscv64-gnu': 4.53.5 - '@rollup/rollup-linux-riscv64-musl': 4.53.5 - '@rollup/rollup-linux-s390x-gnu': 4.53.5 - '@rollup/rollup-linux-x64-gnu': 4.53.5 - '@rollup/rollup-linux-x64-musl': 4.53.5 - '@rollup/rollup-openharmony-arm64': 4.53.5 - '@rollup/rollup-win32-arm64-msvc': 4.53.5 - '@rollup/rollup-win32-ia32-msvc': 4.53.5 - '@rollup/rollup-win32-x64-gnu': 4.53.5 - '@rollup/rollup-win32-x64-msvc': 4.53.5 + '@rollup/rollup-android-arm-eabi': 4.57.1 + '@rollup/rollup-android-arm64': 4.57.1 + '@rollup/rollup-darwin-arm64': 4.57.1 + '@rollup/rollup-darwin-x64': 4.57.1 + '@rollup/rollup-freebsd-arm64': 4.57.1 + '@rollup/rollup-freebsd-x64': 4.57.1 + '@rollup/rollup-linux-arm-gnueabihf': 4.57.1 + '@rollup/rollup-linux-arm-musleabihf': 4.57.1 + '@rollup/rollup-linux-arm64-gnu': 4.57.1 + '@rollup/rollup-linux-arm64-musl': 4.57.1 + '@rollup/rollup-linux-loong64-gnu': 4.57.1 + '@rollup/rollup-linux-loong64-musl': 4.57.1 + '@rollup/rollup-linux-ppc64-gnu': 4.57.1 + '@rollup/rollup-linux-ppc64-musl': 4.57.1 + '@rollup/rollup-linux-riscv64-gnu': 4.57.1 + '@rollup/rollup-linux-riscv64-musl': 4.57.1 + '@rollup/rollup-linux-s390x-gnu': 4.57.1 + '@rollup/rollup-linux-x64-gnu': 4.57.1 + '@rollup/rollup-linux-x64-musl': 4.57.1 + '@rollup/rollup-openbsd-x64': 4.57.1 + '@rollup/rollup-openharmony-arm64': 4.57.1 + '@rollup/rollup-win32-arm64-msvc': 4.57.1 + '@rollup/rollup-win32-ia32-msvc': 4.57.1 + '@rollup/rollup-win32-x64-gnu': 4.57.1 + '@rollup/rollup-win32-x64-msvc': 4.57.1 fsevents: 2.3.3 roughjs@4.6.6: @@ -9837,7 +9578,7 @@ snapshots: sass-embedded@1.83.0: dependencies: - '@bufbuild/protobuf': 2.10.2 + '@bufbuild/protobuf': 2.11.0 buffer-builder: 0.2.0 colorjs.io: 0.5.2 immutable: 5.1.4 @@ -9874,10 +9615,10 @@ snapshots: immutable: 5.1.4 source-map-js: 1.2.1 optionalDependencies: - '@parcel/watcher': 2.5.1 + '@parcel/watcher': 2.5.6 optional: true - sax@1.4.3: {} + sax@1.4.4: {} search-insights@2.17.3: {} @@ -9950,14 +9691,14 @@ snapshots: shebang-regex@3.0.0: {} - shiki@3.20.0: + shiki@3.22.0: dependencies: - '@shikijs/core': 3.20.0 - '@shikijs/engine-javascript': 3.20.0 - '@shikijs/engine-oniguruma': 3.20.0 - '@shikijs/langs': 3.20.0 - '@shikijs/themes': 3.20.0 - '@shikijs/types': 3.20.0 + '@shikijs/core': 3.22.0 + '@shikijs/engine-javascript': 3.22.0 + '@shikijs/engine-oniguruma': 3.22.0 + '@shikijs/langs': 3.22.0 + '@shikijs/themes': 3.22.0 + '@shikijs/types': 3.22.0 '@shikijs/vscode-textmate': 10.0.2 '@types/hast': 3.0.4 @@ -10004,11 +9745,11 @@ snapshots: '@types/node': 17.0.45 '@types/sax': 1.2.7 arg: 5.0.2 - sax: 1.4.3 + sax: 1.4.4 smob@1.5.0: {} - smol-toml@1.5.2: {} + smol-toml@1.6.0: {} source-map-js@1.2.1: {} @@ -10031,33 +9772,33 @@ snapshots: speakingurl@14.0.1: {} - starlight-contributor-list@0.3.1(@astrojs/starlight@0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3))): + starlight-contributor-list@0.3.2(@astrojs/starlight@0.37.5(astro@5.17.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0)(typescript@5.9.3))): dependencies: '@11ty/eleventy-fetch': 4.0.1 - '@astrojs/starlight': 0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)) + '@astrojs/starlight': 0.37.5(astro@5.17.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0)(typescript@5.9.3)) transitivePeerDependencies: - encoding - supports-color - starlight-giscus@0.8.1(@astrojs/starlight@0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3))): + starlight-giscus@0.8.1(@astrojs/starlight@0.37.5(astro@5.17.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0)(typescript@5.9.3))): dependencies: - '@astrojs/starlight': 0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)) + '@astrojs/starlight': 0.37.5(astro@5.17.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0)(typescript@5.9.3)) - starlight-image-zoom@0.13.2(@astrojs/starlight@0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3))): + starlight-image-zoom@0.13.2(@astrojs/starlight@0.37.5(astro@5.17.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0)(typescript@5.9.3))): dependencies: - '@astrojs/starlight': 0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)) + '@astrojs/starlight': 0.37.5(astro@5.17.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0)(typescript@5.9.3)) mdast-util-mdx-jsx: 3.2.0 rehype-raw: 7.0.0 - unist-util-visit: 5.0.0 + unist-util-visit: 5.1.0 unist-util-visit-parents: 6.0.2 transitivePeerDependencies: - supports-color - starlight-links-validator@0.19.2(@astrojs/starlight@0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)))(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)): + starlight-links-validator@0.19.2(@astrojs/starlight@0.37.5(astro@5.17.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0)(typescript@5.9.3)))(astro@5.17.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0)(typescript@5.9.3)): dependencies: - '@astrojs/starlight': 0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)) + '@astrojs/starlight': 0.37.5(astro@5.17.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0)(typescript@5.9.3)) '@types/picomatch': 3.0.2 - astro: 5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3) + astro: 5.17.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0)(typescript@5.9.3) github-slugger: 2.0.0 hast-util-from-html: 2.0.3 hast-util-has-property: 3.0.0 @@ -10067,22 +9808,17 @@ snapshots: mdast-util-to-string: 4.0.0 picomatch: 4.0.3 terminal-link: 5.0.0 - unist-util-visit: 5.0.0 + unist-util-visit: 5.1.0 transitivePeerDependencies: - supports-color - starlight-scroll-to-top@0.4.0(@astrojs/starlight@0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3))): + starlight-scroll-to-top@0.4.0(@astrojs/starlight@0.37.5(astro@5.17.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0)(typescript@5.9.3))): dependencies: - '@astrojs/starlight': 0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)) + '@astrojs/starlight': 0.37.5(astro@5.17.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0)(typescript@5.9.3)) starlight-sidebar-topics@0.6.2(@astrojs/starlight@0.37.5(astro@5.17.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0)(typescript@5.9.3))): dependencies: - '@astrojs/starlight': 0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)) - starlight-sidebar-topics: 0.6.2(@astrojs/starlight@0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3))) - - starlight-sidebar-topics@0.6.2(@astrojs/starlight@0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3))): - dependencies: - '@astrojs/starlight': 0.37.1(astro@5.16.6(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)(typescript@5.9.3)) + '@astrojs/starlight': 0.37.5(astro@5.17.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@2.79.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0)(typescript@5.9.3)) picomatch: 4.0.3 stop-iteration-iterator@1.1.0: @@ -10193,7 +9929,7 @@ snapshots: has-flag: 4.0.0 optional: true - supports-hyperlinks@4.3.0: + supports-hyperlinks@4.4.0: dependencies: has-flag: 5.0.1 supports-color: 10.2.2 @@ -10208,14 +9944,14 @@ snapshots: css-what: 6.2.2 csso: 5.0.5 picocolors: 1.1.1 - sax: 1.4.3 + sax: 1.4.4 sync-child-process@1.0.2: dependencies: - sync-message-port: 1.1.3 + sync-message-port: 1.2.0 optional: true - sync-message-port@1.1.3: + sync-message-port@1.2.0: optional: true tailwindcss@4.1.18: {} @@ -10234,9 +9970,9 @@ snapshots: terminal-link@5.0.0: dependencies: ansi-escapes: 7.2.0 - supports-hyperlinks: 4.3.0 + supports-hyperlinks: 4.4.0 - terser@5.44.1: + terser@5.46.0: dependencies: '@jridgewell/source-map': 0.3.11 acorn: 8.15.0 @@ -10252,11 +9988,6 @@ snapshots: fdir: 6.5.0(picomatch@4.0.3) picomatch: 4.0.3 - to-regex-range@5.0.1: - dependencies: - is-number: 7.0.0 - optional: true - totalist@3.0.1: {} tr46@0.0.3: {} @@ -10277,7 +10008,8 @@ snapshots: optionalDependencies: typescript: 5.9.3 - tslib@2.8.1: {} + tslib@2.8.1: + optional: true type-fest@0.16.0: {} @@ -10318,7 +10050,7 @@ snapshots: typescript@5.9.3: {} - ufo@1.6.1: {} + ufo@1.6.3: {} ultrahtml@1.6.0: {} @@ -10331,7 +10063,8 @@ snapshots: uncrypto@0.1.3: {} - undici-types@7.16.0: {} + undici-types@7.16.0: + optional: true unicode-canonical-property-names-ecmascript@2.0.1: {} @@ -10342,18 +10075,8 @@ snapshots: unicode-match-property-value-ecmascript@2.2.1: {} - unicode-properties@1.4.1: - dependencies: - base64-js: 1.5.1 - unicode-trie: 2.0.0 - unicode-property-aliases-ecmascript@2.2.0: {} - unicode-trie@2.0.0: - dependencies: - pako: 0.2.9 - tiny-inflate: 1.0.3 - unicorn-magic@0.3.0: {} unified@11.0.5: @@ -10366,7 +10089,7 @@ snapshots: trough: 2.2.0 vfile: 6.0.3 - unifont@0.6.0: + unifont@0.7.3: dependencies: css-tree: 3.1.0 ofetch: 1.5.1 @@ -10401,7 +10124,7 @@ snapshots: unist-util-remove-position@5.0.0: dependencies: '@types/unist': 3.0.3 - unist-util-visit: 5.0.0 + unist-util-visit: 5.1.0 unist-util-stringify-position@4.0.0: dependencies: @@ -10416,7 +10139,7 @@ snapshots: '@types/unist': 3.0.3 unist-util-is: 6.0.1 - unist-util-visit@5.0.0: + unist-util-visit@5.1.0: dependencies: '@types/unist': 3.0.3 unist-util-is: 6.0.1 @@ -10424,20 +10147,20 @@ snapshots: universalify@2.0.1: {} - unstorage@1.17.3: + unstorage@1.17.4: dependencies: anymatch: 3.1.3 - chokidar: 4.0.3 + chokidar: 5.0.0 destr: 2.0.5 - h3: 1.15.4 - lru-cache: 10.4.3 + h3: 1.15.5 + lru-cache: 11.2.5 node-fetch-native: 1.6.7 ofetch: 1.5.1 - ufo: 1.6.1 + ufo: 1.6.3 upath@1.2.0: {} - update-browserslist-db@1.2.2(browserslist@4.28.1): + update-browserslist-db@1.2.3(browserslist@4.28.1): dependencies: browserslist: 4.28.1 escalade: 3.2.0 @@ -10470,11 +10193,11 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.3 - vite-hot-client@2.1.0(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)): + vite-hot-client@2.1.0(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0)): dependencies: - vite: 6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1) + vite: 6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0) - vite-plugin-inspect@0.8.9(rollup@2.79.2)(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)): + vite-plugin-inspect@0.8.9(rollup@2.79.2)(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0)): dependencies: '@antfu/utils': 0.7.10 '@rollup/pluginutils': 5.3.0(rollup@2.79.2) @@ -10485,60 +10208,60 @@ snapshots: perfect-debounce: 1.0.0 picocolors: 1.1.1 sirv: 3.0.2 - vite: 6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1) + vite: 6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0) transitivePeerDependencies: - rollup - supports-color - vite-plugin-pwa@1.2.0(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1))(workbox-build@7.4.0)(workbox-window@7.4.0): + vite-plugin-pwa@1.2.0(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0))(workbox-build@7.4.0)(workbox-window@7.4.0): dependencies: debug: 4.4.3 pretty-bytes: 6.1.1 tinyglobby: 0.2.15 - vite: 6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1) + vite: 6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0) workbox-build: 7.4.0 workbox-window: 7.4.0 transitivePeerDependencies: - supports-color - vite-plugin-vue-devtools@7.7.9(rollup@2.79.2)(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1))(vue@3.5.27(typescript@5.9.3)): + vite-plugin-vue-devtools@7.7.9(rollup@2.79.2)(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0))(vue@3.5.27(typescript@5.9.3)): dependencies: - '@vue/devtools-core': 7.7.9(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1))(vue@3.5.27(typescript@5.9.3)) + '@vue/devtools-core': 7.7.9(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0))(vue@3.5.27(typescript@5.9.3)) '@vue/devtools-kit': 7.7.9 '@vue/devtools-shared': 7.7.9 execa: 9.6.1 sirv: 3.0.2 - vite: 6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1) - vite-plugin-inspect: 0.8.9(rollup@2.79.2)(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)) - vite-plugin-vue-inspector: 5.3.2(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)) + vite: 6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0) + vite-plugin-inspect: 0.8.9(rollup@2.79.2)(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0)) + vite-plugin-vue-inspector: 5.3.2(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0)) transitivePeerDependencies: - '@nuxt/kit' - rollup - supports-color - vue - vite-plugin-vue-inspector@5.3.2(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)): + vite-plugin-vue-inspector@5.3.2(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0)): dependencies: - '@babel/core': 7.28.5 - '@babel/plugin-proposal-decorators': 7.29.0(@babel/core@7.28.5) - '@babel/plugin-syntax-import-attributes': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.28.5) - '@babel/plugin-transform-typescript': 7.28.6(@babel/core@7.28.5) - '@vue/babel-plugin-jsx': 1.5.0(@babel/core@7.28.5) + '@babel/core': 7.29.0 + '@babel/plugin-proposal-decorators': 7.29.0(@babel/core@7.29.0) + '@babel/plugin-syntax-import-attributes': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.29.0) + '@babel/plugin-transform-typescript': 7.28.6(@babel/core@7.29.0) + '@vue/babel-plugin-jsx': 1.5.0(@babel/core@7.29.0) '@vue/compiler-dom': 3.5.27 kolorist: 1.8.0 magic-string: 0.30.21 - vite: 6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1) + vite: 6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0) transitivePeerDependencies: - supports-color - vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1): + vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0): dependencies: esbuild: 0.25.12 fdir: 6.5.0(picomatch@4.0.3) picomatch: 4.0.3 postcss: 8.5.6 - rollup: 4.53.5 + rollup: 4.57.1 tinyglobby: 0.2.15 optionalDependencies: '@types/node': 25.0.2 @@ -10547,11 +10270,11 @@ snapshots: lightningcss: 1.30.2 sass: 1.96.0 sass-embedded: 1.83.0 - terser: 5.44.1 + terser: 5.46.0 - vitefu@1.1.1(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1)): + vitefu@1.1.1(vite@6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0)): optionalDependencies: - vite: 6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.44.1) + vite: 6.4.1(@types/node@25.0.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.83.0)(sass@1.96.0)(terser@5.46.0) vooks@0.2.12(vue@3.5.27(typescript@5.9.3)): dependencies: @@ -10635,7 +10358,7 @@ snapshots: isarray: 2.0.5 which-boxed-primitive: 1.1.1 which-collection: 1.0.2 - which-typed-array: 1.1.19 + which-typed-array: 1.1.20 which-collection@1.0.2: dependencies: @@ -10646,7 +10369,7 @@ snapshots: which-pm-runs@1.1.0: {} - which-typed-array@1.1.19: + which-typed-array@1.1.20: dependencies: available-typed-arrays: 1.0.7 call-bind: 1.0.8 @@ -10676,10 +10399,10 @@ snapshots: workbox-build@7.4.0: dependencies: '@apideck/better-ajv-errors': 0.3.6(ajv@8.17.1) - '@babel/core': 7.28.5 - '@babel/preset-env': 7.28.5(@babel/core@7.28.5) - '@babel/runtime': 7.28.4 - '@rollup/plugin-babel': 5.3.1(@babel/core@7.28.5)(rollup@2.79.2) + '@babel/core': 7.29.0 + '@babel/preset-env': 7.29.0(@babel/core@7.29.0) + '@babel/runtime': 7.28.6 + '@rollup/plugin-babel': 5.3.1(@babel/core@7.29.0)(rollup@2.79.2) '@rollup/plugin-node-resolve': 15.3.1(rollup@2.79.2) '@rollup/plugin-replace': 2.4.2(rollup@2.79.2) '@rollup/plugin-terser': 0.4.4(rollup@2.79.2) @@ -10689,7 +10412,7 @@ snapshots: fast-json-stable-stringify: 2.1.0 fs-extra: 9.1.0 glob: 11.1.0 - lodash: 4.17.21 + lodash: 4.17.23 pretty-bytes: 5.6.0 rollup: 2.79.2 source-map: 0.8.0-beta.0 @@ -10815,7 +10538,7 @@ snapshots: yoctocolors@2.1.2: {} - zod-to-json-schema@3.25.0(zod@3.25.76): + zod-to-json-schema@3.25.1(zod@3.25.76): dependencies: zod: 3.25.76 From 5c80148afe433e324efa09f7684812fc3020cab9 Mon Sep 17 00:00:00 2001 From: MrlingXD <90316914+wling-art@users.noreply.github.com> Date: Sun, 1 Feb 2026 12:40:17 +0800 Subject: [PATCH 28/42] =?UTF-8?q?=F0=9F=94=A7=20=E6=9B=B4=E6=96=B0=20GitHu?= =?UTF-8?q?b=20=E9=93=BE=E6=8E=A5=E5=B9=B6=E7=A7=BB=E9=99=A4=20Sidebar=20?= =?UTF-8?q?=E7=BB=84=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- astro.config.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/astro.config.ts b/astro.config.ts index b5e339976..a60e99e71 100644 --- a/astro.config.ts +++ b/astro.config.ts @@ -27,7 +27,7 @@ export default defineConfig({ } }, favicon: "/favicon.ico", - social: [{ icon: "github", label: "GitHub", href: "https://github.com/withastro/starlight" }], + social: [{ icon: "github", label: "GitHub", href: "https://github.com/Cubic-Project/NitWikit" }], logo: { src: "./src/assets/logo.svg" }, lastUpdated: true, editLink: { @@ -1051,7 +1051,6 @@ export default defineConfig({ starlightScrollToTop() ], components: { - Sidebar: "./src/components/Sidebar.astro", LastUpdated: "./src/components/LastUpdated.astro" } }), From a236b009ab0017c1099c199462355dffb1a09be3 Mon Sep 17 00:00:00 2001 From: MrlingXD <90316914+wling-art@users.noreply.github.com> Date: Sun, 1 Feb 2026 14:02:05 +0800 Subject: [PATCH 29/42] =?UTF-8?q?=F0=9F=94=A7=20=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E5=9B=BE=E6=A0=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- astro.config.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/astro.config.ts b/astro.config.ts index a60e99e71..8da40f408 100644 --- a/astro.config.ts +++ b/astro.config.ts @@ -47,7 +47,7 @@ export default defineConfig({ { label: "基础", link: "/general/intro", - icon: "open-book", + icon: "seti:bazel", id: "basics", items: [ { @@ -1030,7 +1030,7 @@ export default defineConfig({ { label: "关于", link: "/about/intro", - icon: "open-book", + icon: "list-format", items: ["about/intro", "about/sponsor", "about/timeline", "about/ad"] } ], @@ -1089,4 +1089,4 @@ export default defineConfig({ noExternal: ["naive-ui", "vueuc", "date-fns"] } } -}); +}); \ No newline at end of file From a0018b0592b74018a89467cfd4bdb264a5d0415b Mon Sep 17 00:00:00 2001 From: MrlingXD <90316914+wling-art@users.noreply.github.com> Date: Sun, 1 Feb 2026 14:30:19 +0800 Subject: [PATCH 30/42] =?UTF-8?q?=F0=9F=94=A7=20=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E4=B8=BB=E9=A2=98=E9=A2=9C=E8=89=B2=E5=8F=98=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- astro.config.ts | 5 ----- src/content/docs/index.mdx | 4 ++-- src/styles/global.css | 30 ++++++++++++++++++++++++++++++ 3 files changed, 32 insertions(+), 7 deletions(-) diff --git a/astro.config.ts b/astro.config.ts index 8da40f408..de49394c1 100644 --- a/astro.config.ts +++ b/astro.config.ts @@ -836,7 +836,6 @@ export default defineConfig({ }, { label: "BDS 核心", - collapsed: true, items: [ { label: "准备工作", @@ -922,7 +921,6 @@ export default defineConfig({ }, { label: "Nukkit 核心", - collapsed: true, items: [ "bedrock/nukkit/intro", { @@ -979,7 +977,6 @@ export default defineConfig({ }, { label: "PocketMine 核心", - collapsed: true, items: [ "bedrock/pocketmine/intro", { @@ -1000,7 +997,6 @@ export default defineConfig({ }, { label: "其他基岩版服务器核心", - collapsed: true, items: [ { label: "准备工作", @@ -1022,7 +1018,6 @@ export default defineConfig({ }, { label: "WaterdogePE 跨服", - collapsed: true, items: ["bedrock/waterdogepe/preparation"] } ] diff --git a/src/content/docs/index.mdx b/src/content/docs/index.mdx index 20a9c8fa8..2f578b61a 100644 --- a/src/content/docs/index.mdx +++ b/src/content/docs/index.mdx @@ -3,6 +3,7 @@ title: Welcome to Cubic Wiki giscus: false description: 一群笨蛋编写的 Minecraft 开服教程 template: splash +lastUpdated: false hero: tagline: 主要针对高版本 Java 版和基岩版服务器的开服指南。从零开始,手把手教你搭建和运营 Minecraft 服务器~ image: @@ -30,7 +31,6 @@ import LinkCard from "/src/components/LinkCard.astro"; - ## 贡献者们 笨蛋们的力量让 Cubic Wiki 得以成长和完善,感谢每一位为项目做出贡献的朋友! @@ -39,4 +39,4 @@ import LinkCard from "/src/components/LinkCard.astro"; 无论你是通过提交代码、修复错误、改进文档、设计图表,还是提出宝贵的建议和反馈,你都是推动 Cubic Wiki 前进的重要力量。每一个 Pull Request、Issue 和讨论都体现了社区的热情和专业精神。 - \ No newline at end of file + diff --git a/src/styles/global.css b/src/styles/global.css index f48c1c9d1..ff217618e 100644 --- a/src/styles/global.css +++ b/src/styles/global.css @@ -1,5 +1,35 @@ @import "tailwindcss"; +/* Dark mode colors. */ +:root { + --sl-color-accent-low: #002c16; + --sl-color-accent: #007f48; + --sl-color-accent-high: #a8d6b7; + --sl-color-white: #ffffff; + --sl-color-gray-1: #eeeeee; + --sl-color-gray-2: #c8c8c8; + --sl-color-gray-3: #a4a4a4; + --sl-color-gray-4: #585858; + --sl-color-gray-5: #383838; + --sl-color-gray-6: #272727; + --sl-color-black: #181818; +} +/* Light mode colors. */ +:root[data-theme="light"] { + --sl-color-accent-low: #bfe1ca; + --sl-color-accent: #005831; + --sl-color-accent-high: #003d20; + --sl-color-white: #181818; + --sl-color-gray-1: #272727; + --sl-color-gray-2: #383838; + --sl-color-gray-3: #585858; + --sl-color-gray-4: #8b8b8b; + --sl-color-gray-5: #c2c2c2; + --sl-color-gray-6: #eeeeee; + --sl-color-gray-7: #f6f6f6; + --sl-color-black: #ffffff; +} + @media (min-width: 96rem) { :root { --sl-content-width: 64rem; From 3a00992771a4f82059446156eb6cb6aeeb3d24e8 Mon Sep 17 00:00:00 2001 From: Radiation-pi <96102795+Radiation-pi@users.noreply.github.com> Date: Sun, 21 Dec 2025 15:14:51 +0800 Subject: [PATCH 31/42] =?UTF-8?q?[=E4=BF=AE=E8=AE=A2]=20=E4=BF=AE=E8=AE=A2?= =?UTF-8?q?=20Skript=20=E6=95=99=E7=A8=8B=E5=B9=B6=E5=AE=8C=E5=96=84?= =?UTF-8?q?=E6=96=87=E6=A1=A3=20(#43)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [feat]Revise Skript tutorials and enhance documentation Expanded and clarified the Skript basic and advanced tutorials, including detailed explanations of syntax, types, and usage patterns. Improved structure, added practical examples, and enhanced guidance for beginners and advanced users. Updated images and reorganized content for better readability and learning progression. * [修复] 修复构建 修复构建 * Update docs-java/process/maintenance/lang/skript/basic-tutorials.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update docs-java/process/maintenance/lang/skript/advanced-tutorials.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * 🎨 文档格式化 --- .../lang/skript/_assets/SkriptBasic1.png | Bin 22272 -> 83034 bytes .../advance/lang/skript/advanced-tutorials.md | 360 ++--- .../advance/lang/skript/basic-tutorials.md | 1392 +++++++++-------- .../docs/java/advance/lang/skript/intro.md | 70 +- 4 files changed, 908 insertions(+), 914 deletions(-) diff --git a/src/content/docs/java/advance/lang/skript/_assets/SkriptBasic1.png b/src/content/docs/java/advance/lang/skript/_assets/SkriptBasic1.png index 91ec868a3d6e14b3335d9e91b0a314a07ccc02b4..60e0a381000431a500fd3e0d41b9528d5902f849 100644 GIT binary patch literal 83034 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ξRZAQfHHg?Hv7zu%tRa@ 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

    GrhC&&^?ba4HqK$d*qX?m60|6qW?7Vj7 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 Dtt~v$ literal 22272 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 O;o8i$1k**U6#frJJoSeF diff --git a/src/content/docs/java/advance/lang/skript/advanced-tutorials.md b/src/content/docs/java/advance/lang/skript/advanced-tutorials.md index 9e78621f6..90826edef 100644 --- a/src/content/docs/java/advance/lang/skript/advanced-tutorials.md +++ b/src/content/docs/java/advance/lang/skript/advanced-tutorials.md @@ -2,27 +2,27 @@ title: 高级教程 --- - - ## skript-reflect -**skript-reflect** 是 **Skript** 的一个拓展插件,允许你运用 Java 的反射机制来进行更高级的操作,它旨在将 **Java** 的功能与 **Skript** 易于使用的开发环境相结合。 +学完基本的 Skript 语法后,我们会遇到一些 Skript 本身无法实现的功能,`Skript-reflect` 就是为了解决这些问题而诞生的。 -有了 **skript-reflect** 的 **Skript** 几乎可以完成插件能做的任何事,不过是复杂性的问题。 +在基础教程中,我们已经提到过,`Skript-reflect` 允许我们以稍低一些的性能在 Skript 中反射调用 Java API, -为什么需要 skript-reflect? +它旨在将 **Java** 的功能与 **Skript** 易于使用的开发环境相结合,从而使 **Skript** 脚本编写者能够几乎访问任何 **Java** 类、方法和字段。 -- 正确编写插件是很困难的,特别是如果你是 **Java** 的新手。 **skript-reflect** 将为你负重前行,让你专注于编写高质量的 **Skript** 脚本。 +### 为什么使用 skript-reflect? -- 与通常需要编译并重启服务器才能生效的 Java 插件不同,使用 skript-reflect 编写的 Skript 脚本可以通过简单的 sk reload 快速重载并测试。 +- 我们默认,使用 Skript 的用户通常并不是经验丰富的 **Java** 开发者。 `skript-reflect` 使这些用户能够轻松访问 **Java** API; +- 作为 Skript Addon,使用 `skript-reflect` 的脚本无需像 Java 插件那样进行编译、上传并重启,从而大大降低了开发门槛和调试速度; +- 在我们开发服务器时,有时需要访问其他插件的 API 来实现某些功能, `skript-reflect` 使我们能够轻松地做到这一点; -- 在 sk 脚本中实现某些功能可能需要使用反射来访问私有方法、字段和构造函数。 **skript-reflect** 的内置反射允许你无缝访问这些私有成员。 +### 如何使用 -- **Skript** 的基本特性之一是其极大的可定制性。使用 **skript-reflect** 编写的扩展使 sk 的这点更为突出,这允许你在必要时快速更改你的代码。 +接下来,我们通过几个简单的例子来学习如何使用 `skript-reflect`。 -下面的代码块包含了一些 **skript-reflect** 基础的语法。 +#### 调用其他插件的 API -其作用是在有玩家使用 **EssentialsX** 的 tpa 尝试 `/tpa lilingfeng` 时阻止这件事 +假如我们想要阻止某个玩家被其他玩家 tpa 到,Skript 本身并没有提供监听 **EssentialsX** tpa 请求的事件, ```skript import: @@ -34,30 +34,46 @@ on TPARequestEvent: set {_player} to {_ess_IUser}.getBase() # 获取Player对象 # 判断玩家 if {_player} is player("lilingfeng"): - send "&clilingfeng是我的不准tpa到她那里🥵" + set {_command_sender} to event.getRequester().getPlayer() # 获取发起 tpa 请求的玩家 + send "&clilingfeng是我的不准tpa到她那里🥵" to {_command_sender} cancel event # 取消事件 ``` -下面来逐行解析 +该脚本作用是在有玩家使用 **EssentialsX** 的 tpa 尝试输入指令 `/tpa lilingfeng` 时阻止这件事 + +我们假设你对 Java 不够了解,我们来简单介绍一些基础的 Java 知识: + +- **类 (Class)** :类是对象的蓝图或模板。它 **定义** 了对象的属性(字段)和行为(方法)。例如,`Player` 类表示游戏中的玩家对象; +- **对象 (Object)** :对象是类的实例。它包含类定义的属性的具体值,并且可以调用类定义的方法。例如,一个特定的玩家就是 `Player` 类的一个对象; +- **方法 (Method)** :方法是类中定义的函数或操作。它们定义了对象可以执行的 **行为**。类似于 Skript 中的 `Effect` 例如,`getTarget()` 方法; +- **字段 (Field)** :字段是类中定义的变量。它们表示对象的 **属性**。例如,`Player` 类可能有一个 `name` 字段,表示玩家的名称。 + +我们来看一下详细解析一下上面的代码,首先我们需要一个事件 `TPARequestEvent`,这个事件是由 **EssentialsX** 插件提供的, + +用于处理玩家之间的传送请求,我们应该先查询 [EssentialsX 的 Javadoc](https://jd-v2.essentialsx.net/),搜索我们目标事件, + +这和我们在 Skript 中首先应该查询事件是一样的,我们在网站右上角 `search` 搜索 `event`,然后筛选一下我们目标事件 `TPARequestEvent`, + +通常情况下,事件类的命名都会以 `Event` 结尾,且会继承 `org.bukkit.event.Event` 类, + +这样的类我们可以在导入包后,直接在 Skript 中监听,导入包的语法如下: ```skript import: net.ess3.api.events.TPARequestEvent + +on TPARequestEvent: ``` 这两行代码意为导入 `net.ess3.api.events` 包中的 `TPARequestEvent` **类**。 -`import:` 块必须放在脚本的最左端,前面不能有缩进。 - -对类的调用必须在导入完成后进行,因此我们建议你尽可能将此语句放在脚本中靠顶端的位置。 +`import:` 是 `Structure`,因此前面不能有缩进,对类的调用必须在导入完成后进行,因此我们建议你尽可能将此语句放在脚本中靠顶端的位置。 -通过 `import:` 块导入类后, **skript-reflect** 将创建一个 **Expressions**,允许你通过其名称轻易地引用 Java 类。 +通过 `import:` 块导入事件后,我们就可以监听这个事件了,这与 Skript 中监听内置事件的语法相似, -```skript -on TPARequestEvent: -``` +但由于 `TPARequestEvent` 并非 **Skript** 内置的事件,因此 Event value 需要自行处理。 -这行代码意为注册监听 `TPARequestEvent` 事件,与普通 sk 里注册事件的语法没啥区别。 +例如,`TPARequestEvent` 事件中没有 `event-player`,因此无法直接使用 `player` 关键字来获取发起 tpa 的玩家。 ```skript set {_ess_IUser} to event.getTarget() # 获取IUser对象 @@ -70,25 +86,26 @@ on TPARequestEvent: ```skript if {_player} is player("lilingfeng"): - send "&clilingfeng是我的不准tpa到她那里🥵" - cancel event + set {_command_sender} to event.getRequester().getPlayer() # 获取发送者 + send "&clilingfeng是我的不准tpa到她那里🥵" to {_command_sender} + cancel event # 取消事件 ``` 这几行和普通的 sk 语法没什么区别,作用是判断然后取消事件。 -### 使用方法 +#### 调用核心 API -如果你需要调用其他的插件或是一些 **skript** 里没有而 [Bukkit API](https://bukkit.windit.net/javadoc/) 有的 API,那么会很棘手。 +在上面这个例子中,我们利用了一些方法 `getTarget()`、`getBase()`、`getRequester()` 和 `getPlayer()`,这些方法都是 Java 类或接口中定义的, -**skript-reflect** 很好的解决了这一点。 +新手会觉得很难理解这些方法是从哪里来的,如何使用的,下面我们就来学习一下如何阅读 **Java Doc**。 -比如,你正在使用 **Leaves** 服务端,想要用 sk 来改变 Leaves 中假人在玩家列表中显示的名字,那么可以遵循以下步骤: +假如我们想要使用 **Leaves** 服务端的假人功能,来修改假人在玩家列表中显示的名字,但是 Skript 本身并没有提供相关的事件和方法,我们该如何实现呢? -#### 查询 Javadoc +##### 学会阅读 Java Doc -修改假人的名字这一行为应该在假人加入服务器时进行,所以我们得监听这一事件。 +我们先阅读 [Leaves 的 Javadoc](https://repo.leavesmc.org/javadoc/snapshots/org/leavesmc/leaves/leaves-api/1.20.6-R0.1-SNAPSHOT),寻找相关的事件和方法。 -我们需要找到 bot 事件到底是哪个,查询 [Leaves 的 Javadoc](https://repo.leavesmc.org/javadoc/snapshots/org/leavesmc/leaves/leaves-api/1.20.6-R0.1-SNAPSHOT): +:::info[如何阅读 Java Doc] ![搜索事件](_assets/SearchEvent.png) @@ -114,80 +131,46 @@ on TPARequestEvent: 再次查询 [Bukkit API](https://bukkit.windit.net/javadoc/org/bukkit/entity/Player.html) 可以找到 `Player` 类有的方法,如 `Player#setPlayerListName()`,这正是我们需要的方法。 -#### 编写程序 +::: -开始编写程序 +##### 编写脚本 ```skript import: - org.leavesmc.leaves.event.bot.BotJoinEvent #导入类 + org.leavesmc.leaves.event.bot.BotJoinEvent as BotJoin #导入类 # 监听事件 -on BotJoinEvent: +on BotJoin: set {_bot} to event.getBot() # 获取假人 set {_bot_name} to {_bot}.getName() # 储存假人原本的名字 {_bot}.setPlayerListName("假的%{_bot_name}%") # 修改假人在tab列表里的名字 ``` -这一过程也可适用于其他插件,比如 [zimzaza4 大蛇](https://github.com/zimzaza4) 的 [Skript-Floodgate-Api](https://github.com/zimzaza4/Skript-Floodgate-Api), -就是利用 **skript-reflect** 来调用 [Floodagate API](https://wiki.geysermc.org/floodgate/api/) 的。 +`import` 语句导入了 `BotJoinEvent` 类,并将其设为别名 `BotJoin`,以便在 Skript 中使用。 -可以查看下面的教程来详细学习 **skript-reflect** 的基础功能 (对,下面这一大坨只是基础) +这一过程也可适用于其他插件,比如 [zimzaza4](https://github.com/zimzaza4) 的 [Skript-Floodgate-Api](https://github.com/zimzaza4/Skript-Floodgate-Api), -### skript-reflect 基础教程 +就是利用 **skript-reflect** 来调用 [Floodagate API](https://wiki.geysermc.org/floodgate/api/)。 -:::danger +可以查看下面的教程来详细学习 **skript-reflect** 的基础功能 -此段部分或全部抄自 **skript-reflect** [官方文档](https://tpgamesnl.gitbook.io/skript-reflect/basics) +### 更进一步 -::: - -#### 导入 Java 类 - -##### _在解析时导入类 (推荐)_ - -在大多数情况下,无需运行脚本即可知道所需类的确切限定名称。如果是这种情况,你应该使用 **skript-reflect** 的 `import` 块: - -:::note - -为避免冲突,`import` 块创建的表达式仅对导入它们的脚本可用。你必须在使用它们的每个脚本中导入 Java 类。 - -::: - -```skript -import: - java.lang.System +前文已经介绍了如何使用 `skript-reflect` 来调用其他插件的 API,接下来我们将详细介绍 `skript-reflect` 的各项功能。 -command /example: - trigger: - message "%System%" # java.lang.System - System.out.println("test") -``` +在前面我们使用 `import:` 块导入了 Java 类,其实还有其他的方式。 -```skript -import: - java.lang.String as JavaString - -command /example: - trigger: - message JavaString.format("Hello %%s", sender) -``` - -:::note - -别名必须是有效的 Java 标识符! - -::: +#### 导入 Java 类 -###### 在低于 1.17 的 Minecraft 版本上导入 NMS 类 +##### 在低于 1.17 的 Minecraft 版本上导入 NMS 类 由于 **Minecraft** 1.17 以下版本的 **NMS** 包会随着每个 **Minecraft** 版本而变化,因此你应该动态生成包前缀。有关详细信息,请参阅 [计算选项](https://tpgamesnl.gitbook.io/skript-reflect/advanced/computed-options#using-computed-options-for-nms-imports)。 -##### _在运行时导入类_ +当我们需要动态导入包名(例如有时候,我们需要导入的包名是根据插件版本和 Minecraft 版本动态变化的) -有时,在执行脚本之前,无法确定所需的类引用。 +我们可以选择以下三种方式之一: -###### 从完全限定的名称 +##### 从完全限定的名称导入 语法: @@ -203,7 +186,7 @@ on script load: message "%{Player}%" # org.bukkit.entity.Player ``` -###### _从对象_ +###### 从对象导入 语法: @@ -222,7 +205,7 @@ command /example: message "%{Player}%" # org.bukkit.entity.Player ``` -###### 在 effect 命令中导入 +##### 在 effect 命令中导入 由于导入块在 effect 命令中不可用,因此你可以使用 import effect (仅在 effect 命令中可用): @@ -232,32 +215,32 @@ import [as ] 此导入只能在以上效果命令中使用,直到你停止服务器。 -##### _处理内部类_ +##### 处理枚举类 -有时,一个类可能嵌套在另一个类中。当引用类的完全限定名称时,内部类使用一个 `$` 而不是 `.` +枚举类是一种特殊的类,表示一组常量值,通常用于表示有限的选项集合, -例如,将 `org.bukkit.entity.EnderDragon.Phase` 变成 `org.bukkit.entity.EnderDragon$Phase`。 +例如在 Bukkit API 中,`ClickType` 枚举类表示了玩家在点击物品栏时可能的点击类型。 -内部类通常比其周围的类具有更通用的名称,因此应在别名下导入这些名称: +在 Skript 中使用枚举值时,请使用 `$` 符号来分隔枚举类和枚举值。 -```skript -import: - org.bukkit.entity.EnderDragon$Phase as EnderDragonPhase -``` +查询 JavaDoc[https://purpurmc.org/javadoc/org/bukkit/event/inventory/ClickType.html] 可以看到 `ClickType` 枚举类中有多个枚举值,如 `DROP`、`LEFT`、`RIGHT` 等。 -导入这些类的另一种方法是只导入它们的封闭类: +举例: ```skript import: - org.bukkit.entity.EnderDragon + org.bukkit.event.inventory.ClickType$DROP -on load: - set {phase} to EnderDragon.Phase.LEAVE_PORTAL +on inventory click: + if event.getClickType() = DROP: + cancel event ``` +在 Skript 中,我们使用 `ClickType$DROP` 来表示 `ClickType` 枚举类中的 `DROP` 枚举值。 + #### 运行 Java 代码 -##### _调用方法_ +##### 调用方法 语法: @@ -269,16 +252,24 @@ on load: ```skript event-block.breakNaturally() +# 让方块被破坏并自然掉落 (last spawned creeper).setPowered(true) +# 让最新生成的苦力怕变成带电状态 player.giveExpLevels({_levels}) +# 给玩家经验等级 -> {_levels} ``` -方法可以用作 **Effects** 、 **Expressions** 和 **Conditions** 。如果用作**Conditions**,则只要方法的返回值不是 `false`、`null` 或 `0`, -这个 **Conditions** 就会通过。 +方法可以用作 **Effects** 、 **Expressions** 和 **Conditions** 。 + +如果用作**Conditions**,则只要方法的返回值不是 `false`、`null` 或 `0`,这个 **Conditions** 就会通过。 ###### 调用非公共方法 -如果尝试调用的方法不是公共的,则可能需要在方法名称前面加上括号中的声明类。由于一个对象在多个父类中可能具有同名的非公共方法,因此必须显式指定在何处查找该方法。 +Java 中不同方法有不同的访问修饰符(如 `public`、`private`、`protected`),这些修饰符决定了方法的可见性。 + +通常情况下,只有 `public` 方法可以被直接调用,但如果尝试调用的方法不是公共的, + +则可能需要在方法名称前面加上括号中的声明类。由于一个对象在多个父类中可能具有同名的非公共方法,因此必须显式指定在何处查找该方法。 语法: @@ -288,7 +279,9 @@ player.giveExpLevels({_levels}) ###### 调用 Overload 的方法 -通常, **skript-reflect** 可以从运行时传递的参数中推断出要调用的正确的 Overload 方法。如果需要使用某个方法的某种实现,可以在方法名称的末尾附加一个逗号分隔的列表,并用括号括起来。 +通常, **skript-reflect** 可以从运行时传递的参数中推断出要调用的正确的 Overload 方法。 + +如果需要使用某个方法的某种实现,可以在方法名称的末尾附加一个逗号分隔的列表,并用括号括起来。 语法: @@ -298,7 +291,7 @@ System.out.println[Object]({_something}) Math.max[int, int](0, {_value}) ``` -##### _调用字段_ +##### 调用字段 语法: @@ -316,7 +309,7 @@ Math.max[int, int](0, {_value}) {_hashmap}.[HashMap]modCount ``` -##### _调用构造函数_ +##### 调用构造函数 语法: @@ -332,105 +325,68 @@ new Location(player's world, 0, 0, 0) #### 处理事件 -##### 监听事件 - -你可以通过引用导入的类来收听任何基于 Bukkit 的事件 (包括其他插件添加的事件)。例如,如果要收听 `org.bukkit.event.entity.EnderDragonChangePhaseEvent`: - -```skript -import: - org.bukkit.event.entity.EnderDragonChangePhaseEvent - -on EnderDragonChangePhaseEvent: - # your code -``` - -:::caution +##### 监听多个事件 -一些插件使用自己的事件处理系统,或者不通过 **Bukkit** 的事件执行器传递他们的事件 (**Skript** 的一些内部事件就是这种情况)。 +前面我们已经介绍了如何使用 `import:` 块导入 Java 类,并监听事件。 -为了侦听事件,它必须扩展 `org.bukkit.event.Event` 并由 **Bukkit** 的事件执行器执行。 - -::: +你还可以使用同一处理程序侦听多个事件。这些事件不必相关,但如果尝试访问在一个事件中可用但在另一个事件中不可用的方法, -你还可以使用同一处理程序侦听多个事件。这些事件不必相关,但如果尝试访问在一个事件中可用但在另一个事件中不可用的方法,则应采取适当的预防措施。例如,如果要同时侦听 `org.bukkit.event.entity.ProjectileLaunchEvent` 和 `org.bukkit.event.entity.ProjectileHitEvent`: +则应采取适当的预防措施。例如,如果要同时侦听 `org.bukkit.event.entity.ProjectileLaunchEvent` 和 `org.bukkit.event.entity.ProjectileHitEvent`: ```skript import: - org.bukkit.event.entity.ProjectileLaunchEvent - org.bukkit.event.entity.ProjectileHitEvent + org.bukkit.event.entity.ProjectileLaunchEvent + org.bukkit.event.entity.ProjectileHitEvent on ProjectileLaunchEvent and ProjectileHitEvent: - # your code + # your code ``` -##### 使用 `event` **Expressions** +此时可以用相同的方法去访问共有的方法和字段,但如果要访问特定于某个事件的方法,则需要进行类型检查。 -**skript-reflect** 公开一个叫做 `event` 的 **Expressions**,允许你使用反射访问事件值。 +通常,我们不推荐在一个处理程序中同时监听多个不相关的事件,这会降低代码的可读性和可维护性。 -语法: +##### 处理已取消的事件 -```skript -[the] event -``` +默认情况下,如果事件被优先级较低的处理程序取消,则不会调用事件处理程序。可以通过指定处理程序应处理 `all` 事件来更改此行为。 示例: ```skript import: - org.bukkit.event.entity.EnderDragonChangePhaseEvent - org.bukkit.entity.EnderDragon$Phase as EnderDragonPhase + org.bukkit.event.block.BlockBreakEvent -on EnderDragonChangePhaseEvent: - if event.getNewPhase() is EnderDragonPhase.CIRCLING: - event.setNewPhase(EnderDragonPhase.CHARGE_PLAYER) +on all BlockBreakEvent: + uncancel event ``` -:::note +这种技巧允许你让已经在低优先级取消的事件继续进行,例如如果你需要监听玩家破坏方块,即使其他插件已经取消了该事件。 -该 event 表达式也可用于正常的 Skript 事件。 +#### 一些内置的小工具 -::: +:::warning -##### 设置优先级 +以下三个涉及数组的语法中的 `[]` 不代表可选的输入,而是表示数组的语法结构。 -可以将事件的优先级设置为控制特定事件处理程序相对于其他事件处理程序的运行时间。 +::: -示例: +##### 创建数组 ```skript -import: - org.bukkit.event.entity.EnderDragonChangePhaseEvent - -on EnderDragonChangePhaseEvent with priority highest: - # your code +new %javatype%[%integer%] ``` -可以使用 `org.bukkit.event.EventPriority` 中定义的任何事件优先级。优先级较低的事件处理程序在优先级较高的事件处理程序之前运行。 - -事件优先级: - -- lowest -- low -- normal -- high -- highest -- monitor - -##### 处理已取消的事件 - -默认情况下,如果事件被优先级较低的处理程序取消,则不会调用事件处理程序。可以通过指定处理程序应处理 `all` 事件来更改此行为。 +创建给定类型和大小的数组。类型可能是原始类型,不需要导入。 -示例: +##### 通过索引获取数组的值 ```skript -import: - org.bukkit.event.block.BlockBreakEvent - -on all BlockBreakEvent: - uncancel event +%array%[%integer%] ``` -#### 一些 **skript-reflect** 内置的小工具 +表示数组的某个索引处的值。 + +可以读取和写入此值。 ##### Collect @@ -441,19 +397,13 @@ on all BlockBreakEvent: 创建包含指定对象的数组。指定类型可确定生成数组的组件类型。 -:::note - -此语法中的括号是文字,不表示可选组。 - -::: - ##### Spread ```skript ...%object% ``` -将 Java 类型的数组转化为 sk 可读形式。 +将 Java 类型的数组转化为 sk 数组形式。 实例: @@ -461,36 +411,6 @@ on all BlockBreakEvent: set {_list::*} to ...{_array} ``` -##### 创建数组 - -```skript -new %javatype%[%integer%] -``` - -创建给定类型和大小的数组。类型可能是原始类型,不需要导入。 - -:::note - -此语法中的括号是文字,不表示可选组。 - -::: - -##### 通过索引获取数组的值 - -```skript -%array%[%integer%] -``` - -表示数组的某个索引处的值。 - -可以读取和写入此值。 - -:::note - -此语法中的括号是文字,不表示可选组。 - -::: - ##### Null ```skript @@ -506,9 +426,7 @@ null %numbers%'[s] (bit %number%|1¦bit(s| range) [from] %number%( to |[ ]-[ ])%number%) ``` -表示数字中的位的子集。 - -可以读取和写入此值。 +表示数字中的位的子集,可以读取和写入此值。 ##### Raw Expression @@ -518,20 +436,22 @@ null 返回表达式的基础对象。 -:::note +:::info -与 [Expression](https://tpgamesnl.gitbook.io/skript-reflect/advanced/custom-syntax#expression) 一起使用时,可以将其设置为一个值,这将更改该参数的输入值。这可用于将数据存储在调用触发器的变量中。 +与 [Expression](https://tpgamesnl.gitbook.io/skript-reflect/advanced/custom-syntax#expression) 一起使用时,可以将其设置为一个值, + +这将更改该参数的输入值。这可用于将数据存储在调用触发器的变量中。 ```skript import: - ch.njol.skript.lang.Variable + ch.njol.skript.lang.Variable effect put %objects% in %objects%: - parse: - expr-2 is an instance of Variable # to check if the second argument is a variable - continue - trigger: - set raw expr-2 to expr-1 + parse: + expr-2 is an instance of Variable # to check if the second argument is a variable + continue + trigger: + set raw expr-2 to expr-1 ``` ::: @@ -581,4 +501,16 @@ effect put %objects% in %objects%: 返回给定插件的实例 (字符串形式的名称或插件类)。 -更高级的用法及详细内容请自行查阅 [skript-reflect 文档](https://tpgamesnl.gitbook.io/skript-reflect) +### 结语 + +当你掌握了以上内容后,你就可以使用 **skript-reflect** 来调用几乎所有的 Java API 了。 + +更高级的用法及详细内容请自行查阅 [skript-reflect 文档](https://tpgamesnl.gitbook.io/skript-reflect)。 + +当你熟悉 `skript-reflect` 之后,你其实已经对 **Java** 有了一定的了解,我们推荐你进一步学习 **Java** / **Kotlin** 来编写更复杂的插件。 + +同时,我们也推荐你学习如何编写 **Skript Addon**,来扩展 **Skript** 的语法和功能, + +这不仅能让你更好地理解 **Skript** 的工作原理,也能让你提升编程能力,并为社区做出贡献。 + +在下一章中,我们将介绍一些常用的 **Skript Addon** 以及如何编写自己的 **Skript Addon** [WIP] diff --git a/src/content/docs/java/advance/lang/skript/basic-tutorials.md b/src/content/docs/java/advance/lang/skript/basic-tutorials.md index 01c26e4b1..1d88d372a 100644 --- a/src/content/docs/java/advance/lang/skript/basic-tutorials.md +++ b/src/content/docs/java/advance/lang/skript/basic-tutorials.md @@ -2,9 +2,117 @@ title: 基础教程 --- +## 入门 + +Skript 仍然是编程语言,所有的编程语言都必须在拥有理论基础的情况下多实践。 + +### 缩进 + +在 Skript 中如果一行代码以 `:` 结尾,那么下一行需要进行缩进操作,如果没有就不需要进行缩进。 + +缩进的方式可以选择两个或四个空格,或使用 Tab(虽然 Tab 在部分风格指南中不被推荐,但仍被广泛使用且便于编辑)。 + +### 文本编辑器 + +推荐在 VS Code 中安装 Skript 扩展以获得更好的开发体验,也可使用 [Skeditor](https://forums.skunity.com/resources/skeditor.1517/) 提供语法高亮。 + +### 语法查询 + +所有的 Skript 语法都是通过同样的方法在 Skript 中注册的,因此我们必须要学会理解 Skript 语法。 + +我们推荐在以下的网站查询 Skript 语法: + +- [Skript Hub](https://skripthub.net/docs/) +- [skUnity Docs](https://docs.skunity.com/syntax) +- [Skriptlang Docs](https://docs.skriptlang.org/docs.html) +- 各个 Addon 的官方文档... + +首先,最重要的是 `Event`(事件),它构成了脚本逻辑的触发条件。在 [Skript Hub](https://skripthub.net/docs/) 或 [skUnity Docs](https://docs.skunity.com/syntax) 的侧边栏中选择 Skript -> Events 可以筛选出原生事件,下面以 Click 为例: + +在文档中,每个语法会有以下几个重要标签: + +#### 模式 + +这部分用于描述语法在 Skript 是如何被解析的,如下: + +```text +[on] [(right|left)(| |-)][mouse(| |-)]click[ing] [on %entitydata/itemtype/blockdata%] [(with|using|holding) %itemtype%] +``` + +这部分的语法格式可以分为三种: + +##### `[xxx]` + +表示这部分可以被省略,但省略后可能会导致意义改变,如此处 `on click:` 和 `on rightclick:` 意义不同,前者为所有类型的点击,而后者为右键。 + +##### `(x|y|z)` + +表示该部分可以从 `x`、`y`、`z` 中选择一个值,并且这些选项可以包含空格或无空格形式。 + +例如 `[mouse(| |-)]click` 可对应 `mouseclick`、`mouse-click`、`mouse click` 或 `click` 等写法。 + +而 `(right|left)(| |-)` 表示 `right` 与 `left` 是两个相互区分的选项。 + +##### `%entitydata/itemtype%` + +表示这部分只能是固定的某种 type,如 `%itemtype%`,这部分可以勾选 [Skript Hub](https://skripthub.net/docs/) 侧边栏 `Type` 获取。 + +#### 属性(可选) + +只会出现在 Event 中,描述一个事件是否可取消,以及该事件中可用的属性,如 + +我们要重点关注的是 `Event Values` 这一标签下所对应的内容: + +- event-block(事件方块-玩家点击的方块) +- event-direction(事件方向-玩家点击的方块的方向) +- event-entity(事件实体-通常为玩家,如果是和实体交互则为该实体) +- event-item stack(事件物品-玩家主手工具) +- event-player(事件玩家) +- event-world(事件世界) +- ... + +利用这些,我们便可以获取到事件中的,"谁" 和 "某地" 之类具体的信息。 + +我们看一个 "on click" 相关示例: + +```skript +on right click on dirt: + send "%event-world%" to console + send "%event-player%" to console + send "%event-block%" to console +``` + +此时,任何对泥土方块的右键点击,都会在后台输出 `event-world`、`event-player`、`event-block` 三个元素的值。 + +相同地,你可以利用这样的方法,输出任何一个监听器下 "Event Values" 的元素值。 + +这种获取元素值的方法将在你需要使用任何从来没有接触过的监听器的时候,快速让你掌握监听器的基本信息。 + +#### 例子(可选) + +文档中会给出一些例子,帮助你更好的理解该语法的用法,通常需要点击 `View Examples` 才能看到。 + +注意:例子在不同版本的 Skript 中可能会有所不同,请根据你所使用的 Skript 版本进行参考。 + +#### 版本信息 + +不同版本的 Skript 可能会对某些语法进行修改或添加新的语法,因此在使用某个语法时,务必确认你的 Skript 版本是否支持该语法。 + +同时,新版 Skript 会对某些过时的语法进行改进,因此建议查看右上角的版本信息,确保你所参考的语法与你所使用的 Skript 版本相符。 + +相信通过以上方法,你已经可以快速的查询到 Skript 语法,并理解其基本用法。那么接下来,我们将介绍 Skript 的八大类语法,帮助你更好的理解 Skript 的整体结构。 + ## 了解 "八大类" -所有的脚本都是由以下八中类型的语法构成: +所有的脚本都是由以下八种类型的语法构成: + +Events、Conditions、Effects、Expressions、Types、Functions、Sections、Structures + +其中: + +只有 Events 和 Structures 可以顶层使用,其余六种类型必须嵌套在其他类型中使用。 + +只有 Conditions、Effects、Expressions、Functions 可以单独成为一行代码使用。 ### Events - 事件 @@ -20,9 +128,9 @@ title: 基础教程 ```skript on death of player: - #玩家死亡时 + # 玩家死亡时 on click: - #玩家点击时 + # 玩家点击时 ``` 此处的 `on death of player` 和 `on click` 为 Events - 事件 @@ -33,6 +141,8 @@ on click: 在 SK 中常与事件一起使用,**用于判断是否应该执行特定的效果或操作**。 +条件用于判断句:有没有,是不是。它的基本格式为 "if" + 条件。 + 举例: ```skript @@ -47,50 +157,85 @@ on join: 此处的 `has permission "admin"` 为 Conditions - 条件 +另外, SK 也支持省略 if 的写法,让 Conditions 单独成为一行代码: + +```skript +on join: + player has permission "admin" + send "管理你好!" to player +``` + +在某些不需要 else 的情况下,这种写法更加简洁,但有时候大量条件会让代码变得不易阅读,因此建议根据实际情况选择使用。 + ### Effects - 效果 效果可以是修改游戏模式、发送消息、移动玩家等任何能够改变游戏世界的动作。 在 SK 中效果是脚本中实际执行的操作或指令,用于 **改变游戏结果或执行动作** +与其说它是效果,不如称作行动。Effects 注重的是 `动词` 而非后面跟着的 `名词`。 + 举例: ```skript -on consume: - # 玩家吃东西时 - set player's health to 20 - # 设置玩家的生命值为20 on player jump: # 玩家跳跃时 teleport player to world "nether" - # 将玩家传送到名为"nether"的世界 + # 将玩家传送到名为 "nether" 的世界 ``` -此处的 `set player's health to` 和 `teleport player to` 为 Effects - 效果。 +此处的 `teleport player to %world%` 为 Effects - 效果。 + +Effect 往往是脚本中最常用的语法,因为它们直接影响游戏世界和玩家体验。 + +因此,我们再来看一个更复杂的 Effect 示例,发送 Title 信息: + +```skript +send title %text% [with subtitle %text%] [to %players%] [for %time span%] [with fade[(-| )]in %time span%] [(and|with) fade[(-| )]out %time span%] +send subtitle %text% [to %players%] [for %time span%] [with fade[(-| )]in %time span%] [(and|with) fade[(-| )]out %time span%] +``` + +我们可以大致上认识到 `EffSendTitle` 的基本用法,这里面面有很多可选项和类型,我们可以根据需要选择使用。 + +```skript +on join: + wait 1 second + # Effect -> wait %timespan% + # Type -> 1 second(timespan时间类型) + send title "Hello %player%!" with subtitle "Welcome to our server" to player for 5 seconds with fadein 1 second and fade out 1 second + # Effect -> send title %text% ... + # Type -> "Hello %player%!"(text类型), player(players类型), 5 seconds(timespan时间类型), 1 second(timespan时间类型) +``` + +此处的 `wait %timespan%` 和 `send title %text% ...` 为 Effects - 效果。 ### Expressions - 表达式 -表达式是计算值或引用数据的语句。它们可以返回各种类型的结果。如数字、字符串、列表等。 +表达式是计算值或引用数据的语句。它们可以返回各种类型的结果,如数字、字符串、列表等。 在 SK 中一般配合条件判断,用于 **在脚本中传递和处理数据**。 -举例: - ```skript on join: # 玩家加入时 - set `{playerIP::%player%}` to ip of player - set `{playername::%player%}` to name of player - # 将玩家的名字存储到变量`{playerName}``{playerIP}`中 - broadcast "玩家名字为: %`{playerName%,IP为:`{playerIP::%player%}`}`!" + set {playerIP::%player%} to ip of player + set {playername::%player%} to name of player + # 将玩家的名字存储到变量 {playerName}、{playerIP} 中 + broadcast "玩家名字为: %{playerName}%,IP 为:%{playerIP::%player%}%!" # 广播玩家的名字和 IP ``` +表达式通常用于获取一个类型的属性,例如获取玩家的名字、位置,世界的时间,物品的数量等。 + +通常来说,用中文描述一个功能时出现 “的” 字时,往往意味着需要使用 Expression 来获取或修改该属性。 + +对应的,在英文中,往往会出现 `of` / `'s`,来连接主语和属性。 + 此处的 `name of` 和 `ip of` 为 Expressions - 表达式。 ### Types - 类型 -类型定义了变量、参数和返回值的数据种类。在 Skript 中,虽然不像某些编程语言那样严格区分类型,但理解不同类型的值 (如字符串、数字、列表等) 对于编写正确的脚本至关重要。 +类型定义了变量、参数和返回值的数据种类。在 Skript 中,虽然不像某些编程语言那样严格区分类型,但理解不同类型的值(如字符串、数字、列表等)对于编写正确的脚本至关重要。 ```skript on bed enter: @@ -101,228 +246,212 @@ on bed enter: # 发送消息 ``` -此处的 `"world"` 为 Types - 类型。(注意,此处的 `"world"` 是包含引号的内容,指的是具体的世界名) +此处的 `world "world"` 为 Types - 类型。 -### Functions - 功能 +(注意,此处的 `"world"` 是包含引号的内容,指的是具体的世界名) -功能是封装了特定逻辑的代码块,可以在脚本中多次调用,常用的功能是计算、向量等类型的。 +#### Expressions(表达)& Types(类型)的配合使用 -在 SK 中,作用主要是 **快捷计算、指定类型 (如世界、颜色、玩家类型) 等** +假设你想在玩家所在位置生成僵尸。 -举例: +通过查阅 [官方文档](https://docs.skriptlang.org/docs.html?search=#EffSecSpawn),我们知道生成的语法为: ```skript -on elytra boost: - # 鞘翅加速时(skbee拓展) - set `{_vector1}` to vector(0, 1, 0) - # 设置局部变量为向量(向上) - push player `{_vector1}` - # 以设定向量推动玩家向上 +(spawn|summon) %entity types% [%directions% %locations%] ``` -此处的 `world(xxx)` 和 `vector(0, 1, 0)` 为 Functions - 功能。 +这个 Effect(效果)只提供了 "生成" 这个动作,但我们还需要: -### Sections - 部分 +- **位置**:玩家所在的位置 +- **实体类型**:僵尸 -部分是指脚本中按功能或逻辑组织的代码块。它们可以是事件处理器、条件判断、循环体等,通常用于将相关代码组织在一起,以便更好地管理和维护。 +查询文档后,我们找到 `location of` 表达式可以获取实体的位置。 -举例: +但是 "位置" 和 "僵尸" 这两个具体的对象(主语/宾语)需要用 **Types(类型)** 来表示。 -```skript -on tool break: - # 当工具用坏时 - if player is op: - # 如果玩家是管理员 - give player 1 of diamand - # 给玩家一个钻石 - else: - # 另一种情况(如果玩家不是管理) - send "哦不你失去了你的工具" to player - # 发消息给玩家 -``` +在 https://docs.skriptlang.org/classes.html 中可以找到: -此处的 `if ...` 和 `else` 为 Sections - 部分。 +- `player` - 玩家 +- `zombie` - 僵尸 -### Structures - 结构 - -结构是控制脚本执行流程的语言元素,如循环、条件判断等。它们允许开发者根据特定的条件或逻辑来执行或跳过代码块,从而实现复杂的脚本逻辑。 - -举例: +综合以上信息,我们得到完整代码: ```skript -options: - servername: myserver - # option 中定义 `{@xxx}` 的值 -function welcome(msg: text,p: player): - broadcast `{_msg}` - # 广播消息 - message "欢迎 %`{_p}`% 来到`{@servername}`服务器!" - # 定义了 welcome(参数1:type, 参数2:type),使用option中的变量 `{@servername}` -on join: - bcd("欢迎玩家加入游戏",player) +spawn zombie at location of player ``` -此处的 `options` 和 `function` 为 Structures - 结构。 - -通过合理使用这八大类语法,你可以编写出功能强大、易于维护的 Skript 脚本,为 Minecraft 服务器增添丰富的功能和玩法。 - -## 入门 - -Skript 仍然是编程语言,所有的编程语言都必须在拥有理论基础的情况下多实践。 - -### 缩进 +但事实上,Skript 会自动判断我们传入的类型,例如 #EffSecSpawn 中需要传入的是 `location` 类型 -在 Skript 中 如果一行代码以 `:` 结尾 那么下一行需要进行缩进操作,如果没有就不需要进行缩进。 - -缩进的方式可以选择两个/四个空格或者一个 Tab (Tab 虽然不是很规范但是真的很爽)。 - -### 文本编辑器 - -推荐使用 VS Code 安装 Skript 拓展。或者使用 [Skeditor](https://forums.skunity.com/resources/skeditor.1517/) 高亮语法。 - -### Helloworld - -在 `/plugins/Skripts/scripts` 目录下创建一个名为 `test.sk` 的文件,并打开粘贴以下代码。 +但 Skript 会自动将 `player` 类型转换为 `location of player` 因此也可直接写成: ```skript -on join: - send "Hello World" to event-player +spawn zombie at player ``` -随后在权限账号或者后台输入 `/skript reload scripts` 即可完成重载。然后退出服务器并重新进入。 - -如果进入服务器时收到了 "Hello World" 的消息,那么证明脚本 `test.sk` 已经生效了。 - -### 查询语法 - -很好,想必你已经大概知道 Skript 是一款什么样的编程语言了。 - -想必你一定有一些想法,市面上可能找不到,而且因为你不会使用 Java 写插件所以难以实现。 - -前往 [Skript Hub](https://skripthub.net/docs/) 或 [skUnity Docs](https://docs.skunity.com/syntax) 查询 Skript 语法,现在开始构思你的插件吧。 +:::caution[说明] -### 如何使用语法 +- **Effect**:提供动作(如 `spawn`) +- **Expression**:提供属性(如 `location of`) +- **Type**:提供具体对象(如 `player`、`zombie`) -首先,最重要的是 Event (事件),这是所有逻辑的先决要素,我们在 [Skript Hub](https://skripthub.net/docs/) 或 [skUnity Docs](https://docs.skunity.com/syntax) 上, +缺少主语/宾语时,在 Types 文档中查找即可。 -在侧边栏中选中 (Skript 和 Events),即可筛选 Skript 原生事件。此处以指令监听器为例: +::: -在侧边栏中选中 (Skript 和 Events) 后,在搜索栏中输入 "on command",得到以下结果。 +### Functions - 功能 -![](_assets/SkriptBasic1.png) +功能是封装了特定逻辑的代码块,可以在脚本中多次调用,可以带参数并返回值。 -#### 语法 +在 SK 中,作用主要是 **快捷计算、指定类型(如世界、颜色、玩家类型)等** -举一个例子,点击事件的语法是这样的: +举例: -```txt -[on] [(right|left)(| |-)][mouse(| |-)]click[ing] (with|using|holding) %itemtype% on %entitydata/itemtype% +```skript +on player join: + set {_location} to makePlayerFly(event-player) + # 调用 makePlayerFly 函数,并传入 event-player 作为参数让玩家飞起来 + # 将返回的地点存储在局部变量 {_location} 中 + broadcast "玩家 %event-player% 在 %{_location}% 起飞了!" + +function makePlayerFly(p: player) :: location: + # 定义一个名为 makePlayerFly 的函数,参数为 p(类型为 player),返回值类型为 location + set {_vector1} to vector(0, 10, 0) + # 设置局部变量为向量(向上) + push player {_vector1} + # 以设定向量推动玩家向上 + return location of {_p} ``` -##### `[xxx]` - -表示这部分可以被省略,但省略后可能会导致意义改变,如此处 `on click:` 和 `on rightclick:` 意义不同,前者为所有类型的点击,而后者为右键。 - -##### `(x|y|z)` +此处的 `makePlayerFly()`、`world(xxx)` 和 `vector(0,1,0)` 为 Functions - 功能。 -表示这部分可以从 `x`、`y`、`z` 中选择一个值,`x`、`y`、`z` 可以是空格或者空 (也就是左右可以直接连起来) +而 `function makePlayerFly(p: player) :: location:` 事实上是一个 Structure - 结构。 -例如 `[mouse(| |-)]click` 代表着:`mouseclick` `mouse-click` `mouse click` 这三者有相同的含义。 +### Sections - 部分 -##### `%type%` +部分是指脚本中按功能或逻辑组织的代码块。它们可以是事件处理器、条件判断、循环体等,通常用于将相关代码组织在一起,以便更好地管理和维护。 -表示这部分只能是固定的某种 type,如 `%itemtype%`,这部分可以勾选 [Skript Hub](https://skripthub.net/docs/) 侧边栏 `Type` 获取。 +举例: -#### 属性 +```skript +on tool break: + # 当工具用坏时 + if player is op: + # 如果玩家是管理员 + give player 1 of diamond + # 给玩家一个钻石 + else: + # 另一种情况(如果玩家不是管理) + send "哦不你失去了你的工具" to player + # 发消息给玩家 + spawn zombie at location of player: + # 在玩家位置生成一个僵尸 + set name of entity to "复仇的僵尸" +``` -是否可取消 +此处的 `spawn zombie at location of player:`、`if ...:` 和 `else:` 为 Sections - 部分。 -我们要重点关注的是 `Event Values` 这一标签下所对应的内容: +特点是,Sections 被嵌套在 Events 或 Structures 中,往往以 `:` 结尾,并且后续代码需要缩进。 -1. "event-world"("事件 - 世界") -2. "event-commandsender"("事件 - 指令发送者") -3. "event-player"("事件 - 玩家") +### Structures - 结构 -利用这些,我们便可以获取到事件中的,“谁”和“某地”之类具体的信息。 +结构是控制脚本执行流程的语言元素,如循环、条件判断等。它们允许开发者根据特定的条件或逻辑来执行或跳过代码块,从而实现复杂的脚本逻辑。 -我们看一个 "on command" 相关示例: +举例: ```skript -on command "/op": - send "%event-world%" to console - send "%event-commandsender%" to console - send "%event-player%" to console -``` +options: + servername: myserver + # option 中定义 {@xxx} 的值 -此时,任何执行者执行 "/op" 指令都会触发此监听。并将三个元素 "event-world" "event-commandsender" "event-player" 输出到后台。 +function welcome(msg: text, p: player): + broadcast {_msg} + # 广播消息 + message "欢迎 %{_p}% 来到 {@servername} 服务器!" + # 定义了 welcome(参数 1:type,参数 2:type),使用 option 中的变量 {@servername} -如果是后台执行了 "/op" 指令时,因为后台并不存于任何一个世界,也没有名字。上述三个元素只会有 "event-commandsender" 存在并正常输出为 "console" 而其余不存在元素将全部输出为 `""` +on join: + welcome("欢迎玩家加入游戏", player) +``` -相同地,你可以利用这样的方法,输出任何一个监听器下 "Event Values" 的元素值。 +此处的 `options` 和 `function` 为 Structures - 结构。 -这种获取元素值的方法将在你需要使用任何从来没有接触过的监听器的时候,快速让你掌握监听器的基本信息。 +通过合理使用这八大类语法,你可以编写出功能强大、易于维护的 Skript 脚本,为 Minecraft 服务器增添丰富的功能和玩法。 -### 最初的脚本 +## 最初的脚本 在这个板块中,请利用 [Skript Hub](https://skripthub.net/docs/) 或 [skUnity Docs](https://docs.skunity.com/syntax) 查询 Skript 语法,满足缩进等要求,尝试写一些最基础脚本吧~ -#### 事件 +当然仅仅学这些并不够,为了做到能更快更灵活的使用各类语法,在闲暇的时候,把官方 Doc 提供的所有语法的注释都认真的看一遍是快速上手 Skript 的一种好办法。 + +### 事件 -在这一节中,我们学习如何选取如何选用合适的事件。因为事件是一切行为的触发器,需要事件发生了什么,在哪发生的, +在这一节中,我们学习如何选用合适的事件。因为事件是一切行为的触发器,需要事件发生了什么,在哪发生的,才能够进一步进行操作。 -才能够进一步进行操作,事件发生的顺序是: +事件发生的顺序是: -`事件准备发生` > `监听器监听到` > `事件正式发生`。 +`事件准备发生` -> `监听器监听到` -> `事件正式发生` -##### 事件的取消 +#### 事件的取消 如果我们在监听器监听到后,加入取消事件这一环节。事件发生的顺序就变为了: -`事件准备发生` > `监听器监听到` > `取消事件` > `事件未发生` +`事件准备发生` -> `监听器监听到` -> `取消事件` -> `事件未发生` -我们就成功阻止了指令的发生,我们使用 `cancel event` 来达到这一点。 +我们就成功阻止了事件的发生,我们使用 `cancel event` 来取消事件。 -##### 事件优先级 +#### 事件优先级 要注意,事件的监听是有优先级的,其中有六个优先级,其中执行顺序为 **从上到下** 分别为: -| 优先级 | Priority | -| ----------- | -------- | -| 最低 | Lowest | -| 低 | Low | -| 正常 (默认) | Normal | -| 高 | High | -| 最高 | Highest | -| 监控 | Monitor | - -:::caution[吐槽] +| 优先级 | Priority | +| ------------ | -------- | +| 最低 | Lowest | +| 低 | Low | +| 正常(默认) | Normal | +| 高 | High | +| 最高 | Highest | +| 监控 | Monitor | -Bukkit 的事件就是这样的,所以 Skript 也继承了这个抽象名字,发生顺序为 `Lowest -> Low -> Normal -> High -> Highest -> Monitor` +优先级的使用可以帮助我们更好地控制事件的处理顺序,避免逻辑冲突或不必要的资源消耗。 -没错,Lowest 的事件最先发生,如果一个插件事件优先级更高且这个事件没有被更低优先级的插件取消,那么更高优先级的事件将会覆盖更低优先级的结果。 - -我们来简单假设一个条件,我们想要写一个脚本禁止管理使用 tp 指令传送玩家到其他地方,我们会这样写: +示例 1:禁止没有权限的玩家通过命令执行传送: ```skript on teleport with priority lowest: teleport cause is command - #判断 tp 原因是否为指令 tp - if player do not has permission "admin.tp": - #取消没有被 tp 权限的玩家的传送 + # 判断 tp 原因是否为指令 tp + if player does not have permission "admin.tp": + # 取消没有 tp 权限的玩家的传送 cancel event ``` -此时我们在常用的 `on teleport` 事件后加上优先级 `with priority lowest` (以最低优先级先发生并取消) +在此示例中使用 `with priority lowest` 可尽早判断并取消不符合权限的传送请求。 + +示例 2:记录玩家受伤情况: + +```skript +on damage of player with priority monitor: + # 监控玩家受伤事件 + log "玩家 %player% 受到了伤害" +``` + +在此示例中使用 `with priority monitor` 可确保在所有其他监听器处理完毕后记录最终的受伤信息。 -由此可见,Lowest 可以理解为 First,而 Highest 可以理解为 Last,更符合逻辑 +:::warning[说明] + +Skript 使用与 Bukkit 相同的事件优先级机制,触发顺序为 `Lowest -> Low -> Normal -> High -> Highest -> Monitor`。 + +`Lowest` 会最先接收事件;若事件未被取消,则后续优先级的监听器可能对事件结果进行进一步处理。 ::: -##### 事件选用 +#### 事件选用 + +选用不合适的事件可能导致逻辑混乱、性能问题或代码臃肿。因此在编写脚本之前,应充分评估并选取合适的事件。 -选用不合适的事件可能会导致逻辑混乱复杂,性能拉胯,臃肿等。所以在任何脚本编写之前应该充分考虑选用什么事件是合理的。 +##### 练习 1 - 夜间扣血脚本 -例如,我们想写一个脚本,检测玩家在 00:00 - 06:00 没有在床上睡觉,那么就每秒扣玩家 1 生命值。 +例如,我们想写一个脚本,检测玩家在 00:00 ~ 06:00 没有在床上睡觉,那么就每秒扣玩家 1 生命值。 查询 [Skript Hub](https://skripthub.net/docs/) 或 [skUnity Docs](https://docs.skunity.com/syntax),根据直觉选择,与时间和睡觉有关系的事件可能有这些: @@ -335,8 +464,10 @@ on bed leave: 我们分别使用这些事件写以下几个脚本: +

    + 脚本 1 - Every %timespan% + loop + ```skript -# 脚本1 every 1 second: loop all players: if loop-player is not sleeping: @@ -344,29 +475,18 @@ every 1 second: remove 1 from health of loop-player ``` -该脚本利用 `every %tiemspan%` 作为事件触发,本身也是周期循环。 +该脚本利用 `every %timespan%` 作为事件触发,本身也是周期循环。 可以发现,该循环使用 `every 1 second`,触发频率比较高,即使在白天这个事件循环仍在继续, -虽然整体任务不算复杂,但是如果遇到复杂判断时,高频率 (尤其是 `every tick`) 的事件是很低效的。 - -在这里,我们可以改写为: - -```skript -# 脚本1改 -every 1 second: - if time in world is between 00:00 and 6:00: - loop all players: - if loop-player is not sleeping: - remove 1 from health of loop-player -``` +虽然整体任务不算复杂,但是如果遇到复杂判断时,高频率(尤其是 `every tick`)的事件是很低效的。 -相对脚本 1,我们发现,在时间在 0 - 6 点之外的时候,我们不会 loop 和判断玩家睡眠,因为这本身是没有意义的。 +
    -仅仅只是交换两行代码顺序,就能起到提升性能的效果。(这里举例是非常轻量的例子,不足以产生任何性能问题) +
    + 脚本 2 - Event + At time ```skript -# 脚本2 on bed leave: set {%player%::sleep} to false on bed enter: @@ -378,17 +498,20 @@ at 00:00 in world "world": if {%loop-player%::sleep} is false: remove 1 from health of loop-player wait 1 second - ``` -该脚本利用 `at time` 作为事件触发,也使用 `while` + `wait` 保持时间周期循环。使用 `bed leave` `bed enter` + 变量作为条件。 +该脚本利用 `at time` 作为事件触发,也使用 `while` + `wait` 保持时间周期循环。使用 `bed leave`、`bed enter` + 变量作为条件。 -属于错误使用了监听事件,因为玩家是否在睡觉不需要我们自行使用事件判断,而是有直接的条件语法。 +属于 **错误使用了监听事件**,因为玩家是否在睡觉不需要我们自行使用事件判断,而是有直接的条件语法。 + +
    + +
    + 脚本 3 - Event + While ```skript -# 脚本2改 at 00:00 in world "world": - while time in world is between 00:00 and 6:00: + while time in world is between 00:00 and 6:00: # 注意:若时间段跨越午夜(如 23:00-02:00),请不要直接使用 between,而应拆分为两个条件判断 loop all players: if loop-player is not sleeping: remove 1 from health of loop-player @@ -397,11 +520,35 @@ at 00:00 in world "world": 该脚本利用 `at time` 作为事件触发,使用 `while` + `wait` 保持时间周期循环,使用 `is not sleeping` 作为条件。 -##### 练习 +此处 `while` + `wait` 的使用也并不推荐,因为 Skript 的 `wait` 机制并不高效,因此可以考虑使用 `Skbee` 写法: -制作一个 Skript 脚本,用于在大厅使用,不会刷新怪物,玩家不会受伤也不可伤害,也不会掉饱食度。 +
    -普通玩家不可放置方块,或破坏方块,而有权限 `lobby.admin` 的玩家可以放置和破坏方块。 +
    + 脚本 4 - Skbee Async Task + +```skript +at 00:00 in world "world": + async run 1 tick later repeating every 1 second: + if time in world is not between 00:00 and 06:00: + exit + loop all players where [input is not sleeping]: + remove 1 from health of loop-player +``` + +该脚本利用 `at time` 作为事件触发,使用 Skbee 的异步定时任务保持时间周期循环,使用 `Where` 语法筛选玩家, + +使用 `is not sleeping` 作为条件,`if` 反转退出循环,提升了性能和可读性。 + +
    + +#### 练习 2 - 大厅保护脚本 + +这个练习要求你运用所学的事件知识,制作一个 Skript 脚本,用于在大厅使用, + +取消玩家伤害、饥饿度变化与怪物刷新,同时限制普通玩家放置与破坏方块。 + +具有 `lobby.admin` 权限的玩家应保留放置与破坏的权限。
    参考写法,不唯一 @@ -410,41 +557,42 @@ at 00:00 in world "world": ```skript # 不推荐,即使这是有用的! -on spawn of any monster: +on spawn of zombie: cancel event + on food level change: cancel event - #禁止饱食度变化 -``` + # 禁止饱食度变化 -```skript -on damage of a player with priority lowest:: +on damage of a player with priority lowest: cancel event - #取消玩家伤害 -on break with priority lowest:: - if player do not have permission "lobby.admin": - #判断玩家权限 + # 取消玩家伤害 + +on break with priority lowest: + if player does not have permission "lobby.admin": + # 判断玩家权限 cancel event - #取消无权限玩家的方块破坏 -on place with priority lowest:: + # 取消无权限玩家的方块破坏 + +on place with priority lowest: if player has permission "lobby.admin": stop - #停止进一步对有权限玩家的逻辑,即什么也不做 + # 停止进一步对有权限玩家的逻辑,即什么也不做 else: cancel event - #取消没有权限玩家的方块放置行为 + # 取消没有权限玩家的方块放置行为 ``` 在这里,以下两种写法是等价的。 ```skript -if player do not have permission "lobby.admin": +if player does not have permission "lobby.admin": cancel event ``` ```skript if player has permission "lobby.admin": - xxx + # 有权限时的处理 else: cancel event ``` @@ -453,689 +601,551 @@ else: ```skript on place: - player do not have permission "lobby.admin" + player does not have permission "lobby.admin" cancel event ``` -在这里省略了一个 if,因此后面也不需要跟上冒号 `:`,也无需重新换行,但注意,这只适用于只对没有权限的人进行取消,而对有权限的人没有任何限制时才可以这么写。 - -
    - -#### 条件 - -TODO +在这里省略了一个 if,因此后面也不需要跟上冒号 `:`,也无需重新换行,但注意, -#### 练习 2 - /command、局部变量、运算练习 +这只适用于只对没有权限的人进行取消,而对有权限的人没有任何限制时才可以这么写。 -制作一个 Skript 脚本,用于简单的跨世界传送,输入 `/world xxx` 即可传送到对应世界,坐标对应为:`主世界:地狱:末地=8:1:8`, - -即玩家在末地 `800, 100, 800` 传送到主世界坐标为 `800 100 800`,如果传送到地狱坐标为 `100 100 100` - -
    - 参考写法,不唯一 +
    -::::tip +### 指令注册 -1. `command /xxx` 后一定要使用 `trigger:` 否则指令将不会注册并报错。 -2. `/xxx` 为 "指令",第 n 个空格后的参数即为 `arg-n`,如此处的 `` 为 `arg-1` -3. 参数类型可以查 [Skript Hub](https://skripthub.net/docs/) 选择 `type` 为参数类型,万能参数可用 `string` / `text`。 -4. 参数以 `<>` 引用起来时说明该参数为必要参数,如果输入时没有这个参数时会提示格式错误,如果这个参数是可以省略的,那么可以使用类似 `[]` 的方法。 +说到现在,我们所有的代码,似乎都是基于监听器进行编写的。我们都需要去触发监听器,才能执行我们的代码,那有没有什么办法可以主动触发我们的代码? -在这里,我们分析一下指令,应该是 `/world xxx` 中的 `xxx` 代表世界,所以我们选择 `/world ` 作为指令。 - -另外,我们可以发现,玩家输入的指令可能包括自己在的世界,这件事本身是没意义的,应该在最开始检查一次。 +这时候我们就需要引入 Minecraft 插件最核心的功能,指令功能。 -如果你是新手,很有可能会写出类似以下的脚本: +在 Java 里你可能需要这样注册一个指令: -```skript -if arg-1 is world "world_the_end": - teleport player to location(player's x-coord / 8, player's y-coord, player's z-coord / 8, world "world_the_end") -if arg-1 is world "world_nether": - if player's world is "world_the_end": - teleport player to location(player's x-coord / 8, player's y-coord, player's z-coord / 8, world "world_nether") - if player's world is "world": - teleport player to location(player's x-coord, player's y-coord, player's z-coord, world "world_nether") -if arg-1 is world "world": - if player's world is world "world_nether": - teleport player to location(player's x-coord * 8, player's y-coord, player's z-coord * 8, world "world") - else: - teleport player to location(player's x-coord, player's y-coord, player's z-coord, world "world") +```Java +@Override +public boolean onCommand(final CommandSender sender, Command cmd, String label, String[] arg) { + if (cmd.getName().equalsIgnoreCase("自定义指令")) { + // 代码段落 + } + return true; +} ``` -:::caution[为什么这是不好的] - -1. 在这里,每行代码都过长了,非常不利于阅读。 -2. 此想要调整不同世界的比例时,需要一个个调整参数,这不利于代码的维护。 -3. 使用的 `if` 套在 `if` 后的情况比较多,在逻辑上可能会出现问题。 - -::: - -:::: - -所以,我们选择使用局部变量暂存玩家的坐标,并基于玩家所在世界及目标世界计算变量, - -最后根据计算出的量直接使用 `teleport player to [location]` 传送即可。 +但是在 Skript 里你只需这样即可: ```skript -command /world : - permission: command.world +command /<指令名称> [<类型1>] [<类型2>] [<类型3>]: + aliases: <别名> + executable by: <执行者> + usage: <使用提示> + description: <指令描述> + permission: <所需权限> + permission message: <无权限消息> + cooldown: <冷却时间> + cooldown message: <冷却消息> + cooldown bypass: <冷却绕过权限> + cooldown storage: <变量> trigger: - if arg-1 is player's world: - send "[传送] 禁止套娃!" - stop - #取消玩家输入的世界是自己所在的世界时的原地tp - else: - set {_y} to player's y-coord - #使用局部变量储存玩家的 y 坐标 - if player's world is "world_nether": - #玩家在地狱时存储 x z 坐标存为 8 倍 - set {_x} to player's x-coord * 8 - set {_z} to player's z-coord * 8 - else: - #玩家在其他世界时 x z 左边暂存 - set {_x} to player's x-coord - set {_z} to player's z-coord - if arg-1 is world "world_nether": - #如果玩家从其他地方到地狱,将暂存的 x z 坐标除以 8 - set {_x} to {_x}/8 - set {_z} to {_z}/8 - teleport player to location({_x},{_y},{_z},world "world_nether") - #传送到地狱 - else: - teleport player to location({_x},{_y},{_z},world "%arg-1%") - #传送到指令对应世界 + # 代码段 ``` - +#### 指令注册详解 -#### 练习 3 - +- **Aliases**:子指令,指令的别名。如果需要创建多个子指令,请使用逗号分隔。示例:`/alias1, alias2, /alias3` -
    - 参考写法,不唯一 +- **Executable By**:指定可以使用该指令的执行者。例如:`console`(后台)、`players`(玩家)、`the console and players`(后台和玩家) -
    +- **Usage**:执行者用法不正确时,将发送的消息。 -#### 练习 4 - +- **Description**:指令描述,其他插件可以获取/显示此信息。 -
    - 参考写法,不唯一 +- **Permission**:执行指令所需要的权限。 -
    +- **Permission Message**:执行者没有权限时的提示信息。 -#### 练习 5 - +- **Cooldown**:多长冷却时间后可以再次使用该指令,需要注意的是,关服时所有指令冷却时间将被重置。 -
    - 参考写法,不唯一 +- **Cooldown Message**:冷却期间,提示信息。 -
    +- **Cooldown Bypass**:无视冷却时间所需要的权限。 -#### 练习 6 - +- **Cooldown Storage**:存储冷却时间全局变量名称。 -
    - 参考写法,不唯一 +- **Trigger**:指令触发时执行的代码段。 -
    +这里的 `[<类型>]` 就是指令参数的类型,可以查询 [Skript Hub](https://skripthub.net/docs/) 或 [skUnity Docs](https://docs.skunity.com/syntax) 侧边栏 `Type` 获取。 -### 最初的脚本编写思路 (by TUCAOEVER) +常见的类型有: -:::caution +- `text`、`string` - 字符类型。什么是字符?可以按照字面意思来理解,字词符号。 +- `player` - 在线玩家。 +- `offline player` - 离线玩家。 +- `number` - 数字类型。 +- `integer` - 整数类型。 +- `boolean` - 布尔类型。 -后文为 TUCAOEVER 在 MCBBS 的教程未参考部分,没有进行任何格式化,TODO +一般来说,选择合适的类型参数,可以帮助我们更好的限制输入内容,减少边界情况的发生。 -::: +另外,`command /test %arg-1% %arg-2% %arg-3%:` 指令参数在代码段内的引用方式为 `arg-1`、`arg-2`、`arg-3`,依此类推。 ---- +我们只需要记住核心规则,参数前有多少个空格,那么参数编号就是多少。 -### Conditions (条件) +#### 指令参数详解 -条件用于判断句:有没有,是不是。它的基本格式为 "if" + 条件。 +##### 指令名称(必填) -这里我们和学习 Events 一样,我们先通过官方 Doc 找到所有的条件。 +指令名称基本上是指令,你可以在指令名称中使用任何字符(空格字符除外)。当然如果在指令名称中使用空格字符,那么空格字符后的文本将成为参数。 -这里我们拿最常用的一个条件作示例,判断玩家是否有权限。 +指令名称前的斜杠字符(`/`)是可选的(但这并不意味着你可以在执行指令时不带斜杠)。 -权限的英文是什么?"permission" 我们通过翻阅侧边栏可以得知与 "permission" 相关的只有 "Has Permission" 一条,官方对这个条件的解释为: -"Test whether a player has a certain permission.",翻译过来就是 "检测一个玩家是否拥有某一权限"。即我们所需要的:判断玩家是否有权限,那么我们又该如何使用呢 "Has Permssion" 条件呢? +##### 指令参数(可选) -在 "Has Permission" 下 "Patterns" 给了我们两种标准格式用法: +- 使用 `text`/`string` 类型参数时,可以输入任何字符,`object` 类型不能用作于参数; +- 使用 `player`/`offline player` 类型参数时,玩家名称会自动添加到 Tab 补全列表中; +- 使用 `boolean` 类型参数时,只接受以下几种输入:`true`、`false`、`on`、`off`; +- 使用 `<>` 引用起来时说明该参数为必要参数,如果输入时没有这个参数时会提示格式错误; +- 使用 `[<>]` 引用起来时说明该参数为可选参数。 +- 可以通过使用规定的格式来限制参数的类型,例如:``,其中 `default value` 是可选的,如果执行者未输入该参数,系统将自动使用默认值; +- 类型可以是多个(例如 `number` -> `numbers`,`entity` -> `entities`)。通过这样的方法,可以使参数接受多个值。 -- `%players/console% (has|have) [the] permission[s] %texts%` -- `%players/console% (doesn't|does not|do not|don't) have [the] permission[s] %texts%` +以下是一份指令示例,假设我们注册了一个杀死指定实体的指令: -针对这样的格式,我相信很多人可能一头雾水。了解如下几点,或许能帮助你更好的了解用法: +`command /kill [in [the] radius ]:` -- "[]" 内可以省略 -- "(...|...)" 内必须选择一项填写 -- "%%" 内必须根据其所对应的类型进行填写 +`/kill zombies` -> 这将会杀死半径 20 范围内的所有僵尸。 -- `player has permission "player.op"` -- `player have the permissions "player.op"` -- `player have permissions "player.op"` +`/kill creepers and animals in radius 100` -> 这将会杀死半径 100 范围内的所有爬行者和动物。 -正如之前所说的:可以省略的地方,无论如何搭配,表达的意思都是一样的。 +`/kill monsters in the radius 6` -> 这将会杀死半径 6 范围内的所有怪物。 -这也是 Skript 一大特点,并不需要非常严谨的语法。只要意思对,语法可以根据个人喜好进行选择。 +很好,我们已经了解了指令注册的基本用法,接下来我们通过几个练习来巩固所学内容。 -同样我们还是举一个以 "on command" 监听器为核心的例子加深一下大家的理解: +#### 练习 3 - 跨世界传送指令(/command、局部变量、运算) -```skript -on command "/op": - event-commandsender is player - if event-player has permission "player.op": - send "true" to event-player - else: - cancel event - send "false" to event-player -``` +制作一个 Skript 脚本,用于简单的跨世界传送,输入 `/world xxx` 即可传送到对应世界,坐标对应为:`主世界:地狱:末地 = 8:1:8`, -那么在玩家触发此监听器后,系统将会判断玩家是否有 "player.op" 权限。 +即玩家在末地 `800,100,800` 传送到主世界坐标为 `800 100 800`,如果传送到地狱坐标为 `100 100 100`, -如果有,指令将会正常进行,并发送 "true" 给玩家。 +要避免玩家传送到自己所在的世界。如果玩家输入的世界不存在,则提示 "目标世界不存在",如果只输入 `/world` 则提示玩家所在位置。 -如果没有,指令执行事件将被强制取消,并发送 "false" 给玩家。 +这个指令需要有 `command.world` 权限才能使用,传送 CD 为 5 秒。 ---- +
    + 参考写法,不唯一 -### Effects (效果) +在这里,我们分析一下指令,应该是 `/world xxx` 中的 `xxx` 代表世界,所以我们选择 `/world ` 作为指令。 -与其说它是效果,不如称作行动。 +另外,我们可以发现,玩家输入的指令可能包括自己在的世界,这件事本身是没意义的,应该在最开始检查一次。 -我们把条件类的示例拿下来接着分析: +如果你是新手,很有可能会写出类似以下的脚本: ```skript -on command "/op": - event-commandsender is "player" - if event-player has permission "player.op": - send "true" to event-player - else: - cancel event - send "false" to event-player -``` - -我们把两个条件判断句替换为条件 1 和条件 2,那么这段代码就可以理解为: - -```txt -指令监听 "/op": - 事件 - 发送者类别 是 玩家 - 条件 1: - send "true" to event-player # 发送消息给玩家 - 条件 2: - cancel event # 取消事件 - send "false" to event-player # 发送消息给玩家 -``` - -我们可以看到,条件判断结束后,代码并没有直接结束,而是分别执行行动。 - -如果我希望执行其他行动呢?比如我想给一个玩家发送一个 Title 消息: - -通过在官方 Doc 搜索,我们得知关于 Title 相关的 Effects 一共有两个: - -- [EffResetTitle](https://docs.skriptlang.org/docs.html?search=#EffResetTitle) - "Resets the title of the player to the default values." - "重置玩家的 Title 至默认值" -- [EffSendTitle](https://docs.skriptlang.org/docs.html?search=#EffSendTitle) - "Sends a title/subtitle to the given player(s) with optional fadein/stay/fadeout times." - "发送 Title/Subtitle 至指定玩家 可自定义渐入和淡出的时间" - -我们需要知道的是 #EffSendTitle 的用法。关于怎么用,这里本质上和学习 Conditions(条件) 一样,我们将注意点放在 "Patterns" 上。 - - - -```txt -send title %text% [with subtitle %text%] [to %players%] [for %time span%] [with fade[(-| )]in %time span%] [(and|with) fade[(-| )]out %time span%] -send subtitle %text% [to %players%] [for %time span%] [with fade[(-| )]in %time span%] [(and|with) fade[(-| )]out %time span%] +command /world []: + cooldown: 5 seconds + permission: command.world + trigger: + if arg-1 is world "world_the_end": + teleport player to location(player's x-coord / 8, player's y-coord, player's z-coord / 8, world "world_the_end") + if arg-1 is world "world_nether": + if player's world is "world_the_end": + teleport player to location(player's x-coord / 8, player's y-coord, player's z-coord / 8, world "world_nether") + if player's world is "world": + teleport player to location(player's x-coord, player's y-coord, player's z-coord, world "world_nether") + if arg-1 is world "world": + if player's world is world "world_nether": + teleport player to location(player's x-coord * 8, player's y-coord, player's z-coord * 8, world "world") + else: + teleport player to location(player's x-coord, player's y-coord, player's z-coord, world "world") ``` - - -按照我们提到的原则: +:::warning[问题分析] -- "[]" 内可以省略 -- "(...|...)" 内必须选择一项填写 -- "%%" 内必须根据其所对应的类型进行填写 - -我们大致上认识到行动的基本用法,即: -`send title "..." with subtitle "..." to player for ... seconds with fade-in ... seconds and fade-out ... seconds` +1. 在这里,每行代码都过长了,非常不利于阅读。 +2. 此想要调整不同世界的比例时,需要一个个调整参数,这不利于代码的维护。 +3. 使用的 `if` 套在 `if` 后的情况比较多,在逻辑上可能会出现问题。 -将其带入进我们的伪代码: +::: - +所以,我们选择使用局部变量暂存玩家的坐标,并基于玩家所在世界及目标世界计算变量,最后根据计算出的量直接使用 `teleport player to %location%` 传送即可。 ```skript -指令监听 "/op": - 事件-发送者类别 是 玩家 - 条件1: - send "true" to event-player - send title "Hello!" with subtitle "持续时间 5s 渐入未设置 淡出未设置" to event-player for 5 seconds - wait 15 seconds - send title "Hello!" with subtitle "持续时间 5s 渐入 5s 淡出未设置" to event-player for 5 seconds with fade-in 5 seconds - wait 15 seconds - send title "Hello!" with subtitle "持续时间 5s 渐入 5s 淡出 5s" to event-player for 5 seconds with fade-in 5 seconds and fade-out 5 seconds - 条件2: - cancel event - send "false" to event-player +command /world []: + cooldown: 5 seconds + permission: command.world + trigger: + if arg-1 is not set: + send "你当前所在位置为:X:%player's x-coord% Y:%player's y-coord% Z:%player's z-coord% in world %player's world%" + stop + # 如果没有输入参数则提示玩家当前位置并停止执行 + if arg-1 is player's world: + send "[传送] 禁止套娃!" + stop + # 取消玩家输入的世界是自己所在的世界时的原地 tp + if world "%arg-1%" is not loaded: + send "[传送] 目标世界不存在!" + stop + # 取消玩家输入的世界不存在时的 tp + + set {_y} to player's y-coord + # 使用局部变量储存玩家的 y 坐标 + if player's world is world "world_nether": + # 玩家在地狱时存储 x z 坐标存为 8 倍 + set {_x} to player's x-coord * 8 + set {_z} to player's z-coord * 8 + else: + # 玩家在其他世界时 x z 坐标暂存 + set {_x} to player's x-coord + set {_z} to player's z-coord + + if arg-1 is world "world_nether": + # 如果玩家从其他地方到地狱,将暂存的 x z 坐标除以 8 + set {_x} to {_x} / 8 + set {_z} to {_z} / 8 + teleport player to location({_x}, {_y}, {_z}, world "%arg-1%") + send "[传送] 成功传送到世界 %arg-1% !" ``` - - -通过以上三种方式,我们都能成功的发送了 Title 信息。 - -只要记住以上基本原则,所有的用法问题迎刃而解。 +:::tip[卫语句的使用] -而学会读 "Patterns" 是初学者必备的技能,下文我将不会再提及如何使用 "Patterns" 查阅用法。 +以上脚本将 if %condition% 代码块靠前并提前 stop,检查了玩家输入的世界是否合理,这个思想广泛运用于编程中, ---- - -### Expressions (表达) & Types (类型) +称为 "守卫式编程"(Guard Clause Programming),也叫卫语句,可以有效减少嵌套层级,提高代码可读性。 -有一天你心血来潮,想要调整玩家的最大血量。 +尤其是在指令注册中,往往需要对输入参数进行多次检查,使用守卫式编程可以让代码逻辑更加清晰。 -调整血量,之前我们提过这属于动词 + 名词形式,这是属于 Effects(效果) 类。 +::: -但是实际上是这样么? +
    -实际上并不是,所谓的 Effect (效果) 虽然都是 `动词 + 名词` 形式,但是对于 Effect (效果) 而言。 +### 变量 -注重的是 `动词` 而非后面跟着的 `名词` 例如 `在玩家所在位置生成僵尸`。 +变量是任何有用编程语言中的关键组成部分,Skript 也不例外。它们允许你存储、检索和操作数据,从而使你的脚本更加动态和灵活。 -Effect (效果) 所能提供的 只有 "生成" -通过查阅 [官方文档](https://docs.skriptlang.org/docs.html?search=#EffSecSpawn),我们知道生成的用法基本为: +Skript 中的变量名几乎可以包含绝大多数字符,例如: ```skript -(spawn|summon) %entity types% [%directions% %locations%] -(spawn|summon) %number% of %entity types% [%directions% %locations%] +set {玩家的金币数} to 1000 +set {_player::coin} to 1000 +set {-cache::player::score} to 2 +set metadata "permission" of player to "VIP" +set {-ids::*} to 1,2,3,4,5,6 ``` -但是除去这个词语,我们还剩 "在玩家所在位置" 和 "僵尸"。 - -这两个词我们又该怎么处理呢?这时候我们就需要用到 Expressions (表达)。 - -位置的英文单词是 "Location" 我们在官方 Doc 查到了多种有关 "Location" 的表达 - -- https://docs.skriptlang.org/docs.html?search=#ExprLocation -- https://docs.skriptlang.org/docs.html?search=#ExprLocationOf -- https://docs.skriptlang.org/docs.html?search=#ExprLocationAt - -我们需要什么呢?我们需要 "玩家所在的位置"。相同地,通过查看官方的注释,我们知道我们需要的是 #ExprLocationOf (The location of a block or entity.)。 - -但是这只解决了我们 "所在位置" 的问题 并没有解决 "玩家" 和 "僵尸" 的问题。 - -我们可以看到 "所在位置",Expressions (表达) 是没有主语的。 - -Skript 不同于其他语言,正如我在开头所展示的,相比较 Java 而言 Skript 更 **注重的是语言而非编程**。 - -我们需要把这些零碎的东西组成句子,必不可少的是主语,次要的是宾语。 - -这时候我们就需要引入 Types (类型),但凡你发现你的表达里缺少主语/宾语 (对象),来这里准没错: - -https://docs.skriptlang.org/classes.html - -通过翻译我们可以轻松知道玩家的英文以及僵尸的英文,分别为 "player"和"zombie"。 - -与之相对应的,我们分别在 Types (类别) 中找到: - -- https://docs.skriptlang.org/docs.html?search=#player -- https://docs.skriptlang.org/docs.html?search=#entity - -综合上面我们所获得的信息 我们获得了完整一行代码: - -`spawn zombie at location of player` - ---- - -WOW,恭喜你!看到这,你就可以开始尝试着写一些插件了。 - -## 例子 - -这里刚好有一个例子,不妨动动手,试一试。 - -- 在玩家破坏方块时 检查玩家是否有 "fundamental.break" 这个权限 -- 如果有那就在让后台发送一条指令 "/broadcast %player% 破坏了方块" -- 如果没有那就取消这个事件 并 向这个玩家发送 "你不能破坏这个方块" - -答案不唯一,仅供参考。 +其中,主要的变量类型有 4 种: -当然仅仅学这些并不够,为了做到能更快更灵活的使用各类语法,在闲暇的时候,把官方 Doc 提供的所有语法的注释都认真的看一遍是快速上手 Skript 的一种好办法。 +- **局部变量**:以 `{_` 开头 `}` 结尾的变量,仅在当前事件或指令触发器中有效,适用于临时存储数据,避免与全局变量冲突。 +- **全局变量**:以 `{` 开头 `}` 结尾的变量,在整个 Skript 脚本中都有效,适用于需要跨事件或指令共享的数据。 +- **内存变量**:以 `{-` 开头`}` 结尾的变量,类似于全局变量,但是服务器关闭后会被清除,适用于需要在服务器运行期间存储的数据。 +- **元数据变量**: `metadata "key" of %entity%/%world%` 格式的变量,与实体或世界绑定,适用于需要与特定实体或世界关联的数据。 ---- +### 数组与循环 -你开始尝试着写一些有一些小功能的脚本了,但是难免的你会出现这样的问题: +在开发过程中,很多时候会遇到需要批量处理一类变量的情况。例如玩家的游戏币、点券、经验值等。 -你为玩家创建了很多变量,很多都是属于一个类型的。 +假如我们将玩家的金币储存在变量里,我们可能会有以下选择: -比如你把所有人的游戏币数量都存在了 `{(玩家的名称)的游戏币数}` 这些变量内,你把所有人的点券数量都存在了 `{(玩家的名称)的点券数}` 这些变量内…… +`{player_%player%_coins}` +`{player.%player%.coins}` -平时你单独去操作这些变量的时候,觉得也很容易。 +强烈不推荐!因为这样做不仅无法使用 Skript 内置的数组和循环功能,还会导致变量管理混乱,难以维护。 -但是假设突然有一次,由于回档需要补偿玩家损失。 +`{%player%::playerCoins}` -你需要将所有玩家的 `{(玩家的名称)的游戏币数}` 变量都 +1000。 +可以进行数组形式的进行批量操作,但不推荐这种方式,因为不利于变量的分类和管理。 -还好只有 10 个玩家数据,你可以一个一个调,就是浪费一点时间,倒还不成问题。 +`{playerCoins::%player%}` -但是如果你有 10000 个玩家数据,如果你一个一个调,可能玩家都走完了,你也调不完。 +不错的选择,使用数组形式存储玩家的金币数量,可以方便地进行批量操作和管理。 -你遇到了新的问题,如何存储并快速操作一类变量? +#### 什么是数组 -这时候你需要两样东西:"数组"和"loop"。 +数组是一种数据结构,用于存储一组相关的数据项。在 Skript 中,数组允许你将多个值存储在一个变量中,并通过索引访问这些值。 -### 数组 +数组的基本格式为 `{变量名::变量名::变量名......}`,其中 `::` 用于分隔不同的元素。 -数组的基本格式为 `{变量名::变量名::变量名......}`。 +`{playerCoins::%player%} = %value%` 中,`{playerCoins::%player%}` 就是一个数组变量, -我们带入实景,将用 `{(玩家的名称)的游戏币数}` 存储转为用 `{金币::(玩家的名称)}` 存储玩家的游戏币数量。 +- `playerCoins` 是数组的名称,表示这是一个存储玩家金币数量的数组。 +- `%player%` 是索引,表示玩家的名称(在 Config 中可以改为 UUID)。 +- `%value%` 则表示该玩家所拥有的金币数量。 -例如,服务器有 10000 个玩家,玩家名称为 1,2,3,......,10000,玩家游戏币数量为 100,200,300,......,1000000。 +这个数组也可以将这个变量视作返回了一个包含所有玩家金币数量的列表。 -那么对应的 `{金币::1}` 就是:名为 "1" 玩家的游戏币数量 100。 +`set {_money} to getMoney(%player%)` => `set {_money} to {playerCoins::%player%}` -如果我用输出语句输出 `{金币::1}` 至后台,那么很显然我会得到 100 这个数值。 +每给定一个玩家名称,就可以通过 `{playerCoins::%player%}` 访问到玩家金币数量。 -同样的我用输出语句输出 `{金币::10000}` 至后台,我会得到 1000000 这个数值。 +#### 为什么使用数组 -你可能会说,这不是和用 `{(玩家的名称)的游戏币数}` 一样么? +例如,我们使用数组 `{playerCoins::%player%}` 来存储玩家的金币数量时,如果需要给所有玩家增加金币, -是的,确实。如果仅仅需要获得某一个玩家的游戏币数量,两者并没有什么区别。 +我们可以遍历数组中的每个元素,而每个玩家所拥有的金币数量可以通过 `{playerCoins::*}` 进行访问和修改。 -但是,如果我将 `{金币::(玩家的名称)}` 中玩家的名称改为 "_" 即 ``{金币::_}``,这时候会产生什么样的效果呢? +对于数组 `{playerCoins::*}` ,`*` 表示所有元素,可以用于循环遍历,也可以用于其他批量操作。 -`{金币::*}` 将包含,所有 `{金币::(玩家的名称)}` 变量。 +#### Loop / For(循环) -而这个,却是 `{(玩家的名称)的游戏币数量}` 怎么改也做不到的。 +利用数组我们知道了如何快速获取一类数据。但是我们又该如何快速操作这一类数据呢?这时候就需要引入我们的 Loop 结构。 -### Loop +Loop / For 即循环结构,是 Skript 里非常常用的结构语句,主要用于操作数据量较大的一类变量。 -利用数组我们知道了如何快速获取一类数据。 +Loop 可以与数组、次数、Types(类型)等配合使用。 -但是我们又该如何快速操作这一类数据呢?这时候就需要引入我们的 Loop 结构。 +Loop / For 循环的结构如下: -Loop 即 循环结构,是 Skript 里非常常用的结构语句,主要用于操作数据量较大的一类变量。 +`loop %objects%` +`for each %key%, %value% in %objects%` -以下是 Loop 的几大标准配合: +我们先举一个简单的例子: -### Loop + 数组 结构 +```skript +on load: + set {_list::1} to "hey" + set {_list::2} to "how" + set {_list::are} to "you" + loop {_list::*}: + broadcast "%loop-index%: %loop-value% (%loop-counter%)" +``` -(To Be Added.) +在 Loop section 中,有 `loop-index`、`loop-value`、`loop-counter` 三个内置变量来获取当前循环的索引、值和计数。 -### Loop + 次数 结构 +- loop-index:当前循环的索引值; +- loop-value:当前循环的值; +- loop-counter / loop-iteration:当前循环的计数,从 `1` 开始递增。 -(To Be Added.) +特别的,对于 `loop %blocks%/%entities%/ %players%:`, -### Loop + Types (类型) 结构 +还可以使用 `loop-block`、`loop-entity`、`loop-player` 来获取当前循环的方块、实体或玩家对象,等价于 `loop-value`。 -(To Be Added.) +很好,我们已经了解了 Loop / For 循环的基本用法,我们来看一个更实际的例子。 ---- +我们需要发奖励,给 `{playerCoins::*}` 每一个人都新增随机 1~100 金币,并计数一共增加了多少: -### 注册指令 +```skript +command /addcoins: + trigger: + loop {playerCoins::*}: + set {_reward} to random integer between 1 and 100 + add {_reward} to {playerCoins::%loop-index%} + send "你获得了 %{_reward}% 金币!你现在有 %loop-value% 金币,你是第 %loop-counter% 个获得奖励的玩家" to player(loop-index) +``` -说到现在,我们所有的代码,似乎都是基于监听器进行编写的。 +在这里我们使用了 `loop {playerCoins::*}:` 来遍历数组中的每一个元素,在此处: -我们都需要去触发监听器,才能执行我们的代码,那有没有什么办法可以主动触发我们的代码? -这时候我们就需要引入 Minecraft 插件最核心的功能,指令功能。 +- loop-index:当前循环的索引值,在数组中表示玩家名称或 UUID; +- loop-value:当前循环的值,在当前数组中表示玩家的金币数量; +- loop-counter:当前循环的计数,从 1 开始递增,表示已经处理了多少个元素。 -在 Java 里你可能需要这样注册一个指令。 +##### 多层嵌套 -```Java -@Override -public boolean onCommand(final CommandSender sender, Command cmd, String label, String[] arg)`{ - if (cmd.getName().equalsIgnoreCase("自定义指令"))`{ - 代码段落 - }` - return true; -}` -``` +在 Skript 中,Loop 结构是可以嵌套使用的。也就是说,你可以在一个 Loop 结构内部再使用另一个 Loop: -但是在 Skript 里你只需这样即可 +但需要注意的是,嵌套的 Loop 结构需要区分不同层级的内置变量, -```skript -command /自定义指令: - trigger: - 代码段 -``` +例如 `loop-index-2`、`loop-value-2`、`loop-counter-2` 分别表示第二层循环的索引、值和计数。 -你并不需要理解前者是什么意思,仅仅需要记住后者的格式即可。 +一旦有多个层级的 Loop 嵌套,就需要使用 `-1`、`-2` 等后缀来区分不同层级的内置变量。 -如果我想注册一个 "/我学你马 Java" 的指令,你只需这样:(编者注:不建议注册中文指令。) +这会让代码非常混乱,不推荐使用过多层级的嵌套 Loop,举个例子: ```skript -command /我学你马Java: - trigger: - kill player - send "不许说Java坏话" to player +on load: + loop all players: + loop all blocks in radius 5 around loop-player: + send "玩家 %loop-player% 附近第 %loop-counter-2% 个方块是 %loop-block%" to console ``` -通过测试,指令正常触发。 +为了解决这个问题,Skript 引入了 For 循环语法,可以让代码更加简洁和易读。 -通过套公式,你可以创造成千上万的指令不成问题,但是实际上我们在使用一个插件的时候,并不是只有 `/...` 结构的指令存在,更多的是 `/... ... ...` 来构成一类指令。 +##### For 循环 -那我们又该如何注册这样结构的指令呢?非常简单,基本格式与上面几乎无异。 +For 循环与 Loop 循环类似,但 For 循环写法更简洁,用于替换 `loop` 语句,适用于简化代码结构,提高可读性。 ```skript -command /自定义指令 [<类型>] [<类型>] ...: - trigger: - 代码段 + # for 循环中只有一个变量时,for each %value% in {array::*}: + # 如果有多个变量时,使用 for each %key%, %value% in {array::*}: + for each {_player}, {_coin} in {playerCoins::*}: + set {_reward} to random integer between 1 and 100 + add {_reward} to {playerCoins::%_player%} + send "你获得了 %{_reward}% 金币!你现在有 %{_coin}% 金币" to player({_player}) ``` -本人写代码时常用的结构就是这样。 - -有人问 "类型" 有哪些,其实我也说不全,我常用的有这几种。(编者注,见本页 `了解八大类`。) +For 循环中,`for each {_player}, {_coin} in {playerCoins::*}:` 本质和 `loop {playerCoins::*}:` 相同, -- "text" - 字符类型。什么是字符?可以按照字面意思来理解,字词符号。 -- "player" - 在线玩家。 -- "offline player" - 离线玩家。 -- "number" - 数字类型。 -- "integer" - 整数类型。 - -那这些类型又有什么用处呢?它实际上是对指令的参数的一种限制。 - -比如我创建如下指令: +但是使用了更简洁的语法来定义循环变量,直接使用了自定义变量名 `{_player}` 和 `{_coin}`,提高了代码的可读性。等价于: ```skript -command /hello []: - trigger: - 代码段 + loop {playerCoins::*}: + set {_player} to loop-index + set {_coin} to loop-value ``` -可以看到,第一个空格的位置,我需要的参数类型为在线玩家。 - -那么我在执行这个指令的时候,必须在这个位置上填上一个在线玩家的名称。 +#### 练习 4 - 数组与循环:连锁砍树 -同样的如果我把 `"[]"` 换成 `"[]"`,我就需要在这个位置上填写一个整数。 +当玩家手持斧头砍伐树木时,自动将在目标方块 **正上方** 木头一并砍伐掉, -如果我填了 "1.2"(小数/浮点数),Skript 就会提示我,填写的参数类型错误。 +考虑到本教程为基础教程,暂不考虑树木形状,仅砍伐正上方的木头,连锁上限为 32 块木头。 -为什么填写参数?那肯定是在代码段内需要使用这些输进来的参数。 +提示:`blocks above %block%` 可获取某个方块正上方的所有方块列表。 -那么我们在代码段里有该如何调用这些被我们输入进来的参数呢? - -比如像是上面这个指令,它只有一个可以填参数的位置。那么在代码段内,它就是 `arg-1`,即`第一个参数`的意思。 - -我们只需要记住核心规则,它排在第几位,在代码段内,它就是 "arg-几"。 - -当然我在这块的了解并不是很深入,为了不把大家带上歪路,这里引用国外 Skript 原作者更为详细的指令注册的教程。 +
    + 参考写法,不唯一 ```skript -command /<指令名称> <参数>: -  aliases: -  executable by: -  usage: -  description: -  permission: -  permission message: -  cooldown: <冷却时间> -  cooldown message: -  cooldown bypass: -  cooldown storage: <变量> -  trigger: -    代码段 +item tag aliases: + any axe = minecraft:axes + any log = minecraft:logs +# 定义物品标签,方便后续使用 + +# 连锁砍树监听 +on break: + if player's tool is any axe: + # 判断玩家手持物品是否包含 "axe" 标签 + block is any wood + # 获取被破坏方块正上方的所有方块列表 + loop blocks above event-block: + if loop-counter > 32: + stop + # 达到连锁上限则退出循环 + if loop-block is any wood: + break loop-block using player's tool ``` -- 指令名称 (必填) - 指令名称基本上是指令,你可以在指令名称中使用任何字符 (空格字符除外)。 - 当然如果在指令名称中使用空格字符,那么空格字符后的文本将成为参数。 - 指令名称前的斜杠字符 (/) 是可选的 (但这并不意味着你可以在执行指令时不带斜杠)。 -- 参数 (可选) - 可以通过将参数放在 "[]" 中来使其成为可选参数。 - - 类型参数 - 可以通过使用规定的格式来限制参数的类型,例如:``。 - - 类型为 "text/string" 的参数可以接受任何字符,但 "object" 类型不能用作于参数 (编者注:原因大抵是无法输入 `object`)。 - - 类型可以是多个 (例如 number -> numbers entity -> entities)。通过这样的方法,可以使参数接受多个值。 - - "= default value" 这一部分是可选的,如果指令执行者未输入参数,系统将自动使用默认值。 - - 同样你也可以使用这样的方式设置参数默认值,例如:``。 - -以下是一份指令示例: - -`command /kill [in [the] radius ]:` - -使用 `/kill zombies /kill creepers and animals in radius 100` 或 `/kill monsters in the radius 6` 都是可以的。 - -但是如果没有输入数值,系统将自动使用默认值,半径 20。 - -- Aliases - 子指令,指令的别名。如果需要创建多个子指令,请使用用逗号分隔。 - 示例:(/alias1,alias2,/alias3) -- Executable By - 指定可以使用该指令的执行者。 - 例如:console(后台),players(玩家),the console and players(后台和玩家) -- Usage - 执行者用法不正确时,将发送的消息。 -- Description - 指令描述,其他插件可以获取/显示此信息。 -- Permission - 执行指令所需要的权限。 -- Permission Message - 执行者没有权限时的提示信息。 -- Cooldown - 多长冷却时间后可以再次使用该指令,需要注意的是,关服时所有指令冷却时间将被重置。 -- Cooldown Message - 冷却期间,提示信息。 -- Cooldown Bypass - 无视冷却时间所需要的权限。 -- Cooldown Storage - 存储冷却时间全局变量名称。 +
    ---- +### Function(函数) -### Function 第一类结构 +当你的插件越来越复杂时,你会发现代码段落越来越多,逻辑越来越复杂,但你会发现很多代码段落其实是相似的,甚至是完全相同的。 -众所周知,一个复杂的插件,不免出现相似的代码段。 +代码是给人看的,给机器执行的只是顺便的事情。如果代码重复过多,不仅会让代码臃肿不堪,还会增加维护难度。 -有时候你看着不舒服,想要缩减段落,却又无从下手。这时你就需要 Function 来帮忙了。 +此时,就应该考虑使用 Function(函数)来优化代码结构和可读性 **复制粘贴不可取**。 -这里取 SUPERGUILDS 的一段代码做讲解。 +Function 可用于解决这些问题,函数的定义与指令注册具有相似性,例如二者都支持参数,函数的基本结构如下: ```skript -file "plugins/SUPERGUILDS/%{_fileDir}%.yml" does not exists: - create file "plugins/SUPERGUILDS/%{_fileDir}%.yml" - yaml "plugins/SUPERGUILDS/%{_fileDir}%.yml" is not loaded: - load yaml "plugins/SUPERGUILDS/%{_fileDir}%.yml" as "plugins/SUPERGUILDS/%{_fileDir}%.yml" - set yaml value "%{_variableName}%" from "plugins/SUPERGUILDS/%{_fileDir}%.yml" to "%{_value}%" - save yaml "plugins/SUPERGUILDS/%{_fileDir}%.yml" +function 方法名(参数名: 参数类型, 参数名: 参数类型, ...): + # 代码段落 + +on load: + 方法名(参数值, 参数值, ...) ``` -可能你不知道这段代码的意思,简而言之,这段代码的功能是存储一些数据至一个 YAML 文件内。对于一个相对复杂的脚本,数据的存储是必不可少的,同样也会频繁出现在我们的代码中的。难道真的每一次需要存储数据的时候,都需要再去复制粘贴么? +**使用** 方法的时候请勿画蛇添足在前面另加 "function"。 -对于一个初学者来说,无可厚非,就是多几行而已。但是对于一个老手来说,**复制粘贴不可取**。 +此处的 `方法名` 就是函数的名称,`参数名` 是函数的参数名称,`参数类型` 是参数的数据类型。 -首先对于一个 5000+ 以上的插件来说,你需要关注的东西很多:一个是代码优化,一个是代码可读性。 +参数类型可以参考前面提到的指令参数类型,例如 `text`、`player`、`number`、`boolean` 等等。 -就拿 SUPERGUILDS 来说,它有 7000 多行。我所有的数据读取和存储都是通过方法完成,单一个数据写入方法我就使用了 100 多次,(也就是以上的代码)。如果我们把它都像上面一样全部展开,我的脚本将立即增加 600+ 行。 -但是我们在写脚本的时候真正需要的是这些么?不,我们需要的是效果,是功能,不是数据处理的流程。 +参数类型也是限定参数的输入范围,防止出现不符合预期的输入,也可以使用默认值来简化调用。 -每次写入数据都需要白白多占 6 行,既不方便后期维护,又要因为要兼顾路径正确与否,浪费很多时间在查错上面,不划算。 +函数的调用方式为 `方法名(参数值, 参数值, ...)`,其中 `参数值` 是传递给函数的实际值。 -Function 为你解决了这些难题,方法的注册和指令的注册有共同的地方,比如它们同样需要参数,结构一般为: +另外,函数可以有返回,也可以没有返回值,当需要返回值时,函数的结构如下: ```skript -function 方法名(参数名:参数类型, 参数名:参数类型, ...): - 代码段落 -``` - -(关于参数名以及参数类型的定义 可以在 "Command" 栏目下找到 此处不再赘述) -套用公式 我们可以把上面的代码段转换成方法段 +function 方法名(参数名: 参数类型, 参数名: 参数类型, ...) :: 输出参数类型: + # 代码段落 + return 返回值 -```skript -function SG_writeFile(variableName: text, value: text, fileDir: text): - file "plugins/SUPERGUILDS/%{_fileDir}%.yml" does not exists: - create file "plugins/SUPERGUILDS/%{_fileDir}%.yml" - yaml "plugins/SUPERGUILDS/%{_fileDir}%.yml" is not loaded: - load yaml "plugins/SUPERGUILDS/%{_fileDir}%.yml" as "plugins/SUPERGUILDS/%{_fileDir}%.yml" - set yaml value "%{_variableName}%" from "plugins/SUPERGUILDS/%{_fileDir}%.yml" to "%{_value}%" - save yaml "plugins/SUPERGUILDS/%{_fileDir}%.yml" +on load: + set {_result} to 方法名(参数值, 参数值, ...) ``` -若想将 "plugins/SUPERGUILDS/playerdata/玩家 UUID.yml" 的 "Datas.Username" 设置为 "\*\*EVER" +在此处,`{_result}` 将会存储函数 `方法名` 执行后的返回值。 -```skript -file "plugins/SUPERGUILDS/playerdata/%uuid of player%.yml" does not exists: - create file "plugins/SUPERGUILDS/playerdata/%uuid of player%.yml" - yaml "plugins/SUPERGUILDS/playerdata/%uuid of player%.yml" is not loaded: - load yaml "plugins/SUPERGUILDS/playerdata/%uuid of player%.yml" as "plugins/SUPERGUILDS/playerdata/%uuid of player%.yml" - set yaml value "Datas.Username" from "plugins/SUPERGUILDS/playerdata/%uuid of player%.yml" to "**EVER" - save yaml "plugins/SUPERGUILDS/playerdata/%uuid of player%.yml" -``` +需要注意: + +- 当需要返回时候,需要用 `return` 语句用于指定函数的返回值 +- 当函数执行到 `return` 语句时,函数将立即终止,后面的代码将不再执行 +- 如果函数指定了输出参数类型,那么返回值必须与该类型匹配 +- 如果使用 `return` 语句返回值,必须保证中途不能使用任何的 delay 语句 -代码即可转换为 +我们来看一个简单的例子: ```skript -SG_writeFile("Datas.Username", "**EVER", "playerdata/%uuid of player%") +function getFormattedTime(time: number,type:timespanperiod = ticks) :: string: + set {_time} to timespan({_time},{_type}) + set {_days} to days of {_time} + set {_hours} to mod(hours of {_time}, 24) + set {_minutes} to mod(minutes of {_time}, 60) + set {_seconds} to mod(seconds of {_time}, 60) + if {_days} > 0: + add "%{_days}% 天 " to {_fomattedTime::*} + if {_hours} > 0: + add "%{_hours}% 小时 " to {_fomattedTime::*} + if {_minutes} > 0: + add "%{_minutes}% 分钟 " to {_fomattedTime::*} + return concat({_fomattedTime::*}) ``` -**使用** 方法的时候请勿画蛇添足在前面另加 "function"。 +该例子中同样利用了 Skript 内置的 Function 来进行代码简化: -通过这样的方法我们大大减少了代码量,提高了开发效率。你以为 Function 就结束了? +`mod(value, divisor)`:返回 `value` 除以 `divisor` 的余数 -其实不然,作为方法,很多的时候它并没有 "操作" 功能,更多的是 "整理/查找/判断" 功能。 +`mod(5, 2)` => 1 +`mod(10, 4)` => 2 -上面我提到了使用 Function 写入了数据 那么有写入肯定需要读取 我们又该如何利用 Function 来缩短我们读取的代码呢? +`concat(list)`:将列表中的所有元素连接成一个字符串 ---- +`concat("Hello", " ", "World")` => "Hello World" +`concat("A", "B", "C")` => "ABC" + +该例子需要 `Skbee` 插件支持,函数 `getFormattedTime` 接受一个时间数值和一个时间单位类型作为参数,返回格式化后的时间字符串。 -### Function 的第二类结构 +通过调用该函数,可以将时间数值转换为易读的格式,例如 "1 天 2 小时 30 分钟"。 ```skript -function 方法名(参数名:参数类型, 参数名:参数类型, ...) :: 输出参数类型: - 代码段落 - return 返回值 +on load: + set {_timeString} to getFormattedTime(93784, seconds) + broadcast "格式化后的时间为:%{_timeString}%" ``` -与我们之前提到的写入不同,此时在方法的第一行的末尾我们新增了 "输出参数类型"。 +其他函数示例可参考 [Skript Hub](https://skripthub.net/docs/) 或 [skUnity Docs](https://docs.skunity.com/syntax) 侧边栏 `Function`。 -什么是输出?就是代码执行完,我们会得到一个值,而输出即返回这个值。 +通过 Skript 内置的和我们自定义的函数,可以极大地提升代码的复用性和可维护性。 -什么是参数类型?这里举一个例子,我们知道 1+1=2,这是因为 1 是一个数字,2 也是一个数字,所以才有数字 + 数字=数字。 +#### 练习 5 - 函数返回值:平滑视角 -那“①+一”又等于什么呢?在你的思维中,很可能会认为它们仍然是数字,你会觉得答案还是 2。 +制作一个平滑视角函数,让玩家在一定时间内平滑地将视角从一个位置移动到另一个位置。 -但是执行我们代码的是计算机,并不是“我们”。在大部分情况下,计算机所能识别的数字,只有阿拉伯数字 "1,2,3..." +位置以 x,y,z 的形式传入 `arg-1`、`arg-2`、`arg-3`,默认时间为 20 ticks -而对于 "①,一...",计算机只能识别它们中的一些字符,并不能利用这些字符进行加减运算。如果有个人突然问你一句水 + 苹果 = ? 你或许也没有一个准确的答案。 - -计算机更是这样。所以这时候就需要参数类型来规范我们运算中的这些值,以下是一份示例。 +指令已经写好,你需要完成平滑视角的函数: ```skript -function SI_isSlotAvaliable(s: integer, z: integer) :: boolean: - set {_m} to {_z} * 9 - 1 - {_s} is not between 0 and {_m}: - return false - return true - +command /smoothlook [=20]: + trigger: + set {_from} to player's target block + set {_to} to location(arg-1, arg-2, arg-3, player's world) + set {_duration} to arg-4 + loop {_duration} times: + set {_time} to loop-counter + force player look smoothUtils({_duration}, {_from}, {_to}, {_time}) + wait 1 tick ``` -通过第一类 Function 的学习我们知道,这个方法可以放入两个参数,最终会返回一个参数类型为 boolean("布尔") 的值 即 "false/true"。 - -那么实际操作中我们就可以通过这样一段代码,判断给定的数值是否满足条件。满足将返回 "true" ,不满足将返回 "false"。 +
    + 参考写法,不唯一 -切记,对于 Skript,如果代码已经成功获得的最终值,那么方法代码将立即终止,也就是说,从返回成功的一行开始,后面所有代码将不再执行。 +```skript +#> 平滑模块 +function smoothUtils(duration:number,from:location,to:location,time:number) :: location: + set {_tickrate} to ({_time} / {_duration}) + set {_x} to lerp({_from}'s x loc,{_to}'s x loc,{_tickrate}) + set {_y} to lerp({_from}'s y loc,{_to}'s y loc,{_tickrate}) + set {_z} to lerp({_from}'s z loc,{_to}'s z loc,{_tickrate}) + set {_yaw} to lerp({_from}'s yaw,{_to}'s yaw,{_tickrate}) + set {_pitch} to lerp({_from}'s pitch,{_to}'s pitch,{_tickrate}) + return (location({_x}, {_y}, {_z}, {_from}'s world, {_yaw}, {_pitch})) + +#> 差值算法 +function lerp(from:number,to:number,tickrate:number) :: number: + return ({_from} + ({_to} - {_from}) * {_tickrate}) +``` -到此,所有基础教程已结束,谢谢大家赏脸看完。全文 11111 字,都是自己的一些干货,点个收藏,给点人气便是对我最大的支持。 +
    -请支持原作者 [TUCAOEVER](https://github.com/TUCAOEVER)。 +## 更高级的脚本 -### 编者 (氿月) 的主要改动 +相信你已经掌握了 Skript 的基础语法和功能,能够编写一些简单的脚本来实现基本的功能。 -1. 在部分地方加上了注释。 -2. 改动了已经失效的原文档链接。 -3. 对整篇文章进行了重格式化,使之更符合现代汉语语法和 Markdown 语法,一定程度上增强了可读性。 -4. 统一了文章中出现的部分译名,如 `command`,统一使用 `指令` 来指代。 +我们将在接下来的章节中,介绍一些更高级的 Skript 技巧和最佳实践,帮助你成为一名更出色的 Skript 开发者。 diff --git a/src/content/docs/java/advance/lang/skript/intro.md b/src/content/docs/java/advance/lang/skript/intro.md index 9b0e65385..308f92712 100644 --- a/src/content/docs/java/advance/lang/skript/intro.md +++ b/src/content/docs/java/advance/lang/skript/intro.md @@ -4,7 +4,7 @@ title: 概述 :::caution -本文档大量参考了其他作者的教程,目前属于 **不可读** 状态 +本文档大量参考了其他作者的教程,特此致谢。 引用的内容主要来源于 @@ -51,30 +51,82 @@ on join: 在大多数情况下,Skript 不会在意大小写、定冠词 "the",只需要符合英语语法和基本的缩进。 -即使使用了错误的语法,报错时也基本会提示具体错误类型。 +缩进表示代码块的层级关系,类似于 Yaml,当前一行以 `:` 结尾时,下一行需要缩进表示代码块。 + +另外,即使使用了错误的语法,在脚本重载时,报错也基本会提示具体错误类型。 ### 拓展插件多 使用 Skript 时如果遇到 Skript 不包含的语法,可以使用其他拓展插件如 [Skbee](https://github.com/ShaneBeee/SkBee)、[Skript-reflect](https://github.com/SkriptLang/skript-reflect) 等插件拓展。 -### 性能较低 +### 性能略差 + +作为一种脚本语言,Skript 的性能相较于 Java 原生会有所下降,但很多用户会认为性能下降会非常严重,实际上并非如此。 + +根据测试,我们发现: + +1. 在事件监听、条件判断、Function 跳转、计算等基础功能几乎和 Java 原生持平; +2. 在 skript 中,Loop 循环、wait 等操作由于需要进行上下文变量复制开销会更大一些; +3. 正常使用 skript-reflect 反射等操作时,开销大概是 Java 原生调用的 1.5 ~ 5 倍。 -相较使用 Java 编写的插件,进行相同的操作时,Skript 的性能会略低于 Java。 +另外,Skript 的反射使用的是 MethedHandle,性能已经远远优于传统的 Java 反射, -但大多数情况下性能和代码本身的质量有巨大的关系。代码质量差对于性能的影响远大于使用 Skript 对性能的影响。 +因此,Skript 的性能瓶颈主要在编写者的脚本逻辑上,而不是 Skript 本身。 ## 下载及安装 +### 本体 + 下载链接: -1.7.10 2.1.2 https://dev.bukkit.org/projects/skript/files/779542/download +最新版: +`https://github.com/SkriptLang/Skript/releases` + +1.8.8-1.12.2 2.2dev37c: +`https://github.com/SkriptLang/Skript/releases/download/dev37c/Skript.jar` + +1.7.10 2.1.2 +`https://dev.bukkit.org/projects/skript/files/779542/download` -1.8.8-1.12.2 2.2dev37c https://github.com/SkriptLang/Skript/releases/download/dev37c/Skript.jar +### 拓展插件 + +Skript 拓展插件常见的有: + +- SkBee +- skript-reflect +- skNMS +- ... + +主要用于扩展 Skript 的语法和功能,提供更多的 API 支持,方便脚本编写者实现更多功能。 + +另外,由于拓展性能一般会优于 Skript-reflect,因此推荐优先使用拓展插件实现功能。 + +下载链接: + +[skunity](https://docs.skunity.com/addons) + +### Skript 脚本 + +Skript 脚本文件后缀为 `.sk`,将脚本文件放入 `/plugins/Skript/scripts/` 文件夹中即可。 + +下载链接: + +[SpigotMC](https://www.spigotmc.org/resources/categories/skript.25/) + +[skunity](https://forums.skunity.com/resources/) + +### 片段 + +片段只是一些现成的 Skript 代码块,主要是为了提供一些常用功能的实现思路,方便用户参考学习, + +部分片段可能需要特定的拓展插件支持,具体请参考片段说明。 + +下载链接: -最新版 https://github.com/SkriptLang/Skript/releases +[Skunity 片段合集](https://docs.skunity.com/snippets) -将 `Skript.jar` 以及你需要的拓展插件如 `Skbee.jar` 安装到 `/plugins` 文件夹中即可。 +[ShaneBeee 片段合集](https://github.com/ShaneBeee/SkriptSnippets/tree/master/snippets) ## 基础教程 From dbf663402accb736f2e87da30d09f1b2756b335b Mon Sep 17 00:00:00 2001 From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com> Date: Tue, 23 Dec 2025 17:27:17 -0500 Subject: [PATCH 32/42] =?UTF-8?q?=E5=AF=B9=20Skript=20=E6=95=99=E7=A8=8B?= =?UTF-8?q?=E7=9A=84=E8=BF=9B=E4=B8=80=E6=AD=A5=E4=BF=AE=E8=BE=9E=EF=BC=8C?= =?UTF-8?q?=E6=A0=BC=E5=BC=8F=E8=B0=83=E6=95=B4=20(#44)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 调整拼写,大小写 * 改正 Javadoc 的拼写 Javadoc 为一个专有名词 * 一些修辞调整和杂项修改 更符合阅读逻辑和体验 * 优化例子内的 Java 代码 * 修改标题层级,和练习 2 并列 * 将 Skript 代码块的语言改为 Python 以支持语法高亮 Prism 没支持 Skript 代码的语法高亮。另外 Skript 的代码语法很接近 Python 的,就改成 Python 了 除非以后我们要自己实现 Skript,Kether 等脚本语言的语法高亮 * 使用 Paper 的 Javadoc 并修复链接 * 调整格式 * Revert `将 Skript 代码块的语言改为 Python 以支持语法高亮` --- src/content/docs/java/advance/lang/intro.md | 2 +- .../advance/lang/skript/advanced-tutorials.md | 32 +++++++++---------- .../advance/lang/skript/basic-tutorials.md | 8 ++--- .../docs/java/advance/lang/skript/intro.md | 32 +++++++++---------- .../java/process/plugin/game/germengine.md | 2 +- 5 files changed, 38 insertions(+), 38 deletions(-) diff --git a/src/content/docs/java/advance/lang/intro.md b/src/content/docs/java/advance/lang/intro.md index 101939753..f03a748a7 100644 --- a/src/content/docs/java/advance/lang/intro.md +++ b/src/content/docs/java/advance/lang/intro.md @@ -14,7 +14,7 @@ title: 概述 ::: -脚本语言可以分为两大类:**特定语言和通用语言** +脚本语言可以分为两大类:**通用语言** 和 **特定语言** ## 通用语言 diff --git a/src/content/docs/java/advance/lang/skript/advanced-tutorials.md b/src/content/docs/java/advance/lang/skript/advanced-tutorials.md index 90826edef..8febd73ef 100644 --- a/src/content/docs/java/advance/lang/skript/advanced-tutorials.md +++ b/src/content/docs/java/advance/lang/skript/advanced-tutorials.md @@ -4,9 +4,9 @@ title: 高级教程 ## skript-reflect -学完基本的 Skript 语法后,我们会遇到一些 Skript 本身无法实现的功能,`Skript-reflect` 就是为了解决这些问题而诞生的。 +学完基本的 Skript 语法后,我们会遇到一些 Skript 本身无法实现的功能,`skript-reflect` 就是为了解决这些问题而诞生的。 -在基础教程中,我们已经提到过,`Skript-reflect` 允许我们以稍低一些的性能在 Skript 中反射调用 Java API, +在基础教程中,我们已经提到过,`skript-reflect` 允许我们以稍低一些的性能在 Skript 中反射调用 Java API, 它旨在将 **Java** 的功能与 **Skript** 易于使用的开发环境相结合,从而使 **Skript** 脚本编写者能够几乎访问任何 **Java** 类、方法和字段。 @@ -26,12 +26,12 @@ title: 高级教程 ```skript import: - net.ess3.api.events.TPARequestEvent # 导入java类 + net.ess3.api.events.TPARequestEvent # 导入 Java 类 # 监听事件 on TPARequestEvent: - set {_ess_IUser} to event.getTarget() # 获取IUser对象 - set {_player} to {_ess_IUser}.getBase() # 获取Player对象 + set {_ess_IUser} to event.getTarget() # 获取 IUser 对象 + set {_player} to {_ess_IUser}.getBase() # 获取 Player 对象 # 判断玩家 if {_player} is player("lilingfeng"): set {_command_sender} to event.getRequester().getPlayer() # 获取发起 tpa 请求的玩家 @@ -76,8 +76,8 @@ on TPARequestEvent: 例如,`TPARequestEvent` 事件中没有 `event-player`,因此无法直接使用 `player` 关键字来获取发起 tpa 的玩家。 ```skript - set {_ess_IUser} to event.getTarget() # 获取IUser对象 - set {_player} to {_ess_IUser}.getBase() # 获取Player对象 + set {_ess_IUser} to event.getTarget() # 获取 IUser 对象 + set {_player} to {_ess_IUser}.getBase() # 获取 Player 对象 ``` 这行代码意为调用这个事件里的 `getTarget()` 方法,来获取 tpa 的目标,其返回一个 `IUser`。 @@ -97,15 +97,15 @@ on TPARequestEvent: 在上面这个例子中,我们利用了一些方法 `getTarget()`、`getBase()`、`getRequester()` 和 `getPlayer()`,这些方法都是 Java 类或接口中定义的, -新手会觉得很难理解这些方法是从哪里来的,如何使用的,下面我们就来学习一下如何阅读 **Java Doc**。 +新手会觉得很难理解这些方法是从哪里来的,如何使用的,下面我们就来学习一下如何阅读 **Javadoc**。 假如我们想要使用 **Leaves** 服务端的假人功能,来修改假人在玩家列表中显示的名字,但是 Skript 本身并没有提供相关的事件和方法,我们该如何实现呢? -##### 学会阅读 Java Doc +##### 学会阅读 Javadoc 我们先阅读 [Leaves 的 Javadoc](https://repo.leavesmc.org/javadoc/snapshots/org/leavesmc/leaves/leaves-api/1.20.6-R0.1-SNAPSHOT),寻找相关的事件和方法。 -:::info[如何阅读 Java Doc] +:::info[如何阅读 Javadoc] ![搜索事件](_assets/SearchEvent.png) @@ -143,7 +143,7 @@ import: on BotJoin: set {_bot} to event.getBot() # 获取假人 set {_bot_name} to {_bot}.getName() # 储存假人原本的名字 - {_bot}.setPlayerListName("假的%{_bot_name}%") # 修改假人在tab列表里的名字 + {_bot}.setPlayerListName("假的%{_bot_name}%") # 修改假人在 Tab 列表里的名字 ``` `import` 语句导入了 `BotJoinEvent` 类,并将其设为别名 `BotJoin`,以便在 Skript 中使用。 @@ -223,7 +223,7 @@ import [as ] 在 Skript 中使用枚举值时,请使用 `$` 符号来分隔枚举类和枚举值。 -查询 JavaDoc[https://purpurmc.org/javadoc/org/bukkit/event/inventory/ClickType.html] 可以看到 `ClickType` 枚举类中有多个枚举值,如 `DROP`、`LEFT`、`RIGHT` 等。 +查询 [Paper 的 Javadoc](https://jd.papermc.io/paper/1.21.11/org/bukkit/event/inventory/ClickType.html) 可以看到 `ClickType` 枚举类中有多个枚举值,如 `DROP`、`LEFT`、`RIGHT` 等。 举例: @@ -259,9 +259,9 @@ player.giveExpLevels({_levels}) # 给玩家经验等级 -> {_levels} ``` -方法可以用作 **Effects** 、 **Expressions** 和 **Conditions** 。 +方法可以用作 **Effects** 、**Expressions** 和 **Conditions** 。 -如果用作**Conditions**,则只要方法的返回值不是 `false`、`null` 或 `0`,这个 **Conditions** 就会通过。 +如果用作 **Conditions**,则只要方法的返回值不是 `false`、`null` 或 `0`,这个 **Conditions** 就会通过。 ###### 调用非公共方法 @@ -279,7 +279,7 @@ Java 中不同方法有不同的访问修饰符(如 `public`、`private`、`pr ###### 调用 Overload 的方法 -通常, **skript-reflect** 可以从运行时传递的参数中推断出要调用的正确的 Overload 方法。 +通常,**skript-reflect** 可以从运行时传递的参数中推断出要调用的正确的 Overload 方法。 如果需要使用某个方法的某种实现,可以在方法名称的末尾附加一个逗号分隔的列表,并用括号括起来。 @@ -513,4 +513,4 @@ effect put %objects% in %objects%: 这不仅能让你更好地理解 **Skript** 的工作原理,也能让你提升编程能力,并为社区做出贡献。 -在下一章中,我们将介绍一些常用的 **Skript Addon** 以及如何编写自己的 **Skript Addon** [WIP] +在下一章中,我们将介绍一些常用的 **Skript Addon** 以及如何编写自己的 **Skript Addon** [WIP] diff --git a/src/content/docs/java/advance/lang/skript/basic-tutorials.md b/src/content/docs/java/advance/lang/skript/basic-tutorials.md index 1d88d372a..79c2c8ec9 100644 --- a/src/content/docs/java/advance/lang/skript/basic-tutorials.md +++ b/src/content/docs/java/advance/lang/skript/basic-tutorials.md @@ -225,7 +225,7 @@ on join: # 广播玩家的名字和 IP ``` -表达式通常用于获取一个类型的属性,例如获取玩家的名字、位置,世界的时间,物品的数量等。 +表达式通常用于获取一个类型的属性,例如获取玩家的名字、位置、世界的时间、物品的数量等。 通常来说,用中文描述一个功能时出现 “的” 字时,往往意味着需要使用 Expression 来获取或修改该属性。 @@ -280,7 +280,7 @@ on bed enter: spawn zombie at location of player ``` -但事实上,Skript 会自动判断我们传入的类型,例如 #EffSecSpawn 中需要传入的是 `location` 类型 +但事实上,Skript 会自动判断我们传入的类型,例如 `spawn` 效果需要传入的是 `location` 类型 但 Skript 会自动将 `player` 类型转换为 `location of player` 因此也可直接写成: @@ -381,7 +381,7 @@ on join: 在这个板块中,请利用 [Skript Hub](https://skripthub.net/docs/) 或 [skUnity Docs](https://docs.skunity.com/syntax) 查询 Skript 语法,满足缩进等要求,尝试写一些最基础脚本吧~ -当然仅仅学这些并不够,为了做到能更快更灵活的使用各类语法,在闲暇的时候,把官方 Doc 提供的所有语法的注释都认真的看一遍是快速上手 Skript 的一种好办法。 +当然仅仅学这些并不够,为了做到能更快更灵活的使用各类语法,在闲暇的时候,把官方文档提供的所有语法的注释都认真的看一遍是快速上手 Skript 的一种好办法。 ### 事件 @@ -449,7 +449,7 @@ Skript 使用与 Bukkit 相同的事件优先级机制,触发顺序为 `Lowest 选用不合适的事件可能导致逻辑混乱、性能问题或代码臃肿。因此在编写脚本之前,应充分评估并选取合适的事件。 -##### 练习 1 - 夜间扣血脚本 +#### 练习 1 - 夜间扣血脚本 例如,我们想写一个脚本,检测玩家在 00:00 ~ 06:00 没有在床上睡觉,那么就每秒扣玩家 1 生命值。 diff --git a/src/content/docs/java/advance/lang/skript/intro.md b/src/content/docs/java/advance/lang/skript/intro.md index 308f92712..f51c20d3c 100644 --- a/src/content/docs/java/advance/lang/skript/intro.md +++ b/src/content/docs/java/advance/lang/skript/intro.md @@ -6,11 +6,11 @@ title: 概述 本文档大量参考了其他作者的教程,特此致谢。 -引用的内容主要来源于 +引用的内容主要来源于: -TUCAOEVER 在 MCBBS 的教程 +- TUCAOEVER 在 MCBBS 的教程 -法棍 在 CSKB 发布的 [sk 教程](https://kb.corona.studio/zhCN/skript/startup.html) +- 法棍 在 CSKB 发布的 [sk 教程](https://kb.corona.studio/zhCN/skript/startup.html) ::: @@ -26,21 +26,21 @@ Skript 是一个脚本插件,取名来自 "script"。是一个面向 Bukkit 举一个简单的例子,为了实现玩家每次进入服务器就给有 "xxx" 权限的玩家 64 钻石的功能。 -使用 Java 时的代码: +使用 Java 实现的代码: ```java @EventHandler public void onPlayerJoin(PlayerJoinEvent evt) { Player player = evt.getPlayer(); // 玩家加入 - ItemStack itemstack = new ItemStack(Material.DIAMOND, 64); // 定义钻石 if (player.hasPermission("xxx")) { // 权限判断 + ItemStack itemstack = new ItemStack(Material.DIAMOND, 64); // 定义钻石 inventory.addItem(itemstack); // 给予钻石 player.sendMessage("欢迎你加入服务器!你获得了 64 枚钻石!"); } } ``` -使用 Skript 时的代码: +使用 Skript 实现的代码: ```skript on join: @@ -51,14 +51,14 @@ on join: 在大多数情况下,Skript 不会在意大小写、定冠词 "the",只需要符合英语语法和基本的缩进。 -缩进表示代码块的层级关系,类似于 Yaml,当前一行以 `:` 结尾时,下一行需要缩进表示代码块。 +缩进表示代码块的层级关系,类似于 YAML,当前一行以 `:` 结尾时,下一行需要缩进表示代码块。 另外,即使使用了错误的语法,在脚本重载时,报错也基本会提示具体错误类型。 ### 拓展插件多 使用 Skript 时如果遇到 Skript 不包含的语法,可以使用其他拓展插件如 -[Skbee](https://github.com/ShaneBeee/SkBee)、[Skript-reflect](https://github.com/SkriptLang/skript-reflect) 等插件拓展。 +[Skbee](https://github.com/ShaneBeee/SkBee)、[skript-reflect](https://github.com/SkriptLang/skript-reflect) 等插件拓展。 ### 性能略差 @@ -67,14 +67,14 @@ on join: 根据测试,我们发现: 1. 在事件监听、条件判断、Function 跳转、计算等基础功能几乎和 Java 原生持平; -2. 在 skript 中,Loop 循环、wait 等操作由于需要进行上下文变量复制开销会更大一些; +2. 在 Skript 中,Loop 循环、wait 等操作由于需要进行上下文变量复制开销会更大一些; 3. 正常使用 skript-reflect 反射等操作时,开销大概是 Java 原生调用的 1.5 ~ 5 倍。 另外,Skript 的反射使用的是 MethedHandle,性能已经远远优于传统的 Java 反射, 因此,Skript 的性能瓶颈主要在编写者的脚本逻辑上,而不是 Skript 本身。 -## 下载及安装 +## 下载及使用 ### 本体 @@ -83,10 +83,10 @@ on join: 最新版: `https://github.com/SkriptLang/Skript/releases` -1.8.8-1.12.2 2.2dev37c: +2.2-dev37c(适用 1.8.8-1.12.2): `https://github.com/SkriptLang/Skript/releases/download/dev37c/Skript.jar` -1.7.10 2.1.2 +2.1.2(适用 1.7.10): `https://dev.bukkit.org/projects/skript/files/779542/download` ### 拓展插件 @@ -100,11 +100,11 @@ Skript 拓展插件常见的有: 主要用于扩展 Skript 的语法和功能,提供更多的 API 支持,方便脚本编写者实现更多功能。 -另外,由于拓展性能一般会优于 Skript-reflect,因此推荐优先使用拓展插件实现功能。 +另外,由于拓展性能一般会优于 skript-reflect,因此推荐优先使用拓展插件实现功能。 下载链接: -[skunity](https://docs.skunity.com/addons) +[skUnity](https://docs.skunity.com/addons) ### Skript 脚本 @@ -114,7 +114,7 @@ Skript 脚本文件后缀为 `.sk`,将脚本文件放入 `/plugins/Skript/scri [SpigotMC](https://www.spigotmc.org/resources/categories/skript.25/) -[skunity](https://forums.skunity.com/resources/) +[skUnity](https://forums.skunity.com/resources/) ### 片段 @@ -124,7 +124,7 @@ Skript 脚本文件后缀为 `.sk`,将脚本文件放入 `/plugins/Skript/scri 下载链接: -[Skunity 片段合集](https://docs.skunity.com/snippets) +[skUnity 片段合集](https://docs.skunity.com/snippets) [ShaneBeee 片段合集](https://github.com/ShaneBeee/SkriptSnippets/tree/master/snippets) diff --git a/src/content/docs/java/process/plugin/game/germengine.md b/src/content/docs/java/process/plugin/game/germengine.md index 92b1bebef..b7bb5dbf8 100644 --- a/src/content/docs/java/process/plugin/game/germengine.md +++ b/src/content/docs/java/process/plugin/game/germengine.md @@ -35,6 +35,6 @@ title: 萌芽引擎 萌芽控制台:http://admin.germmc.com -萌芽引擎 JavaDoc:http://javadoc.germmc.com 1.12.2-Bukkit:http://bukkitapi.germmc.com +萌芽引擎 Javadoc:http://javadoc.germmc.com 1.12.2-Bukkit:http://bukkitapi.germmc.com 旧版 Wiki① (已过时):http://wiki.germmc.com 旧版 Wiki② (已过时):http://engine.germmc.com From da1b40ae43308986d0f4b3ecff1f299aaac36ca0 Mon Sep 17 00:00:00 2001 From: MrlingXD <90316914+wling-art@users.noreply.github.com> Date: Sun, 1 Feb 2026 15:10:16 +0800 Subject: [PATCH 33/42] =?UTF-8?q?=F0=9F=94=A7=20=E8=A1=A5=E9=BD=90?= =?UTF-8?q?=E6=8A=98=E5=8F=A0=E5=B1=9E=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- astro.config.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/astro.config.ts b/astro.config.ts index de49394c1..f5a09cfa3 100644 --- a/astro.config.ts +++ b/astro.config.ts @@ -658,7 +658,11 @@ export default defineConfig({ "java/process/redstone/mod" ] }, - { label: "地图建设", autogenerate: { directory: "general/process/map" } }, + { + label: "地图建设", + collapsed: true, + autogenerate: { directory: "general/process/map" } + }, "general/process/create-art-assets", "general/process/panel" ] @@ -1084,4 +1088,4 @@ export default defineConfig({ noExternal: ["naive-ui", "vueuc", "date-fns"] } } -}); \ No newline at end of file +}); From ff43af9eac8ce06a0cb8317704244d26d6d427f3 Mon Sep 17 00:00:00 2001 From: MrlingXD <90316914+wling-art@users.noreply.github.com> Date: Sun, 1 Feb 2026 16:28:23 +0800 Subject: [PATCH 34/42] =?UTF-8?q?=F0=9F=90=9B=20=E4=BF=AE=E5=A4=8D=20tailw?= =?UTF-8?q?indcss=20=E8=A6=86=E7=9B=96=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/styles/global.css | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/styles/global.css b/src/styles/global.css index ff217618e..0ed54b00f 100644 --- a/src/styles/global.css +++ b/src/styles/global.css @@ -1,4 +1,7 @@ -@import "tailwindcss"; +@layer theme, base, components, utilities; + +@import "tailwindcss/theme.css" layer(theme); +@import "tailwindcss/utilities.css" layer(utilities); /* Dark mode colors. */ :root { From baa42aac1115237e2e4a58a71d84d8dc7827ca1c Mon Sep 17 00:00:00 2001 From: MrlingXD <90316914+wling-art@users.noreply.github.com> Date: Sun, 1 Feb 2026 19:51:14 +0800 Subject: [PATCH 35/42] =?UTF-8?q?=F0=9F=8E=A8=20=E8=B5=9E=E5=8A=A9?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E8=87=AA=E9=80=82=E5=BA=94=E5=88=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/SponsorCard.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/SponsorCard.vue b/src/components/SponsorCard.vue index 06cb87a25..7883ef59f 100644 --- a/src/components/SponsorCard.vue +++ b/src/components/SponsorCard.vue @@ -33,7 +33,7 @@ onMounted(() => {

    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 Ovji7b^Wmhq&E>$0h8Ma3 diff --git a/general/advance/website/_assets/img_10.png b/general/advance/website/_assets/img_10.png deleted file mode 100644 index 4d959469c87a479f9be713a78208eee8034aaf9d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 52129 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 Xes{FM*Lu#{Sk@nBEyNVz3I+cMKXWXQ diff --git a/general/advance/website/_assets/img_2.png b/general/advance/website/_assets/img_2.png deleted file mode 100644 index a79edd8e4b4c3c3f89428b9a2f1860f05128886a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 81818 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≀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 CZM_63$_AfD~@$AecrJb#4B+6w1i-KPos{M^LD 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 diff --git "a/general/advance/website/_assets/img\342\200\224\342\200\2241.png" "b/general/advance/website/_assets/img\342\200\224\342\200\2241.png" deleted file mode 100644 index e3ceb8e4fbdf5363ab638597ed60da270de6e903..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28835 zcmXuKW2`Vt&o#Pj+qP}nwryS8wr$(CZQHhO=Ir5M z=xS*O@Spt;Z7t0hZ7mJWWCa<8{*$h3O`Q$@7yHi$Elg}2|9=Vq;9zO&{Qvm>LpTRZ zXWRdC0ROx3EN$$K|L2JS0091X{&xcaA_D-}$N$GEEG_N+ujv0pu>NyQf&Q2LUyh+G z1Ea9Ljs5@Cva)n=boft~wsbJI{|`|tog7U6mk0m=#svTXto*Iw@H|Fm!Ej_9u&IE@n=Sq1PlWF!P^b5dkQt;MFs| z<|;6haSGa)x_G3Y*BeC7jnznL=#Na{&DlGxV^vg}TK2VGCgg$B7`t8Kqnzj6z3U@G z8Hv%==uTdD02KAd+|`4;{iN$>FLkZE_}RVQnp5eNRQ5zwa6!A~u{ZkUsw&~yt?@m5 zwMj&EbtayY+<3hIDnE{Hnl&io++LSr`=v_-D|G5BAs51<_bM~G6dv#(ZecVw?Gpm^ zW|wcs!}K&195x2w`VAKH=@_h0b>bwwg3n;xhtu1b1P=j+*V4oXW)_z(5E4KN|| zaD}I=sXyd3vr=(R9TyQ?zV`8X@P>&#abj)Y*mNaV?-IxL0& zqD>j6z|GQCnFR6gAn2kdsjICBJ}l~2!cLDp@0;pc^~M0-u@yS>o?n;1NpTyl<(?zp zy<6dT#75Dk&>X5Yjpy!`y3nYN3)5@~br0J8R{ZfR``4}N1Rp?J*_x{%`;7_NV!eV1 zLUEEMZ50s}({&u&q>liVwH$hqVcnsY6-@MH;zQ?sT_*VL+r_B?XwvF;(zVd-)-A9( zEezii=S+_)Z5BcHLneeNr2F*vNK~_X4R}rVx*BIUD`Opgvjy%4qDgbqPFOzWCr;3^6*XH-_UBOw^z%|WlfJ9XD*TFGo-XZD72*x21yQ)H z?uMa-0*tmzv(CvkbNt(R-{(l;7mU0T9YqM7!q*13$HSSKk6r>Z|AJ*N#G40@nUzng z<{OZqGUct&X?5F2I)-490I4S$TMt&8lb@ z7{Qs0>KPhYh0klOFNg>UxDkV|MYZ+}vh5G^R-cuaYfV zk_&yB|L!;a6kP}mN>}Tz8IX9O~h6yjsE5;xjG4rO4K-+&*ucOIm}C zn-1vg`I|QsxDhM~2PQV;99`4pP4Bcgb}c*uNSw882)%>)fa|zSrzb^~1~l3dwML9t zcY_@fj6o;B#Yf{^d@2_1ce`~X;J1FReAIU#o3SgbT>L`i_%AyPQ{r;JCGjZZ^j=Pr zI82h6R#uEE8RJkE<4E%M{OH}( z=l#%o3*hGHx!N?BXIHJ-qwnM+$Ibo%HMfC3@!+afi@QrX*{+9jMDZIyi<+4OnBdV9 zqDN+1%-cfMp2Imc7>LFpcbmg?o#1+n249VRBl7RZ4*JZfBiQT9L!%$zOo2Pa{nmLL zmotgx(2Y^wwBPFN{c+iungHIHO}tW1e$%<_T!%Tg-pyO`6N}CyqFh^u?+F{Ux!I{m z#hHd&Km7VM_B(lz*sCU?fbAOiR^n@&Q5~h9#8`M2x<)|iJ+L{Y=XmrPTFT?kbMUzw z9qOG&J5m2F#8yUOBt_HvQ@cDkjWn{*nllA?^i{-BixHw4nTq=^3d30d90hR0qzYf4D3XrVp;0=k_0QiVO zdFF5N>f8WfBr(*sDjt^6{I#;*R@!HX8yV95U_RnGs{YRTo29nCkSLkxU76`~A1}e3 z1;rp#^}U-iGi2q}zu+S4JVq+FoiVRB7%fdEHu+6IY!>#-W~6gJ&;g6V=*1C1h&QpH z*<<5_zfs$4UcAv1*OeMZLEAnyw_D=F*>OLJA{g47dD~8~?+MErRbmvcWSV* zLP<82PAFXh)Km-WiD`SZ4~0oi#Za;df|OSSADC)CJ81-S!qLV<@*aCCmf&rD%u#ga zPMg+gMt?BP<{A;*KrEf|mV_qyn4 z<+tgEHNX~hv;t9T%Oeu)Yz7nX9*;3^_StzE zH@H^Y${A`=QU8vGCNLEOZ-U?pi$Fp~O{5@I6Q&n4zmRhAm5t@ro8Ym1=r$m3C;H=)y? zFS>9zEZ?#HL5S5DDK*mSiovcA&bC*1y?+fgsF|&4>E{<=dS+T# zO{gR#s}-rE^(=?Lhxebm@Z(CFhK1aK);0~ia4rUf_7i9d^YPRUu|@F10L{>*Qamq zv2OLt7M<52sEA6YuVb9$wdTYsr;9VzAE&?1V=J+QYIvF{`r!rY^>90?$eJjLki-TH zf>uOHN>~zi^Y0MORrir3PcC#0m;L`>t@XRN2i9h`N` zV&;UAP6HO?v`adx$o<>)lxEbdX47!l%j}fPLMv{fNozGr_%%+XRcj=mj*VZe~_6KFw zKI^D{ZN>UEJe==CRg=WW&TzC>rxRuV8G*cJa2{SO9vX9=;IFh#IDGInbmGC-it8g$ zVvbHRoh{&0LqwpCd^hibb6a-{xI317+k)bbmm+`BA-57R@I0YYixG#x-7xLW?-J*Z zX}662d6^_$H$#Vh(Pqiv$SWp~ZEj;6Im0Smk0_xm*@H-3QYwFvJbI-6G@<3FK7N~$ zEdOyiC`llQj@zJ4ccBqGohF7uK+ijke#8{o@r+$!)r{OzAg2i zoCVB}`ev!|(piH^0haty9GthjUs}gEN4tsxJTk(EUpvNWDNxdFC@cK@Iq9GB4+~A> zIDU}}-J~~~5GDHG?m*zv|2`#Ao6Ia%RrjET+E zX`<`1#$Z(ljU+Zbb)By4EpMrswaiJs+kF4Ef4Gl6UjG6ml5_L#lSJlq{jOP2P^!F!5v%S_8Pisf1 zGZ7=Ce-6zqwECEi;na|aS>x+Zdirlix9AJo8Rx<==kR7f64v*W!ti?F=w%b%d_pjK z!nqr*lccFwV7_>kaK%`|$vtRjm%U4S+YVDOCX1BID!0VM1F4P&4L z4JtnC&4D`ReTO9PDMV&I!_W8kG12XT^0l}duic+gf3u(PP3j8;C)gLEK-(&X?17dy z5|6>{DwJ3uo7LC%((KwrvMB#vX_IiYjdg~i9wFlmYcR1oKSwWJ9hW^N%VVkxwq=y7 zK0Wb#gz{D~zKfnT-wsqV!EP>q=!7;`l(KJz z-4p5RCisP_?OG^}i?bDcKx-wfXFLQ>Is^#-Lp#pV3f3nLwWz1X)FuBQIUCA}@*dnN z{cwQD(BfVKgsL2VKxT!jX)|zY;y$F#h$Hs><}3>*Z5GqAzwUz#m6$9IC|p!&i)c&OspdJ6-D3$G$lM$y z!syftIrcLGEPsAFB_tniUKY}ZgvF*@KY~laB|XP&y2pI|!wkLI_pdg=iM{o#MnOO0Z}YFy7k* zum&2^i=;}$pXt#>>&r2U^0ju7mzJK)0;COYLnb4gTLw&~o+WP7odxW*4{ExWZQDud ziNA+muD`5eb80sBL0?T2P0xxFcY^~K!fHHKK!uZ3TJ*q5Osb2qEPWet7 ze!Ei{8m#0Ms)^xr%BnjY@Q{nJPCFo0;x1I-Hl@YM3#SYutlDSB&s6Dgw)K3nw0701 z4K5@_yx+9~6)N^_GDEhvahAi`JL4Xz z$vSG_>5Cl3VTBizzKBs@4HJQPaFYdPmQ|iT2(cdxZuI?;i;165!+T^EW<%tyue#Z{ z&+RjltfcYj!Q1R75qVV<-k%=|3c@Sufn;1Z41j%S5EiEFYo5P#Q z{KI>y1}-Hs+f-=7t89#J98K%q-ZU3m95@eJ*`V~_s2hrs3jO;VSrKQdTZvP_)uv-?UmD+NaIr{0Ah>fb|IqI@0tZ7*aoIx=O7 znYnAV=4{?ow!Re{WFQZH2To>Levt&G`E@~DV-SUIPa9^00mGf`0(&9EgS2_lF;egcECYmeaB*~OjU~=$- ze}?2TyKnZLHZ>v?O^V1V2G^afN}BW-Dti!83IM#5J?T}1WBSId=Mi6mv1Uh{;ntK& zLG~6RpBl6A5Zi;8Av~gm>ykPRQsieWLtk2DgKsQ1@-I-gy`I>}5DEu17bE^U-hd&d zz&$r{$N^mQHd2iF$If?~nYM33TB5HIMCrp+LW%@iYpu!a0}K=$DuTn$7<5yez31BTVj< z<1wdaHPyW|cc~r-Mmq@bE{Z*4Soy4{mfoN4mJRgL?e+thGSg~{EX7%Wz(Wj`Y~ zXajg#ga2oFd&%ZvZYyJ_KSHq)40Quh7m$8S!&;}UdG#B7VYY!&LFE$DPE)iC5N8@L zHK|~@t!lT_#cKHSiqGL4m9JVg+=oPdxQ=YIPVBk09J)qheujb(pO zIeP2Fc&YBEbhjYV;(Of^kip6Jtzz>zwyck*F0JX~JO+$!P3ZG%q5CysAVc_9nIx%A z*`tcig%?v%u?~kvLWZC7VRt-v*g}rx=l*n5ARoA4W`bW0l+TY+?ZmybY!z~0{(Fc6 zes}xkqMx!A)W-VngZf$zgexW}DR~~9|8|9S&I2iWqf1ephvEU)2%bd#PR;E~c_$Ooi_UeH5*X z@040*lni}TZnYWV7_=%+Io;&1goDu#czNN$8p)T(z^zCXTK8t6uRDxW&&Kxr9wbMN3L4cxsXYBQ4NT8lPvmu?{z5VzWcI~Zo^l!2DFaQQws<%L#OmO|OD`;V6VwaG*nP9~j^$$RMrV3C|MKTIX-;+3T+M`&N5cJ$9SGzUV zj7a!X8Hb+_!+~Xd>Ts8ui~C)kLn{QQgHE$?L+wIlK~bCiS@l683en>Hq_9gd|MH5-kB)|joD+Cz2hCHzl0*AszH?--Am<>8?S9q3aQYw=kzm)6 z!6`{NYTImVrJuPia9GR*wxmbJBTa=@7-RuQ7cYOsqZ7UcwCi?1wQ)&f(%_NxdSIci zEK1Kd^h+}AL^DQh-;64*6v+GhM?C-HcV@>&#LJ7iQ!0Ve&>0z~og`%I!Up~gjje@H zI&amyx9dYl@;pOhxE5^^B2rU7ou+a{E;@No3vh{-zB>vFN0YY4yKk~Hgag6@>wa<* z34E#uUYqW+lfZI|XI#0@L$k&W(CT78!$1yrd874Wh(ooOT6jsX8=tv9+cZOg<^$tUonq0I?M z*E^dL@l<%tQ$RNq(s_o-7VdaW(Go-vrB7-0-qh4>rwd#QX`(pYO4z>hlje|RsS|*e zY}z&~6@6mw(Gv~cn;juhl_sPPCL`^P)q%_9~grQn#RrSCv+)FI-bViJp{ zyqxPfX?lBq)zya$dFxIdhBy(5&o2u^oC81@yp4DlFpNRpd4agg;NPeiCo?`_=(P8n z+x4&Qm3-^0!)EZQZn4E0zw4W6)>@97DB&_77nd!wAR1~$%u$u6G+dVwBrZ@9uF|L- zE`J5RqzJrphhzBCi!Wm^WaP}hL^|fCK#)-*=I@Tna3j8fW3bF#NO8(QcwJV}2ZLdH zOkB|iR5?+;q`dc(n~c=_8=@>dv}>zXZ4c)yFqoQQf%jYHcDI#1eCmHuBVJmHwrSL2 z6LW*53pP{>P9|)e@!8v4K^`q))NY6ZsYH#N=CMm`MM5i1bj!8FdCjk+u&Lf%RC$`z z%UbPE;-$VOz$B4@(Y|h4i%lz*VS2=2^vj$tP25PlAM#F^&%>;`)!uV{+ofcu5eJLT z7ea{UUK-px=vB`j-2{!+yAauqA|D zwSFZBej1wg)l07x7rN#cg+Fb8px6Mm{5$RyC}&Mww%WLN->NCOFfi*&;)spf{=l^J zag|3kefe?dskQU=ry-;HDq0>X-*`?Y0%yHEJf8dA4u$GYtbOr-)!5bekzftb6B6Og zqc+M&vF-h=Eib~S_$)ck`Wa%0ou>;mbVWrC0Xfr+K>Lwoio@dlUt+yX4N6OMDoWD| z3A&scgYT~&1Z76K@r!R@1$nAYI*sfCh5=%;kD5|2FlnI$%Lv@i4u_S zcXk>o^CDR|3!Eph@^Nbr7XC|;fYqC@{|tXQOovMJ&@6soCnfAlQAQPPG8pY8^r0R+YB89=~;G6$IZOC_4F;d(m@h&Qx2u{UI3^3%vI67*VWD!qQoaS9c5g(Ja!IVrR#(=RS2xBvZz9e zq~>;Hi-JkG;R(gNMJ6#`LNTsQf8a>ex#WF*L+jb{A{r8LPW7FMlu6QE6*)_eRG!fSUYM&^veWdu}W48jge01W};%G2l}#R)M4l!{Bn zvu_q4lr>ubIO%70@*h53>*gYppTXNDd6S zNRMGWIv{ZGxf$p5ya1)R=no1kpo2_@D{;ndi2wtBo$b2rjIrz~(bKyjai>+0mmCmJ zSg)9LrL7fomL?iOugZQ{^9u$l{^ocNqe_kJ8bTV_{Y~Y{)txho0{z}Hg@7c5KWORR zoK1YiaaKl+EBe=uI>BMf4CQ=?jZVUFGYg>aDG#(?HvvPqYK15byH`Y8Ybh(Qyi>Sm z@=Up5eYM!w$n7;$w-L3TR@0bCi?N)JV)Q*U3Z1%u)>qm;q@#JEZtV@8!Tqx*Fq(Gq z&vEB7h1;b+fWeNt5faO3dg5vj`%P0f*4uu<#PaU8@48?Zx@^b(e$_=bTlQ5yV!rR3 zy-suh0uVlQ0DSHLNZ4^#&aAXQj9tCRm}$=lkGdymX#(=}zyL#W`_1_folk95*4m3* zK-=Pa$?uWtGY8lAE;LZ1!~`*~Ez1P@R_Qaf``^>So$c)B{vwSjXLJbGhvnU=_<)FO z@Th(|DNyhaHP_>|wegxXms{xsa_>W8&*f=M{!q+rlzQmMU2M(KtpEAxm13v-w+udG za+?=b>gn0B&r?;)3op0OEN`4on_=vS*{{RrnQRH)aytDcLmuVt$HU%LO8=?K zJ<<2^{t7=T(Y|O8>9k?aaPp|ckK}OJFj=3FTS};+05wDw8i;0VD?k}0&bts0qCr}f zc4y~TDcwt>-+GUj5h5Cn18S;F3Kjj%Ys2w%ijnvHwe~JG4w`Mm-c38m9_OG&{)f8B ziK-lQr(a*SYf$Hce-fxy+yvIp+v*Q_Em|UjgjnyA%?Z`D9w0wsz!net+{Fat(;9J^Wcf>nzE`{x(FLMF=Mcej zG+?#|LF(9Qi5sLLDzYzeu|2JFwe)A>`m<0|_r{i$Ny;bd+~M%fB;nE*2Xw8iQ7tj1 zzb`)pql&A}*tvnSGoSav&ZLQ`jr))e$EDIHnk>UP51w{WnonD1VK6NBRKGfzE||eX z8kKp^tG}2IVla$*9eOr1AX!*%C1<|a{b9tQpVS@G(W8Ow$d};@z-puc=?Bi$X=vMg|e>rr_iZ z>5>iZqELo@8y|y%y`>aZr3*M~5<1vnU^K4uR(!7JU(|ppj)8Al^TV?Rt&u(J*Gh7W z5;*BEOYzKjvwWj2ey@jhLV1ig#_tJ!N3PpN9F3VqiS_x{E9<0};P(_pPW124rwwH% zTx7kH4lt+6t?ck=VL8mu=#np;e+X~V%gay%!(bNK=>cu+tb=peM5BS8Ok?1u$-AjV z9APf6*OGNg?$e?56*!!2{jpNgoxn$$UFwjP-33Q=8qke|_j*|~*I9j^^x?}9-Z?$vZVna{2Q{d{S;FO%{9sjB zXqXs!$Xsa^9!R8!wXj3^=@?3wDa8LI*5+t400d&Nhjl}scwdFDiRT;vrd*^22E96c z_4@nQgkzI5NEmIEH5=pfB(q76KiM+cU4`=r!BgM(>Owt}CZfcQ^SoWM6^;Ox;P^~+ zeqFhAh^LCv_TX~pegar1%58UAy%c{ZgMBcEQlo0yr|pHQ zEg*Qz&vzSAKk;lY4lL-gFO%Xtj}&A#@e31AZCXAQ&G=U5StbtdpV1NT%vzNk$=!*?qcp49^Uhm%lJ_W z3cnBhKMEWeuCPlbqDItV>KNE6+_~6+!Wa96>0Zyx!E97f;PudkN1kc=WW3g~VoA&r zWOK$25VxP0$9{ih2{mOGY>O!%4=9tzzS@+Cu5FExH~qM1dQD?0^bfd-5@pbMzj5+# zq$Si=5N3+8CeY(Z>%R#+8xXpdS3m5JDpxRxtX|geihXZ#OaD+ZSxHBT*rk z7o6WJS`LzgB#`tI3KyBWr;Z;SZ7C!?pOC}9cKA6Q&4QQn)wZ~5a&kn9k|8K0Blh5c zaaaJ1x?wRI%IvjH00YCEQzIPqXL+!p*7fYl`pX-{^^;wwU*d*k?_iG4AQkuZD0SZw zfZDWoVW~EA++QNg)#|Bbjfloxy0bXUpWK~IjBJuS^NY4B+3}tOX8_Jyj2}(<$amLW z+{q#WQ8k6@VPvS(qj@7^`L(dh;RrHSjx|V@m$p=ecpp?eru{ijDVlB~l#D5cEDluL zU`&F(Dks>YO6Zc0TM;)~=e3DZD04vtR4IO=eST8;;=GM_Y(4 zx~3K9ixDp28Ys7l*DLo@XA=Ur$ULp`5r+t{64NSE+71cW+M0X&N=Rpfn@Q?|hN)n~@@+X+?fm9x2bT zjjiYQCpBC)1C8_{=X~)jn({e8I(V_R*8RSM4c(f`c;$0mn@>})oech~X7o-O z0kiC^&7_5b-aWEl{`PyV1%4BwN&6F>olVvtO%%3)fj4J$ax<&|N0J?1EgHxWOH{Ny z6kr!vb*_KAE&s8``hW+fNJ zw^4PHErhy<`eNoW`%_+2TnF00D-6DPQ|0do;F%ZK2mcs+Nhc`Iyj8c?uj8A$bK46h zEfvVf(hM)uKQbPviu^URG@Wds)Ao8bgmZ7-!iqVpbk|zQNf-yKUnUlt8O1S*>dIEVC3mGK8e>S_~%@(I-v6PWr3WTq0n;7f_Dz%nSv9S1=n!V~s> z^AfHghSzQz-!7glw?J3Y09=~LNLqhFdg7?ymZqoc9L94uSYqUGToeR6wLx?Z9YJT! zLGrj1S3bahN#$P~Uojjr(~U8{9m$1X`j9?{ox)NcFY6sh6wKX!Iu?0q*6}pPB9)cw z$>u7O+#vQ)qch;1xxdw}=TT_9^ZLtqXyq2DhJHxuF(&3StyQGeWZk?|2HmCqx2Ns@ z2|WX6Fu&*a{z~I1alqw9cq1|Dxl55D;wt|tYLM0U(z0JKi(jXCUqSk$j5^x$IS$>( ztAYCOD@mmdf#sW;=AWeO>w44T#gi08#$NX9m9WypzvhD18tL)wik`C{&P5jw5D4+G zvAa0J)~q3;A}e2;=Jh*)wuYgF0pE-lN3;A6k|Cj$)}a46CH!pyVW{PL7}TbVPy^RVaHl67lNXXhJP6Ut`Mc%}&h5`dgft;- z*Scy-ieom$qV3EZ3YlvkDeNLGtpXZs6`M(}WQnxOd3~>;Oak>BRiVaaOqm^VV}d0* z-Y~S?*!M*`(YfbCMzD2GkXatrx;Au1S_&Dgn%XoaO;>3gRM7TKVH`G(9z{ylU#T+~ zrmXZ@Da9~r4z(gvn?e)4u~>U`6>^-(u0xC_Q4FPO_iIcTjd~Tgo0FF_?YP!1 zax|VCBuTDd5$iv#cvBD+?$f&~+L$HIEZ|Z%`|Yd(gu3bzCKcMH0@TYs%|7}!6EgcU z!DaM#$d+5-;B3B1pJ;U!cdvY5hS`7e6b`kLlqXti$Jo{`{dD28%UhpW-5QLOpd2iIFqYg-9| z=tDz0W1DYO^^9C5HGRlz|IXs>gg7weJBPMSi;#eJ8)w_04{yPzX+1*?l4!$4XO+u` z{qJT~J_DbgQJYi`4QouNVr_Ehz&)hn!Tpb@+ZMAs)_#VhgDfS1I=>%;Ei4{6_4-tQhDD{GWIwtPsr5?^{ z7)q_wgCwf*ixl7D8RwuB4Smgwh)s?Xx*%o`1zE2+%8R37e?~83Y@fR(HdNJ=2$y z=V43Ko8ZZ+vUY69r{t5><>`Ww{2jY~<>K7XttXFy!c1iO)-oXSdlAz72eIO;oDNw! zu8S3o_n#UUY9k0pG-Xnbs~(Lj;?d%Ii5cj@foRkS2sq}p`3wSZyitFP1q7KuIp~?_ z;Ztc(Lt{IVH8NWWDJKDLsvB40u|Qk7GPZ$1&q1bW@@`R9^xR)YHJsn-0`h=*Kvma4 zQKEz$lVAWgS+Xf=oFKO}u7lE1a`Vf;69Pas^{d{eK@8xAsBPD%ko;EH{Z4(WXu)kD zHh4d+OMS&nwC?AMM8Q`wJ3|20h0&RxVO|Y{LvG|WJD3Rs)0;d@-DYh_O1@ME69kupo)2IKT~ml_rl6pk zkC#_1--e(oKK#aR&m2Prp-(;1`UNxt5M``$Vp_+9N2Ly3qBMn+iEXQmrE{4Jv12r~ z81y)_>$D0|H6@{EvFL+3B`BTLig_N34C<+{y^|(P8KOjfGxDb)ZjFViR-Yo=sp;%Z zvu4vO?xJ9`y=f5x(0$b2lbBlx7D@j7r``P;~m;>l>%W&XA?U;J=*b{PdrJfHjGWvMUolG+1t~b zibWX0@xAqakpikL*`+pgR+T(LwK1Z-C#ummQZELx>f~i zaA(kCc@J@EL)3S!yA8Q^BBq|!S~yU%@)a`b*6T(3j)FIq(4!e{t%{ciEA&BGp8ETC zGq4%HQi_CJEPhlIYbQsw&Z+~krC^S}E0J(9PfexRUZ~_2-_&oJFj=uzw1;!?aM#6|2?LyJAa1}Ia#S?%AS}!M!=;s zJUwSAf98Jq!g+JCPZ$)R9}4wxiAfp1#n6U^^an^n)yCb*RlPCHgLhx{H?1SNN0kHW zlrDT2E3cDOnCZ(Hk39R)n|k9%Zas^VKzNHZ;wjUsuvL^B9ay%x!1Up|LPNnQRc!DV zOgI30T!ILt!)ZQIc1+{tTB_h%cpAJ?kz47>w5os{{o2+EwYdB}tW-EEn96i0Mt$zs1D9<>K5h{YB*U%N7P@N9co8Gi`A&2T&?Wz`NJr_r$tm>$N*LS@b`n@ zM>$B@9!FFc-B?=R$;I%tjR;BVhktJGpLIJpkW&NXnTOiIAAMGM!lj!;_T^EWc#z@A z|9j-@6=Yhl5Nx4jnzudmpMgUNfALQr`x$&GGoU-|mDnoeg&A*s2qw`pG0)@hx(_>|G>5cl zVvGS#E)w`6@Nx8N0vg@_RfJv83TjNUKliUql-+NgpTU@v8&f02-CE9P3Dgo9ah9Ah zu2%C-oOYP1ZQ}*-|4d`o^SXy>b!tuh=2~hUI{U^kcP5I0n>iyWL9OcZp@l-y;?A>f zZ#uxrLRQ$}7ULmK>4LwDmom#TS^^@u9}Hr6SQt=0p>B{R-i^9L zPZg6#?TwHX?hp@IeITf8A06Rp>~>ld9`>m$o$V0-t?f2yjhJ`ho4HUmj}&XlL0Rf{ zC6kO#jpB>(=}O9N_h`B}!{)@f-{8|-8fr+D=;dK|pLN)mpWugnaB=SasV=(6SR~6-``)e9YjA1;KsL^4Y4&=;n#PAV9X1Hhu_h**QWDCwuuUwf6k9y8`#$Y%WUglj$dx8aek}zny z|N0_A^Tv@waOw#uPX{Djgf%d{odxQ2{RoQ6@W^KOzmLyZ(9n5ukK?yH<7^U*AsRim z3KCY5Go0RKY63*{iMrGg7_=!gU39k_q@Ee)7fmRFb5DZ27k&$d4Yq=nalYek^*F!g z!puXZF07T2p+@+9u*994=itTE2~%h3(Z5Z^wzA1WZx^lytgqfWgsKGaH=0j>y2+44 ze$%4|!6dD(N^a)9%u515bl+Al_dqJqbqH-bqxodJCrk-&#tRI_)wD<3UmK-Z#bG4l zOW~BhTsFj>YC0!_lW2#(g=UgH^_dF$%}&OK53xXGSEgex98a0)1NzT^%*QN$;%Sz? zF#kY$*@VMOf-$Az&@+W5HhcSegW>&d zP4qiL4~P)4%$OLBK=vkA^)f!qCGJVomt$Uq!Ae}hkc^gdmNRZk>CAr8)?zkK%NKyh z-dfMa8``=D{k@pGCiCH6mR!Dmg%#46|T@f9r zEPr2&dP(Cze?oGO7SV&?fnG-7l?C_&-#AevHk3XMD_5CcJdLHIF0$G51V?NUM8Brf zr85@~lC?2-+_ZJy@f5*!@l~j7#u4MgVhv_qg|}%|=IA+Qxc_KGzIlLzDw-vs|2;3} z6}xW#86VsgbW1cK_7#5C!n_bt#X`JiD3`q?4BirqiuqW6;D_gtWzF#{nN{QdT z$1ZPK+qU#`^o#VcQMl&4{)H=1Bga6HJU%eZD!DGdzOi7(cggP zq39W{kyFxZdKPJ>(>Nv1M)u4YLfNi*?@IriFo&y?qanP3znnNTj<47xa1~FvGup)T zb>y;lTifZC!_*GpUy zw=mVpkHM|_*2DthK0u+#6`wOU`|s2@7S~O1iRheP9{Wo7YkCX!izVIq;O*XdVw1zM z36w@FXrSTM1&_FEdAjHBiiCHF;a|H#@W^*`WA0Vz2rdBrkPfYL>nxi^+O%F(NlxTLBo`g5m0$ z^cVy2B?hT9!>$(NV;{$QiiQ`(6(1$jsiky^Dh9gSb2UzKY@!p1qv98Fhuew_5#1rjqcxfqdb*mfms4y@%N5*W@XV##U1 zGyPWczI9F2P;b)-Ze>y==P{LF$Ixh(*aCW5%HQkGkXM#Cb=BL0vvw>gw8e5M6!N5f zwRd(wVu1Uvs&l`%gsoA4zFLni%RO=qG@=hR>L?&e^!^3C3?(*tNzsL4Ww)?}8G)>H zzS57I%C|6`xJ3B0^`PR99G{CeF80n)flu=E915bjXH1Bj==15q&$)@NP_A*ZpZmda zhZ%Yn5`{J+e^pe^@o>v_U=RY}`B7s16^83eHb3^RRro5WxM$PjqKQ;=CXr37i!UDX zdku&adt}L)p%D3^xWQl#t5z^$R)f}lr6nSWZss$x_DytpGog8b2+g@8W1x^sGe1^` zr357N$jw=ONeXuQLrq(Qem;Ebl9RN-Vw_$`hLMQ6X7Mv%)>HbN#4XG1+4yM z35==%+)t+e`i?y&4MVptZTL+Cg3%fr6{KNbRWilT z_6Eh<0$?~Do(~j+@Q*$sKL~2jin$g=4SgXDML!gj%0rBO0-8sz9TW2vS%% zT&Eaxm>9dqvbA9K>Ml6EV{2%t+te|Q%`e|b&3VNn@0e|+2bas8aHa!?u#u*tE!8$n4?Ur#$+H>N|(z*|N zF=sMY|AxS%`2NM@V&|)r`Bq9MEM6Sej-wz_B2onl0teoCokob+GSI#>S;}=c2||AP z!qk}IYG0`T%@yRNR}-osf|w zN@`+4kE@V&S-Vc+D)PI53i%8&mgBU|Z!Hbl#3?KOXmBe?8KxO}j@8|~1;k$(@E zCscQtnC=ON8VxKgCfmo%oL{0>pSJX(Sf&3oPxk-Wl95JCswz8YFZwNg})0jjvf--qso42)UzAY*M`fi`eZ*F$D zpJs?oB_nJh)PpLs9Z*WecEcWaazyulyfmXRG~Hh{=(EtwbFov}OwFXvbC`1; zKTG9`1G(OoTOi6hrvoq@>~-Zej90j{D27|hzyCzh_7aZuY-CR19Y;=*04pnAbo{Q_ zCw#?@{?0qXJo=(k&K}fgpv}WJgj55meXM@DUyG>lRp=uvAEDGXwELKz@08W!wV3x^ z0*KG1z6P;l)$#NRU*yB29}UI~+DBZra*19-s8^>L_0`}rSiy^b5F69{WIJ1Cm&XYa zSXulwrAJ7u?uY-WTW?}%HIq7KRW_LnYl4e2XEt_mvQS?BCy=9^6R@0kTtrDBs3gR$ zykA8MT3U7DCh{drG^+%Toqo;&1+FN$Ui>Uq%zCgh}GRk|S5};zjf;K|YA)WehyOP9E-I z!sj$dDZ<2RlemEdApjJc%Juj*1v|g7?pM^6{8VjZB*f)$YEV42-EU|Fs+wGA&6Qsc z0-@96(7_U*>lzDnun$AuKDasa*@4-?YbRo=7PY<209JCVf_{<3%h*azu=31J<#^4= zTdFS>ZN~msr*C9Yqc~lXe6NPNTqxD{Z}exc!V!^#D1IOmH69QWi%n`Tqy>nm_*rfx zZIrT40wvd}p1kFxCFtfCm6m9Q-Ta{^-;a#z_%{FJn+-H&;VPCXn)pCK0M8zecNzNG z%N{Uu#9%duRHuVt(`||ENKnO1(K*vgZ$@@=>+XAS7elW+!J-?l>=7<$NwUtPun>wJ z#d=$|lLOLeJ@YCi0SpCZDknkai=0FIc})ka#0XaC~#4HI@ia9QLyZMJDM@~`-x6B1d!Z>Jd?vJ`mU-sb{8hk^y48x z6xMfkqNNsp|E?x06@h0S+XL8P<2>WA8yY6M8d@>9RprF>gkv0u(Grx}2liio5;WFJ zYe4#0#O6L)A5ZvIsi5v-N5vF3`~6IZb0s{`&cla$>)<`HkZ)D%f*7mhe9HITlv;PT z>ArP~@HWsr49@{+6b_Of8GLm4w>CSb)$*OYu^Kq z9-9dAnd&oE7Mdaj^N$*(O#-o1S#L{~3D(gnH)ozWEw1!Re5BSC_LAzog_R{SOWFpI zee}1&Kq^t|+6{1b@VP10Nwt}X9+uD`-p&96@$>b?ir1&$jrR3HMBiH9zSAF(f zoJB?$bO_fL>F8b?N+3~&eLzZ6#!+Fhp8>NS)pHcaScZ_zgsWa=Mwu}u;#_Ml@cQN= zOFEG~ki;Q$iA$aq#>#R7^wY4!IlA2`5@ico`FQiJi)|m1?UK`LZn;Ko){ZCXZKL#` z^|Z2ooN(M7-4`Rn*dXmXXx0Ku(R>DiY-o_#a%dd1!N>dQnxg8xp9aRV&8K;k(YxFe z_-pbW0^=@D5CAkn7ggCVP#u8%7OKbpdJwKEzL6Cruo55)phXUmqOWGPX*TR>iT}?1 zwYSKeXD}S-1RAO=>{|)w-04-kCF7xg%OID`)gPc@g_{Wx&sO8H&kl^8(aVo&Andei zMmRIj^S3vX)oayYzYNDVt+F$Cop7=ls$=Cu*GlY$bM-&nVG30b9i}f6kVRk-c8d0| z5^m7!hzEQ<36fQuPd+&ws0E_(1U&m9yIQptz^f_Zz=$@b3?HjadpZQHjjkug%!m8- zB6foQ4<4xtpVVS>j#ub`=hHiMq`EF$qWr#&Iohx^wn-Qx*>c5xeyO;5-ZTg|S&XA_ z)0p{P+G%`vlAMzXY1#!LMhuiFAQBqlqBd?5HFd5uZnXV*JWSwQ_VsyE_DzP4CK^ZN zS*GkCVQH65WhF=&H&sJ;@8gj3842RlfsT*jR9-!{s*;8+NM?JA`pIj5Z@1*_j~1(2 zyQoG>m!ILOc^PY@8;{?w7QNq#3#%(HE+cLy|N0M3WN3}G`t6!`@3-vP?Ulgfit_ic zbau$-81%S}=~&ZNLGqgmjXPI2gY9bBja#vw8@&&Vvb6haPH(l$5C)2sSM&h#)vCF2 zx^Q>=`v7#{j*cZ^g4>DE_PcqLnB4~S;6TQ`jGazPlEqx~2iLe}re(lrkLBav6YL5{ z;l{M!DLJwEO#TR-g3lw3F?Z~E*+X=LZkCgZ~w}|sKOH-!|oe~=f-lQarjy=0iakxe_O;wc@pPzGNREp+V zkJ(cXW#J)79DLQ6joTOMpws8Bvr7mLtV-KF>Y$zv;!wJ6Kf|=T^%yN)`=3)6v--v?rxfs_H)r= zwtSyn=&U91?Y|7qZZNgPOWVm`so_j{(L=;h0+nVvm(akq=M(tpuIqlJgHmO)*OE>uIn69T*&3IGpu%$QW*|S%Ya=>8WL*U13%(pF zTTqp&E=nNDDO&@VA|Cs8u_~K~fKs+h_3SABmD%)RIyf{oe;=~TU7&YYN`e$P5!le2 z3{(rO`R-GlBT&_r0B&*-zf1XRe24M22C}~gAO=MbX?dTXQJmFa%mCa4NWi7VJxmG} zD4g8AfC)~KWlPN%;|Ol+%OHW0(eq<>Y_TmIqxipo^)SDZg;N`<~TAYmMNa2Kz) znU4ST!z_-vt9=g781v76Gb@f|#h~GOr^=PH)3m`3P*l=kmp(z(NeUSc7I%RicTI|; zXEgE!in($he9+7ouaxQ*%c!OuEWjmM-B*AmO02Gqh<>0x=~f!(+?dBNri2uu)^$iW zqF}gQj#HMt$P*LNBhofgn)bnQi??szedga%LZl%p$nqWwLHZ6O2qGf65x%dC4}q{K z`UhR(lM=d3+s&RC$p9rr!u@@1o793+uoW&uSU0wDVA!-+mtDQ`E;(qAa09)HN|h9C z^_uMBxVa-oU#km~!Svn4=)MXB#i_I_T23!pVx2gdyQS0h2pm`^8bS~q(}Y)2{g(*M zPt-l4j$%oVD`=ayj&DQ))*q|tMcVuHtxl&)&Fxmou7!DyuoUvJXZ+|HaY!BG}s;T(l zmY@r_v+5vkAWv3zdpJK3b&r7{yj=#1%`nani(r=S@1%%%I`(V3r|)K*ojA3U8mz-{ zzuJyt&}DyhIt5iI*o!=j{h)M$0rL<;YambU5b8TCJUXwTxEPjmT8cH*!PriGJ%U+; z0*5|NDUY=j>Vxp)A$LE;)^$}AUhs|eB%cy3H@2f&jc=9n4&{()AsEI;y&`f5#tzRx zrAh@o8r{3xYb33#le94zhcu0tFwppqlJ~Ofk0`dhOcM zt@cCz@(SE_w}B3H>lWl+Y!E3u@$H#FNc!I?L$P_WS3dJAX_TdzNZc<`X^ z2-(31vz<~;MwqLe6XSvc`%Dsum=cSwZkGHf&9P$w@LW?ZKxJ=uE|nR&V5e$wU;&5D z^Q-+wC$R&MBUAEwJxViURpz!TP(w61I|`tkare1VOrQ9e6K;U9)^A!H!+ZxL^_z?+ z_@CNvLOQd^1J-a(yZzs2fZhAW6uAZ+7HRed4qIBkH9l;3?%gME&D0`pf(aQCqN^Jo z3hhH@_CX7&TY1TtmYRLjN@X7f54KyE`dV5g zW7BQ)EPP(cvd^#c>_HWobe`so2L?u8eG);ODJ_Dt$tzE7z044WJQ<(A`e40H;p@p0 z*#H2%RB(@?S6rjfa;NWEHh=(5`u7-qsMY;61kxN}rR4+i!?;Yywi(he6+9UqP%f7m z=#7%=otGGm_E3Eue?!tj6ek}+Hu_G}H>r*3Vf5At0V55-LUPj3KqJ6H-LY3Oy}lil z4uLr#F$BmSo{uw$zpz<4vUoc<)(ZK;ZR{7kzh#NNPRnCH#kY(cO34n7Z4K8CswCxsQGtB}d)IRs{56RLJMW1HbkKIuTTqCR~vFEuN%4Q&l5;9mEJpb37y;JgTQf z1}FC>U=+r%t-WWFJO_?$KMM>FzMc8Vf*<0^U#q~fp@++A>)qwC#$Oa28W!0?DksTE zVD>=0ZEV{}fQ^24b1Mkj#jp6;;6(ys$YY9l5+>i@-lg{=Iu@L7`g1 zRv-1hndrm0Hd+O-^?~HxQv8W?2X=KFiHv>a1BDS@xYZ0z`%wd0>aR@c6TX#L8Ekqh zV~n-MC(Z37wHm0u57S>VN}{G-CF!X{S>&z^>I{^*_3nX3lGTu5IE;53$yMYXr&#A~ zrszvrbz01##E#A39qL7UOo24g?3HQljz0ECuV!)^_ufQu$kbD_v%0y>{~ZI<50WZJ zpzao3NBkVPQ6+S@Ll@XbnV^*s08S=lrhT9mK) zJ}JE%Cd8UxgK!?$L_z6}va7qu+D$V~?Lm;MyI0dL*3s9a<0x+y;z@U+4_tjHCc_M7 zDKVr@XI65I;b2rIUhm9g)#z0>wq~t=`Wa#>i{5Gv5CRqpppAuc_&kNXBz9Tfi2-tN zMv1Yso$6Sj8xL#1sp}Jw)HfU>^}O)WWYj(p{KFVt4j=Y*X8J#UKdc5mQ>0GKV;@S* zNJ`6OcSEQB>1#DPy8rIsK zXXM8PnSDzUVh<8)K7?6Sj>Bq!nvwcPDV3 zQ9JLv=G7M2tDfJc#ud?j5#t^~BIYHf%W|$6S>K7E1vHUEK00@LdvEQTaiB`*vIC!b zLJgpaGoYF_nNL`1xqMVtljyhifQ}!;=naci-Ffs8EeZ-lkb+ZJ>xmpp@cq{>^Fo5) z;ijrSfw%QcU@3^8^ONltVX5NJQ4ZeaEJ~Tk8McN_z4%U8r>ztONmDam{I2B38(Yx) zYmB!g8-L~GbYSwLSfSt#{I?P+a+L_Q1R?b?H)fYLzk5H>4V2WLyq>BcpppSp;r~ z(lk_H+Y_bzJ&ct}1irjiW6bDpT7dSw!g|9Aw>8CL7mz6*T{oouk8ehqwaZ25$)vx0 z=cO&atDhBG>cYkNv^M|i_f(2x?#}LH!OmB;Ri(&>stDb}Zz#;#&eYRO&4j#rg2)Et zbP9md0gm^%o#+{h6bsVizc8qY+U|%)F>qIME&`FeiW-gj&~ZsAuIde~uE9!cOTA4U zv8(u@kG-kgol?R*UY053*IWdj*uvl{evus1?jeNo;?D2T=6jEsStpPrQo6-R`=#&C z1JsihfW7UJI^|%tQUp+shY?oR(_rZK1pU~ z>3h8Gq(I6(4pN9YCyOgMs)eUvnWo0HPOK_P)a85FYj;KKbeZJ;Qg>GHn7Q#-C*1EU zXOv-2-Z$ucG~HkvtI@_5cuD{d0dMH+aE{ag6L(+p^1Oz1#=~EYNf2#~sgKyE#qi?? z2AP%%=39VGa_;BaF^?wObpO>mFI@ST7G12|<4|+Cg~X;H`$V#3b0bZN?-pSDL2H1a z{=uX$@E~F)#tpV6X48)EU zqb@YlE*PX}LP*<*WIF&EH`(k26G;UrdPa5<-d>dd0AbG36oGk=6KyeSb`UxRfI7__ zE~Ll+G@=c@a$jeGm=qp-)JtnQ`)}3Cb4t2rA%B7nOC8TB`9x;o=PZgCS=bWCabUAg zjTT(}Tr6864j*e>`U^LG*YT=3x2e0h;W>{xJo>?s*XcO693R$CdmumdH(9F&H~zy<471`@j=G)lmE&1NO^#vdh@`&IPZiM~TjV1pKaH2dM`tIDsw zfbyA*q{=^{nk6q-Rpf5_Z?AWrxG9FnOt47;Ys)=K)rl=L&lvk#X&D7(Vl>rFa3d8` z_3un1-ml~U51tNe2*mC-6=yQEs-0V5YNFp3bu zkQX>s#DIQ^l1!Fz2i-mCyAvk?4^o zTI4Dt##IE{t6Mp%yHxdG(p$;jV)E5YZFW~vPy67kn=!d|iX752a^tjGTBKaThg|Js zD~<+%oKi}kS8DomnYZnhjzq#_aCwWbO@!yjenb7JSgj)Dy`1rv|9I?Bb7#?F_}J5; z1mG#;Y9l4F`S$5xjxLBCatiG&5(sgmYcD+yZbzbKV`)R+;pS@~v65n?A{SS7uhmd|rE>d58}i~uhIQKG@m;BQs=s17bL=4a+8Kc6weX#ZZkY{0XKK#jM>_+?mfC$*|C zg) z(r&*NH=yb1@~+@K_jJ@EcUfBT$?)n~&*c>V)-2-|mf9r!o4djA+eo$`i)gDh`S4Ly z(K^>jweGd3+Vf4Mhy^*QIc+GwS1*50GREzguo+*GbRVk|n!M62DkFwG%F7iD6q1sk z-N|5Ppom!@{$*T_Fj6KpG#c3;aF~X?3p7iOpE}^579#_*67A3X7+=!@?5idQhbxl= zu+&zxKl8B}&H-Y2*81@|yh|WM?niZHg~*akDQFC;L8^|*OnQK-w#2&d!(s)1OS4jN z!ziFddbH0#$=Di~T=;}FxzrXMZcMOmk-Pxl7|VTk-o7^(4j zYY_4m&1b(Ir_2k#EI^neQx?J{J;-l$n@?&@@24BGd$;ey!;}Yacctl%`S&>_)Zbhy z)Heh@Q&q>Hq;>%s99CkkZ4SUvgFJwqFo){|lsY@=9EeS-=_gv>>Yu32!y4H`5U7sb#W!g5Ibd6Xb2ei5qj#EAn^A6?#jqB2&eG5ckv76}8Nc)ax)xjL2D5rK$ zOm$lf2?jtf$g+j`KnfU4zMe)e$kE$jpj6tF@jPAWyLeD`BW?}E!kZFdS{hmOt6-Or$=g3u^bM4O2Anmrf zG!>AUp|mvO{cMcx*lTK#Oef)p1vBQf3te^e$<)w*n9;R4O)JCiXv2nUD7sQ1tDz>G zyWr$26Aq}e*=+*lqmt+p*_N4lL1S$1=;LkF+t!(kgc=u|1~YL1Kmva^pLFToS%d5VsER)G~9@L&Us+@9;9FuO47J zBr%)#x6YFf+&4J^jTa0@P8wM-;Dkku1yApJi5j-?g{`T!U^EH0&Co zd#{%x8CQb+of2*YC3p~0-;vM3q8A#YnJkRd{Y35SufufmRIQ7-KhpCyJ^Kp4Rt%X@ zh~CQ6>976tC#1y_bRMoh>Hn=VgDxG_5_jweEe;cN7O(9H-1r&KTF(|O-At0Y6C;tZ zV`*wE|6HE<&l0~XYJPix6wnJr5o_<)?#rD5i>>SVqE$oKzg=;qq#m;BOVZL>rwAF{ zQE`;aTwZi+xG$(wU5%X6zO2TEyGYjbeK=E;K25gG^~9)`@;ygad4=y zPB+Lz49%Mo*@$2xnvRzbdN|L79f$IJ+VI)mc9+sNOZ#vZJ%pdzRrnw~!G6;3V1f3$ z|9nE4lEBr@8VC+|w3_$qD6(0_;eU%9r_VAbE#oWq29Q>#_yg^ga@~S#L#PS8RSp{P z%WjsN&-X&Zj|&Qw4VNoJl4=BSBbU)v!d4#sH(FFLW~80Ae8%3vj~pNCi4#aj|ERNG zseQV4=}$Z!(ps__=hvy~kLC&Ri#jj9i#}X)%mbQ^k@cjGq0scWjpiuouQ4mr0=N!4$&Uor`DqOvylP6Yp8^4SOAWt zas2|auc@;~aTHL?HuRK@t-S-nSkk_qg2P{~#2F$HhgZk@uJ1jT@t zsEP`oF`B6Zogm1+s4)S*w3VTp7AQ(PyL2dG$~DemM3GYlkC-xBoka!4JUW2}U@0FY zUAo6oBrYK{E6QJnp{#ORasVUmB5%AXRd3O_%bJGoMUQxaZQ|nUwthNt<%d1a!7eS(amF=)D9#DFJlI9Zf^I1pIlqG4%8I8|odY zASC>BT7rD66#a2h2JXI>5#Jos`gn85zNN3D_0s+r?cRJZMd{=wNI;p$3=T@G0QsyHtOZt#+5M*QWKQdpBS0Peo)xNB z7i$=qlC)(+)+P9zARF;kNmCUZ+cjNE0cBjp-J5${tW zUn0tyf7hd3<5nPMY5!%=1;2rDB2FT)0xoRqp~KGCc8><=)pSsvi#Yoj7E+_X@(Y31 zGT&vgNXT5zC7eTqG+cFphhzPc?*2&W{6Mc806acDE6|d0ZjeNHkCo;H+Y)``aQVpA z$%Ajl>?<1wnygYCLVip^git8VSKH}$TKM<;3M)32Cc2A7({~#gc%Y%APatmHaqx@o z-an%4!T4lx9eP=C$|y((mBEyd&phn=5jZRreXf_{1=;$}0CLpvHae+02@(cn~5S`#ATWBh?kO&S15^EM$e>&&RtgCcz-^|cpJ z9*kg0MCQ_5@rjjRT)}kVkO)(qUMEtZ?ODAChypmI%tzxrhz)!0x5W%#PW2d=oisru zj|hv0D7c7nznUKBcXw3BiUsw8S*xGriL;X2=jHDgFt#%2l=C+Ka$NbzJyScJ?=HtD zRcSp!sT~{4V&8RE>Si#Iw$OlF&^F&E;+6nOQ_Xc}hldewUMGt%)^v3jAfXX0V)a+* ze{S%M%luD#c+out6~@S%l)71_XIR#AGHDe3?+dO3>_(0dhi2Vh111{2b~}NT#~$h> zm|)-FYRyNo@9t#z4W@4wQ8a|zFwk)(o#BZc-4$~T%vYLfTZGkfVxuCBtw3-`2!NWI z&cEW>ckrd|t56lljOKB2fOamF(p0P7T;L=05f*aWtf)a&wW2H7w?(1`TwFf2#AX7k zYFfP;rx=u_`l!3{{6Iy83P5dz=|RX*4mv#upyVpIDUpokXQybsp~~z01&L=+ugrn& z+a1?m6HPfXsTC`i-Qj+btk+1tEuFb83*9tMesrAv5+g;&SQgdW&k*ewz|_1*3Wcbi zAo!S9f2$x6?yw3KrJy>h(-hRh;lsak#$rje9Av9y-Ub;Pyj+oelsj`qAh4CW>f3MT zpB0ke?M|Vk+IUnWtfZvtx~}NFfjO?88il$S0>ppus&Cf*L}xQa>2W<0K!io#MJqsqu+d1Z_#+PMk2l!HiI75nBQrpKSSQrw%|^-IgtQ zVeuFD-LS~F?uGfs!uml(GuFxp>TP#LC$3{UXzYX_ApTK+g)~RzFkL1-|A>$&?lw?} c!)MOC_whFEDTxmhz5JT}Zo#qgSWJop;P?apF diff --git "a/general/advance/website/_assets/\345\261\217\345\271\225\346\210\252\345\233\276 2025-06-08 135158.png" "b/general/advance/website/_assets/\345\261\217\345\271\225\346\210\252\345\233\276 2025-06-08 135158.png" deleted file mode 100644 index 0983cfc8c827ed70ec31ae6283574ae6c45bbbac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39560 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 diff --git a/general/advance/website/faq.md b/general/advance/website/faq.md deleted file mode 100644 index 25384b17f..000000000 --- a/general/advance/website/faq.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: FAQ -sidebar_position: 7 ---- - -# FAQ - -## 无法登录,我的验证码设置已损坏 - -将 `core/config.php` 中的 `captcha` 设置为 `false`。 - -## 我不记得我的管理员密码了,如何更改? - -在你的数据库中,找到 `nl2_users` 表,并将你的用户密码更改为 `$2y$13$Q1NRQCPQNhs4EihdJSidQ.31bw2CTPSH03QrXd9EOH3sYuni1fbSu`,然后将 `pass_method` 更改为 `default`。 - -之后,你就可以使用密码“123456”登录了。 diff --git a/general/advance/website/install.mdx b/general/advance/website/install.mdx deleted file mode 100644 index a06acef8c..000000000 --- a/general/advance/website/install.mdx +++ /dev/null @@ -1,190 +0,0 @@ ---- -title: 安装 -sidebar_position: 3 ---- - -import { TabItem, Tabs } from "@astrojs/starlight/components"; - -# 安装 - -配置好基础环境后开始安装 NamelessMC - -## 下载 - - - - -```bash -curl -L "https://github.com/NamelessMC/Nameless/releases/latest/download/nameless-deps-dist.tar.xz" | tar --xz --extract --directory=/var/www/html --file - - -wget -O - "https://github.com/NamelessMC/Nameless/releases/latest/download/nameless-deps-dist.tar.xz" | tar --xz --extract --directory=/var/www/html --file - -``` - -如果你是 Windows,直接下载解压到网站目录即可 (Apache 通常是 `htdocs`) - - - - -不推荐这么干,容易爆炸 - -```bash -# 克隆最新版本 -git clone --branch v2 https://github.com/NamelessMC/Nameless.git /var/www/html/namelessmc -``` - - - - -```bash -# 通过 Composer 安装 -composer create-project namelessmc/nameless /var/www/html/namelessmc -``` - - - - -1. **安装 Docker Compose** (Debian/Ubuntu): - - ```bash - sudo apt install docker-compose-plugin - ``` - -2. **下载配置文件** - - ```bash - # 下载 docker-compose.yaml 文件 - wget https://github.com/NamelessMC/Nameless-Docker/blob/master/docker-compose.yaml - ``` - -3. **准备数据目录** - - ```bash - # 创建网站数据目录并设置权限 - mkdir web - chown -R 33:33 web - ``` - -4. **启动容器** - - ```bash - docker compose up -d - ``` - -5. **完成安装** - - 访问 http://localhost:80 - - 数据库地址填写:`db` - - 数据库用户名、密码、数据库名都填写:`nameless` - -### 推荐 Docker 标签 - -- `v2.2`: 最新稳定版 (PHP 8.3) -- `v2.1`: 上一稳定版 (PHP 8.2) -- `dev`: 开发版 (仅用于开发) - - - - -### 2. 设置文件权限 - - - - -```bash -# 设置所有者 -sudo chown -R www-data:www-data /var/www/html/namelessmc - -# 设置目录权限 -sudo find /var/www/html/namelessmc -type d -exec chmod 755 {} \; - -# 设置文件权限 -sudo find /var/www/html/namelessmc -type f -exec chmod 644 {} \; - -# 设置特殊目录权限 -sudo chmod -R 777 /var/www/html/namelessmc/cache -sudo chmod -R 777 /var/www/html/namelessmc/uploads -``` - - - - -```bash -# 设置所有者 -sudo chown -R nginx:nginx /var/www/html/namelessmc - -# 设置 SELinux 上下文 (如果启用 SELinux) -sudo restorecon -R /var/www/html/namelessmc -sudo setsebool -P httpd_can_network_connect 1 -sudo setsebool -P httpd_can_network_connect_db 1 - -# 设置权限 -sudo find /var/www/html/namelessmc -type d -exec chmod 755 {} \; -sudo find /var/www/html/namelessmc -type f -exec chmod 644 {} \; -sudo chmod -R 777 /var/www/html/namelessmc/cache -sudo chmod -R 777 /var/www/html/namelessmc/uploads -``` - - - - -```txt -# 通过 FTP 客户端或文件管理器设置权限 -# 文件权限:644 -# 目录权限:755 -# 特殊目录权限:777 -# - cache/ -# - uploads/ -``` - -**注意**:某些共享主机可能不允许 777 权限,请尝试 755 或按主机商要求设置。 - - - - -### Web 安装向导 - -1. **访问安装页面** - - 打开浏览器访问:`http://your-domain.com/install` - - 或:`http://your-domain.com/namelessmc/install` - -![img.png](_assets/img-2.png) - -1. **数据库配置** - - ```txt - 数据库类型:MySQL - 主机地址:localhost (或你的数据库主机) - 端口:3306 - 数据库名:namelessmc - 用户名:namelessmc - 密码:your_secure_password - 表前缀:nl2_ (可自定义) - ``` - -![img.png](_assets/img-3.png) - -1. **站点配置** - - ```txt - 站点名称:你的服务器名称 - 站点 URL:完整的域名地址 - 友好 URL:启用 (推荐) - ``` - -1. **管理员账户** - - ```txt - 用户名:admin (可自定义) - 邮箱:admin@yourdomain.com - 密码:强密码 - 确认密码:重复输入 - ``` - - ![img.png](_assets/img-.png) - -然后就安装好了 - -![](_assets/img_1.png) - -![](_assets/img_2.png) - -接下来自己摸索即可 diff --git a/general/advance/website/plugins.md b/general/advance/website/plugins.md deleted file mode 100644 index 1325728d3..000000000 --- a/general/advance/website/plugins.md +++ /dev/null @@ -1,155 +0,0 @@ ---- -title: 插件 -sidebar_position: 4 ---- - -# 插件 - -接下来你需要安装插件实现 Minecraft 服务器数据同步 - -首先在这里下载 [SpigotMC](https://www.spigotmc.org/resources/nameless-plugin-for-v2.59032/) - -解压后根据你的服务器版本选择对应的插件,通常选择 `Paper` 即可 - -![](_assets/img_3.png) - -## 配置 - -![img.png](_assets/img_4.png) - -首先在这里启用 API 接口 - -```yaml -api: - # 填在这里 - url: "" - key: "" -``` - -然后打开配置文件 `main.yml` 进行配置,填完后执行 `/nlpl reload` - -![](_assets/img_5.png) - -然后接下来需要创建一个服务器,创建好后,复制服务器的 ID,填入配置文件中的`server-id` 即可 (记得重新加载) - -![](_assets/img_6.png) - -## 插件配置文件 - -```yaml -# Nameless 插件配置 -# 插件运行异常?请参考故障排除指南:https://docs.namelessmc.com/en/集成/plugin-troubleshooting -# 使用命令 /nlpl reload 重载插件 - -api: - # 启用 API 并在 核心 > 配置 > API 获取 API 网址和 API 密钥 - url: "http://localhost/index.php?route=/api/v2" - key: "FZX3YAdR8nFfaHXSqUBvwXdrhJdOCERCKZ6AonUWlXk" - # 在 核心 > 集成 > Minecraft > Minecraft 服务器 查找您的服务器 ID - server-id: 1 - # 输出网站请求与响应的详细信息 - debug: false - # 等待网站响应的最大时间,推荐值为 3 到 15 秒 - # 语法参考:https://en.wikipedia.org/wiki/ISO_8601#Durations - timeout: "PT10S" - # 若启用,插件将忽略服务器的 UUID,而根据玩家用户名生成离线模式 UUID 以进行 API 请求。 - # 网站也需配置为使用离线模式 UUID。 - # 此功能为实验性质,有助于基岩版(Floodgate/Geyser)兼容性。 - offline-uuids: false - -# 数据发送取决于使用的平台:https://docs.namelessmc.com/en/集成/plugin-data-sender -# 此功能会周期性地向网站发送服务器数据,用于群组同步、用户名同步和占位符等功能。 -# 当前网站并未使用此插件提供服务器状态与玩家列表,需在网站单独配置服务器 Ping 功能。 -server-data-sender: - enabled: false - # 数据发送的时间间隔:https://en.wikipedia.org/wiki/ISO_8601#Durations - interval: "PT30S" - # 发送 PlaceholderAPI 占位符数据,供 NamelessMC(排行榜、个人主页)或其他模块使用。 - # 仅支持 OldBukkit、Spigot 和 Paper 平台。 - placeholders: - enabled: false - # 全局占位符(网站目前未使用),填写占位符名称,不包括 %% - global: [] - # 玩家特定的占位符,填写占位符名称,不包括 %% - player: [] - -# 若启用,将把 Minecraft 群组同步至网站。 -# > 在 核心 > 集成 > Minecraft > Minecraft 服务器 选择群组同步服务器 -# > 在 核心 > 配置 > API > 权限组同步 中配置群组。 -# 此选项仅适用于 NamelessMC v2.1.0+ 版本,旧版本通过 server-data-sender 同步群组。 -group-sync: - enabled: false - # 群组同步间隔:https://en.wikipedia.org/wiki/ISO_8601#Durations - interval: "PT30S" - -logging: - # 在日志中显示更多详细信息 - verbose: false - -# 玩家加入时,若未注册 NamelessMC 账号,向其发送消息提醒 -not-registered-join-message: false - -# 玩家加入时,在聊天框显示网站通知(如有) -join-notifications: false - -# 有效语言列表参见 languages 目录的文件名。 -# 若需帮助翻译插件,请访问:https://translate.namelessmc.com -# 若想自定义服务器消息,可编辑语言文件。 -language: en_UK -datetime-format: "yyyy-MM-dd HH:mm:ss" - -# 周期性在聊天框发送网站公告消息 -announcements: - enabled: false - # 每个 间隔,从公告中随机选择一条发送给玩家 - interval: "PT10M" - # 若设定,仅发送指定页面的公告 - # display: Forums - -# 允许玩家在注册时使用非 Minecraft 用户名作为账号名 -register-custom-username: true - -# ------------------ 以下选项仅支持 Bukkit 平台 ------------------ # - -# 当玩家被封禁时,同时封禁其网站账号(事件触发,仅新封禁有效) -sync-ban-to-website: false - -# 用户同步功能仅支持 OldBukkit、Spigot 和 Paper 平台。 -user-sync: - enabled: false - # 同步间隔(秒) - poll-interval: "PT30S" - # 排除的 UUID 列表(这些用户不会被加入或移出白名单或封禁列表) - # UUID 需带横线格式,如启用 api-usernames 选项,请填写用户名。 - exclude: [] - - # 自动将已注册的玩家加入白名单 - # - # 启用后,插件将自动将网站已注册的玩家加入服务器白名单 - # 警告:所有未在网站注册的玩家会从白名单移除,包括启用前添加的玩家! - whitelist: - enabled: false - # 仅允许通过验证的用户加入白名单 - verified-only: false - # 若仅允许特定群组的用户加入白名单,请填写群组 ID - only-with-group: -1 - - # 网站封禁用户自动同步至服务器,被解除封禁用户也自动同步 - bans: - enabled: false - -# 从 NamelessMC 获取用户信息供 PlaceholderAPI 使用。 -# 此功能与上述发送占位符至网站不同。 -# 参考:https://github.com/PlaceholderAPI/PlaceholderAPI/wiki/Placeholders#nameless-plugin -# 仅支持 OldBukkit、Spigot 和 Paper 平台。 -retrieve-placeholders: - enabled: false - # 占位符检索间隔:https://en.wikipedia.org/wiki/ISO_8601#Durations - interval: "PT30S" -``` - -:::tip - -有些功能的启动需要安装对应插件! - -::: diff --git a/general/advance/website/prepare.mdx b/general/advance/website/prepare.mdx deleted file mode 100644 index 32b229f23..000000000 --- a/general/advance/website/prepare.mdx +++ /dev/null @@ -1,211 +0,0 @@ ---- -title: 准备 -sidebar_position: 1 ---- - -import { TabItem, Tabs } from "@astrojs/starlight/components"; - -# 准备 - -在开始前,你需要准备一些软件 - -# 环境准备 - - - - -## Ubuntu/Debian 系统准备 - -### 安装必需软件包 - -```bash -# 安装 PHP 和扩展 -sudo apt install -y php8.1 php8.1-fpm php8.1-mysql php8.1-gd php8.1-mbstring php8.1-xml php8.1-curl php8.1-zip - -# 安装 MySQL/MariaDB -sudo apt install -y mysql-server -# 或安装 MariaDB -# sudo apt install -y mariadb-server - -# 安装 Web 服务器 (选择其一) -sudo apt install -y nginx -# sudo apt install -y apache2 -``` - - - - -## CentOS/Rocky Linux 系统准备 - -### 安装 EPEL 和 Remi 仓库 - -```bash -# EPEL 仓库 -sudo dnf install -y epel-release - -# Remi 仓库 -sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm - -# 国内服务器推荐使用这一条 -sudo dnf install -y https://mirrors.tuna.tsinghua.edu.cn/remi/enterprise/remi-release-8.rpm -``` - -#### 安装 PHP 和相关软件包 - -```bash -# 启用 PHP 8.1 模块 -sudo dnf module enable php:remi-8.1 -y - -# 安装 PHP 和扩展 -sudo dnf install -y php php-fpm php-mysqlnd php-gd php-mbstring php-xml php-curl php-zip - -# 安装 MySQL/MariaDB -sudo dnf install -y mysql-server -# 或安装 MariaDB -# sudo dnf install -y mariadb-server - -# 安装 Web 服务器 -sudo dnf install -y nginx -``` - -### 配置防火墙 - -```bash -sudo firewall-cmd --permanent --add-service=http -sudo firewall-cmd --permanent --add-service=https -sudo firewall-cmd --reload -``` - - - - -## Windows 系统准备 - -### 使用 XAMPP (推荐) - -1. **下载 XAMPP** - - 访问 https://www.apachefriends.org/ - - 下载最新版本 (包含 PHP 8.1) - -2. **安装 XAMPP** - - 运行安装程序 - - 选择 Apache、MySQL、PHP 组件 - - 安装到默认路径 `C:\xampp` - -3. **启动服务** - - 打开 XAMPP 控制面板 - - 启动 Apache 和 MySQL 服务 - -4. **配置 PHP** - - 编辑 `C:\xampp\php\php.ini` - - 取消注释并启用必需扩展: - - ```ini - extension=gd - extension=mbstring - extension=mysqli - extension=pdo_mysql - extension=xml - extension=curl - ``` - -### 手动安装 - -1. **安装 PHP** - - 下载 PHP 8.1 from https://windows.php.net/ - - 解压到 `C:\php` - - 配置环境变量 - -2. **安装 MySQL** - - 下载 MySQL Community Server - - 按向导安装配置 - -3. **安装 Web 服务器** - - IIS:通过 Windows 功能启用 - - 或下载 Apache for Windows - - - - -## 共享主机准备 - -### 确认主机要求 - -- PHP 7.4+ (推荐 8.1) -- MySQL 5.7+ 或 MariaDB 10.2+ -- 至少 100 MB 存储空间 -- 支持 .htaccess (Apache) 或 URL 重写 - -### 检查 PHP 扩展 - -创建 `phpinfo.php` 文件检查: - -```php - -``` - -确认以下扩展已启用: - -- gd -- mbstring -- mysql/mysqli -- pdo -- xml - - - - -## 启动和启用服务 - -```bash -sudo systemctl enable --now php-fpm -sudo systemctl enable --now mysql -sudo systemctl enable --now nginx -``` - -## 配置 SELinux (如果启用) - -```bash -# 允许 Web 服务器连接数据库 -sudo setsebool -P httpd_can_network_connect_db 1 - -# 允许 Web 服务器连接网络 -sudo setsebool -P httpd_can_network_connect 1 -``` - -当然你可以选择直接关闭 (推荐) - -```bash -sed -i "s#=enforcing#=disabled#g" /etc/selinux/config -``` - -## 配置数据库 - -```bash -# 安全配置 MySQL -sudo mysql_secure_installation - -# 创建数据库和用户 -sudo mysql -u root -p -``` - -然后初始化数据库 - -```sql -CREATE DATABASE namelessmc; -CREATE USER 'namelessmc'@'localhost' IDENTIFIED BY '改密码'; -GRANT ALL PRIVILEGES ON namelessmc.* TO 'namelessmc'@'localhost'; -FLUSH PRIVILEGES; -EXIT; -``` - -## 配置 PHP - -打开 `php.ini`,重要配置项: - -```ini -max_execution_time = 300 -memory_limit = 256M -upload_max_filesize = 20M -post_max_size = 20M -``` diff --git a/general/advance/website/server-config.mdx b/general/advance/website/server-config.mdx deleted file mode 100644 index 893ca7ca3..000000000 --- a/general/advance/website/server-config.mdx +++ /dev/null @@ -1,304 +0,0 @@ ---- -title: 服务器配置 -sidebar_position: 2 ---- - -import { TabItem, Tabs } from "@astrojs/starlight/components"; - -# 服务器配置 - -## Web 服务器配置 - - - - -```nginx -# 定义一个虚拟主机块 -server { - # 监听 80 端口,即标准的 HTTP 协议端口 - listen 80; - - # 定义此虚拟主机响应的域名。你需要将 替换为你的实际域名或本地开发域名 (如 myapp.local) - server_name ; - - # 设置网站文件的根目录 - root /var/www/html; - # 设置默认的索引文件。当访问一个目录时,Nginx 会依次查找 index.php 和 index.html。 - index index.php index.html; - - # 允许更大的文件上传 - # 允许客户端请求体的最大大小为 100 MB,这对于文件上传功能很重要。 - client_max_body_size 100m; - - # 添加安全相关的 HTTP 响应头 - # 尽管网站是 HTTP 的,但这些头部仍然可以提供一些基础的浏览器端安全保护。 - # 防止浏览器对内容类型进行MIME嗅探 - add_header X-Content-Type-Options nosniff; - # 启用浏览器的 XSS (跨站脚本) 过滤器 - add_header X-XSS-Protection "1; mode=block"; - # 内容安全策略:只允许同源的页面将本页面作为 frame 嵌入,防止点击劫持 - add_header Content-Security-Policy "frame-ancestors 'self'"; - # 旧版浏览器防止点击劫持的响应头,只允许同源页面嵌入 - add_header X-Frame-Options "SAMEORIGIN"; - # 控制 Referer 头的发送策略,只在同源请求时发送完整的 Referer - add_header Referrer-Policy same-origin; - - # 定义根路径 (/) 的请求处理方式 - location / { - # 这是一个常见的 "前端控制器" 模式,用于 PHP 框架 (如 Laravel, Symfony, OpenCart 等) - # 1. 尝试直接查找与 URI 匹配的文件 ($uri) - # 2. 如果没找到,尝试查找与 URI 匹配的目录 ($uri/) - # 3. 如果都没找到,则将请求重写到 /index.php,并将原始 URI 和参数作为查询字符串传递 - try_files $uri $uri/ /index.php?route=$uri&$args; - } - - # 匹配以 .tpl, .cache, .htaccess 结尾的请求 - location ~ \.(tpl|cache|htaccess)$ { - # 直接返回 403 Forbidden (禁止访问) 错误,防止模板、缓存、配置等敏感文件被公开访问 - return 403; - } - - # 匹配以 /node_modules/ 开头的请求 - location ^~ /node_modules/ { - # 直接返回 403 Forbidden 错误,防止开发依赖包被公开访问 - return 403; - } - - # 匹配以 /scripts/ 开头的请求 - location ^~ /scripts/ { - # 直接返回 403 Forbidden 错误,可以用于保护一些不想被直接访问的脚本目录 - return 403; - } - - # 匹配所有以 .php 结尾的请求 - location ~ \.php$ { - # 将请求通过 FastCGI 协议传递给 PHP-FPM (PHP FastCGI Process Manager) 进行处理。 - # 这里使用的是 Unix socket,它是一种在同一台机器上进行进程间通信的文件。 - # 它的路径可能需要根据你的系统配置进行修改 (例如,在不同 PHP 版本下可能是 php8.1-fpm.sock)。 - fastcgi_pass unix:/run/php/php-fpm.sock; # 可能需要编辑此行 - - # 定义 FastCGI 的默认索引文件 - fastcgi_index index.php; - - # 设置 SCRIPT_FILENAME 变量,这是最重要的参数之一。 - # 它告诉 PHP-FPM 要执行哪个具体的脚本文件。 - # $document_root 是网站根目录, $fastcgi_script_name 是请求的脚本路径 (如 /index.php)。 - fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; - - # 包含标准的 FastCGI 参数文件,这个文件定义了许多其他必要的 CGI 环境变量。 - include fastcgi_params; - } -} -``` - - - - - -```nginx -# 定义主网站的虚拟主机块 -server { - # 监听 443 端口,并启用 SSL/TLS 加密。同时启用 HTTP/2 协议以提升性能。 - listen 443 ssl http2; - - # 定义此虚拟主机响应的域名。同样, 需要替换为你的实际域名。 - server_name ; - - # 设置网站文件的根目录 - root /var/www/html; - # 设置默认的索引文件。当访问一个目录时,Nginx 会依次查找 index.php 和 index.html。 - index index.php index.html; - - # 允许更大的文件上传 - # 允许客户端请求体的最大大小为 100 MB,这对于文件上传功能很重要。 - client_max_body_size 100m; - - # 这是一个基础的 TLS 配置示例,没有 OCSP Stapling,使用默认加密套件,也没有 HSTS。 - # 你可以访问 https://ssl-config.mozilla.org 生成一个更完善的配置。 - # 别忘了用你证书的实际路径替换下面的路径! - # SSL 证书文件路径 (公钥) - ssl_certificate /etc/letsencrypt/live//fullchain.pem; - # SSL 证书密钥文件路径 (私钥) - ssl_certificate_key /etc/letsencrypt/live//privkey.pem; - - # 添加安全相关的 HTTP 响应头 - # 防止浏览器对内容类型进行MIME嗅探 - add_header X-Content-Type-Options nosniff; - # 启用浏览器的 XSS (跨站脚本) 过滤器 - add_header X-XSS-Protection "1; mode=block"; - # 内容安全策略:只允许同源的页面将本页面作为 frame 嵌入,防止点击劫持 - add_header Content-Security-Policy "frame-ancestors 'self'"; - # 旧版浏览器防止点击劫持的响应头,只允许同源页面嵌入 - add_header X-Frame-Options "SAMEORIGIN"; - # 控制 Referer 头的发送策略,只在同源请求时发送完整的 Referer - add_header Referrer-Policy same-origin; - - # 定义根路径 (/) 的请求处理方式 - location / { - # 这是一个常见的 "前端控制器" 模式,用于 PHP 框架 (如 Laravel, Symfony, OpenCart 等) - # 1. 尝试直接查找与 URI 匹配的文件 ($uri) - # 2. 如果没找到,尝试查找与 URI 匹配的目录 ($uri/) - # 3. 如果都没找到,则将请求重写到 /index.php,并将原始 URI 和参数作为查询字符串传递 - try_files $uri $uri/ /index.php?route=$uri&$args; - } - - # 匹配以 .tpl, .cache, .htaccess 结尾的请求 - location ~ \.(tpl|cache|htaccess)$ { - # 直接返回 403 Forbidden (禁止访问) 错误,防止敏感文件被公开访问 - return 403; - } - - # 匹配以 /node_modules/ 开头的请求 - location ^~ /node_modules/ { - # 直接返回 403 Forbidden 错误 - return 403; - } - - # 匹配以 /scripts/ 开头的请求 - location ^~ /scripts/ { - # 直接返回 403 Forbidden 错误 - return 403; - } - - # 匹配所有以 .php 结尾的请求 - location ~ \.php$ { - # 将请求通过 FastCGI 协议传递给 PHP-FPM 处理。 - # 这里使用的是 Unix socket,路径可能需要根据你的系统配置进行修改。 - fastcgi_pass unix:/run/php/php-fpm.sock; # 可能需要编辑此行 - # 定义 FastCGI 的默认索引文件 - fastcgi_index index.php; - # 设置 SCRIPT_FILENAME 变量,告诉 PHP-FPM 要执行哪个脚本文件 - fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; - # 包含标准的 FastCGI 参数文件 - include fastcgi_params; - } -} -``` - - - - -```apache -# 定义一个虚拟主机块。它会监听所有 IP 地址 (*) 的 80 端口。 - - # 设置此虚拟主机对应的域名。Apache 会根据客户端请求的 Host 头来匹配这个名字。 - # 你需要将 替换为你的实际域名,例如 www.example.com。 - ServerName - - # 设置网站文件的根目录。当用户访问网站时,Apache 会从这个目录提供文件。 - DocumentRoot "/var/www/html" - - # 允许 URL 中包含编码后的斜杠 (例如 %2F),并且不进行解码。 - # 这对于某些 RESTful API 或需要将文件路径作为 URL 参数传递的应用程序是必需的。 - # 默认情况下,Apache 会拒绝这类请求。 - AllowEncodedSlashes NoDecode - - # 这两个是 PHP 的配置项,通过 Apache 的 mod_php 模块来设置。 - # 设置允许上传的单个文件的最大大小为 100 MB。 - php_value upload_max_filesize 100M - # 设置 POST 请求体数据的最大大小为 100 MB。 - # 这个值必须大于或等于 upload_max_filesize 才能成功上传大文件。 - php_value post_max_size 100M - - # 这是一个目录配置块,用于定义针对特定文件系统目录的规则。 - # 它应用于网站的根目录。 - - # 允许在此目录及其子目录中使用 .htaccess 文件来覆盖这里的配置。 - # "all" 意味着 .htaccess 文件拥有最大的权限,这对于像 WordPress 这样的应用很常见, - # 它们使用 .htaccess 来管理 URL 重写(永久链接)。 - AllowOverride all - - # 这是 Apache 2.4+ 的访问控制指令。 - # "Require all granted" 表示无条件地允许所有客户端访问此目录。 - # 这是向公众提供网站内容所需的标准设置。 - Require all granted - - -``` - - - - - -```apache -# 定义一个监听所有 IP 地址 (*) 的 443 端口 (HTTPS) 的虚拟主机。 - - # 设置此虚拟主机对应的域名。 - ServerName - # 设置网站文件的根目录。 - DocumentRoot "/var/www/html" - - # 允许 URL 中包含编码后的斜杠 (%2F) 并且不进行解码。 - AllowEncodedSlashes NoDecode - - # 通过 mod_php 设置 PHP 的上传文件大小限制为 100 MB。 - php_value upload_max_filesize 100M - # 设置 POST 请求体数据的最大大小为 100 MB。 - php_value post_max_size 100M - - # 定义针对网站根目录的特定配置。 - - # Apache 2.4+ 语法:允许所有客户端访问此目录。 - Require all granted - # 允许在此目录及子目录中使用 .htaccess 文件来覆盖服务器配置。 - AllowOverride all - - - # 为此虚拟主机开启 SSL/TLS 引擎。这是启用 HTTPS 的关键。 - SSLEngine on - # 指定 SSL 证书文件 (公钥) 的路径。 - # fullchain.pem 包含了服务器证书和所有必需的中间证书链。 - SSLCertificateFile /etc/letsencrypt/live//fullchain.pem - # 指定 SSL 证书私钥文件的路径。 - SSLCertificateKeyFile /etc/letsencrypt/live//privkey.pem - - - - -``` - - - - - -## Cloudflare - -如果你不想自己配置 SSL 证书,你可以通过使用 Cloudflare 的免费 SSL 服务来提供 HTTPS 功能。 -Cloudflare 的免费 SSL 服务可以为你的网站提供免费的 SSL 证书,无需任何额外的配置。 - -![](_assets/img.png) - -(严格一点需要调整加密模式) - -![img.png](_assets/img——1.png) - -你也可以把 `始终使用 HTTPS` 和 `HTTP 严格传输安全 (HSTS)` 打开 - -### 源服务器加密 - -![](_assets/屏幕截图%202025-06-08%20135158.png) - -如果你希望提高 Cloudflare 到源服务器的安全性,可以使用源服务器加密来实现。 - -创建证书后,按照服务器配置配置证书,开启 `经过身份验证的源服务器拉取` 即可 - -### 代理配置 - -通过代理连接会导致两个问题: - -- NamelessMC 会看到你的代理地址而不是你的用户地址。这会破坏 IP 封锁和速率限制。这可以通过从代理向后端 Web 服务器发送 Forwarded、X-Forwarded-For 或 X-Real-IP(不推荐)标头来解决。 - -在你的 Nginx 配置文件中添加如下几行: - -```nginx -proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; -proxy_set_header X-Forwarded-Proto $scheme; -proxy_set_header X-Forwarded-Port $server_port; -``` - -在 Nginx 配置文件 http 段配置: - -```nginx -set_real_ip_from 0.0.0.0/0; -real_ip_header X-Forwarded-For; -``` diff --git a/general/advance/website/server-plugins.md b/general/advance/website/server-plugins.md deleted file mode 100644 index e8a468cbc..000000000 --- a/general/advance/website/server-plugins.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: 论坛插件 -sidebar_position: 6 ---- - -# 论坛插件 - -NamelessMC 有这非常多的插件,你可以在 [这里](https://namelessmc.com/resources/) 查看 - -以这个插件为例子 [FAQ](https://namelessmc.com/resources/resource/184-frequently-asked-questions/) - -下载后解压,你会得到以下文件: - -![](_assets/img_8.png) - -将 `upload` 文件夹复制到网站根目录即可,然后打开操作面板 - -![img.png](_assets/img_9.png) - -点击安装即可,如果你安装的是样式模板,你应该在这里安装 - -![img.png](_assets/img_10.png) diff --git a/general/advance/website/website.md b/general/advance/website/website.md deleted file mode 100644 index a0b25ccf8..000000000 --- a/general/advance/website/website.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: 建设服务器 -slug: /website -sidebar_position: 7 ---- - -# 建设服务器 - -本部分的章节将会教你如何搭建一个功能完善的 MC 服务器官网,本部分全部基于 NamelessMC 框架 - -## NamelessMC - -**NamelessMC** 是一个免费、开源的 Minecraft 服务器网站软件,专为 Minecraft 服务器社区设计。它提供了完整的论坛系统、用户管理功能和丰富的 Minecraft 服务器集成选项。 - -[详细功能可以查看 Wiki](https://docs.namelessmc.com/en/home) - -![](_assets/img_7.png) - -相比于 Xenforo、NamelessMC 提供更多与 MC 集成的功能,比如黑/白名单同步等功能 diff --git a/general/contribution/contribution.md b/general/contribution/contribution.md deleted file mode 100644 index 12debcc61..000000000 --- a/general/contribution/contribution.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: 文档贡献 -sidebar_position: 10 -slug: /contribution ---- - -# 文档贡献 - -如果你想为文档贡献自己的内容,请首先查看以了解格式要求及待完善的内容: - -如果有一些文档完全没有涉及到的内容,请进入 [GitHub Issues](https://github.com/Cubic-Project/NitWikit/issues) 提出 Issue。或者直接加入 [企鹅群🐧1074062482](https://qm.qq.com/q/UyurWW3zyI)。 diff --git a/general/contribution/image.md b/general/contribution/image.md deleted file mode 100644 index be21f9be2..000000000 --- a/general/contribution/image.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: 图片处理 -sidebar_position: 3 ---- - -# 图片处理 - -提交前你需要对图片进行一些处理,当然,你只需要运行几行命令即可 - -安装依赖库: - -```bash -pip install pillow pillow-avif-plugin tqdm pillow-jxl-plugin -``` - -处理图片格式 (在项目根目录执行): - -```bash -python convert.py . --threads 10 --delete-backup --format avif -``` - -你不需要更改 Markdown 文件,直接运行即可 diff --git a/general/contribution/todos.md b/general/contribution/todos.md deleted file mode 100644 index 42ae0b401..000000000 --- a/general/contribution/todos.md +++ /dev/null @@ -1,171 +0,0 @@ ---- -title: 待办事项 -sidebar_position: 100 ---- - -# 待办事项 - -## 复选框示例 - -- [x] 已完成 -- [ ] 待完成 -- [x] ❌ 被否决 - -## 准备工作 - -- [x] 基础知识 - 服务端结构 -- [x] 基础知识 - 什么是 mod -- [x] 基础知识 - 如何查看日志并分享报错 -- [x] 基础知识 - 什么是权限 -- [x] java 为什么 jar 包是个白纸 -- [x] java 怎么做绿色版以及绿色版怎么使用 -- [x] 可能用到的网站 像素云黑 - -## 开始开服 - -- [x] windows server 放行端口 -- [x] 申请域名 -- [x] 搭建官网 -- [x] 服务端文件讲解 -- [x] 备份 背包备份 InventoryRollbackPlus -- [x] 开服器开服 -- [x] 维护 - 二分法插件排除法 -- [x] 维护 - 插件命名推荐 -- [x] 搭建翼龙面板?mcsm? -- [x] 资源包托管 gitee github gitlab 直链网盘 - -## 建设阶段 - -- [ ] 新增文案教程,和美术教程折叠在侧边栏同一项下面 - > - 统一文字排版,风格 - > - 统一语言,不要让玩家看到还没汉化的信息 - > - 统一写法,如:同时有 ia,mm,某物品库,应该选择其中一个来写物品 - -## 维护 - -- [x] 优化 - 性能配置文件 -- [ ] 在某处建议服主统一命名方式,包括但不限于文件名,变量名 - -## 插件 - -- [x] Skript 简单教程 -- [x] papi list 扩展:插件自己挂钩 自己下载扩展 不需要插件的扩展 -- [x] 全息图 (浮空字) 插件 -- [x] AskyBlock BentoBox (BskyBlock) -- [x] 替换 ess 方案 huskhomes + XConomy -- [x] 资源包插件 ia oraxen 介绍 -- [x] 龙核/萌芽 介绍 -- [ ] mv 多世界 禁用 地狱/末地门 不生成默认地狱和末地 -- [ ] p2 地皮案例 做建筑服 -- [x] 皮肤插件 SkinsRestorer -- [x] 插件管理 如 PlugManX -- [x] res 刷钱漏洞提醒 -- [x] 怎么重载插件 -- [ ] 大厅插件 - -## 反作弊 - -- [x] 排版 -- [x] 提示不适用混合端和 geyser -- [x] 反作弊和 via 兼容性 -- [x] RNG 相关 - -## 跨服端 - -- [x] 教程 怎么做登录服 -- [x] 反压测 反假人 -- [x] 讲解 via skin 等装在跨服端有什么缺点 -- [x] bc 的语义扩大 - -## 手机玩家支持 - -- [x] 手机直装模板 -- [x] 基岩版客户端下载 - -## 扩展阅读 - -- [x] 命名空间 命令 mod 物品 材质包物品 -- [x] MySQL 小皮 宝塔 -- [x] plugin.yml 讲解 -- [x] §和&和 RGB 颜色 格式化代码 -- [x] 驿站的机器人的命令 -- [x] docker 开服 -- [ ] git 管理服务端? -- [x] 二分法和控制变量法排查问题 -- [x] Q 机器人教程? -- [x] 搭建 frp -- [x] MiniMessage 简单讲解 -- [x] 怎么支持中文名的玩家 -- [x] 编码问题以及如何解决 - -## 服务器经营管理 - -~~什么玩意~~ - -### 玩家管理 - -- [ ] 服务器群 -- [x] 白名单制度 -- [x] 我的世界 wiki -- [x] Chunkbase -- [x] 服务器规则 -- [x] 公告 -- [ ] 服务器文档 -- [ ] 玩家纠纷 -- [ ] 公会 -- [x] 进服审核 -- [ ] 玩家社区等级 -- [x] 玩家反馈 - -### 管理团队 - -- [ ] 招募团队 -- [ ] 人员分工 -- [ ] 时间安排 -- [ ] 领导力理论 -- [ ] 薪资待遇 -- [ ] 不要加入无意义的纠纷 - -### 宣传 - -- [ ] 主流可用于宣传的平台及其利弊 -- [ ] 广告学 -- [ ] 梗的发展与传播 -- [ ] 宣传片的制作流程 - -### 资金管理 - -- [x] 可持续发展 -- [x] 投资心理学 - - - -## 文档 - -- [x] 代办事项 -- [x] 编写规范 - -# 杂项 TODOs (待分类) - -- [ ] `/advance/bot.md` 内 TODO -- [ ] 更新 Gensokyo 的 GitHub 链接到 https://github.com/Hoshinonyaruko/Gensokyo-MCP -- [ ] 搜索所有 包含 Ubuntu / Redhat 的 tabs,规范顺序 -- [ ] 搜索并检查所有括号 () 和 并列顿号的使用 (是否用成逗号了) -- [ ] 搜索并列出所有文档内 TODO (搜索 ``) -- [ ] 是否需要去除所有文档开头的 # 标题,因为已经在 title 内定义,不确定是否要去除这个以减少冗余 -- [ ] 更新 Cloudflare 高防信息,400 多 Tbps 了 -- [ ] 可能仍存在部分货币格式不规范 -- [ ] 把文档文件名和包名都改为 `kebab-case` 并更新所有 .md 文档内引用 (使用 `pnpm build` 进行检查) -- [ ] 迁移 TODOs 到 Projects -- [ ] 是否要规范 ` -## 链接之间增加空格 - -正确: - -```txt -请提交一个 [Issue](链接) 并分配给相关同事。 -访问我们网站的最新动态,请 点击这里 进行订阅! -``` - -错误: - -```txt -请提交一个[Issues](链接)并分配给相关同事。 -访问我们网站的最新动态,请点击这里进行订阅! -``` - -## 加粗、斜体、高亮文本前后加空格 - -建议在 加粗、斜体、高亮文本 前后加空格,否则某种情况会出现格式解析失败。 - -正确: - -```txt -修复了一个 **内存泄露** 问题,该问题由 someone 在 版本 v0.1.1 中引入。 -**测试文本**,这是测试。 -``` - -错误: - -```txt -修复了一个**内存泄露**问题,该问题由 someone 在版本 v0.1.1 中引入。 -**测试文本** ,这是测试。 -``` - -## 每行结尾不要空格 - -正确: - -```txt -怎样解决苦难? -只要活着,我们每一个人,都会面临苦难。 -``` - -错误: - -```txt -怎样解决苦难? -只要活着,我们每一个人,都会面临苦难。 -``` - -可以在 VS Code `查看 > 外观 > 显示空格` 处启用空格高亮的功能。 - -## 空行 - -- 不要有多余的空行 - 在 Markdown 文本中,想要做到渲染后 真换行 通常是使用两个空格加一个回车换行符 (Unix 下只有回车 CR),或者粗暴地空一行,但是 请不要连续空两行及以上。 -- 文件末尾空一行 - 强烈建议文件末尾空一行,大多数格式检查工具都会检查文件末尾的空行。文件末尾增加空行的可能原因是为了方便进行文件拼接处理。 -- 标题前后各空一行 - diff --git a/general/contribution/writing-specification/code-examples.md b/general/contribution/writing-specification/code-examples.md deleted file mode 100644 index a1c9afe00..000000000 --- a/general/contribution/writing-specification/code-examples.md +++ /dev/null @@ -1,170 +0,0 @@ ---- -sidebar_position: 9 -title: 代码高亮示例 ---- - -# 代码高亮示例 - -NitWikit 支持多种编程语言的代码高亮,让您的文档更加专业和美观。 - -## 基本使用 - -只需要在代码块开始处指定语言名称,就能自动高亮该语言的代码。 - -````md -```javascript -const hello = "world"; -console.log(hello); -``` -```` - -效果如下: - -```javascript -const hello = "world"; -console.log(hello); -``` - -## 行高亮 - -使用特殊注释可以高亮代码中的特定行: - -````md -```javascript -// 普通代码行 -const sum = (a, b) => { - // highlight-next-line - return a + b; // 这行会被高亮显示 -}; - -// highlight-start -// 多行高亮示例 -function multiply(a, b) { - return a * b; -} -// highlight-end -``` -```` - -效果如下: - -```javascript -// 普通代码行 -const sum = (a, b) => { - // highlight-next-line - return a + b; // 这行会被高亮显示 -}; - -// highlight-start -// 多行高亮示例 -function multiply(a, b) { - return a * b; -} -// highlight-end -``` - -## 错误行标记 - -有时候您可能想展示错误代码,可以使用错误行标记: - -````md -```javascript -// 正确的代码 -let array = [1, 2, 3]; -array.forEach((item) => console.log(item)); - -// error-next-line -console.log(item); // 这行是错误的,因为 item 在这个作用域不可用 - -// error-start -// 多行错误示例 -function brokenFunction() { - return x + y; // x 和 y 都未定义 -} -// error-end -``` -```` - -效果如下: - -```javascript -// 正确的代码 -let array = [1, 2, 3]; -array.forEach((item) => console.log(item)); - -// error-next-line -console.log(item); // 这行是错误的,因为 item 在这个作用域不可用 - -// error-start -// 多行错误示例 -function brokenFunction() { - return x + y; // x 和 y 都未定义 -} -// error-end -``` - -## 支持的语言 - -NitWikit 支持多种编程语言的语法高亮,包括但不限于: - -- JavaScript/TypeScript/JSX/TSX -- HTML/XML/Markdown -- CSS/SCSS/SASS/LESS -- Python/Ruby/PHP/Go/Rust -- Java/Kotlin/Scala -- C/C++/C#/Dart -- SQL/JSON/YAML/TOML -- Shell 脚本/Bash -- Docker/Nginx/Apache -- 更多语言请查看 [Prism.js 支持的语言列表](https://prismjs.com/#supported-languages) - -## 使用示例 - -### Python - -```python -def fibonacci(n): - """返回斐波那契数列的第 n 个数""" - # highlight-start - if n <= 0: - return 0 - elif n == 1: - return 1 - # highlight-end - return fibonacci(n-1) + fibonacci(n-2) - -# 测试函数 -for i in range(10): - print(f"fibonacci({i}) = {fibonacci(i)}") -``` - -### Java - -```java -public class HelloWorld { - // highlight-next-line - public static void main(String[] args) { - System.out.println("Hello, World!"); - - int sum = 0; - // error-start - for (int i = 0; i < 10; i--) { // 无限循环错误 - sum += i; - } - // error-end - } -} -``` - -### 命令行 - -```bash -# 安装依赖 -npm install - -# 启动开发服务器 -npm start - -# 构建生产版本 -npm run build -``` diff --git a/general/contribution/writing-specification/documentation-system.md b/general/contribution/writing-specification/documentation-system.md deleted file mode 100644 index a8a6f099c..000000000 --- a/general/contribution/writing-specification/documentation-system.md +++ /dev/null @@ -1,61 +0,0 @@ ---- -title: 文档体系 -sidebar_position: 7 ---- - -# 文档体系 - -## 结构 - -软件手册是一部完整的书,建议采用下面的结构。 - -- **简介** (Introduction):[必备] [文件] 提供对产品和文档本身的总体的、扼要的说明 -- **快速上手** (Getting Started):[可选] [文件] 如何最快速地使用产品 -- **入门篇** (Basics):[必备] [目录] 又称“使用篇”,提供初级的使用教程 - - **环境准备** (Prerequisite):[必备] [文件] 软件使用需要满足的前置条件 - - **安装** (Installation):[可选] [文件] 软件的安装方法 - - **设置** (Configuration):[必备] [文件] 软件的设置 -- **进阶篇** (Advanced):[可选] [目录] 又称“开发篇”,提供中高级的开发教程 -- **API** (Reference):[可选] [目录 | 文件] 软件 API 的逐一介绍 -- **FAQ**:[可选] [文件] 常见问题解答 -- **附录** (Appendix):[可选] [目录] 不属于教程本身、但对阅读教程有帮助的内容 - - **Glossary**:[可选] [文件] 名词解释 - - **Recipes**:[可选] [文件] 最佳实践 - - **Troubleshooting**:[可选] [文件] 故障处理 - - **ChangeLog**:[可选] [文件] 版本说明 - - **Feedback**:[可选] [文件] 反馈方式 - -下面是两个真实范例,可参考。 - -- [Redux 手册](https://redux.js.org/introduction/getting-started) -- [Atom 手册](http://flight-manual.atom.io/) - -## 文件名和包名 - -文档的文件名和包名不得含有空格和特殊符号,并且需要使用 [烤串命名法 (kebab-case)](https://developer.mozilla.org/zh-CN/docs/Glossary/Kebab_case) - - - -```txt -错误:名词 解释.md - -正确:名词解释.md -``` - -文件名需使用小写字母,不使用大写字母。 - -```txt -错误:TroubleShooting.md - -正确:troubleshooting.md -``` - -为了醒目,某些说明文件的文件名,可以使用大写字母,比如 `README`、`LICENSE`。 - -文件名包含多个单词时,单词之间使用半角的连词线 (`-`) 分隔。 - -```txt -错误:advanced_usage.md - -正确:advanced-usage.md -``` diff --git a/general/contribution/writing-specification/numerical-value.md b/general/contribution/writing-specification/numerical-value.md deleted file mode 100644 index ca3d80f14..000000000 --- a/general/contribution/writing-specification/numerical-value.md +++ /dev/null @@ -1,73 +0,0 @@ ---- -title: 数值 -sidebar_position: 4 ---- - -# 数值 - -## 半角数字 - -阿拉伯数字一律使用半角形式,不得使用全角形式。 - -```txt -错误:这件商品的价格是 1000 元。 - -正确:这件商品的价格是 1000 元。 -``` - -## 千分号 - -数值为千位以上,应添加千分号(半角逗号)。 - -```txt -XXX 公司的实收资本为 ¥1,258,000 人民币。 -``` - -对于 4 位的数值,千分号是选用的,比如 `1000` 和 `1,000` 都可以接受。对于 4 位以上的数值,应添加千分号。 - -## 货币 - -货币应为阿拉伯数字,并在数字前写出货币符号,或在数字后写出货币中文名称。 - -```txt -$1,000 -1,000 美元 -``` - -英文的货币名称,建议参考国际标准 [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217)。 - -## 数值范围 - -表示数值范围时,用波浪线(`~`)或一字线(`—`)连接。参见《标点符号》一节的“连接号”部分。 - -带有单位或百分号时,两个数字建议都要加上单位或百分号。 - -```txt -132 kg~234 kg - -67%~89% -``` - -## 变化程度的表示法 - -数字的增加要使用“增加了”、“增加到”。“了”表示增量,“到”表示定量。 - -```txt -增加到过去的两倍 -(过去为一,现在为二) - -增加了两倍 -(过去为一,现在为三) -``` - -数字的减少要使用“降低了”、“降低到”。“了”表示增量,“到”表示定量。 - -```txt -降低到百分之八十 -(定额是一百,现在是八十) - -降低了百分之八十 -(原来是一百,现在是二十) -``` - -不能用“降低 N 倍”或“减少 N 倍”的表示法,要用“降低百分之几”或“减少百分之几”。因为减少(或降低)一倍表示数值原来为一百,现在等于零。 diff --git a/general/contribution/writing-specification/paragraph.md b/general/contribution/writing-specification/paragraph.md deleted file mode 100644 index c4335b007..000000000 --- a/general/contribution/writing-specification/paragraph.md +++ /dev/null @@ -1,69 +0,0 @@ ---- -title: 段落 -sidebar_position: 3 ---- - -# 段落 - -## 原则 - -- 一个段落只能有一个主题,或一个中心句子。 -- 段落的中心句子放在段首,对全段内容进行概述。后面陈述的句子为中心句子服务。 -- 一个段落的长度不能超过七行,最佳段落长度小于等于四行。 -- 段落的句子语气要使用陈述和肯定语气,避免使用感叹语气。 -- 段落之间使用一个空行隔开。 -- 段落开头不要留出空白字符。 - -## 引用 - -引用第三方内容时,应注明出处。 - -```txt -One man’s constant is another man’s variable. — Alan Perlis -``` - -如果是全篇转载,请在全文开头显著位置注明作者和出处,并链接至原文。 - -```txt -本文转载自 WikiQuote -``` - -使用外部图片时,必须在图片下方或文末标明来源。 - -```txt -本文部分图片来自 Wikipedia -``` - -## 插件 info - -如无特殊情况,在插件的 info 中遵循这样的顺序 - -:::note - -`官网` https://xxx - -`Bukkit` https://dev.bukkit.org/projects - -`SpigotMC` https://www.spigotmc.org - -`Hangar` https://hangar.papermc.io - -`Modrinth` https://modrinth.com - -`MineBBS` https://www.minebbs.com - -`GitHub` https://github.com - -`文档 (英文)` https://xxx - -`文档 (中文)` https://xxx - -`插件百科` https://mineplugin.org - -::: - -如果插件没有在某网站有信息,跳过不写那一行 - -如果文档只有一个,不需要标注是中文还是英文 - -明确 **大小写**,完全按照此页中的大小写样式 diff --git a/general/contribution/writing-specification/punctuation-marks.md b/general/contribution/writing-specification/punctuation-marks.md deleted file mode 100644 index 533750cf0..000000000 --- a/general/contribution/writing-specification/punctuation-marks.md +++ /dev/null @@ -1,170 +0,0 @@ ---- -title: 标点符号 -sidebar_position: 5 ---- - -# 标点符号 - -## 原则 - -(1) 中文语句的标点符号,均应该采取全角符号,这样可以与全角文字保持视觉的一致。 - -(2) 如果整句为英文,则该句使用英文/半角标点。 - -(3) 句号、问号、叹号、逗号、顿号、分号和冒号不得出现在一行之首。 - -(4) 点号 (句号、逗号、顿号、分号、冒号) 不得出现在标题的末尾,而标号 (引号、括号、破折号、省略号、书名号、着重号、间隔号、叹号、问号) 可以。 - -## 句号 - -(1) 中文语句的结尾处应该用全角句号 (`。`)。 - -(2) 句子末尾用括号加注时,句号应在括号之外。 - -```txt -错误:关于文件的输出,请参照第 1.3 节 (见第 26 页。) - -正确:关于文件的输出,请参照第 1.3 节 (见第 26 页)。 -``` - -## 逗号 - -(1) 逗号 (`,`) 表示句子内部的一般性停顿。 - -(2) 注意避免“一逗到底”,即整个段落除了结尾,全部停顿都使用逗号。 - -## 顿号 - -(1) 句子内部的并列词,应该用全角顿号 (`、`) 分隔,而不用逗号,即使并列词是英语也是如此。 - -```txt -错误:我最欣赏的科技公司有 Google,Facebook,腾讯,阿里和百度等。 - -正确:我最欣赏的科技公司有 Google、Facebook、腾讯、阿里和百度等。 -``` - -(2) 英文句子中,并列词语之间使用半角逗号 (`,`) 分隔。 - -```txt -例句:Microsoft Office includes Word, Excel, PowerPoint, Outlook and other components. -``` - -(3) 中文句子内部的并列词,最后一个尽量使用 (`和`) 来连接,使句子读起来更加连贯,下面两个句子都可以,第二个更优。 - -```txt -正确:我最欣赏的科技公司有 Google、Facebook、腾讯、阿里,以及百度等。 - -正确:我最欣赏的科技公司有 Google、Facebook、腾讯、阿里和百度等。 -``` - -## 分号 - -(1) 分号 (`;`) 表示复句内部并列分句之间的停顿。 - -## 引号 - -(1) 引用时,应该使用全角双引号 (`“ ”`),注意前后双引号不同。 - -```txt -例句:许多人都认为客户服务的核心是“友好”和“专业”。 -``` - -(2) 引号里面还要用引号时,外面一层用双引号,里面一层用单引号 (`‘ ’`),注意前后单引号不同。 - -```txt -例句:鲍勃解释道:“我要放音乐,可萨利说,‘不行!’。” -``` - -## 括号 - -(1) 补充说明时,使用全角圆括号 (`()`),括号前后不加空格。 - -```txt -例句:请确认所有的连接 (电缆和接插件) 均安装牢固。 -``` - -(2) 几种括号的中英文名称。 - -| | 英文 | 中文 | -| ----- | :-------------------------: | :----: | -| `{ }` | braces 或 curly brackets | 大括号 | -| `[ ]` | square brackets 或 brackets | 方括号 | -| `< >` | angled brackets | 尖括号 | -| `( )` | parentheses | 圆括号 | - -## 冒号 - -(1) 全角冒号 (`:`) 常用在需要解释的词语后边,引出解释和说明。 - -```txt -例句:请确认以下几项内容:时间、地点、活动名称和来宾数量。 -``` - -(2) 表示时间时,应使用半角冒号 (`:`)。 - -```txt -例句:早上 8:00 -``` - -## 省略号 - -(1) 省略号 (`⋯⋯`) 表示语句未完、或者语气的不连续。 - -(2) 省略号占两个汉字空间、包含六个省略点,不要使用`。。。`或`...`等非标准形式。 - -(3) 省略号不应与“等”这个词一起使用。 - -```txt -错误:我们为会餐准备了香蕉、苹果、梨…等各色水果。 - -正确:我们为会餐准备了各色水果,有香蕉、苹果、梨⋯⋯ - -正确:我们为会餐准备了香蕉、苹果、梨等各色水果。 -``` - -## 感叹号 - -(1) 应该使用平静的语气叙述,尽量避免使用感叹号 (`!`)。 - -(2) 不得多个感叹号连用,比如`!!`和`!!!`。 - -## 破折号 - -(1) 破折号`————`一般用于进一步解释。 - -(2) 破折号应占两个汉字的位置。如果破折号本身只占一个汉字的位置,那么前后应该留出一个半角空格。 - -```txt -例句:直觉————尽管它并不总是可靠的————告诉我,这事可能出了些问题。 - -例句:直觉 —— 尽管它并不总是可靠的 —— 告诉我,这事可能出了些问题。 -``` - -## 连接号 - -(1) 连接号用于连接两个类似的词。 - -(2) 以下场合应该使用直线连接号 (`-`),占一个半角字符的位置。 - -- 两个名词的复合 -- 图表编号 - -```txt -例句:氧化 - 还原反应 - -例句:图 1-1 -``` - -(3) 数值范围 (例如日期、时间或数字) 应该使用波浪连接号 (`~`) 或一字号 (`—`),占一个全角字符的位置。 - -```txt -例句:2009 年~2011 年 -``` - -注意,波浪连接号前后两个值都建议加上单位。 - -(4) 波浪连接号也可以用汉字“至”代替。 - -```txt -例句:周围温度:-20 °C 至 -10 °C -``` diff --git a/general/contribution/writing-specification/reference.md b/general/contribution/writing-specification/reference.md deleted file mode 100644 index 13c54ccff..000000000 --- a/general/contribution/writing-specification/reference.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 参考链接 -sidebar_position: 8 ---- - -# 参考链接 - -- [document-style-guide](https://github.com/ruanyf/document-style-guide) -- [基于 Markdown 的中文文档排版规范](https://zhuanlan.zhihu.com/p/144446995) -- [Markdown 中文教程](https://www.markdownlang.com/zh/) diff --git a/general/contribution/writing-specification/text.md b/general/contribution/writing-specification/text.md deleted file mode 100644 index dcb85a29d..000000000 --- a/general/contribution/writing-specification/text.md +++ /dev/null @@ -1,232 +0,0 @@ ---- -title: 文本 -sidebar_position: 2 ---- - -# 文本 - -## 字间距 - -(1) 全角中文字符与半角英文字符之间,应有一个半角空格。 - -```txt -错误:本文介绍如何快速启动 Windows 系统。 - -正确:本文介绍如何快速启动 Windows 系统。 -``` - -(2) 全角中文字符与半角阿拉伯数字之间,有没有半角空格都可,但必须保证风格统一,不能两种风格混杂。 - -```txt -正确:2011 年 5 月 15 日,我订购了 5 台笔记本电脑与 10 台平板电脑。 - -正确:2011 年 5 月 15 日,我订购了 5 台笔记本电脑与 10 台平板电脑。 -``` - -半角的百分号,视同阿拉伯数字。 - -```txt -正确:今年我国经济增长率是 6.5%。 - -正确:今年我国经济增长率是 6.5%。 -``` - -(3) 英文单位若不翻译,单位前的阿拉伯数字与单位符号之间,应留出适当的空隙。 - -```txt -例 1:一部容量为 16 GB 的智能手机 - -例 2:1 h = 60 min = 3,600 s -``` - -(4) 半角英文字符和半角阿拉伯数字,与全角标点符号之间不留空格。 - -```txt -错误:他的电脑是 MacBook Air。 - -正确:他的电脑是 MacBook Air。 -``` - -## 句子 - -(1) 避免使用长句。 - -不包含任何标点符号的单个句子,或者以逗号分隔的句子构件,长度尽量保持在 20 个字以内;20~29 个字的句子,可以接受;30~39 个字的句子,语义必须明确,才能接受;多于 40 个字的句子,任何情况下都不能接受。 - -```txt -错误:本产品适用于从由一台服务器进行动作控制的单一节点结构到由多台服务器进行动作控制的并行处理程序结构等多种体系结构。 - -正确:本产品适用于多种体系结构。无论是由一台服务器 (单一节点结构),还是由多台服务器 (并行处理结构) 进行动作控制,均可以使用本产品。 -``` - -逗号分割的长句,总长度不应该超过 100 字或者正文的 3 行。 - -(2) 尽量使用简单句和并列句,避免使用复合句。 - -```txt -并列句:他昨天生病了,没有参加会议。 - -复合句:那个昨天生病的人没有参加会议。 -``` - -(3) 同样一个意思,尽量使用肯定句表达,不使用否定句表达。 - -```txt -错误:请确认没有接通装置的电源。 - -正确:请确认装置的电源已关闭。 -``` - -(4) 避免使用双重否定句。 - -```txt -错误:没有删除权限的用户,不能删除此文件。 - -正确:用户必须拥有删除权限,才能删除此文件。 -``` - -## 写作风格 - -(1) 尽量不使用被动语态,改为使用主动语态。 - -```txt -错误:假如此软件尚未被安装, - -正确:假如尚未安装这个软件, -``` - -(2) 不使用非正式的语言风格。 - -```txt -错误:Lady Gaga 的演唱会真是酷毙了,从没看过这么给力的表演!!! - -正确:无法参加本次活动,我深感遗憾。 -``` - -(3) 不使用冷僻、生造或者文言文的词语,而要使用现代汉语的常用表达方式。 - -```txt -错误:这是唯二的快速启动的方法。 - -正确:这是仅有的两种快速启动的方法。 -``` - -(4) 用对“的”、“地”、“得”。 - -```txt -她露出了开心的笑容。 -(形容词+的+名词) - -她开心地笑了。 -(副词+地+动词) - -她笑得很开心。 -(动词+得+副词) -``` - -(5) 使用代词时 (比如“其”、“该”、“此”、“这”等词),必须明确指代的内容,保证只有一个含义。 - -```txt -错误:从管理系统可以监视中继系统和受其直接控制的分配系统。 - -正确:从管理系统可以监视两个系统:中继系统和受中继系统直接控制的分配系统。 -``` - -(6) 名词前不要使用过多的形容词。 - -```txt -错误:此设备的使用必须在接受过本公司举办的正式的设备培训的技师的指导下进行。 - -正确:此设备必须在技师的指导下使用,且指导技师必须接受过由本公司举办的正式设备培训。 -``` - -## 英文处理 - -(1) 英文原文如果使用了复数形式,翻译成中文时,应该将其还原为单数形式。 - -```txt -英文:...information stored in random access memory (RAMs)... - -中文:⋯⋯存储在随机存取存储器 (RAM) 里的信息⋯⋯ -``` - -(2) 外文缩写可以使用半角圆点 (`.`) 表示缩写。 - -```txt -U.S.A. -Apple, Inc. -``` - -(3) 表示中文时,英文省略号 (`...`) 应改为中文省略号 (`⋯⋯`)。 - -```txt -英文:5 minutes later... - -中文:5 分钟过去了⋯⋯ -``` - -(4) 英文书名或电影名改用中文表达时,双引号应改为书名号。 - -```txt -英文:He published an article entitled "The Future of the Aviation". - -中文:他发表了一篇名为《航空业的未来》的文章。 -``` - -(5) 第一次出现英文词汇时,在括号中给出中文标注。此后再次出现时,直接使用英文缩写即可。 - -```txt -IOC(International Olympic Committee,国际奥林匹克委员会)。这样定义后,便可以直接使用“IOC”了。 -``` - -(6) 专有名词中每个词第一个字母均应大写,非专有名词则不需要大写。 - -```txt -“American Association of Physicists in Medicine”(美国医学物理学家协会) 是专有名词,需要大写。 - -“online transaction processing”(在线事务处理) 不是专有名词,不应大写。 -``` - -## 名词 - -### 专有名词使用正确的大小写 - -大小写相关用法原属于英文书写范畴,不属于本 Wiki 讨论内容,在这里只对部分易错用法进行简述。 - -正确: - -```txt -使用 GitHub 登录 -我们的客户有 GitHub、Foursquare、Microsoft Corporation、Google、Facebook,Inc.。 -``` - -错误: - -```txt -使用 github 登录 -使用 GITHUB 登录 -使用 GitHub 登录 -使用 gitHub 登录 -使用 g イんĤЦ8 登录 -我们的客户有 github、foursquare、microsoft corporation、google、facebook,inc.。 -我们的客户有 GITHUB、FOURSQUARE、MICROSOFT CORPORATION、GOOGLE、FACEBOOK,INC.。 -我们的客户有 GitHub、FourSquare、MicroSoft Corporation、Google、FaceBook,Inc.。 -我们的客户有 gitHub、fourSquare、microSoft Corporation、google、faceBook,Inc.。 -我们的客户有 g イんĤЦ8、キ ouЯƧqu ムгє、๓เςг๏ร๏Ŧt ς๏гק๏гคtเ๏ภn、900913、ƒ4 ᄃëв๏๏к,IПᄃ.。 -``` - -注意:当网页中需要配合整体视觉风格而出现全部大写/小写的情形,HTML 中请使用标淮的大小写规范进行书写;并通过 `text-transform: uppercase;/text-transform: lowercase;` 对表现形式进行定义。 - -### 不要使用不地道的缩写 - -正确: - -```txt -我们需要一位熟悉 JavaScript、HTML5,至少理解一种框架 (如 Backbone.js、AngularJS、React 等) 的前端开发者。 -``` - -错误: - -```txt -我们需要一位熟悉 Js、h5,至少理解一种框架 (如 backbone、angular、RJS 等) 的 FED。 -``` diff --git a/general/contribution/writing-specification/title.md b/general/contribution/writing-specification/title.md deleted file mode 100644 index 1baddd767..000000000 --- a/general/contribution/writing-specification/title.md +++ /dev/null @@ -1,89 +0,0 @@ ---- -title: 标题 -sidebar_position: 1 ---- - -# 标题 - -## 层级 - -标题分为四级。 - -- 一级标题:文章的标题 -- 二级标题:文章主要部分的大标题 -- 三级标题:二级标题下面一级的小标题 -- 四级标题:三级标题下面某一方面的小标题 - -下面是示例。 - -```markdown -# 一级标题 - -## 二级标题 - -### 三级标题 - -#### 四级标题 -``` - -## 原则 - -(1) 一级标题下,不能直接出现三级标题。 - -示例:下面的文章结构,缺少二级标题。 - -```markdown -# 一级标题 - -### 三级标题 -``` - -(2) 标题要避免孤立编号 (即同级标题只有一个)。 - -示例:下面的文章结构,`二级标题 A` 只包含一个三级标题,完全可以省略 `三级标题 A`。 - -```markdown -## 二级标题 A - -### 三级标题 A - -## 二级标题 B -``` - -(3) 下级标题不重复上一级标题的名字。 - -示例:下面的文章结构,二级标题与下属的三级标题同名,建议避免。 - -```markdown -## 概述 - -### 概述 -``` - -(4) 谨慎使用四级标题,尽量避免出现,保持层级的简单,防止出现过于复杂的章节。 - -如果三级标题下有并列性的内容,建议只使用项目列表 (Item List)。 - -示例:下面的结构二要好于结构一。结构一适用的场景,主要是较长篇幅的内容。 - -```markdown -结构一 - -### 三级标题 - -#### 四级标题 A - -#### 四级标题 B - -#### 四级标题 C - -结构二 - -### 三级标题 - -**(1)A** - -**(2)B** - -**(3)C** -``` diff --git a/general/contribution/writing-specification/writing-specification.md b/general/contribution/writing-specification/writing-specification.md deleted file mode 100644 index 66ff1c766..000000000 --- a/general/contribution/writing-specification/writing-specification.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -sidebar_position: 0 -slug: /contribution/writing ---- - -# 格式要求 - -提交 PR 时候请务必满足以下要求 - -:::tip[提示~] - -若格式不规范但不会或不想排版时请在 PR 时提出 **文档需排版**) - -::: diff --git a/general/loss-thing.md b/general/loss-thing.md deleted file mode 100644 index 6a53cf6c5..000000000 --- a/general/loss-thing.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 感觉文档少东西了? -sidebar_position: 102 ---- - -# 感觉文档少东西了? - -请检查一下,你是不是应该看 Java 或 Bedrock 板块而不是这个 通用 板块 - -![](_assets/少东西了.png) diff --git a/general/maintenance/_assets/angryopenfrp.jpg b/general/maintenance/_assets/angryopenfrp.jpg deleted file mode 100644 index f4095dd984aab65d9108159c8a766e452fbce995..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72549 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 diff --git a/general/advance/viaproxy/configuration.mdx b/general/advance/viaproxy/configuration.mdx deleted file mode 100644 index cac115d2b..000000000 --- a/general/advance/viaproxy/configuration.mdx +++ /dev/null @@ -1,206 +0,0 @@ ---- -title: 配置详解 -sidebar_position: 3 ---- - -import { FileTree } from '@astrojs/starlight/components'; - -# 配置详解 - -本文档详细介绍 ViaProxy 的各种配置选项和参数设置。 - -## 配置文件结构 - -ViaProxy 使用 YAML 格式的配置文件,主要包含以下几个部分: - - - -- viaproxy - - viaproxy.yml 主配置文件 - - ViaLoader 协议转换配置 - - viaversion.yml - - viabackwards.yml - - viarewind.yml - - vialegacy.yml - - viabedrock.yml - - viaaprilfools.yml - - plugins 插件目录 - - logs 日志目录 - - saves.json 服务器保存数据 - - - -## 主配置文件 (viaproxy.yml) - -### 基础网络配置 - -```yaml -# 网络绑定设置(格式:地址:端口) -bind-address: 0.0.0.0:25568 - -# 目标服务器设置 -target-address: /miniconnect/lobby # 目标服务器地址 -target-version: Auto Detect (1.7+ servers) # 目标版本 - -# 连接设置 -connect-timeout: 8000 # 连接超时时间(毫秒) -compression-threshold: 256 # 数据压缩阈值(-1 禁用) -``` - -### 认证配置 - -```yaml -# 正版认证设置 -proxy-online-mode: false # 代理在线模式(查看皮肤和签名聊天) - -# 认证方法:NONE(离线)或 account(使用账户) -auth-method: NONE -minecraft-account-index: 0 # GUI 账户列表索引 - -# BetaCraft 认证(经典服务器) -betacraft-auth: false -``` - -### 代理和高级功能 - -```yaml -# 后端代理设置(SOCKS/HTTP 代理) -backend-proxy-url: "" # 格式:type://address:port - -# HAProxy 协议支持 -backend-haproxy: false # 发送 HAProxy 协议到目标服务器 -frontend-haproxy: false # 从客户端读取 HAProxy 协议 - -# 聊天签名(1.19+ 服务器) -chat-signing: true - -# 通配符域名处理:NONE, PUBLIC, INTERNAL -wildcard-domain-handling: NONE -``` - -### 兼容性和特殊功能 - -```yaml -# 旧版客户端支持 -allow-legacy-client-passthrough: false # 允许 1.6.4 及以下客户端直连 -allow-beta-pinging: false # 允许 Beta 版本 ping - -# 资源包设置 -resource-pack-url: "" # 资源包 URL -fake-accept-resource-packs: false # 自动接受资源包 - -# 错误处理 -ignore-protocol-translation-errors: false # 忽略协议转换错误 -suppress-client-protocol-errors: false # 抑制客户端协议错误 - -# 其他功能 -simple-voice-chat-support: false # Simple Voice Chat 模组支持 -send-connection-details: false # 发送连接详情到服务器 -log-ips: true # 在日志中显示 IP 地址 -``` - -## 协议转换配置 - -### ViaVersion 配置 (ViaLoader/viaversion.yml) - -```yaml -# 版本阻止设置 -send-supported-versions: false # 发送支持的版本列表 -block-versions: [] # 阻止特定版本(如 ["<1.16", ">1.17.1"]) -block-protocols: [] # 阻止特定协议版本号 - -# 数据包限制器(1.17.1+ Paper 服务器已禁用) -max-pps: 1400 # 最大每秒数据包数 -max-pps-kick-msg: You are sending too many packets! - -# 服务器端方块连接(推荐启用) -serverside-blockconnections: true -reduce-blockstorage-memory: false # 减少方块存储内存使用 - -# 1.9+ 客户端在 1.8 服务器的设置 -prevent-collision: true # 防止碰撞 -shield-blocking: true # 盾牌格挡 -simulate-pt: true # 玩家刻模拟(修复吃喝、传送门) -use-new-effect-indicator: true # 新效果指示器 -``` - -### ViaBackwards 配置 (ViaLoader/viabackwards.yml) - -```yaml -# 显示设置 -always-show-original-mob-name: true # 始终显示原始生物名称 -add-custom-enchants-into-lore: true # 自定义附魔写入物品描述 - -# 兼容性修复 -fix-formatted-inventory-titles: true # 修复格式化的物品栏标题 -handle-pings-as-inv-acknowledgements: true # 处理 ping 作为物品栏确认 -add-teamcolor-to-prefix: true # 为 1.12 客户端添加队伍颜色 - -# 方块映射 -sculk-shriekers-to-crying-obsidian: true # 幽匿尖啸体映射为哭泣黑曜石 -map-display-entities: true # 显示实体映射为盔甲架 -``` - -### ViaRewind 配置 (ViaLoader/viarewind.yml) - -```yaml -# 冷却指示器:TITLE(标题)、ACTION_BAR(动作栏)、BOSS_BAR(Boss 栏)、DISABLED -cooldown-indicator: TITLE - -# 兼容性设置 -replace-adventure: true # 将冒险模式替换为生存模式 -replace-particles: true # 替换粒子效果 -emulate-world-border: true # 模拟世界边界 - -# 书籍限制 -max-book-pages: 100 # 最大书页数 -max-book-page-length: 5000 # 最大页面字符数 - -# 副手支持(1.8 客户端) -enable-offhand: true # 启用副手功能 -offhand-command: /offhand # 副手切换命令 -``` - -### ViaLegacy 配置 (ViaLoader/vialegacy.yml) - -```yaml -# 动态计算设置 -dynamic-onground: true # 动态计算 OnGround 字段 - -# 旧版功能 -sound-emulation: true # 声音模拟(1.2.5 及以下) -legacy-skin-loading: false # 旧版皮肤加载(1.6.4 及以下) -old-biomes: true # 计算旧版生物群系(1.1 及以下) - -# Classic 服务器设置 -classic-chunk-range: 10 # Classic 区块加载范围 -enable-classic-fly: false # 启用 Classic 飞行 - -# Beta 1.7.3 设置 -b1_7_3-motd: | # Beta 1.7.3 服务器 MOTD - The server seems to be running! - Wait 5 seconds between each connection -``` - -### ViaBedrock 配置 (ViaLoader/viabedrock.yml) - -```yaml -# 缓存设置(减少网络使用和加载时间) -blob-cache: disk # Blob 缓存:disabled, memory, disk -pack-cache: disk # 资源包缓存:disabled, memory, disk - -# 资源包转换 -translate-resource-packs: true # 启用资源包转换 -resource-pack-host: 127.0.0.1 # 资源包 HTTP 服务器地址 -resource-pack-port: 0 # 资源包服务器端口(0 = 随机) - -# 其他设置 -disable-server-blacklist: false # 禁用服务器黑名单 -``` - -### ViaAprilFools 配置 (ViaLoader/viaaprilfools.yml) - -```yaml -# 愚人节版本支持(当前无特殊配置) -there-is-no-config-yet: true -``` diff --git a/general/advance/viaproxy/index.md b/general/advance/viaproxy/index.md deleted file mode 100644 index eab554164..000000000 --- a/general/advance/viaproxy/index.md +++ /dev/null @@ -1,104 +0,0 @@ ---- -title: ViaProxy -sidebar_position: 10 ---- - -# ViaProxy - -:::note - -`GitHub` https://github.com/ViaVersion/ViaProxy - -`下载` https://github.com/ViaVersion/ViaProxy/releases - -`Jenkins` https://ci.viaversion.com/view/all/job/ViaProxy/ - -`Docker` https://github.com/ViaVersion/ViaProxy/pkgs/container/viaproxy - -`插件 Wiki` https://github.com/ViaVersion/ViaProxy/wiki/Plugins - -::: - -ViaProxy 是一个独立的代理程序,允许玩家使用任意客户端版本连接到任意服务器版本,包括 Classic、Alpha、Beta、正式版和基岩版。 - -:::tip - -ViaProxy 是独立程序,不是服务器插件。它运行在客户端和服务器之间,充当协议转换代理。 - -::: - -## 支持版本 - -### 服务器版本 - -- Release (1.0.0 - 1.21.8) -- Beta (b1.0 - b1.8.1) -- Alpha (a1.0.15 - a1.2.6) -- Classic (c0.0.15 - c0.30 包含 [CPE](https://wiki.vg/Classic_Protocol_Extension)) -- 愚人节快照 (3D Shareware,20w14infinite,25w14craftmine) -- 战斗测试快照 (Combat Test 8c) -- 基岩版 1.21.93 ([某些功能缺失](https://github.com/RaphiMC/ViaBedrock#features)) -- Snapshots 15w31a/15w31b (需要 [ViaSnapshot](https://github.com/ViaVersionAddons/ViaSnapshot) 插件) - -### 客户端版本 - -- Release (1.7.2 - 1.21.8) -- Beta 1.7.3 (需要 [ViaProxyBeta2Release](https://github.com/ViaVersionAddons/ViaProxyBeta2Release)) -- 基岩版 (需要 [Geyser](/java/Geyser) 插件) -- Classic/Alpha/Beta/1.0-1.6.4 (仅透传模式) -- EaglerCraft (需要 [ViaProxyEaglerCraft](https://github.com/Oryxel/ViaProxyEaglerCraft) 插件) - -## 下载 - -官方发布页面:[GitHub Release](https://github.com/ViaVersion/ViaProxy/releases) - -Jenkins 构建:[ViaVersion Jenkins](https://ci.viaversion.com/view/all/job/ViaProxy/) - -Docker 镜像:[GitHub Packages](https://github.com/ViaVersion/ViaProxy/pkgs/container/viaproxy) - -## 使用方法 - -### GUI 模式 (推荐) - -1. 下载 JAR 文件并放入文件夹 -2. 双击运行 JAR 文件 -3. 填写服务器地址和版本信息 -4. 如需加入正版服务器,在 Accounts 标签页添加账户 -5. 点击 "Start" 启动代理 -6. 使用显示的地址连接服务器 - -### CLI 模式 - -```bash -java -jar ViaProxy-版本.jar cli --help -``` - -### 配置文件模式 - -```bash -java -jar ViaProxy-版本.jar config viaproxy.yml -``` - -## ViaProxy 插件 - -ViaProxy 支持插件扩展功能。将插件 JAR 文件放入 `plugins` 文件夹即可。 - -## FAQ - -### 能否使用高版本物品功能? - -高版本物品会被替换为相似的低版本物品显示,但无法享受高版本物品的完整功能。 - -### ViaProxy 与服务器端 Via 插件有什么区别? - -ViaProxy 是独立程序,运行在客户端侧,支持全版本和基岩版;服务器端 Via 插件安装在服务器上,受服务器版本限制但适合生产环境。 - -### 如何安装插件? - -将插件 JAR 文件放入 ViaProxy 的 `plugins` 文件夹,重启 ViaProxy 即可。 - -:::caution - -ViaProxy 主要用于版本兼容性测试和特殊需求场景。对于生产环境,建议使用服务器端的 Via 插件套件。 - -::: diff --git a/general/advance/viaproxy/installation.md b/general/advance/viaproxy/installation.md deleted file mode 100644 index 03e51f7f4..000000000 --- a/general/advance/viaproxy/installation.md +++ /dev/null @@ -1,98 +0,0 @@ ---- -title: 安装和基础配置 -sidebar_position: 2 ---- - -# 安装和基础配置 - -本文档将详细介绍 ViaProxy 的下载、安装和基础配置方法。 - -## 下载 ViaProxy - -### 稳定版本 - -从 [GitHub Releases](https://github.com/ViaVersion/ViaProxy/releases/latest) 下载最新的稳定版本。 - -`java8` 是 Java 8 的兼容版本 - -### 开发版本 - -从 [ViaVersion Jenkins](https://ci.viaversion.com/view/all/job/ViaProxy/) 下载最新的开发版本。 - -### Docker 镜像 - -ViaProxy 也提供 Docker 镜像,适合容器化部署。 - -```bash -# 拉取最新镜像 -docker pull ghcr.io/viaversion/viaproxy:latest - -# 运行容器 -docker run -it -v /path/to/data:/app/run -p 25568:25568 ghcr.io/viaversion/viaproxy:latest -``` - -## 运行 - -```bash -# 运行 ViaProxy(GUI 模式) -java -jar ViaProxy-3.4.4.jar - -# 或者运行 CLI 模式查看帮助 -java -jar ViaProxy-3.4.4.jar cli --help -``` - -## 运行模式 - -### GUI 模式(推荐新手) - -GUI 模式提供图形界面,操作简单直观。 - -```bash -java -jar ViaProxy-3.4.4.jar -``` - -![](_assets/img_1.png) - -### CLI 模式 - -CLI 模式适合脚本化部署和服务器环境。 - -```bash -# 查看所有可用参数 -java -jar ViaProxy-3.4.4.jar cli --help - -# 基本启动命令 -java -jar ViaProxy-3.4.4.jar cli \ - --bind-port 25568 \ - --target-ip play.example.com \ - --target-port 25565 \ - --version 1.20.1 -``` - -#### CLI 参数详解 - -##### 基础连接参数 - -- `--bind-address <地址:端口>` - 监听地址和端口 (默认:0.0.0.0:25568) -- `--target-address <地址:端口>` - 目标服务器地址 (默认:127.0.0.1:25565) -- `--target-version <版本>` - 目标服务器版本 (默认:自动检测) - -##### 认证配置 - -- `--auth-method <方式>` - 认证方式 (默认:NONE) -- `--proxy-online-mode ` - 代理正版模式 (默认:false) -- `--minecraft-account-index <索引>` - 使用的 Minecraft 账户索引 - -##### 高级功能 - -- `--chat-signing ` - 聊天签名支持 (默认:true) -- `--simple-voice-chat-support ` - 简单语音聊天支持 (默认:false) -- `--resource-pack-url ` - 自定义资源包地址 - -### 配置文件模式(推荐自动化部署) - -配置文件模式适合复杂配置和自动化部署。 - -```bash -java -jar ViaProxy-3.4.4.jar cli -``` diff --git a/general/advance/viaproxy/plugins/auth.md b/general/advance/viaproxy/plugins/auth.md deleted file mode 100644 index fa7c7b8c9..000000000 --- a/general/advance/viaproxy/plugins/auth.md +++ /dev/null @@ -1,159 +0,0 @@ ---- -title: 认证插件 -sidebar_position: 1 ---- - -# 认证插件详解 - -认证插件主要处理玩家身份验证、权限管理和账户相关功能。这些插件对于连接正版服务器或使用特殊认证系统至关重要。 - -## ViaProxyAuthHook - -:::note - -`GitHub` https://github.com/ViaVersionAddons/ViaProxyAuthHook - -`下载` https://github.com/ViaVersionAddons/ViaProxyAuthHook/releases - -::: - -ViaProxyAuthHook 允许 ViaProxy 客户端加入需要正版验证的服务器,通过重定向认证请求实现无缝连接。 - -### 工作原理 - -该插件通过重定向服务器的认证请求到 ViaProxy 实例来工作: - -1. ViaProxy 检查客户端是否已通过 ViaProxy 认证 -2. 已认证的客户端直接通过验证 -3. 未认证的客户端将使用官方 Mojang 认证服务器 - -### 安装配置 - -#### 1. ViaProxy 端配置 - -1. **下载插件** - - ```bash - # 下载到 ViaProxy 的 plugins 文件夹 - wget -P plugins/ https://github.com/ViaVersionAddons/ViaProxyAuthHook/releases/latest/download/ViaProxyAuthHook.jar - ``` - -2. **启动 ViaProxy 生成配置** - - ```bash - java -jar ViaProxy.jar - ``` - -3. **启用代理在线模式** - - GUI 模式:在界面中启用 "Proxy Online Mode" - - CLI 模式:使用 `--proxy-online-mode` 参数 - - 配置文件:设置 `proxy-online-mode: true` - -4. **复制密钥** - 从 `plugins/ViaProxyAuthHook/config.yml` 中复制 `secret-key` - -#### 2. 服务器端配置 - -1. **下载 Agent** - - ```bash - # 下载 AuthHook Agent 到服务器目录 - wget https://github.com/ViaVersionAddons/ViaProxyAuthHook/releases/latest/download/ViaProxyAuthHook-Agent.jar - ``` - -2. **添加 JVM 参数** - - ```bash - # 在服务器启动命令中添加 - java -javaagent:ViaProxyAuthHook-Agent.jar -jar server.jar - ``` - -3. **配置密钥** - 启动服务器后,编辑生成的配置文件: - - ```yaml - secret-key: "从ViaProxy配置中复制的密钥" - viaproxy-url: "http://localhost:25568" # ViaProxy地址 - ``` - -### 使用方法 - -#### GUI 模式 - -1. 在 ViaProxy 中添加 Minecraft 账户 -2. 启用 "Proxy Online Mode" -3. 设置认证模式为 `AUTH_HOOK` -4. 连接到目标服务器 - -#### CLI 模式 - -```bash -java -jar ViaProxy.jar cli \ - --proxy-online-mode \ - --auth-method AUTH_HOOK \ - --target-ip "mc.hypixel.net" \ - --target-port 25565 -``` - -#### 配置文件模式 - -```yaml -# viaproxy.yml -proxy-online-mode: true -auth-method: "AUTH_HOOK" -target-address: "mc.hypixel.net" -target-port: 25565 -``` - -## ViaProxyOpenAuthMod - -:::note - -`GitHub` https://github.com/ViaVersionAddons/ViaProxyOpenAuthMod - -`下载` https://github.com/ViaVersionAddons/ViaProxyOpenAuthMod/releases - -::: - -ViaProxyOpenAuthMod 实现了 OpenAuthMod 协议,允许客户端通过 OpenAuthMod 模组连接正版服务器。 - -### OpenAuthMod 安装配置 - -1. **下载插件** - - ```bash - # 下载到 ViaProxy 的 plugins 文件夹 - wget -P plugins/ https://github.com/ViaVersionAddons/ViaProxyOpenAuthMod/releases/latest/download/ViaProxyOpenAuthMod.jar - ``` - -2. **客户端安装 OpenAuthMod** - - 从 [Modrinth](https://modrinth.com/mod/openauthmod) 下载并安装 OpenAuthMod 模组 - -3. **启动 ViaProxy** - - 重启 ViaProxy 以加载插件 - - 认证模式将自动添加 `OPENAUTHMOD` 选项 - -### OpenAuthMod 使用方法 - -#### OpenAuthMod GUI 模式 - -1. 在 ViaProxy 界面中选择认证模式为 "OPENAUTHMOD" -2. 连接到目标服务器 - -#### OpenAuthMod CLI 模式 - -```bash -java -jar ViaProxy.jar cli \ - --auth-method OPENAUTHMOD \ - --target-ip "mc.hypixel.net" \ - --target-port 25565 -``` - -#### OpenAuthMod 配置文件模式 - -```yaml -# viaproxy.yml -auth-method: "OPENAUTHMOD" -target-address: "mc.hypixel.net" -target-port: 25565 -``` diff --git a/general/advance/viaproxy/plugins/compatibility.md b/general/advance/viaproxy/plugins/compatibility.md deleted file mode 100644 index 9c88bb469..000000000 --- a/general/advance/viaproxy/plugins/compatibility.md +++ /dev/null @@ -1,308 +0,0 @@ ---- -title: 兼容性插件 -sidebar_position: 4 ---- - -# 兼容性插件详解 - -兼容性插件主要解决 ViaProxy 与特定版本、服务器或网络环境的兼容性问题,确保在各种复杂环境下的稳定运行。 - -## ViaProxyBeta2Release {#beta2release} - -:::note - -`GitHub` https://github.com/ViaVersionAddons/ViaProxyBeta2Release - -`下载` https://github.com/ViaVersionAddons/ViaProxyBeta2Release/actions/workflows/build.yml - -::: - -ViaProxyBeta2Release 实现了 [Beta2Release](https://github.com/DirtPowered/Beta2Release) 代理功能,允许 Beta 1.7.3 客户端连接到现代服务器。 - -:::caution[重要提醒] - -此插件需要 **Java 21 或更高版本** - -::: - -### 安装配置 - -```toml -# plugins/ViaProxyBeta2Release/config.toml - -# 消息设置 -skip-title-messages = false # 是否跳过标题和动作栏消息 - -# 渲染设置 -render-distance = 4 # 渲染距离 (4-15) - -# 认证设置 -online-mode = false # 是否启用正版验证 - -# 版本检查 -strict-version-check = false # 是否严格检查 Beta 1.7.3 版本 - -# 本地化设置 -locale = "en_US" # 客户端翻译语言 (en_US, de_DE 等) - -# 世界生成 -world-seed = "-1849830396072973239" # Beta 1.7.3 世界生成种子 -``` - -## BungeeViaProxy {#bungeeviaproxy} - -:::note - -`GitHub` https://github.com/ViaVersionAddons/BungeeViaProxy - -`下载` https://github.com/ViaVersionAddons/BungeeViaProxy/releases - -::: - -BungeeViaProxy 是一个 BungeeCord 插件,解决 ViaProxy 与 BungeeCord 的兼容性问题,允许使用单个 ViaProxy 实例管理运行不同 Minecraft 版本的多个后端服务器。 - -### 背景说明 - -**为什么需要这个插件?** - -- ViaBungee 在 Minecraft 1.20.2 中停止支持 -- 要继续在最新版本中使用 BungeeCord,需要 ViaProxy -- ViaProxy 与 BungeeCord 结合使用时存在主机名转发和重复服务器错误等问题 - -**解决方案** -BungeeViaProxy 通过确保正确的主机名转发和避免重复服务器错误,实现 ViaProxy 和 BungeeCord 的无缝集成。 - -### 适用场景 - -适合以下情况的服务器管理员: - -- 使用 BungeeCord 管理多个不同版本的后端服务器 -- 需要支持 Minecraft 1.20.2 及更高版本 -- 希望避免在每个后端服务器上维护 ViaVersion 插件的复杂性 -- 通过 ViaProxy 集中处理版本转换以减少运维开销 - -### 网络架构 - -```txt -客户端 -> BungeeCord -> ViaProxy -> 后端服务器 -``` - -:::caution[重要配置要求] - -使用此设置时,ViaProxy 必须放置在 BungeeCord 和后端服务器之间,并且需要以下配置: - -- `proxy-online-mode` 必须设置为 `false` -- `auth-method` 必须设置为 `NONE` -- `wildcard-domain-handling` 必须设置为 `PUBLIC` -- `target-address` 被忽略(可以设置任意值) - -::: - -### 功能特性 - -1. **正确的主机名转发** - - 当 ViaProxy 启用 `wildcard-domain-handling: PUBLIC` 时,确保正确转发包含 `.viaproxy.` 的地址 - - 解决服务器路由问题 - -2. **避免重复服务器错误** - - 防止 BungeeCord 将不同主机名但相同 IP 的服务器视为相同 - - 使用未解析的 `InetSocketAddress` 对象确保唯一识别 - -### BungeeViaProxy 安装配置 - -1. **下载安装** - - ```bash - # 下载最新版本并放入 BungeeCord plugins 目录 - wget -P plugins/ https://github.com/ViaVersionAddons/BungeeViaProxy/releases/latest/download/BungeeViaProxy.jar - ``` - -2. **重启 BungeeCord 服务器** - - 无需额外配置,插件会自动处理 .f2.viaproxy. 地址 - -### 配置示例 - -假设以下服务器设置: - -| 服务器 | IP:端口 | Minecraft 版本 | -| ------------ | --------------- | -------------- | -| BungeeCord | 127.0.0.1:25565 | N/A | -| ViaProxy | 127.0.0.1:25566 | N/A | -| 后端服务器 1 | 127.0.0.1:3001 | 1.20.4 | -| 后端服务器 2 | 127.0.0.1:3002 | 1.16.5 | -| 后端服务器 3 | 127.0.0.1:3003 | 1.21 | - -#### BungeeCord 配置 (config.yml) - - -```yaml -online_mode: true -servers: - server1: - # ViaProxy 地址格式: address.<后端 IP>.port.<后端端口>.version.<版本>.f2.viaproxy..nip.io: - address: address.127.0.0.1.port.3001.version.1.20.4.f2.viaproxy.127.0.0.1.nip.io:25566 - motd: "&1示例服务器 1" - restricted: false - server2: - address: address.127.0.0.1.port.3002.version.1.16.5.f2.viaproxy.127.0.0.1.nip.io:25566 - motd: "&1示例服务器 2" - restricted: false - server3: - # 版本可以省略(ViaProxy 会自动检测) - address: address.127.0.0.1.port.3003.f2.viaproxy.127.0.0.1.nip.io:25566 - motd: "&1示例服务器 3(版本自动检测)" - restricted: false -listeners: - - host: 0.0.0.0:25565 -prevent_proxy_connections: false -ip_forward: true -``` - - -#### ViaProxy 配置 (config.yml) - -```yaml -# ViaProxy 监听地址 -bind-address: 0.0.0.0:25566 - -# 目标服务器地址(使用通配符域名处理时此字段被忽略) -target-address: AnythingIsOK.ThisFieldIsIgnored.example.com - -# 代理在线模式 -proxy-online-mode: false - -# 认证方法 -auth-method: NONE - -# 通配符域名处理 -wildcard-domain-handling: PUBLIC -``` - -#### 后端服务器配置 - -- server.properties - -```properties -server-port=3001 -online-mode=false -``` - -- spigot.yml - -```yaml -settings: - bungeecord: true -``` - -:::tip[重要提示] - -- 后端服务器无需安装 ViaVersion 插件(版本转换由 ViaProxy 处理) -- 不要使用 ViaProxyAuthHook,因为 ViaProxy 位于 BungeeCord 和后端服务器之间 - -::: - -### 工作原理 - -通常情况下,每个后端服务器需要单独的 ViaProxy 实例,这会导致内存消耗增加和更新工作量增大。 - -ViaProxy 的 `wildcard-domain-handling` 功能允许单个实例处理多个后端服务器的连接,使用特定的地址格式: - -```txt -address.<后端 IP>.port.<后端端口>.version.<版本>.f2.viaproxy..nip.io: -``` - -这些地址可以在 BungeeCord 的 `config.yml` 中列出,通过单个 ViaProxy 实例实现无缝连接管理。 - -## ViaBedrock {#viabedrock} - -:::note - -`GitHub` https://github.com/ViaVersion/ViaBedrock - -`下载` https://build.lenni0451.net/job/ViaProxy/ (ViaProxy dev build) - -::: - -ViaBedrock 是 ViaVersion 的扩展插件,为 Minecraft 基岩版服务器提供支持,允许 Java 版客户端连接到基岩版服务器。 - -:::caution[开发状态] - -ViaBedrock 目前处于早期开发阶段,**不适合正式使用**。许多功能尚未实现 - -::: - -### 可选客户端模组 - -- **[ViaBedrockUtility](https://github.com/Oryxel/ViaBedrockUtility)** - 自定义玩家皮肤和实体渲染支持 -- **[BedrockSkinUtility](https://github.com/Camotoy/BedrockSkinUtility)** - 自定义玩家皮肤支持 - -## ViaSnapshot - -:::note - -`GitHub` https://github.com/ViaVersionAddons/ViaSnapshot - -`下载` https://github.com/ViaVersionAddons/ViaSnapshot/actions - -::: - -ViaSnapshot 支持 Minecraft 快照版本的协议转换,目前支持 15w31a 和 15w31b。 - -支持版本: - -- 15w31a -- 15w31b - -## ViaProxyEaglerCraft {#viaproxyeaglercraft} - -:::note - -`GitHub` https://github.com/Oryxel/ViaProxyEaglerCraft - -`下载` https://github.com/Oryxel/ViaProxyEaglerCraft/releases - -::: - -ViaProxyEaglerCraft 为 ViaProxy 添加 EagleCraft 支持,允许 EagleCraft 客户端通过 WebSocket 连接到 Java 版服务器。 - -### ViaProxyEaglerCraft 安装配置 - -#### 配置文件 - -```yaml -# plugins/ViaProxyEaglerCraft/config.yml - -# 使用正版皮肤 -premium-skins: false - -# 同步 Eagler 皮肤 -eagler-skins: true - -# 启用 Eagler 语音聊天 -eagler-voice: true - -# Eaglercraft 服务器模式 -# 0 - 默认 (非 Eaglercraft) -# 1 - 强制非安全连接 (ws) -# 2 - 强制安全连接 (wss) -eagler-server-mode: 0 -``` - -1. **重启 ViaProxy** - -### 使用方法 - -**1.5.2 支持配置** -如果需要支持 EagleCraft 1.5.2: - -```yaml -# ViaProxy 配置 -legacy-passthrough: true -``` - -:::caution[重要提醒] - -**皮肤文件限制** - 皮肤文件不包含在插件中,需要单独配置皮肤系统 - -::: diff --git a/general/advance/viaproxy/plugins/features.md b/general/advance/viaproxy/plugins/features.md deleted file mode 100644 index db476668b..000000000 --- a/general/advance/viaproxy/plugins/features.md +++ /dev/null @@ -1,136 +0,0 @@ ---- -title: 功能扩展插件 -sidebar_position: 3 ---- - -# 功能扩展插件详解 - -功能扩展插件为 ViaProxy 添加额外的功能和工具,包括访问控制、性能分析、多程序管理等实用功能。 - -## ViaProxyWhitelist {#whitelist} - -:::note - -`GitHub` https://github.com/ViaVersionAddons/ViaProxyWhitelist - -`下载` https://github.com/ViaVersionAddons/ViaProxyWhitelist/releases - -::: - -ViaProxyWhitelist 只允许指定的玩家加入 ViaProxy 服务器,提供基础的访问控制功能。 - -### 安装要求 - -- ViaProxy 最低版本:3.3.4 -- 必须启用 `proxy-online-mode` 选项 - -### 安装配置 - -启动服务器后,会在服务器文件夹中创建 `whitelist.yml` 文件: - -```yaml -# whitelist.yml -# 非白名单玩家被踢出时显示的消息 -KickMessage: You are not whitelisted on this server! - -# 允许加入服务器的玩家列表 -Whitelist: - - Player1 - - Player2 -``` - -## ViaProxySpark {#spark} - -:::note - -`GitHub` https://github.com/ViaVersionAddons/ViaProxySpark - -`下载` https://github.com/ViaVersionAddons/ViaProxySpark/releases - -::: - -ViaProxySpark 将 Spark 性能分析器集成到 ViaProxy 中,提供详细的性能分析和监控功能。 - -## ViaProxyMultiLaunch {#multilaunch} - -:::note - -`GitHub` https://github.com/ViaVersionAddons/ViaProxyMultiLaunch - -`下载` https://github.com/ViaVersionAddons/ViaProxyMultiLaunch/releases - -::: - -ViaProxyMultiLaunch 允许 ViaProxy 同时启动和管理多个外部程序,适用于复杂的服务器环境。 - -## ViaLimbo - -:::note - -`GitHub` https://github.com/LOOHP/ViaLimbo - -`Jenkins` https://ci.loohpjames.com/job/ViaLimbo/ - -::: - -ViaLimbo 为 ViaProxy 提供 Limbo 服务器功能,可以在连接失败时显示等待界面。 - -### 功能特性 - -- **Limbo 服务器集成** - 集成 Limbo 服务器功能 -- **等待界面** - 连接失败时显示等待界面 -- **版本兼容** - 支持更多 Minecraft 版本加入 - -### ViaProxyLimbo 安装要求 - -- 需要 Limbo 版本 0.7.12-ALPHA 或更高版本 -- 需要先安装 [Limbo 服务器](https://github.com/LOOHP/Limbo/) - -### ViaProxyLimbo 安装配置 - -1. **安装 Limbo 服务器** - - ```bash - # 下载并安装 Limbo 服务器 - wget https://github.com/LOOHP/Limbo/releases/latest/download/Limbo.jar - ``` - -2. **安装 ViaLimbo 插件** - - ```bash - # 下载 ViaLimbo 插件到 Limbo 服务器的 plugins 目录 - wget -P plugins/ https://ci.loohpjames.com/job/ViaLimbo/lastSuccessfulBuild/artifact/target/ViaLimbo.jar - ``` - -3. **重启 Limbo 服务器** - - ```bash - java -jar Limbo.jar - ``` - -## ayunViaProxyLegacyIcon - -:::note - -`GitHub` https://github.com/ayunami2000/ayunViaProxyLegacyIcon - -::: - -ayunViaProxyLegacyIcon 为旧版服务器添加服务器图标支持,当后端服务器版本过旧无法提供图标时,为新版客户端显示服务器图标。 - -### 支持版本 - -#### 服务器版本 - -- Classic (c0.0.15 - c0.30) -- Alpha (a1.0.15 - a1.2.6) -- Beta (b1.0 - b1.8.1) -- Release (1.0.0 - 1.6.4) - 部分版本不支持图标 - -#### 客户端版本 - -- Release (1.7.2+) - 支持服务器图标的所有版本 - -### ViaProxyServerIcon 安装配置 - -在根目录中放置 `server-icon.png` 文件: diff --git a/general/advance/viaproxy/plugins/index.md b/general/advance/viaproxy/plugins/index.md deleted file mode 100644 index 76e8389ac..000000000 --- a/general/advance/viaproxy/plugins/index.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: 插件系统概述 -sidebar_position: 4 ---- - -# ViaProxy 插件系统 - -ViaProxy 提供了强大的插件系统,允许开发者和用户扩展其功能。本文档将详细介绍插件系统的使用和管理。 diff --git a/general/advance/viaproxy/plugins/network.md b/general/advance/viaproxy/plugins/network.md deleted file mode 100644 index 3abb74628..000000000 --- a/general/advance/viaproxy/plugins/network.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -title: 网络插件 -sidebar_position: 2 ---- - -# 网络插件详解 - -网络插件主要负责优化网络连接、处理协议兼容性和提供连接管理功能。这些插件对于改善连接质量和解决网络问题至关重要。 - -## ViaProxyRakNetProviders {#raknetproviders} - -:::note - -`GitHub` https://github.com/ViaVersionAddons/ViaProxyRakNetProviders - -`下载` https://github.com/ViaVersionAddons/ViaProxyRakNetProviders/actions - -::: - -[ViaProxy](https://github.com/RaphiMC/ViaProxy) 插件,为 ViaBedrock 提供更多可选的 RakNet 实现。 -允许用户根据连接的服务器选择更兼容或性能更好的 RakNet 实现。 - -主要用途是调试和测试不同的 RakNet 实现,因为 ViaProxy 中的默认实现 (https://github.com/CloudburstMC/Network) 在某些服务器上存在许多问题。 - -包装器原生代码可在此处找到:https://github.com/Lenni0451/RakNetWrapper - -### 安装和使用 - -1. 从 [GitHub Actions](https://github.com/ViaVersionAddons/ViaProxyRakNetProviders/actions/workflows/build.yml) 下载最新版本 -2. 将 jar 文件放入 ViaProxy 的 plugins 文件夹 -3. 运行 ViaProxy。现在您应该能够在高级选项卡中选择 RakNet 后端 diff --git a/general/advance/website/_assets/img-.png b/general/advance/website/_assets/img-.png deleted file mode 100644 index e18fc86df6272b87d8a5779f5a6d57b114e39d89..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31780 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

    H0IG^lz&>^oGWu${-sRja`DAn`Cs+>YH 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 v=8d2Bf-sFtRz8q8F%Xe7&9jTKErCawBH06ilD literal 0 HcmV?d00001 diff --git "a/general/advance/_assets/\347\224\263\350\257\267\345\237\237\345\220\215/3.png" "b/general/advance/_assets/\347\224\263\350\257\267\345\237\237\345\220\215/3.png" new file mode 100644 index 0000000000000000000000000000000000000000..f0e779f3d6dd5e51a20968eb0c4da2b102cc18cc GIT binary patch literal 37963 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 literal 0 HcmV?d00001 diff --git "a/general/process/_assets/\344\277\235\346\214\201\344\270\200\350\207\264\347\232\204\346\257\224\344\276\213vs\346\213\211\344\274\270\345\217\230\345\275\242\347\232\204\346\257\224\344\276\213.jpg" "b/general/process/_assets/\344\277\235\346\214\201\344\270\200\350\207\264\347\232\204\346\257\224\344\276\213vs\346\213\211\344\274\270\345\217\230\345\275\242\347\232\204\346\257\224\344\276\213.jpg" new file mode 100644 index 0000000000000000000000000000000000000000..c846352b67d9fbc551d24a2774bf0dcd7f07e223 GIT binary patch literal 14409 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 Ciqf3` literal 0 HcmV?d00001 diff --git "a/general/process/_assets/\345\235\207\350\241\241\347\232\204\347\273\206\350\212\202\345\210\206\345\270\203vs\345\244\261\350\241\241\347\232\204\347\273\206\350\212\202\345\210\206\345\270\203.jpg" "b/general/process/_assets/\345\235\207\350\241\241\347\232\204\347\273\206\350\212\202\345\210\206\345\270\203vs\345\244\261\350\241\241\347\232\204\347\273\206\350\212\202\345\210\206\345\270\203.jpg" new file mode 100644 index 0000000000000000000000000000000000000000..349fe8845cd8a28d7c16be294b4c49fd9a6470af GIT binary patch literal 24942 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 z%0A#gh&=taNfOq-x8oA%s!mCJq&GIVe(a+<$qkzp$WhSi0NNJt0NP=}p?^&V-6 z2dQfbkdwr3+;SX%eCGGP^ML6>yM@Uo)_E3X8UMXv{@Xf!_2dK|#bfvodfvxXi7o$q zi}BZ?2gqRfhqvJfEPf;s9b->+=D_5>Euk1>m$YV~O+s@iu2dhXdq{$C#scT~`P}9% zqP#`%$nhko;uay~8ufelf!zRPm9bP1+Qu}aHbe&uG49oeT!%ymu8EMpUSpxt0yHiBc z6PugS^EH<&JL|l3-!v%8hpwLk7N*9}iK){T*&v@4i`0FpHODYaaWSUSZ5R1?E%V}; z&$%|XxQ*(td<&I`&#v(jJOA+#s`tjujn)F!(XUl@KbLgB0%BDpvig&@h{@PZ)c8B! zfUHVu`uYW-ii9hx7vXkIpV~nYi9u52w2stpnkQG#9w zT-gGYBiNS(WekKh9w|3GP1~LRSkYYYa4KaA1{3W*jZGJpO1j#-S%Pg7d`a#nXJY$I zG?dHEUoY$rO>FPZjc7mZ5y)1Lu4F(i6ob;m^uF3kKp&vPm(V7m*S?QtuG& z03UMEj42g{;G{|CXR#fFL(+02go6)gWGS;Gsy zr-&_+@pQeqpO_MPDlcqth_R-O3E-gdhbvr{awTSY6Qd{jDzhYD_un{0pz^ptQB6=w zc(u|mjWH5$9>zvE^GhUI&Bg3^E!m+#)_!7=V&(4gq=M4djE@a25#7{&Ti9S=aTSsp zWDET1PT=3R77izk!_ioup2n-3GlFkwkhQfRL{?%`T9i)hnivE;B0XJNK+*7MYG?zC0G zhw?CggwITn^+PRQkz8W~=a`!5Y+SCovJ*Rprve?8V&ysmaAkLFYwGF1`E4{4Rb6bQ zxez-!+X}HJd`YVeG-ynb?(wLsurzLt#LW`&)n1RZ@<=ellMlxQU)L8L0KGcXdZf!f zQ8Fyu&TB=k=uZnDLfJsleG&C(E$*7T;N{i+p`GQaS@U;dd$A9x5?q0Ml^mB#dmS%P zNM39P=3_!k@7pi86wh)!5wFwVG!p6u6%<7r`x`>0<#N~HE*@xf6CP*=8h+w_(S(xh ztspKg+w}H(s?;Z!Y3CA_9|})L4U2D5F3}3{2_etxx&JW)%n>lr!&@iMcIl7#S|zaj z^YBju+gT(h^irhQKQlOP?67_MO*$eBM=(854;_&La4$cpx8sGJ_+;LI)^w%23Sh+q z^eL+Azjo`kz~JXCA50U#bJfEo zm3J&&p{<@j3Fxh@iji3#<(#I=$pEGBSTx1V6AO7KYimk%o}+9u%!HmW=L+WOD&eU( z%NF~`mL%>0Cr`w7SMjRJoFyKHC`qD;ql*UwJb1szh!P@nPpK7KJV0}<`5yw!I(ApE z-3L8Xo3g?UM=t~S^{`R-n%X;-yJZR>k(`oUfJ$n`-17MK+9aHbo|bX9-f zhUY;Ix}!<&197K=rGHpnxuwyHsmpOztOI>XuMq7fuvNjiZ>|^*coS4_ZKxmWu8$-? z`g`5`kD3Se?GFT3m9GGmOZ}iq zfaj=PFQzgka4EC|z zYl@G$^~kwE`3qK;>)+GD5cYmj5s*kPmpNbC;kqRU`gN7eo0`Yr;_B!RX9v}@WDx!e zXNEOk`Uz#o%2`9IKqNkb*D6|DQ13VS7re)0vH4b{G zh!Hpa>ubYNlI+59CQ!pkwxZr@{VszXk?E%hhoCB(Ayh9-CApe~WSfP7k{!ki=E;45 ztyzMg(;lcsCb4!Q}8Hyo6gj&5^fWH@L-_$TE7a0QJ|S z8irIbeO*xe3Bx7M{aC(!FhC4qP8_T|ELFziYQ<$sM|Rw{0WO=J!*azA0%5E@%y9<; zGZ|9%f>=1Ld1pSYs!7)>2ODBQN#@SXkrD_$N7FsXDt?@g7BQp7C4c&ws;mvvxF&n- zb%-H*UR%Adn5jJg0H!RCU}Y~6P*!peQyf?8_`q5TODnC37ZdMLRTJEa6;jmrT}*?8 z7%&P@NFEekoGUYcZ$Dfk1oyKoe)?0q(mv7}_dYRO>3hj7%Rox`3*|P!w69M7!Gz^9 zYB11cKZ{U}beRoXK7luWb7>tv2VE+4xQT+X+xXTtSdzuC()M@o`fv<05DaJ#jNQA7 z&JA(&QS1uM0culxP@|nvr>3EYWa?KURH*>;FBUd`|8@_iXab+)HvziERGv0z<9y9I zoCg6$ah_Pf4MVe>_7?L#4OQxVE$rr!x@nm3>oyVAIQLVBP#mlU-o zxnT$~leA+G^{c?Ov$%a*>pbpa7%C%|!N%W}Ia6>M$A z_BHzn&4Jm`MTXe5Q(nBMq~r#MgN=A!eTUoIDh-Tfi2!D>?rmR*E;$I;6B;a=nGYw4 z>6w?Ayu^NBqGCs;bizD~Y-b>sIn47Xe(@@r1l#ckC0bvGB_*4M;}Ra{5JId1kiE3X z?W>$~PcoHo+dPI2!0q-a{ZBc9uFX~TYG0B_-GS(1XLaW>V#r0AOGMuk2&7N2>csh; zN;=$Qs@EA0X$qpVZKZ3D@*1BboipuK=to|%*^4nxq)o|N?q73^BMSrqL)8)BD?_Yy~mI%^r1QW4qgx`yUZF+gg~CcFLJ0fz~`Hl z4_i%|+8j+zYPS47k_d=SZ3{XKMQ{EzAizVYNw;gZ`~kfwo1G49u^4^MBw07y*FPl4 zdfpIP{s8N-Uo~w>8|zH_&!P z*sxKgSm>@gN`Zi0NQT!4Aeqz~x;ad zHp`39lcn-oUoh&jh}-v+N}F2;eXM_1P3G`SDk;u!jzU&d&PYz1LmA8QOhYgku`ZNo z?A%eAvmOHCN+63Z{6eyf^4+L^qH9l`4Mi`9eao$O)gG!@Me1T^yRJKnsJaJ)Zt{}J zJZ^n^EQnEnCYlKHix=3pWAzoxlzz;wDOpEX=tGhx$=|@;y=GTP#I5pzT5uDMEjyPY zZ;q^X**E->>@7?H%;*V8-T+b?cdf-C0>xK`rT;})r^3x9@AxIfeGdCwzvRK2J5vWy-z^8d+X#Sx>0dBBTPZt zEk)%HS0;#!2d)lH?m@SBtjq68h1}>_ls-m3sLrU<^NtD2`XM z@Y<3p7TJ89x*SWlYc@d*#~4x5#=6 z7~tttjcDE@6_YSW{P;QScrHa;*mWhg-f`kll~z|cF%9cgJ~Ouw7prkAu3W}_Wz9gO z3R#?8(pmBl0x-$}Vq8YWmZ8_Ml%;W|rLAFQcbU1P93Q)5JxSICMf~tOHXH15_PF&& zkyXfkFGtw#E|I5# zwFYuf!&f9}ZXzgxyi-AZgCHPDS#stZN$}U$fJysXe;>@U-QGe+^Iw`f11D- zAlzMo1*`@`@Jzt!L~4j|2W^Zrh6^tzk9#JB9a@r?QHl#}+;Fx?(boD6)J<&>L2vXZ~m4;SnoO*PvHPv)oPXGM$0`YBtpONg_f6^*X3 zmcZJv95-LsGjzp}R=aUSc@`}XhBC&&dnwV>?ZVG+wO(!GDTYd4yyp129(MQWwXQ*! z9`LkUr{K1|up%t#ld}u7a32zn%@KziMA>GD`mZT*=Wh`2*u;dK zcvl?%9gi}@r4cprBf|?8)B^mQQs9KU6@L7vxn;U`FgWOeem>!fSQX%>mGERQFkm}S zwdDE0?2v!TrPPYycglF;uuLj`HE*q@Nh6q>qbc|X1^5?F-KvMkBf*ng9M?!ep}(wBl^xox4V~<&qA$~;x-N&}fLz!v`b^=55e&Ahc#zn% zCO46#v>L9(Iq#YEa9HR5=upFv6ly5>;(D%oH63w~>8rXPeLWQ^MYUBlNJcQc3@68h zd;b#Q?TCTY4WU4eX2nN)HOP8Q^)va(5-`stVkzMw%{gjtvL@q9+3di5hL0Vb3!n*j zGRicy>C_@lL6YVgXLORVX7fbfb~xJh=$RusiZcyn!>#35Dg1+QUkj?t=h_kEBG~Ai z!MyX&_DzIT%~e|u>~kmS*FI+UNf4Tse^WH~iXD2PmN0&&8>FYsCwjH3pu+xFs`Rtx zEG>sn3d<|)(a5}bu|F#hmsKX6E)B>aa2(RBptPa!i(Ac%Zg4cvd&ch@3xzYh5S4ip z(Q$ZK(=R_7KviZ{e)j4!NU?TZ3|y$Re&U^Q4al#kZ%eb4p9Lr53bM>$DsVdgu)0o2 zVeLAA7Bilc^rx3~^aLZu(#*Xa{*2>QUVq)7?qyS5B2*1CX*(1Mr7Jq?(~@)$E_8uX zjjSO^AI%@!h)3j|8S-=+#gmgS2Nb(NaFAOpS7RICma_%e%(EZ53#i_xUE&FRM zl>KmQyQg=muO(-nCzR-<@s$8HI~==t#bgHMPAFUtg*%a;k>4AHWvAr~e&}>MF<=L@ zLB;T z)6(Ai=Jq00?G#?C!qo<)W3ThSr6{Hrko5S7CS2$we4RwIPg}@}_WjCftHNzd(s<3G z0wcDvjo2|5dtK!SW>;PPdyB0eIYi4G249YJSc0oA6_*0yn>*#{VpLi8zrtN8v8`-? zE#Dh$^PdypvTmGw{aH~|bapT-p5!-}vrb1wXpA&#?t}T^b5!v@Pbcou>~-~KfEkxQ zl1-V7+iNClce2}u?_ir0ST~d?G0uZ5cNc52! zp2maKW}E7DE#2uA7*IM#?X&q3+nmi)iwxtA6L!<~JB3&Wsp;PA*I6j+-nCC4{E#|O z?*{9eU>Eg|9xEH)gDN!x2z1=ei|7!Vsi)6r6Q%QmotB)wsj9uD)AYiV=YNiHjwA*y zFwoB>XBOsi2Ho_vU@F;zg<5o9_}9rF5O$r^Rb|+Y=OQ2e!!)+}@enAYNybIlSyiOx zT&8`6S3PT5COZ9DuqA?Pc9`^hj?N4raDXU;_l4RhvR_KN!H9?^HmjM|xVaS_`E)DE z85d-3t|c@CZ3h84`W}XxRs`W!aMVrD5*sctl_XWyWQO8!RHR@j&hVe~-9uh2oFsw4 zrREYT$0N<-;`%=K{HDBu-^YVH@%Ej;=EWm!oE$EOp(-RwwtDcN7!oy*)P0BkA`Eb= zjIb|n=x~LNL;5wmFWn=JA^Zsy$9NM%t9#R1A}E3A3k)uKhaSVk#{#?MEPYr{<{!8p zF{1@$cl0TnXbA!GIwOUmiJ#vo4k&TSWebYfY)rIXV)IxgkEVAxxCer9&{Vyl(IdVe zH*Wo6R$i2DQF^6jy{pp6)Zq+f-2f-(Di~ZW0;~i1phf5|+7urU{q2b!wSw_xuXaP+ z=9+>KXvcR#xNTJlkDLX{!*5Lo$F!Sj~pE)R3jkLD0z zjOevEWFDkOqV)Z3r3=;i2sqFBZtwWO2WN~dmtM?pmNotg@CW1O7SFp1OIeiNRwfU| zMIA7ApPGELf)|;0H{Ky=4Cb3B6evW{_`-Ce)zu<=$eVzn(3ks4m@nWGEHvpI7;w4A zJbIav+N1CyiGQGr#HVhH393yEf*Sb4OODI+Yn9f|K#fPt&_;>;EQ^^(;)e74`dcM7 zZC1t;b+VH0tC3QnT^V`&C;m6!Dk*Agx|yQCdBD~3Lc?A-@Yoy@-SRgjK*lI?JJ>ow z0j_?K+x3LAr9F{$sbGqhjn<%8Ug5!`)DHT>l(0r@ly&lY2t@;6cEkFJKP;E&BREmg zFvKE~mP44Z=RB#1fmg~)j{o$u;o&9Qq`;tfrOpCJt3M}=V{rkv z6Z&Qw7cov{UqC3pfQnp$@)-(mVFJp(r?0PseCg?{&W#b=IGEs1kDjEwZLC;iFkedl5vob$kGALN{L1xrCvS612(Af4 zDV#7r!SYv|HwPX+u>g?D=X$;PD3Wrc|0%}}&?@l%3lLrGXu~F0XwnQ&*NOpsm^93Z zKd2#cRWo~cGAR`}&t0`X)-g0C`QR`7v=x2p?wgLlBaYjh4a^GeQClU4Y}xdZ6U-`=GIgw<#NI=Q>$nFml_cW zuVSm-=wYOyC^4Wcm7Qk>r2LC40b0r!!bkkhHxyY~DcI&9pFZ=5a#EbjiL=2)m5W=( z(>jvByZuLkuP(g$=VulCHQPGeCmGUwWfoC8|8yNWcUR0bm>y=sY?K_cAX_&`QRJ}$ zQQr5HfONWnkwKf)Yzocs`LZ%09?33xDIFG zTDdL0M5(SbM1(Qu{=w}#a{HVBYJi30*o8Z9D9bt~23&$Sy`>u7DzEl~=(esHGw7Q( ziJQ0i@_KR!f;s2LRMixyWU;y*Jm28-VfQIQ?HJXD-GMmH1zUAm8WNe)af&FHx7LTR z`=PWJa}BQdGOI!~{P!)yH>xC?TJCc`|Ep%I39`YKsSD>*0n{R+TI*+-DYmCPLRuX_ zBG>eAIbe6)H7RuWM-%wh90tz4t8%|(L)rLC7)g~A!<&7rHnKsBU~vC|ta`dD3wQeV zxwetz>w|KqivAmVwE3M;BkDznkgObtQZrjIB!Sk?(f131ZAB>@v*&8>wi{t=k3VKu z6C9xSqT+?OVGn3y_fyVJE>{_At{@xJ>AP#31Nvz-hk(G2_FU>$L*`@6NiOa!Rl2gXx_7HJiKw5THJC zKwLAooqd?@i`m~oRgOH5w~ZPF)|q=$8=&!!imu07sa=ZK^@e$!TRUHR&V7B8_2LW+yxF^4W zI{4r%(H2J$iof}gRcElt_U{t&JlDT&$lH;HYK;@@Wh@-o7iW(bACOrJ7x}c=KfIb9=uFlDCcN;paKA@zH{8SX z8_y%MFD_C!@!pZB1dR|15m(fl!L=*a!M>H1u?F} zp`*hBP)q{ZFT#@=LO`-2WV$NldX{-yC1c-M?-47!gluPw>EY@pd#`sBulJ)*DW157 z4V3J{_$3r_Uj(d6>5*tiA^Ws8=T=G9@|)aji%fpPOWV1GKgAvJ8E$$&4%J+8TxDjP z)*Fx{KOcn|h&GGMbGy5RbU9h}_!nc2y++?Ck+b90zMn{!Wosg~1sfqPQu2B0T9QoB zio50J8b*)q+0ZYIMw~`@mqj3M4##@Yw{@$mgQ}T<7uV&F!(|BKZiSjUiD8U;OOQ=b zztG)|cJd!pCm7LQ!TBYJ9@Mbke^$GK7UmtrFH*+WrV{GFBX$qm+>)TgZuLqQcZ7rH zoS4r}b9)7B9ajea`*Xo+!LCcoW3j?cTvfJQgENf>iAS1BVbE(14FqOhz7GmRGkjw? zoci-wWbE^?nqDr2Ol-1O-Jn65Be&NH%d z*Cgfa-HAW)U~>@zFc5uQhT?1hhu$XR$9}MQ%TtJi?Cvl`u1Ho)Yj8k1(1#)RXBz@wR-4~Z z-!w#6LoKUAD{4_rD7N2L3OR~9CDtv|OEa635uxh$x1NoOw@&p%Yh%<;b2aKkCc%Px zJ0UGtGQWkvd#P#|no+%E7TDGGpn#i5EF8*OT-nbR)V*p6Y|#-u%!6)2rwH^OG@Bc( zg-F`H5Sx&XsgvDkI3^&G{?@Ho5q>{z0N=;W59e_jUuLiz8?m(OCGa%*$&gbRCIU8v zsFF->q=hG_GU6#%S#|MuO?-tvV%B;Y>~L2Kj0H~bR=-cIl`gBr9!hH`*%o}WvQTUwA|*%E_PweU8@4G-k5psuC6JUH#NCHUNNxkJ z$p6hL@%|k36j?|`Ze>)Qk`nO$e3x+&jjJaipqdH}(67*0*O--rXt=trOwH{9sd*`Z zw0x{khBMc*Wz;3q#=2y*cc9TPL=B1WhwJp$KdVdB!5mo_1F6vlwZ7b0j0YOOlU9(x zhq=||zE4F+6M`I7Kgw{Ef>iePr3`tDO9>AOF zWKVoCZ4XvDYfKVlrP_~5n}^1r=ElbS`Ew(5flOUaoC4^gVkZxnRi!{)(E6hnabx@6 zR99vbF57lVW2HLaY6HgMg}?1P)kWn6=AC0w5JC)Ais(ydUbIkS{@FM8ES(bX8Wn#B z5Kot<9r@>TD$kSeDH4O7BBY@wYZX0ER+eY10Ce$M$Rt^i39JG2E1FN2-i};h)uu{yq zRoAu1RQ4q)-*Oy(n=y4cDUrAZueI6EBAkm5Hk|1h7Oc_9$}P>^2)O4|{3TH^e|T^J zOJuYEPEu)=@a5EW1B4vzqGZeyXbdB$rBzOmk;btRuaulnB9OHQki*Dy_$>qKLKWB# zB=VGDOh!%KYuvlCLz3CU5Bv+Z_{>AaQg!KLeTM1x^X1`kYPl*UqM{vfLt1c5_oO=o zuQ;29Khk3q#Q$%Da|j)*N>R4${h7&$r^p6rFUNq8OkK)Q&f(h+;}om^|Nmq_1_Nnl z26itj0ap%m?o$uIL9h0ODeh?Cv`5zo=V;0v2UNC@v_wlgN=J#!Z>p| zDPDKUAmWfOxm8MaDTaM#)0P~QNzwn*0508G( z!bJAvV1s^u18(Z*eIuBvM5a*S_mk7yyGY~!b|R}vAD9d&MSA)`N)HWQof#8Xb$du| zXAQW!rLdR=f3AAi+h!kvwdMCak8eH(tzyqN&Hqzjds3mKA$v68ODsY{9x z8g_WSaYq}4ZP#?1GxDpk(y!%c_<;5|QhQy+ugi($MI}I+u@YH=L%Jq6$Z~_EN-4Wq zenML5Tcm}No2_7YsWrXk_;(7r@-Jg^#AI+Fs6{EJ;0aeNt@ulkKQ$|cG#W_VL+j69 zI&c8YN6njrmkBF|Ozp7ZA>eGt7)VKHn_9dhHqBstCw;FR3=Q-SxDRW!AptV z$(X&M>SS3uFV3c4hbu`DP25`hU#$8`G?GIwu3cGlpjzH-%2K!a3CG9&yLPJ?lL;25 zK8DGOI!>+_2BPf>bci#SUk)Y^v)g_4jssd|1E?7g2Ol`pqiJQwUFRRNUH&A8=C;^fPi3Hme< zSNj1*7FQ`iw&D%;-&SeYh0gO5ceJ8){a#9Bu~@|i{8$r}NKvn8R)+G$e7Hw+4U>>I7EQn^^?MRTG<$A0_gy4B7;Q5~- zK!j65=MPP(8y)BE-&bj4V@1KY%-ja#%BjehQm$gOxZg!*_FxbSx3wWuaNPJ!*<9MW&p19ZS(TSkebRl?vqIIa}$C!eH|U(2id$+9DeL<1Al zbShb+3~D+v%Qh2W6zMbn;4%nM}vr$d_&X$iw zqG^3^Kz8-gtRV&mUzR9)-OXB;!h< z=wZHs+#ZHl@UPBZSich`3zjt4e`vqd(Kxdyg5=HaG^t4k{|yznoU9!4U&vz7fnH$P zE448_=V#HqBm_rkGskwK{EQh@%oVpQ#NOtBodZhv++iSLb1bE0lJcxCd2tP3Mg(!v z<1Mldpu%JQF5h`53slh}XrfXhD(sO5TGLr@8Vd)dU2V{4>~R8`>Ga8?aR|R(6~L#) z(l50{)O0U`Sh^GZs5yomGOt#Avc^ba5^^VQodeFBa^}uKUM@ehGyJW3L=2$iE}p|} zIP57rE&69r8JjveFx9sZ;yEM6is6!m+qocWL^hj8VF`-D8)Q)Tfj9xj1;KQIDjG=r zdfxmd<~iG-EFcNN%|2()!GxqhRrX>&ZL1?cWumXZwS4BBx74vlzZuL|vW!P@Mo3zfJVu=hkd?U%*$+Xl3_S^RZ!uVoE$}HGc9smbWtPJQo}hqj zZHsR;4sZeaFy&yr6S+h5di5g>a%%KySvw_ST__q4yH(%;d(LImwb~!>>S$7a8&tWQ zs@~?r#G=_-L!S|`S{mv?2X7bd7B=Be+$8>LY>7J?@u|;qh>iWzSem7%7NoETYdN6G z8fu+>k1HMG>TW=4yncMa?Ir`zLz`(dQRR=rQg`g6+T8qN&#p~;o5QRSBor}CXD1?x zn3n(Rm(HJ6#1orBV`&oF{(4C|4rh-+Pjje15Z&YE#*1^Me@eiE<~H6igfgWEk7 zuR%UMA)QSebCUS;_lZ-+sF`m488BMysrAB7of*7F8=dYQE-4CNZUkw_5Tt?f*)6Qa zy%gwo7<5%>75i!fK3@#^!b5s4&aYkYaulbT1Os!+7W&TP&!>->1guN?jwnVGj^2&w zc2d+h{WGKO*l%s!7y2(Ysv9130w;}Or?&7@sf12IxrfeQ?OQH|*Jr?6HrrakdB@4| zN}D#Fqw(Sm{juqIDLErcNujdvqQmY5C=o|z!Syfw7tdau#UtUN9qh%p%GcUJnUK+c z-6$GS*NTALg|Wt&dgfvmikU59mIOr)lSo#_3fE{fBu0qxi(YOvuuxU}S)fWXMqmN3 zQF2Jz%3cr#>4lMFNe8Qx*!mB)6!vV~OA{F0CFM&Z+5f6&P6?^$qwb^ss+14@EOz)L z1gulV9x3H!#g>64s*1l0GW|&*U~C!HBd7Q@T7fG`2|bdu?!1uKYdc)Sf2f!RCqR~g zTD6r9Jp*Ik!hzSrKh|F@oOMfW@~So6=9M-GPyxOOYNYviPQ^fo^C__|`ypl7W3EJs zOkKZ9v_5N|;B!5p;6F`2SC;O&RBo)xKo0HFf={JlIaFrjxfT}j7!h3@e)EeXyj!Lg z!o)IuMj(=1e{`q6AT5eR?Ig**v3Mm%d`E?cav>Q9PI~vB<@34wE)s#1b3IbmND%IJ zS^AufA+xqge7Rj*Z4G7XIgaku7yeqAqb#JPBjE04oJ^XZ!Mx3mWdKp+q|>3RR}g!z zmN?T_n&NE*Sh4Og7+_a-7y3rCDumLs-?yOriMy>QHHs!8rU!tGHs9~j5H2NplbfU= zhp^0SzDXw<*G-5}=*{23@sTeDpRq)CAA_OfVKDhRS)bW}$Yu|%`Ox<4kWaK7XY{@L z-7LJTumL)&I?;G@qwexIVs4!7oI6q61sd`6AOhD7EDuo0Ph7h%UK7n4JG6|^TnpAM zFWbO^&R%D+xkdH_7d7;9&byk%Usc)=@+Q>SNJ5reS>X}K!FTvRXEj>XyXJIPy`q`G zBPEk}Q<*6o_Q&y+Opf*$EJ?}^n_nTfGO}w9<4bs3o*EbS8j3X>Qd30sYSWQN>=H_d z_2`v&!j>Mow57EE{?3Yj;*hmewfHOj%xGNh{BTf;q5eT=S*kDcO0H30BCGKkp47T6 zj=|jY2?@n}LLavma-ZpL%XoM5_(j1PnLXo~?En#dT$$ECb!hl0F)$nR&DlSPH1%$ znvYF#)~)_KIcmq7jT+ET-3MRR#)nBC0b%b&$<{uuG9hXx)%#^FBU7V{49=%Rg7k5* zQ+Fwbh51&|NoT#TsO`zJ%FVBPV>qO{#nmB2$g1o>OSPq-GC`IN!T8lHY$roQ23($$ z(GUwat-CpU)c3;%Ds4x^Ny4qgqfm#ocleS7^zh*?xsR(38-BCObxp-#?;a7@`Z~8A zf}VzPOhgtJ?@HL>l(ZtlAUfdguMiPjv6qpwiCaoxYlr)n7=B8|-eQXNicj6|!y-%R zb%}T|wvBXE3Y(!I=>wv0vsEr_ot}E_DPO$UPrZ7Q|tJU7D@Q7RuQ> zjqa2Y?NOKK%N@>tZ^B4wUy|$tf=%a#4!>$THVw_bMdnM~iB|C^0EfoYzxi{+;RA}= z?-?*JCp0N5Y3FxlSXlRL(?oJTO)-~d8LW!UulNgZN7nV$@YLub- zHk1Tu4XG{Ozq*E!^0F)qn4Xykp_K^y`<>uBrHm#hwd4&yfV7}B3pt`XAmJca#!W1u zq8vnqjw@Mi`ckw{P2uUIP21`D6b1}Bpm9W* zGcfy`oqMVzG@7heLvXhAIruX&$=|m&@tMuI?=xR5Afd=dk@mqkI~oG}!Uf^EhT_}J zMn;fEK+H`t%l7}hGfFq#$oa)+B{*{PBwy!GVSWAgS5wI50y01hIlBcw zR{)E?C2i}WEsXCdU#|djr%$(J%a&{c4?cC&0!vgMf9EY6MeB*+fDIhsWw>OzRkUAz zm=w^PV%m*8KU_R2KZp6=*n&quynl@6e6@K~uvIev-SGmh!?ir3oa|)3Pygzh%!obz)OI_ZOIl2*DBGC;^nue4Vr|Rm z{zYnCNX|lE@9pI8(k>3$ER9e3TaJ$?S>{IW_fj=|?0NL5w0`)@ZrBh*!XNB3n*_o$ga8h}3$Qrhr=9sjyZeAkCQ>49F0$Ok*#L#{ zB$k(IZ^~pun8vonfs%+KEAqc>_;^>1RQ@>MMmB<Sa_;P@P7`|`f8_^KDJ3@HZ_w9+ z87#9jaP#dTHP5XvG)aGI`!L6!oR>_B-Pex)1c7lfF+0WN;DI#) z(Y*o+hypM4M?^tbBeMcjBY;qTO^O7Lzz`*zN^}2}R3AWzgG-DXD@mzpx7nsI*7BG; zP(-TjB)zaADW1C|CgjV=_>Q0gu9q`_Yg~r>t*?ToiXaz}X7J+oB2XJ?1yt^ESzldb zij!`BLH}3rV-IPCttp#LxnE<;@5tTri&F8V%x2A0VKJ&w9*&pC^X@Cg~v8^ zRYsi6T2fUV2NFs(5r%u0aDI7ez@K73Q$y`o!um>ay+Mq#){y!|JK~>C7_Hr5#xtzq z&!Mf2+5On-dB^-@A0o5Xc&6Aw9SS-4lZY(^dtNTC-PRA8R7CB6L_cxHVnd(`@J3C8 zXzj}lD7q;6vqIN_4vIv$6FYWz(@gUd=0TJJ`igPczM}grceIe*8N2RK8&>+>r_&F@ z)A&F?#v;ZhrC&}LSAk7x_g(T)bE{|hfQL2uoXhcoja z^5}OgbB8`H67V75fPN>D|3_ z<+ZC^qC0IaRB~){+%~Pb?i!kHv72aH|7qK4TIjaFnOl~pa7$6^f4w>lR{<8Z(8S z{V@!QT;j9!xIDGnHX|;>d{(6Z?CcXL|nVW^o+A(JFKK zkdjBw=D2FI0SsjSYVZO9d%hcio5wj&J>TgA$Vu*t#S1w3#?l0&J)IaJxY*+vPeS2W zVDKGyUGesUwp&Zv@H!TvaBJDvqlYejDJ6(yj2B>(~hR+mJ8FJ*HoTCr?7 z1twSym{$f{p>e>Yv;0QpZ&R-Bogdj)zj6xNBq@dR{hJr9jrvJbhr6umUM=_(s*yA% zo^!7>=FmHqwZtM`LY~$4GvC$x-tsk>S99`~y}9YT6f6>2l*a;y?IFU96CFt7f;2%h zck7#hp?K*cB;y0@+N@C;lj^J6T6srh%_#;=tH1t)Fp@tpm(?D6UuT#j`o&ixoGrcV zE&J{X$ZI1!X9mxZ?o4AJZ?s-kn4JtS+ana zm6U{HVNkGM%d?B4ebWs>4wqgp}DcDxxyrV%54AX`H3i?3ADEK^6(03h)?h!<#L{_xn`xFcsLX9 zId&k9qhs?KZD>#3_ad)}ue7{vWs_J>921cbpEtF;$rLxxzKdk3Xs?sAb}6D3lGHV% zg=g<7`<2B*nS9v0((;=^gWV$8xsiJ?>DeJ$(Ql;(CuIFtcuaZpCZ&3jNPuvMv$i_I zy&ZeDa>#uqRZP^%Hdlh@VQUzQ_&C8Nw3Z)oa+%$g;lj48vDq397)^zO6$j??HA_>{ zs)Be(Vr)W>uYZnvCi5T`9GPCYvPCzQqI}@8oe`6j55GSOwb_Y?9QmR{s&ha;WJe8B zPkJfn%J~hNHtC4}BV#j?AWc>a_hl59pjU&nP3dtVyiIyyssCyIJgEZ zahKp-Cl#(ZLV&`)MXSC$qjRjkMWt$3R+wO95dwd{ISWE!!|$=m3GNZ8uqHi!tEm9# zMspNE-p?JNK@G0%xEwVWV_-dzY&1tV`~~!)R0nbi175j+90a07x{#xfb+sk6GlHPS zl(6=T7J=MkVF7*JO^8`QUrh`Qp;lf(4%9MQTz4RMr!w`I^LDk2_uJcDm7)vW&a_G) zlqa)D0`Ke3k1kigM_rqCohmGiAT ztBa2iHy$+bP`jk?UGA#eZ&|=kqxQ7VK#Xox=A!4SS90Gr(6q_C{S3aQEYukC>pYiv zwBb4!`liS3wLE)9h$Qq^k(F!K0MRABbv;lL>Rg_Aj>`3a*F{?1Px;+DmA*~>FItue zTEOi`ZbvCC+dHe0fDhPhPc!DOxHuUEa77r9Bjqq5f~7!GP@mfZT!EA~L%koFs&$s# zP{yY8({B3*IdH~%ID3!RzkVCVg)4}rI1hBqC59ME!XGk~>nj`LIps7}g0yuQ9BCB! z-xXBbZrfTdITeHsVV)1OJB$RaxzwwOl-4}lb?k?Rp8Ie$fW^r9j{D6WaGjbUFtqmI zu-9V>e;AiiQNM&a*j%oW;|1siva;?K1^0r8&y4ylvYMxbPpLJeMp?v3SR_c)jNJtR zQodvCwtiP_d&tIBG(P)KezE^n`-K``g@Fw6VtRbAUn&PtfAge^P)SF#jmPpvLyXB{ zF#PlcN&JPT!nNRLsi$*v5iPpDeDRx#R3V18)W6=h6DvNMvGbRP`_=_duB_Q6<2<~EBbd+?ykZ1)jKO0@(lBmkf(eB*4fgnAEtdlZ~sOgfzi@K66rJ4U*KM6 zWNcd8QN^P^ges%gQKnLeRIoAHlDQkx|5penZ+L;wijZYf9M;Mm0ozVVyFS6x?Jd;5 zLD0p=ECxZl1}QHo|2p+S>P&%3&IaLA@H_K{!D*g;GWc{T+%kkmBBS!vM7SXNZ!9e? z{PVOql-RPRQZ5l$Ce&J5VktAILHLeil{Q4pW7*Zq=?0#uFbGO=RlSh$W~N64(k62= z*WVd=Fn+=`d{v6J`om(h>AIqB8WNp3< z?`JT>pv0&5$*J^tp}VF0wu_q}um=<4{i&X&q%DN>y}P7wqW|1xVIkwCCE1ER1s={x zP@-2qkrq^`%6!g)A%-7)u3OXvfa=+bV>C!|WteQ?k-RQG2%cnvvYG;!hL|Vg!5;FD zz}C&T91AHHQsT1MvO4CC@;o~{cvJ6V!n_J(>{b3bjz=#;Vdw7r6+jK3@OvG&E%zWo zg40{*(w>B5CAQuJFqJTAmnFkfitPQo9#D_Z%u!&^)T*A*%=}$f;$ixK& z+Pah3nZT_Pbtk+7^wy6}q|PhF82%-2N*W+2!I~1aoKKivb5SIXsuJQ+DxAStJ3SPE z{;bG(cOw8Ii~HiZ73=s(yS}`->4CY5Bwfq;%IPqbat|PipcIGPHzwMDBN|6jT13>& z{ld~~ZQBD&Ev`4V#4I^m`*JbUDen40$Moy%i%!QvGI!{QKIrHIejcfD#h2GJs<;i^ z*d?AXF}w?bpaWqiBsponRZV7=;4 zq-$?MNq(VOTDtFx;}-D>%1my7kz@aM+aIs#6Vy59T5vGYC%vrCt7o4=Xa$}#UiSB*H>qQamm|D>1#d0eOHtdt$iw7f-emu6y5|mozz;NPVbnL zCVCvAJSL4&txZ(`W%Vl@>l&vb-aWVv2y=)P>e*GM)xHHi2OT+b>%pAk>si#MJS1%Ybu z1D}llYxjmDS%n{{xa8F5LlTts9myoxRYL#qFa9(8hK2bC`4NH2IK3_o{=16Zf&7WU z^O_=$^dI%+`c)&~ArD)c7Vt37E%GkIs>&m|n=jCB13g_VeA;DP`{GUo_e`pZ$#AZ5 z8%~DX#KS%PVXfUYKb4B$mEmxZ2&ePB|1%Gq%1~Dh@-jwsrHZqqYEtpO&WZYOn@Ow>}~P(7~kW_NS?YU z&-uOrD`mACv3t&u55OsR%#v)@)WU`H1UZa1#0?vP3kl%#E7$R>mmN$P001Pl zi0hfH1__?!3{m=XL~caQ$S-#*g)*RL(Rm7GFq%}93@dB*96mm>sPG)^?NR~-{O`Na z*Rh;VyXt~F;Z!nb>wJMpYQ4V-isEh;(7QUFov$xLw7UM>Djbu=t8I9)R`0(phV>jr zvcp%ie#PtjHk^!rXC;#0~z3o#@C@37@gc z%!a#Ps&ae%!3y3I;PlVrb*Ml z@|AT+4u_D@WL=^M8=}lfo1ybp_SvwTWIxD(NtDzeVxwqf8r6=IM0TK|o4^~PPporD z$(4lrwa?-q(#BB7zYjH0k4Z{Oc3{K4g82&iU@dNHhOblv)C|<{5h#}<#-vd=-%ux> z>cWQ2CrdNV$~MfB>5VUwO@XpCwx1Fj`o`|S)jcW6Q6R0W z50FY19(NWi?T>A$eJgb?yu(0htPTx9atd{=x>>3uGvZmKCpc)S)mor3z_$tEqPP1q zAyB;h+$3AA^Kd#)`H1EB%u=eoi;77=37g$YbGIimqFgsTB;nVCxW<8+%1RH}k;|p1 zyT#Q@hVADAF9Rxw(;AD!ccZkath4R~54L2Cr&}4{T-MDB43m{(FWcB}@K2+sOQ!mj zqprs)fUr>*3NV4xUhlg#?5pL~pu+0?Es$B460|KD+QNrook0!A_&L*+o7?8jA^Vheej8Cm*^z$BJ%`b-r;lN<>U8M(WwF zCxaD=i!8`pnZbCfqtM%HX+{Np#C*3n5F_!Qe_A2)#fJTaBzL89{>91CddlC8MCFnP z(Ql80pYXB^R@E-Cb718cE8{1h#w^N*qVmApgLJ_o!SXfiXjoUpO+V6mSB6#O5E}^z z016%S^5_-kjchSC2*7W344FG4zIi*tJy4CNM=!33qvwu5BM~fSzAs0uVXagCl_TB8 za=ave+?71@*86Ft-hP{L14^-m_w4lJ%#ItoWe*}>k?OGU7%?ZAYWFA9!HA0IAuaj6OE!DDRa;4sQqJX2s2o+?gjxo1_$_d%Ds>-uw!$BPfNH2 zRrG~0tf(?kvk2Q(ALhS|MzsStV$#=~3C>;RNLDDT0xnJ-zL>G>b6hwCE?Tte_gCn; z!f>aFpPXSy`sIQy)%;YyW~uW~bldU0dKTdEP)&fB`6(5;d-->;Wc@yqX#6#LWEBzJ z4mS?xTDlX=6&O|!oWA%o-G`AQYM|a+-#c0>Q9p0}brX`K^slMxw&3Chx5CC?{W>td zg(`<1V6An|nusNW$&=)*m3njH`Y{?QQ{uZIYRx1r^`463`bV_x%pQdwxAIHd!Vmbq zQKolvorDuNK|ksOA67gtg1sTa!;Ls9$v{h4^?@gs%4rz%bOyG~3$>%hiqznA*cCvDg7+MQ;Nv1ZNvJkJ~ zN2iTp9JiDTjEu}ufY_p-nabo+TE9#EZ4BQ_#V4P0fUYKQ2bIEARMwPK(n4Xps%*&u z)=MMqwLld1GlM&17>X&_rFeeh3s5&7Akd&@dCDDDL%`ildMN}ZT|Xge;XK!~*uhP80Yec0F?CQq$J7fF>-gp~U%Gxc3$t7q1dRYrHF8 z_56Ps!~Q!k7ulpah$o5-SBUIhF`t?-yCN)}!hYiu#Az5oVy7X6m2j}aFl*bCCHKU6 zoa)kvY#w|H+a(80{s}cqjP{YD(Hs+>9o>$fe;yAcflo`IP&**B!o{i~iHH-;cJ|M3K2-z{+qcBK|fxl^st!#hJF0wkQS?u;L^JLaIYeqeTrMpS*tPvjIVcCr`g{Ye^X4zm}1!BaZM3DVyxe4 z)SHRAARG~~8o?*g0azQSgdugbuiuE^Yc%aZR2Kt8hEIf(!e@}$3WwmI&?B+aX;O@& zZ(}XNYgNgI&YP}Gi*j)Zk*ey`fnBNO8Ziz5veyH17kacfQWpr0 zuV83NHZtwUQ~ap26Z(nIKejGK#Qu1tWn!qaGFGGl7ALt7B{6J(jS{WH~tpATXJaJIVz{LyTKr@$cdB?1C|;4ozNs*|F;IFP~#P5 zfpLf-gjSzWW4)V)$L~h6nJ*&qUHK%_TPwAaTPA=|nH@rvU5k@9R+&15Z}Nfd0vVh< z#lmd@61T=qtthGmc1|D5@kr3#^KxdJTSR=7(+fMc%y+1$@F4@VXz$6`1`Jd-Ghm4S z6PoQnq}R>RyG!qboR+b}O$Q_lPKRJ>m<99uy~o6YMtL@qpdUh&=&9LjRR#C4!^&FO zsU{5GJWdN&X9}E;EPb~nIf1gR@6AXt8Hzn=lLvb8bRRoo)woWI+ZC_9Fc1nr7gxCe zaMvy77;SP-yz~#2a3jdHLB6GnT^@n+$PQbL3j3^&CkPBvl;SNWlQ&UDb2A~3`0s@U zQ`1Gn77_epqT8iG94Dhd63;K&y)v_M4UI- zrIhHq%^5DPQBjmt^_vel3n2rppfqD#CC!|&W}V+Fba=zi1czN8yU$^7U3-Ye)b5l? z(Dd3Ud138Hhz2OdO?&=u3wUU{c;E?3qbTKR= z3g(3vd!{?Na}RE?9el4&R-+2`7=+m3zN0>6d_J?ZLF^liME%3E_Ko%f=S7Kru4rVz z-L72}xyrL@EV$KTZB_%#F&qgnKl^x0Hf$`#3r5|<&vuF)K!i07In0fF%8>CD{kPpn z1>fO$<-{AwI;wkZpJ}eWib48#{i`yhRPiFj6#ko8Q5X+N6lI_^t5P7sEn_x=aU27cl&Bu z%C4kjck~fAsI&NZ2K5=WFa%*ov155r?L-k7gP(&kD-=%`Q;v>ZC4t*cBW@11sIdo( zbjk}I6n1hYb|gRUI)enqwSonezVN@$>Q^Z18@uet0)o?^Pl%eXIym3^ecaGyaKTF z4#J)i${p;0eoxLsq5;-?%j*zV9v`>}=sJ}a3U1uVL>XW)jUfV8o64FA5b)w1Ap9+3 z75=kEgMz)d%ZH#mpo%MlI<9GS<6|OddWhcGa^ToK1aYyEJLLlmJw+duvi@_S2F~-n z`1TQ@2noPtE}m^Y98U&Uo48?^J`(ZHxA_*cR;W;=!OJgxRR2EjOidV;bnR)th+xYc z+-hI_IgjTkXd;~-1Wi&7gxVl*3Wd}6I)`#^NqH04`*`{MuoEP-m090f6exRK!4ex0 z6@;V2?bsU=-%2D3uSv?1F6v*%~OczijURDHCkY zX&XWMC=T~@I^Hu_>^JocG72xv%v#NLoN{^n)QwbnmFyWP747N(?V1f+=_#Jx zwvP$`N)JAR0so;1weU|0MBr`QNX1;^o~8&w1Zq>+)sdT;w~PTWLxx5iDnAK)pyxv~ z$&|35lus^gHt@#^n`u^cs3)=?70m|sK1KgwGOgv6PxXUQaqH*qPm|GjKCzgajCKFX zw%YPWE2uwy*-?|S%aAlIxCm`bE($g6az_96%}-`1GfV-x^<_zz(q%b=oIA>5IjM%8 bEqy~>L$)M{kdK;}qAmO*0%{eVTl%R;8t_^^ literal 0 HcmV?d00001 diff --git "a/general/process/_assets/\345\256\236\344\275\223\347\272\271\347\220\206.jpg" "b/general/process/_assets/\345\256\236\344\275\223\347\272\271\347\220\206.jpg" new file mode 100644 index 0000000000000000000000000000000000000000..beee65bca745294af50949dba0a9feffea00545c GIT binary patch literal 10448 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 literal 0 HcmV?d00001 diff --git "a/general/process/_assets/\345\270\270\350\247\201\347\232\204HSV\350\260\203\350\212\202\351\235\242\346\235\277.jpg" "b/general/process/_assets/\345\270\270\350\247\201\347\232\204HSV\350\260\203\350\212\202\351\235\242\346\235\277.jpg" new file mode 100644 index 0000000000000000000000000000000000000000..7076ace9769b5d05e271ac65a394fd5b878dda5a GIT binary patch literal 10600 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 literal 0 HcmV?d00001 diff --git "a/general/process/_assets/\346\225\231\350\202\262\347\211\210\347\232\204Agentvs\345\216\237\347\211\210\347\232\204\351\223\201\345\202\200\345\204\241.jpg" "b/general/process/_assets/\346\225\231\350\202\262\347\211\210\347\232\204Agentvs\345\216\237\347\211\210\347\232\204\351\223\201\345\202\200\345\204\241.jpg" new file mode 100644 index 0000000000000000000000000000000000000000..93708e1590a79ac1820ba51f9ae5106a24d14266 GIT binary patch literal 7504 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 F{{zg@4od(4 literal 0 HcmV?d00001 diff --git "a/general/process/_assets/\346\226\271\345\235\227\347\272\271\347\220\206.jpg" "b/general/process/_assets/\346\226\271\345\235\227\347\272\271\347\220\206.jpg" new file mode 100644 index 0000000000000000000000000000000000000000..d338b997e1abddfc6100487378fe281717db792c GIT binary patch literal 25256 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 literal 0 HcmV?d00001 diff --git "a/general/process/_assets/\346\227\213\350\275\254\345\205\203\347\264\240vs\347\224\250\351\230\266\346\242\257\347\212\266\350\241\250\347\216\260.jpg" "b/general/process/_assets/\346\227\213\350\275\254\345\205\203\347\264\240vs\347\224\250\351\230\266\346\242\257\347\212\266\350\241\250\347\216\260.jpg" new file mode 100644 index 0000000000000000000000000000000000000000..e744e50435e8c2907c210a500a856f6cb36f5bdf GIT binary patch literal 13069 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 K!=29@W&eM-{Qt!O literal 0 HcmV?d00001 diff --git "a/general/process/_assets/\346\234\211\346\212\227\351\224\257\351\275\277\345\244\204\347\220\206vs\346\227\240\346\212\227\351\224\257\351\275\277\347\232\204\351\270\241\350\233\213.jpg" "b/general/process/_assets/\346\234\211\346\212\227\351\224\257\351\275\277\345\244\204\347\220\206vs\346\227\240\346\212\227\351\224\257\351\275\277\347\232\204\351\270\241\350\233\213.jpg" new file mode 100644 index 0000000000000000000000000000000000000000..5f82d3fd069f8f648226d595b0c68d6d0a8c1763 GIT binary patch literal 3463 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 bkf5p0TH3+84gK@pkYPFxILje9sLu00!lGD- literal 0 HcmV?d00001 diff --git "a/general/process/_assets/\346\241\266.jpg" "b/general/process/_assets/\346\241\266.jpg" new file mode 100644 index 0000000000000000000000000000000000000000..74990e27f7c8490f6160234aa0ba334a690f097d GIT binary patch literal 4280 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 MTFB5#SKie1eqn>n}bh|PZt z95OQUKR`2aWf%7cp#4YTm^s)xg3Rn8|6WE1Ao~5I2yDPWlmE1T@ozDB7}!Age_IUz z%}t!K0UtgPQv7*m#>AYp7U8Jili&i72OujqD!e6s&7fD2nyKc+2Fc7kkyQ0c7^@Rx zAnsb>a+IU;2ELR-l+(Os?Uy}1IZt#|5J)3oZ~3+I!bg9eK;S#f1}H>+7jAfM@_N{L zwtTn_NQeu(BDtN)Imo2r-{+#0J&mXOI7e&9V z3M^H%GUe1ODi&i3Uql-EZoXG?OI)w>&S^M@_W!&Fd8iEr#<5sY+tkH)CUksIG1`uDs`Arb1AOcvcF7r z0CbzlQ zJoOi?OOcr^ASo;A!vD50Zq;zq^m|lXf=t3-CLK$!{?FULnhY}`5YF(I zN7n{aKh1DpSXsnq#B6x{@UgY7VUZFSD11;_-B#5r0E2(cUee0%BaaS?&a_9>4`YREsr?@Yl2zKnaGWsOSv4$$(z290>{?vr0d{Z>LQ zdTSxRxnbF_5O#eQw!U@^V6)CGwnDEn>b!*r4GyU`?Fu|;v!*R;xwJ=?FC>bN4{ZzB zQ405_QM%Y^$r|fKB|uf0Ru1SmDg<&V6@;SrWu%`HcgYg$Z@;UJ1=RmS7x(sb3MZ`) zxTKb|kP^HU5(Fy=Sl=7`*&iP)q~~bBylT_<5;$?E507RBOI)MI7t%aLgqu})|3mCd zof`2M(NtcG_Xh=wln3!*jSvg9RFfxaWYP>C;Db3zGe2AbVq&6R zq2SM%^P06IT;2{SV0#@s#Iukf%I2V|Pe#STI?w=Fv6MG`0Ef09N2-W1LC9s)*p{ki z={r*w@HYeBT6VKe7P^DU>6ewGCO8gLrPU=>V7qbFnw4SF%5{ad`l#|v47-l8t>!R^ zBsk&R_I*7?c2n7i!Ct>@tE#iy)yQzYd6|d8uzPqmi;1Iin*_>fh#aGhA%ntOp!Ogi zaEDZ}Tfof=TLM9+SclpDY1V=3^QWoG_@i>lF`dO?^f0b?NPZBY&f7*cC5dz69!u65 zus*m)L(?WILYUxKp5irsUOH=Wa3+$p8s8&t z8mlBQ$pe}(=<6MR@wnVwjuQXO=*<`XK{H%RfPHMju@Ud;@u#zHSZfPPuEvpe-jP9= zV->H0I;KY=&L-vzPO&J*C2ECk@R69^>bEuN;Lj}lsEN3VLkam+sY8t=TGF+UX52=j zrX}U+ML*N)VAH#i1NV2}W1H-HR2zt7W**2#sY?WIsVyssGA->K*Q|o_if1nSQ1uso zw8)c7X~?8Re#fFchT_(w{ry>%uP}p9I3ZRBmi0bR5@>2{ff-m`L5qMJipVDD@}uFD zzN-+Mqn(A-bz-m+l#Y_jofmr|$1HE(@l$pocaTcC;yjAr5TgEae34D8N^VG3N+V8V z3={W5UF9*jH)r*)k!76F%QiXkX0J1*FLjdhkWU+(ulP?Xy-w~o@VfJSIsbCU7{Q^b z*+!L^n@c%I?HEsA->dtHr^3b*-X<56P3k#bjgqMzhTnM54+w-MCSvQCo?3y8rP|=s z5^j8>l9ZiIHV7m7Y#ob@Fk~`V<0Vk~Bpl@Hu^nVfOb;QhFsAt3HhxS4i&R(i<6Zo< z@UMHQA4=UYw)VSbyHmBC84Z8St7D>*lf&)NRO3I24F;!U1I>S|20{~2br zYi&Nv8=NY#ue_qIvd%`QHI0}_J3fkbMLc&VZZY&ySUDp@s=){E#8-i_8?*_!BEk>~ zIHp$5R)n>Jk!nBBdsj&%6`h?bzsOPKN}aihK6KCQ!a;UGN+|+$bgfSA0Uz=QZ@)W| zbW4Ss#Nu(`;1u0OPxU_^F$^a!k6yoSeT!kUr(1clPbUr^QIsvVI*M4Mn-mB`>gc4k zBqY*iYus9XXqO5AQD8%lTWBK{AJJ4~4GyJ>!-Kfu+cA7?@wM~)OriMxg8EFJpr*B4 zH?iVRR-BVl+N?^_DI#PF)}=v>MF%OYTauoa@`$>YbzXeW3r>BA$Ks91HsX3<7_;5= zkH4nbnM2dPhl%(l*nJ`yMTlK#IrMnX`-;gdghz$G2)>Li4c7Ts!*3(9ZtA+38RAUm zIe9)$B1oA*9;MAi5mD;WQ{O9^vj1KfQ@%<1%Kkh62UD^nrn4hpnk{{C?tzx_}x30NsnqdpqkN*%)b`FXjjjSOHYCik} z8+F>-$1%qSd%RJH5+Q)sH1Ft^)H!>UYditCzCsKcFTslIqq!KG!bbRO<-g6PgyrNA zGa>ey;%7-liAs3J2^)-?HL<=~=KQTTYWR0Mb{KTBXk{lG(fh52o?oZEM_mf)KB%>1 z3MC)mYm6O7F3q8YhF5N^X~OV}FGc!!`te{1I17GH$KvRtV9nO^Gg6-mDW9eEq;leQ zM5*&`t-M@eowSkP+hu^hjEKd2M?*i74~mVv=psFT&gII_>x4)kK_R6Xu`BG&kr zb2sf@yOn{4JKObpaALPen^k1QeEQh9r^V=6g6c>0uRK#05)Ge*cRy007|=V{^wyzI z@ww&6a8^CoF+DZd;!$03p5seZZV$x+@hM>Ss%w%Tq`v6QQgiq`Buu#65fPmHkWuD9 z&C>*Ie0jdzM|Q#wWkM~xqj5bubcnz>rJ{46{0I?;1C;uJr77ufWDpl|x<;(}k(vB% znYYCIuhiD?Nx#pLP(stsH|JU?WJc{%k|uGW3~1HvvCa0SaPe%=zXAZ$ILP)KCmc|z8l~t!eOIoo&RHWB zTK?Ne{+eU_oQhi|=f-?@mlQ1P^9(Fv5|Oz%ea?C`In_SFdQn&0X(!5=_qv=X&eDOl9YKRNX>m4gCNcGPQYMK3AgC8BZACI9-AL+p4q}|$tkgOBNl(e%%Rgw z(~4tYw`_#pW)=6NPDN3E6E(W!LSxf`4>M^vB!T<+ObbLW%f#+Q|SN9S(G5uFv^ zyWwQO=rNf%y|Gr332>o(o7|w1s9=}P@4ptAxrVitsUu!qUhM2`>)%9KBJn5MXX_@x zIg?~X4jT*od`PHVhE$l#a=w=kxz!U!%bel~3{4UzWH3?{3ZYY0z^BT^xYgme*RYwN z;&4N<6;!f+jN;gR0JX*>$3JD_HK zDv)lcBnmzt7xp9_CImS+K$>G6wGs`MXB@pkf zF_+?SF??x?Tp^{h@Of>&=)6C(YvJsIN2B>3eoT&bkVr&_Vsivh<;inlTqyeQaY65+ zke@ViR8;x^*u3@fPGP-Eii%j1$~11J4X-&1*u9wz(k%M=?}EisPEnPYJ4{7}fl*|s zV7G?b<nr-{k?@ZSN%>nD{aRPvm3pX~Rryzcgmq>i)aYRBr>mqFShBcf7#%Sw6E z&N;n5!U*+l&_k1g$|6O47UMq&5T5%ZBN;ru9537Uh34yyJA)j1X7c5#rb0k`cww7*N*fpA#5_ACa3>eJ|a% z^QOS~KE!c9sLJqHg3Ra3@!~Xtt^N@q8WAqHZ8#F6-PDNBLRbPp@ExVby$aGENn;O6 zJE9qwm&%ox)ceW1`>$H~bNYZay+1hSDV4lmo_b(j2ltm0%h5~;$#`S z%h)?U!ew1A-lhq1A#yI z4$;Axt&C0^(&8|o6WH%pDV_7LUpdBPcDxDoj$6y5;oTL%9FmsUDhMD^LF2&4R!}|N z511Jr?LnGN7s>0mNQy)HbH~k7}JXUG8j4?x^#}RO7rg84K^4p~> zB;&$rl@)91X+x>7F$Q3bOgFz^I9W^B%>IhpgBdJI@YhM5YVo=KABX)-&4a|e{{E@T z1;69WM_ae7nxQYf6G?G@3NVL}POdiJXpeH=4awj{;we(ezMXBa6s3KjuO*5wl&p;F zpfTp;uGhb@L$O{iWDRLX@U_GO-A-+>tJB>?g6o5Wnl@27_ z3Fsqg#ZGNz&;2Z+ru>>_dsE)*AXQAc{7DNd_av|(QqD8`u`v%U1W~DqdI^f;bFG7q z5cCncVBvUj^Bb&yD^h)3-2Kj#`FPoKTJKHgMOzCc%V!BtTS}y|FV8|$;l+$~ZMUru zg95&dLuF0M((c1h@K1k$IKFsUgzMe05IwIF1R;&PXJyNLcJLj1SYF2eLI0)_z_ zsG~6v2|SzvKrkLnQ*;m&!xkt)Z_Hllgj?6_y2&c389J(9Ptin^@iSG%HrKAEyOwY! zks``*O{-mFeIS;25wkDVkbt)5Ym5$m0cSSM1U&KPECl9IyLS=_d_X;el)CRJ4V5Gb zSyB;EK-IV`%{&H6|AgOneIszBJ`zxg^zSy?zw%MgoV`7;t02ZDZ>2%%WjO|awflTM zzx{~TGr8Mq=0>`Yz`_3PYBXb~Tj*Xl{t+rX$a#H(H)xe56xJw!XY`=SO_m!m$ zPz!FPAIE=lhVsh%jbUezt++l>5;8O~A?WzlER zNvd7lD@&+8=V=ya?x7an5NVgf;P7pQ#_UFw21c00*mRI)qWV>!U-@fVcTrQK>{4q` z{;(rif3tf!JxkG$LveMg<8cvTw(S~^I&2Jhy$L~esB32n$=@ATXh4O$fZIqF5i~V( z&j>^tA+E#7zZTQSWTrYT7}MCh7Kd~JU9@kAR`WOhM&X;>(uIbTR6Si71Qk=nL!ZPA zZKxJlwncDCM*ZZS^kA`jed_Pt3u|nj4-#~g#W%G|ujmqc3}*y*X(?A03qplyrLGQe zGsTLJF0D!q*%ETCVfU8FdL^nh2iSPs+lqHN+dCiTz*Ay`{&AZ9L06AkIrREljk~K^xFt^?+NxyQoO0< z5OYDT-Ap14bF->p@DUQek7$?8$2p!M> z57$X|d83Y)8H6``!U$8+H;bGH@V zq+SI8Mi?RBJeu-@kyRfU2`aSSO@Jyo!#nons7Ja%-rg0Z82~hTC`k6~9+RzKFRt_` zmz4J`gWEaHH`5#l*7loId6S{D zDQAH73ZeDB0IE!XhD;)11Kxw!~0*ux>oj6gz-AYEIcBk8(R8_vr=s zCcKA=)t0ZbAZeRlC%W%{Xdu))G$Ps+FHt#5&>#V~*)p7%J`G0bo6fxl78~Fj{`aBH zVntE_78n@tFxjn7QZFPY-wvU=a1R9^%_~MEpOFx`8~UgTM@Bl3r?ITGl8BPpGaj4! z;q^Eycoqj~4eD;MLDkt;N7T>jmN+5#yAeBx?oPHkzVAZZXKDcZS+3H#*Up`vc#XCM zVvNuwrQ`R9I{w<8rW*>^J z%^7V@yHyy13oyKP)$}%P8YKv}WT{SDfZ`T%yE4;SknwNkC%TwDe847CQ3Tb0HCdXJ zlQ;i+LJ)Il+->Que}uktnPz_+Nys2h9^opft;KS^Anbz8p%-2LvFD;u^I3Bp(O-sJ z0N+vZ@BnAp^zoHri#V(rH!Xape_uRvdg7GwbY-VR&SyI5y)7UznS$CS)dvI71-h~0 zIh=@qiwo*8SGr6l{*ve>rnu*i@hyvaqmNykwdMV!hANl- zay6jlueoe&PLEyKuj9%BbxHr{Oo1_#RrMLSnRUNzwc_ z&fX5`_29(($k>nw=?=6wohLuH2~-$S6CGNuoKMCn)=M{3BH$@k%1hv4gBNAD7W001 zKjPKlOX(*6J-(Kohsd4Q?d790IBSh@jyb(zLlmS@WEJX#JJMeji8H`NIgu$9B*TH6 z4XU>Tl?It7k6-{#OM?h^SGo=vv|FXbgO*`{2GPQC%>+Q81Kd0xIWTvjL9%4fKv=~O z+xo=fRjbdqA@7?ojqelO@lkTz?AHl?L7vN9?6~4v1p^i=DeIuL=uAU_ZD8EAy8r@) z=5g7sS#@q#0=y+c1Sa_onZ4AgtqEudXD0f6Rn&MYppb9=7^{{Nl!XKBSdn{d z=o`he@_^miUtWq1Fr7b#IMf)p3s}_~C8=k}1iHLl2&d6RV~df;ihkKjcS|Prwo{XI zsCP~&&eBa^6CZcC?6HrIzX*WL3h7+Urx~h3rTUVqkgU%nuu$IqHW+|EMw7AIl3Rwh6db-rnP1R$8UUl8@x(X9$)6 zbaHA=k@3jJWV2)G){p7V&B_!?g@~g#L;Mo7bvu6cc{H9pMy_7)AhqepDkc?g57nz` zUf6zp7#NBy`N@0=?qkVexFF44o4$o_^2f}V{k$eC3fmutwwJ9G_(tz(dq5J$1aFo- zu3r_J_?xWMkig5+*14-1dVSUIw^8W(}JY}%} literal 0 HcmV?d00001 diff --git "a/general/process/_assets/\346\265\267\345\270\246.jpg" "b/general/process/_assets/\346\265\267\345\270\246.jpg" new file mode 100644 index 0000000000000000000000000000000000000000..6576b01950ebe764b6afc08af68244e6ce3ca3a2 GIT binary patch literal 5012 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 literal 0 HcmV?d00001 diff --git "a/general/process/_assets/\346\265\267\346\264\213\344\271\213\345\277\203.jpg" "b/general/process/_assets/\346\265\267\346\264\213\344\271\213\345\277\203.jpg" new file mode 100644 index 0000000000000000000000000000000000000000..e1770be21ff3c04cdb2944b42134e906caf09060 GIT binary patch literal 5208 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 j7{lIh=&I$R<(9HWrk)bZMo+zvyTz)jN+3> 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 literal 0 HcmV?d00001 diff --git "a/general/process/_assets/\347\233\264\347\272\277\344\270\216\346\233\262\347\272\277\344\270\255\347\232\204\351\224\257\351\275\277\350\241\250\347\216\260.jpg" "b/general/process/_assets/\347\233\264\347\272\277\344\270\216\346\233\262\347\272\277\344\270\255\347\232\204\351\224\257\351\275\277\350\241\250\347\216\260.jpg" new file mode 100644 index 0000000000000000000000000000000000000000..4e0d1bc40fdd66b792b9716764e3370046950da3 GIT binary patch literal 10973 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