aboutsummaryrefslogtreecommitdiff
path: root/docs/_zh_CN
diff options
context:
space:
mode:
Diffstat (limited to 'docs/_zh_CN')
-rw-r--r--docs/_zh_CN/pages/1-intro.md36
-rw-r--r--docs/_zh_CN/pages/2-step1.md6
2 files changed, 21 insertions, 21 deletions
diff --git a/docs/_zh_CN/pages/1-intro.md b/docs/_zh_CN/pages/1-intro.md
index 4e3106c..eea766b 100644
--- a/docs/_zh_CN/pages/1-intro.md
+++ b/docs/_zh_CN/pages/1-intro.md
@@ -5,11 +5,11 @@
## 前言
- 首先,非常感谢您愿意尝试和体验 **Mingling**
+首先,非常感谢您愿意尝试和体验 **Mingling**
- 因为这是一个早期框架,所以尚不成熟。
+因为这是一个早期框架,所以尚不成熟。
- 若您在使用过程中遇到任何问题,欢迎提交 [Issue](https://github.com/catilgrass/mingling/issues),我们乐意解决。
+若您在使用过程中遇到任何问题,欢迎提交 [Issue](https://github.com/catilgrass/mingling/issues),我们乐意解决。
<div style="display: flex; gap: 16px; padding: 8px; align-items: stretch; max-width: 90%;">
<div style="flex-shrink: 0; display: flex; align-items: center;">
@@ -29,39 +29,39 @@
## Mingling 是什么?
- **Mingling** 是一款 Rust 命令行开发框架,更准确地说,它是一款在调度、执行、渲染等方面提供高度抽象的框架。
+**Mingling** 是一款 Rust 命令行开发框架,更准确地说,它是一款在调度、执行、渲染等方面提供高度抽象的框架。
- 它的核心逻辑是 **"转换"** —— 您输入的命令行参数(`Vec<String>`)会经过一系列的类型转换,最终变成您想要的结果。用一张图来说明:
+它的核心逻辑是 **"转换"** —— 您输入的命令行参数(`Vec<String>`)会经过一系列的类型转换,最终变成您想要的结果。用一张图来说明:
<center>
<img src="../res/graph/flow.drawio.svg"/>
</center>
- **这意味着**,您的执行逻辑和渲染逻辑是完全分离的:所有的状态、数据和结构都是类型,它们都只是转换过程中的一个环节,清晰又灵活。
+**这意味着**,您的执行逻辑和渲染逻辑是完全分离的:所有的状态、数据和结构都是类型,它们都只是转换过程中的一个环节,清晰又灵活。
## 它适合什么样的项目?
- 如果您正在开发一个**子命令多、嵌套层次深、横切关注点多**,并且对**执行效率和动态补全**有要求的命令行工具,那么 **Mingling** 会是一个很好的选择。
+如果您正在开发一个**子命令多、嵌套层次深、横切关注点多**,并且对**执行效率和动态补全**有要求的命令行工具,那么 **Mingling** 会是一个很好的选择。
- 这些能力得益于它高度抽象的宏系统,以及几乎全部在编译期完成的构建逻辑,让您在运行时能获得出色的性能。
+这些能力得益于它高度抽象的宏系统,以及几乎全部在编译期完成的构建逻辑,让您在运行时能获得出色的性能。
## Mingling 能做些什么?
- **Mingling** 专注于命令行流程的调度与编排,为您提供以下能力:
+**Mingling** 专注于命令行流程的调度与编排,为您提供以下能力:
- 1. **核心调度** — 通过类型转换优雅地编排业务逻辑
- 2. **纯函数设计** — 所有行为都是纯函数,可以直接测试
- 3. **无限嵌套** — 支持无限嵌套的子命令系统,再复杂的结构也能驾驭
- 4. **动态补全** — 为任意子命令插入完全动态的补全逻辑 **\[`comp`\]**
- 5. **帮助文档** — 为任意子命令插入帮助文档,让用户轻松上手
+1. **核心调度** — 通过类型转换优雅地编排业务逻辑
+2. **纯函数设计** — 所有行为都是纯函数,可以直接测试
+3. **无限嵌套** — 支持无限嵌套的子命令系统,再复杂的结构也能驾驭
+4. **动态补全** — 为任意子命令插入完全动态的补全逻辑 **\[`comp`\]**
+5. **帮助文档** — 为任意子命令插入帮助文档,让用户轻松上手
## Mingling 不做些什么?
- **Mingling** 专注于命令行**流程的调度与编排**,因此它不会提供以下功能(您可以自由搭配其他库来实现):
+**Mingling** 专注于命令行**流程的调度与编排**,因此它不会提供以下功能(您可以自由搭配其他库来实现):
- 1. ❌ 彩色文字、进度条等外观功能
- 2. ❌ 国际化、本地化功能
- 3. ❌ TUI 界面功能
+1. ❌ 彩色文字、进度条等外观功能
+2. ❌ 国际化、本地化功能
+3. ❌ TUI 界面功能
<p align="center" style="font-size: 0.85em; color: gray;">
Written by @Weicao-CatilGrass
diff --git a/docs/_zh_CN/pages/2-step1.md b/docs/_zh_CN/pages/2-step1.md
index 56f4b3c..251f23b 100644
--- a/docs/_zh_CN/pages/2-step1.md
+++ b/docs/_zh_CN/pages/2-step1.md
@@ -68,18 +68,17 @@ features = [""]
<iframe
src="../play/play.html?tur=zh_CN/2-writing3.md&amp;title=渲染 ResultFruits"
- height="740px">
+ height="860px">
</iframe>
### 💡 关于 `r_println!` 宏
`r_println!` 宏并不是对 `println!` 的包装
-它是为 `#[renderer]` 宏中 **隐式注入** 的 `&mut RenderResult` 值提供。
+它是为 `#[renderer]` 宏中 **隐式注入** 的 `&mut RenderResult` 值提供的便捷访问方案。
在 `r_println!` 调用时,不会立刻向 stdout 输出信息,而是会被累计到 `&mut RenderResult` 中,在程序结束时整体输出。
-
## 六、编译并运行
现在您已经完成了 `list` 命令,现在可以使用 `cargo run` 运行您的程序:
@@ -133,6 +132,7 @@ fn render_fruits(result: ResultFruits) {
gen_program!();
```
+
</details>
<p align="center" style="font-size: 0.85em; color: gray;">