# md-gen **Repository Path**: zhReimu/md-gen ## Basic Information - **Project Name**: md-gen - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-08 - **Last Updated**: 2026-03-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # md-gen 将源代码文件生成为 Markdown 文档的工具。 ## 功能特性 - **文件扫描**:递归扫描指定目录,收集源代码文件 - **语言检测**:自动识别文件语言类型 - **Gitignore 支持**:支持 `.gitignore` 规则排除文件 - **灵活输出**:支持扁平结构和层级结构两种 Markdown 格式 - **CLI 接口**:丰富的命令行选项,支持自定义配置 ## 安装 ```bash go install gitee.com/zhReimu/md-gen@latest ``` ## 使用方法 ```bash md-gen [选项] ``` ### 命令行选项 | 选项 | 说明 | 默认值 | |------|------|--------| | `-d, --directory` | 指定要扫描的目录 | 当前目录 | | `-o, --output` | 输出文件路径 | stdout | | `-e, --extensions` | 指定要包含的文件扩展名 | 全部 | | `-f, --files` | 指定要包含的特定文件 | 全部 | | `--exclude` | 排除的文件或目录 | 无 | | `--hierarchical` | 使用层级结构输出 | 扁平结构 | | `-v, --version` | 显示版本信息 | - | ### 使用示例 扫描当前目录并输出到 Markdown 文件: ```bash md-gen -d ./src -o README.md ``` 指定文件扩展名: ```bash md-gen -d ./src -e go,java,py -o README.md ``` 使用层级结构输出: ```bash md-gen -d ./src --hierarchical -o README.md ``` 排除特定文件或目录: ```bash md-gen -d ./src --exclude testdata,vendor -o README.md ``` ## 工作原理 1. **文件扫描**:`scanner` 包递归扫描指定目录,根据扩展名和排除规则收集文件 2. **忽略处理**:`ignore` 包解析 `.gitignore` 规则,排除匹配的文件 3. **语言检测**:`codec` 包读取文件内容并根据文件扩展名和 BOM 标记确定语言 4. **Markdown 生成**:`writer` 包将收集到的文件信息生成为 Markdown 格式 ## 项目结构 ``` md-gen/ ├── main.go # 程序入口 ├── internal/ │ ├── codec/ # 文件读取和语言检测 │ ├── ignore/ # Gitignore 解析 │ ├── scanner/ # 文件扫描 │ └── writer/ # Markdown 生成 └── go.mod # Go 模块定义 ``` ## 许可证 MIT License