Compare commits

...

262 Commits

Author SHA1 Message Date
xxq250 cd7d95c8e9 feat: .devops/【生产环境】发布更新.yml 2025-03-06 10:09:23 +08:00
xxq250 fddd74e25b Merge pull request '”代码提交““文件管理”“分支管理”issue修改' (#57) from shuaihao/gitlink_help_center:master into master 2025-03-06 09:17:56 +08:00
ganshihao21 a9b1413390 refactor: .devops/未命名项目.yml 2024-06-27 07:01:20 +00:00
ganshihao21 c6ec30d559 feat: .devops/未命名项目.yml 2024-06-27 07:01:17 +00:00
ganshihao e7af9d79a6 2 2024-06-12 08:21:04 +08:00
ganshihao 60a7d9848d 1 2024-06-04 20:58:54 +08:00
shuaihao cd360fc489 feat: .devops/实验一.yml 2024-05-30 12:06:20 +00:00
shuaihao c0323af52f refactor: delete .devops/未命名项目.yml 2024-05-30 12:06:19 +00:00
shuaihao 8093250445 refactor: delete .devops/【生产环境】发布更新.yml 2024-05-30 12:04:35 +00:00
shuaihao 6b4693ec1b refactor: delete .devops/test.yml 2024-05-30 12:04:31 +00:00
shuaihao 39ee9fb4fe refactor: delete .devops/【测试环境】合并请求通过后自动更新.yml 2024-05-30 12:04:28 +00:00
shuaihao f17eb9103f refactor: delete .devops/发布更新.yml 2024-05-30 12:04:12 +00:00
SH fca75e5364 2024-05-30 19:34:44 +08:00
SH 875d8e8825 修改issue 2024-05-30 16:35:43 +08:00
SH ae42afcbe8 issue修改 2024-05-30 16:09:42 +08:00
SH febaceeddb issue更新、 2024-05-30 16:05:23 +08:00
gehusileng b1071b8d19 Delete qqq.txt 2024-05-30 15:05:27 +08:00
ganshihao 047e0e28e9 Merge branch 'master' of https://gitlink.org.cn/shuaihao/gitlink_help_center 2024-05-30 00:03:02 +08:00
ganshihao 7717bd156e 111 2024-05-30 00:02:35 +08:00
ganshihao21 9775d8517c refactor: .devops/未命名项目.yml 2024-05-29 15:58:42 +00:00
ganshihao21 91746a336a refactor: .devops/未命名项目.yml 2024-05-29 15:58:41 +00:00
ganshihao21 f674c5803d Delete 新建 文本文档 (2).txt 2024-05-29 23:56:44 +08:00
ganshihao21 fc3982b346 Delete abc.txt 2024-05-29 23:56:38 +08:00
ganshihao e0c7692ea1 qqq 2024-05-29 23:56:18 +08:00
ganshihao 3e62cf63af 111 2024-05-29 23:31:08 +08:00
ganshihao21 3add18b653 refactor: .devops/未命名项目.yml 2024-05-29 15:22:45 +00:00
ganshihao21 9432db0293 refactor: .devops/未命名项目.yml 2024-05-29 15:14:53 +00:00
ganshihao 19fd1a6865 1 2024-05-29 11:55:17 +08:00
ganshihao21 f37414c02b feat: .devops/未命名项目.yml 2024-05-29 03:46:39 +00:00
Gehusileng c08b824114 增加dockerfile 2024-05-29 11:37:12 +08:00
Gehusileng 20d34b7e8b 增加文件版本管理功能 2024-05-29 11:31:41 +08:00
ganshihao21 6007d962d9 refactor: .devops/未命名项目.yml 2024-05-29 03:19:33 +00:00
ganshihao21 5fdb0d340b refactor: .devops/未命名项目.yml 2024-05-29 03:15:15 +00:00
ganshihao e5d37ccd34 Merge branch 'master' of https://gitlink.org.cn/shuaihao/gitlink_help_center 2024-05-29 10:55:21 +08:00
ganshihao21 8002f6161e Delete abc.txt 2024-05-29 10:55:39 +08:00
ganshihao a5fe3fddca 1111 2024-05-29 10:51:26 +08:00
ganshihao21 d56f6adfe2 refactor: .devops/未命名项目.yml 2024-05-29 02:43:43 +00:00
ganshihao21 0de7116ae0 refactor: .devops/未命名项目.yml 2024-05-29 02:38:57 +00:00
ganshihao21 5081f61f05 refactor: .devops/未命名项目.yml 2024-05-29 02:17:20 +00:00
ganshihao 27ce5c62af 111 2024-05-29 10:11:23 +08:00
ganshihao21 271460860b refactor: .devops/未命名项目.yml 2024-05-29 00:48:43 +00:00
ganshihao21 011f2a84ba refactor: .devops/未命名项目.yml 2024-05-29 00:38:24 +00:00
ganshihao21 7119e96ee7 refactor: .devops/未命名项目.yml 2024-05-29 00:34:38 +00:00
ganshihao21 131a350603 refactor: .devops/未命名项目.yml 2024-05-29 00:29:26 +00:00
ganshihao21 089757d54a feat: .devops/未命名项目.yml 2024-05-29 00:29:20 +00:00
ganshihao21 460d00d8b7 Update Dockerfile 2024-05-29 08:20:07 +08:00
xxq250 eb52bfae5a Merge pull request '"介绍"处缺少部分跳转链接' (#48) from luoyi21a/gitlink_help_center:master into master 2024-05-28 16:15:59 +08:00
xxq250 87d711cc46 Merge pull request '“文件管理”等地方缺少文档解释 的补充' (#46) from Dongjiaqi/gitlink_help_center:master into master 2024-05-28 16:15:39 +08:00
xxq250 171438666c Merge pull request '修复在“通知设置”的文档中图片显示错误' (#43) from SheYuWu03/gitlink_help_center:master into master 2024-05-28 16:12:49 +08:00
E4wel83hu 1a49548848 Update 重睛鸟代码溯源.md 2024-05-28 16:10:32 +08:00
E4wel83hu cfd30d2098 更新用户操作流程图 2024-05-28 16:09:42 +08:00
E4wel83hu 6ca9d53755 Delete static/img/di_san_fang/重晴鸟代码溯源/用户操作流程.png 2024-05-28 16:09:07 +08:00
wuxin21 1c2bfc2df9 refactor: .devops/发布更新.yml 2024-05-28 06:50:33 +00:00
wuxin21 cff83d6414 refactor: .devops/发布更新.yml 2024-05-28 06:50:32 +00:00
wuxin21 bb7a588914 feat: .devops/发布更新.yml 2024-05-27 15:48:35 +00:00
SheYuWu03 2007e6743b refactor: .devops/test.yml 2024-05-27 13:22:54 +00:00
SheYuWu03 8c50638373 feat: .devops/test.yml 2024-05-27 13:19:29 +00:00
SheYuWu03 fe0ed5e2c2 refactor: delete .devops/未命名项目.yml 2024-05-27 13:19:29 +00:00
SheYuWu03 4147bc9881 feat: .devops/未命名项目.yml 2024-05-27 12:42:45 +00:00
luoyi21a 52a2772907 Update intro.md 2024-05-27 15:44:36 +08:00
pzthu8lr3 a28a256aac Update Dockerfile 2024-05-27 15:07:31 +08:00
qinxiaonan_branch 8784a49c47 删除未命名项目 2024-05-27 14:35:22 +08:00
qinxiaonan_branch 006daf7d4d 修复“通知设置”的文档中图片显示错误 2024-05-27 14:31:19 +08:00
pzthu8lr3 f0ae1156c6 ADD file via upload 2024-05-27 14:30:12 +08:00
wuxin21 9d45037685 refactor: .devops/未命名项目.yml 2024-05-27 03:24:58 +00:00
SheYuWu03 6986c0e8b5 refactor: .devops/未命名项目.yml 2024-05-27 03:23:59 +00:00
SheYuWu03 6674748d21 feat: .devops/未命名项目.yml 2024-05-27 03:23:50 +00:00
xxq250 f2572f3e82 Merge pull request '修复WebIDE表项格式未对齐的问题' (#41) from SheYuWu03/gitlink_help_center:master into master 2024-05-26 21:13:36 +08:00
吴舒先 316d77d0cd 修复 WebIDE 帮助文档中表项没有对齐以及表项文字格式没有对齐的问题 2024-05-26 20:48:40 +08:00
xxq250 bd967e5c12 Update README.md 2024-05-24 20:07:31 +08:00
xxq250 1fd8e14a75 Merge pull request '更新组织用户管理.md' (#36) from Dongjiaqi/gitlink_help_center:liuyuyang_branch into master 2024-05-24 20:02:36 +08:00
liushi cd47e47fd7 Merge pull request '更新wiki部分的md文件' (#5) from liuyuyang_branch into master 2024-05-24 00:17:28 +08:00
lyy 7561a02a4e 更新wiki部分的md文件 2024-05-24 00:13:54 +08:00
Dongjiaqi a3eb671abf Merge pull request '帮助中心文档 代码评审' (#4) from dongjiaqi_branch into master 2024-05-24 00:05:36 +08:00
djq fc95f9272e 帮助中心文档 代码评审 2024-05-24 00:02:15 +08:00
liushi ec35e2a27c Merge pull request '帮助中心文档 文件管理 实现' (#3) from dongjiaqi_branch into master 2024-05-23 23:44:34 +08:00
djq 104a2e633c 帮助中心文档 文件管理 部分实现 2024-05-23 23:40:15 +08:00
Dongjiaqi edf2c30fce Merge pull request '分支管理' (#2) from dongjiaqi_branch into master 2024-05-23 23:22:14 +08:00
Dongjiaqi 3154a54b6b Merge pull request '更新组织成员管理.md' (#1) from liuyuyang_branch into master 2024-05-23 23:21:44 +08:00
lyy fff7d33104 更新组织成员管理.md 2024-05-23 21:08:17 +08:00
djq aa00f60189 帮助中心文档-分支管理 2024-05-23 21:02:46 +08:00
maxjhandsome c83c4bb577 Update 跨平台代码同步.md 2024-05-16 15:47:14 +08:00
maxjhandsome 3a949926a4 Update 跨平台代码同步.md 2024-05-16 11:19:10 +08:00
maxjhandsome a3bb2755b4 Update 跨平台代码同步.md 2024-05-16 11:05:04 +08:00
maxjhandsome 8c883a9ff7 Update 跨平台代码同步.md 2024-05-16 11:00:37 +08:00
maxjhandsome 26e2eca811 Update 跨平台代码同步.md 2024-05-16 09:09:55 +08:00
maxjhandsome 3f92f5f1eb Update 跨平台代码同步.md 2024-05-15 17:37:45 +08:00
yystopf 6aa0014704 Update 跨平台代码同步.md 2024-05-15 11:29:59 +08:00
yystopf 7aed342602 Update 跨平台代码同步.md 2024-05-15 11:29:12 +08:00
yystopf 812eb4c01c ADD file via upload 2024-05-15 11:28:43 +08:00
yystopf 0fb4da75ec ADD file via upload 2024-05-15 11:28:33 +08:00
yystopf b75961bc1f ADD file via upload 2024-05-15 11:28:19 +08:00
yystopf 580699c1c7 ADD file via upload 2024-05-15 11:27:48 +08:00
xxq250 2625224621 样式 2024-05-11 07:58:22 +00:00
xxq250 0e7d86f357 feat: .devops/【测试环境】合并请求通过后自动更新.yml 2024-05-11 07:33:33 +00:00
xxq250 176e1c0d5b refactor: delete .devops/合并请求通过后自动更新.yml 2024-05-11 07:33:32 +00:00
maxjhandsome 1a90360ebf Merge pull request 'add跨平台代码同步操作手册' (#33) from maxjhandsome/gitlink_help_center:master into master 2024-05-11 15:28:19 +08:00
maxjhandsome 827d9ee03c Merge pull request 'merge reposyncer' (#1) from develop into master 2024-05-11 15:27:15 +08:00
maxjhandsome 59a6cb7ead Update 跨平台代码同步.md 2024-05-11 15:26:33 +08:00
maxjhandsome 99aa7abe65 add reposyncer 2024-05-11 15:24:47 +08:00
maxjhandsome b49314596c Delete docs/跨平台代码同步服务/操作手册 2024-05-11 15:23:16 +08:00
maxjhandsome 50a4c83e6f Update 操作手册 2024-05-11 15:20:35 +08:00
maxjhandsome 1844d84e0c Add 跨平台代码同步服务/操作手册 2024-05-11 15:11:05 +08:00
maxjhandsome e057631cb6 ADD file via upload 2024-05-11 15:08:11 +08:00
maxjhandsome 88d71c6a8b ADD file via upload 2024-05-11 15:08:03 +08:00
maxjhandsome 1a84d714bf ADD file via upload 2024-05-11 15:07:54 +08:00
maxjhandsome 60b5fbec27 ADD file via upload 2024-05-11 15:07:47 +08:00
maxjhandsome cb3995e01d ADD 2024-05-11 15:07:20 +08:00
maxjhandsome 33a9593058 ADD file via upload 2024-05-11 15:07:08 +08:00
maxjhandsome aff0e794c4 ADD 2024-05-11 15:06:57 +08:00
maxjhandsome 7882848420 ADD file via upload 2024-05-11 15:06:40 +08:00
maxjhandsome 51376fb8b4 ADD 2024-05-11 15:06:13 +08:00
maxjhandsome 344507e208 add png 2024-05-11 15:05:20 +08:00
KingChan 91334f6f93 Update 建站工具.md 2024-04-19 16:11:39 +08:00
KingChan 5dc425a1ca Merge pull request '个人建站流程' (#32) from KingChan/gitlink_help_center:master into master 2023-12-21 16:49:24 +08:00
呱呱呱 ba351675bb 个人建站流程 2023-12-21 16:47:19 +08:00
xxq250 9b8e1eaca9 refactor: .devops/【生产环境】发布更新.yml 2023-10-30 12:00:32 +08:00
xxq250 9e9b3d3f6b feat: .devops/【生产环境】发布更新.yml 2023-10-30 11:59:27 +08:00
xxq250 82e142fe61 refactor: delete .devops/生产环境发布.yml 2023-10-30 11:59:26 +08:00
xxq250 d4d8fb0698 refactor: .devops/生产环境发布.yml 2023-10-30 11:54:28 +08:00
xxq250 1d600fdb8c refactor: .devops/生产环境发布.yml 2023-10-30 11:39:49 +08:00
xxq250 5e5e9132f9 refactor: .devops/生产环境发布.yml 2023-10-30 11:34:43 +08:00
xxq250 660d16c2f3 refactor: .devops/生产环境发布.yml 2023-10-30 11:33:36 +08:00
xxq250 93119c5a98 refactor: .devops/生产环境发布.yml 2023-10-30 11:33:19 +08:00
xxq250 b96039f842 refactor: .devops/生产环境发布.yml 2023-10-30 11:32:49 +08:00
xxq250 d8b7a009d4 refactor: .devops/生产环境发布.yml 2023-10-30 11:31:13 +08:00
xxq250 4d7553e423 refactor: .devops/生产环境发布.yml 2023-10-30 11:24:10 +08:00
xxq250 35089c7ea1 refactor: .devops/生产环境发布.yml 2023-10-30 11:11:28 +08:00
maxjhandsome 2d39777ef5 Update _category_.json 2023-10-27 09:58:58 +08:00
maxjhandsome f5f1fb8561 Update _category_.json 2023-10-27 09:58:41 +08:00
maxjhandsome 3e125bff36 add details 2023-10-25 14:38:12 +08:00
maxjhandsome 3c27c446a4 Update _category_.json 2023-10-25 14:30:02 +08:00
maxjhandsome 72d422c00b Merge pull request '增加个人主页建站工具说明' (#31) from maxjhandsome/gitlink_help_center:master into master 2023-10-25 14:27:22 +08:00
maxjhandsome 7e4bd1c729 add js 2023-10-25 14:23:55 +08:00
maxjhandsome fd972dd379 Update 建站工具.md 2023-10-25 14:21:09 +08:00
maxjhandsome 92a5b92318 add images 2023-10-25 14:17:22 +08:00
maxjhandsome e2c22f2b4a add img 2023-10-25 14:08:14 +08:00
maxjhandsome 7f61a57c0d ADD file via upload 2023-10-25 14:01:18 +08:00
maxjhandsome 66f93564e4 ADD file via upload 2023-10-25 14:00:29 +08:00
maxjhandsome bd0ab5c69e ADD file via upload 2023-10-25 13:59:57 +08:00
maxjhandsome 42885c0c51 ADD file via upload 2023-10-25 13:59:36 +08:00
maxjhandsome b562419c61 ADD file via upload 2023-10-25 13:59:19 +08:00
maxjhandsome 7a1f642f94 ADD file via upload 2023-10-25 13:58:43 +08:00
maxjhandsome 47494e7e8c ADD file via upload 2023-10-25 13:58:09 +08:00
maxjhandsome 6b04121d48 ADD file via upload 2023-10-25 13:57:55 +08:00
maxjhandsome 0a13a0cea6 ADD file via upload 2023-10-25 13:57:40 +08:00
maxjhandsome 6b9fe91f76 ADD file via upload 2023-10-25 12:01:40 +08:00
maxjhandsome c141c516cc ADD file via upload 2023-10-25 11:54:17 +08:00
maxjhandsome 9cad59ae43 add 个人主页建站 2023-10-25 11:42:42 +08:00
maxjhandsome 5225b382df Delete 'docs/个人主页建站' 2023-10-25 11:00:48 +08:00
maxjhandsome 7e466465da Add 个人主页建站 2023-10-25 11:00:31 +08:00
caishi 07625bc96e url 2023-09-15 18:09:26 +08:00
caishi 221b192361 底部信息调整 2023-09-15 17:37:51 +08:00
caishi 453a22dea1 head mate 2023-09-13 14:12:17 +08:00
caishi 210fd16129 head mate 2023-09-13 14:11:32 +08:00
xxq250 18cf77225b Update _category_.json 2023-09-08 14:20:49 +08:00
caishi 28040892f8 pull 2023-09-08 14:12:29 +08:00
caishi 500420ef77 logo的跳转地址 2023-09-08 14:11:25 +08:00
xxq250 de7d694972 refactor: .devops/生产环境发布.yml 2023-09-08 10:05:06 +08:00
xxq250 2c606be80c refactor: .devops/生产环境发布.yml 2023-09-08 10:02:58 +08:00
xxq250 437c803a8a feat: .devops/生产环境发布.yml 2023-09-08 10:01:28 +08:00
xxq250 02b74f20b3 refactor: delete .devops/未命名项目.yml 2023-09-08 10:01:27 +08:00
xxq250 9c4b476163 feat: .devops/未命名项目.yml 2023-09-08 09:59:14 +08:00
caishi cc72fdd7f3 pull 2023-09-08 09:25:50 +08:00
caishi 333dda2cae issue #3363 2023-09-06 17:17:48 +08:00
young 62c3efae4b Update 组织简介.md 2023-08-22 19:47:46 +08:00
caishi 4184674634 搜索-easyops 2023-07-20 17:24:09 +08:00
caishi 1496e752d0 easyops-cn 2023-07-17 10:06:24 +08:00
caishi bb30a0828b intro 2023-07-17 10:03:05 +08:00
caishi fe016702d8 npm 2023-07-17 10:02:08 +08:00
wanjia9506 7cbe7e28c4 Update intro.md 2023-07-07 11:37:53 +08:00
caishi 17f47a4d82 搜索不了中文 2023-07-07 10:41:35 +08:00
caishi ff2646e7fc Merge bMergeranch 'master' of https://gitlink.org.cn/Gitlink/gitlink_help_center 2023-07-05 17:09:53 +08:00
caishi 8679343ab4 search 2023-07-05 16:43:45 +08:00
caishi 7f0a14ee07 save 2023-07-05 14:43:25 +08:00
young a7710e638c Merge pull request '修改了重晴鸟代码溯源的相关内容和图片以及删除了跨平台代码同步。' (#30) from hrlsm/gitlink_help_center:master into master 2023-07-04 09:18:16 +08:00
hrlsm f874153f2f 修改了重晴鸟代码溯源相关内容和图片以及删除了跨平台代码同步。 2023-07-03 16:08:10 +08:00
caishi fc896614c7 route 2023-06-30 14:25:37 +08:00
young 39b712ceb5 Merge pull request '添加疑修引用、补充合并请求简介' (#27) from huaian/gitlink_help_center:master into master 2023-06-30 10:53:31 +08:00
young 2f3583c799 Merge pull request '疑修部分添加图片、添加“疑修声明”功能' (#28) from zhou1228/gitlink_help_center:master into master 2023-06-30 10:53:19 +08:00
young 612c2a314c Merge pull request '修改“导入GitHub等第三方Git项目”的描述' (#29) from Cml6677/gitlink_help_center:master into master 2023-06-30 10:53:09 +08:00
EricCml f6d4f2302c 修改“导入GitHub等第三方Git项目”的描述 2023-06-29 21:11:09 +08:00
EricCml 1dc6d0b37b 修改“导入GitHub等第三方Git项目”的描述 2023-06-29 21:07:21 +08:00
caishi 1f74e2bee2 onBrokenLinks 2023-06-29 17:10:49 +08:00
caishi b978811153 route 2023-06-29 15:52:12 +08:00
caishi 22b6ca5b96 底部样式 2023-06-29 10:18:19 +08:00
caishi 85ec8ae4e4 搜索框 2023-06-28 18:19:43 +08:00
caishi 4bcb1109a2 color 2023-06-28 10:37:11 +08:00
zhou1228 b6aa0295f9 add issue_pictures 2023-06-27 21:18:59 +08:00
zhouhuaian 140b1f1fbb 添加疑修引用、补充合并请求简介 2023-06-27 17:16:34 +08:00
young e772acf3a5 Merge pull request '帮助中心文案-快速开始部分' (#26) from Cml6677/gitlink_help_center:master into master 2023-06-11 14:59:58 +08:00
anonymous-SEEM d36a95aa23 quickstart 2023-06-09 10:47:47 +08:00
young f37cb15caf Merge pull request 'update' (#25) from young/gitlink_help_center:master into master 2023-06-09 08:24:36 +08:00
Yang Zhang 08ac0d4a76 Merge branch 'master' of https://gitlink.org.cn/young/gitlink_help_center
# Conflicts:
#	docs/代码库管理/WebIDE.md
2023-06-09 08:20:34 +08:00
Yang Zhang 94f3092be2 update intro 2023-06-09 08:18:09 +08:00
young 2c06fcf451 Merge pull request 'DevOps引擎' (#24) from ctt1164101128/gitlink_help_center:master into master 2023-06-09 08:15:26 +08:00
ctt1164101128 9cbc990192 Update 代码流水线.md 2023-06-09 02:18:10 +08:00
ctt1164101128 910b63d45c ADD file via upload 2023-06-09 02:18:00 +08:00
ctt1164101128 e8d5db5de5 ADD file via upload 2023-06-09 02:17:46 +08:00
ctt1164101128 b2663933ee ADD file via upload 2023-06-09 01:59:37 +08:00
ctt1164101128 3cec411514 ADD file via upload 2023-06-09 01:59:28 +08:00
ctt1164101128 0f20c8d427 ADD file via upload 2023-06-09 01:59:18 +08:00
ctt1164101128 cd5be16dff ADD file via upload 2023-06-09 01:59:05 +08:00
ctt1164101128 db275046e1 ADD file via upload 2023-06-09 01:58:53 +08:00
ctt1164101128 c76f09910c ADD file via upload 2023-06-09 01:58:40 +08:00
ctt1164101128 8eb0c292fa ADD file via upload 2023-06-09 01:58:28 +08:00
ctt1164101128 f39858b52e ADD file via upload 2023-06-09 01:57:53 +08:00
ctt1164101128 673c71eaf7 Update 图形流水线.md 2023-06-09 01:57:25 +08:00
ctt1164101128 e094ca0ce2 Update 执行记录查询.md 2023-06-09 01:43:44 +08:00
ctt1164101128 c416d19be6 ADD file via upload 2023-06-09 01:42:39 +08:00
ctt1164101128 fd0668b8eb Update 密钥设置.md 2023-06-09 01:39:08 +08:00
ctt1164101128 f47bff8c51 Update 密钥设置.md 2023-06-09 01:38:35 +08:00
ctt1164101128 5cf8b48a51 ADD file via upload 2023-06-09 01:38:05 +08:00
ctt1164101128 6fb2f858f5 ADD file via upload 2023-06-09 01:37:45 +08:00
ctt1164101128 e458e6c612 Update 密钥设置.md 2023-06-09 01:37:18 +08:00
ctt1164101128 33bdb047df ADD file via upload 2023-06-09 01:34:52 +08:00
ctt1164101128 5885f53742 ADD file via upload 2023-06-09 01:34:31 +08:00
ctt1164101128 cb5fb6619e Update 参数配置.md 2023-06-09 01:34:05 +08:00
ctt1164101128 03bf8bc214 Update 引擎简介.md 2023-06-09 01:28:30 +08:00
ctt1164101128 73ad7de2e8 Update 引擎简介.md 2023-06-09 01:27:52 +08:00
ctt1164101128 20563e25fd Update 引擎简介.md 2023-06-09 01:27:06 +08:00
ctt1164101128 d4376d0aad Update 引擎简介.md 2023-06-09 01:26:33 +08:00
ctt1164101128 eb6cf84b54 ADD file via upload 2023-06-09 01:22:49 +08:00
ctt1164101128 3556771cb1 Delete 'static/img/engine' 2023-06-09 01:22:10 +08:00
ctt1164101128 1b6baceae8 Add engine 2023-06-09 01:21:45 +08:00
ctt1164101128 2d63ab5bb9 Update 引擎简介.md 2023-06-09 01:15:35 +08:00
young 31faa27a70 Update intro.md 2023-06-08 08:58:09 +08:00
young a2081270dd Merge pull request '修改图片文件路径' (#23) from huaian/gitlink_help_center:master into master 2023-06-07 10:05:25 +08:00
young eaae2309a8 Merge pull request '修改图片路径' (#22) from wuxiaojun/gitlink_help_center:master into master 2023-06-07 10:05:17 +08:00
zhouhuaian c512ac1e17 修改图片文件路径错误 2023-06-05 14:38:16 +08:00
623756217 57edf802d0 修改图片路径 2023-06-05 10:57:05 +08:00
young 611d81a64c Merge pull request '帮助中心-bot市场模块' (#21) from wuxiaojun/gitlink_help_center:master into master 2023-06-04 15:47:34 +08:00
623756217 bedd9c78e7 修改图片位置1 2023-06-04 10:24:59 +08:00
623756217 7d8b0d243b bot市场模块帮助文档 2023-06-04 10:19:25 +08:00
young 69711dc426 Merge pull request '填写合并请求简介、创建、合并模式三节' (#20) from huaian/gitlink_help_center:master into master 2023-06-01 10:25:28 +08:00
zhouhuaian 91a0d5fb92 填写合并请求简介、创建、合并模式三节 2023-05-31 16:25:18 +08:00
Yang Zhang 67c3925492 update intro.md 2023-05-31 16:05:56 +08:00
young 6b4a2b245e Update GitLink服务协议.md 2023-05-31 15:53:13 +08:00
young 7eacbf91b9 Update intro.md 2023-05-31 15:46:00 +08:00
young e24df3fe6f Update intro.md 2023-05-31 15:37:48 +08:00
young 94dc77f0ec Merge pull request '代码库管理部分内容' (#18) from sy00000/gitlink_help_center:master into master 2023-05-31 15:32:27 +08:00
young d69f03efbd Update intro.md 2023-05-31 15:31:46 +08:00
Efbomlrkw 9723a4370c 组织方面部分内容 2023-05-30 13:39:29 +08:00
Efbomlrkw 649e05b8fe Update 组织项目管理.md 2023-05-30 13:36:00 +08:00
Efbomlrkw 4a5bedd450 ADD file via upload 2023-05-30 13:35:22 +08:00
Efbomlrkw 6b9d8592a7 Update 组织团队管理.md 2023-05-29 20:33:27 +08:00
Efbomlrkw e10383570c ADD file via upload 2023-05-29 20:28:34 +08:00
Efbomlrkw f925050143 ADD file via upload 2023-05-29 20:28:20 +08:00
Efbomlrkw a0567c0246 ADD file via upload 2023-05-29 20:28:04 +08:00
Efbomlrkw cfdac42f06 ADD file via upload 2023-05-29 20:23:32 +08:00
Efbomlrkw 022ad51748 Update 组织团队管理.md 2023-05-29 20:20:00 +08:00
Efbomlrkw 31521c8572 ADD file via upload 2023-05-29 20:19:19 +08:00
Efbomlrkw 060ec4d007 Update 组织团队管理.md 2023-05-29 20:18:12 +08:00
Efbomlrkw c7790fbe55 Update 组织简介.md 2023-05-29 20:17:52 +08:00
Efbomlrkw f576d82588 ADD file via upload 2023-05-24 16:42:49 +08:00
Efbomlrkw a1a74edeb6 Delete 'static/img/Org/imageOrg7.png' 2023-05-24 16:42:09 +08:00
Efbomlrkw 93f6b1de7a ADD file via upload 2023-05-24 16:41:38 +08:00
Efbomlrkw cdc950b4d8 Delete 'static/img/Org/imageOrg7.png' 2023-05-24 16:41:26 +08:00
Efbomlrkw e9cb43517d ADD file via upload 2023-05-24 16:34:06 +08:00
Efbomlrkw 1130e2e642 ADD file via upload 2023-05-24 16:33:52 +08:00
Efbomlrkw 6599ac7e3b Update 组织简介.md 2023-05-24 16:32:56 +08:00
Yang Zhang fa2032c703 update 2023-05-10 17:12:45 +08:00
353 changed files with 21012 additions and 25290 deletions

View File

@ -0,0 +1,85 @@
version: 2
name: 【生产环境】发布更新
description: "非管理员请勿操作 "
global:
concurrent: 1
workflow:
- ref: start
name: 开始
task: start
- ref: nodejs_build_0
name: nodejs构建
task: nodejs_build@1.7.0-node18
input:
workspace: ((git_clone_0.git_path))
build_action: '"build"'
build_args: '""'
install_args: '""'
registry_url: '"https://registry.npmmirror.com/"'
disturl_url: '""'
sass_binary_site_url: '""'
package_management_type: '"yarn"'
vc_package_dir: '"."'
cache_path: '"/cache"'
needs:
- git_clone_0
- ref: git_clone_0
name: git clone
task: git_clone@1.2.9
input:
remote_url: '"https://www.gitlink.org.cn/gitlink/gitlink_help_center.git"'
ref: '"refs/heads/master"'
commit_id: '""'
depth: 1
needs:
- dingtalk_notice_text_0
- ref: end
name: 结束
task: end
needs:
- dingtalk_notice_text_1
- ref: scp_resource_0
name: scp替换打包文件到服务器
task: scp_resource@1.4.3
input:
ssh_pass: ((help_pro_server.password))
ssh_ip: '"106.75.45.236"'
ssh_port: '"22"'
ssh_user: '"root"'
remote_file: '"/root/gitlink_help_center"'
local_file: ((git_clone_0.git_path))+"/build"
file_content: '""'
needs:
- nodejs_build_0
- ref: ssh_cmd_0
name: 重启nginx
task: ssh_cmd@1.1.1
input:
ssh_pass: ((help_pro_server.password))
ssh_ip: '"106.75.45.236"'
ssh_port: '"22"'
ssh_user: '"root"'
ssh_cmd: '"service nginx restart"'
needs:
- scp_resource_0
- ref: dingtalk_notice_text_0
name: 钉钉通知-开始更新
task: dingtalk_notice_text@1.0.2
input:
boot_webhook_url: ((dingdingtalk.url))
msg_text: '"GitLink帮助中心-生产环境开始更新。。。"'
at_user_ids: '"[]"'
at_mobiles: '"[]"'
needs:
- start
- ref: dingtalk_notice_text_1
name: 钉钉通知-更新完成
task: dingtalk_notice_text@1.0.2
input:
boot_webhook_url: ((dingdingtalk.url))
msg_text: '"GitLink帮助中心-生产环境更新完成"'
at_user_ids: '"[]"'
at_mobiles: '"[]"'
needs:
- ssh_cmd_0

View File

@ -1,35 +0,0 @@
version: 2
name: 合并请求通过后自动更新
description: 合并请求通过后自动更新
global:
concurrent: 1
trigger:
webhook: gitlink@1.0.0
event:
- ref: pr
ruleset:
- param-ref: merged
operator: EQ
value: "true"
ruleset-operator: AND
workflow:
- ref: start
name: 开始
task: start
- ref: ssh_cmd_0
name: ssh执行命令
task: ssh_cmd@1.1.1
input:
ssh_pass: ((hnxjy_test_83.password))
ssh_ip: '"111.8.36.180"'
ssh_port: '"120"'
ssh_user: '"root"'
ssh_cmd: '"cd /root/docusaurus/config/dir/awesometic-docs && git pull"'
needs:
- start
- ref: end
name: 结束
task: end
needs:
- ssh_cmd_0

62
.devops/实验一.yml Normal file
View File

@ -0,0 +1,62 @@
version: 2
name: 实验一
description: ""
global:
concurrent: 1
trigger:
webhook: gitlink@1.0.0
event:
- ref: push
ruleset-operator: AND
workflow:
- ref: start
name: 开始
task: start
- ref: docker_image_build_0
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/gitlink_help_center_group5"'
image_tag: '"latest"'
registry_address: '"registry.cn-guangzhou.aliyuncs.com"'
docker_file: '"Dockerfile"'
docker_build_path: '"."'
workspace: git_clone_0.git_path
image_push: true
build_args: '""'
needs:
- git_clone_0
- ref: git_clone_0
name: git clone
task: git_clone@1.2.9
input:
username: ((ganshihao21.ganshihao21_user))
password: ((ganshihao21.ganshihao21))
remote_url: '"https://gitlink.org.cn/shuaihao/gitlink_help_center.git"'
ref: '"refs/heads/master"'
commit_id: '""'
depth: 1
needs:
- start
- ref: ssh_cmd_0
name: ssh执行命令
task: ssh_cmd@1.1.1
input:
ssh_pass: ((ssh_key.ssh_key))
ssh_ip: '"47.96.164.145"'
ssh_port: '"22"'
ssh_user: '"root"'
ssh_cmd: '"docker stop ghc_group5 && docker rm ghc_group5 && docker pull
registry.cn-guangzhou.aliyuncs.com/nudt_devops/gitlink_help_center_group5:latest
&& docker run -d -p 3000:3000 --name ghc_group5
registry.cn-guangzhou.aliyuncs.com/nudt_devops/gitlink_help_center_group5:latest"'
needs:
- docker_image_build_0
- ref: end
name: 结束
task: end
needs:
- ssh_cmd_0

View File

@ -0,0 +1,62 @@
version: 2
name: 未命名项目
description: ""
global:
concurrent: 1
trigger:
webhook: gitlink@1.0.0
event:
- ref: push
ruleset-operator: AND
workflow:
- ref: start
name: 开始
task: start
- ref: git_clone_0
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"'
ref: '"refs/heads/master"'
commit_id: '""'
depth: 1
needs:
- start
- ref: docker_image_build_0
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_tag: '"latest"'
registry_address: '"registry.cn-guangzhou.aliyuncs.com"'
docker_file: '"Dockerfile"'
docker_build_path: '"."'
workspace: git_clone_0.git_path
image_push: true
build_args: '""'
needs:
- git_clone_0
- ref: ssh_cmd_0
name: ssh执行命令
task: ssh_cmd@1.1.1
input:
ssh_pass: ((ssh_key.ssh_key))
ssh_ip: '"47.96.164.145"'
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"'
needs:
- docker_image_build_0
- ref: end
name: 结束
task: end
needs:
- ssh_cmd_0

8
.idea/.gitignore vendored Normal file
View File

@ -0,0 +1,8 @@
# 默认忽略的文件
/shelf/
/workspace.xml
# 基于编辑器的 HTTP 客户端请求
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

6
.idea/misc.xml Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
</project>

8
.idea/modules.xml Normal file
View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/gitlink_help_center.iml" filepath="$PROJECT_DIR$/.idea/gitlink_help_center.iml" />
</modules>
</component>
</project>

6
.idea/vcs.xml Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" />
</component>
</project>

10
Dockerfile Normal file
View File

@ -0,0 +1,10 @@
FROM node:18-alpine
LABEL maintainer="yuankaifneg <2894340009@qq.com>"
WORKDIR /gitlink_help_center
COPY ./ /gitlink_help_center/
RUN yarn install
RUN npm run build -- --locale zh-cn
CMD ["npm", "run", "serve"]

View File

@ -86,8 +86,22 @@
```
## 前端build成中文 i18n中可编辑对应中文内容
```
npm run build -- --locale zh-CN
启动 npm run serve
```
启动
```
npm run serve
```
### 开发模式
启动
```
npm run dev
```

View File

@ -1,11 +0,0 @@
---
slug: first-post
title: First Post
author: luffyZh
author_title: 第一篇文章 @ Facebook
author_url: https://github.com/luffyZh
author_image_url: https://avatars.githubusercontent.com/u/17840558?s=60&v=4
tags: [test]
---
## 第一篇文章

View File

@ -1,11 +0,0 @@
---
slug: hola
title: Hola
author: Gao Wei
author_title: Docusaurus Core Team
author_url: https://github.com/wgao19
author_image_url: https://avatars1.githubusercontent.com/u/2055384?v=4
tags: [hola, docusaurus]
---
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

View File

@ -1,17 +0,0 @@
---
slug: hello-world
title: Hello
author: Endilie Yacop Sucipto
author_title: Maintainer of Docusaurus
author_url: https://github.com/endiliey
author_image_url: https://avatars1.githubusercontent.com/u/17883920?s=460&v=4
tags: [hello, docusaurus]
---
Welcome to this blog. This blog is created with [**Docusaurus 2**](https://docusaurus.io/).
<!--truncate-->
This is a test post.
A whole bunch of other information.

View File

@ -1,13 +0,0 @@
---
slug: welcome
title: Welcome
author: Yangshun Tay
author_title: Front End Engineer @ Facebook
author_url: https://github.com/yangshun
author_image_url: https://avatars0.githubusercontent.com/u/1315101?s=400&v=4
tags: [facebook, hello, docusaurus]
---
Blog features are powered by the blog plugin. Simply add files to the `blog` directory. It supports tags as well!
Delete the whole directory if you don't want the blog features. As simple as that!

View File

@ -1,11 +0,0 @@
---
slug: last-post
title: Last Post
author: luffyZh
author_title: 最后一篇文章 @ Facebook
author_url: https://github.com/yangshun
author_image_url: https://avatars.githubusercontent.com/u/17840558?s=60&v=4
tags: [test]
---
## 我是最后一篇文章

View File

@ -1,4 +1,4 @@
{
"label": "Bot市场",
"label": "机器人(Bot)",
"position": 8
}

View File

@ -1,4 +1,88 @@
---
sidebar_label: 'bot安装'
sidebar_position: 1
---
---
import MyButton from './mybutton';
<MyButton onClick={() => {
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];
}
}
}
}
}}>中/英</MyButton>
# bot安装
Bot安装是进行bot安装和管理控制的重要模块主要包括bot安装、安装查询、安装管理等功能。
在bot详情页用户点击“安装此Bot”按钮后可以看到该bot工作所需的各项权限信息。若用户同意授予bot所需的相关权限即可进行安装。用户可选择将bot安装到所有仓库用户拥有的所有仓库也可以选择指定的仓库进行安装。
![botinstall1](../../static/img/bot/botinstall1.png)
在个人“设置”或者“仓库设置”中用户可以看到目前已经安装的Bot情况点击“配置”按钮可以对bot安装情况进行配置点击“卸载”按钮可以进行卸载。
![botinstall2](../../static/img/bot/botinstall2.png)
在bot安装配置页中用户可以掌握该bot的安装位置和工作状态。若用户需要更改bot的工作仓库时可以进行更改安装位置。bot的工作状态包括激活和挂起用户可根据需要对bot的状态进行调整将其挂起或者激活会影响到bot对仓库数据的访问权限。
![botinstall3](../../static/img/bot/botinstall3.png)

View File

@ -1,4 +1,82 @@
---
sidebar_label: 'bot市场'
sidebar_position: 4
---
---
import MyButton from './mybutton';
<MyButton onClick={() => {
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];
}
}
}
}
}}>中/英</MyButton>
# Bot市场
Bot市场是进行Bot分享与复用的重要模块主要包括bot的搜索发现详情查看等功能。
Bot市场主页中展示了目前所有已经上架市场的bot简要信息包括bot的头像名称开发者简介和安装次数等信息用户可根据这些基本信息初步判断该bot是否符合自己的项目需求。
在bot市场主页中用户可以选择指定的bot种类筛选出特定分类的bot在这个种类范围内进行搜索与选择。
此外用户通过在搜索栏中输入关键字进行搜索可检索出内容包含指定关键字的相关bot。
用户可结合种类筛选和关键字搜索缩小范围在市场中快速找到符合项目相关需求的bot。
![botmarket1](../../static/img/bot/botmarket1.png)
在bot市场页中用户点击指定的bot卡片即可进入该bot的详情页。Bot的详情页包含bot的头像名称开发者种类和详细介绍等信息用户可在此掌握该bot的各项介绍进一步判断是否将其安装到指定仓库中。
![botmarket2](../../static/img/bot/botmarket2.png)
在bot详情页中若用户认为该bot满足自己的项目需求可点击“安装此Bot”按钮了解该bot的权限信息将其安装到指定的仓库中关于安装的更多介绍可见“Bot安装”部分。
去市场看看吧!
<MyButton onClick={() => {
location.href = "https://www.gitlink.org.cn/softbot";
}}>Bot市场</MyButton>

View File

@ -1,4 +1,68 @@
---
sidebar_label: 'bot开发'
sidebar_position: 3
---
---
import MyButton from './mybutton';
<MyButton onClick={() => {
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];
}
}
}
}
}}>中/英</MyButton>
# Bot开发
Bot开发是开发者进行bot注册的重要模块。
在个人“设置”中用户可以看到目前已经注册的bot列表点击对应bot的“编辑”按钮可以对已注册的bot进行配置点击“Bot注册”按钮开始注册新的bot。
![botcreate1](../../static/img/bot/botcreate1.png)
在注册页中开发者需要填写bot注册的相关信息包括bot的名称、Webhook 地址详细介绍等系统将对开发者输入的信息进行合法性校验确保bot各项信息的完整性和有效性。此外系统将自动生成bot的唯一标识同时调用 GitLink 平台的相关接口生成bot的身份凭证信息包括客户端密钥和私钥等。
开发者需通过这些身份信息结合平台接口进行bot身份认证后调用相关接口完成bot的相关功能。
平台开发API链接待完善https://www.gitlink.org.cn/docs/api#introduction
![botcreate2](../../static/img/bot/botcreate2.png)
![botcreate3](../../static/img/bot/botcreate3.png)

View File

@ -1,4 +1,69 @@
---
sidebar_label: 'bot配置'
sidebar_position: 2
---
---
import MyButton from './mybutton';
<MyButton onClick={() => {
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];
}
}
}
}
}}>中/英</MyButton>
# Bot配置
Bot配置是开发者进行bot维护和配置的重要模块主要包括bot基本信息维护、权限&订阅事件管理、高级选项配置等功能。
Bot的基本信息维护中开发者可以看到bot的各项基本信息并可以根据需要对bot的头像名称Webhook地址等进行修改。
![botconfig1](../../static/img/bot/botconfig1.png)
Bot的权限&订阅事件管理中开发者可根据对仓库资源的访问需要为bot分配不同的权限和等级比如增加代码库权限将拉取请求的写权限变为读权限等。开发者还能更改当前bot订阅的事件列表比如订阅代码库推送取消拉取请求分配订阅等以实现bot功能的更新与升级。
![botconfig2](../../static/img/bot/botconfig2.png)
Bot高级选项配置中开发者可以改变bot的公私有状态从而影响到bot的使用范围。需要注意的是公开状态下的bot在已有其他仓库安装的情况下不能变成私有。开发者可选择将bot上架到市场需要填写上架信息包括市场简介主要功能次要功能等各项信息。
开发者还能进行bot的删除和转让操作发起转让意味着更改bot的所有权需要输入接受者的用户名。在接受者确定接受后即可完成bot的所有权变更拒绝则会取消本次的转让操作。
![botconfig3](../../static/img/bot/botconfig3.png)

View File

@ -0,0 +1,13 @@
import React from 'react';
import styles from './mybutton.module.css'; // 假设你有一个CSS模块文件来定义样式
const MyButton = ({ onClick, children, className = '' }) => (
<button
onClick={onClick}
className={`${styles.myButton} ${className}`} // 使用CSS模块样式
>
{children}
</button>
);
export default MyButton;

View File

@ -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; /* 鼠标悬停时改变背景色 */
}

View File

@ -1,4 +1,12 @@
---
sidebar_label: '代码流水线'
sidebar_position: 5
---
---
# 代码流水线
可以通过代码的形式(YAML格式)来配置流水线,首先选择代码流水线和对应的分支:
![code_workflow1](../../static/img/engine/code_workflow1.jpg)
编辑流水线代码,其流水线名称描述、触发器、全局参数、执行串行/并发和流水线编排等概念同图形流水线,具体描述如下:
![code_workflow2](../../static/img/engine/code_workflow2.png)

View File

@ -1,4 +1,15 @@
---
sidebar_label: '参数配置'
sidebar_position: 2
---
---
# 参数配置
可在流水线中使用,实现动态参数配置;有字符串、数字、布尔三种类型。
![parameter1](../../static/img/engine/parameter1.png)
在流水线的配置中通过如下方式获取参数:
![parameter2](../../static/img/engine/parameter2.png)

View File

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

View File

@ -1,4 +1,16 @@
---
sidebar_label: '密钥设置'
sidebar_position: 3
---
---
# 密钥设置
将账号密码、密钥、证书等存放到密钥管理里,配置后可直接在流水线中使用,避免因直接填写引起的泄露风险。
![secret1](../../static/img/engine/secret1.png)
使用示例
注:节点输入参数中,下拉选项为密钥类型,需要提前配置好密钥在流水线中选择使用
![secret2](../../static/img/engine/secret2.png)

View File

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

View File

@ -1,4 +1,10 @@
---
sidebar_label: '执行记录查询'
sidebar_position: 6
---
---
# 执行记录查询
用户可以查看流水线的运行状态
![result](../../static/img/engine/result.png)

View File

@ -1,6 +1,8 @@
---
sidebar_label: "介绍"
label: "介绍"
sidebar_position: 1
slug: /
---
# 关于GitLink
@ -19,8 +21,73 @@ GitLink确实开源是CCF官方指定的开源创新服务平台旨在
# 帮助文档
帮助文档有助于您全面了解GitLink平台让我们一起为开源创新贡献力量
:::tip 快速开始
[5个文档](/快速开始/注册GitLink账号.md)
:::
<div class="row">
<div class="col col--12">
<section class="row list">
<article class="col col--6 margin-bottom--lg">
<a class="card padding--lg cardContainer" href="/快速开始/注册GitLink账号">
<h2 class="text--truncate cardTitle" title="快速开始">快速开始</h2>
<p>帮助用户快速注册使用平台[5个文档]</p>
</a></article>
<article class="col col--6 margin-bottom--lg">
<a class="card padding--lg cardContainer" href="/代码库管理/仓库创建">
<h2 class="text--truncate cardTitle" title="代码库管理">代码库管理</h2>
<p>代码库使用及设置[8个文档]</p>
</a></article>
<article class="col col--6 margin-bottom--lg">
<a class="card padding--lg cardContainer" href="/组织管理/组织简介">
<h2 class="text--truncate cardTitle" title="组织管理">组织管理</h2>
<p>组织使用及设置[5个文档]</p>
</a></article>
<article class="col col--6 margin-bottom--lg">
<a class="card padding--lg cardContainer" href="/疑修/疑修简介">
<h2 class="text--truncate cardTitle" title="疑修">疑修</h2>
<p>疑修(Issue)使用及设置[7个文档]</p>
</a></article>
<article class="col col--6 margin-bottom--lg">
<a class="card padding--lg cardContainer" href="/合并请求/合并请求简介">
<h2 class="text--truncate cardTitle" title="合并请求">合并请求</h2>
<p>合并请求(Pull Request)使用及设置[5个文档]</p>
</a></article>
<article class="col col--6 margin-bottom--lg">
<a class="card padding--lg cardContainer" href="/DevOps引擎/引擎简介">
<h2 class="text--truncate cardTitle" title="DevOps引擎">DevOps引擎</h2>
<p>DevOps引擎(Engine)使用及设置[6个文档]</p>
</a></article>
<article class="col col--6 margin-bottom--lg">
<a class="card padding--lg cardContainer" href="/维基/模板导入及导出">
<h2 class="text--truncate cardTitle" title="维基">维基</h2>
<p>维基(Wiki)使用及设置[2个文档]</p>
</a></article>
<article class="col col--6 margin-bottom--lg">
<a class="card padding--lg cardContainer" href="/Bot市场/bot安装">
<h2 class="text--truncate cardTitle" title="Bot市场">Bot市场</h2>
<p>Bot市场使用及设置[4个文档]</p>
</a></article>
<article class="col col--6 margin-bottom--lg">
<a class="card padding--lg cardContainer" href="/第三方服务/跨平台代码同步">
<h2 class="text--truncate cardTitle" title="第三方服务">第三方服务</h2>
<p>第三方服务使用及设置[3个文档]</p>
</a></article>
<article class="col col--6 margin-bottom--lg">
<a class="card padding--lg cardContainer" href="/通知/通知简介">
<h2 class="text--truncate cardTitle" title="通知">通知</h2>
<p>通知简介及设置[2个文档]</p>
</a></article>
<article class="col col--6 margin-bottom--lg">
<a class="card padding--lg cardContainer" href="/个人主页建站/建站流程">
<h2 class="text--truncate cardTitle" title="个人主页建站">个人主页建站</h2>
<p>个人主页建站使用及设置[2个文档]</p>
</a></article>
<article class="col col--6 margin-bottom--lg">
<a class="card padding--lg cardContainer" href="/平台公告">
<h2 class="text--truncate cardTitle" title="平台公告">平台公告</h2>
</a></article>
<article class="col col--6 margin-bottom--lg">
<a class="card padding--lg cardContainer" href="/服务协议/GitLink服务协议">
<h2 class="text--truncate cardTitle" title="服务协议">服务协议</h2>
<p>GitLink服务协议[1个文档]</p>
</a></article>
</section>
</div>
</div>

View File

@ -0,0 +1,4 @@
{
"label": "个人主页建站",
"position": 13
}

View File

@ -0,0 +1,69 @@
---
sidebar_label: '建站工具'
sidebar_position: 2
---
# 个人建站工具
个人主页建站是一个免费的静态网页托管服务,可用于托管静态个人主页、个人博客等静态页面。个人建站不同工具如下
### Hugo工具
使用Hugo 工具创建的仓库需要将代码仓库中config.toml 文件中的 baseURL 修改
将值改成 个人建站服务中显示的网站地址,
例如: 现在有一个网站地址为 http://KingChan.gitlink.net
那么 config.toml 中的 baseURL 应该为 http://KingChan.gitlink.net
![img](../../static/img/个人主页建站/建站工具1.png)
修改完毕后点击提交
![img](../../static/img/个人主页建站/建站工具2.png)
提交完成后,开始部署
![img](../../static/img/建站工具3.png)
静态页面预览
![img](../../static/img/建站工具4.png)
### jekyll工具
如果是jekyll项目
使用jekyll工具创建的个人站点需要对代码仓库中 _config.yml文件中的 baseurl和url两个值进行修改jekyll的配置文件比较特殊需要根据 个人建站服务 中显示的 网站地址
内容修改两个值。
例如: 现在有一个网站地址为 http://KingChan.gitlink.net
那么结果如下:
baseurl: "/"
url: "http://KingChan.gitlink.net"
![img](../../static/img/建站工具5.png)
修改完成后点击 提交变更
![img](../../static/img/个人主页建站/建站工具2.png)
提交完成后,前往建站服务开始部署
![img](../../static/img/建站工具7.png)
![img](../../static/img/建站工具8.png)
### hexo工具
如果是 hexo项目
使用Hexo工具创建的仓库需要将代码仓库中_config.yml 文件中的 url修改
将值改成 个人建站服务中显示的网站地址,
例如: 现在有一个网站地址为 http://KingChan.gitlink.net
那么 _config.toml 中的 url应该为 http://KingChan.gitlink.net
![img](../../static/img/建站工具9.png)
修改完毕后提交变更
![img](../../static/img/个人主页建站/建站工具2.png)
提交完成后,前往建站服务开始部署
![img](../../static/img/建站工具11.png)
![img](../../static/img/建站工具12.png)
![img](../../static/img/建站工具13.png)
### file 工具
文档格式工具,使用该工具会部署所选中分支下的所有文件。
注: 以上所有工具都可以使用 gh-pages 分支,在部署时选中 gh-pages 分支,则会按照文档格式工具部署,也就是部署分支下的所有文件。

View File

@ -0,0 +1,50 @@
---
sidebar_label: '建站流程'
sidebar_position: 1
---
# 个人建站流程
### 我的站点
鼠标移动至右上角头像位置,点击设置进入我的设置界面
![img](../../static/img/建站工具/1.png)
点击左测面板中 个人建站 - 我的站点
![img](../../static/img/建站工具/3.png)
### 创建站点
在我的站点界面点击 新建站点 按钮,进入新建站点界面
在新建站点界面输入站点名称,此名称将在我的站点列表中展示
并且选择对应的建站工具与主题我们为您提供了3种不同的工具每个工具10种主题一共30种供您挑选
![img](../../static/img/建站工具/4.png)
填写完毕后,点击页面下方蓝色按钮: 创建站点
![img](../../static/img/建站工具/5.png)
这样您就拥有了一个网站,并且有了一个代码仓库。
在仓库的 服务 一栏中 个人建站服务的操作界面,这里您可以查看一些您的站点状态、站点名称、网站地址、建站工具、建站时间
### 部署站点
![img](../../static/img/建站工具/6.png)
点击去部署按钮,选择想要部署的分支后点击确定
![img](../../static/img/建站工具/7.png)
等待程序运行一会儿后,会返回一些服务器部署信息给您
部署成功后您就可以访问站点了。点击网站地址就可以跳转
![img](../../static/img/建站工具/8.png)
### 部署完成
![img](../../static/img/建站工具/9.png)

View File

@ -1,4 +1,11 @@
---
sidebar_label: '代码提交'
sidebar_position: 3
---
---
### **1. 代码提交入口**
用户可以通过项目代码库中间的文件下的“上传文件”按键来上传文件。
![](../../static/img/代码库管理/代码提交/上传文件入口.png)<br/>
### **2. 上传文件**
进入上传文件页面后,如下图所示,拖动文件,选择提交变更的分支的单击”创建项目“按键即可完成创建。
![](../../static/img/代码库管理/代码提交/上传文件.png)<br/>

View File

@ -1,4 +1,13 @@
---
sidebar_label: '分支管理'
sidebar_position: 5
---
---
### **1. 查看分支**
在代码库栏下,如下图所示,用户可以点击代码库分支从而查看当前项目的所有分支,并且选择对其进行操作。
![](../../static/img/代码库管理/分支管理/分支管理方式1.jpg)<br/>
### **2. 合并分支**
在“和并请求PR”下点击“新建合并请求”后
![](../../static/img/代码库管理/分支管理/分支管理方式3.png)<br/>
如下图所示,用户可以选择源分支与目标分支以及填写分支信息后提交分支合并请求。
![](../../static/img/代码库管理/分支管理/分支管理方式2.png)<br/>

View File

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

View File

@ -1,4 +1,13 @@
---
sidebar_label: '代码评审'
sidebar_position: 3
---
---
# 代码评审
### **1. 进入代码评审**
如下图所示,点击“代码评审”按钮可以进入代码评审
![](../../static/img/PR/进入代码评审.png)<br/>
### **2. 代码评审界面**
如下图所示用户可以在该界面下查看该PR操作要合并的新的代码并对其进行评审。
![](../../static/img/PR/具体代码评审.png)<br/>

View File

@ -1,4 +1,22 @@
---
sidebar_label: '创建合并请求'
sidebar_position: 2
---
---
# 创建合并请求
1. 进入需要发起合并请求的项目的“**合并请求(PR)**”界面,点击上方的“**新建合并请求**”按钮后,进入合并请求发布界面,如下所示:
![合并请求模块](/img/PR/imagePR2.png)
![合并请求发布界面](/img/PR/imagePR3.png)
2. 选择需要合并的**源分支**和**目标分支**其中源分支为已完成代码开发、需要合并其代码变更的分支目标分支为要并入代码变更的分支既可以是同一仓库下的其他分支branch也可以是被复刻的源仓库下的分支
3. 选中分支后,填写本次合并请求的标题和描述内容,为审查者提供辅助理解本次合并请求的信息,进而加快合并请求审查过程(见 ***代码评审*** 一节);
4. 此外,用户还可以在右侧边栏中指定审查人员、添加里程碑、标记以及优先级(合并请求本质上是一个疑修,这些操作与疑修模块中的操作含义相同或相近,所以可以参照疑修章节中的介绍辅助理解);
5. 最后信息填写完毕后,点击底部的“**创建**”按钮即可提交您的第一个合并请求了🎉🎉🎉!
![创建合并请求](/img/PR/imagePR4.png)

View File

@ -1,4 +1,100 @@
---
sidebar_label: '合并模式简介'
sidebar_position: 4
---
---
# 合并模式简介
在审阅人审查完开发者提交的代码变更后,便可以决定是否将这些提交合并进主分支`master`中。
然而对于不同分支间的提交合并存在多种合并模式下图为GitLink中支持的合并模式包括**合并请求**、**变基并合并**、**变基合并 --no-ff**以及**压缩提交并合并**四种。
![合并模式](/img/PR/imagePR5.png)
1. **合并请求**
**合并请求**是最常用的合并模式,以下图为例,开发者在主分支`master`的提交3处拉取了开发分支`dev`然后分别提交了A、B、C然后在`master`分支上进行合并。
快进合并前:
![快进合并前](/img/PR/imagePR6.png)
快进合并后:
![快进合并后](/img/PR/imagePR7.png)
**注意**:可以看到,合并的过程就是直接把`master`指针移动到了`dev`指针处,这种合并被称为**快进fast-forward**之所以出现这种情形是因为在提交3之后`master`分支上没有新的提交,所以通过直接快进`master`指针就可以完成合并;但如果在`master`分支上也有新的提交,就需要进行实质性的合并了,如下面两幅图所示:
在合并前,`dev`分支上提交A之后、提交B之前`master`分支上提交了4这时合并`dev`分支就不能简单地快进移动,而是要比较两个分支上更改的内容,然后进行合并;
非快进合并前:
![非快进合并前](/img/PR/imagePR8.png)
合并之后提交A、B、C都会按时间线加入`master`的提交记录中并且会生成一个新的提交D用于记录合并这件事情此外如果合并过程中发生了冲突即两个分支对同一个文件进行了修改则需要手动处理冲突这种合并方式就是**非快进no fast-forward**,这也是**合并请求**模式下的默认方式!
非快进合并后:
![非快进合并后](/img/PR/imagePR9.png)
为了方便理解,可以以线性方式查看合并后的`master`分支上的提交记录
![线性的提交记录](/img/PR/imagePR10.png)
**总结**:在**合并请求**模式下,默认采用**非快进**合并开发分支到`master`分支上,而**非快进**方式会生成一个特殊的提交用于记录此次合并事件!
2. **变基并合并**
从**合并请求**后`master`分支上的提交记录可以看出,两个分支的提交记录可能会交叉在一起,这可能会给后续开发带来困扰,而**变基并合并**可以解决这个问题。
**变基并合并**包括两个操作:**变基**、**合并**。首先是变基,以下图为例,`dev`分支是从提交3处拉取出来的所以提交3就是`dev`的基,而变基操作就是改变`dev`的基,使其变为`master`分支上最新的一次提交。当然,变基过程中可能会出现冲突,则需要手动处理。
变基前:
![变基前](/img/PR/imagePR8.png)
变基后、合并前:
![变基后_合并前](/img/PR/imagePR11.png)
`dev`分支变基之后,`master`分支就没有“更新”的提交了,所以此时进行合并,就得到了如下的结果
合并后:
![合并后](/img/PR/imagePR12.png)
**总结**:在**变基并合并**模式下,开发分支`dev`可以先进行变基操作,使其上的提交看起来都是在`master`分支最新的提交基础上进行的,然后再通过**快进**方式合并回`master`分支,从而起到整理提交记录的作用!
3. **变基合并 --no-ff**
因为**变基并合并**进行合并操作时,默认采用**快进**方式,这样在`master`分支上就没有一个特殊的提交用于记录这次合并事件,所以可以使用`--no-ff`**no fast-forward**)选项申明采用**非快进**方式进行合并。
`--no-ff`合并前:
![--no-ff合并前](/img/PR/imagePR11.png)
`--no-ff`合并后:
![--no-ff合并后](/img/PR/imagePR13.png)
**总结**:通过`--no-ff`选项,可以显式声明在合并时采用**非快进**方式,这样就可以在`master`分支中添加一个记录合并事件的提交!
4. **压缩提交并合并**
在`dev`或者`feature`这样的开发分支中,开发者为了完成某个需求会进行多次提交,然而这些琐碎的提交信息在合并回`master`分支后,会使`master`上的提交记录臃肿混乱,所以需要在合并前,对这些提交进行压缩。如图所示,压缩操作是在`master`分支上进行的,本质是将`dev`分支上进行的变更施加到`master`分支维护的文件上然后将这些修改用新的提交5保存最后提交。
压缩前:
![压缩前](/img/PR/imagePR8.png)
压缩后、提交前:
![压缩后_提交前](/img/PR/imagePR14.png)
提交后:
![提交后](/img/PR/imagePR15.png)
**总结**:在合并前,先对开发分支上的琐碎提交进行压缩,可以使`master`分支上的提交信息更简洁,但是要注意,这种合并模式本质上是`master`分支一次性保存`dev`上的变更,并创建新的提交记录这些变更,所以提交者发生了变化!

View File

@ -1,4 +1,6 @@
---
sidebar_label: '合并请求关联疑修'
sidebar_position: 5
---
---
# 合并请求关联疑修

View File

@ -1,4 +1,18 @@
---
sidebar_label: '合并请求简介'
sidebar_position: 1
---
---
# 合并请求简介
**Pull Request**,即**合并请求**,是现代分布式软件开发中两个软件仓库间合并代码变更的一种方式,通常用于 fork 仓库向被 fork 仓库(源仓库)提交代码变更,同时也是为团队项目或开源项目做贡献的一种非常好的团队协作方式。当你拉取并修改了他人的仓库代码后,将你的修改告知给原仓库的管理者,请求其合并你的修改,这个过程就被称为 **合并请求**
GitLink中的 **合并请求(PR)** 模块提供合并请求创建和管理两方面的功能:
- 一方面支持向源仓库或者同一个仓库其他分支创建(发起)代码合并请求;
- 另一方面也为仓库管理者对他人发送到本仓库的合并请求进行管理、审阅并最终确定是否纳入仓库。
如下图所示为合并请求(PR)管理模块:
![合并请求管理模块](/img/PR/imagePR1.png)

View File

@ -1,4 +1,4 @@
{
"label": "平台公告",
"position": 11
"position": 99
}

View File

@ -1,4 +1,24 @@
---
sidebar_label: '创建第一个开源项目'
sidebar_position: 2
---
---
# 创建第一个开源项目
## 1. 新建项目
平台提供了“新建”按钮,用户可以通过点击快速从零开始创建新的公开或者私有项目。
![创建首页](/img/quickstart/create_homepage.png)
## 2. 填写项目信息
填写项目基本信息。
![](/img/quickstart/create_info.png)
## 3. 创建成功
点击创建项目,创建成功后进入项目主页。
![](/img/quickstart/create_success.png)

View File

@ -1,4 +1,92 @@
---
sidebar_label: '导入GitHub等第三方Git项目'
sidebar_position: 5
---
---
# 导入GitHub等第三方Git项目
## 1. 导入项目
在首页选择**导入项目**
![](/img/quickstart/import_homepage.png)
## 2. 填写信息
填写需要导入的第三方Git项目地址和项目信息如果导入项目为私有仓库则需输入目标平台用户token进行授权。
![](/img/quickstart/import_info.png)
## 3. 授权验证
在使用GitLink平台导入其他平台如GitHub、Gitee的开源项目时如果项目为私有则无法通过正常途径导入需要输入对应平台有权限的token值进行校验。
![](/img/quickstart/import_verify.png)
下面将列举一些典型开源平台的token获取方式。
### GitHub token获取方式
1. 登录GitHub账号
2. 访问用户头像下的settings菜单
![img](https://forum.gitlink.org.cn/api/attachments/422328)
3. 访问最下方的Developer settings
![img](https://forum.gitlink.org.cn/api/attachments/422329)
4. 在跳转页访问Tokenclassic新建一个classic token若已保存token
![img](https://forum.gitlink.org.cn/api/attachments/422362)
5. 在token配置页面输入token用途并确保该token已勾选“repo”选项否则将导入失败
![img](https://forum.gitlink.org.cn/api/attachments/422364)
点击创建按钮
![img](https://forum.gitlink.org.cn/api/attachments/422366)
6. 复制该token
![img](https://forum.gitlink.org.cn/api/attachments/422368)
并将该token输入至GitLink导入项目认证填写框
![img](https://forum.gitlink.org.cn/api/attachments/422376)
### Gitee token获取方式
1. 登录Gitee账号
2. 访问用户头像下的设置菜单
![img](https://forum.gitlink.org.cn/api/attachments/422333)
3. 访问“安全设置”栏下方“私人令牌”菜单
![img](https://forum.gitlink.org.cn/api/attachments/422334)
4. 点击生成新令牌并在令牌生成页面配置令牌名称并确保令牌已勾选“project”权限选项并保存该令牌
![img](https://forum.gitlink.org.cn/api/attachments/422371)
![img](https://forum.gitlink.org.cn/api/attachments/422370)
5. 在令牌生成成功的弹窗复制该令牌并将该token输入至GitLink导入项目认证填写框
![img](https://forum.gitlink.org.cn/api/attachments/422374)
![img](https://forum.gitlink.org.cn/api/attachments/422375)
## 4. 导入成功
提示正在从第三方Git项目地址迁移
![](/img/quickstart/import_wait.png)
迁移成功则导入项目成功
![](/img/quickstart/import_success.png)

View File

@ -1,4 +1,22 @@
---
sidebar_label: '提交第一行代码'
sidebar_position: 3
---
---
# 提交第一行代码
# 1. 编辑代码
点击编辑按钮,开始编辑代码。
![](/img/quickstart/first_edit.png)
# 2. 提交代码
在编辑框中编写代码,编写完成后填写变更信息后提交变更。
![](/img/quickstart/first_commit.png)
## 3. 代码更新成功
提交成功后代码代码更新成功。![](/img/quickstart/first_success.png)

View File

@ -1,4 +1,44 @@
---
sidebar_label: '搜索开源项目'
sidebar_position: 4
---
---
# 搜索开源项目
## 1. 开源项目页面介绍
项目”模块汇聚和管理了所有 GitLink 平台上的托管项目和镜像项目,用户可以输入项目名称关键字进行搜索,也可以根据项目类别对项目进行筛选。
进入“项目”模块,左侧列出了项目类型和项目类别。其中,项目类型主要包括开源托管项目和开源镜像项目两类。项目类别主要包括:云计算、大数据、区块链、物联网、机器学习、人工智能、智慧医疗、其他。
![](/img/quickstart/search_homepage.png)
右侧展示了所有项目的基本信息包括创建者、项目名、项目简介、浏览量、项目类别、更新时间、点赞数量、Fork 数量等信息用户可以通过关键字搜索查找特定的项目也可以按照更新时间、创建时间、Fork 数量、点赞数量等对项目进行排序。
![](/img/quickstart/search_list.png)
用户点击项目名称,即可进入到项目详情,查看和参与开源项目开发。
## 2. 搜索开源项目
有两处搜索框可以搜索
### 开源项目搜索框
搜索项目:
![](/img/quickstart/search_method1.png)
搜索结果:
![](/img/quickstart/search_result1.png)
### 菜单栏搜索框
搜索项目:
![](/img/quickstart/search_method2.png)
搜索结果:
![](/img/quickstart/search_result2.png)

View File

@ -1,4 +1,27 @@
---
sidebar_label: '注册GitLink账号'
sidebar_position: 1
---
---
# 注册GitLink账号
## 1. 点击**立即注册**按钮
![](/img/quickstart/register_homepage.png)
## 2. 填写注册信息
- 手机号注册
![](/img/quickstart/register_phone.png)
- 邮箱注册
![](/img/quickstart/register_email.png)
## 3. 注册完成
填写完所需信息后点击注册,注册成功后则进入个人主页
![](/img/quickstart/register_ownpage.png)

View File

@ -8,12 +8,12 @@ sidebar_position: 1
欢迎使用GitLink平台在您使用GitLink平台前请您认真阅读并遵守《GitLink服务协议》以下简称”本协议”请您务必审慎阅读、充分理解协议的各条款内容。
当您在注册过程中点击查看”看过并同意本服务协议”按照注册流程成功注册为GitLink平台的用户即表示您已充分阅读、理解并完全接受本协议中的全部条款。您承诺接受并遵守本协议的约定届时您不应以未阅读本协议的内容等理由主张本协议无效或本协议中的某些条款无效或要求撤销本协议。
##一、GitLink平台权利和义务
## 一、GitLink平台权利和义务
1. 尊重用户隐私尊重用户隐私保障用户隐私安全是GitLink平台的一项基本政策
2. 管理平台用户GitLink平台依据国家法律、地方法律和国际法律等的标准以及本行业的规则来管理平台注册用户
3. 处理用户反馈GitLink平台的相关人员会及时处理用户反馈的问题并给予及时回复。
##二、用户权利和义务
## 二、用户权利和义务
用户在使用GitLink平台的过程中必须遵守如下原则
1. 遵守中国的有关法律和法规;
@ -24,10 +24,10 @@ sidebar_position: 1
6. 不传输任何教唆他人构成犯罪行为的资料;
7. 用户不得故意或者过失损害GitLink平台合法权利和利益。
##三、关于责任
## 三、关于责任
鉴于网络服务的特殊性用户同意GitLink团队有权在事先通知的情况下变更、中断、升级部分网络服务。GitLink团队不担保网络服务不会中断但承诺在用户可承受的时间内快速恢复服务同时确保用户数据的安全性和可靠性。
##四、服务条款的修改
## 四、服务条款的修改
GitLink团队保留在必要时对本协议修改的权利一旦发生变动这些条款可由GitLink团队及时更新且毋须另行通知修改后的条款一旦在网页上公布即有效代替原来的服务条款。您可随时查阅最新版服务条款。

View File

@ -1,4 +1,4 @@
{
"label": "服务协议",
"position": 12
"position": 100
}

View File

@ -18,5 +18,7 @@ GitLink默认疑修共有缺陷、功能、疑问、支持、任务、协助、
- **文档:** 表示文档材料补充;
- **测试:** 表示需要测试的需求;
- **重复:** 表示已存在类似的疑修。
![](/img/Issue/imageIssue14.png)
另外,**项目成员**可以根据需求或习惯,进行标记含义或颜色标志的修改、新建标记和删除标记操作。
另外,**项目成员**可以根据需求或习惯,进行标记含义或颜色标志的修改、新建标记和删除标记操作。
![](/img/Issue/imageIssue15.png)

View File

@ -10,4 +10,12 @@ sidebar_position: 2
2. 开始创建疑修,包括疑修标题、内容,输入疑修内容时既可以采用简单灵活的[Markdown语法](https://markdown.com.cn/),同时可以点击上方的功能按钮;然后上传需要的附件内容;最后点击“**创建**”按钮提交你的第一个疑修🎉🎉🎉
![](/img/Issue/imageIssue3.png)
![](/img/Issue/imageIssue3.png)
3. 此外,在创建疑修时,可以通过符号 **`#`** 快速添加需要引用的疑修,进而为当前疑修提供辅助的信息;如下图所示,键入 **`#`** 后会弹出可引用的疑修列表,通过鼠标下滑或者键盘输入疑修编号选择需要引用的疑修后,会自动添加引用疑修的链接🔗
![](/img/Issue/imageIssue6.png)
![](/img/Issue/imageIssue7.png)

View File

@ -6,6 +6,13 @@ sidebar_position: 5
# 评论及操作记录
### 评论
每个疑修都相当于一个可以进度追踪的帖子,因此支持评论和回复,不仅仅是项目成员,所有人都可以在某个疑修下进行评论和回复,发表疑问或是见解,进行交流。
![](/img/Issue/imageIssue11.png)
### 疑修声明
用户可以对任意疑修发布“疑修声明”,留言自己对于该疑修的解决思路。点击疑修详情右侧的“声明”后,可以编辑留言,编辑完成后点击“确认”即可发布声明,如下图所示:
![](/img/Issue/imageIssue12.png)
### 操作记录
所有人都可以创建疑修,但是要注意,非项目成员仅可以修改自己创建的疑修,而项目成员有权限修改所有的疑修。
对于某个疑修的所有编辑操作,包括**创建疑修、添加负责人、移除负责人、更改状态、更改优先级、添加标记、移除标记、添加里程碑、移除里程碑、设置关联分支、移除关联分支、设置开始日期和设置结束日期**,均被记录在操作记录中。
对于某个疑修的所有编辑操作,包括**创建疑修、添加负责人、移除负责人、更改状态、更改优先级、添加标记、移除标记、添加里程碑、移除里程碑、设置关联分支、移除关联分支、设置开始日期和设置结束日期**,均被记录在操作记录中。
![](/img/Issue/imageIssue13.png)

View File

@ -12,13 +12,16 @@ sidebar_position: 7
项目成员可以基于以下步骤创建里程碑:
1. 进入目标项目的 **“里程碑”** 界面,此时界面所示为已创建的里程碑的列表,所有已创建里程碑分为 **“已关闭”** 和 **“开启中”** 两类;
2. 点击上方的 **“+创建里程碑”** 按钮即可进入里程碑创建界面;
![](/img/Issue/imageIssue16.png)
3. 填写标题(必填)、描述(必填)、截止日期(选填)后,点击右下角的 **“创建里程碑”** 即可以完成一个新的里程碑的创建。
![](/img/Issue/imageIssue17.png)
### 关联里程碑
项目成员可以将疑修关联到里程碑,从而使里程碑包含明确的疑修列表,主要步骤如下:
1. 在疑修列表中点击目标疑修;
2. 编辑“里程碑”属性,选择需要关联的里程碑。
![](/img/Issue/imageIssue18.png)
### 其他操作
- **开启里程碑**
@ -26,4 +29,6 @@ sidebar_position: 7
- **编辑里程碑**
- **删除里程碑**
上述操作均可以在里程碑列表中,对目标里程碑进行处理实现。
上述操作均可以在里程碑列表中,对目标里程碑进行处理实现,如下图所示:
![](/img/Issue/imageIssue19.png)
![](/img/Issue/imageIssue20.png)

View File

@ -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)
<center>JS语言服务提示</center>
- 3. 提供了 Java、Go、Python、C++、Php 的在线语言服务能力,支持简单的定义跳转、查找引用等功能,让大家更加方便的阅读代码
- 3.提供了 Java、Go、Python、C++、Php 的在线语言服务能力,支持简单的定义跳转、查找引用等功能,让大家更加方便的阅读代码
![](/img/di_san_fang/WebIDE/python查看引用.png)
<center>Python 查看引用</center>

View File

@ -1,4 +1,73 @@
---
sidebar_label: '跨平台代码同步'
sidebar_label: '跨平台代码同步服务'
sidebar_position: 2
---
---
### 功能简介
跨平台仓库代码同步服务用于不同代码托管平台之间的仓库代码双向同步功能。用户将不同平台的仓库分支进行绑定当任意仓库分支有push事件被webhook监听时代码推送将实时自动同步至另一个仓库以实现不同平台之间分支、提交信息的自动同步代码托管平台仅限于github与gitee
![1.同步流程](../../static/img/reposyncer/1.同步流程.png)
同步服务既满足双平台代码库分支同步需求,也支持最多创建三个平台的代码仓库同步,如下图所示
![2.同步方式](../../static/img/reposyncer/2.同步方式.png)
### 配置双向同步
1、进入需要创建同步的代码库“服务”tab开通跨平台代码同步服务。
![3.开启跨平台服务](../../static/img/reposyncer/3.开启跨平台服务.png)
2、配置跨平台的同步仓库支持github和gitee。需输入代码库地址git地址和网站访问地址均支持以及配置对应token用于授权同步此处须注意token的权限以及是否过期。<br />
Github配置方式为个人头像→Settings→Developer Settings→Personal access tokens (classic)→Generate new token→勾选repo按钮→保存<br />
Gitee配置方式为个人头像→设置→私人令牌→生成新令牌→勾选projects权限→提交
![4.配置同步仓库](../../static/img/reposyncer/4.配置同步仓库.jpg)
3、在首次创建同步仓库时需要用户手动在目标仓库的代码库创建一条webhook用于监听仓库push事件从而向其他同步仓库推送代码完成同步同步步骤如下
①点击“复制链接”按钮复制平台用于接收webhook请求的地址
![5.配置webhook](../../static/img/reposyncer/5.配置webhook.jpg)
②访问点击前往按钮前往目标仓库webhook页新建一个webhook以github为例
![6.webhook示例](../../static/img/reposyncer/6.webhook示例.png)
③粘贴链接并确保该webhook支持push事件的监听并已经成功激活
![7.webhook配置规则](../../static/img/reposyncer/7.webhook配置规则.png)
4、完成仓库配置绑定后需要绑定这两个仓库的指定同步分支建立首次同步方向。<font color="red">注:首次同步的策略为单向代码强推,请谨慎选择同步方向开启同步以避免代码被覆盖</font>
![8.绑定分支](../../static/img/reposyncer/8.绑定分支.jpg)
5、完成分支的绑定在绑定后会根据选择的同步方向立即执行一次同步。后续webhook监听到任意分支有代码推送会实时向另一个绑定分支同步代码推送代码
![9.确认绑定](../../static/img/reposyncer/9.确认绑定.jpg)
### 管理同步分支
同步分支配置完成后,用户可在同步分支列表完成一系列操作<br />
①添加绑定新的同步分支如两个仓库已建立了Develop分支需要再建立feature分支的同步可实时添加<br />
②查询两个分支间最新一次的同步时间及同步状态。若同步失败,可在同步记录中查询日志分析失败原因<br />
③添加同步仓库若已绑定了github的同步仓库想在gitee导入一个仓库进行开发并想完成实时多个仓库的分支同步。<br />
④查看同步配置可用于查询同步仓库的地址GitLink 用于接受第三方webhook请求的地址以及更新token。以防token过期<br />
⑤查询同步记录包括查看历次同步的代码变更方同步时间同步状态及对应commt id查询同步日志。<br />
⑥中止、开启同步,相当于同步开关,可随时启停
![同步分支管理](../../static/img/reposyncer/同步分支管理.png)
### 注意事项
1、在建立同步时工具将根据用户选择的首次同步方向强行推送一次代码请谨慎选择同步方向以规避代码被覆盖的风险。同步建立之后哪一方push事件触发被webhook监听将同步至另一方请勿在多仓库同时提交代码以防出现冲突<br />
2、目前仅支持个人仓库的同步组织仓库的同步暂不支持敬请期待<br />
3、在配置过程中请仔细检查token的权限是否已包含了仓库读写。同时请检查token是否已过期若过期请点击【查看同步配置】按钮进入页面更新此token<br />
4、在配置过程中请仔细检查其他平台webhook的监听事件中是否包含了push事件以及webhook是否已激活

View File

@ -1,71 +1,67 @@
---
sidebar_label: '重睛鸟代码溯源'
sidebar_position: 1
sidebar_label: "重睛鸟代码溯源"
sidebar_position: 1
---
## 代码分析入口
![](/img/di_san_fang/重晴鸟代码溯源/代码分析入口.png)
<center>代码分析入口</center>
![](../../static/img/di_san_fang/重晴鸟代码溯源/代码分析入口.png)<br/>
页面说明:
- 1、在"维基"与"动态"之间加入"服务"菜单并设计前置icon。
- 2、用户可点击"服务"菜单 tab 进入服务页面。
- 3、仓库管理员可在"仓库设置" tab 中项目导航处开启/关闭代码分析菜单可见性,如下图:
<center>代码分析入口</center><br/>
页面说明:<br/>
1、用户可点击"服务"菜单 tab 进入服务页面。<br/>
2、仓库管理员可在"仓库设置" tab 中项目导航处开启/关闭代码分析菜单可见性,如下图:<br/>
![](/img/di_san_fang/重晴鸟代码溯源/项目导航.png)
<center>项目导航</center>
![](../../static/img/di_san_fang/重晴鸟代码溯源/项目导航.png)<br/>
<center>项目导航</center><br/>
## 代码分析检测
![](/img/di_san_fang/重晴鸟代码溯源/代码分析检测.png)
<center>代码分析检测</center>
页面说明:
- 1、此页面为暂无历史分析记录时页面展示。
- 2、"新建分析"按钮仅对仓库管理员可见。仓库开发者、观察者、游客访问此页面时,"新建分析"按钮不可见。
- 3、点击"新建分析"按钮,需判断该仓库是否已签订协议(是否开启代码分析功能)。
![](../../static/img/di_san_fang/重晴鸟代码溯源/代码分析检测.png)<br/>
## 代码分析协议签订
![](/img/di_san_fang/重晴鸟代码溯源/代码分析协议签订.png)
<center>代码分析协议签订</center>
<center>代码分析检测</center><br/>
页面说明:
- 1、用户点击"新建分析"按钮,需判断该仓库是否已签订协议(是否开启代码分析功能),若未签订协议,则弹出签订协议弹窗。
- 2、签订协议流程
①用户将垂直滚动条拉至最底部。
②勾选阅读并同意协议条款。
③点击同意协议(若未勾选"我已阅读并同意《用户协议及声明条款》",则"同意协议"按钮置灰)。
- 3、用户勾选 CheckBox ,并点击"同意协议"按钮,逻辑上等同于代码溯源系统中新建一个账户。在页面交互上,相当于点击"新建分析"按钮弹出分支选择弹窗。
![](../../static/img/di_san_fang/重晴鸟代码溯源/新建分析.png)<br/>
<center>新建分析</center><br/>
页面说明:<br/>
1、此页面为暂无历史分析记录时页面展示。<br/>
2、"新建分析"按钮仅对仓库管理员可见。仓库开发者、观察者、游客访问此页面时,"新建分析"按钮不可见。<br/>
3、点击"新建分析"按钮,需判断是否开启代码分析功能。<br/>
## 分支选择
![](/img/di_san_fang/重晴鸟代码溯源/分支选择.png)
<center>分支选择</center>
页面说明:
- 1、用户点击“新建分析”按钮弹出新建分析需要选择填写分支。
- 2、图中检测类型、检测参数均为默认值不允许用户修改此处展示在界面上仅起到提示用户让用户知晓作用。
- 3、点击此处“开始检测”即开启基于选中分支的检测新建一个检测列表。
![](../../static/img/di_san_fang/重晴鸟代码溯源/分支选择.png)<br/>
<center>分支选择</center><br/>
页面说明:<br/>
1、用户点击“新建分析”按钮弹出新建分析需要选择填写分支。<br/>
2、图中检测类型、检测参数均为默认值不允许用户修改此处展示在界面上仅起到提示用户让用户知晓作用。<br/>
3、点击此处“开始检测”即开启基于选中分支的检测新建一个检测列表。<br/>
## 列表展示
![](/img/di_san_fang/重晴鸟代码溯源/列表展示.png)
<center>列表展示</center>
页面说明:
- 1、当检测列表行数超过一行时“新建分析”按钮左侧提供分支名称的筛选下拉框下拉框内选项为列表中分支的集合。若本仓库有分支1、2、3、4、5此列表中有分支3、4则此处下拉框中分支类型仅为3、4。
- 2、当新建分析任务正在检测中时检测状态处有百分比进度条展示现有进度。
- 3、点击“重新扫描”按钮将弹出一条新建分析的弹窗此弹窗保存所有上次已配置的分支信息检测分支不可修改(分支下拉选中框置灰)。确认新建后,将新增一条检测数据。
- 4、点击删除将出现二次确认弹框:“此操作将永久删除该检测记录,是否继续?”,用户点击确认后,此条检测记录将从列表中移除。
![](../../static/img/di_san_fang/重晴鸟代码溯源/列表展示.png)<br/>
<center>列表展示</center><br/>
页面说明:<br/>
1、当检测列表行数超过一行时“新建分析”按钮左侧提供分支名称的筛选下拉框下拉框内选项为列表中分支的集合。若本仓库有分支1、2、3、4、5此列表中有分支3、4则此处下拉框中分支类型仅为3、4。<br/>
2、当新建分析任务正在检测中时检测状态处有百分比进度条展示现有进度。<br/>
3、点击“重新扫描”按钮将弹出一条新建分析的弹窗此弹窗保存所有上次已配置的分支信息检测分支不可修改(分支下拉选中框置灰)。确认新建后,将新增一条检测数据。<br/>
## 结果展示
![](/img/di_san_fang/重晴鸟代码溯源/结果展示.png)
<center>结果展示</center>
页面说明:
- 1、用户在代码检测"操作"列表点击"查看"按钮,将在当前页面展开结果展示页面。当用户再次点击"查看"按钮后,结果展示页面收回;当用户点击其他检测记录"查看"按钮后,将展开其他检测记录的结果页,收回当前已展开的结果展示页;
- 2、当检测状态为"失败"状态,或当前处于"正在检测"状态时,"查看"按钮将置灰,处于无法点击状态;
- 3、结果展示页取代码溯源已有页面嵌入至 GitLink 即可,无需再次设计。
![](../../static/img/di_san_fang/重晴鸟代码溯源/结果展示.png)<br/>
<center>结果展示</center><br/>
页面说明:<br/>
1、用户在代码检测"操作"列表点击"查看"按钮,将在当前页面展开结果展示页面。当用户再次点击"查看"按钮后,结果展示页面收回;当用户点击其他检测记录"查看"按钮后,将展开其他检测记录的结果页,收回当前已展开的结果展示页;<br/>
2、当检测状态为"失败"状态,或当前处于"正在检测"状态时,"查看"按钮将置灰,处于无法点击状态;<br/>
3、结果展示页取代码溯源已有页面嵌入至 GitLink 即可,无需再次设计。<br/>
## 用户操作流程
![](/img/di_san_fang/重晴鸟代码溯源/用户操作流程.png)
<center>用户操作流程</center>
![](../../static/img/di_san_fang/重晴鸟代码溯源/用户操作流程(新).png)<br/>
<center>用户操作流程</center><br/>

View File

@ -1,4 +1,34 @@
---
sidebar_label: '组织团队管理'
sidebar_position: 3
---
---
# 组织团队管理
## 创建组织团队
点击组织信息页面中的“新建团队”按钮可以创建属于该组织的团队平台默认创建“Owners”团队成员为组织的创建者
在团队新建页面,输入团队标识、团队名称、团队描述、项目权限以及版本库权限等信息后,点击“新建团队”完成团队的创建。
![](/img/Org/imageOrg9.png)
## 查看组织团队
点击组织信息页面中的某个团队名称可以查看该团队的详细信息,该页面包括团队的名称、描述等信息,此外还会列出该团队关联的成员以及项目。
![](/img/Org/imageOrg8.png)
## 管理组织团队
点击团队信息页面中的“团队设置”按钮可以对团队进行管理
- 基本设置:修改项目的基本信息,如名称和描述等。
![](/img/Org/imageOrg10.png)
- 团队成员管理:为该团队添加新成员或者移除已有成员。
![](/img/Org/imageOrg11.png)
- 团队项目管理:为该团队关联新项目(该组织已经创建的项目)或者移除已关联项目。
![](/img/Org/imageOrg12.png)

View File

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

View File

@ -1,4 +1,28 @@
---
sidebar_label: '组织简介'
sidebar_position: 1
---
sidebar_position: 1
---
# 组织简介
组织是共享帐户,其中业务和开源项目可同时跨多个项目进行协作,具有复杂的安全性和管理功能。多个个人帐户可以通过加入同一组织帐户来协作处理共享项目。
您的团队可以通过使用组织帐户在 GitLink 上进行协作,组织帐户充当共享工作的容器,并为工作赋予独特的名称和品牌。同时,平台支持组织在“组织详情”页面发布新闻动态,显示项目概览和仓库详情等内容
![](/img/Org/imageOrg6.png)
## 作为组织拥有者
有效管理组织,是您的使命。
组织提供了一个集中式的合作与共享中心,让您的团队一起工作,共享资源并实现更有效地沟通。
为了简化访问管理并增强协作,您可以创建能体现组结构的嵌套团队。您可以根据他们的角色或项目将人员分组,并分配任务。
![](/img/Org/imageOrg7.png)
平台同时支持组织拥有者管理对数据访问的自定义设置。
## 作为组织成员
您可以通过组织与无限数量的人在多个项目中协作,与志同道合的人一起,通过分工和写作,参与开发流程,发布或处理问题。

View File

@ -1,4 +1,12 @@
---
sidebar_label: '组织项目管理'
sidebar_position: 5
---
---
## 创建组织项目
点击组织信息页面中的“新建项目”按钮可以创建属于该组织的托管项目或者镜像项目。
![](/img/Org/imageOrg13.png)
**注**:在“拥有者”一栏的下拉选项中,可以选择:个人、组织、团队

View File

@ -1,4 +1,15 @@
---
sidebar_label: '模板导入及导出'
sidebar_position: 2
---
---
# 确实开源帮助中心
## 模板的导入及导出管理
#### 1.模板导入
通过点击wiki界面的**导入模板**按钮即可导入本地的txtmarkdown等格式文件进行Wiki文档的创建当前平台此项功能尚在开发测试环节
[](/img/wiki/img4.png)
#### 2.模板导出
当前平台此项功能尚在开发测试环节
<br/>

View File

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

View File

@ -12,6 +12,7 @@ sidebar_position: 2
![](/img/notice/home_notice.png)
<br/>
或在头像下拉列表中选择设置可以进入消息通知设置界面;
![](/img/notice/into_notice.png)
#### 2.进行通知设置

View File

@ -1,97 +1,185 @@
const lightCodeTheme = require('prism-react-renderer/themes/github');
const darkCodeTheme = require('prism-react-renderer/themes/dracula');
import("@easyops-cn/docusaurus-search-local").PluginOptions;
/** @type {import('@docusaurus/types').DocusaurusConfig} */
module.exports = {
title: 'gitlink',
tagline: 'gitlink帮助中心',
onBrokenLinks: 'throw',
onBrokenMarkdownLinks: 'warn',
favicon: 'img/icon.ico',
url: 'https://luffyzh.github.io',
tagline:'gitlink帮助中心',
url: 'https://help.gitlink.org.cn/',
baseUrl: '/',
onBrokenLinks: 'ignore',
onBrokenMarkdownLinks: 'ignore',
favicon: 'img/icon.ico',
organizationName: 'luffyZh', // Usually your GitHub org/user name.
projectName: 'docusaurus-luffyzh-website', // Usually your repo name.
scripts: [],
// stylesheets: ['styles/dark-mode.css'],
themeConfig: {
algolia: {
apiKey: '0f9f28b9ab9efae89810921a351753b5',
indexName: 'github',
},
navbar: {
title: '',
logo: {
alt: 'gitlink',
src: 'img/gitlink.png',
docs:{
sidebar:{
hideable:true,
},
items: [
{
type: 'doc',
docId: 'intro',
position: 'left',
label: '帮助中心',
}
],
},
footer: {
style: 'dark',
links: [
{
title: 'Docs',
items: [
{
label: '文档',
to: '/docs/intro',
},
],
},
{
title: 'Blog',
items: [
{
label: '博客',
to: '/blog',
},
],
},
{
title: '更多',
items: [
{
label: '掘金',
href: 'https://juejin.cn/user/96412752681079'
},
{
label: 'GitHub',
href: 'https://github.com/luffzh/docusaurus-luffyzh-website',
},
],
},
],
copyright: `<p>©Copyright 2023 CCF 开源发展委员会</p><p>Powered by Trustie& IntelliDE 京ICP备13000930号</p>`,
},
},
metadata:[
{name:"Keywords",content:"Gitlink,forgeplus,GitLink,gitLink,GitLink,gitlink,帮助中心"},
{name:"hostname",content:"gitlink.org.cn"},
{property:"og:site_name",content:"GitLink"},
{property:"og:image:alt",content:"GitLink确实开源是中国计算机学会CCF官方指定的开源创新服务平台 - Gitlink/forgeplusGitLink确实开源是中国计算机学会CCF官方指定的开源创新服务平台 for gitlink Gitlink/forgeplus for git"}
],
prism: {
theme: lightCodeTheme,
darkTheme: darkCodeTheme,
},
zoom: {
selector: '.markdown :not(em) > img',
config: {
background: {
light: 'rgb(255, 255, 255)',
dark: 'rgb(50, 50, 50)',
},
},
},
colorMode: {
defaultMode: 'light',
disableSwitch: false,
respectPrefersColorScheme: true,
},
navbar: {
hideOnScroll:true,
style:"dark",
title: '',
logo: {
// width: '32px',
// height: '32px',
alt: 'gitlink',
src: 'img/gitlink.png',
href:"https://www.gitlink.org.cn/"
// srcDark: 'img/logo-dark.png',
},
items: [
{
type: 'doc',
docId: 'intro',
position: 'left',
label: '帮助中心'
},
{
type: 'docsVersionDropdown',
position: 'left',
dropdownActiveClassDisabled: true
},
// {
// href: 'https://github.com/boxyhq',
// position: 'right',
// className: 'header-github-link',
// },
],
},
footer: {
style: 'dark',
logo:{
src:"img/gitlink.png"
},
links: [
{
title: '社区',
items: [
{
label: '网站首页',
to: 'https://www.gitlink.org.cn',
},
{
label: '关于我们',
to: 'https://www.gitlink.org.cn/aboutus',
},
{
label: '教学实践',
to: 'https://www.gitlink.org.cn/educoder',
},
{
label: '合作伙伴',
to: 'https://forum.trustie.net/forums/5030/detail',
},
],
},
{
title: '支持与服务',
items: [
{
label: 'API文档',
to: 'https://forgeplus.trustie.net/docs/api',
},
{
label: 'Git常用命令',
to: 'https://git-scm.com',
},
{
label: '引擎使用手册',
to: 'https://forum.gitlink.org.cn/forums/7487/detail',
},
{
label: '服务协议',
to: 'https://forum.trustie.net/forums/5029/detail',
},
],
},
{
title: '加入我们',
items: [
{
label: '官网邮箱gitlink@ccf.org.cn',
to:"https://www.gitlink.org.cn"
},
{
label:'QQ群',
to:'https://www.gitlink.org.cn'
},
{
label:'公众号',
to:'https://www.gitlink.org.cn'
}
],
},
],
copyright: `<p>©Copyright ${new Date().getFullYear()} CCF 开源发展委员会</p><p>Powered by Trustie& IntelliDE 京ICP备13000930号</p>`,
},
},
presets: [
[
//此为docusaurus的默认界面风格
'@docusaurus/preset-classic',
{
//此为docs的侧边栏修饰
docs: {
sidebarPath: require.resolve('./sidebars.js'),
//此为网页左下的Edit this page 链接地址
// sidebarPath: require.resolve('./sidebars.js'),
editUrl:'https://www.gitlink.org.cn/Gitlink/gitlink_help_center/tree/master/',
routeBasePath: "/",
},
//修饰的css文件格式
theme: {
customCss: require.resolve('./src/css/custom.css'),
},
},
],
],
themes: [
// ... Your other themes.
[
require.resolve("@easyops-cn/docusaurus-search-local"),
{
// ... Your options.
// `hashed` is recommended as long-term-cache of index file is possible.
hashed: true,
language: ["en", "zh"],
highlightSearchTermsOnTargetPage: true,
blogRouteBasePath: "/",
explicitSearchResultPath: true,
// For Docs using Chinese, The `language` is recommended to set to:
// ```
// language: ["en", "zh"],
// ```
},
],
],
i18n: {
defaultLocale: 'zh-cn',
locales: ['zh-cn'],

1
gitee私人令牌.txt Normal file
View File

@ -0,0 +1 @@
23e041136cc43bcfa244f806799f5640

27371
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -1,31 +1,32 @@
{
"name": "my-website",
"name": "docusaurus",
"version": "0.0.0",
"private": true,
"scripts": {
"docusaurus": "docusaurus",
"start": "docusaurus start",
"dev": "docusaurus start --port 3000",
"build": "docusaurus build",
"swizzle": "docusaurus swizzle",
"deploy": "docusaurus deploy",
"gh-pages": "sh ./deploy.sh",
"clear": "docusaurus clear",
"serve": "docusaurus serve",
"write-translations": "docusaurus write-translations",
"write-heading-ids": "docusaurus write-heading-ids"
},
"dependencies": {
"@docusaurus/core": "2.0.0-beta.3",
"@docusaurus/preset-classic": "2.0.0-beta.3",
"@docusaurus/theme-search-algolia": "^2.0.0-beta.5",
"@mdx-js/react": "^1.6.21",
"@svgr/webpack": "^5.5.0",
"clsx": "^1.1.1",
"file-loader": "^6.2.0",
"prism-react-renderer": "^1.2.1",
"react": "^17.0.1",
"react-dom": "^17.0.1",
"url-loader": "^4.1.1"
"@cmfcmf/docusaurus-search-local": "1.1.0",
"@docusaurus/core": "2.4.1",
"@docusaurus/plugin-client-redirects": "2.4.1",
"@docusaurus/preset-classic": "2.4.1",
"@easyops-cn/docusaurus-search-local": "^0.35.0",
"@mdx-js/react": "1.6.22",
"@node-rs/jieba": "^1.7.0",
"clsx": "1.2.1",
"docusaurus-gtm-plugin": "0.0.2",
"docusaurus-plugin-image-zoom": "1.0.1",
"react": "17.0.2",
"react-dom": "17.0.2",
"react-modal": "3.16.1"
},
"browserslist": {
"production": [
@ -38,5 +39,8 @@
"last 1 firefox version",
"last 1 safari version"
]
},
"engines": {
"node": ">=14.18.1 <=18.x"
}
}

4
prettier.config.js Normal file
View File

@ -0,0 +1,4 @@
module.exports = {
singleQuote: true,
trailingComma: 'es5',
};

View File

@ -1,26 +1,9 @@
/**
* Creating a sidebar enables you to:
- create an ordered group of docs
- render a sidebar for each doc of that group
- provide next/previous navigation
The sidebars can be generated from the filesystem, or explicitly defined here.
Create as many sidebars as you want.
*/
module.exports = {
// By default, Docusaurus generates a sidebar from the docs folder structure
tutorialSidebar: [{type: 'autogenerated', dirName: '.'}],
// But you can create a sidebar manually
/*
tutorialSidebar: [
DocsSidebar: [
{
type: 'category',
label: 'Tutorial',
items: ['hello'],
},
type: 'doc',
id: 'index',
label: 'Docs',
}
],
*/
};

View File

@ -1,64 +0,0 @@
import React from 'react';
import clsx from 'clsx';
import styles from './HomepageFeatures.module.css';
const FeatureList = [
{
title: 'next-antd-scaffold',
repo: 'https://github.com/luffyZh/next-antd-scaffold',
src: require('../../static/img/next-antd-scaffold.jpg').default,
description: (
<>
A simple scaffold based on Next.js for quick use with ant-design, redux, redux-saga, fetch and pm2.
</>
),
},
{
title: 'dynamic-antd-theme',
repo: 'https://github.com/luffyZh/dynamic-antd-theme',
src: require('../../static/img/dynamic-antd-theme.png').default,
description: (
<>
A simple plugin to dynamic change ant-design theme whether less or css.
</>
),
},
{
title: 'mini-dynamic-antd-theme',
repo: 'https://github.com/luffyZh/mini-dynamic-antd-theme',
src: require('../../static/img/mini-dynamic-antd-theme.png').default,
description: (
<>
A simple plugin to dynamic change ant-design || ant-design-vue theme whether less or css.
</>
),
},
];
function Feature({src, title, description, repo}) {
return (
<div className={clsx('col col--4')}>
<div className="text--center">
<img src={src} className={styles.featureSvg} alt={title} />
</div>
<div className="text--center padding-horiz--md">
<h3><a href={repo} target="_blank">{title}</a></h3>
<p>{description}</p>
</div>
</div>
);
}
export default function HomepageFeatures() {
return (
<section className={styles.features}>
<div className="container">
<div className="row">
{FeatureList.map((props, idx) => (
<Feature key={idx} {...props} />
))}
</div>
</div>
</section>
);
}

View File

@ -1,13 +0,0 @@
/* stylelint-disable docusaurus/copyright-header */
.features {
display: flex;
align-items: center;
padding: 2rem 0;
width: 100%;
}
.featureSvg {
width: 100%;
height: 200px;
}

View File

@ -7,7 +7,7 @@
/* You can override the default Infima variables here. */
:root {
--ifm-color-primary: #25c2a0;
--ifm-color-primary: #466aff;
--ifm-color-primary-dark: rgb(33, 175, 144);
--ifm-color-primary-darker: rgb(31, 165, 136);
--ifm-color-primary-darkest: rgb(26, 136, 112);
@ -15,6 +15,7 @@
--ifm-color-primary-lighter: rgb(102, 212, 189);
--ifm-color-primary-lightest: rgb(146, 224, 208);
--ifm-code-font-size: 95%;
--search-local-modal-background:#1b2440;
}
.navbar{
background-color: rgba(27, 36, 64, 1);
@ -43,3 +44,109 @@ html[data-theme=light] .menu{
html[data-theme='dark'] .docusaurus-highlight-code-line {
background-color: rgba(0, 0, 0, 0.3);
}
.navbar__search span[role='listbox']{
background-color: #33416b;
}
.footer{
height:450px;
position: relative;
background: #1e1e1e;
padding:0px;
}
.container{
height: 100%;
display: flex;
flex-direction: column;
justify-content: space-around;
}
.footer__bottom .margin-bottom--sm{
position: absolute;
margin-top: -150px;
top:50%
}
.footer__links .footer__title{
height: 25px;
font-size: 18px;
font-weight: 600;
color: #fff;
line-height: 25px;
margin-bottom: 20px;
}
.footer__links .footer__col:last-child .footer__items:last-child{
display: flex;
flex-wrap: wrap;
}
.footer__links .footer__col:last-child .footer__items:last-child .footer__item{
width: 50%;
}
.footer__links .footer__col:last-child .footer__items:last-child .footer__item:nth-child(2){
background-image: url(../../static/img/gitlink-qq.png);
background-size: 100% 100%;
height: 90px;
width: 90px;
background-color: #fff;
border-radius: 4px;
position: relative;
}
.footer__links .footer__col:last-child .footer__items:last-child .footer__item:nth-child(3){
background-image: url(../../static/img/gongzhong.png);
background-size: 100% 100%;
height: 90px;
width: 90px;
background-color: #fff;
border-radius: 4px;
position: relative;
margin-left: 34px;
}
.footer__links .footer__col:last-child .footer__items:last-child .footer__item:nth-child(2) a,
.footer__links .footer__col:last-child .footer__items:last-child .footer__item:nth-child(3) a{
position: absolute;
top: 95px;
left: 50%;
margin-left: -17px;
}
.footer__links .footer__col:last-child .footer__items:last-child .footer__item:first-child{
width: 100%;
}
.container .footer__links{
margin-left: 420px;
margin-top: 4rem;
}
.container .footer__logo{
margin-top: 5rem!important;
}
.container .footer__links .footer__col .footer__item{
color: #bdc2d1;
font-size: 14px;
font-weight: 400;
line-height: 20px;
height: 20px;
margin-bottom: 15px;
}
.footer__bottom .margin-bottom--sm img{
width: 300px;
max-width: unset;
}
.container .footer__copyright{
position: absolute;
width: 100%;
left: 0px;
font-size: 12px;
font-weight: 400;
color: #bdc2d1;
line-height: 28px;
padding: 15px 0;
text-align: center;
background-color: #1b212c;
}
.container .footer__copyright p{
margin-bottom: 0px!important;
}
.aa-Form{
width: unset;
flex:1;
}
.widget{
display: none!important;
opacity: 0;
}

149
src/pages/_index.js Normal file
View File

@ -0,0 +1,149 @@
import React from 'react';
import Layout from '@theme/Layout';
import Link from '@docusaurus/Link';
import clsx from 'clsx';
import NewsSection from '../components/NewsSection';
import HeroSection from '../components/HeroSection';
import ProductsSection from '../components/ProductsSection';
import InvestorsSection from '../components/InvestorsSection';
import CustomersSection from '../components/CustomersSection';
import DeveloperCommunitySection from '../components/DeveloperCommunitySection';
import FeatureSection from '../components/FeatureSection';
const Icon3 = require('../../static/img/home-buildingblocks.svg').default;
const title = 'BoxyHQ';
const description = 'Security Building Blocks for Developers';
const IndexPage = () => {
return (
<Layout title={title} description={description}>
<HeroSection
title="Security Building Blocks for Developers"
description="Reduce Time to Market without sacrificing your security posture! BoxyHQs suite of APIs for security and privacy helps engineering teams build and ship compliant cloud applications faster."
image="/img/home-hero.svg"
buttons={[
{
title: 'Get Started',
href: 'https://boxyhq.com/docs',
className: 'button--primary',
},
{
title: 'Book a demo',
href: 'https://meetings.hubspot.com/deepakprab/demo?__hstc=213510283.9a563789bb583fca1e9fb20a629c5c94.1651597904536.1664893584285.1664895920328.169&__hssc=213510283.1.1664895920328&__hsfp=498882655',
className: 'button--primary button--outline',
},
]}
/>
{/* <CustomersSection />
<ProductsSection /> */}
<section className="page__section">
<div className="container">
<div className="row" style={{ gap: '10px', marginTop: '20px' }}>
<div className="col col--5 col--offset-1">
<div className="col-demo">
<div className="card-demo" style={{}}>
<div className="card">
<div className="card__header">
<h3
className="text--center"
style={{ whiteSpace: 'pre-line' }}
>
The Importance of Developer Security
</h3>
</div>
<div className="card__body">
<p className="text--center">
Cyber crimes are predicted to cost $10.5 trillion
annually by 2025, but time pressures often cause 70% of
development teams to skip crucial security steps.
</p>
<p>
In today's world, it is no longer sufficient to
prioritize productivity alone. The faster a developer
moves, the more potential security holes will be left
unaddressed.{' '}
</p>
</div>
<div className="card__footer">
<Link
className={clsx('button button--primary button--block')}
href="https://meetings.hubspot.com/deepakprab/demo?__hstc=213510283.9a563789bb583fca1e9fb20a629c5c94.1651597904536.1664893584285.1664895920328.169&__hssc=213510283.1.1664895920328&__hsfp=498882655"
>
Book a free developer-security session
</Link>
</div>
</div>
</div>
</div>
</div>
<div className="col col--5">
<div className="col-demo">
<div className="card-demo">
<div className="card">
<div className="card__header">
<h3
className="text--center"
style={{ whiteSpace: 'pre-line' }}
>
Build or buy?
</h3>
</div>
<div className="card__body">
<p className="text--center">
Save time and money with BoxyHQ's free open-source
solution. Available under an Apache 2.0 license, our
solutions make it easy for developers to collaborate and
innovate, without the need for custom building or
expensive fees.
</p>
<p className="text--center">
Our solutions run in your environment, giving you full
control. We simply provide the building blocks to help
you succeed.
</p>
</div>
<div className="card__footer">
<Link
className={clsx('button button--primary button--block')}
href="mailto:hello@boxyhq.com"
>
Contact Us
</Link>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<FeatureSection
title="Developer Security Tools"
btnLink="https://awesome-oss-devsec.boxyhq.com/"
btnText="Read More"
image={Icon3}
direction="right"
>
<p>
We have curated a list of awesome open-source developer security
tools.
</p>
<p>
It includes security principles and controls relevant to popular
compliance certifications (like ISO27001, SOC2, MVSP, etc.)
</p>
</FeatureSection>
{/* <NewsSection />
<InvestorsSection />
<DeveloperCommunitySection /> */}
</Layout>
);
};
export default IndexPage;

View File

@ -1,33 +0,0 @@
import React from 'react';
import clsx from 'clsx';
import Layout from '@theme/Layout';
import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
import styles from './index.module.css';
import HomepageFeatures from '../components/HomepageFeatures';
function HomepageHeader() {
const {siteConfig} = useDocusaurusContext();
return (
<header className={clsx('hero hero--primary', styles.heroBanner)}>
<div className="container">
<h1 className="hero__title">{siteConfig.title}</h1>
<p className="hero__subtitle">{siteConfig.tagline}</p>
<p>车到山前必有路船到桥头自然直</p>
</div>
</header>
);
}
export default function Home() {
const {siteConfig} = useDocusaurusContext();
return (
<Layout
title={`Hello from ${siteConfig.title}`}
description="Description will go into a meta tag in <head />">
<HomepageHeader />
<main>
<HomepageFeatures />
</main>
</Layout>
);
}

View File

@ -1,25 +0,0 @@
/* stylelint-disable docusaurus/copyright-header */
/**
* CSS files with the .module.css suffix will be treated as CSS modules
* and scoped locally.
*/
.heroBanner {
padding: 4rem 0;
text-align: center;
position: relative;
overflow: hidden;
}
@media screen and (max-width: 966px) {
.heroBanner {
padding: 2rem;
}
}
.buttons {
display: flex;
align-items: center;
justify-content: center;
}

View File

@ -1,7 +0,0 @@
---
title: Markdown page example
---
# Markdown page example
You don't need React to write simple standalone pages.

View File

@ -0,0 +1,45 @@
import React from 'react';
import Link from '@docusaurus/Link';
import styles from './styles.module.css';
const Author = ({ authors, name, title, url, image }) => {
return (
<div className="avatar">
{authors && authors.length > 1 ? (
<>
<a href={authors[0].url} target="_blank">
<img
className="avatar__photo"
src={authors[0].image_url}
alt={authors[0].name}
/>
</a>
<a href={authors[1].url} target="_blank">
<img
className="avatar__photo"
src={authors[1].image_url}
alt={authors[1].name}
/>
</a>
</>
) : (
<>
<img className="avatar__photo" src={image} alt={name} />
<div className="avatar__intro">
<div className="avatar__name">
<Link to={url} className={styles.authorUrl}>
{name}
</Link>
</div>
<small className={`avatar__subtitle ${styles.avatarSubtitle}`}>
{title}
</small>
</div>
</>
)}
</div>
);
};
export default Author;

View File

@ -0,0 +1,8 @@
.authorUrl {
color: var(--theme-text-color);
}
.avatarSubtitle {
overflow: hidden;
height: 25px;
}

View File

@ -0,0 +1,49 @@
import React from 'react';
import Link from '@docusaurus/Link';
import styles from './styles.module.css';
import Author from '../Author';
const ListItem = ({ content }) => {
const { frontMatter, metadata } = content;
const { authors, author, author_title, author_url, author_image_url } =
frontMatter;
const imageUrl = frontMatter.image ?? '/img/default-blog-post-banner.png';
return (
<div className="col col--4" style={{ marginBottom: '20px' }}>
<div className="col-demo">
<div className="card-demo">
<div className="card" style={{ border: '1px solid #ddd' }}>
<div className={`card__image ${styles.cardImage}`}>
<Link to={metadata.permalink}>
<img
src={imageUrl}
alt={metadata.title}
title={metadata.title}
/>
</Link>
</div>
<div className="card__body">
<small>{metadata.formattedDate}</small>
<Link to={metadata.permalink}>
<h3 className={styles.title}>{metadata.title}</h3>
</Link>
<Author
authors={authors}
name={author}
title={author_title}
url={author_url}
image={author_image_url}
/>
</div>
</div>
</div>
</div>
</div>
);
};
export default ListItem;

View File

@ -0,0 +1,15 @@
.title {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 3;
min-height: 110px;
overflow: hidden;
color: var(--theme-text-color);
font-size: 1.3rem;
margin: 0;
}
.cardImage {
height: 200px;
overflow: hidden;
}

View File

@ -0,0 +1,33 @@
import React from 'react';
import { ThemeClassNames } from '@docusaurus/theme-common';
import Layout from '@theme/Layout';
import styles from './styles.module.css';
import ListItem from './ListItem';
export default function BlogListPage(props) {
const { metadata, items } = props;
const { blogDescription, blogTitle } = metadata;
const posts = [...items];
return (
<Layout
title={blogTitle}
description={blogDescription}
wrapperClassName={ThemeClassNames.wrapper.blogPages}
pageClassName={ThemeClassNames.page.blogListPage}
>
<main className={styles.root}>
<h1>{blogTitle}</h1>
<h2 className={styles.description}>{blogDescription}</h2>
<div className="row">
{posts.map(({ content }) => (
<ListItem key={content.metadata.permalink} content={content} />
))}
</div>
</main>
</Layout>
);
}

View File

@ -0,0 +1,16 @@
.root {
max-width: var(--ifm-container-width);
margin: 2rem auto;
padding: 0 1rem;
}
.description {
line-height: 35px;
font-size: 1.2rem;
font-weight: normal;
}
@media screen and (min-width: 900px) {
.root {
margin-top: 5rem;
}
}

View File

@ -0,0 +1,14 @@
import React from 'react';
import CodeBlock from '@theme-original/CodeBlock';
import Prism from 'prism-react-renderer/prism';
(typeof global !== 'undefined' ? global : window).Prism = Prism;
require('prismjs/components/prism-ruby');
export default function CodeBlockWrapper(props) {
return (
<>
<CodeBlock {...props} />
</>
);
}

View File

@ -0,0 +1,4 @@
-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEW/RH98SOSzXTe+piYUIVIl2mJwBE
EUcYsFvjnHD0tZgSDdFQPBU26hGh6ttTUsnSkXpIWpORQVck9CGdKeutgw==
-----END PUBLIC KEY-----

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 5.5 KiB

View File

@ -0,0 +1,195 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="420px" height="842px" viewBox="0 0 420 842" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="background: #FFFFFF;">
<!-- Generator: Sketch 40.3 (33839) - http://www.bohemiancoding.com/sketch -->
<title>Artboard 4</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="Artboard-4">
<g id="HtmlToSvg" transform="translate(-5.000000, -5.000000)">
<g id="Created-by-HiQPdf">
<g id="Group">
<g id="second-one" transform="translate(24.000000, 363.000000)">
<g id="Group-3">
<path d="M381,0 C382.657,0 384,1.343 384,3 L384,212 C384,213.657 382.657,215 381,215 L3,215 C1.343,215 0,213.657 0,212 L0,3 C0,1.343 1.343,0 3,0 L381,0 Z" id="Shape" fill="#F5F5F5"></path>
<g id="Group" transform="translate(12.000000, 121.000000)" fill="#FFFFFF">
<path d="M3,0 L357,0 C358.657,0 360,1.343 360,3 L360,34 C360,35.657 358.657,37 357,37 L3,37 C1.343,37 0,35.657 0,34 L0,3 C0,1.343 1.343,0 3,0" id="Shape"></path>
</g>
<g id="Group" transform="translate(20.000000, 47.000000)" fill="#395185">
<path d="M19.8409684,21.0000692 C20.4809758,21.0000692 20.9999872,20.4811399 20.9999872,19.8410504 L20.9999872,1.15901882 C20.9999872,0.51884734 20.4809758,0 19.8409684,0 L1.15901882,0 C0.518765309,0 0,0.51884734 0,1.15901882 L0,19.8410504 C0,20.4811399 0.518765309,21.0000692 1.15901882,21.0000692 L19.8409684,21.0000692" id="Shape"></path>
</g>
<g id="Group" transform="translate(28.449214, 50.117186)" fill="#FFFFFF">
<path d="M6.04036741,17.8828836 L6.04036741,9.75055656 L8.77011965,9.75055656 L9.17879909,6.58128114 L6.04036741,6.58128114 L6.04036741,4.5577355 C6.04036741,3.6401345 6.29523835,3.01481066 7.61110083,3.01481066 L9.28937715,3.01407238 L9.28937715,0.179484266 C8.9989867,0.14084757 8.00279981,0.054550748 6.84386302,0.054550748 C4.42410668,0.054550748 2.76756863,1.5315225 2.76756863,4.24396616 L2.76756863,6.58128114 L0.0308437312,6.58128114 L0.0308437312,9.75055656 L2.76756863,9.75055656 L2.76756863,17.8828836 L6.04036741,17.8828836" id="Shape"></path>
</g>
<g id="Group" transform="translate(20.000000, 88.000000)" fill="#55ACEE">
<path d="M1.0664056,0 L19.9335816,0 C20.5225656,0 20.9999872,0.477446193 20.9999872,1.0664056 L20.9999872,19.9335816 C20.9999872,20.5225656 20.5225656,20.9999872 19.9335816,20.9999872 L1.0664056,20.9999872 C0.477446193,20.9999872 0,20.5225656 0,19.9335816 L0,1.0664056 C0,0.477446193 0.477446193,0 1.0664056,0" id="Shape"></path>
</g>
<g id="Group" transform="translate(22.953123, 92.347654)" fill="#FFFFFF">
<path d="M15.1674868,1.45563544 C14.6094286,1.70252474 14.0096985,1.86939261 13.3801911,1.94444296 C14.0226594,1.56023342 14.5160771,0.951881842 14.7483894,0.227029549 C14.1471828,0.582725035 13.4812535,0.8410823 12.7724219,0.980330262 C12.204766,0.377007192 11.3960204,0 10.50106,0 C8.78250637,0 7.3891244,1.38987923 7.3891244,3.10420006 C7.3891244,3.3474964 7.41676892,3.58442711 7.46976107,3.81162072 C4.88355523,3.68216729 2.59066014,2.44630984 1.055881,0.568230122 C0.78802452,1.0267107 0.634568754,1.55995452 0.634568754,2.12884909 C0.634568754,3.20581211 1.18398092,4.15594669 2.01894369,4.71261041 C1.50881627,4.69653229 1.02902398,4.55691519 0.609442597,4.32435674 C0.609221113,4.33731767 0.609221113,4.35036063 0.609221113,4.36340359 C0.609221113,5.86744564 1.68185288,7.12211285 3.10538951,7.4072533 C2.84425139,7.47821029 2.56935664,7.5161087 2.28552048,7.5161087 C2.08501982,7.5161087 1.89006447,7.49674934 1.70010482,7.46049155 C2.09606122,8.69374861 3.24525271,9.59125197 4.60693782,9.61635351 C3.54195956,10.4488882 2.20019163,10.9451769 0.742308532,10.9451769 C0.491153607,10.9451769 0.243443992,10.9304933 0,10.9017824 C1.37710697,11.7825514 3.0128009,12.2964769 4.77009787,12.2964769 C10.4937592,12.2964769 13.6236597,7.56631179 13.6236597,3.46416117 C13.6236597,3.32956438 13.6207065,3.19568126 13.6147183,3.06257743 C14.2226515,2.62490817 14.7502762,2.07815381 15.1674868,1.45563544" id="Shape"></path>
</g>
<g id="Group" transform="translate(20.000000, 129.000000)" fill="#D53F71">
<path d="M20.1250023,0 C20.6082716,0 21.0000024,0.391751006 21.0000024,0.8750001 L21.0000024,20.1250023 C21.0000024,20.6082716 20.6082716,21.0000024 20.1250023,21.0000024 L0.8750001,21.0000024 C0.391751006,21.0000024 0,20.6082716 0,20.1250023 L0,0.8750001 C0,0.391751006 0.391751006,0 0.8750001,0 L20.1250023,0 Z" id="Shape"></path>
</g>
<g id="Group" transform="translate(22.692000, 131.692000)" fill="#FFFFFF">
<path d="M0,4.51006686 C0,2.01922427 2.01943965,0 4.51006686,0 L11.1052993,0 C13.5961554,0 15.6153864,2.01943965 15.6153864,4.51006686 L15.6153864,11.1052993 C15.6153864,13.5961554 13.5959535,15.6153864 11.1052993,15.6153864 L4.51006686,15.6153864 C2.01922427,15.6153864 0,13.5959535 0,11.1052993 L0,4.51006686 M1.4134617,4.64466207 C1.4134617,2.86011956 2.86024744,1.4134617 4.64466207,1.4134617 L10.9707513,1.4134617 C12.7552803,1.4134617 14.2019247,2.86024744 14.2019247,4.64466207 L14.2019247,10.9707513 C14.2019247,12.7552803 12.7551457,14.2019247 10.9707513,14.2019247 L4.64466207,14.2019247 C2.86011956,14.2019247 1.4134617,12.7551457 1.4134617,10.9707513 L1.4134617,4.64466207" id="Shape"></path>
</g>
<g id="Group" transform="translate(26.528539, 135.528539)" fill="#FFFFFF">
<path d="M3.9711543,7.9423086 C6.1643757,7.9423086 7.9423086,6.1643757 7.9423086,3.9711543 C7.9423086,1.77794636 6.1643757,0 3.9711543,0 C1.77794636,0 0,1.77794636 0,3.9711543 C0,6.1643757 1.77794636,7.9423086 3.9711543,7.9423086 M3.9711543,6.5288469 C5.383741,6.5288469 6.5288469,5.383741 6.5288469,3.9711543 C6.5288469,2.55858106 5.383741,1.4134617 3.9711543,1.4134617 C2.55858106,1.4134617 1.4134617,2.55858106 1.4134617,3.9711543 C1.4134617,5.383741 2.55858106,6.5288469 3.9711543,6.5288469" id="Shape"></path>
</g>
<g id="Group" transform="translate(33.663155, 134.384308)" fill="#FFFFFF">
<path d="M1.8846156,0.9423078 C1.8846156,1.46273094 1.46273094,1.8846156 0.9423078,1.8846156 C0.421884664,1.8846156 0,1.46273094 0,0.9423078 C0,0.421884664 0.421884664,0 0.9423078,0 C1.46273094,0 1.8846156,0.421884664 1.8846156,0.9423078" id="Shape"></path>
</g>
<g id="Group" transform="translate(20.000000, 170.000000)" fill="#231F20">
<path d="M1.0664056,0 L19.9335816,0 C20.5225656,0 20.9999872,0.477446193 20.9999872,1.0664056 L20.9999872,19.9335816 C20.9999872,20.5225656 20.5225656,20.9999872 19.9335816,20.9999872 L1.0664056,20.9999872 C0.477446193,20.9999872 0,20.5225656 0,19.9335816 L0,1.0664056 C0,0.477446193 0.477446193,0 1.0664056,0" id="Shape"></path>
</g>
<g id="Group" transform="translate(32.714401, 174.758000)" fill="#7F7F7F">
<path d="M0.445921603,0.0612928103 C0.240105322,-0.041772748 0.0716952688,0.062456669 0.0716952688,0.292898962 L0.0716952688,9.46008408 L3.82823204,11.3409775 C4.24166929,11.5478601 4.57676674,11.402993 4.57676674,11.0174464 L4.57676674,2.18971624 C4.57676674,2.15286783 4.55584879,2.11898074 4.52295427,2.10242684 L0.445921603,0.0612928103" id="Shape"></path>
</g>
<g id="Group" transform="translate(28.202685, 174.758000)" fill="#ABACAD">
<path d="M0.0784382334,7.20449678 L4.36414187,0.230697984 C4.48472774,0.0343948618 4.75182132,-0.041772748 4.9576376,0.0612928103 L9.03926402,2.10475653 C9.0657601,2.1180784 9.07519369,2.15118619 9.05968979,2.17640258 L4.58341127,9.46008408 L0.0784382334,7.20449678" id="Shape"></path>
</g>
<g id="Group" transform="translate(24.019094, 174.840031)" fill="#D8D8D8">
<path d="M0.380692034,0.104182085 C0.0375637271,-0.0676804158 -0.0786629989,0.0594381669 0.122409418,0.386609764 L4.26202943,7.12246558 L8.76700247,9.37805288 L4.27171732,2.06319952 C4.26538451,2.05285539 4.25621342,2.04457844 4.2453689,2.03914798 L0.380692034,0.104182085" id="Shape"></path>
</g>
<g id="Group" transform="translate(23.773000, 174.758000)" fill="#FFFFFF">
<path d="M4.50812303,11.0174464 C4.50812303,11.4015165 4.22737125,11.5751765 3.88436599,11.4034032 L0.377285278,9.64744334 C0.171433724,9.54433012 0.00303408799,9.27149435 0.00303408799,9.04106871 L0.00303408799,0.432562002 C0.00303408799,0.125304299 0.22761033,-0.0137110229 0.502035046,0.123753089 L4.4838418,2.1172991 C4.49869765,2.12480495 4.50812303,2.13993151 4.50812303,2.1564854 L4.50812303,11.0174464" id="Shape"></path>
</g>
<g id="social-networks" transform="translate(18.000000, 18.000000)">
<rect id="Rectangle" fill-opacity="0.699999988" fill="#B3B3B3" x="62" y="36" width="76" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.699999988" fill="#B3B3B3" x="62" y="77" width="76" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.699999988" fill="#B3B3B3" x="62" y="118" width="76" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.699999988" fill="#B3B3B3" x="62" y="159" width="76" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.699999988" fill="#B3B3B3" x="305" y="77" width="41" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.699999988" fill="#B3B3B3" x="305" y="36" width="41" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill="#52CA6F" x="305" y="118" width="41" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.699999988" fill="#B3B3B3" x="305" y="159" width="41" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.799999952" fill="#C9C9C9" x="33" y="77" width="20.0703125" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.799999952" fill="#C9C9C9" x="33" y="36" width="20.0703125" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.799999952" fill="#C9C9C9" x="33" y="118" width="20.0703125" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.799999952" fill="#C9C9C9" x="33" y="159" width="20.0703125" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill="#B3B3B3" x="0" y="0" width="138" height="9" rx="4.5"></rect>
</g>
</g>
</g>
<g id="Group-2">
<g id="Group" stroke="#F5F5F5" fill="#FFFFFF">
<polygon id="Shape" points="435 0 435 73 0 73 0 0"></polygon>
</g>
<g id="Group" transform="translate(29.000000, 32.000000)" fill="#CCCCCC">
<path d="M12.5,11 L11.71,11 L11.43,10.73 C12.41,9.59 13,8.11 13,6.5 C13,2.91 10.09,0 6.5,0 C2.91,0 0,2.91 0,6.5 C0,10.09 2.91,13 6.5,13 C8.11,13 9.59,12.41 10.73,11.43 L11,11.71 L11,12.5 L16,17.49 L17.49,16 L12.5,11 M6.5,11 C4.01,11 2,8.99 2,6.5 C2,4.01 4.01,2 6.5,2 C8.99,2 11,4.01 11,6.5 C11,8.99 8.99,11 6.5,11" id="Shape"></path>
</g>
</g>
<g id="topone" transform="translate(24.000000, 96.000000)">
<g id="top-one" fill="#F5F5F5">
<path d="M381,0 C382.657,0 384,1.343 384,3 L384,253 C384,254.657 382.657,256 381,256 L3,256 C1.343,256 0,254.657 0,253 L0,3 C0,1.343 1.343,0 3,0 L381,0 Z" id="Shape"></path>
</g>
<g id="Group" transform="translate(19.000000, 88.000000)" fill-opacity="0.0392157" fill="#000000">
<polyline id="Shape" points="0 0 346 0 346 23 0 23 0 0"></polyline>
</g>
<g id="Group" transform="translate(12.000000, 80.000000)" fill="#FFFFFF">
<path d="M3,0 L357,0 C358.657,0 360,1.343 360,3 L360,34 C360,35.657 358.657,37 357,37 L3,37 C1.343,37 0,35.657 0,34 L0,3 C0,1.343 1.343,0 3,0" id="Shape"></path>
</g>
<g id="Group" transform="translate(19.000000, 129.000000)" fill-opacity="0.0392157" fill="#000000">
<polyline id="Shape" points="0 0 346 0 346 23 0 23 0 0"></polyline>
</g>
<g id="Group" transform="translate(12.000000, 121.000000)" fill="#FFFFFF">
<path d="M3,0 L357,0 C358.657,0 360,1.343 360,3 L360,34 C360,35.657 358.657,37 357,37 L3,37 C1.343,37 0,35.657 0,34 L0,3 C0,1.343 1.343,0 3,0" id="Shape"></path>
</g>
<g id="Group" transform="translate(19.000000, 170.000000)" fill-opacity="0.0392157" fill="#000000">
<polyline id="Shape" points="0 0 346 0 346 23 0 23 0 0"></polyline>
</g>
<g id="Group" transform="translate(12.000000, 162.000000)" fill="#FFFFFF">
<path d="M3,0 L357,0 C358.657,0 360,1.343 360,3 L360,34 C360,35.657 358.657,37 357,37 L3,37 C1.343,37 0,35.657 0,34 L0,3 C0,1.343 1.343,0 3,0" id="Shape"></path>
</g>
<g id="Group" transform="translate(19.000000, 211.000000)" fill-opacity="0.0392157" fill="#000000">
<polyline id="Shape" points="0 0 346 0 346 23 0 23 0 0"></polyline>
</g>
<g id="Group" transform="translate(12.000000, 203.000000)" fill="#FFFFFF">
<path d="M3,0 L357,0 C358.657,0 360,1.343 360,3 L360,34 C360,35.657 358.657,37 357,37 L3,37 C1.343,37 0,35.657 0,34 L0,3 C0,1.343 1.343,0 3,0" id="Shape"></path>
</g>
<g id="Group" transform="translate(136.000000, 88.000000)"></g>
<rect id="Rectangle" fill-opacity="0.900000036" fill="#3FC55F" x="323" y="95" width="41" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.900000036" fill="#3FC55F" x="323" y="218" width="41" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill="#C6C6C6" x="323" y="54" width="41" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.900000036" fill="#3FC55F" x="323" y="136" width="41" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.900000036" fill="#3FC55F" x="323" y="177" width="41" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.5" fill="#B3B3B3" x="53" y="56" width="76" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.5" fill="#B3B3B3" x="53" y="97" width="76" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.5" fill="#B3B3B3" x="53" y="138" width="76" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.5" fill="#B3B3B3" x="53" y="179" width="76" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.5" fill="#B3B3B3" x="53" y="219" width="76" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.300000012" fill="#B3B3B3" x="138" y="97" width="41" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.300000012" fill="#B3B3B3" x="138" y="56" width="41" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.300000012" fill="#B3B3B3" x="138" y="138" width="41" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.300000012" fill="#B3B3B3" x="138" y="179" width="41" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.300000012" fill="#B3B3B3" x="138" y="219" width="41" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill="#C9C9C9" x="25" y="97" width="20.0703125" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill="#C9C9C9" x="25" y="56" width="20.0703125" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill="#C9C9C9" x="25" y="138" width="20.0703125" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill="#C9C9C9" x="25" y="179" width="20.0703125" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill="#C9C9C9" x="25" y="219" width="20.0703125" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill="#B3B3B3" x="18" y="15" width="110" height="9" rx="4.5"></rect>
</g>
<g id="bottom-one" transform="translate(24.000000, 594.000000)">
<g id="top-one" fill="#F5F5F5">
<path d="M381,0 C382.657,0 384,1.343 384,3 L384,253 C384,254.657 382.657,256 381,256 L3,256 C1.343,256 0,254.657 0,253 L0,3 C0,1.343 1.343,0 3,0 L381,0 Z" id="Shape"></path>
</g>
<g id="Group" transform="translate(19.000000, 88.000000)" fill-opacity="0.0392157" fill="#000000">
<polyline id="Shape" points="0 0 346 0 346 23 0 23 0 0"></polyline>
</g>
<g id="Group" transform="translate(12.000000, 80.000000)" fill="#FFFFFF">
<path d="M3,0 L357,0 C358.657,0 360,1.343 360,3 L360,34 C360,35.657 358.657,37 357,37 L3,37 C1.343,37 0,35.657 0,34 L0,3 C0,1.343 1.343,0 3,0" id="Shape"></path>
</g>
<g id="Group" transform="translate(12.000000, 40.000000)" fill="#FFFFFF">
<path d="M3,0 L357,0 C358.657,0 360,1.343 360,3 L360,34 C360,35.657 358.657,37 357,37 L3,37 C1.343,37 0,35.657 0,34 L0,3 C0,1.343 1.343,0 3,0" id="Shape"></path>
</g>
<g id="Group" transform="translate(19.000000, 129.000000)" fill-opacity="0.0392157" fill="#000000">
<polyline id="Shape" points="0 0 346 0 346 23 0 23 0 0"></polyline>
</g>
<g id="Group" transform="translate(12.000000, 121.000000)" fill="#FFFFFF">
<path d="M3,0 L357,0 C358.657,0 360,1.343 360,3 L360,34 C360,35.657 358.657,37 357,37 L3,37 C1.343,37 0,35.657 0,34 L0,3 C0,1.343 1.343,0 3,0" id="Shape"></path>
</g>
<g id="Group" transform="translate(19.000000, 170.000000)" fill-opacity="0.0392157" fill="#000000">
<polyline id="Shape" points="0 0 346 0 346 23 0 23 0 0"></polyline>
</g>
<g id="Group" transform="translate(12.000000, 162.000000)" fill="#FFFFFF">
<path d="M3,0 L357,0 C358.657,0 360,1.343 360,3 L360,34 C360,35.657 358.657,37 357,37 L3,37 C1.343,37 0,35.657 0,34 L0,3 C0,1.343 1.343,0 3,0" id="Shape"></path>
</g>
<g id="Group" transform="translate(19.000000, 211.000000)" fill-opacity="0.0392157" fill="#000000">
<polyline id="Shape" points="0 0 346 0 346 23 0 23 0 0"></polyline>
</g>
<g id="Group" transform="translate(12.000000, 203.000000)" fill="#FFFFFF">
<path d="M3,0 L357,0 C358.657,0 360,1.343 360,3 L360,34 C360,35.657 358.657,37 357,37 L3,37 C1.343,37 0,35.657 0,34 L0,3 C0,1.343 1.343,0 3,0" id="Shape"></path>
</g>
<g id="Group" transform="translate(136.000000, 88.000000)"></g>
<rect id="Rectangle" fill-opacity="0.900000036" fill="#3FC55F" x="323" y="95" width="41" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.900000036" fill="#3FC55F" x="323" y="218" width="41" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill="#52CA6F" x="323" y="54" width="41" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.900000036" fill="#3FC55F" x="323" y="136" width="41" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.900000036" fill="#3FC55F" x="323" y="177" width="41" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.5" fill="#B3B3B3" x="53" y="56" width="76" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.5" fill="#B3B3B3" x="53" y="97" width="76" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.5" fill="#B3B3B3" x="53" y="138" width="76" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.5" fill="#B3B3B3" x="53" y="179" width="76" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.5" fill="#B3B3B3" x="53" y="219" width="76" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.300000012" fill="#B3B3B3" x="138" y="97" width="41" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.300000012" fill="#B3B3B3" x="138" y="56" width="41" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.300000012" fill="#B3B3B3" x="138" y="138" width="41" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.300000012" fill="#B3B3B3" x="138" y="179" width="41" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill-opacity="0.300000012" fill="#B3B3B3" x="138" y="219" width="41" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill="#C9C9C9" x="25" y="97" width="20.0703125" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill="#C9C9C9" x="25" y="56" width="20.0703125" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill="#C9C9C9" x="25" y="138" width="20.0703125" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill="#C9C9C9" x="25" y="179" width="20.0703125" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill="#C9C9C9" x="25" y="219" width="20.0703125" height="9" rx="4.5"></rect>
<rect id="Rectangle" fill="#B3B3B3" x="18" y="15" width="110" height="9" rx="4.5"></rect>
</g>
</g>
</g>
</g>
<g id="default-tlds" transform="translate(59.000000, 29.000000)" fill="#B3B3B3" fill-opacity="0.699999988">
<rect id="Rectangle" x="0" y="0" width="123" height="13" rx="6.5"></rect>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 24 KiB

260
static/images/devices/webapp.svg Executable file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 62 KiB

BIN
static/images/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

BIN
static/images/logo.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 268 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 242 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 306 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 244 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 461 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 256 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 253 KiB

Some files were not shown because too many files have changed in this diff Show More