Compare commits
No commits in common. "master" and "dev" have entirely different histories.
|
@ -0,0 +1,35 @@
|
|||
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
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
name: PHengLEI docs build
|
||||
run-name: PHengLEI docs build
|
||||
on: [push]
|
||||
|
||||
jobs:
|
||||
PHengLEI-docs-build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Check out repository code
|
||||
uses: https://osredm.com/actions/checkout@v4
|
||||
- name: setup node
|
||||
uses: https://osredm.com/actions/setup-node@main
|
||||
with:
|
||||
node-version: 'v16.14.2'
|
||||
- run: npm config set registry https://registry.npmmirror.com/
|
||||
- run: npm install
|
||||
- run: npm run build -- --locale zh-CN
|
||||
- name: scp files to server
|
||||
uses: https://osredm.com/actions/scp-action@v0.1.7
|
||||
with:
|
||||
host: 123.60.208.28
|
||||
username: root
|
||||
password: ${{ secrets.PASSWORD }}
|
||||
port: 22
|
||||
source: build/*
|
||||
target: /root/test.build/phenglei/
|
||||
#rm: true
|
||||
- name: restart files server
|
||||
uses: https://osredm.com/actions/ssh-action@v1.0.3
|
||||
with:
|
||||
host: 123.60.208.28
|
||||
username: root
|
||||
password: ${{ secrets.PASSWORD }}
|
||||
port: 22
|
||||
script: service nginx restart
|
||||
|
37
README.md
|
@ -1,4 +1,31 @@
|
|||
# 帮助中心建设指南
|
||||
# 确实开源帮助中心
|
||||
|
||||
## 贡献文档方式
|
||||
#### 1.复刻主仓库
|
||||
![](https://gitlink.org.cn/api/attachments/412462)
|
||||
<br/>
|
||||
|
||||
#### 2.进入复刻仓库编辑文档
|
||||
![](https://gitlink.org.cn/api/attachments/412465)
|
||||
|
||||
<br/>
|
||||
|
||||
可采用如下两种方式编辑:
|
||||
* 克隆复刻仓库到本地后,在**gitlink_help_center/docs**文件夹下新建文件夹或markdown文档,依次执行
|
||||
```bash
|
||||
git add <新增文件>
|
||||
git commit <新增文件> -m "提交信息"
|
||||
git push
|
||||
```
|
||||
* 在gitlink代码仓库页面进行编辑,然后点击“提交变更”
|
||||
![](https://gitlink.org.cn/api/attachments/412426)
|
||||
|
||||
<br/>
|
||||
|
||||
#### 3.向主仓提交合并请求
|
||||
![](https://gitlink.org.cn/api/attachments/412466)
|
||||
|
||||
<br/>
|
||||
|
||||
## 页面目录——仓库目录示意图
|
||||
|
||||
|
@ -59,12 +86,8 @@
|
|||
```
|
||||
|
||||
## 前端build成中文 (i18n中可编辑对应中文内容)
|
||||
```
|
||||
npm run build -- --locale zh-CN
|
||||
```
|
||||
## 启动
|
||||
```
|
||||
npm run dev
|
||||
```
|
||||
启动 npm run serve
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"label": "Bot市场",
|
||||
"position": 8
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
---
|
||||
sidebar_label: 'bot安装'
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
# 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)
|
|
@ -0,0 +1,24 @@
|
|||
---
|
||||
sidebar_label: 'bot市场'
|
||||
sidebar_position: 4
|
||||
---
|
||||
|
||||
# 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安装”部分。
|
|
@ -0,0 +1,22 @@
|
|||
---
|
||||
sidebar_label: 'bot开发'
|
||||
sidebar_position: 3
|
||||
---
|
||||
|
||||
# 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)
|
|
@ -0,0 +1,23 @@
|
|||
---
|
||||
sidebar_label: 'bot配置'
|
||||
sidebar_position: 2
|
||||
---
|
||||
|
||||
# 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)
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"label": "DevOps引擎(Engine)",
|
||||
"position": 6
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
---
|
||||
sidebar_label: '代码流水线'
|
||||
sidebar_position: 5
|
||||
---
|
||||
# 代码流水线
|
||||
可以通过代码的形式(YAML格式)来配置流水线,首先选择代码流水线和对应的分支:
|
||||
|
||||
![code_workflow1](../../static/img/engine/code_workflow1.jpg)
|
||||
|
||||
编辑流水线代码,其流水线名称描述、触发器、全局参数、执行串行/并发和流水线编排等概念同图形流水线,具体描述如下:
|
||||
|
||||
![code_workflow2](../../static/img/engine/code_workflow2.png)
|
|
@ -0,0 +1,15 @@
|
|||
---
|
||||
sidebar_label: '参数配置'
|
||||
sidebar_position: 2
|
||||
---
|
||||
|
||||
# 参数配置
|
||||
|
||||
可在流水线中使用,实现动态参数配置;有字符串、数字、布尔三种类型。
|
||||
|
||||
![parameter1](../../static/img/engine/parameter1.png)
|
||||
|
||||
|
||||
在流水线的配置中通过如下方式获取参数:
|
||||
|
||||
![parameter2](../../static/img/engine/parameter2.png)
|
|
@ -0,0 +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)
|
||||
|
||||
|
||||
## 流水线编排
|
||||
|
||||
每条流水线必须要有一个开始节点、结束节点,至少一个任务节点。支持串行编排和并行编排。
|
||||
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
---
|
||||
sidebar_label: '密钥设置'
|
||||
sidebar_position: 3
|
||||
---
|
||||
|
||||
# 密钥设置
|
||||
|
||||
将账号密码、密钥、证书等存放到密钥管理里,配置后可直接在流水线中使用,避免因直接填写引起的泄露风险。
|
||||
|
||||
![secret1](../../static/img/engine/secret1.png)
|
||||
|
||||
使用示例
|
||||
|
||||
注:节点输入参数中,下拉选项为密钥类型,需要提前配置好密钥在流水线中选择使用
|
||||
|
||||
![secret2](../../static/img/engine/secret2.png)
|
|
@ -0,0 +1,13 @@
|
|||
---
|
||||
sidebar_label: '引擎简介'
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
# 引擎
|
||||
|
||||
引擎(Engine)是GitLink提供的一款DevOps工具,通过简单的节点编排来构建开发、测试、部署流水线,从而创建自动化的软件交付流程。
|
||||
它可以实现持续的代码集成,让开发者能尽早发现质量问题,快速定位修复,提升软件开发效率和质量;自动化的代码扫描、编译打包、单元测试,把研发团队从重复的工作中解放出来,聚焦到更有价值的事情上。
|
||||
|
||||
![engine_intro](../../static/img/engine/engine_intro.jpg)
|
||||
|
||||
在引擎页面中,用户可以创建和编辑图形流水线或代码流水线、设置外部参数、管理密钥等操作。
|
|
@ -0,0 +1,10 @@
|
|||
---
|
||||
sidebar_label: '执行记录查询'
|
||||
sidebar_position: 6
|
||||
---
|
||||
|
||||
# 执行记录查询
|
||||
|
||||
用户可以查看流水线的运行状态
|
||||
|
||||
![result](../../static/img/engine/result.png)
|
|
@ -1,85 +0,0 @@
|
|||
---
|
||||
sidebar_label: 'F06AEDC外挂物分离投放模拟'
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
## 算例描述
|
||||
    WPFS算例为标准的外挂物分离投放算例,由美国空军研究实验室(AFRL)资助,风洞试验在阿诺德工程发展中心(AEDC)4英尺跨音速空气动力风洞进行。该算例几何外形由机翼/挂架/带翼吊舱组成。AEDC采用捕获轨迹系统(CTS)进行投放试验,该系统连接外挂物,是一个可以进行六自由度运动的尾支杆。试验于1996年6月12日完成,测试数据对外公开,用于多体分离数值软件的验证确认。
|
||||
    外挂物从机体分离后,两者之间产生激波干扰,导致外挂物气动力随时间产生变化,而气动力变化影响外挂物姿态的变化,投放的过程是一个复杂的非定常现象。本算例用于评测风雷软件在多体分离这一应用场景下的数值模拟能力。
|
||||
|
||||
|
||||
## 计算条件
|
||||
    主要来流参数:
|
||||
|
||||
| 参数名 | 数值 | 单位 |
|
||||
| -------------- | ---- | ---- |
|
||||
| 马赫数 | 0.95 | / |
|
||||
| 飞行高度 | 8.0 | $km$ |
|
||||
| 攻角 | 0.0 | $^\circ$ |
|
||||
| 侧滑角 | 0.0 | $^\circ$ |
|
||||
| 壁面温度 | 绝热 | $K$ |
|
||||
| 网格缩放因子 | 1.0 | / |
|
||||
| 参考长度 | 1.0 | $m$ |
|
||||
| 参考展长 | 1.0 | $m$ |
|
||||
| 参考面积 | 1.0 | $m$ |
|
||||
| 参考点 | (0.0,0.0,0.0) | $m^2$ |
|
||||
|
||||
    主要计算参数:
|
||||
|
||||
| 参数名 | 数值 | 单位 |
|
||||
| ------------------------------------ | ----------------------- | -------- |
|
||||
| 物理模型 | 无粘欧拉 | / |
|
||||
| 离散格式 | Roe | / |
|
||||
| 有量纲物理时间 | 0.03 | $s$ |
|
||||
| CFL起始数 | 10 | / |
|
||||
| CFL终止数 | 20 | / |
|
||||
| 重叠区插值单元层数 | 1 | / |
|
||||
| 重叠区活跃区域扩展次数 | 3 | / |
|
||||
| 重叠网格插值方法 | 1 | / |
|
||||
| 参考速度 | 292.715 | $m/s$ |
|
||||
| 参考密度 | 0.526445 | $kg/m^3$ |
|
||||
| 外挂物质量 | 907.184 | $kg$ |
|
||||
| 外挂物绕$x$轴转动惯量$Ixx$(惯性系) | 27.116 | $kg*m^2$ |
|
||||
| 外挂物绕$y$轴转动惯量$Iyy$(惯性系) | 488.094 | $kg*m^2$ |
|
||||
| 外挂物绕$z$轴转动惯量$Izz$(惯性系) | 488.094 | $kg*m^2$ |
|
||||
| 外挂物初始质心位置 | (4.2615,-0.89916,3.302) | $m$ |
|
||||
|
||||
## 计算网格
|
||||
    在本算例中,重叠装配前的外挂物分离投放网格主要由主翼及弹体等2部分网格组成,共计约2112820非结构网格单元,网格如图1所示。
|
||||
<div align='center'><img src="../img/网格技术/F06/外挂物分离投放网格.png" alt="图片" width='500px'/><br/>图1 外挂物分离投放网格</div><br/>
|
||||
|
||||
## 计算结果
|
||||
#### 1. 分离过程3个典型时刻物面压力系数分布云图
|
||||
|
||||
<div align='center'><img src="../img/网格技术/F06/0s_cp.png" alt="图片" width='500px'/><br/>图2 t=0s</div><br/>
|
||||
|
||||
<div align='center'><img src="../img/网格技术/F06/0d15s_cp.png" alt="图片" width='500px'/><br/>图3 t=0.15s</div><br/>
|
||||
|
||||
<div align='center'><img src="../img/网格技术/F06/0d3s_cp.png" alt="图片" width='500px'/><br/>图4 t=0.3s</div><br/>
|
||||
|
||||
    图2至图4为0s,0.15s,0.3s等3个典型时刻的物面压力系数分布云图,显示了外挂物从挂载到分离投放的全过程,整个过程计算结果对激波干扰等现象的捕捉较好。
|
||||
|
||||
#### 2. 分离过程运动学参数
|
||||
|
||||
<div align='center'><img src="../img/网格技术/F06/线位移轨迹.png" alt="图片" width='500px'/><br/>图5 线位移轨迹</div><br/>
|
||||
|
||||
<div align='center'><img src="../img/网格技术/F06/角速度轨迹.png" alt="图片" width='500px'/><br/>图6 角速度轨迹</div><br/>
|
||||
|
||||
<div align='center'><img src="../img/网格技术/F06/姿态角轨迹.png" alt="图片" width='500px'/><br/>图7 姿态角轨迹</div><br/>
|
||||
|
||||
<div align='center'><img src="../img/网格技术/F06/线速度轨迹.png" alt="图片" width='500px'/><br/>图8 线速度轨迹</div><br/>
|
||||
|
||||
    图5至图8分别为外挂物分离投放过程,线位移、角速度、姿态角、线速度等运动学参数轨迹随时间的变化,软件计算的结果同试验值吻合较好。
|
||||
|
||||
## 结论
|
||||
    通过对外挂物分离投放算例标模数值模拟得到不同典型时刻的压力分布及线位移等运动学参数轨迹随时间的变化情况。可以看到软件针对多体分离应用场景的数值模拟能力,能较准确地预测运动部件相关运动学参数的轨迹,也能捕捉到分离过程激波干扰等典型特征流动现象。
|
||||
|
||||
    综上所述,本次测试能够证实当前软件在隐式重叠重配、动网格及非定常计算等功能的正确性和可靠性。
|
||||
|
||||
## 参考文献
|
||||
|
||||
[1].赵钟,等. 风雷(PHengLEI)通用CFD软件设计[J]. 计算机工程与科学, 2020, 42(2): 210-219.(Zhao Zhong, et al. Design of general CFD software PHengLEI [J]. Computer Engineering & Science, 2020, 42(2): 210-219. (in Chinese))<br/>
|
||||
[2].赵钟,等.适用于任意网格的大规模并行CFD计算框架PHengLEI[J]. 计算机学报, 2019, 42(11): 2368-2383. (Zhao Zhong, et al. PHengLEI: A Large Scale Parallel CFD Framework for Arbitrary Grids [J]. Chinese Journal of Computers, 2019, 42(11): 2368-2383. (in Chinese))<br/>
|
||||
[3].Hall L H, Parthasarathy V. Validation of an automated Chimera/6-DOF methodology for multiple moving body problems[C]. 36th AIAA Aerospace Sciences Meeting and Exhibit.1998.<br/>
|
||||
[4].田书玲.基于非结构网格方法的重叠网格算法研究[D]. 南京:南京航空航天大学,2008.<br/>
|
||||
[5].常兴华,马戎,张来平等.并行化非结构重叠网格隐式装配技术[J].航空学报,2018, 39(6):11.<br/>
|
|
@ -1,4 +0,0 @@
|
|||
{
|
||||
"label": "F系列网格技术",
|
||||
"position": 7
|
||||
}
|
148
docs/intro.md
|
@ -5,119 +5,69 @@ sidebar_position: 1
|
|||
slug: /
|
||||
---
|
||||
|
||||
# 关于风雷
|
||||
# 关于GitLink
|
||||
GitLink(确实开源)是CCF官方指定的开源创新服务平台,旨在以“为开源创新服务”为使命,以“成为开源创新的汇聚地”为愿景,秉承“创新、开放、协作、共享”的价值观,致力于为大规模开源开放协同创新助力赋能,打造创新成果孵化和新工科人才培养的开源创新生态!
|
||||
|
||||
风雷团队经过多年发展,现有人员18人,背景涵盖数学、力学、航空宇航科学、软件工程等,团队下设技术组、算法组、开源组、定制化组、基础设施组;团队创新能力突出、攻克众多技术难题,在超大规模并行、动网格技术、数值算法、软件测试等方面积累了丰富的经验;团队坚持“开放、合作、共赢”的开源理念,专注于风雷软件研发及开源社区生态建设,为实现我国CFD软件自主可控、自立自强贡献拳头力量!
|
||||
![](/img/ccf_gitlink.png)
|
||||
|
||||
# 风雷软件(PHengLEI2206.v10111)
|
||||
# 平台功能
|
||||
|
||||
## 1.软件简介
|
||||
|
||||
    风雷软件(PHengLEI,Platform for Hybrid ENGineering simulation of
|
||||
flows)是中国空气动力研究与发展中心(CARDC)研发的面向流体工程的混合CFD平台。平台以面向对象的设计理念,采用C++语言编程。2020年12月,风雷软件正式面向全国开源,与其他开源CFD软件相比,风雷软件具有扩展能力强、开发难度低、计算效率高等特点。(更多介绍请阅读PHengLEI/Documents文件夹下的**
|
||||
《风雷软件应用与开发指南》**)
|
||||
|
||||
    风雷软件更多动态和Demo请登录以下网址查看:
|
||||
|
||||
- 官网地址: http://www.cardc.cn/nnw/software/phenglei
|
||||
- 代码库地址:https://www.osredm.com/PHengLEI/PHengLEI
|
||||
- 算例库地址:https://forge.osredm.com/PHengLEI/PHengLEI-TestCases
|
||||
- 代码参考文档地址:http://116.63.141.248:8088
|
||||
- 论坛(常见问题、算例展示、技术分享)地址:https://osredm.com/forums/theme/38
|
||||
|
||||
    风雷软件用户录制视频教程地址:
|
||||
|
||||
- 视频教程:https://www.bilibili.com/video/BV1eX4y1T7yW?from=search&seid=9482198996609923785
|
||||
|
||||
**声明:**
|
||||
若用户将该软件用于学术研究或工程应用,须在相关的论文成果的显要位置处标注基于国家数值风洞“风雷(PHengLEI)“软件,并引用“风雷(PHengLEI)”软件相关的参考文献(例如[1]
|
||||
和[2])
|
||||
|
||||
[1] 赵钟,等.通用CFD软件PHengLEI设计[J]. 计算机工程与科学, 2020, 42(2): 210-219.( Zhao Z, et al.
|
||||
   Design of general CFD software PHengLEI [J]. Computer Engineering & Science, 2020, 42(2):
|
||||
   210-219. (in Chinese) )
|
||||
[2] 赵钟,等.适用于任意网格的大规模并行CFD计算框架PHengLEI[J]. 计算机学报, 2018, 42(11):2368
|
||||
   -2383. ( Zhao Z, et al. PHengLEI: A Large Scale Parallel CFD Framework for Arbitrary Grids [J].
|
||||
   Chinese Journal of Computers, 2018, 42(11): 2368-2383. (in Chinese) )
|
||||
|
||||
## 2.软件功能
|
||||
|
||||
    风雷软件是一款结构/非结构通用CFD软件,计算范围覆盖低速、亚跨声速和高超声速。软件采用有限体积法求解定常/非定常的雷诺平均NS方程(RANS方程),集成了典型湍流模型,如SA、SST模型等;无粘项采用Roe、Vanleer、AUSM、Steger-Warming等格式;粘性项采用中心格式,时间推进采用LU-SGS或Block
|
||||
LU-SGS隐式方法求解;非定常计算时,采用双时间步方法。针对大规模问题,软件支持分区并行计算,并且使用多重网格技术加速收敛。同时,风雷软件也提供常用前/后置接口,如Gridgen、ICEM-CFD、FieldView、Tecplot等。
|
||||
|
||||
## 3.代码获取
|
||||
|
||||
1. 环境准备,安装git,官网地址:https://git-scm.com/;
|
||||
2. 点击右上角Fork按钮;
|
||||
3. Fork完成后,将生成并跳转到新的仓库,复制新仓库版本库地址,如https://git.osredm.com/p68217053/PHengLEI.git;
|
||||
4. 在本地选择一个目录,右键打开git bash,输入命令进行代码克隆,如git clone https://git.osredm.com/p68217053/PHengLEI.git;
|
||||
5. 输入用户名和密码,其中用户名是指上面命令中p开头的用户名,比如p68217053;
|
||||
6. 项目克隆完成后,进入项目目录,默认分支为master分支,可通过命令切换到ActiveBranch分支,如git checkout ActiveBranch;
|
||||
7. 切换到开发分支后,可输入git log查看日志,确认当前版本。
|
||||
|
||||
## 4.软件安装
|
||||
|
||||
    风雷软件能够在Windows、Linux、Mac系统下运行,源代码采用C++语言编写,需要CMake软件构建项目,并行计算采用MPI库。因此,操作系统必须提供C++编译器、CMake2.8以上版本软件和MPI1.0或MPI2.0标准库。
|
||||
|
||||
### 4.1 Windows环境配置
|
||||
|
||||
    Windows环境下所有必备软件按照默认步骤安装即可。
|
||||
|
||||
1. 安装Microsoft Visual Studio 2012以上版本;
|
||||
2. 安装MPI库,推荐采用MSMPI;
|
||||
3. 安装Cmake。
|
||||
|
||||
### 4.2 Linux环境配置
|
||||
|
||||
    Linux环境配置的简要步骤如下:
|
||||
|
||||
1. 安装Cmake;
|
||||
2. 安装MPICH3库;
|
||||
3. 编译HDF5库;
|
||||
4. 编译CGNS库;
|
||||
5. 编译metis库和parmetis库。
|
||||
|
||||
**备注:**Linux环境配置的具体步骤请阅读《风雷软件应用与开发指南》。
|
||||
|
||||
## 5.如何贡献
|
||||
|
||||
    针对基于风雷软件进行二次开发的用户,后续添加如何测试、提交Pull Request的步骤。
|
||||
|
||||
    软件贡献者信息参见项目根目录下的Contributing文件(待增加)。
|
||||
|
||||
## 6.软件版权
|
||||
|
||||
    风雷软件开源协议参见项目根目录下的LICENSE文件。
|
||||
|
||||
## 7.鸣谢
|
||||
|
||||
    感谢所有参与风雷软件开发与推广的工作人员,也感谢所有支持风雷软件发展并提出宝贵意见和建议的广大用户。
|
||||
|
||||
## 8.联系我们
|
||||
|
||||
    电子邮箱:phenglei@126.com。
|
||||
- **分布式协作开发**:支持在线文件编辑、分支管理、贡献统计、仓库复刻、合并请求;
|
||||
- **一站式过程管理**:支持疑修、里程碑、通知提醒、标签归档、Wiki文档、组织管理;
|
||||
- **高效流水线运维**:提供轻量级工作流引擎,并支持自定义配置、静态扫描、制品构建;
|
||||
- **多层次代码分析**:支持代码溯源分析、许可证风险分析、开源漏洞检测和加固建议;
|
||||
- **多维度用户画像**:支持开发活动统计、贡献日历、能力建模、角色与专业定位分析。
|
||||
|
||||
# 帮助文档
|
||||
|
||||
帮助文档有助于您全面了解红山开源平台,让我们一起为开源创新贡献力量!
|
||||
帮助文档有助于您全面了解GitLink平台,让我们一起为开源创新贡献力量!
|
||||
|
||||
<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="/快速开始/注册红山开源账号">
|
||||
<a class="card padding--lg cardContainer" href="/docs/快速开始/注册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>红山开源服务协议[1个文档]</p>
|
||||
<article class="col col--6 margin-bottom--lg">
|
||||
<a class="card padding--lg cardContainer" href="/docs/代码库管理/仓库创建">
|
||||
<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>其他[n个文档]</p>
|
||||
<article class="col col--6 margin-bottom--lg">
|
||||
<a class="card padding--lg cardContainer" href="/docs/组织管理/组织简介">
|
||||
<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="/docs/疑修/疑修简介">
|
||||
<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="/docs/合并请求/合并请求简介">
|
||||
<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="/docs/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="/docs/维基/模板导入及导出">
|
||||
<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="/docs/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="/docs/第三方服务/跨平台代码同步">
|
||||
<h2 class="text--truncate cardTitle" title="第三方服务">第三方服务</h2>
|
||||
<p>第三方服务使用及设置[3个文档]</p>
|
||||
</a></article>
|
||||
</section>
|
||||
</div>
|
||||
|
|
|
@ -1,57 +0,0 @@
|
|||
---
|
||||
sidebar_label: 'H01后台阶流动模拟'
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
## 算例描述
|
||||
    在自然界,像后台阶分离再附这样的流动处处可见:河道的突然变宽,小河汇入大江的入口处等等。工程中很多复杂湍流的流场中也包含了像后台阶这样的流动结构。在这个算例中,流动的横截面积突然增大,导致流动从面积增加点处开始分流。速度场的空间变化导致壁区域外产生湍流,湍流与平均流动相互作用,影响分流气泡的大小。
|
||||
    后台阶绕流所产生的涡结构,以及涡结构之间的相互影响与作用,对于在湍流中出现的湍动能、湍流应力和自由剪切层的生成增长以及主要来流的运动都有着重大的影响。
|
||||
    后台阶流动问题已被用作低速流动不可压解算器的基准测试案例。该问题几何学简单,二维,边界条件也简单。标准案例是台阶的二维切面,对于这个案例,将研究不同边界条件、离散格式下不同漩涡的长度。结果将与商业软件计算结果进行比较。
|
||||
|
||||
|
||||
## 计算条件
|
||||
    主要来流及计算参数:
|
||||
|
||||
| 参数名 | 状态 | 数值 | 单位 |
|
||||
| -------------- | ---- | ---- | ---- |
|
||||
| 壁面类型 | 无滑移壁面 | / | / |
|
||||
| 时间设置 | 稳态 | / | / |
|
||||
| 工质密度 | 定常 | 1.0 | $kg/{m^{3}}$ |
|
||||
| 工质粘度 | 定常 | | |
|
||||
| 进口条件 | 压力进口 | | |
|
||||
| 进口条件 | 速度进口 | | |
|
||||
| 雷诺数 | | | |
|
||||
| 出口条件 | 压力出口 | | |
|
||||
| 壁面条件 | 无滑移 | | |
|
||||
| 离散格式 | UPWIND/SIMPLEC | | |
|
||||
| 湍流模型 | | | |
|
||||
| 湍流动能初值 | | | |
|
||||
| 湍流耗散率初值 | | | |
|
||||
| 流场初始密度 | | | |
|
||||
| 流场初始速度u | | | |
|
||||
| 流场初始速度y | | | |
|
||||
| 流场初始压力 | | | |
|
||||
| 流场初始粘度 | | | |
|
||||
| 参考压力 | | | |
|
||||
|
||||
|
||||
|
||||
## 计算网格
|
||||
    在本算例后台阶非结构网格为.cas格式的网格,首先需要将.cas格式网格转换成风雷自定义的网格格式。后台阶非结构网格如图1所示,网格单元总数为34500。左侧边界为速度入口或压力入口,右侧边界为压力出口,其余均设置为壁面。
|
||||
<div align='center'><img src="../img/后台阶网格.png" alt="图片" width='600px'/><br/>图1 后台阶网格</div><br/>
|
||||
|
||||
## 计算结果
|
||||
#### 1. UPWIND离散格式、压力进口条件
|
||||
|
||||
    流场结果
|
||||
|
||||
<div align='center'><img src="../img/压力云图对比.png" alt="图片" width='700px'/><br/>图2 压力云图对比</div><br/>
|
||||
|
||||
## 结论
|
||||
    给定不同的边界条件和离散格式时,风雷计算得到的尾涡长度与商业软件的结果相比最大误差为17.6%;涡流区速度分布上,风雷软件的计算结果和主流商软的计算结果最大误差为7.2%;计算用时上,风雷软件和主流商软并未有明显差距。
|
||||
|
||||
综上所述,本次测试能够证实风雷不可压解算模块的正确性和可靠性。
|
||||
|
||||
## 参考文献
|
||||
|
||||
xxx
|
|
@ -1,4 +0,0 @@
|
|||
{
|
||||
"label": "不可压缩流动",
|
||||
"position": 8
|
||||
}
|
|
@ -0,0 +1,41 @@
|
|||
---
|
||||
sidebar_label: 'WebIDE'
|
||||
sidebar_position: 9
|
||||
---
|
||||
|
||||
### **1. 语言服务**
|
||||
● 支持近 40 种语言的语法高亮
|
||||
● 支持 JavaScript/TypeScript、HTML、CSS、JSON、Markdown 的基于 LSP (Language Server Protocol) 语言特性功能,具备智能提示和大纲信息以及单文件内跳转。
|
||||
● 支持 Java、Go、Python、C++、Php 的基于 Tree Sitter 的在线语言服务能力,提供查看引用、符号搜索等特性
|
||||
|
||||
### **2. WebIDE 入口**
|
||||
从 Gitlink 仓库首页 ,点击Web IDE 按键即可进入
|
||||
![](../../static/img/代码库管理/WebIDE/WebIDE入口.png)<br/>
|
||||
|
||||
### **3. 分支**
|
||||
支持分支切换:点击左下角分支名即可切换分支。
|
||||
![](../../static/img/代码库管理/WebIDE/WebIDE切换分支.png)<br/>
|
||||
|
||||
### **4. 搜索**
|
||||
当前支持 Gitlink 仓库内代码搜索(支持单词匹配和文件过滤)和文件搜索。
|
||||
![](../../static/img/代码库管理/WebIDE/WebIDE搜索.png)<br/>
|
||||
|
||||
### **5. 行高亮**
|
||||
支持单行或多行高亮,点击行号即可高亮行,按住 Shift 可选中连续多行。
|
||||
![](../../static/img/代码库管理/WebIDE/WebIDE行高亮.png)<br/>
|
||||
|
||||
### **6. Blame**
|
||||
支持查看单行 blame 信息,hover 后可展示详细信息。
|
||||
![](../../static/img/代码库管理/WebIDE/WebIDEblame.png)<br/>
|
||||
|
||||
### **7. Graph**
|
||||
支持 graph 视图,可查看分支 commits 历史以及每个 commit 详细文件变更,并支持文件 diff 查看。底部状态栏左下角点击 Git Graph 或在命令面板输入 View Git Graph,即可打开 Git Graph 视图。
|
||||
![](../../static/img/代码库管理/WebIDE/WebIDEGraph.png)<br/>
|
||||
|
||||
### **8. WebSCM**
|
||||
可以在极速版新建分支,修改代码后在 SCM 面板看到变更文件列表,写完 commit message 后提交到 Gitlink 上。如果想快速修改一些文件可以不用在本地修改,直接通过极速版修改代码一次性提交。
|
||||
|
||||
### **9. 代码在线运行**
|
||||
● 集成了基于 skypack 的更加轻量的 CodeSwing 插件,可以在极速版去运行前端代码。
|
||||
● 集成了基于 Pyodide 的 Code-Runner-For-Web 插件,可以将 Python 的运行搬到浏览器上。
|
||||
![](../../static/img/代码库管理/WebIDE/WebIDE代码在线运行.png)<br/>
|
|
@ -0,0 +1,38 @@
|
|||
---
|
||||
sidebar_label: 'Webhook'
|
||||
sidebar_position: 8
|
||||
---
|
||||
### **1. Webhook模块入口**
|
||||
在项目主页,点击“仓库设置”按键,再点击“网络钩子”按键,即可进入仓库的Webhook模块。
|
||||
![](../../static/img/代码库管理/Webhook/Webhook入口.png)<br/>
|
||||
|
||||
### **2. 添加Webhook**
|
||||
单击“添加Webhook”按键,可进入配置Webhook页面:
|
||||
|
||||
![](../../static/img/代码库管理/Webhook/添加Webhook.png)<br/>
|
||||
![](../../static/img/代码库管理/Webhook/Webhook配置.png)<br/>
|
||||
|
||||
### **3. 编辑Webhook**
|
||||
添加Webhook后,如下图所示,可以通过点击右侧”编辑“按键来对每个Webhook进行编辑操作。
|
||||
|
||||
![](../../static/img/代码库管理/Webhook/编辑Webhook.png)<br/>
|
||||
|
||||
### **4. 删除Webhook**
|
||||
添加Webhook后,如下图所示,可以通过点击右侧”删除“按键来对每个Webhook进行删除操作。
|
||||
|
||||
![](../../static/img/代码库管理/Webhook/删除webhook.png)<br/>
|
||||
|
||||
### **5. Webhook支持的事件类型**
|
||||
在GitLink中,Webhook支持的事件类型如下:
|
||||
- 推送:git推送到存储库
|
||||
- 代码库:创建或删除代码库
|
||||
- 创建:创建分支或标签
|
||||
- 删除:删除分支或标签
|
||||
- 合并请求:合并请求被打开、被关闭、被重新打开或被编辑
|
||||
- 合并请求分配:合并请求被分配或取消分配
|
||||
- 合并请求收入里程碑:合并请求被记录或取消记录于里程碑中
|
||||
- 合并请求被评论:合并请求评论被创建、编辑或删除
|
||||
- 合并请求标签:合并请求的标签被更新或清除
|
||||
- 合并请求审查:合并请求被批准、拒绝或提出审查意见,审查人员的修改,审查线程已解决或未解决
|
||||
- 合并请求被同步:合并请求被同步
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"label": "代码库管理",
|
||||
"position": 2
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
---
|
||||
sidebar_label: '仓库创建'
|
||||
sidebar_position: 1
|
||||
---
|
||||
### **1. 仓库创建入口**
|
||||
用户可以通过平台主页右上角的按键以及个人主页参与项目模块的“新建”按键来创建仓库。
|
||||
![](../../static/img/代码库管理/仓库创建/仓库创建.png)<br/>
|
||||
|
||||
### **2. 填写项目基本信息**
|
||||
进入新建项目页面后,如下图所示,填写拥有者、项目名称、项目标识等信息,单击”创建项目“按键即可完成创建。
|
||||
![](../../static/img/代码库管理/仓库创建/新建项目.png)<br/>
|
|
@ -0,0 +1,11 @@
|
|||
---
|
||||
sidebar_label: '仓库设置'
|
||||
sidebar_position: 2
|
||||
---
|
||||
### **1. 仓库设置入口**
|
||||
在仓库主页,点击“仓库设置”按键即可进入仓库设置模块。仓库设置中可以修改项目的基本信息、进行成员管理、配置webhook、设置分支以及安装bot。
|
||||
![](../../static/img/代码库管理/仓库设置/仓库设置.png)<br/>
|
||||
|
||||
### **2. 基本设置**
|
||||
进入仓库设置模块后,单击”基本设置“按键,进入基本设置模块,如下图所示,可以对项目的项目名称、项目标识、项目简介、项目类别、项目语言等基本信息进行修改。单击“转移”按键可以将仓库转移给其他用户和组织,单击“删除本仓库“按键可以删除本仓库。
|
||||
![](../../static/img/代码库管理/仓库设置/基本设置.png)<br/>
|
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
sidebar_label: '代码提交'
|
||||
sidebar_position: 3
|
||||
---
|
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
sidebar_label: '分支管理'
|
||||
sidebar_position: 5
|
||||
---
|
|
@ -0,0 +1,23 @@
|
|||
---
|
||||
sidebar_label: '成员管理'
|
||||
sidebar_position: 7
|
||||
---
|
||||
### **1. 成员管理入口**
|
||||
在仓库主页,点击“仓库设置”按键,再点击”成员管理“按键,即可进入成员管理模块,如下图所示。
|
||||
![](../../static/img/代码库管理/成员管理/成员管理入口.png)<br/>
|
||||
|
||||
### **2. 筛选、搜索项目成员**
|
||||
进入成员管理模块后,可以通过”角色筛选“按键来筛选项目成员类型,通过”搜索“按键可以检索具体的项目成员,如下图所示。
|
||||
![](../../static/img/代码库管理/成员管理/筛选、搜索项目成员.png)<br/>
|
||||
|
||||
### **3. 筛选、搜索项目成员**
|
||||
进入成员管理模块后,可以通过”添加成员“按键来添加项目成员,左侧搜索框检索到具体用户并选中后,单击”添加成员“按键即可成功添加项目成员。
|
||||
![](../../static/img/代码库管理/成员管理/添加成员.png)<br/>
|
||||
|
||||
### **4. 项目成员权限管理**
|
||||
进入成员管理模块后,单击项目成员右侧的角色栏,可以选择赋予该名项目成员的权限等级,如下图所示。
|
||||
![](../../static/img/代码库管理/成员管理/项目成员权限管理.png)<br/>
|
||||
|
||||
### **5. 删除项目成员**
|
||||
进入成员管理模块后,单击项目成员右侧的”删除“按键,可以删除改名项目成员,如下图所示。
|
||||
![](../../static/img/代码库管理/成员管理/删除项目成员.png)<br/>
|
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
sidebar_label: '文件管理'
|
||||
sidebar_position: 4
|
||||
---
|
|
@ -0,0 +1,29 @@
|
|||
---
|
||||
sidebar_label: '标签和发行版管理'
|
||||
sidebar_position: 6
|
||||
---
|
||||
### **1. 标签和发行版管理入口**
|
||||
在仓库主页,点击“代码库”按键,再点击”标签“按键,即可进入标签和发行版管理模块,如下图所示。
|
||||
![](../../static/img/代码库管理/标签和发行版管理/标签和发行版管理入口.png)<br/>
|
||||
|
||||
### **2. 删除标签**
|
||||
进入标签和发行版管理模块后,点击标签右侧“删除”按键,即可实现对标签的删除操作,如下图所示。
|
||||
![](../../static/img/代码库管理/标签和发行版管理/删除标签.png)<br/>
|
||||
|
||||
### **3. 查看发行版**
|
||||
进入标签和发行版管理模块后,点击”发行版”按键即可查看项目的发行版,如下图所示。
|
||||
![](../../static/img/代码库管理/标签和发行版管理/查看发行版.png)<br/>
|
||||
|
||||
### **4. 创建发行版**
|
||||
进入标签和发行版管理模块后,点击标签右侧”创建发行版”按键,即可快速创建绑定该标签的发行版,如下图所示。
|
||||
![](../../static/img/代码库管理/标签和发行版管理/发布新版本.png)<br/>
|
||||
|
||||
### **5. 修改发行版**
|
||||
进入标签和发行版管理模块后,点击发行版右侧的修改按键,即可进入发行版的修改页面,如下图所示。完成发行版的修改后,单击”保存发行版“按键即可保存修改内容。
|
||||
![](../../static/img/代码库管理/标签和发行版管理/修改发行版.png)<br/>
|
||||
![](../../static/img/代码库管理/标签和发行版管理/发行版修改页面.png)<br/>
|
||||
|
||||
### **6. 删除发行版**
|
||||
进入标签和发行版管理模块后,点击发行版右侧的删除按键,即可进入发行版的删除页面,如下图所示。
|
||||
![](../../static/img/代码库管理/标签和发行版管理/删除发行版.png)<br/>
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"label": "合并请求(PR)",
|
||||
"position": 5
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
---
|
||||
sidebar_label: '代码评审'
|
||||
sidebar_position: 3
|
||||
---
|
||||
|
||||
# 代码评审
|
|
@ -0,0 +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)
|
|
@ -0,0 +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`上的变更,并创建新的提交记录这些变更,所以提交者发生了变化!
|
|
@ -0,0 +1,6 @@
|
|||
---
|
||||
sidebar_label: '合并请求关联疑修'
|
||||
sidebar_position: 5
|
||||
---
|
||||
|
||||
# 合并请求关联疑修
|
|
@ -0,0 +1,16 @@
|
|||
---
|
||||
sidebar_label: '合并请求简介'
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
# 合并请求简介
|
||||
|
||||
**合并请求(PR)** 模块提供合并请求创建和管理两方面的功能:
|
||||
|
||||
- 一方面支持向源项目或者同一个项目其他分支创建(发起)代码合并请求(Pull Request,PR);
|
||||
|
||||
- 另一方面也为项目管理者对他人发送到本项目的合并请求进行管理、审阅并最终确定是否纳入项目。
|
||||
|
||||
如下图所示为合并请求(PR)管理模块:
|
||||
|
||||
![合并请求管理模块](/img/PR/imagePR1.png)
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"label": "平台公告",
|
||||
"position": 11
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
sidebar_label: '平台公告'
|
||||
sidebar_position: 1
|
||||
---
|
|
@ -1,4 +1,4 @@
|
|||
{
|
||||
"label": "快速开始",
|
||||
"position": 50
|
||||
"position": 1
|
||||
}
|
||||
|
|
|
@ -9,15 +9,16 @@ sidebar_position: 2
|
|||
|
||||
平台提供了“新建”按钮,用户可以通过点击快速从零开始创建新的公开或者私有项目。
|
||||
|
||||
|
||||
![创建首页](/img/quickstart/create_homepage.png)
|
||||
|
||||
## 2. 填写项目信息
|
||||
|
||||
填写项目基本信息。
|
||||
|
||||
|
||||
![](/img/quickstart/create_info.png)
|
||||
|
||||
## 3. 创建成功
|
||||
|
||||
点击创建项目,创建成功后进入项目主页。
|
||||
|
||||
![](/img/quickstart/create_success.png)
|
||||
|
|
|
@ -9,81 +9,20 @@ sidebar_position: 5
|
|||
|
||||
在首页选择**导入项目**
|
||||
|
||||
|
||||
![](/img/quickstart/import_homepage.png)
|
||||
|
||||
## 2. 填写信息
|
||||
|
||||
填写需要导入的第三方Git项目地址和项目信息,如果导入项目为私有仓库,则需输入目标平台用户token进行授权。
|
||||
填写完需要导入的第三方Git项目地址后和项目信息后,点击导入项目
|
||||
|
||||
![](/img/quickstart/import_info.png)
|
||||
|
||||
## 3. 授权验证
|
||||
|
||||
在平台导入其他平台(如GitHub、Gitee)的开源项目时,如果项目为私有,则无法通过正常途径导入,需要输入对应平台有权限的token值进行校验。
|
||||
|
||||
|
||||
|
||||
下面将列举一些典型开源平台的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. 在跳转页访问Token(classic),新建一个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. 导入成功
|
||||
## 3. 导入成功
|
||||
|
||||
提示正在从第三方Git项目地址迁移
|
||||
|
||||
|
||||
![](/img/quickstart/import_wait.png)
|
||||
|
||||
迁移成功则导入项目成功
|
||||
|
||||
![](/img/quickstart/import_success.png)
|
|
@ -9,11 +9,14 @@ sidebar_position: 3
|
|||
|
||||
点击编辑按钮,开始编辑代码。
|
||||
|
||||
![](/img/quickstart/first_edit.png)
|
||||
|
||||
# 2. 提交代码
|
||||
|
||||
在编辑框中编写代码,编写完成后填写变更信息后提交变更。
|
||||
|
||||
![](/img/quickstart/first_commit.png)
|
||||
|
||||
## 3. 代码更新成功
|
||||
|
||||
提交成功后代码代码更新成功。![](/img/quickstart/first_success.png)
|
|
@ -7,19 +7,38 @@ 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)
|
|
@ -1,5 +1,5 @@
|
|||
---
|
||||
sidebar_label: '注册红山开源账号'
|
||||
sidebar_label: '注册GitLink账号'
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
|
@ -7,16 +7,21 @@ sidebar_position: 1
|
|||
|
||||
## 1. 点击**立即注册**按钮
|
||||
|
||||
|
||||
![](/img/quickstart/register_homepage.png)
|
||||
|
||||
## 2. 填写注册信息
|
||||
|
||||
- 手机号注册
|
||||
|
||||
![](/img/quickstart/register_phone.png)
|
||||
|
||||
- 邮箱注册
|
||||
|
||||
![](/img/quickstart/register_email.png)
|
||||
|
||||
## 3. 注册完成
|
||||
|
||||
填写完所需信息后点击注册,注册成功后则进入个人主页
|
||||
|
||||
![](/img/quickstart/register_ownpage.png)
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
---
|
||||
sidebar_label: 'GitLink服务协议'
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
尊敬的用户,您好!
|
||||
|
||||
欢迎使用GitLink平台,在您使用GitLink平台前,请您认真阅读并遵守《GitLink服务协议》(以下简称”本协议”),请您务必审慎阅读、充分理解协议的各条款内容。
|
||||
当您在注册过程中点击查看”看过并同意本服务协议”,按照注册流程成功注册为GitLink平台的用户即表示您已充分阅读、理解并完全接受本协议中的全部条款。您承诺接受并遵守本协议的约定,届时您不应以未阅读本协议的内容等理由,主张本协议无效或本协议中的某些条款无效,或要求撤销本协议。
|
||||
|
||||
## 一、GitLink平台权利和义务
|
||||
1. 尊重用户隐私:尊重用户隐私,保障用户隐私安全是GitLink平台的一项基本政策;
|
||||
2. 管理平台用户:GitLink平台依据国家法律、地方法律和国际法律等的标准以及本行业的规则来管理平台注册用户;
|
||||
3. 处理用户反馈:GitLink平台的相关人员会及时处理用户反馈的问题并给予及时回复。
|
||||
|
||||
## 二、用户权利和义务
|
||||
用户在使用GitLink平台的过程中,必须遵守如下原则:
|
||||
|
||||
1. 遵守中国的有关法律和法规;
|
||||
2. 使用网络服务不作非法用途;
|
||||
3. 不干扰和混乱网络服务;
|
||||
4. 遵守所有使用网络服务的网络协议、规定、程序和惯例;
|
||||
5. 不传输任何非法的、骚扰性的、中伤他人的、辱骂性的、恐吓性的、伤害性的、庸俗的,淫秽等信息资料;
|
||||
6. 不传输任何教唆他人构成犯罪行为的资料;
|
||||
7. 用户不得故意或者过失损害GitLink平台合法权利和利益。
|
||||
|
||||
## 三、关于责任
|
||||
鉴于网络服务的特殊性,用户同意GitLink团队有权在事先通知的情况下,变更、中断、升级部分网络服务。GitLink团队不担保网络服务不会中断,但承诺在用户可承受的时间内快速恢复服务,同时确保用户数据的安全性和可靠性。
|
||||
|
||||
## 四、服务条款的修改
|
||||
GitLink团队保留在必要时对本协议修改的权利,一旦发生变动,这些条款可由GitLink团队及时更新,且毋须另行通知,修改后的条款一旦在网页上公布即有效代替原来的服务条款。您可随时查阅最新版服务条款。
|
||||
|
||||
|
||||
本协议最终解释权归GitLink团队所有。
|
|
@ -1,4 +1,4 @@
|
|||
{
|
||||
"label": "服务协议",
|
||||
"position": 100
|
||||
"position": 12
|
||||
}
|
||||
|
|
|
@ -1,34 +0,0 @@
|
|||
---
|
||||
sidebar_label: '红山开源服务协议'
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
尊敬的用户,您好!
|
||||
|
||||
欢迎使用红山开源平台,在您使用红山开源平台前,请您认真阅读并遵守《红山开源服务协议》(以下简称”本协议”),请您务必审慎阅读、充分理解协议的各条款内容。
|
||||
当您在注册过程中点击查看”看过并同意本服务协议”,按照注册流程成功注册为红山开源平台的用户即表示您已充分阅读、理解并完全接受本协议中的全部条款。您承诺接受并遵守本协议的约定,届时您不应以未阅读本协议的内容等理由,主张本协议无效或本协议中的某些条款无效,或要求撤销本协议。
|
||||
|
||||
## 一、红山开源平台权利和义务
|
||||
1. 尊重用户隐私:尊重用户隐私,保障用户隐私安全是红山开源平台的一项基本政策;
|
||||
2. 管理平台用户:红山开源平台依据国家法律、地方法律和国际法律等的标准以及本行业的规则来管理平台注册用户;
|
||||
3. 处理用户反馈:红山开源平台的相关人员会及时处理用户反馈的问题并给予及时回复。
|
||||
|
||||
## 二、用户权利和义务
|
||||
用户在使用红山开源平台的过程中,必须遵守如下原则:
|
||||
|
||||
1. 遵守中国的有关法律和法规;
|
||||
2. 使用网络服务不作非法用途;
|
||||
3. 不干扰和混乱网络服务;
|
||||
4. 遵守所有使用网络服务的网络协议、规定、程序和惯例;
|
||||
5. 不传输任何非法的、骚扰性的、中伤他人的、辱骂性的、恐吓性的、伤害性的、庸俗的,淫秽等信息资料;
|
||||
6. 不传输任何教唆他人构成犯罪行为的资料;
|
||||
7. 用户不得故意或者过失损害红山开源平台合法权利和利益。
|
||||
|
||||
## 三、关于责任
|
||||
鉴于网络服务的特殊性,用户同意红山开源团队有权在事先通知的情况下,变更、中断、升级部分网络服务。红山开源团队不担保网络服务不会中断,但承诺在用户可承受的时间内快速恢复服务,同时确保用户数据的安全性和可靠性。
|
||||
|
||||
## 四、服务条款的修改
|
||||
红山开源团队保留在必要时对本协议修改的权利,一旦发生变动,这些条款可由红山开源团队及时更新,且毋须另行通知,修改后的条款一旦在网页上公布即有效代替原来的服务条款。您可随时查阅最新版服务条款。
|
||||
|
||||
|
||||
本协议最终解释权归红山开源团队所有。
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"label": "疑修(Issue)",
|
||||
"position": 4
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
---
|
||||
sidebar_label: '标记管理'
|
||||
sidebar_position: 6
|
||||
---
|
||||
|
||||
# 标记管理
|
||||
|
||||
在疑修的内容编辑页面可以根据疑修的类型对其设置标记,标记的存在方便了在疑修列表中筛选目标疑修,提高项目开发管理效率。<br/>
|
||||
GitLink默认疑修共有缺陷、功能、疑问、支持、任务、协助、搁置、文档、测试和重复共计十种标记类型,分别具有不同的含义和颜色标志:
|
||||
|
||||
- **缺陷:** 表示存在意外问题或错误;
|
||||
- **功能:** 表示新功能申请;
|
||||
- **疑问:** 表示存在疑惑;
|
||||
- **支持:** 表示特定功能或特定需求;
|
||||
- **任务:** 表示需要分配的任务;
|
||||
- **协助:** 表示需要社区用户协助;
|
||||
- **搁置:** 表示此问题暂时不会继续处理;
|
||||
- **文档:** 表示文档材料补充;
|
||||
- **测试:** 表示需要测试的需求;
|
||||
- **重复:** 表示已存在类似的疑修。
|
||||
|
||||
另外,**项目成员**可以根据需求或习惯,进行标记含义或颜色标志的修改、新建标记和删除标记操作。
|
|
@ -0,0 +1,13 @@
|
|||
---
|
||||
sidebar_label: '疑修列表'
|
||||
sidebar_position: 4
|
||||
---
|
||||
# 疑修列表
|
||||
|
||||
对于项目开发过程中创建的所有疑修,可以在**疑修(Issue)** 界面统一查看,如下图所示为[确实开源](https://www.gitlink.org.cn/Gitlink/forgeplus)项目下的疑修列表。
|
||||
|
||||
![](/img/Issue/imageIssue5.png)
|
||||
|
||||
+ **创建疑修**:在疑修列表界面下,点击“**创建疑修**”按钮,同样可以创建疑修,具体见 ***疑修创建*** 一节;
|
||||
|
||||
+ **筛选疑修**:疑修列表支持不同条件筛选,包括发布人、标记(见 ***标记管理*** 一节)、里程碑(见 ***里程碑管理*** 一节),负责人、状态和开始/结束日期等;同时支持关键字搜索,以及按多种排序规则对疑修进行排序。
|
|
@ -0,0 +1,13 @@
|
|||
---
|
||||
sidebar_label: '疑修创建'
|
||||
sidebar_position: 2
|
||||
---
|
||||
# 疑修创建
|
||||
|
||||
1. 进入需要发布疑修的项目的“**代码库**”界面,点击上方的“**+疑修**”按钮即可进入疑修发布界面,如下图所示:
|
||||
|
||||
![](/img/Issue/imageIssue2.png)
|
||||
|
||||
2. 开始创建疑修,包括疑修标题、内容,输入疑修内容时既可以采用简单灵活的[Markdown语法](https://markdown.com.cn/),同时可以点击上方的功能按钮;然后上传需要的附件内容;最后点击“**创建**”按钮提交你的第一个疑修🎉🎉🎉
|
||||
|
||||
![](/img/Issue/imageIssue3.png)
|
|
@ -0,0 +1,19 @@
|
|||
---
|
||||
sidebar_label: '疑修状态变更'
|
||||
sidebar_position: 3
|
||||
---
|
||||
# 疑修状态变更
|
||||
|
||||
**疑修**本质上是开发任务,而开发任务随着开发活动的进行,其状态也会发生改变,而“**状态**”便是用于跟踪记录开发活动的变更。如图所示,GitLink中疑修的**状态**包括“新增”、“正在解决”、“已解决”、“关闭”和“拒绝“五类,用于表示开发任务的处理进度。
|
||||
|
||||
![](/img/Issue/imageIssue4.png)
|
||||
|
||||
+ **新增**:新创建的疑修默认状态为“新增”;
|
||||
|
||||
+ **正在解决**:若已创建的疑修处在解决过程中,此时可将疑修状态修改为“正在解决”;
|
||||
|
||||
+ **已解决**:疑修被开发者解决,此时可将其状态改为“已解决”✅;
|
||||
|
||||
+ **关闭**:已被解决或者没有必要继续开启的疑修,可被设置为“关闭”;
|
||||
|
||||
+ **拒绝**:若被指派解决疑修的开发者拒绝处理该疑修,则可把疑修设置为“拒绝”状态❌。
|
|
@ -0,0 +1,17 @@
|
|||
---
|
||||
sidebar_label: '疑修简介'
|
||||
sidebar_position: 1
|
||||
---
|
||||
# 疑修简介
|
||||
|
||||
**疑修(Issue)** 管理模块主要为项目组成员提供**开发任务**发布、指派、跟踪等功能服务。
|
||||
|
||||
![](/img/Issue/imageIssue1.png)
|
||||
|
||||
**说明事项**
|
||||
|
||||
1. **疑修**是一个可以追踪开发任务进度的帖子,因此支持参与者回复与评论等功能,见 ***评论及操作记录*** 一节;
|
||||
|
||||
2. **疑修**的默认类型(标记)包括缺陷、功能、任务、支持、周报等,具体见 ***标记管理*** 一节;
|
||||
|
||||
3. 可以为**疑修**设置开始和结束时间,并指定负责解决该任务的负责人,在疑修截止日期的前一天,系统将自动为任务的发布者和被指派人发送提醒消息。
|
|
@ -0,0 +1,11 @@
|
|||
---
|
||||
sidebar_label: '评论及操作记录'
|
||||
sidebar_position: 5
|
||||
---
|
||||
|
||||
# 评论及操作记录
|
||||
### 评论
|
||||
每个疑修都相当于一个可以进度追踪的帖子,因此支持评论和回复,不仅仅是项目成员,所有人都可以在某个疑修下进行评论和回复,发表疑问或是见解,进行交流。
|
||||
### 操作记录
|
||||
所有人都可以创建疑修,但是要注意,非项目成员仅可以修改自己创建的疑修,而项目成员有权限修改所有的疑修。
|
||||
对于某个疑修的所有编辑操作,包括**创建疑修、添加负责人、移除负责人、更改状态、更改优先级、添加标记、移除标记、添加里程碑、移除里程碑、设置关联分支、移除关联分支、设置开始日期和设置结束日期**,均被记录在操作记录中。
|
|
@ -0,0 +1,29 @@
|
|||
---
|
||||
sidebar_label: '里程碑管理'
|
||||
sidebar_position: 7
|
||||
---
|
||||
|
||||
# 里程碑管理
|
||||
|
||||
### 里程碑简介
|
||||
里程碑主要用于项目组对项目开发和版本发布提供支持,每一个里程碑可以关联多个开发任务。
|
||||
|
||||
### 创建里程碑
|
||||
项目成员可以基于以下步骤创建里程碑:
|
||||
1. 进入目标项目的 **“里程碑”** 界面,此时界面所示为已创建的里程碑的列表,所有已创建里程碑分为 **“已关闭”** 和 **“开启中”** 两类;
|
||||
2. 点击上方的 **“+创建里程碑”** 按钮即可进入里程碑创建界面;
|
||||
3. 填写标题(必填)、描述(必填)、截止日期(选填)后,点击右下角的 **“创建里程碑”** 即可以完成一个新的里程碑的创建。
|
||||
|
||||
### 关联里程碑
|
||||
项目成员可以将疑修关联到里程碑,从而使里程碑包含明确的疑修列表,主要步骤如下:
|
||||
1. 在疑修列表中点击目标疑修;
|
||||
2. 编辑“里程碑”属性,选择需要关联的里程碑。
|
||||
|
||||
|
||||
### 其他操作
|
||||
- **开启里程碑**
|
||||
- **关闭里程碑**
|
||||
- **编辑里程碑**
|
||||
- **删除里程碑**
|
||||
|
||||
上述操作均可以在里程碑列表中,对目标里程碑进行处理实现。
|
|
@ -0,0 +1,122 @@
|
|||
---
|
||||
sidebar_label: 'WebIDE'
|
||||
sidebar_position: 9
|
||||
|
||||
---
|
||||
## WebIDE背景
|
||||
传统的代码托管平台提供了代码仓库的 Git/SVN 的管理,可以在平台上做代码浏览、代码评审、缺陷管理、CI 流水线等和代码相关的活动。其中代码浏览、代码评审所用的编辑器组件一般为 CodeMirror,代码高亮使用 highlight.js,常常只提供了读代码的场景。蚂蚁研发效能部门云研发团队通过自研的 OpenSumi 框架及基于 OpenSumi 框架做的专门针对于 Web IDE(无远程容器)场景的极速版 Web IDE 框架,与内部代码托管平台碰撞出了创新型的、只依赖浏览器的、IDE 风格的代码阅读、代码编写、代码提交、代码运行、代码评审等场景,极大的提高了用户在代码托管平台阅读代码、代码评审、轻研发等场景的效率。本次蚂蚁研发效能云研发团队和 CCF(中国计算机学会)GitLink 代码托管平台合作,将内部极速版 Web IDE 应用到了 Gitlink 代码托管平台上,解决了长久以来的用户反馈的很多体验问题。
|
||||
|
||||
## Web IDE 核心能力
|
||||
对标有容器的标准版,极速版 IDE 主要在读、写、运行、提交等方面进行了探索:
|
||||
|
||||
**1. 读:**
|
||||
- a. 适配了多种代码托管平台,例如 Gitlink、Github、Gitlab 等代码托管平台,业务可以非常方便的使用代码服务的能力
|
||||
- b. 内置了包括 Java、TS/JS、C++、Go、Python、Rust 等几十种常见语言的语法高亮支持
|
||||
- c. 支持了如 Git Blame、GitGraph 等代码阅读辅助插件
|
||||
|
||||
**2. 写:**
|
||||
- a. 支持 HTML/CSS/JS/Markdown 等在线语言服务能力,支持错误诊断能力
|
||||
- b. 浏览器文件系统
|
||||
|
||||
**3. 运行:**
|
||||
- a. 支持基于 Skypack 的前端代码运行方案
|
||||
- b. 支持基于 Pyodide 的 Python 运行
|
||||
|
||||
**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 框架的高扩展性,业务可以更加深度的定制模块与插件,让业务有多的想象空间。
|
||||
|
||||
## 代码阅读
|
||||
在代码托管平台上进行代码阅读时经常需要查看当前方法在哪里被引用、当前接口在哪里被实现,极速版 Web IDE 提供编辑器 + 插件的能力,解决了上述用户需求:
|
||||
![](/img/di_san_fang/WebIDE/代码引用.png)
|
||||
|
||||
<center>代码引用查看</center>
|
||||
Gitlink 通过实现 Blame 插件,完成了编辑器 Blame 查看的能力:
|
||||
|
||||
![](/img/di_san_fang/WebIDE/当前代码.png)
|
||||
<center>当前代码行作者、修改日期查看</center>
|
||||
|
||||
|
||||
## 代码评审
|
||||
代码评审功能用户长久以来一直反馈以下几个问题:
|
||||
|
||||
- 1.语言服务缺失,阅读效率低:缺少代码高亮、提示、跳转、查看引用及大纲功能
|
||||
- 2.大 PR 浏览体验不佳:统计显示 Gitlink PR 平均有 14-17 个变更文件,传统代码评审交互一般为代码 Diff 组件流式展示,对于一些变更文件多、文件内部较大的场景 Review 体验不佳,常常要等待很久。
|
||||
- 3.代码修改流程重,耗时久:代码 Diff 组件只有读能力,无法快速修改一些拼写或 lint 错误,需要在本地找到对应文件后修改提交 针对于上述需求,蚂蚁云研发团队和 Gitlink 打造了 IDE 风格的代码评审场景:
|
||||
![](/img/di_san_fang/WebIDE/IDE模式的代码评审.png)
|
||||
|
||||
<center>IDE模式的代码评审</center>
|
||||
- 1.变更树 a. 提供平铺和树状两种浏览方式 b. 变更树使用 OpenSumi Recycle 组件,对于大 PR 也能通过虚拟滚动高性能的查看变更文件
|
||||
- 2.工具栏 a. 提供 IDE 编辑器基础设置,如字体大小、编码、忽略收尾空格等 b. 快速切换当前分支历史版本与基线的对比 c. 变更文件快速定位、设置已查看,并支持快捷键快速执行
|
||||
- 3.编辑器 a. 通过 monaco fold 能力完成非变更内容的折叠 b. 自定义评论组件嵌入编辑器
|
||||
- 4.插件 a. 复用代码浏览 Blame 插件能力进行代码行 Git 信息查看 除了上述能力,Gitlink 还支持了在代码评审时快速修改代码:
|
||||
|
||||
![](/img/di_san_fang/WebIDE/代码评审.png)
|
||||
<center>代码评审时可修改代码</center>
|
||||
|
||||
## Gitlink Web IDE
|
||||
Gitlink 代码阅读场景虽然接入极速版 IDE 编辑器,但文件树、代码搜索、快捷键、IDE 皮肤、等均和平时开发时使用习惯的 IDE 差异较大,更有大部分用户仅仅是为了代码阅读将代码克隆到本地,尽管保证了一致的体验,但整个链路繁琐费时。
|
||||
基于这个洞察,蚂蚁云研发团队和 Gitlink 推出 Gitlink Web IDE,可以一键快速打开 Web IDE 访问阅读项目仓库代码,实现项目与 IDE 的无缝衔接,保持研发同学的日常偏好习惯,同时完美兼容 Gitlink 代码托管平台。更重要的是,通过无容器在浏览器上直接运行一个极速版 IDE,确保「秒开」的即时体验。
|
||||
|
||||
#### **1. 快速体验**
|
||||
从 Gitlink 仓库首页 Web IDE 入口即可体验
|
||||
![](/img/di_san_fang/WebIDE/WebIDE入口.png)
|
||||
<center>Gitlink WebIDE 入口</center>
|
||||
|
||||
#### **2. 代码浏览体验**
|
||||
与传统 IDE 一致的代码浏览体验。文件树、皮肤样式、快捷键一应俱全。
|
||||
#### **3. 语言功能**
|
||||
- 1.支持近 40 种语言的语法高亮
|
||||
- 2.支持 JavaScript/TypeScript、HTML、CSS、JSON、Markdown 的基于 LSP (Language Server Protocol) 语言特性功能,具备智能提示和大纲信息以及单文件内跳转。
|
||||
![](/img/di_san_fang/WebIDE/JS语言服务提示.png)
|
||||
<center>JS语言服务提示</center>
|
||||
|
||||
- 3. 提供了 Java、Go、Python、C++、Php 的在线语言服务能力,支持简单的定义跳转、查找引用等功能,让大家更加方便的阅读代码
|
||||
|
||||
![](/img/di_san_fang/WebIDE/python查看引用.png)
|
||||
<center>Python 查看引用</center>
|
||||
|
||||
#### **4. 分支新建与切换**
|
||||
点击左下角分支名即可新建/切换分支。
|
||||
|
||||
![](/img/di_san_fang/WebIDE/分支新建.png)
|
||||
<center>分支新建与切换</center>
|
||||
|
||||
|
||||
#### **5. 文件搜索**
|
||||
使用 CMD/Ctrl + P 唤起文件搜索面板
|
||||
|
||||
![](/img/di_san_fang/WebIDE/文件搜索.png)
|
||||
<center>文件搜索面板</center>
|
||||
|
||||
#### **6. 行高亮**
|
||||
持单行或多行高亮,点击行号即可高亮行,按住 Shift 可选中连续多行。
|
||||
![](/img/di_san_fang/WebIDE/多选行高亮.png)
|
||||
<center>多选行高亮</center>
|
||||
|
||||
#### **7. Blame**
|
||||
支持查看单行 blame 信息,hover 后可展示详细信息。
|
||||
![](/img/di_san_fang/WebIDE/Blame详细信息.png)
|
||||
<center>Blame详细信息</center>
|
||||
|
||||
#### **8. Graph**
|
||||
支持 graph 视图,可查看分支 commits 历史以及每个 commit 详细文件变更,并支持文件 diff 查看。底部状态栏左下角点击 Git Graph 或在命令面板输入 View Git Graph,即可打开 Git Graph 视图。
|
||||
![](/img/di_san_fang/WebIDE/Graph.png)
|
||||
<center>Graph 详细信息</center>
|
||||
|
||||
|
||||
#### **9.WebSCM**
|
||||
对于开发来说日常多个需求并行开发是非常常见的事,经常修改一些很小但必要的逻辑,而也许你本地环境已经在开发下一个需求,频繁的分支切换并行修改又容易出错。通过 Gitlink Web IDE 极速切换分支修改提交一气呵成,无需打断本地开发流程。
|
||||
![](/img/di_san_fang/WebIDE/WebSCM.png)
|
||||
<center>WebSCM</center>
|
||||
|
||||
|
||||
#### **10.代码在线运行**
|
||||
目前如果在没有容器的情况下,大部分应用只能运行前端代码。Gitlink Web IDE 集成了基于 skypack 的更加轻量的 CodeSwing 插件,可以在极速版去运行前端代码,并且代码版本是使用 Gitlink 来管理。结合上述 WebSCM 能力,甚至能在一分钟完成前端代码初始化、编写、预览和代码提交。
|
||||
![](/img/di_san_fang/WebIDE/前端代码.png)
|
||||
<center>前端代码运行</center>
|
||||
|
||||
随着 Webassembly 技术的发展,一些后端语言也可以运行在浏览器里,在 2021 年 Google IO 大会上,StackBlitz 展示了他们最近做的技术:WebContainer,该能力可以将语言运行时编译为 Webassembly 从而运行在浏览器上。Code-Runner-For-Web 插件结合 Pyodide,已经将 Python 的运行搬到了浏览器上,新版极速版也默认集成了该插件。
|
||||
![](/img/di_san_fang/WebIDE/Python代码运行.png)
|
||||
<center>Python代码运行</center>
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"label": "第三方服务",
|
||||
"position": 9
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
sidebar_label: '跨平台代码同步'
|
||||
sidebar_position: 2
|
||||
---
|
|
@ -0,0 +1,71 @@
|
|||
---
|
||||
sidebar_label: '重睛鸟代码溯源'
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
## 代码分析入口
|
||||
|
||||
![](/img/di_san_fang/重晴鸟代码溯源/代码分析入口.png)
|
||||
<center>代码分析入口</center>
|
||||
|
||||
页面说明:
|
||||
- 1、在"维基"与"动态"之间加入"服务"菜单,并设计前置icon。
|
||||
- 2、用户可点击"服务"菜单 tab 进入服务页面。
|
||||
- 3、仓库管理员可在"仓库设置" tab 中项目导航处开启/关闭代码分析菜单可见性,如下图:
|
||||
|
||||
![](/img/di_san_fang/重晴鸟代码溯源/项目导航.png)
|
||||
<center>项目导航</center>
|
||||
|
||||
## 代码分析检测
|
||||
![](/img/di_san_fang/重晴鸟代码溯源/代码分析检测.png)
|
||||
<center>代码分析检测</center>
|
||||
|
||||
页面说明:
|
||||
- 1、此页面为暂无历史分析记录时页面展示。
|
||||
- 2、"新建分析"按钮仅对仓库管理员可见。仓库开发者、观察者、游客访问此页面时,"新建分析"按钮不可见。
|
||||
- 3、点击"新建分析"按钮,需判断该仓库是否已签订协议(是否开启代码分析功能)。
|
||||
|
||||
## 代码分析协议签订
|
||||
![](/img/di_san_fang/重晴鸟代码溯源/代码分析协议签订.png)
|
||||
<center>代码分析协议签订</center>
|
||||
|
||||
页面说明:
|
||||
- 1、用户点击"新建分析"按钮,需判断该仓库是否已签订协议(是否开启代码分析功能),若未签订协议,则弹出签订协议弹窗。
|
||||
- 2、签订协议流程:
|
||||
①用户将垂直滚动条拉至最底部。
|
||||
②勾选阅读并同意协议条款。
|
||||
③点击同意协议(若未勾选"我已阅读并同意《用户协议及声明条款》",则"同意协议"按钮置灰)。
|
||||
- 3、用户勾选 CheckBox ,并点击"同意协议"按钮,逻辑上等同于代码溯源系统中新建一个账户。在页面交互上,相当于点击"新建分析"按钮弹出分支选择弹窗。
|
||||
|
||||
## 分支选择
|
||||
![](/img/di_san_fang/重晴鸟代码溯源/分支选择.png)
|
||||
<center>分支选择</center>
|
||||
|
||||
页面说明:
|
||||
- 1、用户点击“新建分析”按钮,弹出新建分析需要选择填写分支。
|
||||
- 2、图中检测类型、检测参数均为默认值,不允许用户修改,此处展示在界面上,仅起到提示用户,让用户知晓作用。
|
||||
- 3、点击此处“开始检测”即开启基于选中分支的检测,新建一个检测列表。
|
||||
|
||||
## 列表展示
|
||||
![](/img/di_san_fang/重晴鸟代码溯源/列表展示.png)
|
||||
<center>列表展示</center>
|
||||
|
||||
页面说明:
|
||||
- 1、当检测列表行数超过一行时,“新建分析”按钮左侧提供分支名称的筛选下拉框,下拉框内选项为列表中分支的集合。若本仓库有分支1、2、3、4、5,此列表中有分支3、4,则此处下拉框中分支类型仅为3、4。
|
||||
- 2、当新建分析任务正在检测中时,检测状态处有百分比进度条展示现有进度。
|
||||
- 3、点击“重新扫描”按钮,将弹出一条新建分析的弹窗,此弹窗保存所有上次已配置的分支信息,检测分支不可修改(分支下拉选中框置灰)。确认新建后,将新增一条检测数据。
|
||||
- 4、点击删除将出现二次确认弹框:“此操作将永久删除该检测记录,是否继续?”,用户点击确认后,此条检测记录将从列表中移除。
|
||||
|
||||
## 结果展示
|
||||
![](/img/di_san_fang/重晴鸟代码溯源/结果展示.png)
|
||||
<center>结果展示</center>
|
||||
页面说明:
|
||||
- 1、用户在代码检测"操作"列表点击"查看"按钮,将在当前页面展开结果展示页面。当用户再次点击"查看"按钮后,结果展示页面收回;当用户点击其他检测记录"查看"按钮后,将展开其他检测记录的结果页,收回当前已展开的结果展示页;
|
||||
- 2、当检测状态为"失败"状态,或当前处于"正在检测"状态时,"查看"按钮将置灰,处于无法点击状态;
|
||||
- 3、结果展示页取代码溯源已有页面,嵌入至 GitLink 即可,无需再次设计。
|
||||
|
||||
## 用户操作流程
|
||||
![](/img/di_san_fang/重晴鸟代码溯源/用户操作流程.png)
|
||||
<center>用户操作流程</center>
|
||||
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"label": "组织管理",
|
||||
"position": 3
|
||||
}
|
|
@ -0,0 +1,31 @@
|
|||
---
|
||||
sidebar_label: '组织创建及设置'
|
||||
sidebar_position: 2
|
||||
---
|
||||
# 组织创建(Organization Creation)
|
||||
|
||||
在 *https://www.gitlink.org.cn* 页面点击顶部导航栏的“+”符号可以进行组织新建操作。
|
||||
|
||||
![](/img/Org/imageOrg1.png)
|
||||
|
||||
在新建页面中输入**组织账号**、**组织名称**、**组织描述**、**所在地区**、**可见性**以及**组织头像**等信息后,点击“**创建组织**”按钮完成组织的创建。
|
||||
|
||||
![](/img/Org/imageOrg2.png)
|
||||
|
||||
## 组织账号
|
||||
|
||||
![](/img/Org/imageOrg4.png)
|
||||
|
||||
**注**:只能使用以字母、数字开头,包含字母、数字、下划线、横杠等,长度4到20个字符
|
||||
|
||||
## 组织名称与组织描述
|
||||
|
||||
![](/img/Org/imageOrg5.png)
|
||||
|
||||
**注**:此处为必填项,不得为空
|
||||
|
||||
## 可见性
|
||||
|
||||
![](/img/Org/imageOrg3.png)
|
||||
|
||||
**注**:可见性预设三类组织:公开、受限(仅对登录用户可见)、私有(仅对组织成员可见)。
|
|
@ -0,0 +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)
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
sidebar_label: '组织成员管理'
|
||||
sidebar_position: 4
|
||||
---
|
|
@ -0,0 +1,28 @@
|
|||
---
|
||||
sidebar_label: ‘组织简介’
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
# 组织简介
|
||||
|
||||
组织是共享帐户,其中业务和开源项目可同时跨多个项目进行协作,具有复杂的安全性和管理功能。多个个人帐户可以通过加入同一组织帐户来协作处理共享项目。
|
||||
|
||||
您的团队可以通过使用组织帐户在 GitLink 上进行协作,组织帐户充当共享工作的容器,并为工作赋予独特的名称和品牌。同时,平台支持组织在“组织详情”页面发布新闻动态,显示项目概览和仓库详情等内容
|
||||
|
||||
![](/img/Org/imageOrg6.png)
|
||||
|
||||
## 作为组织拥有者
|
||||
|
||||
有效管理组织,是您的使命。
|
||||
|
||||
组织提供了一个集中式的合作与共享中心,让您的团队一起工作,共享资源并实现更有效地沟通。
|
||||
|
||||
为了简化访问管理并增强协作,您可以创建能体现组结构的嵌套团队。您可以根据他们的角色或项目将人员分组,并分配任务。
|
||||
|
||||
![](/img/Org/imageOrg7.png)
|
||||
|
||||
平台同时支持组织拥有者管理对数据访问的自定义设置。
|
||||
|
||||
## 作为组织成员
|
||||
|
||||
您可以通过组织与无限数量的人在多个项目中协作,与志同道合的人一起,通过分工和写作,参与开发流程,发布或处理问题。
|
|
@ -0,0 +1,12 @@
|
|||
---
|
||||
sidebar_label: '组织项目管理'
|
||||
sidebar_position: 5
|
||||
---
|
||||
## 创建组织项目
|
||||
|
||||
点击组织信息页面中的“新建项目”按钮可以创建属于该组织的托管项目或者镜像项目。
|
||||
|
||||
![](/img/Org/imageOrg13.png)
|
||||
|
||||
**注**:在“拥有者”一栏的下拉选项中,可以选择:个人、组织、团队
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"label": "维基(Wiki)",
|
||||
"position": 7
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
sidebar_label: '模板导入及导出'
|
||||
sidebar_position: 2
|
||||
---
|
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
sidebar_label: '维基页面管理'
|
||||
sidebar_position: 1
|
||||
---
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"label": "通知",
|
||||
"position": 10
|
||||
}
|
|
@ -0,0 +1,29 @@
|
|||
---
|
||||
sidebar_label: '通知简介'
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
# 确实开源帮助中心
|
||||
|
||||
## 通知简介
|
||||
#### 1.通知类型
|
||||
GitLink将通知分为“系统通知”和“@我”的两种类型:
|
||||
* 系统通知包括“我的状态”、“我创建的或负责的”、“我管理的仓库”三种类型的通知:
|
||||
|
||||
| 系统通知类型 | 具体通知内容 |
|
||||
| ----------- | ----------- |
|
||||
| 我的状态 | 账号有权限变更;被拉入或移出组织;被拉入或移出项目;有新的疑修指派给我;有新的合并请求指派给我;|
|
||||
| 我创建的或负责的 | 疑修状态变更;合并请求状态变更;|
|
||||
| 我管理的仓库 | 有新的疑修;有新的合并请求;有成员变动;仓库设置被更改;|
|
||||
* “@我”的通知目前支持在用户首页、课程首页、项目首页的动态列表中使用@功能对用户进行通知:
|
||||
例,在项目首页提交疑修时,输入@后可以通过下拉列表选择@其他用户。
|
||||
![](/img/notice/@notice.png)
|
||||
|
||||
#### 2.查看通知
|
||||
登录后在平台右上角个人头像旁即可查看收到的通知数量;移动光标至通知按钮出现下拉列表可以分别查看“系统通知”和“@我”的通知;下拉列表右下角可以对所有消息进行一键已读;点击通知即可跳转至通知详情界面。
|
||||
![](/img/notice/home_notice2.png)
|
||||
<br/>
|
||||
|
||||
|
||||
点击通知按钮可以进入消息通知界面,“我的通知”界面可以进行“进查看未读消息”和“所有消息一键已读”的选择。
|
||||
![](/img/notice/my_notice2.png)
|
|
@ -0,0 +1,20 @@
|
|||
---
|
||||
sidebar_label: '通知设置'
|
||||
sidebar_position: 2
|
||||
---
|
||||
|
||||
|
||||
# 确实开源帮助中心
|
||||
|
||||
## 通知设置
|
||||
#### 1.进入通知设置界面
|
||||
通过点击首页的通知按钮进入通知设置界面;
|
||||
![](/img/notice/home_notice.png)
|
||||
<br/>
|
||||
或在头像下拉列表中选择设置可以进入消息通知设置界面;
|
||||
![](/img/notice/into_notice.png)
|
||||
|
||||
#### 2.进行通知设置
|
||||
通过“通知管理”可以对接受通知的方式进行设置,默认所有通知都是通过站内信的方式接受,可以通过勾选为重要的通知类型增加邮件接受方式。
|
||||
|
||||
![](/img/notice/notice_set.png)
|
|
@ -1,15 +1,12 @@
|
|||
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: '风雷',
|
||||
tagline:'风雷帮助中心',
|
||||
url: 'https://docs.osredm.com',
|
||||
baseUrl: '/phenglei',
|
||||
// url: 'http://127.0.0.1:3000',
|
||||
// baseUrl: '/',
|
||||
title: 'gitlink',
|
||||
tagline:'gitlink帮助中心',
|
||||
url: 'https://boxyhq.com',
|
||||
baseUrl: '/',
|
||||
onBrokenLinks: 'ignore',
|
||||
onBrokenMarkdownLinks: 'ignore',
|
||||
favicon: 'img/icon.ico',
|
||||
|
@ -18,12 +15,6 @@ module.exports = {
|
|||
scripts: [],
|
||||
// stylesheets: ['styles/dark-mode.css'],
|
||||
themeConfig: {
|
||||
metadata:[
|
||||
{name:"Keywords",content:"风雷,phenglei,PHengLEI,风雷帮助中心"},
|
||||
{name:"hostname",content:"https://www.osredm.com/PHengLEI"},
|
||||
{property:"og:site_name",content:"PHengLEI"},
|
||||
{property:"og:image:alt",content:"专注于风雷软件研发及开源社区生态建设,为实现我国CFD软件自主可控、自立自强贡献拳头力量"}
|
||||
],
|
||||
prism: {
|
||||
theme: lightCodeTheme,
|
||||
darkTheme: darkCodeTheme,
|
||||
|
@ -46,10 +37,10 @@ module.exports = {
|
|||
style:"dark",
|
||||
title: '',
|
||||
logo: {
|
||||
// width: '35px',
|
||||
alt: 'PHengLEI',
|
||||
src: 'img/fenglei.png',
|
||||
href:"https://osredm.com/"
|
||||
// width: '32px',
|
||||
// height: '32px',
|
||||
alt: 'gitlink',
|
||||
src: 'img/gitlink.png'
|
||||
// srcDark: 'img/logo-dark.png',
|
||||
},
|
||||
items: [
|
||||
|
@ -68,72 +59,71 @@ module.exports = {
|
|||
},
|
||||
footer: {
|
||||
style: 'dark',
|
||||
// logo:{
|
||||
// src:"img/hongshan.png"
|
||||
// },
|
||||
// links: [
|
||||
// {
|
||||
// title: '社区',
|
||||
// items: [
|
||||
// {
|
||||
// label: '网站首页',
|
||||
// to: 'https://osredm.com',
|
||||
// },
|
||||
// {
|
||||
// label: '关于我们',
|
||||
// to: 'https://osredm.com/aboutus',
|
||||
// },
|
||||
// {
|
||||
// label: '教学实践',
|
||||
// to: 'https://osredm.com/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: '官网邮箱:@',
|
||||
// to:"https://osredm.com"
|
||||
// },
|
||||
// {
|
||||
// label:'QQ群',
|
||||
// to:'https://osredm.com'
|
||||
// },
|
||||
// {
|
||||
// label:'公众号',
|
||||
// to:'https://osredm.com'
|
||||
// }
|
||||
// ],
|
||||
// },
|
||||
// ],
|
||||
//${new Date().getFullYear()}
|
||||
copyright: `<p style="display:flex;align-items:center;justify-content:center"><img src="/phenglei/img/email.png" width="18px"/>support@osredm.com<img src="/phenglei/img/position.png" style="margin-left:20px" width="15px"/>北京市海淀区西三环北路72号</p><p style="display:flex;align-items:center;justify-content:center">版权所有:红山开源社区<img src="/phenglei/img/police.png" style="width:16px;border-radius:10px;margin-right:5px;margin-left:30px"/>京公网安备 11010802034576 号京ICP备2021005060-1</p>`,
|
||||
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: [
|
||||
|
@ -142,7 +132,7 @@ module.exports = {
|
|||
{
|
||||
docs: {
|
||||
// sidebarPath: require.resolve('./sidebars.js'),
|
||||
editUrl:'https://osredm.com/osredm/PHengLEI-docs/tree/master/',
|
||||
editUrl:'https://www.gitlink.org.cn/Gitlink/gitlink_help_center/tree/master/',
|
||||
routeBasePath: "/",
|
||||
},
|
||||
theme: {
|
||||
|
@ -151,24 +141,8 @@ module.exports = {
|
|||
},
|
||||
],
|
||||
],
|
||||
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"],
|
||||
// ```
|
||||
},
|
||||
],
|
||||
plugins: [
|
||||
['@cmfcmf/docusaurus-search-local', {}],
|
||||
],
|
||||
i18n: {
|
||||
defaultLocale: 'zh-cn',
|
||||
|
|
|
@ -12,9 +12,7 @@
|
|||
"@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",
|
||||
|
@ -2642,46 +2640,6 @@
|
|||
"node": ">=16.14"
|
||||
}
|
||||
},
|
||||
"node_modules/@easyops-cn/autocomplete.js": {
|
||||
"version": "0.38.1",
|
||||
"resolved": "https://registry.npmmirror.com/@easyops-cn/autocomplete.js/-/autocomplete.js-0.38.1.tgz",
|
||||
"integrity": "sha512-drg76jS6syilOUmVNkyo1c7ZEBPcPuK+aJA7AksM5ZIIbV57DMHCywiCr+uHyv8BE5jUTU98j/H7gVrkHrWW3Q==",
|
||||
"dependencies": {
|
||||
"cssesc": "^3.0.0",
|
||||
"immediate": "^3.2.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@easyops-cn/docusaurus-search-local": {
|
||||
"version": "0.35.0",
|
||||
"resolved": "https://registry.npmmirror.com/@easyops-cn/docusaurus-search-local/-/docusaurus-search-local-0.35.0.tgz",
|
||||
"integrity": "sha512-sHQ8jxsVgHH8MNXJlj20nZZfP/Q0peNTAJwKCN2aPuBwfRIoO0i7LmZFaYKenZmVAW/BD2MtfVd65SREmm3zxg==",
|
||||
"dependencies": {
|
||||
"@docusaurus/plugin-content-docs": "^2.0.0-rc.1",
|
||||
"@docusaurus/theme-translations": "^2.0.0-rc.1",
|
||||
"@docusaurus/utils": "^2.0.0-rc.1",
|
||||
"@docusaurus/utils-common": "^2.0.0-rc.1",
|
||||
"@docusaurus/utils-validation": "^2.0.0-rc.1",
|
||||
"@easyops-cn/autocomplete.js": "^0.38.1",
|
||||
"@node-rs/jieba": "^1.6.0",
|
||||
"cheerio": "^1.0.0-rc.3",
|
||||
"clsx": "^1.1.1",
|
||||
"debug": "^4.2.0",
|
||||
"fs-extra": "^10.0.0",
|
||||
"klaw-sync": "^6.0.0",
|
||||
"lunr": "^2.3.9",
|
||||
"lunr-languages": "^1.4.0",
|
||||
"mark.js": "^8.11.1",
|
||||
"tslib": "^2.4.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@docusaurus/theme-common": "^2.0.0-rc.1",
|
||||
"react": "^16.14.0 || ^17.0.0 || ^18.0.0",
|
||||
"react-dom": "^16.14.0 || ^17.0.0 || ^18.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@hapi/hoek": {
|
||||
"version": "9.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz",
|
||||
|
@ -2916,224 +2874,6 @@
|
|||
"url": "https://opencollective.com/unified"
|
||||
}
|
||||
},
|
||||
"node_modules/@node-rs/jieba": {
|
||||
"version": "1.7.0",
|
||||
"resolved": "https://registry.npmmirror.com/@node-rs/jieba/-/jieba-1.7.0.tgz",
|
||||
"integrity": "sha512-Hm1JIlejxkWe1FSFZRns/g1j5hZmp357n+0n2BluABA4KLZ8EraHfPmPRmVMW6vbdMZObTYIVu5aVrPnUfBOxg==",
|
||||
"engines": {
|
||||
"node": ">= 10"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@node-rs/jieba-android-arm-eabi": "1.7.0",
|
||||
"@node-rs/jieba-android-arm64": "1.7.0",
|
||||
"@node-rs/jieba-darwin-arm64": "1.7.0",
|
||||
"@node-rs/jieba-darwin-x64": "1.7.0",
|
||||
"@node-rs/jieba-freebsd-x64": "1.7.0",
|
||||
"@node-rs/jieba-linux-arm-gnueabihf": "1.7.0",
|
||||
"@node-rs/jieba-linux-arm64-gnu": "1.7.0",
|
||||
"@node-rs/jieba-linux-arm64-musl": "1.7.0",
|
||||
"@node-rs/jieba-linux-x64-gnu": "1.7.0",
|
||||
"@node-rs/jieba-linux-x64-musl": "1.7.0",
|
||||
"@node-rs/jieba-win32-arm64-msvc": "1.7.0",
|
||||
"@node-rs/jieba-win32-ia32-msvc": "1.7.0",
|
||||
"@node-rs/jieba-win32-x64-msvc": "1.7.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@node-rs/jieba-android-arm-eabi": {
|
||||
"version": "1.7.0",
|
||||
"resolved": "https://registry.npmmirror.com/@node-rs/jieba-android-arm-eabi/-/jieba-android-arm-eabi-1.7.0.tgz",
|
||||
"integrity": "sha512-XF4OYcZCyDiBK+jm1Zmt2o+xEO7K2K5OvUC3MTc9jd3Lwvy3EdHp8tpGvEp8PxfVFe2/JxNzX4OQQQP3Dhmk9A==",
|
||||
"cpu": [
|
||||
"arm"
|
||||
],
|
||||
"optional": true,
|
||||
"os": [
|
||||
"android"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">= 10"
|
||||
}
|
||||
},
|
||||
"node_modules/@node-rs/jieba-android-arm64": {
|
||||
"version": "1.7.0",
|
||||
"resolved": "https://registry.npmmirror.com/@node-rs/jieba-android-arm64/-/jieba-android-arm64-1.7.0.tgz",
|
||||
"integrity": "sha512-9oWwFVr/37T89WC+jjiI9A6u0zUJNTJl5ZC4CMxX45MVMokWI7bBXU7t7qBmMdFBzj+OFwDd3sm1fh4vl7NSWA==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"optional": true,
|
||||
"os": [
|
||||
"android"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">= 10"
|
||||
}
|
||||
},
|
||||
"node_modules/@node-rs/jieba-darwin-arm64": {
|
||||
"version": "1.7.0",
|
||||
"resolved": "https://registry.npmmirror.com/@node-rs/jieba-darwin-arm64/-/jieba-darwin-arm64-1.7.0.tgz",
|
||||
"integrity": "sha512-9gBuxJCNITNI/gU5l8eeVGQ9MAf0BV86lfeo9TeU61vJCy6sqyx26wFMLODQgLNdiMP+q/fZme/G0hfZUjfPVA==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"optional": true,
|
||||
"os": [
|
||||
"darwin"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">= 10"
|
||||
}
|
||||
},
|
||||
"node_modules/@node-rs/jieba-darwin-x64": {
|
||||
"version": "1.7.0",
|
||||
"resolved": "https://registry.npmmirror.com/@node-rs/jieba-darwin-x64/-/jieba-darwin-x64-1.7.0.tgz",
|
||||
"integrity": "sha512-FFUSMY4tl0Prpxa1SHy7Yzze2KfV/bZzccpO5nd+a8zCKbiX6gVkJ89FfxSAD2QrXUGkZvJYiPmu5nkZItqRZQ==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"optional": true,
|
||||
"os": [
|
||||
"darwin"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">= 10"
|
||||
}
|
||||
},
|
||||
"node_modules/@node-rs/jieba-freebsd-x64": {
|
||||
"version": "1.7.0",
|
||||
"resolved": "https://registry.npmmirror.com/@node-rs/jieba-freebsd-x64/-/jieba-freebsd-x64-1.7.0.tgz",
|
||||
"integrity": "sha512-QFz2pz0Br+621QbKkgQPqTn90j1kcCD9jaI++qTLNHJGlWLRn6sFoAjb+jQEQEy9aE7VqfIV56eaVcCoU5VO2w==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"optional": true,
|
||||
"os": [
|
||||
"freebsd"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">= 10"
|
||||
}
|
||||
},
|
||||
"node_modules/@node-rs/jieba-linux-arm-gnueabihf": {
|
||||
"version": "1.7.0",
|
||||
"resolved": "https://registry.npmmirror.com/@node-rs/jieba-linux-arm-gnueabihf/-/jieba-linux-arm-gnueabihf-1.7.0.tgz",
|
||||
"integrity": "sha512-kHJxO2sd7gMKqI1YS5DjABEcRwRemaCtgbKSuUqEaHGmUz9nAaUF6FSY8U4rXwr7HXt+kQa4NgyYDjgz+Pscrw==",
|
||||
"cpu": [
|
||||
"arm"
|
||||
],
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">= 10"
|
||||
}
|
||||
},
|
||||
"node_modules/@node-rs/jieba-linux-arm64-gnu": {
|
||||
"version": "1.7.0",
|
||||
"resolved": "https://registry.npmmirror.com/@node-rs/jieba-linux-arm64-gnu/-/jieba-linux-arm64-gnu-1.7.0.tgz",
|
||||
"integrity": "sha512-3qoCV9pF6llPBGDMu7K8JdHjI10WPkrq6P2gpZESqekcE4DatV6DcU9FWR+QL7MK/7meoE3/Zhjm7OK+qBd8gg==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">= 10"
|
||||
}
|
||||
},
|
||||
"node_modules/@node-rs/jieba-linux-arm64-musl": {
|
||||
"version": "1.7.0",
|
||||
"resolved": "https://registry.npmmirror.com/@node-rs/jieba-linux-arm64-musl/-/jieba-linux-arm64-musl-1.7.0.tgz",
|
||||
"integrity": "sha512-xv6hvzOV7iTCq7mM8SWhC3zEk6CqmBwhOSlfbb3gvPkc4U1UA1hmvcrD7oO5Qn+U+nuswysGCdVU6Z5AypLDfg==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">= 10"
|
||||
}
|
||||
},
|
||||
"node_modules/@node-rs/jieba-linux-x64-gnu": {
|
||||
"version": "1.7.0",
|
||||
"resolved": "https://registry.npmmirror.com/@node-rs/jieba-linux-x64-gnu/-/jieba-linux-x64-gnu-1.7.0.tgz",
|
||||
"integrity": "sha512-NpelWidMSNLoFTw+ov3y5jhJZjapHwEnh0Fyfm/7mvqkdwzVyedqNj22etRGum+nsAosMotCUWUznIMAD075gQ==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">= 10"
|
||||
}
|
||||
},
|
||||
"node_modules/@node-rs/jieba-linux-x64-musl": {
|
||||
"version": "1.7.0",
|
||||
"resolved": "https://registry.npmmirror.com/@node-rs/jieba-linux-x64-musl/-/jieba-linux-x64-musl-1.7.0.tgz",
|
||||
"integrity": "sha512-yG4F8sy+fW4RbhyKXmEMT/JGuQuKH0TGymCEGYgT0km2I60iys63jWf2VTzCtrx583wxN5XoHv5HN60nhtIBtw==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">= 10"
|
||||
}
|
||||
},
|
||||
"node_modules/@node-rs/jieba-win32-arm64-msvc": {
|
||||
"version": "1.7.0",
|
||||
"resolved": "https://registry.npmmirror.com/@node-rs/jieba-win32-arm64-msvc/-/jieba-win32-arm64-msvc-1.7.0.tgz",
|
||||
"integrity": "sha512-R6l/BSMs6R6BwpZS6DIDZuAEjUIPdAHgyi+xptP3mICjm6U+GMsvsRTeZkIJ7a/yzYUfqvz54VpQsfE5f0psBQ==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"optional": true,
|
||||
"os": [
|
||||
"win32"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">= 10"
|
||||
}
|
||||
},
|
||||
"node_modules/@node-rs/jieba-win32-ia32-msvc": {
|
||||
"version": "1.7.0",
|
||||
"resolved": "https://registry.npmmirror.com/@node-rs/jieba-win32-ia32-msvc/-/jieba-win32-ia32-msvc-1.7.0.tgz",
|
||||
"integrity": "sha512-FwibbuizEjzom02K2JM2T8tL0VlxW5xGDDy3L3dgx46xIGE85PwGYjgju+eDt4UODgxDsxGC4DUMMZf3XvCc7A==",
|
||||
"cpu": [
|
||||
"ia32"
|
||||
],
|
||||
"optional": true,
|
||||
"os": [
|
||||
"win32"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">= 10"
|
||||
}
|
||||
},
|
||||
"node_modules/@node-rs/jieba-win32-x64-msvc": {
|
||||
"version": "1.7.0",
|
||||
"resolved": "https://registry.npmmirror.com/@node-rs/jieba-win32-x64-msvc/-/jieba-win32-x64-msvc-1.7.0.tgz",
|
||||
"integrity": "sha512-pJv7nluB6azhsOWvJB86Dyfg/M7n9k49bs9Bwmsylz9uhdZX9QnEShDW934RdmnjPYQ5aPgsSFrY6NXP/aovUA==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"optional": true,
|
||||
"os": [
|
||||
"win32"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">= 10"
|
||||
}
|
||||
},
|
||||
"node_modules/@nodelib/fs.scandir": {
|
||||
"version": "2.1.5",
|
||||
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
|
||||
|
@ -7290,11 +7030,6 @@
|
|||
"node": ">=14.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/immediate": {
|
||||
"version": "3.3.0",
|
||||
"resolved": "https://registry.npmmirror.com/immediate/-/immediate-3.3.0.tgz",
|
||||
"integrity": "sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q=="
|
||||
},
|
||||
"node_modules/immer": {
|
||||
"version": "9.0.16",
|
||||
"resolved": "https://registry.npmjs.org/immer/-/immer-9.0.16.tgz",
|
||||
|
@ -7850,14 +7585,6 @@
|
|||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/klaw-sync": {
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmmirror.com/klaw-sync/-/klaw-sync-6.0.0.tgz",
|
||||
"integrity": "sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==",
|
||||
"dependencies": {
|
||||
"graceful-fs": "^4.1.11"
|
||||
}
|
||||
},
|
||||
"node_modules/kleur": {
|
||||
"version": "3.0.3",
|
||||
"resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz",
|
||||
|
@ -8006,11 +7733,6 @@
|
|||
"node": ">=10"
|
||||
}
|
||||
},
|
||||
"node_modules/lunr": {
|
||||
"version": "2.3.9",
|
||||
"resolved": "https://registry.npmmirror.com/lunr/-/lunr-2.3.9.tgz",
|
||||
"integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow=="
|
||||
},
|
||||
"node_modules/lunr-languages": {
|
||||
"version": "1.10.0",
|
||||
"resolved": "https://registry.npmjs.org/lunr-languages/-/lunr-languages-1.10.0.tgz",
|
||||
|
@ -14754,38 +14476,6 @@
|
|||
"tslib": "^2.4.0"
|
||||
}
|
||||
},
|
||||
"@easyops-cn/autocomplete.js": {
|
||||
"version": "0.38.1",
|
||||
"resolved": "https://registry.npmmirror.com/@easyops-cn/autocomplete.js/-/autocomplete.js-0.38.1.tgz",
|
||||
"integrity": "sha512-drg76jS6syilOUmVNkyo1c7ZEBPcPuK+aJA7AksM5ZIIbV57DMHCywiCr+uHyv8BE5jUTU98j/H7gVrkHrWW3Q==",
|
||||
"requires": {
|
||||
"cssesc": "^3.0.0",
|
||||
"immediate": "^3.2.3"
|
||||
}
|
||||
},
|
||||
"@easyops-cn/docusaurus-search-local": {
|
||||
"version": "0.35.0",
|
||||
"resolved": "https://registry.npmmirror.com/@easyops-cn/docusaurus-search-local/-/docusaurus-search-local-0.35.0.tgz",
|
||||
"integrity": "sha512-sHQ8jxsVgHH8MNXJlj20nZZfP/Q0peNTAJwKCN2aPuBwfRIoO0i7LmZFaYKenZmVAW/BD2MtfVd65SREmm3zxg==",
|
||||
"requires": {
|
||||
"@docusaurus/plugin-content-docs": "^2.0.0-rc.1",
|
||||
"@docusaurus/theme-translations": "^2.0.0-rc.1",
|
||||
"@docusaurus/utils": "^2.0.0-rc.1",
|
||||
"@docusaurus/utils-common": "^2.0.0-rc.1",
|
||||
"@docusaurus/utils-validation": "^2.0.0-rc.1",
|
||||
"@easyops-cn/autocomplete.js": "^0.38.1",
|
||||
"@node-rs/jieba": "^1.6.0",
|
||||
"cheerio": "^1.0.0-rc.3",
|
||||
"clsx": "^1.1.1",
|
||||
"debug": "^4.2.0",
|
||||
"fs-extra": "^10.0.0",
|
||||
"klaw-sync": "^6.0.0",
|
||||
"lunr": "^2.3.9",
|
||||
"lunr-languages": "^1.4.0",
|
||||
"mark.js": "^8.11.1",
|
||||
"tslib": "^2.4.0"
|
||||
}
|
||||
},
|
||||
"@hapi/hoek": {
|
||||
"version": "9.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz",
|
||||
|
@ -14972,104 +14662,6 @@
|
|||
"resolved": "https://registry.npmjs.org/@mdx-js/util/-/util-1.6.22.tgz",
|
||||
"integrity": "sha512-H1rQc1ZOHANWBvPcW+JpGwr+juXSxM8Q8YCkm3GhZd8REu1fHR3z99CErO1p9pkcfcxZnMdIZdIsXkOHY0NilA=="
|
||||
},
|
||||
"@node-rs/jieba": {
|
||||
"version": "1.7.0",
|
||||
"resolved": "https://registry.npmmirror.com/@node-rs/jieba/-/jieba-1.7.0.tgz",
|
||||
"integrity": "sha512-Hm1JIlejxkWe1FSFZRns/g1j5hZmp357n+0n2BluABA4KLZ8EraHfPmPRmVMW6vbdMZObTYIVu5aVrPnUfBOxg==",
|
||||
"requires": {
|
||||
"@node-rs/jieba-android-arm-eabi": "1.7.0",
|
||||
"@node-rs/jieba-android-arm64": "1.7.0",
|
||||
"@node-rs/jieba-darwin-arm64": "1.7.0",
|
||||
"@node-rs/jieba-darwin-x64": "1.7.0",
|
||||
"@node-rs/jieba-freebsd-x64": "1.7.0",
|
||||
"@node-rs/jieba-linux-arm-gnueabihf": "1.7.0",
|
||||
"@node-rs/jieba-linux-arm64-gnu": "1.7.0",
|
||||
"@node-rs/jieba-linux-arm64-musl": "1.7.0",
|
||||
"@node-rs/jieba-linux-x64-gnu": "1.7.0",
|
||||
"@node-rs/jieba-linux-x64-musl": "1.7.0",
|
||||
"@node-rs/jieba-win32-arm64-msvc": "1.7.0",
|
||||
"@node-rs/jieba-win32-ia32-msvc": "1.7.0",
|
||||
"@node-rs/jieba-win32-x64-msvc": "1.7.0"
|
||||
}
|
||||
},
|
||||
"@node-rs/jieba-android-arm-eabi": {
|
||||
"version": "1.7.0",
|
||||
"resolved": "https://registry.npmmirror.com/@node-rs/jieba-android-arm-eabi/-/jieba-android-arm-eabi-1.7.0.tgz",
|
||||
"integrity": "sha512-XF4OYcZCyDiBK+jm1Zmt2o+xEO7K2K5OvUC3MTc9jd3Lwvy3EdHp8tpGvEp8PxfVFe2/JxNzX4OQQQP3Dhmk9A==",
|
||||
"optional": true
|
||||
},
|
||||
"@node-rs/jieba-android-arm64": {
|
||||
"version": "1.7.0",
|
||||
"resolved": "https://registry.npmmirror.com/@node-rs/jieba-android-arm64/-/jieba-android-arm64-1.7.0.tgz",
|
||||
"integrity": "sha512-9oWwFVr/37T89WC+jjiI9A6u0zUJNTJl5ZC4CMxX45MVMokWI7bBXU7t7qBmMdFBzj+OFwDd3sm1fh4vl7NSWA==",
|
||||
"optional": true
|
||||
},
|
||||
"@node-rs/jieba-darwin-arm64": {
|
||||
"version": "1.7.0",
|
||||
"resolved": "https://registry.npmmirror.com/@node-rs/jieba-darwin-arm64/-/jieba-darwin-arm64-1.7.0.tgz",
|
||||
"integrity": "sha512-9gBuxJCNITNI/gU5l8eeVGQ9MAf0BV86lfeo9TeU61vJCy6sqyx26wFMLODQgLNdiMP+q/fZme/G0hfZUjfPVA==",
|
||||
"optional": true
|
||||
},
|
||||
"@node-rs/jieba-darwin-x64": {
|
||||
"version": "1.7.0",
|
||||
"resolved": "https://registry.npmmirror.com/@node-rs/jieba-darwin-x64/-/jieba-darwin-x64-1.7.0.tgz",
|
||||
"integrity": "sha512-FFUSMY4tl0Prpxa1SHy7Yzze2KfV/bZzccpO5nd+a8zCKbiX6gVkJ89FfxSAD2QrXUGkZvJYiPmu5nkZItqRZQ==",
|
||||
"optional": true
|
||||
},
|
||||
"@node-rs/jieba-freebsd-x64": {
|
||||
"version": "1.7.0",
|
||||
"resolved": "https://registry.npmmirror.com/@node-rs/jieba-freebsd-x64/-/jieba-freebsd-x64-1.7.0.tgz",
|
||||
"integrity": "sha512-QFz2pz0Br+621QbKkgQPqTn90j1kcCD9jaI++qTLNHJGlWLRn6sFoAjb+jQEQEy9aE7VqfIV56eaVcCoU5VO2w==",
|
||||
"optional": true
|
||||
},
|
||||
"@node-rs/jieba-linux-arm-gnueabihf": {
|
||||
"version": "1.7.0",
|
||||
"resolved": "https://registry.npmmirror.com/@node-rs/jieba-linux-arm-gnueabihf/-/jieba-linux-arm-gnueabihf-1.7.0.tgz",
|
||||
"integrity": "sha512-kHJxO2sd7gMKqI1YS5DjABEcRwRemaCtgbKSuUqEaHGmUz9nAaUF6FSY8U4rXwr7HXt+kQa4NgyYDjgz+Pscrw==",
|
||||
"optional": true
|
||||
},
|
||||
"@node-rs/jieba-linux-arm64-gnu": {
|
||||
"version": "1.7.0",
|
||||
"resolved": "https://registry.npmmirror.com/@node-rs/jieba-linux-arm64-gnu/-/jieba-linux-arm64-gnu-1.7.0.tgz",
|
||||
"integrity": "sha512-3qoCV9pF6llPBGDMu7K8JdHjI10WPkrq6P2gpZESqekcE4DatV6DcU9FWR+QL7MK/7meoE3/Zhjm7OK+qBd8gg==",
|
||||
"optional": true
|
||||
},
|
||||
"@node-rs/jieba-linux-arm64-musl": {
|
||||
"version": "1.7.0",
|
||||
"resolved": "https://registry.npmmirror.com/@node-rs/jieba-linux-arm64-musl/-/jieba-linux-arm64-musl-1.7.0.tgz",
|
||||
"integrity": "sha512-xv6hvzOV7iTCq7mM8SWhC3zEk6CqmBwhOSlfbb3gvPkc4U1UA1hmvcrD7oO5Qn+U+nuswysGCdVU6Z5AypLDfg==",
|
||||
"optional": true
|
||||
},
|
||||
"@node-rs/jieba-linux-x64-gnu": {
|
||||
"version": "1.7.0",
|
||||
"resolved": "https://registry.npmmirror.com/@node-rs/jieba-linux-x64-gnu/-/jieba-linux-x64-gnu-1.7.0.tgz",
|
||||
"integrity": "sha512-NpelWidMSNLoFTw+ov3y5jhJZjapHwEnh0Fyfm/7mvqkdwzVyedqNj22etRGum+nsAosMotCUWUznIMAD075gQ==",
|
||||
"optional": true
|
||||
},
|
||||
"@node-rs/jieba-linux-x64-musl": {
|
||||
"version": "1.7.0",
|
||||
"resolved": "https://registry.npmmirror.com/@node-rs/jieba-linux-x64-musl/-/jieba-linux-x64-musl-1.7.0.tgz",
|
||||
"integrity": "sha512-yG4F8sy+fW4RbhyKXmEMT/JGuQuKH0TGymCEGYgT0km2I60iys63jWf2VTzCtrx583wxN5XoHv5HN60nhtIBtw==",
|
||||
"optional": true
|
||||
},
|
||||
"@node-rs/jieba-win32-arm64-msvc": {
|
||||
"version": "1.7.0",
|
||||
"resolved": "https://registry.npmmirror.com/@node-rs/jieba-win32-arm64-msvc/-/jieba-win32-arm64-msvc-1.7.0.tgz",
|
||||
"integrity": "sha512-R6l/BSMs6R6BwpZS6DIDZuAEjUIPdAHgyi+xptP3mICjm6U+GMsvsRTeZkIJ7a/yzYUfqvz54VpQsfE5f0psBQ==",
|
||||
"optional": true
|
||||
},
|
||||
"@node-rs/jieba-win32-ia32-msvc": {
|
||||
"version": "1.7.0",
|
||||
"resolved": "https://registry.npmmirror.com/@node-rs/jieba-win32-ia32-msvc/-/jieba-win32-ia32-msvc-1.7.0.tgz",
|
||||
"integrity": "sha512-FwibbuizEjzom02K2JM2T8tL0VlxW5xGDDy3L3dgx46xIGE85PwGYjgju+eDt4UODgxDsxGC4DUMMZf3XvCc7A==",
|
||||
"optional": true
|
||||
},
|
||||
"@node-rs/jieba-win32-x64-msvc": {
|
||||
"version": "1.7.0",
|
||||
"resolved": "https://registry.npmmirror.com/@node-rs/jieba-win32-x64-msvc/-/jieba-win32-x64-msvc-1.7.0.tgz",
|
||||
"integrity": "sha512-pJv7nluB6azhsOWvJB86Dyfg/M7n9k49bs9Bwmsylz9uhdZX9QnEShDW934RdmnjPYQ5aPgsSFrY6NXP/aovUA==",
|
||||
"optional": true
|
||||
},
|
||||
"@nodelib/fs.scandir": {
|
||||
"version": "2.1.5",
|
||||
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
|
||||
|
@ -18153,11 +17745,6 @@
|
|||
"queue": "6.0.2"
|
||||
}
|
||||
},
|
||||
"immediate": {
|
||||
"version": "3.3.0",
|
||||
"resolved": "https://registry.npmmirror.com/immediate/-/immediate-3.3.0.tgz",
|
||||
"integrity": "sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q=="
|
||||
},
|
||||
"immer": {
|
||||
"version": "9.0.16",
|
||||
"resolved": "https://registry.npmjs.org/immer/-/immer-9.0.16.tgz",
|
||||
|
@ -18538,14 +18125,6 @@
|
|||
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
|
||||
"integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw=="
|
||||
},
|
||||
"klaw-sync": {
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmmirror.com/klaw-sync/-/klaw-sync-6.0.0.tgz",
|
||||
"integrity": "sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==",
|
||||
"requires": {
|
||||
"graceful-fs": "^4.1.11"
|
||||
}
|
||||
},
|
||||
"kleur": {
|
||||
"version": "3.0.3",
|
||||
"resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz",
|
||||
|
@ -18661,11 +18240,6 @@
|
|||
"yallist": "^4.0.0"
|
||||
}
|
||||
},
|
||||
"lunr": {
|
||||
"version": "2.3.9",
|
||||
"resolved": "https://registry.npmmirror.com/lunr/-/lunr-2.3.9.tgz",
|
||||
"integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow=="
|
||||
},
|
||||
"lunr-languages": {
|
||||
"version": "1.10.0",
|
||||
"resolved": "https://registry.npmjs.org/lunr-languages/-/lunr-languages-1.10.0.tgz",
|
||||
|
|
|
@ -18,9 +18,7 @@
|
|||
"@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",
|
||||
|
|
|
@ -15,11 +15,9 @@
|
|||
--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);
|
||||
padding-left: 40px;
|
||||
}
|
||||
.navbar__link--active,a:hover,.menu__link--active{
|
||||
color: rgba(70, 106, 255, 1)!important;
|
||||
|
@ -45,14 +43,10 @@ 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; */
|
||||
height: 473px;
|
||||
position: relative;
|
||||
background: #1e1e1e;
|
||||
padding:0px;
|
||||
}
|
||||
.container{
|
||||
height: 100%;
|
||||
|
@ -111,10 +105,6 @@ html[data-theme='dark'] .docusaurus-highlight-code-line {
|
|||
}
|
||||
.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;
|
||||
|
|
After Width: | Height: | Size: 91 KiB |
After Width: | Height: | Size: 137 KiB |
After Width: | Height: | Size: 95 KiB |
After Width: | Height: | Size: 95 KiB |
After Width: | Height: | Size: 128 KiB |
After Width: | Height: | Size: 4.9 KiB |
After Width: | Height: | Size: 104 KiB |
After Width: | Height: | Size: 101 KiB |
After Width: | Height: | Size: 94 KiB |
After Width: | Height: | Size: 52 KiB |
After Width: | Height: | Size: 121 KiB |
After Width: | Height: | Size: 6.3 KiB |
After Width: | Height: | Size: 4.6 KiB |
After Width: | Height: | Size: 7.7 KiB |
After Width: | Height: | Size: 71 KiB |
After Width: | Height: | Size: 47 KiB |
After Width: | Height: | Size: 130 KiB |
After Width: | Height: | Size: 152 KiB |
After Width: | Height: | Size: 167 KiB |
After Width: | Height: | Size: 33 KiB |
After Width: | Height: | Size: 37 KiB |
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 45 KiB |
After Width: | Height: | Size: 40 KiB |
After Width: | Height: | Size: 42 KiB |