canyon 0.1.1

A simple Rust library with an add function
Documentation
# 文档生成指南

## 本地生成和查看文档

### 生成文档

使用 `cargo doc` 命令生成文档:

```bash
# 生成文档(包括依赖)
cargo doc

# 只生成当前项目的文档(不包括依赖)
cargo doc --no-deps

# 生成文档并在浏览器中打开
cargo doc --open

# 生成文档但不打开浏览器
cargo doc --no-deps && echo "文档已生成到 target/doc/canyon/index.html"
```

### 查看文档

文档生成后,可以在以下位置找到:
- HTML 文档:`target/doc/canyon/index.html`
- 使用 `cargo doc --open` 会自动在浏览器中打开

## 文档注释语法

Rust 使用特殊的注释语法来生成文档:

### 函数文档

```rust
/// 这是函数的文档注释
/// 
/// # Arguments
/// 
/// * `param1` - 参数1的描述
/// * `param2` - 参数2的描述
/// 
/// # Returns
/// 
/// 返回值的描述
/// 
/// # Examples
/// 
/// ```
/// use canyon::add;
/// assert_eq!(add(2, 3), 5);
/// ```
pub fn my_function(param1: i32, param2: i32) -> i32 {
    // 实现
}
```

### 库/模块文档

```rust
//! 这是库级别的文档注释
//! 使用 `//!` 而不是 `///`
//!
//! # 示例
//!
//! ```
//! use canyon::add;
//! let result = add(1, 2);
//! ```
```

## 发布到 docs.rs

当你将包发布到 crates.io 后,**docs.rs 会自动构建和托管你的文档**!

1. **发布到 crates.io**:使用 GitHub Action 或手动运行 `cargo publish`
2. **等待构建**:docs.rs 通常在几分钟内自动构建文档
3. **访问文档**:文档会在 `https://docs.rs/canyon/0.1.0/` 自动可用

### docs.rs 自动文档的特点

- ✅ 自动为每个版本生成文档
- ✅ 支持文档中的代码示例测试
- ✅ 自动链接到依赖的文档
- ✅ 支持搜索功能
- ✅ 版本化:每个版本都有独立的文档页面

### 确保文档构建成功

docs.rs 构建失败时,常见原因:
- 缺少必需的依赖
- 文档中的代码示例无法编译
- 需要特殊的构建配置

如果遇到问题,可以在 `Cargo.toml` 中添加:

```toml
[package.metadata.docs.rs]
# 启用所有特性(如果需要)
all-features = true
# 或者指定特定的特性
# features = ["feature1", "feature2"]
```

## 文档最佳实践

1. **为所有公共 API 添加文档**:使用 `///` 注释
2. **包含示例**:在 `# Examples` 部分添加使用示例
3. **解释参数和返回值**:使用 `# Arguments``# Returns`
4. **测试文档示例**:文档中的代码示例会在 `cargo test` 时自动测试
5. **使用 Markdown**:文档注释支持完整的 Markdown 语法

## 有用的命令

```bash
# 测试文档中的代码示例
cargo test --doc

# 只运行文档测试
cargo test --doc --lib

# 检查文档链接是否有效
cargo doc --no-deps --document-private-items
```