From 6363e741ea6cbfab60214e707e045459a4a61889 Mon Sep 17 00:00:00 2001 From: aishangliying Date: Tue, 27 May 2025 16:08:23 +0800 Subject: [PATCH 01/28] feat: .devops/Hello GitLink.yml --- .devops/Hello GitLink.yml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 .devops/Hello GitLink.yml diff --git a/.devops/Hello GitLink.yml b/.devops/Hello GitLink.yml new file mode 100644 index 0000000..b7a3d8c --- /dev/null +++ b/.devops/Hello GitLink.yml @@ -0,0 +1,22 @@ +version: 2 +name: Hello GitLink +description: "" +global: + concurrent: 1 +workflow: + - ref: start + name: 开始 + task: start + - ref: shell_0 + name: shell + image: docker.jianmuhub.com/library/alpine:3.17.0 + script: + - echo 'Hello GitLink' + needs: + - start + - ref: end + name: 结束 + task: end + needs: + - shell_0 + -- 2.34.1 From cc79b549277c6d4b286ce03e9792e0fda94802a7 Mon Sep 17 00:00:00 2001 From: yuyebo22 <3349123936@qq.com> Date: Tue, 27 May 2025 20:02:38 +0800 Subject: [PATCH 03/28] refactor: .devops/Hello GitLink.yml --- .devops/Hello GitLink.yml | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/.devops/Hello GitLink.yml b/.devops/Hello GitLink.yml index b7a3d8c..cb9eac5 100644 --- a/.devops/Hello GitLink.yml +++ b/.devops/Hello GitLink.yml @@ -3,6 +3,15 @@ name: Hello GitLink description: "" global: concurrent: 1 +trigger: + webhook: gitlink@1.0.0 + event: + - ref: push + ruleset: + - param-ref: commit_number + operator: EQ + value: "1" + ruleset-operator: AND workflow: - ref: start name: 开始 @@ -19,4 +28,21 @@ workflow: task: end needs: - shell_0 + - nodejs_build_0 + - ref: nodejs_build_0 + name: nodejs构建 + task: nodejs_build@1.7.0-node22 + input: + workspace: '""' + build_action: '"build"' + build_args: '""' + install_args: '""' + registry_url: '""' + disturl_url: '""' + sass_binary_site_url: '""' + package_management_type: '"yarn"' + vc_package_dir: '"."' + cache_path: '"/cache"' + needs: + - start -- 2.34.1 From 1be9fc6f918afcb6f66a2d4597f47fe18ea56c84 Mon Sep 17 00:00:00 2001 From: yuyebo22 <3349123936@qq.com> Date: Tue, 27 May 2025 20:47:23 +0800 Subject: [PATCH 04/28] refactor: .devops/Hello GitLink.yml --- .devops/Hello GitLink.yml | 53 +++++++++++++++++++++++---------------- 1 file changed, 32 insertions(+), 21 deletions(-) diff --git a/.devops/Hello GitLink.yml b/.devops/Hello GitLink.yml index cb9eac5..aace336 100644 --- a/.devops/Hello GitLink.yml +++ b/.devops/Hello GitLink.yml @@ -16,33 +16,44 @@ workflow: - ref: start name: 开始 task: start - - ref: shell_0 - name: shell - image: docker.jianmuhub.com/library/alpine:3.17.0 - script: - - echo 'Hello GitLink' - needs: - - start - ref: end name: 结束 task: end needs: - shell_0 - - nodejs_build_0 - - ref: nodejs_build_0 - name: nodejs构建 - task: nodejs_build@1.7.0-node22 + - ref: sync_oci_image_0 + name: 同步OCI镜像 + task: sync_oci_image@1.0.5 input: - workspace: '""' - build_action: '"build"' - build_args: '""' - install_args: '""' - registry_url: '""' - disturl_url: '""' - sass_binary_site_url: '""' - package_management_type: '"yarn"' - vc_package_dir: '"."' - cache_path: '"/cache"' + origin_registry_base_url: '""' + origin_registry_address: '""' + origin_owner_ref: '""' + origin_image_ref: '""' + origin_tag: '""' + target_registry_address: '""' + target_owner_ref: '""' + target_image_ref: '""' + target_tag: '""' + os_arches: '""' needs: - start + - ref: shell_0 + name: 自动部署代码 + image: docker.jianmuhub.com/library/ubuntu:22.04 + script: + - echo "=== 开始构建镜像 ===" + - docker build -t my-app . + - docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD my-registry.com + - docker push my-app + - "" + - echo "=== 部署到生产服务器 ===" + - ssh -o StrictHostKeyChecking=no -i /root/.ssh/deploy_key + root@47.98.110.189 << 'EOF' + - docker pull my-app + - docker stop running-app || true + - docker rm running-app || true + - docker run -d --name running-app -p 80:3000 my-app + - EOF + needs: + - sync_oci_image_0 -- 2.34.1 From 3becf44aa5ab90c04c8c54eaeab741130832e358 Mon Sep 17 00:00:00 2001 From: yuyebo22 <3349123936@qq.com> Date: Tue, 27 May 2025 20:50:09 +0800 Subject: [PATCH 08/28] refactor: .devops/Hello GitLink.yml --- .devops/Hello GitLink.yml | 27 +++++++++------------------ 1 file changed, 9 insertions(+), 18 deletions(-) diff --git a/.devops/Hello GitLink.yml b/.devops/Hello GitLink.yml index aace336..f4679c8 100644 --- a/.devops/Hello GitLink.yml +++ b/.devops/Hello GitLink.yml @@ -20,7 +20,7 @@ workflow: name: 结束 task: end needs: - - shell_0 + - ssh_cmd_0 - ref: sync_oci_image_0 name: 同步OCI镜像 task: sync_oci_image@1.0.5 @@ -37,23 +37,14 @@ workflow: os_arches: '""' needs: - start - - ref: shell_0 - name: 自动部署代码 - image: docker.jianmuhub.com/library/ubuntu:22.04 - script: - - echo "=== 开始构建镜像 ===" - - docker build -t my-app . - - docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD my-registry.com - - docker push my-app - - "" - - echo "=== 部署到生产服务器 ===" - - ssh -o StrictHostKeyChecking=no -i /root/.ssh/deploy_key - root@47.98.110.189 << 'EOF' - - docker pull my-app - - docker stop running-app || true - - docker rm running-app || true - - docker run -d --name running-app -p 80:3000 my-app - - EOF + - ref: ssh_cmd_0 + name: ssh执行命令 + task: ssh_cmd@1.1.1 + input: + ssh_ip: '""' + ssh_port: '"22"' + ssh_user: '"root"' + ssh_cmd: '""' needs: - sync_oci_image_0 -- 2.34.1 From 0834fe5a342403f21bae3e29f5f78f8281d7a1df Mon Sep 17 00:00:00 2001 From: aishangliying Date: Tue, 27 May 2025 21:01:03 +0800 Subject: [PATCH 09/28] refactor: .devops/Hello GitLink.yml --- .devops/Hello GitLink.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.devops/Hello GitLink.yml b/.devops/Hello GitLink.yml index f4679c8..a5e28e0 100644 --- a/.devops/Hello GitLink.yml +++ b/.devops/Hello GitLink.yml @@ -41,7 +41,9 @@ workflow: name: ssh执行命令 task: ssh_cmd@1.1.1 input: - ssh_ip: '""' + ssh_pass: ((ssh.ssh)) + ssh_private_key: ((ssh.ssh)) + ssh_ip: '"47.98.110.189"' ssh_port: '"22"' ssh_user: '"root"' ssh_cmd: '""' -- 2.34.1 From 35a7abb19d83c7f29e7c7ffd19a4baa165d09647 Mon Sep 17 00:00:00 2001 From: aishangliying Date: Tue, 27 May 2025 21:02:07 +0800 Subject: [PATCH 10/28] refactor: .devops/Hello GitLink.yml --- .devops/Hello GitLink.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.devops/Hello GitLink.yml b/.devops/Hello GitLink.yml index a5e28e0..0054441 100644 --- a/.devops/Hello GitLink.yml +++ b/.devops/Hello GitLink.yml @@ -42,7 +42,6 @@ workflow: task: ssh_cmd@1.1.1 input: ssh_pass: ((ssh.ssh)) - ssh_private_key: ((ssh.ssh)) ssh_ip: '"47.98.110.189"' ssh_port: '"22"' ssh_user: '"root"' -- 2.34.1 From e2e55976dd5509128ebe98dcb6dcae203e49dc6f Mon Sep 17 00:00:00 2001 From: aishangliying Date: Thu, 29 May 2025 14:54:59 +0800 Subject: [PATCH 11/28] =?UTF-8?q?refactor:=20.devops/=E6=9C=AA=E5=91=BD?= =?UTF-8?q?=E5=90=8D=E9=A1=B9=E7=9B=AE.yml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .devops/未命名项目.yml | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/.devops/未命名项目.yml b/.devops/未命名项目.yml index 540e9f7..612247a 100644 --- a/.devops/未命名项目.yml +++ b/.devops/未命名项目.yml @@ -7,6 +7,10 @@ trigger: webhook: gitlink@1.0.0 event: - ref: push + ruleset: + - param-ref: commit_number + operator: EQ + value: "1" ruleset-operator: AND workflow: - ref: start @@ -16,9 +20,7 @@ workflow: name: git clone task: git_clone@1.2.9 input: - username: ((ganshihao21.ganshihao21_user)) - password: ((ganshihao21.ganshihao21)) - remote_url: '"https://gitlink.org.cn/ganshihao21/reposync.git"' + remote_url: '""' ref: '"refs/heads/master"' commit_id: '""' depth: 1 @@ -28,14 +30,12 @@ workflow: name: docker镜像构建 task: docker_image_build@1.6.0 input: - docker_username: ((nudt_devops.nudt_devops)) - docker_password: ((nudt_devops.nudt_devops)) - image_name: '"registry.cn-guangzhou.aliyuncs.com/nudt_devops/reposync_group5"' + image_name: '""' image_tag: '"latest"' - registry_address: '"registry.cn-guangzhou.aliyuncs.com"' + registry_address: '""' docker_file: '"Dockerfile"' docker_build_path: '"."' - workspace: git_clone_0.git_path + workspace: '"."' image_push: true build_args: '""' needs: @@ -44,14 +44,10 @@ workflow: name: ssh执行命令 task: ssh_cmd@1.1.1 input: - ssh_pass: ((ssh_key.ssh_key)) - ssh_ip: '"47.96.164.145"' + ssh_ip: '""' ssh_port: '"22"' ssh_user: '"root"' - ssh_cmd: '"docker stop abc_group5 && docker rm abc_group5 && docker pull - registry.cn-guangzhou.aliyuncs.com/nudt_devops/reposync_group5:latest && - docker run -d -p 3000:3000 --name abc_group5 - registry.cn-guangzhou.aliyuncs.com/nudt_devops/reposync_group5:latest"' + ssh_cmd: '""' needs: - docker_image_build_0 - ref: end -- 2.34.1 From f3a4831799b2fb5f5fa95885c43c91a8fe999307 Mon Sep 17 00:00:00 2001 From: aishangliying Date: Thu, 29 May 2025 14:55:11 +0800 Subject: [PATCH 13/28] refactor: delete .devops/Hello GitLink.yml --- .devops/Hello GitLink.yml | 51 --------------------------------------- 1 file changed, 51 deletions(-) delete mode 100644 .devops/Hello GitLink.yml diff --git a/.devops/Hello GitLink.yml b/.devops/Hello GitLink.yml deleted file mode 100644 index 0054441..0000000 --- a/.devops/Hello GitLink.yml +++ /dev/null @@ -1,51 +0,0 @@ -version: 2 -name: Hello GitLink -description: "" -global: - concurrent: 1 -trigger: - webhook: gitlink@1.0.0 - event: - - ref: push - ruleset: - - param-ref: commit_number - operator: EQ - value: "1" - ruleset-operator: AND -workflow: - - ref: start - name: 开始 - task: start - - ref: end - name: 结束 - task: end - needs: - - ssh_cmd_0 - - ref: sync_oci_image_0 - name: 同步OCI镜像 - task: sync_oci_image@1.0.5 - input: - origin_registry_base_url: '""' - origin_registry_address: '""' - origin_owner_ref: '""' - origin_image_ref: '""' - origin_tag: '""' - target_registry_address: '""' - target_owner_ref: '""' - target_image_ref: '""' - target_tag: '""' - os_arches: '""' - needs: - - start - - ref: ssh_cmd_0 - name: ssh执行命令 - task: ssh_cmd@1.1.1 - input: - ssh_pass: ((ssh.ssh)) - ssh_ip: '"47.98.110.189"' - ssh_port: '"22"' - ssh_user: '"root"' - ssh_cmd: '""' - needs: - - sync_oci_image_0 - -- 2.34.1 From 2bdfc78153b91077e5c6a6ab706f1cc57c747320 Mon Sep 17 00:00:00 2001 From: aishangliying Date: Fri, 30 May 2025 11:36:46 +0800 Subject: [PATCH 14/28] =?UTF-8?q?refactor:=20.devops/=E6=9C=AA=E5=91=BD?= =?UTF-8?q?=E5=90=8D=E9=A1=B9=E7=9B=AE.yml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .devops/未命名项目.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.devops/未命名项目.yml b/.devops/未命名项目.yml index 612247a..7a15d79 100644 --- a/.devops/未命名项目.yml +++ b/.devops/未命名项目.yml @@ -8,9 +8,9 @@ trigger: event: - ref: push ruleset: - - param-ref: commit_number + - param-ref: branch operator: EQ - value: "1" + value: '"master"' ruleset-operator: AND workflow: - ref: start -- 2.34.1 From 350d83b063ad910dbf3ad21d3810c80c47ecfe7e Mon Sep 17 00:00:00 2001 From: aishangliying Date: Fri, 30 May 2025 11:49:35 +0800 Subject: [PATCH 15/28] =?UTF-8?q?refactor:=20.devops/=E6=9C=AA=E5=91=BD?= =?UTF-8?q?=E5=90=8D=E9=A1=B9=E7=9B=AE.yml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .devops/未命名项目.yml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.devops/未命名项目.yml b/.devops/未命名项目.yml index 7a15d79..d595b33 100644 --- a/.devops/未命名项目.yml +++ b/.devops/未命名项目.yml @@ -30,12 +30,15 @@ workflow: name: docker镜像构建 task: docker_image_build@1.6.0 input: - image_name: '""' + docker_username: ((xuyuanpeng.user)) + docker_password: ((xuyuanpeng.key)) + image_name: '"pull + crpi-8e4d3x02j0ndtmyu.cn-shanghai.personal.cr.aliyuncs.com/aishangliying/xudapao"' image_tag: '"latest"' - registry_address: '""' + registry_address: '"pull crpi-8e4d3x02j0ndtmyu.cn-shanghai.personal.cr.aliyuncs.com"' docker_file: '"Dockerfile"' docker_build_path: '"."' - workspace: '"."' + workspace: git_clone_0.git_path image_push: true build_args: '""' needs: -- 2.34.1 From 7bbdf13065fdcfe09027f4631271c15f268a226d Mon Sep 17 00:00:00 2001 From: yuyebo22 <3349123936@qq.com> Date: Fri, 30 May 2025 11:51:16 +0800 Subject: [PATCH 16/28] =?UTF-8?q?refactor:=20.devops/=E6=9C=AA=E5=91=BD?= =?UTF-8?q?=E5=90=8D=E9=A1=B9=E7=9B=AE.yml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .devops/未命名项目.yml | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/.devops/未命名项目.yml b/.devops/未命名项目.yml index d595b33..2f8981f 100644 --- a/.devops/未命名项目.yml +++ b/.devops/未命名项目.yml @@ -20,7 +20,9 @@ workflow: name: git clone task: git_clone@1.2.9 input: - remote_url: '""' + username: ((yuyebo.gitlink_username)) + password: ((yuyebo.gitlink_usercode)) + remote_url: '"https://gitlink.org.cn/yuyebo22/gitlink_help_center.git"' ref: '"refs/heads/master"' commit_id: '""' depth: 1 @@ -32,10 +34,9 @@ workflow: input: docker_username: ((xuyuanpeng.user)) docker_password: ((xuyuanpeng.key)) - image_name: '"pull - crpi-8e4d3x02j0ndtmyu.cn-shanghai.personal.cr.aliyuncs.com/aishangliying/xudapao"' + image_name: '""' image_tag: '"latest"' - registry_address: '"pull crpi-8e4d3x02j0ndtmyu.cn-shanghai.personal.cr.aliyuncs.com"' + registry_address: '""' docker_file: '"Dockerfile"' docker_build_path: '"."' workspace: git_clone_0.git_path @@ -47,10 +48,15 @@ workflow: name: ssh执行命令 task: ssh_cmd@1.1.1 input: - ssh_ip: '""' + ssh_pass: ((yuyebo.ubuntu_code)) + ssh_ip: '"47.98.110.189"' ssh_port: '"22"' ssh_user: '"root"' - ssh_cmd: '""' + ssh_cmd: '"docker stop group_01 || true && docker rm group_01 || true && docker + pull + crpi-ztziizjrn1v9ynub.cn-hangzhou.personal.cr.aliyuncs.com/qinxinqi22/group_01:latest; + docker run -d -p 3000:3000 --name group_01 + crpi-ztziizjrn1v9ynub.cn-hangzhou.personal.cr.aliyuncs.com/qinxinqi22/group_01:latest"' needs: - docker_image_build_0 - ref: end -- 2.34.1 From 92c3bfcd0e06e2d397b27a048fc4e7d135e1b83c Mon Sep 17 00:00:00 2001 From: aishangliying Date: Fri, 30 May 2025 11:51:34 +0800 Subject: [PATCH 17/28] =?UTF-8?q?refactor:=20.devops/=E6=9C=AA=E5=91=BD?= =?UTF-8?q?=E5=90=8D=E9=A1=B9=E7=9B=AE.yml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .devops/未命名项目.yml | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/.devops/未命名项目.yml b/.devops/未命名项目.yml index 2f8981f..6b6c3c2 100644 --- a/.devops/未命名项目.yml +++ b/.devops/未命名项目.yml @@ -20,9 +20,7 @@ workflow: name: git clone task: git_clone@1.2.9 input: - username: ((yuyebo.gitlink_username)) - password: ((yuyebo.gitlink_usercode)) - remote_url: '"https://gitlink.org.cn/yuyebo22/gitlink_help_center.git"' + remote_url: '""' ref: '"refs/heads/master"' commit_id: '""' depth: 1 @@ -34,9 +32,10 @@ workflow: input: docker_username: ((xuyuanpeng.user)) docker_password: ((xuyuanpeng.key)) - image_name: '""' + image_name: '"pull + crpi-8e4d3x02j0ndtmyu.cn-shanghai.personal.cr.aliyuncs.com/aishangliying/xudapao"' image_tag: '"latest"' - registry_address: '""' + registry_address: '"pull crpi-8e4d3x02j0ndtmyu.cn-shanghai.personal.cr.aliyuncs.com"' docker_file: '"Dockerfile"' docker_build_path: '"."' workspace: git_clone_0.git_path @@ -48,15 +47,11 @@ workflow: name: ssh执行命令 task: ssh_cmd@1.1.1 input: - ssh_pass: ((yuyebo.ubuntu_code)) + ssh_pass: ((ssh.ssh)) ssh_ip: '"47.98.110.189"' ssh_port: '"22"' ssh_user: '"root"' - ssh_cmd: '"docker stop group_01 || true && docker rm group_01 || true && docker - pull - crpi-ztziizjrn1v9ynub.cn-hangzhou.personal.cr.aliyuncs.com/qinxinqi22/group_01:latest; - docker run -d -p 3000:3000 --name group_01 - crpi-ztziizjrn1v9ynub.cn-hangzhou.personal.cr.aliyuncs.com/qinxinqi22/group_01:latest"' + ssh_cmd: '""' needs: - docker_image_build_0 - ref: end -- 2.34.1 From 6ebf62120d463bf57c729f65cd2b616398e358e5 Mon Sep 17 00:00:00 2001 From: yuyebo22 <3349123936@qq.com> Date: Fri, 30 May 2025 11:57:14 +0800 Subject: [PATCH 18/28] =?UTF-8?q?refactor:=20.devops/=E6=9C=AA=E5=91=BD?= =?UTF-8?q?=E5=90=8D=E9=A1=B9=E7=9B=AE.yml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .devops/未命名项目.yml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/.devops/未命名项目.yml b/.devops/未命名项目.yml index 6b6c3c2..4e69edc 100644 --- a/.devops/未命名项目.yml +++ b/.devops/未命名项目.yml @@ -20,7 +20,9 @@ workflow: name: git clone task: git_clone@1.2.9 input: - remote_url: '""' + username: ((yuyebo.gitlink_username)) + password: ((yuyebo.gitlink_usercode)) + remote_url: '"https://gitlink.org.cn/yuyebo22/gitlink_help_center.git"' ref: '"refs/heads/master"' commit_id: '""' depth: 1 @@ -51,7 +53,11 @@ workflow: ssh_ip: '"47.98.110.189"' ssh_port: '"22"' ssh_user: '"root"' - ssh_cmd: '""' + ssh_cmd: '"docker stop xudapao || true && docker rm xudapao || true && docker + pull + crpi-8e4d3x02j0ndtmyu.cn-shanghai.personal.cr.aliyuncs.com/aishangliying/xudapao:latest; + docker run -d -p 3000:3000 --name xudapao + crpi-8e4d3x02j0ndtmyu.cn-shanghai.personal.cr.aliyuncs.com/aishangliying/xudapao:latest"' needs: - docker_image_build_0 - ref: end -- 2.34.1 From 49ec15981df3d940de9f608be5638e7ca83cbaf9 Mon Sep 17 00:00:00 2001 From: yuyebo22 <3349123936@qq.com> Date: Sat, 31 May 2025 22:11:01 +0800 Subject: [PATCH 19/28] =?UTF-8?q?refactor:=20.devops/=E6=9C=AA=E5=91=BD?= =?UTF-8?q?=E5=90=8D=E9=A1=B9=E7=9B=AE.yml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .devops/未命名项目.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.devops/未命名项目.yml b/.devops/未命名项目.yml index 4e69edc..807c58d 100644 --- a/.devops/未命名项目.yml +++ b/.devops/未命名项目.yml @@ -37,7 +37,7 @@ workflow: image_name: '"pull crpi-8e4d3x02j0ndtmyu.cn-shanghai.personal.cr.aliyuncs.com/aishangliying/xudapao"' image_tag: '"latest"' - registry_address: '"pull crpi-8e4d3x02j0ndtmyu.cn-shanghai.personal.cr.aliyuncs.com"' + registry_address: '"crpi-8e4d3x02j0ndtmyu.cn-shanghai.personal.cr.aliyuncs.com"' docker_file: '"Dockerfile"' docker_build_path: '"."' workspace: git_clone_0.git_path -- 2.34.1 From 0bf1451dd9a4431bb6968771e58d546cd7c45c6f Mon Sep 17 00:00:00 2001 From: yuyebo22 <3349123936@qq.com> Date: Sat, 31 May 2025 22:16:11 +0800 Subject: [PATCH 20/28] =?UTF-8?q?refactor:=20.devops/=E6=9C=AA=E5=91=BD?= =?UTF-8?q?=E5=90=8D=E9=A1=B9=E7=9B=AE.yml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .devops/未命名项目.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.devops/未命名项目.yml b/.devops/未命名项目.yml index 807c58d..ca79365 100644 --- a/.devops/未命名项目.yml +++ b/.devops/未命名项目.yml @@ -34,8 +34,7 @@ workflow: input: docker_username: ((xuyuanpeng.user)) docker_password: ((xuyuanpeng.key)) - image_name: '"pull - crpi-8e4d3x02j0ndtmyu.cn-shanghai.personal.cr.aliyuncs.com/aishangliying/xudapao"' + image_name: '"crpi-8e4d3x02j0ndtmyu.cn-shanghai.personal.cr.aliyuncs.com/aishangliying/xudapao"' image_tag: '"latest"' registry_address: '"crpi-8e4d3x02j0ndtmyu.cn-shanghai.personal.cr.aliyuncs.com"' docker_file: '"Dockerfile"' -- 2.34.1 From 30c41564105a5bb2cff7c6dc3f777c0cd5d6695c Mon Sep 17 00:00:00 2001 From: ywg Date: Mon, 2 Jun 2025 19:33:21 +0800 Subject: [PATCH 21/28] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- static/img/Org/imageOrg2.png | Bin 123935 -> 59021 bytes .../代码库管理/WebIDE/WebIDEblame.png | Bin 230665 -> 32324 bytes .../个人主页建站/建站工具.md | 3 -- .../version-1.1.0/代码库管理/WebIDE.md | 2 +- .../version-1.1.0/代码库管理/Webhook.md | 8 ++-- .../代码库管理/代码提交.md | 9 +++- .../代码库管理/分支管理.md | 11 ++++- .../代码库管理/文件管理.md | 17 +++++++- .../标签和发行版管理.md | 2 +- .../合并请求/代码评审.md | 10 ++++- .../平台公告/平台公告.md | 40 +++++++++++++++++- .../快速开始/搜索开源项目.md | 2 +- .../组织管理/组织创建及设置.md | 2 +- .../组织管理/组织成员管理.md | 19 ++++++++- .../维基/模板导入及导出.md | 12 +++++- .../维基/维基页面管理.md | 21 ++++++++- 16 files changed, 138 insertions(+), 20 deletions(-) diff --git a/static/img/Org/imageOrg2.png b/static/img/Org/imageOrg2.png index b89939ed60a4954081fb1800694db3fb3557aa1e..8829926469ba4304731c474b72fa87b2d7c26289 100644 GIT binary patch literal 59021 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 literal 123935 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

    Ld*;Ak;V|j+0 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 diff --git a/static/img/代码库管理/WebIDE/WebIDEblame.png b/static/img/代码库管理/WebIDE/WebIDEblame.png index 6e940352255b249a81dedff2d296e6dda36d94fa..b56b6c76f32f71459666fd25065c374a05d1fd0f 100644 GIT binary patch literal 32324 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 z%0D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 Wtru@Uz_K62s6d)}w=wGXg8mzg+)^C? literal 230665 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%0D%Bau#?jpb(rX`4-#rP?xe3^eFhr#JCLm!U2^ zk07)eFBR|#T5CymMx5iWoC4y;Q1@eUFoRvn8^0M-Z{|cIHFKK-W3_F_@fk>`M}o5= zC=9fOI6TGwF2NJhekmfBJm2ddK2i@CeL0c+Naf?TD`c4eROsqir9SE}z%Y=*k68CW zxr_u_u8SAtF#zYVx;a@WmH5kEN>|iPqg8kTarJzz^ua9u@6Y#)Pn*?844m0Z;*j5T zdPS$|oI;C1_9do1m=t47TcbgtG;RJfqCN+8@Qb}5q^^%3JNvMa6lnhd`NP>@hZ_q4 z-7x;KLldllAj^=>;Gs?9ufFrK!$C=Pq9+HW`9-2JnP*I;v1Dfr<>_(oNnTZOPkBz! zbBf+TE=vEVjo&xxcV4OaThql#F{XwBLORLFWbyAbOD$5 zrj_G0?^NwgtAYKzl)|F8(e;HF@8VUp>`8vpidQPg;d+G})A}BYmlKJ*T{Pq6SWve|NPVEY<6kU2o3vhBCu%t?X7&e4kA$-4agRES)&MdNlOa zGx3W%_Lzu43h&Fp$=F|`DvFiGB_$W}Hle=pT-0RLTcIdb!q>8& zBeTtS6LEs?u&I2x!d`oUCdgiU!~8gl?%JVbjdyjePEbro!x?aw52VZ1Ng-(qJpU_` z;C{zz9J}plX4zjkHT%;74{6t9E=zYo^=Km6f*fMDYDTIxep8|Df3N8M?|CLymjBH& z{buC^y{hj{ds|^JAVaEhs$)pi@`?;*4qb8$!CF) zHuJsnH(ytzE^Kl%viw>S!5taE@V5?;XRb28HgFr=7Fv`QXRi+kVN*(~9D&HNFY-Bm zK0J@Xe{ybIAqo6?{tY=g!0ft}C;9JtSUU(^&t1}WC@KWK8b-4z?u&msOnG?z=53fw z@p08!$*=DRZ)*cCPXjRIeC>U&JLxjt%K{atdXOD|cZqk&i~8p4$mKBfF0P^RFRifm z5k={n4X$6=jn1zDs~1~$ndt9hL4*QVX23Qxx0~LI zoP2rj-2V>X|49p^>~;QxJhLISO4_pj@6!9f?wvNz$~k1_^Qev#sd5!T{;`{LmGMKJ z&;G9)RxIZlkESvN0vUC|QU=?SH+u?JiWC%gG(=j%!0Y#lNmc~=xna`g;z=OhoV@S8 zJp0eSMw;y`z39!;%i$J#4yoL!ET<=L!@*@MPvX*Y1erG9C`jy1of?+Uq;xQu52(~| z);vec9y??OmvdDLXDt(^1-?8E)RbcMsyYmmy1TL{(BBL3C6_@5%^oba|J6F+253#e0vQ{d1i^75&q>PMnWA5o77Hpr+l zz=x~o$Tu0clJ;4+fzq6?NnI@vh<-Yhx3?{#2i6iTB)g^i&R}`yTN_g7$I@%agT=01 zA!z(^AyOk^{b}WLfJb>O+#!)+d+I`-;5awdzB8dSE`E`ZF9sZODf*|M3}RH;q9Ar4 zv!8MD96{{^M7oRq@9D_~a%lqdh8y7uTur6d26QbDN{X^i)A7;$l{o=>;v-cC0&(sB z#RfdvByG)psD`s^*IZ!#+h3EIu&J_9pzHblG;*jB619A=6=Hje5{Z8W_xo@(6}F;V z3(lk)_k2}Ya};3WbMOYauo*I!h!u&;GYWW8Ma!}*^f_#vHfL^|r=6oN{et6*6uA}l zclM3z>}`)Ft612)R#1WPU-dST<42T}!4LB))FZaYxp=ZTbOy05huxNp)0GUSyg^<7 zkr)xQfu&>dcZd`yNX=kcc0eF2A_?!|8`b|N2a(|f=CD6tt5uJa<7iu&D>F=seIipTthQXSjk#0)mDl1QJr(DcY3qn!9U zG2Oahkeu~YcuOM>xo6-16)0|Utj0Q~4luUB>=6bj0v2O^2hk(0s?YdJHalIBha-+4 zX;hB)0M@6W&L{CgzPvubBFfDMsI~3YeiBImuycC&GQm77YnWy=rYR1W%aYfLZNcJ`EGBS<XJOVJt^OKd;&ted~joXqX3y+1{@(qb2yYiG>cA1>bC#f#! zJx|;gp1->2H_zNmGlj0d#SFm{P*uaZhQ+fO&l1GO2Ol(2X z0s@!O5sV5eCpJp2n^)XoxqBs>#TCqOGpnKA3cmlq&pL^3 z8r@g3!@^%qJ*bAk@njt}U+LX?Ag7u>{+?0b4E94_fJbC`;cRotTRPwsan#uIYulmp z`CoX%)XT|*;!Yn|Q>vazYurzhnv)#)gnl&aa+o$$Gal>Y(_R4^Ul~MCJT^Jm6gROd zRj)G0bu7`?LOC8mLMU$}8TJ!m<25Zd3O1+32-u{8?gU8t*&X|wKlVFmj-!BxO99$J zr|qgzQqI-Ot0WqefPo=auUNR-B;qqb1gQf*iB@Oer-K|v}JQ%a&O|# zl5~Cq{*l{~t;OoNCp01oiJUInGZrP#w$Ama9e_MLZ?3)2)+~%^m7WmVQ$XwD=NL+g zq}PP&aR;c$%V$I-M{Q@zG)5O}lg zwEUl2FaPNkR5A{2ER2&H$0<67IjK_o zsUfiBrK&c!a)HzKV5mERekf%v7BI5#N~`mQxZG|^h%;*Ncu{xQNi!Q$B!UfJt4bI; zL8iK#YRdTS;H+YX+)wQjyRK@4P={2?%@;^J4XcY`*TFe|+e#TwtUCd7^JG)_Sx zTg5$L6U$wWBeFf?L$vgEtA_Q2)w1!L-#{1(RZ|C9;{KMjt+txS&o}DRB+v?p3_l)J z)_7inepAej5z*f6L&(XU3hC|snAf;f0~nKWPrlHu*AymL_F8a3*OAQyCd z!eUP*XU*edkX?h>K(|=cE*(fm#CLwZ0#wotfOxv1U4ssU%Bk){Uw^|Rmsj>%uMJqut39SD z<@)s3K0=t0%QcJRk4bwxJ=h*Bl57eUawU%wUnk3KyxTRm#_^*r45hUy?r!M6U8eF1 zv7~)#Leh%5A*ex*(md~R*dM;7a9SzJ43x`ZUrAewLcPA_$vgsi!jjOYX4PnHd5BX; zkdipPALIpr9aQAEoB5lmrWP(EPE!kC$yRWCH5Y`=Zrk~(pUPOgduKa$VeM{o>W2FO zi8C>97*_aG>RrT&A;WJ#h!?P9{{?t$tvsDSf}I#G-V<;7ft9ix+V`uYCvtMal`Tc~ zb{kDwEotV0`TE#|;_GrAZ3!s(tVJ=aMTs;33-sfPlq<>ykxKoGYweJYMEnwJ#hXwn_QH0VA=Lfj2 z2m_<@8-Jyz6K(&-rlWTHaqUZCQ@GdhZGwTx=4-ok^Sh0i68==V`Kd_t34W->(H6fI z>ukr6tB=aqj1Q9_5OlqsQbh zP{NV+Uf@jn`Egx|YjenJ19k_O%u&}iA|(7MO1b@EwxOtQP}xy#p!YWzts}=Zhe$GQ z?@ZN-Fu-_ODOhdB5#ktQ_oIOEs~Joe)iLI6~uqX8dU< zYIdaYz$@`&Afygqf5$2%t}i`hH}&`%Om-l}^@rE1l2n%k(SJukM6x&Deyk4DYAZt; zRo7_#>P=wd+R>w-A}vO>fp8tqf;$@dp zVp6k`{k5is1SX`_&W^E|Hp2X|3zXQJMCTZ2nt@viuUtL2wuH=r&f6uwjlTv9JERF7 za2M7ZOLKx<{8XvI&!W>Gf_uwh*gk(j?s#R@>RRVYw-9dRy>!qwQtoo|&t4L{yQLPv zDm;G9y=Aw61br{zx@;#krNFLRiDzT0($gY&?~_UKJ*egKb_sGaX>0uIq(m1~iBkV4 z3ZNIgYW)kkeQnv4+n1hj$-0e=H0wDl!e@W(VpqbaS& zlLf$I-%*%LhZCP(x-H+Du`CaLy!#|CwAQkFCM?M3SwhFESIm}sKpA1;#-50zEjrB6 zC03Lmj?SUQwDZ)ywyez@lXEF&MbQ`FSqTkYJ9>zISeuG(s*4U0&5H^do9$rqeia%Z z^c;&9(Ztq137IWRe>b6bZqawkCfe#sfKl0=4ZYx*B*^K|h-Vv&SJ9aS|3FR zE+LAC8#-miBz3Fa8Cey5|D4c*c_h(#qU4=9W8uWHf@++o`Sxz?;H+DGpA~BYF?5Lyhp|k*9q~Uw33ef2OixT#mM9PXQA1pf z9g9=Cn!SeM;FgN_v>p%N@XTpod;V?>8>lDV{-S3Ae(3X!MQLpDWTu78Lw9zV;YpQ% zg8=@ZV*y%4Ne*UC;8Mw<`<5Ssk14II`xEd&!OpwHA%#ET1z@dI_NY?3OjO;iyn>$! zLsGbtb4z7w&~*MM{(d=2V?Sw#R}+3|pW6SDV_n}0*DSp3I8&bWBUaC+JGyu&Wa>M% zeeTEnPfbh~vGBfMn=T-jINo^x8i9GZ=r=7*gFzY*bPHzOG6i*D+k7(Z*QBksvYm+s z4{oHnU7%`gqs%Y@sS57)>oKd+{0DDVE>ULaf@%w7PG6~I3A&k9CheA5-696KyE94a zq~~OUwNb_|It|#|{j0Q+vS!Xc!^?K1uBOJYu!k^8~5 zGjG1XhS1RM#k-nM<7>vATh=<#1kVu_l_l)`?H3QzAA!F#tjftX)z0U-9(^)>cQzid z!97oOv0M&sce1Sls@1FV6rh*u&eeBz!WR0`IUN&hur#KF0e|A&y6h>sLz?X_8So~F zw))iZ$A~Cc*;)EEbkrWo`t1@4YH3JyzbPU?3iXFLCk1=jorm(L>t_ypNoP&^S7lAU z)b*Um`V}7^ATy4sKn2HdKbwTcZZR;FAipV3M6RCjd8&}3OAfjTsoq`MuwU%WQ_+B31{M_%w*d3H-^Tsi$gSJm_EbCyus(ocTJ zHb|*D5lWob(&k9-++nz9UpGgL$07RbRs0So*of2LrVL`mgX0;SKN%6-6f2*c^l5nD zwiTY^fi6ShT>Dh7seOj~8f}t@#~FkVMU8O5H%j`2IN_Pq&G48ej{++m!_~S@-9O}n zlF!xjtyv;140kWY6DeDp7+b+x?j5j;E?VUxCy@6S7uV$1K7Z498%Q1{wuHM@hUF|? zwRd4@S;MxD@kF-$N9hkHRsHTzuOf#wmd|uA>-^{+ z?ExQ9TVVkfr&5{VdNiAz@?tryOn2b^h%V9F_1L)nBDqZQU-W;4s>ulwF1ZCw;>A(U zl`n<4p;3A{ZlLMrb=Rhy1;5N=5H2|GMQ@QI+VXAEG(M&PA!zPIDm7P~$hZHaX(<)d zDX`|lo?;xjHB_<%m|T@uN=e$C4=BkP(y*gycPN{-)LJ}FPo0|@k+DI1>)DKPYbDDN z6QDQW-9Y{};G>F*WKlAm&YC*#P+7do<@$pU^_yJc%hqOmPjpqzXH+CZw= zP8*3tCAguRVQ*Rxs|XKJ?Sh3A8+&3A$f{-mUaQ+uzbH4~%+a}g7~Z?lqICQ8dG74q zJ6)zdy*)IWe^G4p$5^Jh!dF471jqdGz^5;6_k`?5v=SM@4=0il5hXgJi=PPT1+N{}}(uk*8`^;c(H_^Lw|wS{~o6 zB?x5D$kjflB3o&ag$MTtm$8ayt=qXsfA36d`=#TpIqmAnT&2T;^UJBUW4*aS3eboV zVaSv##6KaFWCZoQ(E3tA)%F}(qdo!`RIZ5^BR-42CV3)#5|F=4T^~_SA955J& zAkR@@kyCGoBQj}S=*6RaAHmqCQkGZNd1erj`pN~P_f$O(=P_5@r3T4_YMLfkX>bWg z6po!vdX^YClku zv>;qPVjqFMH-J2FJZ`>oCrK|?(nghA2Sr!up~k~RuE~Nm$5?5^I8K4ZR4DFjNWJxQ z8(Vlyu3ZK&f3v^JUCInA>JXV-Rd9pRJgC_!86?^}R!@$m@T1qJ=iK$bS_!E+K9*@T zx9j@3q-!#5?)62nSs(^{x>#(b?^tLXUwheO=w@Rzqi@mqL~@l;WT(ye-ZcqRr(gwY ze9sQXy@2)W#9P%_2=_IrCR?s2jkCjI#lDWaPjYgEP!!@g5a#@g_a6>ZdQ(g`#szG9 z;}~VQnp94dgWWFlg#KaNyT+(1H~o~a`#{07dMnIxp%@-Hy?T0cYcy4)9B0KVDqP#f zbl_eHB~ADdQWMH3t-V#jDSKQ8v> z+1&K78rNyMG%%9xY1)Zh9IhfkKN_m9492&F(epr@**!z-71;Q2k1W1dcs)ZHogib6 zI;54x@e+4*t;T9jztRm#w?BH*T7T~Q1(z-D&%GRpB2HETrMjz7OVkyr`|xoYfda#Wa=UmMk5G?Q3xv8ihD2)a`8=Ch z7zTCDyr7)yfqcHQ{19Xc^k+^=MVzbB`*fQ2rGyjngWCTQxE?OB6B$Ye#L(}w+hSg= zZtVz7AGg-yT5y9!g55$hGtAK-S{ zEK+CW_%gu5P}As>4uL%y^0mdp`d+y$N z&>^ib5uXDh9dpzQEe@QuN0vI;jMRkulj|5Z4*9d+GuF+yn|IW_qkj2rz9#dUkNS1= z9r=^<@5tvRhIf~*^2;CQbtKg8Y<(l$P2JDD=yQQyq&~ny*-j>NKW~NAV5!h7K|5_* zN&jfb1Bo@Q3W;bCD;GW0I)k#VdQwzUUi6UsoVGYlaP7*D{D@$LRBOn}?$@$d&7LjZ zon_G&e=DQbiI#ZJy!7D{Zp?p`ARvFKWHLN7!Da9O*H3O*#afG}KNJ}6VG_)}NVv0V zYlBr!IJdpXPw#o}x6$F?w?hZOqj(Gk7a8#9;ZamgH{31dmdMqssK4pBAmeTVYrU}4 z@tKIQgs1gxI$POQsZQ2GwhSbJU+H1w%<_rrujUR5O7FU-PPM!Rcsnjj2B8cgA>v=R{ztW zN6oOV>oLV0j8~=WHJ9#)u;J@gb@$$UEd~)UZC#K4M420U~@6?)gFw z2q;pbT{B=#EdN`#hIH6?!U?r=;)LCNiqtKxV$*rX_J=6XOU)bk&=vuj+ccSGbBl_Yh~|aHMiVCSoe+&Q8~gRQr$Fbt@ox&U_X3h&0O5V z0$z<}S0&)>F09sIQd>o|*b|O~52e^F!6+TJ-!k*I zJ2Y&s+-SbmEg*p6j{c_*33dOYkf2n5>fk-$SUJ1?hC|=XL$PeYcu%v8&Xq5o(*s35 zpUJ$k#qXc>HS=7SZ(v#nd#{q)0GGn?5t%BVgoMn51c||JuMN4~E&UErh-80cr-na# zCiPsuK0WDB$&wt?mERqVF@>*)IwfZ*?Jngvs(HsbHpeesE^#3Q5*AX)HU2z0^;Au? zSg<|bVNuRG=hPw>PnoeLdu*jfQR;?=(@J zc=vH`oS>oB@}ew?@MBcQI66eT4 z$q>5S=%pUP?~bDkrRp+@YX zv+z#6_YPM$B<&@<;X$@}&M4XvOQUa2&hGf2q^N5B2>0 z7#lBYe7&!BZk0U(Q|+iXceli4z{B+Dz0Zk*UEm;<;ujho!|21GWA_*Noc?IkKEjQ* zgq1R|94~(s+bCHs(d$3rqp#F&$c?e+9utvR082@?Ye4f{H`kRDrCqaRXUFm-Hg;A} zs7u^c!X8u);IMwEfJtD1`5w7EQBu4+qGqL3b@30Bj5%2TA#F8xiFkezcLf|BdL8HTFr&M_r;w zShSgNCdYH=m!Ah^U|pZ^1R!}<&5eBY!DzVF`7^8Xr}&2yr7oYx^5O%r+j4jtm~FoB z)dPM=gZ;h9y(xnUV1BZEeNE^Yr zJ0+f&n;vt84$uStmC5hVrwM*>W&Uiv@uGqyx>o=;0Aq1in=0~6GMZNNDH!%G^Be(< zWS=a{HzrFb*bwPvOVVpDuN3CTFJ)1Z5C}436ldZupv4W|#eX<^#L|f-zjh*aE&|=X zhL+Sn*>!&=uQCN~JA!_9f%lKzi1-F$WA$Bk}T zr5(IV8L<+q^~Z~NiPS2mohGlfEj6C9@YNkrnk<@lj2whRQiBAqi8MZLu{@zq^qu1Z zEw+b%N9Pz-riO&$mX2iC;+W%S-q51w%F-`K#kmh*Mye@CYojMdjwQ09N~l^nL&EGB zj2_bvVj!FEx7M^aIB|%3?THPkg+>)2EQ>;(6}9gnn*=SxI_mktSj}~}R?=1;l6c(1 z%+2E39cp~t;75pWaiiR{8`1egqg<_W(B$)CI81S+^`7n;@2j#Q->miOl#^L+PrTDU z=e0q-vtkBYvmc#^T2Jf_t7c~Qqk!MLiVN(lK;{p#0lT8Ce9soKduM&Snn~U)_

    zZH`^vZi9pUR@3$PpttD&ji{bJbnAJO-6WY?pR9nf1$tF!Xq+2<#qZTz^mQ1;`r|S) zhvlPB{$nJ0Tem=IYcTU0I=!>Zb>{7YVD_Tzk$0(c^8ZOs!~aX0s3iOA0l$q;Q2c9} z`V%2%SAt$}(Rrh%>}tnV#Z#V%CnK>yPCY{%xG;x;>yeTg`DCrD?rG6G7XBhi>)C}+ ze5G#pH3LB1$IL-awa{o#Q}9{(FLE{0c_8yO9hGKt(c>2|RchE@cwM)%2j_=z9BUoa z?N+CZkn)e*1}O8Acb)V61eGisR;5jPPp+B_pHL>2bfAx(nH&wlxv7SrkuP@%QkI7a z@YoGxrPvxk`TBh38MbyAU|-gPnI()5{K8|e?D zt3my{P|HVb*WCSS5r4w_Tj<<1mb=q!D;}}I6&4RDsp|ceiq#!oKd=zrIZ;~i-%V6e z<+Mw3Wv!Wmm^b(iHBxyd5Hh>IA}bU& z9r^m|?dX3AX5{xpkV*VW7HnCDt9H7lhWM?-D;yWn@D?rnW8zz-di-$?X{<}jJ$!ss z?8A>u)8(<{ezg6w3)&If1aoI;Y!BoTFHsyyai>(Hrc?NWY?{>nVedV|n%vs9!KfSE zg2J`{DosT|x}wq{R*){e69fWMBc0HKTMvK`NMH&%DuAIwbr`Id7hUrJLmx0lfJbi-ab*S$;N@sVh&Mzou0V# za*v;<6kXA=@zPj~r_roUCfWy`YAe$o{v+_!S-?S%^Vr5@>3QtqTG~W$g6z@blDDD> z{P+NdL1DwV82b+Geg=%7o#EIfol`6L!xq_?WTZ#pyn38_fZ|* zB0M`TsK0Y8#S2IVsJ-?;TupQb4{Ug8){eW(KJnG%FCHk_V77c0`y2l>;p*L}pLeQJm;{Mxnpu|kdaHSmq>Z7Y4Q>wSc;YHeZVrxfzc zSPHKw|7WqY5h)JhH5I={>k+$9>KW}=abs7b23SiQIt+26`%`81EVtMp=~mPjKv*Pm zV7Ge?Es277V?uok7M_hBBPR#HNnvm#*ULyl#t+J&{*h7qud}sj+{U0l)sj@+XFr6p zvUfjy_nf{(1f0u?=NU!Z3%K=H{lh98#S>RQZAyi~K4|LSC4US; zSDSN%!337sL9PO-Fvd^$fq$34kp{RqrfPI*0eF(^s4QvxW+>@JO)`bS-uLi$g)X>M(_2dSx?+$6mNC0+ju zs#%f)@_S!z)~4axw#alZCr?H_waS7d3^`xRPHqp!yKYI7>#fh{p#4Yh!+!hNC1vei zU=Y?lQ>Zswt+37Q3>TNZ`)~cp%?96^gj9oNj&~dXE#9rxgCj}Qr zpgUJ&kAJBs8)u5DTaipKZTqmz*?u3o3`Mndpe@C^A=^SyD}@00#&A_UM99KB)`eCn zIvb5I!WgTA=`Eh=oUIKXr-wPcD`>(y(zRxI$2F)dPBx$BmA1^hHLlIqg;I6v?^9?S z?@sv2`IV~Mm9WGYmpC= zT3Z451tlmwHN5Xrhi^8JxvKic;7%;gM&$#5I-en>;rwUz>B1oU zsGljcJ~;r}qe=>{v@`Fu6~D%unSmR(iZnzwI2Pip@$`bX|q zpVm>Ol1v3H6_Sr9FPpMtMI(pEAqg;dl9B%94VnU%7qXNgXCNrQ#2FCz!hF2i`p_dt z*x-Ja#L*hk&1Bie8ZYnCXD7i7{+h?HGP;*hT|2B#haOKqS_p~`pjkEl_W5uL1s-?aiE0T(Kl9Yt> zS!LAiiB9|;!r7LKs|AXjZ>IpJIkKYdq$O{>dtYu_|3Piit)D6Tfz%eGzVEWCZh%L& zg4sx9O)I}nAxWD{D4IqU#B~fpSKsX(M!p8OnKELf)*%B3G)}F4HcG!cU4)+x+bJ$9 zTtl<>yh{=B|IjeYUkvETv0yXc=yKhauC~%V%~o{QSieK|4MOdhgh$^N5AmJAn?{c$ z*AE!I1g?e_TieYIl{Wbsapo1VdstZs(IdoWuHd~_5&cUtKv25g$2EpWW zXo?*h1WOSPLJP}MOj6Qay>rk^4tEZX(j+z20i^?(I*aUa02HZBW;oQ?}L zd6+88ZnsO^=$0N`F*AEu36w8~`QbQhpXfv+DpY4DhHpN0Hw{rce-%963$aI!@vAP1 zb#L_-uaY|m2=B-Z&+**HUF&Yi75LOVmBGzE#&`EO5hF$Th~yVe`V((zPv%P~ z2AK#JX%z@iEkDgfUwoo+ghk6!g@0*GtA4>eO8MGdqfs}l^N%Rgzmt%-4SilY5dc@U z*9n!H=fwo80JZt=Vx|x?VIeX8Kfb~Pk~ast>wJx<4{a~a1@Hi=&g*|+la-j7fbIM- z3_4#-tXL7>&qst8=4^fmUw=AAnOdZ_zmr0kuaA7jW)>JC+FU>_*CAlVS^1Hemfnpo>vN)cnH6fPF@kuViC&{$i2EC9icBS zz|uUbX}R%IB3{p%7UfTHZ%0ccLhm&Qie>He6_sRFe?2~CU+ZhNxsvnvAUz|uzHdub zU}~a@Vg)rycMDx;By#%_0b}Mv9f!14Y(wH5Mj;{_qv?{K3CY?NvQ6@PO+99b{nsw_ zg&3FpJ)$19L=@T$vEXlDtS?o}FCi|UDXo7r7_{#JBovdt+;I<-8vjgox8*!;&Yt`7W~kjQ#C@0 z^VWzZGvJ0Lc4+&FYjN^zupMJI-&Q~I_}6%LD{5-}<6yTnyM zW+S%&NS)7Mg8OqXxD-Uaq~?XzV>@LAvicn@NgLQG-)48e#`b=xNKd~!{-?{L%*cIemN+oB38 z@DaPdh1yZeE%CY-*jAqJ{Ewizs-3H?qwekRa2j;a*j=24NWKm_c*9r02;JvKRE=cTSM&hTqSd?B6(WmJadT4Uyww ziPd`e*e$8@F!R+O{&1oF%vYN`7xX#YRZpHcdjvBYum`(i-><1anis?O^XB%Pzz=*?#=v9q@UxsD}_!tk7)%&l-oP1+%>=DGE zDN^OM2f!VrVfQI<#ct^qsx=CXxvNg6iU`xXhKQ4pAbk<~T=y&nM`M9cb&s~P5U?FU z?Vh;2AP?W^yyroU@ADWm`o{cKI%SyCfw;LJmi?hZTbuDQpo3%dp~qgG&_rTyO?3N0 zpBA`ccvxpMKs?b`Cr!J))B!9f5jGKMyr`_^nNEL;EUL~jB3FMP7WX`>Z8OGhS{$7dPB*M5ywliD%W=yG^zZF1d0QmJgj9KYM$Wys)u8Zw#qs+lmr>%2b zc)2o!HW5QLF$cI7g^QxO5hz_;z0PW*sL8zN!YHk4BF<#-jS}P4SyFTyFZcwN@52!7 z_MVvXWFn<;ltyni7|v4dPkpcYW9ec|#8r>H%);2|1-W&a72M-KMx`?&{h{_RsM)=`;*1>ZbCcIRP%F7d2-v*hcOE$rMI94L+nou| zvC-qkFz%9I)^W4l7U|?I6F<8GFK^aJEc;bZ##K~jcNA-c`drjDCzicX;#e2ogo2Hd ze0xYD(PO=nV)e{DzZjj@688u+rle8-RlF}t^|WTy!@jS7u^o~RzonC7`Bg7msXa03 z3>t18J6yZ*z0;#vil_BKkhWv#G9TlESmUCz)V_`+%8`IoXU6UGz=;sXz)RTgb+E#pi2@l zTna5CI7amjb0;c6Rku~ zKrzU?i&qKy0t?M?^?$KAO_4%W8t?9xX-dN)Y6VuqoeF{*u3T$_%d6kx=lB{8nvYV+ zS3RF5Im$Y8V|_48D7(=sRV-6M_vQAI@c8P&m2|!hEUJKP($1&fUOvt%_j#<^@AI1p zas49c_WN6v!5t_CT_arbVu|VFzX)w@0m-)y{b5?7Lc_d+ZA}yub*NJ~R)0ST9@B(V zZ)w>FlP)B$ql{a75!3+q6qj-Pbh|_%e6Jd3Y;i@uwBBG2SUoWcA0dv4qg5Bv!9%TI z73f-4G*hABt=pW!TGi>VJ#; zZU>0O71jK9E>QVkD}z3q{5Ojqc@QFjE^-08=hBNm;xNBV`nLape3+?v$PptW|Gonh zH|Xuk_5U5}d|w+&h$Xb?g`<>f{g;Gyy?tWl;p~7q$^X4?D9AbxYze9Un|1R)v+s38 z#XyCm67GxXof~?8X_~tx{}oz_gdh)UEjK|eDgX`?kRGsu{hLt;ipelC1@&tiAltf1 zM(xbA2c*{SnD<2gl%^Qr{m-@gZ-fX+szD~W{P%o+&8*V@*34c7>4AV0{cSGmzjzYN zZ=nYV+(}S{Za?WPpj|Nh%K$;yVF0Q1=dvC8|G)g-`||&@)53cUI94118vKZM@J<84 zlpz7^XaHvf80|l-WX>JfJ4hAamU0a}eevK8b}C$AAfvW*{NZSH@d?E|%COHt%=*m$ z*b;!c#y|cH$4i@l6l=Z*3m+(i++_cc7lHRa+y?F&mP(r5f!y8`k^k~(Ku4ps4!~4A zeP29LuT>50a7y0&Yh)K+{pWLl^F~Py2nDnNN)_-;w-3eqm)B!lm;rW^{eF%Z@bdrZ zKsf-connQR%I3U__%c+F6cE<7$d4QXANwB$pABURDWm_lg9oGy|EEWu0erfSZ4Fak zL~jfJ%Xk4v5Fr4$m9&DYIQTvK|CrOiCdp3cKo(_G5(*SxLURA>y#C&raiCIC4QV?# z*|kFd=zYCTBzeqL-iYePZSp#6N?{tsTKHHo;zC2k32Z3w*pWa1SU7jko|@c`r9%_k zpJzRzczSys-#eefOaFSf#dvX zW{&itdUfR_MRk#Ss>uW;4;LH#m9C;}v0co~MSJ0bS&%pNBvRI!**V)P5&m`ks}n?} zqLRG3MsoNrkm**`P7LY>xj51NxhJ%x@wA)}TahFfnZEJz;p(J&#r8aD;(4}Vu3G8i zo_~(*Qi;HS%-C=SkT-G17zEGJ9-8@9OEMBMJP7}H z%X^h?>izR&Yb9ajo=q!xOpeI$V{AYo=VYZ(ZxN z?hc-4u&m$YxlBQi=Bf(E)&=diWOJ%#H_MM3mitCVz$aBGYm>LsNR`9a)&o3dTxkLb zT#!7lRT{cNHBI&-sN_4041={;rHQdC819(5ba}NrUfbEknTdO(henOM0zsV1>WkJ} z!Z5e#D{q)Xj@cK@RP@oL>@})(9&Y58?i!kUZc!?2%Z}}=S zHjfO~2c{pDRwoCZ1P3Mne6YBDRjrAWs5D zjIWDv_NRkcEjJsSsYl#5ZT&9*_4&CQ!jSd++4lG};SyfL4w%JJnDy^P)0 z=W>g+%U9&0yAmWmoH zu14ggyXn|R}$m-9o;AjH0r(JtCl3Z0kY zlXb%MycwFg5>nqfhMB8c8Kb;s4hfImCttDvHNr}l*}9ipj~oO|A0l!iuvIX>`?xZ@ zEQVvJ+~G-5W_s+6jDsUu^A;p{6};17N-n=SjoVHZY~&%X8QW>HSsw0(7CrEo{IKKq zG7GlC#oHs<5kcSi(R{j{57T1#6 z)~6@#9qEePTYpg1D76<%s$EXl$QKjY??{cI^mE{V0zojg@$LNS$=A+Z@y*UQ0KxHM&(Y^JAui9mM6y8n8yN)wd#~2XT~B4baDs*^P+Cn~P*!b`nK* z>3fp1jZ!#b{FUwK_TI1Me36#*_s!#)c$n#?>(U1a?K>-LoQIh{JZIk~U04c}?G8_D z(VJ8fa!l?JO)~|6b#8Uya=51s>VIw>$Dm5GU`Eklu!SWgsaNDPoIDEQt6Yiu)}D6| z8l*_oH#sl|M-JFAHFYb;#1Z?T4@>vk=}8vnYd+j}635M=O%^&UEAGy=-_R?+PNiC$ zm$EJ4rl;?`xUD>KeLUS^M7zf_bOflMxIO(*cjSt%OU81s@{IDOzT?P}U}*y@#S}_~ zVc8_A1BP6Q=bZ3^aGb@6Qoa~UT_tzEfT!ew&OugX^)dQL#YC>}$LiMmE6alrxqF7m zU@=)sa@Juv>tURrgYuY=v%`tlu_jOM=lE7?WEio}ju=besaBLR7IZC+x#7K)V2P!g zu;P;Z6jgckTib3pT<(e-yCj9!$(ztj*4RQ`_rNJjC=gq|879Up@Ne|l8dl7wYzUCK zNbOQYrY{k{ieANKc;x z2wIuq2X|wkA(4 z?AV6D5>qZbv@H!ku155}hsQgxuY2rnZLRItC=Gf1I#=(SUHjW{DA8kP`mo3BM^ZWT z!+t^fYH-5sm9=AD?vh5eqRGT4ML%Q0XE@J9%L{k%mk7Gd)6jtSNeq|W+TQ7c{EpiI z`v01*BvN^CEmgHNoL%xH;=-R1){+?cpoF6UxVp(`|@vf)=}V^1*BZW(x_OM^5N*xf@1snqw$`sA%uU{AqzYALJ{?*Lhi^dR zDo>a{Myn5MZw`WY>*)dhca1P-3Rmy5gSrb{Z{7u$qHbx=Nk*r0?VU@<^5^7gjZl{7 z-$-pbOk7R;1W9N+!JCx2w;f|@oFU0_M4*WT$i@I9<){WX_c?JM+6yrk1XeLmv8clt z@k|qjh>d_D$~AWv1@tx+i@E~ON6SxiU=eK%xy5F@S8a%0-OING$`}xF-)PL(;|cm8 zdWrLtC$S*Xa3Wswu0X-=|=hb4Mml&Vqf8WisN1%jaYngnyN70q*p0!N#A#D*}5%MLd(*t z(Lp9Tho%symgf-51xp%t7p|AFsk1%INFF)`h@8%)Jkb(CbET=$OmScY*Hyaz47`YJ-Hlv(jM%R+`N*=PCN`PkyPeA4uuf?5UxgJPT4{FXBZx4@lt~ zEAFjtNkfcI%Zvx{)wIV5AfZRae)<4~prre?peL#Ldk5x=>^U%BnB|!9OJ2)iYjQfJ z#oS{~Z*BUDX~4DeTTgQvZ@-kqP4Wq$U#g6+w{zCj#VOdRP3K$iVHY_$JT}-K{wNI( zzODk6F~)57JUTQ}`Kf$*VAnWjFrZd=-E{ae{3c%9d>p*TUO;b7{npZN45AXATOo15 zUKquyMQe*gPkS|pz0k#_UU;t$Vj>qnay6^hb{I8SqVmTa>z*HLIU~x3kCgKHD$2CD z0EfN{u*vv-d8W}ZelS!;NMBAL^93xOVPbg7*QEtzSTQ)dQ+K1f<=DG>GkrDdHaXcZ zD%#KEeoxpPyRrUJgIE^W*w?Uup) z@M>QHNdUw2bhBP&kvnQML+9ay`Px9)_bS_v4!6%&Q|N>{Gx%0n43ExlgUzOdqgHIa z<6y{O8***6epcH;lzpmsHJQz>{X}Ks(}nBRY+nm@);>?4F1Q8zRIHy>8m_B0<$Yvh zexo^A$cy_oMn+43=-Tc-oUrVi1MSPz&Z)-UCi0YSiYi6grZx~e&zX-WxiPMn^~k=x2fADF}I$VCbELL`OPu9 zOlPX0p$ZqQA3!Isb2(r?n@cy0=I3duUp=Yq0Si}jiEJc`jf#RMuHWZCn_cpB=uBj{ zpAfh=>+@Ir!AwQ}s}ZQ*EyW);GH2l80%#;JbJC~!+mJnOhpg$TYq+tUcFrRiF;%Bh ze{`6`t>mn+%Pa|(sWu%U7FA=f4!?rjK7YE78X@qgx()s`mU~x{yryy`@$e+v5~UD) z&E<`z8NwuZO*4G#dT?HrDNBf_`e{|zo}QLW*4>kpk^Nic5Qz(?xq~#jTCiWN7QRY( zWUKX;ufdadY9($y*i>_piS`^4weX?*FeE1>iwjh94nDY$cbh{#_cCCV*XhlV$+7lb zoSCi91fuJ+4CXfD9zYSBf;Yv;U1?VEzxf z@9+NUuCuqUOKsuY#uQKSV-{_{@C9A>(*8#zB<}ofjq^MWt$P&rr`rTyYR=wuv1w{LVol#`$D7n^B z(Dg)Pu8h=FXO?&CwS(xVd8Ny(!KEv|e){UUISjN-q1@(Czq7nt`GX7(D}L=p>_^FwntKh7ts`ZU&Vo{v zAi)xRF3Gd2@sA2hb%zpeKNj~96Z{Is3Suw#t$c?kI2|ej=$@r4kr5*?fx-5fh)69( zf(_}Z8B>!=`X>?kwm~;|QHevnzgkU*zUA=UtlUtS%U|gsjFIivsdv3S5|a5{`P^w^ zv0IK~x30@?VM?`KGV-KVqd)Ca%;8;%M~{HI5E`S08Fu3 zz1M_tF`*-XedH6mKbBNH4hU^z>@k~C)u*q*qkaUexy35pBl!CoA@ct4txPeR>HsX| zg2H91FKze%=fzRRV&)l^5P^1;mRHz``OuH%H-!8w>S>RZc7Tx4ean-+w1$p1=s8zs zDvs;!eeND@?2;);gEbh*k4dXk>rsz@-afbm?G*+o*ZV%3A*+t9{;mT98j|4+^(vr= zvq~EYid+4E!0hspS`J(H_I|>z7v|hfa-z)qU@2%+ndyzI0b%P&PL7P*@AMBhQd z*U)`0c(hNI$+3iN$93a_;a3~UTE+Mf$o=Dy%*a1R*KL_f7SO6Eb8>9Nm(yc|HpWPE ztoryLPa1@d25b~F7kl16^zD3AdnyE#oRP9qv0S89VU?_TX6*2;FRW1zY6!FDBxg`zRh_A3Ub+25@#T21!T>zKLSm? zK2j$1Qm;aS#S9y2S^(!NohJP`Ld6kq1-U%5!bccW37mdtoO-&FU=JxaC|ytStGJx! zblGxX-R(IYUHtkPt7Nf@Yl>0nw%eYHHsf60tVP*nNiZOfoVr zxrf%ZF%RQBLp#pN-sdoH^Tu9bY621jCa;}d8$W5FJj1W_Roxj+(@PQl5SrI*LPieg z0WJt$M7reR7z&(2xf7M{w_bq%(-vE?j7$-)U<+TX$quiG+Y6;Nzs!L?2 zyf!XDyqcJ2B3q8Mv}xB+D`YAIqT%#zWp?9Nok336MvDor2Tk2k*sJ#t$YH%j6vJCZ zIlwlxzr^wqj6wB*&kz`QwzV#ZGqy%A2vg}*>w0)xY?ZO)vdIj5t?kWhB7z~5>_HKb zqQ6GBY{D!B;?ec@IjBH)2Rd2aPopcatFgvNkck=L_RP6@w!}<;>Bh_2=&(|r$okxD zvy2Mf(H^`@P$)VZ?{^Kbt9=ge6s8&}suOXLgA{u-G*6jub#rZhlYVA<=(P#z;B@J< z1bv{>zI|J|Q@<~?Md9*M%&w)XoCRf}Mh(zfziJf^H;9Vn!Y4cN+Zw}P{qy{C#3~Z$ zhmp9wsI9tW8)i@6t$BXmh4*R3yXt0&8hW6c?as`(*(44S4C(g#^c$aO@Z?0ZOf8+= zDF{)FT7v;M51hKE0#L4{qn>7*VfYn;=1cEg=%|)Yk__7H#t62i816}9;uIARMD z!ODs0H^xYU4K(ZL>!vxyd_g#c`jPIJZEsZLSv?2derFB=XKtrN1gyE5)}U25Toe|m zzWs&I*VDs>;e_Qgpu z?Q;}LXwa}Fxx4EMr$vncvsh;E#eL~6R36pFtW*=Bv^Vc+q8#6b`r1O%7QUtWvb4}3 z+D;HB>94lU*gZ=5RK7!G?32N52%ZTcocVrnzh*}w)d!LYUy+ER7zaOCXAJp5DFlX& z@DoJF5*H-?IB){#)0dr+1OKLyO+h&|T6w@*$h4`zdYw6iQCVZb5_vJcFxKb!&Z=3Z z!onO$%0c4+k+q{4s+p>>p_1*luA3GP!il(38g``pscFZG4OyS4;qJ9pB_Edum>pS<+yX{QaJ7gjaz6F1Qd$cvq?;1jO`?ah-%xrL_0@Gdh3{hsZ1Gm~BH zQUyCJ9wq)=Rc!e?x$Q9xoEka~FFudvFchm`f06;A=nwh1n(|DyHc)J6E zzBX}|KxGZSe`Wn^Sg`Pv@UTa7faVv;yC=*=4JT}mQ>3uVMU^5q<}b@V z9SKnU1VoeMj9N>MvvoOG0QGE+A=Og*&Y06OZ|Q^jkvLs(pn-9tfP=_ZqQV6e5Y;8K z!xyP=e-NlE*uTLcJddFH0y?vEx_vdLu3(q-%G(;m3%8JO)#9|_bM0nu@0UCBtx*K8 z4Isy9qh25v-S)ns1E~kLT1#`;C2`q7$j7qX_N)ue|KRhWeng;Z0>=2;M*#4SE8-o1 zGsAZ1Gt!6Ymy>;n#&&c9EoYXt;yas+h6w7T>-z!tPcOiueP1M*=*zpZBraE3j#{<} z7m2#Hm@-X9cy|a=mfqUrtn9v4j$U56&@jgezn++thh4I+*rm(N4Gf9R1G?AzAG zaoU-Nfu}(msWU<{Zb9)Y;PkJSXR`DGJNi7Q<`ZCxfT*NZ{v!?g0q8UKv+Q?c8dGCu zn~?)bs?nYB@0LRFCyK4`$@FISAQplP9#&Bki$Ui;Mw~du>nIr|j33Z{qOk<z_%G= zeQvZHEw}&fBR|N0b7^_}5|>qyX#COb1isXu;PI7ShryS-?+G7Eq;`ydva)5=Yo5j1 zt+H_0;jOkV99t584nXt;`w|M!peJpJ`eg@R7UbdQSs;5X=$t60NxMKMvc&}r`ok2& zea&3`^6JaQXbW}`;%?}(D@MQPi(;TYR~t=|Q2N7^RcXU0qXFSLqZ(OgMjD?sxmM(|=Zf=VgcAwLCSAg2WlsmR?buNGM|Mq}(9!*gD;nhloMYOP6c6 z2vElcbjy1m&X#5$Qv298XG;e_!cG7MkhCkJc^cr2F( zPsH8eVvJaeyMBo(0UW}6rNVT&j^6aTs^AIKyZ7B$`Elm1J+eFQLCdN;g^fu>JSv|C zT%RxRH)746&kpUhc*Dlz0!x8T#KOzW;bqMQG8r#n!G*hTqJtURTO zTzq~O_Kjuts=Hoa?GWe-IXoHVSTn?s*8)&6KB+xB^(|xLtG36#d~P|l_p;?EIcNzg zQwvIJ3UX`SY;yjh#EUnt#__UOc&p3QDajUQ%>=B^@UGIerJEsNR!>U#njA2!?W-gX z7}ig;wUYM$<#Gr8?Hhew3*Cwwfo}Rypri(`%(UZ3mOuH^g@OKeTVvo6@9+ zz?+jZL^lW#Xx7hd@@=ma<^EW$4%#i$+-Z~6vCB62k<6Vmq~Vd)GvMDEF|E^xPn7_4 z^$x=MQvV+h>TId3l;MP-0feu-*P(Bkj3QO5xYE9fm{U2$C0-SJ(8#@mQ#?)d8Id3+djCFn1jn`qHw3pNWvzVBYpRl(l$rsZI7*>1fZpv~U(I39Q2Sx=kmQpL$ zyKw>w*vl|rn7Y*tT^)eLh8tUo^`WsQ z${BLQ<{tJl(V(PM)FW!iIPdqJSfB;nxU>3OkgRpnnYbOJ{Kd1498tfc$^biSi5pG+ zq<5_&C~8ZVrpH4f8d|MsixbSr?p)xfylWf7k4=d@rPl3OLw~|GGjQC;mn=*!Mq+tnm7%m|SCB;G$@qoFUAdxT`{fT>J2$-#JsK{58dv= z{*lO`(CVRQfeVP#lx>}%w#fATmYCz70t_Z!%(ROPx#q6A^vgVS47-MX%d2NWv!z@L zEuHBNYN%%vk8h2D*Y<=%D_ND}WGq8zo)Bcoe6(FFi_X7V{wzm>+6;*aR+NR!v4osH z$L<_58BUwGg;=#b3&vRN$70zRFr2s^(RXd>HXUSnaZm(q3Z`8Idb z3Q`a6Qn1bIn3DFLlA`EKG$sxoFq!DvlEf+)L|B1A%oIS=GJ(^Tvn|bs)OrHy1hAL% z0QOR8#Z;S5#mW*&W38q%0Ykv5Y$JBK*2iRUA~Wd5+uH162hQPdDkE=J0=%`(7j0Xv zdYNuDUjgW-hsrJuokcKo;{HrrEhj-(P+dr&{;F@LKC4&Y6xxr6{yik!3SevO41SI3 zo4jssCHaFJamDZ!A?Cb2c0uaC5+gjZ$WHC^($a3$Z~;mAmJTdhF?sX796cU#i21ByFwF1G?ckK#mN}~j%yH9(k zE!=&wTDB0EM?lddCL60W=r6?JmG1&#|4}%|{TE6g7o*>3W`y-`kuNE@38LAx;XOT|%>`S#J9j+k|f=I67_o>p1UJ|LMeTA{D zv~bNY5*JBcRJf}W5wTwD)i*j&f$7+PJ&TT(dHvRvSEqMW`pCiUo+iAv8xy!rSiARI z$=*}6X5q->w=ZBCgqD;clN6L!BxMEiQu$pZg-=vi)`M8!;M;c0;k|~nJMj&HC+4u_ zx3x_4{N2f~uRq6T8BDkFIVi^%lfEzul>S|X?RGV3gHk>lXV)KxQOqGmWI2hNh%rIb zSWU0+-Z-Pf4dI3R2nhYT+Ct(}Rb4hz4+Yw-DLa^<92;hbocx_dL5qQA^okCIh?m9H z`uloi3O7>>Ec&n4*@i2!`)byA2T=0;0o^QqrNW_v&qLmC6rG7rcjZpC7a8Imsqm?` zze3>M^-OKbYqd^2bsDXF2RiJF6JP<*8A?nb{TyBiVp94tdx~Ko~RQ0z$b{mA(LV70-jhFB$cw zLmF~fp{V;l2mXS$R`@8Rdg+}%tsJhm{!RvA0i4YK8g6^CCleL|_eSdKM2rUa*7fDe z#?I--9sTjc(Yu=vK! zbUSEt%6W^5Svvoql!-aS96xTsplUycJ=g5zr@+Y{O^+dz^l?m2?c9IVbETi69e|$r zk%_ybvXuSb35R6`gL(dJ=4Vxr{ItyW7dB!pq6G9Lc#ttb1Y2%a<~TBkSYfFaU4hhR z1_Oa&4tnRjyN$5B)DHam#~zUa+Hyo-Ms}lvI3i7nzlvo>)1~6g`+M@!_+k<`@PtqyWj`MOGj}r~%ZI>!vjA(joUZ=jjuHEqzvIAdSU}X zjD&c_8t-pyB1gO^)EnMPaBx)+0m!7y+mcn{z&>!m+;bxO>Z15=pW3eA81;QnOtC1quvxUSS-sZtuH>T06M<{aO2=n4kHW#qtKbuS=_eC&fX6uO(*< zi}^0qFygTTWeuzgwLv4Sh`NI=r%z}pH~bU8mebDpo`B(Tp>h=B_40mb?^zRTHA_tgHz%h*=fvm({c=2@z#o+?EOSC2sm7j1c;vH<0wQKz7&YDVZK zk9}{q>nkJ2=G4`4g0QlV>>zX^7p!5t&ee?@t;o3(ybVia-&1PTJI(a~MrJj=zAmvd z_<87L>`8kX>vBv9nlIt?8|qFpJcB9C$47>8q|Q4f$SJ{i?zY1zVpqvyi8B9>6iwJ z86jr-+9o=TB_w|JpjhLTw*nb~xG`!ZdR0-oM}1<+1w(Z{cCVS5KHQIpaeTVC*6GKd3|fA6F{K?QWz)Vf)7A-T|kdmmvKsC>0MSn#k4p!<*f{Wtnn-2 z+4@(3$y@%a=usxs&Lv^nK|x`^l@1g>;I}#QTJ3!7f>EQ@<4gvPdHC8gzITeR{tBd2 ztB|SbxWDC|2A%%d@z_xJ(>7;{d+68Gt!x~lM|WbCk8EWQ?0<(}yOwGBW$#iiboOPf z`8hl%NZh9@W^^ln62{lQ0!CP@`Q`|ta;qOCg&%pxh*d<_-7wR0O1S}n>7B3qyDm;^Yedy{<*yb^!x~2dt(Cp z>t+s*f=^3Vx&o~`T|hv<{hy}v)2KR8oK}8!q+PzpTn9GBxu5X*n>o|dHt?B9ng2j} z{v4bKt6gWxt@ROSH1q^;D5wCd45WJ1Pzy<-qe32NH~?FMlH6Q{p5jE8`8Q z|KpoTw}BQP=MVM(=!ts3_Ht~{{x&63;U7`fUtcTE`RmJiQ(;)){T*^1u*LuLp)GQM z{CZm)FO6JMGx7fa`dv-Wj+_Pk*GI}7yL;$b`_FD4xAl9Onkp)!m_ugMI!9tJgBObE z=1WSqTk2w>UlS?tjakajQsc1^du^Ae-QA`zK=%##X5^SZglhM0$CImD3?rUEo9Gtj z*zz69TIT$<&~f(v`1O0+I2ev5&2)SEa{`>#kfCJkA;AekAT;e-?P5!#>z8)pRqwCz z3017|z>daY93LL~!SBs2X@GA5k^OY*3ugja-C+Krn$-Xdw}`eCe`gWr(0J^yoCCAH z;91ZNuul$A^enT!=6es|six%XzlPC!84z88{>5JsUN}7Y@%b@f&}rZ%?t3Ndttis# zThUVN@Ze>EH|8GLC(89+?{AI(tW5X{TtGLdF~X3sQXD*p*BA=DjN6%0$n!9=tC2_Y zrRSHjP2Brv=XvPIXThDo48u94KY*O9r$T2PB8sD6i4pT^$jOx-l%Yp{V2P?PbnfTF zg#B92hZ|vst&za_u$?CFtuCmQa^=&@lktUxB1?+Wdw#?9K-aR}sj$I?uR@uDmyfY> z$2epL8BGN3SS~4U6_k`DmfPah@7#G-sW__WAGEoDPRj08e}BIT2_Pnj>mVd#z2^S_ zW*Rt8FX%4afK|1Saht)?a;4Ro#)~69BLNY1kPDAMfx#K_c>3u6$NN0|l}GFF?TsGf za!=vh#_X<7(m;=Tekr4LeENX$8xeawfKbwxwlB2cTvdJe?Q1!7CZanajABEAr?t=$nx)=*q`Opbkx+ZqFe(bJ!bozyo8Me3j<6Fs4AJe&{(oS$=mXh@E$b zx9r8?$vPeYC(&YB0}8<3AkDXA|GIr#FP;Te0vmt%?GBL()_7^O238{?A>pGk(6_Nl zz(InyD>DVehlbN+-R~YfdEtuhxHsx72ghFbtp|#hyAAuR4MbzyUShFH`CSnak=Y!S zRUCxAj*1;bLo$EJkJNiFr498gxu%xh$_AaY82Z}F^uW^K1BMj@dIj9(e*!j|ybPHy z-H?-e&(*3aWeVEtYIuzHXG_y?e8bcvIk4Z8<)^J}75pCL=LQ(hjE7(Heui|$I`73_ zzo9dwSOOHh`SCiORD$s+TR$SV78{gtlrsM!@DcpcHg+qDdw-IDUr`*e44-dIvX(C@ z*#|yYn`%Y3I8*CJs7kdh0V+@+gyV@*q0)P%iMrbsYP;`#2tVC zr@>l$s4SI84;A4++SX7>7TK}BY4;6;dbi$ZMMOVWv%D*7!6w_Z+H}YYhEVHzh2Hswm zf_K;5QK;1JZH!Grbersc@ilTT^FWSTQ|anDo|A|4PH0gf`)L@N9yCaG+4cCayOBYA zGY`(0Z&rlvo4fB*;wORfBTFqr<8(%6B1#>3cQI%FO?@Sk`nUf*Hvf-R4s0saT|xPZdX)^svMRPfkTIfy#JW8^!p_bct@+I@5=5pj0eN}>Zg5h0iPm8 zL-ta~s?i_)H9!oF!|9(32xEQV@xQ-2S($w64KeoM@jF{7nOO}R6xK4Wn>Yy(>fipI zg{^FqpT$Kt_eyLoW##mZZyxN=f0M!-MJW&TrJuGLUd(x_N2@;nuXP(Gj0Z=w#XRzX z&Yb%RxR`Xm{ZZS#7RunDdV8RV>wyR!7PDRs0CXsqc<4%`F0>_ zT~)s#snDjQk*LM#!TMzs@C=-qa!1ut`6q>nr-Auj7QVRTA|1b{Lcm2Pfv$n1y4!q} zd6UxpPIBccqvZg7*m$7*yaB9v<&$K#wk)T=;gdWSX_rF1{E_z`IC{J^s|9)6)!*C+ zr=9-!CHcqbP)PaqQMUhF-2CRX8`PMh7nLEkm?`nTEG8exQBPz@>)DsiZ7)UXzINPL z&5C#tZS`9GbJaJ!?GXm(*F{NH8z@kBg|=AbF|&(2s1a*{3@DS4a5k$2h$ z*)Q>r8MfGZc9q?uMWaZH4#beO7%BKo#`>V|s#;Y5fN2r^-sCv5!WPLuk^ z3`2wZON6)q-6@XvsO)6iA#Jl?A7g5hl~j}b6|p<<$E~Z$xyKfm_iZrUn7l zT-X&->@fbRo1cOQr*+@lSrFO9V)nBI2hR*7SBJ>klO=X17&0PTCb3VQ%CU=Y%Roxn z7!eH6cH@5(Nov;JfM)UvlY0bR$WbJxeb zW`EK<_TOy#VNT@^s|*~Ci!B~^I#zy>uJ!|`{5UUu&FH+E!^H10n98qdY|JQHW*nQX z5mR+EB2T8QqoXq`AbY+iZ_wD41{Xq;#uGA-WTVHBjPq$<~v3M&qP1)b@*0*4Aw$ zs~c_oUMWIiC;6FY-hJmQGFo40P|=`#;?1hj_Gf?Nod?K9R5?8b@>u z-j$}J=JFcn3V8j<($_3r%IbZbiCNzv(=wwgjD~h@y!u4{a;HLq=U`L1c$HYDs-W>t z4FwF^a4I&+;_EM~#0pNoQ+ljA1=)~xL05fpYa-Nxe>=mtkAp63@@j$77O^v0qg^wF z=hynLmtlXJ(oB;5v1V^!l2o%i8yN2Zgka#=dLg1EyAXrZIoC`#yx7BR9sSs8y|8?? za0)4iCWfSzNHKTLmtdt}ocIo}9+vP4#TNX5o9LyuC5`;hR&B zJRh~|y98QKx62weX8o#imW(&QB1R3!8gQrS(wwi-RhRSyl`*gWkB?ZAO{L!WHyl5@L8M>G?{zY(|E@yH~Q=|z33_I*JPy;Y7hdsnqrdx zj!wSD9C#Odim97d7voA2Fx7tq%L6-Q4DR3eiOCN-dwTe?f$^Kdu;TYd*^E|TEitma@9iIG_xhGnQVDi3}@wfT`E(q7DqMtHf+gQ7Y999G1|9K=y(fX)<14hW=w$JXh%IdF&bE55!{|~Ht3jA zHM+ZrydhJ40-BMV{-!dRajoH>enmw^xTW2Wqim_;g)jlD0Sd@oG1RN)C3bMz+beHK zN{N{)Mr!|qAbu|G3U8V!6#%a`-JLZNYp&SecR!h^4rc8-U*TO^JBmw4VDUi)HKCcl zjWtLI9De6UR%~LAki7IFj$h^l3|u%noKL$N*V8*I1ui36O|Zf9ik7MJTEfv&Z|aYr zjtV_p4&H5yHvDqD5c5h%4J%%znpYc;Er~?;yu_2|xB6<92ThFpt>{Pm-B5_1m84;Q zG2WOBt<>O(nkt(IBdX# zTkfPX^3iFqR+QG;A2q#9y#3jzE+jt(RW@A!u^BmLe#q9U5s^8WqJ3neMGaKGXGtRG zZ5e}Hxe@(&nz=YOkq^IcIK|#5J?`p+e^5Lax%G&#mYLCV-d6_kPM~zfJbH$D7BMEU#qn-G~S=$wmN#!lTRP;T;g zq>RCqr@|v2k!PS~#5zVKZQ?1%MjzSwBT73FbLn2BG0qv9czk84_J@`JIc)t^i|XTN z-imD`St-`i6$sV|3+`JUI7O_n{C{E1lXM;f9U!pjq3*s>dy7=?=|^MDHMI;;mxe7; z^>Vn0!M1GE3-7ECIVPRr-VO`r`94dJ< zZSCd6%>y?ZMGP@DfLZb%mo*NBLZN6>0GOVzoUAaAk&fZGZ4DYzxIuMWuv9ZwU9@ql z=SR*XR*+{8%E%;Kc(V*5O!Z$eAUD7-yG<)Tl~p{)FSm?~yRVh4gZ3|A`$5S({DETQ zce-c@3ZgJc82O5=xFV_IyE&(4THglwk&G%4%ZpmuTHgY}BH=q}Gcv7rJwjY5DwcL0 z>Mq8O(jDN&<{~go)w~nIT4SoEsOWq5RU#+O)bg}{D-E?dDLT@&rsjWo@@?E5;@i|r zLIuzVv_A;Qj@HV4S)HT#SO~lxH%n{&p`*QQVPN@?&|l&ZcE&-2aHp@6RmCfR(Gg-4 zd{H%%9Mg(kTUvi9e1Q{kso83;@;3?k_$Y`m_@1jOr}0Dp%|TSUsWI6BY|-hwpWYt1 z{yI6^wDOD(bN&uN8L-mXyeTg>FXguB%%t*oFKE0eD}i6<;pLx?vUp3a3i%g(_+FPp7Z%i2e&^qbe&3l<3k|KHG|xi@9lYYpvE$G6!GgPnPv*pT2n&|Xsz!r5L`w3AERdohq)gTu=07(kNaKgxYk~X#nIQ2 zY0a51m!iu3Br-HVg0PDtIsCBPYa9k9f&vZ_k8-I!xMpsI_BYzqF0oF#6>FLLvGJsV z6I+fqvz{AN;+>88J72paKF4s)J}r$05U~sy*Q4^tPYzIZN->w8^=s&aYVs~gRA+qk z`kJQk5iy)GyP3s=^$aqeCcypUUiBL)BARBSSx@%+9?&k>39<&%g zC9EP9Y0S53{ZSp>enChLY>MkSov{m)I+{{?NL^E^A6Gs#TxE!qDCR}nu7 z_bWfkR%Ky6i0NU+eJZZLo@AL@`ggiQW;%d);p$0k!#T^*pP1+UthbaE6!g6+H zb(xL7LqVF#Y?<#u_nT<2Rca>NA{CYHRY&AP006f>zpqSE%_&C2d^q>rdCr`-&1Q zt)<8BWp{N`h8r1~Ob34{pJ7EUnTy*xa7G<^Ugu&~u*dh6IwBIRl6goK9a%i+*PFpn zVKFI*&f?{(YNZb+pI+^DQdV5r9}C6WasIwaECm6YeWOMU}Sm~O1TvLFGSk~kD=4pt(Z6z*Eq8* z9s64I5kUA_8q~R6(W1>e|KvRTZEMQ`-+kk0uz0;;M@+?=d^Py7h7p&8iiUo6#_Y$@ zhFY;Nvwp->KY#xq#)svRKx-H#pQHfiMxF=S82fBZ#eJy&sZH|XB+4gVLmro@!jZs-K)jhFYhmG!yrWs8 z@r`v%G8fl-5-qVUN-xBZ?)|WpTUv?q+Tim)-{3U26acUP+)YhrSB<~r!kA@*^M`)v z=mX=xutRf#rj*K1o6iQFl@x@vV_Wd7=(JVqD3{{Dx7?ic2r!U- zomu%Vt>Stkn${=XtLwe{@1l|RV%OsjhU#V%6J~?^OY@N6Y#!hBd?#&#;dnwPn5v>oNI?-!o&e70)9*<%2(}Gz{CxaTDj_A60nw6sb zsU)w^2pCruo5Xh;Xx%tgwxj>2K`1tg4SFN=`4164nW{bN-IkOi=(R@F#3sS?#lFX+ zl?0U(FXE9S%)taqv&Aqiy8MWwRR37nc|U{cL<2U~-~ewnB48f_4+Xr$8=9~1Df7;2 zUxQ*`sz`FZ}o#&f87+@E;&*46z9R!$rF0A8bfum?=jx-)_8jfuN&0!UVh6g!359K3v-tZCdP(u zX$U)|21jf9&ISxZ`MtO@Y7;B3EGI^e3pkzC-@Dq~yA@Mt#qVWalan+D=($JnoQSyJ>X8MoF(39jyb`BuCFJm0GqLAeJfis7MoouW2hO{412FRXd~v8Z53^ZkD|;aCzKW!R@CfQ#+JX z8?!tY-|)r=*P3nApmURS2Hkl@O$Hydyk6YZxBgrtYbkV$dp*rj?Ay0=9QLa;aQj{!{iy1zj))FH11Xg z>qb4^po$XAM$x23ivOg4QKEKqN{u}uF60n*RW)*B_Nb4aKPBq}KihQ1RvWu`wncRI zgY@(J(;;=ATd|Dd83lL`lp5)X`17CMQD~QolDl=gCobcy`)%_V-9313Zd+2|wUFK< zx#>gm)r!Gc;_ba|D%@`M{Dz_Q#63rScZUHqOa>M%$}>yVb}nhid93V%nZe!Yzb%UW^c{PB#{z? zq>d6Ed>;OmZQJved{7@r)F^7}X!uyI`(Xi)8^4HsMnmP%yTAk!4;P=`&9eEPWnqH| zj~(!PtS-4*#l+4QTe_POtSgZYt3_mq6L;p|j`mUWZHp!eV>a1Gv`aa}g0jY$MVpf~{goDEM- zAuN3r%a0Psxk@IHLvF{7w`DF_d~uW#+&eX|rInQFD zrRv3DTp0y<+=#^P_-LA%GQ+JAjZQn7J%-X66WzIl*TS~n&ftf(l2jjttftxIqrk#x zg)mU^xNCh3(uP0=qKDSJJu1wA5q+@ea(1}=3Fr8TV8i!(dt9enx8-s7P=;uqBOK>n z>A$o39JqD+Hoq_tKqX39(EcTi`o_m{f6L=fW8Rut`cDZ&H1rhT-YVXYleMg|iu)Nx zkp7l}?Vw)dmM&jl?VNZv^{gwwjhIMPWBO^EXcy85vA&EA;+hh=QNJ1SkXJ?J5AKmP z&BTw1Cb8-pXL`UqqA5u=BwBk4sJC^JHCHR1axSS=U>e`Y4PzjFWC?_9dgAbn1Hs1> zq$RcsbzgPk`0ymN_)~91(!0A2H;vIcPTsiZ+sry=%gsm6hH(e zf~VHE77(YtHxj#pJ@}C3f(&4$8`sM881m?~>#a;$R=xh{SCHl%Ceg67I6kh`cAp*} zfr7Juf%T<9HB|uaM{Tj{-_kVqRY|9FAy2f=Ax1(nQ+yPMYZ2R?4G4;G@yWg_xSAt* zF;!qNrjvacUql{K!t#kLJ#coVm!H` z9>3iJl>7Kd_6dpmH`nO(D?kzUm^EJ&MGzY4(}msrAQR#b z6V(sSVFQKmtRju|v{HxkzmkKZ&;VQq@Jq!VT~d-G94vb%kZwf4>*$FuIpMf^39z&{ zhYFt%a)tCrj`cEs9UBNK!v)~ZPx$+4X-R9u)x zDEE%Yc0mxf?&qs=|c>qB@#} z|1EI${{7dHcYrG&a`W1Fisr#9d5Hj-bVZum`A-Q#@0pKP#5n`EW+;r>BR^0M5ux$x zbuy9i{1#S5N+pm7D^*acc zE=F=8Av`%_XP>Dr=KGtb7c&^#*{)Cd!3mqBVRM(4P{DJU5Z=8SBWwi@dJYBFG%femO?&a#3(zWdx-BecQOQeo;(n z*=RdAHL3M%Ckeie7Iy2^oX-AS_SPT~Ff%XZO$z@bbO52;@yr14a34W{rT@7NzcSr! zL7g3;caYA#uf*Vut=awqq_bCJoJhiv^}Ff94$ELk+|9{J1z;E80!q@|HXEe&f3ob* zFa;kk+A4HwALu=(-_|1nz^z#8;fDhEbK1Ax_i{n+HVRRGE0s#-VAfGw-9dg!o*87j z0uX0|y;QKVK?xTEIsS$BrXf3l(dk8!164^)zKGOH6^vvA$kqwfCw3 zt3OE}hey!{c#NDXz!%qXUU)-(4k3V95kO#M95B*4yA7p+=Wgf2 zt!cN36Ya`eNRMb`ds8s>v>E%jjuy}+V-Q;)q{XDN72424)UqP($%j9vq!h z?dg%rVS$%YR ziBrKEXq!`gW$CRoJ=5o;x9qQfsjn9*zO%5u0xb$S+HnruNj7qJOWB{`J-}kac=W$? zJ2g4aNo?YBKjMe_t2w}{yiy*C;K^x`z90ztSVmPQEG)dE`LheV?K0Q$rQzj2r&9_0 zuB4DnLuqiDvY_y~cb!4p+ixnZjyfxcJ#uzwFwI#jM}I|lQ1}X1CHs5bRiaP;UJUu3 z%yaRwWIBMhJsd0nJJVDZ7Jl!j?!g*0Ie#X+5(3VvR5ms?enqb%?_J$_S{A_NRIWqN zu#w$aK}RxvBaB|uIVv2_rFEUHDc(#$;r-bP4u?I{(nRnWH4Zj3Hj4NM8v!r+3Q>W3 zJ=f;=*Tp=EOi2mS9W=e93>RJg{Qgl3?lToIx3DOPVw9Y8g7hfX%~|sSB|T3mR~Ejvv>sACHruH;epN0&4AB_ z_@Kc4cg3;%cb$Q1-dn_D| z`KDii%5@)4?!Qk8eh3ZB|9~GFO-gTRV#a}N*(94nNHFQkihl9jlbRkebIITZU4Nig zDe@YVZ#U^zRwFieNlz=77u3_O&|k#Oj*KkeDiC2#!u3r~h(=q5F3(pD_DN?9r!iLe zp%G-v-sQLLkJSl+4S$Sy2QNi12d{=9U()yjBdM*Rjhi6J6|A)1ufU3t?QwJ zptF%FU2G?lIqufEsNC?dcgU!syD~UgbBQLrh`^BhUu&7{2Q}asRlU_DXMgi-hM_9% zs-5b;DIfBAy8-B9hMYlqwwA2)NV?*LE1 z_5BqnHvjw)2&Y0G&HxL)z9FpEql#m5BnsTi9V;_$*E#);Dyp3`W#ogg0-&^g_|TFF z-2L|-%HdwLRoD zt>#XY$(U-I{Aj6~+z5xTFK;CA{3RFha)o|<59Ds*8HgjOfy@rgoBD{Au77sr_{^qkcOPXGSc-=!Q3GKkp)Ai26c|^LBqo1@uCw>W#>bJ*w z@hD3N7A+;ne>3}m=x6SPetPBC9Pe*=+JA&yoB#AXe*#I2mSkOHX7Arl;Is^$bF04h zpT`0DB*b`furha3;7j|!OfmOg#{Twg54&I209k3awn^^fv+R+P98>(z^~b=AVdtd9 zF!q5T7B-5H>^}P|dHc2Phu0H?o~Yc@>8vHp3Y=efwZu{FR5QA|>q8tQvu8p!2c9+N?vZL(@W4>b^Io<3+;uY1VQSP%2~TUfadfrT0$o2T+2S?oH` zy_|{;?gOcKR{-Jbc@uRzuXNczu{-RUmkmzsZbPZB1FNiTYZP_g_t(QTJIspDRE^K4 z9{71jG<7_)D?JNx-+Zt>QK!8jgAuX(M0Fat(D9IGpADcn&T`-Q{@6g;$A4Kyy5^}! z0OD`!e%C8f67anQ4~xXOt64SLjZHPT?&8T^s>EQC0ywbDvw?&&jn`#Ymg?kWuQvZC zkZlJ}kYz@*mo^LBS=B;eW;u1rW1u1aPFsacz&VWN^FA)IqxKl-tpNKoQ`BbpCzkL; zYssKmC$`T0982g2LGh%)dp6Nd+giMm^uxYRzs1LnAt?RRbpFUp~^^R}z{BnrxNvN|tuB~+cey2>r%eH(l&4{f@R=A%SV|%tf z>hjnr7kfKRa8fq=O0Ti$Go<$0*qrhH^XaMv4O4rwu`XUb5Yy0_Ii`+s-iyz2f3T$^ z5V$rNu+ZA7QI%+gxd(e`h`x0uvnE*MXVBt#bh?4w+hPllW%X5S&9pse7blUJ7}{oG zL^LFLGgigraenPfA;O(JJ3P6?TI5rD75QmQSYWDyJz;tJ%l`YBUg=@3v|X&>=l%8D z1|8jg@SKC;B^i0j+KR<@@Viv=pY#QSd84(Vp%AtKD-E4z7-bhD&34wjYZ^)M+=pjN z@oPQ<(}uKFXH1+aRy`|Au01jx_C{>~gm2vOE0zWx(5>e#c5$9Pn`UzHXncl7_pq+`lv*J_fmUr+q!IN}T*sJ6y!X4; zorDX?7M{Jm-%|}wtN8oWwR?Df?NX2vHXOw0 z@{s%~zS`&}f#wS+Yv^$J$zXXZ^|!UD7x_UCNWEh9D1hSB zOez!6z8ZTOTHU|Ds)-+p7by(*F6VL`esxFhNZ*w_%1M5fRXgS$2)k_%kW)8=6^|Mx z2<3E{=X9VJ9#~ZLh!%8z4ZG(DEte46U5}Zqe5uZq+~n!VxM8^+uJPRxGMp*Jfhpfy z$+}0H3@q49?>}4irG$k%V9pjo?kQD4?0=e+4qF4RDwck*;z$!VeGAjov3GK>u4$yi zf4;Voc=OK~ORZxuwJV?by%^Qg?{TjIzHr-TyavFRUq&{1t1_C44wwG-P-xkmM(3!1*obLsZ_`tl_jv zuTSes5njQ^d8Kcj+rE)Y5+p-!cJRR>CIqI+1HDoEQ;$sZ9z*Id0tF9hd7YUKyIAHh z3^njKya-B8>ao)OoIbE zqeM*N#ugRsQ|u~AUU4^GX&6aNPEr^CRUKMO8|OwgzeZM*^})Go@kdhaw3G+V=3$l@ z*RH}l3go9`GO&rxC8?jB1-tu-=|YInz=RFET9vpFzN7{(@Hh%LnD2j$83XN&D;H;W|tS9ZvynE)7O@IA6e>iLaaEqwLYIz~@Lc z8`-RtSg~UJHhnSa=~Iz1)S#r{!RR^D^vzGu$fp->d`Chw^;;JBQ_9^WvCqD}fT_~_kO+9O8D1jM{Ez%0J6d~(GP5cps z5}*WN<7TMVcD4In^MVY_>6&1f#L)9lAXmbobSrYYOC=c$_5XsDG+?|Qnoj}*Kj7?wn77Q; zinyh9T@jK69+n>|;D@@YoJuSSPT&RXq;LnQ_lNigd==+x%ZYwRXWCY)uG`_Is-F5t zep*qU*Kmk~=02bKO{hQ)+ZA_|fYD%aX=JkOar~vNqydCl&de ztr_0Pt+8(w<}mrVwp2tDslSg~ml84_Q~Px2Z*=aMw77#g$>#9LjJ0yh@ap0g(*2yM z&M0&ae|b8nR`bY^&2sOrcYB1_UF>nCygzLvq?#iJtKe?wSBTvkVsoj}b8A>SBO%4{NUqMZSG&JH(wppG?X?u;{B}ul|7+dVcsLK3eY5wQxB{@N z$AJ;j(<4TG*(N)pg^$$(8{u+DspNm#Lw;ate$?ouYQKYd5^5ijRlBegq}gz)?@7Dp=xT4# z(q?JScQC5W!5N$e`)=M@jKxLjryYD``4Or?!f_Q)yUV5w{OXM`vKrnpa8GEGa?ZT> z*CD7*R6gywrJ~RN(pN!QaP44;T30do8tML`{ciRHK|Y)lW!#FeR_8_9u>3ws_@wfEzb<2ro>r?9ALbeP0R7mG1XJc_FdBJ(sh~(>l{jE*W86LJ-?^&Zp-`2tF zs&<&!pO^&{2j!z7NJ)$xQ57w2Gr z^pD@+2W*q4oZbKnY0|?j625QR`MB}AuZP5)DqLHx%}zhKL^d@Ql9{hJ+U7rS>CnDf6*Rd1ed|as4hllRQo_LVLJC0j zP9X7OqF^@ttOYyYgQ<8#ZbB(Tl5;o253k!c$HGhC8}S?C!`bK4%z@ekM-S58{DA~r z2xdhr!yFjyd071P9w{xwUr-oz7)Y)Nf1B}h8GWzLr+?%=UiX^U38?ux2V6lzb+Ov> zpL`9EJDz1c@Mvn0(i{>vq?KJ93~P$=z?aXt(1>}4slBnTC%|!M_TYRdzN1Ekz~&!s zy-cLQ0C-BhVD*3qy~qB}6woWXseigs^G}RK@*+_MV2<;dHJi;TEdGT^6e+y|Xh4&d z+5r<(&>xkPa2`Cz#WC{QkY6$e3-5_icuqexvD~&R)Ah4FThQ-kl54+XHGwa7fkd3Qdd(i?swL8!fPLMW7PV$7&SB~t zgAgyfVXmt{QbL2kY^8v;(Tzzap68J*DLpH;^8KDn0@o$dz>;lc<9vegr}pj_B4O$Q z1BI|8I{dA>a4AC$+K}`2zXo9uSF3#H26p z=)HbHiy$WY`M90d?V3^nGlMLKk0)yy`?Pe+2aiilG*_?oLk5;plad4j|1EJhfwF7% zR(8|%&3nlD+9FLv@7It=c->nkJ8iqxTVPAY@;5TsdM0WxlCI%a0seAZ7x#sIl%BW| zXS=9=DRjQCNdz#(`LuV>8*%qHIN;e5Y*#J+se#u(SUo<4YR%jv6O!;{c z=Cc&_7zW-4Q|^{6)LdyV$&D}^l$xm#Lui(y@+!ZgN&j>3V^79Zk#QXj;3?KPkTC`V zQ3?OR8+0ev5!akwPOP+UL{{m_W4{&k+z*X#%^S( z3Hvm=5-RD*#4%x@if4U#5_qC8OhQ?X!pva6ax4Q* zyD2LvL5Xe!d)p*dgOm^`KUDb<>pxwKAr}uGEi|u3D%Bn~KFj%m4xOcG|EerftXNX1eDW0y46Rvc8cW4QyCdL$lCJ$Qi6k zyV=SDs3HB6#harxb|DQ?k^#nBnU+Fiv{$kUFJsVy7IW){Ex6vs*ix;ZLE7xHlwL~O zbAJ$SwhBF8DS$tV@ZK(*YYI?a2g8%PpXca%+dlmoRY+pyIMyik{yL+~KN47;4B9&q z<1h5;XHb%wbFTU8{^~ig*tW_3<^GjC*sWcKLXG0x_e7j!{4j(2`LH;P{DBYVu&ATV zR=giQb(S@jnLFAie0#xAsbtoBnDUd{DZGsXXqv9xW*qRA_o?}lyXNzJb&Anf!c&xUiuX)jTZB@#G?k0hKQ^(?k%{ z2Y&>j=iH;KWMHWDbB7DOHul>OrC;3M=r9uI-H_8BCfHezHLKSd*?`IrK zZOBFN$wC;}@>Gq*q)6q85_8alOR6%LQKPDErQu4ae4}?+bVq0Bd`I$=ww#l|n3*!> zkn#{Q^4kvG!2M-lR<3=)MQ7alKZziL;GTK(pkUh zr9BFf8D{b+f9e%7>#%7IJ2xIS7Pio!7(PDuP+@W_fCtV+m=!%ynXpI>8HgEbzi^8` zw?2GcisL(0d^k-8oW{^rco*-E#c^|5^g%qt8daYsJAKwBuKRs}IF2T{`3er^B&`}S zt)p2HBw^||A%|6oJ*)}$7kQ+W{3;oK*_)P1kr^y3Pb!a=+mwzMX^F$0c*rp47ovGi z?A{#Rf1>5p`bnvSrDw74k8%eWan$BD4fQ1Cps!N$cFe^CREKT8!LEV|7aqfloUtC2 zGAlT{N!#6=twh=ch!SeMwl521b|^6&IM{N{WQ2F8QxfKN2~b2uTusTbH$D3g{QgFB zw#L^1s?;k$9fW9a`jB;$87FAXdBt~aW&1GIcb^WiK%%KQ8^*=j2RLx^HM%Yuoz}FTBy7a z7Ezl$oKM@ahY063u#nQ$Wixo#=-fHa^1bn{3P4aVmG(|ffHeB=-GD#k5O4oa@YDCQ zolNgzdt|$&uj55CNlVb_6Z?aV>Vb}V*Z7N$@ zQWD$Zfoe?}5t_AG)$VgX1(V~_AUAN4a7@*VyJTm~^paFjcj!Wj7Jg;@HBiFlbaoRJ zA1t%JOGbLUF2mRqEjtwf;$S+km{BkF@A4XOmjplbD%+)td>hah^ic@wXg}3E$*uzu zJ+R)p^K(Hh=)6Z}GU3pA{PbvLf`nFzvJfOlZCkGCV@gnB^7~GDC4Kt}U<9+olk2K( z-;WF+bLz8GM)SWa)}erCjhFNC)gt7p-{tBQvDT+@cfmirSb(W%eC8Uq;M-j##O|4+r` zD_G|?y8{enPha0U8S(-~O5Vs;zV#kc6K%QIt!En4pu>r`YSGM<?k7UN=5yY7ZUD@#J&}Lg*%cHU6KZ zB4>t6@_0#`OX(t&+4)M|$Qvu_oo$4KQC`cS=NYS6OFaN@D8bNv=JuU`bqye6l%SAc zp4P19FzRcXW683~+EvZ|=$N7IswN-O8dVwIY7&CQq!u}b1%nOAJGIUJLH4a4e#d)@ zwx-yokQ`?R=jK5M)4tR-2}gU=Z3x`9aYX_su@FMjX2v+$?HGteGkeDz(0S#gmmg8r zRD$e)|DF-};cm#^Z^=mDroU zP{AGd$+jjDVuRYew>Nkc9A{W>02?R5xg}?PpXsSRWEf4YtcoP5F8;W*tWa@qa(<%E z2xq|Pv+b2wtby&-2eWjRV;83}EAT<`mgG=b=YnA) zh*8iw%4qIo)4GgPfrWt6*SE>$u$YTuI+O8$YIFr6%HJ5|;KdyN+N1^h(c4@=;%y$D zFlqXnTOXr4dPvlU;hl5@AHD4R8= z?gdErdy&3DmU0qiN5?dR-sp^vzjJgVe0IJx7Md4r8dKfJ_vYKe)OnAz@!>H__M!zb zoGF=tCr5f=XRBUq+*e^PPPz`-(!sgnAf|vVe$iK`-IOxxn_&9^O$S6#5I%h!)LhhEQy4_mWMZ~leIMvKmcNY@Z4V1HK!HNxNk5{Y(F z)hHDin`Fh(qjBQnvV10ie-w_8WoZtK8Y1|ioVpdR1fN#vJa3+(#++8siUfshxhPlVWZta&I4@!*%8+!e?FiHya)@q_``g$$OH``r7ICU+U&W;?D`@8hwgZjR-Pb82OQ`fd1@S zhu+_*yGup7EBm*hdw&ZM%Hs=3Rr~hvXwE06&6wa3E;r?6lbx#q;{33w>oZ}1kf)&c zmcCD$?kAO^d?Sz&lJ{u49O0<*=fI|t3UcO@$IqBS=;GNG?mp;EK8wzQB4IB1eyXBC ziATQ5!iG0vij#~QWqY1{!~n>2plOm#v%aZ=ZK_lQh3w;#NL*|Ik=5z$j}Nz5W?S}- z_&w4}o|rviBd)qS0eeDz106A4?_MM$NS8P!m(>;HwmaYPYrth@-ci(I#D^^@(z_AV zo74KPZ5jz5wonL^{OpJp!?YP(>AGGWYq3DMk#=q+y6S$ zyIuc%g%m(LX40tO9wlkNZBn~gH+KnV>18zw=S%HNPA)Y~(iN-pbYyRXjH?XAX~%!FshYC5kp%3r=9>t&#oZn_GQVj#}3ooKY|DNZY0(9DkAPcn=dX^g{@mNKFp)^d>)N2W1SfXATr``k_rdlya|ZgJ&^eM~ljl9F;#1Q)<~hp>H{O!$*;x~&K(Gp#rajc=23u-v)S0`IDHPv@Pwv0Yc{7@W_8Qmvhq5~^(I!9X% zlM9LQTrd!(;EQhf*4_qG57P3WzKByj9i5gV7MgaUH;;p=&y(nG6D#9~{viDyLQ?4Y z-w?YI1IqCmPXk@2T~mLNq%SG<#O-OZ1` zv(EP;kyHnn&V$O2PGd^(o{S=rKA!3!~WN`Pe3#pw6c6&7Kd61>M_R5c?Y*K78F05b5C_x}*G zjS(5hdCh1%;`Nj8*?Hw-lyC1|#=TeE!$|sv)$ox>2~o;=d>38lD2|TAsNJ_l_=;^W zNRGn}lOoo{zE)IM$1r_+<-*r&Blt@yoKXp8Lky&g|6+A@u($u+yQWu8X{~viiy6cx zC$E!TCPxxOatsJh4iPRXAn0g0dMd9oBQovYR!T$FU0d3tS1AHP9qCz*U2LEsh;L>6 zv|(>VNrg8U)*GLy{5Zu#K>r`Y-aD+Rb$J6_2%?Cn+lCZDP(Y>ko~S5F6QznYkzN95 z=q=d5LJ^Q&BGRM==`Dn!gqqN+G!Y^-^pFISyV(2ea?fv{dwqQTLrqxgD>LuB^Uln^ z-Yeo3cshj^>mT_CddbLS#~$!JR<4r(UI|S^;cvhuz6~s?DVW(zZZB!OUTz6t0=hsG z7FJ_Wy8p9H2-grG5Ulh+9wUkk8y?)hD*tn7jsZ^JWKRwDUPxu0?S$wjcD*d$-P;{~ z?oP2qiCHJ(N{VRii6OydN^vX<3!&=8fr5N$vLb)31!DkcD-&Z3;&^cV`^Piybx=8S zyVAT;G3b+RdbyM-Xj{jZhO& znvxJh`~LbGsLwcUM(E+$Q8SDf-}wT&Tzut({HYyjSd6OmYZ!?3zJ*WtpZO=`TW9=F z7&l_X82r%I71Rg2DzlA{o1N_FV05{-GSvOH@CeeiFL1O4^D>`ij2K+jRoybsy#D!- zj}G;hRAo&eDE2G~Ag?EE*T}4-dQZ%U0G=lI==C=%jDT*a5T{CMmpxoZ0Qk%&#KuS4 zB|yD};|`LX?`bglRxHY4bx$w#`&(T-KiXtHs!Ki2A@$X~-Ehq5vIJLSF}OS#V%6Zl zzu+@R^K<=n ze$DZxG5s&)2ZHVHf+5|4QT+y~Ed|6`PaKuYzI_sDE5|MN?JU#PMr!*pEhwq2zo_kGzXXZqMwP#mQRG!otQpddEg<5)>mnAHJ(+ zCj%RQZ-wZ=KcTlUh=)@g-`~Q74M{|VER=@Q@TkO5|7J)?6zZhDE*5jzXSz6XAr*tNWV`05+-LM6w8CrN>A5rK zSIx`{lL{A;rqx)?5hQc7On>&YHruzPj|m}6u%Xo|6E zS{89x2M@bpPvI!S_Acic@%KxlRrEY@LOyz}0|QS^9!Mh(#)q?``*5-Sls5dB$#7S14ljU=F*ZDkJN7jZSBrIG&HvxA3XNu{UzYsbpIhk zDaR(8>Zc74$b-$+v&x7B5mKyMbTiVA?Z}70qrjZ?!G?1wYo1q{fRE6hGVaw`2h8_w z%zvU19}Hhj@2Wcn6eXWcRmQ}7@Q9&l61rCxV~jUDut$O=6R61Jjg_ag%nP&l$&70 zJPBo+N<0!4Bs=w)K^k^yDgG^JZ4A*loR8M=iOdHM9p_mxvS+PzrLUEjq*lmZzhM}e z(?J$w-6Y3z46eo&>Ij0BE(=fdYnJkiI<;ivgSMpg)E;x5-Qd-FVZr%Jnh%n!6iIm} zJq()Rsf225Taz=VK|dsqxnKM6Jz_d|by3W{E)2I-Q7gJ<%Q`>-{J>R&9r-cF5B88l z;=vaQLwzT4Sm6D1jXl+^6Wgong&kSswKM>qoq?;wh{{{+9`ck#K|TPfce;Fg!D zpN<{xX3**v=f;gF&ESl`rIZjOF%I=1n;wW{`(*!+nR zFAaNpDmBV0T}AS`^@ilQ2@%e*diznE???g<{NR~g-2)TMP@Ehoh0m&9-F^wY z5$3wJZq$~<$H;d@r|0FrjjSxYiS;z}3&%>W=Uwl$TD|(lOB} zv(}u_nAn2cbwNX+1Qyhu?D>n!W9ATpnq8|j1KzFeLk^r7wEoMc7O9s~>+0FfZ}&wJ1h;yfvM4n4(grFaI;N`v-pNb@)uPE{Q0cm8_A#Iw63sM#A%7r7X|dvjqzB-SD|R6Xt4yHL%@-#W6yJQB&e zSysM@o7L71G75eg_Jl-#IAV$FAOR}0CK^4ZN+O3q1|bJ3@<9|4vGi9-K=5wpf5?51 z`_(qz`%dn13%Y1t>*bj*J34yd>?gZ7Hs+eOvUxoG6(LN(se4pTh6b0uFyIj;=ay39 zN3#YEaMxNch*u68eab6srmb1qU6)Em8>JQ9> zD$$R<94JW7?_>;~u}Jy(>Ic7BneyxT zH;*b??1p`CT9pV^9O@qM)blg`80kD^28L4n$=~l~RjgU+XM+N$Yw5R4FXK`OYp?i* zr0*y}&}}>t(wQd%;12FBcFOf@NpGIvQ*}yzQfr8LCXZ9mG5MLu6^u``K@!75{uWU~xPQM!4b9v0#q}bA#g`CC&g_{5HBjHE_N^DxQ_;E zEvDa6sK%13;hDNQ1ax@U1wn~&|1^)Mv~kA}@rMp<=C+&w_oee9f@0*|Z?0qCi#8b1@ z9nBYp2Zg-CD3f9tI+N=5Nbe%5aB|+902}bu0D4~0$On}DI4V?YGA~q#dCfWXMP*+b zZqv+Wk}V%yhwGy zj3*r`^V6!vjPbXLX&r5qb@!G$Pi1<<_}1LjoXLLGi_IS%CW;c8n<5qCsWb(z?XB_J zZsqtu*S|Qn3-mwPp^8-txw2H&FQN~Pj0E>{2Vgy9?KB3gbsT4VH9X3H_API~>N9O5 z#2keFSMgAKo#~!ifWR{@Di$~drJFX zvuXQkl?oQt#Q6fnb-6?OSQ12==d=p(U#a{s2k2V_R|H z^p|%Ww;cnDghd}S1|OT~EkIk4o~sEue8>Wwt$31&1jDt-=w=qmh?vtzNbKz29&l9G0!s zc9+d^;aI!1$y6%ecy|MO%3-Dm%}il8>? z_d2w0Jj+OV!%O;H>lm+ZGHb$fHX!M}Iph$qHx}@KF}VKAC21-{!yVhIV|E$_&cCkG zL4C!*cv4GT=aghjs&K^V1Ht(`k=z^9ndXUFnFGOM;d-PwmH8q2&t{o~?Yg-&!!^Eo z@C74<6rN~aFV#({=HfZ8l~A$xP7JR+%ybD&UKLk^6@#|t>tu5$GW48YBB;ac3__Gc z;m4yn73?%ge^!tI!03@bg1vp=@_yYI=iS!1lD3|9M1F*SGHc5IvoBBfJunHexd>G8 zmxv2?+UK2`ID4)X8)q*X$Q`mEhcyfJUrMjkky^hh{=t^bT!5vp@UB2>JeWJ+2xT|g zlnB&g?U#+(F*_T55YR1(e#S1urB%aljTb4`9w)Dr72_QNabxBW20dxEl9i7_4`1xZ zkrm(GHkh;-rLN`{r}cCHwj%NMg7Vr1)?HsLh2}8HCi?(%mM$cTJ_28e!5p6n7a^!> zfVO*vUB60DI5+H1eKz=hNB`gNr<9^9n6HV9cT-gXS&*IG=a$<;x{b`hdG#RiUKD7` z)M_%%0cJklt-jl@Hz{5=mf8uZ`q-HvS}o5omm=~ z@&Q(I@B^pq^j=iZ-oz2J{s|C0h%h8Cf}JkX$ngfA4h648_?+3I1TIWhyIeX7$SGkr z@_v}JE7w0r0vWu|{!A5EH_C#0~ncCY&>8{d<5R6NDi z=QQGX!&SV$Ji}eS@^bdi1vuc%G8S;sd_`fKJo@9{g;ek5&y`os9R9oR^7MZ~`agCV zg!Vq*pl_cER=R5W9Xa;f za?l$J*26zy*POmjvC?y&Nm!cTTel-36|B4KzUSbcq%799a5x{jZHkQ1s%w9Sqouz~ z394UIoHx6Z)rSd{j+;Bl>8JegN}w3erBr6!5^y{z_P8gtyf#C-BA~z&65FD)k<^56 zI?EVb^A$FZ6?F0GRUEo84>z~5j2t>(P2adWPcZzpxVias+@94dQ1Ti|@E2-k)Q*1_JU_Xap$x8z{}hzJ8@wjpoa4nrO=~wdpmFq6J>PaTTBy z7#NY~u2DZge!V&sW0N-t;7rVl`Opkd&;D5 z+=XRP;|ov!>dEz@D?p)AYffsYef6FUd2AR|-xn}pJ4-PFZ#&R%R|=dI6ikooA# zn?|amtmNFrZo|FD^V6^L9@qI)9SzJ9IeE7oEYazVcwsCnnzJyI2``9<+tz70lp}Qv z2=OILOBE>vd9)R^$tp~0;0C6}w6@STGqtYK1}%oE(j*kV%4G=^AGvVkt4sy ze}5J%@&W}QbKeSf$e0$53R1l#Cdr3(Qx04?n_K45dKviT{xlyRfwOo8!QP$Qu?vWM zWTDM#uZ>n$u-@w*iTW7XTRh5V%xfn^Dp8pxjC37KSav6Wm0de6YqycG^g6v>E%TRU1dY5 z#~r?FFunTIG^Wm4=)sXn4u)&-Woe;v2La`srZ4Q~gcR!^PjlhIwjt@HN^Qz_NdvKU zia-EZCGeLM{^MM2+;ZunK`-u0_wB|%Sstirb({wy?=pTtAmM^Uytqs~1b5y!v@t&^ z4hM5S(f$_!7<}}P7~)TVR$Rpg9KLt6EEbqT8f!o+A5Yv#EE^jeJPZEyUrvzY22k8^ z>93ON-;vlXPI~qA-X{TEbQk{r|BsCUkIIjFzIdu*(Qp5y-`9Uk zflzaAX`-dp~`jP0-0 zegXRbN|5}&e&Rnq|C9X>CsSy>H)y`T)?WE@wN}`c+CVEI7b)9V579*zgVxnd#@49o zbH~ME$O!+mIvP|wZWgao!Nd5w!2J&J`!fIIOaFYRiWE}|fuLxuC{awiXb-#Lzis|DNRXms28NP13Z z-IQ5kP$R*n*BBy%51M7wTaOiQZ)L??YQ}8a`g%5456MUFWB)Ne4^Qijrzg6bINq{%`Lc1n>^&A+rg_0 zJd^A7+?*ac0jsr04cj3un|9-id<`rS*4($1An+0I0>YKkvIRXG#@-rWx^{Np8&SQ| z?K|mB-91W@M{RYjimYq2%TC{ygdp7cMc2(h+oI9&Kz; z5bW{^(=G_9^jH~mf&L6SHauE(hQ8B(jzn8Tz^Hw)W7v&+cp-ekh|yzLtW9^nWz#?I z2)NGctbb5z->atIV1Ev{rChYNgx#IV+89hZW$-h?w%EyJW-YEZUi@S0ZL9 zE%KPlZXP?IL@3GPRk*ztb{oGTF{vr%<=I^Ny6)h{*|%iwXsPt#fI`k!BcSXtNWpgS zfOkE!s^nGicqg5qij#mDc*MzDs-*U=afH~riE$fP3~{~o67+u?uTnyqsIo0Z9v8(C zA&u#|YvDzswh!T>Mk3(#6JifpR%Nm4sB*Y4!{BaqPJb+BZa1K)&TG0_ijEp!K!v}&3K{eEmDB#gzzF~I|wV@eIL>XT}nc2ho23>?18WJ}q zqv`OO@b&HtwV!C!@Ig7U*#Gy^DLZXp5+}j2yAHrA3LmA1O^o0?a5SH3C%ez$%AOnj zQdWF`mL_IHG;!OKem&cK-O^?ui@l?iJy1W5mdyGy*UjSc3mpBE_TrB9Vzs_uJXe3i zvxj>*k%h3Pep}XZsSn!&?h%DL{9V;UF3{68nVBnYt`2IEg#?MA>L60+pjRF}X%j;! zElf@7>JEu$3lr}NcsbAO{b|v;$PWqAGROm?;`z?%JbZ3qe({$}y(!`@X}hGRx>KMc zj~SnjtyCSW*swQ6L+7}w{k)qyHz{D#rfDd60=PhP@~}>1CNWV!Q{Hny-V~I8pJf@0L?(IE0W=gfpT@Wt;|= z+TF!>%n$-C<|YF2x4yqIGx5L1!>f3=#$$OQgfDDA-&b2UH+nvFhO+ZQfb;N`L!?j8+er<`iVfrc1(A;8u%R6s|B6tLLiM6)Qc<3@- zJK)NSnUWFuF5=E?A<3()8F6j__Y6~LkztXKS%|Gplju@76>dHtp)r!2Kkj^-XQo0q zXdV|MD)R%W%a);?a$j)Vb%kd+e~2_(9K~_aahF0cW|Z4IbnIKl2QrJzLjEuqJ1tpVHMZk%}1HH~kqw6O^d=7Dw7{djM%f3M;>W_OmvGnIT>3 zYrCo;<}1dNCd(PttHh1S`$+x3vwL`hNP3kHSgGhWDIaLW%d047hl!XTVYd%uF7t4y zncP7hDG$viEyq10l_%donmy_^;?e9R@_PqdQ$!9n3GGnrZ$bak z55f31q{<`wF*QF?Vte^B-4~J(yx_f?@zyW}tNX1IRr9Xwux~0y;^P$`x02%&62C7{(IHle+sR(Fo=O&|Gt zRtH!a4;_EUa%G3=P^>-XJmybaB+^Xj&J@}wdvSSSn&^Dv7$=Qmujy!IVTg>3!g@n6 z_S5unwmXhf-zMezx)i^PA8)B8I7AT8K7Ar^7Jru0~=DGVKB>X8#>xHCX zLFO|qwjKwn%S$<#bD51&@LitDiMcdmtPfV47{;T8{q3k=;)b(;%yPy??#%J+z^9u` z@(Q!Wdi*kL7sy11V(gnJ6)4J=eK!iO%Ru`$edVKxPV}m3CkiigxyAJ(F3;8^y~7w z8CVT@;GCBQeIvb51$`C{YxE~mp%4zz-R%4cY1KGHJ=l04J=@d`)9mZ*-Lly>SUdK8 zv2S(iJbJ}r06`@koIHdE2gWrt>fXfWY@miv_}9LcW#QEX%2A!vQi-`Lr&ah@vs#N6 z7Vlh#;KON80^K|#%ER+O6(Vd-hhQ3+L-nY|py-JtE;d#r#QC!4L?pC7TEjt&5mfQ?1da|F zjkvUp7WU-naE^8ZZ+mdyJ0m-t#K}g;{TKiwMXjy0q&R*jI8q4|3F(fi0URef3VO(w!1AA5mMh#&3?)8=~uEs3Q}4ySGU6IGo7uUn zH?E@6@RW3js{b61BLa~nhT&A{tLN${aLA=_+KJJNk*Yjw zoVHHGrL@isaT9!0p?9U?P!9feNVSWV)Bqjw!MKQZ9JPRXLERcJQ&p}BD+rnppmg?; z^x_!?t(~iSL1pydGG%Fa&KxNlI9C=*Y-cXH43bV@k#F{1zueM^#NX8h_wAFaex2n{&e~#P;5oF7^$sPy2vKpGIrYxrZey0!YF2zyo5f-G$z5aHnJo2or+{$?NNp_2T%7p;b$pk;$C;bzcrztaxkjcGLm_q}H1I zvyLG^jN;mQ;oJvF&?I;=<@<2#HA*8Mb-tAIKvt}gBq@v+@jA)p$J0Q#$aqc-y=;{p zYcOE#xbs!SkW&SbogV&5SgvNEwao34M51DS#Q?;vHc_{5G@DNu!8?FCnkBmWA$ zASOzV_!@!^0`BOXv9RU9Rmh!9{9LF5?*|fD6quXej`(>e!vi@N`nnAsyzdQ@Tv8k$ zsFOm+mEox8)UJ*5UKSaO7<#E>Ea4k{i41M-l;#Z}?j_9}g8GA-^$>QKU{vY6BPVi` z%V11(^Vj=KVwz4+{MV%X-}mbpYYsHpT-YK8$Jo;Dtu7uDXpde#c=*2r#GjTA0pRF% zX~DZ6-gJ3bloJyMHVR<9@Q}LlG4IZ^(ZHh(6*AJ^)}B707q~~is3lJ3O57$b+wK@c zxb#_yH>vDx5$r7*vy&C^?QUs=n*NQhW0qd2R7_Fq6A(<`tH85KG@^5PHCndmTawLW zfU2hvs%9Uw3n5wQyoGvMT6IpXYRv~*in~Lg7k)EPlOm}qTqwe@z%Cu>b-30fk~0sz zU6am+*tuBc;mW_Y%h}W|U{|h$6g!iLT}>|R4q;Jwbucc>YA>cMXJ6+j=)>FB(}@zD z%1M_jgk)2@xQCa#;NF$t%#meC7P0Z(86#i#ctwKssLb+<*oNmJ=B3rQt*r74knC`7 zLpscPMt;P1z(7s)p|5s+WtQK{&4qQ0c$fK-kzxP61S6}y4Xzh>gQ5v@%$p)zq_RGn zZvF(B#1RvIA74oI6saKfd%5jRtNgB4pGo#s5y^Be3k-4eRA5tCkg9yhcQ2BwKfvzL z(s+?;eh7V&)!XYvWpGhndOe>Lq*(X&Z`FBLzD(Kp@$A8#)^yOv`Fk+BxG z$+PYZp>#0Q^!E(}nVDN-$AJ~IB#`L)zEy8sgmi|*q=7vi?@mgZf@ObQrEA^y$yI)- zOFpZvxim}YQ?+1mU%rMl`V7A>>CN@^=~`mzC%1qe&-ArLOLy}r6WR=K`>zdr?EQTl z=&*xd%VmX#U&Qzo)w$yo*MC$aqw)q!3#WadA#`JKg3i>s?L^ zk#pfIFu1{$x6C~sA}7V7`Ri$_;8I4?ln(vbi|-fSggkP=cF2@PEd|3g zJ$^PI`{~vSMaLtsrmRd%ve4>Qp$%cuUR$ok2LFC}*9sq_Gq#p2?KbC=doD$KY%L4~ z6BS%E>A)@cUFZf(OWOIhPCW0R7bnlr6=SmbNjELJ*cB!g!0+op;GzZDC2NWDZYUf0 zCuRBv2-*Zm(}ibWnrCNpxMrK%kBn@sy4k4ZM3gK{23?lbh4KmA4Z3hZjq} zoM$#~(E&T5`_7@w&y+%Y$kJ>u2iYs**#lWkaSaB|6rp7NO_JpKQ{!;@Uhl{E5wcO7 zVLd@$^fLoNyop=gOm?CcJ6F7_-CY>&FjxZcg(WIEA#z5=t_u2&s2DKc7{%f z7dGW!kLp8-yU6J`6DEdZ3qI7{6^6>xJihL!-VVEwM{Jf(hx;)2R$}x6Q!x7By90DL zfnC2=C$4gA8C+u80kiV6#g+Np|BX#gn*r{2-yWLO3LcE_ioH@FG|kX(Manxd3)A&B zu|9|i82dElw<|ufHfFI-=(C@V0msa=VN#;?{k>a-I@mR53f9&q_5y!qZCggaAq1)m zmeIqsX;@6$d_2wAmzfo*_aN=V3A~sSCvfpY2k(r!vTB#KMjXPV+IIkmaVJqIas1)pa+d*?W zan;0sW7pwA8+6DD?y!kB{PZ!Nr|)H|3zj8msV~pqLf*86=MB|$be7CqbJi-_YQwCkr%U1zS zEw0aXY66!s^_+`u{$78p<&<>9FHh9{r~LgL!Sl^?Lke)3X}y0%->Beci%^S59?}== z?G^*J(%eR2wnqZas57k|B8^#(o14sobh@>OZzhtbf>d+TOvf%MMNAs(qy45Eb~P&b z^}3_#SPrn(a4zx7E7?6bcR+T@){5QJz&UdJrC@^br0O`zx<~RL2pxnsR-Az+jq7ZZ zfngNIp?wl!h8o{4+h{mmWTk}Q&EV-1VOd0AcZsiqvISYw$U56N3L7;=f}rbx-wOoy zv408HeIn|n6sGI&tqKH!{U}m6V-#^W z&4upEu~xqE9RYfIH(OA(V*Q6sd2xhBO`M1Xq^ps8-aw} zubI|tVs5!Zg@!w2ln)rEKIv1|!X}PW%}iS^1YM&pv7X^_{$yM%ZbS>tj$PWo=P3F2 ztS9W*L7ETfS~aG5uq9h&KIBN>4)B&f0VjnKOWF>*)Y`TC$vwUtpvCRa2sC$s%jW9Zw`Py$s3B(B+lf zHgPC0$O98`3w!!IuNP|b!SQ3QA@<*$~;utOd1<%Sk;>kc{ zcBjP!-47~+3HwsjCAh|zgX!`Ng54D4(^*~{0V#ZL+@y*#=l*XlqXIO$?*y$>G5rM*i&44;E_3N!6)} zKIcB?{u8}0@7-R%ATW+o&1SaRPY`u_;tHuC+1bo4sFFFc)}cJU*iDw3@KI-jYYg1?X8ERsGm-?^1&uY=FP7p|~E^yf^RS89_tDRx++HtBTj zJ(n+rwwul^=e8lgYI8tT+bEg$W+j%nLEF89uJ~zY$hUvl@4Q<?4ib085Qd@QSjt$pY z4E$&H2IS(*7{W-s5+t5n>59JXtPF9fq+2GdvEm&+SjRdRE#1U3#CM;o%o+i^1z}VQ z!A1)?IgEXO4J0xRFR)!o2o4T8Bh&fO@GbbqSknzIie+Jq2MJBOMa}oCi)QIdnZX*_ z>+dm~SH*%%v%$7hpsYc9`l&+hGfT;ipp|+;+kSTYF)nN2L3wlvi{Yg*a;$Yl4kSD?Gw$#e0Sg(d?Wh^J~0O7d}|B^*hW$O@9fSOlefU8pnEQ z%VE@0?Msj5S*EHLCY>qhwGAL|Rc1UphpB;0j2TM8Jb64IodL{aiz>{`2&Yf(@s`WV zPt+5+>REVdUD_79XB<4`&;*J$ns(RI!~ZIQ4Z((Sp-SeghsNAVVT_d6jrrrhQ+rR zO>UQ`LC=(PzGpt^VbW7<%d^MKc#^ZXXXW&-Q|edJYDjiX5X0y^_BkJP$0% zP1E1MrB08ntOvX}gYUzxf0Eep@iSv{%#@0k^Asz8n~>(;wXJ5t5>O6~yHpAa6!Z|& zt48^y`k`|zY8}B6m`G^d2evJXg$f;!N`AH9vCW#YCX1^>Ln+?I zk-SGmvz`WmWD}6Y+_MQeM5>JQE39EEfN&|bct9?C;5wz#?m`U-E+E4vMO@xm`EE-w z`*p4i!*d(e>_wDu&n0OwCgi56MP^`Uy)|5v!Co8_ZmJeF7_H5nM*Q{EzWqH)#w9!j zTTJc%QzZIM-FNA7y@?4#r?WxT|4ny|QhozO9umgaw0zg{EuS_c@Q7uVL{BpPy}+b{ z_?dX~tJ0&l^XO>z3HzVb;*~K^2<0*MIAv_%j(o{p^?EPa^21wHnvfPIsJ?DPp1m~> zgT6ONZyw5;L((5s1mwSPA$uM2U2~&prtL1++w_@Z%F>|h%xYZo4y>>Xk7;8m-a}^r z?OTO&p99OHlXD9~s*PXR*D#^P&;<w}#XgT-9`l8edeIt34GW{S6J}#kK_+uS zXtW5Wg}go}FaF*TL6;rb!6QVIF$34VEOx!ubF^p{3*uBE$DPJX+ij@%1>*KHOcfz^ zsqEQ-bo^agW_Os9|t@t86i)!2`Gkm6#>{i{;0@?g^;)^IIS(I%4Jm}v=2ERMz z(GfavYyG?YXvZ&1?KO2;-_Xxkt@?|$@$`EZDnwS-Eewk*uqrLJ4RWi|sG#ebV!NM6 zme>Xa7O{-7>75L^WkJb7bqIr8!WDX>K*=u(vNepprN3AW=Sye%`lB?9G5EpGdM(r5 zemUd+fRN~SNRcR(cykeJ+M@jIETZ zG|NQqJ{`Rts;lqfnvm@`X?**ruUk7s-dIB?P2`z|Lk5i6lJ_vNd^I)G>7Mg)MDw8a zqcsiSM5!o7t6LmQeTV!@NMbxWF6>Xrp2`-G>KYPP0TguNTuL@8$t(H$fukh!Qdv)h zEJ-{OipdHU0reh!M@1mu0F8=SZx+hGW$%xOfrt}~KehKqP;_~xZYX|wR$x;!y8f&V zl)5ZRf(`acul&oifDSF@kIt=+pZ@#CrETN|VhhsjL6+x_zNKGQ|4kS(8U(EVvKlcp z6>uIZ==vUB`_p|Yp;qqUXqJ`X@7A{cz?)@|TE0XA)dT8Ly~ z{leny|Nd&ItlraaXTaZqS-bBmS^gs8KEAqA1w7JzFCO)V@{I}TJG^c?D*o>8{@uk@ zj#>;2G0L~pCq$pNNw}$9O*w6%a3ixXi$A|k2YAnd&9cMA^kSUp2adPQ@&gY<;D5`Z zN1g-wrsntMzM0Pi%qZ?|%aCzk0jlZ3XWOU4V-~N=vcSH}+EHH1+@U^PdRCY_?8`IY zxQ&mBr?qVB%*=!g4>J7utQS-d1N%mIUnzLAOcRi3z~;}^Gg$0^K+57e_!(I~AVKjT zZuGxD(2c*n-onI2Qx$H`#@qlT@E{S>opb`|KydYs*R4%g_|Y_-pZww}L(_T$0w2zY6D`M+CGVe(u~Ay)tb_D?d~_sk zg{0(L@U&%Wvi_T*k&wMh&GIMVTk1uxUGU68sqhaGC+64n2^93&FGWh&lcH&T)cwP3 z`L{y0PgiHEWg>CN?R?fw%cD4^SfwHFaBtP+l={>aua$3i-4G}2kH+F8YZa`emQhb| z)$Wm%(3c^VDPI&w%?P)ca8a(n&hG<(KV%O-N)wPjoCn5xfmpZO73RGoBbWhLoZ($J zq!=27zEKqP`Njg?hpV)6ZTXDe`nBWLw5x0hiiCwx)3g-*i??TR-Vco+Jw33#wfd(W zK6g86?x&*n&O9}chh2Vxxce=dZRPr>{;c+#CnIu1jd@?SpSxgtNAZ~a@6unN z)YPlDBe^c4-Ks5={IG-0oC>hi*`%bl#EcTxBzRGgvHwud{US_Ove`0i?Bt*_{NaN9 zhmM`w{#wV04~wdPIL&+EuO-$Cx~q02C}-XJt7A8)I6HPAc;6Z9U!mU$PXe1eTIDL) zT6D0Br_tUwaw6~ucW&WeMM03M&Gc`mbTwzNH+hl!_W0S!iE-muS=VFr?Jwn&cMUQ} zojJi4?As70cETvEzl(j|!I8L-TzeU*Ff`30B?r0`hDMs~dJ*G0*nAHWV=W^4pazl-Ml}tt!atUoV=D>c1*lWAlTIDAA9BYUwaj$zetb~-CKlR1cr|k zynb0cI)0Y-j{ZX_;PZCUGE64H+Ve097tf~MP}nTt_G0?Aw4j?yR@@P9s}EaYoAW=o zqIo%FiQ%rUH^%ss|{yGV_Stas4g=GjZ24|RG+ zc#Rvo$s^_=ia$p>K71Et2zWRc-u=k@w(q*R)+6FqO^#2`N^vpYjAO(!$AwkLPmG)) zImKRMyQ+TRMIfQY=wO&YDcG%wP7y!KJ!DW->r@Bt@BfS(8&kEw67-gT!>!35Qja)u z^g>N0#~?g6e!aF#_cjNnZS1s~Ahs-~>#rW7K=3X&0P1f~af=t&?GWUUYpvWwffZgI z)=iHp1RT$Ui{TSq_%OA(TP7m*iq+7F0<;9(e9@6Th9wvY)vM#qHiPvZ?jYssi z`c$4Yds9%#%o?dlMzb8Sw@-?jT^`BLF-7BQY}}6~f`xz|MjvO+JrKZQ^e)!yuKb!i zG&valHmr*?t@Cn${oGhd3QB7m>_?pPw-ao&1TmFD>Eprz^O)xybM2=sF{{AT>BQR3 z-buS}+Lq8i;K~D^v);h!%Yr1D%Th0f8FVul_id)nMTtSTn#`_mTmXi@DH`LRh?Vp! zPRdU7VxKS^$uef~g%+I?97`3V%C8z=C7yrl1UP`_VP=MW(LKhY#Gc`3 z1H-auOJ>D%E7G(+;T-N9)gywZZ1<$eL+A`0Trb~ zK|mCSl1@eG4(XIqV(5_=zycL1DUniX=^SAgz@WP&W^ySur@4~F zlY7p3GvR6w(x;#9zOT>JCf}S_E@cCjSGD4H&r}H{x$eUH_tEJ#uV_UU=9#Wo zovQ;OLKkcYn4@ISWbv&PX~nJUcF?(zG#$6pl&rMpW0THn9@ZHri_K+` z5zgXIt|lvlEIRs-KLad;szMmT-stTef(RK#QYh+Nk$$u zA9%#z9^+p1)MF%w=$E-`azGM0`9SRG{2Msa72VlBHn7?ArOLw#N+DI;7%#Gi;fyzG z3PE1uyuHsOam4JkwBqLcr)ZyvYj&4R7hDoF|juiB{DI$pW^=6H_mgmc^R#tiqM;Lj4RlkJ$y7;)YO1+Q?DwoIqcoyzrW zuMSNsa23Lu$5{khMQ}ttlz>9Ka0OqxiEI|auiA-ZtU~>%DKx@hzM7ZCem-NbCOm4L z}G)|5Abqrw0!&*-4P(S-?McDWI)8@S}>^g)gY#D@o6h@ zOXv7tJfnZ3qxdg|wQ0cex*@R`SIj=onUC|^Pn14oMLBatJmF!w;2uT0c-*XDfTWk{ zD8zl&hY)Q=?CRT5b@4-G+&e(53mMMRDf)O(WBGJ~XDXC@6eL0Zphvm5qB}E|3-@sC zsf_PPI+?scSY&6ow0OR!a|aPf$$*eppGe{o8{0qrI5)`+Z2IevolnB^FS|sQ5HKPU zWHY1ih9`QCeq*Ta1%`XJllRzyhH;wc-H5T&+{{zVH*n)MimKK-=4;< zr88v(*?bgsTx>YDEBj6Jcy?ZD*MKH)l z{Sq1XyKyu*&IUYD|NFeb52BceU(4OTdBlZ?ugWMrdS8+UnAP$&@s}MWfuBh(y?V;p zF$b{REZQ!nD|9QUr;sov4k}ShkDz^CN-whf7&knE9G>nF*Q6?ZVgB+%Whlgq$y#y7 z_raTLwcREzHhI+R)b>!{XC(7gm1m6st;w>!=gTzGHT{-Kc{QWCkU@1$D6YciD(P{& z@s&>QEYYwC9$F^>I)Bwba?2UtloQC5@Scg3l&CKATMwYV&{x;})XjMbv;(aYutkum zWR8Iz3rTcZeaF&+G)RB@!2hO)B0O#Q`qgW`o_ieO`x{ zVsGVpRL}d)xpm6X%N8ok6CO`%^eH{1wG8DUFn*?ehP)lu_xL$(d+XVkbsrIs+17RX zeP0{>C28nN!<)f1xu<##u{HAM_XJEnAcPcc(I*HQi5`Jh4Po#?u8h&#MOu2l^FTIJ zVU$tC)^l^eMn+$ygYI)B?LM>N9icp@nZUQyNk-Bn|F*}f{(!qVJPI5VVS*4;?EfeL z1-|~j>ACtnupngLe+oRf_LR1&6$%B(x6fXge0HU$6kDBUj{P=0TU|4-qdYsyP$>G# zLzfGX|F6C^evf0ob&vlzxxSA4LsQ(Z+x%V6`aRI_f6+qr`|JEVXM@lAtDEP4h?9Ir zP5Z^v^M@GYA$P#{@P@~q!$tqqzxUhg{RAUDJm?>Ct^QlH+W+qLLG-xw>2@%f^PdGs zKU%~7cQ0{AU0pp2MD%W5)IMy6;41Pg9jy45%Fv&~QUX8{z29C-ZeQ*n)Blz{*#{!a(biQBlVPJyz+7@+)fp9Roc9@^1XlACL+? zBQrA?umqjd$@MkEO@Tt^uV6stw+H=mMt4CV^2%0#7W#LA4D`YMBX&)UtbX|8Aj17` zSN`na`!P*Dn+t=;R)88PbFDIFVLU}nM47w!#{@2j^YoYcE)3*@-GpFN=W5ep)<54v zuJuRv!Qp#6sq}1rCG2txEM0s2ur)m%LbSJHldyjukzeLRnLBI)j}8X%O}IdCO<3(`;Wx4%luJd$EfFYY@ovrM zkt(k%hl_(IY8orI4tuj7=0JRZ7m>D4krSvoKNiDD;sEMw(o1`?-xc6HR_5WY_4a%D zoXVet20YE}H&+{nf+PwhaJ=_W@$HZW5MliGXt^Wp_uIezP>XLHd$^1EuP0=lc?}*Y z-ToxtSA5nFzslxMTR#ZgB`pltLHglba&mJ$(53bfxpNVRl6joJgYVpv&JJY!AscdH zP%s}(z5c*-^cfgg{(aEj`%ZiPPn+oLPeF$4J_c5OPQ2yS&F7^)t~s(ag6Q-**e7U% z-16Vo5NX~4RCXQrdf)j_AfjpeOWA?)uTFvg&I!ED&^DH=W%@7Eo8ML9HlYBU6Cph4 zVBH@LlhoId3pKgAo$&PGfFJDjZ4{))H>k2`azCh(#=ZTSIe;pRUwS% z95h@7HCp4JOXEkE@%qiYoPC7Px*d!hkt_*ocyyq)(&p_e%K>@V*n@C8t@$}nw$ z95X*uaQ9$q{V35U^aeFJPUcOh62V00AhWNQcN41ia0f~KZ}JX3y!^|V>u!ItKf^UK zHxGy17W-#;R`A&#dJv~QIL?A~LjScPW-h539bW#~l)Rqw4-5MaUWexJash+??~lKE z;V7UArMWW*d0m?SVI=ig{G;h!9NO2>5)v#mNgTCiA*TMMd@i|FsHiGncFa^gl zio&?$16XwX>vQvP2khO-;Q78|6+HR|?mJ>!2BDrOw{Se+z_?pZ!g~4!cG#kY$|rGH zB5NUit@3`)dhn{wgmcS@V?YHZ*G(EQitU-xbQwzh>$Y+-hx=R^ocsG^yu1?ns`43hw5(*zKkYOAW`Xn(o@D8 z3npSjb@Ed^gQ(0Gd&hwWSG^W27?WpPq@DZr*!MSd3ptrXOa9w4YtQ5}yQaBA&(7~Ho1RstGUuF0jGs1=LC7XPQdHny)zHul2DXyRA9#;#RnDqJ1?VO%VfG)TGXiav&EuZpW)|#IofI(`gef00 zT5I^6yVoE_&~;cs+_%AT@)HSw*7~yQtRqlW>xmp#fHle`l+WEue?w6Sk6@IjS}Ht@ zoNviJje#C}L@pY04 z6-d2z6iQVj|tPV1*zTag+ zLmb4MYQnYYfmitCAApoLU>9I-vt%*t=u@2}uJoCZzqqu>A3I2)l!)HD>K-hbE12KG3XR@Uq%p!Ks@QwoD+F!KN z*&MDRdp+paOFpLfr*evfqa@iu_?M-KYTo*rp+^DDXD9oP2ZTq9Y+vUA;|I4wPcmDR z4=$aZOaDNd)!Bu3wVO0Lu{SDy=E>YfHA3Kd^$FlsQzX$uhQBEAJw`>A(8Z++$U;vp^!@`pQBlffUnkj}HpY za&Jl>3G1lEi;a|N%4SjgnuD{DL(q+p_>#l@ z!%ewH?15W}RD}bQNoGM9A_syRIuHvSOec+u#5`|NJVRnGb9yeV5uf70hf=?#a|~#R zbiwoJ$RZGo74zGsPB(ZNfa-UJF^!pfH#$H)O7;rm&$It%BW<$_f$Fx{fV7X*hmo|1 zoKgFRZtaFFI+_!SNAKiC?%SDu@KI7wB>_Y=<2ro9J2*-@Xya6quf_qCX)Q=voW7Xi zdi2n`WeVy7_H!S!4dQ(1@65sqoW_<8Nb;1o!KWvK;G`xu3%YObJ`Dc#_CLUUoh@1_ z?jQzKoYl`DjCV;#wM!M^;$l@R-I^J4&{j~!iDl+34~gY3&UaFubqMDhePaxr=z%5Q z4i4k`K(|NMSeiC~fy{X+b|OC2$j(w?-}Kwi*Aic^dVgI^6F+co#51QfiM{HP+p{+nMLuHt z({eDs#?uSd@zffRX^sIdi9JKi7MEWcl)Pd$0d(XSTK^5}A4ErsA$S*Inbz{hV3Vnij zjxU$KxB8YJwRIqHO~i1kkq#9%eoq-OZz zFqV{1oVyismM;eq@UGAQ7zj{^hG3r~R=Z3{^Na5Y^?Y+8WYYtYDF{ zFEkJvaYPS~HV64tsd5EgT0th;bX5;;-_GvlADwbX*TPMZJI2JbUW=M@cx9u7y>cPipxTC4sWmNegv_x_fRDs;O1G{)}5OCjhfsNiZUlc+i zkFlJ-xomDv|7-+oJ_C$}E2fgUb%>xz|%xWW)(k(QjLjCW@ zIkHgjIL@8ux>(8!qSiq#MY(kI>p!6<161EtQxJt?jkrrwX8F(s&Jv1^CMq_z4&e}x z|Jt-o{<<-E=3bnK=dh$`8o$ClwUc)K{V2J zrcNAmggR5sf}CzY7q=Ez+s4CxxVCN6i0Xx$5fqm1-Dd!P2L0UgM zxl+!kXJzzJM4PU_E=TPN86FZ_lM#37>$0%mSK8*rx66h|CC5y zaFbuGL6?{8ON=G?7Pym!?45i<|qbeB3U&;(@j0(&URrX0QYuXrQKrI|e09aex(a|MZ)vEcY*pU%SE4IWXh5Eu_HD|O#$?_&^h;e?Z16U7i{W@>BcG2WahJP2B;ci5 zWgQKNdEN$iBTr7NgU_fQanLm8k)FTlx{b}rJ9@X(_N5HPN+Aqq@|AXO_&i#7PvmI0 zqUk$wCej-y(oWZGT3xUc)t3z;2PB^FncMgcorWIyCEv5me{H+YLuE&Tgmow5%_A49 zzN#)cKPaGM7xje)hzo1g^F8J_^?d#TFrDJB>{#;4k>byye^bFk3LKOnP08LjQk2~R z9YIfgy`bfNs3dsUnMU1g99j|#(6XT)H=j!6FjiXVy&!>^ zDastWV37C=W~d3?lbJ<#ZPwr%IyIRZ;jd&`=F&=*Vr!y2D30ZBdz)T9dZS}#wZ_Qp z-0n9eQQ+lQsV9Z*ugQ4rowMV6IUQz94bYO&8Ixf}rw<(nb~rN3^^i-*>T;4fm!@y$ zheOXS)-PNn40{6wM&;RhMSWyVz-3^_Hw6h4eAg-{<(^Uvr#bh+4UsAm(PRppjx>D{aS_ z$p}0T?uP7VsO1zRo+55#?zKp2@_&xg09I&q{o!!c;mkA7Rc$~(+d$(OSrC|=Zj~z{ zi*EGL@KzVmiRr-NC=M))9|tYS3gvpk{sn6$he`t!l`E;c(Nu#l$!n| z=0-CZ!aEUADO23T0(e#oNX_sjGuSK6xoLJPJw`?XmM{0u8&ccRkDV%{!kU3LF-%QXu&D|vHP)k7jMVecnOXBy@_0^ng^w)_{Ct&%lVF$ z=AR1XABLdV&s_kkj5kt4GUeW)T{<=|l7~zSP?VyAitBY|JU(lJKu1LruoX~hFv8OOg zsSzsr*hm5_GU^ywzSVU6ja7M*R@N8?b9F#RV4>S?Skm0$3CP$G14w!t69?StV2Xbw zek5atf|>ooyWE0!7OEJf`soR_kQVmVKC*|<5Ri^3i7Vs4S$fi!8nV6{3q3|v%{*4B zV<+8h;p>T#U>L5da)i>0IcM|@sUFn3`ujbOks6oGvR?<`coW(ler?k>%3618-RwSZ zI$1Sf^dPdB$xO(M4AYyRqm$wYmT5p5lkuD2Hp!ff3wI~*62MiHc{d~&3~Z|qBsqFy zefM%RMx?=WD?|R1SyBQIT+o+=vR|pvJQP|WiRqHxjex|za_TU;(!CO=#5!Y!GnmpX z1^Iz0#Fiw@=9vd~Mi+z{#AmX?JG{{}TjJ@du>uqByXF)AWEwr4Dp|6Bo4KE-3wk6x zqbk`S_@)rK-$=nU+&d&}G1<2<)d9lL`p(YOrFOC9(Qj9vh#rniS;U@7dMG*7; z8=E0$Tf-rSp=+l=Cs3g9@wc~NapSKcfj^uA;~j_LA*a&3oXB|dqDO=WH7hUl(yJ$3 z<`s?vz1e+ea{*j})>HgD%A>1HX;$wUGjQYA1e?5qHfl1W_hyk%9%jDs771$wg_>%z zs$K0K>N(=(dADguE|V$9dyqdrp~QI%SO&deYJ7{A`Pc#(-wWn_0vIUKgFz$L8j-D2 zm@j>*2UEA`Z^ca$4wp5}zeN7PQF@?j+{4u>9`E~i`1&Esp&sq2!0UEKTP?%KRbcAJ zYLG^B%fVq;XQ!JYIlZ^mgy}R3P`zQ{zf^#dnl>FoOUe(BG>(D%Ft_z9pI7Hbo6d*n zqV^1K+xVDffM=2$PR?)M|0xpyx=wbV%GWtf9tO@&mc*8zd$<@g5hN>zOD!Gl5eKA{ ze5fGA3zp=Ww)E$)XW%F>I^}~h=cg)KLb~OwxadnimW&Bh5RV^m&lTMQ3uj(*nLbx1 zl1q%Yz_+fv^W8ZG`Uk}ororf*v&PjM!B!;>At+vO7pn;W9>zST!_Hw~dch#w)`DAh z((CW6DB!^Pmz6Loc1hDyLy!Pj22BkTs(79RbD-#!-RM+#tz&SX@yHjmbtjxsEtc{b z1?n-VS%p#LwND-ae1!T(+n0UIh0+ltSnD~0j-|3iE_vLdvmH=`7gEir$gF6#(cdt> z1kh2JseOBuqpnIbCgu`WPVw95{t;_8{^_3QRURt(;)w(G6!t3!lVRI#&}`N457*bm za96bW-*U8VDP)_e-1y)=^mQ!$(n$m1n=XWcWu%@<^4YvhghIn8o%nQp?W-5p=>%Xz zb!GAL8lr$$bK-h#aI;S9K3%VrceJF<7Qwu~K9H5YHQ)L0pd)-3;XMDFivK{L0;7hB z`i_?;GiW(mKGT}NcouWSJ0THlAkaK?I9%!$tt(wt-hSb?cp^!2awTqo@bsj~nJ=jq ziz=p#`1ZEI<;Tv?TCN*7w~5jS)^Au2MJ$m4iE)xO+6~o?Ls*X;p=7qk{rZ^6e&Qn{ zk0pC4s6g>pLmvO@V4M+!Nmo2D7$FG5gxb%7?lZkDX3pKIa7FE%n}p+h2Y3_ua!hH01>^B{9aFlr19JP z2{iqhoS_(G3@pWIO|9%+@W>ez`yx1|KP8wQ3ezlb4`)P-RW>mCwl>Abo6OjMYNcxO zT3+RgV{FWSI&zqT$>;jF$UJ!9Qy`M_T5zXd&uv9%8GmjqT)LRNk6sOCZO*7!ipTJu zua>Y-v3k!eh!5Z!^slXBwj!##*wCg8hUT6!7u5}N zaeC&MUzV-g&l3~46zxRPwkCVj6zi_`^5wM-Hr4r^alFG4hqWkK08h}i5wa*5A<7>0W=*y@?w9#&Yu58s9F~=UMiTk z6@$nx`j;KzFX5~d-;OdZ>_1T8jsAqmy#C*9p}*%aKCDEwF&cd7|1ac}f2M6nBAi1f zEkO9Z=-86Z5xpnBr6j=d{y=8@JF|5u#CGda{=VofmR!i_eBkjv<*{m>I6F8zSsnlI z5Y(q9Pv{-@3r35q9y*P_j{;st=$03rySXX*_z#x!s>Np(2~QTx z2jFli2#w~ShqG}MklkB3+`Dgl&I8Lxp6V`y=KkxgWp`)O=r&u2$3?zhpto_rn?qEm zo+tvAF`D@Qc@~7|04FD>&us3E^Wxkl2J4xdbVJ^a;mkT9JBlQ1xolYxd~^i|QQfiq z`9NfcFJmb1Pao@No*2K{$l7=ZPfUBF@rdL=>$7H*4#+A;vfx%SR|CgSf-H6~MqH5X zAl9IhV+c4WJNXAt6|;RD0XN3C42%z%3GPRjZ`N*dRfp9R{drC)0<=RPV_)^)ZFWu| zkhePVX?-<2dHTH?2hNfjBGRtoK^qH$nun}+xI;)%W^hg_nE%|%MS7Ty_rK=1_(i}e zSRzX`9umtAa{b_DLN_G`Ti0fwUS`s1h2>#xjYuK1H9e1j+tXuTDdUa zjFC2ZmMDGfZLlo%YtAPeJAj`WT6eC3(bn{ONK1T(R)#lZ2^aJCsuRTl$hwna< z3{%n9k1aQ=fCsKR_{>zM≥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

    Ok#?i?%CUZJVub)EN0S0HB=5B;jR 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 ### **6. Blame** -支持查看单行 blame 信息,hover 后可展示详细信息。 +支持查看单行 blame 信息,点击代码,即可在单行代码后展示更改时间、更改人、提交信息等信息。 ![](../../../static/img/代码库管理/WebIDE/WebIDEblame.png)
    ### **7. Graph** diff --git a/versioned_docs/version-1.1.0/代码库管理/Webhook.md b/versioned_docs/version-1.1.0/代码库管理/Webhook.md index 064ffc9..2532b9e 100644 --- a/versioned_docs/version-1.1.0/代码库管理/Webhook.md +++ b/versioned_docs/version-1.1.0/代码库管理/Webhook.md @@ -30,9 +30,9 @@ sidebar_position: 8 - 删除:删除分支或标签 - 合并请求:合并请求被打开、被关闭、被重新打开或被编辑 - 合并请求分配:合并请求被分配或取消分配 - - 合并请求收入里程碑:合并请求被记录或取消记录于里程碑中 - 合并请求被评论:合并请求评论被创建、编辑或删除 - - 合并请求标签:合并请求的标签被更新或清除 - - 合并请求审查:合并请求被批准、拒绝或提出审查意见,审查人员的修改,审查线程已解决或未解决 - - 合并请求被同步:合并请求被同步 + - 疑修:疑修已打开、已关闭、已重新打开或编辑 + - 疑修已指派:疑修已指派或取消指派 + - 已标记疑修:疑修标记被更新或清除 + - 疑修评论:疑修评论被创建、编辑或删除 \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/代码库管理/代码提交.md b/versioned_docs/version-1.1.0/代码库管理/代码提交.md index 11b6835..c572f45 100644 --- a/versioned_docs/version-1.1.0/代码库管理/代码提交.md +++ b/versioned_docs/version-1.1.0/代码库管理/代码提交.md @@ -1,4 +1,11 @@ --- sidebar_label: '代码提交' sidebar_position: 3 ---- \ No newline at end of file +--- +### **1. 代码提交入口** +用户可以通过项目代码库中间的文件下的“上传文件”按键来上传文件。 +![](../../../static/img/代码库管理/代码提交/上传文件入口.png)
    + +### **2. 上传文件** +进入上传文件页面后,如下图所示,拖动文件,选择提交变更的分支的单击”创建项目“按键即可完成创建。 +![](../../../static/img/代码库管理/代码提交/上传文件.png)
    \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/代码库管理/分支管理.md b/versioned_docs/version-1.1.0/代码库管理/分支管理.md index f543748..40a56d5 100644 --- a/versioned_docs/version-1.1.0/代码库管理/分支管理.md +++ b/versioned_docs/version-1.1.0/代码库管理/分支管理.md @@ -1,4 +1,13 @@ --- sidebar_label: '分支管理' sidebar_position: 5 ---- \ No newline at end of file +--- +### **1. 查看分支** +在代码库栏下,如下图所示,用户可以点击代码库分支从而查看当前项目的所有分支,并且选择对其进行操作。 +![](../../../static/img/代码库管理/分支管理/分支管理方式1.jpg)
    + +### **2. 合并分支** +在“和并请求(PR)”下点击“新建合并请求”后, +![](../../../static/img/代码库管理/分支管理/分支管理方式3.png)
    +如下图所示,用户可以选择源分支与目标分支以及填写分支信息后提交分支合并请求。 +![](../../../static/img/代码库管理/分支管理/分支管理方式2.png)
    \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/代码库管理/文件管理.md b/versioned_docs/version-1.1.0/代码库管理/文件管理.md index af8c755..7dc8353 100644 --- a/versioned_docs/version-1.1.0/代码库管理/文件管理.md +++ b/versioned_docs/version-1.1.0/代码库管理/文件管理.md @@ -1,4 +1,19 @@ --- sidebar_label: '文件管理' sidebar_position: 4 ---- \ No newline at end of file +--- +### **1. 文件管理位置** +在代码库界面,可直接对代码库中该分支下的文件进行操作,如下图所示。 +![](../../../static/img/代码库管理/文件管理/文件管理入口.png)
    + +### **2. 进入目录** +点击进入相关目录,找到要编辑的文件,如下图所示。 +![](../../../static/img/代码库管理/文件管理/进入文件所在目录.png)
    + +### **3. 进入文件编辑页面** +在线编辑文件,单击文件,即可进入编辑文件页面,如下图所示。 +![](../../../static/img/代码库管理/文件管理/进入文件编辑界面.png)
    + +### **4. 编辑文件** +编辑界面右侧有三个按钮,分别是“下载”、“编辑”和“删除”,点击下载即可将文件下载到本地,编辑则可在线编辑文档,删除则将文件从代码库中删除,按钮位置如下图所示。 +![](../../../static/img/代码库管理/文件管理/文件编辑按钮.png)
    \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/代码库管理/标签和发行版管理.md b/versioned_docs/version-1.1.0/代码库管理/标签和发行版管理.md index f1f30eb..827aff0 100644 --- a/versioned_docs/version-1.1.0/代码库管理/标签和发行版管理.md +++ b/versioned_docs/version-1.1.0/代码库管理/标签和发行版管理.md @@ -7,7 +7,7 @@ sidebar_position: 6 ![](../../../static/img/代码库管理/标签和发行版管理/标签和发行版管理入口.png)
    ### **2. 删除标签** -进入标签和发行版管理模块后,点击标签右侧“删除”按键,即可实现对标签的删除操作,如下图所示。 +进入标签和发行版管理模块后,点击发行版右侧的删除按钮,删除发行版。再点击标签右侧“删除”按键,即可实现对标签的删除操作,如下图所示。 ![](../../../static/img/代码库管理/标签和发行版管理/删除标签.png)
    ### **3. 查看发行版** diff --git a/versioned_docs/version-1.1.0/合并请求/代码评审.md b/versioned_docs/version-1.1.0/合并请求/代码评审.md index 9b4aefb..f6d2a3a 100644 --- a/versioned_docs/version-1.1.0/合并请求/代码评审.md +++ b/versioned_docs/version-1.1.0/合并请求/代码评审.md @@ -2,5 +2,11 @@ sidebar_label: '代码评审' sidebar_position: 3 --- - -# 代码评审 \ No newline at end of file +# 代码评审 +### **1. 进入代码评审** +如下图所示,点击“代码评审”按钮可以进入代码评审 +![](/img/PR/进入代码评审.png)
    + + ### **2. 代码评审界面** +如下图所示,用户可以在该界面下查看该PR操作要合并的新的代码,并对其进行评审。 +![](/img/PR/具体代码评审.png)
    diff --git a/versioned_docs/version-1.1.0/平台公告/平台公告.md b/versioned_docs/version-1.1.0/平台公告/平台公告.md index 3b451a8..e967cee 100644 --- a/versioned_docs/version-1.1.0/平台公告/平台公告.md +++ b/versioned_docs/version-1.1.0/平台公告/平台公告.md @@ -1,4 +1,42 @@ --- sidebar_label: '平台公告' sidebar_position: 1 ---- \ No newline at end of file +--- + +尊敬的 GitLink 用户: + +感谢您一直以来的支持!为提升您的使用体验,我们对平台进行了全面升级,以下是重点更新内容: + +### 一、功能升级 +**代码托管与管理**:优化代码仓库性能,提升读写速度;增强分支管理功能,支持高级配置;改进代码搜索算法,精准定位代码片段。 + +**代码协作与沟通**:完善团队权限管理,新增团队动态消息;改进代码审查流程,增加行内评论等功能;整合即时通讯工具,便捷实时沟通。 + +**项目管理与工具集成**:完善项目管理功能,支持自定义里程碑;优化 CI/CD 集成,简化自动化流程配置;扩展第三方工具集成,实现一站式开发管理。 + +### 二、用户体验优化 +**界面优化**:采用简洁现代设计,优化布局与交互;新增个性化设置,支持自定义界面风格;改进响应式设计,适配多设备访问。 + +**性能优化**:提升页面加载速度,优化服务器架构;增强平台稳定性,保障不间断运行。 + +**帮助与支持**:优化新手引导,提供详细教程;更新在线帮助文档,增加实用指南;升级客服支持,提供多种联系方式。 + +### 三、数据安全与隐私保护 +**数据加密**:采用加密技术,确保数据存储与传输安全。 + +**安全监控**:建立安全审计机制,实时监测并处理安全事件。 + +**隐私政策**:更新隐私政策,明确数据收集与保护措施。 + +### 四、未来规划 +**持续创新**:推出人工智能辅助开发等功能,优化现有功能。 + +**社区建设**:加强社区互动,举办技术活动,提升用户支持。 + +**国际化布局**:支持多语言界面,拓展国际用户群体。 + +如有任何问题或建议,请随时反馈。我们将持续努力,为您提供更优质的服务! + +**GitLink 团队** +**2025年05月31日** + diff --git a/versioned_docs/version-1.1.0/快速开始/搜索开源项目.md b/versioned_docs/version-1.1.0/快速开始/搜索开源项目.md index d584762..bc79df8 100644 --- a/versioned_docs/version-1.1.0/快速开始/搜索开源项目.md +++ b/versioned_docs/version-1.1.0/快速开始/搜索开源项目.md @@ -13,7 +13,7 @@ sidebar_position: 4 ![](/img/quickstart/search_homepage.png) -右侧展示了所有项目的基本信息,包括创建者、项目名、项目简介、浏览量、项目类别、更新时间、点赞数量、Fork 数量等信息,用户可以通过关键字搜索查找特定的项目,也可以按照更新时间、创建时间、Fork 数量、点赞数量等对项目进行排序。 +右侧展示了所有项目的基本信息,包括创建者、项目名、项目简介、项目类别、更新时间、点赞数量、Fork 数量等信息,用户可以通过关键字搜索查找特定的项目,也可以按照更新时间、创建时间、Fork 数量、点赞数量等对项目进行排序。 ![](/img/quickstart/search_list.png) diff --git a/versioned_docs/version-1.1.0/组织管理/组织创建及设置.md b/versioned_docs/version-1.1.0/组织管理/组织创建及设置.md index b39a71b..802e1ed 100644 --- a/versioned_docs/version-1.1.0/组织管理/组织创建及设置.md +++ b/versioned_docs/version-1.1.0/组织管理/组织创建及设置.md @@ -8,7 +8,7 @@ sidebar_position: 2 ![](/img/Org/imageOrg1.png) - 在新建页面中输入**组织账号**、**组织名称**、**组织描述**、**所在地区**、**可见性**以及**组织头像**等信息后,点击“**创建组织**”按钮完成组织的创建。 + 在新建页面中输入**组织账号**、**组织名称**、**组织描述**、**所在地区**、以及**组织头像**等信息后,点击“**创建组织**”按钮完成组织的创建。 ![](/img/Org/imageOrg2.png) diff --git a/versioned_docs/version-1.1.0/组织管理/组织成员管理.md b/versioned_docs/version-1.1.0/组织管理/组织成员管理.md index b178a64..8c78b2b 100644 --- a/versioned_docs/version-1.1.0/组织管理/组织成员管理.md +++ b/versioned_docs/version-1.1.0/组织管理/组织成员管理.md @@ -1,4 +1,21 @@ --- sidebar_label: '组织成员管理' sidebar_position: 4 ---- \ No newline at end of file +--- +# 成员管理(Members Management) + + 在 个人所管理的项目当中的**仓库设置**当中的**成员管理**可以进入成员管理界面 + + ![](/img/Org/imageOrg14.png) + +## 成员查询和添加 +在成员管理界面当中,可以进行组织成员的查询和添加 + + ![](/img/Org/imageOrg14.png) + +## 成员邀请权限设置 +管理员可以对邀请成员的权限进行设置 + ![](/img/Org/imageOrg15.png) +此外,也可以复制邀请链接的方式来更方便地邀请成员加入到项目当中来 + + **注**:此项功能仅对管理员可见 \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/维基/模板导入及导出.md b/versioned_docs/version-1.1.0/维基/模板导入及导出.md index 0901b17..f28addb 100644 --- a/versioned_docs/version-1.1.0/维基/模板导入及导出.md +++ b/versioned_docs/version-1.1.0/维基/模板导入及导出.md @@ -1,4 +1,14 @@ --- sidebar_label: '模板导入及导出' sidebar_position: 2 ---- \ No newline at end of file +--- + +# 确实开源帮助中心 + +## 模板的导入及导出管理 +#### 1.模板导入 +通过点击wiki界面的**导入模板**按钮即可导入本地的txt,markdown等格式文件进行Wiki文档的创建,当前平台此项功能尚在开发测试环节 +![](/img/wiki/img4.png) +#### 2.模板导出 +当前平台此项功能尚在开发测试环节 +
    diff --git a/versioned_docs/version-1.1.0/维基/维基页面管理.md b/versioned_docs/version-1.1.0/维基/维基页面管理.md index 1ed56fc..f044e07 100644 --- a/versioned_docs/version-1.1.0/维基/维基页面管理.md +++ b/versioned_docs/version-1.1.0/维基/维基页面管理.md @@ -1,4 +1,23 @@ --- sidebar_label: '维基页面管理' sidebar_position: 1 ---- \ No newline at end of file +--- + + +# 确实开源帮助中心 + +## 维基界面管理 +#### 1.维基界面 +GitLink项目安排了专门的**维基(Wiki)界面**来展示项目的一些情况 +![](/img/wiki/img1.png) + +#### 2.创建维基内容 +在初始化的维基界面当中点击**创建Wiki文档**或者**导入模板**即可进行Wiki文档的编辑 +
    + +#### 3.进行Wiki文档的编辑 +点击**创建Wiki文档**后即跳转到编辑界面,初始内容为空白的文档 +![](/img/wiki/img3.png) +也可以通过勾选*添加模板*来进行模板的导入,平台提供的模板包括*周报*和*月报*的格式 +![](/img/wiki/img2.png) +完成编辑后点击左下角的的保存即可 \ No newline at end of file -- 2.34.1 From df29605c3523c5fc06b511529c070853daa6603f Mon Sep 17 00:00:00 2001 From: dmz <2033017499@qq.com> Date: Mon, 2 Jun 2025 20:46:12 +0800 Subject: [PATCH 22/28] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../代码库管理/代码安全与合规.md | 62 +++++++++++++++++++ .../平台公告/更新日志.md | 33 ++++++++++ .../权限与安全/_category_.json | 4 ++ .../权限与安全/权限与安全说明.md | 62 +++++++++++++++++++ .../活动赛事/赛事专栏.md | 28 +++++++++ .../CI_CD集成与使用.md | 43 +++++++++++++ .../WebIDE集成与使用.md | 44 +++++++++++++ .../第三方集成详解/_category_.json | 4 ++ .../代码溯源集成与使用.md | 43 +++++++++++++ 9 files changed, 323 insertions(+) create mode 100644 versioned_docs/version-1.1.0/代码库管理/代码安全与合规.md create mode 100644 versioned_docs/version-1.1.0/平台公告/更新日志.md create mode 100644 versioned_docs/version-1.1.0/权限与安全/_category_.json create mode 100644 versioned_docs/version-1.1.0/权限与安全/权限与安全说明.md create mode 100644 versioned_docs/version-1.1.0/活动赛事/赛事专栏.md create mode 100644 versioned_docs/version-1.1.0/第三方集成详解/CI_CD集成与使用.md create mode 100644 versioned_docs/version-1.1.0/第三方集成详解/WebIDE集成与使用.md create mode 100644 versioned_docs/version-1.1.0/第三方集成详解/_category_.json create mode 100644 versioned_docs/version-1.1.0/第三方集成详解/代码溯源集成与使用.md diff --git a/versioned_docs/version-1.1.0/代码库管理/代码安全与合规.md b/versioned_docs/version-1.1.0/代码库管理/代码安全与合规.md new file mode 100644 index 0000000..936f03e --- /dev/null +++ b/versioned_docs/version-1.1.0/代码库管理/代码安全与合规.md @@ -0,0 +1,62 @@ +--- +sidebar_label: '代码安全与合规' +sidebar_position: 10 +--- + +# 代码安全与合规实操指引 + +本指引帮助开发者在GitLink平台上进行多层次代码分析,包括: +- 代码安全扫描 +- 许可证合规检查 +- 漏洞修复建议 + +--- + +## 一、代码安全扫描 + +1. **进入代码库页面**,点击左侧菜单的"安全"或"代码分析"模块。 +2. **启动安全扫描**: + - 点击"新建扫描"或"立即扫描"按钮。 + - 选择扫描类型(如静态代码分析、依赖安全检测等)。 + - 配置扫描参数(可选),如排除目录、扫描深度等。 + - 点击"开始扫描"。 +3. **查看扫描结果**: + - 扫描完成后,平台会生成安全报告,列出发现的安全隐患(如高危漏洞、敏感信息泄露、弱加密算法等)。 + - 可点击具体问题查看详情、受影响文件及修复建议。 + +> **建议**:定期对主分支和重要分支进行安全扫描,及时修复高危问题。 + +--- + +## 二、许可证合规检查 + +1. **在代码库设置中**,找到"许可证合规"或"开源合规"模块。 +2. **发起合规检测**: + - 点击"检测许可证"按钮,平台会自动识别项目及依赖的许可证类型。 + - 检查是否存在不兼容或高风险许可证(如GPL、AGPL等)。 +3. **处理合规风险**: + - 若发现不合规依赖,建议替换为兼容许可证的依赖,或联系法务团队评估风险。 + - 平台会给出兼容性建议和替换方案。 + +> **建议**:新引入第三方依赖时,务必关注其许可证类型,避免后期合规风险。 + +--- + +## 三、漏洞修复建议 + +1. **在安全扫描报告或依赖管理页面**,查看"漏洞详情"列表。 +2. **获取修复建议**: + - 平台会针对每个漏洞给出修复建议,如升级依赖、修改代码、配置安全参数等。 + - 可一键跳转到受影响文件或依赖,快速定位问题。 +3. **自动修复(如支持)**: + - 部分常见漏洞支持"一键修复"或"自动升级"功能,点击按钮即可自动完成修复。 + - 修复后建议重新运行安全扫描,确保问题已解决。 + +> **建议**:关注平台安全公告,及时修复新发现的高危漏洞。 + +--- + +

    文档下载/打印

    +

    需要线下查阅?
    + +

    \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/平台公告/更新日志.md b/versioned_docs/version-1.1.0/平台公告/更新日志.md new file mode 100644 index 0000000..7cc9537 --- /dev/null +++ b/versioned_docs/version-1.1.0/平台公告/更新日志.md @@ -0,0 +1,33 @@ +--- +sidebar_label: '更新日志' +sidebar_position: 2 +--- + +# 更新日志 / 新功能速览 + +本专栏用于展示平台的最新功能、重要更新和版本迭代内容,帮助用户第一时间了解平台的进步与变化。 + +--- + +## 2024-06-XX +- 新增"全部文档一键导出PDF"功能,支持批量下载帮助文档。 +- 新增"代码安全与合规实操指引",提升代码安全与合规管理能力。 +- 活动赛事专栏独立展示,便于用户关注平台赛事动态。 +- 优化帮助中心文档结构,提升检索与阅读体验。 + +--- + +## 2024-05-XX +- 平台支持第三方服务集成,开放API文档。 +- 增强DevOps引擎流水线功能,支持更多触发器类型。 + +--- + +> 更多历史更新内容,敬请持续关注本专栏。 + +--- + +

    文档下载/打印

    +

    需要线下查阅?
    + +

    \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/权限与安全/_category_.json b/versioned_docs/version-1.1.0/权限与安全/_category_.json new file mode 100644 index 0000000..e4fc9ca --- /dev/null +++ b/versioned_docs/version-1.1.0/权限与安全/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "权限与安全", + "position": 99 +} \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/权限与安全/权限与安全说明.md b/versioned_docs/version-1.1.0/权限与安全/权限与安全说明.md new file mode 100644 index 0000000..4ce8bec --- /dev/null +++ b/versioned_docs/version-1.1.0/权限与安全/权限与安全说明.md @@ -0,0 +1,62 @@ +--- +sidebar_label: "权限与安全说明" +label: "权限与安全说明" +sidebar_position: 1 +--- + +# 权限与安全说明 + +GitLink平台高度重视用户数据安全与权限管理,致力于为用户提供安全、合规、可控的开源协作环境。本文档将介绍平台的权限体系、常见角色权限、数据安全措施及合规性说明,帮助用户更好地理解和使用平台的安全功能。 + +## 1. 权限体系概述 + +GitLink采用分层权限模型,支持细粒度的权限分配,主要包括: +- **平台级权限**:如平台管理员、普通用户等。 +- **组织级权限**:如组织拥有者、管理员、成员、外部协作者等。 +- **项目/仓库级权限**:如仓库管理员、开发者、报告者、访客等。 + +## 2. 常见角色与权限对比 + +| 角色 | 组织管理 | 仓库管理 | 代码提交 | 合并请求 | 成员管理 | 设置权限 | +|--------------|:--------:|:--------:|:--------:|:--------:|:--------:|:--------:| +| 平台管理员 | √ | √ | √ | √ | √ | √ | +| 组织拥有者 | √ | √ | √ | √ | √ | √ | +| 组织管理员 | √ | √ | √ | √ | √ | × | +| 仓库管理员 | × | √ | √ | √ | × | √ | +| 开发者 | × | × | √ | √ | × | × | +| 报告者 | × | × | × | √ | × | × | +| 访客 | × | × | × | × | × | × | + +> 说明:实际权限以平台设置为准,部分权限可由组织/仓库管理员自定义调整。 + +## 3. 数据安全与隐私保护 + +- **数据加密**:平台采用HTTPS加密传输,敏感信息加密存储。 +- **访问控制**:所有资源均需授权访问,支持基于角色的访问控制(RBAC)。 +- **操作审计**:关键操作(如权限变更、删除、合并等)均有日志记录,便于追溯。 +- **备份与恢复**:平台定期备份数据,支持灾难恢复。 +- **第三方集成安全**:对接第三方服务时,采用OAuth等安全协议,最小化权限授权。 + +## 4. 合规性与法律声明 + +- 平台遵循《网络安全法》《数据安全法》等相关法律法规,保障用户数据合法合规。 +- 用户在平台上的数据归用户所有,平台承诺不做商业用途。 +- 如涉及开源合规(如许可证、代码溯源等),平台提供相关工具与指引。 + +## 5. 常见安全问题与建议 + +- **账号安全**:建议开启二次验证,定期修改密码,避免密码泄露。 +- **权限最小化**:仅为成员分配必要权限,定期检查和收回不必要的权限。 +- **敏感信息管理**:避免在代码库中提交明文密码、密钥等敏感信息。 +- **外部协作者管理**:对外部协作者权限进行严格控制,必要时可设置临时访问。 +- **安全事件反馈**:如发现安全漏洞或异常,请及时通过平台反馈渠道上报。 + +--- +如需进一步了解权限与安全相关问题,请参考[服务协议](/服务协议/GitLink服务协议)或联系平台管理员。 + +
    + +

    文档下载/打印

    +

    需要线下查阅?
    + +

    \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/活动赛事/赛事专栏.md b/versioned_docs/version-1.1.0/活动赛事/赛事专栏.md new file mode 100644 index 0000000..1ae4bd0 --- /dev/null +++ b/versioned_docs/version-1.1.0/活动赛事/赛事专栏.md @@ -0,0 +1,28 @@ +--- +sidebar_label: '赛事专栏' +sidebar_position: 1 +--- + +# 活动/赛事/评选专栏 + +本专栏用于介绍平台举办的各类活动、赛事、评选等内容,包括: +- 参与方式 +- 活动规则 +- 奖励设置 +- 重要时间节点 +- 历届精彩回顾 + +--- + +## 当前暂无活动 + +后续更多精彩赛事,敬请期待! + +如有新活动,将在本专栏第一时间发布详细参与指南、规则说明及奖励办法,欢迎持续关注本专栏。 + +--- + +

    文档下载/打印

    +

    需要线下查阅?
    + +

    \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/第三方集成详解/CI_CD集成与使用.md b/versioned_docs/version-1.1.0/第三方集成详解/CI_CD集成与使用.md new file mode 100644 index 0000000..64aae74 --- /dev/null +++ b/versioned_docs/version-1.1.0/第三方集成详解/CI_CD集成与使用.md @@ -0,0 +1,43 @@ +--- +sidebar_label: "CI/CD集成与使用" +label: "CI/CD集成与使用" +sidebar_position: 3 +--- + +# CI/CD集成与使用 + +GitLink平台支持与多种CI/CD工具集成,实现自动化构建、测试与部署,提升开发效率和交付质量。 + +## 1. 功能介绍 +- 支持主流CI/CD服务(如Jenkins、GitHub Actions、GitLab CI等) +- 自动化构建、测试、部署流程 +- 与代码库、合并请求、疑修等无缝联动 + +## 2. 典型使用场景 +- 代码提交后自动运行测试和构建 +- 合并请求触发自动化审核与部署 +- 多环境(开发、测试、生产)自动化发布 + +## 3. 集成与配置步骤 +1. 在项目设置中进入"CI/CD集成"页面 +2. 选择需要集成的CI/CD服务并进行授权 +3. 配置流水线脚本(如Jenkinsfile、.gitlab-ci.yml等) +4. 提交代码后自动触发CI/CD流程 + +## 4. 常见问题与解答 +- **Q: 支持哪些CI/CD平台?** + A: 支持Jenkins、GitHub Actions、GitLab CI等,具体以平台实际为准。 +- **Q: 如何查看流水线执行日志?** + A: 可在项目CI/CD页面查看详细日志和历史记录。 +- **Q: 集成失败如何排查?** + A: 检查授权、脚本配置及平台状态,必要时联系技术支持。 + +--- +如需CI/CD最佳实践指导,请参考平台相关文档或咨询技术团队。 + +
    + +

    文档下载/打印

    +

    需要线下查阅?
    + +

    \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/第三方集成详解/WebIDE集成与使用.md b/versioned_docs/version-1.1.0/第三方集成详解/WebIDE集成与使用.md new file mode 100644 index 0000000..46da1c1 --- /dev/null +++ b/versioned_docs/version-1.1.0/第三方集成详解/WebIDE集成与使用.md @@ -0,0 +1,44 @@ +--- +sidebar_label: "WebIDE集成与使用" +label: "WebIDE集成与使用" +sidebar_position: 1 +--- + +# WebIDE集成与使用 + +WebIDE是GitLink平台提供的在线开发环境,支持用户在浏览器中直接编辑、运行和调试代码,无需本地环境配置。 + +## 1. 功能介绍 +- 在线代码编辑、运行与调试 +- 多语言支持(如Python、Java、C++等) +- 与代码库无缝集成,支持分支切换、提交、合并请求 +- 支持插件扩展和个性化配置 + +## 2. 典型使用场景 +- 快速修复线上Bug,无需本地拉取代码 +- 新成员无需本地环境即可参与开发 +- 远程协作、代码评审时即时修改 + +## 3. 集成与配置步骤 +1. 进入目标代码库页面,点击"WebIDE"按钮 +2. 首次使用可根据提示授权访问代码库 +3. 在WebIDE界面进行代码编辑、运行、调试 +4. 编辑完成后可直接提交到当前分支或发起合并请求 + +## 4. 常见问题与解答 +- **Q: WebIDE支持哪些语言?** + A: 支持主流编程语言,具体以平台实际为准。 +- **Q: 如何安装自定义插件?** + A: 可在WebIDE设置中选择插件市场进行安装。 +- **Q: 编辑内容如何保存?** + A: 支持自动保存和手动提交,建议及时提交到代码库。 + +--- +如遇到无法解决的问题,请联系平台技术支持。 + +
    + +

    文档下载/打印

    +

    需要线下查阅?
    + +

    \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/第三方集成详解/_category_.json b/versioned_docs/version-1.1.0/第三方集成详解/_category_.json new file mode 100644 index 0000000..c1f48b5 --- /dev/null +++ b/versioned_docs/version-1.1.0/第三方集成详解/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "第三方集成详解", + "position": 100 +} \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/第三方集成详解/代码溯源集成与使用.md b/versioned_docs/version-1.1.0/第三方集成详解/代码溯源集成与使用.md new file mode 100644 index 0000000..9a6aa32 --- /dev/null +++ b/versioned_docs/version-1.1.0/第三方集成详解/代码溯源集成与使用.md @@ -0,0 +1,43 @@ +--- +sidebar_label: "代码溯源集成与使用" +label: "代码溯源集成与使用" +sidbar_position: 2 +--- + +# 代码溯源集成与使用 + +代码溯源服务帮助用户追踪代码来源、变更历史及合规性风险,提升开源项目的安全性和可追溯性。 + +## 1. 功能介绍 +- 自动识别代码来源及变更路径 +- 检测第三方依赖及其许可证合规性 +- 生成溯源报告,支持导出 + +## 2. 典型使用场景 +- 企业合规审计,确保项目无侵权风险 +- 开源项目引入外部代码时的合规检查 +- 代码安全事件追溯 + +## 3. 集成与配置步骤 +1. 在项目设置中启用"代码溯源"服务 +2. 配置需要溯源的分支或目录 +3. 触发溯源分析,等待报告生成 +4. 查看并下载溯源报告 + +## 4. 常见问题与解答 +- **Q: 溯源分析会影响项目性能吗?** + A: 分析过程在后台异步进行,不影响正常开发。 +- **Q: 支持哪些类型的依赖检测?** + A: 支持主流语言的依赖管理工具,具体以平台实际为准。 +- **Q: 报告能导出为哪些格式?** + A: 支持PDF、CSV等格式导出。 + +--- +如需更深入的合规咨询,请联系平台合规团队。 + +
    + +

    文档下载/打印

    +

    需要线下查阅?
    + +

    \ No newline at end of file -- 2.34.1 From 390b383eb76af5d7dd3f748508dc252404102604 Mon Sep 17 00:00:00 2001 From: dmz <2033017499@qq.com> Date: Tue, 3 Jun 2025 15:02:35 +0800 Subject: [PATCH 23/28] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E6=B5=81=E6=B0=B4?= =?UTF-8?q?=E7=BA=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- versioned_docs/version-1.1.0/平台公告/更新日志.md | 1 + 1 file changed, 1 insertion(+) diff --git a/versioned_docs/version-1.1.0/平台公告/更新日志.md b/versioned_docs/version-1.1.0/平台公告/更新日志.md index 7cc9537..b8fffcc 100644 --- a/versioned_docs/version-1.1.0/平台公告/更新日志.md +++ b/versioned_docs/version-1.1.0/平台公告/更新日志.md @@ -22,6 +22,7 @@ sidebar_position: 2 - 增强DevOps引擎流水线功能,支持更多触发器类型。 --- +## 2025.6.3课上汇报新加内容测试流水线 > 更多历史更新内容,敬请持续关注本专栏。 -- 2.34.1 From d28b8eedcf27fe317518fb71de0603fa5448e1e9 Mon Sep 17 00:00:00 2001 From: dmz <2033017499@qq.com> Date: Wed, 9 Jul 2025 21:02:49 +0800 Subject: [PATCH 24/28] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/Bot市场/bot安装.md | 81 +++---------------- docs/Bot市场/bot市场.md | 67 ++------------- docs/Bot市场/bot开发.md | 61 +++----------- docs/Bot市场/bot配置.md | 59 +++----------- docs/DevOps引擎/代码流水线.md | 11 ++- docs/DevOps引擎/参数配置.md | 11 ++- docs/DevOps引擎/图形流水线.md | 23 ++++-- docs/DevOps引擎/密钥设置.md | 11 ++- docs/DevOps引擎/引擎简介.md | 11 ++- docs/DevOps引擎/执行记录查询.md | 9 ++- docs/intro.md | 30 +++---- docs/个人主页建站/建站工具.md | 34 ++++---- docs/个人主页建站/站点创建流程.md | 23 ++++-- docs/代码库管理/WebIDE.md | 23 ++++-- docs/代码库管理/Webhook.md | 25 +++--- docs/代码库管理/仓库创建.md | 11 ++- docs/代码库管理/仓库设置.md | 12 ++- docs/代码库管理/代码安全与合规.md | 62 ++++++++++++++ docs/代码库管理/代码提交.md | 16 +++- docs/代码库管理/分支管理.md | 18 +++-- docs/代码库管理/成员管理.md | 17 ++-- docs/代码库管理/文件管理.md | 15 +++- .../标签和发行版管理.md | 23 ++++-- docs/合并请求/代码评审.md | 14 +++- docs/合并请求/创建合并请求.md | 9 ++- docs/合并请求/合并模式简介.md | 9 ++- docs/合并请求/合并请求关联疑修.md | 64 ++++++++++++++- docs/合并请求/合并请求简介.md | 9 ++- docs/平台公告/平台公告.md | 47 ++++++++++- docs/平台公告/更新日志.md | 34 ++++++++ .../创建第一个开源项目.md | 7 ++ .../导入GitHub等第三方Git项目.md | 9 ++- docs/快速开始/提交第一行代码.md | 9 ++- docs/快速开始/搜索开源项目.md | 11 ++- docs/快速开始/注册GitLink账号.md | 7 ++ docs/服务协议/GitLink服务协议.md | 10 ++- .../权限与安全/_category_.json | 0 .../权限与安全/权限与安全说明.md | 0 .../活动赛事/赛事专栏.md | 0 docs/疑修/标记管理.md | 9 ++- docs/疑修/疑修列表.md | 9 ++- docs/疑修/疑修创建.md | 7 ++ docs/疑修/疑修状态变更.md | 9 ++- docs/疑修/疑修简介.md | 8 ++ docs/疑修/评论及操作记录.md | 9 ++- docs/疑修/里程碑管理.md | 9 ++- docs/第三方服务/WebIDE.md | 19 +++-- docs/第三方服务/跨平台代码同步.md | 26 +++--- docs/第三方服务/重睛鸟代码溯源.md | 24 ++++-- .../CI_CD集成与使用.md | 0 .../WebIDE集成与使用.md | 0 .../第三方集成详解/_category_.json | 0 .../代码溯源集成与使用.md | 0 docs/组织管理/组织创建及设置.md | 10 ++- docs/组织管理/组织团队管理.md | 6 ++ docs/组织管理/组织成员管理.md | 9 ++- docs/组织管理/组织简介.md | 8 ++ docs/组织管理/组织项目管理.md | 7 ++ docs/维基/模板导入及导出.md | 8 +- docs/维基/维基页面管理.md | 15 +++- docs/通知/通知简介.md | 9 ++- docs/通知/通知设置.md | 10 ++- .../version-1.1.0/Bot市场/bot安装.md | 13 +-- .../version-1.1.0/Bot市场/bot市场.md | 13 +-- .../version-1.1.0/Bot市场/bot开发.md | 15 +--- .../version-1.1.0/Bot市场/bot配置.md | 13 +-- .../DevOps引擎/代码流水线.md | 11 +-- .../DevOps引擎/参数配置.md | 11 +-- .../DevOps引擎/图形流水线.md | 23 ++---- .../DevOps引擎/密钥设置.md | 11 +-- .../DevOps引擎/引擎简介.md | 11 +-- .../DevOps引擎/执行记录查询.md | 9 +-- versioned_docs/version-1.1.0/intro.md | 11 +-- .../个人主页建站/建站工具.md | 34 ++++---- .../个人主页建站/站点创建流程.md | 23 ++---- .../version-1.1.0/代码库管理/WebIDE.md | 23 ++---- .../version-1.1.0/代码库管理/Webhook.md | 25 +++--- .../代码库管理/仓库创建.md | 11 +-- .../代码库管理/仓库设置.md | 12 +-- .../代码库管理/代码提交.md | 17 +--- .../代码库管理/分支管理.md | 19 +---- .../代码库管理/成员管理.md | 17 ++-- .../代码库管理/文件管理.md | 24 +----- .../标签和发行版管理.md | 23 ++---- .../合并请求/代码评审.md | 15 +--- .../合并请求/创建合并请求.md | 9 +-- .../合并请求/合并模式简介.md | 9 +-- .../合并请求/合并请求关联疑修.md | 64 +-------------- .../合并请求/合并请求简介.md | 9 +-- .../平台公告/平台公告.md | 47 +---------- .../创建第一个开源项目.md | 7 -- .../导入GitHub等第三方Git项目.md | 9 +-- .../快速开始/提交第一行代码.md | 9 +-- .../快速开始/搜索开源项目.md | 11 +-- .../快速开始/注册GitLink账号.md | 7 -- .../服务协议/GitLink服务协议.md | 10 +-- .../version-1.1.0/疑修/标记管理.md | 9 +-- .../version-1.1.0/疑修/疑修列表.md | 9 +-- .../version-1.1.0/疑修/疑修创建.md | 7 -- .../疑修/疑修状态变更.md | 9 +-- .../version-1.1.0/疑修/疑修简介.md | 8 -- .../疑修/评论及操作记录.md | 9 +-- .../version-1.1.0/疑修/里程碑管理.md | 9 +-- .../version-1.1.0/第三方服务/WebIDE.md | 9 +-- .../第三方服务/跨平台代码同步.md | 26 +++--- .../第三方服务/重睛鸟代码溯源.md | 24 ++---- .../组织管理/组织创建及设置.md | 10 +-- .../组织管理/组织团队管理.md | 6 -- .../组织管理/组织成员管理.md | 26 +----- .../组织管理/组织简介.md | 8 -- .../组织管理/组织项目管理.md | 7 -- .../维基/模板导入及导出.md | 19 +---- .../维基/维基页面管理.md | 28 +------ .../version-1.1.0/通知/通知简介.md | 9 +-- .../version-1.1.0/通知/通知设置.md | 9 +-- 115 files changed, 846 insertions(+), 1073 deletions(-) create mode 100644 docs/代码库管理/代码安全与合规.md create mode 100644 docs/平台公告/更新日志.md rename {versioned_docs/version-1.1.0 => docs}/权限与安全/_category_.json (100%) rename {versioned_docs/version-1.1.0 => docs}/权限与安全/权限与安全说明.md (100%) rename {versioned_docs/version-1.1.0 => docs}/活动赛事/赛事专栏.md (100%) rename {versioned_docs/version-1.1.0 => docs}/第三方集成详解/CI_CD集成与使用.md (100%) rename {versioned_docs/version-1.1.0 => docs}/第三方集成详解/WebIDE集成与使用.md (100%) rename {versioned_docs/version-1.1.0 => docs}/第三方集成详解/_category_.json (100%) rename {versioned_docs/version-1.1.0 => docs}/第三方集成详解/代码溯源集成与使用.md (100%) diff --git a/docs/Bot市场/bot安装.md b/docs/Bot市场/bot安装.md index 1cd6f1d..50aa31b 100644 --- a/docs/Bot市场/bot安装.md +++ b/docs/Bot市场/bot安装.md @@ -2,74 +2,6 @@ sidebar_label: 'bot安装' sidebar_position: 1 --- -import MyButton from './mybutton'; - - { -var pElements = document.getElementsByTagName('p'); -var hElements = document.getElementsByTagName('h1'); -var aElements = document.getElementsByTagName('a'); -var hzh = ['bot安装','bot安装']; -var hen = ['Bot Installation','Bot Installation']; -var azh = ['跳到主要内容','','帮助中心','','','','','','','','','','','','','','','','','','','','','机器人(Bot)','编辑此页','上一页 bot市场','下一页bot 配置','网站首页','关于我们','教学实践','合作伙伴','API文档','Git常用命令','引擎使用手册','服务协议','官网邮箱:gitlink@ccf.org.cn','QQ群','公众号']; -var aen = ['Jump to main content','','Help Center','','','','','','','','','','','','','','','','','','','','','Robot (Bot)','Edit this page','last page Bot market','next page Bot configuration','Website homepage','About Us','Teaching practice','Partners','API documentation','Common Git commands','Engine User Manual','Service Agreement','Official website email: gitlink@ccf.org.cn','QQ group','Official Account']; -var zhtranalate = ['Bot安装是进行bot安装和管理控制的重要模块,主要包括bot安装、安装查询、安装管理等功能。','在bot详情页,用户点击“安装此Bot”按钮后,可以看到该bot工作所需的各项权限信息。若用户同意授予bot所需的相关权限即可进行安装。用户可选择将bot安装到所有仓库(用户拥有的所有仓库)中,也可以选择指定的仓库进行安装。','','在个人“设置”或者“仓库设置”中,用户可以看到目前已经安装的Bot情况,点击“配置”按钮可以对bot安装情况进行配置,点击“卸载”按钮可以进行卸载。','','在bot安装配置页中,用户可以掌握该bot的安装位置和工作状态。若用户需要更改bot的工作仓库时,可以进行更改安装位置。bot的工作状态包括激活和挂起,用户可根据需要对bot的状态进行调整,将其挂起或者激活,会影响到bot对仓库数据的访问权限。','','©Copyright 2024 CCF 开源发展委员会','Powered by Trustie& IntelliDE 京ICP备13000930号']; -var entranslate = ['Bot installation is an important module for bot installation and management control, which mainly includes functions such as bot installation, installation queries, and installation management.','On the bot details page, after clicking the "Install this bot" button, users can see the necessary permission information for the bot to work. If the user agrees to grant the necessary permissions to the bot, installation can proceed. Users can choose to install the bot in all warehouses (all warehouses owned by the user) or select a specified warehouse for installation.','','In personal "settings" or "warehouse settings", users can see the current installation status of bots. Click the "configure" button to configure the bot installation status, and click the "uninstall" button to uninstall.','','In the bot installation configuration page, users can grasp the installation location and working status of the bot. If the user needs to change the workspace of the bot, they can change the installation location. The working status of bots includes activation and suspension. Users can adjust the status of bots as needed. Suspending or activating bots can affect their access to warehouse data.','','© Copyright 2024 CCF Open Source Development Committee','Powered by Trust&IntelliDE Beijing ICP Preparation No. 13000930']; -if (pElements[0].innerText == zhtranalate[0]){ - for (var i = 0; i < pElements.length; i++) { - if (pElements[i].innerText != ''){ - if (i < pElements.length){ - pElements[i].innerText = entranslate[i]; - } - } -} -} -else{ - for (var i = 0; i < pElements.length; i++) { - if (pElements[i].innerText != ''){ - if (i < pElements.length){ - pElements[i].innerText = zhtranalate[i]; - } - } -} -} -if (hElements[0].innerText == hzh[0]){ - for (var i = 0; i < hElements.length; i++) { - if (hElements[i].innerText != ''){ - if (i < hElements.length){ - hElements[i].innerText = hen[i]; - } - } -} -} -else{ - for (var i = 0; i < hElements.length; i++) { - if (hElements[i].innerText != ''){ - if (i < hElements.length){ - hElements[i].innerText = hzh[i]; - } - } -} -} -if (aElements[0].innerText == azh[0]){ - for (var i = 0; i < aElements.length; i++) { - if (aElements[i].innerText != ''){ - if (i < aElements.length){ - aElements[i].innerText = aen[i]; - } - } -} -} -else{ - for (var i = 0; i < aElements.length; i++) { - if (aElements[i].innerText != ''){ - if (i < aElements.length){ - aElements[i].innerText = azh[i]; - } - } -} -} -}}>中/英 - # bot安装 @@ -77,12 +9,19 @@ Bot安装是进行bot安装和管理控制的重要模块,主要包括bot安 在bot详情页,用户点击“安装此Bot”按钮后,可以看到该bot工作所需的各项权限信息。若用户同意授予bot所需的相关权限即可进行安装。用户可选择将bot安装到所有仓库(用户拥有的所有仓库)中,也可以选择指定的仓库进行安装。 -![botinstall1](../../static/img/bot/botinstall1.png) +![botinstall1](/img/bot/botinstall1.png) 在个人“设置”或者“仓库设置”中,用户可以看到目前已经安装的Bot情况,点击“配置”按钮可以对bot安装情况进行配置,点击“卸载”按钮可以进行卸载。 -![botinstall2](../../static/img/bot/botinstall2.png) +![botinstall2](/img/bot/botinstall2.png) 在bot安装配置页中,用户可以掌握该bot的安装位置和工作状态。若用户需要更改bot的工作仓库时,可以进行更改安装位置。bot的工作状态包括激活和挂起,用户可根据需要对bot的状态进行调整,将其挂起或者激活,会影响到bot对仓库数据的访问权限。 -![botinstall3](../../static/img/bot/botinstall3.png) \ No newline at end of file +![botinstall3](/img/bot/botinstall3.png) + +
    + +

    文档下载/打印

    +

    需要线下查阅?
    + +

    \ No newline at end of file diff --git a/docs/Bot市场/bot市场.md b/docs/Bot市场/bot市场.md index fcff76b..4da2eb8 100644 --- a/docs/Bot市场/bot市场.md +++ b/docs/Bot市场/bot市场.md @@ -2,52 +2,6 @@ sidebar_label: 'bot市场' sidebar_position: 4 --- -import MyButton from './mybutton'; - - { -var pElements = document.getElementsByTagName('p'); -var hElements = document.getElementsByTagName('h1'); -var hzh = ['bot市场','bot市场']; -var hen = ['Bot Market','Bot Market']; -var zhtranalate = ['Bot市场是进行Bot分享与复用的重要模块,主要包括bot的搜索发现,详情查看等功能。','Bot市场主页中展示了目前所有已经上架市场的bot简要信息,包括bot的头像,名称,开发者,简介和安装次数等信息,用户可根据这些基本信息初步判断该bot是否符合自己的项目需求。','在bot市场主页中,用户可以选择指定的bot种类,筛选出特定分类的bot,在这个种类范围内进行搜索与选择。','此外,用户通过在搜索栏中输入关键字进行搜索,可检索出内容包含指定关键字的相关bot。','用户可结合种类筛选和关键字搜索缩小范围,在市场中快速找到符合项目相关需求的bot。','','在bot市场页中,用户点击指定的bot卡片即可进入该bot的详情页。Bot的详情页包含bot的头像,名称,开发者,种类和详细介绍等信息,用户可在此掌握该bot的各项介绍,进一步判断是否将其安装到指定仓库中。','','在bot详情页中,若用户认为该bot满足自己的项目需求,可点击“安装此Bot”按钮,了解该bot的权限信息,将其安装到指定的仓库中,关于安装的更多介绍可见“Bot安装”部分。','去市场看看吧!','©Copyright 2024 CCF 开源发展委员会','Powered by Trustie& IntelliDE 京ICP备13000930号']; -var entranslate = ['The bot market is an important module for sharing and reusing bots, mainly including functions such as searching, discovering, and viewing details of bots.' , 'The Bot Market homepage displays brief information about all bots that have been put on the market, including their avatars, names, developers, introductions, and installation times. Users can use this basic information to preliminarily determine whether the bot meets their project requirements.' , 'On the bot market homepage, users can select a specific type of bot, filter out specific categories of bots, and search and select within this category range.' , 'In addition, users can search for relevant bots containing specified keywords by entering keywords in the search bar.' , 'Users can combine category filtering and keyword search to narrow down the scope and quickly find bots that meet project related needs in the market.' , '' , 'In the bot market page, users can click on the specified bot card to enter the details page of the bot. The details page of the bot includes information such as the bot avatar, name, developer, type, and detailed introduction. Users can grasp the various introductions of the bot here and further determine whether to install it in the designated warehouse.' , '' , 'In the bot details page, if users believe that the bot meets their project requirements, they can click the "Install this bot" button to learn about the bots permission information and install it in the designated warehouse. For more information on installation, please refer to the "Bot Installation" section' , 'Go take a look at the market!' , '©Copyright 2024 CCF Open Source Development Committee' , 'Powered by Trustie& IntelliDE 京ICP备13000930号']; -if (pElements[0].innerText == zhtranalate[0]){ - for (var i = 0; i < pElements.length; i++) { - if (pElements[i].innerText != ''){ - if (i < pElements.length){ - pElements[i].innerText = entranslate[i]; - } - } -} -} -else{ - for (var i = 0; i < pElements.length; i++) { - if (pElements[i].innerText != ''){ - if (i < pElements.length){ - pElements[i].innerText = zhtranalate[i]; - } - } -} -} -if (hElements[0].innerText == hzh[0]){ - for (var i = 0; i < hElements.length; i++) { - if (hElements[i].innerText != ''){ - if (i < hElements.length){ - hElements[i].innerText = hen[i]; - } - } -} -} -else{ - for (var i = 0; i < hElements.length; i++) { - if (hElements[i].innerText != ''){ - if (i < hElements.length){ - hElements[i].innerText = hzh[i]; - } - } -} -} -}}>中/英 # Bot市场 @@ -61,22 +15,17 @@ Bot市场主页中展示了目前所有已经上架市场的bot简要信息, 用户可结合种类筛选和关键字搜索缩小范围,在市场中快速找到符合项目相关需求的bot。 -![botmarket1](../../static/img/bot/botmarket1.png) +![botmarket1](/img/bot/botmarket1.png) 在bot市场页中,用户点击指定的bot卡片即可进入该bot的详情页。Bot的详情页包含bot的头像,名称,开发者,种类和详细介绍等信息,用户可在此掌握该bot的各项介绍,进一步判断是否将其安装到指定仓库中。 -![botmarket2](../../static/img/bot/botmarket2.png) +![botmarket2](/img/bot/botmarket2.png) -在bot详情页中,若用户认为该bot满足自己的项目需求,可点击“安装此Bot”按钮,了解该bot的权限信息,将其安装到指定的仓库中,关于安装的更多介绍可见“Bot安装”部分。 - - - - - -去市场看看吧! - - { -location.href = "https://www.gitlink.org.cn/softbot"; -}}>Bot市场 +在bot详情页中,若用户认为该bot满足自己的项目需求,可点击"安装此Bot"按钮,了解该bot的权限信息,将其安装到指定的仓库中,关于安装的更多介绍可见"Bot安装"部分。 +
    +

    文档下载/打印

    +

    需要线下查阅?
    + +

    \ No newline at end of file diff --git a/docs/Bot市场/bot开发.md b/docs/Bot市场/bot开发.md index 452f564..4178384 100644 --- a/docs/Bot市场/bot开发.md +++ b/docs/Bot市场/bot开发.md @@ -2,60 +2,14 @@ sidebar_label: 'bot开发' sidebar_position: 3 --- -import MyButton from './mybutton'; - - { -var pElements = document.getElementsByTagName('p'); -var hElements = document.getElementsByTagName('h1'); -var hzh = ['bot开发','bot开发']; -var hen = ['Bot Development','Bot Development']; -var zhtranalate = ['Bot开发是开发者进行bot注册的重要模块。' , '在个人“设置”中,用户可以看到目前已经注册的bot列表,点击对应bot的“编辑”按钮可以对已注册的bot进行配置;点击“Bot注册”按钮开始注册新的bot。' , '' , '在注册页中,开发者需要填写bot注册的相关信息,包括bot的名称、Webhook 地址,详细介绍等,系统将对开发者输入的信息进行合法性校验,确保bot各项信息的完整性和有效性。此外,系统将自动生成bot的唯一标识,同时调用 GitLink 平台的相关接口生成bot的身份凭证信息,包括客户端密钥和私钥等。' , '开发者需通过这些身份信息结合平台接口进行bot身份认证后,调用相关接口完成bot的相关功能。' , '平台开发API链接(待完善):https://www.gitlink.org.cn/docs/api#introduction' , '' , '' , '©Copyright 2024 CCF 开源发展委员会' , 'Powered by Trustie& IntelliDE 京ICP备13000930号']; -var entranslate = ['Bot development is an important module for developers to register their bots.' , 'In personal settings, users can see a list of registered bots and click the "Edit" button on the corresponding bot to configure the registered bots; Click the "Bot Registration" button to start registering a new bot.' , '' , 'In the registration page, developers need to fill in the relevant information for bot registration, including the name of the bot, Webhook address, detailed introduction, etc. The system will verify the legality of the information entered by the developer to ensure the completeness and validity of all bot information. In addition, the system will automatically generate a unique identifier for the bot, and call the relevant interfaces of the GitLink platform to generate the identity credential information of the bot, including the client key and private key.' , 'Developers need to use these identity information in combination with the platform interface for bot identity authentication, and then call the relevant interface to complete the relevant functions of the bot.' , 'Platform development API link (to be improved): https://www.gitlink.org.cn/docs/api#introduction' , '' , '' , '© Copyright 2024 CCF Open Source Development Committee' , 'Powered by Trust&IntelliDE Beijing ICP Preparation No. 13000930']; -if (pElements[0].innerText == zhtranalate[0]){ - for (var i = 0; i < pElements.length; i++) { - if (pElements[i].innerText != ''){ - if (i < pElements.length){ - pElements[i].innerText = entranslate[i]; - } - } -} -} -else{ - for (var i = 0; i < pElements.length; i++) { - if (pElements[i].innerText != ''){ - if (i < pElements.length){ - pElements[i].innerText = zhtranalate[i]; - } - } -} -} -if (hElements[0].innerText == hzh[0]){ - for (var i = 0; i < hElements.length; i++) { - if (hElements[i].innerText != ''){ - if (i < hElements.length){ - hElements[i].innerText = hen[i]; - } - } -} -} -else{ - for (var i = 0; i < hElements.length; i++) { - if (hElements[i].innerText != ''){ - if (i < hElements.length){ - hElements[i].innerText = hzh[i]; - } - } -} -} -}}>中/英 # Bot开发 Bot开发是开发者进行bot注册的重要模块。 -在个人“设置”中,用户可以看到目前已经注册的bot列表,点击对应bot的“编辑”按钮可以对已注册的bot进行配置;点击“Bot注册”按钮开始注册新的bot。 +在个人"设置"中,用户可以看到目前已经注册的bot列表,点击对应bot的"编辑"按钮可以对已注册的bot进行配置;点击"Bot注册"按钮开始注册新的bot。 -![botcreate1](../../static/img/bot/botcreate1.png) +![botcreate1](/img/bot/botcreate1.png) 在注册页中,开发者需要填写bot注册的相关信息,包括bot的名称、Webhook 地址,详细介绍等,系统将对开发者输入的信息进行合法性校验,确保bot各项信息的完整性和有效性。此外,系统将自动生成bot的唯一标识,同时调用 GitLink 平台的相关接口生成bot的身份凭证信息,包括客户端密钥和私钥等。 @@ -63,6 +17,13 @@ Bot开发是开发者进行bot注册的重要模块。 平台开发API链接(待完善):https://www.gitlink.org.cn/docs/api#introduction -![botcreate2](../../static/img/bot/botcreate2.png) +![botcreate2](/img/bot/botcreate2.png) -![botcreate3](../../static/img/bot/botcreate3.png) \ No newline at end of file +![botcreate3](/img/bot/botcreate3.png) + +
    + +

    文档下载/打印

    +

    需要线下查阅?
    + +

    \ No newline at end of file diff --git a/docs/Bot市场/bot配置.md b/docs/Bot市场/bot配置.md index b271abf..0021a9a 100644 --- a/docs/Bot市场/bot配置.md +++ b/docs/Bot市场/bot配置.md @@ -2,52 +2,6 @@ sidebar_label: 'bot配置' sidebar_position: 2 --- -import MyButton from './mybutton'; - - { -var pElements = document.getElementsByTagName('p'); -var hElements = document.getElementsByTagName('h1'); -var hzh = ['bot配置','bot配置']; -var hen = ['Bot Configure','Bot Configure']; -var zhtranalate = ['Bot配置是开发者进行bot维护和配置的重要模块,主要包括bot基本信息维护、权限&订阅事件管理、高级选项配置等功能。','Bot的基本信息维护中,开发者可以看到bot的各项基本信息,并可以根据需要对bot的头像,名称,Webhook地址等进行修改。','','Bot的权限&订阅事件管理中,开发者可根据对仓库资源的访问需要为bot分配不同的权限和等级,比如增加代码库权限,将拉取请求的写权限变为读权限等。开发者还能更改当前bot订阅的事件列表,比如订阅代码库推送,取消拉取请求分配订阅等,以实现bot功能的更新与升级。','','Bot高级选项配置中,开发者可以改变bot的公私有状态,从而影响到bot的使用范围。需要注意的是,公开状态下的bot在已有其他仓库安装的情况下不能变成私有。开发者可选择将bot上架到市场,需要填写上架信息,包括市场简介,主要功能,次要功能等各项信息。','开发者还能进行bot的删除和转让操作,发起转让意味着更改bot的所有权,需要输入接受者的用户名。在接受者确定接受后,即可完成bot的所有权变更,拒绝则会取消本次的转让操作。','','©Copyright 2024 CCF 开源发展委员会','Powered by Trustie& IntelliDE 京ICP备13000930号']; -var entranslate = ['Bot configuration is an important module for developers to maintain and configure bots, mainly including basic bot information maintenance, permission&subscription event management, advanced option configuration, and other functions.' , 'In the basic information maintenance of bots, developers can see various basic information of bots and modify their avatars, names, Webhook addresses, etc. as needed.' , '' , 'In the permission and subscription event management of bots, developers can assign different permissions and levels to bots based on their access needs to warehouse resources, such as adding code library permissions, changing write permissions for pull requests to read permissions, etc. Developers can also modify the event list of the current bot subscription, such as subscribing to code library push notifications, canceling pull request allocation subscriptions, etc., to achieve updates and upgrades of bot functionality.' , '' , 'In the advanced options configuration of bots, developers can change the public and private status of bots, thereby affecting their usage scope. It should be noted that bots in public status cannot become private when installed in other warehouses. Developers can choose to put their bots on the market and need to fill in the listing information, including market introduction, main functions, secondary functions, and other related information.' , 'Developers can also perform bot deletion and transfer operations, initiating transfer means changing the ownership of the bot, and the recipients username needs to be entered. After the recipient confirms acceptance, the ownership change of the bot can be completed. Refusal will cancel the transfer operation.' , '' , '© Copyright 2024 CCF Open Source Development Committee' , 'Powered by Trust&IntelliDE Beijing ICP Preparation No. 13000930']; -if (pElements[0].innerText == zhtranalate[0]){ - for (var i = 0; i < pElements.length; i++) { - if (pElements[i].innerText != ''){ - if (i < pElements.length){ - pElements[i].innerText = entranslate[i]; - } - } -} -} -else{ - for (var i = 0; i < pElements.length; i++) { - if (pElements[i].innerText != ''){ - if (i < pElements.length){ - pElements[i].innerText = zhtranalate[i]; - } - } -} -} -if (hElements[0].innerText == hzh[0]){ - for (var i = 0; i < hElements.length; i++) { - if (hElements[i].innerText != ''){ - if (i < hElements.length){ - hElements[i].innerText = hen[i]; - } - } -} -} -else{ - for (var i = 0; i < hElements.length; i++) { - if (hElements[i].innerText != ''){ - if (i < hElements.length){ - hElements[i].innerText = hzh[i]; - } - } -} -} -}}>中/英 # Bot配置 @@ -55,15 +9,22 @@ Bot配置是开发者进行bot维护和配置的重要模块,主要包括bot Bot的基本信息维护中,开发者可以看到bot的各项基本信息,并可以根据需要对bot的头像,名称,Webhook地址等进行修改。 -![botconfig1](../../static/img/bot/botconfig1.png) +![botconfig1](/img/bot/botconfig1.png) Bot的权限&订阅事件管理中,开发者可根据对仓库资源的访问需要为bot分配不同的权限和等级,比如增加代码库权限,将拉取请求的写权限变为读权限等。开发者还能更改当前bot订阅的事件列表,比如订阅代码库推送,取消拉取请求分配订阅等,以实现bot功能的更新与升级。 -![botconfig2](../../static/img/bot/botconfig2.png) +![botconfig2](/img/bot/botconfig2.png) Bot高级选项配置中,开发者可以改变bot的公私有状态,从而影响到bot的使用范围。需要注意的是,公开状态下的bot在已有其他仓库安装的情况下不能变成私有。开发者可选择将bot上架到市场,需要填写上架信息,包括市场简介,主要功能,次要功能等各项信息。 开发者还能进行bot的删除和转让操作,发起转让意味着更改bot的所有权,需要输入接受者的用户名。在接受者确定接受后,即可完成bot的所有权变更,拒绝则会取消本次的转让操作。 -![botconfig3](../../static/img/bot/botconfig3.png) +![botconfig3](/img/bot/botconfig3.png) + +
    + +

    文档下载/打印

    +

    需要线下查阅?
    + +

    diff --git a/docs/DevOps引擎/代码流水线.md b/docs/DevOps引擎/代码流水线.md index 671fcd3..eb3f261 100644 --- a/docs/DevOps引擎/代码流水线.md +++ b/docs/DevOps引擎/代码流水线.md @@ -5,8 +5,15 @@ sidebar_position: 5 # 代码流水线 可以通过代码的形式(YAML格式)来配置流水线,首先选择代码流水线和对应的分支: - ![code_workflow1](../../static/img/engine/code_workflow1.jpg) + ![code_workflow1](/img/engine/code_workflow1.jpg) 编辑流水线代码,其流水线名称描述、触发器、全局参数、执行串行/并发和流水线编排等概念同图形流水线,具体描述如下: -![code_workflow2](../../static/img/engine/code_workflow2.png) \ No newline at end of file +![code_workflow2](/img/engine/code_workflow2.png) + +
    + +

    文档下载/打印

    +

    需要线下查阅?
    + +

    \ No newline at end of file diff --git a/docs/DevOps引擎/参数配置.md b/docs/DevOps引擎/参数配置.md index 493ea0e..c5fe6b9 100644 --- a/docs/DevOps引擎/参数配置.md +++ b/docs/DevOps引擎/参数配置.md @@ -7,9 +7,16 @@ sidebar_position: 2 可在流水线中使用,实现动态参数配置;有字符串、数字、布尔三种类型。 - ![parameter1](../../static/img/engine/parameter1.png) + ![parameter1](/img/engine/parameter1.png) 在流水线的配置中通过如下方式获取参数: - ![parameter2](../../static/img/engine/parameter2.png) \ No newline at end of file + ![parameter2](/img/engine/parameter2.png) + +
    + +

    文档下载/打印

    +

    需要线下查阅?
    + +

    \ No newline at end of file diff --git a/docs/DevOps引擎/图形流水线.md b/docs/DevOps引擎/图形流水线.md index 1c6cdbe..a4d0087 100644 --- a/docs/DevOps引擎/图形流水线.md +++ b/docs/DevOps引擎/图形流水线.md @@ -9,42 +9,49 @@ sidebar_position: 4 同一仓库下的流水线名称不能重复 -![vis_workflow1](../../static/img/engine/vis_workflow1.png) +![vis_workflow1](/img/engine/vis_workflow1.png) ## 触发器 注:流水线编排时,触发器要放在开始节点之前;目前一条流水线仅添加支持一个触发器 * 定时触发器cron:可通过填写cron表达式设置触发的具体时间 -![vis_workflow2](../../static/img/engine/vis_workflow2.png) +![vis_workflow2](/img/engine/vis_workflow2.png) * 事件触发器GitLink_Webhook:给出了常见的代码变更事件触发,包括推送代码、合并请求、创建标签 -![vis_workflow3](../../static/img/engine/vis_workflow3.png) +![vis_workflow3](/img/engine/vis_workflow3.png) ## 全局参数 添加后可在当前流水线中使用 -![vis_workflow4](../../static/img/engine/vis_workflow4.png) +![vis_workflow4](/img/engine/vis_workflow4.png) 使用实例 -![vis_workflow5](../../static/img/engine/vis_workflow5.png) +![vis_workflow5](/img/engine/vis_workflow5.png) ## 并发执行 -![vis_workflow6](../../static/img/engine/vis_workflow6.png) +![vis_workflow6](/img/engine/vis_workflow6.png) 开启后,同一流水线可同时并发执行n个流水线实例(每触发一次我们得到一个流水线实例); -![vis_workflow7](../../static/img/engine/vis_workflow7.png) +![vis_workflow7](/img/engine/vis_workflow7.png) 若未开启,则当前流水线实例执行中,后面的实例处于排队状态(最多可排队5个实例)。当前实例执行完成,下一个实例开始执行。 -![vis_workflow8](../../static/img/engine/vis_workflow8.png) +![vis_workflow8](/img/engine/vis_workflow8.png) ## 流水线编排 每条流水线必须要有一个开始节点、结束节点,至少一个任务节点。支持串行编排和并行编排。 +
    + +

    文档下载/打印

    +

    需要线下查阅?
    + +

    + diff --git a/docs/DevOps引擎/密钥设置.md b/docs/DevOps引擎/密钥设置.md index b28b953..2af73e3 100644 --- a/docs/DevOps引擎/密钥设置.md +++ b/docs/DevOps引擎/密钥设置.md @@ -7,10 +7,17 @@ sidebar_position: 3 将账号密码、密钥、证书等存放到密钥管理里,配置后可直接在流水线中使用,避免因直接填写引起的泄露风险。 -![secret1](../../static/img/engine/secret1.png) +![secret1](/img/engine/secret1.png) 使用示例 注:节点输入参数中,下拉选项为密钥类型,需要提前配置好密钥在流水线中选择使用 -![secret2](../../static/img/engine/secret2.png) \ No newline at end of file +![secret2](/img/engine/secret2.png) + +
    + +

    文档下载/打印

    +

    需要线下查阅?
    + +

    \ No newline at end of file diff --git a/docs/DevOps引擎/引擎简介.md b/docs/DevOps引擎/引擎简介.md index e63549a..a578430 100644 --- a/docs/DevOps引擎/引擎简介.md +++ b/docs/DevOps引擎/引擎简介.md @@ -8,6 +8,13 @@ sidebar_position: 1 引擎(Engine)是GitLink提供的一款DevOps工具,通过简单的节点编排来构建开发、测试、部署流水线,从而创建自动化的软件交付流程。 它可以实现持续的代码集成,让开发者能尽早发现质量问题,快速定位修复,提升软件开发效率和质量;自动化的代码扫描、编译打包、单元测试,把研发团队从重复的工作中解放出来,聚焦到更有价值的事情上。 -![engine_intro](../../static/img/engine/engine_intro.jpg) +![engine_intro](/img/engine/engine_intro.jpg) -在引擎页面中,用户可以创建和编辑图形流水线或代码流水线、设置外部参数、管理密钥等操作。 \ No newline at end of file +在引擎页面中,用户可以创建和编辑图形流水线或代码流水线、设置外部参数、管理密钥等操作。 + +
    + +

    文档下载/打印

    +

    需要线下查阅?
    + +

    \ No newline at end of file diff --git a/docs/DevOps引擎/执行记录查询.md b/docs/DevOps引擎/执行记录查询.md index 30ca593..9498ed3 100644 --- a/docs/DevOps引擎/执行记录查询.md +++ b/docs/DevOps引擎/执行记录查询.md @@ -7,4 +7,11 @@ sidebar_position: 6 用户可以查看流水线的运行状态 - ![result](../../static/img/engine/result.png) \ No newline at end of file + ![result](/img/engine/result.png) + +
    + +

    文档下载/打印

    +

    需要线下查阅?
    + +

    \ No newline at end of file diff --git a/docs/intro.md b/docs/intro.md index f8aec7a..4b96740 100644 --- a/docs/intro.md +++ b/docs/intro.md @@ -6,7 +6,7 @@ slug: / --- # 关于GitLink -GitLink(确实开源)是CCF官方指定的开源创新服务平台,旨在以“为开源创新服务”为使命,以“成为开源创新的汇聚地”为愿景,秉承“创新、开放、协作、共享”的价值观,致力于为大规模开源开放协同创新助力赋能,打造创新成果孵化和新工科人才培养的开源创新生态! +GitLink(确实开源)是CCF官方指定的开源创新服务平台,旨在以"为开源创新服务"为使命,以"成为开源创新的汇聚地"为愿景,秉承"创新、开放、协作、共享"的价值观,致力于为大规模开源开放协同创新助力赋能,打造创新成果孵化和新工科人才培养的开源创新生态! ![](/img/ccf_gitlink.png) @@ -69,25 +69,13 @@ GitLink(确实开源)是CCF官方指定的开源创新服务平台,旨在

    第三方服务

    第三方服务使用及设置[3个文档]

    - - - - - \ No newline at end of file + + +
    + +

    文档下载/打印

    +

    需要线下查阅?
    + +

    \ No newline at end of file diff --git a/docs/个人主页建站/建站工具.md b/docs/个人主页建站/建站工具.md index 80604fb..0e8da4f 100644 --- a/docs/个人主页建站/建站工具.md +++ b/docs/个人主页建站/建站工具.md @@ -13,14 +13,14 @@ sidebar_position: 2 将值改成 个人建站服务中显示的网站地址, 例如: 现在有一个网站地址为 http://KingChan.gitlink.net 那么 config.toml 中的 baseURL 应该为 http://KingChan.gitlink.net - ![img](../../static/img/个人主页建站/建站工具1.png) + ![img](/img/个人主页建站/建站工具1.png) 修改完毕后点击提交 - ![img](../../static/img/个人主页建站/建站工具2.png) + ![img](/img/个人主页建站/建站工具2.png) 提交完成后,开始部署 - ![img](../../static/img/建站工具3.png) + ![img](/img/建站工具3.png) 静态页面预览 - ![img](../../static/img/建站工具4.png) + ![img](/img/建站工具4.png) ### jekyll工具 @@ -32,14 +32,11 @@ sidebar_position: 2 baseurl: "/" url: "http://KingChan.gitlink.net" - ![img](../../static/img/建站工具5.png) + ![img](/img/建站工具5.png) 修改完成后点击 提交变更 - ![img](../../static/img/个人主页建站/建站工具2.png) + ![img](/img/个人主页建站/建站工具2.png) 提交完成后,前往建站服务开始部署 - ![img](../../static/img/建站工具7.png) - - ![img](../../static/img/建站工具8.png) ### hexo工具 @@ -50,20 +47,27 @@ url: "http://KingChan.gitlink.net" 那么 _config.toml 中的 url应该为 http://KingChan.gitlink.net - ![img](../../static/img/建站工具9.png) + ![img](/img/建站工具9.png) 修改完毕后提交变更 - ![img](../../static/img/个人主页建站/建站工具2.png) + ![img](/img/个人主页建站/建站工具2.png) 提交完成后,前往建站服务开始部署 - ![img](../../static/img/建站工具11.png) + ![img](/img/建站工具11.png) - ![img](../../static/img/建站工具12.png) + ![img](/img/建站工具12.png) - ![img](../../static/img/建站工具13.png) + ![img](/img/建站工具13.png) ### file 工具 文档格式工具,使用该工具会部署所选中分支下的所有文件。 -注: 以上所有工具都可以使用 gh-pages 分支,在部署时选中 gh-pages 分支,则会按照文档格式工具部署,也就是部署分支下的所有文件。 \ No newline at end of file +注: 以上所有工具都可以使用 gh-pages 分支,在部署时选中 gh-pages 分支,则会按照文档格式工具部署,也就是部署分支下的所有文件。 +
    + +

    文档下载/打印

    +

    需要线下查阅?
    + +

    + \ No newline at end of file diff --git a/docs/个人主页建站/站点创建流程.md b/docs/个人主页建站/站点创建流程.md index 7a73db6..df60ad6 100644 --- a/docs/个人主页建站/站点创建流程.md +++ b/docs/个人主页建站/站点创建流程.md @@ -6,11 +6,11 @@ sidebar_position: 1 ### 我的站点 鼠标移动至右上角头像位置,点击设置进入我的设置界面 -![img](../../static/img/建站工具/1.png) +![img](/img/建站工具/1.png) 点击左测面板中 个人建站 - 我的站点 -![img](../../static/img/建站工具/3.png) +![img](/img/建站工具/3.png) ### 创建站点 @@ -20,11 +20,11 @@ sidebar_position: 1 并且选择对应的建站工具与主题,我们为您提供了3种不同的工具,每个工具10种主题,一共30种供您挑选 -![img](../../static/img/建站工具/4.png) +![img](/img/建站工具/4.png) 填写完毕后,点击页面下方蓝色按钮: 创建站点 -![img](../../static/img/建站工具/5.png) +![img](/img/建站工具/5.png) 这样您就拥有了一个网站,并且有了一个代码仓库。 @@ -32,19 +32,26 @@ sidebar_position: 1 ### 部署站点 -![img](../../static/img/建站工具/6.png) +![img](/img/建站工具/6.png) 点击去部署按钮,选择想要部署的分支后点击确定 -![img](../../static/img/建站工具/7.png) +![img](/img/建站工具/7.png) 等待程序运行一会儿后,会返回一些服务器部署信息给您 部署成功后您就可以访问站点了。点击网站地址就可以跳转 -![img](../../static/img/建站工具/8.png) +![img](/img/建站工具/8.png) ### 部署完成 -![img](../../static/img/建站工具/9.png) +![img](/img/建站工具/9.png) +
    + +

    文档下载/打印

    +

    需要线下查阅?
    + +

    + \ No newline at end of file diff --git a/docs/代码库管理/WebIDE.md b/docs/代码库管理/WebIDE.md index 33b3b06..f71c87e 100644 --- a/docs/代码库管理/WebIDE.md +++ b/docs/代码库管理/WebIDE.md @@ -10,27 +10,27 @@ sidebar_position: 9 ### **2. WebIDE 入口** 从 Gitlink 仓库首页 ,点击Web IDE 按键即可进入 -![](../../static/img/代码库管理/WebIDE/WebIDE入口.png)
    +![](/img/代码库管理/WebIDE/WebIDE入口.png)
    ### **3. 分支** 支持分支切换:点击左下角分支名即可切换分支。 -![](../../static/img/代码库管理/WebIDE/WebIDE切换分支.png)
    +![](/img/代码库管理/WebIDE/WebIDE切换分支.png)
    ### **4. 搜索** 当前支持 Gitlink 仓库内代码搜索(支持单词匹配和文件过滤)和文件搜索。 -![](../../static/img/代码库管理/WebIDE/WebIDE搜索.png)
    +![](/img/代码库管理/WebIDE/WebIDE搜索.png)
    ### **5. 行高亮** 支持单行或多行高亮,点击行号即可高亮行,按住 Shift 可选中连续多行。 -![](../../static/img/代码库管理/WebIDE/WebIDE行高亮.png)
    +![](/img/代码库管理/WebIDE/WebIDE行高亮.png)
    ### **6. Blame** -支持查看单行 blame 信息,hover 后可展示详细信息。 -![](../../static/img/代码库管理/WebIDE/WebIDEblame.png)
    +支持查看单行 blame 信息,点击代码,即可在单行代码后展示更改时间、更改人、提交信息等信息。 +![](/img/代码库管理/WebIDE/WebIDEblame.png)
    ### **7. Graph** 支持 graph 视图,可查看分支 commits 历史以及每个 commit 详细文件变更,并支持文件 diff 查看。底部状态栏左下角点击 Git Graph 或在命令面板输入 View Git Graph,即可打开 Git Graph 视图。 -![](../../static/img/代码库管理/WebIDE/WebIDEGraph.png)
    +![](/img/代码库管理/WebIDE/WebIDEGraph.png)
    ### **8. WebSCM** 可以在极速版新建分支,修改代码后在 SCM 面板看到变更文件列表,写完 commit message 后提交到 Gitlink 上。如果想快速修改一些文件可以不用在本地修改,直接通过极速版修改代码一次性提交。 @@ -38,4 +38,11 @@ sidebar_position: 9 ### **9. 代码在线运行** ● 集成了基于 skypack 的更加轻量的 CodeSwing 插件,可以在极速版去运行前端代码。 ● 集成了基于 Pyodide 的 Code-Runner-For-Web 插件,可以将 Python 的运行搬到浏览器上。 -![](../../static/img/代码库管理/WebIDE/WebIDE代码在线运行.png)
    \ No newline at end of file +![](/img/代码库管理/WebIDE/WebIDE代码在线运行.png)
    + +
    + +

    文档下载/打印

    +

    需要线下查阅?
    + +

    \ No newline at end of file diff --git a/docs/代码库管理/Webhook.md b/docs/代码库管理/Webhook.md index 33bc170..0f73cd2 100644 --- a/docs/代码库管理/Webhook.md +++ b/docs/代码库管理/Webhook.md @@ -4,23 +4,23 @@ sidebar_position: 8 --- ### **1. Webhook模块入口** 在项目主页,点击“仓库设置”按键,再点击“网络钩子”按键,即可进入仓库的Webhook模块。 - ![](../../static/img/代码库管理/Webhook/Webhook入口.png)
    + ![](/img/代码库管理/Webhook/Webhook入口.png)
    ### **2. 添加Webhook** 单击“添加Webhook”按键,可进入配置Webhook页面: - ![](../../static/img/代码库管理/Webhook/添加Webhook.png)
    - ![](../../static/img/代码库管理/Webhook/Webhook配置.png)
    + ![](/img/代码库管理/Webhook/添加Webhook.png)
    + ![](/img/代码库管理/Webhook/Webhook配置.png)
    ### **3. 编辑Webhook** 添加Webhook后,如下图所示,可以通过点击右侧”编辑“按键来对每个Webhook进行编辑操作。 - ![](../../static/img/代码库管理/Webhook/编辑Webhook.png)
    + ![](/img/代码库管理/Webhook/编辑Webhook.png)
    ### **4. 删除Webhook** 添加Webhook后,如下图所示,可以通过点击右侧”删除“按键来对每个Webhook进行删除操作。 - ![](../../static/img/代码库管理/Webhook/删除webhook.png)
    + ![](/img/代码库管理/Webhook/删除webhook.png)
    ### **5. Webhook支持的事件类型** 在GitLink中,Webhook支持的事件类型如下: @@ -30,9 +30,16 @@ sidebar_position: 8 - 删除:删除分支或标签 - 合并请求:合并请求被打开、被关闭、被重新打开或被编辑 - 合并请求分配:合并请求被分配或取消分配 - - 合并请求收入里程碑:合并请求被记录或取消记录于里程碑中 - 合并请求被评论:合并请求评论被创建、编辑或删除 - - 合并请求标签:合并请求的标签被更新或清除 - - 合并请求审查:合并请求被批准、拒绝或提出审查意见,审查人员的修改,审查线程已解决或未解决 - - 合并请求被同步:合并请求被同步 + - 疑修:疑修已打开、已关闭、已重新打开或编辑 + - 疑修已指派:疑修已指派或取消指派 + - 已标记疑修:疑修标记被更新或清除 + - 疑修评论:疑修评论被创建、编辑或删除 + +
    + +

    文档下载/打印

    +

    需要线下查阅?
    + +

    \ No newline at end of file diff --git a/docs/代码库管理/仓库创建.md b/docs/代码库管理/仓库创建.md index e17cd76..4a67b8a 100644 --- a/docs/代码库管理/仓库创建.md +++ b/docs/代码库管理/仓库创建.md @@ -4,8 +4,15 @@ sidebar_position: 1 --- ### **1. 仓库创建入口** 用户可以通过平台主页右上角的按键以及个人主页参与项目模块的“新建”按键来创建仓库。 -![](../../static/img/代码库管理/仓库创建/仓库创建.png)
    +![](/img/代码库管理/仓库创建/仓库创建.png)
    ### **2. 填写项目基本信息** 进入新建项目页面后,如下图所示,填写拥有者、项目名称、项目标识等信息,单击”创建项目“按键即可完成创建。 -![](../../static/img/代码库管理/仓库创建/新建项目.png)
    \ No newline at end of file +![](/img/代码库管理/仓库创建/新建项目.png)
    + +
    + +

    文档下载/打印

    +

    需要线下查阅?
    + +

    \ No newline at end of file diff --git a/docs/代码库管理/仓库设置.md b/docs/代码库管理/仓库设置.md index 6e31214..e2563fc 100644 --- a/docs/代码库管理/仓库设置.md +++ b/docs/代码库管理/仓库设置.md @@ -4,8 +4,16 @@ sidebar_position: 2 --- ### **1. 仓库设置入口** 在仓库主页,点击“仓库设置”按键即可进入仓库设置模块。仓库设置中可以修改项目的基本信息、进行成员管理、配置webhook、设置分支以及安装bot。 -![](../../static/img/代码库管理/仓库设置/仓库设置.png)
    +![](/img/代码库管理/仓库设置/仓库设置.png)
    ### **2. 基本设置** 进入仓库设置模块后,单击”基本设置“按键,进入基本设置模块,如下图所示,可以对项目的项目名称、项目标识、项目简介、项目类别、项目语言等基本信息进行修改。单击“转移”按键可以将仓库转移给其他用户和组织,单击“删除本仓库“按键可以删除本仓库。 -![](../../static/img/代码库管理/仓库设置/基本设置.png)
    \ No newline at end of file +![](/img/代码库管理/仓库设置/基本设置.png)
    + +
    + +

    文档下载/打印

    +

    需要线下查阅?
    + +

    + \ No newline at end of file diff --git a/docs/代码库管理/代码安全与合规.md b/docs/代码库管理/代码安全与合规.md new file mode 100644 index 0000000..936f03e --- /dev/null +++ b/docs/代码库管理/代码安全与合规.md @@ -0,0 +1,62 @@ +--- +sidebar_label: '代码安全与合规' +sidebar_position: 10 +--- + +# 代码安全与合规实操指引 + +本指引帮助开发者在GitLink平台上进行多层次代码分析,包括: +- 代码安全扫描 +- 许可证合规检查 +- 漏洞修复建议 + +--- + +## 一、代码安全扫描 + +1. **进入代码库页面**,点击左侧菜单的"安全"或"代码分析"模块。 +2. **启动安全扫描**: + - 点击"新建扫描"或"立即扫描"按钮。 + - 选择扫描类型(如静态代码分析、依赖安全检测等)。 + - 配置扫描参数(可选),如排除目录、扫描深度等。 + - 点击"开始扫描"。 +3. **查看扫描结果**: + - 扫描完成后,平台会生成安全报告,列出发现的安全隐患(如高危漏洞、敏感信息泄露、弱加密算法等)。 + - 可点击具体问题查看详情、受影响文件及修复建议。 + +> **建议**:定期对主分支和重要分支进行安全扫描,及时修复高危问题。 + +--- + +## 二、许可证合规检查 + +1. **在代码库设置中**,找到"许可证合规"或"开源合规"模块。 +2. **发起合规检测**: + - 点击"检测许可证"按钮,平台会自动识别项目及依赖的许可证类型。 + - 检查是否存在不兼容或高风险许可证(如GPL、AGPL等)。 +3. **处理合规风险**: + - 若发现不合规依赖,建议替换为兼容许可证的依赖,或联系法务团队评估风险。 + - 平台会给出兼容性建议和替换方案。 + +> **建议**:新引入第三方依赖时,务必关注其许可证类型,避免后期合规风险。 + +--- + +## 三、漏洞修复建议 + +1. **在安全扫描报告或依赖管理页面**,查看"漏洞详情"列表。 +2. **获取修复建议**: + - 平台会针对每个漏洞给出修复建议,如升级依赖、修改代码、配置安全参数等。 + - 可一键跳转到受影响文件或依赖,快速定位问题。 +3. **自动修复(如支持)**: + - 部分常见漏洞支持"一键修复"或"自动升级"功能,点击按钮即可自动完成修复。 + - 修复后建议重新运行安全扫描,确保问题已解决。 + +> **建议**:关注平台安全公告,及时修复新发现的高危漏洞。 + +--- + +

    文档下载/打印

    +

    需要线下查阅?
    + +

    \ No newline at end of file diff --git a/docs/代码库管理/代码提交.md b/docs/代码库管理/代码提交.md index 441021c..62b1614 100644 --- a/docs/代码库管理/代码提交.md +++ b/docs/代码库管理/代码提交.md @@ -2,10 +2,18 @@ sidebar_label: '代码提交' sidebar_position: 3 --- - ### **1. 代码提交入口** +### **1. 代码提交入口** 用户可以通过项目代码库中间的文件下的“上传文件”按键来上传文件。 -![](../../static/img/代码库管理/代码提交/上传文件入口.png)
    +![](/img/代码库管理/代码提交/上传文件入口.png)
    - ### **2. 上传文件** +### **2. 上传文件** 进入上传文件页面后,如下图所示,拖动文件,选择提交变更的分支的单击”创建项目“按键即可完成创建。 -![](../../static/img/代码库管理/代码提交/上传文件.png)
    \ No newline at end of file +![](/img/代码库管理/代码提交/上传文件.png)
    + +
    + +

    文档下载/打印

    +

    需要线下查阅?
    + +

    + \ No newline at end of file diff --git a/docs/代码库管理/分支管理.md b/docs/代码库管理/分支管理.md index ff803a5..2526274 100644 --- a/docs/代码库管理/分支管理.md +++ b/docs/代码库管理/分支管理.md @@ -2,12 +2,20 @@ sidebar_label: '分支管理' sidebar_position: 5 --- - ### **1. 查看分支** +### **1. 查看分支** 在代码库栏下,如下图所示,用户可以点击代码库分支从而查看当前项目的所有分支,并且选择对其进行操作。 -![](../../static/img/代码库管理/分支管理/分支管理方式1.jpg)
    +![](/img/代码库管理/分支管理/分支管理方式1.jpg)
    - ### **2. 合并分支** +### **2. 合并分支** 在“和并请求(PR)”下点击“新建合并请求”后, -![](../../static/img/代码库管理/分支管理/分支管理方式3.png)
    +![](/img/代码库管理/分支管理/分支管理方式3.png)
    如下图所示,用户可以选择源分支与目标分支以及填写分支信息后提交分支合并请求。 -![](../../static/img/代码库管理/分支管理/分支管理方式2.png)
    \ No newline at end of file +![](/img/代码库管理/分支管理/分支管理方式2.png)
    + +
    + +

    文档下载/打印

    +

    需要线下查阅?
    + +

    + \ No newline at end of file diff --git a/docs/代码库管理/成员管理.md b/docs/代码库管理/成员管理.md index cbf6199..964a80a 100644 --- a/docs/代码库管理/成员管理.md +++ b/docs/代码库管理/成员管理.md @@ -4,20 +4,27 @@ sidebar_position: 7 --- ### **1. 成员管理入口** 在仓库主页,点击“仓库设置”按键,再点击”成员管理“按键,即可进入成员管理模块,如下图所示。 -![](../../static/img/代码库管理/成员管理/成员管理入口.png)
    +![](/img/代码库管理/成员管理/成员管理入口.png)
    ### **2. 筛选、搜索项目成员** 进入成员管理模块后,可以通过”角色筛选“按键来筛选项目成员类型,通过”搜索“按键可以检索具体的项目成员,如下图所示。 -![](../../static/img/代码库管理/成员管理/筛选、搜索项目成员.png)
    +![](/img/代码库管理/成员管理/筛选、搜索项目成员.png)
    ### **3. 筛选、搜索项目成员** 进入成员管理模块后,可以通过”添加成员“按键来添加项目成员,左侧搜索框检索到具体用户并选中后,单击”添加成员“按键即可成功添加项目成员。 -![](../../static/img/代码库管理/成员管理/添加成员.png)
    +![](/img/代码库管理/成员管理/添加成员.png)
    ### **4. 项目成员权限管理** 进入成员管理模块后,单击项目成员右侧的角色栏,可以选择赋予该名项目成员的权限等级,如下图所示。 -![](../../static/img/代码库管理/成员管理/项目成员权限管理.png)
    +![](/img/代码库管理/成员管理/项目成员权限管理.png)
    ### **5. 删除项目成员** 进入成员管理模块后,单击项目成员右侧的”删除“按键,可以删除改名项目成员,如下图所示。 -![](../../static/img/代码库管理/成员管理/删除项目成员.png)
    +![](/img/代码库管理/成员管理/删除项目成员.png)
    + +
    + +

    文档下载/打印

    +

    需要线下查阅?
    + +

    diff --git a/docs/代码库管理/文件管理.md b/docs/代码库管理/文件管理.md index bc03229..3a6350e 100644 --- a/docs/代码库管理/文件管理.md +++ b/docs/代码库管理/文件管理.md @@ -4,16 +4,23 @@ sidebar_position: 4 --- ### **1. 文件管理位置** 在代码库界面,可直接对代码库中该分支下的文件进行操作,如下图所示。 -![](../../static/img/代码库管理/文件管理/文件管理入口.png)
    +![](/img/代码库管理/文件管理/文件管理入口.png)
    ### **2. 进入目录** 点击进入相关目录,找到要编辑的文件,如下图所示。 -![](../../static/img/代码库管理/文件管理/进入文件所在目录.png)
    +![](/img/代码库管理/文件管理/进入文件所在目录.png)
    ### **3. 进入文件编辑页面** 在线编辑文件,单击文件,即可进入编辑文件页面,如下图所示。 -![](../../static/img/代码库管理/文件管理/进入文件编辑界面.png)
    +![](/img/代码库管理/文件管理/进入文件编辑界面.png)
    ### **4. 编辑文件** 编辑界面右侧有三个按钮,分别是“下载”、“编辑”和“删除”,点击下载即可将文件下载到本地,编辑则可在线编辑文档,删除则将文件从代码库中删除,按钮位置如下图所示。 -![](../../static/img/代码库管理/文件管理/文件编辑按钮.png)
    \ No newline at end of file +![](/img/代码库管理/文件管理/文件编辑按钮.png)
    + +
    + +

    文档下载/打印

    +

    需要线下查阅?
    + +

    \ No newline at end of file diff --git a/docs/代码库管理/标签和发行版管理.md b/docs/代码库管理/标签和发行版管理.md index 44e0ae7..ae7e408 100644 --- a/docs/代码库管理/标签和发行版管理.md +++ b/docs/代码库管理/标签和发行版管理.md @@ -4,26 +4,33 @@ sidebar_position: 6 --- ### **1. 标签和发行版管理入口** 在仓库主页,点击“代码库”按键,再点击”标签“按键,即可进入标签和发行版管理模块,如下图所示。 -![](../../static/img/代码库管理/标签和发行版管理/标签和发行版管理入口.png)
    +![](/img/代码库管理/标签和发行版管理/标签和发行版管理入口.png)
    ### **2. 删除标签** -进入标签和发行版管理模块后,点击标签右侧“删除”按键,即可实现对标签的删除操作,如下图所示。 -![](../../static/img/代码库管理/标签和发行版管理/删除标签.png)
    +进入标签和发行版管理模块后,点击发行版右侧的删除按钮,删除发行版。再点击标签右侧“删除”按键,即可实现对标签的删除操作,如下图所示。 +![](/img/代码库管理/标签和发行版管理/删除标签.png)
    ### **3. 查看发行版** 进入标签和发行版管理模块后,点击”发行版”按键即可查看项目的发行版,如下图所示。 -![](../../static/img/代码库管理/标签和发行版管理/查看发行版.png)
    +![](/img/代码库管理/标签和发行版管理/查看发行版.png)
    ### **4. 创建发行版** 进入标签和发行版管理模块后,点击标签右侧”创建发行版”按键,即可快速创建绑定该标签的发行版,如下图所示。 -![](../../static/img/代码库管理/标签和发行版管理/发布新版本.png)
    +![](/img/代码库管理/标签和发行版管理/发布新版本.png)
    ### **5. 修改发行版** 进入标签和发行版管理模块后,点击发行版右侧的修改按键,即可进入发行版的修改页面,如下图所示。完成发行版的修改后,单击”保存发行版“按键即可保存修改内容。 -![](../../static/img/代码库管理/标签和发行版管理/修改发行版.png)
    -![](../../static/img/代码库管理/标签和发行版管理/发行版修改页面.png)
    +![](/img/代码库管理/标签和发行版管理/修改发行版.png)
    +![](/img/代码库管理/标签和发行版管理/发行版修改页面.png)
    ### **6. 删除发行版** 进入标签和发行版管理模块后,点击发行版右侧的删除按键,即可进入发行版的删除页面,如下图所示。 -![](../../static/img/代码库管理/标签和发行版管理/删除发行版.png)
    +![](/img/代码库管理/标签和发行版管理/删除发行版.png)
    + +
    + +

    文档下载/打印

    +

    需要线下查阅?
    + +

    \ No newline at end of file diff --git a/docs/合并请求/代码评审.md b/docs/合并请求/代码评审.md index 6f99645..f266af9 100644 --- a/docs/合并请求/代码评审.md +++ b/docs/合并请求/代码评审.md @@ -2,12 +2,18 @@ sidebar_label: '代码评审' sidebar_position: 3 --- - # 代码评审 - ### **1. 进入代码评审** +### **1. 进入代码评审** 如下图所示,点击“代码评审”按钮可以进入代码评审 -![](../../static/img/PR/进入代码评审.png)
    +![](/img/PR/进入代码评审.png)
    ### **2. 代码评审界面** 如下图所示,用户可以在该界面下查看该PR操作要合并的新的代码,并对其进行评审。 -![](../../static/img/PR/具体代码评审.png)
    +![](/img/PR/具体代码评审.png)
    +
    + +

    文档下载/打印

    +

    需要线下查阅?
    + +

    + \ No newline at end of file diff --git a/docs/合并请求/创建合并请求.md b/docs/合并请求/创建合并请求.md index ce7059e..9a82417 100644 --- a/docs/合并请求/创建合并请求.md +++ b/docs/合并请求/创建合并请求.md @@ -19,4 +19,11 @@ sidebar_position: 2 5. 最后信息填写完毕后,点击底部的“**创建**”按钮即可提交您的第一个合并请求了🎉🎉🎉! -![创建合并请求](/img/PR/imagePR4.png) \ No newline at end of file +![创建合并请求](/img/PR/imagePR4.png) +
    + +

    文档下载/打印

    +

    需要线下查阅?
    + +

    + \ No newline at end of file diff --git a/docs/合并请求/合并模式简介.md b/docs/合并请求/合并模式简介.md index c8d0750..f6ee488 100644 --- a/docs/合并请求/合并模式简介.md +++ b/docs/合并请求/合并模式简介.md @@ -97,4 +97,11 @@ sidebar_position: 4 ![提交后](/img/PR/imagePR15.png) -**总结**:在合并前,先对开发分支上的琐碎提交进行压缩,可以使`master`分支上的提交信息更简洁,但是要注意,这种合并模式本质上是`master`分支一次性保存`dev`上的变更,并创建新的提交记录这些变更,所以提交者发生了变化! \ No newline at end of file +**总结**:在合并前,先对开发分支上的琐碎提交进行压缩,可以使`master`分支上的提交信息更简洁,但是要注意,这种合并模式本质上是`master`分支一次性保存`dev`上的变更,并创建新的提交记录这些变更,所以提交者发生了变化! +
    + +

    文档下载/打印

    +

    需要线下查阅?
    + +

    + \ No newline at end of file diff --git a/docs/合并请求/合并请求关联疑修.md b/docs/合并请求/合并请求关联疑修.md index ac29313..bb40085 100644 --- a/docs/合并请求/合并请求关联疑修.md +++ b/docs/合并请求/合并请求关联疑修.md @@ -3,4 +3,66 @@ sidebar_label: '合并请求关联疑修' sidebar_position: 5 --- -# 合并请求关联疑修 \ No newline at end of file + + +# 合并请求关联疑修 + +将合并请求(Merge Request, MR)与相关的疑修(Issue)进行关联,是现代代码协作与项目管理中的一项重要实践。通过关联,可以清晰地追踪代码变更是为了解决哪个问题或实现哪个需求,并在合并请求被接受后自动更新或关闭相应的疑修,从而提高开发流程的透明度和效率。 + +GitLink 平台支持多种方式将合并请求与疑修关联起来。 + +### 关联方式 + +#### 1. 通过提交信息自动关联和关闭疑修 +当您的提交信息(commit message)中包含特定关键词和疑修编号时,GitLink 可以在该提交被推送到合并请求的源分支,并且该合并请求最终被合并时,自动关联并关闭相应的疑修。 + +*   **支持的关键词**: +    *   `close`, `closes`, `closed` +    *   `fix`, `fixes`, `fixed` +    *   `resolve`, `resolves`, `resolved` +    *   (请注意:具体支持的关键词可能因平台配置而略有不同,请参考最新的官方说明或在平台测试。) +*   **使用方法**: +    在提交信息中,使用上述任一关键词后跟 `#疑修编号`。 +    例如:`git commit -m "修复用户头像上传失败的问题,fixes #42"` +    或者:`git commit -m "完成新用户注册流程,closes #101, closes #105"` +*   **效果**: +    当包含这些提交的合并请求被成功合并后,编号为 `#42`、`#101` 和 `#105` 的疑修状态会自动变更为"已关闭"或您平台设定的相应状态,并且合并请求会自动与这些疑修建立链接。 + + +#### 2. 在创建或编辑合并请求时手动关联疑修 +您也可以在创建新的合并请求或编辑已有的合并请求时,手动指定要关联的疑修。 + +*   **操作步骤**: +    1.  在 GitLink 平台上,导航至您的项目,然后点击"合并请求"选项卡。 +    2.  点击"新建合并请求"按钮,或选择一个已有的合并请求进入编辑模式。 +    3.  在合并请求的表单中,找到"关联疑修" (Linked Issues / Related Issues) 或类似的区域。这通常是一个输入框或下拉选择器。 +    4.  输入您想要关联的疑修编号 (例如 `#123`) 或部分标题进行搜索。 +    5.  从搜索结果中选择正确的疑修进行关联。您可以关联一个或多个疑修。 +    6.  保存合并请求。 +*   **效果**: +    选定的疑修将与该合并请求建立链接。在合并请求页面和疑修页面都可以看到这种关联关系。手动关联的疑修通常不会因为合并请求的合并而自动关闭,除非您同时使用了提交关键词或在合并时手动选择了关闭。 + +### 查看已关联的疑修 + +一旦合并请求与疑修成功关联,您可以在以下位置查看这些关联信息: + +*   **合并请求详情页**:会有一个专门的区域或标签页显示所有链接到此合并请求的疑修列表,并通常会展示这些疑修的当前状态(如:开启、进行中、已关闭)。 +*   **疑修详情页**:同样地,在疑修的详情页面,也会显示所有引用或关联到此疑修的合并请求列表。这有助于了解该疑修的进展和相关的代码变更。 + +### 关联疑修的益处 + +*   **提升透明度**:团队成员可以轻松理解代码变更的目的和背景。 +*   **加强可追溯性**:从需求/问题到代码实现再到合并的全程可追溯。 +*   **自动化项目管理**:自动关闭已解决的疑修,减少人工操作,确保信息同步。 +*   **优化协作流程**:便于开发人员、测试人员和项目经理之间的沟通与协作。 + +通过有效地使用合并请求关联疑修功能,您的团队可以显著提升开发效率和项目管理水平。 + + +
    + +

    文档下载/打印

    +

    需要线下查阅?
    + +

    + \ No newline at end of file diff --git a/docs/合并请求/合并请求简介.md b/docs/合并请求/合并请求简介.md index 9bb4295..cda71fe 100644 --- a/docs/合并请求/合并请求简介.md +++ b/docs/合并请求/合并请求简介.md @@ -15,4 +15,11 @@ GitLink中的 **合并请求(PR)** 模块提供合并请求创建和管理两方 如下图所示为合并请求(PR)管理模块: -![合并请求管理模块](/img/PR/imagePR1.png) \ No newline at end of file +![合并请求管理模块](/img/PR/imagePR1.png) +
    + +

    文档下载/打印

    +

    需要线下查阅?
    + +

    + \ No newline at end of file diff --git a/docs/平台公告/平台公告.md b/docs/平台公告/平台公告.md index 3b451a8..fe0d341 100644 --- a/docs/平台公告/平台公告.md +++ b/docs/平台公告/平台公告.md @@ -1,4 +1,49 @@ --- sidebar_label: '平台公告' sidebar_position: 1 ---- \ No newline at end of file +--- + +尊敬的 GitLink 用户: + +感谢您一直以来的支持!为提升您的使用体验,我们对平台进行了全面升级,以下是重点更新内容: + +### 一、功能升级 +**代码托管与管理**:优化代码仓库性能,提升读写速度;增强分支管理功能,支持高级配置;改进代码搜索算法,精准定位代码片段。 + +**代码协作与沟通**:完善团队权限管理,新增团队动态消息;改进代码审查流程,增加行内评论等功能;整合即时通讯工具,便捷实时沟通。 + +**项目管理与工具集成**:完善项目管理功能,支持自定义里程碑;优化 CI/CD 集成,简化自动化流程配置;扩展第三方工具集成,实现一站式开发管理。 + +### 二、用户体验优化 +**界面优化**:采用简洁现代设计,优化布局与交互;新增个性化设置,支持自定义界面风格;改进响应式设计,适配多设备访问。 + +**性能优化**:提升页面加载速度,优化服务器架构;增强平台稳定性,保障不间断运行。 + +**帮助与支持**:优化新手引导,提供详细教程;更新在线帮助文档,增加实用指南;升级客服支持,提供多种联系方式。 + +### 三、数据安全与隐私保护 +**数据加密**:采用加密技术,确保数据存储与传输安全。 + +**安全监控**:建立安全审计机制,实时监测并处理安全事件。 + +**隐私政策**:更新隐私政策,明确数据收集与保护措施。 + +### 四、未来规划 +**持续创新**:推出人工智能辅助开发等功能,优化现有功能。 + +**社区建设**:加强社区互动,举办技术活动,提升用户支持。 + +**国际化布局**:支持多语言界面,拓展国际用户群体。 + +如有任何问题或建议,请随时反馈。我们将持续努力,为您提供更优质的服务! + +**GitLink 团队** +**2025年05月31日** + +
    + +

    文档下载/打印

    +

    需要线下查阅?
    + +

    + \ No newline at end of file diff --git a/docs/平台公告/更新日志.md b/docs/平台公告/更新日志.md new file mode 100644 index 0000000..b8fffcc --- /dev/null +++ b/docs/平台公告/更新日志.md @@ -0,0 +1,34 @@ +--- +sidebar_label: '更新日志' +sidebar_position: 2 +--- + +# 更新日志 / 新功能速览 + +本专栏用于展示平台的最新功能、重要更新和版本迭代内容,帮助用户第一时间了解平台的进步与变化。 + +--- + +## 2024-06-XX +- 新增"全部文档一键导出PDF"功能,支持批量下载帮助文档。 +- 新增"代码安全与合规实操指引",提升代码安全与合规管理能力。 +- 活动赛事专栏独立展示,便于用户关注平台赛事动态。 +- 优化帮助中心文档结构,提升检索与阅读体验。 + +--- + +## 2024-05-XX +- 平台支持第三方服务集成,开放API文档。 +- 增强DevOps引擎流水线功能,支持更多触发器类型。 + +--- +## 2025.6.3课上汇报新加内容测试流水线 + +> 更多历史更新内容,敬请持续关注本专栏。 + +--- + +

    文档下载/打印

    +

    需要线下查阅?
    + +

    \ No newline at end of file diff --git a/docs/快速开始/创建第一个开源项目.md b/docs/快速开始/创建第一个开源项目.md index b18cc64..afca983 100644 --- a/docs/快速开始/创建第一个开源项目.md +++ b/docs/快速开始/创建第一个开源项目.md @@ -22,3 +22,10 @@ sidebar_position: 2 点击创建项目,创建成功后进入项目主页。 ![](/img/quickstart/create_success.png) +
    + +

    文档下载/打印

    +

    需要线下查阅?
    + +

    + diff --git a/docs/快速开始/导入GitHub等第三方Git项目.md b/docs/快速开始/导入GitHub等第三方Git项目.md index 5a94b2e..677de89 100644 --- a/docs/快速开始/导入GitHub等第三方Git项目.md +++ b/docs/快速开始/导入GitHub等第三方Git项目.md @@ -89,4 +89,11 @@ sidebar_position: 5 迁移成功则导入项目成功 -![](/img/quickstart/import_success.png) \ No newline at end of file +![](/img/quickstart/import_success.png) +
    + +

    文档下载/打印

    +

    需要线下查阅?
    + +

    + \ No newline at end of file diff --git a/docs/快速开始/提交第一行代码.md b/docs/快速开始/提交第一行代码.md index 1436b02..5d30bfd 100644 --- a/docs/快速开始/提交第一行代码.md +++ b/docs/快速开始/提交第一行代码.md @@ -19,4 +19,11 @@ sidebar_position: 3 ## 3. 代码更新成功 -提交成功后代码代码更新成功。![](/img/quickstart/first_success.png) \ No newline at end of file +提交成功后代码代码更新成功。![](/img/quickstart/first_success.png) +
    + +

    文档下载/打印

    +

    需要线下查阅?
    + +

    + \ No newline at end of file diff --git a/docs/快速开始/搜索开源项目.md b/docs/快速开始/搜索开源项目.md index d584762..5ca5cf6 100644 --- a/docs/快速开始/搜索开源项目.md +++ b/docs/快速开始/搜索开源项目.md @@ -13,7 +13,7 @@ sidebar_position: 4 ![](/img/quickstart/search_homepage.png) -右侧展示了所有项目的基本信息,包括创建者、项目名、项目简介、浏览量、项目类别、更新时间、点赞数量、Fork 数量等信息,用户可以通过关键字搜索查找特定的项目,也可以按照更新时间、创建时间、Fork 数量、点赞数量等对项目进行排序。 +右侧展示了所有项目的基本信息,包括创建者、项目名、项目简介、项目类别、更新时间、点赞数量、Fork 数量等信息,用户可以通过关键字搜索查找特定的项目,也可以按照更新时间、创建时间、Fork 数量、点赞数量等对项目进行排序。 ![](/img/quickstart/search_list.png) @@ -41,4 +41,11 @@ sidebar_position: 4 搜索结果: -![](/img/quickstart/search_result2.png) \ No newline at end of file +![](/img/quickstart/search_result2.png) +
    + +

    文档下载/打印

    +

    需要线下查阅?
    + +

    + \ No newline at end of file diff --git a/docs/快速开始/注册GitLink账号.md b/docs/快速开始/注册GitLink账号.md index 5b3cadf..a1dbf03 100644 --- a/docs/快速开始/注册GitLink账号.md +++ b/docs/快速开始/注册GitLink账号.md @@ -25,3 +25,10 @@ sidebar_position: 1 ![](/img/quickstart/register_ownpage.png) +
    + +

    文档下载/打印

    +

    需要线下查阅?
    + +

    + \ No newline at end of file diff --git a/docs/服务协议/GitLink服务协议.md b/docs/服务协议/GitLink服务协议.md index 607cc59..e1696af 100644 --- a/docs/服务协议/GitLink服务协议.md +++ b/docs/服务协议/GitLink服务协议.md @@ -31,4 +31,12 @@ sidebar_position: 1 GitLink团队保留在必要时对本协议修改的权利,一旦发生变动,这些条款可由GitLink团队及时更新,且毋须另行通知,修改后的条款一旦在网页上公布即有效代替原来的服务条款。您可随时查阅最新版服务条款。 -本协议最终解释权归GitLink团队所有。 \ No newline at end of file +本协议最终解释权归GitLink团队所有。 + +
    + +

    文档下载/打印

    +

    需要线下查阅?
    + +

    + \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/权限与安全/_category_.json b/docs/权限与安全/_category_.json similarity index 100% rename from versioned_docs/version-1.1.0/权限与安全/_category_.json rename to docs/权限与安全/_category_.json diff --git a/versioned_docs/version-1.1.0/权限与安全/权限与安全说明.md b/docs/权限与安全/权限与安全说明.md similarity index 100% rename from versioned_docs/version-1.1.0/权限与安全/权限与安全说明.md rename to docs/权限与安全/权限与安全说明.md diff --git a/versioned_docs/version-1.1.0/活动赛事/赛事专栏.md b/docs/活动赛事/赛事专栏.md similarity index 100% rename from versioned_docs/version-1.1.0/活动赛事/赛事专栏.md rename to docs/活动赛事/赛事专栏.md diff --git a/docs/疑修/标记管理.md b/docs/疑修/标记管理.md index 062fc3c..3164aff 100644 --- a/docs/疑修/标记管理.md +++ b/docs/疑修/标记管理.md @@ -21,4 +21,11 @@ GitLink默认疑修共有缺陷、功能、疑问、支持、任务、协助、 ![](/img/Issue/imageIssue14.png) 另外,**项目成员**可以根据需求或习惯,进行标记含义或颜色标志的修改、新建标记和删除标记操作。 -![](/img/Issue/imageIssue15.png) \ No newline at end of file +![](/img/Issue/imageIssue15.png) +
    + +

    文档下载/打印

    +

    需要线下查阅?
    + +

    + \ No newline at end of file diff --git a/docs/疑修/疑修列表.md b/docs/疑修/疑修列表.md index 5ac8734..b0dc648 100644 --- a/docs/疑修/疑修列表.md +++ b/docs/疑修/疑修列表.md @@ -10,4 +10,11 @@ sidebar_position: 4 + **创建疑修**:在疑修列表界面下,点击“**创建疑修**”按钮,同样可以创建疑修,具体见 ***疑修创建*** 一节; -+ **筛选疑修**:疑修列表支持不同条件筛选,包括发布人、标记(见 ***标记管理*** 一节)、里程碑(见 ***里程碑管理*** 一节),负责人、状态和开始/结束日期等;同时支持关键字搜索,以及按多种排序规则对疑修进行排序。 \ No newline at end of file ++ **筛选疑修**:疑修列表支持不同条件筛选,包括发布人、标记(见 ***标记管理*** 一节)、里程碑(见 ***里程碑管理*** 一节),负责人、状态和开始/结束日期等;同时支持关键字搜索,以及按多种排序规则对疑修进行排序。 +
    + +

    文档下载/打印

    +

    需要线下查阅?
    + +

    + \ No newline at end of file diff --git a/docs/疑修/疑修创建.md b/docs/疑修/疑修创建.md index 0c2d9fe..8cb94d3 100644 --- a/docs/疑修/疑修创建.md +++ b/docs/疑修/疑修创建.md @@ -19,3 +19,10 @@ sidebar_position: 2 ![](/img/Issue/imageIssue7.png) +
    + +

    文档下载/打印

    +

    需要线下查阅?
    + +

    + \ No newline at end of file diff --git a/docs/疑修/疑修状态变更.md b/docs/疑修/疑修状态变更.md index 7984618..ab57156 100644 --- a/docs/疑修/疑修状态变更.md +++ b/docs/疑修/疑修状态变更.md @@ -16,4 +16,11 @@ sidebar_position: 3 + **关闭**:已被解决或者没有必要继续开启的疑修,可被设置为“关闭”; -+ **拒绝**:若被指派解决疑修的开发者拒绝处理该疑修,则可把疑修设置为“拒绝”状态❌。 \ No newline at end of file ++ **拒绝**:若被指派解决疑修的开发者拒绝处理该疑修,则可把疑修设置为“拒绝”状态❌。 +
    + +

    文档下载/打印

    +

    需要线下查阅?
    + +

    + \ No newline at end of file diff --git a/docs/疑修/疑修简介.md b/docs/疑修/疑修简介.md index fec3dc0..755ea43 100644 --- a/docs/疑修/疑修简介.md +++ b/docs/疑修/疑修简介.md @@ -15,3 +15,11 @@ sidebar_position: 1 2. **疑修**的默认类型(标记)包括缺陷、功能、任务、支持、周报等,具体见 ***标记管理*** 一节; 3. 可以为**疑修**设置开始和结束时间,并指定负责解决该任务的负责人,在疑修截止日期的前一天,系统将自动为任务的发布者和被指派人发送提醒消息。 + +
    + +

    文档下载/打印

    +

    需要线下查阅?
    + +

    + \ No newline at end of file diff --git a/docs/疑修/评论及操作记录.md b/docs/疑修/评论及操作记录.md index 80548e2..6db4d36 100644 --- a/docs/疑修/评论及操作记录.md +++ b/docs/疑修/评论及操作记录.md @@ -15,4 +15,11 @@ sidebar_position: 5 ### 操作记录 所有人都可以创建疑修,但是要注意,非项目成员仅可以修改自己创建的疑修,而项目成员有权限修改所有的疑修。 对于某个疑修的所有编辑操作,包括**创建疑修、添加负责人、移除负责人、更改状态、更改优先级、添加标记、移除标记、添加里程碑、移除里程碑、设置关联分支、移除关联分支、设置开始日期和设置结束日期**,均被记录在操作记录中。 -![](/img/Issue/imageIssue13.png) \ No newline at end of file +![](/img/Issue/imageIssue13.png) +
    + +

    文档下载/打印

    +

    需要线下查阅?
    + +

    + \ No newline at end of file diff --git a/docs/疑修/里程碑管理.md b/docs/疑修/里程碑管理.md index 68e37c7..e253e39 100644 --- a/docs/疑修/里程碑管理.md +++ b/docs/疑修/里程碑管理.md @@ -31,4 +31,11 @@ sidebar_position: 7 上述操作均可以在里程碑列表中,对目标里程碑进行处理实现,如下图所示: ![](/img/Issue/imageIssue19.png) -![](/img/Issue/imageIssue20.png) \ No newline at end of file +![](/img/Issue/imageIssue20.png) +
    + +

    文档下载/打印

    +

    需要线下查阅?
    + +

    + \ No newline at end of file diff --git a/docs/第三方服务/WebIDE.md b/docs/第三方服务/WebIDE.md index ac974e1..b869a10 100644 --- a/docs/第三方服务/WebIDE.md +++ b/docs/第三方服务/WebIDE.md @@ -9,20 +9,20 @@ sidebar_position: 9 ## Web IDE 核心能力 对标有容器的标准版,极速版 IDE 主要在读、写、运行、提交等方面进行了探索: -**1. 读:** + **1. 读:** - a. 适配了多种代码托管平台,例如 Gitlink、Github、Gitlab 等代码托管平台,业务可以非常方便的使用代码服务的能力 - b. 内置了包括 Java、TS/JS、C++、Go、Python、Rust 等几十种常见语言的语法高亮支持 - c. 支持了如 Git Blame、GitGraph 等代码阅读辅助插件 -**2. 写:** + **2. 写:** - a. 支持 HTML/CSS/JS/Markdown 等在线语言服务能力,支持错误诊断能力 - b. 浏览器文件系统 -**3. 运行:** + **3. 运行:** - a. 支持基于 Skypack 的前端代码运行方案 - b. 支持基于 Pyodide 的 Python 运行 -**4. 提交:** + **4. 提交:** - a. 支持 WebSCM,提供分支切换/新增、代码提交等能力 如果说以 CodeMirror、Monaco 为代表的浏览器 IDE 组件为 Web IDE 1.0,那拥有上述能力的极速版 Web IDE 就是 Web IDE 2.0。极速版 Web IDE 方案在蚂蚁内部与 2021 年 4 月上线,承接了代码阅读、代码评审、在线笔试、代码检查结果反馈、轻量在线研发等众多场景,同年 8 月 vscode.dev 和 github.dev 上线,与之相比,极速版 Web IDE 利用 OpenSumi 框架的高扩展性,业务可以更加深度的定制模块与插件,让业务有多的想象空间。 @@ -72,7 +72,7 @@ Gitlink 代码阅读场景虽然接入极速版 IDE 编辑器,但文件树、 ![](/img/di_san_fang/WebIDE/JS语言服务提示.png)
    JS语言服务提示
    -- 3.提供了 Java、Go、Python、C++、Php 的在线语言服务能力,支持简单的定义跳转、查找引用等功能,让大家更加方便的阅读代码 +- 3. 提供了 Java、Go、Python、C++、Php 的在线语言服务能力,支持简单的定义跳转、查找引用等功能,让大家更加方便的阅读代码 ![](/img/di_san_fang/WebIDE/python查看引用.png)
    Python 查看引用
    @@ -119,4 +119,11 @@ Gitlink 代码阅读场景虽然接入极速版 IDE 编辑器,但文件树、 随着 Webassembly 技术的发展,一些后端语言也可以运行在浏览器里,在 2021 年 Google IO 大会上,StackBlitz 展示了他们最近做的技术:WebContainer,该能力可以将语言运行时编译为 Webassembly 从而运行在浏览器上。Code-Runner-For-Web 插件结合 Pyodide,已经将 Python 的运行搬到了浏览器上,新版极速版也默认集成了该插件。 ![](/img/di_san_fang/WebIDE/Python代码运行.png) -
    Python代码运行
    \ No newline at end of file +
    Python代码运行
    +
    + +

    文档下载/打印

    +

    需要线下查阅?
    + +

    + \ No newline at end of file diff --git a/docs/第三方服务/跨平台代码同步.md b/docs/第三方服务/跨平台代码同步.md index c63abac..d3ff387 100644 --- a/docs/第三方服务/跨平台代码同步.md +++ b/docs/第三方服务/跨平台代码同步.md @@ -8,46 +8,46 @@ sidebar_position: 2 跨平台仓库代码同步服务用于不同代码托管平台之间的仓库代码双向同步功能。用户将不同平台的仓库分支进行绑定,当任意仓库分支有push事件被webhook监听时,代码推送将实时自动同步至另一个仓库,以实现不同平台之间分支、提交信息的自动同步(代码托管平台仅限于github与gitee)。 -![1.同步流程](../../static/img/reposyncer/1.同步流程.png) +![1.同步流程](/img/reposyncer/1.同步流程.png) 同步服务既满足双平台代码库分支同步需求,也支持最多创建三个平台的代码仓库同步,如下图所示 -![2.同步方式](../../static/img/reposyncer/2.同步方式.png) +![2.同步方式](/img/reposyncer/2.同步方式.png) ### 配置双向同步 1、进入需要创建同步的代码库“服务”tab,开通跨平台代码同步服务。 -![3.开启跨平台服务](../../static/img/reposyncer/3.开启跨平台服务.png) +![3.开启跨平台服务](/img/reposyncer/3.开启跨平台服务.png) 2、配置跨平台的同步仓库,支持github和gitee。需输入代码库地址(git地址和网站访问地址均支持),以及配置对应token用于授权同步,此处须注意token的权限以及是否过期。
    Github配置方式为:个人头像→Settings→Developer Settings→Personal access tokens (classic)→Generate new token→勾选repo按钮→保存
    Gitee配置方式为:个人头像→设置→私人令牌→生成新令牌→勾选projects权限→提交 -![4.配置同步仓库](../../static/img/reposyncer/4.配置同步仓库.jpg) +![4.配置同步仓库](/img/reposyncer/4.配置同步仓库.jpg) 3、在首次创建同步仓库时,需要用户手动在目标仓库的代码库创建一条webhook,用于监听仓库push事件,从而向其他同步仓库推送代码完成同步,同步步骤如下: ①点击“复制链接”按钮,复制平台用于接收webhook请求的地址 -![5.配置webhook](../../static/img/reposyncer/5.配置webhook.jpg) +![5.配置webhook](/img/reposyncer/5.配置webhook.jpg) ②访问点击前往按钮前往目标仓库webhook页新建一个webhook,以github为例 -![6.webhook示例](../../static/img/reposyncer/6.webhook示例.png) +![6.webhook示例](/img/reposyncer/6.webhook示例.png) ③粘贴链接,并确保该webhook支持push事件的监听,并已经成功激活 -![7.webhook配置规则](../../static/img/reposyncer/7.webhook配置规则.png) +![7.webhook配置规则](/img/reposyncer/7.webhook配置规则.png) 4、完成仓库配置绑定后,需要绑定这两个仓库的指定同步分支,建立首次同步方向。注:首次同步的策略为单向代码强推,请谨慎选择同步方向开启同步以避免代码被覆盖 -![8.绑定分支](../../static/img/reposyncer/8.绑定分支.jpg) +![8.绑定分支](/img/reposyncer/8.绑定分支.jpg) 5、完成分支的绑定,在绑定后会根据选择的同步方向立即执行一次同步。后续webhook监听到任意分支有代码推送,会实时向另一个绑定分支同步代码推送代码 -![9.确认绑定](../../static/img/reposyncer/9.确认绑定.jpg) +![9.确认绑定](/img/reposyncer/9.确认绑定.jpg) ### 管理同步分支 @@ -60,7 +60,7 @@ Gitee配置方式为:个人头像→设置→私人令牌→生成新令牌→ ⑤查询同步记录,包括查看历次同步的代码变更方,同步时间,同步状态及对应commt id,查询同步日志。
    ⑥中止、开启同步,相当于同步开关,可随时启停 -![同步分支管理](../../static/img/reposyncer/同步分支管理.png) +![同步分支管理](/img/reposyncer/同步分支管理.png) ### 注意事项 @@ -70,4 +70,10 @@ Gitee配置方式为:个人头像→设置→私人令牌→生成新令牌→ 4、在配置过程中,请仔细检查其他平台webhook的监听事件中是否包含了push事件,以及webhook是否已激活 +
    +

    文档下载/打印

    +

    需要线下查阅?
    + +

    + diff --git a/docs/第三方服务/重睛鸟代码溯源.md b/docs/第三方服务/重睛鸟代码溯源.md index 83d1542..70380b9 100644 --- a/docs/第三方服务/重睛鸟代码溯源.md +++ b/docs/第三方服务/重睛鸟代码溯源.md @@ -5,24 +5,24 @@ sidebar_position: 1 ## 代码分析入口 -![](../../static/img/di_san_fang/重晴鸟代码溯源/代码分析入口.png)
    +![](/img/di_san_fang/重晴鸟代码溯源/代码分析入口.png)
    代码分析入口

    页面说明:
    1、用户可点击"服务"菜单 tab 进入服务页面。
    2、仓库管理员可在"仓库设置" tab 中项目导航处开启/关闭代码分析菜单可见性,如下图:
    -![](../../static/img/di_san_fang/重晴鸟代码溯源/项目导航.png)
    +![](/img/di_san_fang/重晴鸟代码溯源/项目导航.png)
    项目导航

    ## 代码分析检测 -![](../../static/img/di_san_fang/重晴鸟代码溯源/代码分析检测.png)
    +![](/img/di_san_fang/重晴鸟代码溯源/代码分析检测.png)
    代码分析检测

    -![](../../static/img/di_san_fang/重晴鸟代码溯源/新建分析.png)
    +![](/img/di_san_fang/重晴鸟代码溯源/新建分析.png)
    新建分析

    页面说明:
    @@ -32,7 +32,7 @@ sidebar_position: 1 ## 分支选择 -![](../../static/img/di_san_fang/重晴鸟代码溯源/分支选择.png)
    +![](/img/di_san_fang/重晴鸟代码溯源/分支选择.png)
    分支选择

    页面说明:
    @@ -42,7 +42,7 @@ sidebar_position: 1 ## 列表展示 -![](../../static/img/di_san_fang/重晴鸟代码溯源/列表展示.png)
    +![](/img/di_san_fang/重晴鸟代码溯源/列表展示.png)
    列表展示

    页面说明:
    @@ -52,7 +52,7 @@ sidebar_position: 1 ## 结果展示 -![](../../static/img/di_san_fang/重晴鸟代码溯源/结果展示.png)
    +![](/img/di_san_fang/重晴鸟代码溯源/结果展示.png)
    结果展示

    页面说明:
    @@ -62,6 +62,14 @@ sidebar_position: 1 ## 用户操作流程 -![](../../static/img/di_san_fang/重晴鸟代码溯源/用户操作流程(新).png)
    +![](/img/di_san_fang/重晴鸟代码溯源/用户操作流程.png)
    用户操作流程

    + +
    + +

    文档下载/打印

    +

    需要线下查阅?
    + +

    + \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/第三方集成详解/CI_CD集成与使用.md b/docs/第三方集成详解/CI_CD集成与使用.md similarity index 100% rename from versioned_docs/version-1.1.0/第三方集成详解/CI_CD集成与使用.md rename to docs/第三方集成详解/CI_CD集成与使用.md diff --git a/versioned_docs/version-1.1.0/第三方集成详解/WebIDE集成与使用.md b/docs/第三方集成详解/WebIDE集成与使用.md similarity index 100% rename from versioned_docs/version-1.1.0/第三方集成详解/WebIDE集成与使用.md rename to docs/第三方集成详解/WebIDE集成与使用.md diff --git a/versioned_docs/version-1.1.0/第三方集成详解/_category_.json b/docs/第三方集成详解/_category_.json similarity index 100% rename from versioned_docs/version-1.1.0/第三方集成详解/_category_.json rename to docs/第三方集成详解/_category_.json diff --git a/versioned_docs/version-1.1.0/第三方集成详解/代码溯源集成与使用.md b/docs/第三方集成详解/代码溯源集成与使用.md similarity index 100% rename from versioned_docs/version-1.1.0/第三方集成详解/代码溯源集成与使用.md rename to docs/第三方集成详解/代码溯源集成与使用.md diff --git a/docs/组织管理/组织创建及设置.md b/docs/组织管理/组织创建及设置.md index b39a71b..bcc6df7 100644 --- a/docs/组织管理/组织创建及设置.md +++ b/docs/组织管理/组织创建及设置.md @@ -8,7 +8,7 @@ sidebar_position: 2 ![](/img/Org/imageOrg1.png) - 在新建页面中输入**组织账号**、**组织名称**、**组织描述**、**所在地区**、**可见性**以及**组织头像**等信息后,点击“**创建组织**”按钮完成组织的创建。 + 在新建页面中输入**组织账号**、**组织名称**、**组织描述**、**所在地区**、以及**组织头像**等信息后,点击“**创建组织**”按钮完成组织的创建。 ![](/img/Org/imageOrg2.png) @@ -29,3 +29,11 @@ sidebar_position: 2 ![](/img/Org/imageOrg3.png) **注**:可见性预设三类组织:公开、受限(仅对登录用户可见)、私有(仅对组织成员可见)。 + +
    + +

    文档下载/打印

    +

    需要线下查阅?
    + +

    + \ No newline at end of file diff --git a/docs/组织管理/组织团队管理.md b/docs/组织管理/组织团队管理.md index ce0c356..1a19328 100644 --- a/docs/组织管理/组织团队管理.md +++ b/docs/组织管理/组织团队管理.md @@ -31,4 +31,10 @@ sidebar_position: 3 ![](/img/Org/imageOrg12.png) +
    +

    文档下载/打印

    +

    需要线下查阅?
    + +

    + diff --git a/docs/组织管理/组织成员管理.md b/docs/组织管理/组织成员管理.md index 8c78b2b..6365322 100644 --- a/docs/组织管理/组织成员管理.md +++ b/docs/组织管理/组织成员管理.md @@ -18,4 +18,11 @@ sidebar_position: 4 ![](/img/Org/imageOrg15.png) 此外,也可以复制邀请链接的方式来更方便地邀请成员加入到项目当中来 - **注**:此项功能仅对管理员可见 \ No newline at end of file + **注**:此项功能仅对管理员可见 +
    + +

    文档下载/打印

    +

    需要线下查阅?
    + +

    + \ No newline at end of file diff --git a/docs/组织管理/组织简介.md b/docs/组织管理/组织简介.md index f12bc3a..1c7c077 100644 --- a/docs/组织管理/组织简介.md +++ b/docs/组织管理/组织简介.md @@ -26,3 +26,11 @@ sidebar_position: 1 ## 作为组织成员 您可以通过组织与无限数量的人在多个项目中协作,与志同道合的人一起,通过分工和写作,参与开发流程,发布或处理问题。 + +
    + +

    文档下载/打印

    +

    需要线下查阅?
    + +

    + \ No newline at end of file diff --git a/docs/组织管理/组织项目管理.md b/docs/组织管理/组织项目管理.md index 2253db7..53062f9 100644 --- a/docs/组织管理/组织项目管理.md +++ b/docs/组织管理/组织项目管理.md @@ -10,3 +10,10 @@ sidebar_position: 5 **注**:在“拥有者”一栏的下拉选项中,可以选择:个人、组织、团队 +
    + +

    文档下载/打印

    +

    需要线下查阅?
    + +

    + \ No newline at end of file diff --git a/docs/维基/模板导入及导出.md b/docs/维基/模板导入及导出.md index 8245753..e731069 100644 --- a/docs/维基/模板导入及导出.md +++ b/docs/维基/模板导入及导出.md @@ -8,8 +8,14 @@ sidebar_position: 2 ## 模板的导入及导出管理 #### 1.模板导入 通过点击wiki界面的**导入模板**按钮即可导入本地的txt,markdown等格式文件进行Wiki文档的创建,当前平台此项功能尚在开发测试环节 -[](/img/wiki/img4.png) +![](/img/wiki/img4.png) #### 2.模板导出 当前平台此项功能尚在开发测试环节
    +
    +

    文档下载/打印

    +

    需要线下查阅?
    + +

    + \ No newline at end of file diff --git a/docs/维基/维基页面管理.md b/docs/维基/维基页面管理.md index 976a092..4735813 100644 --- a/docs/维基/维基页面管理.md +++ b/docs/维基/维基页面管理.md @@ -9,7 +9,7 @@ sidebar_position: 1 ## 维基界面管理 #### 1.维基界面 GitLink项目安排了专门的**维基(Wiki)界面**来展示项目的一些情况 -[](/img/wiki/img1.png) +![](/img/wiki/img1.png) #### 2.创建维基内容 在初始化的维基界面当中点击**创建Wiki文档**或者**导入模板**即可进行Wiki文档的编辑 @@ -17,7 +17,14 @@ GitLink项目安排了专门的**维基(Wiki)界面**来展示项目的一些情 #### 3.进行Wiki文档的编辑 点击**创建Wiki文档**后即跳转到编辑界面,初始内容为空白的文档 -[](/img/wiki/img3.png) +![](/img/wiki/img3.png) 也可以通过勾选*添加模板*来进行模板的导入,平台提供的模板包括*周报*和*月报*的格式 -[](/img/wiki/img2.png) -完成编辑后点击左下角的的保存即可 \ No newline at end of file +![](/img/wiki/img2.png) +完成编辑后点击左下角的的保存即可 +
    + +

    文档下载/打印

    +

    需要线下查阅?
    + +

    + \ No newline at end of file diff --git a/docs/通知/通知简介.md b/docs/通知/通知简介.md index 278389b..4fbf790 100644 --- a/docs/通知/通知简介.md +++ b/docs/通知/通知简介.md @@ -26,4 +26,11 @@ GitLink将通知分为“系统通知”和“@我”的两种类型: 点击通知按钮可以进入消息通知界面,“我的通知”界面可以进行“进查看未读消息”和“所有消息一键已读”的选择。 -![](/img/notice/my_notice2.png) \ No newline at end of file +![](/img/notice/my_notice2.png) +
    + +

    文档下载/打印

    +

    需要线下查阅?
    + +

    + \ No newline at end of file diff --git a/docs/通知/通知设置.md b/docs/通知/通知设置.md index bfde209..d7a599b 100644 --- a/docs/通知/通知设置.md +++ b/docs/通知/通知设置.md @@ -12,10 +12,16 @@ sidebar_position: 2 ![](/img/notice/home_notice.png)
    或在头像下拉列表中选择设置可以进入消息通知设置界面; - ![](/img/notice/into_notice.png) #### 2.进行通知设置 通过“通知管理”可以对接受通知的方式进行设置,默认所有通知都是通过站内信的方式接受,可以通过勾选为重要的通知类型增加邮件接受方式。 -![](/img/notice/notice_set.png) \ No newline at end of file +![](/img/notice/notice_set.png) +
    + +

    文档下载/打印

    +

    需要线下查阅?
    + +

    + \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/Bot市场/bot安装.md b/versioned_docs/version-1.1.0/Bot市场/bot安装.md index 5d59a9f..58a7b1b 100644 --- a/versioned_docs/version-1.1.0/Bot市场/bot安装.md +++ b/versioned_docs/version-1.1.0/Bot市场/bot安装.md @@ -9,19 +9,12 @@ Bot安装是进行bot安装和管理控制的重要模块,主要包括bot安 在bot详情页,用户点击“安装此Bot”按钮后,可以看到该bot工作所需的各项权限信息。若用户同意授予bot所需的相关权限即可进行安装。用户可选择将bot安装到所有仓库(用户拥有的所有仓库)中,也可以选择指定的仓库进行安装。 -![botinstall1](../../../static/img/bot/botinstall1.png) +![botinstall1](/img/bot/botinstall1.png) 在个人“设置”或者“仓库设置”中,用户可以看到目前已经安装的Bot情况,点击“配置”按钮可以对bot安装情况进行配置,点击“卸载”按钮可以进行卸载。 -![botinstall2](../../../static/img/bot/botinstall2.png) +![botinstall2](/img/bot/botinstall2.png) 在bot安装配置页中,用户可以掌握该bot的安装位置和工作状态。若用户需要更改bot的工作仓库时,可以进行更改安装位置。bot的工作状态包括激活和挂起,用户可根据需要对bot的状态进行调整,将其挂起或者激活,会影响到bot对仓库数据的访问权限。 -![botinstall3](../../../static/img/bot/botinstall3.png) - -
    - -

    文档下载/打印

    -

    需要线下查阅?
    - -

    \ No newline at end of file +![botinstall3](/img/bot/botinstall3.png) \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/Bot市场/bot市场.md b/versioned_docs/version-1.1.0/Bot市场/bot市场.md index bc4b066..216a566 100644 --- a/versioned_docs/version-1.1.0/Bot市场/bot市场.md +++ b/versioned_docs/version-1.1.0/Bot市场/bot市场.md @@ -15,17 +15,10 @@ Bot市场主页中展示了目前所有已经上架市场的bot简要信息, 用户可结合种类筛选和关键字搜索缩小范围,在市场中快速找到符合项目相关需求的bot。 -![botmarket1](../../../static/img/bot/botmarket1.png) +![botmarket1](/img/bot/botmarket1.png) 在bot市场页中,用户点击指定的bot卡片即可进入该bot的详情页。Bot的详情页包含bot的头像,名称,开发者,种类和详细介绍等信息,用户可在此掌握该bot的各项介绍,进一步判断是否将其安装到指定仓库中。 -![botmarket2](../../../static/img/bot/botmarket2.png) +![botmarket2](/img/bot/botmarket2.png) -在bot详情页中,若用户认为该bot满足自己的项目需求,可点击"安装此Bot"按钮,了解该bot的权限信息,将其安装到指定的仓库中,关于安装的更多介绍可见"Bot安装"部分。 - -
    - -

    文档下载/打印

    -

    需要线下查阅?
    - -

    \ No newline at end of file +在bot详情页中,若用户认为该bot满足自己的项目需求,可点击“安装此Bot”按钮,了解该bot的权限信息,将其安装到指定的仓库中,关于安装的更多介绍可见“Bot安装”部分。 \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/Bot市场/bot开发.md b/versioned_docs/version-1.1.0/Bot市场/bot开发.md index 2bf195e..4adc959 100644 --- a/versioned_docs/version-1.1.0/Bot市场/bot开发.md +++ b/versioned_docs/version-1.1.0/Bot市场/bot开发.md @@ -7,9 +7,9 @@ sidebar_position: 3 Bot开发是开发者进行bot注册的重要模块。 -在个人"设置"中,用户可以看到目前已经注册的bot列表,点击对应bot的"编辑"按钮可以对已注册的bot进行配置;点击"Bot注册"按钮开始注册新的bot。 +在个人“设置”中,用户可以看到目前已经注册的bot列表,点击对应bot的“编辑”按钮可以对已注册的bot进行配置;点击“Bot注册”按钮开始注册新的bot。 -![botcreate1](../../../static/img/bot/botcreate1.png) +![botcreate1](/img/bot/botcreate1.png) 在注册页中,开发者需要填写bot注册的相关信息,包括bot的名称、Webhook 地址,详细介绍等,系统将对开发者输入的信息进行合法性校验,确保bot各项信息的完整性和有效性。此外,系统将自动生成bot的唯一标识,同时调用 GitLink 平台的相关接口生成bot的身份凭证信息,包括客户端密钥和私钥等。 @@ -17,13 +17,6 @@ Bot开发是开发者进行bot注册的重要模块。 平台开发API链接(待完善):https://www.gitlink.org.cn/docs/api#introduction -![botcreate2](../../../static/img/bot/botcreate2.png) +![botcreate2](/img/bot/botcreate2.png) -![botcreate3](../../../static/img/bot/botcreate3.png) - -
    - -

    文档下载/打印

    -

    需要线下查阅?
    - -

    \ No newline at end of file +![botcreate3](/img/bot/botcreate3.png) \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/Bot市场/bot配置.md b/versioned_docs/version-1.1.0/Bot市场/bot配置.md index 010eb99..4260b3d 100644 --- a/versioned_docs/version-1.1.0/Bot市场/bot配置.md +++ b/versioned_docs/version-1.1.0/Bot市场/bot配置.md @@ -9,22 +9,15 @@ Bot配置是开发者进行bot维护和配置的重要模块,主要包括bot Bot的基本信息维护中,开发者可以看到bot的各项基本信息,并可以根据需要对bot的头像,名称,Webhook地址等进行修改。 -![botconfig1](../../../static/img/bot/botconfig1.png) +![botconfig1](/img/bot/botconfig1.png) Bot的权限&订阅事件管理中,开发者可根据对仓库资源的访问需要为bot分配不同的权限和等级,比如增加代码库权限,将拉取请求的写权限变为读权限等。开发者还能更改当前bot订阅的事件列表,比如订阅代码库推送,取消拉取请求分配订阅等,以实现bot功能的更新与升级。 -![botconfig2](../../../static/img/bot/botconfig2.png) +![botconfig2](/img/bot/botconfig2.png) Bot高级选项配置中,开发者可以改变bot的公私有状态,从而影响到bot的使用范围。需要注意的是,公开状态下的bot在已有其他仓库安装的情况下不能变成私有。开发者可选择将bot上架到市场,需要填写上架信息,包括市场简介,主要功能,次要功能等各项信息。 开发者还能进行bot的删除和转让操作,发起转让意味着更改bot的所有权,需要输入接受者的用户名。在接受者确定接受后,即可完成bot的所有权变更,拒绝则会取消本次的转让操作。 -![botconfig3](../../../static/img/bot/botconfig3.png) - -
    - -

    文档下载/打印

    -

    需要线下查阅?
    - -

    +![botconfig3](/img/bot/botconfig3.png) diff --git a/versioned_docs/version-1.1.0/DevOps引擎/代码流水线.md b/versioned_docs/version-1.1.0/DevOps引擎/代码流水线.md index 9a78f90..1f81c59 100644 --- a/versioned_docs/version-1.1.0/DevOps引擎/代码流水线.md +++ b/versioned_docs/version-1.1.0/DevOps引擎/代码流水线.md @@ -5,15 +5,8 @@ sidebar_position: 5 # 代码流水线 可以通过代码的形式(YAML格式)来配置流水线,首先选择代码流水线和对应的分支: - ![code_workflow1](../../../static/img/engine/code_workflow1.jpg) + ![code_workflow1](/img/engine/code_workflow1.jpg) 编辑流水线代码,其流水线名称描述、触发器、全局参数、执行串行/并发和流水线编排等概念同图形流水线,具体描述如下: -![code_workflow2](../../../static/img/engine/code_workflow2.png) - -
    - -

    文档下载/打印

    -

    需要线下查阅?
    - -

    \ No newline at end of file +![code_workflow2](/img/engine/code_workflow2.png) \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/DevOps引擎/参数配置.md b/versioned_docs/version-1.1.0/DevOps引擎/参数配置.md index 37ea3c6..e246241 100644 --- a/versioned_docs/version-1.1.0/DevOps引擎/参数配置.md +++ b/versioned_docs/version-1.1.0/DevOps引擎/参数配置.md @@ -7,16 +7,9 @@ sidebar_position: 2 可在流水线中使用,实现动态参数配置;有字符串、数字、布尔三种类型。 - ![parameter1](../../../static/img/engine/parameter1.png) + ![parameter1](/img/engine/parameter1.png) 在流水线的配置中通过如下方式获取参数: - ![parameter2](../../../static/img/engine/parameter2.png) - -
    - -

    文档下载/打印

    -

    需要线下查阅?
    - -

    \ No newline at end of file + ![parameter2](/img/engine/parameter2.png) \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/DevOps引擎/图形流水线.md b/versioned_docs/version-1.1.0/DevOps引擎/图形流水线.md index 96f33db..9c90065 100644 --- a/versioned_docs/version-1.1.0/DevOps引擎/图形流水线.md +++ b/versioned_docs/version-1.1.0/DevOps引擎/图形流水线.md @@ -9,49 +9,42 @@ sidebar_position: 4 同一仓库下的流水线名称不能重复 -![vis_workflow1](../../../static/img/engine/vis_workflow1.png) +![vis_workflow1](/img/engine/vis_workflow1.png) ## 触发器 注:流水线编排时,触发器要放在开始节点之前;目前一条流水线仅添加支持一个触发器 * 定时触发器cron:可通过填写cron表达式设置触发的具体时间 -![vis_workflow2](../../../static/img/engine/vis_workflow2.png) +![vis_workflow2](/img/engine/vis_workflow2.png) * 事件触发器GitLink_Webhook:给出了常见的代码变更事件触发,包括推送代码、合并请求、创建标签 -![vis_workflow3](../../../static/img/engine/vis_workflow3.png) +![vis_workflow3](/img/engine/vis_workflow3.png) ## 全局参数 添加后可在当前流水线中使用 -![vis_workflow4](../../../static/img/engine/vis_workflow4.png) +![vis_workflow4](/img/engine/vis_workflow4.png) 使用实例 -![vis_workflow5](../../../static/img/engine/vis_workflow5.png) +![vis_workflow5](/img/engine/vis_workflow5.png) ## 并发执行 -![vis_workflow6](../../../static/img/engine/vis_workflow6.png) +![vis_workflow6](/img/engine/vis_workflow6.png) 开启后,同一流水线可同时并发执行n个流水线实例(每触发一次我们得到一个流水线实例); -![vis_workflow7](../../../static/img/engine/vis_workflow7.png) +![vis_workflow7](/img/engine/vis_workflow7.png) 若未开启,则当前流水线实例执行中,后面的实例处于排队状态(最多可排队5个实例)。当前实例执行完成,下一个实例开始执行。 -![vis_workflow8](../../../static/img/engine/vis_workflow8.png) +![vis_workflow8](/img/engine/vis_workflow8.png) ## 流水线编排 每条流水线必须要有一个开始节点、结束节点,至少一个任务节点。支持串行编排和并行编排。 -
    - -

    文档下载/打印

    -

    需要线下查阅?
    - -

    - diff --git a/versioned_docs/version-1.1.0/DevOps引擎/密钥设置.md b/versioned_docs/version-1.1.0/DevOps引擎/密钥设置.md index 33ead82..d879ed6 100644 --- a/versioned_docs/version-1.1.0/DevOps引擎/密钥设置.md +++ b/versioned_docs/version-1.1.0/DevOps引擎/密钥设置.md @@ -7,17 +7,10 @@ sidebar_position: 3 将账号密码、密钥、证书等存放到密钥管理里,配置后可直接在流水线中使用,避免因直接填写引起的泄露风险。 -![secret1](../../../static/img/engine/secret1.png) +![secret1](/img/engine/secret1.png) 使用示例 注:节点输入参数中,下拉选项为密钥类型,需要提前配置好密钥在流水线中选择使用 -![secret2](../../../static/img/engine/secret2.png) - -
    - -

    文档下载/打印

    -

    需要线下查阅?
    - -

    \ No newline at end of file +![secret2](/img/engine/secret2.png) \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/DevOps引擎/引擎简介.md b/versioned_docs/version-1.1.0/DevOps引擎/引擎简介.md index c433e17..aa149a3 100644 --- a/versioned_docs/version-1.1.0/DevOps引擎/引擎简介.md +++ b/versioned_docs/version-1.1.0/DevOps引擎/引擎简介.md @@ -8,13 +8,6 @@ sidebar_position: 1 引擎(Engine)是GitLink提供的一款DevOps工具,通过简单的节点编排来构建开发、测试、部署流水线,从而创建自动化的软件交付流程。 它可以实现持续的代码集成,让开发者能尽早发现质量问题,快速定位修复,提升软件开发效率和质量;自动化的代码扫描、编译打包、单元测试,把研发团队从重复的工作中解放出来,聚焦到更有价值的事情上。 -![engine_intro](../../../static/img/engine/engine_intro.jpg) +![engine_intro](/img/engine/engine_intro.jpg) -在引擎页面中,用户可以创建和编辑图形流水线或代码流水线、设置外部参数、管理密钥等操作。 - -
    - -

    文档下载/打印

    -

    需要线下查阅?
    - -

    \ No newline at end of file +在引擎页面中,用户可以创建和编辑图形流水线或代码流水线、设置外部参数、管理密钥等操作。 \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/DevOps引擎/执行记录查询.md b/versioned_docs/version-1.1.0/DevOps引擎/执行记录查询.md index 5c49f01..689da73 100644 --- a/versioned_docs/version-1.1.0/DevOps引擎/执行记录查询.md +++ b/versioned_docs/version-1.1.0/DevOps引擎/执行记录查询.md @@ -7,11 +7,4 @@ sidebar_position: 6 用户可以查看流水线的运行状态 - ![result](../../../static/img/engine/result.png) - -
    - -

    文档下载/打印

    -

    需要线下查阅?
    - -

    \ No newline at end of file + ![result](/img/engine/result.png) \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/intro.md b/versioned_docs/version-1.1.0/intro.md index 4b96740..ffb913f 100644 --- a/versioned_docs/version-1.1.0/intro.md +++ b/versioned_docs/version-1.1.0/intro.md @@ -6,7 +6,7 @@ slug: / --- # 关于GitLink -GitLink(确实开源)是CCF官方指定的开源创新服务平台,旨在以"为开源创新服务"为使命,以"成为开源创新的汇聚地"为愿景,秉承"创新、开放、协作、共享"的价值观,致力于为大规模开源开放协同创新助力赋能,打造创新成果孵化和新工科人才培养的开源创新生态! +GitLink(确实开源)是CCF官方指定的开源创新服务平台,旨在以“为开源创新服务”为使命,以“成为开源创新的汇聚地”为愿景,秉承“创新、开放、协作、共享”的价值观,致力于为大规模开源开放协同创新助力赋能,打造创新成果孵化和新工科人才培养的开源创新生态! ![](/img/ccf_gitlink.png) @@ -71,11 +71,4 @@ GitLink(确实开源)是CCF官方指定的开源创新服务平台,旨在 - - -
    - -

    文档下载/打印

    -

    需要线下查阅?
    - -

    \ No newline at end of file + \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/个人主页建站/建站工具.md b/versioned_docs/version-1.1.0/个人主页建站/建站工具.md index 28696f6..81270e2 100644 --- a/versioned_docs/version-1.1.0/个人主页建站/建站工具.md +++ b/versioned_docs/version-1.1.0/个人主页建站/建站工具.md @@ -13,14 +13,14 @@ sidebar_position: 2 将值改成 个人建站服务中显示的网站地址, 例如: 现在有一个网站地址为 http://KingChan.gitlink.net 那么 config.toml 中的 baseURL 应该为 http://KingChan.gitlink.net - ![img](../../../static/img/个人主页建站/建站工具1.png) + ![img](/img/个人主页建站/建站工具1.png) 修改完毕后点击提交 - ![img](../../../static/img/个人主页建站/建站工具2.png) + ![img](/img/个人主页建站/建站工具2.png) 提交完成后,开始部署 - ![img](../../../static/img/建站工具3.png) + ![img](/img/建站工具3.png) 静态页面预览 - ![img](../../../static/img/建站工具4.png) + ![img](/img/建站工具4.png) ### jekyll工具 @@ -32,11 +32,14 @@ sidebar_position: 2 baseurl: "/" url: "http://KingChan.gitlink.net" - ![img](../../../static/img/建站工具5.png) + ![img](/img/建站工具5.png) 修改完成后点击 提交变更 - ![img](../../../static/img/个人主页建站/建站工具2.png) + ![img](/img/个人主页建站/建站工具2.png) 提交完成后,前往建站服务开始部署 + ![img](/img/建站工具7.png) + + ![img](/img/建站工具8.png) ### hexo工具 @@ -47,27 +50,20 @@ url: "http://KingChan.gitlink.net" 那么 _config.toml 中的 url应该为 http://KingChan.gitlink.net - ![img](../../../static/img/建站工具9.png) + ![img](/img/建站工具9.png) 修改完毕后提交变更 - ![img](../../../static/img/个人主页建站/建站工具2.png) + ![img](/img/个人主页建站/建站工具2.png) 提交完成后,前往建站服务开始部署 - ![img](../../../static/img/建站工具11.png) + ![img](/img/建站工具11.png) - ![img](../../../static/img/建站工具12.png) + ![img](/img/建站工具12.png) - ![img](../../../static/img/建站工具13.png) + ![img](/img/建站工具13.png) ### file 工具 文档格式工具,使用该工具会部署所选中分支下的所有文件。 -注: 以上所有工具都可以使用 gh-pages 分支,在部署时选中 gh-pages 分支,则会按照文档格式工具部署,也就是部署分支下的所有文件。 -
    - -

    文档下载/打印

    -

    需要线下查阅?
    - -

    - \ No newline at end of file +注: 以上所有工具都可以使用 gh-pages 分支,在部署时选中 gh-pages 分支,则会按照文档格式工具部署,也就是部署分支下的所有文件。 \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/个人主页建站/站点创建流程.md b/versioned_docs/version-1.1.0/个人主页建站/站点创建流程.md index ef407bc..bca5d1a 100644 --- a/versioned_docs/version-1.1.0/个人主页建站/站点创建流程.md +++ b/versioned_docs/version-1.1.0/个人主页建站/站点创建流程.md @@ -6,11 +6,11 @@ sidebar_position: 1 ### 我的站点 鼠标移动至右上角头像位置,点击设置进入我的设置界面 -![img](../../../static/img/建站工具/1.png) +![img](/img/建站工具/1.png) 点击左测面板中 个人建站 - 我的站点 -![img](../../../static/img/建站工具/3.png) +![img](/img/建站工具/3.png) ### 创建站点 @@ -20,11 +20,11 @@ sidebar_position: 1 并且选择对应的建站工具与主题,我们为您提供了3种不同的工具,每个工具10种主题,一共30种供您挑选 -![img](../../../static/img/建站工具/4.png) +![img](/img/建站工具/4.png) 填写完毕后,点击页面下方蓝色按钮: 创建站点 -![img](../../../static/img/建站工具/5.png) +![img](/img/建站工具/5.png) 这样您就拥有了一个网站,并且有了一个代码仓库。 @@ -32,26 +32,19 @@ sidebar_position: 1 ### 部署站点 -![img](../../../static/img/建站工具/6.png) +![img](/img/建站工具/6.png) 点击去部署按钮,选择想要部署的分支后点击确定 -![img](../../../static/img/建站工具/7.png) +![img](/img/建站工具/7.png) 等待程序运行一会儿后,会返回一些服务器部署信息给您 部署成功后您就可以访问站点了。点击网站地址就可以跳转 -![img](../../../static/img/建站工具/8.png) +![img](/img/建站工具/8.png) ### 部署完成 -![img](../../../static/img/建站工具/9.png) +![img](/img/建站工具/9.png) -
    - -

    文档下载/打印

    -

    需要线下查阅?
    - -

    - \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/代码库管理/WebIDE.md b/versioned_docs/version-1.1.0/代码库管理/WebIDE.md index 9be2a7e..123fae0 100644 --- a/versioned_docs/version-1.1.0/代码库管理/WebIDE.md +++ b/versioned_docs/version-1.1.0/代码库管理/WebIDE.md @@ -10,27 +10,27 @@ sidebar_position: 9 ### **2. WebIDE 入口** 从 Gitlink 仓库首页 ,点击Web IDE 按键即可进入 -![](../../../static/img/代码库管理/WebIDE/WebIDE入口.png)
    +![](/img/代码库管理/WebIDE/WebIDE入口.png)
    ### **3. 分支** 支持分支切换:点击左下角分支名即可切换分支。 -![](../../../static/img/代码库管理/WebIDE/WebIDE切换分支.png)
    +![](/img/代码库管理/WebIDE/WebIDE切换分支.png)
    ### **4. 搜索** 当前支持 Gitlink 仓库内代码搜索(支持单词匹配和文件过滤)和文件搜索。 -![](../../../static/img/代码库管理/WebIDE/WebIDE搜索.png)
    +![](/img/代码库管理/WebIDE/WebIDE搜索.png)
    ### **5. 行高亮** 支持单行或多行高亮,点击行号即可高亮行,按住 Shift 可选中连续多行。 -![](../../../static/img/代码库管理/WebIDE/WebIDE行高亮.png)
    +![](/img/代码库管理/WebIDE/WebIDE行高亮.png)
    ### **6. Blame** -支持查看单行 blame 信息,点击代码,即可在单行代码后展示更改时间、更改人、提交信息等信息。 -![](../../../static/img/代码库管理/WebIDE/WebIDEblame.png)
    +支持查看单行 blame 信息,hover 后可展示详细信息。 +![](/img/代码库管理/WebIDE/WebIDEblame.png)
    ### **7. Graph** 支持 graph 视图,可查看分支 commits 历史以及每个 commit 详细文件变更,并支持文件 diff 查看。底部状态栏左下角点击 Git Graph 或在命令面板输入 View Git Graph,即可打开 Git Graph 视图。 -![](../../../static/img/代码库管理/WebIDE/WebIDEGraph.png)
    +![](/img/代码库管理/WebIDE/WebIDEGraph.png)
    ### **8. WebSCM** 可以在极速版新建分支,修改代码后在 SCM 面板看到变更文件列表,写完 commit message 后提交到 Gitlink 上。如果想快速修改一些文件可以不用在本地修改,直接通过极速版修改代码一次性提交。 @@ -38,11 +38,4 @@ sidebar_position: 9 ### **9. 代码在线运行** ● 集成了基于 skypack 的更加轻量的 CodeSwing 插件,可以在极速版去运行前端代码。 ● 集成了基于 Pyodide 的 Code-Runner-For-Web 插件,可以将 Python 的运行搬到浏览器上。 -![](../../../static/img/代码库管理/WebIDE/WebIDE代码在线运行.png)
    - -
    - -

    文档下载/打印

    -

    需要线下查阅?
    - -

    \ No newline at end of file +![](/img/代码库管理/WebIDE/WebIDE代码在线运行.png)
    \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/代码库管理/Webhook.md b/versioned_docs/version-1.1.0/代码库管理/Webhook.md index 6c05fb7..35b474e 100644 --- a/versioned_docs/version-1.1.0/代码库管理/Webhook.md +++ b/versioned_docs/version-1.1.0/代码库管理/Webhook.md @@ -4,23 +4,23 @@ sidebar_position: 8 --- ### **1. Webhook模块入口** 在项目主页,点击“仓库设置”按键,再点击“网络钩子”按键,即可进入仓库的Webhook模块。 - ![](../../../static/img/代码库管理/Webhook/Webhook入口.png)
    + ![](/img/代码库管理/Webhook/Webhook入口.png)
    ### **2. 添加Webhook** 单击“添加Webhook”按键,可进入配置Webhook页面: - ![](../../../static/img/代码库管理/Webhook/添加Webhook.png)
    - ![](../../../static/img/代码库管理/Webhook/Webhook配置.png)
    + ![](/img/代码库管理/Webhook/添加Webhook.png)
    + ![](/img/代码库管理/Webhook/Webhook配置.png)
    ### **3. 编辑Webhook** 添加Webhook后,如下图所示,可以通过点击右侧”编辑“按键来对每个Webhook进行编辑操作。 - ![](../../../static/img/代码库管理/Webhook/编辑Webhook.png)
    + ![](/img/代码库管理/Webhook/编辑Webhook.png)
    ### **4. 删除Webhook** 添加Webhook后,如下图所示,可以通过点击右侧”删除“按键来对每个Webhook进行删除操作。 - ![](../../../static/img/代码库管理/Webhook/删除webhook.png)
    + ![](/img/代码库管理/Webhook/删除webhook.png)
    ### **5. Webhook支持的事件类型** 在GitLink中,Webhook支持的事件类型如下: @@ -30,16 +30,9 @@ sidebar_position: 8 - 删除:删除分支或标签 - 合并请求:合并请求被打开、被关闭、被重新打开或被编辑 - 合并请求分配:合并请求被分配或取消分配 + - 合并请求收入里程碑:合并请求被记录或取消记录于里程碑中 - 合并请求被评论:合并请求评论被创建、编辑或删除 - - 疑修:疑修已打开、已关闭、已重新打开或编辑 - - 疑修已指派:疑修已指派或取消指派 - - 已标记疑修:疑修标记被更新或清除 - - 疑修评论:疑修评论被创建、编辑或删除 - -
    - -

    文档下载/打印

    -

    需要线下查阅?
    - -

    + - 合并请求标签:合并请求的标签被更新或清除 + - 合并请求审查:合并请求被批准、拒绝或提出审查意见,审查人员的修改,审查线程已解决或未解决 + - 合并请求被同步:合并请求被同步 \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/代码库管理/仓库创建.md b/versioned_docs/version-1.1.0/代码库管理/仓库创建.md index 729c231..b8c5753 100644 --- a/versioned_docs/version-1.1.0/代码库管理/仓库创建.md +++ b/versioned_docs/version-1.1.0/代码库管理/仓库创建.md @@ -4,15 +4,8 @@ sidebar_position: 1 --- ### **1. 仓库创建入口** 用户可以通过平台主页右上角的按键以及个人主页参与项目模块的“新建”按键来创建仓库。 -![](../../../static/img/代码库管理/仓库创建/仓库创建.png)
    +![](/img/代码库管理/仓库创建/仓库创建.png)
    ### **2. 填写项目基本信息** 进入新建项目页面后,如下图所示,填写拥有者、项目名称、项目标识等信息,单击”创建项目“按键即可完成创建。 -![](../../../static/img/代码库管理/仓库创建/新建项目.png)
    - -
    - -

    文档下载/打印

    -

    需要线下查阅?
    - -

    \ No newline at end of file +![](/img/代码库管理/仓库创建/新建项目.png)
    \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/代码库管理/仓库设置.md b/versioned_docs/version-1.1.0/代码库管理/仓库设置.md index c3e2651..2cc004a 100644 --- a/versioned_docs/version-1.1.0/代码库管理/仓库设置.md +++ b/versioned_docs/version-1.1.0/代码库管理/仓库设置.md @@ -4,16 +4,8 @@ sidebar_position: 2 --- ### **1. 仓库设置入口** 在仓库主页,点击“仓库设置”按键即可进入仓库设置模块。仓库设置中可以修改项目的基本信息、进行成员管理、配置webhook、设置分支以及安装bot。 -![](../../../static/img/代码库管理/仓库设置/仓库设置.png)
    +![](/img/代码库管理/仓库设置/仓库设置.png)
    ### **2. 基本设置** 进入仓库设置模块后,单击”基本设置“按键,进入基本设置模块,如下图所示,可以对项目的项目名称、项目标识、项目简介、项目类别、项目语言等基本信息进行修改。单击“转移”按键可以将仓库转移给其他用户和组织,单击“删除本仓库“按键可以删除本仓库。 -![](../../../static/img/代码库管理/仓库设置/基本设置.png)
    - -
    - -

    文档下载/打印

    -

    需要线下查阅?
    - -

    - \ No newline at end of file +![](/img/代码库管理/仓库设置/基本设置.png)
    \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/代码库管理/代码提交.md b/versioned_docs/version-1.1.0/代码库管理/代码提交.md index 4a13c79..11b6835 100644 --- a/versioned_docs/version-1.1.0/代码库管理/代码提交.md +++ b/versioned_docs/version-1.1.0/代码库管理/代码提交.md @@ -1,19 +1,4 @@ --- sidebar_label: '代码提交' sidebar_position: 3 ---- -### **1. 代码提交入口** -用户可以通过项目代码库中间的文件下的“上传文件”按键来上传文件。 -![](../../../static/img/代码库管理/代码提交/上传文件入口.png)
    - -### **2. 上传文件** -进入上传文件页面后,如下图所示,拖动文件,选择提交变更的分支的单击”创建项目“按键即可完成创建。 -![](../../../static/img/代码库管理/代码提交/上传文件.png)
    - -
    - -

    文档下载/打印

    -

    需要线下查阅?
    - -

    - \ No newline at end of file +--- \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/代码库管理/分支管理.md b/versioned_docs/version-1.1.0/代码库管理/分支管理.md index f6aa2d6..f543748 100644 --- a/versioned_docs/version-1.1.0/代码库管理/分支管理.md +++ b/versioned_docs/version-1.1.0/代码库管理/分支管理.md @@ -1,21 +1,4 @@ --- sidebar_label: '分支管理' sidebar_position: 5 ---- -### **1. 查看分支** -在代码库栏下,如下图所示,用户可以点击代码库分支从而查看当前项目的所有分支,并且选择对其进行操作。 -![](../../../static/img/代码库管理/分支管理/分支管理方式1.jpg)
    - -### **2. 合并分支** -在“和并请求(PR)”下点击“新建合并请求”后, -![](../../../static/img/代码库管理/分支管理/分支管理方式3.png)
    -如下图所示,用户可以选择源分支与目标分支以及填写分支信息后提交分支合并请求。 -![](../../../static/img/代码库管理/分支管理/分支管理方式2.png)
    - -
    - -

    文档下载/打印

    -

    需要线下查阅?
    - -

    - \ No newline at end of file +--- \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/代码库管理/成员管理.md b/versioned_docs/version-1.1.0/代码库管理/成员管理.md index cf4ee68..92e31bf 100644 --- a/versioned_docs/version-1.1.0/代码库管理/成员管理.md +++ b/versioned_docs/version-1.1.0/代码库管理/成员管理.md @@ -4,27 +4,20 @@ sidebar_position: 7 --- ### **1. 成员管理入口** 在仓库主页,点击“仓库设置”按键,再点击”成员管理“按键,即可进入成员管理模块,如下图所示。 -![](../../../static/img/代码库管理/成员管理/成员管理入口.png)
    +![](/img/代码库管理/成员管理/成员管理入口.png)
    ### **2. 筛选、搜索项目成员** 进入成员管理模块后,可以通过”角色筛选“按键来筛选项目成员类型,通过”搜索“按键可以检索具体的项目成员,如下图所示。 -![](../../../static/img/代码库管理/成员管理/筛选、搜索项目成员.png)
    +![](/img/代码库管理/成员管理/筛选、搜索项目成员.png)
    ### **3. 筛选、搜索项目成员** 进入成员管理模块后,可以通过”添加成员“按键来添加项目成员,左侧搜索框检索到具体用户并选中后,单击”添加成员“按键即可成功添加项目成员。 -![](../../../static/img/代码库管理/成员管理/添加成员.png)
    +![](/img/代码库管理/成员管理/添加成员.png)
    ### **4. 项目成员权限管理** 进入成员管理模块后,单击项目成员右侧的角色栏,可以选择赋予该名项目成员的权限等级,如下图所示。 -![](../../../static/img/代码库管理/成员管理/项目成员权限管理.png)
    +![](/img/代码库管理/成员管理/项目成员权限管理.png)
    ### **5. 删除项目成员** 进入成员管理模块后,单击项目成员右侧的”删除“按键,可以删除改名项目成员,如下图所示。 -![](../../../static/img/代码库管理/成员管理/删除项目成员.png)
    - -
    - -

    文档下载/打印

    -

    需要线下查阅?
    - -

    +![](/img/代码库管理/成员管理/删除项目成员.png)
    diff --git a/versioned_docs/version-1.1.0/代码库管理/文件管理.md b/versioned_docs/version-1.1.0/代码库管理/文件管理.md index e119bde..af8c755 100644 --- a/versioned_docs/version-1.1.0/代码库管理/文件管理.md +++ b/versioned_docs/version-1.1.0/代码库管理/文件管理.md @@ -1,26 +1,4 @@ --- sidebar_label: '文件管理' sidebar_position: 4 ---- -### **1. 文件管理位置** -在代码库界面,可直接对代码库中该分支下的文件进行操作,如下图所示。 -![](../../../static/img/代码库管理/文件管理/文件管理入口.png)
    - -### **2. 进入目录** -点击进入相关目录,找到要编辑的文件,如下图所示。 -![](../../../static/img/代码库管理/文件管理/进入文件所在目录.png)
    - -### **3. 进入文件编辑页面** -在线编辑文件,单击文件,即可进入编辑文件页面,如下图所示。 -![](../../../static/img/代码库管理/文件管理/进入文件编辑界面.png)
    - -### **4. 编辑文件** -编辑界面右侧有三个按钮,分别是“下载”、“编辑”和“删除”,点击下载即可将文件下载到本地,编辑则可在线编辑文档,删除则将文件从代码库中删除,按钮位置如下图所示。 -![](../../../static/img/代码库管理/文件管理/文件编辑按钮.png)
    - -
    - -

    文档下载/打印

    -

    需要线下查阅?
    - -

    \ No newline at end of file +--- \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/代码库管理/标签和发行版管理.md b/versioned_docs/version-1.1.0/代码库管理/标签和发行版管理.md index f74413b..e785953 100644 --- a/versioned_docs/version-1.1.0/代码库管理/标签和发行版管理.md +++ b/versioned_docs/version-1.1.0/代码库管理/标签和发行版管理.md @@ -4,33 +4,26 @@ sidebar_position: 6 --- ### **1. 标签和发行版管理入口** 在仓库主页,点击“代码库”按键,再点击”标签“按键,即可进入标签和发行版管理模块,如下图所示。 -![](../../../static/img/代码库管理/标签和发行版管理/标签和发行版管理入口.png)
    +![](/img/代码库管理/标签和发行版管理/标签和发行版管理入口.png)
    ### **2. 删除标签** -进入标签和发行版管理模块后,点击发行版右侧的删除按钮,删除发行版。再点击标签右侧“删除”按键,即可实现对标签的删除操作,如下图所示。 -![](../../../static/img/代码库管理/标签和发行版管理/删除标签.png)
    +进入标签和发行版管理模块后,点击标签右侧“删除”按键,即可实现对标签的删除操作,如下图所示。 +![](/img/代码库管理/标签和发行版管理/删除标签.png)
    ### **3. 查看发行版** 进入标签和发行版管理模块后,点击”发行版”按键即可查看项目的发行版,如下图所示。 -![](../../../static/img/代码库管理/标签和发行版管理/查看发行版.png)
    +![](/img/代码库管理/标签和发行版管理/查看发行版.png)
    ### **4. 创建发行版** 进入标签和发行版管理模块后,点击标签右侧”创建发行版”按键,即可快速创建绑定该标签的发行版,如下图所示。 -![](../../../static/img/代码库管理/标签和发行版管理/发布新版本.png)
    +![](/img/代码库管理/标签和发行版管理/发布新版本.png)
    ### **5. 修改发行版** 进入标签和发行版管理模块后,点击发行版右侧的修改按键,即可进入发行版的修改页面,如下图所示。完成发行版的修改后,单击”保存发行版“按键即可保存修改内容。 -![](../../../static/img/代码库管理/标签和发行版管理/修改发行版.png)
    -![](../../../static/img/代码库管理/标签和发行版管理/发行版修改页面.png)
    +![](/img/代码库管理/标签和发行版管理/修改发行版.png)
    +![](/img/代码库管理/标签和发行版管理/发行版修改页面.png)
    ### **6. 删除发行版** 进入标签和发行版管理模块后,点击发行版右侧的删除按键,即可进入发行版的删除页面,如下图所示。 -![](../../../static/img/代码库管理/标签和发行版管理/删除发行版.png)
    - -
    - -

    文档下载/打印

    -

    需要线下查阅?
    - -

    +![](/img/代码库管理/标签和发行版管理/删除发行版.png)
    \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/合并请求/代码评审.md b/versioned_docs/version-1.1.0/合并请求/代码评审.md index f266af9..9b4aefb 100644 --- a/versioned_docs/version-1.1.0/合并请求/代码评审.md +++ b/versioned_docs/version-1.1.0/合并请求/代码评审.md @@ -2,18 +2,5 @@ sidebar_label: '代码评审' sidebar_position: 3 --- -# 代码评审 -### **1. 进入代码评审** -如下图所示,点击“代码评审”按钮可以进入代码评审 -![](/img/PR/进入代码评审.png)
    - - ### **2. 代码评审界面** -如下图所示,用户可以在该界面下查看该PR操作要合并的新的代码,并对其进行评审。 -![](/img/PR/具体代码评审.png)
    -
    -

    文档下载/打印

    -

    需要线下查阅?
    - -

    - \ No newline at end of file +# 代码评审 \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/合并请求/创建合并请求.md b/versioned_docs/version-1.1.0/合并请求/创建合并请求.md index 9a82417..ce7059e 100644 --- a/versioned_docs/version-1.1.0/合并请求/创建合并请求.md +++ b/versioned_docs/version-1.1.0/合并请求/创建合并请求.md @@ -19,11 +19,4 @@ sidebar_position: 2 5. 最后信息填写完毕后,点击底部的“**创建**”按钮即可提交您的第一个合并请求了🎉🎉🎉! -![创建合并请求](/img/PR/imagePR4.png) -
    - -

    文档下载/打印

    -

    需要线下查阅?
    - -

    - \ No newline at end of file +![创建合并请求](/img/PR/imagePR4.png) \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/合并请求/合并模式简介.md b/versioned_docs/version-1.1.0/合并请求/合并模式简介.md index f6ee488..c8d0750 100644 --- a/versioned_docs/version-1.1.0/合并请求/合并模式简介.md +++ b/versioned_docs/version-1.1.0/合并请求/合并模式简介.md @@ -97,11 +97,4 @@ sidebar_position: 4 ![提交后](/img/PR/imagePR15.png) -**总结**:在合并前,先对开发分支上的琐碎提交进行压缩,可以使`master`分支上的提交信息更简洁,但是要注意,这种合并模式本质上是`master`分支一次性保存`dev`上的变更,并创建新的提交记录这些变更,所以提交者发生了变化! -
    - -

    文档下载/打印

    -

    需要线下查阅?
    - -

    - \ No newline at end of file +**总结**:在合并前,先对开发分支上的琐碎提交进行压缩,可以使`master`分支上的提交信息更简洁,但是要注意,这种合并模式本质上是`master`分支一次性保存`dev`上的变更,并创建新的提交记录这些变更,所以提交者发生了变化! \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/合并请求/合并请求关联疑修.md b/versioned_docs/version-1.1.0/合并请求/合并请求关联疑修.md index bb40085..ac29313 100644 --- a/versioned_docs/version-1.1.0/合并请求/合并请求关联疑修.md +++ b/versioned_docs/version-1.1.0/合并请求/合并请求关联疑修.md @@ -3,66 +3,4 @@ sidebar_label: '合并请求关联疑修' sidebar_position: 5 --- - - -# 合并请求关联疑修 - -将合并请求(Merge Request, MR)与相关的疑修(Issue)进行关联,是现代代码协作与项目管理中的一项重要实践。通过关联,可以清晰地追踪代码变更是为了解决哪个问题或实现哪个需求,并在合并请求被接受后自动更新或关闭相应的疑修,从而提高开发流程的透明度和效率。 - -GitLink 平台支持多种方式将合并请求与疑修关联起来。 - -### 关联方式 - -#### 1. 通过提交信息自动关联和关闭疑修 -当您的提交信息(commit message)中包含特定关键词和疑修编号时,GitLink 可以在该提交被推送到合并请求的源分支,并且该合并请求最终被合并时,自动关联并关闭相应的疑修。 - -*   **支持的关键词**: -    *   `close`, `closes`, `closed` -    *   `fix`, `fixes`, `fixed` -    *   `resolve`, `resolves`, `resolved` -    *   (请注意:具体支持的关键词可能因平台配置而略有不同,请参考最新的官方说明或在平台测试。) -*   **使用方法**: -    在提交信息中,使用上述任一关键词后跟 `#疑修编号`。 -    例如:`git commit -m "修复用户头像上传失败的问题,fixes #42"` -    或者:`git commit -m "完成新用户注册流程,closes #101, closes #105"` -*   **效果**: -    当包含这些提交的合并请求被成功合并后,编号为 `#42`、`#101` 和 `#105` 的疑修状态会自动变更为"已关闭"或您平台设定的相应状态,并且合并请求会自动与这些疑修建立链接。 - - -#### 2. 在创建或编辑合并请求时手动关联疑修 -您也可以在创建新的合并请求或编辑已有的合并请求时,手动指定要关联的疑修。 - -*   **操作步骤**: -    1.  在 GitLink 平台上,导航至您的项目,然后点击"合并请求"选项卡。 -    2.  点击"新建合并请求"按钮,或选择一个已有的合并请求进入编辑模式。 -    3.  在合并请求的表单中,找到"关联疑修" (Linked Issues / Related Issues) 或类似的区域。这通常是一个输入框或下拉选择器。 -    4.  输入您想要关联的疑修编号 (例如 `#123`) 或部分标题进行搜索。 -    5.  从搜索结果中选择正确的疑修进行关联。您可以关联一个或多个疑修。 -    6.  保存合并请求。 -*   **效果**: -    选定的疑修将与该合并请求建立链接。在合并请求页面和疑修页面都可以看到这种关联关系。手动关联的疑修通常不会因为合并请求的合并而自动关闭,除非您同时使用了提交关键词或在合并时手动选择了关闭。 - -### 查看已关联的疑修 - -一旦合并请求与疑修成功关联,您可以在以下位置查看这些关联信息: - -*   **合并请求详情页**:会有一个专门的区域或标签页显示所有链接到此合并请求的疑修列表,并通常会展示这些疑修的当前状态(如:开启、进行中、已关闭)。 -*   **疑修详情页**:同样地,在疑修的详情页面,也会显示所有引用或关联到此疑修的合并请求列表。这有助于了解该疑修的进展和相关的代码变更。 - -### 关联疑修的益处 - -*   **提升透明度**:团队成员可以轻松理解代码变更的目的和背景。 -*   **加强可追溯性**:从需求/问题到代码实现再到合并的全程可追溯。 -*   **自动化项目管理**:自动关闭已解决的疑修,减少人工操作,确保信息同步。 -*   **优化协作流程**:便于开发人员、测试人员和项目经理之间的沟通与协作。 - -通过有效地使用合并请求关联疑修功能,您的团队可以显著提升开发效率和项目管理水平。 - - -
    - -

    文档下载/打印

    -

    需要线下查阅?
    - -

    - \ No newline at end of file +# 合并请求关联疑修 \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/合并请求/合并请求简介.md b/versioned_docs/version-1.1.0/合并请求/合并请求简介.md index cda71fe..9bb4295 100644 --- a/versioned_docs/version-1.1.0/合并请求/合并请求简介.md +++ b/versioned_docs/version-1.1.0/合并请求/合并请求简介.md @@ -15,11 +15,4 @@ GitLink中的 **合并请求(PR)** 模块提供合并请求创建和管理两方 如下图所示为合并请求(PR)管理模块: -![合并请求管理模块](/img/PR/imagePR1.png) -
    - -

    文档下载/打印

    -

    需要线下查阅?
    - -

    - \ No newline at end of file +![合并请求管理模块](/img/PR/imagePR1.png) \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/平台公告/平台公告.md b/versioned_docs/version-1.1.0/平台公告/平台公告.md index fe0d341..3b451a8 100644 --- a/versioned_docs/version-1.1.0/平台公告/平台公告.md +++ b/versioned_docs/version-1.1.0/平台公告/平台公告.md @@ -1,49 +1,4 @@ --- sidebar_label: '平台公告' sidebar_position: 1 ---- - -尊敬的 GitLink 用户: - -感谢您一直以来的支持!为提升您的使用体验,我们对平台进行了全面升级,以下是重点更新内容: - -### 一、功能升级 -**代码托管与管理**:优化代码仓库性能,提升读写速度;增强分支管理功能,支持高级配置;改进代码搜索算法,精准定位代码片段。 - -**代码协作与沟通**:完善团队权限管理,新增团队动态消息;改进代码审查流程,增加行内评论等功能;整合即时通讯工具,便捷实时沟通。 - -**项目管理与工具集成**:完善项目管理功能,支持自定义里程碑;优化 CI/CD 集成,简化自动化流程配置;扩展第三方工具集成,实现一站式开发管理。 - -### 二、用户体验优化 -**界面优化**:采用简洁现代设计,优化布局与交互;新增个性化设置,支持自定义界面风格;改进响应式设计,适配多设备访问。 - -**性能优化**:提升页面加载速度,优化服务器架构;增强平台稳定性,保障不间断运行。 - -**帮助与支持**:优化新手引导,提供详细教程;更新在线帮助文档,增加实用指南;升级客服支持,提供多种联系方式。 - -### 三、数据安全与隐私保护 -**数据加密**:采用加密技术,确保数据存储与传输安全。 - -**安全监控**:建立安全审计机制,实时监测并处理安全事件。 - -**隐私政策**:更新隐私政策,明确数据收集与保护措施。 - -### 四、未来规划 -**持续创新**:推出人工智能辅助开发等功能,优化现有功能。 - -**社区建设**:加强社区互动,举办技术活动,提升用户支持。 - -**国际化布局**:支持多语言界面,拓展国际用户群体。 - -如有任何问题或建议,请随时反馈。我们将持续努力,为您提供更优质的服务! - -**GitLink 团队** -**2025年05月31日** - -
    - -

    文档下载/打印

    -

    需要线下查阅?
    - -

    - \ No newline at end of file +--- \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/快速开始/创建第一个开源项目.md b/versioned_docs/version-1.1.0/快速开始/创建第一个开源项目.md index afca983..b18cc64 100644 --- a/versioned_docs/version-1.1.0/快速开始/创建第一个开源项目.md +++ b/versioned_docs/version-1.1.0/快速开始/创建第一个开源项目.md @@ -22,10 +22,3 @@ sidebar_position: 2 点击创建项目,创建成功后进入项目主页。 ![](/img/quickstart/create_success.png) -
    - -

    文档下载/打印

    -

    需要线下查阅?
    - -

    - diff --git a/versioned_docs/version-1.1.0/快速开始/导入GitHub等第三方Git项目.md b/versioned_docs/version-1.1.0/快速开始/导入GitHub等第三方Git项目.md index 677de89..5a94b2e 100644 --- a/versioned_docs/version-1.1.0/快速开始/导入GitHub等第三方Git项目.md +++ b/versioned_docs/version-1.1.0/快速开始/导入GitHub等第三方Git项目.md @@ -89,11 +89,4 @@ sidebar_position: 5 迁移成功则导入项目成功 -![](/img/quickstart/import_success.png) -
    - -

    文档下载/打印

    -

    需要线下查阅?
    - -

    - \ No newline at end of file +![](/img/quickstart/import_success.png) \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/快速开始/提交第一行代码.md b/versioned_docs/version-1.1.0/快速开始/提交第一行代码.md index 5d30bfd..1436b02 100644 --- a/versioned_docs/version-1.1.0/快速开始/提交第一行代码.md +++ b/versioned_docs/version-1.1.0/快速开始/提交第一行代码.md @@ -19,11 +19,4 @@ sidebar_position: 3 ## 3. 代码更新成功 -提交成功后代码代码更新成功。![](/img/quickstart/first_success.png) -
    - -

    文档下载/打印

    -

    需要线下查阅?
    - -

    - \ No newline at end of file +提交成功后代码代码更新成功。![](/img/quickstart/first_success.png) \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/快速开始/搜索开源项目.md b/versioned_docs/version-1.1.0/快速开始/搜索开源项目.md index 5ca5cf6..d584762 100644 --- a/versioned_docs/version-1.1.0/快速开始/搜索开源项目.md +++ b/versioned_docs/version-1.1.0/快速开始/搜索开源项目.md @@ -13,7 +13,7 @@ sidebar_position: 4 ![](/img/quickstart/search_homepage.png) -右侧展示了所有项目的基本信息,包括创建者、项目名、项目简介、项目类别、更新时间、点赞数量、Fork 数量等信息,用户可以通过关键字搜索查找特定的项目,也可以按照更新时间、创建时间、Fork 数量、点赞数量等对项目进行排序。 +右侧展示了所有项目的基本信息,包括创建者、项目名、项目简介、浏览量、项目类别、更新时间、点赞数量、Fork 数量等信息,用户可以通过关键字搜索查找特定的项目,也可以按照更新时间、创建时间、Fork 数量、点赞数量等对项目进行排序。 ![](/img/quickstart/search_list.png) @@ -41,11 +41,4 @@ sidebar_position: 4 搜索结果: -![](/img/quickstart/search_result2.png) -
    - -

    文档下载/打印

    -

    需要线下查阅?
    - -

    - \ No newline at end of file +![](/img/quickstart/search_result2.png) \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/快速开始/注册GitLink账号.md b/versioned_docs/version-1.1.0/快速开始/注册GitLink账号.md index a1dbf03..5b3cadf 100644 --- a/versioned_docs/version-1.1.0/快速开始/注册GitLink账号.md +++ b/versioned_docs/version-1.1.0/快速开始/注册GitLink账号.md @@ -25,10 +25,3 @@ sidebar_position: 1 ![](/img/quickstart/register_ownpage.png) -
    - -

    文档下载/打印

    -

    需要线下查阅?
    - -

    - \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/服务协议/GitLink服务协议.md b/versioned_docs/version-1.1.0/服务协议/GitLink服务协议.md index e1696af..607cc59 100644 --- a/versioned_docs/version-1.1.0/服务协议/GitLink服务协议.md +++ b/versioned_docs/version-1.1.0/服务协议/GitLink服务协议.md @@ -31,12 +31,4 @@ sidebar_position: 1 GitLink团队保留在必要时对本协议修改的权利,一旦发生变动,这些条款可由GitLink团队及时更新,且毋须另行通知,修改后的条款一旦在网页上公布即有效代替原来的服务条款。您可随时查阅最新版服务条款。 -本协议最终解释权归GitLink团队所有。 - -
    - -

    文档下载/打印

    -

    需要线下查阅?
    - -

    - \ No newline at end of file +本协议最终解释权归GitLink团队所有。 \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/疑修/标记管理.md b/versioned_docs/version-1.1.0/疑修/标记管理.md index 3164aff..062fc3c 100644 --- a/versioned_docs/version-1.1.0/疑修/标记管理.md +++ b/versioned_docs/version-1.1.0/疑修/标记管理.md @@ -21,11 +21,4 @@ GitLink默认疑修共有缺陷、功能、疑问、支持、任务、协助、 ![](/img/Issue/imageIssue14.png) 另外,**项目成员**可以根据需求或习惯,进行标记含义或颜色标志的修改、新建标记和删除标记操作。 -![](/img/Issue/imageIssue15.png) -
    - -

    文档下载/打印

    -

    需要线下查阅?
    - -

    - \ No newline at end of file +![](/img/Issue/imageIssue15.png) \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/疑修/疑修列表.md b/versioned_docs/version-1.1.0/疑修/疑修列表.md index b0dc648..5ac8734 100644 --- a/versioned_docs/version-1.1.0/疑修/疑修列表.md +++ b/versioned_docs/version-1.1.0/疑修/疑修列表.md @@ -10,11 +10,4 @@ sidebar_position: 4 + **创建疑修**:在疑修列表界面下,点击“**创建疑修**”按钮,同样可以创建疑修,具体见 ***疑修创建*** 一节; -+ **筛选疑修**:疑修列表支持不同条件筛选,包括发布人、标记(见 ***标记管理*** 一节)、里程碑(见 ***里程碑管理*** 一节),负责人、状态和开始/结束日期等;同时支持关键字搜索,以及按多种排序规则对疑修进行排序。 -
    - -

    文档下载/打印

    -

    需要线下查阅?
    - -

    - \ No newline at end of file ++ **筛选疑修**:疑修列表支持不同条件筛选,包括发布人、标记(见 ***标记管理*** 一节)、里程碑(见 ***里程碑管理*** 一节),负责人、状态和开始/结束日期等;同时支持关键字搜索,以及按多种排序规则对疑修进行排序。 \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/疑修/疑修创建.md b/versioned_docs/version-1.1.0/疑修/疑修创建.md index 8cb94d3..0c2d9fe 100644 --- a/versioned_docs/version-1.1.0/疑修/疑修创建.md +++ b/versioned_docs/version-1.1.0/疑修/疑修创建.md @@ -19,10 +19,3 @@ sidebar_position: 2 ![](/img/Issue/imageIssue7.png) -
    - -

    文档下载/打印

    -

    需要线下查阅?
    - -

    - \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/疑修/疑修状态变更.md b/versioned_docs/version-1.1.0/疑修/疑修状态变更.md index ab57156..7984618 100644 --- a/versioned_docs/version-1.1.0/疑修/疑修状态变更.md +++ b/versioned_docs/version-1.1.0/疑修/疑修状态变更.md @@ -16,11 +16,4 @@ sidebar_position: 3 + **关闭**:已被解决或者没有必要继续开启的疑修,可被设置为“关闭”; -+ **拒绝**:若被指派解决疑修的开发者拒绝处理该疑修,则可把疑修设置为“拒绝”状态❌。 -
    - -

    文档下载/打印

    -

    需要线下查阅?
    - -

    - \ No newline at end of file ++ **拒绝**:若被指派解决疑修的开发者拒绝处理该疑修,则可把疑修设置为“拒绝”状态❌。 \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/疑修/疑修简介.md b/versioned_docs/version-1.1.0/疑修/疑修简介.md index 755ea43..fec3dc0 100644 --- a/versioned_docs/version-1.1.0/疑修/疑修简介.md +++ b/versioned_docs/version-1.1.0/疑修/疑修简介.md @@ -15,11 +15,3 @@ sidebar_position: 1 2. **疑修**的默认类型(标记)包括缺陷、功能、任务、支持、周报等,具体见 ***标记管理*** 一节; 3. 可以为**疑修**设置开始和结束时间,并指定负责解决该任务的负责人,在疑修截止日期的前一天,系统将自动为任务的发布者和被指派人发送提醒消息。 - -
    - -

    文档下载/打印

    -

    需要线下查阅?
    - -

    - \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/疑修/评论及操作记录.md b/versioned_docs/version-1.1.0/疑修/评论及操作记录.md index 6db4d36..80548e2 100644 --- a/versioned_docs/version-1.1.0/疑修/评论及操作记录.md +++ b/versioned_docs/version-1.1.0/疑修/评论及操作记录.md @@ -15,11 +15,4 @@ sidebar_position: 5 ### 操作记录 所有人都可以创建疑修,但是要注意,非项目成员仅可以修改自己创建的疑修,而项目成员有权限修改所有的疑修。 对于某个疑修的所有编辑操作,包括**创建疑修、添加负责人、移除负责人、更改状态、更改优先级、添加标记、移除标记、添加里程碑、移除里程碑、设置关联分支、移除关联分支、设置开始日期和设置结束日期**,均被记录在操作记录中。 -![](/img/Issue/imageIssue13.png) -
    - -

    文档下载/打印

    -

    需要线下查阅?
    - -

    - \ No newline at end of file +![](/img/Issue/imageIssue13.png) \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/疑修/里程碑管理.md b/versioned_docs/version-1.1.0/疑修/里程碑管理.md index e253e39..68e37c7 100644 --- a/versioned_docs/version-1.1.0/疑修/里程碑管理.md +++ b/versioned_docs/version-1.1.0/疑修/里程碑管理.md @@ -31,11 +31,4 @@ sidebar_position: 7 上述操作均可以在里程碑列表中,对目标里程碑进行处理实现,如下图所示: ![](/img/Issue/imageIssue19.png) -![](/img/Issue/imageIssue20.png) -
    - -

    文档下载/打印

    -

    需要线下查阅?
    - -

    - \ No newline at end of file +![](/img/Issue/imageIssue20.png) \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/第三方服务/WebIDE.md b/versioned_docs/version-1.1.0/第三方服务/WebIDE.md index b869a10..3d152e9 100644 --- a/versioned_docs/version-1.1.0/第三方服务/WebIDE.md +++ b/versioned_docs/version-1.1.0/第三方服务/WebIDE.md @@ -119,11 +119,4 @@ Gitlink 代码阅读场景虽然接入极速版 IDE 编辑器,但文件树、 随着 Webassembly 技术的发展,一些后端语言也可以运行在浏览器里,在 2021 年 Google IO 大会上,StackBlitz 展示了他们最近做的技术:WebContainer,该能力可以将语言运行时编译为 Webassembly 从而运行在浏览器上。Code-Runner-For-Web 插件结合 Pyodide,已经将 Python 的运行搬到了浏览器上,新版极速版也默认集成了该插件。 ![](/img/di_san_fang/WebIDE/Python代码运行.png) -
    Python代码运行
    -
    - -

    文档下载/打印

    -

    需要线下查阅?
    - -

    - \ No newline at end of file +
    Python代码运行
    \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/第三方服务/跨平台代码同步.md b/versioned_docs/version-1.1.0/第三方服务/跨平台代码同步.md index 04cb7ea..4d664bd 100644 --- a/versioned_docs/version-1.1.0/第三方服务/跨平台代码同步.md +++ b/versioned_docs/version-1.1.0/第三方服务/跨平台代码同步.md @@ -8,46 +8,46 @@ sidebar_position: 2 跨平台仓库代码同步服务用于不同代码托管平台之间的仓库代码双向同步功能。用户将不同平台的仓库分支进行绑定,当任意仓库分支有push事件被webhook监听时,代码推送将实时自动同步至另一个仓库,以实现不同平台之间分支、提交信息的自动同步(代码托管平台仅限于github与gitee)。 -![1.同步流程](../../../static/img/reposyncer/1.同步流程.png) +![1.同步流程](/img/reposyncer/1.同步流程.png) 同步服务既满足双平台代码库分支同步需求,也支持最多创建三个平台的代码仓库同步,如下图所示 -![2.同步方式](../../../static/img/reposyncer/2.同步方式.png) +![2.同步方式](/img/reposyncer/2.同步方式.png) ### 配置双向同步 1、进入需要创建同步的代码库“服务”tab,开通跨平台代码同步服务。 -![3.开启跨平台服务](../../../static/img/reposyncer/3.开启跨平台服务.png) +![3.开启跨平台服务](/img/reposyncer/3.开启跨平台服务.png) 2、配置跨平台的同步仓库,支持github和gitee。需输入代码库地址(git地址和网站访问地址均支持),以及配置对应token用于授权同步,此处须注意token的权限以及是否过期。
    Github配置方式为:个人头像→Settings→Developer Settings→Personal access tokens (classic)→Generate new token→勾选repo按钮→保存
    Gitee配置方式为:个人头像→设置→私人令牌→生成新令牌→勾选projects权限→提交 -![4.配置同步仓库](../../../static/img/reposyncer/4.配置同步仓库.jpg) +![4.配置同步仓库](/img/reposyncer/4.配置同步仓库.jpg) 3、在首次创建同步仓库时,需要用户手动在目标仓库的代码库创建一条webhook,用于监听仓库push事件,从而向其他同步仓库推送代码完成同步,同步步骤如下: ①点击“复制链接”按钮,复制平台用于接收webhook请求的地址 -![5.配置webhook](../../../static/img/reposyncer/5.配置webhook.jpg) +![5.配置webhook](/img/reposyncer/5.配置webhook.jpg) ②访问点击前往按钮前往目标仓库webhook页新建一个webhook,以github为例 -![6.webhook示例](../../../static/img/reposyncer/6.webhook示例.png) +![6.webhook示例](/img/reposyncer/6.webhook示例.png) ③粘贴链接,并确保该webhook支持push事件的监听,并已经成功激活 -![7.webhook配置规则](../../../static/img/reposyncer/7.webhook配置规则.png) +![7.webhook配置规则](/img/reposyncer/7.webhook配置规则.png) 4、完成仓库配置绑定后,需要绑定这两个仓库的指定同步分支,建立首次同步方向。注:首次同步的策略为单向代码强推,请谨慎选择同步方向开启同步以避免代码被覆盖 -![8.绑定分支](../../../static/img/reposyncer/8.绑定分支.jpg) +![8.绑定分支](/img/reposyncer/8.绑定分支.jpg) 5、完成分支的绑定,在绑定后会根据选择的同步方向立即执行一次同步。后续webhook监听到任意分支有代码推送,会实时向另一个绑定分支同步代码推送代码 -![9.确认绑定](../../../static/img/reposyncer/9.确认绑定.jpg) +![9.确认绑定](/img/reposyncer/9.确认绑定.jpg) ### 管理同步分支 @@ -60,7 +60,7 @@ Gitee配置方式为:个人头像→设置→私人令牌→生成新令牌→ ⑤查询同步记录,包括查看历次同步的代码变更方,同步时间,同步状态及对应commt id,查询同步日志。
    ⑥中止、开启同步,相当于同步开关,可随时启停 -![同步分支管理](../../../static/img/reposyncer/同步分支管理.png) +![同步分支管理](/img/reposyncer/同步分支管理.png) ### 注意事项 @@ -70,10 +70,4 @@ Gitee配置方式为:个人头像→设置→私人令牌→生成新令牌→ 4、在配置过程中,请仔细检查其他平台webhook的监听事件中是否包含了push事件,以及webhook是否已激活 -
    -

    文档下载/打印

    -

    需要线下查阅?
    - -

    - diff --git a/versioned_docs/version-1.1.0/第三方服务/重睛鸟代码溯源.md b/versioned_docs/version-1.1.0/第三方服务/重睛鸟代码溯源.md index 66b1adb..c2390c3 100644 --- a/versioned_docs/version-1.1.0/第三方服务/重睛鸟代码溯源.md +++ b/versioned_docs/version-1.1.0/第三方服务/重睛鸟代码溯源.md @@ -5,24 +5,24 @@ sidebar_position: 1 ## 代码分析入口 -![](../../../static/img/di_san_fang/重晴鸟代码溯源/代码分析入口.png)
    +![](/img/di_san_fang/重晴鸟代码溯源/代码分析入口.png)
    代码分析入口

    页面说明:
    1、用户可点击"服务"菜单 tab 进入服务页面。
    2、仓库管理员可在"仓库设置" tab 中项目导航处开启/关闭代码分析菜单可见性,如下图:
    -![](../../../static/img/di_san_fang/重晴鸟代码溯源/项目导航.png)
    +![](/img/di_san_fang/重晴鸟代码溯源/项目导航.png)
    项目导航

    ## 代码分析检测 -![](../../../static/img/di_san_fang/重晴鸟代码溯源/代码分析检测.png)
    +![](/img/di_san_fang/重晴鸟代码溯源/代码分析检测.png)
    代码分析检测

    -![](../../../static/img/di_san_fang/重晴鸟代码溯源/新建分析.png)
    +![](/img/di_san_fang/重晴鸟代码溯源/新建分析.png)
    新建分析

    页面说明:
    @@ -32,7 +32,7 @@ sidebar_position: 1 ## 分支选择 -![](../../../static/img/di_san_fang/重晴鸟代码溯源/分支选择.png)
    +![](/img/di_san_fang/重晴鸟代码溯源/分支选择.png)
    分支选择

    页面说明:
    @@ -42,7 +42,7 @@ sidebar_position: 1 ## 列表展示 -![](../../../static/img/di_san_fang/重晴鸟代码溯源/列表展示.png)
    +![](/img/di_san_fang/重晴鸟代码溯源/列表展示.png)
    列表展示

    页面说明:
    @@ -52,7 +52,7 @@ sidebar_position: 1 ## 结果展示 -![](../../../static/img/di_san_fang/重晴鸟代码溯源/结果展示.png)
    +![](/img/di_san_fang/重晴鸟代码溯源/结果展示.png)
    结果展示

    页面说明:
    @@ -62,14 +62,6 @@ sidebar_position: 1 ## 用户操作流程 -![](../../../static/img/di_san_fang/重晴鸟代码溯源/用户操作流程.png)
    +![](/img/di_san_fang/重晴鸟代码溯源/用户操作流程.png)
    用户操作流程

    - -
    - -

    文档下载/打印

    -

    需要线下查阅?
    - -

    - \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/组织管理/组织创建及设置.md b/versioned_docs/version-1.1.0/组织管理/组织创建及设置.md index bcc6df7..b39a71b 100644 --- a/versioned_docs/version-1.1.0/组织管理/组织创建及设置.md +++ b/versioned_docs/version-1.1.0/组织管理/组织创建及设置.md @@ -8,7 +8,7 @@ sidebar_position: 2 ![](/img/Org/imageOrg1.png) - 在新建页面中输入**组织账号**、**组织名称**、**组织描述**、**所在地区**、以及**组织头像**等信息后,点击“**创建组织**”按钮完成组织的创建。 + 在新建页面中输入**组织账号**、**组织名称**、**组织描述**、**所在地区**、**可见性**以及**组织头像**等信息后,点击“**创建组织**”按钮完成组织的创建。 ![](/img/Org/imageOrg2.png) @@ -29,11 +29,3 @@ sidebar_position: 2 ![](/img/Org/imageOrg3.png) **注**:可见性预设三类组织:公开、受限(仅对登录用户可见)、私有(仅对组织成员可见)。 - -
    - -

    文档下载/打印

    -

    需要线下查阅?
    - -

    - \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/组织管理/组织团队管理.md b/versioned_docs/version-1.1.0/组织管理/组织团队管理.md index 1a19328..ce0c356 100644 --- a/versioned_docs/version-1.1.0/组织管理/组织团队管理.md +++ b/versioned_docs/version-1.1.0/组织管理/组织团队管理.md @@ -31,10 +31,4 @@ sidebar_position: 3 ![](/img/Org/imageOrg12.png) -
    -

    文档下载/打印

    -

    需要线下查阅?
    - -

    - diff --git a/versioned_docs/version-1.1.0/组织管理/组织成员管理.md b/versioned_docs/version-1.1.0/组织管理/组织成员管理.md index 6365322..b178a64 100644 --- a/versioned_docs/version-1.1.0/组织管理/组织成员管理.md +++ b/versioned_docs/version-1.1.0/组织管理/组织成员管理.md @@ -1,28 +1,4 @@ --- sidebar_label: '组织成员管理' sidebar_position: 4 ---- -# 成员管理(Members Management) - - 在 个人所管理的项目当中的**仓库设置**当中的**成员管理**可以进入成员管理界面 - - ![](/img/Org/imageOrg14.png) - -## 成员查询和添加 -在成员管理界面当中,可以进行组织成员的查询和添加 - - ![](/img/Org/imageOrg14.png) - -## 成员邀请权限设置 -管理员可以对邀请成员的权限进行设置 - ![](/img/Org/imageOrg15.png) -此外,也可以复制邀请链接的方式来更方便地邀请成员加入到项目当中来 - - **注**:此项功能仅对管理员可见 -
    - -

    文档下载/打印

    -

    需要线下查阅?
    - -

    - \ No newline at end of file +--- \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/组织管理/组织简介.md b/versioned_docs/version-1.1.0/组织管理/组织简介.md index 1c7c077..f12bc3a 100644 --- a/versioned_docs/version-1.1.0/组织管理/组织简介.md +++ b/versioned_docs/version-1.1.0/组织管理/组织简介.md @@ -26,11 +26,3 @@ sidebar_position: 1 ## 作为组织成员 您可以通过组织与无限数量的人在多个项目中协作,与志同道合的人一起,通过分工和写作,参与开发流程,发布或处理问题。 - -
    - -

    文档下载/打印

    -

    需要线下查阅?
    - -

    - \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/组织管理/组织项目管理.md b/versioned_docs/version-1.1.0/组织管理/组织项目管理.md index 53062f9..2253db7 100644 --- a/versioned_docs/version-1.1.0/组织管理/组织项目管理.md +++ b/versioned_docs/version-1.1.0/组织管理/组织项目管理.md @@ -10,10 +10,3 @@ sidebar_position: 5 **注**:在“拥有者”一栏的下拉选项中,可以选择:个人、组织、团队 -
    - -

    文档下载/打印

    -

    需要线下查阅?
    - -

    - \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/维基/模板导入及导出.md b/versioned_docs/version-1.1.0/维基/模板导入及导出.md index e731069..0901b17 100644 --- a/versioned_docs/version-1.1.0/维基/模板导入及导出.md +++ b/versioned_docs/version-1.1.0/维基/模板导入及导出.md @@ -1,21 +1,4 @@ --- sidebar_label: '模板导入及导出' sidebar_position: 2 ---- - -# 确实开源帮助中心 - -## 模板的导入及导出管理 -#### 1.模板导入 -通过点击wiki界面的**导入模板**按钮即可导入本地的txt,markdown等格式文件进行Wiki文档的创建,当前平台此项功能尚在开发测试环节 -![](/img/wiki/img4.png) -#### 2.模板导出 -当前平台此项功能尚在开发测试环节 -
    -
    - -

    文档下载/打印

    -

    需要线下查阅?
    - -

    - \ No newline at end of file +--- \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/维基/维基页面管理.md b/versioned_docs/version-1.1.0/维基/维基页面管理.md index 4735813..1ed56fc 100644 --- a/versioned_docs/version-1.1.0/维基/维基页面管理.md +++ b/versioned_docs/version-1.1.0/维基/维基页面管理.md @@ -1,30 +1,4 @@ --- sidebar_label: '维基页面管理' sidebar_position: 1 ---- - - -# 确实开源帮助中心 - -## 维基界面管理 -#### 1.维基界面 -GitLink项目安排了专门的**维基(Wiki)界面**来展示项目的一些情况 -![](/img/wiki/img1.png) - -#### 2.创建维基内容 -在初始化的维基界面当中点击**创建Wiki文档**或者**导入模板**即可进行Wiki文档的编辑 -
    - -#### 3.进行Wiki文档的编辑 -点击**创建Wiki文档**后即跳转到编辑界面,初始内容为空白的文档 -![](/img/wiki/img3.png) -也可以通过勾选*添加模板*来进行模板的导入,平台提供的模板包括*周报*和*月报*的格式 -![](/img/wiki/img2.png) -完成编辑后点击左下角的的保存即可 -
    - -

    文档下载/打印

    -

    需要线下查阅?
    - -

    - \ No newline at end of file +--- \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/通知/通知简介.md b/versioned_docs/version-1.1.0/通知/通知简介.md index 4fbf790..278389b 100644 --- a/versioned_docs/version-1.1.0/通知/通知简介.md +++ b/versioned_docs/version-1.1.0/通知/通知简介.md @@ -26,11 +26,4 @@ GitLink将通知分为“系统通知”和“@我”的两种类型: 点击通知按钮可以进入消息通知界面,“我的通知”界面可以进行“进查看未读消息”和“所有消息一键已读”的选择。 -![](/img/notice/my_notice2.png) -
    - -

    文档下载/打印

    -

    需要线下查阅?
    - -

    - \ No newline at end of file +![](/img/notice/my_notice2.png) \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/通知/通知设置.md b/versioned_docs/version-1.1.0/通知/通知设置.md index d7a599b..37f798c 100644 --- a/versioned_docs/version-1.1.0/通知/通知设置.md +++ b/versioned_docs/version-1.1.0/通知/通知设置.md @@ -17,11 +17,4 @@ sidebar_position: 2 #### 2.进行通知设置 通过“通知管理”可以对接受通知的方式进行设置,默认所有通知都是通过站内信的方式接受,可以通过勾选为重要的通知类型增加邮件接受方式。 -![](/img/notice/notice_set.png) -
    - -

    文档下载/打印

    -

    需要线下查阅?
    - -

    - \ No newline at end of file +![](/img/notice/notice_set.png) \ No newline at end of file -- 2.34.1 From 69d9ea614b2e1314917aa05acca3679c8b250acf Mon Sep 17 00:00:00 2001 From: Dmz1215 Date: Fri, 11 Jul 2025 09:32:52 +0800 Subject: [PATCH 25/28] =?UTF-8?q?refactor:=20.devops/=E6=9C=AA=E5=91=BD?= =?UTF-8?q?=E5=90=8D=E9=A1=B9=E7=9B=AE.yml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .devops/未命名项目.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.devops/未命名项目.yml b/.devops/未命名项目.yml index ca79365..89b397e 100644 --- a/.devops/未命名项目.yml +++ b/.devops/未命名项目.yml @@ -32,11 +32,11 @@ workflow: name: docker镜像构建 task: docker_image_build@1.6.0 input: - docker_username: ((xuyuanpeng.user)) - docker_password: ((xuyuanpeng.key)) - image_name: '"crpi-8e4d3x02j0ndtmyu.cn-shanghai.personal.cr.aliyuncs.com/aishangliying/xudapao"' + docker_username: ((dmz.aliyun_name)) + docker_password: ((dmz.aliyun_key)) + image_name: '"registry.cn-hangzhou.aliyuncs.com/dmzchangsha/bzzx"' image_tag: '"latest"' - registry_address: '"crpi-8e4d3x02j0ndtmyu.cn-shanghai.personal.cr.aliyuncs.com"' + registry_address: '"registry.cn-hangzhou.aliyuncs.com"' docker_file: '"Dockerfile"' docker_build_path: '"."' workspace: git_clone_0.git_path -- 2.34.1 From 6255d59041a95286fe0e09303a705d76a94d3547 Mon Sep 17 00:00:00 2001 From: Dmz1215 Date: Fri, 11 Jul 2025 09:57:11 +0800 Subject: [PATCH 26/28] =?UTF-8?q?refactor:=20.devops/=E6=9C=AA=E5=91=BD?= =?UTF-8?q?=E5=90=8D=E9=A1=B9=E7=9B=AE.yml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .devops/未命名项目.yml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/.devops/未命名项目.yml b/.devops/未命名项目.yml index 89b397e..1235f99 100644 --- a/.devops/未命名项目.yml +++ b/.devops/未命名项目.yml @@ -52,11 +52,10 @@ workflow: ssh_ip: '"47.98.110.189"' ssh_port: '"22"' ssh_user: '"root"' - ssh_cmd: '"docker stop xudapao || true && docker rm xudapao || true && docker - pull - crpi-8e4d3x02j0ndtmyu.cn-shanghai.personal.cr.aliyuncs.com/aishangliying/xudapao:latest; - docker run -d -p 3000:3000 --name xudapao - crpi-8e4d3x02j0ndtmyu.cn-shanghai.personal.cr.aliyuncs.com/aishangliying/xudapao:latest"' + ssh_cmd: "\"docker stop bzzx || true && docker rm bzzx || true && docker pull + registry.cn-hangzhou.aliyuncs.com/dmzchangsha/bzzx:latest; docker run -d + -p 3000:3000 --name bzzx -e BOOT_MODE='app' + registry.cn-hangzhou.aliyuncs.com/dmzchangsha/bzzx:latest\"" needs: - docker_image_build_0 - ref: end -- 2.34.1 From 26a758dd62f2cf6e52bcb1fe1e5ef3c31afa8e2a Mon Sep 17 00:00:00 2001 From: Dmz1215 Date: Fri, 11 Jul 2025 10:13:04 +0800 Subject: [PATCH 27/28] =?UTF-8?q?refactor:=20.devops/=E6=9C=AA=E5=91=BD?= =?UTF-8?q?=E5=90=8D=E9=A1=B9=E7=9B=AE.yml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .devops/未命名项目.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.devops/未命名项目.yml b/.devops/未命名项目.yml index 1235f99..2d0c5f1 100644 --- a/.devops/未命名项目.yml +++ b/.devops/未命名项目.yml @@ -54,7 +54,7 @@ workflow: ssh_user: '"root"' ssh_cmd: "\"docker stop bzzx || true && docker rm bzzx || true && docker pull registry.cn-hangzhou.aliyuncs.com/dmzchangsha/bzzx:latest; docker run -d - -p 3000:3000 --name bzzx -e BOOT_MODE='app' + -p 5000:5001 --name bzzx -e BOOT_MODE='app' registry.cn-hangzhou.aliyuncs.com/dmzchangsha/bzzx:latest\"" needs: - docker_image_build_0 -- 2.34.1 From b1ad1434e00411a9a3fcbfc4850949e163f35204 Mon Sep 17 00:00:00 2001 From: dmz <2033017499@qq.com> Date: Thu, 17 Jul 2025 08:28:09 +0800 Subject: [PATCH 28/28] 1 --- fix_all_img_paths.ps1 | 46 +++++++++++++ fix_image_paths.ps1 | 17 +++++ fix_image_paths_corrected.ps1 | 68 +++++++++++++++++++ .../version-1.1.0/Bot市场/bot安装.md | 68 +++++++++++++++++++ .../version-1.1.0/Bot市场/bot市场.md | 60 +++++++++++++++- .../version-1.1.0/Bot市场/bot开发.md | 46 +++++++++++++ .../version-1.1.0/Bot市场/bot配置.md | 46 +++++++++++++ .../version-1.1.0/Bot市场/mybutton.js | 13 ++++ .../Bot市场/mybutton.module.css | 21 ++++++ .../代码库管理/代码安全与合规.md | 62 ----------------- .../代码库管理/代码提交.md | 9 ++- .../代码库管理/分支管理.md | 11 ++- .../代码库管理/文件管理.md | 17 ++++- .../合并请求/代码评审.md | 9 ++- .../平台公告/更新日志.md | 34 ---------- .../version-1.1.0/第三方服务/WebIDE.md | 10 +-- .../第三方服务/重睛鸟代码溯源.md | 2 +- .../组织管理/组织成员管理.md | 19 +++++- .../维基/模板导入及导出.md | 13 +++- .../维基/维基页面管理.md | 21 +++++- .../version-1.1.0/通知/通知设置.md | 1 + 21 files changed, 483 insertions(+), 110 deletions(-) create mode 100644 fix_all_img_paths.ps1 create mode 100644 fix_image_paths.ps1 create mode 100644 fix_image_paths_corrected.ps1 create mode 100644 versioned_docs/version-1.1.0/Bot市场/mybutton.js create mode 100644 versioned_docs/version-1.1.0/Bot市场/mybutton.module.css delete mode 100644 versioned_docs/version-1.1.0/代码库管理/代码安全与合规.md delete mode 100644 versioned_docs/version-1.1.0/平台公告/更新日志.md diff --git a/fix_all_img_paths.ps1 b/fix_all_img_paths.ps1 new file mode 100644 index 0000000..44edc41 --- /dev/null +++ b/fix_all_img_paths.ps1 @@ -0,0 +1,46 @@ +# 批量修复图片路径问题的PowerShell脚本 +$files = @( + "versioned_docs/version-1.1.0/Bot市场/bot安装.md", + "versioned_docs/version-1.1.0/Bot市场/bot市场.md", + "versioned_docs/version-1.1.0/Bot市场/bot开发.md", + "versioned_docs/version-1.1.0/Bot市场/bot配置.md", + "versioned_docs/version-1.1.0/DevOps引擎/代码流水线.md", + "versioned_docs/version-1.1.0/DevOps引擎/参数配置.md", + "versioned_docs/version-1.1.0/DevOps引擎/图形流水线.md", + "versioned_docs/version-1.1.0/DevOps引擎/密钥设置.md", + "versioned_docs/version-1.1.0/DevOps引擎/引擎简介.md", + "versioned_docs/version-1.1.0/DevOps引擎/执行记录查询.md", + "versioned_docs/version-1.1.0/个人主页建站/建站工具.md", + "versioned_docs/version-1.1.0/个人主页建站/站点创建流程.md", + "versioned_docs/version-1.1.0/代码库管理/WebIDE.md", + "versioned_docs/version-1.1.0/代码库管理/Webhook.md", + "versioned_docs/version-1.1.0/代码库管理/仓库创建.md", + "versioned_docs/version-1.1.0/代码库管理/仓库设置.md", + "versioned_docs/version-1.1.0/代码库管理/代码提交.md", + "versioned_docs/version-1.1.0/代码库管理/分支管理.md", + "versioned_docs/version-1.1.0/代码库管理/成员管理.md", + "versioned_docs/version-1.1.0/代码库管理/文件管理.md", + "versioned_docs/version-1.1.0/代码库管理/标签和发行版管理.md", + "versioned_docs/version-1.1.0/合并请求/代码评审.md", + "versioned_docs/version-1.1.0/第三方服务/跨平台代码同步.md", + "versioned_docs/version-1.1.0/第三方服务/重睛鸟代码溯源.md" +) + +foreach ($file in $files) { + if (Test-Path $file) { + $content = Get-Content -Path $file -Raw -Encoding UTF8 + + # 修复图片路径 - 将相对路径替换为绝对路径 + $content = $content -replace '\.\.\/\.\.\/static\/img\/', '/img/' + $content = $content -replace 'versioned_docs\/static\/img\/', '/img/' + + # 保存回文件 + [System.IO.File]::WriteAllText($file, $content, [System.Text.Encoding]::UTF8) + + Write-Host "已修复图片路径: $file" + } else { + Write-Host "文件不存在: $file" -ForegroundColor Red + } +} + +Write-Host "所有文件的图片路径修复完成!" -ForegroundColor Green \ No newline at end of file diff --git a/fix_image_paths.ps1 b/fix_image_paths.ps1 new file mode 100644 index 0000000..71c0a9f --- /dev/null +++ b/fix_image_paths.ps1 @@ -0,0 +1,17 @@ +# Fix image paths in versioned_docs +$files = Get-ChildItem -Path "versioned_docs/version-1.1.0" -Filter "*.md" -Recurse + +foreach ($file in $files) { + $content = Get-Content $file.FullName -Raw -Encoding UTF8 + + # Fix image paths - replace incorrect formats with correct /img/ format + $content = $content -replace '../../static/img/', '/img/' + $content = $content -replace 'versioned_docs/static/img/', '/img/' + + # Write content back to file + [System.IO.File]::WriteAllText($file.FullName, $content, [System.Text.Encoding]::UTF8) + + Write-Host "Fixed image paths in: $($file.FullName)" +} + +Write-Host "All image paths fixed!" \ No newline at end of file diff --git a/fix_image_paths_corrected.ps1 b/fix_image_paths_corrected.ps1 new file mode 100644 index 0000000..481b20b --- /dev/null +++ b/fix_image_paths_corrected.ps1 @@ -0,0 +1,68 @@ +# 批量修复图片路径问题的PowerShell脚本 - 修正版 +# 设置控制台编码为UTF-8 +[Console]::OutputEncoding = [System.Text.Encoding]::UTF8 +$OutputEncoding = [System.Text.Encoding]::UTF8 + +$files = @( + "versioned_docs/version-1.1.0/Bot市场/bot安装.md", + "versioned_docs/version-1.1.0/Bot市场/bot市场.md", + "versioned_docs/version-1.1.0/Bot市场/bot开发.md", + "versioned_docs/version-1.1.0/Bot市场/bot配置.md", + "versioned_docs/version-1.1.0/DevOps引擎/代码流水线.md", + "versioned_docs/version-1.1.0/DevOps引擎/参数配置.md", + "versioned_docs/version-1.1.0/DevOps引擎/图形流水线.md", + "versioned_docs/version-1.1.0/DevOps引擎/密钥设置.md", + "versioned_docs/version-1.1.0/DevOps引擎/引擎简介.md", + "versioned_docs/version-1.1.0/DevOps引擎/执行记录查询.md", + "versioned_docs/version-1.1.0/个人主页建站/建站工具.md", + "versioned_docs/version-1.1.0/个人主页建站/站点创建流程.md", + "versioned_docs/version-1.1.0/代码库管理/WebIDE.md", + "versioned_docs/version-1.1.0/代码库管理/Webhook.md", + "versioned_docs/version-1.1.0/代码库管理/仓库创建.md", + "versioned_docs/version-1.1.0/代码库管理/仓库设置.md", + "versioned_docs/version-1.1.0/代码库管理/代码提交.md", + "versioned_docs/version-1.1.0/代码库管理/分支管理.md", + "versioned_docs/version-1.1.0/代码库管理/成员管理.md", + "versioned_docs/version-1.1.0/代码库管理/文件管理.md", + "versioned_docs/version-1.1.0/代码库管理/标签和发行版管理.md", + "versioned_docs/version-1.1.0/合并请求/代码评审.md", + "versioned_docs/version-1.1.0/第三方服务/跨平台代码同步.md", + "versioned_docs/version-1.1.0/第三方服务/重睛鸟代码溯源.md" +) + +$processedCount = 0 +$errorCount = 0 + +foreach ($file in $files) { + if (Test-Path $file) { + try { + # 读取文件内容,指定UTF-8编码 + $content = Get-Content -Path $file -Raw -Encoding UTF8 + + # 记录原始内容长度 + $originalLength = $content.Length + + # 修复图片路径 - 将相对路径替换为绝对路径 + $content = $content -replace '\.\.\/\.\.\/static\/img\/', '/img/' + $content = $content -replace 'versioned_docs\/static\/img\/', '/img/' + $content = $content -replace '\.\.\/\.\.\/\.\.\/static\/img\/', '/img/' + + # 保存回文件,使用UTF-8编码 + [System.IO.File]::WriteAllText($file, $content, [System.Text.Encoding]::UTF8) + + $processedCount++ + Write-Host "已修复图片路径: $file" -ForegroundColor Green + } + catch { + $errorCount++ + Write-Host "处理文件时出错: $file - $($_.Exception.Message)" -ForegroundColor Red + } + } else { + $errorCount++ + Write-Host "文件不存在: $file" -ForegroundColor Yellow + } +} + +Write-Host "`n处理完成!" -ForegroundColor Cyan +Write-Host "成功处理: $processedCount 个文件" -ForegroundColor Green +Write-Host "错误/缺失: $errorCount 个文件" -ForegroundColor Red \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/Bot市场/bot安装.md b/versioned_docs/version-1.1.0/Bot市场/bot安装.md index 58a7b1b..b6382bf 100644 --- a/versioned_docs/version-1.1.0/Bot市场/bot安装.md +++ b/versioned_docs/version-1.1.0/Bot市场/bot安装.md @@ -2,6 +2,74 @@ sidebar_label: 'bot安装' sidebar_position: 1 --- +import MyButton from './mybutton'; + + { +var pElements = document.getElementsByTagName('p'); +var hElements = document.getElementsByTagName('h1'); +var aElements = document.getElementsByTagName('a'); +var hzh = ['bot安装','bot安装']; +var hen = ['Bot Installation','Bot Installation']; +var azh = ['跳到主要内容','','帮助中心','','','','','','','','','','','','','','','','','','','','','机器人(Bot)','编辑此页','上一页 bot市场','下一页bot 配置','网站首页','关于我们','教学实践','合作伙伴','API文档','Git常用命令','引擎使用手册','服务协议','官网邮箱:gitlink@ccf.org.cn','QQ群','公众号']; +var aen = ['Jump to main content','','Help Center','','','','','','','','','','','','','','','','','','','','','Robot (Bot)','Edit this page','last page Bot market','next page Bot configuration','Website homepage','About Us','Teaching practice','Partners','API documentation','Common Git commands','Engine User Manual','Service Agreement','Official website email: gitlink@ccf.org.cn','QQ group','Official Account']; +var zhtranalate = ['Bot安装是进行bot安装和管理控制的重要模块,主要包括bot安装、安装查询、安装管理等功能。','在bot详情页,用户点击“安装此Bot”按钮后,可以看到该bot工作所需的各项权限信息。若用户同意授予bot所需的相关权限即可进行安装。用户可选择将bot安装到所有仓库(用户拥有的所有仓库)中,也可以选择指定的仓库进行安装。','','在个人“设置”或者“仓库设置”中,用户可以看到目前已经安装的Bot情况,点击“配置”按钮可以对bot安装情况进行配置,点击“卸载”按钮可以进行卸载。','','在bot安装配置页中,用户可以掌握该bot的安装位置和工作状态。若用户需要更改bot的工作仓库时,可以进行更改安装位置。bot的工作状态包括激活和挂起,用户可根据需要对bot的状态进行调整,将其挂起或者激活,会影响到bot对仓库数据的访问权限。','','©Copyright 2024 CCF 开源发展委员会','Powered by Trustie& IntelliDE 京ICP备13000930号']; +var entranslate = ['Bot installation is an important module for bot installation and management control, which mainly includes functions such as bot installation, installation queries, and installation management.','On the bot details page, after clicking the "Install this bot" button, users can see the necessary permission information for the bot to work. If the user agrees to grant the necessary permissions to the bot, installation can proceed. Users can choose to install the bot in all warehouses (all warehouses owned by the user) or select a specified warehouse for installation.','','In personal "settings" or "warehouse settings", users can see the current installation status of bots. Click the "configure" button to configure the bot installation status, and click the "uninstall" button to uninstall.','','In the bot installation configuration page, users can grasp the installation location and working status of the bot. If the user needs to change the workspace of the bot, they can change the installation location. The working status of bots includes activation and suspension. Users can adjust the status of bots as needed. Suspending or activating bots can affect their access to warehouse data.','','© Copyright 2024 CCF Open Source Development Committee','Powered by Trust&IntelliDE Beijing ICP Preparation No. 13000930']; +if (pElements[0].innerText == zhtranalate[0]){ + for (var i = 0; i < pElements.length; i++) { + if (pElements[i].innerText != ''){ + if (i < pElements.length){ + pElements[i].innerText = entranslate[i]; + } + } +} +} +else{ + for (var i = 0; i < pElements.length; i++) { + if (pElements[i].innerText != ''){ + if (i < pElements.length){ + pElements[i].innerText = zhtranalate[i]; + } + } +} +} +if (hElements[0].innerText == hzh[0]){ + for (var i = 0; i < hElements.length; i++) { + if (hElements[i].innerText != ''){ + if (i < hElements.length){ + hElements[i].innerText = hen[i]; + } + } +} +} +else{ + for (var i = 0; i < hElements.length; i++) { + if (hElements[i].innerText != ''){ + if (i < hElements.length){ + hElements[i].innerText = hzh[i]; + } + } +} +} +if (aElements[0].innerText == azh[0]){ + for (var i = 0; i < aElements.length; i++) { + if (aElements[i].innerText != ''){ + if (i < aElements.length){ + aElements[i].innerText = aen[i]; + } + } +} +} +else{ + for (var i = 0; i < aElements.length; i++) { + if (aElements[i].innerText != ''){ + if (i < aElements.length){ + aElements[i].innerText = azh[i]; + } + } +} +} +}}>中/英 + # bot安装 diff --git a/versioned_docs/version-1.1.0/Bot市场/bot市场.md b/versioned_docs/version-1.1.0/Bot市场/bot市场.md index 216a566..26a05db 100644 --- a/versioned_docs/version-1.1.0/Bot市场/bot市场.md +++ b/versioned_docs/version-1.1.0/Bot市场/bot市场.md @@ -2,6 +2,52 @@ sidebar_label: 'bot市场' sidebar_position: 4 --- +import MyButton from './mybutton'; + + { +var pElements = document.getElementsByTagName('p'); +var hElements = document.getElementsByTagName('h1'); +var hzh = ['bot市场','bot市场']; +var hen = ['Bot Market','Bot Market']; +var zhtranalate = ['Bot市场是进行Bot分享与复用的重要模块,主要包括bot的搜索发现,详情查看等功能。','Bot市场主页中展示了目前所有已经上架市场的bot简要信息,包括bot的头像,名称,开发者,简介和安装次数等信息,用户可根据这些基本信息初步判断该bot是否符合自己的项目需求。','在bot市场主页中,用户可以选择指定的bot种类,筛选出特定分类的bot,在这个种类范围内进行搜索与选择。','此外,用户通过在搜索栏中输入关键字进行搜索,可检索出内容包含指定关键字的相关bot。','用户可结合种类筛选和关键字搜索缩小范围,在市场中快速找到符合项目相关需求的bot。','','在bot市场页中,用户点击指定的bot卡片即可进入该bot的详情页。Bot的详情页包含bot的头像,名称,开发者,种类和详细介绍等信息,用户可在此掌握该bot的各项介绍,进一步判断是否将其安装到指定仓库中。','','在bot详情页中,若用户认为该bot满足自己的项目需求,可点击“安装此Bot”按钮,了解该bot的权限信息,将其安装到指定的仓库中,关于安装的更多介绍可见“Bot安装”部分。','去市场看看吧!','©Copyright 2024 CCF 开源发展委员会','Powered by Trustie& IntelliDE 京ICP备13000930号']; +var entranslate = ['The bot market is an important module for sharing and reusing bots, mainly including functions such as searching, discovering, and viewing details of bots.' , 'The Bot Market homepage displays brief information about all bots that have been put on the market, including their avatars, names, developers, introductions, and installation times. Users can use this basic information to preliminarily determine whether the bot meets their project requirements.' , 'On the bot market homepage, users can select a specific type of bot, filter out specific categories of bots, and search and select within this category range.' , 'In addition, users can search for relevant bots containing specified keywords by entering keywords in the search bar.' , 'Users can combine category filtering and keyword search to narrow down the scope and quickly find bots that meet project related needs in the market.' , '' , 'In the bot market page, users can click on the specified bot card to enter the details page of the bot. The details page of the bot includes information such as the bot avatar, name, developer, type, and detailed introduction. Users can grasp the various introductions of the bot here and further determine whether to install it in the designated warehouse.' , '' , 'In the bot details page, if users believe that the bot meets their project requirements, they can click the "Install this bot" button to learn about the bots permission information and install it in the designated warehouse. For more information on installation, please refer to the "Bot Installation" section' , 'Go take a look at the market!' , '©Copyright 2024 CCF Open Source Development Committee' , 'Powered by Trustie& IntelliDE 京ICP备13000930号']; +if (pElements[0].innerText == zhtranalate[0]){ + for (var i = 0; i < pElements.length; i++) { + if (pElements[i].innerText != ''){ + if (i < pElements.length){ + pElements[i].innerText = entranslate[i]; + } + } +} +} +else{ + for (var i = 0; i < pElements.length; i++) { + if (pElements[i].innerText != ''){ + if (i < pElements.length){ + pElements[i].innerText = zhtranalate[i]; + } + } +} +} +if (hElements[0].innerText == hzh[0]){ + for (var i = 0; i < hElements.length; i++) { + if (hElements[i].innerText != ''){ + if (i < hElements.length){ + hElements[i].innerText = hen[i]; + } + } +} +} +else{ + for (var i = 0; i < hElements.length; i++) { + if (hElements[i].innerText != ''){ + if (i < hElements.length){ + hElements[i].innerText = hzh[i]; + } + } +} +} +}}>中/英 # Bot市场 @@ -21,4 +67,16 @@ Bot市场主页中展示了目前所有已经上架市场的bot简要信息, ![botmarket2](/img/bot/botmarket2.png) -在bot详情页中,若用户认为该bot满足自己的项目需求,可点击“安装此Bot”按钮,了解该bot的权限信息,将其安装到指定的仓库中,关于安装的更多介绍可见“Bot安装”部分。 \ No newline at end of file +在bot详情页中,若用户认为该bot满足自己的项目需求,可点击“安装此Bot”按钮,了解该bot的权限信息,将其安装到指定的仓库中,关于安装的更多介绍可见“Bot安装”部分。 + + + + + +去市场看看吧! + + { +location.href = "https://www.gitlink.org.cn/softbot"; +}}>Bot市场 + + diff --git a/versioned_docs/version-1.1.0/Bot市场/bot开发.md b/versioned_docs/version-1.1.0/Bot市场/bot开发.md index 4adc959..4a7d265 100644 --- a/versioned_docs/version-1.1.0/Bot市场/bot开发.md +++ b/versioned_docs/version-1.1.0/Bot市场/bot开发.md @@ -2,6 +2,52 @@ sidebar_label: 'bot开发' sidebar_position: 3 --- +import MyButton from './mybutton'; + + { +var pElements = document.getElementsByTagName('p'); +var hElements = document.getElementsByTagName('h1'); +var hzh = ['bot开发','bot开发']; +var hen = ['Bot Development','Bot Development']; +var zhtranalate = ['Bot开发是开发者进行bot注册的重要模块。' , '在个人“设置”中,用户可以看到目前已经注册的bot列表,点击对应bot的“编辑”按钮可以对已注册的bot进行配置;点击“Bot注册”按钮开始注册新的bot。' , '' , '在注册页中,开发者需要填写bot注册的相关信息,包括bot的名称、Webhook 地址,详细介绍等,系统将对开发者输入的信息进行合法性校验,确保bot各项信息的完整性和有效性。此外,系统将自动生成bot的唯一标识,同时调用 GitLink 平台的相关接口生成bot的身份凭证信息,包括客户端密钥和私钥等。' , '开发者需通过这些身份信息结合平台接口进行bot身份认证后,调用相关接口完成bot的相关功能。' , '平台开发API链接(待完善):https://www.gitlink.org.cn/docs/api#introduction' , '' , '' , '©Copyright 2024 CCF 开源发展委员会' , 'Powered by Trustie& IntelliDE 京ICP备13000930号']; +var entranslate = ['Bot development is an important module for developers to register their bots.' , 'In personal settings, users can see a list of registered bots and click the "Edit" button on the corresponding bot to configure the registered bots; Click the "Bot Registration" button to start registering a new bot.' , '' , 'In the registration page, developers need to fill in the relevant information for bot registration, including the name of the bot, Webhook address, detailed introduction, etc. The system will verify the legality of the information entered by the developer to ensure the completeness and validity of all bot information. In addition, the system will automatically generate a unique identifier for the bot, and call the relevant interfaces of the GitLink platform to generate the identity credential information of the bot, including the client key and private key.' , 'Developers need to use these identity information in combination with the platform interface for bot identity authentication, and then call the relevant interface to complete the relevant functions of the bot.' , 'Platform development API link (to be improved): https://www.gitlink.org.cn/docs/api#introduction' , '' , '' , '© Copyright 2024 CCF Open Source Development Committee' , 'Powered by Trust&IntelliDE Beijing ICP Preparation No. 13000930']; +if (pElements[0].innerText == zhtranalate[0]){ + for (var i = 0; i < pElements.length; i++) { + if (pElements[i].innerText != ''){ + if (i < pElements.length){ + pElements[i].innerText = entranslate[i]; + } + } +} +} +else{ + for (var i = 0; i < pElements.length; i++) { + if (pElements[i].innerText != ''){ + if (i < pElements.length){ + pElements[i].innerText = zhtranalate[i]; + } + } +} +} +if (hElements[0].innerText == hzh[0]){ + for (var i = 0; i < hElements.length; i++) { + if (hElements[i].innerText != ''){ + if (i < hElements.length){ + hElements[i].innerText = hen[i]; + } + } +} +} +else{ + for (var i = 0; i < hElements.length; i++) { + if (hElements[i].innerText != ''){ + if (i < hElements.length){ + hElements[i].innerText = hzh[i]; + } + } +} +} +}}>中/英 # Bot开发 diff --git a/versioned_docs/version-1.1.0/Bot市场/bot配置.md b/versioned_docs/version-1.1.0/Bot市场/bot配置.md index 4260b3d..33cb432 100644 --- a/versioned_docs/version-1.1.0/Bot市场/bot配置.md +++ b/versioned_docs/version-1.1.0/Bot市场/bot配置.md @@ -2,6 +2,52 @@ sidebar_label: 'bot配置' sidebar_position: 2 --- +import MyButton from './mybutton'; + + { +var pElements = document.getElementsByTagName('p'); +var hElements = document.getElementsByTagName('h1'); +var hzh = ['bot配置','bot配置']; +var hen = ['Bot Configure','Bot Configure']; +var zhtranalate = ['Bot配置是开发者进行bot维护和配置的重要模块,主要包括bot基本信息维护、权限&订阅事件管理、高级选项配置等功能。','Bot的基本信息维护中,开发者可以看到bot的各项基本信息,并可以根据需要对bot的头像,名称,Webhook地址等进行修改。','','Bot的权限&订阅事件管理中,开发者可根据对仓库资源的访问需要为bot分配不同的权限和等级,比如增加代码库权限,将拉取请求的写权限变为读权限等。开发者还能更改当前bot订阅的事件列表,比如订阅代码库推送,取消拉取请求分配订阅等,以实现bot功能的更新与升级。','','Bot高级选项配置中,开发者可以改变bot的公私有状态,从而影响到bot的使用范围。需要注意的是,公开状态下的bot在已有其他仓库安装的情况下不能变成私有。开发者可选择将bot上架到市场,需要填写上架信息,包括市场简介,主要功能,次要功能等各项信息。','开发者还能进行bot的删除和转让操作,发起转让意味着更改bot的所有权,需要输入接受者的用户名。在接受者确定接受后,即可完成bot的所有权变更,拒绝则会取消本次的转让操作。','','©Copyright 2024 CCF 开源发展委员会','Powered by Trustie& IntelliDE 京ICP备13000930号']; +var entranslate = ['Bot configuration is an important module for developers to maintain and configure bots, mainly including basic bot information maintenance, permission&subscription event management, advanced option configuration, and other functions.' , 'In the basic information maintenance of bots, developers can see various basic information of bots and modify their avatars, names, Webhook addresses, etc. as needed.' , '' , 'In the permission and subscription event management of bots, developers can assign different permissions and levels to bots based on their access needs to warehouse resources, such as adding code library permissions, changing write permissions for pull requests to read permissions, etc. Developers can also modify the event list of the current bot subscription, such as subscribing to code library push notifications, canceling pull request allocation subscriptions, etc., to achieve updates and upgrades of bot functionality.' , '' , 'In the advanced options configuration of bots, developers can change the public and private status of bots, thereby affecting their usage scope. It should be noted that bots in public status cannot become private when installed in other warehouses. Developers can choose to put their bots on the market and need to fill in the listing information, including market introduction, main functions, secondary functions, and other related information.' , 'Developers can also perform bot deletion and transfer operations, initiating transfer means changing the ownership of the bot, and the recipients username needs to be entered. After the recipient confirms acceptance, the ownership change of the bot can be completed. Refusal will cancel the transfer operation.' , '' , '© Copyright 2024 CCF Open Source Development Committee' , 'Powered by Trust&IntelliDE Beijing ICP Preparation No. 13000930']; +if (pElements[0].innerText == zhtranalate[0]){ + for (var i = 0; i < pElements.length; i++) { + if (pElements[i].innerText != ''){ + if (i < pElements.length){ + pElements[i].innerText = entranslate[i]; + } + } +} +} +else{ + for (var i = 0; i < pElements.length; i++) { + if (pElements[i].innerText != ''){ + if (i < pElements.length){ + pElements[i].innerText = zhtranalate[i]; + } + } +} +} +if (hElements[0].innerText == hzh[0]){ + for (var i = 0; i < hElements.length; i++) { + if (hElements[i].innerText != ''){ + if (i < hElements.length){ + hElements[i].innerText = hen[i]; + } + } +} +} +else{ + for (var i = 0; i < hElements.length; i++) { + if (hElements[i].innerText != ''){ + if (i < hElements.length){ + hElements[i].innerText = hzh[i]; + } + } +} +} +}}>中/英 # Bot配置 diff --git a/versioned_docs/version-1.1.0/Bot市场/mybutton.js b/versioned_docs/version-1.1.0/Bot市场/mybutton.js new file mode 100644 index 0000000..e0ab101 --- /dev/null +++ b/versioned_docs/version-1.1.0/Bot市场/mybutton.js @@ -0,0 +1,13 @@ +import React from 'react'; +import styles from './mybutton.module.css'; // 假设你有一个CSS模块文件来定义样式 + +const MyButton = ({ onClick, children, className = '' }) => ( + +); + +export default MyButton; \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/Bot市场/mybutton.module.css b/versioned_docs/version-1.1.0/Bot市场/mybutton.module.css new file mode 100644 index 0000000..014950c --- /dev/null +++ b/versioned_docs/version-1.1.0/Bot市场/mybutton.module.css @@ -0,0 +1,21 @@ +.myButton { + background-color: #30a834; /* Green */ + border: none; + color: #fff; /* 改为白色或其他与绿色背景对比明显的颜色 */ + padding: 15px 32px; + text-align: center; + text-decoration: none; + display: inline-block; + font-size: 16px; + margin: 4px 2px; + cursor: pointer; + position: absolute; + right: 0; + /* 还可以添加其他样式,比如过渡效果、阴影等 */ + transition: background-color 0.3s ease; /* 背景色变化的过渡效果 */ + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* 简单的阴影效果 */ +} + +.myButton:hover { + background-color: #288f2c; /* 鼠标悬停时改变背景色 */ +} \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/代码库管理/代码安全与合规.md b/versioned_docs/version-1.1.0/代码库管理/代码安全与合规.md deleted file mode 100644 index 936f03e..0000000 --- a/versioned_docs/version-1.1.0/代码库管理/代码安全与合规.md +++ /dev/null @@ -1,62 +0,0 @@ ---- -sidebar_label: '代码安全与合规' -sidebar_position: 10 ---- - -# 代码安全与合规实操指引 - -本指引帮助开发者在GitLink平台上进行多层次代码分析,包括: -- 代码安全扫描 -- 许可证合规检查 -- 漏洞修复建议 - ---- - -## 一、代码安全扫描 - -1. **进入代码库页面**,点击左侧菜单的"安全"或"代码分析"模块。 -2. **启动安全扫描**: - - 点击"新建扫描"或"立即扫描"按钮。 - - 选择扫描类型(如静态代码分析、依赖安全检测等)。 - - 配置扫描参数(可选),如排除目录、扫描深度等。 - - 点击"开始扫描"。 -3. **查看扫描结果**: - - 扫描完成后,平台会生成安全报告,列出发现的安全隐患(如高危漏洞、敏感信息泄露、弱加密算法等)。 - - 可点击具体问题查看详情、受影响文件及修复建议。 - -> **建议**:定期对主分支和重要分支进行安全扫描,及时修复高危问题。 - ---- - -## 二、许可证合规检查 - -1. **在代码库设置中**,找到"许可证合规"或"开源合规"模块。 -2. **发起合规检测**: - - 点击"检测许可证"按钮,平台会自动识别项目及依赖的许可证类型。 - - 检查是否存在不兼容或高风险许可证(如GPL、AGPL等)。 -3. **处理合规风险**: - - 若发现不合规依赖,建议替换为兼容许可证的依赖,或联系法务团队评估风险。 - - 平台会给出兼容性建议和替换方案。 - -> **建议**:新引入第三方依赖时,务必关注其许可证类型,避免后期合规风险。 - ---- - -## 三、漏洞修复建议 - -1. **在安全扫描报告或依赖管理页面**,查看"漏洞详情"列表。 -2. **获取修复建议**: - - 平台会针对每个漏洞给出修复建议,如升级依赖、修改代码、配置安全参数等。 - - 可一键跳转到受影响文件或依赖,快速定位问题。 -3. **自动修复(如支持)**: - - 部分常见漏洞支持"一键修复"或"自动升级"功能,点击按钮即可自动完成修复。 - - 修复后建议重新运行安全扫描,确保问题已解决。 - -> **建议**:关注平台安全公告,及时修复新发现的高危漏洞。 - ---- - -

    文档下载/打印

    -

    需要线下查阅?
    - -

    \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/代码库管理/代码提交.md b/versioned_docs/version-1.1.0/代码库管理/代码提交.md index 11b6835..12fc745 100644 --- a/versioned_docs/version-1.1.0/代码库管理/代码提交.md +++ b/versioned_docs/version-1.1.0/代码库管理/代码提交.md @@ -1,4 +1,11 @@ --- sidebar_label: '代码提交' sidebar_position: 3 ---- \ No newline at end of file +--- + ### **1. 代码提交入口** +用户可以通过项目代码库中间的文件下的“上传文件”按键来上传文件。 +![](/img/代码库管理/代码提交/上传文件入口.png)
    + + ### **2. 上传文件** +进入上传文件页面后,如下图所示,拖动文件,选择提交变更的分支的单击”创建项目“按键即可完成创建。 +![](/img/代码库管理/代码提交/上传文件.png)
    \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/代码库管理/分支管理.md b/versioned_docs/version-1.1.0/代码库管理/分支管理.md index f543748..9d22a86 100644 --- a/versioned_docs/version-1.1.0/代码库管理/分支管理.md +++ b/versioned_docs/version-1.1.0/代码库管理/分支管理.md @@ -1,4 +1,13 @@ --- sidebar_label: '分支管理' sidebar_position: 5 ---- \ No newline at end of file +--- + ### **1. 查看分支** +在代码库栏下,如下图所示,用户可以点击代码库分支从而查看当前项目的所有分支,并且选择对其进行操作。 +![](/img/代码库管理/分支管理/分支管理方式1.jpg)
    + + ### **2. 合并分支** +在“和并请求(PR)”下点击“新建合并请求”后, +![](/img/代码库管理/分支管理/分支管理方式3.png)
    +如下图所示,用户可以选择源分支与目标分支以及填写分支信息后提交分支合并请求。 +![](/img/代码库管理/分支管理/分支管理方式2.png)
    \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/代码库管理/文件管理.md b/versioned_docs/version-1.1.0/代码库管理/文件管理.md index af8c755..d2e51a2 100644 --- a/versioned_docs/version-1.1.0/代码库管理/文件管理.md +++ b/versioned_docs/version-1.1.0/代码库管理/文件管理.md @@ -1,4 +1,19 @@ --- sidebar_label: '文件管理' sidebar_position: 4 ---- \ No newline at end of file +--- +### **1. 文件管理位置** +在代码库界面,可直接对代码库中该分支下的文件进行操作,如下图所示。 +![](/img/代码库管理/文件管理/文件管理入口.png)
    + +### **2. 进入目录** +点击进入相关目录,找到要编辑的文件,如下图所示。 +![](/img/代码库管理/文件管理/进入文件所在目录.png)
    + +### **3. 进入文件编辑页面** +在线编辑文件,单击文件,即可进入编辑文件页面,如下图所示。 +![](/img/代码库管理/文件管理/进入文件编辑界面.png)
    + +### **4. 编辑文件** +编辑界面右侧有三个按钮,分别是“下载”、“编辑”和“删除”,点击下载即可将文件下载到本地,编辑则可在线编辑文档,删除则将文件从代码库中删除,按钮位置如下图所示。 +![](/img/代码库管理/文件管理/文件编辑按钮.png)
    \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/合并请求/代码评审.md b/versioned_docs/version-1.1.0/合并请求/代码评审.md index 9b4aefb..278283a 100644 --- a/versioned_docs/version-1.1.0/合并请求/代码评审.md +++ b/versioned_docs/version-1.1.0/合并请求/代码评审.md @@ -3,4 +3,11 @@ sidebar_label: '代码评审' sidebar_position: 3 --- -# 代码评审 \ No newline at end of file +# 代码评审 + ### **1. 进入代码评审** +如下图所示,点击“代码评审”按钮可以进入代码评审 +![](/img/PR/进入代码评审.png)
    + + ### **2. 代码评审界面** +如下图所示,用户可以在该界面下查看该PR操作要合并的新的代码,并对其进行评审。 +![](/img/PR/具体代码评审.png)
    diff --git a/versioned_docs/version-1.1.0/平台公告/更新日志.md b/versioned_docs/version-1.1.0/平台公告/更新日志.md deleted file mode 100644 index b8fffcc..0000000 --- a/versioned_docs/version-1.1.0/平台公告/更新日志.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -sidebar_label: '更新日志' -sidebar_position: 2 ---- - -# 更新日志 / 新功能速览 - -本专栏用于展示平台的最新功能、重要更新和版本迭代内容,帮助用户第一时间了解平台的进步与变化。 - ---- - -## 2024-06-XX -- 新增"全部文档一键导出PDF"功能,支持批量下载帮助文档。 -- 新增"代码安全与合规实操指引",提升代码安全与合规管理能力。 -- 活动赛事专栏独立展示,便于用户关注平台赛事动态。 -- 优化帮助中心文档结构,提升检索与阅读体验。 - ---- - -## 2024-05-XX -- 平台支持第三方服务集成,开放API文档。 -- 增强DevOps引擎流水线功能,支持更多触发器类型。 - ---- -## 2025.6.3课上汇报新加内容测试流水线 - -> 更多历史更新内容,敬请持续关注本专栏。 - ---- - -

    文档下载/打印

    -

    需要线下查阅?
    - -

    \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/第三方服务/WebIDE.md b/versioned_docs/version-1.1.0/第三方服务/WebIDE.md index 3d152e9..ac974e1 100644 --- a/versioned_docs/version-1.1.0/第三方服务/WebIDE.md +++ b/versioned_docs/version-1.1.0/第三方服务/WebIDE.md @@ -9,20 +9,20 @@ sidebar_position: 9 ## Web IDE 核心能力 对标有容器的标准版,极速版 IDE 主要在读、写、运行、提交等方面进行了探索: - **1. 读:** +**1. 读:** - a. 适配了多种代码托管平台,例如 Gitlink、Github、Gitlab 等代码托管平台,业务可以非常方便的使用代码服务的能力 - b. 内置了包括 Java、TS/JS、C++、Go、Python、Rust 等几十种常见语言的语法高亮支持 - c. 支持了如 Git Blame、GitGraph 等代码阅读辅助插件 - **2. 写:** +**2. 写:** - a. 支持 HTML/CSS/JS/Markdown 等在线语言服务能力,支持错误诊断能力 - b. 浏览器文件系统 - **3. 运行:** +**3. 运行:** - a. 支持基于 Skypack 的前端代码运行方案 - b. 支持基于 Pyodide 的 Python 运行 - **4. 提交:** +**4. 提交:** - a. 支持 WebSCM,提供分支切换/新增、代码提交等能力 如果说以 CodeMirror、Monaco 为代表的浏览器 IDE 组件为 Web IDE 1.0,那拥有上述能力的极速版 Web IDE 就是 Web IDE 2.0。极速版 Web IDE 方案在蚂蚁内部与 2021 年 4 月上线,承接了代码阅读、代码评审、在线笔试、代码检查结果反馈、轻量在线研发等众多场景,同年 8 月 vscode.dev 和 github.dev 上线,与之相比,极速版 Web IDE 利用 OpenSumi 框架的高扩展性,业务可以更加深度的定制模块与插件,让业务有多的想象空间。 @@ -72,7 +72,7 @@ Gitlink 代码阅读场景虽然接入极速版 IDE 编辑器,但文件树、 ![](/img/di_san_fang/WebIDE/JS语言服务提示.png)
    JS语言服务提示
    -- 3. 提供了 Java、Go、Python、C++、Php 的在线语言服务能力,支持简单的定义跳转、查找引用等功能,让大家更加方便的阅读代码 +- 3.提供了 Java、Go、Python、C++、Php 的在线语言服务能力,支持简单的定义跳转、查找引用等功能,让大家更加方便的阅读代码 ![](/img/di_san_fang/WebIDE/python查看引用.png)
    Python 查看引用
    diff --git a/versioned_docs/version-1.1.0/第三方服务/重睛鸟代码溯源.md b/versioned_docs/version-1.1.0/第三方服务/重睛鸟代码溯源.md index c2390c3..d984a80 100644 --- a/versioned_docs/version-1.1.0/第三方服务/重睛鸟代码溯源.md +++ b/versioned_docs/version-1.1.0/第三方服务/重睛鸟代码溯源.md @@ -62,6 +62,6 @@ sidebar_position: 1 ## 用户操作流程 -![](/img/di_san_fang/重晴鸟代码溯源/用户操作流程.png)
    +![](/img/di_san_fang/重晴鸟代码溯源/用户操作流程(新).png)
    用户操作流程

    diff --git a/versioned_docs/version-1.1.0/组织管理/组织成员管理.md b/versioned_docs/version-1.1.0/组织管理/组织成员管理.md index b178a64..8c78b2b 100644 --- a/versioned_docs/version-1.1.0/组织管理/组织成员管理.md +++ b/versioned_docs/version-1.1.0/组织管理/组织成员管理.md @@ -1,4 +1,21 @@ --- sidebar_label: '组织成员管理' sidebar_position: 4 ---- \ No newline at end of file +--- +# 成员管理(Members Management) + + 在 个人所管理的项目当中的**仓库设置**当中的**成员管理**可以进入成员管理界面 + + ![](/img/Org/imageOrg14.png) + +## 成员查询和添加 +在成员管理界面当中,可以进行组织成员的查询和添加 + + ![](/img/Org/imageOrg14.png) + +## 成员邀请权限设置 +管理员可以对邀请成员的权限进行设置 + ![](/img/Org/imageOrg15.png) +此外,也可以复制邀请链接的方式来更方便地邀请成员加入到项目当中来 + + **注**:此项功能仅对管理员可见 \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/维基/模板导入及导出.md b/versioned_docs/version-1.1.0/维基/模板导入及导出.md index 0901b17..156cfd5 100644 --- a/versioned_docs/version-1.1.0/维基/模板导入及导出.md +++ b/versioned_docs/version-1.1.0/维基/模板导入及导出.md @@ -1,4 +1,15 @@ --- sidebar_label: '模板导入及导出' sidebar_position: 2 ---- \ No newline at end of file +--- + +# 确实开源帮助中心 + +## 模板的导入及导出管理 +#### 1.模板导入 +通过点击wiki界面的**导入模板**按钮即可导入本地的txt,markdown等格式文件进行Wiki文档的创建,当前平台此项功能尚在开发测试环节 +![](/img/wiki/img4.png) +#### 2.模板导出 +当前平台此项功能尚在开发测试环节 +
    + diff --git a/versioned_docs/version-1.1.0/维基/维基页面管理.md b/versioned_docs/version-1.1.0/维基/维基页面管理.md index 1ed56fc..f044e07 100644 --- a/versioned_docs/version-1.1.0/维基/维基页面管理.md +++ b/versioned_docs/version-1.1.0/维基/维基页面管理.md @@ -1,4 +1,23 @@ --- sidebar_label: '维基页面管理' sidebar_position: 1 ---- \ No newline at end of file +--- + + +# 确实开源帮助中心 + +## 维基界面管理 +#### 1.维基界面 +GitLink项目安排了专门的**维基(Wiki)界面**来展示项目的一些情况 +![](/img/wiki/img1.png) + +#### 2.创建维基内容 +在初始化的维基界面当中点击**创建Wiki文档**或者**导入模板**即可进行Wiki文档的编辑 +
    + +#### 3.进行Wiki文档的编辑 +点击**创建Wiki文档**后即跳转到编辑界面,初始内容为空白的文档 +![](/img/wiki/img3.png) +也可以通过勾选*添加模板*来进行模板的导入,平台提供的模板包括*周报*和*月报*的格式 +![](/img/wiki/img2.png) +完成编辑后点击左下角的的保存即可 \ No newline at end of file diff --git a/versioned_docs/version-1.1.0/通知/通知设置.md b/versioned_docs/version-1.1.0/通知/通知设置.md index 37f798c..bfde209 100644 --- a/versioned_docs/version-1.1.0/通知/通知设置.md +++ b/versioned_docs/version-1.1.0/通知/通知设置.md @@ -12,6 +12,7 @@ sidebar_position: 2 ![](/img/notice/home_notice.png)
    或在头像下拉列表中选择设置可以进入消息通知设置界面; + ![](/img/notice/into_notice.png) #### 2.进行通知设置 -- 2.34.1