#generate-documentation #documentation #dash #docset #zeal

app cargo-docset

为您的Rust包生成Zeal/Dash文档集

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开发工具 中排名

Download history 75/week @ 2024-03-13 62/week @ 2024-03-20 78/week @ 2024-03-27 71/week @ 2024-04-03 62/week @ 2024-04-10 61/week @ 2024-04-17 50/week @ 2024-04-24 34/week @ 2024-05-01 48/week @ 2024-05-08 56/week @ 2024-05-15 58/week @ 2024-05-22 71/week @ 2024-05-29 64/week @ 2024-06-05 85/week @ 2024-06-12 53/week @ 2024-06-19 25/week @ 2024-06-26

每月246次下载

Apache-2.0

37KB
735

cargo-docset - 为您的Rust包或工作空间生成Zeal/Dash文档集

Build status Crate

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