diff --git a/.github/workflows/pull_preview.yml b/.github/workflows/pull_preview.yml
index 78271b4..b6a0cf1 100644
--- a/.github/workflows/pull_preview.yml
+++ b/.github/workflows/pull_preview.yml
@@ -74,4 +74,4 @@ jobs:
uses: peter-evans/create-or-update-comment@v4
with:
issue-number: ${{ github.event.issue.number }}
- body: 🪧The website for this PR is deployed at https://open-digger.cn${{ secrets.OSS_TARGET_PATH }}pull_${{ github.event.issue.number }}/
+ body: 🪧The website for this PR is deployed at https://open-digger.cn${{ secrets.OSS_TARGET_PATH }}pull_${{ github.event.issue.number }}/
\ No newline at end of file
diff --git a/docs/user_docs/intro.md b/docs/user_docs/intro.md
index 4f790bd..4a39583 100644
--- a/docs/user_docs/intro.md
+++ b/docs/user_docs/intro.md
@@ -12,311 +12,361 @@ OpenDigger 实现的所有指标对所有人开放使用, 您可以通过以下
[![](https://img.shields.io/badge/Data-OpenDigger-2097FF)](https://github.com/X-lab2017/open-digger)
-### 仓库指标
-
-
-
-### 开发者指标
-
-
+
+
+ OpenRank
+
+
+
+
+
+ 统计指标
+
+
+
+
+
+ 开发者
+
+
+
+
+
+ 问题
+
+
+
+
+
+ 变更请求
+
+
+
## 用户案例
-对于以上数据,OpenDigger 目前有一些用户。
+对于以上数据,OpenDigger 目前有一些用户与合作伙伴。
### 应用
-- [OpenLeaderboard](https://open-leaderboard.x-lab.info/): 带有标签数据的 Github 排行榜
-- [HyperCRX](https://github.com/hypertrons/hypertrons-crx): 对查看 Github 用户和仓库有帮助的浏览器插件
-- [Mulan Dashboard](http://dataease.nzcer.cn/link/1VxPsUCX): 用于 [木兰社区](https://portal.mulanos.cn/) 的仪表板.
-- [Hacking Force China](https://opensource.win/): 与 [思否](https://segmentfault.com/) 合作发布的 Github 中国开发者排行榜
+- [OpenLeaderboard](https://open-leaderboard.x-lab.info/):带有标签数据的开源项目、开发者、企业等排行榜
+- [HyperCRX](https://github.com/hypertrons/hypertrons-crx):对查看 GitHub 用户和仓库有帮助的浏览器插件,对应[论文](https://dl.acm.org/doi/10.1145/3643916.3644440)
+- [OpenGalaxy](https://open-galaxy.x-lab.info/):开源全景星系项目,对应[论文](https://dl.acm.org/doi/10.1145/3643916.3644441)
+- [中国开源码力榜](https://opensource.win/):与[思否](https://segmentfault.com/)合作发布的 GitHub 中国开发者排行榜
+- [PolarDB 开源社区洞察大屏](https://polardbx.com/dataPanorama):与 PolarDB 社区合作的开源洞察大屏
+- [OSGraph](https://osgraph.com/):与 [TuGraph](https://www.tugraph.tech/) 合作发布的开源行为图谱项目
### 开源报告
-- [2021中国开源报告](https://kaiyuanshe.cn/document/china-os-report-2021/): 中国最全面的开源报告 [开源社](https://kaiyuanshe.cn/).
-- [2022中国开源蓝皮书](http://www.copu.org.cn/new/308): 中国开源开发蓝皮书 [COPU](http://www.copu.org.cn/).
-- [开源大数据热力报告](https://github.com/X-lab2017/open-digger/blob/master/cooperations/big_data_open_source_heat_report/开源大数据热力报告2022.pdf): 大数据领域内开源项目热力报告
+- 中国开源年度报告:由[开源社](https://kaiyuanshe.cn/)发布的中国开源年度报告
+ - [2021 中国开源年度报告](https://kaiyuanshe.cn/document/china-os-report-2021/)
+ - [2022 中国开源年度报告](https://kaiyuanshe.cn/article/2022-China-Open-Source-Annual-Report)
+ - [2023 中国开源年度报告](https://kaiyuanshe.cn/article/Year-of-the-Dragon-Ceremony-2023-China-Open-Source-Annual-Report)
+- 中国开源发展蓝皮书:由 [COPU](http://www.copu.org.cn/) 发布的中国开源年度报告
+ - [2021 中国开源发展蓝皮书](http://www.cosspu.org.cn/download/showdownload.php?id=26)
+ - [2022 中国开源发展蓝皮书](http://www.cosspu.org.cn/download/showdownload.php?id=27)
+ - [2023 中国开源发展蓝皮书](http://www.cosspu.org.cn/download/showdownload.php?id=25)
+- [开源大数据热力报告](https://github.com/X-lab2017/open-digger/blob/master/cooperations/big_data_open_source_heat_report/开源大数据热力报告2022.pdf):大数据领域内开源项目热力报告
## 活动
OpenDigger 社区也主办或参加社区间的合作活动,如竞赛或黑客松。
- [开放原子开源大赛 OpenDigger 开源软件生态数据分析挖掘平台挑战赛](https://competition.atomgit.com/competitionInfo?id=bc6603e0b8bf11ed804e6b78b4426d45)。
-- [第三届 PaddlePaddle 黑客松](https://www.paddlepaddle.org.cn/PaddlePaddleHackathon-2022-6),黑客马拉松的最终报告在 [这里](https://github.com/X-lab2017/open-digger/tree/master/cooperations/paddle_hackathon_3rd)。
+- [第三届 PaddlePaddle 黑客松](https://www.paddlepaddle.org.cn/PaddlePaddleHackathon-2022-6),黑客马拉松的最终报告在[这里](https://github.com/X-lab2017/open-digger/tree/master/cooperations/paddle_hackathon_3rd)。
## 数据
### GitHub 全域日志数据
-我们使用 [GHArchive](https://www.gharchive.org/) 作为 GitHub 日志数据源,数据服务由 X-lab 维护的 [ClickHouse](https://clickhouse.tech/) 云服务。关于数据的详细细节,请查看[数据](/docs/user_docs/intro)文档。
+我们使用 [GHArchive](https://www.gharchive.org/) 作为 GitHub 日志数据源,数据服务由 X-lab 维护的 [ClickHouse](https://clickhouse.tech/) 云服务。关于数据的详细细节,请查看[数据](intro)文档。
### 标签数据
-为了进行更深入的分析,我们正在收集打过标签的数据。您可以在 “labeled_data” 文件夹中查看相应的数据。关于数据的详细细节,请查看[标签数据](/docs/user_docs/intro) 文档。
+为了进行更深入的分析,我们正在收集打过标签的数据。您可以在 “labeled_data” 文件夹中查看相应的数据。关于数据的详细细节,请查看[标签数据](intro) 文档。
### 采样数据集
-OpenDigger 提供 ClickHouse 示例数据和 Jupyter notebook,从而可以在本地环境运行 OpenDigger,详情可参考 [示例数据文档](/docs/user_docs/intro)。
+OpenDigger 提供 ClickHouse 示例数据和 Jupyter notebook,从而可以在本地环境运行 OpenDigger,详情可参考 [示例数据文档](intro)。
## 贡献指南
-在对项目贡献之前,请务必查阅我们的[贡献指南](/docs/user_docs/intro)。
+在对项目贡献之前,请务必查阅我们的[贡献指南](intro)。
## 沟通
diff --git a/docs/user_docs/metrics/change_request_reviews.md b/docs/user_docs/metrics/change_request_reviews.md
new file mode 100644
index 0000000..d5f699b
--- /dev/null
+++ b/docs/user_docs/metrics/change_request_reviews.md
@@ -0,0 +1,29 @@
+# 变更请求审查
+
+![From](https://img.shields.io/badge/来自-CHAOSS-blue) ![For](https://img.shields.io/badge/用于-仓库-blue)
+
+## 定义
+
+变更请求审查(Change Request Reviews)是由 [CHAOSS](https://chaoss.community) 定义的一个指标,有关该指标的详细定义,请参阅 [CHAOSS Metrics - 变更请求审查](https://chaoss.community/kb/metric-change-request-reviews/)。
+
+该指标是软件开发过程中的一个关键组成部分,确保在集成之前对代码库的建议修改进行全面评估。这个过程包括评估变更的质量,并确保其符合项目指南。审查可以在合并之前建议改进或必要的更改,从而促进软件质量和最佳实践的遵循。
+
+> 软件工程研究长期以来认识到代码审查对提高软件质量的重要性(Baker et al, 1997; Kemerer et al, 2009)。正式审查确保变更符合项目标准,并有助于整体代码健康。这实际上对于维护代码库的完整性和促进协作开发环境至关重要。
+
+## 数据
+
+**链接:** `https://oss.x-lab.info/open_digger/{platform}/{owner}/{repo}/change_requests_reviews.json`
+
+要获取特定存储库的数据,请将 `{platform}`,`{owner}` 和 `{repo}` 替换为实际名称。这里有一个 [示例](https://oss.x-lab.info/open_digger/github/X-lab2017/open-digger/change_requests_reviews.json)。
+
+## 代码
+
+这里是 [**实现代码**](https://github.com/X-lab2017/open-digger/blob/master/src/metrics/chaoss.ts#L734)。
+
+## CodePen 演示
+
+
diff --git a/docs/user_docs/metrics/change_requests.md b/docs/user_docs/metrics/change_requests.md
new file mode 100644
index 0000000..45ce995
--- /dev/null
+++ b/docs/user_docs/metrics/change_requests.md
@@ -0,0 +1,29 @@
+# 变更请求
+
+![From](https://img.shields.io/badge/来自-CHAOSS-blue) ![For](https://img.shields.io/badge/用于-仓库-blue)
+
+## 定义
+
+变更请求(Change Requests)是由 [CHAOSS](https://chaoss.community) 定义的一个指标,有关该指标的详细定义,请参阅 [CHAOSS Metrics - 变更请求](https://chaoss.community/kb/metric-change-requests/)。
+
+该指标是指提出的变更作为“对源代码的变更建议”进行讨论,而不是直接提交到代码库,每个变更请求都需要由其他开发人员(或维护人员)进行审查,他们可能会建议改进,从而产生新版本,直到审查为正面并接受代码,或者建议被拒绝。变更请求是项目活动的一个代理指标。但需要注意的是,这个指标不是唯一用于跟踪编码活动量的指标。
+
+> 在上述情况下,“变更请求”对应于 GitHub 中的“拉取请求”,对应于 GitLab 中的“合并请求”,对应于 Gerrit 中的“代码审查”或在某些情况下的“变更集”。
+
+## 数据
+
+**链接:** `https://oss.x-lab.info/open_digger/{platform}/{owner}/{repo}/change_requests.json`
+
+要获取特定存储库的数据,请将 `{platform}`,`{owner}` 和 `{repo}` 替换为实际名称。这里有一个 [示例](https://oss.x-lab.info/open_digger/github/X-lab2017/open-digger/change_requests.json)。
+
+## 代码
+
+这里是 [**实现代码**](https://github.com/X-lab2017/open-digger/blob/master/src/metrics/chaoss.ts#L697)。
+
+## CodePen 演示
+
+
diff --git a/docs/user_docs/metrics/change_requests_accepted.md b/docs/user_docs/metrics/change_requests_accepted.md
new file mode 100644
index 0000000..078a23b
--- /dev/null
+++ b/docs/user_docs/metrics/change_requests_accepted.md
@@ -0,0 +1,29 @@
+# 接受的变更请求
+
+![From](https://img.shields.io/badge/来自-CHAOSS-blue) ![For](https://img.shields.io/badge/用于-仓库-blue)
+
+## 定义
+
+接受的变更请求(Change Request Accepted)是由 [CHAOSS](https://chaoss.community) 定义的一个指标,有关该指标的详细定义,请参阅 [CHAOSS Metrics - 接受的变更请求](https://chaoss.community/kb/metric-change-requests-accepted/)。
+
+该指标是项目中编码活动量的一个有价值的指示器。通过跟踪已接受的变更请求数量,我们可以获得对开发团队整体生产力和参与度的洞察。该指标作为导致项目实际变化的活动水平的代理。
+
+> 虽然该指标是评估编码活动的有用工具,但它不应是唯一的衡量标准。补充指标,如提交次数、代码审查和问题解决,提供了项目健康状况和进展的更全面视图,并识别需要改进或优化的领域。
+
+## 数据
+
+**链接:** `https://oss.x-lab.info/open_digger/{platform}/{owner}/{repo}/change_requests_accepted.json`
+
+要获取特定存储库的数据,请将 `{platform}`,`{owner}` 和 `{repo}` 替换为实际名称。这里有一个 [示例](https://oss.x-lab.info/open_digger/github/X-lab2017/open-digger/change_requests_accepted.json)。
+
+## 代码
+
+这里是 [**实现代码**](https://github.com/X-lab2017/open-digger/blob/master/src/metrics/chaoss.ts#L497)。
+
+## CodePen 演示
+
+
diff --git a/docs/user_docs/metrics/change_requests_age.md b/docs/user_docs/metrics/change_requests_age.md
new file mode 100644
index 0000000..52faf88
--- /dev/null
+++ b/docs/user_docs/metrics/change_requests_age.md
@@ -0,0 +1,29 @@
+# 变更请求年龄
+
+![From](https://img.shields.io/badge/来自-CHAOSS-blue) ![For](https://img.shields.io/badge/用于-仓库-blue)
+
+## 定义
+
+变更请求年龄(Change Request Age)是由 [CHAOSS](https://chaoss.community) 定义的一个指标,有关该指标的详细定义,请参阅 [CHAOSS Metrics - 问题年龄](https://chaoss.community/kb/metric-issue-age/)。
+
+该指标衡量变更请求被保持开放的时间长度,提供了对审查和集成过程及时性的洞察。该指标对于理解开发团队的效率和响应能力至关重要。
+
+> 变更请求年龄指标特别有助于识别瓶颈,并确保提出的修改能够及时得到处理。研究表明,变更请求平均年龄较低的项目往往具有更高的贡献者满意度和保留率。及时解决变更请求表明一个组织良好且高效的开发过程,这有助于吸引和留住有才华的贡献者。
+
+## 数据
+
+**链接:** `https://oss.x-lab.info/open_digger/{platform}/{owner}/{repo}/change_request_age.json`
+
+要获取特定存储库的数据,请将 `{platform}`,`{owner}` 和 `{repo}` 替换为实际名称。这里有一个 [示例](https://oss.x-lab.info/open_digger/github/X-lab2017/open-digger/change_request_age.json)。
+
+## 代码
+
+这里是 [**实现代码**](https://github.com/X-lab2017/open-digger/blob/master/src/metrics/chaoss.ts#L341)。
+
+## CodePen 演示
+
+
diff --git a/docs/user_docs/metrics/change_requests_resolution_duration.md b/docs/user_docs/metrics/change_requests_resolution_duration.md
new file mode 100644
index 0000000..6b65046
--- /dev/null
+++ b/docs/user_docs/metrics/change_requests_resolution_duration.md
@@ -0,0 +1,29 @@
+# 变更请求解决持续时间
+
+![From](https://img.shields.io/badge/来自-CHAOSS-blue) ![For](https://img.shields.io/badge/用于-仓库-blue)
+
+## 定义
+
+变更请求解决持续时间(Change Request Resolution Duration)是由 [CHAOSS](https://chaoss.community)定义的一个指标,有关该指标的详细定义,请参阅 [CHAOSS Metrics - 变更请求解决持续时间](https://chaoss.community/metric-issue-resolution-duration/)。
+
+该指标衡量变更请求被关闭所需的平均时间,提供了对审查和集成过程效率和及时性的洞察。该指标对于理解开发团队的整体响应能力和效率至关重要。
+
+> 较短的解决时长通常表明一个更高效和响应迅速的开发过程,这对项目的整体健康和进展有益。
+
+## 数据
+
+**链接:** `https://oss.x-lab.info/open_digger/{platform}/{owner}/{repo}/change_request_resolution_duration.json`
+
+要获取特定存储库的数据,请将 `{platform}`,`{owner}` 和 `{repo}` 替换为实际名称。这里有一个 [示例](https://oss.x-lab.info/open_digger/github/X-lab2017/open-digger/change_request_resolution_duration.json)。
+
+## 代码
+
+这里是 [**实现代码**](https://github.com/X-lab2017/open-digger/blob/master/src/metrics/chaoss.ts#L341)。
+
+## CodePen 演示
+
+
diff --git a/docs/user_docs/metrics/change_requests_response_time.md b/docs/user_docs/metrics/change_requests_response_time.md
new file mode 100644
index 0000000..d6e1f6e
--- /dev/null
+++ b/docs/user_docs/metrics/change_requests_response_time.md
@@ -0,0 +1,29 @@
+# 变更请求响应时间
+
+![From](https://img.shields.io/badge/来自-CHAOSS-blue) ![For](https://img.shields.io/badge/用于-仓库-blue)
+
+## 定义
+
+变更请求响应时间(Change Request Response Time)是由 [CHAOSS](https://chaoss.community) 定义的一个指标,有关该指标的详细定义,请参阅 [CHAOSS Metrics - 变更请求响应时间](https://chaoss.community/kb/metric-issue-response-time/)。
+
+该指标衡量从提交变更请求到收到其他贡献者的首次响应之间的时间。这对于理解开发社区的响应能力和审查过程的效率至关重要。
+
+> 较短的响应时间通常表明一个更活跃和参与度更高的社区,这对项目的整体健康和进展有益。
+
+## 数据
+
+**链接:** `https://oss.x-lab.info/open_digger/{platform}/{owner}/{repo}/change_request_response_time.json`
+
+要获取特定存储库的数据,请将 `{platform}`,`{owner}` 和 `{repo}` 替换为实际名称。这里有一个 [示例](https://oss.x-lab.info/open_digger/github/X-lab2017/open-digger/change_request_response_time.json)。
+
+## 代码
+
+这里是 [**实现代码**](https://github.com/X-lab2017/open-digger/blob/master/src/metrics/chaoss.ts#L415)。
+
+## CodePen 演示
+
+
diff --git a/docs/user_docs/metrics/community_openrank.md b/docs/user_docs/metrics/community_openrank.md
new file mode 100644
index 0000000..31e27f3
--- /dev/null
+++ b/docs/user_docs/metrics/community_openrank.md
@@ -0,0 +1,54 @@
+# 社区 OpenRank
+
+![From](https://img.shields.io/badge/来自-X--lab-blue) ![For](https://img.shields.io/badge/用于-开发者-blue)
+
+## 定义
+
+社区 OpenRank 是一个由 X-lab 开放实验室提出的开源指标,该指标由赵生宇博士提出,关于项目 OpenRank 的算法细节可以参考[这篇博客](https://blog.frankzhao.cn/openrank_in_project/)。
+
+与全域 OpenRank 指标的计算方法类似,该算法使用项目内的 Issue、PR 等协作数据来构建网络,其网络模型为:
+
+
+
+```mermaid
+graph TD
+ classDef rounded rx:5,ry:5;
+
+ Developer["开发者\n---------------------\nOpenRank | 数值"]:::rounded
+ issue["issue\n---------------------\nOpenRank | 数值"]:::rounded
+ pull_request["pull_request\n---------------------\nOpenRank | 数值"]:::rounded
+ repo["仓库\n---------------------\nOpenRank | 数值"]:::rounded
+
+ Developer -->|活跃| issue
+ Developer -->|活跃| pull_request
+ issue -->|属于| repo
+ pull_request -->|属于| repo
+```
+
+## 代码
+
+这里是 [**实现代码**](https://github.com/X-lab2017/open-digger/blob/master/src/cron/tasks/community_openrank.ts)。
+
+其底层使用的用于计算通用 OpenRank 的 Neo4j [插件项目](https://github.com/X-lab2017/openrank-neo4j-gds)已经开源,欢迎大家使用。
+
+## 参数
+
+项目 OpenRank 相较于全域 OpenRank 更加复杂,包含较多参数:
+
+| 参数名 | 值 | 描述 | 注 |
+| :------------- | :---- | :---------- | :--- |
+| 开发者/仓库 OpenRank 默认值 | 1.0 | 网络中开发者与仓库的 OpenRank 默认值,例如新加入社区的开发者或新仓库 | |
+| Issue OpenRank 默认值 | 2.0 | 网络中 Issue 节点的 OpenRank 默认值 | |
+| 未合入 PR OpenRank 默认值 | 3.0 | 网络中未合入的 PR 节点的 OpenRank 默认值 | |
+| 已合入 PR OpenRank 默认值 | 5.0 | 网络中已合入的 PR 节点的 OpenRank 默认值 | |
+| 开发者/仓库继承比例 | 0.15 | 网络中开发者/仓库节点对上月历史 OpenRank 或初始 OpenRank 的继承比例 | 项目内 OpenRank 中,开发者的价值更应依赖于当月的活跃情况 |
+| Issue/PR 继承比例 | 0.8 | 网络中 Issue/PR 节点对上个月历史 OpenRank 或初始 OpenRank 的继承比例 | Issue/PR 的价值应当相对稳定且更依赖于自身的价值 |
+| OpenRank 衰减系数 | 0.8 | 对于当月不活跃开发者/Issue/PR 的 OpenRank 衰减比例 | 网络中各节点的 OpenRank 不应在当月不活跃后立即清零 |
+| OpenRank 最小值 | 0.1 | 当网络中节点 OpenRank 值衰减至该值以下时将清零 | |
+| Issue/PR 节点延属于边流向仓库节点的 OpenRank 比例 | 0.1 | Issue/PR 节点的 OpenRank 有多少比例转移到仓库节点 | |
+| 仓库节点延属于边流向 Issue/PR 节点的 OpenRank 比例 | 平均 | 仓库节点的 OpenRank 将平均分配到所有 Issue/PR 节点 | |
+| Issue/PR 节点延活跃边流向开发者节点的 OpenRank 比例 | 0.9 | Issue/PR 节点的 OpenRank 有多少比例转移到开发者节点 | |
+| 开发者节点延活跃边流向 Issue/PR 节点的 OpenRank 比例 | 1.0 | 开发者节点的 OpenRank 有多少比例转移到 Issue/PR 节点 | |
+| `发起`动作活跃比例 | 0.5 | Issue/PR 的价值有多少将转移到其作者 | Issue/PR 作者将优先获取其 50% 的价值,剩余 50% 由其他参与者获得 |
+| `发起`/`评论`/`Review`/`关闭` 动作权重 | 2/1/1/2 | 用于计算活跃边权重时各类事件的权重 | |
+| 👍/❤️/🚀 表情权重 | 2/3/4 | 用于计算 Issue/PR 初始 OpenRank 的表情的权重 | Issue/PR 的初始 OpenRank 将由其社区中开发者对其添加的表情所决定 |
diff --git a/docs/user_docs/metrics/bus_factor.md b/docs/user_docs/metrics/contributor_absence_factor.md
similarity index 69%
rename from docs/user_docs/metrics/bus_factor.md
rename to docs/user_docs/metrics/contributor_absence_factor.md
index 39968f5..c305bad 100644
--- a/docs/user_docs/metrics/bus_factor.md
+++ b/docs/user_docs/metrics/contributor_absence_factor.md
@@ -1,12 +1,12 @@
-# 巴士系数
+# 贡献者缺席因素
![From](https://img.shields.io/badge/来自-CHAOSS-blue) ![For](https://img.shields.io/badge/用于-仓库-blue)
## 定义
-巴士系数(Bus Factor),或称为 Contributor Absence Factor,是由 [CHAOSS 社区](https://chaoss.community) 定义的一个指标。有关该指标的详细定义,请参阅 [CHAOSS Metrics - Bus Factor](https://chaoss.community/metric-bus-factor/)。
+贡献者缺席因素(Contributor Absence Factor),是由 [CHAOSS 社区](https://chaoss.community) 定义的一个指标。有关该指标的详细定义,请参阅 [CHAOSS Metrics - Bus Factor](https://chaoss.community/zh-CN/kb/metric-contributor-absence-factor/)。
-巴士系数是一个引人注目的指标,因为它形象的表达了一个问题,即:“在项目停滞之前,我们可以失去多少贡献者?”。巴士系数的计算是项目贡献量 50% 的最少人数,并表明了项目失去关键贡献者(包括维护者)后的韧性程度。
+贡献者缺席因素是一个引人注目的指标,因为它形象的表达了一个问题,即:“在项目停滞之前,我们可以失去多少贡献者?”。贡献者缺席因素的计算是项目贡献量 50% 的最少人数,并表明了项目失去关键贡献者(包括维护者)后的韧性程度。
> 它有助于识别项目中的工作如何分布在贡献者之间,以及项目中做了大部分工作的关键人物。
diff --git a/docs/user_docs/metrics/global_openrank.md b/docs/user_docs/metrics/global_openrank.md
new file mode 100644
index 0000000..e69b8f3
--- /dev/null
+++ b/docs/user_docs/metrics/global_openrank.md
@@ -0,0 +1,43 @@
+# 全域 OpenRank
+
+![From](https://img.shields.io/badge/来自-X--lab-blue) ![For](https://img.shields.io/badge/用于-项目/开发者-blue)
+
+## 定义
+
+全域 OpenRank 是一个由 X-lab 开放实验室提出的开源指标,该指标由赵生宇博士提出,关于全域 OpenRank 的算法细节可以参考[这篇博客](https://blog.frankzhao.cn/how_to_measure_open_source_3)。
+
+全域 OpenRank 是`活跃度`指标的一个下游指标,借鉴了`活跃度`来构建 GitHub 全域项目与开发者之间的一个协作网络,其网络模型是:
+
+
+```mermaid
+graph TD
+ classDef rounded rx:5,ry:5;
+
+ Developer["开发者\n---------------------\nOpenRank | 数值"]:::rounded
+ repo["仓库\n---------------------\nOpenRank | 数值"]:::rounded
+
+ Developer --> |活跃| repo
+```
+
+
+在全域 OpenRank 指标的实现中,使用`活跃度`指标作为开发者与仓库之间的边的权重,从而构建出全域协作网络来计算网络中每个节点在每个月的全域 OpenRank 值。但与`活跃度`不同的地方在于,我们并没有对开发者的加权活跃值进行开方运算,这是由于`活跃度`指标中的开方运算是为了将社区参与人数(社区规模)的因素引入到指标计算中,但对于协作网络而言,社区参与人数这个变量已经隐含在了网络结构中。
+
+与传统 PageRank 不同之处在于,计算中每个节点的全域 OpenRank 值将不仅仅依赖于当月的协作网络结构,并且也部分依赖于该节点在上个月的全域 OpenRank 值。即对于全域协作网络中的每个开发者和仓库节点,会部分的继承其历史的 OpenRank 值,这里也是体现了开源中珍视长期价值的价值观。
+
+## 代码
+
+这里是 [**实现代码**](https://github.com/X-lab2017/open-digger/blob/master/src/cron/tasks/global_openrank.ts)。
+
+其底层使用的用于计算通用 OpenRank 的 Neo4j [插件项目](https://github.com/X-lab2017/openrank-neo4j-gds)已经开源,欢迎大家使用。
+
+## 参数
+
+全域 OpenRank 的计算中包含的参数如下:
+
+| 参数名 | 值 | 参数描述 | 注 |
+| :------------- | :---- | :---------- | :--- |
+| OpenRank 默认值 | 1.0 | 协作网中新节点的默认值,例如新加入网络的开发者节点与新仓库 | |
+| 开发者继承比例 | 0.5 | 开发者节点对于上个月 OpenRank 的依赖比例 | 该算法认为相较于仓库,开发者的价值更应体现出开源中的长期价值,因此开发者对于历史价值的依赖度较高 |
+| 仓库继承比例 | 0.3 | 仓库节点对于上个月 OpenRank 的依赖比例 | |
+| OpenRank 衰减系数 | 0.85 | 对于当月不活跃的开发者和仓库节点的 OpenRank 衰减比例 | OpenRank 价值并不会因为开发者或仓库仅在某月不活跃就直接清零 |
+| OpenRank 最小值 | 0.1 | 当节点 OpenRank 衰减值该值以下时清空节点 OpenRank | |
diff --git a/docs/user_docs/metrics/inactive_contributors.md b/docs/user_docs/metrics/inactive_contributors.md
index 0d1a115..5c857fc 100644
--- a/docs/user_docs/metrics/inactive_contributors.md
+++ b/docs/user_docs/metrics/inactive_contributors.md
@@ -1,10 +1,10 @@
-# 非活跃贡献者
+# 不活跃的贡献者
![From](https://img.shields.io/badge/来自-CHAOSS-blue) ![For](https://img.shields.io/badge/用于-仓库-blue)
## 定义
-非活跃贡献者(Inactive Contributors)是由 [CHAOSS](https://chaoss.community) 定义的一个指标,有关该指标的详细定义,请参阅 [CHAOSS Metrics - Inactive Contributors](https://chaoss.community/kb/metric-inactive-contributors/)。
+不活跃的贡献者(Inactive Contributors)是由 [CHAOSS](https://chaoss.community) 定义的一个指标,有关该指标的详细定义,请参阅 [CHAOSS Metrics - Inactive Contributors](https://chaoss.community/kb/metric-inactive-contributors/)。
非活跃贡献者是一个指标,显示在特定时间段内已经停止贡献的贡献者数量。决定贡献者被认为非活跃所需的时间段可以由变量决定(默认为 6 个月),并且该指标将显示在给定时间范围内被标记为非活跃的贡献者数量。
diff --git a/docs/user_docs/metrics/issue_resolution_duration.md b/docs/user_docs/metrics/issue_resolution_duration.md
index da86af2..b7da708 100644
--- a/docs/user_docs/metrics/issue_resolution_duration.md
+++ b/docs/user_docs/metrics/issue_resolution_duration.md
@@ -1,14 +1,14 @@
-# Issue 解决时长
+# 问题解决持续时间
-![From](https://img.shields.io/badge/From-CHAOSS-blue) ![For](https://img.shields.io/badge/For-Repo-blue)
+![From](https://img.shields.io/badge/来自-CHAOSS-blue) ![For](https://img.shields.io/badge/用于-仓库-blue)
## 定义
-Issue 解决时长 (Issue Resolution Duration),也称为 Issue 解决时间 (Time to Issue Resolution),是一个由 [CHAOSS](https://chaoss.community) 定义的指标,有关该指标的详细定义,请参阅 [CHAOSS Metrics - Time to Issue Resolution](https://chaoss.community/kb/metric-issue-resolution-duration/)。
+问题解决持续时间 (Issue Resolution Duration),也称为 Issue 解决时间 (Time to Issue Resolution),是一个由 [CHAOSS](https://chaoss.community) 定义的指标,有关该指标的详细定义,请参阅 [CHAOSS Metrics - Time to Issue Resolution](https://chaoss.community/kb/metric-issue-resolution-duration/)。
该指标有助于表明解决问题所需的时间,从问题开启到关闭的平均时间。这个指标可用于确定社区如何快速响应问题以及解决问题所需的时间。
-> 对于那些被重新打开并再次关闭的问题,仅最后一个关闭日期对此指标有关联。
+> 对于那些被重新打开并再次关闭的问题,仅最后一个关闭事件与此指标有关联。
## 数据
diff --git a/docs/user_docs/metrics/issue_response_time.md b/docs/user_docs/metrics/issue_response_time.md
index c2efdbf..53067ad 100644
--- a/docs/user_docs/metrics/issue_response_time.md
+++ b/docs/user_docs/metrics/issue_response_time.md
@@ -1,10 +1,10 @@
-# Issue 响应时间
+# 问题响应时间
![From](https://img.shields.io/badge/来自-CHAOSS-blue) ![For](https://img.shields.io/badge/用于-仓库-blue)
## 定义
-Issue 响应时间(Issue Response Time)是由 [CHAOSS](https://chaoss.community) 定义的一个指标,有关该指标的详细定义,请参阅 [CHAOSS Metrics - Issue Response Time](https://chaoss.community/metric-issue-response-time/)。
+问题响应时间(Issue Response Time)是由 [CHAOSS](https://chaoss.community) 定义的一个指标,有关该指标的详细定义,请参阅 [CHAOSS Metrics - Issue Response Time](https://chaoss.community/metric-issue-response-time/)。
Issue 响应时间是一个指标,显示从 Issue 开启到来自其他贡献者在该 Issue 上的响应之间经过的时间。
diff --git a/docs/user_docs/metrics/new_contributors.md b/docs/user_docs/metrics/new_contributors.md
new file mode 100644
index 0000000..991cfd6
--- /dev/null
+++ b/docs/user_docs/metrics/new_contributors.md
@@ -0,0 +1,30 @@
+# 新贡献者
+
+![From](https://img.shields.io/badge/来自-CHAOSS-blue) ![For](https://img.shields.io/badge/用于-仓库-blue)
+
+## 定义
+
+新贡献者 (New Contributors) 是由 [CHAOSS社区](https://chaoss.community) 定义的一个指标。有关该指标的详细定义,请参阅 [CHAOSS指标 - 新贡献者](https://chaoss.community/kb/metric-new-contributors/)。
+
+该指标有助于识别有多少贡献者首次为给定项目做出贡献以及有关他们的信息。
+
+> 新贡献者的增加或下降可能是项目健康状况的早期指示器。了解新社区成员的行为和障碍需要知道他们是谁,健康的项目应该有一个稳定的新贡献者流。
+
+## 数据
+
+- **链接(基础):** `https://oss.x-lab.info/open_digger/{platform}/{owner}/{repo}/new_contributors.json`
+- **链接(详细):** `https://oss.x-lab.info/open_digger/{platform}/{owner}/{repo}/new_contributors_detail.json`
+
+要获取特定存储库的数据,请将`{platform}`,`{owner}`和`{repo}`替换为实际名称。对于基本变体,这里有一个[示例](https://oss.x-lab.info/open_digger/github/X-lab2017/open-digger/new_contributors.json),对于详细变体,请参考此[示例](https://oss.x-lab.info/open_digger/github/X-lab2017/open-digger/new_contributors_detail.json)。
+
+## 代码
+
+这里是[**实现代码**](https://github.com/X-lab2017/open-digger/blob/master/src/metrics/chaoss.ts#L862)。
+
+## CodePen 演示
+
+
diff --git a/docs/user_docs/metrics/openrank/index.md b/docs/user_docs/metrics/openrank/index.md
deleted file mode 100644
index 97cf591..0000000
--- a/docs/user_docs/metrics/openrank/index.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# 关于 OpenRank 指标
-
-OpenRank 是一个网络指标
diff --git a/docusaurus.config.ts b/docusaurus.config.ts
index 802fbb1..2382ab5 100644
--- a/docusaurus.config.ts
+++ b/docusaurus.config.ts
@@ -154,4 +154,4 @@ const config: Config = {
}) satisfies Preset.ThemeConfig,
};
-export default config;
+export default config;
\ No newline at end of file
diff --git a/i18n/en/code.json b/i18n/en/code.json
index 6af523f..fb59425 100644
--- a/i18n/en/code.json
+++ b/i18n/en/code.json
@@ -287,7 +287,7 @@
"description": "The unlisted content banner message"
},
"homepage.pullPreviewWarning": {
- "message": "Warning: This is a preview deploy of OpenDigger website for PR#{pullNumber}, please do not share! To visit OpenDigger official website please go to https://open-digger.cn。"
+ "message": "⚠ Warning: This is a preview deploy of OpenDigger website for PR#{pullNumber}, please do not share! To visit OpenDigger official website please go to https://open-digger.cn。"
},
"homepage.tagLine": {
"message": "Open Source Analysis Platform"
diff --git a/i18n/en/docusaurus-plugin-content-docs/current.json b/i18n/en/docusaurus-plugin-content-docs/current.json
index a1d4e67..9af9b4f 100644
--- a/i18n/en/docusaurus-plugin-content-docs/current.json
+++ b/i18n/en/docusaurus-plugin-content-docs/current.json
@@ -1,34 +1,38 @@
{
"version.label": {
- "message": "Next",
- "description": "The label for version current"
+ "message": "Next"
},
"sidebar.docSidebar.category.data_sources": {
- "message": "Data Sources",
- "description": "The label for category metrics in sidebar docSidebar"
+ "message": "Data Sources"
},
"sidebar.docSidebar.category.metrics": {
- "message": "Metrics",
- "description": "The label for category metrics in sidebar docSidebar"
+ "message": "Metrics"
},
"sidebar.docSidebar.category.openrank": {
- "message": "OpenRank",
- "description": "The label for category openrank in sidebar docSidebar"
+ "message": "OpenRank"
+ },
+ "sidebar.userDocSidebar.category.statistics": {
+ "message": "Statistics"
+ },
+ "sidebar.userDocSidebar.category.developers": {
+ "message": "Developers"
+ },
+ "sidebar.userDocSidebar.category.issues": {
+ "message": "Issues"
+ },
+ "sidebar.userDocSidebar.category.change_requests": {
+ "message": "Change requests"
},
"sidebar.userDocSidebar.category.downstream": {
- "message": "Downstream Apps",
- "description": "The label for category downstream in sidebar userDocSidebar"
+ "message": "Downstream Apps"
},
"sidebar.userDocSidebar.link.PolarDBDashboard": {
- "message": "PolarDB Dashboard",
- "description": "The label for link PolarDBDashboard in sidebar userDocSidebar"
+ "message": "PolarDB Dashboard"
},
"sidebar.userDocSidebar.link.OpenAtomDashboard": {
- "message": "OpenAtom Dashboard",
- "description": "The label for link OpenAtomDashboard in sidebar userDocSidebar"
+ "message": "OpenAtom Dashboard"
},
"sidebar.developerDocSidebar.category.jupyter_notebook": {
- "message": "Jupyter Notebook",
- "description": "The label for category jupyter_notebook in sidebar developerDocSidebar"
+ "message": "Jupyter Notebook"
}
-}
\ No newline at end of file
+}
diff --git a/i18n/en/docusaurus-plugin-content-docs/current/user_docs/intro.md b/i18n/en/docusaurus-plugin-content-docs/current/user_docs/intro.md
index 03f8f51..7aeb45c 100644
--- a/i18n/en/docusaurus-plugin-content-docs/current/user_docs/intro.md
+++ b/i18n/en/docusaurus-plugin-content-docs/current/user_docs/intro.md
@@ -17,308 +17,357 @@ Feel free to use the data to construct your own data application and you can ref
[![](https://img.shields.io/badge/Data-OpenDigger-2097FF)](https://github.com/X-lab2017/open-digger)
-### For repos
-
-
-
-### For users
-
-
-
-## Users
-
-For above data, there are some users of OpenDigger right now.
+
+
+ OpenRank
+
+
+
+
+
+ Statistics
+
+
+
+
+
+ Developers
+
+
+
+
+
+ Issues
+
+
+
+
+
+
+ Change Requests
+
+
+
+## Use cases
+
+For above data, there are some users or partners of OpenDigger right now.
### Applications
-- [OpenLeaderboard](https://open-leaderboard.x-lab.info/): A leaderboard of GitHub world with labeled data.
-- [HyperCRX](https://github.com/hypertrons/hypertrons-crx): A browser plugin helps to look into GitHub users and repos.
-- [Mulan Dashboard](http://dataease.nzcer.cn/link/1VxPsUCX): A dashboard for [Mulan community](https://portal.mulanos.cn/).
+- [OpenLeaderboard](https://open-leaderboard.x-lab.info/): An open source leaderboard of open source world with labeled data.
+- [HyperCRX](https://github.com/hypertrons/hypertrons-crx): An open source browser extension helps to look into GitHub users and repos, corresponding [paper](https://dl.acm.org/doi/10.1145/3643916.3644440).
+- [OpenGalaxy](https://open-galaxy.x-lab.info/): An open source galaxy application, corresponding [paper](https://dl.acm.org/doi/10.1145/3643916.3644441).
- [Hacking Force China](https://opensource.win/): A ranking list of Chinese developers on GitHub cooperate with [SegmentFault](https://segmentfault.com/).
+- [PolarDB Open Source Data Dashboard](https://polardbx.com/dataPanorama): Community dashboard cooperate with PolarDB.
+- [OSGraph](https://osgraph.com/): An open source graph application collaborate with [TuGraph](https://www.tugraph.tech/).
### Open source reports
-- [China Open Source Report 2021](https://kaiyuanshe.cn/document/china-os-report-2021/): Most comprehensive open source report in China by [kaiyuanshe](https://kaiyuanshe.cn/).
-- [China Open Source Blue Paper 2022](http://www.copu.org.cn/new/308): A blue paper of Chinese open source development by [COPU](http://www.copu.org.cn/).
+- China Open Source Report by [kaiyuanshe](https://kaiyuanshe.cn/).
+ - [China Open Source Report 2021](https://kaiyuanshe.cn/document/china-os-report-2021/).
+ - [China Open Source Report 2022](https://kaiyuanshe.cn/article/2022-China-Open-Source-Annual-Report).
+ - [China Open Source Report 2023](https://kaiyuanshe.cn/article/Year-of-the-Dragon-Ceremony-2023-China-Open-Source-Annual-Report).
+- China Open Source Blue Paper by [COPU](http://www.copu.org.cn/).
+ - [China Open Source Blue Paper 2021](http://www.cosspu.org.cn/download/showdownload.php?id=26).
+ - [China Open Source Blue Paper 2022](http://www.cosspu.org.cn/download/showdownload.php?id=27).
+ - [China Open Source Blue Paper 2023](http://www.cosspu.org.cn/download/showdownload.php?id=25).
- [Big Data Open Source Heat Report](https://github.com/X-lab2017/open-digger/blob/master/cooperations/big_data_open_source_heat_report/开源大数据热力报告2022.pdf): A heat report of open source projects in big data area.
-
## Events
OpenDigger community also open to inter-community cooperation events, like contests or hackathons.
-- [OpenSODA 2023](https://competition.atomgit.com/competitionInfo?id=bc6603e0b8bf11ed804e6b78b4426d45)。
+- [OpenSODA 2023](https://competition.atomgit.com/competitionInfo?id=bc6603e0b8bf11ed804e6b78b4426d45).
- [PaddlePaddle Hackathon 3rd](https://www.paddlepaddle.org.cn/PaddlePaddleHackathon-2022-6), the hackathon final reports are [here](https://github.com/X-lab2017/open-digger/tree/master/cooperations/paddle_hackathon_3rd).
## Data
### GitHub Event Log
-We use [GHArchive](https://www.gharchive.org/) as our data source for GitHub event logs and the data service is provided by [clickhouse](https://clickhouse.tech/) cluster cloud service. For data details, please check the [data](/docs/user_docs/intro) docs.
+We use [GHArchive](https://www.gharchive.org/) as our data source for GitHub event logs and the data service is provided by [clickhouse](https://clickhouse.tech/) cluster cloud service. For data details, please check the [data](intro) docs.
### Labeled Data
-We are collecting labeled data for more deeper analysis. You can view the corresponding data in the `labeled_data` folder. For more details, please check [labeled_data](/docs/user_docs/intro) docs.
+We are collecting labeled data for more deeper analysis. You can view the corresponding data in the `labeled_data` folder. For more details, please check [labeled_data](intro) docs.
### Sample Data Usage
-OpenDigger provides ClickHouse sample data and Jupyter notebook image to run OpenDigger in local environment, please refer to [sample data doc](/docs/user_docs/intro).
+OpenDigger provides ClickHouse sample data and Jupyter notebook image to run OpenDigger in local environment, please refer to [sample data doc](intro).
## Communication
diff --git a/i18n/en/docusaurus-plugin-content-docs/current/user_docs/metrics/change_request_reviews.md b/i18n/en/docusaurus-plugin-content-docs/current/user_docs/metrics/change_request_reviews.md
new file mode 100644
index 0000000..8857fa6
--- /dev/null
+++ b/i18n/en/docusaurus-plugin-content-docs/current/user_docs/metrics/change_request_reviews.md
@@ -0,0 +1,32 @@
+# Change Requests Reviews
+
+![From](https://img.shields.io/badge/From-CHAOSS-blue) ![For](https://img.shields.io/badge/For-Repo-blue)
+
+## Definition
+
+Change Requests Reviews is a metric defined by [CHAOSS](https://chaoss.community), see [CHAOSS Metrics - Change Request Reviews](https://chaoss.community/kb/metric-change-request-reviews/) for a detailed definition of this metric.
+
+This metric is a critical component of the software development process, ensuring that proposed modifications to the codebase are thoroughly evaluated before integration. This process involves assessing the quality of the change and ensuring it aligns with project guidelines. Reviews can suggest improvements or necessary changes prior to merging, thereby promoting software quality and adherence to best practices.
+
+> Software engineering research has long recognized the importance of code reviews for enhancing software quality (Baker et al, 1997; Kemerer et al, 2009). Formal reviews ensure that changes meet project standards and contribute to overall code health. This infact is crucial for maintaining the integrity of the codebase and fostering a collaborative development environment.
+
+
+## Data
+
+**Link:** `https://oss.x-lab.info/open_digger/{platform}/{owner}/{repo}/change_requests_reviews.json`
+
+To get the data for a certain repository, replace `{platform}`, `{owner}` and `{repo}` with the actual name. Here is an [example](https://oss.x-lab.info/open_digger/github/X-lab2017/open-digger/change_requests_reviews.json).
+
+
+## Code
+
+Here's the [**implementation code**](https://github.com/X-lab2017/open-digger/blob/master/src/metrics/chaoss.ts#L734).
+
+
+## CodePen Demo
+
+
diff --git a/i18n/en/docusaurus-plugin-content-docs/current/user_docs/metrics/change_requests.md b/i18n/en/docusaurus-plugin-content-docs/current/user_docs/metrics/change_requests.md
new file mode 100644
index 0000000..6625ae1
--- /dev/null
+++ b/i18n/en/docusaurus-plugin-content-docs/current/user_docs/metrics/change_requests.md
@@ -0,0 +1,32 @@
+# Change Requests
+
+![From](https://img.shields.io/badge/From-CHAOSS-blue) ![For](https://img.shields.io/badge/For-Repo-blue)
+
+## Definition
+
+Change Requests is a metric defined by [CHAOSS](https://chaoss.community), see [CHAOSS Metrics - Change Requests](https://chaoss.community/kb/metric-change-requests/) for a detailed definition of this metric.
+
+This is a metric where changes are proposed for discussion as "*proposals for change to the source code*" rather than being directly submitted to the code base, with each change request intended to be reviewed by other developers (or maintainers) who may suggest improvements, leading to new versions until reviews are positive and the code is accepted, or the proposal is declined. Change requests are a proxy for the activity in a project. But it should be noted that this metric is not the only one that should be used to track volume of coding activity.
+
+> In context to above, "change requests" correspond to "pull requests" in the case of GitHub, to "merge requests" in the case of GitLab, and to "code reviews" or in some contexts "changesets" in the case of Gerrit.
+
+
+## Data
+
+**Link:** `https://oss.x-lab.info/open_digger/{platform}/{owner}/{repo}/change_requests.json`
+
+To get the data for a certain repository, replace `{platform}`, `{owner}` and `{repo}` with the actual name. Here is an [example](https://oss.x-lab.info/open_digger/github/X-lab2017/open-digger/change_requests.json).
+
+
+## Code
+
+Here's the [**implementation code**](https://github.com/X-lab2017/open-digger/blob/master/src/metrics/chaoss.ts#L697).
+
+
+## CodePen Demo
+
+
diff --git a/i18n/en/docusaurus-plugin-content-docs/current/user_docs/metrics/change_requests_accepted.md b/i18n/en/docusaurus-plugin-content-docs/current/user_docs/metrics/change_requests_accepted.md
new file mode 100644
index 0000000..9edfd1a
--- /dev/null
+++ b/i18n/en/docusaurus-plugin-content-docs/current/user_docs/metrics/change_requests_accepted.md
@@ -0,0 +1,32 @@
+# Change Requests Accepted
+
+![From](https://img.shields.io/badge/From-CHAOSS-blue) ![For](https://img.shields.io/badge/For-Repo-blue)
+
+## Definition
+
+Change Requests Accepted is a metric defined by [CHAOSS](https://chaoss.community), see [CHAOSS Metrics - Change Requests Accepted](https://chaoss.community/kb/metric-change-requests-accepted/) for a detailed definition of this metric.
+
+This metric is a valuable indicator of the volume of coding activity within a project. By tracking the number of accepted change requests, we can gain insights into the overall productivity and engagement of the development team. This metric serves as a proxy for the level of activity that results in tangible changes to the project.
+
+> While this metric is a useful tool for assessing coding activity, it should not be the sole measure. Complementary metrics, such as the number of commits, code reviews, and issue resolutions, provide a more comprehensive view of the project's health and progress, and identify areas for improvement or optimization.
+
+
+## Data
+
+**Link:** `https://oss.x-lab.info/open_digger/{platform}/{owner}/{repo}/change_requests_accepted.json`
+
+To get the data for a certain repository, replace `{platform}`, `{owner}` and `{repo}` with the actual name. Here is an [example](https://oss.x-lab.info/open_digger/github/X-lab2017/open-digger/change_requests_accepted.json).
+
+
+## Code
+
+Here's the [**implementation code**](https://github.com/X-lab2017/open-digger/blob/master/src/metrics/chaoss.ts#L497).
+
+
+## CodePen Demo
+
+
diff --git a/i18n/en/docusaurus-plugin-content-docs/current/user_docs/metrics/change_requests_age.md b/i18n/en/docusaurus-plugin-content-docs/current/user_docs/metrics/change_requests_age.md
new file mode 100644
index 0000000..b5f76de
--- /dev/null
+++ b/i18n/en/docusaurus-plugin-content-docs/current/user_docs/metrics/change_requests_age.md
@@ -0,0 +1,32 @@
+# Change Request Age
+
+![From](https://img.shields.io/badge/From-CHAOSS-blue) ![For](https://img.shields.io/badge/For-Repo-blue)
+
+## Definition
+
+Change Requests Reviews is a metric defined by [CHAOSS](https://chaoss.community), see [CHAOSS Metrics - Issue Age](https://chaoss.community/kb/metric-issue-age/) for a detailed definition of this metric.
+
+This metric measures the duration for which change requests have been left open, providing insights into the timeliness of the review and integration process. This metric is crucial for understanding the efficiency and responsiveness of the development team.
+
+> The Change Request Age metric is particularly useful for pinpointing bottlenecks and ensuring that proposed modifications are addressed in a timely manner. Research has shown that projects with a lower average change request age tend to have higher contributor satisfaction and retention rates. Timely resolution of change requests demonstrates a well-organized and efficient development process, which attracts and retains talented contributors.
+
+
+## Data
+
+**Link:** `https://oss.x-lab.info/open_digger/{platform}/{owner}/{repo}/change_request_age.json`
+
+To get the data for a certain repository, replace `{platform}`, `{owner}` and `{repo}` with the actual name. Here is an [example](https://oss.x-lab.info/open_digger/github/X-lab2017/open-digger/change_request_age.json).
+
+
+## Code
+
+Here's the [**implementation code**](https://github.com/X-lab2017/open-digger/blob/master/src/metrics/chaoss.ts#L341).
+
+
+## CodePen Demo
+
+
diff --git a/i18n/en/docusaurus-plugin-content-docs/current/user_docs/metrics/change_requests_resolution_duration.md b/i18n/en/docusaurus-plugin-content-docs/current/user_docs/metrics/change_requests_resolution_duration.md
new file mode 100644
index 0000000..66b1aa7
--- /dev/null
+++ b/i18n/en/docusaurus-plugin-content-docs/current/user_docs/metrics/change_requests_resolution_duration.md
@@ -0,0 +1,33 @@
+# Change Requests Resolution Duration
+
+![From](https://img.shields.io/badge/From-CHAOSS-blue) ![For](https://img.shields.io/badge/For-Repo-blue)
+
+
+## Definition
+
+Change Requests Resolution Duration is a metric defined by [CHAOSS](https://chaoss.community), see [CHAOSS Metrics - Change Requests Resolution Duration](https://chaoss.community/metric-issue-resolution-duration/) for a detailed definition of this metric.
+
+This metric measures the average time it takes for a change request to be closed, providing insights into the efficiency and timeliness of the review and integration process. This metric is crucial for understanding the overall responsiveness and effectiveness of the development team.
+
+> A shorter resolution duration generally indicates a more efficient and responsive development process, which is beneficial for the project's overall health and progress.
+
+
+## Data
+
+**Link:** `https://oss.x-lab.info/open_digger/{platform}/{owner}/{repo}/change_request_resolution_duration.json`
+
+To get the data for a certain repository, replace `{platform}`, `{owner}` and `{repo}` with the actual name. Here is an [example](https://oss.x-lab.info/open_digger/github/X-lab2017/open-digger/change_request_resolution_duration.json).
+
+
+## Code
+
+Here's the [**implementation code**](https://github.com/X-lab2017/open-digger/blob/master/src/metrics/chaoss.ts#L341).
+
+
+## CodePen Demo
+
+
diff --git a/i18n/en/docusaurus-plugin-content-docs/current/user_docs/metrics/change_requests_response_time.md b/i18n/en/docusaurus-plugin-content-docs/current/user_docs/metrics/change_requests_response_time.md
new file mode 100644
index 0000000..125d70d
--- /dev/null
+++ b/i18n/en/docusaurus-plugin-content-docs/current/user_docs/metrics/change_requests_response_time.md
@@ -0,0 +1,32 @@
+# Change Requests Response Time
+
+![From](https://img.shields.io/badge/From-CHAOSS-blue) ![For](https://img.shields.io/badge/For-Repo-blue)
+
+## Definition
+
+Change Requests Reviews is a metric defined by [CHAOSS](https://chaoss.community), see [CHAOSS Metrics - Change Request Response Time](https://chaoss.community/kb/metric-issue-response-time/) for a detailed definition of this metric.
+
+This metric measures the duration between the submission of a change request and the first response from another contributor. This is crucial for understanding the responsiveness of the development community and the efficiency of the review process.
+
+> A shorter response time generally indicates a more active and engaged community, which is beneficial for the project's overall health and progress.
+
+
+## Data
+
+**Link:** `https://oss.x-lab.info/open_digger/{platform}/{owner}/{repo}/change_request_response_time.json`
+
+To get the data for a certain repository, replace `{platform}`, `{owner}` and `{repo}` with the actual name. Here is an [example](https://oss.x-lab.info/open_digger/github/X-lab2017/open-digger/change_request_response_time.json).
+
+
+## Code
+
+Here's the [**implementation code**](https://github.com/X-lab2017/open-digger/blob/master/src/metrics/chaoss.ts#L415).
+
+
+## CodePen Demo
+
+
diff --git a/docs/user_docs/metrics/openrank/community_openrank.md b/i18n/en/docusaurus-plugin-content-docs/current/user_docs/metrics/community_openrank.md
similarity index 88%
rename from docs/user_docs/metrics/openrank/community_openrank.md
rename to i18n/en/docusaurus-plugin-content-docs/current/user_docs/metrics/community_openrank.md
index 354bfc9..f637d84 100644
--- a/docs/user_docs/metrics/openrank/community_openrank.md
+++ b/i18n/en/docusaurus-plugin-content-docs/current/user_docs/metrics/community_openrank.md
@@ -1,4 +1,4 @@
-# 社区 OpenRank
+# Community OpenRank
![From](https://img.shields.io/badge/来自-X--lab-blue) ![For](https://img.shields.io/badge/用于-开发者-blue)
@@ -24,14 +24,6 @@ graph TD
issue -->|属于| repo
pull_request -->|属于| repo
```
-
-
-
## 代码
diff --git a/i18n/en/docusaurus-plugin-content-docs/current/user_docs/metrics/bus_factor.md b/i18n/en/docusaurus-plugin-content-docs/current/user_docs/metrics/contributor_absence_factor.md
similarity index 100%
rename from i18n/en/docusaurus-plugin-content-docs/current/user_docs/metrics/bus_factor.md
rename to i18n/en/docusaurus-plugin-content-docs/current/user_docs/metrics/contributor_absence_factor.md
diff --git a/docs/user_docs/metrics/openrank/global_openrank.md b/i18n/en/docusaurus-plugin-content-docs/current/user_docs/metrics/global_openrank.md
similarity index 88%
rename from docs/user_docs/metrics/openrank/global_openrank.md
rename to i18n/en/docusaurus-plugin-content-docs/current/user_docs/metrics/global_openrank.md
index cee01e2..8f0e1e0 100644
--- a/docs/user_docs/metrics/openrank/global_openrank.md
+++ b/i18n/en/docusaurus-plugin-content-docs/current/user_docs/metrics/global_openrank.md
@@ -1,4 +1,4 @@
-# 全域 OpenRank
+# Global OpenRank
![From](https://img.shields.io/badge/来自-X--lab-blue) ![For](https://img.shields.io/badge/用于-项目/开发者-blue)
@@ -20,13 +20,6 @@ graph TD
```
-
-
在全域 OpenRank 指标的实现中,使用`活跃度`指标作为开发者与仓库之间的边的权重,从而构建出全域协作网络来计算网络中每个节点在每个月的全域 OpenRank 值。但与`活跃度`不同的地方在于,我们并没有对开发者的加权活跃值进行开方运算,这是由于`活跃度`指标中的开方运算是为了将社区参与人数(社区规模)的因素引入到指标计算中,但对于协作网络而言,社区参与人数这个变量已经隐含在了网络结构中。
与传统 PageRank 不同之处在于,计算中每个节点的全域 OpenRank 值将不仅仅依赖于当月的协作网络结构,并且也部分依赖于该节点在上个月的全域 OpenRank 值。即对于全域协作网络中的每个开发者和仓库节点,会部分的继承其历史的 OpenRank 值,这里也是体现了开源中珍视长期价值的价值观。
diff --git a/i18n/en/docusaurus-plugin-content-docs/current/user_docs/metrics/issue_resolution_duration.md b/i18n/en/docusaurus-plugin-content-docs/current/user_docs/metrics/issue_resolution_duration.md
index d56e9e2..e0f903b 100644
--- a/i18n/en/docusaurus-plugin-content-docs/current/user_docs/metrics/issue_resolution_duration.md
+++ b/i18n/en/docusaurus-plugin-content-docs/current/user_docs/metrics/issue_resolution_duration.md
@@ -8,7 +8,7 @@ Issue Resolution Duration, also known as Time to Issue Resolution, is a metric d
The metric helps indicate the time it takes to resolve an issue, on average, from the time it was opened to the time it was closed. This metric can be used to determine how quickly the community responds to issues and how long it takes to resolve them.
-> For issues that were reopened and closed again, only the last close date is relevant for this metric.
+> For issues that were reopened and closed again, only the last close event is relevant for this metric.
## Data
diff --git a/i18n/en/docusaurus-plugin-content-docs/current/user_docs/metrics/new_contributors.md b/i18n/en/docusaurus-plugin-content-docs/current/user_docs/metrics/new_contributors.md
new file mode 100644
index 0000000..2028f61
--- /dev/null
+++ b/i18n/en/docusaurus-plugin-content-docs/current/user_docs/metrics/new_contributors.md
@@ -0,0 +1,33 @@
+# New Contributors
+
+![From](https://img.shields.io/badge/From-CHAOSS-blue) ![For](https://img.shields.io/badge/For-Repo-blue)
+
+## Definition
+
+New Contributors is a metric defined by the [CHAOSS community](https://chaoss.community). For a detailed definition of this metric, please refer to [CHAOSS Metrics - New Contributors](https://chaoss.community/kb/metric-new-contributors/).
+
+This metric helps identify how many contributors are making their first contribution to a given project and information about them.
+
+> An increase or decline in new contributors can be an early indicator of project health. Understanding the behavior and barriers of new community members requires knowing who they are, and a healthy project should have a steady stream of new contributors.
+
+
+## Data
+
+- **Link (base):** `https://oss.x-lab.info/open_digger/{platform}/{owner}/{repo}/new_contributors.json`
+- **Link (detail):** `https://oss.x-lab.info/open_digger/{platform}/{owner}/{repo}/new_contributors_detail.json`
+
+
+To get the data for a certain repository, replace `{platform}`, `{owner}` and `{repo}` with the actual name. For the base variant, here is an [example](https://oss.x-lab.info/open_digger/github/X-lab2017/open-digger/new_contributors.json), and for the detailed variant, refer to this [example](https://oss.x-lab.info/open_digger/github/X-lab2017/open-digger/new_contributors_detail.json).
+
+## Code
+
+Here's the [**implementation code**](https://github.com/X-lab2017/open-digger/blob/master/src/metrics/chaoss.ts#L862).
+
+
+## CodePen Demo
+
+
diff --git a/i18n/zh/code.json b/i18n/zh/code.json
index 6416051..ab27144 100644
--- a/i18n/zh/code.json
+++ b/i18n/zh/code.json
@@ -287,7 +287,7 @@
"description": "The unlisted content banner message"
},
"homepage.pullPreviewWarning": {
- "message": "注意:该网站为 OpenDigger 官网仓库 PR#{pullNumber} 的预览版本,请勿分享,谢谢!OpenDigger 官网请移步 https://open-digger.cn。"
+ "message": "⚠ 注意:该网站为 OpenDigger 官网仓库 PR#{pullNumber} 的预览版本,请勿分享,谢谢!OpenDigger 官网请移步 https://open-digger.cn。"
},
"homepage.tagLine": {
"message": "开源数据分析平台"
diff --git a/i18n/zh/docusaurus-plugin-content-docs/current.json b/i18n/zh/docusaurus-plugin-content-docs/current.json
index 6db43c8..c80f954 100644
--- a/i18n/zh/docusaurus-plugin-content-docs/current.json
+++ b/i18n/zh/docusaurus-plugin-content-docs/current.json
@@ -1,42 +1,44 @@
{
"version.label": {
- "message": "最新版本",
- "description": "The label for version current"
+ "message": "最新版本"
},
"sidebar.userDocSidebar.category.data_sources": {
- "message": "数据来源",
- "description": "The label for category data_sources in sidebar userDocSidebar"
+ "message": "数据来源"
},
"sidebar.userDocSidebar.category.metrics": {
- "message": "指标数据",
- "description": "The label for category metrics in sidebar userDocSidebar"
+ "message": "指标数据"
},
"sidebar.userDocSidebar.category.label_data": {
- "message": "标签数据",
- "description": "The label for category metrics in sidebar userDocSidebar"
+ "message": "标签数据"
},
"sidebar.userDocSidebar.category.downstream": {
- "message": "下游应用",
- "description": "The label for category downstream in sidebar userDocSidebar"
+ "message": "下游应用"
},
"sidebar.userDocSidebar.link.PolarDBDashboard": {
- "message": "PolarDB 社区大屏",
- "description": "The label for link PolarDBDashboard in sidebar userDocSidebar"
+ "message": "PolarDB 社区大屏"
},
"sidebar.userDocSidebar.link.OpenAtomDashboard": {
- "message": "开放原子全球协作大屏",
- "description": "The label for link OpenAtomDashboard in sidebar userDocSidebar"
+ "message": "开放原子全球协作大屏"
},
"sidebar.userDocSidebar.category.openrank": {
- "message": "OpenRank",
- "description": "The label for category openrank in sidebar userDocSidebar"
+ "message": "OpenRank"
+ },
+ "sidebar.userDocSidebar.category.statistics": {
+ "message": "统计指标"
+ },
+ "sidebar.userDocSidebar.category.developers": {
+ "message": "开发者"
+ },
+ "sidebar.userDocSidebar.category.issues": {
+ "message": "问题"
+ },
+ "sidebar.userDocSidebar.category.change_requests": {
+ "message": "变更请求"
},
"sidebar.developerDocSidebar.category.jupyter_notebook": {
- "message": "Jupyter Notebook",
- "description": "The label for category jupyter_notebook in sidebar developerDocSidebar"
+ "message": "Jupyter Notebook"
},
"sidebar.developerDocSidebar.category.tools": {
- "message": "工具集",
- "description": "The label for category tools in sidebar developerDocSidebar"
+ "message": "工具集"
}
-}
\ No newline at end of file
+}
diff --git a/package-lock.json b/package-lock.json
index 2346e7b..b3b894b 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -3992,7 +3992,7 @@
},
"node_modules/@types/lodash": {
"version": "4.17.7",
- "resolved": "https://registry.npmmirror.com/@types/lodash/-/lodash-4.17.7.tgz",
+ "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.7.tgz",
"integrity": "sha512-8wTvZawATi/lsmNu10/j2hk1KEP0IvjubqPE3cu1Xz7xfXXt5oCq3SNUz4fMIP4XGF9Ky+Ue2tBA3hcS7LSBlA==",
"dev": true
},
diff --git a/sidebars.js b/sidebars.js
index e92cd2e..57b40db 100644
--- a/sidebars.js
+++ b/sidebars.js
@@ -22,7 +22,7 @@ const sidebars = {
collapsed: true,
items: [
'user_docs/data_sources/github',
- 'user_docs/data_sources/gitee'
+ 'user_docs/data_sources/gitee',
],
},
'user_docs/label_data',
@@ -37,17 +37,52 @@ const sidebars = {
label: 'openrank',
collapsed: false,
items: [
- 'user_docs/metrics/openrank/global_openrank',
- 'user_docs/metrics/openrank/community_openrank'
+ 'user_docs/metrics/global_openrank',
+ 'user_docs/metrics/community_openrank',
+ ],
+ },
+ {
+ type: 'category',
+ label: 'statistics',
+ collapsed: true,
+ items: [
+ 'user_docs/metrics/activity',
+ 'user_docs/metrics/technical_fork',
+ 'user_docs/metrics/activity_dates_and_times',
+ ],
+ },
+ {
+ type: 'category',
+ label: 'developers',
+ collapsed: true,
+ items: [
+ 'user_docs/metrics/new_contributors',
+ 'user_docs/metrics/inactive_contributors',
+ 'user_docs/metrics/contributor_absence_factor',
+ ],
+ },
+ {
+ type: 'category',
+ label: 'issues',
+ collapsed: true,
+ items: [
+ 'user_docs/metrics/issue_response_time',
+ 'user_docs/metrics/issue_resolution_duration',
+ ],
+ },
+ {
+ type: 'category',
+ label: 'change_requests',
+ collapsed: true,
+ items: [
+ 'user_docs/metrics/change_requests',
+ 'user_docs/metrics/change_requests_accepted',
+ 'user_docs/metrics/change_request_reviews',
+ 'user_docs/metrics/change_requests_response_time',
+ 'user_docs/metrics/change_requests_resolution_duration',
+ 'user_docs/metrics/change_requests_age',
],
},
- 'user_docs/metrics/activity',
- 'user_docs/metrics/activity_dates_and_times',
- 'user_docs/metrics/technical_fork',
- 'user_docs/metrics/inactive_contributors',
- 'user_docs/metrics/bus_factor',
- 'user_docs/metrics/issue_resolution_duration',
- 'user_docs/metrics/issue_response_time',
],
},
{
@@ -73,7 +108,7 @@ const sidebars = {
{
type: 'link',
label: 'PolarDBDashboard',
- href: 'https://dataease.x-lab.info/link/RyaY6hry',
+ href: 'https://polardbx.com/dataPanorama',
},
]
},
diff --git a/src/components/OpenDiggerMetricCharts/index.tsx b/src/components/OpenDiggerMetricCharts/index.tsx
index 8fafb47..f1e3604 100644
--- a/src/components/OpenDiggerMetricCharts/index.tsx
+++ b/src/components/OpenDiggerMetricCharts/index.tsx
@@ -1,4 +1,4 @@
-import React, { useState, useRef, useEffect } from 'react';
+import React, { useState, useEffect } from 'react';
import axios from 'axios';
// import ReactECharts from 'echarts-for-react';
import { translate } from '@docusaurus/Translate';
diff --git a/src/css/custom.css b/src/css/custom.css
index 475494a..2ff6515 100644
--- a/src/css/custom.css
+++ b/src/css/custom.css
@@ -40,10 +40,16 @@
background-color: red;
color: white;
text-align: center;
- padding: 10px 0;
+ padding: 10px 10px;
z-index: 1000;
}
+@media (max-width: 768px) {
+ .fixed-banner {
+ height: calc(var(--banner-height) * 3);
+ }
+}
+
.fixed-banner a {
color: white;
text-decoration: underline;
@@ -53,6 +59,12 @@
height: var(--banner-height);
}
+@media (max-width: 768px) {
+ .banner-placeholder {
+ height: calc(var(--banner-height) * 3);
+ }
+}
+
.header--github-link {
width: 32px;
height: 32px;
@@ -101,4 +113,84 @@ iframe {
height: 500px;
border: none;
border-radius: 10px;
+ /* width: 100%; */
+}
+
+details {
+ border: 1px solid #ccc;
+ border-radius: 4px;
+ transition: all 0.3s ease;
+ padding: 0.5em;
+}
+
+summary {
+ font-weight: bold;
+ cursor: pointer;
+ position: relative;
+ padding-right: 20px;
+ list-style: none;
+}
+
+summary::-webkit-details-marker {
+ display: none;
+}
+
+summary::after {
+ content: '❯';
+ position: absolute;
+ right: 0;
+ top: 50%;
+ transform: translateY(-50%);
+ transition: transform 0.3s ease;
+}
+
+details[open] summary::after {
+ transform: translateY(-50%) rotate(90deg);
+}
+
+details:not([open]):hover {
+ background-color: #362ecc74;
}
+
+details > *:not(summary) {
+ margin-top: 0.5em;
+}
+
+table {
+ width:100%;
+}
+
+.centered-cell {
+ text-align: center;
+ vertical-align: middle;
+}
+
+
+table a {
+ color: #0477eb;
+ text-decoration: none;
+ transition: color 0.3s ease;
+}
+
+table a:hover {
+ color: #049eeb;
+ text-decoration: underline;
+}
+
+#elevatedbtn {
+ font-family: Archivo Black;
+ border: 4px solid #050137;
+ border-radius: 12px;
+ box-shadow: 4px 4px 0 #050137;
+ box-sizing: border-box;
+}
+
+/* Redundant since #ID is unique and is mounted for CN (default) and NOT for EN on mount */
+
+#elevatedbtnEN {
+ font-family: Archivo Black;
+ border: 4px solid #050137;
+ border-radius: 12px;
+ box-shadow: 4px 4px 0 #050137;
+ box-sizing: border-box;
+}
\ No newline at end of file