diff --git a/docs/.vitepress/config.mts b/docs/.vitepress/config.mts
index f6fdfac..ceb2f96 100644
--- a/docs/.vitepress/config.mts
+++ b/docs/.vitepress/config.mts
@@ -1,5 +1,6 @@
import { defineConfig } from 'vitepress'
import { generateSidebar } from 'vitepress-sidebar';
+import { groupIconMdPlugin, groupIconVitePlugin } from 'vitepress-plugin-group-icons'
const vitepressSidebarOptions = {
/* Options... */
@@ -11,12 +12,18 @@ export default defineConfig({
ignoreDeadLinks: true,
appearance: false,
markdown: {
+ config(md) {
+ md.use(groupIconMdPlugin) //代码组图标
+ },
image: {
lazyLoading: true
},
math: true
},
vite: {
+ plugins: [
+ groupIconVitePlugin() //代码组图标
+ ],
optimizeDeps: {
exclude: [
'@nolebase/vitepress-plugin-enhanced-readabilities/client',
diff --git a/docs/.vitepress/theme/index.ts b/docs/.vitepress/theme/index.ts
index 6b113eb..32e231b 100644
--- a/docs/.vitepress/theme/index.ts
+++ b/docs/.vitepress/theme/index.ts
@@ -8,7 +8,7 @@ import googleAnalytics from 'vitepress-plugin-google-analytics'
import "./components/Layout.vue"
import { inBrowser } from 'vitepress'
import busuanzi from 'busuanzi.pure.js'
-
+import 'virtual:group-icons.css'
import {
NolebaseEnhancedReadabilitiesMenu,
NolebaseEnhancedReadabilitiesPlugin,
diff --git "a/docs/images/\350\264\241\347\214\256\346\214\207\345\215\227/download_git.png" "b/docs/images/\350\264\241\347\214\256\346\214\207\345\215\227/download_git.png"
new file mode 100644
index 0000000..14008fa
Binary files /dev/null and "b/docs/images/\350\264\241\347\214\256\346\214\207\345\215\227/download_git.png" differ
diff --git "a/docs/images/\350\264\241\347\214\256\346\214\207\345\215\227/find_fork.png" "b/docs/images/\350\264\241\347\214\256\346\214\207\345\215\227/find_fork.png"
new file mode 100644
index 0000000..6519134
Binary files /dev/null and "b/docs/images/\350\264\241\347\214\256\346\214\207\345\215\227/find_fork.png" differ
diff --git "a/docs/images/\350\264\241\347\214\256\346\214\207\345\215\227/fork_1.png" "b/docs/images/\350\264\241\347\214\256\346\214\207\345\215\227/fork_1.png"
new file mode 100644
index 0000000..841f328
Binary files /dev/null and "b/docs/images/\350\264\241\347\214\256\346\214\207\345\215\227/fork_1.png" differ
diff --git "a/docs/images/\350\264\241\347\214\256\346\214\207\345\215\227/fork_2.png" "b/docs/images/\350\264\241\347\214\256\346\214\207\345\215\227/fork_2.png"
new file mode 100644
index 0000000..c87e024
Binary files /dev/null and "b/docs/images/\350\264\241\347\214\256\346\214\207\345\215\227/fork_2.png" differ
diff --git "a/docs/\350\264\241\347\214\256\346\214\207\345\215\227.md" "b/docs/\350\264\241\347\214\256\346\214\207\345\215\227.md"
index c5a51d2..353870e 100644
--- "a/docs/\350\264\241\347\214\256\346\214\207\345\215\227.md"
+++ "b/docs/\350\264\241\347\214\256\346\214\207\345\215\227.md"
@@ -1 +1,178 @@
-# 贡献指南
\ No newline at end of file
+# 贡献指南
+
+## 前言
+
+贡献指南是关于 CSBAOYAN2025 相关内容的贡献指南,其中指引不同技术水平的撰写者完成对于 CSBAOYAN2025 内容的贡献。
+
+本部分将讲解详细的贡献流程,其中包括的前置技能有 Git 的使用以及 Markdown 的撰写。相关技能的初步了解可以前往 [廖雪峰的 Git 教程](https://www.liaoxuefeng.com/wiki/896043488029600) 以及 [Markdown 官方教程](https://markdown.com.cn/basic-syntax/) 进行学习。
+
+### 注册 Github 账号
+
+作为贡献者,首先需要注册 Github 账号,这一步十分的简单,前往 [Github 官网](https://github.com/) 并点击 `Sign Up`,根据要求进行注册即可,在这里并不进行过多的讲解。
+
+### 初始化本地 Git 并配置 SSH
+
+在 [Git 官网](https://git-scm.com/) 选择下载 Windows 版本并按照提示进行安装。
+
+![alt text](./images/贡献指南/download_git.png)
+
+在安装中需要注意的是:
+
+- 在 `Select Components` 中选择 `Git LFS`,按需求安装其他组件。
+- 在 `Adjusting the name of the initial branch in new repositories` 中可以选择 `Override the default branch name for new repositories` 并将主分支命名为 `main`(貌似是因为原默认名称 `master` 涉及种族歧视,如今 Github 默认分支为 `main`,最好保持一致)。
+- 在 `Adjusting your PATH environment` 中选择 `Recommended` 的选项。
+- 其他内容选择默认选项即可,或者在互联网进行查询。
+
+安装之后首先设置 Git 的基本信息:
+
+```shell
+git config --global user.name "Your Name"
+git config --global user.email "Your Email"
+```
+
+之后需要配置 SSH,首先需要检查是否已经存在 SSH 密钥,如果存在则跳过此步骤,否则需要进行创建:
+
+```shell
+ssh-keygen -t ed25519 -C "Your Email"
+# 或者使用 ssh-keygen -t rsa -C "Your Email"
+cat ~/.ssh/id_ed25519.pub
+# cat ~/.ssh/id_rsa.pub
+```
+
+将生成的密钥复制到 Github 中的 `Settings` 中的 `SSH and GPG keys` 中的 `New SSH key` 并粘贴。
+
+此时本地理论上已经可以进行 Git 的 push 等操作到远程储存库了。
+
+### Fork 本仓库
+
+进入本仓库的 [Github 主页](https://github.com/CS-BAOYAN/CS-BAOYAN-2025),点击 `Fork` 按钮,即可将本仓库 Fork 到自己的 Github 账号下。
+
+![alt text](./images/贡献指南/fork_1.png)
+
+![alt text](./images/贡献指南/fork_2.png)
+
+Fork 操作本质上是复制了一份本仓库到自己的账号下,并在自己的账号下享有修改的权限,同时可以比较自己账号下的仓库与上游仓库之间的更改差别,Fork后的仓库可以在自己账号的 Repositories 中看到。
+
+![alt text](./images/贡献指南/find_fork.png)
+
+### 克隆仓库
+
+在 Fork 完成之后,在自己 Fork 的仓库中,找到并点击 `< > Code` 按钮,之后点击 `SSH` 按钮,并复制链接。
+
+![alt text](./images/贡献指南/gain_ssh.png)
+
+在本地找到适合保存本项目的文件夹,右键资源管理器,点击 `在终端中打开`,并进行克隆操作。
+
+```shell
+git clone your_ssh
+```
+
+::: warning
+对于之前没有运行过 `git clone` 或者运行 `ssh git@github.com` 的用户,很可能会出现信息提示:
+
+```text
+The authenticity of host 'github.com (xxx.xxx.xxx.xxx)' can't be established.
+xxxxxxx key fingerprint is sHA256:xxx.
+This key is not known by any other names.
+Are you sure you want continue connecting(yes/no/[fingerprint])?
+```
+
+需要明确输入 `yes` 并回车,否则无法正确建立连接。
+:::
+
+### 仓库文件结构
+
+在克隆完成之后,可以使用 [VSCode](https://code.visualstudio.com/) 等编辑器打开文件夹并进行编辑,其中首先需要了解的是文件的结构:
+
+```txt
+├───.github
+├───docs
+│ ├───.vitepress
+│ │ ├───cache
+│ │ └───theme
+│ ├───images
+│ ├───public
+│ ├───folders
+│ └───index.md
+├───node_modules
+├───.gitignore
+├───package.json
+├───pnpm-lock.yaml
+└───tsconfig.json
+```
+
+其中例如 `.gitignore`, `package.json`, `pnpm-lock.yaml`, `tsconfig.json` 均为 Git 以及 Node.js 的相关配置文件,无需过于调整。`docs` 文档中包含 `.vitepress` 内容,此为 VitePress 的配置文件所在的文件夹,而其他的文件夹则按照文档的组织进行排序,其中本项目中全部的图片均维护在 images 文件夹中,而 logo 等资源则维护在 public 文件夹中。
+
+### 安装 NodeJS
+
+前往 [NodeJS 官网](https://nodejs.org/zh-cn/download/prebuilt-installer) 下载预构建安装程序,之后运行并进行安装即可,在这里不进行赘述。
+
+在安装之后进入 Shell 并查看 NodeJS 版本并安装 pnpm:
+
+```shell
+node -v
+npm -v
+npm install -g pnpm
+```
+
+对于 Ubuntu 则可以使用:
+
+```bash
+sudo apt install nodejs
+sudo npm install n -g
+sudo n 20.16.0
+npm -v
+node -v
+# 如果为 20.16.0 则执行,否则重启终端或者尝试执行 hash -r
+npm install -g pnpm
+```
+
+### 构建项目
+
+在项目根目录下打开终端并运行:
+
+```shell
+pnpm i
+pnpm dev
+```
+
+第一行进行依赖的安装,第二行进行项目的运行,此时可以在本地访问网页,具体 url 见终端输出。
+
+### 撰写文档
+
+在了解了文件结构之后便可以开始撰写文档了,确认自己想要撰写的文档所隶属于的类别,并进入该文件夹,新建一个 Markdown 文档,按照 Markdown 文档的语法进行撰写。
+
+与此同时值得注意的是,VitePress 支持部分的 Markdown 拓展语法,这些内容可以在 [官方文档](https://vitepress.dev/zh/guide/markdown) 中查阅。
+
+撰写文档之后进行保存即可。在这里需要注明的是,在 VitePress 中使用图片的插入,所使用的相对路径是相对于 Markdown 文档本身的相对路径,而非相对于项目根目录的相对路径。
+
+### 提交更改
+
+在完成了文档的修改之后,可以使用 Git 进行更改的提交:
+
+```shell
+git pull origin main
+git add .
+git commit -m "your commit message"
+git push origin main
+```
+
+之后可以看到自己的更改已经提交到了自己的 Github 仓库中。
+
+### 发起 Pull Request
+
+假如说进行了成功的提交,可以注意到,自己的仓库中应显示如 `1 commit ahead of` 的字样。点击 `Contribute` 并点击 `Open pull request` 即可发起一个 Pull Request,并等待管理员进行审核。
+
+![alt text](./images/贡献指南/pr_1.png)
+
+请确保 PR 的 title 中表意明确,同时 description 中清晰描述了自己添加的内容,之后点击 `Create pull request` 即可,管理员在收到内容之后会进行审查并给出 `comment` 或直接将你的 PR Merge 进主分支,即完成了贡献。
+
+![alt text](./images/贡献指南/pr_2.png)
+
+### 完成贡献
+
+进行了上述的内容,便成功完成了一次贡献,你的内容将保留在 CABAOYAN2025 中,并为后来者指引方向。
+
+## 致全体贡献者
+
+感谢每一位贡献者的辛勤贡献,你们均无私地将信息进行了开源分享,这有助于未来的每一位保研er更好地求学,并前往更好的地方,更好的提升自我,向你们每一位致以最诚挚的感谢。
\ No newline at end of file
diff --git a/package.json b/package.json
index f3c0e0a..94c87c3 100644
--- a/package.json
+++ b/package.json
@@ -7,6 +7,7 @@
"vitepress-export-pdf": "^1.0.0",
"vitepress-plugin-comment-with-giscus": "^1.1.15",
"vitepress-plugin-google-analytics": "^1.0.2",
+ "vitepress-plugin-group-icons": "^1.2.4",
"vitepress-sidebar": "^1.23.2",
"vue": "^3.4.31"
},
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 0bd8445..d4f20ce 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -29,6 +29,9 @@ importers:
vitepress-plugin-google-analytics:
specifier: ^1.0.2
version: 1.0.2
+ vitepress-plugin-group-icons:
+ specifier: ^1.2.4
+ version: 1.2.4
vitepress-sidebar:
specifier: ^1.23.2
version: 1.23.2
@@ -103,6 +106,12 @@ packages:
'@algolia/transporter@4.24.0':
resolution: {integrity: sha512-86nI7w6NzWxd1Zp9q3413dRshDqAzSbsQjhcDhPIatEFiZrL1/TjnHL8S7jVKFePlIMzDsZWXAXwXzcok9c5oA==}
+ '@antfu/install-pkg@0.4.1':
+ resolution: {integrity: sha512-T7yB5QNG29afhWVkVq7XeIMBa5U/vs9mX69YqayXypPRmYzUmzwnYltplHmPtZ4HPCn+sQKeXW8I47wCbuBOjw==}
+
+ '@antfu/utils@0.7.10':
+ resolution: {integrity: sha512-+562v9k4aI80m1+VuMHehNJWLOFjBnXn3tdOitzD0il5b7smkSBal4+a3oKiQTbrwMmN/TBUMDvbdoWDehgOww==}
+
'@babel/code-frame@7.24.7':
resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==}
engines: {node: '>=6.9.0'}
@@ -309,12 +318,21 @@ packages:
'@iconify-json/icon-park-outline@1.1.15':
resolution: {integrity: sha512-jQbk/ETARyYPjX6HolkdjSLJHsNCfSBfYUqcUQLXYK/1tfuVnQsUdWG2IM2a7VBpxJtrK7r4n1iwPOFaZ5T46g==}
+ '@iconify-json/logos@1.2.0':
+ resolution: {integrity: sha512-VkU9QSqeZR2guWbecdqkcoZEAJfgJJTUm6QAsypuZQ7Cve6zy39wOXDjp2H31I8QyQy4O3Cz96+pNji6UQFg4w==}
+
'@iconify-json/octicon@1.1.55':
resolution: {integrity: sha512-TWVO7olfquviijdmdrEbvpjPTxBmVvU0ZoR9BBx9pIhvEsG7emefrLg7eZm1CYGYM+9StkksDbqha8HCy/6kzQ==}
+ '@iconify-json/vscode-icons@1.2.2':
+ resolution: {integrity: sha512-bTpT0HJDRqGkxQv8oiETNHLEnBZpnA1QaRD35CQyO7M7qgWVLx2xwn/lK6e4waojmlPC3ckMBx3WFIUUn0/Jdg==}
+
'@iconify/types@2.0.0':
resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==}
+ '@iconify/utils@2.1.33':
+ resolution: {integrity: sha512-jP9h6v/g0BIZx0p7XGJJVtkVnydtbgTgt9mVNcGDYwaa7UhdHdI9dvoq+gKj9sijMSJKxUPEG2JyjsgXjxL7Kw==}
+
'@jridgewell/sourcemap-codec@1.4.15':
resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
@@ -564,6 +582,11 @@ packages:
'@vueuse/shared@10.11.0':
resolution: {integrity: sha512-fyNoIXEq3PfX1L3NkNhtVQUSRtqYwJtJg+Bp9rIzculIZWHTkKSysujrOk2J+NrRulLTQH9+3gGSfYLWSEWU1A==}
+ acorn@8.12.1:
+ resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==}
+ engines: {node: '>=0.4.0'}
+ hasBin: true
+
agent-base@7.1.1:
resolution: {integrity: sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==}
engines: {node: '>= 14'}
@@ -737,6 +760,9 @@ packages:
resolution: {integrity: sha512-e2i4wANQiSXgnrBlIatyHtP1odfUp0BbV5Y5nEGbxtIrStkEOAAzCUirvLBNXHLr7kwLvJl6V+4V3XV9x7Wd9w==}
engines: {node: ^12.20.0 || >=14}
+ confbox@0.1.7:
+ resolution: {integrity: sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==}
+
copy-anything@2.0.6:
resolution: {integrity: sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==}
@@ -1068,6 +1094,9 @@ packages:
resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==}
engines: {node: '>=0.10.0'}
+ kolorist@1.8.0:
+ resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==}
+
less@4.2.0:
resolution: {integrity: sha512-P3b3HJDBtSzsXUl0im2L7gTO5Ubg8mEN6G8qoTS77iXxXX4Hvu4Qj540PZDvQ8V6DmX6iXo98k7Md0Cm1PrLaA==}
engines: {node: '>=6'}
@@ -1089,6 +1118,10 @@ packages:
resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ local-pkg@0.5.0:
+ resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==}
+ engines: {node: '>=14'}
+
log-symbols@6.0.0:
resolution: {integrity: sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==}
engines: {node: '>=18'}
@@ -1154,6 +1187,9 @@ packages:
mj-context-menu@0.6.1:
resolution: {integrity: sha512-7NO5s6n10TIV96d4g2uDpG7ZDpIhMh0QNfGdJw/W47JswFcosz457wqz/b5sAKvl12sxINGFCn80NZHKwxQEXA==}
+ mlly@1.7.1:
+ resolution: {integrity: sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==}
+
ms@2.1.2:
resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
@@ -1211,6 +1247,9 @@ packages:
resolution: {integrity: sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==}
engines: {node: '>= 14'}
+ package-manager-detector@0.2.0:
+ resolution: {integrity: sha512-E385OSk9qDcXhcM9LNSe4sdhx8a9mAPrZ4sMLW+tmxl5ZuGtPUcdFu+MPP2jbgiWAZ6Pfe5soGFMd+0Db5Vrog==}
+
pako@0.2.9:
resolution: {integrity: sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==}
@@ -1238,6 +1277,9 @@ packages:
parse5@6.0.1:
resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==}
+ pathe@1.1.2:
+ resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==}
+
pdf-lib@1.17.1:
resolution: {integrity: sha512-V/mpyJAoTsN4cnP31vc0wfNA1+p20evqqnap0KLoRUN0Yk/p3wN52DOEsL4oBFcLdb76hlpKPtzJIgo67j/XLw==}
@@ -1262,6 +1304,9 @@ packages:
resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==}
engines: {node: '>=6'}
+ pkg-types@1.2.0:
+ resolution: {integrity: sha512-+ifYuSSqOQ8CqP4MbZA5hDpb97n3E8SVWdJe+Wms9kj745lmd3b7EZJiqvmLwAlmRfjrI7Hi5z3kdBJ93lFNPA==}
+
postcss@8.4.39:
resolution: {integrity: sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw==}
engines: {node: ^10 || ^12 || >=14}
@@ -1459,6 +1504,9 @@ packages:
tiny-inflate@1.0.3:
resolution: {integrity: sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==}
+ tinyexec@0.3.0:
+ resolution: {integrity: sha512-tVGE0mVJPGb0chKhqmsoosjsS+qUnJVGJpZgsHYQcGoPlG3B51R3PouqTgEGH2Dc9jjFyOqOpix6ZHNMXp1FZg==}
+
to-fast-properties@2.0.0:
resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
engines: {node: '>=4'}
@@ -1476,6 +1524,9 @@ packages:
tslib@2.6.3:
resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==}
+ ufo@1.5.4:
+ resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==}
+
unbzip2-stream@1.4.3:
resolution: {integrity: sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==}
@@ -1548,6 +1599,9 @@ packages:
vitepress-plugin-google-analytics@1.0.2:
resolution: {integrity: sha512-ri8bFUAmt3c/DtPrALauGBIUr2gIJ11c1qNRhwd3/+aiuYZBfQpOosSxcO1AswgwRxP9FwBS6Z7jgdDVyXb2hA==}
+ vitepress-plugin-group-icons@1.2.4:
+ resolution: {integrity: sha512-pxYzphvRy0Jhpgl3lHszH9Z8Qaj83v4bVr0b8Oi4zSIOQW/uuqGAZ8SaYwkZ1f/8a6ckIeIwZiLfLHA6ySCScQ==}
+
vitepress-sidebar@1.23.2:
resolution: {integrity: sha512-CPkWbPypC/cjPCQ2T5T3cY6LlRb6sXUHVqSdOiwKAaHebYA1OgWRS5uUxVvR7CG5JtpxeIU9RPX91p1sQHVtsQ==}
engines: {node: '>=18.0.0'}
@@ -1743,6 +1797,13 @@ snapshots:
'@algolia/logger-common': 4.24.0
'@algolia/requester-common': 4.24.0
+ '@antfu/install-pkg@0.4.1':
+ dependencies:
+ package-manager-detector: 0.2.0
+ tinyexec: 0.3.0
+
+ '@antfu/utils@0.7.10': {}
+
'@babel/code-frame@7.24.7':
dependencies:
'@babel/highlight': 7.24.7
@@ -1901,12 +1962,32 @@ snapshots:
dependencies:
'@iconify/types': 2.0.0
+ '@iconify-json/logos@1.2.0':
+ dependencies:
+ '@iconify/types': 2.0.0
+
'@iconify-json/octicon@1.1.55':
dependencies:
'@iconify/types': 2.0.0
+ '@iconify-json/vscode-icons@1.2.2':
+ dependencies:
+ '@iconify/types': 2.0.0
+
'@iconify/types@2.0.0': {}
+ '@iconify/utils@2.1.33':
+ dependencies:
+ '@antfu/install-pkg': 0.4.1
+ '@antfu/utils': 0.7.10
+ '@iconify/types': 2.0.0
+ debug: 4.3.6
+ kolorist: 1.8.0
+ local-pkg: 0.5.0
+ mlly: 1.7.1
+ transitivePeerDependencies:
+ - supports-color
+
'@jridgewell/sourcemap-codec@1.4.15': {}
'@lit-labs/ssr-dom-shim@1.2.0': {}
@@ -2209,6 +2290,8 @@ snapshots:
- '@vue/composition-api'
- vue
+ acorn@8.12.1: {}
+
agent-base@7.1.1:
dependencies:
debug: 4.3.6
@@ -2391,6 +2474,8 @@ snapshots:
commander@9.2.0: {}
+ confbox@0.1.7: {}
+
copy-anything@2.0.6:
dependencies:
is-what: 3.14.1
@@ -2741,6 +2826,8 @@ snapshots:
kind-of@6.0.3: {}
+ kolorist@1.8.0: {}
+
less@4.2.0:
dependencies:
copy-anything: 2.0.6
@@ -2775,6 +2862,11 @@ snapshots:
load-tsconfig@0.2.5: {}
+ local-pkg@0.5.0:
+ dependencies:
+ mlly: 1.7.1
+ pkg-types: 1.2.0
+
log-symbols@6.0.0:
dependencies:
chalk: 5.3.0
@@ -2836,6 +2928,13 @@ snapshots:
mj-context-menu@0.6.1: {}
+ mlly@1.7.1:
+ dependencies:
+ acorn: 8.12.1
+ pathe: 1.1.2
+ pkg-types: 1.2.0
+ ufo: 1.5.4
+
ms@2.1.2: {}
multimatch@7.0.0:
@@ -2905,6 +3004,8 @@ snapshots:
degenerator: 5.0.1
netmask: 2.0.2
+ package-manager-detector@0.2.0: {}
+
pako@0.2.9: {}
pako@1.0.11: {}
@@ -2930,6 +3031,8 @@ snapshots:
parse5@6.0.1: {}
+ pathe@1.1.2: {}
+
pdf-lib@1.17.1:
dependencies:
'@pdf-lib/standard-fonts': 1.0.0
@@ -2957,6 +3060,12 @@ snapshots:
pify@4.0.1:
optional: true
+ pkg-types@1.2.0:
+ dependencies:
+ confbox: 0.1.7
+ mlly: 1.7.1
+ pathe: 1.1.2
+
postcss@8.4.39:
dependencies:
nanoid: 3.3.7
@@ -3193,6 +3302,8 @@ snapshots:
tiny-inflate@1.0.3: {}
+ tinyexec@0.3.0: {}
+
to-fast-properties@2.0.0: {}
to-regex-range@5.0.1:
@@ -3205,6 +3316,8 @@ snapshots:
tslib@2.6.3: {}
+ ufo@1.5.4: {}
+
unbzip2-stream@1.4.3:
dependencies:
buffer: 5.7.1
@@ -3261,6 +3374,14 @@ snapshots:
vitepress-plugin-google-analytics@1.0.2: {}
+ vitepress-plugin-group-icons@1.2.4:
+ dependencies:
+ '@iconify-json/logos': 1.2.0
+ '@iconify-json/vscode-icons': 1.2.2
+ '@iconify/utils': 2.1.33
+ transitivePeerDependencies:
+ - supports-color
+
vitepress-sidebar@1.23.2:
dependencies:
gray-matter: 4.0.3