| Crates.io | cargo-doc-viewer |
| lib.rs | cargo-doc-viewer |
| version | 0.1.0 |
| created_at | 2025-10-19 09:48:05.111525+00 |
| updated_at | 2025-10-19 09:48:05.111525+00 |
| description | Enhance rustdoc HTML with a richer UI and AI-assisted chat via cargo doc-enhance. |
| homepage | https://github.com/your-username/cargo-doc-viewer |
| repository | https://github.com/your-username/cargo-doc-viewer |
| max_upload_size | |
| id | 1890287 |
| size | 258,659 |
一个增强 Rust 文档浏览体验的工具,为 cargo doc 生成的 HTML 文件注入交互式界面组件。通过 cargo doc-enhance 子命令即可运行增强版文档服务。
A tool that enhances Rust documentation browsing experience by injecting interactive UI components into HTML files generated by cargo doc.
~/.cargo-doc-viewer/config.yaml 模板,可自定义模型、提示词与上下文策略--revert 参数移除所有注入的增强功能# 克隆仓库
git clone https://github.com/your-username/cargo-doc-viewer.git
cd cargo-doc-viewer
# 构建发布版本
cargo build --release
# 可选:安装到系统路径
cargo install --path .
生成文档 Generate documentation:
cargo doc
启动运行时服务 Start the runtime server (默认行为 Default):
cargo doc-enhance
# 自定义监听地址和端口
cargo doc-enhance serve --addr 127.0.0.1:4200
浏览器打开 http://127.0.0.1:7878/ 即可查看增强后的文档;所有 HTML 在响应阶段注入,无需写回磁盘。
默认在工程根目录运行时,如果尚未生成文档,工具会自动执行 cargo doc 并在完成后启动服务。
When invoked from the project root without an explicit --doc-dir, the tool now runs cargo doc automatically before serving when no documentation is present.
可选:静态注入 Optional static enhance:
cargo doc-enhance enhance --doc-dir target/doc
该模式会直接修改 HTML 文件,并生成 cdv-crate-overview.html 便于离线浏览。
撤销增强 Revert enhancements:
cargo doc-enhance revert --doc-dir target/doc
cargo doc-enhance [serve] [-d|--doc-dir <path>] [--addr <ip:port>] [--port <port>]
cargo doc-enhance enhance [-d|--doc-dir <path>]
cargo doc-enhance revert [-d|--doc-dir <path>]
OPTIONS:
-d, --doc-dir <path> 指定文档目录 (默认: target/doc)
--addr <ip:port> 运行时模式监听地址 (默认: 127.0.0.1:7878)
--port <port> 快速指定端口,等价于 --addr 127.0.0.1:<port>
-h, --help 显示帮助信息
EXAMPLES:
cargo doc && cargo doc-enhance # 启动本地服务
cargo doc-enhance serve --port 4200 # 指定端口
cargo doc-enhance enhance --doc-dir target/doc
cargo doc-enhance revert --doc-dir target/doc
默认的 serve 模式 通过本地 HTTP 服务在“响应阶段”注入增强组件:
.html 文件的访问,对静态资源直接透传/cdv-crate-overview.html 动态扫描 doc 目录并实时渲染enhance 子命令仍可就地改写 HTML,并写入标记便于 revertsrc/assets/,编译时嵌入二进制# 开发工作流
cargo doc && cargo doc-enhance
open target/doc/my_crate/index.html
# 为团队审查增强文档体验
cargo doc --document-private-items
cargo doc-enhance --doc-dir target/doc
# 为演示或教学准备增强的文档
cargo doc --examples
cargo doc-enhance
# 使用专注模式进行演示
在文档 URL 中添加参数来控制功能:
?cdv-notop - 禁用顶部搜索栏?cdv-nochat - 禁用 AI 聊天功能?cdv-nosym - 禁用符号面板示例:target/doc/my_crate/index.html?cdv-notop&cdv-nochat
工具使用 localStorage 保存用户偏好:
键名按文档根路径和包名作用域区分。
我们欢迎各种形式的贡献!
git clone https://github.com/your-username/cargo-doc-viewer.git
cd cargo-doc-viewer
# 运行检查
cargo check
# 测试修改
cargo doc # 生成测试文档
cargo run -- # 默认启动 serve 模式
# 浏览器访问 http://127.0.0.1:7878 查看效果
# 测试撤销功能
cargo run -- revert
src/assets/cdv.csssrc/assets/cdv.jssrc/injector.rs 中调整 Rust 侧的 HTML 处理src/server.rs 自定义路由或缓存策略cargo check 和 cargo clippy本项目采用 MIT 或 Apache-2.0 双重许可证。
This project is licensed under either of:
如果这个工具对你有帮助,请给个 ⭐️ 支持一下!
If this tool helps you, please give it a ⭐️!
~/.cargo-doc-viewer/config.yaml(或手动指定的 CDV_CONFIG_PATH)创建配置模板。api:兼容 OpenAI 的接口地址、模型名称、默认请求头与超时时间;prompts:系统提示词、环境模板、备选响应语言;context:选区去抖时间、页面摘要 Token 预算、历史轮次窗口与敏感信息清洗规则;ui:默认语言、是否自动展开上下文预览、是否允许编辑系统提示。$VAR / ${VAR} 引用环境变量;解析顺序为进程环境 → 配置同目录 .env → 当前工作目录 .env → $HOME/.env,便于安全加载 API Key 与自定义 API 基址。localStorage 中的 API Key 与模型覆写应用于请求,并在“Context”面板中展示上下文层级、Token 估算及复制上下文的快捷操作。