diff --git a/README.md b/README.md
index 91da6c6..789ac46 100644
--- a/README.md
+++ b/README.md
@@ -25,6 +25,8 @@
## 🤝 协作与贡献
+从开发到提交贡献,全流程文档,请参考目录 [doc](./doc/)
+
> [!TIP]
> **`chsrc` 不仅是一个命令行工具,同时也是一个换源框架,它甚至使你能够在不了解C语言的情况下编写出新的换源方法(recipe)。** 给新软件添加换源方法总共分几步?[Write A Recipe Even If You Don't Know C](./doc/Write-A-Recipe-Even-If-You-Dont-Know-C.md)
@@ -32,7 +34,7 @@
> **`chsrc` 可换源 60+ 目标。每个人仅仅贡献和维护自己熟悉的部分,回报是得到其他所有领域专家的帮助**。欢迎对 GitHub、Gitee 协作不熟悉的人以此为契机学习参与贡献, 欢迎任何编程初学者参与贡献,作者可提供一定的 [贡献指导](https://github.com/RubyMetric/chsrc/discussions/50)。
> [!IMPORTANT]
-> [招募 Recipe 维护者](https://github.com/RubyMetric/chsrc/issues/130)
+> [招募 recipe 维护者](https://github.com/RubyMetric/chsrc/issues/130)
@@ -410,12 +412,6 @@ chsrc set conda | anaconda
-## 🛠️ 开发
-
-请参考 [./doc/Develop.md](./doc/Develop.md)
-
-
-
## 📝 许可证
- `chsrc` 主程序采用 `GPL-3.0-or-later` 许可证,保证该软件的永久自由
@@ -443,7 +439,7 @@ chsrc set conda | anaconda
你是否因为使用 `chsrc` 而节省了时间和精力 or whatever?
-
+
diff --git a/doc/Develop.md b/doc/01-Develop.md
similarity index 84%
rename from doc/Develop.md
rename to doc/01-Develop.md
index 407443f..27cab54 100644
--- a/doc/Develop.md
+++ b/doc/01-Develop.md
@@ -2,7 +2,7 @@
! SPDX-License-Identifier: GFDL-1.3-or-later
! -------------------------------------------------------------
! Doc Type : Markdown
- ! Doc Name : 01-Develop.md
+ ! Doc Name : Develop.md
! Doc Authors : Aoran Zeng
! Contributors : Nul None
! |
@@ -21,6 +21,8 @@
$ git clone https://gitee.com/RubyMetric/chsrc.git -b dev
```
+关于分支的说明,可参考 [./03-CONTRIBUTING.md](./03-CONTRIBUTING.md)
+
## 编译运行
@@ -55,6 +57,6 @@ $ make clean
## 提交 PR
-关于分支的说明以及如何提交代码,请参考 [./CONTRIBUTING.md](./CONTRIBUTING.md)
+关于分支的说明以及如何提交代码,请参考 [./03-CONTRIBUTING.md](./03-CONTRIBUTING.md)
diff --git a/doc/Write-A-Recipe-Even-If-You-Dont-Know-C.md b/doc/02-Write-A-Recipe-Even-If-You-Dont-Know-C.md
similarity index 71%
rename from doc/Write-A-Recipe-Even-If-You-Dont-Know-C.md
rename to doc/02-Write-A-Recipe-Even-If-You-Dont-Know-C.md
index dbec2f9..179b50b 100644
--- a/doc/Write-A-Recipe-Even-If-You-Dont-Know-C.md
+++ b/doc/02-Write-A-Recipe-Even-If-You-Dont-Know-C.md
@@ -2,11 +2,12 @@
! SPDX-License-Identifier: GFDL-1.3-or-later
! -------------------------------------------------------------
! Doc Type : Markdown
+ ! Doc Name : Write-A-Recipe-Even-If-You-Dont-Know-C.md
! Doc Authors : Aoran Zeng
! Contributors : Nul None
! |
! Created On : <2024-08-19>
- ! Last Modified : <2024-12-23>
+ ! Last Modified : <2024-12-27>
! ---------------------------------------------------------- -->
# Write A Recipe Even If You Don't Know C
@@ -17,7 +18,7 @@
-我鼓励你为新的软件添加换源支持,因为通过 `chsrc` 这将非常简单,你的贡献也将非常有价值。理论上每一个 `recipe` 都需要有专人长时间维护。
+我鼓励你为新的软件添加换源支持,因为通过 `chsrc` 这将非常简单,你的贡献也将非常有价值。理论上每一个 `recipe` 都需要有专人长时间维护 ([招募](https://github.com/RubyMetric/chsrc/issues/130))。
1. 本项目采用 `GPLv3+` 协议,是真正的**自由软件**,而非仅仅是开源软件
2. 代码规范灵活遵循 `GNU` 标准(若标准干扰了可维护性,则并不采纳)
@@ -39,12 +40,6 @@
-# 贡献指导
-
-若有任何问题,可在 [GitHub discussions](https://github.com/RubyMetric/chsrc/discussions) 中询问和讨论
-
-
-
# 基本概念
1. `target`: 所要换源的目标
@@ -64,26 +59,34 @@
-# 编写recipe步骤
+# 编写 `recipe` 步骤
-1. 务必使用 `dev` 分支
+1. 确定你要编写的 `target` 的标准名称,创建 `Target-Name.c` 文件
-2. 在 `recipe` 目录中根据类别添加新文件,该文件可基于其它 `recipe` 或 [recipe template]
+ 大小写需严格按官方,若名称包含空格,需使用 `-` 代替空格
-3. 最好的参照物是 [ruby.c recipe](../src/recipe/lang/Ruby.c)
+2. 根据类别将上述文件放在 `recipe/` 目录的某个子目录中
-4. 在各大镜像站寻找可用源;可以额外补充镜像站
+3. 复制 [recipe template] 的内容到上述文件中,并替换 `<...>` 占位符
- 并创建或更新对应 `target` 的镜像站可用状态Wiki页: https://github.com/RubyMetric/chsrc/wiki
+4. 参考现有 `recipe` 的写法
-5. 可以使用这些函数:
+ 1. 看一眼就能上手的参照物是 [PHP recipe](../src/recipe/lang/PHP.c)
+ 2. 最好的参照物是 [Ruby recipe](../src/recipe/lang/Ruby.c)
+ 3. 组换源参照物是 [Python Group recipe](../src/recipe/lang/Python/Python.c)
+
+5. 在 [Wiki] 中记录的镜像站中寻找可用源;可以额外补充镜像站
+
+ 并创建或更新对应 `target` 的镜像站可用状态 [Wiki] 页
+
+6. 可以使用这些函数:
1. `framework/core.c` 中以 `chsrc_` 开头的所有函数或宏
2. `xy.h` 中以 `xy_` 开头的所有函数或宏
-6. 在 `recipe/menu.c` 中添加用户可以使用的 `target` 别名
+7. 在 `recipe/menu.c` 中添加用户可以使用的 `target` 别名
-7. 构建并运行 `chsrc set ` 测试,若无问题可提交 Pull Request
+8. [编译、运行、测试 (how?)](./01-Develop.md),若无问题可提交 Pull Request
@@ -100,3 +103,4 @@
[recipe template]: ../src/recipe/recipe-template.c
+[Wiki]: https://github.com/RubyMetric/chsrc/wiki
diff --git a/doc/CONTRIBUTING.md b/doc/03-CONTRIBUTING.md
similarity index 69%
rename from doc/CONTRIBUTING.md
rename to doc/03-CONTRIBUTING.md
index 8ec718f..fcef2e1 100644
--- a/doc/CONTRIBUTING.md
+++ b/doc/03-CONTRIBUTING.md
@@ -1,3 +1,15 @@
+
+
# 贡献说明
## 分支
@@ -24,7 +36,7 @@
(1)
1. **如果你是 recipe director,则你完全负责这个 recipe,如果你拥有写权限,你可以直接推送代码到 `dev` 分支**
-2. 如果你是 recipe maintainer,则你需要参考 [MAINTAINERS.md](./MAINTAINERS.md),如果只有你一个人,且你拥有写权限,你可以直接推送代码。如果有多人,则需要提一个 issue,介绍方案,然后 @ 所有 maintainer 来 review
+2. 如果你是 recipe maintainer,则你需要参考 [04-MAINTAINERS.md](./04-MAINTAINERS.md),如果只有你一个人,且你拥有写权限,你可以直接推送代码。如果有多人,则需要提一个 issue,介绍方案,然后 @ 所有 maintainer 来 review
---
diff --git a/doc/MAINTAINERS.md b/doc/04-MAINTAINERS.md
similarity index 97%
rename from doc/MAINTAINERS.md
rename to doc/04-MAINTAINERS.md
index 8be3e19..29a85fa 100644
--- a/doc/MAINTAINERS.md
+++ b/doc/04-MAINTAINERS.md
@@ -13,7 +13,7 @@
2. **Maintainers**
- 维护者:实现和持续维护 recipe,需要和 Director 一起 review 代码。可参考 [CONTRIBUTIING.md](./CONTRIBUTING.md) 了解项目是如何进行提交和审阅代码的
+ 维护者:实现和持续维护 recipe,需要和 Director 一起 review 代码。可参考 [03-CONTRIBUTING.md](./03-CONTRIBUTING.md) 了解项目是如何进行提交和审阅代码的
3. **Observers**
diff --git a/doc/README.md b/doc/README.md
index 8560f94..292725c 100644
--- a/doc/README.md
+++ b/doc/README.md
@@ -12,12 +12,14 @@
# 文档说明
+**注:这些不是用户手册,而是开发者文档**
+
E2E (End-to-End) 开发流程:
-1. 开发环境准备,如何编译和测试,请参考 [./Develop.md](./Develop.md)
-2. 如何编写一个具体的 recipe,请参考 [./Write-A-Recipe-Even-If-You-Dont-Know-C.md](./Write-A-Recipe-Even-If-You-Dont-Know-C.md)
-3. 直接推送还是提交 PR,请参考 [./CONTRIBUTING.md](./CONTRIBUTING.md)
-4. 找谁来审阅 PR,请参考 [./MAINTAINERS.md](./MAINTAINERS.md)
+1. 开发环境准备,如何编译和测试,请参考 [./01-Develop.md](./01-Develop.md)
+2. 如何编写一个具体的 recipe,请参考 [./02-Write-A-Recipe-Even-If-You-Dont-Know-C.md](./02-Write-A-Recipe-Even-If-You-Dont-Know-C.md)
+3. 直接推送还是提交 PR,请参考 [./03-CONTRIBUTING.md](./03-CONTRIBUTING.md)
+4. 找谁来审阅 PR,请参考 [./04-MAINTAINERS.md](./04-MAINTAINERS.md)