diff --git a/.gitignore b/.gitignore index 7b4b4ee..7baa9a2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ .venv/ .idea/ .cache/ +node_modules/ data/ db/ /plugins/ diff --git a/docs/.github/workflows/deploy-docs.yml b/docs/.github/workflows/deploy-docs.yml new file mode 100644 index 0000000..2a1ab72 --- /dev/null +++ b/docs/.github/workflows/deploy-docs.yml @@ -0,0 +1,50 @@ + +name: 部署文档 + +on: + push: + branches: + # 确保这是你正在使用的分支名称 + - main + +permissions: + contents: write + +jobs: + deploy-gh-pages: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + # 如果你文档需要 Git 子模块,取消注释下一行 + # submodules: true + + - name: 安装 pnpm + uses: pnpm/action-setup@v2 + with: + run_install: true + version: 8 + + + - name: 设置 Node.js + uses: actions/setup-node@v3 + with: + node-version: 20 + cache: pnpm + + + - name: 构建文档 + env: + NODE_OPTIONS: --max_old_space_size=8192 + run: |- + pnpm run docs:build + > src/.vuepress/dist/.nojekyll + + - name: 部署文档 + uses: JamesIves/github-pages-deploy-action@v4 + with: + # 这是文档部署到的分支名称 + branch: gh-pages + folder: src/.vuepress/dist diff --git a/docs/.gitignore b/docs/.gitignore new file mode 100644 index 0000000..411fb0d --- /dev/null +++ b/docs/.gitignore @@ -0,0 +1,5 @@ + +node_modules/ +src/.vuepress/.cache/ +src/.vuepress/.temp/ +src/.vuepress/dist/ diff --git a/docs/README.md b/docs/README.md deleted file mode 100644 index 91d4f3f..0000000 --- a/docs/README.md +++ /dev/null @@ -1,89 +0,0 @@ - -

轻雪6.2

-

轻量,高效,易于扩展

