#文档 #生成器 #模板 #解析器 #c-sharp

app documentation_generator

基于 Rust 的 C# 代码库文档生成器。它扫描 C# 源文件,提取相关结构(类、结构体、枚举和接口),并根据提供的模板生成文档。

1 个不稳定版本

0.1.0 2024年7月23日

#154开发工具

Download history 91/week @ 2024-07-19 40/week @ 2024-07-26 4/week @ 2024-08-02

135 每月下载量

自定义许可证

34KB
627

Test dependency status License: MIT Crates.io Download

文档生成器

此项目是一个基于 Rust 的 C# 代码库文档生成器。它扫描 C# 源文件,提取相关结构(类、结构体、枚举和接口),并根据提供的模板生成文档。

特性

  • 解析 C# 源文件以提取结构。
  • 支持 XML 文档注释。
  • 使用模板以可自定义的格式生成文档。
  • 支持不同的访问修饰符和结构类型。
  • 可以集成到 CI/CD 管道中,以实现自动化文档生成。

路线图

  • 交互式 CLI:增强 CLI,为不直接使用命令行参数的用户提供交互式提示。
  • 模板自定义:允许用户在模板中定义自己的占位符和规则,以支持更灵活的文档样式。
  • 增量解析:实现一个功能,只重新解析自上次运行以来已更改的文件,以提高大型项目的性能。
  • 多种输出格式:支持生成各种格式的文档,如 HTML、PDF 和 Markdown,以适应不同的使用场景。
  • 代码示例:从 C# 文件中提取并包含代码示例,在生成的文档中提供上下文和用法示例。
  • 语法高亮:在生成的文档中集成代码片段的语法高亮,以改善可读性。
  • 版本控制:支持版本化文档,允许用户为代码库的不同版本生成和维护文档。
  • 配置文件:允许用户在配置文件(例如 JSON、TOML)中定义设置和首选项,以便更方便地进行自定义。
  • CI/CD 集成:提供与 CI/CD 管道(例如 GitHub Actions、Travis CI)的简单集成,以在代码更改时自动生成文档。
  • 文档覆盖率报告:生成报告,显示文档的覆盖率(例如已文档化的类、方法和属性的百分比)。
  • 错误处理和报告:改进错误处理并提供详细的错误报告,以帮助用户解决输入文件或模板的问题。

入门

先决条件

  • Rust编程语言
  • Cargo(Rust包管理器)

用法

  1. 准备一个模板文件(例如,template.md

    # Documentation for [System Name]
    
    ## Overview
    [Brief overview of the system]
    
    ## Key Interfaces
    - **`[interface_name]`**: [summary]
    
    ## Main Classes
    - [access_modifier] **`[class_name]`**: [one_sentence_summary]
    
    ## Structs
    - **`[struct_name]`**: [one_sentence_summary]
    
    ## Enums
    - **`[enum_name]`**: [one_sentence_summary]
    
    ## Usage
    [Usage examples]
    
  2. 运行文档生成器

    cargo run --release -- --package_dir path/to/csharp/code --template_file path/to/template.md --output_dir path/to/output --output_file documentation.md
    

命令行选项

  • --package_dir:包含C#源文件的目录。
  • --template_file:模板文件的路径。
  • --output_dir:保存生成的文档的目录。
  • --output_file:生成的文档文件的名称。

项目结构

.
├── src
│   ├── cli.rs
│   ├── parser.rs
│   ├── documentation.rs
│   └── main.rs
├── Cargo.toml
└── README.md

贡献

欢迎贡献!请打开一个问题或提交一个拉取请求。

许可证

本项目受MIT许可证许可 - 请参阅LICENSE文件以获取详细信息。

鸣谢

联系方式

依赖项

~4–13MB
~130K SLoC