10个版本
0.3.1 | 2022年9月26日 |
---|---|
0.3.0 | 2022年7月30日 |
0.2.1 | 2020年8月23日 |
0.2.0 | 2020年6月21日 |
0.1.3 | 2019年10月28日 |
861 在 开发工具 中排名
每月246次下载
37KB
735 行
cargo-docset
- 为您的Rust包或工作空间生成Zeal/Dash文档集
cargo-docset
是一个工具,允许您为您的Rust包及其依赖项生成与Dash/Zeal 兼容的文档集。
安装
cargo-docset
依赖于SQLite3库。您可以在系统上安装SQLite3库(有关帮助,请参阅rusqlite的文档),或者通过在构建cargo-docset
时打开bundled-sqlite
功能标志来构建包含在libsqlite3-sys
crate中的版本。
您可以使用常规的cargo命令安装cargo docset: cargo install cargo-docset
。
如何使用
只需在您的crate目录中运行 cargo docset
生成文档集。它将被放置在 target/docset
目录中。cargo-docset通常支持与cargo doc
相同的选项,还有一些额外的选项。有关更多信息,请运行 cargo docset --help
或查看此README中的内容。
要安装您的新颖文档集,将其复制到Zeal/Dash文档集目录(在Zeal的“首选项”中可用)并重新启动Zeal/Dash。
示例
一些更高级的示例
- 仅包括文档包的一些依赖项的文档:
cargo docset --no-deps --package dependency1 --package dependency2 ...
- 从正确初始化的(例如
git clone --recurse-submodules ...
)官方Rust仓库生成docset:cargo +nightly docset --package std --package core --no-deps --docset-name "Rust nightly $(git rev-parse --short HEAD)" --docset-index std --platform-family rust-nightly
cargodocset --帮助
cargo-docset-docset
Generate a docset. This is currently the only available command, and should remain the default one
in the future if new ones are added
USAGE:
cargo-docset docset [OPTIONS]
OPTIONS:
--all-features
Activate all available features
--bin <BIN>
Document only the specified binary
--bins
Document all binaries
--docset-index <PACKAGE>
Specify or override the package whose index will be used as the docset index page
--docset-name <DOCSET_NAME>
Specify or override the name of the docset, this is the display name used by your docset
browser
--document-private-items
Generate documentation for private items
--exclude <SPEC>
Exclude packages from being processed
-F, --features <FEATURES>
Space-separated list of features to activate
-h, --help
Print help information
--lib
Document only this package's library
--manifest-path <PATH>
Path to Cargo.toml
--no-clean
Do not clean the doc directory before generating the rustdoc
--no-default-features
Do not activate the `default` feature
--no-deps
Do not document dependencies
-p, --package <SPEC>
Package to process (see `cargo help pkgid`)
--platform-family <PLATFORM_FAMILY>
Specify or override the docset platform family, this is used as the keyword you can
specify in your docset browser search bar to search this specific docset)
--target <TARGET>
Build documentation for the specified target triple
--target-dir <TARGET_DIR>
Override the workspace target directory
--workspace
Process all packages in the workspace
工作原理
目前,cargo docset
通过运行cargo
生成文档,然后递归遍历生成的目录。每个文件的 内容都是从文件路径推断出来的,然后cargo-docset将收集到的信息填充到SQLite数据库中。docset生成的详细信息请参考这里。
cargo-docset
(目前至少)并没有尝试以任何方式解析生成的文档,因此它提供的索引的粒度有限。特别是,生成的docset没有使用目录表功能。
此外,由于cargo-docset
会遍历整个doc
目录,在尝试生成docset之前必须清空它,以防其中包含我们不希望包含在docset中的先前生成的文档。您可能根本不应该在该目录中存储任何有价值的东西,但请记住这一点。
贡献
请参阅这里。
依赖关系
~24–33MB
~517K SLoC