- -- 基于[Nonebot2](https://github.com/nonebot/nonebot2),有良好的生态支持 -- 开箱即用,无需复杂配置 -- 新的点击交互模式,拒绝手打指令 -- 全新可视化`npm`包管理,支持一键安装插件 -- 支持一切Onebot标准通信 - -## 1.安装和部署 - -1. 安装`Git`和`Python3.10+` -2. 克隆项目`git clone https://github.com/snowykami/LiteyukiBot` -3. 切换目录`cd LiteyukiBot` -4. 安装依赖`pip install -r requirements.txt`(如果多个Python环境请指定后安装`pythonx -m pip install -r requirements.txt`) -5. 启动`python main.py` - -## 2. 配置 - -### 轻雪配置项(Nonebot插件配置项也可以写在此,与dotenv格式不同,应为小写) - -如果不确定字段的含义,请不要修改(部分在自动生成配置文件中未列出,需手动添加) - -```yaml -# 生成文件的配置项 -command_start: [ "/", " " ] # 指令前缀 -host: 127.0.0.1 # 监听地址 -port: 20216 # 绑定端口 -nickname: [ "liteyuki" ] # 机器人昵称 -superusers: [ "1919810" ] # 超级用户 -# 未列出的配置项(如要自定义请手动修改) -onebot_access_token: "" # Onebot访问令牌[具体请看](https://onebot.adapters.nonebot.dev/docs/guide/configuration) -default_language: "zh-CN" # 默认语言 -log_level: "INFO" # 日志等级 -log_icon: true # 是否显示日志等级图标(某些控制台不可用) -auto_report: true # 是否自动上报问题给轻雪服务器,仅包含硬件信息和运行软件版本 - -# 其他Nonebot插件的配置项 -custom_config_1: "custom_value1" -... -``` - -### Onebot实现端配置 - -不同的实现端给出的字段可能不同,但是基本上都是一样的,这里给出一个参考值 - -| 字段 | 参考值 | 说明 | -|-------------|--------------------------|----------------------------------| -| 协议 | 反向WebSocket | 推荐使用反向ws协议进行通信,即轻雪作为服务端 | -| 地址 | ws://`addrss`/onebot/v11 | 地址取决于配置文件,本机默认为`127.0.0.1:20216` | -| AccessToken | `""` | 如果你给轻雪配置了`AccessToken`,请在此填写相同的值 | - -## 3.其他 - -### 常见问题 - -- 设备上Python环境太乱了,pip和python不对应怎么办? - - 请使用`/path/to/python -m pip install -r requirements.txt`来安装依赖, - 然后用`/path/to/python main.py`来启动Bot, - 其中`/path/to/python`是你要用来运行Bot可执行文件 -- 为什么我启动后机器人没有反应? - - 请检查配置文件的`command_start`或`superusers`,确认你有权限使用命令并按照正确的命令发送 - -- 怎么登录QQ等聊天平台 - - 你有这个问题说明你不是很了解这个项目,本项目不负责实现登录功能,只负责处理消息 - 你需要使用Onebot标准的实现端来连接到轻雪并将消息上报给轻雪,下面已经列出一些推荐的实现端 - -#### 推荐方案(QQ) - -1. [Lagrange.OneBot](https://github.com/KonataDev/Lagrange.Core),目前点按交互目前仅支持Lagrange -2. [LiteLoaderQQNT OneBot](https://github.com/LLOneBot/LLOneBot),基于NTQQ的Onebot实现 -3. 云崽的`icqq-plugin`和`ws-plugin`进行通信 -4. `Go-cqhttp`(目前已经半死不活了) -5. 人工实现的`Onebot`协议,自己整一个WebSocket客户端,看着QQ的消息,然后给轻雪传输数据 - -#### 推荐方案(Minecraft) - -1. 我们有专门为Minecraft开发的服务器Bot,支持OnebotV11/12标准,详细请看[MinecraftOneBot](https://github.com/snowykami/MinecraftOnebot) - -使用其他项目连接请先自行查阅文档,若有困难请联系对应开发者而不是Liteyuki的开发者 - -## 4.用户协议 - -1. 本项目遵循`MIT`协议,你可以自由使用,修改,分发,但是请保留原作者信息 -2. 你可以选择开启`auto_report`(默认开启),轻雪会收集运行环境的设备信息,通过安全的方式传输到轻雪服务器,用于统计运行时的设备信息,帮助我们改进轻雪,收集的数据包括但不限于:CPU,内存,插件信息,异常信息,会话负载(不含隐私部分) -3. 本项目不会收集用户的任何隐私信息,但请注意甄别第三方插件的安全性 - -## 5.鸣谢 diff --git a/docs/package.json b/docs/package.json new file mode 100644 index 0000000..e3a34b6 --- /dev/null +++ b/docs/package.json @@ -0,0 +1,19 @@ +{ + "name": "liteyuki-bot-docs", + "version": "2.0.0", + "description": "A project of vuepress-theme-hope", + "license": "MIT", + "type": "module", + "scripts": { + "docs:build": "vuepress-vite build src", + "docs:clean-dev": "vuepress-vite dev src --clean-cache", + "docs:dev": "vuepress-vite dev src", + "docs:update-package": "pnpm dlx vp-update" + }, + "devDependencies": { + "@vuepress/bundler-vite": "2.0.0-rc.9", + "vue": "^3.4.21", + "vuepress": "2.0.0-rc.9", + "vuepress-theme-hope": "2.0.0-rc.32" + } +} diff --git a/docs/pnpm-lock.yaml b/docs/pnpm-lock.yaml new file mode 100644 index 0000000..9a87710 --- /dev/null +++ b/docs/pnpm-lock.yaml @@ -0,0 +1,2861 @@ +lockfileVersion: '6.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +devDependencies: + '@vuepress/bundler-vite': + specifier: 2.0.0-rc.9 + version: 2.0.0-rc.9 + vue: + specifier: ^3.4.21 + version: 3.4.21 + vuepress: + specifier: 2.0.0-rc.9 + version: 2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9)(vue@3.4.21) + vuepress-theme-hope: + specifier: 2.0.0-rc.32 + version: 2.0.0-rc.32(markdown-it@14.1.0)(vuepress@2.0.0-rc.9) + +packages: + + /@babel/helper-string-parser@7.24.1: + resolution: {integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-validator-identifier@7.22.20: + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/parser@7.24.1: + resolution: {integrity: sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.24.0 + dev: true + + /@babel/types@7.24.0: + resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.24.1 + '@babel/helper-validator-identifier': 7.22.20 + to-fast-properties: 2.0.0 + dev: true + + /@esbuild/aix-ppc64@0.20.2: + resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm64@0.20.2: + resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm@0.20.2: + resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-x64@0.20.2: + resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-arm64@0.20.2: + resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-x64@0.20.2: + resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-arm64@0.20.2: + resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-x64@0.20.2: + resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm64@0.20.2: + resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm@0.20.2: + resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ia32@0.20.2: + resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-loong64@0.20.2: + resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-mips64el@0.20.2: + resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ppc64@0.20.2: + resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-riscv64@0.20.2: + resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-s390x@0.20.2: + resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-x64@0.20.2: + resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/netbsd-x64@0.20.2: + resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/openbsd-x64@0.20.2: + resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/sunos-x64@0.20.2: + resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-arm64@0.20.2: + resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-ia32@0.20.2: + resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-x64@0.20.2: + resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@jridgewell/sourcemap-codec@1.4.15: + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + dev: true + + /@lit-labs/ssr-dom-shim@1.2.0: + resolution: {integrity: sha512-yWJKmpGE6lUURKAaIltoPIE/wrbY3TEkqQt+X0m+7fQNnAv0keydnYvbiJFP1PnMhizmIWRWOG5KLhYyc/xl+g==} + dev: true + + /@lit/reactive-element@2.0.4: + resolution: {integrity: sha512-GFn91inaUa2oHLak8awSIigYz0cU0Payr1rcFsrkf5OJ5eSPxElyZfKh0f2p9FsTiZWXQdWGJeXZICEfXXYSXQ==} + dependencies: + '@lit-labs/ssr-dom-shim': 1.2.0 + dev: true + + /@mdit-vue/plugin-component@2.0.0: + resolution: {integrity: sha512-cTRxlocav/+mfgDcp0P2z/gWuWBez+iNuN4D+b74LpX4AR6UAx2ZvWtCrUZ8VXrO4eCt1/G0YC/Af7mpIb3aoQ==} + dependencies: + '@types/markdown-it': 13.0.7 + markdown-it: 14.1.0 + dev: true + + /@mdit-vue/plugin-frontmatter@2.0.0: + resolution: {integrity: sha512-/LrT6E60QI4XV4mqx3J87hqYXlR7ZyMvndmftR2RGz7cRAwa/xL+kyFLlgrMxkBIKitOShKa3LS/9Ov9b0fU+g==} + dependencies: + '@mdit-vue/types': 2.0.0 + '@types/markdown-it': 13.0.7 + gray-matter: 4.0.3 + markdown-it: 14.1.0 + dev: true + + /@mdit-vue/plugin-headers@2.0.0: + resolution: {integrity: sha512-ITMMPCnLEYHHgj3XEUL2l75jsNn8guxNqr26YrMSi1f5zcgq4XVy1LIvfwvJ1puqM6Cc5v4BHk3oAyorAi7l1A==} + dependencies: + '@mdit-vue/shared': 2.0.0 + '@mdit-vue/types': 2.0.0 + '@types/markdown-it': 13.0.7 + markdown-it: 14.1.0 + dev: true + + /@mdit-vue/plugin-sfc@2.0.0: + resolution: {integrity: sha512-OXrMXOyk0iwdIou2jRoIHIbjskwghkO14C9/OjgVHXSSX+iM/WQ4l4yi1aWmNlbQNjtP8IXcVAyJB9K0DFYmLg==} + dependencies: + '@mdit-vue/types': 2.0.0 + '@types/markdown-it': 13.0.7 + markdown-it: 14.1.0 + dev: true + + /@mdit-vue/plugin-title@2.0.0: + resolution: {integrity: sha512-eqBoETPVkMXNLvwFshz/A2+Cz81VB5HEkXDm0tt6RBW/rTvnoWmGJ1Z+mvcjR5ck5W4nYdIyT68oHxX2JI2M4g==} + dependencies: + '@mdit-vue/shared': 2.0.0 + '@mdit-vue/types': 2.0.0 + '@types/markdown-it': 13.0.7 + markdown-it: 14.1.0 + dev: true + + /@mdit-vue/plugin-toc@2.0.0: + resolution: {integrity: sha512-PKQ8sZna3D5chTnt2lxL+ddpyXd++6Nyc0l8VXCeDgStlySQwiP9jaLeeC88oqY4BtRu4cAmILmxDrvuX0Rrdg==} + dependencies: + '@mdit-vue/shared': 2.0.0 + '@mdit-vue/types': 2.0.0 + '@types/markdown-it': 13.0.7 + markdown-it: 14.1.0 + dev: true + + /@mdit-vue/shared@2.0.0: + resolution: {integrity: sha512-PdxpQpbyTazeo2JT87qms6RPZIzyJd+gwuB+1jSwLDI7+0u5g79y2XgTAbZromSVgY2f3UU5HWdwaLbV9w4uOw==} + dependencies: + '@mdit-vue/types': 2.0.0 + '@types/markdown-it': 13.0.7 + markdown-it: 14.1.0 + dev: true + + /@mdit-vue/types@2.0.0: + resolution: {integrity: sha512-1BeEB+DbtmDMUAfvbNUj5Hso8cSl2sBVK2iTyOMAqhfDVLdh+/9+D0JmQHaCeUk/vuJoMhOwbweZvh55wHxm4w==} + dev: true + + /@mdit/plugin-alert@0.8.0(markdown-it@14.1.0): + resolution: {integrity: sha512-mxA/lhOyDDR6/qSAegGG/XZRjUbr1wjwdULudbpkA/CCQi6piW9D0Z8crDQGYz4KPQM9Bgx4Ac81QFSzHOV66Q==} + peerDependencies: + markdown-it: ^14.0.0 + peerDependenciesMeta: + markdown-it: + optional: true + dependencies: + '@types/markdown-it': 13.0.7 + markdown-it: 14.1.0 + dev: true + + /@mdit/plugin-align@0.8.0(markdown-it@14.1.0): + resolution: {integrity: sha512-OJPYzSdmT0UZj/QTvnKYE4GelAL0OD8bNIPxpidXbFd3IqYv/8+xMjT6XeR+R3oZEvtbYSc2e1MmO5fo3DopJA==} + engines: {node: '>= 18'} + peerDependencies: + markdown-it: ^14.0.0 + peerDependenciesMeta: + markdown-it: + optional: true + dependencies: + '@mdit/plugin-container': 0.8.0(markdown-it@14.1.0) + '@types/markdown-it': 13.0.7 + markdown-it: 14.1.0 + dev: true + + /@mdit/plugin-attrs@0.8.0(markdown-it@14.1.0): + resolution: {integrity: sha512-ewmx5i+b3M4CRJNDpDNBA0YTHa1snn+adDsDDpDtPPSzCH1NhtWXdzwI0TrcCQUnueeSEEWX/wY4ESo+NRkBNQ==} + engines: {node: '>= 18'} + peerDependencies: + markdown-it: ^14.0.0 + peerDependenciesMeta: + markdown-it: + optional: true + dependencies: + '@types/markdown-it': 13.0.7 + markdown-it: 14.1.0 + dev: true + + /@mdit/plugin-container@0.8.0(markdown-it@14.1.0): + resolution: {integrity: sha512-uWK3t0CWssintcmT5PTJVhAwbstcD+SrtijQKs6BhLRtGGgHJ9mOf0ybGjlJhn4077yFFTHmaCIT3K+n5ZVjPg==} + engines: {node: '>= 18'} + peerDependencies: + markdown-it: ^14.0.0 + peerDependenciesMeta: + markdown-it: + optional: true + dependencies: + '@types/markdown-it': 13.0.7 + markdown-it: 14.1.0 + dev: true + + /@mdit/plugin-demo@0.8.0(markdown-it@14.1.0): + resolution: {integrity: sha512-yFRXnp3Lj0g4H9ImzHKQwwgtSykrL/BDNEQzql9fdA9FbSygfu0CIxfm+A8lsVos8cAvdsgxy3gILySxpfR89g==} + peerDependencies: + markdown-it: ^14.0.0 + peerDependenciesMeta: + markdown-it: + optional: true + dependencies: + '@types/markdown-it': 13.0.7 + markdown-it: 14.1.0 + dev: true + + /@mdit/plugin-figure@0.8.0(markdown-it@14.1.0): + resolution: {integrity: sha512-/o4RoKjnkdWc+K7m6mR7BAu2J79yYE38s8HUc8iKk9v+e9j1E+6LeXcpx1LoPnHzUhT4EO2QmUsv+kAaPFfZYw==} + engines: {node: '>= 18'} + peerDependencies: + markdown-it: ^14.0.0 + peerDependenciesMeta: + markdown-it: + optional: true + dependencies: + '@types/markdown-it': 13.0.7 + markdown-it: 14.1.0 + dev: true + + /@mdit/plugin-footnote@0.8.0(markdown-it@14.1.0): + resolution: {integrity: sha512-AaX1rfkJwq9vLX+H/a+XQ3ZxahOXrnMLr5dVZfNdazjqdDEJ7Cc/A7UFtLfOM19F2w3EgvcHR1gbINxIVDn/eg==} + engines: {node: '>= 18'} + peerDependencies: + markdown-it: ^14.0.0 + dependencies: + '@types/markdown-it': 13.0.7 + markdown-it: 14.1.0 + dev: true + + /@mdit/plugin-img-lazyload@0.8.0(markdown-it@14.1.0): + resolution: {integrity: sha512-Rrlf2FzOxxyszbv3DpkIwEgmYKmtwHdxIO+Whkn0a9QckxnEKkaGl5KARCnM7LqX2fhEyFLgnfkr3onVOJG54g==} + engines: {node: '>= 18'} + peerDependencies: + markdown-it: ^14.0.0 + peerDependenciesMeta: + markdown-it: + optional: true + dependencies: + '@types/markdown-it': 13.0.7 + markdown-it: 14.1.0 + dev: true + + /@mdit/plugin-img-mark@0.8.0(markdown-it@14.1.0): + resolution: {integrity: sha512-4P6z2QOfLHLMSXUP4mB/2Rnd6KeHmJBkUXJWJhybcXoIG5S5FDTFHJxOycSP4eGzfdOYAWSlkx6XwXEUGGZz5w==} + engines: {node: '>= 18'} + peerDependencies: + markdown-it: ^14.0.0 + peerDependenciesMeta: + markdown-it: + optional: true + dependencies: + '@types/markdown-it': 13.0.7 + markdown-it: 14.1.0 + dev: true + + /@mdit/plugin-img-size@0.8.0(markdown-it@14.1.0): + resolution: {integrity: sha512-r+LbAizP/hw5SisY44VbHEnR7XUKpcHM2k2fwu5wb1+V1crxeigG4sa8rzrJEddU+k6uCl27yL5FTGbHjAl82Q==} + engines: {node: '>= 18'} + peerDependencies: + markdown-it: ^14.0.0 + peerDependenciesMeta: + markdown-it: + optional: true + dependencies: + '@types/markdown-it': 13.0.7 + markdown-it: 14.1.0 + dev: true + + /@mdit/plugin-include@0.8.0(markdown-it@14.1.0): + resolution: {integrity: sha512-e8Z8q5VkJ6UX04tTgELraupB/MdHio7hkdYT71wBJ6UQuhSmFv/xMOxFfTcGKH5yzsbEM45BtAFHzSXIi3dMCw==} + peerDependencies: + markdown-it: ^14.0.0 + peerDependenciesMeta: + markdown-it: + optional: true + dependencies: + '@types/markdown-it': 13.0.7 + markdown-it: 14.1.0 + upath: 2.0.1 + dev: true + + /@mdit/plugin-katex@0.8.0(markdown-it@14.1.0): + resolution: {integrity: sha512-u7CX3Xv5nuc2bu2sHrk1nil83/9ETKTBMmy0icbW8zlqBC0ykLo1xTCEBXmdhXtnJtPi9f/wUZVs6iMZrJzbNg==} + engines: {node: '>= 18'} + peerDependencies: + katex: ^0.16.9 + markdown-it: ^14.0.0 + peerDependenciesMeta: + katex: + optional: true + markdown-it: + optional: true + dependencies: + '@mdit/plugin-tex': 0.8.0(markdown-it@14.1.0) + '@types/katex': 0.16.7 + '@types/markdown-it': 13.0.7 + markdown-it: 14.1.0 + dev: true + + /@mdit/plugin-mark@0.8.0(markdown-it@14.1.0): + resolution: {integrity: sha512-1hImu8FskIZ9dumWD2VIyB5USyVGwGY2IuaPxYO25tFvMZkhu4rYBjkSK8x+vXExwp94OLzFUlGgVl94S+nw9w==} + engines: {node: '>= 18'} + peerDependencies: + markdown-it: ^14.0.0 + peerDependenciesMeta: + markdown-it: + optional: true + dependencies: + '@types/markdown-it': 13.0.7 + markdown-it: 14.1.0 + dev: true + + /@mdit/plugin-mathjax@0.8.0(markdown-it@14.1.0): + resolution: {integrity: sha512-y016KQHa3PoXDUIcQseISMAz5q2mZJ/qocEs2EABT4PjquXPEh/4rw7Ql7KX9gf/SQIUyzj8hYs4bHyRZc6x4w==} + engines: {node: '>= 18'} + peerDependencies: + markdown-it: ^14.0.0 + mathjax-full: ^3.2.2 + peerDependenciesMeta: + markdown-it: + optional: true + mathjax-full: + optional: true + dependencies: + '@mdit/plugin-tex': 0.8.0(markdown-it@14.1.0) + '@types/markdown-it': 13.0.7 + markdown-it: 14.1.0 + upath: 2.0.1 + dev: true + + /@mdit/plugin-stylize@0.8.0(markdown-it@14.1.0): + resolution: {integrity: sha512-oNFI3Z7UTxP8CKxS3CIuawLmsyrc0n9jIw9mPzUcPNp+LtYmLktfZc3FIRlqpUUq34YwHTH3yihayBRdSkVV6A==} + engines: {node: '>= 18'} + peerDependencies: + markdown-it: ^14.0.0 + peerDependenciesMeta: + markdown-it: + optional: true + dependencies: + '@types/markdown-it': 13.0.7 + markdown-it: 14.1.0 + dev: true + + /@mdit/plugin-sub@0.8.0(markdown-it@14.1.0): + resolution: {integrity: sha512-oqCcmJVJykESgNJ4fFmDKKxRRQddwkXWIT4PjF83XSeXHxTOz8gMfke/V1mE7BAfKKCLP4io8HbrYfvIiOTZ4A==} + engines: {node: '>= 18'} + peerDependencies: + markdown-it: ^14.0.0 + peerDependenciesMeta: + markdown-it: + optional: true + dependencies: + '@types/markdown-it': 13.0.7 + markdown-it: 14.1.0 + dev: true + + /@mdit/plugin-sup@0.8.0(markdown-it@14.1.0): + resolution: {integrity: sha512-5/uE2lONNjCgGDXC8jZ265tzefjUNQNakmK4PSCI4D5jD80xFrxc6MKh70VLCOL8Xk6COK/K9f0SAU2lwa97Tg==} + engines: {node: '>= 18'} + peerDependencies: + markdown-it: ^14.0.0 + peerDependenciesMeta: + markdown-it: + optional: true + dependencies: + '@types/markdown-it': 13.0.7 + markdown-it: 14.1.0 + dev: true + + /@mdit/plugin-tab@0.8.0(markdown-it@14.1.0): + resolution: {integrity: sha512-SNa1S14Buuy564egiUTkU9HTTNFrEURJZLqA1+jr/2xYCdICPym0FWcB0cLtBl3lrQZkFtbxhzC6ws5JBt/ERQ==} + peerDependencies: + markdown-it: ^14.0.0 + peerDependenciesMeta: + markdown-it: + optional: true + dependencies: + '@types/markdown-it': 13.0.7 + markdown-it: 14.1.0 + dev: true + + /@mdit/plugin-tasklist@0.8.0(markdown-it@14.1.0): + resolution: {integrity: sha512-vfOTZdXIL/jk/ConUqCODI5WuqgB9qiBGc+wIa7UMhe73KcpwFeGFJVQZm9AvjhXDDYqznJxSMVRP/TN7TxVVw==} + engines: {node: '>= 18'} + peerDependencies: + markdown-it: ^14.0.0 + peerDependenciesMeta: + markdown-it: + optional: true + dependencies: + '@types/markdown-it': 13.0.7 + markdown-it: 14.1.0 + dev: true + + /@mdit/plugin-tex@0.8.0(markdown-it@14.1.0): + resolution: {integrity: sha512-uh4kOhwBVEESz6dMmHk4Hn/AVfVtUhMA1UKpwMc1EL9qelodJ0YzSYfNXp6d/PS+E1l53yp8nMZK90DUO+3vpA==} + engines: {node: '>= 18'} + peerDependencies: + markdown-it: ^14.0.0 + peerDependenciesMeta: + markdown-it: + optional: true + dependencies: + '@types/markdown-it': 13.0.7 + markdown-it: 14.1.0 + dev: true + + /@mdit/plugin-uml@0.8.0(markdown-it@14.1.0): + resolution: {integrity: sha512-6TOVxLhmdzV7bzjlJCRP5uCFq62Xwk2ZAeYUK3RLx9lgM3s2Mww5ENhdysnQMd7VQlUHsPmp4XIMBZZjPddg3g==} + engines: {node: '>= 18'} + peerDependencies: + markdown-it: ^14.0.0 + peerDependenciesMeta: + markdown-it: + optional: true + dependencies: + '@types/markdown-it': 13.0.7 + markdown-it: 14.1.0 + dev: true + + /@nodelib/fs.scandir@2.1.5: + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + dev: true + + /@nodelib/fs.stat@2.0.5: + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + dev: true + + /@nodelib/fs.walk@1.2.8: + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.17.1 + dev: true + + /@rollup/rollup-android-arm-eabi@4.13.1: + resolution: {integrity: sha512-4C4UERETjXpC4WpBXDbkgNVgHyWfG3B/NKY46e7w5H134UDOFqUJKpsLm0UYmuupW+aJmRgeScrDNfvZ5WV80A==} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-android-arm64@4.13.1: + resolution: {integrity: sha512-TrTaFJ9pXgfXEiJKQ3yQRelpQFqgRzVR9it8DbeRzG0RX7mKUy0bqhCFsgevwXLJepQKTnLl95TnPGf9T9AMOA==} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-darwin-arm64@4.13.1: + resolution: {integrity: sha512-fz7jN6ahTI3cKzDO2otQuybts5cyu0feymg0bjvYCBrZQ8tSgE8pc0sSNEuGvifrQJWiwx9F05BowihmLxeQKw==} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-darwin-x64@4.13.1: + resolution: {integrity: sha512-WTvdz7SLMlJpektdrnWRUN9C0N2qNHwNbWpNo0a3Tod3gb9leX+yrYdCeB7VV36OtoyiPAivl7/xZ3G1z5h20g==} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm-gnueabihf@4.13.1: + resolution: {integrity: sha512-dBHQl+7wZzBYcIF6o4k2XkAfwP2ks1mYW2q/Gzv9n39uDcDiAGDqEyml08OdY0BIct0yLSPkDTqn4i6czpBLLw==} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-gnu@4.13.1: + resolution: {integrity: sha512-bur4JOxvYxfrAmocRJIW0SADs3QdEYK6TQ7dTNz6Z4/lySeu3Z1H/+tl0a4qDYv0bCdBpUYM0sYa/X+9ZqgfSQ==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-musl@4.13.1: + resolution: {integrity: sha512-ssp77SjcDIUSoUyj7DU7/5iwM4ZEluY+N8umtCT9nBRs3u045t0KkW02LTyHouHDomnMXaXSZcCSr2bdMK63kA==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-riscv64-gnu@4.13.1: + resolution: {integrity: sha512-Jv1DkIvwEPAb+v25/Unrnnq9BO3F5cbFPT821n3S5litkz+O5NuXuNhqtPx5KtcwOTtaqkTsO+IVzJOsxd11aQ==} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-s390x-gnu@4.13.1: + resolution: {integrity: sha512-U564BrhEfaNChdATQaEODtquCC7Ez+8Hxz1h5MAdMYj0AqD0GA9rHCpElajb/sQcaFL6NXmHc5O+7FXpWMa73Q==} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-gnu@4.13.1: + resolution: {integrity: sha512-zGRDulLTeDemR8DFYyFIQ8kMP02xpUsX4IBikc7lwL9PrwR3gWmX2NopqiGlI2ZVWMl15qZeUjumTwpv18N7sQ==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-musl@4.13.1: + resolution: {integrity: sha512-VTk/MveyPdMFkYJJPCkYBw07KcTkGU2hLEyqYMsU4NjiOfzoaDTW9PWGRsNwiOA3qI0k/JQPjkl/4FCK1smskQ==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-arm64-msvc@4.13.1: + resolution: {integrity: sha512-L+hX8Dtibb02r/OYCsp4sQQIi3ldZkFI0EUkMTDwRfFykXBPptoz/tuuGqEd3bThBSLRWPR6wsixDSgOx/U3Zw==} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-ia32-msvc@4.13.1: + resolution: {integrity: sha512-+dI2jVPfM5A8zme8riEoNC7UKk0Lzc7jCj/U89cQIrOjrZTCWZl/+IXUeRT2rEZ5j25lnSA9G9H1Ob9azaF/KQ==} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-x64-msvc@4.13.1: + resolution: {integrity: sha512-YY1Exxo2viZ/O2dMHuwQvimJ0SqvL+OAWQLLY6rvXavgQKjhQUzn7nc1Dd29gjB5Fqi00nrBWctJBOyfVMIVxw==} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@sindresorhus/merge-streams@2.3.0: + resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==} + engines: {node: '>=18'} + dev: true + + /@stackblitz/sdk@1.9.0: + resolution: {integrity: sha512-3m6C7f8pnR5KXys/Hqx2x6ylnpqOak6HtnZI6T5keEO0yT+E4Spkw37VEbdwuC+2oxmjdgq6YZEgiKX7hM1GmQ==} + dev: true + + /@types/debug@4.1.12: + resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} + dependencies: + '@types/ms': 0.7.34 + dev: true + + /@types/estree@1.0.5: + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + dev: true + + /@types/fs-extra@11.0.4: + resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==} + dependencies: + '@types/jsonfile': 6.1.4 + '@types/node': 20.11.30 + dev: true + + /@types/hash-sum@1.0.2: + resolution: {integrity: sha512-UP28RddqY8xcU0SCEp9YKutQICXpaAq9N8U2klqF5hegGha7KzTOL8EdhIIV3bOSGBzjEpN9bU/d+nNZBdJYVw==} + dev: true + + /@types/jsonfile@6.1.4: + resolution: {integrity: sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ==} + dependencies: + '@types/node': 20.11.30 + dev: true + + /@types/katex@0.16.7: + resolution: {integrity: sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ==} + dev: true + + /@types/linkify-it@3.0.5: + resolution: {integrity: sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw==} + dev: true + + /@types/markdown-it-emoji@2.0.4: + resolution: {integrity: sha512-H6ulk/ZmbDxOayPwI/leJzrmoW1YKX1Z+MVSCHXuYhvqckV4I/c+hPTf6UiqJyn2avWugfj30XroheEb6/Ekqg==} + dependencies: + '@types/markdown-it': 13.0.7 + dev: true + + /@types/markdown-it@13.0.7: + resolution: {integrity: sha512-U/CBi2YUUcTHBt5tjO2r5QV/x0Po6nsYwQU4Y04fBS6vfoImaiZ6f8bi3CjTCxBPQSO1LMyUqkByzi8AidyxfA==} + dependencies: + '@types/linkify-it': 3.0.5 + '@types/mdurl': 1.0.5 + dev: true + + /@types/mdurl@1.0.5: + resolution: {integrity: sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA==} + dev: true + + /@types/ms@0.7.34: + resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} + dev: true + + /@types/node@17.0.45: + resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} + dev: true + + /@types/node@20.11.30: + resolution: {integrity: sha512-dHM6ZxwlmuZaRmUPfv1p+KrdD1Dci04FbdEm/9wEMouFqxYoFl5aMkt0VMAUtYRQDyYvD41WJLukhq/ha3YuTw==} + dependencies: + undici-types: 5.26.5 + dev: true + + /@types/sax@1.2.7: + resolution: {integrity: sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==} + dependencies: + '@types/node': 17.0.45 + dev: true + + /@types/trusted-types@2.0.7: + resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} + dev: true + + /@types/web-bluetooth@0.0.20: + resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==} + dev: true + + /@vitejs/plugin-vue@5.0.4(vite@5.2.6)(vue@3.4.21): + resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==} + engines: {node: ^18.0.0 || >=20.0.0} + peerDependencies: + vite: ^5.0.0 + vue: ^3.2.25 + dependencies: + vite: 5.2.6 + vue: 3.4.21 + dev: true + + /@vue/compiler-core@3.4.21: + resolution: {integrity: sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==} + dependencies: + '@babel/parser': 7.24.1 + '@vue/shared': 3.4.21 + entities: 4.5.0 + estree-walker: 2.0.2 + source-map-js: 1.2.0 + dev: true + + /@vue/compiler-dom@3.4.21: + resolution: {integrity: sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==} + dependencies: + '@vue/compiler-core': 3.4.21 + '@vue/shared': 3.4.21 + dev: true + + /@vue/compiler-sfc@3.4.21: + resolution: {integrity: sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ==} + dependencies: + '@babel/parser': 7.24.1 + '@vue/compiler-core': 3.4.21 + '@vue/compiler-dom': 3.4.21 + '@vue/compiler-ssr': 3.4.21 + '@vue/shared': 3.4.21 + estree-walker: 2.0.2 + magic-string: 0.30.8 + postcss: 8.4.38 + source-map-js: 1.2.0 + dev: true + + /@vue/compiler-ssr@3.4.21: + resolution: {integrity: sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q==} + dependencies: + '@vue/compiler-dom': 3.4.21 + '@vue/shared': 3.4.21 + dev: true + + /@vue/devtools-api@6.6.1: + resolution: {integrity: sha512-LgPscpE3Vs0x96PzSSB4IGVSZXZBZHpfxs+ZA1d+VEPwHdOXowy/Y2CsvCAIFrf+ssVU1pD1jidj505EpUnfbA==} + dev: true + + /@vue/reactivity@3.4.21: + resolution: {integrity: sha512-UhenImdc0L0/4ahGCyEzc/pZNwVgcglGy9HVzJ1Bq2Mm9qXOpP8RyNTjookw/gOCUlXSEtuZ2fUg5nrHcoqJcw==} + dependencies: + '@vue/shared': 3.4.21 + dev: true + + /@vue/runtime-core@3.4.21: + resolution: {integrity: sha512-pQthsuYzE1XcGZznTKn73G0s14eCJcjaLvp3/DKeYWoFacD9glJoqlNBxt3W2c5S40t6CCcpPf+jG01N3ULyrA==} + dependencies: + '@vue/reactivity': 3.4.21 + '@vue/shared': 3.4.21 + dev: true + + /@vue/runtime-dom@3.4.21: + resolution: {integrity: sha512-gvf+C9cFpevsQxbkRBS1NpU8CqxKw0ebqMvLwcGQrNpx6gqRDodqKqA+A2VZZpQ9RpK2f9yfg8VbW/EpdFUOJw==} + dependencies: + '@vue/runtime-core': 3.4.21 + '@vue/shared': 3.4.21 + csstype: 3.1.3 + dev: true + + /@vue/server-renderer@3.4.21(vue@3.4.21): + resolution: {integrity: sha512-aV1gXyKSN6Rz+6kZ6kr5+Ll14YzmIbeuWe7ryJl5muJ4uwSwY/aStXTixx76TwkZFJLm1aAlA/HSWEJ4EyiMkg==} + peerDependencies: + vue: 3.4.21 + dependencies: + '@vue/compiler-ssr': 3.4.21 + '@vue/shared': 3.4.21 + vue: 3.4.21 + dev: true + + /@vue/shared@3.4.21: + resolution: {integrity: sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==} + dev: true + + /@vuepress/bundler-vite@2.0.0-rc.9: + resolution: {integrity: sha512-GcM2eSqW2mPY5xXX4i5kuZujvwUeiTpsLX5kgau9LzPox+FdA3SMUkppCY3hsou2o2RxXPTfjocE7OlYQrUqvA==} + dependencies: + '@vitejs/plugin-vue': 5.0.4(vite@5.2.6)(vue@3.4.21) + '@vuepress/client': 2.0.0-rc.9 + '@vuepress/core': 2.0.0-rc.9 + '@vuepress/shared': 2.0.0-rc.9 + '@vuepress/utils': 2.0.0-rc.9 + autoprefixer: 10.4.19(postcss@8.4.38) + connect-history-api-fallback: 2.0.0 + postcss: 8.4.38 + postcss-load-config: 5.0.3(postcss@8.4.38) + rollup: 4.13.1 + vite: 5.2.6 + vue: 3.4.21 + vue-router: 4.3.0(vue@3.4.21) + transitivePeerDependencies: + - '@types/node' + - jiti + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + - typescript + dev: true + + /@vuepress/cli@2.0.0-rc.9: + resolution: {integrity: sha512-uv7Xmv3QmPpzCaUAq0oKEwp2tY64AO+7mxamgr7tr+t6FEnCYqr+X0nLlH17UtMkmGWIsbHLIlMjteprxGxIMg==} + hasBin: true + dependencies: + '@vuepress/core': 2.0.0-rc.9 + '@vuepress/shared': 2.0.0-rc.9 + '@vuepress/utils': 2.0.0-rc.9 + cac: 6.7.14 + chokidar: 3.6.0 + envinfo: 7.11.1 + esbuild: 0.20.2 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@vuepress/client@2.0.0-rc.9: + resolution: {integrity: sha512-V5jA6L1nHQ8tXBshRHBJKei7HPFonGxFzmVK5yjj2Ho/Xtp/SD9rBS6dyYd5CSkKRGQDgy19Z+BUUPXtdI1qzg==} + dependencies: + '@vue/devtools-api': 6.6.1 + '@vuepress/shared': 2.0.0-rc.9 + vue: 3.4.21 + vue-router: 4.3.0(vue@3.4.21) + transitivePeerDependencies: + - typescript + dev: true + + /@vuepress/core@2.0.0-rc.9: + resolution: {integrity: sha512-uvMkIqYJ7vjfYEC91rMmT8YJt8xXnob5YYY3TzlwWUSEv4yoV3nlVu0l6Zfhenx/7FwKaxRJ/ePlUGIgUHBcBw==} + dependencies: + '@vuepress/client': 2.0.0-rc.9 + '@vuepress/markdown': 2.0.0-rc.9 + '@vuepress/shared': 2.0.0-rc.9 + '@vuepress/utils': 2.0.0-rc.9 + vue: 3.4.21 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@vuepress/helper@2.0.0-rc.21(vuepress@2.0.0-rc.9): + resolution: {integrity: sha512-yKIG8hwsrA63uWo9hx9u7KBc0HvotKe2/0wVZtUdvdsibG3UYNI9enYQNa8MdqbxF92mmlFkPZdosGjUTA+BYw==} + peerDependencies: + vuepress: 2.0.0-rc.9 + dependencies: + '@vue/shared': 3.4.21 + cheerio: 1.0.0-rc.12 + fflate: 0.8.2 + gray-matter: 4.0.3 + vue: 3.4.21 + vuepress: 2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9)(vue@3.4.21) + transitivePeerDependencies: + - typescript + dev: true + + /@vuepress/markdown@2.0.0-rc.9: + resolution: {integrity: sha512-e7as2ar3RQp0bUyMiwBPi7L/G2fzscb3s0BywNcAwubFR22o0/dBEYRYdrN0clPQ2FXpPxF6AFj4aD7O1heCbw==} + dependencies: + '@mdit-vue/plugin-component': 2.0.0 + '@mdit-vue/plugin-frontmatter': 2.0.0 + '@mdit-vue/plugin-headers': 2.0.0 + '@mdit-vue/plugin-sfc': 2.0.0 + '@mdit-vue/plugin-title': 2.0.0 + '@mdit-vue/plugin-toc': 2.0.0 + '@mdit-vue/shared': 2.0.0 + '@mdit-vue/types': 2.0.0 + '@types/markdown-it': 13.0.7 + '@types/markdown-it-emoji': 2.0.4 + '@vuepress/shared': 2.0.0-rc.9 + '@vuepress/utils': 2.0.0-rc.9 + markdown-it: 14.1.0 + markdown-it-anchor: 8.6.7(@types/markdown-it@13.0.7)(markdown-it@14.1.0) + markdown-it-emoji: 3.0.0 + mdurl: 2.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@vuepress/plugin-active-header-links@2.0.0-rc.21(vuepress@2.0.0-rc.9): + resolution: {integrity: sha512-6i9TfGDV1zfszQ5aw6bV+/UvPdBWt3VxN2WB4Dg5o1g8Qn4z5CI6AW6VfLKRyaKUD+Rzj6W+Ikgx4xnF5RZAdA==} + peerDependencies: + vuepress: 2.0.0-rc.9 + dependencies: + '@vueuse/core': 10.9.0(vue@3.4.21) + vue: 3.4.21 + vuepress: 2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9)(vue@3.4.21) + transitivePeerDependencies: + - '@vue/composition-api' + - typescript + dev: true + + /@vuepress/plugin-back-to-top@2.0.0-rc.21(vuepress@2.0.0-rc.9): + resolution: {integrity: sha512-qEWu0BFvadJZRH1r1UQW4mHvBYwHGSJtwNv14C/Qmxuvv2UQnpl8T2qbvPAntUWMdy94wVhr2YWCfyLh7TSEOA==} + peerDependencies: + vuepress: 2.0.0-rc.9 + dependencies: + '@vuepress/helper': 2.0.0-rc.21(vuepress@2.0.0-rc.9) + '@vueuse/core': 10.9.0(vue@3.4.21) + vue: 3.4.21 + vuepress: 2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9)(vue@3.4.21) + transitivePeerDependencies: + - '@vue/composition-api' + - typescript + dev: true + + /@vuepress/plugin-blog@2.0.0-rc.21(vuepress@2.0.0-rc.9): + resolution: {integrity: sha512-LCju1cC7vFA4WMaYbcnkhnEuiGno0JcavcDRFS6Np4hlVKhvh5Zoi47R3FBuF88X2OdbvBog63k4m5Jp60f+aQ==} + peerDependencies: + vuepress: 2.0.0-rc.9 + dependencies: + '@vuepress/helper': 2.0.0-rc.21(vuepress@2.0.0-rc.9) + chokidar: 3.6.0 + vue: 3.4.21 + vuepress: 2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9)(vue@3.4.21) + transitivePeerDependencies: + - typescript + dev: true + + /@vuepress/plugin-catalog@2.0.0-rc.21(vuepress@2.0.0-rc.9): + resolution: {integrity: sha512-qWb0K/clF9o0bW8eeiu/30f5MWNt4MZI3jt6pLL67sAOyiMXqlHSMCKI/WYZhzgnPOQi9cnIAWoF4ePsApIzAA==} + peerDependencies: + vuepress: 2.0.0-rc.9 + dependencies: + '@vuepress/helper': 2.0.0-rc.21(vuepress@2.0.0-rc.9) + vue: 3.4.21 + vuepress: 2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9)(vue@3.4.21) + transitivePeerDependencies: + - typescript + dev: true + + /@vuepress/plugin-comment@2.0.0-rc.21(vuepress@2.0.0-rc.9): + resolution: {integrity: sha512-17Qpwz/W/B3cVLiCTq0UO18dy1ejf563mURas7XgqIcIibGE3G1k5kTftDbwbpehQ0e/4okdIwnkSxPpeGPOFw==} + peerDependencies: + '@waline/client': ^3.1.0 + artalk: ^2.7.3 + sass-loader: ^14.0.0 + twikoo: ^1.5.0 + vuepress: 2.0.0-rc.9 + peerDependenciesMeta: + '@waline/client': + optional: true + artalk: + optional: true + sass-loader: + optional: true + twikoo: + optional: true + dependencies: + '@vuepress/helper': 2.0.0-rc.21(vuepress@2.0.0-rc.9) + giscus: 1.5.0 + vue: 3.4.21 + vuepress: 2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9)(vue@3.4.21) + transitivePeerDependencies: + - typescript + dev: true + + /@vuepress/plugin-copy-code@2.0.0-rc.21(vuepress@2.0.0-rc.9): + resolution: {integrity: sha512-280jsPmI/YeKBnXt/MCw/nrv9pUou+zhHK5mOU3ecVYfY7Pu2Xi1zdZ2kK0Ri02Txm5AwLb5YWeSac349JuUUA==} + peerDependencies: + vuepress: 2.0.0-rc.9 + dependencies: + '@vuepress/helper': 2.0.0-rc.21(vuepress@2.0.0-rc.9) + '@vueuse/core': 10.9.0(vue@3.4.21) + vue: 3.4.21 + vuepress: 2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9)(vue@3.4.21) + transitivePeerDependencies: + - '@vue/composition-api' + - typescript + dev: true + + /@vuepress/plugin-copyright@2.0.0-rc.21(vuepress@2.0.0-rc.9): + resolution: {integrity: sha512-KFDnWkyz3tdts7uuCyVawYr2SdkNjDFJ93CtPYPDounnEJDC9OxQk0d7QSMYHotTZUzmfOiQNmJL/FngEVaDQQ==} + peerDependencies: + vuepress: 2.0.0-rc.9 + dependencies: + '@vuepress/helper': 2.0.0-rc.21(vuepress@2.0.0-rc.9) + '@vueuse/core': 10.9.0(vue@3.4.21) + vue: 3.4.21 + vuepress: 2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9)(vue@3.4.21) + transitivePeerDependencies: + - '@vue/composition-api' + - typescript + dev: true + + /@vuepress/plugin-external-link-icon@2.0.0-rc.21(vuepress@2.0.0-rc.9): + resolution: {integrity: sha512-Wt7hjWpoUccJHj5KHK24Uks+6oWug6y5cw9QzWlNgiCyg+hvII7I+FdORRvibPUG2ndymi6ZOFyJZcR072kbKA==} + peerDependencies: + vuepress: 2.0.0-rc.9 + dependencies: + vue: 3.4.21 + vuepress: 2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9)(vue@3.4.21) + transitivePeerDependencies: + - typescript + dev: true + + /@vuepress/plugin-git@2.0.0-rc.21(vuepress@2.0.0-rc.9): + resolution: {integrity: sha512-Xgrqv86bjrBPFrJr69b1KQlDUhAGhWfBRIGM3GQOI98mOi2VKCX9P4xyWK/lIpn8eVB3s0lY1KewhkXgy7UITg==} + peerDependencies: + vuepress: 2.0.0-rc.9 + dependencies: + execa: 8.0.1 + vuepress: 2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9)(vue@3.4.21) + dev: true + + /@vuepress/plugin-links-check@2.0.0-rc.21(vuepress@2.0.0-rc.9): + resolution: {integrity: sha512-3dIXKJILTDP7RoPVmhtq/RfytZqX1sCA9Bf++DlgQV6jp2ctcTf4F9I5J/2wQce8yuLogO8fHnWhEgO2rgQXLw==} + peerDependencies: + vuepress: 2.0.0-rc.9 + dependencies: + '@vuepress/helper': 2.0.0-rc.21(vuepress@2.0.0-rc.9) + vuepress: 2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9)(vue@3.4.21) + transitivePeerDependencies: + - typescript + dev: true + + /@vuepress/plugin-nprogress@2.0.0-rc.21(vuepress@2.0.0-rc.9): + resolution: {integrity: sha512-qpGA76195SyfpuQC1Pb9LwgCYIp/zg+BBDnexukJMdLjP1KnaU7HLhS5NnRNIWv8E+IC61zLvlh/wRox17QE+w==} + peerDependencies: + vuepress: 2.0.0-rc.9 + dependencies: + vue: 3.4.21 + vuepress: 2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9)(vue@3.4.21) + transitivePeerDependencies: + - typescript + dev: true + + /@vuepress/plugin-photo-swipe@2.0.0-rc.21(vuepress@2.0.0-rc.9): + resolution: {integrity: sha512-2zCljlDTlSXUUeYy3Z74zkkAc6uEzV0Tos2HL89RZEhiH5tMyvNJaG4+dTVy7uODcQoe+Fcv1hovdbC6LKCFoQ==} + peerDependencies: + vuepress: 2.0.0-rc.9 + dependencies: + '@vuepress/helper': 2.0.0-rc.21(vuepress@2.0.0-rc.9) + '@vueuse/core': 10.9.0(vue@3.4.21) + photoswipe: 5.4.3 + vue: 3.4.21 + vuepress: 2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9)(vue@3.4.21) + transitivePeerDependencies: + - '@vue/composition-api' + - typescript + dev: true + + /@vuepress/plugin-prismjs@2.0.0-rc.21(vuepress@2.0.0-rc.9): + resolution: {integrity: sha512-dMTCu/TZ1QCmTHXL4THVeh9gWzuqkJV8qhck5U77OP1qmgyf+r529A+MTOgp3ddcph1Yzb/FRb2orlefHk+yNQ==} + peerDependencies: + vuepress: 2.0.0-rc.9 + dependencies: + prismjs: 1.29.0 + vuepress: 2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9)(vue@3.4.21) + dev: true + + /@vuepress/plugin-reading-time@2.0.0-rc.21(vuepress@2.0.0-rc.9): + resolution: {integrity: sha512-8ByRTp6z4z0d9W1evfeVyOx55V9OYqxJJeC7KBiJuiA2GP8QkY9b8ajbQ8SWeCjzDLl4H0KudSU1KqH2kqw/zQ==} + peerDependencies: + vuepress: 2.0.0-rc.9 + dependencies: + '@vuepress/helper': 2.0.0-rc.21(vuepress@2.0.0-rc.9) + vue: 3.4.21 + vuepress: 2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9)(vue@3.4.21) + transitivePeerDependencies: + - typescript + dev: true + + /@vuepress/plugin-rtl@2.0.0-rc.21(vuepress@2.0.0-rc.9): + resolution: {integrity: sha512-r+4aP898KsFbF6m1J0e+776ZlSE9yaHr9zsMlib1GEUDcqP/OykMYaNKwRsOMB1eFXNmymgHlXFvswBGEHxS7w==} + peerDependencies: + vuepress: 2.0.0-rc.9 + dependencies: + vue: 3.4.21 + vuepress: 2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9)(vue@3.4.21) + transitivePeerDependencies: + - typescript + dev: true + + /@vuepress/plugin-seo@2.0.0-rc.21(vuepress@2.0.0-rc.9): + resolution: {integrity: sha512-q8pXhXn5OL0QG6KN9rjyXngj2km5eRDK0VL8ShLrTD9fAwvjhujhjHpI/DRHg6ScWlMDKY7ncEOmslDCBuKLtg==} + peerDependencies: + vuepress: 2.0.0-rc.9 + dependencies: + '@vuepress/helper': 2.0.0-rc.21(vuepress@2.0.0-rc.9) + vuepress: 2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9)(vue@3.4.21) + transitivePeerDependencies: + - typescript + dev: true + + /@vuepress/plugin-sitemap@2.0.0-rc.21(vuepress@2.0.0-rc.9): + resolution: {integrity: sha512-YbotKptHfifjwmXhj4kX6iA8tCGp7gTZAHm9YiPDr/8dYzBkkQ4oC84JCifkZYt3fWkVqq/Qa0vpJfnKPGOidg==} + peerDependencies: + vuepress: 2.0.0-rc.9 + dependencies: + '@vuepress/helper': 2.0.0-rc.21(vuepress@2.0.0-rc.9) + sitemap: 7.1.1 + vuepress: 2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9)(vue@3.4.21) + transitivePeerDependencies: + - typescript + dev: true + + /@vuepress/plugin-theme-data@2.0.0-rc.21(vuepress@2.0.0-rc.9): + resolution: {integrity: sha512-vLXvTKx4gWXY6oVaJ9Z2ECnojnKQuXBIe1ZGIAwJdxCYfr6aaqggrVvmphB8BwTURh0XAuis/l6YTcMrs0bX8Q==} + peerDependencies: + vuepress: 2.0.0-rc.9 + dependencies: + '@vue/devtools-api': 6.6.1 + vue: 3.4.21 + vuepress: 2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9)(vue@3.4.21) + transitivePeerDependencies: + - typescript + dev: true + + /@vuepress/shared@2.0.0-rc.9: + resolution: {integrity: sha512-XfI6CWNv4/Vp9Iew6GJil9RUSy1rM7zGdjwikr0j3Rkh55q3f00w1wud47wE9kxRqsZ0PIvsMget5CxEn5rA/w==} + dependencies: + '@mdit-vue/types': 2.0.0 + dev: true + + /@vuepress/utils@2.0.0-rc.9: + resolution: {integrity: sha512-qk6Pel4JVKYKxp3bWxyvnwchvx3QaCWc7SqUw7L6qUo/um+0U2U45L0anWoAfckw12RXYhoIEbJ9UZpueiKOPg==} + dependencies: + '@types/debug': 4.1.12 + '@types/fs-extra': 11.0.4 + '@types/hash-sum': 1.0.2 + '@vuepress/shared': 2.0.0-rc.9 + debug: 4.3.4 + fs-extra: 11.2.0 + globby: 14.0.1 + hash-sum: 2.0.0 + ora: 8.0.1 + picocolors: 1.0.0 + upath: 2.0.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@vueuse/core@10.9.0(vue@3.4.21): + resolution: {integrity: sha512-/1vjTol8SXnx6xewDEKfS0Ra//ncg4Hb0DaZiwKf7drgfMsKFExQ+FnnENcN6efPen+1kIzhLQoGSy0eDUVOMg==} + dependencies: + '@types/web-bluetooth': 0.0.20 + '@vueuse/metadata': 10.9.0 + '@vueuse/shared': 10.9.0(vue@3.4.21) + vue-demi: 0.14.7(vue@3.4.21) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + dev: true + + /@vueuse/metadata@10.9.0: + resolution: {integrity: sha512-iddNbg3yZM0X7qFY2sAotomgdHK7YJ6sKUvQqbvwnf7TmaVPxS4EJydcNsVejNdS8iWCtDk+fYXr7E32nyTnGA==} + dev: true + + /@vueuse/shared@10.9.0(vue@3.4.21): + resolution: {integrity: sha512-Uud2IWncmAfJvRaFYzv5OHDli+FbOzxiVEQdLCKQKLyhz94PIyFC3CHcH7EDMwIn8NPtD06+PNbC/PiO0LGLtw==} + dependencies: + vue-demi: 0.14.7(vue@3.4.21) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + dev: true + + /ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + dev: true + + /ansi-regex@6.0.1: + resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + engines: {node: '>=12'} + dev: true + + /ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + dependencies: + color-convert: 2.0.1 + dev: true + + /anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + dev: true + + /arg@5.0.2: + resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} + dev: true + + /argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + dependencies: + sprintf-js: 1.0.3 + dev: true + + /argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + dev: true + + /autoprefixer@10.4.19(postcss@8.4.38): + resolution: {integrity: sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==} + engines: {node: ^10 || ^12 || >=14} + hasBin: true + peerDependencies: + postcss: ^8.1.0 + dependencies: + browserslist: 4.23.0 + caniuse-lite: 1.0.30001600 + fraction.js: 4.3.7 + normalize-range: 0.1.2 + picocolors: 1.0.0 + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + dev: true + + /balloon-css@1.2.0: + resolution: {integrity: sha512-urXwkHgwp6GsXVF+it01485Z2Cj4pnW02ICnM0TemOlkKmCNnDLmyy+ZZiRXBpwldUXO+aRNr7Hdia4CBvXJ5A==} + dev: true + + /bcrypt-ts@5.0.2: + resolution: {integrity: sha512-gDwQ5784AkkfhHACh3jGcg1hUubyZyeq9AtVd5gXkcyHGVOC+mORjRIHSj+fHfqwY5vxwyBLXQpcfk8MpK0ROg==} + engines: {node: '>=18'} + dev: true + + /binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + dev: true + + /boolbase@1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + dev: true + + /braces@3.0.2: + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} + dependencies: + fill-range: 7.0.1 + dev: true + + /browserslist@4.23.0: + resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: 1.0.30001600 + electron-to-chromium: 1.4.717 + node-releases: 2.0.14 + update-browserslist-db: 1.0.13(browserslist@4.23.0) + dev: true + + /cac@6.7.14: + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} + engines: {node: '>=8'} + dev: true + + /camelcase@5.3.1: + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} + dev: true + + /caniuse-lite@1.0.30001600: + resolution: {integrity: sha512-+2S9/2JFhYmYaDpZvo0lKkfvuKIglrx68MwOBqMGHhQsNkLjB5xtc/TGoEPs+MxjSyN/72qer2g97nzR641mOQ==} + dev: true + + /chalk@5.3.0: + resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + dev: true + + /cheerio-select@2.1.0: + resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==} + dependencies: + boolbase: 1.0.0 + css-select: 5.1.0 + css-what: 6.1.0 + domelementtype: 2.3.0 + domhandler: 5.0.3 + domutils: 3.1.0 + dev: true + + /cheerio@1.0.0-rc.12: + resolution: {integrity: sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==} + engines: {node: '>= 6'} + dependencies: + cheerio-select: 2.1.0 + dom-serializer: 2.0.0 + domhandler: 5.0.3 + domutils: 3.1.0 + htmlparser2: 8.0.2 + parse5: 7.1.2 + parse5-htmlparser2-tree-adapter: 7.0.0 + dev: true + + /chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.3 + braces: 3.0.2 + 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 + dev: true + + /cli-cursor@4.0.0: + resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + restore-cursor: 4.0.0 + dev: true + + /cli-spinners@2.9.2: + resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} + engines: {node: '>=6'} + dev: true + + /cliui@6.0.0: + resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 6.2.0 + dev: true + + /color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + dependencies: + color-name: 1.1.4 + dev: true + + /color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + dev: true + + /connect-history-api-fallback@2.0.0: + resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==} + engines: {node: '>=0.8'} + dev: true + + /create-codepen@1.0.1: + resolution: {integrity: sha512-XzSWwGCFNeOnNGp3KdCDGaKq4Cp1SvjzpPGQqO0tj1HT3BhksLdl/xQ2ZEY4+0MQ3m1I/K1Fvpm4GGMthtamyA==} + dev: true + + /cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: true + + /css-select@5.1.0: + resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==} + dependencies: + boolbase: 1.0.0 + css-what: 6.1.0 + domhandler: 5.0.3 + domutils: 3.1.0 + nth-check: 2.1.1 + dev: true + + /css-what@6.1.0: + resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} + engines: {node: '>= 6'} + dev: true + + /csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + dev: true + + /dayjs@1.11.10: + resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==} + dev: true + + /debug@4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + dev: true + + /decamelize@1.2.0: + resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} + engines: {node: '>=0.10.0'} + dev: true + + /dijkstrajs@1.0.3: + resolution: {integrity: sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==} + dev: true + + /dom-serializer@2.0.0: + resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + entities: 4.5.0 + dev: true + + /domelementtype@2.3.0: + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + dev: true + + /domhandler@5.0.3: + resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} + engines: {node: '>= 4'} + dependencies: + domelementtype: 2.3.0 + dev: true + + /domutils@3.1.0: + resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==} + dependencies: + dom-serializer: 2.0.0 + domelementtype: 2.3.0 + domhandler: 5.0.3 + dev: true + + /electron-to-chromium@1.4.717: + resolution: {integrity: sha512-6Fmg8QkkumNOwuZ/5mIbMU9WI3H2fmn5ajcVya64I5Yr5CcNmO7vcLt0Y7c96DCiMO5/9G+4sI2r6eEvdg1F7A==} + dev: true + + /emoji-regex@10.3.0: + resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==} + dev: true + + /emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + dev: true + + /encode-utf8@1.0.3: + resolution: {integrity: sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==} + dev: true + + /entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + dev: true + + /envinfo@7.11.1: + resolution: {integrity: sha512-8PiZgZNIB4q/Lw4AhOvAfB/ityHAd2bli3lESSWmWSzSsl5dKpy5N1d1Rfkd2teq/g9xN90lc6o98DOjMeYHpg==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /esbuild@0.20.2: + resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/aix-ppc64': 0.20.2 + '@esbuild/android-arm': 0.20.2 + '@esbuild/android-arm64': 0.20.2 + '@esbuild/android-x64': 0.20.2 + '@esbuild/darwin-arm64': 0.20.2 + '@esbuild/darwin-x64': 0.20.2 + '@esbuild/freebsd-arm64': 0.20.2 + '@esbuild/freebsd-x64': 0.20.2 + '@esbuild/linux-arm': 0.20.2 + '@esbuild/linux-arm64': 0.20.2 + '@esbuild/linux-ia32': 0.20.2 + '@esbuild/linux-loong64': 0.20.2 + '@esbuild/linux-mips64el': 0.20.2 + '@esbuild/linux-ppc64': 0.20.2 + '@esbuild/linux-riscv64': 0.20.2 + '@esbuild/linux-s390x': 0.20.2 + '@esbuild/linux-x64': 0.20.2 + '@esbuild/netbsd-x64': 0.20.2 + '@esbuild/openbsd-x64': 0.20.2 + '@esbuild/sunos-x64': 0.20.2 + '@esbuild/win32-arm64': 0.20.2 + '@esbuild/win32-ia32': 0.20.2 + '@esbuild/win32-x64': 0.20.2 + dev: true + + /escalade@3.1.2: + resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} + engines: {node: '>=6'} + dev: true + + /esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /estree-walker@2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + dev: true + + /execa@8.0.1: + resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} + engines: {node: '>=16.17'} + dependencies: + cross-spawn: 7.0.3 + get-stream: 8.0.1 + human-signals: 5.0.0 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.3.0 + onetime: 6.0.0 + signal-exit: 4.1.0 + strip-final-newline: 3.0.0 + dev: true + + /extend-shallow@2.0.1: + resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} + engines: {node: '>=0.10.0'} + dependencies: + is-extendable: 0.1.1 + dev: true + + /fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + engines: {node: '>=8.6.0'} + 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.5 + dev: true + + /fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} + dependencies: + reusify: 1.0.4 + dev: true + + /fflate@0.8.2: + resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==} + dev: true + + /fill-range@7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} + dependencies: + to-regex-range: 5.0.1 + dev: true + + /find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + dev: true + + /fraction.js@4.3.7: + resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} + dev: true + + /fs-extra@11.2.0: + resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} + engines: {node: '>=14.14'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + dev: true + + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + dev: true + + /get-east-asian-width@1.2.0: + resolution: {integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==} + engines: {node: '>=18'} + dev: true + + /get-stream@8.0.1: + resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} + engines: {node: '>=16'} + dev: true + + /giscus@1.5.0: + resolution: {integrity: sha512-t3LL0qbSO3JXq3uyQeKpF5CegstGfKX/0gI6eDe1cmnI7D56R7j52yLdzw4pdKrg3VnufwCgCM3FDz7G1Qr6lg==} + dependencies: + lit: 3.1.2 + dev: true + + /glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + dependencies: + is-glob: 4.0.3 + dev: true + + /globby@14.0.1: + resolution: {integrity: sha512-jOMLD2Z7MAhyG8aJpNOpmziMOP4rPLcc95oQPKXBazW82z+CEgPFBQvEpRUa1KeIMUJo4Wsm+q6uzO/Q/4BksQ==} + engines: {node: '>=18'} + dependencies: + '@sindresorhus/merge-streams': 2.3.0 + fast-glob: 3.3.2 + ignore: 5.3.1 + path-type: 5.0.0 + slash: 5.1.0 + unicorn-magic: 0.1.0 + dev: true + + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + dev: true + + /gray-matter@4.0.3: + resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==} + engines: {node: '>=6.0'} + dependencies: + js-yaml: 3.14.1 + kind-of: 6.0.3 + section-matter: 1.0.0 + strip-bom-string: 1.0.0 + dev: true + + /hash-sum@2.0.0: + resolution: {integrity: sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==} + dev: true + + /htmlparser2@8.0.2: + resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + domutils: 3.1.0 + entities: 4.5.0 + dev: true + + /human-signals@5.0.0: + resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} + engines: {node: '>=16.17.0'} + dev: true + + /ignore@5.3.1: + resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} + engines: {node: '>= 4'} + dev: true + + /immutable@4.3.5: + resolution: {integrity: sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==} + dev: true + + /is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.3.0 + dev: true + + /is-extendable@0.1.1: + resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} + engines: {node: '>=0.10.0'} + dev: true + + /is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + dev: true + + /is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + dev: true + + /is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 2.1.1 + dev: true + + /is-interactive@2.0.0: + resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} + engines: {node: '>=12'} + dev: true + + /is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + dev: true + + /is-stream@3.0.0: + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true + + /is-unicode-supported@1.3.0: + resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} + engines: {node: '>=12'} + dev: true + + /is-unicode-supported@2.0.0: + resolution: {integrity: sha512-FRdAyx5lusK1iHG0TWpVtk9+1i+GjrzRffhDg4ovQ7mcidMQ6mj+MhKPmvh7Xwyv5gIS06ns49CA7Sqg7lC22Q==} + engines: {node: '>=18'} + dev: true + + /isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: true + + /js-yaml@3.14.1: + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + dev: true + + /js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + dependencies: + argparse: 2.0.1 + dev: true + + /jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + dev: true + + /kind-of@6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + dev: true + + /lilconfig@3.1.1: + resolution: {integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==} + engines: {node: '>=14'} + dev: true + + /linkify-it@5.0.0: + resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==} + dependencies: + uc.micro: 2.1.0 + dev: true + + /lit-element@4.0.4: + resolution: {integrity: sha512-98CvgulX6eCPs6TyAIQoJZBCQPo80rgXR+dVBs61cstJXqtI+USQZAbA4gFHh6L/mxBx9MrgPLHLsUgDUHAcCQ==} + dependencies: + '@lit-labs/ssr-dom-shim': 1.2.0 + '@lit/reactive-element': 2.0.4 + lit-html: 3.1.2 + dev: true + + /lit-html@3.1.2: + resolution: {integrity: sha512-3OBZSUrPnAHoKJ9AMjRL/m01YJxQMf+TMHanNtTHG68ubjnZxK0RFl102DPzsw4mWnHibfZIBJm3LWCZ/LmMvg==} + dependencies: + '@types/trusted-types': 2.0.7 + dev: true + + /lit@3.1.2: + resolution: {integrity: sha512-VZx5iAyMtX7CV4K8iTLdCkMaYZ7ipjJZ0JcSdJ0zIdGxxyurjIn7yuuSxNBD7QmjvcNJwr0JS4cAdAtsy7gZ6w==} + dependencies: + '@lit/reactive-element': 2.0.4 + lit-element: 4.0.4 + lit-html: 3.1.2 + dev: true + + /locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + dependencies: + p-locate: 4.1.0 + dev: true + + /log-symbols@6.0.0: + resolution: {integrity: sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==} + engines: {node: '>=18'} + dependencies: + chalk: 5.3.0 + is-unicode-supported: 1.3.0 + dev: true + + /lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + dependencies: + yallist: 4.0.0 + dev: true + + /magic-string@0.30.8: + resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + + /markdown-it-anchor@8.6.7(@types/markdown-it@13.0.7)(markdown-it@14.1.0): + resolution: {integrity: sha512-FlCHFwNnutLgVTflOYHPW2pPcl2AACqVzExlkGQNsi4CJgqOHN7YTgDd4LuhgN1BFO3TS0vLAruV1Td6dwWPJA==} + peerDependencies: + '@types/markdown-it': '*' + markdown-it: '*' + dependencies: + '@types/markdown-it': 13.0.7 + markdown-it: 14.1.0 + dev: true + + /markdown-it-emoji@3.0.0: + resolution: {integrity: sha512-+rUD93bXHubA4arpEZO3q80so0qgoFJEKRkRbjKX8RTdca89v2kfyF+xR3i2sQTwql9tpPZPOQN5B+PunspXRg==} + dev: true + + /markdown-it@14.1.0: + resolution: {integrity: sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==} + hasBin: true + 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 + dev: true + + /mdurl@2.0.0: + resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==} + dev: true + + /merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + dev: true + + /merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + dev: true + + /micromatch@4.0.5: + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} + dependencies: + braces: 3.0.2 + picomatch: 2.3.1 + dev: true + + /mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + dev: true + + /mimic-fn@4.0.0: + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} + dev: true + + /ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + dev: true + + /nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + dev: true + + /node-releases@2.0.14: + resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + dev: true + + /normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + dev: true + + /normalize-range@0.1.2: + resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} + engines: {node: '>=0.10.0'} + dev: true + + /npm-run-path@5.3.0: + resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + path-key: 4.0.0 + dev: true + + /nth-check@2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + dependencies: + boolbase: 1.0.0 + dev: true + + /onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + dependencies: + mimic-fn: 2.1.0 + dev: true + + /onetime@6.0.0: + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} + dependencies: + mimic-fn: 4.0.0 + dev: true + + /ora@8.0.1: + resolution: {integrity: sha512-ANIvzobt1rls2BDny5fWZ3ZVKyD6nscLvfFRpQgfWsythlcsVUC9kL0zq6j2Z5z9wwp1kd7wpsD/T9qNPVLCaQ==} + engines: {node: '>=18'} + dependencies: + chalk: 5.3.0 + cli-cursor: 4.0.0 + cli-spinners: 2.9.2 + is-interactive: 2.0.0 + is-unicode-supported: 2.0.0 + log-symbols: 6.0.0 + stdin-discarder: 0.2.2 + string-width: 7.1.0 + strip-ansi: 7.1.0 + dev: true + + /p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + dependencies: + p-try: 2.2.0 + dev: true + + /p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + dependencies: + p-limit: 2.3.0 + dev: true + + /p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + dev: true + + /parse5-htmlparser2-tree-adapter@7.0.0: + resolution: {integrity: sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==} + dependencies: + domhandler: 5.0.3 + parse5: 7.1.2 + dev: true + + /parse5@7.1.2: + resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} + dependencies: + entities: 4.5.0 + dev: true + + /path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + dev: true + + /path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + dev: true + + /path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + dev: true + + /path-type@5.0.0: + resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==} + engines: {node: '>=12'} + dev: true + + /photoswipe@5.4.3: + resolution: {integrity: sha512-9UC6oJBK4oXFZ5HcdlcvGkfEHsVrmE4csUdCQhEjHYb3PvPLO3PG7UhnPuOgjxwmhq5s17Un5NUdum01LgBDng==} + engines: {node: '>= 0.12.0'} + dev: true + + /picocolors@1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + dev: true + + /picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + dev: true + + /pngjs@5.0.0: + resolution: {integrity: sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==} + engines: {node: '>=10.13.0'} + dev: true + + /postcss-load-config@5.0.3(postcss@8.4.38): + resolution: {integrity: sha512-90pBBI5apUVruIEdCxZic93Wm+i9fTrp7TXbgdUCH+/L+2WnfpITSpq5dFU/IPvbv7aNiMlQISpUkAm3fEcvgQ==} + engines: {node: '>= 18'} + peerDependencies: + jiti: '>=1.21.0' + postcss: '>=8.0.9' + peerDependenciesMeta: + jiti: + optional: true + postcss: + optional: true + dependencies: + lilconfig: 3.1.1 + postcss: 8.4.38 + yaml: 2.4.1 + dev: true + + /postcss-value-parser@4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + dev: true + + /postcss@8.4.38: + resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.0 + source-map-js: 1.2.0 + dev: true + + /prismjs@1.29.0: + resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==} + engines: {node: '>=6'} + dev: true + + /punycode.js@2.3.1: + resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==} + engines: {node: '>=6'} + dev: true + + /qrcode@1.5.3: + resolution: {integrity: sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg==} + engines: {node: '>=10.13.0'} + hasBin: true + dependencies: + dijkstrajs: 1.0.3 + encode-utf8: 1.0.3 + pngjs: 5.0.0 + yargs: 15.4.1 + dev: true + + /queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + dev: true + + /readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + dev: true + + /require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + dev: true + + /require-main-filename@2.0.0: + resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} + dev: true + + /restore-cursor@4.0.0: + resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + onetime: 5.1.2 + signal-exit: 3.0.7 + dev: true + + /reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + dev: true + + /rollup@4.13.1: + resolution: {integrity: sha512-hFi+fU132IvJ2ZuihN56dwgpltpmLZHZWsx27rMCTZ2sYwrqlgL5sECGy1eeV2lAihD8EzChBVVhsXci0wD4Tg==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + dependencies: + '@types/estree': 1.0.5 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.13.1 + '@rollup/rollup-android-arm64': 4.13.1 + '@rollup/rollup-darwin-arm64': 4.13.1 + '@rollup/rollup-darwin-x64': 4.13.1 + '@rollup/rollup-linux-arm-gnueabihf': 4.13.1 + '@rollup/rollup-linux-arm64-gnu': 4.13.1 + '@rollup/rollup-linux-arm64-musl': 4.13.1 + '@rollup/rollup-linux-riscv64-gnu': 4.13.1 + '@rollup/rollup-linux-s390x-gnu': 4.13.1 + '@rollup/rollup-linux-x64-gnu': 4.13.1 + '@rollup/rollup-linux-x64-musl': 4.13.1 + '@rollup/rollup-win32-arm64-msvc': 4.13.1 + '@rollup/rollup-win32-ia32-msvc': 4.13.1 + '@rollup/rollup-win32-x64-msvc': 4.13.1 + fsevents: 2.3.3 + dev: true + + /run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + dependencies: + queue-microtask: 1.2.3 + dev: true + + /sass@1.72.0: + resolution: {integrity: sha512-Gpczt3WA56Ly0Mn8Sl21Vj94s1axi9hDIzDFn9Ph9x3C3p4nNyvsqJoQyVXKou6cBlfFWEgRW4rT8Tb4i3XnVA==} + engines: {node: '>=14.0.0'} + hasBin: true + dependencies: + chokidar: 3.6.0 + immutable: 4.3.5 + source-map-js: 1.2.0 + dev: true + + /sax@1.3.0: + resolution: {integrity: sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==} + dev: true + + /section-matter@1.0.0: + resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} + engines: {node: '>=4'} + dependencies: + extend-shallow: 2.0.1 + kind-of: 6.0.3 + dev: true + + /semver@7.6.0: + resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + + /set-blocking@2.0.0: + resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} + dev: true + + /shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + dev: true + + /shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + dev: true + + /signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + dev: true + + /signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + dev: true + + /sitemap@7.1.1: + resolution: {integrity: sha512-mK3aFtjz4VdJN0igpIJrinf3EO8U8mxOPsTBzSsy06UtjZQJ3YY3o3Xa7zSc5nMqcMrRwlChHZ18Kxg0caiPBg==} + engines: {node: '>=12.0.0', npm: '>=5.6.0'} + hasBin: true + dependencies: + '@types/node': 17.0.45 + '@types/sax': 1.2.7 + arg: 5.0.2 + sax: 1.3.0 + dev: true + + /slash@5.1.0: + resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} + engines: {node: '>=14.16'} + dev: true + + /source-map-js@1.2.0: + resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} + engines: {node: '>=0.10.0'} + dev: true + + /sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + dev: true + + /stdin-discarder@0.2.2: + resolution: {integrity: sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==} + engines: {node: '>=18'} + dev: true + + /string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + dev: true + + /string-width@7.1.0: + resolution: {integrity: sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw==} + engines: {node: '>=18'} + dependencies: + emoji-regex: 10.3.0 + get-east-asian-width: 1.2.0 + strip-ansi: 7.1.0 + dev: true + + /strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + dependencies: + ansi-regex: 5.0.1 + dev: true + + /strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + dependencies: + ansi-regex: 6.0.1 + dev: true + + /strip-bom-string@1.0.0: + resolution: {integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==} + engines: {node: '>=0.10.0'} + dev: true + + /strip-final-newline@3.0.0: + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} + dev: true + + /to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + dev: true + + /to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + dependencies: + is-number: 7.0.0 + dev: true + + /uc.micro@2.1.0: + resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==} + dev: true + + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + dev: true + + /unicorn-magic@0.1.0: + resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} + engines: {node: '>=18'} + dev: true + + /universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + dev: true + + /upath@2.0.1: + resolution: {integrity: sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==} + engines: {node: '>=4'} + dev: true + + /update-browserslist-db@1.0.13(browserslist@4.23.0): + resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.23.0 + escalade: 3.1.2 + picocolors: 1.0.0 + dev: true + + /vite@5.2.6: + resolution: {integrity: sha512-FPtnxFlSIKYjZ2eosBQamz4CbyrTizbZ3hnGJlh/wMtCrlp1Hah6AzBLjGI5I2urTfNnpovpHdrL6YRuBOPnCA==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + esbuild: 0.20.2 + postcss: 8.4.38 + rollup: 4.13.1 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /vue-demi@0.14.7(vue@3.4.21): + resolution: {integrity: sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + peerDependencies: + '@vue/composition-api': ^1.0.0-rc.1 + vue: ^3.0.0-0 || ^2.6.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + dependencies: + vue: 3.4.21 + dev: true + + /vue-router@4.3.0(vue@3.4.21): + resolution: {integrity: sha512-dqUcs8tUeG+ssgWhcPbjHvazML16Oga5w34uCUmsk7i0BcnskoLGwjpa15fqMr2Fa5JgVBrdL2MEgqz6XZ/6IQ==} + peerDependencies: + vue: ^3.2.0 + dependencies: + '@vue/devtools-api': 6.6.1 + vue: 3.4.21 + dev: true + + /vue@3.4.21: + resolution: {integrity: sha512-5hjyV/jLEIKD/jYl4cavMcnzKwjMKohureP8ejn3hhEjwhWIhWeuzL2kJAjzl/WyVsgPY56Sy4Z40C3lVshxXA==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@vue/compiler-dom': 3.4.21 + '@vue/compiler-sfc': 3.4.21 + '@vue/runtime-dom': 3.4.21 + '@vue/server-renderer': 3.4.21(vue@3.4.21) + '@vue/shared': 3.4.21 + dev: true + + /vuepress-plugin-components@2.0.0-rc.32(vuepress@2.0.0-rc.9): + resolution: {integrity: sha512-ndu3lXnmS3AzYwqXn+mTJNItXux0MiPj2BzE8uH5HL473uAtzE8nS3q0gvcAt8CNbOSElJt+I5Hz4AO8/hbtAA==} + engines: {node: '>=18.16.0', npm: '>=8', pnpm: '>=7', yarn: '>=2'} + peerDependencies: + artplayer: ^5.0.0 + dashjs: 4.7.4 + hls.js: ^1.4.12 + mpegts.js: ^1.7.3 + plyr: ^3.7.8 + sass-loader: ^14.0.0 + vidstack: ^1.9.0 + vuepress: 2.0.0-rc.9 + peerDependenciesMeta: + artplayer: + optional: true + dashjs: + optional: true + hls.js: + optional: true + mpegts.js: + optional: true + plyr: + optional: true + sass-loader: + optional: true + vidstack: + optional: true + dependencies: + '@stackblitz/sdk': 1.9.0 + '@vuepress/helper': 2.0.0-rc.21(vuepress@2.0.0-rc.9) + '@vueuse/core': 10.9.0(vue@3.4.21) + balloon-css: 1.2.0 + create-codepen: 1.0.1 + qrcode: 1.5.3 + vue: 3.4.21 + vuepress: 2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9)(vue@3.4.21) + vuepress-plugin-sass-palette: 2.0.0-rc.32(vuepress@2.0.0-rc.9) + vuepress-shared: 2.0.0-rc.32(vuepress@2.0.0-rc.9) + transitivePeerDependencies: + - '@vue/composition-api' + - typescript + dev: true + + /vuepress-plugin-md-enhance@2.0.0-rc.32(markdown-it@14.1.0)(vuepress@2.0.0-rc.9): + resolution: {integrity: sha512-zZK8aEfbq26J5w8o9xGWXCHHrL3PYk25tloTPcx96nZWYPeD+5fMFAtVpHte0rXBWUf0MBtDQxddSeATteBE7Q==} + engines: {node: '>=18.16.0', npm: '>=8', pnpm: '>=7', yarn: '>=2'} + peerDependencies: + '@types/reveal.js': ^5.0.0 + '@vue/repl': ^4.1.1 + chart.js: ^4.0.0 + echarts: ^5.0.0 + flowchart.ts: ^2.0.0 || ^3.0.0 + katex: ^0.16.0 + kotlin-playground: ^1.23.0 + markmap-lib: ^0.15.5 || ^0.16.0 + markmap-toolbar: ^0.15.5 || ^0.16.0 + markmap-view: ^0.15.5 || ^0.16.0 + mathjax-full: ^3.2.2 + mermaid: ^10.8.0 + reveal.js: ^5.0.0 + sandpack-vue3: ^3.0.0 + sass-loader: ^14.0.0 + vuepress: 2.0.0-rc.9 + peerDependenciesMeta: + '@types/reveal.js': + optional: true + '@vue/repl': + optional: true + chart.js: + optional: true + echarts: + optional: true + flowchart.ts: + optional: true + katex: + optional: true + kotlin-playground: + optional: true + markmap-lib: + optional: true + markmap-toolbar: + optional: true + markmap-view: + optional: true + mathjax-full: + optional: true + mermaid: + optional: true + reveal.js: + optional: true + sandpack-vue3: + optional: true + sass-loader: + optional: true + dependencies: + '@mdit/plugin-alert': 0.8.0(markdown-it@14.1.0) + '@mdit/plugin-align': 0.8.0(markdown-it@14.1.0) + '@mdit/plugin-attrs': 0.8.0(markdown-it@14.1.0) + '@mdit/plugin-container': 0.8.0(markdown-it@14.1.0) + '@mdit/plugin-demo': 0.8.0(markdown-it@14.1.0) + '@mdit/plugin-figure': 0.8.0(markdown-it@14.1.0) + '@mdit/plugin-footnote': 0.8.0(markdown-it@14.1.0) + '@mdit/plugin-img-lazyload': 0.8.0(markdown-it@14.1.0) + '@mdit/plugin-img-mark': 0.8.0(markdown-it@14.1.0) + '@mdit/plugin-img-size': 0.8.0(markdown-it@14.1.0) + '@mdit/plugin-include': 0.8.0(markdown-it@14.1.0) + '@mdit/plugin-katex': 0.8.0(markdown-it@14.1.0) + '@mdit/plugin-mark': 0.8.0(markdown-it@14.1.0) + '@mdit/plugin-mathjax': 0.8.0(markdown-it@14.1.0) + '@mdit/plugin-stylize': 0.8.0(markdown-it@14.1.0) + '@mdit/plugin-sub': 0.8.0(markdown-it@14.1.0) + '@mdit/plugin-sup': 0.8.0(markdown-it@14.1.0) + '@mdit/plugin-tab': 0.8.0(markdown-it@14.1.0) + '@mdit/plugin-tasklist': 0.8.0(markdown-it@14.1.0) + '@mdit/plugin-tex': 0.8.0(markdown-it@14.1.0) + '@mdit/plugin-uml': 0.8.0(markdown-it@14.1.0) + '@types/markdown-it': 13.0.7 + '@vuepress/helper': 2.0.0-rc.21(vuepress@2.0.0-rc.9) + '@vueuse/core': 10.9.0(vue@3.4.21) + balloon-css: 1.2.0 + js-yaml: 4.1.0 + vue: 3.4.21 + vuepress: 2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9)(vue@3.4.21) + vuepress-plugin-sass-palette: 2.0.0-rc.32(vuepress@2.0.0-rc.9) + vuepress-shared: 2.0.0-rc.32(vuepress@2.0.0-rc.9) + transitivePeerDependencies: + - '@vue/composition-api' + - markdown-it + - typescript + dev: true + + /vuepress-plugin-sass-palette@2.0.0-rc.32(vuepress@2.0.0-rc.9): + resolution: {integrity: sha512-3tHHQU1E5cCo/udiZ4t0PL6OrWMxuP67+/tj3U5R9Zls6zM1aNE+Dw8I6/Of+HRTzctsQFxGPH0lZa05gS49UQ==} + engines: {node: '>=18.16.0', npm: '>=8', pnpm: '>=7', yarn: '>=2'} + peerDependencies: + sass-loader: ^14.0.0 + vuepress: 2.0.0-rc.9 + peerDependenciesMeta: + sass-loader: + optional: true + dependencies: + '@vuepress/helper': 2.0.0-rc.21(vuepress@2.0.0-rc.9) + chokidar: 3.6.0 + sass: 1.72.0 + vuepress: 2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9)(vue@3.4.21) + vuepress-shared: 2.0.0-rc.32(vuepress@2.0.0-rc.9) + transitivePeerDependencies: + - '@vue/composition-api' + - typescript + dev: true + + /vuepress-shared@2.0.0-rc.32(vuepress@2.0.0-rc.9): + resolution: {integrity: sha512-wGPPUoP6rxy7QnulD0sNz3r7iEHwp+TJroNmI+AT6FuCo1WCD4ZWfnRnm3dVcAkobc3nuOvSmDTvM9pIDCaxsA==} + engines: {node: '>=18.16.0', npm: '>=8', pnpm: '>=7', yarn: '>=2'} + peerDependencies: + vuepress: 2.0.0-rc.9 + dependencies: + '@vuepress/helper': 2.0.0-rc.21(vuepress@2.0.0-rc.9) + '@vueuse/core': 10.9.0(vue@3.4.21) + cheerio: 1.0.0-rc.12 + dayjs: 1.11.10 + execa: 8.0.1 + fflate: 0.8.2 + gray-matter: 4.0.3 + semver: 7.6.0 + vue: 3.4.21 + vuepress: 2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9)(vue@3.4.21) + transitivePeerDependencies: + - '@vue/composition-api' + - typescript + dev: true + + /vuepress-theme-hope@2.0.0-rc.32(markdown-it@14.1.0)(vuepress@2.0.0-rc.9): + resolution: {integrity: sha512-5S5qg5xa0TErqVjpubhBN5oy0QmROd+ja5EQKfORUCKdXKQvx0soojQZnCPkXsUEXonwiZ12oCLN2+UGO03eng==} + engines: {node: '>=18.16.0', npm: '>=8', pnpm: '>=7', yarn: '>=2'} + peerDependencies: + '@vuepress/plugin-docsearch': 2.0.0-rc.21 + '@vuepress/plugin-feed': 2.0.0-rc.21 + '@vuepress/plugin-pwa': 2.0.0-rc.21 + '@vuepress/plugin-redirect': 2.0.0-rc.21 + '@vuepress/plugin-search': 2.0.0-rc.21 + nodejs-jieba: ^0.1.2 + sass-loader: ^14.0.0 + vuepress: 2.0.0-rc.9 + vuepress-plugin-search-pro: 2.0.0-rc.32 + peerDependenciesMeta: + '@vuepress/plugin-docsearch': + optional: true + '@vuepress/plugin-feed': + optional: true + '@vuepress/plugin-pwa': + optional: true + '@vuepress/plugin-redirect': + optional: true + '@vuepress/plugin-search': + optional: true + nodejs-jieba: + optional: true + sass-loader: + optional: true + vuepress-plugin-search-pro: + optional: true + dependencies: + '@vuepress/helper': 2.0.0-rc.21(vuepress@2.0.0-rc.9) + '@vuepress/plugin-active-header-links': 2.0.0-rc.21(vuepress@2.0.0-rc.9) + '@vuepress/plugin-back-to-top': 2.0.0-rc.21(vuepress@2.0.0-rc.9) + '@vuepress/plugin-blog': 2.0.0-rc.21(vuepress@2.0.0-rc.9) + '@vuepress/plugin-catalog': 2.0.0-rc.21(vuepress@2.0.0-rc.9) + '@vuepress/plugin-comment': 2.0.0-rc.21(vuepress@2.0.0-rc.9) + '@vuepress/plugin-copy-code': 2.0.0-rc.21(vuepress@2.0.0-rc.9) + '@vuepress/plugin-copyright': 2.0.0-rc.21(vuepress@2.0.0-rc.9) + '@vuepress/plugin-external-link-icon': 2.0.0-rc.21(vuepress@2.0.0-rc.9) + '@vuepress/plugin-git': 2.0.0-rc.21(vuepress@2.0.0-rc.9) + '@vuepress/plugin-links-check': 2.0.0-rc.21(vuepress@2.0.0-rc.9) + '@vuepress/plugin-nprogress': 2.0.0-rc.21(vuepress@2.0.0-rc.9) + '@vuepress/plugin-photo-swipe': 2.0.0-rc.21(vuepress@2.0.0-rc.9) + '@vuepress/plugin-prismjs': 2.0.0-rc.21(vuepress@2.0.0-rc.9) + '@vuepress/plugin-reading-time': 2.0.0-rc.21(vuepress@2.0.0-rc.9) + '@vuepress/plugin-rtl': 2.0.0-rc.21(vuepress@2.0.0-rc.9) + '@vuepress/plugin-seo': 2.0.0-rc.21(vuepress@2.0.0-rc.9) + '@vuepress/plugin-sitemap': 2.0.0-rc.21(vuepress@2.0.0-rc.9) + '@vuepress/plugin-theme-data': 2.0.0-rc.21(vuepress@2.0.0-rc.9) + '@vueuse/core': 10.9.0(vue@3.4.21) + balloon-css: 1.2.0 + bcrypt-ts: 5.0.2 + cheerio: 1.0.0-rc.12 + chokidar: 3.6.0 + gray-matter: 4.0.3 + vue: 3.4.21 + vuepress: 2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9)(vue@3.4.21) + vuepress-plugin-components: 2.0.0-rc.32(vuepress@2.0.0-rc.9) + vuepress-plugin-md-enhance: 2.0.0-rc.32(markdown-it@14.1.0)(vuepress@2.0.0-rc.9) + vuepress-plugin-sass-palette: 2.0.0-rc.32(vuepress@2.0.0-rc.9) + vuepress-shared: 2.0.0-rc.32(vuepress@2.0.0-rc.9) + transitivePeerDependencies: + - '@types/reveal.js' + - '@vue/composition-api' + - '@vue/repl' + - '@waline/client' + - artalk + - artplayer + - chart.js + - dashjs + - echarts + - flowchart.ts + - hls.js + - katex + - kotlin-playground + - markdown-it + - markmap-lib + - markmap-toolbar + - markmap-view + - mathjax-full + - mermaid + - mpegts.js + - plyr + - reveal.js + - sandpack-vue3 + - twikoo + - typescript + - vidstack + dev: true + + /vuepress@2.0.0-rc.9(@vuepress/bundler-vite@2.0.0-rc.9)(vue@3.4.21): + resolution: {integrity: sha512-jT1ln2lawdph+vVI6n2JfEUhQIcyc1RQWDdQu9DffhJGywJunFcumnUJudpqd1SNIES2Fz1hVCD6gdrE/rVKOQ==} + engines: {node: '>=18.16.0'} + hasBin: true + peerDependencies: + '@vuepress/bundler-vite': 2.0.0-rc.9 + '@vuepress/bundler-webpack': 2.0.0-rc.9 + vue: ^3.4.0 + peerDependenciesMeta: + '@vuepress/bundler-vite': + optional: true + '@vuepress/bundler-webpack': + optional: true + dependencies: + '@vuepress/bundler-vite': 2.0.0-rc.9 + '@vuepress/cli': 2.0.0-rc.9 + '@vuepress/client': 2.0.0-rc.9 + '@vuepress/core': 2.0.0-rc.9 + '@vuepress/markdown': 2.0.0-rc.9 + '@vuepress/shared': 2.0.0-rc.9 + '@vuepress/utils': 2.0.0-rc.9 + vue: 3.4.21 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /which-module@2.0.1: + resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} + dev: true + + /which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: true + + /wrap-ansi@6.2.0: + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: true + + /y18n@4.0.3: + resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} + dev: true + + /yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + dev: true + + /yaml@2.4.1: + resolution: {integrity: sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==} + engines: {node: '>= 14'} + hasBin: true + dev: true + + /yargs-parser@18.1.3: + resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} + engines: {node: '>=6'} + dependencies: + camelcase: 5.3.1 + decamelize: 1.2.0 + dev: true + + /yargs@15.4.1: + resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} + engines: {node: '>=8'} + dependencies: + cliui: 6.0.0 + decamelize: 1.2.0 + find-up: 4.1.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + require-main-filename: 2.0.0 + set-blocking: 2.0.0 + string-width: 4.2.3 + which-module: 2.0.1 + y18n: 4.0.3 + yargs-parser: 18.1.3 + dev: true diff --git a/docs/src/.vuepress/config.ts b/docs/src/.vuepress/config.ts new file mode 100644 index 0000000..92783bd --- /dev/null +++ b/docs/src/.vuepress/config.ts @@ -0,0 +1,12 @@ +import { defineUserConfig } from "vuepress"; +import theme from "./theme.js"; + +export default defineUserConfig({ + base: "/", + lang: "zh-CN", + title: "文档演示", + description: "liteyuki-docs-description", + theme, + // 和 PWA 一起启用 + // shouldPrefetch: false, +}); diff --git a/docs/src/.vuepress/navbar.ts b/docs/src/.vuepress/navbar.ts new file mode 100644 index 0000000..20467d3 --- /dev/null +++ b/docs/src/.vuepress/navbar.ts @@ -0,0 +1,30 @@ +import { navbar } from "vuepress-theme-hope"; + +export default navbar([ + "/", + "/demo/", + { + text: "指南", + icon: "lightbulb", + prefix: "/guide/", + children: [ + { + text: "Bar", + icon: "lightbulb", + prefix: "bar/", + children: ["baz", { text: "...", icon: "ellipsis", link: "" }], + }, + { + text: "Foo", + icon: "lightbulb", + prefix: "foo/", + children: ["ray", { text: "...", icon: "ellipsis", link: "" }], + }, + ], + }, + { + text: "V2 文档", + icon: "book", + link: "https://theme-hope.vuejs.press/zh/", + }, +]); diff --git a/docs/src/.vuepress/public/assets/icon/apple-icon-152.png b/docs/src/.vuepress/public/assets/icon/apple-icon-152.png new file mode 100644 index 0000000..434fcc3 Binary files /dev/null and b/docs/src/.vuepress/public/assets/icon/apple-icon-152.png differ diff --git a/docs/src/.vuepress/public/assets/icon/chrome-192.png b/docs/src/.vuepress/public/assets/icon/chrome-192.png new file mode 100644 index 0000000..6645f52 Binary files /dev/null and b/docs/src/.vuepress/public/assets/icon/chrome-192.png differ diff --git a/docs/src/.vuepress/public/assets/icon/chrome-512.png b/docs/src/.vuepress/public/assets/icon/chrome-512.png new file mode 100644 index 0000000..a146f00 Binary files /dev/null and b/docs/src/.vuepress/public/assets/icon/chrome-512.png differ diff --git a/docs/src/.vuepress/public/assets/icon/chrome-mask-192.png b/docs/src/.vuepress/public/assets/icon/chrome-mask-192.png new file mode 100644 index 0000000..530977a Binary files /dev/null and b/docs/src/.vuepress/public/assets/icon/chrome-mask-192.png differ diff --git a/docs/src/.vuepress/public/assets/icon/chrome-mask-512.png b/docs/src/.vuepress/public/assets/icon/chrome-mask-512.png new file mode 100644 index 0000000..a4f90ae Binary files /dev/null and b/docs/src/.vuepress/public/assets/icon/chrome-mask-512.png differ diff --git a/docs/src/.vuepress/public/assets/icon/guide-maskable.png b/docs/src/.vuepress/public/assets/icon/guide-maskable.png new file mode 100644 index 0000000..75449b6 Binary files /dev/null and b/docs/src/.vuepress/public/assets/icon/guide-maskable.png differ diff --git a/docs/src/.vuepress/public/assets/icon/ms-icon-144.png b/docs/src/.vuepress/public/assets/icon/ms-icon-144.png new file mode 100644 index 0000000..2464124 Binary files /dev/null and b/docs/src/.vuepress/public/assets/icon/ms-icon-144.png differ diff --git a/docs/src/.vuepress/public/assets/image/advanced.svg b/docs/src/.vuepress/public/assets/image/advanced.svg new file mode 100644 index 0000000..c27ede5 --- /dev/null +++ b/docs/src/.vuepress/public/assets/image/advanced.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/src/.vuepress/public/assets/image/blog.svg b/docs/src/.vuepress/public/assets/image/blog.svg new file mode 100644 index 0000000..00fc40d --- /dev/null +++ b/docs/src/.vuepress/public/assets/image/blog.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/src/.vuepress/public/assets/image/box.svg b/docs/src/.vuepress/public/assets/image/box.svg new file mode 100644 index 0000000..9e6408e --- /dev/null +++ b/docs/src/.vuepress/public/assets/image/box.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/src/.vuepress/public/assets/image/features.svg b/docs/src/.vuepress/public/assets/image/features.svg new file mode 100644 index 0000000..6d62739 --- /dev/null +++ b/docs/src/.vuepress/public/assets/image/features.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/src/.vuepress/public/assets/image/github-dark.svg b/docs/src/.vuepress/public/assets/image/github-dark.svg new file mode 100644 index 0000000..37fa923 --- /dev/null +++ b/docs/src/.vuepress/public/assets/image/github-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/src/.vuepress/public/assets/image/github-light.svg b/docs/src/.vuepress/public/assets/image/github-light.svg new file mode 100644 index 0000000..d5e6491 --- /dev/null +++ b/docs/src/.vuepress/public/assets/image/github-light.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/src/.vuepress/public/assets/image/layout.svg b/docs/src/.vuepress/public/assets/image/layout.svg new file mode 100644 index 0000000..da754b5 --- /dev/null +++ b/docs/src/.vuepress/public/assets/image/layout.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/src/.vuepress/public/assets/image/markdown.svg b/docs/src/.vuepress/public/assets/image/markdown.svg new file mode 100644 index 0000000..72056c9 --- /dev/null +++ b/docs/src/.vuepress/public/assets/image/markdown.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/src/.vuepress/public/favicon.ico b/docs/src/.vuepress/public/favicon.ico new file mode 100644 index 0000000..b411f79 Binary files /dev/null and b/docs/src/.vuepress/public/favicon.ico differ diff --git a/docs/src/.vuepress/public/logo.png b/docs/src/.vuepress/public/logo.png new file mode 100644 index 0000000..ccd732e Binary files /dev/null and b/docs/src/.vuepress/public/logo.png differ diff --git a/docs/src/.vuepress/public/logo.svg b/docs/src/.vuepress/public/logo.svg new file mode 100644 index 0000000..364d184 --- /dev/null +++ b/docs/src/.vuepress/public/logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/src/.vuepress/sidebar.ts b/docs/src/.vuepress/sidebar.ts new file mode 100644 index 0000000..a2b1556 --- /dev/null +++ b/docs/src/.vuepress/sidebar.ts @@ -0,0 +1,25 @@ +import { sidebar } from "vuepress-theme-hope"; + +export default sidebar({ + "/": [ + "", + { + text: "案例", + icon: "laptop-code", + prefix: "demo/", + link: "demo/", + children: "structure", + }, + { + text: "文档", + icon: "book", + prefix: "guide/", + children: "structure", + }, + { + text: "幻灯片", + icon: "person-chalkboard", + link: "https://plugin-md-enhance.vuejs.press/zh/guide/content/revealjs/demo.html", + }, + ], +}); diff --git a/docs/src/.vuepress/styles/config.scss b/docs/src/.vuepress/styles/config.scss new file mode 100644 index 0000000..f91061d --- /dev/null +++ b/docs/src/.vuepress/styles/config.scss @@ -0,0 +1,3 @@ +// you can change config here +$colors: #c0392b, #d35400, #f39c12, #27ae60, #16a085, #2980b9, #8e44ad, #2c3e50, + #7f8c8d !default; diff --git a/docs/src/.vuepress/styles/index.scss b/docs/src/.vuepress/styles/index.scss new file mode 100644 index 0000000..f6af387 --- /dev/null +++ b/docs/src/.vuepress/styles/index.scss @@ -0,0 +1 @@ +// place your custom styles here diff --git a/docs/src/.vuepress/styles/palette.scss b/docs/src/.vuepress/styles/palette.scss new file mode 100644 index 0000000..356a428 --- /dev/null +++ b/docs/src/.vuepress/styles/palette.scss @@ -0,0 +1,2 @@ +// you can change colors here +$theme-color: #096dd9; diff --git a/docs/src/.vuepress/theme.ts b/docs/src/.vuepress/theme.ts new file mode 100644 index 0000000..2b9fdc1 --- /dev/null +++ b/docs/src/.vuepress/theme.ts @@ -0,0 +1,187 @@ +import { hopeTheme } from "vuepress-theme-hope"; +import navbar from "./navbar.js"; +import sidebar from "./sidebar.js"; + +export default hopeTheme({ + hostname: "https://vuepress-theme-hope-docs-demo.netlify.app", + + author: { + name: "Mr.Hope", + url: "https://mister-hope.com", + }, + + iconAssets: "fontawesome-with-brands", + + logo: "https://theme-hope-assets.vuejs.press/logo.svg", + + repo: "vuepress-theme-hope/vuepress-theme-hope", + + docsDir: "src", + + // 导航栏 + navbar, + + // 侧边栏 + sidebar, + + // 页脚 + footer: "默认页脚", + displayFooter: true, + + // 加密配置 + encrypt: { + config: { + "/demo/encrypt.html": ["1234"], + }, + }, + + // 多语言配置 + metaLocales: { + editLink: "在 GitHub 上编辑此页", + }, + + // 如果想要实时查看任何改变,启用它。注: 这对更新性能有很大负面影响 + // hotReload: true, + + // 在这里配置主题提供的插件 + plugins: { + // 你应该自行生成自己的评论服务 + comment: { + provider: "Giscus", + repo: "vuepress-theme-hope/giscus-discussions", + repoId: "R_kgDOG_Pt2A", + category: "Announcements", + categoryId: "DIC_kwDOG_Pt2M4COD69", + }, + + components: { + components: ["Badge", "VPCard"], + }, + + // 此处开启了很多功能用于演示,你应仅保留用到的功能。 + mdEnhance: { + align: true, + attrs: true, + codetabs: true, + component: true, + demo: true, + figure: true, + imgLazyload: true, + imgSize: true, + include: true, + mark: true, + stylize: [ + { + matcher: "Recommended", + replacer: ({ tag }) => { + if (tag === "em") + return { + tag: "Badge", + attrs: { type: "tip" }, + content: "Recommended", + }; + }, + }, + ], + sub: true, + sup: true, + tabs: true, + vPre: true, + + // 在启用之前安装 chart.js + // chart: true, + + // insert component easily + + // 在启用之前安装 echarts + // echarts: true, + + // 在启用之前安装 flowchart.ts + // flowchart: true, + + // gfm requires mathjax-full to provide tex support + // gfm: true, + + // 在启用之前安装 katex + // katex: true, + + // 在启用之前安装 mathjax-full + // mathjax: true, + + // 在启用之前安装 mermaid + // mermaid: true, + + // playground: { + // presets: ["ts", "vue"], + // }, + + // 在启用之前安装 reveal.js + // revealJs: { + // plugins: ["highlight", "math", "search", "notes", "zoom"], + // }, + + // 在启用之前安装 @vue/repl + // vuePlayground: true, + + // install sandpack-vue3 before enabling it + // sandpack: true, + }, + + // 如果你需要 PWA。安装 @vuepress/plugin-pwa 并取消下方注释 + // pwa: { + // favicon: "/favicon.ico", + // cacheHTML: true, + // cachePic: true, + // appendBase: true, + // apple: { + // icon: "/assets/icon/apple-icon-152.png", + // statusBarColor: "black", + // }, + // msTile: { + // image: "/assets/icon/ms-icon-144.png", + // color: "#ffffff", + // }, + // manifest: { + // icons: [ + // { + // src: "/assets/icon/chrome-mask-512.png", + // sizes: "512x512", + // purpose: "maskable", + // type: "image/png", + // }, + // { + // src: "/assets/icon/chrome-mask-192.png", + // sizes: "192x192", + // purpose: "maskable", + // type: "image/png", + // }, + // { + // src: "/assets/icon/chrome-512.png", + // sizes: "512x512", + // type: "image/png", + // }, + // { + // src: "/assets/icon/chrome-192.png", + // sizes: "192x192", + // type: "image/png", + // }, + // ], + // shortcuts: [ + // { + // name: "Demo", + // short_name: "Demo", + // url: "/demo/", + // icons: [ + // { + // src: "/assets/icon/guide-maskable.png", + // sizes: "192x192", + // purpose: "maskable", + // type: "image/png", + // }, + // ], + // }, + // ], + // }, + // }, + }, +}); diff --git a/docs/src/README.md b/docs/src/README.md new file mode 100644 index 0000000..470b9fd --- /dev/null +++ b/docs/src/README.md @@ -0,0 +1,285 @@ +--- +home: true +icon: home +title: 项目主页 +heroImage: https://cdn.liteyuki.icu/static/img/logo.png +bgImage: "https://cdn.liteyuki.icu/static/img/gra.png" +bgImageDark: https://theme-hope-assets.vuejs.press/bg/6-dark.svg +bgImageStyle: + background-attachment: fixed +heroText: LiteyukiBot 6 +tagline: 一个基于Nonebot的OneBot标准的聊天机器人 +actions: + - text: 使用指南 + icon: lightbulb + link: ./demo/ + type: primary + + - text: 文档 + link: ./guide/ + +highlights: + - header: 安装 + image: /assets/image/box.svg + bgImage: https://theme-hope-assets.vuejs.press/bg/3-light.svg + bgImageDark: https://theme-hope-assets.vuejs.press/bg/3-dark.svg + highlights: + - title: 安装GitPython3.10+环境 + - title: 使用git clone https://github.com/snowykami/LiteyukiBot克隆项目到本地。 + details: 你也可以使用 Gitee 镜像:https://gitee.com/snowykami/LiteyukiBot。 + - title: 使用cd LiteyukiBot切入到项目目录 + - title: 使用pip install -r requirements.txt安装依赖项 + details: 部分情况下需要指定Python安装,请使用python -m pip install -r requirements.txt + - title: 使用python main.py启动你的机器人 + + - header: 在 Markdown 中添加你想要的内容 + description: 我们扩展了标准的 CommonMark 规范,为你添加了成吨功能。 + image: /assets/image/markdown.svg + bgImage: https://theme-hope-assets.vuejs.press/bg/2-light.svg + bgImageDark: https://theme-hope-assets.vuejs.press/bg/2-dark.svg + bgImageStyle: + background-repeat: repeat + background-size: initial + features: + - title: 链接检查 + icon: clipboard-check + details: 检查 Markdown 链接 + link: https://theme-hope.vuejs.press/zh/guide/markdown/others.html#link-check + + - title: 提示容器支持 + icon: box-archive + details: 用样式装饰 Markdown 内容 + link: https://theme-hope.vuejs.press/zh/guide/markdown/hint.html + + - title: GFM 警告 + icon: bell + details: GFM 风格的警告容器 + link: https://theme-hope.vuejs.press/zh/guide/markdown/alert.html + + - title: 选项卡 + icon: table-columns + details: 使用选项卡对相似内容进行分组 + link: https://theme-hope.vuejs.press/zh/guide/markdown/tabs.html + + - title: 代码组 + icon: code + details: 使用选项卡对相似代码进行分组 + link: https://theme-hope.vuejs.press/zh/guide/markdown/code-tabs.html + + - title: 自定义对齐支持 + icon: align-center + details: 让你在 Markdown 中对段落进行对齐 + link: https://theme-hope.vuejs.press/zh/guide/markdown/align.html + + - title: 自定义属性支持 + icon: code + details: 让你为 Markdown 元素添加属性 + link: https://theme-hope.vuejs.press/zh/guide/markdown/attrs.html + + - title: 上下角标支持 + icon: superscript + details: 你的 Markdown 现在将支持上下角标 + link: https://theme-hope.vuejs.press/zh/guide/markdown/sup-sub.html + + - title: 脚注 + icon: quote-left + details: 你的 Markdown 现在将支持脚注 + link: https://theme-hope.vuejs.press/zh/guide/markdown/footnote.html + + - title: 标记支持 + icon: highlighter + details: 让你在 Markdown 中对词句进行标记 + link: https://theme-hope.vuejs.press/zh/guide/markdown/mark.html + + - title: 任务列表 + icon: square-check + details: 在 Markdown 中使用任务列表 + link: https://theme-hope.vuejs.press/zh/guide/markdown/tasklist.html + + - title: 图片语法 + icon: image + details: 使用改进的语法指定图片大小与颜色模式 + link: https://theme-hope.vuejs.press/zh/guide/markdown/image.html + + - title: 组件支持 + icon: puzzle-piece + details: 在 Markdown 中轻松插入组件 + link: https://theme-hope.vuejs.press/zh/guide/markdown/component.html + + - title: 图表支持 + icon: chart-simple + details: 在 Markdown 中展示图表 + link: https://theme-hope.vuejs.press/zh/guide/markdown/chartjs.html + + - title: 流程图支持 + icon: route + details: 可以在 Markdown 中直接写出流程图 + link: https://theme-hope.vuejs.press/zh/guide/markdown/flowchart.html + + - title: Mermaid 支持 + icon: chart-pie + details: 可以在 Markdown 中添加 Mermaid 图例 + link: https://theme-hope.vuejs.press/zh/guide/markdown/mermaid.html + + - title: Tex 支持 + icon: square-root-variable + details: Markdown 现在也可以支持 Tex 语法以显示公式 + link: https://theme-hope.vuejs.press/zh/guide/markdown/tex.html + + - title: 导入文件支持 + icon: fab fa-markdown + details: 将你的文档分段,并在 Markdown 中导入 + link: https://theme-hope.vuejs.press/zh/guide/markdown/include.html + + - title: 交互演示支持 + icon: code + details: 你可以在 Markdown 中添加交互演示 + link: https://theme-hope.vuejs.press/zh/guide/markdown/playground.html + + - title: Vue 交互演示支持 + icon: fab fa-vuejs + details: 在交互演示中展示 Vue 组件 + link: https://theme-hope.vuejs.press/zh/guide/markdown/vue-playground.html + + - title: Sandpack 交互演示支持 + icon: code + details: Sandpack 驱动的实时的编码环境 + link: https://theme-hope.vuejs.press/zh/guide/markdown/sandpack.html + + - title: 代码案例支持 + icon: laptop-code + details: 你可以很方便的插入代码案例 + link: https://theme-hope.vuejs.press/zh/guide/markdown/demo.html + + - title: 幻灯片支持 + icon: person-chalkboard + details: 通过 Reveal.js 在 Markdown 中插入幻灯片 + link: https://theme-hope.vuejs.press/zh/guide/markdown/revealjs.html + + - header: 布局 + description: 一个带有完整无障碍支持的响应式布局。 + image: /assets/image/layout.svg + bgImage: https://theme-hope-assets.vuejs.press/bg/5-light.svg + bgImageDark: https://theme-hope-assets.vuejs.press/bg/5-dark.svg + highlights: + - title: 布局增强 + icon: object-group + details: 添加路径导航、页脚、改进的导航栏、改进的页面导航等。 + link: https://theme-hope.vuejs.press/zh/guide/layout/ + + - title: 深色模式 + icon: circle-half-stroke + details: 可以自由切换浅色模式与深色模式 + link: https://theme-hope.vuejs.press/zh/guide/interface/darkmode.html + + - title: 主题色切换 + icon: palette + details: 支持自定义主题色并允许用户在预设的主题颜色之间切换 + link: https://theme-hope.vuejs.press/zh/guide/interface/theme-color.html + + - title: 幻灯片页面 + icon: person-chalkboard + details: 添加幻灯片页面以显示你喜欢的内容 + link: https://theme-hope.vuejs.press/zh/guide/layout/slides + + - title: 更多 + icon: ellipsis + details: RTL 布局,打印支持,全局按钮等 + link: https://theme-hope.vuejs.press/zh/guide/interface/others.html + + - header: 新功能 + image: /assets/image/features.svg + bgImage: https://theme-hope-assets.vuejs.press/bg/1-light.svg + bgImageDark: https://theme-hope-assets.vuejs.press/bg/1-dark.svg + features: + - title: 浏览量与评论 + icon: comment-dots + details: 配合 Waline 来开启阅读量统计与评论支持 + link: https://theme-hope.vuejs.press/zh/guide/feature/comment.html + + - title: 文章信息 + icon: circle-info + details: 为你的文章添加作者、写作日期、预计阅读时间、字数统计等信息 + link: https://theme-hope.vuejs.press/zh/guide/feature/page-info.html + + - title: 文章加密 + icon: lock + details: 你可以为你的特定页面或特定目录进行加密,以便陌生人不能随意访问它们 + link: https://theme-hope.vuejs.press/zh/guide/feature/encrypt.html + + - title: 搜索支持 + icon: search + details: 支持 docsearch 和基于客户端的搜索 + link: https://theme-hope.vuejs.press/zh/guide/feature/search.html + + - title: 代码复制 + icon: copy + details: 一键复制代码块中的代码 + link: https://theme-hope.vuejs.press/zh/guide/feature/copy-code.html + + - title: 图片预览 + icon: image + details: 像相册一样允许你浏览、缩放并分享你的页面图片 + link: https://theme-hope.vuejs.press/zh/guide/feature/photo-swipe.html + + - header: 博客 + description: 通过主题创建个人博客 + image: /assets/image/blog.svg + bgImage: https://theme-hope-assets.vuejs.press/bg/5-light.svg + bgImageDark: https://theme-hope-assets.vuejs.press/bg/5-dark.svg + highlights: + - title: 博客功能 + icon: blog + details: 通过文章的日期、标签和分类展示文章 + link: https://theme-hope.vuejs.press/zh/guide/blog/intro.html + + - title: 博客主页 + icon: home + details: 全新博客主页 + link: https://theme-hope.vuejs.press/zh/guide/blog/home.html + + - title: 博主信息 + icon: home + details: 自定义名称、头像、座右铭和社交媒体链接 + link: https://theme-hope.vuejs.press/zh/guide/blog/blogger.html + + - title: 时间线 + icon: home + details: 在时间线中浏览和通读博文 + link: https://theme-hope.vuejs.press/zh/guide/blog/timeline.html + + - header: 高级 + description: 增强站点与用户体验的高级功能 + image: /assets/image/advanced.svg + bgImage: https://theme-hope-assets.vuejs.press/bg/4-light.svg + bgImageDark: https://theme-hope-assets.vuejs.press/bg/4-dark.svg + highlights: + - title: SEO 增强 + icon: dumbbell + details: 将最终生成的网页针对搜索引擎进行优化。 + link: https://theme-hope.vuejs.press/zh/guide/advanced/seo.html + + - title: Sitemap + icon: sitemap + details: 自动为你的网站生成 Sitemap + link: https://theme-hope.vuejs.press/zh/guide/advanced/sitemap.html + + - title: Feed 支持 + icon: rss + details: 生成你的 Feed,并通知你的用户订阅它 + link: https://theme-hope.vuejs.press/zh/guide/advanced/feed.html + + - title: PWA 支持 + icon: mobile-screen + details: 让你的网站更像一个 APP + link: https://theme-hope.vuejs.press/zh/guide/advanced/pwa.html + +copyright: false +footer: 使用 VuePress Theme Hope 主题 | MIT 协议, 版权所有 © 2019-present Mr.Hope +--- + +这是项目主页的案例。你可以在这里放置你的主体内容。 + +想要使用此布局,你需要在页面 front matter 中设置 `home: true`。 + +配置项的相关说明详见 [项目主页配置](https://theme-hope.vuejs.press/zh/guide/layout/home/)。 diff --git a/docs/src/demo/README.md b/docs/src/demo/README.md new file mode 100644 index 0000000..31ede9b --- /dev/null +++ b/docs/src/demo/README.md @@ -0,0 +1,9 @@ +--- +title: 主要功能与配置演示 +index: false +icon: laptop-code +category: + - 使用指南 +--- + + diff --git a/docs/src/demo/disable.md b/docs/src/demo/disable.md new file mode 100644 index 0000000..ff54b57 --- /dev/null +++ b/docs/src/demo/disable.md @@ -0,0 +1,42 @@ +--- +title: 布局与功能禁用 +icon: gears +order: 4 +category: + - 使用指南 +tag: + - 禁用 + +navbar: false +sidebar: false + +breadcrumb: false +pageInfo: false +contributors: false +editLink: false +lastUpdated: false +prev: false +next: false +comment: false +footer: false + +backtotop: false +--- + +你可以通过设置页面的 Frontmatter,在页面禁用功能与布局。 + + + +本页面就是一个示例,禁用了如下功能: + +- 导航栏 +- 侧边栏 +- 路径导航 +- 页面信息 +- 贡献者 +- 编辑此页链接 +- 更新时间 +- 上一篇/下一篇 链接 +- 评论 +- 页脚 +- 返回顶部按钮 diff --git a/docs/src/demo/encrypt.md b/docs/src/demo/encrypt.md new file mode 100644 index 0000000..20d8d23 --- /dev/null +++ b/docs/src/demo/encrypt.md @@ -0,0 +1,15 @@ +--- +icon: lock +category: + - 使用指南 +tag: + - 加密 +--- + +# 密码加密的文章 + +实际的文章内容。 + +段落 1 文字段落 1 文字段落 1 文字段落 1 文字段落 1 文字段落 1 文字段落 1 文字段落 1 文字段落 1 文字段落 1 文字段落 1 文字段落 1 文字。 + +段落 2 文字段落 2 文字段落 2 文字段落 2 文字段落 2 文字段落 2 文字段落 2 文字段落 2 文字段落 2 文字段落 2 文字段落 2 文字段落 2 文字段落 2 文字段落 2 文字。 diff --git a/docs/src/demo/layout.md b/docs/src/demo/layout.md new file mode 100644 index 0000000..b89b60a --- /dev/null +++ b/docs/src/demo/layout.md @@ -0,0 +1,31 @@ +--- +title: 布局 +icon: object-group +order: 2 +category: + - 指南 +tag: + - 布局 +--- + +布局包括: + +- [导航栏](https://theme-hope.vuejs.press/zh/guide/layout/navbar.html) +- [侧边栏](https://theme-hope.vuejs.press/zh/guide/layout/sidebar.html) +- [页脚](https://theme-hope.vuejs.press/zh/guide/layout/footer.html) + +同时每个页面包含: + +- [路径导航](https://theme-hope.vuejs.press/zh/guide/layout/breadcrumb.html) +- [标题和页面信息](https://theme-hope.vuejs.press/zh/guide/feature/page-info.html) +- [TOC (文章标题列表)](https://theme-hope.vuejs.press/zh/guide/layout/page.html#标题列表) +- [贡献者、更新时间等页面元信息](https://theme-hope.vuejs.press/guide/feature/meta.html) +- [评论](https://theme-hope.vuejs.press/zh/guide/feature/comment.html) + +主题也带有以下元素: + +- [夜间模式按钮](https://theme-hope.vuejs.press/zh/guide/interface/darkmode.html) +- [返回顶部按钮](https://theme-hope.vuejs.press/guide/interface/others.html#返回顶部按钮) +- [打印按钮](https://theme-hope.vuejs.press/guide/interface/others.html#打印按钮) + +你可以在主题选项和页面的 frontmatter 中自定义它们。 diff --git a/docs/src/demo/markdown.md b/docs/src/demo/markdown.md new file mode 100644 index 0000000..dd4e7c0 --- /dev/null +++ b/docs/src/demo/markdown.md @@ -0,0 +1,269 @@ +--- +title: Markdown 展示 +icon: fab fa-markdown +order: 2 +category: + - 使用指南 +tag: + - Markdown +--- + +VuePress 主要从 Markdown 文件生成页面。因此,你可以使用它轻松生成文档或博客站点。 + +你应该创建和编写 Markdown 文件,以便 VuePress 可以根据文件结构将它们转换为不同的页面。 + + + +## Markdown 介绍 + +如果你是一个新手,还不会编写 Markdown,请先阅读 [Markdown 介绍](https://theme-hope.vuejs.press/zh/cookbook/markdown/) 和 [Markdown 演示](https://theme-hope.vuejs.press/zh/cookbook/markdown/demo.html)。 + +## Markdown 配置 + +VuePress 通过 Frontmatter 为每个 Markdown 页面引入配置。 + +::: info + +Frontmatter 是 VuePress 中很重要的一个概念,如果你不了解它,你需要阅读 [Frontmatter 介绍](https://theme-hope.vuejs.press/zh/cookbook/vuepress/page.html#front-matter)。 + +::: + +## Markdown 扩展 + +VuePress 会使用 [markdown-it](https://github.com/markdown-it/markdown-it) 来解析 Markdown 内容,因此可以借助于 markdown-it 插件来实现 [语法扩展](https://github.com/markdown-it/markdown-it#syntax-extensions) 。 + +### VuePress 扩展 + +为了丰富文档写作,VuePress 对 Markdown 语法进行了扩展。 + +关于这些扩展,请阅读 [VuePress 中的 Markdown 扩展](https://theme-hope.vuejs.press/zh/cookbook/vuepress/markdown.html)。 + +### 主题扩展 + +通过 [`vuepress-plugin-md-enhance`][md-enhance],主题扩展了更多 Markdown 语法,提供更加丰富的写作功能。 + +#### 提示容器 + +::: v-pre + +安全的在 Markdown 中使用 {{ variable }}。 + +::: + +::: info 自定义标题 + +信息容器,包含 `代码` 与 [链接](#提示容器)。 + +```js +const a = 1; +``` + +::: + +::: tip 自定义标题 + +提示容器 + +::: + +::: warning 自定义标题 + +警告容器 + +::: + +::: caution 自定义标题 + +危险容器 + +::: + +::: details 自定义标题 + +详情容器 + +::: + +- [查看详情](https://theme-hope.vuejs.press/zh/guide/markdown/hint.html) + +#### 代码块 + +::: code-tabs + +@tab pnpm + +```bash +pnpm add -D vuepress-theme-hope +``` + +@tab yarn + +```bash +yarn add -D vuepress-theme-hope +``` + +@tab:active npm + +```bash +npm i -D vuepress-theme-hope +``` + +::: + +- [查看详情](https://theme-hope.vuejs.press/zh/guide/markdown/code-tabs.html) + +#### 上下角标 + +19^th^ H~2~O + +- [查看详情](https://theme-hope.vuejs.press/zh/guide/markdown/sup-sub.html) + +#### 自定义对齐 + +::: center + +我是居中的 + +::: + +::: right + +我在右对齐 + +::: + +- [查看详情](https://theme-hope.vuejs.press/zh/guide/markdown/align.html) + +#### Attrs + +一个拥有 ID 的 **单词**{#word}。 + +- [查看详情](https://theme-hope.vuejs.press/zh/guide/markdown/attrs.html) + +#### 脚注 + +此文字有脚注[^first]. + +[^first]: 这是脚注内容 + +- [查看详情](https://theme-hope.vuejs.press/zh/guide/markdown/footnote.html) + +#### 标记 + +你可以标记 ==重要的内容== 。 + +- [查看详情](https://theme-hope.vuejs.press/zh/guide/markdown/mark.html) + +#### 任务列表 + +- [x] 计划 1 +- [ ] 计划 2 + +- [查看详情](https://theme-hope.vuejs.press/zh/guide/markdown/tasklist.html) + +### 图片增强 + +支持为图片设置颜色模式和大小 + +- [查看详情](https://theme-hope.vuejs.press/zh/guide/markdown/image.html) + +#### 组件 + +```component VPCard +title: Mr.Hope +desc: Where there is light, there is hope +logo: https://mister-hope.com/logo.svg +link: https://mister-hope.com +background: rgba(253, 230, 138, 0.15) +``` + +- [查看详情](https://theme-hope.vuejs.press/zh/guide/markdown/component.html) + +#### 导入文件 + + + +- [查看详情](https://theme-hope.vuejs.press/zh/guide/markdown/include.html) + +#### 样式化 + +向 Mr.Hope 捐赠一杯咖啡。 _Recommended_ + +- [查看详情](https://theme-hope.vuejs.press/zh/guide/markdown/stylize.html) + +#### Tex 语法 + +$$ +\frac {\partial^r} {\partial \omega^r} \left(\frac {y^{\omega}} {\omega}\right) += \left(\frac {y^{\omega}} {\omega}\right) \left\{(\log y)^r + \sum_{i=1}^r \frac {(-1)^i r \cdots (r-i+1) (\log y)^{r-i}} {\omega^i} \right\} +$$ + +- [查看详情](https://theme-hope.vuejs.press/zh/guide/markdown/tex.html) + +#### 图表 + +